function am(e,t){for(var n=0;nr[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))r(o);new MutationObserver(o=>{for(const i of o)if(i.type==="childList")for(const l of i.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&r(l)}).observe(document,{childList:!0,subtree:!0});function n(o){const i={};return o.integrity&&(i.integrity=o.integrity),o.referrerPolicy&&(i.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?i.credentials="include":o.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(o){if(o.ep)return;o.ep=!0;const i=n(o);fetch(o.href,i)}})();var Eo=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function sm(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Ud={exports:{}},Zi={},Hd={exports:{}},M={};/** * @license React * react.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */var ao=Symbol.for("react.element"),um=Symbol.for("react.portal"),cm=Symbol.for("react.fragment"),dm=Symbol.for("react.strict_mode"),fm=Symbol.for("react.profiler"),pm=Symbol.for("react.provider"),hm=Symbol.for("react.context"),mm=Symbol.for("react.forward_ref"),gm=Symbol.for("react.suspense"),vm=Symbol.for("react.memo"),ym=Symbol.for("react.lazy"),zu=Symbol.iterator;function xm(e){return e===null||typeof e!="object"?null:(e=zu&&e[zu]||e["@@iterator"],typeof e=="function"?e:null)}var Wd={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Vd=Object.assign,Qd={};function sr(e,t,n){this.props=e,this.context=t,this.refs=Qd,this.updater=n||Wd}sr.prototype.isReactComponent={};sr.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};sr.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Gd(){}Gd.prototype=sr.prototype;function ws(e,t,n){this.props=e,this.context=t,this.refs=Qd,this.updater=n||Wd}var ks=ws.prototype=new Gd;ks.constructor=ws;Vd(ks,sr.prototype);ks.isPureReactComponent=!0;var Iu=Array.isArray,Yd=Object.prototype.hasOwnProperty,bs={current:null},Kd={key:!0,ref:!0,__self:!0,__source:!0};function Xd(e,t,n){var r,o={},i=null,l=null;if(t!=null)for(r in t.ref!==void 0&&(l=t.ref),t.key!==void 0&&(i=""+t.key),t)Yd.call(t,r)&&!Kd.hasOwnProperty(r)&&(o[r]=t[r]);var a=arguments.length-2;if(a===1)o.children=n;else if(1>>1,B=N[A];if(0>>1;Ao(Nt,z))Teo(gt,Nt)?(N[A]=gt,N[Te]=z,A=Te):(N[A]=Nt,N[Xe]=z,A=Xe);else if(Teo(gt,z))N[A]=gt,N[Te]=z,A=Te;else break e}}return L}function o(N,L){var z=N.sortIndex-L.sortIndex;return z!==0?z:N.id-L.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;e.unstable_now=function(){return i.now()}}else{var l=Date,a=l.now();e.unstable_now=function(){return l.now()-a}}var s=[],c=[],f=1,h=null,g=3,v=!1,x=!1,w=!1,C=typeof setTimeout=="function"?setTimeout:null,p=typeof clearTimeout=="function"?clearTimeout:null,d=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function m(N){for(var L=n(c);L!==null;){if(L.callback===null)r(c);else if(L.startTime<=N)r(c),L.sortIndex=L.expirationTime,t(s,L);else break;L=n(c)}}function y(N){if(w=!1,m(N),!x)if(n(s)!==null)x=!0,mr(_);else{var L=n(c);L!==null&&rn(y,L.startTime-N)}}function _(N,L){x=!1,w&&(w=!1,p(j),j=-1),v=!0;var z=g;try{for(m(L),h=n(s);h!==null&&(!(h.expirationTime>L)||N&&!pe());){var A=h.callback;if(typeof A=="function"){h.callback=null,g=h.priorityLevel;var B=A(h.expirationTime<=L);L=e.unstable_now(),typeof B=="function"?h.callback=B:h===n(s)&&r(s),m(L)}else r(s);h=n(s)}if(h!==null)var on=!0;else{var Xe=n(c);Xe!==null&&rn(y,Xe.startTime-L),on=!1}return on}finally{h=null,g=z,v=!1}}var b=!1,S=null,j=-1,D=5,I=-1;function pe(){return!(e.unstable_now()-IN||125A?(N.sortIndex=z,t(c,N),n(s)===null&&N===n(c)&&(w?(p(j),j=-1):w=!0,rn(y,z-A))):(N.sortIndex=B,t(s,N),x||v||(x=!0,mr(_))),N},e.unstable_shouldYield=pe,e.unstable_wrapCallback=function(N){var L=g;return function(){var z=g;g=L;try{return N.apply(this,arguments)}finally{g=z}}}})(tf);ef.exports=tf;var Lm=ef.exports;/** * @license React * react-dom.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */var zm=P,Fe=Lm;function E(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),ha=Object.prototype.hasOwnProperty,Im=/^[: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]*$/,Mu={},Ru={};function Om(e){return ha.call(Ru,e)?!0:ha.call(Mu,e)?!1:Im.test(e)?Ru[e]=!0:(Mu[e]=!0,!1)}function Mm(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 Rm(e,t,n,r){if(t===null||typeof t>"u"||Mm(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 ke(e,t,n,r,o,i,l){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=o,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=l}var fe={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){fe[e]=new ke(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];fe[t]=new ke(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){fe[e]=new ke(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){fe[e]=new ke(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){fe[e]=new ke(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){fe[e]=new ke(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){fe[e]=new ke(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){fe[e]=new ke(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){fe[e]=new ke(e,5,!1,e.toLowerCase(),null,!1,!1)});var _s=/[\-:]([a-z])/g;function Es(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(_s,Es);fe[t]=new ke(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(_s,Es);fe[t]=new ke(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(_s,Es);fe[t]=new ke(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){fe[e]=new ke(e,1,!1,e.toLowerCase(),null,!1,!1)});fe.xlinkHref=new ke("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){fe[e]=new ke(e,1,!1,e.toLowerCase(),null,!0,!0)});function Cs(e,t,n,r){var o=fe.hasOwnProperty(t)?fe[t]:null;(o!==null?o.type!==0:r||!(2a||o[l]!==i[a]){var s=` `+o[l].replace(" at new "," at ");return e.displayName&&s.includes("")&&(s=s.replace("",e.displayName)),s}while(1<=l&&0<=a);break}}}finally{Ll=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Cr(e):""}function Dm(e){switch(e.tag){case 5:return Cr(e.type);case 16:return Cr("Lazy");case 13:return Cr("Suspense");case 19:return Cr("SuspenseList");case 0:case 2:case 15:return e=zl(e.type,!1),e;case 11:return e=zl(e.type.render,!1),e;case 1:return e=zl(e.type,!0),e;default:return""}}function ya(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 zn:return"Fragment";case Ln:return"Portal";case ma:return"Profiler";case Ps:return"StrictMode";case ga:return"Suspense";case va:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case of:return(e.displayName||"Context")+".Consumer";case rf:return(e._context.displayName||"Context")+".Provider";case js:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Ns:return t=e.displayName||null,t!==null?t:ya(e.type)||"Memo";case Mt:t=e._payload,e=e._init;try{return ya(e(t))}catch{}}return null}function $m(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 ya(t);case 8:return t===Ps?"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 Zt(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function af(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Fm(e){var t=af(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 o=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(l){r=""+l,i.call(this,l)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(l){r=""+l},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function jo(e){e._valueTracker||(e._valueTracker=Fm(e))}function sf(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=af(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function xi(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 xa(e,t){var n=t.checked;return q({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function $u(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=Zt(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 uf(e,t){t=t.checked,t!=null&&Cs(e,"checked",t,!1)}function wa(e,t){uf(e,t);var n=Zt(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")?ka(e,t.type,n):t.hasOwnProperty("defaultValue")&&ka(e,t.type,Zt(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Fu(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 ka(e,t,n){(t!=="number"||xi(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Pr=Array.isArray;function Wn(e,t,n,r){if(e=e.options,t){t={};for(var o=0;o"+t.valueOf().toString()+"",t=No.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Ur(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Lr={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},Am=["Webkit","ms","Moz","O"];Object.keys(Lr).forEach(function(e){Am.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Lr[t]=Lr[e]})});function pf(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Lr.hasOwnProperty(e)&&Lr[e]?(""+t).trim():t+"px"}function hf(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,o=pf(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,o):e[n]=o}}var Bm=q({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 _a(e,t){if(t){if(Bm[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(E(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(E(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(E(61))}if(t.style!=null&&typeof t.style!="object")throw Error(E(62))}}function Ea(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 Ca=null;function Ts(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Pa=null,Vn=null,Qn=null;function Uu(e){if(e=co(e)){if(typeof Pa!="function")throw Error(E(280));var t=e.stateNode;t&&(t=nl(t),Pa(e.stateNode,e.type,t))}}function mf(e){Vn?Qn?Qn.push(e):Qn=[e]:Vn=e}function gf(){if(Vn){var e=Vn,t=Qn;if(Qn=Vn=null,Uu(e),t)for(e=0;e>>=0,e===0?32:31-(qm(e)/Jm|0)|0}var To=64,Lo=4194304;function jr(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 Si(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,o=e.suspendedLanes,i=e.pingedLanes,l=n&268435455;if(l!==0){var a=l&~o;a!==0?r=jr(a):(i&=l,i!==0&&(r=jr(i)))}else l=n&~o,l!==0?r=jr(l):i!==0&&(r=jr(i));if(r===0)return 0;if(t!==0&&t!==r&&!(t&o)&&(o=r&-r,i=t&-t,o>=i||o===16&&(i&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 so(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-tt(t),e[t]=n}function rg(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=Ir),Zu=" ",qu=!1;function Rf(e,t){switch(e){case"keyup":return Lg.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Df(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var In=!1;function Ig(e,t){switch(e){case"compositionend":return Df(t);case"keypress":return t.which!==32?null:(qu=!0,Zu);case"textInput":return e=t.data,e===Zu&&qu?null:e;default:return null}}function Og(e,t){if(In)return e==="compositionend"||!$s&&Rf(e,t)?(e=Of(),oi=Ms=Ft=null,In=!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=nc(n)}}function Bf(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Bf(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Uf(){for(var e=window,t=xi();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=xi(e.document)}return t}function Fs(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 Hg(e){var t=Uf(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Bf(n.ownerDocument.documentElement,n)){if(r!==null&&Fs(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 o=n.textContent.length,i=Math.min(r.start,o);r=r.end===void 0?i:Math.min(r.end,o),!e.extend&&i>r&&(o=r,r=i,i=o),o=rc(n,i);var l=rc(n,r);o&&l&&(e.rangeCount!==1||e.anchorNode!==o.node||e.anchorOffset!==o.offset||e.focusNode!==l.node||e.focusOffset!==l.offset)&&(t=t.createRange(),t.setStart(o.node,o.offset),e.removeAllRanges(),i>r?(e.addRange(t),e.extend(l.node,l.offset)):(t.setEnd(l.node,l.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,On=null,Ia=null,Mr=null,Oa=!1;function oc(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Oa||On==null||On!==xi(r)||(r=On,"selectionStart"in r&&Fs(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}),Mr&&Yr(Mr,r)||(Mr=r,r=Ci(Ia,"onSelect"),0Dn||(e.current=Aa[Dn],Aa[Dn]=null,Dn--)}function U(e,t){Dn++,Aa[Dn]=e.current,e.current=t}var qt={},ve=en(qt),Pe=en(!1),xn=qt;function Zn(e,t){var n=e.type.contextTypes;if(!n)return qt;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var o={},i;for(i in n)o[i]=t[i];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function je(e){return e=e.childContextTypes,e!=null}function ji(){V(Pe),V(ve)}function dc(e,t,n){if(ve.current!==qt)throw Error(E(168));U(ve,t),U(Pe,n)}function Zf(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var o in r)if(!(o in t))throw Error(E(108,$m(e)||"Unknown",o));return q({},n,r)}function Ni(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||qt,xn=ve.current,U(ve,e),U(Pe,Pe.current),!0}function fc(e,t,n){var r=e.stateNode;if(!r)throw Error(E(169));n?(e=Zf(e,t,xn),r.__reactInternalMemoizedMergedChildContext=e,V(Pe),V(ve),U(ve,e)):V(Pe),U(Pe,n)}var wt=null,rl=!1,Ql=!1;function qf(e){wt===null?wt=[e]:wt.push(e)}function t1(e){rl=!0,qf(e)}function tn(){if(!Ql&&wt!==null){Ql=!0;var e=0,t=F;try{var n=wt;for(F=1;e>=l,o-=l,kt=1<<32-tt(t)+o|n<j?(D=S,S=null):D=S.sibling;var I=g(p,S,m[j],y);if(I===null){S===null&&(S=D);break}e&&S&&I.alternate===null&&t(p,S),d=i(I,d,j),b===null?_=I:b.sibling=I,b=I,S=D}if(j===m.length)return n(p,S),G&&un(p,j),_;if(S===null){for(;jj?(D=S,S=null):D=S.sibling;var pe=g(p,S,I.value,y);if(pe===null){S===null&&(S=D);break}e&&S&&pe.alternate===null&&t(p,S),d=i(pe,d,j),b===null?_=pe:b.sibling=pe,b=pe,S=D}if(I.done)return n(p,S),G&&un(p,j),_;if(S===null){for(;!I.done;j++,I=m.next())I=h(p,I.value,y),I!==null&&(d=i(I,d,j),b===null?_=I:b.sibling=I,b=I);return G&&un(p,j),_}for(S=r(p,S);!I.done;j++,I=m.next())I=v(S,p,j,I.value,y),I!==null&&(e&&I.alternate!==null&&S.delete(I.key===null?j:I.key),d=i(I,d,j),b===null?_=I:b.sibling=I,b=I);return e&&S.forEach(function(it){return t(p,it)}),G&&un(p,j),_}function C(p,d,m,y){if(typeof m=="object"&&m!==null&&m.type===zn&&m.key===null&&(m=m.props.children),typeof m=="object"&&m!==null){switch(m.$$typeof){case Po:e:{for(var _=m.key,b=d;b!==null;){if(b.key===_){if(_=m.type,_===zn){if(b.tag===7){n(p,b.sibling),d=o(b,m.props.children),d.return=p,p=d;break e}}else if(b.elementType===_||typeof _=="object"&&_!==null&&_.$$typeof===Mt&&mc(_)===b.type){n(p,b.sibling),d=o(b,m.props),d.ref=br(p,b,m),d.return=p,p=d;break e}n(p,b);break}else t(p,b);b=b.sibling}m.type===zn?(d=gn(m.props.children,p.mode,y,m.key),d.return=p,p=d):(y=fi(m.type,m.key,m.props,null,p.mode,y),y.ref=br(p,d,m),y.return=p,p=y)}return l(p);case Ln:e:{for(b=m.key;d!==null;){if(d.key===b)if(d.tag===4&&d.stateNode.containerInfo===m.containerInfo&&d.stateNode.implementation===m.implementation){n(p,d.sibling),d=o(d,m.children||[]),d.return=p,p=d;break e}else{n(p,d);break}else t(p,d);d=d.sibling}d=ea(m,p.mode,y),d.return=p,p=d}return l(p);case Mt:return b=m._init,C(p,d,b(m._payload),y)}if(Pr(m))return x(p,d,m,y);if(vr(m))return w(p,d,m,y);$o(p,m)}return typeof m=="string"&&m!==""||typeof m=="number"?(m=""+m,d!==null&&d.tag===6?(n(p,d.sibling),d=o(d,m),d.return=p,p=d):(n(p,d),d=Jl(m,p.mode,y),d.return=p,p=d),l(p)):n(p,d)}return C}var Jn=np(!0),rp=np(!1),zi=en(null),Ii=null,An=null,Hs=null;function Ws(){Hs=An=Ii=null}function Vs(e){var t=zi.current;V(zi),e._currentValue=t}function Ha(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function Yn(e,t){Ii=e,Hs=An=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(_e=!0),e.firstContext=null)}function Ge(e){var t=e._currentValue;if(Hs!==e)if(e={context:e,memoizedValue:t,next:null},An===null){if(Ii===null)throw Error(E(308));An=e,Ii.dependencies={lanes:0,firstContext:e}}else An=An.next=e;return t}var fn=null;function Qs(e){fn===null?fn=[e]:fn.push(e)}function op(e,t,n,r){var o=t.interleaved;return o===null?(n.next=n,Qs(t)):(n.next=o.next,o.next=n),t.interleaved=n,Ct(e,r)}function Ct(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var Rt=!1;function Gs(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function ip(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function St(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Qt(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,R&2){var o=r.pending;return o===null?t.next=t:(t.next=o.next,o.next=t),r.pending=t,Ct(e,n)}return o=r.interleaved,o===null?(t.next=t,Qs(r)):(t.next=o.next,o.next=t),r.interleaved=t,Ct(e,n)}function li(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,zs(e,n)}}function gc(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var o=null,i=null;if(n=n.firstBaseUpdate,n!==null){do{var l={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};i===null?o=i=l:i=i.next=l,n=n.next}while(n!==null);i===null?o=i=t:i=i.next=t}else o=i=t;n={baseState:r.baseState,firstBaseUpdate:o,lastBaseUpdate:i,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Oi(e,t,n,r){var o=e.updateQueue;Rt=!1;var i=o.firstBaseUpdate,l=o.lastBaseUpdate,a=o.shared.pending;if(a!==null){o.shared.pending=null;var s=a,c=s.next;s.next=null,l===null?i=c:l.next=c,l=s;var f=e.alternate;f!==null&&(f=f.updateQueue,a=f.lastBaseUpdate,a!==l&&(a===null?f.firstBaseUpdate=c:a.next=c,f.lastBaseUpdate=s))}if(i!==null){var h=o.baseState;l=0,f=c=s=null,a=i;do{var g=a.lane,v=a.eventTime;if((r&g)===g){f!==null&&(f=f.next={eventTime:v,lane:0,tag:a.tag,payload:a.payload,callback:a.callback,next:null});e:{var x=e,w=a;switch(g=t,v=n,w.tag){case 1:if(x=w.payload,typeof x=="function"){h=x.call(v,h,g);break e}h=x;break e;case 3:x.flags=x.flags&-65537|128;case 0:if(x=w.payload,g=typeof x=="function"?x.call(v,h,g):x,g==null)break e;h=q({},h,g);break e;case 2:Rt=!0}}a.callback!==null&&a.lane!==0&&(e.flags|=64,g=o.effects,g===null?o.effects=[a]:g.push(a))}else v={eventTime:v,lane:g,tag:a.tag,payload:a.payload,callback:a.callback,next:null},f===null?(c=f=v,s=h):f=f.next=v,l|=g;if(a=a.next,a===null){if(a=o.shared.pending,a===null)break;g=a,a=g.next,g.next=null,o.lastBaseUpdate=g,o.shared.pending=null}}while(!0);if(f===null&&(s=h),o.baseState=s,o.firstBaseUpdate=c,o.lastBaseUpdate=f,t=o.shared.interleaved,t!==null){o=t;do l|=o.lane,o=o.next;while(o!==t)}else i===null&&(o.shared.lanes=0);bn|=l,e.lanes=l,e.memoizedState=h}}function vc(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;tn?n:4,e(!0);var r=Yl.transition;Yl.transition={};try{e(!1),t()}finally{F=n,Yl.transition=r}}function bp(){return Ye().memoizedState}function i1(e,t,n){var r=Yt(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},Sp(e))_p(t,n);else if(n=op(e,t,n,r),n!==null){var o=xe();nt(n,e,r,o),Ep(n,t,r)}}function l1(e,t,n){var r=Yt(e),o={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(Sp(e))_p(t,o);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var l=t.lastRenderedState,a=i(l,n);if(o.hasEagerState=!0,o.eagerState=a,ot(a,l)){var s=t.interleaved;s===null?(o.next=o,Qs(t)):(o.next=s.next,s.next=o),t.interleaved=o;return}}catch{}finally{}n=op(e,t,o,r),n!==null&&(o=xe(),nt(n,e,r,o),Ep(n,t,r))}}function Sp(e){var t=e.alternate;return e===Z||t!==null&&t===Z}function _p(e,t){Rr=Ri=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Ep(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,zs(e,n)}}var Di={readContext:Ge,useCallback:he,useContext:he,useEffect:he,useImperativeHandle:he,useInsertionEffect:he,useLayoutEffect:he,useMemo:he,useReducer:he,useRef:he,useState:he,useDebugValue:he,useDeferredValue:he,useTransition:he,useMutableSource:he,useSyncExternalStore:he,useId:he,unstable_isNewReconciler:!1},a1={readContext:Ge,useCallback:function(e,t){return st().memoizedState=[e,t===void 0?null:t],e},useContext:Ge,useEffect:xc,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,si(4194308,4,vp.bind(null,t,e),n)},useLayoutEffect:function(e,t){return si(4194308,4,e,t)},useInsertionEffect:function(e,t){return si(4,2,e,t)},useMemo:function(e,t){var n=st();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=st();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=i1.bind(null,Z,e),[r.memoizedState,e]},useRef:function(e){var t=st();return e={current:e},t.memoizedState=e},useState:yc,useDebugValue:tu,useDeferredValue:function(e){return st().memoizedState=e},useTransition:function(){var e=yc(!1),t=e[0];return e=o1.bind(null,e[1]),st().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=Z,o=st();if(G){if(n===void 0)throw Error(E(407));n=n()}else{if(n=t(),ue===null)throw Error(E(349));kn&30||up(r,t,n)}o.memoizedState=n;var i={value:n,getSnapshot:t};return o.queue=i,xc(dp.bind(null,r,i,e),[e]),r.flags|=2048,no(9,cp.bind(null,r,i,n,t),void 0,null),n},useId:function(){var e=st(),t=ue.identifierPrefix;if(G){var n=bt,r=kt;n=(r&~(1<<32-tt(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=eo++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=l.createElement(n,{is:r.is}):(e=l.createElement(n),n==="select"&&(l=e,r.multiple?l.multiple=!0:r.size&&(l.size=r.size))):e=l.createElementNS(e,n),e[dt]=t,e[Zr]=r,Mp(e,t,!1,!1),t.stateNode=e;e:{switch(l=Ea(n,r),n){case"dialog":H("cancel",e),H("close",e),o=r;break;case"iframe":case"object":case"embed":H("load",e),o=r;break;case"video":case"audio":for(o=0;onr&&(t.flags|=128,r=!0,Sr(i,!1),t.lanes=4194304)}else{if(!r)if(e=Mi(l),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Sr(i,!0),i.tail===null&&i.tailMode==="hidden"&&!l.alternate&&!G)return me(t),null}else 2*te()-i.renderingStartTime>nr&&n!==1073741824&&(t.flags|=128,r=!0,Sr(i,!1),t.lanes=4194304);i.isBackwards?(l.sibling=t.child,t.child=l):(n=i.last,n!==null?n.sibling=l:t.child=l,i.last=l)}return i.tail!==null?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=te(),t.sibling=null,n=X.current,U(X,r?n&1|2:n&1),t):(me(t),null);case 22:case 23:return au(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?Re&1073741824&&(me(t),t.subtreeFlags&6&&(t.flags|=8192)):me(t),null;case 24:return null;case 25:return null}throw Error(E(156,t.tag))}function m1(e,t){switch(Bs(t),t.tag){case 1:return je(t.type)&&ji(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return er(),V(Pe),V(ve),Xs(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return Ks(t),null;case 13:if(V(X),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(E(340));qn()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return V(X),null;case 4:return er(),null;case 10:return Vs(t.type._context),null;case 22:case 23:return au(),null;case 24:return null;default:return null}}var Ao=!1,ge=!1,g1=typeof WeakSet=="function"?WeakSet:Set,T=null;function Bn(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){ee(e,t,r)}else n.current=null}function qa(e,t,n){try{n()}catch(r){ee(e,t,r)}}var Tc=!1;function v1(e,t){if(Ma=_i,e=Uf(),Fs(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 o=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var l=0,a=-1,s=-1,c=0,f=0,h=e,g=null;t:for(;;){for(var v;h!==n||o!==0&&h.nodeType!==3||(a=l+o),h!==i||r!==0&&h.nodeType!==3||(s=l+r),h.nodeType===3&&(l+=h.nodeValue.length),(v=h.firstChild)!==null;)g=h,h=v;for(;;){if(h===e)break t;if(g===n&&++c===o&&(a=l),g===i&&++f===r&&(s=l),(v=h.nextSibling)!==null)break;h=g,g=h.parentNode}h=v}n=a===-1||s===-1?null:{start:a,end:s}}else n=null}n=n||{start:0,end:0}}else n=null;for(Ra={focusedElem:e,selectionRange:n},_i=!1,T=t;T!==null;)if(t=T,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,T=e;else for(;T!==null;){t=T;try{var x=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(x!==null){var w=x.memoizedProps,C=x.memoizedState,p=t.stateNode,d=p.getSnapshotBeforeUpdate(t.elementType===t.type?w:qe(t.type,w),C);p.__reactInternalSnapshotBeforeUpdate=d}break;case 3:var m=t.stateNode.containerInfo;m.nodeType===1?m.textContent="":m.nodeType===9&&m.documentElement&&m.removeChild(m.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(E(163))}}catch(y){ee(t,t.return,y)}if(e=t.sibling,e!==null){e.return=t.return,T=e;break}T=t.return}return x=Tc,Tc=!1,x}function Dr(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var o=r=r.next;do{if((o.tag&e)===e){var i=o.destroy;o.destroy=void 0,i!==void 0&&qa(t,n,i)}o=o.next}while(o!==r)}}function ll(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 Ja(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 $p(e){var t=e.alternate;t!==null&&(e.alternate=null,$p(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[dt],delete t[Zr],delete t[Fa],delete t[Jg],delete t[e1])),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 Fp(e){return e.tag===5||e.tag===3||e.tag===4}function Lc(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Fp(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 es(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=Pi));else if(r!==4&&(e=e.child,e!==null))for(es(e,t,n),e=e.sibling;e!==null;)es(e,t,n),e=e.sibling}function ts(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(ts(e,t,n),e=e.sibling;e!==null;)ts(e,t,n),e=e.sibling}var ce=null,Je=!1;function Lt(e,t,n){for(n=n.child;n!==null;)Ap(e,t,n),n=n.sibling}function Ap(e,t,n){if(ft&&typeof ft.onCommitFiberUnmount=="function")try{ft.onCommitFiberUnmount(qi,n)}catch{}switch(n.tag){case 5:ge||Bn(n,t);case 6:var r=ce,o=Je;ce=null,Lt(e,t,n),ce=r,Je=o,ce!==null&&(Je?(e=ce,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):ce.removeChild(n.stateNode));break;case 18:ce!==null&&(Je?(e=ce,n=n.stateNode,e.nodeType===8?Vl(e.parentNode,n):e.nodeType===1&&Vl(e,n),Qr(e)):Vl(ce,n.stateNode));break;case 4:r=ce,o=Je,ce=n.stateNode.containerInfo,Je=!0,Lt(e,t,n),ce=r,Je=o;break;case 0:case 11:case 14:case 15:if(!ge&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){o=r=r.next;do{var i=o,l=i.destroy;i=i.tag,l!==void 0&&(i&2||i&4)&&qa(n,t,l),o=o.next}while(o!==r)}Lt(e,t,n);break;case 1:if(!ge&&(Bn(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(a){ee(n,t,a)}Lt(e,t,n);break;case 21:Lt(e,t,n);break;case 22:n.mode&1?(ge=(r=ge)||n.memoizedState!==null,Lt(e,t,n),ge=r):Lt(e,t,n);break;default:Lt(e,t,n)}}function zc(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new g1),t.forEach(function(r){var o=C1.bind(null,e,r);n.has(r)||(n.add(r),r.then(o,o))})}}function Ze(e,t){var n=t.deletions;if(n!==null)for(var r=0;ro&&(o=l),r&=~i}if(r=o,r=te()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*x1(r/1960))-r,10e?16:e,At===null)var r=!1;else{if(e=At,At=null,Ai=0,R&6)throw Error(E(331));var o=R;for(R|=4,T=e.current;T!==null;){var i=T,l=i.child;if(T.flags&16){var a=i.deletions;if(a!==null){for(var s=0;ste()-iu?mn(e,0):ou|=n),Ne(e,t)}function Yp(e,t){t===0&&(e.mode&1?(t=Lo,Lo<<=1,!(Lo&130023424)&&(Lo=4194304)):t=1);var n=xe();e=Ct(e,t),e!==null&&(so(e,t,n),Ne(e,n))}function E1(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Yp(e,n)}function C1(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,o=e.memoizedState;o!==null&&(n=o.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(E(314))}r!==null&&r.delete(t),Yp(e,n)}var Kp;Kp=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Pe.current)_e=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return _e=!1,p1(e,t,n);_e=!!(e.flags&131072)}else _e=!1,G&&t.flags&1048576&&Jf(t,Li,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;ui(e,t),e=t.pendingProps;var o=Zn(t,ve.current);Yn(t,n),o=qs(null,t,r,e,o,n);var i=Js();return t.flags|=1,typeof o=="object"&&o!==null&&typeof o.render=="function"&&o.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,je(r)?(i=!0,Ni(t)):i=!1,t.memoizedState=o.state!==null&&o.state!==void 0?o.state:null,Gs(t),o.updater=il,t.stateNode=o,o._reactInternals=t,Va(t,r,e,n),t=Ya(null,t,r,!0,i,n)):(t.tag=0,G&&i&&As(t),ye(null,t,o,n),t=t.child),t;case 16:r=t.elementType;e:{switch(ui(e,t),e=t.pendingProps,o=r._init,r=o(r._payload),t.type=r,o=t.tag=j1(r),e=qe(r,e),o){case 0:t=Ga(null,t,r,e,n);break e;case 1:t=Pc(null,t,r,e,n);break e;case 11:t=Ec(null,t,r,e,n);break e;case 14:t=Cc(null,t,r,qe(r.type,e),n);break e}throw Error(E(306,r,""))}return t;case 0:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:qe(r,o),Ga(e,t,r,o,n);case 1:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:qe(r,o),Pc(e,t,r,o,n);case 3:e:{if(zp(t),e===null)throw Error(E(387));r=t.pendingProps,i=t.memoizedState,o=i.element,ip(e,t),Oi(t,r,null,n);var l=t.memoizedState;if(r=l.element,i.isDehydrated)if(i={element:r,isDehydrated:!1,cache:l.cache,pendingSuspenseBoundaries:l.pendingSuspenseBoundaries,transitions:l.transitions},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){o=tr(Error(E(423)),t),t=jc(e,t,r,n,o);break e}else if(r!==o){o=tr(Error(E(424)),t),t=jc(e,t,r,n,o);break e}else for(De=Vt(t.stateNode.containerInfo.firstChild),$e=t,G=!0,et=null,n=rp(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(qn(),r===o){t=Pt(e,t,n);break e}ye(e,t,r,n)}t=t.child}return t;case 5:return lp(t),e===null&&Ua(t),r=t.type,o=t.pendingProps,i=e!==null?e.memoizedProps:null,l=o.children,Da(r,o)?l=null:i!==null&&Da(r,i)&&(t.flags|=32),Lp(e,t),ye(e,t,l,n),t.child;case 6:return e===null&&Ua(t),null;case 13:return Ip(e,t,n);case 4:return Ys(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Jn(t,null,r,n):ye(e,t,r,n),t.child;case 11:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:qe(r,o),Ec(e,t,r,o,n);case 7:return ye(e,t,t.pendingProps,n),t.child;case 8:return ye(e,t,t.pendingProps.children,n),t.child;case 12:return ye(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,o=t.pendingProps,i=t.memoizedProps,l=o.value,U(zi,r._currentValue),r._currentValue=l,i!==null)if(ot(i.value,l)){if(i.children===o.children&&!Pe.current){t=Pt(e,t,n);break e}}else for(i=t.child,i!==null&&(i.return=t);i!==null;){var a=i.dependencies;if(a!==null){l=i.child;for(var s=a.firstContext;s!==null;){if(s.context===r){if(i.tag===1){s=St(-1,n&-n),s.tag=2;var c=i.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}}i.lanes|=n,s=i.alternate,s!==null&&(s.lanes|=n),Ha(i.return,n,t),a.lanes|=n;break}s=s.next}}else if(i.tag===10)l=i.type===t.type?null:i.child;else if(i.tag===18){if(l=i.return,l===null)throw Error(E(341));l.lanes|=n,a=l.alternate,a!==null&&(a.lanes|=n),Ha(l,n,t),l=i.sibling}else l=i.child;if(l!==null)l.return=i;else for(l=i;l!==null;){if(l===t){l=null;break}if(i=l.sibling,i!==null){i.return=l.return,l=i;break}l=l.return}i=l}ye(e,t,o.children,n),t=t.child}return t;case 9:return o=t.type,r=t.pendingProps.children,Yn(t,n),o=Ge(o),r=r(o),t.flags|=1,ye(e,t,r,n),t.child;case 14:return r=t.type,o=qe(r,t.pendingProps),o=qe(r.type,o),Cc(e,t,r,o,n);case 15:return Np(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:qe(r,o),ui(e,t),t.tag=1,je(r)?(e=!0,Ni(t)):e=!1,Yn(t,n),Cp(t,r,o),Va(t,r,o,n),Ya(null,t,r,!0,e,n);case 19:return Op(e,t,n);case 22:return Tp(e,t,n)}throw Error(E(156,t.tag))};function Xp(e,t){return Sf(e,t)}function P1(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 Ve(e,t,n,r){return new P1(e,t,n,r)}function uu(e){return e=e.prototype,!(!e||!e.isReactComponent)}function j1(e){if(typeof e=="function")return uu(e)?1:0;if(e!=null){if(e=e.$$typeof,e===js)return 11;if(e===Ns)return 14}return 2}function Kt(e,t){var n=e.alternate;return n===null?(n=Ve(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 fi(e,t,n,r,o,i){var l=2;if(r=e,typeof e=="function")uu(e)&&(l=1);else if(typeof e=="string")l=5;else e:switch(e){case zn:return gn(n.children,o,i,t);case Ps:l=8,o|=8;break;case ma:return e=Ve(12,n,t,o|2),e.elementType=ma,e.lanes=i,e;case ga:return e=Ve(13,n,t,o),e.elementType=ga,e.lanes=i,e;case va:return e=Ve(19,n,t,o),e.elementType=va,e.lanes=i,e;case lf:return sl(n,o,i,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case rf:l=10;break e;case of:l=9;break e;case js:l=11;break e;case Ns:l=14;break e;case Mt:l=16,r=null;break e}throw Error(E(130,e==null?e:typeof e,""))}return t=Ve(l,n,t,o),t.elementType=e,t.type=r,t.lanes=i,t}function gn(e,t,n,r){return e=Ve(7,e,r,t),e.lanes=n,e}function sl(e,t,n,r){return e=Ve(22,e,r,t),e.elementType=lf,e.lanes=n,e.stateNode={isHidden:!1},e}function Jl(e,t,n){return e=Ve(6,e,null,t),e.lanes=n,e}function ea(e,t,n){return t=Ve(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function N1(e,t,n,r,o){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=Ol(0),this.expirationTimes=Ol(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Ol(0),this.identifierPrefix=r,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function cu(e,t,n,r,o,i,l,a,s){return e=new N1(e,t,n,a,s),t===1?(t=1,i===!0&&(t|=8)):t=0,i=Ve(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Gs(i),e}function T1(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(eh)}catch(e){console.error(e)}}eh(),Jd.exports=Ae;var th=Jd.exports;/** * @remix-run/router v1.16.1 * * Copyright (c) Remix Software Inc. * * This source code is licensed under the MIT license found in the * LICENSE.md file in the root directory of this source tree. * * @license MIT */function oo(){return oo=Object.assign?Object.assign.bind():function(e){for(var t=1;t"u")throw new Error(t)}function nh(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function R1(){return Math.random().toString(36).substr(2,8)}function Bc(e,t){return{usr:e.state,key:e.key,idx:t}}function ls(e,t,n,r){return n===void 0&&(n=null),oo({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?dr(t):t,{state:n,key:t&&t.key||r||R1()})}function Hi(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 dr(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 D1(e,t,n,r){r===void 0&&(r={});let{window:o=document.defaultView,v5Compat:i=!1}=r,l=o.history,a=Bt.Pop,s=null,c=f();c==null&&(c=0,l.replaceState(oo({},l.state,{idx:c}),""));function f(){return(l.state||{idx:null}).idx}function h(){a=Bt.Pop;let C=f(),p=C==null?null:C-c;c=C,s&&s({action:a,location:w.location,delta:p})}function g(C,p){a=Bt.Push;let d=ls(w.location,C,p);c=f()+1;let m=Bc(d,c),y=w.createHref(d);try{l.pushState(m,"",y)}catch(_){if(_ instanceof DOMException&&_.name==="DataCloneError")throw _;o.location.assign(y)}i&&s&&s({action:a,location:w.location,delta:1})}function v(C,p){a=Bt.Replace;let d=ls(w.location,C,p);c=f();let m=Bc(d,c),y=w.createHref(d);l.replaceState(m,"",y),i&&s&&s({action:a,location:w.location,delta:0})}function x(C){let p=o.location.origin!=="null"?o.location.origin:o.location.href,d=typeof C=="string"?C:Hi(C);return d=d.replace(/ $/,"%20"),oe(p,"No window.location.(origin|href) available to create URL for href: "+d),new URL(d,p)}let w={get action(){return a},get location(){return e(o,l)},listen(C){if(s)throw new Error("A history only accepts one active listener");return o.addEventListener(Ac,h),s=C,()=>{o.removeEventListener(Ac,h),s=null}},createHref(C){return t(o,C)},createURL:x,encodeLocation(C){let p=x(C);return{pathname:p.pathname,search:p.search,hash:p.hash}},push:g,replace:v,go(C){return l.go(C)}};return w}var Uc;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(Uc||(Uc={}));function $1(e,t,n){n===void 0&&(n="/");let r=typeof t=="string"?dr(t):t,o=hu(r.pathname||"/",n);if(o==null)return null;let i=rh(e);F1(i);let l=null;for(let a=0;l==null&&a{let s={relativePath:a===void 0?i.path||"":a,caseSensitive:i.caseSensitive===!0,childrenIndex:l,route:i};s.relativePath.startsWith("/")&&(oe(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=Xt([r,s.relativePath]),f=n.concat(s);i.children&&i.children.length>0&&(oe(i.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+c+'".')),rh(i.children,t,f,c)),!(i.path==null&&!i.index)&&t.push({path:c,score:Q1(c,i.index),routesMeta:f})};return e.forEach((i,l)=>{var a;if(i.path===""||!((a=i.path)!=null&&a.includes("?")))o(i,l);else for(let s of oh(i.path))o(i,l,s)}),t}function oh(e){let t=e.split("/");if(t.length===0)return[];let[n,...r]=t,o=n.endsWith("?"),i=n.replace(/\?$/,"");if(r.length===0)return o?[i,""]:[i];let l=oh(r.join("/")),a=[];return a.push(...l.map(s=>s===""?i:[i,s].join("/"))),o&&a.push(...l),a.map(s=>e.startsWith("/")&&s===""?"/":s)}function F1(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:G1(t.routesMeta.map(r=>r.childrenIndex),n.routesMeta.map(r=>r.childrenIndex)))}const A1=/^:[\w-]+$/,B1=3,U1=2,H1=1,W1=10,V1=-2,Hc=e=>e==="*";function Q1(e,t){let n=e.split("/"),r=n.length;return n.some(Hc)&&(r+=V1),t&&(r+=U1),n.filter(o=>!Hc(o)).reduce((o,i)=>o+(A1.test(i)?B1:i===""?H1:W1),r)}function G1(e,t){return e.length===t.length&&e.slice(0,-1).every((r,o)=>r===t[o])?e[e.length-1]-t[t.length-1]:0}function Y1(e,t){let{routesMeta:n}=e,r={},o="/",i=[];for(let l=0;l{let{paramName:g,isOptional:v}=f;if(g==="*"){let w=a[h]||"";l=i.slice(0,i.length-w.length).replace(/(.)\/+$/,"$1")}const x=a[h];return v&&!x?c[g]=void 0:c[g]=(x||"").replace(/%2F/g,"/"),c},{}),pathname:i,pathnameBase:l,pattern:e}}function X1(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!0),nh(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=[],o="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(l,a,s)=>(r.push({paramName:a,isOptional:s!=null}),s?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(r.push({paramName:"*"}),o+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?o+="\\/*$":e!==""&&e!=="/"&&(o+="(?:(?=\\/|$))"),[new RegExp(o,t?void 0:"i"),r]}function Z1(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return nh(!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 hu(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 q1(e,t){t===void 0&&(t="/");let{pathname:n,search:r="",hash:o=""}=typeof e=="string"?dr(e):e;return{pathname:n?n.startsWith("/")?n:J1(n,t):t,search:nv(r),hash:rv(o)}}function J1(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(o=>{o===".."?n.length>1&&n.pop():o!=="."&&n.push(o)}),n.length>1?n.join("/"):"/"}function ta(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 ev(e){return e.filter((t,n)=>n===0||t.route.path&&t.route.path.length>0)}function ih(e,t){let n=ev(e);return t?n.map((r,o)=>o===e.length-1?r.pathname:r.pathnameBase):n.map(r=>r.pathnameBase)}function lh(e,t,n,r){r===void 0&&(r=!1);let o;typeof e=="string"?o=dr(e):(o=oo({},e),oe(!o.pathname||!o.pathname.includes("?"),ta("?","pathname","search",o)),oe(!o.pathname||!o.pathname.includes("#"),ta("#","pathname","hash",o)),oe(!o.search||!o.search.includes("#"),ta("#","search","hash",o)));let i=e===""||o.pathname==="",l=i?"/":o.pathname,a;if(l==null)a=n;else{let h=t.length-1;if(!r&&l.startsWith("..")){let g=l.split("/");for(;g[0]==="..";)g.shift(),h-=1;o.pathname=g.join("/")}a=h>=0?t[h]:"/"}let s=q1(o,a),c=l&&l!=="/"&&l.endsWith("/"),f=(i||l===".")&&n.endsWith("/");return!s.pathname.endsWith("/")&&(c||f)&&(s.pathname+="/"),s}const Xt=e=>e.join("/").replace(/\/\/+/g,"/"),tv=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),nv=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,rv=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;function ov(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}const ah=["post","put","patch","delete"];new Set(ah);const iv=["get",...ah];new Set(iv);/** * React Router v6.23.1 * * Copyright (c) Remix Software Inc. * * This source code is licensed under the MIT license found in the * LICENSE.md file in the root directory of this source tree. * * @license MIT */function io(){return io=Object.assign?Object.assign.bind():function(e){for(var t=1;t{a.current=!0}),P.useCallback(function(c,f){if(f===void 0&&(f={}),!a.current)return;if(typeof c=="number"){r.go(c);return}let h=lh(c,JSON.parse(l),i,f.relative==="path");e==null&&t!=="/"&&(h.pathname=h.pathname==="/"?t:Xt([t,h.pathname])),(f.replace?r.replace:r.push)(h,f.state,f)},[t,r,l,i,e])}function ch(e,t){let{relative:n}=t===void 0?{}:t,{future:r}=P.useContext(Cn),{matches:o}=P.useContext(Pn),{pathname:i}=hl(),l=JSON.stringify(ih(o,r.v7_relativeSplatPath));return P.useMemo(()=>lh(e,JSON.parse(l),i,n==="path"),[e,l,i,n])}function cv(e,t){return dv(e,t)}function dv(e,t,n,r){po()||oe(!1);let{navigator:o}=P.useContext(Cn),{matches:i}=P.useContext(Pn),l=i[i.length-1],a=l?l.params:{};l&&l.pathname;let s=l?l.pathnameBase:"/";l&&l.route;let c=hl(),f;if(t){var h;let C=typeof t=="string"?dr(t):t;s==="/"||(h=C.pathname)!=null&&h.startsWith(s)||oe(!1),f=C}else f=c;let g=f.pathname||"/",v=g;if(s!=="/"){let C=s.replace(/^\//,"").split("/");v="/"+g.replace(/^\//,"").split("/").slice(C.length).join("/")}let x=$1(e,{pathname:v}),w=gv(x&&x.map(C=>Object.assign({},C,{params:Object.assign({},a,C.params),pathname:Xt([s,o.encodeLocation?o.encodeLocation(C.pathname).pathname:C.pathname]),pathnameBase:C.pathnameBase==="/"?s:Xt([s,o.encodeLocation?o.encodeLocation(C.pathnameBase).pathname:C.pathnameBase])})),i,n,r);return t&&w?P.createElement(pl.Provider,{value:{location:io({pathname:"/",search:"",hash:"",state:null,key:"default"},f),navigationType:Bt.Pop}},w):w}function fv(){let e=wv(),t=ov(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,o={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};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:o},n):null,null)}const pv=P.createElement(fv,null);class hv 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(Pn.Provider,{value:this.props.routeContext},P.createElement(sh.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function mv(e){let{routeContext:t,match:n,children:r}=e,o=P.useContext(mu);return o&&o.static&&o.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(o.staticContext._deepestRenderedBoundaryId=n.route.id),P.createElement(Pn.Provider,{value:t},r)}function gv(e,t,n,r){var o;if(t===void 0&&(t=[]),n===void 0&&(n=null),r===void 0&&(r=null),e==null){var i;if((i=n)!=null&&i.errors)e=n.matches;else return null}let l=e,a=(o=n)==null?void 0:o.errors;if(a!=null){let f=l.findIndex(h=>h.route.id&&(a==null?void 0:a[h.route.id])!==void 0);f>=0||oe(!1),l=l.slice(0,Math.min(l.length,f+1))}let s=!1,c=-1;if(n&&r&&r.v7_partialHydration)for(let f=0;f=0?l=l.slice(0,c+1):l=[l[0]];break}}}return l.reduceRight((f,h,g)=>{let v,x=!1,w=null,C=null;n&&(v=a&&h.route.id?a[h.route.id]:void 0,w=h.route.errorElement||pv,s&&(c<0&&g===0?(x=!0,C=null):c===g&&(x=!0,C=h.route.hydrateFallbackElement||null)));let p=t.concat(l.slice(0,g+1)),d=()=>{let m;return v?m=w:x?m=C:h.route.Component?m=P.createElement(h.route.Component,null):h.route.element?m=h.route.element:m=f,P.createElement(mv,{match:h,routeContext:{outlet:f,matches:p,isDataRoute:n!=null},children:m})};return n&&(h.route.ErrorBoundary||h.route.errorElement||g===0)?P.createElement(hv,{location:n.location,revalidation:n.revalidation,component:w,error:v,children:d(),routeContext:{outlet:null,matches:p,isDataRoute:!0}}):d()},null)}var dh=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(dh||{}),Wi=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}(Wi||{});function vv(e){let t=P.useContext(mu);return t||oe(!1),t}function yv(e){let t=P.useContext(lv);return t||oe(!1),t}function xv(e){let t=P.useContext(Pn);return t||oe(!1),t}function fh(e){let t=xv(),n=t.matches[t.matches.length-1];return n.route.id||oe(!1),n.route.id}function wv(){var e;let t=P.useContext(sh),n=yv(Wi.UseRouteError),r=fh(Wi.UseRouteError);return t!==void 0?t:(e=n.errors)==null?void 0:e[r]}function kv(){let{router:e}=vv(dh.UseNavigateStable),t=fh(Wi.UseNavigateStable),n=P.useRef(!1);return uh(()=>{n.current=!0}),P.useCallback(function(o,i){i===void 0&&(i={}),n.current&&(typeof o=="number"?e.navigate(o):e.navigate(o,io({fromRouteId:t},i)))},[e,t])}function ph(e){oe(!1)}function bv(e){let{basename:t="/",children:n=null,location:r,navigationType:o=Bt.Pop,navigator:i,static:l=!1,future:a}=e;po()&&oe(!1);let s=t.replace(/^\/*/,"/"),c=P.useMemo(()=>({basename:s,navigator:i,static:l,future:io({v7_relativeSplatPath:!1},a)}),[s,a,i,l]);typeof r=="string"&&(r=dr(r));let{pathname:f="/",search:h="",hash:g="",state:v=null,key:x="default"}=r,w=P.useMemo(()=>{let C=hu(f,s);return C==null?null:{location:{pathname:C,search:h,hash:g,state:v,key:x},navigationType:o}},[s,f,h,g,v,x,o]);return w==null?null:P.createElement(Cn.Provider,{value:c},P.createElement(pl.Provider,{children:n,value:w}))}function Sv(e){let{children:t,location:n}=e;return cv(as(t),n)}new Promise(()=>{});function as(e,t){t===void 0&&(t=[]);let n=[];return P.Children.forEach(e,(r,o)=>{if(!P.isValidElement(r))return;let i=[...t,o];if(r.type===P.Fragment){n.push.apply(n,as(r.props.children,i));return}r.type!==ph&&oe(!1),!r.props.index||!r.props.children||oe(!1);let l={id:r.props.id||i.join("-"),caseSensitive:r.props.caseSensitive,element:r.props.element,Component:r.props.Component,index:r.props.index,path:r.props.path,loader:r.props.loader,action:r.props.action,errorElement:r.props.errorElement,ErrorBoundary:r.props.ErrorBoundary,hasErrorBoundary:r.props.ErrorBoundary!=null||r.props.errorElement!=null,shouldRevalidate:r.props.shouldRevalidate,handle:r.props.handle,lazy:r.props.lazy};r.props.children&&(l.children=as(r.props.children,i)),n.push(l)}),n}/** * React Router DOM v6.23.1 * * Copyright (c) Remix Software Inc. * * This source code is licensed under the MIT license found in the * LICENSE.md file in the root directory of this source tree. * * @license MIT */function ss(){return ss=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&(n[o]=e[o]);return n}function Ev(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function Cv(e,t){return e.button===0&&(!t||t==="_self")&&!Ev(e)}const Pv=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","unstable_viewTransition"],jv="6";try{window.__reactRouterVersion=jv}catch{}const Nv="startTransition",Wc=_m[Nv];function Tv(e){let{basename:t,children:n,future:r,window:o}=e,i=P.useRef();i.current==null&&(i.current=M1({window:o,v5Compat:!0}));let l=i.current,[a,s]=P.useState({action:l.action,location:l.location}),{v7_startTransition:c}=r||{},f=P.useCallback(h=>{c&&Wc?Wc(()=>s(h)):s(h)},[s,c]);return P.useLayoutEffect(()=>l.listen(f),[l,f]),P.createElement(bv,{basename:t,children:n,location:a.location,navigationType:a.action,navigator:l,future:r})}const Lv=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",zv=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,ho=P.forwardRef(function(t,n){let{onClick:r,relative:o,reloadDocument:i,replace:l,state:a,target:s,to:c,preventScrollReset:f,unstable_viewTransition:h}=t,g=_v(t,Pv),{basename:v}=P.useContext(Cn),x,w=!1;if(typeof c=="string"&&zv.test(c)&&(x=c,Lv))try{let m=new URL(window.location.href),y=c.startsWith("//")?new URL(m.protocol+c):new URL(c),_=hu(y.pathname,v);y.origin===m.origin&&_!=null?c=_+y.search+y.hash:w=!0}catch{}let C=av(c,{relative:o}),p=Iv(c,{replace:l,state:a,target:s,preventScrollReset:f,relative:o,unstable_viewTransition:h});function d(m){r&&r(m),m.defaultPrevented||p(m)}return P.createElement("a",ss({},g,{href:x||C,onClick:w||i?r:d,ref:n,target:s}))});var Vc;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(Vc||(Vc={}));var Qc;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(Qc||(Qc={}));function Iv(e,t){let{target:n,replace:r,state:o,preventScrollReset:i,relative:l,unstable_viewTransition:a}=t===void 0?{}:t,s=sv(),c=hl(),f=ch(e,{relative:l});return P.useCallback(h=>{if(Cv(h,n)){h.preventDefault();let g=r!==void 0?r:Hi(c)===Hi(f);s(e,{replace:g,state:o,preventScrollReset:i,relative:l,unstable_viewTransition:a})}},[c,s,f,r,o,n,e,i,l,a])}var Ee=function(){return Ee=Object.assign||function(t){for(var n,r=1,o=arguments.length;r0?se(fr,--Ke):0,or--,ne===10&&(or=1,gl--),ne}function rt(){return ne=Ke2||cs(ne)>3?"":" "}function Hv(e,t){for(;--t&&rt()&&!(ne<48||ne>102||ne>57&&ne<65||ne>70&&ne<97););return yl(e,hi()+(t<6&&vn()==32&&rt()==32))}function ds(e){for(;rt();)switch(ne){case e:return Ke;case 34:case 39:e!==34&&e!==39&&ds(ne);break;case 40:e===41&&ds(e);break;case 92:rt();break}return Ke}function Wv(e,t){for(;rt()&&e+ne!==57;)if(e+ne===84&&vn()===47)break;return"/*"+yl(t,Ke-1)+"*"+vu(e===47?e:rt())}function Vv(e){for(;!cs(vn());)rt();return yl(e,Ke)}function Qv(e){return Bv(mi("",null,null,null,[""],e=Av(e),0,[0],e))}function mi(e,t,n,r,o,i,l,a,s){for(var c=0,f=0,h=l,g=0,v=0,x=0,w=1,C=1,p=1,d=0,m="",y=o,_=i,b=r,S=m;C;)switch(x=d,d=rt()){case 40:if(x!=108&&se(S,h-1)==58){pi(S+=O(na(d),"&","&\f"),"&\f",gh(c?a[c-1]:0))!=-1&&(p=-1);break}case 34:case 39:case 91:S+=na(d);break;case 9:case 10:case 13:case 32:S+=Uv(x);break;case 92:S+=Hv(hi()-1,7);continue;case 47:switch(vn()){case 42:case 47:Tr(Gv(Wv(rt(),hi()),t,n,s),s);break;default:S+="/"}break;case 123*w:a[c++]=ut(S)*p;case 125*w:case 59:case 0:switch(d){case 0:case 125:C=0;case 59+f:p==-1&&(S=O(S,/\f/g,"")),v>0&&ut(S)-h&&Tr(v>32?Kc(S+";",r,n,h-1,s):Kc(O(S," ","")+";",r,n,h-2,s),s);break;case 59:S+=";";default:if(Tr(b=Yc(S,t,n,c,f,o,a,m,y=[],_=[],h,i),i),d===123)if(f===0)mi(S,t,b,b,y,i,h,a,_);else switch(g===99&&se(S,3)===110?100:g){case 100:case 108:case 109:case 115:mi(e,b,b,r&&Tr(Yc(e,b,b,0,0,o,a,m,o,y=[],h,_),_),o,_,h,a,r?y:_);break;default:mi(S,b,b,b,[""],_,0,a,_)}}c=f=v=0,w=p=1,m=S="",h=l;break;case 58:h=1+ut(S),v=x;default:if(w<1){if(d==123)--w;else if(d==125&&w++==0&&Fv()==125)continue}switch(S+=vu(d),d*w){case 38:p=f>0?1:(S+="\f",-1);break;case 44:a[c++]=(ut(S)-1)*p,p=1;break;case 64:vn()===45&&(S+=na(rt())),g=vn(),f=h=ut(m=S+=Vv(hi())),d++;break;case 45:x===45&&ut(S)==2&&(w=0)}}return i}function Yc(e,t,n,r,o,i,l,a,s,c,f,h){for(var g=o-1,v=o===0?i:[""],x=yh(v),w=0,C=0,p=0;w0?v[d]+" "+m:O(m,/&\f/g,v[d])))&&(s[p++]=y);return vl(e,t,n,o===0?ml:a,s,c,f,h)}function Gv(e,t,n,r){return vl(e,t,n,hh,vu($v()),rr(e,2,-2),0,r)}function Kc(e,t,n,r,o){return vl(e,t,n,gu,rr(e,0,r),rr(e,r+1,-1),r,o)}function wh(e,t,n){switch(Rv(e,t)){case 5103:return $+"print-"+e+e;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return $+e+e;case 4789:return Ar+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return $+e+Ar+e+W+e+e;case 5936:switch(se(e,t+11)){case 114:return $+e+W+O(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return $+e+W+O(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return $+e+W+O(e,/[svh]\w+-[tblr]{2}/,"lr")+e}case 6828:case 4268:case 2903:return $+e+W+e+e;case 6165:return $+e+W+"flex-"+e+e;case 5187:return $+e+O(e,/(\w+).+(:[^]+)/,$+"box-$1$2"+W+"flex-$1$2")+e;case 5443:return $+e+W+"flex-item-"+O(e,/flex-|-self/g,"")+(xt(e,/flex-|baseline/)?"":W+"grid-row-"+O(e,/flex-|-self/g,""))+e;case 4675:return $+e+W+"flex-line-pack"+O(e,/align-content|flex-|-self/g,"")+e;case 5548:return $+e+W+O(e,"shrink","negative")+e;case 5292:return $+e+W+O(e,"basis","preferred-size")+e;case 6060:return $+"box-"+O(e,"-grow","")+$+e+W+O(e,"grow","positive")+e;case 4554:return $+O(e,/([^-])(transform)/g,"$1"+$+"$2")+e;case 6187:return O(O(O(e,/(zoom-|grab)/,$+"$1"),/(image-set)/,$+"$1"),e,"")+e;case 5495:case 3959:return O(e,/(image-set\([^]*)/,$+"$1$`$1");case 4968:return O(O(e,/(.+:)(flex-)?(.*)/,$+"box-pack:$3"+W+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+$+e+e;case 4200:if(!xt(e,/flex-|baseline/))return W+"grid-column-align"+rr(e,t)+e;break;case 2592:case 3360:return W+O(e,"template-","")+e;case 4384:case 3616:return n&&n.some(function(r,o){return t=o,xt(r.props,/grid-\w+-end/)})?~pi(e+(n=n[t].value),"span",0)?e:W+O(e,"-start","")+e+W+"grid-row-span:"+(~pi(n,"span",0)?xt(n,/\d+/):+xt(n,/\d+/)-+xt(e,/\d+/))+";":W+O(e,"-start","")+e;case 4896:case 4128:return n&&n.some(function(r){return xt(r.props,/grid-\w+-start/)})?e:W+O(O(e,"-end","-span"),"span ","")+e;case 4095:case 3583:case 4068:case 2532:return O(e,/(.+)-inline(.+)/,$+"$1$2")+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(ut(e)-1-t>6)switch(se(e,t+1)){case 109:if(se(e,t+4)!==45)break;case 102:return O(e,/(.+:)(.+)-([^]+)/,"$1"+$+"$2-$3$1"+Ar+(se(e,t+3)==108?"$3":"$2-$3"))+e;case 115:return~pi(e,"stretch",0)?wh(O(e,"stretch","fill-available"),t,n)+e:e}break;case 5152:case 5920:return O(e,/(.+?):(\d+)(\s*\/\s*(span)?\s*(\d+))?(.*)/,function(r,o,i,l,a,s,c){return W+o+":"+i+c+(l?W+o+"-span:"+(a?s:+s-+i)+c:"")+e});case 4949:if(se(e,t+6)===121)return O(e,":",":"+$)+e;break;case 6444:switch(se(e,se(e,14)===45?18:11)){case 120:return O(e,/(.+:)([^;\s!]+)(;|(\s+)?!.+)?/,"$1"+$+(se(e,14)===45?"inline-":"")+"box$3$1"+$+"$2$3$1"+W+"$2box$3")+e;case 100:return O(e,":",":"+W)+e}break;case 5719:case 2647:case 2135:case 3927:case 2391:return O(e,"scroll-","scroll-snap-")+e}return e}function Qi(e,t){for(var n="",r=0;r-1&&!e.return)switch(e.type){case gu:e.return=wh(e.value,e.length,n);return;case mh:return Qi([Ot(e,{value:O(e.value,"@","@"+$)})],r);case ml:if(e.length)return Dv(n=e.props,function(o){switch(xt(o,r=/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":Nn(Ot(e,{props:[O(o,/:(read-\w+)/,":"+Ar+"$1")]})),Nn(Ot(e,{props:[o]})),us(e,{props:Gc(n,r)});break;case"::placeholder":Nn(Ot(e,{props:[O(o,/:(plac\w+)/,":"+$+"input-$1")]})),Nn(Ot(e,{props:[O(o,/:(plac\w+)/,":"+Ar+"$1")]})),Nn(Ot(e,{props:[O(o,/:(plac\w+)/,W+"input-$1")]})),Nn(Ot(e,{props:[o]})),us(e,{props:Gc(n,r)});break}return""})}}var qv={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},Me={},ir=typeof process<"u"&&Me!==void 0&&(Me.REACT_APP_SC_ATTR||Me.SC_ATTR)||"data-styled",kh="active",bh="data-styled-version",xl="6.1.11",yu=`/*!sc*/ `,xu=typeof window<"u"&&"HTMLElement"in window,Jv=!!(typeof SC_DISABLE_SPEEDY=="boolean"?SC_DISABLE_SPEEDY:typeof process<"u"&&Me!==void 0&&Me.REACT_APP_SC_DISABLE_SPEEDY!==void 0&&Me.REACT_APP_SC_DISABLE_SPEEDY!==""?Me.REACT_APP_SC_DISABLE_SPEEDY!=="false"&&Me.REACT_APP_SC_DISABLE_SPEEDY:typeof process<"u"&&Me!==void 0&&Me.SC_DISABLE_SPEEDY!==void 0&&Me.SC_DISABLE_SPEEDY!==""&&Me.SC_DISABLE_SPEEDY!=="false"&&Me.SC_DISABLE_SPEEDY),wl=Object.freeze([]),lr=Object.freeze({});function e0(e,t,n){return n===void 0&&(n=lr),e.theme!==n.theme&&e.theme||t||n.theme}var Sh=new Set(["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","track","u","ul","use","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","marker","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","tspan"]),t0=/[!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~-]+/g,n0=/(^-|-$)/g;function Xc(e){return e.replace(t0,"-").replace(n0,"")}var r0=/(a)(d)/gi,Ho=52,Zc=function(e){return String.fromCharCode(e+(e>25?39:97))};function fs(e){var t,n="";for(t=Math.abs(e);t>Ho;t=t/Ho|0)n=Zc(t%Ho)+n;return(Zc(t%Ho)+n).replace(r0,"$1-$2")}var ra,_h=5381,Hn=function(e,t){for(var n=t.length;n;)e=33*e^t.charCodeAt(--n);return e},Eh=function(e){return Hn(_h,e)};function o0(e){return fs(Eh(e)>>>0)}function i0(e){return e.displayName||e.name||"Component"}function oa(e){return typeof e=="string"&&!0}var Ch=typeof Symbol=="function"&&Symbol.for,Ph=Ch?Symbol.for("react.memo"):60115,l0=Ch?Symbol.for("react.forward_ref"):60112,a0={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},s0={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},jh={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},u0=((ra={})[l0]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},ra[Ph]=jh,ra);function qc(e){return("type"in(t=e)&&t.type.$$typeof)===Ph?jh:"$$typeof"in e?u0[e.$$typeof]:a0;var t}var c0=Object.defineProperty,d0=Object.getOwnPropertyNames,Jc=Object.getOwnPropertySymbols,f0=Object.getOwnPropertyDescriptor,p0=Object.getPrototypeOf,ed=Object.prototype;function Nh(e,t,n){if(typeof t!="string"){if(ed){var r=p0(t);r&&r!==ed&&Nh(e,r,n)}var o=d0(t);Jc&&(o=o.concat(Jc(t)));for(var i=qc(e),l=qc(t),a=0;a0?" Args: ".concat(t.join(", ")):""))}var h0=function(){function e(t){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=t}return e.prototype.indexOfGroup=function(t){for(var n=0,r=0;r=this.groupSizes.length){for(var r=this.groupSizes,o=r.length,i=o;t>=i;)if((i<<=1)<0)throw mo(16,"".concat(t));this.groupSizes=new Uint32Array(i),this.groupSizes.set(r),this.length=i;for(var l=o;l=this.length||this.groupSizes[t]===0)return n;for(var r=this.groupSizes[t],o=this.indexOfGroup(t),i=o+r,l=o;l=0){var r=document.createTextNode(n);return this.element.insertBefore(r,this.nodes[t]||null),this.length++,!0}return!1},e.prototype.deleteRule=function(t){this.element.removeChild(this.nodes[t]),this.length--},e.prototype.getRule=function(t){return t0&&(C+="".concat(p,","))}),s+="".concat(x).concat(w,'{content:"').concat(C,'"}').concat(yu)},f=0;f0?".".concat(t):g},f=s.slice();f.push(function(g){g.type===ml&&g.value.includes("&")&&(g.props[0]=g.props[0].replace(E0,n).replace(r,c))}),l.prefix&&f.push(Zv),f.push(Yv);var h=function(g,v,x,w){v===void 0&&(v=""),x===void 0&&(x=""),w===void 0&&(w="&"),t=w,n=v,r=new RegExp("\\".concat(n,"\\b"),"g");var C=g.replace(C0,""),p=Qv(x||v?"".concat(x," ").concat(v," { ").concat(C," }"):C);l.namespace&&(p=zh(p,l.namespace));var d=[];return Qi(p,Kv(f.concat(Xv(function(m){return d.push(m)})))),d};return h.hash=s.length?s.reduce(function(g,v){return v.name||mo(15),Hn(g,v.name)},_h).toString():"",h}var j0=new Lh,hs=P0(),Ih=Ce.createContext({shouldForwardProp:void 0,styleSheet:j0,stylis:hs});Ih.Consumer;Ce.createContext(void 0);function rd(){return P.useContext(Ih)}var N0=function(){function e(t,n){var r=this;this.inject=function(o,i){i===void 0&&(i=hs);var l=r.name+i.hash;o.hasNameForId(r.id,l)||o.insertRules(r.id,l,i(r.rules,l,"@keyframes"))},this.name=t,this.id="sc-keyframes-".concat(t),this.rules=n,ku(this,function(){throw mo(12,String(r.name))})}return e.prototype.getName=function(t){return t===void 0&&(t=hs),this.name+t.hash},e}(),T0=function(e){return e>="A"&&e<="Z"};function od(e){for(var t="",n=0;n>>0);if(!n.hasNameForId(this.componentId,l)){var a=r(i,".".concat(l),void 0,this.componentId);n.insertRules(this.componentId,l,a)}o=hn(o,l),this.staticRulesId=l}else{for(var s=Hn(this.baseHash,r.hash),c="",f=0;f>>0);n.hasNameForId(this.componentId,v)||n.insertRules(this.componentId,v,r(c,".".concat(v),void 0,this.componentId)),o=hn(o,v)}}return o},e}(),Rh=Ce.createContext(void 0);Rh.Consumer;var ia={};function O0(e,t,n){var r=wu(e),o=e,i=!oa(e),l=t.attrs,a=l===void 0?wl:l,s=t.componentId,c=s===void 0?function(y,_){var b=typeof y!="string"?"sc":Xc(y);ia[b]=(ia[b]||0)+1;var S="".concat(b,"-").concat(o0(xl+b+ia[b]));return _?"".concat(_,"-").concat(S):S}(t.displayName,t.parentComponentId):s,f=t.displayName,h=f===void 0?function(y){return oa(y)?"styled.".concat(y):"Styled(".concat(i0(y),")")}(e):f,g=t.displayName&&t.componentId?"".concat(Xc(t.displayName),"-").concat(t.componentId):t.componentId||c,v=r&&o.attrs?o.attrs.concat(a).filter(Boolean):a,x=t.shouldForwardProp;if(r&&o.shouldForwardProp){var w=o.shouldForwardProp;if(t.shouldForwardProp){var C=t.shouldForwardProp;x=function(y,_){return w(y,_)&&C(y,_)}}else x=w}var p=new I0(n,g,r?o.componentStyle:void 0);function d(y,_){return function(b,S,j){var D=b.attrs,I=b.componentStyle,pe=b.defaultProps,it=b.foldedComponentIds,mt=b.styledComponentId,nn=b.target,hr=Ce.useContext(Rh),mr=rd(),rn=b.shouldForwardProp||mr.shouldForwardProp,N=e0(S,hr,pe)||lr,L=function(Nt,Te,gt){for(var gr,ln=Ee(Ee({},Te),{className:void 0,theme:gt}),jl=0;jl=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function V0(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function Yi(){return Yi=Object.assign?Object.assign.bind():function(e){for(var t=1;tCe.createElement(t.tag,Ki({key:n},t.attr),Fh(t.child)))}function go(e){return t=>Ce.createElement(K0,Yi({attr:Ki({},e.attr)},t),Fh(e.child))}function K0(e){var t=n=>{var{attr:r,size:o,title:i}=e,l=W0(e,H0),a=o||n.size||"1em",s;return n.className&&(s=n.className),e.className&&(s=(s?s+" ":"")+e.className),Ce.createElement("svg",Yi({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},n.attr,r,l,{className:s,style:Ki(Ki({color:e.color||n.color},n.style),e.style),height:a,width:a,xmlns:"http://www.w3.org/2000/svg"}),i&&Ce.createElement("title",null,i),e.children)};return gs!==void 0?Ce.createElement(gs.Consumer,null,n=>t(n)):t($h)}function X0(e){return go({tag:"svg",attr:{viewBox:"0 0 496 512"},child:[{tag:"path",attr:{d:"M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"},child:[]}]})(e)}function Z0(e){return go({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"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"},child:[]}]})(e)}function q0(e){return go({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M16 132h416c8.837 0 16-7.163 16-16V76c0-8.837-7.163-16-16-16H16C7.163 60 0 67.163 0 76v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z"},child:[]}]})(e)}function J0(e){return go({tag:"svg",attr:{viewBox:"0 0 352 512"},child:[{tag:"path",attr:{d:"M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z"},child:[]}]})(e)}function ey(e){return go({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm297.1 84L257.3 234.6 379.4 396H283.8L209 298.1 123.3 396H75.8l111-126.9L69.7 116h98l67.7 89.5L313.6 116h47.5zM323.3 367.6L153.4 142.9H125.1L296.9 367.6h26.3z"},child:[]}]})(e)}var J={},bu={},vo={},yo={},Ah="Expected a function",ud=NaN,ty="[object Symbol]",ny=/^\s+|\s+$/g,ry=/^[-+]0x[0-9a-f]+$/i,oy=/^0b[01]+$/i,iy=/^0o[0-7]+$/i,ly=parseInt,ay=typeof Eo=="object"&&Eo&&Eo.Object===Object&&Eo,sy=typeof self=="object"&&self&&self.Object===Object&&self,uy=ay||sy||Function("return this")(),cy=Object.prototype,dy=cy.toString,fy=Math.max,py=Math.min,la=function(){return uy.Date.now()};function hy(e,t,n){var r,o,i,l,a,s,c=0,f=!1,h=!1,g=!0;if(typeof e!="function")throw new TypeError(Ah);t=cd(t)||0,Xi(n)&&(f=!!n.leading,h="maxWait"in n,i=h?fy(cd(n.maxWait)||0,t):i,g="trailing"in n?!!n.trailing:g);function v(b){var S=r,j=o;return r=o=void 0,c=b,l=e.apply(j,S),l}function x(b){return c=b,a=setTimeout(p,t),f?v(b):l}function w(b){var S=b-s,j=b-c,D=t-S;return h?py(D,i-j):D}function C(b){var S=b-s,j=b-c;return s===void 0||S>=t||S<0||h&&j>=i}function p(){var b=la();if(C(b))return d(b);a=setTimeout(p,w(b))}function d(b){return a=void 0,g&&r?v(b):(r=o=void 0,l)}function m(){a!==void 0&&clearTimeout(a),c=0,r=s=o=a=void 0}function y(){return a===void 0?l:d(la())}function _(){var b=la(),S=C(b);if(r=arguments,o=this,s=b,S){if(a===void 0)return x(s);if(h)return a=setTimeout(p,t),v(s)}return a===void 0&&(a=setTimeout(p,t)),l}return _.cancel=m,_.flush=y,_}function my(e,t,n){var r=!0,o=!0;if(typeof e!="function")throw new TypeError(Ah);return Xi(n)&&(r="leading"in n?!!n.leading:r,o="trailing"in n?!!n.trailing:o),hy(e,t,{leading:r,maxWait:t,trailing:o})}function Xi(e){var t=typeof e;return!!e&&(t=="object"||t=="function")}function gy(e){return!!e&&typeof e=="object"}function vy(e){return typeof e=="symbol"||gy(e)&&dy.call(e)==ty}function cd(e){if(typeof e=="number")return e;if(vy(e))return ud;if(Xi(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=Xi(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=e.replace(ny,"");var n=oy.test(e);return n||iy.test(e)?ly(e.slice(2),n?2:8):ry.test(e)?ud:+e}var yy=my,xo={};Object.defineProperty(xo,"__esModule",{value:!0});xo.addPassiveEventListener=function(t,n,r){var o=r.name;o||(o=n,console.warn("Listener must be a named function.")),yi.has(n)||yi.set(n,new Set);var i=yi.get(n);if(!i.has(o)){var l=function(){var a=!1;try{var s=Object.defineProperty({},"passive",{get:function(){a=!0}});window.addEventListener("test",null,s)}catch{}return a}();t.addEventListener(n,r,l?{passive:!0}:!1),i.add(o)}};xo.removePassiveEventListener=function(t,n,r){t.removeEventListener(n,r),yi.get(n).delete(r.name||n)};var yi=new Map;Object.defineProperty(yo,"__esModule",{value:!0});var xy=yy,wy=by(xy),ky=xo;function by(e){return e&&e.__esModule?e:{default:e}}var Sy=function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:66;return(0,wy.default)(t,n)},Y={spyCallbacks:[],spySetState:[],scrollSpyContainers:[],mount:function(t,n){if(t){var r=Sy(function(o){Y.scrollHandler(t)},n);Y.scrollSpyContainers.push(t),(0,ky.addPassiveEventListener)(t,"scroll",r)}},isMounted:function(t){return Y.scrollSpyContainers.indexOf(t)!==-1},currentPositionX:function(t){if(t===document){var n=window.pageYOffset!==void 0,r=(document.compatMode||"")==="CSS1Compat";return n?window.pageXOffset:r?document.documentElement.scrollLeft:document.body.scrollLeft}else return t.scrollLeft},currentPositionY:function(t){if(t===document){var n=window.pageXOffset!==void 0,r=(document.compatMode||"")==="CSS1Compat";return n?window.pageYOffset:r?document.documentElement.scrollTop:document.body.scrollTop}else return t.scrollTop},scrollHandler:function(t){var n=Y.scrollSpyContainers[Y.scrollSpyContainers.indexOf(t)].spyCallbacks||[];n.forEach(function(r){return r(Y.currentPositionX(t),Y.currentPositionY(t))})},addStateHandler:function(t){Y.spySetState.push(t)},addSpyHandler:function(t,n){var r=Y.scrollSpyContainers[Y.scrollSpyContainers.indexOf(n)];r.spyCallbacks||(r.spyCallbacks=[]),r.spyCallbacks.push(t),t(Y.currentPositionX(n),Y.currentPositionY(n))},updateStates:function(){Y.spySetState.forEach(function(t){return t()})},unmount:function(t,n){Y.scrollSpyContainers.forEach(function(r){return r.spyCallbacks&&r.spyCallbacks.length&&r.spyCallbacks.indexOf(n)>-1&&r.spyCallbacks.splice(r.spyCallbacks.indexOf(n),1)}),Y.spySetState&&Y.spySetState.length&&Y.spySetState.indexOf(t)>-1&&Y.spySetState.splice(Y.spySetState.indexOf(t),1),document.removeEventListener("scroll",Y.scrollHandler)},update:function(){return Y.scrollSpyContainers.forEach(function(t){return Y.scrollHandler(t)})}};yo.default=Y;var pr={},wo={};Object.defineProperty(wo,"__esModule",{value:!0});var _y=function(t,n){var r=t.indexOf("#")===0?t.substring(1):t,o=r?"#"+r:"",i=window&&window.location,l=o?i.pathname+i.search+o:i.pathname+i.search;n?history.pushState(history.state,"",l):history.replaceState(history.state,"",l)},Ey=function(){return window.location.hash.replace(/^#/,"")},Cy=function(t){return function(n){return t.contains?t!=n&&t.contains(n):!!(t.compareDocumentPosition(n)&16)}},Py=function(t){return getComputedStyle(t).position!=="static"},aa=function(t,n){for(var r=t.offsetTop,o=t.offsetParent;o&&!n(o);)r+=o.offsetTop,o=o.offsetParent;return{offsetTop:r,offsetParent:o}},jy=function(t,n,r){if(r)return t===document?n.getBoundingClientRect().left+(window.scrollX||window.pageXOffset):getComputedStyle(t).position!=="static"?n.offsetLeft:n.offsetLeft-t.offsetLeft;if(t===document)return n.getBoundingClientRect().top+(window.scrollY||window.pageYOffset);if(Py(t)){if(n.offsetParent!==t){var o=function(f){return f===t||f===document},i=aa(n,o),l=i.offsetTop,a=i.offsetParent;if(a!==t)throw new Error("Seems containerElement is not an ancestor of the Element");return l}return n.offsetTop}if(n.offsetParent===t.offsetParent)return n.offsetTop-t.offsetTop;var s=function(f){return f===document};return aa(n,s).offsetTop-aa(t,s).offsetTop};wo.default={updateHash:_y,getHash:Ey,filterElementInContainer:Cy,scrollOffset:jy};var kl={},Su={};Object.defineProperty(Su,"__esModule",{value:!0});Su.default={defaultEasing:function(t){return t<.5?Math.pow(t*2,2)/2:1-Math.pow((1-t)*2,2)/2},linear:function(t){return t},easeInQuad:function(t){return t*t},easeOutQuad:function(t){return t*(2-t)},easeInOutQuad:function(t){return t<.5?2*t*t:-1+(4-2*t)*t},easeInCubic:function(t){return t*t*t},easeOutCubic:function(t){return--t*t*t+1},easeInOutCubic:function(t){return t<.5?4*t*t*t:(t-1)*(2*t-2)*(2*t-2)+1},easeInQuart:function(t){return t*t*t*t},easeOutQuart:function(t){return 1- --t*t*t*t},easeInOutQuart:function(t){return t<.5?8*t*t*t*t:1-8*--t*t*t*t},easeInQuint:function(t){return t*t*t*t*t},easeOutQuint:function(t){return 1+--t*t*t*t*t},easeInOutQuint:function(t){return t<.5?16*t*t*t*t*t:1+16*--t*t*t*t*t}};var _u={};Object.defineProperty(_u,"__esModule",{value:!0});var Ny=xo,Ty=["mousedown","mousewheel","touchmove","keydown"];_u.default={subscribe:function(t){return typeof document<"u"&&Ty.forEach(function(n){return(0,Ny.addPassiveEventListener)(document,n,t)})}};var ko={};Object.defineProperty(ko,"__esModule",{value:!0});var vs={registered:{},scrollEvent:{register:function(t,n){vs.registered[t]=n},remove:function(t){vs.registered[t]=null}}};ko.default=vs;Object.defineProperty(kl,"__esModule",{value:!0});var Ly=Object.assign||function(e){for(var t=1;t=o.duration?1:t(o.progress/o.duration),o.currentPosition=o.startPosition+Math.ceil(o.delta*o.percent),o.containerElement&&o.containerElement!==document&&o.containerElement!==document.body?n.horizontal?o.containerElement.scrollLeft=o.currentPosition:o.containerElement.scrollTop=o.currentPosition:n.horizontal?window.scrollTo(o.currentPosition,0):window.scrollTo(0,o.currentPosition),o.percent<1){var i=e.bind(null,t,n);ys.call(window,i);return}ct.default.registered.end&&ct.default.registered.end(o.to,o.target,o.currentPosition)},Eu=function(t){t.data.containerElement=t?t.containerId?document.getElementById(t.containerId):t.container&&t.container.nodeType?t.container:document:null},bo=function(t,n,r,o){n.data=n.data||Uh(),window.clearTimeout(n.data.delayTimeout);var i=function(){n.data.cancel=!0};if(My.default.subscribe(i),Eu(n),n.data.start=null,n.data.cancel=!1,n.data.startPosition=n.horizontal?Hh(n):Wh(n),n.data.targetPosition=n.absolute?t:t+n.data.startPosition,n.data.startPosition===n.data.targetPosition){ct.default.registered.end&&ct.default.registered.end(n.data.to,n.data.target,n.data.currentPosition);return}n.data.delta=Math.round(n.data.targetPosition-n.data.startPosition),n.data.duration=Dy(n.duration)(n.data.delta),n.data.duration=isNaN(parseFloat(n.data.duration))?1e3:parseFloat(n.data.duration),n.data.to=r,n.data.target=o;var l=Bh(n),a=By.bind(null,l,n);if(n&&n.delay>0){n.data.delayTimeout=window.setTimeout(function(){ct.default.registered.begin&&ct.default.registered.begin(n.data.to,n.data.target),ys.call(window,a)},n.delay);return}ct.default.registered.begin&&ct.default.registered.begin(n.data.to,n.data.target),ys.call(window,a)},Sl=function(t){return t=Ly({},t),t.data=t.data||Uh(),t.absolute=!0,t},Uy=function(t){bo(0,Sl(t))},Hy=function(t,n){bo(t,Sl(n))},Wy=function(t){t=Sl(t),Eu(t),bo(t.horizontal?Fy(t):Ay(t),t)},Vy=function(t,n){n=Sl(n),Eu(n);var r=n.horizontal?Hh(n):Wh(n);bo(t+r,n)};kl.default={animateTopScroll:bo,getAnimationType:Bh,scrollToTop:Uy,scrollToBottom:Wy,scrollTo:Hy,scrollMore:Vy};Object.defineProperty(pr,"__esModule",{value:!0});var Qy=Object.assign||function(e){for(var t=1;t=Math.floor(w)&&y=Math.floor(C)}else{var _=0,b=0,S=0;if(c.getBoundingClientRect){var j=c.getBoundingClientRect();S=j.top}if(!g||l.props.isDynamic){if(g=n.get(h),!g)return;var D=g.getBoundingClientRect();_=D.top-S+s,b=_+D.height}var I=s-l.props.offset;v=I>=Math.floor(_)&&I=Math.floor(b)}var pe=n.getActiveLink();if(x){if(h===pe&&n.setActiveLink(void 0),l.props.hashSpy&&zt.default.getHash()===h){var it=l.props.saveHashHistory,mt=it===void 0?!1:it;zt.default.changeHash("",mt)}l.props.spy&&l.state.active&&(l.setState({active:!1}),l.props.onSetInactive&&l.props.onSetInactive(h,g))}if(v&&(pe!==h||l.state.active===!1)){n.setActiveLink(h);var nn=l.props.saveHashHistory,hr=nn===void 0?!1:nn;l.props.hashSpy&&zt.default.changeHash(h,hr),l.props.spy&&(l.setState({active:!0}),l.props.onSetActive&&l.props.onSetActive(h,g))}}}};return r.propTypes=hd,r.defaultProps={offset:0},r};Object.defineProperty(bu,"__esModule",{value:!0});var mx=P,md=Yh(mx),gx=vo,vx=Yh(gx);function Yh(e){return e&&e.__esModule?e:{default:e}}function yx(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function gd(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t&&(typeof t=="object"||typeof t=="function")?t:e}function xx(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var wx=function(e){xx(t,e);function t(){var n,r,o,i;yx(this,t);for(var l=arguments.length,a=Array(l),s=0;s"u")return!1;this.registerElems(this.props.name)}},{key:"componentDidUpdate",value:function(i){this.props.name!==i.name&&this.registerElems(this.props.name)}},{key:"componentWillUnmount",value:function(){if(typeof window>"u")return!1;xd.default.unregister(this.props.name)}},{key:"registerElems",value:function(i){xd.default.register(i,this.childBindings.domNode)}},{key:"render",value:function(){return yd.default.createElement(e,Nx({},this.props,{parentBindings:this.childBindings}))}}]),r}(yd.default.Component);return t.propTypes={name:wd.default.string,id:wd.default.string},t};Object.defineProperty(ju,"__esModule",{value:!0});var kd=Object.assign||function(e){for(var t=1;t=Math.floor(g)&&p=Math.floor(v),y=r.getActiveLink();if(m)return f===y&&r.setActiveLink(void 0),a.props.hashSpy&&It.getHash()===f&&It.changeHash(),a.props.spy&&a.state.active&&(a.setState({active:!1}),a.props.onSetInactive&&a.props.onSetInactive()),an.updateStates();if(d&&y!==f)return r.setActiveLink(f),a.props.hashSpy&&It.changeHash(f),a.props.spy&&(a.setState({active:!0}),a.props.onSetActive&&a.props.onSetActive(f)),an.updateStates()}}};return o.propTypes=jd,o.defaultProps={offset:0},o},Element:function(t){console.warn("Helpers.Element is deprecated since v1.7.0");var n=function(r){Pd(o,r);function o(i){Ed(this,o);var l=Cd(this,(o.__proto__||Object.getPrototypeOf(o)).call(this,i));return l.childBindings={domNode:null},l}return _d(o,[{key:"componentDidMount",value:function(){if(typeof window>"u")return!1;this.registerElems(this.props.name)}},{key:"componentDidUpdate",value:function(l){this.props.name!==l.name&&this.registerElems(this.props.name)}},{key:"componentWillUnmount",value:function(){if(typeof window>"u")return!1;ca.unregister(this.props.name)}},{key:"registerElems",value:function(l){ca.register(l,this.childBindings.domNode)}},{key:"render",value:function(){return Ko.createElement(t,ua({},this.props,{parentBindings:this.childBindings}))}}]),o}(Ko.Component);return n.propTypes={name:K.string,id:K.string},n}},Gx=Qx;Object.defineProperty(J,"__esModule",{value:!0});J.Helpers=J.ScrollElement=J.ScrollLink=Lu=J.animateScroll=J.scrollSpy=J.Events=J.scroller=J.Element=J.Button=Tu=J.Link=void 0;var Yx=bu,Zh=ht(Yx),Kx=Pu,qh=ht(Kx),Xx=ju,Jh=ht(Xx),Zx=pr,em=ht(Zx),qx=ko,tm=ht(qx),Jx=yo,nm=ht(Jx),ew=kl,rm=ht(ew),tw=vo,om=ht(tw),nw=Cl,im=ht(nw),rw=Gx,lm=ht(rw);function ht(e){return e&&e.__esModule?e:{default:e}}var Tu=J.Link=Zh.default;J.Button=qh.default;J.Element=Jh.default;J.scroller=em.default;J.Events=tm.default;J.scrollSpy=nm.default;var Lu=J.animateScroll=rm.default;J.ScrollLink=om.default;J.ScrollElement=im.default;J.Helpers=lm.default;J.default={Link:Zh.default,Button:qh.default,Element:Jh.default,scroller:em.default,Events:tm.default,scrollSpy:nm.default,animateScroll:rm.default,ScrollLink:om.default,ScrollElement:im.default,Helpers:lm.default};const ow=["https://freepik.com/free-vector/hand-coding-concept-illustration_21864184.htm#query=coding&position=17&from_view=search&track=sph&uuid=5896d847-38e4-4cb9-8fe1-103041c7c933","https://freepik.com/free-vector/mathematics-concept-illustration_10733824.htm#query=professor&position=13&from_view=search&track=sph&uuid=5b1a188a-64c5-45af-aae2-8573bc1bed3c","https://freepik.com/free-vector/content-concept-illustration_7171429.htm#query=media&position=3&from_view=search&track=sph&uuid=c7e35cf2-d85d-4bba-91a6-1cd883dcf153","https://freepik.com/free-vector/library-concept-illustration_9148008.htm#query=library&position=40&from_view=search&track=sph&uuid=abecc792-b6b2-4ec0-b318-5e6cc73ba649"],iw=[{href:"https://twitter.com/SimonPrinceAI",icon:ey,alt:"Twitter"},{href:"https://linkedin.com/in/simon-prince-615bb9165/",icon:Z0,alt:"LinkedIn"},{href:"https://github.com/udlbook/udlbook",icon:X0,alt:"GitHub"}];function lw(){const e=()=>{Lu.scrollToTop()};return u.jsx(u.Fragment,{children:u.jsx(R0,{children:u.jsx(D0,{children:u.jsx($0,{children:u.jsxs(F0,{children:[u.jsx(A0,{to:"/udlbook",onClick:e,children:"Understanding Deep Learning"}),u.jsxs(ad,{children:["© ",new Date().getFullYear()," Simon J.D. Prince"]}),u.jsxs(ad,{children:["Images by StorySet on FreePik:"," ",ow.map((t,n)=>u.jsxs("a",{href:t,children:["[",n+1,"]"]},n))]}),u.jsx(B0,{children:iw.map((t,n)=>u.jsx(U0,{href:t.href,target:"_blank","aria-label":t.alt,alt:t.alt,children:u.jsx(t.icon,{})},n))})]})})})})})}const aw=k.div` background: #57c6d1; display: flex; justify-content: center; align-items: center; padding: 0 0px; position: static; z-index: 1; `,sw=k.div` z-index: 3; width: 100%; max-width: 1100px; position: static; padding: 8px 24px; margin: 80px 0px; display: flex; flex-direction: column; align-items: center; `;k.h1` color: #fff; font-size: 48px; text-align: center; @media screen and (max-width: 768px) { font-size: 40px; } @media screen and (max-width: 480px) { font-size: 32px; } `;k.p` margin-top: 24px; color: #fff; font-size: 24px; text-align: center; max-width: 600px; @media screen and (max-width: 768px) { font-size: 24px; } @media screen and (max-width: 480px) { font-size: 18px; } `;k.div` margin-top: 32px; display: flex; flex-direction: column; align-items: center; `;const uw=k.div` display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: top; grid-template-areas: "col1 col2"; @media screen and (max-width: 768px) { grid-template-columns: 1fr; grid-template-areas: "col2" "col1"; } `,cw=k.div` margin-left: 4px; color: #000000; font-size: 16px; margin-bottom: 16px; display: flex; justify-content: start; `,dw=k.div` width: 20%; margin-right: 20px; @media screen and (max-width: 768px) { font-size: 12px; } @media screen and (max-width: 480px) { font-size: 12px; } `,at=k.div` width: 80%; color: #000000; @media screen and (max-width: 768px) { font-size: 12px; } @media screen and (max-width: 480px) { font-size: 12px; } `,fw=k.div` margin-bottom: 15px; margin-left: 12px; margin-top: 60px; padding: 10px 15px; grid-area: col1; display: flex; flex-direction: column; justify-content: space-between; @media screen and (max-width: 768px) { margin-left: 0; margin-top: 20px; padding: 0; } `,pw=k.div` margin-bottom: 15px; padding: 0 15px; grid-area: col2; display: flex; align-items: center; flex-direction: column; @media screen and (max-width: 768px) { padding: 0; } `;k.div` max-width: 540px; padding-top: 0; padding-bottom: 0; `;const hw=k.div` max-width: 555px; height: 100%; `,mw=k.img` width: 100%; margin-top: 0; margin-right: 0; margin-left: 10px; padding-right: 0; `,gw=k.img` margin-top: 5px; margin-right: 0; margin-left: 0; padding-right: 0; margin-bottom: 10px; `,Xo=k.a` color: #fff; text-decoration: none; padding: 0.6rem 0rem 0rem 0rem; cursor: pointer; position: relative; &:before { position: absolute; margin: 0 auto; top: 100%; left: 0; width: 100%; height: 2px; background-color: #fff; content: ""; opacity: 0.3; -webkit-transform: scaleX(1); transition-property: opacity, -webkit-transform; transition-duration: 0.3s; } &:hover:before { opacity: 1; -webkit-transform: scaleX(1.05); } `,Ue=k.a` text-decoration: none; color: #000; font-weight: 300; margin: 0 2px; position: relative; &:before { position: absolute; margin: 0 auto; top: 100%; left: 0; width: 100%; height: 2px; background-color: #000; content: ""; opacity: 0.3; -webkit-transform: scaleX(1); transition-property: opacity, -webkit-transform; transition-duration: 0.3s; } &:hover:before { opacity: 1; -webkit-transform: scaleX(1.05); } `,vw=k.div` margin-left: 0px; color: #000000; font-size: 16px; font-weight: bold; line-height: 16px; margin-bottom: 36px; @media screen and (max-width: 768px) { font-size: 24px; } @media screen and (max-width: 480px) { font-size: 18px; } `,yw=k.div` margin-left: 0px; color: #000000; font-size: 16px; font-weight: bold; line-height: 16px; margin-bottom: 10px; margin-top: 36px; @media screen and (max-width: 768px) { font-size: 24px; } @media screen and (max-width: 480px) { font-size: 18px; } `,xw=k.div``,ww=k.div` font-size: 14px; margin-bottom: 0px; margin-top: 0px; `,kw=k.div` @media screen and (max-width: 768px) { font-size: 14px; } `,bw=k.button` background: #fff; color: #000; font-size: 16px; padding: 10px 24px; border: none; border-radius: 4px; cursor: pointer; margin-top: 20px; margin-bottom: 20px; align-self: center; &:hover { background: #000; color: #fff; } `,Sw="/udlbook/assets/book_cover-B3FyEkB6.jpg",_w=` @book{prince2023understanding, author = "Simon J.D. Prince", title = "Understanding Deep Learning", publisher = "The MIT Press", year = 2023, url = "http://udlbook.com" } `,Nd=[{date:"08/05/24",content:u.jsxs(at,{children:["Added"," ",u.jsx(Ue,{href:"https://udlbook.github.io/udlfigures/",children:"interactive figures"})," ","to explore 1D linear regression, shallow and deep networks, Gabor model."]})},{date:"07/30/24",content:u.jsxs(at,{children:["New"," ",u.jsx(Ue,{href:"https://www.borealisai.com/research-blogs/bayesian-machine-learning-parameter-space/",children:"blog"})," ","on Bayesian machine learning (parameter perspective)"]})},{date:"05/22/24",content:u.jsxs(at,{children:["New"," ",u.jsx(Ue,{href:"https://borealisai.com/research-blogs/neural-tangent-kernel-applications/",children:"blog"})," ","about the applications of the neural tangent kernel."]})},{date:"05/10/24",content:u.jsxs(at,{children:["Positive"," ",u.jsx(Ue,{href:"https://github.com/udlbook/udlbook/blob/main/public/NMI_Review.pdf",children:"review"})," ","in Nature Machine Intelligence."]})},{date:"02/21/24",content:u.jsxs(at,{children:["New blog about the"," ",u.jsx(Ue,{href:"https://borealisai.com/research-blogs/the-neural-tangent-kernel/",children:"Neural Tangent Kernel"}),"."]})},{date:"01/29/24",content:u.jsxs(at,{children:["New blog about"," ",u.jsx(Ue,{href:"https://borealisai.com/research-blogs/gradient-flow/",children:"gradient flow"})," ","published."]})},{date:"12/26/23",content:u.jsxs(at,{children:["Machine Learning Street Talk"," ",u.jsx(Ue,{href:"https://youtube.com/watch?v=sJXn4Cl4oww",children:"podcast"})," discussing book."]})},{date:"12/19/23",content:u.jsxs(at,{children:["Deeper Insights"," ",u.jsx(Ue,{href:"https://podcasts.apple.com/us/podcast/understanding-deep-learning-with-simon-prince/id1669436318?i=1000638269385",children:"podcast"})," ","discussing book."]})},{date:"12/06/23",content:u.jsxs(at,{children:[u.jsx(Ue,{href:"https://borealisai.com/news/understanding-deep-learning/",children:"Interview"})," ","with Borealis AI."]})},{date:"12/05/23",content:u.jsxs(at,{children:["Book released by"," ",u.jsx(Ue,{href:"https://mitpress.mit.edu/9780262048644/understanding-deep-learning/",children:"The MIT Press"}),"."]})}];function Ew(){const[e,t]=P.useState(!1),n=()=>{t(r=>!r)};return u.jsx(aw,{id:"home",children:u.jsx(sw,{children:u.jsxs(uw,{children:[u.jsxs(fw,{children:[u.jsxs(xw,{children:[u.jsx(vw,{children:"RECENT NEWS:"}),(e?Nd:Nd.slice(0,7)).map((r,o)=>u.jsxs(cw,{children:[u.jsx(dw,{children:r.date}),r.content]},o)),u.jsx(bw,{onClick:n,children:e?"Show less":"Show more"})]}),u.jsx(yw,{children:"CITATION:"}),u.jsx(ww,{children:u.jsx("pre",{children:u.jsx("code",{children:_w})})}),u.jsxs(kw,{children:["Follow me on"," ",u.jsx(Ue,{href:"https://twitter.com/SimonPrinceAI",children:"Twitter"})," or"," ",u.jsx(Ue,{href:"https://linkedin.com/in/simon-prince-615bb9165/",children:"LinkedIn"})," ","for updates."]})]}),u.jsxs(pw,{children:[u.jsx(hw,{children:u.jsx(mw,{src:Sw,alt:"Book Cover"})}),u.jsx(Xo,{href:"https://github.com/udlbook/udlbook/releases/download/4.0.4/UnderstandingDeepLearning_08_05_24_C.pdf",children:"Download full PDF (08 August 2024)"}),u.jsx("br",{}),u.jsx(gw,{src:"https://img.shields.io/github/downloads/udlbook/udlbook/total",alt:"download stats shield"}),u.jsx(Xo,{href:"https://mitpress.mit.edu/9780262048644/understanding-deep-learning/",children:"Buy the book"}),u.jsx(Xo,{href:"https://github.com/udlbook/udlbook/raw/main/UDL_Answer_Booklet_Students.pdf",children:"Answers to selected questions"}),u.jsx(Xo,{href:"https://github.com/udlbook/udlbook/raw/main/UDL_Errata.pdf",children:"Errata"})]})," ",u.jsx("h1",{})]})})})}const Cw=k.div` color: #fff; /* background: #f9f9f9; */ background: ${({lightBg:e})=>e?"#57c6d1":"#010606"}; @media screen and (max-width: 768px) { padding: 100px 0; } `,Pw=k.div` display: grid; z-index: 1; width: 100%; max-width: 1100px; margin-right: auto; margin-left: auto; padding: 0 24px; justify-content: center; `,jw=k.div` display: grid; grid-auto-columns: minmax(auto, 1fr); align-items: center; grid-template-areas: ${({imgStart:e})=>e?"'col2 col1'":"'col1 col2'"}; @media screen and (max-width: 768px) { grid-template-areas: ${({imgStart:e})=>e?"'col1' 'col2'":"'col1 col1' 'col2 col2'"}; } `,Nw=k.div` display: grid; grid-auto-columns: minmax(auto, 1fr); align-items: top; grid-template-areas: ${({imgStart:e})=>e?"'col2 col1'":"'col1 col2'"}; @media screen and (max-width: 768px) { grid-template-areas: ${({imgStart:e})=>e?"'col1' 'col2'":"'col1 col1' 'col2 col2'"}; } `,Td=k.div` margin-bottom: 15px; padding: 0 15px; grid-area: col1; `,Ld=k.div` margin-bottom: 15px; padding: 0 15px; grid-area: col2; `,Tw=k.div` max-width: 540px; padding-top: 0; padding-bottom: 0; `,Er=k.p` color: #773c23; font-size: 16px; line-height: 16px; font-weight: 700; letter-spacing: 1.4px; text-transform: uppercase; margin-bottom: 16px; `,Lw=k.h1` margin-bottom: 24px; font-size: 48px; line-height: 1.1; font-weight: 600; color: ${({lightText:e})=>e?"#f7f8fa":"#010606"}; @media screen and (max-width: 480px) { font-size: 32px; } `,zw=k.p` max-width: 440px; margin-bottom: 35px; font-size: 18px; line-height: 24px; color: ${({darkText:e})=>e?"#010606":"#fff"}; `;k.div` display: flex; justify-content: flex-start; `;const Iw=k.div` max-width: 555px; height: 100%; `,Ow=k.img` width: 100%; margin-top: 0; margin-right: 0; margin-left: 10px; padding-right: 0; `,Tn=k.div` z-index: 3; width: 100%; max-width: 1100px; position: static; padding: 8px 0px; margin: 10px 0px; display: flex; flex-direction: column; align-items: left; list-style-position: inside; @media screen and (max-width: 1050px) { font-size: 12px; } @media screen and (max-width: 768px) { font-size: 10px; } `,sn=k.a` text-decoration: none; color: #555; font-weight: 300; margin: 0 2px; position: relative; &:before { position: absolute; margin: 0 auto; top: 100%; left: 0; width: 100%; height: 2px; background-color: #555; content: ""; opacity: 0.3; -webkit-transform: scaleX(1); transition-property: opacity, -webkit-transform; transition-duration: 0.3s; } &:hover:before { opacity: 1; -webkit-transform: scaleX(1.05); } `,Mw="/udlbook/assets/instructor-B2zxe_pu.svg",Rw=[{text:"Introduction",link:"https://drive.google.com/uc?export=download&id=17RHb11BrydOvxSFNbRIomE1QKLVI087m"},{text:"Supervised Learning",link:"https://drive.google.com/uc?export=download&id=1491zkHULC7gDfqlV6cqUxyVYXZ-de-Ub"},{text:"Shallow Neural Networks",link:"https://drive.google.com/uc?export=download&id=1XkP1c9EhOBowla1rT1nnsDGMf2rZvrt7"},{text:"Deep Neural Networks",link:"https://drive.google.com/uc?export=download&id=1e2ejfZbbfMKLBv0v-tvBWBdI8gO3SSS1"},{text:"Loss Functions",link:"https://drive.google.com/uc?export=download&id=1fxQ_a1Q3eFPZ4kPqKbak6_emJK-JfnRH"},{text:"Fitting Models",link:"https://drive.google.com/uc?export=download&id=17QQ5ZzXBtR_uCNCUU1gPRWWRUeZN9exW"},{text:"Computing Gradients",link:"https://drive.google.com/uc?export=download&id=1hC8JUCOaFWiw3KGn0rm7nW6mEq242QDK"},{text:"Initialization",link:"https://drive.google.com/uc?export=download&id=1tSjCeAVg0JCeBcPgDJDbi7Gg43Qkh9_d"},{text:"Performance",link:"https://drive.google.com/uc?export=download&id=1RVZW3KjEs0vNSGx3B2fdizddlr6I0wLl"},{text:"Regularization",link:"https://drive.google.com/uc?export=download&id=1LTicIKPRPbZRkkg6qOr1DSuOB72axood"},{text:"Convolutional Networks",link:"https://drive.google.com/uc?export=download&id=1bGVuwAwrofzZdfvj267elIzkYMIvYFj0"},{text:"Image Generation",link:"https://drive.google.com/uc?export=download&id=14w31QqWRDix1GdUE-na0_E0kGKBhtKzs"},{text:"Transformers and LLMs",link:"https://drive.google.com/uc?export=download&id=1af6bTTjAbhDYfrDhboW7Fuv52Gk9ygKr"}],Dw=[{text:"Introduction",links:{pdf:"https://github.com/udlbook/udlbook/raw/main/PDFFigures/UDLChap1PDF.zip",svg:"https://drive.google.com/uc?export=download&id=1udnl5pUOAc8DcAQ7HQwyzP9pwL95ynnv",pptx:"https://docs.google.com/presentation/d/1IjTqIUvWCJc71b5vEJYte-Dwujcp7rvG/edit?usp=drive_link&ouid=110441678248547154185&rtpof=true&sd=true"}},{text:"Supervised learning",links:{pdf:"https://github.com/udlbook/udlbook/raw/main/PDFFigures/UDLChap2PDF.zip",svg:"https://drive.google.com/uc?export=download&id=1VSxcU5y1qNFlmd3Lb3uOWyzILuOj1Dla",pptx:"https://docs.google.com/presentation/d/1Br7R01ROtRWPlNhC_KOommeHAWMBpWtz/edit?usp=drive_link&ouid=110441678248547154185&rtpof=true&sd=true"}},{text:"Shallow neural networks",links:{pdf:"https://github.com/udlbook/udlbook/raw/main/PDFFigures/UDLChap3PDF.zip",svg:"https://drive.google.com/uc?export=download&id=19kZFWlXhzN82Zx02ByMmSZOO4T41fmqI",pptx:"https://docs.google.com/presentation/d/1e9M3jB5I9qZ4dCBY90Q3Hwft_i068QVQ/edit?usp=drive_link&ouid=110441678248547154185&rtpof=true&sd=true"}},{text:"Deep neural networks",links:{pdf:"https://github.com/udlbook/udlbook/raw/main/PDFFigures/UDLChap4PDF.zip",svg:"https://drive.google.com/uc?export=download&id=1ojr0ebsOhzvS04ItAflX2cVmYqHQHZUa",pptx:"https://docs.google.com/presentation/d/1LTSsmY4mMrJbqXVvoTOCkQwHrRKoYnJj/edit?usp=drive_link&ouid=110441678248547154185&rtpof=true&sd=true"}},{text:"Loss functions",links:{pdf:"https://github.com/udlbook/udlbook/raw/main/PDFFigures/UDLChap5PDF.zip",svg:"https://drive.google.com/uc?export=download&id=17MJO7fiMpFZVqKeqXTbQ36AMpmR4GizZ",pptx:"https://docs.google.com/presentation/d/1gcpC_3z9oRp87eMkoco-kdLD-MM54Puk/edit?usp=drive_link&ouid=110441678248547154185&rtpof=true&sd=true"}},{text:"Training models",links:{pdf:"https://github.com/udlbook/udlbook/raw/main/PDFFigures/UDLChap6PDF.zip",svg:"https://drive.google.com/uc?export=download&id=1VPdhFRnCr9_idTrX0UdHKGAw2shUuwhK",pptx:"https://docs.google.com/presentation/d/1AKoeggAFBl9yLC7X5tushAGzCCxmB7EY/edit?usp=drive_link&ouid=110441678248547154185&rtpof=true&sd=true"}},{text:"Gradients and initialization",links:{pdf:"https://github.com/udlbook/udlbook/raw/main/PDFFigures/UDLChap7PDF.zip",svg:"https://drive.google.com/uc?export=download&id=1TTl4gvrTvNbegnml4CoGoKOOd6O8-PGs",pptx:"https://docs.google.com/presentation/d/11zhB6PI-Dp6Ogmr4IcI6fbvbqNqLyYcz/edit?usp=drive_link&ouid=110441678248547154185&rtpof=true&sd=true"}},{text:"Measuring performance",links:{pdf:"https://github.com/udlbook/udlbook/raw/main/PDFFigures/UDLChap8PDF.zip",svg:"https://drive.google.com/uc?export=download&id=19eQOnygd_l0DzgtJxXuYnWa4z7QKJrJx",pptx:"https://docs.google.com/presentation/d/1SHRmJscDLUuQrG7tmysnScb3ZUAqVMZo/edit?usp=drive_link&ouid=110441678248547154185&rtpof=true&sd=true"}},{text:"Regularization",links:{pdf:"https://github.com/udlbook/udlbook/raw/main/PDFFigures/UDLChap9PDF.zip",svg:"https://drive.google.com/uc?export=download&id=1LprgnUGL7xAM9-jlGZC9LhMPeefjY0r0",pptx:"https://docs.google.com/presentation/d/1VwIfvjpdfTny6sEfu4ZETwCnw6m8Eg-5/edit?usp=drive_link&ouid=110441678248547154185&rtpof=true&sd=true"}},{text:"Convolutional networks",links:{pdf:"https://github.com/udlbook/udlbook/raw/main/PDFFigures/UDLChap10PDF.zip",svg:"https://drive.google.com/uc?export=download&id=1-Wb3VzaSvVeRzoUzJbI2JjZE0uwqupM9",pptx:"https://docs.google.com/presentation/d/1MtfKBC4Y9hWwGqeP6DVwUNbi1j5ncQCg/edit?usp=drive_link&ouid=110441678248547154185&rtpof=true&sd=true"}},{text:"Residual networks",links:{pdf:"https://github.com/udlbook/udlbook/raw/main/PDFFigures/UDLChap11PDF.zip",svg:"https://drive.google.com/uc?export=download&id=1Mr58jzEVseUAfNYbGWCQyDtEDwvfHRi1",pptx:"https://docs.google.com/presentation/d/1saY8Faz0KTKAAifUrbkQdLA2qkyEjOPI/edit?usp=drive_link&ouid=110441678248547154185&rtpof=true&sd=true"}},{text:"Transformers",links:{pdf:"https://github.com/udlbook/udlbook/raw/main/PDFFigures/UDLChap12PDF.zip",svg:"https://drive.google.com/uc?export=download&id=1txzOVNf8-jH4UfJ6SLnrtOfPd1Q3ebzd",pptx:"https://docs.google.com/presentation/d/1GVNvYWa0WJA6oKg89qZre-UZEhABfm0l/edit?usp=drive_link&ouid=110441678248547154185&rtpof=true&sd=true"}},{text:"Graph neural networks",links:{pdf:"https://github.com/udlbook/udlbook/raw/main/PDFFigures/UDLChap13PDF.zip",svg:"https://drive.google.com/uc?export=download&id=1lQIV6nRp6LVfaMgpGFhuwEXG-lTEaAwe",pptx:"https://docs.google.com/presentation/d/1YwF3U82c1mQ74c1WqHVTzLZ0j7GgKaWP/edit?usp=drive_link&ouid=110441678248547154185&rtpof=true&sd=true"}},{text:"Unsupervised learning",links:{pdf:"https://github.com/udlbook/udlbook/raw/main/PDFFigures/UDLChap14PDF.zip",svg:"https://drive.google.com/uc?export=download&id=1aMbI6iCuUvOywqk5pBOmppJu1L1anqsM",pptx:"https://docs.google.com/presentation/d/1A-lBGv3NHl4L32NvfFgy1EKeSwY-0UeB/edit?usp=drive_link&ouid=110441678248547154185&rtpof=true&sd=true"}},{text:"GANs",links:{pdf:"https://github.com/udlbook/udlbook/raw/main/PDFFigures/UDLChap15PDF.zip",svg:"https://drive.google.com/uc?export=download&id=1EErnlZCOlXc3HK7m83T2Jh_0NzIUHvtL",pptx:"https://docs.google.com/presentation/d/10Ernk41ShOTf4IYkMD-l4dJfKATkXH4w/edit?usp=drive_link&ouid=110441678248547154185&rtpof=true&sd=true"}},{text:"Normalizing flows",links:{pdf:"https://github.com/udlbook/udlbook/raw/main/PDFFigures/UDLChap16PDF.zip",svg:"https://drive.google.com/uc?export=download&id=1SNtNIY7khlHQYMtaOH-FosSH3kWwL4b7",pptx:"https://docs.google.com/presentation/d/1nLLzqb9pdfF_h6i1HUDSyp7kSMIkSUUA/edit?usp=drive_link&ouid=110441678248547154185&rtpof=true&sd=true"}},{text:"Variational autoencoders",links:{pdf:"https://github.com/udlbook/udlbook/raw/main/PDFFigures/UDLChap17PDF.zip",svg:"https://drive.google.com/uc?export=download&id=1B9bxtmdugwtg-b7Y4AdQKAIEVWxjx8l3",pptx:"https://docs.google.com/presentation/d/1lQE4Bu7-LgvV2VlJOt_4dQT-kusYl7Vo/edit?usp=drive_link&ouid=110441678248547154185&rtpof=true&sd=true"}},{text:"Diffusion models",links:{pdf:"https://github.com/udlbook/udlbook/raw/main/PDFFigures/UDLChap18PDF.zip",svg:"https://drive.google.com/uc?export=download&id=1A-pIGl4PxjVMYOKAUG3aT4a8wD3G-q_r",pptx:"https://docs.google.com/presentation/d/1x_ufIBtVPzWUvRieKMkpw5SdRjXWwdfR/edit?usp=drive_link&ouid=110441678248547154185&rtpof=true&sd=true"}},{text:"Deep reinforcement learning",links:{pdf:"https://github.com/udlbook/udlbook/raw/main/PDFFigures/UDLChap19PDF.zip",svg:"https://drive.google.com/uc?export=download&id=1a5WUoF7jeSgwC_PVdckJi1Gny46fCqh0",pptx:"https://docs.google.com/presentation/d/1TnYmVbFNhmMFetbjyfXGmkxp1EHauMqr/edit?usp=drive_link&ouid=110441678248547154185&rtpof=true&sd=true"}},{text:"Why does deep learning work?",links:{pdf:"https://github.com/udlbook/udlbook/raw/main/PDFFigures/UDLChap20PDF.zip",svg:"https://drive.google.com/uc?export=download&id=1M2d0DHEgddAQoIedKSDTTt7m1ZdmBLQ3",pptx:"https://docs.google.com/presentation/d/1coxF4IsrCzDTLrNjRagHvqB_FBy10miA/edit?usp=drive_link&ouid=110441678248547154185&rtpof=true&sd=true"}},{text:"Deep learning and ethics",links:{pdf:"https://github.com/udlbook/udlbook/raw/main/PDFFigures/UDLChap21PDF.zip",svg:"https://drive.google.com/uc?export=download&id=1jixmFfwmZkW_UVYzcxmDcMsdFFtnZ0bU",pptx:"https://docs.google.com/presentation/d/1EtfzanZYILvi9_-Idm28zD94I_6OrN9R/edit?usp=drive_link&ouid=110441678248547154185&rtpof=true&sd=true"}},{text:"Appendices",links:{pdf:"https://github.com/udlbook/udlbook/raw/main/PDFFigures/UDLAppendixPDF.zip",svg:"https://drive.google.com/uc?export=download&id=1k2j7hMN40ISPSg9skFYWFL3oZT7r8v-l",pptx:"https://docs.google.com/presentation/d/1_2cJHRnsoQQHst0rwZssv-XH4o5SEHks/edit?usp=drive_link&ouid=110441678248547154185&rtpof=true&sd=true"}}];function $w(){return u.jsx(u.Fragment,{children:u.jsx(Cw,{lightBg:!0,id:"Instructors",children:u.jsxs(Pw,{children:[u.jsxs(jw,{imgStart:!1,children:[u.jsx(Td,{children:u.jsxs(Tw,{children:[u.jsx(Er,{children:"Instructors"}),u.jsx(Lw,{lightText:!1,children:"Resources for instructors"}),u.jsx(zw,{darkText:!0,children:"All the figures in vector and image formats, full slides for first twelve chapters, instructor answer booklet"})]})}),u.jsx(Ld,{children:u.jsx(Iw,{children:u.jsx(Ow,{src:Mw,alt:"Instructor"})})})]}),u.jsxs(Nw,{children:[u.jsxs(Td,{children:[u.jsx(Er,{children:"Register"}),u.jsx(sn,{href:"https://mitpress.ublish.com/request?cri=15055",children:"Register"})," ","with MIT Press for answer booklet.",u.jsx(Tn,{}),u.jsx(Er,{children:"Interactive figures"}),u.jsx(sn,{href:"https://udlbook.github.io/udlfigures/",children:"Interactive figures "})," ","to illustrate ideas in class",u.jsx(Tn,{}),u.jsx(Er,{children:"Full slides"}),u.jsx(Tn,{children:"Slides for 20 lecture undergraduate deep learning course:"}),u.jsx(Tn,{children:u.jsx("ol",{children:Rw.map((e,t)=>u.jsxs("li",{children:[e.text," ",u.jsx(sn,{href:e.link,children:"PPTX"})]},t))})})]}),u.jsxs(Ld,{children:[u.jsx(Er,{children:"Figures"}),u.jsx(Tn,{children:u.jsx("ol",{children:Dw.map((e,t)=>u.jsxs("li",{children:[e.text,":"," ",u.jsx(sn,{href:e.links.pdf,children:"PDF"})," ","/"," ",u.jsxs(sn,{href:e.links.svg,children:[" ","SVG"]})," ","/"," ",u.jsxs(sn,{href:e.links.pptx,children:["PPTX"," "]})]},t))})}),u.jsx(sn,{href:"https://drive.google.com/file/d/1T_MXXVR4AfyMnlEFI-UVDh--FXI5deAp/view?usp=sharing",children:"Instructions"})," ","for editing equations in figures.",u.jsx(Tn,{})]})]})]})})})}const Fw=k.div` color: #fff; /* background: #f9f9f9; */ background: ${({lightBg:e})=>e?"#f9f9f9":"#010606"}; @media screen and (max-width: 768px) { padding: 100px 0; } `,Aw=k.div` display: grid; z-index: 1; width: 100%; max-width: 1100px; margin-right: auto; margin-left: auto; padding: 0 24px; justify-content: center; `,zd=k.div` display: grid; grid-auto-columns: minmax(auto, 1fr); align-items: center; grid-template-areas: ${({imgStart:e})=>e?"'col2 col1'":"'col1 col2'"}; @media screen and (max-width: 768px) { grid-template-areas: ${({imgStart:e})=>e?"'col1' 'col2'":"'col1 col1' 'col2 col2'"}; } `,da=k.div` margin-bottom: 15px; padding: 0 15px; grid-area: col1; `,fa=k.div` margin-bottom: 15px; padding: 0 15px; grid-area: col2; `,Bw=k.div` max-width: 540px; padding-top: 0; padding-bottom: 0; `,pa=k.p` color: #57c6d1; font-size: 16px; line-height: 16px; font-weight: 700; letter-spacing: 1.4px; text-transform: uppercase; margin-bottom: 16px; `,Uw=k.h1` margin-bottom: 24px; font-size: 48px; line-height: 1.1; font-weight: 600; color: ${({lightText:e})=>e?"#f7f8fa":"#010606"}; @media screen and (max-width: 480px) { font-size: 32px; } `,Hw=k.p` max-width: 440px; margin-bottom: 35px; font-size: 18px; line-height: 24px; color: ${({darkText:e})=>e?"#010606":"#fff"}; `;k.div` display: flex; justify-content: flex-start; `;const Ww=k.div` max-width: 555px; height: 100%; `,Vw=k.img` width: 100%; margin-top: 0; margin-right: 0; margin-left: 10px; padding-right: 0; `;k.div` @media screen and (max-width: 768px) { font-size: 24px; } @media screen and (max-width: 480px) { font-size: 18px; } `;const Id=k.div` z-index: 3; width: 100%; max-width: 1100px; position: static; padding: 8px 0px; margin: 10px 0px; display: flex; flex-direction: column; align-items: left; list-style-position: inside; @media screen and (max-width: 768px) { font-size: 14px; } `,Qw=k.div` display: grid; grid-auto-columns: minmax(auto, 1fr); align-items: top; grid-template-areas: ${({imgStart:e})=>e?"'col2 col1'":"'col1 col2'"}; @media screen and (max-width: 768px) { grid-template-areas: ${({imgStart:e})=>e?"'col1' 'col2'":"'col1 col1' 'col2 col2'"}; } `,Od=k.div` width: 560px; height: 315px; @media screen and (max-width: 1050px) { width: 280px; height: 157px; } `,vt=k.a` text-decoration: none; color: #57c6d1; font-weight: 300; margin: 0 2px; position: relative; &:before { position: absolute; margin: 0 auto; top: 100%; left: 0; width: 100%; height: 2px; background-color: #57c6d1; content: ""; opacity: 0.3; -webkit-transform: scaleX(1); transition-property: opacity, -webkit-transform; transition-duration: 0.3s; } &:hover:before { opacity: 1; -webkit-transform: scaleX(1.05); } `,Gw="/udlbook/assets/media-BEE6k2_u.svg",Yw=[{href:"https://www.borealisai.com/news/understanding-deep-learning/",text:"Borealis AI",linkText:"interview"},{href:"https://shepherd.com/best-books/machine-learning-and-deep-neural-networks",text:"Shepherd ML book",linkText:"recommendations"}];function Kw(){return u.jsx(u.Fragment,{children:u.jsx(Fw,{lightBg:!1,id:"Media",children:u.jsxs(Aw,{children:[u.jsxs(zd,{imgStart:!0,children:[u.jsx(da,{children:u.jsxs(Bw,{children:[u.jsx(pa,{children:"Media"}),u.jsx(Uw,{lightText:!0,children:"Reviews, videos, podcasts, interviews"}),u.jsx(Hw,{darkText:!1,children:"Various resources connected to the book"})]})}),u.jsx(fa,{children:u.jsx(Ww,{children:u.jsx(Vw,{src:Gw,alt:"Media"})})})]}),u.jsxs(zd,{children:[u.jsxs(da,{children:["Machine learning street talk podcast",u.jsx(Od,{children:u.jsx("iframe",{width:"100%",height:"100%",src:"https://www.youtube.com/embed/sJXn4Cl4oww?si=Lm_hQPqj0RXy-75H&controls=0",title:"YouTube video player",frameBorder:"2",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowfullscreen:!0})})]}),u.jsxs(fa,{children:["Deeper insights podcast",u.jsx(Od,{children:u.jsx("iframe",{width:"100%",height:"100%",src:"https://www.youtube.com/embed/nQf4o9TDSHI?si=uMk66zLD7uhuSnQ1&controls=0",title:"YouTube video player",frameBorder:"2",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowfullscreen:!0})})]})]}),u.jsxs(Qw,{children:[u.jsxs(da,{children:[u.jsx(pa,{children:"Reviews"}),u.jsx(Id,{children:u.jsxs("ul",{children:[u.jsxs("li",{children:["Nature Machine Intelligence"," ",u.jsxs(vt,{href:"https://github.com/udlbook/udlbook/blob/main/public/NMI_Review.pdf",children:[" ","review"," "]})," ","by"," ",u.jsx(vt,{href:"https://wang-axis.github.io/",children:"Ge Wang"})]}),u.jsxs("li",{children:["Amazon"," ",u.jsx(vt,{href:"https://www.amazon.com/Understanding-Deep-Learning-Simon-Prince-ebook/product-reviews/B0BXKH8XY6/",children:"reviews"})]}),u.jsxs("li",{children:["Goodreads"," ",u.jsxs(vt,{href:"https://www.goodreads.com/book/show/123239819-understanding-deep-learning?",children:["reviews"," "]})]}),u.jsxs("li",{children:["Book"," ",u.jsx(vt,{href:"https://medium.com/@vishalvignesh/udl-book-review-the-new-deep-learning-textbook-youll-want-to-finish-69e1557b018d",children:"review"})," ","by Vishal V."]}),u.jsxs("li",{children:["Amazon"," ",u.jsx(vt,{href:"https://www.amazon.com/Understanding-Deep-Learning-Simon-Prince-ebook/product-reviews/B0BXKH8XY6/",children:"reviews"})]}),u.jsxs("li",{children:["Goodreads"," ",u.jsxs(vt,{href:"https://www.goodreads.com/book/show/123239819-understanding-deep-learning?",children:["reviews"," "]})]}),u.jsxs("li",{children:["Book"," ",u.jsx(vt,{href:"https://medium.com/@vishalvignesh/udl-book-review-the-new-deep-learning-textbook-youll-want-to-finish-69e1557b018d",children:"review"})," ","by Vishal V."]})]})})]}),u.jsxs(fa,{children:[u.jsx(pa,{children:"Interviews"}),u.jsx(Id,{children:u.jsx("ul",{children:Yw.map((e,t)=>u.jsxs("li",{children:[e.text," ",u.jsx(vt,{href:e.href,children:e.linkText})]},t))})})]})]})]})})})}const Xw=k.div` color: #fff; /* background: #f9f9f9; */ background: ${({lightBg:e})=>e?"#57c6d1":"#010606"}; @media screen and (max-width: 768px) { padding: 100px 0; } `,Zw=k.div` display: grid; z-index: 1; /* height: 1050px; */ width: 100%; max-width: 1100px; margin-right: auto; margin-left: auto; padding: 0 24px; justify-content: center; `,qw=k.div` display: grid; grid-auto-columns: minmax(auto, 1fr); align-items: center; grid-template-areas: ${({imgStart:e})=>e?"'col2 col1'":"'col1 col2'"}; @media screen and (max-width: 768px) { grid-template-areas: ${({imgStart:e})=>e?"'col1' 'col2'":"'col1 col1' 'col2 col2'"}; } `,Jw=k.div` display: grid; grid-auto-columns: minmax(auto, 1fr); align-items: top; grid-template-areas: ${({imgStart:e})=>e?"'col2 col1'":"'col1 col2'"}; @media screen and (max-width: 768px) { grid-template-areas: ${({imgStart:e})=>e?"'col1' 'col2'":"'col1 col1' 'col2 col2'"}; } `,Md=k.div` margin-bottom: 15px; padding: 0 15px; grid-area: col1; `,Rd=k.div` margin-bottom: 15px; padding: 0 15px; grid-area: col2; `,ek=k.div` max-width: 540px; padding-top: 0; padding-bottom: 0; `,be=k.p` color: #773c23; font-size: 16px; line-height: 16px; font-weight: 700; letter-spacing: 1.4px; text-transform: uppercase; margin-bottom: 12px; margin-top: 16px; `,tk=k.h1` margin-bottom: 24px; font-size: 48px; line-height: 1.1; font-weight: 600; color: ${({lightText:e})=>e?"#f7f8fa":"#010606"}; @media screen and (max-width: 480px) { font-size: 32px; } `,nk=k.p` max-width: 440px; margin-bottom: 35px; font-size: 18px; line-height: 24px; color: ${({darkText:e})=>e?"#010606":"#fff"}; `;k.div` display: flex; justify-content: flex-start; `;const rk=k.div` max-width: 555px; height: 100%; `,ok=k.img` width: 100%; margin-top: 0; margin-right: 0; margin-left: 10px; padding-right: 0; `;k.div` z-index: 3; width: 100%; max-width: 1100px; position: static; padding: 8px 0px; margin: 10px 0px; display: flex; flex-direction: column; align-items: left; list-style-position: inside; `;const Le=k.ul` /* list-style:none; */ list-style-position: inside; margin: 0; @media screen and (max-width: 768px) { font-size: 14px; } `,ze=k.ul` list-style-position: inside; @media screen and (max-width: 768px) { font-size: 12px; } `,Ie=k.p` padding-left: 18px; padding-bottom: 10px; padding-top: 3px; font-size: 14px; color: #fff; `,Oe=k.a` text-decoration: none; color: #555; font-weight: 300; margin: 0 2px; position: relative; &:before { position: absolute; margin: 0 auto; top: 100%; left: 0; width: 100%; height: 2px; background-color: #555; content: ""; opacity: 0.3; -webkit-transform: scaleX(1); transition-property: opacity, -webkit-transform; transition-duration: 0.3s; } &:hover:before { opacity: 1; -webkit-transform: scaleX(1.05); } `,ik="/udlbook/assets/more-CjTFu1S9.svg",lk=[{text:"Computer vision: models, learning, and inference",link:"http://computervisionmodels.com",details:["2012 book published with CUP","Focused on probabilistic models",'Pre-"deep learning"',"Lots of ML content","Individual chapters available below"]}],ak=[{text:"Intro to LLMs",link:"https://www.borealisai.com/research-blogs/a-high-level-overview-of-large-language-models/",details:["What is an LLM?","Pretraining","Instruction fine-tuning","Reinforcement learning from human feedback","Notable LLMs","LLMs without training from scratch"]},{text:"Transformers I",link:"https://www.borealisai.com/en/blog/tutorial-14-transformers-i-introduction/",details:["Dot-Product self-attention","Scaled dot-product self-attention","Position encoding","Multiple heads","Transformer block","Encoders","Decoders","Encoder-Decoders"]},{text:"Transformers II",link:"https://www.borealisai.com/en/blog/tutorial-16-transformers-ii-extensions/",details:["Sinusoidal position embeddings","Learned position embeddings","Relatives vs. absolute position embeddings","Extending transformers to longer sequences","Reducing attention matrix size","Making attention matrix sparse","Kernelizing attention computation","Attention as an RNN","Attention as a hypernetwork","Attention as a routing network","Attention and graphs","Attention and convolutions","Attention and gating","Attention and memory retrieval"]},{text:"Transformers III",link:"https://www.borealisai.com/en/blog/tutorial-17-transformers-iii-training/",details:["Tricks for training transformers","Why are these tricks required?","Removing layer normalization","Balancing residual dependencies","Reducing optimizer variance","How to train deeper transformers on small datasets"]},{text:"Training and fine-tuning LLMs",link:"https://www.borealisai.com/research-blogs/training-and-fine-tuning-large-language-models/",details:["Large language models","Pretraining","Supervised fine tuning","Reinforcement learning from human feedback","Direct preference optimization"]},{text:"Speeding up inference in LLMs",link:"https://www.borealisai.com/research-blogs/speeding-up-inference-in-transformers/",details:["Problems with transformers","Attention-free transformers","Complexity","RWKV","Linear transformers and performers","Retentive network"]}],sk=[{text:"Linear algebra",link:"https://drive.google.com/file/d/1j2v2n6STPnblOCZ1_GBcVAZrsYkjPYwR/view?usp=sharing",details:["Vectors and matrices","Determinant and trace","Orthogonal matrices","Null space","Linear transformations","Singular value decomposition","Least squares problems","Principal direction problems","Inversion of block matrices","Schur complement identity","Sherman-Morrison-Woodbury","Matrix determinant lemma"]},{text:"Introduction to probability",link:"https://drive.google.com/file/d/1cmxXneW122-hcfmMRjEE-n5C9T2YvuQX/view?usp=sharing",details:["Random variables","Joint probability","Marginal probability","Conditional probability","Bayes' rule","Independence","Expectation"]},{text:"Probability distributions",link:"https://drive.google.com/file/d/1GI3eZNB1CjTqYHLyuRhCV215rwqANVOx/view?usp=sharing",details:["Bernouilli distribution","Beta distribution","Categorical distribution","Dirichlet distribution","Univariate normal distribution","Normal inverse-scaled gamma distribution","Multivariate normal distribution","Normal inverse Wishart distribution","Conjugacy"]},{text:"Fitting probability distributions",link:"https://drive.google.com/file/d/1DZ4rCmC7AZ8PFc51PiMUIkBO-xqKT_CG/view?usp=sharing",details:["Maximum likelihood","Maximum a posteriori","Bayesian approach","Example: fitting normal","Example: fitting categorical"]},{text:"The normal distribution",link:"https://drive.google.com/file/d/1CTfmsN-HJWZBRj8lY0ZhgHEbPCmYXWnA/view?usp=sharing",details:["Types of covariance matrix","Decomposition of covariance","Linear transformations","Marginal distributions","Conditional distributions","Product of two normals","Change of variable formula"]}],uk=[{text:"Gradient-based optimization",link:"https://drive.google.com/file/d/1IoOSfJ0ku89aVyM9qygPl4MVnAhMEbAZ/view?usp=sharing",details:["Convexity","Steepest descent","Newton's method","Gauss-Newton method","Line search","Reparameterization"]},{text:"Bayesian optimization",link:"https://www.borealisai.com/en/blog/tutorial-8-bayesian-optimization/",details:["Gaussian processes","Acquisition functions","Incorporating noise","Kernel choice","Learning GP parameters","Tips, tricks, and limitations","Beta-Bernoulli bandit","Random forests for BO","Tree-Parzen estimators"]},{text:"SAT Solvers I",link:"https://www.borealisai.com/en/blog/tutorial-9-sat-solvers-i-introduction-and-applications/",details:["Boolean logic and satisfiability","Conjunctive normal form","The Tseitin transformation","SAT and related problems","SAT constructions","Graph coloring and scheduling","Fitting binary neural networks","Fitting decision trees"]},{text:"SAT Solvers II",link:"https://www.borealisai.com/en/blog/tutorial-10-sat-solvers-ii-algorithms/",details:["Conditioning","Resolution","Solving 2-SAT by unit propagation","Directional resolution","SAT as binary search","DPLL","Conflict driven clause learning"]},{text:"SAT Solvers III",link:"https://www.borealisai.com/en/blog/tutorial-11-sat-solvers-iii-factor-graphs-and-smt-solvers/",details:["Satisfiability vs. problem size","Factor graph representation","Max product / sum product for SAT","Survey propagation","SAT with non-binary variables","SMT solvers"]}],ck=[{text:"Temporal models",link:"https://drive.google.com/file/d/1rrzGNyZDjXQ3_9ZqCGDmRMM3GYtHSBvj/view?usp=sharing",details:["Kalman filter","Smoothing","Extended Kalman filter","Unscented Kalman filter","Particle filtering"]}],dk=[{text:"Image Processing",link:"https://drive.google.com/file/d/1r3V1GC5grhPF2pD91izuE0hTrTUEpQ9I/view?usp=sharing",details:["Whitening","Histogram equalization","Filtering","Edges and corners","Dimensionality reduction"]},{text:"Pinhole camera",link:"https://drive.google.com/file/d/1dbMBE13MWcd84dEGjYeWsC6eXouoC0xn/view?usp=sharing",details:["Pinhole camera model","Radial distortion","Homogeneous coordinates","Learning extrinsic parameters","Learning intrinsic parameters","Inferring three-dimensional world points"]},{text:"Geometric transformations",link:"https://drive.google.com/file/d/1UArrb1ovqvZHbv90MufkW372r__ZZACQ/view?usp=sharing",details:["Euclidean, similarity, affine, projective transformations","Fitting transformation models","Inference in transformation models","Three geometric problems for planes","Transformations between images","Robust learning of transformations"]},{text:"Multiple cameras",link:"https://drive.google.com/file/d/1RqUoc7kvK8vqZF1NVuw7bIex9v4_QlSx/view?usp=sharing",details:["Two view geometry","The essential matrix","The fundamental matrix","Two-view reconstruction pipeline","Rectification","Multiview reconstruction"]}],fk=[{text:"Transformers in RL",link:"https://arxiv.org/abs/2307.05979",details:["Challenges in RL","Advantages of transformers for RL","Representation learning","Transition function learning","Reward learning","Policy learning","Training strategy","Interpretability","Applications"]}],pk=[{text:"Gradient flow",link:"https://www.borealisai.com/research-blogs/gradient-flow/",details:["Gradient flow","Evolution of residual","Evolution of parameters","Evolution of model predictions","Evolution of prediction covariance"]},{text:"Neural tangent kernel",link:"https://www.borealisai.com/research-blogs/the-neural-tangent-kernel/",details:["Infinite width neural networks","Training dynamics","Empirical NTK for shallow network","Analytical NTK for shallow network","Empirical NTK for deep network","Analytical NTK for deep network"]},{text:"NTK applications",link:"https://www.borealisai.com/research-blogs/neural-tangent-kernel-applications/",details:["Trainability","Convergence bounds","Evolution of parameters","Evolution of predictions","NTK Gaussian processes","NTK and generalizability"]},{text:"Bayesian ML I",link:"https://www.borealisai.com/research-blogs/bayesian-machine-learning-parameter-space/",details:["Maximum likelihood","Maximum a posteriori","The Bayesian approach","Example: 1D linear regression","Practical concerns"]}],hk=[{text:"Modeling complex data densities",link:"https://drive.google.com/file/d/1BrPHxAuyz28hhz_FtbO0A1cWYdMs2_h8/view?usp=sharing",details:["Hidden variables","Expectation maximization","Mixture of Gaussians","The t-distribution","Factor analysis","The EM algorithm in detail"]},{text:"Variational autoencoders",link:"https://www.borealisai.com/en/blog/tutorial-5-variational-auto-encoders/",details:["Non-linear latent variable models","Evidence lower bound (ELBO)","ELBO properties","Variational approximation","The variational autoencoder","Reparameterization trick"]},{text:"Normalizing flows: introduction and review",link:"https://arxiv.org/abs/1908.09257",details:["Normalizing flows","Elementwise and linear flows","Planar and radial flows","Coupling and auto-regressive flows","Coupling functions","Residual flows","Infinitesimal (continuous) flows","Datasets and performance"]}],mk=[{text:"Graphical models",link:"https://drive.google.com/file/d/1ghgeRmeZMyzNHcuzVwS4vRP6BXi3npVO/view?usp=sharing",details:["Conditional independence","Directed graphical models","Undirected graphical models","Inference in graphical models","Sampling in graphical models","Learning in graphical models"]},{text:"Models for chains and trees",link:"https://drive.google.com/file/d/1WAMc3wtZoPv5wRkdF-D0SShVYF6Net84/view?usp=sharing",details:["Hidden Markov models","Viterbi algorithm","Forward-backward algorithm","Belief propagation","Sum product algorithm","Extension to trees","Graphs with loops"]},{text:"Models for grids",link:"https://drive.google.com/file/d/1qqS9OfA1z7t12M45UaBr4CSCj1jwzcwz/view?usp=sharing",details:["Markov random fields","MAP inference in binary pairwise MRFs","Graph cuts","Multi-label pairwise MRFs","Alpha-expansion algorithm","Conditional random fields"]}],gk=[{text:"Learning and inference",link:"https://drive.google.com/file/d/1ArWWi-qbzK2ih6KpOeIF8wX5g3S4J5DY/view?usp=sharing",details:["Discriminative models","Generative models","Example: regression","Example: classification"]},{text:"Regression models",link:"https://drive.google.com/file/d/1QZX5jm4xN8rhpvdjRsFP5Ybw1EXSNGaL/view?usp=sharing",details:["Linear regression","Bayesian linear regression","Non-linear regression","Bayesian non-linear regression","The kernel trick","Gaussian process regression","Sparse linear regression","Relevance vector regression"]},{text:"Classification models",link:"https://drive.google.com/file/d/1-_f4Yfm8iBWcaZ2Gyjw6O0eZiODipmSV/view?usp=sharing",details:["Logistic regression","Bayesian logistic regression","Non-linear logistic regression","Gaussian process classification","Relevance vector classification","Incremental fitting: boosting and trees","Multi-class logistic regression"]},{text:"Few-shot learning and meta-learning I",link:"https://www.borealisai.com/en/blog/tutorial-2-few-shot-learning-and-meta-learning-i/",details:["Meta-learning framework","Approaches to meta-learning","Matching networks","Prototypical networks","Relation networks"]},{text:"Few-shot learning and meta-learning II",link:"https://www.borealisai.com/en/blog/tutorial-3-few-shot-learning-and-meta-learning-ii/",details:["MAML & Reptile","LSTM based meta-learning","Reinforcement learning based approaches","Memory augmented neural networks","SNAIL","Generative models","Data augmentation approaches"]}],vk=[{text:"Neural natural language generation I",link:"https://www.borealisai.com/en/blog/tutorial-6-neural-natural-language-generation-decoding-algorithms/",details:["Encoder-decoder architecture","Maximum-likelihood training","Greedy search","Beam search","Diverse beam search","Top-k sampling","Nucleus sampling"]},{text:"Neural natural language generation II",link:"https://www.borealisai.com/en/blog/tutorial-7-neural-natural-language-generation-sequence-level-training/",details:["Fine-tuning with reinforcement learning","Training from scratch with RL","RL vs. structured prediction","Minimum risk training","Scheduled sampling","Beam search optimization","SeaRNN","Reward-augmented maximum likelihood"]},{text:"Parsing I",link:"https://www.borealisai.com/en/blog/tutorial-15-parsing-i-context-free-grammars-and-cyk-algorithm/",details:["Parse trees","Context-free grammars","Chomsky normal form","CYK recognition algorithm","Worked example"]},{text:"Parsing II",link:"https://www.borealisai.com/en/blog/tutorial-18-parsing-ii-wcfgs-inside-algorithm-and-weighted-parsing/",details:["Weighted context-free grammars","Semirings","Inside algorithm","Inside weights","Weighted parsing"]},{text:"Parsing III",link:"https://www.borealisai.com/en/blog/tutorial-19-parsing-iii-pcfgs-and-inside-outside-algorithm/",details:["Probabilistic context-free grammars","Parameter estimation (supervised)","Parameter estimation (unsupervised)","Viterbi training","Expectation maximization","Outside from inside","Interpretation of outside weights"]},{text:"XLNet",link:"https://www.borealisai.com/en/blog/understanding-xlnet/",details:["Language modeling","XLNet training objective","Permutations","Attention mask","Two stream self-attention"]}],yk=[{text:"Bias and fairness",link:"https://www.borealisai.com/en/blog/tutorial1-bias-and-fairness-ai/",details:["Sources of bias","Demographic Parity","Equality of odds","Equality of opportunity","Individual fairness","Bias mitigation"]},{text:"Explainability I",link:"https://www.borealisai.com/research-blogs/explainability-i-local-post-hoc-explanations/",details:["Taxonomy of XAI approaches","Local post-hoc explanations","Individual conditional explanation","Counterfactual explanations","LIME & Anchors","Shapley additive explanations & SHAP"]},{text:"Explainability II",link:"https://www.borealisai.com/research-blogs/explainability-ii-global-explanations-proxy-models-and-interpretable-models/",details:["Global feature importance","Partial dependence & ICE plots","Accumulated local effects","Aggregate SHAP values","Prototypes & criticisms","Surrogate / proxy models","Inherently interpretable models"]},{text:"Differential privacy I",link:"https://www.borealisai.com/en/blog/tutorial-12-differential-privacy-i-introduction/",details:["Early approaches to privacy","Fundamental law of information recovery","Differential privacy","Properties of differential privacy","The Laplace mechanism","Examples","Other mechanisms and definitions"]},{text:"Differential privacy II",link:"https://www.borealisai.com/en/blog/tutorial-13-differential-privacy-ii-machine-learning-and-data-generation/",details:["Differential privacy and matchine learning","DPSGD","PATE","Differentially private data generation","DPGAN","PateGAN"]}];function xk(){return u.jsx(u.Fragment,{children:u.jsx(Xw,{lightBg:!0,id:"More",children:u.jsxs(Zw,{children:[u.jsxs(qw,{imgStart:!1,children:[u.jsx(Md,{children:u.jsxs(ek,{children:[u.jsx(be,{children:"More"}),u.jsx(tk,{lightText:!1,children:"Further reading"}),u.jsx(nk,{darkText:!0,children:"Other articles, blogs, and books that I have written. Most in a similar style and using the same notation as Understanding Deep Learning."})]})}),u.jsx(Rd,{children:u.jsx(rk,{children:u.jsx(ok,{src:ik,alt:"More"})})})]}),u.jsxs(Jw,{children:[u.jsxs(Md,{children:[u.jsx(be,{children:"Book"}),u.jsx(Le,{children:lk.map((e,t)=>u.jsxs("li",{children:[u.jsx(Oe,{href:e.link,target:"_blank",rel:"noreferrer",children:e.text}),u.jsx(Ie,{children:u.jsx(ze,{children:e.details.map((n,r)=>u.jsx("li",{children:n},r))})})]},t))}),u.jsx(be,{children:"Transformers & LLMs"}),u.jsx(Le,{children:ak.map((e,t)=>u.jsxs("li",{children:[u.jsx(Oe,{href:e.link,target:"_blank",rel:"noreferrer",children:e.text}),u.jsx(Ie,{children:u.jsx(ze,{children:e.details.map((n,r)=>u.jsx("li",{children:n},r))})})]},t))}),u.jsx(be,{children:"Math for machine learning"}),u.jsx(Le,{children:sk.map((e,t)=>u.jsxs("li",{children:[u.jsx(Oe,{href:e.link,target:"_blank",rel:"noreferrer",children:e.text}),u.jsx(Ie,{children:u.jsx(ze,{children:e.details.map((n,r)=>u.jsx("li",{children:n},r))})})]},t))}),u.jsx(be,{children:"Optimization"}),u.jsx(Le,{children:uk.map((e,t)=>u.jsxs("li",{children:[u.jsx(Oe,{href:e.link,target:"_blank",rel:"noreferrer",children:e.text}),u.jsx(Ie,{children:u.jsx(ze,{children:e.details.map((n,r)=>u.jsx("li",{children:n},r))})})]},t))}),u.jsx(be,{children:"Temporal models"}),u.jsx(Le,{children:ck.map((e,t)=>u.jsxs("li",{children:[u.jsx(Oe,{href:e.link,target:"_blank",rel:"noreferrer",children:e.text}),u.jsx(Ie,{children:u.jsx(ze,{children:e.details.map((n,r)=>u.jsx("li",{children:n},r))})})]},t))}),u.jsx(be,{children:"Computer vision"}),u.jsx(Le,{children:dk.map((e,t)=>u.jsxs("li",{children:[u.jsx(Oe,{href:e.link,target:"_blank",rel:"noreferrer",children:e.text}),u.jsx(Ie,{children:u.jsx(ze,{children:e.details.map((n,r)=>u.jsx("li",{children:n},r))})})]},t))}),u.jsx(be,{children:"Reinforcement learning"}),u.jsx(Le,{children:fk.map((e,t)=>u.jsxs("li",{children:[u.jsx(Oe,{href:e.link,target:"_blank",rel:"noreferrer",children:e.text}),u.jsx(Ie,{children:u.jsx(ze,{children:e.details.map((n,r)=>u.jsx("li",{children:n},r))})})]},t))})]}),u.jsxs(Rd,{children:[u.jsx(be,{children:"AI Theory"}),u.jsx(Le,{children:pk.map((e,t)=>u.jsxs("li",{children:[u.jsx(Oe,{href:e.link,target:"_blank",rel:"noreferrer",children:e.text}),u.jsx(Ie,{children:u.jsx(ze,{children:e.details.map((n,r)=>u.jsx("li",{children:n},r))})})]},t))}),u.jsx(be,{children:"Unsupervised learning"}),u.jsx(Le,{children:hk.map((e,t)=>u.jsxs("li",{children:[u.jsx(Oe,{href:e.link,target:"_blank",rel:"noreferrer",children:e.text}),u.jsx(Ie,{children:u.jsx(ze,{children:e.details.map((n,r)=>u.jsx("li",{children:n},r))})})]},t))}),u.jsx(be,{children:"Graphical Models"}),u.jsx(Le,{children:mk.map((e,t)=>u.jsxs("li",{children:[u.jsx(Oe,{href:e.link,target:"_blank",rel:"noreferrer",children:e.text}),u.jsx(Ie,{children:u.jsx(ze,{children:e.details.map((n,r)=>u.jsx("li",{children:n},r))})})]},t))}),u.jsx(be,{children:"Machine learning"}),u.jsx(Le,{children:gk.map((e,t)=>u.jsxs("li",{children:[u.jsx(Oe,{href:e.link,target:"_blank",rel:"noreferrer",children:e.text}),u.jsx(Ie,{children:u.jsx(ze,{children:e.details.map((n,r)=>u.jsx("li",{children:n},r))})})]},t))}),u.jsx(be,{children:"Natural language processing"}),u.jsx(Le,{children:vk.map((e,t)=>u.jsxs("li",{children:[u.jsx(Oe,{href:e.link,target:"_blank",rel:"noreferrer",children:e.text}),u.jsx(Ie,{children:u.jsx(ze,{children:e.details.map((n,r)=>u.jsx("li",{children:n},r))})})]},t))}),u.jsx(be,{children:"Responsible AI"}),u.jsx(Le,{children:yk.map((e,t)=>u.jsxs("li",{children:[u.jsx(Oe,{href:e.link,target:"_blank",rel:"noreferrer",children:e.text}),u.jsx(Ie,{children:u.jsx(ze,{children:e.details.map((n,r)=>u.jsx("li",{children:n},r))})})]},t))})]})]})]})})})}const wk=k.nav` background: ${({scrollNav:e})=>e?"#000":"transparent"}; height: 100px; margin-top: -100px; display: flex; justify-content: center; align-items: center; font-size: 1rem; position: sticky; top: 0; z-index: 10; @media screen and (max-width: 960px) { transition: 0.8s all ease; } `,kk=k.div` display: flex; justify-content: space-between; height: 100px; z-index: 1; width: 100%; padding: 0 24px; max-width: 1100px; `,bk=k(ho)` color: #fff; justify-self: flex-start; cursor: pointer; font-size: 1.5rem; display: flex; align-items: center; margin-left: 24px; font-weight: bold; text-decoration: none; @media screen and (max-width: 768px) { font-size: 1rem; } `,Sk=k.div` display: none; @media screen and (max-width: 768px) { display: block; position: absolute; top: 0; right: 0; transform: translate(-100%, 60%); font-size: 1.8rem; cursor: pointer; } `,_k=k.ul` display: flex; align-items: center; list-style: none; text-align: center; margin-right: -22px; @media screen and (max-width: 768px) { display: none; } `,Zo=k.li` height: 80px; `;k.nav` display: flex; align-items: center; @media screen and (max-width: 768px) { display: none; } `;const qo=k(Tu)` color: #fff; display: flex; align-items: center; text-decoration: none; padding: 0 1rem; height: 100%; cursor: pointer; &.active { border-bottom: 3px solid #57c6d1; } `;k(ho)` border-radius: 50px; background: #01bf71; white-space: nowrap; padding: 10px 22px; color: #010606; font-size: 16px; outline: none; border: none; cursor: pointer; transition: all 0.2s ease-in-out; text-decoration: none; &:hover { transition: all 0.2s ease-in-out; background: #fff; color: #010606; } `;function Ek({toggle:e}){const[t,n]=P.useState(!1);P.useEffect(()=>{const o=()=>{n(window.scrollY>=80)};return window.addEventListener("scroll",o),()=>{window.removeEventListener("scroll",o)}},[]);const r=()=>{Lu.scrollToTop()};return u.jsx(u.Fragment,{children:u.jsx(gs.Provider,{value:{color:"#fff"},children:u.jsx(wk,{scrollNav:t,children:u.jsxs(kk,{children:[u.jsx(bk,{to:"/udlbook/",onClick:r,children:u.jsx("h1",{children:" Understanding Deep Learning "})}),u.jsx(Sk,{onClick:e,children:u.jsx(q0,{})}),u.jsxs(_k,{children:[u.jsx(Zo,{children:u.jsx(qo,{to:"Notebooks",smooth:!0,duration:500,spy:!0,exact:"true",offset:-80,activeClass:"active",children:"Notebooks"})}),u.jsx(Zo,{children:u.jsx(qo,{to:"Instructors",smooth:!0,duration:500,spy:!0,exact:"true",offset:-80,activeClass:"active",children:"Instructors"})}),u.jsx(Zo,{children:u.jsx(qo,{to:"Media",smooth:!0,duration:500,spy:!0,exact:"true",offset:-80,activeClass:"active",children:"Media"})}),u.jsx(Zo,{children:u.jsx(qo,{to:"More",smooth:!0,duration:500,spy:!0,exact:"true",offset:-80,activeClass:"active",children:"More"})})]})]})})})})}const Ck=k.div` color: #fff; /* background: #f9f9f9; */ background: ${({lightBg:e})=>e?"#f9f9f9":"#010606"}; @media screen and (max-width: 768px) { padding: 100px 0; } `,Pk=k.div` display: grid; z-index: 1; /* height: 1250px; */ width: 100%; max-width: 1100px; margin-right: auto; margin-left: auto; padding: 0 24px; justify-content: center; `,Dd=k.div` display: grid; grid-auto-columns: minmax(auto, 1fr); align-items: center; grid-template-areas: ${({imgStart:e})=>e?"'col2 col1'":"'col1 col2'"}; @media screen and (max-width: 768px) { grid-template-areas: ${({imgStart:e})=>e?"'col1' 'col2'":"'col1 col1' 'col2 col2'"}; } `,$d=k.p` margin-bottom: 15px; padding: 0 15px; grid-area: col1; @media screen and (max-width: 1050px) { font-size: 12px; } @media screen and (max-width: 768px) { font-size: 10px; } `,Fd=k.p` margin-bottom: 15px; padding: 0 15px; grid-area: col2; @media screen and (max-width: 1050px) { font-size: 12px; } @media screen and (max-width: 768px) { font-size: 10px; } `,jk=k.div` max-width: 540px; padding-top: 0; padding-bottom: 0; `,Nk=k.p` color: #57c6d1; font-size: 16px; line-height: 16px; font-weight: 700; letter-spacing: 1.4px; text-transform: uppercase; margin-bottom: 16px; `,Tk=k.h1` margin-bottom: 24px; font-size: 48px; line-height: 1.1; font-weight: 600; color: ${({lightText:e})=>e?"#f7f8fa":"#010606"}; @media screen and (max-width: 480px) { font-size: 32px; } `,Lk=k.p` max-width: 440px; margin-bottom: 35px; font-size: 18px; line-height: 24px; color: ${({darkText:e})=>e?"#010606":"#fff"}; `;k.div` display: flex; justify-content: flex-start; `;const zk=k.div` max-width: 555px; height: 100%; `,Ik=k.img` width: 100%; margin-top: 0; margin-right: 0; margin-left: 10px; padding-right: 0; `,Ad=k.a` text-decoration: none; color: #57c6d1; font-weight: 300; margin: 0 2px; position: relative; &:before { position: absolute; margin: 0 auto; top: 100%; left: 0; width: 100%; height: 2px; background-color: #57c6d1; content: ""; opacity: 0.3; -webkit-transform: scaleX(1); transition-property: opacity, -webkit-transform; transition-duration: 0.3s; } &:hover:before { opacity: 1; -webkit-transform: scaleX(1.05); } `,Ok="/udlbook/assets/coding-DMb7YNWh.svg",Jo=[{text:"Notebook 1.1 - Background mathematics",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap01/1_1_BackgroundMathematics.ipynb"},{text:"Notebook 2.1 - Supervised learning",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap02/2_1_Supervised_Learning.ipynb"},{text:"Notebook 3.1 - Shallow networks I",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap03/3_1_Shallow_Networks_I.ipynb"},{text:"Notebook 3.2 - Shallow networks II",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap03/3_2_Shallow_Networks_II.ipynb"},{text:"Notebook 3.3 - Shallow network regions",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap03/3_3_Shallow_Network_Regions.ipynb"},{text:"Notebook 3.4 - Activation functions",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap03/3_4_Activation_Functions.ipynb"},{text:"Notebook 4.1 - Composing networks",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap04/4_1_Composing_Networks.ipynb"},{text:"Notebook 4.2 - Clipping functions",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap04/4_2_Clipping_functions.ipynb"},{text:"Notebook 4.3 - Deep networks",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap04/4_3_Deep_Networks.ipynb"},{text:"Notebook 5.1 - Least squares loss",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap05/5_1_Least_Squares_Loss.ipynb"},{text:"Notebook 5.2 - Binary cross-entropy loss",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap05/5_2_Binary_Cross_Entropy_Loss.ipynb"},{text:"Notebook 5.3 - Multiclass cross-entropy loss",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap05/5_3_Multiclass_Cross_entropy_Loss.ipynb"},{text:"Notebook 6.1 - Line search",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap06/6_1_Line_Search.ipynb"},{text:"Notebook 6.2 - Gradient descent",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap06/6_2_Gradient_Descent.ipynb"},{text:"Notebook 6.3 - Stochastic gradient descent",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap06/6_3_Stochastic_Gradient_Descent.ipynb"},{text:"Notebook 6.4 - Momentum",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap06/6_4_Momentum.ipynb"},{text:"Notebook 6.5 - Adam",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap06/6_5_Adam.ipynb"},{text:"Notebook 7.1 - Backpropagation in toy model",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap07/7_1_Backpropagation_in_Toy_Model.ipynb"},{text:"Notebook 7.2 - Backpropagation",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap07/7_2_Backpropagation.ipynb"},{text:"Notebook 7.3 - Initialization",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap07/7_3_Initialization.ipynb"},{text:"Notebook 8.1 - MNIST-1D performance",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap08/8_1_MNIST_1D_Performance.ipynb"},{text:"Notebook 8.2 - Bias-variance trade-off",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap08/8_2_Bias_Variance_Trade_Off.ipynb"},{text:"Notebook 8.3 - Double descent",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap08/8_3_Double_Descent.ipynb"},{text:"Notebook 8.4 - High-dimensional spaces",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap08/8_4_High_Dimensional_Spaces.ipynb"},{text:"Notebook 9.1 - L2 regularization",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap09/9_1_L2_Regularization.ipynb"},{text:"Notebook 9.2 - Implicit regularization",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap09/9_2_Implicit_Regularization.ipynb"},{text:"Notebook 9.3 - Ensembling",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap09/9_3_Ensembling.ipynb"},{text:"Notebook 9.4 - Bayesian approach",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap09/9_4_Bayesian_Approach.ipynb"},{text:"Notebook 9.5 - Augmentation",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap09/9_5_Augmentation.ipynb"},{text:"Notebook 10.1 - 1D convolution",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap10/10_1_1D_Convolution.ipynb"},{text:"Notebook 10.2 - Convolution for MNIST-1D",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap10/10_2_Convolution_for_MNIST_1D.ipynb"},{text:"Notebook 10.3 - 2D convolution",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap10/10_3_2D_Convolution.ipynb"},{text:"Notebook 10.4 - Downsampling & upsampling",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap10/10_4_Downsampling_and_Upsampling.ipynb"},{text:"Notebook 10.5 - Convolution for MNIST",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap10/10_5_Convolution_For_MNIST.ipynb"},{text:"Notebook 11.1 - Shattered gradients",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap11/11_1_Shattered_Gradients.ipynb"},{text:"Notebook 11.2 - Residual networks",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap11/11_2_Residual_Networks.ipynb"},{text:"Notebook 11.3 - Batch normalization",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap11/11_3_Batch_Normalization.ipynb"},{text:"Notebook 12.1 - Self-attention",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap12/12_1_Self_Attention.ipynb"},{text:"Notebook 12.2 - Multi-head self-attention",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap12/12_2_Multihead_Self_Attention.ipynb"},{text:"Notebook 12.3 - Tokenization",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap12/12_3_Tokenization.ipynb"},{text:"Notebook 12.4 - Decoding strategies",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap12/12_4_Decoding_Strategies.ipynb"},{text:"Notebook 13.1 - Encoding graphs",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap13/13_1_Graph_Representation.ipynb"},{text:"Notebook 13.2 - Graph classification",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap13/13_2_Graph_Classification.ipynb"},{text:"Notebook 13.3 - Neighborhood sampling",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap13/13_3_Neighborhood_Sampling.ipynb"},{text:"Notebook 13.4 - Graph attention",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap13/13_4_Graph_Attention_Networks.ipynb"},{text:"Notebook 15.1 - GAN toy example",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap15/15_1_GAN_Toy_Example.ipynb"},{text:"Notebook 15.2 - Wasserstein distance",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap15/15_2_Wasserstein_Distance.ipynb"},{text:"Notebook 16.1 - 1D normalizing flows",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap16/16_1_1D_Normalizing_Flows.ipynb"},{text:"Notebook 16.2 - Autoregressive flows",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap16/16_2_Autoregressive_Flows.ipynb"},{text:"Notebook 16.3 - Contraction mappings",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap16/16_3_Contraction_Mappings.ipynb"},{text:"Notebook 17.1 - Latent variable models",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap17/17_1_Latent_Variable_Models.ipynb"},{text:"Notebook 17.2 - Reparameterization trick",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap17/17_2_Reparameterization_Trick.ipynb"},{text:"Notebook 17.3 - Importance sampling",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap17/17_3_Importance_Sampling.ipynb"},{text:"Notebook 18.1 - Diffusion encoder",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap18/18_1_Diffusion_Encoder.ipynb"},{text:"Notebook 18.2 - 1D diffusion model",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap18/18_2_1D_Diffusion_Model.ipynb"},{text:"Notebook 18.3 - Reparameterized model",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap18/18_3_Reparameterized_Model.ipynb"},{text:"Notebook 18.4 - Families of diffusion models",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap18/18_4_Families_of_Diffusion_Models.ipynb"},{text:"Notebook 19.1 - Markov decision processes",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap19/19_1_Markov_Decision_Processes.ipynb"},{text:"Notebook 19.2 - Dynamic programming",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap19/19_2_Dynamic_Programming.ipynb"},{text:"Notebook 19.3 - Monte-Carlo methods",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap19/19_3_Monte_Carlo_Methods.ipynb"},{text:"Notebook 19.4 - Temporal difference methods",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap19/19_4_Temporal_Difference_Methods.ipynb"},{text:"Notebook 19.5 - Control variates",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap19/19_5_Control_Variates.ipynb"},{text:"Notebook 20.1 - Random data",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap20/20_1_Random_Data.ipynb"},{text:"Notebook 20.2 - Full-batch gradient descent",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap20/20_2_Full_Batch_Gradient_Descent.ipynb"},{text:"Notebook 20.3 - Lottery tickets",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap20/20_3_Lottery_Tickets.ipynb"},{text:"Notebook 20.4 - Adversarial attacks",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap20/20_4_Adversarial_Attacks.ipynb"},{text:"Notebook 21.1 - Bias mitigation",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap21/21_1_Bias_Mitigation.ipynb"},{text:"Notebook 21.2 - Explainability",link:"https://github.com/udlbook/udlbook/blob/main/Notebooks/Chap21/21_2_Explainability.ipynb"}];function Mk(){return u.jsx(u.Fragment,{children:u.jsx(Ck,{lightBg:!1,id:"Notebooks",children:u.jsxs(Pk,{children:[u.jsxs(Dd,{imgStart:!0,children:[u.jsx($d,{children:u.jsxs(jk,{children:[u.jsx(Nk,{children:"Coding exercises"}),u.jsx(Tk,{lightText:!0,children:"Python notebooks covering the whole text"}),u.jsx(Lk,{darkText:!1,children:"Sixty eight python notebook exercises with missing code to fill in based on the text"})]})}),u.jsx(Fd,{children:u.jsx(zk,{children:u.jsx(Ik,{src:Ok,alt:"Coding"})})})]}),u.jsxs(Dd,{children:[u.jsx($d,{children:u.jsx("ul",{children:Jo.slice(0,Jo.length/2).map((e,t)=>u.jsxs("li",{children:[e.text,":"," ",u.jsx(Ad,{href:e.link,children:"ipynb/colab"})]},t))})}),u.jsx(Fd,{children:u.jsx("ul",{children:Jo.slice(Jo.length/2).map((e,t)=>u.jsxs("li",{children:[e.text,":"," ",u.jsx(Ad,{href:e.link,children:"ipynb/colab"})]},t))})})]})]})})})}const Rk=k.aside` position: fixed; z-index: 999; width: 100%; height: 100%; background: #0d0d0d; display: grid; align-items: center; top: 0; left: 0; transition: 0.3s ease-in-out; opacity: ${({isOpen:e})=>e?"100%":"0"}; top: ${({isOpen:e})=>e?"0":"-100%"}; `,Dk=k(J0)` color: #fff; &:hover { color: #01bf71; transition: 0.2s ease-in-out; } `,$k=k.div` position: absolute; top: 1.2rem; right: 1.5rem; background: transparent; font-size: 2rem; cursor: pointer; outline: none; `,Fk=k.div` color: #ffffff; `,Ak=k.ul` display: grid; grid-template-columns: 1fr; grid-template-rows: repeat(6, 80px); text-align: center; @media screen and (max-width: 480px) { grid-template-rows: repeat(6, 60px); } `,ei=k(Tu)` display: flex; align-items: center; justify-content: center; font-size: 1.5rem; text-decoration: none; list-style: none; transition: 0.2s ease-in-out; text-decoration: none; color: #fff; cursor: pointer; &:hover { color: #01bf71; transition: 0.2s ease-in-out; } `;k.div` display: flex; justify-content: center; `;k(ho)` border-radius: 50px; background: #01bf71; white-space: nowrap; padding: 16px 46px; color: #010606; font-size: 16px; outline: none; border: none; cursor: pointer; transition: all 0.2s ease-in-out; text-decoration: none; &:hover { transition: all 0.2s ease-in-out; background: #fff; color: #010606; } `;function Bk({isOpen:e,toggle:t}){return u.jsx(u.Fragment,{children:u.jsxs(Rk,{isOpen:e,onClick:t,children:[u.jsx($k,{onClick:t,children:u.jsx(Dk,{})}),u.jsx(Fk,{children:u.jsxs(Ak,{children:[u.jsx(ei,{to:"Notebooks",onClick:t,children:"Notebooks"}),u.jsx(ei,{to:"Instructors",onClick:t,children:"Instructors"}),u.jsx(ei,{to:"Media",onClick:t,children:"Media"}),u.jsx(ei,{to:"More",onClick:t,children:"More"})]})})]})})}function Uk(){const[e,t]=P.useState(!1),n=()=>{t(r=>!r)};return u.jsxs(u.Fragment,{children:[u.jsx(Bk,{isOpen:e,toggle:n}),u.jsx(Ek,{toggle:n}),u.jsx(Ew,{}),u.jsx(Mk,{}),u.jsx($w,{}),u.jsx(Kw,{}),u.jsx(xk,{}),u.jsx(lw,{})]})}function Hk(){return u.jsx(Tv,{children:u.jsx(Sv,{children:u.jsx(ph,{exact:!0,path:"/udlbook",element:u.jsx(Uk,{})})})})}var xs={},Bd=th;xs.createRoot=Bd.createRoot,xs.hydrateRoot=Bd.hydrateRoot;xs.createRoot(document.getElementById("root")).render(u.jsx(Ce.StrictMode,{children:u.jsx(Hk,{})}));