@mui-toolpad-extended-tuni/courses 3.0.0 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const U=require("react"),H=require("mui-toolpad-extended-tuni"),ie=require("react-router-dom"),P=require("@mui/material"),bn=require("@emotion/styled");require("@emotion/react");function vn(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const ye=vn(U);function Wr(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Xe={exports:{}},Ve={};/**
1
+ "use strict";var Nn=Object.defineProperty;var Ln=(e,a,o)=>a in e?Nn(e,a,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[a]=o;var Se=(e,a,o)=>Ln(e,typeof a!="symbol"?a+"":a,o);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ne=require("react"),B=require("mui-toolpad-extended-tuni"),Y=require("@mui/material"),Mn=require("@emotion/styled");require("@emotion/react");function Bn(e){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const o in e)if(o!=="default"){const t=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(a,o,t.get?t:{enumerable:!0,get:()=>e[o]})}}return a.default=e,Object.freeze(a)}const Re=Bn(ne);function Nt(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Ea={exports:{}},ca={};/**
2
2
  * @license React
3
3
  * react-jsx-runtime.production.js
4
4
  *
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * This source code is licensed under the MIT license found in the
8
8
  * LICENSE file in the root directory of this source tree.
9
- */var Zt;function Sn(){if(Zt)return Ve;Zt=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function r(n,o,s){var i=null;if(s!==void 0&&(i=""+s),o.key!==void 0&&(i=""+o.key),"key"in o){s={};for(var a in o)a!=="key"&&(s[a]=o[a])}else s=o;return o=s.ref,{$$typeof:e,type:n,key:i,ref:o!==void 0?o:null,props:s}}return Ve.Fragment=t,Ve.jsx=r,Ve.jsxs=r,Ve}var Fe={};/**
9
+ */var No;function Un(){if(No)return ca;No=1;var e=Symbol.for("react.transitional.element"),a=Symbol.for("react.fragment");function o(t,n,r){var i=null;if(r!==void 0&&(i=""+r),n.key!==void 0&&(i=""+n.key),"key"in n){r={};for(var s in n)s!=="key"&&(r[s]=n[s])}else r=n;return n=r.ref,{$$typeof:e,type:t,key:i,ref:n!==void 0?n:null,props:r}}return ca.Fragment=a,ca.jsx=o,ca.jsxs=o,ca}var la={};/**
10
10
  * @license React
11
11
  * react-jsx-runtime.development.js
12
12
  *
@@ -14,12 +14,12 @@
14
14
  *
15
15
  * This source code is licensed under the MIT license found in the
16
16
  * LICENSE file in the root directory of this source tree.
17
- */var er;function Cn(){return er||(er=1,process.env.NODE_ENV!=="production"&&function(){function e(p){if(p==null)return null;if(typeof p=="function")return p.$$typeof===Z?null:p.displayName||p.name||null;if(typeof p=="string")return p;switch(p){case S:return"Fragment";case k:return"Profiler";case T:return"StrictMode";case x:return"Suspense";case N:return"SuspenseList";case fe:return"Activity"}if(typeof p=="object")switch(typeof p.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),p.$$typeof){case l:return"Portal";case O:return p.displayName||"Context";case A:return(p._context.displayName||"Context")+".Consumer";case C:var _=p.render;return p=p.displayName,p||(p=_.displayName||_.name||"",p=p!==""?"ForwardRef("+p+")":"ForwardRef"),p;case W:return _=p.displayName||null,_!==null?_:e(p.type)||"Memo";case q:_=p._payload,p=p._init;try{return e(p(_))}catch{}}return null}function t(p){return""+p}function r(p){try{t(p);var _=!1}catch{_=!0}if(_){_=console;var I=_.error,j=typeof Symbol=="function"&&Symbol.toStringTag&&p[Symbol.toStringTag]||p.constructor.name||"Object";return I.call(_,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",j),t(p)}}function n(p){if(p===S)return"<>";if(typeof p=="object"&&p!==null&&p.$$typeof===q)return"<...>";try{var _=e(p);return _?"<"+_+">":"<...>"}catch{return"<...>"}}function o(){var p=c.A;return p===null?null:p.getOwner()}function s(){return Error("react-stack-top-frame")}function i(p){if($.call(p,"key")){var _=Object.getOwnPropertyDescriptor(p,"key").get;if(_&&_.isReactWarning)return!1}return p.key!==void 0}function a(p,_){function I(){D||(D=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",_))}I.isReactWarning=!0,Object.defineProperty(p,"key",{get:I,configurable:!0})}function u(){var p=e(this.type);return ne[p]||(ne[p]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),p=this.props.ref,p!==void 0?p:null}function f(p,_,I,j,F,B){var M=I.ref;return p={$$typeof:y,type:p,key:_,props:I,_owner:j},(M!==void 0?M:null)!==null?Object.defineProperty(p,"ref",{enumerable:!1,get:u}):Object.defineProperty(p,"ref",{enumerable:!1,value:null}),p._store={},Object.defineProperty(p._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(p,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(p,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:F}),Object.defineProperty(p,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:B}),Object.freeze&&(Object.freeze(p.props),Object.freeze(p)),p}function d(p,_,I,j,F,B){var M=_.children;if(M!==void 0)if(j)if(w(M)){for(j=0;j<M.length;j++)h(M[j]);Object.freeze&&Object.freeze(M)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else h(M);if($.call(_,"key")){M=e(p);var V=Object.keys(_).filter(function(z){return z!=="key"});j=0<V.length?"{key: someKey, "+V.join(": ..., ")+": ...}":"{key: someKey}",E[M+j]||(V=0<V.length?"{"+V.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
17
+ */var Lo;function qn(){return Lo||(Lo=1,process.env.NODE_ENV!=="production"&&function(){function e(x){if(x==null)return null;if(typeof x=="function")return x.$$typeof===U?null:x.displayName||x.name||null;if(typeof x=="string")return x;switch(x){case v:return"Fragment";case P:return"Profiler";case T:return"StrictMode";case w:return"Suspense";case z:return"SuspenseList";case H:return"Activity"}if(typeof x=="object")switch(typeof x.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),x.$$typeof){case c:return"Portal";case b:return x.displayName||"Context";case _:return(x._context.displayName||"Context")+".Consumer";case y:var F=x.render;return x=x.displayName,x||(x=F.displayName||F.name||"",x=x!==""?"ForwardRef("+x+")":"ForwardRef"),x;case L:return F=x.displayName||null,F!==null?F:e(x.type)||"Memo";case $:F=x._payload,x=x._init;try{return e(x(F))}catch{}}return null}function a(x){return""+x}function o(x){try{a(x);var F=!1}catch{F=!0}if(F){F=console;var q=F.error,V=typeof Symbol=="function"&&Symbol.toStringTag&&x[Symbol.toStringTag]||x.constructor.name||"Object";return q.call(F,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",V),a(x)}}function t(x){if(x===v)return"<>";if(typeof x=="object"&&x!==null&&x.$$typeof===$)return"<...>";try{var F=e(x);return F?"<"+F+">":"<...>"}catch{return"<...>"}}function n(){var x=l.A;return x===null?null:x.getOwner()}function r(){return Error("react-stack-top-frame")}function i(x){if(M.call(x,"key")){var F=Object.getOwnPropertyDescriptor(x,"key").get;if(F&&F.isReactWarning)return!1}return x.key!==void 0}function s(x,F){function q(){N||(N=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",F))}q.isReactWarning=!0,Object.defineProperty(x,"key",{get:q,configurable:!0})}function u(){var x=e(this.type);return Z[x]||(Z[x]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),x=this.props.ref,x!==void 0?x:null}function p(x,F,q,V,X,J){var W=q.ref;return x={$$typeof:f,type:x,key:F,props:q,_owner:V},(W!==void 0?W:null)!==null?Object.defineProperty(x,"ref",{enumerable:!1,get:u}):Object.defineProperty(x,"ref",{enumerable:!1,value:null}),x._store={},Object.defineProperty(x._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(x,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(x,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:X}),Object.defineProperty(x,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:J}),Object.freeze&&(Object.freeze(x.props),Object.freeze(x)),x}function d(x,F,q,V,X,J){var W=F.children;if(W!==void 0)if(V)if(D(W)){for(V=0;V<W.length;V++)m(W[V]);Object.freeze&&Object.freeze(W)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else m(W);if(M.call(F,"key")){W=e(x);var G=Object.keys(F).filter(function(ee){return ee!=="key"});V=0<G.length?"{key: someKey, "+G.join(": ..., ")+": ...}":"{key: someKey}",R[W+V]||(G=0<G.length?"{"+G.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
18
18
  let props = %s;
19
19
  <%s {...props} />
20
20
  React keys must be passed directly to JSX without using spread:
21
21
  let props = %s;
22
- <%s key={someKey} {...props} />`,j,M,V,M),E[M+j]=!0)}if(M=null,I!==void 0&&(r(I),M=""+I),i(_)&&(r(_.key),M=""+_.key),"key"in _){I={};for(var Y in _)Y!=="key"&&(I[Y]=_[Y])}else I=_;return M&&a(I,typeof p=="function"?p.displayName||p.name||"Unknown":p),f(p,M,I,o(),F,B)}function h(p){m(p)?p._store&&(p._store.validated=1):typeof p=="object"&&p!==null&&p.$$typeof===q&&(p._payload.status==="fulfilled"?m(p._payload.value)&&p._payload.value._store&&(p._payload.value._store.validated=1):p._store&&(p._store.validated=1))}function m(p){return typeof p=="object"&&p!==null&&p.$$typeof===y}var b=U,y=Symbol.for("react.transitional.element"),l=Symbol.for("react.portal"),S=Symbol.for("react.fragment"),T=Symbol.for("react.strict_mode"),k=Symbol.for("react.profiler"),A=Symbol.for("react.consumer"),O=Symbol.for("react.context"),C=Symbol.for("react.forward_ref"),x=Symbol.for("react.suspense"),N=Symbol.for("react.suspense_list"),W=Symbol.for("react.memo"),q=Symbol.for("react.lazy"),fe=Symbol.for("react.activity"),Z=Symbol.for("react.client.reference"),c=b.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,$=Object.prototype.hasOwnProperty,w=Array.isArray,L=console.createTask?console.createTask:function(){return null};b={react_stack_bottom_frame:function(p){return p()}};var D,ne={},ce=b.react_stack_bottom_frame.bind(b,s)(),be=L(n(s)),E={};Fe.Fragment=S,Fe.jsx=function(p,_,I){var j=1e4>c.recentlyCreatedOwnerStacks++;return d(p,_,I,!1,j?Error("react-stack-top-frame"):ce,j?L(n(p)):be)},Fe.jsxs=function(p,_,I){var j=1e4>c.recentlyCreatedOwnerStacks++;return d(p,_,I,!0,j?Error("react-stack-top-frame"):ce,j?L(n(p)):be)}}()),Fe}var tr;function xn(){return tr||(tr=1,process.env.NODE_ENV==="production"?Xe.exports=Sn():Xe.exports=Cn()),Xe.exports}var g=xn();const En={registerCourseMicroservice:()=>{},unregisterCourseMicroservice:()=>{},allCourseMicroserviceNavigation:[],isInsideCourseMicroservice:!1},Yr=U.createContext(En),Wt=()=>U.useContext(Yr),Tn=({children:e})=>{const[t,r]=U.useState([]);U.useEffect(()=>{H.useNavigationStore.getState().setExternalMicroservices(t)},[t]);const n=U.useCallback(i=>{r(a=>a.find(f=>f.segment===i.segment)?a:[...a,i])},[]),o=U.useCallback(i=>{r(a=>a.filter(f=>f.segment!==i))},[]),s=U.useMemo(()=>({registerCourseMicroservice:n,unregisterCourseMicroservice:o,allCourseMicroserviceNavigation:t,isInsideCourseMicroservice:!0}),[n,o,t]);return g.jsx(Yr.Provider,{value:s,children:e})};var Qe={exports:{}},Tt={},Ze={exports:{}},Ot={};/**
22
+ <%s key={someKey} {...props} />`,V,W,G,W),R[W+V]=!0)}if(W=null,q!==void 0&&(o(q),W=""+q),i(F)&&(o(F.key),W=""+F.key),"key"in F){q={};for(var ae in F)ae!=="key"&&(q[ae]=F[ae])}else q=F;return W&&s(q,typeof x=="function"?x.displayName||x.name||"Unknown":x),p(x,W,q,n(),X,J)}function m(x){h(x)?x._store&&(x._store.validated=1):typeof x=="object"&&x!==null&&x.$$typeof===$&&(x._payload.status==="fulfilled"?h(x._payload.value)&&x._payload.value._store&&(x._payload.value._store.validated=1):x._store&&(x._store.validated=1))}function h(x){return typeof x=="object"&&x!==null&&x.$$typeof===f}var g=ne,f=Symbol.for("react.transitional.element"),c=Symbol.for("react.portal"),v=Symbol.for("react.fragment"),T=Symbol.for("react.strict_mode"),P=Symbol.for("react.profiler"),_=Symbol.for("react.consumer"),b=Symbol.for("react.context"),y=Symbol.for("react.forward_ref"),w=Symbol.for("react.suspense"),z=Symbol.for("react.suspense_list"),L=Symbol.for("react.memo"),$=Symbol.for("react.lazy"),H=Symbol.for("react.activity"),U=Symbol.for("react.client.reference"),l=g.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,M=Object.prototype.hasOwnProperty,D=Array.isArray,C=console.createTask?console.createTask:function(){return null};g={react_stack_bottom_frame:function(x){return x()}};var N,Z={},Q=g.react_stack_bottom_frame.bind(g,r)(),re=C(t(r)),R={};la.Fragment=v,la.jsx=function(x,F,q){var V=1e4>l.recentlyCreatedOwnerStacks++;return d(x,F,q,!1,V?Error("react-stack-top-frame"):Q,V?C(t(x)):re)},la.jsxs=function(x,F,q){var V=1e4>l.recentlyCreatedOwnerStacks++;return d(x,F,q,!0,V?Error("react-stack-top-frame"):Q,V?C(t(x)):re)}}()),la}var Mo;function Vn(){return Mo||(Mo=1,process.env.NODE_ENV==="production"?Ea.exports=Un():Ea.exports=qn()),Ea.exports}var S=Vn();const Wn={registerCourseMicroservice:()=>{},unregisterCourseMicroservice:()=>{},allCourseMicroserviceNavigation:[],isInsideCourseMicroservice:!1},Lt=ne.createContext(Wn),So=()=>ne.useContext(Lt),Hn=({children:e})=>{const[a,o]=ne.useState([]);ne.useEffect(()=>{B.useNavigationStore.getState().setExternalMicroservices(a)},[a]);const t=ne.useCallback(i=>{o(s=>s.find(p=>p.segment===i.segment)?s:[...s,i])},[]),n=ne.useCallback(i=>{o(s=>s.filter(p=>p.segment!==i))},[]),r=ne.useMemo(()=>({registerCourseMicroservice:t,unregisterCourseMicroservice:n,allCourseMicroserviceNavigation:a,isInsideCourseMicroservice:!0}),[t,n,a]);return S.jsx(Lt.Provider,{value:r,children:e})};var Sa={exports:{}},ao={},za={exports:{}},oo={};/**
23
23
  * @license React
24
24
  * use-sync-external-store-shim.production.js
25
25
  *
@@ -27,7 +27,7 @@ React keys must be passed directly to JSX without using spread:
27
27
  *
28
28
  * This source code is licensed under the MIT license found in the
29
29
  * LICENSE file in the root directory of this source tree.
30
- */var rr;function On(){if(rr)return Ot;rr=1;var e=U;function t(h,m){return h===m&&(h!==0||1/h===1/m)||h!==h&&m!==m}var r=typeof Object.is=="function"?Object.is:t,n=e.useState,o=e.useEffect,s=e.useLayoutEffect,i=e.useDebugValue;function a(h,m){var b=m(),y=n({inst:{value:b,getSnapshot:m}}),l=y[0].inst,S=y[1];return s(function(){l.value=b,l.getSnapshot=m,u(l)&&S({inst:l})},[h,b,m]),o(function(){return u(l)&&S({inst:l}),h(function(){u(l)&&S({inst:l})})},[h]),i(b),b}function u(h){var m=h.getSnapshot;h=h.value;try{var b=m();return!r(h,b)}catch{return!0}}function f(h,m){return m()}var d=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?f:a;return Ot.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:d,Ot}var wt={};/**
30
+ */var Bo;function Gn(){if(Bo)return oo;Bo=1;var e=ne;function a(m,h){return m===h&&(m!==0||1/m===1/h)||m!==m&&h!==h}var o=typeof Object.is=="function"?Object.is:a,t=e.useState,n=e.useEffect,r=e.useLayoutEffect,i=e.useDebugValue;function s(m,h){var g=h(),f=t({inst:{value:g,getSnapshot:h}}),c=f[0].inst,v=f[1];return r(function(){c.value=g,c.getSnapshot=h,u(c)&&v({inst:c})},[m,g,h]),n(function(){return u(c)&&v({inst:c}),m(function(){u(c)&&v({inst:c})})},[m]),i(g),g}function u(m){var h=m.getSnapshot;m=m.value;try{var g=h();return!o(m,g)}catch{return!0}}function p(m,h){return h()}var d=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?p:s;return oo.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:d,oo}var to={};/**
31
31
  * @license React
32
32
  * use-sync-external-store-shim.development.js
33
33
  *
@@ -35,7 +35,7 @@ React keys must be passed directly to JSX without using spread:
35
35
  *
36
36
  * This source code is licensed under the MIT license found in the
37
37
  * LICENSE file in the root directory of this source tree.
38
- */var nr;function wn(){return nr||(nr=1,process.env.NODE_ENV!=="production"&&function(){function e(b,y){return b===y&&(b!==0||1/b===1/y)||b!==b&&y!==y}function t(b,y){d||o.startTransition===void 0||(d=!0,console.error("You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release."));var l=y();if(!h){var S=y();s(l,S)||(console.error("The result of getSnapshot should be cached to avoid an infinite loop"),h=!0)}S=i({inst:{value:l,getSnapshot:y}});var T=S[0].inst,k=S[1];return u(function(){T.value=l,T.getSnapshot=y,r(T)&&k({inst:T})},[b,l,y]),a(function(){return r(T)&&k({inst:T}),b(function(){r(T)&&k({inst:T})})},[b]),f(l),l}function r(b){var y=b.getSnapshot;b=b.value;try{var l=y();return!s(b,l)}catch{return!0}}function n(b,y){return y()}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var o=U,s=typeof Object.is=="function"?Object.is:e,i=o.useState,a=o.useEffect,u=o.useLayoutEffect,f=o.useDebugValue,d=!1,h=!1,m=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?n:t;wt.useSyncExternalStore=o.useSyncExternalStore!==void 0?o.useSyncExternalStore:m,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())}()),wt}var or;function Gr(){return or||(or=1,process.env.NODE_ENV==="production"?Ze.exports=On():Ze.exports=wn()),Ze.exports}/**
38
+ */var Uo;function Yn(){return Uo||(Uo=1,process.env.NODE_ENV!=="production"&&function(){function e(g,f){return g===f&&(g!==0||1/g===1/f)||g!==g&&f!==f}function a(g,f){d||n.startTransition===void 0||(d=!0,console.error("You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release."));var c=f();if(!m){var v=f();r(c,v)||(console.error("The result of getSnapshot should be cached to avoid an infinite loop"),m=!0)}v=i({inst:{value:c,getSnapshot:f}});var T=v[0].inst,P=v[1];return u(function(){T.value=c,T.getSnapshot=f,o(T)&&P({inst:T})},[g,c,f]),s(function(){return o(T)&&P({inst:T}),g(function(){o(T)&&P({inst:T})})},[g]),p(c),c}function o(g){var f=g.getSnapshot;g=g.value;try{var c=f();return!r(g,c)}catch{return!0}}function t(g,f){return f()}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var n=ne,r=typeof Object.is=="function"?Object.is:e,i=n.useState,s=n.useEffect,u=n.useLayoutEffect,p=n.useDebugValue,d=!1,m=!1,h=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?t:a;to.useSyncExternalStore=n.useSyncExternalStore!==void 0?n.useSyncExternalStore:h,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())}()),to}var qo;function Mt(){return qo||(qo=1,process.env.NODE_ENV==="production"?za.exports=Gn():za.exports=Yn()),za.exports}/**
39
39
  * @license React
40
40
  * use-sync-external-store-shim/with-selector.production.js
41
41
  *
@@ -43,7 +43,7 @@ React keys must be passed directly to JSX without using spread:
43
43
  *
44
44
  * This source code is licensed under the MIT license found in the
45
45
  * LICENSE file in the root directory of this source tree.
46
- */var sr;function _n(){if(sr)return Tt;sr=1;var e=U,t=Gr();function r(f,d){return f===d&&(f!==0||1/f===1/d)||f!==f&&d!==d}var n=typeof Object.is=="function"?Object.is:r,o=t.useSyncExternalStore,s=e.useRef,i=e.useEffect,a=e.useMemo,u=e.useDebugValue;return Tt.useSyncExternalStoreWithSelector=function(f,d,h,m,b){var y=s(null);if(y.current===null){var l={hasValue:!1,value:null};y.current=l}else l=y.current;y=a(function(){function T(x){if(!k){if(k=!0,A=x,x=m(x),b!==void 0&&l.hasValue){var N=l.value;if(b(N,x))return O=N}return O=x}if(N=O,n(A,x))return N;var W=m(x);return b!==void 0&&b(N,W)?(A=x,N):(A=x,O=W)}var k=!1,A,O,C=h===void 0?null:h;return[function(){return T(d())},C===null?void 0:function(){return T(C())}]},[d,h,m,b]);var S=o(f,y[0],y[1]);return i(function(){l.hasValue=!0,l.value=S},[S]),u(S),S},Tt}var _t={};/**
46
+ */var Vo;function Kn(){if(Vo)return ao;Vo=1;var e=ne,a=Mt();function o(p,d){return p===d&&(p!==0||1/p===1/d)||p!==p&&d!==d}var t=typeof Object.is=="function"?Object.is:o,n=a.useSyncExternalStore,r=e.useRef,i=e.useEffect,s=e.useMemo,u=e.useDebugValue;return ao.useSyncExternalStoreWithSelector=function(p,d,m,h,g){var f=r(null);if(f.current===null){var c={hasValue:!1,value:null};f.current=c}else c=f.current;f=s(function(){function T(w){if(!P){if(P=!0,_=w,w=h(w),g!==void 0&&c.hasValue){var z=c.value;if(g(z,w))return b=z}return b=w}if(z=b,t(_,w))return z;var L=h(w);return g!==void 0&&g(z,L)?(_=w,z):(_=w,b=L)}var P=!1,_,b,y=m===void 0?null:m;return[function(){return T(d())},y===null?void 0:function(){return T(y())}]},[d,m,h,g]);var v=n(p,f[0],f[1]);return i(function(){c.hasValue=!0,c.value=v},[v]),u(v),v},ao}var no={};/**
47
47
  * @license React
48
48
  * use-sync-external-store-shim/with-selector.development.js
49
49
  *
@@ -51,26 +51,26 @@ React keys must be passed directly to JSX without using spread:
51
51
  *
52
52
  * This source code is licensed under the MIT license found in the
53
53
  * LICENSE file in the root directory of this source tree.
54
- */var ir;function Rn(){return ir||(ir=1,process.env.NODE_ENV!=="production"&&function(){function e(f,d){return f===d&&(f!==0||1/f===1/d)||f!==f&&d!==d}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var t=U,r=Gr(),n=typeof Object.is=="function"?Object.is:e,o=r.useSyncExternalStore,s=t.useRef,i=t.useEffect,a=t.useMemo,u=t.useDebugValue;_t.useSyncExternalStoreWithSelector=function(f,d,h,m,b){var y=s(null);if(y.current===null){var l={hasValue:!1,value:null};y.current=l}else l=y.current;y=a(function(){function T(x){if(!k){if(k=!0,A=x,x=m(x),b!==void 0&&l.hasValue){var N=l.value;if(b(N,x))return O=N}return O=x}if(N=O,n(A,x))return N;var W=m(x);return b!==void 0&&b(N,W)?(A=x,N):(A=x,O=W)}var k=!1,A,O,C=h===void 0?null:h;return[function(){return T(d())},C===null?void 0:function(){return T(C())}]},[d,h,m,b]);var S=o(f,y[0],y[1]);return i(function(){l.hasValue=!0,l.value=S},[S]),u(S),S},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())}()),_t}var ar;function $n(){return ar||(ar=1,process.env.NODE_ENV==="production"?Qe.exports=_n():Qe.exports=Rn()),Qe.exports}var An=$n();const jn=Wr(An),Pn={},cr=e=>{let t;const r=new Set,n=(d,h)=>{const m=typeof d=="function"?d(t):d;if(!Object.is(m,t)){const b=t;t=h??(typeof m!="object"||m===null)?m:Object.assign({},t,m),r.forEach(y=>y(t,b))}},o=()=>t,u={setState:n,getState:o,getInitialState:()=>f,subscribe:d=>(r.add(d),()=>r.delete(d)),destroy:()=>{(Pn?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),r.clear()}},f=t=e(n,o,u);return u},In=e=>e?cr(e):cr,{useDebugValue:kn}=U,{useSyncExternalStoreWithSelector:Mn}=jn,Nn=e=>e;function Ln(e,t=Nn,r){const n=Mn(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,r);return kn(n),n}const lr=(e,t)=>{const r=In(e),n=(o,s=t)=>Ln(r,o,s);return Object.assign(n,r),n},Dn=(e,t)=>e?lr(e,t):lr,ur=new Map,Bn=3e5;async function Hr(e,t){const r=ur.get(e);if(r&&Date.now()-r.timestamp<Bn)return r.data;const n=await t();return ur.set(e,{timestamp:Date.now(),data:n}),n}async function Vn(){return Hr("getCourses",async()=>{try{const e=await H.axios.get("api/courses/");return Array.isArray(e.data)?H.convertObjectKeysToCamelCase(e.data):(console.error("Expected array but got:",e.data),[])}catch(e){throw new Error("Failed to retrieve courses: "+e)}})}async function Fn(e){const t=btoa(e),r=`getCourseByUrl_${t}`;return Hr(r,async()=>{try{const n=await H.axios.get(`api/courses/?encoded_url=${t}`);if(!Array.isArray(n.data)||n.data.length===0)throw new Error("Course not found");return H.convertObjectKeysToCamelCase(n.data[0])}catch(n){throw new Error("Failed to retrieve course by URL: "+n)}})}const Un=async e=>{const t={...e,dataProcessing:e.dataProcessing||{purposes:["course_delivery","assessment"],retention:365,thirdPartyProcessors:[],specialCategories:!1,legalBasis:"consent"}};try{const r=await H.axios.put(`api/courses/${t.id}/`,H.convertObjectKeysToUnderscore(t));return H.convertObjectKeysToCamelCase(r.data)}catch(r){throw new Error(`Failed to update the course: ${r}`)}},zn=e=>{const t=new Date;return e.reduce((r,n)=>{var f,d,h,m;const o=n.endDate?new Date(n.endDate)<t:!1,s=(d=(f=n.data)==null?void 0:f.myData)==null?void 0:d.role,i=(m=(h=n.data)==null?void 0:h.myData)==null?void 0:m.status,a=i==="enrolled";let u=!1;return s==="student"&&a&&(o?r.isStudentOld.push(n):r.isStudent.push(n),u=!0),s==="teacher"&&a&&(o?r.isTeacherOld.push(n):r.isTeacher.push(n),u=!0),!u&&!o&&(n.visibility.mode==="public"||s==="student"&&(i==="pending"||i==="rejected"))&&r.available.push(n),r},{isStudent:[],isStudentOld:[],isTeacher:[],isTeacherOld:[],available:[]})},pe=Dn((e,t)=>({fetchState:"loading",currentCourseUrl:"",currentCourse:null,courses:[],currentCourseCode:null,courseToUpdate:null,learningCourses:[],learningCoursesOld:[],teachingCourses:[],teachingCoursesOld:[],availableCourses:[],getCourseByUrl:async r=>{try{const n=await Fn(r);e({currentCourse:n})}catch(n){console.error("Failed to fetch course by URL:",n)}},setCourseToUpdate:r=>e({courseToUpdate:r}),setCurrentCourseUrl:r=>e({currentCourseUrl:r}),setCurrentCourse:r=>e({currentCourse:r}),setCurrentCourseCode:r=>e({currentCourseCode:r}),updateStateCourse:async r=>{try{const n=await Un(r),{currentCourse:o}=t();return n&&n.id===(o==null?void 0:o.id)&&e({currentCourse:n}),e(s=>({courses:s.courses.map(i=>i.id===n.id?n:i)})),n}catch(n){throw console.error("Failed to update the course:",n),n}},getCourses:async()=>{try{e({fetchState:"loading"});const r=await Vn(),{isStudent:n,isStudentOld:o,isTeacher:s,isTeacherOld:i,available:a}=zn(r);e({fetchState:"idle",learningCourses:n,learningCoursesOld:o,teachingCourses:s,teachingCoursesOld:i,availableCourses:a,courses:r})}catch(r){e({fetchState:"error"}),console.error("Failed to fetch courses:",r)}}})),Wn=()=>{const{code:e}=ie.useParams(),{fetchState:t,courses:r,setCurrentCourseCode:n}=pe(),{addNotificationData:o}=H.useNotificationStore(),s=ie.useNavigate();return U.useEffect(()=>{if(!e)return;n(e),r.filter(a=>a.code===e).length===0&&t==="success"&&(o({type:"error",message:"Course not found"}),s("/"))},[e,r,t,o,s,n]),t==="loading"?g.jsx(H.LoadingScreen,{}):g.jsx(ie.Outlet,{})},st={"COMP.CS":{icon:"/static/images/icons/code.svg",baseColor:"#2196f3",levelShades:{basic:"#90caf9",intermediate:"#2196f3",advanced:"#1565c0"}},MATH:{icon:"/static/images/icons/line.svg",baseColor:"#4caf50",levelShades:{basic:"#a5d6a7",intermediate:"#4caf50",advanced:"#2e7d32"}},PHYS:{icon:"/static/images/icons/weight.svg",baseColor:"#f44336",levelShades:{basic:"#ef9a9a",intermediate:"#f44336",advanced:"#c62828"}},BIO:{icon:"/static/images/icons/dna.svg",baseColor:"#9c27b0",levelShades:{basic:"#ce93d8",intermediate:"#9c27b0",advanced:"#6a1b9a"}},CHEM:{icon:"/static/images/icons/atom.svg",baseColor:"#ff9800",levelShades:{basic:"#ffb74d",intermediate:"#ff9800",advanced:"#ef6c00"}},LANG:{icon:"/static/images/icons/lang.svg",baseColor:"#795548",levelShades:{basic:"#a1887f",intermediate:"#795548",advanced:"#4e342e"}}},Yn=({course:e})=>g.jsx(P.Box,{sx:{mb:1},children:g.jsxs(P.Typography,{variant:"subtitle1",sx:{fontWeight:500,width:"100%"},children:[e.title," (",e.code,")"]})}),fr=e=>e,Gn=()=>{let e=fr;return{configure(t){e=t},generate(t){return e(t)},reset(){e=fr}}},Hn=Gn();function Ge(e,...t){const r=new URL(`https://mui.com/production-error/?code=${e}`);return t.forEach(n=>r.searchParams.append("args[]",n)),`Minified MUI error #${e}; visit ${r} for the full message.`}function it(e){if(typeof e!="string")throw new Error(process.env.NODE_ENV!=="production"?"MUI: `capitalize(string)` expects a string argument.":Ge(7));return e.charAt(0).toUpperCase()+e.slice(1)}var et={exports:{}},tt={exports:{}},K={};/** @license React v16.13.1
54
+ */var Wo;function Jn(){return Wo||(Wo=1,process.env.NODE_ENV!=="production"&&function(){function e(p,d){return p===d&&(p!==0||1/p===1/d)||p!==p&&d!==d}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var a=ne,o=Mt(),t=typeof Object.is=="function"?Object.is:e,n=o.useSyncExternalStore,r=a.useRef,i=a.useEffect,s=a.useMemo,u=a.useDebugValue;no.useSyncExternalStoreWithSelector=function(p,d,m,h,g){var f=r(null);if(f.current===null){var c={hasValue:!1,value:null};f.current=c}else c=f.current;f=s(function(){function T(w){if(!P){if(P=!0,_=w,w=h(w),g!==void 0&&c.hasValue){var z=c.value;if(g(z,w))return b=z}return b=w}if(z=b,t(_,w))return z;var L=h(w);return g!==void 0&&g(z,L)?(_=w,z):(_=w,b=L)}var P=!1,_,b,y=m===void 0?null:m;return[function(){return T(d())},y===null?void 0:function(){return T(y())}]},[d,m,h,g]);var v=n(p,f[0],f[1]);return i(function(){c.hasValue=!0,c.value=v},[v]),u(v),v},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())}()),no}var Ho;function Xn(){return Ho||(Ho=1,process.env.NODE_ENV==="production"?Sa.exports=Kn():Sa.exports=Jn()),Sa.exports}var Qn=Xn();const Zn=Nt(Qn),er={},Go=e=>{let a;const o=new Set,t=(d,m)=>{const h=typeof d=="function"?d(a):d;if(!Object.is(h,a)){const g=a;a=m??(typeof h!="object"||h===null)?h:Object.assign({},a,h),o.forEach(f=>f(a,g))}},n=()=>a,u={setState:t,getState:n,getInitialState:()=>p,subscribe:d=>(o.add(d),()=>o.delete(d)),destroy:()=>{(er?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),o.clear()}},p=a=e(t,n,u);return u},ar=e=>e?Go(e):Go,{useDebugValue:or}=ne,{useSyncExternalStoreWithSelector:tr}=Zn,nr=e=>e;function rr(e,a=nr,o){const t=tr(e.subscribe,e.getState,e.getServerState||e.getInitialState,a,o);return or(t),t}const Yo=(e,a)=>{const o=ar(e),t=(n,r=a)=>rr(o,n,r);return Object.assign(t,o),t},ir=(e,a)=>e?Yo(e,a):Yo,Ko=new Map,sr=3e5;async function Bt(e,a){const o=Ko.get(e);if(o&&Date.now()-o.timestamp<sr)return o.data;const t=await a();return Ko.set(e,{timestamp:Date.now(),data:t}),t}async function ur(){return Bt("getCourses",async()=>{try{const e=await B.axios.get("api/courses/");return Array.isArray(e.data)?B.convertObjectKeysToCamelCase(e.data):(console.error("Expected array but got:",e.data),[])}catch(e){throw new Error("Failed to retrieve courses: "+e)}})}async function cr(e){const a=btoa(e),o=`getCourseByUrl_${a}`;return Bt(o,async()=>{try{const t=await B.axios.get(`api/courses/?encoded_url=${a}`);if(!Array.isArray(t.data)||t.data.length===0)throw new Error("Course not found");return B.convertObjectKeysToCamelCase(t.data[0])}catch(t){throw new Error("Failed to retrieve course by URL: "+t)}})}const lr=async e=>{const a={...e,dataProcessing:e.dataProcessing||{purposes:["course_delivery","assessment"],retention:365,thirdPartyProcessors:[],specialCategories:!1,legalBasis:"consent"}};try{const o=await B.axios.put(`api/courses/${a.id}/`,B.convertObjectKeysToUnderscore(a));return B.convertObjectKeysToCamelCase(o.data)}catch(o){throw new Error(`Failed to update the course: ${o}`)}},mr=e=>{const a=new Date;return e.reduce((o,t)=>{var p,d,m,h;const n=t.endDate?new Date(t.endDate)<a:!1,r=(d=(p=t.data)==null?void 0:p.myData)==null?void 0:d.role,i=(h=(m=t.data)==null?void 0:m.myData)==null?void 0:h.status,s=i==="enrolled";let u=!1;return r==="student"&&s&&(n?o.isStudentOld.push(t):o.isStudent.push(t),u=!0),r==="teacher"&&s&&(n?o.isTeacherOld.push(t):o.isTeacher.push(t),u=!0),!u&&!n&&(t.visibility.mode==="public"||r==="student"&&(i==="pending"||i==="rejected"))&&o.available.push(t),o},{isStudent:[],isStudentOld:[],isTeacher:[],isTeacherOld:[],available:[]})},Te=ir((e,a)=>({fetchState:"loading",currentCourseUrl:"",currentCourse:null,courses:[],currentCourseCode:null,courseToUpdate:null,learningCourses:[],learningCoursesOld:[],teachingCourses:[],teachingCoursesOld:[],availableCourses:[],getCourseByUrl:async o=>{try{const t=await cr(o);e({currentCourse:t})}catch(t){console.error("Failed to fetch course by URL:",t)}},setCourseToUpdate:o=>e({courseToUpdate:o}),setCurrentCourseUrl:o=>e({currentCourseUrl:o}),setCurrentCourse:o=>e({currentCourse:o}),setCurrentCourseCode:o=>e({currentCourseCode:o}),updateStateCourse:async o=>{try{const t=await lr(o),{currentCourse:n}=a();return t&&t.id===(n==null?void 0:n.id)&&e({currentCourse:t}),e(r=>({courses:r.courses.map(i=>i.id===t.id?t:i)})),t}catch(t){throw console.error("Failed to update the course:",t),t}},getCourses:async()=>{try{e({fetchState:"loading"});const o=await ur(),{isStudent:t,isStudentOld:n,isTeacher:r,isTeacherOld:i,available:s}=mr(o);e({fetchState:"idle",learningCourses:t,learningCoursesOld:n,teachingCourses:r,teachingCoursesOld:i,availableCourses:s,courses:o})}catch(o){e({fetchState:"error"}),console.error("Failed to fetch courses:",o)}}})),pr=()=>{const{code:e}=B.useParams(),{fetchState:a,courses:o,setCurrentCourseCode:t}=Te(),{addNotificationData:n}=B.useNotificationStore(),r=B.useNavigate();return ne.useEffect(()=>{if(!e)return;t(e),o.filter(s=>s.code===e).length===0&&a==="success"&&(n({type:"error",message:"Course not found"}),r("/"))},[e,o,a,n,r,t]),a==="loading"?S.jsx(B.LoadingScreen,{}):S.jsx(B.Outlet,{})},$a={"COMP.CS":{icon:"/static/images/icons/code.svg",baseColor:"#2196f3",levelShades:{basic:"#90caf9",intermediate:"#2196f3",advanced:"#1565c0"}},MATH:{icon:"/static/images/icons/line.svg",baseColor:"#4caf50",levelShades:{basic:"#a5d6a7",intermediate:"#4caf50",advanced:"#2e7d32"}},PHYS:{icon:"/static/images/icons/weight.svg",baseColor:"#f44336",levelShades:{basic:"#ef9a9a",intermediate:"#f44336",advanced:"#c62828"}},BIO:{icon:"/static/images/icons/dna.svg",baseColor:"#9c27b0",levelShades:{basic:"#ce93d8",intermediate:"#9c27b0",advanced:"#6a1b9a"}},CHEM:{icon:"/static/images/icons/atom.svg",baseColor:"#ff9800",levelShades:{basic:"#ffb74d",intermediate:"#ff9800",advanced:"#ef6c00"}},LANG:{icon:"/static/images/icons/lang.svg",baseColor:"#795548",levelShades:{basic:"#a1887f",intermediate:"#795548",advanced:"#4e342e"}}},dr=({course:e})=>S.jsx(Y.Box,{sx:{mb:1},children:S.jsxs(Y.Typography,{variant:"subtitle1",sx:{fontWeight:500,width:"100%"},children:[e.title," (",e.code,")"]})}),Jo=e=>e,hr=()=>{let e=Jo;return{configure(a){e=a},generate(a){return e(a)},reset(){e=Jo}}},fr=hr();function ba(e,...a){const o=new URL(`https://mui.com/production-error/?code=${e}`);return a.forEach(t=>o.searchParams.append("args[]",t)),`Minified MUI error #${e}; visit ${o} for the full message.`}function Da(e){if(typeof e!="string")throw new Error(process.env.NODE_ENV!=="production"?"MUI: `capitalize(string)` expects a string argument.":ba(7));return e.charAt(0).toUpperCase()+e.slice(1)}var Ta={exports:{}},Oa={exports:{}},ue={};/** @license React v16.13.1
55
55
  * react-is.production.min.js
56
56
  *
57
57
  * Copyright (c) Facebook, Inc. and its affiliates.
58
58
  *
59
59
  * This source code is licensed under the MIT license found in the
60
60
  * LICENSE file in the root directory of this source tree.
61
- */var dr;function qn(){if(dr)return K;dr=1;var e=typeof Symbol=="function"&&Symbol.for,t=e?Symbol.for("react.element"):60103,r=e?Symbol.for("react.portal"):60106,n=e?Symbol.for("react.fragment"):60107,o=e?Symbol.for("react.strict_mode"):60108,s=e?Symbol.for("react.profiler"):60114,i=e?Symbol.for("react.provider"):60109,a=e?Symbol.for("react.context"):60110,u=e?Symbol.for("react.async_mode"):60111,f=e?Symbol.for("react.concurrent_mode"):60111,d=e?Symbol.for("react.forward_ref"):60112,h=e?Symbol.for("react.suspense"):60113,m=e?Symbol.for("react.suspense_list"):60120,b=e?Symbol.for("react.memo"):60115,y=e?Symbol.for("react.lazy"):60116,l=e?Symbol.for("react.block"):60121,S=e?Symbol.for("react.fundamental"):60117,T=e?Symbol.for("react.responder"):60118,k=e?Symbol.for("react.scope"):60119;function A(C){if(typeof C=="object"&&C!==null){var x=C.$$typeof;switch(x){case t:switch(C=C.type,C){case u:case f:case n:case s:case o:case h:return C;default:switch(C=C&&C.$$typeof,C){case a:case d:case y:case b:case i:return C;default:return x}}case r:return x}}}function O(C){return A(C)===f}return K.AsyncMode=u,K.ConcurrentMode=f,K.ContextConsumer=a,K.ContextProvider=i,K.Element=t,K.ForwardRef=d,K.Fragment=n,K.Lazy=y,K.Memo=b,K.Portal=r,K.Profiler=s,K.StrictMode=o,K.Suspense=h,K.isAsyncMode=function(C){return O(C)||A(C)===u},K.isConcurrentMode=O,K.isContextConsumer=function(C){return A(C)===a},K.isContextProvider=function(C){return A(C)===i},K.isElement=function(C){return typeof C=="object"&&C!==null&&C.$$typeof===t},K.isForwardRef=function(C){return A(C)===d},K.isFragment=function(C){return A(C)===n},K.isLazy=function(C){return A(C)===y},K.isMemo=function(C){return A(C)===b},K.isPortal=function(C){return A(C)===r},K.isProfiler=function(C){return A(C)===s},K.isStrictMode=function(C){return A(C)===o},K.isSuspense=function(C){return A(C)===h},K.isValidElementType=function(C){return typeof C=="string"||typeof C=="function"||C===n||C===f||C===s||C===o||C===h||C===m||typeof C=="object"&&C!==null&&(C.$$typeof===y||C.$$typeof===b||C.$$typeof===i||C.$$typeof===a||C.$$typeof===d||C.$$typeof===S||C.$$typeof===T||C.$$typeof===k||C.$$typeof===l)},K.typeOf=A,K}var J={};/** @license React v16.13.1
61
+ */var Xo;function gr(){if(Xo)return ue;Xo=1;var e=typeof Symbol=="function"&&Symbol.for,a=e?Symbol.for("react.element"):60103,o=e?Symbol.for("react.portal"):60106,t=e?Symbol.for("react.fragment"):60107,n=e?Symbol.for("react.strict_mode"):60108,r=e?Symbol.for("react.profiler"):60114,i=e?Symbol.for("react.provider"):60109,s=e?Symbol.for("react.context"):60110,u=e?Symbol.for("react.async_mode"):60111,p=e?Symbol.for("react.concurrent_mode"):60111,d=e?Symbol.for("react.forward_ref"):60112,m=e?Symbol.for("react.suspense"):60113,h=e?Symbol.for("react.suspense_list"):60120,g=e?Symbol.for("react.memo"):60115,f=e?Symbol.for("react.lazy"):60116,c=e?Symbol.for("react.block"):60121,v=e?Symbol.for("react.fundamental"):60117,T=e?Symbol.for("react.responder"):60118,P=e?Symbol.for("react.scope"):60119;function _(y){if(typeof y=="object"&&y!==null){var w=y.$$typeof;switch(w){case a:switch(y=y.type,y){case u:case p:case t:case r:case n:case m:return y;default:switch(y=y&&y.$$typeof,y){case s:case d:case f:case g:case i:return y;default:return w}}case o:return w}}}function b(y){return _(y)===p}return ue.AsyncMode=u,ue.ConcurrentMode=p,ue.ContextConsumer=s,ue.ContextProvider=i,ue.Element=a,ue.ForwardRef=d,ue.Fragment=t,ue.Lazy=f,ue.Memo=g,ue.Portal=o,ue.Profiler=r,ue.StrictMode=n,ue.Suspense=m,ue.isAsyncMode=function(y){return b(y)||_(y)===u},ue.isConcurrentMode=b,ue.isContextConsumer=function(y){return _(y)===s},ue.isContextProvider=function(y){return _(y)===i},ue.isElement=function(y){return typeof y=="object"&&y!==null&&y.$$typeof===a},ue.isForwardRef=function(y){return _(y)===d},ue.isFragment=function(y){return _(y)===t},ue.isLazy=function(y){return _(y)===f},ue.isMemo=function(y){return _(y)===g},ue.isPortal=function(y){return _(y)===o},ue.isProfiler=function(y){return _(y)===r},ue.isStrictMode=function(y){return _(y)===n},ue.isSuspense=function(y){return _(y)===m},ue.isValidElementType=function(y){return typeof y=="string"||typeof y=="function"||y===t||y===p||y===r||y===n||y===m||y===h||typeof y=="object"&&y!==null&&(y.$$typeof===f||y.$$typeof===g||y.$$typeof===i||y.$$typeof===s||y.$$typeof===d||y.$$typeof===v||y.$$typeof===T||y.$$typeof===P||y.$$typeof===c)},ue.typeOf=_,ue}var ce={};/** @license React v16.13.1
62
62
  * react-is.development.js
63
63
  *
64
64
  * Copyright (c) Facebook, Inc. and its affiliates.
65
65
  *
66
66
  * This source code is licensed under the MIT license found in the
67
67
  * LICENSE file in the root directory of this source tree.
68
- */var pr;function Kn(){return pr||(pr=1,process.env.NODE_ENV!=="production"&&function(){var e=typeof Symbol=="function"&&Symbol.for,t=e?Symbol.for("react.element"):60103,r=e?Symbol.for("react.portal"):60106,n=e?Symbol.for("react.fragment"):60107,o=e?Symbol.for("react.strict_mode"):60108,s=e?Symbol.for("react.profiler"):60114,i=e?Symbol.for("react.provider"):60109,a=e?Symbol.for("react.context"):60110,u=e?Symbol.for("react.async_mode"):60111,f=e?Symbol.for("react.concurrent_mode"):60111,d=e?Symbol.for("react.forward_ref"):60112,h=e?Symbol.for("react.suspense"):60113,m=e?Symbol.for("react.suspense_list"):60120,b=e?Symbol.for("react.memo"):60115,y=e?Symbol.for("react.lazy"):60116,l=e?Symbol.for("react.block"):60121,S=e?Symbol.for("react.fundamental"):60117,T=e?Symbol.for("react.responder"):60118,k=e?Symbol.for("react.scope"):60119;function A(R){return typeof R=="string"||typeof R=="function"||R===n||R===f||R===s||R===o||R===h||R===m||typeof R=="object"&&R!==null&&(R.$$typeof===y||R.$$typeof===b||R.$$typeof===i||R.$$typeof===a||R.$$typeof===d||R.$$typeof===S||R.$$typeof===T||R.$$typeof===k||R.$$typeof===l)}function O(R){if(typeof R=="object"&&R!==null){var he=R.$$typeof;switch(he){case t:var Je=R.type;switch(Je){case u:case f:case n:case s:case o:case h:return Je;default:var Qt=Je&&Je.$$typeof;switch(Qt){case a:case d:case y:case b:case i:return Qt;default:return he}}case r:return he}}}var C=u,x=f,N=a,W=i,q=t,fe=d,Z=n,c=y,$=b,w=r,L=s,D=o,ne=h,ce=!1;function be(R){return ce||(ce=!0,console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")),E(R)||O(R)===u}function E(R){return O(R)===f}function p(R){return O(R)===a}function _(R){return O(R)===i}function I(R){return typeof R=="object"&&R!==null&&R.$$typeof===t}function j(R){return O(R)===d}function F(R){return O(R)===n}function B(R){return O(R)===y}function M(R){return O(R)===b}function V(R){return O(R)===r}function Y(R){return O(R)===s}function z(R){return O(R)===o}function le(R){return O(R)===h}J.AsyncMode=C,J.ConcurrentMode=x,J.ContextConsumer=N,J.ContextProvider=W,J.Element=q,J.ForwardRef=fe,J.Fragment=Z,J.Lazy=c,J.Memo=$,J.Portal=w,J.Profiler=L,J.StrictMode=D,J.Suspense=ne,J.isAsyncMode=be,J.isConcurrentMode=E,J.isContextConsumer=p,J.isContextProvider=_,J.isElement=I,J.isForwardRef=j,J.isFragment=F,J.isLazy=B,J.isMemo=M,J.isPortal=V,J.isProfiler=Y,J.isStrictMode=z,J.isSuspense=le,J.isValidElementType=A,J.typeOf=O}()),J}var mr;function qr(){return mr||(mr=1,process.env.NODE_ENV==="production"?tt.exports=qn():tt.exports=Kn()),tt.exports}/*
68
+ */var Qo;function kr(){return Qo||(Qo=1,process.env.NODE_ENV!=="production"&&function(){var e=typeof Symbol=="function"&&Symbol.for,a=e?Symbol.for("react.element"):60103,o=e?Symbol.for("react.portal"):60106,t=e?Symbol.for("react.fragment"):60107,n=e?Symbol.for("react.strict_mode"):60108,r=e?Symbol.for("react.profiler"):60114,i=e?Symbol.for("react.provider"):60109,s=e?Symbol.for("react.context"):60110,u=e?Symbol.for("react.async_mode"):60111,p=e?Symbol.for("react.concurrent_mode"):60111,d=e?Symbol.for("react.forward_ref"):60112,m=e?Symbol.for("react.suspense"):60113,h=e?Symbol.for("react.suspense_list"):60120,g=e?Symbol.for("react.memo"):60115,f=e?Symbol.for("react.lazy"):60116,c=e?Symbol.for("react.block"):60121,v=e?Symbol.for("react.fundamental"):60117,T=e?Symbol.for("react.responder"):60118,P=e?Symbol.for("react.scope"):60119;function _(j){return typeof j=="string"||typeof j=="function"||j===t||j===p||j===r||j===n||j===m||j===h||typeof j=="object"&&j!==null&&(j.$$typeof===f||j.$$typeof===g||j.$$typeof===i||j.$$typeof===s||j.$$typeof===d||j.$$typeof===v||j.$$typeof===T||j.$$typeof===P||j.$$typeof===c)}function b(j){if(typeof j=="object"&&j!==null){var k=j.$$typeof;switch(k){case a:var E=j.type;switch(E){case u:case p:case t:case r:case n:case m:return E;default:var I=E&&E.$$typeof;switch(I){case s:case d:case f:case g:case i:return I;default:return k}}case o:return k}}}var y=u,w=p,z=s,L=i,$=a,H=d,U=t,l=f,M=g,D=o,C=r,N=n,Z=m,Q=!1;function re(j){return Q||(Q=!0,console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")),R(j)||b(j)===u}function R(j){return b(j)===p}function x(j){return b(j)===s}function F(j){return b(j)===i}function q(j){return typeof j=="object"&&j!==null&&j.$$typeof===a}function V(j){return b(j)===d}function X(j){return b(j)===t}function J(j){return b(j)===f}function W(j){return b(j)===g}function G(j){return b(j)===o}function ae(j){return b(j)===r}function ee(j){return b(j)===n}function ge(j){return b(j)===m}ce.AsyncMode=y,ce.ConcurrentMode=w,ce.ContextConsumer=z,ce.ContextProvider=L,ce.Element=$,ce.ForwardRef=H,ce.Fragment=U,ce.Lazy=l,ce.Memo=M,ce.Portal=D,ce.Profiler=C,ce.StrictMode=N,ce.Suspense=Z,ce.isAsyncMode=re,ce.isConcurrentMode=R,ce.isContextConsumer=x,ce.isContextProvider=F,ce.isElement=q,ce.isForwardRef=V,ce.isFragment=X,ce.isLazy=J,ce.isMemo=W,ce.isPortal=G,ce.isProfiler=ae,ce.isStrictMode=ee,ce.isSuspense=ge,ce.isValidElementType=_,ce.typeOf=b}()),ce}var Zo;function Ut(){return Zo||(Zo=1,process.env.NODE_ENV==="production"?Oa.exports=gr():Oa.exports=kr()),Oa.exports}/*
69
69
  object-assign
70
70
  (c) Sindre Sorhus
71
71
  @license MIT
72
- */var Rt,hr;function Jn(){if(hr)return Rt;hr=1;var e=Object.getOwnPropertySymbols,t=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;function n(s){if(s==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(s)}function o(){try{if(!Object.assign)return!1;var s=new String("abc");if(s[5]="de",Object.getOwnPropertyNames(s)[0]==="5")return!1;for(var i={},a=0;a<10;a++)i["_"+String.fromCharCode(a)]=a;var u=Object.getOwnPropertyNames(i).map(function(d){return i[d]});if(u.join("")!=="0123456789")return!1;var f={};return"abcdefghijklmnopqrst".split("").forEach(function(d){f[d]=d}),Object.keys(Object.assign({},f)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}return Rt=o()?Object.assign:function(s,i){for(var a,u=n(s),f,d=1;d<arguments.length;d++){a=Object(arguments[d]);for(var h in a)t.call(a,h)&&(u[h]=a[h]);if(e){f=e(a);for(var m=0;m<f.length;m++)r.call(a,f[m])&&(u[f[m]]=a[f[m]])}}return u},Rt}var $t,gr;function Yt(){if(gr)return $t;gr=1;var e="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return $t=e,$t}var At,yr;function Kr(){return yr||(yr=1,At=Function.call.bind(Object.prototype.hasOwnProperty)),At}var jt,br;function Xn(){if(br)return jt;br=1;var e=function(){};if(process.env.NODE_ENV!=="production"){var t=Yt(),r={},n=Kr();e=function(s){var i="Warning: "+s;typeof console<"u"&&console.error(i);try{throw new Error(i)}catch{}}}function o(s,i,a,u,f){if(process.env.NODE_ENV!=="production"){for(var d in s)if(n(s,d)){var h;try{if(typeof s[d]!="function"){var m=Error((u||"React class")+": "+a+" type `"+d+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof s[d]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw m.name="Invariant Violation",m}h=s[d](i,d,u,a,null,t)}catch(y){h=y}if(h&&!(h instanceof Error)&&e((u||"React class")+": type specification of "+a+" `"+d+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+typeof h+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),h instanceof Error&&!(h.message in r)){r[h.message]=!0;var b=f?f():"";e("Failed "+a+" type: "+h.message+(b??""))}}}}return o.resetWarningCache=function(){process.env.NODE_ENV!=="production"&&(r={})},jt=o,jt}var Pt,vr;function Qn(){if(vr)return Pt;vr=1;var e=qr(),t=Jn(),r=Yt(),n=Kr(),o=Xn(),s=function(){};process.env.NODE_ENV!=="production"&&(s=function(a){var u="Warning: "+a;typeof console<"u"&&console.error(u);try{throw new Error(u)}catch{}});function i(){return null}return Pt=function(a,u){var f=typeof Symbol=="function"&&Symbol.iterator,d="@@iterator";function h(E){var p=E&&(f&&E[f]||E[d]);if(typeof p=="function")return p}var m="<<anonymous>>",b={array:T("array"),bigint:T("bigint"),bool:T("boolean"),func:T("function"),number:T("number"),object:T("object"),string:T("string"),symbol:T("symbol"),any:k(),arrayOf:A,element:O(),elementType:C(),instanceOf:x,node:fe(),objectOf:W,oneOf:N,oneOfType:q,shape:c,exact:$};function y(E,p){return E===p?E!==0||1/E===1/p:E!==E&&p!==p}function l(E,p){this.message=E,this.data=p&&typeof p=="object"?p:{},this.stack=""}l.prototype=Error.prototype;function S(E){if(process.env.NODE_ENV!=="production")var p={},_=0;function I(F,B,M,V,Y,z,le){if(V=V||m,z=z||M,le!==r){if(u){var R=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");throw R.name="Invariant Violation",R}else if(process.env.NODE_ENV!=="production"&&typeof console<"u"){var he=V+":"+M;!p[he]&&_<3&&(s("You are manually calling a React.PropTypes validation function for the `"+z+"` prop on `"+V+"`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."),p[he]=!0,_++)}}return B[M]==null?F?B[M]===null?new l("The "+Y+" `"+z+"` is marked as required "+("in `"+V+"`, but its value is `null`.")):new l("The "+Y+" `"+z+"` is marked as required in "+("`"+V+"`, but its value is `undefined`.")):null:E(B,M,V,Y,z)}var j=I.bind(null,!1);return j.isRequired=I.bind(null,!0),j}function T(E){function p(_,I,j,F,B,M){var V=_[I],Y=D(V);if(Y!==E){var z=ne(V);return new l("Invalid "+F+" `"+B+"` of type "+("`"+z+"` supplied to `"+j+"`, expected ")+("`"+E+"`."),{expectedType:E})}return null}return S(p)}function k(){return S(i)}function A(E){function p(_,I,j,F,B){if(typeof E!="function")return new l("Property `"+B+"` of component `"+j+"` has invalid PropType notation inside arrayOf.");var M=_[I];if(!Array.isArray(M)){var V=D(M);return new l("Invalid "+F+" `"+B+"` of type "+("`"+V+"` supplied to `"+j+"`, expected an array."))}for(var Y=0;Y<M.length;Y++){var z=E(M,Y,j,F,B+"["+Y+"]",r);if(z instanceof Error)return z}return null}return S(p)}function O(){function E(p,_,I,j,F){var B=p[_];if(!a(B)){var M=D(B);return new l("Invalid "+j+" `"+F+"` of type "+("`"+M+"` supplied to `"+I+"`, expected a single ReactElement."))}return null}return S(E)}function C(){function E(p,_,I,j,F){var B=p[_];if(!e.isValidElementType(B)){var M=D(B);return new l("Invalid "+j+" `"+F+"` of type "+("`"+M+"` supplied to `"+I+"`, expected a single ReactElement type."))}return null}return S(E)}function x(E){function p(_,I,j,F,B){if(!(_[I]instanceof E)){var M=E.name||m,V=be(_[I]);return new l("Invalid "+F+" `"+B+"` of type "+("`"+V+"` supplied to `"+j+"`, expected ")+("instance of `"+M+"`."))}return null}return S(p)}function N(E){if(!Array.isArray(E))return process.env.NODE_ENV!=="production"&&(arguments.length>1?s("Invalid arguments supplied to oneOf, expected an array, got "+arguments.length+" arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])."):s("Invalid argument supplied to oneOf, expected an array.")),i;function p(_,I,j,F,B){for(var M=_[I],V=0;V<E.length;V++)if(y(M,E[V]))return null;var Y=JSON.stringify(E,function(le,R){var he=ne(R);return he==="symbol"?String(R):R});return new l("Invalid "+F+" `"+B+"` of value `"+String(M)+"` "+("supplied to `"+j+"`, expected one of "+Y+"."))}return S(p)}function W(E){function p(_,I,j,F,B){if(typeof E!="function")return new l("Property `"+B+"` of component `"+j+"` has invalid PropType notation inside objectOf.");var M=_[I],V=D(M);if(V!=="object")return new l("Invalid "+F+" `"+B+"` of type "+("`"+V+"` supplied to `"+j+"`, expected an object."));for(var Y in M)if(n(M,Y)){var z=E(M,Y,j,F,B+"."+Y,r);if(z instanceof Error)return z}return null}return S(p)}function q(E){if(!Array.isArray(E))return process.env.NODE_ENV!=="production"&&s("Invalid argument supplied to oneOfType, expected an instance of array."),i;for(var p=0;p<E.length;p++){var _=E[p];if(typeof _!="function")return s("Invalid argument supplied to oneOfType. Expected an array of check functions, but received "+ce(_)+" at index "+p+"."),i}function I(j,F,B,M,V){for(var Y=[],z=0;z<E.length;z++){var le=E[z],R=le(j,F,B,M,V,r);if(R==null)return null;R.data&&n(R.data,"expectedType")&&Y.push(R.data.expectedType)}var he=Y.length>0?", expected one of type ["+Y.join(", ")+"]":"";return new l("Invalid "+M+" `"+V+"` supplied to "+("`"+B+"`"+he+"."))}return S(I)}function fe(){function E(p,_,I,j,F){return w(p[_])?null:new l("Invalid "+j+" `"+F+"` supplied to "+("`"+I+"`, expected a ReactNode."))}return S(E)}function Z(E,p,_,I,j){return new l((E||"React class")+": "+p+" type `"+_+"."+I+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+j+"`.")}function c(E){function p(_,I,j,F,B){var M=_[I],V=D(M);if(V!=="object")return new l("Invalid "+F+" `"+B+"` of type `"+V+"` "+("supplied to `"+j+"`, expected `object`."));for(var Y in E){var z=E[Y];if(typeof z!="function")return Z(j,F,B,Y,ne(z));var le=z(M,Y,j,F,B+"."+Y,r);if(le)return le}return null}return S(p)}function $(E){function p(_,I,j,F,B){var M=_[I],V=D(M);if(V!=="object")return new l("Invalid "+F+" `"+B+"` of type `"+V+"` "+("supplied to `"+j+"`, expected `object`."));var Y=t({},_[I],E);for(var z in Y){var le=E[z];if(n(E,z)&&typeof le!="function")return Z(j,F,B,z,ne(le));if(!le)return new l("Invalid "+F+" `"+B+"` key `"+z+"` supplied to `"+j+"`.\nBad object: "+JSON.stringify(_[I],null," ")+`
73
- Valid keys: `+JSON.stringify(Object.keys(E),null," "));var R=le(M,z,j,F,B+"."+z,r);if(R)return R}return null}return S(p)}function w(E){switch(typeof E){case"number":case"string":case"undefined":return!0;case"boolean":return!E;case"object":if(Array.isArray(E))return E.every(w);if(E===null||a(E))return!0;var p=h(E);if(p){var _=p.call(E),I;if(p!==E.entries){for(;!(I=_.next()).done;)if(!w(I.value))return!1}else for(;!(I=_.next()).done;){var j=I.value;if(j&&!w(j[1]))return!1}}else return!1;return!0;default:return!1}}function L(E,p){return E==="symbol"?!0:p?p["@@toStringTag"]==="Symbol"||typeof Symbol=="function"&&p instanceof Symbol:!1}function D(E){var p=typeof E;return Array.isArray(E)?"array":E instanceof RegExp?"object":L(p,E)?"symbol":p}function ne(E){if(typeof E>"u"||E===null)return""+E;var p=D(E);if(p==="object"){if(E instanceof Date)return"date";if(E instanceof RegExp)return"regexp"}return p}function ce(E){var p=ne(E);switch(p){case"array":case"object":return"an "+p;case"boolean":case"date":case"regexp":return"a "+p;default:return p}}function be(E){return!E.constructor||!E.constructor.name?m:E.constructor.name}return b.checkPropTypes=o,b.resetWarningCache=o.resetWarningCache,b.PropTypes=b,b},Pt}var It,Sr;function Zn(){if(Sr)return It;Sr=1;var e=Yt();function t(){}function r(){}return r.resetWarningCache=t,It=function(){function n(i,a,u,f,d,h){if(h!==e){var m=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw m.name="Invariant Violation",m}}n.isRequired=n;function o(){return n}var s={array:n,bigint:n,bool:n,func:n,number:n,object:n,string:n,symbol:n,any:n,arrayOf:o,element:n,elementType:n,instanceOf:o,node:n,objectOf:o,oneOf:o,oneOfType:o,shape:o,exact:o,checkPropTypes:r,resetWarningCache:t};return s.PropTypes=s,s},It}var Cr;function eo(){if(Cr)return et.exports;if(Cr=1,process.env.NODE_ENV!=="production"){var e=qr(),t=!0;et.exports=Qn()(e.isElement,t)}else et.exports=Zn()();return et.exports}var to=eo();const G=Wr(to);function Jr(e){var t,r,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(r=Jr(e[t]))&&(n&&(n+=" "),n+=r)}else for(r in e)e[r]&&(n&&(n+=" "),n+=r);return n}function Xr(){for(var e,t,r=0,n="",o=arguments.length;r<o;r++)(e=arguments[r])&&(t=Jr(e))&&(n&&(n+=" "),n+=t);return n}function ro(e,t,r=void 0){const n={};for(const o in e){const s=e[o];let i="",a=!0;for(let u=0;u<s.length;u+=1){const f=s[u];f&&(i+=(a===!0?"":" ")+t(f),a=!1,r&&r[f]&&(i+=" "+r[f]))}n[o]=i}return n}function at(e,...t){const r=new URL(`https://mui.com/production-error/?code=${e}`);return t.forEach(n=>r.searchParams.append("args[]",n)),`Minified MUI error #${e}; visit ${r} for the full message.`}function Gt(e){if(typeof e!="string")throw new Error(process.env.NODE_ENV!=="production"?"MUI: `capitalize(string)` expects a string argument.":at(7));return e.charAt(0).toUpperCase()+e.slice(1)}var rt={exports:{}},ee={};/**
72
+ */var ro,et;function yr(){if(et)return ro;et=1;var e=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable;function t(r){if(r==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(r)}function n(){try{if(!Object.assign)return!1;var r=new String("abc");if(r[5]="de",Object.getOwnPropertyNames(r)[0]==="5")return!1;for(var i={},s=0;s<10;s++)i["_"+String.fromCharCode(s)]=s;var u=Object.getOwnPropertyNames(i).map(function(d){return i[d]});if(u.join("")!=="0123456789")return!1;var p={};return"abcdefghijklmnopqrst".split("").forEach(function(d){p[d]=d}),Object.keys(Object.assign({},p)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}return ro=n()?Object.assign:function(r,i){for(var s,u=t(r),p,d=1;d<arguments.length;d++){s=Object(arguments[d]);for(var m in s)a.call(s,m)&&(u[m]=s[m]);if(e){p=e(s);for(var h=0;h<p.length;h++)o.call(s,p[h])&&(u[p[h]]=s[p[h]])}}return u},ro}var io,at;function zo(){if(at)return io;at=1;var e="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return io=e,io}var so,ot;function qt(){return ot||(ot=1,so=Function.call.bind(Object.prototype.hasOwnProperty)),so}var uo,tt;function br(){if(tt)return uo;tt=1;var e=function(){};if(process.env.NODE_ENV!=="production"){var a=zo(),o={},t=qt();e=function(r){var i="Warning: "+r;typeof console<"u"&&console.error(i);try{throw new Error(i)}catch{}}}function n(r,i,s,u,p){if(process.env.NODE_ENV!=="production"){for(var d in r)if(t(r,d)){var m;try{if(typeof r[d]!="function"){var h=Error((u||"React class")+": "+s+" type `"+d+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof r[d]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw h.name="Invariant Violation",h}m=r[d](i,d,u,s,null,a)}catch(f){m=f}if(m&&!(m instanceof Error)&&e((u||"React class")+": type specification of "+s+" `"+d+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+typeof m+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),m instanceof Error&&!(m.message in o)){o[m.message]=!0;var g=p?p():"";e("Failed "+s+" type: "+m.message+(g??""))}}}}return n.resetWarningCache=function(){process.env.NODE_ENV!=="production"&&(o={})},uo=n,uo}var co,nt;function jr(){if(nt)return co;nt=1;var e=Ut(),a=yr(),o=zo(),t=qt(),n=br(),r=function(){};process.env.NODE_ENV!=="production"&&(r=function(s){var u="Warning: "+s;typeof console<"u"&&console.error(u);try{throw new Error(u)}catch{}});function i(){return null}return co=function(s,u){var p=typeof Symbol=="function"&&Symbol.iterator,d="@@iterator";function m(R){var x=R&&(p&&R[p]||R[d]);if(typeof x=="function")return x}var h="<<anonymous>>",g={array:T("array"),bigint:T("bigint"),bool:T("boolean"),func:T("function"),number:T("number"),object:T("object"),string:T("string"),symbol:T("symbol"),any:P(),arrayOf:_,element:b(),elementType:y(),instanceOf:w,node:H(),objectOf:L,oneOf:z,oneOfType:$,shape:l,exact:M};function f(R,x){return R===x?R!==0||1/R===1/x:R!==R&&x!==x}function c(R,x){this.message=R,this.data=x&&typeof x=="object"?x:{},this.stack=""}c.prototype=Error.prototype;function v(R){if(process.env.NODE_ENV!=="production")var x={},F=0;function q(X,J,W,G,ae,ee,ge){if(G=G||h,ee=ee||W,ge!==o){if(u){var j=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");throw j.name="Invariant Violation",j}else if(process.env.NODE_ENV!=="production"&&typeof console<"u"){var k=G+":"+W;!x[k]&&F<3&&(r("You are manually calling a React.PropTypes validation function for the `"+ee+"` prop on `"+G+"`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."),x[k]=!0,F++)}}return J[W]==null?X?J[W]===null?new c("The "+ae+" `"+ee+"` is marked as required "+("in `"+G+"`, but its value is `null`.")):new c("The "+ae+" `"+ee+"` is marked as required in "+("`"+G+"`, but its value is `undefined`.")):null:R(J,W,G,ae,ee)}var V=q.bind(null,!1);return V.isRequired=q.bind(null,!0),V}function T(R){function x(F,q,V,X,J,W){var G=F[q],ae=N(G);if(ae!==R){var ee=Z(G);return new c("Invalid "+X+" `"+J+"` of type "+("`"+ee+"` supplied to `"+V+"`, expected ")+("`"+R+"`."),{expectedType:R})}return null}return v(x)}function P(){return v(i)}function _(R){function x(F,q,V,X,J){if(typeof R!="function")return new c("Property `"+J+"` of component `"+V+"` has invalid PropType notation inside arrayOf.");var W=F[q];if(!Array.isArray(W)){var G=N(W);return new c("Invalid "+X+" `"+J+"` of type "+("`"+G+"` supplied to `"+V+"`, expected an array."))}for(var ae=0;ae<W.length;ae++){var ee=R(W,ae,V,X,J+"["+ae+"]",o);if(ee instanceof Error)return ee}return null}return v(x)}function b(){function R(x,F,q,V,X){var J=x[F];if(!s(J)){var W=N(J);return new c("Invalid "+V+" `"+X+"` of type "+("`"+W+"` supplied to `"+q+"`, expected a single ReactElement."))}return null}return v(R)}function y(){function R(x,F,q,V,X){var J=x[F];if(!e.isValidElementType(J)){var W=N(J);return new c("Invalid "+V+" `"+X+"` of type "+("`"+W+"` supplied to `"+q+"`, expected a single ReactElement type."))}return null}return v(R)}function w(R){function x(F,q,V,X,J){if(!(F[q]instanceof R)){var W=R.name||h,G=re(F[q]);return new c("Invalid "+X+" `"+J+"` of type "+("`"+G+"` supplied to `"+V+"`, expected ")+("instance of `"+W+"`."))}return null}return v(x)}function z(R){if(!Array.isArray(R))return process.env.NODE_ENV!=="production"&&(arguments.length>1?r("Invalid arguments supplied to oneOf, expected an array, got "+arguments.length+" arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])."):r("Invalid argument supplied to oneOf, expected an array.")),i;function x(F,q,V,X,J){for(var W=F[q],G=0;G<R.length;G++)if(f(W,R[G]))return null;var ae=JSON.stringify(R,function(ge,j){var k=Z(j);return k==="symbol"?String(j):j});return new c("Invalid "+X+" `"+J+"` of value `"+String(W)+"` "+("supplied to `"+V+"`, expected one of "+ae+"."))}return v(x)}function L(R){function x(F,q,V,X,J){if(typeof R!="function")return new c("Property `"+J+"` of component `"+V+"` has invalid PropType notation inside objectOf.");var W=F[q],G=N(W);if(G!=="object")return new c("Invalid "+X+" `"+J+"` of type "+("`"+G+"` supplied to `"+V+"`, expected an object."));for(var ae in W)if(t(W,ae)){var ee=R(W,ae,V,X,J+"."+ae,o);if(ee instanceof Error)return ee}return null}return v(x)}function $(R){if(!Array.isArray(R))return process.env.NODE_ENV!=="production"&&r("Invalid argument supplied to oneOfType, expected an instance of array."),i;for(var x=0;x<R.length;x++){var F=R[x];if(typeof F!="function")return r("Invalid argument supplied to oneOfType. Expected an array of check functions, but received "+Q(F)+" at index "+x+"."),i}function q(V,X,J,W,G){for(var ae=[],ee=0;ee<R.length;ee++){var ge=R[ee],j=ge(V,X,J,W,G,o);if(j==null)return null;j.data&&t(j.data,"expectedType")&&ae.push(j.data.expectedType)}var k=ae.length>0?", expected one of type ["+ae.join(", ")+"]":"";return new c("Invalid "+W+" `"+G+"` supplied to "+("`"+J+"`"+k+"."))}return v(q)}function H(){function R(x,F,q,V,X){return D(x[F])?null:new c("Invalid "+V+" `"+X+"` supplied to "+("`"+q+"`, expected a ReactNode."))}return v(R)}function U(R,x,F,q,V){return new c((R||"React class")+": "+x+" type `"+F+"."+q+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+V+"`.")}function l(R){function x(F,q,V,X,J){var W=F[q],G=N(W);if(G!=="object")return new c("Invalid "+X+" `"+J+"` of type `"+G+"` "+("supplied to `"+V+"`, expected `object`."));for(var ae in R){var ee=R[ae];if(typeof ee!="function")return U(V,X,J,ae,Z(ee));var ge=ee(W,ae,V,X,J+"."+ae,o);if(ge)return ge}return null}return v(x)}function M(R){function x(F,q,V,X,J){var W=F[q],G=N(W);if(G!=="object")return new c("Invalid "+X+" `"+J+"` of type `"+G+"` "+("supplied to `"+V+"`, expected `object`."));var ae=a({},F[q],R);for(var ee in ae){var ge=R[ee];if(t(R,ee)&&typeof ge!="function")return U(V,X,J,ee,Z(ge));if(!ge)return new c("Invalid "+X+" `"+J+"` key `"+ee+"` supplied to `"+V+"`.\nBad object: "+JSON.stringify(F[q],null," ")+`
73
+ Valid keys: `+JSON.stringify(Object.keys(R),null," "));var j=ge(W,ee,V,X,J+"."+ee,o);if(j)return j}return null}return v(x)}function D(R){switch(typeof R){case"number":case"string":case"undefined":return!0;case"boolean":return!R;case"object":if(Array.isArray(R))return R.every(D);if(R===null||s(R))return!0;var x=m(R);if(x){var F=x.call(R),q;if(x!==R.entries){for(;!(q=F.next()).done;)if(!D(q.value))return!1}else for(;!(q=F.next()).done;){var V=q.value;if(V&&!D(V[1]))return!1}}else return!1;return!0;default:return!1}}function C(R,x){return R==="symbol"?!0:x?x["@@toStringTag"]==="Symbol"||typeof Symbol=="function"&&x instanceof Symbol:!1}function N(R){var x=typeof R;return Array.isArray(R)?"array":R instanceof RegExp?"object":C(x,R)?"symbol":x}function Z(R){if(typeof R>"u"||R===null)return""+R;var x=N(R);if(x==="object"){if(R instanceof Date)return"date";if(R instanceof RegExp)return"regexp"}return x}function Q(R){var x=Z(R);switch(x){case"array":case"object":return"an "+x;case"boolean":case"date":case"regexp":return"a "+x;default:return x}}function re(R){return!R.constructor||!R.constructor.name?h:R.constructor.name}return g.checkPropTypes=n,g.resetWarningCache=n.resetWarningCache,g.PropTypes=g,g},co}var lo,rt;function vr(){if(rt)return lo;rt=1;var e=zo();function a(){}function o(){}return o.resetWarningCache=a,lo=function(){function t(i,s,u,p,d,m){if(m!==e){var h=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw h.name="Invariant Violation",h}}t.isRequired=t;function n(){return t}var r={array:t,bigint:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:n,element:t,elementType:t,instanceOf:n,node:t,objectOf:n,oneOf:n,oneOfType:n,shape:n,exact:n,checkPropTypes:o,resetWarningCache:a};return r.PropTypes=r,r},lo}var it;function wr(){if(it)return Ta.exports;if(it=1,process.env.NODE_ENV!=="production"){var e=Ut(),a=!0;Ta.exports=jr()(e.isElement,a)}else Ta.exports=vr()();return Ta.exports}var xr=wr();const ie=Nt(xr);function Vt(e){var a,o,t="";if(typeof e=="string"||typeof e=="number")t+=e;else if(typeof e=="object")if(Array.isArray(e)){var n=e.length;for(a=0;a<n;a++)e[a]&&(o=Vt(e[a]))&&(t&&(t+=" "),t+=o)}else for(o in e)e[o]&&(t&&(t+=" "),t+=o);return t}function Wt(){for(var e,a,o=0,t="",n=arguments.length;o<n;o++)(e=arguments[o])&&(a=Vt(e))&&(t&&(t+=" "),t+=a);return t}function Cr(e,a,o=void 0){const t={};for(const n in e){const r=e[n];let i="",s=!0;for(let u=0;u<r.length;u+=1){const p=r[u];p&&(i+=(s===!0?"":" ")+a(p),s=!1,o&&o[p]&&(i+=" "+o[p]))}t[n]=i}return t}function Fa(e,...a){const o=new URL(`https://mui.com/production-error/?code=${e}`);return a.forEach(t=>o.searchParams.append("args[]",t)),`Minified MUI error #${e}; visit ${o} for the full message.`}function To(e){if(typeof e!="string")throw new Error(process.env.NODE_ENV!=="production"?"MUI: `capitalize(string)` expects a string argument.":Fa(7));return e.charAt(0).toUpperCase()+e.slice(1)}var _a={exports:{}},pe={};/**
74
74
  * @license React
75
75
  * react-is.production.js
76
76
  *
@@ -78,7 +78,7 @@ Valid keys: `+JSON.stringify(Object.keys(E),null," "));var R=le(M,z,j,F,B+"."+z
78
78
  *
79
79
  * This source code is licensed under the MIT license found in the
80
80
  * LICENSE file in the root directory of this source tree.
81
- */var xr;function no(){if(xr)return ee;xr=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),n=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),s=Symbol.for("react.consumer"),i=Symbol.for("react.context"),a=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),f=Symbol.for("react.suspense_list"),d=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),m=Symbol.for("react.view_transition"),b=Symbol.for("react.client.reference");function y(l){if(typeof l=="object"&&l!==null){var S=l.$$typeof;switch(S){case e:switch(l=l.type,l){case r:case o:case n:case u:case f:case m:return l;default:switch(l=l&&l.$$typeof,l){case i:case a:case h:case d:return l;case s:return l;default:return S}}case t:return S}}}return ee.ContextConsumer=s,ee.ContextProvider=i,ee.Element=e,ee.ForwardRef=a,ee.Fragment=r,ee.Lazy=h,ee.Memo=d,ee.Portal=t,ee.Profiler=o,ee.StrictMode=n,ee.Suspense=u,ee.SuspenseList=f,ee.isContextConsumer=function(l){return y(l)===s},ee.isContextProvider=function(l){return y(l)===i},ee.isElement=function(l){return typeof l=="object"&&l!==null&&l.$$typeof===e},ee.isForwardRef=function(l){return y(l)===a},ee.isFragment=function(l){return y(l)===r},ee.isLazy=function(l){return y(l)===h},ee.isMemo=function(l){return y(l)===d},ee.isPortal=function(l){return y(l)===t},ee.isProfiler=function(l){return y(l)===o},ee.isStrictMode=function(l){return y(l)===n},ee.isSuspense=function(l){return y(l)===u},ee.isSuspenseList=function(l){return y(l)===f},ee.isValidElementType=function(l){return typeof l=="string"||typeof l=="function"||l===r||l===o||l===n||l===u||l===f||typeof l=="object"&&l!==null&&(l.$$typeof===h||l.$$typeof===d||l.$$typeof===i||l.$$typeof===s||l.$$typeof===a||l.$$typeof===b||l.getModuleId!==void 0)},ee.typeOf=y,ee}var te={};/**
81
+ */var st;function Er(){if(st)return pe;st=1;var e=Symbol.for("react.transitional.element"),a=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),t=Symbol.for("react.strict_mode"),n=Symbol.for("react.profiler"),r=Symbol.for("react.consumer"),i=Symbol.for("react.context"),s=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),p=Symbol.for("react.suspense_list"),d=Symbol.for("react.memo"),m=Symbol.for("react.lazy"),h=Symbol.for("react.view_transition"),g=Symbol.for("react.client.reference");function f(c){if(typeof c=="object"&&c!==null){var v=c.$$typeof;switch(v){case e:switch(c=c.type,c){case o:case n:case t:case u:case p:case h:return c;default:switch(c=c&&c.$$typeof,c){case i:case s:case m:case d:return c;case r:return c;default:return v}}case a:return v}}}return pe.ContextConsumer=r,pe.ContextProvider=i,pe.Element=e,pe.ForwardRef=s,pe.Fragment=o,pe.Lazy=m,pe.Memo=d,pe.Portal=a,pe.Profiler=n,pe.StrictMode=t,pe.Suspense=u,pe.SuspenseList=p,pe.isContextConsumer=function(c){return f(c)===r},pe.isContextProvider=function(c){return f(c)===i},pe.isElement=function(c){return typeof c=="object"&&c!==null&&c.$$typeof===e},pe.isForwardRef=function(c){return f(c)===s},pe.isFragment=function(c){return f(c)===o},pe.isLazy=function(c){return f(c)===m},pe.isMemo=function(c){return f(c)===d},pe.isPortal=function(c){return f(c)===a},pe.isProfiler=function(c){return f(c)===n},pe.isStrictMode=function(c){return f(c)===t},pe.isSuspense=function(c){return f(c)===u},pe.isSuspenseList=function(c){return f(c)===p},pe.isValidElementType=function(c){return typeof c=="string"||typeof c=="function"||c===o||c===n||c===t||c===u||c===p||typeof c=="object"&&c!==null&&(c.$$typeof===m||c.$$typeof===d||c.$$typeof===i||c.$$typeof===r||c.$$typeof===s||c.$$typeof===g||c.getModuleId!==void 0)},pe.typeOf=f,pe}var de={};/**
82
82
  * @license React
83
83
  * react-is.development.js
84
84
  *
@@ -86,23 +86,23 @@ Valid keys: `+JSON.stringify(Object.keys(E),null," "));var R=le(M,z,j,F,B+"."+z
86
86
  *
87
87
  * This source code is licensed under the MIT license found in the
88
88
  * LICENSE file in the root directory of this source tree.
89
- */var Er;function oo(){return Er||(Er=1,process.env.NODE_ENV!=="production"&&function(){function e(l){if(typeof l=="object"&&l!==null){var S=l.$$typeof;switch(S){case t:switch(l=l.type,l){case n:case s:case o:case f:case d:case b:return l;default:switch(l=l&&l.$$typeof,l){case a:case u:case m:case h:return l;case i:return l;default:return S}}case r:return S}}}var t=Symbol.for("react.transitional.element"),r=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),i=Symbol.for("react.consumer"),a=Symbol.for("react.context"),u=Symbol.for("react.forward_ref"),f=Symbol.for("react.suspense"),d=Symbol.for("react.suspense_list"),h=Symbol.for("react.memo"),m=Symbol.for("react.lazy"),b=Symbol.for("react.view_transition"),y=Symbol.for("react.client.reference");te.ContextConsumer=i,te.ContextProvider=a,te.Element=t,te.ForwardRef=u,te.Fragment=n,te.Lazy=m,te.Memo=h,te.Portal=r,te.Profiler=s,te.StrictMode=o,te.Suspense=f,te.SuspenseList=d,te.isContextConsumer=function(l){return e(l)===i},te.isContextProvider=function(l){return e(l)===a},te.isElement=function(l){return typeof l=="object"&&l!==null&&l.$$typeof===t},te.isForwardRef=function(l){return e(l)===u},te.isFragment=function(l){return e(l)===n},te.isLazy=function(l){return e(l)===m},te.isMemo=function(l){return e(l)===h},te.isPortal=function(l){return e(l)===r},te.isProfiler=function(l){return e(l)===s},te.isStrictMode=function(l){return e(l)===o},te.isSuspense=function(l){return e(l)===f},te.isSuspenseList=function(l){return e(l)===d},te.isValidElementType=function(l){return typeof l=="string"||typeof l=="function"||l===n||l===s||l===o||l===f||l===d||typeof l=="object"&&l!==null&&(l.$$typeof===m||l.$$typeof===h||l.$$typeof===a||l.$$typeof===i||l.$$typeof===u||l.$$typeof===y||l.getModuleId!==void 0)},te.typeOf=e}()),te}var Tr;function so(){return Tr||(Tr=1,process.env.NODE_ENV==="production"?rt.exports=no():rt.exports=oo()),rt.exports}var De=so();function _e(e){if(typeof e!="object"||e===null)return!1;const t=Object.getPrototypeOf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}function Qr(e){if(ye.isValidElement(e)||De.isValidElementType(e)||!_e(e))return e;const t={};return Object.keys(e).forEach(r=>{t[r]=Qr(e[r])}),t}function $e(e,t,r={clone:!0}){const n=r.clone?{...e}:e;return _e(e)&&_e(t)&&Object.keys(t).forEach(o=>{ye.isValidElement(t[o])||De.isValidElementType(t[o])?n[o]=t[o]:_e(t[o])&&Object.prototype.hasOwnProperty.call(e,o)&&_e(e[o])?n[o]=$e(e[o],t[o],r):r.clone?n[o]=_e(t[o])?Qr(t[o]):t[o]:n[o]=t[o]}),n}function Ye(e,t){return t?$e(e,t,{clone:!1}):e}const Oe=process.env.NODE_ENV!=="production"?G.oneOfType([G.number,G.string,G.object,G.array]):{};function Or(e,t){if(!e.containerQueries)return t;const r=Object.keys(t).filter(n=>n.startsWith("@container")).sort((n,o)=>{var i,a;const s=/min-width:\s*([0-9.]+)/;return+(((i=n.match(s))==null?void 0:i[1])||0)-+(((a=o.match(s))==null?void 0:a[1])||0)});return r.length?r.reduce((n,o)=>{const s=t[o];return delete n[o],n[o]=s,n},{...t}):t}function io(e,t){return t==="@"||t.startsWith("@")&&(e.some(r=>t.startsWith(`@${r}`))||!!t.match(/^@\d/))}function ao(e,t){const r=t.match(/^@([^/]+)?\/?(.+)?$/);if(!r){if(process.env.NODE_ENV!=="production")throw new Error(process.env.NODE_ENV!=="production"?`MUI: The provided shorthand ${`(${t})`} is invalid. The format should be \`@<breakpoint | number>\` or \`@<breakpoint | number>/<container>\`.
90
- For example, \`@sm\` or \`@600\` or \`@40rem/sidebar\`.`:at(18,`(${t})`));return null}const[,n,o]=r,s=Number.isNaN(+n)?n||0:+n;return e.containerQueries(o).up(s)}function co(e){const t=(s,i)=>s.replace("@media",i?`@container ${i}`:"@container");function r(s,i){s.up=(...a)=>t(e.breakpoints.up(...a),i),s.down=(...a)=>t(e.breakpoints.down(...a),i),s.between=(...a)=>t(e.breakpoints.between(...a),i),s.only=(...a)=>t(e.breakpoints.only(...a),i),s.not=(...a)=>{const u=t(e.breakpoints.not(...a),i);return u.includes("not all and")?u.replace("not all and ","").replace("min-width:","width<").replace("max-width:","width>").replace("and","or"):u}}const n={},o=s=>(r(n,s),n);return r(o),{...e,containerQueries:o}}const ft={xs:0,sm:600,md:900,lg:1200,xl:1536},wr={keys:["xs","sm","md","lg","xl"],up:e=>`@media (min-width:${ft[e]}px)`},lo={containerQueries:e=>({up:t=>{let r=typeof t=="number"?t:ft[t]||t;return typeof r=="number"&&(r=`${r}px`),e?`@container ${e} (min-width:${r})`:`@container (min-width:${r})`}})};function Se(e,t,r){const n=e.theme||{};if(Array.isArray(t)){const s=n.breakpoints||wr;return t.reduce((i,a,u)=>(i[s.up(s.keys[u])]=r(t[u]),i),{})}if(typeof t=="object"){const s=n.breakpoints||wr;return Object.keys(t).reduce((i,a)=>{if(io(s.keys,a)){const u=ao(n.containerQueries?n:lo,a);u&&(i[u]=r(t[a],a))}else if(Object.keys(s.values||ft).includes(a)){const u=s.up(a);i[u]=r(t[a],a)}else{const u=a;i[u]=t[u]}return i},{})}return r(t)}function uo(e={}){var r;return((r=e.keys)==null?void 0:r.reduce((n,o)=>{const s=e.up(o);return n[s]={},n},{}))||{}}function _r(e,t){return e.reduce((r,n)=>{const o=r[n];return(!o||Object.keys(o).length===0)&&delete r[n],r},t)}function dt(e,t,r=!0){if(!t||typeof t!="string")return null;if(e&&e.vars&&r){const n=`vars.${t}`.split(".").reduce((o,s)=>o&&o[s]?o[s]:null,e);if(n!=null)return n}return t.split(".").reduce((n,o)=>n&&n[o]!=null?n[o]:null,e)}function ct(e,t,r,n=r){let o;return typeof e=="function"?o=e(r):Array.isArray(e)?o=e[r]||n:o=dt(e,r)||n,t&&(o=t(o,n,e)),o}function ae(e){const{prop:t,cssProperty:r=e.prop,themeKey:n,transform:o}=e,s=i=>{if(i[t]==null)return null;const a=i[t],u=i.theme,f=dt(u,n)||{};return Se(i,a,h=>{let m=ct(f,o,h);return h===m&&typeof h=="string"&&(m=ct(f,o,`${t}${h==="default"?"":Gt(h)}`,h)),r===!1?m:{[r]:m}})};return s.propTypes=process.env.NODE_ENV!=="production"?{[t]:Oe}:{},s.filterProps=[t],s}function fo(e){const t={};return r=>(t[r]===void 0&&(t[r]=e(r)),t[r])}const po={m:"margin",p:"padding"},mo={t:"Top",r:"Right",b:"Bottom",l:"Left",x:["Left","Right"],y:["Top","Bottom"]},Rr={marginX:"mx",marginY:"my",paddingX:"px",paddingY:"py"},ho=fo(e=>{if(e.length>2)if(Rr[e])e=Rr[e];else return[e];const[t,r]=e.split(""),n=po[t],o=mo[r]||"";return Array.isArray(o)?o.map(s=>n+s):[n+o]}),pt=["m","mt","mr","mb","ml","mx","my","margin","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","marginInline","marginInlineStart","marginInlineEnd","marginBlock","marginBlockStart","marginBlockEnd"],mt=["p","pt","pr","pb","pl","px","py","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY","paddingInline","paddingInlineStart","paddingInlineEnd","paddingBlock","paddingBlockStart","paddingBlockEnd"],go=[...pt,...mt];function qe(e,t,r,n){const o=dt(e,t,!0)??r;return typeof o=="number"||typeof o=="string"?s=>typeof s=="string"?s:(process.env.NODE_ENV!=="production"&&typeof s!="number"&&console.error(`MUI: Expected ${n} argument to be a number or a string, got ${s}.`),typeof o=="string"?o.startsWith("var(")&&s===0?0:o.startsWith("var(")&&s===1?o:`calc(${s} * ${o})`:o*s):Array.isArray(o)?s=>{if(typeof s=="string")return s;const i=Math.abs(s);process.env.NODE_ENV!=="production"&&(Number.isInteger(i)?i>o.length-1&&console.error([`MUI: The value provided (${i}) overflows.`,`The supported values are: ${JSON.stringify(o)}.`,`${i} > ${o.length-1}, you need to add the missing values.`].join(`
91
- `)):console.error([`MUI: The \`theme.${t}\` array type cannot be combined with non integer values.You should either use an integer value that can be used as index, or define the \`theme.${t}\` as a number.`].join(`
92
- `)));const a=o[i];return s>=0?a:typeof a=="number"?-a:typeof a=="string"&&a.startsWith("var(")?`calc(-1 * ${a})`:`-${a}`}:typeof o=="function"?o:(process.env.NODE_ENV!=="production"&&console.error([`MUI: The \`theme.${t}\` value (${o}) is invalid.`,"It should be a number, an array or a function."].join(`
93
- `)),()=>{})}function Ht(e){return qe(e,"spacing",8,"spacing")}function Ke(e,t){return typeof t=="string"||t==null?t:e(t)}function yo(e,t){return r=>e.reduce((n,o)=>(n[o]=Ke(t,r),n),{})}function bo(e,t,r,n){if(!t.includes(r))return null;const o=ho(r),s=yo(o,n),i=e[r];return Se(e,i,s)}function Zr(e,t){const r=Ht(e.theme);return Object.keys(e).map(n=>bo(e,t,n,r)).reduce(Ye,{})}function oe(e){return Zr(e,pt)}oe.propTypes=process.env.NODE_ENV!=="production"?pt.reduce((e,t)=>(e[t]=Oe,e),{}):{};oe.filterProps=pt;function se(e){return Zr(e,mt)}se.propTypes=process.env.NODE_ENV!=="production"?mt.reduce((e,t)=>(e[t]=Oe,e),{}):{};se.filterProps=mt;process.env.NODE_ENV!=="production"&&go.reduce((e,t)=>(e[t]=Oe,e),{});function ht(...e){const t=e.reduce((n,o)=>(o.filterProps.forEach(s=>{n[s]=o}),n),{}),r=n=>Object.keys(n).reduce((o,s)=>t[s]?Ye(o,t[s](n)):o,{});return r.propTypes=process.env.NODE_ENV!=="production"?e.reduce((n,o)=>Object.assign(n,o.propTypes),{}):{},r.filterProps=e.reduce((n,o)=>n.concat(o.filterProps),[]),r}function de(e){return typeof e!="number"?e:`${e}px solid`}function me(e,t){return ae({prop:e,themeKey:"borders",transform:t})}const vo=me("border",de),So=me("borderTop",de),Co=me("borderRight",de),xo=me("borderBottom",de),Eo=me("borderLeft",de),To=me("borderColor"),Oo=me("borderTopColor"),wo=me("borderRightColor"),_o=me("borderBottomColor"),Ro=me("borderLeftColor"),$o=me("outline",de),Ao=me("outlineColor"),gt=e=>{if(e.borderRadius!==void 0&&e.borderRadius!==null){const t=qe(e.theme,"shape.borderRadius",4,"borderRadius"),r=n=>({borderRadius:Ke(t,n)});return Se(e,e.borderRadius,r)}return null};gt.propTypes=process.env.NODE_ENV!=="production"?{borderRadius:Oe}:{};gt.filterProps=["borderRadius"];ht(vo,So,Co,xo,Eo,To,Oo,wo,_o,Ro,gt,$o,Ao);const yt=e=>{if(e.gap!==void 0&&e.gap!==null){const t=qe(e.theme,"spacing",8,"gap"),r=n=>({gap:Ke(t,n)});return Se(e,e.gap,r)}return null};yt.propTypes=process.env.NODE_ENV!=="production"?{gap:Oe}:{};yt.filterProps=["gap"];const bt=e=>{if(e.columnGap!==void 0&&e.columnGap!==null){const t=qe(e.theme,"spacing",8,"columnGap"),r=n=>({columnGap:Ke(t,n)});return Se(e,e.columnGap,r)}return null};bt.propTypes=process.env.NODE_ENV!=="production"?{columnGap:Oe}:{};bt.filterProps=["columnGap"];const vt=e=>{if(e.rowGap!==void 0&&e.rowGap!==null){const t=qe(e.theme,"spacing",8,"rowGap"),r=n=>({rowGap:Ke(t,n)});return Se(e,e.rowGap,r)}return null};vt.propTypes=process.env.NODE_ENV!=="production"?{rowGap:Oe}:{};vt.filterProps=["rowGap"];const jo=ae({prop:"gridColumn"}),Po=ae({prop:"gridRow"}),Io=ae({prop:"gridAutoFlow"}),ko=ae({prop:"gridAutoColumns"}),Mo=ae({prop:"gridAutoRows"}),No=ae({prop:"gridTemplateColumns"}),Lo=ae({prop:"gridTemplateRows"}),Do=ae({prop:"gridTemplateAreas"}),Bo=ae({prop:"gridArea"});ht(yt,bt,vt,jo,Po,Io,ko,Mo,No,Lo,Do,Bo);function Le(e,t){return t==="grey"?t:e}const Vo=ae({prop:"color",themeKey:"palette",transform:Le}),Fo=ae({prop:"bgcolor",cssProperty:"backgroundColor",themeKey:"palette",transform:Le}),Uo=ae({prop:"backgroundColor",themeKey:"palette",transform:Le});ht(Vo,Fo,Uo);function ue(e){return e<=1&&e!==0?`${e*100}%`:e}const zo=ae({prop:"width",transform:ue}),qt=e=>{if(e.maxWidth!==void 0&&e.maxWidth!==null){const t=r=>{var o,s,i,a,u;const n=((i=(s=(o=e.theme)==null?void 0:o.breakpoints)==null?void 0:s.values)==null?void 0:i[r])||ft[r];return n?((u=(a=e.theme)==null?void 0:a.breakpoints)==null?void 0:u.unit)!=="px"?{maxWidth:`${n}${e.theme.breakpoints.unit}`}:{maxWidth:n}:{maxWidth:ue(r)}};return Se(e,e.maxWidth,t)}return null};qt.filterProps=["maxWidth"];const Wo=ae({prop:"minWidth",transform:ue}),Yo=ae({prop:"height",transform:ue}),Go=ae({prop:"maxHeight",transform:ue}),Ho=ae({prop:"minHeight",transform:ue});ae({prop:"size",cssProperty:"width",transform:ue});ae({prop:"size",cssProperty:"height",transform:ue});const qo=ae({prop:"boxSizing"});ht(zo,qt,Wo,Yo,Go,Ho,qo);const St={border:{themeKey:"borders",transform:de},borderTop:{themeKey:"borders",transform:de},borderRight:{themeKey:"borders",transform:de},borderBottom:{themeKey:"borders",transform:de},borderLeft:{themeKey:"borders",transform:de},borderColor:{themeKey:"palette"},borderTopColor:{themeKey:"palette"},borderRightColor:{themeKey:"palette"},borderBottomColor:{themeKey:"palette"},borderLeftColor:{themeKey:"palette"},outline:{themeKey:"borders",transform:de},outlineColor:{themeKey:"palette"},borderRadius:{themeKey:"shape.borderRadius",style:gt},color:{themeKey:"palette",transform:Le},bgcolor:{themeKey:"palette",cssProperty:"backgroundColor",transform:Le},backgroundColor:{themeKey:"palette",transform:Le},p:{style:se},pt:{style:se},pr:{style:se},pb:{style:se},pl:{style:se},px:{style:se},py:{style:se},padding:{style:se},paddingTop:{style:se},paddingRight:{style:se},paddingBottom:{style:se},paddingLeft:{style:se},paddingX:{style:se},paddingY:{style:se},paddingInline:{style:se},paddingInlineStart:{style:se},paddingInlineEnd:{style:se},paddingBlock:{style:se},paddingBlockStart:{style:se},paddingBlockEnd:{style:se},m:{style:oe},mt:{style:oe},mr:{style:oe},mb:{style:oe},ml:{style:oe},mx:{style:oe},my:{style:oe},margin:{style:oe},marginTop:{style:oe},marginRight:{style:oe},marginBottom:{style:oe},marginLeft:{style:oe},marginX:{style:oe},marginY:{style:oe},marginInline:{style:oe},marginInlineStart:{style:oe},marginInlineEnd:{style:oe},marginBlock:{style:oe},marginBlockStart:{style:oe},marginBlockEnd:{style:oe},displayPrint:{cssProperty:!1,transform:e=>({"@media print":{display:e}})},display:{},overflow:{},textOverflow:{},visibility:{},whiteSpace:{},flexBasis:{},flexDirection:{},flexWrap:{},justifyContent:{},alignItems:{},alignContent:{},order:{},flex:{},flexGrow:{},flexShrink:{},alignSelf:{},justifyItems:{},justifySelf:{},gap:{style:yt},rowGap:{style:vt},columnGap:{style:bt},gridColumn:{},gridRow:{},gridAutoFlow:{},gridAutoColumns:{},gridAutoRows:{},gridTemplateColumns:{},gridTemplateRows:{},gridTemplateAreas:{},gridArea:{},position:{},zIndex:{themeKey:"zIndex"},top:{},right:{},bottom:{},left:{},boxShadow:{themeKey:"shadows"},width:{transform:ue},maxWidth:{style:qt},minWidth:{transform:ue},height:{transform:ue},maxHeight:{transform:ue},minHeight:{transform:ue},boxSizing:{},font:{themeKey:"font"},fontFamily:{themeKey:"typography"},fontSize:{themeKey:"typography"},fontStyle:{themeKey:"typography"},fontWeight:{themeKey:"typography"},letterSpacing:{},textTransform:{},lineHeight:{},textAlign:{},typography:{cssProperty:!1,themeKey:"typography"}};function Ko(...e){const t=e.reduce((n,o)=>n.concat(Object.keys(o)),[]),r=new Set(t);return e.every(n=>r.size===Object.keys(n).length)}function Jo(e,t){return typeof e=="function"?e(t):e}function Xo(){function e(r,n,o,s){const i={[r]:n,theme:o},a=s[r];if(!a)return{[r]:n};const{cssProperty:u=r,themeKey:f,transform:d,style:h}=a;if(n==null)return null;if(f==="typography"&&n==="inherit")return{[r]:n};const m=dt(o,f)||{};return h?h(i):Se(i,n,y=>{let l=ct(m,d,y);return y===l&&typeof y=="string"&&(l=ct(m,d,`${r}${y==="default"?"":Gt(y)}`,y)),u===!1?l:{[u]:l}})}function t(r){const{sx:n,theme:o={},nested:s}=r||{};if(!n)return null;const i=o.unstable_sxConfig??St;function a(u){let f=u;if(typeof u=="function")f=u(o);else if(typeof u!="object")return u;if(!f)return null;const d=uo(o.breakpoints),h=Object.keys(d);let m=d;return Object.keys(f).forEach(b=>{const y=Jo(f[b],o);if(y!=null)if(typeof y=="object")if(i[b])m=Ye(m,e(b,y,o,i));else{const l=Se({theme:o},y,S=>({[b]:S}));Ko(l,y)?m[b]=t({sx:y,theme:o,nested:!0}):m=Ye(m,l)}else m=Ye(m,e(b,y,o,i))}),!s&&o.modularCssLayers?{"@layer sx":Or(o,_r(h,m))}:Or(o,_r(h,m))}return Array.isArray(n)?n.map(a):a(n)}return t}const Be=Xo();Be.filterProps=["sx"];function Qo(e){for(var t=0,r,n=0,o=e.length;o>=4;++n,o-=4)r=e.charCodeAt(n)&255|(e.charCodeAt(++n)&255)<<8|(e.charCodeAt(++n)&255)<<16|(e.charCodeAt(++n)&255)<<24,r=(r&65535)*1540483477+((r>>>16)*59797<<16),r^=r>>>24,t=(r&65535)*1540483477+((r>>>16)*59797<<16)^(t&65535)*1540483477+((t>>>16)*59797<<16);switch(o){case 3:t^=(e.charCodeAt(n+2)&255)<<16;case 2:t^=(e.charCodeAt(n+1)&255)<<8;case 1:t^=e.charCodeAt(n)&255,t=(t&65535)*1540483477+((t>>>16)*59797<<16)}return t^=t>>>13,t=(t&65535)*1540483477+((t>>>16)*59797<<16),((t^t>>>15)>>>0).toString(36)}var Zo={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,scale: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};function es(e){var t=Object.create(null);return function(r){return t[r]===void 0&&(t[r]=e(r)),t[r]}}var ts=/[A-Z]|^ms/g,rs=/_EMO_([^_]+?)_([^]*?)_EMO_/g,en=function(t){return t.charCodeAt(1)===45},$r=function(t){return t!=null&&typeof t!="boolean"},kt=es(function(e){return en(e)?e:e.replace(ts,"-$&").toLowerCase()}),Ar=function(t,r){switch(t){case"animation":case"animationName":if(typeof r=="string")return r.replace(rs,function(n,o,s){return Ee={name:o,styles:s,next:Ee},o})}return Zo[t]!==1&&!en(t)&&typeof r=="number"&&r!==0?r+"px":r};function lt(e,t,r){if(r==null)return"";var n=r;if(n.__emotion_styles!==void 0)return n;switch(typeof r){case"boolean":return"";case"object":{var o=r;if(o.anim===1)return Ee={name:o.name,styles:o.styles,next:Ee},o.name;var s=r;if(s.styles!==void 0){var i=s.next;if(i!==void 0)for(;i!==void 0;)Ee={name:i.name,styles:i.styles,next:Ee},i=i.next;var a=s.styles+";";return a}return ns(e,t,r)}}var u=r;return u}function ns(e,t,r){var n="";if(Array.isArray(r))for(var o=0;o<r.length;o++)n+=lt(e,t,r[o])+";";else for(var s in r){var i=r[s];if(typeof i!="object"){var a=i;$r(a)&&(n+=kt(s)+":"+Ar(s,a)+";")}else if(Array.isArray(i)&&typeof i[0]=="string"&&t==null)for(var u=0;u<i.length;u++)$r(i[u])&&(n+=kt(s)+":"+Ar(s,i[u])+";");else{var f=lt(e,t,i);switch(s){case"animation":case"animationName":{n+=kt(s)+":"+f+";";break}default:n+=s+"{"+f+"}"}}}return n}var jr=/label:\s*([^\s;{]+)\s*(;|$)/g,Ee;function os(e,t,r){if(e.length===1&&typeof e[0]=="object"&&e[0]!==null&&e[0].styles!==void 0)return e[0];var n=!0,o="";Ee=void 0;var s=e[0];if(s==null||s.raw===void 0)n=!1,o+=lt(r,t,s);else{var i=s;o+=i[0]}for(var a=1;a<e.length;a++)if(o+=lt(r,t,e[a]),n){var u=s;o+=u[a]}jr.lastIndex=0;for(var f="",d;(d=jr.exec(o))!==null;)f+="-"+d[1];var h=Qo(o)+f;return{name:h,styles:o,next:Ee}}/**
89
+ */var ut;function Sr(){return ut||(ut=1,process.env.NODE_ENV!=="production"&&function(){function e(c){if(typeof c=="object"&&c!==null){var v=c.$$typeof;switch(v){case a:switch(c=c.type,c){case t:case r:case n:case p:case d:case g:return c;default:switch(c=c&&c.$$typeof,c){case s:case u:case h:case m:return c;case i:return c;default:return v}}case o:return v}}}var a=Symbol.for("react.transitional.element"),o=Symbol.for("react.portal"),t=Symbol.for("react.fragment"),n=Symbol.for("react.strict_mode"),r=Symbol.for("react.profiler"),i=Symbol.for("react.consumer"),s=Symbol.for("react.context"),u=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),d=Symbol.for("react.suspense_list"),m=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),g=Symbol.for("react.view_transition"),f=Symbol.for("react.client.reference");de.ContextConsumer=i,de.ContextProvider=s,de.Element=a,de.ForwardRef=u,de.Fragment=t,de.Lazy=h,de.Memo=m,de.Portal=o,de.Profiler=r,de.StrictMode=n,de.Suspense=p,de.SuspenseList=d,de.isContextConsumer=function(c){return e(c)===i},de.isContextProvider=function(c){return e(c)===s},de.isElement=function(c){return typeof c=="object"&&c!==null&&c.$$typeof===a},de.isForwardRef=function(c){return e(c)===u},de.isFragment=function(c){return e(c)===t},de.isLazy=function(c){return e(c)===h},de.isMemo=function(c){return e(c)===m},de.isPortal=function(c){return e(c)===o},de.isProfiler=function(c){return e(c)===r},de.isStrictMode=function(c){return e(c)===n},de.isSuspense=function(c){return e(c)===p},de.isSuspenseList=function(c){return e(c)===d},de.isValidElementType=function(c){return typeof c=="string"||typeof c=="function"||c===t||c===r||c===n||c===p||c===d||typeof c=="object"&&c!==null&&(c.$$typeof===h||c.$$typeof===m||c.$$typeof===s||c.$$typeof===i||c.$$typeof===u||c.$$typeof===f||c.getModuleId!==void 0)},de.typeOf=e}()),de}var ct;function zr(){return ct||(ct=1,process.env.NODE_ENV==="production"?_a.exports=Er():_a.exports=Sr()),_a.exports}var sa=zr();function He(e){if(typeof e!="object"||e===null)return!1;const a=Object.getPrototypeOf(e);return(a===null||a===Object.prototype||Object.getPrototypeOf(a)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}function Ht(e){if(Re.isValidElement(e)||sa.isValidElementType(e)||!He(e))return e;const a={};return Object.keys(e).forEach(o=>{a[o]=Ht(e[o])}),a}function Ye(e,a,o={clone:!0}){const t=o.clone?{...e}:e;return He(e)&&He(a)&&Object.keys(a).forEach(n=>{Re.isValidElement(a[n])||sa.isValidElementType(a[n])?t[n]=a[n]:He(a[n])&&Object.prototype.hasOwnProperty.call(e,n)&&He(e[n])?t[n]=Ye(e[n],a[n],o):o.clone?t[n]=He(a[n])?Ht(a[n]):a[n]:t[n]=a[n]}),t}function ka(e,a){return a?Ye(e,a,{clone:!1}):e}const qe=process.env.NODE_ENV!=="production"?ie.oneOfType([ie.number,ie.string,ie.object,ie.array]):{};function lt(e,a){if(!e.containerQueries)return a;const o=Object.keys(a).filter(t=>t.startsWith("@container")).sort((t,n)=>{var i,s;const r=/min-width:\s*([0-9.]+)/;return+(((i=t.match(r))==null?void 0:i[1])||0)-+(((s=n.match(r))==null?void 0:s[1])||0)});return o.length?o.reduce((t,n)=>{const r=a[n];return delete t[n],t[n]=r,t},{...a}):a}function Tr(e,a){return a==="@"||a.startsWith("@")&&(e.some(o=>a.startsWith(`@${o}`))||!!a.match(/^@\d/))}function Or(e,a){const o=a.match(/^@([^/]+)?\/?(.+)?$/);if(!o){if(process.env.NODE_ENV!=="production")throw new Error(process.env.NODE_ENV!=="production"?`MUI: The provided shorthand ${`(${a})`} is invalid. The format should be \`@<breakpoint | number>\` or \`@<breakpoint | number>/<container>\`.
90
+ For example, \`@sm\` or \`@600\` or \`@40rem/sidebar\`.`:Fa(18,`(${a})`));return null}const[,t,n]=o,r=Number.isNaN(+t)?t||0:+t;return e.containerQueries(n).up(r)}function _r(e){const a=(r,i)=>r.replace("@media",i?`@container ${i}`:"@container");function o(r,i){r.up=(...s)=>a(e.breakpoints.up(...s),i),r.down=(...s)=>a(e.breakpoints.down(...s),i),r.between=(...s)=>a(e.breakpoints.between(...s),i),r.only=(...s)=>a(e.breakpoints.only(...s),i),r.not=(...s)=>{const u=a(e.breakpoints.not(...s),i);return u.includes("not all and")?u.replace("not all and ","").replace("min-width:","width<").replace("max-width:","width>").replace("and","or"):u}}const t={},n=r=>(o(t,r),t);return o(n),{...e,containerQueries:n}}const Ba={xs:0,sm:600,md:900,lg:1200,xl:1536},mt={keys:["xs","sm","md","lg","xl"],up:e=>`@media (min-width:${Ba[e]}px)`},Ar={containerQueries:e=>({up:a=>{let o=typeof a=="number"?a:Ba[a]||a;return typeof o=="number"&&(o=`${o}px`),e?`@container ${e} (min-width:${o})`:`@container (min-width:${o})`}})};function Pe(e,a,o){const t=e.theme||{};if(Array.isArray(a)){const r=t.breakpoints||mt;return a.reduce((i,s,u)=>(i[r.up(r.keys[u])]=o(a[u]),i),{})}if(typeof a=="object"){const r=t.breakpoints||mt;return Object.keys(a).reduce((i,s)=>{if(Tr(r.keys,s)){const u=Or(t.containerQueries?t:Ar,s);u&&(i[u]=o(a[s],s))}else if(Object.keys(r.values||Ba).includes(s)){const u=r.up(s);i[u]=o(a[s],s)}else{const u=s;i[u]=a[u]}return i},{})}return o(a)}function Rr(e={}){var o;return((o=e.keys)==null?void 0:o.reduce((t,n)=>{const r=e.up(n);return t[r]={},t},{}))||{}}function pt(e,a){return e.reduce((o,t)=>{const n=o[t];return(!n||Object.keys(n).length===0)&&delete o[t],o},a)}function Ua(e,a,o=!0){if(!a||typeof a!="string")return null;if(e&&e.vars&&o){const t=`vars.${a}`.split(".").reduce((n,r)=>n&&n[r]?n[r]:null,e);if(t!=null)return t}return a.split(".").reduce((t,n)=>t&&t[n]!=null?t[n]:null,e)}function Na(e,a,o,t=o){let n;return typeof e=="function"?n=e(o):Array.isArray(e)?n=e[o]||t:n=Ua(e,o)||t,a&&(n=a(n,t,e)),n}function je(e){const{prop:a,cssProperty:o=e.prop,themeKey:t,transform:n}=e,r=i=>{if(i[a]==null)return null;const s=i[a],u=i.theme,p=Ua(u,t)||{};return Pe(i,s,m=>{let h=Na(p,n,m);return m===h&&typeof m=="string"&&(h=Na(p,n,`${a}${m==="default"?"":To(m)}`,m)),o===!1?h:{[o]:h}})};return r.propTypes=process.env.NODE_ENV!=="production"?{[a]:qe}:{},r.filterProps=[a],r}function Ir(e){const a={};return o=>(a[o]===void 0&&(a[o]=e(o)),a[o])}const Pr={m:"margin",p:"padding"},$r={t:"Top",r:"Right",b:"Bottom",l:"Left",x:["Left","Right"],y:["Top","Bottom"]},dt={marginX:"mx",marginY:"my",paddingX:"px",paddingY:"py"},Dr=Ir(e=>{if(e.length>2)if(dt[e])e=dt[e];else return[e];const[a,o]=e.split(""),t=Pr[a],n=$r[o]||"";return Array.isArray(n)?n.map(r=>t+r):[t+n]}),qa=["m","mt","mr","mb","ml","mx","my","margin","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","marginInline","marginInlineStart","marginInlineEnd","marginBlock","marginBlockStart","marginBlockEnd"],Va=["p","pt","pr","pb","pl","px","py","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY","paddingInline","paddingInlineStart","paddingInlineEnd","paddingBlock","paddingBlockStart","paddingBlockEnd"],Fr=[...qa,...Va];function va(e,a,o,t){const n=Ua(e,a,!0)??o;return typeof n=="number"||typeof n=="string"?r=>typeof r=="string"?r:(process.env.NODE_ENV!=="production"&&typeof r!="number"&&console.error(`MUI: Expected ${t} argument to be a number or a string, got ${r}.`),typeof n=="string"?n.startsWith("var(")&&r===0?0:n.startsWith("var(")&&r===1?n:`calc(${r} * ${n})`:n*r):Array.isArray(n)?r=>{if(typeof r=="string")return r;const i=Math.abs(r);process.env.NODE_ENV!=="production"&&(Number.isInteger(i)?i>n.length-1&&console.error([`MUI: The value provided (${i}) overflows.`,`The supported values are: ${JSON.stringify(n)}.`,`${i} > ${n.length-1}, you need to add the missing values.`].join(`
91
+ `)):console.error([`MUI: The \`theme.${a}\` array type cannot be combined with non integer values.You should either use an integer value that can be used as index, or define the \`theme.${a}\` as a number.`].join(`
92
+ `)));const s=n[i];return r>=0?s:typeof s=="number"?-s:typeof s=="string"&&s.startsWith("var(")?`calc(-1 * ${s})`:`-${s}`}:typeof n=="function"?n:(process.env.NODE_ENV!=="production"&&console.error([`MUI: The \`theme.${a}\` value (${n}) is invalid.`,"It should be a number, an array or a function."].join(`
93
+ `)),()=>{})}function Oo(e){return va(e,"spacing",8,"spacing")}function wa(e,a){return typeof a=="string"||a==null?a:e(a)}function Nr(e,a){return o=>e.reduce((t,n)=>(t[n]=wa(a,o),t),{})}function Lr(e,a,o,t){if(!a.includes(o))return null;const n=Dr(o),r=Nr(n,t),i=e[o];return Pe(e,i,r)}function Gt(e,a){const o=Oo(e.theme);return Object.keys(e).map(t=>Lr(e,a,t,o)).reduce(ka,{})}function ke(e){return Gt(e,qa)}ke.propTypes=process.env.NODE_ENV!=="production"?qa.reduce((e,a)=>(e[a]=qe,e),{}):{};ke.filterProps=qa;function ye(e){return Gt(e,Va)}ye.propTypes=process.env.NODE_ENV!=="production"?Va.reduce((e,a)=>(e[a]=qe,e),{}):{};ye.filterProps=Va;process.env.NODE_ENV!=="production"&&Fr.reduce((e,a)=>(e[a]=qe,e),{});function Wa(...e){const a=e.reduce((t,n)=>(n.filterProps.forEach(r=>{t[r]=n}),t),{}),o=t=>Object.keys(t).reduce((n,r)=>a[r]?ka(n,a[r](t)):n,{});return o.propTypes=process.env.NODE_ENV!=="production"?e.reduce((t,n)=>Object.assign(t,n.propTypes),{}):{},o.filterProps=e.reduce((t,n)=>t.concat(n.filterProps),[]),o}function ze(e){return typeof e!="number"?e:`${e}px solid`}function Oe(e,a){return je({prop:e,themeKey:"borders",transform:a})}const Mr=Oe("border",ze),Br=Oe("borderTop",ze),Ur=Oe("borderRight",ze),qr=Oe("borderBottom",ze),Vr=Oe("borderLeft",ze),Wr=Oe("borderColor"),Hr=Oe("borderTopColor"),Gr=Oe("borderRightColor"),Yr=Oe("borderBottomColor"),Kr=Oe("borderLeftColor"),Jr=Oe("outline",ze),Xr=Oe("outlineColor"),Ha=e=>{if(e.borderRadius!==void 0&&e.borderRadius!==null){const a=va(e.theme,"shape.borderRadius",4,"borderRadius"),o=t=>({borderRadius:wa(a,t)});return Pe(e,e.borderRadius,o)}return null};Ha.propTypes=process.env.NODE_ENV!=="production"?{borderRadius:qe}:{};Ha.filterProps=["borderRadius"];Wa(Mr,Br,Ur,qr,Vr,Wr,Hr,Gr,Yr,Kr,Ha,Jr,Xr);const Ga=e=>{if(e.gap!==void 0&&e.gap!==null){const a=va(e.theme,"spacing",8,"gap"),o=t=>({gap:wa(a,t)});return Pe(e,e.gap,o)}return null};Ga.propTypes=process.env.NODE_ENV!=="production"?{gap:qe}:{};Ga.filterProps=["gap"];const Ya=e=>{if(e.columnGap!==void 0&&e.columnGap!==null){const a=va(e.theme,"spacing",8,"columnGap"),o=t=>({columnGap:wa(a,t)});return Pe(e,e.columnGap,o)}return null};Ya.propTypes=process.env.NODE_ENV!=="production"?{columnGap:qe}:{};Ya.filterProps=["columnGap"];const Ka=e=>{if(e.rowGap!==void 0&&e.rowGap!==null){const a=va(e.theme,"spacing",8,"rowGap"),o=t=>({rowGap:wa(a,t)});return Pe(e,e.rowGap,o)}return null};Ka.propTypes=process.env.NODE_ENV!=="production"?{rowGap:qe}:{};Ka.filterProps=["rowGap"];const Qr=je({prop:"gridColumn"}),Zr=je({prop:"gridRow"}),ei=je({prop:"gridAutoFlow"}),ai=je({prop:"gridAutoColumns"}),oi=je({prop:"gridAutoRows"}),ti=je({prop:"gridTemplateColumns"}),ni=je({prop:"gridTemplateRows"}),ri=je({prop:"gridTemplateAreas"}),ii=je({prop:"gridArea"});Wa(Ga,Ya,Ka,Qr,Zr,ei,ai,oi,ti,ni,ri,ii);function ia(e,a){return a==="grey"?a:e}const si=je({prop:"color",themeKey:"palette",transform:ia}),ui=je({prop:"bgcolor",cssProperty:"backgroundColor",themeKey:"palette",transform:ia}),ci=je({prop:"backgroundColor",themeKey:"palette",transform:ia});Wa(si,ui,ci);function Ee(e){return e<=1&&e!==0?`${e*100}%`:e}const li=je({prop:"width",transform:Ee}),_o=e=>{if(e.maxWidth!==void 0&&e.maxWidth!==null){const a=o=>{var n,r,i,s,u;const t=((i=(r=(n=e.theme)==null?void 0:n.breakpoints)==null?void 0:r.values)==null?void 0:i[o])||Ba[o];return t?((u=(s=e.theme)==null?void 0:s.breakpoints)==null?void 0:u.unit)!=="px"?{maxWidth:`${t}${e.theme.breakpoints.unit}`}:{maxWidth:t}:{maxWidth:Ee(o)}};return Pe(e,e.maxWidth,a)}return null};_o.filterProps=["maxWidth"];const mi=je({prop:"minWidth",transform:Ee}),pi=je({prop:"height",transform:Ee}),di=je({prop:"maxHeight",transform:Ee}),hi=je({prop:"minHeight",transform:Ee});je({prop:"size",cssProperty:"width",transform:Ee});je({prop:"size",cssProperty:"height",transform:Ee});const fi=je({prop:"boxSizing"});Wa(li,_o,mi,pi,di,hi,fi);const Ja={border:{themeKey:"borders",transform:ze},borderTop:{themeKey:"borders",transform:ze},borderRight:{themeKey:"borders",transform:ze},borderBottom:{themeKey:"borders",transform:ze},borderLeft:{themeKey:"borders",transform:ze},borderColor:{themeKey:"palette"},borderTopColor:{themeKey:"palette"},borderRightColor:{themeKey:"palette"},borderBottomColor:{themeKey:"palette"},borderLeftColor:{themeKey:"palette"},outline:{themeKey:"borders",transform:ze},outlineColor:{themeKey:"palette"},borderRadius:{themeKey:"shape.borderRadius",style:Ha},color:{themeKey:"palette",transform:ia},bgcolor:{themeKey:"palette",cssProperty:"backgroundColor",transform:ia},backgroundColor:{themeKey:"palette",transform:ia},p:{style:ye},pt:{style:ye},pr:{style:ye},pb:{style:ye},pl:{style:ye},px:{style:ye},py:{style:ye},padding:{style:ye},paddingTop:{style:ye},paddingRight:{style:ye},paddingBottom:{style:ye},paddingLeft:{style:ye},paddingX:{style:ye},paddingY:{style:ye},paddingInline:{style:ye},paddingInlineStart:{style:ye},paddingInlineEnd:{style:ye},paddingBlock:{style:ye},paddingBlockStart:{style:ye},paddingBlockEnd:{style:ye},m:{style:ke},mt:{style:ke},mr:{style:ke},mb:{style:ke},ml:{style:ke},mx:{style:ke},my:{style:ke},margin:{style:ke},marginTop:{style:ke},marginRight:{style:ke},marginBottom:{style:ke},marginLeft:{style:ke},marginX:{style:ke},marginY:{style:ke},marginInline:{style:ke},marginInlineStart:{style:ke},marginInlineEnd:{style:ke},marginBlock:{style:ke},marginBlockStart:{style:ke},marginBlockEnd:{style:ke},displayPrint:{cssProperty:!1,transform:e=>({"@media print":{display:e}})},display:{},overflow:{},textOverflow:{},visibility:{},whiteSpace:{},flexBasis:{},flexDirection:{},flexWrap:{},justifyContent:{},alignItems:{},alignContent:{},order:{},flex:{},flexGrow:{},flexShrink:{},alignSelf:{},justifyItems:{},justifySelf:{},gap:{style:Ga},rowGap:{style:Ka},columnGap:{style:Ya},gridColumn:{},gridRow:{},gridAutoFlow:{},gridAutoColumns:{},gridAutoRows:{},gridTemplateColumns:{},gridTemplateRows:{},gridTemplateAreas:{},gridArea:{},position:{},zIndex:{themeKey:"zIndex"},top:{},right:{},bottom:{},left:{},boxShadow:{themeKey:"shadows"},width:{transform:Ee},maxWidth:{style:_o},minWidth:{transform:Ee},height:{transform:Ee},maxHeight:{transform:Ee},minHeight:{transform:Ee},boxSizing:{},font:{themeKey:"font"},fontFamily:{themeKey:"typography"},fontSize:{themeKey:"typography"},fontStyle:{themeKey:"typography"},fontWeight:{themeKey:"typography"},letterSpacing:{},textTransform:{},lineHeight:{},textAlign:{},typography:{cssProperty:!1,themeKey:"typography"}};function gi(...e){const a=e.reduce((t,n)=>t.concat(Object.keys(n)),[]),o=new Set(a);return e.every(t=>o.size===Object.keys(t).length)}function ki(e,a){return typeof e=="function"?e(a):e}function yi(){function e(o,t,n,r){const i={[o]:t,theme:n},s=r[o];if(!s)return{[o]:t};const{cssProperty:u=o,themeKey:p,transform:d,style:m}=s;if(t==null)return null;if(p==="typography"&&t==="inherit")return{[o]:t};const h=Ua(n,p)||{};return m?m(i):Pe(i,t,f=>{let c=Na(h,d,f);return f===c&&typeof f=="string"&&(c=Na(h,d,`${o}${f==="default"?"":To(f)}`,f)),u===!1?c:{[u]:c}})}function a(o){const{sx:t,theme:n={},nested:r}=o||{};if(!t)return null;const i=n.unstable_sxConfig??Ja;function s(u){let p=u;if(typeof u=="function")p=u(n);else if(typeof u!="object")return u;if(!p)return null;const d=Rr(n.breakpoints),m=Object.keys(d);let h=d;return Object.keys(p).forEach(g=>{const f=ki(p[g],n);if(f!=null)if(typeof f=="object")if(i[g])h=ka(h,e(g,f,n,i));else{const c=Pe({theme:n},f,v=>({[g]:v}));gi(c,f)?h[g]=a({sx:f,theme:n,nested:!0}):h=ka(h,c)}else h=ka(h,e(g,f,n,i))}),!r&&n.modularCssLayers?{"@layer sx":lt(n,pt(m,h))}:lt(n,pt(m,h))}return Array.isArray(t)?t.map(s):s(t)}return a}const ua=yi();ua.filterProps=["sx"];function bi(e){for(var a=0,o,t=0,n=e.length;n>=4;++t,n-=4)o=e.charCodeAt(t)&255|(e.charCodeAt(++t)&255)<<8|(e.charCodeAt(++t)&255)<<16|(e.charCodeAt(++t)&255)<<24,o=(o&65535)*1540483477+((o>>>16)*59797<<16),o^=o>>>24,a=(o&65535)*1540483477+((o>>>16)*59797<<16)^(a&65535)*1540483477+((a>>>16)*59797<<16);switch(n){case 3:a^=(e.charCodeAt(t+2)&255)<<16;case 2:a^=(e.charCodeAt(t+1)&255)<<8;case 1:a^=e.charCodeAt(t)&255,a=(a&65535)*1540483477+((a>>>16)*59797<<16)}return a^=a>>>13,a=(a&65535)*1540483477+((a>>>16)*59797<<16),((a^a>>>15)>>>0).toString(36)}var ji={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,scale: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};function vi(e){var a=Object.create(null);return function(o){return a[o]===void 0&&(a[o]=e(o)),a[o]}}var wi=/[A-Z]|^ms/g,xi=/_EMO_([^_]+?)_([^]*?)_EMO_/g,Yt=function(a){return a.charCodeAt(1)===45},ht=function(a){return a!=null&&typeof a!="boolean"},mo=vi(function(e){return Yt(e)?e:e.replace(wi,"-$&").toLowerCase()}),ft=function(a,o){switch(a){case"animation":case"animationName":if(typeof o=="string")return o.replace(xi,function(t,n,r){return Be={name:n,styles:r,next:Be},n})}return ji[a]!==1&&!Yt(a)&&typeof o=="number"&&o!==0?o+"px":o};function La(e,a,o){if(o==null)return"";var t=o;if(t.__emotion_styles!==void 0)return t;switch(typeof o){case"boolean":return"";case"object":{var n=o;if(n.anim===1)return Be={name:n.name,styles:n.styles,next:Be},n.name;var r=o;if(r.styles!==void 0){var i=r.next;if(i!==void 0)for(;i!==void 0;)Be={name:i.name,styles:i.styles,next:Be},i=i.next;var s=r.styles+";";return s}return Ci(e,a,o)}}var u=o;return u}function Ci(e,a,o){var t="";if(Array.isArray(o))for(var n=0;n<o.length;n++)t+=La(e,a,o[n])+";";else for(var r in o){var i=o[r];if(typeof i!="object"){var s=i;ht(s)&&(t+=mo(r)+":"+ft(r,s)+";")}else if(Array.isArray(i)&&typeof i[0]=="string"&&a==null)for(var u=0;u<i.length;u++)ht(i[u])&&(t+=mo(r)+":"+ft(r,i[u])+";");else{var p=La(e,a,i);switch(r){case"animation":case"animationName":{t+=mo(r)+":"+p+";";break}default:t+=r+"{"+p+"}"}}}return t}var gt=/label:\s*([^\s;{]+)\s*(;|$)/g,Be;function Ei(e,a,o){if(e.length===1&&typeof e[0]=="object"&&e[0]!==null&&e[0].styles!==void 0)return e[0];var t=!0,n="";Be=void 0;var r=e[0];if(r==null||r.raw===void 0)t=!1,n+=La(o,a,r);else{var i=r;n+=i[0]}for(var s=1;s<e.length;s++)if(n+=La(o,a,e[s]),t){var u=r;n+=u[s]}gt.lastIndex=0;for(var p="",d;(d=gt.exec(n))!==null;)p+="-"+d[1];var m=bi(n)+p;return{name:m,styles:n,next:Be}}/**
94
94
  * @mui/styled-engine v7.3.3
95
95
  *
96
96
  * @license MIT
97
97
  * This source code is licensed under the MIT license found in the
98
98
  * LICENSE file in the root directory of this source tree.
99
- */function ss(e,t){const r=bn(e,t);return process.env.NODE_ENV!=="production"?(...n)=>{const o=typeof e=="string"?`"${e}"`:"component";return n.length===0?console.error([`MUI: Seems like you called \`styled(${o})()\` without a \`style\` argument.`,'You must provide a `styles` argument: `styled("div")(styleYouForgotToPass)`.'].join(`
100
- `)):n.some(s=>s===void 0)&&console.error(`MUI: the styled(${o})(...args) API requires all its args to be defined.`),r(...n)}:r}function is(e,t){Array.isArray(e.__emotion_styles)&&(e.__emotion_styles=t(e.__emotion_styles))}const Pr=[];function Ae(e){return Pr[0]=e,os(Pr)}const as=e=>{const t=Object.keys(e).map(r=>({key:r,val:e[r]}))||[];return t.sort((r,n)=>r.val-n.val),t.reduce((r,n)=>({...r,[n.key]:n.val}),{})};function cs(e){const{values:t={xs:0,sm:600,md:900,lg:1200,xl:1536},unit:r="px",step:n=5,...o}=e,s=as(t),i=Object.keys(s);function a(m){return`@media (min-width:${typeof t[m]=="number"?t[m]:m}${r})`}function u(m){return`@media (max-width:${(typeof t[m]=="number"?t[m]:m)-n/100}${r})`}function f(m,b){const y=i.indexOf(b);return`@media (min-width:${typeof t[m]=="number"?t[m]:m}${r}) and (max-width:${(y!==-1&&typeof t[i[y]]=="number"?t[i[y]]:b)-n/100}${r})`}function d(m){return i.indexOf(m)+1<i.length?f(m,i[i.indexOf(m)+1]):a(m)}function h(m){const b=i.indexOf(m);return b===0?a(i[1]):b===i.length-1?u(i[b]):f(m,i[i.indexOf(m)+1]).replace("@media","@media not all and")}return{keys:i,values:s,up:a,down:u,between:f,only:d,not:h,unit:r,...o}}const ls={borderRadius:4};function tn(e=8,t=Ht({spacing:e})){if(e.mui)return e;const r=(...n)=>(process.env.NODE_ENV!=="production"&&(n.length<=4||console.error(`MUI: Too many arguments provided, expected between 0 and 4, got ${n.length}`)),(n.length===0?[1]:n).map(s=>{const i=t(s);return typeof i=="number"?`${i}px`:i}).join(" "));return r.mui=!0,r}function us(e,t){var n;const r=this;if(r.vars){if(!((n=r.colorSchemes)!=null&&n[e])||typeof r.getColorSchemeSelector!="function")return{};let o=r.getColorSchemeSelector(e);return o==="&"?t:((o.includes("data-")||o.includes("."))&&(o=`*:where(${o.replace(/\s*&$/,"")}) &`),{[o]:t})}return r.palette.mode===e?t:{}}function rn(e={},...t){const{breakpoints:r={},palette:n={},spacing:o,shape:s={},...i}=e,a=cs(r),u=tn(o);let f=$e({breakpoints:a,direction:"ltr",components:{},palette:{mode:"light",...n},spacing:u,shape:{...ls,...s}},i);return f=co(f),f.applyStyles=us,f=t.reduce((d,h)=>$e(d,h),f),f.unstable_sxConfig={...St,...i==null?void 0:i.unstable_sxConfig},f.unstable_sx=function(h){return Be({sx:h,theme:this})},f}function nn(e,t=""){return e.displayName||e.name||t}function Ir(e,t,r){const n=nn(t);return e.displayName||(n!==""?`${r}(${n})`:r)}function fs(e){if(e!=null){if(typeof e=="string")return e;if(typeof e=="function")return nn(e,"Component");if(typeof e=="object")switch(e.$$typeof){case De.ForwardRef:return Ir(e,e.render,"ForwardRef");case De.Memo:return Ir(e,e.type,"memo");default:return}}}function on(e){const{variants:t,...r}=e,n={variants:t,style:Ae(r),isProcessed:!0};return n.style===r||t&&t.forEach(o=>{typeof o.style!="function"&&(o.style=Ae(o.style))}),n}const ds=rn();function Mt(e){return e!=="ownerState"&&e!=="theme"&&e!=="sx"&&e!=="as"}function Re(e,t){return t&&e&&typeof e=="object"&&e.styles&&!e.styles.startsWith("@layer")&&(e.styles=`@layer ${t}{${String(e.styles)}}`),e}function ps(e){return e?(t,r)=>r[e]:null}function ms(e,t,r){e.theme=bs(e.theme)?r:e.theme[t]||e.theme}function ot(e,t,r){const n=typeof t=="function"?t(e):t;if(Array.isArray(n))return n.flatMap(o=>ot(e,o,r));if(Array.isArray(n==null?void 0:n.variants)){let o;if(n.isProcessed)o=r?Re(n.style,r):n.style;else{const{variants:s,...i}=n;o=r?Re(Ae(i),r):i}return sn(e,n.variants,[o],r)}return n!=null&&n.isProcessed?r?Re(Ae(n.style),r):n.style:r?Re(Ae(n),r):n}function sn(e,t,r=[],n=void 0){var s;let o;e:for(let i=0;i<t.length;i+=1){const a=t[i];if(typeof a.props=="function"){if(o??(o={...e,...e.ownerState,ownerState:e.ownerState}),!a.props(o))continue}else for(const u in a.props)if(e[u]!==a.props[u]&&((s=e.ownerState)==null?void 0:s[u])!==a.props[u])continue e;typeof a.style=="function"?(o??(o={...e,...e.ownerState,ownerState:e.ownerState}),r.push(n?Re(Ae(a.style(o)),n):a.style(o))):r.push(n?Re(Ae(a.style),n):a.style)}return r}function hs(e={}){const{themeId:t,defaultTheme:r=ds,rootShouldForwardProp:n=Mt,slotShouldForwardProp:o=Mt}=e;function s(a){ms(a,t,r)}return(a,u={})=>{is(a,x=>x.filter(N=>N!==Be));const{name:f,slot:d,skipVariantsResolver:h,skipSx:m,overridesResolver:b=ps(an(d)),...y}=u,l=f&&f.startsWith("Mui")||d?"components":"custom",S=h!==void 0?h:d&&d!=="Root"&&d!=="root"||!1,T=m||!1;let k=Mt;d==="Root"||d==="root"?k=n:d?k=o:vs(a)&&(k=void 0);const A=ss(a,{shouldForwardProp:k,label:ys(f,d),...y}),O=x=>{if(x.__emotion_real===x)return x;if(typeof x=="function")return function(W){return ot(W,x,W.theme.modularCssLayers?l:void 0)};if(_e(x)){const N=on(x);return function(q){return N.variants?ot(q,N,q.theme.modularCssLayers?l:void 0):q.theme.modularCssLayers?Re(N.style,l):N.style}}return x},C=(...x)=>{const N=[],W=x.map(O),q=[];if(N.push(s),f&&b&&q.push(function($){var ne,ce;const L=(ce=(ne=$.theme.components)==null?void 0:ne[f])==null?void 0:ce.styleOverrides;if(!L)return null;const D={};for(const be in L)D[be]=ot($,L[be],$.theme.modularCssLayers?"theme":void 0);return b($,D)}),f&&!S&&q.push(function($){var D,ne;const w=$.theme,L=(ne=(D=w==null?void 0:w.components)==null?void 0:D[f])==null?void 0:ne.variants;return L?sn($,L,[],$.theme.modularCssLayers?"theme":void 0):null}),T||q.push(Be),Array.isArray(W[0])){const c=W.shift(),$=new Array(N.length).fill(""),w=new Array(q.length).fill("");let L;L=[...$,...c,...w],L.raw=[...$,...c.raw,...w],N.unshift(L)}const fe=[...N,...W,...q],Z=A(...fe);return a.muiName&&(Z.muiName=a.muiName),process.env.NODE_ENV!=="production"&&(Z.displayName=gs(f,d,a)),Z};return A.withConfig&&(C.withConfig=A.withConfig),C}}function gs(e,t,r){return e?`${e}${Gt(t||"")}`:`Styled(${fs(r)})`}function ys(e,t){let r;return process.env.NODE_ENV!=="production"&&e&&(r=`${e}-${an(t||"Root")}`),r}function bs(e){for(const t in e)return!1;return!0}function vs(e){return typeof e=="string"&&e.charCodeAt(0)>96}function an(e){return e&&e.charAt(0).toLowerCase()+e.slice(1)}function Vt(e,t,r=!1){const n={...t};for(const o in e)if(Object.prototype.hasOwnProperty.call(e,o)){const s=o;if(s==="components"||s==="slots")n[s]={...e[s],...n[s]};else if(s==="componentsProps"||s==="slotProps"){const i=e[s],a=t[s];if(!a)n[s]=i||{};else if(!i)n[s]=a;else{n[s]={...a};for(const u in i)if(Object.prototype.hasOwnProperty.call(i,u)){const f=u;n[s][f]=Vt(i[f],a[f],r)}}}else s==="className"&&r&&t.className?n.className=Xr(e==null?void 0:e.className,t==null?void 0:t.className):s==="style"&&r&&t.style?n.style={...e==null?void 0:e.style,...t==null?void 0:t.style}:n[s]===void 0&&(n[s]=e[s])}return n}function Ss(e,t=Number.MIN_SAFE_INTEGER,r=Number.MAX_SAFE_INTEGER){return Math.max(t,Math.min(e,r))}function Kt(e,t=0,r=1){return process.env.NODE_ENV!=="production"&&(e<t||e>r)&&console.error(`MUI: The value provided ${e} is out of range [${t}, ${r}].`),Ss(e,t,r)}function Cs(e){e=e.slice(1);const t=new RegExp(`.{1,${e.length>=6?2:1}}`,"g");let r=e.match(t);return r&&r[0].length===1&&(r=r.map(n=>n+n)),process.env.NODE_ENV!=="production"&&e.length!==e.trim().length&&console.error(`MUI: The color: "${e}" is invalid. Make sure the color input doesn't contain leading/trailing space.`),r?`rgb${r.length===4?"a":""}(${r.map((n,o)=>o<3?parseInt(n,16):Math.round(parseInt(n,16)/255*1e3)/1e3).join(", ")})`:""}function Te(e){if(e.type)return e;if(e.charAt(0)==="#")return Te(Cs(e));const t=e.indexOf("("),r=e.substring(0,t);if(!["rgb","rgba","hsl","hsla","color"].includes(r))throw new Error(process.env.NODE_ENV!=="production"?`MUI: Unsupported \`${e}\` color.
101
- The following formats are supported: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color().`:at(9,e));let n=e.substring(t+1,e.length-1),o;if(r==="color"){if(n=n.split(" "),o=n.shift(),n.length===4&&n[3].charAt(0)==="/"&&(n[3]=n[3].slice(1)),!["srgb","display-p3","a98-rgb","prophoto-rgb","rec-2020"].includes(o))throw new Error(process.env.NODE_ENV!=="production"?`MUI: unsupported \`${o}\` color space.
102
- The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rgb, rec-2020.`:at(10,o))}else n=n.split(",");return n=n.map(s=>parseFloat(s)),{type:r,values:n,colorSpace:o}}const xs=e=>{const t=Te(e);return t.values.slice(0,3).map((r,n)=>t.type.includes("hsl")&&n!==0?`${r}%`:r).join(" ")},ze=(e,t)=>{try{return xs(e)}catch{return t&&process.env.NODE_ENV!=="production"&&console.warn(t),e}};function Ct(e){const{type:t,colorSpace:r}=e;let{values:n}=e;return t.includes("rgb")?n=n.map((o,s)=>s<3?parseInt(o,10):o):t.includes("hsl")&&(n[1]=`${n[1]}%`,n[2]=`${n[2]}%`),t.includes("color")?n=`${r} ${n.join(" ")}`:n=`${n.join(", ")}`,`${t}(${n})`}function cn(e){e=Te(e);const{values:t}=e,r=t[0],n=t[1]/100,o=t[2]/100,s=n*Math.min(o,1-o),i=(f,d=(f+r/30)%12)=>o-s*Math.max(Math.min(d-3,9-d,1),-1);let a="rgb";const u=[Math.round(i(0)*255),Math.round(i(8)*255),Math.round(i(4)*255)];return e.type==="hsla"&&(a+="a",u.push(t[3])),Ct({type:a,values:u})}function Ft(e){e=Te(e);let t=e.type==="hsl"||e.type==="hsla"?Te(cn(e)).values:e.values;return t=t.map(r=>(e.type!=="color"&&(r/=255),r<=.03928?r/12.92:((r+.055)/1.055)**2.4)),Number((.2126*t[0]+.7152*t[1]+.0722*t[2]).toFixed(3))}function kr(e,t){const r=Ft(e),n=Ft(t);return(Math.max(r,n)+.05)/(Math.min(r,n)+.05)}function ln(e,t){return e=Te(e),t=Kt(t),(e.type==="rgb"||e.type==="hsl")&&(e.type+="a"),e.type==="color"?e.values[3]=`/${t}`:e.values[3]=t,Ct(e)}function we(e,t,r){try{return ln(e,t)}catch{return r&&process.env.NODE_ENV!=="production"&&console.warn(r),e}}function xt(e,t){if(e=Te(e),t=Kt(t),e.type.includes("hsl"))e.values[2]*=1-t;else if(e.type.includes("rgb")||e.type.includes("color"))for(let r=0;r<3;r+=1)e.values[r]*=1-t;return Ct(e)}function X(e,t,r){try{return xt(e,t)}catch{return r&&process.env.NODE_ENV!=="production"&&console.warn(r),e}}function Et(e,t){if(e=Te(e),t=Kt(t),e.type.includes("hsl"))e.values[2]+=(100-e.values[2])*t;else if(e.type.includes("rgb"))for(let r=0;r<3;r+=1)e.values[r]+=(255-e.values[r])*t;else if(e.type.includes("color"))for(let r=0;r<3;r+=1)e.values[r]+=(1-e.values[r])*t;return Ct(e)}function Q(e,t,r){try{return Et(e,t)}catch{return r&&process.env.NODE_ENV!=="production"&&console.warn(r),e}}function Es(e,t=.15){return Ft(e)>.5?xt(e,t):Et(e,t)}function nt(e,t,r){try{return Es(e,t)}catch{return e}}const Ts=ye.createContext(void 0);process.env.NODE_ENV!=="production"&&(G.node,G.object);function Os(e){const{theme:t,name:r,props:n}=e;if(!t||!t.components||!t.components[r])return n;const o=t.components[r];return o.defaultProps?Vt(o.defaultProps,n,t.components.mergeClassNameAndStyle):!o.styleOverrides&&!o.variants?Vt(o,n,t.components.mergeClassNameAndStyle):n}function ws({props:e,name:t}){const r=ye.useContext(Ts);return Os({props:e,name:t,theme:{components:r}})}const Mr={theme:void 0};function _s(e){let t,r;return function(o){let s=t;return(s===void 0||o.theme!==r)&&(Mr.theme=o.theme,s=on(e(Mr)),t=s,r=o.theme),s}}function Rs(e=""){function t(...n){if(!n.length)return"";const o=n[0];return typeof o=="string"&&!o.match(/(#|\(|\)|(-?(\d*\.)?\d+)(px|em|%|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc))|^(-?(\d*\.)?\d+)$|(\d+ \d+ \d+)/)?`, var(--${e?`${e}-`:""}${o}${t(...n.slice(1))})`:`, ${o}`}return(n,...o)=>`var(--${e?`${e}-`:""}${n}${t(...o)})`}const Nr=(e,t,r,n=[])=>{let o=e;t.forEach((s,i)=>{i===t.length-1?Array.isArray(o)?o[Number(s)]=r:o&&typeof o=="object"&&(o[s]=r):o&&typeof o=="object"&&(o[s]||(o[s]=n.includes(s)?[]:{}),o=o[s])})},$s=(e,t,r)=>{function n(o,s=[],i=[]){Object.entries(o).forEach(([a,u])=>{(!r||r&&!r([...s,a]))&&u!=null&&(typeof u=="object"&&Object.keys(u).length>0?n(u,[...s,a],Array.isArray(u)?[...i,a]:i):t([...s,a],u,i))})}n(e)},As=(e,t)=>typeof t=="number"?["lineHeight","fontWeight","opacity","zIndex"].some(n=>e.includes(n))||e[e.length-1].toLowerCase().includes("opacity")?t:`${t}px`:t;function Nt(e,t){const{prefix:r,shouldSkipGeneratingVar:n}=t||{},o={},s={},i={};return $s(e,(a,u,f)=>{if((typeof u=="string"||typeof u=="number")&&(!n||!n(a,u))){const d=`--${r?`${r}-`:""}${a.join("-")}`,h=As(a,u);Object.assign(o,{[d]:h}),Nr(s,a,`var(${d})`,f),Nr(i,a,`var(${d}, ${h})`,f)}},a=>a[0]==="vars"),{css:o,vars:s,varsWithDefaults:i}}function js(e,t={}){const{getSelector:r=T,disableCssColorScheme:n,colorSchemeSelector:o,enableContrastVars:s}=t,{colorSchemes:i={},components:a,defaultColorScheme:u="light",...f}=e,{vars:d,css:h,varsWithDefaults:m}=Nt(f,t);let b=m;const y={},{[u]:l,...S}=i;if(Object.entries(S||{}).forEach(([O,C])=>{const{vars:x,css:N,varsWithDefaults:W}=Nt(C,t);b=$e(b,W),y[O]={css:N,vars:x}}),l){const{css:O,vars:C,varsWithDefaults:x}=Nt(l,t);b=$e(b,x),y[u]={css:O,vars:C}}function T(O,C){var N,W;let x=o;if(o==="class"&&(x=".%s"),o==="data"&&(x="[data-%s]"),o!=null&&o.startsWith("data-")&&!o.includes("%s")&&(x=`[${o}="%s"]`),O){if(x==="media")return e.defaultColorScheme===O?":root":{[`@media (prefers-color-scheme: ${((W=(N=i[O])==null?void 0:N.palette)==null?void 0:W.mode)||O})`]:{":root":C}};if(x)return e.defaultColorScheme===O?`:root, ${x.replace("%s",String(O))}`:x.replace("%s",String(O))}return":root"}return{vars:b,generateThemeVars:()=>{let O={...d};return Object.entries(y).forEach(([,{vars:C}])=>{O=$e(O,C)}),O},generateStyleSheets:()=>{var q,fe;const O=[],C=e.defaultColorScheme||"light";function x(Z,c){Object.keys(c).length&&O.push(typeof Z=="string"?{[Z]:{...c}}:Z)}x(r(void 0,{...h}),h);const{[C]:N,...W}=y;if(N){const{css:Z}=N,c=(fe=(q=i[C])==null?void 0:q.palette)==null?void 0:fe.mode,$=!n&&c?{colorScheme:c,...Z}:{...Z};x(r(C,{...$}),$)}return Object.entries(W).forEach(([Z,{css:c}])=>{var L,D;const $=(D=(L=i[Z])==null?void 0:L.palette)==null?void 0:D.mode,w=!n&&$?{colorScheme:$,...c}:{...c};x(r(Z,{...w}),w)}),s&&O.push({":root":{"--__l-threshold":"0.7","--__l":"clamp(0, (l / var(--__l-threshold) - 1) * -infinity, 1)","--__a":"clamp(0.87, (l / var(--__l-threshold) - 1) * -infinity, 1)"}}),O}}}function Ps(e){return function(r){return e==="media"?(process.env.NODE_ENV!=="production"&&r!=="light"&&r!=="dark"&&console.error(`MUI: @media (prefers-color-scheme) supports only 'light' or 'dark', but receive '${r}'.`),`@media (prefers-color-scheme: ${r})`):e?e.startsWith("data-")&&!e.includes("%s")?`[${e}="${r}"] &`:e==="class"?`.${r} &`:e==="data"?`[data-${r}] &`:`${e.replace("%s",r)} &`:"&"}}function xe(e){if(typeof e!="object"||e===null)return!1;const t=Object.getPrototypeOf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}function un(e){if(ye.isValidElement(e)||De.isValidElementType(e)||!xe(e))return e;const t={};return Object.keys(e).forEach(r=>{t[r]=un(e[r])}),t}function je(e,t,r={clone:!0}){const n=r.clone?{...e}:e;return xe(e)&&xe(t)&&Object.keys(t).forEach(o=>{ye.isValidElement(t[o])||De.isValidElementType(t[o])?n[o]=t[o]:xe(t[o])&&Object.prototype.hasOwnProperty.call(e,o)&&xe(e[o])?n[o]=je(e[o],t[o],r):r.clone?n[o]=xe(t[o])?un(t[o]):t[o]:n[o]=t[o]}),n}const He={black:"#000",white:"#fff"},Is={50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121",A100:"#f5f5f5",A200:"#eeeeee",A400:"#bdbdbd",A700:"#616161"},Pe={50:"#f3e5f5",200:"#ce93d8",300:"#ba68c8",400:"#ab47bc",500:"#9c27b0",700:"#7b1fa2"},Ie={300:"#e57373",400:"#ef5350",500:"#f44336",700:"#d32f2f",800:"#c62828"},Ue={300:"#ffb74d",400:"#ffa726",500:"#ff9800",700:"#f57c00",900:"#e65100"},ke={50:"#e3f2fd",200:"#90caf9",400:"#42a5f5",700:"#1976d2",800:"#1565c0"},Me={300:"#4fc3f7",400:"#29b6f6",500:"#03a9f4",700:"#0288d1",900:"#01579b"},Ne={300:"#81c784",400:"#66bb6a",500:"#4caf50",700:"#388e3c",800:"#2e7d32",900:"#1b5e20"};function fn(){return{text:{primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.6)",disabled:"rgba(0, 0, 0, 0.38)"},divider:"rgba(0, 0, 0, 0.12)",background:{paper:He.white,default:He.white},action:{active:"rgba(0, 0, 0, 0.54)",hover:"rgba(0, 0, 0, 0.04)",hoverOpacity:.04,selected:"rgba(0, 0, 0, 0.08)",selectedOpacity:.08,disabled:"rgba(0, 0, 0, 0.26)",disabledBackground:"rgba(0, 0, 0, 0.12)",disabledOpacity:.38,focus:"rgba(0, 0, 0, 0.12)",focusOpacity:.12,activatedOpacity:.12}}}const dn=fn();function pn(){return{text:{primary:He.white,secondary:"rgba(255, 255, 255, 0.7)",disabled:"rgba(255, 255, 255, 0.5)",icon:"rgba(255, 255, 255, 0.5)"},divider:"rgba(255, 255, 255, 0.12)",background:{paper:"#121212",default:"#121212"},action:{active:He.white,hover:"rgba(255, 255, 255, 0.08)",hoverOpacity:.08,selected:"rgba(255, 255, 255, 0.16)",selectedOpacity:.16,disabled:"rgba(255, 255, 255, 0.3)",disabledBackground:"rgba(255, 255, 255, 0.12)",disabledOpacity:.38,focus:"rgba(255, 255, 255, 0.12)",focusOpacity:.12,activatedOpacity:.24}}}const Ut=pn();function Lr(e,t,r,n){const o=n.light||n,s=n.dark||n*1.5;e[t]||(e.hasOwnProperty(r)?e[t]=e[r]:t==="light"?e.light=Et(e.main,o):t==="dark"&&(e.dark=xt(e.main,s)))}function Dr(e,t,r,n,o){const s=o.light||o,i=o.dark||o*1.5;t[r]||(t.hasOwnProperty(n)?t[r]=t[n]:r==="light"?t.light=`color-mix(in ${e}, ${t.main}, #fff ${(s*100).toFixed(0)}%)`:r==="dark"&&(t.dark=`color-mix(in ${e}, ${t.main}, #000 ${(i*100).toFixed(0)}%)`))}function ks(e="light"){return e==="dark"?{main:ke[200],light:ke[50],dark:ke[400]}:{main:ke[700],light:ke[400],dark:ke[800]}}function Ms(e="light"){return e==="dark"?{main:Pe[200],light:Pe[50],dark:Pe[400]}:{main:Pe[500],light:Pe[300],dark:Pe[700]}}function Ns(e="light"){return e==="dark"?{main:Ie[500],light:Ie[300],dark:Ie[700]}:{main:Ie[700],light:Ie[400],dark:Ie[800]}}function Ls(e="light"){return e==="dark"?{main:Me[400],light:Me[300],dark:Me[700]}:{main:Me[700],light:Me[500],dark:Me[900]}}function Ds(e="light"){return e==="dark"?{main:Ne[400],light:Ne[300],dark:Ne[700]}:{main:Ne[800],light:Ne[500],dark:Ne[900]}}function Bs(e="light"){return e==="dark"?{main:Ue[400],light:Ue[300],dark:Ue[700]}:{main:"#ed6c02",light:Ue[500],dark:Ue[900]}}function Vs(e){return`oklch(from ${e} var(--__l) 0 h / var(--__a))`}function Jt(e){const{mode:t="light",contrastThreshold:r=3,tonalOffset:n=.2,colorSpace:o,...s}=e,i=e.primary||ks(t),a=e.secondary||Ms(t),u=e.error||Ns(t),f=e.info||Ls(t),d=e.success||Ds(t),h=e.warning||Bs(t);function m(S){if(o)return Vs(S);const T=kr(S,Ut.text.primary)>=r?Ut.text.primary:dn.text.primary;if(process.env.NODE_ENV!=="production"){const k=kr(S,T);k<3&&console.error([`MUI: The contrast ratio of ${k}:1 for ${T} on ${S}`,"falls below the WCAG recommended absolute minimum contrast ratio of 3:1.","https://www.w3.org/TR/2008/REC-WCAG20-20081211/#visual-audio-contrast-contrast"].join(`
103
- `))}return T}const b=({color:S,name:T,mainShade:k=500,lightShade:A=300,darkShade:O=700})=>{if(S={...S},!S.main&&S[k]&&(S.main=S[k]),!S.hasOwnProperty("main"))throw new Error(process.env.NODE_ENV!=="production"?`MUI: The color${T?` (${T})`:""} provided to augmentColor(color) is invalid.
104
- The color object needs to have a \`main\` property or a \`${k}\` property.`:Ge(11,T?` (${T})`:"",k));if(typeof S.main!="string")throw new Error(process.env.NODE_ENV!=="production"?`MUI: The color${T?` (${T})`:""} provided to augmentColor(color) is invalid.
105
- \`color.main\` should be a string, but \`${JSON.stringify(S.main)}\` was provided instead.
99
+ */function Si(e,a){const o=Mn(e,a);return process.env.NODE_ENV!=="production"?(...t)=>{const n=typeof e=="string"?`"${e}"`:"component";return t.length===0?console.error([`MUI: Seems like you called \`styled(${n})()\` without a \`style\` argument.`,'You must provide a `styles` argument: `styled("div")(styleYouForgotToPass)`.'].join(`
100
+ `)):t.some(r=>r===void 0)&&console.error(`MUI: the styled(${n})(...args) API requires all its args to be defined.`),o(...t)}:o}function zi(e,a){Array.isArray(e.__emotion_styles)&&(e.__emotion_styles=a(e.__emotion_styles))}const kt=[];function Ke(e){return kt[0]=e,Ei(kt)}const Ti=e=>{const a=Object.keys(e).map(o=>({key:o,val:e[o]}))||[];return a.sort((o,t)=>o.val-t.val),a.reduce((o,t)=>({...o,[t.key]:t.val}),{})};function Oi(e){const{values:a={xs:0,sm:600,md:900,lg:1200,xl:1536},unit:o="px",step:t=5,...n}=e,r=Ti(a),i=Object.keys(r);function s(h){return`@media (min-width:${typeof a[h]=="number"?a[h]:h}${o})`}function u(h){return`@media (max-width:${(typeof a[h]=="number"?a[h]:h)-t/100}${o})`}function p(h,g){const f=i.indexOf(g);return`@media (min-width:${typeof a[h]=="number"?a[h]:h}${o}) and (max-width:${(f!==-1&&typeof a[i[f]]=="number"?a[i[f]]:g)-t/100}${o})`}function d(h){return i.indexOf(h)+1<i.length?p(h,i[i.indexOf(h)+1]):s(h)}function m(h){const g=i.indexOf(h);return g===0?s(i[1]):g===i.length-1?u(i[g]):p(h,i[i.indexOf(h)+1]).replace("@media","@media not all and")}return{keys:i,values:r,up:s,down:u,between:p,only:d,not:m,unit:o,...n}}const _i={borderRadius:4};function Kt(e=8,a=Oo({spacing:e})){if(e.mui)return e;const o=(...t)=>(process.env.NODE_ENV!=="production"&&(t.length<=4||console.error(`MUI: Too many arguments provided, expected between 0 and 4, got ${t.length}`)),(t.length===0?[1]:t).map(r=>{const i=a(r);return typeof i=="number"?`${i}px`:i}).join(" "));return o.mui=!0,o}function Ai(e,a){var t;const o=this;if(o.vars){if(!((t=o.colorSchemes)!=null&&t[e])||typeof o.getColorSchemeSelector!="function")return{};let n=o.getColorSchemeSelector(e);return n==="&"?a:((n.includes("data-")||n.includes("."))&&(n=`*:where(${n.replace(/\s*&$/,"")}) &`),{[n]:a})}return o.palette.mode===e?a:{}}function Jt(e={},...a){const{breakpoints:o={},palette:t={},spacing:n,shape:r={},...i}=e,s=Oi(o),u=Kt(n);let p=Ye({breakpoints:s,direction:"ltr",components:{},palette:{mode:"light",...t},spacing:u,shape:{..._i,...r}},i);return p=_r(p),p.applyStyles=Ai,p=a.reduce((d,m)=>Ye(d,m),p),p.unstable_sxConfig={...Ja,...i==null?void 0:i.unstable_sxConfig},p.unstable_sx=function(m){return ua({sx:m,theme:this})},p}function Xt(e,a=""){return e.displayName||e.name||a}function yt(e,a,o){const t=Xt(a);return e.displayName||(t!==""?`${o}(${t})`:o)}function Ri(e){if(e!=null){if(typeof e=="string")return e;if(typeof e=="function")return Xt(e,"Component");if(typeof e=="object")switch(e.$$typeof){case sa.ForwardRef:return yt(e,e.render,"ForwardRef");case sa.Memo:return yt(e,e.type,"memo");default:return}}}function Qt(e){const{variants:a,...o}=e,t={variants:a,style:Ke(o),isProcessed:!0};return t.style===o||a&&a.forEach(n=>{typeof n.style!="function"&&(n.style=Ke(n.style))}),t}const Ii=Jt();function po(e){return e!=="ownerState"&&e!=="theme"&&e!=="sx"&&e!=="as"}function Ge(e,a){return a&&e&&typeof e=="object"&&e.styles&&!e.styles.startsWith("@layer")&&(e.styles=`@layer ${a}{${String(e.styles)}}`),e}function Pi(e){return e?(a,o)=>o[e]:null}function $i(e,a,o){e.theme=Li(e.theme)?o:e.theme[a]||e.theme}function Ra(e,a,o){const t=typeof a=="function"?a(e):a;if(Array.isArray(t))return t.flatMap(n=>Ra(e,n,o));if(Array.isArray(t==null?void 0:t.variants)){let n;if(t.isProcessed)n=o?Ge(t.style,o):t.style;else{const{variants:r,...i}=t;n=o?Ge(Ke(i),o):i}return Zt(e,t.variants,[n],o)}return t!=null&&t.isProcessed?o?Ge(Ke(t.style),o):t.style:o?Ge(Ke(t),o):t}function Zt(e,a,o=[],t=void 0){var r;let n;e:for(let i=0;i<a.length;i+=1){const s=a[i];if(typeof s.props=="function"){if(n??(n={...e,...e.ownerState,ownerState:e.ownerState}),!s.props(n))continue}else for(const u in s.props)if(e[u]!==s.props[u]&&((r=e.ownerState)==null?void 0:r[u])!==s.props[u])continue e;typeof s.style=="function"?(n??(n={...e,...e.ownerState,ownerState:e.ownerState}),o.push(t?Ge(Ke(s.style(n)),t):s.style(n))):o.push(t?Ge(Ke(s.style),t):s.style)}return o}function Di(e={}){const{themeId:a,defaultTheme:o=Ii,rootShouldForwardProp:t=po,slotShouldForwardProp:n=po}=e;function r(s){$i(s,a,o)}return(s,u={})=>{zi(s,w=>w.filter(z=>z!==ua));const{name:p,slot:d,skipVariantsResolver:m,skipSx:h,overridesResolver:g=Pi(en(d)),...f}=u,c=p&&p.startsWith("Mui")||d?"components":"custom",v=m!==void 0?m:d&&d!=="Root"&&d!=="root"||!1,T=h||!1;let P=po;d==="Root"||d==="root"?P=t:d?P=n:Mi(s)&&(P=void 0);const _=Si(s,{shouldForwardProp:P,label:Ni(p,d),...f}),b=w=>{if(w.__emotion_real===w)return w;if(typeof w=="function")return function(L){return Ra(L,w,L.theme.modularCssLayers?c:void 0)};if(He(w)){const z=Qt(w);return function($){return z.variants?Ra($,z,$.theme.modularCssLayers?c:void 0):$.theme.modularCssLayers?Ge(z.style,c):z.style}}return w},y=(...w)=>{const z=[],L=w.map(b),$=[];if(z.push(r),p&&g&&$.push(function(M){var Z,Q;const C=(Q=(Z=M.theme.components)==null?void 0:Z[p])==null?void 0:Q.styleOverrides;if(!C)return null;const N={};for(const re in C)N[re]=Ra(M,C[re],M.theme.modularCssLayers?"theme":void 0);return g(M,N)}),p&&!v&&$.push(function(M){var N,Z;const D=M.theme,C=(Z=(N=D==null?void 0:D.components)==null?void 0:N[p])==null?void 0:Z.variants;return C?Zt(M,C,[],M.theme.modularCssLayers?"theme":void 0):null}),T||$.push(ua),Array.isArray(L[0])){const l=L.shift(),M=new Array(z.length).fill(""),D=new Array($.length).fill("");let C;C=[...M,...l,...D],C.raw=[...M,...l.raw,...D],z.unshift(C)}const H=[...z,...L,...$],U=_(...H);return s.muiName&&(U.muiName=s.muiName),process.env.NODE_ENV!=="production"&&(U.displayName=Fi(p,d,s)),U};return _.withConfig&&(y.withConfig=_.withConfig),y}}function Fi(e,a,o){return e?`${e}${To(a||"")}`:`Styled(${Ri(o)})`}function Ni(e,a){let o;return process.env.NODE_ENV!=="production"&&e&&(o=`${e}-${en(a||"Root")}`),o}function Li(e){for(const a in e)return!1;return!0}function Mi(e){return typeof e=="string"&&e.charCodeAt(0)>96}function en(e){return e&&e.charAt(0).toLowerCase()+e.slice(1)}function jo(e,a,o=!1){const t={...a};for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)){const r=n;if(r==="components"||r==="slots")t[r]={...e[r],...t[r]};else if(r==="componentsProps"||r==="slotProps"){const i=e[r],s=a[r];if(!s)t[r]=i||{};else if(!i)t[r]=s;else{t[r]={...s};for(const u in i)if(Object.prototype.hasOwnProperty.call(i,u)){const p=u;t[r][p]=jo(i[p],s[p],o)}}}else r==="className"&&o&&a.className?t.className=Wt(e==null?void 0:e.className,a==null?void 0:a.className):r==="style"&&o&&a.style?t.style={...e==null?void 0:e.style,...a==null?void 0:a.style}:t[r]===void 0&&(t[r]=e[r])}return t}function Bi(e,a=Number.MIN_SAFE_INTEGER,o=Number.MAX_SAFE_INTEGER){return Math.max(a,Math.min(e,o))}function Ao(e,a=0,o=1){return process.env.NODE_ENV!=="production"&&(e<a||e>o)&&console.error(`MUI: The value provided ${e} is out of range [${a}, ${o}].`),Bi(e,a,o)}function Ui(e){e=e.slice(1);const a=new RegExp(`.{1,${e.length>=6?2:1}}`,"g");let o=e.match(a);return o&&o[0].length===1&&(o=o.map(t=>t+t)),process.env.NODE_ENV!=="production"&&e.length!==e.trim().length&&console.error(`MUI: The color: "${e}" is invalid. Make sure the color input doesn't contain leading/trailing space.`),o?`rgb${o.length===4?"a":""}(${o.map((t,n)=>n<3?parseInt(t,16):Math.round(parseInt(t,16)/255*1e3)/1e3).join(", ")})`:""}function Ue(e){if(e.type)return e;if(e.charAt(0)==="#")return Ue(Ui(e));const a=e.indexOf("("),o=e.substring(0,a);if(!["rgb","rgba","hsl","hsla","color"].includes(o))throw new Error(process.env.NODE_ENV!=="production"?`MUI: Unsupported \`${e}\` color.
101
+ The following formats are supported: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color().`:Fa(9,e));let t=e.substring(a+1,e.length-1),n;if(o==="color"){if(t=t.split(" "),n=t.shift(),t.length===4&&t[3].charAt(0)==="/"&&(t[3]=t[3].slice(1)),!["srgb","display-p3","a98-rgb","prophoto-rgb","rec-2020"].includes(n))throw new Error(process.env.NODE_ENV!=="production"?`MUI: unsupported \`${n}\` color space.
102
+ The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rgb, rec-2020.`:Fa(10,n))}else t=t.split(",");return t=t.map(r=>parseFloat(r)),{type:o,values:t,colorSpace:n}}const qi=e=>{const a=Ue(e);return a.values.slice(0,3).map((o,t)=>a.type.includes("hsl")&&t!==0?`${o}%`:o).join(" ")},fa=(e,a)=>{try{return qi(e)}catch{return a&&process.env.NODE_ENV!=="production"&&console.warn(a),e}};function Xa(e){const{type:a,colorSpace:o}=e;let{values:t}=e;return a.includes("rgb")?t=t.map((n,r)=>r<3?parseInt(n,10):n):a.includes("hsl")&&(t[1]=`${t[1]}%`,t[2]=`${t[2]}%`),a.includes("color")?t=`${o} ${t.join(" ")}`:t=`${t.join(", ")}`,`${a}(${t})`}function an(e){e=Ue(e);const{values:a}=e,o=a[0],t=a[1]/100,n=a[2]/100,r=t*Math.min(n,1-n),i=(p,d=(p+o/30)%12)=>n-r*Math.max(Math.min(d-3,9-d,1),-1);let s="rgb";const u=[Math.round(i(0)*255),Math.round(i(8)*255),Math.round(i(4)*255)];return e.type==="hsla"&&(s+="a",u.push(a[3])),Xa({type:s,values:u})}function vo(e){e=Ue(e);let a=e.type==="hsl"||e.type==="hsla"?Ue(an(e)).values:e.values;return a=a.map(o=>(e.type!=="color"&&(o/=255),o<=.03928?o/12.92:((o+.055)/1.055)**2.4)),Number((.2126*a[0]+.7152*a[1]+.0722*a[2]).toFixed(3))}function bt(e,a){const o=vo(e),t=vo(a);return(Math.max(o,t)+.05)/(Math.min(o,t)+.05)}function on(e,a){return e=Ue(e),a=Ao(a),(e.type==="rgb"||e.type==="hsl")&&(e.type+="a"),e.type==="color"?e.values[3]=`/${a}`:e.values[3]=a,Xa(e)}function Ve(e,a,o){try{return on(e,a)}catch{return o&&process.env.NODE_ENV!=="production"&&console.warn(o),e}}function Qa(e,a){if(e=Ue(e),a=Ao(a),e.type.includes("hsl"))e.values[2]*=1-a;else if(e.type.includes("rgb")||e.type.includes("color"))for(let o=0;o<3;o+=1)e.values[o]*=1-a;return Xa(e)}function le(e,a,o){try{return Qa(e,a)}catch{return o&&process.env.NODE_ENV!=="production"&&console.warn(o),e}}function Za(e,a){if(e=Ue(e),a=Ao(a),e.type.includes("hsl"))e.values[2]+=(100-e.values[2])*a;else if(e.type.includes("rgb"))for(let o=0;o<3;o+=1)e.values[o]+=(255-e.values[o])*a;else if(e.type.includes("color"))for(let o=0;o<3;o+=1)e.values[o]+=(1-e.values[o])*a;return Xa(e)}function me(e,a,o){try{return Za(e,a)}catch{return o&&process.env.NODE_ENV!=="production"&&console.warn(o),e}}function Vi(e,a=.15){return vo(e)>.5?Qa(e,a):Za(e,a)}function Aa(e,a,o){try{return Vi(e,a)}catch{return e}}const Wi=Re.createContext(void 0);process.env.NODE_ENV!=="production"&&(ie.node,ie.object);function Hi(e){const{theme:a,name:o,props:t}=e;if(!a||!a.components||!a.components[o])return t;const n=a.components[o];return n.defaultProps?jo(n.defaultProps,t,a.components.mergeClassNameAndStyle):!n.styleOverrides&&!n.variants?jo(n,t,a.components.mergeClassNameAndStyle):t}function Gi({props:e,name:a}){const o=Re.useContext(Wi);return Hi({props:e,name:a,theme:{components:o}})}const jt={theme:void 0};function Yi(e){let a,o;return function(n){let r=a;return(r===void 0||n.theme!==o)&&(jt.theme=n.theme,r=Qt(e(jt)),a=r,o=n.theme),r}}function Ki(e=""){function a(...t){if(!t.length)return"";const n=t[0];return typeof n=="string"&&!n.match(/(#|\(|\)|(-?(\d*\.)?\d+)(px|em|%|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc))|^(-?(\d*\.)?\d+)$|(\d+ \d+ \d+)/)?`, var(--${e?`${e}-`:""}${n}${a(...t.slice(1))})`:`, ${n}`}return(t,...n)=>`var(--${e?`${e}-`:""}${t}${a(...n)})`}const vt=(e,a,o,t=[])=>{let n=e;a.forEach((r,i)=>{i===a.length-1?Array.isArray(n)?n[Number(r)]=o:n&&typeof n=="object"&&(n[r]=o):n&&typeof n=="object"&&(n[r]||(n[r]=t.includes(r)?[]:{}),n=n[r])})},Ji=(e,a,o)=>{function t(n,r=[],i=[]){Object.entries(n).forEach(([s,u])=>{(!o||o&&!o([...r,s]))&&u!=null&&(typeof u=="object"&&Object.keys(u).length>0?t(u,[...r,s],Array.isArray(u)?[...i,s]:i):a([...r,s],u,i))})}t(e)},Xi=(e,a)=>typeof a=="number"?["lineHeight","fontWeight","opacity","zIndex"].some(t=>e.includes(t))||e[e.length-1].toLowerCase().includes("opacity")?a:`${a}px`:a;function ho(e,a){const{prefix:o,shouldSkipGeneratingVar:t}=a||{},n={},r={},i={};return Ji(e,(s,u,p)=>{if((typeof u=="string"||typeof u=="number")&&(!t||!t(s,u))){const d=`--${o?`${o}-`:""}${s.join("-")}`,m=Xi(s,u);Object.assign(n,{[d]:m}),vt(r,s,`var(${d})`,p),vt(i,s,`var(${d}, ${m})`,p)}},s=>s[0]==="vars"),{css:n,vars:r,varsWithDefaults:i}}function Qi(e,a={}){const{getSelector:o=T,disableCssColorScheme:t,colorSchemeSelector:n,enableContrastVars:r}=a,{colorSchemes:i={},components:s,defaultColorScheme:u="light",...p}=e,{vars:d,css:m,varsWithDefaults:h}=ho(p,a);let g=h;const f={},{[u]:c,...v}=i;if(Object.entries(v||{}).forEach(([b,y])=>{const{vars:w,css:z,varsWithDefaults:L}=ho(y,a);g=Ye(g,L),f[b]={css:z,vars:w}}),c){const{css:b,vars:y,varsWithDefaults:w}=ho(c,a);g=Ye(g,w),f[u]={css:b,vars:y}}function T(b,y){var z,L;let w=n;if(n==="class"&&(w=".%s"),n==="data"&&(w="[data-%s]"),n!=null&&n.startsWith("data-")&&!n.includes("%s")&&(w=`[${n}="%s"]`),b){if(w==="media")return e.defaultColorScheme===b?":root":{[`@media (prefers-color-scheme: ${((L=(z=i[b])==null?void 0:z.palette)==null?void 0:L.mode)||b})`]:{":root":y}};if(w)return e.defaultColorScheme===b?`:root, ${w.replace("%s",String(b))}`:w.replace("%s",String(b))}return":root"}return{vars:g,generateThemeVars:()=>{let b={...d};return Object.entries(f).forEach(([,{vars:y}])=>{b=Ye(b,y)}),b},generateStyleSheets:()=>{var $,H;const b=[],y=e.defaultColorScheme||"light";function w(U,l){Object.keys(l).length&&b.push(typeof U=="string"?{[U]:{...l}}:U)}w(o(void 0,{...m}),m);const{[y]:z,...L}=f;if(z){const{css:U}=z,l=(H=($=i[y])==null?void 0:$.palette)==null?void 0:H.mode,M=!t&&l?{colorScheme:l,...U}:{...U};w(o(y,{...M}),M)}return Object.entries(L).forEach(([U,{css:l}])=>{var C,N;const M=(N=(C=i[U])==null?void 0:C.palette)==null?void 0:N.mode,D=!t&&M?{colorScheme:M,...l}:{...l};w(o(U,{...D}),D)}),r&&b.push({":root":{"--__l-threshold":"0.7","--__l":"clamp(0, (l / var(--__l-threshold) - 1) * -infinity, 1)","--__a":"clamp(0.87, (l / var(--__l-threshold) - 1) * -infinity, 1)"}}),b}}}function Zi(e){return function(o){return e==="media"?(process.env.NODE_ENV!=="production"&&o!=="light"&&o!=="dark"&&console.error(`MUI: @media (prefers-color-scheme) supports only 'light' or 'dark', but receive '${o}'.`),`@media (prefers-color-scheme: ${o})`):e?e.startsWith("data-")&&!e.includes("%s")?`[${e}="${o}"] &`:e==="class"?`.${o} &`:e==="data"?`[data-${o}] &`:`${e.replace("%s",o)} &`:"&"}}function Le(e){if(typeof e!="object"||e===null)return!1;const a=Object.getPrototypeOf(e);return(a===null||a===Object.prototype||Object.getPrototypeOf(a)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}function tn(e){if(Re.isValidElement(e)||sa.isValidElementType(e)||!Le(e))return e;const a={};return Object.keys(e).forEach(o=>{a[o]=tn(e[o])}),a}function Je(e,a,o={clone:!0}){const t=o.clone?{...e}:e;return Le(e)&&Le(a)&&Object.keys(a).forEach(n=>{Re.isValidElement(a[n])||sa.isValidElementType(a[n])?t[n]=a[n]:Le(a[n])&&Object.prototype.hasOwnProperty.call(e,n)&&Le(e[n])?t[n]=Je(e[n],a[n],o):o.clone?t[n]=Le(a[n])?tn(a[n]):a[n]:t[n]=a[n]}),t}const ja={black:"#000",white:"#fff"},es={50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121",A100:"#f5f5f5",A200:"#eeeeee",A400:"#bdbdbd",A700:"#616161"},Qe={50:"#f3e5f5",200:"#ce93d8",300:"#ba68c8",400:"#ab47bc",500:"#9c27b0",700:"#7b1fa2"},Ze={300:"#e57373",400:"#ef5350",500:"#f44336",700:"#d32f2f",800:"#c62828"},ma={300:"#ffb74d",400:"#ffa726",500:"#ff9800",700:"#f57c00",900:"#e65100"},ea={50:"#e3f2fd",200:"#90caf9",400:"#42a5f5",700:"#1976d2",800:"#1565c0"},aa={300:"#4fc3f7",400:"#29b6f6",500:"#03a9f4",700:"#0288d1",900:"#01579b"},oa={300:"#81c784",400:"#66bb6a",500:"#4caf50",700:"#388e3c",800:"#2e7d32",900:"#1b5e20"};function nn(){return{text:{primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.6)",disabled:"rgba(0, 0, 0, 0.38)"},divider:"rgba(0, 0, 0, 0.12)",background:{paper:ja.white,default:ja.white},action:{active:"rgba(0, 0, 0, 0.54)",hover:"rgba(0, 0, 0, 0.04)",hoverOpacity:.04,selected:"rgba(0, 0, 0, 0.08)",selectedOpacity:.08,disabled:"rgba(0, 0, 0, 0.26)",disabledBackground:"rgba(0, 0, 0, 0.12)",disabledOpacity:.38,focus:"rgba(0, 0, 0, 0.12)",focusOpacity:.12,activatedOpacity:.12}}}const rn=nn();function sn(){return{text:{primary:ja.white,secondary:"rgba(255, 255, 255, 0.7)",disabled:"rgba(255, 255, 255, 0.5)",icon:"rgba(255, 255, 255, 0.5)"},divider:"rgba(255, 255, 255, 0.12)",background:{paper:"#121212",default:"#121212"},action:{active:ja.white,hover:"rgba(255, 255, 255, 0.08)",hoverOpacity:.08,selected:"rgba(255, 255, 255, 0.16)",selectedOpacity:.16,disabled:"rgba(255, 255, 255, 0.3)",disabledBackground:"rgba(255, 255, 255, 0.12)",disabledOpacity:.38,focus:"rgba(255, 255, 255, 0.12)",focusOpacity:.12,activatedOpacity:.24}}}const wo=sn();function wt(e,a,o,t){const n=t.light||t,r=t.dark||t*1.5;e[a]||(e.hasOwnProperty(o)?e[a]=e[o]:a==="light"?e.light=Za(e.main,n):a==="dark"&&(e.dark=Qa(e.main,r)))}function xt(e,a,o,t,n){const r=n.light||n,i=n.dark||n*1.5;a[o]||(a.hasOwnProperty(t)?a[o]=a[t]:o==="light"?a.light=`color-mix(in ${e}, ${a.main}, #fff ${(r*100).toFixed(0)}%)`:o==="dark"&&(a.dark=`color-mix(in ${e}, ${a.main}, #000 ${(i*100).toFixed(0)}%)`))}function as(e="light"){return e==="dark"?{main:ea[200],light:ea[50],dark:ea[400]}:{main:ea[700],light:ea[400],dark:ea[800]}}function os(e="light"){return e==="dark"?{main:Qe[200],light:Qe[50],dark:Qe[400]}:{main:Qe[500],light:Qe[300],dark:Qe[700]}}function ts(e="light"){return e==="dark"?{main:Ze[500],light:Ze[300],dark:Ze[700]}:{main:Ze[700],light:Ze[400],dark:Ze[800]}}function ns(e="light"){return e==="dark"?{main:aa[400],light:aa[300],dark:aa[700]}:{main:aa[700],light:aa[500],dark:aa[900]}}function rs(e="light"){return e==="dark"?{main:oa[400],light:oa[300],dark:oa[700]}:{main:oa[800],light:oa[500],dark:oa[900]}}function is(e="light"){return e==="dark"?{main:ma[400],light:ma[300],dark:ma[700]}:{main:"#ed6c02",light:ma[500],dark:ma[900]}}function ss(e){return`oklch(from ${e} var(--__l) 0 h / var(--__a))`}function Ro(e){const{mode:a="light",contrastThreshold:o=3,tonalOffset:t=.2,colorSpace:n,...r}=e,i=e.primary||as(a),s=e.secondary||os(a),u=e.error||ts(a),p=e.info||ns(a),d=e.success||rs(a),m=e.warning||is(a);function h(v){if(n)return ss(v);const T=bt(v,wo.text.primary)>=o?wo.text.primary:rn.text.primary;if(process.env.NODE_ENV!=="production"){const P=bt(v,T);P<3&&console.error([`MUI: The contrast ratio of ${P}:1 for ${T} on ${v}`,"falls below the WCAG recommended absolute minimum contrast ratio of 3:1.","https://www.w3.org/TR/2008/REC-WCAG20-20081211/#visual-audio-contrast-contrast"].join(`
103
+ `))}return T}const g=({color:v,name:T,mainShade:P=500,lightShade:_=300,darkShade:b=700})=>{if(v={...v},!v.main&&v[P]&&(v.main=v[P]),!v.hasOwnProperty("main"))throw new Error(process.env.NODE_ENV!=="production"?`MUI: The color${T?` (${T})`:""} provided to augmentColor(color) is invalid.
104
+ The color object needs to have a \`main\` property or a \`${P}\` property.`:ba(11,T?` (${T})`:"",P));if(typeof v.main!="string")throw new Error(process.env.NODE_ENV!=="production"?`MUI: The color${T?` (${T})`:""} provided to augmentColor(color) is invalid.
105
+ \`color.main\` should be a string, but \`${JSON.stringify(v.main)}\` was provided instead.
106
106
 
107
107
  Did you intend to use one of the following approaches?
108
108
 
@@ -114,14 +114,247 @@ const theme1 = createTheme({ palette: {
114
114
 
115
115
  const theme2 = createTheme({ palette: {
116
116
  primary: { main: green[500] },
117
- } });`:Ge(12,T?` (${T})`:"",JSON.stringify(S.main)));return o?(Dr(o,S,"light",A,n),Dr(o,S,"dark",O,n)):(Lr(S,"light",A,n),Lr(S,"dark",O,n)),S.contrastText||(S.contrastText=m(S.main)),S};let y;return t==="light"?y=fn():t==="dark"&&(y=pn()),process.env.NODE_ENV!=="production"&&(y||console.error(`MUI: The palette mode \`${t}\` is not supported.`)),je({common:{...He},mode:t,primary:b({color:i,name:"primary"}),secondary:b({color:a,name:"secondary",mainShade:"A400",lightShade:"A200",darkShade:"A700"}),error:b({color:u,name:"error"}),warning:b({color:h,name:"warning"}),info:b({color:f,name:"info"}),success:b({color:d,name:"success"}),grey:Is,contrastThreshold:r,getContrastText:m,augmentColor:b,tonalOffset:n,...y},s)}function Fs(e){const t={};return Object.entries(e).forEach(n=>{const[o,s]=n;typeof s=="object"&&(t[o]=`${s.fontStyle?`${s.fontStyle} `:""}${s.fontVariant?`${s.fontVariant} `:""}${s.fontWeight?`${s.fontWeight} `:""}${s.fontStretch?`${s.fontStretch} `:""}${s.fontSize||""}${s.lineHeight?`/${s.lineHeight} `:""}${s.fontFamily||""}`)}),t}const Us={active:"active",checked:"checked",completed:"completed",disabled:"disabled",error:"error",expanded:"expanded",focused:"focused",focusVisible:"focusVisible",open:"open",readOnly:"readOnly",required:"required",selected:"selected"};function Xt(e,t,r="Mui"){const n=Us[t];return n?`${r}-${n}`:`${Hn.generate(e)}-${t}`}function zs(e,t){return{toolbar:{minHeight:56,[e.up("xs")]:{"@media (orientation: landscape)":{minHeight:48}},[e.up("sm")]:{minHeight:64}},...t}}function Ws(e){return Math.round(e*1e5)/1e5}const Br={textTransform:"uppercase"},Vr='"Roboto", "Helvetica", "Arial", sans-serif';function Ys(e,t){const{fontFamily:r=Vr,fontSize:n=14,fontWeightLight:o=300,fontWeightRegular:s=400,fontWeightMedium:i=500,fontWeightBold:a=700,htmlFontSize:u=16,allVariants:f,pxToRem:d,...h}=typeof t=="function"?t(e):t;process.env.NODE_ENV!=="production"&&(typeof n!="number"&&console.error("MUI: `fontSize` is required to be a number."),typeof u!="number"&&console.error("MUI: `htmlFontSize` is required to be a number."));const m=n/14,b=d||(S=>`${S/u*m}rem`),y=(S,T,k,A,O)=>({fontFamily:r,fontWeight:S,fontSize:b(T),lineHeight:k,...r===Vr?{letterSpacing:`${Ws(A/T)}em`}:{},...O,...f}),l={h1:y(o,96,1.167,-1.5),h2:y(o,60,1.2,-.5),h3:y(s,48,1.167,0),h4:y(s,34,1.235,.25),h5:y(s,24,1.334,0),h6:y(i,20,1.6,.15),subtitle1:y(s,16,1.75,.15),subtitle2:y(i,14,1.57,.1),body1:y(s,16,1.5,.15),body2:y(s,14,1.43,.15),button:y(i,14,1.75,.4,Br),caption:y(s,12,1.66,.4),overline:y(s,12,2.66,1,Br),inherit:{fontFamily:"inherit",fontWeight:"inherit",fontSize:"inherit",lineHeight:"inherit",letterSpacing:"inherit"}};return je({htmlFontSize:u,pxToRem:b,fontFamily:r,fontSize:n,fontWeightLight:o,fontWeightRegular:s,fontWeightMedium:i,fontWeightBold:a,...l},h,{clone:!1})}const Gs=.2,Hs=.14,qs=.12;function re(...e){return[`${e[0]}px ${e[1]}px ${e[2]}px ${e[3]}px rgba(0,0,0,${Gs})`,`${e[4]}px ${e[5]}px ${e[6]}px ${e[7]}px rgba(0,0,0,${Hs})`,`${e[8]}px ${e[9]}px ${e[10]}px ${e[11]}px rgba(0,0,0,${qs})`].join(",")}const Ks=["none",re(0,2,1,-1,0,1,1,0,0,1,3,0),re(0,3,1,-2,0,2,2,0,0,1,5,0),re(0,3,3,-2,0,3,4,0,0,1,8,0),re(0,2,4,-1,0,4,5,0,0,1,10,0),re(0,3,5,-1,0,5,8,0,0,1,14,0),re(0,3,5,-1,0,6,10,0,0,1,18,0),re(0,4,5,-2,0,7,10,1,0,2,16,1),re(0,5,5,-3,0,8,10,1,0,3,14,2),re(0,5,6,-3,0,9,12,1,0,3,16,2),re(0,6,6,-3,0,10,14,1,0,4,18,3),re(0,6,7,-4,0,11,15,1,0,4,20,3),re(0,7,8,-4,0,12,17,2,0,5,22,4),re(0,7,8,-4,0,13,19,2,0,5,24,4),re(0,7,9,-4,0,14,21,2,0,5,26,4),re(0,8,9,-5,0,15,22,2,0,6,28,5),re(0,8,10,-5,0,16,24,2,0,6,30,5),re(0,8,11,-5,0,17,26,2,0,6,32,5),re(0,9,11,-5,0,18,28,2,0,7,34,6),re(0,9,12,-6,0,19,29,2,0,7,36,6),re(0,10,13,-6,0,20,31,3,0,8,38,7),re(0,10,13,-6,0,21,33,3,0,8,40,7),re(0,10,14,-6,0,22,35,3,0,8,42,7),re(0,11,14,-7,0,23,36,3,0,9,44,8),re(0,11,15,-7,0,24,38,3,0,9,46,8)],Js={easeInOut:"cubic-bezier(0.4, 0, 0.2, 1)",easeOut:"cubic-bezier(0.0, 0, 0.2, 1)",easeIn:"cubic-bezier(0.4, 0, 1, 1)",sharp:"cubic-bezier(0.4, 0, 0.6, 1)"},Xs={shortest:150,shorter:200,short:250,standard:300,complex:375,enteringScreen:225,leavingScreen:195};function Fr(e){return`${Math.round(e)}ms`}function Qs(e){if(!e)return 0;const t=e/36;return Math.min(Math.round((4+15*t**.25+t/5)*10),3e3)}function Zs(e){const t={...Js,...e.easing},r={...Xs,...e.duration};return{getAutoHeightDuration:Qs,create:(o=["all"],s={})=>{const{duration:i=r.standard,easing:a=t.easeInOut,delay:u=0,...f}=s;if(process.env.NODE_ENV!=="production"){const d=m=>typeof m=="string",h=m=>!Number.isNaN(parseFloat(m));!d(o)&&!Array.isArray(o)&&console.error('MUI: Argument "props" must be a string or Array.'),!h(i)&&!d(i)&&console.error(`MUI: Argument "duration" must be a number or a string but found ${i}.`),d(a)||console.error('MUI: Argument "easing" must be a string.'),!h(u)&&!d(u)&&console.error('MUI: Argument "delay" must be a number or a string.'),typeof s!="object"&&console.error(["MUI: Secong argument of transition.create must be an object.","Arguments should be either `create('prop1', options)` or `create(['prop1', 'prop2'], options)`"].join(`
118
- `)),Object.keys(f).length!==0&&console.error(`MUI: Unrecognized argument(s) [${Object.keys(f).join(",")}].`)}return(Array.isArray(o)?o:[o]).map(d=>`${d} ${typeof i=="string"?i:Fr(i)} ${a} ${typeof u=="string"?u:Fr(u)}`).join(",")},...e,easing:t,duration:r}}const ei={mobileStepper:1e3,fab:1050,speedDial:1050,appBar:1100,drawer:1200,modal:1300,snackbar:1400,tooltip:1500};function ti(e){return xe(e)||typeof e>"u"||typeof e=="string"||typeof e=="boolean"||typeof e=="number"||Array.isArray(e)}function mn(e={}){const t={...e};function r(n){const o=Object.entries(n);for(let s=0;s<o.length;s++){const[i,a]=o[s];!ti(a)||i.startsWith("unstable_")?delete n[i]:xe(a)&&(n[i]={...a},r(n[i]))}}return r(t),`import { unstable_createBreakpoints as createBreakpoints, createTransitions } from '@mui/material/styles';
117
+ } });`:ba(12,T?` (${T})`:"",JSON.stringify(v.main)));return n?(xt(n,v,"light",_,t),xt(n,v,"dark",b,t)):(wt(v,"light",_,t),wt(v,"dark",b,t)),v.contrastText||(v.contrastText=h(v.main)),v};let f;return a==="light"?f=nn():a==="dark"&&(f=sn()),process.env.NODE_ENV!=="production"&&(f||console.error(`MUI: The palette mode \`${a}\` is not supported.`)),Je({common:{...ja},mode:a,primary:g({color:i,name:"primary"}),secondary:g({color:s,name:"secondary",mainShade:"A400",lightShade:"A200",darkShade:"A700"}),error:g({color:u,name:"error"}),warning:g({color:m,name:"warning"}),info:g({color:p,name:"info"}),success:g({color:d,name:"success"}),grey:es,contrastThreshold:o,getContrastText:h,augmentColor:g,tonalOffset:t,...f},r)}function us(e){const a={};return Object.entries(e).forEach(t=>{const[n,r]=t;typeof r=="object"&&(a[n]=`${r.fontStyle?`${r.fontStyle} `:""}${r.fontVariant?`${r.fontVariant} `:""}${r.fontWeight?`${r.fontWeight} `:""}${r.fontStretch?`${r.fontStretch} `:""}${r.fontSize||""}${r.lineHeight?`/${r.lineHeight} `:""}${r.fontFamily||""}`)}),a}const cs={active:"active",checked:"checked",completed:"completed",disabled:"disabled",error:"error",expanded:"expanded",focused:"focused",focusVisible:"focusVisible",open:"open",readOnly:"readOnly",required:"required",selected:"selected"};function Io(e,a,o="Mui"){const t=cs[a];return t?`${o}-${t}`:`${fr.generate(e)}-${a}`}function ls(e,a){return{toolbar:{minHeight:56,[e.up("xs")]:{"@media (orientation: landscape)":{minHeight:48}},[e.up("sm")]:{minHeight:64}},...a}}function ms(e){return Math.round(e*1e5)/1e5}const Ct={textTransform:"uppercase"},Et='"Roboto", "Helvetica", "Arial", sans-serif';function ps(e,a){const{fontFamily:o=Et,fontSize:t=14,fontWeightLight:n=300,fontWeightRegular:r=400,fontWeightMedium:i=500,fontWeightBold:s=700,htmlFontSize:u=16,allVariants:p,pxToRem:d,...m}=typeof a=="function"?a(e):a;process.env.NODE_ENV!=="production"&&(typeof t!="number"&&console.error("MUI: `fontSize` is required to be a number."),typeof u!="number"&&console.error("MUI: `htmlFontSize` is required to be a number."));const h=t/14,g=d||(v=>`${v/u*h}rem`),f=(v,T,P,_,b)=>({fontFamily:o,fontWeight:v,fontSize:g(T),lineHeight:P,...o===Et?{letterSpacing:`${ms(_/T)}em`}:{},...b,...p}),c={h1:f(n,96,1.167,-1.5),h2:f(n,60,1.2,-.5),h3:f(r,48,1.167,0),h4:f(r,34,1.235,.25),h5:f(r,24,1.334,0),h6:f(i,20,1.6,.15),subtitle1:f(r,16,1.75,.15),subtitle2:f(i,14,1.57,.1),body1:f(r,16,1.5,.15),body2:f(r,14,1.43,.15),button:f(i,14,1.75,.4,Ct),caption:f(r,12,1.66,.4),overline:f(r,12,2.66,1,Ct),inherit:{fontFamily:"inherit",fontWeight:"inherit",fontSize:"inherit",lineHeight:"inherit",letterSpacing:"inherit"}};return Je({htmlFontSize:u,pxToRem:g,fontFamily:o,fontSize:t,fontWeightLight:n,fontWeightRegular:r,fontWeightMedium:i,fontWeightBold:s,...c},m,{clone:!1})}const ds=.2,hs=.14,fs=.12;function fe(...e){return[`${e[0]}px ${e[1]}px ${e[2]}px ${e[3]}px rgba(0,0,0,${ds})`,`${e[4]}px ${e[5]}px ${e[6]}px ${e[7]}px rgba(0,0,0,${hs})`,`${e[8]}px ${e[9]}px ${e[10]}px ${e[11]}px rgba(0,0,0,${fs})`].join(",")}const gs=["none",fe(0,2,1,-1,0,1,1,0,0,1,3,0),fe(0,3,1,-2,0,2,2,0,0,1,5,0),fe(0,3,3,-2,0,3,4,0,0,1,8,0),fe(0,2,4,-1,0,4,5,0,0,1,10,0),fe(0,3,5,-1,0,5,8,0,0,1,14,0),fe(0,3,5,-1,0,6,10,0,0,1,18,0),fe(0,4,5,-2,0,7,10,1,0,2,16,1),fe(0,5,5,-3,0,8,10,1,0,3,14,2),fe(0,5,6,-3,0,9,12,1,0,3,16,2),fe(0,6,6,-3,0,10,14,1,0,4,18,3),fe(0,6,7,-4,0,11,15,1,0,4,20,3),fe(0,7,8,-4,0,12,17,2,0,5,22,4),fe(0,7,8,-4,0,13,19,2,0,5,24,4),fe(0,7,9,-4,0,14,21,2,0,5,26,4),fe(0,8,9,-5,0,15,22,2,0,6,28,5),fe(0,8,10,-5,0,16,24,2,0,6,30,5),fe(0,8,11,-5,0,17,26,2,0,6,32,5),fe(0,9,11,-5,0,18,28,2,0,7,34,6),fe(0,9,12,-6,0,19,29,2,0,7,36,6),fe(0,10,13,-6,0,20,31,3,0,8,38,7),fe(0,10,13,-6,0,21,33,3,0,8,40,7),fe(0,10,14,-6,0,22,35,3,0,8,42,7),fe(0,11,14,-7,0,23,36,3,0,9,44,8),fe(0,11,15,-7,0,24,38,3,0,9,46,8)],ks={easeInOut:"cubic-bezier(0.4, 0, 0.2, 1)",easeOut:"cubic-bezier(0.0, 0, 0.2, 1)",easeIn:"cubic-bezier(0.4, 0, 1, 1)",sharp:"cubic-bezier(0.4, 0, 0.6, 1)"},ys={shortest:150,shorter:200,short:250,standard:300,complex:375,enteringScreen:225,leavingScreen:195};function St(e){return`${Math.round(e)}ms`}function bs(e){if(!e)return 0;const a=e/36;return Math.min(Math.round((4+15*a**.25+a/5)*10),3e3)}function js(e){const a={...ks,...e.easing},o={...ys,...e.duration};return{getAutoHeightDuration:bs,create:(n=["all"],r={})=>{const{duration:i=o.standard,easing:s=a.easeInOut,delay:u=0,...p}=r;if(process.env.NODE_ENV!=="production"){const d=h=>typeof h=="string",m=h=>!Number.isNaN(parseFloat(h));!d(n)&&!Array.isArray(n)&&console.error('MUI: Argument "props" must be a string or Array.'),!m(i)&&!d(i)&&console.error(`MUI: Argument "duration" must be a number or a string but found ${i}.`),d(s)||console.error('MUI: Argument "easing" must be a string.'),!m(u)&&!d(u)&&console.error('MUI: Argument "delay" must be a number or a string.'),typeof r!="object"&&console.error(["MUI: Secong argument of transition.create must be an object.","Arguments should be either `create('prop1', options)` or `create(['prop1', 'prop2'], options)`"].join(`
118
+ `)),Object.keys(p).length!==0&&console.error(`MUI: Unrecognized argument(s) [${Object.keys(p).join(",")}].`)}return(Array.isArray(n)?n:[n]).map(d=>`${d} ${typeof i=="string"?i:St(i)} ${s} ${typeof u=="string"?u:St(u)}`).join(",")},...e,easing:a,duration:o}}const vs={mobileStepper:1e3,fab:1050,speedDial:1050,appBar:1100,drawer:1200,modal:1300,snackbar:1400,tooltip:1500};function ws(e){return Le(e)||typeof e>"u"||typeof e=="string"||typeof e=="boolean"||typeof e=="number"||Array.isArray(e)}function un(e={}){const a={...e};function o(t){const n=Object.entries(t);for(let r=0;r<n.length;r++){const[i,s]=n[r];!ws(s)||i.startsWith("unstable_")?delete t[i]:Le(s)&&(t[i]={...s},o(t[i]))}}return o(a),`import { unstable_createBreakpoints as createBreakpoints, createTransitions } from '@mui/material/styles';
119
119
 
120
- const theme = ${JSON.stringify(t,null,2)};
120
+ const theme = ${JSON.stringify(a,null,2)};
121
121
 
122
122
  theme.breakpoints = createBreakpoints(theme.breakpoints || {});
123
123
  theme.transitions = createTransitions(theme.transitions || {});
124
124
 
125
- export default theme;`}function Ur(e){return typeof e=="number"?`${(e*100).toFixed(0)}%`:`calc((${e}) * 100%)`}const ri=e=>{if(!Number.isNaN(+e))return+e;const t=e.match(/\d*\.?\d+/g);if(!t)return 0;let r=0;for(let n=0;n<t.length;n+=1)r+=+t[n];return r};function ni(e){Object.assign(e,{alpha(t,r){const n=this||e;return n.colorSpace?`oklch(from ${t} l c h / ${typeof r=="string"?`calc(${r})`:r})`:n.vars?`rgba(${t.replace(/var\(--([^,\s)]+)(?:,[^)]+)?\)+/g,"var(--$1Channel)")} / ${typeof r=="string"?`calc(${r})`:r})`:ln(t,ri(r))},lighten(t,r){const n=this||e;return n.colorSpace?`color-mix(in ${n.colorSpace}, ${t}, #fff ${Ur(r)})`:Et(t,r)},darken(t,r){const n=this||e;return n.colorSpace?`color-mix(in ${n.colorSpace}, ${t}, #000 ${Ur(r)})`:xt(t,r)}})}function zt(e={},...t){const{breakpoints:r,mixins:n={},spacing:o,palette:s={},transitions:i={},typography:a={},shape:u,colorSpace:f,...d}=e;if(e.vars&&e.generateThemeVars===void 0)throw new Error(process.env.NODE_ENV!=="production"?"MUI: `vars` is a private field used for CSS variables support.\nPlease use another name or follow the [docs](https://mui.com/material-ui/customization/css-theme-variables/usage/) to enable the feature.":Ge(20));const h=Jt({...s,colorSpace:f}),m=rn(e);let b=je(m,{mixins:zs(m.breakpoints,n),palette:h,shadows:Ks.slice(),typography:Ys(h,a),transitions:Zs(i),zIndex:{...ei}});if(b=je(b,d),b=t.reduce((y,l)=>je(y,l),b),process.env.NODE_ENV!=="production"){const y=["active","checked","completed","disabled","error","expanded","focused","focusVisible","required","selected"],l=(S,T)=>{let k;for(k in S){const A=S[k];if(y.includes(k)&&Object.keys(A).length>0){if(process.env.NODE_ENV!=="production"){const O=Xt("",k);console.error([`MUI: The \`${T}\` component increases the CSS specificity of the \`${k}\` internal state.`,"You can not override it like this: ",JSON.stringify(S,null,2),"",`Instead, you need to use the '&.${O}' syntax:`,JSON.stringify({root:{[`&.${O}`]:A}},null,2),"","https://mui.com/r/state-classes-guide"].join(`
126
- `))}S[k]={}}}};Object.keys(b.components).forEach(S=>{const T=b.components[S].styleOverrides;T&&S.startsWith("Mui")&&l(T,S)})}return b.unstable_sxConfig={...St,...d==null?void 0:d.unstable_sxConfig},b.unstable_sx=function(l){return Be({sx:l,theme:this})},b.toRuntimeSource=mn,ni(b),b}function oi(e){let t;return e<1?t=5.11916*e**2:t=4.5*Math.log(e+1)+2,Math.round(t*10)/1e3}const si=[...Array(25)].map((e,t)=>{if(t===0)return"none";const r=oi(t);return`linear-gradient(rgba(255 255 255 / ${r}), rgba(255 255 255 / ${r}))`});function hn(e){return{inputPlaceholder:e==="dark"?.5:.42,inputUnderline:e==="dark"?.7:.42,switchTrackDisabled:e==="dark"?.2:.12,switchTrack:e==="dark"?.3:.38}}function gn(e){return e==="dark"?si:[]}function ii(e){const{palette:t={mode:"light"},opacity:r,overlays:n,colorSpace:o,...s}=e,i=Jt({...t,colorSpace:o});return{palette:i,opacity:{...hn(i.mode),...r},overlays:n||gn(i.mode),...s}}function ai(e){var t;return!!e[0].match(/(cssVarPrefix|colorSchemeSelector|modularCssLayers|rootSelector|typography|mixins|breakpoints|direction|transitions)/)||!!e[0].match(/sxConfig$/)||e[0]==="palette"&&!!((t=e[1])!=null&&t.match(/(mode|contrastThreshold|tonalOffset)/))}const ci=e=>[...[...Array(25)].map((t,r)=>`--${e?`${e}-`:""}overlays-${r}`),`--${e?`${e}-`:""}palette-AppBar-darkBg`,`--${e?`${e}-`:""}palette-AppBar-darkColor`],li=e=>(t,r)=>{const n=e.rootSelector||":root",o=e.colorSchemeSelector;let s=o;if(o==="class"&&(s=".%s"),o==="data"&&(s="[data-%s]"),o!=null&&o.startsWith("data-")&&!o.includes("%s")&&(s=`[${o}="%s"]`),e.defaultColorScheme===t){if(t==="dark"){const i={};return ci(e.cssVarPrefix).forEach(a=>{i[a]=r[a],delete r[a]}),s==="media"?{[n]:r,"@media (prefers-color-scheme: dark)":{[n]:i}}:s?{[s.replace("%s",t)]:i,[`${n}, ${s.replace("%s",t)}`]:r}:{[n]:{...r,...i}}}if(s&&s!=="media")return`${n}, ${s.replace("%s",String(t))}`}else if(t){if(s==="media")return{[`@media (prefers-color-scheme: ${String(t)})`]:{[n]:r}};if(s)return s.replace("%s",String(t))}return n};function ui(e,t){t.forEach(r=>{e[r]||(e[r]={})})}function v(e,t,r){!e[t]&&r&&(e[t]=r)}function We(e){return typeof e!="string"||!e.startsWith("hsl")?e:cn(e)}function ve(e,t){`${t}Channel`in e||(e[`${t}Channel`]=ze(We(e[t]),`MUI: Can't create \`palette.${t}Channel\` because \`palette.${t}\` is not one of these formats: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color().
127
- To suppress this warning, you need to explicitly provide the \`palette.${t}Channel\` as a string (in rgb format, for example "12 12 12") or undefined if you want to remove the channel token.`))}function fi(e){return typeof e=="number"?`${e}px`:typeof e=="string"||typeof e=="function"||Array.isArray(e)?e:"8px"}const ge=e=>{try{return e()}catch{}},di=(e="mui")=>Rs(e);function Lt(e,t,r,n,o){if(!r)return;r=r===!0?{}:r;const s=o==="dark"?"dark":"light";if(!n){t[o]=ii({...r,palette:{mode:s,...r==null?void 0:r.palette},colorSpace:e});return}const{palette:i,...a}=zt({...n,palette:{mode:s,...r==null?void 0:r.palette},colorSpace:e});return t[o]={...r,palette:i,opacity:{...hn(s),...r==null?void 0:r.opacity},overlays:(r==null?void 0:r.overlays)||gn(s)},a}function pi(e={},...t){const{colorSchemes:r={light:!0},defaultColorScheme:n,disableCssColorScheme:o=!1,cssVarPrefix:s="mui",nativeColor:i=!1,shouldSkipGeneratingVar:a=ai,colorSchemeSelector:u=r.light&&r.dark?"media":void 0,rootSelector:f=":root",...d}=e,h=Object.keys(r)[0],m=n||(r.light&&h!=="light"?"light":h),b=di(s),{[m]:y,light:l,dark:S,...T}=r,k={...T};let A=y;if((m==="dark"&&!("dark"in r)||m==="light"&&!("light"in r))&&(A=!0),!A)throw new Error(process.env.NODE_ENV!=="production"?`MUI: The \`colorSchemes.${m}\` option is either missing or invalid.`:Ge(21,m));let O;i&&(O="oklch");const C=Lt(O,k,A,d,m);l&&!k.light&&Lt(O,k,l,void 0,"light"),S&&!k.dark&&Lt(O,k,S,void 0,"dark");let x={defaultColorScheme:m,...C,cssVarPrefix:s,colorSchemeSelector:u,rootSelector:f,getCssVar:b,colorSchemes:k,font:{...Fs(C.typography),...C.font},spacing:fi(d.spacing)};Object.keys(x.colorSchemes).forEach(Z=>{const c=x.colorSchemes[Z].palette,$=L=>{const D=L.split("-"),ne=D[1],ce=D[2];return b(L,c[ne][ce])};c.mode==="light"&&(v(c.common,"background","#fff"),v(c.common,"onBackground","#000")),c.mode==="dark"&&(v(c.common,"background","#000"),v(c.common,"onBackground","#fff"));function w(L,D,ne){if(O){let ce;return L===we&&(ce=`transparent ${((1-ne)*100).toFixed(0)}%`),L===X&&(ce=`#000 ${(ne*100).toFixed(0)}%`),L===Q&&(ce=`#fff ${(ne*100).toFixed(0)}%`),`color-mix(in ${O}, ${D}, ${ce})`}return L(D,ne)}if(ui(c,["Alert","AppBar","Avatar","Button","Chip","FilledInput","LinearProgress","Skeleton","Slider","SnackbarContent","SpeedDialAction","StepConnector","StepContent","Switch","TableCell","Tooltip"]),c.mode==="light"){v(c.Alert,"errorColor",w(X,c.error.light,.6)),v(c.Alert,"infoColor",w(X,c.info.light,.6)),v(c.Alert,"successColor",w(X,c.success.light,.6)),v(c.Alert,"warningColor",w(X,c.warning.light,.6)),v(c.Alert,"errorFilledBg",$("palette-error-main")),v(c.Alert,"infoFilledBg",$("palette-info-main")),v(c.Alert,"successFilledBg",$("palette-success-main")),v(c.Alert,"warningFilledBg",$("palette-warning-main")),v(c.Alert,"errorFilledColor",ge(()=>c.getContrastText(c.error.main))),v(c.Alert,"infoFilledColor",ge(()=>c.getContrastText(c.info.main))),v(c.Alert,"successFilledColor",ge(()=>c.getContrastText(c.success.main))),v(c.Alert,"warningFilledColor",ge(()=>c.getContrastText(c.warning.main))),v(c.Alert,"errorStandardBg",w(Q,c.error.light,.9)),v(c.Alert,"infoStandardBg",w(Q,c.info.light,.9)),v(c.Alert,"successStandardBg",w(Q,c.success.light,.9)),v(c.Alert,"warningStandardBg",w(Q,c.warning.light,.9)),v(c.Alert,"errorIconColor",$("palette-error-main")),v(c.Alert,"infoIconColor",$("palette-info-main")),v(c.Alert,"successIconColor",$("palette-success-main")),v(c.Alert,"warningIconColor",$("palette-warning-main")),v(c.AppBar,"defaultBg",$("palette-grey-100")),v(c.Avatar,"defaultBg",$("palette-grey-400")),v(c.Button,"inheritContainedBg",$("palette-grey-300")),v(c.Button,"inheritContainedHoverBg",$("palette-grey-A100")),v(c.Chip,"defaultBorder",$("palette-grey-400")),v(c.Chip,"defaultAvatarColor",$("palette-grey-700")),v(c.Chip,"defaultIconColor",$("palette-grey-700")),v(c.FilledInput,"bg","rgba(0, 0, 0, 0.06)"),v(c.FilledInput,"hoverBg","rgba(0, 0, 0, 0.09)"),v(c.FilledInput,"disabledBg","rgba(0, 0, 0, 0.12)"),v(c.LinearProgress,"primaryBg",w(Q,c.primary.main,.62)),v(c.LinearProgress,"secondaryBg",w(Q,c.secondary.main,.62)),v(c.LinearProgress,"errorBg",w(Q,c.error.main,.62)),v(c.LinearProgress,"infoBg",w(Q,c.info.main,.62)),v(c.LinearProgress,"successBg",w(Q,c.success.main,.62)),v(c.LinearProgress,"warningBg",w(Q,c.warning.main,.62)),v(c.Skeleton,"bg",O?w(we,c.text.primary,.11):`rgba(${$("palette-text-primaryChannel")} / 0.11)`),v(c.Slider,"primaryTrack",w(Q,c.primary.main,.62)),v(c.Slider,"secondaryTrack",w(Q,c.secondary.main,.62)),v(c.Slider,"errorTrack",w(Q,c.error.main,.62)),v(c.Slider,"infoTrack",w(Q,c.info.main,.62)),v(c.Slider,"successTrack",w(Q,c.success.main,.62)),v(c.Slider,"warningTrack",w(Q,c.warning.main,.62));const L=O?w(X,c.background.default,.6825):nt(c.background.default,.8);v(c.SnackbarContent,"bg",L),v(c.SnackbarContent,"color",ge(()=>O?Ut.text.primary:c.getContrastText(L))),v(c.SpeedDialAction,"fabHoverBg",nt(c.background.paper,.15)),v(c.StepConnector,"border",$("palette-grey-400")),v(c.StepContent,"border",$("palette-grey-400")),v(c.Switch,"defaultColor",$("palette-common-white")),v(c.Switch,"defaultDisabledColor",$("palette-grey-100")),v(c.Switch,"primaryDisabledColor",w(Q,c.primary.main,.62)),v(c.Switch,"secondaryDisabledColor",w(Q,c.secondary.main,.62)),v(c.Switch,"errorDisabledColor",w(Q,c.error.main,.62)),v(c.Switch,"infoDisabledColor",w(Q,c.info.main,.62)),v(c.Switch,"successDisabledColor",w(Q,c.success.main,.62)),v(c.Switch,"warningDisabledColor",w(Q,c.warning.main,.62)),v(c.TableCell,"border",w(Q,w(we,c.divider,1),.88)),v(c.Tooltip,"bg",w(we,c.grey[700],.92))}if(c.mode==="dark"){v(c.Alert,"errorColor",w(Q,c.error.light,.6)),v(c.Alert,"infoColor",w(Q,c.info.light,.6)),v(c.Alert,"successColor",w(Q,c.success.light,.6)),v(c.Alert,"warningColor",w(Q,c.warning.light,.6)),v(c.Alert,"errorFilledBg",$("palette-error-dark")),v(c.Alert,"infoFilledBg",$("palette-info-dark")),v(c.Alert,"successFilledBg",$("palette-success-dark")),v(c.Alert,"warningFilledBg",$("palette-warning-dark")),v(c.Alert,"errorFilledColor",ge(()=>c.getContrastText(c.error.dark))),v(c.Alert,"infoFilledColor",ge(()=>c.getContrastText(c.info.dark))),v(c.Alert,"successFilledColor",ge(()=>c.getContrastText(c.success.dark))),v(c.Alert,"warningFilledColor",ge(()=>c.getContrastText(c.warning.dark))),v(c.Alert,"errorStandardBg",w(X,c.error.light,.9)),v(c.Alert,"infoStandardBg",w(X,c.info.light,.9)),v(c.Alert,"successStandardBg",w(X,c.success.light,.9)),v(c.Alert,"warningStandardBg",w(X,c.warning.light,.9)),v(c.Alert,"errorIconColor",$("palette-error-main")),v(c.Alert,"infoIconColor",$("palette-info-main")),v(c.Alert,"successIconColor",$("palette-success-main")),v(c.Alert,"warningIconColor",$("palette-warning-main")),v(c.AppBar,"defaultBg",$("palette-grey-900")),v(c.AppBar,"darkBg",$("palette-background-paper")),v(c.AppBar,"darkColor",$("palette-text-primary")),v(c.Avatar,"defaultBg",$("palette-grey-600")),v(c.Button,"inheritContainedBg",$("palette-grey-800")),v(c.Button,"inheritContainedHoverBg",$("palette-grey-700")),v(c.Chip,"defaultBorder",$("palette-grey-700")),v(c.Chip,"defaultAvatarColor",$("palette-grey-300")),v(c.Chip,"defaultIconColor",$("palette-grey-300")),v(c.FilledInput,"bg","rgba(255, 255, 255, 0.09)"),v(c.FilledInput,"hoverBg","rgba(255, 255, 255, 0.13)"),v(c.FilledInput,"disabledBg","rgba(255, 255, 255, 0.12)"),v(c.LinearProgress,"primaryBg",w(X,c.primary.main,.5)),v(c.LinearProgress,"secondaryBg",w(X,c.secondary.main,.5)),v(c.LinearProgress,"errorBg",w(X,c.error.main,.5)),v(c.LinearProgress,"infoBg",w(X,c.info.main,.5)),v(c.LinearProgress,"successBg",w(X,c.success.main,.5)),v(c.LinearProgress,"warningBg",w(X,c.warning.main,.5)),v(c.Skeleton,"bg",O?w(we,c.text.primary,.13):`rgba(${$("palette-text-primaryChannel")} / 0.13)`),v(c.Slider,"primaryTrack",w(X,c.primary.main,.5)),v(c.Slider,"secondaryTrack",w(X,c.secondary.main,.5)),v(c.Slider,"errorTrack",w(X,c.error.main,.5)),v(c.Slider,"infoTrack",w(X,c.info.main,.5)),v(c.Slider,"successTrack",w(X,c.success.main,.5)),v(c.Slider,"warningTrack",w(X,c.warning.main,.5));const L=O?w(Q,c.background.default,.985):nt(c.background.default,.98);v(c.SnackbarContent,"bg",L),v(c.SnackbarContent,"color",ge(()=>O?dn.text.primary:c.getContrastText(L))),v(c.SpeedDialAction,"fabHoverBg",nt(c.background.paper,.15)),v(c.StepConnector,"border",$("palette-grey-600")),v(c.StepContent,"border",$("palette-grey-600")),v(c.Switch,"defaultColor",$("palette-grey-300")),v(c.Switch,"defaultDisabledColor",$("palette-grey-600")),v(c.Switch,"primaryDisabledColor",w(X,c.primary.main,.55)),v(c.Switch,"secondaryDisabledColor",w(X,c.secondary.main,.55)),v(c.Switch,"errorDisabledColor",w(X,c.error.main,.55)),v(c.Switch,"infoDisabledColor",w(X,c.info.main,.55)),v(c.Switch,"successDisabledColor",w(X,c.success.main,.55)),v(c.Switch,"warningDisabledColor",w(X,c.warning.main,.55)),v(c.TableCell,"border",w(X,w(we,c.divider,1),.68)),v(c.Tooltip,"bg",w(we,c.grey[700],.92))}ve(c.background,"default"),ve(c.background,"paper"),ve(c.common,"background"),ve(c.common,"onBackground"),ve(c,"divider"),Object.keys(c).forEach(L=>{const D=c[L];L!=="tonalOffset"&&D&&typeof D=="object"&&(D.main&&v(c[L],"mainChannel",ze(We(D.main))),D.light&&v(c[L],"lightChannel",ze(We(D.light))),D.dark&&v(c[L],"darkChannel",ze(We(D.dark))),D.contrastText&&v(c[L],"contrastTextChannel",ze(We(D.contrastText))),L==="text"&&(ve(c[L],"primary"),ve(c[L],"secondary")),L==="action"&&(D.active&&ve(c[L],"active"),D.selected&&ve(c[L],"selected")))})}),x=t.reduce((Z,c)=>je(Z,c),x);const N={prefix:s,disableCssColorScheme:o,shouldSkipGeneratingVar:a,getSelector:li(x),enableContrastVars:i},{vars:W,generateThemeVars:q,generateStyleSheets:fe}=js(x,N);return x.vars=W,Object.entries(x.colorSchemes[x.defaultColorScheme]).forEach(([Z,c])=>{x[Z]=c}),x.generateThemeVars=q,x.generateStyleSheets=fe,x.generateSpacing=function(){return tn(d.spacing,Ht(this))},x.getColorSchemeSelector=Ps(u),x.spacing=x.generateSpacing(),x.shouldSkipGeneratingVar=a,x.unstable_sxConfig={...St,...d==null?void 0:d.unstable_sxConfig},x.unstable_sx=function(c){return Be({sx:c,theme:this})},x.toRuntimeSource=mn,x}function zr(e,t,r){e.colorSchemes&&r&&(e.colorSchemes[t]={...r!==!0&&r,palette:Jt({...r===!0?{}:r.palette,mode:t})})}function mi(e={},...t){const{palette:r,cssVariables:n=!1,colorSchemes:o=r?void 0:{light:!0},defaultColorScheme:s=r==null?void 0:r.mode,...i}=e,a=s||"light",u=o==null?void 0:o[a],f={...o,...r?{[a]:{...typeof u!="boolean"&&u,palette:r}}:void 0};if(n===!1){if(!("colorSchemes"in e))return zt(e,...t);let d=r;"palette"in e||f[a]&&(f[a]!==!0?d=f[a].palette:a==="dark"&&(d={mode:"dark"}));const h=zt({...e,palette:d},...t);return h.defaultColorScheme=a,h.colorSchemes=f,h.palette.mode==="light"&&(h.colorSchemes.light={...f.light!==!0&&f.light,palette:h.palette},zr(h,"dark",f.dark)),h.palette.mode==="dark"&&(h.colorSchemes.dark={...f.dark!==!0&&f.dark,palette:h.palette},zr(h,"light",f.light)),h}return!r&&!("light"in f)&&a==="light"&&(f.light=!0),pi({...i,colorSchemes:f,defaultColorScheme:a,...typeof n!="boolean"&&n},...t)}const hi=mi(),gi="$$material";function yi(e){return e!=="ownerState"&&e!=="theme"&&e!=="sx"&&e!=="as"}const bi=e=>yi(e)&&e!=="classes",vi=hs({themeId:gi,defaultTheme:hi,rootShouldForwardProp:bi}),Si=_s;process.env.NODE_ENV!=="production"&&(G.node,G.object.isRequired);function Ci(e){return ws(e)}function xi(e,t,r="Mui"){const n={};return t.forEach(o=>{n[o]=Xt(e,o,r)}),n}function Ei(e){return Xt("MuiSvgIcon",e)}xi("MuiSvgIcon",["root","colorPrimary","colorSecondary","colorAction","colorError","colorDisabled","fontSizeInherit","fontSizeSmall","fontSizeMedium","fontSizeLarge"]);const Ti=e=>{const{color:t,fontSize:r,classes:n}=e,o={root:["root",t!=="inherit"&&`color${it(t)}`,`fontSize${it(r)}`]};return ro(o,Ei,n)},Oi=vi("svg",{name:"MuiSvgIcon",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:r}=e;return[t.root,r.color!=="inherit"&&t[`color${it(r.color)}`],t[`fontSize${it(r.fontSize)}`]]}})(Si(({theme:e})=>{var t,r,n,o,s,i,a,u,f,d,h,m,b,y;return{userSelect:"none",width:"1em",height:"1em",display:"inline-block",flexShrink:0,transition:(o=(t=e.transitions)==null?void 0:t.create)==null?void 0:o.call(t,"fill",{duration:(n=(r=(e.vars??e).transitions)==null?void 0:r.duration)==null?void 0:n.shorter}),variants:[{props:l=>!l.hasSvgAsChild,style:{fill:"currentColor"}},{props:{fontSize:"inherit"},style:{fontSize:"inherit"}},{props:{fontSize:"small"},style:{fontSize:((i=(s=e.typography)==null?void 0:s.pxToRem)==null?void 0:i.call(s,20))||"1.25rem"}},{props:{fontSize:"medium"},style:{fontSize:((u=(a=e.typography)==null?void 0:a.pxToRem)==null?void 0:u.call(a,24))||"1.5rem"}},{props:{fontSize:"large"},style:{fontSize:((d=(f=e.typography)==null?void 0:f.pxToRem)==null?void 0:d.call(f,35))||"2.1875rem"}},...Object.entries((e.vars??e).palette).filter(([,l])=>l&&l.main).map(([l])=>{var S,T;return{props:{color:l},style:{color:(T=(S=(e.vars??e).palette)==null?void 0:S[l])==null?void 0:T.main}}}),{props:{color:"action"},style:{color:(m=(h=(e.vars??e).palette)==null?void 0:h.action)==null?void 0:m.active}},{props:{color:"disabled"},style:{color:(y=(b=(e.vars??e).palette)==null?void 0:b.action)==null?void 0:y.disabled}},{props:{color:"inherit"},style:{color:void 0}}]}})),ut=ye.forwardRef(function(t,r){const n=Ci({props:t,name:"MuiSvgIcon"}),{children:o,className:s,color:i="inherit",component:a="svg",fontSize:u="medium",htmlColor:f,inheritViewBox:d=!1,titleAccess:h,viewBox:m="0 0 24 24",...b}=n,y=ye.isValidElement(o)&&o.type==="svg",l={...n,color:i,component:a,fontSize:u,instanceFontSize:t.fontSize,inheritViewBox:d,viewBox:m,hasSvgAsChild:y},S={};d||(S.viewBox=m);const T=Ti(l);return g.jsxs(Oi,{as:a,className:Xr(T.root,s),focusable:"false",color:f,"aria-hidden":h?void 0:!0,role:h?"img":void 0,ref:r,...S,...b,...y&&o.props,ownerState:l,children:[y?o.props.children:o,h?g.jsx("title",{children:h}):null]})});process.env.NODE_ENV!=="production"&&(ut.propTypes={children:G.node,classes:G.object,className:G.string,color:G.oneOfType([G.oneOf(["inherit","action","disabled","primary","secondary","error","info","success","warning"]),G.string]),component:G.elementType,fontSize:G.oneOfType([G.oneOf(["inherit","large","medium","small"]),G.string]),htmlColor:G.string,inheritViewBox:G.bool,shapeRendering:G.string,sx:G.oneOfType([G.arrayOf(G.oneOfType([G.func,G.object,G.bool])),G.func,G.object]),titleAccess:G.string,viewBox:G.string});ut.muiName="SvgIcon";function Ce(e,t){function r(n,o){return g.jsx(ut,{"data-testid":process.env.NODE_ENV!=="production"?`${t}Icon`:void 0,ref:o,...n,children:e})}return process.env.NODE_ENV!=="production"&&(r.displayName=`${t}Icon`),r.muiName=ut.muiName,ye.memo(ye.forwardRef(r))}const wi=Ce(g.jsx("path",{d:"M17 12h-5v5h5zM16 1v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2h-1V1zm3 18H5V8h14z"}),"Event"),_i=({course:e,displayMode:t,hasUpcomingEvents:r})=>g.jsxs(P.Box,{sx:{display:"flex",flexDirection:"row",alignItems:"center",mb:"auto",width:"100%"},children:[t!=="course"&&g.jsx(P.Typography,{variant:"caption",sx:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",mr:1},children:e.instance}),r&&g.jsx(P.Tooltip,{title:"Upcoming Events",children:g.jsx(P.IconButton,{size:"small",color:"info",sx:{width:28,height:28,padding:0},children:g.jsx(wi,{sx:{fontSize:18}})})})]}),Ri=Ce(g.jsx("path",{d:"M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6"}),"Settings"),$i=Ce(g.jsx("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 15h-2v-6h2zm0-8h-2V7h2z"}),"Info"),Ai=Ce(g.jsx("path",{d:"M15 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4m-9-2V7H4v3H1v2h3v3h2v-3h3v-2zm9 4c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4"}),"PersonAdd"),ji=Ce(g.jsx("path",{d:"M5 13.18v4L12 21l7-3.82v-4L12 17zM12 3 1 9l11 6 9-4.91V17h2V9z"}),"School"),Pi=Ce(g.jsx("path",{d:"m12.87 15.07-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z"}),"Translate"),Ii=Ce(g.jsx("path",{d:"M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5s-3 1.34-3 3 1.34 3 3 3m-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5 5 6.34 5 8s1.34 3 3 3m0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5m8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5"}),"Group"),ki=Ce(g.jsx("path",{d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2m4.24 16L12 15.45 7.77 18l1.12-4.81-3.73-3.23 4.92-.42L12 5l1.92 4.53 4.92.42-3.73 3.23z"}),"Stars"),Mi=Ce(g.jsx("path",{d:"M22 9V7h-2v2h-2v2h2v2h2v-2h2V9zM8 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4m0 1c-2.67 0-8 1.34-8 4v3h16v-3c0-2.66-5.33-4-8-4m4.51-8.95C13.43 5.11 14 6.49 14 8s-.57 2.89-1.49 3.95C14.47 11.7 16 10.04 16 8s-1.53-3.7-3.49-3.95m4.02 9.78C17.42 14.66 18 15.7 18 17v3h2v-3c0-1.45-1.59-2.51-3.47-3.17"}),"GroupAdd"),Ni=({course:e,courseColor:t,isTeacher:r,showEnrollmentOpen:n,onSettingsClick:o,onEnroll:s,onTeacherEnroll:i})=>{var m,b,y,l,S;const[a,u]=U.useState(null),[f,d]=U.useState(null),h=T=>{T.stopPropagation(),d(null),r?i==null||i(T):s==null||s(T)};return g.jsxs(P.Box,{sx:{display:"flex",gap:1},children:[n&&g.jsxs(g.Fragment,{children:[g.jsx(P.Tooltip,{title:r?"Manage enrollments":"Enroll in course",children:g.jsx(P.IconButton,{size:"small",color:"success",onClick:T=>{T.stopPropagation(),d(T.currentTarget)},sx:{width:28,height:28,padding:0},children:r?g.jsx(Mi,{sx:{fontSize:18}}):g.jsx(Ai,{sx:{fontSize:18}})})}),g.jsxs(P.Menu,{anchorEl:f,open:!!f,onClose:T=>{T.stopPropagation(),d(null)},anchorOrigin:{vertical:"top",horizontal:"center"},transformOrigin:{vertical:"bottom",horizontal:"center"},children:[g.jsxs(P.MenuItem,{dense:!0,disabled:!0,children:[g.jsx(P.ListItemIcon,{children:g.jsx(Ii,{fontSize:"small"})}),g.jsx(P.ListItemText,{primary:`${((b=(m=e.data)==null?void 0:m.enrollmentData)==null?void 0:b.length)||0}/${(y=e.enrollment)==null?void 0:y.status.maxStudents} enrolled`,primaryTypographyProps:{variant:"body2"}})]}),g.jsx(P.Divider,{}),g.jsx(P.MenuItem,{dense:!0,onClick:h,children:r?"Manage Student Enrollments":"Enroll Now"})]})]}),r&&g.jsx(P.Tooltip,{title:"Course settings",children:g.jsx(P.IconButton,{size:"small",onClick:o,sx:{color:t,width:28,height:28,padding:0},children:g.jsx(Ri,{sx:{fontSize:18}})})}),g.jsxs(g.Fragment,{children:[g.jsx(P.Tooltip,{title:"Course details",children:g.jsx(P.IconButton,{size:"small",onClick:T=>{T.stopPropagation(),u(T.currentTarget)},sx:{color:t,width:28,height:28,padding:0},children:g.jsx($i,{sx:{fontSize:18}})})}),g.jsxs(P.Menu,{anchorEl:a,open:!!a,onClose:T=>{T.stopPropagation(),u(null)},anchorOrigin:{vertical:"top",horizontal:"center"},transformOrigin:{vertical:"bottom",horizontal:"center"},children:[g.jsxs(P.MenuItem,{dense:!0,disabled:!0,children:[g.jsx(P.ListItemIcon,{children:g.jsx(ji,{fontSize:"small"})}),g.jsx(P.ListItemText,{primary:(l=e.studyModule)==null?void 0:l.level,primaryTypographyProps:{variant:"body2"}})]}),g.jsxs(P.MenuItem,{dense:!0,disabled:!0,children:[g.jsx(P.ListItemIcon,{children:g.jsx(ki,{fontSize:"small"})}),g.jsx(P.ListItemText,{primary:`${(S=e.studyModule)==null?void 0:S.credits} credits`,primaryTypographyProps:{variant:"body2"}})]}),g.jsxs(P.MenuItem,{dense:!0,disabled:!0,children:[g.jsx(P.ListItemIcon,{children:g.jsx(Pi,{fontSize:"small"})}),g.jsx(P.ListItemText,{primary:e.language,primaryTypographyProps:{variant:"body2"}})]})]})]})]})},yn=({course:e,displayMode:t="course",onClick:r})=>{var A,O,C,x,N,W;const{setOpenDialog:n}=H.useDialogStore(),{setCourseToUpdate:o,setCurrentCourse:s}=pe(),i=e.code.split(".")[0],a=st[i]||st["COMP.CS"],u=((A=e.studyModule)==null?void 0:A.level)||"basic",f=a.levelShades[u],d=((C=(O=e.data)==null?void 0:O.myData)==null?void 0:C.role)==="teacher",m=!!(!(((N=(x=e.data)==null?void 0:x.myData)==null?void 0:N.status)==="enrolled")&&((W=e.enrollment)!=null&&W.status.open)),b=!!e.events.lecture.some(q=>new Date(q.startTime)>new Date),[y,l]=U.useState(!1),S=q=>{q.stopPropagation(),o(e),n("CourseSettings")},T=q=>{q.stopPropagation(),n("ManageEnrollments")},k=()=>{s(e),r(e)};return g.jsxs(P.Card,{elevation:0,sx:{marginLeft:2,marginRight:2,boxSizing:"border-box",position:"relative",cursor:"pointer",flex:"1",backgroundColor:`${f}08`,borderLeft:`4px solid ${f}`,transition:"all 0.3s cubic-bezier(0.4, 0, 0.2, 1)",overflow:"hidden",height:"100%","&:hover":{backgroundColor:`${f}15`,"& .subject-icon":{opacity:.15,transform:"scale(1.1)"}}},onClick:k,children:[!y&&g.jsx(P.Skeleton,{variant:"rectangular",sx:{position:"absolute",right:-10,bottom:-10,width:"80px",height:"80px",opacity:.08,transition:"all 0.3s ease-in-out"},animation:"wave"}),g.jsx(P.Box,{component:"img",className:"subject-icon",src:a.icon,alt:i,loading:"lazy",onLoad:()=>l(!0),sx:{position:"absolute",right:-10,bottom:-10,width:"80px",height:"80px",transition:"opacity 0.3s ease-in-out",filter:`drop-shadow(0 0 1px ${f})`,opacity:.08}}),g.jsx(P.Box,{sx:{p:1,height:"100%",display:"flex",flexDirection:"column"},children:g.jsxs(P.Box,{sx:{display:"flex",flexDirection:"column",justifyContent:"space-between",height:"100%"},children:[g.jsx(Yn,{course:e}),g.jsxs(P.Box,{sx:{width:"100%",display:"flex",justifyContent:"space-between",alignItems:"center",mt:"auto"},children:[g.jsx(_i,{course:e,displayMode:t,hasUpcomingEvents:b}),g.jsx(Ni,{course:e,courseColor:f,isTeacher:d,showEnrollmentOpen:m,onSettingsClick:S,onEnroll:q=>{q.stopPropagation(),n("EnrollInCourse")},onTeacherEnroll:T})]})]})})]})},Li=()=>{const{code:e}=ie.useParams(),t=ie.useNavigate(),{courses:r,currentCourse:n}=pe(),o=r.filter(i=>i.code===e),s=i=>{t(`${i.instance}`)};return g.jsxs(P.Box,{sx:{p:3,display:"flex",flexDirection:"column",gap:2},children:[g.jsx(H.CenteredHeading,{heading:"Course Instances",subheading:"Below are all the instances of the selected course. Select an instance to view its content."}),o.map(i=>g.jsx(yn,{course:i,isSelected:(n==null?void 0:n.id)===i.id,displayMode:"course",onClick:s},i.id))," "]})},Di=()=>{const{instance:e,code:t}=ie.useParams(),{fetchState:r,courses:n,setCurrentCourse:o}=pe(),{addNotificationData:s}=H.useNotificationStore(),i=ie.useNavigate();return U.useEffect(()=>{if(r==="loading"||!n.length)return;const a=n.find(u=>u.code===t&&u.instance===e);a?o(a):(s({type:"error",message:"Course Instance not found"}),i("/"+t))},[e,t,n,r,o,s,i]),r==="loading"?g.jsx(H.LoadingScreen,{}):g.jsx(ie.Outlet,{})},Bi=({item:e,onToggleService:t,isUsed:r})=>{var a;const n=P.useTheme(),o=ie.useNavigate(),s=e.iconFC,i=e.icon?e.icon:s?g.jsx(s,{fontSize:"large"}):null;return g.jsxs(P.Card,{"data-testid":"tool-card",sx:{position:"relative",height:"auto",cursor:"pointer",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"stretch",transition:"all 0.2s ease-in-out",transform:"scale(1)",bgcolor:"background.paper","&:hover":{transform:"scale(1.02)",boxShadow:n.shadows[8],bgcolor:u=>u.palette.primary.main+"20",color:"primary.main"},"&:hover .toggle-button":{display:"inline-flex"}},children:[g.jsx(P.CardActionArea,{sx:{height:"100%",display:"flex",flexDirection:"column",justifyContent:"top"},onClick:()=>o(e.segment),children:g.jsxs(P.CardContent,{sx:{display:"flex",flexDirection:"column",alignItems:"center",gap:2,p:3,maxWidth:300,flex:1},children:[g.jsx(P.Box,{sx:{color:"inherit"},children:i}),g.jsx(P.Typography,{variant:"h6",children:e.title}),g.jsx(P.Typography,{variant:"body2",color:"text.secondary",align:"center",children:(a=e.metadata)==null?void 0:a.description})]})}),t&&g.jsx(P.Tooltip,{title:r?"Remove":"Add",arrow:!0,children:g.jsx(P.Button,{className:"toggle-button",sx:{display:"none",position:"absolute",top:8,right:8,minWidth:32,padding:0,fontSize:"1.25rem"},onClick:()=>t(e.segment),children:r?"-":"+"})})]})},Dt=({show:e,onToggleService:t,navItems:r,roleCheck:n,isUsed:o})=>{var i,a;const{currentCourse:s}=pe();return g.jsx(P.Box,{sx:{p:3},"data-testid":"tool-selector",children:g.jsx(P.Fade,{in:e,timeout:500,children:g.jsx(P.Box,{children:g.jsxs(P.Box,{sx:{display:"flex",flexDirection:"row",flexWrap:"wrap",alignItems:"stretch",justifyContent:"center",height:"fit-content",width:"100%",gap:4},children:[r.length===0&&g.jsxs(P.Box,{sx:{display:"flex",justifyContent:"center",alignItems:"center",flexDirection:"column",width:"100%",height:"100%",color:"text.secondary"},children:[g.jsxs(P.Typography,{variant:"h5",sx:{mb:4},children:["No tools available ",n?"for your role":""]}),n&&((a=(i=s==null?void 0:s.data)==null?void 0:i.myData)==null?void 0:a.role)==="student"&&g.jsx(P.Typography,{variant:"body1",sx:{mb:4},children:"Please let your teacher know if you need access to any tools."})]}),r.map(u=>{var f,d,h,m;return!n||n&&((m=(f=u.metadata)==null?void 0:f.forRoles)!=null&&m.includes(((h=(d=s==null?void 0:s.data)==null?void 0:d.myData)==null?void 0:h.role)||""))?g.jsx(Bi,{item:u,onToggleService:t,isUsed:o},u.segment):null})]})})})})},Vi=()=>{const{currentCourse:e,updateStateCourse:t}=pe(),{addNotificationData:r}=H.useNotificationStore(),[n,o]=U.useState((e==null?void 0:e.ltiLoginUrl)||""),[s,i]=U.useState(!1),a=async u=>{if(u.preventDefault(),!e)return;const f=n.trim();if(!f){r({type:"error",message:"Please provide a valid URL"});return}i(!0);try{if((await t({...e,ltiLoginUrl:f})).ltiLoginUrl===f)r({type:"success",message:"LTI Login URL updated successfully."});else throw new Error("Failed to verify update")}catch(d){console.error("Failed to update LTI Login URL:",d),r({type:"error",message:"Failed to update LTI Login URL. Please try again."})}finally{i(!1)}};return g.jsxs(P.Paper,{elevation:3,sx:{p:3,mt:4,mx:"auto",maxWidth:600,borderRadius:2,backgroundColor:"background.paper"},children:[g.jsx(P.Typography,{variant:"h6",color:"primary",gutterBottom:!0,sx:{mb:2},children:"Update LTI Login URL"}),g.jsx(P.Typography,{variant:"body2",color:"text.secondary",sx:{mb:3},children:"Please provide the LTI Login URL for this course. Students will be redirected to this URL when they need to authenticate."}),g.jsxs("form",{onSubmit:a,children:[g.jsx(P.TextField,{label:"LTI Login URL",variant:"outlined",fullWidth:!0,required:!0,value:n,onChange:u=>o(u.target.value),sx:{mb:3,"& .MuiOutlinedInput-root":{"&:hover fieldset":{borderColor:"primary.main"}}},helperText:"The URL where students will be redirected for LTI authentication"}),g.jsx(P.Box,{sx:{display:"flex",justifyContent:"flex-end"},children:g.jsx(P.Button,{type:"submit",variant:"contained",color:"primary",disabled:s,sx:{px:4,py:1,textTransform:"none",fontWeight:500},children:s?"Updating...":"Update URL"})})]})]})},Fi=({microservices:e})=>{var T,k;const{instance:t,code:r}=ie.useParams(),{updateStateCourse:n,currentCourse:o}=pe(),{addNotificationData:s}=H.useNotificationStore(),[i,a]=U.useState(!0),{allCourseMicroserviceNavigation:u}=Wt(),[f,d]=U.useState(e);U.useEffect(()=>{!e&&r&&u?d(u):e&&d(e)},[e,r,t,u]);const[h,m]=U.useState([]),[b,y]=U.useState([]);U.useEffect(()=>{if(r&&t&&f){const A=f.filter(C=>{var x;return(x=o==null?void 0:o.services)==null?void 0:x.includes(C.segment)});m(A);const O=f.filter(C=>{var x;return!((x=o==null?void 0:o.services)!=null&&x.includes(C.segment))});y(O)}},[r,t,f,o]),U.useEffect(()=>{a(!1);const A=setTimeout(()=>a(!0),300);return()=>clearTimeout(A)},[o]);const l=((k=(T=o==null?void 0:o.data)==null?void 0:T.myData)==null?void 0:k.role)==="teacher";U.useEffect(()=>{o&&l&&!o.ltiLoginUrl&&s({type:"info",message:"The LTI Login URL is missing for this course."})},[o,l,s]);const S=async(A,O)=>{var N;if(!o)return;const C=O?((N=o.services)==null?void 0:N.filter(W=>W!==A))||[]:[...o.services||[],A],x={...o,services:C};await n(x)};return r?g.jsxs(g.Fragment,{children:[l&&!(o!=null&&o.ltiLoginUrl)&&g.jsx(Vi,{}),l?g.jsxs(g.Fragment,{children:[g.jsx(H.CenteredHeading,{heading:"Enabled Tools",subheading:"These tools are currently enabled for this course. Click on a tool to visit its page."}),g.jsx(Dt,{show:i,title:"Enabled Tools",navItems:h,roleCheck:!0,onToggleService:A=>S(A,!0),isUsed:!0}),g.jsx(H.CenteredHeading,{heading:"Available Tools",subheading:"These tools are available for this course. Click on a tool to enable it."}),g.jsx(Dt,{show:i,title:"Available Tools",navItems:b,roleCheck:!0,onToggleService:A=>S(A,!1),isUsed:!1})]}):g.jsxs(g.Fragment,{children:[g.jsx(H.CenteredHeading,{heading:"Course Tools",subheading:"These tools are available for this course. Click on a tool to visit its page."}),g.jsx(Dt,{show:i,title:o!=null&&o.title?`${o.title} - Tools`:"Course Tools",navItems:h,roleCheck:!0})]})]}):g.jsx("h1",{children:"No course selected!"})},Bt=({children:e})=>g.jsx(g.Fragment,{children:e}),Ui=()=>{const{allCourseMicroserviceNavigation:e}=Wt();return fetch("http://127.0.0.1:7244/ingest/c66c732d-3054-49ac-a9c8-4251e2d751a6",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({location:"useCourseRoutes.tsx:29",message:"useCourseRoutes called",data:{navCount:e.length,navSegments:e.map(t=>t.segment)},timestamp:Date.now(),sessionId:"debug-session",runId:"run1",hypothesisId:"A"})}).catch(()=>{}),U.useMemo(()=>{var r,n;const t=[];return fetch("http://127.0.0.1:7244/ingest/c66c732d-3054-49ac-a9c8-4251e2d751a6",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({location:"useCourseRoutes.tsx:33",message:"Building routes",data:{navCount:e.length,hasChildren:e.some(o=>{var s;return(s=o.children)==null?void 0:s.length})},timestamp:Date.now(),sessionId:"debug-session",runId:"run1",hypothesisId:"B"})}).catch(()=>{}),t.push(g.jsxs(ie.Route,{path:":code",element:g.jsx(Wn,{}),children:[g.jsx(ie.Route,{index:!0,element:g.jsx(Li,{})}),g.jsxs(ie.Route,{path:":instance",element:g.jsx(Di,{}),children:[g.jsx(ie.Route,{index:!0,element:g.jsx(Fi,{microservices:e})}),e.map(o=>{var s,i,a;return fetch("http://127.0.0.1:7244/ingest/c66c732d-3054-49ac-a9c8-4251e2d751a6",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({location:"useCourseRoutes.tsx:45",message:"Mapping nav route",data:{segment:o.segment,hasChildren:!!o.children,childrenCount:(s=o.children)==null?void 0:s.length,childSegments:(i=o.children)==null?void 0:i.map(u=>u.segment)},timestamp:Date.now(),sessionId:"debug-session",runId:"run1",hypothesisId:"C"})}).catch(()=>{}),g.jsxs(ie.Route,{path:o.segment,children:[g.jsx(ie.Route,{index:!0,element:g.jsxs(Bt,{title:o.title,showTitle:o.showTitle,children:[o.children&&o.children.length>0&&g.jsx(H.MicroserviceSubsections,{children:o.children}),o.view&&g.jsx(o.view,{})]})}),(a=o.children)==null?void 0:a.map(u=>{var f,d,h;return fetch("http://127.0.0.1:7244/ingest/c66c732d-3054-49ac-a9c8-4251e2d751a6",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({location:"useCourseRoutes.tsx:60",message:"Mapping child route",data:{parentSegment:o.segment,childSegment:u.segment,hasSubChildren:!!u.children,subChildrenCount:(f=u.children)==null?void 0:f.length,subChildSegments:(d=u.children)==null?void 0:d.map(m=>m.segment)},timestamp:Date.now(),sessionId:"debug-session",runId:"run1",hypothesisId:"D"})}).catch(()=>{}),g.jsxs(ie.Route,{path:u.segment,children:[g.jsx(ie.Route,{index:!0,element:g.jsxs(Bt,{title:u.title,showTitle:u.showTitle,children:[u.children&&u.children.length>0&&g.jsx(H.MicroserviceSubsections,{children:u.children}),u.view&&g.jsx(u.view,{})]})}),(h=u.children)==null?void 0:h.map(m=>g.jsx(ie.Route,{path:m.segment,element:g.jsx(Bt,{title:m.title,showTitle:m.showTitle,children:m.view?g.jsx(m.view,{}):null})},m.segment))]},u.segment)})]},o.segment)})]})]},"course-routes")),fetch("http://127.0.0.1:7244/ingest/c66c732d-3054-49ac-a9c8-4251e2d751a6",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({location:"useCourseRoutes.tsx:102",message:"Routes built",data:{routeCount:t.length,firstRoutePath:(n=(r=t[0])==null?void 0:r.props)==null?void 0:n.path},timestamp:Date.now(),sessionId:"debug-session",runId:"run1",hypothesisId:"E"})}).catch(()=>{}),t},[e])},zi=()=>{const e=Ui();return fetch("http://127.0.0.1:7244/ingest/c66c732d-3054-49ac-a9c8-4251e2d751a6",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({location:"CourseRoutesProvider.tsx:17",message:"CourseRoutesProvider render",data:{routeCount:e.length},timestamp:Date.now(),sessionId:"debug-session",runId:"run1",hypothesisId:"F"})}).catch(()=>{}),U.useEffect(()=>(fetch("http://127.0.0.1:7244/ingest/c66c732d-3054-49ac-a9c8-4251e2d751a6",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({location:"CourseRoutesProvider.tsx:20",message:"Registering route provider",data:{routeCount:e.length},timestamp:Date.now(),sessionId:"debug-session",runId:"run1",hypothesisId:"G"})}).catch(()=>{}),H.registerRouteProvider("course-routes",()=>e),()=>{H.unregisterRouteProvider("course-routes")}),[e]),null},Wi=(e,t)=>{const r=n=>g.jsx(P.SvgIcon,{...n,sx:{backgroundColor:e,borderRadius:"50%",display:"flex",alignItems:"center",justifyContent:"center","& image":{transform:"scale(1)"}},viewBox:"0 0 24 24",children:g.jsx("image",{href:t.icon,width:"20",height:"20",x:"2",y:"2",preserveAspectRatio:"xMidYMid meet"})});return r.muiName="SvgIcon",r},Yi=e=>{var i;const t=e.code.split(".")[0],r=st[t]||st["COMP.CS"],n=((i=e.studyModule)==null?void 0:i.level)||"basic",o=r.levelShades[n],s=Wi(o,r);return{segment:e.code,title:e.code.toUpperCase(),Icon:s,instances:[e.instance],description:e.description,microservices:e.services}},Gi=()=>{const{learningCourses:e,learningCoursesOld:t,teachingCourses:r,teachingCoursesOld:n,availableCourses:o}=pe(),s=U.useMemo(()=>[{courses:e,header:"Courses"},{courses:t,header:"Courses (Old)"},{courses:r,header:"Teaching Courses"},{courses:n,header:"Teaching Courses (Old)"},{courses:o,header:"Available Courses"}].filter(({courses:a})=>a&&a.length>0).map(({courses:a,header:u})=>({underHeader:u,pages:a.map(Yi)})),[e,t,r,n,o]);return g.jsx(H.NavigationSectionBuilder,{sections:s})},Hi=()=>{const{learningCourses:e}=pe();return U.useEffect(()=>{if(e&&e.length>0){const t=[];e.forEach(r=>{Object.entries(r.events||{}).forEach(([n,o])=>{o.forEach(s=>{var i,a;t.push({id:s.id||`${r.code}-${n}-${Math.random()}`,title:s.title||`${r.title} - ${n}`,start:s.startTime,end:s.endTime||s.startTime,metadata:{source:"courses",courseCode:r.code,courseTitle:r.title,subject:((i=r.code)==null?void 0:i.split(".")[0])||"UNKNOWN",courseLevel:((a=r.studyModule)==null?void 0:a.level)||"basic",type:n,description:s.description,location:s.location}})})})}),H.eventBus.publish("courses",t)}else H.eventBus.removeSource("courses")},[e]),null},qi=({displayMode:e="instance",containerHeight:t="100%"})=>{const{currentCourse:r,learningCourses:n,learningCoursesOld:o,teachingCourses:s,teachingCoursesOld:i,availableCourses:a}=pe(),u=ie.useNavigate(),{visibleSections:f}=H.useNavigationStore(),d=200,h=300,m=f.Courses===!0,b=f["Courses (Old)"]===!0,y=f["Teaching Courses"]===!0,l=f["Teaching Courses (Old)"]===!0,S=f["Available Courses"]===!0,T=A=>{u(`/${A.code}/${A.instance}`)},k=(A,O,C)=>g.jsx(H.Scroller,{direction:"horizontal",itemSize:h,containerSize:d,title:A,priority:C,children:O.map(x=>g.jsx(yn,{onClick:T,course:x,isSelected:(r==null?void 0:r.id)===x.id,displayMode:e},x.id))});return g.jsx(P.Box,{sx:{width:"100%",height:t},children:g.jsxs(H.Scroller,{direction:"vertical",itemSize:d,containerSize:t,children:[m&&n.length>0&&k("My Enrolled Courses",n,"high"),b&&o.length>0&&k("My Completed Courses",o,"low"),y&&s.length>0&&k("My Teaching Courses",s,"low"),l&&i.length>0&&k("My Past Teaching",i,"low"),S&&a.length>0&&k("Available Courses",a,"low")]})})},Ki=()=>{const e=ie.useLocation(),{getCourses:t,setCurrentCourseUrl:r,getCourseByUrl:n,courses:o,currentCourse:s,currentCourseCode:i,setCurrentCourse:a,setCurrentCourseCode:u,setCurrentCourseUrl:f}=pe(),{registerGridItem:d,unregisterGridItem:h}=H.useGridItemContext();return H.useRetry({action:t,condition:o.length<1,successMessage:"Courses fetched successfully",errorMessage:"Failed to fetch courses, retrying..."}),U.useEffect(()=>{const m=async b=>{const{url:y}=b.data;if(y){r(y);try{await n(y)}catch(l){console.error("Failed to fetch course by URL:",l)}}};return window.addEventListener("message",m),()=>window.removeEventListener("message",m)},[n,r]),U.useEffect(()=>{e.pathname==="/"&&(s||i)&&(a(null),u(null),f(""))},[e.pathname,s,i,a,u,f]),U.useEffect(()=>{const m=H.createGridItem({id:"course-list",x:0,y:0,w:15,h:1,minW:1,minH:1,maxW:15,maxH:15});return d("course-list",g.jsx(qi,{displayMode:"instance",containerHeight:"100%"}),m),()=>{h("course-list")}},[d,h]),g.jsxs(g.Fragment,{children:[g.jsx(Gi,{}),g.jsx(Hi,{})]})},Ji=({children:e})=>g.jsxs(Tn,{children:[g.jsx(Ki,{}),e,g.jsx(zi,{})]});exports.CourseMicroservice=Ji;exports.useCourseMicroserviceRegistration=Wt;exports.useCourseStore=pe;
125
+ export default theme;`}function zt(e){return typeof e=="number"?`${(e*100).toFixed(0)}%`:`calc((${e}) * 100%)`}const xs=e=>{if(!Number.isNaN(+e))return+e;const a=e.match(/\d*\.?\d+/g);if(!a)return 0;let o=0;for(let t=0;t<a.length;t+=1)o+=+a[t];return o};function Cs(e){Object.assign(e,{alpha(a,o){const t=this||e;return t.colorSpace?`oklch(from ${a} l c h / ${typeof o=="string"?`calc(${o})`:o})`:t.vars?`rgba(${a.replace(/var\(--([^,\s)]+)(?:,[^)]+)?\)+/g,"var(--$1Channel)")} / ${typeof o=="string"?`calc(${o})`:o})`:on(a,xs(o))},lighten(a,o){const t=this||e;return t.colorSpace?`color-mix(in ${t.colorSpace}, ${a}, #fff ${zt(o)})`:Za(a,o)},darken(a,o){const t=this||e;return t.colorSpace?`color-mix(in ${t.colorSpace}, ${a}, #000 ${zt(o)})`:Qa(a,o)}})}function xo(e={},...a){const{breakpoints:o,mixins:t={},spacing:n,palette:r={},transitions:i={},typography:s={},shape:u,colorSpace:p,...d}=e;if(e.vars&&e.generateThemeVars===void 0)throw new Error(process.env.NODE_ENV!=="production"?"MUI: `vars` is a private field used for CSS variables support.\nPlease use another name or follow the [docs](https://mui.com/material-ui/customization/css-theme-variables/usage/) to enable the feature.":ba(20));const m=Ro({...r,colorSpace:p}),h=Jt(e);let g=Je(h,{mixins:ls(h.breakpoints,t),palette:m,shadows:gs.slice(),typography:ps(m,s),transitions:js(i),zIndex:{...vs}});if(g=Je(g,d),g=a.reduce((f,c)=>Je(f,c),g),process.env.NODE_ENV!=="production"){const f=["active","checked","completed","disabled","error","expanded","focused","focusVisible","required","selected"],c=(v,T)=>{let P;for(P in v){const _=v[P];if(f.includes(P)&&Object.keys(_).length>0){if(process.env.NODE_ENV!=="production"){const b=Io("",P);console.error([`MUI: The \`${T}\` component increases the CSS specificity of the \`${P}\` internal state.`,"You can not override it like this: ",JSON.stringify(v,null,2),"",`Instead, you need to use the '&.${b}' syntax:`,JSON.stringify({root:{[`&.${b}`]:_}},null,2),"","https://mui.com/r/state-classes-guide"].join(`
126
+ `))}v[P]={}}}};Object.keys(g.components).forEach(v=>{const T=g.components[v].styleOverrides;T&&v.startsWith("Mui")&&c(T,v)})}return g.unstable_sxConfig={...Ja,...d==null?void 0:d.unstable_sxConfig},g.unstable_sx=function(c){return ua({sx:c,theme:this})},g.toRuntimeSource=un,Cs(g),g}function Es(e){let a;return e<1?a=5.11916*e**2:a=4.5*Math.log(e+1)+2,Math.round(a*10)/1e3}const Ss=[...Array(25)].map((e,a)=>{if(a===0)return"none";const o=Es(a);return`linear-gradient(rgba(255 255 255 / ${o}), rgba(255 255 255 / ${o}))`});function cn(e){return{inputPlaceholder:e==="dark"?.5:.42,inputUnderline:e==="dark"?.7:.42,switchTrackDisabled:e==="dark"?.2:.12,switchTrack:e==="dark"?.3:.38}}function ln(e){return e==="dark"?Ss:[]}function zs(e){const{palette:a={mode:"light"},opacity:o,overlays:t,colorSpace:n,...r}=e,i=Ro({...a,colorSpace:n});return{palette:i,opacity:{...cn(i.mode),...o},overlays:t||ln(i.mode),...r}}function Ts(e){var a;return!!e[0].match(/(cssVarPrefix|colorSchemeSelector|modularCssLayers|rootSelector|typography|mixins|breakpoints|direction|transitions)/)||!!e[0].match(/sxConfig$/)||e[0]==="palette"&&!!((a=e[1])!=null&&a.match(/(mode|contrastThreshold|tonalOffset)/))}const Os=e=>[...[...Array(25)].map((a,o)=>`--${e?`${e}-`:""}overlays-${o}`),`--${e?`${e}-`:""}palette-AppBar-darkBg`,`--${e?`${e}-`:""}palette-AppBar-darkColor`],_s=e=>(a,o)=>{const t=e.rootSelector||":root",n=e.colorSchemeSelector;let r=n;if(n==="class"&&(r=".%s"),n==="data"&&(r="[data-%s]"),n!=null&&n.startsWith("data-")&&!n.includes("%s")&&(r=`[${n}="%s"]`),e.defaultColorScheme===a){if(a==="dark"){const i={};return Os(e.cssVarPrefix).forEach(s=>{i[s]=o[s],delete o[s]}),r==="media"?{[t]:o,"@media (prefers-color-scheme: dark)":{[t]:i}}:r?{[r.replace("%s",a)]:i,[`${t}, ${r.replace("%s",a)}`]:o}:{[t]:{...o,...i}}}if(r&&r!=="media")return`${t}, ${r.replace("%s",String(a))}`}else if(a){if(r==="media")return{[`@media (prefers-color-scheme: ${String(a)})`]:{[t]:o}};if(r)return r.replace("%s",String(a))}return t};function As(e,a){a.forEach(o=>{e[o]||(e[o]={})})}function O(e,a,o){!e[a]&&o&&(e[a]=o)}function ga(e){return typeof e!="string"||!e.startsWith("hsl")?e:an(e)}function Ie(e,a){`${a}Channel`in e||(e[`${a}Channel`]=fa(ga(e[a]),`MUI: Can't create \`palette.${a}Channel\` because \`palette.${a}\` is not one of these formats: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color().
127
+ To suppress this warning, you need to explicitly provide the \`palette.${a}Channel\` as a string (in rgb format, for example "12 12 12") or undefined if you want to remove the channel token.`))}function Rs(e){return typeof e=="number"?`${e}px`:typeof e=="string"||typeof e=="function"||Array.isArray(e)?e:"8px"}const Ae=e=>{try{return e()}catch{}},Is=(e="mui")=>Ki(e);function fo(e,a,o,t,n){if(!o)return;o=o===!0?{}:o;const r=n==="dark"?"dark":"light";if(!t){a[n]=zs({...o,palette:{mode:r,...o==null?void 0:o.palette},colorSpace:e});return}const{palette:i,...s}=xo({...t,palette:{mode:r,...o==null?void 0:o.palette},colorSpace:e});return a[n]={...o,palette:i,opacity:{...cn(r),...o==null?void 0:o.opacity},overlays:(o==null?void 0:o.overlays)||ln(r)},s}function Ps(e={},...a){const{colorSchemes:o={light:!0},defaultColorScheme:t,disableCssColorScheme:n=!1,cssVarPrefix:r="mui",nativeColor:i=!1,shouldSkipGeneratingVar:s=Ts,colorSchemeSelector:u=o.light&&o.dark?"media":void 0,rootSelector:p=":root",...d}=e,m=Object.keys(o)[0],h=t||(o.light&&m!=="light"?"light":m),g=Is(r),{[h]:f,light:c,dark:v,...T}=o,P={...T};let _=f;if((h==="dark"&&!("dark"in o)||h==="light"&&!("light"in o))&&(_=!0),!_)throw new Error(process.env.NODE_ENV!=="production"?`MUI: The \`colorSchemes.${h}\` option is either missing or invalid.`:ba(21,h));let b;i&&(b="oklch");const y=fo(b,P,_,d,h);c&&!P.light&&fo(b,P,c,void 0,"light"),v&&!P.dark&&fo(b,P,v,void 0,"dark");let w={defaultColorScheme:h,...y,cssVarPrefix:r,colorSchemeSelector:u,rootSelector:p,getCssVar:g,colorSchemes:P,font:{...us(y.typography),...y.font},spacing:Rs(d.spacing)};Object.keys(w.colorSchemes).forEach(U=>{const l=w.colorSchemes[U].palette,M=C=>{const N=C.split("-"),Z=N[1],Q=N[2];return g(C,l[Z][Q])};l.mode==="light"&&(O(l.common,"background","#fff"),O(l.common,"onBackground","#000")),l.mode==="dark"&&(O(l.common,"background","#000"),O(l.common,"onBackground","#fff"));function D(C,N,Z){if(b){let Q;return C===Ve&&(Q=`transparent ${((1-Z)*100).toFixed(0)}%`),C===le&&(Q=`#000 ${(Z*100).toFixed(0)}%`),C===me&&(Q=`#fff ${(Z*100).toFixed(0)}%`),`color-mix(in ${b}, ${N}, ${Q})`}return C(N,Z)}if(As(l,["Alert","AppBar","Avatar","Button","Chip","FilledInput","LinearProgress","Skeleton","Slider","SnackbarContent","SpeedDialAction","StepConnector","StepContent","Switch","TableCell","Tooltip"]),l.mode==="light"){O(l.Alert,"errorColor",D(le,l.error.light,.6)),O(l.Alert,"infoColor",D(le,l.info.light,.6)),O(l.Alert,"successColor",D(le,l.success.light,.6)),O(l.Alert,"warningColor",D(le,l.warning.light,.6)),O(l.Alert,"errorFilledBg",M("palette-error-main")),O(l.Alert,"infoFilledBg",M("palette-info-main")),O(l.Alert,"successFilledBg",M("palette-success-main")),O(l.Alert,"warningFilledBg",M("palette-warning-main")),O(l.Alert,"errorFilledColor",Ae(()=>l.getContrastText(l.error.main))),O(l.Alert,"infoFilledColor",Ae(()=>l.getContrastText(l.info.main))),O(l.Alert,"successFilledColor",Ae(()=>l.getContrastText(l.success.main))),O(l.Alert,"warningFilledColor",Ae(()=>l.getContrastText(l.warning.main))),O(l.Alert,"errorStandardBg",D(me,l.error.light,.9)),O(l.Alert,"infoStandardBg",D(me,l.info.light,.9)),O(l.Alert,"successStandardBg",D(me,l.success.light,.9)),O(l.Alert,"warningStandardBg",D(me,l.warning.light,.9)),O(l.Alert,"errorIconColor",M("palette-error-main")),O(l.Alert,"infoIconColor",M("palette-info-main")),O(l.Alert,"successIconColor",M("palette-success-main")),O(l.Alert,"warningIconColor",M("palette-warning-main")),O(l.AppBar,"defaultBg",M("palette-grey-100")),O(l.Avatar,"defaultBg",M("palette-grey-400")),O(l.Button,"inheritContainedBg",M("palette-grey-300")),O(l.Button,"inheritContainedHoverBg",M("palette-grey-A100")),O(l.Chip,"defaultBorder",M("palette-grey-400")),O(l.Chip,"defaultAvatarColor",M("palette-grey-700")),O(l.Chip,"defaultIconColor",M("palette-grey-700")),O(l.FilledInput,"bg","rgba(0, 0, 0, 0.06)"),O(l.FilledInput,"hoverBg","rgba(0, 0, 0, 0.09)"),O(l.FilledInput,"disabledBg","rgba(0, 0, 0, 0.12)"),O(l.LinearProgress,"primaryBg",D(me,l.primary.main,.62)),O(l.LinearProgress,"secondaryBg",D(me,l.secondary.main,.62)),O(l.LinearProgress,"errorBg",D(me,l.error.main,.62)),O(l.LinearProgress,"infoBg",D(me,l.info.main,.62)),O(l.LinearProgress,"successBg",D(me,l.success.main,.62)),O(l.LinearProgress,"warningBg",D(me,l.warning.main,.62)),O(l.Skeleton,"bg",b?D(Ve,l.text.primary,.11):`rgba(${M("palette-text-primaryChannel")} / 0.11)`),O(l.Slider,"primaryTrack",D(me,l.primary.main,.62)),O(l.Slider,"secondaryTrack",D(me,l.secondary.main,.62)),O(l.Slider,"errorTrack",D(me,l.error.main,.62)),O(l.Slider,"infoTrack",D(me,l.info.main,.62)),O(l.Slider,"successTrack",D(me,l.success.main,.62)),O(l.Slider,"warningTrack",D(me,l.warning.main,.62));const C=b?D(le,l.background.default,.6825):Aa(l.background.default,.8);O(l.SnackbarContent,"bg",C),O(l.SnackbarContent,"color",Ae(()=>b?wo.text.primary:l.getContrastText(C))),O(l.SpeedDialAction,"fabHoverBg",Aa(l.background.paper,.15)),O(l.StepConnector,"border",M("palette-grey-400")),O(l.StepContent,"border",M("palette-grey-400")),O(l.Switch,"defaultColor",M("palette-common-white")),O(l.Switch,"defaultDisabledColor",M("palette-grey-100")),O(l.Switch,"primaryDisabledColor",D(me,l.primary.main,.62)),O(l.Switch,"secondaryDisabledColor",D(me,l.secondary.main,.62)),O(l.Switch,"errorDisabledColor",D(me,l.error.main,.62)),O(l.Switch,"infoDisabledColor",D(me,l.info.main,.62)),O(l.Switch,"successDisabledColor",D(me,l.success.main,.62)),O(l.Switch,"warningDisabledColor",D(me,l.warning.main,.62)),O(l.TableCell,"border",D(me,D(Ve,l.divider,1),.88)),O(l.Tooltip,"bg",D(Ve,l.grey[700],.92))}if(l.mode==="dark"){O(l.Alert,"errorColor",D(me,l.error.light,.6)),O(l.Alert,"infoColor",D(me,l.info.light,.6)),O(l.Alert,"successColor",D(me,l.success.light,.6)),O(l.Alert,"warningColor",D(me,l.warning.light,.6)),O(l.Alert,"errorFilledBg",M("palette-error-dark")),O(l.Alert,"infoFilledBg",M("palette-info-dark")),O(l.Alert,"successFilledBg",M("palette-success-dark")),O(l.Alert,"warningFilledBg",M("palette-warning-dark")),O(l.Alert,"errorFilledColor",Ae(()=>l.getContrastText(l.error.dark))),O(l.Alert,"infoFilledColor",Ae(()=>l.getContrastText(l.info.dark))),O(l.Alert,"successFilledColor",Ae(()=>l.getContrastText(l.success.dark))),O(l.Alert,"warningFilledColor",Ae(()=>l.getContrastText(l.warning.dark))),O(l.Alert,"errorStandardBg",D(le,l.error.light,.9)),O(l.Alert,"infoStandardBg",D(le,l.info.light,.9)),O(l.Alert,"successStandardBg",D(le,l.success.light,.9)),O(l.Alert,"warningStandardBg",D(le,l.warning.light,.9)),O(l.Alert,"errorIconColor",M("palette-error-main")),O(l.Alert,"infoIconColor",M("palette-info-main")),O(l.Alert,"successIconColor",M("palette-success-main")),O(l.Alert,"warningIconColor",M("palette-warning-main")),O(l.AppBar,"defaultBg",M("palette-grey-900")),O(l.AppBar,"darkBg",M("palette-background-paper")),O(l.AppBar,"darkColor",M("palette-text-primary")),O(l.Avatar,"defaultBg",M("palette-grey-600")),O(l.Button,"inheritContainedBg",M("palette-grey-800")),O(l.Button,"inheritContainedHoverBg",M("palette-grey-700")),O(l.Chip,"defaultBorder",M("palette-grey-700")),O(l.Chip,"defaultAvatarColor",M("palette-grey-300")),O(l.Chip,"defaultIconColor",M("palette-grey-300")),O(l.FilledInput,"bg","rgba(255, 255, 255, 0.09)"),O(l.FilledInput,"hoverBg","rgba(255, 255, 255, 0.13)"),O(l.FilledInput,"disabledBg","rgba(255, 255, 255, 0.12)"),O(l.LinearProgress,"primaryBg",D(le,l.primary.main,.5)),O(l.LinearProgress,"secondaryBg",D(le,l.secondary.main,.5)),O(l.LinearProgress,"errorBg",D(le,l.error.main,.5)),O(l.LinearProgress,"infoBg",D(le,l.info.main,.5)),O(l.LinearProgress,"successBg",D(le,l.success.main,.5)),O(l.LinearProgress,"warningBg",D(le,l.warning.main,.5)),O(l.Skeleton,"bg",b?D(Ve,l.text.primary,.13):`rgba(${M("palette-text-primaryChannel")} / 0.13)`),O(l.Slider,"primaryTrack",D(le,l.primary.main,.5)),O(l.Slider,"secondaryTrack",D(le,l.secondary.main,.5)),O(l.Slider,"errorTrack",D(le,l.error.main,.5)),O(l.Slider,"infoTrack",D(le,l.info.main,.5)),O(l.Slider,"successTrack",D(le,l.success.main,.5)),O(l.Slider,"warningTrack",D(le,l.warning.main,.5));const C=b?D(me,l.background.default,.985):Aa(l.background.default,.98);O(l.SnackbarContent,"bg",C),O(l.SnackbarContent,"color",Ae(()=>b?rn.text.primary:l.getContrastText(C))),O(l.SpeedDialAction,"fabHoverBg",Aa(l.background.paper,.15)),O(l.StepConnector,"border",M("palette-grey-600")),O(l.StepContent,"border",M("palette-grey-600")),O(l.Switch,"defaultColor",M("palette-grey-300")),O(l.Switch,"defaultDisabledColor",M("palette-grey-600")),O(l.Switch,"primaryDisabledColor",D(le,l.primary.main,.55)),O(l.Switch,"secondaryDisabledColor",D(le,l.secondary.main,.55)),O(l.Switch,"errorDisabledColor",D(le,l.error.main,.55)),O(l.Switch,"infoDisabledColor",D(le,l.info.main,.55)),O(l.Switch,"successDisabledColor",D(le,l.success.main,.55)),O(l.Switch,"warningDisabledColor",D(le,l.warning.main,.55)),O(l.TableCell,"border",D(le,D(Ve,l.divider,1),.68)),O(l.Tooltip,"bg",D(Ve,l.grey[700],.92))}Ie(l.background,"default"),Ie(l.background,"paper"),Ie(l.common,"background"),Ie(l.common,"onBackground"),Ie(l,"divider"),Object.keys(l).forEach(C=>{const N=l[C];C!=="tonalOffset"&&N&&typeof N=="object"&&(N.main&&O(l[C],"mainChannel",fa(ga(N.main))),N.light&&O(l[C],"lightChannel",fa(ga(N.light))),N.dark&&O(l[C],"darkChannel",fa(ga(N.dark))),N.contrastText&&O(l[C],"contrastTextChannel",fa(ga(N.contrastText))),C==="text"&&(Ie(l[C],"primary"),Ie(l[C],"secondary")),C==="action"&&(N.active&&Ie(l[C],"active"),N.selected&&Ie(l[C],"selected")))})}),w=a.reduce((U,l)=>Je(U,l),w);const z={prefix:r,disableCssColorScheme:n,shouldSkipGeneratingVar:s,getSelector:_s(w),enableContrastVars:i},{vars:L,generateThemeVars:$,generateStyleSheets:H}=Qi(w,z);return w.vars=L,Object.entries(w.colorSchemes[w.defaultColorScheme]).forEach(([U,l])=>{w[U]=l}),w.generateThemeVars=$,w.generateStyleSheets=H,w.generateSpacing=function(){return Kt(d.spacing,Oo(this))},w.getColorSchemeSelector=Zi(u),w.spacing=w.generateSpacing(),w.shouldSkipGeneratingVar=s,w.unstable_sxConfig={...Ja,...d==null?void 0:d.unstable_sxConfig},w.unstable_sx=function(l){return ua({sx:l,theme:this})},w.toRuntimeSource=un,w}function Tt(e,a,o){e.colorSchemes&&o&&(e.colorSchemes[a]={...o!==!0&&o,palette:Ro({...o===!0?{}:o.palette,mode:a})})}function $s(e={},...a){const{palette:o,cssVariables:t=!1,colorSchemes:n=o?void 0:{light:!0},defaultColorScheme:r=o==null?void 0:o.mode,...i}=e,s=r||"light",u=n==null?void 0:n[s],p={...n,...o?{[s]:{...typeof u!="boolean"&&u,palette:o}}:void 0};if(t===!1){if(!("colorSchemes"in e))return xo(e,...a);let d=o;"palette"in e||p[s]&&(p[s]!==!0?d=p[s].palette:s==="dark"&&(d={mode:"dark"}));const m=xo({...e,palette:d},...a);return m.defaultColorScheme=s,m.colorSchemes=p,m.palette.mode==="light"&&(m.colorSchemes.light={...p.light!==!0&&p.light,palette:m.palette},Tt(m,"dark",p.dark)),m.palette.mode==="dark"&&(m.colorSchemes.dark={...p.dark!==!0&&p.dark,palette:m.palette},Tt(m,"light",p.light)),m}return!o&&!("light"in p)&&s==="light"&&(p.light=!0),Ps({...i,colorSchemes:p,defaultColorScheme:s,...typeof t!="boolean"&&t},...a)}const Ds=$s(),Fs="$$material";function Ns(e){return e!=="ownerState"&&e!=="theme"&&e!=="sx"&&e!=="as"}const Ls=e=>Ns(e)&&e!=="classes",Ms=Di({themeId:Fs,defaultTheme:Ds,rootShouldForwardProp:Ls}),Bs=Yi;process.env.NODE_ENV!=="production"&&(ie.node,ie.object.isRequired);function Us(e){return Gi(e)}function qs(e,a,o="Mui"){const t={};return a.forEach(n=>{t[n]=Io(e,n,o)}),t}function Vs(e){return Io("MuiSvgIcon",e)}qs("MuiSvgIcon",["root","colorPrimary","colorSecondary","colorAction","colorError","colorDisabled","fontSizeInherit","fontSizeSmall","fontSizeMedium","fontSizeLarge"]);const Ws=e=>{const{color:a,fontSize:o,classes:t}=e,n={root:["root",a!=="inherit"&&`color${Da(a)}`,`fontSize${Da(o)}`]};return Cr(n,Vs,t)},Hs=Ms("svg",{name:"MuiSvgIcon",slot:"Root",overridesResolver:(e,a)=>{const{ownerState:o}=e;return[a.root,o.color!=="inherit"&&a[`color${Da(o.color)}`],a[`fontSize${Da(o.fontSize)}`]]}})(Bs(({theme:e})=>{var a,o,t,n,r,i,s,u,p,d,m,h,g,f;return{userSelect:"none",width:"1em",height:"1em",display:"inline-block",flexShrink:0,transition:(n=(a=e.transitions)==null?void 0:a.create)==null?void 0:n.call(a,"fill",{duration:(t=(o=(e.vars??e).transitions)==null?void 0:o.duration)==null?void 0:t.shorter}),variants:[{props:c=>!c.hasSvgAsChild,style:{fill:"currentColor"}},{props:{fontSize:"inherit"},style:{fontSize:"inherit"}},{props:{fontSize:"small"},style:{fontSize:((i=(r=e.typography)==null?void 0:r.pxToRem)==null?void 0:i.call(r,20))||"1.25rem"}},{props:{fontSize:"medium"},style:{fontSize:((u=(s=e.typography)==null?void 0:s.pxToRem)==null?void 0:u.call(s,24))||"1.5rem"}},{props:{fontSize:"large"},style:{fontSize:((d=(p=e.typography)==null?void 0:p.pxToRem)==null?void 0:d.call(p,35))||"2.1875rem"}},...Object.entries((e.vars??e).palette).filter(([,c])=>c&&c.main).map(([c])=>{var v,T;return{props:{color:c},style:{color:(T=(v=(e.vars??e).palette)==null?void 0:v[c])==null?void 0:T.main}}}),{props:{color:"action"},style:{color:(h=(m=(e.vars??e).palette)==null?void 0:m.action)==null?void 0:h.active}},{props:{color:"disabled"},style:{color:(f=(g=(e.vars??e).palette)==null?void 0:g.action)==null?void 0:f.disabled}},{props:{color:"inherit"},style:{color:void 0}}]}})),Ma=Re.forwardRef(function(a,o){const t=Us({props:a,name:"MuiSvgIcon"}),{children:n,className:r,color:i="inherit",component:s="svg",fontSize:u="medium",htmlColor:p,inheritViewBox:d=!1,titleAccess:m,viewBox:h="0 0 24 24",...g}=t,f=Re.isValidElement(n)&&n.type==="svg",c={...t,color:i,component:s,fontSize:u,instanceFontSize:a.fontSize,inheritViewBox:d,viewBox:h,hasSvgAsChild:f},v={};d||(v.viewBox=h);const T=Ws(c);return S.jsxs(Hs,{as:s,className:Wt(T.root,r),focusable:"false",color:p,"aria-hidden":m?void 0:!0,role:m?"img":void 0,ref:o,...v,...g,...f&&n.props,ownerState:c,children:[f?n.props.children:n,m?S.jsx("title",{children:m}):null]})});process.env.NODE_ENV!=="production"&&(Ma.propTypes={children:ie.node,classes:ie.object,className:ie.string,color:ie.oneOfType([ie.oneOf(["inherit","action","disabled","primary","secondary","error","info","success","warning"]),ie.string]),component:ie.elementType,fontSize:ie.oneOfType([ie.oneOf(["inherit","large","medium","small"]),ie.string]),htmlColor:ie.string,inheritViewBox:ie.bool,shapeRendering:ie.string,sx:ie.oneOfType([ie.arrayOf(ie.oneOfType([ie.func,ie.object,ie.bool])),ie.func,ie.object]),titleAccess:ie.string,viewBox:ie.string});Ma.muiName="SvgIcon";function $e(e,a){function o(t,n){return S.jsx(Ma,{"data-testid":process.env.NODE_ENV!=="production"?`${a}Icon`:void 0,ref:n,...t,children:e})}return process.env.NODE_ENV!=="production"&&(o.displayName=`${a}Icon`),o.muiName=Ma.muiName,Re.memo(Re.forwardRef(o))}const Gs=$e(S.jsx("path",{d:"M17 12h-5v5h5zM16 1v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2h-1V1zm3 18H5V8h14z"}),"Event"),Ys=({course:e,displayMode:a,hasUpcomingEvents:o})=>S.jsxs(Y.Box,{sx:{display:"flex",flexDirection:"row",alignItems:"center",mb:"auto",width:"100%"},children:[a!=="course"&&S.jsx(Y.Typography,{variant:"caption",sx:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",mr:1},children:e.instance}),o&&S.jsx(Y.Tooltip,{title:"Upcoming Events",children:S.jsx(Y.IconButton,{size:"small",color:"info",sx:{width:28,height:28,padding:0},children:S.jsx(Gs,{sx:{fontSize:18}})})})]}),Ks=$e(S.jsx("path",{d:"M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6"}),"Settings"),Js=$e(S.jsx("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 15h-2v-6h2zm0-8h-2V7h2z"}),"Info"),Xs=$e(S.jsx("path",{d:"M15 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4m-9-2V7H4v3H1v2h3v3h2v-3h3v-2zm9 4c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4"}),"PersonAdd"),Qs=$e(S.jsx("path",{d:"M5 13.18v4L12 21l7-3.82v-4L12 17zM12 3 1 9l11 6 9-4.91V17h2V9z"}),"School"),Zs=$e(S.jsx("path",{d:"m12.87 15.07-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z"}),"Translate"),eu=$e(S.jsx("path",{d:"M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5s-3 1.34-3 3 1.34 3 3 3m-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5 5 6.34 5 8s1.34 3 3 3m0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5m8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5"}),"Group"),au=$e(S.jsx("path",{d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2m4.24 16L12 15.45 7.77 18l1.12-4.81-3.73-3.23 4.92-.42L12 5l1.92 4.53 4.92.42-3.73 3.23z"}),"Stars"),ou=$e(S.jsx("path",{d:"M22 9V7h-2v2h-2v2h2v2h2v-2h2V9zM8 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4m0 1c-2.67 0-8 1.34-8 4v3h16v-3c0-2.66-5.33-4-8-4m4.51-8.95C13.43 5.11 14 6.49 14 8s-.57 2.89-1.49 3.95C14.47 11.7 16 10.04 16 8s-1.53-3.7-3.49-3.95m4.02 9.78C17.42 14.66 18 15.7 18 17v3h2v-3c0-1.45-1.59-2.51-3.47-3.17"}),"GroupAdd"),tu=({course:e,courseColor:a,isTeacher:o,showEnrollmentOpen:t,onSettingsClick:n,onEnroll:r,onTeacherEnroll:i})=>{var h,g,f,c,v;const[s,u]=ne.useState(null),[p,d]=ne.useState(null),m=T=>{T.stopPropagation(),d(null),o?i==null||i(T):r==null||r(T)};return S.jsxs(Y.Box,{sx:{display:"flex",gap:1},children:[t&&S.jsxs(S.Fragment,{children:[S.jsx(Y.Tooltip,{title:o?"Manage enrollments":"Enroll in course",children:S.jsx(Y.IconButton,{size:"small",color:"success",onClick:T=>{T.stopPropagation(),d(T.currentTarget)},sx:{width:28,height:28,padding:0},children:o?S.jsx(ou,{sx:{fontSize:18}}):S.jsx(Xs,{sx:{fontSize:18}})})}),S.jsxs(Y.Menu,{anchorEl:p,open:!!p,onClose:T=>{T.stopPropagation(),d(null)},anchorOrigin:{vertical:"top",horizontal:"center"},transformOrigin:{vertical:"bottom",horizontal:"center"},children:[S.jsxs(Y.MenuItem,{dense:!0,disabled:!0,children:[S.jsx(Y.ListItemIcon,{children:S.jsx(eu,{fontSize:"small"})}),S.jsx(Y.ListItemText,{primary:`${((g=(h=e.data)==null?void 0:h.enrollmentData)==null?void 0:g.length)||0}/${(f=e.enrollment)==null?void 0:f.status.maxStudents} enrolled`,primaryTypographyProps:{variant:"body2"}})]}),S.jsx(Y.Divider,{}),S.jsx(Y.MenuItem,{dense:!0,onClick:m,children:o?"Manage Student Enrollments":"Enroll Now"})]})]}),o&&S.jsx(Y.Tooltip,{title:"Course settings",children:S.jsx(Y.IconButton,{size:"small",onClick:n,sx:{color:a,width:28,height:28,padding:0},children:S.jsx(Ks,{sx:{fontSize:18}})})}),S.jsxs(S.Fragment,{children:[S.jsx(Y.Tooltip,{title:"Course details",children:S.jsx(Y.IconButton,{size:"small",onClick:T=>{T.stopPropagation(),u(T.currentTarget)},sx:{color:a,width:28,height:28,padding:0},children:S.jsx(Js,{sx:{fontSize:18}})})}),S.jsxs(Y.Menu,{anchorEl:s,open:!!s,onClose:T=>{T.stopPropagation(),u(null)},anchorOrigin:{vertical:"top",horizontal:"center"},transformOrigin:{vertical:"bottom",horizontal:"center"},children:[S.jsxs(Y.MenuItem,{dense:!0,disabled:!0,children:[S.jsx(Y.ListItemIcon,{children:S.jsx(Qs,{fontSize:"small"})}),S.jsx(Y.ListItemText,{primary:(c=e.studyModule)==null?void 0:c.level,primaryTypographyProps:{variant:"body2"}})]}),S.jsxs(Y.MenuItem,{dense:!0,disabled:!0,children:[S.jsx(Y.ListItemIcon,{children:S.jsx(au,{fontSize:"small"})}),S.jsx(Y.ListItemText,{primary:`${(v=e.studyModule)==null?void 0:v.credits} credits`,primaryTypographyProps:{variant:"body2"}})]}),S.jsxs(Y.MenuItem,{dense:!0,disabled:!0,children:[S.jsx(Y.ListItemIcon,{children:S.jsx(Zs,{fontSize:"small"})}),S.jsx(Y.ListItemText,{primary:e.language,primaryTypographyProps:{variant:"body2"}})]})]})]})]})},mn=({course:e,displayMode:a="course",onClick:o})=>{var _,b,y,w,z,L;const{setOpenDialog:t}=B.useDialogStore(),{setCourseToUpdate:n,setCurrentCourse:r}=Te(),i=e.code.split(".")[0],s=$a[i]||$a["COMP.CS"],u=((_=e.studyModule)==null?void 0:_.level)||"basic",p=s.levelShades[u],d=((y=(b=e.data)==null?void 0:b.myData)==null?void 0:y.role)==="teacher",h=!!(!(((z=(w=e.data)==null?void 0:w.myData)==null?void 0:z.status)==="enrolled")&&((L=e.enrollment)!=null&&L.status.open)),g=!!e.events.lecture.some($=>new Date($.startTime)>new Date),[f,c]=ne.useState(!1),v=$=>{$.stopPropagation(),n(e),t("CourseSettings")},T=$=>{$.stopPropagation(),t("ManageEnrollments")},P=()=>{r(e),o(e)};return S.jsxs(Y.Card,{elevation:0,sx:{marginLeft:2,marginRight:2,boxSizing:"border-box",position:"relative",cursor:"pointer",flex:"1",backgroundColor:`${p}08`,borderLeft:`4px solid ${p}`,transition:"all 0.3s cubic-bezier(0.4, 0, 0.2, 1)",overflow:"hidden",height:"100%","&:hover":{backgroundColor:`${p}15`,"& .subject-icon":{opacity:.15,transform:"scale(1.1)"}}},onClick:P,children:[!f&&S.jsx(Y.Skeleton,{variant:"rectangular",sx:{position:"absolute",right:-10,bottom:-10,width:"80px",height:"80px",opacity:.08,transition:"all 0.3s ease-in-out"},animation:"wave"}),S.jsx(Y.Box,{component:"img",className:"subject-icon",src:s.icon,alt:i,loading:"lazy",onLoad:()=>c(!0),sx:{position:"absolute",right:-10,bottom:-10,width:"80px",height:"80px",transition:"opacity 0.3s ease-in-out",filter:`drop-shadow(0 0 1px ${p})`,opacity:.08}}),S.jsx(Y.Box,{sx:{p:1,height:"100%",display:"flex",flexDirection:"column"},children:S.jsxs(Y.Box,{sx:{display:"flex",flexDirection:"column",justifyContent:"space-between",height:"100%"},children:[S.jsx(dr,{course:e}),S.jsxs(Y.Box,{sx:{width:"100%",display:"flex",justifyContent:"space-between",alignItems:"center",mt:"auto"},children:[S.jsx(Ys,{course:e,displayMode:a,hasUpcomingEvents:g}),S.jsx(tu,{course:e,courseColor:p,isTeacher:d,showEnrollmentOpen:h,onSettingsClick:v,onEnroll:$=>{$.stopPropagation(),t("EnrollInCourse")},onTeacherEnroll:T})]})]})})]})},nu=()=>{const{code:e}=B.useParams(),a=B.useNavigate(),{courses:o,currentCourse:t}=Te(),n=o.filter(i=>i.code===e),r=i=>{a(`${i.instance}`)};return S.jsxs(Y.Box,{sx:{p:3,display:"flex",flexDirection:"column",gap:2},children:[S.jsx(B.CenteredHeading,{heading:"Course Instances",subheading:"Below are all the instances of the selected course. Select an instance to view its content."}),n.map(i=>S.jsx(mn,{course:i,isSelected:(t==null?void 0:t.id)===i.id,displayMode:"course",onClick:r},i.id))," "]})},ru=()=>{const{instance:e,code:a}=B.useParams(),{fetchState:o,courses:t,setCurrentCourse:n}=Te(),{addNotificationData:r}=B.useNotificationStore(),i=B.useNavigate();return ne.useEffect(()=>{if(o==="loading"||!t.length)return;const s=t.find(u=>u.code===a&&u.instance===e);s?n(s):(r({type:"error",message:"Course Instance not found"}),i("/"+a))},[e,a,t,o,n,r,i]),o==="loading"?S.jsx(B.LoadingScreen,{}):S.jsx(B.Outlet,{})},iu=({item:e,onToggleService:a,isUsed:o})=>{var s;const t=Y.useTheme(),n=B.useNavigate(),r=e.iconFC,i=e.icon?e.icon:r?S.jsx(r,{fontSize:"large"}):null;return S.jsxs(Y.Card,{"data-testid":"tool-card",sx:{position:"relative",height:"auto",cursor:"pointer",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"stretch",transition:"all 0.2s ease-in-out",transform:"scale(1)",bgcolor:"background.paper","&:hover":{transform:"scale(1.02)",boxShadow:t.shadows[8],bgcolor:u=>u.palette.primary.main+"20",color:"primary.main"},"&:hover .toggle-button":{display:"inline-flex"}},children:[S.jsx(Y.CardActionArea,{sx:{height:"100%",display:"flex",flexDirection:"column",justifyContent:"top"},onClick:()=>n(e.segment),children:S.jsxs(Y.CardContent,{sx:{display:"flex",flexDirection:"column",alignItems:"center",gap:2,p:3,maxWidth:300,flex:1},children:[S.jsx(Y.Box,{sx:{color:"inherit"},children:i}),S.jsx(Y.Typography,{variant:"h6",children:e.title}),S.jsx(Y.Typography,{variant:"body2",color:"text.secondary",align:"center",children:(s=e.metadata)==null?void 0:s.description})]})}),a&&S.jsx(Y.Tooltip,{title:o?"Remove":"Add",arrow:!0,children:S.jsx(Y.Button,{className:"toggle-button",sx:{display:"none",position:"absolute",top:8,right:8,minWidth:32,padding:0,fontSize:"1.25rem"},onClick:()=>a(e.segment),children:o?"-":"+"})})]})},go=({show:e,onToggleService:a,navItems:o,roleCheck:t,isUsed:n})=>{var i,s;const{currentCourse:r}=Te();return S.jsx(Y.Box,{sx:{p:3},"data-testid":"tool-selector",children:S.jsx(Y.Fade,{in:e,timeout:500,children:S.jsx(Y.Box,{children:S.jsxs(Y.Box,{sx:{display:"flex",flexDirection:"row",flexWrap:"wrap",alignItems:"stretch",justifyContent:"center",height:"fit-content",width:"100%",gap:4},children:[o.length===0&&S.jsxs(Y.Box,{sx:{display:"flex",justifyContent:"center",alignItems:"center",flexDirection:"column",width:"100%",height:"100%",color:"text.secondary"},children:[S.jsxs(Y.Typography,{variant:"h5",sx:{mb:4},children:["No tools available ",t?"for your role":""]}),t&&((s=(i=r==null?void 0:r.data)==null?void 0:i.myData)==null?void 0:s.role)==="student"&&S.jsx(Y.Typography,{variant:"body1",sx:{mb:4},children:"Please let your teacher know if you need access to any tools."})]}),o.map(u=>{var p,d,m,h;return!t||t&&((h=(p=u.metadata)==null?void 0:p.forRoles)!=null&&h.includes(((m=(d=r==null?void 0:r.data)==null?void 0:d.myData)==null?void 0:m.role)||""))?S.jsx(iu,{item:u,onToggleService:a,isUsed:n},u.segment):null})]})})})})},su=()=>{const{currentCourse:e,updateStateCourse:a}=Te(),{addNotificationData:o}=B.useNotificationStore(),[t,n]=ne.useState((e==null?void 0:e.ltiLoginUrl)||""),[r,i]=ne.useState(!1),s=async u=>{if(u.preventDefault(),!e)return;const p=t.trim();if(!p){o({type:"error",message:"Please provide a valid URL"});return}i(!0);try{if((await a({...e,ltiLoginUrl:p})).ltiLoginUrl===p)o({type:"success",message:"LTI Login URL updated successfully."});else throw new Error("Failed to verify update")}catch(d){console.error("Failed to update LTI Login URL:",d),o({type:"error",message:"Failed to update LTI Login URL. Please try again."})}finally{i(!1)}};return S.jsxs(Y.Paper,{elevation:3,sx:{p:3,mt:4,mx:"auto",maxWidth:600,borderRadius:2,backgroundColor:"background.paper"},children:[S.jsx(Y.Typography,{variant:"h6",color:"primary",gutterBottom:!0,sx:{mb:2},children:"Update LTI Login URL"}),S.jsx(Y.Typography,{variant:"body2",color:"text.secondary",sx:{mb:3},children:"Please provide the LTI Login URL for this course. Students will be redirected to this URL when they need to authenticate."}),S.jsxs("form",{onSubmit:s,children:[S.jsx(Y.TextField,{label:"LTI Login URL",variant:"outlined",fullWidth:!0,required:!0,value:t,onChange:u=>n(u.target.value),sx:{mb:3,"& .MuiOutlinedInput-root":{"&:hover fieldset":{borderColor:"primary.main"}}},helperText:"The URL where students will be redirected for LTI authentication"}),S.jsx(Y.Box,{sx:{display:"flex",justifyContent:"flex-end"},children:S.jsx(Y.Button,{type:"submit",variant:"contained",color:"primary",disabled:r,sx:{px:4,py:1,textTransform:"none",fontWeight:500},children:r?"Updating...":"Update URL"})})]})]})},uu=({microservices:e})=>{var T,P;const{instance:a,code:o}=B.useParams(),{updateStateCourse:t,currentCourse:n}=Te(),{addNotificationData:r}=B.useNotificationStore(),[i,s]=ne.useState(!0),{allCourseMicroserviceNavigation:u}=So(),[p,d]=ne.useState(e);ne.useEffect(()=>{!e&&o&&u?d(u):e&&d(e)},[e,o,a,u]);const[m,h]=ne.useState([]),[g,f]=ne.useState([]);ne.useEffect(()=>{if(o&&a&&p){const _=p.filter(y=>{var w;return(w=n==null?void 0:n.services)==null?void 0:w.includes(y.segment)});h(_);const b=p.filter(y=>{var w;return!((w=n==null?void 0:n.services)!=null&&w.includes(y.segment))});f(b)}},[o,a,p,n]),ne.useEffect(()=>{s(!1);const _=setTimeout(()=>s(!0),300);return()=>clearTimeout(_)},[n]);const c=((P=(T=n==null?void 0:n.data)==null?void 0:T.myData)==null?void 0:P.role)==="teacher";ne.useEffect(()=>{n&&c&&!n.ltiLoginUrl&&r({type:"info",message:"The LTI Login URL is missing for this course."})},[n,c,r]);const v=async(_,b)=>{var z;if(!n)return;const y=b?((z=n.services)==null?void 0:z.filter(L=>L!==_))||[]:[...n.services||[],_],w={...n,services:y};await t(w)};return o?S.jsxs(S.Fragment,{children:[c&&!(n!=null&&n.ltiLoginUrl)&&S.jsx(su,{}),c?S.jsxs(S.Fragment,{children:[S.jsx(B.CenteredHeading,{heading:"Enabled Tools",subheading:"These tools are currently enabled for this course. Click on a tool to visit its page."}),S.jsx(go,{show:i,title:"Enabled Tools",navItems:m,roleCheck:!0,onToggleService:_=>v(_,!0),isUsed:!0}),S.jsx(B.CenteredHeading,{heading:"Available Tools",subheading:"These tools are available for this course. Click on a tool to enable it."}),S.jsx(go,{show:i,title:"Available Tools",navItems:g,roleCheck:!0,onToggleService:_=>v(_,!1),isUsed:!1})]}):S.jsxs(S.Fragment,{children:[S.jsx(B.CenteredHeading,{heading:"Course Tools",subheading:"These tools are available for this course. Click on a tool to visit its page."}),S.jsx(go,{show:i,title:n!=null&&n.title?`${n.title} - Tools`:"Course Tools",navItems:m,roleCheck:!0})]})]}):S.jsx("h1",{children:"No course selected!"})},ko=({children:e})=>S.jsx(S.Fragment,{children:e}),cu=()=>{const{allCourseMicroserviceNavigation:e}=So();return fetch("http://127.0.0.1:7244/ingest/c66c732d-3054-49ac-a9c8-4251e2d751a6",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({location:"useCourseRoutes.tsx:29",message:"useCourseRoutes called",data:{navCount:e.length,navSegments:e.map(a=>a.segment)},timestamp:Date.now(),sessionId:"debug-session",runId:"run1",hypothesisId:"A"})}).catch(()=>{}),ne.useMemo(()=>{var o,t;const a=[];return fetch("http://127.0.0.1:7244/ingest/c66c732d-3054-49ac-a9c8-4251e2d751a6",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({location:"useCourseRoutes.tsx:33",message:"Building routes",data:{navCount:e.length,hasChildren:e.some(n=>{var r;return(r=n.children)==null?void 0:r.length})},timestamp:Date.now(),sessionId:"debug-session",runId:"run1",hypothesisId:"B"})}).catch(()=>{}),a.push(S.jsxs(B.Route,{path:":code",element:S.jsx(pr,{}),children:[S.jsx(B.Route,{index:!0,element:S.jsx(nu,{})}),S.jsxs(B.Route,{path:":instance",element:S.jsx(ru,{}),children:[S.jsx(B.Route,{index:!0,element:S.jsx(uu,{microservices:e})}),e.map(n=>{var r,i,s;return fetch("http://127.0.0.1:7244/ingest/c66c732d-3054-49ac-a9c8-4251e2d751a6",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({location:"useCourseRoutes.tsx:45",message:"Mapping nav route",data:{segment:n.segment,hasChildren:!!n.children,childrenCount:(r=n.children)==null?void 0:r.length,childSegments:(i=n.children)==null?void 0:i.map(u=>u.segment)},timestamp:Date.now(),sessionId:"debug-session",runId:"run1",hypothesisId:"C"})}).catch(()=>{}),S.jsxs(B.Route,{path:n.segment,children:[S.jsx(B.Route,{index:!0,element:S.jsxs(ko,{title:n.title,showTitle:n.showTitle,children:[n.children&&n.children.length>0&&S.jsx(B.MicroserviceSubsections,{children:n.children}),n.view&&S.jsx(n.view,{})]})}),(s=n.children)==null?void 0:s.map(u=>{var p,d,m;return fetch("http://127.0.0.1:7244/ingest/c66c732d-3054-49ac-a9c8-4251e2d751a6",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({location:"useCourseRoutes.tsx:60",message:"Mapping child route",data:{parentSegment:n.segment,childSegment:u.segment,hasSubChildren:!!u.children,subChildrenCount:(p=u.children)==null?void 0:p.length,subChildSegments:(d=u.children)==null?void 0:d.map(h=>h.segment)},timestamp:Date.now(),sessionId:"debug-session",runId:"run1",hypothesisId:"D"})}).catch(()=>{}),S.jsxs(B.Route,{path:u.segment,children:[S.jsx(B.Route,{index:!0,element:S.jsxs(ko,{title:u.title,showTitle:u.showTitle,children:[u.children&&u.children.length>0&&S.jsx(B.MicroserviceSubsections,{children:u.children}),u.view&&S.jsx(u.view,{})]})}),(m=u.children)==null?void 0:m.map(h=>S.jsx(B.Route,{path:h.segment,element:S.jsx(ko,{title:h.title,showTitle:h.showTitle,children:h.view?S.jsx(h.view,{}):null})},h.segment))]},u.segment)})]},n.segment)})]})]},"course-routes")),fetch("http://127.0.0.1:7244/ingest/c66c732d-3054-49ac-a9c8-4251e2d751a6",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({location:"useCourseRoutes.tsx:102",message:"Routes built",data:{routeCount:a.length,firstRoutePath:(t=(o=a[0])==null?void 0:o.props)==null?void 0:t.path},timestamp:Date.now(),sessionId:"debug-session",runId:"run1",hypothesisId:"E"})}).catch(()=>{}),a},[e])},lu=()=>{const e=cu();return fetch("http://127.0.0.1:7244/ingest/c66c732d-3054-49ac-a9c8-4251e2d751a6",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({location:"CourseRoutesProvider.tsx:17",message:"CourseRoutesProvider render",data:{routeCount:e.length},timestamp:Date.now(),sessionId:"debug-session",runId:"run1",hypothesisId:"F"})}).catch(()=>{}),ne.useEffect(()=>(fetch("http://127.0.0.1:7244/ingest/c66c732d-3054-49ac-a9c8-4251e2d751a6",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({location:"CourseRoutesProvider.tsx:20",message:"Registering route provider",data:{routeCount:e.length},timestamp:Date.now(),sessionId:"debug-session",runId:"run1",hypothesisId:"G"})}).catch(()=>{}),B.registerRouteProvider("course-routes",()=>e),()=>{B.unregisterRouteProvider("course-routes")}),[e]),null},mu=(e,a)=>{const o=t=>S.jsx(Y.SvgIcon,{...t,sx:{backgroundColor:e,borderRadius:"50%",display:"flex",alignItems:"center",justifyContent:"center","& image":{transform:"scale(1)"}},viewBox:"0 0 24 24",children:S.jsx("image",{href:a.icon,width:"20",height:"20",x:"2",y:"2",preserveAspectRatio:"xMidYMid meet"})});return o.muiName="SvgIcon",o},pu=e=>{var i;const a=e.code.split(".")[0],o=$a[a]||$a["COMP.CS"],t=((i=e.studyModule)==null?void 0:i.level)||"basic",n=o.levelShades[t],r=mu(n,o);return{segment:e.code,title:e.code.toUpperCase(),Icon:r,instances:[e.instance],description:e.description,microservices:e.services}},du=()=>{const{learningCourses:e,learningCoursesOld:a,teachingCourses:o,teachingCoursesOld:t,availableCourses:n}=Te(),r=ne.useMemo(()=>[{courses:e,header:"Courses"},{courses:a,header:"Courses (Old)"},{courses:o,header:"Teaching Courses"},{courses:t,header:"Teaching Courses (Old)"},{courses:n,header:"Available Courses"}].filter(({courses:s})=>s&&s.length>0).map(({courses:s,header:u})=>({underHeader:u,pages:s.map(pu)})),[e,a,o,t,n]);return S.jsx(B.NavigationSectionBuilder,{sections:r})},hu=()=>{const{learningCourses:e}=Te();return ne.useEffect(()=>{if(e&&e.length>0){const a=[];e.forEach(o=>{Object.entries(o.events||{}).forEach(([t,n])=>{n.forEach(r=>{var i,s;a.push({id:r.id||`${o.code}-${t}-${Math.random()}`,title:r.title||`${o.title} - ${t}`,start:r.startTime,end:r.endTime||r.startTime,metadata:{source:"courses",courseCode:o.code,courseTitle:o.title,subject:((i=o.code)==null?void 0:i.split(".")[0])||"UNKNOWN",courseLevel:((s=o.studyModule)==null?void 0:s.level)||"basic",type:t,description:r.description,location:r.location}})})})}),B.eventBus.publish("courses",a)}else B.eventBus.removeSource("courses")},[e]),null},fu=({displayMode:e="instance",containerHeight:a="100%"})=>{const{currentCourse:o,learningCourses:t,learningCoursesOld:n,teachingCourses:r,teachingCoursesOld:i,availableCourses:s}=Te(),u=B.useNavigate(),{visibleSections:p}=B.useNavigationStore(),d=200,m=300,h=p.Courses===!0,g=p["Courses (Old)"]===!0,f=p["Teaching Courses"]===!0,c=p["Teaching Courses (Old)"]===!0,v=p["Available Courses"]===!0,T=_=>{u(`/${_.code}/${_.instance}`)},P=(_,b,y)=>S.jsx(B.Scroller,{direction:"horizontal",itemSize:m,containerSize:d,title:_,priority:y,children:b.map(w=>S.jsx(mn,{onClick:T,course:w,isSelected:(o==null?void 0:o.id)===w.id,displayMode:e},w.id))});return S.jsx(Y.Box,{sx:{width:"100%",height:a},children:S.jsxs(B.Scroller,{direction:"vertical",itemSize:d,containerSize:a,children:[h&&t.length>0&&P("My Enrolled Courses",t,"high"),g&&n.length>0&&P("My Completed Courses",n,"low"),f&&r.length>0&&P("My Teaching Courses",r,"low"),c&&i.length>0&&P("My Past Teaching",i,"low"),v&&s.length>0&&P("Available Courses",s,"low")]})})},gu=()=>{fetch("http://127.0.0.1:7244/ingest/c66c732d-3054-49ac-a9c8-4251e2d751a6",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({location:"CourseManager.tsx:11",message:"CourseManager render - about to call useLocation",data:{timestamp:Date.now()},timestamp:Date.now(),sessionId:"debug-session",runId:"run1",hypothesisId:"M"})}).catch(()=>{});let e;try{e=B.useLocation(),fetch("http://127.0.0.1:7244/ingest/c66c732d-3054-49ac-a9c8-4251e2d751a6",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({location:"CourseManager.tsx:15",message:"useLocation succeeded",data:{pathname:e==null?void 0:e.pathname},timestamp:Date.now(),sessionId:"debug-session",runId:"run1",hypothesisId:"N"})}).catch(()=>{})}catch(h){fetch("http://127.0.0.1:7244/ingest/c66c732d-3054-49ac-a9c8-4251e2d751a6",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({location:"CourseManager.tsx:18",message:"useLocation failed",data:{error:h instanceof Error?h.message:String(h),errorName:h instanceof Error?h.name:"Unknown"},timestamp:Date.now(),sessionId:"debug-session",runId:"run1",hypothesisId:"O"})}).catch(()=>{}),e={pathname:typeof window<"u"?window.location.pathname:"/",search:"",hash:"",state:null,key:"default"}}const{getCourses:a,setCurrentCourseUrl:o,getCourseByUrl:t,courses:n,currentCourse:r,currentCourseCode:i,setCurrentCourse:s,setCurrentCourseCode:u,setCurrentCourseUrl:p}=Te(),{registerGridItem:d,unregisterGridItem:m}=B.useGridItemContext();return B.useRetry({action:a,condition:n.length<1,successMessage:"Courses fetched successfully",errorMessage:"Failed to fetch courses, retrying..."}),ne.useEffect(()=>{const h=async g=>{const{url:f}=g.data;if(f){o(f);try{await t(f)}catch(c){console.error("Failed to fetch course by URL:",c)}}};return window.addEventListener("message",h),()=>window.removeEventListener("message",h)},[t,o]),ne.useEffect(()=>{e.pathname==="/"&&(r||i)&&(s(null),u(null),p(""))},[e.pathname,r,i,s,u,p]),ne.useEffect(()=>{const h=B.createGridItem({id:"course-list",x:0,y:0,w:15,h:1,minW:1,minH:1,maxW:15,maxH:15});return d("course-list",S.jsx(fu,{displayMode:"instance",containerHeight:"100%"}),h),()=>{m("course-list")}},[d,m]),S.jsxs(S.Fragment,{children:[S.jsx(du,{}),S.jsx(hu,{})]})},ku=({children:e})=>S.jsxs(Hn,{children:[S.jsx(gu,{}),e,S.jsx(lu,{})]});var yu=/(%?)(%([sdijo]))/g;function bu(e,a){switch(a){case"s":return e;case"d":case"i":return Number(e);case"j":return JSON.stringify(e);case"o":{if(typeof e=="string")return e;const o=JSON.stringify(e);return o==="{}"||o==="[]"||/^\[object .+?\]$/.test(o)?e:o}}}function Po(e,...a){if(a.length===0)return e;let o=0,t=e.replace(yu,(n,r,i,s)=>{const u=a[o],p=bu(u,s);return r?n:(o++,p)});return o<a.length&&(t+=` ${a.slice(o).join(" ")}`),t=t.replace(/%{2,2}/g,"%"),t}var ju=2;function vu(e){if(!e.stack)return;const a=e.stack.split(`
128
+ `);a.splice(1,ju),e.stack=a.join(`
129
+ `)}var wu=class extends Error{constructor(e,...a){super(e),this.message=e,this.name="Invariant Violation",this.message=Po(e,...a),vu(this)}},$o=(e,a,...o)=>{if(!e)throw new wu(a,...o)};$o.as=(e,a,o,...t)=>{if(!a){const n=t.length===0?o:Po(o,...t);let r;try{r=Reflect.construct(e,[n])}catch{r=e(n)}throw r}};const xu="[MSW]";function Do(e,...a){const o=Po(e,...a);return`${xu} ${o}`}function Cu(e,...a){console.warn(Do(e,...a))}function Eu(e,...a){console.error(Do(e,...a))}const Co={formatMessage:Do,warn:Cu,error:Eu};function Su(){$o(typeof URL<"u",Co.formatMessage(`Global "URL" class is not defined. This likely means that you're running MSW in an environment that doesn't support all Node.js standard API (e.g. React Native). If that's the case, please use an appropriate polyfill for the "URL" class, like "react-native-url-polyfill".`))}const zu=/[\/\\]msw[\/\\]src[\/\\](.+)/,Tu=/(node_modules)?[\/\\]lib[\/\\](core|browser|node|native|iife)[\/\\]|^[^\/\\]*$/;function Ou(e){const a=e.stack;if(!a)return;const t=a.split(`
130
+ `).slice(1).find(r=>!(zu.test(r)||Tu.test(r)));return t?t.replace(/\s*at [^()]*\(([^)]+)\)/,"$1").replace(/^@/,""):void 0}function _u(e){return e?Reflect.has(e,Symbol.iterator)||Reflect.has(e,Symbol.asyncIterator):!1}const ya=class ya{constructor(a){Se(this,"__kind");Se(this,"info");Se(this,"isUsed");Se(this,"resolver");Se(this,"resolverIterator");Se(this,"resolverIteratorResult");Se(this,"options");this.resolver=a.resolver,this.options=a.options;const o=Ou(new Error);this.info={...a.info,callFrame:o},this.isUsed=!1,this.__kind="RequestHandler"}async parse(a){return{}}async test(a){const o=await this.parse({request:a.request,resolutionContext:a.resolutionContext});return this.predicate({request:a.request,parsedResult:o,resolutionContext:a.resolutionContext})}extendResolverArgs(a){return{}}cloneRequestOrGetFromCache(a){const o=ya.cache.get(a);if(typeof o<"u")return o;const t=a.clone();return ya.cache.set(a,t),t}async run(a){var d,m;if(this.isUsed&&((d=this.options)!=null&&d.once))return null;const o=this.cloneRequestOrGetFromCache(a.request),t=await this.parse({request:a.request,resolutionContext:a.resolutionContext});if(!this.predicate({request:a.request,parsedResult:t,resolutionContext:a.resolutionContext})||this.isUsed&&((m=this.options)!=null&&m.once))return null;this.isUsed=!0;const r=this.wrapResolver(this.resolver),i=this.extendResolverArgs({request:a.request,parsedResult:t}),u=await r({...i,requestId:a.requestId,request:a.request}).catch(h=>{if(h instanceof Response)return h;throw h});return this.createExecutionResult({request:o,requestId:a.requestId,response:u,parsedResult:t})}wrapResolver(a){return async o=>{var i;if(!this.resolverIterator){const s=await a(o);if(!_u(s))return s;this.resolverIterator=Symbol.iterator in s?s[Symbol.iterator]():s[Symbol.asyncIterator]()}this.isUsed=!1;const{done:t,value:n}=await this.resolverIterator.next(),r=await n;return r&&(this.resolverIteratorResult=r.clone()),t?(this.isUsed=!0,(i=this.resolverIteratorResult)==null?void 0:i.clone()):r}}createExecutionResult(a){return{handler:this,request:a.request,requestId:a.requestId,response:a.response,parsedResult:a.parsedResult}}};Se(ya,"cache",new WeakMap);let Eo=ya;function Au(e,a){return e.toLowerCase()===a.toLowerCase()}function Ru(e){return e<300?"#69AB32":e<400?"#F0BB4B":"#E95F5D"}function Iu(e){const a=new Date;return`${a.getHours().toString().padStart(2,"0")}:${a.getMinutes().toString().padStart(2,"0")}:${a.getSeconds().toString().padStart(2,"0")}`}async function Pu(e){const o=await e.clone().text();return{url:new URL(e.url),method:e.method,headers:Object.fromEntries(e.headers.entries()),body:o}}var $u=Object.create,pn=Object.defineProperty,Du=Object.getOwnPropertyDescriptor,dn=Object.getOwnPropertyNames,Fu=Object.getPrototypeOf,Nu=Object.prototype.hasOwnProperty,hn=(e,a)=>function(){return a||(0,e[dn(e)[0]])((a={exports:{}}).exports,a),a.exports},Lu=(e,a,o,t)=>{if(a&&typeof a=="object"||typeof a=="function")for(let n of dn(a))!Nu.call(e,n)&&n!==o&&pn(e,n,{get:()=>a[n],enumerable:!(t=Du(a,n))||t.enumerable});return e},Mu=(e,a,o)=>(o=e!=null?$u(Fu(e)):{},Lu(pn(o,"default",{value:e,enumerable:!0}),e)),Bu=hn({"node_modules/statuses/codes.json"(e,a){a.exports={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a Teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"}}}),Uu=hn({"node_modules/statuses/index.js"(e,a){var o=Bu();a.exports=s,s.message=o,s.code=t(o),s.codes=n(o),s.redirect={300:!0,301:!0,302:!0,303:!0,305:!0,307:!0,308:!0},s.empty={204:!0,205:!0,304:!0},s.retry={502:!0,503:!0,504:!0};function t(u){var p={};return Object.keys(u).forEach(function(m){var h=u[m],g=Number(m);p[h.toLowerCase()]=g}),p}function n(u){return Object.keys(u).map(function(d){return Number(d)})}function r(u){var p=u.toLowerCase();if(!Object.prototype.hasOwnProperty.call(s.code,p))throw new Error('invalid status message: "'+u+'"');return s.code[p]}function i(u){if(!Object.prototype.hasOwnProperty.call(s.message,u))throw new Error("invalid status code: "+u);return s.message[u]}function s(u){if(typeof u=="number")return i(u);if(typeof u!="string")throw new TypeError("code must be a number or string");var p=parseInt(u,10);return isNaN(p)?r(u):i(p)}}}),qu=Mu(Uu()),fn=qu.default;/*! Bundled license information:
131
+
132
+ statuses/index.js:
133
+ (*!
134
+ * statuses
135
+ * Copyright(c) 2014 Jonathan Ong
136
+ * Copyright(c) 2016 Douglas Christopher Wilson
137
+ * MIT Licensed
138
+ *)
139
+ */const{message:Vu}=fn;async function Wu(e){const a=e.clone(),o=await a.text(),t=a.status||200,n=a.statusText||Vu[t]||"OK";return{status:t,statusText:n,headers:Object.fromEntries(a.headers.entries()),body:o}}function Hu(e){for(var a=[],o=0;o<e.length;){var t=e[o];if(t==="*"||t==="+"||t==="?"){a.push({type:"MODIFIER",index:o,value:e[o++]});continue}if(t==="\\"){a.push({type:"ESCAPED_CHAR",index:o++,value:e[o++]});continue}if(t==="{"){a.push({type:"OPEN",index:o,value:e[o++]});continue}if(t==="}"){a.push({type:"CLOSE",index:o,value:e[o++]});continue}if(t===":"){for(var n="",r=o+1;r<e.length;){var i=e.charCodeAt(r);if(i>=48&&i<=57||i>=65&&i<=90||i>=97&&i<=122||i===95){n+=e[r++];continue}break}if(!n)throw new TypeError("Missing parameter name at ".concat(o));a.push({type:"NAME",index:o,value:n}),o=r;continue}if(t==="("){var s=1,u="",r=o+1;if(e[r]==="?")throw new TypeError('Pattern cannot start with "?" at '.concat(r));for(;r<e.length;){if(e[r]==="\\"){u+=e[r++]+e[r++];continue}if(e[r]===")"){if(s--,s===0){r++;break}}else if(e[r]==="("&&(s++,e[r+1]!=="?"))throw new TypeError("Capturing groups are not allowed at ".concat(r));u+=e[r++]}if(s)throw new TypeError("Unbalanced pattern at ".concat(o));if(!u)throw new TypeError("Missing pattern at ".concat(o));a.push({type:"PATTERN",index:o,value:u}),o=r;continue}a.push({type:"CHAR",index:o,value:e[o++]})}return a.push({type:"END",index:o,value:""}),a}function Gu(e,a){a===void 0&&(a={});for(var o=Hu(e),t=a.prefixes,n=t===void 0?"./":t,r=a.delimiter,i=r===void 0?"/#?":r,s=[],u=0,p=0,d="",m=function($){if(p<o.length&&o[p].type===$)return o[p++].value},h=function($){var H=m($);if(H!==void 0)return H;var U=o[p],l=U.type,M=U.index;throw new TypeError("Unexpected ".concat(l," at ").concat(M,", expected ").concat($))},g=function(){for(var $="",H;H=m("CHAR")||m("ESCAPED_CHAR");)$+=H;return $},f=function($){for(var H=0,U=i;H<U.length;H++){var l=U[H];if($.indexOf(l)>-1)return!0}return!1},c=function($){var H=s[s.length-1],U=$||(H&&typeof H=="string"?H:"");if(H&&!U)throw new TypeError('Must have text between two parameters, missing text after "'.concat(H.name,'"'));return!U||f(U)?"[^".concat(Me(i),"]+?"):"(?:(?!".concat(Me(U),")[^").concat(Me(i),"])+?")};p<o.length;){var v=m("CHAR"),T=m("NAME"),P=m("PATTERN");if(T||P){var _=v||"";n.indexOf(_)===-1&&(d+=_,_=""),d&&(s.push(d),d=""),s.push({name:T||u++,prefix:_,suffix:"",pattern:P||c(_),modifier:m("MODIFIER")||""});continue}var b=v||m("ESCAPED_CHAR");if(b){d+=b;continue}d&&(s.push(d),d="");var y=m("OPEN");if(y){var _=g(),w=m("NAME")||"",z=m("PATTERN")||"",L=g();h("CLOSE"),s.push({name:w||(z?u++:""),pattern:w&&!z?c(_):z,prefix:_,suffix:L,modifier:m("MODIFIER")||""});continue}h("END")}return s}function Yu(e,a){var o=[],t=kn(e,o,a);return Ku(t,o,a)}function Ku(e,a,o){o===void 0&&(o={});var t=o.decode,n=t===void 0?function(r){return r}:t;return function(r){var i=e.exec(r);if(!i)return!1;for(var s=i[0],u=i.index,p=Object.create(null),d=function(h){if(i[h]===void 0)return"continue";var g=a[h-1];g.modifier==="*"||g.modifier==="+"?p[g.name]=i[h].split(g.prefix+g.suffix).map(function(f){return n(f,g)}):p[g.name]=n(i[h],g)},m=1;m<i.length;m++)d(m);return{path:s,index:u,params:p}}}function Me(e){return e.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}function gn(e){return e&&e.sensitive?"":"i"}function Ju(e,a){if(!a)return e;for(var o=/\((?:\?<(.*?)>)?(?!\?)/g,t=0,n=o.exec(e.source);n;)a.push({name:n[1]||t++,prefix:"",suffix:"",modifier:"",pattern:""}),n=o.exec(e.source);return e}function Xu(e,a,o){var t=e.map(function(n){return kn(n,a,o).source});return new RegExp("(?:".concat(t.join("|"),")"),gn(o))}function Qu(e,a,o){return Zu(Gu(e,o),a,o)}function Zu(e,a,o){o===void 0&&(o={});for(var t=o.strict,n=t===void 0?!1:t,r=o.start,i=r===void 0?!0:r,s=o.end,u=s===void 0?!0:s,p=o.encode,d=p===void 0?function(H){return H}:p,m=o.delimiter,h=m===void 0?"/#?":m,g=o.endsWith,f=g===void 0?"":g,c="[".concat(Me(f),"]|$"),v="[".concat(Me(h),"]"),T=i?"^":"",P=0,_=e;P<_.length;P++){var b=_[P];if(typeof b=="string")T+=Me(d(b));else{var y=Me(d(b.prefix)),w=Me(d(b.suffix));if(b.pattern)if(a&&a.push(b),y||w)if(b.modifier==="+"||b.modifier==="*"){var z=b.modifier==="*"?"?":"";T+="(?:".concat(y,"((?:").concat(b.pattern,")(?:").concat(w).concat(y,"(?:").concat(b.pattern,"))*)").concat(w,")").concat(z)}else T+="(?:".concat(y,"(").concat(b.pattern,")").concat(w,")").concat(b.modifier);else{if(b.modifier==="+"||b.modifier==="*")throw new TypeError('Can not repeat "'.concat(b.name,'" without a prefix and suffix'));T+="(".concat(b.pattern,")").concat(b.modifier)}else T+="(?:".concat(y).concat(w,")").concat(b.modifier)}}if(u)n||(T+="".concat(v,"?")),T+=o.endsWith?"(?=".concat(c,")"):"$";else{var L=e[e.length-1],$=typeof L=="string"?v.indexOf(L[L.length-1])>-1:L===void 0;n||(T+="(?:".concat(v,"(?=").concat(c,"))?")),$||(T+="(?=".concat(v,"|").concat(c,")"))}return new RegExp(T,gn(o))}function kn(e,a,o){return e instanceof RegExp?Ju(e,a):Array.isArray(e)?Xu(e,a,o):Qu(e,a,o)}new TextEncoder;var ra=class extends Response{static isConfigurableStatusCode(e){return e>=200&&e<=599}static isRedirectResponse(e){return ra.STATUS_CODES_WITH_REDIRECT.includes(e)}static isResponseWithBody(e){return!ra.STATUS_CODES_WITHOUT_BODY.includes(e)}static setUrl(e,a){e&&a.url==""&&Object.defineProperty(a,"url",{value:e,enumerable:!0,configurable:!0,writable:!1})}static parseRawHeaders(e){const a=new Headers;for(let o=0;o<e.length;o+=2)a.append(e[o],e[o+1]);return a}constructor(e,a={}){var o;const t=(o=a.status)!=null?o:200,n=ra.isConfigurableStatusCode(t)?t:200,r=ra.isResponseWithBody(t)?e:null;if(super(r,{...a,status:n}),t!==n){const i=Object.getOwnPropertySymbols(this).find(s=>s.description==="state");if(i){const s=Reflect.get(this,i);Reflect.set(s,"status",t)}else Object.defineProperty(this,"status",{value:t,enumerable:!0,configurable:!0,writable:!1})}ra.setUrl(a.url,this)}},Fo=ra;Fo.STATUS_CODES_WITHOUT_BODY=[101,103,204,205,304];Fo.STATUS_CODES_WITH_REDIRECT=[301,302,303,307,308];function yn(){if(typeof navigator<"u"&&navigator.product==="ReactNative")return!0;if(typeof process<"u"){const e=process.type;return e==="renderer"||e==="worker"?!1:!!(process.versions&&process.versions.node)}return!1}var ec=Object.defineProperty,ac=(e,a)=>{for(var o in a)ec(e,o,{get:a[o],enumerable:!0})},oc={};ac(oc,{blue:()=>nc,gray:()=>rc,green:()=>sc,red:()=>ic,yellow:()=>tc});function tc(e){return`\x1B[33m${e}\x1B[0m`}function nc(e){return`\x1B[34m${e}\x1B[0m`}function rc(e){return`\x1B[90m${e}\x1B[0m`}function ic(e){return`\x1B[31m${e}\x1B[0m`}function sc(e){return`\x1B[32m${e}\x1B[0m`}yn();function uc(e,a=!0){return[a&&e.origin,e.pathname].filter(Boolean).join("")}const cc=/[\?|#].*$/g;function lc(e){return new URL(`/${e}`,"http://localhost").searchParams}function bn(e){return e.endsWith("?")?e:e.replace(cc,"")}function mc(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}function pc(e,a){if(mc(e)||e.startsWith("*"))return e;const o=a||typeof document<"u"&&document.baseURI;return o?decodeURI(new URL(encodeURI(e),o).href):e}function dc(e,a){if(e instanceof RegExp)return e;const o=pc(e,a);return bn(o)}function hc(e){return e.replace(/([:a-zA-Z_-]*)(\*{1,2})+/g,(a,o,t)=>{const n="(.*)";return o?o.startsWith(":")?`${o}${t}`:`${o}${n}`:n}).replace(/([^\/])(:)(?=\d+)/,"$1\\$2").replace(/^([^\/]+)(:)(?=\/\/)/,"$1\\$2")}function fc(e,a,o){const t=dc(a,o),n=typeof t=="string"?hc(t):t,r=uc(e),i=Yu(n,{decode:decodeURIComponent})(r),s=i&&i.params||{};return{matches:i!==!1,params:s}}function gc(e){if(typeof location>"u")return e.toString();const a=e instanceof URL?e:new URL(e);return a.origin===location.origin?a.pathname:a.origin+a.pathname}var kc=Object.create,jn=Object.defineProperty,yc=Object.getOwnPropertyDescriptor,vn=Object.getOwnPropertyNames,bc=Object.getPrototypeOf,jc=Object.prototype.hasOwnProperty,vc=(e,a)=>function(){return a||(0,e[vn(e)[0]])((a={exports:{}}).exports,a),a.exports},wc=(e,a,o,t)=>{if(a&&typeof a=="object"||typeof a=="function")for(let n of vn(a))!jc.call(e,n)&&n!==o&&jn(e,n,{get:()=>a[n],enumerable:!(t=yc(a,n))||t.enumerable});return e},xc=(e,a,o)=>(o=e!=null?kc(bc(e)):{},wc(jn(o,"default",{value:e,enumerable:!0}),e)),Cc=vc({"node_modules/cookie/index.js"(e){e.parse=s,e.serialize=d;var a=Object.prototype.toString,o=Object.prototype.hasOwnProperty,t=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/,n=/^("?)[\u0021\u0023-\u002B\u002D-\u003A\u003C-\u005B\u005D-\u007E]*\1$/,r=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i,i=/^[\u0020-\u003A\u003D-\u007E]*$/;function s(f,c){if(typeof f!="string")throw new TypeError("argument str must be a string");var v={},T=f.length;if(T<2)return v;var P=c&&c.decode||m,_=0,b=0,y=0;do{if(b=f.indexOf("=",_),b===-1)break;if(y=f.indexOf(";",_),y===-1)y=T;else if(b>y){_=f.lastIndexOf(";",b-1)+1;continue}var w=u(f,_,b),z=p(f,b,w),L=f.slice(w,z);if(!o.call(v,L)){var $=u(f,b+1,y),H=p(f,y,$);f.charCodeAt($)===34&&f.charCodeAt(H-1)===34&&($++,H--);var U=f.slice($,H);v[L]=g(U,P)}_=y+1}while(_<T);return v}function u(f,c,v){do{var T=f.charCodeAt(c);if(T!==32&&T!==9)return c}while(++c<v);return v}function p(f,c,v){for(;c>v;){var T=f.charCodeAt(--c);if(T!==32&&T!==9)return c+1}return v}function d(f,c,v){var T=v&&v.encode||encodeURIComponent;if(typeof T!="function")throw new TypeError("option encode is invalid");if(!t.test(f))throw new TypeError("argument name is invalid");var P=T(c);if(!n.test(P))throw new TypeError("argument val is invalid");var _=f+"="+P;if(!v)return _;if(v.maxAge!=null){var b=Math.floor(v.maxAge);if(!isFinite(b))throw new TypeError("option maxAge is invalid");_+="; Max-Age="+b}if(v.domain){if(!r.test(v.domain))throw new TypeError("option domain is invalid");_+="; Domain="+v.domain}if(v.path){if(!i.test(v.path))throw new TypeError("option path is invalid");_+="; Path="+v.path}if(v.expires){var y=v.expires;if(!h(y)||isNaN(y.valueOf()))throw new TypeError("option expires is invalid");_+="; Expires="+y.toUTCString()}if(v.httpOnly&&(_+="; HttpOnly"),v.secure&&(_+="; Secure"),v.partitioned&&(_+="; Partitioned"),v.priority){var w=typeof v.priority=="string"?v.priority.toLowerCase():v.priority;switch(w){case"low":_+="; Priority=Low";break;case"medium":_+="; Priority=Medium";break;case"high":_+="; Priority=High";break;default:throw new TypeError("option priority is invalid")}}if(v.sameSite){var z=typeof v.sameSite=="string"?v.sameSite.toLowerCase():v.sameSite;switch(z){case!0:_+="; SameSite=Strict";break;case"lax":_+="; SameSite=Lax";break;case"strict":_+="; SameSite=Strict";break;case"none":_+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return _}function m(f){return f.indexOf("%")!==-1?decodeURIComponent(f):f}function h(f){return a.call(f)==="[object Date]"}function g(f,c){try{return c(f)}catch{return f}}}}),Ec=xc(Cc()),wn=Ec.default;/*! Bundled license information:
140
+
141
+ cookie/index.js:
142
+ (*!
143
+ * cookie
144
+ * Copyright(c) 2012-2014 Roman Shtylman
145
+ * Copyright(c) 2015 Douglas Christopher Wilson
146
+ * MIT Licensed
147
+ *)
148
+ */function ta(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Sc=Object.create,xn=Object.defineProperty,zc=Object.getOwnPropertyDescriptor,Cn=Object.getOwnPropertyNames,Tc=Object.getPrototypeOf,Oc=Object.prototype.hasOwnProperty,_c=(e=>typeof ta<"u"?ta:typeof Proxy<"u"?new Proxy(e,{get:(a,o)=>(typeof ta<"u"?ta:a)[o]}):e)(function(e){if(typeof ta<"u")return ta.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')}),Ce=(e,a)=>function(){return a||(0,e[Cn(e)[0]])((a={exports:{}}).exports,a),a.exports},Ac=(e,a,o,t)=>{if(a&&typeof a=="object"||typeof a=="function")for(let n of Cn(a))!Oc.call(e,n)&&n!==o&&xn(e,n,{get:()=>a[n],enumerable:!(t=zc(a,n))||t.enumerable});return e},Rc=(e,a,o)=>(o=e!=null?Sc(Tc(e)):{},Ac(xn(o,"default",{value:e,enumerable:!0}),e)),En=Ce({"node_modules/punycode/punycode.js"(e,a){var o=2147483647,t=36,n=1,r=26,i=38,s=700,u=72,p=128,d="-",m=/^xn--/,h=/[^\0-\x7F]/,g=/[\x2E\u3002\uFF0E\uFF61]/g,f={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},c=t-n,v=Math.floor,T=String.fromCharCode;function P(C){throw new RangeError(f[C])}function _(C,N){const Z=[];let Q=C.length;for(;Q--;)Z[Q]=N(C[Q]);return Z}function b(C,N){const Z=C.split("@");let Q="";Z.length>1&&(Q=Z[0]+"@",C=Z[1]),C=C.replace(g,".");const re=C.split("."),R=_(re,N).join(".");return Q+R}function y(C){const N=[];let Z=0;const Q=C.length;for(;Z<Q;){const re=C.charCodeAt(Z++);if(re>=55296&&re<=56319&&Z<Q){const R=C.charCodeAt(Z++);(R&64512)==56320?N.push(((re&1023)<<10)+(R&1023)+65536):(N.push(re),Z--)}else N.push(re)}return N}var w=C=>String.fromCodePoint(...C),z=function(C){return C>=48&&C<58?26+(C-48):C>=65&&C<91?C-65:C>=97&&C<123?C-97:t},L=function(C,N){return C+22+75*(C<26)-((N!=0)<<5)},$=function(C,N,Z){let Q=0;for(C=Z?v(C/s):C>>1,C+=v(C/N);C>c*r>>1;Q+=t)C=v(C/c);return v(Q+(c+1)*C/(C+i))},H=function(C){const N=[],Z=C.length;let Q=0,re=p,R=u,x=C.lastIndexOf(d);x<0&&(x=0);for(let F=0;F<x;++F)C.charCodeAt(F)>=128&&P("not-basic"),N.push(C.charCodeAt(F));for(let F=x>0?x+1:0;F<Z;){const q=Q;for(let X=1,J=t;;J+=t){F>=Z&&P("invalid-input");const W=z(C.charCodeAt(F++));W>=t&&P("invalid-input"),W>v((o-Q)/X)&&P("overflow"),Q+=W*X;const G=J<=R?n:J>=R+r?r:J-R;if(W<G)break;const ae=t-G;X>v(o/ae)&&P("overflow"),X*=ae}const V=N.length+1;R=$(Q-q,V,q==0),v(Q/V)>o-re&&P("overflow"),re+=v(Q/V),Q%=V,N.splice(Q++,0,re)}return String.fromCodePoint(...N)},U=function(C){const N=[];C=y(C);const Z=C.length;let Q=p,re=0,R=u;for(const q of C)q<128&&N.push(T(q));const x=N.length;let F=x;for(x&&N.push(d);F<Z;){let q=o;for(const X of C)X>=Q&&X<q&&(q=X);const V=F+1;q-Q>v((o-re)/V)&&P("overflow"),re+=(q-Q)*V,Q=q;for(const X of C)if(X<Q&&++re>o&&P("overflow"),X===Q){let J=re;for(let W=t;;W+=t){const G=W<=R?n:W>=R+r?r:W-R;if(J<G)break;const ae=J-G,ee=t-G;N.push(T(L(G+ae%ee,0))),J=v(ae/ee)}N.push(T(L(J,0))),R=$(re,V,F===x),re=0,++F}++re,++Q}return N.join("")},l=function(C){return b(C,function(N){return m.test(N)?H(N.slice(4).toLowerCase()):N})},M=function(C){return b(C,function(N){return h.test(N)?"xn--"+U(N):N})},D={version:"2.3.1",ucs2:{decode:y,encode:w},decode:H,encode:U,toASCII:M,toUnicode:l};a.exports=D}}),Ic=Ce({"node_modules/requires-port/index.js"(e,a){a.exports=function(t,n){if(n=n.split(":")[0],t=+t,!t)return!1;switch(n){case"http":case"ws":return t!==80;case"https":case"wss":return t!==443;case"ftp":return t!==21;case"gopher":return t!==70;case"file":return!1}return t!==0}}}),Pc=Ce({"node_modules/querystringify/index.js"(e){var a=Object.prototype.hasOwnProperty,o;function t(s){try{return decodeURIComponent(s.replace(/\+/g," "))}catch{return null}}function n(s){try{return encodeURIComponent(s)}catch{return null}}function r(s){for(var u=/([^=?#&]+)=?([^&]*)/g,p={},d;d=u.exec(s);){var m=t(d[1]),h=t(d[2]);m===null||h===null||m in p||(p[m]=h)}return p}function i(s,u){u=u||"";var p=[],d,m;typeof u!="string"&&(u="?");for(m in s)if(a.call(s,m)){if(d=s[m],!d&&(d===null||d===o||isNaN(d))&&(d=""),m=n(m),d=n(d),m===null||d===null)continue;p.push(m+"="+d)}return p.length?u+p.join("&"):""}e.stringify=i,e.parse=r}}),$c=Ce({"node_modules/url-parse/index.js"(e,a){var o=Ic(),t=Pc(),n=/^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,r=/[\n\r\t]/g,i=/^[A-Za-z][A-Za-z0-9+-.]*:\/\//,s=/:\d+$/,u=/^([a-z][a-z0-9.+-]*:)?(\/\/)?([\\/]+)?([\S\s]*)/i,p=/^[a-zA-Z]:/;function d(b){return(b||"").toString().replace(n,"")}var m=[["#","hash"],["?","query"],function(y,w){return f(w.protocol)?y.replace(/\\/g,"/"):y},["/","pathname"],["@","auth",1],[NaN,"host",void 0,1,1],[/:(\d*)$/,"port",void 0,1],[NaN,"hostname",void 0,1,1]],h={hash:1,query:1};function g(b){var y;typeof window<"u"?y=window:typeof global<"u"?y=global:typeof self<"u"?y=self:y={};var w=y.location||{};b=b||w;var z={},L=typeof b,$;if(b.protocol==="blob:")z=new T(unescape(b.pathname),{});else if(L==="string"){z=new T(b,{});for($ in h)delete z[$]}else if(L==="object"){for($ in b)$ in h||(z[$]=b[$]);z.slashes===void 0&&(z.slashes=i.test(b.href))}return z}function f(b){return b==="file:"||b==="ftp:"||b==="http:"||b==="https:"||b==="ws:"||b==="wss:"}function c(b,y){b=d(b),b=b.replace(r,""),y=y||{};var w=u.exec(b),z=w[1]?w[1].toLowerCase():"",L=!!w[2],$=!!w[3],H=0,U;return L?$?(U=w[2]+w[3]+w[4],H=w[2].length+w[3].length):(U=w[2]+w[4],H=w[2].length):$?(U=w[3]+w[4],H=w[3].length):U=w[4],z==="file:"?H>=2&&(U=U.slice(2)):f(z)?U=w[4]:z?L&&(U=U.slice(2)):H>=2&&f(y.protocol)&&(U=w[4]),{protocol:z,slashes:L||f(z),slashesCount:H,rest:U}}function v(b,y){if(b==="")return y;for(var w=(y||"/").split("/").slice(0,-1).concat(b.split("/")),z=w.length,L=w[z-1],$=!1,H=0;z--;)w[z]==="."?w.splice(z,1):w[z]===".."?(w.splice(z,1),H++):H&&(z===0&&($=!0),w.splice(z,1),H--);return $&&w.unshift(""),(L==="."||L==="..")&&w.push(""),w.join("/")}function T(b,y,w){if(b=d(b),b=b.replace(r,""),!(this instanceof T))return new T(b,y,w);var z,L,$,H,U,l,M=m.slice(),D=typeof y,C=this,N=0;for(D!=="object"&&D!=="string"&&(w=y,y=null),w&&typeof w!="function"&&(w=t.parse),y=g(y),L=c(b||"",y),z=!L.protocol&&!L.slashes,C.slashes=L.slashes||z&&y.slashes,C.protocol=L.protocol||y.protocol||"",b=L.rest,(L.protocol==="file:"&&(L.slashesCount!==2||p.test(b))||!L.slashes&&(L.protocol||L.slashesCount<2||!f(C.protocol)))&&(M[3]=[/(.*)/,"pathname"]);N<M.length;N++){if(H=M[N],typeof H=="function"){b=H(b,C);continue}$=H[0],l=H[1],$!==$?C[l]=b:typeof $=="string"?(U=$==="@"?b.lastIndexOf($):b.indexOf($),~U&&(typeof H[2]=="number"?(C[l]=b.slice(0,U),b=b.slice(U+H[2])):(C[l]=b.slice(U),b=b.slice(0,U)))):(U=$.exec(b))&&(C[l]=U[1],b=b.slice(0,U.index)),C[l]=C[l]||z&&H[3]&&y[l]||"",H[4]&&(C[l]=C[l].toLowerCase())}w&&(C.query=w(C.query)),z&&y.slashes&&C.pathname.charAt(0)!=="/"&&(C.pathname!==""||y.pathname!=="")&&(C.pathname=v(C.pathname,y.pathname)),C.pathname.charAt(0)!=="/"&&f(C.protocol)&&(C.pathname="/"+C.pathname),o(C.port,C.protocol)||(C.host=C.hostname,C.port=""),C.username=C.password="",C.auth&&(U=C.auth.indexOf(":"),~U?(C.username=C.auth.slice(0,U),C.username=encodeURIComponent(decodeURIComponent(C.username)),C.password=C.auth.slice(U+1),C.password=encodeURIComponent(decodeURIComponent(C.password))):C.username=encodeURIComponent(decodeURIComponent(C.auth)),C.auth=C.password?C.username+":"+C.password:C.username),C.origin=C.protocol!=="file:"&&f(C.protocol)&&C.host?C.protocol+"//"+C.host:"null",C.href=C.toString()}function P(b,y,w){var z=this;switch(b){case"query":typeof y=="string"&&y.length&&(y=(w||t.parse)(y)),z[b]=y;break;case"port":z[b]=y,o(y,z.protocol)?y&&(z.host=z.hostname+":"+y):(z.host=z.hostname,z[b]="");break;case"hostname":z[b]=y,z.port&&(y+=":"+z.port),z.host=y;break;case"host":z[b]=y,s.test(y)?(y=y.split(":"),z.port=y.pop(),z.hostname=y.join(":")):(z.hostname=y,z.port="");break;case"protocol":z.protocol=y.toLowerCase(),z.slashes=!w;break;case"pathname":case"hash":if(y){var L=b==="pathname"?"/":"#";z[b]=y.charAt(0)!==L?L+y:y}else z[b]=y;break;case"username":case"password":z[b]=encodeURIComponent(y);break;case"auth":var $=y.indexOf(":");~$?(z.username=y.slice(0,$),z.username=encodeURIComponent(decodeURIComponent(z.username)),z.password=y.slice($+1),z.password=encodeURIComponent(decodeURIComponent(z.password))):z.username=encodeURIComponent(decodeURIComponent(y))}for(var H=0;H<m.length;H++){var U=m[H];U[4]&&(z[U[1]]=z[U[1]].toLowerCase())}return z.auth=z.password?z.username+":"+z.password:z.username,z.origin=z.protocol!=="file:"&&f(z.protocol)&&z.host?z.protocol+"//"+z.host:"null",z.href=z.toString(),z}function _(b){(!b||typeof b!="function")&&(b=t.stringify);var y,w=this,z=w.host,L=w.protocol;L&&L.charAt(L.length-1)!==":"&&(L+=":");var $=L+(w.protocol&&w.slashes||f(w.protocol)?"//":"");return w.username?($+=w.username,w.password&&($+=":"+w.password),$+="@"):w.password?($+=":"+w.password,$+="@"):w.protocol!=="file:"&&f(w.protocol)&&!z&&w.pathname!=="/"&&($+="@"),(z[z.length-1]===":"||s.test(w.hostname)&&!w.port)&&(z+=":"),$+=z+w.pathname,y=typeof w.query=="object"?b(w.query):w.query,y&&($+=y.charAt(0)!=="?"?"?"+y:y),w.hash&&($+=w.hash),$}T.prototype={set:P,toString:_},T.extractProtocol=c,T.location=g,T.trimLeft=d,T.qs=t,a.exports=T}}),Dc=Ce({"node_modules/psl/data/rules.json"(e,a){a.exports=["ac","com.ac","edu.ac","gov.ac","net.ac","mil.ac","org.ac","ad","nom.ad","ae","co.ae","net.ae","org.ae","sch.ae","ac.ae","gov.ae","mil.ae","aero","accident-investigation.aero","accident-prevention.aero","aerobatic.aero","aeroclub.aero","aerodrome.aero","agents.aero","aircraft.aero","airline.aero","airport.aero","air-surveillance.aero","airtraffic.aero","air-traffic-control.aero","ambulance.aero","amusement.aero","association.aero","author.aero","ballooning.aero","broker.aero","caa.aero","cargo.aero","catering.aero","certification.aero","championship.aero","charter.aero","civilaviation.aero","club.aero","conference.aero","consultant.aero","consulting.aero","control.aero","council.aero","crew.aero","design.aero","dgca.aero","educator.aero","emergency.aero","engine.aero","engineer.aero","entertainment.aero","equipment.aero","exchange.aero","express.aero","federation.aero","flight.aero","fuel.aero","gliding.aero","government.aero","groundhandling.aero","group.aero","hanggliding.aero","homebuilt.aero","insurance.aero","journal.aero","journalist.aero","leasing.aero","logistics.aero","magazine.aero","maintenance.aero","media.aero","microlight.aero","modelling.aero","navigation.aero","parachuting.aero","paragliding.aero","passenger-association.aero","pilot.aero","press.aero","production.aero","recreation.aero","repbody.aero","res.aero","research.aero","rotorcraft.aero","safety.aero","scientist.aero","services.aero","show.aero","skydiving.aero","software.aero","student.aero","trader.aero","trading.aero","trainer.aero","union.aero","workinggroup.aero","works.aero","af","gov.af","com.af","org.af","net.af","edu.af","ag","com.ag","org.ag","net.ag","co.ag","nom.ag","ai","off.ai","com.ai","net.ai","org.ai","al","com.al","edu.al","gov.al","mil.al","net.al","org.al","am","co.am","com.am","commune.am","net.am","org.am","ao","ed.ao","gv.ao","og.ao","co.ao","pb.ao","it.ao","aq","ar","bet.ar","com.ar","coop.ar","edu.ar","gob.ar","gov.ar","int.ar","mil.ar","musica.ar","mutual.ar","net.ar","org.ar","senasa.ar","tur.ar","arpa","e164.arpa","in-addr.arpa","ip6.arpa","iris.arpa","uri.arpa","urn.arpa","as","gov.as","asia","at","ac.at","co.at","gv.at","or.at","sth.ac.at","au","com.au","net.au","org.au","edu.au","gov.au","asn.au","id.au","info.au","conf.au","oz.au","act.au","nsw.au","nt.au","qld.au","sa.au","tas.au","vic.au","wa.au","act.edu.au","catholic.edu.au","nsw.edu.au","nt.edu.au","qld.edu.au","sa.edu.au","tas.edu.au","vic.edu.au","wa.edu.au","qld.gov.au","sa.gov.au","tas.gov.au","vic.gov.au","wa.gov.au","schools.nsw.edu.au","aw","com.aw","ax","az","com.az","net.az","int.az","gov.az","org.az","edu.az","info.az","pp.az","mil.az","name.az","pro.az","biz.az","ba","com.ba","edu.ba","gov.ba","mil.ba","net.ba","org.ba","bb","biz.bb","co.bb","com.bb","edu.bb","gov.bb","info.bb","net.bb","org.bb","store.bb","tv.bb","*.bd","be","ac.be","bf","gov.bf","bg","a.bg","b.bg","c.bg","d.bg","e.bg","f.bg","g.bg","h.bg","i.bg","j.bg","k.bg","l.bg","m.bg","n.bg","o.bg","p.bg","q.bg","r.bg","s.bg","t.bg","u.bg","v.bg","w.bg","x.bg","y.bg","z.bg","0.bg","1.bg","2.bg","3.bg","4.bg","5.bg","6.bg","7.bg","8.bg","9.bg","bh","com.bh","edu.bh","net.bh","org.bh","gov.bh","bi","co.bi","com.bi","edu.bi","or.bi","org.bi","biz","bj","asso.bj","barreau.bj","gouv.bj","bm","com.bm","edu.bm","gov.bm","net.bm","org.bm","bn","com.bn","edu.bn","gov.bn","net.bn","org.bn","bo","com.bo","edu.bo","gob.bo","int.bo","org.bo","net.bo","mil.bo","tv.bo","web.bo","academia.bo","agro.bo","arte.bo","blog.bo","bolivia.bo","ciencia.bo","cooperativa.bo","democracia.bo","deporte.bo","ecologia.bo","economia.bo","empresa.bo","indigena.bo","industria.bo","info.bo","medicina.bo","movimiento.bo","musica.bo","natural.bo","nombre.bo","noticias.bo","patria.bo","politica.bo","profesional.bo","plurinacional.bo","pueblo.bo","revista.bo","salud.bo","tecnologia.bo","tksat.bo","transporte.bo","wiki.bo","br","9guacu.br","abc.br","adm.br","adv.br","agr.br","aju.br","am.br","anani.br","aparecida.br","app.br","arq.br","art.br","ato.br","b.br","barueri.br","belem.br","bhz.br","bib.br","bio.br","blog.br","bmd.br","boavista.br","bsb.br","campinagrande.br","campinas.br","caxias.br","cim.br","cng.br","cnt.br","com.br","contagem.br","coop.br","coz.br","cri.br","cuiaba.br","curitiba.br","def.br","des.br","det.br","dev.br","ecn.br","eco.br","edu.br","emp.br","enf.br","eng.br","esp.br","etc.br","eti.br","far.br","feira.br","flog.br","floripa.br","fm.br","fnd.br","fortal.br","fot.br","foz.br","fst.br","g12.br","geo.br","ggf.br","goiania.br","gov.br","ac.gov.br","al.gov.br","am.gov.br","ap.gov.br","ba.gov.br","ce.gov.br","df.gov.br","es.gov.br","go.gov.br","ma.gov.br","mg.gov.br","ms.gov.br","mt.gov.br","pa.gov.br","pb.gov.br","pe.gov.br","pi.gov.br","pr.gov.br","rj.gov.br","rn.gov.br","ro.gov.br","rr.gov.br","rs.gov.br","sc.gov.br","se.gov.br","sp.gov.br","to.gov.br","gru.br","imb.br","ind.br","inf.br","jab.br","jampa.br","jdf.br","joinville.br","jor.br","jus.br","leg.br","lel.br","log.br","londrina.br","macapa.br","maceio.br","manaus.br","maringa.br","mat.br","med.br","mil.br","morena.br","mp.br","mus.br","natal.br","net.br","niteroi.br","*.nom.br","not.br","ntr.br","odo.br","ong.br","org.br","osasco.br","palmas.br","poa.br","ppg.br","pro.br","psc.br","psi.br","pvh.br","qsl.br","radio.br","rec.br","recife.br","rep.br","ribeirao.br","rio.br","riobranco.br","riopreto.br","salvador.br","sampa.br","santamaria.br","santoandre.br","saobernardo.br","saogonca.br","seg.br","sjc.br","slg.br","slz.br","sorocaba.br","srv.br","taxi.br","tc.br","tec.br","teo.br","the.br","tmp.br","trd.br","tur.br","tv.br","udi.br","vet.br","vix.br","vlog.br","wiki.br","zlg.br","bs","com.bs","net.bs","org.bs","edu.bs","gov.bs","bt","com.bt","edu.bt","gov.bt","net.bt","org.bt","bv","bw","co.bw","org.bw","by","gov.by","mil.by","com.by","of.by","bz","com.bz","net.bz","org.bz","edu.bz","gov.bz","ca","ab.ca","bc.ca","mb.ca","nb.ca","nf.ca","nl.ca","ns.ca","nt.ca","nu.ca","on.ca","pe.ca","qc.ca","sk.ca","yk.ca","gc.ca","cat","cc","cd","gov.cd","cf","cg","ch","ci","org.ci","or.ci","com.ci","co.ci","edu.ci","ed.ci","ac.ci","net.ci","go.ci","asso.ci","aéroport.ci","int.ci","presse.ci","md.ci","gouv.ci","*.ck","!www.ck","cl","co.cl","gob.cl","gov.cl","mil.cl","cm","co.cm","com.cm","gov.cm","net.cm","cn","ac.cn","com.cn","edu.cn","gov.cn","net.cn","org.cn","mil.cn","公司.cn","网络.cn","網絡.cn","ah.cn","bj.cn","cq.cn","fj.cn","gd.cn","gs.cn","gz.cn","gx.cn","ha.cn","hb.cn","he.cn","hi.cn","hl.cn","hn.cn","jl.cn","js.cn","jx.cn","ln.cn","nm.cn","nx.cn","qh.cn","sc.cn","sd.cn","sh.cn","sn.cn","sx.cn","tj.cn","xj.cn","xz.cn","yn.cn","zj.cn","hk.cn","mo.cn","tw.cn","co","arts.co","com.co","edu.co","firm.co","gov.co","info.co","int.co","mil.co","net.co","nom.co","org.co","rec.co","web.co","com","coop","cr","ac.cr","co.cr","ed.cr","fi.cr","go.cr","or.cr","sa.cr","cu","com.cu","edu.cu","org.cu","net.cu","gov.cu","inf.cu","cv","com.cv","edu.cv","int.cv","nome.cv","org.cv","cw","com.cw","edu.cw","net.cw","org.cw","cx","gov.cx","cy","ac.cy","biz.cy","com.cy","ekloges.cy","gov.cy","ltd.cy","mil.cy","net.cy","org.cy","press.cy","pro.cy","tm.cy","cz","de","dj","dk","dm","com.dm","net.dm","org.dm","edu.dm","gov.dm","do","art.do","com.do","edu.do","gob.do","gov.do","mil.do","net.do","org.do","sld.do","web.do","dz","art.dz","asso.dz","com.dz","edu.dz","gov.dz","org.dz","net.dz","pol.dz","soc.dz","tm.dz","ec","com.ec","info.ec","net.ec","fin.ec","k12.ec","med.ec","pro.ec","org.ec","edu.ec","gov.ec","gob.ec","mil.ec","edu","ee","edu.ee","gov.ee","riik.ee","lib.ee","med.ee","com.ee","pri.ee","aip.ee","org.ee","fie.ee","eg","com.eg","edu.eg","eun.eg","gov.eg","mil.eg","name.eg","net.eg","org.eg","sci.eg","*.er","es","com.es","nom.es","org.es","gob.es","edu.es","et","com.et","gov.et","org.et","edu.et","biz.et","name.et","info.et","net.et","eu","fi","aland.fi","fj","ac.fj","biz.fj","com.fj","gov.fj","info.fj","mil.fj","name.fj","net.fj","org.fj","pro.fj","*.fk","com.fm","edu.fm","net.fm","org.fm","fm","fo","fr","asso.fr","com.fr","gouv.fr","nom.fr","prd.fr","tm.fr","aeroport.fr","avocat.fr","avoues.fr","cci.fr","chambagri.fr","chirurgiens-dentistes.fr","experts-comptables.fr","geometre-expert.fr","greta.fr","huissier-justice.fr","medecin.fr","notaires.fr","pharmacien.fr","port.fr","veterinaire.fr","ga","gb","edu.gd","gov.gd","gd","ge","com.ge","edu.ge","gov.ge","org.ge","mil.ge","net.ge","pvt.ge","gf","gg","co.gg","net.gg","org.gg","gh","com.gh","edu.gh","gov.gh","org.gh","mil.gh","gi","com.gi","ltd.gi","gov.gi","mod.gi","edu.gi","org.gi","gl","co.gl","com.gl","edu.gl","net.gl","org.gl","gm","gn","ac.gn","com.gn","edu.gn","gov.gn","org.gn","net.gn","gov","gp","com.gp","net.gp","mobi.gp","edu.gp","org.gp","asso.gp","gq","gr","com.gr","edu.gr","net.gr","org.gr","gov.gr","gs","gt","com.gt","edu.gt","gob.gt","ind.gt","mil.gt","net.gt","org.gt","gu","com.gu","edu.gu","gov.gu","guam.gu","info.gu","net.gu","org.gu","web.gu","gw","gy","co.gy","com.gy","edu.gy","gov.gy","net.gy","org.gy","hk","com.hk","edu.hk","gov.hk","idv.hk","net.hk","org.hk","公司.hk","教育.hk","敎育.hk","政府.hk","個人.hk","个��.hk","箇人.hk","網络.hk","网络.hk","组織.hk","網絡.hk","网絡.hk","组织.hk","組織.hk","組织.hk","hm","hn","com.hn","edu.hn","org.hn","net.hn","mil.hn","gob.hn","hr","iz.hr","from.hr","name.hr","com.hr","ht","com.ht","shop.ht","firm.ht","info.ht","adult.ht","net.ht","pro.ht","org.ht","med.ht","art.ht","coop.ht","pol.ht","asso.ht","edu.ht","rel.ht","gouv.ht","perso.ht","hu","co.hu","info.hu","org.hu","priv.hu","sport.hu","tm.hu","2000.hu","agrar.hu","bolt.hu","casino.hu","city.hu","erotica.hu","erotika.hu","film.hu","forum.hu","games.hu","hotel.hu","ingatlan.hu","jogasz.hu","konyvelo.hu","lakas.hu","media.hu","news.hu","reklam.hu","sex.hu","shop.hu","suli.hu","szex.hu","tozsde.hu","utazas.hu","video.hu","id","ac.id","biz.id","co.id","desa.id","go.id","mil.id","my.id","net.id","or.id","ponpes.id","sch.id","web.id","ie","gov.ie","il","ac.il","co.il","gov.il","idf.il","k12.il","muni.il","net.il","org.il","im","ac.im","co.im","com.im","ltd.co.im","net.im","org.im","plc.co.im","tt.im","tv.im","in","co.in","firm.in","net.in","org.in","gen.in","ind.in","nic.in","ac.in","edu.in","res.in","gov.in","mil.in","info","int","eu.int","io","com.io","iq","gov.iq","edu.iq","mil.iq","com.iq","org.iq","net.iq","ir","ac.ir","co.ir","gov.ir","id.ir","net.ir","org.ir","sch.ir","ایران.ir","ايران.ir","is","net.is","com.is","edu.is","gov.is","org.is","int.is","it","gov.it","edu.it","abr.it","abruzzo.it","aosta-valley.it","aostavalley.it","bas.it","basilicata.it","cal.it","calabria.it","cam.it","campania.it","emilia-romagna.it","emiliaromagna.it","emr.it","friuli-v-giulia.it","friuli-ve-giulia.it","friuli-vegiulia.it","friuli-venezia-giulia.it","friuli-veneziagiulia.it","friuli-vgiulia.it","friuliv-giulia.it","friulive-giulia.it","friulivegiulia.it","friulivenezia-giulia.it","friuliveneziagiulia.it","friulivgiulia.it","fvg.it","laz.it","lazio.it","lig.it","liguria.it","lom.it","lombardia.it","lombardy.it","lucania.it","mar.it","marche.it","mol.it","molise.it","piedmont.it","piemonte.it","pmn.it","pug.it","puglia.it","sar.it","sardegna.it","sardinia.it","sic.it","sicilia.it","sicily.it","taa.it","tos.it","toscana.it","trentin-sud-tirol.it","trentin-süd-tirol.it","trentin-sudtirol.it","trentin-südtirol.it","trentin-sued-tirol.it","trentin-suedtirol.it","trentino-a-adige.it","trentino-aadige.it","trentino-alto-adige.it","trentino-altoadige.it","trentino-s-tirol.it","trentino-stirol.it","trentino-sud-tirol.it","trentino-süd-tirol.it","trentino-sudtirol.it","trentino-südtirol.it","trentino-sued-tirol.it","trentino-suedtirol.it","trentino.it","trentinoa-adige.it","trentinoaadige.it","trentinoalto-adige.it","trentinoaltoadige.it","trentinos-tirol.it","trentinostirol.it","trentinosud-tirol.it","trentinosüd-tirol.it","trentinosudtirol.it","trentinosüdtirol.it","trentinosued-tirol.it","trentinosuedtirol.it","trentinsud-tirol.it","trentinsüd-tirol.it","trentinsudtirol.it","trentinsüdtirol.it","trentinsued-tirol.it","trentinsuedtirol.it","tuscany.it","umb.it","umbria.it","val-d-aosta.it","val-daosta.it","vald-aosta.it","valdaosta.it","valle-aosta.it","valle-d-aosta.it","valle-daosta.it","valleaosta.it","valled-aosta.it","valledaosta.it","vallee-aoste.it","vallée-aoste.it","vallee-d-aoste.it","vallée-d-aoste.it","valleeaoste.it","valléeaoste.it","valleedaoste.it","valléedaoste.it","vao.it","vda.it","ven.it","veneto.it","ag.it","agrigento.it","al.it","alessandria.it","alto-adige.it","altoadige.it","an.it","ancona.it","andria-barletta-trani.it","andria-trani-barletta.it","andriabarlettatrani.it","andriatranibarletta.it","ao.it","aosta.it","aoste.it","ap.it","aq.it","aquila.it","ar.it","arezzo.it","ascoli-piceno.it","ascolipiceno.it","asti.it","at.it","av.it","avellino.it","ba.it","balsan-sudtirol.it","balsan-südtirol.it","balsan-suedtirol.it","balsan.it","bari.it","barletta-trani-andria.it","barlettatraniandria.it","belluno.it","benevento.it","bergamo.it","bg.it","bi.it","biella.it","bl.it","bn.it","bo.it","bologna.it","bolzano-altoadige.it","bolzano.it","bozen-sudtirol.it","bozen-südtirol.it","bozen-suedtirol.it","bozen.it","br.it","brescia.it","brindisi.it","bs.it","bt.it","bulsan-sudtirol.it","bulsan-südtirol.it","bulsan-suedtirol.it","bulsan.it","bz.it","ca.it","cagliari.it","caltanissetta.it","campidano-medio.it","campidanomedio.it","campobasso.it","carbonia-iglesias.it","carboniaiglesias.it","carrara-massa.it","carraramassa.it","caserta.it","catania.it","catanzaro.it","cb.it","ce.it","cesena-forli.it","cesena-forlì.it","cesenaforli.it","cesenaforlì.it","ch.it","chieti.it","ci.it","cl.it","cn.it","co.it","como.it","cosenza.it","cr.it","cremona.it","crotone.it","cs.it","ct.it","cuneo.it","cz.it","dell-ogliastra.it","dellogliastra.it","en.it","enna.it","fc.it","fe.it","fermo.it","ferrara.it","fg.it","fi.it","firenze.it","florence.it","fm.it","foggia.it","forli-cesena.it","forlì-cesena.it","forlicesena.it","forlìcesena.it","fr.it","frosinone.it","ge.it","genoa.it","genova.it","go.it","gorizia.it","gr.it","grosseto.it","iglesias-carbonia.it","iglesiascarbonia.it","im.it","imperia.it","is.it","isernia.it","kr.it","la-spezia.it","laquila.it","laspezia.it","latina.it","lc.it","le.it","lecce.it","lecco.it","li.it","livorno.it","lo.it","lodi.it","lt.it","lu.it","lucca.it","macerata.it","mantova.it","massa-carrara.it","massacarrara.it","matera.it","mb.it","mc.it","me.it","medio-campidano.it","mediocampidano.it","messina.it","mi.it","milan.it","milano.it","mn.it","mo.it","modena.it","monza-brianza.it","monza-e-della-brianza.it","monza.it","monzabrianza.it","monzaebrianza.it","monzaedellabrianza.it","ms.it","mt.it","na.it","naples.it","napoli.it","no.it","novara.it","nu.it","nuoro.it","og.it","ogliastra.it","olbia-tempio.it","olbiatempio.it","or.it","oristano.it","ot.it","pa.it","padova.it","padua.it","palermo.it","parma.it","pavia.it","pc.it","pd.it","pe.it","perugia.it","pesaro-urbino.it","pesarourbino.it","pescara.it","pg.it","pi.it","piacenza.it","pisa.it","pistoia.it","pn.it","po.it","pordenone.it","potenza.it","pr.it","prato.it","pt.it","pu.it","pv.it","pz.it","ra.it","ragusa.it","ravenna.it","rc.it","re.it","reggio-calabria.it","reggio-emilia.it","reggiocalabria.it","reggioemilia.it","rg.it","ri.it","rieti.it","rimini.it","rm.it","rn.it","ro.it","roma.it","rome.it","rovigo.it","sa.it","salerno.it","sassari.it","savona.it","si.it","siena.it","siracusa.it","so.it","sondrio.it","sp.it","sr.it","ss.it","suedtirol.it","südtirol.it","sv.it","ta.it","taranto.it","te.it","tempio-olbia.it","tempioolbia.it","teramo.it","terni.it","tn.it","to.it","torino.it","tp.it","tr.it","trani-andria-barletta.it","trani-barletta-andria.it","traniandriabarletta.it","tranibarlettaandria.it","trapani.it","trento.it","treviso.it","trieste.it","ts.it","turin.it","tv.it","ud.it","udine.it","urbino-pesaro.it","urbinopesaro.it","va.it","varese.it","vb.it","vc.it","ve.it","venezia.it","venice.it","verbania.it","vercelli.it","verona.it","vi.it","vibo-valentia.it","vibovalentia.it","vicenza.it","viterbo.it","vr.it","vs.it","vt.it","vv.it","je","co.je","net.je","org.je","*.jm","jo","com.jo","org.jo","net.jo","edu.jo","sch.jo","gov.jo","mil.jo","name.jo","jobs","jp","ac.jp","ad.jp","co.jp","ed.jp","go.jp","gr.jp","lg.jp","ne.jp","or.jp","aichi.jp","akita.jp","aomori.jp","chiba.jp","ehime.jp","fukui.jp","fukuoka.jp","fukushima.jp","gifu.jp","gunma.jp","hiroshima.jp","hokkaido.jp","hyogo.jp","ibaraki.jp","ishikawa.jp","iwate.jp","kagawa.jp","kagoshima.jp","kanagawa.jp","kochi.jp","kumamoto.jp","kyoto.jp","mie.jp","miyagi.jp","miyazaki.jp","nagano.jp","nagasaki.jp","nara.jp","niigata.jp","oita.jp","okayama.jp","okinawa.jp","osaka.jp","saga.jp","saitama.jp","shiga.jp","shimane.jp","shizuoka.jp","tochigi.jp","tokushima.jp","tokyo.jp","tottori.jp","toyama.jp","wakayama.jp","yamagata.jp","yamaguchi.jp","yamanashi.jp","栃木.jp","愛知.jp","愛媛.jp","兵庫.jp","熊本.jp","茨城.jp","北海道.jp","千葉.jp","和歌山.jp","長崎.jp","長野.jp","新潟.jp","青森.jp","静岡.jp","東京.jp","石川.jp","埼玉.jp","三重.jp","京都.jp","佐賀.jp","大分.jp","大阪.jp","奈良.jp","宮城.jp","宮崎.jp","富山.jp","山口.jp","山形.jp","山梨.jp","岩手.jp","岐阜.jp","岡山.jp","島根.jp","広島.jp","徳島.jp","沖縄.jp","滋賀.jp","神奈川.jp","福井.jp","福岡.jp","福島.jp","秋田.jp","群馬.jp","香川.jp","高知.jp","鳥取.jp","鹿児島.jp","*.kawasaki.jp","*.kitakyushu.jp","*.kobe.jp","*.nagoya.jp","*.sapporo.jp","*.sendai.jp","*.yokohama.jp","!city.kawasaki.jp","!city.kitakyushu.jp","!city.kobe.jp","!city.nagoya.jp","!city.sapporo.jp","!city.sendai.jp","!city.yokohama.jp","aisai.aichi.jp","ama.aichi.jp","anjo.aichi.jp","asuke.aichi.jp","chiryu.aichi.jp","chita.aichi.jp","fuso.aichi.jp","gamagori.aichi.jp","handa.aichi.jp","hazu.aichi.jp","hekinan.aichi.jp","higashiura.aichi.jp","ichinomiya.aichi.jp","inazawa.aichi.jp","inuyama.aichi.jp","isshiki.aichi.jp","iwakura.aichi.jp","kanie.aichi.jp","kariya.aichi.jp","kasugai.aichi.jp","kira.aichi.jp","kiyosu.aichi.jp","komaki.aichi.jp","konan.aichi.jp","kota.aichi.jp","mihama.aichi.jp","miyoshi.aichi.jp","nishio.aichi.jp","nisshin.aichi.jp","obu.aichi.jp","oguchi.aichi.jp","oharu.aichi.jp","okazaki.aichi.jp","owariasahi.aichi.jp","seto.aichi.jp","shikatsu.aichi.jp","shinshiro.aichi.jp","shitara.aichi.jp","tahara.aichi.jp","takahama.aichi.jp","tobishima.aichi.jp","toei.aichi.jp","togo.aichi.jp","tokai.aichi.jp","tokoname.aichi.jp","toyoake.aichi.jp","toyohashi.aichi.jp","toyokawa.aichi.jp","toyone.aichi.jp","toyota.aichi.jp","tsushima.aichi.jp","yatomi.aichi.jp","akita.akita.jp","daisen.akita.jp","fujisato.akita.jp","gojome.akita.jp","hachirogata.akita.jp","happou.akita.jp","higashinaruse.akita.jp","honjo.akita.jp","honjyo.akita.jp","ikawa.akita.jp","kamikoani.akita.jp","kamioka.akita.jp","katagami.akita.jp","kazuno.akita.jp","kitaakita.akita.jp","kosaka.akita.jp","kyowa.akita.jp","misato.akita.jp","mitane.akita.jp","moriyoshi.akita.jp","nikaho.akita.jp","noshiro.akita.jp","odate.akita.jp","oga.akita.jp","ogata.akita.jp","semboku.akita.jp","yokote.akita.jp","yurihonjo.akita.jp","aomori.aomori.jp","gonohe.aomori.jp","hachinohe.aomori.jp","hashikami.aomori.jp","hiranai.aomori.jp","hirosaki.aomori.jp","itayanagi.aomori.jp","kuroishi.aomori.jp","misawa.aomori.jp","mutsu.aomori.jp","nakadomari.aomori.jp","noheji.aomori.jp","oirase.aomori.jp","owani.aomori.jp","rokunohe.aomori.jp","sannohe.aomori.jp","shichinohe.aomori.jp","shingo.aomori.jp","takko.aomori.jp","towada.aomori.jp","tsugaru.aomori.jp","tsuruta.aomori.jp","abiko.chiba.jp","asahi.chiba.jp","chonan.chiba.jp","chosei.chiba.jp","choshi.chiba.jp","chuo.chiba.jp","funabashi.chiba.jp","futtsu.chiba.jp","hanamigawa.chiba.jp","ichihara.chiba.jp","ichikawa.chiba.jp","ichinomiya.chiba.jp","inzai.chiba.jp","isumi.chiba.jp","kamagaya.chiba.jp","kamogawa.chiba.jp","kashiwa.chiba.jp","katori.chiba.jp","katsuura.chiba.jp","kimitsu.chiba.jp","kisarazu.chiba.jp","kozaki.chiba.jp","kujukuri.chiba.jp","kyonan.chiba.jp","matsudo.chiba.jp","midori.chiba.jp","mihama.chiba.jp","minamiboso.chiba.jp","mobara.chiba.jp","mutsuzawa.chiba.jp","nagara.chiba.jp","nagareyama.chiba.jp","narashino.chiba.jp","narita.chiba.jp","noda.chiba.jp","oamishirasato.chiba.jp","omigawa.chiba.jp","onjuku.chiba.jp","otaki.chiba.jp","sakae.chiba.jp","sakura.chiba.jp","shimofusa.chiba.jp","shirako.chiba.jp","shiroi.chiba.jp","shisui.chiba.jp","sodegaura.chiba.jp","sosa.chiba.jp","tako.chiba.jp","tateyama.chiba.jp","togane.chiba.jp","tohnosho.chiba.jp","tomisato.chiba.jp","urayasu.chiba.jp","yachimata.chiba.jp","yachiyo.chiba.jp","yokaichiba.chiba.jp","yokoshibahikari.chiba.jp","yotsukaido.chiba.jp","ainan.ehime.jp","honai.ehime.jp","ikata.ehime.jp","imabari.ehime.jp","iyo.ehime.jp","kamijima.ehime.jp","kihoku.ehime.jp","kumakogen.ehime.jp","masaki.ehime.jp","matsuno.ehime.jp","matsuyama.ehime.jp","namikata.ehime.jp","niihama.ehime.jp","ozu.ehime.jp","saijo.ehime.jp","seiyo.ehime.jp","shikokuchuo.ehime.jp","tobe.ehime.jp","toon.ehime.jp","uchiko.ehime.jp","uwajima.ehime.jp","yawatahama.ehime.jp","echizen.fukui.jp","eiheiji.fukui.jp","fukui.fukui.jp","ikeda.fukui.jp","katsuyama.fukui.jp","mihama.fukui.jp","minamiechizen.fukui.jp","obama.fukui.jp","ohi.fukui.jp","ono.fukui.jp","sabae.fukui.jp","sakai.fukui.jp","takahama.fukui.jp","tsuruga.fukui.jp","wakasa.fukui.jp","ashiya.fukuoka.jp","buzen.fukuoka.jp","chikugo.fukuoka.jp","chikuho.fukuoka.jp","chikujo.fukuoka.jp","chikushino.fukuoka.jp","chikuzen.fukuoka.jp","chuo.fukuoka.jp","dazaifu.fukuoka.jp","fukuchi.fukuoka.jp","hakata.fukuoka.jp","higashi.fukuoka.jp","hirokawa.fukuoka.jp","hisayama.fukuoka.jp","iizuka.fukuoka.jp","inatsuki.fukuoka.jp","kaho.fukuoka.jp","kasuga.fukuoka.jp","kasuya.fukuoka.jp","kawara.fukuoka.jp","keisen.fukuoka.jp","koga.fukuoka.jp","kurate.fukuoka.jp","kurogi.fukuoka.jp","kurume.fukuoka.jp","minami.fukuoka.jp","miyako.fukuoka.jp","miyama.fukuoka.jp","miyawaka.fukuoka.jp","mizumaki.fukuoka.jp","munakata.fukuoka.jp","nakagawa.fukuoka.jp","nakama.fukuoka.jp","nishi.fukuoka.jp","nogata.fukuoka.jp","ogori.fukuoka.jp","okagaki.fukuoka.jp","okawa.fukuoka.jp","oki.fukuoka.jp","omuta.fukuoka.jp","onga.fukuoka.jp","onojo.fukuoka.jp","oto.fukuoka.jp","saigawa.fukuoka.jp","sasaguri.fukuoka.jp","shingu.fukuoka.jp","shinyoshitomi.fukuoka.jp","shonai.fukuoka.jp","soeda.fukuoka.jp","sue.fukuoka.jp","tachiarai.fukuoka.jp","tagawa.fukuoka.jp","takata.fukuoka.jp","toho.fukuoka.jp","toyotsu.fukuoka.jp","tsuiki.fukuoka.jp","ukiha.fukuoka.jp","umi.fukuoka.jp","usui.fukuoka.jp","yamada.fukuoka.jp","yame.fukuoka.jp","yanagawa.fukuoka.jp","yukuhashi.fukuoka.jp","aizubange.fukushima.jp","aizumisato.fukushima.jp","aizuwakamatsu.fukushima.jp","asakawa.fukushima.jp","bandai.fukushima.jp","date.fukushima.jp","fukushima.fukushima.jp","furudono.fukushima.jp","futaba.fukushima.jp","hanawa.fukushima.jp","higashi.fukushima.jp","hirata.fukushima.jp","hirono.fukushima.jp","iitate.fukushima.jp","inawashiro.fukushima.jp","ishikawa.fukushima.jp","iwaki.fukushima.jp","izumizaki.fukushima.jp","kagamiishi.fukushima.jp","kaneyama.fukushima.jp","kawamata.fukushima.jp","kitakata.fukushima.jp","kitashiobara.fukushima.jp","koori.fukushima.jp","koriyama.fukushima.jp","kunimi.fukushima.jp","miharu.fukushima.jp","mishima.fukushima.jp","namie.fukushima.jp","nango.fukushima.jp","nishiaizu.fukushima.jp","nishigo.fukushima.jp","okuma.fukushima.jp","omotego.fukushima.jp","ono.fukushima.jp","otama.fukushima.jp","samegawa.fukushima.jp","shimogo.fukushima.jp","shirakawa.fukushima.jp","showa.fukushima.jp","soma.fukushima.jp","sukagawa.fukushima.jp","taishin.fukushima.jp","tamakawa.fukushima.jp","tanagura.fukushima.jp","tenei.fukushima.jp","yabuki.fukushima.jp","yamato.fukushima.jp","yamatsuri.fukushima.jp","yanaizu.fukushima.jp","yugawa.fukushima.jp","anpachi.gifu.jp","ena.gifu.jp","gifu.gifu.jp","ginan.gifu.jp","godo.gifu.jp","gujo.gifu.jp","hashima.gifu.jp","hichiso.gifu.jp","hida.gifu.jp","higashishirakawa.gifu.jp","ibigawa.gifu.jp","ikeda.gifu.jp","kakamigahara.gifu.jp","kani.gifu.jp","kasahara.gifu.jp","kasamatsu.gifu.jp","kawaue.gifu.jp","kitagata.gifu.jp","mino.gifu.jp","minokamo.gifu.jp","mitake.gifu.jp","mizunami.gifu.jp","motosu.gifu.jp","nakatsugawa.gifu.jp","ogaki.gifu.jp","sakahogi.gifu.jp","seki.gifu.jp","sekigahara.gifu.jp","shirakawa.gifu.jp","tajimi.gifu.jp","takayama.gifu.jp","tarui.gifu.jp","toki.gifu.jp","tomika.gifu.jp","wanouchi.gifu.jp","yamagata.gifu.jp","yaotsu.gifu.jp","yoro.gifu.jp","annaka.gunma.jp","chiyoda.gunma.jp","fujioka.gunma.jp","higashiagatsuma.gunma.jp","isesaki.gunma.jp","itakura.gunma.jp","kanna.gunma.jp","kanra.gunma.jp","katashina.gunma.jp","kawaba.gunma.jp","kiryu.gunma.jp","kusatsu.gunma.jp","maebashi.gunma.jp","meiwa.gunma.jp","midori.gunma.jp","minakami.gunma.jp","naganohara.gunma.jp","nakanojo.gunma.jp","nanmoku.gunma.jp","numata.gunma.jp","oizumi.gunma.jp","ora.gunma.jp","ota.gunma.jp","shibukawa.gunma.jp","shimonita.gunma.jp","shinto.gunma.jp","showa.gunma.jp","takasaki.gunma.jp","takayama.gunma.jp","tamamura.gunma.jp","tatebayashi.gunma.jp","tomioka.gunma.jp","tsukiyono.gunma.jp","tsumagoi.gunma.jp","ueno.gunma.jp","yoshioka.gunma.jp","asaminami.hiroshima.jp","daiwa.hiroshima.jp","etajima.hiroshima.jp","fuchu.hiroshima.jp","fukuyama.hiroshima.jp","hatsukaichi.hiroshima.jp","higashihiroshima.hiroshima.jp","hongo.hiroshima.jp","jinsekikogen.hiroshima.jp","kaita.hiroshima.jp","kui.hiroshima.jp","kumano.hiroshima.jp","kure.hiroshima.jp","mihara.hiroshima.jp","miyoshi.hiroshima.jp","naka.hiroshima.jp","onomichi.hiroshima.jp","osakikamijima.hiroshima.jp","otake.hiroshima.jp","saka.hiroshima.jp","sera.hiroshima.jp","seranishi.hiroshima.jp","shinichi.hiroshima.jp","shobara.hiroshima.jp","takehara.hiroshima.jp","abashiri.hokkaido.jp","abira.hokkaido.jp","aibetsu.hokkaido.jp","akabira.hokkaido.jp","akkeshi.hokkaido.jp","asahikawa.hokkaido.jp","ashibetsu.hokkaido.jp","ashoro.hokkaido.jp","assabu.hokkaido.jp","atsuma.hokkaido.jp","bibai.hokkaido.jp","biei.hokkaido.jp","bifuka.hokkaido.jp","bihoro.hokkaido.jp","biratori.hokkaido.jp","chippubetsu.hokkaido.jp","chitose.hokkaido.jp","date.hokkaido.jp","ebetsu.hokkaido.jp","embetsu.hokkaido.jp","eniwa.hokkaido.jp","erimo.hokkaido.jp","esan.hokkaido.jp","esashi.hokkaido.jp","fukagawa.hokkaido.jp","fukushima.hokkaido.jp","furano.hokkaido.jp","furubira.hokkaido.jp","haboro.hokkaido.jp","hakodate.hokkaido.jp","hamatonbetsu.hokkaido.jp","hidaka.hokkaido.jp","higashikagura.hokkaido.jp","higashikawa.hokkaido.jp","hiroo.hokkaido.jp","hokuryu.hokkaido.jp","hokuto.hokkaido.jp","honbetsu.hokkaido.jp","horokanai.hokkaido.jp","horonobe.hokkaido.jp","ikeda.hokkaido.jp","imakane.hokkaido.jp","ishikari.hokkaido.jp","iwamizawa.hokkaido.jp","iwanai.hokkaido.jp","kamifurano.hokkaido.jp","kamikawa.hokkaido.jp","kamishihoro.hokkaido.jp","kamisunagawa.hokkaido.jp","kamoenai.hokkaido.jp","kayabe.hokkaido.jp","kembuchi.hokkaido.jp","kikonai.hokkaido.jp","kimobetsu.hokkaido.jp","kitahiroshima.hokkaido.jp","kitami.hokkaido.jp","kiyosato.hokkaido.jp","koshimizu.hokkaido.jp","kunneppu.hokkaido.jp","kuriyama.hokkaido.jp","kuromatsunai.hokkaido.jp","kushiro.hokkaido.jp","kutchan.hokkaido.jp","kyowa.hokkaido.jp","mashike.hokkaido.jp","matsumae.hokkaido.jp","mikasa.hokkaido.jp","minamifurano.hokkaido.jp","mombetsu.hokkaido.jp","moseushi.hokkaido.jp","mukawa.hokkaido.jp","muroran.hokkaido.jp","naie.hokkaido.jp","nakagawa.hokkaido.jp","nakasatsunai.hokkaido.jp","nakatombetsu.hokkaido.jp","nanae.hokkaido.jp","nanporo.hokkaido.jp","nayoro.hokkaido.jp","nemuro.hokkaido.jp","niikappu.hokkaido.jp","niki.hokkaido.jp","nishiokoppe.hokkaido.jp","noboribetsu.hokkaido.jp","numata.hokkaido.jp","obihiro.hokkaido.jp","obira.hokkaido.jp","oketo.hokkaido.jp","okoppe.hokkaido.jp","otaru.hokkaido.jp","otobe.hokkaido.jp","otofuke.hokkaido.jp","otoineppu.hokkaido.jp","oumu.hokkaido.jp","ozora.hokkaido.jp","pippu.hokkaido.jp","rankoshi.hokkaido.jp","rebun.hokkaido.jp","rikubetsu.hokkaido.jp","rishiri.hokkaido.jp","rishirifuji.hokkaido.jp","saroma.hokkaido.jp","sarufutsu.hokkaido.jp","shakotan.hokkaido.jp","shari.hokkaido.jp","shibecha.hokkaido.jp","shibetsu.hokkaido.jp","shikabe.hokkaido.jp","shikaoi.hokkaido.jp","shimamaki.hokkaido.jp","shimizu.hokkaido.jp","shimokawa.hokkaido.jp","shinshinotsu.hokkaido.jp","shintoku.hokkaido.jp","shiranuka.hokkaido.jp","shiraoi.hokkaido.jp","shiriuchi.hokkaido.jp","sobetsu.hokkaido.jp","sunagawa.hokkaido.jp","taiki.hokkaido.jp","takasu.hokkaido.jp","takikawa.hokkaido.jp","takinoue.hokkaido.jp","teshikaga.hokkaido.jp","tobetsu.hokkaido.jp","tohma.hokkaido.jp","tomakomai.hokkaido.jp","tomari.hokkaido.jp","toya.hokkaido.jp","toyako.hokkaido.jp","toyotomi.hokkaido.jp","toyoura.hokkaido.jp","tsubetsu.hokkaido.jp","tsukigata.hokkaido.jp","urakawa.hokkaido.jp","urausu.hokkaido.jp","uryu.hokkaido.jp","utashinai.hokkaido.jp","wakkanai.hokkaido.jp","wassamu.hokkaido.jp","yakumo.hokkaido.jp","yoichi.hokkaido.jp","aioi.hyogo.jp","akashi.hyogo.jp","ako.hyogo.jp","amagasaki.hyogo.jp","aogaki.hyogo.jp","asago.hyogo.jp","ashiya.hyogo.jp","awaji.hyogo.jp","fukusaki.hyogo.jp","goshiki.hyogo.jp","harima.hyogo.jp","himeji.hyogo.jp","ichikawa.hyogo.jp","inagawa.hyogo.jp","itami.hyogo.jp","kakogawa.hyogo.jp","kamigori.hyogo.jp","kamikawa.hyogo.jp","kasai.hyogo.jp","kasuga.hyogo.jp","kawanishi.hyogo.jp","miki.hyogo.jp","minamiawaji.hyogo.jp","nishinomiya.hyogo.jp","nishiwaki.hyogo.jp","ono.hyogo.jp","sanda.hyogo.jp","sannan.hyogo.jp","sasayama.hyogo.jp","sayo.hyogo.jp","shingu.hyogo.jp","shinonsen.hyogo.jp","shiso.hyogo.jp","sumoto.hyogo.jp","taishi.hyogo.jp","taka.hyogo.jp","takarazuka.hyogo.jp","takasago.hyogo.jp","takino.hyogo.jp","tamba.hyogo.jp","tatsuno.hyogo.jp","toyooka.hyogo.jp","yabu.hyogo.jp","yashiro.hyogo.jp","yoka.hyogo.jp","yokawa.hyogo.jp","ami.ibaraki.jp","asahi.ibaraki.jp","bando.ibaraki.jp","chikusei.ibaraki.jp","daigo.ibaraki.jp","fujishiro.ibaraki.jp","hitachi.ibaraki.jp","hitachinaka.ibaraki.jp","hitachiomiya.ibaraki.jp","hitachiota.ibaraki.jp","ibaraki.ibaraki.jp","ina.ibaraki.jp","inashiki.ibaraki.jp","itako.ibaraki.jp","iwama.ibaraki.jp","joso.ibaraki.jp","kamisu.ibaraki.jp","kasama.ibaraki.jp","kashima.ibaraki.jp","kasumigaura.ibaraki.jp","koga.ibaraki.jp","miho.ibaraki.jp","mito.ibaraki.jp","moriya.ibaraki.jp","naka.ibaraki.jp","namegata.ibaraki.jp","oarai.ibaraki.jp","ogawa.ibaraki.jp","omitama.ibaraki.jp","ryugasaki.ibaraki.jp","sakai.ibaraki.jp","sakuragawa.ibaraki.jp","shimodate.ibaraki.jp","shimotsuma.ibaraki.jp","shirosato.ibaraki.jp","sowa.ibaraki.jp","suifu.ibaraki.jp","takahagi.ibaraki.jp","tamatsukuri.ibaraki.jp","tokai.ibaraki.jp","tomobe.ibaraki.jp","tone.ibaraki.jp","toride.ibaraki.jp","tsuchiura.ibaraki.jp","tsukuba.ibaraki.jp","uchihara.ibaraki.jp","ushiku.ibaraki.jp","yachiyo.ibaraki.jp","yamagata.ibaraki.jp","yawara.ibaraki.jp","yuki.ibaraki.jp","anamizu.ishikawa.jp","hakui.ishikawa.jp","hakusan.ishikawa.jp","kaga.ishikawa.jp","kahoku.ishikawa.jp","kanazawa.ishikawa.jp","kawakita.ishikawa.jp","komatsu.ishikawa.jp","nakanoto.ishikawa.jp","nanao.ishikawa.jp","nomi.ishikawa.jp","nonoichi.ishikawa.jp","noto.ishikawa.jp","shika.ishikawa.jp","suzu.ishikawa.jp","tsubata.ishikawa.jp","tsurugi.ishikawa.jp","uchinada.ishikawa.jp","wajima.ishikawa.jp","fudai.iwate.jp","fujisawa.iwate.jp","hanamaki.iwate.jp","hiraizumi.iwate.jp","hirono.iwate.jp","ichinohe.iwate.jp","ichinoseki.iwate.jp","iwaizumi.iwate.jp","iwate.iwate.jp","joboji.iwate.jp","kamaishi.iwate.jp","kanegasaki.iwate.jp","karumai.iwate.jp","kawai.iwate.jp","kitakami.iwate.jp","kuji.iwate.jp","kunohe.iwate.jp","kuzumaki.iwate.jp","miyako.iwate.jp","mizusawa.iwate.jp","morioka.iwate.jp","ninohe.iwate.jp","noda.iwate.jp","ofunato.iwate.jp","oshu.iwate.jp","otsuchi.iwate.jp","rikuzentakata.iwate.jp","shiwa.iwate.jp","shizukuishi.iwate.jp","sumita.iwate.jp","tanohata.iwate.jp","tono.iwate.jp","yahaba.iwate.jp","yamada.iwate.jp","ayagawa.kagawa.jp","higashikagawa.kagawa.jp","kanonji.kagawa.jp","kotohira.kagawa.jp","manno.kagawa.jp","marugame.kagawa.jp","mitoyo.kagawa.jp","naoshima.kagawa.jp","sanuki.kagawa.jp","tadotsu.kagawa.jp","takamatsu.kagawa.jp","tonosho.kagawa.jp","uchinomi.kagawa.jp","utazu.kagawa.jp","zentsuji.kagawa.jp","akune.kagoshima.jp","amami.kagoshima.jp","hioki.kagoshima.jp","isa.kagoshima.jp","isen.kagoshima.jp","izumi.kagoshima.jp","kagoshima.kagoshima.jp","kanoya.kagoshima.jp","kawanabe.kagoshima.jp","kinko.kagoshima.jp","kouyama.kagoshima.jp","makurazaki.kagoshima.jp","matsumoto.kagoshima.jp","minamitane.kagoshima.jp","nakatane.kagoshima.jp","nishinoomote.kagoshima.jp","satsumasendai.kagoshima.jp","soo.kagoshima.jp","tarumizu.kagoshima.jp","yusui.kagoshima.jp","aikawa.kanagawa.jp","atsugi.kanagawa.jp","ayase.kanagawa.jp","chigasaki.kanagawa.jp","ebina.kanagawa.jp","fujisawa.kanagawa.jp","hadano.kanagawa.jp","hakone.kanagawa.jp","hiratsuka.kanagawa.jp","isehara.kanagawa.jp","kaisei.kanagawa.jp","kamakura.kanagawa.jp","kiyokawa.kanagawa.jp","matsuda.kanagawa.jp","minamiashigara.kanagawa.jp","miura.kanagawa.jp","nakai.kanagawa.jp","ninomiya.kanagawa.jp","odawara.kanagawa.jp","oi.kanagawa.jp","oiso.kanagawa.jp","sagamihara.kanagawa.jp","samukawa.kanagawa.jp","tsukui.kanagawa.jp","yamakita.kanagawa.jp","yamato.kanagawa.jp","yokosuka.kanagawa.jp","yugawara.kanagawa.jp","zama.kanagawa.jp","zushi.kanagawa.jp","aki.kochi.jp","geisei.kochi.jp","hidaka.kochi.jp","higashitsuno.kochi.jp","ino.kochi.jp","kagami.kochi.jp","kami.kochi.jp","kitagawa.kochi.jp","kochi.kochi.jp","mihara.kochi.jp","motoyama.kochi.jp","muroto.kochi.jp","nahari.kochi.jp","nakamura.kochi.jp","nankoku.kochi.jp","nishitosa.kochi.jp","niyodogawa.kochi.jp","ochi.kochi.jp","okawa.kochi.jp","otoyo.kochi.jp","otsuki.kochi.jp","sakawa.kochi.jp","sukumo.kochi.jp","susaki.kochi.jp","tosa.kochi.jp","tosashimizu.kochi.jp","toyo.kochi.jp","tsuno.kochi.jp","umaji.kochi.jp","yasuda.kochi.jp","yusuhara.kochi.jp","amakusa.kumamoto.jp","arao.kumamoto.jp","aso.kumamoto.jp","choyo.kumamoto.jp","gyokuto.kumamoto.jp","kamiamakusa.kumamoto.jp","kikuchi.kumamoto.jp","kumamoto.kumamoto.jp","mashiki.kumamoto.jp","mifune.kumamoto.jp","minamata.kumamoto.jp","minamioguni.kumamoto.jp","nagasu.kumamoto.jp","nishihara.kumamoto.jp","oguni.kumamoto.jp","ozu.kumamoto.jp","sumoto.kumamoto.jp","takamori.kumamoto.jp","uki.kumamoto.jp","uto.kumamoto.jp","yamaga.kumamoto.jp","yamato.kumamoto.jp","yatsushiro.kumamoto.jp","ayabe.kyoto.jp","fukuchiyama.kyoto.jp","higashiyama.kyoto.jp","ide.kyoto.jp","ine.kyoto.jp","joyo.kyoto.jp","kameoka.kyoto.jp","kamo.kyoto.jp","kita.kyoto.jp","kizu.kyoto.jp","kumiyama.kyoto.jp","kyotamba.kyoto.jp","kyotanabe.kyoto.jp","kyotango.kyoto.jp","maizuru.kyoto.jp","minami.kyoto.jp","minamiyamashiro.kyoto.jp","miyazu.kyoto.jp","muko.kyoto.jp","nagaokakyo.kyoto.jp","nakagyo.kyoto.jp","nantan.kyoto.jp","oyamazaki.kyoto.jp","sakyo.kyoto.jp","seika.kyoto.jp","tanabe.kyoto.jp","uji.kyoto.jp","ujitawara.kyoto.jp","wazuka.kyoto.jp","yamashina.kyoto.jp","yawata.kyoto.jp","asahi.mie.jp","inabe.mie.jp","ise.mie.jp","kameyama.mie.jp","kawagoe.mie.jp","kiho.mie.jp","kisosaki.mie.jp","kiwa.mie.jp","komono.mie.jp","kumano.mie.jp","kuwana.mie.jp","matsusaka.mie.jp","meiwa.mie.jp","mihama.mie.jp","minamiise.mie.jp","misugi.mie.jp","miyama.mie.jp","nabari.mie.jp","shima.mie.jp","suzuka.mie.jp","tado.mie.jp","taiki.mie.jp","taki.mie.jp","tamaki.mie.jp","toba.mie.jp","tsu.mie.jp","udono.mie.jp","ureshino.mie.jp","watarai.mie.jp","yokkaichi.mie.jp","furukawa.miyagi.jp","higashimatsushima.miyagi.jp","ishinomaki.miyagi.jp","iwanuma.miyagi.jp","kakuda.miyagi.jp","kami.miyagi.jp","kawasaki.miyagi.jp","marumori.miyagi.jp","matsushima.miyagi.jp","minamisanriku.miyagi.jp","misato.miyagi.jp","murata.miyagi.jp","natori.miyagi.jp","ogawara.miyagi.jp","ohira.miyagi.jp","onagawa.miyagi.jp","osaki.miyagi.jp","rifu.miyagi.jp","semine.miyagi.jp","shibata.miyagi.jp","shichikashuku.miyagi.jp","shikama.miyagi.jp","shiogama.miyagi.jp","shiroishi.miyagi.jp","tagajo.miyagi.jp","taiwa.miyagi.jp","tome.miyagi.jp","tomiya.miyagi.jp","wakuya.miyagi.jp","watari.miyagi.jp","yamamoto.miyagi.jp","zao.miyagi.jp","aya.miyazaki.jp","ebino.miyazaki.jp","gokase.miyazaki.jp","hyuga.miyazaki.jp","kadogawa.miyazaki.jp","kawaminami.miyazaki.jp","kijo.miyazaki.jp","kitagawa.miyazaki.jp","kitakata.miyazaki.jp","kitaura.miyazaki.jp","kobayashi.miyazaki.jp","kunitomi.miyazaki.jp","kushima.miyazaki.jp","mimata.miyazaki.jp","miyakonojo.miyazaki.jp","miyazaki.miyazaki.jp","morotsuka.miyazaki.jp","nichinan.miyazaki.jp","nishimera.miyazaki.jp","nobeoka.miyazaki.jp","saito.miyazaki.jp","shiiba.miyazaki.jp","shintomi.miyazaki.jp","takaharu.miyazaki.jp","takanabe.miyazaki.jp","takazaki.miyazaki.jp","tsuno.miyazaki.jp","achi.nagano.jp","agematsu.nagano.jp","anan.nagano.jp","aoki.nagano.jp","asahi.nagano.jp","azumino.nagano.jp","chikuhoku.nagano.jp","chikuma.nagano.jp","chino.nagano.jp","fujimi.nagano.jp","hakuba.nagano.jp","hara.nagano.jp","hiraya.nagano.jp","iida.nagano.jp","iijima.nagano.jp","iiyama.nagano.jp","iizuna.nagano.jp","ikeda.nagano.jp","ikusaka.nagano.jp","ina.nagano.jp","karuizawa.nagano.jp","kawakami.nagano.jp","kiso.nagano.jp","kisofukushima.nagano.jp","kitaaiki.nagano.jp","komagane.nagano.jp","komoro.nagano.jp","matsukawa.nagano.jp","matsumoto.nagano.jp","miasa.nagano.jp","minamiaiki.nagano.jp","minamimaki.nagano.jp","minamiminowa.nagano.jp","minowa.nagano.jp","miyada.nagano.jp","miyota.nagano.jp","mochizuki.nagano.jp","nagano.nagano.jp","nagawa.nagano.jp","nagiso.nagano.jp","nakagawa.nagano.jp","nakano.nagano.jp","nozawaonsen.nagano.jp","obuse.nagano.jp","ogawa.nagano.jp","okaya.nagano.jp","omachi.nagano.jp","omi.nagano.jp","ookuwa.nagano.jp","ooshika.nagano.jp","otaki.nagano.jp","otari.nagano.jp","sakae.nagano.jp","sakaki.nagano.jp","saku.nagano.jp","sakuho.nagano.jp","shimosuwa.nagano.jp","shinanomachi.nagano.jp","shiojiri.nagano.jp","suwa.nagano.jp","suzaka.nagano.jp","takagi.nagano.jp","takamori.nagano.jp","takayama.nagano.jp","tateshina.nagano.jp","tatsuno.nagano.jp","togakushi.nagano.jp","togura.nagano.jp","tomi.nagano.jp","ueda.nagano.jp","wada.nagano.jp","yamagata.nagano.jp","yamanouchi.nagano.jp","yasaka.nagano.jp","yasuoka.nagano.jp","chijiwa.nagasaki.jp","futsu.nagasaki.jp","goto.nagasaki.jp","hasami.nagasaki.jp","hirado.nagasaki.jp","iki.nagasaki.jp","isahaya.nagasaki.jp","kawatana.nagasaki.jp","kuchinotsu.nagasaki.jp","matsuura.nagasaki.jp","nagasaki.nagasaki.jp","obama.nagasaki.jp","omura.nagasaki.jp","oseto.nagasaki.jp","saikai.nagasaki.jp","sasebo.nagasaki.jp","seihi.nagasaki.jp","shimabara.nagasaki.jp","shinkamigoto.nagasaki.jp","togitsu.nagasaki.jp","tsushima.nagasaki.jp","unzen.nagasaki.jp","ando.nara.jp","gose.nara.jp","heguri.nara.jp","higashiyoshino.nara.jp","ikaruga.nara.jp","ikoma.nara.jp","kamikitayama.nara.jp","kanmaki.nara.jp","kashiba.nara.jp","kashihara.nara.jp","katsuragi.nara.jp","kawai.nara.jp","kawakami.nara.jp","kawanishi.nara.jp","koryo.nara.jp","kurotaki.nara.jp","mitsue.nara.jp","miyake.nara.jp","nara.nara.jp","nosegawa.nara.jp","oji.nara.jp","ouda.nara.jp","oyodo.nara.jp","sakurai.nara.jp","sango.nara.jp","shimoichi.nara.jp","shimokitayama.nara.jp","shinjo.nara.jp","soni.nara.jp","takatori.nara.jp","tawaramoto.nara.jp","tenkawa.nara.jp","tenri.nara.jp","uda.nara.jp","yamatokoriyama.nara.jp","yamatotakada.nara.jp","yamazoe.nara.jp","yoshino.nara.jp","aga.niigata.jp","agano.niigata.jp","gosen.niigata.jp","itoigawa.niigata.jp","izumozaki.niigata.jp","joetsu.niigata.jp","kamo.niigata.jp","kariwa.niigata.jp","kashiwazaki.niigata.jp","minamiuonuma.niigata.jp","mitsuke.niigata.jp","muika.niigata.jp","murakami.niigata.jp","myoko.niigata.jp","nagaoka.niigata.jp","niigata.niigata.jp","ojiya.niigata.jp","omi.niigata.jp","sado.niigata.jp","sanjo.niigata.jp","seiro.niigata.jp","seirou.niigata.jp","sekikawa.niigata.jp","shibata.niigata.jp","tagami.niigata.jp","tainai.niigata.jp","tochio.niigata.jp","tokamachi.niigata.jp","tsubame.niigata.jp","tsunan.niigata.jp","uonuma.niigata.jp","yahiko.niigata.jp","yoita.niigata.jp","yuzawa.niigata.jp","beppu.oita.jp","bungoono.oita.jp","bungotakada.oita.jp","hasama.oita.jp","hiji.oita.jp","himeshima.oita.jp","hita.oita.jp","kamitsue.oita.jp","kokonoe.oita.jp","kuju.oita.jp","kunisaki.oita.jp","kusu.oita.jp","oita.oita.jp","saiki.oita.jp","taketa.oita.jp","tsukumi.oita.jp","usa.oita.jp","usuki.oita.jp","yufu.oita.jp","akaiwa.okayama.jp","asakuchi.okayama.jp","bizen.okayama.jp","hayashima.okayama.jp","ibara.okayama.jp","kagamino.okayama.jp","kasaoka.okayama.jp","kibichuo.okayama.jp","kumenan.okayama.jp","kurashiki.okayama.jp","maniwa.okayama.jp","misaki.okayama.jp","nagi.okayama.jp","niimi.okayama.jp","nishiawakura.okayama.jp","okayama.okayama.jp","satosho.okayama.jp","setouchi.okayama.jp","shinjo.okayama.jp","shoo.okayama.jp","soja.okayama.jp","takahashi.okayama.jp","tamano.okayama.jp","tsuyama.okayama.jp","wake.okayama.jp","yakage.okayama.jp","aguni.okinawa.jp","ginowan.okinawa.jp","ginoza.okinawa.jp","gushikami.okinawa.jp","haebaru.okinawa.jp","higashi.okinawa.jp","hirara.okinawa.jp","iheya.okinawa.jp","ishigaki.okinawa.jp","ishikawa.okinawa.jp","itoman.okinawa.jp","izena.okinawa.jp","kadena.okinawa.jp","kin.okinawa.jp","kitadaito.okinawa.jp","kitanakagusuku.okinawa.jp","kumejima.okinawa.jp","kunigami.okinawa.jp","minamidaito.okinawa.jp","motobu.okinawa.jp","nago.okinawa.jp","naha.okinawa.jp","nakagusuku.okinawa.jp","nakijin.okinawa.jp","nanjo.okinawa.jp","nishihara.okinawa.jp","ogimi.okinawa.jp","okinawa.okinawa.jp","onna.okinawa.jp","shimoji.okinawa.jp","taketomi.okinawa.jp","tarama.okinawa.jp","tokashiki.okinawa.jp","tomigusuku.okinawa.jp","tonaki.okinawa.jp","urasoe.okinawa.jp","uruma.okinawa.jp","yaese.okinawa.jp","yomitan.okinawa.jp","yonabaru.okinawa.jp","yonaguni.okinawa.jp","zamami.okinawa.jp","abeno.osaka.jp","chihayaakasaka.osaka.jp","chuo.osaka.jp","daito.osaka.jp","fujiidera.osaka.jp","habikino.osaka.jp","hannan.osaka.jp","higashiosaka.osaka.jp","higashisumiyoshi.osaka.jp","higashiyodogawa.osaka.jp","hirakata.osaka.jp","ibaraki.osaka.jp","ikeda.osaka.jp","izumi.osaka.jp","izumiotsu.osaka.jp","izumisano.osaka.jp","kadoma.osaka.jp","kaizuka.osaka.jp","kanan.osaka.jp","kashiwara.osaka.jp","katano.osaka.jp","kawachinagano.osaka.jp","kishiwada.osaka.jp","kita.osaka.jp","kumatori.osaka.jp","matsubara.osaka.jp","minato.osaka.jp","minoh.osaka.jp","misaki.osaka.jp","moriguchi.osaka.jp","neyagawa.osaka.jp","nishi.osaka.jp","nose.osaka.jp","osakasayama.osaka.jp","sakai.osaka.jp","sayama.osaka.jp","sennan.osaka.jp","settsu.osaka.jp","shijonawate.osaka.jp","shimamoto.osaka.jp","suita.osaka.jp","tadaoka.osaka.jp","taishi.osaka.jp","tajiri.osaka.jp","takaishi.osaka.jp","takatsuki.osaka.jp","tondabayashi.osaka.jp","toyonaka.osaka.jp","toyono.osaka.jp","yao.osaka.jp","ariake.saga.jp","arita.saga.jp","fukudomi.saga.jp","genkai.saga.jp","hamatama.saga.jp","hizen.saga.jp","imari.saga.jp","kamimine.saga.jp","kanzaki.saga.jp","karatsu.saga.jp","kashima.saga.jp","kitagata.saga.jp","kitahata.saga.jp","kiyama.saga.jp","kouhoku.saga.jp","kyuragi.saga.jp","nishiarita.saga.jp","ogi.saga.jp","omachi.saga.jp","ouchi.saga.jp","saga.saga.jp","shiroishi.saga.jp","taku.saga.jp","tara.saga.jp","tosu.saga.jp","yoshinogari.saga.jp","arakawa.saitama.jp","asaka.saitama.jp","chichibu.saitama.jp","fujimi.saitama.jp","fujimino.saitama.jp","fukaya.saitama.jp","hanno.saitama.jp","hanyu.saitama.jp","hasuda.saitama.jp","hatogaya.saitama.jp","hatoyama.saitama.jp","hidaka.saitama.jp","higashichichibu.saitama.jp","higashimatsuyama.saitama.jp","honjo.saitama.jp","ina.saitama.jp","iruma.saitama.jp","iwatsuki.saitama.jp","kamiizumi.saitama.jp","kamikawa.saitama.jp","kamisato.saitama.jp","kasukabe.saitama.jp","kawagoe.saitama.jp","kawaguchi.saitama.jp","kawajima.saitama.jp","kazo.saitama.jp","kitamoto.saitama.jp","koshigaya.saitama.jp","kounosu.saitama.jp","kuki.saitama.jp","kumagaya.saitama.jp","matsubushi.saitama.jp","minano.saitama.jp","misato.saitama.jp","miyashiro.saitama.jp","miyoshi.saitama.jp","moroyama.saitama.jp","nagatoro.saitama.jp","namegawa.saitama.jp","niiza.saitama.jp","ogano.saitama.jp","ogawa.saitama.jp","ogose.saitama.jp","okegawa.saitama.jp","omiya.saitama.jp","otaki.saitama.jp","ranzan.saitama.jp","ryokami.saitama.jp","saitama.saitama.jp","sakado.saitama.jp","satte.saitama.jp","sayama.saitama.jp","shiki.saitama.jp","shiraoka.saitama.jp","soka.saitama.jp","sugito.saitama.jp","toda.saitama.jp","tokigawa.saitama.jp","tokorozawa.saitama.jp","tsurugashima.saitama.jp","urawa.saitama.jp","warabi.saitama.jp","yashio.saitama.jp","yokoze.saitama.jp","yono.saitama.jp","yorii.saitama.jp","yoshida.saitama.jp","yoshikawa.saitama.jp","yoshimi.saitama.jp","aisho.shiga.jp","gamo.shiga.jp","higashiomi.shiga.jp","hikone.shiga.jp","koka.shiga.jp","konan.shiga.jp","kosei.shiga.jp","koto.shiga.jp","kusatsu.shiga.jp","maibara.shiga.jp","moriyama.shiga.jp","nagahama.shiga.jp","nishiazai.shiga.jp","notogawa.shiga.jp","omihachiman.shiga.jp","otsu.shiga.jp","ritto.shiga.jp","ryuoh.shiga.jp","takashima.shiga.jp","takatsuki.shiga.jp","torahime.shiga.jp","toyosato.shiga.jp","yasu.shiga.jp","akagi.shimane.jp","ama.shimane.jp","gotsu.shimane.jp","hamada.shimane.jp","higashiizumo.shimane.jp","hikawa.shimane.jp","hikimi.shimane.jp","izumo.shimane.jp","kakinoki.shimane.jp","masuda.shimane.jp","matsue.shimane.jp","misato.shimane.jp","nishinoshima.shimane.jp","ohda.shimane.jp","okinoshima.shimane.jp","okuizumo.shimane.jp","shimane.shimane.jp","tamayu.shimane.jp","tsuwano.shimane.jp","unnan.shimane.jp","yakumo.shimane.jp","yasugi.shimane.jp","yatsuka.shimane.jp","arai.shizuoka.jp","atami.shizuoka.jp","fuji.shizuoka.jp","fujieda.shizuoka.jp","fujikawa.shizuoka.jp","fujinomiya.shizuoka.jp","fukuroi.shizuoka.jp","gotemba.shizuoka.jp","haibara.shizuoka.jp","hamamatsu.shizuoka.jp","higashiizu.shizuoka.jp","ito.shizuoka.jp","iwata.shizuoka.jp","izu.shizuoka.jp","izunokuni.shizuoka.jp","kakegawa.shizuoka.jp","kannami.shizuoka.jp","kawanehon.shizuoka.jp","kawazu.shizuoka.jp","kikugawa.shizuoka.jp","kosai.shizuoka.jp","makinohara.shizuoka.jp","matsuzaki.shizuoka.jp","minamiizu.shizuoka.jp","mishima.shizuoka.jp","morimachi.shizuoka.jp","nishiizu.shizuoka.jp","numazu.shizuoka.jp","omaezaki.shizuoka.jp","shimada.shizuoka.jp","shimizu.shizuoka.jp","shimoda.shizuoka.jp","shizuoka.shizuoka.jp","susono.shizuoka.jp","yaizu.shizuoka.jp","yoshida.shizuoka.jp","ashikaga.tochigi.jp","bato.tochigi.jp","haga.tochigi.jp","ichikai.tochigi.jp","iwafune.tochigi.jp","kaminokawa.tochigi.jp","kanuma.tochigi.jp","karasuyama.tochigi.jp","kuroiso.tochigi.jp","mashiko.tochigi.jp","mibu.tochigi.jp","moka.tochigi.jp","motegi.tochigi.jp","nasu.tochigi.jp","nasushiobara.tochigi.jp","nikko.tochigi.jp","nishikata.tochigi.jp","nogi.tochigi.jp","ohira.tochigi.jp","ohtawara.tochigi.jp","oyama.tochigi.jp","sakura.tochigi.jp","sano.tochigi.jp","shimotsuke.tochigi.jp","shioya.tochigi.jp","takanezawa.tochigi.jp","tochigi.tochigi.jp","tsuga.tochigi.jp","ujiie.tochigi.jp","utsunomiya.tochigi.jp","yaita.tochigi.jp","aizumi.tokushima.jp","anan.tokushima.jp","ichiba.tokushima.jp","itano.tokushima.jp","kainan.tokushima.jp","komatsushima.tokushima.jp","matsushige.tokushima.jp","mima.tokushima.jp","minami.tokushima.jp","miyoshi.tokushima.jp","mugi.tokushima.jp","nakagawa.tokushima.jp","naruto.tokushima.jp","sanagochi.tokushima.jp","shishikui.tokushima.jp","tokushima.tokushima.jp","wajiki.tokushima.jp","adachi.tokyo.jp","akiruno.tokyo.jp","akishima.tokyo.jp","aogashima.tokyo.jp","arakawa.tokyo.jp","bunkyo.tokyo.jp","chiyoda.tokyo.jp","chofu.tokyo.jp","chuo.tokyo.jp","edogawa.tokyo.jp","fuchu.tokyo.jp","fussa.tokyo.jp","hachijo.tokyo.jp","hachioji.tokyo.jp","hamura.tokyo.jp","higashikurume.tokyo.jp","higashimurayama.tokyo.jp","higashiyamato.tokyo.jp","hino.tokyo.jp","hinode.tokyo.jp","hinohara.tokyo.jp","inagi.tokyo.jp","itabashi.tokyo.jp","katsushika.tokyo.jp","kita.tokyo.jp","kiyose.tokyo.jp","kodaira.tokyo.jp","koganei.tokyo.jp","kokubunji.tokyo.jp","komae.tokyo.jp","koto.tokyo.jp","kouzushima.tokyo.jp","kunitachi.tokyo.jp","machida.tokyo.jp","meguro.tokyo.jp","minato.tokyo.jp","mitaka.tokyo.jp","mizuho.tokyo.jp","musashimurayama.tokyo.jp","musashino.tokyo.jp","nakano.tokyo.jp","nerima.tokyo.jp","ogasawara.tokyo.jp","okutama.tokyo.jp","ome.tokyo.jp","oshima.tokyo.jp","ota.tokyo.jp","setagaya.tokyo.jp","shibuya.tokyo.jp","shinagawa.tokyo.jp","shinjuku.tokyo.jp","suginami.tokyo.jp","sumida.tokyo.jp","tachikawa.tokyo.jp","taito.tokyo.jp","tama.tokyo.jp","toshima.tokyo.jp","chizu.tottori.jp","hino.tottori.jp","kawahara.tottori.jp","koge.tottori.jp","kotoura.tottori.jp","misasa.tottori.jp","nanbu.tottori.jp","nichinan.tottori.jp","sakaiminato.tottori.jp","tottori.tottori.jp","wakasa.tottori.jp","yazu.tottori.jp","yonago.tottori.jp","asahi.toyama.jp","fuchu.toyama.jp","fukumitsu.toyama.jp","funahashi.toyama.jp","himi.toyama.jp","imizu.toyama.jp","inami.toyama.jp","johana.toyama.jp","kamiichi.toyama.jp","kurobe.toyama.jp","nakaniikawa.toyama.jp","namerikawa.toyama.jp","nanto.toyama.jp","nyuzen.toyama.jp","oyabe.toyama.jp","taira.toyama.jp","takaoka.toyama.jp","tateyama.toyama.jp","toga.toyama.jp","tonami.toyama.jp","toyama.toyama.jp","unazuki.toyama.jp","uozu.toyama.jp","yamada.toyama.jp","arida.wakayama.jp","aridagawa.wakayama.jp","gobo.wakayama.jp","hashimoto.wakayama.jp","hidaka.wakayama.jp","hirogawa.wakayama.jp","inami.wakayama.jp","iwade.wakayama.jp","kainan.wakayama.jp","kamitonda.wakayama.jp","katsuragi.wakayama.jp","kimino.wakayama.jp","kinokawa.wakayama.jp","kitayama.wakayama.jp","koya.wakayama.jp","koza.wakayama.jp","kozagawa.wakayama.jp","kudoyama.wakayama.jp","kushimoto.wakayama.jp","mihama.wakayama.jp","misato.wakayama.jp","nachikatsuura.wakayama.jp","shingu.wakayama.jp","shirahama.wakayama.jp","taiji.wakayama.jp","tanabe.wakayama.jp","wakayama.wakayama.jp","yuasa.wakayama.jp","yura.wakayama.jp","asahi.yamagata.jp","funagata.yamagata.jp","higashine.yamagata.jp","iide.yamagata.jp","kahoku.yamagata.jp","kaminoyama.yamagata.jp","kaneyama.yamagata.jp","kawanishi.yamagata.jp","mamurogawa.yamagata.jp","mikawa.yamagata.jp","murayama.yamagata.jp","nagai.yamagata.jp","nakayama.yamagata.jp","nanyo.yamagata.jp","nishikawa.yamagata.jp","obanazawa.yamagata.jp","oe.yamagata.jp","oguni.yamagata.jp","ohkura.yamagata.jp","oishida.yamagata.jp","sagae.yamagata.jp","sakata.yamagata.jp","sakegawa.yamagata.jp","shinjo.yamagata.jp","shirataka.yamagata.jp","shonai.yamagata.jp","takahata.yamagata.jp","tendo.yamagata.jp","tozawa.yamagata.jp","tsuruoka.yamagata.jp","yamagata.yamagata.jp","yamanobe.yamagata.jp","yonezawa.yamagata.jp","yuza.yamagata.jp","abu.yamaguchi.jp","hagi.yamaguchi.jp","hikari.yamaguchi.jp","hofu.yamaguchi.jp","iwakuni.yamaguchi.jp","kudamatsu.yamaguchi.jp","mitou.yamaguchi.jp","nagato.yamaguchi.jp","oshima.yamaguchi.jp","shimonoseki.yamaguchi.jp","shunan.yamaguchi.jp","tabuse.yamaguchi.jp","tokuyama.yamaguchi.jp","toyota.yamaguchi.jp","ube.yamaguchi.jp","yuu.yamaguchi.jp","chuo.yamanashi.jp","doshi.yamanashi.jp","fuefuki.yamanashi.jp","fujikawa.yamanashi.jp","fujikawaguchiko.yamanashi.jp","fujiyoshida.yamanashi.jp","hayakawa.yamanashi.jp","hokuto.yamanashi.jp","ichikawamisato.yamanashi.jp","kai.yamanashi.jp","kofu.yamanashi.jp","koshu.yamanashi.jp","kosuge.yamanashi.jp","minami-alps.yamanashi.jp","minobu.yamanashi.jp","nakamichi.yamanashi.jp","nanbu.yamanashi.jp","narusawa.yamanashi.jp","nirasaki.yamanashi.jp","nishikatsura.yamanashi.jp","oshino.yamanashi.jp","otsuki.yamanashi.jp","showa.yamanashi.jp","tabayama.yamanashi.jp","tsuru.yamanashi.jp","uenohara.yamanashi.jp","yamanakako.yamanashi.jp","yamanashi.yamanashi.jp","ke","ac.ke","co.ke","go.ke","info.ke","me.ke","mobi.ke","ne.ke","or.ke","sc.ke","kg","org.kg","net.kg","com.kg","edu.kg","gov.kg","mil.kg","*.kh","ki","edu.ki","biz.ki","net.ki","org.ki","gov.ki","info.ki","com.ki","km","org.km","nom.km","gov.km","prd.km","tm.km","edu.km","mil.km","ass.km","com.km","coop.km","asso.km","presse.km","medecin.km","notaires.km","pharmaciens.km","veterinaire.km","gouv.km","kn","net.kn","org.kn","edu.kn","gov.kn","kp","com.kp","edu.kp","gov.kp","org.kp","rep.kp","tra.kp","kr","ac.kr","co.kr","es.kr","go.kr","hs.kr","kg.kr","mil.kr","ms.kr","ne.kr","or.kr","pe.kr","re.kr","sc.kr","busan.kr","chungbuk.kr","chungnam.kr","daegu.kr","daejeon.kr","gangwon.kr","gwangju.kr","gyeongbuk.kr","gyeonggi.kr","gyeongnam.kr","incheon.kr","jeju.kr","jeonbuk.kr","jeonnam.kr","seoul.kr","ulsan.kr","kw","com.kw","edu.kw","emb.kw","gov.kw","ind.kw","net.kw","org.kw","ky","com.ky","edu.ky","net.ky","org.ky","kz","org.kz","edu.kz","net.kz","gov.kz","mil.kz","com.kz","la","int.la","net.la","info.la","edu.la","gov.la","per.la","com.la","org.la","lb","com.lb","edu.lb","gov.lb","net.lb","org.lb","lc","com.lc","net.lc","co.lc","org.lc","edu.lc","gov.lc","li","lk","gov.lk","sch.lk","net.lk","int.lk","com.lk","org.lk","edu.lk","ngo.lk","soc.lk","web.lk","ltd.lk","assn.lk","grp.lk","hotel.lk","ac.lk","lr","com.lr","edu.lr","gov.lr","org.lr","net.lr","ls","ac.ls","biz.ls","co.ls","edu.ls","gov.ls","info.ls","net.ls","org.ls","sc.ls","lt","gov.lt","lu","lv","com.lv","edu.lv","gov.lv","org.lv","mil.lv","id.lv","net.lv","asn.lv","conf.lv","ly","com.ly","net.ly","gov.ly","plc.ly","edu.ly","sch.ly","med.ly","org.ly","id.ly","ma","co.ma","net.ma","gov.ma","org.ma","ac.ma","press.ma","mc","tm.mc","asso.mc","md","me","co.me","net.me","org.me","edu.me","ac.me","gov.me","its.me","priv.me","mg","org.mg","nom.mg","gov.mg","prd.mg","tm.mg","edu.mg","mil.mg","com.mg","co.mg","mh","mil","mk","com.mk","org.mk","net.mk","edu.mk","gov.mk","inf.mk","name.mk","ml","com.ml","edu.ml","gouv.ml","gov.ml","net.ml","org.ml","presse.ml","*.mm","mn","gov.mn","edu.mn","org.mn","mo","com.mo","net.mo","org.mo","edu.mo","gov.mo","mobi","mp","mq","mr","gov.mr","ms","com.ms","edu.ms","gov.ms","net.ms","org.ms","mt","com.mt","edu.mt","net.mt","org.mt","mu","com.mu","net.mu","org.mu","gov.mu","ac.mu","co.mu","or.mu","museum","academy.museum","agriculture.museum","air.museum","airguard.museum","alabama.museum","alaska.museum","amber.museum","ambulance.museum","american.museum","americana.museum","americanantiques.museum","americanart.museum","amsterdam.museum","and.museum","annefrank.museum","anthro.museum","anthropology.museum","antiques.museum","aquarium.museum","arboretum.museum","archaeological.museum","archaeology.museum","architecture.museum","art.museum","artanddesign.museum","artcenter.museum","artdeco.museum","arteducation.museum","artgallery.museum","arts.museum","artsandcrafts.museum","asmatart.museum","assassination.museum","assisi.museum","association.museum","astronomy.museum","atlanta.museum","austin.museum","australia.museum","automotive.museum","aviation.museum","axis.museum","badajoz.museum","baghdad.museum","bahn.museum","bale.museum","baltimore.museum","barcelona.museum","baseball.museum","basel.museum","baths.museum","bauern.museum","beauxarts.museum","beeldengeluid.museum","bellevue.museum","bergbau.museum","berkeley.museum","berlin.museum","bern.museum","bible.museum","bilbao.museum","bill.museum","birdart.museum","birthplace.museum","bonn.museum","boston.museum","botanical.museum","botanicalgarden.museum","botanicgarden.museum","botany.museum","brandywinevalley.museum","brasil.museum","bristol.museum","british.museum","britishcolumbia.museum","broadcast.museum","brunel.museum","brussel.museum","brussels.museum","bruxelles.museum","building.museum","burghof.museum","bus.museum","bushey.museum","cadaques.museum","california.museum","cambridge.museum","can.museum","canada.museum","capebreton.museum","carrier.museum","cartoonart.museum","casadelamoneda.museum","castle.museum","castres.museum","celtic.museum","center.museum","chattanooga.museum","cheltenham.museum","chesapeakebay.museum","chicago.museum","children.museum","childrens.museum","childrensgarden.museum","chiropractic.museum","chocolate.museum","christiansburg.museum","cincinnati.museum","cinema.museum","circus.museum","civilisation.museum","civilization.museum","civilwar.museum","clinton.museum","clock.museum","coal.museum","coastaldefence.museum","cody.museum","coldwar.museum","collection.museum","colonialwilliamsburg.museum","coloradoplateau.museum","columbia.museum","columbus.museum","communication.museum","communications.museum","community.museum","computer.museum","computerhistory.museum","comunicações.museum","contemporary.museum","contemporaryart.museum","convent.museum","copenhagen.museum","corporation.museum","correios-e-telecomunicações.museum","corvette.museum","costume.museum","countryestate.museum","county.museum","crafts.museum","cranbrook.museum","creation.museum","cultural.museum","culturalcenter.museum","culture.museum","cyber.museum","cymru.museum","dali.museum","dallas.museum","database.museum","ddr.museum","decorativearts.museum","delaware.museum","delmenhorst.museum","denmark.museum","depot.museum","design.museum","detroit.museum","dinosaur.museum","discovery.museum","dolls.museum","donostia.museum","durham.museum","eastafrica.museum","eastcoast.museum","education.museum","educational.museum","egyptian.museum","eisenbahn.museum","elburg.museum","elvendrell.museum","embroidery.museum","encyclopedic.museum","england.museum","entomology.museum","environment.museum","environmentalconservation.museum","epilepsy.museum","essex.museum","estate.museum","ethnology.museum","exeter.museum","exhibition.museum","family.museum","farm.museum","farmequipment.museum","farmers.museum","farmstead.museum","field.museum","figueres.museum","filatelia.museum","film.museum","fineart.museum","finearts.museum","finland.museum","flanders.museum","florida.museum","force.museum","fortmissoula.museum","fortworth.museum","foundation.museum","francaise.museum","frankfurt.museum","franziskaner.museum","freemasonry.museum","freiburg.museum","fribourg.museum","frog.museum","fundacio.museum","furniture.museum","gallery.museum","garden.museum","gateway.museum","geelvinck.museum","gemological.museum","geology.museum","georgia.museum","giessen.museum","glas.museum","glass.museum","gorge.museum","grandrapids.museum","graz.museum","guernsey.museum","halloffame.museum","hamburg.museum","handson.museum","harvestcelebration.museum","hawaii.museum","health.museum","heimatunduhren.museum","hellas.museum","helsinki.museum","hembygdsforbund.museum","heritage.museum","histoire.museum","historical.museum","historicalsociety.museum","historichouses.museum","historisch.museum","historisches.museum","history.museum","historyofscience.museum","horology.museum","house.museum","humanities.museum","illustration.museum","imageandsound.museum","indian.museum","indiana.museum","indianapolis.museum","indianmarket.museum","intelligence.museum","interactive.museum","iraq.museum","iron.museum","isleofman.museum","jamison.museum","jefferson.museum","jerusalem.museum","jewelry.museum","jewish.museum","jewishart.museum","jfk.museum","journalism.museum","judaica.museum","judygarland.museum","juedisches.museum","juif.museum","karate.museum","karikatur.museum","kids.museum","koebenhavn.museum","koeln.museum","kunst.museum","kunstsammlung.museum","kunstunddesign.museum","labor.museum","labour.museum","lajolla.museum","lancashire.museum","landes.museum","lans.museum","läns.museum","larsson.museum","lewismiller.museum","lincoln.museum","linz.museum","living.museum","livinghistory.museum","localhistory.museum","london.museum","losangeles.museum","louvre.museum","loyalist.museum","lucerne.museum","luxembourg.museum","luzern.museum","mad.museum","madrid.museum","mallorca.museum","manchester.museum","mansion.museum","mansions.museum","manx.museum","marburg.museum","maritime.museum","maritimo.museum","maryland.museum","marylhurst.museum","media.museum","medical.museum","medizinhistorisches.museum","meeres.museum","memorial.museum","mesaverde.museum","michigan.museum","midatlantic.museum","military.museum","mill.museum","miners.museum","mining.museum","minnesota.museum","missile.museum","missoula.museum","modern.museum","moma.museum","money.museum","monmouth.museum","monticello.museum","montreal.museum","moscow.museum","motorcycle.museum","muenchen.museum","muenster.museum","mulhouse.museum","muncie.museum","museet.museum","museumcenter.museum","museumvereniging.museum","music.museum","national.museum","nationalfirearms.museum","nationalheritage.museum","nativeamerican.museum","naturalhistory.museum","naturalhistorymuseum.museum","naturalsciences.museum","nature.museum","naturhistorisches.museum","natuurwetenschappen.museum","naumburg.museum","naval.museum","nebraska.museum","neues.museum","newhampshire.museum","newjersey.museum","newmexico.museum","newport.museum","newspaper.museum","newyork.museum","niepce.museum","norfolk.museum","north.museum","nrw.museum","nyc.museum","nyny.museum","oceanographic.museum","oceanographique.museum","omaha.museum","online.museum","ontario.museum","openair.museum","oregon.museum","oregontrail.museum","otago.museum","oxford.museum","pacific.museum","paderborn.museum","palace.museum","paleo.museum","palmsprings.museum","panama.museum","paris.museum","pasadena.museum","pharmacy.museum","philadelphia.museum","philadelphiaarea.museum","philately.museum","phoenix.museum","photography.museum","pilots.museum","pittsburgh.museum","planetarium.museum","plantation.museum","plants.museum","plaza.museum","portal.museum","portland.museum","portlligat.museum","posts-and-telecommunications.museum","preservation.museum","presidio.museum","press.museum","project.museum","public.museum","pubol.museum","quebec.museum","railroad.museum","railway.museum","research.museum","resistance.museum","riodejaneiro.museum","rochester.museum","rockart.museum","roma.museum","russia.museum","saintlouis.museum","salem.museum","salvadordali.museum","salzburg.museum","sandiego.museum","sanfrancisco.museum","santabarbara.museum","santacruz.museum","santafe.museum","saskatchewan.museum","satx.museum","savannahga.museum","schlesisches.museum","schoenbrunn.museum","schokoladen.museum","school.museum","schweiz.museum","science.museum","scienceandhistory.museum","scienceandindustry.museum","sciencecenter.museum","sciencecenters.museum","science-fiction.museum","sciencehistory.museum","sciences.museum","sciencesnaturelles.museum","scotland.museum","seaport.museum","settlement.museum","settlers.museum","shell.museum","sherbrooke.museum","sibenik.museum","silk.museum","ski.museum","skole.museum","society.museum","sologne.museum","soundandvision.museum","southcarolina.museum","southwest.museum","space.museum","spy.museum","square.museum","stadt.museum","stalbans.museum","starnberg.museum","state.museum","stateofdelaware.museum","station.museum","steam.museum","steiermark.museum","stjohn.museum","stockholm.museum","stpetersburg.museum","stuttgart.museum","suisse.museum","surgeonshall.museum","surrey.museum","svizzera.museum","sweden.museum","sydney.museum","tank.museum","tcm.museum","technology.museum","telekommunikation.museum","television.museum","texas.museum","textile.museum","theater.museum","time.museum","timekeeping.museum","topology.museum","torino.museum","touch.museum","town.museum","transport.museum","tree.museum","trolley.museum","trust.museum","trustee.museum","uhren.museum","ulm.museum","undersea.museum","university.museum","usa.museum","usantiques.museum","usarts.museum","uscountryestate.museum","usculture.museum","usdecorativearts.museum","usgarden.museum","ushistory.museum","ushuaia.museum","uslivinghistory.museum","utah.museum","uvic.museum","valley.museum","vantaa.museum","versailles.museum","viking.museum","village.museum","virginia.museum","virtual.museum","virtuel.museum","vlaanderen.museum","volkenkunde.museum","wales.museum","wallonie.museum","war.museum","washingtondc.museum","watchandclock.museum","watch-and-clock.museum","western.museum","westfalen.museum","whaling.museum","wildlife.museum","williamsburg.museum","windmill.museum","workshop.museum","york.museum","yorkshire.museum","yosemite.museum","youth.museum","zoological.museum","zoology.museum","ירושלים.museum","иком.museum","mv","aero.mv","biz.mv","com.mv","coop.mv","edu.mv","gov.mv","info.mv","int.mv","mil.mv","museum.mv","name.mv","net.mv","org.mv","pro.mv","mw","ac.mw","biz.mw","co.mw","com.mw","coop.mw","edu.mw","gov.mw","int.mw","museum.mw","net.mw","org.mw","mx","com.mx","org.mx","gob.mx","edu.mx","net.mx","my","biz.my","com.my","edu.my","gov.my","mil.my","name.my","net.my","org.my","mz","ac.mz","adv.mz","co.mz","edu.mz","gov.mz","mil.mz","net.mz","org.mz","na","info.na","pro.na","name.na","school.na","or.na","dr.na","us.na","mx.na","ca.na","in.na","cc.na","tv.na","ws.na","mobi.na","co.na","com.na","org.na","name","nc","asso.nc","nom.nc","ne","net","nf","com.nf","net.nf","per.nf","rec.nf","web.nf","arts.nf","firm.nf","info.nf","other.nf","store.nf","ng","com.ng","edu.ng","gov.ng","i.ng","mil.ng","mobi.ng","name.ng","net.ng","org.ng","sch.ng","ni","ac.ni","biz.ni","co.ni","com.ni","edu.ni","gob.ni","in.ni","info.ni","int.ni","mil.ni","net.ni","nom.ni","org.ni","web.ni","nl","no","fhs.no","vgs.no","fylkesbibl.no","folkebibl.no","museum.no","idrett.no","priv.no","mil.no","stat.no","dep.no","kommune.no","herad.no","aa.no","ah.no","bu.no","fm.no","hl.no","hm.no","jan-mayen.no","mr.no","nl.no","nt.no","of.no","ol.no","oslo.no","rl.no","sf.no","st.no","svalbard.no","tm.no","tr.no","va.no","vf.no","gs.aa.no","gs.ah.no","gs.bu.no","gs.fm.no","gs.hl.no","gs.hm.no","gs.jan-mayen.no","gs.mr.no","gs.nl.no","gs.nt.no","gs.of.no","gs.ol.no","gs.oslo.no","gs.rl.no","gs.sf.no","gs.st.no","gs.svalbard.no","gs.tm.no","gs.tr.no","gs.va.no","gs.vf.no","akrehamn.no","åkrehamn.no","algard.no","ålgård.no","arna.no","brumunddal.no","bryne.no","bronnoysund.no","brønnøysund.no","drobak.no","drøbak.no","egersund.no","fetsund.no","floro.no","florø.no","fredrikstad.no","hokksund.no","honefoss.no","hønefoss.no","jessheim.no","jorpeland.no","jørpeland.no","kirkenes.no","kopervik.no","krokstadelva.no","langevag.no","langevåg.no","leirvik.no","mjondalen.no","mjøndalen.no","mo-i-rana.no","mosjoen.no","mosjøen.no","nesoddtangen.no","orkanger.no","osoyro.no","osøyro.no","raholt.no","råholt.no","sandnessjoen.no","sandnessjøen.no","skedsmokorset.no","slattum.no","spjelkavik.no","stathelle.no","stavern.no","stjordalshalsen.no","stjørdalshalsen.no","tananger.no","tranby.no","vossevangen.no","afjord.no","åfjord.no","agdenes.no","al.no","ål.no","alesund.no","ålesund.no","alstahaug.no","alta.no","áltá.no","alaheadju.no","álaheadju.no","alvdal.no","amli.no","åmli.no","amot.no","åmot.no","andebu.no","andoy.no","andøy.no","andasuolo.no","ardal.no","årdal.no","aremark.no","arendal.no","ås.no","aseral.no","åseral.no","asker.no","askim.no","askvoll.no","askoy.no","askøy.no","asnes.no","åsnes.no","audnedaln.no","aukra.no","aure.no","aurland.no","aurskog-holand.no","aurskog-høland.no","austevoll.no","austrheim.no","averoy.no","averøy.no","balestrand.no","ballangen.no","balat.no","bálát.no","balsfjord.no","bahccavuotna.no","báhccavuotna.no","bamble.no","bardu.no","beardu.no","beiarn.no","bajddar.no","bájddar.no","baidar.no","báidár.no","berg.no","bergen.no","berlevag.no","berlevåg.no","bearalvahki.no","bearalváhki.no","bindal.no","birkenes.no","bjarkoy.no","bjarkøy.no","bjerkreim.no","bjugn.no","bodo.no","bodø.no","badaddja.no","bådåddjå.no","budejju.no","bokn.no","bremanger.no","bronnoy.no","brønnøy.no","bygland.no","bykle.no","barum.no","bærum.no","bo.telemark.no","bø.telemark.no","bo.nordland.no","bø.nordland.no","bievat.no","bievát.no","bomlo.no","bømlo.no","batsfjord.no","båtsfjord.no","bahcavuotna.no","báhcavuotna.no","dovre.no","drammen.no","drangedal.no","dyroy.no","dyrøy.no","donna.no","dønna.no","eid.no","eidfjord.no","eidsberg.no","eidskog.no","eidsvoll.no","eigersund.no","elverum.no","enebakk.no","engerdal.no","etne.no","etnedal.no","evenes.no","evenassi.no","evenášši.no","evje-og-hornnes.no","farsund.no","fauske.no","fuossko.no","fuoisku.no","fedje.no","fet.no","finnoy.no","finnøy.no","fitjar.no","fjaler.no","fjell.no","flakstad.no","flatanger.no","flekkefjord.no","flesberg.no","flora.no","fla.no","flå.no","folldal.no","forsand.no","fosnes.no","frei.no","frogn.no","froland.no","frosta.no","frana.no","fræna.no","froya.no","frøya.no","fusa.no","fyresdal.no","forde.no","førde.no","gamvik.no","gangaviika.no","gáŋgaviika.no","gaular.no","gausdal.no","gildeskal.no","gildeskål.no","giske.no","gjemnes.no","gjerdrum.no","gjerstad.no","gjesdal.no","gjovik.no","gjøvik.no","gloppen.no","gol.no","gran.no","grane.no","granvin.no","gratangen.no","grimstad.no","grong.no","kraanghke.no","kråanghke.no","grue.no","gulen.no","hadsel.no","halden.no","halsa.no","hamar.no","hamaroy.no","habmer.no","hábmer.no","hapmir.no","hápmir.no","hammerfest.no","hammarfeasta.no","hámmárfeasta.no","haram.no","hareid.no","harstad.no","hasvik.no","aknoluokta.no","ákŋoluokta.no","hattfjelldal.no","aarborte.no","haugesund.no","hemne.no","hemnes.no","hemsedal.no","heroy.more-og-romsdal.no","herøy.møre-og-romsdal.no","heroy.nordland.no","herøy.nordland.no","hitra.no","hjartdal.no","hjelmeland.no","hobol.no","hobøl.no","hof.no","hol.no","hole.no","holmestrand.no","holtalen.no","holtålen.no","hornindal.no","horten.no","hurdal.no","hurum.no","hvaler.no","hyllestad.no","hagebostad.no","hægebostad.no","hoyanger.no","høyanger.no","hoylandet.no","høylandet.no","ha.no","hå.no","ibestad.no","inderoy.no","inderøy.no","iveland.no","jevnaker.no","jondal.no","jolster.no","jølster.no","karasjok.no","karasjohka.no","kárášjohka.no","karlsoy.no","galsa.no","gálsá.no","karmoy.no","karmøy.no","kautokeino.no","guovdageaidnu.no","klepp.no","klabu.no","klæbu.no","kongsberg.no","kongsvinger.no","kragero.no","kragerø.no","kristiansand.no","kristiansund.no","krodsherad.no","krødsherad.no","kvalsund.no","rahkkeravju.no","ráhkkerávju.no","kvam.no","kvinesdal.no","kvinnherad.no","kviteseid.no","kvitsoy.no","kvitsøy.no","kvafjord.no","kvæfjord.no","giehtavuoatna.no","kvanangen.no","kvænangen.no","navuotna.no","návuotna.no","kafjord.no","kåfjord.no","gaivuotna.no","gáivuotna.no","larvik.no","lavangen.no","lavagis.no","loabat.no","loabát.no","lebesby.no","davvesiida.no","leikanger.no","leirfjord.no","leka.no","leksvik.no","lenvik.no","leangaviika.no","leaŋgaviika.no","lesja.no","levanger.no","lier.no","lierne.no","lillehammer.no","lillesand.no","lindesnes.no","lindas.no","lindås.no","lom.no","loppa.no","lahppi.no","láhppi.no","lund.no","lunner.no","luroy.no","lurøy.no","luster.no","lyngdal.no","lyngen.no","ivgu.no","lardal.no","lerdal.no","lærdal.no","lodingen.no","lødingen.no","lorenskog.no","lørenskog.no","loten.no","løten.no","malvik.no","masoy.no","måsøy.no","muosat.no","muosát.no","mandal.no","marker.no","marnardal.no","masfjorden.no","meland.no","meldal.no","melhus.no","meloy.no","meløy.no","meraker.no","meråker.no","moareke.no","moåreke.no","midsund.no","midtre-gauldal.no","modalen.no","modum.no","molde.no","moskenes.no","moss.no","mosvik.no","malselv.no","målselv.no","malatvuopmi.no","málatvuopmi.no","namdalseid.no","aejrie.no","namsos.no","namsskogan.no","naamesjevuemie.no","nååmesjevuemie.no","laakesvuemie.no","nannestad.no","narvik.no","narviika.no","naustdal.no","nedre-eiker.no","nes.akershus.no","nes.buskerud.no","nesna.no","nesodden.no","nesseby.no","unjarga.no","unjárga.no","nesset.no","nissedal.no","nittedal.no","nord-aurdal.no","nord-fron.no","nord-odal.no","norddal.no","nordkapp.no","davvenjarga.no","davvenjárga.no","nordre-land.no","nordreisa.no","raisa.no","ráisa.no","nore-og-uvdal.no","notodden.no","naroy.no","nærøy.no","notteroy.no","nøtterøy.no","odda.no","oksnes.no","øksnes.no","oppdal.no","oppegard.no","oppegård.no","orkdal.no","orland.no","ørland.no","orskog.no","ørskog.no","orsta.no","ørsta.no","os.hedmark.no","os.hordaland.no","osen.no","osteroy.no","osterøy.no","ostre-toten.no","østre-toten.no","overhalla.no","ovre-eiker.no","øvre-eiker.no","oyer.no","øyer.no","oygarden.no","øygarden.no","oystre-slidre.no","øystre-slidre.no","porsanger.no","porsangu.no","porsáŋgu.no","porsgrunn.no","radoy.no","radøy.no","rakkestad.no","rana.no","ruovat.no","randaberg.no","rauma.no","rendalen.no","rennebu.no","rennesoy.no","rennesøy.no","rindal.no","ringebu.no","ringerike.no","ringsaker.no","rissa.no","risor.no","risør.no","roan.no","rollag.no","rygge.no","ralingen.no","rælingen.no","rodoy.no","rødøy.no","romskog.no","rømskog.no","roros.no","røros.no","rost.no","røst.no","royken.no","røyken.no","royrvik.no","røyrvik.no","rade.no","råde.no","salangen.no","siellak.no","saltdal.no","salat.no","sálát.no","sálat.no","samnanger.no","sande.more-og-romsdal.no","sande.møre-og-romsdal.no","sande.vestfold.no","sandefjord.no","sandnes.no","sandoy.no","sandøy.no","sarpsborg.no","sauda.no","sauherad.no","sel.no","selbu.no","selje.no","seljord.no","sigdal.no","siljan.no","sirdal.no","skaun.no","skedsmo.no","ski.no","skien.no","skiptvet.no","skjervoy.no","skjervøy.no","skierva.no","skiervá.no","skjak.no","skjåk.no","skodje.no","skanland.no","skånland.no","skanit.no","skánit.no","smola.no","smøla.no","snillfjord.no","snasa.no","snåsa.no","snoasa.no","snaase.no","snåase.no","sogndal.no","sokndal.no","sola.no","solund.no","songdalen.no","sortland.no","spydeberg.no","stange.no","stavanger.no","steigen.no","steinkjer.no","stjordal.no","stjørdal.no","stokke.no","stor-elvdal.no","stord.no","stordal.no","storfjord.no","omasvuotna.no","strand.no","stranda.no","stryn.no","sula.no","suldal.no","sund.no","sunndal.no","surnadal.no","sveio.no","svelvik.no","sykkylven.no","sogne.no","søgne.no","somna.no","sømna.no","sondre-land.no","søndre-land.no","sor-aurdal.no","sør-aurdal.no","sor-fron.no","sør-fron.no","sor-odal.no","sør-odal.no","sor-varanger.no","sør-varanger.no","matta-varjjat.no","mátta-várjjat.no","sorfold.no","sørfold.no","sorreisa.no","sørreisa.no","sorum.no","sørum.no","tana.no","deatnu.no","time.no","tingvoll.no","tinn.no","tjeldsund.no","dielddanuorri.no","tjome.no","tjøme.no","tokke.no","tolga.no","torsken.no","tranoy.no","tranøy.no","tromso.no","tromsø.no","tromsa.no","romsa.no","trondheim.no","troandin.no","trysil.no","trana.no","træna.no","trogstad.no","trøgstad.no","tvedestrand.no","tydal.no","tynset.no","tysfjord.no","divtasvuodna.no","divttasvuotna.no","tysnes.no","tysvar.no","tysvær.no","tonsberg.no","tønsberg.no","ullensaker.no","ullensvang.no","ulvik.no","utsira.no","vadso.no","vadsø.no","cahcesuolo.no","čáhcesuolo.no","vaksdal.no","valle.no","vang.no","vanylven.no","vardo.no","vardø.no","varggat.no","várggát.no","vefsn.no","vaapste.no","vega.no","vegarshei.no","vegårshei.no","vennesla.no","verdal.no","verran.no","vestby.no","vestnes.no","vestre-slidre.no","vestre-toten.no","vestvagoy.no","vestvågøy.no","vevelstad.no","vik.no","vikna.no","vindafjord.no","volda.no","voss.no","varoy.no","værøy.no","vagan.no","vågan.no","voagat.no","vagsoy.no","vågsøy.no","vaga.no","vågå.no","valer.ostfold.no","våler.østfold.no","valer.hedmark.no","våler.hedmark.no","*.np","nr","biz.nr","info.nr","gov.nr","edu.nr","org.nr","net.nr","com.nr","nu","nz","ac.nz","co.nz","cri.nz","geek.nz","gen.nz","govt.nz","health.nz","iwi.nz","kiwi.nz","maori.nz","mil.nz","māori.nz","net.nz","org.nz","parliament.nz","school.nz","om","co.om","com.om","edu.om","gov.om","med.om","museum.om","net.om","org.om","pro.om","onion","org","pa","ac.pa","gob.pa","com.pa","org.pa","sld.pa","edu.pa","net.pa","ing.pa","abo.pa","med.pa","nom.pa","pe","edu.pe","gob.pe","nom.pe","mil.pe","org.pe","com.pe","net.pe","pf","com.pf","org.pf","edu.pf","*.pg","ph","com.ph","net.ph","org.ph","gov.ph","edu.ph","ngo.ph","mil.ph","i.ph","pk","com.pk","net.pk","edu.pk","org.pk","fam.pk","biz.pk","web.pk","gov.pk","gob.pk","gok.pk","gon.pk","gop.pk","gos.pk","info.pk","pl","com.pl","net.pl","org.pl","aid.pl","agro.pl","atm.pl","auto.pl","biz.pl","edu.pl","gmina.pl","gsm.pl","info.pl","mail.pl","miasta.pl","media.pl","mil.pl","nieruchomosci.pl","nom.pl","pc.pl","powiat.pl","priv.pl","realestate.pl","rel.pl","sex.pl","shop.pl","sklep.pl","sos.pl","szkola.pl","targi.pl","tm.pl","tourism.pl","travel.pl","turystyka.pl","gov.pl","ap.gov.pl","ic.gov.pl","is.gov.pl","us.gov.pl","kmpsp.gov.pl","kppsp.gov.pl","kwpsp.gov.pl","psp.gov.pl","wskr.gov.pl","kwp.gov.pl","mw.gov.pl","ug.gov.pl","um.gov.pl","umig.gov.pl","ugim.gov.pl","upow.gov.pl","uw.gov.pl","starostwo.gov.pl","pa.gov.pl","po.gov.pl","psse.gov.pl","pup.gov.pl","rzgw.gov.pl","sa.gov.pl","so.gov.pl","sr.gov.pl","wsa.gov.pl","sko.gov.pl","uzs.gov.pl","wiih.gov.pl","winb.gov.pl","pinb.gov.pl","wios.gov.pl","witd.gov.pl","wzmiuw.gov.pl","piw.gov.pl","wiw.gov.pl","griw.gov.pl","wif.gov.pl","oum.gov.pl","sdn.gov.pl","zp.gov.pl","uppo.gov.pl","mup.gov.pl","wuoz.gov.pl","konsulat.gov.pl","oirm.gov.pl","augustow.pl","babia-gora.pl","bedzin.pl","beskidy.pl","bialowieza.pl","bialystok.pl","bielawa.pl","bieszczady.pl","boleslawiec.pl","bydgoszcz.pl","bytom.pl","cieszyn.pl","czeladz.pl","czest.pl","dlugoleka.pl","elblag.pl","elk.pl","glogow.pl","gniezno.pl","gorlice.pl","grajewo.pl","ilawa.pl","jaworzno.pl","jelenia-gora.pl","jgora.pl","kalisz.pl","kazimierz-dolny.pl","karpacz.pl","kartuzy.pl","kaszuby.pl","katowice.pl","kepno.pl","ketrzyn.pl","klodzko.pl","kobierzyce.pl","kolobrzeg.pl","konin.pl","konskowola.pl","kutno.pl","lapy.pl","lebork.pl","legnica.pl","lezajsk.pl","limanowa.pl","lomza.pl","lowicz.pl","lubin.pl","lukow.pl","malbork.pl","malopolska.pl","mazowsze.pl","mazury.pl","mielec.pl","mielno.pl","mragowo.pl","naklo.pl","nowaruda.pl","nysa.pl","olawa.pl","olecko.pl","olkusz.pl","olsztyn.pl","opoczno.pl","opole.pl","ostroda.pl","ostroleka.pl","ostrowiec.pl","ostrowwlkp.pl","pila.pl","pisz.pl","podhale.pl","podlasie.pl","polkowice.pl","pomorze.pl","pomorskie.pl","prochowice.pl","pruszkow.pl","przeworsk.pl","pulawy.pl","radom.pl","rawa-maz.pl","rybnik.pl","rzeszow.pl","sanok.pl","sejny.pl","slask.pl","slupsk.pl","sosnowiec.pl","stalowa-wola.pl","skoczow.pl","starachowice.pl","stargard.pl","suwalki.pl","swidnica.pl","swiebodzin.pl","swinoujscie.pl","szczecin.pl","szczytno.pl","tarnobrzeg.pl","tgory.pl","turek.pl","tychy.pl","ustka.pl","walbrzych.pl","warmia.pl","warszawa.pl","waw.pl","wegrow.pl","wielun.pl","wlocl.pl","wloclawek.pl","wodzislaw.pl","wolomin.pl","wroclaw.pl","zachpomor.pl","zagan.pl","zarow.pl","zgora.pl","zgorzelec.pl","pm","pn","gov.pn","co.pn","org.pn","edu.pn","net.pn","post","pr","com.pr","net.pr","org.pr","gov.pr","edu.pr","isla.pr","pro.pr","biz.pr","info.pr","name.pr","est.pr","prof.pr","ac.pr","pro","aaa.pro","aca.pro","acct.pro","avocat.pro","bar.pro","cpa.pro","eng.pro","jur.pro","law.pro","med.pro","recht.pro","ps","edu.ps","gov.ps","sec.ps","plo.ps","com.ps","org.ps","net.ps","pt","net.pt","gov.pt","org.pt","edu.pt","int.pt","publ.pt","com.pt","nome.pt","pw","co.pw","ne.pw","or.pw","ed.pw","go.pw","belau.pw","py","com.py","coop.py","edu.py","gov.py","mil.py","net.py","org.py","qa","com.qa","edu.qa","gov.qa","mil.qa","name.qa","net.qa","org.qa","sch.qa","re","asso.re","com.re","nom.re","ro","arts.ro","com.ro","firm.ro","info.ro","nom.ro","nt.ro","org.ro","rec.ro","store.ro","tm.ro","www.ro","rs","ac.rs","co.rs","edu.rs","gov.rs","in.rs","org.rs","ru","rw","ac.rw","co.rw","coop.rw","gov.rw","mil.rw","net.rw","org.rw","sa","com.sa","net.sa","org.sa","gov.sa","med.sa","pub.sa","edu.sa","sch.sa","sb","com.sb","edu.sb","gov.sb","net.sb","org.sb","sc","com.sc","gov.sc","net.sc","org.sc","edu.sc","sd","com.sd","net.sd","org.sd","edu.sd","med.sd","tv.sd","gov.sd","info.sd","se","a.se","ac.se","b.se","bd.se","brand.se","c.se","d.se","e.se","f.se","fh.se","fhsk.se","fhv.se","g.se","h.se","i.se","k.se","komforb.se","kommunalforbund.se","komvux.se","l.se","lanbib.se","m.se","n.se","naturbruksgymn.se","o.se","org.se","p.se","parti.se","pp.se","press.se","r.se","s.se","t.se","tm.se","u.se","w.se","x.se","y.se","z.se","sg","com.sg","net.sg","org.sg","gov.sg","edu.sg","per.sg","sh","com.sh","net.sh","gov.sh","org.sh","mil.sh","si","sj","sk","sl","com.sl","net.sl","edu.sl","gov.sl","org.sl","sm","sn","art.sn","com.sn","edu.sn","gouv.sn","org.sn","perso.sn","univ.sn","so","com.so","edu.so","gov.so","me.so","net.so","org.so","sr","ss","biz.ss","com.ss","edu.ss","gov.ss","me.ss","net.ss","org.ss","sch.ss","st","co.st","com.st","consulado.st","edu.st","embaixada.st","mil.st","net.st","org.st","principe.st","saotome.st","store.st","su","sv","com.sv","edu.sv","gob.sv","org.sv","red.sv","sx","gov.sx","sy","edu.sy","gov.sy","net.sy","mil.sy","com.sy","org.sy","sz","co.sz","ac.sz","org.sz","tc","td","tel","tf","tg","th","ac.th","co.th","go.th","in.th","mi.th","net.th","or.th","tj","ac.tj","biz.tj","co.tj","com.tj","edu.tj","go.tj","gov.tj","int.tj","mil.tj","name.tj","net.tj","nic.tj","org.tj","test.tj","web.tj","tk","tl","gov.tl","tm","com.tm","co.tm","org.tm","net.tm","nom.tm","gov.tm","mil.tm","edu.tm","tn","com.tn","ens.tn","fin.tn","gov.tn","ind.tn","info.tn","intl.tn","mincom.tn","nat.tn","net.tn","org.tn","perso.tn","tourism.tn","to","com.to","gov.to","net.to","org.to","edu.to","mil.to","tr","av.tr","bbs.tr","bel.tr","biz.tr","com.tr","dr.tr","edu.tr","gen.tr","gov.tr","info.tr","mil.tr","k12.tr","kep.tr","name.tr","net.tr","org.tr","pol.tr","tel.tr","tsk.tr","tv.tr","web.tr","nc.tr","gov.nc.tr","tt","co.tt","com.tt","org.tt","net.tt","biz.tt","info.tt","pro.tt","int.tt","coop.tt","jobs.tt","mobi.tt","travel.tt","museum.tt","aero.tt","name.tt","gov.tt","edu.tt","tv","tw","edu.tw","gov.tw","mil.tw","com.tw","net.tw","org.tw","idv.tw","game.tw","ebiz.tw","club.tw","網路.tw","組織.tw","商業.tw","tz","ac.tz","co.tz","go.tz","hotel.tz","info.tz","me.tz","mil.tz","mobi.tz","ne.tz","or.tz","sc.tz","tv.tz","ua","com.ua","edu.ua","gov.ua","in.ua","net.ua","org.ua","cherkassy.ua","cherkasy.ua","chernigov.ua","chernihiv.ua","chernivtsi.ua","chernovtsy.ua","ck.ua","cn.ua","cr.ua","crimea.ua","cv.ua","dn.ua","dnepropetrovsk.ua","dnipropetrovsk.ua","donetsk.ua","dp.ua","if.ua","ivano-frankivsk.ua","kh.ua","kharkiv.ua","kharkov.ua","kherson.ua","khmelnitskiy.ua","khmelnytskyi.ua","kiev.ua","kirovograd.ua","km.ua","kr.ua","krym.ua","ks.ua","kv.ua","kyiv.ua","lg.ua","lt.ua","lugansk.ua","lutsk.ua","lv.ua","lviv.ua","mk.ua","mykolaiv.ua","nikolaev.ua","od.ua","odesa.ua","odessa.ua","pl.ua","poltava.ua","rivne.ua","rovno.ua","rv.ua","sb.ua","sebastopol.ua","sevastopol.ua","sm.ua","sumy.ua","te.ua","ternopil.ua","uz.ua","uzhgorod.ua","vinnica.ua","vinnytsia.ua","vn.ua","volyn.ua","yalta.ua","zaporizhzhe.ua","zaporizhzhia.ua","zhitomir.ua","zhytomyr.ua","zp.ua","zt.ua","ug","co.ug","or.ug","ac.ug","sc.ug","go.ug","ne.ug","com.ug","org.ug","uk","ac.uk","co.uk","gov.uk","ltd.uk","me.uk","net.uk","nhs.uk","org.uk","plc.uk","police.uk","*.sch.uk","us","dni.us","fed.us","isa.us","kids.us","nsn.us","ak.us","al.us","ar.us","as.us","az.us","ca.us","co.us","ct.us","dc.us","de.us","fl.us","ga.us","gu.us","hi.us","ia.us","id.us","il.us","in.us","ks.us","ky.us","la.us","ma.us","md.us","me.us","mi.us","mn.us","mo.us","ms.us","mt.us","nc.us","nd.us","ne.us","nh.us","nj.us","nm.us","nv.us","ny.us","oh.us","ok.us","or.us","pa.us","pr.us","ri.us","sc.us","sd.us","tn.us","tx.us","ut.us","vi.us","vt.us","va.us","wa.us","wi.us","wv.us","wy.us","k12.ak.us","k12.al.us","k12.ar.us","k12.as.us","k12.az.us","k12.ca.us","k12.co.us","k12.ct.us","k12.dc.us","k12.de.us","k12.fl.us","k12.ga.us","k12.gu.us","k12.ia.us","k12.id.us","k12.il.us","k12.in.us","k12.ks.us","k12.ky.us","k12.la.us","k12.ma.us","k12.md.us","k12.me.us","k12.mi.us","k12.mn.us","k12.mo.us","k12.ms.us","k12.mt.us","k12.nc.us","k12.ne.us","k12.nh.us","k12.nj.us","k12.nm.us","k12.nv.us","k12.ny.us","k12.oh.us","k12.ok.us","k12.or.us","k12.pa.us","k12.pr.us","k12.sc.us","k12.tn.us","k12.tx.us","k12.ut.us","k12.vi.us","k12.vt.us","k12.va.us","k12.wa.us","k12.wi.us","k12.wy.us","cc.ak.us","cc.al.us","cc.ar.us","cc.as.us","cc.az.us","cc.ca.us","cc.co.us","cc.ct.us","cc.dc.us","cc.de.us","cc.fl.us","cc.ga.us","cc.gu.us","cc.hi.us","cc.ia.us","cc.id.us","cc.il.us","cc.in.us","cc.ks.us","cc.ky.us","cc.la.us","cc.ma.us","cc.md.us","cc.me.us","cc.mi.us","cc.mn.us","cc.mo.us","cc.ms.us","cc.mt.us","cc.nc.us","cc.nd.us","cc.ne.us","cc.nh.us","cc.nj.us","cc.nm.us","cc.nv.us","cc.ny.us","cc.oh.us","cc.ok.us","cc.or.us","cc.pa.us","cc.pr.us","cc.ri.us","cc.sc.us","cc.sd.us","cc.tn.us","cc.tx.us","cc.ut.us","cc.vi.us","cc.vt.us","cc.va.us","cc.wa.us","cc.wi.us","cc.wv.us","cc.wy.us","lib.ak.us","lib.al.us","lib.ar.us","lib.as.us","lib.az.us","lib.ca.us","lib.co.us","lib.ct.us","lib.dc.us","lib.fl.us","lib.ga.us","lib.gu.us","lib.hi.us","lib.ia.us","lib.id.us","lib.il.us","lib.in.us","lib.ks.us","lib.ky.us","lib.la.us","lib.ma.us","lib.md.us","lib.me.us","lib.mi.us","lib.mn.us","lib.mo.us","lib.ms.us","lib.mt.us","lib.nc.us","lib.nd.us","lib.ne.us","lib.nh.us","lib.nj.us","lib.nm.us","lib.nv.us","lib.ny.us","lib.oh.us","lib.ok.us","lib.or.us","lib.pa.us","lib.pr.us","lib.ri.us","lib.sc.us","lib.sd.us","lib.tn.us","lib.tx.us","lib.ut.us","lib.vi.us","lib.vt.us","lib.va.us","lib.wa.us","lib.wi.us","lib.wy.us","pvt.k12.ma.us","chtr.k12.ma.us","paroch.k12.ma.us","ann-arbor.mi.us","cog.mi.us","dst.mi.us","eaton.mi.us","gen.mi.us","mus.mi.us","tec.mi.us","washtenaw.mi.us","uy","com.uy","edu.uy","gub.uy","mil.uy","net.uy","org.uy","uz","co.uz","com.uz","net.uz","org.uz","va","vc","com.vc","net.vc","org.vc","gov.vc","mil.vc","edu.vc","ve","arts.ve","bib.ve","co.ve","com.ve","e12.ve","edu.ve","firm.ve","gob.ve","gov.ve","info.ve","int.ve","mil.ve","net.ve","nom.ve","org.ve","rar.ve","rec.ve","store.ve","tec.ve","web.ve","vg","vi","co.vi","com.vi","k12.vi","net.vi","org.vi","vn","com.vn","net.vn","org.vn","edu.vn","gov.vn","int.vn","ac.vn","biz.vn","info.vn","name.vn","pro.vn","health.vn","vu","com.vu","edu.vu","net.vu","org.vu","wf","ws","com.ws","net.ws","org.ws","gov.ws","edu.ws","yt","امارات","հայ","বাংলা","бг","البحرين","бел","中国","中國","الجزائر","مصر","ею","ευ","موريتانيا","გე","ελ","香港","公司.香港","教育.香港","政府.香港","個人.香港","網絡.香港","組織.香港","ಭಾರತ","ଭାରତ","ভাৰত","भारतम्","भारोत","ڀارت","ഭാരതം","भारत","بارت","بھارت","భారత్","ભારત","ਭਾਰਤ","ভারত","இந்தியா","ایران","ايران","عراق","الاردن","한국","қаз","ລາວ","ලංකා","இலங்கை","المغرب","мкд","мон","澳門","澳门","مليسيا","عمان","پاکستان","پاكستان","فلسطين","срб","пр.срб","орг.срб","обр.срб","од.срб","упр.срб","ак.срб","рф","قطر","السعودية","السعودیة","السعودیۃ","السعوديه","سودان","新加坡","சிங்கப்பூர்","سورية","سوريا","ไทย","ศึกษา.ไทย","ธุรกิจ.ไทย","รัฐบาล.ไทย","ทหาร.ไทย","เน็ต.ไทย","องค์กร.ไทย","تونس","台灣","台湾","臺灣","укр","اليمن","xxx","ye","com.ye","edu.ye","gov.ye","net.ye","mil.ye","org.ye","ac.za","agric.za","alt.za","co.za","edu.za","gov.za","grondar.za","law.za","mil.za","net.za","ngo.za","nic.za","nis.za","nom.za","org.za","school.za","tm.za","web.za","zm","ac.zm","biz.zm","co.zm","com.zm","edu.zm","gov.zm","info.zm","mil.zm","net.zm","org.zm","sch.zm","zw","ac.zw","co.zw","gov.zw","mil.zw","org.zw","aaa","aarp","abarth","abb","abbott","abbvie","abc","able","abogado","abudhabi","academy","accenture","accountant","accountants","aco","actor","adac","ads","adult","aeg","aetna","afl","africa","agakhan","agency","aig","airbus","airforce","airtel","akdn","alfaromeo","alibaba","alipay","allfinanz","allstate","ally","alsace","alstom","amazon","americanexpress","americanfamily","amex","amfam","amica","amsterdam","analytics","android","anquan","anz","aol","apartments","app","apple","aquarelle","arab","aramco","archi","army","art","arte","asda","associates","athleta","attorney","auction","audi","audible","audio","auspost","author","auto","autos","avianca","aws","axa","azure","baby","baidu","banamex","bananarepublic","band","bank","bar","barcelona","barclaycard","barclays","barefoot","bargains","baseball","basketball","bauhaus","bayern","bbc","bbt","bbva","bcg","bcn","beats","beauty","beer","bentley","berlin","best","bestbuy","bet","bharti","bible","bid","bike","bing","bingo","bio","black","blackfriday","blockbuster","blog","bloomberg","blue","bms","bmw","bnpparibas","boats","boehringer","bofa","bom","bond","boo","book","booking","bosch","bostik","boston","bot","boutique","box","bradesco","bridgestone","broadway","broker","brother","brussels","bugatti","build","builders","business","buy","buzz","bzh","cab","cafe","cal","call","calvinklein","cam","camera","camp","cancerresearch","canon","capetown","capital","capitalone","car","caravan","cards","care","career","careers","cars","casa","case","cash","casino","catering","catholic","cba","cbn","cbre","cbs","center","ceo","cern","cfa","cfd","chanel","channel","charity","chase","chat","cheap","chintai","christmas","chrome","church","cipriani","circle","cisco","citadel","citi","citic","city","cityeats","claims","cleaning","click","clinic","clinique","clothing","cloud","club","clubmed","coach","codes","coffee","college","cologne","comcast","commbank","community","company","compare","computer","comsec","condos","construction","consulting","contact","contractors","cooking","cookingchannel","cool","corsica","country","coupon","coupons","courses","cpa","credit","creditcard","creditunion","cricket","crown","crs","cruise","cruises","cuisinella","cymru","cyou","dabur","dad","dance","data","date","dating","datsun","day","dclk","dds","deal","dealer","deals","degree","delivery","dell","deloitte","delta","democrat","dental","dentist","desi","design","dev","dhl","diamonds","diet","digital","direct","directory","discount","discover","dish","diy","dnp","docs","doctor","dog","domains","dot","download","drive","dtv","dubai","dunlop","dupont","durban","dvag","dvr","earth","eat","eco","edeka","education","email","emerck","energy","engineer","engineering","enterprises","epson","equipment","ericsson","erni","esq","estate","etisalat","eurovision","eus","events","exchange","expert","exposed","express","extraspace","fage","fail","fairwinds","faith","family","fan","fans","farm","farmers","fashion","fast","fedex","feedback","ferrari","ferrero","fiat","fidelity","fido","film","final","finance","financial","fire","firestone","firmdale","fish","fishing","fit","fitness","flickr","flights","flir","florist","flowers","fly","foo","food","foodnetwork","football","ford","forex","forsale","forum","foundation","fox","free","fresenius","frl","frogans","frontdoor","frontier","ftr","fujitsu","fun","fund","furniture","futbol","fyi","gal","gallery","gallo","gallup","game","games","gap","garden","gay","gbiz","gdn","gea","gent","genting","george","ggee","gift","gifts","gives","giving","glass","gle","global","globo","gmail","gmbh","gmo","gmx","godaddy","gold","goldpoint","golf","goo","goodyear","goog","google","gop","got","grainger","graphics","gratis","green","gripe","grocery","group","guardian","gucci","guge","guide","guitars","guru","hair","hamburg","hangout","haus","hbo","hdfc","hdfcbank","health","healthcare","help","helsinki","here","hermes","hgtv","hiphop","hisamitsu","hitachi","hiv","hkt","hockey","holdings","holiday","homedepot","homegoods","homes","homesense","honda","horse","hospital","host","hosting","hot","hoteles","hotels","hotmail","house","how","hsbc","hughes","hyatt","hyundai","ibm","icbc","ice","icu","ieee","ifm","ikano","imamat","imdb","immo","immobilien","inc","industries","infiniti","ing","ink","institute","insurance","insure","international","intuit","investments","ipiranga","irish","ismaili","ist","istanbul","itau","itv","jaguar","java","jcb","jeep","jetzt","jewelry","jio","jll","jmp","jnj","joburg","jot","joy","jpmorgan","jprs","juegos","juniper","kaufen","kddi","kerryhotels","kerrylogistics","kerryproperties","kfh","kia","kids","kim","kinder","kindle","kitchen","kiwi","koeln","komatsu","kosher","kpmg","kpn","krd","kred","kuokgroup","kyoto","lacaixa","lamborghini","lamer","lancaster","lancia","land","landrover","lanxess","lasalle","lat","latino","latrobe","law","lawyer","lds","lease","leclerc","lefrak","legal","lego","lexus","lgbt","lidl","life","lifeinsurance","lifestyle","lighting","like","lilly","limited","limo","lincoln","linde","link","lipsy","live","living","llc","llp","loan","loans","locker","locus","loft","lol","london","lotte","lotto","love","lpl","lplfinancial","ltd","ltda","lundbeck","luxe","luxury","macys","madrid","maif","maison","makeup","man","management","mango","map","market","marketing","markets","marriott","marshalls","maserati","mattel","mba","mckinsey","med","media","meet","melbourne","meme","memorial","men","menu","merckmsd","miami","microsoft","mini","mint","mit","mitsubishi","mlb","mls","mma","mobile","moda","moe","moi","mom","monash","money","monster","mormon","mortgage","moscow","moto","motorcycles","mov","movie","msd","mtn","mtr","music","mutual","nab","nagoya","natura","navy","nba","nec","netbank","netflix","network","neustar","new","news","next","nextdirect","nexus","nfl","ngo","nhk","nico","nike","nikon","ninja","nissan","nissay","nokia","northwesternmutual","norton","now","nowruz","nowtv","nra","nrw","ntt","nyc","obi","observer","office","okinawa","olayan","olayangroup","oldnavy","ollo","omega","one","ong","onl","online","ooo","open","oracle","orange","organic","origins","osaka","otsuka","ott","ovh","page","panasonic","paris","pars","partners","parts","party","passagens","pay","pccw","pet","pfizer","pharmacy","phd","philips","phone","photo","photography","photos","physio","pics","pictet","pictures","pid","pin","ping","pink","pioneer","pizza","place","play","playstation","plumbing","plus","pnc","pohl","poker","politie","porn","pramerica","praxi","press","prime","prod","productions","prof","progressive","promo","properties","property","protection","pru","prudential","pub","pwc","qpon","quebec","quest","racing","radio","read","realestate","realtor","realty","recipes","red","redstone","redumbrella","rehab","reise","reisen","reit","reliance","ren","rent","rentals","repair","report","republican","rest","restaurant","review","reviews","rexroth","rich","richardli","ricoh","ril","rio","rip","rocher","rocks","rodeo","rogers","room","rsvp","rugby","ruhr","run","rwe","ryukyu","saarland","safe","safety","sakura","sale","salon","samsclub","samsung","sandvik","sandvikcoromant","sanofi","sap","sarl","sas","save","saxo","sbi","sbs","sca","scb","schaeffler","schmidt","scholarships","school","schule","schwarz","science","scot","search","seat","secure","security","seek","select","sener","services","ses","seven","sew","sex","sexy","sfr","shangrila","sharp","shaw","shell","shia","shiksha","shoes","shop","shopping","shouji","show","showtime","silk","sina","singles","site","ski","skin","sky","skype","sling","smart","smile","sncf","soccer","social","softbank","software","sohu","solar","solutions","song","sony","soy","spa","space","sport","spot","srl","stada","staples","star","statebank","statefarm","stc","stcgroup","stockholm","storage","store","stream","studio","study","style","sucks","supplies","supply","support","surf","surgery","suzuki","swatch","swiss","sydney","systems","tab","taipei","talk","taobao","target","tatamotors","tatar","tattoo","tax","taxi","tci","tdk","team","tech","technology","temasek","tennis","teva","thd","theater","theatre","tiaa","tickets","tienda","tiffany","tips","tires","tirol","tjmaxx","tjx","tkmaxx","tmall","today","tokyo","tools","top","toray","toshiba","total","tours","town","toyota","toys","trade","trading","training","travel","travelchannel","travelers","travelersinsurance","trust","trv","tube","tui","tunes","tushu","tvs","ubank","ubs","unicom","university","uno","uol","ups","vacations","vana","vanguard","vegas","ventures","verisign","versicherung","vet","viajes","video","vig","viking","villas","vin","vip","virgin","visa","vision","viva","vivo","vlaanderen","vodka","volkswagen","volvo","vote","voting","voto","voyage","vuelos","wales","walmart","walter","wang","wanggou","watch","watches","weather","weatherchannel","webcam","weber","website","wedding","weibo","weir","whoswho","wien","wiki","williamhill","win","windows","wine","winners","wme","wolterskluwer","woodside","work","works","world","wow","wtc","wtf","xbox","xerox","xfinity","xihuan","xin","कॉम","セール","佛山","慈善","集团","在线","点看","คอม","八卦","موقع","公益","公司","香格里拉","网站","移动","我爱你","москва","католик","онлайн","сайт","联通","קום","时尚","微博","淡马锡","ファッション","орг","नेट","ストア","アマゾン","삼성","商标","商店","商城","дети","ポイント","新闻","家電","كوم","中文网","中信","娱乐","谷歌","電訊盈科","购物","クラウド","通販","网店","संगठन","餐厅","网络","ком","亚马逊","诺基亚","食品","飞利浦","手机","ارامكو","العليان","اتصالات","بازار","ابوظبي","كاثوليك","همراه","닷컴","政府","شبكة","بيتك","عرب","机构","组织机构","健康","招聘","рус","大拿","みんな","グーグル","世界","書籍","网址","닷넷","コム","天主教","游戏","vermögensberater","vermögensberatung","企业","信息","嘉里大酒店","嘉里","广东","政务","xyz","yachts","yahoo","yamaxun","yandex","yodobashi","yoga","yokohama","you","youtube","yun","zappos","zara","zero","zip","zone","zuerich","cc.ua","inf.ua","ltd.ua","611.to","graphox.us","*.devcdnaccesso.com","adobeaemcloud.com","*.dev.adobeaemcloud.com","hlx.live","adobeaemcloud.net","hlx.page","hlx3.page","beep.pl","airkitapps.com","airkitapps-au.com","airkitapps.eu","aivencloud.com","barsy.ca","*.compute.estate","*.alces.network","kasserver.com","altervista.org","alwaysdata.net","cloudfront.net","*.compute.amazonaws.com","*.compute-1.amazonaws.com","*.compute.amazonaws.com.cn","us-east-1.amazonaws.com","cn-north-1.eb.amazonaws.com.cn","cn-northwest-1.eb.amazonaws.com.cn","elasticbeanstalk.com","ap-northeast-1.elasticbeanstalk.com","ap-northeast-2.elasticbeanstalk.com","ap-northeast-3.elasticbeanstalk.com","ap-south-1.elasticbeanstalk.com","ap-southeast-1.elasticbeanstalk.com","ap-southeast-2.elasticbeanstalk.com","ca-central-1.elasticbeanstalk.com","eu-central-1.elasticbeanstalk.com","eu-west-1.elasticbeanstalk.com","eu-west-2.elasticbeanstalk.com","eu-west-3.elasticbeanstalk.com","sa-east-1.elasticbeanstalk.com","us-east-1.elasticbeanstalk.com","us-east-2.elasticbeanstalk.com","us-gov-west-1.elasticbeanstalk.com","us-west-1.elasticbeanstalk.com","us-west-2.elasticbeanstalk.com","*.elb.amazonaws.com","*.elb.amazonaws.com.cn","awsglobalaccelerator.com","s3.amazonaws.com","s3-ap-northeast-1.amazonaws.com","s3-ap-northeast-2.amazonaws.com","s3-ap-south-1.amazonaws.com","s3-ap-southeast-1.amazonaws.com","s3-ap-southeast-2.amazonaws.com","s3-ca-central-1.amazonaws.com","s3-eu-central-1.amazonaws.com","s3-eu-west-1.amazonaws.com","s3-eu-west-2.amazonaws.com","s3-eu-west-3.amazonaws.com","s3-external-1.amazonaws.com","s3-fips-us-gov-west-1.amazonaws.com","s3-sa-east-1.amazonaws.com","s3-us-gov-west-1.amazonaws.com","s3-us-east-2.amazonaws.com","s3-us-west-1.amazonaws.com","s3-us-west-2.amazonaws.com","s3.ap-northeast-2.amazonaws.com","s3.ap-south-1.amazonaws.com","s3.cn-north-1.amazonaws.com.cn","s3.ca-central-1.amazonaws.com","s3.eu-central-1.amazonaws.com","s3.eu-west-2.amazonaws.com","s3.eu-west-3.amazonaws.com","s3.us-east-2.amazonaws.com","s3.dualstack.ap-northeast-1.amazonaws.com","s3.dualstack.ap-northeast-2.amazonaws.com","s3.dualstack.ap-south-1.amazonaws.com","s3.dualstack.ap-southeast-1.amazonaws.com","s3.dualstack.ap-southeast-2.amazonaws.com","s3.dualstack.ca-central-1.amazonaws.com","s3.dualstack.eu-central-1.amazonaws.com","s3.dualstack.eu-west-1.amazonaws.com","s3.dualstack.eu-west-2.amazonaws.com","s3.dualstack.eu-west-3.amazonaws.com","s3.dualstack.sa-east-1.amazonaws.com","s3.dualstack.us-east-1.amazonaws.com","s3.dualstack.us-east-2.amazonaws.com","s3-website-us-east-1.amazonaws.com","s3-website-us-west-1.amazonaws.com","s3-website-us-west-2.amazonaws.com","s3-website-ap-northeast-1.amazonaws.com","s3-website-ap-southeast-1.amazonaws.com","s3-website-ap-southeast-2.amazonaws.com","s3-website-eu-west-1.amazonaws.com","s3-website-sa-east-1.amazonaws.com","s3-website.ap-northeast-2.amazonaws.com","s3-website.ap-south-1.amazonaws.com","s3-website.ca-central-1.amazonaws.com","s3-website.eu-central-1.amazonaws.com","s3-website.eu-west-2.amazonaws.com","s3-website.eu-west-3.amazonaws.com","s3-website.us-east-2.amazonaws.com","t3l3p0rt.net","tele.amune.org","apigee.io","siiites.com","appspacehosted.com","appspaceusercontent.com","appudo.net","on-aptible.com","user.aseinet.ne.jp","gv.vc","d.gv.vc","user.party.eus","pimienta.org","poivron.org","potager.org","sweetpepper.org","myasustor.com","cdn.prod.atlassian-dev.net","translated.page","myfritz.net","onavstack.net","*.awdev.ca","*.advisor.ws","ecommerce-shop.pl","b-data.io","backplaneapp.io","balena-devices.com","rs.ba","*.banzai.cloud","app.banzaicloud.io","*.backyards.banzaicloud.io","base.ec","official.ec","buyshop.jp","fashionstore.jp","handcrafted.jp","kawaiishop.jp","supersale.jp","theshop.jp","shopselect.net","base.shop","*.beget.app","betainabox.com","bnr.la","bitbucket.io","blackbaudcdn.net","of.je","bluebite.io","boomla.net","boutir.com","boxfuse.io","square7.ch","bplaced.com","bplaced.de","square7.de","bplaced.net","square7.net","shop.brendly.rs","browsersafetymark.io","uk0.bigv.io","dh.bytemark.co.uk","vm.bytemark.co.uk","cafjs.com","mycd.eu","drr.ac","uwu.ai","carrd.co","crd.co","ju.mp","ae.org","br.com","cn.com","com.de","com.se","de.com","eu.com","gb.net","hu.net","jp.net","jpn.com","mex.com","ru.com","sa.com","se.net","uk.com","uk.net","us.com","za.bz","za.com","ar.com","hu.com","kr.com","no.com","qc.com","uy.com","africa.com","gr.com","in.net","web.in","us.org","co.com","aus.basketball","nz.basketball","radio.am","radio.fm","c.la","certmgr.org","cx.ua","discourse.group","discourse.team","cleverapps.io","clerk.app","clerkstage.app","*.lcl.dev","*.lclstage.dev","*.stg.dev","*.stgstage.dev","clickrising.net","c66.me","cloud66.ws","cloud66.zone","jdevcloud.com","wpdevcloud.com","cloudaccess.host","freesite.host","cloudaccess.net","cloudcontrolled.com","cloudcontrolapp.com","*.cloudera.site","pages.dev","trycloudflare.com","workers.dev","wnext.app","co.ca","*.otap.co","co.cz","c.cdn77.org","cdn77-ssl.net","r.cdn77.net","rsc.cdn77.org","ssl.origin.cdn77-secure.org","cloudns.asia","cloudns.biz","cloudns.club","cloudns.cc","cloudns.eu","cloudns.in","cloudns.info","cloudns.org","cloudns.pro","cloudns.pw","cloudns.us","cnpy.gdn","codeberg.page","co.nl","co.no","webhosting.be","hosting-cluster.nl","ac.ru","edu.ru","gov.ru","int.ru","mil.ru","test.ru","dyn.cosidns.de","dynamisches-dns.de","dnsupdater.de","internet-dns.de","l-o-g-i-n.de","dynamic-dns.info","feste-ip.net","knx-server.net","static-access.net","realm.cz","*.cryptonomic.net","cupcake.is","curv.dev","*.customer-oci.com","*.oci.customer-oci.com","*.ocp.customer-oci.com","*.ocs.customer-oci.com","cyon.link","cyon.site","fnwk.site","folionetwork.site","platform0.app","daplie.me","localhost.daplie.me","dattolocal.com","dattorelay.com","dattoweb.com","mydatto.com","dattolocal.net","mydatto.net","biz.dk","co.dk","firm.dk","reg.dk","store.dk","dyndns.dappnode.io","*.dapps.earth","*.bzz.dapps.earth","builtwithdark.com","demo.datadetect.com","instance.datadetect.com","edgestack.me","ddns5.com","debian.net","deno.dev","deno-staging.dev","dedyn.io","deta.app","deta.dev","*.rss.my.id","*.diher.solutions","discordsays.com","discordsez.com","jozi.biz","dnshome.de","online.th","shop.th","drayddns.com","shoparena.pl","dreamhosters.com","mydrobo.com","drud.io","drud.us","duckdns.org","bip.sh","bitbridge.net","dy.fi","tunk.org","dyndns-at-home.com","dyndns-at-work.com","dyndns-blog.com","dyndns-free.com","dyndns-home.com","dyndns-ip.com","dyndns-mail.com","dyndns-office.com","dyndns-pics.com","dyndns-remote.com","dyndns-server.com","dyndns-web.com","dyndns-wiki.com","dyndns-work.com","dyndns.biz","dyndns.info","dyndns.org","dyndns.tv","at-band-camp.net","ath.cx","barrel-of-knowledge.info","barrell-of-knowledge.info","better-than.tv","blogdns.com","blogdns.net","blogdns.org","blogsite.org","boldlygoingnowhere.org","broke-it.net","buyshouses.net","cechire.com","dnsalias.com","dnsalias.net","dnsalias.org","dnsdojo.com","dnsdojo.net","dnsdojo.org","does-it.net","doesntexist.com","doesntexist.org","dontexist.com","dontexist.net","dontexist.org","doomdns.com","doomdns.org","dvrdns.org","dyn-o-saur.com","dynalias.com","dynalias.net","dynalias.org","dynathome.net","dyndns.ws","endofinternet.net","endofinternet.org","endoftheinternet.org","est-a-la-maison.com","est-a-la-masion.com","est-le-patron.com","est-mon-blogueur.com","for-better.biz","for-more.biz","for-our.info","for-some.biz","for-the.biz","forgot.her.name","forgot.his.name","from-ak.com","from-al.com","from-ar.com","from-az.net","from-ca.com","from-co.net","from-ct.com","from-dc.com","from-de.com","from-fl.com","from-ga.com","from-hi.com","from-ia.com","from-id.com","from-il.com","from-in.com","from-ks.com","from-ky.com","from-la.net","from-ma.com","from-md.com","from-me.org","from-mi.com","from-mn.com","from-mo.com","from-ms.com","from-mt.com","from-nc.com","from-nd.com","from-ne.com","from-nh.com","from-nj.com","from-nm.com","from-nv.com","from-ny.net","from-oh.com","from-ok.com","from-or.com","from-pa.com","from-pr.com","from-ri.com","from-sc.com","from-sd.com","from-tn.com","from-tx.com","from-ut.com","from-va.com","from-vt.com","from-wa.com","from-wi.com","from-wv.com","from-wy.com","ftpaccess.cc","fuettertdasnetz.de","game-host.org","game-server.cc","getmyip.com","gets-it.net","go.dyndns.org","gotdns.com","gotdns.org","groks-the.info","groks-this.info","ham-radio-op.net","here-for-more.info","hobby-site.com","hobby-site.org","home.dyndns.org","homedns.org","homeftp.net","homeftp.org","homeip.net","homelinux.com","homelinux.net","homelinux.org","homeunix.com","homeunix.net","homeunix.org","iamallama.com","in-the-band.net","is-a-anarchist.com","is-a-blogger.com","is-a-bookkeeper.com","is-a-bruinsfan.org","is-a-bulls-fan.com","is-a-candidate.org","is-a-caterer.com","is-a-celticsfan.org","is-a-chef.com","is-a-chef.net","is-a-chef.org","is-a-conservative.com","is-a-cpa.com","is-a-cubicle-slave.com","is-a-democrat.com","is-a-designer.com","is-a-doctor.com","is-a-financialadvisor.com","is-a-geek.com","is-a-geek.net","is-a-geek.org","is-a-green.com","is-a-guru.com","is-a-hard-worker.com","is-a-hunter.com","is-a-knight.org","is-a-landscaper.com","is-a-lawyer.com","is-a-liberal.com","is-a-libertarian.com","is-a-linux-user.org","is-a-llama.com","is-a-musician.com","is-a-nascarfan.com","is-a-nurse.com","is-a-painter.com","is-a-patsfan.org","is-a-personaltrainer.com","is-a-photographer.com","is-a-player.com","is-a-republican.com","is-a-rockstar.com","is-a-socialist.com","is-a-soxfan.org","is-a-student.com","is-a-teacher.com","is-a-techie.com","is-a-therapist.com","is-an-accountant.com","is-an-actor.com","is-an-actress.com","is-an-anarchist.com","is-an-artist.com","is-an-engineer.com","is-an-entertainer.com","is-by.us","is-certified.com","is-found.org","is-gone.com","is-into-anime.com","is-into-cars.com","is-into-cartoons.com","is-into-games.com","is-leet.com","is-lost.org","is-not-certified.com","is-saved.org","is-slick.com","is-uberleet.com","is-very-bad.org","is-very-evil.org","is-very-good.org","is-very-nice.org","is-very-sweet.org","is-with-theband.com","isa-geek.com","isa-geek.net","isa-geek.org","isa-hockeynut.com","issmarterthanyou.com","isteingeek.de","istmein.de","kicks-ass.net","kicks-ass.org","knowsitall.info","land-4-sale.us","lebtimnetz.de","leitungsen.de","likes-pie.com","likescandy.com","merseine.nu","mine.nu","misconfused.org","mypets.ws","myphotos.cc","neat-url.com","office-on-the.net","on-the-web.tv","podzone.net","podzone.org","readmyblog.org","saves-the-whales.com","scrapper-site.net","scrapping.cc","selfip.biz","selfip.com","selfip.info","selfip.net","selfip.org","sells-for-less.com","sells-for-u.com","sells-it.net","sellsyourhome.org","servebbs.com","servebbs.net","servebbs.org","serveftp.net","serveftp.org","servegame.org","shacknet.nu","simple-url.com","space-to-rent.com","stuff-4-sale.org","stuff-4-sale.us","teaches-yoga.com","thruhere.net","traeumtgerade.de","webhop.biz","webhop.info","webhop.net","webhop.org","worse-than.tv","writesthisblog.com","ddnss.de","dyn.ddnss.de","dyndns.ddnss.de","dyndns1.de","dyn-ip24.de","home-webserver.de","dyn.home-webserver.de","myhome-server.de","ddnss.org","definima.net","definima.io","ondigitalocean.app","*.digitaloceanspaces.com","bci.dnstrace.pro","ddnsfree.com","ddnsgeek.com","giize.com","gleeze.com","kozow.com","loseyourip.com","ooguy.com","theworkpc.com","casacam.net","dynu.net","accesscam.org","camdvr.org","freeddns.org","mywire.org","webredirect.org","myddns.rocks","blogsite.xyz","dynv6.net","e4.cz","eero.online","eero-stage.online","elementor.cloud","elementor.cool","en-root.fr","mytuleap.com","tuleap-partners.com","encr.app","encoreapi.com","onred.one","staging.onred.one","eu.encoway.cloud","eu.org","al.eu.org","asso.eu.org","at.eu.org","au.eu.org","be.eu.org","bg.eu.org","ca.eu.org","cd.eu.org","ch.eu.org","cn.eu.org","cy.eu.org","cz.eu.org","de.eu.org","dk.eu.org","edu.eu.org","ee.eu.org","es.eu.org","fi.eu.org","fr.eu.org","gr.eu.org","hr.eu.org","hu.eu.org","ie.eu.org","il.eu.org","in.eu.org","int.eu.org","is.eu.org","it.eu.org","jp.eu.org","kr.eu.org","lt.eu.org","lu.eu.org","lv.eu.org","mc.eu.org","me.eu.org","mk.eu.org","mt.eu.org","my.eu.org","net.eu.org","ng.eu.org","nl.eu.org","no.eu.org","nz.eu.org","paris.eu.org","pl.eu.org","pt.eu.org","q-a.eu.org","ro.eu.org","ru.eu.org","se.eu.org","si.eu.org","sk.eu.org","tr.eu.org","uk.eu.org","us.eu.org","eurodir.ru","eu-1.evennode.com","eu-2.evennode.com","eu-3.evennode.com","eu-4.evennode.com","us-1.evennode.com","us-2.evennode.com","us-3.evennode.com","us-4.evennode.com","twmail.cc","twmail.net","twmail.org","mymailer.com.tw","url.tw","onfabrica.com","apps.fbsbx.com","ru.net","adygeya.ru","bashkiria.ru","bir.ru","cbg.ru","com.ru","dagestan.ru","grozny.ru","kalmykia.ru","kustanai.ru","marine.ru","mordovia.ru","msk.ru","mytis.ru","nalchik.ru","nov.ru","pyatigorsk.ru","spb.ru","vladikavkaz.ru","vladimir.ru","abkhazia.su","adygeya.su","aktyubinsk.su","arkhangelsk.su","armenia.su","ashgabad.su","azerbaijan.su","balashov.su","bashkiria.su","bryansk.su","bukhara.su","chimkent.su","dagestan.su","east-kazakhstan.su","exnet.su","georgia.su","grozny.su","ivanovo.su","jambyl.su","kalmykia.su","kaluga.su","karacol.su","karaganda.su","karelia.su","khakassia.su","krasnodar.su","kurgan.su","kustanai.su","lenug.su","mangyshlak.su","mordovia.su","msk.su","murmansk.su","nalchik.su","navoi.su","north-kazakhstan.su","nov.su","obninsk.su","penza.su","pokrovsk.su","sochi.su","spb.su","tashkent.su","termez.su","togliatti.su","troitsk.su","tselinograd.su","tula.su","tuva.su","vladikavkaz.su","vladimir.su","vologda.su","channelsdvr.net","u.channelsdvr.net","edgecompute.app","fastly-terrarium.com","fastlylb.net","map.fastlylb.net","freetls.fastly.net","map.fastly.net","a.prod.fastly.net","global.prod.fastly.net","a.ssl.fastly.net","b.ssl.fastly.net","global.ssl.fastly.net","fastvps-server.com","fastvps.host","myfast.host","fastvps.site","myfast.space","fedorainfracloud.org","fedorapeople.org","cloud.fedoraproject.org","app.os.fedoraproject.org","app.os.stg.fedoraproject.org","conn.uk","copro.uk","hosp.uk","mydobiss.com","fh-muenster.io","filegear.me","filegear-au.me","filegear-de.me","filegear-gb.me","filegear-ie.me","filegear-jp.me","filegear-sg.me","firebaseapp.com","fireweb.app","flap.id","onflashdrive.app","fldrv.com","fly.dev","edgeapp.net","shw.io","flynnhosting.net","forgeblocks.com","id.forgerock.io","framer.app","framercanvas.com","*.frusky.de","ravpage.co.il","0e.vc","freebox-os.com","freeboxos.com","fbx-os.fr","fbxos.fr","freebox-os.fr","freeboxos.fr","freedesktop.org","freemyip.com","wien.funkfeuer.at","*.futurecms.at","*.ex.futurecms.at","*.in.futurecms.at","futurehosting.at","futuremailing.at","*.ex.ortsinfo.at","*.kunden.ortsinfo.at","*.statics.cloud","independent-commission.uk","independent-inquest.uk","independent-inquiry.uk","independent-panel.uk","independent-review.uk","public-inquiry.uk","royal-commission.uk","campaign.gov.uk","service.gov.uk","api.gov.uk","gehirn.ne.jp","usercontent.jp","gentapps.com","gentlentapis.com","lab.ms","cdn-edges.net","ghost.io","gsj.bz","githubusercontent.com","githubpreview.dev","github.io","gitlab.io","gitapp.si","gitpage.si","glitch.me","nog.community","co.ro","shop.ro","lolipop.io","angry.jp","babyblue.jp","babymilk.jp","backdrop.jp","bambina.jp","bitter.jp","blush.jp","boo.jp","boy.jp","boyfriend.jp","but.jp","candypop.jp","capoo.jp","catfood.jp","cheap.jp","chicappa.jp","chillout.jp","chips.jp","chowder.jp","chu.jp","ciao.jp","cocotte.jp","coolblog.jp","cranky.jp","cutegirl.jp","daa.jp","deca.jp","deci.jp","digick.jp","egoism.jp","fakefur.jp","fem.jp","flier.jp","floppy.jp","fool.jp","frenchkiss.jp","girlfriend.jp","girly.jp","gloomy.jp","gonna.jp","greater.jp","hacca.jp","heavy.jp","her.jp","hiho.jp","hippy.jp","holy.jp","hungry.jp","icurus.jp","itigo.jp","jellybean.jp","kikirara.jp","kill.jp","kilo.jp","kuron.jp","littlestar.jp","lolipopmc.jp","lolitapunk.jp","lomo.jp","lovepop.jp","lovesick.jp","main.jp","mods.jp","mond.jp","mongolian.jp","moo.jp","namaste.jp","nikita.jp","nobushi.jp","noor.jp","oops.jp","parallel.jp","parasite.jp","pecori.jp","peewee.jp","penne.jp","pepper.jp","perma.jp","pigboat.jp","pinoko.jp","punyu.jp","pupu.jp","pussycat.jp","pya.jp","raindrop.jp","readymade.jp","sadist.jp","schoolbus.jp","secret.jp","staba.jp","stripper.jp","sub.jp","sunnyday.jp","thick.jp","tonkotsu.jp","under.jp","upper.jp","velvet.jp","verse.jp","versus.jp","vivian.jp","watson.jp","weblike.jp","whitesnow.jp","zombie.jp","heteml.net","cloudapps.digital","london.cloudapps.digital","pymnt.uk","homeoffice.gov.uk","ro.im","goip.de","run.app","a.run.app","web.app","*.0emm.com","appspot.com","*.r.appspot.com","codespot.com","googleapis.com","googlecode.com","pagespeedmobilizer.com","publishproxy.com","withgoogle.com","withyoutube.com","*.gateway.dev","cloud.goog","translate.goog","*.usercontent.goog","cloudfunctions.net","blogspot.ae","blogspot.al","blogspot.am","blogspot.ba","blogspot.be","blogspot.bg","blogspot.bj","blogspot.ca","blogspot.cf","blogspot.ch","blogspot.cl","blogspot.co.at","blogspot.co.id","blogspot.co.il","blogspot.co.ke","blogspot.co.nz","blogspot.co.uk","blogspot.co.za","blogspot.com","blogspot.com.ar","blogspot.com.au","blogspot.com.br","blogspot.com.by","blogspot.com.co","blogspot.com.cy","blogspot.com.ee","blogspot.com.eg","blogspot.com.es","blogspot.com.mt","blogspot.com.ng","blogspot.com.tr","blogspot.com.uy","blogspot.cv","blogspot.cz","blogspot.de","blogspot.dk","blogspot.fi","blogspot.fr","blogspot.gr","blogspot.hk","blogspot.hr","blogspot.hu","blogspot.ie","blogspot.in","blogspot.is","blogspot.it","blogspot.jp","blogspot.kr","blogspot.li","blogspot.lt","blogspot.lu","blogspot.md","blogspot.mk","blogspot.mr","blogspot.mx","blogspot.my","blogspot.nl","blogspot.no","blogspot.pe","blogspot.pt","blogspot.qa","blogspot.re","blogspot.ro","blogspot.rs","blogspot.ru","blogspot.se","blogspot.sg","blogspot.si","blogspot.sk","blogspot.sn","blogspot.td","blogspot.tw","blogspot.ug","blogspot.vn","goupile.fr","gov.nl","awsmppl.com","günstigbestellen.de","günstigliefern.de","fin.ci","free.hr","caa.li","ua.rs","conf.se","hs.zone","hs.run","hashbang.sh","hasura.app","hasura-app.io","pages.it.hs-heilbronn.de","hepforge.org","herokuapp.com","herokussl.com","ravendb.cloud","myravendb.com","ravendb.community","ravendb.me","development.run","ravendb.run","homesklep.pl","secaas.hk","hoplix.shop","orx.biz","biz.gl","col.ng","firm.ng","gen.ng","ltd.ng","ngo.ng","edu.scot","sch.so","hostyhosting.io","häkkinen.fi","*.moonscale.io","moonscale.net","iki.fi","ibxos.it","iliadboxos.it","impertrixcdn.com","impertrix.com","smushcdn.com","wphostedmail.com","wpmucdn.com","tempurl.host","wpmudev.host","dyn-berlin.de","in-berlin.de","in-brb.de","in-butter.de","in-dsl.de","in-dsl.net","in-dsl.org","in-vpn.de","in-vpn.net","in-vpn.org","biz.at","info.at","info.cx","ac.leg.br","al.leg.br","am.leg.br","ap.leg.br","ba.leg.br","ce.leg.br","df.leg.br","es.leg.br","go.leg.br","ma.leg.br","mg.leg.br","ms.leg.br","mt.leg.br","pa.leg.br","pb.leg.br","pe.leg.br","pi.leg.br","pr.leg.br","rj.leg.br","rn.leg.br","ro.leg.br","rr.leg.br","rs.leg.br","sc.leg.br","se.leg.br","sp.leg.br","to.leg.br","pixolino.com","na4u.ru","iopsys.se","ipifony.net","iservschule.de","mein-iserv.de","schulplattform.de","schulserver.de","test-iserv.de","iserv.dev","iobb.net","mel.cloudlets.com.au","cloud.interhostsolutions.be","users.scale.virtualcloud.com.br","mycloud.by","alp1.ae.flow.ch","appengine.flow.ch","es-1.axarnet.cloud","diadem.cloud","vip.jelastic.cloud","jele.cloud","it1.eur.aruba.jenv-aruba.cloud","it1.jenv-aruba.cloud","keliweb.cloud","cs.keliweb.cloud","oxa.cloud","tn.oxa.cloud","uk.oxa.cloud","primetel.cloud","uk.primetel.cloud","ca.reclaim.cloud","uk.reclaim.cloud","us.reclaim.cloud","ch.trendhosting.cloud","de.trendhosting.cloud","jele.club","amscompute.com","clicketcloud.com","dopaas.com","hidora.com","paas.hosted-by-previder.com","rag-cloud.hosteur.com","rag-cloud-ch.hosteur.com","jcloud.ik-server.com","jcloud-ver-jpc.ik-server.com","demo.jelastic.com","kilatiron.com","paas.massivegrid.com","jed.wafaicloud.com","lon.wafaicloud.com","ryd.wafaicloud.com","j.scaleforce.com.cy","jelastic.dogado.eu","fi.cloudplatform.fi","demo.datacenter.fi","paas.datacenter.fi","jele.host","mircloud.host","paas.beebyte.io","sekd1.beebyteapp.io","jele.io","cloud-fr1.unispace.io","jc.neen.it","cloud.jelastic.open.tim.it","jcloud.kz","upaas.kazteleport.kz","cloudjiffy.net","fra1-de.cloudjiffy.net","west1-us.cloudjiffy.net","jls-sto1.elastx.net","jls-sto2.elastx.net","jls-sto3.elastx.net","faststacks.net","fr-1.paas.massivegrid.net","lon-1.paas.massivegrid.net","lon-2.paas.massivegrid.net","ny-1.paas.massivegrid.net","ny-2.paas.massivegrid.net","sg-1.paas.massivegrid.net","jelastic.saveincloud.net","nordeste-idc.saveincloud.net","j.scaleforce.net","jelastic.tsukaeru.net","sdscloud.pl","unicloud.pl","mircloud.ru","jelastic.regruhosting.ru","enscaled.sg","jele.site","jelastic.team","orangecloud.tn","j.layershift.co.uk","phx.enscaled.us","mircloud.us","myjino.ru","*.hosting.myjino.ru","*.landing.myjino.ru","*.spectrum.myjino.ru","*.vps.myjino.ru","jotelulu.cloud","*.triton.zone","*.cns.joyent.com","js.org","kaas.gg","khplay.nl","ktistory.com","kapsi.fi","keymachine.de","kinghost.net","uni5.net","knightpoint.systems","koobin.events","oya.to","kuleuven.cloud","ezproxy.kuleuven.be","co.krd","edu.krd","krellian.net","webthings.io","git-repos.de","lcube-server.de","svn-repos.de","leadpages.co","lpages.co","lpusercontent.com","lelux.site","co.business","co.education","co.events","co.financial","co.network","co.place","co.technology","app.lmpm.com","linkyard.cloud","linkyard-cloud.ch","members.linode.com","*.nodebalancer.linode.com","*.linodeobjects.com","ip.linodeusercontent.com","we.bs","*.user.localcert.dev","localzone.xyz","loginline.app","loginline.dev","loginline.io","loginline.services","loginline.site","servers.run","lohmus.me","krasnik.pl","leczna.pl","lubartow.pl","lublin.pl","poniatowa.pl","swidnik.pl","glug.org.uk","lug.org.uk","lugs.org.uk","barsy.bg","barsy.co.uk","barsyonline.co.uk","barsycenter.com","barsyonline.com","barsy.club","barsy.de","barsy.eu","barsy.in","barsy.info","barsy.io","barsy.me","barsy.menu","barsy.mobi","barsy.net","barsy.online","barsy.org","barsy.pro","barsy.pub","barsy.ro","barsy.shop","barsy.site","barsy.support","barsy.uk","*.magentosite.cloud","mayfirst.info","mayfirst.org","hb.cldmail.ru","cn.vu","mazeplay.com","mcpe.me","mcdir.me","mcdir.ru","mcpre.ru","vps.mcdir.ru","mediatech.by","mediatech.dev","hra.health","miniserver.com","memset.net","messerli.app","*.cloud.metacentrum.cz","custom.metacentrum.cz","flt.cloud.muni.cz","usr.cloud.muni.cz","meteorapp.com","eu.meteorapp.com","co.pl","*.azurecontainer.io","azurewebsites.net","azure-mobile.net","cloudapp.net","azurestaticapps.net","1.azurestaticapps.net","centralus.azurestaticapps.net","eastasia.azurestaticapps.net","eastus2.azurestaticapps.net","westeurope.azurestaticapps.net","westus2.azurestaticapps.net","csx.cc","mintere.site","forte.id","mozilla-iot.org","bmoattachments.org","net.ru","org.ru","pp.ru","hostedpi.com","customer.mythic-beasts.com","caracal.mythic-beasts.com","fentiger.mythic-beasts.com","lynx.mythic-beasts.com","ocelot.mythic-beasts.com","oncilla.mythic-beasts.com","onza.mythic-beasts.com","sphinx.mythic-beasts.com","vs.mythic-beasts.com","x.mythic-beasts.com","yali.mythic-beasts.com","cust.retrosnub.co.uk","ui.nabu.casa","pony.club","of.fashion","in.london","of.london","from.marketing","with.marketing","for.men","repair.men","and.mom","for.mom","for.one","under.one","for.sale","that.win","from.work","to.work","cloud.nospamproxy.com","netlify.app","4u.com","ngrok.io","nh-serv.co.uk","nfshost.com","*.developer.app","noop.app","*.northflank.app","*.build.run","*.code.run","*.database.run","*.migration.run","noticeable.news","dnsking.ch","mypi.co","n4t.co","001www.com","ddnslive.com","myiphost.com","forumz.info","16-b.it","32-b.it","64-b.it","soundcast.me","tcp4.me","dnsup.net","hicam.net","now-dns.net","ownip.net","vpndns.net","dynserv.org","now-dns.org","x443.pw","now-dns.top","ntdll.top","freeddns.us","crafting.xyz","zapto.xyz","nsupdate.info","nerdpol.ovh","blogsyte.com","brasilia.me","cable-modem.org","ciscofreak.com","collegefan.org","couchpotatofries.org","damnserver.com","ddns.me","ditchyourip.com","dnsfor.me","dnsiskinky.com","dvrcam.info","dynns.com","eating-organic.net","fantasyleague.cc","geekgalaxy.com","golffan.us","health-carereform.com","homesecuritymac.com","homesecuritypc.com","hopto.me","ilovecollege.info","loginto.me","mlbfan.org","mmafan.biz","myactivedirectory.com","mydissent.net","myeffect.net","mymediapc.net","mypsx.net","mysecuritycamera.com","mysecuritycamera.net","mysecuritycamera.org","net-freaks.com","nflfan.org","nhlfan.net","no-ip.ca","no-ip.co.uk","no-ip.net","noip.us","onthewifi.com","pgafan.net","point2this.com","pointto.us","privatizehealthinsurance.net","quicksytes.com","read-books.org","securitytactics.com","serveexchange.com","servehumour.com","servep2p.com","servesarcasm.com","stufftoread.com","ufcfan.org","unusualperson.com","workisboring.com","3utilities.com","bounceme.net","ddns.net","ddnsking.com","gotdns.ch","hopto.org","myftp.biz","myftp.org","myvnc.com","no-ip.biz","no-ip.info","no-ip.org","noip.me","redirectme.net","servebeer.com","serveblog.net","servecounterstrike.com","serveftp.com","servegame.com","servehalflife.com","servehttp.com","serveirc.com","serveminecraft.net","servemp3.com","servepics.com","servequake.com","sytes.net","webhop.me","zapto.org","stage.nodeart.io","pcloud.host","nyc.mn","static.observableusercontent.com","cya.gg","omg.lol","cloudycluster.net","omniwe.site","service.one","nid.io","opensocial.site","opencraft.hosting","orsites.com","operaunite.com","tech.orange","authgear-staging.com","authgearapps.com","skygearapp.com","outsystemscloud.com","*.webpaas.ovh.net","*.hosting.ovh.net","ownprovider.com","own.pm","*.owo.codes","ox.rs","oy.lc","pgfog.com","pagefrontapp.com","pagexl.com","*.paywhirl.com","bar0.net","bar1.net","bar2.net","rdv.to","art.pl","gliwice.pl","krakow.pl","poznan.pl","wroc.pl","zakopane.pl","pantheonsite.io","gotpantheon.com","mypep.link","perspecta.cloud","lk3.ru","on-web.fr","bc.platform.sh","ent.platform.sh","eu.platform.sh","us.platform.sh","*.platformsh.site","*.tst.site","platter-app.com","platter-app.dev","platterp.us","pdns.page","plesk.page","pleskns.com","dyn53.io","onporter.run","co.bn","postman-echo.com","pstmn.io","mock.pstmn.io","httpbin.org","prequalifyme.today","xen.prgmr.com","priv.at","prvcy.page","*.dweb.link","protonet.io","chirurgiens-dentistes-en-france.fr","byen.site","pubtls.org","pythonanywhere.com","eu.pythonanywhere.com","qoto.io","qualifioapp.com","qbuser.com","cloudsite.builders","instances.spawn.cc","instantcloud.cn","ras.ru","qa2.com","qcx.io","*.sys.qcx.io","dev-myqnapcloud.com","alpha-myqnapcloud.com","myqnapcloud.com","*.quipelements.com","vapor.cloud","vaporcloud.io","rackmaze.com","rackmaze.net","g.vbrplsbx.io","*.on-k3s.io","*.on-rancher.cloud","*.on-rio.io","readthedocs.io","rhcloud.com","app.render.com","onrender.com","repl.co","id.repl.co","repl.run","resindevice.io","devices.resinstaging.io","hzc.io","wellbeingzone.eu","wellbeingzone.co.uk","adimo.co.uk","itcouldbewor.se","git-pages.rit.edu","rocky.page","биз.рус","ком.рус","крым.рус","мир.рус","мск.рус","орг.рус","самара.рус","сочи.рус","спб.рус","я.рус","*.builder.code.com","*.dev-builder.code.com","*.stg-builder.code.com","sandcats.io","logoip.de","logoip.com","fr-par-1.baremetal.scw.cloud","fr-par-2.baremetal.scw.cloud","nl-ams-1.baremetal.scw.cloud","fnc.fr-par.scw.cloud","functions.fnc.fr-par.scw.cloud","k8s.fr-par.scw.cloud","nodes.k8s.fr-par.scw.cloud","s3.fr-par.scw.cloud","s3-website.fr-par.scw.cloud","whm.fr-par.scw.cloud","priv.instances.scw.cloud","pub.instances.scw.cloud","k8s.scw.cloud","k8s.nl-ams.scw.cloud","nodes.k8s.nl-ams.scw.cloud","s3.nl-ams.scw.cloud","s3-website.nl-ams.scw.cloud","whm.nl-ams.scw.cloud","k8s.pl-waw.scw.cloud","nodes.k8s.pl-waw.scw.cloud","s3.pl-waw.scw.cloud","s3-website.pl-waw.scw.cloud","scalebook.scw.cloud","smartlabeling.scw.cloud","dedibox.fr","schokokeks.net","gov.scot","service.gov.scot","scrysec.com","firewall-gateway.com","firewall-gateway.de","my-gateway.de","my-router.de","spdns.de","spdns.eu","firewall-gateway.net","my-firewall.org","myfirewall.org","spdns.org","seidat.net","sellfy.store","senseering.net","minisite.ms","magnet.page","biz.ua","co.ua","pp.ua","shiftcrypto.dev","shiftcrypto.io","shiftedit.io","myshopblocks.com","myshopify.com","shopitsite.com","shopware.store","mo-siemens.io","1kapp.com","appchizi.com","applinzi.com","sinaapp.com","vipsinaapp.com","siteleaf.net","bounty-full.com","alpha.bounty-full.com","beta.bounty-full.com","small-web.org","vp4.me","try-snowplow.com","srht.site","stackhero-network.com","musician.io","novecore.site","static.land","dev.static.land","sites.static.land","storebase.store","vps-host.net","atl.jelastic.vps-host.net","njs.jelastic.vps-host.net","ric.jelastic.vps-host.net","playstation-cloud.com","apps.lair.io","*.stolos.io","spacekit.io","customer.speedpartner.de","myspreadshop.at","myspreadshop.com.au","myspreadshop.be","myspreadshop.ca","myspreadshop.ch","myspreadshop.com","myspreadshop.de","myspreadshop.dk","myspreadshop.es","myspreadshop.fi","myspreadshop.fr","myspreadshop.ie","myspreadshop.it","myspreadshop.net","myspreadshop.nl","myspreadshop.no","myspreadshop.pl","myspreadshop.se","myspreadshop.co.uk","api.stdlib.com","storj.farm","utwente.io","soc.srcf.net","user.srcf.net","temp-dns.com","supabase.co","supabase.in","supabase.net","su.paba.se","*.s5y.io","*.sensiosite.cloud","syncloud.it","dscloud.biz","direct.quickconnect.cn","dsmynas.com","familyds.com","diskstation.me","dscloud.me","i234.me","myds.me","synology.me","dscloud.mobi","dsmynas.net","familyds.net","dsmynas.org","familyds.org","vpnplus.to","direct.quickconnect.to","tabitorder.co.il","taifun-dns.de","beta.tailscale.net","ts.net","gda.pl","gdansk.pl","gdynia.pl","med.pl","sopot.pl","site.tb-hosting.com","edugit.io","s3.teckids.org","telebit.app","telebit.io","*.telebit.xyz","gwiddle.co.uk","*.firenet.ch","*.svc.firenet.ch","reservd.com","thingdustdata.com","cust.dev.thingdust.io","cust.disrec.thingdust.io","cust.prod.thingdust.io","cust.testing.thingdust.io","reservd.dev.thingdust.io","reservd.disrec.thingdust.io","reservd.testing.thingdust.io","tickets.io","arvo.network","azimuth.network","tlon.network","torproject.net","pages.torproject.net","bloxcms.com","townnews-staging.com","tbits.me","12hp.at","2ix.at","4lima.at","lima-city.at","12hp.ch","2ix.ch","4lima.ch","lima-city.ch","trafficplex.cloud","de.cool","12hp.de","2ix.de","4lima.de","lima-city.de","1337.pictures","clan.rip","lima-city.rocks","webspace.rocks","lima.zone","*.transurl.be","*.transurl.eu","*.transurl.nl","site.transip.me","tuxfamily.org","dd-dns.de","diskstation.eu","diskstation.org","dray-dns.de","draydns.de","dyn-vpn.de","dynvpn.de","mein-vigor.de","my-vigor.de","my-wan.de","syno-ds.de","synology-diskstation.de","synology-ds.de","typedream.app","pro.typeform.com","uber.space","*.uberspace.de","hk.com","hk.org","ltd.hk","inc.hk","name.pm","sch.tf","biz.wf","sch.wf","org.yt","virtualuser.de","virtual-user.de","upli.io","urown.cloud","dnsupdate.info","lib.de.us","2038.io","vercel.app","vercel.dev","now.sh","router.management","v-info.info","voorloper.cloud","neko.am","nyaa.am","be.ax","cat.ax","es.ax","eu.ax","gg.ax","mc.ax","us.ax","xy.ax","nl.ci","xx.gl","app.gp","blog.gt","de.gt","to.gt","be.gy","cc.hn","blog.kg","io.kg","jp.kg","tv.kg","uk.kg","us.kg","de.ls","at.md","de.md","jp.md","to.md","indie.porn","vxl.sh","ch.tc","me.tc","we.tc","nyan.to","at.vg","blog.vu","dev.vu","me.vu","v.ua","*.vultrobjects.com","wafflecell.com","*.webhare.dev","reserve-online.net","reserve-online.com","bookonline.app","hotelwithflight.com","wedeploy.io","wedeploy.me","wedeploy.sh","remotewd.com","pages.wiardweb.com","wmflabs.org","toolforge.org","wmcloud.org","panel.gg","daemon.panel.gg","messwithdns.com","woltlab-demo.com","myforum.community","community-pro.de","diskussionsbereich.de","community-pro.net","meinforum.net","affinitylottery.org.uk","raffleentry.org.uk","weeklylottery.org.uk","wpenginepowered.com","js.wpenginepowered.com","wixsite.com","editorx.io","half.host","xnbay.com","u2.xnbay.com","u2-local.xnbay.com","cistron.nl","demon.nl","xs4all.space","yandexcloud.net","storage.yandexcloud.net","website.yandexcloud.net","official.academy","yolasite.com","ybo.faith","yombo.me","homelink.one","ybo.party","ybo.review","ybo.science","ybo.trade","ynh.fr","nohost.me","noho.st","za.net","za.org","bss.design","basicserver.io","virtualserver.io","enterprisecloud.nu"]}}),Fc=Ce({"node_modules/psl/index.js"(e){var a=En(),o={};o.rules=Dc().map(function(t){return{rule:t,suffix:t.replace(/^(\*\.|\!)/,""),punySuffix:-1,wildcard:t.charAt(0)==="*",exception:t.charAt(0)==="!"}}),o.endsWith=function(t,n){return t.indexOf(n,t.length-n.length)!==-1},o.findRule=function(t){var n=a.toASCII(t);return o.rules.reduce(function(r,i){return i.punySuffix===-1&&(i.punySuffix=a.toASCII(i.suffix)),!o.endsWith(n,"."+i.punySuffix)&&n!==i.punySuffix?r:i},null)},e.errorCodes={DOMAIN_TOO_SHORT:"Domain name too short.",DOMAIN_TOO_LONG:"Domain name too long. It should be no more than 255 chars.",LABEL_STARTS_WITH_DASH:"Domain name label can not start with a dash.",LABEL_ENDS_WITH_DASH:"Domain name label can not end with a dash.",LABEL_TOO_LONG:"Domain name label should be at most 63 chars long.",LABEL_TOO_SHORT:"Domain name label should be at least 1 character long.",LABEL_INVALID_CHARS:"Domain name label can only contain alphanumeric characters or dashes."},o.validate=function(t){var n=a.toASCII(t);if(n.length<1)return"DOMAIN_TOO_SHORT";if(n.length>255)return"DOMAIN_TOO_LONG";for(var r=n.split("."),i,s=0;s<r.length;++s){if(i=r[s],!i.length)return"LABEL_TOO_SHORT";if(i.length>63)return"LABEL_TOO_LONG";if(i.charAt(0)==="-")return"LABEL_STARTS_WITH_DASH";if(i.charAt(i.length-1)==="-")return"LABEL_ENDS_WITH_DASH";if(!/^[a-z0-9\-]+$/.test(i))return"LABEL_INVALID_CHARS"}},e.parse=function(t){if(typeof t!="string")throw new TypeError("Domain name must be a string.");var n=t.slice(0).toLowerCase();n.charAt(n.length-1)==="."&&(n=n.slice(0,n.length-1));var r=o.validate(n);if(r)return{input:t,error:{message:e.errorCodes[r],code:r}};var i={input:t,tld:null,sld:null,domain:null,subdomain:null,listed:!1},s=n.split(".");if(s[s.length-1]==="local")return i;var u=function(){return/xn--/.test(n)&&(i.domain&&(i.domain=a.toASCII(i.domain)),i.subdomain&&(i.subdomain=a.toASCII(i.subdomain))),i},p=o.findRule(n);if(!p)return s.length<2?i:(i.tld=s.pop(),i.sld=s.pop(),i.domain=[i.sld,i.tld].join("."),s.length&&(i.subdomain=s.pop()),u());i.listed=!0;var d=p.suffix.split("."),m=s.slice(0,s.length-d.length);return p.exception&&m.push(d.shift()),i.tld=d.join("."),!m.length||(p.wildcard&&(d.unshift(m.pop()),i.tld=d.join(".")),!m.length)||(i.sld=m.pop(),i.domain=[i.sld,i.tld].join("."),m.length&&(i.subdomain=m.join("."))),u()},e.get=function(t){return t&&e.parse(t).domain||null},e.isValid=function(t){var n=e.parse(t);return!!(n.domain&&n.listed)}}}),Sn=Ce({"node_modules/tough-cookie/lib/pubsuffix-psl.js"(e){var a=Fc(),o=["local","example","invalid","localhost","test"],t=["localhost","invalid"];function n(r,i={}){const s=r.split("."),u=s[s.length-1],p=!!i.allowSpecialUseDomain,d=!!i.ignoreError;if(p&&o.includes(u)){if(s.length>1)return`${s[s.length-2]}.${u}`;if(t.includes(u))return`${u}`}if(!d&&o.includes(u))throw new Error(`Cookie has domain set to the public suffix "${u}" which is a special use domain. To allow this, configure your CookieJar with {allowSpecialUseDomain:true, rejectPublicSuffixes: false}.`);return a.get(r)}e.getPublicSuffix=n}}),zn=Ce({"node_modules/tough-cookie/lib/store.js"(e){var a=class{constructor(){this.synchronous=!1}findCookie(o,t,n,r){throw new Error("findCookie is not implemented")}findCookies(o,t,n,r){throw new Error("findCookies is not implemented")}putCookie(o,t){throw new Error("putCookie is not implemented")}updateCookie(o,t,n){throw new Error("updateCookie is not implemented")}removeCookie(o,t,n,r){throw new Error("removeCookie is not implemented")}removeCookies(o,t,n){throw new Error("removeCookies is not implemented")}removeAllCookies(o){throw new Error("removeAllCookies is not implemented")}getAllCookies(o){throw new Error("getAllCookies is not implemented (therefore jar cannot be serialized)")}};e.Store=a}}),Tn=Ce({"node_modules/universalify/index.js"(e){e.fromCallback=function(a){return Object.defineProperty(function(){if(typeof arguments[arguments.length-1]=="function")a.apply(this,arguments);else return new Promise((o,t)=>{arguments[arguments.length]=(n,r)=>{if(n)return t(n);o(r)},arguments.length++,a.apply(this,arguments)})},"name",{value:a.name})},e.fromPromise=function(a){return Object.defineProperty(function(){const o=arguments[arguments.length-1];if(typeof o!="function")return a.apply(this,arguments);delete arguments[arguments.length-1],arguments.length--,a.apply(this,arguments).then(t=>o(null,t),o)},"name",{value:a.name})}}}),On=Ce({"node_modules/tough-cookie/lib/permuteDomain.js"(e){var a=Sn();function o(t,n){const r=a.getPublicSuffix(t,{allowSpecialUseDomain:n});if(!r)return null;if(r==t)return[t];t.slice(-1)=="."&&(t=t.slice(0,-1));const s=t.slice(0,-(r.length+1)).split(".").reverse();let u=r;const p=[u];for(;s.length;)u=`${s.shift()}.${u}`,p.push(u);return p}e.permuteDomain=o}}),_n=Ce({"node_modules/tough-cookie/lib/pathMatch.js"(e){function a(o,t){return t===o||o.indexOf(t)===0&&(t.substr(-1)==="/"||o.substr(t.length,1)==="/")}e.pathMatch=a}}),An=Ce({"node_modules/tough-cookie/lib/utilHelper.js"(e){function a(){try{return _c("util")}catch{return null}}function o(){return Symbol.for("nodejs.util.inspect.custom")}function t(n){const i=(n.requireUtil||a)();return i?i.inspect.custom:null}e.getUtilInspect=function(r,i={}){const u=(i.requireUtil||a)();return function(d,m,h){return u?u.inspect(d,m,h):r(d)}},e.getCustomInspectSymbol=function(r={}){return(r.lookupCustomInspectSymbol||o)()||t(r)}}}),Nc=Ce({"node_modules/tough-cookie/lib/memstore.js"(e){var{fromCallback:a}=Tn(),o=zn().Store,t=On().permuteDomain,n=_n().pathMatch,{getCustomInspectSymbol:r,getUtilInspect:i}=An(),s=class extends o{constructor(){super(),this.synchronous=!0,this.idx=Object.create(null);const m=r();m&&(this[m]=this.inspect)}inspect(){return`{ idx: ${{inspect:i(u)}.inspect(this.idx,!1,2)} }`}findCookie(m,h,g,f){return!this.idx[m]||!this.idx[m][h]?f(null,void 0):f(null,this.idx[m][h][g]||null)}findCookies(m,h,g,f){const c=[];if(typeof g=="function"&&(f=g,g=!0),!m)return f(null,[]);let v;h?v=function(b){Object.keys(b).forEach(y=>{if(n(h,y)){const w=b[y];for(const z in w)c.push(w[z])}})}:v=function(b){for(const y in b){const w=b[y];for(const z in w)c.push(w[z])}};const T=t(m,g)||[m],P=this.idx;T.forEach(_=>{const b=P[_];b&&v(b)}),f(null,c)}putCookie(m,h){this.idx[m.domain]||(this.idx[m.domain]=Object.create(null)),this.idx[m.domain][m.path]||(this.idx[m.domain][m.path]=Object.create(null)),this.idx[m.domain][m.path][m.key]=m,h(null)}updateCookie(m,h,g){this.putCookie(h,g)}removeCookie(m,h,g,f){this.idx[m]&&this.idx[m][h]&&this.idx[m][h][g]&&delete this.idx[m][h][g],f(null)}removeCookies(m,h,g){return this.idx[m]&&(h?delete this.idx[m][h]:delete this.idx[m]),g(null)}removeAllCookies(m){return this.idx=Object.create(null),m(null)}getAllCookies(m){const h=[],g=this.idx;Object.keys(g).forEach(c=>{Object.keys(g[c]).forEach(T=>{Object.keys(g[c][T]).forEach(_=>{_!==null&&h.push(g[c][T][_])})})}),h.sort((c,v)=>(c.creationIndex||0)-(v.creationIndex||0)),m(null,h)}};["findCookie","findCookies","putCookie","updateCookie","removeCookie","removeCookies","removeAllCookies","getAllCookies"].forEach(m=>{s.prototype[m]=a(s.prototype[m])}),e.MemoryCookieStore=s;function u(m){const h=Object.keys(m);if(h.length===0)return"[Object: null prototype] {}";let g=`[Object: null prototype] {
149
+ `;return Object.keys(m).forEach((f,c)=>{g+=p(f,m[f]),c<h.length-1&&(g+=","),g+=`
150
+ `}),g+="}",g}function p(m,h){const g=" ";let f=`${g}'${m}': [Object: null prototype] {
151
+ `;return Object.keys(h).forEach((c,v,T)=>{f+=d(c,h[c]),v<T.length-1&&(f+=","),f+=`
152
+ `}),f+=`${g}}`,f}function d(m,h){const g=" ";let f=`${g}'${m}': [Object: null prototype] {
153
+ `;return Object.keys(h).forEach((c,v,T)=>{const P=h[c];f+=` ${c}: ${P.inspect()}`,v<T.length-1&&(f+=","),f+=`
154
+ `}),f+=`${g}}`,f}e.inspectFallback=u}}),Lc=Ce({"node_modules/tough-cookie/lib/validators.js"(e){var a=Object.prototype.toString;function o(g){return typeof g=="function"}function t(g){return i(g)&&g!==""}function n(g){return u(g,Date)&&d(g.getTime())}function r(g){return g===""||g instanceof String&&g.toString()===""}function i(g){return typeof g=="string"||g instanceof String}function s(g){return a.call(g)==="[object Object]"}function u(g,f){try{return g instanceof f}catch{return!1}}function p(g){return t(g)||s(g)&&"hostname"in g&&"pathname"in g&&"protocol"in g||u(g,URL)}function d(g){return typeof g=="number"&&g%1===0}function m(g,f,c){if(o(f)||(c=f,f=null),s(c)||(c={Error:"Failed Check"}),!g)if(f)f(new h(c));else throw new h(c)}var h=class extends Error{constructor(...g){super(...g)}};e.ParameterError=h,e.isFunction=o,e.isNonEmptyString=t,e.isDate=n,e.isEmptyString=r,e.isString=i,e.isObject=s,e.isUrlStringOrObject=p,e.validate=m}}),Mc=Ce({"node_modules/tough-cookie/lib/version.js"(e,a){a.exports="4.1.4"}}),Bc=Ce({"node_modules/tough-cookie/lib/cookie.js"(e){var a=En(),o=$c(),t=Sn(),n=zn().Store,r=Nc().MemoryCookieStore,i=_n().pathMatch,s=Lc(),u=Mc(),{fromCallback:p}=Tn(),{getCustomInspectSymbol:d}=An(),m=/^[\x21\x23-\x2B\x2D-\x3A\x3C-\x5B\x5D-\x7E]+$/,h=/[\x00-\x1F]/,g=[`
155
+ `,"\r","\0"],f=/[\x20-\x3A\x3C-\x7E]+/,c=/[\x09\x20-\x2F\x3B-\x40\x5B-\x60\x7B-\x7E]/,v={jan:0,feb:1,mar:2,apr:3,may:4,jun:5,jul:6,aug:7,sep:8,oct:9,nov:10,dec:11},T=2147483647e3,P=0,_='Invalid sameSiteContext option for getCookies(); expected one of "strict", "lax", or "none"';function b(j){s.validate(s.isNonEmptyString(j),j);const k=String(j).toLowerCase();return k==="none"||k==="lax"||k==="strict"?k:null}var y=Object.freeze({SILENT:"silent",STRICT:"strict",DISABLED:"unsafe-disabled"}),w=/(?:^(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}$)|(?:^(?:(?:[a-f\d]{1,4}:){7}(?:[a-f\d]{1,4}|:)|(?:[a-f\d]{1,4}:){6}(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}|:[a-f\d]{1,4}|:)|(?:[a-f\d]{1,4}:){5}(?::(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}|(?::[a-f\d]{1,4}){1,2}|:)|(?:[a-f\d]{1,4}:){4}(?:(?::[a-f\d]{1,4}){0,1}:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}|(?::[a-f\d]{1,4}){1,3}|:)|(?:[a-f\d]{1,4}:){3}(?:(?::[a-f\d]{1,4}){0,2}:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}|(?::[a-f\d]{1,4}){1,4}|:)|(?:[a-f\d]{1,4}:){2}(?:(?::[a-f\d]{1,4}){0,3}:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}|(?::[a-f\d]{1,4}){1,5}|:)|(?:[a-f\d]{1,4}:){1}(?:(?::[a-f\d]{1,4}){0,4}:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}|(?::[a-f\d]{1,4}){1,6}|:)|(?::(?:(?::[a-f\d]{1,4}){0,5}:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}|(?::[a-f\d]{1,4}){1,7}|:)))$)/,z=`
156
+ \\[?(?:
157
+ (?:[a-fA-F\\d]{1,4}:){7}(?:[a-fA-F\\d]{1,4}|:)|
158
+ (?:[a-fA-F\\d]{1,4}:){6}(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}|:[a-fA-F\\d]{1,4}|:)|
159
+ (?:[a-fA-F\\d]{1,4}:){5}(?::(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}|(?::[a-fA-F\\d]{1,4}){1,2}|:)|
160
+ (?:[a-fA-F\\d]{1,4}:){4}(?:(?::[a-fA-F\\d]{1,4}){0,1}:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}|(?::[a-fA-F\\d]{1,4}){1,3}|:)|
161
+ (?:[a-fA-F\\d]{1,4}:){3}(?:(?::[a-fA-F\\d]{1,4}){0,2}:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}|(?::[a-fA-F\\d]{1,4}){1,4}|:)|
162
+ (?:[a-fA-F\\d]{1,4}:){2}(?:(?::[a-fA-F\\d]{1,4}){0,3}:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}|(?::[a-fA-F\\d]{1,4}){1,5}|:)|
163
+ (?:[a-fA-F\\d]{1,4}:){1}(?:(?::[a-fA-F\\d]{1,4}){0,4}:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}|(?::[a-fA-F\\d]{1,4}){1,6}|:)|
164
+ (?::(?:(?::[a-fA-F\\d]{1,4}){0,5}:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}|(?::[a-fA-F\\d]{1,4}){1,7}|:))
165
+ )(?:%[0-9a-zA-Z]{1,})?\\]?
166
+ `.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),L=new RegExp(`^${z}$`);function $(j,k,E,I){let A=0;for(;A<j.length;){const K=j.charCodeAt(A);if(K<=47||K>=58)break;A++}return A<k||A>E||!I&&A!=j.length?null:parseInt(j.substr(0,A),10)}function H(j){const k=j.split(":"),E=[0,0,0];if(k.length!==3)return null;for(let I=0;I<3;I++){const A=I==2,K=$(k[I],1,2,A);if(K===null)return null;E[I]=K}return E}function U(j){j=String(j).substr(0,3).toLowerCase();const k=v[j];return k>=0?k:null}function l(j){if(!j)return;const k=j.split(c);if(!k)return;let E=null,I=null,A=null,K=null,oe=null,se=null;for(let be=0;be<k.length;be++){const ve=k[be].trim();if(!ve.length)continue;let te;if(A===null&&(te=H(ve),te)){E=te[0],I=te[1],A=te[2];continue}if(K===null&&(te=$(ve,1,2,!0),te!==null)){K=te;continue}if(oe===null&&(te=U(ve),te!==null)){oe=te;continue}se===null&&(te=$(ve,2,4,!0),te!==null&&(se=te,se>=70&&se<=99?se+=1900:se>=0&&se<=69&&(se+=2e3)))}if(!(K===null||oe===null||se===null||A===null||K<1||K>31||se<1601||E>23||I>59||A>59))return new Date(Date.UTC(se,oe,K,E,I,A))}function M(j){return s.validate(s.isDate(j),j),j.toUTCString()}function D(j){return j==null?null:(j=j.trim().replace(/^\./,""),L.test(j)&&(j=j.replace("[","").replace("]","")),a&&/[^\u0001-\u007f]/.test(j)&&(j=a.toASCII(j)),j.toLowerCase())}function C(j,k,E){if(j==null||k==null)return null;if(E!==!1&&(j=D(j),k=D(k)),j==k)return!0;const I=j.lastIndexOf(k);return!(I<=0||j.length!==k.length+I||j.substr(I-1,1)!=="."||w.test(j))}function N(j){if(!j||j.substr(0,1)!=="/")return"/";if(j==="/")return j;const k=j.lastIndexOf("/");return k===0?"/":j.slice(0,k)}function Z(j){if(s.isEmptyString(j))return j;for(let k=0;k<g.length;k++){const E=j.indexOf(g[k]);E!==-1&&(j=j.substr(0,E))}return j}function Q(j,k){j=Z(j),s.validate(s.isString(j),j);let E=j.indexOf("=");if(k)E===0&&(j=j.substr(1),E=j.indexOf("="));else if(E<=0)return;let I,A;if(E<=0?(I="",A=j.trim()):(I=j.substr(0,E).trim(),A=j.substr(E+1).trim()),h.test(I)||h.test(A))return;const K=new G;return K.key=I,K.value=A,K}function re(j,k){if((!k||typeof k!="object")&&(k={}),s.isEmptyString(j)||!s.isString(j))return null;j=j.trim();const E=j.indexOf(";"),I=E===-1?j:j.substr(0,E),A=Q(I,!!k.loose);if(!A)return;if(E===-1)return A;const K=j.slice(E+1).trim();if(K.length===0)return A;const oe=K.split(";");for(;oe.length;){const se=oe.shift().trim();if(se.length===0)continue;const be=se.indexOf("=");let ve,te;switch(be===-1?(ve=se,te=null):(ve=se.substr(0,be),te=se.substr(be+1)),ve=ve.trim().toLowerCase(),te&&(te=te.trim()),ve){case"expires":if(te){const _e=l(te);_e&&(A.expires=_e)}break;case"max-age":if(te&&/^-?[0-9]+$/.test(te)){const _e=parseInt(te,10);A.setMaxAge(_e)}break;case"domain":if(te){const _e=te.trim().replace(/^\./,"");_e&&(A.domain=_e.toLowerCase())}break;case"path":A.path=te&&te[0]==="/"?te:null;break;case"secure":A.secure=!0;break;case"httponly":A.httpOnly=!0;break;case"samesite":switch(te?te.toLowerCase():""){case"strict":A.sameSite="strict";break;case"lax":A.sameSite="lax";break;case"none":A.sameSite="none";break;default:A.sameSite=void 0;break}break;default:A.extensions=A.extensions||[],A.extensions.push(se);break}}return A}function R(j){return s.validate(s.isObject(j),j),!j.key.startsWith("__Secure-")||j.secure}function x(j){return s.validate(s.isObject(j)),!j.key.startsWith("__Host-")||j.secure&&j.hostOnly&&j.path!=null&&j.path==="/"}function F(j){let k;try{k=JSON.parse(j)}catch(E){return E}return k}function q(j){if(!j||s.isEmptyString(j))return null;let k;if(typeof j=="string"){if(k=F(j),k instanceof Error)return null}else k=j;const E=new G;for(let I=0;I<G.serializableProperties.length;I++){const A=G.serializableProperties[I];k[A]===void 0||k[A]===W[A]||(A==="expires"||A==="creation"||A==="lastAccessed"?k[A]===null?E[A]=null:E[A]=k[A]=="Infinity"?"Infinity":new Date(k[A]):E[A]=k[A])}return E}function V(j,k){s.validate(s.isObject(j),j),s.validate(s.isObject(k),k);let E=0;const I=j.path?j.path.length:0;if(E=(k.path?k.path.length:0)-I,E!==0)return E;const K=j.creation?j.creation.getTime():T,oe=k.creation?k.creation.getTime():T;return E=K-oe,E!==0||(E=j.creationIndex-k.creationIndex),E}function X(j){if(s.validate(s.isString(j)),j==="/")return["/"];const k=[j];for(;j.length>1;){const E=j.lastIndexOf("/");if(E===0)break;j=j.substr(0,E),k.push(j)}return k.push("/"),k}function J(j){if(j instanceof Object)return j;try{j=decodeURI(j)}catch{}return o(j)}var W={key:"",value:"",expires:"Infinity",maxAge:null,domain:null,path:null,secure:!1,httpOnly:!1,extensions:null,hostOnly:null,pathIsDefault:null,creation:null,lastAccessed:null,sameSite:void 0},G=class Ia{constructor(k={}){const E=d();E&&(this[E]=this.inspect),Object.assign(this,W,k),this.creation=this.creation||new Date,Object.defineProperty(this,"creationIndex",{configurable:!1,enumerable:!1,writable:!0,value:++Ia.cookiesCreated})}inspect(){const k=Date.now(),E=this.hostOnly!=null?this.hostOnly:"?",I=this.creation?`${k-this.creation.getTime()}ms`:"?",A=this.lastAccessed?`${k-this.lastAccessed.getTime()}ms`:"?";return`Cookie="${this.toString()}; hostOnly=${E}; aAge=${A}; cAge=${I}"`}toJSON(){const k={};for(const E of Ia.serializableProperties)this[E]!==W[E]&&(E==="expires"||E==="creation"||E==="lastAccessed"?this[E]===null?k[E]=null:k[E]=this[E]=="Infinity"?"Infinity":this[E].toISOString():E==="maxAge"?this[E]!==null&&(k[E]=this[E]==1/0||this[E]==-1/0?this[E].toString():this[E]):this[E]!==W[E]&&(k[E]=this[E]));return k}clone(){return q(this.toJSON())}validate(){if(!m.test(this.value)||this.expires!=1/0&&!(this.expires instanceof Date)&&!l(this.expires)||this.maxAge!=null&&this.maxAge<=0||this.path!=null&&!f.test(this.path))return!1;const k=this.cdomain();return!(k&&(k.match(/\.$/)||t.getPublicSuffix(k)==null))}setExpires(k){k instanceof Date?this.expires=k:this.expires=l(k)||"Infinity"}setMaxAge(k){k===1/0||k===-1/0?this.maxAge=k.toString():this.maxAge=k}cookieString(){let k=this.value;return k==null&&(k=""),this.key===""?k:`${this.key}=${k}`}toString(){let k=this.cookieString();if(this.expires!=1/0&&(this.expires instanceof Date?k+=`; Expires=${M(this.expires)}`:k+=`; Expires=${this.expires}`),this.maxAge!=null&&this.maxAge!=1/0&&(k+=`; Max-Age=${this.maxAge}`),this.domain&&!this.hostOnly&&(k+=`; Domain=${this.domain}`),this.path&&(k+=`; Path=${this.path}`),this.secure&&(k+="; Secure"),this.httpOnly&&(k+="; HttpOnly"),this.sameSite&&this.sameSite!=="none"){const E=Ia.sameSiteCanonical[this.sameSite.toLowerCase()];k+=`; SameSite=${E||this.sameSite}`}return this.extensions&&this.extensions.forEach(E=>{k+=`; ${E}`}),k}TTL(k){if(this.maxAge!=null)return this.maxAge<=0?0:this.maxAge*1e3;let E=this.expires;return E!=1/0?(E instanceof Date||(E=l(E)||1/0),E==1/0?1/0:E.getTime()-(k||Date.now())):1/0}expiryTime(k){if(this.maxAge!=null){const E=k||this.creation||new Date,I=this.maxAge<=0?-1/0:this.maxAge*1e3;return E.getTime()+I}return this.expires==1/0?1/0:this.expires.getTime()}expiryDate(k){const E=this.expiryTime(k);return E==1/0?new Date(T):E==-1/0?new Date(P):new Date(E)}isPersistent(){return this.maxAge!=null||this.expires!=1/0}canonicalizedDomain(){return this.domain==null?null:D(this.domain)}cdomain(){return this.canonicalizedDomain()}};G.cookiesCreated=0,G.parse=re,G.fromJSON=q,G.serializableProperties=Object.keys(W),G.sameSiteLevel={strict:3,lax:2,none:1},G.sameSiteCanonical={strict:"Strict",lax:"Lax"};function ae(j){if(j!=null){const k=j.toLowerCase();switch(k){case y.STRICT:case y.SILENT:case y.DISABLED:return k}}return y.SILENT}var ee=class Pa{constructor(k,E={rejectPublicSuffixes:!0}){typeof E=="boolean"&&(E={rejectPublicSuffixes:E}),s.validate(s.isObject(E),E),this.rejectPublicSuffixes=E.rejectPublicSuffixes,this.enableLooseMode=!!E.looseMode,this.allowSpecialUseDomain=typeof E.allowSpecialUseDomain=="boolean"?E.allowSpecialUseDomain:!0,this.store=k||new r,this.prefixSecurity=ae(E.prefixSecurity),this._cloneSync=ge("clone"),this._importCookiesSync=ge("_importCookies"),this.getCookiesSync=ge("getCookies"),this.getCookieStringSync=ge("getCookieString"),this.getSetCookieStringsSync=ge("getSetCookieStrings"),this.removeAllCookiesSync=ge("removeAllCookies"),this.setCookieSync=ge("setCookie"),this.serializeSync=ge("serialize")}setCookie(k,E,I,A){s.validate(s.isUrlStringOrObject(E),A,I);let K;if(s.isFunction(E))return A=E,A(new Error("No URL was specified"));const oe=J(E);if(s.isFunction(I)&&(A=I,I={}),s.validate(s.isFunction(A),A),!s.isNonEmptyString(k)&&!s.isObject(k)&&k instanceof String&&k.length==0)return A(null);const se=D(oe.hostname),be=I.loose||this.enableLooseMode;let ve=null;if(I.sameSiteContext&&(ve=b(I.sameSiteContext),!ve))return A(new Error(_));if(typeof k=="string"||k instanceof String){if(k=G.parse(k,{loose:be}),!k)return K=new Error("Cookie failed to parse"),A(I.ignoreError?null:K)}else if(!(k instanceof G))return K=new Error("First argument to setCookie must be a Cookie object or string"),A(I.ignoreError?null:K);const te=I.now||new Date;if(this.rejectPublicSuffixes&&k.domain&&t.getPublicSuffix(k.cdomain(),{allowSpecialUseDomain:this.allowSpecialUseDomain,ignoreError:I.ignoreError})==null&&!L.test(k.domain))return K=new Error("Cookie has domain set to a public suffix"),A(I.ignoreError?null:K);if(k.domain){if(!C(se,k.cdomain(),!1))return K=new Error(`Cookie not in this host's domain. Cookie:${k.cdomain()} Request:${se}`),A(I.ignoreError?null:K);k.hostOnly==null&&(k.hostOnly=!1)}else k.hostOnly=!0,k.domain=se;if((!k.path||k.path[0]!=="/")&&(k.path=N(oe.pathname),k.pathIsDefault=!0),I.http===!1&&k.httpOnly)return K=new Error("Cookie is HttpOnly and this isn't an HTTP API"),A(I.ignoreError?null:K);if(k.sameSite!=="none"&&k.sameSite!==void 0&&ve&&ve==="none")return K=new Error("Cookie is SameSite but this is a cross-origin request"),A(I.ignoreError?null:K);const xa=this.prefixSecurity===y.SILENT;if(!(this.prefixSecurity===y.DISABLED)){let he=!1,we;if(R(k)?x(k)||(he=!0,we="Cookie has __Host prefix but either Secure or HostOnly attribute is not set or Path is not '/'"):(he=!0,we="Cookie has __Secure prefix but Secure attribute is not set"),he)return A(I.ignoreError||xa?null:new Error(we))}const De=this.store;De.updateCookie||(De.updateCookie=function(he,we,Xe){this.putCookie(we,Xe)});function eo(he,we){if(he)return A(he);const Xe=function(Ca){if(Ca)return A(Ca);A(null,k)};if(we){if(I.http===!1&&we.httpOnly)return he=new Error("old Cookie is HttpOnly and this isn't an HTTP API"),A(I.ignoreError?null:he);k.creation=we.creation,k.creationIndex=we.creationIndex,k.lastAccessed=te,De.updateCookie(we,k,Xe)}else k.creation=k.lastAccessed=te,De.putCookie(k,Xe)}De.findCookie(k.domain,k.path,k.key,eo)}getCookies(k,E,I){s.validate(s.isUrlStringOrObject(k),I,k);const A=J(k);s.isFunction(E)&&(I=E,E={}),s.validate(s.isObject(E),I,E),s.validate(s.isFunction(I),I);const K=D(A.hostname),oe=A.pathname||"/";let se=E.secure;se==null&&A.protocol&&(A.protocol=="https:"||A.protocol=="wss:")&&(se=!0);let be=0;if(E.sameSiteContext){const he=b(E.sameSiteContext);if(be=G.sameSiteLevel[he],!be)return I(new Error(_))}let ve=E.http;ve==null&&(ve=!0);const te=E.now||Date.now(),xa=E.expire!==!1,_e=!!E.allPaths,De=this.store;function eo(he){if(he.hostOnly){if(he.domain!=K)return!1}else if(!C(K,he.domain,!1))return!1;return!_e&&!i(oe,he.path)||he.secure&&!se||he.httpOnly&&!ve||be&&G.sameSiteLevel[he.sameSite||"none"]>be?!1:xa&&he.expiryTime()<=te?(De.removeCookie(he.domain,he.path,he.key,()=>{}),!1):!0}De.findCookies(K,_e?null:oe,this.allowSpecialUseDomain,(he,we)=>{if(he)return I(he);we=we.filter(eo),E.sort!==!1&&(we=we.sort(V));const Xe=new Date;for(const Ca of we)Ca.lastAccessed=Xe;I(null,we)})}getCookieString(...k){const E=k.pop();s.validate(s.isFunction(E),E);const I=function(A,K){A?E(A):E(null,K.sort(V).map(oe=>oe.cookieString()).join("; "))};k.push(I),this.getCookies.apply(this,k)}getSetCookieStrings(...k){const E=k.pop();s.validate(s.isFunction(E),E);const I=function(A,K){A?E(A):E(null,K.map(oe=>oe.toString()))};k.push(I),this.getCookies.apply(this,k)}serialize(k){s.validate(s.isFunction(k),k);let E=this.store.constructor.name;s.isObject(E)&&(E=null);const I={version:`tough-cookie@${u}`,storeType:E,rejectPublicSuffixes:!!this.rejectPublicSuffixes,enableLooseMode:!!this.enableLooseMode,allowSpecialUseDomain:!!this.allowSpecialUseDomain,prefixSecurity:ae(this.prefixSecurity),cookies:[]};if(!(this.store.getAllCookies&&typeof this.store.getAllCookies=="function"))return k(new Error("store does not support getAllCookies and cannot be serialized"));this.store.getAllCookies((A,K)=>A?k(A):(I.cookies=K.map(oe=>(oe=oe instanceof G?oe.toJSON():oe,delete oe.creationIndex,oe)),k(null,I)))}toJSON(){return this.serializeSync()}_importCookies(k,E){let I=k.cookies;if(!I||!Array.isArray(I))return E(new Error("serialized jar has no cookies array"));I=I.slice();const A=K=>{if(K)return E(K);if(!I.length)return E(K,this);let oe;try{oe=q(I.shift())}catch(se){return E(se)}if(oe===null)return A(null);this.store.putCookie(oe,A)};A()}clone(k,E){arguments.length===1&&(E=k,k=null),this.serialize((I,A)=>{if(I)return E(I);Pa.deserialize(A,k,E)})}cloneSync(k){if(arguments.length===0)return this._cloneSync();if(!k.synchronous)throw new Error("CookieJar clone destination store is not synchronous; use async API instead.");return this._cloneSync(k)}removeAllCookies(k){s.validate(s.isFunction(k),k);const E=this.store;if(typeof E.removeAllCookies=="function"&&E.removeAllCookies!==n.prototype.removeAllCookies)return E.removeAllCookies(k);E.getAllCookies((I,A)=>{if(I)return k(I);if(A.length===0)return k(null);let K=0;const oe=[];function se(be){if(be&&oe.push(be),K++,K===A.length)return k(oe.length?oe[0]:null)}A.forEach(be=>{E.removeCookie(be.domain,be.path,be.key,se)})})}static deserialize(k,E,I){arguments.length!==3&&(I=E,E=null),s.validate(s.isFunction(I),I);let A;if(typeof k=="string"){if(A=F(k),A instanceof Error)return I(A)}else A=k;const K=new Pa(E,{rejectPublicSuffixes:A.rejectPublicSuffixes,looseMode:A.enableLooseMode,allowSpecialUseDomain:A.allowSpecialUseDomain,prefixSecurity:A.prefixSecurity});K._importCookies(A,oe=>{if(oe)return I(oe);I(null,K)})}static deserializeSync(k,E){const I=typeof k=="string"?JSON.parse(k):k,A=new Pa(E,{rejectPublicSuffixes:I.rejectPublicSuffixes,looseMode:I.enableLooseMode});if(!A.store.synchronous)throw new Error("CookieJar store is not synchronous; use async API instead.");return A._importCookiesSync(I),A}};ee.fromJSON=ee.deserializeSync,["_importCookies","clone","getCookies","getCookieString","getSetCookieStrings","removeAllCookies","serialize","setCookie"].forEach(j=>{ee.prototype[j]=p(ee.prototype[j])}),ee.deserialize=p(ee.deserialize);function ge(j){return function(...k){if(!this.store.synchronous)throw new Error("CookieJar store is not synchronous; use async API instead.");let E,I;if(this[j](...k,(A,K)=>{E=A,I=K}),E)throw E;return I}}e.version=u,e.CookieJar=ee,e.Cookie=G,e.Store=n,e.MemoryCookieStore=r,e.parseDate=l,e.formatDate=M,e.parse=re,e.fromJSON=q,e.domainMatch=C,e.defaultPath=N,e.pathMatch=i,e.getPublicSuffix=t.getPublicSuffix,e.cookieCompare=V,e.permuteDomain=On().permuteDomain,e.permutePath=X,e.canonicalDomain=D,e.PrefixSecurityEnum=y,e.ParameterError=s.ParameterError}}),Uc=Rc(Bc()),qc=Uc.default;/*! Bundled license information:
167
+
168
+ tough-cookie/lib/pubsuffix-psl.js:
169
+ (*!
170
+ * Copyright (c) 2018, Salesforce.com, Inc.
171
+ * All rights reserved.
172
+ *
173
+ * Redistribution and use in source and binary forms, with or without
174
+ * modification, are permitted provided that the following conditions are met:
175
+ *
176
+ * 1. Redistributions of source code must retain the above copyright notice,
177
+ * this list of conditions and the following disclaimer.
178
+ *
179
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
180
+ * this list of conditions and the following disclaimer in the documentation
181
+ * and/or other materials provided with the distribution.
182
+ *
183
+ * 3. Neither the name of Salesforce.com nor the names of its contributors may
184
+ * be used to endorse or promote products derived from this software without
185
+ * specific prior written permission.
186
+ *
187
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
188
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
189
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
190
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
191
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
192
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
193
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
194
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
195
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
196
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
197
+ * POSSIBILITY OF SUCH DAMAGE.
198
+ *)
199
+
200
+ tough-cookie/lib/store.js:
201
+ (*!
202
+ * Copyright (c) 2015, Salesforce.com, Inc.
203
+ * All rights reserved.
204
+ *
205
+ * Redistribution and use in source and binary forms, with or without
206
+ * modification, are permitted provided that the following conditions are met:
207
+ *
208
+ * 1. Redistributions of source code must retain the above copyright notice,
209
+ * this list of conditions and the following disclaimer.
210
+ *
211
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
212
+ * this list of conditions and the following disclaimer in the documentation
213
+ * and/or other materials provided with the distribution.
214
+ *
215
+ * 3. Neither the name of Salesforce.com nor the names of its contributors may
216
+ * be used to endorse or promote products derived from this software without
217
+ * specific prior written permission.
218
+ *
219
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
220
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
221
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
222
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
223
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
224
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
225
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
226
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
227
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
228
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
229
+ * POSSIBILITY OF SUCH DAMAGE.
230
+ *)
231
+
232
+ tough-cookie/lib/permuteDomain.js:
233
+ (*!
234
+ * Copyright (c) 2015, Salesforce.com, Inc.
235
+ * All rights reserved.
236
+ *
237
+ * Redistribution and use in source and binary forms, with or without
238
+ * modification, are permitted provided that the following conditions are met:
239
+ *
240
+ * 1. Redistributions of source code must retain the above copyright notice,
241
+ * this list of conditions and the following disclaimer.
242
+ *
243
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
244
+ * this list of conditions and the following disclaimer in the documentation
245
+ * and/or other materials provided with the distribution.
246
+ *
247
+ * 3. Neither the name of Salesforce.com nor the names of its contributors may
248
+ * be used to endorse or promote products derived from this software without
249
+ * specific prior written permission.
250
+ *
251
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
252
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
253
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
254
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
255
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
256
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
257
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
258
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
259
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
260
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
261
+ * POSSIBILITY OF SUCH DAMAGE.
262
+ *)
263
+
264
+ tough-cookie/lib/pathMatch.js:
265
+ (*!
266
+ * Copyright (c) 2015, Salesforce.com, Inc.
267
+ * All rights reserved.
268
+ *
269
+ * Redistribution and use in source and binary forms, with or without
270
+ * modification, are permitted provided that the following conditions are met:
271
+ *
272
+ * 1. Redistributions of source code must retain the above copyright notice,
273
+ * this list of conditions and the following disclaimer.
274
+ *
275
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
276
+ * this list of conditions and the following disclaimer in the documentation
277
+ * and/or other materials provided with the distribution.
278
+ *
279
+ * 3. Neither the name of Salesforce.com nor the names of its contributors may
280
+ * be used to endorse or promote products derived from this software without
281
+ * specific prior written permission.
282
+ *
283
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
284
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
285
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
286
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
287
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
288
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
289
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
290
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
291
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
292
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
293
+ * POSSIBILITY OF SUCH DAMAGE.
294
+ *)
295
+
296
+ tough-cookie/lib/memstore.js:
297
+ (*!
298
+ * Copyright (c) 2015, Salesforce.com, Inc.
299
+ * All rights reserved.
300
+ *
301
+ * Redistribution and use in source and binary forms, with or without
302
+ * modification, are permitted provided that the following conditions are met:
303
+ *
304
+ * 1. Redistributions of source code must retain the above copyright notice,
305
+ * this list of conditions and the following disclaimer.
306
+ *
307
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
308
+ * this list of conditions and the following disclaimer in the documentation
309
+ * and/or other materials provided with the distribution.
310
+ *
311
+ * 3. Neither the name of Salesforce.com nor the names of its contributors may
312
+ * be used to endorse or promote products derived from this software without
313
+ * specific prior written permission.
314
+ *
315
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
316
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
317
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
318
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
319
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
320
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
321
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
322
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
323
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
324
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
325
+ * POSSIBILITY OF SUCH DAMAGE.
326
+ *)
327
+
328
+ tough-cookie/lib/cookie.js:
329
+ (*!
330
+ * Copyright (c) 2015-2020, Salesforce.com, Inc.
331
+ * All rights reserved.
332
+ *
333
+ * Redistribution and use in source and binary forms, with or without
334
+ * modification, are permitted provided that the following conditions are met:
335
+ *
336
+ * 1. Redistributions of source code must retain the above copyright notice,
337
+ * this list of conditions and the following disclaimer.
338
+ *
339
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
340
+ * this list of conditions and the following disclaimer in the documentation
341
+ * and/or other materials provided with the distribution.
342
+ *
343
+ * 3. Neither the name of Salesforce.com nor the names of its contributors may
344
+ * be used to endorse or promote products derived from this software without
345
+ * specific prior written permission.
346
+ *
347
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
348
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
349
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
350
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
351
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
352
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
353
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
354
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
355
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
356
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
357
+ * POSSIBILITY OF SUCH DAMAGE.
358
+ *)
359
+ */const{Cookie:Vc,CookieJar:Wc,Store:Hc,MemoryCookieStore:Gc,domainMatch:Yc,pathMatch:Kc}=qc;class Jc extends Hc{constructor(){super();Se(this,"storage");Se(this,"storageKey");$o(typeof localStorage<"u","Failed to create a WebStorageCookieStore: `localStorage` is not available in this environment. This is likely an issue with MSW. Please report it on GitHub: https://github.com/mswjs/msw/issues"),this.synchronous=!0,this.storage=localStorage,this.storageKey="__msw-cookie-store__"}findCookie(o,t,n,r){try{const i=this.getStore(),s=this.filterCookiesFromList(i,{domain:o,path:t,key:n});r(null,s[0]||null)}catch(i){i instanceof Error&&r(i,null)}}findCookies(o,t,n,r){if(!o){r(null,[]);return}try{const i=this.getStore(),s=this.filterCookiesFromList(i,{domain:o,path:t});r(null,s)}catch(i){i instanceof Error&&r(i,[])}}putCookie(o,t){try{if(o.maxAge===0)return;const n=this.getStore();n.push(o),this.updateStore(n)}catch(n){n instanceof Error&&t(n)}}updateCookie(o,t,n){if(t.maxAge===0){this.removeCookie(t.domain||"",t.path||"",t.key,n);return}this.putCookie(t,n)}removeCookie(o,t,n,r){try{const i=this.getStore(),s=this.deleteCookiesFromList(i,{domain:o,path:t,key:n});this.updateStore(s),r(null)}catch(i){i instanceof Error&&r(i)}}removeCookies(o,t,n){try{const r=this.getStore(),i=this.deleteCookiesFromList(r,{domain:o,path:t});this.updateStore(i),n(null)}catch(r){r instanceof Error&&n(r)}}getAllCookies(o){try{o(null,this.getStore())}catch(t){t instanceof Error&&o(t,[])}}getStore(){try{const o=this.storage.getItem(this.storageKey);if(o==null)return[];const t=JSON.parse(o),n=[];for(const r of t){const i=Vc.fromJSON(r);i!=null&&n.push(i)}return n}catch{return[]}}updateStore(o){this.storage.setItem(this.storageKey,JSON.stringify(o.map(t=>t.toJSON())))}filterCookiesFromList(o,t){const n=[];for(const r of o)t.domain&&!Yc(t.domain,r.domain||"")||t.path&&!Kc(t.path,r.path||"")||t.key&&r.key!==t.key||n.push(r);return n}deleteCookiesFromList(o,t){const n=this.filterCookiesFromList(o,t);return o.filter(r=>!n.includes(r))}}const Xc=yn()?new Gc:new Jc,Qc=new Wc(Xc);function Rn(e){const a=wn.parse(e),o={};for(const t in a)typeof a[t]<"u"&&(o[t]=a[t]);return o}function Ot(){return Rn(document.cookie)}function Zc(e){if(typeof document>"u"||typeof location>"u")return{};switch(e.credentials){case"same-origin":{const a=new URL(e.url);return location.origin===a.origin?Ot():{}}case"include":return Ot();default:return{}}}function el(e){const a=e.headers.get("cookie"),o=a?Rn(a):{},t=Zc(e);for(const i in t)e.headers.append("cookie",wn.serialize(i,t[i]));const n=Qc.getCookiesSync(e.url),r=Object.fromEntries(n.map(i=>[i.key,i.value]));for(const i of n)e.headers.append("cookie",i.toString());return{...t,...r,...o}}var Ne=(e=>(e.HEAD="HEAD",e.GET="GET",e.POST="POST",e.PUT="PUT",e.PATCH="PATCH",e.OPTIONS="OPTIONS",e.DELETE="DELETE",e))(Ne||{});class al extends Eo{constructor(a,o,t,n){super({info:{header:`${a} ${o}`,path:o,method:a},resolver:t,options:n}),this.checkRedundantQueryParameters()}checkRedundantQueryParameters(){const{method:a,path:o}=this.info;if(o instanceof RegExp||bn(o)===o)return;lc(o).forEach((r,i)=>{}),Co.warn(`Found a redundant usage of query parameters in the request handler URL for "${a} ${o}". Please match against a path instead and access query parameters using "new URL(request.url).searchParams" instead. Learn more: https://mswjs.io/docs/recipes/query-parameters`)}async parse(a){var r;const o=new URL(a.request.url),t=fc(o,this.info.path,(r=a.resolutionContext)==null?void 0:r.baseUrl),n=el(a.request);return{match:t,cookies:n}}predicate(a){const o=this.matchMethod(a.request.method),t=a.parsedResult.match.matches;return o&&t}matchMethod(a){return this.info.method instanceof RegExp?this.info.method.test(a):Au(this.info.method,a)}extendResolverArgs(a){var o;return{params:((o=a.parsedResult.match)==null?void 0:o.params)||{},cookies:a.parsedResult.cookies}}async log(a){const o=gc(a.request.url),t=await Pu(a.request),n=await Wu(a.response),r=Ru(n.status);console.groupCollapsed(Co.formatMessage(`${Iu()} ${a.request.method} ${o} (%c${n.status} ${n.statusText}%c)`),`color:${r}`,"color:inherit"),console.log("Request",t),console.log("Handler:",this),console.log("Response",n),console.groupEnd()}}function Fe(e){return(a,o,t={})=>new al(e,a,o,t)}const pa={all:Fe(/.+/),head:Fe(Ne.HEAD),get:Fe(Ne.GET),post:Fe(Ne.POST),put:Fe(Ne.PUT),delete:Fe(Ne.DELETE),patch:Fe(Ne.PATCH),options:Fe(Ne.OPTIONS)};var ol=Object.create,In=Object.defineProperty,tl=Object.getOwnPropertyDescriptor,Pn=Object.getOwnPropertyNames,nl=Object.getPrototypeOf,rl=Object.prototype.hasOwnProperty,il=(e,a)=>function(){return a||(0,e[Pn(e)[0]])((a={exports:{}}).exports,a),a.exports},sl=(e,a,o,t)=>{if(a&&typeof a=="object"||typeof a=="function")for(let n of Pn(a))!rl.call(e,n)&&n!==o&&In(e,n,{get:()=>a[n],enumerable:!(t=tl(a,n))||t.enumerable});return e},ul=(e,a,o)=>(o=e!=null?ol(nl(e)):{},sl(!e||!e.__esModule?In(o,"default",{value:e,enumerable:!0}):o,e)),cl=il({"node_modules/set-cookie-parser/lib/set-cookie.js"(e,a){var o={decodeValues:!0,map:!1,silent:!1};function t(u){return typeof u=="string"&&!!u.trim()}function n(u,p){var d=u.split(";").filter(t),m=d.shift(),h=r(m),g=h.name,f=h.value;p=p?Object.assign({},o,p):o;try{f=p.decodeValues?decodeURIComponent(f):f}catch(v){console.error("set-cookie-parser encountered an error while decoding a cookie with value '"+f+"'. Set options.decodeValues to false to disable this feature.",v)}var c={name:g,value:f};return d.forEach(function(v){var T=v.split("="),P=T.shift().trimLeft().toLowerCase(),_=T.join("=");P==="expires"?c.expires=new Date(_):P==="max-age"?c.maxAge=parseInt(_,10):P==="secure"?c.secure=!0:P==="httponly"?c.httpOnly=!0:P==="samesite"?c.sameSite=_:c[P]=_}),c}function r(u){var p="",d="",m=u.split("=");return m.length>1?(p=m.shift(),d=m.join("=")):d=u,{name:p,value:d}}function i(u,p){if(p=p?Object.assign({},o,p):o,!u)return p.map?{}:[];if(u.headers)if(typeof u.headers.getSetCookie=="function")u=u.headers.getSetCookie();else if(u.headers["set-cookie"])u=u.headers["set-cookie"];else{var d=u.headers[Object.keys(u.headers).find(function(h){return h.toLowerCase()==="set-cookie"})];!d&&u.headers.cookie&&!p.silent&&console.warn("Warning: set-cookie-parser appears to have been called on a request object. It is designed to parse Set-Cookie headers from responses, not Cookie headers from requests. Set the option {silent: true} to suppress this warning."),u=d}if(Array.isArray(u)||(u=[u]),p=p?Object.assign({},o,p):o,p.map){var m={};return u.filter(t).reduce(function(h,g){var f=n(g,p);return h[f.name]=f,h},m)}else return u.filter(t).map(function(h){return n(h,p)})}function s(u){if(Array.isArray(u))return u;if(typeof u!="string")return[];var p=[],d=0,m,h,g,f,c;function v(){for(;d<u.length&&/\s/.test(u.charAt(d));)d+=1;return d<u.length}function T(){return h=u.charAt(d),h!=="="&&h!==";"&&h!==","}for(;d<u.length;){for(m=d,c=!1;v();)if(h=u.charAt(d),h===","){for(g=d,d+=1,v(),f=d;d<u.length&&T();)d+=1;d<u.length&&u.charAt(d)==="="?(c=!0,d=f,p.push(u.substring(m,g)),m=d):d=g+1}else d+=1;(!c||d>=u.length)&&p.push(u.substring(m,u.length))}return p}a.exports=i,a.exports.parse=i,a.exports.parseString=n,a.exports.splitCookiesString=s}}),ll=ul(cl()),ml=/[^a-z0-9\-#$%&'*+.^_`|~]/i;function da(e){if(ml.test(e)||e.trim()==="")throw new TypeError("Invalid character in header field name");return e.trim().toLowerCase()}var _t=[`
360
+ `,"\r"," "," "],pl=new RegExp(`(^[${_t.join("")}]|$[${_t.join("")}])`,"g");function yo(e){return e.replace(pl,"")}function ha(e){if(typeof e!="string"||e.length===0)return!1;for(let a=0;a<e.length;a++){const o=e.charCodeAt(a);if(o>127||!dl(o))return!1}return!0}function dl(e){return![127,32,"(",")","<",">","@",",",";",":","\\",'"',"/","[","]","?","=","{","}"].includes(e)}function At(e){if(typeof e!="string"||e.trim()!==e)return!1;for(let a=0;a<e.length;a++){const o=e.charCodeAt(a);if(o===0||o===10||o===13)return!1}return!0}var na=Symbol("normalizedHeaders"),bo=Symbol("rawHeaderNames"),Rt=", ",It,Pt,$t,hl=class $n{constructor(a){this[It]={},this[Pt]=new Map,this[$t]="Headers",["Headers","HeadersPolyfill"].includes(a==null?void 0:a.constructor.name)||a instanceof $n||typeof globalThis.Headers<"u"&&a instanceof globalThis.Headers?a.forEach((t,n)=>{this.append(n,t)},this):Array.isArray(a)?a.forEach(([o,t])=>{this.append(o,Array.isArray(t)?t.join(Rt):t)}):a&&Object.getOwnPropertyNames(a).forEach(o=>{const t=a[o];this.append(o,Array.isArray(t)?t.join(Rt):t)})}[(It=na,Pt=bo,$t=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}*keys(){for(const[a]of this.entries())yield a}*values(){for(const[,a]of this.entries())yield a}*entries(){let a=Object.keys(this[na]).sort((o,t)=>o.localeCompare(t));for(const o of a)if(o==="set-cookie")for(const t of this.getSetCookie())yield[o,t];else yield[o,this.get(o)]}has(a){if(!ha(a))throw new TypeError(`Invalid header name "${a}"`);return this[na].hasOwnProperty(da(a))}get(a){if(!ha(a))throw TypeError(`Invalid header name "${a}"`);return this[na][da(a)]??null}set(a,o){if(!ha(a)||!At(o))return;const t=da(a),n=yo(o);this[na][t]=yo(n),this[bo].set(t,a)}append(a,o){if(!ha(a)||!At(o))return;const t=da(a),n=yo(o);let r=this.has(t)?`${this.get(t)}, ${n}`:n;this.set(a,r)}delete(a){if(!ha(a)||!this.has(a))return;const o=da(a);delete this[na][o],this[bo].delete(o)}forEach(a,o){for(const[t,n]of this.entries())a.call(o,n,t,this)}getSetCookie(){const a=this.get("set-cookie");return a===null?[]:a===""?[""]:(0,ll.splitCookiesString)(a)}};const{message:fl}=fn,gl=Symbol("kSetCookie");function We(e={}){const a=(e==null?void 0:e.status)||200,o=(e==null?void 0:e.statusText)||fl[a]||"",t=new Headers(e==null?void 0:e.headers);return{...e,headers:t,status:a,statusText:o}}function kl(e,a){a.type&&Object.defineProperty(e,"type",{value:a.type,enumerable:!0,writable:!1});const o=a.headers.get("set-cookie");if(o&&(Object.defineProperty(e,gl,{value:o,enumerable:!1,writable:!1}),typeof document<"u")){const t=hl.prototype.getSetCookie.call(a.headers);for(const n of t)document.cookie=n}return e}const yl=Symbol("bodyType");var Dt,Ft;class xe extends(Ft=Fo,Dt=yl,Ft){constructor(o,t){const n=We(t);super(o,n);Se(this,Dt);kl(this,n)}static text(o,t){const n=We(t);return n.headers.has("Content-Type")||n.headers.set("Content-Type","text/plain"),n.headers.has("Content-Length")||n.headers.set("Content-Length",o?new Blob([o]).size.toString():"0"),new xe(o,n)}static json(o,t){const n=We(t);n.headers.has("Content-Type")||n.headers.set("Content-Type","application/json");const r=JSON.stringify(o);return n.headers.has("Content-Length")||n.headers.set("Content-Length",r?new Blob([r]).size.toString():"0"),new xe(r,n)}static xml(o,t){const n=We(t);return n.headers.has("Content-Type")||n.headers.set("Content-Type","text/xml"),new xe(o,n)}static html(o,t){const n=We(t);return n.headers.has("Content-Type")||n.headers.set("Content-Type","text/html"),new xe(o,n)}static arrayBuffer(o,t){const n=We(t);return n.headers.has("Content-Type")||n.headers.set("Content-Type","application/octet-stream"),o&&!n.headers.has("Content-Length")&&n.headers.set("Content-Length",o.byteLength.toString()),new xe(o,n)}static formData(o,t){return new xe(o,We(t))}}Su();const Dn=(e,a)=>{if(!a)return e.visibility.mode==="public";if(e.visibility.mode==="public")return!0;const t=(B.dataStore.enrollmentsByCourse[e.id]||[]).find(n=>n.user_id===a);return t?e.visibility.mode==="enrolled"?!0:e.visibility.mode==="private"?t.role==="teacher":!1:!1},Fn=(e,a)=>{const o=B.dataStore.enrollmentsByCourse[e.id]||[],t=a?o.find(n=>n.user_id===a):void 0;return{...e,data:{my_data:t?{role:t.role,status:t.status}:void 0,enrollment_data:o}}},bl=e=>{const a=B.dataStore.courses.find(t=>t.id===e),o=B.dataStore.users[0];return a?Dn(a,o==null?void 0:o.id)?xe.json(Fn(a,o==null?void 0:o.id)):xe.json({error:"Access denied"},{status:403}):xe.json({error:"Course not found"},{status:404})},jl=()=>{const e=B.dataStore.users[0],a=B.dataStore.courses.filter(o=>Dn(o,e==null?void 0:e.id)).map(o=>Fn(o,e==null?void 0:e.id));return xe.json(a)},vl=e=>{B.dataStore.lastCourseId+=1;const a={id:B.dataStore.lastCourseId.toString(),created_at:new Date().toISOString(),updated_at:new Date().toISOString(),...e};return B.dataStore.courses.push(a),B.saveDataStore(B.dataStore),xe.json(a)},wl=e=>{const a=B.dataStore.courses.findIndex(o=>o.id===e.id);return a!==-1?(e.updated_at=new Date().toISOString(),B.dataStore.courses[a]=e,B.saveDataStore(B.dataStore),xe.json(e)):xe.json({error:"Course not found"},{status:404})},xl=e=>{const a=B.dataStore.courses.findIndex(o=>o.id===e);if(a!==-1){const o=B.dataStore.courses.splice(a,1)[0];return B.saveDataStore(B.dataStore),xe.json(o)}else return xe.json({error:"Course not found"},{status:404})},Cl=[pa.get(B.baseUrl+"api/courses",async()=>jl()),pa.get(B.baseUrl+"api/courses/:courseId",async({params:e})=>bl(e.courseId)),pa.post(B.baseUrl+"api/courses",async({request:e})=>vl(await e.json())),pa.put(B.baseUrl+"api/courses/:courseId",async({request:e})=>wl(await e.json())),pa.delete(B.baseUrl+"api/courses/:courseId",async({params:e})=>xl(e.courseId))];exports.CourseMicroservice=ku;exports.courseHandlers=Cl;exports.useCourseMicroserviceRegistration=So;exports.useCourseStore=Te;