From a5aa2dbea183dc350dbac0874155c62e54f7778e Mon Sep 17 00:00:00 2001 From: Sohyun Jang <26673070+shjang1025@users.noreply.github.com> Date: Wed, 1 May 2024 11:56:35 -0700 Subject: [PATCH] Bugfix/reminder validation error (#106) * refactor pet reducer methods to async/await (#101) * refactor pet reducer methods to async/await * convert reminder reducer to async-await * change reminder controller error handling * change on reminderform * complete error handling on reminder form * rebase main and run build * rebase main and run build again * remove console log * appease linter error --------- Co-authored-by: Christopher Trent --- backend/app/controllers/ReminderController.js | 38 ++++++++------- .../{index-3e6bf173.js => index-a503083c.js} | 40 ++++++++-------- ...{index-ede0d88a.css => index-db86f0d3.css} | 2 +- frontend/dist/index.html | 4 +- .../ReminderFormModal/ReminderFormModal.css | 5 ++ .../ReminderFormModal/ReminderFormModal.jsx | 19 +++++++- frontend/src/store/petReducer.js | 47 +++++++++---------- frontend/src/store/reminderReducer.js | 45 +++++++++--------- 8 files changed, 111 insertions(+), 89 deletions(-) rename frontend/dist/assets/{index-3e6bf173.js => index-a503083c.js} (75%) rename frontend/dist/assets/{index-ede0d88a.css => index-db86f0d3.css} (80%) diff --git a/backend/app/controllers/ReminderController.js b/backend/app/controllers/ReminderController.js index 312623d..9efb85e 100644 --- a/backend/app/controllers/ReminderController.js +++ b/backend/app/controllers/ReminderController.js @@ -69,24 +69,30 @@ export default class ReminderController extends ApplicationController { return res.status(404).end() } static async create(req, res, _) { - const newReminder = new Reminder({ - type: req.body.type, - title: req.body.title, - dueDate: req.body.dueDate, - performDate: req.body.performDate, - description: req.body.description, - location: req.body.location, - pet: req.body.pet, - user: req.user._id - }) - try{ + try { + const newReminder = new Reminder({ + type: req.body.type, + title: req.body.title, + dueDate: req.body.dueDate, + performDate: req.body.performDate, + description: req.body.description, + location: req.body.location, + pet: req.body.pet, + user: req.user._id + }) const reminder = await newReminder.save() - if (reminder) { - return res.json( reminder ) + return res.json( reminder ) + } catch (error) { + if(error.name === 'ValidationError') { + const validationErrors = {} + for (let err in error.errors) { + validationErrors[err] = error.errors[err].message + } + return res.status(422).json({ errors: validationErrors }) + } else { + return res.status(500).json({ error: 'Internal server error' }) } - return res.status(400).end() - } catch (err) { - return res.status(422).json(err) + } } } \ No newline at end of file diff --git a/frontend/dist/assets/index-3e6bf173.js b/frontend/dist/assets/index-a503083c.js similarity index 75% rename from frontend/dist/assets/index-3e6bf173.js rename to frontend/dist/assets/index-a503083c.js index b2dad7f..d7bda86 100644 --- a/frontend/dist/assets/index-3e6bf173.js +++ b/frontend/dist/assets/index-a503083c.js @@ -6,7 +6,7 @@ function pp(e,t){for(var n=0;n>>1,C=I[S];if(0>>1;Si(z,K))Bi(X,z)?(I[S]=X,I[B]=K,S=B):(I[S]=z,I[O]=K,S=O);else if(Bi(X,K))I[S]=X,I[B]=K,S=B;else break e}}return Y}function i(I,Y){var K=I.sortIndex-Y.sortIndex;return K!==0?K:I.id-Y.id}if(typeof performance=="object"&&typeof performance.now=="function"){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,l=o.now();e.unstable_now=function(){return o.now()-l}}var s=[],c=[],f=1,d=null,m=3,g=!1,y=!1,w=!1,E=typeof setTimeout=="function"?setTimeout:null,h=typeof clearTimeout=="function"?clearTimeout:null,p=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function v(I){for(var Y=n(c);Y!==null;){if(Y.callback===null)r(c);else if(Y.startTime<=I)r(c),Y.sortIndex=Y.expirationTime,t(s,Y);else break;Y=n(c)}}function j(I){if(w=!1,v(I),!y)if(n(s)!==null)y=!0,dt(R);else{var Y=n(c);Y!==null&&oe(j,Y.startTime-I)}}function R(I,Y){y=!1,w&&(w=!1,h(L),L=-1),g=!0;var K=m;try{for(v(Y),d=n(s);d!==null&&(!(d.expirationTime>Y)||I&&!Z());){var S=d.callback;if(typeof S=="function"){d.callback=null,m=d.priorityLevel;var C=S(d.expirationTime<=Y);Y=e.unstable_now(),typeof C=="function"?d.callback=C:d===n(s)&&r(s),v(Y)}else r(s);d=n(s)}if(d!==null)var k=!0;else{var O=n(c);O!==null&&oe(j,O.startTime-Y),k=!1}return k}finally{d=null,m=K,g=!1}}var x=!1,P=null,L=-1,D=5,$=-1;function Z(){return!(e.unstable_now()-$I||125S?(I.sortIndex=K,t(c,I),n(s)===null&&I===n(c)&&(w?(h(L),L=-1):w=!0,oe(j,K-S))):(I.sortIndex=C,t(s,I),y||g||(y=!0,dt(R))),I},e.unstable_shouldYield=Z,e.unstable_wrapCallback=function(I){var Y=m;return function(){var K=m;m=Y;try{return I.apply(this,arguments)}finally{m=K}}}})(Np);jp.exports=Np;var xg=jp.exports;/** + */(function(e){function t(I,Y){var K=I.length;I.push(Y);e:for(;0>>1,C=I[S];if(0>>1;Si(F,K))Bi(X,F)?(I[S]=X,I[B]=K,S=B):(I[S]=F,I[O]=K,S=O);else if(Bi(X,K))I[S]=X,I[B]=K,S=B;else break e}}return Y}function i(I,Y){var K=I.sortIndex-Y.sortIndex;return K!==0?K:I.id-Y.id}if(typeof performance=="object"&&typeof performance.now=="function"){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,l=o.now();e.unstable_now=function(){return o.now()-l}}var s=[],c=[],f=1,d=null,m=3,g=!1,y=!1,w=!1,k=typeof setTimeout=="function"?setTimeout:null,h=typeof clearTimeout=="function"?clearTimeout:null,p=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function v(I){for(var Y=n(c);Y!==null;){if(Y.callback===null)r(c);else if(Y.startTime<=I)r(c),Y.sortIndex=Y.expirationTime,t(s,Y);else break;Y=n(c)}}function j(I){if(w=!1,v(I),!y)if(n(s)!==null)y=!0,dt(_);else{var Y=n(c);Y!==null&&oe(j,Y.startTime-I)}}function _(I,Y){y=!1,w&&(w=!1,h(A),A=-1),g=!0;var K=m;try{for(v(Y),d=n(s);d!==null&&(!(d.expirationTime>Y)||I&&!J());){var S=d.callback;if(typeof S=="function"){d.callback=null,m=d.priorityLevel;var C=S(d.expirationTime<=Y);Y=e.unstable_now(),typeof C=="function"?d.callback=C:d===n(s)&&r(s),v(Y)}else r(s);d=n(s)}if(d!==null)var E=!0;else{var O=n(c);O!==null&&oe(j,O.startTime-Y),E=!1}return E}finally{d=null,m=K,g=!1}}var x=!1,R=null,A=-1,L=5,z=-1;function J(){return!(e.unstable_now()-zI||125S?(I.sortIndex=K,t(c,I),n(s)===null&&I===n(c)&&(w?(h(A),A=-1):w=!0,oe(j,K-S))):(I.sortIndex=C,t(s,I),y||g||(y=!0,dt(_))),I},e.unstable_shouldYield=J,e.unstable_wrapCallback=function(I){var Y=m;return function(){var K=m;m=Y;try{return I.apply(this,arguments)}finally{m=K}}}})(Np);jp.exports=Np;var xg=jp.exports;/** * @license React * react-dom.production.min.js * @@ -30,14 +30,14 @@ function pp(e,t){for(var n=0;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),hs=Object.prototype.hasOwnProperty,wg=/^[: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]*$/,nf={},rf={};function Sg(e){return hs.call(rf,e)?!0:hs.call(nf,e)?!1:wg.test(e)?rf[e]=!0:(nf[e]=!0,!1)}function kg(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}}function Eg(e,t,n,r){if(t===null||typeof t>"u"||kg(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}function rt(e,t,n,r,i,a,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=a,this.removeEmptyString=o}var Ke={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){Ke[e]=new rt(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];Ke[t]=new rt(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){Ke[e]=new rt(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){Ke[e]=new rt(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){Ke[e]=new rt(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){Ke[e]=new rt(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){Ke[e]=new rt(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){Ke[e]=new rt(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){Ke[e]=new rt(e,5,!1,e.toLowerCase(),null,!1,!1)});var Au=/[\-:]([a-z])/g;function Mu(e){return e[1].toUpperCase()}"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(Au,Mu);Ke[t]=new rt(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(Au,Mu);Ke[t]=new rt(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(Au,Mu);Ke[t]=new rt(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){Ke[e]=new rt(e,1,!1,e.toLowerCase(),null,!1,!1)});Ke.xlinkHref=new rt("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){Ke[e]=new rt(e,1,!1,e.toLowerCase(),null,!0,!0)});function Du(e,t,n,r){var i=Ke.hasOwnProperty(t)?Ke[t]:null;(i!==null?i.type!==0:r||!(2"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),hs=Object.prototype.hasOwnProperty,wg=/^[: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]*$/,nf={},rf={};function Sg(e){return hs.call(rf,e)?!0:hs.call(nf,e)?!1:wg.test(e)?rf[e]=!0:(nf[e]=!0,!1)}function kg(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}}function Eg(e,t,n,r){if(t===null||typeof t>"u"||kg(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}function rt(e,t,n,r,i,a,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=a,this.removeEmptyString=o}var Ke={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){Ke[e]=new rt(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];Ke[t]=new rt(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){Ke[e]=new rt(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){Ke[e]=new rt(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){Ke[e]=new rt(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){Ke[e]=new rt(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){Ke[e]=new rt(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){Ke[e]=new rt(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){Ke[e]=new rt(e,5,!1,e.toLowerCase(),null,!1,!1)});var Au=/[\-:]([a-z])/g;function Mu(e){return e[1].toUpperCase()}"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(Au,Mu);Ke[t]=new rt(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(Au,Mu);Ke[t]=new rt(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(Au,Mu);Ke[t]=new rt(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){Ke[e]=new rt(e,1,!1,e.toLowerCase(),null,!1,!1)});Ke.xlinkHref=new rt("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){Ke[e]=new rt(e,1,!1,e.toLowerCase(),null,!0,!0)});function Du(e,t,n,r){var i=Ke.hasOwnProperty(t)?Ke[t]:null;(i!==null?i.type!==0:r||!(2l||i[o]!==a[l]){var s=` -`+i[o].replace(" at new "," at ");return e.displayName&&s.includes("")&&(s=s.replace("",e.displayName)),s}while(1<=o&&0<=l);break}}}finally{Ll=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Ri(e):""}function bg(e){switch(e.tag){case 5:return Ri(e.type);case 16:return Ri("Lazy");case 13:return Ri("Suspense");case 19:return Ri("SuspenseList");case 0:case 2:case 15:return e=Al(e.type,!1),e;case 11:return e=Al(e.type.render,!1),e;case 1:return e=Al(e.type,!0),e;default:return""}}function xs(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 Tr:return"Fragment";case Rr:return"Portal";case vs:return"Profiler";case Iu:return"StrictMode";case gs:return"Suspense";case ys:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case Rp:return(e.displayName||"Context")+".Consumer";case _p:return(e._context.displayName||"Context")+".Provider";case zu:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Fu:return t=e.displayName||null,t!==null?t:xs(e.type)||"Memo";case Nn:t=e._payload,e=e._init;try{return xs(e(t))}catch{}}return null}function jg(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 xs(t);case 8:return t===Iu?"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}function $n(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Op(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Ng(e){var t=Op(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 i=n.get,a=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(o){r=""+o,a.call(this,o)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(o){r=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Ia(e){e._valueTracker||(e._valueTracker=Ng(e))}function Lp(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=Op(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function jo(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}}function ws(e,t){var n=t.checked;return je({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function of(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=$n(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}}function Ap(e,t){t=t.checked,t!=null&&Du(e,"checked",t,!1)}function Ss(e,t){Ap(e,t);var n=$n(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")?ks(e,t.type,n):t.hasOwnProperty("defaultValue")&&ks(e,t.type,$n(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function lf(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)}function ks(e,t,n){(t!=="number"||jo(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Ti=Array.isArray;function Kr(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i"+t.valueOf().toString()+"",t=za.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Qi(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Mi={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},Cg=["Webkit","ms","Moz","O"];Object.keys(Mi).forEach(function(e){Cg.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Mi[t]=Mi[e]})});function zp(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Mi.hasOwnProperty(e)&&Mi[e]?(""+t).trim():t+"px"}function Fp(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=zp(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}var Pg=je({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 js(e,t){if(t){if(Pg[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(A(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(A(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(A(61))}if(t.style!=null&&typeof t.style!="object")throw Error(A(62))}}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}}var Cs=null;function Uu(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Ps=null,Qr=null,Gr=null;function cf(e){if(e=Sa(e)){if(typeof Ps!="function")throw Error(A(280));var t=e.stateNode;t&&(t=ol(t),Ps(e.stateNode,e.type,t))}}function Up(e){Qr?Gr?Gr.push(e):Gr=[e]:Qr=e}function $p(){if(Qr){var e=Qr,t=Gr;if(Gr=Qr=null,cf(e),t)for(e=0;e>>=0,e===0?32:31-(Fg(e)/Ug|0)|0}var Fa=64,Ua=4194304;function Oi(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}}function _o(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,i=e.suspendedLanes,a=e.pingedLanes,o=n&268435455;if(o!==0){var l=o&~i;l!==0?r=Oi(l):(a&=o,a!==0&&(r=Oi(a)))}else o=n&~i,o!==0?r=Oi(o):a!==0&&(r=Oi(a));if(r===0)return 0;if(t!==0&&t!==r&&!(t&i)&&(i=r&-r,a=t&-t,i>=a||i===16&&(a&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}function xa(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Ut(t),e[t]=n}function Wg(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=Ii),xf=String.fromCharCode(32),wf=!1;function lm(e,t){switch(e){case"keyup":return yy.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function sm(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Or=!1;function wy(e,t){switch(e){case"compositionend":return sm(t);case"keypress":return t.which!==32?null:(wf=!0,xf);case"textInput":return e=t.data,e===xf&&wf?null:e;default:return null}}function Sy(e,t){if(Or)return e==="compositionend"||!Qu&&lm(e,t)?(e=am(),mo=Hu=Rn=null,Or=!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=bf(n)}}function dm(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?dm(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function pm(){for(var e=window,t=jo();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=jo(e.document)}return t}function Gu(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")}function Ry(e){var t=pm(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&dm(n.ownerDocument.documentElement,n)){if(r!==null&&Gu(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 i=n.textContent.length,a=Math.min(r.start,i);r=r.end===void 0?a:Math.min(r.end,i),!e.extend&&a>r&&(i=r,r=a,a=i),i=jf(n,a);var o=jf(n,r);i&&o&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),a>r?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.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,Lr=null,As=null,Fi=null,Ms=!1;function Nf(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Ms||Lr==null||Lr!==jo(r)||(r=Lr,"selectionStart"in r&&Gu(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}),Fi&&ea(Fi,r)||(Fi=r,r=Oo(As,"onSelect"),0Dr||(e.current=$s[Dr],$s[Dr]=null,Dr--)}function me(e,t){Dr++,$s[Dr]=e.current,e.current=t}var Vn={},qe=Qn(Vn),ut=Qn(!1),dr=Vn;function ti(e,t){var n=e.type.contextTypes;if(!n)return Vn;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},a;for(a in n)i[a]=t[a];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function ct(e){return e=e.childContextTypes,e!=null}function Ao(){ye(ut),ye(qe)}function Lf(e,t,n){if(qe.current!==Vn)throw Error(A(168));me(qe,t),me(ut,n)}function km(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in t))throw Error(A(108,jg(e)||"Unknown",i));return je({},n,r)}function Mo(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Vn,dr=qe.current,me(qe,e),me(ut,ut.current),!0}function Af(e,t,n){var r=e.stateNode;if(!r)throw Error(A(169));n?(e=km(e,t,dr),r.__reactInternalMemoizedMergedChildContext=e,ye(ut),ye(qe),me(qe,e)):ye(ut),me(ut,n)}var nn=null,ll=!1,Ql=!1;function Em(e){nn===null?nn=[e]:nn.push(e)}function Vy(e){ll=!0,Em(e)}function Gn(){if(!Ql&&nn!==null){Ql=!0;var e=0,t=se;try{var n=nn;for(se=1;e>=o,i-=o,rn=1<<32-Ut(t)+i|n<L?(D=P,P=null):D=P.sibling;var $=m(h,P,v[L],j);if($===null){P===null&&(P=D);break}e&&P&&$.alternate===null&&t(h,P),p=a($,p,L),x===null?R=$:x.sibling=$,x=$,P=D}if(L===v.length)return n(h,P),we&&tr(h,L),R;if(P===null){for(;LL?(D=P,P=null):D=P.sibling;var Z=m(h,P,$.value,j);if(Z===null){P===null&&(P=D);break}e&&P&&Z.alternate===null&&t(h,P),p=a(Z,p,L),x===null?R=Z:x.sibling=Z,x=Z,P=D}if($.done)return n(h,P),we&&tr(h,L),R;if(P===null){for(;!$.done;L++,$=v.next())$=d(h,$.value,j),$!==null&&(p=a($,p,L),x===null?R=$:x.sibling=$,x=$);return we&&tr(h,L),R}for(P=r(h,P);!$.done;L++,$=v.next())$=g(P,h,L,$.value,j),$!==null&&(e&&$.alternate!==null&&P.delete($.key===null?L:$.key),p=a($,p,L),x===null?R=$:x.sibling=$,x=$);return e&&P.forEach(function(fe){return t(h,fe)}),we&&tr(h,L),R}function E(h,p,v,j){if(typeof v=="object"&&v!==null&&v.type===Tr&&v.key===null&&(v=v.props.children),typeof v=="object"&&v!==null){switch(v.$$typeof){case Da:e:{for(var R=v.key,x=p;x!==null;){if(x.key===R){if(R=v.type,R===Tr){if(x.tag===7){n(h,x.sibling),p=i(x,v.props.children),p.return=h,h=p;break e}}else if(x.elementType===R||typeof R=="object"&&R!==null&&R.$$typeof===Nn&&$f(R)===x.type){n(h,x.sibling),p=i(x,v.props),p.ref=ki(h,x,v),p.return=h,h=p;break e}n(h,x);break}else t(h,x);x=x.sibling}v.type===Tr?(p=fr(v.props.children,h.mode,j,v.key),p.return=h,h=p):(j=ko(v.type,v.key,v.props,null,h.mode,j),j.ref=ki(h,p,v),j.return=h,h=j)}return o(h);case Rr:e:{for(x=v.key;p!==null;){if(p.key===x)if(p.tag===4&&p.stateNode.containerInfo===v.containerInfo&&p.stateNode.implementation===v.implementation){n(h,p.sibling),p=i(p,v.children||[]),p.return=h,h=p;break e}else{n(h,p);break}else t(h,p);p=p.sibling}p=ns(v,h.mode,j),p.return=h,h=p}return o(h);case Nn:return x=v._init,E(h,p,x(v._payload),j)}if(Ti(v))return y(h,p,v,j);if(gi(v))return w(h,p,v,j);Ka(h,v)}return typeof v=="string"&&v!==""||typeof v=="number"?(v=""+v,p!==null&&p.tag===6?(n(h,p.sibling),p=i(p,v),p.return=h,h=p):(n(h,p),p=ts(v,h.mode,j),p.return=h,h=p),o(h)):n(h,p)}return E}var ri=Tm(!0),Om=Tm(!1),ka={},Xt=Qn(ka),ia=Qn(ka),aa=Qn(ka);function ar(e){if(e===ka)throw Error(A(174));return e}function ic(e,t){switch(me(aa,t),me(ia,e),me(Xt,ka),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:bs(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=bs(t,e)}ye(Xt),me(Xt,t)}function ii(){ye(Xt),ye(ia),ye(aa)}function Lm(e){ar(aa.current);var t=ar(Xt.current),n=bs(t,e.type);t!==n&&(me(ia,e),me(Xt,n))}function ac(e){ia.current===e&&(ye(Xt),ye(ia))}var ke=Qn(0);function $o(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}var Gl=[];function oc(){for(var e=0;en?n:4,e(!0);var r=Xl.transition;Xl.transition={};try{e(!1),t()}finally{se=n,Xl.transition=r}}function Gm(){return Tt().memoizedState}function Yy(e,t,n){var r=Fn(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},Xm(e))Jm(t,n);else if(n=Cm(e,t,n,r),n!==null){var i=tt();$t(n,e,r,i),qm(n,t,r)}}function Ky(e,t,n){var r=Fn(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(Xm(e))Jm(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,l=a(o,n);if(i.hasEagerState=!0,i.eagerState=l,Vt(l,o)){var s=t.interleaved;s===null?(i.next=i,nc(t)):(i.next=s.next,s.next=i),t.interleaved=i;return}}catch{}finally{}n=Cm(e,t,i,r),n!==null&&(i=tt(),$t(n,e,r,i),qm(n,t,r))}}function Xm(e){var t=e.alternate;return e===be||t!==null&&t===be}function Jm(e,t){Ui=Vo=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function qm(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Vu(e,n)}}var Bo={readContext:Rt,useCallback:Ge,useContext:Ge,useEffect:Ge,useImperativeHandle:Ge,useInsertionEffect:Ge,useLayoutEffect:Ge,useMemo:Ge,useReducer:Ge,useRef:Ge,useState:Ge,useDebugValue:Ge,useDeferredValue:Ge,useTransition:Ge,useMutableSource:Ge,useSyncExternalStore:Ge,useId:Ge,unstable_isNewReconciler:!1},Qy={readContext:Rt,useCallback:function(e,t){return Yt().memoizedState=[e,t===void 0?null:t],e},useContext:Rt,useEffect:Bf,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,yo(4194308,4,Wm.bind(null,t,e),n)},useLayoutEffect:function(e,t){return yo(4194308,4,e,t)},useInsertionEffect:function(e,t){return yo(4,2,e,t)},useMemo:function(e,t){var n=Yt();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Yt();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=Yy.bind(null,be,e),[r.memoizedState,e]},useRef:function(e){var t=Yt();return e={current:e},t.memoizedState=e},useState:Vf,useDebugValue:fc,useDeferredValue:function(e){return Yt().memoizedState=e},useTransition:function(){var e=Vf(!1),t=e[0];return e=Hy.bind(null,e[1]),Yt().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=be,i=Yt();if(we){if(n===void 0)throw Error(A(407));n=n()}else{if(n=t(),Ve===null)throw Error(A(349));mr&30||Dm(r,t,n)}i.memoizedState=n;var a={value:n,getSnapshot:t};return i.queue=a,Bf(zm.bind(null,r,a,e),[e]),r.flags|=2048,sa(9,Im.bind(null,r,a,n,t),void 0,null),n},useId:function(){var e=Yt(),t=Ve.identifierPrefix;if(we){var n=an,r=rn;n=(r&~(1<<32-Ut(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=oa++,0")&&(s=s.replace("",e.displayName)),s}while(1<=o&&0<=l);break}}}finally{Ll=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Ri(e):""}function bg(e){switch(e.tag){case 5:return Ri(e.type);case 16:return Ri("Lazy");case 13:return Ri("Suspense");case 19:return Ri("SuspenseList");case 0:case 2:case 15:return e=Al(e.type,!1),e;case 11:return e=Al(e.type.render,!1),e;case 1:return e=Al(e.type,!0),e;default:return""}}function xs(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 Tr:return"Fragment";case Rr:return"Portal";case vs:return"Profiler";case Iu:return"StrictMode";case gs:return"Suspense";case ys:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case Rp:return(e.displayName||"Context")+".Consumer";case _p:return(e._context.displayName||"Context")+".Provider";case zu:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Fu:return t=e.displayName||null,t!==null?t:xs(e.type)||"Memo";case Nn:t=e._payload,e=e._init;try{return xs(e(t))}catch{}}return null}function jg(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 xs(t);case 8:return t===Iu?"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}function $n(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Op(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Ng(e){var t=Op(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 i=n.get,a=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(o){r=""+o,a.call(this,o)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(o){r=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Ia(e){e._valueTracker||(e._valueTracker=Ng(e))}function Lp(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=Op(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function jo(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}}function ws(e,t){var n=t.checked;return je({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function of(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=$n(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}}function Ap(e,t){t=t.checked,t!=null&&Du(e,"checked",t,!1)}function Ss(e,t){Ap(e,t);var n=$n(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")?ks(e,t.type,n):t.hasOwnProperty("defaultValue")&&ks(e,t.type,$n(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function lf(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)}function ks(e,t,n){(t!=="number"||jo(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Ti=Array.isArray;function Kr(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i"+t.valueOf().toString()+"",t=za.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Qi(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Mi={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},Cg=["Webkit","ms","Moz","O"];Object.keys(Mi).forEach(function(e){Cg.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Mi[t]=Mi[e]})});function zp(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Mi.hasOwnProperty(e)&&Mi[e]?(""+t).trim():t+"px"}function Fp(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=zp(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}var Pg=je({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 js(e,t){if(t){if(Pg[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(M(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(M(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(M(61))}if(t.style!=null&&typeof t.style!="object")throw Error(M(62))}}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}}var Cs=null;function Uu(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Ps=null,Qr=null,Gr=null;function cf(e){if(e=Sa(e)){if(typeof Ps!="function")throw Error(M(280));var t=e.stateNode;t&&(t=ol(t),Ps(e.stateNode,e.type,t))}}function Up(e){Qr?Gr?Gr.push(e):Gr=[e]:Qr=e}function $p(){if(Qr){var e=Qr,t=Gr;if(Gr=Qr=null,cf(e),t)for(e=0;e>>=0,e===0?32:31-(Fg(e)/Ug|0)|0}var Fa=64,Ua=4194304;function Oi(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}}function _o(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,i=e.suspendedLanes,a=e.pingedLanes,o=n&268435455;if(o!==0){var l=o&~i;l!==0?r=Oi(l):(a&=o,a!==0&&(r=Oi(a)))}else o=n&~i,o!==0?r=Oi(o):a!==0&&(r=Oi(a));if(r===0)return 0;if(t!==0&&t!==r&&!(t&i)&&(i=r&-r,a=t&-t,i>=a||i===16&&(a&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}function xa(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Ut(t),e[t]=n}function Wg(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=Ii),xf=String.fromCharCode(32),wf=!1;function lm(e,t){switch(e){case"keyup":return yy.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function sm(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Or=!1;function wy(e,t){switch(e){case"compositionend":return sm(t);case"keypress":return t.which!==32?null:(wf=!0,xf);case"textInput":return e=t.data,e===xf&&wf?null:e;default:return null}}function Sy(e,t){if(Or)return e==="compositionend"||!Qu&&lm(e,t)?(e=am(),mo=Hu=Rn=null,Or=!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=bf(n)}}function dm(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?dm(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function pm(){for(var e=window,t=jo();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=jo(e.document)}return t}function Gu(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")}function Ry(e){var t=pm(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&dm(n.ownerDocument.documentElement,n)){if(r!==null&&Gu(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 i=n.textContent.length,a=Math.min(r.start,i);r=r.end===void 0?a:Math.min(r.end,i),!e.extend&&a>r&&(i=r,r=a,a=i),i=jf(n,a);var o=jf(n,r);i&&o&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),a>r?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.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,Lr=null,As=null,Fi=null,Ms=!1;function Nf(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Ms||Lr==null||Lr!==jo(r)||(r=Lr,"selectionStart"in r&&Gu(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}),Fi&&ea(Fi,r)||(Fi=r,r=Oo(As,"onSelect"),0Dr||(e.current=$s[Dr],$s[Dr]=null,Dr--)}function me(e,t){Dr++,$s[Dr]=e.current,e.current=t}var Vn={},qe=Qn(Vn),ut=Qn(!1),dr=Vn;function ti(e,t){var n=e.type.contextTypes;if(!n)return Vn;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},a;for(a in n)i[a]=t[a];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function ct(e){return e=e.childContextTypes,e!=null}function Ao(){ye(ut),ye(qe)}function Lf(e,t,n){if(qe.current!==Vn)throw Error(M(168));me(qe,t),me(ut,n)}function km(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in t))throw Error(M(108,jg(e)||"Unknown",i));return je({},n,r)}function Mo(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Vn,dr=qe.current,me(qe,e),me(ut,ut.current),!0}function Af(e,t,n){var r=e.stateNode;if(!r)throw Error(M(169));n?(e=km(e,t,dr),r.__reactInternalMemoizedMergedChildContext=e,ye(ut),ye(qe),me(qe,e)):ye(ut),me(ut,n)}var nn=null,ll=!1,Ql=!1;function Em(e){nn===null?nn=[e]:nn.push(e)}function Vy(e){ll=!0,Em(e)}function Gn(){if(!Ql&&nn!==null){Ql=!0;var e=0,t=ue;try{var n=nn;for(ue=1;e>=o,i-=o,rn=1<<32-Ut(t)+i|n<A?(L=R,R=null):L=R.sibling;var z=m(h,R,v[A],j);if(z===null){R===null&&(R=L);break}e&&R&&z.alternate===null&&t(h,R),p=a(z,p,A),x===null?_=z:x.sibling=z,x=z,R=L}if(A===v.length)return n(h,R),we&&tr(h,A),_;if(R===null){for(;AA?(L=R,R=null):L=R.sibling;var J=m(h,R,z.value,j);if(J===null){R===null&&(R=L);break}e&&R&&J.alternate===null&&t(h,R),p=a(J,p,A),x===null?_=J:x.sibling=J,x=J,R=L}if(z.done)return n(h,R),we&&tr(h,A),_;if(R===null){for(;!z.done;A++,z=v.next())z=d(h,z.value,j),z!==null&&(p=a(z,p,A),x===null?_=z:x.sibling=z,x=z);return we&&tr(h,A),_}for(R=r(h,R);!z.done;A++,z=v.next())z=g(R,h,A,z.value,j),z!==null&&(e&&z.alternate!==null&&R.delete(z.key===null?A:z.key),p=a(z,p,A),x===null?_=z:x.sibling=z,x=z);return e&&R.forEach(function(se){return t(h,se)}),we&&tr(h,A),_}function k(h,p,v,j){if(typeof v=="object"&&v!==null&&v.type===Tr&&v.key===null&&(v=v.props.children),typeof v=="object"&&v!==null){switch(v.$$typeof){case Da:e:{for(var _=v.key,x=p;x!==null;){if(x.key===_){if(_=v.type,_===Tr){if(x.tag===7){n(h,x.sibling),p=i(x,v.props.children),p.return=h,h=p;break e}}else if(x.elementType===_||typeof _=="object"&&_!==null&&_.$$typeof===Nn&&$f(_)===x.type){n(h,x.sibling),p=i(x,v.props),p.ref=ki(h,x,v),p.return=h,h=p;break e}n(h,x);break}else t(h,x);x=x.sibling}v.type===Tr?(p=fr(v.props.children,h.mode,j,v.key),p.return=h,h=p):(j=ko(v.type,v.key,v.props,null,h.mode,j),j.ref=ki(h,p,v),j.return=h,h=j)}return o(h);case Rr:e:{for(x=v.key;p!==null;){if(p.key===x)if(p.tag===4&&p.stateNode.containerInfo===v.containerInfo&&p.stateNode.implementation===v.implementation){n(h,p.sibling),p=i(p,v.children||[]),p.return=h,h=p;break e}else{n(h,p);break}else t(h,p);p=p.sibling}p=ns(v,h.mode,j),p.return=h,h=p}return o(h);case Nn:return x=v._init,k(h,p,x(v._payload),j)}if(Ti(v))return y(h,p,v,j);if(gi(v))return w(h,p,v,j);Ka(h,v)}return typeof v=="string"&&v!==""||typeof v=="number"?(v=""+v,p!==null&&p.tag===6?(n(h,p.sibling),p=i(p,v),p.return=h,h=p):(n(h,p),p=ts(v,h.mode,j),p.return=h,h=p),o(h)):n(h,p)}return k}var ri=Tm(!0),Om=Tm(!1),ka={},Xt=Qn(ka),ia=Qn(ka),aa=Qn(ka);function ar(e){if(e===ka)throw Error(M(174));return e}function ic(e,t){switch(me(aa,t),me(ia,e),me(Xt,ka),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:bs(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=bs(t,e)}ye(Xt),me(Xt,t)}function ii(){ye(Xt),ye(ia),ye(aa)}function Lm(e){ar(aa.current);var t=ar(Xt.current),n=bs(t,e.type);t!==n&&(me(ia,e),me(Xt,n))}function ac(e){ia.current===e&&(ye(Xt),ye(ia))}var ke=Qn(0);function $o(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}var Gl=[];function oc(){for(var e=0;en?n:4,e(!0);var r=Xl.transition;Xl.transition={};try{e(!1),t()}finally{ue=n,Xl.transition=r}}function Gm(){return Tt().memoizedState}function Yy(e,t,n){var r=Fn(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},Xm(e))Jm(t,n);else if(n=Cm(e,t,n,r),n!==null){var i=tt();$t(n,e,r,i),qm(n,t,r)}}function Ky(e,t,n){var r=Fn(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(Xm(e))Jm(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,l=a(o,n);if(i.hasEagerState=!0,i.eagerState=l,Vt(l,o)){var s=t.interleaved;s===null?(i.next=i,nc(t)):(i.next=s.next,s.next=i),t.interleaved=i;return}}catch{}finally{}n=Cm(e,t,i,r),n!==null&&(i=tt(),$t(n,e,r,i),qm(n,t,r))}}function Xm(e){var t=e.alternate;return e===be||t!==null&&t===be}function Jm(e,t){Ui=Vo=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function qm(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Vu(e,n)}}var Bo={readContext:Rt,useCallback:Ge,useContext:Ge,useEffect:Ge,useImperativeHandle:Ge,useInsertionEffect:Ge,useLayoutEffect:Ge,useMemo:Ge,useReducer:Ge,useRef:Ge,useState:Ge,useDebugValue:Ge,useDeferredValue:Ge,useTransition:Ge,useMutableSource:Ge,useSyncExternalStore:Ge,useId:Ge,unstable_isNewReconciler:!1},Qy={readContext:Rt,useCallback:function(e,t){return Yt().memoizedState=[e,t===void 0?null:t],e},useContext:Rt,useEffect:Bf,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,yo(4194308,4,Wm.bind(null,t,e),n)},useLayoutEffect:function(e,t){return yo(4194308,4,e,t)},useInsertionEffect:function(e,t){return yo(4,2,e,t)},useMemo:function(e,t){var n=Yt();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Yt();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=Yy.bind(null,be,e),[r.memoizedState,e]},useRef:function(e){var t=Yt();return e={current:e},t.memoizedState=e},useState:Vf,useDebugValue:fc,useDeferredValue:function(e){return Yt().memoizedState=e},useTransition:function(){var e=Vf(!1),t=e[0];return e=Hy.bind(null,e[1]),Yt().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=be,i=Yt();if(we){if(n===void 0)throw Error(M(407));n=n()}else{if(n=t(),Ve===null)throw Error(M(349));mr&30||Dm(r,t,n)}i.memoizedState=n;var a={value:n,getSnapshot:t};return i.queue=a,Bf(zm.bind(null,r,a,e),[e]),r.flags|=2048,sa(9,Im.bind(null,r,a,n,t),void 0,null),n},useId:function(){var e=Yt(),t=Ve.identifierPrefix;if(we){var n=an,r=rn;n=(r&~(1<<32-Ut(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=oa++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=o.createElement(n,{is:r.is}):(e=o.createElement(n),n==="select"&&(o=e,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):e=o.createElementNS(e,n),e[Kt]=t,e[ra]=r,lh(e,t,!1,!1),t.stateNode=e;e:{switch(o=Ns(n,r),n){case"dialog":ve("cancel",e),ve("close",e),i=r;break;case"iframe":case"object":case"embed":ve("load",e),i=r;break;case"video":case"audio":for(i=0;ioi&&(t.flags|=128,r=!0,Ei(a,!1),t.lanes=4194304)}else{if(!r)if(e=$o(o),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Ei(a,!0),a.tail===null&&a.tailMode==="hidden"&&!o.alternate&&!we)return Xe(t),null}else 2*Oe()-a.renderingStartTime>oi&&n!==1073741824&&(t.flags|=128,r=!0,Ei(a,!1),t.lanes=4194304);a.isBackwards?(o.sibling=t.child,t.child=o):(n=a.last,n!==null?n.sibling=o:t.child=o,a.last=o)}return a.tail!==null?(t=a.tail,a.rendering=t,a.tail=t.sibling,a.renderingStartTime=Oe(),t.sibling=null,n=ke.current,me(ke,r?n&1|2:n&1),t):(Xe(t),null);case 22:case 23:return gc(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?vt&1073741824&&(Xe(t),t.subtreeFlags&6&&(t.flags|=8192)):Xe(t),null;case 24:return null;case 25:return null}throw Error(A(156,t.tag))}function n1(e,t){switch(Ju(t),t.tag){case 1:return ct(t.type)&&Ao(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ii(),ye(ut),ye(qe),oc(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return ac(t),null;case 13:if(ye(ke),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(A(340));ni()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return ye(ke),null;case 4:return ii(),null;case 10:return tc(t.type._context),null;case 22:case 23:return gc(),null;case 24:return null;default:return null}}var Ga=!1,Je=!1,r1=typeof WeakSet=="function"?WeakSet:Set,U=null;function Ur(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){Ce(e,t,r)}else n.current=null}function Zs(e,t,n){try{n()}catch(r){Ce(e,t,r)}}var qf=!1;function i1(e,t){if(Ds=Ro,e=pm(),Gu(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 i=r.anchorOffset,a=r.focusNode;r=r.focusOffset;try{n.nodeType,a.nodeType}catch{n=null;break e}var o=0,l=-1,s=-1,c=0,f=0,d=e,m=null;t:for(;;){for(var g;d!==n||i!==0&&d.nodeType!==3||(l=o+i),d!==a||r!==0&&d.nodeType!==3||(s=o+r),d.nodeType===3&&(o+=d.nodeValue.length),(g=d.firstChild)!==null;)m=d,d=g;for(;;){if(d===e)break t;if(m===n&&++c===i&&(l=o),m===a&&++f===r&&(s=o),(g=d.nextSibling)!==null)break;d=m,m=d.parentNode}d=g}n=l===-1||s===-1?null:{start:l,end:s}}else n=null}n=n||{start:0,end:0}}else n=null;for(Is={focusedElem:e,selectionRange:n},Ro=!1,U=t;U!==null;)if(t=U,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,U=e;else for(;U!==null;){t=U;try{var y=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(y!==null){var w=y.memoizedProps,E=y.memoizedState,h=t.stateNode,p=h.getSnapshotBeforeUpdate(t.elementType===t.type?w:Mt(t.type,w),E);h.__reactInternalSnapshotBeforeUpdate=p}break;case 3:var v=t.stateNode.containerInfo;v.nodeType===1?v.textContent="":v.nodeType===9&&v.documentElement&&v.removeChild(v.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(A(163))}}catch(j){Ce(t,t.return,j)}if(e=t.sibling,e!==null){e.return=t.return,U=e;break}U=t.return}return y=qf,qf=!1,y}function $i(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&e)===e){var a=i.destroy;i.destroy=void 0,a!==void 0&&Zs(t,n,a)}i=i.next}while(i!==r)}}function cl(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)}}function eu(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}}function ch(e){var t=e.alternate;t!==null&&(e.alternate=null,ch(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Kt],delete t[ra],delete t[Us],delete t[Uy],delete t[$y])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function fh(e){return e.tag===5||e.tag===3||e.tag===4}function Zf(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||fh(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}}function tu(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=Lo));else if(r!==4&&(e=e.child,e!==null))for(tu(e,t,n),e=e.sibling;e!==null;)tu(e,t,n),e=e.sibling}function nu(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(nu(e,t,n),e=e.sibling;e!==null;)nu(e,t,n),e=e.sibling}var He=null,Dt=!1;function En(e,t,n){for(n=n.child;n!==null;)dh(e,t,n),n=n.sibling}function dh(e,t,n){if(Gt&&typeof Gt.onCommitFiberUnmount=="function")try{Gt.onCommitFiberUnmount(nl,n)}catch{}switch(n.tag){case 5:Je||Ur(n,t);case 6:var r=He,i=Dt;He=null,En(e,t,n),He=r,Dt=i,He!==null&&(Dt?(e=He,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):He.removeChild(n.stateNode));break;case 18:He!==null&&(Dt?(e=He,n=n.stateNode,e.nodeType===8?Kl(e.parentNode,n):e.nodeType===1&&Kl(e,n),qi(e)):Kl(He,n.stateNode));break;case 4:r=He,i=Dt,He=n.stateNode.containerInfo,Dt=!0,En(e,t,n),He=r,Dt=i;break;case 0:case 11:case 14:case 15:if(!Je&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var a=i,o=a.destroy;a=a.tag,o!==void 0&&(a&2||a&4)&&Zs(n,t,o),i=i.next}while(i!==r)}En(e,t,n);break;case 1:if(!Je&&(Ur(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(l){Ce(n,t,l)}En(e,t,n);break;case 21:En(e,t,n);break;case 22:n.mode&1?(Je=(r=Je)||n.memoizedState!==null,En(e,t,n),Je=r):En(e,t,n);break;default:En(e,t,n)}}function ed(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new r1),t.forEach(function(r){var i=p1.bind(null,e,r);n.has(r)||(n.add(r),r.then(i,i))})}}function At(e,t){var n=t.deletions;if(n!==null)for(var r=0;ri&&(i=o),r&=~a}if(r=i,r=Oe()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*o1(r/1960))-r,10e?16:e,Tn===null)var r=!1;else{if(e=Tn,Tn=null,Yo=0,ae&6)throw Error(A(331));var i=ae;for(ae|=4,U=e.current;U!==null;){var a=U,o=a.child;if(U.flags&16){var l=a.deletions;if(l!==null){for(var s=0;sOe()-hc?cr(e,0):mc|=n),ft(e,t)}function wh(e,t){t===0&&(e.mode&1?(t=Ua,Ua<<=1,!(Ua&130023424)&&(Ua=4194304)):t=1);var n=tt();e=cn(e,t),e!==null&&(xa(e,t,n),ft(e,n))}function d1(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),wh(e,n)}function p1(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(A(314))}r!==null&&r.delete(t),wh(e,n)}var Sh;Sh=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||ut.current)st=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return st=!1,e1(e,t,n);st=!!(e.flags&131072)}else st=!1,we&&t.flags&1048576&&bm(t,Io,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;xo(e,t),e=t.pendingProps;var i=ti(t,qe.current);Jr(t,n),i=sc(null,t,r,e,i,n);var a=uc();return t.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,ct(r)?(a=!0,Mo(t)):a=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,rc(t),i.updater=sl,t.stateNode=i,i._reactInternals=t,Ys(t,r,e,n),t=Gs(null,t,r,!0,a,n)):(t.tag=0,we&&a&&Xu(t),et(null,t,i,n),t=t.child),t;case 16:r=t.elementType;e:{switch(xo(e,t),e=t.pendingProps,i=r._init,r=i(r._payload),t.type=r,i=t.tag=h1(r),e=Mt(r,e),i){case 0:t=Qs(null,t,r,e,n);break e;case 1:t=Gf(null,t,r,e,n);break e;case 11:t=Kf(null,t,r,e,n);break e;case 14:t=Qf(null,t,r,Mt(r.type,e),n);break e}throw Error(A(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Mt(r,i),Qs(e,t,r,i,n);case 1:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Mt(r,i),Gf(e,t,r,i,n);case 3:e:{if(ih(t),e===null)throw Error(A(387));r=t.pendingProps,a=t.memoizedState,i=a.element,Pm(e,t),Uo(t,r,null,n);var o=t.memoizedState;if(r=o.element,a.isDehydrated)if(a={element:r,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=a,t.memoizedState=a,t.flags&256){i=ai(Error(A(423)),t),t=Xf(e,t,r,n,i);break e}else if(r!==i){i=ai(Error(A(424)),t),t=Xf(e,t,r,n,i);break e}else for(gt=Dn(t.stateNode.containerInfo.firstChild),xt=t,we=!0,zt=null,n=Om(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(ni(),r===i){t=fn(e,t,n);break e}et(e,t,r,n)}t=t.child}return t;case 5:return Lm(t),e===null&&Bs(t),r=t.type,i=t.pendingProps,a=e!==null?e.memoizedProps:null,o=i.children,zs(r,i)?o=null:a!==null&&zs(r,a)&&(t.flags|=32),rh(e,t),et(e,t,o,n),t.child;case 6:return e===null&&Bs(t),null;case 13:return ah(e,t,n);case 4:return ic(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=ri(t,null,r,n):et(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Mt(r,i),Kf(e,t,r,i,n);case 7:return et(e,t,t.pendingProps,n),t.child;case 8:return et(e,t,t.pendingProps.children,n),t.child;case 12:return et(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,a=t.memoizedProps,o=i.value,me(zo,r._currentValue),r._currentValue=o,a!==null)if(Vt(a.value,o)){if(a.children===i.children&&!ut.current){t=fn(e,t,n);break e}}else for(a=t.child,a!==null&&(a.return=t);a!==null;){var l=a.dependencies;if(l!==null){o=a.child;for(var s=l.firstContext;s!==null;){if(s.context===r){if(a.tag===1){s=on(-1,n&-n),s.tag=2;var c=a.updateQueue;if(c!==null){c=c.shared;var f=c.pending;f===null?s.next=s:(s.next=f.next,f.next=s),c.pending=s}}a.lanes|=n,s=a.alternate,s!==null&&(s.lanes|=n),Ws(a.return,n,t),l.lanes|=n;break}s=s.next}}else if(a.tag===10)o=a.type===t.type?null:a.child;else if(a.tag===18){if(o=a.return,o===null)throw Error(A(341));o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),Ws(o,n,t),o=a.sibling}else o=a.child;if(o!==null)o.return=a;else for(o=a;o!==null;){if(o===t){o=null;break}if(a=o.sibling,a!==null){a.return=o.return,o=a;break}o=o.return}a=o}et(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,Jr(t,n),i=Rt(i),r=r(i),t.flags|=1,et(e,t,r,n),t.child;case 14:return r=t.type,i=Mt(r,t.pendingProps),i=Mt(r.type,i),Qf(e,t,r,i,n);case 15:return th(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Mt(r,i),xo(e,t),t.tag=1,ct(r)?(e=!0,Mo(t)):e=!1,Jr(t,n),Rm(t,r,i),Ys(t,r,i,n),Gs(null,t,r,!0,e,n);case 19:return oh(e,t,n);case 22:return nh(e,t,n)}throw Error(A(156,t.tag))};function kh(e,t){return Qp(e,t)}function m1(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}function Pt(e,t,n,r){return new m1(e,t,n,r)}function xc(e){return e=e.prototype,!(!e||!e.isReactComponent)}function h1(e){if(typeof e=="function")return xc(e)?1:0;if(e!=null){if(e=e.$$typeof,e===zu)return 11;if(e===Fu)return 14}return 2}function Un(e,t){var n=e.alternate;return n===null?(n=Pt(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}function ko(e,t,n,r,i,a){var o=2;if(r=e,typeof e=="function")xc(e)&&(o=1);else if(typeof e=="string")o=5;else e:switch(e){case Tr:return fr(n.children,i,a,t);case Iu:o=8,i|=8;break;case vs:return e=Pt(12,n,t,i|2),e.elementType=vs,e.lanes=a,e;case gs:return e=Pt(13,n,t,i),e.elementType=gs,e.lanes=a,e;case ys:return e=Pt(19,n,t,i),e.elementType=ys,e.lanes=a,e;case Tp:return dl(n,i,a,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case _p:o=10;break e;case Rp:o=9;break e;case zu:o=11;break e;case Fu:o=14;break e;case Nn:o=16,r=null;break e}throw Error(A(130,e==null?e:typeof e,""))}return t=Pt(o,n,t,i),t.elementType=e,t.type=r,t.lanes=a,t}function fr(e,t,n,r){return e=Pt(7,e,r,t),e.lanes=n,e}function dl(e,t,n,r){return e=Pt(22,e,r,t),e.elementType=Tp,e.lanes=n,e.stateNode={isHidden:!1},e}function ts(e,t,n){return e=Pt(6,e,null,t),e.lanes=n,e}function ns(e,t,n){return t=Pt(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function v1(e,t,n,r,i){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=Dl(0),this.expirationTimes=Dl(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Dl(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function wc(e,t,n,r,i,a,o,l,s){return e=new v1(e,t,n,l,s),t===1?(t=1,a===!0&&(t|=8)):t=0,a=Pt(3,null,null,t),e.current=a,a.stateNode=e,a.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},rc(a),e}function g1(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Nh)}catch(e){console.error(e)}}Nh(),bp.exports=St;var bc=bp.exports;const k1=_u(bc),E1=pp({__proto__:null,default:k1},[bc]);var sd=bc;ms.createRoot=sd.createRoot,ms.hydrateRoot=sd.hydrateRoot;/** +`+a.stack}return{value:e,source:t,stack:i,digest:null}}function Zl(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function Ks(e,t){try{console.error(t.value)}catch(n){setTimeout(function(){throw n})}}var Jy=typeof WeakMap=="function"?WeakMap:Map;function Zm(e,t,n){n=on(-1,n),n.tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Ho||(Ho=!0,ru=r),Ks(e,t)},n}function eh(e,t,n){n=on(-1,n),n.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r=="function"){var i=t.value;n.payload=function(){return r(i)},n.callback=function(){Ks(e,t)}}var a=e.stateNode;return a!==null&&typeof a.componentDidCatch=="function"&&(n.callback=function(){Ks(e,t),typeof r!="function"&&(zn===null?zn=new Set([this]):zn.add(this));var o=t.stack;this.componentDidCatch(t.value,{componentStack:o!==null?o:""})}),n}function Wf(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Jy;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(i.add(n),e=f1.bind(null,e,t,n),t.then(e,e))}function Hf(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}function Yf(e,t,n,r,i){return e.mode&1?(e.flags|=65536,e.lanes=i,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=on(-1,1),t.tag=2,In(n,t,1))),n.lanes|=1),e)}var qy=vn.ReactCurrentOwner,st=!1;function et(e,t,n,r){t.child=e===null?Om(t,null,n,r):ri(t,e.child,n,r)}function Kf(e,t,n,r,i){n=n.render;var a=t.ref;return Jr(t,i),r=sc(e,t,n,r,a,i),n=uc(),e!==null&&!st?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,fn(e,t,i)):(we&&n&&Xu(t),t.flags|=1,et(e,t,r,i),t.child)}function Qf(e,t,n,r,i){if(e===null){var a=n.type;return typeof a=="function"&&!xc(a)&&a.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=a,th(e,t,a,r,i)):(e=ko(n.type,null,r,t,t.mode,i),e.ref=t.ref,e.return=t,t.child=e)}if(a=e.child,!(e.lanes&i)){var o=a.memoizedProps;if(n=n.compare,n=n!==null?n:ea,n(o,r)&&e.ref===t.ref)return fn(e,t,i)}return t.flags|=1,e=Un(a,r),e.ref=t.ref,e.return=t,t.child=e}function th(e,t,n,r,i){if(e!==null){var a=e.memoizedProps;if(ea(a,r)&&e.ref===t.ref)if(st=!1,t.pendingProps=r=a,(e.lanes&i)!==0)e.flags&131072&&(st=!0);else return t.lanes=e.lanes,fn(e,t,i)}return Qs(e,t,n,r,i)}function nh(e,t,n){var r=t.pendingProps,i=r.children,a=e!==null?e.memoizedState:null;if(r.mode==="hidden")if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},me($r,vt),vt|=n;else{if(!(n&1073741824))return e=a!==null?a.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,me($r,vt),vt|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=a!==null?a.baseLanes:n,me($r,vt),vt|=r}else a!==null?(r=a.baseLanes|n,t.memoizedState=null):r=n,me($r,vt),vt|=r;return et(e,t,i,n),t.child}function rh(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Qs(e,t,n,r,i){var a=ct(n)?dr:qe.current;return a=ti(t,a),Jr(t,i),n=sc(e,t,n,r,a,i),r=uc(),e!==null&&!st?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,fn(e,t,i)):(we&&r&&Xu(t),t.flags|=1,et(e,t,n,i),t.child)}function Gf(e,t,n,r,i){if(ct(n)){var a=!0;Mo(t)}else a=!1;if(Jr(t,i),t.stateNode===null)xo(e,t),Rm(t,n,r),Ys(t,n,r,i),r=!0;else if(e===null){var o=t.stateNode,l=t.memoizedProps;o.props=l;var s=o.context,c=n.contextType;typeof c=="object"&&c!==null?c=Rt(c):(c=ct(n)?dr:qe.current,c=ti(t,c));var f=n.getDerivedStateFromProps,d=typeof f=="function"||typeof o.getSnapshotBeforeUpdate=="function";d||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(l!==r||s!==c)&&Uf(t,o,r,c),Cn=!1;var m=t.memoizedState;o.state=m,Uo(t,r,o,i),s=t.memoizedState,l!==r||m!==s||ut.current||Cn?(typeof f=="function"&&(Hs(t,n,f,r),s=t.memoizedState),(l=Cn||Ff(t,n,l,r,m,s,c))?(d||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount=="function"&&(t.flags|=4194308)):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=s),o.props=r,o.state=s,o.context=c,r=l):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),r=!1)}else{o=t.stateNode,Pm(e,t),l=t.memoizedProps,c=t.type===t.elementType?l:Mt(t.type,l),o.props=c,d=t.pendingProps,m=o.context,s=n.contextType,typeof s=="object"&&s!==null?s=Rt(s):(s=ct(n)?dr:qe.current,s=ti(t,s));var g=n.getDerivedStateFromProps;(f=typeof g=="function"||typeof o.getSnapshotBeforeUpdate=="function")||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(l!==d||m!==s)&&Uf(t,o,r,s),Cn=!1,m=t.memoizedState,o.state=m,Uo(t,r,o,i);var y=t.memoizedState;l!==d||m!==y||ut.current||Cn?(typeof g=="function"&&(Hs(t,n,g,r),y=t.memoizedState),(c=Cn||Ff(t,n,c,r,m,y,s)||!1)?(f||typeof o.UNSAFE_componentWillUpdate!="function"&&typeof o.componentWillUpdate!="function"||(typeof o.componentWillUpdate=="function"&&o.componentWillUpdate(r,y,s),typeof o.UNSAFE_componentWillUpdate=="function"&&o.UNSAFE_componentWillUpdate(r,y,s)),typeof o.componentDidUpdate=="function"&&(t.flags|=4),typeof o.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof o.componentDidUpdate!="function"||l===e.memoizedProps&&m===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||l===e.memoizedProps&&m===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=y),o.props=r,o.state=y,o.context=s,r=c):(typeof o.componentDidUpdate!="function"||l===e.memoizedProps&&m===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||l===e.memoizedProps&&m===e.memoizedState||(t.flags|=1024),r=!1)}return Gs(e,t,n,r,a,i)}function Gs(e,t,n,r,i,a){rh(e,t);var o=(t.flags&128)!==0;if(!r&&!o)return i&&Af(t,n,!1),fn(e,t,a);r=t.stateNode,qy.current=t;var l=o&&typeof n.getDerivedStateFromError!="function"?null:r.render();return t.flags|=1,e!==null&&o?(t.child=ri(t,e.child,null,a),t.child=ri(t,null,l,a)):et(e,t,l,a),t.memoizedState=r.state,i&&Af(t,n,!0),t.child}function ih(e){var t=e.stateNode;t.pendingContext?Lf(e,t.pendingContext,t.pendingContext!==t.context):t.context&&Lf(e,t.context,!1),ic(e,t.containerInfo)}function Xf(e,t,n,r,i){return ni(),qu(i),t.flags|=256,et(e,t,n,r),t.child}var Xs={dehydrated:null,treeContext:null,retryLane:0};function Js(e){return{baseLanes:e,cachePool:null,transitions:null}}function ah(e,t,n){var r=t.pendingProps,i=ke.current,a=!1,o=(t.flags&128)!==0,l;if((l=o)||(l=e!==null&&e.memoizedState===null?!1:(i&2)!==0),l?(a=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(i|=1),me(ke,i&1),e===null)return Bs(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):(o=r.children,e=r.fallback,a?(r=t.mode,a=t.child,o={mode:"hidden",children:o},!(r&1)&&a!==null?(a.childLanes=0,a.pendingProps=o):a=dl(o,r,0,null),e=fr(e,r,n,null),a.return=t,e.return=t,a.sibling=e,t.child=a,t.child.memoizedState=Js(n),t.memoizedState=Xs,e):dc(t,o));if(i=e.memoizedState,i!==null&&(l=i.dehydrated,l!==null))return Zy(e,t,o,r,l,i,n);if(a){a=r.fallback,o=t.mode,i=e.child,l=i.sibling;var s={mode:"hidden",children:r.children};return!(o&1)&&t.child!==i?(r=t.child,r.childLanes=0,r.pendingProps=s,t.deletions=null):(r=Un(i,s),r.subtreeFlags=i.subtreeFlags&14680064),l!==null?a=Un(l,a):(a=fr(a,o,n,null),a.flags|=2),a.return=t,r.return=t,r.sibling=a,t.child=r,r=a,a=t.child,o=e.child.memoizedState,o=o===null?Js(n):{baseLanes:o.baseLanes|n,cachePool:null,transitions:o.transitions},a.memoizedState=o,a.childLanes=e.childLanes&~n,t.memoizedState=Xs,r}return a=e.child,e=a.sibling,r=Un(a,{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}function dc(e,t){return t=dl({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function Qa(e,t,n,r){return r!==null&&qu(r),ri(t,e.child,null,n),e=dc(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Zy(e,t,n,r,i,a,o){if(n)return t.flags&256?(t.flags&=-257,r=Zl(Error(M(422))),Qa(e,t,o,r)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(a=r.fallback,i=t.mode,r=dl({mode:"visible",children:r.children},i,0,null),a=fr(a,i,o,null),a.flags|=2,r.return=t,a.return=t,r.sibling=a,t.child=r,t.mode&1&&ri(t,e.child,null,o),t.child.memoizedState=Js(o),t.memoizedState=Xs,a);if(!(t.mode&1))return Qa(e,t,o,null);if(i.data==="$!"){if(r=i.nextSibling&&i.nextSibling.dataset,r)var l=r.dgst;return r=l,a=Error(M(419)),r=Zl(a,r,void 0),Qa(e,t,o,r)}if(l=(o&e.childLanes)!==0,st||l){if(r=Ve,r!==null){switch(o&-o){case 4:i=2;break;case 16:i=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:i=32;break;case 536870912:i=268435456;break;default:i=0}i=i&(r.suspendedLanes|o)?0:i,i!==0&&i!==a.retryLane&&(a.retryLane=i,cn(e,i),$t(r,e,i,-1))}return yc(),r=Zl(Error(M(421))),Qa(e,t,o,r)}return i.data==="$?"?(t.flags|=128,t.child=e.child,t=d1.bind(null,e),i._reactRetry=t,null):(e=a.treeContext,gt=Dn(i.nextSibling),xt=t,we=!0,zt=null,e!==null&&(Nt[Ct++]=rn,Nt[Ct++]=an,Nt[Ct++]=pr,rn=e.id,an=e.overflow,pr=t),t=dc(t,r.children),t.flags|=4096,t)}function Jf(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),Ws(e.return,t,n)}function es(e,t,n,r,i){var a=e.memoizedState;a===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:i}:(a.isBackwards=t,a.rendering=null,a.renderingStartTime=0,a.last=r,a.tail=n,a.tailMode=i)}function oh(e,t,n){var r=t.pendingProps,i=r.revealOrder,a=r.tail;if(et(e,t,r.children,n),r=ke.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&&Jf(e,n,t);else if(e.tag===19)Jf(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(me(ke,r),!(t.mode&1))t.memoizedState=null;else switch(i){case"forwards":for(n=t.child,i=null;n!==null;)e=n.alternate,e!==null&&$o(e)===null&&(i=n),n=n.sibling;n=i,n===null?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),es(t,!1,i,n,a);break;case"backwards":for(n=null,i=t.child,t.child=null;i!==null;){if(e=i.alternate,e!==null&&$o(e)===null){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}es(t,!0,n,null,a);break;case"together":es(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function xo(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function fn(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),hr|=t.lanes,!(n&t.childLanes))return null;if(e!==null&&t.child!==e.child)throw Error(M(153));if(t.child!==null){for(e=t.child,n=Un(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=Un(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function e1(e,t,n){switch(t.tag){case 3:ih(t),ni();break;case 5:Lm(t);break;case 1:ct(t.type)&&Mo(t);break;case 4:ic(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,i=t.memoizedProps.value;me(zo,r._currentValue),r._currentValue=i;break;case 13:if(r=t.memoizedState,r!==null)return r.dehydrated!==null?(me(ke,ke.current&1),t.flags|=128,null):n&t.child.childLanes?ah(e,t,n):(me(ke,ke.current&1),e=fn(e,t,n),e!==null?e.sibling:null);me(ke,ke.current&1);break;case 19:if(r=(n&t.childLanes)!==0,e.flags&128){if(r)return oh(e,t,n);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),me(ke,ke.current),r)break;return null;case 22:case 23:return t.lanes=0,nh(e,t,n)}return fn(e,t,n)}var lh,qs,sh,uh;lh=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}};qs=function(){};sh=function(e,t,n,r){var i=e.memoizedProps;if(i!==r){e=t.stateNode,ar(Xt.current);var a=null;switch(n){case"input":i=ws(e,i),r=ws(e,r),a=[];break;case"select":i=je({},i,{value:void 0}),r=je({},r,{value:void 0}),a=[];break;case"textarea":i=Es(e,i),r=Es(e,r),a=[];break;default:typeof i.onClick!="function"&&typeof r.onClick=="function"&&(e.onclick=Lo)}js(n,r);var o;n=null;for(c in i)if(!r.hasOwnProperty(c)&&i.hasOwnProperty(c)&&i[c]!=null)if(c==="style"){var l=i[c];for(o in l)l.hasOwnProperty(o)&&(n||(n={}),n[o]="")}else c!=="dangerouslySetInnerHTML"&&c!=="children"&&c!=="suppressContentEditableWarning"&&c!=="suppressHydrationWarning"&&c!=="autoFocus"&&(Ki.hasOwnProperty(c)?a||(a=[]):(a=a||[]).push(c,null));for(c in r){var s=r[c];if(l=i!=null?i[c]:void 0,r.hasOwnProperty(c)&&s!==l&&(s!=null||l!=null))if(c==="style")if(l){for(o in l)!l.hasOwnProperty(o)||s&&s.hasOwnProperty(o)||(n||(n={}),n[o]="");for(o in s)s.hasOwnProperty(o)&&l[o]!==s[o]&&(n||(n={}),n[o]=s[o])}else n||(a||(a=[]),a.push(c,n)),n=s;else c==="dangerouslySetInnerHTML"?(s=s?s.__html:void 0,l=l?l.__html:void 0,s!=null&&l!==s&&(a=a||[]).push(c,s)):c==="children"?typeof s!="string"&&typeof s!="number"||(a=a||[]).push(c,""+s):c!=="suppressContentEditableWarning"&&c!=="suppressHydrationWarning"&&(Ki.hasOwnProperty(c)?(s!=null&&c==="onScroll"&&ve("scroll",e),a||l===s||(a=[])):(a=a||[]).push(c,s))}n&&(a=a||[]).push("style",n);var c=a;(t.updateQueue=c)&&(t.flags|=4)}};uh=function(e,t,n,r){n!==r&&(t.flags|=4)};function Ei(e,t){if(!we)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}}function Xe(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags&14680064,r|=i.flags&14680064,i.return=e,i=i.sibling;else for(i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function t1(e,t,n){var r=t.pendingProps;switch(Ju(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Xe(t),null;case 1:return ct(t.type)&&Ao(),Xe(t),null;case 3:return r=t.stateNode,ii(),ye(ut),ye(qe),oc(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(e===null||e.child===null)&&(Ya(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,zt!==null&&(ou(zt),zt=null))),qs(e,t),Xe(t),null;case 5:ac(t);var i=ar(aa.current);if(n=t.type,e!==null&&t.stateNode!=null)sh(e,t,n,r,i),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(t.stateNode===null)throw Error(M(166));return Xe(t),null}if(e=ar(Xt.current),Ya(t)){r=t.stateNode,n=t.type;var a=t.memoizedProps;switch(r[Kt]=t,r[ra]=a,e=(t.mode&1)!==0,n){case"dialog":ve("cancel",r),ve("close",r);break;case"iframe":case"object":case"embed":ve("load",r);break;case"video":case"audio":for(i=0;i<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=o.createElement(n,{is:r.is}):(e=o.createElement(n),n==="select"&&(o=e,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):e=o.createElementNS(e,n),e[Kt]=t,e[ra]=r,lh(e,t,!1,!1),t.stateNode=e;e:{switch(o=Ns(n,r),n){case"dialog":ve("cancel",e),ve("close",e),i=r;break;case"iframe":case"object":case"embed":ve("load",e),i=r;break;case"video":case"audio":for(i=0;ioi&&(t.flags|=128,r=!0,Ei(a,!1),t.lanes=4194304)}else{if(!r)if(e=$o(o),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Ei(a,!0),a.tail===null&&a.tailMode==="hidden"&&!o.alternate&&!we)return Xe(t),null}else 2*Oe()-a.renderingStartTime>oi&&n!==1073741824&&(t.flags|=128,r=!0,Ei(a,!1),t.lanes=4194304);a.isBackwards?(o.sibling=t.child,t.child=o):(n=a.last,n!==null?n.sibling=o:t.child=o,a.last=o)}return a.tail!==null?(t=a.tail,a.rendering=t,a.tail=t.sibling,a.renderingStartTime=Oe(),t.sibling=null,n=ke.current,me(ke,r?n&1|2:n&1),t):(Xe(t),null);case 22:case 23:return gc(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?vt&1073741824&&(Xe(t),t.subtreeFlags&6&&(t.flags|=8192)):Xe(t),null;case 24:return null;case 25:return null}throw Error(M(156,t.tag))}function n1(e,t){switch(Ju(t),t.tag){case 1:return ct(t.type)&&Ao(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ii(),ye(ut),ye(qe),oc(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return ac(t),null;case 13:if(ye(ke),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(M(340));ni()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return ye(ke),null;case 4:return ii(),null;case 10:return tc(t.type._context),null;case 22:case 23:return gc(),null;case 24:return null;default:return null}}var Ga=!1,Je=!1,r1=typeof WeakSet=="function"?WeakSet:Set,$=null;function Ur(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){Ce(e,t,r)}else n.current=null}function Zs(e,t,n){try{n()}catch(r){Ce(e,t,r)}}var qf=!1;function i1(e,t){if(Ds=Ro,e=pm(),Gu(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 i=r.anchorOffset,a=r.focusNode;r=r.focusOffset;try{n.nodeType,a.nodeType}catch{n=null;break e}var o=0,l=-1,s=-1,c=0,f=0,d=e,m=null;t:for(;;){for(var g;d!==n||i!==0&&d.nodeType!==3||(l=o+i),d!==a||r!==0&&d.nodeType!==3||(s=o+r),d.nodeType===3&&(o+=d.nodeValue.length),(g=d.firstChild)!==null;)m=d,d=g;for(;;){if(d===e)break t;if(m===n&&++c===i&&(l=o),m===a&&++f===r&&(s=o),(g=d.nextSibling)!==null)break;d=m,m=d.parentNode}d=g}n=l===-1||s===-1?null:{start:l,end:s}}else n=null}n=n||{start:0,end:0}}else n=null;for(Is={focusedElem:e,selectionRange:n},Ro=!1,$=t;$!==null;)if(t=$,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,$=e;else for(;$!==null;){t=$;try{var y=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(y!==null){var w=y.memoizedProps,k=y.memoizedState,h=t.stateNode,p=h.getSnapshotBeforeUpdate(t.elementType===t.type?w:Mt(t.type,w),k);h.__reactInternalSnapshotBeforeUpdate=p}break;case 3:var v=t.stateNode.containerInfo;v.nodeType===1?v.textContent="":v.nodeType===9&&v.documentElement&&v.removeChild(v.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(M(163))}}catch(j){Ce(t,t.return,j)}if(e=t.sibling,e!==null){e.return=t.return,$=e;break}$=t.return}return y=qf,qf=!1,y}function $i(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&e)===e){var a=i.destroy;i.destroy=void 0,a!==void 0&&Zs(t,n,a)}i=i.next}while(i!==r)}}function cl(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)}}function eu(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}}function ch(e){var t=e.alternate;t!==null&&(e.alternate=null,ch(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Kt],delete t[ra],delete t[Us],delete t[Uy],delete t[$y])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function fh(e){return e.tag===5||e.tag===3||e.tag===4}function Zf(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||fh(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}}function tu(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=Lo));else if(r!==4&&(e=e.child,e!==null))for(tu(e,t,n),e=e.sibling;e!==null;)tu(e,t,n),e=e.sibling}function nu(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(nu(e,t,n),e=e.sibling;e!==null;)nu(e,t,n),e=e.sibling}var He=null,Dt=!1;function En(e,t,n){for(n=n.child;n!==null;)dh(e,t,n),n=n.sibling}function dh(e,t,n){if(Gt&&typeof Gt.onCommitFiberUnmount=="function")try{Gt.onCommitFiberUnmount(nl,n)}catch{}switch(n.tag){case 5:Je||Ur(n,t);case 6:var r=He,i=Dt;He=null,En(e,t,n),He=r,Dt=i,He!==null&&(Dt?(e=He,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):He.removeChild(n.stateNode));break;case 18:He!==null&&(Dt?(e=He,n=n.stateNode,e.nodeType===8?Kl(e.parentNode,n):e.nodeType===1&&Kl(e,n),qi(e)):Kl(He,n.stateNode));break;case 4:r=He,i=Dt,He=n.stateNode.containerInfo,Dt=!0,En(e,t,n),He=r,Dt=i;break;case 0:case 11:case 14:case 15:if(!Je&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var a=i,o=a.destroy;a=a.tag,o!==void 0&&(a&2||a&4)&&Zs(n,t,o),i=i.next}while(i!==r)}En(e,t,n);break;case 1:if(!Je&&(Ur(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(l){Ce(n,t,l)}En(e,t,n);break;case 21:En(e,t,n);break;case 22:n.mode&1?(Je=(r=Je)||n.memoizedState!==null,En(e,t,n),Je=r):En(e,t,n);break;default:En(e,t,n)}}function ed(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new r1),t.forEach(function(r){var i=p1.bind(null,e,r);n.has(r)||(n.add(r),r.then(i,i))})}}function At(e,t){var n=t.deletions;if(n!==null)for(var r=0;ri&&(i=o),r&=~a}if(r=i,r=Oe()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*o1(r/1960))-r,10e?16:e,Tn===null)var r=!1;else{if(e=Tn,Tn=null,Yo=0,ae&6)throw Error(M(331));var i=ae;for(ae|=4,$=e.current;$!==null;){var a=$,o=a.child;if($.flags&16){var l=a.deletions;if(l!==null){for(var s=0;sOe()-hc?cr(e,0):mc|=n),ft(e,t)}function wh(e,t){t===0&&(e.mode&1?(t=Ua,Ua<<=1,!(Ua&130023424)&&(Ua=4194304)):t=1);var n=tt();e=cn(e,t),e!==null&&(xa(e,t,n),ft(e,n))}function d1(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),wh(e,n)}function p1(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(M(314))}r!==null&&r.delete(t),wh(e,n)}var Sh;Sh=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||ut.current)st=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return st=!1,e1(e,t,n);st=!!(e.flags&131072)}else st=!1,we&&t.flags&1048576&&bm(t,Io,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;xo(e,t),e=t.pendingProps;var i=ti(t,qe.current);Jr(t,n),i=sc(null,t,r,e,i,n);var a=uc();return t.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,ct(r)?(a=!0,Mo(t)):a=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,rc(t),i.updater=sl,t.stateNode=i,i._reactInternals=t,Ys(t,r,e,n),t=Gs(null,t,r,!0,a,n)):(t.tag=0,we&&a&&Xu(t),et(null,t,i,n),t=t.child),t;case 16:r=t.elementType;e:{switch(xo(e,t),e=t.pendingProps,i=r._init,r=i(r._payload),t.type=r,i=t.tag=h1(r),e=Mt(r,e),i){case 0:t=Qs(null,t,r,e,n);break e;case 1:t=Gf(null,t,r,e,n);break e;case 11:t=Kf(null,t,r,e,n);break e;case 14:t=Qf(null,t,r,Mt(r.type,e),n);break e}throw Error(M(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Mt(r,i),Qs(e,t,r,i,n);case 1:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Mt(r,i),Gf(e,t,r,i,n);case 3:e:{if(ih(t),e===null)throw Error(M(387));r=t.pendingProps,a=t.memoizedState,i=a.element,Pm(e,t),Uo(t,r,null,n);var o=t.memoizedState;if(r=o.element,a.isDehydrated)if(a={element:r,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=a,t.memoizedState=a,t.flags&256){i=ai(Error(M(423)),t),t=Xf(e,t,r,n,i);break e}else if(r!==i){i=ai(Error(M(424)),t),t=Xf(e,t,r,n,i);break e}else for(gt=Dn(t.stateNode.containerInfo.firstChild),xt=t,we=!0,zt=null,n=Om(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(ni(),r===i){t=fn(e,t,n);break e}et(e,t,r,n)}t=t.child}return t;case 5:return Lm(t),e===null&&Bs(t),r=t.type,i=t.pendingProps,a=e!==null?e.memoizedProps:null,o=i.children,zs(r,i)?o=null:a!==null&&zs(r,a)&&(t.flags|=32),rh(e,t),et(e,t,o,n),t.child;case 6:return e===null&&Bs(t),null;case 13:return ah(e,t,n);case 4:return ic(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=ri(t,null,r,n):et(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Mt(r,i),Kf(e,t,r,i,n);case 7:return et(e,t,t.pendingProps,n),t.child;case 8:return et(e,t,t.pendingProps.children,n),t.child;case 12:return et(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,a=t.memoizedProps,o=i.value,me(zo,r._currentValue),r._currentValue=o,a!==null)if(Vt(a.value,o)){if(a.children===i.children&&!ut.current){t=fn(e,t,n);break e}}else for(a=t.child,a!==null&&(a.return=t);a!==null;){var l=a.dependencies;if(l!==null){o=a.child;for(var s=l.firstContext;s!==null;){if(s.context===r){if(a.tag===1){s=on(-1,n&-n),s.tag=2;var c=a.updateQueue;if(c!==null){c=c.shared;var f=c.pending;f===null?s.next=s:(s.next=f.next,f.next=s),c.pending=s}}a.lanes|=n,s=a.alternate,s!==null&&(s.lanes|=n),Ws(a.return,n,t),l.lanes|=n;break}s=s.next}}else if(a.tag===10)o=a.type===t.type?null:a.child;else if(a.tag===18){if(o=a.return,o===null)throw Error(M(341));o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),Ws(o,n,t),o=a.sibling}else o=a.child;if(o!==null)o.return=a;else for(o=a;o!==null;){if(o===t){o=null;break}if(a=o.sibling,a!==null){a.return=o.return,o=a;break}o=o.return}a=o}et(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,Jr(t,n),i=Rt(i),r=r(i),t.flags|=1,et(e,t,r,n),t.child;case 14:return r=t.type,i=Mt(r,t.pendingProps),i=Mt(r.type,i),Qf(e,t,r,i,n);case 15:return th(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Mt(r,i),xo(e,t),t.tag=1,ct(r)?(e=!0,Mo(t)):e=!1,Jr(t,n),Rm(t,r,i),Ys(t,r,i,n),Gs(null,t,r,!0,e,n);case 19:return oh(e,t,n);case 22:return nh(e,t,n)}throw Error(M(156,t.tag))};function kh(e,t){return Qp(e,t)}function m1(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}function Pt(e,t,n,r){return new m1(e,t,n,r)}function xc(e){return e=e.prototype,!(!e||!e.isReactComponent)}function h1(e){if(typeof e=="function")return xc(e)?1:0;if(e!=null){if(e=e.$$typeof,e===zu)return 11;if(e===Fu)return 14}return 2}function Un(e,t){var n=e.alternate;return n===null?(n=Pt(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}function ko(e,t,n,r,i,a){var o=2;if(r=e,typeof e=="function")xc(e)&&(o=1);else if(typeof e=="string")o=5;else e:switch(e){case Tr:return fr(n.children,i,a,t);case Iu:o=8,i|=8;break;case vs:return e=Pt(12,n,t,i|2),e.elementType=vs,e.lanes=a,e;case gs:return e=Pt(13,n,t,i),e.elementType=gs,e.lanes=a,e;case ys:return e=Pt(19,n,t,i),e.elementType=ys,e.lanes=a,e;case Tp:return dl(n,i,a,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case _p:o=10;break e;case Rp:o=9;break e;case zu:o=11;break e;case Fu:o=14;break e;case Nn:o=16,r=null;break e}throw Error(M(130,e==null?e:typeof e,""))}return t=Pt(o,n,t,i),t.elementType=e,t.type=r,t.lanes=a,t}function fr(e,t,n,r){return e=Pt(7,e,r,t),e.lanes=n,e}function dl(e,t,n,r){return e=Pt(22,e,r,t),e.elementType=Tp,e.lanes=n,e.stateNode={isHidden:!1},e}function ts(e,t,n){return e=Pt(6,e,null,t),e.lanes=n,e}function ns(e,t,n){return t=Pt(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function v1(e,t,n,r,i){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=Dl(0),this.expirationTimes=Dl(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Dl(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function wc(e,t,n,r,i,a,o,l,s){return e=new v1(e,t,n,l,s),t===1?(t=1,a===!0&&(t|=8)):t=0,a=Pt(3,null,null,t),e.current=a,a.stateNode=e,a.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},rc(a),e}function g1(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Nh)}catch(e){console.error(e)}}Nh(),bp.exports=St;var bc=bp.exports;const k1=_u(bc),E1=pp({__proto__:null,default:k1},[bc]);var sd=bc;ms.createRoot=sd.createRoot,ms.hydrateRoot=sd.hydrateRoot;/** * @remix-run/router v1.15.3 * * Copyright (c) Remix Software Inc. @@ -46,8 +46,8 @@ Error generating stack: `+a.message+` * LICENSE.md file in the root directory of this source tree. * * @license MIT - */function Pe(){return Pe=Object.assign?Object.assign.bind():function(e){for(var t=1;t"u")throw new Error(t)}function li(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function j1(){return Math.random().toString(36).substr(2,8)}function cd(e,t){return{usr:e.state,key:e.key,idx:t}}function ca(e,t,n,r){return n===void 0&&(n=null),Pe({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?gn(t):t,{state:n,key:t&&t.key||r||j1()})}function gr(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}function gn(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}function N1(e,t,n,r){r===void 0&&(r={});let{window:i=document.defaultView,v5Compat:a=!1}=r,o=i.history,l=Te.Pop,s=null,c=f();c==null&&(c=0,o.replaceState(Pe({},o.state,{idx:c}),""));function f(){return(o.state||{idx:null}).idx}function d(){l=Te.Pop;let E=f(),h=E==null?null:E-c;c=E,s&&s({action:l,location:w.location,delta:h})}function m(E,h){l=Te.Push;let p=ca(w.location,E,h);n&&n(p,E),c=f()+1;let v=cd(p,c),j=w.createHref(p);try{o.pushState(v,"",j)}catch(R){if(R instanceof DOMException&&R.name==="DataCloneError")throw R;i.location.assign(j)}a&&s&&s({action:l,location:w.location,delta:1})}function g(E,h){l=Te.Replace;let p=ca(w.location,E,h);n&&n(p,E),c=f();let v=cd(p,c),j=w.createHref(p);o.replaceState(v,"",j),a&&s&&s({action:l,location:w.location,delta:0})}function y(E){let h=i.location.origin!=="null"?i.location.origin:i.location.href,p=typeof E=="string"?E:gr(E);return p=p.replace(/ $/,"%20"),q(h,"No window.location.(origin|href) available to create URL for href: "+p),new URL(p,h)}let w={get action(){return l},get location(){return e(i,o)},listen(E){if(s)throw new Error("A history only accepts one active listener");return i.addEventListener(ud,d),s=E,()=>{i.removeEventListener(ud,d),s=null}},createHref(E){return t(i,E)},createURL:y,encodeLocation(E){let h=y(E);return{pathname:h.pathname,search:h.search,hash:h.hash}},push:m,replace:g,go(E){return o.go(E)}};return w}var Ne;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(Ne||(Ne={}));const C1=new Set(["lazy","caseSensitive","path","id","index","children"]);function P1(e){return e.index===!0}function lu(e,t,n,r){return n===void 0&&(n=[]),r===void 0&&(r={}),e.map((i,a)=>{let o=[...n,a],l=typeof i.id=="string"?i.id:o.join("-");if(q(i.index!==!0||!i.children,"Cannot specify children on an index route"),q(!r[l],'Found a route id collision on id "'+l+`". Route id's must be globally unique within Data Router usages`),P1(i)){let s=Pe({},i,t(i),{id:l});return r[l]=s,s}else{let s=Pe({},i,t(i),{id:l,children:void 0});return r[l]=s,i.children&&(s.children=lu(i.children,t,o,r)),s}})}function Vr(e,t,n){n===void 0&&(n="/");let r=typeof t=="string"?gn(t):t,i=dn(r.pathname||"/",n);if(i==null)return null;let a=Ch(e);R1(a);let o=null;for(let l=0;o==null&&l{let s={relativePath:l===void 0?a.path||"":l,caseSensitive:a.caseSensitive===!0,childrenIndex:o,route:a};s.relativePath.startsWith("/")&&(q(s.relativePath.startsWith(r),'Absolute route path "'+s.relativePath+'" nested under path '+('"'+r+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),s.relativePath=s.relativePath.slice(r.length));let c=ln([r,s.relativePath]),f=n.concat(s);a.children&&a.children.length>0&&(q(a.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+c+'".')),Ch(a.children,t,f,c)),!(a.path==null&&!a.index)&&t.push({path:c,score:I1(c,a.index),routesMeta:f})};return e.forEach((a,o)=>{var l;if(a.path===""||!((l=a.path)!=null&&l.includes("?")))i(a,o);else for(let s of Ph(a.path))i(a,o,s)}),t}function Ph(e){let t=e.split("/");if(t.length===0)return[];let[n,...r]=t,i=n.endsWith("?"),a=n.replace(/\?$/,"");if(r.length===0)return i?[a,""]:[a];let o=Ph(r.join("/")),l=[];return l.push(...o.map(s=>s===""?a:[a,s].join("/"))),i&&l.push(...o),l.map(s=>e.startsWith("/")&&s===""?"/":s)}function R1(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:z1(t.routesMeta.map(r=>r.childrenIndex),n.routesMeta.map(r=>r.childrenIndex)))}const T1=/^:[\w-]+$/,O1=3,L1=2,A1=1,M1=10,D1=-2,fd=e=>e==="*";function I1(e,t){let n=e.split("/"),r=n.length;return n.some(fd)&&(r+=D1),t&&(r+=L1),n.filter(i=>!fd(i)).reduce((i,a)=>i+(T1.test(a)?O1:a===""?A1:M1),r)}function z1(e,t){return e.length===t.length&&e.slice(0,-1).every((r,i)=>r===t[i])?e[e.length-1]-t[t.length-1]:0}function F1(e,t){let{routesMeta:n}=e,r={},i="/",a=[];for(let o=0;o{let{paramName:m,isOptional:g}=f;if(m==="*"){let w=l[d]||"";o=a.slice(0,a.length-w.length).replace(/(.)\/+$/,"$1")}const y=l[d];return g&&!y?c[m]=void 0:c[m]=(y||"").replace(/%2F/g,"/"),c},{}),pathname:a,pathnameBase:o,pattern:e}}function U1(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!0),li(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=[],i="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(o,l,s)=>(r.push({paramName:l,isOptional:s!=null}),s?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(r.push({paramName:"*"}),i+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?i+="\\/*$":e!==""&&e!=="/"&&(i+="(?:(?=\\/|$))"),[new RegExp(i,t?void 0:"i"),r]}function $1(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return li(!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}}function dn(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)||"/"}function V1(e,t){t===void 0&&(t="/");let{pathname:n,search:r="",hash:i=""}=typeof e=="string"?gn(e):e;return{pathname:n?n.startsWith("/")?n:B1(n,t):t,search:H1(r),hash:Y1(i)}}function B1(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(i=>{i===".."?n.length>1&&n.pop():i!=="."&&n.push(i)}),n.length>1?n.join("/"):"/"}function rs(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.'}function _h(e){return e.filter((t,n)=>n===0||t.route.path&&t.route.path.length>0)}function jc(e,t){let n=_h(e);return t?n.map((r,i)=>i===e.length-1?r.pathname:r.pathnameBase):n.map(r=>r.pathnameBase)}function Nc(e,t,n,r){r===void 0&&(r=!1);let i;typeof e=="string"?i=gn(e):(i=Pe({},e),q(!i.pathname||!i.pathname.includes("?"),rs("?","pathname","search",i)),q(!i.pathname||!i.pathname.includes("#"),rs("#","pathname","hash",i)),q(!i.search||!i.search.includes("#"),rs("#","search","hash",i)));let a=e===""||i.pathname==="",o=a?"/":i.pathname,l;if(o==null)l=n;else{let d=t.length-1;if(!r&&o.startsWith("..")){let m=o.split("/");for(;m[0]==="..";)m.shift(),d-=1;i.pathname=m.join("/")}l=d>=0?t[d]:"/"}let s=V1(i,l),c=o&&o!=="/"&&o.endsWith("/"),f=(a||o===".")&&n.endsWith("/");return!s.pathname.endsWith("/")&&(c||f)&&(s.pathname+="/"),s}const ln=e=>e.join("/").replace(/\/\/+/g,"/"),W1=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),H1=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,Y1=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;class Cc{constructor(t,n,r,i){i===void 0&&(i=!1),this.status=t,this.statusText=n||"",this.internal=i,r instanceof Error?(this.data=r.toString(),this.error=r):this.data=r}}function Rh(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}const Th=["post","put","patch","delete"],K1=new Set(Th),Q1=["get",...Th],G1=new Set(Q1),X1=new Set([301,302,303,307,308]),J1=new Set([307,308]),is={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},q1={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},ji={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},Oh=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Z1=e=>({hasErrorBoundary:!!e.hasErrorBoundary}),Lh="remix-router-transitions";function e0(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;q(e.routes.length>0,"You must provide a non-empty routes array to createRouter");let i;if(e.mapRouteProperties)i=e.mapRouteProperties;else if(e.detectErrorBoundary){let b=e.detectErrorBoundary;i=N=>({hasErrorBoundary:b(N)})}else i=Z1;let a={},o=lu(e.routes,i,void 0,a),l,s=e.basename||"/",c=Pe({v7_fetcherPersist:!1,v7_normalizeFormMethod:!1,v7_partialHydration:!1,v7_prependBasename:!1,v7_relativeSplatPath:!1},e.future),f=null,d=new Set,m=null,g=null,y=null,w=e.hydrationData!=null,E=Vr(o,e.history.location,s),h=null;if(E==null){let b=jt(404,{pathname:e.history.location.pathname}),{matches:N,route:T}=xd(o);E=N,h={[T.id]:b}}let p,v=E.some(b=>b.route.lazy),j=E.some(b=>b.route.loader);if(v)p=!1;else if(!j)p=!0;else if(c.v7_partialHydration){let b=e.hydrationData?e.hydrationData.loaderData:null,N=e.hydrationData?e.hydrationData.errors:null,T=M=>M.route.loader?M.route.loader.hydrate===!0?!1:b&&b[M.route.id]!==void 0||N&&N[M.route.id]!==void 0:!0;if(N){let M=E.findIndex(V=>N[V.route.id]!==void 0);p=E.slice(0,M+1).every(T)}else p=E.every(T)}else p=e.hydrationData!=null;let R,x={historyAction:e.history.action,location:e.history.location,matches:E,initialized:p,navigation:is,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||h,fetchers:new Map,blockers:new Map},P=Te.Pop,L=!1,D,$=!1,Z=new Map,fe=null,he=!1,Ie=!1,Qe=[],dt=[],oe=new Map,I=0,Y=-1,K=new Map,S=new Set,C=new Map,k=new Map,O=new Set,z=new Map,B=new Map,X=!1;function ne(){if(f=e.history.listen(b=>{let{action:N,location:T,delta:M}=b;if(X){X=!1;return}li(B.size===0||M!=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 V=Oa({currentLocation:x.location,nextLocation:T,historyAction:N});if(V&&M!=null){X=!0,e.history.go(M*-1),jr(V,{state:"blocked",location:T,proceed(){jr(V,{state:"proceeding",proceed:void 0,reset:void 0,location:T}),e.history.go(M)},reset(){let ee=new Map(x.blockers);ee.set(V,ji),de({blockers:ee})}});return}return Ze(N,T)}),n){f0(t,Z);let b=()=>d0(t,Z);t.addEventListener("pagehide",b),fe=()=>t.removeEventListener("pagehide",b)}return x.initialized||Ze(Te.Pop,x.location,{initialHydration:!0}),R}function it(){f&&f(),fe&&fe(),d.clear(),D&&D.abort(),x.fetchers.forEach((b,N)=>Wt(N)),x.blockers.forEach((b,N)=>Ta(N))}function pt(b){return d.add(b),()=>d.delete(b)}function de(b,N){N===void 0&&(N={}),x=Pe({},x,b);let T=[],M=[];c.v7_fetcherPersist&&x.fetchers.forEach((V,ee)=>{V.state==="idle"&&(O.has(ee)?M.push(ee):T.push(ee))}),[...d].forEach(V=>V(x,{deletedFetchers:M,unstable_viewTransitionOpts:N.viewTransitionOpts,unstable_flushSync:N.flushSync===!0})),c.v7_fetcherPersist&&(T.forEach(V=>x.fetchers.delete(V)),M.forEach(V=>Wt(V)))}function Re(b,N,T){var M,V;let{flushSync:ee}=T===void 0?{}:T,G=x.actionData!=null&&x.navigation.formMethod!=null&&It(x.navigation.formMethod)&&x.navigation.state==="loading"&&((M=b.state)==null?void 0:M._isRedirect)!==!0,Q;N.actionData?Object.keys(N.actionData).length>0?Q=N.actionData:Q=null:G?Q=x.actionData:Q=null;let H=N.loaderData?yd(x.loaderData,N.loaderData,N.matches||[],N.errors):x.loaderData,ie=x.blockers;ie.size>0&&(ie=new Map(ie),ie.forEach((pe,Be)=>ie.set(Be,ji)));let ze=L===!0||x.navigation.formMethod!=null&&It(x.navigation.formMethod)&&((V=b.state)==null?void 0:V._isRedirect)!==!0;l&&(o=l,l=void 0),he||P===Te.Pop||(P===Te.Push?e.history.push(b,b.state):P===Te.Replace&&e.history.replace(b,b.state));let J;if(P===Te.Pop){let pe=Z.get(x.location.pathname);pe&&pe.has(b.pathname)?J={currentLocation:x.location,nextLocation:b}:Z.has(b.pathname)&&(J={currentLocation:b,nextLocation:x.location})}else if($){let pe=Z.get(x.location.pathname);pe?pe.add(b.pathname):(pe=new Set([b.pathname]),Z.set(x.location.pathname,pe)),J={currentLocation:x.location,nextLocation:b}}de(Pe({},N,{actionData:Q,loaderData:H,historyAction:P,location:b,initialized:!0,navigation:is,revalidation:"idle",restoreScrollPosition:qc(b,N.matches||x.matches),preventScrollReset:ze,blockers:ie}),{viewTransitionOpts:J,flushSync:ee===!0}),P=Te.Pop,L=!1,$=!1,he=!1,Ie=!1,Qe=[],dt=[]}async function at(b,N){if(typeof b=="number"){e.history.go(b);return}let T=uu(x.location,x.matches,s,c.v7_prependBasename,b,c.v7_relativeSplatPath,N==null?void 0:N.fromRouteId,N==null?void 0:N.relative),{path:M,submission:V,error:ee}=dd(c.v7_normalizeFormMethod,!1,T,N),G=x.location,Q=ca(x.location,M,N&&N.state);Q=Pe({},Q,e.history.encodeLocation(Q));let H=N&&N.replace!=null?N.replace:void 0,ie=Te.Push;H===!0?ie=Te.Replace:H===!1||V!=null&&It(V.formMethod)&&V.formAction===x.location.pathname+x.location.search&&(ie=Te.Replace);let ze=N&&"preventScrollReset"in N?N.preventScrollReset===!0:void 0,J=(N&&N.unstable_flushSync)===!0,pe=Oa({currentLocation:G,nextLocation:Q,historyAction:ie});if(pe){jr(pe,{state:"blocked",location:Q,proceed(){jr(pe,{state:"proceeding",proceed:void 0,reset:void 0,location:Q}),at(b,N)},reset(){let Be=new Map(x.blockers);Be.set(pe,ji),de({blockers:Be})}});return}return await Ze(ie,Q,{submission:V,pendingError:ee,preventScrollReset:ze,replace:N&&N.replace,enableViewTransition:N&&N.unstable_viewTransition,flushSync:J})}function ue(){if(kr(),de({revalidation:"loading"}),x.navigation.state!=="submitting"){if(x.navigation.state==="idle"){Ze(x.historyAction,x.location,{startUninterruptedRevalidation:!0});return}Ze(P||x.historyAction,x.navigation.location,{overrideNavigation:x.navigation})}}async function Ze(b,N,T){D&&D.abort(),D=null,P=b,he=(T&&T.startUninterruptedRevalidation)===!0,Gv(x.location,x.matches),L=(T&&T.preventScrollReset)===!0,$=(T&&T.enableViewTransition)===!0;let M=l||o,V=T&&T.overrideNavigation,ee=Vr(M,N,s),G=(T&&T.flushSync)===!0;if(!ee){let Be=jt(404,{pathname:N.pathname}),{matches:ht,route:Fe}=xd(M);Cl(),Re(N,{matches:ht,loaderData:{},errors:{[Fe.id]:Be}},{flushSync:G});return}if(x.initialized&&!Ie&&a0(x.location,N)&&!(T&&T.submission&&It(T.submission.formMethod))){Re(N,{matches:ee},{flushSync:G});return}D=new AbortController;let Q=Ci(e.history,N,D.signal,T&&T.submission),H,ie;if(T&&T.pendingError)ie={[Wi(ee).route.id]:T.pendingError};else if(T&&T.submission&&It(T.submission.formMethod)){let Be=await Lt(Q,N,T.submission,ee,{replace:T.replace,flushSync:G});if(Be.shortCircuited)return;H=Be.pendingActionData,ie=Be.pendingActionError,V=as(N,T.submission),G=!1,Q=new Request(Q.url,{signal:Q.signal})}let{shortCircuited:ze,loaderData:J,errors:pe}=await Se(Q,N,ee,V,T&&T.submission,T&&T.fetcherSubmission,T&&T.replace,T&&T.initialHydration===!0,G,H,ie);ze||(D=null,Re(N,Pe({matches:ee},H?{actionData:H}:{},{loaderData:J,errors:pe})))}async function Lt(b,N,T,M,V){V===void 0&&(V={}),kr();let ee=u0(N,T);de({navigation:ee},{flushSync:V.flushSync===!0});let G,Q=fu(M,N);if(!Q.route.action&&!Q.route.lazy)G={type:Ne.error,error:jt(405,{method:b.method,pathname:N.pathname,routeId:Q.route.id})};else if(G=await Ni("action",b,Q,M,a,i,s,c.v7_relativeSplatPath),b.signal.aborted)return{shortCircuited:!0};if(lr(G)){let H;return V&&V.replace!=null?H=V.replace:H=G.location===x.location.pathname+x.location.search,await en(x,G,{submission:T,replace:H}),{shortCircuited:!0}}if(Br(G)){let H=Wi(M,Q.route.id);return(V&&V.replace)!==!0&&(P=Te.Push),{pendingActionData:{},pendingActionError:{[H.route.id]:G.error}}}if(or(G))throw jt(400,{type:"defer-action"});return{pendingActionData:{[Q.route.id]:G.data}}}async function Se(b,N,T,M,V,ee,G,Q,H,ie,ze){let J=M||as(N,V),pe=V||ee||kd(J),Be=l||o,[ht,Fe]=pd(e.history,x,T,pe,N,c.v7_partialHydration&&Q===!0,Ie,Qe,dt,O,C,S,Be,s,ie,ze);if(Cl(le=>!(T&&T.some(ce=>ce.route.id===le))||ht&&ht.some(ce=>ce.route.id===le)),Y=++I,ht.length===0&&Fe.length===0){let le=br();return Re(N,Pe({matches:T,loaderData:{},errors:ze||null},ie?{actionData:ie}:{},le?{fetchers:new Map(x.fetchers)}:{}),{flushSync:H}),{shortCircuited:!0}}if(!he&&(!c.v7_partialHydration||!Q)){Fe.forEach(ce=>{let ot=x.fetchers.get(ce.key),Aa=Pi(void 0,ot?ot.data:void 0);x.fetchers.set(ce.key,Aa)});let le=ie||x.actionData;de(Pe({navigation:J},le?Object.keys(le).length===0?{actionData:null}:{actionData:le}:{},Fe.length>0?{fetchers:new Map(x.fetchers)}:{}),{flushSync:H})}Fe.forEach(le=>{oe.has(le.key)&&bt(le.key),le.controller&&oe.set(le.key,le.controller)});let Nr=()=>Fe.forEach(le=>bt(le.key));D&&D.signal.addEventListener("abort",Nr);let{results:Pl,loaderResults:Cr,fetcherResults:kn}=await mt(x.matches,T,ht,Fe,b);if(b.signal.aborted)return{shortCircuited:!0};D&&D.signal.removeEventListener("abort",Nr),Fe.forEach(le=>oe.delete(le.key));let er=wd(Pl);if(er){if(er.idx>=ht.length){let le=Fe[er.idx-ht.length].key;S.add(le)}return await en(x,er.result,{replace:G}),{shortCircuited:!0}}let{loaderData:_l,errors:hi}=gd(x,T,ht,Cr,ze,Fe,kn,z);z.forEach((le,ce)=>{le.subscribe(ot=>{(ot||le.done)&&z.delete(ce)})}),c.v7_partialHydration&&Q&&x.errors&&Object.entries(x.errors).filter(le=>{let[ce]=le;return!ht.some(ot=>ot.route.id===ce)}).forEach(le=>{let[ce,ot]=le;hi=Object.assign(hi||{},{[ce]:ot})});let Rl=br(),Pr=Ra(Y),La=Rl||Pr||Fe.length>0;return Pe({loaderData:_l,errors:hi},La?{fetchers:new Map(x.fetchers)}:{})}function wn(b,N,T,M){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.");oe.has(b)&&bt(b);let V=(M&&M.unstable_flushSync)===!0,ee=l||o,G=uu(x.location,x.matches,s,c.v7_prependBasename,T,c.v7_relativeSplatPath,N,M==null?void 0:M.relative),Q=Vr(ee,G,s);if(!Q){Zn(b,N,jt(404,{pathname:G}),{flushSync:V});return}let{path:H,submission:ie,error:ze}=dd(c.v7_normalizeFormMethod,!0,G,M);if(ze){Zn(b,N,ze,{flushSync:V});return}let J=fu(Q,H);if(L=(M&&M.preventScrollReset)===!0,ie&&It(ie.formMethod)){qn(b,N,H,J,Q,V,ie);return}C.set(b,{routeId:N,path:H}),Zt(b,N,H,J,Q,V,ie)}async function qn(b,N,T,M,V,ee,G){if(kr(),C.delete(b),!M.route.action&&!M.route.lazy){let ce=jt(405,{method:G.formMethod,pathname:T,routeId:N});Zn(b,N,ce,{flushSync:ee});return}let Q=x.fetchers.get(b);Bt(b,c0(G,Q),{flushSync:ee});let H=new AbortController,ie=Ci(e.history,T,H.signal,G);oe.set(b,H);let ze=I,J=await Ni("action",ie,M,V,a,i,s,c.v7_relativeSplatPath);if(ie.signal.aborted){oe.get(b)===H&&oe.delete(b);return}if(c.v7_fetcherPersist&&O.has(b)){if(lr(J)||Br(J)){Bt(b,jn(void 0));return}}else{if(lr(J))if(oe.delete(b),Y>ze){Bt(b,jn(void 0));return}else return S.add(b),Bt(b,Pi(G)),en(x,J,{fetcherSubmission:G});if(Br(J)){Zn(b,N,J.error);return}}if(or(J))throw jt(400,{type:"defer-action"});let pe=x.navigation.location||x.location,Be=Ci(e.history,pe,H.signal),ht=l||o,Fe=x.navigation.state!=="idle"?Vr(ht,x.navigation.location,s):x.matches;q(Fe,"Didn't find any matches after fetcher action");let Nr=++I;K.set(b,Nr);let Pl=Pi(G,J.data);x.fetchers.set(b,Pl);let[Cr,kn]=pd(e.history,x,Fe,G,pe,!1,Ie,Qe,dt,O,C,S,ht,s,{[M.route.id]:J.data},void 0);kn.filter(ce=>ce.key!==b).forEach(ce=>{let ot=ce.key,Aa=x.fetchers.get(ot),Jv=Pi(void 0,Aa?Aa.data:void 0);x.fetchers.set(ot,Jv),oe.has(ot)&&bt(ot),ce.controller&&oe.set(ot,ce.controller)}),de({fetchers:new Map(x.fetchers)});let er=()=>kn.forEach(ce=>bt(ce.key));H.signal.addEventListener("abort",er);let{results:_l,loaderResults:hi,fetcherResults:Rl}=await mt(x.matches,Fe,Cr,kn,Be);if(H.signal.aborted)return;H.signal.removeEventListener("abort",er),K.delete(b),oe.delete(b),kn.forEach(ce=>oe.delete(ce.key));let Pr=wd(_l);if(Pr){if(Pr.idx>=Cr.length){let ce=kn[Pr.idx-Cr.length].key;S.add(ce)}return en(x,Pr.result)}let{loaderData:La,errors:le}=gd(x,x.matches,Cr,hi,void 0,kn,Rl,z);if(x.fetchers.has(b)){let ce=jn(J.data);x.fetchers.set(b,ce)}Ra(Nr),x.navigation.state==="loading"&&Nr>Y?(q(P,"Expected pending action"),D&&D.abort(),Re(x.navigation.location,{matches:Fe,loaderData:La,errors:le,fetchers:new Map(x.fetchers)})):(de({errors:le,loaderData:yd(x.loaderData,La,Fe,le),fetchers:new Map(x.fetchers)}),Ie=!1)}async function Zt(b,N,T,M,V,ee,G){let Q=x.fetchers.get(b);Bt(b,Pi(G,Q?Q.data:void 0),{flushSync:ee});let H=new AbortController,ie=Ci(e.history,T,H.signal);oe.set(b,H);let ze=I,J=await Ni("loader",ie,M,V,a,i,s,c.v7_relativeSplatPath);if(or(J)&&(J=await Dh(J,ie.signal,!0)||J),oe.get(b)===H&&oe.delete(b),!ie.signal.aborted){if(O.has(b)){Bt(b,jn(void 0));return}if(lr(J))if(Y>ze){Bt(b,jn(void 0));return}else{S.add(b),await en(x,J);return}if(Br(J)){Zn(b,N,J.error);return}q(!or(J),"Unhandled fetcher deferred data"),Bt(b,jn(J.data))}}async function en(b,N,T){let{submission:M,fetcherSubmission:V,replace:ee}=T===void 0?{}:T;N.revalidate&&(Ie=!0);let G=ca(b.location,N.location,{_isRedirect:!0});if(q(G,"Expected a location on the redirect navigation"),n){let pe=!1;if(N.reloadDocument)pe=!0;else if(Oh.test(N.location)){const Be=e.history.createURL(N.location);pe=Be.origin!==t.location.origin||dn(Be.pathname,s)==null}if(pe){ee?t.location.replace(N.location):t.location.assign(N.location);return}}D=null;let Q=ee===!0?Te.Replace:Te.Push,{formMethod:H,formAction:ie,formEncType:ze}=b.navigation;!M&&!V&&H&&ie&&ze&&(M=kd(b.navigation));let J=M||V;if(J1.has(N.status)&&J&&It(J.formMethod))await Ze(Q,G,{submission:Pe({},J,{formAction:N.location}),preventScrollReset:L});else{let pe=as(G,M);await Ze(Q,G,{overrideNavigation:pe,fetcherSubmission:V,preventScrollReset:L})}}async function mt(b,N,T,M,V){let ee=await Promise.all([...T.map(H=>Ni("loader",V,H,N,a,i,s,c.v7_relativeSplatPath)),...M.map(H=>H.matches&&H.match&&H.controller?Ni("loader",Ci(e.history,H.path,H.controller.signal),H.match,H.matches,a,i,s,c.v7_relativeSplatPath):{type:Ne.error,error:jt(404,{pathname:H.path})})]),G=ee.slice(0,T.length),Q=ee.slice(T.length);return await Promise.all([Sd(b,T,G,G.map(()=>V.signal),!1,x.loaderData),Sd(b,M.map(H=>H.match),Q,M.map(H=>H.controller?H.controller.signal:null),!0)]),{results:ee,loaderResults:G,fetcherResults:Q}}function kr(){Ie=!0,Qe.push(...Cl()),C.forEach((b,N)=>{oe.has(N)&&(dt.push(N),bt(N))})}function Bt(b,N,T){T===void 0&&(T={}),x.fetchers.set(b,N),de({fetchers:new Map(x.fetchers)},{flushSync:(T&&T.flushSync)===!0})}function Zn(b,N,T,M){M===void 0&&(M={});let V=Wi(x.matches,N);Wt(b),de({errors:{[V.route.id]:T},fetchers:new Map(x.fetchers)},{flushSync:(M&&M.flushSync)===!0})}function Sn(b){return c.v7_fetcherPersist&&(k.set(b,(k.get(b)||0)+1),O.has(b)&&O.delete(b)),x.fetchers.get(b)||q1}function Wt(b){let N=x.fetchers.get(b);oe.has(b)&&!(N&&N.state==="loading"&&K.has(b))&&bt(b),C.delete(b),K.delete(b),S.delete(b),O.delete(b),x.fetchers.delete(b)}function mi(b){if(c.v7_fetcherPersist){let N=(k.get(b)||0)-1;N<=0?(k.delete(b),O.add(b)):k.set(b,N)}else Wt(b);de({fetchers:new Map(x.fetchers)})}function bt(b){let N=oe.get(b);q(N,"Expected fetch controller: "+b),N.abort(),oe.delete(b)}function Er(b){for(let N of b){let T=Sn(N),M=jn(T.data);x.fetchers.set(N,M)}}function br(){let b=[],N=!1;for(let T of S){let M=x.fetchers.get(T);q(M,"Expected fetcher: "+T),M.state==="loading"&&(S.delete(T),b.push(T),N=!0)}return Er(b),N}function Ra(b){let N=[];for(let[T,M]of K)if(M0}function Nl(b,N){let T=x.blockers.get(b)||ji;return B.get(b)!==N&&B.set(b,N),T}function Ta(b){x.blockers.delete(b),B.delete(b)}function jr(b,N){let T=x.blockers.get(b)||ji;q(T.state==="unblocked"&&N.state==="blocked"||T.state==="blocked"&&N.state==="blocked"||T.state==="blocked"&&N.state==="proceeding"||T.state==="blocked"&&N.state==="unblocked"||T.state==="proceeding"&&N.state==="unblocked","Invalid blocker state transition: "+T.state+" -> "+N.state);let M=new Map(x.blockers);M.set(b,N),de({blockers:M})}function Oa(b){let{currentLocation:N,nextLocation:T,historyAction:M}=b;if(B.size===0)return;B.size>1&&li(!1,"A router only supports one blocker at a time");let V=Array.from(B.entries()),[ee,G]=V[V.length-1],Q=x.blockers.get(ee);if(!(Q&&Q.state==="proceeding")&&G({currentLocation:N,nextLocation:T,historyAction:M}))return ee}function Cl(b){let N=[];return z.forEach((T,M)=>{(!b||b(M))&&(T.cancel(),N.push(M),z.delete(M))}),N}function Qv(b,N,T){if(m=b,y=N,g=T||null,!w&&x.navigation===is){w=!0;let M=qc(x.location,x.matches);M!=null&&de({restoreScrollPosition:M})}return()=>{m=null,y=null,g=null}}function Jc(b,N){return g&&g(b,N.map(M=>_1(M,x.loaderData)))||b.key}function Gv(b,N){if(m&&y){let T=Jc(b,N);m[T]=y()}}function qc(b,N){if(m){let T=Jc(b,N),M=m[T];if(typeof M=="number")return M}return null}function Xv(b){a={},l=lu(b,i,void 0,a)}return R={get basename(){return s},get future(){return c},get state(){return x},get routes(){return o},get window(){return t},initialize:ne,subscribe:pt,enableScrollRestoration:Qv,navigate:at,fetch:wn,revalidate:ue,createHref:b=>e.history.createHref(b),encodeLocation:b=>e.history.encodeLocation(b),getFetcher:Sn,deleteFetcher:mi,dispose:it,getBlocker:Nl,deleteBlocker:Ta,_internalFetchControllers:oe,_internalActiveDeferreds:z,_internalSetRoutes:Xv},R}function t0(e){return e!=null&&("formData"in e&&e.formData!=null||"body"in e&&e.body!==void 0)}function uu(e,t,n,r,i,a,o,l){let s,c;if(o){s=[];for(let d of t)if(s.push(d),d.route.id===o){c=d;break}}else s=t,c=t[t.length-1];let f=Nc(i||".",jc(s,a),dn(e.pathname,n)||e.pathname,l==="path");return i==null&&(f.search=e.search,f.hash=e.hash),(i==null||i===""||i===".")&&c&&c.route.index&&!Pc(f.search)&&(f.search=f.search?f.search.replace(/^\?/,"?index&"):"?index"),r&&n!=="/"&&(f.pathname=f.pathname==="/"?n:ln([n,f.pathname])),gr(f)}function dd(e,t,n,r){if(!r||!t0(r))return{path:n};if(r.formMethod&&!s0(r.formMethod))return{path:n,error:jt(405,{method:r.formMethod})};let i=()=>({path:n,error:jt(400,{type:"invalid-body"})}),a=r.formMethod||"get",o=e?a.toUpperCase():a.toLowerCase(),l=Mh(n);if(r.body!==void 0){if(r.formEncType==="text/plain"){if(!It(o))return i();let m=typeof r.body=="string"?r.body:r.body instanceof FormData||r.body instanceof URLSearchParams?Array.from(r.body.entries()).reduce((g,y)=>{let[w,E]=y;return""+g+w+"="+E+` -`},""):String(r.body);return{path:n,submission:{formMethod:o,formAction:l,formEncType:r.formEncType,formData:void 0,json:void 0,text:m}}}else if(r.formEncType==="application/json"){if(!It(o))return i();try{let m=typeof r.body=="string"?JSON.parse(r.body):r.body;return{path:n,submission:{formMethod:o,formAction:l,formEncType:r.formEncType,formData:void 0,json:m,text:void 0}}}catch{return i()}}}q(typeof FormData=="function","FormData is not available in this environment");let s,c;if(r.formData)s=cu(r.formData),c=r.formData;else if(r.body instanceof FormData)s=cu(r.body),c=r.body;else if(r.body instanceof URLSearchParams)s=r.body,c=vd(s);else if(r.body==null)s=new URLSearchParams,c=new FormData;else try{s=new URLSearchParams(r.body),c=vd(s)}catch{return i()}let f={formMethod:o,formAction:l,formEncType:r&&r.formEncType||"application/x-www-form-urlencoded",formData:c,json:void 0,text:void 0};if(It(f.formMethod))return{path:n,submission:f};let d=gn(n);return t&&d.search&&Pc(d.search)&&s.append("index",""),d.search="?"+s,{path:gr(d),submission:f}}function n0(e,t){let n=e;if(t){let r=e.findIndex(i=>i.route.id===t);r>=0&&(n=e.slice(0,r))}return n}function pd(e,t,n,r,i,a,o,l,s,c,f,d,m,g,y,w){let E=w?Object.values(w)[0]:y?Object.values(y)[0]:void 0,h=e.createURL(t.location),p=e.createURL(i),v=w?Object.keys(w)[0]:void 0,R=n0(n,v).filter((P,L)=>{let{route:D}=P;if(D.lazy)return!0;if(D.loader==null)return!1;if(a)return D.loader.hydrate?!0:t.loaderData[D.id]===void 0&&(!t.errors||t.errors[D.id]===void 0);if(r0(t.loaderData,t.matches[L],P)||l.some(fe=>fe===P.route.id))return!0;let $=t.matches[L],Z=P;return md(P,Pe({currentUrl:h,currentParams:$.params,nextUrl:p,nextParams:Z.params},r,{actionResult:E,defaultShouldRevalidate:o||h.pathname+h.search===p.pathname+p.search||h.search!==p.search||Ah($,Z)}))}),x=[];return f.forEach((P,L)=>{if(a||!n.some(he=>he.route.id===P.routeId)||c.has(L))return;let D=Vr(m,P.path,g);if(!D){x.push({key:L,routeId:P.routeId,path:P.path,matches:null,match:null,controller:null});return}let $=t.fetchers.get(L),Z=fu(D,P.path),fe=!1;d.has(L)?fe=!1:s.includes(L)?fe=!0:$&&$.state!=="idle"&&$.data===void 0?fe=o:fe=md(Z,Pe({currentUrl:h,currentParams:t.matches[t.matches.length-1].params,nextUrl:p,nextParams:n[n.length-1].params},r,{actionResult:E,defaultShouldRevalidate:o})),fe&&x.push({key:L,routeId:P.routeId,path:P.path,matches:D,match:Z,controller:new AbortController})}),[R,x]}function r0(e,t,n){let r=!t||n.route.id!==t.route.id,i=e[n.route.id]===void 0;return r||i}function Ah(e,t){let n=e.route.path;return e.pathname!==t.pathname||n!=null&&n.endsWith("*")&&e.params["*"]!==t.params["*"]}function md(e,t){if(e.route.shouldRevalidate){let n=e.route.shouldRevalidate(t);if(typeof n=="boolean")return n}return t.defaultShouldRevalidate}async function hd(e,t,n){if(!e.lazy)return;let r=await e.lazy();if(!e.lazy)return;let i=n[e.id];q(i,"No route found in manifest");let a={};for(let o in r){let s=i[o]!==void 0&&o!=="hasErrorBoundary";li(!s,'Route "'+i.id+'" has a static property "'+o+'" defined but its lazy function is also returning a value for this property. '+('The lazy route property "'+o+'" will be ignored.')),!s&&!C1.has(o)&&(a[o]=r[o])}Object.assign(i,a),Object.assign(i,Pe({},t(i),{lazy:void 0}))}async function Ni(e,t,n,r,i,a,o,l,s){s===void 0&&(s={});let c,f,d,m=w=>{let E,h=new Promise((p,v)=>E=v);return d=()=>E(),t.signal.addEventListener("abort",d),Promise.race([w({request:t,params:n.params,context:s.requestContext}),h])};try{let w=n.route[e];if(n.route.lazy)if(w){let E,h=await Promise.all([m(w).catch(p=>{E=p}),hd(n.route,a,i)]);if(E)throw E;f=h[0]}else if(await hd(n.route,a,i),w=n.route[e],w)f=await m(w);else if(e==="action"){let E=new URL(t.url),h=E.pathname+E.search;throw jt(405,{method:t.method,pathname:h,routeId:n.route.id})}else return{type:Ne.data,data:void 0};else if(w)f=await m(w);else{let E=new URL(t.url),h=E.pathname+E.search;throw jt(404,{pathname:h})}q(f!==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(w){c=Ne.error,f=w}finally{d&&t.signal.removeEventListener("abort",d)}if(l0(f)){let w=f.status;if(X1.has(w)){let h=f.headers.get("Location");if(q(h,"Redirects returned/thrown from loaders/actions must have a Location header"),!Oh.test(h))h=uu(new URL(t.url),r.slice(0,r.indexOf(n)+1),o,!0,h,l);else if(!s.isStaticRequest){let p=new URL(t.url),v=h.startsWith("//")?new URL(p.protocol+h):new URL(h),j=dn(v.pathname,o)!=null;v.origin===p.origin&&j&&(h=v.pathname+v.search+v.hash)}if(s.isStaticRequest)throw f.headers.set("Location",h),f;return{type:Ne.redirect,status:w,location:h,revalidate:f.headers.get("X-Remix-Revalidate")!==null,reloadDocument:f.headers.get("X-Remix-Reload-Document")!==null}}if(s.isRouteRequest)throw{type:c===Ne.error?Ne.error:Ne.data,response:f};let E;try{let h=f.headers.get("Content-Type");h&&/\bapplication\/json\b/.test(h)?f.body==null?E=null:E=await f.json():E=await f.text()}catch(h){return{type:Ne.error,error:h}}return c===Ne.error?{type:c,error:new Cc(w,f.statusText,E),headers:f.headers}:{type:Ne.data,data:E,statusCode:f.status,headers:f.headers}}if(c===Ne.error)return{type:c,error:f};if(o0(f)){var g,y;return{type:Ne.deferred,deferredData:f,statusCode:(g=f.init)==null?void 0:g.status,headers:((y=f.init)==null?void 0:y.headers)&&new Headers(f.init.headers)}}return{type:Ne.data,data:f}}function Ci(e,t,n,r){let i=e.createURL(Mh(t)).toString(),a={signal:n};if(r&&It(r.formMethod)){let{formMethod:o,formEncType:l}=r;a.method=o.toUpperCase(),l==="application/json"?(a.headers=new Headers({"Content-Type":l}),a.body=JSON.stringify(r.json)):l==="text/plain"?a.body=r.text:l==="application/x-www-form-urlencoded"&&r.formData?a.body=cu(r.formData):a.body=r.formData}return new Request(i,a)}function cu(e){let t=new URLSearchParams;for(let[n,r]of e.entries())t.append(n,typeof r=="string"?r:r.name);return t}function vd(e){let t=new FormData;for(let[n,r]of e.entries())t.append(n,r);return t}function i0(e,t,n,r,i){let a={},o=null,l,s=!1,c={};return n.forEach((f,d)=>{let m=t[d].route.id;if(q(!lr(f),"Cannot handle redirect results in processLoaderData"),Br(f)){let g=Wi(e,m),y=f.error;r&&(y=Object.values(r)[0],r=void 0),o=o||{},o[g.route.id]==null&&(o[g.route.id]=y),a[m]=void 0,s||(s=!0,l=Rh(f.error)?f.error.status:500),f.headers&&(c[m]=f.headers)}else or(f)?(i.set(m,f.deferredData),a[m]=f.deferredData.data):a[m]=f.data,f.statusCode!=null&&f.statusCode!==200&&!s&&(l=f.statusCode),f.headers&&(c[m]=f.headers)}),r&&(o=r,a[Object.keys(r)[0]]=void 0),{loaderData:a,errors:o,statusCode:l||200,loaderHeaders:c}}function gd(e,t,n,r,i,a,o,l){let{loaderData:s,errors:c}=i0(t,n,r,i,l);for(let f=0;fr.route.id===t)+1):[...e]).reverse().find(r=>r.route.hasErrorBoundary===!0)||e[0]}function xd(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}}function jt(e,t){let{pathname:n,routeId:r,method:i,type:a}=t===void 0?{}:t,o="Unknown Server Error",l="Unknown @remix-run/router error";return e===400?(o="Bad Request",i&&n&&r?l="You made a "+i+' request to "'+n+'" but '+('did not provide a `loader` for route "'+r+'", ')+"so there is no way to handle the request.":a==="defer-action"?l="defer() is not supported in actions":a==="invalid-body"&&(l="Unable to encode submission body")):e===403?(o="Forbidden",l='Route "'+r+'" does not match URL "'+n+'"'):e===404?(o="Not Found",l='No route matches URL "'+n+'"'):e===405&&(o="Method Not Allowed",i&&n&&r?l="You made a "+i.toUpperCase()+' request to "'+n+'" but '+('did not provide an `action` for route "'+r+'", ')+"so there is no way to handle the request.":i&&(l='Invalid request method "'+i.toUpperCase()+'"')),new Cc(e||500,o,new Error(l),!0)}function wd(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(lr(n))return{result:n,idx:t}}}function Mh(e){let t=typeof e=="string"?gn(e):e;return gr(Pe({},t,{hash:""}))}function a0(e,t){return e.pathname!==t.pathname||e.search!==t.search?!1:e.hash===""?t.hash!=="":e.hash===t.hash?!0:t.hash!==""}function or(e){return e.type===Ne.deferred}function Br(e){return e.type===Ne.error}function lr(e){return(e&&e.type)===Ne.redirect}function o0(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"}function l0(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.headers=="object"&&typeof e.body<"u"}function s0(e){return G1.has(e.toLowerCase())}function It(e){return K1.has(e.toLowerCase())}async function Sd(e,t,n,r,i,a){for(let o=0;od.route.id===s.route.id),f=c!=null&&!Ah(c,s)&&(a&&a[s.route.id])!==void 0;if(or(l)&&(i||f)){let d=r[o];q(d,"Expected an AbortSignal for revalidating fetcher deferred result"),await Dh(l,d,i).then(m=>{m&&(n[o]=m||n[o])})}}}async function Dh(e,t,n){if(n===void 0&&(n=!1),!await e.deferredData.resolveData(t)){if(n)try{return{type:Ne.data,data:e.deferredData.unwrappedData}}catch(i){return{type:Ne.error,error:i}}return{type:Ne.data,data:e.deferredData.data}}}function Pc(e){return new URLSearchParams(e).getAll("index").some(t=>t==="")}function fu(e,t){let n=typeof t=="string"?gn(t).search:t.search;if(e[e.length-1].route.index&&Pc(n||""))return e[e.length-1];let r=_h(e);return r[r.length-1]}function kd(e){let{formMethod:t,formAction:n,formEncType:r,text:i,formData:a,json:o}=e;if(!(!t||!n||!r)){if(i!=null)return{formMethod:t,formAction:n,formEncType:r,formData:void 0,json:void 0,text:i};if(a!=null)return{formMethod:t,formAction:n,formEncType:r,formData:a,json:void 0,text:void 0};if(o!==void 0)return{formMethod:t,formAction:n,formEncType:r,formData:void 0,json:o,text:void 0}}}function as(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}}function u0(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}}function Pi(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}}function c0(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}}function jn(e){return{state:"idle",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:e}}function f0(e,t){try{let n=e.sessionStorage.getItem(Lh);if(n){let r=JSON.parse(n);for(let[i,a]of Object.entries(r||{}))a&&Array.isArray(a)&&t.set(i,new Set(a||[]))}}catch{}}function d0(e,t){if(t.size>0){let n={};for(let[r,i]of t)n[r]=[...i];try{e.sessionStorage.setItem(Lh,JSON.stringify(n))}catch(r){li(!1,"Failed to save applied view transitions in sessionStorage ("+r+").")}}}/** + */function Pe(){return Pe=Object.assign?Object.assign.bind():function(e){for(var t=1;t"u")throw new Error(t)}function li(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function j1(){return Math.random().toString(36).substr(2,8)}function cd(e,t){return{usr:e.state,key:e.key,idx:t}}function ca(e,t,n,r){return n===void 0&&(n=null),Pe({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?gn(t):t,{state:n,key:t&&t.key||r||j1()})}function gr(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}function gn(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}function N1(e,t,n,r){r===void 0&&(r={});let{window:i=document.defaultView,v5Compat:a=!1}=r,o=i.history,l=Te.Pop,s=null,c=f();c==null&&(c=0,o.replaceState(Pe({},o.state,{idx:c}),""));function f(){return(o.state||{idx:null}).idx}function d(){l=Te.Pop;let k=f(),h=k==null?null:k-c;c=k,s&&s({action:l,location:w.location,delta:h})}function m(k,h){l=Te.Push;let p=ca(w.location,k,h);n&&n(p,k),c=f()+1;let v=cd(p,c),j=w.createHref(p);try{o.pushState(v,"",j)}catch(_){if(_ instanceof DOMException&&_.name==="DataCloneError")throw _;i.location.assign(j)}a&&s&&s({action:l,location:w.location,delta:1})}function g(k,h){l=Te.Replace;let p=ca(w.location,k,h);n&&n(p,k),c=f();let v=cd(p,c),j=w.createHref(p);o.replaceState(v,"",j),a&&s&&s({action:l,location:w.location,delta:0})}function y(k){let h=i.location.origin!=="null"?i.location.origin:i.location.href,p=typeof k=="string"?k:gr(k);return p=p.replace(/ $/,"%20"),Z(h,"No window.location.(origin|href) available to create URL for href: "+p),new URL(p,h)}let w={get action(){return l},get location(){return e(i,o)},listen(k){if(s)throw new Error("A history only accepts one active listener");return i.addEventListener(ud,d),s=k,()=>{i.removeEventListener(ud,d),s=null}},createHref(k){return t(i,k)},createURL:y,encodeLocation(k){let h=y(k);return{pathname:h.pathname,search:h.search,hash:h.hash}},push:m,replace:g,go(k){return o.go(k)}};return w}var Ne;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(Ne||(Ne={}));const C1=new Set(["lazy","caseSensitive","path","id","index","children"]);function P1(e){return e.index===!0}function lu(e,t,n,r){return n===void 0&&(n=[]),r===void 0&&(r={}),e.map((i,a)=>{let o=[...n,a],l=typeof i.id=="string"?i.id:o.join("-");if(Z(i.index!==!0||!i.children,"Cannot specify children on an index route"),Z(!r[l],'Found a route id collision on id "'+l+`". Route id's must be globally unique within Data Router usages`),P1(i)){let s=Pe({},i,t(i),{id:l});return r[l]=s,s}else{let s=Pe({},i,t(i),{id:l,children:void 0});return r[l]=s,i.children&&(s.children=lu(i.children,t,o,r)),s}})}function Vr(e,t,n){n===void 0&&(n="/");let r=typeof t=="string"?gn(t):t,i=dn(r.pathname||"/",n);if(i==null)return null;let a=Ch(e);R1(a);let o=null;for(let l=0;o==null&&l{let s={relativePath:l===void 0?a.path||"":l,caseSensitive:a.caseSensitive===!0,childrenIndex:o,route:a};s.relativePath.startsWith("/")&&(Z(s.relativePath.startsWith(r),'Absolute route path "'+s.relativePath+'" nested under path '+('"'+r+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),s.relativePath=s.relativePath.slice(r.length));let c=ln([r,s.relativePath]),f=n.concat(s);a.children&&a.children.length>0&&(Z(a.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+c+'".')),Ch(a.children,t,f,c)),!(a.path==null&&!a.index)&&t.push({path:c,score:I1(c,a.index),routesMeta:f})};return e.forEach((a,o)=>{var l;if(a.path===""||!((l=a.path)!=null&&l.includes("?")))i(a,o);else for(let s of Ph(a.path))i(a,o,s)}),t}function Ph(e){let t=e.split("/");if(t.length===0)return[];let[n,...r]=t,i=n.endsWith("?"),a=n.replace(/\?$/,"");if(r.length===0)return i?[a,""]:[a];let o=Ph(r.join("/")),l=[];return l.push(...o.map(s=>s===""?a:[a,s].join("/"))),i&&l.push(...o),l.map(s=>e.startsWith("/")&&s===""?"/":s)}function R1(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:z1(t.routesMeta.map(r=>r.childrenIndex),n.routesMeta.map(r=>r.childrenIndex)))}const T1=/^:[\w-]+$/,O1=3,L1=2,A1=1,M1=10,D1=-2,fd=e=>e==="*";function I1(e,t){let n=e.split("/"),r=n.length;return n.some(fd)&&(r+=D1),t&&(r+=L1),n.filter(i=>!fd(i)).reduce((i,a)=>i+(T1.test(a)?O1:a===""?A1:M1),r)}function z1(e,t){return e.length===t.length&&e.slice(0,-1).every((r,i)=>r===t[i])?e[e.length-1]-t[t.length-1]:0}function F1(e,t){let{routesMeta:n}=e,r={},i="/",a=[];for(let o=0;o{let{paramName:m,isOptional:g}=f;if(m==="*"){let w=l[d]||"";o=a.slice(0,a.length-w.length).replace(/(.)\/+$/,"$1")}const y=l[d];return g&&!y?c[m]=void 0:c[m]=(y||"").replace(/%2F/g,"/"),c},{}),pathname:a,pathnameBase:o,pattern:e}}function U1(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!0),li(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=[],i="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(o,l,s)=>(r.push({paramName:l,isOptional:s!=null}),s?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(r.push({paramName:"*"}),i+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?i+="\\/*$":e!==""&&e!=="/"&&(i+="(?:(?=\\/|$))"),[new RegExp(i,t?void 0:"i"),r]}function $1(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return li(!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}}function dn(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)||"/"}function V1(e,t){t===void 0&&(t="/");let{pathname:n,search:r="",hash:i=""}=typeof e=="string"?gn(e):e;return{pathname:n?n.startsWith("/")?n:B1(n,t):t,search:H1(r),hash:Y1(i)}}function B1(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(i=>{i===".."?n.length>1&&n.pop():i!=="."&&n.push(i)}),n.length>1?n.join("/"):"/"}function rs(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.'}function _h(e){return e.filter((t,n)=>n===0||t.route.path&&t.route.path.length>0)}function jc(e,t){let n=_h(e);return t?n.map((r,i)=>i===e.length-1?r.pathname:r.pathnameBase):n.map(r=>r.pathnameBase)}function Nc(e,t,n,r){r===void 0&&(r=!1);let i;typeof e=="string"?i=gn(e):(i=Pe({},e),Z(!i.pathname||!i.pathname.includes("?"),rs("?","pathname","search",i)),Z(!i.pathname||!i.pathname.includes("#"),rs("#","pathname","hash",i)),Z(!i.search||!i.search.includes("#"),rs("#","search","hash",i)));let a=e===""||i.pathname==="",o=a?"/":i.pathname,l;if(o==null)l=n;else{let d=t.length-1;if(!r&&o.startsWith("..")){let m=o.split("/");for(;m[0]==="..";)m.shift(),d-=1;i.pathname=m.join("/")}l=d>=0?t[d]:"/"}let s=V1(i,l),c=o&&o!=="/"&&o.endsWith("/"),f=(a||o===".")&&n.endsWith("/");return!s.pathname.endsWith("/")&&(c||f)&&(s.pathname+="/"),s}const ln=e=>e.join("/").replace(/\/\/+/g,"/"),W1=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),H1=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,Y1=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;class Cc{constructor(t,n,r,i){i===void 0&&(i=!1),this.status=t,this.statusText=n||"",this.internal=i,r instanceof Error?(this.data=r.toString(),this.error=r):this.data=r}}function Rh(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}const Th=["post","put","patch","delete"],K1=new Set(Th),Q1=["get",...Th],G1=new Set(Q1),X1=new Set([301,302,303,307,308]),J1=new Set([307,308]),is={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},q1={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},ji={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},Oh=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Z1=e=>({hasErrorBoundary:!!e.hasErrorBoundary}),Lh="remix-router-transitions";function e0(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;Z(e.routes.length>0,"You must provide a non-empty routes array to createRouter");let i;if(e.mapRouteProperties)i=e.mapRouteProperties;else if(e.detectErrorBoundary){let b=e.detectErrorBoundary;i=N=>({hasErrorBoundary:b(N)})}else i=Z1;let a={},o=lu(e.routes,i,void 0,a),l,s=e.basename||"/",c=Pe({v7_fetcherPersist:!1,v7_normalizeFormMethod:!1,v7_partialHydration:!1,v7_prependBasename:!1,v7_relativeSplatPath:!1},e.future),f=null,d=new Set,m=null,g=null,y=null,w=e.hydrationData!=null,k=Vr(o,e.history.location,s),h=null;if(k==null){let b=jt(404,{pathname:e.history.location.pathname}),{matches:N,route:T}=xd(o);k=N,h={[T.id]:b}}let p,v=k.some(b=>b.route.lazy),j=k.some(b=>b.route.loader);if(v)p=!1;else if(!j)p=!0;else if(c.v7_partialHydration){let b=e.hydrationData?e.hydrationData.loaderData:null,N=e.hydrationData?e.hydrationData.errors:null,T=D=>D.route.loader?D.route.loader.hydrate===!0?!1:b&&b[D.route.id]!==void 0||N&&N[D.route.id]!==void 0:!0;if(N){let D=k.findIndex(V=>N[V.route.id]!==void 0);p=k.slice(0,D+1).every(T)}else p=k.every(T)}else p=e.hydrationData!=null;let _,x={historyAction:e.history.action,location:e.history.location,matches:k,initialized:p,navigation:is,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||h,fetchers:new Map,blockers:new Map},R=Te.Pop,A=!1,L,z=!1,J=new Map,se=null,he=!1,Ie=!1,Qe=[],dt=[],oe=new Map,I=0,Y=-1,K=new Map,S=new Set,C=new Map,E=new Map,O=new Set,F=new Map,B=new Map,X=!1;function ne(){if(f=e.history.listen(b=>{let{action:N,location:T,delta:D}=b;if(X){X=!1;return}li(B.size===0||D!=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 V=Oa({currentLocation:x.location,nextLocation:T,historyAction:N});if(V&&D!=null){X=!0,e.history.go(D*-1),jr(V,{state:"blocked",location:T,proceed(){jr(V,{state:"proceeding",proceed:void 0,reset:void 0,location:T}),e.history.go(D)},reset(){let ee=new Map(x.blockers);ee.set(V,ji),de({blockers:ee})}});return}return Ze(N,T)}),n){f0(t,J);let b=()=>d0(t,J);t.addEventListener("pagehide",b),se=()=>t.removeEventListener("pagehide",b)}return x.initialized||Ze(Te.Pop,x.location,{initialHydration:!0}),_}function it(){f&&f(),se&&se(),d.clear(),L&&L.abort(),x.fetchers.forEach((b,N)=>Wt(N)),x.blockers.forEach((b,N)=>Ta(N))}function pt(b){return d.add(b),()=>d.delete(b)}function de(b,N){N===void 0&&(N={}),x=Pe({},x,b);let T=[],D=[];c.v7_fetcherPersist&&x.fetchers.forEach((V,ee)=>{V.state==="idle"&&(O.has(ee)?D.push(ee):T.push(ee))}),[...d].forEach(V=>V(x,{deletedFetchers:D,unstable_viewTransitionOpts:N.viewTransitionOpts,unstable_flushSync:N.flushSync===!0})),c.v7_fetcherPersist&&(T.forEach(V=>x.fetchers.delete(V)),D.forEach(V=>Wt(V)))}function Re(b,N,T){var D,V;let{flushSync:ee}=T===void 0?{}:T,G=x.actionData!=null&&x.navigation.formMethod!=null&&It(x.navigation.formMethod)&&x.navigation.state==="loading"&&((D=b.state)==null?void 0:D._isRedirect)!==!0,Q;N.actionData?Object.keys(N.actionData).length>0?Q=N.actionData:Q=null:G?Q=x.actionData:Q=null;let H=N.loaderData?yd(x.loaderData,N.loaderData,N.matches||[],N.errors):x.loaderData,ie=x.blockers;ie.size>0&&(ie=new Map(ie),ie.forEach((pe,Be)=>ie.set(Be,ji)));let ze=A===!0||x.navigation.formMethod!=null&&It(x.navigation.formMethod)&&((V=b.state)==null?void 0:V._isRedirect)!==!0;l&&(o=l,l=void 0),he||R===Te.Pop||(R===Te.Push?e.history.push(b,b.state):R===Te.Replace&&e.history.replace(b,b.state));let q;if(R===Te.Pop){let pe=J.get(x.location.pathname);pe&&pe.has(b.pathname)?q={currentLocation:x.location,nextLocation:b}:J.has(b.pathname)&&(q={currentLocation:b,nextLocation:x.location})}else if(z){let pe=J.get(x.location.pathname);pe?pe.add(b.pathname):(pe=new Set([b.pathname]),J.set(x.location.pathname,pe)),q={currentLocation:x.location,nextLocation:b}}de(Pe({},N,{actionData:Q,loaderData:H,historyAction:R,location:b,initialized:!0,navigation:is,revalidation:"idle",restoreScrollPosition:qc(b,N.matches||x.matches),preventScrollReset:ze,blockers:ie}),{viewTransitionOpts:q,flushSync:ee===!0}),R=Te.Pop,A=!1,z=!1,he=!1,Ie=!1,Qe=[],dt=[]}async function at(b,N){if(typeof b=="number"){e.history.go(b);return}let T=uu(x.location,x.matches,s,c.v7_prependBasename,b,c.v7_relativeSplatPath,N==null?void 0:N.fromRouteId,N==null?void 0:N.relative),{path:D,submission:V,error:ee}=dd(c.v7_normalizeFormMethod,!1,T,N),G=x.location,Q=ca(x.location,D,N&&N.state);Q=Pe({},Q,e.history.encodeLocation(Q));let H=N&&N.replace!=null?N.replace:void 0,ie=Te.Push;H===!0?ie=Te.Replace:H===!1||V!=null&&It(V.formMethod)&&V.formAction===x.location.pathname+x.location.search&&(ie=Te.Replace);let ze=N&&"preventScrollReset"in N?N.preventScrollReset===!0:void 0,q=(N&&N.unstable_flushSync)===!0,pe=Oa({currentLocation:G,nextLocation:Q,historyAction:ie});if(pe){jr(pe,{state:"blocked",location:Q,proceed(){jr(pe,{state:"proceeding",proceed:void 0,reset:void 0,location:Q}),at(b,N)},reset(){let Be=new Map(x.blockers);Be.set(pe,ji),de({blockers:Be})}});return}return await Ze(ie,Q,{submission:V,pendingError:ee,preventScrollReset:ze,replace:N&&N.replace,enableViewTransition:N&&N.unstable_viewTransition,flushSync:q})}function ce(){if(kr(),de({revalidation:"loading"}),x.navigation.state!=="submitting"){if(x.navigation.state==="idle"){Ze(x.historyAction,x.location,{startUninterruptedRevalidation:!0});return}Ze(R||x.historyAction,x.navigation.location,{overrideNavigation:x.navigation})}}async function Ze(b,N,T){L&&L.abort(),L=null,R=b,he=(T&&T.startUninterruptedRevalidation)===!0,Gv(x.location,x.matches),A=(T&&T.preventScrollReset)===!0,z=(T&&T.enableViewTransition)===!0;let D=l||o,V=T&&T.overrideNavigation,ee=Vr(D,N,s),G=(T&&T.flushSync)===!0;if(!ee){let Be=jt(404,{pathname:N.pathname}),{matches:ht,route:Fe}=xd(D);Cl(),Re(N,{matches:ht,loaderData:{},errors:{[Fe.id]:Be}},{flushSync:G});return}if(x.initialized&&!Ie&&a0(x.location,N)&&!(T&&T.submission&&It(T.submission.formMethod))){Re(N,{matches:ee},{flushSync:G});return}L=new AbortController;let Q=Ci(e.history,N,L.signal,T&&T.submission),H,ie;if(T&&T.pendingError)ie={[Wi(ee).route.id]:T.pendingError};else if(T&&T.submission&&It(T.submission.formMethod)){let Be=await Lt(Q,N,T.submission,ee,{replace:T.replace,flushSync:G});if(Be.shortCircuited)return;H=Be.pendingActionData,ie=Be.pendingActionError,V=as(N,T.submission),G=!1,Q=new Request(Q.url,{signal:Q.signal})}let{shortCircuited:ze,loaderData:q,errors:pe}=await Se(Q,N,ee,V,T&&T.submission,T&&T.fetcherSubmission,T&&T.replace,T&&T.initialHydration===!0,G,H,ie);ze||(L=null,Re(N,Pe({matches:ee},H?{actionData:H}:{},{loaderData:q,errors:pe})))}async function Lt(b,N,T,D,V){V===void 0&&(V={}),kr();let ee=u0(N,T);de({navigation:ee},{flushSync:V.flushSync===!0});let G,Q=fu(D,N);if(!Q.route.action&&!Q.route.lazy)G={type:Ne.error,error:jt(405,{method:b.method,pathname:N.pathname,routeId:Q.route.id})};else if(G=await Ni("action",b,Q,D,a,i,s,c.v7_relativeSplatPath),b.signal.aborted)return{shortCircuited:!0};if(lr(G)){let H;return V&&V.replace!=null?H=V.replace:H=G.location===x.location.pathname+x.location.search,await en(x,G,{submission:T,replace:H}),{shortCircuited:!0}}if(Br(G)){let H=Wi(D,Q.route.id);return(V&&V.replace)!==!0&&(R=Te.Push),{pendingActionData:{},pendingActionError:{[H.route.id]:G.error}}}if(or(G))throw jt(400,{type:"defer-action"});return{pendingActionData:{[Q.route.id]:G.data}}}async function Se(b,N,T,D,V,ee,G,Q,H,ie,ze){let q=D||as(N,V),pe=V||ee||kd(q),Be=l||o,[ht,Fe]=pd(e.history,x,T,pe,N,c.v7_partialHydration&&Q===!0,Ie,Qe,dt,O,C,S,Be,s,ie,ze);if(Cl(le=>!(T&&T.some(fe=>fe.route.id===le))||ht&&ht.some(fe=>fe.route.id===le)),Y=++I,ht.length===0&&Fe.length===0){let le=br();return Re(N,Pe({matches:T,loaderData:{},errors:ze||null},ie?{actionData:ie}:{},le?{fetchers:new Map(x.fetchers)}:{}),{flushSync:H}),{shortCircuited:!0}}if(!he&&(!c.v7_partialHydration||!Q)){Fe.forEach(fe=>{let ot=x.fetchers.get(fe.key),Aa=Pi(void 0,ot?ot.data:void 0);x.fetchers.set(fe.key,Aa)});let le=ie||x.actionData;de(Pe({navigation:q},le?Object.keys(le).length===0?{actionData:null}:{actionData:le}:{},Fe.length>0?{fetchers:new Map(x.fetchers)}:{}),{flushSync:H})}Fe.forEach(le=>{oe.has(le.key)&&bt(le.key),le.controller&&oe.set(le.key,le.controller)});let Nr=()=>Fe.forEach(le=>bt(le.key));L&&L.signal.addEventListener("abort",Nr);let{results:Pl,loaderResults:Cr,fetcherResults:kn}=await mt(x.matches,T,ht,Fe,b);if(b.signal.aborted)return{shortCircuited:!0};L&&L.signal.removeEventListener("abort",Nr),Fe.forEach(le=>oe.delete(le.key));let er=wd(Pl);if(er){if(er.idx>=ht.length){let le=Fe[er.idx-ht.length].key;S.add(le)}return await en(x,er.result,{replace:G}),{shortCircuited:!0}}let{loaderData:_l,errors:hi}=gd(x,T,ht,Cr,ze,Fe,kn,F);F.forEach((le,fe)=>{le.subscribe(ot=>{(ot||le.done)&&F.delete(fe)})}),c.v7_partialHydration&&Q&&x.errors&&Object.entries(x.errors).filter(le=>{let[fe]=le;return!ht.some(ot=>ot.route.id===fe)}).forEach(le=>{let[fe,ot]=le;hi=Object.assign(hi||{},{[fe]:ot})});let Rl=br(),Pr=Ra(Y),La=Rl||Pr||Fe.length>0;return Pe({loaderData:_l,errors:hi},La?{fetchers:new Map(x.fetchers)}:{})}function wn(b,N,T,D){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.");oe.has(b)&&bt(b);let V=(D&&D.unstable_flushSync)===!0,ee=l||o,G=uu(x.location,x.matches,s,c.v7_prependBasename,T,c.v7_relativeSplatPath,N,D==null?void 0:D.relative),Q=Vr(ee,G,s);if(!Q){Zn(b,N,jt(404,{pathname:G}),{flushSync:V});return}let{path:H,submission:ie,error:ze}=dd(c.v7_normalizeFormMethod,!0,G,D);if(ze){Zn(b,N,ze,{flushSync:V});return}let q=fu(Q,H);if(A=(D&&D.preventScrollReset)===!0,ie&&It(ie.formMethod)){qn(b,N,H,q,Q,V,ie);return}C.set(b,{routeId:N,path:H}),Zt(b,N,H,q,Q,V,ie)}async function qn(b,N,T,D,V,ee,G){if(kr(),C.delete(b),!D.route.action&&!D.route.lazy){let fe=jt(405,{method:G.formMethod,pathname:T,routeId:N});Zn(b,N,fe,{flushSync:ee});return}let Q=x.fetchers.get(b);Bt(b,c0(G,Q),{flushSync:ee});let H=new AbortController,ie=Ci(e.history,T,H.signal,G);oe.set(b,H);let ze=I,q=await Ni("action",ie,D,V,a,i,s,c.v7_relativeSplatPath);if(ie.signal.aborted){oe.get(b)===H&&oe.delete(b);return}if(c.v7_fetcherPersist&&O.has(b)){if(lr(q)||Br(q)){Bt(b,jn(void 0));return}}else{if(lr(q))if(oe.delete(b),Y>ze){Bt(b,jn(void 0));return}else return S.add(b),Bt(b,Pi(G)),en(x,q,{fetcherSubmission:G});if(Br(q)){Zn(b,N,q.error);return}}if(or(q))throw jt(400,{type:"defer-action"});let pe=x.navigation.location||x.location,Be=Ci(e.history,pe,H.signal),ht=l||o,Fe=x.navigation.state!=="idle"?Vr(ht,x.navigation.location,s):x.matches;Z(Fe,"Didn't find any matches after fetcher action");let Nr=++I;K.set(b,Nr);let Pl=Pi(G,q.data);x.fetchers.set(b,Pl);let[Cr,kn]=pd(e.history,x,Fe,G,pe,!1,Ie,Qe,dt,O,C,S,ht,s,{[D.route.id]:q.data},void 0);kn.filter(fe=>fe.key!==b).forEach(fe=>{let ot=fe.key,Aa=x.fetchers.get(ot),Jv=Pi(void 0,Aa?Aa.data:void 0);x.fetchers.set(ot,Jv),oe.has(ot)&&bt(ot),fe.controller&&oe.set(ot,fe.controller)}),de({fetchers:new Map(x.fetchers)});let er=()=>kn.forEach(fe=>bt(fe.key));H.signal.addEventListener("abort",er);let{results:_l,loaderResults:hi,fetcherResults:Rl}=await mt(x.matches,Fe,Cr,kn,Be);if(H.signal.aborted)return;H.signal.removeEventListener("abort",er),K.delete(b),oe.delete(b),kn.forEach(fe=>oe.delete(fe.key));let Pr=wd(_l);if(Pr){if(Pr.idx>=Cr.length){let fe=kn[Pr.idx-Cr.length].key;S.add(fe)}return en(x,Pr.result)}let{loaderData:La,errors:le}=gd(x,x.matches,Cr,hi,void 0,kn,Rl,F);if(x.fetchers.has(b)){let fe=jn(q.data);x.fetchers.set(b,fe)}Ra(Nr),x.navigation.state==="loading"&&Nr>Y?(Z(R,"Expected pending action"),L&&L.abort(),Re(x.navigation.location,{matches:Fe,loaderData:La,errors:le,fetchers:new Map(x.fetchers)})):(de({errors:le,loaderData:yd(x.loaderData,La,Fe,le),fetchers:new Map(x.fetchers)}),Ie=!1)}async function Zt(b,N,T,D,V,ee,G){let Q=x.fetchers.get(b);Bt(b,Pi(G,Q?Q.data:void 0),{flushSync:ee});let H=new AbortController,ie=Ci(e.history,T,H.signal);oe.set(b,H);let ze=I,q=await Ni("loader",ie,D,V,a,i,s,c.v7_relativeSplatPath);if(or(q)&&(q=await Dh(q,ie.signal,!0)||q),oe.get(b)===H&&oe.delete(b),!ie.signal.aborted){if(O.has(b)){Bt(b,jn(void 0));return}if(lr(q))if(Y>ze){Bt(b,jn(void 0));return}else{S.add(b),await en(x,q);return}if(Br(q)){Zn(b,N,q.error);return}Z(!or(q),"Unhandled fetcher deferred data"),Bt(b,jn(q.data))}}async function en(b,N,T){let{submission:D,fetcherSubmission:V,replace:ee}=T===void 0?{}:T;N.revalidate&&(Ie=!0);let G=ca(b.location,N.location,{_isRedirect:!0});if(Z(G,"Expected a location on the redirect navigation"),n){let pe=!1;if(N.reloadDocument)pe=!0;else if(Oh.test(N.location)){const Be=e.history.createURL(N.location);pe=Be.origin!==t.location.origin||dn(Be.pathname,s)==null}if(pe){ee?t.location.replace(N.location):t.location.assign(N.location);return}}L=null;let Q=ee===!0?Te.Replace:Te.Push,{formMethod:H,formAction:ie,formEncType:ze}=b.navigation;!D&&!V&&H&&ie&&ze&&(D=kd(b.navigation));let q=D||V;if(J1.has(N.status)&&q&&It(q.formMethod))await Ze(Q,G,{submission:Pe({},q,{formAction:N.location}),preventScrollReset:A});else{let pe=as(G,D);await Ze(Q,G,{overrideNavigation:pe,fetcherSubmission:V,preventScrollReset:A})}}async function mt(b,N,T,D,V){let ee=await Promise.all([...T.map(H=>Ni("loader",V,H,N,a,i,s,c.v7_relativeSplatPath)),...D.map(H=>H.matches&&H.match&&H.controller?Ni("loader",Ci(e.history,H.path,H.controller.signal),H.match,H.matches,a,i,s,c.v7_relativeSplatPath):{type:Ne.error,error:jt(404,{pathname:H.path})})]),G=ee.slice(0,T.length),Q=ee.slice(T.length);return await Promise.all([Sd(b,T,G,G.map(()=>V.signal),!1,x.loaderData),Sd(b,D.map(H=>H.match),Q,D.map(H=>H.controller?H.controller.signal:null),!0)]),{results:ee,loaderResults:G,fetcherResults:Q}}function kr(){Ie=!0,Qe.push(...Cl()),C.forEach((b,N)=>{oe.has(N)&&(dt.push(N),bt(N))})}function Bt(b,N,T){T===void 0&&(T={}),x.fetchers.set(b,N),de({fetchers:new Map(x.fetchers)},{flushSync:(T&&T.flushSync)===!0})}function Zn(b,N,T,D){D===void 0&&(D={});let V=Wi(x.matches,N);Wt(b),de({errors:{[V.route.id]:T},fetchers:new Map(x.fetchers)},{flushSync:(D&&D.flushSync)===!0})}function Sn(b){return c.v7_fetcherPersist&&(E.set(b,(E.get(b)||0)+1),O.has(b)&&O.delete(b)),x.fetchers.get(b)||q1}function Wt(b){let N=x.fetchers.get(b);oe.has(b)&&!(N&&N.state==="loading"&&K.has(b))&&bt(b),C.delete(b),K.delete(b),S.delete(b),O.delete(b),x.fetchers.delete(b)}function mi(b){if(c.v7_fetcherPersist){let N=(E.get(b)||0)-1;N<=0?(E.delete(b),O.add(b)):E.set(b,N)}else Wt(b);de({fetchers:new Map(x.fetchers)})}function bt(b){let N=oe.get(b);Z(N,"Expected fetch controller: "+b),N.abort(),oe.delete(b)}function Er(b){for(let N of b){let T=Sn(N),D=jn(T.data);x.fetchers.set(N,D)}}function br(){let b=[],N=!1;for(let T of S){let D=x.fetchers.get(T);Z(D,"Expected fetcher: "+T),D.state==="loading"&&(S.delete(T),b.push(T),N=!0)}return Er(b),N}function Ra(b){let N=[];for(let[T,D]of K)if(D0}function Nl(b,N){let T=x.blockers.get(b)||ji;return B.get(b)!==N&&B.set(b,N),T}function Ta(b){x.blockers.delete(b),B.delete(b)}function jr(b,N){let T=x.blockers.get(b)||ji;Z(T.state==="unblocked"&&N.state==="blocked"||T.state==="blocked"&&N.state==="blocked"||T.state==="blocked"&&N.state==="proceeding"||T.state==="blocked"&&N.state==="unblocked"||T.state==="proceeding"&&N.state==="unblocked","Invalid blocker state transition: "+T.state+" -> "+N.state);let D=new Map(x.blockers);D.set(b,N),de({blockers:D})}function Oa(b){let{currentLocation:N,nextLocation:T,historyAction:D}=b;if(B.size===0)return;B.size>1&&li(!1,"A router only supports one blocker at a time");let V=Array.from(B.entries()),[ee,G]=V[V.length-1],Q=x.blockers.get(ee);if(!(Q&&Q.state==="proceeding")&&G({currentLocation:N,nextLocation:T,historyAction:D}))return ee}function Cl(b){let N=[];return F.forEach((T,D)=>{(!b||b(D))&&(T.cancel(),N.push(D),F.delete(D))}),N}function Qv(b,N,T){if(m=b,y=N,g=T||null,!w&&x.navigation===is){w=!0;let D=qc(x.location,x.matches);D!=null&&de({restoreScrollPosition:D})}return()=>{m=null,y=null,g=null}}function Jc(b,N){return g&&g(b,N.map(D=>_1(D,x.loaderData)))||b.key}function Gv(b,N){if(m&&y){let T=Jc(b,N);m[T]=y()}}function qc(b,N){if(m){let T=Jc(b,N),D=m[T];if(typeof D=="number")return D}return null}function Xv(b){a={},l=lu(b,i,void 0,a)}return _={get basename(){return s},get future(){return c},get state(){return x},get routes(){return o},get window(){return t},initialize:ne,subscribe:pt,enableScrollRestoration:Qv,navigate:at,fetch:wn,revalidate:ce,createHref:b=>e.history.createHref(b),encodeLocation:b=>e.history.encodeLocation(b),getFetcher:Sn,deleteFetcher:mi,dispose:it,getBlocker:Nl,deleteBlocker:Ta,_internalFetchControllers:oe,_internalActiveDeferreds:F,_internalSetRoutes:Xv},_}function t0(e){return e!=null&&("formData"in e&&e.formData!=null||"body"in e&&e.body!==void 0)}function uu(e,t,n,r,i,a,o,l){let s,c;if(o){s=[];for(let d of t)if(s.push(d),d.route.id===o){c=d;break}}else s=t,c=t[t.length-1];let f=Nc(i||".",jc(s,a),dn(e.pathname,n)||e.pathname,l==="path");return i==null&&(f.search=e.search,f.hash=e.hash),(i==null||i===""||i===".")&&c&&c.route.index&&!Pc(f.search)&&(f.search=f.search?f.search.replace(/^\?/,"?index&"):"?index"),r&&n!=="/"&&(f.pathname=f.pathname==="/"?n:ln([n,f.pathname])),gr(f)}function dd(e,t,n,r){if(!r||!t0(r))return{path:n};if(r.formMethod&&!s0(r.formMethod))return{path:n,error:jt(405,{method:r.formMethod})};let i=()=>({path:n,error:jt(400,{type:"invalid-body"})}),a=r.formMethod||"get",o=e?a.toUpperCase():a.toLowerCase(),l=Mh(n);if(r.body!==void 0){if(r.formEncType==="text/plain"){if(!It(o))return i();let m=typeof r.body=="string"?r.body:r.body instanceof FormData||r.body instanceof URLSearchParams?Array.from(r.body.entries()).reduce((g,y)=>{let[w,k]=y;return""+g+w+"="+k+` +`},""):String(r.body);return{path:n,submission:{formMethod:o,formAction:l,formEncType:r.formEncType,formData:void 0,json:void 0,text:m}}}else if(r.formEncType==="application/json"){if(!It(o))return i();try{let m=typeof r.body=="string"?JSON.parse(r.body):r.body;return{path:n,submission:{formMethod:o,formAction:l,formEncType:r.formEncType,formData:void 0,json:m,text:void 0}}}catch{return i()}}}Z(typeof FormData=="function","FormData is not available in this environment");let s,c;if(r.formData)s=cu(r.formData),c=r.formData;else if(r.body instanceof FormData)s=cu(r.body),c=r.body;else if(r.body instanceof URLSearchParams)s=r.body,c=vd(s);else if(r.body==null)s=new URLSearchParams,c=new FormData;else try{s=new URLSearchParams(r.body),c=vd(s)}catch{return i()}let f={formMethod:o,formAction:l,formEncType:r&&r.formEncType||"application/x-www-form-urlencoded",formData:c,json:void 0,text:void 0};if(It(f.formMethod))return{path:n,submission:f};let d=gn(n);return t&&d.search&&Pc(d.search)&&s.append("index",""),d.search="?"+s,{path:gr(d),submission:f}}function n0(e,t){let n=e;if(t){let r=e.findIndex(i=>i.route.id===t);r>=0&&(n=e.slice(0,r))}return n}function pd(e,t,n,r,i,a,o,l,s,c,f,d,m,g,y,w){let k=w?Object.values(w)[0]:y?Object.values(y)[0]:void 0,h=e.createURL(t.location),p=e.createURL(i),v=w?Object.keys(w)[0]:void 0,_=n0(n,v).filter((R,A)=>{let{route:L}=R;if(L.lazy)return!0;if(L.loader==null)return!1;if(a)return L.loader.hydrate?!0:t.loaderData[L.id]===void 0&&(!t.errors||t.errors[L.id]===void 0);if(r0(t.loaderData,t.matches[A],R)||l.some(se=>se===R.route.id))return!0;let z=t.matches[A],J=R;return md(R,Pe({currentUrl:h,currentParams:z.params,nextUrl:p,nextParams:J.params},r,{actionResult:k,defaultShouldRevalidate:o||h.pathname+h.search===p.pathname+p.search||h.search!==p.search||Ah(z,J)}))}),x=[];return f.forEach((R,A)=>{if(a||!n.some(he=>he.route.id===R.routeId)||c.has(A))return;let L=Vr(m,R.path,g);if(!L){x.push({key:A,routeId:R.routeId,path:R.path,matches:null,match:null,controller:null});return}let z=t.fetchers.get(A),J=fu(L,R.path),se=!1;d.has(A)?se=!1:s.includes(A)?se=!0:z&&z.state!=="idle"&&z.data===void 0?se=o:se=md(J,Pe({currentUrl:h,currentParams:t.matches[t.matches.length-1].params,nextUrl:p,nextParams:n[n.length-1].params},r,{actionResult:k,defaultShouldRevalidate:o})),se&&x.push({key:A,routeId:R.routeId,path:R.path,matches:L,match:J,controller:new AbortController})}),[_,x]}function r0(e,t,n){let r=!t||n.route.id!==t.route.id,i=e[n.route.id]===void 0;return r||i}function Ah(e,t){let n=e.route.path;return e.pathname!==t.pathname||n!=null&&n.endsWith("*")&&e.params["*"]!==t.params["*"]}function md(e,t){if(e.route.shouldRevalidate){let n=e.route.shouldRevalidate(t);if(typeof n=="boolean")return n}return t.defaultShouldRevalidate}async function hd(e,t,n){if(!e.lazy)return;let r=await e.lazy();if(!e.lazy)return;let i=n[e.id];Z(i,"No route found in manifest");let a={};for(let o in r){let s=i[o]!==void 0&&o!=="hasErrorBoundary";li(!s,'Route "'+i.id+'" has a static property "'+o+'" defined but its lazy function is also returning a value for this property. '+('The lazy route property "'+o+'" will be ignored.')),!s&&!C1.has(o)&&(a[o]=r[o])}Object.assign(i,a),Object.assign(i,Pe({},t(i),{lazy:void 0}))}async function Ni(e,t,n,r,i,a,o,l,s){s===void 0&&(s={});let c,f,d,m=w=>{let k,h=new Promise((p,v)=>k=v);return d=()=>k(),t.signal.addEventListener("abort",d),Promise.race([w({request:t,params:n.params,context:s.requestContext}),h])};try{let w=n.route[e];if(n.route.lazy)if(w){let k,h=await Promise.all([m(w).catch(p=>{k=p}),hd(n.route,a,i)]);if(k)throw k;f=h[0]}else if(await hd(n.route,a,i),w=n.route[e],w)f=await m(w);else if(e==="action"){let k=new URL(t.url),h=k.pathname+k.search;throw jt(405,{method:t.method,pathname:h,routeId:n.route.id})}else return{type:Ne.data,data:void 0};else if(w)f=await m(w);else{let k=new URL(t.url),h=k.pathname+k.search;throw jt(404,{pathname:h})}Z(f!==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(w){c=Ne.error,f=w}finally{d&&t.signal.removeEventListener("abort",d)}if(l0(f)){let w=f.status;if(X1.has(w)){let h=f.headers.get("Location");if(Z(h,"Redirects returned/thrown from loaders/actions must have a Location header"),!Oh.test(h))h=uu(new URL(t.url),r.slice(0,r.indexOf(n)+1),o,!0,h,l);else if(!s.isStaticRequest){let p=new URL(t.url),v=h.startsWith("//")?new URL(p.protocol+h):new URL(h),j=dn(v.pathname,o)!=null;v.origin===p.origin&&j&&(h=v.pathname+v.search+v.hash)}if(s.isStaticRequest)throw f.headers.set("Location",h),f;return{type:Ne.redirect,status:w,location:h,revalidate:f.headers.get("X-Remix-Revalidate")!==null,reloadDocument:f.headers.get("X-Remix-Reload-Document")!==null}}if(s.isRouteRequest)throw{type:c===Ne.error?Ne.error:Ne.data,response:f};let k;try{let h=f.headers.get("Content-Type");h&&/\bapplication\/json\b/.test(h)?f.body==null?k=null:k=await f.json():k=await f.text()}catch(h){return{type:Ne.error,error:h}}return c===Ne.error?{type:c,error:new Cc(w,f.statusText,k),headers:f.headers}:{type:Ne.data,data:k,statusCode:f.status,headers:f.headers}}if(c===Ne.error)return{type:c,error:f};if(o0(f)){var g,y;return{type:Ne.deferred,deferredData:f,statusCode:(g=f.init)==null?void 0:g.status,headers:((y=f.init)==null?void 0:y.headers)&&new Headers(f.init.headers)}}return{type:Ne.data,data:f}}function Ci(e,t,n,r){let i=e.createURL(Mh(t)).toString(),a={signal:n};if(r&&It(r.formMethod)){let{formMethod:o,formEncType:l}=r;a.method=o.toUpperCase(),l==="application/json"?(a.headers=new Headers({"Content-Type":l}),a.body=JSON.stringify(r.json)):l==="text/plain"?a.body=r.text:l==="application/x-www-form-urlencoded"&&r.formData?a.body=cu(r.formData):a.body=r.formData}return new Request(i,a)}function cu(e){let t=new URLSearchParams;for(let[n,r]of e.entries())t.append(n,typeof r=="string"?r:r.name);return t}function vd(e){let t=new FormData;for(let[n,r]of e.entries())t.append(n,r);return t}function i0(e,t,n,r,i){let a={},o=null,l,s=!1,c={};return n.forEach((f,d)=>{let m=t[d].route.id;if(Z(!lr(f),"Cannot handle redirect results in processLoaderData"),Br(f)){let g=Wi(e,m),y=f.error;r&&(y=Object.values(r)[0],r=void 0),o=o||{},o[g.route.id]==null&&(o[g.route.id]=y),a[m]=void 0,s||(s=!0,l=Rh(f.error)?f.error.status:500),f.headers&&(c[m]=f.headers)}else or(f)?(i.set(m,f.deferredData),a[m]=f.deferredData.data):a[m]=f.data,f.statusCode!=null&&f.statusCode!==200&&!s&&(l=f.statusCode),f.headers&&(c[m]=f.headers)}),r&&(o=r,a[Object.keys(r)[0]]=void 0),{loaderData:a,errors:o,statusCode:l||200,loaderHeaders:c}}function gd(e,t,n,r,i,a,o,l){let{loaderData:s,errors:c}=i0(t,n,r,i,l);for(let f=0;fr.route.id===t)+1):[...e]).reverse().find(r=>r.route.hasErrorBoundary===!0)||e[0]}function xd(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}}function jt(e,t){let{pathname:n,routeId:r,method:i,type:a}=t===void 0?{}:t,o="Unknown Server Error",l="Unknown @remix-run/router error";return e===400?(o="Bad Request",i&&n&&r?l="You made a "+i+' request to "'+n+'" but '+('did not provide a `loader` for route "'+r+'", ')+"so there is no way to handle the request.":a==="defer-action"?l="defer() is not supported in actions":a==="invalid-body"&&(l="Unable to encode submission body")):e===403?(o="Forbidden",l='Route "'+r+'" does not match URL "'+n+'"'):e===404?(o="Not Found",l='No route matches URL "'+n+'"'):e===405&&(o="Method Not Allowed",i&&n&&r?l="You made a "+i.toUpperCase()+' request to "'+n+'" but '+('did not provide an `action` for route "'+r+'", ')+"so there is no way to handle the request.":i&&(l='Invalid request method "'+i.toUpperCase()+'"')),new Cc(e||500,o,new Error(l),!0)}function wd(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(lr(n))return{result:n,idx:t}}}function Mh(e){let t=typeof e=="string"?gn(e):e;return gr(Pe({},t,{hash:""}))}function a0(e,t){return e.pathname!==t.pathname||e.search!==t.search?!1:e.hash===""?t.hash!=="":e.hash===t.hash?!0:t.hash!==""}function or(e){return e.type===Ne.deferred}function Br(e){return e.type===Ne.error}function lr(e){return(e&&e.type)===Ne.redirect}function o0(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"}function l0(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.headers=="object"&&typeof e.body<"u"}function s0(e){return G1.has(e.toLowerCase())}function It(e){return K1.has(e.toLowerCase())}async function Sd(e,t,n,r,i,a){for(let o=0;od.route.id===s.route.id),f=c!=null&&!Ah(c,s)&&(a&&a[s.route.id])!==void 0;if(or(l)&&(i||f)){let d=r[o];Z(d,"Expected an AbortSignal for revalidating fetcher deferred result"),await Dh(l,d,i).then(m=>{m&&(n[o]=m||n[o])})}}}async function Dh(e,t,n){if(n===void 0&&(n=!1),!await e.deferredData.resolveData(t)){if(n)try{return{type:Ne.data,data:e.deferredData.unwrappedData}}catch(i){return{type:Ne.error,error:i}}return{type:Ne.data,data:e.deferredData.data}}}function Pc(e){return new URLSearchParams(e).getAll("index").some(t=>t==="")}function fu(e,t){let n=typeof t=="string"?gn(t).search:t.search;if(e[e.length-1].route.index&&Pc(n||""))return e[e.length-1];let r=_h(e);return r[r.length-1]}function kd(e){let{formMethod:t,formAction:n,formEncType:r,text:i,formData:a,json:o}=e;if(!(!t||!n||!r)){if(i!=null)return{formMethod:t,formAction:n,formEncType:r,formData:void 0,json:void 0,text:i};if(a!=null)return{formMethod:t,formAction:n,formEncType:r,formData:a,json:void 0,text:void 0};if(o!==void 0)return{formMethod:t,formAction:n,formEncType:r,formData:void 0,json:o,text:void 0}}}function as(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}}function u0(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}}function Pi(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}}function c0(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}}function jn(e){return{state:"idle",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:e}}function f0(e,t){try{let n=e.sessionStorage.getItem(Lh);if(n){let r=JSON.parse(n);for(let[i,a]of Object.entries(r||{}))a&&Array.isArray(a)&&t.set(i,new Set(a||[]))}}catch{}}function d0(e,t){if(t.size>0){let n={};for(let[r,i]of t)n[r]=[...i];try{e.sessionStorage.setItem(Lh,JSON.stringify(n))}catch(r){li(!1,"Failed to save applied view transitions in sessionStorage ("+r+").")}}}/** * React Router v6.22.3 * * Copyright (c) Remix Software Inc. @@ -56,7 +56,7 @@ Error generating stack: `+a.message+` * LICENSE.md file in the root directory of this source tree. * * @license MIT - */function fa(){return fa=Object.assign?Object.assign.bind():function(e){for(var t=1;t{l.current=!0}),_.useCallback(function(c,f){if(f===void 0&&(f={}),!l.current)return;if(typeof c=="number"){r.go(c);return}let d=Nc(c,JSON.parse(o),a,f.relative==="path");e==null&&t!=="/"&&(d.pathname=d.pathname==="/"?t:ln([t,d.pathname])),(f.replace?r.replace:r.push)(d,f.state,f)},[t,r,o,a,e])}const h0=_.createContext(null);function v0(e){let t=_.useContext(yn).outlet;return t&&_.createElement(h0.Provider,{value:e},t)}function g0(){let{matches:e}=_.useContext(yn),t=e[e.length-1];return t?t.params:{}}function yl(e,t){let{relative:n}=t===void 0?{}:t,{future:r}=_.useContext(Xn),{matches:i}=_.useContext(yn),{pathname:a}=Jn(),o=JSON.stringify(jc(i,r.v7_relativeSplatPath));return _.useMemo(()=>Nc(e,JSON.parse(o),a,n==="path"),[e,o,a,n])}function y0(e,t,n,r){ba()||q(!1);let{navigator:i}=_.useContext(Xn),{matches:a}=_.useContext(yn),o=a[a.length-1],l=o?o.params:{};o&&o.pathname;let s=o?o.pathnameBase:"/";o&&o.route;let c=Jn(),f;if(t){var d;let E=typeof t=="string"?gn(t):t;s==="/"||(d=E.pathname)!=null&&d.startsWith(s)||q(!1),f=E}else f=c;let m=f.pathname||"/",g=m;if(s!=="/"){let E=s.replace(/^\//,"").split("/");g="/"+m.replace(/^\//,"").split("/").slice(E.length).join("/")}let y=Vr(e,{pathname:g}),w=E0(y&&y.map(E=>Object.assign({},E,{params:Object.assign({},l,E.params),pathname:ln([s,i.encodeLocation?i.encodeLocation(E.pathname).pathname:E.pathname]),pathnameBase:E.pathnameBase==="/"?s:ln([s,i.encodeLocation?i.encodeLocation(E.pathnameBase).pathname:E.pathnameBase])})),a,n,r);return t&&w?_.createElement(gl.Provider,{value:{location:fa({pathname:"/",search:"",hash:"",state:null,key:"default"},f),navigationType:Te.Pop}},w):w}function x0(){let e=C0(),t=Rh(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,i={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"},a=null;return _.createElement(_.Fragment,null,_.createElement("h2",null,"Unexpected Application Error!"),_.createElement("h3",{style:{fontStyle:"italic"}},t),n?_.createElement("pre",{style:i},n):null,a)}const w0=_.createElement(x0,null);class S0 extends _.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?_.createElement(yn.Provider,{value:this.props.routeContext},_.createElement(Ih.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function k0(e){let{routeContext:t,match:n,children:r}=e,i=_.useContext(Ea);return i&&i.static&&i.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(i.staticContext._deepestRenderedBoundaryId=n.route.id),_.createElement(yn.Provider,{value:t},r)}function E0(e,t,n,r){var i;if(t===void 0&&(t=[]),n===void 0&&(n=null),r===void 0&&(r=null),e==null){var a;if((a=n)!=null&&a.errors)e=n.matches;else return null}let o=e,l=(i=n)==null?void 0:i.errors;if(l!=null){let f=o.findIndex(d=>d.route.id&&(l==null?void 0:l[d.route.id]));f>=0||q(!1),o=o.slice(0,Math.min(o.length,f+1))}let s=!1,c=-1;if(n&&r&&r.v7_partialHydration)for(let f=0;f=0?o=o.slice(0,c+1):o=[o[0]];break}}}return o.reduceRight((f,d,m)=>{let g,y=!1,w=null,E=null;n&&(g=l&&d.route.id?l[d.route.id]:void 0,w=d.route.errorElement||w0,s&&(c<0&&m===0?(_0("route-fallback",!1),y=!0,E=null):c===m&&(y=!0,E=d.route.hydrateFallbackElement||null)));let h=t.concat(o.slice(0,m+1)),p=()=>{let v;return g?v=w:y?v=E:d.route.Component?v=_.createElement(d.route.Component,null):d.route.element?v=d.route.element:v=f,_.createElement(k0,{match:d,routeContext:{outlet:f,matches:h,isDataRoute:n!=null},children:v})};return n&&(d.route.ErrorBoundary||d.route.errorElement||m===0)?_.createElement(S0,{location:n.location,revalidation:n.revalidation,component:w,error:g,children:p(),routeContext:{outlet:null,matches:h,isDataRoute:!0}}):p()},null)}var Fh=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(Fh||{}),Go=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}(Go||{});function b0(e){let t=_.useContext(Ea);return t||q(!1),t}function j0(e){let t=_.useContext(_c);return t||q(!1),t}function N0(e){let t=_.useContext(yn);return t||q(!1),t}function Uh(e){let t=N0(),n=t.matches[t.matches.length-1];return n.route.id||q(!1),n.route.id}function C0(){var e;let t=_.useContext(Ih),n=j0(Go.UseRouteError),r=Uh(Go.UseRouteError);return t!==void 0?t:(e=n.errors)==null?void 0:e[r]}function P0(){let{router:e}=b0(Fh.UseNavigateStable),t=Uh(Go.UseNavigateStable),n=_.useRef(!1);return zh(()=>{n.current=!0}),_.useCallback(function(i,a){a===void 0&&(a={}),n.current&&(typeof i=="number"?e.navigate(i):e.navigate(i,fa({fromRouteId:t},a)))},[e,t])}const Ed={};function _0(e,t,n){!t&&!Ed[e]&&(Ed[e]=!0)}function R0(e){return v0(e.context)}function T0(e){let{basename:t="/",children:n=null,location:r,navigationType:i=Te.Pop,navigator:a,static:o=!1,future:l}=e;ba()&&q(!1);let s=t.replace(/^\/*/,"/"),c=_.useMemo(()=>({basename:s,navigator:a,static:o,future:fa({v7_relativeSplatPath:!1},l)}),[s,l,a,o]);typeof r=="string"&&(r=gn(r));let{pathname:f="/",search:d="",hash:m="",state:g=null,key:y="default"}=r,w=_.useMemo(()=>{let E=dn(f,s);return E==null?null:{location:{pathname:E,search:d,hash:m,state:g,key:y},navigationType:i}},[s,f,d,m,g,y,i]);return w==null?null:_.createElement(Xn.Provider,{value:c},_.createElement(gl.Provider,{children:n,value:w}))}new Promise(()=>{});function O0(e){let t={hasErrorBoundary:e.ErrorBoundary!=null||e.errorElement!=null};return e.Component&&Object.assign(t,{element:_.createElement(e.Component),Component:void 0}),e.HydrateFallback&&Object.assign(t,{hydrateFallbackElement:_.createElement(e.HydrateFallback),HydrateFallback:void 0}),e.ErrorBoundary&&Object.assign(t,{errorElement:_.createElement(e.ErrorBoundary),ErrorBoundary:void 0}),t}/** + */function fa(){return fa=Object.assign?Object.assign.bind():function(e){for(var t=1;t{l.current=!0}),P.useCallback(function(c,f){if(f===void 0&&(f={}),!l.current)return;if(typeof c=="number"){r.go(c);return}let d=Nc(c,JSON.parse(o),a,f.relative==="path");e==null&&t!=="/"&&(d.pathname=d.pathname==="/"?t:ln([t,d.pathname])),(f.replace?r.replace:r.push)(d,f.state,f)},[t,r,o,a,e])}const h0=P.createContext(null);function v0(e){let t=P.useContext(yn).outlet;return t&&P.createElement(h0.Provider,{value:e},t)}function g0(){let{matches:e}=P.useContext(yn),t=e[e.length-1];return t?t.params:{}}function yl(e,t){let{relative:n}=t===void 0?{}:t,{future:r}=P.useContext(Xn),{matches:i}=P.useContext(yn),{pathname:a}=Jn(),o=JSON.stringify(jc(i,r.v7_relativeSplatPath));return P.useMemo(()=>Nc(e,JSON.parse(o),a,n==="path"),[e,o,a,n])}function y0(e,t,n,r){ba()||Z(!1);let{navigator:i}=P.useContext(Xn),{matches:a}=P.useContext(yn),o=a[a.length-1],l=o?o.params:{};o&&o.pathname;let s=o?o.pathnameBase:"/";o&&o.route;let c=Jn(),f;if(t){var d;let k=typeof t=="string"?gn(t):t;s==="/"||(d=k.pathname)!=null&&d.startsWith(s)||Z(!1),f=k}else f=c;let m=f.pathname||"/",g=m;if(s!=="/"){let k=s.replace(/^\//,"").split("/");g="/"+m.replace(/^\//,"").split("/").slice(k.length).join("/")}let y=Vr(e,{pathname:g}),w=E0(y&&y.map(k=>Object.assign({},k,{params:Object.assign({},l,k.params),pathname:ln([s,i.encodeLocation?i.encodeLocation(k.pathname).pathname:k.pathname]),pathnameBase:k.pathnameBase==="/"?s:ln([s,i.encodeLocation?i.encodeLocation(k.pathnameBase).pathname:k.pathnameBase])})),a,n,r);return t&&w?P.createElement(gl.Provider,{value:{location:fa({pathname:"/",search:"",hash:"",state:null,key:"default"},f),navigationType:Te.Pop}},w):w}function x0(){let e=C0(),t=Rh(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,i={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"},a=null;return P.createElement(P.Fragment,null,P.createElement("h2",null,"Unexpected Application Error!"),P.createElement("h3",{style:{fontStyle:"italic"}},t),n?P.createElement("pre",{style:i},n):null,a)}const w0=P.createElement(x0,null);class S0 extends P.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?P.createElement(yn.Provider,{value:this.props.routeContext},P.createElement(Ih.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function k0(e){let{routeContext:t,match:n,children:r}=e,i=P.useContext(Ea);return i&&i.static&&i.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(i.staticContext._deepestRenderedBoundaryId=n.route.id),P.createElement(yn.Provider,{value:t},r)}function E0(e,t,n,r){var i;if(t===void 0&&(t=[]),n===void 0&&(n=null),r===void 0&&(r=null),e==null){var a;if((a=n)!=null&&a.errors)e=n.matches;else return null}let o=e,l=(i=n)==null?void 0:i.errors;if(l!=null){let f=o.findIndex(d=>d.route.id&&(l==null?void 0:l[d.route.id]));f>=0||Z(!1),o=o.slice(0,Math.min(o.length,f+1))}let s=!1,c=-1;if(n&&r&&r.v7_partialHydration)for(let f=0;f=0?o=o.slice(0,c+1):o=[o[0]];break}}}return o.reduceRight((f,d,m)=>{let g,y=!1,w=null,k=null;n&&(g=l&&d.route.id?l[d.route.id]:void 0,w=d.route.errorElement||w0,s&&(c<0&&m===0?(_0("route-fallback",!1),y=!0,k=null):c===m&&(y=!0,k=d.route.hydrateFallbackElement||null)));let h=t.concat(o.slice(0,m+1)),p=()=>{let v;return g?v=w:y?v=k:d.route.Component?v=P.createElement(d.route.Component,null):d.route.element?v=d.route.element:v=f,P.createElement(k0,{match:d,routeContext:{outlet:f,matches:h,isDataRoute:n!=null},children:v})};return n&&(d.route.ErrorBoundary||d.route.errorElement||m===0)?P.createElement(S0,{location:n.location,revalidation:n.revalidation,component:w,error:g,children:p(),routeContext:{outlet:null,matches:h,isDataRoute:!0}}):p()},null)}var Fh=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(Fh||{}),Go=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}(Go||{});function b0(e){let t=P.useContext(Ea);return t||Z(!1),t}function j0(e){let t=P.useContext(_c);return t||Z(!1),t}function N0(e){let t=P.useContext(yn);return t||Z(!1),t}function Uh(e){let t=N0(),n=t.matches[t.matches.length-1];return n.route.id||Z(!1),n.route.id}function C0(){var e;let t=P.useContext(Ih),n=j0(Go.UseRouteError),r=Uh(Go.UseRouteError);return t!==void 0?t:(e=n.errors)==null?void 0:e[r]}function P0(){let{router:e}=b0(Fh.UseNavigateStable),t=Uh(Go.UseNavigateStable),n=P.useRef(!1);return zh(()=>{n.current=!0}),P.useCallback(function(i,a){a===void 0&&(a={}),n.current&&(typeof i=="number"?e.navigate(i):e.navigate(i,fa({fromRouteId:t},a)))},[e,t])}const Ed={};function _0(e,t,n){!t&&!Ed[e]&&(Ed[e]=!0)}function R0(e){return v0(e.context)}function T0(e){let{basename:t="/",children:n=null,location:r,navigationType:i=Te.Pop,navigator:a,static:o=!1,future:l}=e;ba()&&Z(!1);let s=t.replace(/^\/*/,"/"),c=P.useMemo(()=>({basename:s,navigator:a,static:o,future:fa({v7_relativeSplatPath:!1},l)}),[s,l,a,o]);typeof r=="string"&&(r=gn(r));let{pathname:f="/",search:d="",hash:m="",state:g=null,key:y="default"}=r,w=P.useMemo(()=>{let k=dn(f,s);return k==null?null:{location:{pathname:k,search:d,hash:m,state:g,key:y},navigationType:i}},[s,f,d,m,g,y,i]);return w==null?null:P.createElement(Xn.Provider,{value:c},P.createElement(gl.Provider,{children:n,value:w}))}new Promise(()=>{});function O0(e){let t={hasErrorBoundary:e.ErrorBoundary!=null||e.errorElement!=null};return e.Component&&Object.assign(t,{element:P.createElement(e.Component),Component:void 0}),e.HydrateFallback&&Object.assign(t,{hydrateFallbackElement:P.createElement(e.HydrateFallback),HydrateFallback:void 0}),e.ErrorBoundary&&Object.assign(t,{errorElement:P.createElement(e.ErrorBoundary),ErrorBoundary:void 0}),t}/** * React Router DOM v6.22.3 * * Copyright (c) Remix Software Inc. @@ -65,9 +65,9 @@ Error generating stack: `+a.message+` * LICENSE.md file in the root directory of this source tree. * * @license MIT - */function si(){return si=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&(n[i]=e[i]);return n}function L0(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function A0(e,t){return e.button===0&&(!t||t==="_self")&&!L0(e)}const M0=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","unstable_viewTransition"],D0=["aria-current","caseSensitive","className","end","style","to","unstable_viewTransition","children"],I0="6";try{window.__reactRouterVersion=I0}catch{}function z0(e,t){return e0({basename:t==null?void 0:t.basename,future:si({},t==null?void 0:t.future,{v7_prependBasename:!0}),history:b1({window:t==null?void 0:t.window}),hydrationData:(t==null?void 0:t.hydrationData)||F0(),routes:e,mapRouteProperties:O0,window:t==null?void 0:t.window}).initialize()}function F0(){var e;let t=(e=window)==null?void 0:e.__staticRouterHydrationData;return t&&t.errors&&(t=si({},t,{errors:U0(t.errors)})),t}function U0(e){if(!e)return null;let t=Object.entries(e),n={};for(let[r,i]of t)if(i&&i.__type==="RouteErrorResponse")n[r]=new Cc(i.status,i.statusText,i.data,i.internal===!0);else if(i&&i.__type==="Error"){if(i.__subType){let a=window[i.__subType];if(typeof a=="function")try{let o=new a(i.message);o.stack="",n[r]=o}catch{}}if(n[r]==null){let a=new Error(i.message);a.stack="",n[r]=a}}else n[r]=i;return n}const Vh=_.createContext({isTransitioning:!1}),$0=_.createContext(new Map),V0="startTransition",bd=ps[V0],B0="flushSync",jd=E1[B0];function W0(e){bd?bd(e):e()}function _i(e){jd?jd(e):e()}class H0{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))}})}}function Y0(e){let{fallbackElement:t,router:n,future:r}=e,[i,a]=_.useState(n.state),[o,l]=_.useState(),[s,c]=_.useState({isTransitioning:!1}),[f,d]=_.useState(),[m,g]=_.useState(),[y,w]=_.useState(),E=_.useRef(new Map),{v7_startTransition:h}=r||{},p=_.useCallback(P=>{h?W0(P):P()},[h]),v=_.useCallback((P,L)=>{let{deletedFetchers:D,unstable_flushSync:$,unstable_viewTransitionOpts:Z}=L;D.forEach(he=>E.current.delete(he)),P.fetchers.forEach((he,Ie)=>{he.data!==void 0&&E.current.set(Ie,he.data)});let fe=n.window==null||typeof n.window.document.startViewTransition!="function";if(!Z||fe){$?_i(()=>a(P)):p(()=>a(P));return}if($){_i(()=>{m&&(f&&f.resolve(),m.skipTransition()),c({isTransitioning:!0,flushSync:!0,currentLocation:Z.currentLocation,nextLocation:Z.nextLocation})});let he=n.window.document.startViewTransition(()=>{_i(()=>a(P))});he.finished.finally(()=>{_i(()=>{d(void 0),g(void 0),l(void 0),c({isTransitioning:!1})})}),_i(()=>g(he));return}m?(f&&f.resolve(),m.skipTransition(),w({state:P,currentLocation:Z.currentLocation,nextLocation:Z.nextLocation})):(l(P),c({isTransitioning:!0,flushSync:!1,currentLocation:Z.currentLocation,nextLocation:Z.nextLocation}))},[n.window,m,f,E,p]);_.useLayoutEffect(()=>n.subscribe(v),[n,v]),_.useEffect(()=>{s.isTransitioning&&!s.flushSync&&d(new H0)},[s]),_.useEffect(()=>{if(f&&o&&n.window){let P=o,L=f.promise,D=n.window.document.startViewTransition(async()=>{p(()=>a(P)),await L});D.finished.finally(()=>{d(void 0),g(void 0),l(void 0),c({isTransitioning:!1})}),g(D)}},[p,o,f,n.window]),_.useEffect(()=>{f&&o&&i.location.key===o.location.key&&f.resolve()},[f,m,i.location,o]),_.useEffect(()=>{!s.isTransitioning&&y&&(l(y.state),c({isTransitioning:!0,flushSync:!1,currentLocation:y.currentLocation,nextLocation:y.nextLocation}),w(void 0))},[s.isTransitioning,y]),_.useEffect(()=>{},[]);let j=_.useMemo(()=>({createHref:n.createHref,encodeLocation:n.encodeLocation,go:P=>n.navigate(P),push:(P,L,D)=>n.navigate(P,{state:L,preventScrollReset:D==null?void 0:D.preventScrollReset}),replace:(P,L,D)=>n.navigate(P,{replace:!0,state:L,preventScrollReset:D==null?void 0:D.preventScrollReset})}),[n]),R=n.basename||"/",x=_.useMemo(()=>({router:n,navigator:j,static:!1,basename:R}),[n,j,R]);return _.createElement(_.Fragment,null,_.createElement(Ea.Provider,{value:x},_.createElement(_c.Provider,{value:i},_.createElement($0.Provider,{value:E.current},_.createElement(Vh.Provider,{value:s},_.createElement(T0,{basename:R,location:i.location,navigationType:i.historyAction,navigator:j,future:{v7_relativeSplatPath:n.future.v7_relativeSplatPath}},i.initialized||n.future.v7_partialHydration?_.createElement(K0,{routes:n.routes,future:n.future,state:i}):t))))),null)}function K0(e){let{routes:t,future:n,state:r}=e;return y0(t,void 0,r,n)}const Q0=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",G0=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,$e=_.forwardRef(function(t,n){let{onClick:r,relative:i,reloadDocument:a,replace:o,state:l,target:s,to:c,preventScrollReset:f,unstable_viewTransition:d}=t,m=$h(t,M0),{basename:g}=_.useContext(Xn),y,w=!1;if(typeof c=="string"&&G0.test(c)&&(y=c,Q0))try{let v=new URL(window.location.href),j=c.startsWith("//")?new URL(v.protocol+c):new URL(c),R=dn(j.pathname,g);j.origin===v.origin&&R!=null?c=R+j.search+j.hash:w=!0}catch{}let E=p0(c,{relative:i}),h=q0(c,{replace:o,state:l,target:s,preventScrollReset:f,relative:i,unstable_viewTransition:d});function p(v){r&&r(v),v.defaultPrevented||h(v)}return _.createElement("a",si({},m,{href:y||E,onClick:w||a?r:p,ref:n,target:s}))}),X0=_.forwardRef(function(t,n){let{"aria-current":r="page",caseSensitive:i=!1,className:a="",end:o=!1,style:l,to:s,unstable_viewTransition:c,children:f}=t,d=$h(t,D0),m=yl(s,{relative:d.relative}),g=Jn(),y=_.useContext(_c),{navigator:w,basename:E}=_.useContext(Xn),h=y!=null&&Z0(m)&&c===!0,p=w.encodeLocation?w.encodeLocation(m).pathname:m.pathname,v=g.pathname,j=y&&y.navigation&&y.navigation.location?y.navigation.location.pathname:null;i||(v=v.toLowerCase(),j=j?j.toLowerCase():null,p=p.toLowerCase()),j&&E&&(j=dn(j,E)||j);const R=p!=="/"&&p.endsWith("/")?p.length-1:p.length;let x=v===p||!o&&v.startsWith(p)&&v.charAt(R)==="/",P=j!=null&&(j===p||!o&&j.startsWith(p)&&j.charAt(p.length)==="/"),L={isActive:x,isPending:P,isTransitioning:h},D=x?r:void 0,$;typeof a=="function"?$=a(L):$=[a,x?"active":null,P?"pending":null,h?"transitioning":null].filter(Boolean).join(" ");let Z=typeof l=="function"?l(L):l;return _.createElement($e,si({},d,{"aria-current":D,className:$,ref:n,style:Z,to:s,unstable_viewTransition:c}),typeof f=="function"?f(L):f)});var du;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(du||(du={}));var Nd;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(Nd||(Nd={}));function J0(e){let t=_.useContext(Ea);return t||q(!1),t}function q0(e,t){let{target:n,replace:r,state:i,preventScrollReset:a,relative:o,unstable_viewTransition:l}=t===void 0?{}:t,s=ja(),c=Jn(),f=yl(e,{relative:o});return _.useCallback(d=>{if(A0(d,n)){d.preventDefault();let m=r!==void 0?r:gr(c)===gr(f);s(e,{replace:m,state:i,preventScrollReset:a,relative:o,unstable_viewTransition:l})}},[c,s,f,r,i,n,e,a,o,l])}function Z0(e,t){t===void 0&&(t={});let n=_.useContext(Vh);n==null&&q(!1);let{basename:r}=J0(du.useViewTransitionState),i=yl(e,{relative:t.relative});if(!n.isTransitioning)return!1;let a=dn(n.currentLocation.pathname,r)||n.currentLocation.pathname,o=dn(n.nextLocation.pathname,r)||n.nextLocation.pathname;return su(i.pathname,o)!=null||su(i.pathname,a)!=null}function Cd(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}function F(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&(n[i]=e[i]);return n}function L0(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function A0(e,t){return e.button===0&&(!t||t==="_self")&&!L0(e)}const M0=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","unstable_viewTransition"],D0=["aria-current","caseSensitive","className","end","style","to","unstable_viewTransition","children"],I0="6";try{window.__reactRouterVersion=I0}catch{}function z0(e,t){return e0({basename:t==null?void 0:t.basename,future:si({},t==null?void 0:t.future,{v7_prependBasename:!0}),history:b1({window:t==null?void 0:t.window}),hydrationData:(t==null?void 0:t.hydrationData)||F0(),routes:e,mapRouteProperties:O0,window:t==null?void 0:t.window}).initialize()}function F0(){var e;let t=(e=window)==null?void 0:e.__staticRouterHydrationData;return t&&t.errors&&(t=si({},t,{errors:U0(t.errors)})),t}function U0(e){if(!e)return null;let t=Object.entries(e),n={};for(let[r,i]of t)if(i&&i.__type==="RouteErrorResponse")n[r]=new Cc(i.status,i.statusText,i.data,i.internal===!0);else if(i&&i.__type==="Error"){if(i.__subType){let a=window[i.__subType];if(typeof a=="function")try{let o=new a(i.message);o.stack="",n[r]=o}catch{}}if(n[r]==null){let a=new Error(i.message);a.stack="",n[r]=a}}else n[r]=i;return n}const Vh=P.createContext({isTransitioning:!1}),$0=P.createContext(new Map),V0="startTransition",bd=ps[V0],B0="flushSync",jd=E1[B0];function W0(e){bd?bd(e):e()}function _i(e){jd?jd(e):e()}class H0{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))}})}}function Y0(e){let{fallbackElement:t,router:n,future:r}=e,[i,a]=P.useState(n.state),[o,l]=P.useState(),[s,c]=P.useState({isTransitioning:!1}),[f,d]=P.useState(),[m,g]=P.useState(),[y,w]=P.useState(),k=P.useRef(new Map),{v7_startTransition:h}=r||{},p=P.useCallback(R=>{h?W0(R):R()},[h]),v=P.useCallback((R,A)=>{let{deletedFetchers:L,unstable_flushSync:z,unstable_viewTransitionOpts:J}=A;L.forEach(he=>k.current.delete(he)),R.fetchers.forEach((he,Ie)=>{he.data!==void 0&&k.current.set(Ie,he.data)});let se=n.window==null||typeof n.window.document.startViewTransition!="function";if(!J||se){z?_i(()=>a(R)):p(()=>a(R));return}if(z){_i(()=>{m&&(f&&f.resolve(),m.skipTransition()),c({isTransitioning:!0,flushSync:!0,currentLocation:J.currentLocation,nextLocation:J.nextLocation})});let he=n.window.document.startViewTransition(()=>{_i(()=>a(R))});he.finished.finally(()=>{_i(()=>{d(void 0),g(void 0),l(void 0),c({isTransitioning:!1})})}),_i(()=>g(he));return}m?(f&&f.resolve(),m.skipTransition(),w({state:R,currentLocation:J.currentLocation,nextLocation:J.nextLocation})):(l(R),c({isTransitioning:!0,flushSync:!1,currentLocation:J.currentLocation,nextLocation:J.nextLocation}))},[n.window,m,f,k,p]);P.useLayoutEffect(()=>n.subscribe(v),[n,v]),P.useEffect(()=>{s.isTransitioning&&!s.flushSync&&d(new H0)},[s]),P.useEffect(()=>{if(f&&o&&n.window){let R=o,A=f.promise,L=n.window.document.startViewTransition(async()=>{p(()=>a(R)),await A});L.finished.finally(()=>{d(void 0),g(void 0),l(void 0),c({isTransitioning:!1})}),g(L)}},[p,o,f,n.window]),P.useEffect(()=>{f&&o&&i.location.key===o.location.key&&f.resolve()},[f,m,i.location,o]),P.useEffect(()=>{!s.isTransitioning&&y&&(l(y.state),c({isTransitioning:!0,flushSync:!1,currentLocation:y.currentLocation,nextLocation:y.nextLocation}),w(void 0))},[s.isTransitioning,y]),P.useEffect(()=>{},[]);let j=P.useMemo(()=>({createHref:n.createHref,encodeLocation:n.encodeLocation,go:R=>n.navigate(R),push:(R,A,L)=>n.navigate(R,{state:A,preventScrollReset:L==null?void 0:L.preventScrollReset}),replace:(R,A,L)=>n.navigate(R,{replace:!0,state:A,preventScrollReset:L==null?void 0:L.preventScrollReset})}),[n]),_=n.basename||"/",x=P.useMemo(()=>({router:n,navigator:j,static:!1,basename:_}),[n,j,_]);return P.createElement(P.Fragment,null,P.createElement(Ea.Provider,{value:x},P.createElement(_c.Provider,{value:i},P.createElement($0.Provider,{value:k.current},P.createElement(Vh.Provider,{value:s},P.createElement(T0,{basename:_,location:i.location,navigationType:i.historyAction,navigator:j,future:{v7_relativeSplatPath:n.future.v7_relativeSplatPath}},i.initialized||n.future.v7_partialHydration?P.createElement(K0,{routes:n.routes,future:n.future,state:i}):t))))),null)}function K0(e){let{routes:t,future:n,state:r}=e;return y0(t,void 0,r,n)}const Q0=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",G0=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,$e=P.forwardRef(function(t,n){let{onClick:r,relative:i,reloadDocument:a,replace:o,state:l,target:s,to:c,preventScrollReset:f,unstable_viewTransition:d}=t,m=$h(t,M0),{basename:g}=P.useContext(Xn),y,w=!1;if(typeof c=="string"&&G0.test(c)&&(y=c,Q0))try{let v=new URL(window.location.href),j=c.startsWith("//")?new URL(v.protocol+c):new URL(c),_=dn(j.pathname,g);j.origin===v.origin&&_!=null?c=_+j.search+j.hash:w=!0}catch{}let k=p0(c,{relative:i}),h=q0(c,{replace:o,state:l,target:s,preventScrollReset:f,relative:i,unstable_viewTransition:d});function p(v){r&&r(v),v.defaultPrevented||h(v)}return P.createElement("a",si({},m,{href:y||k,onClick:w||a?r:p,ref:n,target:s}))}),X0=P.forwardRef(function(t,n){let{"aria-current":r="page",caseSensitive:i=!1,className:a="",end:o=!1,style:l,to:s,unstable_viewTransition:c,children:f}=t,d=$h(t,D0),m=yl(s,{relative:d.relative}),g=Jn(),y=P.useContext(_c),{navigator:w,basename:k}=P.useContext(Xn),h=y!=null&&Z0(m)&&c===!0,p=w.encodeLocation?w.encodeLocation(m).pathname:m.pathname,v=g.pathname,j=y&&y.navigation&&y.navigation.location?y.navigation.location.pathname:null;i||(v=v.toLowerCase(),j=j?j.toLowerCase():null,p=p.toLowerCase()),j&&k&&(j=dn(j,k)||j);const _=p!=="/"&&p.endsWith("/")?p.length-1:p.length;let x=v===p||!o&&v.startsWith(p)&&v.charAt(_)==="/",R=j!=null&&(j===p||!o&&j.startsWith(p)&&j.charAt(p.length)==="/"),A={isActive:x,isPending:R,isTransitioning:h},L=x?r:void 0,z;typeof a=="function"?z=a(A):z=[a,x?"active":null,R?"pending":null,h?"transitioning":null].filter(Boolean).join(" ");let J=typeof l=="function"?l(A):l;return P.createElement($e,si({},d,{"aria-current":L,className:z,ref:n,style:J,to:s,unstable_viewTransition:c}),typeof f=="function"?f(A):f)});var du;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(du||(du={}));var Nd;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(Nd||(Nd={}));function J0(e){let t=P.useContext(Ea);return t||Z(!1),t}function q0(e,t){let{target:n,replace:r,state:i,preventScrollReset:a,relative:o,unstable_viewTransition:l}=t===void 0?{}:t,s=ja(),c=Jn(),f=yl(e,{relative:o});return P.useCallback(d=>{if(A0(d,n)){d.preventDefault();let m=r!==void 0?r:gr(c)===gr(f);s(e,{replace:m,state:i,preventScrollReset:a,relative:o,unstable_viewTransition:l})}},[c,s,f,r,i,n,e,a,o,l])}function Z0(e,t){t===void 0&&(t={});let n=P.useContext(Vh);n==null&&Z(!1);let{basename:r}=J0(du.useViewTransitionState),i=yl(e,{relative:t.relative});if(!n.isTransitioning)return!1;let a=dn(n.currentLocation.pathname,r)||n.currentLocation.pathname,o=dn(n.nextLocation.pathname,r)||n.nextLocation.pathname;return su(i.pathname,o)!=null||su(i.pathname,a)!=null}function Cd(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}function U(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n-1;i--){var a=n[i],o=(a.tagName||"").toUpperCase();["STYLE","LINK"].indexOf(o)>-1&&(r=a)}return xe.head.insertBefore(t,r),e}}var bx="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";function va(){for(var e=12,t="";e-- >0;)t+=bx[Math.random()*62|0];return t}function pi(e){for(var t=[],n=(e||[]).length>>>0;n--;)t[n]=e[n];return t}function Mc(e){return e.classList?pi(e.classList):(e.getAttribute("class")||"").split(" ").filter(function(t){return t})}function ev(e){return"".concat(e).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function jx(e){return Object.keys(e||{}).reduce(function(t,n){return t+"".concat(n,'="').concat(ev(e[n]),'" ')},"").trim()}function xl(e){return Object.keys(e||{}).reduce(function(t,n){return t+"".concat(n,": ").concat(e[n].trim(),";")},"")}function Dc(e){return e.size!==Qt.size||e.x!==Qt.x||e.y!==Qt.y||e.rotate!==Qt.rotate||e.flipX||e.flipY}function Nx(e){var t=e.transform,n=e.containerWidth,r=e.iconWidth,i={transform:"translate(".concat(n/2," 256)")},a="translate(".concat(t.x*32,", ").concat(t.y*32,") "),o="scale(".concat(t.size/16*(t.flipX?-1:1),", ").concat(t.size/16*(t.flipY?-1:1),") "),l="rotate(".concat(t.rotate," 0 0)"),s={transform:"".concat(a," ").concat(o," ").concat(l)},c={transform:"translate(".concat(r/2*-1," -256)")};return{outer:i,inner:s,path:c}}function Cx(e){var t=e.transform,n=e.width,r=n===void 0?mu:n,i=e.height,a=i===void 0?mu:i,o=e.startCentered,l=o===void 0?!1:o,s="";return l&&Kh?s+="translate(".concat(t.x/bn-r/2,"em, ").concat(t.y/bn-a/2,"em) "):l?s+="translate(calc(-50% + ".concat(t.x/bn,"em), calc(-50% + ").concat(t.y/bn,"em)) "):s+="translate(".concat(t.x/bn,"em, ").concat(t.y/bn,"em) "),s+="scale(".concat(t.size/bn*(t.flipX?-1:1),", ").concat(t.size/bn*(t.flipY?-1:1),") "),s+="rotate(".concat(t.rotate,"deg) "),s}var Px=`:root, :host { +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var _d=function(){},Tc={},Wh={},Hh=null,Yh={mark:_d,measure:_d};try{typeof window<"u"&&(Tc=window),typeof document<"u"&&(Wh=document),typeof MutationObserver<"u"&&(Hh=MutationObserver),typeof performance<"u"&&(Yh=performance)}catch{}var sx=Tc.navigator||{},Rd=sx.userAgent,Td=Rd===void 0?"":Rd,Bn=Tc,xe=Wh,Od=Hh,qa=Yh;Bn.document;var xn=!!xe.documentElement&&!!xe.head&&typeof xe.addEventListener=="function"&&typeof xe.createElement=="function",Kh=~Td.indexOf("MSIE")||~Td.indexOf("Trident/"),Za,eo,to,no,ro,pn="___FONT_AWESOME___",mu=16,Qh="fa",Gh="svg-inline--fa",yr="data-fa-i2svg",hu="data-fa-pseudo-element",ux="data-fa-pseudo-element-pending",Oc="data-prefix",Lc="data-icon",Ld="fontawesome-i2svg",cx="async",fx=["HTML","HEAD","STYLE","SCRIPT"],Xh=function(){try{return!0}catch{return!1}}(),ge="classic",_e="sharp",Ac=[ge,_e];function Ca(e){return new Proxy(e,{get:function(n,r){return r in n?n[r]:n[ge]}})}var da=Ca((Za={},De(Za,ge,{fa:"solid",fas:"solid","fa-solid":"solid",far:"regular","fa-regular":"regular",fal:"light","fa-light":"light",fat:"thin","fa-thin":"thin",fad:"duotone","fa-duotone":"duotone",fab:"brands","fa-brands":"brands",fak:"kit",fakd:"kit","fa-kit":"kit","fa-kit-duotone":"kit"}),De(Za,_e,{fa:"solid",fass:"solid","fa-solid":"solid",fasr:"regular","fa-regular":"regular",fasl:"light","fa-light":"light",fast:"thin","fa-thin":"thin"}),Za)),pa=Ca((eo={},De(eo,ge,{solid:"fas",regular:"far",light:"fal",thin:"fat",duotone:"fad",brands:"fab",kit:"fak"}),De(eo,_e,{solid:"fass",regular:"fasr",light:"fasl",thin:"fast"}),eo)),ma=Ca((to={},De(to,ge,{fab:"fa-brands",fad:"fa-duotone",fak:"fa-kit",fal:"fa-light",far:"fa-regular",fas:"fa-solid",fat:"fa-thin"}),De(to,_e,{fass:"fa-solid",fasr:"fa-regular",fasl:"fa-light",fast:"fa-thin"}),to)),dx=Ca((no={},De(no,ge,{"fa-brands":"fab","fa-duotone":"fad","fa-kit":"fak","fa-light":"fal","fa-regular":"far","fa-solid":"fas","fa-thin":"fat"}),De(no,_e,{"fa-solid":"fass","fa-regular":"fasr","fa-light":"fasl","fa-thin":"fast"}),no)),px=/fa(s|r|l|t|d|b|k|ss|sr|sl|st)?[\-\ ]/,Jh="fa-layers-text",mx=/Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp|Kit)?.*/i,hx=Ca((ro={},De(ro,ge,{900:"fas",400:"far",normal:"far",300:"fal",100:"fat"}),De(ro,_e,{900:"fass",400:"fasr",300:"fasl",100:"fast"}),ro)),qh=[1,2,3,4,5,6,7,8,9,10],vx=qh.concat([11,12,13,14,15,16,17,18,19,20]),gx=["class","data-prefix","data-icon","data-fa-transform","data-fa-mask"],sr={GROUP:"duotone-group",SWAP_OPACITY:"swap-opacity",PRIMARY:"primary",SECONDARY:"secondary"},ha=new Set;Object.keys(pa[ge]).map(ha.add.bind(ha));Object.keys(pa[_e]).map(ha.add.bind(ha));var yx=[].concat(Ac,Na(ha),["2xs","xs","sm","lg","xl","2xl","beat","border","fade","beat-fade","bounce","flip-both","flip-horizontal","flip-vertical","flip","fw","inverse","layers-counter","layers-text","layers","li","pull-left","pull-right","pulse","rotate-180","rotate-270","rotate-90","rotate-by","shake","spin-pulse","spin-reverse","spin","stack-1x","stack-2x","stack","ul",sr.GROUP,sr.SWAP_OPACITY,sr.PRIMARY,sr.SECONDARY]).concat(qh.map(function(e){return"".concat(e,"x")})).concat(vx.map(function(e){return"w-".concat(e)})),Hi=Bn.FontAwesomeConfig||{};function xx(e){var t=xe.querySelector("script["+e+"]");if(t)return t.getAttribute(e)}function wx(e){return e===""?!0:e==="false"?!1:e==="true"?!0:e}if(xe&&typeof xe.querySelector=="function"){var Sx=[["data-family-prefix","familyPrefix"],["data-css-prefix","cssPrefix"],["data-family-default","familyDefault"],["data-style-default","styleDefault"],["data-replacement-class","replacementClass"],["data-auto-replace-svg","autoReplaceSvg"],["data-auto-add-css","autoAddCss"],["data-auto-a11y","autoA11y"],["data-search-pseudo-elements","searchPseudoElements"],["data-observe-mutations","observeMutations"],["data-mutate-approach","mutateApproach"],["data-keep-original-source","keepOriginalSource"],["data-measure-performance","measurePerformance"],["data-show-missing-icons","showMissingIcons"]];Sx.forEach(function(e){var t=Rc(e,2),n=t[0],r=t[1],i=wx(xx(n));i!=null&&(Hi[r]=i)})}var Zh={styleDefault:"solid",familyDefault:"classic",cssPrefix:Qh,replacementClass:Gh,autoReplaceSvg:!0,autoAddCss:!0,autoA11y:!0,searchPseudoElements:!1,observeMutations:!0,mutateApproach:"async",keepOriginalSource:!0,measurePerformance:!1,showMissingIcons:!0};Hi.familyPrefix&&(Hi.cssPrefix=Hi.familyPrefix);var ui=U(U({},Zh),Hi);ui.autoReplaceSvg||(ui.observeMutations=!1);var W={};Object.keys(Zh).forEach(function(e){Object.defineProperty(W,e,{enumerable:!0,set:function(n){ui[e]=n,Yi.forEach(function(r){return r(W)})},get:function(){return ui[e]}})});Object.defineProperty(W,"familyPrefix",{enumerable:!0,set:function(t){ui.cssPrefix=t,Yi.forEach(function(n){return n(W)})},get:function(){return ui.cssPrefix}});Bn.FontAwesomeConfig=W;var Yi=[];function kx(e){return Yi.push(e),function(){Yi.splice(Yi.indexOf(e),1)}}var bn=mu,Qt={size:16,x:0,y:0,rotate:0,flipX:!1,flipY:!1};function Ex(e){if(!(!e||!xn)){var t=xe.createElement("style");t.setAttribute("type","text/css"),t.innerHTML=e;for(var n=xe.head.childNodes,r=null,i=n.length-1;i>-1;i--){var a=n[i],o=(a.tagName||"").toUpperCase();["STYLE","LINK"].indexOf(o)>-1&&(r=a)}return xe.head.insertBefore(t,r),e}}var bx="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";function va(){for(var e=12,t="";e-- >0;)t+=bx[Math.random()*62|0];return t}function pi(e){for(var t=[],n=(e||[]).length>>>0;n--;)t[n]=e[n];return t}function Mc(e){return e.classList?pi(e.classList):(e.getAttribute("class")||"").split(" ").filter(function(t){return t})}function ev(e){return"".concat(e).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function jx(e){return Object.keys(e||{}).reduce(function(t,n){return t+"".concat(n,'="').concat(ev(e[n]),'" ')},"").trim()}function xl(e){return Object.keys(e||{}).reduce(function(t,n){return t+"".concat(n,": ").concat(e[n].trim(),";")},"")}function Dc(e){return e.size!==Qt.size||e.x!==Qt.x||e.y!==Qt.y||e.rotate!==Qt.rotate||e.flipX||e.flipY}function Nx(e){var t=e.transform,n=e.containerWidth,r=e.iconWidth,i={transform:"translate(".concat(n/2," 256)")},a="translate(".concat(t.x*32,", ").concat(t.y*32,") "),o="scale(".concat(t.size/16*(t.flipX?-1:1),", ").concat(t.size/16*(t.flipY?-1:1),") "),l="rotate(".concat(t.rotate," 0 0)"),s={transform:"".concat(a," ").concat(o," ").concat(l)},c={transform:"translate(".concat(r/2*-1," -256)")};return{outer:i,inner:s,path:c}}function Cx(e){var t=e.transform,n=e.width,r=n===void 0?mu:n,i=e.height,a=i===void 0?mu:i,o=e.startCentered,l=o===void 0?!1:o,s="";return l&&Kh?s+="translate(".concat(t.x/bn-r/2,"em, ").concat(t.y/bn-a/2,"em) "):l?s+="translate(calc(-50% + ".concat(t.x/bn,"em), calc(-50% + ").concat(t.y/bn,"em)) "):s+="translate(".concat(t.x/bn,"em, ").concat(t.y/bn,"em) "),s+="scale(".concat(t.size/bn*(t.flipX?-1:1),", ").concat(t.size/bn*(t.flipY?-1:1),") "),s+="rotate(".concat(t.rotate,"deg) "),s}var Px=`:root, :host { --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Solid"; --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Regular"; --fa-font-light: normal 300 1em/1 "Font Awesome 6 Light"; @@ -824,10 +824,10 @@ svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa { .fad.fa-inverse, .fa-duotone.fa-inverse { color: var(--fa-inverse, #fff); -}`;function tv(){var e=Qh,t=Gh,n=W.cssPrefix,r=W.replacementClass,i=Px;if(n!==e||r!==t){var a=new RegExp("\\.".concat(e,"\\-"),"g"),o=new RegExp("\\--".concat(e,"\\-"),"g"),l=new RegExp("\\.".concat(t),"g");i=i.replace(a,".".concat(n,"-")).replace(o,"--".concat(n,"-")).replace(l,".".concat(r))}return i}var Ad=!1;function os(){W.autoAddCss&&!Ad&&(Ex(tv()),Ad=!0)}var _x={mixout:function(){return{dom:{css:tv,insertCss:os}}},hooks:function(){return{beforeDOMElementCreation:function(){os()},beforeI2svg:function(){os()}}}},mn=Bn||{};mn[pn]||(mn[pn]={});mn[pn].styles||(mn[pn].styles={});mn[pn].hooks||(mn[pn].hooks={});mn[pn].shims||(mn[pn].shims=[]);var Ft=mn[pn],nv=[],Rx=function e(){xe.removeEventListener("DOMContentLoaded",e),Jo=1,nv.map(function(t){return t()})},Jo=!1;xn&&(Jo=(xe.documentElement.doScroll?/^loaded|^c/:/^loaded|^i|^c/).test(xe.readyState),Jo||xe.addEventListener("DOMContentLoaded",Rx));function Tx(e){xn&&(Jo?setTimeout(e,0):nv.push(e))}function Pa(e){var t=e.tag,n=e.attributes,r=n===void 0?{}:n,i=e.children,a=i===void 0?[]:i;return typeof e=="string"?ev(e):"<".concat(t," ").concat(jx(r),">").concat(a.map(Pa).join(""),"")}function Md(e,t,n){if(e&&e[t]&&e[t][n])return{prefix:t,iconName:n,icon:e[t][n]}}var Ox=function(t,n){return function(r,i,a,o){return t.call(n,r,i,a,o)}},ls=function(t,n,r,i){var a=Object.keys(t),o=a.length,l=i!==void 0?Ox(n,i):n,s,c,f;for(r===void 0?(s=1,f=t[a[0]]):(s=0,f=r);s=55296&&i<=56319&&n=55296&&r<=56319&&n>t+1&&(i=e.charCodeAt(t+1),i>=56320&&i<=57343)?(r-55296)*1024+i-56320+65536:r}function Dd(e){return Object.keys(e).reduce(function(t,n){var r=e[n],i=!!r.icon;return i?t[r.iconName]=r.icon:t[n]=r,t},{})}function gu(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=n.skipHooks,i=r===void 0?!1:r,a=Dd(t);typeof Ft.hooks.addPack=="function"&&!i?Ft.hooks.addPack(e,Dd(t)):Ft.styles[e]=F(F({},Ft.styles[e]||{}),a),e==="fas"&&gu("fa",t)}var io,ao,oo,Wr=Ft.styles,Mx=Ft.shims,Dx=(io={},De(io,ge,Object.values(ma[ge])),De(io,_e,Object.values(ma[_e])),io),Ic=null,rv={},iv={},av={},ov={},lv={},Ix=(ao={},De(ao,ge,Object.keys(da[ge])),De(ao,_e,Object.keys(da[_e])),ao);function zx(e){return~yx.indexOf(e)}function Fx(e,t){var n=t.split("-"),r=n[0],i=n.slice(1).join("-");return r===e&&i!==""&&!zx(i)?i:null}var sv=function(){var t=function(a){return ls(Wr,function(o,l,s){return o[s]=ls(l,a,{}),o},{})};rv=t(function(i,a,o){if(a[3]&&(i[a[3]]=o),a[2]){var l=a[2].filter(function(s){return typeof s=="number"});l.forEach(function(s){i[s.toString(16)]=o})}return i}),iv=t(function(i,a,o){if(i[o]=o,a[2]){var l=a[2].filter(function(s){return typeof s=="string"});l.forEach(function(s){i[s]=o})}return i}),lv=t(function(i,a,o){var l=a[2];return i[o]=o,l.forEach(function(s){i[s]=o}),i});var n="far"in Wr||W.autoFetchSvg,r=ls(Mx,function(i,a){var o=a[0],l=a[1],s=a[2];return l==="far"&&!n&&(l="fas"),typeof o=="string"&&(i.names[o]={prefix:l,iconName:s}),typeof o=="number"&&(i.unicodes[o.toString(16)]={prefix:l,iconName:s}),i},{names:{},unicodes:{}});av=r.names,ov=r.unicodes,Ic=wl(W.styleDefault,{family:W.familyDefault})};kx(function(e){Ic=wl(e.styleDefault,{family:W.familyDefault})});sv();function zc(e,t){return(rv[e]||{})[t]}function Ux(e,t){return(iv[e]||{})[t]}function ur(e,t){return(lv[e]||{})[t]}function uv(e){return av[e]||{prefix:null,iconName:null}}function $x(e){var t=ov[e],n=zc("fas",e);return t||(n?{prefix:"fas",iconName:n}:null)||{prefix:null,iconName:null}}function Wn(){return Ic}var Fc=function(){return{prefix:null,iconName:null,rest:[]}};function wl(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.family,r=n===void 0?ge:n,i=da[r][e],a=pa[r][e]||pa[r][i],o=e in Ft.styles?e:null;return a||o||null}var Id=(oo={},De(oo,ge,Object.keys(ma[ge])),De(oo,_e,Object.keys(ma[_e])),oo);function Sl(e){var t,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=n.skipLookups,i=r===void 0?!1:r,a=(t={},De(t,ge,"".concat(W.cssPrefix,"-").concat(ge)),De(t,_e,"".concat(W.cssPrefix,"-").concat(_e)),t),o=null,l=ge;(e.includes(a[ge])||e.some(function(c){return Id[ge].includes(c)}))&&(l=ge),(e.includes(a[_e])||e.some(function(c){return Id[_e].includes(c)}))&&(l=_e);var s=e.reduce(function(c,f){var d=Fx(W.cssPrefix,f);if(Wr[f]?(f=Dx[l].includes(f)?dx[l][f]:f,o=f,c.prefix=f):Ix[l].indexOf(f)>-1?(o=f,c.prefix=wl(f,{family:l})):d?c.iconName=d:f!==W.replacementClass&&f!==a[ge]&&f!==a[_e]&&c.rest.push(f),!i&&c.prefix&&c.iconName){var m=o==="fa"?uv(c.iconName):{},g=ur(c.prefix,c.iconName);m.prefix&&(o=null),c.iconName=m.iconName||g||c.iconName,c.prefix=m.prefix||c.prefix,c.prefix==="far"&&!Wr.far&&Wr.fas&&!W.autoFetchSvg&&(c.prefix="fas")}return c},Fc());return(e.includes("fa-brands")||e.includes("fab"))&&(s.prefix="fab"),(e.includes("fa-duotone")||e.includes("fad"))&&(s.prefix="fad"),!s.prefix&&l===_e&&(Wr.fass||W.autoFetchSvg)&&(s.prefix="fass",s.iconName=ur(s.prefix,s.iconName)||s.iconName),(s.prefix==="fa"||o==="fa")&&(s.prefix=Wn()||"fas"),s}var Vx=function(){function e(){ex(this,e),this.definitions={}}return tx(e,[{key:"add",value:function(){for(var n=this,r=arguments.length,i=new Array(r),a=0;a0&&f.forEach(function(d){typeof d=="string"&&(n[l][d]=c)}),n[l][s]=c}),n}}]),e}(),zd=[],Hr={},Zr={},Bx=Object.keys(Zr);function Wx(e,t){var n=t.mixoutsTo;return zd=e,Hr={},Object.keys(Zr).forEach(function(r){Bx.indexOf(r)===-1&&delete Zr[r]}),zd.forEach(function(r){var i=r.mixout?r.mixout():{};if(Object.keys(i).forEach(function(o){typeof i[o]=="function"&&(n[o]=i[o]),Xo(i[o])==="object"&&Object.keys(i[o]).forEach(function(l){n[o]||(n[o]={}),n[o][l]=i[o][l]})}),r.hooks){var a=r.hooks();Object.keys(a).forEach(function(o){Hr[o]||(Hr[o]=[]),Hr[o].push(a[o])})}r.provides&&r.provides(Zr)}),n}function yu(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),i=2;i1?t-1:0),r=1;r0&&arguments[0]!==void 0?arguments[0]:{};return xn?(xr("beforeI2svg",t),hn("pseudoElements2svg",t),hn("i2svg",t)):Promise.reject("Operation requires a DOM of some kind.")},watch:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=t.autoReplaceSvgRoot;W.autoReplaceSvg===!1&&(W.autoReplaceSvg=!0),W.observeMutations=!0,Tx(function(){Qx({autoReplaceSvgRoot:n}),xr("watch",t)})}},Kx={icon:function(t){if(t===null)return null;if(Xo(t)==="object"&&t.prefix&&t.iconName)return{prefix:t.prefix,iconName:ur(t.prefix,t.iconName)||t.iconName};if(Array.isArray(t)&&t.length===2){var n=t[1].indexOf("fa-")===0?t[1].slice(3):t[1],r=wl(t[0]);return{prefix:r,iconName:ur(r,n)||n}}if(typeof t=="string"&&(t.indexOf("".concat(W.cssPrefix,"-"))>-1||t.match(px))){var i=Sl(t.split(" "),{skipLookups:!0});return{prefix:i.prefix||Wn(),iconName:ur(i.prefix,i.iconName)||i.iconName}}if(typeof t=="string"){var a=Wn();return{prefix:a,iconName:ur(a,t)||t}}}},Et={noAuto:Hx,config:W,dom:Yx,parse:Kx,library:cv,findIconDefinition:xu,toHtml:Pa},Qx=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=t.autoReplaceSvgRoot,r=n===void 0?xe:n;(Object.keys(Ft.styles).length>0||W.autoFetchSvg)&&xn&&W.autoReplaceSvg&&Et.dom.i2svg({node:r})};function kl(e,t){return Object.defineProperty(e,"abstract",{get:t}),Object.defineProperty(e,"html",{get:function(){return e.abstract.map(function(r){return Pa(r)})}}),Object.defineProperty(e,"node",{get:function(){if(xn){var r=xe.createElement("div");return r.innerHTML=e.html,r.children}}}),e}function Gx(e){var t=e.children,n=e.main,r=e.mask,i=e.attributes,a=e.styles,o=e.transform;if(Dc(o)&&n.found&&!r.found){var l=n.width,s=n.height,c={x:l/s/2,y:.5};i.style=xl(F(F({},a),{},{"transform-origin":"".concat(c.x+o.x/16,"em ").concat(c.y+o.y/16,"em")}))}return[{tag:"svg",attributes:i,children:t}]}function Xx(e){var t=e.prefix,n=e.iconName,r=e.children,i=e.attributes,a=e.symbol,o=a===!0?"".concat(t,"-").concat(W.cssPrefix,"-").concat(n):a;return[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:F(F({},i),{},{id:o}),children:r}]}]}function Uc(e){var t=e.icons,n=t.main,r=t.mask,i=e.prefix,a=e.iconName,o=e.transform,l=e.symbol,s=e.title,c=e.maskId,f=e.titleId,d=e.extra,m=e.watchable,g=m===void 0?!1:m,y=r.found?r:n,w=y.width,E=y.height,h=i==="fak",p=[W.replacementClass,a?"".concat(W.cssPrefix,"-").concat(a):""].filter(function(D){return d.classes.indexOf(D)===-1}).filter(function(D){return D!==""||!!D}).concat(d.classes).join(" "),v={children:[],attributes:F(F({},d.attributes),{},{"data-prefix":i,"data-icon":a,class:p,role:d.attributes.role||"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(w," ").concat(E)})},j=h&&!~d.classes.indexOf("fa-fw")?{width:"".concat(w/E*16*.0625,"em")}:{};g&&(v.attributes[yr]=""),s&&(v.children.push({tag:"title",attributes:{id:v.attributes["aria-labelledby"]||"title-".concat(f||va())},children:[s]}),delete v.attributes.title);var R=F(F({},v),{},{prefix:i,iconName:a,main:n,mask:r,maskId:c,transform:o,symbol:l,styles:F(F({},j),d.styles)}),x=r.found&&n.found?hn("generateAbstractMask",R)||{children:[],attributes:{}}:hn("generateAbstractIcon",R)||{children:[],attributes:{}},P=x.children,L=x.attributes;return R.children=P,R.attributes=L,l?Xx(R):Gx(R)}function Fd(e){var t=e.content,n=e.width,r=e.height,i=e.transform,a=e.title,o=e.extra,l=e.watchable,s=l===void 0?!1:l,c=F(F(F({},o.attributes),a?{title:a}:{}),{},{class:o.classes.join(" ")});s&&(c[yr]="");var f=F({},o.styles);Dc(i)&&(f.transform=Cx({transform:i,startCentered:!0,width:n,height:r}),f["-webkit-transform"]=f.transform);var d=xl(f);d.length>0&&(c.style=d);var m=[];return m.push({tag:"span",attributes:c,children:[t]}),a&&m.push({tag:"span",attributes:{class:"sr-only"},children:[a]}),m}function Jx(e){var t=e.content,n=e.title,r=e.extra,i=F(F(F({},r.attributes),n?{title:n}:{}),{},{class:r.classes.join(" ")}),a=xl(r.styles);a.length>0&&(i.style=a);var o=[];return o.push({tag:"span",attributes:i,children:[t]}),n&&o.push({tag:"span",attributes:{class:"sr-only"},children:[n]}),o}var ss=Ft.styles;function wu(e){var t=e[0],n=e[1],r=e.slice(4),i=Rc(r,1),a=i[0],o=null;return Array.isArray(a)?o={tag:"g",attributes:{class:"".concat(W.cssPrefix,"-").concat(sr.GROUP)},children:[{tag:"path",attributes:{class:"".concat(W.cssPrefix,"-").concat(sr.SECONDARY),fill:"currentColor",d:a[0]}},{tag:"path",attributes:{class:"".concat(W.cssPrefix,"-").concat(sr.PRIMARY),fill:"currentColor",d:a[1]}}]}:o={tag:"path",attributes:{fill:"currentColor",d:a}},{found:!0,width:t,height:n,icon:o}}var qx={found:!1,width:512,height:512};function Zx(e,t){!Xh&&!W.showMissingIcons&&e&&console.error('Icon with name "'.concat(e,'" and prefix "').concat(t,'" is missing.'))}function Su(e,t){var n=t;return t==="fa"&&W.styleDefault!==null&&(t=Wn()),new Promise(function(r,i){if(hn("missingIconAbstract"),n==="fa"){var a=uv(e)||{};e=a.iconName||e,t=a.prefix||t}if(e&&t&&ss[t]&&ss[t][e]){var o=ss[t][e];return r(wu(o))}Zx(e,t),r(F(F({},qx),{},{icon:W.showMissingIcons&&e?hn("missingIconAbstract")||{}:{}}))})}var Ud=function(){},ku=W.measurePerformance&&qa&&qa.mark&&qa.measure?qa:{mark:Ud,measure:Ud},Ai='FA "6.5.2"',ew=function(t){return ku.mark("".concat(Ai," ").concat(t," begins")),function(){return fv(t)}},fv=function(t){ku.mark("".concat(Ai," ").concat(t," ends")),ku.measure("".concat(Ai," ").concat(t),"".concat(Ai," ").concat(t," begins"),"".concat(Ai," ").concat(t," ends"))},$c={begin:ew,end:fv},Eo=function(){};function $d(e){var t=e.getAttribute?e.getAttribute(yr):null;return typeof t=="string"}function tw(e){var t=e.getAttribute?e.getAttribute(Oc):null,n=e.getAttribute?e.getAttribute(Lc):null;return t&&n}function nw(e){return e&&e.classList&&e.classList.contains&&e.classList.contains(W.replacementClass)}function rw(){if(W.autoReplaceSvg===!0)return bo.replace;var e=bo[W.autoReplaceSvg];return e||bo.replace}function iw(e){return xe.createElementNS("http://www.w3.org/2000/svg",e)}function aw(e){return xe.createElement(e)}function dv(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.ceFn,r=n===void 0?e.tag==="svg"?iw:aw:n;if(typeof e=="string")return xe.createTextNode(e);var i=r(e.tag);Object.keys(e.attributes||[]).forEach(function(o){i.setAttribute(o,e.attributes[o])});var a=e.children||[];return a.forEach(function(o){i.appendChild(dv(o,{ceFn:r}))}),i}function ow(e){var t=" ".concat(e.outerHTML," ");return t="".concat(t,"Font Awesome fontawesome.com "),t}var bo={replace:function(t){var n=t[0];if(n.parentNode)if(t[1].forEach(function(i){n.parentNode.insertBefore(dv(i),n)}),n.getAttribute(yr)===null&&W.keepOriginalSource){var r=xe.createComment(ow(n));n.parentNode.replaceChild(r,n)}else n.remove()},nest:function(t){var n=t[0],r=t[1];if(~Mc(n).indexOf(W.replacementClass))return bo.replace(t);var i=new RegExp("".concat(W.cssPrefix,"-.*"));if(delete r[0].attributes.id,r[0].attributes.class){var a=r[0].attributes.class.split(" ").reduce(function(l,s){return s===W.replacementClass||s.match(i)?l.toSvg.push(s):l.toNode.push(s),l},{toNode:[],toSvg:[]});r[0].attributes.class=a.toSvg.join(" "),a.toNode.length===0?n.removeAttribute("class"):n.setAttribute("class",a.toNode.join(" "))}var o=r.map(function(l){return Pa(l)}).join(` -`);n.setAttribute(yr,""),n.innerHTML=o}};function Vd(e){e()}function pv(e,t){var n=typeof t=="function"?t:Eo;if(e.length===0)n();else{var r=Vd;W.mutateApproach===cx&&(r=Bn.requestAnimationFrame||Vd),r(function(){var i=rw(),a=$c.begin("mutate");e.map(i),a(),n()})}}var Vc=!1;function mv(){Vc=!0}function Eu(){Vc=!1}var qo=null;function Bd(e){if(Od&&W.observeMutations){var t=e.treeCallback,n=t===void 0?Eo:t,r=e.nodeCallback,i=r===void 0?Eo:r,a=e.pseudoElementsCallback,o=a===void 0?Eo:a,l=e.observeMutationsRoot,s=l===void 0?xe:l;qo=new Od(function(c){if(!Vc){var f=Wn();pi(c).forEach(function(d){if(d.type==="childList"&&d.addedNodes.length>0&&!$d(d.addedNodes[0])&&(W.searchPseudoElements&&o(d.target),n(d.target)),d.type==="attributes"&&d.target.parentNode&&W.searchPseudoElements&&o(d.target.parentNode),d.type==="attributes"&&$d(d.target)&&~gx.indexOf(d.attributeName))if(d.attributeName==="class"&&tw(d.target)){var m=Sl(Mc(d.target)),g=m.prefix,y=m.iconName;d.target.setAttribute(Oc,g||f),y&&d.target.setAttribute(Lc,y)}else nw(d.target)&&i(d.target)})}}),xn&&qo.observe(s,{childList:!0,attributes:!0,characterData:!0,subtree:!0})}}function lw(){qo&&qo.disconnect()}function sw(e){var t=e.getAttribute("style"),n=[];return t&&(n=t.split(";").reduce(function(r,i){var a=i.split(":"),o=a[0],l=a.slice(1);return o&&l.length>0&&(r[o]=l.join(":").trim()),r},{})),n}function uw(e){var t=e.getAttribute("data-prefix"),n=e.getAttribute("data-icon"),r=e.innerText!==void 0?e.innerText.trim():"",i=Sl(Mc(e));return i.prefix||(i.prefix=Wn()),t&&n&&(i.prefix=t,i.iconName=n),i.iconName&&i.prefix||(i.prefix&&r.length>0&&(i.iconName=Ux(i.prefix,e.innerText)||zc(i.prefix,vu(e.innerText))),!i.iconName&&W.autoFetchSvg&&e.firstChild&&e.firstChild.nodeType===Node.TEXT_NODE&&(i.iconName=e.firstChild.data)),i}function cw(e){var t=pi(e.attributes).reduce(function(i,a){return i.name!=="class"&&i.name!=="style"&&(i[a.name]=a.value),i},{}),n=e.getAttribute("title"),r=e.getAttribute("data-fa-title-id");return W.autoA11y&&(n?t["aria-labelledby"]="".concat(W.replacementClass,"-title-").concat(r||va()):(t["aria-hidden"]="true",t.focusable="false")),t}function fw(){return{iconName:null,title:null,titleId:null,prefix:null,transform:Qt,symbol:!1,mask:{iconName:null,prefix:null,rest:[]},maskId:null,extra:{classes:[],styles:{},attributes:{}}}}function Wd(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{styleParser:!0},n=uw(e),r=n.iconName,i=n.prefix,a=n.rest,o=cw(e),l=yu("parseNodeAttributes",{},e),s=t.styleParser?sw(e):[];return F({iconName:r,title:e.getAttribute("title"),titleId:e.getAttribute("data-fa-title-id"),prefix:i,transform:Qt,mask:{iconName:null,prefix:null,rest:[]},maskId:null,symbol:!1,extra:{classes:a,styles:s,attributes:o}},l)}var dw=Ft.styles;function hv(e){var t=W.autoReplaceSvg==="nest"?Wd(e,{styleParser:!1}):Wd(e);return~t.extra.classes.indexOf(Jh)?hn("generateLayersText",e,t):hn("generateSvgReplacementMutation",e,t)}var Hn=new Set;Ac.map(function(e){Hn.add("fa-".concat(e))});Object.keys(da[ge]).map(Hn.add.bind(Hn));Object.keys(da[_e]).map(Hn.add.bind(Hn));Hn=Na(Hn);function Hd(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if(!xn)return Promise.resolve();var n=xe.documentElement.classList,r=function(d){return n.add("".concat(Ld,"-").concat(d))},i=function(d){return n.remove("".concat(Ld,"-").concat(d))},a=W.autoFetchSvg?Hn:Ac.map(function(f){return"fa-".concat(f)}).concat(Object.keys(dw));a.includes("fa")||a.push("fa");var o=[".".concat(Jh,":not([").concat(yr,"])")].concat(a.map(function(f){return".".concat(f,":not([").concat(yr,"])")})).join(", ");if(o.length===0)return Promise.resolve();var l=[];try{l=pi(e.querySelectorAll(o))}catch{}if(l.length>0)r("pending"),i("complete");else return Promise.resolve();var s=$c.begin("onTree"),c=l.reduce(function(f,d){try{var m=hv(d);m&&f.push(m)}catch(g){Xh||g.name==="MissingIcon"&&console.error(g)}return f},[]);return new Promise(function(f,d){Promise.all(c).then(function(m){pv(m,function(){r("active"),r("complete"),i("pending"),typeof t=="function"&&t(),s(),f()})}).catch(function(m){s(),d(m)})})}function pw(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;hv(e).then(function(n){n&&pv([n],t)})}function mw(e){return function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=(t||{}).icon?t:xu(t||{}),i=n.mask;return i&&(i=(i||{}).icon?i:xu(i||{})),e(r,F(F({},n),{},{mask:i}))}}var hw=function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=n.transform,i=r===void 0?Qt:r,a=n.symbol,o=a===void 0?!1:a,l=n.mask,s=l===void 0?null:l,c=n.maskId,f=c===void 0?null:c,d=n.title,m=d===void 0?null:d,g=n.titleId,y=g===void 0?null:g,w=n.classes,E=w===void 0?[]:w,h=n.attributes,p=h===void 0?{}:h,v=n.styles,j=v===void 0?{}:v;if(t){var R=t.prefix,x=t.iconName,P=t.icon;return kl(F({type:"icon"},t),function(){return xr("beforeDOMElementCreation",{iconDefinition:t,params:n}),W.autoA11y&&(m?p["aria-labelledby"]="".concat(W.replacementClass,"-title-").concat(y||va()):(p["aria-hidden"]="true",p.focusable="false")),Uc({icons:{main:wu(P),mask:s?wu(s.icon):{found:!1,width:null,height:null,icon:{}}},prefix:R,iconName:x,transform:F(F({},Qt),i),symbol:o,title:m,maskId:f,titleId:y,extra:{attributes:p,styles:j,classes:E}})})}},vw={mixout:function(){return{icon:mw(hw)}},hooks:function(){return{mutationObserverCallbacks:function(n){return n.treeCallback=Hd,n.nodeCallback=pw,n}}},provides:function(t){t.i2svg=function(n){var r=n.node,i=r===void 0?xe:r,a=n.callback,o=a===void 0?function(){}:a;return Hd(i,o)},t.generateSvgReplacementMutation=function(n,r){var i=r.iconName,a=r.title,o=r.titleId,l=r.prefix,s=r.transform,c=r.symbol,f=r.mask,d=r.maskId,m=r.extra;return new Promise(function(g,y){Promise.all([Su(i,l),f.iconName?Su(f.iconName,f.prefix):Promise.resolve({found:!1,width:512,height:512,icon:{}})]).then(function(w){var E=Rc(w,2),h=E[0],p=E[1];g([n,Uc({icons:{main:h,mask:p},prefix:l,iconName:i,transform:s,symbol:c,maskId:d,title:a,titleId:o,extra:m,watchable:!0})])}).catch(y)})},t.generateAbstractIcon=function(n){var r=n.children,i=n.attributes,a=n.main,o=n.transform,l=n.styles,s=xl(l);s.length>0&&(i.style=s);var c;return Dc(o)&&(c=hn("generateAbstractTransformGrouping",{main:a,transform:o,containerWidth:a.width,iconWidth:a.width})),r.push(c||a.icon),{children:r,attributes:i}}}},gw={mixout:function(){return{layer:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=r.classes,a=i===void 0?[]:i;return kl({type:"layer"},function(){xr("beforeDOMElementCreation",{assembler:n,params:r});var o=[];return n(function(l){Array.isArray(l)?l.map(function(s){o=o.concat(s.abstract)}):o=o.concat(l.abstract)}),[{tag:"span",attributes:{class:["".concat(W.cssPrefix,"-layers")].concat(Na(a)).join(" ")},children:o}]})}}}},yw={mixout:function(){return{counter:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=r.title,a=i===void 0?null:i,o=r.classes,l=o===void 0?[]:o,s=r.attributes,c=s===void 0?{}:s,f=r.styles,d=f===void 0?{}:f;return kl({type:"counter",content:n},function(){return xr("beforeDOMElementCreation",{content:n,params:r}),Jx({content:n.toString(),title:a,extra:{attributes:c,styles:d,classes:["".concat(W.cssPrefix,"-layers-counter")].concat(Na(l))}})})}}}},xw={mixout:function(){return{text:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=r.transform,a=i===void 0?Qt:i,o=r.title,l=o===void 0?null:o,s=r.classes,c=s===void 0?[]:s,f=r.attributes,d=f===void 0?{}:f,m=r.styles,g=m===void 0?{}:m;return kl({type:"text",content:n},function(){return xr("beforeDOMElementCreation",{content:n,params:r}),Fd({content:n,transform:F(F({},Qt),a),title:l,extra:{attributes:d,styles:g,classes:["".concat(W.cssPrefix,"-layers-text")].concat(Na(c))}})})}}},provides:function(t){t.generateLayersText=function(n,r){var i=r.title,a=r.transform,o=r.extra,l=null,s=null;if(Kh){var c=parseInt(getComputedStyle(n).fontSize,10),f=n.getBoundingClientRect();l=f.width/c,s=f.height/c}return W.autoA11y&&!i&&(o.attributes["aria-hidden"]="true"),Promise.resolve([n,Fd({content:n.innerHTML,width:l,height:s,transform:a,title:i,extra:o,watchable:!0})])}}},ww=new RegExp('"',"ug"),Yd=[1105920,1112319];function Sw(e){var t=e.replace(ww,""),n=Ax(t,0),r=n>=Yd[0]&&n<=Yd[1],i=t.length===2?t[0]===t[1]:!1;return{value:vu(i?t[0]:t),isSecondary:r||i}}function Kd(e,t){var n="".concat(ux).concat(t.replace(":","-"));return new Promise(function(r,i){if(e.getAttribute(n)!==null)return r();var a=pi(e.children),o=a.filter(function(P){return P.getAttribute(hu)===t})[0],l=Bn.getComputedStyle(e,t),s=l.getPropertyValue("font-family").match(mx),c=l.getPropertyValue("font-weight"),f=l.getPropertyValue("content");if(o&&!s)return e.removeChild(o),r();if(s&&f!=="none"&&f!==""){var d=l.getPropertyValue("content"),m=~["Sharp"].indexOf(s[2])?_e:ge,g=~["Solid","Regular","Light","Thin","Duotone","Brands","Kit"].indexOf(s[2])?pa[m][s[2].toLowerCase()]:hx[m][c],y=Sw(d),w=y.value,E=y.isSecondary,h=s[0].startsWith("FontAwesome"),p=zc(g,w),v=p;if(h){var j=$x(w);j.iconName&&j.prefix&&(p=j.iconName,g=j.prefix)}if(p&&!E&&(!o||o.getAttribute(Oc)!==g||o.getAttribute(Lc)!==v)){e.setAttribute(n,v),o&&e.removeChild(o);var R=fw(),x=R.extra;x.attributes[hu]=t,Su(p,g).then(function(P){var L=Uc(F(F({},R),{},{icons:{main:P,mask:Fc()},prefix:g,iconName:v,extra:x,watchable:!0})),D=xe.createElementNS("http://www.w3.org/2000/svg","svg");t==="::before"?e.insertBefore(D,e.firstChild):e.appendChild(D),D.outerHTML=L.map(function($){return Pa($)}).join(` -`),e.removeAttribute(n),r()}).catch(i)}else r()}else r()})}function kw(e){return Promise.all([Kd(e,"::before"),Kd(e,"::after")])}function Ew(e){return e.parentNode!==document.head&&!~fx.indexOf(e.tagName.toUpperCase())&&!e.getAttribute(hu)&&(!e.parentNode||e.parentNode.tagName!=="svg")}function Qd(e){if(xn)return new Promise(function(t,n){var r=pi(e.querySelectorAll("*")).filter(Ew).map(kw),i=$c.begin("searchPseudoElements");mv(),Promise.all(r).then(function(){i(),Eu(),t()}).catch(function(){i(),Eu(),n()})})}var bw={hooks:function(){return{mutationObserverCallbacks:function(n){return n.pseudoElementsCallback=Qd,n}}},provides:function(t){t.pseudoElements2svg=function(n){var r=n.node,i=r===void 0?xe:r;W.searchPseudoElements&&Qd(i)}}},Gd=!1,jw={mixout:function(){return{dom:{unwatch:function(){mv(),Gd=!0}}}},hooks:function(){return{bootstrap:function(){Bd(yu("mutationObserverCallbacks",{}))},noAuto:function(){lw()},watch:function(n){var r=n.observeMutationsRoot;Gd?Eu():Bd(yu("mutationObserverCallbacks",{observeMutationsRoot:r}))}}}},Xd=function(t){var n={size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0};return t.toLowerCase().split(" ").reduce(function(r,i){var a=i.toLowerCase().split("-"),o=a[0],l=a.slice(1).join("-");if(o&&l==="h")return r.flipX=!0,r;if(o&&l==="v")return r.flipY=!0,r;if(l=parseFloat(l),isNaN(l))return r;switch(o){case"grow":r.size=r.size+l;break;case"shrink":r.size=r.size-l;break;case"left":r.x=r.x-l;break;case"right":r.x=r.x+l;break;case"up":r.y=r.y-l;break;case"down":r.y=r.y+l;break;case"rotate":r.rotate=r.rotate+l;break}return r},n)},Nw={mixout:function(){return{parse:{transform:function(n){return Xd(n)}}}},hooks:function(){return{parseNodeAttributes:function(n,r){var i=r.getAttribute("data-fa-transform");return i&&(n.transform=Xd(i)),n}}},provides:function(t){t.generateAbstractTransformGrouping=function(n){var r=n.main,i=n.transform,a=n.containerWidth,o=n.iconWidth,l={transform:"translate(".concat(a/2," 256)")},s="translate(".concat(i.x*32,", ").concat(i.y*32,") "),c="scale(".concat(i.size/16*(i.flipX?-1:1),", ").concat(i.size/16*(i.flipY?-1:1),") "),f="rotate(".concat(i.rotate," 0 0)"),d={transform:"".concat(s," ").concat(c," ").concat(f)},m={transform:"translate(".concat(o/2*-1," -256)")},g={outer:l,inner:d,path:m};return{tag:"g",attributes:F({},g.outer),children:[{tag:"g",attributes:F({},g.inner),children:[{tag:r.icon.tag,children:r.icon.children,attributes:F(F({},r.icon.attributes),g.path)}]}]}}}},us={x:0,y:0,width:"100%",height:"100%"};function Jd(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return e.attributes&&(e.attributes.fill||t)&&(e.attributes.fill="black"),e}function Cw(e){return e.tag==="g"?e.children:[e]}var Pw={hooks:function(){return{parseNodeAttributes:function(n,r){var i=r.getAttribute("data-fa-mask"),a=i?Sl(i.split(" ").map(function(o){return o.trim()})):Fc();return a.prefix||(a.prefix=Wn()),n.mask=a,n.maskId=r.getAttribute("data-fa-mask-id"),n}}},provides:function(t){t.generateAbstractMask=function(n){var r=n.children,i=n.attributes,a=n.main,o=n.mask,l=n.maskId,s=n.transform,c=a.width,f=a.icon,d=o.width,m=o.icon,g=Nx({transform:s,containerWidth:d,iconWidth:c}),y={tag:"rect",attributes:F(F({},us),{},{fill:"white"})},w=f.children?{children:f.children.map(Jd)}:{},E={tag:"g",attributes:F({},g.inner),children:[Jd(F({tag:f.tag,attributes:F(F({},f.attributes),g.path)},w))]},h={tag:"g",attributes:F({},g.outer),children:[E]},p="mask-".concat(l||va()),v="clip-".concat(l||va()),j={tag:"mask",attributes:F(F({},us),{},{id:p,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[y,h]},R={tag:"defs",children:[{tag:"clipPath",attributes:{id:v},children:Cw(m)},j]};return r.push(R,{tag:"rect",attributes:F({fill:"currentColor","clip-path":"url(#".concat(v,")"),mask:"url(#".concat(p,")")},us)}),{children:r,attributes:i}}}},_w={provides:function(t){var n=!1;Bn.matchMedia&&(n=Bn.matchMedia("(prefers-reduced-motion: reduce)").matches),t.missingIconAbstract=function(){var r=[],i={fill:"currentColor"},a={attributeType:"XML",repeatCount:"indefinite",dur:"2s"};r.push({tag:"path",attributes:F(F({},i),{},{d:"M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"})});var o=F(F({},a),{},{attributeName:"opacity"}),l={tag:"circle",attributes:F(F({},i),{},{cx:"256",cy:"364",r:"28"}),children:[]};return n||l.children.push({tag:"animate",attributes:F(F({},a),{},{attributeName:"r",values:"28;14;28;28;14;28;"})},{tag:"animate",attributes:F(F({},o),{},{values:"1;0;1;1;0;1;"})}),r.push(l),r.push({tag:"path",attributes:F(F({},i),{},{opacity:"1",d:"M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"}),children:n?[]:[{tag:"animate",attributes:F(F({},o),{},{values:"1;0;0;0;0;1;"})}]}),n||r.push({tag:"path",attributes:F(F({},i),{},{opacity:"0",d:"M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"}),children:[{tag:"animate",attributes:F(F({},o),{},{values:"0;0;1;1;0;0;"})}]}),{tag:"g",attributes:{class:"missing"},children:r}}}},Rw={hooks:function(){return{parseNodeAttributes:function(n,r){var i=r.getAttribute("data-fa-symbol"),a=i===null?!1:i===""?!0:i;return n.symbol=a,n}}}},Tw=[_x,vw,gw,yw,xw,bw,jw,Nw,Pw,_w,Rw];Wx(Tw,{mixoutsTo:Et});Et.noAuto;Et.config;Et.library;Et.dom;var bu=Et.parse;Et.findIconDefinition;Et.toHtml;var Ow=Et.icon;Et.layer;Et.text;Et.counter;var vv={exports:{}},Lw="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",Aw=Lw,Mw=Aw;function gv(){}function yv(){}yv.resetWarningCache=gv;var Dw=function(){function e(r,i,a,o,l,s){if(s!==Mw){var c=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 c.name="Invariant Violation",c}}e.isRequired=e;function t(){return e}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:yv,resetWarningCache:gv};return n.PropTypes=n,n};vv.exports=Dw();var Iw=vv.exports;const te=_u(Iw);function qd(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}function On(e){for(var t=1;t=0)&&(n[i]=e[i]);return n}function Fw(e,t){if(e==null)return{};var n=zw(e,t),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function ju(e){return Uw(e)||$w(e)||Vw(e)||Bw()}function Uw(e){if(Array.isArray(e))return Nu(e)}function $w(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Vw(e,t){if(e){if(typeof e=="string")return Nu(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Nu(e,t)}}function Nu(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n2&&arguments[2]!==void 0?arguments[2]:{};if(typeof t=="string")return t;var r=(t.children||[]).map(function(s){return wv(e,s)}),i=Object.keys(t.attributes||{}).reduce(function(s,c){var f=t.attributes[c];switch(c){case"class":s.attrs.className=f,delete t.attributes.class;break;case"style":s.attrs.style=Qw(f);break;default:c.indexOf("aria-")===0||c.indexOf("data-")===0?s.attrs[c.toLowerCase()]=f:s.attrs[xv(c)]=f}return s},{attrs:{}}),a=n.style,o=a===void 0?{}:a,l=Fw(n,Yw);return i.attrs.style=On(On({},i.attrs.style),o),e.apply(void 0,[t.tag,On(On({},i.attrs),l)].concat(ju(r)))}var Sv=!1;try{Sv=!0}catch{}function Gw(){if(!Sv&&console&&typeof console.error=="function"){var e;(e=console).error.apply(e,arguments)}}function Zd(e){if(e&&Zo(e)==="object"&&e.prefix&&e.iconName&&e.icon)return e;if(bu.icon)return bu.icon(e);if(e===null)return null;if(e&&Zo(e)==="object"&&e.prefix&&e.iconName)return e;if(Array.isArray(e)&&e.length===2)return{prefix:e[0],iconName:e[1]};if(typeof e=="string")return{prefix:"fas",iconName:e}}function cs(e,t){return Array.isArray(t)&&t.length>0||!Array.isArray(t)&&t?Yr({},e,t):{}}var Ee=ya.forwardRef(function(e,t){var n=e.icon,r=e.mask,i=e.symbol,a=e.className,o=e.title,l=e.titleId,s=e.maskId,c=Zd(n),f=cs("classes",[].concat(ju(Ww(e)),ju(a.split(" ")))),d=cs("transform",typeof e.transform=="string"?bu.transform(e.transform):e.transform),m=cs("mask",Zd(r)),g=Ow(c,On(On(On(On({},f),d),m),{},{symbol:i,title:o,titleId:l,maskId:s}));if(!g)return Gw("Could not find icon",c),null;var y=g.abstract,w={ref:t};return Object.keys(e).forEach(function(E){Ee.defaultProps.hasOwnProperty(E)||(w[E]=e[E])}),Xw(y[0],w)});Ee.displayName="FontAwesomeIcon";Ee.propTypes={beat:te.bool,border:te.bool,beatFade:te.bool,bounce:te.bool,className:te.string,fade:te.bool,flash:te.bool,mask:te.oneOfType([te.object,te.array,te.string]),maskId:te.string,fixedWidth:te.bool,inverse:te.bool,flip:te.oneOf([!0,!1,"horizontal","vertical","both"]),icon:te.oneOfType([te.object,te.array,te.string]),listItem:te.bool,pull:te.oneOf(["right","left"]),pulse:te.bool,rotation:te.oneOf([0,90,180,270]),shake:te.bool,size:te.oneOf(["2xs","xs","sm","lg","xl","2xl","1x","2x","3x","4x","5x","6x","7x","8x","9x","10x"]),spin:te.bool,spinPulse:te.bool,spinReverse:te.bool,symbol:te.oneOfType([te.bool,te.string]),title:te.string,titleId:te.string,transform:te.oneOfType([te.string,te.object]),swapOpacity:te.bool};Ee.defaultProps={border:!1,className:"",mask:null,maskId:null,fixedWidth:!1,inverse:!1,flip:!1,icon:null,listItem:!1,pull:null,pulse:!1,rotation:null,size:null,spin:!1,spinPulse:!1,spinReverse:!1,beat:!1,fade:!1,beatFade:!1,bounce:!1,shake:!1,symbol:!1,title:"",titleId:null,transform:null,swapOpacity:!1};var Xw=wv.bind(null,ya.createElement),lo={prefix:"fab",iconName:"square-github",icon:[448,512,["github-square"],"f092","M448 96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96zM265.8 407.7c0-1.8 0-6 .1-11.6c.1-11.4 .1-28.8 .1-43.7c0-15.6-5.2-25.5-11.3-30.7c37-4.1 76-9.2 76-73.1c0-18.2-6.5-27.3-17.1-39c1.7-4.3 7.4-22-1.7-45c-13.9-4.3-45.7 17.9-45.7 17.9c-13.2-3.7-27.5-5.6-41.6-5.6s-28.4 1.9-41.6 5.6c0 0-31.8-22.2-45.7-17.9c-9.1 22.9-3.5 40.6-1.7 45c-10.6 11.7-15.6 20.8-15.6 39c0 63.6 37.3 69 74.3 73.1c-4.8 4.3-9.1 11.7-10.6 22.3c-9.5 4.3-33.8 11.7-48.3-13.9c-9.1-15.8-25.5-17.1-25.5-17.1c-16.2-.2-1.1 10.2-1.1 10.2c10.8 5 18.4 24.2 18.4 24.2c9.7 29.7 56.1 19.7 56.1 19.7c0 9 .1 21.7 .1 30.6c0 4.8 .1 8.6 .1 10c0 4.3-3 9.5-11.5 8C106 393.6 59.8 330.8 59.8 257.4c0-91.8 70.2-161.5 162-161.5s166.2 69.7 166.2 161.5c.1 73.4-44.7 136.3-110.7 158.3c-8.4 1.5-11.5-3.7-11.5-8zm-90.5-54.8c-.2-1.5 1.1-2.8 3-3.2c1.9-.2 3.7 .6 3.9 1.9c.3 1.3-1 2.6-3 3c-1.9 .4-3.7-.4-3.9-1.7zm-9.1 3.2c-2.2 .2-3.7-.9-3.7-2.4c0-1.3 1.5-2.4 3.5-2.4c1.9-.2 3.7 .9 3.7 2.4c0 1.3-1.5 2.4-3.5 2.4zm-14.3-2.2c-1.9-.4-3.2-1.9-2.8-3.2s2.4-1.9 4.1-1.5c2 .6 3.3 2.1 2.8 3.4c-.4 1.3-2.4 1.9-4.1 1.3zm-12.5-7.3c-1.5-1.3-1.9-3.2-.9-4.1c.9-1.1 2.8-.9 4.3 .6c1.3 1.3 1.8 3.3 .9 4.1c-.9 1.1-2.8 .9-4.3-.6zm-8.5-10c-1.1-1.5-1.1-3.2 0-3.9c1.1-.9 2.8-.2 3.7 1.3c1.1 1.5 1.1 3.3 0 4.1c-.9 .6-2.6 0-3.7-1.5zm-6.3-8.8c-1.1-1.3-1.3-2.8-.4-3.5c.9-.9 2.4-.4 3.5 .6c1.1 1.3 1.3 2.8 .4 3.5c-.9 .9-2.4 .4-3.5-.6zm-6-6.4c-1.3-.6-1.9-1.7-1.5-2.6c.4-.6 1.5-.9 2.8-.4c1.3 .7 1.9 1.8 1.5 2.6c-.4 .9-1.7 1.1-2.8 .4z"]},so={prefix:"fab",iconName:"linkedin",icon:[448,512,[],"f08c","M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z"]};const kv=()=>u.jsxs("div",{className:"main-footer",children:[u.jsx("h1",{className:"footer-title",children:" Our Development Team"}),u.jsxs("div",{className:"footer-links",children:[u.jsxs("div",{className:"developer",children:["Andrea Cheung",u.jsx($e,{to:"https://github.com/acheung-94",children:u.jsx(Ee,{icon:lo})}),u.jsx($e,{to:"https://www.linkedin.com/in/andrea-cheung-b9b5072b2/",children:u.jsx(Ee,{icon:so})})]}),u.jsx("span",{className:"footer-sep"}),u.jsxs("div",{className:"developer",children:["Christopher J. Trent",u.jsx($e,{to:"https://github.com/ChristopherJTrent",children:u.jsx(Ee,{icon:lo})}),u.jsx($e,{to:"https://www.linkedin.com/in/christopher-trent-95b581190/",children:u.jsx(Ee,{icon:so})})]}),u.jsx("span",{className:"footer-sep"}),u.jsxs("div",{className:"developer",children:["Sam Kim",u.jsx($e,{to:"https://github.com/sam-kim99",children:u.jsx(Ee,{icon:lo})}),u.jsx($e,{to:"https://www.linkedin.com/in/samuel-kim-b8460b225",children:u.jsx(Ee,{icon:so})})]}),u.jsx("span",{className:"footer-sep"}),u.jsxs("div",{className:"developer",children:["SoHyun Jang",u.jsx($e,{to:"https://github.com/shjang1025",children:u.jsx(Ee,{icon:lo})}),u.jsx($e,{to:"https://www.linkedin.com/in/sohyun-jang-469918115",children:u.jsx(Ee,{icon:so})})]})]})]});var Ev={exports:{}},bv={};/** +}`;function tv(){var e=Qh,t=Gh,n=W.cssPrefix,r=W.replacementClass,i=Px;if(n!==e||r!==t){var a=new RegExp("\\.".concat(e,"\\-"),"g"),o=new RegExp("\\--".concat(e,"\\-"),"g"),l=new RegExp("\\.".concat(t),"g");i=i.replace(a,".".concat(n,"-")).replace(o,"--".concat(n,"-")).replace(l,".".concat(r))}return i}var Ad=!1;function os(){W.autoAddCss&&!Ad&&(Ex(tv()),Ad=!0)}var _x={mixout:function(){return{dom:{css:tv,insertCss:os}}},hooks:function(){return{beforeDOMElementCreation:function(){os()},beforeI2svg:function(){os()}}}},mn=Bn||{};mn[pn]||(mn[pn]={});mn[pn].styles||(mn[pn].styles={});mn[pn].hooks||(mn[pn].hooks={});mn[pn].shims||(mn[pn].shims=[]);var Ft=mn[pn],nv=[],Rx=function e(){xe.removeEventListener("DOMContentLoaded",e),Jo=1,nv.map(function(t){return t()})},Jo=!1;xn&&(Jo=(xe.documentElement.doScroll?/^loaded|^c/:/^loaded|^i|^c/).test(xe.readyState),Jo||xe.addEventListener("DOMContentLoaded",Rx));function Tx(e){xn&&(Jo?setTimeout(e,0):nv.push(e))}function Pa(e){var t=e.tag,n=e.attributes,r=n===void 0?{}:n,i=e.children,a=i===void 0?[]:i;return typeof e=="string"?ev(e):"<".concat(t," ").concat(jx(r),">").concat(a.map(Pa).join(""),"")}function Md(e,t,n){if(e&&e[t]&&e[t][n])return{prefix:t,iconName:n,icon:e[t][n]}}var Ox=function(t,n){return function(r,i,a,o){return t.call(n,r,i,a,o)}},ls=function(t,n,r,i){var a=Object.keys(t),o=a.length,l=i!==void 0?Ox(n,i):n,s,c,f;for(r===void 0?(s=1,f=t[a[0]]):(s=0,f=r);s=55296&&i<=56319&&n=55296&&r<=56319&&n>t+1&&(i=e.charCodeAt(t+1),i>=56320&&i<=57343)?(r-55296)*1024+i-56320+65536:r}function Dd(e){return Object.keys(e).reduce(function(t,n){var r=e[n],i=!!r.icon;return i?t[r.iconName]=r.icon:t[n]=r,t},{})}function gu(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=n.skipHooks,i=r===void 0?!1:r,a=Dd(t);typeof Ft.hooks.addPack=="function"&&!i?Ft.hooks.addPack(e,Dd(t)):Ft.styles[e]=U(U({},Ft.styles[e]||{}),a),e==="fas"&&gu("fa",t)}var io,ao,oo,Wr=Ft.styles,Mx=Ft.shims,Dx=(io={},De(io,ge,Object.values(ma[ge])),De(io,_e,Object.values(ma[_e])),io),Ic=null,rv={},iv={},av={},ov={},lv={},Ix=(ao={},De(ao,ge,Object.keys(da[ge])),De(ao,_e,Object.keys(da[_e])),ao);function zx(e){return~yx.indexOf(e)}function Fx(e,t){var n=t.split("-"),r=n[0],i=n.slice(1).join("-");return r===e&&i!==""&&!zx(i)?i:null}var sv=function(){var t=function(a){return ls(Wr,function(o,l,s){return o[s]=ls(l,a,{}),o},{})};rv=t(function(i,a,o){if(a[3]&&(i[a[3]]=o),a[2]){var l=a[2].filter(function(s){return typeof s=="number"});l.forEach(function(s){i[s.toString(16)]=o})}return i}),iv=t(function(i,a,o){if(i[o]=o,a[2]){var l=a[2].filter(function(s){return typeof s=="string"});l.forEach(function(s){i[s]=o})}return i}),lv=t(function(i,a,o){var l=a[2];return i[o]=o,l.forEach(function(s){i[s]=o}),i});var n="far"in Wr||W.autoFetchSvg,r=ls(Mx,function(i,a){var o=a[0],l=a[1],s=a[2];return l==="far"&&!n&&(l="fas"),typeof o=="string"&&(i.names[o]={prefix:l,iconName:s}),typeof o=="number"&&(i.unicodes[o.toString(16)]={prefix:l,iconName:s}),i},{names:{},unicodes:{}});av=r.names,ov=r.unicodes,Ic=wl(W.styleDefault,{family:W.familyDefault})};kx(function(e){Ic=wl(e.styleDefault,{family:W.familyDefault})});sv();function zc(e,t){return(rv[e]||{})[t]}function Ux(e,t){return(iv[e]||{})[t]}function ur(e,t){return(lv[e]||{})[t]}function uv(e){return av[e]||{prefix:null,iconName:null}}function $x(e){var t=ov[e],n=zc("fas",e);return t||(n?{prefix:"fas",iconName:n}:null)||{prefix:null,iconName:null}}function Wn(){return Ic}var Fc=function(){return{prefix:null,iconName:null,rest:[]}};function wl(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.family,r=n===void 0?ge:n,i=da[r][e],a=pa[r][e]||pa[r][i],o=e in Ft.styles?e:null;return a||o||null}var Id=(oo={},De(oo,ge,Object.keys(ma[ge])),De(oo,_e,Object.keys(ma[_e])),oo);function Sl(e){var t,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=n.skipLookups,i=r===void 0?!1:r,a=(t={},De(t,ge,"".concat(W.cssPrefix,"-").concat(ge)),De(t,_e,"".concat(W.cssPrefix,"-").concat(_e)),t),o=null,l=ge;(e.includes(a[ge])||e.some(function(c){return Id[ge].includes(c)}))&&(l=ge),(e.includes(a[_e])||e.some(function(c){return Id[_e].includes(c)}))&&(l=_e);var s=e.reduce(function(c,f){var d=Fx(W.cssPrefix,f);if(Wr[f]?(f=Dx[l].includes(f)?dx[l][f]:f,o=f,c.prefix=f):Ix[l].indexOf(f)>-1?(o=f,c.prefix=wl(f,{family:l})):d?c.iconName=d:f!==W.replacementClass&&f!==a[ge]&&f!==a[_e]&&c.rest.push(f),!i&&c.prefix&&c.iconName){var m=o==="fa"?uv(c.iconName):{},g=ur(c.prefix,c.iconName);m.prefix&&(o=null),c.iconName=m.iconName||g||c.iconName,c.prefix=m.prefix||c.prefix,c.prefix==="far"&&!Wr.far&&Wr.fas&&!W.autoFetchSvg&&(c.prefix="fas")}return c},Fc());return(e.includes("fa-brands")||e.includes("fab"))&&(s.prefix="fab"),(e.includes("fa-duotone")||e.includes("fad"))&&(s.prefix="fad"),!s.prefix&&l===_e&&(Wr.fass||W.autoFetchSvg)&&(s.prefix="fass",s.iconName=ur(s.prefix,s.iconName)||s.iconName),(s.prefix==="fa"||o==="fa")&&(s.prefix=Wn()||"fas"),s}var Vx=function(){function e(){ex(this,e),this.definitions={}}return tx(e,[{key:"add",value:function(){for(var n=this,r=arguments.length,i=new Array(r),a=0;a0&&f.forEach(function(d){typeof d=="string"&&(n[l][d]=c)}),n[l][s]=c}),n}}]),e}(),zd=[],Hr={},Zr={},Bx=Object.keys(Zr);function Wx(e,t){var n=t.mixoutsTo;return zd=e,Hr={},Object.keys(Zr).forEach(function(r){Bx.indexOf(r)===-1&&delete Zr[r]}),zd.forEach(function(r){var i=r.mixout?r.mixout():{};if(Object.keys(i).forEach(function(o){typeof i[o]=="function"&&(n[o]=i[o]),Xo(i[o])==="object"&&Object.keys(i[o]).forEach(function(l){n[o]||(n[o]={}),n[o][l]=i[o][l]})}),r.hooks){var a=r.hooks();Object.keys(a).forEach(function(o){Hr[o]||(Hr[o]=[]),Hr[o].push(a[o])})}r.provides&&r.provides(Zr)}),n}function yu(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),i=2;i1?t-1:0),r=1;r0&&arguments[0]!==void 0?arguments[0]:{};return xn?(xr("beforeI2svg",t),hn("pseudoElements2svg",t),hn("i2svg",t)):Promise.reject("Operation requires a DOM of some kind.")},watch:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=t.autoReplaceSvgRoot;W.autoReplaceSvg===!1&&(W.autoReplaceSvg=!0),W.observeMutations=!0,Tx(function(){Qx({autoReplaceSvgRoot:n}),xr("watch",t)})}},Kx={icon:function(t){if(t===null)return null;if(Xo(t)==="object"&&t.prefix&&t.iconName)return{prefix:t.prefix,iconName:ur(t.prefix,t.iconName)||t.iconName};if(Array.isArray(t)&&t.length===2){var n=t[1].indexOf("fa-")===0?t[1].slice(3):t[1],r=wl(t[0]);return{prefix:r,iconName:ur(r,n)||n}}if(typeof t=="string"&&(t.indexOf("".concat(W.cssPrefix,"-"))>-1||t.match(px))){var i=Sl(t.split(" "),{skipLookups:!0});return{prefix:i.prefix||Wn(),iconName:ur(i.prefix,i.iconName)||i.iconName}}if(typeof t=="string"){var a=Wn();return{prefix:a,iconName:ur(a,t)||t}}}},Et={noAuto:Hx,config:W,dom:Yx,parse:Kx,library:cv,findIconDefinition:xu,toHtml:Pa},Qx=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=t.autoReplaceSvgRoot,r=n===void 0?xe:n;(Object.keys(Ft.styles).length>0||W.autoFetchSvg)&&xn&&W.autoReplaceSvg&&Et.dom.i2svg({node:r})};function kl(e,t){return Object.defineProperty(e,"abstract",{get:t}),Object.defineProperty(e,"html",{get:function(){return e.abstract.map(function(r){return Pa(r)})}}),Object.defineProperty(e,"node",{get:function(){if(xn){var r=xe.createElement("div");return r.innerHTML=e.html,r.children}}}),e}function Gx(e){var t=e.children,n=e.main,r=e.mask,i=e.attributes,a=e.styles,o=e.transform;if(Dc(o)&&n.found&&!r.found){var l=n.width,s=n.height,c={x:l/s/2,y:.5};i.style=xl(U(U({},a),{},{"transform-origin":"".concat(c.x+o.x/16,"em ").concat(c.y+o.y/16,"em")}))}return[{tag:"svg",attributes:i,children:t}]}function Xx(e){var t=e.prefix,n=e.iconName,r=e.children,i=e.attributes,a=e.symbol,o=a===!0?"".concat(t,"-").concat(W.cssPrefix,"-").concat(n):a;return[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:U(U({},i),{},{id:o}),children:r}]}]}function Uc(e){var t=e.icons,n=t.main,r=t.mask,i=e.prefix,a=e.iconName,o=e.transform,l=e.symbol,s=e.title,c=e.maskId,f=e.titleId,d=e.extra,m=e.watchable,g=m===void 0?!1:m,y=r.found?r:n,w=y.width,k=y.height,h=i==="fak",p=[W.replacementClass,a?"".concat(W.cssPrefix,"-").concat(a):""].filter(function(L){return d.classes.indexOf(L)===-1}).filter(function(L){return L!==""||!!L}).concat(d.classes).join(" "),v={children:[],attributes:U(U({},d.attributes),{},{"data-prefix":i,"data-icon":a,class:p,role:d.attributes.role||"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(w," ").concat(k)})},j=h&&!~d.classes.indexOf("fa-fw")?{width:"".concat(w/k*16*.0625,"em")}:{};g&&(v.attributes[yr]=""),s&&(v.children.push({tag:"title",attributes:{id:v.attributes["aria-labelledby"]||"title-".concat(f||va())},children:[s]}),delete v.attributes.title);var _=U(U({},v),{},{prefix:i,iconName:a,main:n,mask:r,maskId:c,transform:o,symbol:l,styles:U(U({},j),d.styles)}),x=r.found&&n.found?hn("generateAbstractMask",_)||{children:[],attributes:{}}:hn("generateAbstractIcon",_)||{children:[],attributes:{}},R=x.children,A=x.attributes;return _.children=R,_.attributes=A,l?Xx(_):Gx(_)}function Fd(e){var t=e.content,n=e.width,r=e.height,i=e.transform,a=e.title,o=e.extra,l=e.watchable,s=l===void 0?!1:l,c=U(U(U({},o.attributes),a?{title:a}:{}),{},{class:o.classes.join(" ")});s&&(c[yr]="");var f=U({},o.styles);Dc(i)&&(f.transform=Cx({transform:i,startCentered:!0,width:n,height:r}),f["-webkit-transform"]=f.transform);var d=xl(f);d.length>0&&(c.style=d);var m=[];return m.push({tag:"span",attributes:c,children:[t]}),a&&m.push({tag:"span",attributes:{class:"sr-only"},children:[a]}),m}function Jx(e){var t=e.content,n=e.title,r=e.extra,i=U(U(U({},r.attributes),n?{title:n}:{}),{},{class:r.classes.join(" ")}),a=xl(r.styles);a.length>0&&(i.style=a);var o=[];return o.push({tag:"span",attributes:i,children:[t]}),n&&o.push({tag:"span",attributes:{class:"sr-only"},children:[n]}),o}var ss=Ft.styles;function wu(e){var t=e[0],n=e[1],r=e.slice(4),i=Rc(r,1),a=i[0],o=null;return Array.isArray(a)?o={tag:"g",attributes:{class:"".concat(W.cssPrefix,"-").concat(sr.GROUP)},children:[{tag:"path",attributes:{class:"".concat(W.cssPrefix,"-").concat(sr.SECONDARY),fill:"currentColor",d:a[0]}},{tag:"path",attributes:{class:"".concat(W.cssPrefix,"-").concat(sr.PRIMARY),fill:"currentColor",d:a[1]}}]}:o={tag:"path",attributes:{fill:"currentColor",d:a}},{found:!0,width:t,height:n,icon:o}}var qx={found:!1,width:512,height:512};function Zx(e,t){!Xh&&!W.showMissingIcons&&e&&console.error('Icon with name "'.concat(e,'" and prefix "').concat(t,'" is missing.'))}function Su(e,t){var n=t;return t==="fa"&&W.styleDefault!==null&&(t=Wn()),new Promise(function(r,i){if(hn("missingIconAbstract"),n==="fa"){var a=uv(e)||{};e=a.iconName||e,t=a.prefix||t}if(e&&t&&ss[t]&&ss[t][e]){var o=ss[t][e];return r(wu(o))}Zx(e,t),r(U(U({},qx),{},{icon:W.showMissingIcons&&e?hn("missingIconAbstract")||{}:{}}))})}var Ud=function(){},ku=W.measurePerformance&&qa&&qa.mark&&qa.measure?qa:{mark:Ud,measure:Ud},Ai='FA "6.5.2"',ew=function(t){return ku.mark("".concat(Ai," ").concat(t," begins")),function(){return fv(t)}},fv=function(t){ku.mark("".concat(Ai," ").concat(t," ends")),ku.measure("".concat(Ai," ").concat(t),"".concat(Ai," ").concat(t," begins"),"".concat(Ai," ").concat(t," ends"))},$c={begin:ew,end:fv},Eo=function(){};function $d(e){var t=e.getAttribute?e.getAttribute(yr):null;return typeof t=="string"}function tw(e){var t=e.getAttribute?e.getAttribute(Oc):null,n=e.getAttribute?e.getAttribute(Lc):null;return t&&n}function nw(e){return e&&e.classList&&e.classList.contains&&e.classList.contains(W.replacementClass)}function rw(){if(W.autoReplaceSvg===!0)return bo.replace;var e=bo[W.autoReplaceSvg];return e||bo.replace}function iw(e){return xe.createElementNS("http://www.w3.org/2000/svg",e)}function aw(e){return xe.createElement(e)}function dv(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.ceFn,r=n===void 0?e.tag==="svg"?iw:aw:n;if(typeof e=="string")return xe.createTextNode(e);var i=r(e.tag);Object.keys(e.attributes||[]).forEach(function(o){i.setAttribute(o,e.attributes[o])});var a=e.children||[];return a.forEach(function(o){i.appendChild(dv(o,{ceFn:r}))}),i}function ow(e){var t=" ".concat(e.outerHTML," ");return t="".concat(t,"Font Awesome fontawesome.com "),t}var bo={replace:function(t){var n=t[0];if(n.parentNode)if(t[1].forEach(function(i){n.parentNode.insertBefore(dv(i),n)}),n.getAttribute(yr)===null&&W.keepOriginalSource){var r=xe.createComment(ow(n));n.parentNode.replaceChild(r,n)}else n.remove()},nest:function(t){var n=t[0],r=t[1];if(~Mc(n).indexOf(W.replacementClass))return bo.replace(t);var i=new RegExp("".concat(W.cssPrefix,"-.*"));if(delete r[0].attributes.id,r[0].attributes.class){var a=r[0].attributes.class.split(" ").reduce(function(l,s){return s===W.replacementClass||s.match(i)?l.toSvg.push(s):l.toNode.push(s),l},{toNode:[],toSvg:[]});r[0].attributes.class=a.toSvg.join(" "),a.toNode.length===0?n.removeAttribute("class"):n.setAttribute("class",a.toNode.join(" "))}var o=r.map(function(l){return Pa(l)}).join(` +`);n.setAttribute(yr,""),n.innerHTML=o}};function Vd(e){e()}function pv(e,t){var n=typeof t=="function"?t:Eo;if(e.length===0)n();else{var r=Vd;W.mutateApproach===cx&&(r=Bn.requestAnimationFrame||Vd),r(function(){var i=rw(),a=$c.begin("mutate");e.map(i),a(),n()})}}var Vc=!1;function mv(){Vc=!0}function Eu(){Vc=!1}var qo=null;function Bd(e){if(Od&&W.observeMutations){var t=e.treeCallback,n=t===void 0?Eo:t,r=e.nodeCallback,i=r===void 0?Eo:r,a=e.pseudoElementsCallback,o=a===void 0?Eo:a,l=e.observeMutationsRoot,s=l===void 0?xe:l;qo=new Od(function(c){if(!Vc){var f=Wn();pi(c).forEach(function(d){if(d.type==="childList"&&d.addedNodes.length>0&&!$d(d.addedNodes[0])&&(W.searchPseudoElements&&o(d.target),n(d.target)),d.type==="attributes"&&d.target.parentNode&&W.searchPseudoElements&&o(d.target.parentNode),d.type==="attributes"&&$d(d.target)&&~gx.indexOf(d.attributeName))if(d.attributeName==="class"&&tw(d.target)){var m=Sl(Mc(d.target)),g=m.prefix,y=m.iconName;d.target.setAttribute(Oc,g||f),y&&d.target.setAttribute(Lc,y)}else nw(d.target)&&i(d.target)})}}),xn&&qo.observe(s,{childList:!0,attributes:!0,characterData:!0,subtree:!0})}}function lw(){qo&&qo.disconnect()}function sw(e){var t=e.getAttribute("style"),n=[];return t&&(n=t.split(";").reduce(function(r,i){var a=i.split(":"),o=a[0],l=a.slice(1);return o&&l.length>0&&(r[o]=l.join(":").trim()),r},{})),n}function uw(e){var t=e.getAttribute("data-prefix"),n=e.getAttribute("data-icon"),r=e.innerText!==void 0?e.innerText.trim():"",i=Sl(Mc(e));return i.prefix||(i.prefix=Wn()),t&&n&&(i.prefix=t,i.iconName=n),i.iconName&&i.prefix||(i.prefix&&r.length>0&&(i.iconName=Ux(i.prefix,e.innerText)||zc(i.prefix,vu(e.innerText))),!i.iconName&&W.autoFetchSvg&&e.firstChild&&e.firstChild.nodeType===Node.TEXT_NODE&&(i.iconName=e.firstChild.data)),i}function cw(e){var t=pi(e.attributes).reduce(function(i,a){return i.name!=="class"&&i.name!=="style"&&(i[a.name]=a.value),i},{}),n=e.getAttribute("title"),r=e.getAttribute("data-fa-title-id");return W.autoA11y&&(n?t["aria-labelledby"]="".concat(W.replacementClass,"-title-").concat(r||va()):(t["aria-hidden"]="true",t.focusable="false")),t}function fw(){return{iconName:null,title:null,titleId:null,prefix:null,transform:Qt,symbol:!1,mask:{iconName:null,prefix:null,rest:[]},maskId:null,extra:{classes:[],styles:{},attributes:{}}}}function Wd(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{styleParser:!0},n=uw(e),r=n.iconName,i=n.prefix,a=n.rest,o=cw(e),l=yu("parseNodeAttributes",{},e),s=t.styleParser?sw(e):[];return U({iconName:r,title:e.getAttribute("title"),titleId:e.getAttribute("data-fa-title-id"),prefix:i,transform:Qt,mask:{iconName:null,prefix:null,rest:[]},maskId:null,symbol:!1,extra:{classes:a,styles:s,attributes:o}},l)}var dw=Ft.styles;function hv(e){var t=W.autoReplaceSvg==="nest"?Wd(e,{styleParser:!1}):Wd(e);return~t.extra.classes.indexOf(Jh)?hn("generateLayersText",e,t):hn("generateSvgReplacementMutation",e,t)}var Hn=new Set;Ac.map(function(e){Hn.add("fa-".concat(e))});Object.keys(da[ge]).map(Hn.add.bind(Hn));Object.keys(da[_e]).map(Hn.add.bind(Hn));Hn=Na(Hn);function Hd(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if(!xn)return Promise.resolve();var n=xe.documentElement.classList,r=function(d){return n.add("".concat(Ld,"-").concat(d))},i=function(d){return n.remove("".concat(Ld,"-").concat(d))},a=W.autoFetchSvg?Hn:Ac.map(function(f){return"fa-".concat(f)}).concat(Object.keys(dw));a.includes("fa")||a.push("fa");var o=[".".concat(Jh,":not([").concat(yr,"])")].concat(a.map(function(f){return".".concat(f,":not([").concat(yr,"])")})).join(", ");if(o.length===0)return Promise.resolve();var l=[];try{l=pi(e.querySelectorAll(o))}catch{}if(l.length>0)r("pending"),i("complete");else return Promise.resolve();var s=$c.begin("onTree"),c=l.reduce(function(f,d){try{var m=hv(d);m&&f.push(m)}catch(g){Xh||g.name==="MissingIcon"&&console.error(g)}return f},[]);return new Promise(function(f,d){Promise.all(c).then(function(m){pv(m,function(){r("active"),r("complete"),i("pending"),typeof t=="function"&&t(),s(),f()})}).catch(function(m){s(),d(m)})})}function pw(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;hv(e).then(function(n){n&&pv([n],t)})}function mw(e){return function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=(t||{}).icon?t:xu(t||{}),i=n.mask;return i&&(i=(i||{}).icon?i:xu(i||{})),e(r,U(U({},n),{},{mask:i}))}}var hw=function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=n.transform,i=r===void 0?Qt:r,a=n.symbol,o=a===void 0?!1:a,l=n.mask,s=l===void 0?null:l,c=n.maskId,f=c===void 0?null:c,d=n.title,m=d===void 0?null:d,g=n.titleId,y=g===void 0?null:g,w=n.classes,k=w===void 0?[]:w,h=n.attributes,p=h===void 0?{}:h,v=n.styles,j=v===void 0?{}:v;if(t){var _=t.prefix,x=t.iconName,R=t.icon;return kl(U({type:"icon"},t),function(){return xr("beforeDOMElementCreation",{iconDefinition:t,params:n}),W.autoA11y&&(m?p["aria-labelledby"]="".concat(W.replacementClass,"-title-").concat(y||va()):(p["aria-hidden"]="true",p.focusable="false")),Uc({icons:{main:wu(R),mask:s?wu(s.icon):{found:!1,width:null,height:null,icon:{}}},prefix:_,iconName:x,transform:U(U({},Qt),i),symbol:o,title:m,maskId:f,titleId:y,extra:{attributes:p,styles:j,classes:k}})})}},vw={mixout:function(){return{icon:mw(hw)}},hooks:function(){return{mutationObserverCallbacks:function(n){return n.treeCallback=Hd,n.nodeCallback=pw,n}}},provides:function(t){t.i2svg=function(n){var r=n.node,i=r===void 0?xe:r,a=n.callback,o=a===void 0?function(){}:a;return Hd(i,o)},t.generateSvgReplacementMutation=function(n,r){var i=r.iconName,a=r.title,o=r.titleId,l=r.prefix,s=r.transform,c=r.symbol,f=r.mask,d=r.maskId,m=r.extra;return new Promise(function(g,y){Promise.all([Su(i,l),f.iconName?Su(f.iconName,f.prefix):Promise.resolve({found:!1,width:512,height:512,icon:{}})]).then(function(w){var k=Rc(w,2),h=k[0],p=k[1];g([n,Uc({icons:{main:h,mask:p},prefix:l,iconName:i,transform:s,symbol:c,maskId:d,title:a,titleId:o,extra:m,watchable:!0})])}).catch(y)})},t.generateAbstractIcon=function(n){var r=n.children,i=n.attributes,a=n.main,o=n.transform,l=n.styles,s=xl(l);s.length>0&&(i.style=s);var c;return Dc(o)&&(c=hn("generateAbstractTransformGrouping",{main:a,transform:o,containerWidth:a.width,iconWidth:a.width})),r.push(c||a.icon),{children:r,attributes:i}}}},gw={mixout:function(){return{layer:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=r.classes,a=i===void 0?[]:i;return kl({type:"layer"},function(){xr("beforeDOMElementCreation",{assembler:n,params:r});var o=[];return n(function(l){Array.isArray(l)?l.map(function(s){o=o.concat(s.abstract)}):o=o.concat(l.abstract)}),[{tag:"span",attributes:{class:["".concat(W.cssPrefix,"-layers")].concat(Na(a)).join(" ")},children:o}]})}}}},yw={mixout:function(){return{counter:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=r.title,a=i===void 0?null:i,o=r.classes,l=o===void 0?[]:o,s=r.attributes,c=s===void 0?{}:s,f=r.styles,d=f===void 0?{}:f;return kl({type:"counter",content:n},function(){return xr("beforeDOMElementCreation",{content:n,params:r}),Jx({content:n.toString(),title:a,extra:{attributes:c,styles:d,classes:["".concat(W.cssPrefix,"-layers-counter")].concat(Na(l))}})})}}}},xw={mixout:function(){return{text:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=r.transform,a=i===void 0?Qt:i,o=r.title,l=o===void 0?null:o,s=r.classes,c=s===void 0?[]:s,f=r.attributes,d=f===void 0?{}:f,m=r.styles,g=m===void 0?{}:m;return kl({type:"text",content:n},function(){return xr("beforeDOMElementCreation",{content:n,params:r}),Fd({content:n,transform:U(U({},Qt),a),title:l,extra:{attributes:d,styles:g,classes:["".concat(W.cssPrefix,"-layers-text")].concat(Na(c))}})})}}},provides:function(t){t.generateLayersText=function(n,r){var i=r.title,a=r.transform,o=r.extra,l=null,s=null;if(Kh){var c=parseInt(getComputedStyle(n).fontSize,10),f=n.getBoundingClientRect();l=f.width/c,s=f.height/c}return W.autoA11y&&!i&&(o.attributes["aria-hidden"]="true"),Promise.resolve([n,Fd({content:n.innerHTML,width:l,height:s,transform:a,title:i,extra:o,watchable:!0})])}}},ww=new RegExp('"',"ug"),Yd=[1105920,1112319];function Sw(e){var t=e.replace(ww,""),n=Ax(t,0),r=n>=Yd[0]&&n<=Yd[1],i=t.length===2?t[0]===t[1]:!1;return{value:vu(i?t[0]:t),isSecondary:r||i}}function Kd(e,t){var n="".concat(ux).concat(t.replace(":","-"));return new Promise(function(r,i){if(e.getAttribute(n)!==null)return r();var a=pi(e.children),o=a.filter(function(R){return R.getAttribute(hu)===t})[0],l=Bn.getComputedStyle(e,t),s=l.getPropertyValue("font-family").match(mx),c=l.getPropertyValue("font-weight"),f=l.getPropertyValue("content");if(o&&!s)return e.removeChild(o),r();if(s&&f!=="none"&&f!==""){var d=l.getPropertyValue("content"),m=~["Sharp"].indexOf(s[2])?_e:ge,g=~["Solid","Regular","Light","Thin","Duotone","Brands","Kit"].indexOf(s[2])?pa[m][s[2].toLowerCase()]:hx[m][c],y=Sw(d),w=y.value,k=y.isSecondary,h=s[0].startsWith("FontAwesome"),p=zc(g,w),v=p;if(h){var j=$x(w);j.iconName&&j.prefix&&(p=j.iconName,g=j.prefix)}if(p&&!k&&(!o||o.getAttribute(Oc)!==g||o.getAttribute(Lc)!==v)){e.setAttribute(n,v),o&&e.removeChild(o);var _=fw(),x=_.extra;x.attributes[hu]=t,Su(p,g).then(function(R){var A=Uc(U(U({},_),{},{icons:{main:R,mask:Fc()},prefix:g,iconName:v,extra:x,watchable:!0})),L=xe.createElementNS("http://www.w3.org/2000/svg","svg");t==="::before"?e.insertBefore(L,e.firstChild):e.appendChild(L),L.outerHTML=A.map(function(z){return Pa(z)}).join(` +`),e.removeAttribute(n),r()}).catch(i)}else r()}else r()})}function kw(e){return Promise.all([Kd(e,"::before"),Kd(e,"::after")])}function Ew(e){return e.parentNode!==document.head&&!~fx.indexOf(e.tagName.toUpperCase())&&!e.getAttribute(hu)&&(!e.parentNode||e.parentNode.tagName!=="svg")}function Qd(e){if(xn)return new Promise(function(t,n){var r=pi(e.querySelectorAll("*")).filter(Ew).map(kw),i=$c.begin("searchPseudoElements");mv(),Promise.all(r).then(function(){i(),Eu(),t()}).catch(function(){i(),Eu(),n()})})}var bw={hooks:function(){return{mutationObserverCallbacks:function(n){return n.pseudoElementsCallback=Qd,n}}},provides:function(t){t.pseudoElements2svg=function(n){var r=n.node,i=r===void 0?xe:r;W.searchPseudoElements&&Qd(i)}}},Gd=!1,jw={mixout:function(){return{dom:{unwatch:function(){mv(),Gd=!0}}}},hooks:function(){return{bootstrap:function(){Bd(yu("mutationObserverCallbacks",{}))},noAuto:function(){lw()},watch:function(n){var r=n.observeMutationsRoot;Gd?Eu():Bd(yu("mutationObserverCallbacks",{observeMutationsRoot:r}))}}}},Xd=function(t){var n={size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0};return t.toLowerCase().split(" ").reduce(function(r,i){var a=i.toLowerCase().split("-"),o=a[0],l=a.slice(1).join("-");if(o&&l==="h")return r.flipX=!0,r;if(o&&l==="v")return r.flipY=!0,r;if(l=parseFloat(l),isNaN(l))return r;switch(o){case"grow":r.size=r.size+l;break;case"shrink":r.size=r.size-l;break;case"left":r.x=r.x-l;break;case"right":r.x=r.x+l;break;case"up":r.y=r.y-l;break;case"down":r.y=r.y+l;break;case"rotate":r.rotate=r.rotate+l;break}return r},n)},Nw={mixout:function(){return{parse:{transform:function(n){return Xd(n)}}}},hooks:function(){return{parseNodeAttributes:function(n,r){var i=r.getAttribute("data-fa-transform");return i&&(n.transform=Xd(i)),n}}},provides:function(t){t.generateAbstractTransformGrouping=function(n){var r=n.main,i=n.transform,a=n.containerWidth,o=n.iconWidth,l={transform:"translate(".concat(a/2," 256)")},s="translate(".concat(i.x*32,", ").concat(i.y*32,") "),c="scale(".concat(i.size/16*(i.flipX?-1:1),", ").concat(i.size/16*(i.flipY?-1:1),") "),f="rotate(".concat(i.rotate," 0 0)"),d={transform:"".concat(s," ").concat(c," ").concat(f)},m={transform:"translate(".concat(o/2*-1," -256)")},g={outer:l,inner:d,path:m};return{tag:"g",attributes:U({},g.outer),children:[{tag:"g",attributes:U({},g.inner),children:[{tag:r.icon.tag,children:r.icon.children,attributes:U(U({},r.icon.attributes),g.path)}]}]}}}},us={x:0,y:0,width:"100%",height:"100%"};function Jd(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return e.attributes&&(e.attributes.fill||t)&&(e.attributes.fill="black"),e}function Cw(e){return e.tag==="g"?e.children:[e]}var Pw={hooks:function(){return{parseNodeAttributes:function(n,r){var i=r.getAttribute("data-fa-mask"),a=i?Sl(i.split(" ").map(function(o){return o.trim()})):Fc();return a.prefix||(a.prefix=Wn()),n.mask=a,n.maskId=r.getAttribute("data-fa-mask-id"),n}}},provides:function(t){t.generateAbstractMask=function(n){var r=n.children,i=n.attributes,a=n.main,o=n.mask,l=n.maskId,s=n.transform,c=a.width,f=a.icon,d=o.width,m=o.icon,g=Nx({transform:s,containerWidth:d,iconWidth:c}),y={tag:"rect",attributes:U(U({},us),{},{fill:"white"})},w=f.children?{children:f.children.map(Jd)}:{},k={tag:"g",attributes:U({},g.inner),children:[Jd(U({tag:f.tag,attributes:U(U({},f.attributes),g.path)},w))]},h={tag:"g",attributes:U({},g.outer),children:[k]},p="mask-".concat(l||va()),v="clip-".concat(l||va()),j={tag:"mask",attributes:U(U({},us),{},{id:p,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[y,h]},_={tag:"defs",children:[{tag:"clipPath",attributes:{id:v},children:Cw(m)},j]};return r.push(_,{tag:"rect",attributes:U({fill:"currentColor","clip-path":"url(#".concat(v,")"),mask:"url(#".concat(p,")")},us)}),{children:r,attributes:i}}}},_w={provides:function(t){var n=!1;Bn.matchMedia&&(n=Bn.matchMedia("(prefers-reduced-motion: reduce)").matches),t.missingIconAbstract=function(){var r=[],i={fill:"currentColor"},a={attributeType:"XML",repeatCount:"indefinite",dur:"2s"};r.push({tag:"path",attributes:U(U({},i),{},{d:"M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"})});var o=U(U({},a),{},{attributeName:"opacity"}),l={tag:"circle",attributes:U(U({},i),{},{cx:"256",cy:"364",r:"28"}),children:[]};return n||l.children.push({tag:"animate",attributes:U(U({},a),{},{attributeName:"r",values:"28;14;28;28;14;28;"})},{tag:"animate",attributes:U(U({},o),{},{values:"1;0;1;1;0;1;"})}),r.push(l),r.push({tag:"path",attributes:U(U({},i),{},{opacity:"1",d:"M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"}),children:n?[]:[{tag:"animate",attributes:U(U({},o),{},{values:"1;0;0;0;0;1;"})}]}),n||r.push({tag:"path",attributes:U(U({},i),{},{opacity:"0",d:"M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"}),children:[{tag:"animate",attributes:U(U({},o),{},{values:"0;0;1;1;0;0;"})}]}),{tag:"g",attributes:{class:"missing"},children:r}}}},Rw={hooks:function(){return{parseNodeAttributes:function(n,r){var i=r.getAttribute("data-fa-symbol"),a=i===null?!1:i===""?!0:i;return n.symbol=a,n}}}},Tw=[_x,vw,gw,yw,xw,bw,jw,Nw,Pw,_w,Rw];Wx(Tw,{mixoutsTo:Et});Et.noAuto;Et.config;Et.library;Et.dom;var bu=Et.parse;Et.findIconDefinition;Et.toHtml;var Ow=Et.icon;Et.layer;Et.text;Et.counter;var vv={exports:{}},Lw="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",Aw=Lw,Mw=Aw;function gv(){}function yv(){}yv.resetWarningCache=gv;var Dw=function(){function e(r,i,a,o,l,s){if(s!==Mw){var c=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 c.name="Invariant Violation",c}}e.isRequired=e;function t(){return e}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:yv,resetWarningCache:gv};return n.PropTypes=n,n};vv.exports=Dw();var Iw=vv.exports;const te=_u(Iw);function qd(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}function On(e){for(var t=1;t=0)&&(n[i]=e[i]);return n}function Fw(e,t){if(e==null)return{};var n=zw(e,t),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function ju(e){return Uw(e)||$w(e)||Vw(e)||Bw()}function Uw(e){if(Array.isArray(e))return Nu(e)}function $w(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Vw(e,t){if(e){if(typeof e=="string")return Nu(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Nu(e,t)}}function Nu(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n2&&arguments[2]!==void 0?arguments[2]:{};if(typeof t=="string")return t;var r=(t.children||[]).map(function(s){return wv(e,s)}),i=Object.keys(t.attributes||{}).reduce(function(s,c){var f=t.attributes[c];switch(c){case"class":s.attrs.className=f,delete t.attributes.class;break;case"style":s.attrs.style=Qw(f);break;default:c.indexOf("aria-")===0||c.indexOf("data-")===0?s.attrs[c.toLowerCase()]=f:s.attrs[xv(c)]=f}return s},{attrs:{}}),a=n.style,o=a===void 0?{}:a,l=Fw(n,Yw);return i.attrs.style=On(On({},i.attrs.style),o),e.apply(void 0,[t.tag,On(On({},i.attrs),l)].concat(ju(r)))}var Sv=!1;try{Sv=!0}catch{}function Gw(){if(!Sv&&console&&typeof console.error=="function"){var e;(e=console).error.apply(e,arguments)}}function Zd(e){if(e&&Zo(e)==="object"&&e.prefix&&e.iconName&&e.icon)return e;if(bu.icon)return bu.icon(e);if(e===null)return null;if(e&&Zo(e)==="object"&&e.prefix&&e.iconName)return e;if(Array.isArray(e)&&e.length===2)return{prefix:e[0],iconName:e[1]};if(typeof e=="string")return{prefix:"fas",iconName:e}}function cs(e,t){return Array.isArray(t)&&t.length>0||!Array.isArray(t)&&t?Yr({},e,t):{}}var Ee=ya.forwardRef(function(e,t){var n=e.icon,r=e.mask,i=e.symbol,a=e.className,o=e.title,l=e.titleId,s=e.maskId,c=Zd(n),f=cs("classes",[].concat(ju(Ww(e)),ju(a.split(" ")))),d=cs("transform",typeof e.transform=="string"?bu.transform(e.transform):e.transform),m=cs("mask",Zd(r)),g=Ow(c,On(On(On(On({},f),d),m),{},{symbol:i,title:o,titleId:l,maskId:s}));if(!g)return Gw("Could not find icon",c),null;var y=g.abstract,w={ref:t};return Object.keys(e).forEach(function(k){Ee.defaultProps.hasOwnProperty(k)||(w[k]=e[k])}),Xw(y[0],w)});Ee.displayName="FontAwesomeIcon";Ee.propTypes={beat:te.bool,border:te.bool,beatFade:te.bool,bounce:te.bool,className:te.string,fade:te.bool,flash:te.bool,mask:te.oneOfType([te.object,te.array,te.string]),maskId:te.string,fixedWidth:te.bool,inverse:te.bool,flip:te.oneOf([!0,!1,"horizontal","vertical","both"]),icon:te.oneOfType([te.object,te.array,te.string]),listItem:te.bool,pull:te.oneOf(["right","left"]),pulse:te.bool,rotation:te.oneOf([0,90,180,270]),shake:te.bool,size:te.oneOf(["2xs","xs","sm","lg","xl","2xl","1x","2x","3x","4x","5x","6x","7x","8x","9x","10x"]),spin:te.bool,spinPulse:te.bool,spinReverse:te.bool,symbol:te.oneOfType([te.bool,te.string]),title:te.string,titleId:te.string,transform:te.oneOfType([te.string,te.object]),swapOpacity:te.bool};Ee.defaultProps={border:!1,className:"",mask:null,maskId:null,fixedWidth:!1,inverse:!1,flip:!1,icon:null,listItem:!1,pull:null,pulse:!1,rotation:null,size:null,spin:!1,spinPulse:!1,spinReverse:!1,beat:!1,fade:!1,beatFade:!1,bounce:!1,shake:!1,symbol:!1,title:"",titleId:null,transform:null,swapOpacity:!1};var Xw=wv.bind(null,ya.createElement),lo={prefix:"fab",iconName:"square-github",icon:[448,512,["github-square"],"f092","M448 96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96zM265.8 407.7c0-1.8 0-6 .1-11.6c.1-11.4 .1-28.8 .1-43.7c0-15.6-5.2-25.5-11.3-30.7c37-4.1 76-9.2 76-73.1c0-18.2-6.5-27.3-17.1-39c1.7-4.3 7.4-22-1.7-45c-13.9-4.3-45.7 17.9-45.7 17.9c-13.2-3.7-27.5-5.6-41.6-5.6s-28.4 1.9-41.6 5.6c0 0-31.8-22.2-45.7-17.9c-9.1 22.9-3.5 40.6-1.7 45c-10.6 11.7-15.6 20.8-15.6 39c0 63.6 37.3 69 74.3 73.1c-4.8 4.3-9.1 11.7-10.6 22.3c-9.5 4.3-33.8 11.7-48.3-13.9c-9.1-15.8-25.5-17.1-25.5-17.1c-16.2-.2-1.1 10.2-1.1 10.2c10.8 5 18.4 24.2 18.4 24.2c9.7 29.7 56.1 19.7 56.1 19.7c0 9 .1 21.7 .1 30.6c0 4.8 .1 8.6 .1 10c0 4.3-3 9.5-11.5 8C106 393.6 59.8 330.8 59.8 257.4c0-91.8 70.2-161.5 162-161.5s166.2 69.7 166.2 161.5c.1 73.4-44.7 136.3-110.7 158.3c-8.4 1.5-11.5-3.7-11.5-8zm-90.5-54.8c-.2-1.5 1.1-2.8 3-3.2c1.9-.2 3.7 .6 3.9 1.9c.3 1.3-1 2.6-3 3c-1.9 .4-3.7-.4-3.9-1.7zm-9.1 3.2c-2.2 .2-3.7-.9-3.7-2.4c0-1.3 1.5-2.4 3.5-2.4c1.9-.2 3.7 .9 3.7 2.4c0 1.3-1.5 2.4-3.5 2.4zm-14.3-2.2c-1.9-.4-3.2-1.9-2.8-3.2s2.4-1.9 4.1-1.5c2 .6 3.3 2.1 2.8 3.4c-.4 1.3-2.4 1.9-4.1 1.3zm-12.5-7.3c-1.5-1.3-1.9-3.2-.9-4.1c.9-1.1 2.8-.9 4.3 .6c1.3 1.3 1.8 3.3 .9 4.1c-.9 1.1-2.8 .9-4.3-.6zm-8.5-10c-1.1-1.5-1.1-3.2 0-3.9c1.1-.9 2.8-.2 3.7 1.3c1.1 1.5 1.1 3.3 0 4.1c-.9 .6-2.6 0-3.7-1.5zm-6.3-8.8c-1.1-1.3-1.3-2.8-.4-3.5c.9-.9 2.4-.4 3.5 .6c1.1 1.3 1.3 2.8 .4 3.5c-.9 .9-2.4 .4-3.5-.6zm-6-6.4c-1.3-.6-1.9-1.7-1.5-2.6c.4-.6 1.5-.9 2.8-.4c1.3 .7 1.9 1.8 1.5 2.6c-.4 .9-1.7 1.1-2.8 .4z"]},so={prefix:"fab",iconName:"linkedin",icon:[448,512,[],"f08c","M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z"]};const kv=()=>u.jsxs("div",{className:"main-footer",children:[u.jsx("h1",{className:"footer-title",children:" Our Development Team"}),u.jsxs("div",{className:"footer-links",children:[u.jsxs("div",{className:"developer",children:["Andrea Cheung",u.jsx($e,{to:"https://github.com/acheung-94",children:u.jsx(Ee,{icon:lo})}),u.jsx($e,{to:"https://www.linkedin.com/in/andrea-cheung-b9b5072b2/",children:u.jsx(Ee,{icon:so})})]}),u.jsx("span",{className:"footer-sep"}),u.jsxs("div",{className:"developer",children:["Christopher J. Trent",u.jsx($e,{to:"https://github.com/ChristopherJTrent",children:u.jsx(Ee,{icon:lo})}),u.jsx($e,{to:"https://www.linkedin.com/in/christopher-trent-95b581190/",children:u.jsx(Ee,{icon:so})})]}),u.jsx("span",{className:"footer-sep"}),u.jsxs("div",{className:"developer",children:["Sam Kim",u.jsx($e,{to:"https://github.com/sam-kim99",children:u.jsx(Ee,{icon:lo})}),u.jsx($e,{to:"https://www.linkedin.com/in/samuel-kim-b8460b225",children:u.jsx(Ee,{icon:so})})]}),u.jsx("span",{className:"footer-sep"}),u.jsxs("div",{className:"developer",children:["SoHyun Jang",u.jsx($e,{to:"https://github.com/shjang1025",children:u.jsx(Ee,{icon:lo})}),u.jsx($e,{to:"https://www.linkedin.com/in/sohyun-jang-469918115",children:u.jsx(Ee,{icon:so})})]})]})]});var Ev={exports:{}},bv={};/** * @license React * use-sync-external-store-with-selector.production.min.js * @@ -835,8 +835,8 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var _a=_;function Jw(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var qw=typeof Object.is=="function"?Object.is:Jw,Zw=_a.useSyncExternalStore,e2=_a.useRef,t2=_a.useEffect,n2=_a.useMemo,r2=_a.useDebugValue;bv.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var a=e2(null);if(a.current===null){var o={hasValue:!1,value:null};a.current=o}else o=a.current;a=n2(function(){function s(g){if(!c){if(c=!0,f=g,g=r(g),i!==void 0&&o.hasValue){var y=o.value;if(i(y,g))return d=y}return d=g}if(y=d,qw(f,g))return y;var w=r(g);return i!==void 0&&i(y,w)?y:(f=g,d=w)}var c=!1,f,d,m=n===void 0?null:n;return[function(){return s(t())},m===null?void 0:function(){return s(m())}]},[t,n,r,i]);var l=Zw(e,a[0],a[1]);return t2(function(){o.hasValue=!0,o.value=l},[l]),r2(l),l};Ev.exports=bv;var i2=Ev.exports,yt="default"in ps?ya:ps,ep=Symbol.for("react-redux-context"),tp=typeof globalThis<"u"?globalThis:{};function a2(){if(!yt.createContext)return{};const e=tp[ep]??(tp[ep]=new Map);let t=e.get(yt.createContext);return t||(t=yt.createContext(null),e.set(yt.createContext,t)),t}var Yn=a2(),o2=()=>{throw new Error("uSES not initialized!")};function Bc(e=Yn){return function(){return yt.useContext(e)}}var jv=Bc(),Nv=o2,l2=e=>{Nv=e},s2=(e,t)=>e===t;function u2(e=Yn){const t=e===Yn?jv:Bc(e),n=(r,i={})=>{const{equalityFn:a=s2,devModeChecks:o={}}=typeof i=="function"?{equalityFn:i}:i,{store:l,subscription:s,getServerState:c,stabilityCheck:f,identityFunctionCheck:d}=t();yt.useRef(!0);const m=yt.useCallback({[r.name](y){return r(y)}}[r.name],[r,f,o.stabilityCheck]),g=Nv(s.addNestedSub,l.getState,c||l.getState,m,a);return yt.useDebugValue(g),g};return Object.assign(n,{withTypes:()=>n}),n}var Jt=u2();function c2(e){e()}function f2(){let e=null,t=null;return{clear(){e=null,t=null},notify(){c2(()=>{let n=e;for(;n;)n.callback(),n=n.next})},get(){const n=[];let r=e;for(;r;)n.push(r),r=r.next;return n},subscribe(n){let r=!0;const i=t={callback:n,next:null,prev:t};return i.prev?i.prev.next=i:e=i,function(){!r||e===null||(r=!1,i.next?i.next.prev=i.prev:t=i.prev,i.prev?i.prev.next=i.next:e=i.next)}}}}var np={notify(){},get:()=>[]};function d2(e,t){let n,r=np,i=0,a=!1;function o(w){f();const E=r.subscribe(w);let h=!1;return()=>{h||(h=!0,E(),d())}}function l(){r.notify()}function s(){y.onStateChange&&y.onStateChange()}function c(){return a}function f(){i++,n||(n=t?t.addNestedSub(s):e.subscribe(s),r=f2())}function d(){i--,n&&i===0&&(n(),n=void 0,r.clear(),r=np)}function m(){a||(a=!0,f())}function g(){a&&(a=!1,d())}const y={addNestedSub:o,notifyNestedSubs:l,handleChangeWrapper:s,isSubscribed:c,trySubscribe:m,tryUnsubscribe:g,getListeners:()=>r};return y}var p2=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",m2=typeof navigator<"u"&&navigator.product==="ReactNative",h2=p2||m2?yt.useLayoutEffect:yt.useEffect;function v2({store:e,context:t,children:n,serverState:r,stabilityCheck:i="once",identityFunctionCheck:a="once"}){const o=yt.useMemo(()=>{const c=d2(e);return{store:e,subscription:c,getServerState:r?()=>r:void 0,stabilityCheck:i,identityFunctionCheck:a}},[e,r,i,a]),l=yt.useMemo(()=>e.getState(),[e]);h2(()=>{const{subscription:c}=o;return c.onStateChange=c.notifyNestedSubs,c.trySubscribe(),l!==e.getState()&&c.notifyNestedSubs(),()=>{c.tryUnsubscribe(),c.onStateChange=void 0}},[o,l]);const s=t||Yn;return yt.createElement(s.Provider,{value:o},n)}var g2=v2;function Cv(e=Yn){const t=e===Yn?jv:Bc(e),n=()=>{const{store:r}=t();return r};return Object.assign(n,{withTypes:()=>n}),n}var y2=Cv();function x2(e=Yn){const t=e===Yn?y2:Cv(e),n=()=>t().dispatch;return Object.assign(n,{withTypes:()=>n}),n}var Ot=x2();l2(i2.useSyncExternalStoreWithSelector);const qt=async(e,t={})=>{t.method=t.method||"GET",t.headers=t.headers||{};const n=localStorage.getItem("jwtToken");n&&(t.headers.Authorization="Bearer "+n),t.method.toUpperCase()!=="GET"&&(t.headers["Content-Type"]=t.headers["Content-Type"]||"application/json",t.headers["CSRF-Token"]=Wc("CSRF-TOKEN"));const r=await fetch(e,t);if(r.status>=400)throw r;return r},Wc=e=>{const t=document.cookie.split(";");for(let n of t){const[r,i]=n.split("=");if(r.trim()===e)return i}return null},w2=e=>qt("/api/users/register",{method:"POST",body:JSON.stringify(e)}),S2=e=>qt("/api/users/login",{method:"POST",body:JSON.stringify(e)}),k2=()=>qt("/api/users/sessionRestore"),Hc=({user:e,token:t,issued:n,expiresSeconds:r})=>{const i=new Date(n),a=new Date(i.getTime()+r*1e3);e.sessionExpiration=a.toISOString(),localStorage.setItem("jwtToken",t),localStorage.setItem("currentUser",JSON.stringify(e))},Pv="session/SET_CURRENT_USER",_v="sesison/REMOVE_CURRENT_USER",E2="session/SET_EXPIRATION",Yc=e=>({type:Pv,sessionInfo:e}),b2=()=>({type:_v}),j2=e=>t=>w2(e).then(n=>{if(n.ok)return n.json();throw n}).then(n=>{Hc(n),t(Yc(n.user))}),Rv=e=>t=>S2(e).then(n=>{if(n.ok)return n.json();throw n}).then(n=>{Hc(n),t(Yc(n.user))}),Cu=()=>e=>{localStorage.removeItem("jwtToken"),localStorage.removeItem("currentUser"),e(b2())},N2=()=>e=>{k2().then(t=>{if(t.ok)return t.json();throw t}).then(t=>{Hc(t),e(Yc(t.user))})},El=e=>e.session,C2=JSON.parse(localStorage.getItem("currentUser"))||null,P2=(e=C2,t)=>{switch(t.type){case Pv:return t.sessionInfo;case _v:return null;case E2:return t.expiresAt;default:return e}},Tv="errors/SESSION_ALERT",Pu=e=>({type:Tv,boolean:e}),_2=e=>e.errors.session,R2={session:!1},T2=(e=R2,t)=>{const n={...e};switch(t.type){case Tv:return{...n,session:t.boolean};default:return e}};const O2=()=>{const e=Ot(),t=ja(),n=()=>{e(Pu(!1)),t("/login")},r=()=>{e(Cu()),e(Pu(!1)),t("/")};return u.jsx("div",{className:"session-alert-bg",children:u.jsxs("div",{className:"session-alert",children:[u.jsx("h3",{children:"Oh no! Your session has expired. "}),u.jsx("h3",{children:"Click below to log in again."}),u.jsx("button",{onClick:n,children:"Go to Login"}),u.jsx("button",{onClick:r,children:"Log out"})]})})},Kc=()=>{const e=Jt(El),t=Jt(_2),n=Ot(),r=Jn(),i=ja();return _.useEffect(()=>{if(e&&e.sessionExpiration){const a=setInterval(()=>{const o=Date.now(),l=new Date(e.sessionExpiration).getTime();o>=l-5e3&&(n(N2()),clearInterval(a))},500);return()=>{clearInterval(a)}}},[e,n]),_.useEffect(()=>{const a=r.pathname==="/login",o=r.pathname==="/",l=r.pathname==="/register";if(e&&e.sessionExpiration){const s=Date.now(),c=new Date(e.sessionExpiration).getTime();s>=c&&!a&&n(Pu(!0)),s>=c&&o&&n(Cu())}else!o&&!a&&!l&&i("/login")},[r,e,n,i]),u.jsxs("div",{children:[u.jsxs("div",{className:"navbar-container",children:[u.jsxs("div",{className:"title-section",children:[u.jsx("span",{children:u.jsx($e,{to:"/",children:u.jsx("img",{className:"nav-icon",src:"https://pet-portal-assets.s3.us-west-1.amazonaws.com/Frame.svg"})})}),u.jsx("span",{className:"pet-portal-title",children:u.jsx($e,{to:"/",children:"Pet Portal"})})]}),u.jsx("div",{className:"auth-section",children:e?u.jsxs(u.Fragment,{children:[u.jsxs("div",{className:"logout-button-container",children:[u.jsx("span",{className:"marker"}),u.jsx(X0,{to:"/dashboard",children:"Dashboard"})]}),u.jsx("span",{className:"deco-1"}),u.jsxs("div",{className:"logout-button-container",onClick:()=>n(Cu()),children:[u.jsx("span",{className:"marker"}),u.jsx($e,{to:"/",children:"Log out"})]})]}):u.jsxs(u.Fragment,{children:[u.jsxs("div",{className:"login-button-container",children:[u.jsx($e,{to:"/login",children:"Log in"}),u.jsx("span",{className:"marker"})]}),u.jsx("span",{className:"deco-1"}),u.jsxs("div",{className:"signup-button-container",children:[u.jsx("span",{className:"marker"}),u.jsx($e,{to:"/register",children:"Sign up"})]})]})})]}),t&&u.jsx(O2,{})]})};const rp=()=>{const e=Ot(),t=ja(),[n,r]=_.useState(),i=()=>{e(Rv({email:"demo@demo.com",password:"password"})).then(()=>t("/dashboard"))};return _.useEffect(()=>{r(!0)},[]),u.jsxs("div",{className:"home-page-container",children:[u.jsx(Kc,{}),u.jsx("div",{className:"welcome-container-1",children:u.jsxs("div",{className:"section-1",children:[u.jsx("img",{className:"bg-image",src:"https://pet-portal-assets.s3.us-west-1.amazonaws.com/layered-waves-haikei+(1).svg"}),u.jsx("div",{className:"display-container",children:u.jsx("div",{className:"display-border",children:u.jsx("img",{className:"display-dog",src:"https://pet-portal-assets.s3.us-west-1.amazonaws.com/depositphotos_570233356-stock-photo-australian-cattle-dog-forest-hiking.jpg"})})}),u.jsxs("div",{className:"section-1-text",children:[u.jsxs("div",{className:`welcome-heading ${n&&"loaded"}`,children:[u.jsx("h1",{children:"Welcome to Pet Portal."}),u.jsx("span",{className:"deco-1"}),u.jsx("span",{className:"deco-3"})]}),u.jsxs("div",{className:"welcome-message",children:[u.jsx("div",{className:"welcome-message-1",children:u.jsx("p",{children:"Whether you're a seasoned pet parent or embarking on your journey with a new furry friend, Pet Portal is here to simplify your pet care routine."})}),u.jsx("div",{className:"welcome-message-2",children:u.jsx("p",{children:"Keep track of your pet's important information, health reminders, and appointments all in one convenient location!"})}),u.jsx("div",{className:"welcome-message-3",children:u.jsxs("div",{className:"welcome-links",children:[u.jsx("h3",{children:" Ready to get started? "}),u.jsx("div",{className:"demo-login",onClick:i,children:"Try it out"})]})})]})]})]})}),u.jsx(kv,{})]})};const ip=()=>{const e=Jn(),{pathname:t}=e,n=Ot(),r=t==="/register",i=t==="/login",a=ja(),[o,l]=_.useState(""),[s,c]=_.useState(""),[f,d]=_.useState(""),[m,g]=_.useState(""),[y,w]=_.useState(""),[E,h]=_.useState(!1),p=v=>{v.preventDefault(),r?n(j2({email:o,password:s})).then(()=>{l(""),c(""),d(""),a("/dashboard")}).catch(j=>{j.ok||j.json().then(R=>w(R.email))}):i&&n(Rv({email:o,password:s})).then(()=>{l(""),c(""),d(""),a("/dashboard")}).catch(j=>{j.ok||g("Invalid credentials")})};return _.useEffect(()=>{l(""),c(""),d(""),g(""),w(""),h(!1)},[e.pathname]),_.useEffect(()=>{h(!!(s!==f&&r))},[s,f,r]),u.jsxs(u.Fragment,{children:[u.jsx(Kc,{}),u.jsxs("div",{className:"below-navbar",children:[u.jsxs("div",{className:"content-container",children:[u.jsx("img",{className:"bg-image",src:"https://pet-portal-assets.s3.us-west-1.amazonaws.com/layered-waves-haikei+(1).svg"}),u.jsxs("div",{className:"session-form-container",children:[u.jsx("div",{className:"session-title",children:t==="/login"?u.jsx("h2",{children:"Log in to your account"}):u.jsx("h2",{children:"Create an Account"})}),u.jsxs("div",{className:"session-input-field",children:[u.jsxs("form",{className:"session-form",onSubmit:p,children:[u.jsx("div",{children:u.jsxs("label",{className:"email-label-container",children:[u.jsx("div",{className:"email-label",children:"Email:"}),u.jsx("input",{onFocus:()=>m&&g(""),id:"email-input",type:"email",placeholder:"E-mail",onChange:v=>l(v.target.value),value:o})]})}),u.jsx("span",{className:"auth-errors",children:y&&y}),u.jsx("div",{children:u.jsxs("label",{className:"password-label-container",children:[u.jsx("div",{className:"password-label",children:"Password:"}),u.jsx("input",{onFocus:()=>m&&g(""),id:"password-input",type:"password",placeholder:"Password",onChange:v=>c(v.target.value),value:s})]})}),u.jsx("div",{children:r&&u.jsxs("label",{className:"password-label-container",children:[u.jsx("div",{className:"password-label",children:"Confirm Password:"}),u.jsx("input",{id:"password-input",type:"password",placeholder:"Password",onChange:v=>d(v.target.value)})]})}),u.jsxs("span",{className:"auth-errors",children:[m&&m,E&&r&&"Passwords must match!"]}),u.jsx("button",{className:"auth-button-submit",type:"submit",disabled:!o.length||!s.length||E||m||y,children:"Submit"}),o.length&&s.length&&!E?u.jsx("span",{className:"deco-2"}):u.jsx("span",{})]}),i&&u.jsxs("div",{className:"auth-button-new-to-portal",children:[u.jsx("span",{className:"marker"}),u.jsx($e,{to:"/register",children:"New to Pet Portal"})]})]})]})]}),u.jsx(kv,{})]})]})},L2=e=>qt(`/api/users/${e}/pets`),A2=e=>fetch("/api/pets",{method:"POST",body:e,headers:{"CSRF-TOKEN":Wc("CSRF-TOKEN"),Accept:"application/json",Authorization:"Bearer "+localStorage.getItem("jwtToken")}}),M2=(e,t)=>fetch(`/api/pets/${t}`,{method:"PUT",body:e,headers:{"CSRF-TOKEN":Wc("CSRF-TOKEN"),Accept:"application/json",Authorization:"Bearer "+localStorage.getItem("jwtToken")}}),D2=e=>qt(`/api/pets/${e}`,{method:"DELETE"});function I2(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!="function")throw new TypeError(t)}function z2(e,t=`expected an object, instead received ${typeof e}`){if(typeof e!="object")throw new TypeError(t)}function F2(e,t="expected all items to be functions, instead received the following types: "){if(!e.every(n=>typeof n=="function")){const n=e.map(r=>typeof r=="function"?`function ${r.name||"unnamed"}()`:typeof r).join(", ");throw new TypeError(`${t}[${n}]`)}}var ap=e=>Array.isArray(e)?e:[e];function U2(e){const t=Array.isArray(e[0])?e[0]:e;return F2(t,"createSelector expects all input-selectors to be functions, but received the following types: "),t}function $2(e,t){const n=[],{length:r}=e;for(let i=0;i{n=uo(),o.resetResultsCount()},o.resultsCount=()=>a,o.resetResultsCount=()=>{a=0},o}function H2(e,...t){const n=typeof e=="function"?{memoize:e,memoizeOptions:t}:e,r=(...i)=>{let a=0,o=0,l,s={},c=i.pop();typeof c=="object"&&(s=c,c=i.pop()),I2(c,`createSelector expects an output function after the inputs, but received: [${typeof c}]`);const f={...n,...s},{memoize:d,memoizeOptions:m=[],argsMemoize:g=Ov,argsMemoizeOptions:y=[],devModeChecks:w={}}=f,E=ap(m),h=ap(y),p=U2(i),v=d(function(){return a++,c.apply(null,arguments)},...E),j=g(function(){o++;const x=$2(p,arguments);return l=v.apply(null,x),l},...h);return Object.assign(j,{resultFunc:c,memoizedResultFunc:v,dependencies:p,dependencyRecomputations:()=>o,resetDependencyRecomputations:()=>{o=0},lastResult:()=>l,recomputations:()=>a,resetRecomputations:()=>{a=0},memoize:d,argsMemoize:g})};return Object.assign(r,{withTypes:()=>r}),r}var Qc=H2(Ov),Y2=Object.assign((e,t=Qc)=>{z2(e,`createStructuredSelector expects first argument to be an object where each property is a selector, instead received a ${typeof e}`);const n=Object.keys(e),r=n.map(a=>e[a]);return t(r,(...a)=>a.reduce((o,l,s)=>(o[n[s]]=l,o),{}))},{withTypes:()=>Y2});const Lv="pets/RECEIVE_PETS",Av="pets/RECEIVE_PET",Mv="pets/REMOVE_PET",K2=e=>({type:Lv,pets:e}),Dv=e=>({type:Av,pet:e}),Q2=e=>({type:Mv,petId:e}),Iv=e=>t=>L2(e).then(n=>{if(n.ok)return n.json();throw n}).then(n=>t(K2(n))),G2=e=>t=>A2(e).then(n=>{if(n.ok)return n.json();throw n}).then(n=>t(Dv(n))).catch(n=>console.error(n)),X2=(e,t)=>n=>{if(!t)return console.error("attempted to update a pet without an id"),e;M2(e,t).then(r=>{if(r.ok)return r.json();throw r}).then(r=>n(Dv(r)))},J2=e=>t=>D2(e).then(n=>{if(n.ok)t(Q2(e));else throw n}),q2=Qc(e=>e.pets,e=>Object.values(e)),Z2=e=>t=>t.pets[e],eS=(e={},t)=>{const n={...e};switch(t.type){case Lv:return t.pets.reduce((r,i)=>(r[i._id]=i,r),{});case Av:return{...e,[t.pet._id]:t.pet};case Mv:return delete n[t.petId],n;default:return e}};const lp=["Rabies","Distemper/Parvo","Leptospirosis","Bordetella","Influenza","Lyme","Rattlesnake"],sp=["Rabies","FVRCP","FELV"],up=["Wellness","Illness","Procedure"],cp=["Flea/Tick Prevention","Heartworm Prevention"],tS=["Canine","Feline","Avian","Pocket Pet","Reptile","Equine","Aquatic"],fs={green:"https://pet-portal-assets.s3.us-west-1.amazonaws.com/check-mark-circle-2-svgrepo-com.svg",upcoming:"https://pet-portal-assets.s3.us-west-1.amazonaws.com/clock-ui-web-svgrepo-com.svg",overdue:"https://pet-portal-assets.s3.us-west-1.amazonaws.com/exclamation-triangle-svgrepo-com.svg"},zv=e=>{const t=new Date,n=new Date(e);if(t>=n)return fs.overdue;let r=n.getMonth(),i=n.getFullYear(),a=n.getDate(),o=r-2;o<0&&(o+=12,i-=1),o===2&&(a=28);const l=new Date(i,o,a);return t>=l&&t<=n?fs.upcoming:fs.green},Fv=({modalState:e,setModalState:t,editModalState:n,setEditModalState:r,initialPetData:i,petId:a})=>{const[o,l]=_.useState((i==null?void 0:i.name)??""),s=i?new Date(i.dob).toISOString().split("T")[0]:"",[c,f]=_.useState(s),[d,m]=_.useState((i==null?void 0:i.sex)??""),[g,y]=_.useState((i==null?void 0:i.species)??""),[w,E]=_.useState((i==null?void 0:i.color)??""),[h,p]=_.useState((i==null?void 0:i.breed)??""),[v,j]=_.useState((i==null?void 0:i.microchipNum)??""),[R,x]=_.useState((i==null?void 0:i.insurancePolicyId)??""),[P,L]=_.useState((i==null?void 0:i.weight)??""),[D,$]=_.useState(i?i.photo:null),[Z,fe]=_.useState(!1),[he,Ie]=_.useState((i==null?void 0:i.imageUrl)??""),Qe=Ot(),dt=Jn(),{pathname:oe}=dt,I=k=>{k.preventDefault();const O=new FormData,z={_id:a,name:o,dob:c,sex:d,species:g,color:w,breed:h,microchipNum:v,insurancePolicyId:R,weight:P,imageUpdated:Z};D&&(O.append("image",D),fe(!0));for(const B in z)Object.hasOwn(z,B)&&O.append(`${B}`,z[B]);Qe(X2(O,a)),r(null),fe(!1)},Y=k=>{k.preventDefault();const O=new FormData,z={name:o,dob:c,sex:d,species:g,color:w,breed:h,microchipNum:v,insurancePolicyId:R,weight:P};for(const B in z)Object.prototype.hasOwnProperty.call(z,B)&&O.append(B,z[B]);D&&O.append("image",D),Qe(G2(O)),t(null),l(""),f(""),m(""),y(""),E(""),p(""),j(""),x(""),L(""),$(null),Ie("")},K=k=>{const O=k.currentTarget.files[0];$(O),Ie(URL.createObjectURL(O))},S=()=>u.jsxs(u.Fragment,{children:[u.jsxs("label",{className:"input-label",children:[u.jsx("div",{className:"name-input-label",children:u.jsxs("span",{children:["Name",u.jsx("span",{className:"required",children:"· required"})]})}),u.jsx("input",{placeholder:"Name",type:"text",value:o,onChange:k=>l(k.target.value)})]}),u.jsxs("label",{className:"input-label",children:[u.jsx("div",{className:"dob-input-label",children:u.jsxs("span",{children:["Date of Birth",u.jsx("span",{className:"required",children:"· required"})]})}),u.jsx("input",{placeholder:"Date of birth",type:"date",value:c,onChange:k=>f(k.target.value)})]}),u.jsxs("label",{className:"input-label",children:[u.jsx("div",{className:"sex-select-label",children:u.jsxs("span",{children:["Sex",u.jsx("span",{className:"required",children:"· required"})]})}),u.jsx("select",{className:"sex-select",placeholder:"Sex",value:d,onChange:k=>m(k.target.value),children:u.jsxs("optgroup",{children:[u.jsx("option",{disabled:!0,value:"",children:" "}),u.jsx("option",{value:"female",id:"female",children:"Female"}),u.jsx("option",{value:"male",id:"male",children:"Male"}),u.jsx("option",{value:"unknown",id:"unknown",children:"Unknown"})]})})]}),u.jsxs("label",{className:"input-label",children:[u.jsx("div",{className:"species-input-label",children:u.jsxs("span",{children:["Species",u.jsx("span",{className:"required",children:"· required"})]})}),u.jsx("select",{className:"species-select",value:g,onChange:k=>y(k.target.value),children:u.jsxs("optgroup",{children:[u.jsx("option",{disabled:!0,value:"",children:"Select Species"}),tS.map((k,O)=>u.jsx("option",{value:k.toLowerCase(),id:k.toLowerCase(),children:k},O))]})})]}),u.jsxs("label",{className:"input-label",children:[u.jsx("div",{className:"color-input-label",children:u.jsxs("span",{children:["Color",u.jsx("span",{className:"required",children:"· required"})]})}),u.jsx("input",{placeholder:"Color",type:"text",value:w,onChange:k=>E(k.target.value)})]}),u.jsxs("label",{className:"input-label",children:[u.jsx("div",{className:"breed-input-label",children:u.jsx("span",{children:"Breed"})}),u.jsx("input",{placeholder:"Breed",type:"text",value:h,onChange:k=>p(k.target.value)})]}),u.jsxs("label",{className:"input-label",children:[u.jsx("div",{className:"microchipNum-input-label",children:u.jsx("span",{children:"Microchip Number"})}),u.jsx("input",{placeholder:"Microchip number",type:"text",value:v,onChange:k=>j(k.target.value)})]}),u.jsxs("label",{className:"input-label",children:[u.jsx("div",{className:"insurance-policy-input-label",children:u.jsx("span",{children:"Insurance Policy Id"})}),u.jsx("input",{placeholder:"Insurance policy id",type:"text",value:R,onChange:k=>x(k.target.value)})]}),u.jsxs("label",{className:"input-label",children:[u.jsx("div",{className:"weight-input-label",children:u.jsx("span",{children:"Weight"})}),u.jsx("input",{placeholder:"Weight",type:"text",value:P,onChange:k=>L(k.target.value)})]}),u.jsxs("label",{className:"input-label",children:[u.jsx("div",{className:"photo-input-label",children:u.jsx("span",{children:e==="edit"?"Update Photo":"Please add photo of your pet !"})}),u.jsx("input",{id:"photo",onChange:K,type:"file"})]})]}),C=()=>{oe==="/dashboard"?t(null):r(null)};return u.jsx(u.Fragment,{children:u.jsx("div",{className:"modal-background",children:u.jsxs("div",{className:`${e?`${e}`:""}${n?`${n}`:""}-modal-content`,onClick:k=>k.stopPropagation(),children:[u.jsx("div",{className:`modal-content-top-${e?`${e}`:""}${n?`${n}`:""}`,children:u.jsx("button",{className:"pet-form-button",onClick:C,children:u.jsx("span",{children:u.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32","aria-hidden":"true",role:"presentation",focusable:"false",style:{display:"block",fill:"none",height:"16px",width:"16px",stroke:"currentcolor",strokeWidth:"3",overflow:"visible"},children:u.jsx("path",{d:"m6 6 20 20M26 6 6 26"})})})})}),u.jsxs("div",{className:"modal-content-center",children:[u.jsxs("div",{className:"modal-content-center-title",children:[e&&u.jsxs("h2",{className:"pet-modal-h2",children:[" ",u.jsx("span",{className:"pet-dash-highlight"}),"Add New Pet"]}),n&&u.jsxs("h2",{className:"pet-modal-h2",children:[u.jsx("span",{className:"pet-dash-highlight"}),"Edit Pet"]})]}),he&&u.jsx("div",{className:"file-preview",children:u.jsx("img",{src:he})}),u.jsx("div",{className:"modal-content-center-form",children:u.jsxs("form",{className:`${e?`${e}`:""}${n?`${n}`:""}-new-pet-form`,onSubmit:oe==="/dashboard"?Y:I,children:[S(),u.jsx("div",{className:`${e?`${e}`:""}${n?`${n}`:""}-new-pet-button`,children:u.jsxs("button",{type:"submit",children:[e&&u.jsx("h2",{children:"Add New Pet"}),n&&u.jsx("h2",{children:"Edit Pet"})]})})]})})]})]})})})};const nS=()=>{const e=Ot(),t=Jt(El),n=Jt(a=>a.pets),[r,i]=_.useState(null);return _.useEffect(()=>{t&&e(Iv(t._id))},[t,n.length,e]),u.jsxs(u.Fragment,{children:[u.jsxs("div",{className:"pet-grid-container",children:[u.jsxs("div",{className:"pet-grid-header-container",children:[u.jsx("div",{className:"pet-grid-header-text",children:u.jsx("h1",{children:"Your Pets"})}),u.jsx("div",{className:"get-grid-header-form",children:u.jsx("button",{className:"grid-add-pet-button",onClick:()=>i("add"),children:"+ Add pet"})})]}),u.jsx("div",{className:"pet-grid-divider"}),u.jsxs("div",{className:"pet-grid-index",children:[n&&Object.values(n).map((a,o)=>u.jsxs("div",{className:"pet-item",children:[u.jsx("div",{className:"pet-img",children:u.jsx($e,{to:`/dashboard/${a._id}`,children:u.jsx("img",{className:a._id,src:a.imageUrl})})}),u.jsx("div",{className:"pet-name",children:u.jsx("p",{children:a.name})})]},o)),!n&&u.jsx("div",{children:"Loading..."})]})]}),r&&u.jsx(Fv,{modalState:r,setModalState:i})]})};const rS=({clinicModalState:e,setClinicModalState:t})=>u.jsx("div",{className:"modal-background",onClick:n=>t(null),children:u.jsxs("div",{className:`modal-content-${e}`,onClick:n=>n.stopPropagation(),children:[u.jsx("div",{className:"clinic-modal-content-top",children:u.jsx("button",{onClick:n=>t(null),children:u.jsx("span",{children:u.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32","aria-hidden":"true",role:"presentation",focusable:"false",style:{display:"block",fill:"none",height:"16px",width:"16px",stroke:"currentcolor",strokeWidth:"3",overflow:"visible"},children:u.jsx("path",{d:"m6 6 20 20M26 6 6 26"})})})})}),u.jsx("div",{className:"clinic-modal-content-bottom",children:u.jsxs("div",{className:"clinic-content-container",children:[u.jsx("div",{className:"clinic-left",children:u.jsxs("div",{className:"clinic-search",children:[u.jsx("input",{type:"text"}),u.jsx("button",{children:"Search Clinic"})]})}),u.jsxs("div",{className:"clinic-right",children:[u.jsx("div",{children:"RIGHT"}),u.jsx("div",{children:"ALL CLINIC INFOs"})]})]})})]})});const iS=e=>qt(`/api/reminders/user/${e}`,{method:"GET"}),aS=e=>qt(`/api/reminders/pet/${e}`,{method:"GET"}),oS=e=>qt("/api/reminders",{method:"POST",body:JSON.stringify(e)}),lS=e=>qt(`/api/reminders/${e._id}`,{method:"PUT",body:JSON.stringify(e)}),sS=e=>qt(`/api/reminders/${e}`,{method:"DELETE"}),Uv="reminders/RECEIVE_REMINDERS",$v="reminders/RECEIVE_REMINDER",Vv="reminders/REMOVE_REMINDER",Bv=e=>({type:Uv,reminders:e}),Wv=e=>({type:$v,reminder:e}),uS=e=>({type:Vv,reminderId:e}),cS=e=>t=>iS(e).then(n=>{if(n.ok)return n.json();throw n}).then(n=>t(Bv(n))).catch(n=>console.error(n)),fS=e=>t=>aS(e).then(n=>{if(n.ok)return n.json();throw n}).then(n=>t(Bv(n))).catch(n=>console.error(n)),dS=e=>t=>oS(e).then(n=>{if(n.ok)return n.json();throw n}).then(n=>t(Wv(n))).catch(n=>console.error(n)),pS=e=>t=>lS(e).then(n=>{if(n.ok)return n.json();throw n}).then(n=>t(Wv(n))).catch(n=>console.error(n)),Gc=e=>t=>sS(e).then(n=>{if(n.ok)return t(uS(e)),n.json();throw n}).catch(n=>console.error(n)),Hv=Qc(e=>e.reminders,e=>{const t=Object.values(e);return t.sort((n,r)=>new Date(n.dueDate)-new Date(r.dueDate)),t}),mS=(e={},t)=>{const n={...e};switch(t.type){case $v:return{...e,[t.reminder._id]:t.reminder};case Uv:return t.reminders;case Vv:return delete n[t.reminderId],n;default:return e}};var hS={prefix:"fas",iconName:"pills",icon:[576,512,[],"f484","M112 96c-26.5 0-48 21.5-48 48V256h96V144c0-26.5-21.5-48-48-48zM0 144C0 82.1 50.1 32 112 32s112 50.1 112 112V368c0 61.9-50.1 112-112 112S0 429.9 0 368V144zM554.9 399.4c-7.1 12.3-23.7 13.1-33.8 3.1L333.5 214.9c-10-10-9.3-26.7 3.1-33.8C360 167.7 387.1 160 416 160c88.4 0 160 71.6 160 160c0 28.9-7.7 56-21.1 79.4zm-59.5 59.5C472 472.3 444.9 480 416 480c-88.4 0-160-71.6-160-160c0-28.9 7.7-56 21.1-79.4c7.1-12.3 23.7-13.1 33.8-3.1L498.5 425.1c10 10 9.3 26.7-3.1 33.8z"]},vS={prefix:"fas",iconName:"syringe",icon:[512,512,[128137],"f48e","M441 7l32 32 32 32c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-15-15L417.9 128l55 55c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-72-72L295 73c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l55 55L422.1 56 407 41c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0zM210.3 155.7l61.1-61.1c.3 .3 .6 .7 1 1l16 16 56 56 56 56 16 16c.3 .3 .6 .6 1 1l-191 191c-10.5 10.5-24.7 16.4-39.6 16.4H97.9L41 505c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l57-57V325.3c0-14.9 5.9-29.1 16.4-39.6l43.3-43.3 57 57c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-57-57 41.4-41.4 57 57c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-57-57z"]},bl={prefix:"far",iconName:"trash-can",icon:[448,512,[61460,"trash-alt"],"f2ed","M170.5 51.6L151.5 80h145l-19-28.4c-1.5-2.2-4-3.6-6.7-3.6H177.1c-2.7 0-5.2 1.3-6.7 3.6zm147-26.6L354.2 80H368h48 8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8V432c0 44.2-35.8 80-80 80H112c-44.2 0-80-35.8-80-80V128H24c-13.3 0-24-10.7-24-24S10.7 80 24 80h8H80 93.8l36.7-55.1C140.9 9.4 158.4 0 177.1 0h93.7c18.7 0 36.2 9.4 46.6 24.9zM80 128V432c0 17.7 14.3 32 32 32H336c17.7 0 32-14.3 32-32V128H80zm80 64V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16zm80 0V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16zm80 0V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16z"]},jl={prefix:"far",iconName:"pen-to-square",icon:[512,512,["edit"],"f044","M441 58.9L453.1 71c9.4 9.4 9.4 24.6 0 33.9L424 134.1 377.9 88 407 58.9c9.4-9.4 24.6-9.4 33.9 0zM209.8 256.2L344 121.9 390.1 168 255.8 302.2c-2.9 2.9-6.5 5-10.4 6.1l-58.5 16.7 16.7-58.5c1.1-3.9 3.2-7.5 6.1-10.4zM373.1 25L175.8 222.2c-8.7 8.7-15 19.4-18.3 31.1l-28.6 100c-2.4 8.4-.1 17.4 6.1 23.6s15.2 8.5 23.6 6.1l100-28.6c11.8-3.4 22.5-9.7 31.1-18.3L487 138.9c28.1-28.1 28.1-73.7 0-101.8L474.9 25C446.8-3.1 401.2-3.1 373.1 25zM88 64C39.4 64 0 103.4 0 152V424c0 48.6 39.4 88 88 88H360c48.6 0 88-39.4 88-88V312c0-13.3-10.7-24-24-24s-24 10.7-24 24V424c0 22.1-17.9 40-40 40H88c-22.1 0-40-17.9-40-40V152c0-22.1 17.9-40 40-40H200c13.3 0 24-10.7 24-24s-10.7-24-24-24H88z"]},gS={prefix:"far",iconName:"calendar-check",icon:[448,512,[],"f274","M128 0c13.3 0 24 10.7 24 24V64H296V24c0-13.3 10.7-24 24-24s24 10.7 24 24V64h40c35.3 0 64 28.7 64 64v16 48V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192 144 128C0 92.7 28.7 64 64 64h40V24c0-13.3 10.7-24 24-24zM400 192H48V448c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V192zM329 297L217 409c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47 95-95c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z"]};const yS=()=>{const e=Ot(),t=Jt(El),r=Jt(Hv).filter(d=>{var m;return d.user===((m=t==null?void 0:t._id)==null?void 0:m.toString())}),i=Jt(q2),a=new Date,o=[],l=[],s=r==null?void 0:r.filter((d,m)=>{let g=new Date(r[m].dueDate),y=Math.ceil((g-a)/(1e3*60*60*24));if(y<=5&&y>=0)return o.push(y),l.push(d.pet),d}),c=[],f=[];for(let d=0;d{t!=null&&t._id&&e(cS(t._id))},[e,t==null?void 0:t._id]),u.jsxs(u.Fragment,{children:[s.length===0&&u.jsx("div",{className:"no-upcoming-reminder",children:"Currently, there are no upcoming reminders!"}),s.length!==0&&s.map((d,m)=>u.jsxs("div",{className:"upcoming-reminder-container",children:[u.jsxs("div",{className:"upcoming-reminder-icon-container",children:[u.jsxs("div",{className:"upcoming-reminder-icon",children:[d.type==="appointment"&&u.jsx(Ee,{className:"appointment-icon",icon:gS,size:"xl"}),d.type==="vaccination"&&u.jsx(Ee,{className:"vaccination-icon",icon:vS,size:"xl"}),d.type==="medication"&&u.jsx(Ee,{className:"medication-icon",icon:hS,size:"xl"})]}),u.jsxs("div",{className:"upcoming-reminder-type",children:[d.type==="appointment"&&"appointment",d.type==="vaccination"&&"vaccination",d.type==="medication"&&"medication"]})]}),u.jsxs("div",{className:"upcoming-reminder-content",children:[u.jsx("div",{children:d.title}),u.jsx("div",{className:"upcoming-reminder-pet-name",children:c[m]&&u.jsx("p",{children:c[m]})}),u.jsx("div",{className:"upcoming-pet-image",children:f[m]&&u.jsx("img",{id:"upcoming-pet-image",src:f[m]})})]}),u.jsx("div",{className:"upcoming-reminder-pet",children:u.jsxs("div",{className:"upcoming-days",children:[o[m]<0&&u.jsx("p",{children:" Overdue! "}),o[m]===0&&u.jsx("p",{children:"due today"}),o[m]>0&&u.jsxs("p",{children:["in ",o[m]," days"]})]})})]},m))]})},xS=()=>{const[e,t]=_.useState(null);return u.jsxs("div",{className:"page-container",children:[u.jsx("img",{className:"bg-image",src:"https://pet-portal-assets.s3.us-west-1.amazonaws.com/layered-waves-haikei+(1).svg"}),u.jsxs("h1",{className:"dashboard-header",children:[u.jsx("span",{className:"pet-dash-highlight"}),"Dashboard"]}),u.jsxs("div",{className:"dashboard-container",children:[u.jsx("div",{className:"index-container",children:u.jsx(nS,{})}),u.jsx("div",{className:"right-container",children:u.jsxs("div",{className:"all-reminders",children:[u.jsx("div",{className:"all-reminders-title",children:u.jsx("h3",{children:"Upcoming Reminders"})}),u.jsx(yS,{})]})})]}),e&&u.jsx(rS,{clinicModalState:e,setClinicModalState:t})]})};function Xc({name:e="reminder"}){const t=/[aeiou]/.test(e.charAt(0));return u.jsxs("div",{className:"empty-reminders",children:["Click the ",u.jsx("span",{children:"+"})," icon to add a",t&&"n"," ",e,"!"]})}const wS=({reminders:e,setModalState:t,setCurrentReminder:n})=>{const r=Ot(),i=e.filter(l=>l.type==="appointment"),a=l=>{const s=new Date(l),c=s.toLocaleDateString("en-US");let f=s.getHours();const d=s.getMinutes(),m=f>=12?"PM":"AM";f=f%12,f=f||12;const g=f.toString(),y=d<10?"0"+d:d.toString(),w=`${g}:${y} ${m}`;return`${c} - ${w}`},o=(l,s)=>{s.preventDefault(),s.stopPropagation(),r(Gc(l))};return u.jsxs(u.Fragment,{children:[i&&i.map((l,s)=>u.jsxs("div",{className:"appointment-info-container",children:[u.jsxs("div",{className:"appointment-header",children:[u.jsxs("div",{className:"appointment-title",children:[u.jsx("p",{children:l.title}),u.jsxs("div",{className:"edit-del-reminder",children:[u.jsx(Ee,{className:"edit-del-icons pen",icon:jl,onClick:()=>{n(l),t("edit")}}),u.jsx(Ee,{className:"edit-del-icons trash",icon:bl,onClick:c=>{o(l._id,c)}})]})]}),u.jsx("div",{className:"appointment-date",children:u.jsx("p",{children:a(l.dueDate)})})]}),u.jsx("div",{className:"reminder-divider"}),u.jsxs("div",{className:"appointment-content",children:[u.jsx("div",{className:"appointment-desc",children:u.jsx("p",{children:l.description})}),u.jsx("div",{className:"appointment-loc",children:u.jsx("p",{children:l.location})})]})]},s)),!i.length&&u.jsx(Xc,{name:"appointment reminder"})]})};const SS=({reminders:e,setModalState:t,setCurrentReminder:n})=>{const r=Ot(),i=e.filter(o=>o.type==="vaccination"),a=(o,l)=>{l.preventDefault(),l.stopPropagation(),r(Gc(o))};return u.jsxs(u.Fragment,{children:[i&&Object.values(i).map((o,l)=>u.jsx("div",{className:"vaccine-info-container",children:u.jsxs("div",{className:"vaccine-header",children:[u.jsxs("div",{className:"vaccine-desc",children:[u.jsx("p",{children:o.title}),u.jsxs("div",{className:"edit-del-reminder",children:[u.jsx(Ee,{className:"edit-del-icons pen",icon:jl,onClick:()=>{n(o),t("edit")}}),u.jsx(Ee,{className:"edit-del-icons trash",icon:bl,onClick:s=>{a(o._id,s)}})]})]}),u.jsxs("div",{className:"vaccine-date",children:[u.jsxs("p",{children:["Due: ",new Date(o.dueDate).toLocaleDateString("en-US")]}),u.jsx("img",{src:zv(o.dueDate),className:"proximity-icon"})]})]})},l)),!i.length&&u.jsx(Xc,{name:"vaccine reminder"})]})};const kS=({reminders:e,setModalState:t,setCurrentReminder:n})=>{const r=Ot(),i=e.filter(o=>o.type==="medication"),a=(o,l)=>{l.preventDefault(),l.stopPropagation(),r(Gc(o))};return u.jsxs(u.Fragment,{children:[i&&Object.values(i).map((o,l)=>u.jsxs("div",{className:"medication-info-container",children:[u.jsxs("div",{className:"medication-header",children:[u.jsxs("div",{className:"medication-title",children:[u.jsx("p",{children:o.title}),u.jsxs("div",{className:"edit-del-reminder",children:[u.jsx(Ee,{className:"edit-del-icons pen",icon:jl,onClick:()=>{n(o),t("edit")}}),u.jsx(Ee,{className:"edit-del-icons trash",icon:bl,onClick:s=>{a(o._id,s)}})]})]}),u.jsxs("div",{className:"medication-date",children:[u.jsxs("p",{children:["Due: ",new Date(o.dueDate).toLocaleDateString("en-US")]}),u.jsx("img",{src:zv(o.dueDate),className:"proximity-icon"})]})]}),o.description&&u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"reminder-divider"}),u.jsx("div",{className:"medication-content",children:u.jsx("p",{children:o.description})})]})]},l)),!i.length&&u.jsx(Xc,{name:"medication reminder"})]})};const ES=({modalState:e,setModalState:t,pet:n,reminder:r={}})=>{const[i,a]=_.useState(e==="edit"?r.type:""),[o,l]=_.useState(e==="edit"?r.title:""),[s,c]=_.useState(e==="edit"?r.dueDate.slice(0,10):""),[f,d]=_.useState(e==="edit"&&r.performDate?r.performDate.slice(0,10):""),[m,g]=_.useState(e==="edit"?r.description:""),[y,w]=_.useState(e==="edit"?r.location:""),E=Ot(),h=_.useCallback(P=>{switch(P){case"appointment":return up;case"vaccination":return n.species==="feline"?sp:lp;case"medication":return cp;default:return[]}},[n.species]),[p,v]=_.useState(e==="edit"?h(r.type):[]);_.useEffect(()=>{e!=="edit"&&(a(e),v(h(e)))},[i,e,h]),_.useEffect(()=>{},[E,r]);const j=P=>{switch(a(P.target.value),P.target.value.toLowerCase()){case"appointment":v(up);break;case"vaccination":v(n.species.toLowerCase()==="feline"?sp:lp);break;case"medication":v(cp);break;default:v([])}},R=P=>{P.preventDefault();const L={...r,type:i,title:o,dueDate:s,performDate:f,description:m,location:y,pet:n._id};E(e==="edit"?pS(L):dS(L)),t(null),a(""),l(""),c(""),d(""),g(""),w("")},x=()=>u.jsxs(u.Fragment,{children:[u.jsxs("label",{className:"input-label",children:[u.jsx("div",{className:"type-select-label",children:u.jsxs("span",{children:["Type",u.jsx("span",{className:"required",children:"· required"})]})}),u.jsx("select",{className:"type-select",placeholder:"Type",value:i,onChange:j,children:u.jsxs("optgroup",{children:[u.jsx("option",{disabled:!0,value:"",children:" Select Type "}),u.jsx("option",{id:"appt",value:"appointment",children:"Appointment"}),u.jsx("option",{id:"vaccine",value:"vaccination",children:"Vaccination"}),u.jsx("option",{id:"medication",value:"medication",children:"Medication"})]})})]}),u.jsxs("label",{className:"input-label",children:[u.jsx("div",{className:"title-select-label",children:u.jsxs("span",{children:["Title",u.jsx("span",{className:"required",children:"· required"})]})}),u.jsx("select",{className:"title-select",value:o,onChange:P=>l(P.target.value),children:u.jsxs("optgroup",{children:[u.jsxs("option",{disabled:!0,value:"",children:[" ",`Select ${e!=="edit"&&e}`," "]}),p&&p.map((P,L)=>u.jsx("option",{value:P,children:P},L))]})})]}),u.jsxs("label",{className:"input-label",children:[u.jsx("div",{className:"duedate-input-label",children:u.jsxs("span",{children:["Due Date",u.jsx("span",{className:"required",children:"· required"})]})}),u.jsx("input",{placeholder:"Due Date",type:i==="appointment"?"datetime-local":"date",value:s,onChange:P=>c(P.target.value)})]}),u.jsxs("label",{className:"input-label",children:[u.jsx("div",{className:"perform-date-input-label",children:u.jsx("span",{children:"Perform Date"})}),u.jsx("input",{placeholder:"Perform Date",type:i==="appointment"?"datetime-local":"date",value:f,onChange:P=>d(P.target.value)})]}),u.jsxs("label",{className:"input-label",children:[u.jsx("div",{className:"description-input-label",children:u.jsx("span",{children:"Description"})}),u.jsx("textarea",{className:"description-input",type:"textarea",value:m,onChange:P=>g(P.target.value),placeholder:"Description"})]}),e==="appointment"&&u.jsxs("label",{className:"input-label",children:[u.jsx("div",{className:"location-input-label",children:u.jsx("span",{children:"Location"})}),u.jsx("input",{placeholder:"Location",type:"text",value:y,onChange:P=>w(P.target.value)})]})]});return u.jsx(u.Fragment,{children:u.jsx("div",{className:"modal-background",children:u.jsxs("div",{className:`modal-content-${e}`,onClick:P=>P.stopPropagation(),children:[u.jsx("div",{className:"reminder-modal-content-top",children:u.jsx("button",{onClick:P=>t(null),children:u.jsx("span",{children:u.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32","aria-hidden":"true",role:"presentation",focusable:"false",style:{display:"block",color:"black",fill:"none",height:"16px",width:"16px",stroke:"currentColor",strokeWidth:"3",overflow:"visible"},children:u.jsx("path",{d:"m6 6 20 20M26 6 6 26"})})})})}),u.jsxs("div",{className:"modal-content-bottom",children:[u.jsx("div",{className:"modal-content-bottom-title",children:e&&u.jsxs("div",{className:"reminder-title",children:[u.jsx("span",{className:"pet-dash-highlight"}),e==="edit"?"Update":`Add ${e.charAt(0).toUpperCase()+e.slice(1)}`," Reminder"]})}),u.jsx("div",{className:"modal-content-bottom-form-container",children:u.jsxs("form",{className:"modal-content-bottom-form",onSubmit:R,children:[x(),u.jsx("div",{className:"reminder-button-container",children:u.jsx("button",{type:"submit",className:"add-new-reminder-button",children:e&&u.jsx("div",{className:e==="edit"?"reminder-button-edit":"reminder-button",children:e==="edit"?"Confirm Changes":`Add ${e.charAt(0).toUpperCase()+e.slice(1)} - Reminder`})})})]})})]})]})})})},bS=()=>{const{petId:e}=g0(),t=Jt(Z2(e)),n=Jt(El),r=Ot(),[i,a]=_.useState(null),[o,l]=_.useState(null),[s,c]=_.useState(null),f=Jt(Hv),d=g=>{const y=new Date(g),w=new Date;let E=w.getFullYear()-y.getFullYear(),h=w.getMonth()-y.getMonth(),p=w.getDate()-y.getDate();if((h<0||h===0&&p<0)&&(E--,h<0&&(h+=12),p<0)){const v=new Date(w.getFullYear(),w.getMonth()-1,0);p+=v.getDate()}if(E<1)if(h<4){let v=Math.floor(p/7),j=p%7;return v>1?`${v} weeks & ${j} days`:`${p} ${p===1?"day":"days"}`}else return`${h} months`;else return`${E} ${E===1?"year":"years"} & ${h} months`},m=g=>g.split(" ").map(y=>y[0].toUpperCase()+y.slice(1).toLowerCase()).join(" ");if(_.useEffect(()=>{n!=null&&n._id&&r(Iv(n._id)),e&&r(fS(e))},[r,n,e]),t)return u.jsxs("div",{className:"dash-page-container",children:[u.jsx("img",{className:"bg-image",src:"https://pet-portal-assets.s3.us-west-1.amazonaws.com/layered-waves-haikei+(1).svg"}),u.jsxs("div",{className:"pet-dashboard-container",children:[u.jsxs("div",{className:"pet-dashboard",children:[u.jsx($e,{to:"/dashboard",className:"back-link",children:" ← Back to your pets "}),u.jsxs("h1",{className:"pet-dash-header",children:[u.jsx("span",{className:"pet-dash-highlight"}),`${t.name}'s Profile`]}),u.jsxs("div",{className:"pet-metrics-container",children:[u.jsxs("div",{className:"pet-reminder-module",children:[u.jsxs("div",{className:"pet-reminder-header",children:[u.jsx("h3",{children:"Appointments"}),u.jsx("button",{className:"pet-dash-buttons",onClick:()=>a("appointment"),children:" + "})]}),u.jsx("div",{className:"appointment-index-container",children:u.jsx(wS,{reminders:f,setModalState:a,setCurrentReminder:c})})]}),u.jsxs("div",{className:"preventatives-module",children:[u.jsxs("div",{className:"vaccines",children:[u.jsxs("div",{className:"pet-vaccines-header",children:[u.jsx("h3",{children:"Vaccines"}),u.jsx("button",{className:"pet-dash-buttons",onClick:()=>a("vaccination"),children:" + "})]}),u.jsx("div",{className:"vaccinations-index-container",children:u.jsx(SS,{reminders:f,setModalState:a,setCurrentReminder:c})})]}),u.jsxs("div",{className:"medications",children:[u.jsxs("div",{className:"medications-header",children:[u.jsx("h3",{children:"Medications"}),u.jsx("button",{className:"pet-dash-buttons",onClick:()=>a("medication"),children:" + "})]}),u.jsx("div",{className:"medications-index-container",children:u.jsx(kS,{reminders:f,setModalState:a,setCurrentReminder:c})})]})]})]})]}),u.jsxs("div",{className:"pet-signalment",children:[u.jsx("div",{className:"profile-pic-border",children:u.jsx("img",{src:t.imageUrl,className:"profile-pic"})}),u.jsxs("div",{className:"pet-summary",children:[u.jsx("div",{className:"name-splash-container",children:u.jsx("div",{className:"name-border",children:u.jsx("h3",{children:m(t.name)})})}),u.jsx("div",{children:u.jsx($e,{to:"/dashboard",children:u.jsx("button",{className:"delete-pet-dash-buttons",onClick:()=>r(J2(e)),children:u.jsx(Ee,{icon:bl})})})}),u.jsxs("div",{className:"pet-attribute",children:[u.jsx("h3",{children:"Age: "}),u.jsx("p",{children:d(t.dob)}),u.jsx("span",{className:"decoration"})]}),u.jsxs("div",{className:"pet-attribute",children:[u.jsx("h3",{children:"Sex: "}),u.jsx("p",{children:t.sex}),u.jsx("span",{className:"decoration"})]}),u.jsxs("div",{className:"pet-attribute",children:[u.jsx("h3",{children:"Species: "}),u.jsx("p",{children:t.species}),u.jsx("span",{className:"decoration"})]}),u.jsxs("div",{className:"pet-attribute",children:[u.jsx("h3",{children:"Breed: "}),u.jsx("p",{children:t.breed}),u.jsx("span",{className:"decoration"})]}),u.jsxs("div",{className:"pet-attribute",children:[u.jsx("h3",{children:"Color: "}),u.jsx("p",{children:t.color}),u.jsx("span",{className:"decoration"})]}),t.insurancePolicyId&&u.jsxs("div",{className:"pet-attribute",children:[u.jsx("h3",{children:"Insurance ID: "}),u.jsx("p",{children:t.insurancePolicyId}),u.jsx("span",{className:"decoration"})]}),t.microchipNumber&&u.jsxs("div",{className:"pet-attribute",children:[u.jsx("h3",{children:"Microchip: "}),u.jsx("p",{children:t.microchipNumber}),u.jsx("span",{className:"decoration"})]}),t.weight&&u.jsxs("div",{className:"pet-attribute",children:[u.jsx("h3",{children:"Weight: "}),u.jsx("p",{children:t.weight}),u.jsx("span",{className:"decoration"})]}),u.jsx("div",{children:u.jsx("button",{className:"edit-pet-dash-buttons",onClick:()=>l("edit"),children:u.jsx(Ee,{icon:jl})})})]})]})]}),o&&u.jsx(Fv,{editModalState:o,setEditModalState:l,initialPetData:t,petId:e}),i&&u.jsx(ES,{modalState:i,setModalState:a,pet:t,reminder:s})]})},jS=z0([{path:"/",element:u.jsx(rp,{})},{path:"/login",element:u.jsx(ip,{})},{path:"/register",element:u.jsx(ip,{})},{path:"/dashboard",element:u.jsxs(u.Fragment,{children:[u.jsx(Kc,{}),u.jsx(R0,{})]}),children:[{index:!0,element:u.jsx(xS,{})},{path:":petId",element:u.jsx(bS,{})}]},{path:"*",element:u.jsx(rp,{})}]),NS=()=>u.jsx(Y0,{router:jS});function We(e){return`Minified Redux error #${e}; visit https://redux.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var CS=(()=>typeof Symbol=="function"&&Symbol.observable||"@@observable")(),fp=CS,ds=()=>Math.random().toString(36).substring(7).split("").join("."),PS={INIT:`@@redux/INIT${ds()}`,REPLACE:`@@redux/REPLACE${ds()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${ds()}`},el=PS;function _S(e){if(typeof e!="object"||e===null)return!1;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t||Object.getPrototypeOf(e)===null}function Yv(e,t,n){if(typeof e!="function")throw new Error(We(2));if(typeof t=="function"&&typeof n=="function"||typeof n=="function"&&typeof arguments[3]=="function")throw new Error(We(0));if(typeof t=="function"&&typeof n>"u"&&(n=t,t=void 0),typeof n<"u"){if(typeof n!="function")throw new Error(We(1));return n(Yv)(e,t)}let r=e,i=t,a=new Map,o=a,l=0,s=!1;function c(){o===a&&(o=new Map,a.forEach((E,h)=>{o.set(h,E)}))}function f(){if(s)throw new Error(We(3));return i}function d(E){if(typeof E!="function")throw new Error(We(4));if(s)throw new Error(We(5));let h=!0;c();const p=l++;return o.set(p,E),function(){if(h){if(s)throw new Error(We(6));h=!1,c(),o.delete(p),a=null}}}function m(E){if(!_S(E))throw new Error(We(7));if(typeof E.type>"u")throw new Error(We(8));if(typeof E.type!="string")throw new Error(We(17));if(s)throw new Error(We(9));try{s=!0,i=r(i,E)}finally{s=!1}return(a=o).forEach(p=>{p()}),E}function g(E){if(typeof E!="function")throw new Error(We(10));r=E,m({type:el.REPLACE})}function y(){const E=d;return{subscribe(h){if(typeof h!="object"||h===null)throw new Error(We(11));function p(){const j=h;j.next&&j.next(f())}return p(),{unsubscribe:E(p)}},[fp](){return this}}}return m({type:el.INIT}),{dispatch:m,subscribe:d,getState:f,replaceReducer:g,[fp]:y}}function RS(e,t,n){return Yv(e,t,n)}function TS(e){Object.keys(e).forEach(t=>{const n=e[t];if(typeof n(void 0,{type:el.INIT})>"u")throw new Error(We(12));if(typeof n(void 0,{type:el.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(We(13))})}function OS(e){const t=Object.keys(e),n={};for(let a=0;a"u")throw l&&l.type,new Error(We(14));c[d]=y,s=s||y!==g}return s=s||r.length!==Object.keys(o).length,s?c:o}}function LS(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,n)=>(...r)=>t(n(...r)))}function AS(...e){return t=>(n,r)=>{const i=t(n,r);let a=()=>{throw new Error(We(15))};const o={getState:i.getState,dispatch:(s,...c)=>a(s,...c)},l=e.map(s=>s(o));return a=LS(...l)(i.dispatch),{...i,dispatch:a}}}function MS(e){return({dispatch:n,getState:r})=>i=>a=>typeof a=="function"?a(n,r,e):i(a)}var DS=MS(),dp={exports:{}};(function(e,t){(function(n,r){r(t)})(vi,function(n){function r(S,C){S.super_=C,S.prototype=Object.create(C.prototype,{constructor:{value:S,enumerable:!1,writable:!0,configurable:!0}})}function i(S,C){Object.defineProperty(this,"kind",{value:S,enumerable:!0}),C&&C.length&&Object.defineProperty(this,"path",{value:C,enumerable:!0})}function a(S,C,k){a.super_.call(this,"E",S),Object.defineProperty(this,"lhs",{value:C,enumerable:!0}),Object.defineProperty(this,"rhs",{value:k,enumerable:!0})}function o(S,C){o.super_.call(this,"N",S),Object.defineProperty(this,"rhs",{value:C,enumerable:!0})}function l(S,C){l.super_.call(this,"D",S),Object.defineProperty(this,"lhs",{value:C,enumerable:!0})}function s(S,C,k){s.super_.call(this,"A",S),Object.defineProperty(this,"index",{value:C,enumerable:!0}),Object.defineProperty(this,"item",{value:k,enumerable:!0})}function c(S,C,k){var O=S.slice((k||C)+1||S.length);return S.length=C<0?S.length+C:C,S.push.apply(S,O),S}function f(S){var C=typeof S>"u"?"undefined":Qe(S);return C!=="object"?C:S===Math?"math":S===null?"null":Array.isArray(S)?"array":Object.prototype.toString.call(S)==="[object Date]"?"date":typeof S.toString=="function"&&/^\/.*\//.test(S.toString())?"regexp":"object"}function d(S,C,k,O,z,B,X){z=z||[],X=X||[];var ne=z.slice(0);if(typeof B<"u"){if(O){if(typeof O=="function"&&O(ne,B))return;if((typeof O>"u"?"undefined":Qe(O))==="object"){if(O.prefilter&&O.prefilter(ne,B))return;if(O.normalize){var it=O.normalize(ne,B,S,C);it&&(S=it[0],C=it[1])}}}ne.push(B)}f(S)==="regexp"&&f(C)==="regexp"&&(S=S.toString(),C=C.toString());var pt=typeof S>"u"?"undefined":Qe(S),de=typeof C>"u"?"undefined":Qe(C),Re=pt!=="undefined"||X&&X[X.length-1].lhs&&X[X.length-1].lhs.hasOwnProperty(B),at=de!=="undefined"||X&&X[X.length-1].rhs&&X[X.length-1].rhs.hasOwnProperty(B);if(!Re&&at)k(new o(ne,C));else if(!at&&Re)k(new l(ne,S));else if(f(S)!==f(C))k(new a(ne,S,C));else if(f(S)==="date"&&S-C!==0)k(new a(ne,S,C));else if(pt==="object"&&S!==null&&C!==null)if(X.filter(function(Se){return Se.lhs===S}).length)S!==C&&k(new a(ne,S,C));else{if(X.push({lhs:S,rhs:C}),Array.isArray(S)){var ue;for(S.length,ue=0;ue=C.length?k(new s(ne,ue,new l(void 0,S[ue]))):d(S[ue],C[ue],k,O,ne,ue,X);for(;ue=0?(d(S[Se],C[Se],k,O,ne,Se,X),Lt=c(Lt,qn)):d(S[Se],void 0,k,O,ne,Se,X)}),Lt.forEach(function(Se){d(void 0,C[Se],k,O,ne,Se,X)})}X.length=X.length-1}else S!==C&&(pt==="number"&&isNaN(S)&&isNaN(C)||k(new a(ne,S,C)))}function m(S,C,k,O){return O=O||[],d(S,C,function(z){z&&O.push(z)},k),O.length?O:void 0}function g(S,C,k){if(k.path&&k.path.length){var O,z=S[C],B=k.path.length-1;for(O=0;O"u"&&(O[k.path[z]]=typeof k.path[z]=="number"?[]:{}),O=O[k.path[z]];switch(k.kind){case"A":g(k.path?O[k.path[z]]:O,k.index,k.item);break;case"D":delete O[k.path[z]];break;case"E":case"N":O[k.path[z]]=k.rhs}}}function w(S,C,k){if(k.path&&k.path.length){var O,z=S[C],B=k.path.length-1;for(O=0;O"u"&&(B[k.path[O]]={}),B=B[k.path[O]];switch(k.kind){case"A":w(B[k.path[O]],k.index,k.item);break;case"D":B[k.path[O]]=k.lhs;break;case"E":B[k.path[O]]=k.lhs;break;case"N":delete B[k.path[O]]}}}function h(S,C,k){if(S&&C){var O=function(z){k&&!k(S,C,z)||y(S,C,z)};d(S,C,O)}}function p(S){return"color: "+I[S].color+"; font-weight: bold"}function v(S){var C=S.kind,k=S.path,O=S.lhs,z=S.rhs,B=S.index,X=S.item;switch(C){case"E":return[k.join("."),O,"→",z];case"N":return[k.join("."),z];case"D":return[k.join(".")];case"A":return[k.join(".")+"["+B+"]",X];default:return[]}}function j(S,C,k,O){var z=m(S,C);try{O?k.groupCollapsed("diff"):k.group("diff")}catch{k.log("diff")}z?z.forEach(function(B){var X=B.kind,ne=v(B);k.log.apply(k,["%c "+I[X].text,p(X)].concat(dt(ne)))}):k.log("—— no diff ——");try{k.groupEnd()}catch{k.log("—— diff end —— ")}}function R(S,C,k,O){switch(typeof S>"u"?"undefined":Qe(S)){case"object":return typeof S[O]=="function"?S[O].apply(S,dt(k)):S[O];case"function":return S(C);default:return S}}function x(S){var C=S.timestamp,k=S.duration;return function(O,z,B){var X=["action"];return X.push("%c"+String(O.type)),C&&X.push("%c@ "+z),k&&X.push("%c(in "+B.toFixed(2)+" ms)"),X.join(" ")}}function P(S,C){var k=C.logger,O=C.actionTransformer,z=C.titleFormatter,B=z===void 0?x(C):z,X=C.collapsed,ne=C.colors,it=C.level,pt=C.diff,de=typeof C.titleFormatter>"u";S.forEach(function(Re,at){var ue=Re.started,Ze=Re.startedTime,Lt=Re.action,Se=Re.prevState,wn=Re.error,qn=Re.took,Zt=Re.nextState,en=S[at+1];en&&(Zt=en.prevState,qn=en.started-ue);var mt=O(Lt),kr=typeof X=="function"?X(function(){return Zt},Lt,Re):X,Bt=he(Ze),Zn=ne.title?"color: "+ne.title(mt)+";":"",Sn=["color: gray; font-weight: lighter;"];Sn.push(Zn),C.timestamp&&Sn.push("color: gray; font-weight: lighter;"),C.duration&&Sn.push("color: gray; font-weight: lighter;");var Wt=B(mt,Bt,qn);try{kr?ne.title&&de?k.groupCollapsed.apply(k,["%c "+Wt].concat(Sn)):k.groupCollapsed(Wt):ne.title&&de?k.group.apply(k,["%c "+Wt].concat(Sn)):k.group(Wt)}catch{k.log(Wt)}var mi=R(it,mt,[Se],"prevState"),bt=R(it,mt,[mt],"action"),Er=R(it,mt,[wn,Se],"error"),br=R(it,mt,[Zt],"nextState");if(mi)if(ne.prevState){var Ra="color: "+ne.prevState(Se)+"; font-weight: bold";k[mi]("%c prev state",Ra,Se)}else k[mi]("prev state",Se);if(bt)if(ne.action){var Nl="color: "+ne.action(mt)+"; font-weight: bold";k[bt]("%c action ",Nl,mt)}else k[bt]("action ",mt);if(wn&&Er)if(ne.error){var Ta="color: "+ne.error(wn,Se)+"; font-weight: bold;";k[Er]("%c error ",Ta,wn)}else k[Er]("error ",wn);if(br)if(ne.nextState){var jr="color: "+ne.nextState(Zt)+"; font-weight: bold";k[br]("%c next state",jr,Zt)}else k[br]("next state",Zt);pt&&j(Se,Zt,k,kr);try{k.groupEnd()}catch{k.log("—— log end ——")}})}function L(){var S=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},C=Object.assign({},Y,S),k=C.logger,O=C.stateTransformer,z=C.errorTransformer,B=C.predicate,X=C.logErrors,ne=C.diffPredicate;if(typeof k>"u")return function(){return function(pt){return function(de){return pt(de)}}};if(S.getState&&S.dispatch)return console.error(`[redux-logger] redux-logger not installed. Make sure to pass logger instance as middleware: + */var _a=P;function Jw(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var qw=typeof Object.is=="function"?Object.is:Jw,Zw=_a.useSyncExternalStore,e2=_a.useRef,t2=_a.useEffect,n2=_a.useMemo,r2=_a.useDebugValue;bv.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var a=e2(null);if(a.current===null){var o={hasValue:!1,value:null};a.current=o}else o=a.current;a=n2(function(){function s(g){if(!c){if(c=!0,f=g,g=r(g),i!==void 0&&o.hasValue){var y=o.value;if(i(y,g))return d=y}return d=g}if(y=d,qw(f,g))return y;var w=r(g);return i!==void 0&&i(y,w)?y:(f=g,d=w)}var c=!1,f,d,m=n===void 0?null:n;return[function(){return s(t())},m===null?void 0:function(){return s(m())}]},[t,n,r,i]);var l=Zw(e,a[0],a[1]);return t2(function(){o.hasValue=!0,o.value=l},[l]),r2(l),l};Ev.exports=bv;var i2=Ev.exports,yt="default"in ps?ya:ps,ep=Symbol.for("react-redux-context"),tp=typeof globalThis<"u"?globalThis:{};function a2(){if(!yt.createContext)return{};const e=tp[ep]??(tp[ep]=new Map);let t=e.get(yt.createContext);return t||(t=yt.createContext(null),e.set(yt.createContext,t)),t}var Yn=a2(),o2=()=>{throw new Error("uSES not initialized!")};function Bc(e=Yn){return function(){return yt.useContext(e)}}var jv=Bc(),Nv=o2,l2=e=>{Nv=e},s2=(e,t)=>e===t;function u2(e=Yn){const t=e===Yn?jv:Bc(e),n=(r,i={})=>{const{equalityFn:a=s2,devModeChecks:o={}}=typeof i=="function"?{equalityFn:i}:i,{store:l,subscription:s,getServerState:c,stabilityCheck:f,identityFunctionCheck:d}=t();yt.useRef(!0);const m=yt.useCallback({[r.name](y){return r(y)}}[r.name],[r,f,o.stabilityCheck]),g=Nv(s.addNestedSub,l.getState,c||l.getState,m,a);return yt.useDebugValue(g),g};return Object.assign(n,{withTypes:()=>n}),n}var Jt=u2();function c2(e){e()}function f2(){let e=null,t=null;return{clear(){e=null,t=null},notify(){c2(()=>{let n=e;for(;n;)n.callback(),n=n.next})},get(){const n=[];let r=e;for(;r;)n.push(r),r=r.next;return n},subscribe(n){let r=!0;const i=t={callback:n,next:null,prev:t};return i.prev?i.prev.next=i:e=i,function(){!r||e===null||(r=!1,i.next?i.next.prev=i.prev:t=i.prev,i.prev?i.prev.next=i.next:e=i.next)}}}}var np={notify(){},get:()=>[]};function d2(e,t){let n,r=np,i=0,a=!1;function o(w){f();const k=r.subscribe(w);let h=!1;return()=>{h||(h=!0,k(),d())}}function l(){r.notify()}function s(){y.onStateChange&&y.onStateChange()}function c(){return a}function f(){i++,n||(n=t?t.addNestedSub(s):e.subscribe(s),r=f2())}function d(){i--,n&&i===0&&(n(),n=void 0,r.clear(),r=np)}function m(){a||(a=!0,f())}function g(){a&&(a=!1,d())}const y={addNestedSub:o,notifyNestedSubs:l,handleChangeWrapper:s,isSubscribed:c,trySubscribe:m,tryUnsubscribe:g,getListeners:()=>r};return y}var p2=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",m2=typeof navigator<"u"&&navigator.product==="ReactNative",h2=p2||m2?yt.useLayoutEffect:yt.useEffect;function v2({store:e,context:t,children:n,serverState:r,stabilityCheck:i="once",identityFunctionCheck:a="once"}){const o=yt.useMemo(()=>{const c=d2(e);return{store:e,subscription:c,getServerState:r?()=>r:void 0,stabilityCheck:i,identityFunctionCheck:a}},[e,r,i,a]),l=yt.useMemo(()=>e.getState(),[e]);h2(()=>{const{subscription:c}=o;return c.onStateChange=c.notifyNestedSubs,c.trySubscribe(),l!==e.getState()&&c.notifyNestedSubs(),()=>{c.tryUnsubscribe(),c.onStateChange=void 0}},[o,l]);const s=t||Yn;return yt.createElement(s.Provider,{value:o},n)}var g2=v2;function Cv(e=Yn){const t=e===Yn?jv:Bc(e),n=()=>{const{store:r}=t();return r};return Object.assign(n,{withTypes:()=>n}),n}var y2=Cv();function x2(e=Yn){const t=e===Yn?y2:Cv(e),n=()=>t().dispatch;return Object.assign(n,{withTypes:()=>n}),n}var Ot=x2();l2(i2.useSyncExternalStoreWithSelector);const qt=async(e,t={})=>{t.method=t.method||"GET",t.headers=t.headers||{};const n=localStorage.getItem("jwtToken");n&&(t.headers.Authorization="Bearer "+n),t.method.toUpperCase()!=="GET"&&(t.headers["Content-Type"]=t.headers["Content-Type"]||"application/json",t.headers["CSRF-Token"]=Wc("CSRF-TOKEN"));const r=await fetch(e,t);if(r.status>=400)throw r;return r},Wc=e=>{const t=document.cookie.split(";");for(let n of t){const[r,i]=n.split("=");if(r.trim()===e)return i}return null},w2=e=>qt("/api/users/register",{method:"POST",body:JSON.stringify(e)}),S2=e=>qt("/api/users/login",{method:"POST",body:JSON.stringify(e)}),k2=()=>qt("/api/users/sessionRestore"),Hc=({user:e,token:t,issued:n,expiresSeconds:r})=>{const i=new Date(n),a=new Date(i.getTime()+r*1e3);e.sessionExpiration=a.toISOString(),localStorage.setItem("jwtToken",t),localStorage.setItem("currentUser",JSON.stringify(e))},Pv="session/SET_CURRENT_USER",_v="sesison/REMOVE_CURRENT_USER",E2="session/SET_EXPIRATION",Yc=e=>({type:Pv,sessionInfo:e}),b2=()=>({type:_v}),j2=e=>t=>w2(e).then(n=>{if(n.ok)return n.json();throw n}).then(n=>{Hc(n),t(Yc(n.user))}),Rv=e=>t=>S2(e).then(n=>{if(n.ok)return n.json();throw n}).then(n=>{Hc(n),t(Yc(n.user))}),Cu=()=>e=>{localStorage.removeItem("jwtToken"),localStorage.removeItem("currentUser"),e(b2())},N2=()=>e=>{k2().then(t=>{if(t.ok)return t.json();throw t}).then(t=>{Hc(t),e(Yc(t.user))})},El=e=>e.session,C2=JSON.parse(localStorage.getItem("currentUser"))||null,P2=(e=C2,t)=>{switch(t.type){case Pv:return t.sessionInfo;case _v:return null;case E2:return t.expiresAt;default:return e}},Tv="errors/SESSION_ALERT",Pu=e=>({type:Tv,boolean:e}),_2=e=>e.errors.session,R2={session:!1},T2=(e=R2,t)=>{const n={...e};switch(t.type){case Tv:return{...n,session:t.boolean};default:return e}};const O2=()=>{const e=Ot(),t=ja(),n=()=>{e(Pu(!1)),t("/login")},r=()=>{e(Cu()),e(Pu(!1)),t("/")};return u.jsx("div",{className:"session-alert-bg",children:u.jsxs("div",{className:"session-alert",children:[u.jsx("h3",{children:"Oh no! Your session has expired. "}),u.jsx("h3",{children:"Click below to log in again."}),u.jsx("button",{onClick:n,children:"Go to Login"}),u.jsx("button",{onClick:r,children:"Log out"})]})})},Kc=()=>{const e=Jt(El),t=Jt(_2),n=Ot(),r=Jn(),i=ja();return P.useEffect(()=>{if(e&&e.sessionExpiration){const a=setInterval(()=>{const o=Date.now(),l=new Date(e.sessionExpiration).getTime();o>=l-5e3&&(n(N2()),clearInterval(a))},500);return()=>{clearInterval(a)}}},[e,n]),P.useEffect(()=>{const a=r.pathname==="/login",o=r.pathname==="/",l=r.pathname==="/register";if(e&&e.sessionExpiration){const s=Date.now(),c=new Date(e.sessionExpiration).getTime();s>=c&&!a&&n(Pu(!0)),s>=c&&o&&n(Cu())}else!o&&!a&&!l&&i("/login")},[r,e,n,i]),u.jsxs("div",{children:[u.jsxs("div",{className:"navbar-container",children:[u.jsxs("div",{className:"title-section",children:[u.jsx("span",{children:u.jsx($e,{to:"/",children:u.jsx("img",{className:"nav-icon",src:"https://pet-portal-assets.s3.us-west-1.amazonaws.com/Frame.svg"})})}),u.jsx("span",{className:"pet-portal-title",children:u.jsx($e,{to:"/",children:"Pet Portal"})})]}),u.jsx("div",{className:"auth-section",children:e?u.jsxs(u.Fragment,{children:[u.jsxs("div",{className:"logout-button-container",children:[u.jsx("span",{className:"marker"}),u.jsx(X0,{to:"/dashboard",children:"Dashboard"})]}),u.jsx("span",{className:"deco-1"}),u.jsxs("div",{className:"logout-button-container",onClick:()=>n(Cu()),children:[u.jsx("span",{className:"marker"}),u.jsx($e,{to:"/",children:"Log out"})]})]}):u.jsxs(u.Fragment,{children:[u.jsxs("div",{className:"login-button-container",children:[u.jsx($e,{to:"/login",children:"Log in"}),u.jsx("span",{className:"marker"})]}),u.jsx("span",{className:"deco-1"}),u.jsxs("div",{className:"signup-button-container",children:[u.jsx("span",{className:"marker"}),u.jsx($e,{to:"/register",children:"Sign up"})]})]})})]}),t&&u.jsx(O2,{})]})};const rp=()=>{const e=Ot(),t=ja(),[n,r]=P.useState(),i=()=>{e(Rv({email:"demo@demo.com",password:"password"})).then(()=>t("/dashboard"))};return P.useEffect(()=>{r(!0)},[]),u.jsxs("div",{className:"home-page-container",children:[u.jsx(Kc,{}),u.jsx("div",{className:"welcome-container-1",children:u.jsxs("div",{className:"section-1",children:[u.jsx("img",{className:"bg-image",src:"https://pet-portal-assets.s3.us-west-1.amazonaws.com/layered-waves-haikei+(1).svg"}),u.jsx("div",{className:"display-container",children:u.jsx("div",{className:"display-border",children:u.jsx("img",{className:"display-dog",src:"https://pet-portal-assets.s3.us-west-1.amazonaws.com/depositphotos_570233356-stock-photo-australian-cattle-dog-forest-hiking.jpg"})})}),u.jsxs("div",{className:"section-1-text",children:[u.jsxs("div",{className:`welcome-heading ${n&&"loaded"}`,children:[u.jsx("h1",{children:"Welcome to Pet Portal."}),u.jsx("span",{className:"deco-1"}),u.jsx("span",{className:"deco-3"})]}),u.jsxs("div",{className:"welcome-message",children:[u.jsx("div",{className:"welcome-message-1",children:u.jsx("p",{children:"Whether you're a seasoned pet parent or embarking on your journey with a new furry friend, Pet Portal is here to simplify your pet care routine."})}),u.jsx("div",{className:"welcome-message-2",children:u.jsx("p",{children:"Keep track of your pet's important information, health reminders, and appointments all in one convenient location!"})}),u.jsx("div",{className:"welcome-message-3",children:u.jsxs("div",{className:"welcome-links",children:[u.jsx("h3",{children:" Ready to get started? "}),u.jsx("div",{className:"demo-login",onClick:i,children:"Try it out"})]})})]})]})]})}),u.jsx(kv,{})]})};const ip=()=>{const e=Jn(),{pathname:t}=e,n=Ot(),r=t==="/register",i=t==="/login",a=ja(),[o,l]=P.useState(""),[s,c]=P.useState(""),[f,d]=P.useState(""),[m,g]=P.useState(""),[y,w]=P.useState(""),[k,h]=P.useState(!1),p=v=>{v.preventDefault(),r?n(j2({email:o,password:s})).then(()=>{l(""),c(""),d(""),a("/dashboard")}).catch(j=>{j.ok||j.json().then(_=>w(_.email))}):i&&n(Rv({email:o,password:s})).then(()=>{l(""),c(""),d(""),a("/dashboard")}).catch(j=>{j.ok||g("Invalid credentials")})};return P.useEffect(()=>{l(""),c(""),d(""),g(""),w(""),h(!1)},[e.pathname]),P.useEffect(()=>{h(!!(s!==f&&r))},[s,f,r]),u.jsxs(u.Fragment,{children:[u.jsx(Kc,{}),u.jsxs("div",{className:"below-navbar",children:[u.jsxs("div",{className:"content-container",children:[u.jsx("img",{className:"bg-image",src:"https://pet-portal-assets.s3.us-west-1.amazonaws.com/layered-waves-haikei+(1).svg"}),u.jsxs("div",{className:"session-form-container",children:[u.jsx("div",{className:"session-title",children:t==="/login"?u.jsx("h2",{children:"Log in to your account"}):u.jsx("h2",{children:"Create an Account"})}),u.jsxs("div",{className:"session-input-field",children:[u.jsxs("form",{className:"session-form",onSubmit:p,children:[u.jsx("div",{children:u.jsxs("label",{className:"email-label-container",children:[u.jsx("div",{className:"email-label",children:"Email:"}),u.jsx("input",{onFocus:()=>m&&g(""),id:"email-input",type:"email",placeholder:"E-mail",onChange:v=>l(v.target.value),value:o})]})}),u.jsx("span",{className:"auth-errors",children:y&&y}),u.jsx("div",{children:u.jsxs("label",{className:"password-label-container",children:[u.jsx("div",{className:"password-label",children:"Password:"}),u.jsx("input",{onFocus:()=>m&&g(""),id:"password-input",type:"password",placeholder:"Password",onChange:v=>c(v.target.value),value:s})]})}),u.jsx("div",{children:r&&u.jsxs("label",{className:"password-label-container",children:[u.jsx("div",{className:"password-label",children:"Confirm Password:"}),u.jsx("input",{id:"password-input",type:"password",placeholder:"Password",onChange:v=>d(v.target.value)})]})}),u.jsxs("span",{className:"auth-errors",children:[m&&m,k&&r&&"Passwords must match!"]}),u.jsx("button",{className:"auth-button-submit",type:"submit",disabled:!o.length||!s.length||k||m||y,children:"Submit"}),o.length&&s.length&&!k?u.jsx("span",{className:"deco-2"}):u.jsx("span",{})]}),i&&u.jsxs("div",{className:"auth-button-new-to-portal",children:[u.jsx("span",{className:"marker"}),u.jsx($e,{to:"/register",children:"New to Pet Portal"})]})]})]})]}),u.jsx(kv,{})]})]})},L2=e=>qt(`/api/users/${e}/pets`),A2=e=>fetch("/api/pets",{method:"POST",body:e,headers:{"CSRF-TOKEN":Wc("CSRF-TOKEN"),Accept:"application/json",Authorization:"Bearer "+localStorage.getItem("jwtToken")}}),M2=(e,t)=>fetch(`/api/pets/${t}`,{method:"PUT",body:e,headers:{"CSRF-TOKEN":Wc("CSRF-TOKEN"),Accept:"application/json",Authorization:"Bearer "+localStorage.getItem("jwtToken")}}),D2=e=>qt(`/api/pets/${e}`,{method:"DELETE"});function I2(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!="function")throw new TypeError(t)}function z2(e,t=`expected an object, instead received ${typeof e}`){if(typeof e!="object")throw new TypeError(t)}function F2(e,t="expected all items to be functions, instead received the following types: "){if(!e.every(n=>typeof n=="function")){const n=e.map(r=>typeof r=="function"?`function ${r.name||"unnamed"}()`:typeof r).join(", ");throw new TypeError(`${t}[${n}]`)}}var ap=e=>Array.isArray(e)?e:[e];function U2(e){const t=Array.isArray(e[0])?e[0]:e;return F2(t,"createSelector expects all input-selectors to be functions, but received the following types: "),t}function $2(e,t){const n=[],{length:r}=e;for(let i=0;i{n=uo(),o.resetResultsCount()},o.resultsCount=()=>a,o.resetResultsCount=()=>{a=0},o}function H2(e,...t){const n=typeof e=="function"?{memoize:e,memoizeOptions:t}:e,r=(...i)=>{let a=0,o=0,l,s={},c=i.pop();typeof c=="object"&&(s=c,c=i.pop()),I2(c,`createSelector expects an output function after the inputs, but received: [${typeof c}]`);const f={...n,...s},{memoize:d,memoizeOptions:m=[],argsMemoize:g=Ov,argsMemoizeOptions:y=[],devModeChecks:w={}}=f,k=ap(m),h=ap(y),p=U2(i),v=d(function(){return a++,c.apply(null,arguments)},...k),j=g(function(){o++;const x=$2(p,arguments);return l=v.apply(null,x),l},...h);return Object.assign(j,{resultFunc:c,memoizedResultFunc:v,dependencies:p,dependencyRecomputations:()=>o,resetDependencyRecomputations:()=>{o=0},lastResult:()=>l,recomputations:()=>a,resetRecomputations:()=>{a=0},memoize:d,argsMemoize:g})};return Object.assign(r,{withTypes:()=>r}),r}var Qc=H2(Ov),Y2=Object.assign((e,t=Qc)=>{z2(e,`createStructuredSelector expects first argument to be an object where each property is a selector, instead received a ${typeof e}`);const n=Object.keys(e),r=n.map(a=>e[a]);return t(r,(...a)=>a.reduce((o,l,s)=>(o[n[s]]=l,o),{}))},{withTypes:()=>Y2});const Lv="pets/RECEIVE_PETS",Av="pets/RECEIVE_PET",Mv="pets/REMOVE_PET",K2=e=>({type:Lv,pets:e}),Dv=e=>({type:Av,pet:e}),Q2=e=>({type:Mv,petId:e}),Iv=e=>t=>L2(e).then(n=>{if(n.ok)return n.json();throw n}).then(n=>t(K2(n))),G2=e=>async t=>{const n=await A2(e);if(n.ok)return t(Dv(await n.json()));if(n.status===422)return await n.json();throw n},X2=(e,t)=>async n=>{if(!t)return e;const r=await M2(e,t);if(r.ok)return n(Dv(await r.json()));if(r.status===422)return await r.json();throw r},J2=e=>t=>D2(e).then(n=>{if(n.ok)t(Q2(e));else throw n}),q2=Qc(e=>e.pets,e=>Object.values(e)),Z2=e=>t=>t.pets[e],eS=(e={},t)=>{const n={...e};switch(t.type){case Lv:return t.pets.reduce((r,i)=>(r[i._id]=i,r),{});case Av:return{...e,[t.pet._id]:t.pet};case Mv:return delete n[t.petId],n;default:return e}};const lp=["Rabies","Distemper/Parvo","Leptospirosis","Bordetella","Influenza","Lyme","Rattlesnake"],sp=["Rabies","FVRCP","FELV"],up=["Wellness","Illness","Procedure"],cp=["Flea/Tick Prevention","Heartworm Prevention"],tS=["Canine","Feline","Avian","Pocket Pet","Reptile","Equine","Aquatic"],fs={green:"https://pet-portal-assets.s3.us-west-1.amazonaws.com/check-mark-circle-2-svgrepo-com.svg",upcoming:"https://pet-portal-assets.s3.us-west-1.amazonaws.com/clock-ui-web-svgrepo-com.svg",overdue:"https://pet-portal-assets.s3.us-west-1.amazonaws.com/exclamation-triangle-svgrepo-com.svg"},zv=e=>{const t=new Date,n=new Date(e);if(t>=n)return fs.overdue;let r=n.getMonth(),i=n.getFullYear(),a=n.getDate(),o=r-2;o<0&&(o+=12,i-=1),o===2&&(a=28);const l=new Date(i,o,a);return t>=l&&t<=n?fs.upcoming:fs.green},Fv=({modalState:e,setModalState:t,editModalState:n,setEditModalState:r,initialPetData:i,petId:a})=>{const[o,l]=P.useState((i==null?void 0:i.name)??""),s=i?new Date(i.dob).toISOString().split("T")[0]:"",[c,f]=P.useState(s),[d,m]=P.useState((i==null?void 0:i.sex)??""),[g,y]=P.useState((i==null?void 0:i.species)??""),[w,k]=P.useState((i==null?void 0:i.color)??""),[h,p]=P.useState((i==null?void 0:i.breed)??""),[v,j]=P.useState((i==null?void 0:i.microchipNum)??""),[_,x]=P.useState((i==null?void 0:i.insurancePolicyId)??""),[R,A]=P.useState((i==null?void 0:i.weight)??""),[L,z]=P.useState(i?i.photo:null),[J,se]=P.useState(!1),[he,Ie]=P.useState((i==null?void 0:i.imageUrl)??""),Qe=Ot(),dt=Jn(),{pathname:oe}=dt,I=E=>{E.preventDefault();const O=new FormData,F={_id:a,name:o,dob:c,sex:d,species:g,color:w,breed:h,microchipNum:v,insurancePolicyId:_,weight:R,imageUpdated:J};L&&(O.append("image",L),se(!0));for(const B in F)Object.hasOwn(F,B)&&O.append(`${B}`,F[B]);Qe(X2(O,a)),r(null),se(!1)},Y=E=>{E.preventDefault();const O=new FormData,F={name:o,dob:c,sex:d,species:g,color:w,breed:h,microchipNum:v,insurancePolicyId:_,weight:R};for(const B in F)Object.prototype.hasOwnProperty.call(F,B)&&O.append(B,F[B]);L&&O.append("image",L),Qe(G2(O)),t(null),l(""),f(""),m(""),y(""),k(""),p(""),j(""),x(""),A(""),z(null),Ie("")},K=E=>{const O=E.currentTarget.files[0];z(O),Ie(URL.createObjectURL(O))},S=()=>u.jsxs(u.Fragment,{children:[u.jsxs("label",{className:"input-label",children:[u.jsx("div",{className:"name-input-label",children:u.jsxs("span",{children:["Name",u.jsx("span",{className:"required",children:"· required"})]})}),u.jsx("input",{placeholder:"Name",type:"text",value:o,onChange:E=>l(E.target.value)})]}),u.jsxs("label",{className:"input-label",children:[u.jsx("div",{className:"dob-input-label",children:u.jsxs("span",{children:["Date of Birth",u.jsx("span",{className:"required",children:"· required"})]})}),u.jsx("input",{placeholder:"Date of birth",type:"date",value:c,onChange:E=>f(E.target.value)})]}),u.jsxs("label",{className:"input-label",children:[u.jsx("div",{className:"sex-select-label",children:u.jsxs("span",{children:["Sex",u.jsx("span",{className:"required",children:"· required"})]})}),u.jsx("select",{className:"sex-select",placeholder:"Sex",value:d,onChange:E=>m(E.target.value),children:u.jsxs("optgroup",{children:[u.jsx("option",{disabled:!0,value:"",children:" "}),u.jsx("option",{value:"female",id:"female",children:"Female"}),u.jsx("option",{value:"male",id:"male",children:"Male"}),u.jsx("option",{value:"unknown",id:"unknown",children:"Unknown"})]})})]}),u.jsxs("label",{className:"input-label",children:[u.jsx("div",{className:"species-input-label",children:u.jsxs("span",{children:["Species",u.jsx("span",{className:"required",children:"· required"})]})}),u.jsx("select",{className:"species-select",value:g,onChange:E=>y(E.target.value),children:u.jsxs("optgroup",{children:[u.jsx("option",{disabled:!0,value:"",children:"Select Species"}),tS.map((E,O)=>u.jsx("option",{value:E.toLowerCase(),id:E.toLowerCase(),children:E},O))]})})]}),u.jsxs("label",{className:"input-label",children:[u.jsx("div",{className:"color-input-label",children:u.jsxs("span",{children:["Color",u.jsx("span",{className:"required",children:"· required"})]})}),u.jsx("input",{placeholder:"Color",type:"text",value:w,onChange:E=>k(E.target.value)})]}),u.jsxs("label",{className:"input-label",children:[u.jsx("div",{className:"breed-input-label",children:u.jsx("span",{children:"Breed"})}),u.jsx("input",{placeholder:"Breed",type:"text",value:h,onChange:E=>p(E.target.value)})]}),u.jsxs("label",{className:"input-label",children:[u.jsx("div",{className:"microchipNum-input-label",children:u.jsx("span",{children:"Microchip Number"})}),u.jsx("input",{placeholder:"Microchip number",type:"text",value:v,onChange:E=>j(E.target.value)})]}),u.jsxs("label",{className:"input-label",children:[u.jsx("div",{className:"insurance-policy-input-label",children:u.jsx("span",{children:"Insurance Policy Id"})}),u.jsx("input",{placeholder:"Insurance policy id",type:"text",value:_,onChange:E=>x(E.target.value)})]}),u.jsxs("label",{className:"input-label",children:[u.jsx("div",{className:"weight-input-label",children:u.jsx("span",{children:"Weight"})}),u.jsx("input",{placeholder:"Weight",type:"text",value:R,onChange:E=>A(E.target.value)})]}),u.jsxs("label",{className:"input-label",children:[u.jsx("div",{className:"photo-input-label",children:u.jsx("span",{children:e==="edit"?"Update Photo":"Please add photo of your pet !"})}),u.jsx("input",{id:"photo",onChange:K,type:"file"})]})]}),C=()=>{oe==="/dashboard"?t(null):r(null)};return u.jsx(u.Fragment,{children:u.jsx("div",{className:"modal-background",children:u.jsxs("div",{className:`${e?`${e}`:""}${n?`${n}`:""}-modal-content`,onClick:E=>E.stopPropagation(),children:[u.jsx("div",{className:`modal-content-top-${e?`${e}`:""}${n?`${n}`:""}`,children:u.jsx("button",{className:"pet-form-button",onClick:C,children:u.jsx("span",{children:u.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32","aria-hidden":"true",role:"presentation",focusable:"false",style:{display:"block",fill:"none",height:"16px",width:"16px",stroke:"currentcolor",strokeWidth:"3",overflow:"visible"},children:u.jsx("path",{d:"m6 6 20 20M26 6 6 26"})})})})}),u.jsxs("div",{className:"modal-content-center",children:[u.jsxs("div",{className:"modal-content-center-title",children:[e&&u.jsxs("h2",{className:"pet-modal-h2",children:[" ",u.jsx("span",{className:"pet-dash-highlight"}),"Add New Pet"]}),n&&u.jsxs("h2",{className:"pet-modal-h2",children:[u.jsx("span",{className:"pet-dash-highlight"}),"Edit Pet"]})]}),he&&u.jsx("div",{className:"file-preview",children:u.jsx("img",{src:he})}),u.jsx("div",{className:"modal-content-center-form",children:u.jsxs("form",{className:`${e?`${e}`:""}${n?`${n}`:""}-new-pet-form`,onSubmit:oe==="/dashboard"?Y:I,children:[S(),u.jsx("div",{className:`${e?`${e}`:""}${n?`${n}`:""}-new-pet-button`,children:u.jsxs("button",{type:"submit",children:[e&&u.jsx("h2",{children:"Add New Pet"}),n&&u.jsx("h2",{children:"Edit Pet"})]})})]})})]})]})})})};const nS=()=>{const e=Ot(),t=Jt(El),n=Jt(a=>a.pets),[r,i]=P.useState(null);return P.useEffect(()=>{t&&e(Iv(t._id))},[t,n.length,e]),u.jsxs(u.Fragment,{children:[u.jsxs("div",{className:"pet-grid-container",children:[u.jsxs("div",{className:"pet-grid-header-container",children:[u.jsx("div",{className:"pet-grid-header-text",children:u.jsx("h1",{children:"Your Pets"})}),u.jsx("div",{className:"get-grid-header-form",children:u.jsx("button",{className:"grid-add-pet-button",onClick:()=>i("add"),children:"+ Add pet"})})]}),u.jsx("div",{className:"pet-grid-divider"}),u.jsxs("div",{className:"pet-grid-index",children:[n&&Object.values(n).map((a,o)=>u.jsxs("div",{className:"pet-item",children:[u.jsx("div",{className:"pet-img",children:u.jsx($e,{to:`/dashboard/${a._id}`,children:u.jsx("img",{className:a._id,src:a.imageUrl})})}),u.jsx("div",{className:"pet-name",children:u.jsx("p",{children:a.name})})]},o)),!n&&u.jsx("div",{children:"Loading..."})]})]}),r&&u.jsx(Fv,{modalState:r,setModalState:i})]})};const rS=({clinicModalState:e,setClinicModalState:t})=>u.jsx("div",{className:"modal-background",onClick:n=>t(null),children:u.jsxs("div",{className:`modal-content-${e}`,onClick:n=>n.stopPropagation(),children:[u.jsx("div",{className:"clinic-modal-content-top",children:u.jsx("button",{onClick:n=>t(null),children:u.jsx("span",{children:u.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32","aria-hidden":"true",role:"presentation",focusable:"false",style:{display:"block",fill:"none",height:"16px",width:"16px",stroke:"currentcolor",strokeWidth:"3",overflow:"visible"},children:u.jsx("path",{d:"m6 6 20 20M26 6 6 26"})})})})}),u.jsx("div",{className:"clinic-modal-content-bottom",children:u.jsxs("div",{className:"clinic-content-container",children:[u.jsx("div",{className:"clinic-left",children:u.jsxs("div",{className:"clinic-search",children:[u.jsx("input",{type:"text"}),u.jsx("button",{children:"Search Clinic"})]})}),u.jsxs("div",{className:"clinic-right",children:[u.jsx("div",{children:"RIGHT"}),u.jsx("div",{children:"ALL CLINIC INFOs"})]})]})})]})});const iS=e=>qt(`/api/reminders/user/${e}`,{method:"GET"}),aS=e=>qt(`/api/reminders/pet/${e}`,{method:"GET"}),oS=e=>qt("/api/reminders",{method:"POST",body:JSON.stringify(e)}),lS=e=>qt(`/api/reminders/${e._id}`,{method:"PUT",body:JSON.stringify(e)}),sS=e=>qt(`/api/reminders/${e}`,{method:"DELETE"}),Uv="reminders/RECEIVE_REMINDERS",$v="reminders/RECEIVE_REMINDER",Vv="reminders/REMOVE_REMINDER",Bv=e=>({type:Uv,reminders:e}),Wv=e=>({type:$v,reminder:e}),uS=e=>({type:Vv,reminderId:e}),cS=e=>t=>iS(e).then(n=>{if(n.ok)return n.json();throw n}).then(n=>t(Bv(n))).catch(n=>console.error(n)),fS=e=>t=>aS(e).then(n=>{if(n.ok)return n.json();throw n}).then(n=>t(Bv(n))).catch(n=>console.error(n)),dS=e=>async t=>{const n=await oS(e);if(n.ok)return t(Wv(await n.json()));if(n.status===422)return await n.json();throw n},pS=e=>async t=>{const n=await lS(e);if(n.ok)return t(Wv(await n.json()));if(n.status===422)return await n.json();throw n},Gc=e=>t=>sS(e).then(n=>{if(n.ok)return t(uS(e)),n.json();throw n}).catch(n=>console.error(n)),Hv=Qc(e=>e.reminders,e=>{const t=Object.values(e);return t.sort((n,r)=>new Date(n.dueDate)-new Date(r.dueDate)),t}),mS=(e={},t)=>{const n={...e};switch(t.type){case $v:return{...e,[t.reminder._id]:t.reminder};case Uv:return t.reminders;case Vv:return delete n[t.reminderId],n;default:return e}};var hS={prefix:"fas",iconName:"pills",icon:[576,512,[],"f484","M112 96c-26.5 0-48 21.5-48 48V256h96V144c0-26.5-21.5-48-48-48zM0 144C0 82.1 50.1 32 112 32s112 50.1 112 112V368c0 61.9-50.1 112-112 112S0 429.9 0 368V144zM554.9 399.4c-7.1 12.3-23.7 13.1-33.8 3.1L333.5 214.9c-10-10-9.3-26.7 3.1-33.8C360 167.7 387.1 160 416 160c88.4 0 160 71.6 160 160c0 28.9-7.7 56-21.1 79.4zm-59.5 59.5C472 472.3 444.9 480 416 480c-88.4 0-160-71.6-160-160c0-28.9 7.7-56 21.1-79.4c7.1-12.3 23.7-13.1 33.8-3.1L498.5 425.1c10 10 9.3 26.7-3.1 33.8z"]},vS={prefix:"fas",iconName:"syringe",icon:[512,512,[128137],"f48e","M441 7l32 32 32 32c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-15-15L417.9 128l55 55c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-72-72L295 73c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l55 55L422.1 56 407 41c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0zM210.3 155.7l61.1-61.1c.3 .3 .6 .7 1 1l16 16 56 56 56 56 16 16c.3 .3 .6 .6 1 1l-191 191c-10.5 10.5-24.7 16.4-39.6 16.4H97.9L41 505c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l57-57V325.3c0-14.9 5.9-29.1 16.4-39.6l43.3-43.3 57 57c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-57-57 41.4-41.4 57 57c6.2 6.2 16.4 6.2 22.6 0s6.2-16.4 0-22.6l-57-57z"]},bl={prefix:"far",iconName:"trash-can",icon:[448,512,[61460,"trash-alt"],"f2ed","M170.5 51.6L151.5 80h145l-19-28.4c-1.5-2.2-4-3.6-6.7-3.6H177.1c-2.7 0-5.2 1.3-6.7 3.6zm147-26.6L354.2 80H368h48 8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8V432c0 44.2-35.8 80-80 80H112c-44.2 0-80-35.8-80-80V128H24c-13.3 0-24-10.7-24-24S10.7 80 24 80h8H80 93.8l36.7-55.1C140.9 9.4 158.4 0 177.1 0h93.7c18.7 0 36.2 9.4 46.6 24.9zM80 128V432c0 17.7 14.3 32 32 32H336c17.7 0 32-14.3 32-32V128H80zm80 64V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16zm80 0V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16zm80 0V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16z"]},jl={prefix:"far",iconName:"pen-to-square",icon:[512,512,["edit"],"f044","M441 58.9L453.1 71c9.4 9.4 9.4 24.6 0 33.9L424 134.1 377.9 88 407 58.9c9.4-9.4 24.6-9.4 33.9 0zM209.8 256.2L344 121.9 390.1 168 255.8 302.2c-2.9 2.9-6.5 5-10.4 6.1l-58.5 16.7 16.7-58.5c1.1-3.9 3.2-7.5 6.1-10.4zM373.1 25L175.8 222.2c-8.7 8.7-15 19.4-18.3 31.1l-28.6 100c-2.4 8.4-.1 17.4 6.1 23.6s15.2 8.5 23.6 6.1l100-28.6c11.8-3.4 22.5-9.7 31.1-18.3L487 138.9c28.1-28.1 28.1-73.7 0-101.8L474.9 25C446.8-3.1 401.2-3.1 373.1 25zM88 64C39.4 64 0 103.4 0 152V424c0 48.6 39.4 88 88 88H360c48.6 0 88-39.4 88-88V312c0-13.3-10.7-24-24-24s-24 10.7-24 24V424c0 22.1-17.9 40-40 40H88c-22.1 0-40-17.9-40-40V152c0-22.1 17.9-40 40-40H200c13.3 0 24-10.7 24-24s-10.7-24-24-24H88z"]},gS={prefix:"far",iconName:"calendar-check",icon:[448,512,[],"f274","M128 0c13.3 0 24 10.7 24 24V64H296V24c0-13.3 10.7-24 24-24s24 10.7 24 24V64h40c35.3 0 64 28.7 64 64v16 48V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V192 144 128C0 92.7 28.7 64 64 64h40V24c0-13.3 10.7-24 24-24zM400 192H48V448c0 8.8 7.2 16 16 16H384c8.8 0 16-7.2 16-16V192zM329 297L217 409c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47 95-95c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z"]};const yS=()=>{const e=Ot(),t=Jt(El),r=Jt(Hv).filter(d=>{var m;return d.user===((m=t==null?void 0:t._id)==null?void 0:m.toString())}),i=Jt(q2),a=new Date,o=[],l=[],s=r==null?void 0:r.filter((d,m)=>{let g=new Date(r[m].dueDate),y=Math.ceil((g-a)/(1e3*60*60*24));if(y<=5&&y>=0)return o.push(y),l.push(d.pet),d}),c=[],f=[];for(let d=0;d{t!=null&&t._id&&e(cS(t._id))},[e,t==null?void 0:t._id]),u.jsxs(u.Fragment,{children:[s.length===0&&u.jsx("div",{className:"no-upcoming-reminder",children:"Currently, there are no upcoming reminders!"}),s.length!==0&&s.map((d,m)=>u.jsxs("div",{className:"upcoming-reminder-container",children:[u.jsxs("div",{className:"upcoming-reminder-icon-container",children:[u.jsxs("div",{className:"upcoming-reminder-icon",children:[d.type==="appointment"&&u.jsx(Ee,{className:"appointment-icon",icon:gS,size:"xl"}),d.type==="vaccination"&&u.jsx(Ee,{className:"vaccination-icon",icon:vS,size:"xl"}),d.type==="medication"&&u.jsx(Ee,{className:"medication-icon",icon:hS,size:"xl"})]}),u.jsxs("div",{className:"upcoming-reminder-type",children:[d.type==="appointment"&&"appointment",d.type==="vaccination"&&"vaccination",d.type==="medication"&&"medication"]})]}),u.jsxs("div",{className:"upcoming-reminder-content",children:[u.jsx("div",{children:d.title}),u.jsx("div",{className:"upcoming-reminder-pet-name",children:c[m]&&u.jsx("p",{children:c[m]})}),u.jsx("div",{className:"upcoming-pet-image",children:f[m]&&u.jsx("img",{id:"upcoming-pet-image",src:f[m]})})]}),u.jsx("div",{className:"upcoming-reminder-pet",children:u.jsxs("div",{className:"upcoming-days",children:[o[m]<0&&u.jsx("p",{children:" Overdue! "}),o[m]===0&&u.jsx("p",{children:"due today"}),o[m]>0&&u.jsxs("p",{children:["in ",o[m]," days"]})]})})]},m))]})},xS=()=>{const[e,t]=P.useState(null);return u.jsxs("div",{className:"page-container",children:[u.jsx("img",{className:"bg-image",src:"https://pet-portal-assets.s3.us-west-1.amazonaws.com/layered-waves-haikei+(1).svg"}),u.jsxs("h1",{className:"dashboard-header",children:[u.jsx("span",{className:"pet-dash-highlight"}),"Dashboard"]}),u.jsxs("div",{className:"dashboard-container",children:[u.jsx("div",{className:"index-container",children:u.jsx(nS,{})}),u.jsx("div",{className:"right-container",children:u.jsxs("div",{className:"all-reminders",children:[u.jsx("div",{className:"all-reminders-title",children:u.jsx("h3",{children:"Upcoming Reminders"})}),u.jsx(yS,{})]})})]}),e&&u.jsx(rS,{clinicModalState:e,setClinicModalState:t})]})};function Xc({name:e="reminder"}){const t=/[aeiou]/.test(e.charAt(0));return u.jsxs("div",{className:"empty-reminders",children:["Click the ",u.jsx("span",{children:"+"})," icon to add a",t&&"n"," ",e,"!"]})}const wS=({reminders:e,setModalState:t,setCurrentReminder:n})=>{const r=Ot(),i=e.filter(l=>l.type==="appointment"),a=l=>{const s=new Date(l),c=s.toLocaleDateString("en-US");let f=s.getHours();const d=s.getMinutes(),m=f>=12?"PM":"AM";f=f%12,f=f||12;const g=f.toString(),y=d<10?"0"+d:d.toString(),w=`${g}:${y} ${m}`;return`${c} - ${w}`},o=(l,s)=>{s.preventDefault(),s.stopPropagation(),r(Gc(l))};return u.jsxs(u.Fragment,{children:[i&&i.map((l,s)=>u.jsxs("div",{className:"appointment-info-container",children:[u.jsxs("div",{className:"appointment-header",children:[u.jsxs("div",{className:"appointment-title",children:[u.jsx("p",{children:l.title}),u.jsxs("div",{className:"edit-del-reminder",children:[u.jsx(Ee,{className:"edit-del-icons pen",icon:jl,onClick:()=>{n(l),t("edit")}}),u.jsx(Ee,{className:"edit-del-icons trash",icon:bl,onClick:c=>{o(l._id,c)}})]})]}),u.jsx("div",{className:"appointment-date",children:u.jsx("p",{children:a(l.dueDate)})})]}),u.jsx("div",{className:"reminder-divider"}),u.jsxs("div",{className:"appointment-content",children:[u.jsx("div",{className:"appointment-desc",children:u.jsx("p",{children:l.description})}),u.jsx("div",{className:"appointment-loc",children:u.jsx("p",{children:l.location})})]})]},s)),!i.length&&u.jsx(Xc,{name:"appointment reminder"})]})};const SS=({reminders:e,setModalState:t,setCurrentReminder:n})=>{const r=Ot(),i=e.filter(o=>o.type==="vaccination"),a=(o,l)=>{l.preventDefault(),l.stopPropagation(),r(Gc(o))};return u.jsxs(u.Fragment,{children:[i&&Object.values(i).map((o,l)=>u.jsx("div",{className:"vaccine-info-container",children:u.jsxs("div",{className:"vaccine-header",children:[u.jsxs("div",{className:"vaccine-desc",children:[u.jsx("p",{children:o.title}),u.jsxs("div",{className:"edit-del-reminder",children:[u.jsx(Ee,{className:"edit-del-icons pen",icon:jl,onClick:()=>{n(o),t("edit")}}),u.jsx(Ee,{className:"edit-del-icons trash",icon:bl,onClick:s=>{a(o._id,s)}})]})]}),u.jsxs("div",{className:"vaccine-date",children:[u.jsxs("p",{children:["Due: ",new Date(o.dueDate).toLocaleDateString("en-US")]}),u.jsx("img",{src:zv(o.dueDate),className:"proximity-icon"})]})]})},l)),!i.length&&u.jsx(Xc,{name:"vaccine reminder"})]})};const kS=({reminders:e,setModalState:t,setCurrentReminder:n})=>{const r=Ot(),i=e.filter(o=>o.type==="medication"),a=(o,l)=>{l.preventDefault(),l.stopPropagation(),r(Gc(o))};return u.jsxs(u.Fragment,{children:[i&&Object.values(i).map((o,l)=>u.jsxs("div",{className:"medication-info-container",children:[u.jsxs("div",{className:"medication-header",children:[u.jsxs("div",{className:"medication-title",children:[u.jsx("p",{children:o.title}),u.jsxs("div",{className:"edit-del-reminder",children:[u.jsx(Ee,{className:"edit-del-icons pen",icon:jl,onClick:()=>{n(o),t("edit")}}),u.jsx(Ee,{className:"edit-del-icons trash",icon:bl,onClick:s=>{a(o._id,s)}})]})]}),u.jsxs("div",{className:"medication-date",children:[u.jsxs("p",{children:["Due: ",new Date(o.dueDate).toLocaleDateString("en-US")]}),u.jsx("img",{src:zv(o.dueDate),className:"proximity-icon"})]})]}),o.description&&u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"reminder-divider"}),u.jsx("div",{className:"medication-content",children:u.jsx("p",{children:o.description})})]})]},l)),!i.length&&u.jsx(Xc,{name:"medication reminder"})]})};const ES=({modalState:e,setModalState:t,pet:n,reminder:r={}})=>{const[i,a]=P.useState(e==="edit"?r.type:""),[o,l]=P.useState(e==="edit"?r.title:""),[s,c]=P.useState(e==="edit"?r.dueDate.slice(0,10):""),[f,d]=P.useState(e==="edit"&&r.performDate?r.performDate.slice(0,10):""),[m,g]=P.useState(e==="edit"?r.description:""),[y,w]=P.useState(e==="edit"?r.location:""),k=Ot(),[h,p]=P.useState({}),v=P.useCallback(L=>{switch(L){case"appointment":return up;case"vaccination":return n.species==="feline"?sp:lp;case"medication":return cp;default:return[]}},[n.species]),[j,_]=P.useState(e==="edit"?v(r.type):[]);P.useEffect(()=>{e!=="edit"&&(a(e),_(v(e)))},[i,e,v]),P.useEffect(()=>{},[k,r]);const x=L=>{switch(a(L.target.value),L.target.value.toLowerCase()){case"appointment":_(up);break;case"vaccination":_(n.species.toLowerCase()==="feline"?sp:lp);break;case"medication":_(cp);break;default:_([])}},R=L=>{L.preventDefault();const z={...r,type:i,title:o,dueDate:s,performDate:f,description:m,location:y,pet:n._id};e==="edit"?k(pS(z)):k(dS(z)).then(()=>{p({})}).catch(async J=>{let se=await J.json();p(se.errors)}),Object.keys(h).length!==0&&t(null),a(""),l(""),c(""),d(""),g(""),w("")};P.useEffect(()=>{},[h]);const A=()=>u.jsxs(u.Fragment,{children:[u.jsxs("label",{className:"input-label",children:[u.jsx("div",{className:"type-select-label",children:u.jsxs("span",{children:["Type",u.jsx("span",{className:"required",children:"· required"})]})}),u.jsx("select",{className:"type-select",placeholder:"Type",value:i,onChange:x,children:u.jsxs("optgroup",{children:[u.jsx("option",{disabled:!0,value:"",children:" Select Type "}),u.jsx("option",{id:"appt",value:"appointment",children:"Appointment"}),u.jsx("option",{id:"vaccine",value:"vaccination",children:"Vaccination"}),u.jsx("option",{id:"medication",value:"medication",children:"Medication"})]})})]}),u.jsxs("label",{className:"input-label",children:[u.jsx("div",{className:"title-select-label",children:u.jsxs("span",{children:["Title",u.jsx("span",{className:"required",children:"· required"})]})}),h.title&&u.jsxs("div",{className:"reminder-error",children:["* ",h.title.split(" ").slice(1).join(" ")]}),u.jsx("select",{className:"title-select",value:o,onChange:L=>l(L.target.value),children:u.jsxs("optgroup",{children:[u.jsxs("option",{disabled:!0,value:"",children:[" ",`Select ${e!=="edit"&&e}`," "]}),j&&j.map((L,z)=>u.jsx("option",{value:L,children:L},z))]})})]}),u.jsxs("label",{className:"input-label",children:[u.jsx("div",{className:"duedate-input-label",children:u.jsxs("span",{children:["Due Date",u.jsx("span",{className:"required",children:"· required"})]})}),h.dueDate&&u.jsxs("div",{className:"reminder-error",children:["* ",h.dueDate.split(" ").slice(1).join(" ")]}),u.jsx("input",{placeholder:"Due Date",type:i==="appointment"?"datetime-local":"date",value:s,onChange:L=>c(L.target.value)})]}),u.jsxs("label",{className:"input-label",children:[u.jsx("div",{className:"perform-date-input-label",children:u.jsx("span",{children:"Perform Date"})}),u.jsx("input",{placeholder:"Perform Date",type:i==="appointment"?"datetime-local":"date",value:f,onChange:L=>d(L.target.value)})]}),u.jsxs("label",{className:"input-label",children:[u.jsx("div",{className:"description-input-label",children:u.jsx("span",{children:"Description"})}),u.jsx("textarea",{className:"description-input",type:"textarea",value:m,onChange:L=>g(L.target.value),placeholder:"Description"})]}),e==="appointment"&&u.jsxs("label",{className:"input-label",children:[u.jsx("div",{className:"location-input-label",children:u.jsx("span",{children:"Location"})}),u.jsx("input",{placeholder:"Location",type:"text",value:y,onChange:L=>w(L.target.value)})]})]});return u.jsx(u.Fragment,{children:u.jsx("div",{className:"modal-background",children:u.jsxs("div",{className:`modal-content-${e}`,onClick:L=>L.stopPropagation(),children:[u.jsx("div",{className:"reminder-modal-content-top",children:u.jsx("button",{onClick:L=>t(null),children:u.jsx("span",{children:u.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32","aria-hidden":"true",role:"presentation",focusable:"false",style:{display:"block",color:"black",fill:"none",height:"16px",width:"16px",stroke:"currentColor",strokeWidth:"3",overflow:"visible"},children:u.jsx("path",{d:"m6 6 20 20M26 6 6 26"})})})})}),u.jsxs("div",{className:"modal-content-bottom",children:[u.jsx("div",{className:"modal-content-bottom-title",children:e&&u.jsxs("div",{className:"reminder-title",children:[u.jsx("span",{className:"pet-dash-highlight"}),e==="edit"?"Update":`Add ${e.charAt(0).toUpperCase()+e.slice(1)}`," Reminder"]})}),u.jsx("div",{className:"modal-content-bottom-form-container",children:u.jsxs("form",{className:"modal-content-bottom-form",onSubmit:R,children:[A(),u.jsx("div",{className:"reminder-button-container",children:u.jsx("button",{type:"submit",className:"add-new-reminder-button",children:e&&u.jsx("div",{className:e==="edit"?"reminder-button-edit":"reminder-button",children:e==="edit"?"Confirm Changes":`Add ${e.charAt(0).toUpperCase()+e.slice(1)} + Reminder`})})})]})})]})]})})})},bS=()=>{const{petId:e}=g0(),t=Jt(Z2(e)),n=Jt(El),r=Ot(),[i,a]=P.useState(null),[o,l]=P.useState(null),[s,c]=P.useState(null),f=Jt(Hv),d=g=>{const y=new Date(g),w=new Date;let k=w.getFullYear()-y.getFullYear(),h=w.getMonth()-y.getMonth(),p=w.getDate()-y.getDate();if((h<0||h===0&&p<0)&&(k--,h+=12),p<0){h--;const v=new Date(w.getFullYear(),w.getMonth(),0);p+=v.getDate()}if(h<0&&(k--,h+=12),k===0){const v=Math.floor(p/7),j=p%7;return h===0?`${v} week${v!==1?"s":""} & ${j} day${j!==1?"s":""}`:`${h} month${h!==1?"s":""} & ${p} day${p!==1?"s":""}`}else return`${k} year${k!==1?"s":""} & ${h} month${h!==1?"s":""}`},m=g=>g.split(" ").map(y=>y[0].toUpperCase()+y.slice(1).toLowerCase()).join(" ");if(P.useEffect(()=>{n!=null&&n._id&&r(Iv(n._id)),e&&r(fS(e))},[r,n,e]),t)return u.jsxs("div",{className:"dash-page-container",children:[u.jsx("img",{className:"bg-image",src:"https://pet-portal-assets.s3.us-west-1.amazonaws.com/layered-waves-haikei+(1).svg"}),u.jsxs("div",{className:"pet-dashboard-container",children:[u.jsxs("div",{className:"pet-dashboard",children:[u.jsx($e,{to:"/dashboard",className:"back-link",children:" ← Back to your pets "}),u.jsxs("h1",{className:"pet-dash-header",children:[u.jsx("span",{className:"pet-dash-highlight"}),`${t.name}'s Profile`]}),u.jsxs("div",{className:"pet-metrics-container",children:[u.jsxs("div",{className:"pet-reminder-module",children:[u.jsxs("div",{className:"pet-reminder-header",children:[u.jsx("h3",{children:"Appointments"}),u.jsx("button",{className:"pet-dash-buttons",onClick:()=>a("appointment"),children:" + "})]}),u.jsx("div",{className:"appointment-index-container",children:u.jsx(wS,{reminders:f,setModalState:a,setCurrentReminder:c})})]}),u.jsxs("div",{className:"preventatives-module",children:[u.jsxs("div",{className:"vaccines",children:[u.jsxs("div",{className:"pet-vaccines-header",children:[u.jsx("h3",{children:"Vaccines"}),u.jsx("button",{className:"pet-dash-buttons",onClick:()=>a("vaccination"),children:" + "})]}),u.jsx("div",{className:"vaccinations-index-container",children:u.jsx(SS,{reminders:f,setModalState:a,setCurrentReminder:c})})]}),u.jsxs("div",{className:"medications",children:[u.jsxs("div",{className:"medications-header",children:[u.jsx("h3",{children:"Medications"}),u.jsx("button",{className:"pet-dash-buttons",onClick:()=>a("medication"),children:" + "})]}),u.jsx("div",{className:"medications-index-container",children:u.jsx(kS,{reminders:f,setModalState:a,setCurrentReminder:c})})]})]})]})]}),u.jsxs("div",{className:"pet-signalment",children:[u.jsx("div",{className:"profile-pic-border",children:u.jsx("img",{src:t.imageUrl,className:"profile-pic"})}),u.jsxs("div",{className:"pet-summary",children:[u.jsx("div",{className:"name-splash-container",children:u.jsx("div",{className:"name-border",children:u.jsx("h3",{children:m(t.name)})})}),u.jsx("div",{children:u.jsx($e,{to:"/dashboard",children:u.jsx("button",{className:"delete-pet-dash-buttons",onClick:()=>r(J2(e)),children:u.jsx(Ee,{icon:bl})})})}),u.jsxs("div",{className:"pet-attribute",children:[u.jsx("h3",{children:"Age: "}),u.jsx("p",{children:d(t.dob)}),u.jsx("span",{className:"decoration"})]}),u.jsxs("div",{className:"pet-attribute",children:[u.jsx("h3",{children:"Sex: "}),u.jsx("p",{children:t.sex}),u.jsx("span",{className:"decoration"})]}),u.jsxs("div",{className:"pet-attribute",children:[u.jsx("h3",{children:"Species: "}),u.jsx("p",{children:t.species}),u.jsx("span",{className:"decoration"})]}),t.breed&&u.jsxs("div",{className:"pet-attribute",children:[u.jsx("h3",{children:"Breed: "}),u.jsx("p",{children:t.breed}),u.jsx("span",{className:"decoration"})]}),u.jsxs("div",{className:"pet-attribute",children:[u.jsx("h3",{children:"Color: "}),u.jsx("p",{children:t.color}),u.jsx("span",{className:"decoration"})]}),t.insurancePolicyId&&u.jsxs("div",{className:"pet-attribute",children:[u.jsx("h3",{children:"Insurance ID: "}),u.jsx("p",{children:t.insurancePolicyId}),u.jsx("span",{className:"decoration"})]}),t.microchipNumber&&u.jsxs("div",{className:"pet-attribute",children:[u.jsx("h3",{children:"Microchip: "}),u.jsx("p",{children:t.microchipNumber}),u.jsx("span",{className:"decoration"})]}),t.weight&&u.jsxs("div",{className:"pet-attribute",children:[u.jsx("h3",{children:"Weight: "}),u.jsx("p",{children:t.weight}),u.jsx("span",{className:"decoration"})]}),u.jsx("div",{children:u.jsx("button",{className:"edit-pet-dash-buttons",onClick:()=>l("edit"),children:u.jsx(Ee,{icon:jl})})})]})]})]}),o&&u.jsx(Fv,{editModalState:o,setEditModalState:l,initialPetData:t,petId:e}),i&&u.jsx(ES,{modalState:i,setModalState:a,pet:t,reminder:s})]})},jS=z0([{path:"/",element:u.jsx(rp,{})},{path:"/login",element:u.jsx(ip,{})},{path:"/register",element:u.jsx(ip,{})},{path:"/dashboard",element:u.jsxs(u.Fragment,{children:[u.jsx(Kc,{}),u.jsx(R0,{})]}),children:[{index:!0,element:u.jsx(xS,{})},{path:":petId",element:u.jsx(bS,{})}]},{path:"*",element:u.jsx(rp,{})}]),NS=()=>u.jsx(Y0,{router:jS});function We(e){return`Minified Redux error #${e}; visit https://redux.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var CS=(()=>typeof Symbol=="function"&&Symbol.observable||"@@observable")(),fp=CS,ds=()=>Math.random().toString(36).substring(7).split("").join("."),PS={INIT:`@@redux/INIT${ds()}`,REPLACE:`@@redux/REPLACE${ds()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${ds()}`},el=PS;function _S(e){if(typeof e!="object"||e===null)return!1;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t||Object.getPrototypeOf(e)===null}function Yv(e,t,n){if(typeof e!="function")throw new Error(We(2));if(typeof t=="function"&&typeof n=="function"||typeof n=="function"&&typeof arguments[3]=="function")throw new Error(We(0));if(typeof t=="function"&&typeof n>"u"&&(n=t,t=void 0),typeof n<"u"){if(typeof n!="function")throw new Error(We(1));return n(Yv)(e,t)}let r=e,i=t,a=new Map,o=a,l=0,s=!1;function c(){o===a&&(o=new Map,a.forEach((k,h)=>{o.set(h,k)}))}function f(){if(s)throw new Error(We(3));return i}function d(k){if(typeof k!="function")throw new Error(We(4));if(s)throw new Error(We(5));let h=!0;c();const p=l++;return o.set(p,k),function(){if(h){if(s)throw new Error(We(6));h=!1,c(),o.delete(p),a=null}}}function m(k){if(!_S(k))throw new Error(We(7));if(typeof k.type>"u")throw new Error(We(8));if(typeof k.type!="string")throw new Error(We(17));if(s)throw new Error(We(9));try{s=!0,i=r(i,k)}finally{s=!1}return(a=o).forEach(p=>{p()}),k}function g(k){if(typeof k!="function")throw new Error(We(10));r=k,m({type:el.REPLACE})}function y(){const k=d;return{subscribe(h){if(typeof h!="object"||h===null)throw new Error(We(11));function p(){const j=h;j.next&&j.next(f())}return p(),{unsubscribe:k(p)}},[fp](){return this}}}return m({type:el.INIT}),{dispatch:m,subscribe:d,getState:f,replaceReducer:g,[fp]:y}}function RS(e,t,n){return Yv(e,t,n)}function TS(e){Object.keys(e).forEach(t=>{const n=e[t];if(typeof n(void 0,{type:el.INIT})>"u")throw new Error(We(12));if(typeof n(void 0,{type:el.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(We(13))})}function OS(e){const t=Object.keys(e),n={};for(let a=0;a"u")throw l&&l.type,new Error(We(14));c[d]=y,s=s||y!==g}return s=s||r.length!==Object.keys(o).length,s?c:o}}function LS(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,n)=>(...r)=>t(n(...r)))}function AS(...e){return t=>(n,r)=>{const i=t(n,r);let a=()=>{throw new Error(We(15))};const o={getState:i.getState,dispatch:(s,...c)=>a(s,...c)},l=e.map(s=>s(o));return a=LS(...l)(i.dispatch),{...i,dispatch:a}}}function MS(e){return({dispatch:n,getState:r})=>i=>a=>typeof a=="function"?a(n,r,e):i(a)}var DS=MS(),dp={exports:{}};(function(e,t){(function(n,r){r(t)})(vi,function(n){function r(S,C){S.super_=C,S.prototype=Object.create(C.prototype,{constructor:{value:S,enumerable:!1,writable:!0,configurable:!0}})}function i(S,C){Object.defineProperty(this,"kind",{value:S,enumerable:!0}),C&&C.length&&Object.defineProperty(this,"path",{value:C,enumerable:!0})}function a(S,C,E){a.super_.call(this,"E",S),Object.defineProperty(this,"lhs",{value:C,enumerable:!0}),Object.defineProperty(this,"rhs",{value:E,enumerable:!0})}function o(S,C){o.super_.call(this,"N",S),Object.defineProperty(this,"rhs",{value:C,enumerable:!0})}function l(S,C){l.super_.call(this,"D",S),Object.defineProperty(this,"lhs",{value:C,enumerable:!0})}function s(S,C,E){s.super_.call(this,"A",S),Object.defineProperty(this,"index",{value:C,enumerable:!0}),Object.defineProperty(this,"item",{value:E,enumerable:!0})}function c(S,C,E){var O=S.slice((E||C)+1||S.length);return S.length=C<0?S.length+C:C,S.push.apply(S,O),S}function f(S){var C=typeof S>"u"?"undefined":Qe(S);return C!=="object"?C:S===Math?"math":S===null?"null":Array.isArray(S)?"array":Object.prototype.toString.call(S)==="[object Date]"?"date":typeof S.toString=="function"&&/^\/.*\//.test(S.toString())?"regexp":"object"}function d(S,C,E,O,F,B,X){F=F||[],X=X||[];var ne=F.slice(0);if(typeof B<"u"){if(O){if(typeof O=="function"&&O(ne,B))return;if((typeof O>"u"?"undefined":Qe(O))==="object"){if(O.prefilter&&O.prefilter(ne,B))return;if(O.normalize){var it=O.normalize(ne,B,S,C);it&&(S=it[0],C=it[1])}}}ne.push(B)}f(S)==="regexp"&&f(C)==="regexp"&&(S=S.toString(),C=C.toString());var pt=typeof S>"u"?"undefined":Qe(S),de=typeof C>"u"?"undefined":Qe(C),Re=pt!=="undefined"||X&&X[X.length-1].lhs&&X[X.length-1].lhs.hasOwnProperty(B),at=de!=="undefined"||X&&X[X.length-1].rhs&&X[X.length-1].rhs.hasOwnProperty(B);if(!Re&&at)E(new o(ne,C));else if(!at&&Re)E(new l(ne,S));else if(f(S)!==f(C))E(new a(ne,S,C));else if(f(S)==="date"&&S-C!==0)E(new a(ne,S,C));else if(pt==="object"&&S!==null&&C!==null)if(X.filter(function(Se){return Se.lhs===S}).length)S!==C&&E(new a(ne,S,C));else{if(X.push({lhs:S,rhs:C}),Array.isArray(S)){var ce;for(S.length,ce=0;ce=C.length?E(new s(ne,ce,new l(void 0,S[ce]))):d(S[ce],C[ce],E,O,ne,ce,X);for(;ce=0?(d(S[Se],C[Se],E,O,ne,Se,X),Lt=c(Lt,qn)):d(S[Se],void 0,E,O,ne,Se,X)}),Lt.forEach(function(Se){d(void 0,C[Se],E,O,ne,Se,X)})}X.length=X.length-1}else S!==C&&(pt==="number"&&isNaN(S)&&isNaN(C)||E(new a(ne,S,C)))}function m(S,C,E,O){return O=O||[],d(S,C,function(F){F&&O.push(F)},E),O.length?O:void 0}function g(S,C,E){if(E.path&&E.path.length){var O,F=S[C],B=E.path.length-1;for(O=0;O"u"&&(O[E.path[F]]=typeof E.path[F]=="number"?[]:{}),O=O[E.path[F]];switch(E.kind){case"A":g(E.path?O[E.path[F]]:O,E.index,E.item);break;case"D":delete O[E.path[F]];break;case"E":case"N":O[E.path[F]]=E.rhs}}}function w(S,C,E){if(E.path&&E.path.length){var O,F=S[C],B=E.path.length-1;for(O=0;O"u"&&(B[E.path[O]]={}),B=B[E.path[O]];switch(E.kind){case"A":w(B[E.path[O]],E.index,E.item);break;case"D":B[E.path[O]]=E.lhs;break;case"E":B[E.path[O]]=E.lhs;break;case"N":delete B[E.path[O]]}}}function h(S,C,E){if(S&&C){var O=function(F){E&&!E(S,C,F)||y(S,C,F)};d(S,C,O)}}function p(S){return"color: "+I[S].color+"; font-weight: bold"}function v(S){var C=S.kind,E=S.path,O=S.lhs,F=S.rhs,B=S.index,X=S.item;switch(C){case"E":return[E.join("."),O,"→",F];case"N":return[E.join("."),F];case"D":return[E.join(".")];case"A":return[E.join(".")+"["+B+"]",X];default:return[]}}function j(S,C,E,O){var F=m(S,C);try{O?E.groupCollapsed("diff"):E.group("diff")}catch{E.log("diff")}F?F.forEach(function(B){var X=B.kind,ne=v(B);E.log.apply(E,["%c "+I[X].text,p(X)].concat(dt(ne)))}):E.log("—— no diff ——");try{E.groupEnd()}catch{E.log("—— diff end —— ")}}function _(S,C,E,O){switch(typeof S>"u"?"undefined":Qe(S)){case"object":return typeof S[O]=="function"?S[O].apply(S,dt(E)):S[O];case"function":return S(C);default:return S}}function x(S){var C=S.timestamp,E=S.duration;return function(O,F,B){var X=["action"];return X.push("%c"+String(O.type)),C&&X.push("%c@ "+F),E&&X.push("%c(in "+B.toFixed(2)+" ms)"),X.join(" ")}}function R(S,C){var E=C.logger,O=C.actionTransformer,F=C.titleFormatter,B=F===void 0?x(C):F,X=C.collapsed,ne=C.colors,it=C.level,pt=C.diff,de=typeof C.titleFormatter>"u";S.forEach(function(Re,at){var ce=Re.started,Ze=Re.startedTime,Lt=Re.action,Se=Re.prevState,wn=Re.error,qn=Re.took,Zt=Re.nextState,en=S[at+1];en&&(Zt=en.prevState,qn=en.started-ce);var mt=O(Lt),kr=typeof X=="function"?X(function(){return Zt},Lt,Re):X,Bt=he(Ze),Zn=ne.title?"color: "+ne.title(mt)+";":"",Sn=["color: gray; font-weight: lighter;"];Sn.push(Zn),C.timestamp&&Sn.push("color: gray; font-weight: lighter;"),C.duration&&Sn.push("color: gray; font-weight: lighter;");var Wt=B(mt,Bt,qn);try{kr?ne.title&&de?E.groupCollapsed.apply(E,["%c "+Wt].concat(Sn)):E.groupCollapsed(Wt):ne.title&&de?E.group.apply(E,["%c "+Wt].concat(Sn)):E.group(Wt)}catch{E.log(Wt)}var mi=_(it,mt,[Se],"prevState"),bt=_(it,mt,[mt],"action"),Er=_(it,mt,[wn,Se],"error"),br=_(it,mt,[Zt],"nextState");if(mi)if(ne.prevState){var Ra="color: "+ne.prevState(Se)+"; font-weight: bold";E[mi]("%c prev state",Ra,Se)}else E[mi]("prev state",Se);if(bt)if(ne.action){var Nl="color: "+ne.action(mt)+"; font-weight: bold";E[bt]("%c action ",Nl,mt)}else E[bt]("action ",mt);if(wn&&Er)if(ne.error){var Ta="color: "+ne.error(wn,Se)+"; font-weight: bold;";E[Er]("%c error ",Ta,wn)}else E[Er]("error ",wn);if(br)if(ne.nextState){var jr="color: "+ne.nextState(Zt)+"; font-weight: bold";E[br]("%c next state",jr,Zt)}else E[br]("next state",Zt);pt&&j(Se,Zt,E,kr);try{E.groupEnd()}catch{E.log("—— log end ——")}})}function A(){var S=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},C=Object.assign({},Y,S),E=C.logger,O=C.stateTransformer,F=C.errorTransformer,B=C.predicate,X=C.logErrors,ne=C.diffPredicate;if(typeof E>"u")return function(){return function(pt){return function(de){return pt(de)}}};if(S.getState&&S.dispatch)return console.error(`[redux-logger] redux-logger not installed. Make sure to pass logger instance as middleware: // Logger with default options import { logger } from 'redux-logger' const store = createStore( @@ -852,11 +852,11 @@ const store = createStore( reducer, applyMiddleware(logger) ) -`),function(){return function(pt){return function(de){return pt(de)}}};var it=[];return function(pt){var de=pt.getState;return function(Re){return function(at){if(typeof B=="function"&&!B(de,at))return Re(at);var ue={};it.push(ue),ue.started=Ie.now(),ue.startedTime=new Date,ue.prevState=O(de()),ue.action=at;var Ze=void 0;if(X)try{Ze=Re(at)}catch(Se){ue.error=z(Se)}else Ze=Re(at);ue.took=Ie.now()-ue.started,ue.nextState=O(de());var Lt=C.diff&&typeof ne=="function"?ne(de,at):C.diff;if(P(it,Object.assign({},C,{diff:Lt})),it.length=0,ue.error)throw ue.error;return Ze}}}}var D,$,Z=function(S,C){return new Array(C+1).join(S)},fe=function(S,C){return Z("0",C-S.toString().length)+S},he=function(S){return fe(S.getHours(),2)+":"+fe(S.getMinutes(),2)+":"+fe(S.getSeconds(),2)+"."+fe(S.getMilliseconds(),3)},Ie=typeof performance<"u"&&performance!==null&&typeof performance.now=="function"?performance:Date,Qe=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(S){return typeof S}:function(S){return S&&typeof Symbol=="function"&&S.constructor===Symbol&&S!==Symbol.prototype?"symbol":typeof S},dt=function(S){if(Array.isArray(S)){for(var C=0,k=Array(S.length);C"u"?"undefined":Qe(vi))==="object"&&vi?vi:typeof window<"u"?window:{},$=D.DeepDiff,$&&oe.push(function(){typeof $<"u"&&D.DeepDiff===m&&(D.DeepDiff=$,$=void 0)}),r(a,i),r(o,i),r(l,i),r(s,i),Object.defineProperties(m,{diff:{value:m,enumerable:!0},observableDiff:{value:d,enumerable:!0},applyDiff:{value:h,enumerable:!0},applyChange:{value:y,enumerable:!0},revertChange:{value:E,enumerable:!0},isConflict:{value:function(){return typeof $<"u"},enumerable:!0},noConflict:{value:function(){return oe&&(oe.forEach(function(S){S()}),oe=null),m},enumerable:!0}});var I={E:{color:"#2196F3",text:"CHANGED:"},N:{color:"#4CAF50",text:"ADDED:"},D:{color:"#F44336",text:"DELETED:"},A:{color:"#2196F3",text:"ARRAY:"}},Y={level:"log",logger:console,logErrors:!0,collapsed:void 0,predicate:void 0,duration:!1,timestamp:!0,stateTransformer:function(S){return S},actionTransformer:function(S){return S},errorTransformer:function(S){return S},colors:{title:function(){return"inherit"},prevState:function(){return"#9E9E9E"},action:function(){return"#03A9F4"},nextState:function(){return"#4CAF50"},error:function(){return"#F20404"}},diff:!1,diffPredicate:void 0,transformer:void 0},K=function(){var S=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},C=S.dispatch,k=S.getState;return typeof C=="function"||typeof k=="function"?L()({dispatch:C,getState:k}):void console.error(` +`),function(){return function(pt){return function(de){return pt(de)}}};var it=[];return function(pt){var de=pt.getState;return function(Re){return function(at){if(typeof B=="function"&&!B(de,at))return Re(at);var ce={};it.push(ce),ce.started=Ie.now(),ce.startedTime=new Date,ce.prevState=O(de()),ce.action=at;var Ze=void 0;if(X)try{Ze=Re(at)}catch(Se){ce.error=F(Se)}else Ze=Re(at);ce.took=Ie.now()-ce.started,ce.nextState=O(de());var Lt=C.diff&&typeof ne=="function"?ne(de,at):C.diff;if(R(it,Object.assign({},C,{diff:Lt})),it.length=0,ce.error)throw ce.error;return Ze}}}}var L,z,J=function(S,C){return new Array(C+1).join(S)},se=function(S,C){return J("0",C-S.toString().length)+S},he=function(S){return se(S.getHours(),2)+":"+se(S.getMinutes(),2)+":"+se(S.getSeconds(),2)+"."+se(S.getMilliseconds(),3)},Ie=typeof performance<"u"&&performance!==null&&typeof performance.now=="function"?performance:Date,Qe=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(S){return typeof S}:function(S){return S&&typeof Symbol=="function"&&S.constructor===Symbol&&S!==Symbol.prototype?"symbol":typeof S},dt=function(S){if(Array.isArray(S)){for(var C=0,E=Array(S.length);C"u"?"undefined":Qe(vi))==="object"&&vi?vi:typeof window<"u"?window:{},z=L.DeepDiff,z&&oe.push(function(){typeof z<"u"&&L.DeepDiff===m&&(L.DeepDiff=z,z=void 0)}),r(a,i),r(o,i),r(l,i),r(s,i),Object.defineProperties(m,{diff:{value:m,enumerable:!0},observableDiff:{value:d,enumerable:!0},applyDiff:{value:h,enumerable:!0},applyChange:{value:y,enumerable:!0},revertChange:{value:k,enumerable:!0},isConflict:{value:function(){return typeof z<"u"},enumerable:!0},noConflict:{value:function(){return oe&&(oe.forEach(function(S){S()}),oe=null),m},enumerable:!0}});var I={E:{color:"#2196F3",text:"CHANGED:"},N:{color:"#4CAF50",text:"ADDED:"},D:{color:"#F44336",text:"DELETED:"},A:{color:"#2196F3",text:"ARRAY:"}},Y={level:"log",logger:console,logErrors:!0,collapsed:void 0,predicate:void 0,duration:!1,timestamp:!0,stateTransformer:function(S){return S},actionTransformer:function(S){return S},errorTransformer:function(S){return S},colors:{title:function(){return"inherit"},prevState:function(){return"#9E9E9E"},action:function(){return"#03A9F4"},nextState:function(){return"#4CAF50"},error:function(){return"#F20404"}},diff:!1,diffPredicate:void 0,transformer:void 0},K=function(){var S=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},C=S.dispatch,E=S.getState;return typeof C=="function"||typeof E=="function"?A()({dispatch:C,getState:E}):void console.error(` [redux-logger v3] BREAKING CHANGE [redux-logger v3] Since 3.0.0 redux-logger exports by default logger with default settings. [redux-logger v3] Change [redux-logger v3] import createLogger from 'redux-logger' [redux-logger v3] to [redux-logger v3] import { createLogger } from 'redux-logger' -`)};n.defaults=Y,n.createLogger=L,n.logger=K,n.default=K,Object.defineProperty(n,"__esModule",{value:!0})})})(dp,dp.exports);const IS=OS({session:P2,errors:T2,pets:eS,reminders:mS});let Kv;Kv=AS(DS);const zS=e=>RS(IS,e,Kv),FS=()=>{const e=zS();ms.createRoot(document.getElementById("root")).render(u.jsx(ya.StrictMode,{children:u.jsx(g2,{store:e,children:u.jsx(NS,{})})}))};FS(); +`)};n.defaults=Y,n.createLogger=A,n.logger=K,n.default=K,Object.defineProperty(n,"__esModule",{value:!0})})})(dp,dp.exports);const IS=OS({session:P2,errors:T2,pets:eS,reminders:mS});let Kv;Kv=AS(DS);const zS=e=>RS(IS,e,Kv),FS=()=>{const e=zS();ms.createRoot(document.getElementById("root")).render(u.jsx(ya.StrictMode,{children:u.jsx(g2,{store:e,children:u.jsx(NS,{})})}))};FS(); diff --git a/frontend/dist/assets/index-ede0d88a.css b/frontend/dist/assets/index-db86f0d3.css similarity index 80% rename from frontend/dist/assets/index-ede0d88a.css rename to frontend/dist/assets/index-db86f0d3.css index 1ee16d2..4f09453 100644 --- a/frontend/dist/assets/index-ede0d88a.css +++ b/frontend/dist/assets/index-db86f0d3.css @@ -1 +1 @@ -@import"https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Raleway:ital,wght@0,100..900;1,100..900&display=swap";.main-footer{width:100%;height:96px;background-color:var(--green-dark);display:flex;flex-direction:column;box-sizing:border-box;padding:20px;z-index:1000}.main-footer a{color:var(--gold);font-family:Raleway,sans-serif;text-decoration:none;padding:8px;transition:all .5s linear;position:relative;box-sizing:border-box;font-size:24px}.main-footer a:hover{color:var(--main-bg-beige)}.developer{font-size:20px;color:var(--main-bg-beige);display:flex;align-items:center;box-sizing:border-box;font-family:Raleway,sans-serif}.main-footer h1{color:var(--gold);align-self:center;font-size:24px}.footer-links{width:100%;display:flex;justify-content:center;gap:20px;box-sizing:border-box;align-items:center}.footer-sep{border:1px solid var(--gold);box-sizing:border-box;width:8px;height:8px;transform:rotate(45deg);position:relative}.deco-1{width:8px;height:8px;box-sizing:border-box;position:absolute;background-color:var(--gold);transform:rotate(45deg);bottom:-10px;left:48%;cursor:auto}.deco-2{width:0%;transition:width 1s ease;transform:translate(-50%);bottom:-7px;left:50%}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;font-family:"DM Serif Display",serif}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}#root{margin:0;padding:0}.navbar-container{display:flex;flex-direction:row;justify-content:space-between;font-size:20px;height:60px;box-sizing:border-box;padding:20px;box-shadow:0 -2px 4px #000;background-color:#fff}.nav-icon{width:60px;height:60px}.title-section{text-decoration:none;display:flex;align-items:center;gap:10px}a{text-decoration:none;color:var(--green-dark)}.pet-portal-title a{font-size:36px}.auth-section{display:flex;flex-direction:row;padding-right:20px;justify-content:center;align-items:center;box-sizing:border-box;position:relative}.auth-section .deco-1{position:static}.login-button-container,.signup-button-container,.logout-button-container{cursor:pointer;border:none;outline:none;height:30px;padding-left:10px;padding-right:10px;display:flex;justify-content:center;align-items:center;position:relative;transition:all .3s ease;z-index:99}.marker{width:0%;height:10px;background-color:var(--bright-gold);position:absolute;bottom:0;transition:all .5s ease;z-index:-1}.login-button-container:hover .marker,.signup-button-container:hover .marker,.logout-button-container:hover .marker{width:80%}.session-alert-bg{width:100vw;height:100vh;background-color:#8080807a;position:fixed;top:0;left:0;z-index:2}.session-alert{width:25%;height:25%;background-color:#fda6a3;border:1px solid rgb(255,82,76);border-radius:28px;color:var(--green-dark);box-sizing:border-box;padding:20px;position:absolute;top:30vh;left:50vw;transform:translate(-50%) translateY(-50%);display:flex;flex-direction:column;align-items:center;justify-content:space-evenly}.session-alert h3{font-family:Raleway,sans-serif;font-size:16px}.session-alert button{border:1px solid rgb(255,82,76);box-sizing:border-box;padding:8px;background-color:transparent;font-family:Raleway,sans-serif;cursor:pointer;border-radius:50px}.session-alert button:hover{box-shadow:2px 2px 2px 2px #97828184;font-family:Raleway,sans-serif}.welcome-container-1{display:flex;justify-content:space-evenly;height:100%;box-sizing:border-box;flex-direction:column;overflow:hidden}.home-page-container{display:flex;flex-direction:column;height:100vh}.section-1{width:100%;height:100%;display:flex;flex-direction:row;align-items:center;gap:5%;box-sizing:border-box;padding-left:10%;padding-right:10%}.bg-image{position:fixed;z-index:-1;width:100vw;left:0;bottom:0;filter:saturate(55%)}.display-border{width:fit-content;border:4px solid var(--gold);box-sizing:border-box;padding:20px;border-top-left-radius:75%;border-top-right-radius:75%}.display-container{display:flex;flex-direction:column;align-items:center}.display-dog{border-top-left-radius:75%;border-top-right-radius:75%;height:auto;max-width:100%;box-sizing:border-box}.section-1-text{display:flex;flex-direction:column;box-sizing:border-box;padding-top:5%;height:100%;width:100%}.welcome-heading{padding:20px;box-sizing:border-box;color:var(--green-dark);position:relative}.welcome-heading h1{font-size:64px}.welcome-message{height:100%;padding:20px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:space-evenly;align-items:flex-end;gap:-10px;position:relative}.welcome-message p{line-height:1.75rem;box-sizing:border-box;padding:10%;font-size:20px;background-color:#fff;border-radius:5px;box-shadow:0 2px 5px #0003;margin:5%;position:relative}.welcome-links h3{font-family:"DM Serif Display",serif;color:var(--green-dark);position:relative;font-size:24px;text-wrap:nowrap}.welcome-links{display:flex;justify-content:space-evenly;height:100%;align-items:center;box-sizing:border-box;flex-direction:column;padding:10%;gap:12px;background-color:#fff;border-radius:5px;box-shadow:0 2px 5px #0003;margin:5%;position:relative}.demo-login{position:relative;font-size:20px;cursor:pointer;box-sizing:border-box;padding:10px;font-family:Raleway,sans-serif;border-radius:8px;background-color:var(--gold);color:#fff;transition:all .3s ease}.demo-login:hover{background-color:#7a693a}.welcome-heading .deco-1{left:0;bottom:-4px}.deco-3{width:0%;height:1px;background-color:var(--gold);position:absolute;box-sizing:border-box;transition:width 2s ease;bottom:0;left:0}.welcome-heading.loaded .deco-3{width:100%;height:1px;background-color:var(--gold);position:absolute;box-sizing:border-box;bottom:0;left:0}.welcome-message-1,.welcome-message-2,.welcome-message-3{width:50%;box-sizing:border-box;margin-left:20px;position:absolute;border-radius:20px}.welcome-message-2{align-self:flex-start;margin-left:0;top:30%;left:0;z-index:1}.welcome-message-1{top:5%}.welcome-message-3{bottom:10%}.below-navbar{margin-top:0;padding:0;display:flex;flex-direction:column;position:absolute;width:100%;left:0;top:60px;height:calc(100vh - 60px);background-color:var(--main-bg-beige);z-index:-2}.content-container{display:flex;justify-content:center;align-items:center;flex-direction:column;margin-left:150px;margin-right:150px;padding:50px;height:100vh;background-color:transparent;font-size:28px}.session-form-container{display:flex;flex-direction:column;justify-content:center;border-radius:8px;background-color:#fff;width:40%;box-sizing:border-box;padding:5%;box-shadow:0 4px 8px #0000004d}.session-title{text-align:center;padding-top:12px;padding-bottom:12px;background-color:transparent}.session-input-field{display:flex;flex-direction:column;text-align:center;padding-top:10px;background-color:transparent}.session-form{display:flex;justify-content:center;flex-direction:column;align-items:center;gap:12px;box-sizing:border-box;margin:20px}.email-label,.password-label{font-size:20px;font-family:Raleway,sans-serif}#email-input,#password-input{width:250px;padding:8px;border-radius:50px;border:1px solid #B6C6BC}#email-input::placeholder,#password-input::placeholder{color:#999;font-size:12px;font-style:italic;padding-left:15px;font-family:Raleway,sans-serif}.auth-button-new-to-portal a{position:relative;box-sizing:border-box;padding:10px;border-radius:8px;font-family:Raleway,sans-serif;font-size:20px}.auth-button-new-to-portal{position:relative;width:fit-content;align-self:center;z-index:2}.auth-button-new-to-portal:hover .marker{width:100%;background-color:#ff480080}.auth-button-submit{align-items:center;text-align:center;padding:10px;cursor:pointer;background-color:transparent;background-repeat:no-repeat;border:none;outline:none;vertical-align:middle;font-size:18px}.auth-errors{color:#fa5e4c;font-style:italic;font-family:Raleway,sans-serif;font-size:18px}.auth-button-submit{border:1px solid green;border-radius:8px;transition:all .3s ease;font-family:"DM Serif Display",serif}.auth-button-submit:disabled{cursor:not-allowed;border:1px solid rgb(163,162,162);border-radius:8px}.modal-background{height:100vh;width:100vw;background-color:#ffffff80;padding:20px;position:absolute;top:0;left:0;z-index:10;display:flex;justify-content:center;align-items:center;box-sizing:border-box}.add-modal-content,.edit-modal-content{left:50%;top:460px;width:27vw;min-width:350px;height:860px;transform:translate(-50%,-50%);background-color:var(--main-bg-beige);padding:10px;border-radius:30px;position:absolute;border:1px solid #333;font-weight:700;font-size:20px}.modal-content-top-add,.modal-content-top-edit{display:flex;padding:8px;justify-content:flex-end}.modal-content-top-add button,.modal-content-top-edit button{cursor:pointer;background-color:transparent;background-repeat:no-repeat;border-radius:50px;border:none;overflow:hidden;outline:none;border:1.5px solid}.modal-content-top-add button:hover,.modal-content-top-edit button:hover{background-color:var(--pale-purple);cursor:pointer}.modal-content-center{display:flex;flex-direction:column;align-items:center}.pet-modal-h2{position:relative}.pet-modal-h2 .pet-dash-highlight{height:12px;bottom:0;background-color:#ffa380}.modal-content-center-title{font-size:28px;margin-bottom:10px}.file-preview{width:100px;height:100px}.file-preview img{width:100%;height:100%}.add-new-pet-form,.edit-new-pet-form{display:flex;flex-direction:column;justify-content:center;align-items:center}.add-new-pet-form label:nth-child(9),.edit-new-pet-form label:nth-child(9){margin-bottom:10px}.add-new-pet-form label:nth-child(10),.edit-new-pet-form label:nth-child(10){margin-bottom:20px;margin-right:auto;width:100%}.name-input-label,.dob-input-label,.sex-select-label,.species-input-label,.color-input-label,.breed-input-label,.microchipNum-input-label,.insurance-policy-input-label,.weight-input-label,.photo-input-label{padding-top:5px;padding-bottom:10px;display:block;text-align:left;box-sizing:border-box;font-size:15px;font-weight:700}.add-new-pet-form input::placeholder,.add-new-pet-form select::placeholder,.edit-new-pet-form input::placeholder,.edit-new-pet-form select::placeholder{color:#999;font-size:12px;font-style:italic;padding-left:15px}.sex-select{height:30px;width:310px;border:2px solid rgb(205,205,205);border-radius:16px;font-size:16px}.input-label input{height:25px;width:300px;border:2px solid rgb(205,205,205);border-radius:16px;font-size:16px}.add-new-pet-button button,.edit-new-pet-button button{padding:5px;cursor:pointer;background-color:transparent;background-repeat:no-repeat;border:1.5px solid rgb(255,163,128);overflow:hidden;outline:none;vertical-align:middle;font-family:"DM Serif Display",serif;font-size:17px;font-weight:700;border-radius:20px}.add-new-pet-button button:hover,.edit-new-pet-button button:hover{background-color:var(--pale-purple)}.optional{font-size:10px;font-style:italic;padding-left:5px}.required{font-size:14px;font-style:italic;color:#f34607;padding-left:10px}input[type=file]{display:none}.photo-input-label{border:1.5px solid rgb(255,163,128);border-radius:20px;display:flex;justify-content:start;padding:6px 12px;cursor:pointer}.photo-input-label:hover{background-color:var(--pale-purple);color:#333}.species-select{height:30px;width:310px;border:2px solid rgb(205,205,205);border-radius:16px;font-size:16px}.get-grid-header-form{padding:8px}.get-grid-header-form button{padding:10px;cursor:pointer;background-color:transparent;background-repeat:no-repeat;border:1px solid var(--bright-gold);overflow:hidden;outline:none;vertical-align:middle;font-family:Raleway,sans-serif;border-radius:8px;font-size:20px;color:var(--bright-gold);transition:all .5s ease}.get-grid-header-form button:hover{color:#fff;border:1px solid white;border-radius:8px}.pet-grid-container{display:flex;flex-direction:column;overflow:hidden;flex:1;min-height:0;border:1px solid}.pet-grid-header-container{display:flex;justify-content:space-between;background-color:var(--green-dark);text-align:center;box-sizing:border-box}.pet-grid-header-form{display:flex;align-items:center;justify-content:center;margin-right:6px}.pet-grid-header-text{font-size:32px;color:#fff;display:flex;align-items:center;justify-content:center;padding:8px}.pet-grid-index{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-auto-rows:minmax(150px,auto);gap:20px;padding:10px;overflow-y:auto;align-content:start;background-color:#ffffff80;flex:1}.pet-item{border:1px solid #ccc;padding:0;box-shadow:0 2px 5px #0000001a;transition:transform .2s ease-in-out;position:relative;border-radius:8px;overflow:hidden;aspect-ratio:1;box-sizing:border-box}.pet-item:hover{transform:scale(1.05);cursor:pointer}.pet-img{width:100%;height:100%}.pet-img img{width:100%;height:100%;display:block;border-bottom:1px solid #ccc;border-radius:8px}.pet-name{font-size:16px;font-weight:700;position:absolute;bottom:0;width:100%;height:36px;background:rgba(255,255,255,.8);padding:4px 0;box-sizing:border-box;margin:0;border-radius:0 0 8px 8px;display:flex;justify-content:center;align-items:center}.dashboard-container{flex:1;display:flex;overflow:hidden;box-sizing:border-box;padding:20px;gap:20px}.page-container{height:calc(100vh - 60px);box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden;flex:1;min-height:0}.dashboard-header{font-size:48px;color:#000;box-sizing:border-box;margin-left:20px;margin-top:2%;position:relative;width:fit-content;z-index:2}.right-container{width:30%;display:flex;flex-direction:column;height:100%;box-sizing:border-box;padding-top:2%}.dashboard-sep{border:1px solid gray}.index-container{width:100%;height:100%;overflow:hidden;box-sizing:border-box;display:flex;padding-top:2%}.all-reminders{height:100%;box-sizing:border-box;border:1px solid;background-color:#ffffff80}.all-reminders-title{font-size:32px;padding:12px;color:var(--main-bg-beige);background-color:var(--green-dark)}.highlight{width:270px;height:10px;background-color:var(--bright-gold);border-radius:20px}.title{padding:8px;font-size:28px}.find-vet-container{display:flex;box-sizing:border-box;flex-direction:column}.find-vet-container div{padding:8px;font-size:28px}.find-vet-container div:nth-child(2) button{padding:5px;cursor:pointer;background-color:transparent;background-repeat:no-repeat;border:1.5px solid rgb(255,163,128);overflow:hidden;outline:none;vertical-align:middle;font-family:"DM Serif Display",serif;font-size:17px;font-weight:700;border-radius:20px}.find-vet-container div:nth-child(2) button:hover{background-color:var(--pale-purple)}.modal-content-clinic{top:70px;left:0;width:73%;height:75%;overflow:auto;background-color:var(--main-bg-beige);border:1.5px solid var(--bright-gold);margin-left:20px;padding:10px;border-radius:30px;position:absolute;font-weight:700;font-size:20px}.clinic-modal-content-top{display:flex;padding:8px;justify-content:flex-end}.clinic-modal-content-top button{cursor:pointer;background-color:transparent;background-repeat:no-repeat;border-radius:14px;border:1.5px solid;border-color:gray;overflow:hidden;outline:none;color:#000}.clinic-modal-content-top button:hover{background-color:#80808034}.clinic-modal-content-bottom{display:flex}.clinic-content-container{display:flex;flex-direction:row;width:100vw;height:100%;box-sizing:border-box}.clinic-left{flex-grow:1;border:1px solid var(--green-dark);width:25%;min-width:300px;height:100%;flex-direction:column;box-sizing:border-box;padding:30px;height:74vh}.clinic-right{flex-grow:2;border:1px solid purple;flex-direction:column;justify-content:center;box-sizing:border-box;width:75%;height:100%;padding:30px;height:74vh}.clinic-search{display:flex;align-items:center;min-width:200px}.clinic-search input[type=text]{flex:1;padding:10px;border:1px solid #cccccc61;border-radius:20px;margin-right:10px;font-size:16px}.clinic-search button{padding:10px;background-color:#838282;color:#fff;border:none;border-radius:20px;cursor:pointer;font-size:10px}.clinic-search button:hover{background-color:#3a0f057c}.upcoming-reminder-container{display:flex;flex-direction:row;justify-content:space-between;margin:5px;padding:10px;border:1px solid #ccc;border-radius:8px;background-color:#f9f9f9;box-shadow:0 2px 5px #0000001a;position:relative}.appointment-icon{background-color:#d8effa;padding:8px;border-radius:20px;margin-left:5px;margin-right:10px}.vaccination-icon{background-color:var(--pale-purple);padding:8px;border-radius:20px}.medication-icon{background-color:#fff79c;padding:8px;border-radius:20px}.upcoming-reminder-content{flex:3;text-align:center;padding-top:11px;display:flex;flex-direction:column;align-items:center;font-weight:600}.upcoming-reminder-content div:first-child{padding-bottom:10px;margin-left:10px}.upcoming-reminder-content p{font-family:Raleway,sans-serif;font-size:13px}.upcoming-reminder-content div{font-size:20px;font-weight:700}.upcoming-reminder-pet{flex:1;display:flex;flex-direction:column;justify-content:center}.upcoming-reminder-icon-container{display:flex;flex-direction:column;margin-bottom:2px;justify-content:center;align-items:center}.upcoming-reminder-type{font-size:15px;font-weight:600;font-family:Raleway,sans-serif}.upcoming-days{flex:.5;font-style:italic;color:#f34607;font-weight:600;padding:0;margin:0}.upcoming-days p{text-align:end;font-family:Raleway,sans-serif;font-size:14px}.upcoming-reminder-petnames{font-size:13px}.upcoming-pet-image{width:30px;height:30px}#upcoming-pet-image{width:100%;height:100%;border-radius:120px}.upcoming-reminder-pet-name p{color:#7d7df8}.no-upcoming-reminder{padding:10px;font-size:17.5px}.pet-dashboard-container{width:100vw;height:100%;box-sizing:border-box;display:flex}.dash-page-container{width:100vw;height:calc(100vh - 60px);box-sizing:border-box;display:flex;flex-direction:column}.pet-dashboard{width:75%;height:100%;display:flex;flex-direction:column;box-sizing:border-box;padding:20px}.back-link{color:var(--green-dark);font-size:20px;box-sizing:border-box;margin:4px;width:fit-content;font-family:Raleway,sans-serif}.pet-dash-header{font-size:48px;box-sizing:border-box;padding-left:12px;text-wrap:nowrap;position:relative;width:fit-content;z-index:2;margin:20px}.pet-dash-highlight{position:absolute;width:100%;height:20px;background-color:var(--bright-gold);box-sizing:border-box;border-radius:8px;bottom:0;z-index:-1}.pet-metrics-container{display:flex;gap:40px;height:100%}.pet-reminder-header,.pet-vaccines-header,.medications-header{display:flex;justify-content:space-between;align-items:center;padding:10px;box-sizing:border-box;font-size:24px;background-color:var(--green-dark);color:var(--main-bg-beige)}.pet-reminder-module{width:40%;border:1px solid var(--green-dark);height:100%;box-sizing:border-box;background-color:#ffffff80}.preventatives-module{width:60%;display:flex;flex-direction:column;height:100%;box-sizing:border-box;gap:40px}.vaccines,.medications{height:50%;border:1px solid var(--green-dark);box-sizing:border-box;background-color:#ffffff80}.pet-dash-buttons{border:1px solid var(--bright-gold);background:none;box-sizing:border-box;width:28px;height:28px;border-radius:14px;font-size:20px;display:flex;justify-content:center;align-items:center;color:var(--bright-gold)}.pet-dash-buttons:hover{cursor:pointer;background-color:#f8d78986}.pet-signalment{width:25%;height:100%;display:flex;flex-direction:column;align-items:center;gap:40px;padding:20px;box-sizing:border-box;position:relative}.profile-pic-border{width:240px;height:240px;box-sizing:border-box;border:4px solid var(--gold);border-radius:120px;padding:8px}.profile-pic{width:100%;height:100%;border-radius:120px}.pet-summary{width:100%;border:1px solid var(--green-dark);height:100%;position:relative;display:flex;flex-direction:column;padding:50px 20px 20px;gap:20px;box-sizing:border-box;background-color:#fff}.pet-attribute{display:flex;border-bottom:1px solid var(--gold);justify-content:space-between;box-sizing:border-box;align-items:center;position:relative;padding:8px 8px 8px 5%}.pet-attribute h3{font-size:24px}.pet-signalment>div:first-child{display:flex;justify-content:space-between;align-items:center;padding:10px;box-sizing:border-box}.edit-pet-dash-buttons{background:none;box-sizing:border-box;height:36px;width:36px;padding:10px;border-radius:8px;font-size:18px;display:flex;justify-content:center;align-items:center;color:#00000026;position:absolute;transition:all .3s ease;right:0;top:0;margin:10px;font-family:Raleway,sans-serif;border:2px solid rgba(0,0,0,.15)}.delete-pet-dash-buttons{background:none;box-sizing:border-box;height:36px;width:36px;padding:8px;border-radius:8px;font-size:20px;display:flex;justify-content:center;align-items:center;color:#00000026;transition:all .3s ease;position:absolute;left:0;top:0;border:2px solid rgba(0,0,0,.15);margin:10px;font-family:Raleway,sans-serif}.edit-pet-dash-buttons:hover{cursor:pointer;color:#000;border-color:#000}.delete-pet-dash-buttons:hover{cursor:pointer;color:#ff4242;border-color:#ff4242}.decoration{position:absolute;width:10px;height:10px;transform:rotate(45deg);border:2px solid var(--gold);bottom:-5px;left:0;box-sizing:border-box;background-color:var(--gold)}.name-splash-container{position:absolute;top:-28px;left:0;box-sizing:border-box;width:100%;display:flex;justify-content:center}.name-border{border:1px solid var(--green-dark);box-sizing:border-box;position:relative;background-color:#fff;padding:10px}.name-splash-container h3{font-size:36px}.proximity-icon{width:32px;height:32px}.edit-del-icons{color:#00000026;margin-left:4px;width:20px;height:auto;cursor:pointer;transition:filter ease-in-out .5s}.edit-del-icons.pen:hover{color:#000}.edit-del-icons.trash:hover{color:#ff4242}.edit-del-reminder{margin-left:8px;position:relative;width:auto;height:auto}.appointment-info-container{margin:10px;padding:15px;border:1px solid #ccc;border-radius:8px;background-color:#f9f9f9;box-shadow:0 2px 5px #0000001a;position:relative}.appointment-header{font-size:16px;color:#333;font-weight:700;margin-bottom:5px;display:flex;justify-content:space-between;align-items:center}.reminder-divider{position:relative;height:2px;background-color:#e1e1e1;margin:10px 0}.reminder-divider:after{content:"";position:absolute;top:-4px;left:50%;width:8px;height:8px;background-color:#ccc;transform:translate(-50%) rotate(45deg);box-shadow:0 0 5px #0000001a}.appointment-content{font-size:14px;color:#666}.appointment-desc p{margin:5px 0;line-height:1.5}.appointment-loc p{margin:5px 0;line-height:1.5;font-style:italic}.appointment-title{display:flex;align-items:center}.empty-reminders{margin:10px;padding:15px;border:1px solid #ccc;border-radius:8px;background-color:#f9f9f9;box-shadow:0 2px 5px #0000001a;position:relative;font-family:raleway;display:flex;align-items:center}.empty-reminders span{color:#fff;font-weight:700;background-color:var(--gold);box-sizing:border-box;width:26px;height:26px;display:inline-flex;border-radius:14px;justify-content:center;align-items:center;font-size:28px;margin:0 4px}.vaccine-info-container{margin:10px;padding:15px;border:1px solid #ccc;border-radius:8px;background-color:#fff;box-shadow:0 2px 5px #0000001a;position:relative}.vaccine-header{display:flex;justify-content:space-between;align-items:center}.vaccine-header p{font-size:16px;color:#333;font-weight:700}.vaccine-date{display:flex;align-items:center;gap:12px}.vaccine-desc{display:flex;align-items:center}.medication-info-container{margin:10px;padding:15px;border:1px solid #ccc;border-radius:8px;background-color:#fff;box-shadow:0 2px 5px #0000001a;position:relative}.medication-header{display:flex;justify-content:space-between;align-items:center}.medication-content p{font-size:14px;color:#666;margin-bottom:8px;line-height:1.4}.medication-header p{font-size:16px;color:#333;font-weight:700;text-align:right}.medication-date{display:flex;align-items:center;gap:12px}.medication-title{display:flex;align-items:center}.modal-background{height:100vh;width:100vw;background-color:#ffffff80;padding:20px;position:absolute;top:0;left:0;z-index:10;display:flex;justify-content:center;align-items:center}.modal-content-appointment,.modal-content-vaccination,.modal-content-medication{left:50%;top:400px;width:350px;height:fit-content;transform:translate(-50%,-50%);background-color:var(--main-bg-beige);padding:16px;border-radius:30px;position:absolute;border:1px solid #333;font-weight:700;font-size:20px}.modal-content-edit{left:50%;top:400px;width:350px;height:520px;transform:translate(-50%,-50%);background-color:var(--main-bg-beige);color:var(--green-dark);padding:10px;border-radius:30px;position:absolute;border:1px solid #333;font-weight:700;font-size:20px}.reminder-modal-content-top{display:flex;padding:8px;justify-content:flex-end}.modal-content-bottom-title{padding:0;margin-bottom:20px}.reminder-modal-content-top button{cursor:pointer;background-color:transparent;border-radius:14px;border:1.5px solid;border-color:#000;overflow:hidden;outline:none}.reminder-modal-content-top button:hover,.reminder-button-container button:hover{background-color:var(--pale-purple)}.modal-content-bottom-title{display:flex;flex-direction:column;justify-content:center;align-items:center}.reminder-title{position:relative}.reminder-title .pet-dash-highlight{height:8px;background-color:#ffa380}.input-label{padding-bottom:5px}.input-label input{height:25px;width:300px;border:2px solid rgb(205,205,205);border-radius:16px;font-size:16px;padding-left:6px}.type-select-label,.title-select-label,.sex-select-label,.duedate-input-label,.perform-date-input-label,.description-input-label,.location-input-label{padding-top:5px;padding-bottom:10px;display:block;text-align:left;box-sizing:border-box;font-size:15px;font-weight:700}.type-select,.title-select{height:30px;width:310px;border:2px solid rgb(205,205,205);border-radius:16px;font-size:16px;padding-left:6px}.modal-content-bottom-form{display:flex;flex-direction:column;justify-content:center;align-items:center}.reminder-button-container{display:flex;justify-content:center;align-items:center;width:100%}.reminder-button-container button{padding:5px;cursor:pointer;background-color:transparent;background-repeat:no-repeat;border:1.5px solid rgb(255,163,128);color:#000;overflow:hidden;outline:none;vertical-align:middle;font-family:"DM Serif Display",serif;font-size:17px;font-weight:700;margin-top:10px;border-radius:20px}.modal-content-bottom-form input::placeholder,.modal-content-bottom-form select::placeholder{color:#999;font-size:12px;font-style:italic;padding-left:15px}textarea{border-radius:20px}.description-input::placeholder{padding-left:15px}.description-input{box-sizing:border-box;padding:10px 20px;width:306px}.reminder-button-edit{color:var(--green-dark)}.delete-reminder-button{color:#333}.description-input::placeholder{font-family:Arial,sans-serif;font-size:14px;color:gray}:root{--main-bg-beige: #f6f0eb;--green-dark: #283333;--steel-blue: #9db4c4;--pale-purple: #d8d8f8;--gold: #a58c49;--bright-gold: #ffcb53;--sage: #9aa184}html{background-color:var(--main-bg-beige)}h1{font-family:"DM Serif Display",serif}p,input,select,textarea{font-family:Raleway,sans-serif} +@import"https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Raleway:ital,wght@0,100..900;1,100..900&display=swap";.main-footer{width:100%;height:96px;background-color:var(--green-dark);display:flex;flex-direction:column;box-sizing:border-box;padding:20px;z-index:1000}.main-footer a{color:var(--gold);font-family:Raleway,sans-serif;text-decoration:none;padding:8px;transition:all .5s linear;position:relative;box-sizing:border-box;font-size:24px}.main-footer a:hover{color:var(--main-bg-beige)}.developer{font-size:20px;color:var(--main-bg-beige);display:flex;align-items:center;box-sizing:border-box;font-family:Raleway,sans-serif}.main-footer h1{color:var(--gold);align-self:center;font-size:24px}.footer-links{width:100%;display:flex;justify-content:center;gap:20px;box-sizing:border-box;align-items:center}.footer-sep{border:1px solid var(--gold);box-sizing:border-box;width:8px;height:8px;transform:rotate(45deg);position:relative}.deco-1{width:8px;height:8px;box-sizing:border-box;position:absolute;background-color:var(--gold);transform:rotate(45deg);bottom:-10px;left:48%;cursor:auto}.deco-2{width:0%;transition:width 1s ease;transform:translate(-50%);bottom:-7px;left:50%}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;font-family:"DM Serif Display",serif}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}#root{margin:0;padding:0}.navbar-container{display:flex;flex-direction:row;justify-content:space-between;font-size:20px;height:60px;box-sizing:border-box;padding:20px;box-shadow:0 -2px 4px #000;background-color:#fff}.nav-icon{width:60px;height:60px}.title-section{text-decoration:none;display:flex;align-items:center;gap:10px}a{text-decoration:none;color:var(--green-dark)}.pet-portal-title a{font-size:36px}.auth-section{display:flex;flex-direction:row;padding-right:20px;justify-content:center;align-items:center;box-sizing:border-box;position:relative}.auth-section .deco-1{position:static}.login-button-container,.signup-button-container,.logout-button-container{cursor:pointer;border:none;outline:none;height:30px;padding-left:10px;padding-right:10px;display:flex;justify-content:center;align-items:center;position:relative;transition:all .3s ease;z-index:99}.marker{width:0%;height:10px;background-color:var(--bright-gold);position:absolute;bottom:0;transition:all .5s ease;z-index:-1}.login-button-container:hover .marker,.signup-button-container:hover .marker,.logout-button-container:hover .marker{width:80%}.session-alert-bg{width:100vw;height:100vh;background-color:#8080807a;position:fixed;top:0;left:0;z-index:2}.session-alert{width:25%;height:25%;background-color:#fda6a3;border:1px solid rgb(255,82,76);border-radius:28px;color:var(--green-dark);box-sizing:border-box;padding:20px;position:absolute;top:30vh;left:50vw;transform:translate(-50%) translateY(-50%);display:flex;flex-direction:column;align-items:center;justify-content:space-evenly}.session-alert h3{font-family:Raleway,sans-serif;font-size:16px}.session-alert button{border:1px solid rgb(255,82,76);box-sizing:border-box;padding:8px;background-color:transparent;font-family:Raleway,sans-serif;cursor:pointer;border-radius:50px}.session-alert button:hover{box-shadow:2px 2px 2px 2px #97828184;font-family:Raleway,sans-serif}.welcome-container-1{display:flex;justify-content:space-evenly;height:100%;box-sizing:border-box;flex-direction:column;overflow:hidden}.home-page-container{display:flex;flex-direction:column;height:100vh}.section-1{width:100%;height:100%;display:flex;flex-direction:row;align-items:center;gap:5%;box-sizing:border-box;padding-left:10%;padding-right:10%}.bg-image{position:fixed;z-index:-1;width:100vw;left:0;bottom:0;filter:saturate(55%)}.display-border{width:fit-content;border:4px solid var(--gold);box-sizing:border-box;padding:20px;border-top-left-radius:75%;border-top-right-radius:75%}.display-container{display:flex;flex-direction:column;align-items:center}.display-dog{border-top-left-radius:75%;border-top-right-radius:75%;height:auto;max-width:100%;box-sizing:border-box}.section-1-text{display:flex;flex-direction:column;box-sizing:border-box;padding-top:5%;height:100%;width:100%}.welcome-heading{padding:20px;box-sizing:border-box;color:var(--green-dark);position:relative}.welcome-heading h1{font-size:64px}.welcome-message{height:100%;padding:20px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:space-evenly;align-items:flex-end;gap:-10px;position:relative}.welcome-message p{line-height:1.75rem;box-sizing:border-box;padding:10%;font-size:20px;background-color:#fff;border-radius:5px;box-shadow:0 2px 5px #0003;margin:5%;position:relative}.welcome-links h3{font-family:"DM Serif Display",serif;color:var(--green-dark);position:relative;font-size:24px;text-wrap:nowrap}.welcome-links{display:flex;justify-content:space-evenly;height:100%;align-items:center;box-sizing:border-box;flex-direction:column;padding:10%;gap:12px;background-color:#fff;border-radius:5px;box-shadow:0 2px 5px #0003;margin:5%;position:relative}.demo-login{position:relative;font-size:20px;cursor:pointer;box-sizing:border-box;padding:10px;font-family:Raleway,sans-serif;border-radius:8px;background-color:var(--gold);color:#fff;transition:all .3s ease}.demo-login:hover{background-color:#7a693a}.welcome-heading .deco-1{left:0;bottom:-4px}.deco-3{width:0%;height:1px;background-color:var(--gold);position:absolute;box-sizing:border-box;transition:width 2s ease;bottom:0;left:0}.welcome-heading.loaded .deco-3{width:100%;height:1px;background-color:var(--gold);position:absolute;box-sizing:border-box;bottom:0;left:0}.welcome-message-1,.welcome-message-2,.welcome-message-3{width:50%;box-sizing:border-box;margin-left:20px;position:absolute;border-radius:20px}.welcome-message-2{align-self:flex-start;margin-left:0;top:30%;left:0;z-index:1}.welcome-message-1{top:5%}.welcome-message-3{bottom:10%}.below-navbar{margin-top:0;padding:0;display:flex;flex-direction:column;position:absolute;width:100%;left:0;top:60px;height:calc(100vh - 60px);background-color:var(--main-bg-beige);z-index:-2}.content-container{display:flex;justify-content:center;align-items:center;flex-direction:column;margin-left:150px;margin-right:150px;padding:50px;height:100vh;background-color:transparent;font-size:28px}.session-form-container{display:flex;flex-direction:column;justify-content:center;border-radius:8px;background-color:#fff;width:40%;box-sizing:border-box;padding:5%;box-shadow:0 4px 8px #0000004d}.session-title{text-align:center;padding-top:12px;padding-bottom:12px;background-color:transparent}.session-input-field{display:flex;flex-direction:column;text-align:center;padding-top:10px;background-color:transparent}.session-form{display:flex;justify-content:center;flex-direction:column;align-items:center;gap:12px;box-sizing:border-box;margin:20px}.email-label,.password-label{font-size:20px;font-family:Raleway,sans-serif}#email-input,#password-input{width:250px;padding:8px;border-radius:50px;border:1px solid #B6C6BC}#email-input::placeholder,#password-input::placeholder{color:#999;font-size:12px;font-style:italic;padding-left:15px;font-family:Raleway,sans-serif}.auth-button-new-to-portal a{position:relative;box-sizing:border-box;padding:10px;border-radius:8px;font-family:Raleway,sans-serif;font-size:20px}.auth-button-new-to-portal{position:relative;width:fit-content;align-self:center;z-index:2}.auth-button-new-to-portal:hover .marker{width:100%;background-color:#ff480080}.auth-button-submit{align-items:center;text-align:center;padding:10px;cursor:pointer;background-color:transparent;background-repeat:no-repeat;border:none;outline:none;vertical-align:middle;font-size:18px}.auth-errors{color:#fa5e4c;font-style:italic;font-family:Raleway,sans-serif;font-size:18px}.auth-button-submit{border:1px solid green;border-radius:8px;transition:all .3s ease;font-family:"DM Serif Display",serif}.auth-button-submit:disabled{cursor:not-allowed;border:1px solid rgb(163,162,162);border-radius:8px}.modal-background{height:100vh;width:100vw;background-color:#ffffff80;padding:20px;position:absolute;top:0;left:0;z-index:10;display:flex;justify-content:center;align-items:center;box-sizing:border-box}.add-modal-content,.edit-modal-content{left:50%;top:460px;width:27vw;min-width:350px;height:860px;transform:translate(-50%,-50%);background-color:var(--main-bg-beige);padding:10px;border-radius:30px;position:absolute;border:1px solid #333;font-weight:700;font-size:20px}.modal-content-top-add,.modal-content-top-edit{display:flex;padding:8px;justify-content:flex-end}.modal-content-top-add button,.modal-content-top-edit button{cursor:pointer;background-color:transparent;background-repeat:no-repeat;border-radius:50px;border:none;overflow:hidden;outline:none;border:1.5px solid}.modal-content-top-add button:hover,.modal-content-top-edit button:hover{background-color:var(--pale-purple);cursor:pointer}.modal-content-center{display:flex;flex-direction:column;align-items:center}.pet-modal-h2{position:relative}.pet-modal-h2 .pet-dash-highlight{height:12px;bottom:0;background-color:#ffa380}.modal-content-center-title{font-size:28px;margin-bottom:10px}.file-preview{width:100px;height:100px}.file-preview img{width:100%;height:100%}.add-new-pet-form,.edit-new-pet-form{display:flex;flex-direction:column;justify-content:center;align-items:center}.add-new-pet-form label:nth-child(9),.edit-new-pet-form label:nth-child(9){margin-bottom:10px}.add-new-pet-form label:nth-child(10),.edit-new-pet-form label:nth-child(10){margin-bottom:20px;margin-right:auto;width:100%}.name-input-label,.dob-input-label,.sex-select-label,.species-input-label,.color-input-label,.breed-input-label,.microchipNum-input-label,.insurance-policy-input-label,.weight-input-label,.photo-input-label{padding-top:5px;padding-bottom:10px;display:block;text-align:left;box-sizing:border-box;font-size:15px;font-weight:700}.add-new-pet-form input::placeholder,.add-new-pet-form select::placeholder,.edit-new-pet-form input::placeholder,.edit-new-pet-form select::placeholder{color:#999;font-size:12px;font-style:italic;padding-left:15px}.sex-select{height:30px;width:310px;border:2px solid rgb(205,205,205);border-radius:16px;font-size:16px}.input-label input{height:25px;width:300px;border:2px solid rgb(205,205,205);border-radius:16px;font-size:16px}.add-new-pet-button button,.edit-new-pet-button button{padding:5px;cursor:pointer;background-color:transparent;background-repeat:no-repeat;border:1.5px solid rgb(255,163,128);overflow:hidden;outline:none;vertical-align:middle;font-family:"DM Serif Display",serif;font-size:17px;font-weight:700;border-radius:20px}.add-new-pet-button button:hover,.edit-new-pet-button button:hover{background-color:var(--pale-purple)}.optional{font-size:10px;font-style:italic;padding-left:5px}.required{font-size:14px;font-style:italic;color:#f34607;padding-left:10px}input[type=file]{display:none}.photo-input-label{border:1.5px solid rgb(255,163,128);border-radius:20px;display:flex;justify-content:start;padding:6px 12px;cursor:pointer}.photo-input-label:hover{background-color:var(--pale-purple);color:#333}.species-select{height:30px;width:310px;border:2px solid rgb(205,205,205);border-radius:16px;font-size:16px}.get-grid-header-form{padding:8px}.get-grid-header-form button{padding:10px;cursor:pointer;background-color:transparent;background-repeat:no-repeat;border:1px solid var(--bright-gold);overflow:hidden;outline:none;vertical-align:middle;font-family:Raleway,sans-serif;border-radius:8px;font-size:20px;color:var(--bright-gold);transition:all .5s ease}.get-grid-header-form button:hover{color:#fff;border:1px solid white;border-radius:8px}.pet-grid-container{display:flex;flex-direction:column;overflow:hidden;flex:1;min-height:0;border:1px solid}.pet-grid-header-container{display:flex;justify-content:space-between;background-color:var(--green-dark);text-align:center;box-sizing:border-box}.pet-grid-header-form{display:flex;align-items:center;justify-content:center;margin-right:6px}.pet-grid-header-text{font-size:32px;color:#fff;display:flex;align-items:center;justify-content:center;padding:8px}.pet-grid-index{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-auto-rows:minmax(150px,auto);gap:20px;padding:10px;overflow-y:auto;align-content:start;background-color:#ffffff80;flex:1}.pet-item{border:1px solid #ccc;padding:0;box-shadow:0 2px 5px #0000001a;transition:transform .2s ease-in-out;position:relative;border-radius:8px;overflow:hidden;aspect-ratio:1;box-sizing:border-box}.pet-item:hover{transform:scale(1.05);cursor:pointer}.pet-img{width:100%;height:100%}.pet-img img{width:100%;height:100%;display:block;border-bottom:1px solid #ccc;border-radius:8px}.pet-name{font-size:16px;font-weight:700;position:absolute;bottom:0;width:100%;height:36px;background:rgba(255,255,255,.8);padding:4px 0;box-sizing:border-box;margin:0;border-radius:0 0 8px 8px;display:flex;justify-content:center;align-items:center}.dashboard-container{flex:1;display:flex;overflow:hidden;box-sizing:border-box;padding:20px;gap:20px}.page-container{height:calc(100vh - 60px);box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden;flex:1;min-height:0}.dashboard-header{font-size:48px;color:#000;box-sizing:border-box;margin-left:20px;margin-top:2%;position:relative;width:fit-content;z-index:2}.right-container{width:30%;display:flex;flex-direction:column;height:100%;box-sizing:border-box;padding-top:2%}.dashboard-sep{border:1px solid gray}.index-container{width:100%;height:100%;overflow:hidden;box-sizing:border-box;display:flex;padding-top:2%}.all-reminders{height:100%;box-sizing:border-box;border:1px solid;background-color:#ffffff80}.all-reminders-title{font-size:32px;padding:12px;color:var(--main-bg-beige);background-color:var(--green-dark)}.highlight{width:270px;height:10px;background-color:var(--bright-gold);border-radius:20px}.title{padding:8px;font-size:28px}.find-vet-container{display:flex;box-sizing:border-box;flex-direction:column}.find-vet-container div{padding:8px;font-size:28px}.find-vet-container div:nth-child(2) button{padding:5px;cursor:pointer;background-color:transparent;background-repeat:no-repeat;border:1.5px solid rgb(255,163,128);overflow:hidden;outline:none;vertical-align:middle;font-family:"DM Serif Display",serif;font-size:17px;font-weight:700;border-radius:20px}.find-vet-container div:nth-child(2) button:hover{background-color:var(--pale-purple)}.modal-content-clinic{top:70px;left:0;width:73%;height:75%;overflow:auto;background-color:var(--main-bg-beige);border:1.5px solid var(--bright-gold);margin-left:20px;padding:10px;border-radius:30px;position:absolute;font-weight:700;font-size:20px}.clinic-modal-content-top{display:flex;padding:8px;justify-content:flex-end}.clinic-modal-content-top button{cursor:pointer;background-color:transparent;background-repeat:no-repeat;border-radius:14px;border:1.5px solid;border-color:gray;overflow:hidden;outline:none;color:#000}.clinic-modal-content-top button:hover{background-color:#80808034}.clinic-modal-content-bottom{display:flex}.clinic-content-container{display:flex;flex-direction:row;width:100vw;height:100%;box-sizing:border-box}.clinic-left{flex-grow:1;border:1px solid var(--green-dark);width:25%;min-width:300px;height:100%;flex-direction:column;box-sizing:border-box;padding:30px;height:74vh}.clinic-right{flex-grow:2;border:1px solid purple;flex-direction:column;justify-content:center;box-sizing:border-box;width:75%;height:100%;padding:30px;height:74vh}.clinic-search{display:flex;align-items:center;min-width:200px}.clinic-search input[type=text]{flex:1;padding:10px;border:1px solid #cccccc61;border-radius:20px;margin-right:10px;font-size:16px}.clinic-search button{padding:10px;background-color:#838282;color:#fff;border:none;border-radius:20px;cursor:pointer;font-size:10px}.clinic-search button:hover{background-color:#3a0f057c}.upcoming-reminder-container{display:flex;flex-direction:row;justify-content:space-between;margin:5px;padding:10px;border:1px solid #ccc;border-radius:8px;background-color:#f9f9f9;box-shadow:0 2px 5px #0000001a;position:relative}.appointment-icon{background-color:#d8effa;padding:8px;border-radius:20px;margin-left:5px;margin-right:10px}.vaccination-icon{background-color:var(--pale-purple);padding:8px;border-radius:20px}.medication-icon{background-color:#fff79c;padding:8px;border-radius:20px}.upcoming-reminder-content{flex:3;text-align:center;padding-top:11px;display:flex;flex-direction:column;align-items:center;font-weight:600}.upcoming-reminder-content div:first-child{padding-bottom:10px;margin-left:10px}.upcoming-reminder-content p{font-family:Raleway,sans-serif;font-size:13px}.upcoming-reminder-content div{font-size:20px;font-weight:700}.upcoming-reminder-pet{flex:1;display:flex;flex-direction:column;justify-content:center}.upcoming-reminder-icon-container{display:flex;flex-direction:column;margin-bottom:2px;justify-content:center;align-items:center}.upcoming-reminder-type{font-size:15px;font-weight:600;font-family:Raleway,sans-serif}.upcoming-days{flex:.5;font-style:italic;color:#f34607;font-weight:600;padding:0;margin:0}.upcoming-days p{text-align:end;font-family:Raleway,sans-serif;font-size:14px}.upcoming-reminder-petnames{font-size:13px}.upcoming-pet-image{width:30px;height:30px}#upcoming-pet-image{width:100%;height:100%;border-radius:120px}.upcoming-reminder-pet-name p{color:#7d7df8}.no-upcoming-reminder{padding:10px;font-size:17.5px}.pet-dashboard-container{width:100vw;height:100%;box-sizing:border-box;display:flex}.dash-page-container{width:100vw;height:calc(100vh - 60px);box-sizing:border-box;display:flex;flex-direction:column}.pet-dashboard{width:75%;height:100%;display:flex;flex-direction:column;box-sizing:border-box;padding:20px}.back-link{color:var(--green-dark);font-size:20px;box-sizing:border-box;margin:4px;width:fit-content;font-family:Raleway,sans-serif}.pet-dash-header{font-size:48px;box-sizing:border-box;padding-left:12px;text-wrap:nowrap;position:relative;width:fit-content;z-index:2;margin:20px}.pet-dash-highlight{position:absolute;width:100%;height:20px;background-color:var(--bright-gold);box-sizing:border-box;border-radius:8px;bottom:0;z-index:-1}.pet-metrics-container{display:flex;gap:40px;height:100%}.pet-reminder-header,.pet-vaccines-header,.medications-header{display:flex;justify-content:space-between;align-items:center;padding:10px;box-sizing:border-box;font-size:24px;background-color:var(--green-dark);color:var(--main-bg-beige)}.pet-reminder-module{width:40%;border:1px solid var(--green-dark);height:100%;box-sizing:border-box;background-color:#ffffff80}.preventatives-module{width:60%;display:flex;flex-direction:column;height:100%;box-sizing:border-box;gap:40px}.vaccines,.medications{height:50%;border:1px solid var(--green-dark);box-sizing:border-box;background-color:#ffffff80}.pet-dash-buttons{border:1px solid var(--bright-gold);background:none;box-sizing:border-box;width:28px;height:28px;border-radius:14px;font-size:20px;display:flex;justify-content:center;align-items:center;color:var(--bright-gold)}.pet-dash-buttons:hover{cursor:pointer;background-color:#f8d78986}.pet-signalment{width:25%;height:100%;display:flex;flex-direction:column;align-items:center;gap:40px;padding:20px;box-sizing:border-box;position:relative}.profile-pic-border{width:240px;height:240px;box-sizing:border-box;border:4px solid var(--gold);border-radius:120px;padding:8px}.profile-pic{width:100%;height:100%;border-radius:120px}.pet-summary{width:100%;border:1px solid var(--green-dark);height:100%;position:relative;display:flex;flex-direction:column;padding:50px 20px 20px;gap:20px;box-sizing:border-box;background-color:#fff}.pet-attribute{display:flex;border-bottom:1px solid var(--gold);justify-content:space-between;box-sizing:border-box;align-items:center;position:relative;padding:8px 8px 8px 5%}.pet-attribute h3{font-size:24px}.pet-signalment>div:first-child{display:flex;justify-content:space-between;align-items:center;padding:10px;box-sizing:border-box}.edit-pet-dash-buttons{background:none;box-sizing:border-box;height:36px;width:36px;padding:10px;border-radius:8px;font-size:18px;display:flex;justify-content:center;align-items:center;color:#00000026;position:absolute;transition:all .3s ease;right:0;top:0;margin:10px;font-family:Raleway,sans-serif;border:2px solid rgba(0,0,0,.15)}.delete-pet-dash-buttons{background:none;box-sizing:border-box;height:36px;width:36px;padding:8px;border-radius:8px;font-size:20px;display:flex;justify-content:center;align-items:center;color:#00000026;transition:all .3s ease;position:absolute;left:0;top:0;border:2px solid rgba(0,0,0,.15);margin:10px;font-family:Raleway,sans-serif}.edit-pet-dash-buttons:hover{cursor:pointer;color:#000;border-color:#000}.delete-pet-dash-buttons:hover{cursor:pointer;color:#ff4242;border-color:#ff4242}.decoration{position:absolute;width:10px;height:10px;transform:rotate(45deg);border:2px solid var(--gold);bottom:-5px;left:0;box-sizing:border-box;background-color:var(--gold)}.name-splash-container{position:absolute;top:-28px;left:0;box-sizing:border-box;width:100%;display:flex;justify-content:center}.name-border{border:1px solid var(--green-dark);box-sizing:border-box;position:relative;background-color:#fff;padding:10px}.name-splash-container h3{font-size:36px}.proximity-icon{width:32px;height:32px}.edit-del-icons{color:#00000026;margin-left:4px;width:20px;height:auto;cursor:pointer;transition:filter ease-in-out .5s}.edit-del-icons.pen:hover{color:#000}.edit-del-icons.trash:hover{color:#ff4242}.edit-del-reminder{margin-left:8px;position:relative;width:auto;height:auto}.pet-attribute p{word-wrap:break-word;max-width:60%}.appointment-info-container{margin:10px;padding:15px;border:1px solid #ccc;border-radius:8px;background-color:#f9f9f9;box-shadow:0 2px 5px #0000001a;position:relative}.appointment-header{font-size:16px;color:#333;font-weight:700;margin-bottom:5px;display:flex;justify-content:space-between;align-items:center}.reminder-divider{position:relative;height:2px;background-color:#e1e1e1;margin:10px 0}.reminder-divider:after{content:"";position:absolute;top:-4px;left:50%;width:8px;height:8px;background-color:#ccc;transform:translate(-50%) rotate(45deg);box-shadow:0 0 5px #0000001a}.appointment-content{font-size:14px;color:#666}.appointment-desc p{margin:5px 0;line-height:1.5}.appointment-loc p{margin:5px 0;line-height:1.5;font-style:italic}.appointment-title{display:flex;align-items:center}.empty-reminders{margin:10px;padding:15px;border:1px solid #ccc;border-radius:8px;background-color:#f9f9f9;box-shadow:0 2px 5px #0000001a;position:relative;font-family:raleway;display:flex;align-items:center}.empty-reminders span{color:#fff;font-weight:700;background-color:var(--gold);box-sizing:border-box;width:26px;height:26px;display:inline-flex;border-radius:14px;justify-content:center;align-items:center;font-size:28px;margin:0 4px}.vaccine-info-container{margin:10px;padding:15px;border:1px solid #ccc;border-radius:8px;background-color:#fff;box-shadow:0 2px 5px #0000001a;position:relative}.vaccine-header{display:flex;justify-content:space-between;align-items:center}.vaccine-header p{font-size:16px;color:#333;font-weight:700}.vaccine-date{display:flex;align-items:center;gap:12px}.vaccine-desc{display:flex;align-items:center}.medication-info-container{margin:10px;padding:15px;border:1px solid #ccc;border-radius:8px;background-color:#fff;box-shadow:0 2px 5px #0000001a;position:relative}.medication-header{display:flex;justify-content:space-between;align-items:center}.medication-content p{font-size:14px;color:#666;margin-bottom:8px;line-height:1.4}.medication-header p{font-size:16px;color:#333;font-weight:700;text-align:right}.medication-date{display:flex;align-items:center;gap:12px}.medication-title{display:flex;align-items:center}.modal-background{height:100vh;width:100vw;background-color:#ffffff80;padding:20px;position:absolute;top:0;left:0;z-index:10;display:flex;justify-content:center;align-items:center}.modal-content-appointment,.modal-content-vaccination,.modal-content-medication{left:50%;top:400px;width:350px;height:fit-content;transform:translate(-50%,-50%);background-color:var(--main-bg-beige);padding:16px;border-radius:30px;position:absolute;border:1px solid #333;font-weight:700;font-size:20px}.modal-content-edit{left:50%;top:400px;width:350px;height:520px;transform:translate(-50%,-50%);background-color:var(--main-bg-beige);color:var(--green-dark);padding:10px;border-radius:30px;position:absolute;border:1px solid #333;font-weight:700;font-size:20px}.reminder-modal-content-top{display:flex;padding:8px;justify-content:flex-end}.modal-content-bottom-title{padding:0;margin-bottom:20px}.reminder-modal-content-top button{cursor:pointer;background-color:transparent;border-radius:14px;border:1.5px solid;border-color:#000;overflow:hidden;outline:none}.reminder-modal-content-top button:hover,.reminder-button-container button:hover{background-color:var(--pale-purple)}.modal-content-bottom-title{display:flex;flex-direction:column;justify-content:center;align-items:center}.reminder-title{position:relative}.reminder-title .pet-dash-highlight{height:8px;background-color:#ffa380}.input-label{padding-bottom:5px}.input-label input{height:25px;width:300px;border:2px solid rgb(205,205,205);border-radius:16px;font-size:16px;padding-left:6px}.type-select-label,.title-select-label,.sex-select-label,.duedate-input-label,.perform-date-input-label,.description-input-label,.location-input-label{padding-top:5px;padding-bottom:10px;display:block;text-align:left;box-sizing:border-box;font-size:15px;font-weight:700}.type-select,.title-select{height:30px;width:310px;border:2px solid rgb(205,205,205);border-radius:16px;font-size:16px;padding-left:6px}.modal-content-bottom-form{display:flex;flex-direction:column;justify-content:center;align-items:center}.reminder-button-container{display:flex;justify-content:center;align-items:center;width:100%}.reminder-button-container button{padding:5px;cursor:pointer;background-color:transparent;background-repeat:no-repeat;border:1.5px solid rgb(255,163,128);color:#000;overflow:hidden;outline:none;vertical-align:middle;font-family:"DM Serif Display",serif;font-size:17px;font-weight:700;margin-top:10px;border-radius:20px}.modal-content-bottom-form input::placeholder,.modal-content-bottom-form select::placeholder{color:#999;font-size:12px;font-style:italic;padding-left:15px}textarea{border-radius:20px}.description-input::placeholder{padding-left:15px}.description-input{box-sizing:border-box;padding:10px 20px;width:306px}.reminder-button-edit{color:var(--green-dark)}.delete-reminder-button{color:#333}.description-input::placeholder{font-family:Arial,sans-serif;font-size:14px;color:gray}.reminder-error{font-size:10px;font-style:italic;color:#f34607}:root{--main-bg-beige: #f6f0eb;--green-dark: #283333;--steel-blue: #9db4c4;--pale-purple: #d8d8f8;--gold: #a58c49;--bright-gold: #ffcb53;--sage: #9aa184}html{background-color:var(--main-bg-beige)}h1{font-family:"DM Serif Display",serif}p,input,select,textarea{font-family:Raleway,sans-serif} diff --git a/frontend/dist/index.html b/frontend/dist/index.html index ff27587..db22c4e 100644 --- a/frontend/dist/index.html +++ b/frontend/dist/index.html @@ -5,8 +5,8 @@ Pet Portal - - + +
diff --git a/frontend/src/components/ReminderFormModal/ReminderFormModal.css b/frontend/src/components/ReminderFormModal/ReminderFormModal.css index 703b230..552aef7 100644 --- a/frontend/src/components/ReminderFormModal/ReminderFormModal.css +++ b/frontend/src/components/ReminderFormModal/ReminderFormModal.css @@ -185,4 +185,9 @@ textarea { font-family: Arial, sans-serif; font-size: 14px; color: grey; +} +.reminder-error { + font-size: 10px; + font-style: italic; + color: #f34607; } \ No newline at end of file diff --git a/frontend/src/components/ReminderFormModal/ReminderFormModal.jsx b/frontend/src/components/ReminderFormModal/ReminderFormModal.jsx index cf23530..453c740 100644 --- a/frontend/src/components/ReminderFormModal/ReminderFormModal.jsx +++ b/frontend/src/components/ReminderFormModal/ReminderFormModal.jsx @@ -20,6 +20,7 @@ const ReminderFormModal = ({modalState, setModalState, pet, reminder={}}) => { const [location, setLocation] = useState( modalState === 'edit' ? reminder.location : '') const dispatch = useDispatch() + const [errors, setErrors] = useState({}) const conditionalOptions = useCallback((type) => { switch (type) { @@ -92,8 +93,17 @@ const ReminderFormModal = ({modalState, setModalState, pet, reminder={}}) => { modalState === 'edit' ? dispatch(updateReminder(reminderInfo)) : dispatch(createReminder(reminderInfo)) + .then(() => { + setErrors({}) + }) + .catch(async res =>{ + let data = await res.json() + setErrors(data.errors) + }) - setModalState(null) + if(Object.keys(errors).length !== 0) { + setModalState(null) + } setType('') setTitle('') setDue('') @@ -101,7 +111,10 @@ const ReminderFormModal = ({modalState, setModalState, pet, reminder={}}) => { setDescription('') setLocation('') } - + + useEffect(() => { + },[errors]) + const reminderForm = () => ( <> diff --git a/frontend/src/store/petReducer.js b/frontend/src/store/petReducer.js index f2af397..05757f4 100644 --- a/frontend/src/store/petReducer.js +++ b/frontend/src/store/petReducer.js @@ -47,33 +47,31 @@ export const fetchPet = petInfo => dispatch => { .then(pet => dispatch(receivePet(pet))) } -export const createPet = petInfo => dispatch => ( - postPet(petInfo) - .then(res => { - if (res.ok) { - return res.json() - } else { - throw res - } - }) - .then(pet => dispatch(receivePet(pet))) - .catch(err => console.error(err)) -) +export const createPet = petInfo => async dispatch => { + const res = await postPet(petInfo) -export const updatePet = (petInfo, petId) => dispatch => { + if (res.ok) { + return dispatch(receivePet(await res.json())) + } else if (res.status === 422) { + return await res.json() + } else { + throw res + } +} + +export const updatePet = (petInfo, petId) => async dispatch => { if (! petId) { - console.error('attempted to update a pet without an id') + //console.error('attempted to update a pet without an id') return petInfo } - putPet(petInfo, petId) - .then(res => { - if (res.ok) { - return res.json() - } else { - throw res - } - }) - .then(pet => dispatch(receivePet(pet))) + const res = await putPet(petInfo, petId) + if (res.ok) { + return dispatch(receivePet(await res.json())) + } else if (res.status === 422) { + return await res.json() + } else { + throw res + } } export const destroyPet = petId => dispatch => ( @@ -96,7 +94,8 @@ const petReducer = (state = {}, action) => { switch(action.type) { case RECEIVE_PETS: - return (action.pets.reduce((a, e)=> { + + return (action.pets.reduce((a, e)=> { a[e._id] = e return a }, {})) diff --git a/frontend/src/store/reminderReducer.js b/frontend/src/store/reminderReducer.js index c33340c..826c38c 100644 --- a/frontend/src/store/reminderReducer.js +++ b/frontend/src/store/reminderReducer.js @@ -59,30 +59,27 @@ export const fetchReminder = (reminderId) => dispatch => ( .then(reminder => dispatch(receiveReminder(reminder))) .catch(err => console.error(err)) ) -export const createReminder = (reminderInfo) => dispatch => ( - postReminder(reminderInfo) - .then(res => { - if(res.ok) { - return res.json() - } else { - throw res - } - }) - .then(reminder => dispatch(receiveReminder(reminder))) - .catch(err => console.error(err)) -) -export const updateReminder = (reminderInfo) => dispatch => ( - editReminder(reminderInfo) - .then(res => { - if(res.ok) { - return res.json() - } else { - throw res - } - }) - .then(reminder => dispatch(receiveReminder(reminder))) - .catch(err => console.error(err)) -) +export const createReminder = (reminderInfo) => async dispatch => { + const res = await postReminder(reminderInfo) + + if (res.ok) { + return dispatch(receiveReminder(await res.json())) + } else if (res.status === 422) { + return await res.json() + } else { + throw res + } +} +export const updateReminder = (reminderInfo) => async dispatch => { + const res = await editReminder(reminderInfo) + if (res.ok){ + return dispatch(receiveReminder(await res.json())) + } else if (res.status === 422) { + return await res.json() + } else { + throw res + } +} export const destroyReminder = (reminderId) => dispatch => ( deleteReminder(reminderId)