@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 +264 -31
- package/dist/index.d.ts +1 -0
- package/dist/index.es.js +15501 -2935
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
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
|
|
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
|
|
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} />`,
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
73
|
-
Valid keys: `+JSON.stringify(Object.keys(
|
|
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
|
|
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
|
|
90
|
-
For example, \`@sm\` or \`@600\` or \`@40rem/sidebar\`.`:
|
|
91
|
-
`)):console.error([`MUI: The \`theme.${
|
|
92
|
-
`)));const
|
|
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
|
|
100
|
-
`)):
|
|
101
|
-
The following formats are supported: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color().`:
|
|
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
|
|
104
|
-
The color object needs to have a \`main\` property or a \`${
|
|
105
|
-
\`color.main\` should be a string, but \`${JSON.stringify(
|
|
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
|
-
} });`:
|
|
118
|
-
`)),Object.keys(
|
|
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(
|
|
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
|
|
126
|
-
`))}
|
|
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;
|