@mui-toolpad-extended-tuni/users 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 +241 -8
- package/dist/index.d.ts +1 -0
- package/dist/index.es.js +13022 -461
- package/package.json +1 -2
package/dist/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";var Ge=Object.defineProperty;var Ke=(a,e,o)=>e in a?Ge(a,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):a[e]=o;var ma=(a,e,o)=>Ke(a,typeof e!="symbol"?e+"":e,o);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const N=require("mui-toolpad-extended-tuni"),la=require("react");function Ye(a){return a&&a.__esModule&&Object.prototype.hasOwnProperty.call(a,"default")?a.default:a}var Fa={exports:{}},Ba={},Da={exports:{}},La={};/**
|
|
2
2
|
* @license React
|
|
3
3
|
* use-sync-external-store-shim.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 ee;function Xe(){if(ee)return La;ee=1;var a=la;function e(c,b){return c===b&&(c!==0||1/c===1/b)||c!==c&&b!==b}var o=typeof Object.is=="function"?Object.is:e,i=a.useState,t=a.useEffect,s=a.useLayoutEffect,u=a.useDebugValue;function r(c,b){var l=b(),d=i({inst:{value:l,getSnapshot:b}}),E=d[0].inst,S=d[1];return s(function(){E.value=l,E.getSnapshot=b,p(E)&&S({inst:E})},[c,l,b]),t(function(){return p(E)&&S({inst:E}),c(function(){p(E)&&S({inst:E})})},[c]),u(l),l}function p(c){var b=c.getSnapshot;c=c.value;try{var l=b();return!o(c,l)}catch{return!0}}function z(c,b){return b()}var k=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?z:r;return La.useSyncExternalStore=a.useSyncExternalStore!==void 0?a.useSyncExternalStore:k,La}var Ua={};/**
|
|
10
10
|
* @license React
|
|
11
11
|
* use-sync-external-store-shim.development.js
|
|
12
12
|
*
|
|
@@ -14,7 +14,7 @@
|
|
|
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 oe;function Ze(){return oe||(oe=1,process.env.NODE_ENV!=="production"&&function(){function a(l,d){return l===d&&(l!==0||1/l===1/d)||l!==l&&d!==d}function e(l,d){k||t.startTransition===void 0||(k=!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 E=d();if(!c){var S=d();s(E,S)||(console.error("The result of getSnapshot should be cached to avoid an infinite loop"),c=!0)}S=u({inst:{value:E,getSnapshot:d}});var _=S[0].inst,P=S[1];return p(function(){_.value=E,_.getSnapshot=d,o(_)&&P({inst:_})},[l,E,d]),r(function(){return o(_)&&P({inst:_}),l(function(){o(_)&&P({inst:_})})},[l]),z(E),E}function o(l){var d=l.getSnapshot;l=l.value;try{var E=d();return!s(l,E)}catch{return!0}}function i(l,d){return d()}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var t=la,s=typeof Object.is=="function"?Object.is:a,u=t.useState,r=t.useEffect,p=t.useLayoutEffect,z=t.useDebugValue,k=!1,c=!1,b=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?i:e;Ua.useSyncExternalStore=t.useSyncExternalStore!==void 0?t.useSyncExternalStore:b,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())}()),Ua}var ie;function we(){return ie||(ie=1,process.env.NODE_ENV==="production"?Da.exports=Xe():Da.exports=Ze()),Da.exports}/**
|
|
18
18
|
* @license React
|
|
19
19
|
* use-sync-external-store-shim/with-selector.production.js
|
|
20
20
|
*
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
*
|
|
23
23
|
* This source code is licensed under the MIT license found in the
|
|
24
24
|
* LICENSE file in the root directory of this source tree.
|
|
25
|
-
*/var
|
|
25
|
+
*/var te;function Qe(){if(te)return Ba;te=1;var a=la,e=we();function o(z,k){return z===k&&(z!==0||1/z===1/k)||z!==z&&k!==k}var i=typeof Object.is=="function"?Object.is:o,t=e.useSyncExternalStore,s=a.useRef,u=a.useEffect,r=a.useMemo,p=a.useDebugValue;return Ba.useSyncExternalStoreWithSelector=function(z,k,c,b,l){var d=s(null);if(d.current===null){var E={hasValue:!1,value:null};d.current=E}else E=d.current;d=r(function(){function _(y){if(!P){if(P=!0,A=y,y=b(y),l!==void 0&&E.hasValue){var v=E.value;if(l(v,y))return h=v}return h=y}if(v=h,i(A,y))return v;var T=b(y);return l!==void 0&&l(v,T)?(A=y,v):(A=y,h=T)}var P=!1,A,h,x=c===void 0?null:c;return[function(){return _(k())},x===null?void 0:function(){return _(x())}]},[k,c,b,l]);var S=t(z,d[0],d[1]);return u(function(){E.hasValue=!0,E.value=S},[S]),p(S),S},Ba}var Na={};/**
|
|
26
26
|
* @license React
|
|
27
27
|
* use-sync-external-store-shim/with-selector.development.js
|
|
28
28
|
*
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
*
|
|
31
31
|
* This source code is licensed under the MIT license found in the
|
|
32
32
|
* LICENSE file in the root directory of this source tree.
|
|
33
|
-
*/var
|
|
33
|
+
*/var ne;function ao(){return ne||(ne=1,process.env.NODE_ENV!=="production"&&function(){function a(z,k){return z===k&&(z!==0||1/z===1/k)||z!==z&&k!==k}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var e=la,o=we(),i=typeof Object.is=="function"?Object.is:a,t=o.useSyncExternalStore,s=e.useRef,u=e.useEffect,r=e.useMemo,p=e.useDebugValue;Na.useSyncExternalStoreWithSelector=function(z,k,c,b,l){var d=s(null);if(d.current===null){var E={hasValue:!1,value:null};d.current=E}else E=d.current;d=r(function(){function _(y){if(!P){if(P=!0,A=y,y=b(y),l!==void 0&&E.hasValue){var v=E.value;if(l(v,y))return h=v}return h=y}if(v=h,i(A,y))return v;var T=b(y);return l!==void 0&&l(v,T)?(A=y,v):(A=y,h=T)}var P=!1,A,h,x=c===void 0?null:c;return[function(){return _(k())},x===null?void 0:function(){return _(x())}]},[k,c,b,l]);var S=t(z,d[0],d[1]);return u(function(){E.hasValue=!0,E.value=S},[S]),p(S),S},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())}()),Na}var se;function eo(){return se||(se=1,process.env.NODE_ENV==="production"?Fa.exports=Qe():Fa.exports=ao()),Fa.exports}var oo=eo();const io=Ye(oo),to={},re=a=>{let e;const o=new Set,i=(k,c)=>{const b=typeof k=="function"?k(e):k;if(!Object.is(b,e)){const l=e;e=c??(typeof b!="object"||b===null)?b:Object.assign({},e,b),o.forEach(d=>d(e,l))}},t=()=>e,p={setState:i,getState:t,getInitialState:()=>z,subscribe:k=>(o.add(k),()=>o.delete(k)),destroy:()=>{(to?"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()}},z=e=a(i,t,p);return p},no=a=>a?re(a):re,{useDebugValue:so}=la,{useSyncExternalStoreWithSelector:ro}=io,uo=a=>a;function mo(a,e=uo,o){const i=ro(a.subscribe,a.getState,a.getServerState||a.getInitialState,e,o);return so(i),i}const ue=(a,e)=>{const o=no(a),i=(t,s=e)=>mo(o,t,s);return Object.assign(i,o),i},co=(a,e)=>a?ue(a,e):ue,lo=async()=>{try{const a=await N.axios.get("api/users/current/");return N.convertObjectKeysToCamelCase(a.data)}catch(a){throw console.error("Error getting current user",a),a}},me=async a=>{try{const e=await N.axios.get(`api/users/${a?`?course_id=${a}`:""}`);if(!Array.isArray(e.data))throw new Error("Invalid response data");return e.data.map(o=>N.convertObjectKeysToCamelCase(o))}catch(e){throw console.error("Error getting users",e),e}},po=async a=>{var e,o;try{if(!(a!=null&&a.id))throw new Error("Cannot update user: user.id is undefined");const i=N.convertObjectKeysToUnderscore(a),t=await N.axios.put(`api/users/${a.id}/`,i);if(!t.data)throw new Error("No data received from server");const s=N.convertObjectKeysToCamelCase(t.data);return(o=(e=a.image)==null?void 0:e.large)!=null&&o.startsWith("data:image")&&(s.image={...a.image,...s.image}),s}catch(i){throw console.error("Error updating user:",i),i}},ho=async()=>{try{await N.axios.post("/auth/lti_logout/")}catch(a){throw console.error("Error logging out user",a),a}},$a="/static/images/student.png",Ma="/static/images/teacher.png",Ha="/static/images/guest.png",Va="/static/images/admin.png",Wa=[{id:"1",name:"Teacher User",email:"teacher@edu.com",image:{large:Ma,medium:Ma,thumbnail:Ma},privacySettings:{allowAnalytics:!1,allowPersonalization:!1,allowCommunications:!1,allowThirdPartySharing:!1},gdprConsent:{accepted:!0,acceptedDate:new Date().toISOString(),lastUpdated:new Date().toISOString()},dataRetention:{deleteAccountAfterInactivity:365,deleteDataAfterAccountDeletion:30},preferences:{navigationType:"direct",visibleCourseLists:{isStudent:!0,isStudentOld:!0,isTeacher:!0,isTeacherOld:!0,available:!0},lastVisitedCourses:[],visibleNavigation:["Courses"]},platformRoles:["creator","moderator"]},{id:"2",name:"Student User",email:"student@edu.com",image:{large:$a,medium:$a,thumbnail:$a},privacySettings:{allowAnalytics:!1,allowPersonalization:!1,allowCommunications:!1,allowThirdPartySharing:!1},gdprConsent:{accepted:!0,acceptedDate:new Date().toISOString(),lastUpdated:new Date().toISOString()},dataRetention:{deleteAccountAfterInactivity:365,deleteDataAfterAccountDeletion:30},preferences:{navigationType:"direct",visibleCourseLists:{isStudent:!0,isStudentOld:!0,isTeacher:!0,isTeacherOld:!0,available:!0},lastVisitedCourses:[],visibleNavigation:["Courses"]},platformRoles:["user"]},{id:"3",name:"Guest User",email:"",image:{large:Ha,medium:Ha,thumbnail:Ha},privacySettings:{allowAnalytics:!1,allowPersonalization:!1,allowCommunications:!1,allowThirdPartySharing:!1},gdprConsent:{accepted:!0,acceptedDate:new Date().toISOString(),lastUpdated:new Date().toISOString()},dataRetention:{deleteAccountAfterInactivity:365,deleteDataAfterAccountDeletion:30},preferences:{navigationType:"direct",visibleCourseLists:{isStudent:!0,isStudentOld:!0,isTeacher:!0,isTeacherOld:!0,available:!0},lastVisitedCourses:[],visibleNavigation:["Courses"]},platformRoles:["user"]},{id:"4",name:"Admin User",email:"admin@edu.com",image:{large:Va,medium:Va,thumbnail:Va},privacySettings:{allowAnalytics:!1,allowPersonalization:!1,allowCommunications:!1,allowThirdPartySharing:!1},gdprConsent:{accepted:!0,acceptedDate:new Date().toISOString(),lastUpdated:new Date().toISOString()},dataRetention:{deleteAccountAfterInactivity:365,deleteDataAfterAccountDeletion:30},preferences:{navigationType:"direct",visibleCourseLists:{isStudent:!0,isStudentOld:!0,isTeacher:!0,isTeacherOld:!0,available:!0},lastVisitedCourses:[],visibleNavigation:["Courses"]},platformRoles:["creator","moderator"]}],xe=co(a=>({fetchState:"idle",user:null,userToUpdate:null,testUsers:Wa,users:[],courseUsers:[],setUserToUpdate:e=>a({userToUpdate:e}),setTestUsers:e=>a({testUsers:e}),setUser:e=>a({user:e}),getUser:async()=>{try{a({fetchState:"loading"}),a({testUsers:Wa});const e=await lo();e&&a({user:{...e},fetchState:"idle",testUsers:Wa.filter(o=>o.id!==e.id)})}catch(e){console.error("Error getting user",e),a({fetchState:"error"})}},getUsers:async()=>{try{a({fetchState:"loading"});const e=await me();a(e?{users:e,fetchState:"idle"}:{fetchState:"error"})}catch{a({fetchState:"error"})}},fetchCourseUsers:async e=>{try{a({fetchState:"loading"});const o=await me(e);a({courseUsers:o,fetchState:"idle"})}catch{a({fetchState:"error"})}},clearUser:()=>a({user:null}),logout:async()=>{try{return await ho(),a({user:null}),Promise.resolve()}catch(e){return Promise.reject(e)}},updateUser:async e=>{try{a({fetchState:"loading"});const o=await po(e);return a(i=>{var s;return{fetchState:"idle",userToUpdate:o,user:((s=i.user)==null?void 0:s.id)===o.id?o:i.user}}),Promise.resolve(o)}catch(o){return console.error("Failed to update user:",o),a({fetchState:"error"}),Promise.reject(o)}}}));var Ta={exports:{}},wa={};/**
|
|
34
34
|
* @license React
|
|
35
35
|
* react-jsx-runtime.production.js
|
|
36
36
|
*
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
*
|
|
39
39
|
* This source code is licensed under the MIT license found in the
|
|
40
40
|
* LICENSE file in the root directory of this source tree.
|
|
41
|
-
*/var
|
|
41
|
+
*/var ce;function go(){if(ce)return wa;ce=1;var a=Symbol.for("react.transitional.element"),e=Symbol.for("react.fragment");function o(i,t,s){var u=null;if(s!==void 0&&(u=""+s),t.key!==void 0&&(u=""+t.key),"key"in t){s={};for(var r in t)r!=="key"&&(s[r]=t[r])}else s=t;return t=s.ref,{$$typeof:a,type:i,key:u,ref:t!==void 0?t:null,props:s}}return wa.Fragment=e,wa.jsx=o,wa.jsxs=o,wa}var xa={};/**
|
|
42
42
|
* @license React
|
|
43
43
|
* react-jsx-runtime.development.js
|
|
44
44
|
*
|
|
@@ -46,9 +46,242 @@
|
|
|
46
46
|
*
|
|
47
47
|
* This source code is licensed under the MIT license found in the
|
|
48
48
|
* LICENSE file in the root directory of this source tree.
|
|
49
|
-
*/var
|
|
49
|
+
*/var le;function ko(){return le||(le=1,process.env.NODE_ENV!=="production"&&function(){function a(w){if(w==null)return null;if(typeof w=="function")return w.$$typeof===I?null:w.displayName||w.name||null;if(typeof w=="string")return w;switch(w){case S:return"Fragment";case P:return"Profiler";case _:return"StrictMode";case y:return"Suspense";case v:return"SuspenseList";case R:return"Activity"}if(typeof w=="object")switch(typeof w.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),w.$$typeof){case E:return"Portal";case h:return w.displayName||"Context";case A:return(w._context.displayName||"Context")+".Consumer";case x:var D=w.render;return w=w.displayName,w||(w=D.displayName||D.name||"",w=w!==""?"ForwardRef("+w+")":"ForwardRef"),w;case T:return D=w.displayName||null,D!==null?D:a(w.type)||"Memo";case O:D=w._payload,w=w._init;try{return a(w(D))}catch{}}return null}function e(w){return""+w}function o(w){try{e(w);var D=!1}catch{D=!0}if(D){D=console;var B=D.error,H=typeof Symbol=="function"&&Symbol.toStringTag&&w[Symbol.toStringTag]||w.constructor.name||"Object";return B.call(D,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",H),e(w)}}function i(w){if(w===S)return"<>";if(typeof w=="object"&&w!==null&&w.$$typeof===O)return"<...>";try{var D=a(w);return D?"<"+D+">":"<...>"}catch{return"<...>"}}function t(){var w=G.A;return w===null?null:w.getOwner()}function s(){return Error("react-stack-top-frame")}function u(w){if(ta.call(w,"key")){var D=Object.getOwnPropertyDescriptor(w,"key").get;if(D&&D.isReactWarning)return!1}return w.key!==void 0}function r(w,D){function B(){q||(q=!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)",D))}B.isReactWarning=!0,Object.defineProperty(w,"key",{get:B,configurable:!0})}function p(){var w=a(this.type);return Y[w]||(Y[w]=!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.")),w=this.props.ref,w!==void 0?w:null}function z(w,D,B,H,ea,oa){var $=B.ref;return w={$$typeof:d,type:w,key:D,props:B,_owner:H},($!==void 0?$:null)!==null?Object.defineProperty(w,"ref",{enumerable:!1,get:p}):Object.defineProperty(w,"ref",{enumerable:!1,value:null}),w._store={},Object.defineProperty(w._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(w,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(w,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:ea}),Object.defineProperty(w,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:oa}),Object.freeze&&(Object.freeze(w.props),Object.freeze(w)),w}function k(w,D,B,H,ea,oa){var $=D.children;if($!==void 0)if(H)if(na($)){for(H=0;H<$.length;H++)c($[H]);Object.freeze&&Object.freeze($)}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 c($);if(ta.call(D,"key")){$=a(w);var V=Object.keys(D).filter(function(ua){return ua!=="key"});H=0<V.length?"{key: someKey, "+V.join(": ..., ")+": ...}":"{key: someKey}",Q[$+H]||(V=0<V.length?"{"+V.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
|
|
50
50
|
let props = %s;
|
|
51
51
|
<%s {...props} />
|
|
52
52
|
React keys must be passed directly to JSX without using spread:
|
|
53
53
|
let props = %s;
|
|
54
|
-
<%s key={someKey} {...props} />`,
|
|
54
|
+
<%s key={someKey} {...props} />`,H,$,V,$),Q[$+H]=!0)}if($=null,B!==void 0&&(o(B),$=""+B),u(D)&&(o(D.key),$=""+D.key),"key"in D){B={};for(var ra in D)ra!=="key"&&(B[ra]=D[ra])}else B=D;return $&&r(B,typeof w=="function"?w.displayName||w.name||"Unknown":w),z(w,$,B,t(),ea,oa)}function c(w){b(w)?w._store&&(w._store.validated=1):typeof w=="object"&&w!==null&&w.$$typeof===O&&(w._payload.status==="fulfilled"?b(w._payload.value)&&w._payload.value._store&&(w._payload.value._store.validated=1):w._store&&(w._store.validated=1))}function b(w){return typeof w=="object"&&w!==null&&w.$$typeof===d}var l=la,d=Symbol.for("react.transitional.element"),E=Symbol.for("react.portal"),S=Symbol.for("react.fragment"),_=Symbol.for("react.strict_mode"),P=Symbol.for("react.profiler"),A=Symbol.for("react.consumer"),h=Symbol.for("react.context"),x=Symbol.for("react.forward_ref"),y=Symbol.for("react.suspense"),v=Symbol.for("react.suspense_list"),T=Symbol.for("react.memo"),O=Symbol.for("react.lazy"),R=Symbol.for("react.activity"),I=Symbol.for("react.client.reference"),G=l.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ta=Object.prototype.hasOwnProperty,na=Array.isArray,f=console.createTask?console.createTask:function(){return null};l={react_stack_bottom_frame:function(w){return w()}};var q,Y={},M=l.react_stack_bottom_frame.bind(l,s)(),K=f(i(s)),Q={};xa.Fragment=S,xa.jsx=function(w,D,B){var H=1e4>G.recentlyCreatedOwnerStacks++;return k(w,D,B,!1,H?Error("react-stack-top-frame"):M,H?f(i(w)):K)},xa.jsxs=function(w,D,B){var H=1e4>G.recentlyCreatedOwnerStacks++;return k(w,D,B,!0,H?Error("react-stack-top-frame"):M,H?f(i(w)):K)}}()),xa}var pe;function fo(){return pe||(pe=1,process.env.NODE_ENV==="production"?Ta.exports=go():Ta.exports=ko()),Ta.exports}var Ra=fo();const jo=()=>(N.useSyncNavigationFilters(),null),bo=()=>{const{user:a}=xe(),e=la.useRef(null);return la.useEffect(()=>{N.userBus.initializeFromStore()},[]),la.useEffect(()=>{const o=a,i=e.current;if(o&&!i){const t={type:"user:loggedIn",user:o,timestamp:new Date().toISOString()};N.userBus.publish(t)}else if(!o&&i){const t={type:"user:loggedOut",user:null,timestamp:new Date().toISOString()};N.userBus.publish(t)}else if(o&&i&&o.id===i.id){const t=JSON.stringify(o.preferences)!==JSON.stringify(i.preferences);if(t){const u=[];o.preferences.navigationType!==i.preferences.navigationType&&u.push("navigationType"),JSON.stringify(o.preferences.visibleCourseLists)!==JSON.stringify(i.preferences.visibleCourseLists)&&u.push("visibleCourseLists"),JSON.stringify(o.preferences.visibleNavigation)!==JSON.stringify(i.preferences.visibleNavigation)&&u.push("visibleNavigation"),JSON.stringify(o.preferences.lastVisitedCourses)!==JSON.stringify(i.preferences.lastVisitedCourses)&&u.push("lastVisitedCourses");const r={type:"user:preferencesChanged",user:o,timestamp:new Date().toISOString(),metadata:{changedPreferences:u}};N.userBus.publish(r)}if((o.name!==i.name||o.email!==i.email||JSON.stringify(o.privacySettings)!==JSON.stringify(i.privacySettings)||JSON.stringify(o.gdprConsent)!==JSON.stringify(i.gdprConsent)||JSON.stringify(o.dataRetention)!==JSON.stringify(i.dataRetention)||JSON.stringify(o.platformRoles)!==JSON.stringify(i.platformRoles))&&!t){const u={type:"user:updated",user:o,timestamp:new Date().toISOString(),metadata:{previousUser:i}};N.userBus.publish(u)}}e.current=o},[a]),null},yo=({children:a})=>Ra.jsxs(Ra.Fragment,{children:[Ra.jsx(jo,{}),Ra.jsx(bo,{}),a]});var vo=/(%?)(%([sdijo]))/g;function wo(a,e){switch(e){case"s":return a;case"d":case"i":return Number(a);case"j":return JSON.stringify(a);case"o":{if(typeof a=="string")return a;const o=JSON.stringify(a);return o==="{}"||o==="[]"||/^\[object .+?\]$/.test(o)?a:o}}}function Xa(a,...e){if(e.length===0)return a;let o=0,i=a.replace(vo,(t,s,u,r)=>{const p=e[o],z=wo(p,r);return s?t:(o++,z)});return o<e.length&&(i+=` ${e.slice(o).join(" ")}`),i=i.replace(/%{2,2}/g,"%"),i}var xo=2;function zo(a){if(!a.stack)return;const e=a.stack.split(`
|
|
55
|
+
`);e.splice(1,xo),a.stack=e.join(`
|
|
56
|
+
`)}var Eo=class extends Error{constructor(a,...e){super(a),this.message=a,this.name="Invariant Violation",this.message=Xa(a,...e),zo(this)}},Za=(a,e,...o)=>{if(!a)throw new Eo(e,...o)};Za.as=(a,e,o,...i)=>{if(!e){const t=i.length===0?o:Xa(o,...i);let s;try{s=Reflect.construct(a,[t])}catch{s=a(t)}throw s}};const So="[MSW]";function Qa(a,...e){const o=Xa(a,...e);return`${So} ${o}`}function Co(a,...e){console.warn(Qa(a,...e))}function _o(a,...e){console.error(Qa(a,...e))}const Ka={formatMessage:Qa,warn:Co,error:_o};function Ao(){Za(typeof URL<"u",Ka.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 Oo=/[\/\\]msw[\/\\]src[\/\\](.+)/,Fo=/(node_modules)?[\/\\]lib[\/\\](core|browser|node|native|iife)[\/\\]|^[^\/\\]*$/;function Do(a){const e=a.stack;if(!e)return;const i=e.split(`
|
|
57
|
+
`).slice(1).find(s=>!(Oo.test(s)||Fo.test(s)));return i?i.replace(/\s*at [^()]*\(([^)]+)\)/,"$1").replace(/^@/,""):void 0}function To(a){return a?Reflect.has(a,Symbol.iterator)||Reflect.has(a,Symbol.asyncIterator):!1}const Ca=class Ca{constructor(e){ma(this,"__kind");ma(this,"info");ma(this,"isUsed");ma(this,"resolver");ma(this,"resolverIterator");ma(this,"resolverIteratorResult");ma(this,"options");this.resolver=e.resolver,this.options=e.options;const o=Do(new Error);this.info={...e.info,callFrame:o},this.isUsed=!1,this.__kind="RequestHandler"}async parse(e){return{}}async test(e){const o=await this.parse({request:e.request,resolutionContext:e.resolutionContext});return this.predicate({request:e.request,parsedResult:o,resolutionContext:e.resolutionContext})}extendResolverArgs(e){return{}}cloneRequestOrGetFromCache(e){const o=Ca.cache.get(e);if(typeof o<"u")return o;const i=e.clone();return Ca.cache.set(e,i),i}async run(e){var k,c;if(this.isUsed&&((k=this.options)!=null&&k.once))return null;const o=this.cloneRequestOrGetFromCache(e.request),i=await this.parse({request:e.request,resolutionContext:e.resolutionContext});if(!this.predicate({request:e.request,parsedResult:i,resolutionContext:e.resolutionContext})||this.isUsed&&((c=this.options)!=null&&c.once))return null;this.isUsed=!0;const s=this.wrapResolver(this.resolver),u=this.extendResolverArgs({request:e.request,parsedResult:i}),p=await s({...u,requestId:e.requestId,request:e.request}).catch(b=>{if(b instanceof Response)return b;throw b});return this.createExecutionResult({request:o,requestId:e.requestId,response:p,parsedResult:i})}wrapResolver(e){return async o=>{var u;if(!this.resolverIterator){const r=await e(o);if(!To(r))return r;this.resolverIterator=Symbol.iterator in r?r[Symbol.iterator]():r[Symbol.asyncIterator]()}this.isUsed=!1;const{done:i,value:t}=await this.resolverIterator.next(),s=await t;return s&&(this.resolverIteratorResult=s.clone()),i?(this.isUsed=!0,(u=this.resolverIteratorResult)==null?void 0:u.clone()):s}}createExecutionResult(e){return{handler:this,request:e.request,requestId:e.requestId,response:e.response,parsedResult:e.parsedResult}}};ma(Ca,"cache",new WeakMap);let Ya=Ca;function Ro(a,e){return a.toLowerCase()===e.toLowerCase()}function Io(a){return a<300?"#69AB32":a<400?"#F0BB4B":"#E95F5D"}function Po(a){const e=new Date;return`${e.getHours().toString().padStart(2,"0")}:${e.getMinutes().toString().padStart(2,"0")}:${e.getSeconds().toString().padStart(2,"0")}`}async function qo(a){const o=await a.clone().text();return{url:new URL(a.url),method:a.method,headers:Object.fromEntries(a.headers.entries()),body:o}}var Bo=Object.create,ze=Object.defineProperty,Lo=Object.getOwnPropertyDescriptor,Ee=Object.getOwnPropertyNames,Uo=Object.getPrototypeOf,No=Object.prototype.hasOwnProperty,Se=(a,e)=>function(){return e||(0,a[Ee(a)[0]])((e={exports:{}}).exports,e),e.exports},$o=(a,e,o,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of Ee(e))!No.call(a,t)&&t!==o&&ze(a,t,{get:()=>e[t],enumerable:!(i=Lo(e,t))||i.enumerable});return a},Mo=(a,e,o)=>(o=a!=null?Bo(Uo(a)):{},$o(ze(o,"default",{value:a,enumerable:!0}),a)),Ho=Se({"node_modules/statuses/codes.json"(a,e){e.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"}}}),Vo=Se({"node_modules/statuses/index.js"(a,e){var o=Ho();e.exports=r,r.message=o,r.code=i(o),r.codes=t(o),r.redirect={300:!0,301:!0,302:!0,303:!0,305:!0,307:!0,308:!0},r.empty={204:!0,205:!0,304:!0},r.retry={502:!0,503:!0,504:!0};function i(p){var z={};return Object.keys(p).forEach(function(c){var b=p[c],l=Number(c);z[b.toLowerCase()]=l}),z}function t(p){return Object.keys(p).map(function(k){return Number(k)})}function s(p){var z=p.toLowerCase();if(!Object.prototype.hasOwnProperty.call(r.code,z))throw new Error('invalid status message: "'+p+'"');return r.code[z]}function u(p){if(!Object.prototype.hasOwnProperty.call(r.message,p))throw new Error("invalid status code: "+p);return r.message[p]}function r(p){if(typeof p=="number")return u(p);if(typeof p!="string")throw new TypeError("code must be a number or string");var z=parseInt(p,10);return isNaN(z)?s(p):u(z)}}}),Wo=Mo(Vo()),Ce=Wo.default;/*! Bundled license information:
|
|
58
|
+
|
|
59
|
+
statuses/index.js:
|
|
60
|
+
(*!
|
|
61
|
+
* statuses
|
|
62
|
+
* Copyright(c) 2014 Jonathan Ong
|
|
63
|
+
* Copyright(c) 2016 Douglas Christopher Wilson
|
|
64
|
+
* MIT Licensed
|
|
65
|
+
*)
|
|
66
|
+
*/const{message:Jo}=Ce;async function Go(a){const e=a.clone(),o=await e.text(),i=e.status||200,t=e.statusText||Jo[i]||"OK";return{status:i,statusText:t,headers:Object.fromEntries(e.headers.entries()),body:o}}function Ko(a){for(var e=[],o=0;o<a.length;){var i=a[o];if(i==="*"||i==="+"||i==="?"){e.push({type:"MODIFIER",index:o,value:a[o++]});continue}if(i==="\\"){e.push({type:"ESCAPED_CHAR",index:o++,value:a[o++]});continue}if(i==="{"){e.push({type:"OPEN",index:o,value:a[o++]});continue}if(i==="}"){e.push({type:"CLOSE",index:o,value:a[o++]});continue}if(i===":"){for(var t="",s=o+1;s<a.length;){var u=a.charCodeAt(s);if(u>=48&&u<=57||u>=65&&u<=90||u>=97&&u<=122||u===95){t+=a[s++];continue}break}if(!t)throw new TypeError("Missing parameter name at ".concat(o));e.push({type:"NAME",index:o,value:t}),o=s;continue}if(i==="("){var r=1,p="",s=o+1;if(a[s]==="?")throw new TypeError('Pattern cannot start with "?" at '.concat(s));for(;s<a.length;){if(a[s]==="\\"){p+=a[s++]+a[s++];continue}if(a[s]===")"){if(r--,r===0){s++;break}}else if(a[s]==="("&&(r++,a[s+1]!=="?"))throw new TypeError("Capturing groups are not allowed at ".concat(s));p+=a[s++]}if(r)throw new TypeError("Unbalanced pattern at ".concat(o));if(!p)throw new TypeError("Missing pattern at ".concat(o));e.push({type:"PATTERN",index:o,value:p}),o=s;continue}e.push({type:"CHAR",index:o,value:a[o++]})}return e.push({type:"END",index:o,value:""}),e}function Yo(a,e){e===void 0&&(e={});for(var o=Ko(a),i=e.prefixes,t=i===void 0?"./":i,s=e.delimiter,u=s===void 0?"/#?":s,r=[],p=0,z=0,k="",c=function(O){if(z<o.length&&o[z].type===O)return o[z++].value},b=function(O){var R=c(O);if(R!==void 0)return R;var I=o[z],G=I.type,ta=I.index;throw new TypeError("Unexpected ".concat(G," at ").concat(ta,", expected ").concat(O))},l=function(){for(var O="",R;R=c("CHAR")||c("ESCAPED_CHAR");)O+=R;return O},d=function(O){for(var R=0,I=u;R<I.length;R++){var G=I[R];if(O.indexOf(G)>-1)return!0}return!1},E=function(O){var R=r[r.length-1],I=O||(R&&typeof R=="string"?R:"");if(R&&!I)throw new TypeError('Must have text between two parameters, missing text after "'.concat(R.name,'"'));return!I||d(I)?"[^".concat(ka(u),"]+?"):"(?:(?!".concat(ka(I),")[^").concat(ka(u),"])+?")};z<o.length;){var S=c("CHAR"),_=c("NAME"),P=c("PATTERN");if(_||P){var A=S||"";t.indexOf(A)===-1&&(k+=A,A=""),k&&(r.push(k),k=""),r.push({name:_||p++,prefix:A,suffix:"",pattern:P||E(A),modifier:c("MODIFIER")||""});continue}var h=S||c("ESCAPED_CHAR");if(h){k+=h;continue}k&&(r.push(k),k="");var x=c("OPEN");if(x){var A=l(),y=c("NAME")||"",v=c("PATTERN")||"",T=l();b("CLOSE"),r.push({name:y||(v?p++:""),pattern:y&&!v?E(A):v,prefix:A,suffix:T,modifier:c("MODIFIER")||""});continue}b("END")}return r}function Xo(a,e){var o=[],i=Ae(a,o,e);return Zo(i,o,e)}function Zo(a,e,o){o===void 0&&(o={});var i=o.decode,t=i===void 0?function(s){return s}:i;return function(s){var u=a.exec(s);if(!u)return!1;for(var r=u[0],p=u.index,z=Object.create(null),k=function(b){if(u[b]===void 0)return"continue";var l=e[b-1];l.modifier==="*"||l.modifier==="+"?z[l.name]=u[b].split(l.prefix+l.suffix).map(function(d){return t(d,l)}):z[l.name]=t(u[b],l)},c=1;c<u.length;c++)k(c);return{path:r,index:p,params:z}}}function ka(a){return a.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}function _e(a){return a&&a.sensitive?"":"i"}function Qo(a,e){if(!e)return a;for(var o=/\((?:\?<(.*?)>)?(?!\?)/g,i=0,t=o.exec(a.source);t;)e.push({name:t[1]||i++,prefix:"",suffix:"",modifier:"",pattern:""}),t=o.exec(a.source);return a}function ai(a,e,o){var i=a.map(function(t){return Ae(t,e,o).source});return new RegExp("(?:".concat(i.join("|"),")"),_e(o))}function ei(a,e,o){return oi(Yo(a,o),e,o)}function oi(a,e,o){o===void 0&&(o={});for(var i=o.strict,t=i===void 0?!1:i,s=o.start,u=s===void 0?!0:s,r=o.end,p=r===void 0?!0:r,z=o.encode,k=z===void 0?function(R){return R}:z,c=o.delimiter,b=c===void 0?"/#?":c,l=o.endsWith,d=l===void 0?"":l,E="[".concat(ka(d),"]|$"),S="[".concat(ka(b),"]"),_=u?"^":"",P=0,A=a;P<A.length;P++){var h=A[P];if(typeof h=="string")_+=ka(k(h));else{var x=ka(k(h.prefix)),y=ka(k(h.suffix));if(h.pattern)if(e&&e.push(h),x||y)if(h.modifier==="+"||h.modifier==="*"){var v=h.modifier==="*"?"?":"";_+="(?:".concat(x,"((?:").concat(h.pattern,")(?:").concat(y).concat(x,"(?:").concat(h.pattern,"))*)").concat(y,")").concat(v)}else _+="(?:".concat(x,"(").concat(h.pattern,")").concat(y,")").concat(h.modifier);else{if(h.modifier==="+"||h.modifier==="*")throw new TypeError('Can not repeat "'.concat(h.name,'" without a prefix and suffix'));_+="(".concat(h.pattern,")").concat(h.modifier)}else _+="(?:".concat(x).concat(y,")").concat(h.modifier)}}if(p)t||(_+="".concat(S,"?")),_+=o.endsWith?"(?=".concat(E,")"):"$";else{var T=a[a.length-1],O=typeof T=="string"?S.indexOf(T[T.length-1])>-1:T===void 0;t||(_+="(?:".concat(S,"(?=").concat(E,"))?")),O||(_+="(?=".concat(S,"|").concat(E,")"))}return new RegExp(_,_e(o))}function Ae(a,e,o){return a instanceof RegExp?Qo(a,e):Array.isArray(a)?ai(a,e,o):ei(a,e,o)}new TextEncoder;var va=class extends Response{static isConfigurableStatusCode(a){return a>=200&&a<=599}static isRedirectResponse(a){return va.STATUS_CODES_WITH_REDIRECT.includes(a)}static isResponseWithBody(a){return!va.STATUS_CODES_WITHOUT_BODY.includes(a)}static setUrl(a,e){a&&e.url==""&&Object.defineProperty(e,"url",{value:a,enumerable:!0,configurable:!0,writable:!1})}static parseRawHeaders(a){const e=new Headers;for(let o=0;o<a.length;o+=2)e.append(a[o],a[o+1]);return e}constructor(a,e={}){var o;const i=(o=e.status)!=null?o:200,t=va.isConfigurableStatusCode(i)?i:200,s=va.isResponseWithBody(i)?a:null;if(super(s,{...e,status:t}),i!==t){const u=Object.getOwnPropertySymbols(this).find(r=>r.description==="state");if(u){const r=Reflect.get(this,u);Reflect.set(r,"status",i)}else Object.defineProperty(this,"status",{value:i,enumerable:!0,configurable:!0,writable:!1})}va.setUrl(e.url,this)}},ae=va;ae.STATUS_CODES_WITHOUT_BODY=[101,103,204,205,304];ae.STATUS_CODES_WITH_REDIRECT=[301,302,303,307,308];function Oe(){if(typeof navigator<"u"&&navigator.product==="ReactNative")return!0;if(typeof process<"u"){const a=process.type;return a==="renderer"||a==="worker"?!1:!!(process.versions&&process.versions.node)}return!1}var ii=Object.defineProperty,ti=(a,e)=>{for(var o in e)ii(a,o,{get:e[o],enumerable:!0})},ni={};ti(ni,{blue:()=>ri,gray:()=>ui,green:()=>ci,red:()=>mi,yellow:()=>si});function si(a){return`\x1B[33m${a}\x1B[0m`}function ri(a){return`\x1B[34m${a}\x1B[0m`}function ui(a){return`\x1B[90m${a}\x1B[0m`}function mi(a){return`\x1B[31m${a}\x1B[0m`}function ci(a){return`\x1B[32m${a}\x1B[0m`}Oe();function li(a,e=!0){return[e&&a.origin,a.pathname].filter(Boolean).join("")}const pi=/[\?|#].*$/g;function di(a){return new URL(`/${a}`,"http://localhost").searchParams}function Fe(a){return a.endsWith("?")?a:a.replace(pi,"")}function hi(a){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(a)}function gi(a,e){if(hi(a)||a.startsWith("*"))return a;const o=e||typeof document<"u"&&document.baseURI;return o?decodeURI(new URL(encodeURI(a),o).href):a}function ki(a,e){if(a instanceof RegExp)return a;const o=gi(a,e);return Fe(o)}function fi(a){return a.replace(/([:a-zA-Z_-]*)(\*{1,2})+/g,(e,o,i)=>{const t="(.*)";return o?o.startsWith(":")?`${o}${i}`:`${o}${t}`:t}).replace(/([^\/])(:)(?=\d+)/,"$1\\$2").replace(/^([^\/]+)(:)(?=\/\/)/,"$1\\$2")}function ji(a,e,o){const i=ki(e,o),t=typeof i=="string"?fi(i):i,s=li(a),u=Xo(t,{decode:decodeURIComponent})(s),r=u&&u.params||{};return{matches:u!==!1,params:r}}function bi(a){if(typeof location>"u")return a.toString();const e=a instanceof URL?a:new URL(a);return e.origin===location.origin?e.pathname:e.origin+e.pathname}var yi=Object.create,De=Object.defineProperty,vi=Object.getOwnPropertyDescriptor,Te=Object.getOwnPropertyNames,wi=Object.getPrototypeOf,xi=Object.prototype.hasOwnProperty,zi=(a,e)=>function(){return e||(0,a[Te(a)[0]])((e={exports:{}}).exports,e),e.exports},Ei=(a,e,o,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of Te(e))!xi.call(a,t)&&t!==o&&De(a,t,{get:()=>e[t],enumerable:!(i=vi(e,t))||i.enumerable});return a},Si=(a,e,o)=>(o=a!=null?yi(wi(a)):{},Ei(De(o,"default",{value:a,enumerable:!0}),a)),Ci=zi({"node_modules/cookie/index.js"(a){a.parse=r,a.serialize=k;var e=Object.prototype.toString,o=Object.prototype.hasOwnProperty,i=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/,t=/^("?)[\u0021\u0023-\u002B\u002D-\u003A\u003C-\u005B\u005D-\u007E]*\1$/,s=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i,u=/^[\u0020-\u003A\u003D-\u007E]*$/;function r(d,E){if(typeof d!="string")throw new TypeError("argument str must be a string");var S={},_=d.length;if(_<2)return S;var P=E&&E.decode||c,A=0,h=0,x=0;do{if(h=d.indexOf("=",A),h===-1)break;if(x=d.indexOf(";",A),x===-1)x=_;else if(h>x){A=d.lastIndexOf(";",h-1)+1;continue}var y=p(d,A,h),v=z(d,h,y),T=d.slice(y,v);if(!o.call(S,T)){var O=p(d,h+1,x),R=z(d,x,O);d.charCodeAt(O)===34&&d.charCodeAt(R-1)===34&&(O++,R--);var I=d.slice(O,R);S[T]=l(I,P)}A=x+1}while(A<_);return S}function p(d,E,S){do{var _=d.charCodeAt(E);if(_!==32&&_!==9)return E}while(++E<S);return S}function z(d,E,S){for(;E>S;){var _=d.charCodeAt(--E);if(_!==32&&_!==9)return E+1}return S}function k(d,E,S){var _=S&&S.encode||encodeURIComponent;if(typeof _!="function")throw new TypeError("option encode is invalid");if(!i.test(d))throw new TypeError("argument name is invalid");var P=_(E);if(!t.test(P))throw new TypeError("argument val is invalid");var A=d+"="+P;if(!S)return A;if(S.maxAge!=null){var h=Math.floor(S.maxAge);if(!isFinite(h))throw new TypeError("option maxAge is invalid");A+="; Max-Age="+h}if(S.domain){if(!s.test(S.domain))throw new TypeError("option domain is invalid");A+="; Domain="+S.domain}if(S.path){if(!u.test(S.path))throw new TypeError("option path is invalid");A+="; Path="+S.path}if(S.expires){var x=S.expires;if(!b(x)||isNaN(x.valueOf()))throw new TypeError("option expires is invalid");A+="; Expires="+x.toUTCString()}if(S.httpOnly&&(A+="; HttpOnly"),S.secure&&(A+="; Secure"),S.partitioned&&(A+="; Partitioned"),S.priority){var y=typeof S.priority=="string"?S.priority.toLowerCase():S.priority;switch(y){case"low":A+="; Priority=Low";break;case"medium":A+="; Priority=Medium";break;case"high":A+="; Priority=High";break;default:throw new TypeError("option priority is invalid")}}if(S.sameSite){var v=typeof S.sameSite=="string"?S.sameSite.toLowerCase():S.sameSite;switch(v){case!0:A+="; SameSite=Strict";break;case"lax":A+="; SameSite=Lax";break;case"strict":A+="; SameSite=Strict";break;case"none":A+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return A}function c(d){return d.indexOf("%")!==-1?decodeURIComponent(d):d}function b(d){return e.call(d)==="[object Date]"}function l(d,E){try{return E(d)}catch{return d}}}}),_i=Si(Ci()),Re=_i.default;/*! Bundled license information:
|
|
67
|
+
|
|
68
|
+
cookie/index.js:
|
|
69
|
+
(*!
|
|
70
|
+
* cookie
|
|
71
|
+
* Copyright(c) 2012-2014 Roman Shtylman
|
|
72
|
+
* Copyright(c) 2015 Douglas Christopher Wilson
|
|
73
|
+
* MIT Licensed
|
|
74
|
+
*)
|
|
75
|
+
*/function ba(a){throw new Error('Could not dynamically require "'+a+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Ai=Object.create,Ie=Object.defineProperty,Oi=Object.getOwnPropertyDescriptor,Pe=Object.getOwnPropertyNames,Fi=Object.getPrototypeOf,Di=Object.prototype.hasOwnProperty,Ti=(a=>typeof ba<"u"?ba:typeof Proxy<"u"?new Proxy(a,{get:(e,o)=>(typeof ba<"u"?ba:e)[o]}):a)(function(a){if(typeof ba<"u")return ba.apply(this,arguments);throw Error('Dynamic require of "'+a+'" is not supported')}),ia=(a,e)=>function(){return e||(0,a[Pe(a)[0]])((e={exports:{}}).exports,e),e.exports},Ri=(a,e,o,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of Pe(e))!Di.call(a,t)&&t!==o&&Ie(a,t,{get:()=>e[t],enumerable:!(i=Oi(e,t))||i.enumerable});return a},Ii=(a,e,o)=>(o=a!=null?Ai(Fi(a)):{},Ri(Ie(o,"default",{value:a,enumerable:!0}),a)),qe=ia({"node_modules/punycode/punycode.js"(a,e){var o=2147483647,i=36,t=1,s=26,u=38,r=700,p=72,z=128,k="-",c=/^xn--/,b=/[^\0-\x7F]/,l=/[\x2E\u3002\uFF0E\uFF61]/g,d={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},E=i-t,S=Math.floor,_=String.fromCharCode;function P(f){throw new RangeError(d[f])}function A(f,q){const Y=[];let M=f.length;for(;M--;)Y[M]=q(f[M]);return Y}function h(f,q){const Y=f.split("@");let M="";Y.length>1&&(M=Y[0]+"@",f=Y[1]),f=f.replace(l,".");const K=f.split("."),Q=A(K,q).join(".");return M+Q}function x(f){const q=[];let Y=0;const M=f.length;for(;Y<M;){const K=f.charCodeAt(Y++);if(K>=55296&&K<=56319&&Y<M){const Q=f.charCodeAt(Y++);(Q&64512)==56320?q.push(((K&1023)<<10)+(Q&1023)+65536):(q.push(K),Y--)}else q.push(K)}return q}var y=f=>String.fromCodePoint(...f),v=function(f){return f>=48&&f<58?26+(f-48):f>=65&&f<91?f-65:f>=97&&f<123?f-97:i},T=function(f,q){return f+22+75*(f<26)-((q!=0)<<5)},O=function(f,q,Y){let M=0;for(f=Y?S(f/r):f>>1,f+=S(f/q);f>E*s>>1;M+=i)f=S(f/E);return S(M+(E+1)*f/(f+u))},R=function(f){const q=[],Y=f.length;let M=0,K=z,Q=p,w=f.lastIndexOf(k);w<0&&(w=0);for(let D=0;D<w;++D)f.charCodeAt(D)>=128&&P("not-basic"),q.push(f.charCodeAt(D));for(let D=w>0?w+1:0;D<Y;){const B=M;for(let ea=1,oa=i;;oa+=i){D>=Y&&P("invalid-input");const $=v(f.charCodeAt(D++));$>=i&&P("invalid-input"),$>S((o-M)/ea)&&P("overflow"),M+=$*ea;const V=oa<=Q?t:oa>=Q+s?s:oa-Q;if($<V)break;const ra=i-V;ea>S(o/ra)&&P("overflow"),ea*=ra}const H=q.length+1;Q=O(M-B,H,B==0),S(M/H)>o-K&&P("overflow"),K+=S(M/H),M%=H,q.splice(M++,0,K)}return String.fromCodePoint(...q)},I=function(f){const q=[];f=x(f);const Y=f.length;let M=z,K=0,Q=p;for(const B of f)B<128&&q.push(_(B));const w=q.length;let D=w;for(w&&q.push(k);D<Y;){let B=o;for(const ea of f)ea>=M&&ea<B&&(B=ea);const H=D+1;B-M>S((o-K)/H)&&P("overflow"),K+=(B-M)*H,M=B;for(const ea of f)if(ea<M&&++K>o&&P("overflow"),ea===M){let oa=K;for(let $=i;;$+=i){const V=$<=Q?t:$>=Q+s?s:$-Q;if(oa<V)break;const ra=oa-V,ua=i-V;q.push(_(T(V+ra%ua,0))),oa=S(ra/ua)}q.push(_(T(oa,0))),Q=O(K,H,D===w),K=0,++D}++K,++M}return q.join("")},G=function(f){return h(f,function(q){return c.test(q)?R(q.slice(4).toLowerCase()):q})},ta=function(f){return h(f,function(q){return b.test(q)?"xn--"+I(q):q})},na={version:"2.3.1",ucs2:{decode:x,encode:y},decode:R,encode:I,toASCII:ta,toUnicode:G};e.exports=na}}),Pi=ia({"node_modules/requires-port/index.js"(a,e){e.exports=function(i,t){if(t=t.split(":")[0],i=+i,!i)return!1;switch(t){case"http":case"ws":return i!==80;case"https":case"wss":return i!==443;case"ftp":return i!==21;case"gopher":return i!==70;case"file":return!1}return i!==0}}}),qi=ia({"node_modules/querystringify/index.js"(a){var e=Object.prototype.hasOwnProperty,o;function i(r){try{return decodeURIComponent(r.replace(/\+/g," "))}catch{return null}}function t(r){try{return encodeURIComponent(r)}catch{return null}}function s(r){for(var p=/([^=?#&]+)=?([^&]*)/g,z={},k;k=p.exec(r);){var c=i(k[1]),b=i(k[2]);c===null||b===null||c in z||(z[c]=b)}return z}function u(r,p){p=p||"";var z=[],k,c;typeof p!="string"&&(p="?");for(c in r)if(e.call(r,c)){if(k=r[c],!k&&(k===null||k===o||isNaN(k))&&(k=""),c=t(c),k=t(k),c===null||k===null)continue;z.push(c+"="+k)}return z.length?p+z.join("&"):""}a.stringify=u,a.parse=s}}),Bi=ia({"node_modules/url-parse/index.js"(a,e){var o=Pi(),i=qi(),t=/^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,s=/[\n\r\t]/g,u=/^[A-Za-z][A-Za-z0-9+-.]*:\/\//,r=/:\d+$/,p=/^([a-z][a-z0-9.+-]*:)?(\/\/)?([\\/]+)?([\S\s]*)/i,z=/^[a-zA-Z]:/;function k(h){return(h||"").toString().replace(t,"")}var c=[["#","hash"],["?","query"],function(x,y){return d(y.protocol)?x.replace(/\\/g,"/"):x},["/","pathname"],["@","auth",1],[NaN,"host",void 0,1,1],[/:(\d*)$/,"port",void 0,1],[NaN,"hostname",void 0,1,1]],b={hash:1,query:1};function l(h){var x;typeof window<"u"?x=window:typeof global<"u"?x=global:typeof self<"u"?x=self:x={};var y=x.location||{};h=h||y;var v={},T=typeof h,O;if(h.protocol==="blob:")v=new _(unescape(h.pathname),{});else if(T==="string"){v=new _(h,{});for(O in b)delete v[O]}else if(T==="object"){for(O in h)O in b||(v[O]=h[O]);v.slashes===void 0&&(v.slashes=u.test(h.href))}return v}function d(h){return h==="file:"||h==="ftp:"||h==="http:"||h==="https:"||h==="ws:"||h==="wss:"}function E(h,x){h=k(h),h=h.replace(s,""),x=x||{};var y=p.exec(h),v=y[1]?y[1].toLowerCase():"",T=!!y[2],O=!!y[3],R=0,I;return T?O?(I=y[2]+y[3]+y[4],R=y[2].length+y[3].length):(I=y[2]+y[4],R=y[2].length):O?(I=y[3]+y[4],R=y[3].length):I=y[4],v==="file:"?R>=2&&(I=I.slice(2)):d(v)?I=y[4]:v?T&&(I=I.slice(2)):R>=2&&d(x.protocol)&&(I=y[4]),{protocol:v,slashes:T||d(v),slashesCount:R,rest:I}}function S(h,x){if(h==="")return x;for(var y=(x||"/").split("/").slice(0,-1).concat(h.split("/")),v=y.length,T=y[v-1],O=!1,R=0;v--;)y[v]==="."?y.splice(v,1):y[v]===".."?(y.splice(v,1),R++):R&&(v===0&&(O=!0),y.splice(v,1),R--);return O&&y.unshift(""),(T==="."||T==="..")&&y.push(""),y.join("/")}function _(h,x,y){if(h=k(h),h=h.replace(s,""),!(this instanceof _))return new _(h,x,y);var v,T,O,R,I,G,ta=c.slice(),na=typeof x,f=this,q=0;for(na!=="object"&&na!=="string"&&(y=x,x=null),y&&typeof y!="function"&&(y=i.parse),x=l(x),T=E(h||"",x),v=!T.protocol&&!T.slashes,f.slashes=T.slashes||v&&x.slashes,f.protocol=T.protocol||x.protocol||"",h=T.rest,(T.protocol==="file:"&&(T.slashesCount!==2||z.test(h))||!T.slashes&&(T.protocol||T.slashesCount<2||!d(f.protocol)))&&(ta[3]=[/(.*)/,"pathname"]);q<ta.length;q++){if(R=ta[q],typeof R=="function"){h=R(h,f);continue}O=R[0],G=R[1],O!==O?f[G]=h:typeof O=="string"?(I=O==="@"?h.lastIndexOf(O):h.indexOf(O),~I&&(typeof R[2]=="number"?(f[G]=h.slice(0,I),h=h.slice(I+R[2])):(f[G]=h.slice(I),h=h.slice(0,I)))):(I=O.exec(h))&&(f[G]=I[1],h=h.slice(0,I.index)),f[G]=f[G]||v&&R[3]&&x[G]||"",R[4]&&(f[G]=f[G].toLowerCase())}y&&(f.query=y(f.query)),v&&x.slashes&&f.pathname.charAt(0)!=="/"&&(f.pathname!==""||x.pathname!=="")&&(f.pathname=S(f.pathname,x.pathname)),f.pathname.charAt(0)!=="/"&&d(f.protocol)&&(f.pathname="/"+f.pathname),o(f.port,f.protocol)||(f.host=f.hostname,f.port=""),f.username=f.password="",f.auth&&(I=f.auth.indexOf(":"),~I?(f.username=f.auth.slice(0,I),f.username=encodeURIComponent(decodeURIComponent(f.username)),f.password=f.auth.slice(I+1),f.password=encodeURIComponent(decodeURIComponent(f.password))):f.username=encodeURIComponent(decodeURIComponent(f.auth)),f.auth=f.password?f.username+":"+f.password:f.username),f.origin=f.protocol!=="file:"&&d(f.protocol)&&f.host?f.protocol+"//"+f.host:"null",f.href=f.toString()}function P(h,x,y){var v=this;switch(h){case"query":typeof x=="string"&&x.length&&(x=(y||i.parse)(x)),v[h]=x;break;case"port":v[h]=x,o(x,v.protocol)?x&&(v.host=v.hostname+":"+x):(v.host=v.hostname,v[h]="");break;case"hostname":v[h]=x,v.port&&(x+=":"+v.port),v.host=x;break;case"host":v[h]=x,r.test(x)?(x=x.split(":"),v.port=x.pop(),v.hostname=x.join(":")):(v.hostname=x,v.port="");break;case"protocol":v.protocol=x.toLowerCase(),v.slashes=!y;break;case"pathname":case"hash":if(x){var T=h==="pathname"?"/":"#";v[h]=x.charAt(0)!==T?T+x:x}else v[h]=x;break;case"username":case"password":v[h]=encodeURIComponent(x);break;case"auth":var O=x.indexOf(":");~O?(v.username=x.slice(0,O),v.username=encodeURIComponent(decodeURIComponent(v.username)),v.password=x.slice(O+1),v.password=encodeURIComponent(decodeURIComponent(v.password))):v.username=encodeURIComponent(decodeURIComponent(x))}for(var R=0;R<c.length;R++){var I=c[R];I[4]&&(v[I[1]]=v[I[1]].toLowerCase())}return v.auth=v.password?v.username+":"+v.password:v.username,v.origin=v.protocol!=="file:"&&d(v.protocol)&&v.host?v.protocol+"//"+v.host:"null",v.href=v.toString(),v}function A(h){(!h||typeof h!="function")&&(h=i.stringify);var x,y=this,v=y.host,T=y.protocol;T&&T.charAt(T.length-1)!==":"&&(T+=":");var O=T+(y.protocol&&y.slashes||d(y.protocol)?"//":"");return y.username?(O+=y.username,y.password&&(O+=":"+y.password),O+="@"):y.password?(O+=":"+y.password,O+="@"):y.protocol!=="file:"&&d(y.protocol)&&!v&&y.pathname!=="/"&&(O+="@"),(v[v.length-1]===":"||r.test(y.hostname)&&!y.port)&&(v+=":"),O+=v+y.pathname,x=typeof y.query=="object"?h(y.query):y.query,x&&(O+=x.charAt(0)!=="?"?"?"+x:x),y.hash&&(O+=y.hash),O}_.prototype={set:P,toString:A},_.extractProtocol=E,_.location=l,_.trimLeft=k,_.qs=i,e.exports=_}}),Li=ia({"node_modules/psl/data/rules.json"(a,e){e.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"]}}),Ui=ia({"node_modules/psl/index.js"(a){var e=qe(),o={};o.rules=Li().map(function(i){return{rule:i,suffix:i.replace(/^(\*\.|\!)/,""),punySuffix:-1,wildcard:i.charAt(0)==="*",exception:i.charAt(0)==="!"}}),o.endsWith=function(i,t){return i.indexOf(t,i.length-t.length)!==-1},o.findRule=function(i){var t=e.toASCII(i);return o.rules.reduce(function(s,u){return u.punySuffix===-1&&(u.punySuffix=e.toASCII(u.suffix)),!o.endsWith(t,"."+u.punySuffix)&&t!==u.punySuffix?s:u},null)},a.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(i){var t=e.toASCII(i);if(t.length<1)return"DOMAIN_TOO_SHORT";if(t.length>255)return"DOMAIN_TOO_LONG";for(var s=t.split("."),u,r=0;r<s.length;++r){if(u=s[r],!u.length)return"LABEL_TOO_SHORT";if(u.length>63)return"LABEL_TOO_LONG";if(u.charAt(0)==="-")return"LABEL_STARTS_WITH_DASH";if(u.charAt(u.length-1)==="-")return"LABEL_ENDS_WITH_DASH";if(!/^[a-z0-9\-]+$/.test(u))return"LABEL_INVALID_CHARS"}},a.parse=function(i){if(typeof i!="string")throw new TypeError("Domain name must be a string.");var t=i.slice(0).toLowerCase();t.charAt(t.length-1)==="."&&(t=t.slice(0,t.length-1));var s=o.validate(t);if(s)return{input:i,error:{message:a.errorCodes[s],code:s}};var u={input:i,tld:null,sld:null,domain:null,subdomain:null,listed:!1},r=t.split(".");if(r[r.length-1]==="local")return u;var p=function(){return/xn--/.test(t)&&(u.domain&&(u.domain=e.toASCII(u.domain)),u.subdomain&&(u.subdomain=e.toASCII(u.subdomain))),u},z=o.findRule(t);if(!z)return r.length<2?u:(u.tld=r.pop(),u.sld=r.pop(),u.domain=[u.sld,u.tld].join("."),r.length&&(u.subdomain=r.pop()),p());u.listed=!0;var k=z.suffix.split("."),c=r.slice(0,r.length-k.length);return z.exception&&c.push(k.shift()),u.tld=k.join("."),!c.length||(z.wildcard&&(k.unshift(c.pop()),u.tld=k.join(".")),!c.length)||(u.sld=c.pop(),u.domain=[u.sld,u.tld].join("."),c.length&&(u.subdomain=c.join("."))),p()},a.get=function(i){return i&&a.parse(i).domain||null},a.isValid=function(i){var t=a.parse(i);return!!(t.domain&&t.listed)}}}),Be=ia({"node_modules/tough-cookie/lib/pubsuffix-psl.js"(a){var e=Ui(),o=["local","example","invalid","localhost","test"],i=["localhost","invalid"];function t(s,u={}){const r=s.split("."),p=r[r.length-1],z=!!u.allowSpecialUseDomain,k=!!u.ignoreError;if(z&&o.includes(p)){if(r.length>1)return`${r[r.length-2]}.${p}`;if(i.includes(p))return`${p}`}if(!k&&o.includes(p))throw new Error(`Cookie has domain set to the public suffix "${p}" which is a special use domain. To allow this, configure your CookieJar with {allowSpecialUseDomain:true, rejectPublicSuffixes: false}.`);return e.get(s)}a.getPublicSuffix=t}}),Le=ia({"node_modules/tough-cookie/lib/store.js"(a){var e=class{constructor(){this.synchronous=!1}findCookie(o,i,t,s){throw new Error("findCookie is not implemented")}findCookies(o,i,t,s){throw new Error("findCookies is not implemented")}putCookie(o,i){throw new Error("putCookie is not implemented")}updateCookie(o,i,t){throw new Error("updateCookie is not implemented")}removeCookie(o,i,t,s){throw new Error("removeCookie is not implemented")}removeCookies(o,i,t){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)")}};a.Store=e}}),Ue=ia({"node_modules/universalify/index.js"(a){a.fromCallback=function(e){return Object.defineProperty(function(){if(typeof arguments[arguments.length-1]=="function")e.apply(this,arguments);else return new Promise((o,i)=>{arguments[arguments.length]=(t,s)=>{if(t)return i(t);o(s)},arguments.length++,e.apply(this,arguments)})},"name",{value:e.name})},a.fromPromise=function(e){return Object.defineProperty(function(){const o=arguments[arguments.length-1];if(typeof o!="function")return e.apply(this,arguments);delete arguments[arguments.length-1],arguments.length--,e.apply(this,arguments).then(i=>o(null,i),o)},"name",{value:e.name})}}}),Ne=ia({"node_modules/tough-cookie/lib/permuteDomain.js"(a){var e=Be();function o(i,t){const s=e.getPublicSuffix(i,{allowSpecialUseDomain:t});if(!s)return null;if(s==i)return[i];i.slice(-1)=="."&&(i=i.slice(0,-1));const r=i.slice(0,-(s.length+1)).split(".").reverse();let p=s;const z=[p];for(;r.length;)p=`${r.shift()}.${p}`,z.push(p);return z}a.permuteDomain=o}}),$e=ia({"node_modules/tough-cookie/lib/pathMatch.js"(a){function e(o,i){return i===o||o.indexOf(i)===0&&(i.substr(-1)==="/"||o.substr(i.length,1)==="/")}a.pathMatch=e}}),Me=ia({"node_modules/tough-cookie/lib/utilHelper.js"(a){function e(){try{return Ti("util")}catch{return null}}function o(){return Symbol.for("nodejs.util.inspect.custom")}function i(t){const u=(t.requireUtil||e)();return u?u.inspect.custom:null}a.getUtilInspect=function(s,u={}){const p=(u.requireUtil||e)();return function(k,c,b){return p?p.inspect(k,c,b):s(k)}},a.getCustomInspectSymbol=function(s={}){return(s.lookupCustomInspectSymbol||o)()||i(s)}}}),Ni=ia({"node_modules/tough-cookie/lib/memstore.js"(a){var{fromCallback:e}=Ue(),o=Le().Store,i=Ne().permuteDomain,t=$e().pathMatch,{getCustomInspectSymbol:s,getUtilInspect:u}=Me(),r=class extends o{constructor(){super(),this.synchronous=!0,this.idx=Object.create(null);const c=s();c&&(this[c]=this.inspect)}inspect(){return`{ idx: ${{inspect:u(p)}.inspect(this.idx,!1,2)} }`}findCookie(c,b,l,d){return!this.idx[c]||!this.idx[c][b]?d(null,void 0):d(null,this.idx[c][b][l]||null)}findCookies(c,b,l,d){const E=[];if(typeof l=="function"&&(d=l,l=!0),!c)return d(null,[]);let S;b?S=function(h){Object.keys(h).forEach(x=>{if(t(b,x)){const y=h[x];for(const v in y)E.push(y[v])}})}:S=function(h){for(const x in h){const y=h[x];for(const v in y)E.push(y[v])}};const _=i(c,l)||[c],P=this.idx;_.forEach(A=>{const h=P[A];h&&S(h)}),d(null,E)}putCookie(c,b){this.idx[c.domain]||(this.idx[c.domain]=Object.create(null)),this.idx[c.domain][c.path]||(this.idx[c.domain][c.path]=Object.create(null)),this.idx[c.domain][c.path][c.key]=c,b(null)}updateCookie(c,b,l){this.putCookie(b,l)}removeCookie(c,b,l,d){this.idx[c]&&this.idx[c][b]&&this.idx[c][b][l]&&delete this.idx[c][b][l],d(null)}removeCookies(c,b,l){return this.idx[c]&&(b?delete this.idx[c][b]:delete this.idx[c]),l(null)}removeAllCookies(c){return this.idx=Object.create(null),c(null)}getAllCookies(c){const b=[],l=this.idx;Object.keys(l).forEach(E=>{Object.keys(l[E]).forEach(_=>{Object.keys(l[E][_]).forEach(A=>{A!==null&&b.push(l[E][_][A])})})}),b.sort((E,S)=>(E.creationIndex||0)-(S.creationIndex||0)),c(null,b)}};["findCookie","findCookies","putCookie","updateCookie","removeCookie","removeCookies","removeAllCookies","getAllCookies"].forEach(c=>{r.prototype[c]=e(r.prototype[c])}),a.MemoryCookieStore=r;function p(c){const b=Object.keys(c);if(b.length===0)return"[Object: null prototype] {}";let l=`[Object: null prototype] {
|
|
76
|
+
`;return Object.keys(c).forEach((d,E)=>{l+=z(d,c[d]),E<b.length-1&&(l+=","),l+=`
|
|
77
|
+
`}),l+="}",l}function z(c,b){const l=" ";let d=`${l}'${c}': [Object: null prototype] {
|
|
78
|
+
`;return Object.keys(b).forEach((E,S,_)=>{d+=k(E,b[E]),S<_.length-1&&(d+=","),d+=`
|
|
79
|
+
`}),d+=`${l}}`,d}function k(c,b){const l=" ";let d=`${l}'${c}': [Object: null prototype] {
|
|
80
|
+
`;return Object.keys(b).forEach((E,S,_)=>{const P=b[E];d+=` ${E}: ${P.inspect()}`,S<_.length-1&&(d+=","),d+=`
|
|
81
|
+
`}),d+=`${l}}`,d}a.inspectFallback=p}}),$i=ia({"node_modules/tough-cookie/lib/validators.js"(a){var e=Object.prototype.toString;function o(l){return typeof l=="function"}function i(l){return u(l)&&l!==""}function t(l){return p(l,Date)&&k(l.getTime())}function s(l){return l===""||l instanceof String&&l.toString()===""}function u(l){return typeof l=="string"||l instanceof String}function r(l){return e.call(l)==="[object Object]"}function p(l,d){try{return l instanceof d}catch{return!1}}function z(l){return i(l)||r(l)&&"hostname"in l&&"pathname"in l&&"protocol"in l||p(l,URL)}function k(l){return typeof l=="number"&&l%1===0}function c(l,d,E){if(o(d)||(E=d,d=null),r(E)||(E={Error:"Failed Check"}),!l)if(d)d(new b(E));else throw new b(E)}var b=class extends Error{constructor(...l){super(...l)}};a.ParameterError=b,a.isFunction=o,a.isNonEmptyString=i,a.isDate=t,a.isEmptyString=s,a.isString=u,a.isObject=r,a.isUrlStringOrObject=z,a.validate=c}}),Mi=ia({"node_modules/tough-cookie/lib/version.js"(a,e){e.exports="4.1.4"}}),Hi=ia({"node_modules/tough-cookie/lib/cookie.js"(a){var e=qe(),o=Bi(),i=Be(),t=Le().Store,s=Ni().MemoryCookieStore,u=$e().pathMatch,r=$i(),p=Mi(),{fromCallback:z}=Ue(),{getCustomInspectSymbol:k}=Me(),c=/^[\x21\x23-\x2B\x2D-\x3A\x3C-\x5B\x5D-\x7E]+$/,b=/[\x00-\x1F]/,l=[`
|
|
82
|
+
`,"\r","\0"],d=/[\x20-\x3A\x3C-\x7E]+/,E=/[\x09\x20-\x2F\x3B-\x40\x5B-\x60\x7B-\x7E]/,S={jan:0,feb:1,mar:2,apr:3,may:4,jun:5,jul:6,aug:7,sep:8,oct:9,nov:10,dec:11},_=2147483647e3,P=0,A='Invalid sameSiteContext option for getCookies(); expected one of "strict", "lax", or "none"';function h(g){r.validate(r.isNonEmptyString(g),g);const n=String(g).toLowerCase();return n==="none"||n==="lax"||n==="strict"?n:null}var x=Object.freeze({SILENT:"silent",STRICT:"strict",DISABLED:"unsafe-disabled"}),y=/(?:^(?: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}|:)))$)/,v=`
|
|
83
|
+
\\[?(?:
|
|
84
|
+
(?:[a-fA-F\\d]{1,4}:){7}(?:[a-fA-F\\d]{1,4}|:)|
|
|
85
|
+
(?:[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}|:)|
|
|
86
|
+
(?:[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}|:)|
|
|
87
|
+
(?:[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}|:)|
|
|
88
|
+
(?:[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}|:)|
|
|
89
|
+
(?:[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}|:)|
|
|
90
|
+
(?:[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}|:)|
|
|
91
|
+
(?::(?:(?::[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}|:))
|
|
92
|
+
)(?:%[0-9a-zA-Z]{1,})?\\]?
|
|
93
|
+
`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),T=new RegExp(`^${v}$`);function O(g,n,m,C){let j=0;for(;j<g.length;){const F=g.charCodeAt(j);if(F<=47||F>=58)break;j++}return j<n||j>m||!C&&j!=g.length?null:parseInt(g.substr(0,j),10)}function R(g){const n=g.split(":"),m=[0,0,0];if(n.length!==3)return null;for(let C=0;C<3;C++){const j=C==2,F=O(n[C],1,2,j);if(F===null)return null;m[C]=F}return m}function I(g){g=String(g).substr(0,3).toLowerCase();const n=S[g];return n>=0?n:null}function G(g){if(!g)return;const n=g.split(E);if(!n)return;let m=null,C=null,j=null,F=null,L=null,W=null;for(let X=0;X<n.length;X++){const Z=n[X].trim();if(!Z.length)continue;let U;if(j===null&&(U=R(Z),U)){m=U[0],C=U[1],j=U[2];continue}if(F===null&&(U=O(Z,1,2,!0),U!==null)){F=U;continue}if(L===null&&(U=I(Z),U!==null)){L=U;continue}W===null&&(U=O(Z,2,4,!0),U!==null&&(W=U,W>=70&&W<=99?W+=1900:W>=0&&W<=69&&(W+=2e3)))}if(!(F===null||L===null||W===null||j===null||F<1||F>31||W<1601||m>23||C>59||j>59))return new Date(Date.UTC(W,L,F,m,C,j))}function ta(g){return r.validate(r.isDate(g),g),g.toUTCString()}function na(g){return g==null?null:(g=g.trim().replace(/^\./,""),T.test(g)&&(g=g.replace("[","").replace("]","")),e&&/[^\u0001-\u007f]/.test(g)&&(g=e.toASCII(g)),g.toLowerCase())}function f(g,n,m){if(g==null||n==null)return null;if(m!==!1&&(g=na(g),n=na(n)),g==n)return!0;const C=g.lastIndexOf(n);return!(C<=0||g.length!==n.length+C||g.substr(C-1,1)!=="."||y.test(g))}function q(g){if(!g||g.substr(0,1)!=="/")return"/";if(g==="/")return g;const n=g.lastIndexOf("/");return n===0?"/":g.slice(0,n)}function Y(g){if(r.isEmptyString(g))return g;for(let n=0;n<l.length;n++){const m=g.indexOf(l[n]);m!==-1&&(g=g.substr(0,m))}return g}function M(g,n){g=Y(g),r.validate(r.isString(g),g);let m=g.indexOf("=");if(n)m===0&&(g=g.substr(1),m=g.indexOf("="));else if(m<=0)return;let C,j;if(m<=0?(C="",j=g.trim()):(C=g.substr(0,m).trim(),j=g.substr(m+1).trim()),b.test(C)||b.test(j))return;const F=new V;return F.key=C,F.value=j,F}function K(g,n){if((!n||typeof n!="object")&&(n={}),r.isEmptyString(g)||!r.isString(g))return null;g=g.trim();const m=g.indexOf(";"),C=m===-1?g:g.substr(0,m),j=M(C,!!n.loose);if(!j)return;if(m===-1)return j;const F=g.slice(m+1).trim();if(F.length===0)return j;const L=F.split(";");for(;L.length;){const W=L.shift().trim();if(W.length===0)continue;const X=W.indexOf("=");let Z,U;switch(X===-1?(Z=W,U=null):(Z=W.substr(0,X),U=W.substr(X+1)),Z=Z.trim().toLowerCase(),U&&(U=U.trim()),Z){case"expires":if(U){const ca=G(U);ca&&(j.expires=ca)}break;case"max-age":if(U&&/^-?[0-9]+$/.test(U)){const ca=parseInt(U,10);j.setMaxAge(ca)}break;case"domain":if(U){const ca=U.trim().replace(/^\./,"");ca&&(j.domain=ca.toLowerCase())}break;case"path":j.path=U&&U[0]==="/"?U:null;break;case"secure":j.secure=!0;break;case"httponly":j.httpOnly=!0;break;case"samesite":switch(U?U.toLowerCase():""){case"strict":j.sameSite="strict";break;case"lax":j.sameSite="lax";break;case"none":j.sameSite="none";break;default:j.sameSite=void 0;break}break;default:j.extensions=j.extensions||[],j.extensions.push(W);break}}return j}function Q(g){return r.validate(r.isObject(g),g),!g.key.startsWith("__Secure-")||g.secure}function w(g){return r.validate(r.isObject(g)),!g.key.startsWith("__Host-")||g.secure&&g.hostOnly&&g.path!=null&&g.path==="/"}function D(g){let n;try{n=JSON.parse(g)}catch(m){return m}return n}function B(g){if(!g||r.isEmptyString(g))return null;let n;if(typeof g=="string"){if(n=D(g),n instanceof Error)return null}else n=g;const m=new V;for(let C=0;C<V.serializableProperties.length;C++){const j=V.serializableProperties[C];n[j]===void 0||n[j]===$[j]||(j==="expires"||j==="creation"||j==="lastAccessed"?n[j]===null?m[j]=null:m[j]=n[j]=="Infinity"?"Infinity":new Date(n[j]):m[j]=n[j])}return m}function H(g,n){r.validate(r.isObject(g),g),r.validate(r.isObject(n),n);let m=0;const C=g.path?g.path.length:0;if(m=(n.path?n.path.length:0)-C,m!==0)return m;const F=g.creation?g.creation.getTime():_,L=n.creation?n.creation.getTime():_;return m=F-L,m!==0||(m=g.creationIndex-n.creationIndex),m}function ea(g){if(r.validate(r.isString(g)),g==="/")return["/"];const n=[g];for(;g.length>1;){const m=g.lastIndexOf("/");if(m===0)break;g=g.substr(0,m),n.push(g)}return n.push("/"),n}function oa(g){if(g instanceof Object)return g;try{g=decodeURI(g)}catch{}return o(g)}var $={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},V=class Ia{constructor(n={}){const m=k();m&&(this[m]=this.inspect),Object.assign(this,$,n),this.creation=this.creation||new Date,Object.defineProperty(this,"creationIndex",{configurable:!1,enumerable:!1,writable:!0,value:++Ia.cookiesCreated})}inspect(){const n=Date.now(),m=this.hostOnly!=null?this.hostOnly:"?",C=this.creation?`${n-this.creation.getTime()}ms`:"?",j=this.lastAccessed?`${n-this.lastAccessed.getTime()}ms`:"?";return`Cookie="${this.toString()}; hostOnly=${m}; aAge=${j}; cAge=${C}"`}toJSON(){const n={};for(const m of Ia.serializableProperties)this[m]!==$[m]&&(m==="expires"||m==="creation"||m==="lastAccessed"?this[m]===null?n[m]=null:n[m]=this[m]=="Infinity"?"Infinity":this[m].toISOString():m==="maxAge"?this[m]!==null&&(n[m]=this[m]==1/0||this[m]==-1/0?this[m].toString():this[m]):this[m]!==$[m]&&(n[m]=this[m]));return n}clone(){return B(this.toJSON())}validate(){if(!c.test(this.value)||this.expires!=1/0&&!(this.expires instanceof Date)&&!G(this.expires)||this.maxAge!=null&&this.maxAge<=0||this.path!=null&&!d.test(this.path))return!1;const n=this.cdomain();return!(n&&(n.match(/\.$/)||i.getPublicSuffix(n)==null))}setExpires(n){n instanceof Date?this.expires=n:this.expires=G(n)||"Infinity"}setMaxAge(n){n===1/0||n===-1/0?this.maxAge=n.toString():this.maxAge=n}cookieString(){let n=this.value;return n==null&&(n=""),this.key===""?n:`${this.key}=${n}`}toString(){let n=this.cookieString();if(this.expires!=1/0&&(this.expires instanceof Date?n+=`; Expires=${ta(this.expires)}`:n+=`; Expires=${this.expires}`),this.maxAge!=null&&this.maxAge!=1/0&&(n+=`; Max-Age=${this.maxAge}`),this.domain&&!this.hostOnly&&(n+=`; Domain=${this.domain}`),this.path&&(n+=`; Path=${this.path}`),this.secure&&(n+="; Secure"),this.httpOnly&&(n+="; HttpOnly"),this.sameSite&&this.sameSite!=="none"){const m=Ia.sameSiteCanonical[this.sameSite.toLowerCase()];n+=`; SameSite=${m||this.sameSite}`}return this.extensions&&this.extensions.forEach(m=>{n+=`; ${m}`}),n}TTL(n){if(this.maxAge!=null)return this.maxAge<=0?0:this.maxAge*1e3;let m=this.expires;return m!=1/0?(m instanceof Date||(m=G(m)||1/0),m==1/0?1/0:m.getTime()-(n||Date.now())):1/0}expiryTime(n){if(this.maxAge!=null){const m=n||this.creation||new Date,C=this.maxAge<=0?-1/0:this.maxAge*1e3;return m.getTime()+C}return this.expires==1/0?1/0:this.expires.getTime()}expiryDate(n){const m=this.expiryTime(n);return m==1/0?new Date(_):m==-1/0?new Date(P):new Date(m)}isPersistent(){return this.maxAge!=null||this.expires!=1/0}canonicalizedDomain(){return this.domain==null?null:na(this.domain)}cdomain(){return this.canonicalizedDomain()}};V.cookiesCreated=0,V.parse=K,V.fromJSON=B,V.serializableProperties=Object.keys($),V.sameSiteLevel={strict:3,lax:2,none:1},V.sameSiteCanonical={strict:"Strict",lax:"Lax"};function ra(g){if(g!=null){const n=g.toLowerCase();switch(n){case x.STRICT:case x.SILENT:case x.DISABLED:return n}}return x.SILENT}var ua=class Pa{constructor(n,m={rejectPublicSuffixes:!0}){typeof m=="boolean"&&(m={rejectPublicSuffixes:m}),r.validate(r.isObject(m),m),this.rejectPublicSuffixes=m.rejectPublicSuffixes,this.enableLooseMode=!!m.looseMode,this.allowSpecialUseDomain=typeof m.allowSpecialUseDomain=="boolean"?m.allowSpecialUseDomain:!0,this.store=n||new s,this.prefixSecurity=ra(m.prefixSecurity),this._cloneSync=pa("clone"),this._importCookiesSync=pa("_importCookies"),this.getCookiesSync=pa("getCookies"),this.getCookieStringSync=pa("getCookieString"),this.getSetCookieStringsSync=pa("getSetCookieStrings"),this.removeAllCookiesSync=pa("removeAllCookies"),this.setCookieSync=pa("setCookie"),this.serializeSync=pa("serialize")}setCookie(n,m,C,j){r.validate(r.isUrlStringOrObject(m),j,C);let F;if(r.isFunction(m))return j=m,j(new Error("No URL was specified"));const L=oa(m);if(r.isFunction(C)&&(j=C,C={}),r.validate(r.isFunction(j),j),!r.isNonEmptyString(n)&&!r.isObject(n)&&n instanceof String&&n.length==0)return j(null);const W=na(L.hostname),X=C.loose||this.enableLooseMode;let Z=null;if(C.sameSiteContext&&(Z=h(C.sameSiteContext),!Z))return j(new Error(A));if(typeof n=="string"||n instanceof String){if(n=V.parse(n,{loose:X}),!n)return F=new Error("Cookie failed to parse"),j(C.ignoreError?null:F)}else if(!(n instanceof V))return F=new Error("First argument to setCookie must be a Cookie object or string"),j(C.ignoreError?null:F);const U=C.now||new Date;if(this.rejectPublicSuffixes&&n.domain&&i.getPublicSuffix(n.cdomain(),{allowSpecialUseDomain:this.allowSpecialUseDomain,ignoreError:C.ignoreError})==null&&!T.test(n.domain))return F=new Error("Cookie has domain set to a public suffix"),j(C.ignoreError?null:F);if(n.domain){if(!f(W,n.cdomain(),!1))return F=new Error(`Cookie not in this host's domain. Cookie:${n.cdomain()} Request:${W}`),j(C.ignoreError?null:F);n.hostOnly==null&&(n.hostOnly=!1)}else n.hostOnly=!0,n.domain=W;if((!n.path||n.path[0]!=="/")&&(n.path=q(L.pathname),n.pathIsDefault=!0),C.http===!1&&n.httpOnly)return F=new Error("Cookie is HttpOnly and this isn't an HTTP API"),j(C.ignoreError?null:F);if(n.sameSite!=="none"&&n.sameSite!==void 0&&Z&&Z==="none")return F=new Error("Cookie is SameSite but this is a cross-origin request"),j(C.ignoreError?null:F);const Aa=this.prefixSecurity===x.SILENT;if(!(this.prefixSecurity===x.DISABLED)){let J=!1,aa;if(Q(n)?w(n)||(J=!0,aa="Cookie has __Host prefix but either Secure or HostOnly attribute is not set or Path is not '/'"):(J=!0,aa="Cookie has __Secure prefix but Secure attribute is not set"),J)return j(C.ignoreError||Aa?null:new Error(aa))}const da=this.store;da.updateCookie||(da.updateCookie=function(J,aa,ja){this.putCookie(aa,ja)});function qa(J,aa){if(J)return j(J);const ja=function(Oa){if(Oa)return j(Oa);j(null,n)};if(aa){if(C.http===!1&&aa.httpOnly)return J=new Error("old Cookie is HttpOnly and this isn't an HTTP API"),j(C.ignoreError?null:J);n.creation=aa.creation,n.creationIndex=aa.creationIndex,n.lastAccessed=U,da.updateCookie(aa,n,ja)}else n.creation=n.lastAccessed=U,da.putCookie(n,ja)}da.findCookie(n.domain,n.path,n.key,qa)}getCookies(n,m,C){r.validate(r.isUrlStringOrObject(n),C,n);const j=oa(n);r.isFunction(m)&&(C=m,m={}),r.validate(r.isObject(m),C,m),r.validate(r.isFunction(C),C);const F=na(j.hostname),L=j.pathname||"/";let W=m.secure;W==null&&j.protocol&&(j.protocol=="https:"||j.protocol=="wss:")&&(W=!0);let X=0;if(m.sameSiteContext){const J=h(m.sameSiteContext);if(X=V.sameSiteLevel[J],!X)return C(new Error(A))}let Z=m.http;Z==null&&(Z=!0);const U=m.now||Date.now(),Aa=m.expire!==!1,ca=!!m.allPaths,da=this.store;function qa(J){if(J.hostOnly){if(J.domain!=F)return!1}else if(!f(F,J.domain,!1))return!1;return!ca&&!u(L,J.path)||J.secure&&!W||J.httpOnly&&!Z||X&&V.sameSiteLevel[J.sameSite||"none"]>X?!1:Aa&&J.expiryTime()<=U?(da.removeCookie(J.domain,J.path,J.key,()=>{}),!1):!0}da.findCookies(F,ca?null:L,this.allowSpecialUseDomain,(J,aa)=>{if(J)return C(J);aa=aa.filter(qa),m.sort!==!1&&(aa=aa.sort(H));const ja=new Date;for(const Oa of aa)Oa.lastAccessed=ja;C(null,aa)})}getCookieString(...n){const m=n.pop();r.validate(r.isFunction(m),m);const C=function(j,F){j?m(j):m(null,F.sort(H).map(L=>L.cookieString()).join("; "))};n.push(C),this.getCookies.apply(this,n)}getSetCookieStrings(...n){const m=n.pop();r.validate(r.isFunction(m),m);const C=function(j,F){j?m(j):m(null,F.map(L=>L.toString()))};n.push(C),this.getCookies.apply(this,n)}serialize(n){r.validate(r.isFunction(n),n);let m=this.store.constructor.name;r.isObject(m)&&(m=null);const C={version:`tough-cookie@${p}`,storeType:m,rejectPublicSuffixes:!!this.rejectPublicSuffixes,enableLooseMode:!!this.enableLooseMode,allowSpecialUseDomain:!!this.allowSpecialUseDomain,prefixSecurity:ra(this.prefixSecurity),cookies:[]};if(!(this.store.getAllCookies&&typeof this.store.getAllCookies=="function"))return n(new Error("store does not support getAllCookies and cannot be serialized"));this.store.getAllCookies((j,F)=>j?n(j):(C.cookies=F.map(L=>(L=L instanceof V?L.toJSON():L,delete L.creationIndex,L)),n(null,C)))}toJSON(){return this.serializeSync()}_importCookies(n,m){let C=n.cookies;if(!C||!Array.isArray(C))return m(new Error("serialized jar has no cookies array"));C=C.slice();const j=F=>{if(F)return m(F);if(!C.length)return m(F,this);let L;try{L=B(C.shift())}catch(W){return m(W)}if(L===null)return j(null);this.store.putCookie(L,j)};j()}clone(n,m){arguments.length===1&&(m=n,n=null),this.serialize((C,j)=>{if(C)return m(C);Pa.deserialize(j,n,m)})}cloneSync(n){if(arguments.length===0)return this._cloneSync();if(!n.synchronous)throw new Error("CookieJar clone destination store is not synchronous; use async API instead.");return this._cloneSync(n)}removeAllCookies(n){r.validate(r.isFunction(n),n);const m=this.store;if(typeof m.removeAllCookies=="function"&&m.removeAllCookies!==t.prototype.removeAllCookies)return m.removeAllCookies(n);m.getAllCookies((C,j)=>{if(C)return n(C);if(j.length===0)return n(null);let F=0;const L=[];function W(X){if(X&&L.push(X),F++,F===j.length)return n(L.length?L[0]:null)}j.forEach(X=>{m.removeCookie(X.domain,X.path,X.key,W)})})}static deserialize(n,m,C){arguments.length!==3&&(C=m,m=null),r.validate(r.isFunction(C),C);let j;if(typeof n=="string"){if(j=D(n),j instanceof Error)return C(j)}else j=n;const F=new Pa(m,{rejectPublicSuffixes:j.rejectPublicSuffixes,looseMode:j.enableLooseMode,allowSpecialUseDomain:j.allowSpecialUseDomain,prefixSecurity:j.prefixSecurity});F._importCookies(j,L=>{if(L)return C(L);C(null,F)})}static deserializeSync(n,m){const C=typeof n=="string"?JSON.parse(n):n,j=new Pa(m,{rejectPublicSuffixes:C.rejectPublicSuffixes,looseMode:C.enableLooseMode});if(!j.store.synchronous)throw new Error("CookieJar store is not synchronous; use async API instead.");return j._importCookiesSync(C),j}};ua.fromJSON=ua.deserializeSync,["_importCookies","clone","getCookies","getCookieString","getSetCookieStrings","removeAllCookies","serialize","setCookie"].forEach(g=>{ua.prototype[g]=z(ua.prototype[g])}),ua.deserialize=z(ua.deserialize);function pa(g){return function(...n){if(!this.store.synchronous)throw new Error("CookieJar store is not synchronous; use async API instead.");let m,C;if(this[g](...n,(j,F)=>{m=j,C=F}),m)throw m;return C}}a.version=p,a.CookieJar=ua,a.Cookie=V,a.Store=t,a.MemoryCookieStore=s,a.parseDate=G,a.formatDate=ta,a.parse=K,a.fromJSON=B,a.domainMatch=f,a.defaultPath=q,a.pathMatch=u,a.getPublicSuffix=i.getPublicSuffix,a.cookieCompare=H,a.permuteDomain=Ne().permuteDomain,a.permutePath=ea,a.canonicalDomain=na,a.PrefixSecurityEnum=x,a.ParameterError=r.ParameterError}}),Vi=Ii(Hi()),Wi=Vi.default;/*! Bundled license information:
|
|
94
|
+
|
|
95
|
+
tough-cookie/lib/pubsuffix-psl.js:
|
|
96
|
+
(*!
|
|
97
|
+
* Copyright (c) 2018, Salesforce.com, Inc.
|
|
98
|
+
* All rights reserved.
|
|
99
|
+
*
|
|
100
|
+
* Redistribution and use in source and binary forms, with or without
|
|
101
|
+
* modification, are permitted provided that the following conditions are met:
|
|
102
|
+
*
|
|
103
|
+
* 1. Redistributions of source code must retain the above copyright notice,
|
|
104
|
+
* this list of conditions and the following disclaimer.
|
|
105
|
+
*
|
|
106
|
+
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
107
|
+
* this list of conditions and the following disclaimer in the documentation
|
|
108
|
+
* and/or other materials provided with the distribution.
|
|
109
|
+
*
|
|
110
|
+
* 3. Neither the name of Salesforce.com nor the names of its contributors may
|
|
111
|
+
* be used to endorse or promote products derived from this software without
|
|
112
|
+
* specific prior written permission.
|
|
113
|
+
*
|
|
114
|
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
115
|
+
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
116
|
+
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
117
|
+
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
118
|
+
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
119
|
+
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
120
|
+
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
121
|
+
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
122
|
+
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
123
|
+
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
124
|
+
* POSSIBILITY OF SUCH DAMAGE.
|
|
125
|
+
*)
|
|
126
|
+
|
|
127
|
+
tough-cookie/lib/store.js:
|
|
128
|
+
(*!
|
|
129
|
+
* Copyright (c) 2015, Salesforce.com, Inc.
|
|
130
|
+
* All rights reserved.
|
|
131
|
+
*
|
|
132
|
+
* Redistribution and use in source and binary forms, with or without
|
|
133
|
+
* modification, are permitted provided that the following conditions are met:
|
|
134
|
+
*
|
|
135
|
+
* 1. Redistributions of source code must retain the above copyright notice,
|
|
136
|
+
* this list of conditions and the following disclaimer.
|
|
137
|
+
*
|
|
138
|
+
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
139
|
+
* this list of conditions and the following disclaimer in the documentation
|
|
140
|
+
* and/or other materials provided with the distribution.
|
|
141
|
+
*
|
|
142
|
+
* 3. Neither the name of Salesforce.com nor the names of its contributors may
|
|
143
|
+
* be used to endorse or promote products derived from this software without
|
|
144
|
+
* specific prior written permission.
|
|
145
|
+
*
|
|
146
|
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
147
|
+
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
148
|
+
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
149
|
+
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
150
|
+
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
151
|
+
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
152
|
+
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
153
|
+
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
154
|
+
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
155
|
+
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
156
|
+
* POSSIBILITY OF SUCH DAMAGE.
|
|
157
|
+
*)
|
|
158
|
+
|
|
159
|
+
tough-cookie/lib/permuteDomain.js:
|
|
160
|
+
(*!
|
|
161
|
+
* Copyright (c) 2015, Salesforce.com, Inc.
|
|
162
|
+
* All rights reserved.
|
|
163
|
+
*
|
|
164
|
+
* Redistribution and use in source and binary forms, with or without
|
|
165
|
+
* modification, are permitted provided that the following conditions are met:
|
|
166
|
+
*
|
|
167
|
+
* 1. Redistributions of source code must retain the above copyright notice,
|
|
168
|
+
* this list of conditions and the following disclaimer.
|
|
169
|
+
*
|
|
170
|
+
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
171
|
+
* this list of conditions and the following disclaimer in the documentation
|
|
172
|
+
* and/or other materials provided with the distribution.
|
|
173
|
+
*
|
|
174
|
+
* 3. Neither the name of Salesforce.com nor the names of its contributors may
|
|
175
|
+
* be used to endorse or promote products derived from this software without
|
|
176
|
+
* specific prior written permission.
|
|
177
|
+
*
|
|
178
|
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
179
|
+
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
180
|
+
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
181
|
+
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
182
|
+
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
183
|
+
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
184
|
+
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
185
|
+
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
186
|
+
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
187
|
+
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
188
|
+
* POSSIBILITY OF SUCH DAMAGE.
|
|
189
|
+
*)
|
|
190
|
+
|
|
191
|
+
tough-cookie/lib/pathMatch.js:
|
|
192
|
+
(*!
|
|
193
|
+
* Copyright (c) 2015, Salesforce.com, Inc.
|
|
194
|
+
* All rights reserved.
|
|
195
|
+
*
|
|
196
|
+
* Redistribution and use in source and binary forms, with or without
|
|
197
|
+
* modification, are permitted provided that the following conditions are met:
|
|
198
|
+
*
|
|
199
|
+
* 1. Redistributions of source code must retain the above copyright notice,
|
|
200
|
+
* this list of conditions and the following disclaimer.
|
|
201
|
+
*
|
|
202
|
+
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
203
|
+
* this list of conditions and the following disclaimer in the documentation
|
|
204
|
+
* and/or other materials provided with the distribution.
|
|
205
|
+
*
|
|
206
|
+
* 3. Neither the name of Salesforce.com nor the names of its contributors may
|
|
207
|
+
* be used to endorse or promote products derived from this software without
|
|
208
|
+
* specific prior written permission.
|
|
209
|
+
*
|
|
210
|
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
211
|
+
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
212
|
+
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
213
|
+
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
214
|
+
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
215
|
+
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
216
|
+
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
217
|
+
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
218
|
+
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
219
|
+
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
220
|
+
* POSSIBILITY OF SUCH DAMAGE.
|
|
221
|
+
*)
|
|
222
|
+
|
|
223
|
+
tough-cookie/lib/memstore.js:
|
|
224
|
+
(*!
|
|
225
|
+
* Copyright (c) 2015, Salesforce.com, Inc.
|
|
226
|
+
* All rights reserved.
|
|
227
|
+
*
|
|
228
|
+
* Redistribution and use in source and binary forms, with or without
|
|
229
|
+
* modification, are permitted provided that the following conditions are met:
|
|
230
|
+
*
|
|
231
|
+
* 1. Redistributions of source code must retain the above copyright notice,
|
|
232
|
+
* this list of conditions and the following disclaimer.
|
|
233
|
+
*
|
|
234
|
+
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
235
|
+
* this list of conditions and the following disclaimer in the documentation
|
|
236
|
+
* and/or other materials provided with the distribution.
|
|
237
|
+
*
|
|
238
|
+
* 3. Neither the name of Salesforce.com nor the names of its contributors may
|
|
239
|
+
* be used to endorse or promote products derived from this software without
|
|
240
|
+
* specific prior written permission.
|
|
241
|
+
*
|
|
242
|
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
243
|
+
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
244
|
+
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
245
|
+
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
246
|
+
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
247
|
+
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
248
|
+
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
249
|
+
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
250
|
+
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
251
|
+
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
252
|
+
* POSSIBILITY OF SUCH DAMAGE.
|
|
253
|
+
*)
|
|
254
|
+
|
|
255
|
+
tough-cookie/lib/cookie.js:
|
|
256
|
+
(*!
|
|
257
|
+
* Copyright (c) 2015-2020, Salesforce.com, Inc.
|
|
258
|
+
* All rights reserved.
|
|
259
|
+
*
|
|
260
|
+
* Redistribution and use in source and binary forms, with or without
|
|
261
|
+
* modification, are permitted provided that the following conditions are met:
|
|
262
|
+
*
|
|
263
|
+
* 1. Redistributions of source code must retain the above copyright notice,
|
|
264
|
+
* this list of conditions and the following disclaimer.
|
|
265
|
+
*
|
|
266
|
+
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
267
|
+
* this list of conditions and the following disclaimer in the documentation
|
|
268
|
+
* and/or other materials provided with the distribution.
|
|
269
|
+
*
|
|
270
|
+
* 3. Neither the name of Salesforce.com nor the names of its contributors may
|
|
271
|
+
* be used to endorse or promote products derived from this software without
|
|
272
|
+
* specific prior written permission.
|
|
273
|
+
*
|
|
274
|
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
275
|
+
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
276
|
+
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
277
|
+
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
278
|
+
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
279
|
+
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
280
|
+
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
281
|
+
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
282
|
+
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
283
|
+
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
284
|
+
* POSSIBILITY OF SUCH DAMAGE.
|
|
285
|
+
*)
|
|
286
|
+
*/const{Cookie:Ji,CookieJar:Gi,Store:Ki,MemoryCookieStore:Yi,domainMatch:Xi,pathMatch:Zi}=Wi;class Qi extends Ki{constructor(){super();ma(this,"storage");ma(this,"storageKey");Za(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,i,t,s){try{const u=this.getStore(),r=this.filterCookiesFromList(u,{domain:o,path:i,key:t});s(null,r[0]||null)}catch(u){u instanceof Error&&s(u,null)}}findCookies(o,i,t,s){if(!o){s(null,[]);return}try{const u=this.getStore(),r=this.filterCookiesFromList(u,{domain:o,path:i});s(null,r)}catch(u){u instanceof Error&&s(u,[])}}putCookie(o,i){try{if(o.maxAge===0)return;const t=this.getStore();t.push(o),this.updateStore(t)}catch(t){t instanceof Error&&i(t)}}updateCookie(o,i,t){if(i.maxAge===0){this.removeCookie(i.domain||"",i.path||"",i.key,t);return}this.putCookie(i,t)}removeCookie(o,i,t,s){try{const u=this.getStore(),r=this.deleteCookiesFromList(u,{domain:o,path:i,key:t});this.updateStore(r),s(null)}catch(u){u instanceof Error&&s(u)}}removeCookies(o,i,t){try{const s=this.getStore(),u=this.deleteCookiesFromList(s,{domain:o,path:i});this.updateStore(u),t(null)}catch(s){s instanceof Error&&t(s)}}getAllCookies(o){try{o(null,this.getStore())}catch(i){i instanceof Error&&o(i,[])}}getStore(){try{const o=this.storage.getItem(this.storageKey);if(o==null)return[];const i=JSON.parse(o),t=[];for(const s of i){const u=Ji.fromJSON(s);u!=null&&t.push(u)}return t}catch{return[]}}updateStore(o){this.storage.setItem(this.storageKey,JSON.stringify(o.map(i=>i.toJSON())))}filterCookiesFromList(o,i){const t=[];for(const s of o)i.domain&&!Xi(i.domain,s.domain||"")||i.path&&!Zi(i.path,s.path||"")||i.key&&s.key!==i.key||t.push(s);return t}deleteCookiesFromList(o,i){const t=this.filterCookiesFromList(o,i);return o.filter(s=>!t.includes(s))}}const at=Oe()?new Yi:new Qi,et=new Gi(at);function He(a){const e=Re.parse(a),o={};for(const i in e)typeof e[i]<"u"&&(o[i]=e[i]);return o}function de(){return He(document.cookie)}function ot(a){if(typeof document>"u"||typeof location>"u")return{};switch(a.credentials){case"same-origin":{const e=new URL(a.url);return location.origin===e.origin?de():{}}case"include":return de();default:return{}}}function it(a){const e=a.headers.get("cookie"),o=e?He(e):{},i=ot(a);for(const u in i)a.headers.append("cookie",Re.serialize(u,i[u]));const t=et.getCookiesSync(a.url),s=Object.fromEntries(t.map(u=>[u.key,u.value]));for(const u of t)a.headers.append("cookie",u.toString());return{...i,...s,...o}}var ga=(a=>(a.HEAD="HEAD",a.GET="GET",a.POST="POST",a.PUT="PUT",a.PATCH="PATCH",a.OPTIONS="OPTIONS",a.DELETE="DELETE",a))(ga||{});class tt extends Ya{constructor(e,o,i,t){super({info:{header:`${e} ${o}`,path:o,method:e},resolver:i,options:t}),this.checkRedundantQueryParameters()}checkRedundantQueryParameters(){const{method:e,path:o}=this.info;if(o instanceof RegExp||Fe(o)===o)return;di(o).forEach((s,u)=>{}),Ka.warn(`Found a redundant usage of query parameters in the request handler URL for "${e} ${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(e){var s;const o=new URL(e.request.url),i=ji(o,this.info.path,(s=e.resolutionContext)==null?void 0:s.baseUrl),t=it(e.request);return{match:i,cookies:t}}predicate(e){const o=this.matchMethod(e.request.method),i=e.parsedResult.match.matches;return o&&i}matchMethod(e){return this.info.method instanceof RegExp?this.info.method.test(e):Ro(this.info.method,e)}extendResolverArgs(e){var o;return{params:((o=e.parsedResult.match)==null?void 0:o.params)||{},cookies:e.parsedResult.cookies}}async log(e){const o=bi(e.request.url),i=await qo(e.request),t=await Go(e.response),s=Io(t.status);console.groupCollapsed(Ka.formatMessage(`${Po()} ${e.request.method} ${o} (%c${t.status} ${t.statusText}%c)`),`color:${s}`,"color:inherit"),console.log("Request",i),console.log("Handler:",this),console.log("Response",t),console.groupEnd()}}function ha(a){return(e,o,i={})=>new tt(a,e,o,i)}const za={all:ha(/.+/),head:ha(ga.HEAD),get:ha(ga.GET),post:ha(ga.POST),put:ha(ga.PUT),delete:ha(ga.DELETE),patch:ha(ga.PATCH),options:ha(ga.OPTIONS)};var nt=Object.create,Ve=Object.defineProperty,st=Object.getOwnPropertyDescriptor,We=Object.getOwnPropertyNames,rt=Object.getPrototypeOf,ut=Object.prototype.hasOwnProperty,mt=(a,e)=>function(){return e||(0,a[We(a)[0]])((e={exports:{}}).exports,e),e.exports},ct=(a,e,o,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of We(e))!ut.call(a,t)&&t!==o&&Ve(a,t,{get:()=>e[t],enumerable:!(i=st(e,t))||i.enumerable});return a},lt=(a,e,o)=>(o=a!=null?nt(rt(a)):{},ct(!a||!a.__esModule?Ve(o,"default",{value:a,enumerable:!0}):o,a)),pt=mt({"node_modules/set-cookie-parser/lib/set-cookie.js"(a,e){var o={decodeValues:!0,map:!1,silent:!1};function i(p){return typeof p=="string"&&!!p.trim()}function t(p,z){var k=p.split(";").filter(i),c=k.shift(),b=s(c),l=b.name,d=b.value;z=z?Object.assign({},o,z):o;try{d=z.decodeValues?decodeURIComponent(d):d}catch(S){console.error("set-cookie-parser encountered an error while decoding a cookie with value '"+d+"'. Set options.decodeValues to false to disable this feature.",S)}var E={name:l,value:d};return k.forEach(function(S){var _=S.split("="),P=_.shift().trimLeft().toLowerCase(),A=_.join("=");P==="expires"?E.expires=new Date(A):P==="max-age"?E.maxAge=parseInt(A,10):P==="secure"?E.secure=!0:P==="httponly"?E.httpOnly=!0:P==="samesite"?E.sameSite=A:E[P]=A}),E}function s(p){var z="",k="",c=p.split("=");return c.length>1?(z=c.shift(),k=c.join("=")):k=p,{name:z,value:k}}function u(p,z){if(z=z?Object.assign({},o,z):o,!p)return z.map?{}:[];if(p.headers)if(typeof p.headers.getSetCookie=="function")p=p.headers.getSetCookie();else if(p.headers["set-cookie"])p=p.headers["set-cookie"];else{var k=p.headers[Object.keys(p.headers).find(function(b){return b.toLowerCase()==="set-cookie"})];!k&&p.headers.cookie&&!z.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."),p=k}if(Array.isArray(p)||(p=[p]),z=z?Object.assign({},o,z):o,z.map){var c={};return p.filter(i).reduce(function(b,l){var d=t(l,z);return b[d.name]=d,b},c)}else return p.filter(i).map(function(b){return t(b,z)})}function r(p){if(Array.isArray(p))return p;if(typeof p!="string")return[];var z=[],k=0,c,b,l,d,E;function S(){for(;k<p.length&&/\s/.test(p.charAt(k));)k+=1;return k<p.length}function _(){return b=p.charAt(k),b!=="="&&b!==";"&&b!==","}for(;k<p.length;){for(c=k,E=!1;S();)if(b=p.charAt(k),b===","){for(l=k,k+=1,S(),d=k;k<p.length&&_();)k+=1;k<p.length&&p.charAt(k)==="="?(E=!0,k=d,z.push(p.substring(c,l)),c=k):k=l+1}else k+=1;(!E||k>=p.length)&&z.push(p.substring(c,p.length))}return z}e.exports=u,e.exports.parse=u,e.exports.parseString=t,e.exports.splitCookiesString=r}}),dt=lt(pt()),ht=/[^a-z0-9\-#$%&'*+.^_`|~]/i;function Ea(a){if(ht.test(a)||a.trim()==="")throw new TypeError("Invalid character in header field name");return a.trim().toLowerCase()}var he=[`
|
|
287
|
+
`,"\r"," "," "],gt=new RegExp(`(^[${he.join("")}]|$[${he.join("")}])`,"g");function Ja(a){return a.replace(gt,"")}function Sa(a){if(typeof a!="string"||a.length===0)return!1;for(let e=0;e<a.length;e++){const o=a.charCodeAt(e);if(o>127||!kt(o))return!1}return!0}function kt(a){return![127,32,"(",")","<",">","@",",",";",":","\\",'"',"/","[","]","?","=","{","}"].includes(a)}function ge(a){if(typeof a!="string"||a.trim()!==a)return!1;for(let e=0;e<a.length;e++){const o=a.charCodeAt(e);if(o===0||o===10||o===13)return!1}return!0}var ya=Symbol("normalizedHeaders"),Ga=Symbol("rawHeaderNames"),ke=", ",fe,je,be,ft=class Je{constructor(e){this[fe]={},this[je]=new Map,this[be]="Headers",["Headers","HeadersPolyfill"].includes(e==null?void 0:e.constructor.name)||e instanceof Je||typeof globalThis.Headers<"u"&&e instanceof globalThis.Headers?e.forEach((i,t)=>{this.append(t,i)},this):Array.isArray(e)?e.forEach(([o,i])=>{this.append(o,Array.isArray(i)?i.join(ke):i)}):e&&Object.getOwnPropertyNames(e).forEach(o=>{const i=e[o];this.append(o,Array.isArray(i)?i.join(ke):i)})}[(fe=ya,je=Ga,be=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}*keys(){for(const[e]of this.entries())yield e}*values(){for(const[,e]of this.entries())yield e}*entries(){let e=Object.keys(this[ya]).sort((o,i)=>o.localeCompare(i));for(const o of e)if(o==="set-cookie")for(const i of this.getSetCookie())yield[o,i];else yield[o,this.get(o)]}has(e){if(!Sa(e))throw new TypeError(`Invalid header name "${e}"`);return this[ya].hasOwnProperty(Ea(e))}get(e){if(!Sa(e))throw TypeError(`Invalid header name "${e}"`);return this[ya][Ea(e)]??null}set(e,o){if(!Sa(e)||!ge(o))return;const i=Ea(e),t=Ja(o);this[ya][i]=Ja(t),this[Ga].set(i,e)}append(e,o){if(!Sa(e)||!ge(o))return;const i=Ea(e),t=Ja(o);let s=this.has(i)?`${this.get(i)}, ${t}`:t;this.set(e,s)}delete(e){if(!Sa(e)||!this.has(e))return;const o=Ea(e);delete this[ya][o],this[Ga].delete(o)}forEach(e,o){for(const[i,t]of this.entries())e.call(o,t,i,this)}getSetCookie(){const e=this.get("set-cookie");return e===null?[]:e===""?[""]:(0,dt.splitCookiesString)(e)}};const{message:jt}=Ce,bt=Symbol("kSetCookie");function fa(a={}){const e=(a==null?void 0:a.status)||200,o=(a==null?void 0:a.statusText)||jt[e]||"",i=new Headers(a==null?void 0:a.headers);return{...a,headers:i,status:e,statusText:o}}function yt(a,e){e.type&&Object.defineProperty(a,"type",{value:e.type,enumerable:!0,writable:!1});const o=e.headers.get("set-cookie");if(o&&(Object.defineProperty(a,bt,{value:o,enumerable:!1,writable:!1}),typeof document<"u")){const i=ft.prototype.getSetCookie.call(e.headers);for(const t of i)document.cookie=t}return a}const vt=Symbol("bodyType");var ye,ve;class sa extends(ve=ae,ye=vt,ve){constructor(o,i){const t=fa(i);super(o,t);ma(this,ye);yt(this,t)}static text(o,i){const t=fa(i);return t.headers.has("Content-Type")||t.headers.set("Content-Type","text/plain"),t.headers.has("Content-Length")||t.headers.set("Content-Length",o?new Blob([o]).size.toString():"0"),new sa(o,t)}static json(o,i){const t=fa(i);t.headers.has("Content-Type")||t.headers.set("Content-Type","application/json");const s=JSON.stringify(o);return t.headers.has("Content-Length")||t.headers.set("Content-Length",s?new Blob([s]).size.toString():"0"),new sa(s,t)}static xml(o,i){const t=fa(i);return t.headers.has("Content-Type")||t.headers.set("Content-Type","text/xml"),new sa(o,t)}static html(o,i){const t=fa(i);return t.headers.has("Content-Type")||t.headers.set("Content-Type","text/html"),new sa(o,t)}static arrayBuffer(o,i){const t=fa(i);return t.headers.has("Content-Type")||t.headers.set("Content-Type","application/octet-stream"),o&&!t.headers.has("Content-Length")&&t.headers.set("Content-Length",o.byteLength.toString()),new sa(o,t)}static formData(o,i){return new sa(o,fa(i))}}Ao();const _a=(a,e=400)=>{const o={error:a};return sa.json(o,{status:e})},wt=async a=>{try{const e=await a.json(),o={id:(N.dataStore.users.length+1).toString(),name:e.name,email:e.email,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),platform_roles:e.platform_roles||["user"],privacy_settings:e.privacy_settings,gdpr_consent:e.gdpr_consent,data_retention:e.data_retention,preferences:e.preferences};return N.dataStore.users.push(o),sa.json(o)}catch{return _a("Failed to create user")}},xt=async(a,e)=>{try{const o=await a.json(),i=N.dataStore.users.findIndex(s=>s.id===e);if(i===-1)return _a("User not found",404);const t={...N.dataStore.users[i],...o};return N.dataStore.users[i]=t,N.saveDataStore(N.dataStore),sa.json(t)}catch{return _a("Failed to update user")}},zt=async a=>{try{const e=N.dataStore.users.findIndex(i=>i.id===a);if(e===-1)return _a("User not found",404);const o=N.dataStore.users[e];return N.dataStore.users=N.dataStore.users.filter(i=>i.id!==a),Object.keys(N.dataStore.enrollmentsByCourse).forEach(i=>{N.dataStore.enrollmentsByCourse[i]=N.dataStore.enrollmentsByCourse[i].filter(t=>t.user_id!==a)}),sa.json(o)}catch{return _a("Failed to delete user")}},Et=()=>{const a=N.dataStore.users[0].id,e=N.dataStore.users.find(o=>o.id===a);return sa.json(e)},St=()=>sa.json(N.dataStore.users),Ct=[za.get(N.baseUrl+"api/users/current/",()=>Et()),za.get(N.baseUrl+"api/users/",()=>St()),za.post(N.baseUrl+"api/users/",async({request:a})=>wt(a)),za.put(N.baseUrl+"api/users/:userId/",async({request:a,params:e})=>xt(a,e.userId)),za.delete(N.baseUrl+"api/users/:userId/",async({params:a})=>zt(a.userId))];Object.defineProperty(exports,"userBus",{enumerable:!0,get:()=>N.userBus});exports.UserMicroservice=yo;exports.useUserStore=xe;exports.userHandlers=Ct;
|