{"version":3,"file":"llm-mock.cjs","names":["url","Readable","HTTPParser","ServerResponse","IncomingMessage","STATUS_CODES","http2","Agent","URL$1","Agent$1","globalAgent$1","globalAgent","AsyncLocalStorage","notImplemented","#model","AISDKV5LanguageModel","simulateReadableStream","MastraLLMV1"],"sources":["../../../_vendored/ai_v4/dist/test.js","../../../_vendored/ai_v5/dist/test.js","../../src/loop/test-utils/MastraLanguageModelV2Mock.ts","../../src/test-utils/llm-mock.ts"],"sourcesContent":["import { createRequire } from \"module\";\nimport { AsyncLocalStorage } from \"async_hooks\";\nimport http2, { Agent, IncomingMessage, STATUS_CODES, ServerResponse, globalAgent } from \"http\";\nimport https, { Agent as Agent$1, globalAgent as globalAgent$1 } from \"https\";\nimport net from \"net\";\nimport { HTTPParser } from \"_http_common\";\nimport { Readable } from \"stream\";\nimport { URL as URL$1, parse, urlToHttpOptions } from \"url\";\nimport zlib from \"zlib\";\nvar __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);\nvar __require$1 = /* #__PURE__ */ (() => createRequire(import.meta.url))();\n//#endregion\n//#region ../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@ai-sdk/provider-utils/2.2.8/6da045ee83ccbe317fdded79ff264ecaf67e8e3e16cdb635bc678c2a97ba55d7/node_modules/@ai-sdk/provider-utils/test/dist/chunk-D6YTI3O5.mjs\nvar __defProp$1 = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp$1(obj, key, {\n\tenumerable: true,\n\tconfigurable: true,\n\twritable: true,\n\tvalue\n}) : obj[key] = value;\nvar __require = /* @__PURE__ */ ((x) => typeof __require$1 !== \"undefined\" ? __require$1 : typeof Proxy !== \"undefined\" ? new Proxy(x, { get: (a, b) => (typeof __require$1 !== \"undefined\" ? __require$1 : a)[b] }) : x)(function(x) {\n\tif (typeof __require$1 !== \"undefined\") return __require$1.apply(this, arguments);\n\tthrow Error(\"Dynamic require of \\\"\" + x + \"\\\" is not supported\");\n});\nvar __publicField = (obj, key, value) => {\n\t__defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n\treturn value;\n};\nvar __accessCheck = (obj, member, msg) => {\n\tif (!member.has(obj)) throw TypeError(\"Cannot \" + msg);\n};\nvar __privateGet = (obj, member, getter) => {\n\t__accessCheck(obj, member, \"read from private field\");\n\treturn getter ? getter.call(obj) : member.get(obj);\n};\nvar __privateAdd = (obj, member, value) => {\n\tif (member.has(obj)) throw TypeError(\"Cannot add the same private member more than once\");\n\tmember instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n};\nvar __privateSet = (obj, member, value, setter) => {\n\t__accessCheck(obj, member, \"write to private field\");\n\tsetter ? setter.call(obj, value) : member.set(obj, value);\n\treturn value;\n};\nvar __privateMethod = (obj, member, method) => {\n\t__accessCheck(obj, member, \"access private method\");\n\treturn method;\n};\n//#endregion\n//#region ../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@ai-sdk/provider-utils/2.2.8/6da045ee83ccbe317fdded79ff264ecaf67e8e3e16cdb635bc678c2a97ba55d7/node_modules/@ai-sdk/provider-utils/test/dist/index.mjs\nfunction convertArrayToReadableStream(values) {\n\treturn new ReadableStream({ start(controller) {\n\t\ttry {\n\t\t\tfor (const value of values) controller.enqueue(value);\n\t\t} finally {\n\t\t\tcontroller.close();\n\t\t}\n\t} });\n}\nvar POSITIONALS_EXP = /(%?)(%([sdijo]))/g;\nfunction serializePositional(positional, flag) {\n\tswitch (flag) {\n\t\tcase \"s\": return positional;\n\t\tcase \"d\":\n\t\tcase \"i\": return Number(positional);\n\t\tcase \"j\": return JSON.stringify(positional);\n\t\tcase \"o\": {\n\t\t\tif (typeof positional === \"string\") return positional;\n\t\t\tconst json = JSON.stringify(positional);\n\t\t\tif (json === \"{}\" || json === \"[]\" || /^\\[object .+?\\]$/.test(json)) return positional;\n\t\t\treturn json;\n\t\t}\n\t}\n}\nfunction format(message3, ...positionals) {\n\tif (positionals.length === 0) return message3;\n\tlet positionalIndex = 0;\n\tlet formattedMessage = message3.replace(POSITIONALS_EXP, (match2, isEscaped, _, flag) => {\n\t\tconst positional = positionals[positionalIndex];\n\t\tconst value = serializePositional(positional, flag);\n\t\tif (!isEscaped) {\n\t\t\tpositionalIndex++;\n\t\t\treturn value;\n\t\t}\n\t\treturn match2;\n\t});\n\tif (positionalIndex < positionals.length) formattedMessage += ` ${positionals.slice(positionalIndex).join(\" \")}`;\n\tformattedMessage = formattedMessage.replace(/%{2,2}/g, \"%\");\n\treturn formattedMessage;\n}\nvar STACK_FRAMES_TO_IGNORE = 2;\nfunction cleanErrorStack(error3) {\n\tif (!error3.stack) return;\n\tconst nextStack = error3.stack.split(\"\\n\");\n\tnextStack.splice(1, STACK_FRAMES_TO_IGNORE);\n\terror3.stack = nextStack.join(\"\\n\");\n}\nvar InvariantError = class extends Error {\n\tconstructor(message3, ...positionals) {\n\t\tsuper(message3);\n\t\tthis.message = message3;\n\t\tthis.name = \"Invariant Violation\";\n\t\tthis.message = format(message3, ...positionals);\n\t\tcleanErrorStack(this);\n\t}\n};\nvar invariant = (predicate, message3, ...positionals) => {\n\tif (!predicate) throw new InvariantError(message3, ...positionals);\n};\ninvariant.as = (ErrorConstructor, predicate, message3, ...positionals) => {\n\tif (!predicate) {\n\t\tconst formatMessage2 = positionals.length === 0 ? message3 : format(message3, ...positionals);\n\t\tlet error3;\n\t\ttry {\n\t\t\terror3 = Reflect.construct(ErrorConstructor, [formatMessage2]);\n\t\t} catch (err) {\n\t\t\terror3 = ErrorConstructor(formatMessage2);\n\t\t}\n\t\tthrow error3;\n\t}\n};\nvar LIBRARY_PREFIX = \"[MSW]\";\nfunction formatMessage(message3, ...positionals) {\n\treturn `${LIBRARY_PREFIX} ${format(message3, ...positionals)}`;\n}\nfunction warn(message3, ...positionals) {\n\tconsole.warn(formatMessage(message3, ...positionals));\n}\nfunction error(message3, ...positionals) {\n\tconsole.error(formatMessage(message3, ...positionals));\n}\nvar devUtils = {\n\tformatMessage,\n\twarn,\n\terror\n};\nfunction checkGlobals() {\n\tinvariant(typeof URL !== \"undefined\", devUtils.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\".`));\n}\nvar MemoryLeakError = class extends Error {\n\tconstructor(emitter, type, count) {\n\t\tsuper(`Possible EventEmitter memory leak detected. ${count} ${type.toString()} listeners added. Use emitter.setMaxListeners() to increase limit`);\n\t\tthis.emitter = emitter;\n\t\tthis.type = type;\n\t\tthis.count = count;\n\t\tthis.name = \"MaxListenersExceededWarning\";\n\t}\n};\nvar _Emitter = class {\n\tstatic listenerCount(emitter, eventName) {\n\t\treturn emitter.listenerCount(eventName);\n\t}\n\tconstructor() {\n\t\tthis.events = /* @__PURE__ */ new Map();\n\t\tthis.maxListeners = _Emitter.defaultMaxListeners;\n\t\tthis.hasWarnedAboutPotentialMemoryLeak = false;\n\t}\n\t_emitInternalEvent(internalEventName, eventName, listener) {\n\t\tthis.emit(internalEventName, ...[eventName, listener]);\n\t}\n\t_getListeners(eventName) {\n\t\treturn Array.prototype.concat.apply([], this.events.get(eventName)) || [];\n\t}\n\t_removeListener(listeners, listener) {\n\t\tconst index = listeners.indexOf(listener);\n\t\tif (index > -1) listeners.splice(index, 1);\n\t\treturn [];\n\t}\n\t_wrapOnceListener(eventName, listener) {\n\t\tconst onceListener = (...data) => {\n\t\t\tthis.removeListener(eventName, onceListener);\n\t\t\treturn listener.apply(this, data);\n\t\t};\n\t\tObject.defineProperty(onceListener, \"name\", { value: listener.name });\n\t\treturn onceListener;\n\t}\n\tsetMaxListeners(maxListeners) {\n\t\tthis.maxListeners = maxListeners;\n\t\treturn this;\n\t}\n\t/**\n\t* Returns the current max listener value for the `Emitter` which is\n\t* either set by `emitter.setMaxListeners(n)` or defaults to\n\t* `Emitter.defaultMaxListeners`.\n\t*/\n\tgetMaxListeners() {\n\t\treturn this.maxListeners;\n\t}\n\t/**\n\t* Returns an array listing the events for which the emitter has registered listeners.\n\t* The values in the array will be strings or Symbols.\n\t*/\n\teventNames() {\n\t\treturn Array.from(this.events.keys());\n\t}\n\t/**\n\t* Synchronously calls each of the listeners registered for the event named `eventName`,\n\t* in the order they were registered, passing the supplied arguments to each.\n\t* Returns `true` if the event has listeners, `false` otherwise.\n\t*\n\t* @example\n\t* const emitter = new Emitter<{ hello: [string] }>()\n\t* emitter.emit('hello', 'John')\n\t*/\n\temit(eventName, ...data) {\n\t\tconst listeners = this._getListeners(eventName);\n\t\tlisteners.forEach((listener) => {\n\t\t\tlistener.apply(this, data);\n\t\t});\n\t\treturn listeners.length > 0;\n\t}\n\taddListener(eventName, listener) {\n\t\tthis._emitInternalEvent(\"newListener\", eventName, listener);\n\t\tconst nextListeners = this._getListeners(eventName).concat(listener);\n\t\tthis.events.set(eventName, nextListeners);\n\t\tif (this.maxListeners > 0 && this.listenerCount(eventName) > this.maxListeners && !this.hasWarnedAboutPotentialMemoryLeak) {\n\t\t\tthis.hasWarnedAboutPotentialMemoryLeak = true;\n\t\t\tconst memoryLeakWarning = new MemoryLeakError(this, eventName, this.listenerCount(eventName));\n\t\t\tconsole.warn(memoryLeakWarning);\n\t\t}\n\t\treturn this;\n\t}\n\ton(eventName, listener) {\n\t\treturn this.addListener(eventName, listener);\n\t}\n\tonce(eventName, listener) {\n\t\treturn this.addListener(eventName, this._wrapOnceListener(eventName, listener));\n\t}\n\tprependListener(eventName, listener) {\n\t\tconst listeners = this._getListeners(eventName);\n\t\tif (listeners.length > 0) {\n\t\t\tconst nextListeners = [listener].concat(listeners);\n\t\t\tthis.events.set(eventName, nextListeners);\n\t\t} else this.events.set(eventName, listeners.concat(listener));\n\t\treturn this;\n\t}\n\tprependOnceListener(eventName, listener) {\n\t\treturn this.prependListener(eventName, this._wrapOnceListener(eventName, listener));\n\t}\n\tremoveListener(eventName, listener) {\n\t\tconst listeners = this._getListeners(eventName);\n\t\tif (listeners.length > 0) {\n\t\t\tthis._removeListener(listeners, listener);\n\t\t\tthis.events.set(eventName, listeners);\n\t\t\tthis._emitInternalEvent(\"removeListener\", eventName, listener);\n\t\t}\n\t\treturn this;\n\t}\n\t/**\n\t* Alias for `emitter.removeListener()`.\n\t*\n\t* @example\n\t* emitter.off('hello', listener)\n\t*/\n\toff(eventName, listener) {\n\t\treturn this.removeListener(eventName, listener);\n\t}\n\tremoveAllListeners(eventName) {\n\t\tif (eventName) this.events.delete(eventName);\n\t\telse this.events.clear();\n\t\treturn this;\n\t}\n\t/**\n\t* Returns a copy of the array of listeners for the event named `eventName`.\n\t*/\n\tlisteners(eventName) {\n\t\treturn Array.from(this._getListeners(eventName));\n\t}\n\t/**\n\t* Returns the number of listeners listening to the event named `eventName`.\n\t*/\n\tlistenerCount(eventName) {\n\t\treturn this._getListeners(eventName).length;\n\t}\n\trawListeners(eventName) {\n\t\treturn this.listeners(eventName);\n\t}\n};\nvar Emitter = _Emitter;\nEmitter.defaultMaxListeners = 10;\nvar SOURCE_FRAME = /[\\/\\\\]msw[\\/\\\\]src[\\/\\\\](.+)/;\nvar BUILD_FRAME = /(node_modules)?[\\/\\\\]lib[\\/\\\\](core|browser|node|native|iife)[\\/\\\\]|^[^\\/\\\\]*$/;\nfunction getCallFrame(error3) {\n\tconst stack = error3.stack;\n\tif (!stack) return;\n\tconst declarationFrame = stack.split(\"\\n\").slice(1).find((frame) => {\n\t\treturn !(SOURCE_FRAME.test(frame) || BUILD_FRAME.test(frame));\n\t});\n\tif (!declarationFrame) return;\n\treturn declarationFrame.replace(/\\s*at [^()]*\\(([^)]+)\\)/, \"$1\").replace(/^@/, \"\");\n}\nfunction isIterable(fn) {\n\tif (!fn) return false;\n\treturn Reflect.has(fn, Symbol.iterator) || Reflect.has(fn, Symbol.asyncIterator);\n}\nvar _RequestHandler = class _RequestHandler {\n\tconstructor(args) {\n\t\t__publicField(this, \"__kind\");\n\t\t__publicField(this, \"info\");\n\t\t/**\n\t\t* Indicates whether this request handler has been used\n\t\t* (its resolver has successfully executed).\n\t\t*/\n\t\t__publicField(this, \"isUsed\");\n\t\t__publicField(this, \"resolver\");\n\t\t__publicField(this, \"resolverIterator\");\n\t\t__publicField(this, \"resolverIteratorResult\");\n\t\t__publicField(this, \"options\");\n\t\tthis.resolver = args.resolver;\n\t\tthis.options = args.options;\n\t\tconst callFrame = getCallFrame(/* @__PURE__ */ new Error());\n\t\tthis.info = {\n\t\t\t...args.info,\n\t\t\tcallFrame\n\t\t};\n\t\tthis.isUsed = false;\n\t\tthis.__kind = \"RequestHandler\";\n\t}\n\t/**\n\t* Parse the intercepted request to extract additional information from it.\n\t* Parsed result is then exposed to other methods of this request handler.\n\t*/\n\tasync parse(_args) {\n\t\treturn {};\n\t}\n\t/**\n\t* Test if this handler matches the given request.\n\t*\n\t* This method is not used internally but is exposed\n\t* as a convenience method for consumers writing custom\n\t* handlers.\n\t*/\n\tasync test(args) {\n\t\tconst parsedResult = await this.parse({\n\t\t\trequest: args.request,\n\t\t\tresolutionContext: args.resolutionContext\n\t\t});\n\t\treturn this.predicate({\n\t\t\trequest: args.request,\n\t\t\tparsedResult,\n\t\t\tresolutionContext: args.resolutionContext\n\t\t});\n\t}\n\textendResolverArgs(_args) {\n\t\treturn {};\n\t}\n\tcloneRequestOrGetFromCache(request) {\n\t\tconst existingClone = _RequestHandler.cache.get(request);\n\t\tif (typeof existingClone !== \"undefined\") return existingClone;\n\t\tconst clonedRequest = request.clone();\n\t\t_RequestHandler.cache.set(request, clonedRequest);\n\t\treturn clonedRequest;\n\t}\n\t/**\n\t* Execute this request handler and produce a mocked response\n\t* using the given resolver function.\n\t*/\n\tasync run(args) {\n\t\tvar _a4, _b2;\n\t\tif (this.isUsed && ((_a4 = this.options) == null ? void 0 : _a4.once)) return null;\n\t\tconst requestClone = this.cloneRequestOrGetFromCache(args.request);\n\t\tconst parsedResult = await this.parse({\n\t\t\trequest: args.request,\n\t\t\tresolutionContext: args.resolutionContext\n\t\t});\n\t\tif (!this.predicate({\n\t\t\trequest: args.request,\n\t\t\tparsedResult,\n\t\t\tresolutionContext: args.resolutionContext\n\t\t})) return null;\n\t\tif (this.isUsed && ((_b2 = this.options) == null ? void 0 : _b2.once)) return null;\n\t\tthis.isUsed = true;\n\t\tconst mockedResponse = await this.wrapResolver(this.resolver)({\n\t\t\t...this.extendResolverArgs({\n\t\t\t\trequest: args.request,\n\t\t\t\tparsedResult\n\t\t\t}),\n\t\t\trequestId: args.requestId,\n\t\t\trequest: args.request\n\t\t}).catch((errorOrResponse) => {\n\t\t\tif (errorOrResponse instanceof Response) return errorOrResponse;\n\t\t\tthrow errorOrResponse;\n\t\t});\n\t\treturn this.createExecutionResult({\n\t\t\trequest: requestClone,\n\t\t\trequestId: args.requestId,\n\t\t\tresponse: mockedResponse,\n\t\t\tparsedResult\n\t\t});\n\t}\n\twrapResolver(resolver) {\n\t\treturn async (info) => {\n\t\t\tvar _a4;\n\t\t\tif (!this.resolverIterator) {\n\t\t\t\tconst result = await resolver(info);\n\t\t\t\tif (!isIterable(result)) return result;\n\t\t\t\tthis.resolverIterator = Symbol.iterator in result ? result[Symbol.iterator]() : result[Symbol.asyncIterator]();\n\t\t\t}\n\t\t\tthis.isUsed = false;\n\t\t\tconst { done, value } = await this.resolverIterator.next();\n\t\t\tconst nextResponse = await value;\n\t\t\tif (nextResponse) this.resolverIteratorResult = nextResponse.clone();\n\t\t\tif (done) {\n\t\t\t\tthis.isUsed = true;\n\t\t\t\treturn (_a4 = this.resolverIteratorResult) == null ? void 0 : _a4.clone();\n\t\t\t}\n\t\t\treturn nextResponse;\n\t\t};\n\t}\n\tcreateExecutionResult(args) {\n\t\treturn {\n\t\t\thandler: this,\n\t\t\trequest: args.request,\n\t\t\trequestId: args.requestId,\n\t\t\tresponse: args.response,\n\t\t\tparsedResult: args.parsedResult\n\t\t};\n\t}\n};\n__publicField(_RequestHandler, \"cache\", /* @__PURE__ */ new WeakMap());\nvar RequestHandler = _RequestHandler;\nfunction isStringEqual(actual, expected) {\n\treturn actual.toLowerCase() === expected.toLowerCase();\n}\nfunction getStatusCodeColor(status) {\n\tif (status < 300) return \"#69AB32\";\n\tif (status < 400) return \"#F0BB4B\";\n\treturn \"#E95F5D\";\n}\nfunction getTimestamp(options) {\n\tconst now = /* @__PURE__ */ new Date();\n\tconst timestamp = `${now.getHours().toString().padStart(2, \"0\")}:${now.getMinutes().toString().padStart(2, \"0\")}:${now.getSeconds().toString().padStart(2, \"0\")}`;\n\tif (options == null ? void 0 : options.milliseconds) return `${timestamp}.${now.getMilliseconds().toString().padStart(3, \"0\")}`;\n\treturn timestamp;\n}\nasync function serializeRequest(request) {\n\tconst requestText = await request.clone().text();\n\treturn {\n\t\turl: new URL(request.url),\n\t\tmethod: request.method,\n\t\theaders: Object.fromEntries(request.headers.entries()),\n\t\tbody: requestText\n\t};\n}\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __commonJS = (cb, mod) => function __require3() {\n\treturn mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __copyProps = (to, from, except, desc) => {\n\tif (from && typeof from === \"object\" || typeof from === \"function\") {\n\t\tfor (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {\n\t\t\tget: () => from[key],\n\t\t\tenumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable\n\t\t});\n\t}\n\treturn to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", {\n\tvalue: mod,\n\tenumerable: true\n}) : target, mod));\nvar require_codes = __commonJS({ \"node_modules/statuses/codes.json\"(exports, module) {\n\tmodule.exports = {\n\t\t\"100\": \"Continue\",\n\t\t\"101\": \"Switching Protocols\",\n\t\t\"102\": \"Processing\",\n\t\t\"103\": \"Early Hints\",\n\t\t\"200\": \"OK\",\n\t\t\"201\": \"Created\",\n\t\t\"202\": \"Accepted\",\n\t\t\"203\": \"Non-Authoritative Information\",\n\t\t\"204\": \"No Content\",\n\t\t\"205\": \"Reset Content\",\n\t\t\"206\": \"Partial Content\",\n\t\t\"207\": \"Multi-Status\",\n\t\t\"208\": \"Already Reported\",\n\t\t\"226\": \"IM Used\",\n\t\t\"300\": \"Multiple Choices\",\n\t\t\"301\": \"Moved Permanently\",\n\t\t\"302\": \"Found\",\n\t\t\"303\": \"See Other\",\n\t\t\"304\": \"Not Modified\",\n\t\t\"305\": \"Use Proxy\",\n\t\t\"307\": \"Temporary Redirect\",\n\t\t\"308\": \"Permanent Redirect\",\n\t\t\"400\": \"Bad Request\",\n\t\t\"401\": \"Unauthorized\",\n\t\t\"402\": \"Payment Required\",\n\t\t\"403\": \"Forbidden\",\n\t\t\"404\": \"Not Found\",\n\t\t\"405\": \"Method Not Allowed\",\n\t\t\"406\": \"Not Acceptable\",\n\t\t\"407\": \"Proxy Authentication Required\",\n\t\t\"408\": \"Request Timeout\",\n\t\t\"409\": \"Conflict\",\n\t\t\"410\": \"Gone\",\n\t\t\"411\": \"Length Required\",\n\t\t\"412\": \"Precondition Failed\",\n\t\t\"413\": \"Payload Too Large\",\n\t\t\"414\": \"URI Too Long\",\n\t\t\"415\": \"Unsupported Media Type\",\n\t\t\"416\": \"Range Not Satisfiable\",\n\t\t\"417\": \"Expectation Failed\",\n\t\t\"418\": \"I'm a Teapot\",\n\t\t\"421\": \"Misdirected Request\",\n\t\t\"422\": \"Unprocessable Entity\",\n\t\t\"423\": \"Locked\",\n\t\t\"424\": \"Failed Dependency\",\n\t\t\"425\": \"Too Early\",\n\t\t\"426\": \"Upgrade Required\",\n\t\t\"428\": \"Precondition Required\",\n\t\t\"429\": \"Too Many Requests\",\n\t\t\"431\": \"Request Header Fields Too Large\",\n\t\t\"451\": \"Unavailable For Legal Reasons\",\n\t\t\"500\": \"Internal Server Error\",\n\t\t\"501\": \"Not Implemented\",\n\t\t\"502\": \"Bad Gateway\",\n\t\t\"503\": \"Service Unavailable\",\n\t\t\"504\": \"Gateway Timeout\",\n\t\t\"505\": \"HTTP Version Not Supported\",\n\t\t\"506\": \"Variant Also Negotiates\",\n\t\t\"507\": \"Insufficient Storage\",\n\t\t\"508\": \"Loop Detected\",\n\t\t\"509\": \"Bandwidth Limit Exceeded\",\n\t\t\"510\": \"Not Extended\",\n\t\t\"511\": \"Network Authentication Required\"\n\t};\n} });\nvar source_default = __toESM(__commonJS({ \"node_modules/statuses/index.js\"(exports, module) {\n\t\"use strict\";\n\tvar codes = require_codes();\n\tmodule.exports = status2;\n\tstatus2.message = codes;\n\tstatus2.code = createMessageToStatusCodeMap(codes);\n\tstatus2.codes = createStatusCodeList(codes);\n\tstatus2.redirect = {\n\t\t300: true,\n\t\t301: true,\n\t\t302: true,\n\t\t303: true,\n\t\t305: true,\n\t\t307: true,\n\t\t308: true\n\t};\n\tstatus2.empty = {\n\t\t204: true,\n\t\t205: true,\n\t\t304: true\n\t};\n\tstatus2.retry = {\n\t\t502: true,\n\t\t503: true,\n\t\t504: true\n\t};\n\tfunction createMessageToStatusCodeMap(codes2) {\n\t\tvar map = {};\n\t\tObject.keys(codes2).forEach(function forEachCode(code) {\n\t\t\tvar message3 = codes2[code];\n\t\t\tvar status3 = Number(code);\n\t\t\tmap[message3.toLowerCase()] = status3;\n\t\t});\n\t\treturn map;\n\t}\n\tfunction createStatusCodeList(codes2) {\n\t\treturn Object.keys(codes2).map(function mapCode(code) {\n\t\t\treturn Number(code);\n\t\t});\n\t}\n\tfunction getStatusCode(message3) {\n\t\tvar msg = message3.toLowerCase();\n\t\tif (!Object.prototype.hasOwnProperty.call(status2.code, msg)) throw new Error(\"invalid status message: \\\"\" + message3 + \"\\\"\");\n\t\treturn status2.code[msg];\n\t}\n\tfunction getStatusMessage(code) {\n\t\tif (!Object.prototype.hasOwnProperty.call(status2.message, code)) throw new Error(\"invalid status code: \" + code);\n\t\treturn status2.message[code];\n\t}\n\tfunction status2(code) {\n\t\tif (typeof code === \"number\") return getStatusMessage(code);\n\t\tif (typeof code !== \"string\") throw new TypeError(\"code must be a number or string\");\n\t\tvar n = parseInt(code, 10);\n\t\tif (!isNaN(n)) return getStatusMessage(n);\n\t\treturn getStatusCode(code);\n\t}\n} })(), 1).default;\nvar { message } = source_default;\nasync function serializeResponse(response) {\n\tconst responseClone = response.clone();\n\tconst responseText = await responseClone.text();\n\tconst responseStatus = responseClone.status || 200;\n\treturn {\n\t\tstatus: responseStatus,\n\t\tstatusText: responseClone.statusText || message[responseStatus] || \"OK\",\n\t\theaders: Object.fromEntries(responseClone.headers.entries()),\n\t\tbody: responseText\n\t};\n}\nfunction lexer(str) {\n\tvar tokens = [];\n\tvar i = 0;\n\twhile (i < str.length) {\n\t\tvar char = str[i];\n\t\tif (char === \"*\" || char === \"+\" || char === \"?\") {\n\t\t\ttokens.push({\n\t\t\t\ttype: \"MODIFIER\",\n\t\t\t\tindex: i,\n\t\t\t\tvalue: str[i++]\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tif (char === \"\\\\\") {\n\t\t\ttokens.push({\n\t\t\t\ttype: \"ESCAPED_CHAR\",\n\t\t\t\tindex: i++,\n\t\t\t\tvalue: str[i++]\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tif (char === \"{\") {\n\t\t\ttokens.push({\n\t\t\t\ttype: \"OPEN\",\n\t\t\t\tindex: i,\n\t\t\t\tvalue: str[i++]\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tif (char === \"}\") {\n\t\t\ttokens.push({\n\t\t\t\ttype: \"CLOSE\",\n\t\t\t\tindex: i,\n\t\t\t\tvalue: str[i++]\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tif (char === \":\") {\n\t\t\tvar name = \"\";\n\t\t\tvar j = i + 1;\n\t\t\twhile (j < str.length) {\n\t\t\t\tvar code = str.charCodeAt(j);\n\t\t\t\tif (code >= 48 && code <= 57 || code >= 65 && code <= 90 || code >= 97 && code <= 122 || code === 95) {\n\t\t\t\t\tname += str[j++];\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (!name) throw new TypeError(\"Missing parameter name at \".concat(i));\n\t\t\ttokens.push({\n\t\t\t\ttype: \"NAME\",\n\t\t\t\tindex: i,\n\t\t\t\tvalue: name\n\t\t\t});\n\t\t\ti = j;\n\t\t\tcontinue;\n\t\t}\n\t\tif (char === \"(\") {\n\t\t\tvar count = 1;\n\t\t\tvar pattern = \"\";\n\t\t\tvar j = i + 1;\n\t\t\tif (str[j] === \"?\") throw new TypeError(\"Pattern cannot start with \\\"?\\\" at \".concat(j));\n\t\t\twhile (j < str.length) {\n\t\t\t\tif (str[j] === \"\\\\\") {\n\t\t\t\t\tpattern += str[j++] + str[j++];\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (str[j] === \")\") {\n\t\t\t\t\tcount--;\n\t\t\t\t\tif (count === 0) {\n\t\t\t\t\t\tj++;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t} else if (str[j] === \"(\") {\n\t\t\t\t\tcount++;\n\t\t\t\t\tif (str[j + 1] !== \"?\") throw new TypeError(\"Capturing groups are not allowed at \".concat(j));\n\t\t\t\t}\n\t\t\t\tpattern += str[j++];\n\t\t\t}\n\t\t\tif (count) throw new TypeError(\"Unbalanced pattern at \".concat(i));\n\t\t\tif (!pattern) throw new TypeError(\"Missing pattern at \".concat(i));\n\t\t\ttokens.push({\n\t\t\t\ttype: \"PATTERN\",\n\t\t\t\tindex: i,\n\t\t\t\tvalue: pattern\n\t\t\t});\n\t\t\ti = j;\n\t\t\tcontinue;\n\t\t}\n\t\ttokens.push({\n\t\t\ttype: \"CHAR\",\n\t\t\tindex: i,\n\t\t\tvalue: str[i++]\n\t\t});\n\t}\n\ttokens.push({\n\t\ttype: \"END\",\n\t\tindex: i,\n\t\tvalue: \"\"\n\t});\n\treturn tokens;\n}\nfunction parse$1(str, options) {\n\tif (options === void 0) options = {};\n\tvar tokens = lexer(str);\n\tvar _a4 = options.prefixes, prefixes = _a4 === void 0 ? \"./\" : _a4, _b2 = options.delimiter, delimiter = _b2 === void 0 ? \"/#?\" : _b2;\n\tvar result = [];\n\tvar key = 0;\n\tvar i = 0;\n\tvar path = \"\";\n\tvar tryConsume = function(type) {\n\t\tif (i < tokens.length && tokens[i].type === type) return tokens[i++].value;\n\t};\n\tvar mustConsume = function(type) {\n\t\tvar value2 = tryConsume(type);\n\t\tif (value2 !== void 0) return value2;\n\t\tvar _a5 = tokens[i], nextType = _a5.type, index = _a5.index;\n\t\tthrow new TypeError(\"Unexpected \".concat(nextType, \" at \").concat(index, \", expected \").concat(type));\n\t};\n\tvar consumeText = function() {\n\t\tvar result2 = \"\";\n\t\tvar value2;\n\t\twhile (value2 = tryConsume(\"CHAR\") || tryConsume(\"ESCAPED_CHAR\")) result2 += value2;\n\t\treturn result2;\n\t};\n\tvar isSafe = function(value2) {\n\t\tfor (var _i = 0, delimiter_1 = delimiter; _i < delimiter_1.length; _i++) {\n\t\t\tvar char2 = delimiter_1[_i];\n\t\t\tif (value2.indexOf(char2) > -1) return true;\n\t\t}\n\t\treturn false;\n\t};\n\tvar safePattern = function(prefix2) {\n\t\tvar prev = result[result.length - 1];\n\t\tvar prevText = prefix2 || (prev && typeof prev === \"string\" ? prev : \"\");\n\t\tif (prev && !prevText) throw new TypeError(\"Must have text between two parameters, missing text after \\\"\".concat(prev.name, \"\\\"\"));\n\t\tif (!prevText || isSafe(prevText)) return \"[^\".concat(escapeString(delimiter), \"]+?\");\n\t\treturn \"(?:(?!\".concat(escapeString(prevText), \")[^\").concat(escapeString(delimiter), \"])+?\");\n\t};\n\twhile (i < tokens.length) {\n\t\tvar char = tryConsume(\"CHAR\");\n\t\tvar name = tryConsume(\"NAME\");\n\t\tvar pattern = tryConsume(\"PATTERN\");\n\t\tif (name || pattern) {\n\t\t\tvar prefix = char || \"\";\n\t\t\tif (prefixes.indexOf(prefix) === -1) {\n\t\t\t\tpath += prefix;\n\t\t\t\tprefix = \"\";\n\t\t\t}\n\t\t\tif (path) {\n\t\t\t\tresult.push(path);\n\t\t\t\tpath = \"\";\n\t\t\t}\n\t\t\tresult.push({\n\t\t\t\tname: name || key++,\n\t\t\t\tprefix,\n\t\t\t\tsuffix: \"\",\n\t\t\t\tpattern: pattern || safePattern(prefix),\n\t\t\t\tmodifier: tryConsume(\"MODIFIER\") || \"\"\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tvar value = char || tryConsume(\"ESCAPED_CHAR\");\n\t\tif (value) {\n\t\t\tpath += value;\n\t\t\tcontinue;\n\t\t}\n\t\tif (path) {\n\t\t\tresult.push(path);\n\t\t\tpath = \"\";\n\t\t}\n\t\tif (tryConsume(\"OPEN\")) {\n\t\t\tvar prefix = consumeText();\n\t\t\tvar name_1 = tryConsume(\"NAME\") || \"\";\n\t\t\tvar pattern_1 = tryConsume(\"PATTERN\") || \"\";\n\t\t\tvar suffix = consumeText();\n\t\t\tmustConsume(\"CLOSE\");\n\t\t\tresult.push({\n\t\t\t\tname: name_1 || (pattern_1 ? key++ : \"\"),\n\t\t\t\tpattern: name_1 && !pattern_1 ? safePattern(prefix) : pattern_1,\n\t\t\t\tprefix,\n\t\t\t\tsuffix,\n\t\t\t\tmodifier: tryConsume(\"MODIFIER\") || \"\"\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tmustConsume(\"END\");\n\t}\n\treturn result;\n}\nfunction match(str, options) {\n\tvar keys = [];\n\treturn regexpToFunction(pathToRegexp(str, keys, options), keys, options);\n}\nfunction regexpToFunction(re, keys, options) {\n\tif (options === void 0) options = {};\n\tvar _a4 = options.decode, decode = _a4 === void 0 ? function(x) {\n\t\treturn x;\n\t} : _a4;\n\treturn function(pathname) {\n\t\tvar m = re.exec(pathname);\n\t\tif (!m) return false;\n\t\tvar path = m[0], index = m.index;\n\t\tvar params = /* @__PURE__ */ Object.create(null);\n\t\tvar _loop_1 = function(i2) {\n\t\t\tif (m[i2] === void 0) return \"continue\";\n\t\t\tvar key = keys[i2 - 1];\n\t\t\tif (key.modifier === \"*\" || key.modifier === \"+\") params[key.name] = m[i2].split(key.prefix + key.suffix).map(function(value) {\n\t\t\t\treturn decode(value, key);\n\t\t\t});\n\t\t\telse params[key.name] = decode(m[i2], key);\n\t\t};\n\t\tfor (var i = 1; i < m.length; i++) _loop_1(i);\n\t\treturn {\n\t\t\tpath,\n\t\t\tindex,\n\t\t\tparams\n\t\t};\n\t};\n}\nfunction escapeString(str) {\n\treturn str.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n}\nfunction flags(options) {\n\treturn options && options.sensitive ? \"\" : \"i\";\n}\nfunction regexpToRegexp(path, keys) {\n\tif (!keys) return path;\n\tvar groupsRegex = /\\((?:\\?<(.*?)>)?(?!\\?)/g;\n\tvar index = 0;\n\tvar execResult = groupsRegex.exec(path.source);\n\twhile (execResult) {\n\t\tkeys.push({\n\t\t\tname: execResult[1] || index++,\n\t\t\tprefix: \"\",\n\t\t\tsuffix: \"\",\n\t\t\tmodifier: \"\",\n\t\t\tpattern: \"\"\n\t\t});\n\t\texecResult = groupsRegex.exec(path.source);\n\t}\n\treturn path;\n}\nfunction arrayToRegexp(paths, keys, options) {\n\tvar parts = paths.map(function(path) {\n\t\treturn pathToRegexp(path, keys, options).source;\n\t});\n\treturn new RegExp(\"(?:\".concat(parts.join(\"|\"), \")\"), flags(options));\n}\nfunction stringToRegexp(path, keys, options) {\n\treturn tokensToRegexp(parse$1(path, options), keys, options);\n}\nfunction tokensToRegexp(tokens, keys, options) {\n\tif (options === void 0) options = {};\n\tvar _a4 = options.strict, strict = _a4 === void 0 ? false : _a4, _b2 = options.start, start = _b2 === void 0 ? true : _b2, _c2 = options.end, end = _c2 === void 0 ? true : _c2, _d = options.encode, encode = _d === void 0 ? function(x) {\n\t\treturn x;\n\t} : _d, _e = options.delimiter, delimiter = _e === void 0 ? \"/#?\" : _e, _f = options.endsWith, endsWith = _f === void 0 ? \"\" : _f;\n\tvar endsWithRe = \"[\".concat(escapeString(endsWith), \"]|$\");\n\tvar delimiterRe = \"[\".concat(escapeString(delimiter), \"]\");\n\tvar route = start ? \"^\" : \"\";\n\tfor (var _i = 0, tokens_1 = tokens; _i < tokens_1.length; _i++) {\n\t\tvar token = tokens_1[_i];\n\t\tif (typeof token === \"string\") route += escapeString(encode(token));\n\t\telse {\n\t\t\tvar prefix = escapeString(encode(token.prefix));\n\t\t\tvar suffix = escapeString(encode(token.suffix));\n\t\t\tif (token.pattern) {\n\t\t\t\tif (keys) keys.push(token);\n\t\t\t\tif (prefix || suffix) if (token.modifier === \"+\" || token.modifier === \"*\") {\n\t\t\t\t\tvar mod = token.modifier === \"*\" ? \"?\" : \"\";\n\t\t\t\t\troute += \"(?:\".concat(prefix, \"((?:\").concat(token.pattern, \")(?:\").concat(suffix).concat(prefix, \"(?:\").concat(token.pattern, \"))*)\").concat(suffix, \")\").concat(mod);\n\t\t\t\t} else route += \"(?:\".concat(prefix, \"(\").concat(token.pattern, \")\").concat(suffix, \")\").concat(token.modifier);\n\t\t\t\telse {\n\t\t\t\t\tif (token.modifier === \"+\" || token.modifier === \"*\") throw new TypeError(\"Can not repeat \\\"\".concat(token.name, \"\\\" without a prefix and suffix\"));\n\t\t\t\t\troute += \"(\".concat(token.pattern, \")\").concat(token.modifier);\n\t\t\t\t}\n\t\t\t} else route += \"(?:\".concat(prefix).concat(suffix, \")\").concat(token.modifier);\n\t\t}\n\t}\n\tif (end) {\n\t\tif (!strict) route += \"\".concat(delimiterRe, \"?\");\n\t\troute += !options.endsWith ? \"$\" : \"(?=\".concat(endsWithRe, \")\");\n\t} else {\n\t\tvar endToken = tokens[tokens.length - 1];\n\t\tvar isEndDelimited = typeof endToken === \"string\" ? delimiterRe.indexOf(endToken[endToken.length - 1]) > -1 : endToken === void 0;\n\t\tif (!strict) route += \"(?:\".concat(delimiterRe, \"(?=\").concat(endsWithRe, \"))?\");\n\t\tif (!isEndDelimited) route += \"(?=\".concat(delimiterRe, \"|\").concat(endsWithRe, \")\");\n\t}\n\treturn new RegExp(route, flags(options));\n}\nfunction pathToRegexp(path, keys, options) {\n\tif (path instanceof RegExp) return regexpToRegexp(path, keys);\n\tif (Array.isArray(path)) return arrayToRegexp(path, keys, options);\n\treturn stringToRegexp(path, keys, options);\n}\nfunction isNodeProcess() {\n\tif (typeof navigator !== \"undefined\" && navigator.product === \"ReactNative\") return true;\n\tif (typeof process !== \"undefined\") {\n\t\tconst type = process.type;\n\t\tif (type === \"renderer\" || type === \"worker\") return false;\n\t\treturn !!(process.versions && process.versions.node);\n\t}\n\treturn false;\n}\nvar __defProp2 = Object.defineProperty;\nvar __export = (target, all) => {\n\tfor (var name in all) __defProp2(target, name, {\n\t\tget: all[name],\n\t\tenumerable: true\n\t});\n};\nvar colors_exports = {};\n__export(colors_exports, {\n\tblue: () => blue,\n\tgray: () => gray,\n\tgreen: () => green,\n\tred: () => red,\n\tyellow: () => yellow\n});\nfunction yellow(text) {\n\treturn `\\x1B[33m${text}\\x1B[0m`;\n}\nfunction blue(text) {\n\treturn `\\x1B[34m${text}\\x1B[0m`;\n}\nfunction gray(text) {\n\treturn `\\x1B[90m${text}\\x1B[0m`;\n}\nfunction red(text) {\n\treturn `\\x1B[31m${text}\\x1B[0m`;\n}\nfunction green(text) {\n\treturn `\\x1B[32m${text}\\x1B[0m`;\n}\nvar IS_NODE = isNodeProcess();\nvar Logger = class {\n\tconstructor(name) {\n\t\t__publicField(this, \"prefix\");\n\t\tthis.name = name;\n\t\tthis.prefix = `[${this.name}]`;\n\t\tconst LOGGER_NAME = getVariable(\"DEBUG\");\n\t\tconst LOGGER_LEVEL = getVariable(\"LOG_LEVEL\");\n\t\tif (LOGGER_NAME === \"1\" || LOGGER_NAME === \"true\" || typeof LOGGER_NAME !== \"undefined\" && this.name.startsWith(LOGGER_NAME)) {\n\t\t\tthis.debug = isDefinedAndNotEquals(LOGGER_LEVEL, \"debug\") ? noop : this.debug;\n\t\t\tthis.info = isDefinedAndNotEquals(LOGGER_LEVEL, \"info\") ? noop : this.info;\n\t\t\tthis.success = isDefinedAndNotEquals(LOGGER_LEVEL, \"success\") ? noop : this.success;\n\t\t\tthis.warning = isDefinedAndNotEquals(LOGGER_LEVEL, \"warning\") ? noop : this.warning;\n\t\t\tthis.error = isDefinedAndNotEquals(LOGGER_LEVEL, \"error\") ? noop : this.error;\n\t\t} else {\n\t\t\tthis.info = noop;\n\t\t\tthis.success = noop;\n\t\t\tthis.warning = noop;\n\t\t\tthis.error = noop;\n\t\t\tthis.only = noop;\n\t\t}\n\t}\n\textend(domain) {\n\t\treturn new Logger(`${this.name}:${domain}`);\n\t}\n\t/**\n\t* Print a debug message.\n\t* @example\n\t* logger.debug('no duplicates found, creating a document...')\n\t*/\n\tdebug(message3, ...positionals) {\n\t\tthis.logEntry({\n\t\t\tlevel: \"debug\",\n\t\t\tmessage: gray(message3),\n\t\t\tpositionals,\n\t\t\tprefix: this.prefix,\n\t\t\tcolors: { prefix: \"gray\" }\n\t\t});\n\t}\n\t/**\n\t* Print an info message.\n\t* @example\n\t* logger.info('start parsing...')\n\t*/\n\tinfo(message3, ...positionals) {\n\t\tthis.logEntry({\n\t\t\tlevel: \"info\",\n\t\t\tmessage: message3,\n\t\t\tpositionals,\n\t\t\tprefix: this.prefix,\n\t\t\tcolors: { prefix: \"blue\" }\n\t\t});\n\t\tconst performance2 = new PerformanceEntry();\n\t\treturn (message22, ...positionals2) => {\n\t\t\tperformance2.measure();\n\t\t\tthis.logEntry({\n\t\t\t\tlevel: \"info\",\n\t\t\t\tmessage: `${message22} ${gray(`${performance2.deltaTime}ms`)}`,\n\t\t\t\tpositionals: positionals2,\n\t\t\t\tprefix: this.prefix,\n\t\t\t\tcolors: { prefix: \"blue\" }\n\t\t\t});\n\t\t};\n\t}\n\t/**\n\t* Print a success message.\n\t* @example\n\t* logger.success('successfully created document')\n\t*/\n\tsuccess(message3, ...positionals) {\n\t\tthis.logEntry({\n\t\t\tlevel: \"info\",\n\t\t\tmessage: message3,\n\t\t\tpositionals,\n\t\t\tprefix: `\\u2714 ${this.prefix}`,\n\t\t\tcolors: {\n\t\t\t\ttimestamp: \"green\",\n\t\t\t\tprefix: \"green\"\n\t\t\t}\n\t\t});\n\t}\n\t/**\n\t* Print a warning.\n\t* @example\n\t* logger.warning('found legacy document format')\n\t*/\n\twarning(message3, ...positionals) {\n\t\tthis.logEntry({\n\t\t\tlevel: \"warning\",\n\t\t\tmessage: message3,\n\t\t\tpositionals,\n\t\t\tprefix: `\\u26A0 ${this.prefix}`,\n\t\t\tcolors: {\n\t\t\t\ttimestamp: \"yellow\",\n\t\t\t\tprefix: \"yellow\"\n\t\t\t}\n\t\t});\n\t}\n\t/**\n\t* Print an error message.\n\t* @example\n\t* logger.error('something went wrong')\n\t*/\n\terror(message3, ...positionals) {\n\t\tthis.logEntry({\n\t\t\tlevel: \"error\",\n\t\t\tmessage: message3,\n\t\t\tpositionals,\n\t\t\tprefix: `\\u2716 ${this.prefix}`,\n\t\t\tcolors: {\n\t\t\t\ttimestamp: \"red\",\n\t\t\t\tprefix: \"red\"\n\t\t\t}\n\t\t});\n\t}\n\t/**\n\t* Execute the given callback only when the logging is enabled.\n\t* This is skipped in its entirety and has no runtime cost otherwise.\n\t* This executes regardless of the log level.\n\t* @example\n\t* logger.only(() => {\n\t*   logger.info('additional info')\n\t* })\n\t*/\n\tonly(callback) {\n\t\tcallback();\n\t}\n\tcreateEntry(level, message3) {\n\t\treturn {\n\t\t\ttimestamp: /* @__PURE__ */ new Date(),\n\t\t\tlevel,\n\t\t\tmessage: message3\n\t\t};\n\t}\n\tlogEntry(args) {\n\t\tconst { level, message: message3, prefix, colors: customColors, positionals = [] } = args;\n\t\tconst entry = this.createEntry(level, message3);\n\t\tconst timestampColor = (customColors == null ? void 0 : customColors.timestamp) || \"gray\";\n\t\tconst prefixColor = (customColors == null ? void 0 : customColors.prefix) || \"gray\";\n\t\tconst colorize = {\n\t\t\ttimestamp: colors_exports[timestampColor],\n\t\t\tprefix: colors_exports[prefixColor]\n\t\t};\n\t\tthis.getWriter(level)([colorize.timestamp(this.formatTimestamp(entry.timestamp))].concat(prefix != null ? colorize.prefix(prefix) : []).concat(serializeInput(message3)).join(\" \"), ...positionals.map(serializeInput));\n\t}\n\tformatTimestamp(timestamp) {\n\t\treturn `${timestamp.toLocaleTimeString(\"en-GB\")}:${timestamp.getMilliseconds()}`;\n\t}\n\tgetWriter(level) {\n\t\tswitch (level) {\n\t\t\tcase \"debug\":\n\t\t\tcase \"success\":\n\t\t\tcase \"info\": return log;\n\t\t\tcase \"warning\": return warn2;\n\t\t\tcase \"error\": return error2;\n\t\t}\n\t}\n};\nvar PerformanceEntry = class {\n\tconstructor() {\n\t\t__publicField(this, \"startTime\");\n\t\t__publicField(this, \"endTime\");\n\t\t__publicField(this, \"deltaTime\");\n\t\tthis.startTime = performance.now();\n\t}\n\tmeasure() {\n\t\tthis.endTime = performance.now();\n\t\tconst deltaTime = this.endTime - this.startTime;\n\t\tthis.deltaTime = deltaTime.toFixed(2);\n\t}\n};\nvar noop = () => void 0;\nfunction log(message3, ...positionals) {\n\tif (IS_NODE) {\n\t\tprocess.stdout.write(format(message3, ...positionals) + \"\\n\");\n\t\treturn;\n\t}\n\tconsole.log(message3, ...positionals);\n}\nfunction warn2(message3, ...positionals) {\n\tif (IS_NODE) {\n\t\tprocess.stderr.write(format(message3, ...positionals) + \"\\n\");\n\t\treturn;\n\t}\n\tconsole.warn(message3, ...positionals);\n}\nfunction error2(message3, ...positionals) {\n\tif (IS_NODE) {\n\t\tprocess.stderr.write(format(message3, ...positionals) + \"\\n\");\n\t\treturn;\n\t}\n\tconsole.error(message3, ...positionals);\n}\nfunction getVariable(variableName) {\n\tvar _a4;\n\tif (IS_NODE) return process.env[variableName];\n\treturn (_a4 = globalThis[variableName]) == null ? void 0 : _a4.toString();\n}\nfunction isDefinedAndNotEquals(value, expected) {\n\treturn value !== void 0 && value !== expected;\n}\nfunction serializeInput(message3) {\n\tif (typeof message3 === \"undefined\") return \"undefined\";\n\tif (message3 === null) return \"null\";\n\tif (typeof message3 === \"string\") return message3;\n\tif (typeof message3 === \"object\") return JSON.stringify(message3);\n\treturn message3.toString();\n}\nvar INTERNAL_REQUEST_ID_HEADER_NAME = \"x-interceptors-internal-request-id\";\nfunction getGlobalSymbol(symbol) {\n\treturn globalThis[symbol] || void 0;\n}\nfunction setGlobalSymbol(symbol, value) {\n\tglobalThis[symbol] = value;\n}\nfunction deleteGlobalSymbol(symbol) {\n\tdelete globalThis[symbol];\n}\nvar Interceptor = class {\n\tconstructor(symbol) {\n\t\tthis.symbol = symbol;\n\t\tthis.readyState = \"INACTIVE\";\n\t\tthis.emitter = new Emitter();\n\t\tthis.subscriptions = [];\n\t\tthis.logger = new Logger(symbol.description);\n\t\tthis.emitter.setMaxListeners(0);\n\t\tthis.logger.info(\"constructing the interceptor...\");\n\t}\n\t/**\n\t* Determine if this interceptor can be applied\n\t* in the current environment.\n\t*/\n\tcheckEnvironment() {\n\t\treturn true;\n\t}\n\t/**\n\t* Apply this interceptor to the current process.\n\t* Returns an already running interceptor instance if it's present.\n\t*/\n\tapply() {\n\t\tconst logger4 = this.logger.extend(\"apply\");\n\t\tlogger4.info(\"applying the interceptor...\");\n\t\tif (this.readyState === \"APPLIED\") {\n\t\t\tlogger4.info(\"intercepted already applied!\");\n\t\t\treturn;\n\t\t}\n\t\tif (!this.checkEnvironment()) {\n\t\t\tlogger4.info(\"the interceptor cannot be applied in this environment!\");\n\t\t\treturn;\n\t\t}\n\t\tthis.readyState = \"APPLYING\";\n\t\tconst runningInstance = this.getInstance();\n\t\tif (runningInstance) {\n\t\t\tlogger4.info(\"found a running instance, reusing...\");\n\t\t\tthis.on = (event, listener) => {\n\t\t\t\tlogger4.info(\"proxying the \\\"%s\\\" listener\", event);\n\t\t\t\trunningInstance.emitter.addListener(event, listener);\n\t\t\t\tthis.subscriptions.push(() => {\n\t\t\t\t\trunningInstance.emitter.removeListener(event, listener);\n\t\t\t\t\tlogger4.info(\"removed proxied \\\"%s\\\" listener!\", event);\n\t\t\t\t});\n\t\t\t\treturn this;\n\t\t\t};\n\t\t\tthis.readyState = \"APPLIED\";\n\t\t\treturn;\n\t\t}\n\t\tlogger4.info(\"no running instance found, setting up a new instance...\");\n\t\tthis.setup();\n\t\tthis.setInstance();\n\t\tthis.readyState = \"APPLIED\";\n\t}\n\t/**\n\t* Setup the module augments and stubs necessary for this interceptor.\n\t* This method is not run if there's a running interceptor instance\n\t* to prevent instantiating an interceptor multiple times.\n\t*/\n\tsetup() {}\n\t/**\n\t* Listen to the interceptor's public events.\n\t*/\n\ton(event, listener) {\n\t\tconst logger4 = this.logger.extend(\"on\");\n\t\tif (this.readyState === \"DISPOSING\" || this.readyState === \"DISPOSED\") {\n\t\t\tlogger4.info(\"cannot listen to events, already disposed!\");\n\t\t\treturn this;\n\t\t}\n\t\tlogger4.info(\"adding \\\"%s\\\" event listener:\", event, listener);\n\t\tthis.emitter.on(event, listener);\n\t\treturn this;\n\t}\n\tonce(event, listener) {\n\t\tthis.emitter.once(event, listener);\n\t\treturn this;\n\t}\n\toff(event, listener) {\n\t\tthis.emitter.off(event, listener);\n\t\treturn this;\n\t}\n\tremoveAllListeners(event) {\n\t\tthis.emitter.removeAllListeners(event);\n\t\treturn this;\n\t}\n\t/**\n\t* Disposes of any side-effects this interceptor has introduced.\n\t*/\n\tdispose() {\n\t\tconst logger4 = this.logger.extend(\"dispose\");\n\t\tif (this.readyState === \"DISPOSED\") {\n\t\t\tlogger4.info(\"cannot dispose, already disposed!\");\n\t\t\treturn;\n\t\t}\n\t\tlogger4.info(\"disposing the interceptor...\");\n\t\tthis.readyState = \"DISPOSING\";\n\t\tif (!this.getInstance()) {\n\t\t\tlogger4.info(\"no interceptors running, skipping dispose...\");\n\t\t\treturn;\n\t\t}\n\t\tthis.clearInstance();\n\t\tlogger4.info(\"global symbol deleted:\", getGlobalSymbol(this.symbol));\n\t\tif (this.subscriptions.length > 0) {\n\t\t\tlogger4.info(\"disposing of %d subscriptions...\", this.subscriptions.length);\n\t\t\tfor (const dispose of this.subscriptions) dispose();\n\t\t\tthis.subscriptions = [];\n\t\t\tlogger4.info(\"disposed of all subscriptions!\", this.subscriptions.length);\n\t\t}\n\t\tthis.emitter.removeAllListeners();\n\t\tlogger4.info(\"destroyed the listener!\");\n\t\tthis.readyState = \"DISPOSED\";\n\t}\n\tgetInstance() {\n\t\tvar _a4;\n\t\tconst instance = getGlobalSymbol(this.symbol);\n\t\tthis.logger.info(\"retrieved global instance:\", (_a4 = instance == null ? void 0 : instance.constructor) == null ? void 0 : _a4.name);\n\t\treturn instance;\n\t}\n\tsetInstance() {\n\t\tsetGlobalSymbol(this.symbol, this);\n\t\tthis.logger.info(\"set global instance!\", this.symbol.description);\n\t}\n\tclearInstance() {\n\t\tdeleteGlobalSymbol(this.symbol);\n\t\tthis.logger.info(\"cleared global instance!\", this.symbol.description);\n\t}\n};\nfunction createRequestId() {\n\treturn Math.random().toString(16).slice(2);\n}\nvar _FetchResponse = class extends Response {\n\tstatic isConfigurableStatusCode(status) {\n\t\treturn status >= 200 && status <= 599;\n\t}\n\tstatic isRedirectResponse(status) {\n\t\treturn _FetchResponse.STATUS_CODES_WITH_REDIRECT.includes(status);\n\t}\n\t/**\n\t* Returns a boolean indicating whether the given response status\n\t* code represents a response that can have a body.\n\t*/\n\tstatic isResponseWithBody(status) {\n\t\treturn !_FetchResponse.STATUS_CODES_WITHOUT_BODY.includes(status);\n\t}\n\tstatic setUrl(url, response) {\n\t\tif (!url) return;\n\t\tif (response.url != \"\") return;\n\t\tObject.defineProperty(response, \"url\", {\n\t\t\tvalue: url,\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\twritable: false\n\t\t});\n\t}\n\t/**\n\t* Parses the given raw HTTP headers into a Fetch API `Headers` instance.\n\t*/\n\tstatic parseRawHeaders(rawHeaders) {\n\t\tconst headers = new Headers();\n\t\tfor (let line = 0; line < rawHeaders.length; line += 2) headers.append(rawHeaders[line], rawHeaders[line + 1]);\n\t\treturn headers;\n\t}\n\tconstructor(body, init = {}) {\n\t\tvar _a4;\n\t\tconst status = (_a4 = init.status) != null ? _a4 : 200;\n\t\tconst safeStatus = _FetchResponse.isConfigurableStatusCode(status) ? status : 200;\n\t\tconst finalBody = _FetchResponse.isResponseWithBody(status) ? body : null;\n\t\tsuper(finalBody, {\n\t\t\t...init,\n\t\t\tstatus: safeStatus\n\t\t});\n\t\tif (status !== safeStatus) {\n\t\t\tconst stateSymbol = Object.getOwnPropertySymbols(this).find((symbol) => symbol.description === \"state\");\n\t\t\tif (stateSymbol) {\n\t\t\t\tconst state = Reflect.get(this, stateSymbol);\n\t\t\t\tReflect.set(state, \"status\", status);\n\t\t\t} else Object.defineProperty(this, \"status\", {\n\t\t\t\tvalue: status,\n\t\t\t\tenumerable: true,\n\t\t\t\tconfigurable: true,\n\t\t\t\twritable: false\n\t\t\t});\n\t\t}\n\t\t_FetchResponse.setUrl(init.url, this);\n\t}\n};\nvar FetchResponse = _FetchResponse;\nFetchResponse.STATUS_CODES_WITHOUT_BODY = [\n\t101,\n\t103,\n\t204,\n\t205,\n\t304\n];\nFetchResponse.STATUS_CODES_WITH_REDIRECT = [\n\t301,\n\t302,\n\t303,\n\t307,\n\t308\n];\nvar encoder = new TextEncoder();\nfunction encodeBuffer(text) {\n\treturn encoder.encode(text);\n}\nfunction decodeBuffer(buffer, encoding) {\n\treturn new TextDecoder(encoding).decode(buffer);\n}\nfunction toArrayBuffer(array) {\n\treturn array.buffer.slice(array.byteOffset, array.byteOffset + array.byteLength);\n}\nvar IS_PATCHED_MODULE = Symbol(\"isPatchedModule\");\nfunction getCleanUrl(url, isAbsolute = true) {\n\treturn [isAbsolute && url.origin, url.pathname].filter(Boolean).join(\"\");\n}\nvar REDUNDANT_CHARACTERS_EXP = /[\\?|#].*$/g;\nfunction getSearchParams(path) {\n\treturn new URL(`/${path}`, \"http://localhost\").searchParams;\n}\nfunction cleanUrl(path) {\n\tif (path.endsWith(\"?\")) return path;\n\treturn path.replace(REDUNDANT_CHARACTERS_EXP, \"\");\n}\nfunction isAbsoluteUrl(url) {\n\treturn /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n}\nfunction getAbsoluteUrl(path, baseUrl) {\n\tif (isAbsoluteUrl(path)) return path;\n\tif (path.startsWith(\"*\")) return path;\n\tconst origin = baseUrl || typeof document !== \"undefined\" && document.baseURI;\n\treturn origin ? decodeURI(new URL(encodeURI(path), origin).href) : path;\n}\nfunction normalizePath(path, baseUrl) {\n\tif (path instanceof RegExp) return path;\n\treturn cleanUrl(getAbsoluteUrl(path, baseUrl));\n}\nfunction coercePath(path) {\n\treturn path.replace(/([:a-zA-Z_-]*)(\\*{1,2})+/g, (_, parameterName, wildcard) => {\n\t\tconst expression = \"(.*)\";\n\t\tif (!parameterName) return expression;\n\t\treturn parameterName.startsWith(\":\") ? `${parameterName}${wildcard}` : `${parameterName}${expression}`;\n\t}).replace(/([^\\/])(:)(?=\\d+)/, \"$1\\\\$2\").replace(/^([^\\/]+)(:)(?=\\/\\/)/, \"$1\\\\$2\");\n}\nfunction matchRequestUrl(url, path, baseUrl) {\n\tconst normalizedPath = normalizePath(path, baseUrl);\n\tconst cleanPath = typeof normalizedPath === \"string\" ? coercePath(normalizedPath) : normalizedPath;\n\tconst cleanUrl2 = getCleanUrl(url);\n\tconst result = match(cleanPath, { decode: decodeURIComponent })(cleanUrl2);\n\tconst params = result && result.params || {};\n\treturn {\n\t\tmatches: result !== false,\n\t\tparams\n\t};\n}\nfunction toPublicUrl(url) {\n\tif (typeof location === \"undefined\") return url.toString();\n\tconst urlInstance = url instanceof URL ? url : new URL(url);\n\treturn urlInstance.origin === location.origin ? urlInstance.pathname : urlInstance.origin + urlInstance.pathname;\n}\nvar __create2 = Object.create;\nvar __defProp3 = Object.defineProperty;\nvar __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames2 = Object.getOwnPropertyNames;\nvar __getProtoOf2 = Object.getPrototypeOf;\nvar __hasOwnProp2 = Object.prototype.hasOwnProperty;\nvar __commonJS2 = (cb, mod) => function __require3() {\n\treturn mod || (0, cb[__getOwnPropNames2(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __copyProps2 = (to, from, except, desc) => {\n\tif (from && typeof from === \"object\" || typeof from === \"function\") {\n\t\tfor (let key of __getOwnPropNames2(from)) if (!__hasOwnProp2.call(to, key) && key !== except) __defProp3(to, key, {\n\t\t\tget: () => from[key],\n\t\t\tenumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable\n\t\t});\n\t}\n\treturn to;\n};\nvar __toESM2 = (mod, isNodeMode, target) => (target = mod != null ? __create2(__getProtoOf2(mod)) : {}, __copyProps2(isNodeMode || !mod || !mod.__esModule ? __defProp3(target, \"default\", {\n\tvalue: mod,\n\tenumerable: true\n}) : target, mod));\nvar source_default2 = __toESM2(__commonJS2({ \"node_modules/cookie/index.js\"(exports) {\n\t\"use strict\";\n\texports.parse = parse2;\n\texports.serialize = serialize;\n\tvar __toString = Object.prototype.toString;\n\tvar __hasOwnProperty = Object.prototype.hasOwnProperty;\n\tvar cookieNameRegExp = /^[!#$%&'*+\\-.^_`|~0-9A-Za-z]+$/;\n\tvar cookieValueRegExp = /^(\"?)[\\u0021\\u0023-\\u002B\\u002D-\\u003A\\u003C-\\u005B\\u005D-\\u007E]*\\1$/;\n\tvar domainValueRegExp = /^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i;\n\tvar pathValueRegExp = /^[\\u0020-\\u003A\\u003D-\\u007E]*$/;\n\tfunction parse2(str, opt) {\n\t\tif (typeof str !== \"string\") throw new TypeError(\"argument str must be a string\");\n\t\tvar obj = {};\n\t\tvar len = str.length;\n\t\tif (len < 2) return obj;\n\t\tvar dec = opt && opt.decode || decode;\n\t\tvar index = 0;\n\t\tvar eqIdx = 0;\n\t\tvar endIdx = 0;\n\t\tdo {\n\t\t\teqIdx = str.indexOf(\"=\", index);\n\t\t\tif (eqIdx === -1) break;\n\t\t\tendIdx = str.indexOf(\";\", index);\n\t\t\tif (endIdx === -1) endIdx = len;\n\t\t\telse if (eqIdx > endIdx) {\n\t\t\t\tindex = str.lastIndexOf(\";\", eqIdx - 1) + 1;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tvar keyStartIdx = startIndex(str, index, eqIdx);\n\t\t\tvar keyEndIdx = endIndex(str, eqIdx, keyStartIdx);\n\t\t\tvar key = str.slice(keyStartIdx, keyEndIdx);\n\t\t\tif (!__hasOwnProperty.call(obj, key)) {\n\t\t\t\tvar valStartIdx = startIndex(str, eqIdx + 1, endIdx);\n\t\t\t\tvar valEndIdx = endIndex(str, endIdx, valStartIdx);\n\t\t\t\tif (str.charCodeAt(valStartIdx) === 34 && str.charCodeAt(valEndIdx - 1) === 34) {\n\t\t\t\t\tvalStartIdx++;\n\t\t\t\t\tvalEndIdx--;\n\t\t\t\t}\n\t\t\t\tobj[key] = tryDecode(str.slice(valStartIdx, valEndIdx), dec);\n\t\t\t}\n\t\t\tindex = endIdx + 1;\n\t\t} while (index < len);\n\t\treturn obj;\n\t}\n\tfunction startIndex(str, index, max) {\n\t\tdo {\n\t\t\tvar code = str.charCodeAt(index);\n\t\t\tif (code !== 32 && code !== 9) return index;\n\t\t} while (++index < max);\n\t\treturn max;\n\t}\n\tfunction endIndex(str, index, min) {\n\t\twhile (index > min) {\n\t\t\tvar code = str.charCodeAt(--index);\n\t\t\tif (code !== 32 && code !== 9) return index + 1;\n\t\t}\n\t\treturn min;\n\t}\n\tfunction serialize(name, val, opt) {\n\t\tvar enc = opt && opt.encode || encodeURIComponent;\n\t\tif (typeof enc !== \"function\") throw new TypeError(\"option encode is invalid\");\n\t\tif (!cookieNameRegExp.test(name)) throw new TypeError(\"argument name is invalid\");\n\t\tvar value = enc(val);\n\t\tif (!cookieValueRegExp.test(value)) throw new TypeError(\"argument val is invalid\");\n\t\tvar str = name + \"=\" + value;\n\t\tif (!opt) return str;\n\t\tif (null != opt.maxAge) {\n\t\t\tvar maxAge = Math.floor(opt.maxAge);\n\t\t\tif (!isFinite(maxAge)) throw new TypeError(\"option maxAge is invalid\");\n\t\t\tstr += \"; Max-Age=\" + maxAge;\n\t\t}\n\t\tif (opt.domain) {\n\t\t\tif (!domainValueRegExp.test(opt.domain)) throw new TypeError(\"option domain is invalid\");\n\t\t\tstr += \"; Domain=\" + opt.domain;\n\t\t}\n\t\tif (opt.path) {\n\t\t\tif (!pathValueRegExp.test(opt.path)) throw new TypeError(\"option path is invalid\");\n\t\t\tstr += \"; Path=\" + opt.path;\n\t\t}\n\t\tif (opt.expires) {\n\t\t\tvar expires = opt.expires;\n\t\t\tif (!isDate(expires) || isNaN(expires.valueOf())) throw new TypeError(\"option expires is invalid\");\n\t\t\tstr += \"; Expires=\" + expires.toUTCString();\n\t\t}\n\t\tif (opt.httpOnly) str += \"; HttpOnly\";\n\t\tif (opt.secure) str += \"; Secure\";\n\t\tif (opt.partitioned) str += \"; Partitioned\";\n\t\tif (opt.priority) switch (typeof opt.priority === \"string\" ? opt.priority.toLowerCase() : opt.priority) {\n\t\t\tcase \"low\":\n\t\t\t\tstr += \"; Priority=Low\";\n\t\t\t\tbreak;\n\t\t\tcase \"medium\":\n\t\t\t\tstr += \"; Priority=Medium\";\n\t\t\t\tbreak;\n\t\t\tcase \"high\":\n\t\t\t\tstr += \"; Priority=High\";\n\t\t\t\tbreak;\n\t\t\tdefault: throw new TypeError(\"option priority is invalid\");\n\t\t}\n\t\tif (opt.sameSite) switch (typeof opt.sameSite === \"string\" ? opt.sameSite.toLowerCase() : opt.sameSite) {\n\t\t\tcase true:\n\t\t\t\tstr += \"; SameSite=Strict\";\n\t\t\t\tbreak;\n\t\t\tcase \"lax\":\n\t\t\t\tstr += \"; SameSite=Lax\";\n\t\t\t\tbreak;\n\t\t\tcase \"strict\":\n\t\t\t\tstr += \"; SameSite=Strict\";\n\t\t\t\tbreak;\n\t\t\tcase \"none\":\n\t\t\t\tstr += \"; SameSite=None\";\n\t\t\t\tbreak;\n\t\t\tdefault: throw new TypeError(\"option sameSite is invalid\");\n\t\t}\n\t\treturn str;\n\t}\n\tfunction decode(str) {\n\t\treturn str.indexOf(\"%\") !== -1 ? decodeURIComponent(str) : str;\n\t}\n\tfunction isDate(val) {\n\t\treturn __toString.call(val) === \"[object Date]\";\n\t}\n\tfunction tryDecode(str, decode2) {\n\t\ttry {\n\t\t\treturn decode2(str);\n\t\t} catch (e) {\n\t\t\treturn str;\n\t\t}\n\t}\n} })(), 1).default;\nvar __create3 = Object.create;\nvar __defProp4 = Object.defineProperty;\nvar __getOwnPropDesc3 = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames3 = Object.getOwnPropertyNames;\nvar __getProtoOf3 = Object.getPrototypeOf;\nvar __hasOwnProp3 = Object.prototype.hasOwnProperty;\nvar __require2 = /* @__PURE__ */ ((x) => typeof __require !== \"undefined\" ? __require : typeof Proxy !== \"undefined\" ? new Proxy(x, { get: (a, b) => (typeof __require !== \"undefined\" ? __require : a)[b] }) : x)(function(x) {\n\tif (typeof __require !== \"undefined\") return __require.apply(this, arguments);\n\tthrow Error(\"Dynamic require of \\\"\" + x + \"\\\" is not supported\");\n});\nvar __commonJS3 = (cb, mod) => function __require22() {\n\treturn mod || (0, cb[__getOwnPropNames3(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __copyProps3 = (to, from, except, desc) => {\n\tif (from && typeof from === \"object\" || typeof from === \"function\") {\n\t\tfor (let key of __getOwnPropNames3(from)) if (!__hasOwnProp3.call(to, key) && key !== except) __defProp4(to, key, {\n\t\t\tget: () => from[key],\n\t\t\tenumerable: !(desc = __getOwnPropDesc3(from, key)) || desc.enumerable\n\t\t});\n\t}\n\treturn to;\n};\nvar __toESM3 = (mod, isNodeMode, target) => (target = mod != null ? __create3(__getProtoOf3(mod)) : {}, __copyProps3(isNodeMode || !mod || !mod.__esModule ? __defProp4(target, \"default\", {\n\tvalue: mod,\n\tenumerable: true\n}) : target, mod));\nvar require_punycode = __commonJS3({ \"node_modules/punycode/punycode.js\"(exports, module) {\n\t\"use strict\";\n\tvar maxInt = 2147483647;\n\tvar base = 36;\n\tvar tMin = 1;\n\tvar tMax = 26;\n\tvar skew = 38;\n\tvar damp = 700;\n\tvar initialBias = 72;\n\tvar initialN = 128;\n\tvar delimiter = \"-\";\n\tvar regexPunycode = /^xn--/;\n\tvar regexNonASCII = /[^\\0-\\x7F]/;\n\tvar regexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g;\n\tvar errors = {\n\t\t\"overflow\": \"Overflow: input needs wider integers to process\",\n\t\t\"not-basic\": \"Illegal input >= 0x80 (not a basic code point)\",\n\t\t\"invalid-input\": \"Invalid input\"\n\t};\n\tvar baseMinusTMin = base - tMin;\n\tvar floor = Math.floor;\n\tvar stringFromCharCode = String.fromCharCode;\n\tfunction error3(type) {\n\t\tthrow new RangeError(errors[type]);\n\t}\n\tfunction map(array, callback) {\n\t\tconst result = [];\n\t\tlet length = array.length;\n\t\twhile (length--) result[length] = callback(array[length]);\n\t\treturn result;\n\t}\n\tfunction mapDomain(domain, callback) {\n\t\tconst parts = domain.split(\"@\");\n\t\tlet result = \"\";\n\t\tif (parts.length > 1) {\n\t\t\tresult = parts[0] + \"@\";\n\t\t\tdomain = parts[1];\n\t\t}\n\t\tdomain = domain.replace(regexSeparators, \".\");\n\t\tconst encoded = map(domain.split(\".\"), callback).join(\".\");\n\t\treturn result + encoded;\n\t}\n\tfunction ucs2decode(string) {\n\t\tconst output = [];\n\t\tlet counter = 0;\n\t\tconst length = string.length;\n\t\twhile (counter < length) {\n\t\t\tconst value = string.charCodeAt(counter++);\n\t\t\tif (value >= 55296 && value <= 56319 && counter < length) {\n\t\t\t\tconst extra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 64512) == 56320) output.push(((value & 1023) << 10) + (extra & 1023) + 65536);\n\t\t\t\telse {\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else output.push(value);\n\t\t}\n\t\treturn output;\n\t}\n\tvar ucs2encode = (codePoints) => String.fromCodePoint(...codePoints);\n\tvar basicToDigit = function(codePoint) {\n\t\tif (codePoint >= 48 && codePoint < 58) return 26 + (codePoint - 48);\n\t\tif (codePoint >= 65 && codePoint < 91) return codePoint - 65;\n\t\tif (codePoint >= 97 && codePoint < 123) return codePoint - 97;\n\t\treturn base;\n\t};\n\tvar digitToBasic = function(digit, flag) {\n\t\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n\t};\n\tvar adapt = function(delta, numPoints, firstTime) {\n\t\tlet k = 0;\n\t\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\t\tdelta += floor(delta / numPoints);\n\t\tfor (; delta > baseMinusTMin * tMax >> 1; k += base) delta = floor(delta / baseMinusTMin);\n\t\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n\t};\n\tvar decode = function(input) {\n\t\tconst output = [];\n\t\tconst inputLength = input.length;\n\t\tlet i = 0;\n\t\tlet n = initialN;\n\t\tlet bias = initialBias;\n\t\tlet basic = input.lastIndexOf(delimiter);\n\t\tif (basic < 0) basic = 0;\n\t\tfor (let j = 0; j < basic; ++j) {\n\t\t\tif (input.charCodeAt(j) >= 128) error3(\"not-basic\");\n\t\t\toutput.push(input.charCodeAt(j));\n\t\t}\n\t\tfor (let index = basic > 0 ? basic + 1 : 0; index < inputLength;) {\n\t\t\tconst oldi = i;\n\t\t\tfor (let w = 1, k = base;; k += base) {\n\t\t\t\tif (index >= inputLength) error3(\"invalid-input\");\n\t\t\t\tconst digit = basicToDigit(input.charCodeAt(index++));\n\t\t\t\tif (digit >= base) error3(\"invalid-input\");\n\t\t\t\tif (digit > floor((maxInt - i) / w)) error3(\"overflow\");\n\t\t\t\ti += digit * w;\n\t\t\t\tconst t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;\n\t\t\t\tif (digit < t) break;\n\t\t\t\tconst baseMinusT = base - t;\n\t\t\t\tif (w > floor(maxInt / baseMinusT)) error3(\"overflow\");\n\t\t\t\tw *= baseMinusT;\n\t\t\t}\n\t\t\tconst out = output.length + 1;\n\t\t\tbias = adapt(i - oldi, out, oldi == 0);\n\t\t\tif (floor(i / out) > maxInt - n) error3(\"overflow\");\n\t\t\tn += floor(i / out);\n\t\t\ti %= out;\n\t\t\toutput.splice(i++, 0, n);\n\t\t}\n\t\treturn String.fromCodePoint(...output);\n\t};\n\tvar encode = function(input) {\n\t\tconst output = [];\n\t\tinput = ucs2decode(input);\n\t\tconst inputLength = input.length;\n\t\tlet n = initialN;\n\t\tlet delta = 0;\n\t\tlet bias = initialBias;\n\t\tfor (const currentValue of input) if (currentValue < 128) output.push(stringFromCharCode(currentValue));\n\t\tconst basicLength = output.length;\n\t\tlet handledCPCount = basicLength;\n\t\tif (basicLength) output.push(delimiter);\n\t\twhile (handledCPCount < inputLength) {\n\t\t\tlet m = maxInt;\n\t\t\tfor (const currentValue of input) if (currentValue >= n && currentValue < m) m = currentValue;\n\t\t\tconst handledCPCountPlusOne = handledCPCount + 1;\n\t\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) error3(\"overflow\");\n\t\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\t\tn = m;\n\t\t\tfor (const currentValue of input) {\n\t\t\t\tif (currentValue < n && ++delta > maxInt) error3(\"overflow\");\n\t\t\t\tif (currentValue === n) {\n\t\t\t\t\tlet q = delta;\n\t\t\t\t\tfor (let k = base;; k += base) {\n\t\t\t\t\t\tconst t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;\n\t\t\t\t\t\tif (q < t) break;\n\t\t\t\t\t\tconst qMinusT = q - t;\n\t\t\t\t\t\tconst baseMinusT = base - t;\n\t\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0)));\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount === basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\t\t\t++delta;\n\t\t\t++n;\n\t\t}\n\t\treturn output.join(\"\");\n\t};\n\tvar toUnicode = function(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexPunycode.test(string) ? decode(string.slice(4).toLowerCase()) : string;\n\t\t});\n\t};\n\tvar toASCII = function(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexNonASCII.test(string) ? \"xn--\" + encode(string) : string;\n\t\t});\n\t};\n\tmodule.exports = {\n\t\t/**\n\t\t* A string representing the current Punycode.js version number.\n\t\t* @memberOf punycode\n\t\t* @type String\n\t\t*/\n\t\t\"version\": \"2.3.1\",\n\t\t/**\n\t\t* An object of methods to convert from JavaScript's internal character\n\t\t* representation (UCS-2) to Unicode code points, and back.\n\t\t* @see <https://mathiasbynens.be/notes/javascript-encoding>\n\t\t* @memberOf punycode\n\t\t* @type Object\n\t\t*/\n\t\t\"ucs2\": {\n\t\t\t\"decode\": ucs2decode,\n\t\t\t\"encode\": ucs2encode\n\t\t},\n\t\t\"decode\": decode,\n\t\t\"encode\": encode,\n\t\t\"toASCII\": toASCII,\n\t\t\"toUnicode\": toUnicode\n\t};\n} });\nvar require_requires_port = __commonJS3({ \"node_modules/requires-port/index.js\"(exports, module) {\n\t\"use strict\";\n\tmodule.exports = function required(port, protocol) {\n\t\tprotocol = protocol.split(\":\")[0];\n\t\tport = +port;\n\t\tif (!port) return false;\n\t\tswitch (protocol) {\n\t\t\tcase \"http\":\n\t\t\tcase \"ws\": return port !== 80;\n\t\t\tcase \"https\":\n\t\t\tcase \"wss\": return port !== 443;\n\t\t\tcase \"ftp\": return port !== 21;\n\t\t\tcase \"gopher\": return port !== 70;\n\t\t\tcase \"file\": return false;\n\t\t}\n\t\treturn port !== 0;\n\t};\n} });\nvar require_querystringify = __commonJS3({ \"node_modules/querystringify/index.js\"(exports) {\n\t\"use strict\";\n\tvar has = Object.prototype.hasOwnProperty;\n\tvar undef;\n\tfunction decode(input) {\n\t\ttry {\n\t\t\treturn decodeURIComponent(input.replace(/\\+/g, \" \"));\n\t\t} catch (e) {\n\t\t\treturn null;\n\t\t}\n\t}\n\tfunction encode(input) {\n\t\ttry {\n\t\t\treturn encodeURIComponent(input);\n\t\t} catch (e) {\n\t\t\treturn null;\n\t\t}\n\t}\n\tfunction querystring(query) {\n\t\tvar parser = /([^=?#&]+)=?([^&]*)/g, result = {}, part;\n\t\twhile (part = parser.exec(query)) {\n\t\t\tvar key = decode(part[1]), value = decode(part[2]);\n\t\t\tif (key === null || value === null || key in result) continue;\n\t\t\tresult[key] = value;\n\t\t}\n\t\treturn result;\n\t}\n\tfunction querystringify(obj, prefix) {\n\t\tprefix = prefix || \"\";\n\t\tvar pairs = [], value, key;\n\t\tif (\"string\" !== typeof prefix) prefix = \"?\";\n\t\tfor (key in obj) if (has.call(obj, key)) {\n\t\t\tvalue = obj[key];\n\t\t\tif (!value && (value === null || value === undef || isNaN(value))) value = \"\";\n\t\t\tkey = encode(key);\n\t\t\tvalue = encode(value);\n\t\t\tif (key === null || value === null) continue;\n\t\t\tpairs.push(key + \"=\" + value);\n\t\t}\n\t\treturn pairs.length ? prefix + pairs.join(\"&\") : \"\";\n\t}\n\texports.stringify = querystringify;\n\texports.parse = querystring;\n} });\nvar require_url_parse = __commonJS3({ \"node_modules/url-parse/index.js\"(exports, module) {\n\t\"use strict\";\n\tvar required = require_requires_port();\n\tvar qs = require_querystringify();\n\tvar controlOrWhitespace = /^[\\x00-\\x20\\u00a0\\u1680\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000\\ufeff]+/;\n\tvar CRHTLF = /[\\n\\r\\t]/g;\n\tvar slashes = /^[A-Za-z][A-Za-z0-9+-.]*:\\/\\//;\n\tvar port = /:\\d+$/;\n\tvar protocolre = /^([a-z][a-z0-9.+-]*:)?(\\/\\/)?([\\\\/]+)?([\\S\\s]*)/i;\n\tvar windowsDriveLetter = /^[a-zA-Z]:/;\n\tfunction trimLeft(str) {\n\t\treturn (str ? str : \"\").toString().replace(controlOrWhitespace, \"\");\n\t}\n\tvar rules = [\n\t\t[\"#\", \"hash\"],\n\t\t[\"?\", \"query\"],\n\t\tfunction sanitize(address, url) {\n\t\t\treturn isSpecial(url.protocol) ? address.replace(/\\\\/g, \"/\") : address;\n\t\t},\n\t\t[\"/\", \"pathname\"],\n\t\t[\n\t\t\t\"@\",\n\t\t\t\"auth\",\n\t\t\t1\n\t\t],\n\t\t[\n\t\t\tNaN,\n\t\t\t\"host\",\n\t\t\tvoid 0,\n\t\t\t1,\n\t\t\t1\n\t\t],\n\t\t[\n\t\t\t/:(\\d*)$/,\n\t\t\t\"port\",\n\t\t\tvoid 0,\n\t\t\t1\n\t\t],\n\t\t[\n\t\t\tNaN,\n\t\t\t\"hostname\",\n\t\t\tvoid 0,\n\t\t\t1,\n\t\t\t1\n\t\t]\n\t];\n\tvar ignore = {\n\t\thash: 1,\n\t\tquery: 1\n\t};\n\tfunction lolcation(loc) {\n\t\tvar globalVar;\n\t\tif (typeof window !== \"undefined\") globalVar = window;\n\t\telse if (typeof global !== \"undefined\") globalVar = global;\n\t\telse if (typeof self !== \"undefined\") globalVar = self;\n\t\telse globalVar = {};\n\t\tvar location2 = globalVar.location || {};\n\t\tloc = loc || location2;\n\t\tvar finaldestination = {}, type = typeof loc, key;\n\t\tif (\"blob:\" === loc.protocol) finaldestination = new Url(unescape(loc.pathname), {});\n\t\telse if (\"string\" === type) {\n\t\t\tfinaldestination = new Url(loc, {});\n\t\t\tfor (key in ignore) delete finaldestination[key];\n\t\t} else if (\"object\" === type) {\n\t\t\tfor (key in loc) {\n\t\t\t\tif (key in ignore) continue;\n\t\t\t\tfinaldestination[key] = loc[key];\n\t\t\t}\n\t\t\tif (finaldestination.slashes === void 0) finaldestination.slashes = slashes.test(loc.href);\n\t\t}\n\t\treturn finaldestination;\n\t}\n\tfunction isSpecial(scheme) {\n\t\treturn scheme === \"file:\" || scheme === \"ftp:\" || scheme === \"http:\" || scheme === \"https:\" || scheme === \"ws:\" || scheme === \"wss:\";\n\t}\n\tfunction extractProtocol(address, location2) {\n\t\taddress = trimLeft(address);\n\t\taddress = address.replace(CRHTLF, \"\");\n\t\tlocation2 = location2 || {};\n\t\tvar match2 = protocolre.exec(address);\n\t\tvar protocol = match2[1] ? match2[1].toLowerCase() : \"\";\n\t\tvar forwardSlashes = !!match2[2];\n\t\tvar otherSlashes = !!match2[3];\n\t\tvar slashesCount = 0;\n\t\tvar rest;\n\t\tif (forwardSlashes) if (otherSlashes) {\n\t\t\trest = match2[2] + match2[3] + match2[4];\n\t\t\tslashesCount = match2[2].length + match2[3].length;\n\t\t} else {\n\t\t\trest = match2[2] + match2[4];\n\t\t\tslashesCount = match2[2].length;\n\t\t}\n\t\telse if (otherSlashes) {\n\t\t\trest = match2[3] + match2[4];\n\t\t\tslashesCount = match2[3].length;\n\t\t} else rest = match2[4];\n\t\tif (protocol === \"file:\") {\n\t\t\tif (slashesCount >= 2) rest = rest.slice(2);\n\t\t} else if (isSpecial(protocol)) rest = match2[4];\n\t\telse if (protocol) {\n\t\t\tif (forwardSlashes) rest = rest.slice(2);\n\t\t} else if (slashesCount >= 2 && isSpecial(location2.protocol)) rest = match2[4];\n\t\treturn {\n\t\t\tprotocol,\n\t\t\tslashes: forwardSlashes || isSpecial(protocol),\n\t\t\tslashesCount,\n\t\t\trest\n\t\t};\n\t}\n\tfunction resolve(relative, base) {\n\t\tif (relative === \"\") return base;\n\t\tvar path = (base || \"/\").split(\"/\").slice(0, -1).concat(relative.split(\"/\")), i = path.length, last = path[i - 1], unshift = false, up = 0;\n\t\twhile (i--) if (path[i] === \".\") path.splice(i, 1);\n\t\telse if (path[i] === \"..\") {\n\t\t\tpath.splice(i, 1);\n\t\t\tup++;\n\t\t} else if (up) {\n\t\t\tif (i === 0) unshift = true;\n\t\t\tpath.splice(i, 1);\n\t\t\tup--;\n\t\t}\n\t\tif (unshift) path.unshift(\"\");\n\t\tif (last === \".\" || last === \"..\") path.push(\"\");\n\t\treturn path.join(\"/\");\n\t}\n\tfunction Url(address, location2, parser) {\n\t\taddress = trimLeft(address);\n\t\taddress = address.replace(CRHTLF, \"\");\n\t\tif (!(this instanceof Url)) return new Url(address, location2, parser);\n\t\tvar relative, extracted, parse2, instruction, index, key, instructions = rules.slice(), type = typeof location2, url = this, i = 0;\n\t\tif (\"object\" !== type && \"string\" !== type) {\n\t\t\tparser = location2;\n\t\t\tlocation2 = null;\n\t\t}\n\t\tif (parser && \"function\" !== typeof parser) parser = qs.parse;\n\t\tlocation2 = lolcation(location2);\n\t\textracted = extractProtocol(address || \"\", location2);\n\t\trelative = !extracted.protocol && !extracted.slashes;\n\t\turl.slashes = extracted.slashes || relative && location2.slashes;\n\t\turl.protocol = extracted.protocol || location2.protocol || \"\";\n\t\taddress = extracted.rest;\n\t\tif (extracted.protocol === \"file:\" && (extracted.slashesCount !== 2 || windowsDriveLetter.test(address)) || !extracted.slashes && (extracted.protocol || extracted.slashesCount < 2 || !isSpecial(url.protocol))) instructions[3] = [/(.*)/, \"pathname\"];\n\t\tfor (; i < instructions.length; i++) {\n\t\t\tinstruction = instructions[i];\n\t\t\tif (typeof instruction === \"function\") {\n\t\t\t\taddress = instruction(address, url);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tparse2 = instruction[0];\n\t\t\tkey = instruction[1];\n\t\t\tif (parse2 !== parse2) url[key] = address;\n\t\t\telse if (\"string\" === typeof parse2) {\n\t\t\t\tindex = parse2 === \"@\" ? address.lastIndexOf(parse2) : address.indexOf(parse2);\n\t\t\t\tif (~index) if (\"number\" === typeof instruction[2]) {\n\t\t\t\t\turl[key] = address.slice(0, index);\n\t\t\t\t\taddress = address.slice(index + instruction[2]);\n\t\t\t\t} else {\n\t\t\t\t\turl[key] = address.slice(index);\n\t\t\t\t\taddress = address.slice(0, index);\n\t\t\t\t}\n\t\t\t} else if (index = parse2.exec(address)) {\n\t\t\t\turl[key] = index[1];\n\t\t\t\taddress = address.slice(0, index.index);\n\t\t\t}\n\t\t\turl[key] = url[key] || (relative && instruction[3] ? location2[key] || \"\" : \"\");\n\t\t\tif (instruction[4]) url[key] = url[key].toLowerCase();\n\t\t}\n\t\tif (parser) url.query = parser(url.query);\n\t\tif (relative && location2.slashes && url.pathname.charAt(0) !== \"/\" && (url.pathname !== \"\" || location2.pathname !== \"\")) url.pathname = resolve(url.pathname, location2.pathname);\n\t\tif (url.pathname.charAt(0) !== \"/\" && isSpecial(url.protocol)) url.pathname = \"/\" + url.pathname;\n\t\tif (!required(url.port, url.protocol)) {\n\t\t\turl.host = url.hostname;\n\t\t\turl.port = \"\";\n\t\t}\n\t\turl.username = url.password = \"\";\n\t\tif (url.auth) {\n\t\t\tindex = url.auth.indexOf(\":\");\n\t\t\tif (~index) {\n\t\t\t\turl.username = url.auth.slice(0, index);\n\t\t\t\turl.username = encodeURIComponent(decodeURIComponent(url.username));\n\t\t\t\turl.password = url.auth.slice(index + 1);\n\t\t\t\turl.password = encodeURIComponent(decodeURIComponent(url.password));\n\t\t\t} else url.username = encodeURIComponent(decodeURIComponent(url.auth));\n\t\t\turl.auth = url.password ? url.username + \":\" + url.password : url.username;\n\t\t}\n\t\turl.origin = url.protocol !== \"file:\" && isSpecial(url.protocol) && url.host ? url.protocol + \"//\" + url.host : \"null\";\n\t\turl.href = url.toString();\n\t}\n\tfunction set(part, value, fn) {\n\t\tvar url = this;\n\t\tswitch (part) {\n\t\t\tcase \"query\":\n\t\t\t\tif (\"string\" === typeof value && value.length) value = (fn || qs.parse)(value);\n\t\t\t\turl[part] = value;\n\t\t\t\tbreak;\n\t\t\tcase \"port\":\n\t\t\t\turl[part] = value;\n\t\t\t\tif (!required(value, url.protocol)) {\n\t\t\t\t\turl.host = url.hostname;\n\t\t\t\t\turl[part] = \"\";\n\t\t\t\t} else if (value) url.host = url.hostname + \":\" + value;\n\t\t\t\tbreak;\n\t\t\tcase \"hostname\":\n\t\t\t\turl[part] = value;\n\t\t\t\tif (url.port) value += \":\" + url.port;\n\t\t\t\turl.host = value;\n\t\t\t\tbreak;\n\t\t\tcase \"host\":\n\t\t\t\turl[part] = value;\n\t\t\t\tif (port.test(value)) {\n\t\t\t\t\tvalue = value.split(\":\");\n\t\t\t\t\turl.port = value.pop();\n\t\t\t\t\turl.hostname = value.join(\":\");\n\t\t\t\t} else {\n\t\t\t\t\turl.hostname = value;\n\t\t\t\t\turl.port = \"\";\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase \"protocol\":\n\t\t\t\turl.protocol = value.toLowerCase();\n\t\t\t\turl.slashes = !fn;\n\t\t\t\tbreak;\n\t\t\tcase \"pathname\":\n\t\t\tcase \"hash\":\n\t\t\t\tif (value) {\n\t\t\t\t\tvar char = part === \"pathname\" ? \"/\" : \"#\";\n\t\t\t\t\turl[part] = value.charAt(0) !== char ? char + value : value;\n\t\t\t\t} else url[part] = value;\n\t\t\t\tbreak;\n\t\t\tcase \"username\":\n\t\t\tcase \"password\":\n\t\t\t\turl[part] = encodeURIComponent(value);\n\t\t\t\tbreak;\n\t\t\tcase \"auth\":\n\t\t\t\tvar index = value.indexOf(\":\");\n\t\t\t\tif (~index) {\n\t\t\t\t\turl.username = value.slice(0, index);\n\t\t\t\t\turl.username = encodeURIComponent(decodeURIComponent(url.username));\n\t\t\t\t\turl.password = value.slice(index + 1);\n\t\t\t\t\turl.password = encodeURIComponent(decodeURIComponent(url.password));\n\t\t\t\t} else url.username = encodeURIComponent(decodeURIComponent(value));\n\t\t}\n\t\tfor (var i = 0; i < rules.length; i++) {\n\t\t\tvar ins = rules[i];\n\t\t\tif (ins[4]) url[ins[1]] = url[ins[1]].toLowerCase();\n\t\t}\n\t\turl.auth = url.password ? url.username + \":\" + url.password : url.username;\n\t\turl.origin = url.protocol !== \"file:\" && isSpecial(url.protocol) && url.host ? url.protocol + \"//\" + url.host : \"null\";\n\t\turl.href = url.toString();\n\t\treturn url;\n\t}\n\tfunction toString(stringify) {\n\t\tif (!stringify || \"function\" !== typeof stringify) stringify = qs.stringify;\n\t\tvar query, url = this, host = url.host, protocol = url.protocol;\n\t\tif (protocol && protocol.charAt(protocol.length - 1) !== \":\") protocol += \":\";\n\t\tvar result = protocol + (url.protocol && url.slashes || isSpecial(url.protocol) ? \"//\" : \"\");\n\t\tif (url.username) {\n\t\t\tresult += url.username;\n\t\t\tif (url.password) result += \":\" + url.password;\n\t\t\tresult += \"@\";\n\t\t} else if (url.password) {\n\t\t\tresult += \":\" + url.password;\n\t\t\tresult += \"@\";\n\t\t} else if (url.protocol !== \"file:\" && isSpecial(url.protocol) && !host && url.pathname !== \"/\") result += \"@\";\n\t\tif (host[host.length - 1] === \":\" || port.test(url.hostname) && !url.port) host += \":\";\n\t\tresult += host + url.pathname;\n\t\tquery = \"object\" === typeof url.query ? stringify(url.query) : url.query;\n\t\tif (query) result += \"?\" !== query.charAt(0) ? \"?\" + query : query;\n\t\tif (url.hash) result += url.hash;\n\t\treturn result;\n\t}\n\tUrl.prototype = {\n\t\tset,\n\t\ttoString\n\t};\n\tUrl.extractProtocol = extractProtocol;\n\tUrl.location = lolcation;\n\tUrl.trimLeft = trimLeft;\n\tUrl.qs = qs;\n\tmodule.exports = Url;\n} });\nvar require_rules = __commonJS3({ \"node_modules/psl/data/rules.json\"(exports, module) {\n\tmodule.exports = [\n\t\t\"ac\",\n\t\t\"com.ac\",\n\t\t\"edu.ac\",\n\t\t\"gov.ac\",\n\t\t\"net.ac\",\n\t\t\"mil.ac\",\n\t\t\"org.ac\",\n\t\t\"ad\",\n\t\t\"nom.ad\",\n\t\t\"ae\",\n\t\t\"co.ae\",\n\t\t\"net.ae\",\n\t\t\"org.ae\",\n\t\t\"sch.ae\",\n\t\t\"ac.ae\",\n\t\t\"gov.ae\",\n\t\t\"mil.ae\",\n\t\t\"aero\",\n\t\t\"accident-investigation.aero\",\n\t\t\"accident-prevention.aero\",\n\t\t\"aerobatic.aero\",\n\t\t\"aeroclub.aero\",\n\t\t\"aerodrome.aero\",\n\t\t\"agents.aero\",\n\t\t\"aircraft.aero\",\n\t\t\"airline.aero\",\n\t\t\"airport.aero\",\n\t\t\"air-surveillance.aero\",\n\t\t\"airtraffic.aero\",\n\t\t\"air-traffic-control.aero\",\n\t\t\"ambulance.aero\",\n\t\t\"amusement.aero\",\n\t\t\"association.aero\",\n\t\t\"author.aero\",\n\t\t\"ballooning.aero\",\n\t\t\"broker.aero\",\n\t\t\"caa.aero\",\n\t\t\"cargo.aero\",\n\t\t\"catering.aero\",\n\t\t\"certification.aero\",\n\t\t\"championship.aero\",\n\t\t\"charter.aero\",\n\t\t\"civilaviation.aero\",\n\t\t\"club.aero\",\n\t\t\"conference.aero\",\n\t\t\"consultant.aero\",\n\t\t\"consulting.aero\",\n\t\t\"control.aero\",\n\t\t\"council.aero\",\n\t\t\"crew.aero\",\n\t\t\"design.aero\",\n\t\t\"dgca.aero\",\n\t\t\"educator.aero\",\n\t\t\"emergency.aero\",\n\t\t\"engine.aero\",\n\t\t\"engineer.aero\",\n\t\t\"entertainment.aero\",\n\t\t\"equipment.aero\",\n\t\t\"exchange.aero\",\n\t\t\"express.aero\",\n\t\t\"federation.aero\",\n\t\t\"flight.aero\",\n\t\t\"fuel.aero\",\n\t\t\"gliding.aero\",\n\t\t\"government.aero\",\n\t\t\"groundhandling.aero\",\n\t\t\"group.aero\",\n\t\t\"hanggliding.aero\",\n\t\t\"homebuilt.aero\",\n\t\t\"insurance.aero\",\n\t\t\"journal.aero\",\n\t\t\"journalist.aero\",\n\t\t\"leasing.aero\",\n\t\t\"logistics.aero\",\n\t\t\"magazine.aero\",\n\t\t\"maintenance.aero\",\n\t\t\"media.aero\",\n\t\t\"microlight.aero\",\n\t\t\"modelling.aero\",\n\t\t\"navigation.aero\",\n\t\t\"parachuting.aero\",\n\t\t\"paragliding.aero\",\n\t\t\"passenger-association.aero\",\n\t\t\"pilot.aero\",\n\t\t\"press.aero\",\n\t\t\"production.aero\",\n\t\t\"recreation.aero\",\n\t\t\"repbody.aero\",\n\t\t\"res.aero\",\n\t\t\"research.aero\",\n\t\t\"rotorcraft.aero\",\n\t\t\"safety.aero\",\n\t\t\"scientist.aero\",\n\t\t\"services.aero\",\n\t\t\"show.aero\",\n\t\t\"skydiving.aero\",\n\t\t\"software.aero\",\n\t\t\"student.aero\",\n\t\t\"trader.aero\",\n\t\t\"trading.aero\",\n\t\t\"trainer.aero\",\n\t\t\"union.aero\",\n\t\t\"workinggroup.aero\",\n\t\t\"works.aero\",\n\t\t\"af\",\n\t\t\"gov.af\",\n\t\t\"com.af\",\n\t\t\"org.af\",\n\t\t\"net.af\",\n\t\t\"edu.af\",\n\t\t\"ag\",\n\t\t\"com.ag\",\n\t\t\"org.ag\",\n\t\t\"net.ag\",\n\t\t\"co.ag\",\n\t\t\"nom.ag\",\n\t\t\"ai\",\n\t\t\"off.ai\",\n\t\t\"com.ai\",\n\t\t\"net.ai\",\n\t\t\"org.ai\",\n\t\t\"al\",\n\t\t\"com.al\",\n\t\t\"edu.al\",\n\t\t\"gov.al\",\n\t\t\"mil.al\",\n\t\t\"net.al\",\n\t\t\"org.al\",\n\t\t\"am\",\n\t\t\"co.am\",\n\t\t\"com.am\",\n\t\t\"commune.am\",\n\t\t\"net.am\",\n\t\t\"org.am\",\n\t\t\"ao\",\n\t\t\"ed.ao\",\n\t\t\"gv.ao\",\n\t\t\"og.ao\",\n\t\t\"co.ao\",\n\t\t\"pb.ao\",\n\t\t\"it.ao\",\n\t\t\"aq\",\n\t\t\"ar\",\n\t\t\"bet.ar\",\n\t\t\"com.ar\",\n\t\t\"coop.ar\",\n\t\t\"edu.ar\",\n\t\t\"gob.ar\",\n\t\t\"gov.ar\",\n\t\t\"int.ar\",\n\t\t\"mil.ar\",\n\t\t\"musica.ar\",\n\t\t\"mutual.ar\",\n\t\t\"net.ar\",\n\t\t\"org.ar\",\n\t\t\"senasa.ar\",\n\t\t\"tur.ar\",\n\t\t\"arpa\",\n\t\t\"e164.arpa\",\n\t\t\"in-addr.arpa\",\n\t\t\"ip6.arpa\",\n\t\t\"iris.arpa\",\n\t\t\"uri.arpa\",\n\t\t\"urn.arpa\",\n\t\t\"as\",\n\t\t\"gov.as\",\n\t\t\"asia\",\n\t\t\"at\",\n\t\t\"ac.at\",\n\t\t\"co.at\",\n\t\t\"gv.at\",\n\t\t\"or.at\",\n\t\t\"sth.ac.at\",\n\t\t\"au\",\n\t\t\"com.au\",\n\t\t\"net.au\",\n\t\t\"org.au\",\n\t\t\"edu.au\",\n\t\t\"gov.au\",\n\t\t\"asn.au\",\n\t\t\"id.au\",\n\t\t\"info.au\",\n\t\t\"conf.au\",\n\t\t\"oz.au\",\n\t\t\"act.au\",\n\t\t\"nsw.au\",\n\t\t\"nt.au\",\n\t\t\"qld.au\",\n\t\t\"sa.au\",\n\t\t\"tas.au\",\n\t\t\"vic.au\",\n\t\t\"wa.au\",\n\t\t\"act.edu.au\",\n\t\t\"catholic.edu.au\",\n\t\t\"nsw.edu.au\",\n\t\t\"nt.edu.au\",\n\t\t\"qld.edu.au\",\n\t\t\"sa.edu.au\",\n\t\t\"tas.edu.au\",\n\t\t\"vic.edu.au\",\n\t\t\"wa.edu.au\",\n\t\t\"qld.gov.au\",\n\t\t\"sa.gov.au\",\n\t\t\"tas.gov.au\",\n\t\t\"vic.gov.au\",\n\t\t\"wa.gov.au\",\n\t\t\"schools.nsw.edu.au\",\n\t\t\"aw\",\n\t\t\"com.aw\",\n\t\t\"ax\",\n\t\t\"az\",\n\t\t\"com.az\",\n\t\t\"net.az\",\n\t\t\"int.az\",\n\t\t\"gov.az\",\n\t\t\"org.az\",\n\t\t\"edu.az\",\n\t\t\"info.az\",\n\t\t\"pp.az\",\n\t\t\"mil.az\",\n\t\t\"name.az\",\n\t\t\"pro.az\",\n\t\t\"biz.az\",\n\t\t\"ba\",\n\t\t\"com.ba\",\n\t\t\"edu.ba\",\n\t\t\"gov.ba\",\n\t\t\"mil.ba\",\n\t\t\"net.ba\",\n\t\t\"org.ba\",\n\t\t\"bb\",\n\t\t\"biz.bb\",\n\t\t\"co.bb\",\n\t\t\"com.bb\",\n\t\t\"edu.bb\",\n\t\t\"gov.bb\",\n\t\t\"info.bb\",\n\t\t\"net.bb\",\n\t\t\"org.bb\",\n\t\t\"store.bb\",\n\t\t\"tv.bb\",\n\t\t\"*.bd\",\n\t\t\"be\",\n\t\t\"ac.be\",\n\t\t\"bf\",\n\t\t\"gov.bf\",\n\t\t\"bg\",\n\t\t\"a.bg\",\n\t\t\"b.bg\",\n\t\t\"c.bg\",\n\t\t\"d.bg\",\n\t\t\"e.bg\",\n\t\t\"f.bg\",\n\t\t\"g.bg\",\n\t\t\"h.bg\",\n\t\t\"i.bg\",\n\t\t\"j.bg\",\n\t\t\"k.bg\",\n\t\t\"l.bg\",\n\t\t\"m.bg\",\n\t\t\"n.bg\",\n\t\t\"o.bg\",\n\t\t\"p.bg\",\n\t\t\"q.bg\",\n\t\t\"r.bg\",\n\t\t\"s.bg\",\n\t\t\"t.bg\",\n\t\t\"u.bg\",\n\t\t\"v.bg\",\n\t\t\"w.bg\",\n\t\t\"x.bg\",\n\t\t\"y.bg\",\n\t\t\"z.bg\",\n\t\t\"0.bg\",\n\t\t\"1.bg\",\n\t\t\"2.bg\",\n\t\t\"3.bg\",\n\t\t\"4.bg\",\n\t\t\"5.bg\",\n\t\t\"6.bg\",\n\t\t\"7.bg\",\n\t\t\"8.bg\",\n\t\t\"9.bg\",\n\t\t\"bh\",\n\t\t\"com.bh\",\n\t\t\"edu.bh\",\n\t\t\"net.bh\",\n\t\t\"org.bh\",\n\t\t\"gov.bh\",\n\t\t\"bi\",\n\t\t\"co.bi\",\n\t\t\"com.bi\",\n\t\t\"edu.bi\",\n\t\t\"or.bi\",\n\t\t\"org.bi\",\n\t\t\"biz\",\n\t\t\"bj\",\n\t\t\"asso.bj\",\n\t\t\"barreau.bj\",\n\t\t\"gouv.bj\",\n\t\t\"bm\",\n\t\t\"com.bm\",\n\t\t\"edu.bm\",\n\t\t\"gov.bm\",\n\t\t\"net.bm\",\n\t\t\"org.bm\",\n\t\t\"bn\",\n\t\t\"com.bn\",\n\t\t\"edu.bn\",\n\t\t\"gov.bn\",\n\t\t\"net.bn\",\n\t\t\"org.bn\",\n\t\t\"bo\",\n\t\t\"com.bo\",\n\t\t\"edu.bo\",\n\t\t\"gob.bo\",\n\t\t\"int.bo\",\n\t\t\"org.bo\",\n\t\t\"net.bo\",\n\t\t\"mil.bo\",\n\t\t\"tv.bo\",\n\t\t\"web.bo\",\n\t\t\"academia.bo\",\n\t\t\"agro.bo\",\n\t\t\"arte.bo\",\n\t\t\"blog.bo\",\n\t\t\"bolivia.bo\",\n\t\t\"ciencia.bo\",\n\t\t\"cooperativa.bo\",\n\t\t\"democracia.bo\",\n\t\t\"deporte.bo\",\n\t\t\"ecologia.bo\",\n\t\t\"economia.bo\",\n\t\t\"empresa.bo\",\n\t\t\"indigena.bo\",\n\t\t\"industria.bo\",\n\t\t\"info.bo\",\n\t\t\"medicina.bo\",\n\t\t\"movimiento.bo\",\n\t\t\"musica.bo\",\n\t\t\"natural.bo\",\n\t\t\"nombre.bo\",\n\t\t\"noticias.bo\",\n\t\t\"patria.bo\",\n\t\t\"politica.bo\",\n\t\t\"profesional.bo\",\n\t\t\"plurinacional.bo\",\n\t\t\"pueblo.bo\",\n\t\t\"revista.bo\",\n\t\t\"salud.bo\",\n\t\t\"tecnologia.bo\",\n\t\t\"tksat.bo\",\n\t\t\"transporte.bo\",\n\t\t\"wiki.bo\",\n\t\t\"br\",\n\t\t\"9guacu.br\",\n\t\t\"abc.br\",\n\t\t\"adm.br\",\n\t\t\"adv.br\",\n\t\t\"agr.br\",\n\t\t\"aju.br\",\n\t\t\"am.br\",\n\t\t\"anani.br\",\n\t\t\"aparecida.br\",\n\t\t\"app.br\",\n\t\t\"arq.br\",\n\t\t\"art.br\",\n\t\t\"ato.br\",\n\t\t\"b.br\",\n\t\t\"barueri.br\",\n\t\t\"belem.br\",\n\t\t\"bhz.br\",\n\t\t\"bib.br\",\n\t\t\"bio.br\",\n\t\t\"blog.br\",\n\t\t\"bmd.br\",\n\t\t\"boavista.br\",\n\t\t\"bsb.br\",\n\t\t\"campinagrande.br\",\n\t\t\"campinas.br\",\n\t\t\"caxias.br\",\n\t\t\"cim.br\",\n\t\t\"cng.br\",\n\t\t\"cnt.br\",\n\t\t\"com.br\",\n\t\t\"contagem.br\",\n\t\t\"coop.br\",\n\t\t\"coz.br\",\n\t\t\"cri.br\",\n\t\t\"cuiaba.br\",\n\t\t\"curitiba.br\",\n\t\t\"def.br\",\n\t\t\"des.br\",\n\t\t\"det.br\",\n\t\t\"dev.br\",\n\t\t\"ecn.br\",\n\t\t\"eco.br\",\n\t\t\"edu.br\",\n\t\t\"emp.br\",\n\t\t\"enf.br\",\n\t\t\"eng.br\",\n\t\t\"esp.br\",\n\t\t\"etc.br\",\n\t\t\"eti.br\",\n\t\t\"far.br\",\n\t\t\"feira.br\",\n\t\t\"flog.br\",\n\t\t\"floripa.br\",\n\t\t\"fm.br\",\n\t\t\"fnd.br\",\n\t\t\"fortal.br\",\n\t\t\"fot.br\",\n\t\t\"foz.br\",\n\t\t\"fst.br\",\n\t\t\"g12.br\",\n\t\t\"geo.br\",\n\t\t\"ggf.br\",\n\t\t\"goiania.br\",\n\t\t\"gov.br\",\n\t\t\"ac.gov.br\",\n\t\t\"al.gov.br\",\n\t\t\"am.gov.br\",\n\t\t\"ap.gov.br\",\n\t\t\"ba.gov.br\",\n\t\t\"ce.gov.br\",\n\t\t\"df.gov.br\",\n\t\t\"es.gov.br\",\n\t\t\"go.gov.br\",\n\t\t\"ma.gov.br\",\n\t\t\"mg.gov.br\",\n\t\t\"ms.gov.br\",\n\t\t\"mt.gov.br\",\n\t\t\"pa.gov.br\",\n\t\t\"pb.gov.br\",\n\t\t\"pe.gov.br\",\n\t\t\"pi.gov.br\",\n\t\t\"pr.gov.br\",\n\t\t\"rj.gov.br\",\n\t\t\"rn.gov.br\",\n\t\t\"ro.gov.br\",\n\t\t\"rr.gov.br\",\n\t\t\"rs.gov.br\",\n\t\t\"sc.gov.br\",\n\t\t\"se.gov.br\",\n\t\t\"sp.gov.br\",\n\t\t\"to.gov.br\",\n\t\t\"gru.br\",\n\t\t\"imb.br\",\n\t\t\"ind.br\",\n\t\t\"inf.br\",\n\t\t\"jab.br\",\n\t\t\"jampa.br\",\n\t\t\"jdf.br\",\n\t\t\"joinville.br\",\n\t\t\"jor.br\",\n\t\t\"jus.br\",\n\t\t\"leg.br\",\n\t\t\"lel.br\",\n\t\t\"log.br\",\n\t\t\"londrina.br\",\n\t\t\"macapa.br\",\n\t\t\"maceio.br\",\n\t\t\"manaus.br\",\n\t\t\"maringa.br\",\n\t\t\"mat.br\",\n\t\t\"med.br\",\n\t\t\"mil.br\",\n\t\t\"morena.br\",\n\t\t\"mp.br\",\n\t\t\"mus.br\",\n\t\t\"natal.br\",\n\t\t\"net.br\",\n\t\t\"niteroi.br\",\n\t\t\"*.nom.br\",\n\t\t\"not.br\",\n\t\t\"ntr.br\",\n\t\t\"odo.br\",\n\t\t\"ong.br\",\n\t\t\"org.br\",\n\t\t\"osasco.br\",\n\t\t\"palmas.br\",\n\t\t\"poa.br\",\n\t\t\"ppg.br\",\n\t\t\"pro.br\",\n\t\t\"psc.br\",\n\t\t\"psi.br\",\n\t\t\"pvh.br\",\n\t\t\"qsl.br\",\n\t\t\"radio.br\",\n\t\t\"rec.br\",\n\t\t\"recife.br\",\n\t\t\"rep.br\",\n\t\t\"ribeirao.br\",\n\t\t\"rio.br\",\n\t\t\"riobranco.br\",\n\t\t\"riopreto.br\",\n\t\t\"salvador.br\",\n\t\t\"sampa.br\",\n\t\t\"santamaria.br\",\n\t\t\"santoandre.br\",\n\t\t\"saobernardo.br\",\n\t\t\"saogonca.br\",\n\t\t\"seg.br\",\n\t\t\"sjc.br\",\n\t\t\"slg.br\",\n\t\t\"slz.br\",\n\t\t\"sorocaba.br\",\n\t\t\"srv.br\",\n\t\t\"taxi.br\",\n\t\t\"tc.br\",\n\t\t\"tec.br\",\n\t\t\"teo.br\",\n\t\t\"the.br\",\n\t\t\"tmp.br\",\n\t\t\"trd.br\",\n\t\t\"tur.br\",\n\t\t\"tv.br\",\n\t\t\"udi.br\",\n\t\t\"vet.br\",\n\t\t\"vix.br\",\n\t\t\"vlog.br\",\n\t\t\"wiki.br\",\n\t\t\"zlg.br\",\n\t\t\"bs\",\n\t\t\"com.bs\",\n\t\t\"net.bs\",\n\t\t\"org.bs\",\n\t\t\"edu.bs\",\n\t\t\"gov.bs\",\n\t\t\"bt\",\n\t\t\"com.bt\",\n\t\t\"edu.bt\",\n\t\t\"gov.bt\",\n\t\t\"net.bt\",\n\t\t\"org.bt\",\n\t\t\"bv\",\n\t\t\"bw\",\n\t\t\"co.bw\",\n\t\t\"org.bw\",\n\t\t\"by\",\n\t\t\"gov.by\",\n\t\t\"mil.by\",\n\t\t\"com.by\",\n\t\t\"of.by\",\n\t\t\"bz\",\n\t\t\"com.bz\",\n\t\t\"net.bz\",\n\t\t\"org.bz\",\n\t\t\"edu.bz\",\n\t\t\"gov.bz\",\n\t\t\"ca\",\n\t\t\"ab.ca\",\n\t\t\"bc.ca\",\n\t\t\"mb.ca\",\n\t\t\"nb.ca\",\n\t\t\"nf.ca\",\n\t\t\"nl.ca\",\n\t\t\"ns.ca\",\n\t\t\"nt.ca\",\n\t\t\"nu.ca\",\n\t\t\"on.ca\",\n\t\t\"pe.ca\",\n\t\t\"qc.ca\",\n\t\t\"sk.ca\",\n\t\t\"yk.ca\",\n\t\t\"gc.ca\",\n\t\t\"cat\",\n\t\t\"cc\",\n\t\t\"cd\",\n\t\t\"gov.cd\",\n\t\t\"cf\",\n\t\t\"cg\",\n\t\t\"ch\",\n\t\t\"ci\",\n\t\t\"org.ci\",\n\t\t\"or.ci\",\n\t\t\"com.ci\",\n\t\t\"co.ci\",\n\t\t\"edu.ci\",\n\t\t\"ed.ci\",\n\t\t\"ac.ci\",\n\t\t\"net.ci\",\n\t\t\"go.ci\",\n\t\t\"asso.ci\",\n\t\t\"aéroport.ci\",\n\t\t\"int.ci\",\n\t\t\"presse.ci\",\n\t\t\"md.ci\",\n\t\t\"gouv.ci\",\n\t\t\"*.ck\",\n\t\t\"!www.ck\",\n\t\t\"cl\",\n\t\t\"co.cl\",\n\t\t\"gob.cl\",\n\t\t\"gov.cl\",\n\t\t\"mil.cl\",\n\t\t\"cm\",\n\t\t\"co.cm\",\n\t\t\"com.cm\",\n\t\t\"gov.cm\",\n\t\t\"net.cm\",\n\t\t\"cn\",\n\t\t\"ac.cn\",\n\t\t\"com.cn\",\n\t\t\"edu.cn\",\n\t\t\"gov.cn\",\n\t\t\"net.cn\",\n\t\t\"org.cn\",\n\t\t\"mil.cn\",\n\t\t\"公司.cn\",\n\t\t\"网络.cn\",\n\t\t\"網絡.cn\",\n\t\t\"ah.cn\",\n\t\t\"bj.cn\",\n\t\t\"cq.cn\",\n\t\t\"fj.cn\",\n\t\t\"gd.cn\",\n\t\t\"gs.cn\",\n\t\t\"gz.cn\",\n\t\t\"gx.cn\",\n\t\t\"ha.cn\",\n\t\t\"hb.cn\",\n\t\t\"he.cn\",\n\t\t\"hi.cn\",\n\t\t\"hl.cn\",\n\t\t\"hn.cn\",\n\t\t\"jl.cn\",\n\t\t\"js.cn\",\n\t\t\"jx.cn\",\n\t\t\"ln.cn\",\n\t\t\"nm.cn\",\n\t\t\"nx.cn\",\n\t\t\"qh.cn\",\n\t\t\"sc.cn\",\n\t\t\"sd.cn\",\n\t\t\"sh.cn\",\n\t\t\"sn.cn\",\n\t\t\"sx.cn\",\n\t\t\"tj.cn\",\n\t\t\"xj.cn\",\n\t\t\"xz.cn\",\n\t\t\"yn.cn\",\n\t\t\"zj.cn\",\n\t\t\"hk.cn\",\n\t\t\"mo.cn\",\n\t\t\"tw.cn\",\n\t\t\"co\",\n\t\t\"arts.co\",\n\t\t\"com.co\",\n\t\t\"edu.co\",\n\t\t\"firm.co\",\n\t\t\"gov.co\",\n\t\t\"info.co\",\n\t\t\"int.co\",\n\t\t\"mil.co\",\n\t\t\"net.co\",\n\t\t\"nom.co\",\n\t\t\"org.co\",\n\t\t\"rec.co\",\n\t\t\"web.co\",\n\t\t\"com\",\n\t\t\"coop\",\n\t\t\"cr\",\n\t\t\"ac.cr\",\n\t\t\"co.cr\",\n\t\t\"ed.cr\",\n\t\t\"fi.cr\",\n\t\t\"go.cr\",\n\t\t\"or.cr\",\n\t\t\"sa.cr\",\n\t\t\"cu\",\n\t\t\"com.cu\",\n\t\t\"edu.cu\",\n\t\t\"org.cu\",\n\t\t\"net.cu\",\n\t\t\"gov.cu\",\n\t\t\"inf.cu\",\n\t\t\"cv\",\n\t\t\"com.cv\",\n\t\t\"edu.cv\",\n\t\t\"int.cv\",\n\t\t\"nome.cv\",\n\t\t\"org.cv\",\n\t\t\"cw\",\n\t\t\"com.cw\",\n\t\t\"edu.cw\",\n\t\t\"net.cw\",\n\t\t\"org.cw\",\n\t\t\"cx\",\n\t\t\"gov.cx\",\n\t\t\"cy\",\n\t\t\"ac.cy\",\n\t\t\"biz.cy\",\n\t\t\"com.cy\",\n\t\t\"ekloges.cy\",\n\t\t\"gov.cy\",\n\t\t\"ltd.cy\",\n\t\t\"mil.cy\",\n\t\t\"net.cy\",\n\t\t\"org.cy\",\n\t\t\"press.cy\",\n\t\t\"pro.cy\",\n\t\t\"tm.cy\",\n\t\t\"cz\",\n\t\t\"de\",\n\t\t\"dj\",\n\t\t\"dk\",\n\t\t\"dm\",\n\t\t\"com.dm\",\n\t\t\"net.dm\",\n\t\t\"org.dm\",\n\t\t\"edu.dm\",\n\t\t\"gov.dm\",\n\t\t\"do\",\n\t\t\"art.do\",\n\t\t\"com.do\",\n\t\t\"edu.do\",\n\t\t\"gob.do\",\n\t\t\"gov.do\",\n\t\t\"mil.do\",\n\t\t\"net.do\",\n\t\t\"org.do\",\n\t\t\"sld.do\",\n\t\t\"web.do\",\n\t\t\"dz\",\n\t\t\"art.dz\",\n\t\t\"asso.dz\",\n\t\t\"com.dz\",\n\t\t\"edu.dz\",\n\t\t\"gov.dz\",\n\t\t\"org.dz\",\n\t\t\"net.dz\",\n\t\t\"pol.dz\",\n\t\t\"soc.dz\",\n\t\t\"tm.dz\",\n\t\t\"ec\",\n\t\t\"com.ec\",\n\t\t\"info.ec\",\n\t\t\"net.ec\",\n\t\t\"fin.ec\",\n\t\t\"k12.ec\",\n\t\t\"med.ec\",\n\t\t\"pro.ec\",\n\t\t\"org.ec\",\n\t\t\"edu.ec\",\n\t\t\"gov.ec\",\n\t\t\"gob.ec\",\n\t\t\"mil.ec\",\n\t\t\"edu\",\n\t\t\"ee\",\n\t\t\"edu.ee\",\n\t\t\"gov.ee\",\n\t\t\"riik.ee\",\n\t\t\"lib.ee\",\n\t\t\"med.ee\",\n\t\t\"com.ee\",\n\t\t\"pri.ee\",\n\t\t\"aip.ee\",\n\t\t\"org.ee\",\n\t\t\"fie.ee\",\n\t\t\"eg\",\n\t\t\"com.eg\",\n\t\t\"edu.eg\",\n\t\t\"eun.eg\",\n\t\t\"gov.eg\",\n\t\t\"mil.eg\",\n\t\t\"name.eg\",\n\t\t\"net.eg\",\n\t\t\"org.eg\",\n\t\t\"sci.eg\",\n\t\t\"*.er\",\n\t\t\"es\",\n\t\t\"com.es\",\n\t\t\"nom.es\",\n\t\t\"org.es\",\n\t\t\"gob.es\",\n\t\t\"edu.es\",\n\t\t\"et\",\n\t\t\"com.et\",\n\t\t\"gov.et\",\n\t\t\"org.et\",\n\t\t\"edu.et\",\n\t\t\"biz.et\",\n\t\t\"name.et\",\n\t\t\"info.et\",\n\t\t\"net.et\",\n\t\t\"eu\",\n\t\t\"fi\",\n\t\t\"aland.fi\",\n\t\t\"fj\",\n\t\t\"ac.fj\",\n\t\t\"biz.fj\",\n\t\t\"com.fj\",\n\t\t\"gov.fj\",\n\t\t\"info.fj\",\n\t\t\"mil.fj\",\n\t\t\"name.fj\",\n\t\t\"net.fj\",\n\t\t\"org.fj\",\n\t\t\"pro.fj\",\n\t\t\"*.fk\",\n\t\t\"com.fm\",\n\t\t\"edu.fm\",\n\t\t\"net.fm\",\n\t\t\"org.fm\",\n\t\t\"fm\",\n\t\t\"fo\",\n\t\t\"fr\",\n\t\t\"asso.fr\",\n\t\t\"com.fr\",\n\t\t\"gouv.fr\",\n\t\t\"nom.fr\",\n\t\t\"prd.fr\",\n\t\t\"tm.fr\",\n\t\t\"aeroport.fr\",\n\t\t\"avocat.fr\",\n\t\t\"avoues.fr\",\n\t\t\"cci.fr\",\n\t\t\"chambagri.fr\",\n\t\t\"chirurgiens-dentistes.fr\",\n\t\t\"experts-comptables.fr\",\n\t\t\"geometre-expert.fr\",\n\t\t\"greta.fr\",\n\t\t\"huissier-justice.fr\",\n\t\t\"medecin.fr\",\n\t\t\"notaires.fr\",\n\t\t\"pharmacien.fr\",\n\t\t\"port.fr\",\n\t\t\"veterinaire.fr\",\n\t\t\"ga\",\n\t\t\"gb\",\n\t\t\"edu.gd\",\n\t\t\"gov.gd\",\n\t\t\"gd\",\n\t\t\"ge\",\n\t\t\"com.ge\",\n\t\t\"edu.ge\",\n\t\t\"gov.ge\",\n\t\t\"org.ge\",\n\t\t\"mil.ge\",\n\t\t\"net.ge\",\n\t\t\"pvt.ge\",\n\t\t\"gf\",\n\t\t\"gg\",\n\t\t\"co.gg\",\n\t\t\"net.gg\",\n\t\t\"org.gg\",\n\t\t\"gh\",\n\t\t\"com.gh\",\n\t\t\"edu.gh\",\n\t\t\"gov.gh\",\n\t\t\"org.gh\",\n\t\t\"mil.gh\",\n\t\t\"gi\",\n\t\t\"com.gi\",\n\t\t\"ltd.gi\",\n\t\t\"gov.gi\",\n\t\t\"mod.gi\",\n\t\t\"edu.gi\",\n\t\t\"org.gi\",\n\t\t\"gl\",\n\t\t\"co.gl\",\n\t\t\"com.gl\",\n\t\t\"edu.gl\",\n\t\t\"net.gl\",\n\t\t\"org.gl\",\n\t\t\"gm\",\n\t\t\"gn\",\n\t\t\"ac.gn\",\n\t\t\"com.gn\",\n\t\t\"edu.gn\",\n\t\t\"gov.gn\",\n\t\t\"org.gn\",\n\t\t\"net.gn\",\n\t\t\"gov\",\n\t\t\"gp\",\n\t\t\"com.gp\",\n\t\t\"net.gp\",\n\t\t\"mobi.gp\",\n\t\t\"edu.gp\",\n\t\t\"org.gp\",\n\t\t\"asso.gp\",\n\t\t\"gq\",\n\t\t\"gr\",\n\t\t\"com.gr\",\n\t\t\"edu.gr\",\n\t\t\"net.gr\",\n\t\t\"org.gr\",\n\t\t\"gov.gr\",\n\t\t\"gs\",\n\t\t\"gt\",\n\t\t\"com.gt\",\n\t\t\"edu.gt\",\n\t\t\"gob.gt\",\n\t\t\"ind.gt\",\n\t\t\"mil.gt\",\n\t\t\"net.gt\",\n\t\t\"org.gt\",\n\t\t\"gu\",\n\t\t\"com.gu\",\n\t\t\"edu.gu\",\n\t\t\"gov.gu\",\n\t\t\"guam.gu\",\n\t\t\"info.gu\",\n\t\t\"net.gu\",\n\t\t\"org.gu\",\n\t\t\"web.gu\",\n\t\t\"gw\",\n\t\t\"gy\",\n\t\t\"co.gy\",\n\t\t\"com.gy\",\n\t\t\"edu.gy\",\n\t\t\"gov.gy\",\n\t\t\"net.gy\",\n\t\t\"org.gy\",\n\t\t\"hk\",\n\t\t\"com.hk\",\n\t\t\"edu.hk\",\n\t\t\"gov.hk\",\n\t\t\"idv.hk\",\n\t\t\"net.hk\",\n\t\t\"org.hk\",\n\t\t\"公司.hk\",\n\t\t\"教育.hk\",\n\t\t\"敎育.hk\",\n\t\t\"政府.hk\",\n\t\t\"個人.hk\",\n\t\t\"个��.hk\",\n\t\t\"箇人.hk\",\n\t\t\"網络.hk\",\n\t\t\"网络.hk\",\n\t\t\"组織.hk\",\n\t\t\"網絡.hk\",\n\t\t\"网絡.hk\",\n\t\t\"组织.hk\",\n\t\t\"組織.hk\",\n\t\t\"組织.hk\",\n\t\t\"hm\",\n\t\t\"hn\",\n\t\t\"com.hn\",\n\t\t\"edu.hn\",\n\t\t\"org.hn\",\n\t\t\"net.hn\",\n\t\t\"mil.hn\",\n\t\t\"gob.hn\",\n\t\t\"hr\",\n\t\t\"iz.hr\",\n\t\t\"from.hr\",\n\t\t\"name.hr\",\n\t\t\"com.hr\",\n\t\t\"ht\",\n\t\t\"com.ht\",\n\t\t\"shop.ht\",\n\t\t\"firm.ht\",\n\t\t\"info.ht\",\n\t\t\"adult.ht\",\n\t\t\"net.ht\",\n\t\t\"pro.ht\",\n\t\t\"org.ht\",\n\t\t\"med.ht\",\n\t\t\"art.ht\",\n\t\t\"coop.ht\",\n\t\t\"pol.ht\",\n\t\t\"asso.ht\",\n\t\t\"edu.ht\",\n\t\t\"rel.ht\",\n\t\t\"gouv.ht\",\n\t\t\"perso.ht\",\n\t\t\"hu\",\n\t\t\"co.hu\",\n\t\t\"info.hu\",\n\t\t\"org.hu\",\n\t\t\"priv.hu\",\n\t\t\"sport.hu\",\n\t\t\"tm.hu\",\n\t\t\"2000.hu\",\n\t\t\"agrar.hu\",\n\t\t\"bolt.hu\",\n\t\t\"casino.hu\",\n\t\t\"city.hu\",\n\t\t\"erotica.hu\",\n\t\t\"erotika.hu\",\n\t\t\"film.hu\",\n\t\t\"forum.hu\",\n\t\t\"games.hu\",\n\t\t\"hotel.hu\",\n\t\t\"ingatlan.hu\",\n\t\t\"jogasz.hu\",\n\t\t\"konyvelo.hu\",\n\t\t\"lakas.hu\",\n\t\t\"media.hu\",\n\t\t\"news.hu\",\n\t\t\"reklam.hu\",\n\t\t\"sex.hu\",\n\t\t\"shop.hu\",\n\t\t\"suli.hu\",\n\t\t\"szex.hu\",\n\t\t\"tozsde.hu\",\n\t\t\"utazas.hu\",\n\t\t\"video.hu\",\n\t\t\"id\",\n\t\t\"ac.id\",\n\t\t\"biz.id\",\n\t\t\"co.id\",\n\t\t\"desa.id\",\n\t\t\"go.id\",\n\t\t\"mil.id\",\n\t\t\"my.id\",\n\t\t\"net.id\",\n\t\t\"or.id\",\n\t\t\"ponpes.id\",\n\t\t\"sch.id\",\n\t\t\"web.id\",\n\t\t\"ie\",\n\t\t\"gov.ie\",\n\t\t\"il\",\n\t\t\"ac.il\",\n\t\t\"co.il\",\n\t\t\"gov.il\",\n\t\t\"idf.il\",\n\t\t\"k12.il\",\n\t\t\"muni.il\",\n\t\t\"net.il\",\n\t\t\"org.il\",\n\t\t\"im\",\n\t\t\"ac.im\",\n\t\t\"co.im\",\n\t\t\"com.im\",\n\t\t\"ltd.co.im\",\n\t\t\"net.im\",\n\t\t\"org.im\",\n\t\t\"plc.co.im\",\n\t\t\"tt.im\",\n\t\t\"tv.im\",\n\t\t\"in\",\n\t\t\"co.in\",\n\t\t\"firm.in\",\n\t\t\"net.in\",\n\t\t\"org.in\",\n\t\t\"gen.in\",\n\t\t\"ind.in\",\n\t\t\"nic.in\",\n\t\t\"ac.in\",\n\t\t\"edu.in\",\n\t\t\"res.in\",\n\t\t\"gov.in\",\n\t\t\"mil.in\",\n\t\t\"info\",\n\t\t\"int\",\n\t\t\"eu.int\",\n\t\t\"io\",\n\t\t\"com.io\",\n\t\t\"iq\",\n\t\t\"gov.iq\",\n\t\t\"edu.iq\",\n\t\t\"mil.iq\",\n\t\t\"com.iq\",\n\t\t\"org.iq\",\n\t\t\"net.iq\",\n\t\t\"ir\",\n\t\t\"ac.ir\",\n\t\t\"co.ir\",\n\t\t\"gov.ir\",\n\t\t\"id.ir\",\n\t\t\"net.ir\",\n\t\t\"org.ir\",\n\t\t\"sch.ir\",\n\t\t\"ایران.ir\",\n\t\t\"ايران.ir\",\n\t\t\"is\",\n\t\t\"net.is\",\n\t\t\"com.is\",\n\t\t\"edu.is\",\n\t\t\"gov.is\",\n\t\t\"org.is\",\n\t\t\"int.is\",\n\t\t\"it\",\n\t\t\"gov.it\",\n\t\t\"edu.it\",\n\t\t\"abr.it\",\n\t\t\"abruzzo.it\",\n\t\t\"aosta-valley.it\",\n\t\t\"aostavalley.it\",\n\t\t\"bas.it\",\n\t\t\"basilicata.it\",\n\t\t\"cal.it\",\n\t\t\"calabria.it\",\n\t\t\"cam.it\",\n\t\t\"campania.it\",\n\t\t\"emilia-romagna.it\",\n\t\t\"emiliaromagna.it\",\n\t\t\"emr.it\",\n\t\t\"friuli-v-giulia.it\",\n\t\t\"friuli-ve-giulia.it\",\n\t\t\"friuli-vegiulia.it\",\n\t\t\"friuli-venezia-giulia.it\",\n\t\t\"friuli-veneziagiulia.it\",\n\t\t\"friuli-vgiulia.it\",\n\t\t\"friuliv-giulia.it\",\n\t\t\"friulive-giulia.it\",\n\t\t\"friulivegiulia.it\",\n\t\t\"friulivenezia-giulia.it\",\n\t\t\"friuliveneziagiulia.it\",\n\t\t\"friulivgiulia.it\",\n\t\t\"fvg.it\",\n\t\t\"laz.it\",\n\t\t\"lazio.it\",\n\t\t\"lig.it\",\n\t\t\"liguria.it\",\n\t\t\"lom.it\",\n\t\t\"lombardia.it\",\n\t\t\"lombardy.it\",\n\t\t\"lucania.it\",\n\t\t\"mar.it\",\n\t\t\"marche.it\",\n\t\t\"mol.it\",\n\t\t\"molise.it\",\n\t\t\"piedmont.it\",\n\t\t\"piemonte.it\",\n\t\t\"pmn.it\",\n\t\t\"pug.it\",\n\t\t\"puglia.it\",\n\t\t\"sar.it\",\n\t\t\"sardegna.it\",\n\t\t\"sardinia.it\",\n\t\t\"sic.it\",\n\t\t\"sicilia.it\",\n\t\t\"sicily.it\",\n\t\t\"taa.it\",\n\t\t\"tos.it\",\n\t\t\"toscana.it\",\n\t\t\"trentin-sud-tirol.it\",\n\t\t\"trentin-süd-tirol.it\",\n\t\t\"trentin-sudtirol.it\",\n\t\t\"trentin-südtirol.it\",\n\t\t\"trentin-sued-tirol.it\",\n\t\t\"trentin-suedtirol.it\",\n\t\t\"trentino-a-adige.it\",\n\t\t\"trentino-aadige.it\",\n\t\t\"trentino-alto-adige.it\",\n\t\t\"trentino-altoadige.it\",\n\t\t\"trentino-s-tirol.it\",\n\t\t\"trentino-stirol.it\",\n\t\t\"trentino-sud-tirol.it\",\n\t\t\"trentino-süd-tirol.it\",\n\t\t\"trentino-sudtirol.it\",\n\t\t\"trentino-südtirol.it\",\n\t\t\"trentino-sued-tirol.it\",\n\t\t\"trentino-suedtirol.it\",\n\t\t\"trentino.it\",\n\t\t\"trentinoa-adige.it\",\n\t\t\"trentinoaadige.it\",\n\t\t\"trentinoalto-adige.it\",\n\t\t\"trentinoaltoadige.it\",\n\t\t\"trentinos-tirol.it\",\n\t\t\"trentinostirol.it\",\n\t\t\"trentinosud-tirol.it\",\n\t\t\"trentinosüd-tirol.it\",\n\t\t\"trentinosudtirol.it\",\n\t\t\"trentinosüdtirol.it\",\n\t\t\"trentinosued-tirol.it\",\n\t\t\"trentinosuedtirol.it\",\n\t\t\"trentinsud-tirol.it\",\n\t\t\"trentinsüd-tirol.it\",\n\t\t\"trentinsudtirol.it\",\n\t\t\"trentinsüdtirol.it\",\n\t\t\"trentinsued-tirol.it\",\n\t\t\"trentinsuedtirol.it\",\n\t\t\"tuscany.it\",\n\t\t\"umb.it\",\n\t\t\"umbria.it\",\n\t\t\"val-d-aosta.it\",\n\t\t\"val-daosta.it\",\n\t\t\"vald-aosta.it\",\n\t\t\"valdaosta.it\",\n\t\t\"valle-aosta.it\",\n\t\t\"valle-d-aosta.it\",\n\t\t\"valle-daosta.it\",\n\t\t\"valleaosta.it\",\n\t\t\"valled-aosta.it\",\n\t\t\"valledaosta.it\",\n\t\t\"vallee-aoste.it\",\n\t\t\"vallée-aoste.it\",\n\t\t\"vallee-d-aoste.it\",\n\t\t\"vallée-d-aoste.it\",\n\t\t\"valleeaoste.it\",\n\t\t\"valléeaoste.it\",\n\t\t\"valleedaoste.it\",\n\t\t\"valléedaoste.it\",\n\t\t\"vao.it\",\n\t\t\"vda.it\",\n\t\t\"ven.it\",\n\t\t\"veneto.it\",\n\t\t\"ag.it\",\n\t\t\"agrigento.it\",\n\t\t\"al.it\",\n\t\t\"alessandria.it\",\n\t\t\"alto-adige.it\",\n\t\t\"altoadige.it\",\n\t\t\"an.it\",\n\t\t\"ancona.it\",\n\t\t\"andria-barletta-trani.it\",\n\t\t\"andria-trani-barletta.it\",\n\t\t\"andriabarlettatrani.it\",\n\t\t\"andriatranibarletta.it\",\n\t\t\"ao.it\",\n\t\t\"aosta.it\",\n\t\t\"aoste.it\",\n\t\t\"ap.it\",\n\t\t\"aq.it\",\n\t\t\"aquila.it\",\n\t\t\"ar.it\",\n\t\t\"arezzo.it\",\n\t\t\"ascoli-piceno.it\",\n\t\t\"ascolipiceno.it\",\n\t\t\"asti.it\",\n\t\t\"at.it\",\n\t\t\"av.it\",\n\t\t\"avellino.it\",\n\t\t\"ba.it\",\n\t\t\"balsan-sudtirol.it\",\n\t\t\"balsan-südtirol.it\",\n\t\t\"balsan-suedtirol.it\",\n\t\t\"balsan.it\",\n\t\t\"bari.it\",\n\t\t\"barletta-trani-andria.it\",\n\t\t\"barlettatraniandria.it\",\n\t\t\"belluno.it\",\n\t\t\"benevento.it\",\n\t\t\"bergamo.it\",\n\t\t\"bg.it\",\n\t\t\"bi.it\",\n\t\t\"biella.it\",\n\t\t\"bl.it\",\n\t\t\"bn.it\",\n\t\t\"bo.it\",\n\t\t\"bologna.it\",\n\t\t\"bolzano-altoadige.it\",\n\t\t\"bolzano.it\",\n\t\t\"bozen-sudtirol.it\",\n\t\t\"bozen-südtirol.it\",\n\t\t\"bozen-suedtirol.it\",\n\t\t\"bozen.it\",\n\t\t\"br.it\",\n\t\t\"brescia.it\",\n\t\t\"brindisi.it\",\n\t\t\"bs.it\",\n\t\t\"bt.it\",\n\t\t\"bulsan-sudtirol.it\",\n\t\t\"bulsan-südtirol.it\",\n\t\t\"bulsan-suedtirol.it\",\n\t\t\"bulsan.it\",\n\t\t\"bz.it\",\n\t\t\"ca.it\",\n\t\t\"cagliari.it\",\n\t\t\"caltanissetta.it\",\n\t\t\"campidano-medio.it\",\n\t\t\"campidanomedio.it\",\n\t\t\"campobasso.it\",\n\t\t\"carbonia-iglesias.it\",\n\t\t\"carboniaiglesias.it\",\n\t\t\"carrara-massa.it\",\n\t\t\"carraramassa.it\",\n\t\t\"caserta.it\",\n\t\t\"catania.it\",\n\t\t\"catanzaro.it\",\n\t\t\"cb.it\",\n\t\t\"ce.it\",\n\t\t\"cesena-forli.it\",\n\t\t\"cesena-forlì.it\",\n\t\t\"cesenaforli.it\",\n\t\t\"cesenaforlì.it\",\n\t\t\"ch.it\",\n\t\t\"chieti.it\",\n\t\t\"ci.it\",\n\t\t\"cl.it\",\n\t\t\"cn.it\",\n\t\t\"co.it\",\n\t\t\"como.it\",\n\t\t\"cosenza.it\",\n\t\t\"cr.it\",\n\t\t\"cremona.it\",\n\t\t\"crotone.it\",\n\t\t\"cs.it\",\n\t\t\"ct.it\",\n\t\t\"cuneo.it\",\n\t\t\"cz.it\",\n\t\t\"dell-ogliastra.it\",\n\t\t\"dellogliastra.it\",\n\t\t\"en.it\",\n\t\t\"enna.it\",\n\t\t\"fc.it\",\n\t\t\"fe.it\",\n\t\t\"fermo.it\",\n\t\t\"ferrara.it\",\n\t\t\"fg.it\",\n\t\t\"fi.it\",\n\t\t\"firenze.it\",\n\t\t\"florence.it\",\n\t\t\"fm.it\",\n\t\t\"foggia.it\",\n\t\t\"forli-cesena.it\",\n\t\t\"forlì-cesena.it\",\n\t\t\"forlicesena.it\",\n\t\t\"forlìcesena.it\",\n\t\t\"fr.it\",\n\t\t\"frosinone.it\",\n\t\t\"ge.it\",\n\t\t\"genoa.it\",\n\t\t\"genova.it\",\n\t\t\"go.it\",\n\t\t\"gorizia.it\",\n\t\t\"gr.it\",\n\t\t\"grosseto.it\",\n\t\t\"iglesias-carbonia.it\",\n\t\t\"iglesiascarbonia.it\",\n\t\t\"im.it\",\n\t\t\"imperia.it\",\n\t\t\"is.it\",\n\t\t\"isernia.it\",\n\t\t\"kr.it\",\n\t\t\"la-spezia.it\",\n\t\t\"laquila.it\",\n\t\t\"laspezia.it\",\n\t\t\"latina.it\",\n\t\t\"lc.it\",\n\t\t\"le.it\",\n\t\t\"lecce.it\",\n\t\t\"lecco.it\",\n\t\t\"li.it\",\n\t\t\"livorno.it\",\n\t\t\"lo.it\",\n\t\t\"lodi.it\",\n\t\t\"lt.it\",\n\t\t\"lu.it\",\n\t\t\"lucca.it\",\n\t\t\"macerata.it\",\n\t\t\"mantova.it\",\n\t\t\"massa-carrara.it\",\n\t\t\"massacarrara.it\",\n\t\t\"matera.it\",\n\t\t\"mb.it\",\n\t\t\"mc.it\",\n\t\t\"me.it\",\n\t\t\"medio-campidano.it\",\n\t\t\"mediocampidano.it\",\n\t\t\"messina.it\",\n\t\t\"mi.it\",\n\t\t\"milan.it\",\n\t\t\"milano.it\",\n\t\t\"mn.it\",\n\t\t\"mo.it\",\n\t\t\"modena.it\",\n\t\t\"monza-brianza.it\",\n\t\t\"monza-e-della-brianza.it\",\n\t\t\"monza.it\",\n\t\t\"monzabrianza.it\",\n\t\t\"monzaebrianza.it\",\n\t\t\"monzaedellabrianza.it\",\n\t\t\"ms.it\",\n\t\t\"mt.it\",\n\t\t\"na.it\",\n\t\t\"naples.it\",\n\t\t\"napoli.it\",\n\t\t\"no.it\",\n\t\t\"novara.it\",\n\t\t\"nu.it\",\n\t\t\"nuoro.it\",\n\t\t\"og.it\",\n\t\t\"ogliastra.it\",\n\t\t\"olbia-tempio.it\",\n\t\t\"olbiatempio.it\",\n\t\t\"or.it\",\n\t\t\"oristano.it\",\n\t\t\"ot.it\",\n\t\t\"pa.it\",\n\t\t\"padova.it\",\n\t\t\"padua.it\",\n\t\t\"palermo.it\",\n\t\t\"parma.it\",\n\t\t\"pavia.it\",\n\t\t\"pc.it\",\n\t\t\"pd.it\",\n\t\t\"pe.it\",\n\t\t\"perugia.it\",\n\t\t\"pesaro-urbino.it\",\n\t\t\"pesarourbino.it\",\n\t\t\"pescara.it\",\n\t\t\"pg.it\",\n\t\t\"pi.it\",\n\t\t\"piacenza.it\",\n\t\t\"pisa.it\",\n\t\t\"pistoia.it\",\n\t\t\"pn.it\",\n\t\t\"po.it\",\n\t\t\"pordenone.it\",\n\t\t\"potenza.it\",\n\t\t\"pr.it\",\n\t\t\"prato.it\",\n\t\t\"pt.it\",\n\t\t\"pu.it\",\n\t\t\"pv.it\",\n\t\t\"pz.it\",\n\t\t\"ra.it\",\n\t\t\"ragusa.it\",\n\t\t\"ravenna.it\",\n\t\t\"rc.it\",\n\t\t\"re.it\",\n\t\t\"reggio-calabria.it\",\n\t\t\"reggio-emilia.it\",\n\t\t\"reggiocalabria.it\",\n\t\t\"reggioemilia.it\",\n\t\t\"rg.it\",\n\t\t\"ri.it\",\n\t\t\"rieti.it\",\n\t\t\"rimini.it\",\n\t\t\"rm.it\",\n\t\t\"rn.it\",\n\t\t\"ro.it\",\n\t\t\"roma.it\",\n\t\t\"rome.it\",\n\t\t\"rovigo.it\",\n\t\t\"sa.it\",\n\t\t\"salerno.it\",\n\t\t\"sassari.it\",\n\t\t\"savona.it\",\n\t\t\"si.it\",\n\t\t\"siena.it\",\n\t\t\"siracusa.it\",\n\t\t\"so.it\",\n\t\t\"sondrio.it\",\n\t\t\"sp.it\",\n\t\t\"sr.it\",\n\t\t\"ss.it\",\n\t\t\"suedtirol.it\",\n\t\t\"südtirol.it\",\n\t\t\"sv.it\",\n\t\t\"ta.it\",\n\t\t\"taranto.it\",\n\t\t\"te.it\",\n\t\t\"tempio-olbia.it\",\n\t\t\"tempioolbia.it\",\n\t\t\"teramo.it\",\n\t\t\"terni.it\",\n\t\t\"tn.it\",\n\t\t\"to.it\",\n\t\t\"torino.it\",\n\t\t\"tp.it\",\n\t\t\"tr.it\",\n\t\t\"trani-andria-barletta.it\",\n\t\t\"trani-barletta-andria.it\",\n\t\t\"traniandriabarletta.it\",\n\t\t\"tranibarlettaandria.it\",\n\t\t\"trapani.it\",\n\t\t\"trento.it\",\n\t\t\"treviso.it\",\n\t\t\"trieste.it\",\n\t\t\"ts.it\",\n\t\t\"turin.it\",\n\t\t\"tv.it\",\n\t\t\"ud.it\",\n\t\t\"udine.it\",\n\t\t\"urbino-pesaro.it\",\n\t\t\"urbinopesaro.it\",\n\t\t\"va.it\",\n\t\t\"varese.it\",\n\t\t\"vb.it\",\n\t\t\"vc.it\",\n\t\t\"ve.it\",\n\t\t\"venezia.it\",\n\t\t\"venice.it\",\n\t\t\"verbania.it\",\n\t\t\"vercelli.it\",\n\t\t\"verona.it\",\n\t\t\"vi.it\",\n\t\t\"vibo-valentia.it\",\n\t\t\"vibovalentia.it\",\n\t\t\"vicenza.it\",\n\t\t\"viterbo.it\",\n\t\t\"vr.it\",\n\t\t\"vs.it\",\n\t\t\"vt.it\",\n\t\t\"vv.it\",\n\t\t\"je\",\n\t\t\"co.je\",\n\t\t\"net.je\",\n\t\t\"org.je\",\n\t\t\"*.jm\",\n\t\t\"jo\",\n\t\t\"com.jo\",\n\t\t\"org.jo\",\n\t\t\"net.jo\",\n\t\t\"edu.jo\",\n\t\t\"sch.jo\",\n\t\t\"gov.jo\",\n\t\t\"mil.jo\",\n\t\t\"name.jo\",\n\t\t\"jobs\",\n\t\t\"jp\",\n\t\t\"ac.jp\",\n\t\t\"ad.jp\",\n\t\t\"co.jp\",\n\t\t\"ed.jp\",\n\t\t\"go.jp\",\n\t\t\"gr.jp\",\n\t\t\"lg.jp\",\n\t\t\"ne.jp\",\n\t\t\"or.jp\",\n\t\t\"aichi.jp\",\n\t\t\"akita.jp\",\n\t\t\"aomori.jp\",\n\t\t\"chiba.jp\",\n\t\t\"ehime.jp\",\n\t\t\"fukui.jp\",\n\t\t\"fukuoka.jp\",\n\t\t\"fukushima.jp\",\n\t\t\"gifu.jp\",\n\t\t\"gunma.jp\",\n\t\t\"hiroshima.jp\",\n\t\t\"hokkaido.jp\",\n\t\t\"hyogo.jp\",\n\t\t\"ibaraki.jp\",\n\t\t\"ishikawa.jp\",\n\t\t\"iwate.jp\",\n\t\t\"kagawa.jp\",\n\t\t\"kagoshima.jp\",\n\t\t\"kanagawa.jp\",\n\t\t\"kochi.jp\",\n\t\t\"kumamoto.jp\",\n\t\t\"kyoto.jp\",\n\t\t\"mie.jp\",\n\t\t\"miyagi.jp\",\n\t\t\"miyazaki.jp\",\n\t\t\"nagano.jp\",\n\t\t\"nagasaki.jp\",\n\t\t\"nara.jp\",\n\t\t\"niigata.jp\",\n\t\t\"oita.jp\",\n\t\t\"okayama.jp\",\n\t\t\"okinawa.jp\",\n\t\t\"osaka.jp\",\n\t\t\"saga.jp\",\n\t\t\"saitama.jp\",\n\t\t\"shiga.jp\",\n\t\t\"shimane.jp\",\n\t\t\"shizuoka.jp\",\n\t\t\"tochigi.jp\",\n\t\t\"tokushima.jp\",\n\t\t\"tokyo.jp\",\n\t\t\"tottori.jp\",\n\t\t\"toyama.jp\",\n\t\t\"wakayama.jp\",\n\t\t\"yamagata.jp\",\n\t\t\"yamaguchi.jp\",\n\t\t\"yamanashi.jp\",\n\t\t\"栃木.jp\",\n\t\t\"愛知.jp\",\n\t\t\"愛媛.jp\",\n\t\t\"兵庫.jp\",\n\t\t\"熊本.jp\",\n\t\t\"茨城.jp\",\n\t\t\"北海道.jp\",\n\t\t\"千葉.jp\",\n\t\t\"和歌山.jp\",\n\t\t\"長崎.jp\",\n\t\t\"長野.jp\",\n\t\t\"新潟.jp\",\n\t\t\"青森.jp\",\n\t\t\"静岡.jp\",\n\t\t\"東京.jp\",\n\t\t\"石川.jp\",\n\t\t\"埼玉.jp\",\n\t\t\"三重.jp\",\n\t\t\"京都.jp\",\n\t\t\"佐賀.jp\",\n\t\t\"大分.jp\",\n\t\t\"大阪.jp\",\n\t\t\"奈良.jp\",\n\t\t\"宮城.jp\",\n\t\t\"宮崎.jp\",\n\t\t\"富山.jp\",\n\t\t\"山口.jp\",\n\t\t\"山形.jp\",\n\t\t\"山梨.jp\",\n\t\t\"岩手.jp\",\n\t\t\"岐阜.jp\",\n\t\t\"岡山.jp\",\n\t\t\"島根.jp\",\n\t\t\"広島.jp\",\n\t\t\"徳島.jp\",\n\t\t\"沖縄.jp\",\n\t\t\"滋賀.jp\",\n\t\t\"神奈川.jp\",\n\t\t\"福井.jp\",\n\t\t\"福岡.jp\",\n\t\t\"福島.jp\",\n\t\t\"秋田.jp\",\n\t\t\"群馬.jp\",\n\t\t\"香川.jp\",\n\t\t\"高知.jp\",\n\t\t\"鳥取.jp\",\n\t\t\"鹿児島.jp\",\n\t\t\"*.kawasaki.jp\",\n\t\t\"*.kitakyushu.jp\",\n\t\t\"*.kobe.jp\",\n\t\t\"*.nagoya.jp\",\n\t\t\"*.sapporo.jp\",\n\t\t\"*.sendai.jp\",\n\t\t\"*.yokohama.jp\",\n\t\t\"!city.kawasaki.jp\",\n\t\t\"!city.kitakyushu.jp\",\n\t\t\"!city.kobe.jp\",\n\t\t\"!city.nagoya.jp\",\n\t\t\"!city.sapporo.jp\",\n\t\t\"!city.sendai.jp\",\n\t\t\"!city.yokohama.jp\",\n\t\t\"aisai.aichi.jp\",\n\t\t\"ama.aichi.jp\",\n\t\t\"anjo.aichi.jp\",\n\t\t\"asuke.aichi.jp\",\n\t\t\"chiryu.aichi.jp\",\n\t\t\"chita.aichi.jp\",\n\t\t\"fuso.aichi.jp\",\n\t\t\"gamagori.aichi.jp\",\n\t\t\"handa.aichi.jp\",\n\t\t\"hazu.aichi.jp\",\n\t\t\"hekinan.aichi.jp\",\n\t\t\"higashiura.aichi.jp\",\n\t\t\"ichinomiya.aichi.jp\",\n\t\t\"inazawa.aichi.jp\",\n\t\t\"inuyama.aichi.jp\",\n\t\t\"isshiki.aichi.jp\",\n\t\t\"iwakura.aichi.jp\",\n\t\t\"kanie.aichi.jp\",\n\t\t\"kariya.aichi.jp\",\n\t\t\"kasugai.aichi.jp\",\n\t\t\"kira.aichi.jp\",\n\t\t\"kiyosu.aichi.jp\",\n\t\t\"komaki.aichi.jp\",\n\t\t\"konan.aichi.jp\",\n\t\t\"kota.aichi.jp\",\n\t\t\"mihama.aichi.jp\",\n\t\t\"miyoshi.aichi.jp\",\n\t\t\"nishio.aichi.jp\",\n\t\t\"nisshin.aichi.jp\",\n\t\t\"obu.aichi.jp\",\n\t\t\"oguchi.aichi.jp\",\n\t\t\"oharu.aichi.jp\",\n\t\t\"okazaki.aichi.jp\",\n\t\t\"owariasahi.aichi.jp\",\n\t\t\"seto.aichi.jp\",\n\t\t\"shikatsu.aichi.jp\",\n\t\t\"shinshiro.aichi.jp\",\n\t\t\"shitara.aichi.jp\",\n\t\t\"tahara.aichi.jp\",\n\t\t\"takahama.aichi.jp\",\n\t\t\"tobishima.aichi.jp\",\n\t\t\"toei.aichi.jp\",\n\t\t\"togo.aichi.jp\",\n\t\t\"tokai.aichi.jp\",\n\t\t\"tokoname.aichi.jp\",\n\t\t\"toyoake.aichi.jp\",\n\t\t\"toyohashi.aichi.jp\",\n\t\t\"toyokawa.aichi.jp\",\n\t\t\"toyone.aichi.jp\",\n\t\t\"toyota.aichi.jp\",\n\t\t\"tsushima.aichi.jp\",\n\t\t\"yatomi.aichi.jp\",\n\t\t\"akita.akita.jp\",\n\t\t\"daisen.akita.jp\",\n\t\t\"fujisato.akita.jp\",\n\t\t\"gojome.akita.jp\",\n\t\t\"hachirogata.akita.jp\",\n\t\t\"happou.akita.jp\",\n\t\t\"higashinaruse.akita.jp\",\n\t\t\"honjo.akita.jp\",\n\t\t\"honjyo.akita.jp\",\n\t\t\"ikawa.akita.jp\",\n\t\t\"kamikoani.akita.jp\",\n\t\t\"kamioka.akita.jp\",\n\t\t\"katagami.akita.jp\",\n\t\t\"kazuno.akita.jp\",\n\t\t\"kitaakita.akita.jp\",\n\t\t\"kosaka.akita.jp\",\n\t\t\"kyowa.akita.jp\",\n\t\t\"misato.akita.jp\",\n\t\t\"mitane.akita.jp\",\n\t\t\"moriyoshi.akita.jp\",\n\t\t\"nikaho.akita.jp\",\n\t\t\"noshiro.akita.jp\",\n\t\t\"odate.akita.jp\",\n\t\t\"oga.akita.jp\",\n\t\t\"ogata.akita.jp\",\n\t\t\"semboku.akita.jp\",\n\t\t\"yokote.akita.jp\",\n\t\t\"yurihonjo.akita.jp\",\n\t\t\"aomori.aomori.jp\",\n\t\t\"gonohe.aomori.jp\",\n\t\t\"hachinohe.aomori.jp\",\n\t\t\"hashikami.aomori.jp\",\n\t\t\"hiranai.aomori.jp\",\n\t\t\"hirosaki.aomori.jp\",\n\t\t\"itayanagi.aomori.jp\",\n\t\t\"kuroishi.aomori.jp\",\n\t\t\"misawa.aomori.jp\",\n\t\t\"mutsu.aomori.jp\",\n\t\t\"nakadomari.aomori.jp\",\n\t\t\"noheji.aomori.jp\",\n\t\t\"oirase.aomori.jp\",\n\t\t\"owani.aomori.jp\",\n\t\t\"rokunohe.aomori.jp\",\n\t\t\"sannohe.aomori.jp\",\n\t\t\"shichinohe.aomori.jp\",\n\t\t\"shingo.aomori.jp\",\n\t\t\"takko.aomori.jp\",\n\t\t\"towada.aomori.jp\",\n\t\t\"tsugaru.aomori.jp\",\n\t\t\"tsuruta.aomori.jp\",\n\t\t\"abiko.chiba.jp\",\n\t\t\"asahi.chiba.jp\",\n\t\t\"chonan.chiba.jp\",\n\t\t\"chosei.chiba.jp\",\n\t\t\"choshi.chiba.jp\",\n\t\t\"chuo.chiba.jp\",\n\t\t\"funabashi.chiba.jp\",\n\t\t\"futtsu.chiba.jp\",\n\t\t\"hanamigawa.chiba.jp\",\n\t\t\"ichihara.chiba.jp\",\n\t\t\"ichikawa.chiba.jp\",\n\t\t\"ichinomiya.chiba.jp\",\n\t\t\"inzai.chiba.jp\",\n\t\t\"isumi.chiba.jp\",\n\t\t\"kamagaya.chiba.jp\",\n\t\t\"kamogawa.chiba.jp\",\n\t\t\"kashiwa.chiba.jp\",\n\t\t\"katori.chiba.jp\",\n\t\t\"katsuura.chiba.jp\",\n\t\t\"kimitsu.chiba.jp\",\n\t\t\"kisarazu.chiba.jp\",\n\t\t\"kozaki.chiba.jp\",\n\t\t\"kujukuri.chiba.jp\",\n\t\t\"kyonan.chiba.jp\",\n\t\t\"matsudo.chiba.jp\",\n\t\t\"midori.chiba.jp\",\n\t\t\"mihama.chiba.jp\",\n\t\t\"minamiboso.chiba.jp\",\n\t\t\"mobara.chiba.jp\",\n\t\t\"mutsuzawa.chiba.jp\",\n\t\t\"nagara.chiba.jp\",\n\t\t\"nagareyama.chiba.jp\",\n\t\t\"narashino.chiba.jp\",\n\t\t\"narita.chiba.jp\",\n\t\t\"noda.chiba.jp\",\n\t\t\"oamishirasato.chiba.jp\",\n\t\t\"omigawa.chiba.jp\",\n\t\t\"onjuku.chiba.jp\",\n\t\t\"otaki.chiba.jp\",\n\t\t\"sakae.chiba.jp\",\n\t\t\"sakura.chiba.jp\",\n\t\t\"shimofusa.chiba.jp\",\n\t\t\"shirako.chiba.jp\",\n\t\t\"shiroi.chiba.jp\",\n\t\t\"shisui.chiba.jp\",\n\t\t\"sodegaura.chiba.jp\",\n\t\t\"sosa.chiba.jp\",\n\t\t\"tako.chiba.jp\",\n\t\t\"tateyama.chiba.jp\",\n\t\t\"togane.chiba.jp\",\n\t\t\"tohnosho.chiba.jp\",\n\t\t\"tomisato.chiba.jp\",\n\t\t\"urayasu.chiba.jp\",\n\t\t\"yachimata.chiba.jp\",\n\t\t\"yachiyo.chiba.jp\",\n\t\t\"yokaichiba.chiba.jp\",\n\t\t\"yokoshibahikari.chiba.jp\",\n\t\t\"yotsukaido.chiba.jp\",\n\t\t\"ainan.ehime.jp\",\n\t\t\"honai.ehime.jp\",\n\t\t\"ikata.ehime.jp\",\n\t\t\"imabari.ehime.jp\",\n\t\t\"iyo.ehime.jp\",\n\t\t\"kamijima.ehime.jp\",\n\t\t\"kihoku.ehime.jp\",\n\t\t\"kumakogen.ehime.jp\",\n\t\t\"masaki.ehime.jp\",\n\t\t\"matsuno.ehime.jp\",\n\t\t\"matsuyama.ehime.jp\",\n\t\t\"namikata.ehime.jp\",\n\t\t\"niihama.ehime.jp\",\n\t\t\"ozu.ehime.jp\",\n\t\t\"saijo.ehime.jp\",\n\t\t\"seiyo.ehime.jp\",\n\t\t\"shikokuchuo.ehime.jp\",\n\t\t\"tobe.ehime.jp\",\n\t\t\"toon.ehime.jp\",\n\t\t\"uchiko.ehime.jp\",\n\t\t\"uwajima.ehime.jp\",\n\t\t\"yawatahama.ehime.jp\",\n\t\t\"echizen.fukui.jp\",\n\t\t\"eiheiji.fukui.jp\",\n\t\t\"fukui.fukui.jp\",\n\t\t\"ikeda.fukui.jp\",\n\t\t\"katsuyama.fukui.jp\",\n\t\t\"mihama.fukui.jp\",\n\t\t\"minamiechizen.fukui.jp\",\n\t\t\"obama.fukui.jp\",\n\t\t\"ohi.fukui.jp\",\n\t\t\"ono.fukui.jp\",\n\t\t\"sabae.fukui.jp\",\n\t\t\"sakai.fukui.jp\",\n\t\t\"takahama.fukui.jp\",\n\t\t\"tsuruga.fukui.jp\",\n\t\t\"wakasa.fukui.jp\",\n\t\t\"ashiya.fukuoka.jp\",\n\t\t\"buzen.fukuoka.jp\",\n\t\t\"chikugo.fukuoka.jp\",\n\t\t\"chikuho.fukuoka.jp\",\n\t\t\"chikujo.fukuoka.jp\",\n\t\t\"chikushino.fukuoka.jp\",\n\t\t\"chikuzen.fukuoka.jp\",\n\t\t\"chuo.fukuoka.jp\",\n\t\t\"dazaifu.fukuoka.jp\",\n\t\t\"fukuchi.fukuoka.jp\",\n\t\t\"hakata.fukuoka.jp\",\n\t\t\"higashi.fukuoka.jp\",\n\t\t\"hirokawa.fukuoka.jp\",\n\t\t\"hisayama.fukuoka.jp\",\n\t\t\"iizuka.fukuoka.jp\",\n\t\t\"inatsuki.fukuoka.jp\",\n\t\t\"kaho.fukuoka.jp\",\n\t\t\"kasuga.fukuoka.jp\",\n\t\t\"kasuya.fukuoka.jp\",\n\t\t\"kawara.fukuoka.jp\",\n\t\t\"keisen.fukuoka.jp\",\n\t\t\"koga.fukuoka.jp\",\n\t\t\"kurate.fukuoka.jp\",\n\t\t\"kurogi.fukuoka.jp\",\n\t\t\"kurume.fukuoka.jp\",\n\t\t\"minami.fukuoka.jp\",\n\t\t\"miyako.fukuoka.jp\",\n\t\t\"miyama.fukuoka.jp\",\n\t\t\"miyawaka.fukuoka.jp\",\n\t\t\"mizumaki.fukuoka.jp\",\n\t\t\"munakata.fukuoka.jp\",\n\t\t\"nakagawa.fukuoka.jp\",\n\t\t\"nakama.fukuoka.jp\",\n\t\t\"nishi.fukuoka.jp\",\n\t\t\"nogata.fukuoka.jp\",\n\t\t\"ogori.fukuoka.jp\",\n\t\t\"okagaki.fukuoka.jp\",\n\t\t\"okawa.fukuoka.jp\",\n\t\t\"oki.fukuoka.jp\",\n\t\t\"omuta.fukuoka.jp\",\n\t\t\"onga.fukuoka.jp\",\n\t\t\"onojo.fukuoka.jp\",\n\t\t\"oto.fukuoka.jp\",\n\t\t\"saigawa.fukuoka.jp\",\n\t\t\"sasaguri.fukuoka.jp\",\n\t\t\"shingu.fukuoka.jp\",\n\t\t\"shinyoshitomi.fukuoka.jp\",\n\t\t\"shonai.fukuoka.jp\",\n\t\t\"soeda.fukuoka.jp\",\n\t\t\"sue.fukuoka.jp\",\n\t\t\"tachiarai.fukuoka.jp\",\n\t\t\"tagawa.fukuoka.jp\",\n\t\t\"takata.fukuoka.jp\",\n\t\t\"toho.fukuoka.jp\",\n\t\t\"toyotsu.fukuoka.jp\",\n\t\t\"tsuiki.fukuoka.jp\",\n\t\t\"ukiha.fukuoka.jp\",\n\t\t\"umi.fukuoka.jp\",\n\t\t\"usui.fukuoka.jp\",\n\t\t\"yamada.fukuoka.jp\",\n\t\t\"yame.fukuoka.jp\",\n\t\t\"yanagawa.fukuoka.jp\",\n\t\t\"yukuhashi.fukuoka.jp\",\n\t\t\"aizubange.fukushima.jp\",\n\t\t\"aizumisato.fukushima.jp\",\n\t\t\"aizuwakamatsu.fukushima.jp\",\n\t\t\"asakawa.fukushima.jp\",\n\t\t\"bandai.fukushima.jp\",\n\t\t\"date.fukushima.jp\",\n\t\t\"fukushima.fukushima.jp\",\n\t\t\"furudono.fukushima.jp\",\n\t\t\"futaba.fukushima.jp\",\n\t\t\"hanawa.fukushima.jp\",\n\t\t\"higashi.fukushima.jp\",\n\t\t\"hirata.fukushima.jp\",\n\t\t\"hirono.fukushima.jp\",\n\t\t\"iitate.fukushima.jp\",\n\t\t\"inawashiro.fukushima.jp\",\n\t\t\"ishikawa.fukushima.jp\",\n\t\t\"iwaki.fukushima.jp\",\n\t\t\"izumizaki.fukushima.jp\",\n\t\t\"kagamiishi.fukushima.jp\",\n\t\t\"kaneyama.fukushima.jp\",\n\t\t\"kawamata.fukushima.jp\",\n\t\t\"kitakata.fukushima.jp\",\n\t\t\"kitashiobara.fukushima.jp\",\n\t\t\"koori.fukushima.jp\",\n\t\t\"koriyama.fukushima.jp\",\n\t\t\"kunimi.fukushima.jp\",\n\t\t\"miharu.fukushima.jp\",\n\t\t\"mishima.fukushima.jp\",\n\t\t\"namie.fukushima.jp\",\n\t\t\"nango.fukushima.jp\",\n\t\t\"nishiaizu.fukushima.jp\",\n\t\t\"nishigo.fukushima.jp\",\n\t\t\"okuma.fukushima.jp\",\n\t\t\"omotego.fukushima.jp\",\n\t\t\"ono.fukushima.jp\",\n\t\t\"otama.fukushima.jp\",\n\t\t\"samegawa.fukushima.jp\",\n\t\t\"shimogo.fukushima.jp\",\n\t\t\"shirakawa.fukushima.jp\",\n\t\t\"showa.fukushima.jp\",\n\t\t\"soma.fukushima.jp\",\n\t\t\"sukagawa.fukushima.jp\",\n\t\t\"taishin.fukushima.jp\",\n\t\t\"tamakawa.fukushima.jp\",\n\t\t\"tanagura.fukushima.jp\",\n\t\t\"tenei.fukushima.jp\",\n\t\t\"yabuki.fukushima.jp\",\n\t\t\"yamato.fukushima.jp\",\n\t\t\"yamatsuri.fukushima.jp\",\n\t\t\"yanaizu.fukushima.jp\",\n\t\t\"yugawa.fukushima.jp\",\n\t\t\"anpachi.gifu.jp\",\n\t\t\"ena.gifu.jp\",\n\t\t\"gifu.gifu.jp\",\n\t\t\"ginan.gifu.jp\",\n\t\t\"godo.gifu.jp\",\n\t\t\"gujo.gifu.jp\",\n\t\t\"hashima.gifu.jp\",\n\t\t\"hichiso.gifu.jp\",\n\t\t\"hida.gifu.jp\",\n\t\t\"higashishirakawa.gifu.jp\",\n\t\t\"ibigawa.gifu.jp\",\n\t\t\"ikeda.gifu.jp\",\n\t\t\"kakamigahara.gifu.jp\",\n\t\t\"kani.gifu.jp\",\n\t\t\"kasahara.gifu.jp\",\n\t\t\"kasamatsu.gifu.jp\",\n\t\t\"kawaue.gifu.jp\",\n\t\t\"kitagata.gifu.jp\",\n\t\t\"mino.gifu.jp\",\n\t\t\"minokamo.gifu.jp\",\n\t\t\"mitake.gifu.jp\",\n\t\t\"mizunami.gifu.jp\",\n\t\t\"motosu.gifu.jp\",\n\t\t\"nakatsugawa.gifu.jp\",\n\t\t\"ogaki.gifu.jp\",\n\t\t\"sakahogi.gifu.jp\",\n\t\t\"seki.gifu.jp\",\n\t\t\"sekigahara.gifu.jp\",\n\t\t\"shirakawa.gifu.jp\",\n\t\t\"tajimi.gifu.jp\",\n\t\t\"takayama.gifu.jp\",\n\t\t\"tarui.gifu.jp\",\n\t\t\"toki.gifu.jp\",\n\t\t\"tomika.gifu.jp\",\n\t\t\"wanouchi.gifu.jp\",\n\t\t\"yamagata.gifu.jp\",\n\t\t\"yaotsu.gifu.jp\",\n\t\t\"yoro.gifu.jp\",\n\t\t\"annaka.gunma.jp\",\n\t\t\"chiyoda.gunma.jp\",\n\t\t\"fujioka.gunma.jp\",\n\t\t\"higashiagatsuma.gunma.jp\",\n\t\t\"isesaki.gunma.jp\",\n\t\t\"itakura.gunma.jp\",\n\t\t\"kanna.gunma.jp\",\n\t\t\"kanra.gunma.jp\",\n\t\t\"katashina.gunma.jp\",\n\t\t\"kawaba.gunma.jp\",\n\t\t\"kiryu.gunma.jp\",\n\t\t\"kusatsu.gunma.jp\",\n\t\t\"maebashi.gunma.jp\",\n\t\t\"meiwa.gunma.jp\",\n\t\t\"midori.gunma.jp\",\n\t\t\"minakami.gunma.jp\",\n\t\t\"naganohara.gunma.jp\",\n\t\t\"nakanojo.gunma.jp\",\n\t\t\"nanmoku.gunma.jp\",\n\t\t\"numata.gunma.jp\",\n\t\t\"oizumi.gunma.jp\",\n\t\t\"ora.gunma.jp\",\n\t\t\"ota.gunma.jp\",\n\t\t\"shibukawa.gunma.jp\",\n\t\t\"shimonita.gunma.jp\",\n\t\t\"shinto.gunma.jp\",\n\t\t\"showa.gunma.jp\",\n\t\t\"takasaki.gunma.jp\",\n\t\t\"takayama.gunma.jp\",\n\t\t\"tamamura.gunma.jp\",\n\t\t\"tatebayashi.gunma.jp\",\n\t\t\"tomioka.gunma.jp\",\n\t\t\"tsukiyono.gunma.jp\",\n\t\t\"tsumagoi.gunma.jp\",\n\t\t\"ueno.gunma.jp\",\n\t\t\"yoshioka.gunma.jp\",\n\t\t\"asaminami.hiroshima.jp\",\n\t\t\"daiwa.hiroshima.jp\",\n\t\t\"etajima.hiroshima.jp\",\n\t\t\"fuchu.hiroshima.jp\",\n\t\t\"fukuyama.hiroshima.jp\",\n\t\t\"hatsukaichi.hiroshima.jp\",\n\t\t\"higashihiroshima.hiroshima.jp\",\n\t\t\"hongo.hiroshima.jp\",\n\t\t\"jinsekikogen.hiroshima.jp\",\n\t\t\"kaita.hiroshima.jp\",\n\t\t\"kui.hiroshima.jp\",\n\t\t\"kumano.hiroshima.jp\",\n\t\t\"kure.hiroshima.jp\",\n\t\t\"mihara.hiroshima.jp\",\n\t\t\"miyoshi.hiroshima.jp\",\n\t\t\"naka.hiroshima.jp\",\n\t\t\"onomichi.hiroshima.jp\",\n\t\t\"osakikamijima.hiroshima.jp\",\n\t\t\"otake.hiroshima.jp\",\n\t\t\"saka.hiroshima.jp\",\n\t\t\"sera.hiroshima.jp\",\n\t\t\"seranishi.hiroshima.jp\",\n\t\t\"shinichi.hiroshima.jp\",\n\t\t\"shobara.hiroshima.jp\",\n\t\t\"takehara.hiroshima.jp\",\n\t\t\"abashiri.hokkaido.jp\",\n\t\t\"abira.hokkaido.jp\",\n\t\t\"aibetsu.hokkaido.jp\",\n\t\t\"akabira.hokkaido.jp\",\n\t\t\"akkeshi.hokkaido.jp\",\n\t\t\"asahikawa.hokkaido.jp\",\n\t\t\"ashibetsu.hokkaido.jp\",\n\t\t\"ashoro.hokkaido.jp\",\n\t\t\"assabu.hokkaido.jp\",\n\t\t\"atsuma.hokkaido.jp\",\n\t\t\"bibai.hokkaido.jp\",\n\t\t\"biei.hokkaido.jp\",\n\t\t\"bifuka.hokkaido.jp\",\n\t\t\"bihoro.hokkaido.jp\",\n\t\t\"biratori.hokkaido.jp\",\n\t\t\"chippubetsu.hokkaido.jp\",\n\t\t\"chitose.hokkaido.jp\",\n\t\t\"date.hokkaido.jp\",\n\t\t\"ebetsu.hokkaido.jp\",\n\t\t\"embetsu.hokkaido.jp\",\n\t\t\"eniwa.hokkaido.jp\",\n\t\t\"erimo.hokkaido.jp\",\n\t\t\"esan.hokkaido.jp\",\n\t\t\"esashi.hokkaido.jp\",\n\t\t\"fukagawa.hokkaido.jp\",\n\t\t\"fukushima.hokkaido.jp\",\n\t\t\"furano.hokkaido.jp\",\n\t\t\"furubira.hokkaido.jp\",\n\t\t\"haboro.hokkaido.jp\",\n\t\t\"hakodate.hokkaido.jp\",\n\t\t\"hamatonbetsu.hokkaido.jp\",\n\t\t\"hidaka.hokkaido.jp\",\n\t\t\"higashikagura.hokkaido.jp\",\n\t\t\"higashikawa.hokkaido.jp\",\n\t\t\"hiroo.hokkaido.jp\",\n\t\t\"hokuryu.hokkaido.jp\",\n\t\t\"hokuto.hokkaido.jp\",\n\t\t\"honbetsu.hokkaido.jp\",\n\t\t\"horokanai.hokkaido.jp\",\n\t\t\"horonobe.hokkaido.jp\",\n\t\t\"ikeda.hokkaido.jp\",\n\t\t\"imakane.hokkaido.jp\",\n\t\t\"ishikari.hokkaido.jp\",\n\t\t\"iwamizawa.hokkaido.jp\",\n\t\t\"iwanai.hokkaido.jp\",\n\t\t\"kamifurano.hokkaido.jp\",\n\t\t\"kamikawa.hokkaido.jp\",\n\t\t\"kamishihoro.hokkaido.jp\",\n\t\t\"kamisunagawa.hokkaido.jp\",\n\t\t\"kamoenai.hokkaido.jp\",\n\t\t\"kayabe.hokkaido.jp\",\n\t\t\"kembuchi.hokkaido.jp\",\n\t\t\"kikonai.hokkaido.jp\",\n\t\t\"kimobetsu.hokkaido.jp\",\n\t\t\"kitahiroshima.hokkaido.jp\",\n\t\t\"kitami.hokkaido.jp\",\n\t\t\"kiyosato.hokkaido.jp\",\n\t\t\"koshimizu.hokkaido.jp\",\n\t\t\"kunneppu.hokkaido.jp\",\n\t\t\"kuriyama.hokkaido.jp\",\n\t\t\"kuromatsunai.hokkaido.jp\",\n\t\t\"kushiro.hokkaido.jp\",\n\t\t\"kutchan.hokkaido.jp\",\n\t\t\"kyowa.hokkaido.jp\",\n\t\t\"mashike.hokkaido.jp\",\n\t\t\"matsumae.hokkaido.jp\",\n\t\t\"mikasa.hokkaido.jp\",\n\t\t\"minamifurano.hokkaido.jp\",\n\t\t\"mombetsu.hokkaido.jp\",\n\t\t\"moseushi.hokkaido.jp\",\n\t\t\"mukawa.hokkaido.jp\",\n\t\t\"muroran.hokkaido.jp\",\n\t\t\"naie.hokkaido.jp\",\n\t\t\"nakagawa.hokkaido.jp\",\n\t\t\"nakasatsunai.hokkaido.jp\",\n\t\t\"nakatombetsu.hokkaido.jp\",\n\t\t\"nanae.hokkaido.jp\",\n\t\t\"nanporo.hokkaido.jp\",\n\t\t\"nayoro.hokkaido.jp\",\n\t\t\"nemuro.hokkaido.jp\",\n\t\t\"niikappu.hokkaido.jp\",\n\t\t\"niki.hokkaido.jp\",\n\t\t\"nishiokoppe.hokkaido.jp\",\n\t\t\"noboribetsu.hokkaido.jp\",\n\t\t\"numata.hokkaido.jp\",\n\t\t\"obihiro.hokkaido.jp\",\n\t\t\"obira.hokkaido.jp\",\n\t\t\"oketo.hokkaido.jp\",\n\t\t\"okoppe.hokkaido.jp\",\n\t\t\"otaru.hokkaido.jp\",\n\t\t\"otobe.hokkaido.jp\",\n\t\t\"otofuke.hokkaido.jp\",\n\t\t\"otoineppu.hokkaido.jp\",\n\t\t\"oumu.hokkaido.jp\",\n\t\t\"ozora.hokkaido.jp\",\n\t\t\"pippu.hokkaido.jp\",\n\t\t\"rankoshi.hokkaido.jp\",\n\t\t\"rebun.hokkaido.jp\",\n\t\t\"rikubetsu.hokkaido.jp\",\n\t\t\"rishiri.hokkaido.jp\",\n\t\t\"rishirifuji.hokkaido.jp\",\n\t\t\"saroma.hokkaido.jp\",\n\t\t\"sarufutsu.hokkaido.jp\",\n\t\t\"shakotan.hokkaido.jp\",\n\t\t\"shari.hokkaido.jp\",\n\t\t\"shibecha.hokkaido.jp\",\n\t\t\"shibetsu.hokkaido.jp\",\n\t\t\"shikabe.hokkaido.jp\",\n\t\t\"shikaoi.hokkaido.jp\",\n\t\t\"shimamaki.hokkaido.jp\",\n\t\t\"shimizu.hokkaido.jp\",\n\t\t\"shimokawa.hokkaido.jp\",\n\t\t\"shinshinotsu.hokkaido.jp\",\n\t\t\"shintoku.hokkaido.jp\",\n\t\t\"shiranuka.hokkaido.jp\",\n\t\t\"shiraoi.hokkaido.jp\",\n\t\t\"shiriuchi.hokkaido.jp\",\n\t\t\"sobetsu.hokkaido.jp\",\n\t\t\"sunagawa.hokkaido.jp\",\n\t\t\"taiki.hokkaido.jp\",\n\t\t\"takasu.hokkaido.jp\",\n\t\t\"takikawa.hokkaido.jp\",\n\t\t\"takinoue.hokkaido.jp\",\n\t\t\"teshikaga.hokkaido.jp\",\n\t\t\"tobetsu.hokkaido.jp\",\n\t\t\"tohma.hokkaido.jp\",\n\t\t\"tomakomai.hokkaido.jp\",\n\t\t\"tomari.hokkaido.jp\",\n\t\t\"toya.hokkaido.jp\",\n\t\t\"toyako.hokkaido.jp\",\n\t\t\"toyotomi.hokkaido.jp\",\n\t\t\"toyoura.hokkaido.jp\",\n\t\t\"tsubetsu.hokkaido.jp\",\n\t\t\"tsukigata.hokkaido.jp\",\n\t\t\"urakawa.hokkaido.jp\",\n\t\t\"urausu.hokkaido.jp\",\n\t\t\"uryu.hokkaido.jp\",\n\t\t\"utashinai.hokkaido.jp\",\n\t\t\"wakkanai.hokkaido.jp\",\n\t\t\"wassamu.hokkaido.jp\",\n\t\t\"yakumo.hokkaido.jp\",\n\t\t\"yoichi.hokkaido.jp\",\n\t\t\"aioi.hyogo.jp\",\n\t\t\"akashi.hyogo.jp\",\n\t\t\"ako.hyogo.jp\",\n\t\t\"amagasaki.hyogo.jp\",\n\t\t\"aogaki.hyogo.jp\",\n\t\t\"asago.hyogo.jp\",\n\t\t\"ashiya.hyogo.jp\",\n\t\t\"awaji.hyogo.jp\",\n\t\t\"fukusaki.hyogo.jp\",\n\t\t\"goshiki.hyogo.jp\",\n\t\t\"harima.hyogo.jp\",\n\t\t\"himeji.hyogo.jp\",\n\t\t\"ichikawa.hyogo.jp\",\n\t\t\"inagawa.hyogo.jp\",\n\t\t\"itami.hyogo.jp\",\n\t\t\"kakogawa.hyogo.jp\",\n\t\t\"kamigori.hyogo.jp\",\n\t\t\"kamikawa.hyogo.jp\",\n\t\t\"kasai.hyogo.jp\",\n\t\t\"kasuga.hyogo.jp\",\n\t\t\"kawanishi.hyogo.jp\",\n\t\t\"miki.hyogo.jp\",\n\t\t\"minamiawaji.hyogo.jp\",\n\t\t\"nishinomiya.hyogo.jp\",\n\t\t\"nishiwaki.hyogo.jp\",\n\t\t\"ono.hyogo.jp\",\n\t\t\"sanda.hyogo.jp\",\n\t\t\"sannan.hyogo.jp\",\n\t\t\"sasayama.hyogo.jp\",\n\t\t\"sayo.hyogo.jp\",\n\t\t\"shingu.hyogo.jp\",\n\t\t\"shinonsen.hyogo.jp\",\n\t\t\"shiso.hyogo.jp\",\n\t\t\"sumoto.hyogo.jp\",\n\t\t\"taishi.hyogo.jp\",\n\t\t\"taka.hyogo.jp\",\n\t\t\"takarazuka.hyogo.jp\",\n\t\t\"takasago.hyogo.jp\",\n\t\t\"takino.hyogo.jp\",\n\t\t\"tamba.hyogo.jp\",\n\t\t\"tatsuno.hyogo.jp\",\n\t\t\"toyooka.hyogo.jp\",\n\t\t\"yabu.hyogo.jp\",\n\t\t\"yashiro.hyogo.jp\",\n\t\t\"yoka.hyogo.jp\",\n\t\t\"yokawa.hyogo.jp\",\n\t\t\"ami.ibaraki.jp\",\n\t\t\"asahi.ibaraki.jp\",\n\t\t\"bando.ibaraki.jp\",\n\t\t\"chikusei.ibaraki.jp\",\n\t\t\"daigo.ibaraki.jp\",\n\t\t\"fujishiro.ibaraki.jp\",\n\t\t\"hitachi.ibaraki.jp\",\n\t\t\"hitachinaka.ibaraki.jp\",\n\t\t\"hitachiomiya.ibaraki.jp\",\n\t\t\"hitachiota.ibaraki.jp\",\n\t\t\"ibaraki.ibaraki.jp\",\n\t\t\"ina.ibaraki.jp\",\n\t\t\"inashiki.ibaraki.jp\",\n\t\t\"itako.ibaraki.jp\",\n\t\t\"iwama.ibaraki.jp\",\n\t\t\"joso.ibaraki.jp\",\n\t\t\"kamisu.ibaraki.jp\",\n\t\t\"kasama.ibaraki.jp\",\n\t\t\"kashima.ibaraki.jp\",\n\t\t\"kasumigaura.ibaraki.jp\",\n\t\t\"koga.ibaraki.jp\",\n\t\t\"miho.ibaraki.jp\",\n\t\t\"mito.ibaraki.jp\",\n\t\t\"moriya.ibaraki.jp\",\n\t\t\"naka.ibaraki.jp\",\n\t\t\"namegata.ibaraki.jp\",\n\t\t\"oarai.ibaraki.jp\",\n\t\t\"ogawa.ibaraki.jp\",\n\t\t\"omitama.ibaraki.jp\",\n\t\t\"ryugasaki.ibaraki.jp\",\n\t\t\"sakai.ibaraki.jp\",\n\t\t\"sakuragawa.ibaraki.jp\",\n\t\t\"shimodate.ibaraki.jp\",\n\t\t\"shimotsuma.ibaraki.jp\",\n\t\t\"shirosato.ibaraki.jp\",\n\t\t\"sowa.ibaraki.jp\",\n\t\t\"suifu.ibaraki.jp\",\n\t\t\"takahagi.ibaraki.jp\",\n\t\t\"tamatsukuri.ibaraki.jp\",\n\t\t\"tokai.ibaraki.jp\",\n\t\t\"tomobe.ibaraki.jp\",\n\t\t\"tone.ibaraki.jp\",\n\t\t\"toride.ibaraki.jp\",\n\t\t\"tsuchiura.ibaraki.jp\",\n\t\t\"tsukuba.ibaraki.jp\",\n\t\t\"uchihara.ibaraki.jp\",\n\t\t\"ushiku.ibaraki.jp\",\n\t\t\"yachiyo.ibaraki.jp\",\n\t\t\"yamagata.ibaraki.jp\",\n\t\t\"yawara.ibaraki.jp\",\n\t\t\"yuki.ibaraki.jp\",\n\t\t\"anamizu.ishikawa.jp\",\n\t\t\"hakui.ishikawa.jp\",\n\t\t\"hakusan.ishikawa.jp\",\n\t\t\"kaga.ishikawa.jp\",\n\t\t\"kahoku.ishikawa.jp\",\n\t\t\"kanazawa.ishikawa.jp\",\n\t\t\"kawakita.ishikawa.jp\",\n\t\t\"komatsu.ishikawa.jp\",\n\t\t\"nakanoto.ishikawa.jp\",\n\t\t\"nanao.ishikawa.jp\",\n\t\t\"nomi.ishikawa.jp\",\n\t\t\"nonoichi.ishikawa.jp\",\n\t\t\"noto.ishikawa.jp\",\n\t\t\"shika.ishikawa.jp\",\n\t\t\"suzu.ishikawa.jp\",\n\t\t\"tsubata.ishikawa.jp\",\n\t\t\"tsurugi.ishikawa.jp\",\n\t\t\"uchinada.ishikawa.jp\",\n\t\t\"wajima.ishikawa.jp\",\n\t\t\"fudai.iwate.jp\",\n\t\t\"fujisawa.iwate.jp\",\n\t\t\"hanamaki.iwate.jp\",\n\t\t\"hiraizumi.iwate.jp\",\n\t\t\"hirono.iwate.jp\",\n\t\t\"ichinohe.iwate.jp\",\n\t\t\"ichinoseki.iwate.jp\",\n\t\t\"iwaizumi.iwate.jp\",\n\t\t\"iwate.iwate.jp\",\n\t\t\"joboji.iwate.jp\",\n\t\t\"kamaishi.iwate.jp\",\n\t\t\"kanegasaki.iwate.jp\",\n\t\t\"karumai.iwate.jp\",\n\t\t\"kawai.iwate.jp\",\n\t\t\"kitakami.iwate.jp\",\n\t\t\"kuji.iwate.jp\",\n\t\t\"kunohe.iwate.jp\",\n\t\t\"kuzumaki.iwate.jp\",\n\t\t\"miyako.iwate.jp\",\n\t\t\"mizusawa.iwate.jp\",\n\t\t\"morioka.iwate.jp\",\n\t\t\"ninohe.iwate.jp\",\n\t\t\"noda.iwate.jp\",\n\t\t\"ofunato.iwate.jp\",\n\t\t\"oshu.iwate.jp\",\n\t\t\"otsuchi.iwate.jp\",\n\t\t\"rikuzentakata.iwate.jp\",\n\t\t\"shiwa.iwate.jp\",\n\t\t\"shizukuishi.iwate.jp\",\n\t\t\"sumita.iwate.jp\",\n\t\t\"tanohata.iwate.jp\",\n\t\t\"tono.iwate.jp\",\n\t\t\"yahaba.iwate.jp\",\n\t\t\"yamada.iwate.jp\",\n\t\t\"ayagawa.kagawa.jp\",\n\t\t\"higashikagawa.kagawa.jp\",\n\t\t\"kanonji.kagawa.jp\",\n\t\t\"kotohira.kagawa.jp\",\n\t\t\"manno.kagawa.jp\",\n\t\t\"marugame.kagawa.jp\",\n\t\t\"mitoyo.kagawa.jp\",\n\t\t\"naoshima.kagawa.jp\",\n\t\t\"sanuki.kagawa.jp\",\n\t\t\"tadotsu.kagawa.jp\",\n\t\t\"takamatsu.kagawa.jp\",\n\t\t\"tonosho.kagawa.jp\",\n\t\t\"uchinomi.kagawa.jp\",\n\t\t\"utazu.kagawa.jp\",\n\t\t\"zentsuji.kagawa.jp\",\n\t\t\"akune.kagoshima.jp\",\n\t\t\"amami.kagoshima.jp\",\n\t\t\"hioki.kagoshima.jp\",\n\t\t\"isa.kagoshima.jp\",\n\t\t\"isen.kagoshima.jp\",\n\t\t\"izumi.kagoshima.jp\",\n\t\t\"kagoshima.kagoshima.jp\",\n\t\t\"kanoya.kagoshima.jp\",\n\t\t\"kawanabe.kagoshima.jp\",\n\t\t\"kinko.kagoshima.jp\",\n\t\t\"kouyama.kagoshima.jp\",\n\t\t\"makurazaki.kagoshima.jp\",\n\t\t\"matsumoto.kagoshima.jp\",\n\t\t\"minamitane.kagoshima.jp\",\n\t\t\"nakatane.kagoshima.jp\",\n\t\t\"nishinoomote.kagoshima.jp\",\n\t\t\"satsumasendai.kagoshima.jp\",\n\t\t\"soo.kagoshima.jp\",\n\t\t\"tarumizu.kagoshima.jp\",\n\t\t\"yusui.kagoshima.jp\",\n\t\t\"aikawa.kanagawa.jp\",\n\t\t\"atsugi.kanagawa.jp\",\n\t\t\"ayase.kanagawa.jp\",\n\t\t\"chigasaki.kanagawa.jp\",\n\t\t\"ebina.kanagawa.jp\",\n\t\t\"fujisawa.kanagawa.jp\",\n\t\t\"hadano.kanagawa.jp\",\n\t\t\"hakone.kanagawa.jp\",\n\t\t\"hiratsuka.kanagawa.jp\",\n\t\t\"isehara.kanagawa.jp\",\n\t\t\"kaisei.kanagawa.jp\",\n\t\t\"kamakura.kanagawa.jp\",\n\t\t\"kiyokawa.kanagawa.jp\",\n\t\t\"matsuda.kanagawa.jp\",\n\t\t\"minamiashigara.kanagawa.jp\",\n\t\t\"miura.kanagawa.jp\",\n\t\t\"nakai.kanagawa.jp\",\n\t\t\"ninomiya.kanagawa.jp\",\n\t\t\"odawara.kanagawa.jp\",\n\t\t\"oi.kanagawa.jp\",\n\t\t\"oiso.kanagawa.jp\",\n\t\t\"sagamihara.kanagawa.jp\",\n\t\t\"samukawa.kanagawa.jp\",\n\t\t\"tsukui.kanagawa.jp\",\n\t\t\"yamakita.kanagawa.jp\",\n\t\t\"yamato.kanagawa.jp\",\n\t\t\"yokosuka.kanagawa.jp\",\n\t\t\"yugawara.kanagawa.jp\",\n\t\t\"zama.kanagawa.jp\",\n\t\t\"zushi.kanagawa.jp\",\n\t\t\"aki.kochi.jp\",\n\t\t\"geisei.kochi.jp\",\n\t\t\"hidaka.kochi.jp\",\n\t\t\"higashitsuno.kochi.jp\",\n\t\t\"ino.kochi.jp\",\n\t\t\"kagami.kochi.jp\",\n\t\t\"kami.kochi.jp\",\n\t\t\"kitagawa.kochi.jp\",\n\t\t\"kochi.kochi.jp\",\n\t\t\"mihara.kochi.jp\",\n\t\t\"motoyama.kochi.jp\",\n\t\t\"muroto.kochi.jp\",\n\t\t\"nahari.kochi.jp\",\n\t\t\"nakamura.kochi.jp\",\n\t\t\"nankoku.kochi.jp\",\n\t\t\"nishitosa.kochi.jp\",\n\t\t\"niyodogawa.kochi.jp\",\n\t\t\"ochi.kochi.jp\",\n\t\t\"okawa.kochi.jp\",\n\t\t\"otoyo.kochi.jp\",\n\t\t\"otsuki.kochi.jp\",\n\t\t\"sakawa.kochi.jp\",\n\t\t\"sukumo.kochi.jp\",\n\t\t\"susaki.kochi.jp\",\n\t\t\"tosa.kochi.jp\",\n\t\t\"tosashimizu.kochi.jp\",\n\t\t\"toyo.kochi.jp\",\n\t\t\"tsuno.kochi.jp\",\n\t\t\"umaji.kochi.jp\",\n\t\t\"yasuda.kochi.jp\",\n\t\t\"yusuhara.kochi.jp\",\n\t\t\"amakusa.kumamoto.jp\",\n\t\t\"arao.kumamoto.jp\",\n\t\t\"aso.kumamoto.jp\",\n\t\t\"choyo.kumamoto.jp\",\n\t\t\"gyokuto.kumamoto.jp\",\n\t\t\"kamiamakusa.kumamoto.jp\",\n\t\t\"kikuchi.kumamoto.jp\",\n\t\t\"kumamoto.kumamoto.jp\",\n\t\t\"mashiki.kumamoto.jp\",\n\t\t\"mifune.kumamoto.jp\",\n\t\t\"minamata.kumamoto.jp\",\n\t\t\"minamioguni.kumamoto.jp\",\n\t\t\"nagasu.kumamoto.jp\",\n\t\t\"nishihara.kumamoto.jp\",\n\t\t\"oguni.kumamoto.jp\",\n\t\t\"ozu.kumamoto.jp\",\n\t\t\"sumoto.kumamoto.jp\",\n\t\t\"takamori.kumamoto.jp\",\n\t\t\"uki.kumamoto.jp\",\n\t\t\"uto.kumamoto.jp\",\n\t\t\"yamaga.kumamoto.jp\",\n\t\t\"yamato.kumamoto.jp\",\n\t\t\"yatsushiro.kumamoto.jp\",\n\t\t\"ayabe.kyoto.jp\",\n\t\t\"fukuchiyama.kyoto.jp\",\n\t\t\"higashiyama.kyoto.jp\",\n\t\t\"ide.kyoto.jp\",\n\t\t\"ine.kyoto.jp\",\n\t\t\"joyo.kyoto.jp\",\n\t\t\"kameoka.kyoto.jp\",\n\t\t\"kamo.kyoto.jp\",\n\t\t\"kita.kyoto.jp\",\n\t\t\"kizu.kyoto.jp\",\n\t\t\"kumiyama.kyoto.jp\",\n\t\t\"kyotamba.kyoto.jp\",\n\t\t\"kyotanabe.kyoto.jp\",\n\t\t\"kyotango.kyoto.jp\",\n\t\t\"maizuru.kyoto.jp\",\n\t\t\"minami.kyoto.jp\",\n\t\t\"minamiyamashiro.kyoto.jp\",\n\t\t\"miyazu.kyoto.jp\",\n\t\t\"muko.kyoto.jp\",\n\t\t\"nagaokakyo.kyoto.jp\",\n\t\t\"nakagyo.kyoto.jp\",\n\t\t\"nantan.kyoto.jp\",\n\t\t\"oyamazaki.kyoto.jp\",\n\t\t\"sakyo.kyoto.jp\",\n\t\t\"seika.kyoto.jp\",\n\t\t\"tanabe.kyoto.jp\",\n\t\t\"uji.kyoto.jp\",\n\t\t\"ujitawara.kyoto.jp\",\n\t\t\"wazuka.kyoto.jp\",\n\t\t\"yamashina.kyoto.jp\",\n\t\t\"yawata.kyoto.jp\",\n\t\t\"asahi.mie.jp\",\n\t\t\"inabe.mie.jp\",\n\t\t\"ise.mie.jp\",\n\t\t\"kameyama.mie.jp\",\n\t\t\"kawagoe.mie.jp\",\n\t\t\"kiho.mie.jp\",\n\t\t\"kisosaki.mie.jp\",\n\t\t\"kiwa.mie.jp\",\n\t\t\"komono.mie.jp\",\n\t\t\"kumano.mie.jp\",\n\t\t\"kuwana.mie.jp\",\n\t\t\"matsusaka.mie.jp\",\n\t\t\"meiwa.mie.jp\",\n\t\t\"mihama.mie.jp\",\n\t\t\"minamiise.mie.jp\",\n\t\t\"misugi.mie.jp\",\n\t\t\"miyama.mie.jp\",\n\t\t\"nabari.mie.jp\",\n\t\t\"shima.mie.jp\",\n\t\t\"suzuka.mie.jp\",\n\t\t\"tado.mie.jp\",\n\t\t\"taiki.mie.jp\",\n\t\t\"taki.mie.jp\",\n\t\t\"tamaki.mie.jp\",\n\t\t\"toba.mie.jp\",\n\t\t\"tsu.mie.jp\",\n\t\t\"udono.mie.jp\",\n\t\t\"ureshino.mie.jp\",\n\t\t\"watarai.mie.jp\",\n\t\t\"yokkaichi.mie.jp\",\n\t\t\"furukawa.miyagi.jp\",\n\t\t\"higashimatsushima.miyagi.jp\",\n\t\t\"ishinomaki.miyagi.jp\",\n\t\t\"iwanuma.miyagi.jp\",\n\t\t\"kakuda.miyagi.jp\",\n\t\t\"kami.miyagi.jp\",\n\t\t\"kawasaki.miyagi.jp\",\n\t\t\"marumori.miyagi.jp\",\n\t\t\"matsushima.miyagi.jp\",\n\t\t\"minamisanriku.miyagi.jp\",\n\t\t\"misato.miyagi.jp\",\n\t\t\"murata.miyagi.jp\",\n\t\t\"natori.miyagi.jp\",\n\t\t\"ogawara.miyagi.jp\",\n\t\t\"ohira.miyagi.jp\",\n\t\t\"onagawa.miyagi.jp\",\n\t\t\"osaki.miyagi.jp\",\n\t\t\"rifu.miyagi.jp\",\n\t\t\"semine.miyagi.jp\",\n\t\t\"shibata.miyagi.jp\",\n\t\t\"shichikashuku.miyagi.jp\",\n\t\t\"shikama.miyagi.jp\",\n\t\t\"shiogama.miyagi.jp\",\n\t\t\"shiroishi.miyagi.jp\",\n\t\t\"tagajo.miyagi.jp\",\n\t\t\"taiwa.miyagi.jp\",\n\t\t\"tome.miyagi.jp\",\n\t\t\"tomiya.miyagi.jp\",\n\t\t\"wakuya.miyagi.jp\",\n\t\t\"watari.miyagi.jp\",\n\t\t\"yamamoto.miyagi.jp\",\n\t\t\"zao.miyagi.jp\",\n\t\t\"aya.miyazaki.jp\",\n\t\t\"ebino.miyazaki.jp\",\n\t\t\"gokase.miyazaki.jp\",\n\t\t\"hyuga.miyazaki.jp\",\n\t\t\"kadogawa.miyazaki.jp\",\n\t\t\"kawaminami.miyazaki.jp\",\n\t\t\"kijo.miyazaki.jp\",\n\t\t\"kitagawa.miyazaki.jp\",\n\t\t\"kitakata.miyazaki.jp\",\n\t\t\"kitaura.miyazaki.jp\",\n\t\t\"kobayashi.miyazaki.jp\",\n\t\t\"kunitomi.miyazaki.jp\",\n\t\t\"kushima.miyazaki.jp\",\n\t\t\"mimata.miyazaki.jp\",\n\t\t\"miyakonojo.miyazaki.jp\",\n\t\t\"miyazaki.miyazaki.jp\",\n\t\t\"morotsuka.miyazaki.jp\",\n\t\t\"nichinan.miyazaki.jp\",\n\t\t\"nishimera.miyazaki.jp\",\n\t\t\"nobeoka.miyazaki.jp\",\n\t\t\"saito.miyazaki.jp\",\n\t\t\"shiiba.miyazaki.jp\",\n\t\t\"shintomi.miyazaki.jp\",\n\t\t\"takaharu.miyazaki.jp\",\n\t\t\"takanabe.miyazaki.jp\",\n\t\t\"takazaki.miyazaki.jp\",\n\t\t\"tsuno.miyazaki.jp\",\n\t\t\"achi.nagano.jp\",\n\t\t\"agematsu.nagano.jp\",\n\t\t\"anan.nagano.jp\",\n\t\t\"aoki.nagano.jp\",\n\t\t\"asahi.nagano.jp\",\n\t\t\"azumino.nagano.jp\",\n\t\t\"chikuhoku.nagano.jp\",\n\t\t\"chikuma.nagano.jp\",\n\t\t\"chino.nagano.jp\",\n\t\t\"fujimi.nagano.jp\",\n\t\t\"hakuba.nagano.jp\",\n\t\t\"hara.nagano.jp\",\n\t\t\"hiraya.nagano.jp\",\n\t\t\"iida.nagano.jp\",\n\t\t\"iijima.nagano.jp\",\n\t\t\"iiyama.nagano.jp\",\n\t\t\"iizuna.nagano.jp\",\n\t\t\"ikeda.nagano.jp\",\n\t\t\"ikusaka.nagano.jp\",\n\t\t\"ina.nagano.jp\",\n\t\t\"karuizawa.nagano.jp\",\n\t\t\"kawakami.nagano.jp\",\n\t\t\"kiso.nagano.jp\",\n\t\t\"kisofukushima.nagano.jp\",\n\t\t\"kitaaiki.nagano.jp\",\n\t\t\"komagane.nagano.jp\",\n\t\t\"komoro.nagano.jp\",\n\t\t\"matsukawa.nagano.jp\",\n\t\t\"matsumoto.nagano.jp\",\n\t\t\"miasa.nagano.jp\",\n\t\t\"minamiaiki.nagano.jp\",\n\t\t\"minamimaki.nagano.jp\",\n\t\t\"minamiminowa.nagano.jp\",\n\t\t\"minowa.nagano.jp\",\n\t\t\"miyada.nagano.jp\",\n\t\t\"miyota.nagano.jp\",\n\t\t\"mochizuki.nagano.jp\",\n\t\t\"nagano.nagano.jp\",\n\t\t\"nagawa.nagano.jp\",\n\t\t\"nagiso.nagano.jp\",\n\t\t\"nakagawa.nagano.jp\",\n\t\t\"nakano.nagano.jp\",\n\t\t\"nozawaonsen.nagano.jp\",\n\t\t\"obuse.nagano.jp\",\n\t\t\"ogawa.nagano.jp\",\n\t\t\"okaya.nagano.jp\",\n\t\t\"omachi.nagano.jp\",\n\t\t\"omi.nagano.jp\",\n\t\t\"ookuwa.nagano.jp\",\n\t\t\"ooshika.nagano.jp\",\n\t\t\"otaki.nagano.jp\",\n\t\t\"otari.nagano.jp\",\n\t\t\"sakae.nagano.jp\",\n\t\t\"sakaki.nagano.jp\",\n\t\t\"saku.nagano.jp\",\n\t\t\"sakuho.nagano.jp\",\n\t\t\"shimosuwa.nagano.jp\",\n\t\t\"shinanomachi.nagano.jp\",\n\t\t\"shiojiri.nagano.jp\",\n\t\t\"suwa.nagano.jp\",\n\t\t\"suzaka.nagano.jp\",\n\t\t\"takagi.nagano.jp\",\n\t\t\"takamori.nagano.jp\",\n\t\t\"takayama.nagano.jp\",\n\t\t\"tateshina.nagano.jp\",\n\t\t\"tatsuno.nagano.jp\",\n\t\t\"togakushi.nagano.jp\",\n\t\t\"togura.nagano.jp\",\n\t\t\"tomi.nagano.jp\",\n\t\t\"ueda.nagano.jp\",\n\t\t\"wada.nagano.jp\",\n\t\t\"yamagata.nagano.jp\",\n\t\t\"yamanouchi.nagano.jp\",\n\t\t\"yasaka.nagano.jp\",\n\t\t\"yasuoka.nagano.jp\",\n\t\t\"chijiwa.nagasaki.jp\",\n\t\t\"futsu.nagasaki.jp\",\n\t\t\"goto.nagasaki.jp\",\n\t\t\"hasami.nagasaki.jp\",\n\t\t\"hirado.nagasaki.jp\",\n\t\t\"iki.nagasaki.jp\",\n\t\t\"isahaya.nagasaki.jp\",\n\t\t\"kawatana.nagasaki.jp\",\n\t\t\"kuchinotsu.nagasaki.jp\",\n\t\t\"matsuura.nagasaki.jp\",\n\t\t\"nagasaki.nagasaki.jp\",\n\t\t\"obama.nagasaki.jp\",\n\t\t\"omura.nagasaki.jp\",\n\t\t\"oseto.nagasaki.jp\",\n\t\t\"saikai.nagasaki.jp\",\n\t\t\"sasebo.nagasaki.jp\",\n\t\t\"seihi.nagasaki.jp\",\n\t\t\"shimabara.nagasaki.jp\",\n\t\t\"shinkamigoto.nagasaki.jp\",\n\t\t\"togitsu.nagasaki.jp\",\n\t\t\"tsushima.nagasaki.jp\",\n\t\t\"unzen.nagasaki.jp\",\n\t\t\"ando.nara.jp\",\n\t\t\"gose.nara.jp\",\n\t\t\"heguri.nara.jp\",\n\t\t\"higashiyoshino.nara.jp\",\n\t\t\"ikaruga.nara.jp\",\n\t\t\"ikoma.nara.jp\",\n\t\t\"kamikitayama.nara.jp\",\n\t\t\"kanmaki.nara.jp\",\n\t\t\"kashiba.nara.jp\",\n\t\t\"kashihara.nara.jp\",\n\t\t\"katsuragi.nara.jp\",\n\t\t\"kawai.nara.jp\",\n\t\t\"kawakami.nara.jp\",\n\t\t\"kawanishi.nara.jp\",\n\t\t\"koryo.nara.jp\",\n\t\t\"kurotaki.nara.jp\",\n\t\t\"mitsue.nara.jp\",\n\t\t\"miyake.nara.jp\",\n\t\t\"nara.nara.jp\",\n\t\t\"nosegawa.nara.jp\",\n\t\t\"oji.nara.jp\",\n\t\t\"ouda.nara.jp\",\n\t\t\"oyodo.nara.jp\",\n\t\t\"sakurai.nara.jp\",\n\t\t\"sango.nara.jp\",\n\t\t\"shimoichi.nara.jp\",\n\t\t\"shimokitayama.nara.jp\",\n\t\t\"shinjo.nara.jp\",\n\t\t\"soni.nara.jp\",\n\t\t\"takatori.nara.jp\",\n\t\t\"tawaramoto.nara.jp\",\n\t\t\"tenkawa.nara.jp\",\n\t\t\"tenri.nara.jp\",\n\t\t\"uda.nara.jp\",\n\t\t\"yamatokoriyama.nara.jp\",\n\t\t\"yamatotakada.nara.jp\",\n\t\t\"yamazoe.nara.jp\",\n\t\t\"yoshino.nara.jp\",\n\t\t\"aga.niigata.jp\",\n\t\t\"agano.niigata.jp\",\n\t\t\"gosen.niigata.jp\",\n\t\t\"itoigawa.niigata.jp\",\n\t\t\"izumozaki.niigata.jp\",\n\t\t\"joetsu.niigata.jp\",\n\t\t\"kamo.niigata.jp\",\n\t\t\"kariwa.niigata.jp\",\n\t\t\"kashiwazaki.niigata.jp\",\n\t\t\"minamiuonuma.niigata.jp\",\n\t\t\"mitsuke.niigata.jp\",\n\t\t\"muika.niigata.jp\",\n\t\t\"murakami.niigata.jp\",\n\t\t\"myoko.niigata.jp\",\n\t\t\"nagaoka.niigata.jp\",\n\t\t\"niigata.niigata.jp\",\n\t\t\"ojiya.niigata.jp\",\n\t\t\"omi.niigata.jp\",\n\t\t\"sado.niigata.jp\",\n\t\t\"sanjo.niigata.jp\",\n\t\t\"seiro.niigata.jp\",\n\t\t\"seirou.niigata.jp\",\n\t\t\"sekikawa.niigata.jp\",\n\t\t\"shibata.niigata.jp\",\n\t\t\"tagami.niigata.jp\",\n\t\t\"tainai.niigata.jp\",\n\t\t\"tochio.niigata.jp\",\n\t\t\"tokamachi.niigata.jp\",\n\t\t\"tsubame.niigata.jp\",\n\t\t\"tsunan.niigata.jp\",\n\t\t\"uonuma.niigata.jp\",\n\t\t\"yahiko.niigata.jp\",\n\t\t\"yoita.niigata.jp\",\n\t\t\"yuzawa.niigata.jp\",\n\t\t\"beppu.oita.jp\",\n\t\t\"bungoono.oita.jp\",\n\t\t\"bungotakada.oita.jp\",\n\t\t\"hasama.oita.jp\",\n\t\t\"hiji.oita.jp\",\n\t\t\"himeshima.oita.jp\",\n\t\t\"hita.oita.jp\",\n\t\t\"kamitsue.oita.jp\",\n\t\t\"kokonoe.oita.jp\",\n\t\t\"kuju.oita.jp\",\n\t\t\"kunisaki.oita.jp\",\n\t\t\"kusu.oita.jp\",\n\t\t\"oita.oita.jp\",\n\t\t\"saiki.oita.jp\",\n\t\t\"taketa.oita.jp\",\n\t\t\"tsukumi.oita.jp\",\n\t\t\"usa.oita.jp\",\n\t\t\"usuki.oita.jp\",\n\t\t\"yufu.oita.jp\",\n\t\t\"akaiwa.okayama.jp\",\n\t\t\"asakuchi.okayama.jp\",\n\t\t\"bizen.okayama.jp\",\n\t\t\"hayashima.okayama.jp\",\n\t\t\"ibara.okayama.jp\",\n\t\t\"kagamino.okayama.jp\",\n\t\t\"kasaoka.okayama.jp\",\n\t\t\"kibichuo.okayama.jp\",\n\t\t\"kumenan.okayama.jp\",\n\t\t\"kurashiki.okayama.jp\",\n\t\t\"maniwa.okayama.jp\",\n\t\t\"misaki.okayama.jp\",\n\t\t\"nagi.okayama.jp\",\n\t\t\"niimi.okayama.jp\",\n\t\t\"nishiawakura.okayama.jp\",\n\t\t\"okayama.okayama.jp\",\n\t\t\"satosho.okayama.jp\",\n\t\t\"setouchi.okayama.jp\",\n\t\t\"shinjo.okayama.jp\",\n\t\t\"shoo.okayama.jp\",\n\t\t\"soja.okayama.jp\",\n\t\t\"takahashi.okayama.jp\",\n\t\t\"tamano.okayama.jp\",\n\t\t\"tsuyama.okayama.jp\",\n\t\t\"wake.okayama.jp\",\n\t\t\"yakage.okayama.jp\",\n\t\t\"aguni.okinawa.jp\",\n\t\t\"ginowan.okinawa.jp\",\n\t\t\"ginoza.okinawa.jp\",\n\t\t\"gushikami.okinawa.jp\",\n\t\t\"haebaru.okinawa.jp\",\n\t\t\"higashi.okinawa.jp\",\n\t\t\"hirara.okinawa.jp\",\n\t\t\"iheya.okinawa.jp\",\n\t\t\"ishigaki.okinawa.jp\",\n\t\t\"ishikawa.okinawa.jp\",\n\t\t\"itoman.okinawa.jp\",\n\t\t\"izena.okinawa.jp\",\n\t\t\"kadena.okinawa.jp\",\n\t\t\"kin.okinawa.jp\",\n\t\t\"kitadaito.okinawa.jp\",\n\t\t\"kitanakagusuku.okinawa.jp\",\n\t\t\"kumejima.okinawa.jp\",\n\t\t\"kunigami.okinawa.jp\",\n\t\t\"minamidaito.okinawa.jp\",\n\t\t\"motobu.okinawa.jp\",\n\t\t\"nago.okinawa.jp\",\n\t\t\"naha.okinawa.jp\",\n\t\t\"nakagusuku.okinawa.jp\",\n\t\t\"nakijin.okinawa.jp\",\n\t\t\"nanjo.okinawa.jp\",\n\t\t\"nishihara.okinawa.jp\",\n\t\t\"ogimi.okinawa.jp\",\n\t\t\"okinawa.okinawa.jp\",\n\t\t\"onna.okinawa.jp\",\n\t\t\"shimoji.okinawa.jp\",\n\t\t\"taketomi.okinawa.jp\",\n\t\t\"tarama.okinawa.jp\",\n\t\t\"tokashiki.okinawa.jp\",\n\t\t\"tomigusuku.okinawa.jp\",\n\t\t\"tonaki.okinawa.jp\",\n\t\t\"urasoe.okinawa.jp\",\n\t\t\"uruma.okinawa.jp\",\n\t\t\"yaese.okinawa.jp\",\n\t\t\"yomitan.okinawa.jp\",\n\t\t\"yonabaru.okinawa.jp\",\n\t\t\"yonaguni.okinawa.jp\",\n\t\t\"zamami.okinawa.jp\",\n\t\t\"abeno.osaka.jp\",\n\t\t\"chihayaakasaka.osaka.jp\",\n\t\t\"chuo.osaka.jp\",\n\t\t\"daito.osaka.jp\",\n\t\t\"fujiidera.osaka.jp\",\n\t\t\"habikino.osaka.jp\",\n\t\t\"hannan.osaka.jp\",\n\t\t\"higashiosaka.osaka.jp\",\n\t\t\"higashisumiyoshi.osaka.jp\",\n\t\t\"higashiyodogawa.osaka.jp\",\n\t\t\"hirakata.osaka.jp\",\n\t\t\"ibaraki.osaka.jp\",\n\t\t\"ikeda.osaka.jp\",\n\t\t\"izumi.osaka.jp\",\n\t\t\"izumiotsu.osaka.jp\",\n\t\t\"izumisano.osaka.jp\",\n\t\t\"kadoma.osaka.jp\",\n\t\t\"kaizuka.osaka.jp\",\n\t\t\"kanan.osaka.jp\",\n\t\t\"kashiwara.osaka.jp\",\n\t\t\"katano.osaka.jp\",\n\t\t\"kawachinagano.osaka.jp\",\n\t\t\"kishiwada.osaka.jp\",\n\t\t\"kita.osaka.jp\",\n\t\t\"kumatori.osaka.jp\",\n\t\t\"matsubara.osaka.jp\",\n\t\t\"minato.osaka.jp\",\n\t\t\"minoh.osaka.jp\",\n\t\t\"misaki.osaka.jp\",\n\t\t\"moriguchi.osaka.jp\",\n\t\t\"neyagawa.osaka.jp\",\n\t\t\"nishi.osaka.jp\",\n\t\t\"nose.osaka.jp\",\n\t\t\"osakasayama.osaka.jp\",\n\t\t\"sakai.osaka.jp\",\n\t\t\"sayama.osaka.jp\",\n\t\t\"sennan.osaka.jp\",\n\t\t\"settsu.osaka.jp\",\n\t\t\"shijonawate.osaka.jp\",\n\t\t\"shimamoto.osaka.jp\",\n\t\t\"suita.osaka.jp\",\n\t\t\"tadaoka.osaka.jp\",\n\t\t\"taishi.osaka.jp\",\n\t\t\"tajiri.osaka.jp\",\n\t\t\"takaishi.osaka.jp\",\n\t\t\"takatsuki.osaka.jp\",\n\t\t\"tondabayashi.osaka.jp\",\n\t\t\"toyonaka.osaka.jp\",\n\t\t\"toyono.osaka.jp\",\n\t\t\"yao.osaka.jp\",\n\t\t\"ariake.saga.jp\",\n\t\t\"arita.saga.jp\",\n\t\t\"fukudomi.saga.jp\",\n\t\t\"genkai.saga.jp\",\n\t\t\"hamatama.saga.jp\",\n\t\t\"hizen.saga.jp\",\n\t\t\"imari.saga.jp\",\n\t\t\"kamimine.saga.jp\",\n\t\t\"kanzaki.saga.jp\",\n\t\t\"karatsu.saga.jp\",\n\t\t\"kashima.saga.jp\",\n\t\t\"kitagata.saga.jp\",\n\t\t\"kitahata.saga.jp\",\n\t\t\"kiyama.saga.jp\",\n\t\t\"kouhoku.saga.jp\",\n\t\t\"kyuragi.saga.jp\",\n\t\t\"nishiarita.saga.jp\",\n\t\t\"ogi.saga.jp\",\n\t\t\"omachi.saga.jp\",\n\t\t\"ouchi.saga.jp\",\n\t\t\"saga.saga.jp\",\n\t\t\"shiroishi.saga.jp\",\n\t\t\"taku.saga.jp\",\n\t\t\"tara.saga.jp\",\n\t\t\"tosu.saga.jp\",\n\t\t\"yoshinogari.saga.jp\",\n\t\t\"arakawa.saitama.jp\",\n\t\t\"asaka.saitama.jp\",\n\t\t\"chichibu.saitama.jp\",\n\t\t\"fujimi.saitama.jp\",\n\t\t\"fujimino.saitama.jp\",\n\t\t\"fukaya.saitama.jp\",\n\t\t\"hanno.saitama.jp\",\n\t\t\"hanyu.saitama.jp\",\n\t\t\"hasuda.saitama.jp\",\n\t\t\"hatogaya.saitama.jp\",\n\t\t\"hatoyama.saitama.jp\",\n\t\t\"hidaka.saitama.jp\",\n\t\t\"higashichichibu.saitama.jp\",\n\t\t\"higashimatsuyama.saitama.jp\",\n\t\t\"honjo.saitama.jp\",\n\t\t\"ina.saitama.jp\",\n\t\t\"iruma.saitama.jp\",\n\t\t\"iwatsuki.saitama.jp\",\n\t\t\"kamiizumi.saitama.jp\",\n\t\t\"kamikawa.saitama.jp\",\n\t\t\"kamisato.saitama.jp\",\n\t\t\"kasukabe.saitama.jp\",\n\t\t\"kawagoe.saitama.jp\",\n\t\t\"kawaguchi.saitama.jp\",\n\t\t\"kawajima.saitama.jp\",\n\t\t\"kazo.saitama.jp\",\n\t\t\"kitamoto.saitama.jp\",\n\t\t\"koshigaya.saitama.jp\",\n\t\t\"kounosu.saitama.jp\",\n\t\t\"kuki.saitama.jp\",\n\t\t\"kumagaya.saitama.jp\",\n\t\t\"matsubushi.saitama.jp\",\n\t\t\"minano.saitama.jp\",\n\t\t\"misato.saitama.jp\",\n\t\t\"miyashiro.saitama.jp\",\n\t\t\"miyoshi.saitama.jp\",\n\t\t\"moroyama.saitama.jp\",\n\t\t\"nagatoro.saitama.jp\",\n\t\t\"namegawa.saitama.jp\",\n\t\t\"niiza.saitama.jp\",\n\t\t\"ogano.saitama.jp\",\n\t\t\"ogawa.saitama.jp\",\n\t\t\"ogose.saitama.jp\",\n\t\t\"okegawa.saitama.jp\",\n\t\t\"omiya.saitama.jp\",\n\t\t\"otaki.saitama.jp\",\n\t\t\"ranzan.saitama.jp\",\n\t\t\"ryokami.saitama.jp\",\n\t\t\"saitama.saitama.jp\",\n\t\t\"sakado.saitama.jp\",\n\t\t\"satte.saitama.jp\",\n\t\t\"sayama.saitama.jp\",\n\t\t\"shiki.saitama.jp\",\n\t\t\"shiraoka.saitama.jp\",\n\t\t\"soka.saitama.jp\",\n\t\t\"sugito.saitama.jp\",\n\t\t\"toda.saitama.jp\",\n\t\t\"tokigawa.saitama.jp\",\n\t\t\"tokorozawa.saitama.jp\",\n\t\t\"tsurugashima.saitama.jp\",\n\t\t\"urawa.saitama.jp\",\n\t\t\"warabi.saitama.jp\",\n\t\t\"yashio.saitama.jp\",\n\t\t\"yokoze.saitama.jp\",\n\t\t\"yono.saitama.jp\",\n\t\t\"yorii.saitama.jp\",\n\t\t\"yoshida.saitama.jp\",\n\t\t\"yoshikawa.saitama.jp\",\n\t\t\"yoshimi.saitama.jp\",\n\t\t\"aisho.shiga.jp\",\n\t\t\"gamo.shiga.jp\",\n\t\t\"higashiomi.shiga.jp\",\n\t\t\"hikone.shiga.jp\",\n\t\t\"koka.shiga.jp\",\n\t\t\"konan.shiga.jp\",\n\t\t\"kosei.shiga.jp\",\n\t\t\"koto.shiga.jp\",\n\t\t\"kusatsu.shiga.jp\",\n\t\t\"maibara.shiga.jp\",\n\t\t\"moriyama.shiga.jp\",\n\t\t\"nagahama.shiga.jp\",\n\t\t\"nishiazai.shiga.jp\",\n\t\t\"notogawa.shiga.jp\",\n\t\t\"omihachiman.shiga.jp\",\n\t\t\"otsu.shiga.jp\",\n\t\t\"ritto.shiga.jp\",\n\t\t\"ryuoh.shiga.jp\",\n\t\t\"takashima.shiga.jp\",\n\t\t\"takatsuki.shiga.jp\",\n\t\t\"torahime.shiga.jp\",\n\t\t\"toyosato.shiga.jp\",\n\t\t\"yasu.shiga.jp\",\n\t\t\"akagi.shimane.jp\",\n\t\t\"ama.shimane.jp\",\n\t\t\"gotsu.shimane.jp\",\n\t\t\"hamada.shimane.jp\",\n\t\t\"higashiizumo.shimane.jp\",\n\t\t\"hikawa.shimane.jp\",\n\t\t\"hikimi.shimane.jp\",\n\t\t\"izumo.shimane.jp\",\n\t\t\"kakinoki.shimane.jp\",\n\t\t\"masuda.shimane.jp\",\n\t\t\"matsue.shimane.jp\",\n\t\t\"misato.shimane.jp\",\n\t\t\"nishinoshima.shimane.jp\",\n\t\t\"ohda.shimane.jp\",\n\t\t\"okinoshima.shimane.jp\",\n\t\t\"okuizumo.shimane.jp\",\n\t\t\"shimane.shimane.jp\",\n\t\t\"tamayu.shimane.jp\",\n\t\t\"tsuwano.shimane.jp\",\n\t\t\"unnan.shimane.jp\",\n\t\t\"yakumo.shimane.jp\",\n\t\t\"yasugi.shimane.jp\",\n\t\t\"yatsuka.shimane.jp\",\n\t\t\"arai.shizuoka.jp\",\n\t\t\"atami.shizuoka.jp\",\n\t\t\"fuji.shizuoka.jp\",\n\t\t\"fujieda.shizuoka.jp\",\n\t\t\"fujikawa.shizuoka.jp\",\n\t\t\"fujinomiya.shizuoka.jp\",\n\t\t\"fukuroi.shizuoka.jp\",\n\t\t\"gotemba.shizuoka.jp\",\n\t\t\"haibara.shizuoka.jp\",\n\t\t\"hamamatsu.shizuoka.jp\",\n\t\t\"higashiizu.shizuoka.jp\",\n\t\t\"ito.shizuoka.jp\",\n\t\t\"iwata.shizuoka.jp\",\n\t\t\"izu.shizuoka.jp\",\n\t\t\"izunokuni.shizuoka.jp\",\n\t\t\"kakegawa.shizuoka.jp\",\n\t\t\"kannami.shizuoka.jp\",\n\t\t\"kawanehon.shizuoka.jp\",\n\t\t\"kawazu.shizuoka.jp\",\n\t\t\"kikugawa.shizuoka.jp\",\n\t\t\"kosai.shizuoka.jp\",\n\t\t\"makinohara.shizuoka.jp\",\n\t\t\"matsuzaki.shizuoka.jp\",\n\t\t\"minamiizu.shizuoka.jp\",\n\t\t\"mishima.shizuoka.jp\",\n\t\t\"morimachi.shizuoka.jp\",\n\t\t\"nishiizu.shizuoka.jp\",\n\t\t\"numazu.shizuoka.jp\",\n\t\t\"omaezaki.shizuoka.jp\",\n\t\t\"shimada.shizuoka.jp\",\n\t\t\"shimizu.shizuoka.jp\",\n\t\t\"shimoda.shizuoka.jp\",\n\t\t\"shizuoka.shizuoka.jp\",\n\t\t\"susono.shizuoka.jp\",\n\t\t\"yaizu.shizuoka.jp\",\n\t\t\"yoshida.shizuoka.jp\",\n\t\t\"ashikaga.tochigi.jp\",\n\t\t\"bato.tochigi.jp\",\n\t\t\"haga.tochigi.jp\",\n\t\t\"ichikai.tochigi.jp\",\n\t\t\"iwafune.tochigi.jp\",\n\t\t\"kaminokawa.tochigi.jp\",\n\t\t\"kanuma.tochigi.jp\",\n\t\t\"karasuyama.tochigi.jp\",\n\t\t\"kuroiso.tochigi.jp\",\n\t\t\"mashiko.tochigi.jp\",\n\t\t\"mibu.tochigi.jp\",\n\t\t\"moka.tochigi.jp\",\n\t\t\"motegi.tochigi.jp\",\n\t\t\"nasu.tochigi.jp\",\n\t\t\"nasushiobara.tochigi.jp\",\n\t\t\"nikko.tochigi.jp\",\n\t\t\"nishikata.tochigi.jp\",\n\t\t\"nogi.tochigi.jp\",\n\t\t\"ohira.tochigi.jp\",\n\t\t\"ohtawara.tochigi.jp\",\n\t\t\"oyama.tochigi.jp\",\n\t\t\"sakura.tochigi.jp\",\n\t\t\"sano.tochigi.jp\",\n\t\t\"shimotsuke.tochigi.jp\",\n\t\t\"shioya.tochigi.jp\",\n\t\t\"takanezawa.tochigi.jp\",\n\t\t\"tochigi.tochigi.jp\",\n\t\t\"tsuga.tochigi.jp\",\n\t\t\"ujiie.tochigi.jp\",\n\t\t\"utsunomiya.tochigi.jp\",\n\t\t\"yaita.tochigi.jp\",\n\t\t\"aizumi.tokushima.jp\",\n\t\t\"anan.tokushima.jp\",\n\t\t\"ichiba.tokushima.jp\",\n\t\t\"itano.tokushima.jp\",\n\t\t\"kainan.tokushima.jp\",\n\t\t\"komatsushima.tokushima.jp\",\n\t\t\"matsushige.tokushima.jp\",\n\t\t\"mima.tokushima.jp\",\n\t\t\"minami.tokushima.jp\",\n\t\t\"miyoshi.tokushima.jp\",\n\t\t\"mugi.tokushima.jp\",\n\t\t\"nakagawa.tokushima.jp\",\n\t\t\"naruto.tokushima.jp\",\n\t\t\"sanagochi.tokushima.jp\",\n\t\t\"shishikui.tokushima.jp\",\n\t\t\"tokushima.tokushima.jp\",\n\t\t\"wajiki.tokushima.jp\",\n\t\t\"adachi.tokyo.jp\",\n\t\t\"akiruno.tokyo.jp\",\n\t\t\"akishima.tokyo.jp\",\n\t\t\"aogashima.tokyo.jp\",\n\t\t\"arakawa.tokyo.jp\",\n\t\t\"bunkyo.tokyo.jp\",\n\t\t\"chiyoda.tokyo.jp\",\n\t\t\"chofu.tokyo.jp\",\n\t\t\"chuo.tokyo.jp\",\n\t\t\"edogawa.tokyo.jp\",\n\t\t\"fuchu.tokyo.jp\",\n\t\t\"fussa.tokyo.jp\",\n\t\t\"hachijo.tokyo.jp\",\n\t\t\"hachioji.tokyo.jp\",\n\t\t\"hamura.tokyo.jp\",\n\t\t\"higashikurume.tokyo.jp\",\n\t\t\"higashimurayama.tokyo.jp\",\n\t\t\"higashiyamato.tokyo.jp\",\n\t\t\"hino.tokyo.jp\",\n\t\t\"hinode.tokyo.jp\",\n\t\t\"hinohara.tokyo.jp\",\n\t\t\"inagi.tokyo.jp\",\n\t\t\"itabashi.tokyo.jp\",\n\t\t\"katsushika.tokyo.jp\",\n\t\t\"kita.tokyo.jp\",\n\t\t\"kiyose.tokyo.jp\",\n\t\t\"kodaira.tokyo.jp\",\n\t\t\"koganei.tokyo.jp\",\n\t\t\"kokubunji.tokyo.jp\",\n\t\t\"komae.tokyo.jp\",\n\t\t\"koto.tokyo.jp\",\n\t\t\"kouzushima.tokyo.jp\",\n\t\t\"kunitachi.tokyo.jp\",\n\t\t\"machida.tokyo.jp\",\n\t\t\"meguro.tokyo.jp\",\n\t\t\"minato.tokyo.jp\",\n\t\t\"mitaka.tokyo.jp\",\n\t\t\"mizuho.tokyo.jp\",\n\t\t\"musashimurayama.tokyo.jp\",\n\t\t\"musashino.tokyo.jp\",\n\t\t\"nakano.tokyo.jp\",\n\t\t\"nerima.tokyo.jp\",\n\t\t\"ogasawara.tokyo.jp\",\n\t\t\"okutama.tokyo.jp\",\n\t\t\"ome.tokyo.jp\",\n\t\t\"oshima.tokyo.jp\",\n\t\t\"ota.tokyo.jp\",\n\t\t\"setagaya.tokyo.jp\",\n\t\t\"shibuya.tokyo.jp\",\n\t\t\"shinagawa.tokyo.jp\",\n\t\t\"shinjuku.tokyo.jp\",\n\t\t\"suginami.tokyo.jp\",\n\t\t\"sumida.tokyo.jp\",\n\t\t\"tachikawa.tokyo.jp\",\n\t\t\"taito.tokyo.jp\",\n\t\t\"tama.tokyo.jp\",\n\t\t\"toshima.tokyo.jp\",\n\t\t\"chizu.tottori.jp\",\n\t\t\"hino.tottori.jp\",\n\t\t\"kawahara.tottori.jp\",\n\t\t\"koge.tottori.jp\",\n\t\t\"kotoura.tottori.jp\",\n\t\t\"misasa.tottori.jp\",\n\t\t\"nanbu.tottori.jp\",\n\t\t\"nichinan.tottori.jp\",\n\t\t\"sakaiminato.tottori.jp\",\n\t\t\"tottori.tottori.jp\",\n\t\t\"wakasa.tottori.jp\",\n\t\t\"yazu.tottori.jp\",\n\t\t\"yonago.tottori.jp\",\n\t\t\"asahi.toyama.jp\",\n\t\t\"fuchu.toyama.jp\",\n\t\t\"fukumitsu.toyama.jp\",\n\t\t\"funahashi.toyama.jp\",\n\t\t\"himi.toyama.jp\",\n\t\t\"imizu.toyama.jp\",\n\t\t\"inami.toyama.jp\",\n\t\t\"johana.toyama.jp\",\n\t\t\"kamiichi.toyama.jp\",\n\t\t\"kurobe.toyama.jp\",\n\t\t\"nakaniikawa.toyama.jp\",\n\t\t\"namerikawa.toyama.jp\",\n\t\t\"nanto.toyama.jp\",\n\t\t\"nyuzen.toyama.jp\",\n\t\t\"oyabe.toyama.jp\",\n\t\t\"taira.toyama.jp\",\n\t\t\"takaoka.toyama.jp\",\n\t\t\"tateyama.toyama.jp\",\n\t\t\"toga.toyama.jp\",\n\t\t\"tonami.toyama.jp\",\n\t\t\"toyama.toyama.jp\",\n\t\t\"unazuki.toyama.jp\",\n\t\t\"uozu.toyama.jp\",\n\t\t\"yamada.toyama.jp\",\n\t\t\"arida.wakayama.jp\",\n\t\t\"aridagawa.wakayama.jp\",\n\t\t\"gobo.wakayama.jp\",\n\t\t\"hashimoto.wakayama.jp\",\n\t\t\"hidaka.wakayama.jp\",\n\t\t\"hirogawa.wakayama.jp\",\n\t\t\"inami.wakayama.jp\",\n\t\t\"iwade.wakayama.jp\",\n\t\t\"kainan.wakayama.jp\",\n\t\t\"kamitonda.wakayama.jp\",\n\t\t\"katsuragi.wakayama.jp\",\n\t\t\"kimino.wakayama.jp\",\n\t\t\"kinokawa.wakayama.jp\",\n\t\t\"kitayama.wakayama.jp\",\n\t\t\"koya.wakayama.jp\",\n\t\t\"koza.wakayama.jp\",\n\t\t\"kozagawa.wakayama.jp\",\n\t\t\"kudoyama.wakayama.jp\",\n\t\t\"kushimoto.wakayama.jp\",\n\t\t\"mihama.wakayama.jp\",\n\t\t\"misato.wakayama.jp\",\n\t\t\"nachikatsuura.wakayama.jp\",\n\t\t\"shingu.wakayama.jp\",\n\t\t\"shirahama.wakayama.jp\",\n\t\t\"taiji.wakayama.jp\",\n\t\t\"tanabe.wakayama.jp\",\n\t\t\"wakayama.wakayama.jp\",\n\t\t\"yuasa.wakayama.jp\",\n\t\t\"yura.wakayama.jp\",\n\t\t\"asahi.yamagata.jp\",\n\t\t\"funagata.yamagata.jp\",\n\t\t\"higashine.yamagata.jp\",\n\t\t\"iide.yamagata.jp\",\n\t\t\"kahoku.yamagata.jp\",\n\t\t\"kaminoyama.yamagata.jp\",\n\t\t\"kaneyama.yamagata.jp\",\n\t\t\"kawanishi.yamagata.jp\",\n\t\t\"mamurogawa.yamagata.jp\",\n\t\t\"mikawa.yamagata.jp\",\n\t\t\"murayama.yamagata.jp\",\n\t\t\"nagai.yamagata.jp\",\n\t\t\"nakayama.yamagata.jp\",\n\t\t\"nanyo.yamagata.jp\",\n\t\t\"nishikawa.yamagata.jp\",\n\t\t\"obanazawa.yamagata.jp\",\n\t\t\"oe.yamagata.jp\",\n\t\t\"oguni.yamagata.jp\",\n\t\t\"ohkura.yamagata.jp\",\n\t\t\"oishida.yamagata.jp\",\n\t\t\"sagae.yamagata.jp\",\n\t\t\"sakata.yamagata.jp\",\n\t\t\"sakegawa.yamagata.jp\",\n\t\t\"shinjo.yamagata.jp\",\n\t\t\"shirataka.yamagata.jp\",\n\t\t\"shonai.yamagata.jp\",\n\t\t\"takahata.yamagata.jp\",\n\t\t\"tendo.yamagata.jp\",\n\t\t\"tozawa.yamagata.jp\",\n\t\t\"tsuruoka.yamagata.jp\",\n\t\t\"yamagata.yamagata.jp\",\n\t\t\"yamanobe.yamagata.jp\",\n\t\t\"yonezawa.yamagata.jp\",\n\t\t\"yuza.yamagata.jp\",\n\t\t\"abu.yamaguchi.jp\",\n\t\t\"hagi.yamaguchi.jp\",\n\t\t\"hikari.yamaguchi.jp\",\n\t\t\"hofu.yamaguchi.jp\",\n\t\t\"iwakuni.yamaguchi.jp\",\n\t\t\"kudamatsu.yamaguchi.jp\",\n\t\t\"mitou.yamaguchi.jp\",\n\t\t\"nagato.yamaguchi.jp\",\n\t\t\"oshima.yamaguchi.jp\",\n\t\t\"shimonoseki.yamaguchi.jp\",\n\t\t\"shunan.yamaguchi.jp\",\n\t\t\"tabuse.yamaguchi.jp\",\n\t\t\"tokuyama.yamaguchi.jp\",\n\t\t\"toyota.yamaguchi.jp\",\n\t\t\"ube.yamaguchi.jp\",\n\t\t\"yuu.yamaguchi.jp\",\n\t\t\"chuo.yamanashi.jp\",\n\t\t\"doshi.yamanashi.jp\",\n\t\t\"fuefuki.yamanashi.jp\",\n\t\t\"fujikawa.yamanashi.jp\",\n\t\t\"fujikawaguchiko.yamanashi.jp\",\n\t\t\"fujiyoshida.yamanashi.jp\",\n\t\t\"hayakawa.yamanashi.jp\",\n\t\t\"hokuto.yamanashi.jp\",\n\t\t\"ichikawamisato.yamanashi.jp\",\n\t\t\"kai.yamanashi.jp\",\n\t\t\"kofu.yamanashi.jp\",\n\t\t\"koshu.yamanashi.jp\",\n\t\t\"kosuge.yamanashi.jp\",\n\t\t\"minami-alps.yamanashi.jp\",\n\t\t\"minobu.yamanashi.jp\",\n\t\t\"nakamichi.yamanashi.jp\",\n\t\t\"nanbu.yamanashi.jp\",\n\t\t\"narusawa.yamanashi.jp\",\n\t\t\"nirasaki.yamanashi.jp\",\n\t\t\"nishikatsura.yamanashi.jp\",\n\t\t\"oshino.yamanashi.jp\",\n\t\t\"otsuki.yamanashi.jp\",\n\t\t\"showa.yamanashi.jp\",\n\t\t\"tabayama.yamanashi.jp\",\n\t\t\"tsuru.yamanashi.jp\",\n\t\t\"uenohara.yamanashi.jp\",\n\t\t\"yamanakako.yamanashi.jp\",\n\t\t\"yamanashi.yamanashi.jp\",\n\t\t\"ke\",\n\t\t\"ac.ke\",\n\t\t\"co.ke\",\n\t\t\"go.ke\",\n\t\t\"info.ke\",\n\t\t\"me.ke\",\n\t\t\"mobi.ke\",\n\t\t\"ne.ke\",\n\t\t\"or.ke\",\n\t\t\"sc.ke\",\n\t\t\"kg\",\n\t\t\"org.kg\",\n\t\t\"net.kg\",\n\t\t\"com.kg\",\n\t\t\"edu.kg\",\n\t\t\"gov.kg\",\n\t\t\"mil.kg\",\n\t\t\"*.kh\",\n\t\t\"ki\",\n\t\t\"edu.ki\",\n\t\t\"biz.ki\",\n\t\t\"net.ki\",\n\t\t\"org.ki\",\n\t\t\"gov.ki\",\n\t\t\"info.ki\",\n\t\t\"com.ki\",\n\t\t\"km\",\n\t\t\"org.km\",\n\t\t\"nom.km\",\n\t\t\"gov.km\",\n\t\t\"prd.km\",\n\t\t\"tm.km\",\n\t\t\"edu.km\",\n\t\t\"mil.km\",\n\t\t\"ass.km\",\n\t\t\"com.km\",\n\t\t\"coop.km\",\n\t\t\"asso.km\",\n\t\t\"presse.km\",\n\t\t\"medecin.km\",\n\t\t\"notaires.km\",\n\t\t\"pharmaciens.km\",\n\t\t\"veterinaire.km\",\n\t\t\"gouv.km\",\n\t\t\"kn\",\n\t\t\"net.kn\",\n\t\t\"org.kn\",\n\t\t\"edu.kn\",\n\t\t\"gov.kn\",\n\t\t\"kp\",\n\t\t\"com.kp\",\n\t\t\"edu.kp\",\n\t\t\"gov.kp\",\n\t\t\"org.kp\",\n\t\t\"rep.kp\",\n\t\t\"tra.kp\",\n\t\t\"kr\",\n\t\t\"ac.kr\",\n\t\t\"co.kr\",\n\t\t\"es.kr\",\n\t\t\"go.kr\",\n\t\t\"hs.kr\",\n\t\t\"kg.kr\",\n\t\t\"mil.kr\",\n\t\t\"ms.kr\",\n\t\t\"ne.kr\",\n\t\t\"or.kr\",\n\t\t\"pe.kr\",\n\t\t\"re.kr\",\n\t\t\"sc.kr\",\n\t\t\"busan.kr\",\n\t\t\"chungbuk.kr\",\n\t\t\"chungnam.kr\",\n\t\t\"daegu.kr\",\n\t\t\"daejeon.kr\",\n\t\t\"gangwon.kr\",\n\t\t\"gwangju.kr\",\n\t\t\"gyeongbuk.kr\",\n\t\t\"gyeonggi.kr\",\n\t\t\"gyeongnam.kr\",\n\t\t\"incheon.kr\",\n\t\t\"jeju.kr\",\n\t\t\"jeonbuk.kr\",\n\t\t\"jeonnam.kr\",\n\t\t\"seoul.kr\",\n\t\t\"ulsan.kr\",\n\t\t\"kw\",\n\t\t\"com.kw\",\n\t\t\"edu.kw\",\n\t\t\"emb.kw\",\n\t\t\"gov.kw\",\n\t\t\"ind.kw\",\n\t\t\"net.kw\",\n\t\t\"org.kw\",\n\t\t\"ky\",\n\t\t\"com.ky\",\n\t\t\"edu.ky\",\n\t\t\"net.ky\",\n\t\t\"org.ky\",\n\t\t\"kz\",\n\t\t\"org.kz\",\n\t\t\"edu.kz\",\n\t\t\"net.kz\",\n\t\t\"gov.kz\",\n\t\t\"mil.kz\",\n\t\t\"com.kz\",\n\t\t\"la\",\n\t\t\"int.la\",\n\t\t\"net.la\",\n\t\t\"info.la\",\n\t\t\"edu.la\",\n\t\t\"gov.la\",\n\t\t\"per.la\",\n\t\t\"com.la\",\n\t\t\"org.la\",\n\t\t\"lb\",\n\t\t\"com.lb\",\n\t\t\"edu.lb\",\n\t\t\"gov.lb\",\n\t\t\"net.lb\",\n\t\t\"org.lb\",\n\t\t\"lc\",\n\t\t\"com.lc\",\n\t\t\"net.lc\",\n\t\t\"co.lc\",\n\t\t\"org.lc\",\n\t\t\"edu.lc\",\n\t\t\"gov.lc\",\n\t\t\"li\",\n\t\t\"lk\",\n\t\t\"gov.lk\",\n\t\t\"sch.lk\",\n\t\t\"net.lk\",\n\t\t\"int.lk\",\n\t\t\"com.lk\",\n\t\t\"org.lk\",\n\t\t\"edu.lk\",\n\t\t\"ngo.lk\",\n\t\t\"soc.lk\",\n\t\t\"web.lk\",\n\t\t\"ltd.lk\",\n\t\t\"assn.lk\",\n\t\t\"grp.lk\",\n\t\t\"hotel.lk\",\n\t\t\"ac.lk\",\n\t\t\"lr\",\n\t\t\"com.lr\",\n\t\t\"edu.lr\",\n\t\t\"gov.lr\",\n\t\t\"org.lr\",\n\t\t\"net.lr\",\n\t\t\"ls\",\n\t\t\"ac.ls\",\n\t\t\"biz.ls\",\n\t\t\"co.ls\",\n\t\t\"edu.ls\",\n\t\t\"gov.ls\",\n\t\t\"info.ls\",\n\t\t\"net.ls\",\n\t\t\"org.ls\",\n\t\t\"sc.ls\",\n\t\t\"lt\",\n\t\t\"gov.lt\",\n\t\t\"lu\",\n\t\t\"lv\",\n\t\t\"com.lv\",\n\t\t\"edu.lv\",\n\t\t\"gov.lv\",\n\t\t\"org.lv\",\n\t\t\"mil.lv\",\n\t\t\"id.lv\",\n\t\t\"net.lv\",\n\t\t\"asn.lv\",\n\t\t\"conf.lv\",\n\t\t\"ly\",\n\t\t\"com.ly\",\n\t\t\"net.ly\",\n\t\t\"gov.ly\",\n\t\t\"plc.ly\",\n\t\t\"edu.ly\",\n\t\t\"sch.ly\",\n\t\t\"med.ly\",\n\t\t\"org.ly\",\n\t\t\"id.ly\",\n\t\t\"ma\",\n\t\t\"co.ma\",\n\t\t\"net.ma\",\n\t\t\"gov.ma\",\n\t\t\"org.ma\",\n\t\t\"ac.ma\",\n\t\t\"press.ma\",\n\t\t\"mc\",\n\t\t\"tm.mc\",\n\t\t\"asso.mc\",\n\t\t\"md\",\n\t\t\"me\",\n\t\t\"co.me\",\n\t\t\"net.me\",\n\t\t\"org.me\",\n\t\t\"edu.me\",\n\t\t\"ac.me\",\n\t\t\"gov.me\",\n\t\t\"its.me\",\n\t\t\"priv.me\",\n\t\t\"mg\",\n\t\t\"org.mg\",\n\t\t\"nom.mg\",\n\t\t\"gov.mg\",\n\t\t\"prd.mg\",\n\t\t\"tm.mg\",\n\t\t\"edu.mg\",\n\t\t\"mil.mg\",\n\t\t\"com.mg\",\n\t\t\"co.mg\",\n\t\t\"mh\",\n\t\t\"mil\",\n\t\t\"mk\",\n\t\t\"com.mk\",\n\t\t\"org.mk\",\n\t\t\"net.mk\",\n\t\t\"edu.mk\",\n\t\t\"gov.mk\",\n\t\t\"inf.mk\",\n\t\t\"name.mk\",\n\t\t\"ml\",\n\t\t\"com.ml\",\n\t\t\"edu.ml\",\n\t\t\"gouv.ml\",\n\t\t\"gov.ml\",\n\t\t\"net.ml\",\n\t\t\"org.ml\",\n\t\t\"presse.ml\",\n\t\t\"*.mm\",\n\t\t\"mn\",\n\t\t\"gov.mn\",\n\t\t\"edu.mn\",\n\t\t\"org.mn\",\n\t\t\"mo\",\n\t\t\"com.mo\",\n\t\t\"net.mo\",\n\t\t\"org.mo\",\n\t\t\"edu.mo\",\n\t\t\"gov.mo\",\n\t\t\"mobi\",\n\t\t\"mp\",\n\t\t\"mq\",\n\t\t\"mr\",\n\t\t\"gov.mr\",\n\t\t\"ms\",\n\t\t\"com.ms\",\n\t\t\"edu.ms\",\n\t\t\"gov.ms\",\n\t\t\"net.ms\",\n\t\t\"org.ms\",\n\t\t\"mt\",\n\t\t\"com.mt\",\n\t\t\"edu.mt\",\n\t\t\"net.mt\",\n\t\t\"org.mt\",\n\t\t\"mu\",\n\t\t\"com.mu\",\n\t\t\"net.mu\",\n\t\t\"org.mu\",\n\t\t\"gov.mu\",\n\t\t\"ac.mu\",\n\t\t\"co.mu\",\n\t\t\"or.mu\",\n\t\t\"museum\",\n\t\t\"academy.museum\",\n\t\t\"agriculture.museum\",\n\t\t\"air.museum\",\n\t\t\"airguard.museum\",\n\t\t\"alabama.museum\",\n\t\t\"alaska.museum\",\n\t\t\"amber.museum\",\n\t\t\"ambulance.museum\",\n\t\t\"american.museum\",\n\t\t\"americana.museum\",\n\t\t\"americanantiques.museum\",\n\t\t\"americanart.museum\",\n\t\t\"amsterdam.museum\",\n\t\t\"and.museum\",\n\t\t\"annefrank.museum\",\n\t\t\"anthro.museum\",\n\t\t\"anthropology.museum\",\n\t\t\"antiques.museum\",\n\t\t\"aquarium.museum\",\n\t\t\"arboretum.museum\",\n\t\t\"archaeological.museum\",\n\t\t\"archaeology.museum\",\n\t\t\"architecture.museum\",\n\t\t\"art.museum\",\n\t\t\"artanddesign.museum\",\n\t\t\"artcenter.museum\",\n\t\t\"artdeco.museum\",\n\t\t\"arteducation.museum\",\n\t\t\"artgallery.museum\",\n\t\t\"arts.museum\",\n\t\t\"artsandcrafts.museum\",\n\t\t\"asmatart.museum\",\n\t\t\"assassination.museum\",\n\t\t\"assisi.museum\",\n\t\t\"association.museum\",\n\t\t\"astronomy.museum\",\n\t\t\"atlanta.museum\",\n\t\t\"austin.museum\",\n\t\t\"australia.museum\",\n\t\t\"automotive.museum\",\n\t\t\"aviation.museum\",\n\t\t\"axis.museum\",\n\t\t\"badajoz.museum\",\n\t\t\"baghdad.museum\",\n\t\t\"bahn.museum\",\n\t\t\"bale.museum\",\n\t\t\"baltimore.museum\",\n\t\t\"barcelona.museum\",\n\t\t\"baseball.museum\",\n\t\t\"basel.museum\",\n\t\t\"baths.museum\",\n\t\t\"bauern.museum\",\n\t\t\"beauxarts.museum\",\n\t\t\"beeldengeluid.museum\",\n\t\t\"bellevue.museum\",\n\t\t\"bergbau.museum\",\n\t\t\"berkeley.museum\",\n\t\t\"berlin.museum\",\n\t\t\"bern.museum\",\n\t\t\"bible.museum\",\n\t\t\"bilbao.museum\",\n\t\t\"bill.museum\",\n\t\t\"birdart.museum\",\n\t\t\"birthplace.museum\",\n\t\t\"bonn.museum\",\n\t\t\"boston.museum\",\n\t\t\"botanical.museum\",\n\t\t\"botanicalgarden.museum\",\n\t\t\"botanicgarden.museum\",\n\t\t\"botany.museum\",\n\t\t\"brandywinevalley.museum\",\n\t\t\"brasil.museum\",\n\t\t\"bristol.museum\",\n\t\t\"british.museum\",\n\t\t\"britishcolumbia.museum\",\n\t\t\"broadcast.museum\",\n\t\t\"brunel.museum\",\n\t\t\"brussel.museum\",\n\t\t\"brussels.museum\",\n\t\t\"bruxelles.museum\",\n\t\t\"building.museum\",\n\t\t\"burghof.museum\",\n\t\t\"bus.museum\",\n\t\t\"bushey.museum\",\n\t\t\"cadaques.museum\",\n\t\t\"california.museum\",\n\t\t\"cambridge.museum\",\n\t\t\"can.museum\",\n\t\t\"canada.museum\",\n\t\t\"capebreton.museum\",\n\t\t\"carrier.museum\",\n\t\t\"cartoonart.museum\",\n\t\t\"casadelamoneda.museum\",\n\t\t\"castle.museum\",\n\t\t\"castres.museum\",\n\t\t\"celtic.museum\",\n\t\t\"center.museum\",\n\t\t\"chattanooga.museum\",\n\t\t\"cheltenham.museum\",\n\t\t\"chesapeakebay.museum\",\n\t\t\"chicago.museum\",\n\t\t\"children.museum\",\n\t\t\"childrens.museum\",\n\t\t\"childrensgarden.museum\",\n\t\t\"chiropractic.museum\",\n\t\t\"chocolate.museum\",\n\t\t\"christiansburg.museum\",\n\t\t\"cincinnati.museum\",\n\t\t\"cinema.museum\",\n\t\t\"circus.museum\",\n\t\t\"civilisation.museum\",\n\t\t\"civilization.museum\",\n\t\t\"civilwar.museum\",\n\t\t\"clinton.museum\",\n\t\t\"clock.museum\",\n\t\t\"coal.museum\",\n\t\t\"coastaldefence.museum\",\n\t\t\"cody.museum\",\n\t\t\"coldwar.museum\",\n\t\t\"collection.museum\",\n\t\t\"colonialwilliamsburg.museum\",\n\t\t\"coloradoplateau.museum\",\n\t\t\"columbia.museum\",\n\t\t\"columbus.museum\",\n\t\t\"communication.museum\",\n\t\t\"communications.museum\",\n\t\t\"community.museum\",\n\t\t\"computer.museum\",\n\t\t\"computerhistory.museum\",\n\t\t\"comunicações.museum\",\n\t\t\"contemporary.museum\",\n\t\t\"contemporaryart.museum\",\n\t\t\"convent.museum\",\n\t\t\"copenhagen.museum\",\n\t\t\"corporation.museum\",\n\t\t\"correios-e-telecomunicações.museum\",\n\t\t\"corvette.museum\",\n\t\t\"costume.museum\",\n\t\t\"countryestate.museum\",\n\t\t\"county.museum\",\n\t\t\"crafts.museum\",\n\t\t\"cranbrook.museum\",\n\t\t\"creation.museum\",\n\t\t\"cultural.museum\",\n\t\t\"culturalcenter.museum\",\n\t\t\"culture.museum\",\n\t\t\"cyber.museum\",\n\t\t\"cymru.museum\",\n\t\t\"dali.museum\",\n\t\t\"dallas.museum\",\n\t\t\"database.museum\",\n\t\t\"ddr.museum\",\n\t\t\"decorativearts.museum\",\n\t\t\"delaware.museum\",\n\t\t\"delmenhorst.museum\",\n\t\t\"denmark.museum\",\n\t\t\"depot.museum\",\n\t\t\"design.museum\",\n\t\t\"detroit.museum\",\n\t\t\"dinosaur.museum\",\n\t\t\"discovery.museum\",\n\t\t\"dolls.museum\",\n\t\t\"donostia.museum\",\n\t\t\"durham.museum\",\n\t\t\"eastafrica.museum\",\n\t\t\"eastcoast.museum\",\n\t\t\"education.museum\",\n\t\t\"educational.museum\",\n\t\t\"egyptian.museum\",\n\t\t\"eisenbahn.museum\",\n\t\t\"elburg.museum\",\n\t\t\"elvendrell.museum\",\n\t\t\"embroidery.museum\",\n\t\t\"encyclopedic.museum\",\n\t\t\"england.museum\",\n\t\t\"entomology.museum\",\n\t\t\"environment.museum\",\n\t\t\"environmentalconservation.museum\",\n\t\t\"epilepsy.museum\",\n\t\t\"essex.museum\",\n\t\t\"estate.museum\",\n\t\t\"ethnology.museum\",\n\t\t\"exeter.museum\",\n\t\t\"exhibition.museum\",\n\t\t\"family.museum\",\n\t\t\"farm.museum\",\n\t\t\"farmequipment.museum\",\n\t\t\"farmers.museum\",\n\t\t\"farmstead.museum\",\n\t\t\"field.museum\",\n\t\t\"figueres.museum\",\n\t\t\"filatelia.museum\",\n\t\t\"film.museum\",\n\t\t\"fineart.museum\",\n\t\t\"finearts.museum\",\n\t\t\"finland.museum\",\n\t\t\"flanders.museum\",\n\t\t\"florida.museum\",\n\t\t\"force.museum\",\n\t\t\"fortmissoula.museum\",\n\t\t\"fortworth.museum\",\n\t\t\"foundation.museum\",\n\t\t\"francaise.museum\",\n\t\t\"frankfurt.museum\",\n\t\t\"franziskaner.museum\",\n\t\t\"freemasonry.museum\",\n\t\t\"freiburg.museum\",\n\t\t\"fribourg.museum\",\n\t\t\"frog.museum\",\n\t\t\"fundacio.museum\",\n\t\t\"furniture.museum\",\n\t\t\"gallery.museum\",\n\t\t\"garden.museum\",\n\t\t\"gateway.museum\",\n\t\t\"geelvinck.museum\",\n\t\t\"gemological.museum\",\n\t\t\"geology.museum\",\n\t\t\"georgia.museum\",\n\t\t\"giessen.museum\",\n\t\t\"glas.museum\",\n\t\t\"glass.museum\",\n\t\t\"gorge.museum\",\n\t\t\"grandrapids.museum\",\n\t\t\"graz.museum\",\n\t\t\"guernsey.museum\",\n\t\t\"halloffame.museum\",\n\t\t\"hamburg.museum\",\n\t\t\"handson.museum\",\n\t\t\"harvestcelebration.museum\",\n\t\t\"hawaii.museum\",\n\t\t\"health.museum\",\n\t\t\"heimatunduhren.museum\",\n\t\t\"hellas.museum\",\n\t\t\"helsinki.museum\",\n\t\t\"hembygdsforbund.museum\",\n\t\t\"heritage.museum\",\n\t\t\"histoire.museum\",\n\t\t\"historical.museum\",\n\t\t\"historicalsociety.museum\",\n\t\t\"historichouses.museum\",\n\t\t\"historisch.museum\",\n\t\t\"historisches.museum\",\n\t\t\"history.museum\",\n\t\t\"historyofscience.museum\",\n\t\t\"horology.museum\",\n\t\t\"house.museum\",\n\t\t\"humanities.museum\",\n\t\t\"illustration.museum\",\n\t\t\"imageandsound.museum\",\n\t\t\"indian.museum\",\n\t\t\"indiana.museum\",\n\t\t\"indianapolis.museum\",\n\t\t\"indianmarket.museum\",\n\t\t\"intelligence.museum\",\n\t\t\"interactive.museum\",\n\t\t\"iraq.museum\",\n\t\t\"iron.museum\",\n\t\t\"isleofman.museum\",\n\t\t\"jamison.museum\",\n\t\t\"jefferson.museum\",\n\t\t\"jerusalem.museum\",\n\t\t\"jewelry.museum\",\n\t\t\"jewish.museum\",\n\t\t\"jewishart.museum\",\n\t\t\"jfk.museum\",\n\t\t\"journalism.museum\",\n\t\t\"judaica.museum\",\n\t\t\"judygarland.museum\",\n\t\t\"juedisches.museum\",\n\t\t\"juif.museum\",\n\t\t\"karate.museum\",\n\t\t\"karikatur.museum\",\n\t\t\"kids.museum\",\n\t\t\"koebenhavn.museum\",\n\t\t\"koeln.museum\",\n\t\t\"kunst.museum\",\n\t\t\"kunstsammlung.museum\",\n\t\t\"kunstunddesign.museum\",\n\t\t\"labor.museum\",\n\t\t\"labour.museum\",\n\t\t\"lajolla.museum\",\n\t\t\"lancashire.museum\",\n\t\t\"landes.museum\",\n\t\t\"lans.museum\",\n\t\t\"läns.museum\",\n\t\t\"larsson.museum\",\n\t\t\"lewismiller.museum\",\n\t\t\"lincoln.museum\",\n\t\t\"linz.museum\",\n\t\t\"living.museum\",\n\t\t\"livinghistory.museum\",\n\t\t\"localhistory.museum\",\n\t\t\"london.museum\",\n\t\t\"losangeles.museum\",\n\t\t\"louvre.museum\",\n\t\t\"loyalist.museum\",\n\t\t\"lucerne.museum\",\n\t\t\"luxembourg.museum\",\n\t\t\"luzern.museum\",\n\t\t\"mad.museum\",\n\t\t\"madrid.museum\",\n\t\t\"mallorca.museum\",\n\t\t\"manchester.museum\",\n\t\t\"mansion.museum\",\n\t\t\"mansions.museum\",\n\t\t\"manx.museum\",\n\t\t\"marburg.museum\",\n\t\t\"maritime.museum\",\n\t\t\"maritimo.museum\",\n\t\t\"maryland.museum\",\n\t\t\"marylhurst.museum\",\n\t\t\"media.museum\",\n\t\t\"medical.museum\",\n\t\t\"medizinhistorisches.museum\",\n\t\t\"meeres.museum\",\n\t\t\"memorial.museum\",\n\t\t\"mesaverde.museum\",\n\t\t\"michigan.museum\",\n\t\t\"midatlantic.museum\",\n\t\t\"military.museum\",\n\t\t\"mill.museum\",\n\t\t\"miners.museum\",\n\t\t\"mining.museum\",\n\t\t\"minnesota.museum\",\n\t\t\"missile.museum\",\n\t\t\"missoula.museum\",\n\t\t\"modern.museum\",\n\t\t\"moma.museum\",\n\t\t\"money.museum\",\n\t\t\"monmouth.museum\",\n\t\t\"monticello.museum\",\n\t\t\"montreal.museum\",\n\t\t\"moscow.museum\",\n\t\t\"motorcycle.museum\",\n\t\t\"muenchen.museum\",\n\t\t\"muenster.museum\",\n\t\t\"mulhouse.museum\",\n\t\t\"muncie.museum\",\n\t\t\"museet.museum\",\n\t\t\"museumcenter.museum\",\n\t\t\"museumvereniging.museum\",\n\t\t\"music.museum\",\n\t\t\"national.museum\",\n\t\t\"nationalfirearms.museum\",\n\t\t\"nationalheritage.museum\",\n\t\t\"nativeamerican.museum\",\n\t\t\"naturalhistory.museum\",\n\t\t\"naturalhistorymuseum.museum\",\n\t\t\"naturalsciences.museum\",\n\t\t\"nature.museum\",\n\t\t\"naturhistorisches.museum\",\n\t\t\"natuurwetenschappen.museum\",\n\t\t\"naumburg.museum\",\n\t\t\"naval.museum\",\n\t\t\"nebraska.museum\",\n\t\t\"neues.museum\",\n\t\t\"newhampshire.museum\",\n\t\t\"newjersey.museum\",\n\t\t\"newmexico.museum\",\n\t\t\"newport.museum\",\n\t\t\"newspaper.museum\",\n\t\t\"newyork.museum\",\n\t\t\"niepce.museum\",\n\t\t\"norfolk.museum\",\n\t\t\"north.museum\",\n\t\t\"nrw.museum\",\n\t\t\"nyc.museum\",\n\t\t\"nyny.museum\",\n\t\t\"oceanographic.museum\",\n\t\t\"oceanographique.museum\",\n\t\t\"omaha.museum\",\n\t\t\"online.museum\",\n\t\t\"ontario.museum\",\n\t\t\"openair.museum\",\n\t\t\"oregon.museum\",\n\t\t\"oregontrail.museum\",\n\t\t\"otago.museum\",\n\t\t\"oxford.museum\",\n\t\t\"pacific.museum\",\n\t\t\"paderborn.museum\",\n\t\t\"palace.museum\",\n\t\t\"paleo.museum\",\n\t\t\"palmsprings.museum\",\n\t\t\"panama.museum\",\n\t\t\"paris.museum\",\n\t\t\"pasadena.museum\",\n\t\t\"pharmacy.museum\",\n\t\t\"philadelphia.museum\",\n\t\t\"philadelphiaarea.museum\",\n\t\t\"philately.museum\",\n\t\t\"phoenix.museum\",\n\t\t\"photography.museum\",\n\t\t\"pilots.museum\",\n\t\t\"pittsburgh.museum\",\n\t\t\"planetarium.museum\",\n\t\t\"plantation.museum\",\n\t\t\"plants.museum\",\n\t\t\"plaza.museum\",\n\t\t\"portal.museum\",\n\t\t\"portland.museum\",\n\t\t\"portlligat.museum\",\n\t\t\"posts-and-telecommunications.museum\",\n\t\t\"preservation.museum\",\n\t\t\"presidio.museum\",\n\t\t\"press.museum\",\n\t\t\"project.museum\",\n\t\t\"public.museum\",\n\t\t\"pubol.museum\",\n\t\t\"quebec.museum\",\n\t\t\"railroad.museum\",\n\t\t\"railway.museum\",\n\t\t\"research.museum\",\n\t\t\"resistance.museum\",\n\t\t\"riodejaneiro.museum\",\n\t\t\"rochester.museum\",\n\t\t\"rockart.museum\",\n\t\t\"roma.museum\",\n\t\t\"russia.museum\",\n\t\t\"saintlouis.museum\",\n\t\t\"salem.museum\",\n\t\t\"salvadordali.museum\",\n\t\t\"salzburg.museum\",\n\t\t\"sandiego.museum\",\n\t\t\"sanfrancisco.museum\",\n\t\t\"santabarbara.museum\",\n\t\t\"santacruz.museum\",\n\t\t\"santafe.museum\",\n\t\t\"saskatchewan.museum\",\n\t\t\"satx.museum\",\n\t\t\"savannahga.museum\",\n\t\t\"schlesisches.museum\",\n\t\t\"schoenbrunn.museum\",\n\t\t\"schokoladen.museum\",\n\t\t\"school.museum\",\n\t\t\"schweiz.museum\",\n\t\t\"science.museum\",\n\t\t\"scienceandhistory.museum\",\n\t\t\"scienceandindustry.museum\",\n\t\t\"sciencecenter.museum\",\n\t\t\"sciencecenters.museum\",\n\t\t\"science-fiction.museum\",\n\t\t\"sciencehistory.museum\",\n\t\t\"sciences.museum\",\n\t\t\"sciencesnaturelles.museum\",\n\t\t\"scotland.museum\",\n\t\t\"seaport.museum\",\n\t\t\"settlement.museum\",\n\t\t\"settlers.museum\",\n\t\t\"shell.museum\",\n\t\t\"sherbrooke.museum\",\n\t\t\"sibenik.museum\",\n\t\t\"silk.museum\",\n\t\t\"ski.museum\",\n\t\t\"skole.museum\",\n\t\t\"society.museum\",\n\t\t\"sologne.museum\",\n\t\t\"soundandvision.museum\",\n\t\t\"southcarolina.museum\",\n\t\t\"southwest.museum\",\n\t\t\"space.museum\",\n\t\t\"spy.museum\",\n\t\t\"square.museum\",\n\t\t\"stadt.museum\",\n\t\t\"stalbans.museum\",\n\t\t\"starnberg.museum\",\n\t\t\"state.museum\",\n\t\t\"stateofdelaware.museum\",\n\t\t\"station.museum\",\n\t\t\"steam.museum\",\n\t\t\"steiermark.museum\",\n\t\t\"stjohn.museum\",\n\t\t\"stockholm.museum\",\n\t\t\"stpetersburg.museum\",\n\t\t\"stuttgart.museum\",\n\t\t\"suisse.museum\",\n\t\t\"surgeonshall.museum\",\n\t\t\"surrey.museum\",\n\t\t\"svizzera.museum\",\n\t\t\"sweden.museum\",\n\t\t\"sydney.museum\",\n\t\t\"tank.museum\",\n\t\t\"tcm.museum\",\n\t\t\"technology.museum\",\n\t\t\"telekommunikation.museum\",\n\t\t\"television.museum\",\n\t\t\"texas.museum\",\n\t\t\"textile.museum\",\n\t\t\"theater.museum\",\n\t\t\"time.museum\",\n\t\t\"timekeeping.museum\",\n\t\t\"topology.museum\",\n\t\t\"torino.museum\",\n\t\t\"touch.museum\",\n\t\t\"town.museum\",\n\t\t\"transport.museum\",\n\t\t\"tree.museum\",\n\t\t\"trolley.museum\",\n\t\t\"trust.museum\",\n\t\t\"trustee.museum\",\n\t\t\"uhren.museum\",\n\t\t\"ulm.museum\",\n\t\t\"undersea.museum\",\n\t\t\"university.museum\",\n\t\t\"usa.museum\",\n\t\t\"usantiques.museum\",\n\t\t\"usarts.museum\",\n\t\t\"uscountryestate.museum\",\n\t\t\"usculture.museum\",\n\t\t\"usdecorativearts.museum\",\n\t\t\"usgarden.museum\",\n\t\t\"ushistory.museum\",\n\t\t\"ushuaia.museum\",\n\t\t\"uslivinghistory.museum\",\n\t\t\"utah.museum\",\n\t\t\"uvic.museum\",\n\t\t\"valley.museum\",\n\t\t\"vantaa.museum\",\n\t\t\"versailles.museum\",\n\t\t\"viking.museum\",\n\t\t\"village.museum\",\n\t\t\"virginia.museum\",\n\t\t\"virtual.museum\",\n\t\t\"virtuel.museum\",\n\t\t\"vlaanderen.museum\",\n\t\t\"volkenkunde.museum\",\n\t\t\"wales.museum\",\n\t\t\"wallonie.museum\",\n\t\t\"war.museum\",\n\t\t\"washingtondc.museum\",\n\t\t\"watchandclock.museum\",\n\t\t\"watch-and-clock.museum\",\n\t\t\"western.museum\",\n\t\t\"westfalen.museum\",\n\t\t\"whaling.museum\",\n\t\t\"wildlife.museum\",\n\t\t\"williamsburg.museum\",\n\t\t\"windmill.museum\",\n\t\t\"workshop.museum\",\n\t\t\"york.museum\",\n\t\t\"yorkshire.museum\",\n\t\t\"yosemite.museum\",\n\t\t\"youth.museum\",\n\t\t\"zoological.museum\",\n\t\t\"zoology.museum\",\n\t\t\"ירושלים.museum\",\n\t\t\"иком.museum\",\n\t\t\"mv\",\n\t\t\"aero.mv\",\n\t\t\"biz.mv\",\n\t\t\"com.mv\",\n\t\t\"coop.mv\",\n\t\t\"edu.mv\",\n\t\t\"gov.mv\",\n\t\t\"info.mv\",\n\t\t\"int.mv\",\n\t\t\"mil.mv\",\n\t\t\"museum.mv\",\n\t\t\"name.mv\",\n\t\t\"net.mv\",\n\t\t\"org.mv\",\n\t\t\"pro.mv\",\n\t\t\"mw\",\n\t\t\"ac.mw\",\n\t\t\"biz.mw\",\n\t\t\"co.mw\",\n\t\t\"com.mw\",\n\t\t\"coop.mw\",\n\t\t\"edu.mw\",\n\t\t\"gov.mw\",\n\t\t\"int.mw\",\n\t\t\"museum.mw\",\n\t\t\"net.mw\",\n\t\t\"org.mw\",\n\t\t\"mx\",\n\t\t\"com.mx\",\n\t\t\"org.mx\",\n\t\t\"gob.mx\",\n\t\t\"edu.mx\",\n\t\t\"net.mx\",\n\t\t\"my\",\n\t\t\"biz.my\",\n\t\t\"com.my\",\n\t\t\"edu.my\",\n\t\t\"gov.my\",\n\t\t\"mil.my\",\n\t\t\"name.my\",\n\t\t\"net.my\",\n\t\t\"org.my\",\n\t\t\"mz\",\n\t\t\"ac.mz\",\n\t\t\"adv.mz\",\n\t\t\"co.mz\",\n\t\t\"edu.mz\",\n\t\t\"gov.mz\",\n\t\t\"mil.mz\",\n\t\t\"net.mz\",\n\t\t\"org.mz\",\n\t\t\"na\",\n\t\t\"info.na\",\n\t\t\"pro.na\",\n\t\t\"name.na\",\n\t\t\"school.na\",\n\t\t\"or.na\",\n\t\t\"dr.na\",\n\t\t\"us.na\",\n\t\t\"mx.na\",\n\t\t\"ca.na\",\n\t\t\"in.na\",\n\t\t\"cc.na\",\n\t\t\"tv.na\",\n\t\t\"ws.na\",\n\t\t\"mobi.na\",\n\t\t\"co.na\",\n\t\t\"com.na\",\n\t\t\"org.na\",\n\t\t\"name\",\n\t\t\"nc\",\n\t\t\"asso.nc\",\n\t\t\"nom.nc\",\n\t\t\"ne\",\n\t\t\"net\",\n\t\t\"nf\",\n\t\t\"com.nf\",\n\t\t\"net.nf\",\n\t\t\"per.nf\",\n\t\t\"rec.nf\",\n\t\t\"web.nf\",\n\t\t\"arts.nf\",\n\t\t\"firm.nf\",\n\t\t\"info.nf\",\n\t\t\"other.nf\",\n\t\t\"store.nf\",\n\t\t\"ng\",\n\t\t\"com.ng\",\n\t\t\"edu.ng\",\n\t\t\"gov.ng\",\n\t\t\"i.ng\",\n\t\t\"mil.ng\",\n\t\t\"mobi.ng\",\n\t\t\"name.ng\",\n\t\t\"net.ng\",\n\t\t\"org.ng\",\n\t\t\"sch.ng\",\n\t\t\"ni\",\n\t\t\"ac.ni\",\n\t\t\"biz.ni\",\n\t\t\"co.ni\",\n\t\t\"com.ni\",\n\t\t\"edu.ni\",\n\t\t\"gob.ni\",\n\t\t\"in.ni\",\n\t\t\"info.ni\",\n\t\t\"int.ni\",\n\t\t\"mil.ni\",\n\t\t\"net.ni\",\n\t\t\"nom.ni\",\n\t\t\"org.ni\",\n\t\t\"web.ni\",\n\t\t\"nl\",\n\t\t\"no\",\n\t\t\"fhs.no\",\n\t\t\"vgs.no\",\n\t\t\"fylkesbibl.no\",\n\t\t\"folkebibl.no\",\n\t\t\"museum.no\",\n\t\t\"idrett.no\",\n\t\t\"priv.no\",\n\t\t\"mil.no\",\n\t\t\"stat.no\",\n\t\t\"dep.no\",\n\t\t\"kommune.no\",\n\t\t\"herad.no\",\n\t\t\"aa.no\",\n\t\t\"ah.no\",\n\t\t\"bu.no\",\n\t\t\"fm.no\",\n\t\t\"hl.no\",\n\t\t\"hm.no\",\n\t\t\"jan-mayen.no\",\n\t\t\"mr.no\",\n\t\t\"nl.no\",\n\t\t\"nt.no\",\n\t\t\"of.no\",\n\t\t\"ol.no\",\n\t\t\"oslo.no\",\n\t\t\"rl.no\",\n\t\t\"sf.no\",\n\t\t\"st.no\",\n\t\t\"svalbard.no\",\n\t\t\"tm.no\",\n\t\t\"tr.no\",\n\t\t\"va.no\",\n\t\t\"vf.no\",\n\t\t\"gs.aa.no\",\n\t\t\"gs.ah.no\",\n\t\t\"gs.bu.no\",\n\t\t\"gs.fm.no\",\n\t\t\"gs.hl.no\",\n\t\t\"gs.hm.no\",\n\t\t\"gs.jan-mayen.no\",\n\t\t\"gs.mr.no\",\n\t\t\"gs.nl.no\",\n\t\t\"gs.nt.no\",\n\t\t\"gs.of.no\",\n\t\t\"gs.ol.no\",\n\t\t\"gs.oslo.no\",\n\t\t\"gs.rl.no\",\n\t\t\"gs.sf.no\",\n\t\t\"gs.st.no\",\n\t\t\"gs.svalbard.no\",\n\t\t\"gs.tm.no\",\n\t\t\"gs.tr.no\",\n\t\t\"gs.va.no\",\n\t\t\"gs.vf.no\",\n\t\t\"akrehamn.no\",\n\t\t\"åkrehamn.no\",\n\t\t\"algard.no\",\n\t\t\"ålgård.no\",\n\t\t\"arna.no\",\n\t\t\"brumunddal.no\",\n\t\t\"bryne.no\",\n\t\t\"bronnoysund.no\",\n\t\t\"brønnøysund.no\",\n\t\t\"drobak.no\",\n\t\t\"drøbak.no\",\n\t\t\"egersund.no\",\n\t\t\"fetsund.no\",\n\t\t\"floro.no\",\n\t\t\"florø.no\",\n\t\t\"fredrikstad.no\",\n\t\t\"hokksund.no\",\n\t\t\"honefoss.no\",\n\t\t\"hønefoss.no\",\n\t\t\"jessheim.no\",\n\t\t\"jorpeland.no\",\n\t\t\"jørpeland.no\",\n\t\t\"kirkenes.no\",\n\t\t\"kopervik.no\",\n\t\t\"krokstadelva.no\",\n\t\t\"langevag.no\",\n\t\t\"langevåg.no\",\n\t\t\"leirvik.no\",\n\t\t\"mjondalen.no\",\n\t\t\"mjøndalen.no\",\n\t\t\"mo-i-rana.no\",\n\t\t\"mosjoen.no\",\n\t\t\"mosjøen.no\",\n\t\t\"nesoddtangen.no\",\n\t\t\"orkanger.no\",\n\t\t\"osoyro.no\",\n\t\t\"osøyro.no\",\n\t\t\"raholt.no\",\n\t\t\"råholt.no\",\n\t\t\"sandnessjoen.no\",\n\t\t\"sandnessjøen.no\",\n\t\t\"skedsmokorset.no\",\n\t\t\"slattum.no\",\n\t\t\"spjelkavik.no\",\n\t\t\"stathelle.no\",\n\t\t\"stavern.no\",\n\t\t\"stjordalshalsen.no\",\n\t\t\"stjørdalshalsen.no\",\n\t\t\"tananger.no\",\n\t\t\"tranby.no\",\n\t\t\"vossevangen.no\",\n\t\t\"afjord.no\",\n\t\t\"åfjord.no\",\n\t\t\"agdenes.no\",\n\t\t\"al.no\",\n\t\t\"ål.no\",\n\t\t\"alesund.no\",\n\t\t\"ålesund.no\",\n\t\t\"alstahaug.no\",\n\t\t\"alta.no\",\n\t\t\"áltá.no\",\n\t\t\"alaheadju.no\",\n\t\t\"álaheadju.no\",\n\t\t\"alvdal.no\",\n\t\t\"amli.no\",\n\t\t\"åmli.no\",\n\t\t\"amot.no\",\n\t\t\"åmot.no\",\n\t\t\"andebu.no\",\n\t\t\"andoy.no\",\n\t\t\"andøy.no\",\n\t\t\"andasuolo.no\",\n\t\t\"ardal.no\",\n\t\t\"årdal.no\",\n\t\t\"aremark.no\",\n\t\t\"arendal.no\",\n\t\t\"ås.no\",\n\t\t\"aseral.no\",\n\t\t\"åseral.no\",\n\t\t\"asker.no\",\n\t\t\"askim.no\",\n\t\t\"askvoll.no\",\n\t\t\"askoy.no\",\n\t\t\"askøy.no\",\n\t\t\"asnes.no\",\n\t\t\"åsnes.no\",\n\t\t\"audnedaln.no\",\n\t\t\"aukra.no\",\n\t\t\"aure.no\",\n\t\t\"aurland.no\",\n\t\t\"aurskog-holand.no\",\n\t\t\"aurskog-høland.no\",\n\t\t\"austevoll.no\",\n\t\t\"austrheim.no\",\n\t\t\"averoy.no\",\n\t\t\"averøy.no\",\n\t\t\"balestrand.no\",\n\t\t\"ballangen.no\",\n\t\t\"balat.no\",\n\t\t\"bálát.no\",\n\t\t\"balsfjord.no\",\n\t\t\"bahccavuotna.no\",\n\t\t\"báhccavuotna.no\",\n\t\t\"bamble.no\",\n\t\t\"bardu.no\",\n\t\t\"beardu.no\",\n\t\t\"beiarn.no\",\n\t\t\"bajddar.no\",\n\t\t\"bájddar.no\",\n\t\t\"baidar.no\",\n\t\t\"báidár.no\",\n\t\t\"berg.no\",\n\t\t\"bergen.no\",\n\t\t\"berlevag.no\",\n\t\t\"berlevåg.no\",\n\t\t\"bearalvahki.no\",\n\t\t\"bearalváhki.no\",\n\t\t\"bindal.no\",\n\t\t\"birkenes.no\",\n\t\t\"bjarkoy.no\",\n\t\t\"bjarkøy.no\",\n\t\t\"bjerkreim.no\",\n\t\t\"bjugn.no\",\n\t\t\"bodo.no\",\n\t\t\"bodø.no\",\n\t\t\"badaddja.no\",\n\t\t\"bådåddjå.no\",\n\t\t\"budejju.no\",\n\t\t\"bokn.no\",\n\t\t\"bremanger.no\",\n\t\t\"bronnoy.no\",\n\t\t\"brønnøy.no\",\n\t\t\"bygland.no\",\n\t\t\"bykle.no\",\n\t\t\"barum.no\",\n\t\t\"bærum.no\",\n\t\t\"bo.telemark.no\",\n\t\t\"bø.telemark.no\",\n\t\t\"bo.nordland.no\",\n\t\t\"bø.nordland.no\",\n\t\t\"bievat.no\",\n\t\t\"bievát.no\",\n\t\t\"bomlo.no\",\n\t\t\"bømlo.no\",\n\t\t\"batsfjord.no\",\n\t\t\"båtsfjord.no\",\n\t\t\"bahcavuotna.no\",\n\t\t\"báhcavuotna.no\",\n\t\t\"dovre.no\",\n\t\t\"drammen.no\",\n\t\t\"drangedal.no\",\n\t\t\"dyroy.no\",\n\t\t\"dyrøy.no\",\n\t\t\"donna.no\",\n\t\t\"dønna.no\",\n\t\t\"eid.no\",\n\t\t\"eidfjord.no\",\n\t\t\"eidsberg.no\",\n\t\t\"eidskog.no\",\n\t\t\"eidsvoll.no\",\n\t\t\"eigersund.no\",\n\t\t\"elverum.no\",\n\t\t\"enebakk.no\",\n\t\t\"engerdal.no\",\n\t\t\"etne.no\",\n\t\t\"etnedal.no\",\n\t\t\"evenes.no\",\n\t\t\"evenassi.no\",\n\t\t\"evenášši.no\",\n\t\t\"evje-og-hornnes.no\",\n\t\t\"farsund.no\",\n\t\t\"fauske.no\",\n\t\t\"fuossko.no\",\n\t\t\"fuoisku.no\",\n\t\t\"fedje.no\",\n\t\t\"fet.no\",\n\t\t\"finnoy.no\",\n\t\t\"finnøy.no\",\n\t\t\"fitjar.no\",\n\t\t\"fjaler.no\",\n\t\t\"fjell.no\",\n\t\t\"flakstad.no\",\n\t\t\"flatanger.no\",\n\t\t\"flekkefjord.no\",\n\t\t\"flesberg.no\",\n\t\t\"flora.no\",\n\t\t\"fla.no\",\n\t\t\"flå.no\",\n\t\t\"folldal.no\",\n\t\t\"forsand.no\",\n\t\t\"fosnes.no\",\n\t\t\"frei.no\",\n\t\t\"frogn.no\",\n\t\t\"froland.no\",\n\t\t\"frosta.no\",\n\t\t\"frana.no\",\n\t\t\"fræna.no\",\n\t\t\"froya.no\",\n\t\t\"frøya.no\",\n\t\t\"fusa.no\",\n\t\t\"fyresdal.no\",\n\t\t\"forde.no\",\n\t\t\"førde.no\",\n\t\t\"gamvik.no\",\n\t\t\"gangaviika.no\",\n\t\t\"gáŋgaviika.no\",\n\t\t\"gaular.no\",\n\t\t\"gausdal.no\",\n\t\t\"gildeskal.no\",\n\t\t\"gildeskål.no\",\n\t\t\"giske.no\",\n\t\t\"gjemnes.no\",\n\t\t\"gjerdrum.no\",\n\t\t\"gjerstad.no\",\n\t\t\"gjesdal.no\",\n\t\t\"gjovik.no\",\n\t\t\"gjøvik.no\",\n\t\t\"gloppen.no\",\n\t\t\"gol.no\",\n\t\t\"gran.no\",\n\t\t\"grane.no\",\n\t\t\"granvin.no\",\n\t\t\"gratangen.no\",\n\t\t\"grimstad.no\",\n\t\t\"grong.no\",\n\t\t\"kraanghke.no\",\n\t\t\"kråanghke.no\",\n\t\t\"grue.no\",\n\t\t\"gulen.no\",\n\t\t\"hadsel.no\",\n\t\t\"halden.no\",\n\t\t\"halsa.no\",\n\t\t\"hamar.no\",\n\t\t\"hamaroy.no\",\n\t\t\"habmer.no\",\n\t\t\"hábmer.no\",\n\t\t\"hapmir.no\",\n\t\t\"hápmir.no\",\n\t\t\"hammerfest.no\",\n\t\t\"hammarfeasta.no\",\n\t\t\"hámmárfeasta.no\",\n\t\t\"haram.no\",\n\t\t\"hareid.no\",\n\t\t\"harstad.no\",\n\t\t\"hasvik.no\",\n\t\t\"aknoluokta.no\",\n\t\t\"ákŋoluokta.no\",\n\t\t\"hattfjelldal.no\",\n\t\t\"aarborte.no\",\n\t\t\"haugesund.no\",\n\t\t\"hemne.no\",\n\t\t\"hemnes.no\",\n\t\t\"hemsedal.no\",\n\t\t\"heroy.more-og-romsdal.no\",\n\t\t\"herøy.møre-og-romsdal.no\",\n\t\t\"heroy.nordland.no\",\n\t\t\"herøy.nordland.no\",\n\t\t\"hitra.no\",\n\t\t\"hjartdal.no\",\n\t\t\"hjelmeland.no\",\n\t\t\"hobol.no\",\n\t\t\"hobøl.no\",\n\t\t\"hof.no\",\n\t\t\"hol.no\",\n\t\t\"hole.no\",\n\t\t\"holmestrand.no\",\n\t\t\"holtalen.no\",\n\t\t\"holtålen.no\",\n\t\t\"hornindal.no\",\n\t\t\"horten.no\",\n\t\t\"hurdal.no\",\n\t\t\"hurum.no\",\n\t\t\"hvaler.no\",\n\t\t\"hyllestad.no\",\n\t\t\"hagebostad.no\",\n\t\t\"hægebostad.no\",\n\t\t\"hoyanger.no\",\n\t\t\"høyanger.no\",\n\t\t\"hoylandet.no\",\n\t\t\"høylandet.no\",\n\t\t\"ha.no\",\n\t\t\"hå.no\",\n\t\t\"ibestad.no\",\n\t\t\"inderoy.no\",\n\t\t\"inderøy.no\",\n\t\t\"iveland.no\",\n\t\t\"jevnaker.no\",\n\t\t\"jondal.no\",\n\t\t\"jolster.no\",\n\t\t\"jølster.no\",\n\t\t\"karasjok.no\",\n\t\t\"karasjohka.no\",\n\t\t\"kárášjohka.no\",\n\t\t\"karlsoy.no\",\n\t\t\"galsa.no\",\n\t\t\"gálsá.no\",\n\t\t\"karmoy.no\",\n\t\t\"karmøy.no\",\n\t\t\"kautokeino.no\",\n\t\t\"guovdageaidnu.no\",\n\t\t\"klepp.no\",\n\t\t\"klabu.no\",\n\t\t\"klæbu.no\",\n\t\t\"kongsberg.no\",\n\t\t\"kongsvinger.no\",\n\t\t\"kragero.no\",\n\t\t\"kragerø.no\",\n\t\t\"kristiansand.no\",\n\t\t\"kristiansund.no\",\n\t\t\"krodsherad.no\",\n\t\t\"krødsherad.no\",\n\t\t\"kvalsund.no\",\n\t\t\"rahkkeravju.no\",\n\t\t\"ráhkkerávju.no\",\n\t\t\"kvam.no\",\n\t\t\"kvinesdal.no\",\n\t\t\"kvinnherad.no\",\n\t\t\"kviteseid.no\",\n\t\t\"kvitsoy.no\",\n\t\t\"kvitsøy.no\",\n\t\t\"kvafjord.no\",\n\t\t\"kvæfjord.no\",\n\t\t\"giehtavuoatna.no\",\n\t\t\"kvanangen.no\",\n\t\t\"kvænangen.no\",\n\t\t\"navuotna.no\",\n\t\t\"návuotna.no\",\n\t\t\"kafjord.no\",\n\t\t\"kåfjord.no\",\n\t\t\"gaivuotna.no\",\n\t\t\"gáivuotna.no\",\n\t\t\"larvik.no\",\n\t\t\"lavangen.no\",\n\t\t\"lavagis.no\",\n\t\t\"loabat.no\",\n\t\t\"loabát.no\",\n\t\t\"lebesby.no\",\n\t\t\"davvesiida.no\",\n\t\t\"leikanger.no\",\n\t\t\"leirfjord.no\",\n\t\t\"leka.no\",\n\t\t\"leksvik.no\",\n\t\t\"lenvik.no\",\n\t\t\"leangaviika.no\",\n\t\t\"leaŋgaviika.no\",\n\t\t\"lesja.no\",\n\t\t\"levanger.no\",\n\t\t\"lier.no\",\n\t\t\"lierne.no\",\n\t\t\"lillehammer.no\",\n\t\t\"lillesand.no\",\n\t\t\"lindesnes.no\",\n\t\t\"lindas.no\",\n\t\t\"lindås.no\",\n\t\t\"lom.no\",\n\t\t\"loppa.no\",\n\t\t\"lahppi.no\",\n\t\t\"láhppi.no\",\n\t\t\"lund.no\",\n\t\t\"lunner.no\",\n\t\t\"luroy.no\",\n\t\t\"lurøy.no\",\n\t\t\"luster.no\",\n\t\t\"lyngdal.no\",\n\t\t\"lyngen.no\",\n\t\t\"ivgu.no\",\n\t\t\"lardal.no\",\n\t\t\"lerdal.no\",\n\t\t\"lærdal.no\",\n\t\t\"lodingen.no\",\n\t\t\"lødingen.no\",\n\t\t\"lorenskog.no\",\n\t\t\"lørenskog.no\",\n\t\t\"loten.no\",\n\t\t\"løten.no\",\n\t\t\"malvik.no\",\n\t\t\"masoy.no\",\n\t\t\"måsøy.no\",\n\t\t\"muosat.no\",\n\t\t\"muosát.no\",\n\t\t\"mandal.no\",\n\t\t\"marker.no\",\n\t\t\"marnardal.no\",\n\t\t\"masfjorden.no\",\n\t\t\"meland.no\",\n\t\t\"meldal.no\",\n\t\t\"melhus.no\",\n\t\t\"meloy.no\",\n\t\t\"meløy.no\",\n\t\t\"meraker.no\",\n\t\t\"meråker.no\",\n\t\t\"moareke.no\",\n\t\t\"moåreke.no\",\n\t\t\"midsund.no\",\n\t\t\"midtre-gauldal.no\",\n\t\t\"modalen.no\",\n\t\t\"modum.no\",\n\t\t\"molde.no\",\n\t\t\"moskenes.no\",\n\t\t\"moss.no\",\n\t\t\"mosvik.no\",\n\t\t\"malselv.no\",\n\t\t\"målselv.no\",\n\t\t\"malatvuopmi.no\",\n\t\t\"málatvuopmi.no\",\n\t\t\"namdalseid.no\",\n\t\t\"aejrie.no\",\n\t\t\"namsos.no\",\n\t\t\"namsskogan.no\",\n\t\t\"naamesjevuemie.no\",\n\t\t\"nååmesjevuemie.no\",\n\t\t\"laakesvuemie.no\",\n\t\t\"nannestad.no\",\n\t\t\"narvik.no\",\n\t\t\"narviika.no\",\n\t\t\"naustdal.no\",\n\t\t\"nedre-eiker.no\",\n\t\t\"nes.akershus.no\",\n\t\t\"nes.buskerud.no\",\n\t\t\"nesna.no\",\n\t\t\"nesodden.no\",\n\t\t\"nesseby.no\",\n\t\t\"unjarga.no\",\n\t\t\"unjárga.no\",\n\t\t\"nesset.no\",\n\t\t\"nissedal.no\",\n\t\t\"nittedal.no\",\n\t\t\"nord-aurdal.no\",\n\t\t\"nord-fron.no\",\n\t\t\"nord-odal.no\",\n\t\t\"norddal.no\",\n\t\t\"nordkapp.no\",\n\t\t\"davvenjarga.no\",\n\t\t\"davvenjárga.no\",\n\t\t\"nordre-land.no\",\n\t\t\"nordreisa.no\",\n\t\t\"raisa.no\",\n\t\t\"ráisa.no\",\n\t\t\"nore-og-uvdal.no\",\n\t\t\"notodden.no\",\n\t\t\"naroy.no\",\n\t\t\"nærøy.no\",\n\t\t\"notteroy.no\",\n\t\t\"nøtterøy.no\",\n\t\t\"odda.no\",\n\t\t\"oksnes.no\",\n\t\t\"øksnes.no\",\n\t\t\"oppdal.no\",\n\t\t\"oppegard.no\",\n\t\t\"oppegård.no\",\n\t\t\"orkdal.no\",\n\t\t\"orland.no\",\n\t\t\"ørland.no\",\n\t\t\"orskog.no\",\n\t\t\"ørskog.no\",\n\t\t\"orsta.no\",\n\t\t\"ørsta.no\",\n\t\t\"os.hedmark.no\",\n\t\t\"os.hordaland.no\",\n\t\t\"osen.no\",\n\t\t\"osteroy.no\",\n\t\t\"osterøy.no\",\n\t\t\"ostre-toten.no\",\n\t\t\"østre-toten.no\",\n\t\t\"overhalla.no\",\n\t\t\"ovre-eiker.no\",\n\t\t\"øvre-eiker.no\",\n\t\t\"oyer.no\",\n\t\t\"øyer.no\",\n\t\t\"oygarden.no\",\n\t\t\"øygarden.no\",\n\t\t\"oystre-slidre.no\",\n\t\t\"øystre-slidre.no\",\n\t\t\"porsanger.no\",\n\t\t\"porsangu.no\",\n\t\t\"porsáŋgu.no\",\n\t\t\"porsgrunn.no\",\n\t\t\"radoy.no\",\n\t\t\"radøy.no\",\n\t\t\"rakkestad.no\",\n\t\t\"rana.no\",\n\t\t\"ruovat.no\",\n\t\t\"randaberg.no\",\n\t\t\"rauma.no\",\n\t\t\"rendalen.no\",\n\t\t\"rennebu.no\",\n\t\t\"rennesoy.no\",\n\t\t\"rennesøy.no\",\n\t\t\"rindal.no\",\n\t\t\"ringebu.no\",\n\t\t\"ringerike.no\",\n\t\t\"ringsaker.no\",\n\t\t\"rissa.no\",\n\t\t\"risor.no\",\n\t\t\"risør.no\",\n\t\t\"roan.no\",\n\t\t\"rollag.no\",\n\t\t\"rygge.no\",\n\t\t\"ralingen.no\",\n\t\t\"rælingen.no\",\n\t\t\"rodoy.no\",\n\t\t\"rødøy.no\",\n\t\t\"romskog.no\",\n\t\t\"rømskog.no\",\n\t\t\"roros.no\",\n\t\t\"røros.no\",\n\t\t\"rost.no\",\n\t\t\"røst.no\",\n\t\t\"royken.no\",\n\t\t\"røyken.no\",\n\t\t\"royrvik.no\",\n\t\t\"røyrvik.no\",\n\t\t\"rade.no\",\n\t\t\"råde.no\",\n\t\t\"salangen.no\",\n\t\t\"siellak.no\",\n\t\t\"saltdal.no\",\n\t\t\"salat.no\",\n\t\t\"sálát.no\",\n\t\t\"sálat.no\",\n\t\t\"samnanger.no\",\n\t\t\"sande.more-og-romsdal.no\",\n\t\t\"sande.møre-og-romsdal.no\",\n\t\t\"sande.vestfold.no\",\n\t\t\"sandefjord.no\",\n\t\t\"sandnes.no\",\n\t\t\"sandoy.no\",\n\t\t\"sandøy.no\",\n\t\t\"sarpsborg.no\",\n\t\t\"sauda.no\",\n\t\t\"sauherad.no\",\n\t\t\"sel.no\",\n\t\t\"selbu.no\",\n\t\t\"selje.no\",\n\t\t\"seljord.no\",\n\t\t\"sigdal.no\",\n\t\t\"siljan.no\",\n\t\t\"sirdal.no\",\n\t\t\"skaun.no\",\n\t\t\"skedsmo.no\",\n\t\t\"ski.no\",\n\t\t\"skien.no\",\n\t\t\"skiptvet.no\",\n\t\t\"skjervoy.no\",\n\t\t\"skjervøy.no\",\n\t\t\"skierva.no\",\n\t\t\"skiervá.no\",\n\t\t\"skjak.no\",\n\t\t\"skjåk.no\",\n\t\t\"skodje.no\",\n\t\t\"skanland.no\",\n\t\t\"skånland.no\",\n\t\t\"skanit.no\",\n\t\t\"skánit.no\",\n\t\t\"smola.no\",\n\t\t\"smøla.no\",\n\t\t\"snillfjord.no\",\n\t\t\"snasa.no\",\n\t\t\"snåsa.no\",\n\t\t\"snoasa.no\",\n\t\t\"snaase.no\",\n\t\t\"snåase.no\",\n\t\t\"sogndal.no\",\n\t\t\"sokndal.no\",\n\t\t\"sola.no\",\n\t\t\"solund.no\",\n\t\t\"songdalen.no\",\n\t\t\"sortland.no\",\n\t\t\"spydeberg.no\",\n\t\t\"stange.no\",\n\t\t\"stavanger.no\",\n\t\t\"steigen.no\",\n\t\t\"steinkjer.no\",\n\t\t\"stjordal.no\",\n\t\t\"stjørdal.no\",\n\t\t\"stokke.no\",\n\t\t\"stor-elvdal.no\",\n\t\t\"stord.no\",\n\t\t\"stordal.no\",\n\t\t\"storfjord.no\",\n\t\t\"omasvuotna.no\",\n\t\t\"strand.no\",\n\t\t\"stranda.no\",\n\t\t\"stryn.no\",\n\t\t\"sula.no\",\n\t\t\"suldal.no\",\n\t\t\"sund.no\",\n\t\t\"sunndal.no\",\n\t\t\"surnadal.no\",\n\t\t\"sveio.no\",\n\t\t\"svelvik.no\",\n\t\t\"sykkylven.no\",\n\t\t\"sogne.no\",\n\t\t\"søgne.no\",\n\t\t\"somna.no\",\n\t\t\"sømna.no\",\n\t\t\"sondre-land.no\",\n\t\t\"søndre-land.no\",\n\t\t\"sor-aurdal.no\",\n\t\t\"sør-aurdal.no\",\n\t\t\"sor-fron.no\",\n\t\t\"sør-fron.no\",\n\t\t\"sor-odal.no\",\n\t\t\"sør-odal.no\",\n\t\t\"sor-varanger.no\",\n\t\t\"sør-varanger.no\",\n\t\t\"matta-varjjat.no\",\n\t\t\"mátta-várjjat.no\",\n\t\t\"sorfold.no\",\n\t\t\"sørfold.no\",\n\t\t\"sorreisa.no\",\n\t\t\"sørreisa.no\",\n\t\t\"sorum.no\",\n\t\t\"sørum.no\",\n\t\t\"tana.no\",\n\t\t\"deatnu.no\",\n\t\t\"time.no\",\n\t\t\"tingvoll.no\",\n\t\t\"tinn.no\",\n\t\t\"tjeldsund.no\",\n\t\t\"dielddanuorri.no\",\n\t\t\"tjome.no\",\n\t\t\"tjøme.no\",\n\t\t\"tokke.no\",\n\t\t\"tolga.no\",\n\t\t\"torsken.no\",\n\t\t\"tranoy.no\",\n\t\t\"tranøy.no\",\n\t\t\"tromso.no\",\n\t\t\"tromsø.no\",\n\t\t\"tromsa.no\",\n\t\t\"romsa.no\",\n\t\t\"trondheim.no\",\n\t\t\"troandin.no\",\n\t\t\"trysil.no\",\n\t\t\"trana.no\",\n\t\t\"træna.no\",\n\t\t\"trogstad.no\",\n\t\t\"trøgstad.no\",\n\t\t\"tvedestrand.no\",\n\t\t\"tydal.no\",\n\t\t\"tynset.no\",\n\t\t\"tysfjord.no\",\n\t\t\"divtasvuodna.no\",\n\t\t\"divttasvuotna.no\",\n\t\t\"tysnes.no\",\n\t\t\"tysvar.no\",\n\t\t\"tysvær.no\",\n\t\t\"tonsberg.no\",\n\t\t\"tønsberg.no\",\n\t\t\"ullensaker.no\",\n\t\t\"ullensvang.no\",\n\t\t\"ulvik.no\",\n\t\t\"utsira.no\",\n\t\t\"vadso.no\",\n\t\t\"vadsø.no\",\n\t\t\"cahcesuolo.no\",\n\t\t\"čáhcesuolo.no\",\n\t\t\"vaksdal.no\",\n\t\t\"valle.no\",\n\t\t\"vang.no\",\n\t\t\"vanylven.no\",\n\t\t\"vardo.no\",\n\t\t\"vardø.no\",\n\t\t\"varggat.no\",\n\t\t\"várggát.no\",\n\t\t\"vefsn.no\",\n\t\t\"vaapste.no\",\n\t\t\"vega.no\",\n\t\t\"vegarshei.no\",\n\t\t\"vegårshei.no\",\n\t\t\"vennesla.no\",\n\t\t\"verdal.no\",\n\t\t\"verran.no\",\n\t\t\"vestby.no\",\n\t\t\"vestnes.no\",\n\t\t\"vestre-slidre.no\",\n\t\t\"vestre-toten.no\",\n\t\t\"vestvagoy.no\",\n\t\t\"vestvågøy.no\",\n\t\t\"vevelstad.no\",\n\t\t\"vik.no\",\n\t\t\"vikna.no\",\n\t\t\"vindafjord.no\",\n\t\t\"volda.no\",\n\t\t\"voss.no\",\n\t\t\"varoy.no\",\n\t\t\"værøy.no\",\n\t\t\"vagan.no\",\n\t\t\"vågan.no\",\n\t\t\"voagat.no\",\n\t\t\"vagsoy.no\",\n\t\t\"vågsøy.no\",\n\t\t\"vaga.no\",\n\t\t\"vågå.no\",\n\t\t\"valer.ostfold.no\",\n\t\t\"våler.østfold.no\",\n\t\t\"valer.hedmark.no\",\n\t\t\"våler.hedmark.no\",\n\t\t\"*.np\",\n\t\t\"nr\",\n\t\t\"biz.nr\",\n\t\t\"info.nr\",\n\t\t\"gov.nr\",\n\t\t\"edu.nr\",\n\t\t\"org.nr\",\n\t\t\"net.nr\",\n\t\t\"com.nr\",\n\t\t\"nu\",\n\t\t\"nz\",\n\t\t\"ac.nz\",\n\t\t\"co.nz\",\n\t\t\"cri.nz\",\n\t\t\"geek.nz\",\n\t\t\"gen.nz\",\n\t\t\"govt.nz\",\n\t\t\"health.nz\",\n\t\t\"iwi.nz\",\n\t\t\"kiwi.nz\",\n\t\t\"maori.nz\",\n\t\t\"mil.nz\",\n\t\t\"māori.nz\",\n\t\t\"net.nz\",\n\t\t\"org.nz\",\n\t\t\"parliament.nz\",\n\t\t\"school.nz\",\n\t\t\"om\",\n\t\t\"co.om\",\n\t\t\"com.om\",\n\t\t\"edu.om\",\n\t\t\"gov.om\",\n\t\t\"med.om\",\n\t\t\"museum.om\",\n\t\t\"net.om\",\n\t\t\"org.om\",\n\t\t\"pro.om\",\n\t\t\"onion\",\n\t\t\"org\",\n\t\t\"pa\",\n\t\t\"ac.pa\",\n\t\t\"gob.pa\",\n\t\t\"com.pa\",\n\t\t\"org.pa\",\n\t\t\"sld.pa\",\n\t\t\"edu.pa\",\n\t\t\"net.pa\",\n\t\t\"ing.pa\",\n\t\t\"abo.pa\",\n\t\t\"med.pa\",\n\t\t\"nom.pa\",\n\t\t\"pe\",\n\t\t\"edu.pe\",\n\t\t\"gob.pe\",\n\t\t\"nom.pe\",\n\t\t\"mil.pe\",\n\t\t\"org.pe\",\n\t\t\"com.pe\",\n\t\t\"net.pe\",\n\t\t\"pf\",\n\t\t\"com.pf\",\n\t\t\"org.pf\",\n\t\t\"edu.pf\",\n\t\t\"*.pg\",\n\t\t\"ph\",\n\t\t\"com.ph\",\n\t\t\"net.ph\",\n\t\t\"org.ph\",\n\t\t\"gov.ph\",\n\t\t\"edu.ph\",\n\t\t\"ngo.ph\",\n\t\t\"mil.ph\",\n\t\t\"i.ph\",\n\t\t\"pk\",\n\t\t\"com.pk\",\n\t\t\"net.pk\",\n\t\t\"edu.pk\",\n\t\t\"org.pk\",\n\t\t\"fam.pk\",\n\t\t\"biz.pk\",\n\t\t\"web.pk\",\n\t\t\"gov.pk\",\n\t\t\"gob.pk\",\n\t\t\"gok.pk\",\n\t\t\"gon.pk\",\n\t\t\"gop.pk\",\n\t\t\"gos.pk\",\n\t\t\"info.pk\",\n\t\t\"pl\",\n\t\t\"com.pl\",\n\t\t\"net.pl\",\n\t\t\"org.pl\",\n\t\t\"aid.pl\",\n\t\t\"agro.pl\",\n\t\t\"atm.pl\",\n\t\t\"auto.pl\",\n\t\t\"biz.pl\",\n\t\t\"edu.pl\",\n\t\t\"gmina.pl\",\n\t\t\"gsm.pl\",\n\t\t\"info.pl\",\n\t\t\"mail.pl\",\n\t\t\"miasta.pl\",\n\t\t\"media.pl\",\n\t\t\"mil.pl\",\n\t\t\"nieruchomosci.pl\",\n\t\t\"nom.pl\",\n\t\t\"pc.pl\",\n\t\t\"powiat.pl\",\n\t\t\"priv.pl\",\n\t\t\"realestate.pl\",\n\t\t\"rel.pl\",\n\t\t\"sex.pl\",\n\t\t\"shop.pl\",\n\t\t\"sklep.pl\",\n\t\t\"sos.pl\",\n\t\t\"szkola.pl\",\n\t\t\"targi.pl\",\n\t\t\"tm.pl\",\n\t\t\"tourism.pl\",\n\t\t\"travel.pl\",\n\t\t\"turystyka.pl\",\n\t\t\"gov.pl\",\n\t\t\"ap.gov.pl\",\n\t\t\"ic.gov.pl\",\n\t\t\"is.gov.pl\",\n\t\t\"us.gov.pl\",\n\t\t\"kmpsp.gov.pl\",\n\t\t\"kppsp.gov.pl\",\n\t\t\"kwpsp.gov.pl\",\n\t\t\"psp.gov.pl\",\n\t\t\"wskr.gov.pl\",\n\t\t\"kwp.gov.pl\",\n\t\t\"mw.gov.pl\",\n\t\t\"ug.gov.pl\",\n\t\t\"um.gov.pl\",\n\t\t\"umig.gov.pl\",\n\t\t\"ugim.gov.pl\",\n\t\t\"upow.gov.pl\",\n\t\t\"uw.gov.pl\",\n\t\t\"starostwo.gov.pl\",\n\t\t\"pa.gov.pl\",\n\t\t\"po.gov.pl\",\n\t\t\"psse.gov.pl\",\n\t\t\"pup.gov.pl\",\n\t\t\"rzgw.gov.pl\",\n\t\t\"sa.gov.pl\",\n\t\t\"so.gov.pl\",\n\t\t\"sr.gov.pl\",\n\t\t\"wsa.gov.pl\",\n\t\t\"sko.gov.pl\",\n\t\t\"uzs.gov.pl\",\n\t\t\"wiih.gov.pl\",\n\t\t\"winb.gov.pl\",\n\t\t\"pinb.gov.pl\",\n\t\t\"wios.gov.pl\",\n\t\t\"witd.gov.pl\",\n\t\t\"wzmiuw.gov.pl\",\n\t\t\"piw.gov.pl\",\n\t\t\"wiw.gov.pl\",\n\t\t\"griw.gov.pl\",\n\t\t\"wif.gov.pl\",\n\t\t\"oum.gov.pl\",\n\t\t\"sdn.gov.pl\",\n\t\t\"zp.gov.pl\",\n\t\t\"uppo.gov.pl\",\n\t\t\"mup.gov.pl\",\n\t\t\"wuoz.gov.pl\",\n\t\t\"konsulat.gov.pl\",\n\t\t\"oirm.gov.pl\",\n\t\t\"augustow.pl\",\n\t\t\"babia-gora.pl\",\n\t\t\"bedzin.pl\",\n\t\t\"beskidy.pl\",\n\t\t\"bialowieza.pl\",\n\t\t\"bialystok.pl\",\n\t\t\"bielawa.pl\",\n\t\t\"bieszczady.pl\",\n\t\t\"boleslawiec.pl\",\n\t\t\"bydgoszcz.pl\",\n\t\t\"bytom.pl\",\n\t\t\"cieszyn.pl\",\n\t\t\"czeladz.pl\",\n\t\t\"czest.pl\",\n\t\t\"dlugoleka.pl\",\n\t\t\"elblag.pl\",\n\t\t\"elk.pl\",\n\t\t\"glogow.pl\",\n\t\t\"gniezno.pl\",\n\t\t\"gorlice.pl\",\n\t\t\"grajewo.pl\",\n\t\t\"ilawa.pl\",\n\t\t\"jaworzno.pl\",\n\t\t\"jelenia-gora.pl\",\n\t\t\"jgora.pl\",\n\t\t\"kalisz.pl\",\n\t\t\"kazimierz-dolny.pl\",\n\t\t\"karpacz.pl\",\n\t\t\"kartuzy.pl\",\n\t\t\"kaszuby.pl\",\n\t\t\"katowice.pl\",\n\t\t\"kepno.pl\",\n\t\t\"ketrzyn.pl\",\n\t\t\"klodzko.pl\",\n\t\t\"kobierzyce.pl\",\n\t\t\"kolobrzeg.pl\",\n\t\t\"konin.pl\",\n\t\t\"konskowola.pl\",\n\t\t\"kutno.pl\",\n\t\t\"lapy.pl\",\n\t\t\"lebork.pl\",\n\t\t\"legnica.pl\",\n\t\t\"lezajsk.pl\",\n\t\t\"limanowa.pl\",\n\t\t\"lomza.pl\",\n\t\t\"lowicz.pl\",\n\t\t\"lubin.pl\",\n\t\t\"lukow.pl\",\n\t\t\"malbork.pl\",\n\t\t\"malopolska.pl\",\n\t\t\"mazowsze.pl\",\n\t\t\"mazury.pl\",\n\t\t\"mielec.pl\",\n\t\t\"mielno.pl\",\n\t\t\"mragowo.pl\",\n\t\t\"naklo.pl\",\n\t\t\"nowaruda.pl\",\n\t\t\"nysa.pl\",\n\t\t\"olawa.pl\",\n\t\t\"olecko.pl\",\n\t\t\"olkusz.pl\",\n\t\t\"olsztyn.pl\",\n\t\t\"opoczno.pl\",\n\t\t\"opole.pl\",\n\t\t\"ostroda.pl\",\n\t\t\"ostroleka.pl\",\n\t\t\"ostrowiec.pl\",\n\t\t\"ostrowwlkp.pl\",\n\t\t\"pila.pl\",\n\t\t\"pisz.pl\",\n\t\t\"podhale.pl\",\n\t\t\"podlasie.pl\",\n\t\t\"polkowice.pl\",\n\t\t\"pomorze.pl\",\n\t\t\"pomorskie.pl\",\n\t\t\"prochowice.pl\",\n\t\t\"pruszkow.pl\",\n\t\t\"przeworsk.pl\",\n\t\t\"pulawy.pl\",\n\t\t\"radom.pl\",\n\t\t\"rawa-maz.pl\",\n\t\t\"rybnik.pl\",\n\t\t\"rzeszow.pl\",\n\t\t\"sanok.pl\",\n\t\t\"sejny.pl\",\n\t\t\"slask.pl\",\n\t\t\"slupsk.pl\",\n\t\t\"sosnowiec.pl\",\n\t\t\"stalowa-wola.pl\",\n\t\t\"skoczow.pl\",\n\t\t\"starachowice.pl\",\n\t\t\"stargard.pl\",\n\t\t\"suwalki.pl\",\n\t\t\"swidnica.pl\",\n\t\t\"swiebodzin.pl\",\n\t\t\"swinoujscie.pl\",\n\t\t\"szczecin.pl\",\n\t\t\"szczytno.pl\",\n\t\t\"tarnobrzeg.pl\",\n\t\t\"tgory.pl\",\n\t\t\"turek.pl\",\n\t\t\"tychy.pl\",\n\t\t\"ustka.pl\",\n\t\t\"walbrzych.pl\",\n\t\t\"warmia.pl\",\n\t\t\"warszawa.pl\",\n\t\t\"waw.pl\",\n\t\t\"wegrow.pl\",\n\t\t\"wielun.pl\",\n\t\t\"wlocl.pl\",\n\t\t\"wloclawek.pl\",\n\t\t\"wodzislaw.pl\",\n\t\t\"wolomin.pl\",\n\t\t\"wroclaw.pl\",\n\t\t\"zachpomor.pl\",\n\t\t\"zagan.pl\",\n\t\t\"zarow.pl\",\n\t\t\"zgora.pl\",\n\t\t\"zgorzelec.pl\",\n\t\t\"pm\",\n\t\t\"pn\",\n\t\t\"gov.pn\",\n\t\t\"co.pn\",\n\t\t\"org.pn\",\n\t\t\"edu.pn\",\n\t\t\"net.pn\",\n\t\t\"post\",\n\t\t\"pr\",\n\t\t\"com.pr\",\n\t\t\"net.pr\",\n\t\t\"org.pr\",\n\t\t\"gov.pr\",\n\t\t\"edu.pr\",\n\t\t\"isla.pr\",\n\t\t\"pro.pr\",\n\t\t\"biz.pr\",\n\t\t\"info.pr\",\n\t\t\"name.pr\",\n\t\t\"est.pr\",\n\t\t\"prof.pr\",\n\t\t\"ac.pr\",\n\t\t\"pro\",\n\t\t\"aaa.pro\",\n\t\t\"aca.pro\",\n\t\t\"acct.pro\",\n\t\t\"avocat.pro\",\n\t\t\"bar.pro\",\n\t\t\"cpa.pro\",\n\t\t\"eng.pro\",\n\t\t\"jur.pro\",\n\t\t\"law.pro\",\n\t\t\"med.pro\",\n\t\t\"recht.pro\",\n\t\t\"ps\",\n\t\t\"edu.ps\",\n\t\t\"gov.ps\",\n\t\t\"sec.ps\",\n\t\t\"plo.ps\",\n\t\t\"com.ps\",\n\t\t\"org.ps\",\n\t\t\"net.ps\",\n\t\t\"pt\",\n\t\t\"net.pt\",\n\t\t\"gov.pt\",\n\t\t\"org.pt\",\n\t\t\"edu.pt\",\n\t\t\"int.pt\",\n\t\t\"publ.pt\",\n\t\t\"com.pt\",\n\t\t\"nome.pt\",\n\t\t\"pw\",\n\t\t\"co.pw\",\n\t\t\"ne.pw\",\n\t\t\"or.pw\",\n\t\t\"ed.pw\",\n\t\t\"go.pw\",\n\t\t\"belau.pw\",\n\t\t\"py\",\n\t\t\"com.py\",\n\t\t\"coop.py\",\n\t\t\"edu.py\",\n\t\t\"gov.py\",\n\t\t\"mil.py\",\n\t\t\"net.py\",\n\t\t\"org.py\",\n\t\t\"qa\",\n\t\t\"com.qa\",\n\t\t\"edu.qa\",\n\t\t\"gov.qa\",\n\t\t\"mil.qa\",\n\t\t\"name.qa\",\n\t\t\"net.qa\",\n\t\t\"org.qa\",\n\t\t\"sch.qa\",\n\t\t\"re\",\n\t\t\"asso.re\",\n\t\t\"com.re\",\n\t\t\"nom.re\",\n\t\t\"ro\",\n\t\t\"arts.ro\",\n\t\t\"com.ro\",\n\t\t\"firm.ro\",\n\t\t\"info.ro\",\n\t\t\"nom.ro\",\n\t\t\"nt.ro\",\n\t\t\"org.ro\",\n\t\t\"rec.ro\",\n\t\t\"store.ro\",\n\t\t\"tm.ro\",\n\t\t\"www.ro\",\n\t\t\"rs\",\n\t\t\"ac.rs\",\n\t\t\"co.rs\",\n\t\t\"edu.rs\",\n\t\t\"gov.rs\",\n\t\t\"in.rs\",\n\t\t\"org.rs\",\n\t\t\"ru\",\n\t\t\"rw\",\n\t\t\"ac.rw\",\n\t\t\"co.rw\",\n\t\t\"coop.rw\",\n\t\t\"gov.rw\",\n\t\t\"mil.rw\",\n\t\t\"net.rw\",\n\t\t\"org.rw\",\n\t\t\"sa\",\n\t\t\"com.sa\",\n\t\t\"net.sa\",\n\t\t\"org.sa\",\n\t\t\"gov.sa\",\n\t\t\"med.sa\",\n\t\t\"pub.sa\",\n\t\t\"edu.sa\",\n\t\t\"sch.sa\",\n\t\t\"sb\",\n\t\t\"com.sb\",\n\t\t\"edu.sb\",\n\t\t\"gov.sb\",\n\t\t\"net.sb\",\n\t\t\"org.sb\",\n\t\t\"sc\",\n\t\t\"com.sc\",\n\t\t\"gov.sc\",\n\t\t\"net.sc\",\n\t\t\"org.sc\",\n\t\t\"edu.sc\",\n\t\t\"sd\",\n\t\t\"com.sd\",\n\t\t\"net.sd\",\n\t\t\"org.sd\",\n\t\t\"edu.sd\",\n\t\t\"med.sd\",\n\t\t\"tv.sd\",\n\t\t\"gov.sd\",\n\t\t\"info.sd\",\n\t\t\"se\",\n\t\t\"a.se\",\n\t\t\"ac.se\",\n\t\t\"b.se\",\n\t\t\"bd.se\",\n\t\t\"brand.se\",\n\t\t\"c.se\",\n\t\t\"d.se\",\n\t\t\"e.se\",\n\t\t\"f.se\",\n\t\t\"fh.se\",\n\t\t\"fhsk.se\",\n\t\t\"fhv.se\",\n\t\t\"g.se\",\n\t\t\"h.se\",\n\t\t\"i.se\",\n\t\t\"k.se\",\n\t\t\"komforb.se\",\n\t\t\"kommunalforbund.se\",\n\t\t\"komvux.se\",\n\t\t\"l.se\",\n\t\t\"lanbib.se\",\n\t\t\"m.se\",\n\t\t\"n.se\",\n\t\t\"naturbruksgymn.se\",\n\t\t\"o.se\",\n\t\t\"org.se\",\n\t\t\"p.se\",\n\t\t\"parti.se\",\n\t\t\"pp.se\",\n\t\t\"press.se\",\n\t\t\"r.se\",\n\t\t\"s.se\",\n\t\t\"t.se\",\n\t\t\"tm.se\",\n\t\t\"u.se\",\n\t\t\"w.se\",\n\t\t\"x.se\",\n\t\t\"y.se\",\n\t\t\"z.se\",\n\t\t\"sg\",\n\t\t\"com.sg\",\n\t\t\"net.sg\",\n\t\t\"org.sg\",\n\t\t\"gov.sg\",\n\t\t\"edu.sg\",\n\t\t\"per.sg\",\n\t\t\"sh\",\n\t\t\"com.sh\",\n\t\t\"net.sh\",\n\t\t\"gov.sh\",\n\t\t\"org.sh\",\n\t\t\"mil.sh\",\n\t\t\"si\",\n\t\t\"sj\",\n\t\t\"sk\",\n\t\t\"sl\",\n\t\t\"com.sl\",\n\t\t\"net.sl\",\n\t\t\"edu.sl\",\n\t\t\"gov.sl\",\n\t\t\"org.sl\",\n\t\t\"sm\",\n\t\t\"sn\",\n\t\t\"art.sn\",\n\t\t\"com.sn\",\n\t\t\"edu.sn\",\n\t\t\"gouv.sn\",\n\t\t\"org.sn\",\n\t\t\"perso.sn\",\n\t\t\"univ.sn\",\n\t\t\"so\",\n\t\t\"com.so\",\n\t\t\"edu.so\",\n\t\t\"gov.so\",\n\t\t\"me.so\",\n\t\t\"net.so\",\n\t\t\"org.so\",\n\t\t\"sr\",\n\t\t\"ss\",\n\t\t\"biz.ss\",\n\t\t\"com.ss\",\n\t\t\"edu.ss\",\n\t\t\"gov.ss\",\n\t\t\"me.ss\",\n\t\t\"net.ss\",\n\t\t\"org.ss\",\n\t\t\"sch.ss\",\n\t\t\"st\",\n\t\t\"co.st\",\n\t\t\"com.st\",\n\t\t\"consulado.st\",\n\t\t\"edu.st\",\n\t\t\"embaixada.st\",\n\t\t\"mil.st\",\n\t\t\"net.st\",\n\t\t\"org.st\",\n\t\t\"principe.st\",\n\t\t\"saotome.st\",\n\t\t\"store.st\",\n\t\t\"su\",\n\t\t\"sv\",\n\t\t\"com.sv\",\n\t\t\"edu.sv\",\n\t\t\"gob.sv\",\n\t\t\"org.sv\",\n\t\t\"red.sv\",\n\t\t\"sx\",\n\t\t\"gov.sx\",\n\t\t\"sy\",\n\t\t\"edu.sy\",\n\t\t\"gov.sy\",\n\t\t\"net.sy\",\n\t\t\"mil.sy\",\n\t\t\"com.sy\",\n\t\t\"org.sy\",\n\t\t\"sz\",\n\t\t\"co.sz\",\n\t\t\"ac.sz\",\n\t\t\"org.sz\",\n\t\t\"tc\",\n\t\t\"td\",\n\t\t\"tel\",\n\t\t\"tf\",\n\t\t\"tg\",\n\t\t\"th\",\n\t\t\"ac.th\",\n\t\t\"co.th\",\n\t\t\"go.th\",\n\t\t\"in.th\",\n\t\t\"mi.th\",\n\t\t\"net.th\",\n\t\t\"or.th\",\n\t\t\"tj\",\n\t\t\"ac.tj\",\n\t\t\"biz.tj\",\n\t\t\"co.tj\",\n\t\t\"com.tj\",\n\t\t\"edu.tj\",\n\t\t\"go.tj\",\n\t\t\"gov.tj\",\n\t\t\"int.tj\",\n\t\t\"mil.tj\",\n\t\t\"name.tj\",\n\t\t\"net.tj\",\n\t\t\"nic.tj\",\n\t\t\"org.tj\",\n\t\t\"test.tj\",\n\t\t\"web.tj\",\n\t\t\"tk\",\n\t\t\"tl\",\n\t\t\"gov.tl\",\n\t\t\"tm\",\n\t\t\"com.tm\",\n\t\t\"co.tm\",\n\t\t\"org.tm\",\n\t\t\"net.tm\",\n\t\t\"nom.tm\",\n\t\t\"gov.tm\",\n\t\t\"mil.tm\",\n\t\t\"edu.tm\",\n\t\t\"tn\",\n\t\t\"com.tn\",\n\t\t\"ens.tn\",\n\t\t\"fin.tn\",\n\t\t\"gov.tn\",\n\t\t\"ind.tn\",\n\t\t\"info.tn\",\n\t\t\"intl.tn\",\n\t\t\"mincom.tn\",\n\t\t\"nat.tn\",\n\t\t\"net.tn\",\n\t\t\"org.tn\",\n\t\t\"perso.tn\",\n\t\t\"tourism.tn\",\n\t\t\"to\",\n\t\t\"com.to\",\n\t\t\"gov.to\",\n\t\t\"net.to\",\n\t\t\"org.to\",\n\t\t\"edu.to\",\n\t\t\"mil.to\",\n\t\t\"tr\",\n\t\t\"av.tr\",\n\t\t\"bbs.tr\",\n\t\t\"bel.tr\",\n\t\t\"biz.tr\",\n\t\t\"com.tr\",\n\t\t\"dr.tr\",\n\t\t\"edu.tr\",\n\t\t\"gen.tr\",\n\t\t\"gov.tr\",\n\t\t\"info.tr\",\n\t\t\"mil.tr\",\n\t\t\"k12.tr\",\n\t\t\"kep.tr\",\n\t\t\"name.tr\",\n\t\t\"net.tr\",\n\t\t\"org.tr\",\n\t\t\"pol.tr\",\n\t\t\"tel.tr\",\n\t\t\"tsk.tr\",\n\t\t\"tv.tr\",\n\t\t\"web.tr\",\n\t\t\"nc.tr\",\n\t\t\"gov.nc.tr\",\n\t\t\"tt\",\n\t\t\"co.tt\",\n\t\t\"com.tt\",\n\t\t\"org.tt\",\n\t\t\"net.tt\",\n\t\t\"biz.tt\",\n\t\t\"info.tt\",\n\t\t\"pro.tt\",\n\t\t\"int.tt\",\n\t\t\"coop.tt\",\n\t\t\"jobs.tt\",\n\t\t\"mobi.tt\",\n\t\t\"travel.tt\",\n\t\t\"museum.tt\",\n\t\t\"aero.tt\",\n\t\t\"name.tt\",\n\t\t\"gov.tt\",\n\t\t\"edu.tt\",\n\t\t\"tv\",\n\t\t\"tw\",\n\t\t\"edu.tw\",\n\t\t\"gov.tw\",\n\t\t\"mil.tw\",\n\t\t\"com.tw\",\n\t\t\"net.tw\",\n\t\t\"org.tw\",\n\t\t\"idv.tw\",\n\t\t\"game.tw\",\n\t\t\"ebiz.tw\",\n\t\t\"club.tw\",\n\t\t\"網路.tw\",\n\t\t\"組織.tw\",\n\t\t\"商業.tw\",\n\t\t\"tz\",\n\t\t\"ac.tz\",\n\t\t\"co.tz\",\n\t\t\"go.tz\",\n\t\t\"hotel.tz\",\n\t\t\"info.tz\",\n\t\t\"me.tz\",\n\t\t\"mil.tz\",\n\t\t\"mobi.tz\",\n\t\t\"ne.tz\",\n\t\t\"or.tz\",\n\t\t\"sc.tz\",\n\t\t\"tv.tz\",\n\t\t\"ua\",\n\t\t\"com.ua\",\n\t\t\"edu.ua\",\n\t\t\"gov.ua\",\n\t\t\"in.ua\",\n\t\t\"net.ua\",\n\t\t\"org.ua\",\n\t\t\"cherkassy.ua\",\n\t\t\"cherkasy.ua\",\n\t\t\"chernigov.ua\",\n\t\t\"chernihiv.ua\",\n\t\t\"chernivtsi.ua\",\n\t\t\"chernovtsy.ua\",\n\t\t\"ck.ua\",\n\t\t\"cn.ua\",\n\t\t\"cr.ua\",\n\t\t\"crimea.ua\",\n\t\t\"cv.ua\",\n\t\t\"dn.ua\",\n\t\t\"dnepropetrovsk.ua\",\n\t\t\"dnipropetrovsk.ua\",\n\t\t\"donetsk.ua\",\n\t\t\"dp.ua\",\n\t\t\"if.ua\",\n\t\t\"ivano-frankivsk.ua\",\n\t\t\"kh.ua\",\n\t\t\"kharkiv.ua\",\n\t\t\"kharkov.ua\",\n\t\t\"kherson.ua\",\n\t\t\"khmelnitskiy.ua\",\n\t\t\"khmelnytskyi.ua\",\n\t\t\"kiev.ua\",\n\t\t\"kirovograd.ua\",\n\t\t\"km.ua\",\n\t\t\"kr.ua\",\n\t\t\"krym.ua\",\n\t\t\"ks.ua\",\n\t\t\"kv.ua\",\n\t\t\"kyiv.ua\",\n\t\t\"lg.ua\",\n\t\t\"lt.ua\",\n\t\t\"lugansk.ua\",\n\t\t\"lutsk.ua\",\n\t\t\"lv.ua\",\n\t\t\"lviv.ua\",\n\t\t\"mk.ua\",\n\t\t\"mykolaiv.ua\",\n\t\t\"nikolaev.ua\",\n\t\t\"od.ua\",\n\t\t\"odesa.ua\",\n\t\t\"odessa.ua\",\n\t\t\"pl.ua\",\n\t\t\"poltava.ua\",\n\t\t\"rivne.ua\",\n\t\t\"rovno.ua\",\n\t\t\"rv.ua\",\n\t\t\"sb.ua\",\n\t\t\"sebastopol.ua\",\n\t\t\"sevastopol.ua\",\n\t\t\"sm.ua\",\n\t\t\"sumy.ua\",\n\t\t\"te.ua\",\n\t\t\"ternopil.ua\",\n\t\t\"uz.ua\",\n\t\t\"uzhgorod.ua\",\n\t\t\"vinnica.ua\",\n\t\t\"vinnytsia.ua\",\n\t\t\"vn.ua\",\n\t\t\"volyn.ua\",\n\t\t\"yalta.ua\",\n\t\t\"zaporizhzhe.ua\",\n\t\t\"zaporizhzhia.ua\",\n\t\t\"zhitomir.ua\",\n\t\t\"zhytomyr.ua\",\n\t\t\"zp.ua\",\n\t\t\"zt.ua\",\n\t\t\"ug\",\n\t\t\"co.ug\",\n\t\t\"or.ug\",\n\t\t\"ac.ug\",\n\t\t\"sc.ug\",\n\t\t\"go.ug\",\n\t\t\"ne.ug\",\n\t\t\"com.ug\",\n\t\t\"org.ug\",\n\t\t\"uk\",\n\t\t\"ac.uk\",\n\t\t\"co.uk\",\n\t\t\"gov.uk\",\n\t\t\"ltd.uk\",\n\t\t\"me.uk\",\n\t\t\"net.uk\",\n\t\t\"nhs.uk\",\n\t\t\"org.uk\",\n\t\t\"plc.uk\",\n\t\t\"police.uk\",\n\t\t\"*.sch.uk\",\n\t\t\"us\",\n\t\t\"dni.us\",\n\t\t\"fed.us\",\n\t\t\"isa.us\",\n\t\t\"kids.us\",\n\t\t\"nsn.us\",\n\t\t\"ak.us\",\n\t\t\"al.us\",\n\t\t\"ar.us\",\n\t\t\"as.us\",\n\t\t\"az.us\",\n\t\t\"ca.us\",\n\t\t\"co.us\",\n\t\t\"ct.us\",\n\t\t\"dc.us\",\n\t\t\"de.us\",\n\t\t\"fl.us\",\n\t\t\"ga.us\",\n\t\t\"gu.us\",\n\t\t\"hi.us\",\n\t\t\"ia.us\",\n\t\t\"id.us\",\n\t\t\"il.us\",\n\t\t\"in.us\",\n\t\t\"ks.us\",\n\t\t\"ky.us\",\n\t\t\"la.us\",\n\t\t\"ma.us\",\n\t\t\"md.us\",\n\t\t\"me.us\",\n\t\t\"mi.us\",\n\t\t\"mn.us\",\n\t\t\"mo.us\",\n\t\t\"ms.us\",\n\t\t\"mt.us\",\n\t\t\"nc.us\",\n\t\t\"nd.us\",\n\t\t\"ne.us\",\n\t\t\"nh.us\",\n\t\t\"nj.us\",\n\t\t\"nm.us\",\n\t\t\"nv.us\",\n\t\t\"ny.us\",\n\t\t\"oh.us\",\n\t\t\"ok.us\",\n\t\t\"or.us\",\n\t\t\"pa.us\",\n\t\t\"pr.us\",\n\t\t\"ri.us\",\n\t\t\"sc.us\",\n\t\t\"sd.us\",\n\t\t\"tn.us\",\n\t\t\"tx.us\",\n\t\t\"ut.us\",\n\t\t\"vi.us\",\n\t\t\"vt.us\",\n\t\t\"va.us\",\n\t\t\"wa.us\",\n\t\t\"wi.us\",\n\t\t\"wv.us\",\n\t\t\"wy.us\",\n\t\t\"k12.ak.us\",\n\t\t\"k12.al.us\",\n\t\t\"k12.ar.us\",\n\t\t\"k12.as.us\",\n\t\t\"k12.az.us\",\n\t\t\"k12.ca.us\",\n\t\t\"k12.co.us\",\n\t\t\"k12.ct.us\",\n\t\t\"k12.dc.us\",\n\t\t\"k12.de.us\",\n\t\t\"k12.fl.us\",\n\t\t\"k12.ga.us\",\n\t\t\"k12.gu.us\",\n\t\t\"k12.ia.us\",\n\t\t\"k12.id.us\",\n\t\t\"k12.il.us\",\n\t\t\"k12.in.us\",\n\t\t\"k12.ks.us\",\n\t\t\"k12.ky.us\",\n\t\t\"k12.la.us\",\n\t\t\"k12.ma.us\",\n\t\t\"k12.md.us\",\n\t\t\"k12.me.us\",\n\t\t\"k12.mi.us\",\n\t\t\"k12.mn.us\",\n\t\t\"k12.mo.us\",\n\t\t\"k12.ms.us\",\n\t\t\"k12.mt.us\",\n\t\t\"k12.nc.us\",\n\t\t\"k12.ne.us\",\n\t\t\"k12.nh.us\",\n\t\t\"k12.nj.us\",\n\t\t\"k12.nm.us\",\n\t\t\"k12.nv.us\",\n\t\t\"k12.ny.us\",\n\t\t\"k12.oh.us\",\n\t\t\"k12.ok.us\",\n\t\t\"k12.or.us\",\n\t\t\"k12.pa.us\",\n\t\t\"k12.pr.us\",\n\t\t\"k12.sc.us\",\n\t\t\"k12.tn.us\",\n\t\t\"k12.tx.us\",\n\t\t\"k12.ut.us\",\n\t\t\"k12.vi.us\",\n\t\t\"k12.vt.us\",\n\t\t\"k12.va.us\",\n\t\t\"k12.wa.us\",\n\t\t\"k12.wi.us\",\n\t\t\"k12.wy.us\",\n\t\t\"cc.ak.us\",\n\t\t\"cc.al.us\",\n\t\t\"cc.ar.us\",\n\t\t\"cc.as.us\",\n\t\t\"cc.az.us\",\n\t\t\"cc.ca.us\",\n\t\t\"cc.co.us\",\n\t\t\"cc.ct.us\",\n\t\t\"cc.dc.us\",\n\t\t\"cc.de.us\",\n\t\t\"cc.fl.us\",\n\t\t\"cc.ga.us\",\n\t\t\"cc.gu.us\",\n\t\t\"cc.hi.us\",\n\t\t\"cc.ia.us\",\n\t\t\"cc.id.us\",\n\t\t\"cc.il.us\",\n\t\t\"cc.in.us\",\n\t\t\"cc.ks.us\",\n\t\t\"cc.ky.us\",\n\t\t\"cc.la.us\",\n\t\t\"cc.ma.us\",\n\t\t\"cc.md.us\",\n\t\t\"cc.me.us\",\n\t\t\"cc.mi.us\",\n\t\t\"cc.mn.us\",\n\t\t\"cc.mo.us\",\n\t\t\"cc.ms.us\",\n\t\t\"cc.mt.us\",\n\t\t\"cc.nc.us\",\n\t\t\"cc.nd.us\",\n\t\t\"cc.ne.us\",\n\t\t\"cc.nh.us\",\n\t\t\"cc.nj.us\",\n\t\t\"cc.nm.us\",\n\t\t\"cc.nv.us\",\n\t\t\"cc.ny.us\",\n\t\t\"cc.oh.us\",\n\t\t\"cc.ok.us\",\n\t\t\"cc.or.us\",\n\t\t\"cc.pa.us\",\n\t\t\"cc.pr.us\",\n\t\t\"cc.ri.us\",\n\t\t\"cc.sc.us\",\n\t\t\"cc.sd.us\",\n\t\t\"cc.tn.us\",\n\t\t\"cc.tx.us\",\n\t\t\"cc.ut.us\",\n\t\t\"cc.vi.us\",\n\t\t\"cc.vt.us\",\n\t\t\"cc.va.us\",\n\t\t\"cc.wa.us\",\n\t\t\"cc.wi.us\",\n\t\t\"cc.wv.us\",\n\t\t\"cc.wy.us\",\n\t\t\"lib.ak.us\",\n\t\t\"lib.al.us\",\n\t\t\"lib.ar.us\",\n\t\t\"lib.as.us\",\n\t\t\"lib.az.us\",\n\t\t\"lib.ca.us\",\n\t\t\"lib.co.us\",\n\t\t\"lib.ct.us\",\n\t\t\"lib.dc.us\",\n\t\t\"lib.fl.us\",\n\t\t\"lib.ga.us\",\n\t\t\"lib.gu.us\",\n\t\t\"lib.hi.us\",\n\t\t\"lib.ia.us\",\n\t\t\"lib.id.us\",\n\t\t\"lib.il.us\",\n\t\t\"lib.in.us\",\n\t\t\"lib.ks.us\",\n\t\t\"lib.ky.us\",\n\t\t\"lib.la.us\",\n\t\t\"lib.ma.us\",\n\t\t\"lib.md.us\",\n\t\t\"lib.me.us\",\n\t\t\"lib.mi.us\",\n\t\t\"lib.mn.us\",\n\t\t\"lib.mo.us\",\n\t\t\"lib.ms.us\",\n\t\t\"lib.mt.us\",\n\t\t\"lib.nc.us\",\n\t\t\"lib.nd.us\",\n\t\t\"lib.ne.us\",\n\t\t\"lib.nh.us\",\n\t\t\"lib.nj.us\",\n\t\t\"lib.nm.us\",\n\t\t\"lib.nv.us\",\n\t\t\"lib.ny.us\",\n\t\t\"lib.oh.us\",\n\t\t\"lib.ok.us\",\n\t\t\"lib.or.us\",\n\t\t\"lib.pa.us\",\n\t\t\"lib.pr.us\",\n\t\t\"lib.ri.us\",\n\t\t\"lib.sc.us\",\n\t\t\"lib.sd.us\",\n\t\t\"lib.tn.us\",\n\t\t\"lib.tx.us\",\n\t\t\"lib.ut.us\",\n\t\t\"lib.vi.us\",\n\t\t\"lib.vt.us\",\n\t\t\"lib.va.us\",\n\t\t\"lib.wa.us\",\n\t\t\"lib.wi.us\",\n\t\t\"lib.wy.us\",\n\t\t\"pvt.k12.ma.us\",\n\t\t\"chtr.k12.ma.us\",\n\t\t\"paroch.k12.ma.us\",\n\t\t\"ann-arbor.mi.us\",\n\t\t\"cog.mi.us\",\n\t\t\"dst.mi.us\",\n\t\t\"eaton.mi.us\",\n\t\t\"gen.mi.us\",\n\t\t\"mus.mi.us\",\n\t\t\"tec.mi.us\",\n\t\t\"washtenaw.mi.us\",\n\t\t\"uy\",\n\t\t\"com.uy\",\n\t\t\"edu.uy\",\n\t\t\"gub.uy\",\n\t\t\"mil.uy\",\n\t\t\"net.uy\",\n\t\t\"org.uy\",\n\t\t\"uz\",\n\t\t\"co.uz\",\n\t\t\"com.uz\",\n\t\t\"net.uz\",\n\t\t\"org.uz\",\n\t\t\"va\",\n\t\t\"vc\",\n\t\t\"com.vc\",\n\t\t\"net.vc\",\n\t\t\"org.vc\",\n\t\t\"gov.vc\",\n\t\t\"mil.vc\",\n\t\t\"edu.vc\",\n\t\t\"ve\",\n\t\t\"arts.ve\",\n\t\t\"bib.ve\",\n\t\t\"co.ve\",\n\t\t\"com.ve\",\n\t\t\"e12.ve\",\n\t\t\"edu.ve\",\n\t\t\"firm.ve\",\n\t\t\"gob.ve\",\n\t\t\"gov.ve\",\n\t\t\"info.ve\",\n\t\t\"int.ve\",\n\t\t\"mil.ve\",\n\t\t\"net.ve\",\n\t\t\"nom.ve\",\n\t\t\"org.ve\",\n\t\t\"rar.ve\",\n\t\t\"rec.ve\",\n\t\t\"store.ve\",\n\t\t\"tec.ve\",\n\t\t\"web.ve\",\n\t\t\"vg\",\n\t\t\"vi\",\n\t\t\"co.vi\",\n\t\t\"com.vi\",\n\t\t\"k12.vi\",\n\t\t\"net.vi\",\n\t\t\"org.vi\",\n\t\t\"vn\",\n\t\t\"com.vn\",\n\t\t\"net.vn\",\n\t\t\"org.vn\",\n\t\t\"edu.vn\",\n\t\t\"gov.vn\",\n\t\t\"int.vn\",\n\t\t\"ac.vn\",\n\t\t\"biz.vn\",\n\t\t\"info.vn\",\n\t\t\"name.vn\",\n\t\t\"pro.vn\",\n\t\t\"health.vn\",\n\t\t\"vu\",\n\t\t\"com.vu\",\n\t\t\"edu.vu\",\n\t\t\"net.vu\",\n\t\t\"org.vu\",\n\t\t\"wf\",\n\t\t\"ws\",\n\t\t\"com.ws\",\n\t\t\"net.ws\",\n\t\t\"org.ws\",\n\t\t\"gov.ws\",\n\t\t\"edu.ws\",\n\t\t\"yt\",\n\t\t\"امارات\",\n\t\t\"հայ\",\n\t\t\"বাংলা\",\n\t\t\"бг\",\n\t\t\"البحرين\",\n\t\t\"бел\",\n\t\t\"中国\",\n\t\t\"中國\",\n\t\t\"الجزائر\",\n\t\t\"مصر\",\n\t\t\"ею\",\n\t\t\"ευ\",\n\t\t\"موريتانيا\",\n\t\t\"გე\",\n\t\t\"ελ\",\n\t\t\"香港\",\n\t\t\"公司.香港\",\n\t\t\"教育.香港\",\n\t\t\"政府.香港\",\n\t\t\"個人.香港\",\n\t\t\"網絡.香港\",\n\t\t\"組織.香港\",\n\t\t\"ಭಾರತ\",\n\t\t\"ଭାରତ\",\n\t\t\"ভাৰত\",\n\t\t\"भारतम्\",\n\t\t\"भारोत\",\n\t\t\"ڀارت\",\n\t\t\"ഭാരതം\",\n\t\t\"भारत\",\n\t\t\"بارت\",\n\t\t\"بھارت\",\n\t\t\"భారత్\",\n\t\t\"ભારત\",\n\t\t\"ਭਾਰਤ\",\n\t\t\"ভারত\",\n\t\t\"இந்தியா\",\n\t\t\"ایران\",\n\t\t\"ايران\",\n\t\t\"عراق\",\n\t\t\"الاردن\",\n\t\t\"한국\",\n\t\t\"қаз\",\n\t\t\"ລາວ\",\n\t\t\"ලංකා\",\n\t\t\"இலங்கை\",\n\t\t\"المغرب\",\n\t\t\"мкд\",\n\t\t\"мон\",\n\t\t\"澳門\",\n\t\t\"澳门\",\n\t\t\"مليسيا\",\n\t\t\"عمان\",\n\t\t\"پاکستان\",\n\t\t\"پاكستان\",\n\t\t\"فلسطين\",\n\t\t\"срб\",\n\t\t\"пр.срб\",\n\t\t\"орг.срб\",\n\t\t\"обр.срб\",\n\t\t\"од.срб\",\n\t\t\"упр.срб\",\n\t\t\"ак.срб\",\n\t\t\"рф\",\n\t\t\"قطر\",\n\t\t\"السعودية\",\n\t\t\"السعودیة\",\n\t\t\"السعودیۃ\",\n\t\t\"السعوديه\",\n\t\t\"سودان\",\n\t\t\"新加坡\",\n\t\t\"சிங்கப்பூர்\",\n\t\t\"سورية\",\n\t\t\"سوريا\",\n\t\t\"ไทย\",\n\t\t\"ศึกษา.ไทย\",\n\t\t\"ธุรกิจ.ไทย\",\n\t\t\"รัฐบาล.ไทย\",\n\t\t\"ทหาร.ไทย\",\n\t\t\"เน็ต.ไทย\",\n\t\t\"องค์กร.ไทย\",\n\t\t\"تونس\",\n\t\t\"台灣\",\n\t\t\"台湾\",\n\t\t\"臺灣\",\n\t\t\"укр\",\n\t\t\"اليمن\",\n\t\t\"xxx\",\n\t\t\"ye\",\n\t\t\"com.ye\",\n\t\t\"edu.ye\",\n\t\t\"gov.ye\",\n\t\t\"net.ye\",\n\t\t\"mil.ye\",\n\t\t\"org.ye\",\n\t\t\"ac.za\",\n\t\t\"agric.za\",\n\t\t\"alt.za\",\n\t\t\"co.za\",\n\t\t\"edu.za\",\n\t\t\"gov.za\",\n\t\t\"grondar.za\",\n\t\t\"law.za\",\n\t\t\"mil.za\",\n\t\t\"net.za\",\n\t\t\"ngo.za\",\n\t\t\"nic.za\",\n\t\t\"nis.za\",\n\t\t\"nom.za\",\n\t\t\"org.za\",\n\t\t\"school.za\",\n\t\t\"tm.za\",\n\t\t\"web.za\",\n\t\t\"zm\",\n\t\t\"ac.zm\",\n\t\t\"biz.zm\",\n\t\t\"co.zm\",\n\t\t\"com.zm\",\n\t\t\"edu.zm\",\n\t\t\"gov.zm\",\n\t\t\"info.zm\",\n\t\t\"mil.zm\",\n\t\t\"net.zm\",\n\t\t\"org.zm\",\n\t\t\"sch.zm\",\n\t\t\"zw\",\n\t\t\"ac.zw\",\n\t\t\"co.zw\",\n\t\t\"gov.zw\",\n\t\t\"mil.zw\",\n\t\t\"org.zw\",\n\t\t\"aaa\",\n\t\t\"aarp\",\n\t\t\"abarth\",\n\t\t\"abb\",\n\t\t\"abbott\",\n\t\t\"abbvie\",\n\t\t\"abc\",\n\t\t\"able\",\n\t\t\"abogado\",\n\t\t\"abudhabi\",\n\t\t\"academy\",\n\t\t\"accenture\",\n\t\t\"accountant\",\n\t\t\"accountants\",\n\t\t\"aco\",\n\t\t\"actor\",\n\t\t\"adac\",\n\t\t\"ads\",\n\t\t\"adult\",\n\t\t\"aeg\",\n\t\t\"aetna\",\n\t\t\"afl\",\n\t\t\"africa\",\n\t\t\"agakhan\",\n\t\t\"agency\",\n\t\t\"aig\",\n\t\t\"airbus\",\n\t\t\"airforce\",\n\t\t\"airtel\",\n\t\t\"akdn\",\n\t\t\"alfaromeo\",\n\t\t\"alibaba\",\n\t\t\"alipay\",\n\t\t\"allfinanz\",\n\t\t\"allstate\",\n\t\t\"ally\",\n\t\t\"alsace\",\n\t\t\"alstom\",\n\t\t\"amazon\",\n\t\t\"americanexpress\",\n\t\t\"americanfamily\",\n\t\t\"amex\",\n\t\t\"amfam\",\n\t\t\"amica\",\n\t\t\"amsterdam\",\n\t\t\"analytics\",\n\t\t\"android\",\n\t\t\"anquan\",\n\t\t\"anz\",\n\t\t\"aol\",\n\t\t\"apartments\",\n\t\t\"app\",\n\t\t\"apple\",\n\t\t\"aquarelle\",\n\t\t\"arab\",\n\t\t\"aramco\",\n\t\t\"archi\",\n\t\t\"army\",\n\t\t\"art\",\n\t\t\"arte\",\n\t\t\"asda\",\n\t\t\"associates\",\n\t\t\"athleta\",\n\t\t\"attorney\",\n\t\t\"auction\",\n\t\t\"audi\",\n\t\t\"audible\",\n\t\t\"audio\",\n\t\t\"auspost\",\n\t\t\"author\",\n\t\t\"auto\",\n\t\t\"autos\",\n\t\t\"avianca\",\n\t\t\"aws\",\n\t\t\"axa\",\n\t\t\"azure\",\n\t\t\"baby\",\n\t\t\"baidu\",\n\t\t\"banamex\",\n\t\t\"bananarepublic\",\n\t\t\"band\",\n\t\t\"bank\",\n\t\t\"bar\",\n\t\t\"barcelona\",\n\t\t\"barclaycard\",\n\t\t\"barclays\",\n\t\t\"barefoot\",\n\t\t\"bargains\",\n\t\t\"baseball\",\n\t\t\"basketball\",\n\t\t\"bauhaus\",\n\t\t\"bayern\",\n\t\t\"bbc\",\n\t\t\"bbt\",\n\t\t\"bbva\",\n\t\t\"bcg\",\n\t\t\"bcn\",\n\t\t\"beats\",\n\t\t\"beauty\",\n\t\t\"beer\",\n\t\t\"bentley\",\n\t\t\"berlin\",\n\t\t\"best\",\n\t\t\"bestbuy\",\n\t\t\"bet\",\n\t\t\"bharti\",\n\t\t\"bible\",\n\t\t\"bid\",\n\t\t\"bike\",\n\t\t\"bing\",\n\t\t\"bingo\",\n\t\t\"bio\",\n\t\t\"black\",\n\t\t\"blackfriday\",\n\t\t\"blockbuster\",\n\t\t\"blog\",\n\t\t\"bloomberg\",\n\t\t\"blue\",\n\t\t\"bms\",\n\t\t\"bmw\",\n\t\t\"bnpparibas\",\n\t\t\"boats\",\n\t\t\"boehringer\",\n\t\t\"bofa\",\n\t\t\"bom\",\n\t\t\"bond\",\n\t\t\"boo\",\n\t\t\"book\",\n\t\t\"booking\",\n\t\t\"bosch\",\n\t\t\"bostik\",\n\t\t\"boston\",\n\t\t\"bot\",\n\t\t\"boutique\",\n\t\t\"box\",\n\t\t\"bradesco\",\n\t\t\"bridgestone\",\n\t\t\"broadway\",\n\t\t\"broker\",\n\t\t\"brother\",\n\t\t\"brussels\",\n\t\t\"bugatti\",\n\t\t\"build\",\n\t\t\"builders\",\n\t\t\"business\",\n\t\t\"buy\",\n\t\t\"buzz\",\n\t\t\"bzh\",\n\t\t\"cab\",\n\t\t\"cafe\",\n\t\t\"cal\",\n\t\t\"call\",\n\t\t\"calvinklein\",\n\t\t\"cam\",\n\t\t\"camera\",\n\t\t\"camp\",\n\t\t\"cancerresearch\",\n\t\t\"canon\",\n\t\t\"capetown\",\n\t\t\"capital\",\n\t\t\"capitalone\",\n\t\t\"car\",\n\t\t\"caravan\",\n\t\t\"cards\",\n\t\t\"care\",\n\t\t\"career\",\n\t\t\"careers\",\n\t\t\"cars\",\n\t\t\"casa\",\n\t\t\"case\",\n\t\t\"cash\",\n\t\t\"casino\",\n\t\t\"catering\",\n\t\t\"catholic\",\n\t\t\"cba\",\n\t\t\"cbn\",\n\t\t\"cbre\",\n\t\t\"cbs\",\n\t\t\"center\",\n\t\t\"ceo\",\n\t\t\"cern\",\n\t\t\"cfa\",\n\t\t\"cfd\",\n\t\t\"chanel\",\n\t\t\"channel\",\n\t\t\"charity\",\n\t\t\"chase\",\n\t\t\"chat\",\n\t\t\"cheap\",\n\t\t\"chintai\",\n\t\t\"christmas\",\n\t\t\"chrome\",\n\t\t\"church\",\n\t\t\"cipriani\",\n\t\t\"circle\",\n\t\t\"cisco\",\n\t\t\"citadel\",\n\t\t\"citi\",\n\t\t\"citic\",\n\t\t\"city\",\n\t\t\"cityeats\",\n\t\t\"claims\",\n\t\t\"cleaning\",\n\t\t\"click\",\n\t\t\"clinic\",\n\t\t\"clinique\",\n\t\t\"clothing\",\n\t\t\"cloud\",\n\t\t\"club\",\n\t\t\"clubmed\",\n\t\t\"coach\",\n\t\t\"codes\",\n\t\t\"coffee\",\n\t\t\"college\",\n\t\t\"cologne\",\n\t\t\"comcast\",\n\t\t\"commbank\",\n\t\t\"community\",\n\t\t\"company\",\n\t\t\"compare\",\n\t\t\"computer\",\n\t\t\"comsec\",\n\t\t\"condos\",\n\t\t\"construction\",\n\t\t\"consulting\",\n\t\t\"contact\",\n\t\t\"contractors\",\n\t\t\"cooking\",\n\t\t\"cookingchannel\",\n\t\t\"cool\",\n\t\t\"corsica\",\n\t\t\"country\",\n\t\t\"coupon\",\n\t\t\"coupons\",\n\t\t\"courses\",\n\t\t\"cpa\",\n\t\t\"credit\",\n\t\t\"creditcard\",\n\t\t\"creditunion\",\n\t\t\"cricket\",\n\t\t\"crown\",\n\t\t\"crs\",\n\t\t\"cruise\",\n\t\t\"cruises\",\n\t\t\"cuisinella\",\n\t\t\"cymru\",\n\t\t\"cyou\",\n\t\t\"dabur\",\n\t\t\"dad\",\n\t\t\"dance\",\n\t\t\"data\",\n\t\t\"date\",\n\t\t\"dating\",\n\t\t\"datsun\",\n\t\t\"day\",\n\t\t\"dclk\",\n\t\t\"dds\",\n\t\t\"deal\",\n\t\t\"dealer\",\n\t\t\"deals\",\n\t\t\"degree\",\n\t\t\"delivery\",\n\t\t\"dell\",\n\t\t\"deloitte\",\n\t\t\"delta\",\n\t\t\"democrat\",\n\t\t\"dental\",\n\t\t\"dentist\",\n\t\t\"desi\",\n\t\t\"design\",\n\t\t\"dev\",\n\t\t\"dhl\",\n\t\t\"diamonds\",\n\t\t\"diet\",\n\t\t\"digital\",\n\t\t\"direct\",\n\t\t\"directory\",\n\t\t\"discount\",\n\t\t\"discover\",\n\t\t\"dish\",\n\t\t\"diy\",\n\t\t\"dnp\",\n\t\t\"docs\",\n\t\t\"doctor\",\n\t\t\"dog\",\n\t\t\"domains\",\n\t\t\"dot\",\n\t\t\"download\",\n\t\t\"drive\",\n\t\t\"dtv\",\n\t\t\"dubai\",\n\t\t\"dunlop\",\n\t\t\"dupont\",\n\t\t\"durban\",\n\t\t\"dvag\",\n\t\t\"dvr\",\n\t\t\"earth\",\n\t\t\"eat\",\n\t\t\"eco\",\n\t\t\"edeka\",\n\t\t\"education\",\n\t\t\"email\",\n\t\t\"emerck\",\n\t\t\"energy\",\n\t\t\"engineer\",\n\t\t\"engineering\",\n\t\t\"enterprises\",\n\t\t\"epson\",\n\t\t\"equipment\",\n\t\t\"ericsson\",\n\t\t\"erni\",\n\t\t\"esq\",\n\t\t\"estate\",\n\t\t\"etisalat\",\n\t\t\"eurovision\",\n\t\t\"eus\",\n\t\t\"events\",\n\t\t\"exchange\",\n\t\t\"expert\",\n\t\t\"exposed\",\n\t\t\"express\",\n\t\t\"extraspace\",\n\t\t\"fage\",\n\t\t\"fail\",\n\t\t\"fairwinds\",\n\t\t\"faith\",\n\t\t\"family\",\n\t\t\"fan\",\n\t\t\"fans\",\n\t\t\"farm\",\n\t\t\"farmers\",\n\t\t\"fashion\",\n\t\t\"fast\",\n\t\t\"fedex\",\n\t\t\"feedback\",\n\t\t\"ferrari\",\n\t\t\"ferrero\",\n\t\t\"fiat\",\n\t\t\"fidelity\",\n\t\t\"fido\",\n\t\t\"film\",\n\t\t\"final\",\n\t\t\"finance\",\n\t\t\"financial\",\n\t\t\"fire\",\n\t\t\"firestone\",\n\t\t\"firmdale\",\n\t\t\"fish\",\n\t\t\"fishing\",\n\t\t\"fit\",\n\t\t\"fitness\",\n\t\t\"flickr\",\n\t\t\"flights\",\n\t\t\"flir\",\n\t\t\"florist\",\n\t\t\"flowers\",\n\t\t\"fly\",\n\t\t\"foo\",\n\t\t\"food\",\n\t\t\"foodnetwork\",\n\t\t\"football\",\n\t\t\"ford\",\n\t\t\"forex\",\n\t\t\"forsale\",\n\t\t\"forum\",\n\t\t\"foundation\",\n\t\t\"fox\",\n\t\t\"free\",\n\t\t\"fresenius\",\n\t\t\"frl\",\n\t\t\"frogans\",\n\t\t\"frontdoor\",\n\t\t\"frontier\",\n\t\t\"ftr\",\n\t\t\"fujitsu\",\n\t\t\"fun\",\n\t\t\"fund\",\n\t\t\"furniture\",\n\t\t\"futbol\",\n\t\t\"fyi\",\n\t\t\"gal\",\n\t\t\"gallery\",\n\t\t\"gallo\",\n\t\t\"gallup\",\n\t\t\"game\",\n\t\t\"games\",\n\t\t\"gap\",\n\t\t\"garden\",\n\t\t\"gay\",\n\t\t\"gbiz\",\n\t\t\"gdn\",\n\t\t\"gea\",\n\t\t\"gent\",\n\t\t\"genting\",\n\t\t\"george\",\n\t\t\"ggee\",\n\t\t\"gift\",\n\t\t\"gifts\",\n\t\t\"gives\",\n\t\t\"giving\",\n\t\t\"glass\",\n\t\t\"gle\",\n\t\t\"global\",\n\t\t\"globo\",\n\t\t\"gmail\",\n\t\t\"gmbh\",\n\t\t\"gmo\",\n\t\t\"gmx\",\n\t\t\"godaddy\",\n\t\t\"gold\",\n\t\t\"goldpoint\",\n\t\t\"golf\",\n\t\t\"goo\",\n\t\t\"goodyear\",\n\t\t\"goog\",\n\t\t\"google\",\n\t\t\"gop\",\n\t\t\"got\",\n\t\t\"grainger\",\n\t\t\"graphics\",\n\t\t\"gratis\",\n\t\t\"green\",\n\t\t\"gripe\",\n\t\t\"grocery\",\n\t\t\"group\",\n\t\t\"guardian\",\n\t\t\"gucci\",\n\t\t\"guge\",\n\t\t\"guide\",\n\t\t\"guitars\",\n\t\t\"guru\",\n\t\t\"hair\",\n\t\t\"hamburg\",\n\t\t\"hangout\",\n\t\t\"haus\",\n\t\t\"hbo\",\n\t\t\"hdfc\",\n\t\t\"hdfcbank\",\n\t\t\"health\",\n\t\t\"healthcare\",\n\t\t\"help\",\n\t\t\"helsinki\",\n\t\t\"here\",\n\t\t\"hermes\",\n\t\t\"hgtv\",\n\t\t\"hiphop\",\n\t\t\"hisamitsu\",\n\t\t\"hitachi\",\n\t\t\"hiv\",\n\t\t\"hkt\",\n\t\t\"hockey\",\n\t\t\"holdings\",\n\t\t\"holiday\",\n\t\t\"homedepot\",\n\t\t\"homegoods\",\n\t\t\"homes\",\n\t\t\"homesense\",\n\t\t\"honda\",\n\t\t\"horse\",\n\t\t\"hospital\",\n\t\t\"host\",\n\t\t\"hosting\",\n\t\t\"hot\",\n\t\t\"hoteles\",\n\t\t\"hotels\",\n\t\t\"hotmail\",\n\t\t\"house\",\n\t\t\"how\",\n\t\t\"hsbc\",\n\t\t\"hughes\",\n\t\t\"hyatt\",\n\t\t\"hyundai\",\n\t\t\"ibm\",\n\t\t\"icbc\",\n\t\t\"ice\",\n\t\t\"icu\",\n\t\t\"ieee\",\n\t\t\"ifm\",\n\t\t\"ikano\",\n\t\t\"imamat\",\n\t\t\"imdb\",\n\t\t\"immo\",\n\t\t\"immobilien\",\n\t\t\"inc\",\n\t\t\"industries\",\n\t\t\"infiniti\",\n\t\t\"ing\",\n\t\t\"ink\",\n\t\t\"institute\",\n\t\t\"insurance\",\n\t\t\"insure\",\n\t\t\"international\",\n\t\t\"intuit\",\n\t\t\"investments\",\n\t\t\"ipiranga\",\n\t\t\"irish\",\n\t\t\"ismaili\",\n\t\t\"ist\",\n\t\t\"istanbul\",\n\t\t\"itau\",\n\t\t\"itv\",\n\t\t\"jaguar\",\n\t\t\"java\",\n\t\t\"jcb\",\n\t\t\"jeep\",\n\t\t\"jetzt\",\n\t\t\"jewelry\",\n\t\t\"jio\",\n\t\t\"jll\",\n\t\t\"jmp\",\n\t\t\"jnj\",\n\t\t\"joburg\",\n\t\t\"jot\",\n\t\t\"joy\",\n\t\t\"jpmorgan\",\n\t\t\"jprs\",\n\t\t\"juegos\",\n\t\t\"juniper\",\n\t\t\"kaufen\",\n\t\t\"kddi\",\n\t\t\"kerryhotels\",\n\t\t\"kerrylogistics\",\n\t\t\"kerryproperties\",\n\t\t\"kfh\",\n\t\t\"kia\",\n\t\t\"kids\",\n\t\t\"kim\",\n\t\t\"kinder\",\n\t\t\"kindle\",\n\t\t\"kitchen\",\n\t\t\"kiwi\",\n\t\t\"koeln\",\n\t\t\"komatsu\",\n\t\t\"kosher\",\n\t\t\"kpmg\",\n\t\t\"kpn\",\n\t\t\"krd\",\n\t\t\"kred\",\n\t\t\"kuokgroup\",\n\t\t\"kyoto\",\n\t\t\"lacaixa\",\n\t\t\"lamborghini\",\n\t\t\"lamer\",\n\t\t\"lancaster\",\n\t\t\"lancia\",\n\t\t\"land\",\n\t\t\"landrover\",\n\t\t\"lanxess\",\n\t\t\"lasalle\",\n\t\t\"lat\",\n\t\t\"latino\",\n\t\t\"latrobe\",\n\t\t\"law\",\n\t\t\"lawyer\",\n\t\t\"lds\",\n\t\t\"lease\",\n\t\t\"leclerc\",\n\t\t\"lefrak\",\n\t\t\"legal\",\n\t\t\"lego\",\n\t\t\"lexus\",\n\t\t\"lgbt\",\n\t\t\"lidl\",\n\t\t\"life\",\n\t\t\"lifeinsurance\",\n\t\t\"lifestyle\",\n\t\t\"lighting\",\n\t\t\"like\",\n\t\t\"lilly\",\n\t\t\"limited\",\n\t\t\"limo\",\n\t\t\"lincoln\",\n\t\t\"linde\",\n\t\t\"link\",\n\t\t\"lipsy\",\n\t\t\"live\",\n\t\t\"living\",\n\t\t\"llc\",\n\t\t\"llp\",\n\t\t\"loan\",\n\t\t\"loans\",\n\t\t\"locker\",\n\t\t\"locus\",\n\t\t\"loft\",\n\t\t\"lol\",\n\t\t\"london\",\n\t\t\"lotte\",\n\t\t\"lotto\",\n\t\t\"love\",\n\t\t\"lpl\",\n\t\t\"lplfinancial\",\n\t\t\"ltd\",\n\t\t\"ltda\",\n\t\t\"lundbeck\",\n\t\t\"luxe\",\n\t\t\"luxury\",\n\t\t\"macys\",\n\t\t\"madrid\",\n\t\t\"maif\",\n\t\t\"maison\",\n\t\t\"makeup\",\n\t\t\"man\",\n\t\t\"management\",\n\t\t\"mango\",\n\t\t\"map\",\n\t\t\"market\",\n\t\t\"marketing\",\n\t\t\"markets\",\n\t\t\"marriott\",\n\t\t\"marshalls\",\n\t\t\"maserati\",\n\t\t\"mattel\",\n\t\t\"mba\",\n\t\t\"mckinsey\",\n\t\t\"med\",\n\t\t\"media\",\n\t\t\"meet\",\n\t\t\"melbourne\",\n\t\t\"meme\",\n\t\t\"memorial\",\n\t\t\"men\",\n\t\t\"menu\",\n\t\t\"merckmsd\",\n\t\t\"miami\",\n\t\t\"microsoft\",\n\t\t\"mini\",\n\t\t\"mint\",\n\t\t\"mit\",\n\t\t\"mitsubishi\",\n\t\t\"mlb\",\n\t\t\"mls\",\n\t\t\"mma\",\n\t\t\"mobile\",\n\t\t\"moda\",\n\t\t\"moe\",\n\t\t\"moi\",\n\t\t\"mom\",\n\t\t\"monash\",\n\t\t\"money\",\n\t\t\"monster\",\n\t\t\"mormon\",\n\t\t\"mortgage\",\n\t\t\"moscow\",\n\t\t\"moto\",\n\t\t\"motorcycles\",\n\t\t\"mov\",\n\t\t\"movie\",\n\t\t\"msd\",\n\t\t\"mtn\",\n\t\t\"mtr\",\n\t\t\"music\",\n\t\t\"mutual\",\n\t\t\"nab\",\n\t\t\"nagoya\",\n\t\t\"natura\",\n\t\t\"navy\",\n\t\t\"nba\",\n\t\t\"nec\",\n\t\t\"netbank\",\n\t\t\"netflix\",\n\t\t\"network\",\n\t\t\"neustar\",\n\t\t\"new\",\n\t\t\"news\",\n\t\t\"next\",\n\t\t\"nextdirect\",\n\t\t\"nexus\",\n\t\t\"nfl\",\n\t\t\"ngo\",\n\t\t\"nhk\",\n\t\t\"nico\",\n\t\t\"nike\",\n\t\t\"nikon\",\n\t\t\"ninja\",\n\t\t\"nissan\",\n\t\t\"nissay\",\n\t\t\"nokia\",\n\t\t\"northwesternmutual\",\n\t\t\"norton\",\n\t\t\"now\",\n\t\t\"nowruz\",\n\t\t\"nowtv\",\n\t\t\"nra\",\n\t\t\"nrw\",\n\t\t\"ntt\",\n\t\t\"nyc\",\n\t\t\"obi\",\n\t\t\"observer\",\n\t\t\"office\",\n\t\t\"okinawa\",\n\t\t\"olayan\",\n\t\t\"olayangroup\",\n\t\t\"oldnavy\",\n\t\t\"ollo\",\n\t\t\"omega\",\n\t\t\"one\",\n\t\t\"ong\",\n\t\t\"onl\",\n\t\t\"online\",\n\t\t\"ooo\",\n\t\t\"open\",\n\t\t\"oracle\",\n\t\t\"orange\",\n\t\t\"organic\",\n\t\t\"origins\",\n\t\t\"osaka\",\n\t\t\"otsuka\",\n\t\t\"ott\",\n\t\t\"ovh\",\n\t\t\"page\",\n\t\t\"panasonic\",\n\t\t\"paris\",\n\t\t\"pars\",\n\t\t\"partners\",\n\t\t\"parts\",\n\t\t\"party\",\n\t\t\"passagens\",\n\t\t\"pay\",\n\t\t\"pccw\",\n\t\t\"pet\",\n\t\t\"pfizer\",\n\t\t\"pharmacy\",\n\t\t\"phd\",\n\t\t\"philips\",\n\t\t\"phone\",\n\t\t\"photo\",\n\t\t\"photography\",\n\t\t\"photos\",\n\t\t\"physio\",\n\t\t\"pics\",\n\t\t\"pictet\",\n\t\t\"pictures\",\n\t\t\"pid\",\n\t\t\"pin\",\n\t\t\"ping\",\n\t\t\"pink\",\n\t\t\"pioneer\",\n\t\t\"pizza\",\n\t\t\"place\",\n\t\t\"play\",\n\t\t\"playstation\",\n\t\t\"plumbing\",\n\t\t\"plus\",\n\t\t\"pnc\",\n\t\t\"pohl\",\n\t\t\"poker\",\n\t\t\"politie\",\n\t\t\"porn\",\n\t\t\"pramerica\",\n\t\t\"praxi\",\n\t\t\"press\",\n\t\t\"prime\",\n\t\t\"prod\",\n\t\t\"productions\",\n\t\t\"prof\",\n\t\t\"progressive\",\n\t\t\"promo\",\n\t\t\"properties\",\n\t\t\"property\",\n\t\t\"protection\",\n\t\t\"pru\",\n\t\t\"prudential\",\n\t\t\"pub\",\n\t\t\"pwc\",\n\t\t\"qpon\",\n\t\t\"quebec\",\n\t\t\"quest\",\n\t\t\"racing\",\n\t\t\"radio\",\n\t\t\"read\",\n\t\t\"realestate\",\n\t\t\"realtor\",\n\t\t\"realty\",\n\t\t\"recipes\",\n\t\t\"red\",\n\t\t\"redstone\",\n\t\t\"redumbrella\",\n\t\t\"rehab\",\n\t\t\"reise\",\n\t\t\"reisen\",\n\t\t\"reit\",\n\t\t\"reliance\",\n\t\t\"ren\",\n\t\t\"rent\",\n\t\t\"rentals\",\n\t\t\"repair\",\n\t\t\"report\",\n\t\t\"republican\",\n\t\t\"rest\",\n\t\t\"restaurant\",\n\t\t\"review\",\n\t\t\"reviews\",\n\t\t\"rexroth\",\n\t\t\"rich\",\n\t\t\"richardli\",\n\t\t\"ricoh\",\n\t\t\"ril\",\n\t\t\"rio\",\n\t\t\"rip\",\n\t\t\"rocher\",\n\t\t\"rocks\",\n\t\t\"rodeo\",\n\t\t\"rogers\",\n\t\t\"room\",\n\t\t\"rsvp\",\n\t\t\"rugby\",\n\t\t\"ruhr\",\n\t\t\"run\",\n\t\t\"rwe\",\n\t\t\"ryukyu\",\n\t\t\"saarland\",\n\t\t\"safe\",\n\t\t\"safety\",\n\t\t\"sakura\",\n\t\t\"sale\",\n\t\t\"salon\",\n\t\t\"samsclub\",\n\t\t\"samsung\",\n\t\t\"sandvik\",\n\t\t\"sandvikcoromant\",\n\t\t\"sanofi\",\n\t\t\"sap\",\n\t\t\"sarl\",\n\t\t\"sas\",\n\t\t\"save\",\n\t\t\"saxo\",\n\t\t\"sbi\",\n\t\t\"sbs\",\n\t\t\"sca\",\n\t\t\"scb\",\n\t\t\"schaeffler\",\n\t\t\"schmidt\",\n\t\t\"scholarships\",\n\t\t\"school\",\n\t\t\"schule\",\n\t\t\"schwarz\",\n\t\t\"science\",\n\t\t\"scot\",\n\t\t\"search\",\n\t\t\"seat\",\n\t\t\"secure\",\n\t\t\"security\",\n\t\t\"seek\",\n\t\t\"select\",\n\t\t\"sener\",\n\t\t\"services\",\n\t\t\"ses\",\n\t\t\"seven\",\n\t\t\"sew\",\n\t\t\"sex\",\n\t\t\"sexy\",\n\t\t\"sfr\",\n\t\t\"shangrila\",\n\t\t\"sharp\",\n\t\t\"shaw\",\n\t\t\"shell\",\n\t\t\"shia\",\n\t\t\"shiksha\",\n\t\t\"shoes\",\n\t\t\"shop\",\n\t\t\"shopping\",\n\t\t\"shouji\",\n\t\t\"show\",\n\t\t\"showtime\",\n\t\t\"silk\",\n\t\t\"sina\",\n\t\t\"singles\",\n\t\t\"site\",\n\t\t\"ski\",\n\t\t\"skin\",\n\t\t\"sky\",\n\t\t\"skype\",\n\t\t\"sling\",\n\t\t\"smart\",\n\t\t\"smile\",\n\t\t\"sncf\",\n\t\t\"soccer\",\n\t\t\"social\",\n\t\t\"softbank\",\n\t\t\"software\",\n\t\t\"sohu\",\n\t\t\"solar\",\n\t\t\"solutions\",\n\t\t\"song\",\n\t\t\"sony\",\n\t\t\"soy\",\n\t\t\"spa\",\n\t\t\"space\",\n\t\t\"sport\",\n\t\t\"spot\",\n\t\t\"srl\",\n\t\t\"stada\",\n\t\t\"staples\",\n\t\t\"star\",\n\t\t\"statebank\",\n\t\t\"statefarm\",\n\t\t\"stc\",\n\t\t\"stcgroup\",\n\t\t\"stockholm\",\n\t\t\"storage\",\n\t\t\"store\",\n\t\t\"stream\",\n\t\t\"studio\",\n\t\t\"study\",\n\t\t\"style\",\n\t\t\"sucks\",\n\t\t\"supplies\",\n\t\t\"supply\",\n\t\t\"support\",\n\t\t\"surf\",\n\t\t\"surgery\",\n\t\t\"suzuki\",\n\t\t\"swatch\",\n\t\t\"swiss\",\n\t\t\"sydney\",\n\t\t\"systems\",\n\t\t\"tab\",\n\t\t\"taipei\",\n\t\t\"talk\",\n\t\t\"taobao\",\n\t\t\"target\",\n\t\t\"tatamotors\",\n\t\t\"tatar\",\n\t\t\"tattoo\",\n\t\t\"tax\",\n\t\t\"taxi\",\n\t\t\"tci\",\n\t\t\"tdk\",\n\t\t\"team\",\n\t\t\"tech\",\n\t\t\"technology\",\n\t\t\"temasek\",\n\t\t\"tennis\",\n\t\t\"teva\",\n\t\t\"thd\",\n\t\t\"theater\",\n\t\t\"theatre\",\n\t\t\"tiaa\",\n\t\t\"tickets\",\n\t\t\"tienda\",\n\t\t\"tiffany\",\n\t\t\"tips\",\n\t\t\"tires\",\n\t\t\"tirol\",\n\t\t\"tjmaxx\",\n\t\t\"tjx\",\n\t\t\"tkmaxx\",\n\t\t\"tmall\",\n\t\t\"today\",\n\t\t\"tokyo\",\n\t\t\"tools\",\n\t\t\"top\",\n\t\t\"toray\",\n\t\t\"toshiba\",\n\t\t\"total\",\n\t\t\"tours\",\n\t\t\"town\",\n\t\t\"toyota\",\n\t\t\"toys\",\n\t\t\"trade\",\n\t\t\"trading\",\n\t\t\"training\",\n\t\t\"travel\",\n\t\t\"travelchannel\",\n\t\t\"travelers\",\n\t\t\"travelersinsurance\",\n\t\t\"trust\",\n\t\t\"trv\",\n\t\t\"tube\",\n\t\t\"tui\",\n\t\t\"tunes\",\n\t\t\"tushu\",\n\t\t\"tvs\",\n\t\t\"ubank\",\n\t\t\"ubs\",\n\t\t\"unicom\",\n\t\t\"university\",\n\t\t\"uno\",\n\t\t\"uol\",\n\t\t\"ups\",\n\t\t\"vacations\",\n\t\t\"vana\",\n\t\t\"vanguard\",\n\t\t\"vegas\",\n\t\t\"ventures\",\n\t\t\"verisign\",\n\t\t\"versicherung\",\n\t\t\"vet\",\n\t\t\"viajes\",\n\t\t\"video\",\n\t\t\"vig\",\n\t\t\"viking\",\n\t\t\"villas\",\n\t\t\"vin\",\n\t\t\"vip\",\n\t\t\"virgin\",\n\t\t\"visa\",\n\t\t\"vision\",\n\t\t\"viva\",\n\t\t\"vivo\",\n\t\t\"vlaanderen\",\n\t\t\"vodka\",\n\t\t\"volkswagen\",\n\t\t\"volvo\",\n\t\t\"vote\",\n\t\t\"voting\",\n\t\t\"voto\",\n\t\t\"voyage\",\n\t\t\"vuelos\",\n\t\t\"wales\",\n\t\t\"walmart\",\n\t\t\"walter\",\n\t\t\"wang\",\n\t\t\"wanggou\",\n\t\t\"watch\",\n\t\t\"watches\",\n\t\t\"weather\",\n\t\t\"weatherchannel\",\n\t\t\"webcam\",\n\t\t\"weber\",\n\t\t\"website\",\n\t\t\"wedding\",\n\t\t\"weibo\",\n\t\t\"weir\",\n\t\t\"whoswho\",\n\t\t\"wien\",\n\t\t\"wiki\",\n\t\t\"williamhill\",\n\t\t\"win\",\n\t\t\"windows\",\n\t\t\"wine\",\n\t\t\"winners\",\n\t\t\"wme\",\n\t\t\"wolterskluwer\",\n\t\t\"woodside\",\n\t\t\"work\",\n\t\t\"works\",\n\t\t\"world\",\n\t\t\"wow\",\n\t\t\"wtc\",\n\t\t\"wtf\",\n\t\t\"xbox\",\n\t\t\"xerox\",\n\t\t\"xfinity\",\n\t\t\"xihuan\",\n\t\t\"xin\",\n\t\t\"कॉम\",\n\t\t\"セール\",\n\t\t\"佛山\",\n\t\t\"慈善\",\n\t\t\"集团\",\n\t\t\"在线\",\n\t\t\"点看\",\n\t\t\"คอม\",\n\t\t\"八卦\",\n\t\t\"موقع\",\n\t\t\"公益\",\n\t\t\"公司\",\n\t\t\"香格里拉\",\n\t\t\"网站\",\n\t\t\"移动\",\n\t\t\"我爱你\",\n\t\t\"москва\",\n\t\t\"католик\",\n\t\t\"онлайн\",\n\t\t\"сайт\",\n\t\t\"联通\",\n\t\t\"קום\",\n\t\t\"时尚\",\n\t\t\"微博\",\n\t\t\"淡马锡\",\n\t\t\"ファッション\",\n\t\t\"орг\",\n\t\t\"नेट\",\n\t\t\"ストア\",\n\t\t\"アマゾン\",\n\t\t\"삼성\",\n\t\t\"商标\",\n\t\t\"商店\",\n\t\t\"商城\",\n\t\t\"дети\",\n\t\t\"ポイント\",\n\t\t\"新闻\",\n\t\t\"家電\",\n\t\t\"كوم\",\n\t\t\"中文网\",\n\t\t\"中信\",\n\t\t\"娱乐\",\n\t\t\"谷歌\",\n\t\t\"電訊盈科\",\n\t\t\"购物\",\n\t\t\"クラウド\",\n\t\t\"通販\",\n\t\t\"网店\",\n\t\t\"संगठन\",\n\t\t\"餐厅\",\n\t\t\"网络\",\n\t\t\"ком\",\n\t\t\"亚马逊\",\n\t\t\"诺基亚\",\n\t\t\"食品\",\n\t\t\"飞利浦\",\n\t\t\"手机\",\n\t\t\"ارامكو\",\n\t\t\"العليان\",\n\t\t\"اتصالات\",\n\t\t\"بازار\",\n\t\t\"ابوظبي\",\n\t\t\"كاثوليك\",\n\t\t\"همراه\",\n\t\t\"닷컴\",\n\t\t\"政府\",\n\t\t\"شبكة\",\n\t\t\"بيتك\",\n\t\t\"عرب\",\n\t\t\"机构\",\n\t\t\"组织机构\",\n\t\t\"健康\",\n\t\t\"招聘\",\n\t\t\"рус\",\n\t\t\"大拿\",\n\t\t\"みんな\",\n\t\t\"グーグル\",\n\t\t\"世界\",\n\t\t\"書籍\",\n\t\t\"网址\",\n\t\t\"닷넷\",\n\t\t\"コム\",\n\t\t\"天主教\",\n\t\t\"游戏\",\n\t\t\"vermögensberater\",\n\t\t\"vermögensberatung\",\n\t\t\"企业\",\n\t\t\"信息\",\n\t\t\"嘉里大酒店\",\n\t\t\"嘉里\",\n\t\t\"广东\",\n\t\t\"政务\",\n\t\t\"xyz\",\n\t\t\"yachts\",\n\t\t\"yahoo\",\n\t\t\"yamaxun\",\n\t\t\"yandex\",\n\t\t\"yodobashi\",\n\t\t\"yoga\",\n\t\t\"yokohama\",\n\t\t\"you\",\n\t\t\"youtube\",\n\t\t\"yun\",\n\t\t\"zappos\",\n\t\t\"zara\",\n\t\t\"zero\",\n\t\t\"zip\",\n\t\t\"zone\",\n\t\t\"zuerich\",\n\t\t\"cc.ua\",\n\t\t\"inf.ua\",\n\t\t\"ltd.ua\",\n\t\t\"611.to\",\n\t\t\"graphox.us\",\n\t\t\"*.devcdnaccesso.com\",\n\t\t\"adobeaemcloud.com\",\n\t\t\"*.dev.adobeaemcloud.com\",\n\t\t\"hlx.live\",\n\t\t\"adobeaemcloud.net\",\n\t\t\"hlx.page\",\n\t\t\"hlx3.page\",\n\t\t\"beep.pl\",\n\t\t\"airkitapps.com\",\n\t\t\"airkitapps-au.com\",\n\t\t\"airkitapps.eu\",\n\t\t\"aivencloud.com\",\n\t\t\"barsy.ca\",\n\t\t\"*.compute.estate\",\n\t\t\"*.alces.network\",\n\t\t\"kasserver.com\",\n\t\t\"altervista.org\",\n\t\t\"alwaysdata.net\",\n\t\t\"cloudfront.net\",\n\t\t\"*.compute.amazonaws.com\",\n\t\t\"*.compute-1.amazonaws.com\",\n\t\t\"*.compute.amazonaws.com.cn\",\n\t\t\"us-east-1.amazonaws.com\",\n\t\t\"cn-north-1.eb.amazonaws.com.cn\",\n\t\t\"cn-northwest-1.eb.amazonaws.com.cn\",\n\t\t\"elasticbeanstalk.com\",\n\t\t\"ap-northeast-1.elasticbeanstalk.com\",\n\t\t\"ap-northeast-2.elasticbeanstalk.com\",\n\t\t\"ap-northeast-3.elasticbeanstalk.com\",\n\t\t\"ap-south-1.elasticbeanstalk.com\",\n\t\t\"ap-southeast-1.elasticbeanstalk.com\",\n\t\t\"ap-southeast-2.elasticbeanstalk.com\",\n\t\t\"ca-central-1.elasticbeanstalk.com\",\n\t\t\"eu-central-1.elasticbeanstalk.com\",\n\t\t\"eu-west-1.elasticbeanstalk.com\",\n\t\t\"eu-west-2.elasticbeanstalk.com\",\n\t\t\"eu-west-3.elasticbeanstalk.com\",\n\t\t\"sa-east-1.elasticbeanstalk.com\",\n\t\t\"us-east-1.elasticbeanstalk.com\",\n\t\t\"us-east-2.elasticbeanstalk.com\",\n\t\t\"us-gov-west-1.elasticbeanstalk.com\",\n\t\t\"us-west-1.elasticbeanstalk.com\",\n\t\t\"us-west-2.elasticbeanstalk.com\",\n\t\t\"*.elb.amazonaws.com\",\n\t\t\"*.elb.amazonaws.com.cn\",\n\t\t\"awsglobalaccelerator.com\",\n\t\t\"s3.amazonaws.com\",\n\t\t\"s3-ap-northeast-1.amazonaws.com\",\n\t\t\"s3-ap-northeast-2.amazonaws.com\",\n\t\t\"s3-ap-south-1.amazonaws.com\",\n\t\t\"s3-ap-southeast-1.amazonaws.com\",\n\t\t\"s3-ap-southeast-2.amazonaws.com\",\n\t\t\"s3-ca-central-1.amazonaws.com\",\n\t\t\"s3-eu-central-1.amazonaws.com\",\n\t\t\"s3-eu-west-1.amazonaws.com\",\n\t\t\"s3-eu-west-2.amazonaws.com\",\n\t\t\"s3-eu-west-3.amazonaws.com\",\n\t\t\"s3-external-1.amazonaws.com\",\n\t\t\"s3-fips-us-gov-west-1.amazonaws.com\",\n\t\t\"s3-sa-east-1.amazonaws.com\",\n\t\t\"s3-us-gov-west-1.amazonaws.com\",\n\t\t\"s3-us-east-2.amazonaws.com\",\n\t\t\"s3-us-west-1.amazonaws.com\",\n\t\t\"s3-us-west-2.amazonaws.com\",\n\t\t\"s3.ap-northeast-2.amazonaws.com\",\n\t\t\"s3.ap-south-1.amazonaws.com\",\n\t\t\"s3.cn-north-1.amazonaws.com.cn\",\n\t\t\"s3.ca-central-1.amazonaws.com\",\n\t\t\"s3.eu-central-1.amazonaws.com\",\n\t\t\"s3.eu-west-2.amazonaws.com\",\n\t\t\"s3.eu-west-3.amazonaws.com\",\n\t\t\"s3.us-east-2.amazonaws.com\",\n\t\t\"s3.dualstack.ap-northeast-1.amazonaws.com\",\n\t\t\"s3.dualstack.ap-northeast-2.amazonaws.com\",\n\t\t\"s3.dualstack.ap-south-1.amazonaws.com\",\n\t\t\"s3.dualstack.ap-southeast-1.amazonaws.com\",\n\t\t\"s3.dualstack.ap-southeast-2.amazonaws.com\",\n\t\t\"s3.dualstack.ca-central-1.amazonaws.com\",\n\t\t\"s3.dualstack.eu-central-1.amazonaws.com\",\n\t\t\"s3.dualstack.eu-west-1.amazonaws.com\",\n\t\t\"s3.dualstack.eu-west-2.amazonaws.com\",\n\t\t\"s3.dualstack.eu-west-3.amazonaws.com\",\n\t\t\"s3.dualstack.sa-east-1.amazonaws.com\",\n\t\t\"s3.dualstack.us-east-1.amazonaws.com\",\n\t\t\"s3.dualstack.us-east-2.amazonaws.com\",\n\t\t\"s3-website-us-east-1.amazonaws.com\",\n\t\t\"s3-website-us-west-1.amazonaws.com\",\n\t\t\"s3-website-us-west-2.amazonaws.com\",\n\t\t\"s3-website-ap-northeast-1.amazonaws.com\",\n\t\t\"s3-website-ap-southeast-1.amazonaws.com\",\n\t\t\"s3-website-ap-southeast-2.amazonaws.com\",\n\t\t\"s3-website-eu-west-1.amazonaws.com\",\n\t\t\"s3-website-sa-east-1.amazonaws.com\",\n\t\t\"s3-website.ap-northeast-2.amazonaws.com\",\n\t\t\"s3-website.ap-south-1.amazonaws.com\",\n\t\t\"s3-website.ca-central-1.amazonaws.com\",\n\t\t\"s3-website.eu-central-1.amazonaws.com\",\n\t\t\"s3-website.eu-west-2.amazonaws.com\",\n\t\t\"s3-website.eu-west-3.amazonaws.com\",\n\t\t\"s3-website.us-east-2.amazonaws.com\",\n\t\t\"t3l3p0rt.net\",\n\t\t\"tele.amune.org\",\n\t\t\"apigee.io\",\n\t\t\"siiites.com\",\n\t\t\"appspacehosted.com\",\n\t\t\"appspaceusercontent.com\",\n\t\t\"appudo.net\",\n\t\t\"on-aptible.com\",\n\t\t\"user.aseinet.ne.jp\",\n\t\t\"gv.vc\",\n\t\t\"d.gv.vc\",\n\t\t\"user.party.eus\",\n\t\t\"pimienta.org\",\n\t\t\"poivron.org\",\n\t\t\"potager.org\",\n\t\t\"sweetpepper.org\",\n\t\t\"myasustor.com\",\n\t\t\"cdn.prod.atlassian-dev.net\",\n\t\t\"translated.page\",\n\t\t\"myfritz.net\",\n\t\t\"onavstack.net\",\n\t\t\"*.awdev.ca\",\n\t\t\"*.advisor.ws\",\n\t\t\"ecommerce-shop.pl\",\n\t\t\"b-data.io\",\n\t\t\"backplaneapp.io\",\n\t\t\"balena-devices.com\",\n\t\t\"rs.ba\",\n\t\t\"*.banzai.cloud\",\n\t\t\"app.banzaicloud.io\",\n\t\t\"*.backyards.banzaicloud.io\",\n\t\t\"base.ec\",\n\t\t\"official.ec\",\n\t\t\"buyshop.jp\",\n\t\t\"fashionstore.jp\",\n\t\t\"handcrafted.jp\",\n\t\t\"kawaiishop.jp\",\n\t\t\"supersale.jp\",\n\t\t\"theshop.jp\",\n\t\t\"shopselect.net\",\n\t\t\"base.shop\",\n\t\t\"*.beget.app\",\n\t\t\"betainabox.com\",\n\t\t\"bnr.la\",\n\t\t\"bitbucket.io\",\n\t\t\"blackbaudcdn.net\",\n\t\t\"of.je\",\n\t\t\"bluebite.io\",\n\t\t\"boomla.net\",\n\t\t\"boutir.com\",\n\t\t\"boxfuse.io\",\n\t\t\"square7.ch\",\n\t\t\"bplaced.com\",\n\t\t\"bplaced.de\",\n\t\t\"square7.de\",\n\t\t\"bplaced.net\",\n\t\t\"square7.net\",\n\t\t\"shop.brendly.rs\",\n\t\t\"browsersafetymark.io\",\n\t\t\"uk0.bigv.io\",\n\t\t\"dh.bytemark.co.uk\",\n\t\t\"vm.bytemark.co.uk\",\n\t\t\"cafjs.com\",\n\t\t\"mycd.eu\",\n\t\t\"drr.ac\",\n\t\t\"uwu.ai\",\n\t\t\"carrd.co\",\n\t\t\"crd.co\",\n\t\t\"ju.mp\",\n\t\t\"ae.org\",\n\t\t\"br.com\",\n\t\t\"cn.com\",\n\t\t\"com.de\",\n\t\t\"com.se\",\n\t\t\"de.com\",\n\t\t\"eu.com\",\n\t\t\"gb.net\",\n\t\t\"hu.net\",\n\t\t\"jp.net\",\n\t\t\"jpn.com\",\n\t\t\"mex.com\",\n\t\t\"ru.com\",\n\t\t\"sa.com\",\n\t\t\"se.net\",\n\t\t\"uk.com\",\n\t\t\"uk.net\",\n\t\t\"us.com\",\n\t\t\"za.bz\",\n\t\t\"za.com\",\n\t\t\"ar.com\",\n\t\t\"hu.com\",\n\t\t\"kr.com\",\n\t\t\"no.com\",\n\t\t\"qc.com\",\n\t\t\"uy.com\",\n\t\t\"africa.com\",\n\t\t\"gr.com\",\n\t\t\"in.net\",\n\t\t\"web.in\",\n\t\t\"us.org\",\n\t\t\"co.com\",\n\t\t\"aus.basketball\",\n\t\t\"nz.basketball\",\n\t\t\"radio.am\",\n\t\t\"radio.fm\",\n\t\t\"c.la\",\n\t\t\"certmgr.org\",\n\t\t\"cx.ua\",\n\t\t\"discourse.group\",\n\t\t\"discourse.team\",\n\t\t\"cleverapps.io\",\n\t\t\"clerk.app\",\n\t\t\"clerkstage.app\",\n\t\t\"*.lcl.dev\",\n\t\t\"*.lclstage.dev\",\n\t\t\"*.stg.dev\",\n\t\t\"*.stgstage.dev\",\n\t\t\"clickrising.net\",\n\t\t\"c66.me\",\n\t\t\"cloud66.ws\",\n\t\t\"cloud66.zone\",\n\t\t\"jdevcloud.com\",\n\t\t\"wpdevcloud.com\",\n\t\t\"cloudaccess.host\",\n\t\t\"freesite.host\",\n\t\t\"cloudaccess.net\",\n\t\t\"cloudcontrolled.com\",\n\t\t\"cloudcontrolapp.com\",\n\t\t\"*.cloudera.site\",\n\t\t\"pages.dev\",\n\t\t\"trycloudflare.com\",\n\t\t\"workers.dev\",\n\t\t\"wnext.app\",\n\t\t\"co.ca\",\n\t\t\"*.otap.co\",\n\t\t\"co.cz\",\n\t\t\"c.cdn77.org\",\n\t\t\"cdn77-ssl.net\",\n\t\t\"r.cdn77.net\",\n\t\t\"rsc.cdn77.org\",\n\t\t\"ssl.origin.cdn77-secure.org\",\n\t\t\"cloudns.asia\",\n\t\t\"cloudns.biz\",\n\t\t\"cloudns.club\",\n\t\t\"cloudns.cc\",\n\t\t\"cloudns.eu\",\n\t\t\"cloudns.in\",\n\t\t\"cloudns.info\",\n\t\t\"cloudns.org\",\n\t\t\"cloudns.pro\",\n\t\t\"cloudns.pw\",\n\t\t\"cloudns.us\",\n\t\t\"cnpy.gdn\",\n\t\t\"codeberg.page\",\n\t\t\"co.nl\",\n\t\t\"co.no\",\n\t\t\"webhosting.be\",\n\t\t\"hosting-cluster.nl\",\n\t\t\"ac.ru\",\n\t\t\"edu.ru\",\n\t\t\"gov.ru\",\n\t\t\"int.ru\",\n\t\t\"mil.ru\",\n\t\t\"test.ru\",\n\t\t\"dyn.cosidns.de\",\n\t\t\"dynamisches-dns.de\",\n\t\t\"dnsupdater.de\",\n\t\t\"internet-dns.de\",\n\t\t\"l-o-g-i-n.de\",\n\t\t\"dynamic-dns.info\",\n\t\t\"feste-ip.net\",\n\t\t\"knx-server.net\",\n\t\t\"static-access.net\",\n\t\t\"realm.cz\",\n\t\t\"*.cryptonomic.net\",\n\t\t\"cupcake.is\",\n\t\t\"curv.dev\",\n\t\t\"*.customer-oci.com\",\n\t\t\"*.oci.customer-oci.com\",\n\t\t\"*.ocp.customer-oci.com\",\n\t\t\"*.ocs.customer-oci.com\",\n\t\t\"cyon.link\",\n\t\t\"cyon.site\",\n\t\t\"fnwk.site\",\n\t\t\"folionetwork.site\",\n\t\t\"platform0.app\",\n\t\t\"daplie.me\",\n\t\t\"localhost.daplie.me\",\n\t\t\"dattolocal.com\",\n\t\t\"dattorelay.com\",\n\t\t\"dattoweb.com\",\n\t\t\"mydatto.com\",\n\t\t\"dattolocal.net\",\n\t\t\"mydatto.net\",\n\t\t\"biz.dk\",\n\t\t\"co.dk\",\n\t\t\"firm.dk\",\n\t\t\"reg.dk\",\n\t\t\"store.dk\",\n\t\t\"dyndns.dappnode.io\",\n\t\t\"*.dapps.earth\",\n\t\t\"*.bzz.dapps.earth\",\n\t\t\"builtwithdark.com\",\n\t\t\"demo.datadetect.com\",\n\t\t\"instance.datadetect.com\",\n\t\t\"edgestack.me\",\n\t\t\"ddns5.com\",\n\t\t\"debian.net\",\n\t\t\"deno.dev\",\n\t\t\"deno-staging.dev\",\n\t\t\"dedyn.io\",\n\t\t\"deta.app\",\n\t\t\"deta.dev\",\n\t\t\"*.rss.my.id\",\n\t\t\"*.diher.solutions\",\n\t\t\"discordsays.com\",\n\t\t\"discordsez.com\",\n\t\t\"jozi.biz\",\n\t\t\"dnshome.de\",\n\t\t\"online.th\",\n\t\t\"shop.th\",\n\t\t\"drayddns.com\",\n\t\t\"shoparena.pl\",\n\t\t\"dreamhosters.com\",\n\t\t\"mydrobo.com\",\n\t\t\"drud.io\",\n\t\t\"drud.us\",\n\t\t\"duckdns.org\",\n\t\t\"bip.sh\",\n\t\t\"bitbridge.net\",\n\t\t\"dy.fi\",\n\t\t\"tunk.org\",\n\t\t\"dyndns-at-home.com\",\n\t\t\"dyndns-at-work.com\",\n\t\t\"dyndns-blog.com\",\n\t\t\"dyndns-free.com\",\n\t\t\"dyndns-home.com\",\n\t\t\"dyndns-ip.com\",\n\t\t\"dyndns-mail.com\",\n\t\t\"dyndns-office.com\",\n\t\t\"dyndns-pics.com\",\n\t\t\"dyndns-remote.com\",\n\t\t\"dyndns-server.com\",\n\t\t\"dyndns-web.com\",\n\t\t\"dyndns-wiki.com\",\n\t\t\"dyndns-work.com\",\n\t\t\"dyndns.biz\",\n\t\t\"dyndns.info\",\n\t\t\"dyndns.org\",\n\t\t\"dyndns.tv\",\n\t\t\"at-band-camp.net\",\n\t\t\"ath.cx\",\n\t\t\"barrel-of-knowledge.info\",\n\t\t\"barrell-of-knowledge.info\",\n\t\t\"better-than.tv\",\n\t\t\"blogdns.com\",\n\t\t\"blogdns.net\",\n\t\t\"blogdns.org\",\n\t\t\"blogsite.org\",\n\t\t\"boldlygoingnowhere.org\",\n\t\t\"broke-it.net\",\n\t\t\"buyshouses.net\",\n\t\t\"cechire.com\",\n\t\t\"dnsalias.com\",\n\t\t\"dnsalias.net\",\n\t\t\"dnsalias.org\",\n\t\t\"dnsdojo.com\",\n\t\t\"dnsdojo.net\",\n\t\t\"dnsdojo.org\",\n\t\t\"does-it.net\",\n\t\t\"doesntexist.com\",\n\t\t\"doesntexist.org\",\n\t\t\"dontexist.com\",\n\t\t\"dontexist.net\",\n\t\t\"dontexist.org\",\n\t\t\"doomdns.com\",\n\t\t\"doomdns.org\",\n\t\t\"dvrdns.org\",\n\t\t\"dyn-o-saur.com\",\n\t\t\"dynalias.com\",\n\t\t\"dynalias.net\",\n\t\t\"dynalias.org\",\n\t\t\"dynathome.net\",\n\t\t\"dyndns.ws\",\n\t\t\"endofinternet.net\",\n\t\t\"endofinternet.org\",\n\t\t\"endoftheinternet.org\",\n\t\t\"est-a-la-maison.com\",\n\t\t\"est-a-la-masion.com\",\n\t\t\"est-le-patron.com\",\n\t\t\"est-mon-blogueur.com\",\n\t\t\"for-better.biz\",\n\t\t\"for-more.biz\",\n\t\t\"for-our.info\",\n\t\t\"for-some.biz\",\n\t\t\"for-the.biz\",\n\t\t\"forgot.her.name\",\n\t\t\"forgot.his.name\",\n\t\t\"from-ak.com\",\n\t\t\"from-al.com\",\n\t\t\"from-ar.com\",\n\t\t\"from-az.net\",\n\t\t\"from-ca.com\",\n\t\t\"from-co.net\",\n\t\t\"from-ct.com\",\n\t\t\"from-dc.com\",\n\t\t\"from-de.com\",\n\t\t\"from-fl.com\",\n\t\t\"from-ga.com\",\n\t\t\"from-hi.com\",\n\t\t\"from-ia.com\",\n\t\t\"from-id.com\",\n\t\t\"from-il.com\",\n\t\t\"from-in.com\",\n\t\t\"from-ks.com\",\n\t\t\"from-ky.com\",\n\t\t\"from-la.net\",\n\t\t\"from-ma.com\",\n\t\t\"from-md.com\",\n\t\t\"from-me.org\",\n\t\t\"from-mi.com\",\n\t\t\"from-mn.com\",\n\t\t\"from-mo.com\",\n\t\t\"from-ms.com\",\n\t\t\"from-mt.com\",\n\t\t\"from-nc.com\",\n\t\t\"from-nd.com\",\n\t\t\"from-ne.com\",\n\t\t\"from-nh.com\",\n\t\t\"from-nj.com\",\n\t\t\"from-nm.com\",\n\t\t\"from-nv.com\",\n\t\t\"from-ny.net\",\n\t\t\"from-oh.com\",\n\t\t\"from-ok.com\",\n\t\t\"from-or.com\",\n\t\t\"from-pa.com\",\n\t\t\"from-pr.com\",\n\t\t\"from-ri.com\",\n\t\t\"from-sc.com\",\n\t\t\"from-sd.com\",\n\t\t\"from-tn.com\",\n\t\t\"from-tx.com\",\n\t\t\"from-ut.com\",\n\t\t\"from-va.com\",\n\t\t\"from-vt.com\",\n\t\t\"from-wa.com\",\n\t\t\"from-wi.com\",\n\t\t\"from-wv.com\",\n\t\t\"from-wy.com\",\n\t\t\"ftpaccess.cc\",\n\t\t\"fuettertdasnetz.de\",\n\t\t\"game-host.org\",\n\t\t\"game-server.cc\",\n\t\t\"getmyip.com\",\n\t\t\"gets-it.net\",\n\t\t\"go.dyndns.org\",\n\t\t\"gotdns.com\",\n\t\t\"gotdns.org\",\n\t\t\"groks-the.info\",\n\t\t\"groks-this.info\",\n\t\t\"ham-radio-op.net\",\n\t\t\"here-for-more.info\",\n\t\t\"hobby-site.com\",\n\t\t\"hobby-site.org\",\n\t\t\"home.dyndns.org\",\n\t\t\"homedns.org\",\n\t\t\"homeftp.net\",\n\t\t\"homeftp.org\",\n\t\t\"homeip.net\",\n\t\t\"homelinux.com\",\n\t\t\"homelinux.net\",\n\t\t\"homelinux.org\",\n\t\t\"homeunix.com\",\n\t\t\"homeunix.net\",\n\t\t\"homeunix.org\",\n\t\t\"iamallama.com\",\n\t\t\"in-the-band.net\",\n\t\t\"is-a-anarchist.com\",\n\t\t\"is-a-blogger.com\",\n\t\t\"is-a-bookkeeper.com\",\n\t\t\"is-a-bruinsfan.org\",\n\t\t\"is-a-bulls-fan.com\",\n\t\t\"is-a-candidate.org\",\n\t\t\"is-a-caterer.com\",\n\t\t\"is-a-celticsfan.org\",\n\t\t\"is-a-chef.com\",\n\t\t\"is-a-chef.net\",\n\t\t\"is-a-chef.org\",\n\t\t\"is-a-conservative.com\",\n\t\t\"is-a-cpa.com\",\n\t\t\"is-a-cubicle-slave.com\",\n\t\t\"is-a-democrat.com\",\n\t\t\"is-a-designer.com\",\n\t\t\"is-a-doctor.com\",\n\t\t\"is-a-financialadvisor.com\",\n\t\t\"is-a-geek.com\",\n\t\t\"is-a-geek.net\",\n\t\t\"is-a-geek.org\",\n\t\t\"is-a-green.com\",\n\t\t\"is-a-guru.com\",\n\t\t\"is-a-hard-worker.com\",\n\t\t\"is-a-hunter.com\",\n\t\t\"is-a-knight.org\",\n\t\t\"is-a-landscaper.com\",\n\t\t\"is-a-lawyer.com\",\n\t\t\"is-a-liberal.com\",\n\t\t\"is-a-libertarian.com\",\n\t\t\"is-a-linux-user.org\",\n\t\t\"is-a-llama.com\",\n\t\t\"is-a-musician.com\",\n\t\t\"is-a-nascarfan.com\",\n\t\t\"is-a-nurse.com\",\n\t\t\"is-a-painter.com\",\n\t\t\"is-a-patsfan.org\",\n\t\t\"is-a-personaltrainer.com\",\n\t\t\"is-a-photographer.com\",\n\t\t\"is-a-player.com\",\n\t\t\"is-a-republican.com\",\n\t\t\"is-a-rockstar.com\",\n\t\t\"is-a-socialist.com\",\n\t\t\"is-a-soxfan.org\",\n\t\t\"is-a-student.com\",\n\t\t\"is-a-teacher.com\",\n\t\t\"is-a-techie.com\",\n\t\t\"is-a-therapist.com\",\n\t\t\"is-an-accountant.com\",\n\t\t\"is-an-actor.com\",\n\t\t\"is-an-actress.com\",\n\t\t\"is-an-anarchist.com\",\n\t\t\"is-an-artist.com\",\n\t\t\"is-an-engineer.com\",\n\t\t\"is-an-entertainer.com\",\n\t\t\"is-by.us\",\n\t\t\"is-certified.com\",\n\t\t\"is-found.org\",\n\t\t\"is-gone.com\",\n\t\t\"is-into-anime.com\",\n\t\t\"is-into-cars.com\",\n\t\t\"is-into-cartoons.com\",\n\t\t\"is-into-games.com\",\n\t\t\"is-leet.com\",\n\t\t\"is-lost.org\",\n\t\t\"is-not-certified.com\",\n\t\t\"is-saved.org\",\n\t\t\"is-slick.com\",\n\t\t\"is-uberleet.com\",\n\t\t\"is-very-bad.org\",\n\t\t\"is-very-evil.org\",\n\t\t\"is-very-good.org\",\n\t\t\"is-very-nice.org\",\n\t\t\"is-very-sweet.org\",\n\t\t\"is-with-theband.com\",\n\t\t\"isa-geek.com\",\n\t\t\"isa-geek.net\",\n\t\t\"isa-geek.org\",\n\t\t\"isa-hockeynut.com\",\n\t\t\"issmarterthanyou.com\",\n\t\t\"isteingeek.de\",\n\t\t\"istmein.de\",\n\t\t\"kicks-ass.net\",\n\t\t\"kicks-ass.org\",\n\t\t\"knowsitall.info\",\n\t\t\"land-4-sale.us\",\n\t\t\"lebtimnetz.de\",\n\t\t\"leitungsen.de\",\n\t\t\"likes-pie.com\",\n\t\t\"likescandy.com\",\n\t\t\"merseine.nu\",\n\t\t\"mine.nu\",\n\t\t\"misconfused.org\",\n\t\t\"mypets.ws\",\n\t\t\"myphotos.cc\",\n\t\t\"neat-url.com\",\n\t\t\"office-on-the.net\",\n\t\t\"on-the-web.tv\",\n\t\t\"podzone.net\",\n\t\t\"podzone.org\",\n\t\t\"readmyblog.org\",\n\t\t\"saves-the-whales.com\",\n\t\t\"scrapper-site.net\",\n\t\t\"scrapping.cc\",\n\t\t\"selfip.biz\",\n\t\t\"selfip.com\",\n\t\t\"selfip.info\",\n\t\t\"selfip.net\",\n\t\t\"selfip.org\",\n\t\t\"sells-for-less.com\",\n\t\t\"sells-for-u.com\",\n\t\t\"sells-it.net\",\n\t\t\"sellsyourhome.org\",\n\t\t\"servebbs.com\",\n\t\t\"servebbs.net\",\n\t\t\"servebbs.org\",\n\t\t\"serveftp.net\",\n\t\t\"serveftp.org\",\n\t\t\"servegame.org\",\n\t\t\"shacknet.nu\",\n\t\t\"simple-url.com\",\n\t\t\"space-to-rent.com\",\n\t\t\"stuff-4-sale.org\",\n\t\t\"stuff-4-sale.us\",\n\t\t\"teaches-yoga.com\",\n\t\t\"thruhere.net\",\n\t\t\"traeumtgerade.de\",\n\t\t\"webhop.biz\",\n\t\t\"webhop.info\",\n\t\t\"webhop.net\",\n\t\t\"webhop.org\",\n\t\t\"worse-than.tv\",\n\t\t\"writesthisblog.com\",\n\t\t\"ddnss.de\",\n\t\t\"dyn.ddnss.de\",\n\t\t\"dyndns.ddnss.de\",\n\t\t\"dyndns1.de\",\n\t\t\"dyn-ip24.de\",\n\t\t\"home-webserver.de\",\n\t\t\"dyn.home-webserver.de\",\n\t\t\"myhome-server.de\",\n\t\t\"ddnss.org\",\n\t\t\"definima.net\",\n\t\t\"definima.io\",\n\t\t\"ondigitalocean.app\",\n\t\t\"*.digitaloceanspaces.com\",\n\t\t\"bci.dnstrace.pro\",\n\t\t\"ddnsfree.com\",\n\t\t\"ddnsgeek.com\",\n\t\t\"giize.com\",\n\t\t\"gleeze.com\",\n\t\t\"kozow.com\",\n\t\t\"loseyourip.com\",\n\t\t\"ooguy.com\",\n\t\t\"theworkpc.com\",\n\t\t\"casacam.net\",\n\t\t\"dynu.net\",\n\t\t\"accesscam.org\",\n\t\t\"camdvr.org\",\n\t\t\"freeddns.org\",\n\t\t\"mywire.org\",\n\t\t\"webredirect.org\",\n\t\t\"myddns.rocks\",\n\t\t\"blogsite.xyz\",\n\t\t\"dynv6.net\",\n\t\t\"e4.cz\",\n\t\t\"eero.online\",\n\t\t\"eero-stage.online\",\n\t\t\"elementor.cloud\",\n\t\t\"elementor.cool\",\n\t\t\"en-root.fr\",\n\t\t\"mytuleap.com\",\n\t\t\"tuleap-partners.com\",\n\t\t\"encr.app\",\n\t\t\"encoreapi.com\",\n\t\t\"onred.one\",\n\t\t\"staging.onred.one\",\n\t\t\"eu.encoway.cloud\",\n\t\t\"eu.org\",\n\t\t\"al.eu.org\",\n\t\t\"asso.eu.org\",\n\t\t\"at.eu.org\",\n\t\t\"au.eu.org\",\n\t\t\"be.eu.org\",\n\t\t\"bg.eu.org\",\n\t\t\"ca.eu.org\",\n\t\t\"cd.eu.org\",\n\t\t\"ch.eu.org\",\n\t\t\"cn.eu.org\",\n\t\t\"cy.eu.org\",\n\t\t\"cz.eu.org\",\n\t\t\"de.eu.org\",\n\t\t\"dk.eu.org\",\n\t\t\"edu.eu.org\",\n\t\t\"ee.eu.org\",\n\t\t\"es.eu.org\",\n\t\t\"fi.eu.org\",\n\t\t\"fr.eu.org\",\n\t\t\"gr.eu.org\",\n\t\t\"hr.eu.org\",\n\t\t\"hu.eu.org\",\n\t\t\"ie.eu.org\",\n\t\t\"il.eu.org\",\n\t\t\"in.eu.org\",\n\t\t\"int.eu.org\",\n\t\t\"is.eu.org\",\n\t\t\"it.eu.org\",\n\t\t\"jp.eu.org\",\n\t\t\"kr.eu.org\",\n\t\t\"lt.eu.org\",\n\t\t\"lu.eu.org\",\n\t\t\"lv.eu.org\",\n\t\t\"mc.eu.org\",\n\t\t\"me.eu.org\",\n\t\t\"mk.eu.org\",\n\t\t\"mt.eu.org\",\n\t\t\"my.eu.org\",\n\t\t\"net.eu.org\",\n\t\t\"ng.eu.org\",\n\t\t\"nl.eu.org\",\n\t\t\"no.eu.org\",\n\t\t\"nz.eu.org\",\n\t\t\"paris.eu.org\",\n\t\t\"pl.eu.org\",\n\t\t\"pt.eu.org\",\n\t\t\"q-a.eu.org\",\n\t\t\"ro.eu.org\",\n\t\t\"ru.eu.org\",\n\t\t\"se.eu.org\",\n\t\t\"si.eu.org\",\n\t\t\"sk.eu.org\",\n\t\t\"tr.eu.org\",\n\t\t\"uk.eu.org\",\n\t\t\"us.eu.org\",\n\t\t\"eurodir.ru\",\n\t\t\"eu-1.evennode.com\",\n\t\t\"eu-2.evennode.com\",\n\t\t\"eu-3.evennode.com\",\n\t\t\"eu-4.evennode.com\",\n\t\t\"us-1.evennode.com\",\n\t\t\"us-2.evennode.com\",\n\t\t\"us-3.evennode.com\",\n\t\t\"us-4.evennode.com\",\n\t\t\"twmail.cc\",\n\t\t\"twmail.net\",\n\t\t\"twmail.org\",\n\t\t\"mymailer.com.tw\",\n\t\t\"url.tw\",\n\t\t\"onfabrica.com\",\n\t\t\"apps.fbsbx.com\",\n\t\t\"ru.net\",\n\t\t\"adygeya.ru\",\n\t\t\"bashkiria.ru\",\n\t\t\"bir.ru\",\n\t\t\"cbg.ru\",\n\t\t\"com.ru\",\n\t\t\"dagestan.ru\",\n\t\t\"grozny.ru\",\n\t\t\"kalmykia.ru\",\n\t\t\"kustanai.ru\",\n\t\t\"marine.ru\",\n\t\t\"mordovia.ru\",\n\t\t\"msk.ru\",\n\t\t\"mytis.ru\",\n\t\t\"nalchik.ru\",\n\t\t\"nov.ru\",\n\t\t\"pyatigorsk.ru\",\n\t\t\"spb.ru\",\n\t\t\"vladikavkaz.ru\",\n\t\t\"vladimir.ru\",\n\t\t\"abkhazia.su\",\n\t\t\"adygeya.su\",\n\t\t\"aktyubinsk.su\",\n\t\t\"arkhangelsk.su\",\n\t\t\"armenia.su\",\n\t\t\"ashgabad.su\",\n\t\t\"azerbaijan.su\",\n\t\t\"balashov.su\",\n\t\t\"bashkiria.su\",\n\t\t\"bryansk.su\",\n\t\t\"bukhara.su\",\n\t\t\"chimkent.su\",\n\t\t\"dagestan.su\",\n\t\t\"east-kazakhstan.su\",\n\t\t\"exnet.su\",\n\t\t\"georgia.su\",\n\t\t\"grozny.su\",\n\t\t\"ivanovo.su\",\n\t\t\"jambyl.su\",\n\t\t\"kalmykia.su\",\n\t\t\"kaluga.su\",\n\t\t\"karacol.su\",\n\t\t\"karaganda.su\",\n\t\t\"karelia.su\",\n\t\t\"khakassia.su\",\n\t\t\"krasnodar.su\",\n\t\t\"kurgan.su\",\n\t\t\"kustanai.su\",\n\t\t\"lenug.su\",\n\t\t\"mangyshlak.su\",\n\t\t\"mordovia.su\",\n\t\t\"msk.su\",\n\t\t\"murmansk.su\",\n\t\t\"nalchik.su\",\n\t\t\"navoi.su\",\n\t\t\"north-kazakhstan.su\",\n\t\t\"nov.su\",\n\t\t\"obninsk.su\",\n\t\t\"penza.su\",\n\t\t\"pokrovsk.su\",\n\t\t\"sochi.su\",\n\t\t\"spb.su\",\n\t\t\"tashkent.su\",\n\t\t\"termez.su\",\n\t\t\"togliatti.su\",\n\t\t\"troitsk.su\",\n\t\t\"tselinograd.su\",\n\t\t\"tula.su\",\n\t\t\"tuva.su\",\n\t\t\"vladikavkaz.su\",\n\t\t\"vladimir.su\",\n\t\t\"vologda.su\",\n\t\t\"channelsdvr.net\",\n\t\t\"u.channelsdvr.net\",\n\t\t\"edgecompute.app\",\n\t\t\"fastly-terrarium.com\",\n\t\t\"fastlylb.net\",\n\t\t\"map.fastlylb.net\",\n\t\t\"freetls.fastly.net\",\n\t\t\"map.fastly.net\",\n\t\t\"a.prod.fastly.net\",\n\t\t\"global.prod.fastly.net\",\n\t\t\"a.ssl.fastly.net\",\n\t\t\"b.ssl.fastly.net\",\n\t\t\"global.ssl.fastly.net\",\n\t\t\"fastvps-server.com\",\n\t\t\"fastvps.host\",\n\t\t\"myfast.host\",\n\t\t\"fastvps.site\",\n\t\t\"myfast.space\",\n\t\t\"fedorainfracloud.org\",\n\t\t\"fedorapeople.org\",\n\t\t\"cloud.fedoraproject.org\",\n\t\t\"app.os.fedoraproject.org\",\n\t\t\"app.os.stg.fedoraproject.org\",\n\t\t\"conn.uk\",\n\t\t\"copro.uk\",\n\t\t\"hosp.uk\",\n\t\t\"mydobiss.com\",\n\t\t\"fh-muenster.io\",\n\t\t\"filegear.me\",\n\t\t\"filegear-au.me\",\n\t\t\"filegear-de.me\",\n\t\t\"filegear-gb.me\",\n\t\t\"filegear-ie.me\",\n\t\t\"filegear-jp.me\",\n\t\t\"filegear-sg.me\",\n\t\t\"firebaseapp.com\",\n\t\t\"fireweb.app\",\n\t\t\"flap.id\",\n\t\t\"onflashdrive.app\",\n\t\t\"fldrv.com\",\n\t\t\"fly.dev\",\n\t\t\"edgeapp.net\",\n\t\t\"shw.io\",\n\t\t\"flynnhosting.net\",\n\t\t\"forgeblocks.com\",\n\t\t\"id.forgerock.io\",\n\t\t\"framer.app\",\n\t\t\"framercanvas.com\",\n\t\t\"*.frusky.de\",\n\t\t\"ravpage.co.il\",\n\t\t\"0e.vc\",\n\t\t\"freebox-os.com\",\n\t\t\"freeboxos.com\",\n\t\t\"fbx-os.fr\",\n\t\t\"fbxos.fr\",\n\t\t\"freebox-os.fr\",\n\t\t\"freeboxos.fr\",\n\t\t\"freedesktop.org\",\n\t\t\"freemyip.com\",\n\t\t\"wien.funkfeuer.at\",\n\t\t\"*.futurecms.at\",\n\t\t\"*.ex.futurecms.at\",\n\t\t\"*.in.futurecms.at\",\n\t\t\"futurehosting.at\",\n\t\t\"futuremailing.at\",\n\t\t\"*.ex.ortsinfo.at\",\n\t\t\"*.kunden.ortsinfo.at\",\n\t\t\"*.statics.cloud\",\n\t\t\"independent-commission.uk\",\n\t\t\"independent-inquest.uk\",\n\t\t\"independent-inquiry.uk\",\n\t\t\"independent-panel.uk\",\n\t\t\"independent-review.uk\",\n\t\t\"public-inquiry.uk\",\n\t\t\"royal-commission.uk\",\n\t\t\"campaign.gov.uk\",\n\t\t\"service.gov.uk\",\n\t\t\"api.gov.uk\",\n\t\t\"gehirn.ne.jp\",\n\t\t\"usercontent.jp\",\n\t\t\"gentapps.com\",\n\t\t\"gentlentapis.com\",\n\t\t\"lab.ms\",\n\t\t\"cdn-edges.net\",\n\t\t\"ghost.io\",\n\t\t\"gsj.bz\",\n\t\t\"githubusercontent.com\",\n\t\t\"githubpreview.dev\",\n\t\t\"github.io\",\n\t\t\"gitlab.io\",\n\t\t\"gitapp.si\",\n\t\t\"gitpage.si\",\n\t\t\"glitch.me\",\n\t\t\"nog.community\",\n\t\t\"co.ro\",\n\t\t\"shop.ro\",\n\t\t\"lolipop.io\",\n\t\t\"angry.jp\",\n\t\t\"babyblue.jp\",\n\t\t\"babymilk.jp\",\n\t\t\"backdrop.jp\",\n\t\t\"bambina.jp\",\n\t\t\"bitter.jp\",\n\t\t\"blush.jp\",\n\t\t\"boo.jp\",\n\t\t\"boy.jp\",\n\t\t\"boyfriend.jp\",\n\t\t\"but.jp\",\n\t\t\"candypop.jp\",\n\t\t\"capoo.jp\",\n\t\t\"catfood.jp\",\n\t\t\"cheap.jp\",\n\t\t\"chicappa.jp\",\n\t\t\"chillout.jp\",\n\t\t\"chips.jp\",\n\t\t\"chowder.jp\",\n\t\t\"chu.jp\",\n\t\t\"ciao.jp\",\n\t\t\"cocotte.jp\",\n\t\t\"coolblog.jp\",\n\t\t\"cranky.jp\",\n\t\t\"cutegirl.jp\",\n\t\t\"daa.jp\",\n\t\t\"deca.jp\",\n\t\t\"deci.jp\",\n\t\t\"digick.jp\",\n\t\t\"egoism.jp\",\n\t\t\"fakefur.jp\",\n\t\t\"fem.jp\",\n\t\t\"flier.jp\",\n\t\t\"floppy.jp\",\n\t\t\"fool.jp\",\n\t\t\"frenchkiss.jp\",\n\t\t\"girlfriend.jp\",\n\t\t\"girly.jp\",\n\t\t\"gloomy.jp\",\n\t\t\"gonna.jp\",\n\t\t\"greater.jp\",\n\t\t\"hacca.jp\",\n\t\t\"heavy.jp\",\n\t\t\"her.jp\",\n\t\t\"hiho.jp\",\n\t\t\"hippy.jp\",\n\t\t\"holy.jp\",\n\t\t\"hungry.jp\",\n\t\t\"icurus.jp\",\n\t\t\"itigo.jp\",\n\t\t\"jellybean.jp\",\n\t\t\"kikirara.jp\",\n\t\t\"kill.jp\",\n\t\t\"kilo.jp\",\n\t\t\"kuron.jp\",\n\t\t\"littlestar.jp\",\n\t\t\"lolipopmc.jp\",\n\t\t\"lolitapunk.jp\",\n\t\t\"lomo.jp\",\n\t\t\"lovepop.jp\",\n\t\t\"lovesick.jp\",\n\t\t\"main.jp\",\n\t\t\"mods.jp\",\n\t\t\"mond.jp\",\n\t\t\"mongolian.jp\",\n\t\t\"moo.jp\",\n\t\t\"namaste.jp\",\n\t\t\"nikita.jp\",\n\t\t\"nobushi.jp\",\n\t\t\"noor.jp\",\n\t\t\"oops.jp\",\n\t\t\"parallel.jp\",\n\t\t\"parasite.jp\",\n\t\t\"pecori.jp\",\n\t\t\"peewee.jp\",\n\t\t\"penne.jp\",\n\t\t\"pepper.jp\",\n\t\t\"perma.jp\",\n\t\t\"pigboat.jp\",\n\t\t\"pinoko.jp\",\n\t\t\"punyu.jp\",\n\t\t\"pupu.jp\",\n\t\t\"pussycat.jp\",\n\t\t\"pya.jp\",\n\t\t\"raindrop.jp\",\n\t\t\"readymade.jp\",\n\t\t\"sadist.jp\",\n\t\t\"schoolbus.jp\",\n\t\t\"secret.jp\",\n\t\t\"staba.jp\",\n\t\t\"stripper.jp\",\n\t\t\"sub.jp\",\n\t\t\"sunnyday.jp\",\n\t\t\"thick.jp\",\n\t\t\"tonkotsu.jp\",\n\t\t\"under.jp\",\n\t\t\"upper.jp\",\n\t\t\"velvet.jp\",\n\t\t\"verse.jp\",\n\t\t\"versus.jp\",\n\t\t\"vivian.jp\",\n\t\t\"watson.jp\",\n\t\t\"weblike.jp\",\n\t\t\"whitesnow.jp\",\n\t\t\"zombie.jp\",\n\t\t\"heteml.net\",\n\t\t\"cloudapps.digital\",\n\t\t\"london.cloudapps.digital\",\n\t\t\"pymnt.uk\",\n\t\t\"homeoffice.gov.uk\",\n\t\t\"ro.im\",\n\t\t\"goip.de\",\n\t\t\"run.app\",\n\t\t\"a.run.app\",\n\t\t\"web.app\",\n\t\t\"*.0emm.com\",\n\t\t\"appspot.com\",\n\t\t\"*.r.appspot.com\",\n\t\t\"codespot.com\",\n\t\t\"googleapis.com\",\n\t\t\"googlecode.com\",\n\t\t\"pagespeedmobilizer.com\",\n\t\t\"publishproxy.com\",\n\t\t\"withgoogle.com\",\n\t\t\"withyoutube.com\",\n\t\t\"*.gateway.dev\",\n\t\t\"cloud.goog\",\n\t\t\"translate.goog\",\n\t\t\"*.usercontent.goog\",\n\t\t\"cloudfunctions.net\",\n\t\t\"blogspot.ae\",\n\t\t\"blogspot.al\",\n\t\t\"blogspot.am\",\n\t\t\"blogspot.ba\",\n\t\t\"blogspot.be\",\n\t\t\"blogspot.bg\",\n\t\t\"blogspot.bj\",\n\t\t\"blogspot.ca\",\n\t\t\"blogspot.cf\",\n\t\t\"blogspot.ch\",\n\t\t\"blogspot.cl\",\n\t\t\"blogspot.co.at\",\n\t\t\"blogspot.co.id\",\n\t\t\"blogspot.co.il\",\n\t\t\"blogspot.co.ke\",\n\t\t\"blogspot.co.nz\",\n\t\t\"blogspot.co.uk\",\n\t\t\"blogspot.co.za\",\n\t\t\"blogspot.com\",\n\t\t\"blogspot.com.ar\",\n\t\t\"blogspot.com.au\",\n\t\t\"blogspot.com.br\",\n\t\t\"blogspot.com.by\",\n\t\t\"blogspot.com.co\",\n\t\t\"blogspot.com.cy\",\n\t\t\"blogspot.com.ee\",\n\t\t\"blogspot.com.eg\",\n\t\t\"blogspot.com.es\",\n\t\t\"blogspot.com.mt\",\n\t\t\"blogspot.com.ng\",\n\t\t\"blogspot.com.tr\",\n\t\t\"blogspot.com.uy\",\n\t\t\"blogspot.cv\",\n\t\t\"blogspot.cz\",\n\t\t\"blogspot.de\",\n\t\t\"blogspot.dk\",\n\t\t\"blogspot.fi\",\n\t\t\"blogspot.fr\",\n\t\t\"blogspot.gr\",\n\t\t\"blogspot.hk\",\n\t\t\"blogspot.hr\",\n\t\t\"blogspot.hu\",\n\t\t\"blogspot.ie\",\n\t\t\"blogspot.in\",\n\t\t\"blogspot.is\",\n\t\t\"blogspot.it\",\n\t\t\"blogspot.jp\",\n\t\t\"blogspot.kr\",\n\t\t\"blogspot.li\",\n\t\t\"blogspot.lt\",\n\t\t\"blogspot.lu\",\n\t\t\"blogspot.md\",\n\t\t\"blogspot.mk\",\n\t\t\"blogspot.mr\",\n\t\t\"blogspot.mx\",\n\t\t\"blogspot.my\",\n\t\t\"blogspot.nl\",\n\t\t\"blogspot.no\",\n\t\t\"blogspot.pe\",\n\t\t\"blogspot.pt\",\n\t\t\"blogspot.qa\",\n\t\t\"blogspot.re\",\n\t\t\"blogspot.ro\",\n\t\t\"blogspot.rs\",\n\t\t\"blogspot.ru\",\n\t\t\"blogspot.se\",\n\t\t\"blogspot.sg\",\n\t\t\"blogspot.si\",\n\t\t\"blogspot.sk\",\n\t\t\"blogspot.sn\",\n\t\t\"blogspot.td\",\n\t\t\"blogspot.tw\",\n\t\t\"blogspot.ug\",\n\t\t\"blogspot.vn\",\n\t\t\"goupile.fr\",\n\t\t\"gov.nl\",\n\t\t\"awsmppl.com\",\n\t\t\"günstigbestellen.de\",\n\t\t\"günstigliefern.de\",\n\t\t\"fin.ci\",\n\t\t\"free.hr\",\n\t\t\"caa.li\",\n\t\t\"ua.rs\",\n\t\t\"conf.se\",\n\t\t\"hs.zone\",\n\t\t\"hs.run\",\n\t\t\"hashbang.sh\",\n\t\t\"hasura.app\",\n\t\t\"hasura-app.io\",\n\t\t\"pages.it.hs-heilbronn.de\",\n\t\t\"hepforge.org\",\n\t\t\"herokuapp.com\",\n\t\t\"herokussl.com\",\n\t\t\"ravendb.cloud\",\n\t\t\"myravendb.com\",\n\t\t\"ravendb.community\",\n\t\t\"ravendb.me\",\n\t\t\"development.run\",\n\t\t\"ravendb.run\",\n\t\t\"homesklep.pl\",\n\t\t\"secaas.hk\",\n\t\t\"hoplix.shop\",\n\t\t\"orx.biz\",\n\t\t\"biz.gl\",\n\t\t\"col.ng\",\n\t\t\"firm.ng\",\n\t\t\"gen.ng\",\n\t\t\"ltd.ng\",\n\t\t\"ngo.ng\",\n\t\t\"edu.scot\",\n\t\t\"sch.so\",\n\t\t\"hostyhosting.io\",\n\t\t\"häkkinen.fi\",\n\t\t\"*.moonscale.io\",\n\t\t\"moonscale.net\",\n\t\t\"iki.fi\",\n\t\t\"ibxos.it\",\n\t\t\"iliadboxos.it\",\n\t\t\"impertrixcdn.com\",\n\t\t\"impertrix.com\",\n\t\t\"smushcdn.com\",\n\t\t\"wphostedmail.com\",\n\t\t\"wpmucdn.com\",\n\t\t\"tempurl.host\",\n\t\t\"wpmudev.host\",\n\t\t\"dyn-berlin.de\",\n\t\t\"in-berlin.de\",\n\t\t\"in-brb.de\",\n\t\t\"in-butter.de\",\n\t\t\"in-dsl.de\",\n\t\t\"in-dsl.net\",\n\t\t\"in-dsl.org\",\n\t\t\"in-vpn.de\",\n\t\t\"in-vpn.net\",\n\t\t\"in-vpn.org\",\n\t\t\"biz.at\",\n\t\t\"info.at\",\n\t\t\"info.cx\",\n\t\t\"ac.leg.br\",\n\t\t\"al.leg.br\",\n\t\t\"am.leg.br\",\n\t\t\"ap.leg.br\",\n\t\t\"ba.leg.br\",\n\t\t\"ce.leg.br\",\n\t\t\"df.leg.br\",\n\t\t\"es.leg.br\",\n\t\t\"go.leg.br\",\n\t\t\"ma.leg.br\",\n\t\t\"mg.leg.br\",\n\t\t\"ms.leg.br\",\n\t\t\"mt.leg.br\",\n\t\t\"pa.leg.br\",\n\t\t\"pb.leg.br\",\n\t\t\"pe.leg.br\",\n\t\t\"pi.leg.br\",\n\t\t\"pr.leg.br\",\n\t\t\"rj.leg.br\",\n\t\t\"rn.leg.br\",\n\t\t\"ro.leg.br\",\n\t\t\"rr.leg.br\",\n\t\t\"rs.leg.br\",\n\t\t\"sc.leg.br\",\n\t\t\"se.leg.br\",\n\t\t\"sp.leg.br\",\n\t\t\"to.leg.br\",\n\t\t\"pixolino.com\",\n\t\t\"na4u.ru\",\n\t\t\"iopsys.se\",\n\t\t\"ipifony.net\",\n\t\t\"iservschule.de\",\n\t\t\"mein-iserv.de\",\n\t\t\"schulplattform.de\",\n\t\t\"schulserver.de\",\n\t\t\"test-iserv.de\",\n\t\t\"iserv.dev\",\n\t\t\"iobb.net\",\n\t\t\"mel.cloudlets.com.au\",\n\t\t\"cloud.interhostsolutions.be\",\n\t\t\"users.scale.virtualcloud.com.br\",\n\t\t\"mycloud.by\",\n\t\t\"alp1.ae.flow.ch\",\n\t\t\"appengine.flow.ch\",\n\t\t\"es-1.axarnet.cloud\",\n\t\t\"diadem.cloud\",\n\t\t\"vip.jelastic.cloud\",\n\t\t\"jele.cloud\",\n\t\t\"it1.eur.aruba.jenv-aruba.cloud\",\n\t\t\"it1.jenv-aruba.cloud\",\n\t\t\"keliweb.cloud\",\n\t\t\"cs.keliweb.cloud\",\n\t\t\"oxa.cloud\",\n\t\t\"tn.oxa.cloud\",\n\t\t\"uk.oxa.cloud\",\n\t\t\"primetel.cloud\",\n\t\t\"uk.primetel.cloud\",\n\t\t\"ca.reclaim.cloud\",\n\t\t\"uk.reclaim.cloud\",\n\t\t\"us.reclaim.cloud\",\n\t\t\"ch.trendhosting.cloud\",\n\t\t\"de.trendhosting.cloud\",\n\t\t\"jele.club\",\n\t\t\"amscompute.com\",\n\t\t\"clicketcloud.com\",\n\t\t\"dopaas.com\",\n\t\t\"hidora.com\",\n\t\t\"paas.hosted-by-previder.com\",\n\t\t\"rag-cloud.hosteur.com\",\n\t\t\"rag-cloud-ch.hosteur.com\",\n\t\t\"jcloud.ik-server.com\",\n\t\t\"jcloud-ver-jpc.ik-server.com\",\n\t\t\"demo.jelastic.com\",\n\t\t\"kilatiron.com\",\n\t\t\"paas.massivegrid.com\",\n\t\t\"jed.wafaicloud.com\",\n\t\t\"lon.wafaicloud.com\",\n\t\t\"ryd.wafaicloud.com\",\n\t\t\"j.scaleforce.com.cy\",\n\t\t\"jelastic.dogado.eu\",\n\t\t\"fi.cloudplatform.fi\",\n\t\t\"demo.datacenter.fi\",\n\t\t\"paas.datacenter.fi\",\n\t\t\"jele.host\",\n\t\t\"mircloud.host\",\n\t\t\"paas.beebyte.io\",\n\t\t\"sekd1.beebyteapp.io\",\n\t\t\"jele.io\",\n\t\t\"cloud-fr1.unispace.io\",\n\t\t\"jc.neen.it\",\n\t\t\"cloud.jelastic.open.tim.it\",\n\t\t\"jcloud.kz\",\n\t\t\"upaas.kazteleport.kz\",\n\t\t\"cloudjiffy.net\",\n\t\t\"fra1-de.cloudjiffy.net\",\n\t\t\"west1-us.cloudjiffy.net\",\n\t\t\"jls-sto1.elastx.net\",\n\t\t\"jls-sto2.elastx.net\",\n\t\t\"jls-sto3.elastx.net\",\n\t\t\"faststacks.net\",\n\t\t\"fr-1.paas.massivegrid.net\",\n\t\t\"lon-1.paas.massivegrid.net\",\n\t\t\"lon-2.paas.massivegrid.net\",\n\t\t\"ny-1.paas.massivegrid.net\",\n\t\t\"ny-2.paas.massivegrid.net\",\n\t\t\"sg-1.paas.massivegrid.net\",\n\t\t\"jelastic.saveincloud.net\",\n\t\t\"nordeste-idc.saveincloud.net\",\n\t\t\"j.scaleforce.net\",\n\t\t\"jelastic.tsukaeru.net\",\n\t\t\"sdscloud.pl\",\n\t\t\"unicloud.pl\",\n\t\t\"mircloud.ru\",\n\t\t\"jelastic.regruhosting.ru\",\n\t\t\"enscaled.sg\",\n\t\t\"jele.site\",\n\t\t\"jelastic.team\",\n\t\t\"orangecloud.tn\",\n\t\t\"j.layershift.co.uk\",\n\t\t\"phx.enscaled.us\",\n\t\t\"mircloud.us\",\n\t\t\"myjino.ru\",\n\t\t\"*.hosting.myjino.ru\",\n\t\t\"*.landing.myjino.ru\",\n\t\t\"*.spectrum.myjino.ru\",\n\t\t\"*.vps.myjino.ru\",\n\t\t\"jotelulu.cloud\",\n\t\t\"*.triton.zone\",\n\t\t\"*.cns.joyent.com\",\n\t\t\"js.org\",\n\t\t\"kaas.gg\",\n\t\t\"khplay.nl\",\n\t\t\"ktistory.com\",\n\t\t\"kapsi.fi\",\n\t\t\"keymachine.de\",\n\t\t\"kinghost.net\",\n\t\t\"uni5.net\",\n\t\t\"knightpoint.systems\",\n\t\t\"koobin.events\",\n\t\t\"oya.to\",\n\t\t\"kuleuven.cloud\",\n\t\t\"ezproxy.kuleuven.be\",\n\t\t\"co.krd\",\n\t\t\"edu.krd\",\n\t\t\"krellian.net\",\n\t\t\"webthings.io\",\n\t\t\"git-repos.de\",\n\t\t\"lcube-server.de\",\n\t\t\"svn-repos.de\",\n\t\t\"leadpages.co\",\n\t\t\"lpages.co\",\n\t\t\"lpusercontent.com\",\n\t\t\"lelux.site\",\n\t\t\"co.business\",\n\t\t\"co.education\",\n\t\t\"co.events\",\n\t\t\"co.financial\",\n\t\t\"co.network\",\n\t\t\"co.place\",\n\t\t\"co.technology\",\n\t\t\"app.lmpm.com\",\n\t\t\"linkyard.cloud\",\n\t\t\"linkyard-cloud.ch\",\n\t\t\"members.linode.com\",\n\t\t\"*.nodebalancer.linode.com\",\n\t\t\"*.linodeobjects.com\",\n\t\t\"ip.linodeusercontent.com\",\n\t\t\"we.bs\",\n\t\t\"*.user.localcert.dev\",\n\t\t\"localzone.xyz\",\n\t\t\"loginline.app\",\n\t\t\"loginline.dev\",\n\t\t\"loginline.io\",\n\t\t\"loginline.services\",\n\t\t\"loginline.site\",\n\t\t\"servers.run\",\n\t\t\"lohmus.me\",\n\t\t\"krasnik.pl\",\n\t\t\"leczna.pl\",\n\t\t\"lubartow.pl\",\n\t\t\"lublin.pl\",\n\t\t\"poniatowa.pl\",\n\t\t\"swidnik.pl\",\n\t\t\"glug.org.uk\",\n\t\t\"lug.org.uk\",\n\t\t\"lugs.org.uk\",\n\t\t\"barsy.bg\",\n\t\t\"barsy.co.uk\",\n\t\t\"barsyonline.co.uk\",\n\t\t\"barsycenter.com\",\n\t\t\"barsyonline.com\",\n\t\t\"barsy.club\",\n\t\t\"barsy.de\",\n\t\t\"barsy.eu\",\n\t\t\"barsy.in\",\n\t\t\"barsy.info\",\n\t\t\"barsy.io\",\n\t\t\"barsy.me\",\n\t\t\"barsy.menu\",\n\t\t\"barsy.mobi\",\n\t\t\"barsy.net\",\n\t\t\"barsy.online\",\n\t\t\"barsy.org\",\n\t\t\"barsy.pro\",\n\t\t\"barsy.pub\",\n\t\t\"barsy.ro\",\n\t\t\"barsy.shop\",\n\t\t\"barsy.site\",\n\t\t\"barsy.support\",\n\t\t\"barsy.uk\",\n\t\t\"*.magentosite.cloud\",\n\t\t\"mayfirst.info\",\n\t\t\"mayfirst.org\",\n\t\t\"hb.cldmail.ru\",\n\t\t\"cn.vu\",\n\t\t\"mazeplay.com\",\n\t\t\"mcpe.me\",\n\t\t\"mcdir.me\",\n\t\t\"mcdir.ru\",\n\t\t\"mcpre.ru\",\n\t\t\"vps.mcdir.ru\",\n\t\t\"mediatech.by\",\n\t\t\"mediatech.dev\",\n\t\t\"hra.health\",\n\t\t\"miniserver.com\",\n\t\t\"memset.net\",\n\t\t\"messerli.app\",\n\t\t\"*.cloud.metacentrum.cz\",\n\t\t\"custom.metacentrum.cz\",\n\t\t\"flt.cloud.muni.cz\",\n\t\t\"usr.cloud.muni.cz\",\n\t\t\"meteorapp.com\",\n\t\t\"eu.meteorapp.com\",\n\t\t\"co.pl\",\n\t\t\"*.azurecontainer.io\",\n\t\t\"azurewebsites.net\",\n\t\t\"azure-mobile.net\",\n\t\t\"cloudapp.net\",\n\t\t\"azurestaticapps.net\",\n\t\t\"1.azurestaticapps.net\",\n\t\t\"centralus.azurestaticapps.net\",\n\t\t\"eastasia.azurestaticapps.net\",\n\t\t\"eastus2.azurestaticapps.net\",\n\t\t\"westeurope.azurestaticapps.net\",\n\t\t\"westus2.azurestaticapps.net\",\n\t\t\"csx.cc\",\n\t\t\"mintere.site\",\n\t\t\"forte.id\",\n\t\t\"mozilla-iot.org\",\n\t\t\"bmoattachments.org\",\n\t\t\"net.ru\",\n\t\t\"org.ru\",\n\t\t\"pp.ru\",\n\t\t\"hostedpi.com\",\n\t\t\"customer.mythic-beasts.com\",\n\t\t\"caracal.mythic-beasts.com\",\n\t\t\"fentiger.mythic-beasts.com\",\n\t\t\"lynx.mythic-beasts.com\",\n\t\t\"ocelot.mythic-beasts.com\",\n\t\t\"oncilla.mythic-beasts.com\",\n\t\t\"onza.mythic-beasts.com\",\n\t\t\"sphinx.mythic-beasts.com\",\n\t\t\"vs.mythic-beasts.com\",\n\t\t\"x.mythic-beasts.com\",\n\t\t\"yali.mythic-beasts.com\",\n\t\t\"cust.retrosnub.co.uk\",\n\t\t\"ui.nabu.casa\",\n\t\t\"pony.club\",\n\t\t\"of.fashion\",\n\t\t\"in.london\",\n\t\t\"of.london\",\n\t\t\"from.marketing\",\n\t\t\"with.marketing\",\n\t\t\"for.men\",\n\t\t\"repair.men\",\n\t\t\"and.mom\",\n\t\t\"for.mom\",\n\t\t\"for.one\",\n\t\t\"under.one\",\n\t\t\"for.sale\",\n\t\t\"that.win\",\n\t\t\"from.work\",\n\t\t\"to.work\",\n\t\t\"cloud.nospamproxy.com\",\n\t\t\"netlify.app\",\n\t\t\"4u.com\",\n\t\t\"ngrok.io\",\n\t\t\"nh-serv.co.uk\",\n\t\t\"nfshost.com\",\n\t\t\"*.developer.app\",\n\t\t\"noop.app\",\n\t\t\"*.northflank.app\",\n\t\t\"*.build.run\",\n\t\t\"*.code.run\",\n\t\t\"*.database.run\",\n\t\t\"*.migration.run\",\n\t\t\"noticeable.news\",\n\t\t\"dnsking.ch\",\n\t\t\"mypi.co\",\n\t\t\"n4t.co\",\n\t\t\"001www.com\",\n\t\t\"ddnslive.com\",\n\t\t\"myiphost.com\",\n\t\t\"forumz.info\",\n\t\t\"16-b.it\",\n\t\t\"32-b.it\",\n\t\t\"64-b.it\",\n\t\t\"soundcast.me\",\n\t\t\"tcp4.me\",\n\t\t\"dnsup.net\",\n\t\t\"hicam.net\",\n\t\t\"now-dns.net\",\n\t\t\"ownip.net\",\n\t\t\"vpndns.net\",\n\t\t\"dynserv.org\",\n\t\t\"now-dns.org\",\n\t\t\"x443.pw\",\n\t\t\"now-dns.top\",\n\t\t\"ntdll.top\",\n\t\t\"freeddns.us\",\n\t\t\"crafting.xyz\",\n\t\t\"zapto.xyz\",\n\t\t\"nsupdate.info\",\n\t\t\"nerdpol.ovh\",\n\t\t\"blogsyte.com\",\n\t\t\"brasilia.me\",\n\t\t\"cable-modem.org\",\n\t\t\"ciscofreak.com\",\n\t\t\"collegefan.org\",\n\t\t\"couchpotatofries.org\",\n\t\t\"damnserver.com\",\n\t\t\"ddns.me\",\n\t\t\"ditchyourip.com\",\n\t\t\"dnsfor.me\",\n\t\t\"dnsiskinky.com\",\n\t\t\"dvrcam.info\",\n\t\t\"dynns.com\",\n\t\t\"eating-organic.net\",\n\t\t\"fantasyleague.cc\",\n\t\t\"geekgalaxy.com\",\n\t\t\"golffan.us\",\n\t\t\"health-carereform.com\",\n\t\t\"homesecuritymac.com\",\n\t\t\"homesecuritypc.com\",\n\t\t\"hopto.me\",\n\t\t\"ilovecollege.info\",\n\t\t\"loginto.me\",\n\t\t\"mlbfan.org\",\n\t\t\"mmafan.biz\",\n\t\t\"myactivedirectory.com\",\n\t\t\"mydissent.net\",\n\t\t\"myeffect.net\",\n\t\t\"mymediapc.net\",\n\t\t\"mypsx.net\",\n\t\t\"mysecuritycamera.com\",\n\t\t\"mysecuritycamera.net\",\n\t\t\"mysecuritycamera.org\",\n\t\t\"net-freaks.com\",\n\t\t\"nflfan.org\",\n\t\t\"nhlfan.net\",\n\t\t\"no-ip.ca\",\n\t\t\"no-ip.co.uk\",\n\t\t\"no-ip.net\",\n\t\t\"noip.us\",\n\t\t\"onthewifi.com\",\n\t\t\"pgafan.net\",\n\t\t\"point2this.com\",\n\t\t\"pointto.us\",\n\t\t\"privatizehealthinsurance.net\",\n\t\t\"quicksytes.com\",\n\t\t\"read-books.org\",\n\t\t\"securitytactics.com\",\n\t\t\"serveexchange.com\",\n\t\t\"servehumour.com\",\n\t\t\"servep2p.com\",\n\t\t\"servesarcasm.com\",\n\t\t\"stufftoread.com\",\n\t\t\"ufcfan.org\",\n\t\t\"unusualperson.com\",\n\t\t\"workisboring.com\",\n\t\t\"3utilities.com\",\n\t\t\"bounceme.net\",\n\t\t\"ddns.net\",\n\t\t\"ddnsking.com\",\n\t\t\"gotdns.ch\",\n\t\t\"hopto.org\",\n\t\t\"myftp.biz\",\n\t\t\"myftp.org\",\n\t\t\"myvnc.com\",\n\t\t\"no-ip.biz\",\n\t\t\"no-ip.info\",\n\t\t\"no-ip.org\",\n\t\t\"noip.me\",\n\t\t\"redirectme.net\",\n\t\t\"servebeer.com\",\n\t\t\"serveblog.net\",\n\t\t\"servecounterstrike.com\",\n\t\t\"serveftp.com\",\n\t\t\"servegame.com\",\n\t\t\"servehalflife.com\",\n\t\t\"servehttp.com\",\n\t\t\"serveirc.com\",\n\t\t\"serveminecraft.net\",\n\t\t\"servemp3.com\",\n\t\t\"servepics.com\",\n\t\t\"servequake.com\",\n\t\t\"sytes.net\",\n\t\t\"webhop.me\",\n\t\t\"zapto.org\",\n\t\t\"stage.nodeart.io\",\n\t\t\"pcloud.host\",\n\t\t\"nyc.mn\",\n\t\t\"static.observableusercontent.com\",\n\t\t\"cya.gg\",\n\t\t\"omg.lol\",\n\t\t\"cloudycluster.net\",\n\t\t\"omniwe.site\",\n\t\t\"service.one\",\n\t\t\"nid.io\",\n\t\t\"opensocial.site\",\n\t\t\"opencraft.hosting\",\n\t\t\"orsites.com\",\n\t\t\"operaunite.com\",\n\t\t\"tech.orange\",\n\t\t\"authgear-staging.com\",\n\t\t\"authgearapps.com\",\n\t\t\"skygearapp.com\",\n\t\t\"outsystemscloud.com\",\n\t\t\"*.webpaas.ovh.net\",\n\t\t\"*.hosting.ovh.net\",\n\t\t\"ownprovider.com\",\n\t\t\"own.pm\",\n\t\t\"*.owo.codes\",\n\t\t\"ox.rs\",\n\t\t\"oy.lc\",\n\t\t\"pgfog.com\",\n\t\t\"pagefrontapp.com\",\n\t\t\"pagexl.com\",\n\t\t\"*.paywhirl.com\",\n\t\t\"bar0.net\",\n\t\t\"bar1.net\",\n\t\t\"bar2.net\",\n\t\t\"rdv.to\",\n\t\t\"art.pl\",\n\t\t\"gliwice.pl\",\n\t\t\"krakow.pl\",\n\t\t\"poznan.pl\",\n\t\t\"wroc.pl\",\n\t\t\"zakopane.pl\",\n\t\t\"pantheonsite.io\",\n\t\t\"gotpantheon.com\",\n\t\t\"mypep.link\",\n\t\t\"perspecta.cloud\",\n\t\t\"lk3.ru\",\n\t\t\"on-web.fr\",\n\t\t\"bc.platform.sh\",\n\t\t\"ent.platform.sh\",\n\t\t\"eu.platform.sh\",\n\t\t\"us.platform.sh\",\n\t\t\"*.platformsh.site\",\n\t\t\"*.tst.site\",\n\t\t\"platter-app.com\",\n\t\t\"platter-app.dev\",\n\t\t\"platterp.us\",\n\t\t\"pdns.page\",\n\t\t\"plesk.page\",\n\t\t\"pleskns.com\",\n\t\t\"dyn53.io\",\n\t\t\"onporter.run\",\n\t\t\"co.bn\",\n\t\t\"postman-echo.com\",\n\t\t\"pstmn.io\",\n\t\t\"mock.pstmn.io\",\n\t\t\"httpbin.org\",\n\t\t\"prequalifyme.today\",\n\t\t\"xen.prgmr.com\",\n\t\t\"priv.at\",\n\t\t\"prvcy.page\",\n\t\t\"*.dweb.link\",\n\t\t\"protonet.io\",\n\t\t\"chirurgiens-dentistes-en-france.fr\",\n\t\t\"byen.site\",\n\t\t\"pubtls.org\",\n\t\t\"pythonanywhere.com\",\n\t\t\"eu.pythonanywhere.com\",\n\t\t\"qoto.io\",\n\t\t\"qualifioapp.com\",\n\t\t\"qbuser.com\",\n\t\t\"cloudsite.builders\",\n\t\t\"instances.spawn.cc\",\n\t\t\"instantcloud.cn\",\n\t\t\"ras.ru\",\n\t\t\"qa2.com\",\n\t\t\"qcx.io\",\n\t\t\"*.sys.qcx.io\",\n\t\t\"dev-myqnapcloud.com\",\n\t\t\"alpha-myqnapcloud.com\",\n\t\t\"myqnapcloud.com\",\n\t\t\"*.quipelements.com\",\n\t\t\"vapor.cloud\",\n\t\t\"vaporcloud.io\",\n\t\t\"rackmaze.com\",\n\t\t\"rackmaze.net\",\n\t\t\"g.vbrplsbx.io\",\n\t\t\"*.on-k3s.io\",\n\t\t\"*.on-rancher.cloud\",\n\t\t\"*.on-rio.io\",\n\t\t\"readthedocs.io\",\n\t\t\"rhcloud.com\",\n\t\t\"app.render.com\",\n\t\t\"onrender.com\",\n\t\t\"repl.co\",\n\t\t\"id.repl.co\",\n\t\t\"repl.run\",\n\t\t\"resindevice.io\",\n\t\t\"devices.resinstaging.io\",\n\t\t\"hzc.io\",\n\t\t\"wellbeingzone.eu\",\n\t\t\"wellbeingzone.co.uk\",\n\t\t\"adimo.co.uk\",\n\t\t\"itcouldbewor.se\",\n\t\t\"git-pages.rit.edu\",\n\t\t\"rocky.page\",\n\t\t\"биз.рус\",\n\t\t\"ком.рус\",\n\t\t\"крым.рус\",\n\t\t\"мир.рус\",\n\t\t\"мск.рус\",\n\t\t\"орг.рус\",\n\t\t\"самара.рус\",\n\t\t\"сочи.рус\",\n\t\t\"спб.рус\",\n\t\t\"я.рус\",\n\t\t\"*.builder.code.com\",\n\t\t\"*.dev-builder.code.com\",\n\t\t\"*.stg-builder.code.com\",\n\t\t\"sandcats.io\",\n\t\t\"logoip.de\",\n\t\t\"logoip.com\",\n\t\t\"fr-par-1.baremetal.scw.cloud\",\n\t\t\"fr-par-2.baremetal.scw.cloud\",\n\t\t\"nl-ams-1.baremetal.scw.cloud\",\n\t\t\"fnc.fr-par.scw.cloud\",\n\t\t\"functions.fnc.fr-par.scw.cloud\",\n\t\t\"k8s.fr-par.scw.cloud\",\n\t\t\"nodes.k8s.fr-par.scw.cloud\",\n\t\t\"s3.fr-par.scw.cloud\",\n\t\t\"s3-website.fr-par.scw.cloud\",\n\t\t\"whm.fr-par.scw.cloud\",\n\t\t\"priv.instances.scw.cloud\",\n\t\t\"pub.instances.scw.cloud\",\n\t\t\"k8s.scw.cloud\",\n\t\t\"k8s.nl-ams.scw.cloud\",\n\t\t\"nodes.k8s.nl-ams.scw.cloud\",\n\t\t\"s3.nl-ams.scw.cloud\",\n\t\t\"s3-website.nl-ams.scw.cloud\",\n\t\t\"whm.nl-ams.scw.cloud\",\n\t\t\"k8s.pl-waw.scw.cloud\",\n\t\t\"nodes.k8s.pl-waw.scw.cloud\",\n\t\t\"s3.pl-waw.scw.cloud\",\n\t\t\"s3-website.pl-waw.scw.cloud\",\n\t\t\"scalebook.scw.cloud\",\n\t\t\"smartlabeling.scw.cloud\",\n\t\t\"dedibox.fr\",\n\t\t\"schokokeks.net\",\n\t\t\"gov.scot\",\n\t\t\"service.gov.scot\",\n\t\t\"scrysec.com\",\n\t\t\"firewall-gateway.com\",\n\t\t\"firewall-gateway.de\",\n\t\t\"my-gateway.de\",\n\t\t\"my-router.de\",\n\t\t\"spdns.de\",\n\t\t\"spdns.eu\",\n\t\t\"firewall-gateway.net\",\n\t\t\"my-firewall.org\",\n\t\t\"myfirewall.org\",\n\t\t\"spdns.org\",\n\t\t\"seidat.net\",\n\t\t\"sellfy.store\",\n\t\t\"senseering.net\",\n\t\t\"minisite.ms\",\n\t\t\"magnet.page\",\n\t\t\"biz.ua\",\n\t\t\"co.ua\",\n\t\t\"pp.ua\",\n\t\t\"shiftcrypto.dev\",\n\t\t\"shiftcrypto.io\",\n\t\t\"shiftedit.io\",\n\t\t\"myshopblocks.com\",\n\t\t\"myshopify.com\",\n\t\t\"shopitsite.com\",\n\t\t\"shopware.store\",\n\t\t\"mo-siemens.io\",\n\t\t\"1kapp.com\",\n\t\t\"appchizi.com\",\n\t\t\"applinzi.com\",\n\t\t\"sinaapp.com\",\n\t\t\"vipsinaapp.com\",\n\t\t\"siteleaf.net\",\n\t\t\"bounty-full.com\",\n\t\t\"alpha.bounty-full.com\",\n\t\t\"beta.bounty-full.com\",\n\t\t\"small-web.org\",\n\t\t\"vp4.me\",\n\t\t\"try-snowplow.com\",\n\t\t\"srht.site\",\n\t\t\"stackhero-network.com\",\n\t\t\"musician.io\",\n\t\t\"novecore.site\",\n\t\t\"static.land\",\n\t\t\"dev.static.land\",\n\t\t\"sites.static.land\",\n\t\t\"storebase.store\",\n\t\t\"vps-host.net\",\n\t\t\"atl.jelastic.vps-host.net\",\n\t\t\"njs.jelastic.vps-host.net\",\n\t\t\"ric.jelastic.vps-host.net\",\n\t\t\"playstation-cloud.com\",\n\t\t\"apps.lair.io\",\n\t\t\"*.stolos.io\",\n\t\t\"spacekit.io\",\n\t\t\"customer.speedpartner.de\",\n\t\t\"myspreadshop.at\",\n\t\t\"myspreadshop.com.au\",\n\t\t\"myspreadshop.be\",\n\t\t\"myspreadshop.ca\",\n\t\t\"myspreadshop.ch\",\n\t\t\"myspreadshop.com\",\n\t\t\"myspreadshop.de\",\n\t\t\"myspreadshop.dk\",\n\t\t\"myspreadshop.es\",\n\t\t\"myspreadshop.fi\",\n\t\t\"myspreadshop.fr\",\n\t\t\"myspreadshop.ie\",\n\t\t\"myspreadshop.it\",\n\t\t\"myspreadshop.net\",\n\t\t\"myspreadshop.nl\",\n\t\t\"myspreadshop.no\",\n\t\t\"myspreadshop.pl\",\n\t\t\"myspreadshop.se\",\n\t\t\"myspreadshop.co.uk\",\n\t\t\"api.stdlib.com\",\n\t\t\"storj.farm\",\n\t\t\"utwente.io\",\n\t\t\"soc.srcf.net\",\n\t\t\"user.srcf.net\",\n\t\t\"temp-dns.com\",\n\t\t\"supabase.co\",\n\t\t\"supabase.in\",\n\t\t\"supabase.net\",\n\t\t\"su.paba.se\",\n\t\t\"*.s5y.io\",\n\t\t\"*.sensiosite.cloud\",\n\t\t\"syncloud.it\",\n\t\t\"dscloud.biz\",\n\t\t\"direct.quickconnect.cn\",\n\t\t\"dsmynas.com\",\n\t\t\"familyds.com\",\n\t\t\"diskstation.me\",\n\t\t\"dscloud.me\",\n\t\t\"i234.me\",\n\t\t\"myds.me\",\n\t\t\"synology.me\",\n\t\t\"dscloud.mobi\",\n\t\t\"dsmynas.net\",\n\t\t\"familyds.net\",\n\t\t\"dsmynas.org\",\n\t\t\"familyds.org\",\n\t\t\"vpnplus.to\",\n\t\t\"direct.quickconnect.to\",\n\t\t\"tabitorder.co.il\",\n\t\t\"taifun-dns.de\",\n\t\t\"beta.tailscale.net\",\n\t\t\"ts.net\",\n\t\t\"gda.pl\",\n\t\t\"gdansk.pl\",\n\t\t\"gdynia.pl\",\n\t\t\"med.pl\",\n\t\t\"sopot.pl\",\n\t\t\"site.tb-hosting.com\",\n\t\t\"edugit.io\",\n\t\t\"s3.teckids.org\",\n\t\t\"telebit.app\",\n\t\t\"telebit.io\",\n\t\t\"*.telebit.xyz\",\n\t\t\"gwiddle.co.uk\",\n\t\t\"*.firenet.ch\",\n\t\t\"*.svc.firenet.ch\",\n\t\t\"reservd.com\",\n\t\t\"thingdustdata.com\",\n\t\t\"cust.dev.thingdust.io\",\n\t\t\"cust.disrec.thingdust.io\",\n\t\t\"cust.prod.thingdust.io\",\n\t\t\"cust.testing.thingdust.io\",\n\t\t\"reservd.dev.thingdust.io\",\n\t\t\"reservd.disrec.thingdust.io\",\n\t\t\"reservd.testing.thingdust.io\",\n\t\t\"tickets.io\",\n\t\t\"arvo.network\",\n\t\t\"azimuth.network\",\n\t\t\"tlon.network\",\n\t\t\"torproject.net\",\n\t\t\"pages.torproject.net\",\n\t\t\"bloxcms.com\",\n\t\t\"townnews-staging.com\",\n\t\t\"tbits.me\",\n\t\t\"12hp.at\",\n\t\t\"2ix.at\",\n\t\t\"4lima.at\",\n\t\t\"lima-city.at\",\n\t\t\"12hp.ch\",\n\t\t\"2ix.ch\",\n\t\t\"4lima.ch\",\n\t\t\"lima-city.ch\",\n\t\t\"trafficplex.cloud\",\n\t\t\"de.cool\",\n\t\t\"12hp.de\",\n\t\t\"2ix.de\",\n\t\t\"4lima.de\",\n\t\t\"lima-city.de\",\n\t\t\"1337.pictures\",\n\t\t\"clan.rip\",\n\t\t\"lima-city.rocks\",\n\t\t\"webspace.rocks\",\n\t\t\"lima.zone\",\n\t\t\"*.transurl.be\",\n\t\t\"*.transurl.eu\",\n\t\t\"*.transurl.nl\",\n\t\t\"site.transip.me\",\n\t\t\"tuxfamily.org\",\n\t\t\"dd-dns.de\",\n\t\t\"diskstation.eu\",\n\t\t\"diskstation.org\",\n\t\t\"dray-dns.de\",\n\t\t\"draydns.de\",\n\t\t\"dyn-vpn.de\",\n\t\t\"dynvpn.de\",\n\t\t\"mein-vigor.de\",\n\t\t\"my-vigor.de\",\n\t\t\"my-wan.de\",\n\t\t\"syno-ds.de\",\n\t\t\"synology-diskstation.de\",\n\t\t\"synology-ds.de\",\n\t\t\"typedream.app\",\n\t\t\"pro.typeform.com\",\n\t\t\"uber.space\",\n\t\t\"*.uberspace.de\",\n\t\t\"hk.com\",\n\t\t\"hk.org\",\n\t\t\"ltd.hk\",\n\t\t\"inc.hk\",\n\t\t\"name.pm\",\n\t\t\"sch.tf\",\n\t\t\"biz.wf\",\n\t\t\"sch.wf\",\n\t\t\"org.yt\",\n\t\t\"virtualuser.de\",\n\t\t\"virtual-user.de\",\n\t\t\"upli.io\",\n\t\t\"urown.cloud\",\n\t\t\"dnsupdate.info\",\n\t\t\"lib.de.us\",\n\t\t\"2038.io\",\n\t\t\"vercel.app\",\n\t\t\"vercel.dev\",\n\t\t\"now.sh\",\n\t\t\"router.management\",\n\t\t\"v-info.info\",\n\t\t\"voorloper.cloud\",\n\t\t\"neko.am\",\n\t\t\"nyaa.am\",\n\t\t\"be.ax\",\n\t\t\"cat.ax\",\n\t\t\"es.ax\",\n\t\t\"eu.ax\",\n\t\t\"gg.ax\",\n\t\t\"mc.ax\",\n\t\t\"us.ax\",\n\t\t\"xy.ax\",\n\t\t\"nl.ci\",\n\t\t\"xx.gl\",\n\t\t\"app.gp\",\n\t\t\"blog.gt\",\n\t\t\"de.gt\",\n\t\t\"to.gt\",\n\t\t\"be.gy\",\n\t\t\"cc.hn\",\n\t\t\"blog.kg\",\n\t\t\"io.kg\",\n\t\t\"jp.kg\",\n\t\t\"tv.kg\",\n\t\t\"uk.kg\",\n\t\t\"us.kg\",\n\t\t\"de.ls\",\n\t\t\"at.md\",\n\t\t\"de.md\",\n\t\t\"jp.md\",\n\t\t\"to.md\",\n\t\t\"indie.porn\",\n\t\t\"vxl.sh\",\n\t\t\"ch.tc\",\n\t\t\"me.tc\",\n\t\t\"we.tc\",\n\t\t\"nyan.to\",\n\t\t\"at.vg\",\n\t\t\"blog.vu\",\n\t\t\"dev.vu\",\n\t\t\"me.vu\",\n\t\t\"v.ua\",\n\t\t\"*.vultrobjects.com\",\n\t\t\"wafflecell.com\",\n\t\t\"*.webhare.dev\",\n\t\t\"reserve-online.net\",\n\t\t\"reserve-online.com\",\n\t\t\"bookonline.app\",\n\t\t\"hotelwithflight.com\",\n\t\t\"wedeploy.io\",\n\t\t\"wedeploy.me\",\n\t\t\"wedeploy.sh\",\n\t\t\"remotewd.com\",\n\t\t\"pages.wiardweb.com\",\n\t\t\"wmflabs.org\",\n\t\t\"toolforge.org\",\n\t\t\"wmcloud.org\",\n\t\t\"panel.gg\",\n\t\t\"daemon.panel.gg\",\n\t\t\"messwithdns.com\",\n\t\t\"woltlab-demo.com\",\n\t\t\"myforum.community\",\n\t\t\"community-pro.de\",\n\t\t\"diskussionsbereich.de\",\n\t\t\"community-pro.net\",\n\t\t\"meinforum.net\",\n\t\t\"affinitylottery.org.uk\",\n\t\t\"raffleentry.org.uk\",\n\t\t\"weeklylottery.org.uk\",\n\t\t\"wpenginepowered.com\",\n\t\t\"js.wpenginepowered.com\",\n\t\t\"wixsite.com\",\n\t\t\"editorx.io\",\n\t\t\"half.host\",\n\t\t\"xnbay.com\",\n\t\t\"u2.xnbay.com\",\n\t\t\"u2-local.xnbay.com\",\n\t\t\"cistron.nl\",\n\t\t\"demon.nl\",\n\t\t\"xs4all.space\",\n\t\t\"yandexcloud.net\",\n\t\t\"storage.yandexcloud.net\",\n\t\t\"website.yandexcloud.net\",\n\t\t\"official.academy\",\n\t\t\"yolasite.com\",\n\t\t\"ybo.faith\",\n\t\t\"yombo.me\",\n\t\t\"homelink.one\",\n\t\t\"ybo.party\",\n\t\t\"ybo.review\",\n\t\t\"ybo.science\",\n\t\t\"ybo.trade\",\n\t\t\"ynh.fr\",\n\t\t\"nohost.me\",\n\t\t\"noho.st\",\n\t\t\"za.net\",\n\t\t\"za.org\",\n\t\t\"bss.design\",\n\t\t\"basicserver.io\",\n\t\t\"virtualserver.io\",\n\t\t\"enterprisecloud.nu\"\n\t];\n} });\nvar require_psl = __commonJS3({ \"node_modules/psl/index.js\"(exports) {\n\t\"use strict\";\n\tvar Punycode = require_punycode();\n\tvar internals = {};\n\tinternals.rules = require_rules().map(function(rule) {\n\t\treturn {\n\t\t\trule,\n\t\t\tsuffix: rule.replace(/^(\\*\\.|\\!)/, \"\"),\n\t\t\tpunySuffix: -1,\n\t\t\twildcard: rule.charAt(0) === \"*\",\n\t\t\texception: rule.charAt(0) === \"!\"\n\t\t};\n\t});\n\tinternals.endsWith = function(str, suffix) {\n\t\treturn str.indexOf(suffix, str.length - suffix.length) !== -1;\n\t};\n\tinternals.findRule = function(domain) {\n\t\tvar punyDomain = Punycode.toASCII(domain);\n\t\treturn internals.rules.reduce(function(memo, rule) {\n\t\t\tif (rule.punySuffix === -1) rule.punySuffix = Punycode.toASCII(rule.suffix);\n\t\t\tif (!internals.endsWith(punyDomain, \".\" + rule.punySuffix) && punyDomain !== rule.punySuffix) return memo;\n\t\t\treturn rule;\n\t\t}, null);\n\t};\n\texports.errorCodes = {\n\t\tDOMAIN_TOO_SHORT: \"Domain name too short.\",\n\t\tDOMAIN_TOO_LONG: \"Domain name too long. It should be no more than 255 chars.\",\n\t\tLABEL_STARTS_WITH_DASH: \"Domain name label can not start with a dash.\",\n\t\tLABEL_ENDS_WITH_DASH: \"Domain name label can not end with a dash.\",\n\t\tLABEL_TOO_LONG: \"Domain name label should be at most 63 chars long.\",\n\t\tLABEL_TOO_SHORT: \"Domain name label should be at least 1 character long.\",\n\t\tLABEL_INVALID_CHARS: \"Domain name label can only contain alphanumeric characters or dashes.\"\n\t};\n\tinternals.validate = function(input) {\n\t\tvar ascii = Punycode.toASCII(input);\n\t\tif (ascii.length < 1) return \"DOMAIN_TOO_SHORT\";\n\t\tif (ascii.length > 255) return \"DOMAIN_TOO_LONG\";\n\t\tvar labels = ascii.split(\".\");\n\t\tvar label;\n\t\tfor (var i = 0; i < labels.length; ++i) {\n\t\t\tlabel = labels[i];\n\t\t\tif (!label.length) return \"LABEL_TOO_SHORT\";\n\t\t\tif (label.length > 63) return \"LABEL_TOO_LONG\";\n\t\t\tif (label.charAt(0) === \"-\") return \"LABEL_STARTS_WITH_DASH\";\n\t\t\tif (label.charAt(label.length - 1) === \"-\") return \"LABEL_ENDS_WITH_DASH\";\n\t\t\tif (!/^[a-z0-9\\-]+$/.test(label)) return \"LABEL_INVALID_CHARS\";\n\t\t}\n\t};\n\texports.parse = function(input) {\n\t\tif (typeof input !== \"string\") throw new TypeError(\"Domain name must be a string.\");\n\t\tvar domain = input.slice(0).toLowerCase();\n\t\tif (domain.charAt(domain.length - 1) === \".\") domain = domain.slice(0, domain.length - 1);\n\t\tvar error3 = internals.validate(domain);\n\t\tif (error3) return {\n\t\t\tinput,\n\t\t\terror: {\n\t\t\t\tmessage: exports.errorCodes[error3],\n\t\t\t\tcode: error3\n\t\t\t}\n\t\t};\n\t\tvar parsed = {\n\t\t\tinput,\n\t\t\ttld: null,\n\t\t\tsld: null,\n\t\t\tdomain: null,\n\t\t\tsubdomain: null,\n\t\t\tlisted: false\n\t\t};\n\t\tvar domainParts = domain.split(\".\");\n\t\tif (domainParts[domainParts.length - 1] === \"local\") return parsed;\n\t\tvar handlePunycode = function() {\n\t\t\tif (!/xn--/.test(domain)) return parsed;\n\t\t\tif (parsed.domain) parsed.domain = Punycode.toASCII(parsed.domain);\n\t\t\tif (parsed.subdomain) parsed.subdomain = Punycode.toASCII(parsed.subdomain);\n\t\t\treturn parsed;\n\t\t};\n\t\tvar rule = internals.findRule(domain);\n\t\tif (!rule) {\n\t\t\tif (domainParts.length < 2) return parsed;\n\t\t\tparsed.tld = domainParts.pop();\n\t\t\tparsed.sld = domainParts.pop();\n\t\t\tparsed.domain = [parsed.sld, parsed.tld].join(\".\");\n\t\t\tif (domainParts.length) parsed.subdomain = domainParts.pop();\n\t\t\treturn handlePunycode();\n\t\t}\n\t\tparsed.listed = true;\n\t\tvar tldParts = rule.suffix.split(\".\");\n\t\tvar privateParts = domainParts.slice(0, domainParts.length - tldParts.length);\n\t\tif (rule.exception) privateParts.push(tldParts.shift());\n\t\tparsed.tld = tldParts.join(\".\");\n\t\tif (!privateParts.length) return handlePunycode();\n\t\tif (rule.wildcard) {\n\t\t\ttldParts.unshift(privateParts.pop());\n\t\t\tparsed.tld = tldParts.join(\".\");\n\t\t}\n\t\tif (!privateParts.length) return handlePunycode();\n\t\tparsed.sld = privateParts.pop();\n\t\tparsed.domain = [parsed.sld, parsed.tld].join(\".\");\n\t\tif (privateParts.length) parsed.subdomain = privateParts.join(\".\");\n\t\treturn handlePunycode();\n\t};\n\texports.get = function(domain) {\n\t\tif (!domain) return null;\n\t\treturn exports.parse(domain).domain || null;\n\t};\n\texports.isValid = function(domain) {\n\t\tvar parsed = exports.parse(domain);\n\t\treturn Boolean(parsed.domain && parsed.listed);\n\t};\n} });\nvar require_pubsuffix_psl = __commonJS3({ \"node_modules/tough-cookie/lib/pubsuffix-psl.js\"(exports) {\n\t\"use strict\";\n\tvar psl = require_psl();\n\tvar SPECIAL_USE_DOMAINS = [\n\t\t\"local\",\n\t\t\"example\",\n\t\t\"invalid\",\n\t\t\"localhost\",\n\t\t\"test\"\n\t];\n\tvar SPECIAL_TREATMENT_DOMAINS = [\"localhost\", \"invalid\"];\n\tfunction getPublicSuffix(domain, options = {}) {\n\t\tconst domainParts = domain.split(\".\");\n\t\tconst topLevelDomain = domainParts[domainParts.length - 1];\n\t\tconst allowSpecialUseDomain = !!options.allowSpecialUseDomain;\n\t\tconst ignoreError = !!options.ignoreError;\n\t\tif (allowSpecialUseDomain && SPECIAL_USE_DOMAINS.includes(topLevelDomain)) {\n\t\t\tif (domainParts.length > 1) return `${domainParts[domainParts.length - 2]}.${topLevelDomain}`;\n\t\t\telse if (SPECIAL_TREATMENT_DOMAINS.includes(topLevelDomain)) return `${topLevelDomain}`;\n\t\t}\n\t\tif (!ignoreError && SPECIAL_USE_DOMAINS.includes(topLevelDomain)) throw new Error(`Cookie has domain set to the public suffix \"${topLevelDomain}\" which is a special use domain. To allow this, configure your CookieJar with {allowSpecialUseDomain:true, rejectPublicSuffixes: false}.`);\n\t\treturn psl.get(domain);\n\t}\n\texports.getPublicSuffix = getPublicSuffix;\n} });\nvar require_store = __commonJS3({ \"node_modules/tough-cookie/lib/store.js\"(exports) {\n\t\"use strict\";\n\tvar Store2 = class {\n\t\tconstructor() {\n\t\t\tthis.synchronous = false;\n\t\t}\n\t\tfindCookie(domain, path, key, cb) {\n\t\t\tthrow new Error(\"findCookie is not implemented\");\n\t\t}\n\t\tfindCookies(domain, path, allowSpecialUseDomain, cb) {\n\t\t\tthrow new Error(\"findCookies is not implemented\");\n\t\t}\n\t\tputCookie(cookie, cb) {\n\t\t\tthrow new Error(\"putCookie is not implemented\");\n\t\t}\n\t\tupdateCookie(oldCookie, newCookie, cb) {\n\t\t\tthrow new Error(\"updateCookie is not implemented\");\n\t\t}\n\t\tremoveCookie(domain, path, key, cb) {\n\t\t\tthrow new Error(\"removeCookie is not implemented\");\n\t\t}\n\t\tremoveCookies(domain, path, cb) {\n\t\t\tthrow new Error(\"removeCookies is not implemented\");\n\t\t}\n\t\tremoveAllCookies(cb) {\n\t\t\tthrow new Error(\"removeAllCookies is not implemented\");\n\t\t}\n\t\tgetAllCookies(cb) {\n\t\t\tthrow new Error(\"getAllCookies is not implemented (therefore jar cannot be serialized)\");\n\t\t}\n\t};\n\texports.Store = Store2;\n} });\nvar require_universalify = __commonJS3({ \"node_modules/universalify/index.js\"(exports) {\n\t\"use strict\";\n\texports.fromCallback = function(fn) {\n\t\treturn Object.defineProperty(function() {\n\t\t\tif (typeof arguments[arguments.length - 1] === \"function\") fn.apply(this, arguments);\n\t\t\telse return new Promise((resolve, reject) => {\n\t\t\t\targuments[arguments.length] = (err, res) => {\n\t\t\t\t\tif (err) return reject(err);\n\t\t\t\t\tresolve(res);\n\t\t\t\t};\n\t\t\t\targuments.length++;\n\t\t\t\tfn.apply(this, arguments);\n\t\t\t});\n\t\t}, \"name\", { value: fn.name });\n\t};\n\texports.fromPromise = function(fn) {\n\t\treturn Object.defineProperty(function() {\n\t\t\tconst cb = arguments[arguments.length - 1];\n\t\t\tif (typeof cb !== \"function\") return fn.apply(this, arguments);\n\t\t\telse {\n\t\t\t\tdelete arguments[arguments.length - 1];\n\t\t\t\targuments.length--;\n\t\t\t\tfn.apply(this, arguments).then((r) => cb(null, r), cb);\n\t\t\t}\n\t\t}, \"name\", { value: fn.name });\n\t};\n} });\nvar require_permuteDomain = __commonJS3({ \"node_modules/tough-cookie/lib/permuteDomain.js\"(exports) {\n\t\"use strict\";\n\tvar pubsuffix = require_pubsuffix_psl();\n\tfunction permuteDomain(domain, allowSpecialUseDomain) {\n\t\tconst pubSuf = pubsuffix.getPublicSuffix(domain, { allowSpecialUseDomain });\n\t\tif (!pubSuf) return null;\n\t\tif (pubSuf == domain) return [domain];\n\t\tif (domain.slice(-1) == \".\") domain = domain.slice(0, -1);\n\t\tconst parts = domain.slice(0, -(pubSuf.length + 1)).split(\".\").reverse();\n\t\tlet cur = pubSuf;\n\t\tconst permutations = [cur];\n\t\twhile (parts.length) {\n\t\t\tcur = `${parts.shift()}.${cur}`;\n\t\t\tpermutations.push(cur);\n\t\t}\n\t\treturn permutations;\n\t}\n\texports.permuteDomain = permuteDomain;\n} });\nvar require_pathMatch = __commonJS3({ \"node_modules/tough-cookie/lib/pathMatch.js\"(exports) {\n\t\"use strict\";\n\tfunction pathMatch2(reqPath, cookiePath) {\n\t\tif (cookiePath === reqPath) return true;\n\t\tif (reqPath.indexOf(cookiePath) === 0) {\n\t\t\tif (cookiePath.substr(-1) === \"/\") return true;\n\t\t\tif (reqPath.substr(cookiePath.length, 1) === \"/\") return true;\n\t\t}\n\t\treturn false;\n\t}\n\texports.pathMatch = pathMatch2;\n} });\nvar require_utilHelper = __commonJS3({ \"node_modules/tough-cookie/lib/utilHelper.js\"(exports) {\n\tfunction requireUtil() {\n\t\ttry {\n\t\t\treturn __require2(\"util\");\n\t\t} catch (e) {\n\t\t\treturn null;\n\t\t}\n\t}\n\tfunction lookupCustomInspectSymbol() {\n\t\treturn Symbol.for(\"nodejs.util.inspect.custom\");\n\t}\n\tfunction tryReadingCustomSymbolFromUtilInspect(options) {\n\t\tconst util = (options.requireUtil || requireUtil)();\n\t\treturn util ? util.inspect.custom : null;\n\t}\n\texports.getUtilInspect = function getUtilInspect(fallback, options = {}) {\n\t\tconst util = (options.requireUtil || requireUtil)();\n\t\treturn function inspect(value, showHidden, depth) {\n\t\t\treturn util ? util.inspect(value, showHidden, depth) : fallback(value);\n\t\t};\n\t};\n\texports.getCustomInspectSymbol = function getCustomInspectSymbol(options = {}) {\n\t\treturn (options.lookupCustomInspectSymbol || lookupCustomInspectSymbol)() || tryReadingCustomSymbolFromUtilInspect(options);\n\t};\n} });\nvar require_memstore = __commonJS3({ \"node_modules/tough-cookie/lib/memstore.js\"(exports) {\n\t\"use strict\";\n\tvar { fromCallback } = require_universalify();\n\tvar Store2 = require_store().Store;\n\tvar permuteDomain = require_permuteDomain().permuteDomain;\n\tvar pathMatch2 = require_pathMatch().pathMatch;\n\tvar { getCustomInspectSymbol, getUtilInspect } = require_utilHelper();\n\tvar MemoryCookieStore2 = class extends Store2 {\n\t\tconstructor() {\n\t\t\tsuper();\n\t\t\tthis.synchronous = true;\n\t\t\tthis.idx = /* @__PURE__ */ Object.create(null);\n\t\t\tconst customInspectSymbol = getCustomInspectSymbol();\n\t\t\tif (customInspectSymbol) this[customInspectSymbol] = this.inspect;\n\t\t}\n\t\tinspect() {\n\t\t\treturn `{ idx: ${{ inspect: getUtilInspect(inspectFallback) }.inspect(this.idx, false, 2)} }`;\n\t\t}\n\t\tfindCookie(domain, path, key, cb) {\n\t\t\tif (!this.idx[domain]) return cb(null, void 0);\n\t\t\tif (!this.idx[domain][path]) return cb(null, void 0);\n\t\t\treturn cb(null, this.idx[domain][path][key] || null);\n\t\t}\n\t\tfindCookies(domain, path, allowSpecialUseDomain, cb) {\n\t\t\tconst results = [];\n\t\t\tif (typeof allowSpecialUseDomain === \"function\") {\n\t\t\t\tcb = allowSpecialUseDomain;\n\t\t\t\tallowSpecialUseDomain = true;\n\t\t\t}\n\t\t\tif (!domain) return cb(null, []);\n\t\t\tlet pathMatcher;\n\t\t\tif (!path) pathMatcher = function matchAll(domainIndex) {\n\t\t\t\tfor (const curPath in domainIndex) {\n\t\t\t\t\tconst pathIndex = domainIndex[curPath];\n\t\t\t\t\tfor (const key in pathIndex) results.push(pathIndex[key]);\n\t\t\t\t}\n\t\t\t};\n\t\t\telse pathMatcher = function matchRFC(domainIndex) {\n\t\t\t\tObject.keys(domainIndex).forEach((cookiePath) => {\n\t\t\t\t\tif (pathMatch2(path, cookiePath)) {\n\t\t\t\t\t\tconst pathIndex = domainIndex[cookiePath];\n\t\t\t\t\t\tfor (const key in pathIndex) results.push(pathIndex[key]);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t};\n\t\t\tconst domains = permuteDomain(domain, allowSpecialUseDomain) || [domain];\n\t\t\tconst idx = this.idx;\n\t\t\tdomains.forEach((curDomain) => {\n\t\t\t\tconst domainIndex = idx[curDomain];\n\t\t\t\tif (!domainIndex) return;\n\t\t\t\tpathMatcher(domainIndex);\n\t\t\t});\n\t\t\tcb(null, results);\n\t\t}\n\t\tputCookie(cookie, cb) {\n\t\t\tif (!this.idx[cookie.domain]) this.idx[cookie.domain] = /* @__PURE__ */ Object.create(null);\n\t\t\tif (!this.idx[cookie.domain][cookie.path]) this.idx[cookie.domain][cookie.path] = /* @__PURE__ */ Object.create(null);\n\t\t\tthis.idx[cookie.domain][cookie.path][cookie.key] = cookie;\n\t\t\tcb(null);\n\t\t}\n\t\tupdateCookie(oldCookie, newCookie, cb) {\n\t\t\tthis.putCookie(newCookie, cb);\n\t\t}\n\t\tremoveCookie(domain, path, key, cb) {\n\t\t\tif (this.idx[domain] && this.idx[domain][path] && this.idx[domain][path][key]) delete this.idx[domain][path][key];\n\t\t\tcb(null);\n\t\t}\n\t\tremoveCookies(domain, path, cb) {\n\t\t\tif (this.idx[domain]) if (path) delete this.idx[domain][path];\n\t\t\telse delete this.idx[domain];\n\t\t\treturn cb(null);\n\t\t}\n\t\tremoveAllCookies(cb) {\n\t\t\tthis.idx = /* @__PURE__ */ Object.create(null);\n\t\t\treturn cb(null);\n\t\t}\n\t\tgetAllCookies(cb) {\n\t\t\tconst cookies = [];\n\t\t\tconst idx = this.idx;\n\t\t\tObject.keys(idx).forEach((domain) => {\n\t\t\t\tObject.keys(idx[domain]).forEach((path) => {\n\t\t\t\t\tObject.keys(idx[domain][path]).forEach((key) => {\n\t\t\t\t\t\tif (key !== null) cookies.push(idx[domain][path][key]);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t});\n\t\t\tcookies.sort((a, b) => {\n\t\t\t\treturn (a.creationIndex || 0) - (b.creationIndex || 0);\n\t\t\t});\n\t\t\tcb(null, cookies);\n\t\t}\n\t};\n\t[\n\t\t\"findCookie\",\n\t\t\"findCookies\",\n\t\t\"putCookie\",\n\t\t\"updateCookie\",\n\t\t\"removeCookie\",\n\t\t\"removeCookies\",\n\t\t\"removeAllCookies\",\n\t\t\"getAllCookies\"\n\t].forEach((name) => {\n\t\tMemoryCookieStore2.prototype[name] = fromCallback(MemoryCookieStore2.prototype[name]);\n\t});\n\texports.MemoryCookieStore = MemoryCookieStore2;\n\tfunction inspectFallback(val) {\n\t\tconst domains = Object.keys(val);\n\t\tif (domains.length === 0) return \"[Object: null prototype] {}\";\n\t\tlet result = \"[Object: null prototype] {\\n\";\n\t\tObject.keys(val).forEach((domain, i) => {\n\t\t\tresult += formatDomain(domain, val[domain]);\n\t\t\tif (i < domains.length - 1) result += \",\";\n\t\t\tresult += \"\\n\";\n\t\t});\n\t\tresult += \"}\";\n\t\treturn result;\n\t}\n\tfunction formatDomain(domainName, domainValue) {\n\t\tconst indent = \"  \";\n\t\tlet result = `${indent}'${domainName}': [Object: null prototype] {\n`;\n\t\tObject.keys(domainValue).forEach((path, i, paths) => {\n\t\t\tresult += formatPath(path, domainValue[path]);\n\t\t\tif (i < paths.length - 1) result += \",\";\n\t\t\tresult += \"\\n\";\n\t\t});\n\t\tresult += `${indent}}`;\n\t\treturn result;\n\t}\n\tfunction formatPath(pathName, pathValue) {\n\t\tconst indent = \"    \";\n\t\tlet result = `${indent}'${pathName}': [Object: null prototype] {\n`;\n\t\tObject.keys(pathValue).forEach((cookieName, i, cookieNames) => {\n\t\t\tconst cookie = pathValue[cookieName];\n\t\t\tresult += `      ${cookieName}: ${cookie.inspect()}`;\n\t\t\tif (i < cookieNames.length - 1) result += \",\";\n\t\t\tresult += \"\\n\";\n\t\t});\n\t\tresult += `${indent}}`;\n\t\treturn result;\n\t}\n\texports.inspectFallback = inspectFallback;\n} });\nvar require_validators = __commonJS3({ \"node_modules/tough-cookie/lib/validators.js\"(exports) {\n\t\"use strict\";\n\tvar toString = Object.prototype.toString;\n\tfunction isFunction(data) {\n\t\treturn typeof data === \"function\";\n\t}\n\tfunction isNonEmptyString(data) {\n\t\treturn isString(data) && data !== \"\";\n\t}\n\tfunction isDate(data) {\n\t\treturn isInstanceStrict(data, Date) && isInteger(data.getTime());\n\t}\n\tfunction isEmptyString(data) {\n\t\treturn data === \"\" || data instanceof String && data.toString() === \"\";\n\t}\n\tfunction isString(data) {\n\t\treturn typeof data === \"string\" || data instanceof String;\n\t}\n\tfunction isObject3(data) {\n\t\treturn toString.call(data) === \"[object Object]\";\n\t}\n\tfunction isInstanceStrict(data, prototype) {\n\t\ttry {\n\t\t\treturn data instanceof prototype;\n\t\t} catch (error3) {\n\t\t\treturn false;\n\t\t}\n\t}\n\tfunction isUrlStringOrObject(data) {\n\t\treturn isNonEmptyString(data) || isObject3(data) && \"hostname\" in data && \"pathname\" in data && \"protocol\" in data || isInstanceStrict(data, URL);\n\t}\n\tfunction isInteger(data) {\n\t\treturn typeof data === \"number\" && data % 1 === 0;\n\t}\n\tfunction validate(bool, cb, options) {\n\t\tif (!isFunction(cb)) {\n\t\t\toptions = cb;\n\t\t\tcb = null;\n\t\t}\n\t\tif (!isObject3(options)) options = { Error: \"Failed Check\" };\n\t\tif (!bool) if (cb) cb(new ParameterError(options));\n\t\telse throw new ParameterError(options);\n\t}\n\tvar ParameterError = class extends Error {\n\t\tconstructor(...params) {\n\t\t\tsuper(...params);\n\t\t}\n\t};\n\texports.ParameterError = ParameterError;\n\texports.isFunction = isFunction;\n\texports.isNonEmptyString = isNonEmptyString;\n\texports.isDate = isDate;\n\texports.isEmptyString = isEmptyString;\n\texports.isString = isString;\n\texports.isObject = isObject3;\n\texports.isUrlStringOrObject = isUrlStringOrObject;\n\texports.validate = validate;\n} });\nvar require_version = __commonJS3({ \"node_modules/tough-cookie/lib/version.js\"(exports, module) {\n\tmodule.exports = \"4.1.4\";\n} });\nvar { Cookie, CookieJar, Store, MemoryCookieStore, domainMatch, pathMatch } = __toESM3(__commonJS3({ \"node_modules/tough-cookie/lib/cookie.js\"(exports) {\n\t\"use strict\";\n\tvar punycode = require_punycode();\n\tvar urlParse = require_url_parse();\n\tvar pubsuffix = require_pubsuffix_psl();\n\tvar Store2 = require_store().Store;\n\tvar MemoryCookieStore2 = require_memstore().MemoryCookieStore;\n\tvar pathMatch2 = require_pathMatch().pathMatch;\n\tvar validators = require_validators();\n\tvar VERSION = require_version();\n\tvar { fromCallback } = require_universalify();\n\tvar { getCustomInspectSymbol } = require_utilHelper();\n\tvar COOKIE_OCTETS = /^[\\x21\\x23-\\x2B\\x2D-\\x3A\\x3C-\\x5B\\x5D-\\x7E]+$/;\n\tvar CONTROL_CHARS = /[\\x00-\\x1F]/;\n\tvar TERMINATORS = [\n\t\t\"\\n\",\n\t\t\"\\r\",\n\t\t\"\\0\"\n\t];\n\tvar PATH_VALUE = /[\\x20-\\x3A\\x3C-\\x7E]+/;\n\tvar DATE_DELIM = /[\\x09\\x20-\\x2F\\x3B-\\x40\\x5B-\\x60\\x7B-\\x7E]/;\n\tvar MONTH_TO_NUM = {\n\t\tjan: 0,\n\t\tfeb: 1,\n\t\tmar: 2,\n\t\tapr: 3,\n\t\tmay: 4,\n\t\tjun: 5,\n\t\tjul: 6,\n\t\taug: 7,\n\t\tsep: 8,\n\t\toct: 9,\n\t\tnov: 10,\n\t\tdec: 11\n\t};\n\tvar MAX_TIME = 2147483647e3;\n\tvar MIN_TIME = 0;\n\tvar SAME_SITE_CONTEXT_VAL_ERR = \"Invalid sameSiteContext option for getCookies(); expected one of \\\"strict\\\", \\\"lax\\\", or \\\"none\\\"\";\n\tfunction checkSameSiteContext(value) {\n\t\tvalidators.validate(validators.isNonEmptyString(value), value);\n\t\tconst context = String(value).toLowerCase();\n\t\tif (context === \"none\" || context === \"lax\" || context === \"strict\") return context;\n\t\telse return null;\n\t}\n\tvar PrefixSecurityEnum = Object.freeze({\n\t\tSILENT: \"silent\",\n\t\tSTRICT: \"strict\",\n\t\tDISABLED: \"unsafe-disabled\"\n\t});\n\tvar IP_REGEX_LOWERCASE = /(?:^(?: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}|:)))$)/;\n\tvar IP_V6_REGEX = `\n\\\\[?(?:\n(?:[a-fA-F\\\\d]{1,4}:){7}(?:[a-fA-F\\\\d]{1,4}|:)|\n(?:[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}|:)|\n(?:[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}|:)|\n(?:[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}|:)|\n(?:[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}|:)|\n(?:[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}|:)|\n(?:[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}|:)|\n(?::(?:(?::[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}|:))\n)(?:%[0-9a-zA-Z]{1,})?\\\\]?\n`.replace(/\\s*\\/\\/.*$/gm, \"\").replace(/\\n/g, \"\").trim();\n\tvar IP_V6_REGEX_OBJECT = new RegExp(`^${IP_V6_REGEX}$`);\n\tfunction parseDigits(token, minDigits, maxDigits, trailingOK) {\n\t\tlet count = 0;\n\t\twhile (count < token.length) {\n\t\t\tconst c = token.charCodeAt(count);\n\t\t\tif (c <= 47 || c >= 58) break;\n\t\t\tcount++;\n\t\t}\n\t\tif (count < minDigits || count > maxDigits) return null;\n\t\tif (!trailingOK && count != token.length) return null;\n\t\treturn parseInt(token.substr(0, count), 10);\n\t}\n\tfunction parseTime(token) {\n\t\tconst parts = token.split(\":\");\n\t\tconst result = [\n\t\t\t0,\n\t\t\t0,\n\t\t\t0\n\t\t];\n\t\tif (parts.length !== 3) return null;\n\t\tfor (let i = 0; i < 3; i++) {\n\t\t\tconst trailingOK = i == 2;\n\t\t\tconst num = parseDigits(parts[i], 1, 2, trailingOK);\n\t\t\tif (num === null) return null;\n\t\t\tresult[i] = num;\n\t\t}\n\t\treturn result;\n\t}\n\tfunction parseMonth(token) {\n\t\ttoken = String(token).substr(0, 3).toLowerCase();\n\t\tconst num = MONTH_TO_NUM[token];\n\t\treturn num >= 0 ? num : null;\n\t}\n\tfunction parseDate(str) {\n\t\tif (!str) return;\n\t\tconst tokens = str.split(DATE_DELIM);\n\t\tif (!tokens) return;\n\t\tlet hour = null;\n\t\tlet minute = null;\n\t\tlet second = null;\n\t\tlet dayOfMonth = null;\n\t\tlet month = null;\n\t\tlet year = null;\n\t\tfor (let i = 0; i < tokens.length; i++) {\n\t\t\tconst token = tokens[i].trim();\n\t\t\tif (!token.length) continue;\n\t\t\tlet result;\n\t\t\tif (second === null) {\n\t\t\t\tresult = parseTime(token);\n\t\t\t\tif (result) {\n\t\t\t\t\thour = result[0];\n\t\t\t\t\tminute = result[1];\n\t\t\t\t\tsecond = result[2];\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (dayOfMonth === null) {\n\t\t\t\tresult = parseDigits(token, 1, 2, true);\n\t\t\t\tif (result !== null) {\n\t\t\t\t\tdayOfMonth = result;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (month === null) {\n\t\t\t\tresult = parseMonth(token);\n\t\t\t\tif (result !== null) {\n\t\t\t\t\tmonth = result;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (year === null) {\n\t\t\t\tresult = parseDigits(token, 2, 4, true);\n\t\t\t\tif (result !== null) {\n\t\t\t\t\tyear = result;\n\t\t\t\t\tif (year >= 70 && year <= 99) year += 1900;\n\t\t\t\t\telse if (year >= 0 && year <= 69) year += 2e3;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (dayOfMonth === null || month === null || year === null || second === null || dayOfMonth < 1 || dayOfMonth > 31 || year < 1601 || hour > 23 || minute > 59 || second > 59) return;\n\t\treturn new Date(Date.UTC(year, month, dayOfMonth, hour, minute, second));\n\t}\n\tfunction formatDate(date) {\n\t\tvalidators.validate(validators.isDate(date), date);\n\t\treturn date.toUTCString();\n\t}\n\tfunction canonicalDomain(str) {\n\t\tif (str == null) return null;\n\t\tstr = str.trim().replace(/^\\./, \"\");\n\t\tif (IP_V6_REGEX_OBJECT.test(str)) str = str.replace(\"[\", \"\").replace(\"]\", \"\");\n\t\tif (punycode && /[^\\u0001-\\u007f]/.test(str)) str = punycode.toASCII(str);\n\t\treturn str.toLowerCase();\n\t}\n\tfunction domainMatch2(str, domStr, canonicalize) {\n\t\tif (str == null || domStr == null) return null;\n\t\tif (canonicalize !== false) {\n\t\t\tstr = canonicalDomain(str);\n\t\t\tdomStr = canonicalDomain(domStr);\n\t\t}\n\t\tif (str == domStr) return true;\n\t\tconst idx = str.lastIndexOf(domStr);\n\t\tif (idx <= 0) return false;\n\t\tif (str.length !== domStr.length + idx) return false;\n\t\tif (str.substr(idx - 1, 1) !== \".\") return false;\n\t\tif (IP_REGEX_LOWERCASE.test(str)) return false;\n\t\treturn true;\n\t}\n\tfunction defaultPath(path) {\n\t\tif (!path || path.substr(0, 1) !== \"/\") return \"/\";\n\t\tif (path === \"/\") return path;\n\t\tconst rightSlash = path.lastIndexOf(\"/\");\n\t\tif (rightSlash === 0) return \"/\";\n\t\treturn path.slice(0, rightSlash);\n\t}\n\tfunction trimTerminator(str) {\n\t\tif (validators.isEmptyString(str)) return str;\n\t\tfor (let t = 0; t < TERMINATORS.length; t++) {\n\t\t\tconst terminatorIdx = str.indexOf(TERMINATORS[t]);\n\t\t\tif (terminatorIdx !== -1) str = str.substr(0, terminatorIdx);\n\t\t}\n\t\treturn str;\n\t}\n\tfunction parseCookiePair(cookiePair, looseMode) {\n\t\tcookiePair = trimTerminator(cookiePair);\n\t\tvalidators.validate(validators.isString(cookiePair), cookiePair);\n\t\tlet firstEq = cookiePair.indexOf(\"=\");\n\t\tif (looseMode) {\n\t\t\tif (firstEq === 0) {\n\t\t\t\tcookiePair = cookiePair.substr(1);\n\t\t\t\tfirstEq = cookiePair.indexOf(\"=\");\n\t\t\t}\n\t\t} else if (firstEq <= 0) return;\n\t\tlet cookieName, cookieValue;\n\t\tif (firstEq <= 0) {\n\t\t\tcookieName = \"\";\n\t\t\tcookieValue = cookiePair.trim();\n\t\t} else {\n\t\t\tcookieName = cookiePair.substr(0, firstEq).trim();\n\t\t\tcookieValue = cookiePair.substr(firstEq + 1).trim();\n\t\t}\n\t\tif (CONTROL_CHARS.test(cookieName) || CONTROL_CHARS.test(cookieValue)) return;\n\t\tconst c = new Cookie2();\n\t\tc.key = cookieName;\n\t\tc.value = cookieValue;\n\t\treturn c;\n\t}\n\tfunction parse2(str, options) {\n\t\tif (!options || typeof options !== \"object\") options = {};\n\t\tif (validators.isEmptyString(str) || !validators.isString(str)) return null;\n\t\tstr = str.trim();\n\t\tconst firstSemi = str.indexOf(\";\");\n\t\tconst c = parseCookiePair(firstSemi === -1 ? str : str.substr(0, firstSemi), !!options.loose);\n\t\tif (!c) return;\n\t\tif (firstSemi === -1) return c;\n\t\tconst unparsed = str.slice(firstSemi + 1).trim();\n\t\tif (unparsed.length === 0) return c;\n\t\tconst cookie_avs = unparsed.split(\";\");\n\t\twhile (cookie_avs.length) {\n\t\t\tconst av = cookie_avs.shift().trim();\n\t\t\tif (av.length === 0) continue;\n\t\t\tconst av_sep = av.indexOf(\"=\");\n\t\t\tlet av_key, av_value;\n\t\t\tif (av_sep === -1) {\n\t\t\t\tav_key = av;\n\t\t\t\tav_value = null;\n\t\t\t} else {\n\t\t\t\tav_key = av.substr(0, av_sep);\n\t\t\t\tav_value = av.substr(av_sep + 1);\n\t\t\t}\n\t\t\tav_key = av_key.trim().toLowerCase();\n\t\t\tif (av_value) av_value = av_value.trim();\n\t\t\tswitch (av_key) {\n\t\t\t\tcase \"expires\":\n\t\t\t\t\tif (av_value) {\n\t\t\t\t\t\tconst exp = parseDate(av_value);\n\t\t\t\t\t\tif (exp) c.expires = exp;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"max-age\":\n\t\t\t\t\tif (av_value) {\n\t\t\t\t\t\tif (/^-?[0-9]+$/.test(av_value)) {\n\t\t\t\t\t\t\tconst delta = parseInt(av_value, 10);\n\t\t\t\t\t\t\tc.setMaxAge(delta);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"domain\":\n\t\t\t\t\tif (av_value) {\n\t\t\t\t\t\tconst domain = av_value.trim().replace(/^\\./, \"\");\n\t\t\t\t\t\tif (domain) c.domain = domain.toLowerCase();\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"path\":\n\t\t\t\t\tc.path = av_value && av_value[0] === \"/\" ? av_value : null;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"secure\":\n\t\t\t\t\tc.secure = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"httponly\":\n\t\t\t\t\tc.httpOnly = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"samesite\":\n\t\t\t\t\tswitch (av_value ? av_value.toLowerCase() : \"\") {\n\t\t\t\t\t\tcase \"strict\":\n\t\t\t\t\t\t\tc.sameSite = \"strict\";\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase \"lax\":\n\t\t\t\t\t\t\tc.sameSite = \"lax\";\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase \"none\":\n\t\t\t\t\t\t\tc.sameSite = \"none\";\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tc.sameSite = void 0;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tc.extensions = c.extensions || [];\n\t\t\t\t\tc.extensions.push(av);\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\treturn c;\n\t}\n\tfunction isSecurePrefixConditionMet(cookie) {\n\t\tvalidators.validate(validators.isObject(cookie), cookie);\n\t\treturn !cookie.key.startsWith(\"__Secure-\") || cookie.secure;\n\t}\n\tfunction isHostPrefixConditionMet(cookie) {\n\t\tvalidators.validate(validators.isObject(cookie));\n\t\treturn !cookie.key.startsWith(\"__Host-\") || cookie.secure && cookie.hostOnly && cookie.path != null && cookie.path === \"/\";\n\t}\n\tfunction jsonParse(str) {\n\t\tlet obj;\n\t\ttry {\n\t\t\tobj = JSON.parse(str);\n\t\t} catch (e) {\n\t\t\treturn e;\n\t\t}\n\t\treturn obj;\n\t}\n\tfunction fromJSON(str) {\n\t\tif (!str || validators.isEmptyString(str)) return null;\n\t\tlet obj;\n\t\tif (typeof str === \"string\") {\n\t\t\tobj = jsonParse(str);\n\t\t\tif (obj instanceof Error) return null;\n\t\t} else obj = str;\n\t\tconst c = new Cookie2();\n\t\tfor (let i = 0; i < Cookie2.serializableProperties.length; i++) {\n\t\t\tconst prop = Cookie2.serializableProperties[i];\n\t\t\tif (obj[prop] === void 0 || obj[prop] === cookieDefaults[prop]) continue;\n\t\t\tif (prop === \"expires\" || prop === \"creation\" || prop === \"lastAccessed\") if (obj[prop] === null) c[prop] = null;\n\t\t\telse c[prop] = obj[prop] == \"Infinity\" ? \"Infinity\" : new Date(obj[prop]);\n\t\t\telse c[prop] = obj[prop];\n\t\t}\n\t\treturn c;\n\t}\n\tfunction cookieCompare(a, b) {\n\t\tvalidators.validate(validators.isObject(a), a);\n\t\tvalidators.validate(validators.isObject(b), b);\n\t\tlet cmp = 0;\n\t\tconst aPathLen = a.path ? a.path.length : 0;\n\t\tcmp = (b.path ? b.path.length : 0) - aPathLen;\n\t\tif (cmp !== 0) return cmp;\n\t\tcmp = (a.creation ? a.creation.getTime() : MAX_TIME) - (b.creation ? b.creation.getTime() : MAX_TIME);\n\t\tif (cmp !== 0) return cmp;\n\t\tcmp = a.creationIndex - b.creationIndex;\n\t\treturn cmp;\n\t}\n\tfunction permutePath(path) {\n\t\tvalidators.validate(validators.isString(path));\n\t\tif (path === \"/\") return [\"/\"];\n\t\tconst permutations = [path];\n\t\twhile (path.length > 1) {\n\t\t\tconst lindex = path.lastIndexOf(\"/\");\n\t\t\tif (lindex === 0) break;\n\t\t\tpath = path.substr(0, lindex);\n\t\t\tpermutations.push(path);\n\t\t}\n\t\tpermutations.push(\"/\");\n\t\treturn permutations;\n\t}\n\tfunction getCookieContext(url) {\n\t\tif (url instanceof Object) return url;\n\t\ttry {\n\t\t\turl = decodeURI(url);\n\t\t} catch (err) {}\n\t\treturn urlParse(url);\n\t}\n\tvar cookieDefaults = {\n\t\tkey: \"\",\n\t\tvalue: \"\",\n\t\texpires: \"Infinity\",\n\t\tmaxAge: null,\n\t\tdomain: null,\n\t\tpath: null,\n\t\tsecure: false,\n\t\thttpOnly: false,\n\t\textensions: null,\n\t\thostOnly: null,\n\t\tpathIsDefault: null,\n\t\tcreation: null,\n\t\tlastAccessed: null,\n\t\tsameSite: void 0\n\t};\n\tvar Cookie2 = class _Cookie {\n\t\tconstructor(options = {}) {\n\t\t\tconst customInspectSymbol = getCustomInspectSymbol();\n\t\t\tif (customInspectSymbol) this[customInspectSymbol] = this.inspect;\n\t\t\tObject.assign(this, cookieDefaults, options);\n\t\t\tthis.creation = this.creation || /* @__PURE__ */ new Date();\n\t\t\tObject.defineProperty(this, \"creationIndex\", {\n\t\t\t\tconfigurable: false,\n\t\t\t\tenumerable: false,\n\t\t\t\twritable: true,\n\t\t\t\tvalue: ++_Cookie.cookiesCreated\n\t\t\t});\n\t\t}\n\t\tinspect() {\n\t\t\tconst now = Date.now();\n\t\t\tconst hostOnly = this.hostOnly != null ? this.hostOnly : \"?\";\n\t\t\tconst createAge = this.creation ? `${now - this.creation.getTime()}ms` : \"?\";\n\t\t\tconst accessAge = this.lastAccessed ? `${now - this.lastAccessed.getTime()}ms` : \"?\";\n\t\t\treturn `Cookie=\"${this.toString()}; hostOnly=${hostOnly}; aAge=${accessAge}; cAge=${createAge}\"`;\n\t\t}\n\t\ttoJSON() {\n\t\t\tconst obj = {};\n\t\t\tfor (const prop of _Cookie.serializableProperties) {\n\t\t\t\tif (this[prop] === cookieDefaults[prop]) continue;\n\t\t\t\tif (prop === \"expires\" || prop === \"creation\" || prop === \"lastAccessed\") if (this[prop] === null) obj[prop] = null;\n\t\t\t\telse obj[prop] = this[prop] == \"Infinity\" ? \"Infinity\" : this[prop].toISOString();\n\t\t\t\telse if (prop === \"maxAge\") {\n\t\t\t\t\tif (this[prop] !== null) obj[prop] = this[prop] == Infinity || this[prop] == -Infinity ? this[prop].toString() : this[prop];\n\t\t\t\t} else if (this[prop] !== cookieDefaults[prop]) obj[prop] = this[prop];\n\t\t\t}\n\t\t\treturn obj;\n\t\t}\n\t\tclone() {\n\t\t\treturn fromJSON(this.toJSON());\n\t\t}\n\t\tvalidate() {\n\t\t\tif (!COOKIE_OCTETS.test(this.value)) return false;\n\t\t\tif (this.expires != Infinity && !(this.expires instanceof Date) && !parseDate(this.expires)) return false;\n\t\t\tif (this.maxAge != null && this.maxAge <= 0) return false;\n\t\t\tif (this.path != null && !PATH_VALUE.test(this.path)) return false;\n\t\t\tconst cdomain = this.cdomain();\n\t\t\tif (cdomain) {\n\t\t\t\tif (cdomain.match(/\\.$/)) return false;\n\t\t\t\tif (pubsuffix.getPublicSuffix(cdomain) == null) return false;\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\tsetExpires(exp) {\n\t\t\tif (exp instanceof Date) this.expires = exp;\n\t\t\telse this.expires = parseDate(exp) || \"Infinity\";\n\t\t}\n\t\tsetMaxAge(age) {\n\t\t\tif (age === Infinity || age === -Infinity) this.maxAge = age.toString();\n\t\t\telse this.maxAge = age;\n\t\t}\n\t\tcookieString() {\n\t\t\tlet val = this.value;\n\t\t\tif (val == null) val = \"\";\n\t\t\tif (this.key === \"\") return val;\n\t\t\treturn `${this.key}=${val}`;\n\t\t}\n\t\ttoString() {\n\t\t\tlet str = this.cookieString();\n\t\t\tif (this.expires != Infinity) if (this.expires instanceof Date) str += `; Expires=${formatDate(this.expires)}`;\n\t\t\telse str += `; Expires=${this.expires}`;\n\t\t\tif (this.maxAge != null && this.maxAge != Infinity) str += `; Max-Age=${this.maxAge}`;\n\t\t\tif (this.domain && !this.hostOnly) str += `; Domain=${this.domain}`;\n\t\t\tif (this.path) str += `; Path=${this.path}`;\n\t\t\tif (this.secure) str += \"; Secure\";\n\t\t\tif (this.httpOnly) str += \"; HttpOnly\";\n\t\t\tif (this.sameSite && this.sameSite !== \"none\") {\n\t\t\t\tconst ssCanon = _Cookie.sameSiteCanonical[this.sameSite.toLowerCase()];\n\t\t\t\tstr += `; SameSite=${ssCanon ? ssCanon : this.sameSite}`;\n\t\t\t}\n\t\t\tif (this.extensions) this.extensions.forEach((ext) => {\n\t\t\t\tstr += `; ${ext}`;\n\t\t\t});\n\t\t\treturn str;\n\t\t}\n\t\tTTL(now) {\n\t\t\tif (this.maxAge != null) return this.maxAge <= 0 ? 0 : this.maxAge * 1e3;\n\t\t\tlet expires = this.expires;\n\t\t\tif (expires != Infinity) {\n\t\t\t\tif (!(expires instanceof Date)) expires = parseDate(expires) || Infinity;\n\t\t\t\tif (expires == Infinity) return Infinity;\n\t\t\t\treturn expires.getTime() - (now || Date.now());\n\t\t\t}\n\t\t\treturn Infinity;\n\t\t}\n\t\texpiryTime(now) {\n\t\t\tif (this.maxAge != null) {\n\t\t\t\tconst relativeTo = now || this.creation || /* @__PURE__ */ new Date();\n\t\t\t\tconst age = this.maxAge <= 0 ? -Infinity : this.maxAge * 1e3;\n\t\t\t\treturn relativeTo.getTime() + age;\n\t\t\t}\n\t\t\tif (this.expires == Infinity) return Infinity;\n\t\t\treturn this.expires.getTime();\n\t\t}\n\t\texpiryDate(now) {\n\t\t\tconst millisec = this.expiryTime(now);\n\t\t\tif (millisec == Infinity) return new Date(MAX_TIME);\n\t\t\telse if (millisec == -Infinity) return new Date(MIN_TIME);\n\t\t\telse return new Date(millisec);\n\t\t}\n\t\tisPersistent() {\n\t\t\treturn this.maxAge != null || this.expires != Infinity;\n\t\t}\n\t\tcanonicalizedDomain() {\n\t\t\tif (this.domain == null) return null;\n\t\t\treturn canonicalDomain(this.domain);\n\t\t}\n\t\tcdomain() {\n\t\t\treturn this.canonicalizedDomain();\n\t\t}\n\t};\n\tCookie2.cookiesCreated = 0;\n\tCookie2.parse = parse2;\n\tCookie2.fromJSON = fromJSON;\n\tCookie2.serializableProperties = Object.keys(cookieDefaults);\n\tCookie2.sameSiteLevel = {\n\t\tstrict: 3,\n\t\tlax: 2,\n\t\tnone: 1\n\t};\n\tCookie2.sameSiteCanonical = {\n\t\tstrict: \"Strict\",\n\t\tlax: \"Lax\"\n\t};\n\tfunction getNormalizedPrefixSecurity(prefixSecurity) {\n\t\tif (prefixSecurity != null) {\n\t\t\tconst normalizedPrefixSecurity = prefixSecurity.toLowerCase();\n\t\t\tswitch (normalizedPrefixSecurity) {\n\t\t\t\tcase PrefixSecurityEnum.STRICT:\n\t\t\t\tcase PrefixSecurityEnum.SILENT:\n\t\t\t\tcase PrefixSecurityEnum.DISABLED: return normalizedPrefixSecurity;\n\t\t\t}\n\t\t}\n\t\treturn PrefixSecurityEnum.SILENT;\n\t}\n\tvar CookieJar2 = class _CookieJar {\n\t\tconstructor(store3, options = { rejectPublicSuffixes: true }) {\n\t\t\tif (typeof options === \"boolean\") options = { rejectPublicSuffixes: options };\n\t\t\tvalidators.validate(validators.isObject(options), options);\n\t\t\tthis.rejectPublicSuffixes = options.rejectPublicSuffixes;\n\t\t\tthis.enableLooseMode = !!options.looseMode;\n\t\t\tthis.allowSpecialUseDomain = typeof options.allowSpecialUseDomain === \"boolean\" ? options.allowSpecialUseDomain : true;\n\t\t\tthis.store = store3 || new MemoryCookieStore2();\n\t\t\tthis.prefixSecurity = getNormalizedPrefixSecurity(options.prefixSecurity);\n\t\t\tthis._cloneSync = syncWrap(\"clone\");\n\t\t\tthis._importCookiesSync = syncWrap(\"_importCookies\");\n\t\t\tthis.getCookiesSync = syncWrap(\"getCookies\");\n\t\t\tthis.getCookieStringSync = syncWrap(\"getCookieString\");\n\t\t\tthis.getSetCookieStringsSync = syncWrap(\"getSetCookieStrings\");\n\t\t\tthis.removeAllCookiesSync = syncWrap(\"removeAllCookies\");\n\t\t\tthis.setCookieSync = syncWrap(\"setCookie\");\n\t\t\tthis.serializeSync = syncWrap(\"serialize\");\n\t\t}\n\t\tsetCookie(cookie, url, options, cb) {\n\t\t\tvalidators.validate(validators.isUrlStringOrObject(url), cb, options);\n\t\t\tlet err;\n\t\t\tif (validators.isFunction(url)) {\n\t\t\t\tcb = url;\n\t\t\t\treturn cb(/* @__PURE__ */ new Error(\"No URL was specified\"));\n\t\t\t}\n\t\t\tconst context = getCookieContext(url);\n\t\t\tif (validators.isFunction(options)) {\n\t\t\t\tcb = options;\n\t\t\t\toptions = {};\n\t\t\t}\n\t\t\tvalidators.validate(validators.isFunction(cb), cb);\n\t\t\tif (!validators.isNonEmptyString(cookie) && !validators.isObject(cookie) && cookie instanceof String && cookie.length == 0) return cb(null);\n\t\t\tconst host = canonicalDomain(context.hostname);\n\t\t\tconst loose = options.loose || this.enableLooseMode;\n\t\t\tlet sameSiteContext = null;\n\t\t\tif (options.sameSiteContext) {\n\t\t\t\tsameSiteContext = checkSameSiteContext(options.sameSiteContext);\n\t\t\t\tif (!sameSiteContext) return cb(new Error(SAME_SITE_CONTEXT_VAL_ERR));\n\t\t\t}\n\t\t\tif (typeof cookie === \"string\" || cookie instanceof String) {\n\t\t\t\tcookie = Cookie2.parse(cookie, { loose });\n\t\t\t\tif (!cookie) {\n\t\t\t\t\terr = /* @__PURE__ */ new Error(\"Cookie failed to parse\");\n\t\t\t\t\treturn cb(options.ignoreError ? null : err);\n\t\t\t\t}\n\t\t\t} else if (!(cookie instanceof Cookie2)) {\n\t\t\t\terr = /* @__PURE__ */ new Error(\"First argument to setCookie must be a Cookie object or string\");\n\t\t\t\treturn cb(options.ignoreError ? null : err);\n\t\t\t}\n\t\t\tconst now = options.now || /* @__PURE__ */ new Date();\n\t\t\tif (this.rejectPublicSuffixes && cookie.domain) {\n\t\t\t\tif (pubsuffix.getPublicSuffix(cookie.cdomain(), {\n\t\t\t\t\tallowSpecialUseDomain: this.allowSpecialUseDomain,\n\t\t\t\t\tignoreError: options.ignoreError\n\t\t\t\t}) == null && !IP_V6_REGEX_OBJECT.test(cookie.domain)) {\n\t\t\t\t\terr = /* @__PURE__ */ new Error(\"Cookie has domain set to a public suffix\");\n\t\t\t\t\treturn cb(options.ignoreError ? null : err);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (cookie.domain) {\n\t\t\t\tif (!domainMatch2(host, cookie.cdomain(), false)) {\n\t\t\t\t\terr = /* @__PURE__ */ new Error(`Cookie not in this host's domain. Cookie:${cookie.cdomain()} Request:${host}`);\n\t\t\t\t\treturn cb(options.ignoreError ? null : err);\n\t\t\t\t}\n\t\t\t\tif (cookie.hostOnly == null) cookie.hostOnly = false;\n\t\t\t} else {\n\t\t\t\tcookie.hostOnly = true;\n\t\t\t\tcookie.domain = host;\n\t\t\t}\n\t\t\tif (!cookie.path || cookie.path[0] !== \"/\") {\n\t\t\t\tcookie.path = defaultPath(context.pathname);\n\t\t\t\tcookie.pathIsDefault = true;\n\t\t\t}\n\t\t\tif (options.http === false && cookie.httpOnly) {\n\t\t\t\terr = /* @__PURE__ */ new Error(\"Cookie is HttpOnly and this isn't an HTTP API\");\n\t\t\t\treturn cb(options.ignoreError ? null : err);\n\t\t\t}\n\t\t\tif (cookie.sameSite !== \"none\" && cookie.sameSite !== void 0 && sameSiteContext) {\n\t\t\t\tif (sameSiteContext === \"none\") {\n\t\t\t\t\terr = /* @__PURE__ */ new Error(\"Cookie is SameSite but this is a cross-origin request\");\n\t\t\t\t\treturn cb(options.ignoreError ? null : err);\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst ignoreErrorForPrefixSecurity = this.prefixSecurity === PrefixSecurityEnum.SILENT;\n\t\t\tif (!(this.prefixSecurity === PrefixSecurityEnum.DISABLED)) {\n\t\t\t\tlet errorFound = false;\n\t\t\t\tlet errorMsg;\n\t\t\t\tif (!isSecurePrefixConditionMet(cookie)) {\n\t\t\t\t\terrorFound = true;\n\t\t\t\t\terrorMsg = \"Cookie has __Secure prefix but Secure attribute is not set\";\n\t\t\t\t} else if (!isHostPrefixConditionMet(cookie)) {\n\t\t\t\t\terrorFound = true;\n\t\t\t\t\terrorMsg = \"Cookie has __Host prefix but either Secure or HostOnly attribute is not set or Path is not '/'\";\n\t\t\t\t}\n\t\t\t\tif (errorFound) return cb(options.ignoreError || ignoreErrorForPrefixSecurity ? null : new Error(errorMsg));\n\t\t\t}\n\t\t\tconst store3 = this.store;\n\t\t\tif (!store3.updateCookie) store3.updateCookie = function(oldCookie, newCookie, cb2) {\n\t\t\t\tthis.putCookie(newCookie, cb2);\n\t\t\t};\n\t\t\tfunction withCookie(err2, oldCookie) {\n\t\t\t\tif (err2) return cb(err2);\n\t\t\t\tconst next = function(err3) {\n\t\t\t\t\tif (err3) return cb(err3);\n\t\t\t\t\telse cb(null, cookie);\n\t\t\t\t};\n\t\t\t\tif (oldCookie) {\n\t\t\t\t\tif (options.http === false && oldCookie.httpOnly) {\n\t\t\t\t\t\terr2 = /* @__PURE__ */ new Error(\"old Cookie is HttpOnly and this isn't an HTTP API\");\n\t\t\t\t\t\treturn cb(options.ignoreError ? null : err2);\n\t\t\t\t\t}\n\t\t\t\t\tcookie.creation = oldCookie.creation;\n\t\t\t\t\tcookie.creationIndex = oldCookie.creationIndex;\n\t\t\t\t\tcookie.lastAccessed = now;\n\t\t\t\t\tstore3.updateCookie(oldCookie, cookie, next);\n\t\t\t\t} else {\n\t\t\t\t\tcookie.creation = cookie.lastAccessed = now;\n\t\t\t\t\tstore3.putCookie(cookie, next);\n\t\t\t\t}\n\t\t\t}\n\t\t\tstore3.findCookie(cookie.domain, cookie.path, cookie.key, withCookie);\n\t\t}\n\t\tgetCookies(url, options, cb) {\n\t\t\tvalidators.validate(validators.isUrlStringOrObject(url), cb, url);\n\t\t\tconst context = getCookieContext(url);\n\t\t\tif (validators.isFunction(options)) {\n\t\t\t\tcb = options;\n\t\t\t\toptions = {};\n\t\t\t}\n\t\t\tvalidators.validate(validators.isObject(options), cb, options);\n\t\t\tvalidators.validate(validators.isFunction(cb), cb);\n\t\t\tconst host = canonicalDomain(context.hostname);\n\t\t\tconst path = context.pathname || \"/\";\n\t\t\tlet secure = options.secure;\n\t\t\tif (secure == null && context.protocol && (context.protocol == \"https:\" || context.protocol == \"wss:\")) secure = true;\n\t\t\tlet sameSiteLevel = 0;\n\t\t\tif (options.sameSiteContext) {\n\t\t\t\tconst sameSiteContext = checkSameSiteContext(options.sameSiteContext);\n\t\t\t\tsameSiteLevel = Cookie2.sameSiteLevel[sameSiteContext];\n\t\t\t\tif (!sameSiteLevel) return cb(new Error(SAME_SITE_CONTEXT_VAL_ERR));\n\t\t\t}\n\t\t\tlet http4 = options.http;\n\t\t\tif (http4 == null) http4 = true;\n\t\t\tconst now = options.now || Date.now();\n\t\t\tconst expireCheck = options.expire !== false;\n\t\t\tconst allPaths = !!options.allPaths;\n\t\t\tconst store3 = this.store;\n\t\t\tfunction matchingCookie(c) {\n\t\t\t\tif (c.hostOnly) {\n\t\t\t\t\tif (c.domain != host) return false;\n\t\t\t\t} else if (!domainMatch2(host, c.domain, false)) return false;\n\t\t\t\tif (!allPaths && !pathMatch2(path, c.path)) return false;\n\t\t\t\tif (c.secure && !secure) return false;\n\t\t\t\tif (c.httpOnly && !http4) return false;\n\t\t\t\tif (sameSiteLevel) {\n\t\t\t\t\tif (Cookie2.sameSiteLevel[c.sameSite || \"none\"] > sameSiteLevel) return false;\n\t\t\t\t}\n\t\t\t\tif (expireCheck && c.expiryTime() <= now) {\n\t\t\t\t\tstore3.removeCookie(c.domain, c.path, c.key, () => {});\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tstore3.findCookies(host, allPaths ? null : path, this.allowSpecialUseDomain, (err, cookies) => {\n\t\t\t\tif (err) return cb(err);\n\t\t\t\tcookies = cookies.filter(matchingCookie);\n\t\t\t\tif (options.sort !== false) cookies = cookies.sort(cookieCompare);\n\t\t\t\tconst now2 = /* @__PURE__ */ new Date();\n\t\t\t\tfor (const cookie of cookies) cookie.lastAccessed = now2;\n\t\t\t\tcb(null, cookies);\n\t\t\t});\n\t\t}\n\t\tgetCookieString(...args) {\n\t\t\tconst cb = args.pop();\n\t\t\tvalidators.validate(validators.isFunction(cb), cb);\n\t\t\tconst next = function(err, cookies) {\n\t\t\t\tif (err) cb(err);\n\t\t\t\telse cb(null, cookies.sort(cookieCompare).map((c) => c.cookieString()).join(\"; \"));\n\t\t\t};\n\t\t\targs.push(next);\n\t\t\tthis.getCookies.apply(this, args);\n\t\t}\n\t\tgetSetCookieStrings(...args) {\n\t\t\tconst cb = args.pop();\n\t\t\tvalidators.validate(validators.isFunction(cb), cb);\n\t\t\tconst next = function(err, cookies) {\n\t\t\t\tif (err) cb(err);\n\t\t\t\telse cb(null, cookies.map((c) => {\n\t\t\t\t\treturn c.toString();\n\t\t\t\t}));\n\t\t\t};\n\t\t\targs.push(next);\n\t\t\tthis.getCookies.apply(this, args);\n\t\t}\n\t\tserialize(cb) {\n\t\t\tvalidators.validate(validators.isFunction(cb), cb);\n\t\t\tlet type = this.store.constructor.name;\n\t\t\tif (validators.isObject(type)) type = null;\n\t\t\tconst serialized = {\n\t\t\t\tversion: `tough-cookie@${VERSION}`,\n\t\t\t\tstoreType: type,\n\t\t\t\trejectPublicSuffixes: !!this.rejectPublicSuffixes,\n\t\t\t\tenableLooseMode: !!this.enableLooseMode,\n\t\t\t\tallowSpecialUseDomain: !!this.allowSpecialUseDomain,\n\t\t\t\tprefixSecurity: getNormalizedPrefixSecurity(this.prefixSecurity),\n\t\t\t\tcookies: []\n\t\t\t};\n\t\t\tif (!(this.store.getAllCookies && typeof this.store.getAllCookies === \"function\")) return cb(/* @__PURE__ */ new Error(\"store does not support getAllCookies and cannot be serialized\"));\n\t\t\tthis.store.getAllCookies((err, cookies) => {\n\t\t\t\tif (err) return cb(err);\n\t\t\t\tserialized.cookies = cookies.map((cookie) => {\n\t\t\t\t\tcookie = cookie instanceof Cookie2 ? cookie.toJSON() : cookie;\n\t\t\t\t\tdelete cookie.creationIndex;\n\t\t\t\t\treturn cookie;\n\t\t\t\t});\n\t\t\t\treturn cb(null, serialized);\n\t\t\t});\n\t\t}\n\t\ttoJSON() {\n\t\t\treturn this.serializeSync();\n\t\t}\n\t\t_importCookies(serialized, cb) {\n\t\t\tlet cookies = serialized.cookies;\n\t\t\tif (!cookies || !Array.isArray(cookies)) return cb(/* @__PURE__ */ new Error(\"serialized jar has no cookies array\"));\n\t\t\tcookies = cookies.slice();\n\t\t\tconst putNext = (err) => {\n\t\t\t\tif (err) return cb(err);\n\t\t\t\tif (!cookies.length) return cb(err, this);\n\t\t\t\tlet cookie;\n\t\t\t\ttry {\n\t\t\t\t\tcookie = fromJSON(cookies.shift());\n\t\t\t\t} catch (e) {\n\t\t\t\t\treturn cb(e);\n\t\t\t\t}\n\t\t\t\tif (cookie === null) return putNext(null);\n\t\t\t\tthis.store.putCookie(cookie, putNext);\n\t\t\t};\n\t\t\tputNext();\n\t\t}\n\t\tclone(newStore, cb) {\n\t\t\tif (arguments.length === 1) {\n\t\t\t\tcb = newStore;\n\t\t\t\tnewStore = null;\n\t\t\t}\n\t\t\tthis.serialize((err, serialized) => {\n\t\t\t\tif (err) return cb(err);\n\t\t\t\t_CookieJar.deserialize(serialized, newStore, cb);\n\t\t\t});\n\t\t}\n\t\tcloneSync(newStore) {\n\t\t\tif (arguments.length === 0) return this._cloneSync();\n\t\t\tif (!newStore.synchronous) throw new Error(\"CookieJar clone destination store is not synchronous; use async API instead.\");\n\t\t\treturn this._cloneSync(newStore);\n\t\t}\n\t\tremoveAllCookies(cb) {\n\t\t\tvalidators.validate(validators.isFunction(cb), cb);\n\t\t\tconst store3 = this.store;\n\t\t\tif (typeof store3.removeAllCookies === \"function\" && store3.removeAllCookies !== Store2.prototype.removeAllCookies) return store3.removeAllCookies(cb);\n\t\t\tstore3.getAllCookies((err, cookies) => {\n\t\t\t\tif (err) return cb(err);\n\t\t\t\tif (cookies.length === 0) return cb(null);\n\t\t\t\tlet completedCount = 0;\n\t\t\t\tconst removeErrors = [];\n\t\t\t\tfunction removeCookieCb(removeErr) {\n\t\t\t\t\tif (removeErr) removeErrors.push(removeErr);\n\t\t\t\t\tcompletedCount++;\n\t\t\t\t\tif (completedCount === cookies.length) return cb(removeErrors.length ? removeErrors[0] : null);\n\t\t\t\t}\n\t\t\t\tcookies.forEach((cookie) => {\n\t\t\t\t\tstore3.removeCookie(cookie.domain, cookie.path, cookie.key, removeCookieCb);\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t\tstatic deserialize(strOrObj, store3, cb) {\n\t\t\tif (arguments.length !== 3) {\n\t\t\t\tcb = store3;\n\t\t\t\tstore3 = null;\n\t\t\t}\n\t\t\tvalidators.validate(validators.isFunction(cb), cb);\n\t\t\tlet serialized;\n\t\t\tif (typeof strOrObj === \"string\") {\n\t\t\t\tserialized = jsonParse(strOrObj);\n\t\t\t\tif (serialized instanceof Error) return cb(serialized);\n\t\t\t} else serialized = strOrObj;\n\t\t\tconst jar = new _CookieJar(store3, {\n\t\t\t\trejectPublicSuffixes: serialized.rejectPublicSuffixes,\n\t\t\t\tlooseMode: serialized.enableLooseMode,\n\t\t\t\tallowSpecialUseDomain: serialized.allowSpecialUseDomain,\n\t\t\t\tprefixSecurity: serialized.prefixSecurity\n\t\t\t});\n\t\t\tjar._importCookies(serialized, (err) => {\n\t\t\t\tif (err) return cb(err);\n\t\t\t\tcb(null, jar);\n\t\t\t});\n\t\t}\n\t\tstatic deserializeSync(strOrObj, store3) {\n\t\t\tconst serialized = typeof strOrObj === \"string\" ? JSON.parse(strOrObj) : strOrObj;\n\t\t\tconst jar = new _CookieJar(store3, {\n\t\t\t\trejectPublicSuffixes: serialized.rejectPublicSuffixes,\n\t\t\t\tlooseMode: serialized.enableLooseMode\n\t\t\t});\n\t\t\tif (!jar.store.synchronous) throw new Error(\"CookieJar store is not synchronous; use async API instead.\");\n\t\t\tjar._importCookiesSync(serialized);\n\t\t\treturn jar;\n\t\t}\n\t};\n\tCookieJar2.fromJSON = CookieJar2.deserializeSync;\n\t[\n\t\t\"_importCookies\",\n\t\t\"clone\",\n\t\t\"getCookies\",\n\t\t\"getCookieString\",\n\t\t\"getSetCookieStrings\",\n\t\t\"removeAllCookies\",\n\t\t\"serialize\",\n\t\t\"setCookie\"\n\t].forEach((name) => {\n\t\tCookieJar2.prototype[name] = fromCallback(CookieJar2.prototype[name]);\n\t});\n\tCookieJar2.deserialize = fromCallback(CookieJar2.deserialize);\n\tfunction syncWrap(method) {\n\t\treturn function(...args) {\n\t\t\tif (!this.store.synchronous) throw new Error(\"CookieJar store is not synchronous; use async API instead.\");\n\t\t\tlet syncErr, syncResult;\n\t\t\tthis[method](...args, (err, result) => {\n\t\t\t\tsyncErr = err;\n\t\t\t\tsyncResult = result;\n\t\t\t});\n\t\t\tif (syncErr) throw syncErr;\n\t\t\treturn syncResult;\n\t\t};\n\t}\n\texports.version = VERSION;\n\texports.CookieJar = CookieJar2;\n\texports.Cookie = Cookie2;\n\texports.Store = Store2;\n\texports.MemoryCookieStore = MemoryCookieStore2;\n\texports.parseDate = parseDate;\n\texports.formatDate = formatDate;\n\texports.parse = parse2;\n\texports.fromJSON = fromJSON;\n\texports.domainMatch = domainMatch2;\n\texports.defaultPath = defaultPath;\n\texports.pathMatch = pathMatch2;\n\texports.getPublicSuffix = pubsuffix.getPublicSuffix;\n\texports.cookieCompare = cookieCompare;\n\texports.permuteDomain = require_permuteDomain().permuteDomain;\n\texports.permutePath = permutePath;\n\texports.canonicalDomain = canonicalDomain;\n\texports.PrefixSecurityEnum = PrefixSecurityEnum;\n\texports.ParameterError = validators.ParameterError;\n} })(), 1).default;\nvar WebStorageCookieStore = class extends Store {\n\tconstructor() {\n\t\tsuper();\n\t\t__publicField(this, \"storage\");\n\t\t__publicField(this, \"storageKey\");\n\t\tinvariant(typeof localStorage !== \"undefined\", \"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\");\n\t\tthis.synchronous = true;\n\t\tthis.storage = localStorage;\n\t\tthis.storageKey = \"__msw-cookie-store__\";\n\t}\n\tfindCookie(domain, path, key, callback) {\n\t\ttry {\n\t\t\tconst store22 = this.getStore();\n\t\t\tcallback(null, this.filterCookiesFromList(store22, {\n\t\t\t\tdomain,\n\t\t\t\tpath,\n\t\t\t\tkey\n\t\t\t})[0] || null);\n\t\t} catch (error3) {\n\t\t\tif (error3 instanceof Error) callback(error3, null);\n\t\t}\n\t}\n\tfindCookies(domain, path, allowSpecialUseDomain, callback) {\n\t\tif (!domain) {\n\t\t\tcallback(null, []);\n\t\t\treturn;\n\t\t}\n\t\ttry {\n\t\t\tconst store22 = this.getStore();\n\t\t\tcallback(null, this.filterCookiesFromList(store22, {\n\t\t\t\tdomain,\n\t\t\t\tpath\n\t\t\t}));\n\t\t} catch (error3) {\n\t\t\tif (error3 instanceof Error) callback(error3, []);\n\t\t}\n\t}\n\tputCookie(cookie, callback) {\n\t\ttry {\n\t\t\tif (cookie.maxAge === 0) return;\n\t\t\tconst store22 = this.getStore();\n\t\t\tstore22.push(cookie);\n\t\t\tthis.updateStore(store22);\n\t\t} catch (error3) {\n\t\t\tif (error3 instanceof Error) callback(error3);\n\t\t}\n\t}\n\tupdateCookie(oldCookie, newCookie, callback) {\n\t\tif (newCookie.maxAge === 0) {\n\t\t\tthis.removeCookie(newCookie.domain || \"\", newCookie.path || \"\", newCookie.key, callback);\n\t\t\treturn;\n\t\t}\n\t\tthis.putCookie(newCookie, callback);\n\t}\n\tremoveCookie(domain, path, key, callback) {\n\t\ttry {\n\t\t\tconst store22 = this.getStore();\n\t\t\tconst nextStore = this.deleteCookiesFromList(store22, {\n\t\t\t\tdomain,\n\t\t\t\tpath,\n\t\t\t\tkey\n\t\t\t});\n\t\t\tthis.updateStore(nextStore);\n\t\t\tcallback(null);\n\t\t} catch (error3) {\n\t\t\tif (error3 instanceof Error) callback(error3);\n\t\t}\n\t}\n\tremoveCookies(domain, path, callback) {\n\t\ttry {\n\t\t\tconst store22 = this.getStore();\n\t\t\tconst nextStore = this.deleteCookiesFromList(store22, {\n\t\t\t\tdomain,\n\t\t\t\tpath\n\t\t\t});\n\t\t\tthis.updateStore(nextStore);\n\t\t\tcallback(null);\n\t\t} catch (error3) {\n\t\t\tif (error3 instanceof Error) callback(error3);\n\t\t}\n\t}\n\tgetAllCookies(callback) {\n\t\ttry {\n\t\t\tcallback(null, this.getStore());\n\t\t} catch (error3) {\n\t\t\tif (error3 instanceof Error) callback(error3, []);\n\t\t}\n\t}\n\tgetStore() {\n\t\ttry {\n\t\t\tconst json = this.storage.getItem(this.storageKey);\n\t\t\tif (json == null) return [];\n\t\t\tconst rawCookies = JSON.parse(json);\n\t\t\tconst cookies = [];\n\t\t\tfor (const rawCookie of rawCookies) {\n\t\t\t\tconst cookie = Cookie.fromJSON(rawCookie);\n\t\t\t\tif (cookie != null) cookies.push(cookie);\n\t\t\t}\n\t\t\treturn cookies;\n\t\t} catch (e) {\n\t\t\treturn [];\n\t\t}\n\t}\n\tupdateStore(nextStore) {\n\t\tthis.storage.setItem(this.storageKey, JSON.stringify(nextStore.map((cookie) => cookie.toJSON())));\n\t}\n\tfilterCookiesFromList(cookies, matches) {\n\t\tconst result = [];\n\t\tfor (const cookie of cookies) {\n\t\t\tif (matches.domain && !domainMatch(matches.domain, cookie.domain || \"\")) continue;\n\t\t\tif (matches.path && !pathMatch(matches.path, cookie.path || \"\")) continue;\n\t\t\tif (matches.key && cookie.key !== matches.key) continue;\n\t\t\tresult.push(cookie);\n\t\t}\n\t\treturn result;\n\t}\n\tdeleteCookiesFromList(cookies, matches) {\n\t\tconst matchingCookies = this.filterCookiesFromList(cookies, matches);\n\t\treturn cookies.filter((cookie) => !matchingCookies.includes(cookie));\n\t}\n};\nvar cookieStore = new CookieJar(isNodeProcess() ? new MemoryCookieStore() : new WebStorageCookieStore());\nfunction parseCookies(input) {\n\tconst parsedCookies = source_default2.parse(input);\n\tconst cookies = {};\n\tfor (const cookieName in parsedCookies) if (typeof parsedCookies[cookieName] !== \"undefined\") cookies[cookieName] = parsedCookies[cookieName];\n\treturn cookies;\n}\nfunction getAllDocumentCookies() {\n\treturn parseCookies(document.cookie);\n}\nfunction getDocumentCookies(request) {\n\tif (typeof document === \"undefined\" || typeof location === \"undefined\") return {};\n\tswitch (request.credentials) {\n\t\tcase \"same-origin\": {\n\t\t\tconst requestUrl = new URL(request.url);\n\t\t\treturn location.origin === requestUrl.origin ? getAllDocumentCookies() : {};\n\t\t}\n\t\tcase \"include\": return getAllDocumentCookies();\n\t\tdefault: return {};\n\t}\n}\nfunction getAllRequestCookies(request) {\n\tconst requestCookieHeader = request.headers.get(\"cookie\");\n\tconst cookiesFromHeaders = requestCookieHeader ? parseCookies(requestCookieHeader) : {};\n\tconst cookiesFromDocument = getDocumentCookies(request);\n\tfor (const name in cookiesFromDocument) request.headers.append(\"cookie\", source_default2.serialize(name, cookiesFromDocument[name]));\n\tconst cookiesFromStore = cookieStore.getCookiesSync(request.url);\n\tconst storedCookiesObject = Object.fromEntries(cookiesFromStore.map((cookie) => [cookie.key, cookie.value]));\n\tfor (const cookie of cookiesFromStore) request.headers.append(\"cookie\", cookie.toString());\n\treturn {\n\t\t...cookiesFromDocument,\n\t\t...storedCookiesObject,\n\t\t...cookiesFromHeaders\n\t};\n}\nvar HttpMethods = /* @__PURE__ */ ((HttpMethods2) => {\n\tHttpMethods2[\"HEAD\"] = \"HEAD\";\n\tHttpMethods2[\"GET\"] = \"GET\";\n\tHttpMethods2[\"POST\"] = \"POST\";\n\tHttpMethods2[\"PUT\"] = \"PUT\";\n\tHttpMethods2[\"PATCH\"] = \"PATCH\";\n\tHttpMethods2[\"OPTIONS\"] = \"OPTIONS\";\n\tHttpMethods2[\"DELETE\"] = \"DELETE\";\n\treturn HttpMethods2;\n})(HttpMethods || {});\n(class extends RequestHandler {\n\tconstructor(method, path, resolver, options) {\n\t\tsuper({\n\t\t\tinfo: {\n\t\t\t\theader: `${method} ${path}`,\n\t\t\t\tpath,\n\t\t\t\tmethod\n\t\t\t},\n\t\t\tresolver,\n\t\t\toptions\n\t\t});\n\t\tthis.checkRedundantQueryParameters();\n\t}\n\tcheckRedundantQueryParameters() {\n\t\tconst { method, path } = this.info;\n\t\tif (path instanceof RegExp) return;\n\t\tif (cleanUrl(path) === path) return;\n\t\tconst searchParams = getSearchParams(path);\n\t\tconst queryParams = [];\n\t\tsearchParams.forEach((_, paramName) => {\n\t\t\tqueryParams.push(paramName);\n\t\t});\n\t\tdevUtils.warn(`Found a redundant usage of query parameters in the request handler URL for \"${method} ${path}\". 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`);\n\t}\n\tasync parse(args) {\n\t\tvar _a4;\n\t\treturn {\n\t\t\tmatch: matchRequestUrl(new URL(args.request.url), this.info.path, (_a4 = args.resolutionContext) == null ? void 0 : _a4.baseUrl),\n\t\t\tcookies: getAllRequestCookies(args.request)\n\t\t};\n\t}\n\tpredicate(args) {\n\t\tconst hasMatchingMethod = this.matchMethod(args.request.method);\n\t\tconst hasMatchingUrl = args.parsedResult.match.matches;\n\t\treturn hasMatchingMethod && hasMatchingUrl;\n\t}\n\tmatchMethod(actualMethod) {\n\t\treturn this.info.method instanceof RegExp ? this.info.method.test(actualMethod) : isStringEqual(this.info.method, actualMethod);\n\t}\n\textendResolverArgs(args) {\n\t\tvar _a4;\n\t\treturn {\n\t\t\tparams: ((_a4 = args.parsedResult.match) == null ? void 0 : _a4.params) || {},\n\t\t\tcookies: args.parsedResult.cookies\n\t\t};\n\t}\n\tasync log(args) {\n\t\tconst publicUrl = toPublicUrl(args.request.url);\n\t\tconst loggedRequest = await serializeRequest(args.request);\n\t\tconst loggedResponse = await serializeResponse(args.response);\n\t\tconst statusColor = getStatusCodeColor(loggedResponse.status);\n\t\tconsole.groupCollapsed(devUtils.formatMessage(`${getTimestamp()} ${args.request.method} ${publicUrl} (%c${loggedResponse.status} ${loggedResponse.statusText}%c)`), `color:${statusColor}`, \"color:inherit\");\n\t\tconsole.log(\"Request\", loggedRequest);\n\t\tconsole.log(\"Handler:\", this);\n\t\tconsole.log(\"Response\", loggedResponse);\n\t\tconsole.groupEnd();\n\t}\n});\nHttpMethods.HEAD, HttpMethods.GET, HttpMethods.POST, HttpMethods.PUT, HttpMethods.DELETE, HttpMethods.PATCH, HttpMethods.OPTIONS;\nvar __create4 = Object.create;\nvar __defProp5 = Object.defineProperty;\nvar __getOwnPropDesc4 = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames4 = Object.getOwnPropertyNames;\nvar __getProtoOf4 = Object.getPrototypeOf;\nvar __hasOwnProp4 = Object.prototype.hasOwnProperty;\nvar __commonJS4 = (cb, mod) => function __require3() {\n\treturn mod || (0, cb[__getOwnPropNames4(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;\n};\nvar __copyProps4 = (to, from, except, desc) => {\n\tif (from && typeof from === \"object\" || typeof from === \"function\") {\n\t\tfor (let key of __getOwnPropNames4(from)) if (!__hasOwnProp4.call(to, key) && key !== except) __defProp5(to, key, {\n\t\t\tget: () => from[key],\n\t\t\tenumerable: !(desc = __getOwnPropDesc4(from, key)) || desc.enumerable\n\t\t});\n\t}\n\treturn to;\n};\nvar __toESM4 = (mod, isNodeMode, target) => (target = mod != null ? __create4(__getProtoOf4(mod)) : {}, __copyProps4(isNodeMode || !mod || !mod.__esModule ? __defProp5(target, \"default\", {\n\tvalue: mod,\n\tenumerable: true\n}) : target, mod));\n__toESM4(__commonJS4({ \"node_modules/set-cookie-parser/lib/set-cookie.js\"(exports, module) {\n\t\"use strict\";\n\tvar defaultParseOptions = {\n\t\tdecodeValues: true,\n\t\tmap: false,\n\t\tsilent: false\n\t};\n\tfunction isNonEmptyString(str) {\n\t\treturn typeof str === \"string\" && !!str.trim();\n\t}\n\tfunction parseString(setCookieValue, options) {\n\t\tvar parts = setCookieValue.split(\";\").filter(isNonEmptyString);\n\t\tvar parsed = parseNameValuePair(parts.shift());\n\t\tvar name = parsed.name;\n\t\tvar value = parsed.value;\n\t\toptions = options ? Object.assign({}, defaultParseOptions, options) : defaultParseOptions;\n\t\ttry {\n\t\t\tvalue = options.decodeValues ? decodeURIComponent(value) : value;\n\t\t} catch (e) {\n\t\t\tconsole.error(\"set-cookie-parser encountered an error while decoding a cookie with value '\" + value + \"'. Set options.decodeValues to false to disable this feature.\", e);\n\t\t}\n\t\tvar cookie = {\n\t\t\tname,\n\t\t\tvalue\n\t\t};\n\t\tparts.forEach(function(part) {\n\t\t\tvar sides = part.split(\"=\");\n\t\t\tvar key = sides.shift().trimLeft().toLowerCase();\n\t\t\tvar value2 = sides.join(\"=\");\n\t\t\tif (key === \"expires\") cookie.expires = new Date(value2);\n\t\t\telse if (key === \"max-age\") cookie.maxAge = parseInt(value2, 10);\n\t\t\telse if (key === \"secure\") cookie.secure = true;\n\t\t\telse if (key === \"httponly\") cookie.httpOnly = true;\n\t\t\telse if (key === \"samesite\") cookie.sameSite = value2;\n\t\t\telse cookie[key] = value2;\n\t\t});\n\t\treturn cookie;\n\t}\n\tfunction parseNameValuePair(nameValuePairStr) {\n\t\tvar name = \"\";\n\t\tvar value = \"\";\n\t\tvar nameValueArr = nameValuePairStr.split(\"=\");\n\t\tif (nameValueArr.length > 1) {\n\t\t\tname = nameValueArr.shift();\n\t\t\tvalue = nameValueArr.join(\"=\");\n\t\t} else value = nameValuePairStr;\n\t\treturn {\n\t\t\tname,\n\t\t\tvalue\n\t\t};\n\t}\n\tfunction parse2(input, options) {\n\t\toptions = options ? Object.assign({}, defaultParseOptions, options) : defaultParseOptions;\n\t\tif (!input) if (!options.map) return [];\n\t\telse return {};\n\t\tif (input.headers) if (typeof input.headers.getSetCookie === \"function\") input = input.headers.getSetCookie();\n\t\telse if (input.headers[\"set-cookie\"]) input = input.headers[\"set-cookie\"];\n\t\telse {\n\t\t\tvar sch = input.headers[Object.keys(input.headers).find(function(key) {\n\t\t\t\treturn key.toLowerCase() === \"set-cookie\";\n\t\t\t})];\n\t\t\tif (!sch && input.headers.cookie && !options.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.\");\n\t\t\tinput = sch;\n\t\t}\n\t\tif (!Array.isArray(input)) input = [input];\n\t\toptions = options ? Object.assign({}, defaultParseOptions, options) : defaultParseOptions;\n\t\tif (!options.map) return input.filter(isNonEmptyString).map(function(str) {\n\t\t\treturn parseString(str, options);\n\t\t});\n\t\telse return input.filter(isNonEmptyString).reduce(function(cookies2, str) {\n\t\t\tvar cookie = parseString(str, options);\n\t\t\tcookies2[cookie.name] = cookie;\n\t\t\treturn cookies2;\n\t\t}, {});\n\t}\n\tfunction splitCookiesString2(cookiesString) {\n\t\tif (Array.isArray(cookiesString)) return cookiesString;\n\t\tif (typeof cookiesString !== \"string\") return [];\n\t\tvar cookiesStrings = [];\n\t\tvar pos = 0;\n\t\tvar start;\n\t\tvar ch;\n\t\tvar lastComma;\n\t\tvar nextStart;\n\t\tvar cookiesSeparatorFound;\n\t\tfunction skipWhitespace() {\n\t\t\twhile (pos < cookiesString.length && /\\s/.test(cookiesString.charAt(pos))) pos += 1;\n\t\t\treturn pos < cookiesString.length;\n\t\t}\n\t\tfunction notSpecialChar() {\n\t\t\tch = cookiesString.charAt(pos);\n\t\t\treturn ch !== \"=\" && ch !== \";\" && ch !== \",\";\n\t\t}\n\t\twhile (pos < cookiesString.length) {\n\t\t\tstart = pos;\n\t\t\tcookiesSeparatorFound = false;\n\t\t\twhile (skipWhitespace()) {\n\t\t\t\tch = cookiesString.charAt(pos);\n\t\t\t\tif (ch === \",\") {\n\t\t\t\t\tlastComma = pos;\n\t\t\t\t\tpos += 1;\n\t\t\t\t\tskipWhitespace();\n\t\t\t\t\tnextStart = pos;\n\t\t\t\t\twhile (pos < cookiesString.length && notSpecialChar()) pos += 1;\n\t\t\t\t\tif (pos < cookiesString.length && cookiesString.charAt(pos) === \"=\") {\n\t\t\t\t\t\tcookiesSeparatorFound = true;\n\t\t\t\t\t\tpos = nextStart;\n\t\t\t\t\t\tcookiesStrings.push(cookiesString.substring(start, lastComma));\n\t\t\t\t\t\tstart = pos;\n\t\t\t\t\t} else pos = lastComma + 1;\n\t\t\t\t} else pos += 1;\n\t\t\t}\n\t\t\tif (!cookiesSeparatorFound || pos >= cookiesString.length) cookiesStrings.push(cookiesString.substring(start, cookiesString.length));\n\t\t}\n\t\treturn cookiesStrings;\n\t}\n\tmodule.exports = parse2;\n\tmodule.exports.parse = parse2;\n\tmodule.exports.parseString = parseString;\n\tmodule.exports.splitCookiesString = splitCookiesString2;\n} })());\nvar charCodesToRemove = [\n\tString.fromCharCode(10),\n\tString.fromCharCode(13),\n\tString.fromCharCode(9),\n\tString.fromCharCode(32)\n];\nnew RegExp(`(^[${charCodesToRemove.join(\"\")}]|$[${charCodesToRemove.join(\"\")}])`, \"g\");\nfunction createDeferredExecutor() {\n\tconst executor = (resolve, reject) => {\n\t\texecutor.state = \"pending\";\n\t\texecutor.resolve = (data) => {\n\t\t\tif (executor.state !== \"pending\") return;\n\t\t\texecutor.result = data;\n\t\t\tconst onFulfilled = (value) => {\n\t\t\t\texecutor.state = \"fulfilled\";\n\t\t\t\treturn value;\n\t\t\t};\n\t\t\treturn resolve(data instanceof Promise ? data : Promise.resolve(data).then(onFulfilled));\n\t\t};\n\t\texecutor.reject = (reason) => {\n\t\t\tif (executor.state !== \"pending\") return;\n\t\t\tqueueMicrotask(() => {\n\t\t\t\texecutor.state = \"rejected\";\n\t\t\t});\n\t\t\treturn reject(executor.rejectionReason = reason);\n\t\t};\n\t};\n\treturn executor;\n}\nvar _executor;\nvar _decorate;\nvar decorate_fn;\nvar _a3$1;\nvar DeferredPromise = (_a3$1 = class extends Promise {\n\tconstructor(executor = null) {\n\t\tconst deferredExecutor = createDeferredExecutor();\n\t\tsuper((originalResolve, originalReject) => {\n\t\t\tdeferredExecutor(originalResolve, originalReject);\n\t\t\texecutor?.(deferredExecutor.resolve, deferredExecutor.reject);\n\t\t});\n\t\t__privateAdd(this, _decorate);\n\t\t__privateAdd(this, _executor, void 0);\n\t\t__publicField(this, \"resolve\");\n\t\t__publicField(this, \"reject\");\n\t\t__privateSet(this, _executor, deferredExecutor);\n\t\tthis.resolve = __privateGet(this, _executor).resolve;\n\t\tthis.reject = __privateGet(this, _executor).reject;\n\t}\n\tget state() {\n\t\treturn __privateGet(this, _executor).state;\n\t}\n\tget rejectionReason() {\n\t\treturn __privateGet(this, _executor).rejectionReason;\n\t}\n\tthen(onFulfilled, onRejected) {\n\t\treturn __privateMethod(this, _decorate, decorate_fn).call(this, super.then(onFulfilled, onRejected));\n\t}\n\tcatch(onRejected) {\n\t\treturn __privateMethod(this, _decorate, decorate_fn).call(this, super.catch(onRejected));\n\t}\n\tfinally(onfinally) {\n\t\treturn __privateMethod(this, _decorate, decorate_fn).call(this, super.finally(onfinally));\n\t}\n}, _executor = /* @__PURE__ */ new WeakMap(), _decorate = /* @__PURE__ */ new WeakSet(), decorate_fn = function(promise) {\n\treturn Object.defineProperties(promise, {\n\t\tresolve: {\n\t\t\tconfigurable: true,\n\t\t\tvalue: this.resolve\n\t\t},\n\t\treject: {\n\t\t\tconfigurable: true,\n\t\t\tvalue: this.reject\n\t\t}\n\t});\n}, _a3$1);\nvar until = async (promise) => {\n\ttry {\n\t\treturn {\n\t\t\terror: null,\n\t\t\tdata: await promise().catch((error3) => {\n\t\t\t\tthrow error3;\n\t\t\t})\n\t\t};\n\t} catch (error3) {\n\t\treturn {\n\t\t\terror: error3,\n\t\t\tdata: null\n\t\t};\n\t}\n};\nvar { message: message2 } = source_default;\ncheckGlobals();\nvar InterceptorError = class extends Error {\n\tconstructor(message3) {\n\t\tsuper(message3);\n\t\tthis.name = \"InterceptorError\";\n\t\tObject.setPrototypeOf(this, InterceptorError.prototype);\n\t}\n};\nvar kRequestHandled = Symbol(\"kRequestHandled\");\nvar kResponsePromise = Symbol(\"kResponsePromise\");\nvar RequestController = class {\n\tconstructor(request) {\n\t\tthis.request = request;\n\t\tthis[kRequestHandled] = false;\n\t\tthis[kResponsePromise] = new DeferredPromise();\n\t}\n\t/**\n\t* Respond to this request with the given `Response` instance.\n\t* @example\n\t* controller.respondWith(new Response())\n\t* controller.respondWith(Response.json({ id }))\n\t* controller.respondWith(Response.error())\n\t*/\n\trespondWith(response) {\n\t\tinvariant.as(InterceptorError, !this[kRequestHandled], \"Failed to respond to the \\\"%s %s\\\" request: the \\\"request\\\" event has already been handled.\", this.request.method, this.request.url);\n\t\tthis[kRequestHandled] = true;\n\t\tthis[kResponsePromise].resolve(response);\n\t}\n\t/**\n\t* Error this request with the given error.\n\t* @example\n\t* controller.errorWith()\n\t* controller.errorWith(new Error('Oops!'))\n\t*/\n\terrorWith(error3) {\n\t\tinvariant.as(InterceptorError, !this[kRequestHandled], \"Failed to error the \\\"%s %s\\\" request: the \\\"request\\\" event has already been handled.\", this.request.method, this.request.url);\n\t\tthis[kRequestHandled] = true;\n\t\tthis[kResponsePromise].resolve(error3);\n\t}\n};\nasync function emitAsync(emitter, eventName, ...data) {\n\tconst listners = emitter.listeners(eventName);\n\tif (listners.length === 0) return;\n\tfor (const listener of listners) await listener.apply(emitter, data);\n}\nfunction isPropertyAccessible(obj, key) {\n\ttry {\n\t\tobj[key];\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n}\nfunction createServerErrorResponse(body) {\n\treturn new Response(JSON.stringify(body instanceof Error ? {\n\t\tname: body.name,\n\t\tmessage: body.message,\n\t\tstack: body.stack\n\t} : body), {\n\t\tstatus: 500,\n\t\tstatusText: \"Unhandled Exception\",\n\t\theaders: { \"Content-Type\": \"application/json\" }\n\t});\n}\nfunction isResponseError(response) {\n\treturn isPropertyAccessible(response, \"type\") && response.type === \"error\";\n}\nfunction isNodeLikeError(error3) {\n\tif (error3 == null) return false;\n\tif (!(error3 instanceof Error)) return false;\n\treturn \"code\" in error3 && \"errno\" in error3;\n}\nasync function handleRequest2(options) {\n\tconst handleResponse = async (response) => {\n\t\tif (response instanceof Error) options.onError(response);\n\t\telse if (isResponseError(response)) options.onRequestError(response);\n\t\telse await options.onResponse(response);\n\t\treturn true;\n\t};\n\tconst handleResponseError = async (error3) => {\n\t\tif (error3 instanceof InterceptorError) throw result.error;\n\t\tif (isNodeLikeError(error3)) {\n\t\t\toptions.onError(error3);\n\t\t\treturn true;\n\t\t}\n\t\tif (error3 instanceof Response) return await handleResponse(error3);\n\t\treturn false;\n\t};\n\toptions.emitter.once(\"request\", ({ requestId: pendingRequestId }) => {\n\t\tif (pendingRequestId !== options.requestId) return;\n\t\tif (options.controller[kResponsePromise].state === \"pending\") options.controller[kResponsePromise].resolve(void 0);\n\t});\n\tconst requestAbortPromise = new DeferredPromise();\n\tif (options.request.signal) if (options.request.signal.aborted) requestAbortPromise.reject(options.request.signal.reason);\n\telse options.request.signal.addEventListener(\"abort\", () => {\n\t\trequestAbortPromise.reject(options.request.signal.reason);\n\t}, { once: true });\n\tconst result = await until(async () => {\n\t\tconst requestListtenersPromise = emitAsync(options.emitter, \"request\", {\n\t\t\trequestId: options.requestId,\n\t\t\trequest: options.request,\n\t\t\tcontroller: options.controller\n\t\t});\n\t\tawait Promise.race([\n\t\t\trequestAbortPromise,\n\t\t\trequestListtenersPromise,\n\t\t\toptions.controller[kResponsePromise]\n\t\t]);\n\t\treturn await options.controller[kResponsePromise];\n\t});\n\tif (requestAbortPromise.state === \"rejected\") {\n\t\toptions.onError(requestAbortPromise.rejectionReason);\n\t\treturn true;\n\t}\n\tif (result.error) {\n\t\tif (await handleResponseError(result.error)) return true;\n\t\tif (options.emitter.listenerCount(\"unhandledException\") > 0) {\n\t\t\tconst unhandledExceptionController = new RequestController(options.request);\n\t\t\tawait emitAsync(options.emitter, \"unhandledException\", {\n\t\t\t\terror: result.error,\n\t\t\t\trequest: options.request,\n\t\t\t\trequestId: options.requestId,\n\t\t\t\tcontroller: unhandledExceptionController\n\t\t\t}).then(() => {\n\t\t\t\tif (unhandledExceptionController[kResponsePromise].state === \"pending\") unhandledExceptionController[kResponsePromise].resolve(void 0);\n\t\t\t});\n\t\t\tconst nextResult = await until(() => unhandledExceptionController[kResponsePromise]);\n\t\t\tif (nextResult.error) return handleResponseError(nextResult.error);\n\t\t\tif (nextResult.data) return handleResponse(nextResult.data);\n\t\t}\n\t\toptions.onResponse(createServerErrorResponse(result.error));\n\t\treturn true;\n\t}\n\tif (result.data) return handleResponse(result.data);\n\treturn false;\n}\nfunction normalizeSocketWriteArgs(args) {\n\tconst normalized = [\n\t\targs[0],\n\t\tvoid 0,\n\t\tvoid 0\n\t];\n\tif (typeof args[1] === \"string\") normalized[1] = args[1];\n\telse if (typeof args[1] === \"function\") normalized[2] = args[1];\n\tif (typeof args[2] === \"function\") normalized[2] = args[2];\n\treturn normalized;\n}\nvar MockSocket = class extends net.Socket {\n\tconstructor(options) {\n\t\tsuper();\n\t\tthis.options = options;\n\t\tthis.connecting = false;\n\t\tthis.connect();\n\t\tthis._final = (callback) => {\n\t\t\tcallback(null);\n\t\t};\n\t}\n\tconnect() {\n\t\tthis.connecting = true;\n\t\treturn this;\n\t}\n\twrite(...args) {\n\t\tconst [chunk, encoding, callback] = normalizeSocketWriteArgs(args);\n\t\tthis.options.write(chunk, encoding, callback);\n\t\treturn true;\n\t}\n\tend(...args) {\n\t\tconst [chunk, encoding, callback] = normalizeSocketWriteArgs(args);\n\t\tthis.options.write(chunk, encoding, callback);\n\t\treturn super.end.apply(this, args);\n\t}\n\tpush(chunk, encoding) {\n\t\tthis.options.read(chunk, encoding);\n\t\treturn super.push(chunk, encoding);\n\t}\n};\nfunction baseUrlFromConnectionOptions(options) {\n\tif (\"href\" in options) return new URL(options.href);\n\tconst protocol = options.port === 443 ? \"https:\" : \"http:\";\n\tconst host = options.host;\n\tconst url = new URL(`${protocol}//${host}`);\n\tif (options.port) url.port = options.port.toString();\n\tif (options.path) url.pathname = options.path;\n\tif (options.auth) {\n\t\tconst [username, password] = options.auth.split(\":\");\n\t\turl.username = username;\n\t\turl.password = password;\n\t}\n\treturn url;\n}\nvar kRawHeaders = Symbol(\"kRawHeaders\");\nvar kRestorePatches = Symbol(\"kRestorePatches\");\nfunction recordRawHeader(headers, args, behavior) {\n\tensureRawHeadersSymbol(headers, []);\n\tconst rawHeaders = Reflect.get(headers, kRawHeaders);\n\tif (behavior === \"set\") {\n\t\tfor (let index = rawHeaders.length - 1; index >= 0; index--) if (rawHeaders[index][0].toLowerCase() === args[0].toLowerCase()) rawHeaders.splice(index, 1);\n\t}\n\trawHeaders.push(args);\n}\nfunction ensureRawHeadersSymbol(headers, rawHeaders) {\n\tif (Reflect.has(headers, kRawHeaders)) return;\n\tdefineRawHeadersSymbol(headers, rawHeaders);\n}\nfunction defineRawHeadersSymbol(headers, rawHeaders) {\n\tObject.defineProperty(headers, kRawHeaders, {\n\t\tvalue: rawHeaders,\n\t\tenumerable: false,\n\t\tconfigurable: true\n\t});\n}\nfunction recordRawFetchHeaders() {\n\tif (Reflect.get(Headers, kRestorePatches)) return Reflect.get(Headers, kRestorePatches);\n\tconst { Headers: OriginalHeaders, Request: OriginalRequest, Response: OriginalResponse } = globalThis;\n\tconst { set, append, delete: headersDeleteMethod } = Headers.prototype;\n\tObject.defineProperty(Headers, kRestorePatches, {\n\t\tvalue: () => {\n\t\t\tHeaders.prototype.set = set;\n\t\t\tHeaders.prototype.append = append;\n\t\t\tHeaders.prototype.delete = headersDeleteMethod;\n\t\t\tglobalThis.Headers = OriginalHeaders;\n\t\t\tglobalThis.Request = OriginalRequest;\n\t\t\tglobalThis.Response = OriginalResponse;\n\t\t\tReflect.deleteProperty(Headers, kRestorePatches);\n\t\t},\n\t\tenumerable: false,\n\t\t/**\n\t\t* @note Mark this property as configurable\n\t\t* so we can delete it using `Reflect.delete` during cleanup.\n\t\t*/\n\t\tconfigurable: true\n\t});\n\tObject.defineProperty(globalThis, \"Headers\", {\n\t\tenumerable: true,\n\t\twritable: true,\n\t\tvalue: new Proxy(Headers, { construct(target, args, newTarget) {\n\t\t\tconst headersInit = args[0] || [];\n\t\t\tif (headersInit instanceof Headers && Reflect.has(headersInit, kRawHeaders)) {\n\t\t\t\tconst headers2 = Reflect.construct(target, [Reflect.get(headersInit, kRawHeaders)], newTarget);\n\t\t\t\tensureRawHeadersSymbol(headers2, [...Reflect.get(headersInit, kRawHeaders)]);\n\t\t\t\treturn headers2;\n\t\t\t}\n\t\t\tconst headers = Reflect.construct(target, args, newTarget);\n\t\t\tif (!Reflect.has(headers, kRawHeaders)) ensureRawHeadersSymbol(headers, Array.isArray(headersInit) ? headersInit : Object.entries(headersInit));\n\t\t\treturn headers;\n\t\t} })\n\t});\n\tHeaders.prototype.set = new Proxy(Headers.prototype.set, { apply(target, thisArg, args) {\n\t\trecordRawHeader(thisArg, args, \"set\");\n\t\treturn Reflect.apply(target, thisArg, args);\n\t} });\n\tHeaders.prototype.append = new Proxy(Headers.prototype.append, { apply(target, thisArg, args) {\n\t\trecordRawHeader(thisArg, args, \"append\");\n\t\treturn Reflect.apply(target, thisArg, args);\n\t} });\n\tHeaders.prototype.delete = new Proxy(Headers.prototype.delete, { apply(target, thisArg, args) {\n\t\tconst rawHeaders = Reflect.get(thisArg, kRawHeaders);\n\t\tif (rawHeaders) {\n\t\t\tfor (let index = rawHeaders.length - 1; index >= 0; index--) if (rawHeaders[index][0].toLowerCase() === args[0].toLowerCase()) rawHeaders.splice(index, 1);\n\t\t}\n\t\treturn Reflect.apply(target, thisArg, args);\n\t} });\n\tObject.defineProperty(globalThis, \"Request\", {\n\t\tenumerable: true,\n\t\twritable: true,\n\t\tvalue: new Proxy(Request, { construct(target, args, newTarget) {\n\t\t\tconst request = Reflect.construct(target, args, newTarget);\n\t\t\tconst inferredRawHeaders = [];\n\t\t\tif (typeof args[0] === \"object\" && args[0].headers != null) inferredRawHeaders.push(...inferRawHeaders(args[0].headers));\n\t\t\tif (typeof args[1] === \"object\" && args[1].headers != null) inferredRawHeaders.push(...inferRawHeaders(args[1].headers));\n\t\t\tif (inferredRawHeaders.length > 0) ensureRawHeadersSymbol(request.headers, inferredRawHeaders);\n\t\t\treturn request;\n\t\t} })\n\t});\n\tObject.defineProperty(globalThis, \"Response\", {\n\t\tenumerable: true,\n\t\twritable: true,\n\t\tvalue: new Proxy(Response, { construct(target, args, newTarget) {\n\t\t\tconst response = Reflect.construct(target, args, newTarget);\n\t\t\tif (typeof args[1] === \"object\" && args[1].headers != null) ensureRawHeadersSymbol(response.headers, inferRawHeaders(args[1].headers));\n\t\t\treturn response;\n\t\t} })\n\t});\n}\nfunction restoreHeadersPrototype() {\n\tif (!Reflect.get(Headers, kRestorePatches)) return;\n\tReflect.get(Headers, kRestorePatches)();\n}\nfunction getRawFetchHeaders(headers) {\n\tif (!Reflect.has(headers, kRawHeaders)) return Array.from(headers.entries());\n\tconst rawHeaders = Reflect.get(headers, kRawHeaders);\n\treturn rawHeaders.length > 0 ? rawHeaders : Array.from(headers.entries());\n}\nfunction inferRawHeaders(headers) {\n\tif (headers instanceof Headers) return Reflect.get(headers, kRawHeaders) || [];\n\treturn Reflect.get(new Headers(headers), kRawHeaders);\n}\nvar kRequestId = Symbol(\"kRequestId\");\nvar MockHttpSocket = class extends MockSocket {\n\tconstructor(options) {\n\t\tsuper({\n\t\t\twrite: (chunk, encoding, callback) => {\n\t\t\t\tvar _a4;\n\t\t\t\tif (this.socketState !== \"passthrough\") this.writeBuffer.push([\n\t\t\t\t\tchunk,\n\t\t\t\t\tencoding,\n\t\t\t\t\tcallback\n\t\t\t\t]);\n\t\t\t\tif (chunk) {\n\t\t\t\t\tif (this.socketState === \"passthrough\") (_a4 = this.originalSocket) == null || _a4.write(chunk, encoding, callback);\n\t\t\t\t\tthis.requestParser.execute(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk, encoding));\n\t\t\t\t}\n\t\t\t},\n\t\t\tread: (chunk) => {\n\t\t\t\tif (chunk !== null) this.responseParser.execute(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));\n\t\t\t}\n\t\t});\n\t\tthis.writeBuffer = [];\n\t\tthis.socketState = \"unknown\";\n\t\tthis.onRequestStart = (versionMajor, versionMinor, rawHeaders, _, path, __, ___, ____, shouldKeepAlive) => {\n\t\t\tvar _a4;\n\t\t\tthis.shouldKeepAlive = shouldKeepAlive;\n\t\t\tconst url = new URL(path, this.baseUrl);\n\t\t\tconst method = ((_a4 = this.connectionOptions.method) == null ? void 0 : _a4.toUpperCase()) || \"GET\";\n\t\t\tconst headers = FetchResponse.parseRawHeaders(rawHeaders);\n\t\t\tconst canHaveBody = method !== \"GET\" && method !== \"HEAD\";\n\t\t\tif (url.username || url.password) {\n\t\t\t\tif (!headers.has(\"authorization\")) headers.set(\"authorization\", `Basic ${url.username}:${url.password}`);\n\t\t\t\turl.username = \"\";\n\t\t\t\turl.password = \"\";\n\t\t\t}\n\t\t\tif (canHaveBody) this.requestStream = new Readable({ \n\t\t\t/**\n\t\t\t* @note Provide the `read()` method so a `Readable` could be\n\t\t\t* used as the actual request body (the stream calls \"read()\").\n\t\t\t* We control the queue in the onRequestBody/End functions.\n\t\t\t*/\nread: () => {\n\t\t\t\tthis.flushWriteBuffer();\n\t\t\t} });\n\t\t\tconst requestId = createRequestId();\n\t\t\tthis.request = new Request(url, {\n\t\t\t\tmethod,\n\t\t\t\theaders,\n\t\t\t\tcredentials: \"same-origin\",\n\t\t\t\tduplex: canHaveBody ? \"half\" : void 0,\n\t\t\t\tbody: canHaveBody ? Readable.toWeb(this.requestStream) : null\n\t\t\t});\n\t\t\tReflect.set(this.request, kRequestId, requestId);\n\t\t\tif (this.request.headers.has(INTERNAL_REQUEST_ID_HEADER_NAME)) {\n\t\t\t\tthis.passthrough();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.onRequest({\n\t\t\t\trequestId,\n\t\t\t\trequest: this.request,\n\t\t\t\tsocket: this\n\t\t\t});\n\t\t};\n\t\tthis.onResponseStart = (versionMajor, versionMinor, rawHeaders, method, url, status, statusText) => {\n\t\t\tconst headers = FetchResponse.parseRawHeaders(rawHeaders);\n\t\t\tconst response = new FetchResponse(\n\t\t\t\t/**\n\t\t\t\t* @note The Fetch API response instance exposed to the consumer\n\t\t\t\t* is created over the response stream of the HTTP parser. It is NOT\n\t\t\t\t* related to the Socket instance. This way, you can read response body\n\t\t\t\t* in response listener while the Socket instance delays the emission\n\t\t\t\t* of \"end\" and other events until those response listeners are finished.\n\t\t\t\t*/\n\t\t\t\tFetchResponse.isResponseWithBody(status) ? Readable.toWeb(this.responseStream = new Readable({ read() {} })) : null,\n\t\t\t\t{\n\t\t\t\t\turl,\n\t\t\t\t\tstatus,\n\t\t\t\t\tstatusText,\n\t\t\t\t\theaders\n\t\t\t\t}\n\t\t\t);\n\t\t\tinvariant(this.request, \"Failed to handle a response: request does not exist\");\n\t\t\tif (this.request.headers.has(INTERNAL_REQUEST_ID_HEADER_NAME)) return;\n\t\t\tthis.responseListenersPromise = this.onResponse({\n\t\t\t\tresponse,\n\t\t\t\tisMockedResponse: this.socketState === \"mock\",\n\t\t\t\trequestId: Reflect.get(this.request, kRequestId),\n\t\t\t\trequest: this.request,\n\t\t\t\tsocket: this\n\t\t\t});\n\t\t};\n\t\tthis.connectionOptions = options.connectionOptions;\n\t\tthis.createConnection = options.createConnection;\n\t\tthis.onRequest = options.onRequest;\n\t\tthis.onResponse = options.onResponse;\n\t\tthis.baseUrl = baseUrlFromConnectionOptions(this.connectionOptions);\n\t\tthis.requestParser = new HTTPParser();\n\t\tthis.requestParser.initialize(HTTPParser.REQUEST, {});\n\t\tthis.requestParser[HTTPParser.kOnHeadersComplete] = this.onRequestStart.bind(this);\n\t\tthis.requestParser[HTTPParser.kOnBody] = this.onRequestBody.bind(this);\n\t\tthis.requestParser[HTTPParser.kOnMessageComplete] = this.onRequestEnd.bind(this);\n\t\tthis.responseParser = new HTTPParser();\n\t\tthis.responseParser.initialize(HTTPParser.RESPONSE, {});\n\t\tthis.responseParser[HTTPParser.kOnHeadersComplete] = this.onResponseStart.bind(this);\n\t\tthis.responseParser[HTTPParser.kOnBody] = this.onResponseBody.bind(this);\n\t\tthis.responseParser[HTTPParser.kOnMessageComplete] = this.onResponseEnd.bind(this);\n\t\tthis.once(\"finish\", () => this.requestParser.free());\n\t\tif (this.baseUrl.protocol === \"https:\") {\n\t\t\tReflect.set(this, \"encrypted\", true);\n\t\t\tReflect.set(this, \"authorized\", false);\n\t\t\tReflect.set(this, \"getProtocol\", () => \"TLSv1.3\");\n\t\t\tReflect.set(this, \"getSession\", () => void 0);\n\t\t\tReflect.set(this, \"isSessionReused\", () => false);\n\t\t}\n\t}\n\temit(event, ...args) {\n\t\tconst emitEvent = super.emit.bind(this, event, ...args);\n\t\tif (this.responseListenersPromise) {\n\t\t\tthis.responseListenersPromise.finally(emitEvent);\n\t\t\treturn this.listenerCount(event) > 0;\n\t\t}\n\t\treturn emitEvent();\n\t}\n\tdestroy(error3) {\n\t\tthis.responseParser.free();\n\t\tif (error3) this.emit(\"error\", error3);\n\t\treturn super.destroy(error3);\n\t}\n\t/**\n\t* Establish this Socket connection as-is and pipe\n\t* its data/events through this Socket.\n\t*/\n\tpassthrough() {\n\t\tthis.socketState = \"passthrough\";\n\t\tif (this.destroyed) return;\n\t\tconst socket = this.createConnection();\n\t\tthis.originalSocket = socket;\n\t\tthis.once(\"error\", (error3) => {\n\t\t\tsocket.destroy(error3);\n\t\t});\n\t\tthis.address = socket.address.bind(socket);\n\t\tlet writeArgs;\n\t\tlet headersWritten = false;\n\t\twhile (writeArgs = this.writeBuffer.shift()) if (writeArgs !== void 0) {\n\t\t\tif (!headersWritten) {\n\t\t\t\tconst [chunk, encoding, callback] = writeArgs;\n\t\t\t\tconst chunkString = chunk.toString();\n\t\t\t\tconst chunkBeforeRequestHeaders = chunkString.slice(0, chunkString.indexOf(\"\\r\\n\") + 2);\n\t\t\t\tconst chunkAfterRequestHeaders = chunkString.slice(chunk.indexOf(\"\\r\\n\\r\\n\"));\n\t\t\t\tconst headersChunk = `${chunkBeforeRequestHeaders}${getRawFetchHeaders(this.request.headers).filter(([name]) => {\n\t\t\t\t\treturn name.toLowerCase() !== INTERNAL_REQUEST_ID_HEADER_NAME;\n\t\t\t\t}).map(([name, value]) => `${name}: ${value}`).join(\"\\r\\n\")}${chunkAfterRequestHeaders}`;\n\t\t\t\tsocket.write(headersChunk, encoding, callback);\n\t\t\t\theadersWritten = true;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tsocket.write(...writeArgs);\n\t\t}\n\t\tif (Reflect.get(socket, \"encrypted\")) [\n\t\t\t\"encrypted\",\n\t\t\t\"authorized\",\n\t\t\t\"getProtocol\",\n\t\t\t\"getSession\",\n\t\t\t\"isSessionReused\"\n\t\t].forEach((propertyName) => {\n\t\t\tObject.defineProperty(this, propertyName, {\n\t\t\t\tenumerable: true,\n\t\t\t\tget: () => {\n\t\t\t\t\tconst value = Reflect.get(socket, propertyName);\n\t\t\t\t\treturn typeof value === \"function\" ? value.bind(socket) : value;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\tsocket.on(\"lookup\", (...args) => this.emit(\"lookup\", ...args)).on(\"connect\", () => {\n\t\t\tthis.connecting = socket.connecting;\n\t\t\tthis.emit(\"connect\");\n\t\t}).on(\"secureConnect\", () => this.emit(\"secureConnect\")).on(\"secure\", () => this.emit(\"secure\")).on(\"session\", (session) => this.emit(\"session\", session)).on(\"ready\", () => this.emit(\"ready\")).on(\"drain\", () => this.emit(\"drain\")).on(\"data\", (chunk) => {\n\t\t\tthis.push(chunk);\n\t\t}).on(\"error\", (error3) => {\n\t\t\tReflect.set(this, \"_hadError\", Reflect.get(socket, \"_hadError\"));\n\t\t\tthis.emit(\"error\", error3);\n\t\t}).on(\"resume\", () => this.emit(\"resume\")).on(\"timeout\", () => this.emit(\"timeout\")).on(\"prefinish\", () => this.emit(\"prefinish\")).on(\"finish\", () => this.emit(\"finish\")).on(\"close\", (hadError) => this.emit(\"close\", hadError)).on(\"end\", () => this.emit(\"end\"));\n\t}\n\t/**\n\t* Convert the given Fetch API `Response` instance to an\n\t* HTTP message and push it to the socket.\n\t*/\n\tasync respondWith(response) {\n\t\tvar _a4;\n\t\tif (this.destroyed) return;\n\t\tif (isPropertyAccessible(response, \"type\") && response.type === \"error\") {\n\t\t\tthis.errorWith(/* @__PURE__ */ new TypeError(\"Network error\"));\n\t\t\treturn;\n\t\t}\n\t\tthis.mockConnect();\n\t\tthis.socketState = \"mock\";\n\t\tthis.flushWriteBuffer();\n\t\tconst serverResponse = new ServerResponse(new IncomingMessage(this));\n\t\tserverResponse.assignSocket(new MockSocket({\n\t\t\twrite: (chunk, encoding, callback) => {\n\t\t\t\tthis.push(chunk, encoding);\n\t\t\t\tcallback?.();\n\t\t\t},\n\t\t\tread() {}\n\t\t}));\n\t\tserverResponse.removeHeader(\"connection\");\n\t\tserverResponse.removeHeader(\"date\");\n\t\tconst rawResponseHeaders = getRawFetchHeaders(response.headers);\n\t\tserverResponse.writeHead(response.status, response.statusText || STATUS_CODES[response.status], rawResponseHeaders);\n\t\tthis.once(\"error\", () => {\n\t\t\tserverResponse.destroy();\n\t\t});\n\t\tif (response.body) try {\n\t\t\tconst reader = response.body.getReader();\n\t\t\twhile (true) {\n\t\t\t\tconst { done, value } = await reader.read();\n\t\t\t\tif (done) {\n\t\t\t\t\tserverResponse.end();\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tserverResponse.write(value);\n\t\t\t}\n\t\t} catch (error3) {\n\t\t\tthis.respondWith(createServerErrorResponse(error3));\n\t\t\treturn;\n\t\t}\n\t\telse serverResponse.end();\n\t\tif (!this.shouldKeepAlive) {\n\t\t\tthis.emit(\"readable\");\n\t\t\t(_a4 = this.responseStream) == null || _a4.push(null);\n\t\t\tthis.push(null);\n\t\t}\n\t}\n\t/**\n\t* Close this socket connection with the given error.\n\t*/\n\terrorWith(error3) {\n\t\tthis.destroy(error3);\n\t}\n\tmockConnect() {\n\t\tthis.connecting = false;\n\t\tconst isIPv6 = net.isIPv6(this.connectionOptions.hostname) || this.connectionOptions.family === 6;\n\t\tconst addressInfo = {\n\t\t\taddress: isIPv6 ? \"::1\" : \"127.0.0.1\",\n\t\t\tfamily: isIPv6 ? \"IPv6\" : \"IPv4\",\n\t\t\tport: this.connectionOptions.port\n\t\t};\n\t\tthis.address = () => addressInfo;\n\t\tthis.emit(\"lookup\", null, addressInfo.address, addressInfo.family === \"IPv6\" ? 6 : 4, this.connectionOptions.host);\n\t\tthis.emit(\"connect\");\n\t\tthis.emit(\"ready\");\n\t\tif (this.baseUrl.protocol === \"https:\") {\n\t\t\tthis.emit(\"secure\");\n\t\t\tthis.emit(\"secureConnect\");\n\t\t\tthis.emit(\"session\", this.connectionOptions.session || Buffer.from(\"mock-session-renegotiate\"));\n\t\t\tthis.emit(\"session\", Buffer.from(\"mock-session-resume\"));\n\t\t}\n\t}\n\tflushWriteBuffer() {\n\t\tfor (const writeCall of this.writeBuffer) if (typeof writeCall[2] === \"function\") {\n\t\t\twriteCall[2]();\n\t\t\twriteCall[2] = void 0;\n\t\t}\n\t}\n\tonRequestBody(chunk) {\n\t\tinvariant(this.requestStream, \"Failed to write to a request stream: stream does not exist\");\n\t\tthis.requestStream.push(chunk);\n\t}\n\tonRequestEnd() {\n\t\tif (this.requestStream) this.requestStream.push(null);\n\t}\n\tonResponseBody(chunk) {\n\t\tinvariant(this.responseStream, \"Failed to write to a response stream: stream does not exist\");\n\t\tthis.responseStream.push(chunk);\n\t}\n\tonResponseEnd() {\n\t\tif (this.responseStream) this.responseStream.push(null);\n\t}\n};\nvar MockAgent = class extends http2.Agent {\n\tconstructor(options) {\n\t\tsuper();\n\t\tthis.customAgent = options.customAgent;\n\t\tthis.onRequest = options.onRequest;\n\t\tthis.onResponse = options.onResponse;\n\t}\n\tcreateConnection(options, callback) {\n\t\treturn new MockHttpSocket({\n\t\t\tconnectionOptions: options,\n\t\t\tcreateConnection: (this.customAgent instanceof http2.Agent && this.customAgent.createConnection || super.createConnection).bind(this.customAgent || this, options, callback),\n\t\t\tonRequest: this.onRequest.bind(this),\n\t\t\tonResponse: this.onResponse.bind(this)\n\t\t});\n\t}\n};\nvar MockHttpsAgent = class extends https.Agent {\n\tconstructor(options) {\n\t\tsuper();\n\t\tthis.customAgent = options.customAgent;\n\t\tthis.onRequest = options.onRequest;\n\t\tthis.onResponse = options.onResponse;\n\t}\n\tcreateConnection(options, callback) {\n\t\treturn new MockHttpSocket({\n\t\t\tconnectionOptions: options,\n\t\t\tcreateConnection: (this.customAgent instanceof https.Agent && this.customAgent.createConnection || super.createConnection).bind(this.customAgent || this, options, callback),\n\t\t\tonRequest: this.onRequest.bind(this),\n\t\t\tonResponse: this.onResponse.bind(this)\n\t\t});\n\t}\n};\nvar logger = new Logger(\"utils getUrlByRequestOptions\");\nvar DEFAULT_PATH = \"/\";\nvar DEFAULT_PROTOCOL = \"http:\";\nvar DEFAULT_HOSTNAME = \"localhost\";\nvar SSL_PORT = 443;\nfunction getAgent(options) {\n\treturn options.agent instanceof Agent ? options.agent : void 0;\n}\nfunction getProtocolByRequestOptions(options) {\n\tvar _a4;\n\tif (options.protocol) return options.protocol;\n\tconst agent = getAgent(options);\n\tconst agentProtocol = agent == null ? void 0 : agent.protocol;\n\tif (agentProtocol) return agentProtocol;\n\tconst port = getPortByRequestOptions(options);\n\treturn options.cert || port === SSL_PORT ? \"https:\" : ((_a4 = options.uri) == null ? void 0 : _a4.protocol) || DEFAULT_PROTOCOL;\n}\nfunction getPortByRequestOptions(options) {\n\tif (options.port) return Number(options.port);\n\tconst agent = getAgent(options);\n\tif (agent == null ? void 0 : agent.options.port) return Number(agent.options.port);\n\tif (agent == null ? void 0 : agent.defaultPort) return Number(agent.defaultPort);\n}\nfunction getAuthByRequestOptions(options) {\n\tif (options.auth) {\n\t\tconst [username, password] = options.auth.split(\":\");\n\t\treturn {\n\t\t\tusername,\n\t\t\tpassword\n\t\t};\n\t}\n}\nfunction isRawIPv6Address(host) {\n\treturn host.includes(\":\") && !host.startsWith(\"[\") && !host.endsWith(\"]\");\n}\nfunction getHostname(options) {\n\tlet host = options.hostname || options.host;\n\tif (host) {\n\t\tif (isRawIPv6Address(host)) host = `[${host}]`;\n\t\treturn new URL(`http://${host}`).hostname;\n\t}\n\treturn DEFAULT_HOSTNAME;\n}\nfunction getUrlByRequestOptions(options) {\n\tlogger.info(\"request options\", options);\n\tif (options.uri) {\n\t\tlogger.info(\"constructing url from explicitly provided \\\"options.uri\\\": %s\", options.uri);\n\t\treturn new URL(options.uri.href);\n\t}\n\tlogger.info(\"figuring out url from request options...\");\n\tconst protocol = getProtocolByRequestOptions(options);\n\tlogger.info(\"protocol\", protocol);\n\tconst port = getPortByRequestOptions(options);\n\tlogger.info(\"port\", port);\n\tconst hostname = getHostname(options);\n\tlogger.info(\"hostname\", hostname);\n\tconst path = options.path || DEFAULT_PATH;\n\tlogger.info(\"path\", path);\n\tconst credentials = getAuthByRequestOptions(options);\n\tlogger.info(\"credentials\", credentials);\n\tconst authString = credentials ? `${credentials.username}:${credentials.password}@` : \"\";\n\tlogger.info(\"auth string:\", authString);\n\tconst portString = typeof port !== \"undefined\" ? `:${port}` : \"\";\n\tconst url = new URL(`${protocol}//${hostname}${portString}${path}`);\n\turl.username = (credentials == null ? void 0 : credentials.username) || \"\";\n\turl.password = (credentials == null ? void 0 : credentials.password) || \"\";\n\tlogger.info(\"created url:\", url);\n\treturn url;\n}\nvar logger2 = new Logger(\"cloneObject\");\nfunction isPlainObject(obj) {\n\tvar _a4;\n\tlogger2.info(\"is plain object?\", obj);\n\tif (obj == null || !((_a4 = obj.constructor) == null ? void 0 : _a4.name)) {\n\t\tlogger2.info(\"given object is undefined, not a plain object...\");\n\t\treturn false;\n\t}\n\tlogger2.info(\"checking the object constructor:\", obj.constructor.name);\n\treturn obj.constructor.name === \"Object\";\n}\nfunction cloneObject(obj) {\n\tlogger2.info(\"cloning object:\", obj);\n\tconst enumerableProperties = Object.entries(obj).reduce((acc, [key, value]) => {\n\t\tlogger2.info(\"analyzing key-value pair:\", key, value);\n\t\tacc[key] = isPlainObject(value) ? cloneObject(value) : value;\n\t\treturn acc;\n\t}, {});\n\treturn isPlainObject(obj) ? enumerableProperties : Object.assign(Object.getPrototypeOf(obj), enumerableProperties);\n}\nfunction isObject(value, loose = false) {\n\treturn loose ? Object.prototype.toString.call(value).startsWith(\"[object \") : Object.prototype.toString.call(value) === \"[object Object]\";\n}\nvar logger3 = new Logger(\"http normalizeClientRequestArgs\");\nfunction resolveRequestOptions(args, url) {\n\tif (typeof args[1] === \"undefined\" || typeof args[1] === \"function\") {\n\t\tlogger3.info(\"request options not provided, deriving from the url\", url);\n\t\treturn urlToHttpOptions(url);\n\t}\n\tif (args[1]) {\n\t\tlogger3.info(\"has custom RequestOptions!\", args[1]);\n\t\tconst requestOptionsFromUrl = urlToHttpOptions(url);\n\t\tlogger3.info(\"derived RequestOptions from the URL:\", requestOptionsFromUrl);\n\t\tlogger3.info(\"cloning RequestOptions...\");\n\t\tconst clonedRequestOptions = cloneObject(args[1]);\n\t\tlogger3.info(\"successfully cloned RequestOptions!\", clonedRequestOptions);\n\t\treturn {\n\t\t\t...requestOptionsFromUrl,\n\t\t\t...clonedRequestOptions\n\t\t};\n\t}\n\tlogger3.info(\"using an empty object as request options\");\n\treturn {};\n}\nfunction overrideUrlByRequestOptions(url, options) {\n\turl.host = options.host || url.host;\n\turl.hostname = options.hostname || url.hostname;\n\turl.port = options.port ? options.port.toString() : url.port;\n\tif (options.path) {\n\t\tconst parsedOptionsPath = parse(options.path, false);\n\t\turl.pathname = parsedOptionsPath.pathname || \"\";\n\t\turl.search = parsedOptionsPath.search || \"\";\n\t}\n\treturn url;\n}\nfunction resolveCallback(args) {\n\treturn typeof args[1] === \"function\" ? args[1] : args[2];\n}\nfunction normalizeClientRequestArgs(defaultProtocol, args) {\n\tlet url;\n\tlet options;\n\tlet callback;\n\tlogger3.info(\"arguments\", args);\n\tlogger3.info(\"using default protocol:\", defaultProtocol);\n\tif (args.length === 0) {\n\t\tconst url2 = new URL$1(\"http://localhost\");\n\t\treturn [url2, resolveRequestOptions(args, url2)];\n\t}\n\tif (typeof args[0] === \"string\") {\n\t\tlogger3.info(\"first argument is a location string:\", args[0]);\n\t\turl = new URL$1(args[0]);\n\t\tlogger3.info(\"created a url:\", url);\n\t\tconst requestOptionsFromUrl = urlToHttpOptions(url);\n\t\tlogger3.info(\"request options from url:\", requestOptionsFromUrl);\n\t\toptions = resolveRequestOptions(args, url);\n\t\tlogger3.info(\"resolved request options:\", options);\n\t\tcallback = resolveCallback(args);\n\t} else if (args[0] instanceof URL$1) {\n\t\turl = args[0];\n\t\tlogger3.info(\"first argument is a URL:\", url);\n\t\tif (typeof args[1] !== \"undefined\" && isObject(args[1])) url = overrideUrlByRequestOptions(url, args[1]);\n\t\toptions = resolveRequestOptions(args, url);\n\t\tlogger3.info(\"derived request options:\", options);\n\t\tcallback = resolveCallback(args);\n\t} else if (\"hash\" in args[0] && !(\"method\" in args[0])) {\n\t\tconst [legacyUrl] = args;\n\t\tlogger3.info(\"first argument is a legacy URL:\", legacyUrl);\n\t\tif (legacyUrl.hostname === null) {\n\t\t\tlogger3.info(\"given legacy URL is relative (no hostname)\");\n\t\t\treturn isObject(args[1]) ? normalizeClientRequestArgs(defaultProtocol, [{\n\t\t\t\tpath: legacyUrl.path,\n\t\t\t\t...args[1]\n\t\t\t}, args[2]]) : normalizeClientRequestArgs(defaultProtocol, [{ path: legacyUrl.path }, args[1]]);\n\t\t}\n\t\tlogger3.info(\"given legacy url is absolute\");\n\t\tconst resolvedUrl = new URL$1(legacyUrl.href);\n\t\treturn args[1] === void 0 ? normalizeClientRequestArgs(defaultProtocol, [resolvedUrl]) : typeof args[1] === \"function\" ? normalizeClientRequestArgs(defaultProtocol, [resolvedUrl, args[1]]) : normalizeClientRequestArgs(defaultProtocol, [\n\t\t\tresolvedUrl,\n\t\t\targs[1],\n\t\t\targs[2]\n\t\t]);\n\t} else if (isObject(args[0])) {\n\t\toptions = { ...args[0] };\n\t\tlogger3.info(\"first argument is RequestOptions:\", options);\n\t\toptions.protocol = options.protocol || defaultProtocol;\n\t\tlogger3.info(\"normalized request options:\", options);\n\t\turl = getUrlByRequestOptions(options);\n\t\tlogger3.info(\"created a URL from RequestOptions:\", url.href);\n\t\tcallback = resolveCallback(args);\n\t} else throw new Error(`Failed to construct ClientRequest with these parameters: ${args}`);\n\toptions.protocol = options.protocol || url.protocol;\n\toptions.method = options.method || \"GET\";\n\tif (typeof options.agent === \"undefined\") {\n\t\tconst agent = options.protocol === \"https:\" ? new Agent$1({ rejectUnauthorized: options.rejectUnauthorized }) : new Agent();\n\t\toptions.agent = agent;\n\t\tlogger3.info(\"resolved fallback agent:\", agent);\n\t}\n\tif (!options._defaultAgent) {\n\t\tlogger3.info(\"has no default agent, setting the default agent for \\\"%s\\\"\", options.protocol);\n\t\toptions._defaultAgent = options.protocol === \"https:\" ? globalAgent$1 : globalAgent;\n\t}\n\tlogger3.info(\"successfully resolved url:\", url.href);\n\tlogger3.info(\"successfully resolved options:\", options);\n\tlogger3.info(\"successfully resolved callback:\", callback);\n\tif (!(url instanceof URL$1)) url = url.toString();\n\treturn [\n\t\turl,\n\t\toptions,\n\t\tcallback\n\t];\n}\nvar _ClientRequestInterceptor = class extends Interceptor {\n\tconstructor() {\n\t\tsuper(_ClientRequestInterceptor.symbol);\n\t\tthis.onRequest = async ({ request, socket }) => {\n\t\t\tif (!await handleRequest2({\n\t\t\t\trequest,\n\t\t\t\trequestId: Reflect.get(request, kRequestId),\n\t\t\t\tcontroller: new RequestController(request),\n\t\t\t\temitter: this.emitter,\n\t\t\t\tonResponse: (response) => {\n\t\t\t\t\tsocket.respondWith(response);\n\t\t\t\t},\n\t\t\t\tonRequestError: (response) => {\n\t\t\t\t\tsocket.respondWith(response);\n\t\t\t\t},\n\t\t\t\tonError: (error3) => {\n\t\t\t\t\tif (error3 instanceof Error) socket.errorWith(error3);\n\t\t\t\t}\n\t\t\t})) return socket.passthrough();\n\t\t};\n\t\tthis.onResponse = async ({ requestId, request, response, isMockedResponse }) => {\n\t\t\treturn emitAsync(this.emitter, \"response\", {\n\t\t\t\trequestId,\n\t\t\t\trequest,\n\t\t\t\tresponse,\n\t\t\t\tisMockedResponse\n\t\t\t});\n\t\t};\n\t}\n\tsetup() {\n\t\tconst { get: originalGet, request: originalRequest } = http2;\n\t\tconst { get: originalHttpsGet, request: originalHttpsRequest } = https;\n\t\tconst onRequest = this.onRequest.bind(this);\n\t\tconst onResponse = this.onResponse.bind(this);\n\t\thttp2.request = new Proxy(http2.request, { apply: (target, thisArg, args) => {\n\t\t\tconst [url, options, callback] = normalizeClientRequestArgs(\"http:\", args);\n\t\t\toptions.agent = new MockAgent({\n\t\t\t\tcustomAgent: options.agent,\n\t\t\t\tonRequest,\n\t\t\t\tonResponse\n\t\t\t});\n\t\t\treturn Reflect.apply(target, thisArg, [\n\t\t\t\turl,\n\t\t\t\toptions,\n\t\t\t\tcallback\n\t\t\t]);\n\t\t} });\n\t\thttp2.get = new Proxy(http2.get, { apply: (target, thisArg, args) => {\n\t\t\tconst [url, options, callback] = normalizeClientRequestArgs(\"http:\", args);\n\t\t\toptions.agent = new MockAgent({\n\t\t\t\tcustomAgent: options.agent,\n\t\t\t\tonRequest,\n\t\t\t\tonResponse\n\t\t\t});\n\t\t\treturn Reflect.apply(target, thisArg, [\n\t\t\t\turl,\n\t\t\t\toptions,\n\t\t\t\tcallback\n\t\t\t]);\n\t\t} });\n\t\thttps.request = new Proxy(https.request, { apply: (target, thisArg, args) => {\n\t\t\tconst [url, options, callback] = normalizeClientRequestArgs(\"https:\", args);\n\t\t\toptions.agent = new MockHttpsAgent({\n\t\t\t\tcustomAgent: options.agent,\n\t\t\t\tonRequest,\n\t\t\t\tonResponse\n\t\t\t});\n\t\t\treturn Reflect.apply(target, thisArg, [\n\t\t\t\turl,\n\t\t\t\toptions,\n\t\t\t\tcallback\n\t\t\t]);\n\t\t} });\n\t\thttps.get = new Proxy(https.get, { apply: (target, thisArg, args) => {\n\t\t\tconst [url, options, callback] = normalizeClientRequestArgs(\"https:\", args);\n\t\t\toptions.agent = new MockHttpsAgent({\n\t\t\t\tcustomAgent: options.agent,\n\t\t\t\tonRequest,\n\t\t\t\tonResponse\n\t\t\t});\n\t\t\treturn Reflect.apply(target, thisArg, [\n\t\t\t\turl,\n\t\t\t\toptions,\n\t\t\t\tcallback\n\t\t\t]);\n\t\t} });\n\t\trecordRawFetchHeaders();\n\t\tthis.subscriptions.push(() => {\n\t\t\thttp2.get = originalGet;\n\t\t\thttp2.request = originalRequest;\n\t\t\thttps.get = originalHttpsGet;\n\t\t\thttps.request = originalHttpsRequest;\n\t\t\trestoreHeadersPrototype();\n\t\t});\n\t}\n};\nvar ClientRequestInterceptor = _ClientRequestInterceptor;\nClientRequestInterceptor.symbol = Symbol(\"client-request-interceptor\");\nfunction hasConfigurableGlobal(propertyName) {\n\tconst descriptor = Object.getOwnPropertyDescriptor(globalThis, propertyName);\n\tif (typeof descriptor === \"undefined\") return false;\n\tif (typeof descriptor.get === \"function\" && typeof descriptor.get() === \"undefined\") return false;\n\tif (typeof descriptor.get === \"undefined\" && descriptor.value == null) return false;\n\tif (typeof descriptor.set === \"undefined\" && !descriptor.configurable) {\n\t\tconsole.error(`[MSW] Failed to apply interceptor: the global \\`${propertyName}\\` property is non-configurable. This is likely an issue with your environment. If you are using a framework, please open an issue about this in their repository.`);\n\t\treturn false;\n\t}\n\treturn true;\n}\nfunction concatArrayBuffer(left, right) {\n\tconst result = new Uint8Array(left.byteLength + right.byteLength);\n\tresult.set(left, 0);\n\tresult.set(right, left.byteLength);\n\treturn result;\n}\nvar EventPolyfill = class {\n\tconstructor(type, options) {\n\t\tthis.NONE = 0;\n\t\tthis.CAPTURING_PHASE = 1;\n\t\tthis.AT_TARGET = 2;\n\t\tthis.BUBBLING_PHASE = 3;\n\t\tthis.type = \"\";\n\t\tthis.srcElement = null;\n\t\tthis.currentTarget = null;\n\t\tthis.eventPhase = 0;\n\t\tthis.isTrusted = true;\n\t\tthis.composed = false;\n\t\tthis.cancelable = true;\n\t\tthis.defaultPrevented = false;\n\t\tthis.bubbles = true;\n\t\tthis.lengthComputable = true;\n\t\tthis.loaded = 0;\n\t\tthis.total = 0;\n\t\tthis.cancelBubble = false;\n\t\tthis.returnValue = true;\n\t\tthis.type = type;\n\t\tthis.target = (options == null ? void 0 : options.target) || null;\n\t\tthis.currentTarget = (options == null ? void 0 : options.currentTarget) || null;\n\t\tthis.timeStamp = Date.now();\n\t}\n\tcomposedPath() {\n\t\treturn [];\n\t}\n\tinitEvent(type, bubbles, cancelable) {\n\t\tthis.type = type;\n\t\tthis.bubbles = !!bubbles;\n\t\tthis.cancelable = !!cancelable;\n\t}\n\tpreventDefault() {\n\t\tthis.defaultPrevented = true;\n\t}\n\tstopPropagation() {}\n\tstopImmediatePropagation() {}\n};\nvar ProgressEventPolyfill = class extends EventPolyfill {\n\tconstructor(type, init) {\n\t\tsuper(type);\n\t\tthis.lengthComputable = (init == null ? void 0 : init.lengthComputable) || false;\n\t\tthis.composed = (init == null ? void 0 : init.composed) || false;\n\t\tthis.loaded = (init == null ? void 0 : init.loaded) || 0;\n\t\tthis.total = (init == null ? void 0 : init.total) || 0;\n\t}\n};\nvar SUPPORTS_PROGRESS_EVENT = typeof ProgressEvent !== \"undefined\";\nfunction createEvent(target, type, init) {\n\tconst progressEvents = [\n\t\t\"error\",\n\t\t\"progress\",\n\t\t\"loadstart\",\n\t\t\"loadend\",\n\t\t\"load\",\n\t\t\"timeout\",\n\t\t\"abort\"\n\t];\n\tconst ProgressEventClass = SUPPORTS_PROGRESS_EVENT ? ProgressEvent : ProgressEventPolyfill;\n\treturn progressEvents.includes(type) ? new ProgressEventClass(type, {\n\t\tlengthComputable: true,\n\t\tloaded: (init == null ? void 0 : init.loaded) || 0,\n\t\ttotal: (init == null ? void 0 : init.total) || 0\n\t}) : new EventPolyfill(type, {\n\t\ttarget,\n\t\tcurrentTarget: target\n\t});\n}\nfunction findPropertySource(target, propertyName) {\n\tif (!(propertyName in target)) return null;\n\tif (Object.prototype.hasOwnProperty.call(target, propertyName)) return target;\n\tconst prototype = Reflect.getPrototypeOf(target);\n\treturn prototype ? findPropertySource(prototype, propertyName) : null;\n}\nfunction createProxy(target, options) {\n\treturn new Proxy(target, optionsToProxyHandler(options));\n}\nfunction optionsToProxyHandler(options) {\n\tconst { constructorCall, methodCall, getProperty, setProperty } = options;\n\tconst handler = {};\n\tif (typeof constructorCall !== \"undefined\") handler.construct = function(target, args, newTarget) {\n\t\tconst next = Reflect.construct.bind(null, target, args, newTarget);\n\t\treturn constructorCall.call(newTarget, args, next);\n\t};\n\thandler.set = function(target, propertyName, nextValue) {\n\t\tconst next = () => {\n\t\t\tconst propertySource = findPropertySource(target, propertyName) || target;\n\t\t\tconst ownDescriptors = Reflect.getOwnPropertyDescriptor(propertySource, propertyName);\n\t\t\tif (typeof (ownDescriptors == null ? void 0 : ownDescriptors.set) !== \"undefined\") {\n\t\t\t\townDescriptors.set.apply(target, [nextValue]);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn Reflect.defineProperty(propertySource, propertyName, {\n\t\t\t\twritable: true,\n\t\t\t\tenumerable: true,\n\t\t\t\tconfigurable: true,\n\t\t\t\tvalue: nextValue\n\t\t\t});\n\t\t};\n\t\tif (typeof setProperty !== \"undefined\") return setProperty.call(target, [propertyName, nextValue], next);\n\t\treturn next();\n\t};\n\thandler.get = function(target, propertyName, receiver) {\n\t\tconst next = () => target[propertyName];\n\t\tconst value = typeof getProperty !== \"undefined\" ? getProperty.call(target, [propertyName, receiver], next) : next();\n\t\tif (typeof value === \"function\") return (...args) => {\n\t\t\tconst next2 = value.bind(target, ...args);\n\t\t\tif (typeof methodCall !== \"undefined\") return methodCall.call(target, [propertyName, args], next2);\n\t\t\treturn next2();\n\t\t};\n\t\treturn value;\n\t};\n\treturn handler;\n}\nfunction isDomParserSupportedType(type) {\n\treturn [\n\t\t\"application/xhtml+xml\",\n\t\t\"application/xml\",\n\t\t\"image/svg+xml\",\n\t\t\"text/html\",\n\t\t\"text/xml\"\n\t].some((supportedType) => {\n\t\treturn type.startsWith(supportedType);\n\t});\n}\nfunction parseJson(data) {\n\ttry {\n\t\treturn JSON.parse(data);\n\t} catch (_) {\n\t\treturn null;\n\t}\n}\nfunction createResponse(request, body) {\n\treturn new FetchResponse(FetchResponse.isResponseWithBody(request.status) ? body : null, {\n\t\turl: request.responseURL,\n\t\tstatus: request.status,\n\t\tstatusText: request.statusText,\n\t\theaders: createHeadersFromXMLHttpReqestHeaders(request.getAllResponseHeaders())\n\t});\n}\nfunction createHeadersFromXMLHttpReqestHeaders(headersString) {\n\tconst headers = new Headers();\n\tconst lines = headersString.split(/[\\r\\n]+/);\n\tfor (const line of lines) {\n\t\tif (line.trim() === \"\") continue;\n\t\tconst [name, ...parts] = line.split(\": \");\n\t\tconst value = parts.join(\": \");\n\t\theaders.append(name, value);\n\t}\n\treturn headers;\n}\nasync function getBodyByteLength(input) {\n\tconst explicitContentLength = input.headers.get(\"content-length\");\n\tif (explicitContentLength != null && explicitContentLength !== \"\") return Number(explicitContentLength);\n\treturn (await input.arrayBuffer()).byteLength;\n}\nvar kIsRequestHandled = Symbol(\"kIsRequestHandled\");\nvar IS_NODE2 = isNodeProcess();\nvar kFetchRequest = Symbol(\"kFetchRequest\");\nvar XMLHttpRequestController = class {\n\tconstructor(initialRequest, logger4) {\n\t\tthis.initialRequest = initialRequest;\n\t\tthis.logger = logger4;\n\t\tthis.method = \"GET\";\n\t\tthis.url = null;\n\t\tthis[kIsRequestHandled] = false;\n\t\tthis.events = /* @__PURE__ */ new Map();\n\t\tthis.uploadEvents = /* @__PURE__ */ new Map();\n\t\tthis.requestId = createRequestId();\n\t\tthis.requestHeaders = new Headers();\n\t\tthis.responseBuffer = /* @__PURE__ */ new Uint8Array();\n\t\tthis.request = createProxy(initialRequest, {\n\t\t\tsetProperty: ([propertyName, nextValue], invoke) => {\n\t\t\t\tswitch (propertyName) {\n\t\t\t\t\tcase \"ontimeout\": {\n\t\t\t\t\t\tconst eventName = propertyName.slice(2);\n\t\t\t\t\t\tthis.request.addEventListener(eventName, nextValue);\n\t\t\t\t\t\treturn invoke();\n\t\t\t\t\t}\n\t\t\t\t\tdefault: return invoke();\n\t\t\t\t}\n\t\t\t},\n\t\t\tmethodCall: ([methodName, args], invoke) => {\n\t\t\t\tvar _a4;\n\t\t\t\tswitch (methodName) {\n\t\t\t\t\tcase \"open\": {\n\t\t\t\t\t\tconst [method, url] = args;\n\t\t\t\t\t\tif (typeof url === \"undefined\") {\n\t\t\t\t\t\t\tthis.method = \"GET\";\n\t\t\t\t\t\t\tthis.url = toAbsoluteUrl(method);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.method = method;\n\t\t\t\t\t\t\tthis.url = toAbsoluteUrl(url);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis.logger = this.logger.extend(`${this.method} ${this.url.href}`);\n\t\t\t\t\t\tthis.logger.info(\"open\", this.method, this.url.href);\n\t\t\t\t\t\treturn invoke();\n\t\t\t\t\t}\n\t\t\t\t\tcase \"addEventListener\": {\n\t\t\t\t\t\tconst [eventName, listener] = args;\n\t\t\t\t\t\tthis.registerEvent(eventName, listener);\n\t\t\t\t\t\tthis.logger.info(\"addEventListener\", eventName, listener);\n\t\t\t\t\t\treturn invoke();\n\t\t\t\t\t}\n\t\t\t\t\tcase \"setRequestHeader\": {\n\t\t\t\t\t\tconst [name, value] = args;\n\t\t\t\t\t\tthis.requestHeaders.set(name, value);\n\t\t\t\t\t\tthis.logger.info(\"setRequestHeader\", name, value);\n\t\t\t\t\t\treturn invoke();\n\t\t\t\t\t}\n\t\t\t\t\tcase \"send\": {\n\t\t\t\t\t\tconst [body] = args;\n\t\t\t\t\t\tthis.request.addEventListener(\"load\", () => {\n\t\t\t\t\t\t\tif (typeof this.onResponse !== \"undefined\") {\n\t\t\t\t\t\t\t\tconst fetchResponse = createResponse(\n\t\t\t\t\t\t\t\t\tthis.request,\n\t\t\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t\t\t* The `response` property is the right way to read\n\t\t\t\t\t\t\t\t\t* the ambiguous response body, as the request's \"responseType\" may differ.\n\t\t\t\t\t\t\t\t\t* @see https://xhr.spec.whatwg.org/#the-response-attribute\n\t\t\t\t\t\t\t\t\t*/\n\t\t\t\t\t\t\t\t\tthis.request.response\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tthis.onResponse.call(this, {\n\t\t\t\t\t\t\t\t\tresponse: fetchResponse,\n\t\t\t\t\t\t\t\t\tisMockedResponse: this[kIsRequestHandled],\n\t\t\t\t\t\t\t\t\trequest: fetchRequest,\n\t\t\t\t\t\t\t\t\trequestId: this.requestId\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\tconst requestBody = typeof body === \"string\" ? encodeBuffer(body) : body;\n\t\t\t\t\t\tconst fetchRequest = this.toFetchApiRequest(requestBody);\n\t\t\t\t\t\tthis[kFetchRequest] = fetchRequest.clone();\n\t\t\t\t\t\t(((_a4 = this.onRequest) == null ? void 0 : _a4.call(this, {\n\t\t\t\t\t\t\trequest: fetchRequest,\n\t\t\t\t\t\t\trequestId: this.requestId\n\t\t\t\t\t\t})) || Promise.resolve()).finally(() => {\n\t\t\t\t\t\t\tif (!this[kIsRequestHandled]) {\n\t\t\t\t\t\t\t\tthis.logger.info(\"request callback settled but request has not been handled (readystate %d), performing as-is...\", this.request.readyState);\n\t\t\t\t\t\t\t\tif (IS_NODE2) this.request.setRequestHeader(INTERNAL_REQUEST_ID_HEADER_NAME, this.requestId);\n\t\t\t\t\t\t\t\treturn invoke();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tdefault: return invoke();\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tdefine(this.request, \"upload\", createProxy(this.request.upload, {\n\t\t\tsetProperty: ([propertyName, nextValue], invoke) => {\n\t\t\t\tswitch (propertyName) {\n\t\t\t\t\tcase \"onloadstart\":\n\t\t\t\t\tcase \"onprogress\":\n\t\t\t\t\tcase \"onaboart\":\n\t\t\t\t\tcase \"onerror\":\n\t\t\t\t\tcase \"onload\":\n\t\t\t\t\tcase \"ontimeout\":\n\t\t\t\t\tcase \"onloadend\": {\n\t\t\t\t\t\tconst eventName = propertyName.slice(2);\n\t\t\t\t\t\tthis.registerUploadEvent(eventName, nextValue);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn invoke();\n\t\t\t},\n\t\t\tmethodCall: ([methodName, args], invoke) => {\n\t\t\t\tswitch (methodName) {\n\t\t\t\t\tcase \"addEventListener\": {\n\t\t\t\t\t\tconst [eventName, listener] = args;\n\t\t\t\t\t\tthis.registerUploadEvent(eventName, listener);\n\t\t\t\t\t\tthis.logger.info(\"upload.addEventListener\", eventName, listener);\n\t\t\t\t\t\treturn invoke();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}));\n\t}\n\tregisterEvent(eventName, listener) {\n\t\tconst nextEvents = (this.events.get(eventName) || []).concat(listener);\n\t\tthis.events.set(eventName, nextEvents);\n\t\tthis.logger.info(\"registered event \\\"%s\\\"\", eventName, listener);\n\t}\n\tregisterUploadEvent(eventName, listener) {\n\t\tconst nextEvents = (this.uploadEvents.get(eventName) || []).concat(listener);\n\t\tthis.uploadEvents.set(eventName, nextEvents);\n\t\tthis.logger.info(\"registered upload event \\\"%s\\\"\", eventName, listener);\n\t}\n\t/**\n\t* Responds to the current request with the given\n\t* Fetch API `Response` instance.\n\t*/\n\tasync respondWith(response) {\n\t\tthis[kIsRequestHandled] = true;\n\t\tif (this[kFetchRequest]) {\n\t\t\tconst totalRequestBodyLength = await getBodyByteLength(this[kFetchRequest]);\n\t\t\tthis.trigger(\"loadstart\", this.request.upload, {\n\t\t\t\tloaded: 0,\n\t\t\t\ttotal: totalRequestBodyLength\n\t\t\t});\n\t\t\tthis.trigger(\"progress\", this.request.upload, {\n\t\t\t\tloaded: totalRequestBodyLength,\n\t\t\t\ttotal: totalRequestBodyLength\n\t\t\t});\n\t\t\tthis.trigger(\"load\", this.request.upload, {\n\t\t\t\tloaded: totalRequestBodyLength,\n\t\t\t\ttotal: totalRequestBodyLength\n\t\t\t});\n\t\t\tthis.trigger(\"loadend\", this.request.upload, {\n\t\t\t\tloaded: totalRequestBodyLength,\n\t\t\t\ttotal: totalRequestBodyLength\n\t\t\t});\n\t\t}\n\t\tthis.logger.info(\"responding with a mocked response: %d %s\", response.status, response.statusText);\n\t\tdefine(this.request, \"status\", response.status);\n\t\tdefine(this.request, \"statusText\", response.statusText);\n\t\tdefine(this.request, \"responseURL\", this.url.href);\n\t\tthis.request.getResponseHeader = new Proxy(this.request.getResponseHeader, { apply: (_, __, args) => {\n\t\t\tthis.logger.info(\"getResponseHeader\", args[0]);\n\t\t\tif (this.request.readyState < this.request.HEADERS_RECEIVED) {\n\t\t\t\tthis.logger.info(\"headers not received yet, returning null\");\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tconst headerValue = response.headers.get(args[0]);\n\t\t\tthis.logger.info(\"resolved response header \\\"%s\\\" to\", args[0], headerValue);\n\t\t\treturn headerValue;\n\t\t} });\n\t\tthis.request.getAllResponseHeaders = new Proxy(this.request.getAllResponseHeaders, { apply: () => {\n\t\t\tthis.logger.info(\"getAllResponseHeaders\");\n\t\t\tif (this.request.readyState < this.request.HEADERS_RECEIVED) {\n\t\t\t\tthis.logger.info(\"headers not received yet, returning empty string\");\n\t\t\t\treturn \"\";\n\t\t\t}\n\t\t\tconst allHeaders = Array.from(response.headers.entries()).map(([headerName, headerValue]) => {\n\t\t\t\treturn `${headerName}: ${headerValue}`;\n\t\t\t}).join(\"\\r\\n\");\n\t\t\tthis.logger.info(\"resolved all response headers to\", allHeaders);\n\t\t\treturn allHeaders;\n\t\t} });\n\t\tObject.defineProperties(this.request, {\n\t\t\tresponse: {\n\t\t\t\tenumerable: true,\n\t\t\t\tconfigurable: false,\n\t\t\t\tget: () => this.response\n\t\t\t},\n\t\t\tresponseText: {\n\t\t\t\tenumerable: true,\n\t\t\t\tconfigurable: false,\n\t\t\t\tget: () => this.responseText\n\t\t\t},\n\t\t\tresponseXML: {\n\t\t\t\tenumerable: true,\n\t\t\t\tconfigurable: false,\n\t\t\t\tget: () => this.responseXML\n\t\t\t}\n\t\t});\n\t\tconst totalResponseBodyLength = await getBodyByteLength(response.clone());\n\t\tthis.logger.info(\"calculated response body length\", totalResponseBodyLength);\n\t\tthis.trigger(\"loadstart\", this.request, {\n\t\t\tloaded: 0,\n\t\t\ttotal: totalResponseBodyLength\n\t\t});\n\t\tthis.setReadyState(this.request.HEADERS_RECEIVED);\n\t\tthis.setReadyState(this.request.LOADING);\n\t\tconst finalizeResponse = () => {\n\t\t\tthis.logger.info(\"finalizing the mocked response...\");\n\t\t\tthis.setReadyState(this.request.DONE);\n\t\t\tthis.trigger(\"load\", this.request, {\n\t\t\t\tloaded: this.responseBuffer.byteLength,\n\t\t\t\ttotal: totalResponseBodyLength\n\t\t\t});\n\t\t\tthis.trigger(\"loadend\", this.request, {\n\t\t\t\tloaded: this.responseBuffer.byteLength,\n\t\t\t\ttotal: totalResponseBodyLength\n\t\t\t});\n\t\t};\n\t\tif (response.body) {\n\t\t\tthis.logger.info(\"mocked response has body, streaming...\");\n\t\t\tconst reader = response.body.getReader();\n\t\t\tconst readNextResponseBodyChunk = async () => {\n\t\t\t\tconst { value, done } = await reader.read();\n\t\t\t\tif (done) {\n\t\t\t\t\tthis.logger.info(\"response body stream done!\");\n\t\t\t\t\tfinalizeResponse();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (value) {\n\t\t\t\t\tthis.logger.info(\"read response body chunk:\", value);\n\t\t\t\t\tthis.responseBuffer = concatArrayBuffer(this.responseBuffer, value);\n\t\t\t\t\tthis.trigger(\"progress\", this.request, {\n\t\t\t\t\t\tloaded: this.responseBuffer.byteLength,\n\t\t\t\t\t\ttotal: totalResponseBodyLength\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treadNextResponseBodyChunk();\n\t\t\t};\n\t\t\treadNextResponseBodyChunk();\n\t\t} else finalizeResponse();\n\t}\n\tresponseBufferToText() {\n\t\treturn decodeBuffer(this.responseBuffer);\n\t}\n\tget response() {\n\t\tthis.logger.info(\"getResponse (responseType: %s)\", this.request.responseType);\n\t\tif (this.request.readyState !== this.request.DONE) return null;\n\t\tswitch (this.request.responseType) {\n\t\t\tcase \"json\": {\n\t\t\t\tconst responseJson = parseJson(this.responseBufferToText());\n\t\t\t\tthis.logger.info(\"resolved response JSON\", responseJson);\n\t\t\t\treturn responseJson;\n\t\t\t}\n\t\t\tcase \"arraybuffer\": {\n\t\t\t\tconst arrayBuffer = toArrayBuffer(this.responseBuffer);\n\t\t\t\tthis.logger.info(\"resolved response ArrayBuffer\", arrayBuffer);\n\t\t\t\treturn arrayBuffer;\n\t\t\t}\n\t\t\tcase \"blob\": {\n\t\t\t\tconst mimeType = this.request.getResponseHeader(\"Content-Type\") || \"text/plain\";\n\t\t\t\tconst responseBlob = new Blob([this.responseBufferToText()], { type: mimeType });\n\t\t\t\tthis.logger.info(\"resolved response Blob (mime type: %s)\", responseBlob, mimeType);\n\t\t\t\treturn responseBlob;\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\tconst responseText = this.responseBufferToText();\n\t\t\t\tthis.logger.info(\"resolving \\\"%s\\\" response type as text\", this.request.responseType, responseText);\n\t\t\t\treturn responseText;\n\t\t\t}\n\t\t}\n\t}\n\tget responseText() {\n\t\tinvariant(this.request.responseType === \"\" || this.request.responseType === \"text\", \"InvalidStateError: The object is in invalid state.\");\n\t\tif (this.request.readyState !== this.request.LOADING && this.request.readyState !== this.request.DONE) return \"\";\n\t\tconst responseText = this.responseBufferToText();\n\t\tthis.logger.info(\"getResponseText: \\\"%s\\\"\", responseText);\n\t\treturn responseText;\n\t}\n\tget responseXML() {\n\t\tinvariant(this.request.responseType === \"\" || this.request.responseType === \"document\", \"InvalidStateError: The object is in invalid state.\");\n\t\tif (this.request.readyState !== this.request.DONE) return null;\n\t\tconst contentType = this.request.getResponseHeader(\"Content-Type\") || \"\";\n\t\tif (typeof DOMParser === \"undefined\") {\n\t\t\tconsole.warn(\"Cannot retrieve XMLHttpRequest response body as XML: DOMParser is not defined. You are likely using an environment that is not browser or does not polyfill browser globals correctly.\");\n\t\t\treturn null;\n\t\t}\n\t\tif (isDomParserSupportedType(contentType)) return new DOMParser().parseFromString(this.responseBufferToText(), contentType);\n\t\treturn null;\n\t}\n\terrorWith(error3) {\n\t\tthis[kIsRequestHandled] = true;\n\t\tthis.logger.info(\"responding with an error\");\n\t\tthis.setReadyState(this.request.DONE);\n\t\tthis.trigger(\"error\", this.request);\n\t\tthis.trigger(\"loadend\", this.request);\n\t}\n\t/**\n\t* Transitions this request's `readyState` to the given one.\n\t*/\n\tsetReadyState(nextReadyState) {\n\t\tthis.logger.info(\"setReadyState: %d -> %d\", this.request.readyState, nextReadyState);\n\t\tif (this.request.readyState === nextReadyState) {\n\t\t\tthis.logger.info(\"ready state identical, skipping transition...\");\n\t\t\treturn;\n\t\t}\n\t\tdefine(this.request, \"readyState\", nextReadyState);\n\t\tthis.logger.info(\"set readyState to: %d\", nextReadyState);\n\t\tif (nextReadyState !== this.request.UNSENT) {\n\t\t\tthis.logger.info(\"triggerring \\\"readystatechange\\\" event...\");\n\t\t\tthis.trigger(\"readystatechange\", this.request);\n\t\t}\n\t}\n\t/**\n\t* Triggers given event on the `XMLHttpRequest` instance.\n\t*/\n\ttrigger(eventName, target, options) {\n\t\tconst callback = target[`on${eventName}`];\n\t\tconst event = createEvent(target, eventName, options);\n\t\tthis.logger.info(\"trigger \\\"%s\\\"\", eventName, options || \"\");\n\t\tif (typeof callback === \"function\") {\n\t\t\tthis.logger.info(\"found a direct \\\"%s\\\" callback, calling...\", eventName);\n\t\t\tcallback.call(target, event);\n\t\t}\n\t\tconst events = target instanceof XMLHttpRequestUpload ? this.uploadEvents : this.events;\n\t\tfor (const [registeredEventName, listeners] of events) if (registeredEventName === eventName) {\n\t\t\tthis.logger.info(\"found %d listener(s) for \\\"%s\\\" event, calling...\", listeners.length, eventName);\n\t\t\tlisteners.forEach((listener) => listener.call(target, event));\n\t\t}\n\t}\n\t/**\n\t* Converts this `XMLHttpRequest` instance into a Fetch API `Request` instance.\n\t*/\n\ttoFetchApiRequest(body) {\n\t\tthis.logger.info(\"converting request to a Fetch API Request...\");\n\t\tconst resolvedBody = body instanceof Document ? body.documentElement.innerText : body;\n\t\tconst fetchRequest = new Request(this.url.href, {\n\t\t\tmethod: this.method,\n\t\t\theaders: this.requestHeaders,\n\t\t\t/**\n\t\t\t* @see https://xhr.spec.whatwg.org/#cross-origin-credentials\n\t\t\t*/\n\t\t\tcredentials: this.request.withCredentials ? \"include\" : \"same-origin\",\n\t\t\tbody: [\"GET\", \"HEAD\"].includes(this.method.toUpperCase()) ? null : resolvedBody\n\t\t});\n\t\tdefine(fetchRequest, \"headers\", createProxy(fetchRequest.headers, { methodCall: ([methodName, args], invoke) => {\n\t\t\tswitch (methodName) {\n\t\t\t\tcase \"append\":\n\t\t\t\tcase \"set\": {\n\t\t\t\t\tconst [headerName, headerValue] = args;\n\t\t\t\t\tthis.request.setRequestHeader(headerName, headerValue);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tcase \"delete\": {\n\t\t\t\t\tconst [headerName] = args;\n\t\t\t\t\tconsole.warn(`XMLHttpRequest: Cannot remove a \"${headerName}\" header from the Fetch API representation of the \"${fetchRequest.method} ${fetchRequest.url}\" request. XMLHttpRequest headers cannot be removed.`);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn invoke();\n\t\t} }));\n\t\tthis.logger.info(\"converted request to a Fetch API Request!\", fetchRequest);\n\t\treturn fetchRequest;\n\t}\n};\nfunction toAbsoluteUrl(url) {\n\tif (typeof location === \"undefined\") return new URL(url);\n\treturn new URL(url.toString(), location.href);\n}\nfunction define(target, property, value) {\n\tReflect.defineProperty(target, property, {\n\t\twritable: true,\n\t\tenumerable: true,\n\t\tvalue\n\t});\n}\nfunction createXMLHttpRequestProxy({ emitter, logger: logger4 }) {\n\treturn new Proxy(globalThis.XMLHttpRequest, { construct(target, args, newTarget) {\n\t\tlogger4.info(\"constructed new XMLHttpRequest\");\n\t\tconst originalRequest = Reflect.construct(target, args, newTarget);\n\t\tconst prototypeDescriptors = Object.getOwnPropertyDescriptors(target.prototype);\n\t\tfor (const propertyName in prototypeDescriptors) Reflect.defineProperty(originalRequest, propertyName, prototypeDescriptors[propertyName]);\n\t\tconst xhrRequestController = new XMLHttpRequestController(originalRequest, logger4);\n\t\txhrRequestController.onRequest = async function({ request, requestId }) {\n\t\t\tconst controller = new RequestController(request);\n\t\t\tthis.logger.info(\"awaiting mocked response...\");\n\t\t\tthis.logger.info(\"emitting the \\\"request\\\" event for %s listener(s)...\", emitter.listenerCount(\"request\"));\n\t\t\tif (!await handleRequest2({\n\t\t\t\trequest,\n\t\t\t\trequestId,\n\t\t\t\tcontroller,\n\t\t\t\temitter,\n\t\t\t\tonResponse: async (response) => {\n\t\t\t\t\tawait this.respondWith(response);\n\t\t\t\t},\n\t\t\t\tonRequestError: () => {\n\t\t\t\t\tthis.errorWith(/* @__PURE__ */ new TypeError(\"Network error\"));\n\t\t\t\t},\n\t\t\t\tonError: (error3) => {\n\t\t\t\t\tthis.logger.info(\"request errored!\", { error: error3 });\n\t\t\t\t\tif (error3 instanceof Error) this.errorWith(error3);\n\t\t\t\t}\n\t\t\t})) this.logger.info(\"no mocked response received, performing request as-is...\");\n\t\t};\n\t\txhrRequestController.onResponse = async function({ response, isMockedResponse, request, requestId }) {\n\t\t\tthis.logger.info(\"emitting the \\\"response\\\" event for %s listener(s)...\", emitter.listenerCount(\"response\"));\n\t\t\temitter.emit(\"response\", {\n\t\t\t\tresponse,\n\t\t\t\tisMockedResponse,\n\t\t\t\trequest,\n\t\t\t\trequestId\n\t\t\t});\n\t\t};\n\t\treturn xhrRequestController.request;\n\t} });\n}\nvar _XMLHttpRequestInterceptor = class extends Interceptor {\n\tconstructor() {\n\t\tsuper(_XMLHttpRequestInterceptor.interceptorSymbol);\n\t}\n\tcheckEnvironment() {\n\t\treturn hasConfigurableGlobal(\"XMLHttpRequest\");\n\t}\n\tsetup() {\n\t\tconst logger4 = this.logger.extend(\"setup\");\n\t\tlogger4.info(\"patching \\\"XMLHttpRequest\\\" module...\");\n\t\tconst PureXMLHttpRequest = globalThis.XMLHttpRequest;\n\t\tinvariant(!PureXMLHttpRequest[IS_PATCHED_MODULE], \"Failed to patch the \\\"XMLHttpRequest\\\" module: already patched.\");\n\t\tglobalThis.XMLHttpRequest = createXMLHttpRequestProxy({\n\t\t\temitter: this.emitter,\n\t\t\tlogger: this.logger\n\t\t});\n\t\tlogger4.info(\"native \\\"XMLHttpRequest\\\" module patched!\", globalThis.XMLHttpRequest.name);\n\t\tObject.defineProperty(globalThis.XMLHttpRequest, IS_PATCHED_MODULE, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tvalue: true\n\t\t});\n\t\tthis.subscriptions.push(() => {\n\t\t\tObject.defineProperty(globalThis.XMLHttpRequest, IS_PATCHED_MODULE, { value: void 0 });\n\t\t\tglobalThis.XMLHttpRequest = PureXMLHttpRequest;\n\t\t\tlogger4.info(\"native \\\"XMLHttpRequest\\\" module restored!\", globalThis.XMLHttpRequest.name);\n\t\t});\n\t}\n};\nvar XMLHttpRequestInterceptor = _XMLHttpRequestInterceptor;\nXMLHttpRequestInterceptor.interceptorSymbol = Symbol(\"xhr\");\nfunction canParseUrl(url) {\n\ttry {\n\t\tnew URL(url);\n\t\treturn true;\n\t} catch (_error) {\n\t\treturn false;\n\t}\n}\nfunction createNetworkError(cause) {\n\treturn Object.assign(/* @__PURE__ */ new TypeError(\"Failed to fetch\"), { cause });\n}\nvar REQUEST_BODY_HEADERS = [\n\t\"content-encoding\",\n\t\"content-language\",\n\t\"content-location\",\n\t\"content-type\",\n\t\"content-length\"\n];\nvar kRedirectCount = Symbol(\"kRedirectCount\");\nasync function followFetchRedirect(request, response) {\n\tif (response.status !== 303 && request.body != null) return Promise.reject(createNetworkError());\n\tconst requestUrl = new URL(request.url);\n\tlet locationUrl;\n\ttry {\n\t\tlocationUrl = new URL(response.headers.get(\"location\"), request.url);\n\t} catch (error3) {\n\t\treturn Promise.reject(createNetworkError(error3));\n\t}\n\tif (!(locationUrl.protocol === \"http:\" || locationUrl.protocol === \"https:\")) return Promise.reject(createNetworkError(\"URL scheme must be a HTTP(S) scheme\"));\n\tif (Reflect.get(request, kRedirectCount) > 20) return Promise.reject(createNetworkError(\"redirect count exceeded\"));\n\tObject.defineProperty(request, kRedirectCount, { value: (Reflect.get(request, kRedirectCount) || 0) + 1 });\n\tif (request.mode === \"cors\" && (locationUrl.username || locationUrl.password) && !sameOrigin(requestUrl, locationUrl)) return Promise.reject(createNetworkError(\"cross origin not allowed for request mode \\\"cors\\\"\"));\n\tconst requestInit = {};\n\tif ([301, 302].includes(response.status) && request.method === \"POST\" || response.status === 303 && ![\"HEAD\", \"GET\"].includes(request.method)) {\n\t\trequestInit.method = \"GET\";\n\t\trequestInit.body = null;\n\t\tREQUEST_BODY_HEADERS.forEach((headerName) => {\n\t\t\trequest.headers.delete(headerName);\n\t\t});\n\t}\n\tif (!sameOrigin(requestUrl, locationUrl)) {\n\t\trequest.headers.delete(\"authorization\");\n\t\trequest.headers.delete(\"proxy-authorization\");\n\t\trequest.headers.delete(\"cookie\");\n\t\trequest.headers.delete(\"host\");\n\t}\n\trequestInit.headers = request.headers;\n\treturn fetch(new Request(locationUrl, requestInit));\n}\nfunction sameOrigin(left, right) {\n\tif (left.origin === right.origin && left.origin === \"null\") return true;\n\tif (left.protocol === right.protocol && left.hostname === right.hostname && left.port === right.port) return true;\n\treturn false;\n}\nvar BrotliDecompressionStream = class extends TransformStream {\n\tconstructor() {\n\t\tconst decompress = zlib.createBrotliDecompress({\n\t\t\tflush: zlib.constants.BROTLI_OPERATION_FLUSH,\n\t\t\tfinishFlush: zlib.constants.BROTLI_OPERATION_FLUSH\n\t\t});\n\t\tsuper({ async transform(chunk, controller) {\n\t\t\tconst buffer = Buffer.from(chunk);\n\t\t\tconst decompressed = await new Promise((resolve, reject) => {\n\t\t\t\tdecompress.write(buffer, (error3) => {\n\t\t\t\t\tif (error3) reject(error3);\n\t\t\t\t});\n\t\t\t\tdecompress.flush();\n\t\t\t\tdecompress.once(\"data\", (data) => resolve(data));\n\t\t\t\tdecompress.once(\"error\", (error3) => reject(error3));\n\t\t\t\tdecompress.once(\"end\", () => controller.terminate());\n\t\t\t}).catch((error3) => {\n\t\t\t\tcontroller.error(error3);\n\t\t\t});\n\t\t\tcontroller.enqueue(decompressed);\n\t\t} });\n\t}\n};\nvar PipelineStream = class extends TransformStream {\n\tconstructor(transformStreams, ...strategies) {\n\t\tsuper({}, ...strategies);\n\t\tconst readable = [super.readable, ...transformStreams].reduce((readable2, transform) => readable2.pipeThrough(transform));\n\t\tObject.defineProperty(this, \"readable\", { get() {\n\t\t\treturn readable;\n\t\t} });\n\t}\n};\nfunction parseContentEncoding(contentEncoding) {\n\treturn contentEncoding.toLowerCase().split(\",\").map((coding) => coding.trim());\n}\nfunction createDecompressionStream(contentEncoding) {\n\tif (contentEncoding === \"\") return null;\n\tconst codings = parseContentEncoding(contentEncoding);\n\tif (codings.length === 0) return null;\n\treturn new PipelineStream(codings.reduceRight((transformers2, coding) => {\n\t\tif (coding === \"gzip\" || coding === \"x-gzip\") return transformers2.concat(new DecompressionStream(\"gzip\"));\n\t\telse if (coding === \"deflate\") return transformers2.concat(new DecompressionStream(\"deflate\"));\n\t\telse if (coding === \"br\") return transformers2.concat(new BrotliDecompressionStream());\n\t\telse transformers2.length = 0;\n\t\treturn transformers2;\n\t}, []));\n}\nfunction decompressResponse(response) {\n\tif (response.body === null) return null;\n\tconst decompressionStream = createDecompressionStream(response.headers.get(\"content-encoding\") || \"\");\n\tif (!decompressionStream) return null;\n\tresponse.body.pipeTo(decompressionStream.writable);\n\treturn decompressionStream.readable;\n}\nvar _FetchInterceptor = class extends Interceptor {\n\tconstructor() {\n\t\tsuper(_FetchInterceptor.symbol);\n\t}\n\tcheckEnvironment() {\n\t\treturn hasConfigurableGlobal(\"fetch\");\n\t}\n\tasync setup() {\n\t\tconst pureFetch = globalThis.fetch;\n\t\tinvariant(!pureFetch[IS_PATCHED_MODULE], \"Failed to patch the \\\"fetch\\\" module: already patched.\");\n\t\tglobalThis.fetch = async (input, init) => {\n\t\t\tconst requestId = createRequestId();\n\t\t\tconst resolvedInput = typeof input === \"string\" && typeof location !== \"undefined\" && !canParseUrl(input) ? new URL(input, location.origin) : input;\n\t\t\tconst request = new Request(resolvedInput, init);\n\t\t\tconst responsePromise = new DeferredPromise();\n\t\t\tconst controller = new RequestController(request);\n\t\t\tthis.logger.info(\"[%s] %s\", request.method, request.url);\n\t\t\tthis.logger.info(\"awaiting for the mocked response...\");\n\t\t\tthis.logger.info(\"emitting the \\\"request\\\" event for %s listener(s)...\", this.emitter.listenerCount(\"request\"));\n\t\t\tif (await handleRequest2({\n\t\t\t\trequest,\n\t\t\t\trequestId,\n\t\t\t\temitter: this.emitter,\n\t\t\t\tcontroller,\n\t\t\t\tonResponse: async (rawResponse) => {\n\t\t\t\t\tthis.logger.info(\"received mocked response!\", { rawResponse });\n\t\t\t\t\tconst decompressedStream = decompressResponse(rawResponse);\n\t\t\t\t\tconst response = decompressedStream === null ? rawResponse : new FetchResponse(decompressedStream, rawResponse);\n\t\t\t\t\tFetchResponse.setUrl(request.url, response);\n\t\t\t\t\tif (FetchResponse.isRedirectResponse(response.status)) {\n\t\t\t\t\t\tif (request.redirect === \"error\") {\n\t\t\t\t\t\t\tresponsePromise.reject(createNetworkError(\"unexpected redirect\"));\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (request.redirect === \"follow\") {\n\t\t\t\t\t\t\tfollowFetchRedirect(request, response).then((response2) => {\n\t\t\t\t\t\t\t\tresponsePromise.resolve(response2);\n\t\t\t\t\t\t\t}, (reason) => {\n\t\t\t\t\t\t\t\tresponsePromise.reject(reason);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (this.emitter.listenerCount(\"response\") > 0) {\n\t\t\t\t\t\tthis.logger.info(\"emitting the \\\"response\\\" event...\");\n\t\t\t\t\t\tawait emitAsync(this.emitter, \"response\", {\n\t\t\t\t\t\t\tresponse: response.clone(),\n\t\t\t\t\t\t\tisMockedResponse: true,\n\t\t\t\t\t\t\trequest,\n\t\t\t\t\t\t\trequestId\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tresponsePromise.resolve(response);\n\t\t\t\t},\n\t\t\t\tonRequestError: (response) => {\n\t\t\t\t\tthis.logger.info(\"request has errored!\", { response });\n\t\t\t\t\tresponsePromise.reject(createNetworkError(response));\n\t\t\t\t},\n\t\t\t\tonError: (error3) => {\n\t\t\t\t\tthis.logger.info(\"request has been aborted!\", { error: error3 });\n\t\t\t\t\tresponsePromise.reject(error3);\n\t\t\t\t}\n\t\t\t})) {\n\t\t\t\tthis.logger.info(\"request has been handled, returning mock promise...\");\n\t\t\t\treturn responsePromise;\n\t\t\t}\n\t\t\tthis.logger.info(\"no mocked response received, performing request as-is...\");\n\t\t\treturn pureFetch(request).then(async (response) => {\n\t\t\t\tthis.logger.info(\"original fetch performed\", response);\n\t\t\t\tif (this.emitter.listenerCount(\"response\") > 0) {\n\t\t\t\t\tthis.logger.info(\"emitting the \\\"response\\\" event...\");\n\t\t\t\t\tconst responseClone = response.clone();\n\t\t\t\t\tawait emitAsync(this.emitter, \"response\", {\n\t\t\t\t\t\tresponse: responseClone,\n\t\t\t\t\t\tisMockedResponse: false,\n\t\t\t\t\t\trequest,\n\t\t\t\t\t\trequestId\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn response;\n\t\t\t});\n\t\t};\n\t\tObject.defineProperty(globalThis.fetch, IS_PATCHED_MODULE, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tvalue: true\n\t\t});\n\t\tthis.subscriptions.push(() => {\n\t\t\tObject.defineProperty(globalThis.fetch, IS_PATCHED_MODULE, { value: void 0 });\n\t\t\tglobalThis.fetch = pureFetch;\n\t\t\tthis.logger.info(\"restored native \\\"globalThis.fetch\\\"!\", globalThis.fetch.name);\n\t\t});\n\t}\n};\nvar FetchInterceptor = _FetchInterceptor;\nFetchInterceptor.symbol = Symbol(\"fetch\");\nfunction hasConfigurableGlobal2(propertyName) {\n\tconst descriptor = Object.getOwnPropertyDescriptor(globalThis, propertyName);\n\tif (typeof descriptor === \"undefined\") return false;\n\tif (typeof descriptor.get === \"function\" && typeof descriptor.get() === \"undefined\") return false;\n\tif (typeof descriptor.get === \"undefined\" && descriptor.value == null) return false;\n\tif (typeof descriptor.set === \"undefined\" && !descriptor.configurable) {\n\t\tconsole.error(`[MSW] Failed to apply interceptor: the global \\`${propertyName}\\` property is non-configurable. This is likely an issue with your environment. If you are using a framework, please open an issue about this in their repository.`);\n\t\treturn false;\n\t}\n\treturn true;\n}\nfunction getGlobalSymbol2(symbol) {\n\treturn globalThis[symbol] || void 0;\n}\nfunction setGlobalSymbol2(symbol, value) {\n\tglobalThis[symbol] = value;\n}\nfunction deleteGlobalSymbol2(symbol) {\n\tdelete globalThis[symbol];\n}\nvar Interceptor2 = class {\n\tconstructor(symbol) {\n\t\tthis.symbol = symbol;\n\t\tthis.readyState = \"INACTIVE\";\n\t\tthis.emitter = new Emitter();\n\t\tthis.subscriptions = [];\n\t\tthis.logger = new Logger(symbol.description);\n\t\tthis.emitter.setMaxListeners(0);\n\t\tthis.logger.info(\"constructing the interceptor...\");\n\t}\n\t/**\n\t* Determine if this interceptor can be applied\n\t* in the current environment.\n\t*/\n\tcheckEnvironment() {\n\t\treturn true;\n\t}\n\t/**\n\t* Apply this interceptor to the current process.\n\t* Returns an already running interceptor instance if it's present.\n\t*/\n\tapply() {\n\t\tconst logger4 = this.logger.extend(\"apply\");\n\t\tlogger4.info(\"applying the interceptor...\");\n\t\tif (this.readyState === \"APPLIED\") {\n\t\t\tlogger4.info(\"intercepted already applied!\");\n\t\t\treturn;\n\t\t}\n\t\tif (!this.checkEnvironment()) {\n\t\t\tlogger4.info(\"the interceptor cannot be applied in this environment!\");\n\t\t\treturn;\n\t\t}\n\t\tthis.readyState = \"APPLYING\";\n\t\tconst runningInstance = this.getInstance();\n\t\tif (runningInstance) {\n\t\t\tlogger4.info(\"found a running instance, reusing...\");\n\t\t\tthis.on = (event, listener) => {\n\t\t\t\tlogger4.info(\"proxying the \\\"%s\\\" listener\", event);\n\t\t\t\trunningInstance.emitter.addListener(event, listener);\n\t\t\t\tthis.subscriptions.push(() => {\n\t\t\t\t\trunningInstance.emitter.removeListener(event, listener);\n\t\t\t\t\tlogger4.info(\"removed proxied \\\"%s\\\" listener!\", event);\n\t\t\t\t});\n\t\t\t\treturn this;\n\t\t\t};\n\t\t\tthis.readyState = \"APPLIED\";\n\t\t\treturn;\n\t\t}\n\t\tlogger4.info(\"no running instance found, setting up a new instance...\");\n\t\tthis.setup();\n\t\tthis.setInstance();\n\t\tthis.readyState = \"APPLIED\";\n\t}\n\t/**\n\t* Setup the module augments and stubs necessary for this interceptor.\n\t* This method is not run if there's a running interceptor instance\n\t* to prevent instantiating an interceptor multiple times.\n\t*/\n\tsetup() {}\n\t/**\n\t* Listen to the interceptor's public events.\n\t*/\n\ton(event, listener) {\n\t\tconst logger4 = this.logger.extend(\"on\");\n\t\tif (this.readyState === \"DISPOSING\" || this.readyState === \"DISPOSED\") {\n\t\t\tlogger4.info(\"cannot listen to events, already disposed!\");\n\t\t\treturn this;\n\t\t}\n\t\tlogger4.info(\"adding \\\"%s\\\" event listener:\", event, listener);\n\t\tthis.emitter.on(event, listener);\n\t\treturn this;\n\t}\n\tonce(event, listener) {\n\t\tthis.emitter.once(event, listener);\n\t\treturn this;\n\t}\n\toff(event, listener) {\n\t\tthis.emitter.off(event, listener);\n\t\treturn this;\n\t}\n\tremoveAllListeners(event) {\n\t\tthis.emitter.removeAllListeners(event);\n\t\treturn this;\n\t}\n\t/**\n\t* Disposes of any side-effects this interceptor has introduced.\n\t*/\n\tdispose() {\n\t\tconst logger4 = this.logger.extend(\"dispose\");\n\t\tif (this.readyState === \"DISPOSED\") {\n\t\t\tlogger4.info(\"cannot dispose, already disposed!\");\n\t\t\treturn;\n\t\t}\n\t\tlogger4.info(\"disposing the interceptor...\");\n\t\tthis.readyState = \"DISPOSING\";\n\t\tif (!this.getInstance()) {\n\t\t\tlogger4.info(\"no interceptors running, skipping dispose...\");\n\t\t\treturn;\n\t\t}\n\t\tthis.clearInstance();\n\t\tlogger4.info(\"global symbol deleted:\", getGlobalSymbol2(this.symbol));\n\t\tif (this.subscriptions.length > 0) {\n\t\t\tlogger4.info(\"disposing of %d subscriptions...\", this.subscriptions.length);\n\t\t\tfor (const dispose of this.subscriptions) dispose();\n\t\t\tthis.subscriptions = [];\n\t\t\tlogger4.info(\"disposed of all subscriptions!\", this.subscriptions.length);\n\t\t}\n\t\tthis.emitter.removeAllListeners();\n\t\tlogger4.info(\"destroyed the listener!\");\n\t\tthis.readyState = \"DISPOSED\";\n\t}\n\tgetInstance() {\n\t\tvar _a4;\n\t\tconst instance = getGlobalSymbol2(this.symbol);\n\t\tthis.logger.info(\"retrieved global instance:\", (_a4 = instance == null ? void 0 : instance.constructor) == null ? void 0 : _a4.name);\n\t\treturn instance;\n\t}\n\tsetInstance() {\n\t\tsetGlobalSymbol2(this.symbol, this);\n\t\tthis.logger.info(\"set global instance!\", this.symbol.description);\n\t}\n\tclearInstance() {\n\t\tdeleteGlobalSymbol2(this.symbol);\n\t\tthis.logger.info(\"cleared global instance!\", this.symbol.description);\n\t}\n};\nfunction createRequestId2() {\n\treturn Math.random().toString(16).slice(2);\n}\nfunction bindEvent(target, event) {\n\tObject.defineProperties(event, {\n\t\ttarget: {\n\t\t\tvalue: target,\n\t\t\tenumerable: true,\n\t\t\twritable: true\n\t\t},\n\t\tcurrentTarget: {\n\t\t\tvalue: target,\n\t\t\tenumerable: true,\n\t\t\twritable: true\n\t\t}\n\t});\n\treturn event;\n}\nvar kCancelable = Symbol(\"kCancelable\");\nvar kDefaultPrevented = Symbol(\"kDefaultPrevented\");\nvar CancelableMessageEvent = class extends MessageEvent {\n\tconstructor(type, init) {\n\t\tsuper(type, init);\n\t\tthis[kCancelable] = !!init.cancelable;\n\t\tthis[kDefaultPrevented] = false;\n\t}\n\tget cancelable() {\n\t\treturn this[kCancelable];\n\t}\n\tset cancelable(nextCancelable) {\n\t\tthis[kCancelable] = nextCancelable;\n\t}\n\tget defaultPrevented() {\n\t\treturn this[kDefaultPrevented];\n\t}\n\tset defaultPrevented(nextDefaultPrevented) {\n\t\tthis[kDefaultPrevented] = nextDefaultPrevented;\n\t}\n\tpreventDefault() {\n\t\tif (this.cancelable && !this[kDefaultPrevented]) this[kDefaultPrevented] = true;\n\t}\n};\nvar CloseEvent = class extends Event {\n\tconstructor(type, init = {}) {\n\t\tsuper(type, init);\n\t\tthis.code = init.code === void 0 ? 0 : init.code;\n\t\tthis.reason = init.reason === void 0 ? \"\" : init.reason;\n\t\tthis.wasClean = init.wasClean === void 0 ? false : init.wasClean;\n\t}\n};\nvar CancelableCloseEvent = class extends CloseEvent {\n\tconstructor(type, init = {}) {\n\t\tsuper(type, init);\n\t\tthis[kCancelable] = !!init.cancelable;\n\t\tthis[kDefaultPrevented] = false;\n\t}\n\tget cancelable() {\n\t\treturn this[kCancelable];\n\t}\n\tset cancelable(nextCancelable) {\n\t\tthis[kCancelable] = nextCancelable;\n\t}\n\tget defaultPrevented() {\n\t\treturn this[kDefaultPrevented];\n\t}\n\tset defaultPrevented(nextDefaultPrevented) {\n\t\tthis[kDefaultPrevented] = nextDefaultPrevented;\n\t}\n\tpreventDefault() {\n\t\tif (this.cancelable && !this[kDefaultPrevented]) this[kDefaultPrevented] = true;\n\t}\n};\nvar kEmitter2 = Symbol(\"kEmitter\");\nvar kBoundListener = Symbol(\"kBoundListener\");\nvar WebSocketClientConnection = class {\n\tconstructor(socket, transport) {\n\t\tthis.socket = socket;\n\t\tthis.transport = transport;\n\t\tthis.id = createRequestId2();\n\t\tthis.url = new URL(socket.url);\n\t\tthis[kEmitter2] = new EventTarget();\n\t\tthis.transport.addEventListener(\"outgoing\", (event) => {\n\t\t\tconst message3 = bindEvent(this.socket, new CancelableMessageEvent(\"message\", {\n\t\t\t\tdata: event.data,\n\t\t\t\torigin: event.origin,\n\t\t\t\tcancelable: true\n\t\t\t}));\n\t\t\tthis[kEmitter2].dispatchEvent(message3);\n\t\t\tif (message3.defaultPrevented) event.preventDefault();\n\t\t});\n\t\tthis.transport.addEventListener(\"close\", (event) => {\n\t\t\tthis[kEmitter2].dispatchEvent(bindEvent(this.socket, new CloseEvent(\"close\", event)));\n\t\t});\n\t}\n\t/**\n\t* Listen for the outgoing events from the connected WebSocket client.\n\t*/\n\taddEventListener(type, listener, options) {\n\t\tif (!Reflect.has(listener, kBoundListener)) {\n\t\t\tconst boundListener = listener.bind(this.socket);\n\t\t\tObject.defineProperty(listener, kBoundListener, {\n\t\t\t\tvalue: boundListener,\n\t\t\t\tenumerable: false,\n\t\t\t\tconfigurable: false\n\t\t\t});\n\t\t}\n\t\tthis[kEmitter2].addEventListener(type, Reflect.get(listener, kBoundListener), options);\n\t}\n\t/**\n\t* Removes the listener for the given event.\n\t*/\n\tremoveEventListener(event, listener, options) {\n\t\tthis[kEmitter2].removeEventListener(event, Reflect.get(listener, kBoundListener), options);\n\t}\n\t/**\n\t* Send data to the connected client.\n\t*/\n\tsend(data) {\n\t\tthis.transport.send(data);\n\t}\n\t/**\n\t* Close the WebSocket connection.\n\t* @param {number} code A status code (see https://www.rfc-editor.org/rfc/rfc6455#section-7.4.1).\n\t* @param {string} reason A custom connection close reason.\n\t*/\n\tclose(code, reason) {\n\t\tthis.transport.close(code, reason);\n\t}\n};\nvar WEBSOCKET_CLOSE_CODE_RANGE_ERROR = \"InvalidAccessError: close code out of user configurable range\";\nvar kPassthroughPromise = Symbol(\"kPassthroughPromise\");\nvar kOnSend = Symbol(\"kOnSend\");\nvar kClose = Symbol(\"kClose\");\nvar WebSocketOverride = class extends EventTarget {\n\tconstructor(url, protocols) {\n\t\tsuper();\n\t\tthis.CONNECTING = 0;\n\t\tthis.OPEN = 1;\n\t\tthis.CLOSING = 2;\n\t\tthis.CLOSED = 3;\n\t\tthis._onopen = null;\n\t\tthis._onmessage = null;\n\t\tthis._onerror = null;\n\t\tthis._onclose = null;\n\t\tthis.url = url.toString();\n\t\tthis.protocol = \"\";\n\t\tthis.extensions = \"\";\n\t\tthis.binaryType = \"blob\";\n\t\tthis.readyState = this.CONNECTING;\n\t\tthis.bufferedAmount = 0;\n\t\tthis[kPassthroughPromise] = new DeferredPromise();\n\t\tqueueMicrotask(async () => {\n\t\t\tif (await this[kPassthroughPromise]) return;\n\t\t\tthis.protocol = typeof protocols === \"string\" ? protocols : Array.isArray(protocols) && protocols.length > 0 ? protocols[0] : \"\";\n\t\t\tif (this.readyState === this.CONNECTING) {\n\t\t\t\tthis.readyState = this.OPEN;\n\t\t\t\tthis.dispatchEvent(bindEvent(this, new Event(\"open\")));\n\t\t\t}\n\t\t});\n\t}\n\tset onopen(listener) {\n\t\tthis.removeEventListener(\"open\", this._onopen);\n\t\tthis._onopen = listener;\n\t\tif (listener !== null) this.addEventListener(\"open\", listener);\n\t}\n\tget onopen() {\n\t\treturn this._onopen;\n\t}\n\tset onmessage(listener) {\n\t\tthis.removeEventListener(\"message\", this._onmessage);\n\t\tthis._onmessage = listener;\n\t\tif (listener !== null) this.addEventListener(\"message\", listener);\n\t}\n\tget onmessage() {\n\t\treturn this._onmessage;\n\t}\n\tset onerror(listener) {\n\t\tthis.removeEventListener(\"error\", this._onerror);\n\t\tthis._onerror = listener;\n\t\tif (listener !== null) this.addEventListener(\"error\", listener);\n\t}\n\tget onerror() {\n\t\treturn this._onerror;\n\t}\n\tset onclose(listener) {\n\t\tthis.removeEventListener(\"close\", this._onclose);\n\t\tthis._onclose = listener;\n\t\tif (listener !== null) this.addEventListener(\"close\", listener);\n\t}\n\tget onclose() {\n\t\treturn this._onclose;\n\t}\n\t/**\n\t* @see https://websockets.spec.whatwg.org/#ref-for-dom-websocket-send%E2%91%A0\n\t*/\n\tsend(data) {\n\t\tif (this.readyState === this.CONNECTING) {\n\t\t\tthis.close();\n\t\t\tthrow new DOMException(\"InvalidStateError\");\n\t\t}\n\t\tif (this.readyState === this.CLOSING || this.readyState === this.CLOSED) return;\n\t\tthis.bufferedAmount += getDataSize(data);\n\t\tqueueMicrotask(() => {\n\t\t\tvar _a4;\n\t\t\tthis.bufferedAmount = 0;\n\t\t\t(_a4 = this[kOnSend]) == null || _a4.call(this, data);\n\t\t});\n\t}\n\tclose(code = 1e3, reason) {\n\t\tinvariant(code, WEBSOCKET_CLOSE_CODE_RANGE_ERROR);\n\t\tinvariant(code === 1e3 || code >= 3e3 && code <= 4999, WEBSOCKET_CLOSE_CODE_RANGE_ERROR);\n\t\tthis[kClose](code, reason);\n\t}\n\t[kClose](code = 1e3, reason, wasClean = true) {\n\t\tif (this.readyState === this.CLOSING || this.readyState === this.CLOSED) return;\n\t\tthis.readyState = this.CLOSING;\n\t\tqueueMicrotask(() => {\n\t\t\tthis.readyState = this.CLOSED;\n\t\t\tthis.dispatchEvent(bindEvent(this, new CloseEvent(\"close\", {\n\t\t\t\tcode,\n\t\t\t\treason,\n\t\t\t\twasClean\n\t\t\t})));\n\t\t\tthis._onopen = null;\n\t\t\tthis._onmessage = null;\n\t\t\tthis._onerror = null;\n\t\t\tthis._onclose = null;\n\t\t});\n\t}\n\taddEventListener(type, listener, options) {\n\t\treturn super.addEventListener(type, listener, options);\n\t}\n\tremoveEventListener(type, callback, options) {\n\t\treturn super.removeEventListener(type, callback, options);\n\t}\n};\nWebSocketOverride.CONNECTING = 0;\nWebSocketOverride.OPEN = 1;\nWebSocketOverride.CLOSING = 2;\nWebSocketOverride.CLOSED = 3;\nfunction getDataSize(data) {\n\tif (typeof data === \"string\") return data.length;\n\tif (data instanceof Blob) return data.size;\n\treturn data.byteLength;\n}\nvar kEmitter22 = Symbol(\"kEmitter\");\nvar kBoundListener2 = Symbol(\"kBoundListener\");\nvar kSend = Symbol(\"kSend\");\nvar WebSocketServerConnection = class {\n\tconstructor(client, transport, createConnection) {\n\t\tthis.client = client;\n\t\tthis.transport = transport;\n\t\tthis.createConnection = createConnection;\n\t\tthis[kEmitter22] = new EventTarget();\n\t\tthis.mockCloseController = new AbortController();\n\t\tthis.realCloseController = new AbortController();\n\t\tthis.transport.addEventListener(\"outgoing\", (event) => {\n\t\t\tif (typeof this.realWebSocket === \"undefined\") return;\n\t\t\tqueueMicrotask(() => {\n\t\t\t\tif (!event.defaultPrevented) this[kSend](event.data);\n\t\t\t});\n\t\t});\n\t\tthis.transport.addEventListener(\"incoming\", this.handleIncomingMessage.bind(this));\n\t}\n\t/**\n\t* The `WebSocket` instance connected to the original server.\n\t* Accessing this before calling `server.connect()` will throw.\n\t*/\n\tget socket() {\n\t\tinvariant(this.realWebSocket, \"Cannot access \\\"socket\\\" on the original WebSocket server object: the connection is not open. Did you forget to call `server.connect()`?\");\n\t\treturn this.realWebSocket;\n\t}\n\t/**\n\t* Open connection to the original WebSocket server.\n\t*/\n\tconnect() {\n\t\tinvariant(!this.realWebSocket || this.realWebSocket.readyState !== WebSocket.OPEN, \"Failed to call \\\"connect()\\\" on the original WebSocket instance: the connection already open\");\n\t\tconst realWebSocket = this.createConnection();\n\t\trealWebSocket.binaryType = this.client.binaryType;\n\t\trealWebSocket.addEventListener(\"open\", (event) => {\n\t\t\tthis[kEmitter22].dispatchEvent(bindEvent(this.realWebSocket, new Event(\"open\", event)));\n\t\t}, { once: true });\n\t\trealWebSocket.addEventListener(\"message\", (event) => {\n\t\t\tthis.transport.dispatchEvent(bindEvent(this.realWebSocket, new MessageEvent(\"incoming\", {\n\t\t\t\tdata: event.data,\n\t\t\t\torigin: event.origin\n\t\t\t})));\n\t\t});\n\t\tthis.client.addEventListener(\"close\", (event) => {\n\t\t\tthis.handleMockClose(event);\n\t\t}, { signal: this.mockCloseController.signal });\n\t\trealWebSocket.addEventListener(\"close\", (event) => {\n\t\t\tthis.handleRealClose(event);\n\t\t}, { signal: this.realCloseController.signal });\n\t\trealWebSocket.addEventListener(\"error\", () => {\n\t\t\tconst errorEvent = bindEvent(realWebSocket, new Event(\"error\", { cancelable: true }));\n\t\t\tthis[kEmitter22].dispatchEvent(errorEvent);\n\t\t\tif (!errorEvent.defaultPrevented) this.client.dispatchEvent(bindEvent(this.client, new Event(\"error\")));\n\t\t});\n\t\tthis.realWebSocket = realWebSocket;\n\t}\n\t/**\n\t* Listen for the incoming events from the original WebSocket server.\n\t*/\n\taddEventListener(event, listener, options) {\n\t\tif (!Reflect.has(listener, kBoundListener2)) {\n\t\t\tconst boundListener = listener.bind(this.client);\n\t\t\tObject.defineProperty(listener, kBoundListener2, {\n\t\t\t\tvalue: boundListener,\n\t\t\t\tenumerable: false\n\t\t\t});\n\t\t}\n\t\tthis[kEmitter22].addEventListener(event, Reflect.get(listener, kBoundListener2), options);\n\t}\n\t/**\n\t* Remove the listener for the given event.\n\t*/\n\tremoveEventListener(event, listener, options) {\n\t\tthis[kEmitter22].removeEventListener(event, Reflect.get(listener, kBoundListener2), options);\n\t}\n\t/**\n\t* Send data to the original WebSocket server.\n\t* @example\n\t* server.send('hello')\n\t* server.send(new Blob(['hello']))\n\t* server.send(new TextEncoder().encode('hello'))\n\t*/\n\tsend(data) {\n\t\tthis[kSend](data);\n\t}\n\t[kSend](data) {\n\t\tconst { realWebSocket } = this;\n\t\tinvariant(realWebSocket, \"Failed to call \\\"server.send()\\\" for \\\"%s\\\": the connection is not open. Did you forget to call \\\"server.connect()\\\"?\", this.client.url);\n\t\tif (realWebSocket.readyState === WebSocket.CLOSING || realWebSocket.readyState === WebSocket.CLOSED) return;\n\t\tif (realWebSocket.readyState === WebSocket.CONNECTING) {\n\t\t\trealWebSocket.addEventListener(\"open\", () => {\n\t\t\t\trealWebSocket.send(data);\n\t\t\t}, { once: true });\n\t\t\treturn;\n\t\t}\n\t\trealWebSocket.send(data);\n\t}\n\t/**\n\t* Close the actual server connection.\n\t*/\n\tclose() {\n\t\tconst { realWebSocket } = this;\n\t\tinvariant(realWebSocket, \"Failed to close server connection for \\\"%s\\\": the connection is not open. Did you forget to call \\\"server.connect()\\\"?\", this.client.url);\n\t\tthis.realCloseController.abort();\n\t\tif (realWebSocket.readyState === WebSocket.CLOSING || realWebSocket.readyState === WebSocket.CLOSED) return;\n\t\trealWebSocket.close();\n\t\tqueueMicrotask(() => {\n\t\t\tthis[kEmitter22].dispatchEvent(bindEvent(this.realWebSocket, new CancelableCloseEvent(\"close\", {\n\t\t\t\t/**\n\t\t\t\t* @note `server.close()` in the interceptor\n\t\t\t\t* always results in clean closures.\n\t\t\t\t*/\n\t\t\t\tcode: 1e3,\n\t\t\t\tcancelable: true\n\t\t\t})));\n\t\t});\n\t}\n\thandleIncomingMessage(event) {\n\t\tconst messageEvent = bindEvent(event.target, new CancelableMessageEvent(\"message\", {\n\t\t\tdata: event.data,\n\t\t\torigin: event.origin,\n\t\t\tcancelable: true\n\t\t}));\n\t\tthis[kEmitter22].dispatchEvent(messageEvent);\n\t\tif (!messageEvent.defaultPrevented) this.client.dispatchEvent(bindEvent(\n\t\t\t/**\n\t\t\t* @note Bind the forwarded original server events\n\t\t\t* to the mock WebSocket instance so it would\n\t\t\t* dispatch them straight away.\n\t\t\t*/\n\t\t\tthis.client,\n\t\t\tnew MessageEvent(\"message\", {\n\t\t\t\tdata: event.data,\n\t\t\t\torigin: event.origin\n\t\t\t})\n\t\t));\n\t}\n\thandleMockClose(_event) {\n\t\tif (this.realWebSocket) this.realWebSocket.close();\n\t}\n\thandleRealClose(event) {\n\t\tthis.mockCloseController.abort();\n\t\tconst closeEvent = bindEvent(this.realWebSocket, new CancelableCloseEvent(\"close\", {\n\t\t\tcode: event.code,\n\t\t\treason: event.reason,\n\t\t\twasClean: event.wasClean,\n\t\t\tcancelable: true\n\t\t}));\n\t\tthis[kEmitter22].dispatchEvent(closeEvent);\n\t\tif (!closeEvent.defaultPrevented) this.client[kClose](event.code, event.reason);\n\t}\n};\nvar WebSocketClassTransport = class extends EventTarget {\n\tconstructor(socket) {\n\t\tsuper();\n\t\tthis.socket = socket;\n\t\tthis.socket.addEventListener(\"close\", (event) => {\n\t\t\tthis.dispatchEvent(bindEvent(this.socket, new CloseEvent(\"close\", event)));\n\t\t});\n\t\tthis.socket[kOnSend] = (data) => {\n\t\t\tthis.dispatchEvent(bindEvent(this.socket, new CancelableMessageEvent(\"outgoing\", {\n\t\t\t\tdata,\n\t\t\t\torigin: this.socket.url,\n\t\t\t\tcancelable: true\n\t\t\t})));\n\t\t};\n\t}\n\taddEventListener(type, callback, options) {\n\t\treturn super.addEventListener(type, callback, options);\n\t}\n\tdispatchEvent(event) {\n\t\treturn super.dispatchEvent(event);\n\t}\n\tsend(data) {\n\t\tqueueMicrotask(() => {\n\t\t\tif (this.socket.readyState === this.socket.CLOSING || this.socket.readyState === this.socket.CLOSED) return;\n\t\t\tconst dispatchEvent = () => {\n\t\t\t\tthis.socket.dispatchEvent(bindEvent(\n\t\t\t\t\t/**\n\t\t\t\t\t* @note Setting this event's \"target\" to the\n\t\t\t\t\t* WebSocket override instance is important.\n\t\t\t\t\t* This way it can tell apart original incoming events\n\t\t\t\t\t* (must be forwarded to the transport) from the\n\t\t\t\t\t* mocked message events like the one below\n\t\t\t\t\t* (must be dispatched on the client instance).\n\t\t\t\t\t*/\n\t\t\t\t\tthis.socket,\n\t\t\t\t\tnew MessageEvent(\"message\", {\n\t\t\t\t\t\tdata,\n\t\t\t\t\t\torigin: this.socket.url\n\t\t\t\t\t})\n\t\t\t\t));\n\t\t\t};\n\t\t\tif (this.socket.readyState === this.socket.CONNECTING) this.socket.addEventListener(\"open\", () => {\n\t\t\t\tdispatchEvent();\n\t\t\t}, { once: true });\n\t\t\telse dispatchEvent();\n\t\t});\n\t}\n\tclose(code, reason) {\n\t\tthis.socket[kClose](code, reason);\n\t}\n};\nvar _WebSocketInterceptor = class extends Interceptor2 {\n\tconstructor() {\n\t\tsuper(_WebSocketInterceptor.symbol);\n\t}\n\tcheckEnvironment() {\n\t\treturn hasConfigurableGlobal2(\"WebSocket\");\n\t}\n\tsetup() {\n\t\tconst originalWebSocketDescriptor = Object.getOwnPropertyDescriptor(globalThis, \"WebSocket\");\n\t\tconst WebSocketProxy = new Proxy(globalThis.WebSocket, { construct: (target, args, newTarget) => {\n\t\t\tconst [url, protocols] = args;\n\t\t\tconst createConnection = () => {\n\t\t\t\treturn Reflect.construct(target, args, newTarget);\n\t\t\t};\n\t\t\tconst socket = new WebSocketOverride(url, protocols);\n\t\t\tconst transport = new WebSocketClassTransport(socket);\n\t\t\tqueueMicrotask(() => {\n\t\t\t\ttry {\n\t\t\t\t\tconst server = new WebSocketServerConnection(socket, transport, createConnection);\n\t\t\t\t\tif (this.emitter.emit(\"connection\", {\n\t\t\t\t\t\tclient: new WebSocketClientConnection(socket, transport),\n\t\t\t\t\t\tserver,\n\t\t\t\t\t\tinfo: { protocols }\n\t\t\t\t\t})) socket[kPassthroughPromise].resolve(false);\n\t\t\t\t\telse {\n\t\t\t\t\t\tsocket[kPassthroughPromise].resolve(true);\n\t\t\t\t\t\tserver.connect();\n\t\t\t\t\t\tserver.addEventListener(\"open\", () => {\n\t\t\t\t\t\t\tsocket.dispatchEvent(bindEvent(socket, new Event(\"open\")));\n\t\t\t\t\t\t\tif (server[\"realWebSocket\"]) socket.protocol = server[\"realWebSocket\"].protocol;\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t} catch (error3) {\n\t\t\t\t\tif (error3 instanceof Error) {\n\t\t\t\t\t\tsocket.dispatchEvent(new Event(\"error\"));\n\t\t\t\t\t\tif (socket.readyState !== WebSocket.CLOSING && socket.readyState !== WebSocket.CLOSED) socket[kClose](1011, error3.message, false);\n\t\t\t\t\t\tconsole.error(error3);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn socket;\n\t\t} });\n\t\tObject.defineProperty(globalThis, \"WebSocket\", {\n\t\t\tvalue: WebSocketProxy,\n\t\t\tconfigurable: true\n\t\t});\n\t\tthis.subscriptions.push(() => {\n\t\t\tObject.defineProperty(globalThis, \"WebSocket\", originalWebSocketDescriptor);\n\t\t});\n\t}\n};\nvar WebSocketInterceptor = _WebSocketInterceptor;\nWebSocketInterceptor.symbol = Symbol(\"websocket\");\nnew WebSocketInterceptor();\nnew AsyncLocalStorage();\nfunction mockId({ prefix = \"id\" } = {}) {\n\tlet counter = 0;\n\treturn () => `${prefix}-${counter++}`;\n}\n/*! Bundled license information:\n\n@bundled-es-modules/statuses/index-esm.js:\n(*! Bundled license information:\n\nstatuses/index.js:\n(*!\n* statuses\n* Copyright(c) 2014 Jonathan Ong\n* Copyright(c) 2016 Douglas Christopher Wilson\n* MIT Licensed\n*)\n*)\n\n@bundled-es-modules/cookie/index-esm.js:\n(*! Bundled license information:\n\ncookie/index.js:\n(*!\n* cookie\n* Copyright(c) 2012-2014 Roman Shtylman\n* Copyright(c) 2015 Douglas Christopher Wilson\n* MIT Licensed\n*)\n*)\n\n@bundled-es-modules/tough-cookie/index-esm.js:\n(*! Bundled license information:\n\ntough-cookie/lib/pubsuffix-psl.js:\n(*!\n* Copyright (c) 2018, Salesforce.com, Inc.\n* All rights reserved.\n*\n* Redistribution and use in source and binary forms, with or without\n* modification, are permitted provided that the following conditions are met:\n*\n* 1. Redistributions of source code must retain the above copyright notice,\n* this list of conditions and the following disclaimer.\n*\n* 2. Redistributions in binary form must reproduce the above copyright notice,\n* this list of conditions and the following disclaimer in the documentation\n* and/or other materials provided with the distribution.\n*\n* 3. Neither the name of Salesforce.com nor the names of its contributors may\n* be used to endorse or promote products derived from this software without\n* specific prior written permission.\n*\n* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE\n* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\n* POSSIBILITY OF SUCH DAMAGE.\n*)\n\ntough-cookie/lib/store.js:\n(*!\n* Copyright (c) 2015, Salesforce.com, Inc.\n* All rights reserved.\n*\n* Redistribution and use in source and binary forms, with or without\n* modification, are permitted provided that the following conditions are met:\n*\n* 1. Redistributions of source code must retain the above copyright notice,\n* this list of conditions and the following disclaimer.\n*\n* 2. Redistributions in binary form must reproduce the above copyright notice,\n* this list of conditions and the following disclaimer in the documentation\n* and/or other materials provided with the distribution.\n*\n* 3. Neither the name of Salesforce.com nor the names of its contributors may\n* be used to endorse or promote products derived from this software without\n* specific prior written permission.\n*\n* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE\n* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\n* POSSIBILITY OF SUCH DAMAGE.\n*)\n\ntough-cookie/lib/permuteDomain.js:\n(*!\n* Copyright (c) 2015, Salesforce.com, Inc.\n* All rights reserved.\n*\n* Redistribution and use in source and binary forms, with or without\n* modification, are permitted provided that the following conditions are met:\n*\n* 1. Redistributions of source code must retain the above copyright notice,\n* this list of conditions and the following disclaimer.\n*\n* 2. Redistributions in binary form must reproduce the above copyright notice,\n* this list of conditions and the following disclaimer in the documentation\n* and/or other materials provided with the distribution.\n*\n* 3. Neither the name of Salesforce.com nor the names of its contributors may\n* be used to endorse or promote products derived from this software without\n* specific prior written permission.\n*\n* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE\n* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\n* POSSIBILITY OF SUCH DAMAGE.\n*)\n\ntough-cookie/lib/pathMatch.js:\n(*!\n* Copyright (c) 2015, Salesforce.com, Inc.\n* All rights reserved.\n*\n* Redistribution and use in source and binary forms, with or without\n* modification, are permitted provided that the following conditions are met:\n*\n* 1. Redistributions of source code must retain the above copyright notice,\n* this list of conditions and the following disclaimer.\n*\n* 2. Redistributions in binary form must reproduce the above copyright notice,\n* this list of conditions and the following disclaimer in the documentation\n* and/or other materials provided with the distribution.\n*\n* 3. Neither the name of Salesforce.com nor the names of its contributors may\n* be used to endorse or promote products derived from this software without\n* specific prior written permission.\n*\n* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE\n* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\n* POSSIBILITY OF SUCH DAMAGE.\n*)\n\ntough-cookie/lib/memstore.js:\n(*!\n* Copyright (c) 2015, Salesforce.com, Inc.\n* All rights reserved.\n*\n* Redistribution and use in source and binary forms, with or without\n* modification, are permitted provided that the following conditions are met:\n*\n* 1. Redistributions of source code must retain the above copyright notice,\n* this list of conditions and the following disclaimer.\n*\n* 2. Redistributions in binary form must reproduce the above copyright notice,\n* this list of conditions and the following disclaimer in the documentation\n* and/or other materials provided with the distribution.\n*\n* 3. Neither the name of Salesforce.com nor the names of its contributors may\n* be used to endorse or promote products derived from this software without\n* specific prior written permission.\n*\n* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE\n* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\n* POSSIBILITY OF SUCH DAMAGE.\n*)\n\ntough-cookie/lib/cookie.js:\n(*!\n* Copyright (c) 2015-2020, Salesforce.com, Inc.\n* All rights reserved.\n*\n* Redistribution and use in source and binary forms, with or without\n* modification, are permitted provided that the following conditions are met:\n*\n* 1. Redistributions of source code must retain the above copyright notice,\n* this list of conditions and the following disclaimer.\n*\n* 2. Redistributions in binary form must reproduce the above copyright notice,\n* this list of conditions and the following disclaimer in the documentation\n* and/or other materials provided with the distribution.\n*\n* 3. Neither the name of Salesforce.com nor the names of its contributors may\n* be used to endorse or promote products derived from this software without\n* specific prior written permission.\n*\n* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE\n* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\n* POSSIBILITY OF SUCH DAMAGE.\n*)\n*)\n*/\n//#endregion\n//#region ../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@ai-sdk/provider/1.1.3/7d8eaddb7973e5820d04ac18a887c85cc63f173732e3c66432ceefbff819b4ac/node_modules/@ai-sdk/provider/dist/index.mjs\nvar marker = \"vercel.ai.error\";\nvar symbol = Symbol.for(marker);\nvar _a;\nvar _AISDKError = class _AISDKError extends Error {\n\t/**\n\t* Creates an AI SDK Error.\n\t*\n\t* @param {Object} params - The parameters for creating the error.\n\t* @param {string} params.name - The name of the error.\n\t* @param {string} params.message - The error message.\n\t* @param {unknown} [params.cause] - The underlying cause of the error.\n\t*/\n\tconstructor({ name: name14, message, cause }) {\n\t\tsuper(message);\n\t\tthis[_a] = true;\n\t\tthis.name = name14;\n\t\tthis.cause = cause;\n\t}\n\t/**\n\t* Checks if the given error is an AI SDK Error.\n\t* @param {unknown} error - The error to check.\n\t* @returns {boolean} True if the error is an AI SDK Error, false otherwise.\n\t*/\n\tstatic isInstance(error) {\n\t\treturn _AISDKError.hasMarker(error, marker);\n\t}\n\tstatic hasMarker(error, marker15) {\n\t\tconst markerSymbol = Symbol.for(marker15);\n\t\treturn error != null && typeof error === \"object\" && markerSymbol in error && typeof error[markerSymbol] === \"boolean\" && error[markerSymbol] === true;\n\t}\n};\n_a = symbol;\nvar AISDKError = _AISDKError;\nvar name3 = \"AI_InvalidArgumentError\";\nvar marker4 = `vercel.ai.error.${name3}`;\nvar symbol4 = Symbol.for(marker4);\nvar _a4;\nvar InvalidArgumentError = class extends AISDKError {\n\tconstructor({ message, cause, argument }) {\n\t\tsuper({\n\t\t\tname: name3,\n\t\t\tmessage,\n\t\t\tcause\n\t\t});\n\t\tthis[_a4] = true;\n\t\tthis.argument = argument;\n\t}\n\tstatic isInstance(error) {\n\t\treturn AISDKError.hasMarker(error, marker4);\n\t}\n};\n_a4 = symbol4;\n//#endregion\n//#region ../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/nanoid/3.3.15/5e099aa6978e3ffbe3dd66fca0d9bb438c516b386f73a4afd1cdcabb14c04122/node_modules/nanoid/non-secure/index.js\nlet customAlphabet = (alphabet, defaultSize = 21) => {\n\treturn (size = defaultSize) => {\n\t\tlet id = \"\";\n\t\tlet i = size | 0;\n\t\twhile (i--) id += alphabet[Math.random() * alphabet.length | 0];\n\t\treturn id;\n\t};\n};\n(/* @__PURE__ */ __commonJSMin(((exports, module) => {\n\tconst hasBuffer = typeof Buffer !== \"undefined\";\n\tconst suspectProtoRx = /\"(?:_|\\\\u005[Ff])(?:_|\\\\u005[Ff])(?:p|\\\\u0070)(?:r|\\\\u0072)(?:o|\\\\u006[Ff])(?:t|\\\\u0074)(?:o|\\\\u006[Ff])(?:_|\\\\u005[Ff])(?:_|\\\\u005[Ff])\"\\s*:/;\n\tconst suspectConstructorRx = /\"(?:c|\\\\u0063)(?:o|\\\\u006[Ff])(?:n|\\\\u006[Ee])(?:s|\\\\u0073)(?:t|\\\\u0074)(?:r|\\\\u0072)(?:u|\\\\u0075)(?:c|\\\\u0063)(?:t|\\\\u0074)(?:o|\\\\u006[Ff])(?:r|\\\\u0072)\"\\s*:/;\n\tfunction _parse(text, reviver, options) {\n\t\tif (options == null) {\n\t\t\tif (reviver !== null && typeof reviver === \"object\") {\n\t\t\t\toptions = reviver;\n\t\t\t\treviver = void 0;\n\t\t\t}\n\t\t}\n\t\tif (hasBuffer && Buffer.isBuffer(text)) text = text.toString();\n\t\tif (text && text.charCodeAt(0) === 65279) text = text.slice(1);\n\t\tconst obj = JSON.parse(text, reviver);\n\t\tif (obj === null || typeof obj !== \"object\") return obj;\n\t\tconst protoAction = options && options.protoAction || \"error\";\n\t\tconst constructorAction = options && options.constructorAction || \"error\";\n\t\tif (protoAction === \"ignore\" && constructorAction === \"ignore\") return obj;\n\t\tif (protoAction !== \"ignore\" && constructorAction !== \"ignore\") {\n\t\t\tif (suspectProtoRx.test(text) === false && suspectConstructorRx.test(text) === false) return obj;\n\t\t} else if (protoAction !== \"ignore\" && constructorAction === \"ignore\") {\n\t\t\tif (suspectProtoRx.test(text) === false) return obj;\n\t\t} else if (suspectConstructorRx.test(text) === false) return obj;\n\t\treturn filter(obj, {\n\t\t\tprotoAction,\n\t\t\tconstructorAction,\n\t\t\tsafe: options && options.safe\n\t\t});\n\t}\n\tfunction filter(obj, { protoAction = \"error\", constructorAction = \"error\", safe } = {}) {\n\t\tlet next = [obj];\n\t\twhile (next.length) {\n\t\t\tconst nodes = next;\n\t\t\tnext = [];\n\t\t\tfor (const node of nodes) {\n\t\t\t\tif (protoAction !== \"ignore\" && Object.prototype.hasOwnProperty.call(node, \"__proto__\")) {\n\t\t\t\t\tif (safe === true) return null;\n\t\t\t\t\telse if (protoAction === \"error\") throw new SyntaxError(\"Object contains forbidden prototype property\");\n\t\t\t\t\tdelete node.__proto__;\n\t\t\t\t}\n\t\t\t\tif (constructorAction !== \"ignore\" && Object.prototype.hasOwnProperty.call(node, \"constructor\") && Object.prototype.hasOwnProperty.call(node.constructor, \"prototype\")) {\n\t\t\t\t\tif (safe === true) return null;\n\t\t\t\t\telse if (constructorAction === \"error\") throw new SyntaxError(\"Object contains forbidden prototype property\");\n\t\t\t\t\tdelete node.constructor;\n\t\t\t\t}\n\t\t\t\tfor (const key in node) {\n\t\t\t\t\tconst value = node[key];\n\t\t\t\t\tif (value && typeof value === \"object\") next.push(value);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn obj;\n\t}\n\tfunction parse(text, reviver, options) {\n\t\tconst stackTraceLimit = Error.stackTraceLimit;\n\t\tError.stackTraceLimit = 0;\n\t\ttry {\n\t\t\treturn _parse(text, reviver, options);\n\t\t} finally {\n\t\t\tError.stackTraceLimit = stackTraceLimit;\n\t\t}\n\t}\n\tfunction safeParse(text, reviver) {\n\t\tconst stackTraceLimit = Error.stackTraceLimit;\n\t\tError.stackTraceLimit = 0;\n\t\ttry {\n\t\t\treturn _parse(text, reviver, { safe: true });\n\t\t} catch (_e) {\n\t\t\treturn null;\n\t\t} finally {\n\t\t\tError.stackTraceLimit = stackTraceLimit;\n\t\t}\n\t}\n\tmodule.exports = parse;\n\tmodule.exports.default = parse;\n\tmodule.exports.parse = parse;\n\tmodule.exports.safeParse = safeParse;\n\tmodule.exports.scan = filter;\n})))();\nasync function delay(delayInMs) {\n\treturn delayInMs == null ? Promise.resolve() : new Promise((resolve2) => setTimeout(resolve2, delayInMs));\n}\nvar createIdGenerator = ({ prefix, size: defaultSize = 16, alphabet = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\", separator = \"-\" } = {}) => {\n\tconst generator = customAlphabet(alphabet, defaultSize);\n\tif (prefix == null) return generator;\n\tif (alphabet.includes(separator)) throw new InvalidArgumentError({\n\t\targument: \"separator\",\n\t\tmessage: `The separator \"${separator}\" must not be part of the alphabet \"${alphabet}\".`\n\t});\n\treturn (size) => `${prefix}${separator}${generator(size)}`;\n};\ncreateIdGenerator();\nvar { btoa, atob } = globalThis;\n//#endregion\n//#region ../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/ai/4.3.19/25573f8c23f9af614acea37c286c856ce3902467b7cf443a0a6e39c9d659b038/node_modules/ai/test/dist/index.mjs\nfunction notImplemented() {\n\tthrow new Error(\"Not implemented\");\n}\nvar MockEmbeddingModelV1 = class {\n\tconstructor({ provider = \"mock-provider\", modelId = \"mock-model-id\", maxEmbeddingsPerCall = 1, supportsParallelCalls = false, doEmbed = notImplemented } = {}) {\n\t\tthis.specificationVersion = \"v1\";\n\t\tthis.provider = provider;\n\t\tthis.modelId = modelId;\n\t\tthis.maxEmbeddingsPerCall = maxEmbeddingsPerCall != null ? maxEmbeddingsPerCall : void 0;\n\t\tthis.supportsParallelCalls = supportsParallelCalls;\n\t\tthis.doEmbed = doEmbed;\n\t}\n};\nvar MockLanguageModelV1 = class {\n\tconstructor({ provider = \"mock-provider\", modelId = \"mock-model-id\", supportsUrl = void 0, doGenerate = notImplemented, doStream = notImplemented, defaultObjectGenerationMode = void 0, supportsStructuredOutputs = void 0 } = {}) {\n\t\tthis.specificationVersion = \"v1\";\n\t\tthis.provider = provider;\n\t\tthis.modelId = modelId;\n\t\tthis.doGenerate = doGenerate;\n\t\tthis.doStream = doStream;\n\t\tthis.supportsUrl = supportsUrl;\n\t\tthis.defaultObjectGenerationMode = defaultObjectGenerationMode;\n\t\tthis.supportsStructuredOutputs = supportsStructuredOutputs;\n\t}\n};\nfunction mockValues(...values) {\n\tlet counter = 0;\n\treturn () => {\n\t\tvar _a;\n\t\treturn (_a = values[counter++]) != null ? _a : values[values.length - 1];\n\t};\n}\nfunction simulateReadableStream({ chunks, initialDelayInMs = 0, chunkDelayInMs = 0, _internal }) {\n\tvar _a;\n\tconst delay$1 = (_a = _internal == null ? void 0 : _internal.delay) != null ? _a : delay;\n\tlet index = 0;\n\treturn new ReadableStream({ async pull(controller) {\n\t\tif (index < chunks.length) {\n\t\t\tawait delay$1(index === 0 ? initialDelayInMs : chunkDelayInMs);\n\t\t\tcontroller.enqueue(chunks[index++]);\n\t\t} else controller.close();\n\t} });\n}\nvar simulateReadableStream2 = simulateReadableStream;\n//#endregion\nexport { MockEmbeddingModelV1, MockLanguageModelV1, convertArrayToReadableStream, mockId, mockValues, simulateReadableStream2 as simulateReadableStream };\n\n//# sourceMappingURL=test.js.map","import { Z as NoSuchModelError, h as delay } from \"./dist-BuEMdYEn.js\";\nimport \"msw\";\nimport \"msw/node\";\nimport \"vitest\";\n//#region ../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@ai-sdk/provider-utils/3.0.31/ec2b02e652373362f632ec2c411694343ca859aa4cde84046d95e39a09d5a1ac/node_modules/@ai-sdk/provider-utils/dist/test/index.mjs\nfunction convertArrayToAsyncIterable(values) {\n\treturn { async *[Symbol.asyncIterator]() {\n\t\tfor (const value of values) yield value;\n\t} };\n}\nfunction convertArrayToReadableStream(values) {\n\treturn new ReadableStream({ start(controller) {\n\t\ttry {\n\t\t\tfor (const value of values) controller.enqueue(value);\n\t\t} finally {\n\t\t\tcontroller.close();\n\t\t}\n\t} });\n}\nasync function convertReadableStreamToArray(stream) {\n\tconst reader = stream.getReader();\n\tconst result = [];\n\twhile (true) {\n\t\tconst { done, value } = await reader.read();\n\t\tif (done) break;\n\t\tresult.push(value);\n\t}\n\treturn result;\n}\nfunction mockId({ prefix = \"id\" } = {}) {\n\tlet counter = 0;\n\treturn () => `${prefix}-${counter++}`;\n}\n//#endregion\n//#region ../../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/ai/5.0.226/fac8217dc8d34e85b5f38a8cc71c59a1b2ae6d9f27e0dd1e2738a30e54e8ae3c/node_modules/ai/dist/test/index.mjs\nfunction simulateReadableStream({ chunks, initialDelayInMs = 0, chunkDelayInMs = 0, _internal }) {\n\tconst delay$1 = _internal?.delay ?? delay;\n\tlet index = 0;\n\treturn new ReadableStream({ async pull(controller) {\n\t\tif (index < chunks.length) {\n\t\t\tawait delay$1(index === 0 ? initialDelayInMs : chunkDelayInMs);\n\t\t\tcontroller.enqueue(chunks[index++]);\n\t\t} else controller.close();\n\t} });\n}\nfunction notImplemented() {\n\tthrow new Error(\"Not implemented\");\n}\nvar MockEmbeddingModelV2 = class {\n\tconstructor({ provider = \"mock-provider\", modelId = \"mock-model-id\", maxEmbeddingsPerCall = 1, supportsParallelCalls = false, doEmbed = notImplemented } = {}) {\n\t\tthis.specificationVersion = \"v2\";\n\t\tthis.provider = provider;\n\t\tthis.modelId = modelId;\n\t\tthis.maxEmbeddingsPerCall = maxEmbeddingsPerCall ?? void 0;\n\t\tthis.supportsParallelCalls = supportsParallelCalls;\n\t\tthis.doEmbed = doEmbed;\n\t}\n};\nvar MockImageModelV2 = class {\n\tconstructor({ provider = \"mock-provider\", modelId = \"mock-model-id\", maxImagesPerCall = 1, doGenerate = notImplemented } = {}) {\n\t\tthis.specificationVersion = \"v2\";\n\t\tthis.provider = provider;\n\t\tthis.modelId = modelId;\n\t\tthis.maxImagesPerCall = maxImagesPerCall;\n\t\tthis.doGenerate = doGenerate;\n\t}\n};\nvar MockLanguageModelV2 = class {\n\tconstructor({ provider = \"mock-provider\", modelId = \"mock-model-id\", supportedUrls = {}, doGenerate = notImplemented, doStream = notImplemented } = {}) {\n\t\tthis.specificationVersion = \"v2\";\n\t\tthis.doGenerateCalls = [];\n\t\tthis.doStreamCalls = [];\n\t\tthis.provider = provider;\n\t\tthis.modelId = modelId;\n\t\tthis.doGenerate = async (options) => {\n\t\t\tthis.doGenerateCalls.push(options);\n\t\t\tif (typeof doGenerate === \"function\") return doGenerate(options);\n\t\t\telse if (Array.isArray(doGenerate)) return doGenerate[this.doGenerateCalls.length];\n\t\t\telse return doGenerate;\n\t\t};\n\t\tthis.doStream = async (options) => {\n\t\t\tthis.doStreamCalls.push(options);\n\t\t\tif (typeof doStream === \"function\") return doStream(options);\n\t\t\telse if (Array.isArray(doStream)) return doStream[this.doStreamCalls.length];\n\t\t\telse return doStream;\n\t\t};\n\t\tthis._supportedUrls = typeof supportedUrls === \"function\" ? supportedUrls : async () => supportedUrls;\n\t}\n\tget supportedUrls() {\n\t\treturn this._supportedUrls();\n\t}\n};\nvar MockProviderV2 = class {\n\tconstructor({ languageModels, embeddingModels, imageModels, transcriptionModels, speechModels } = {}) {\n\t\tthis.languageModel = (modelId) => {\n\t\t\tif (!languageModels?.[modelId]) throw new NoSuchModelError({\n\t\t\t\tmodelId,\n\t\t\t\tmodelType: \"languageModel\"\n\t\t\t});\n\t\t\treturn languageModels[modelId];\n\t\t};\n\t\tthis.textEmbeddingModel = (modelId) => {\n\t\t\tif (!embeddingModels?.[modelId]) throw new NoSuchModelError({\n\t\t\t\tmodelId,\n\t\t\t\tmodelType: \"textEmbeddingModel\"\n\t\t\t});\n\t\t\treturn embeddingModels[modelId];\n\t\t};\n\t\tthis.imageModel = (modelId) => {\n\t\t\tif (!imageModels?.[modelId]) throw new NoSuchModelError({\n\t\t\t\tmodelId,\n\t\t\t\tmodelType: \"imageModel\"\n\t\t\t});\n\t\t\treturn imageModels[modelId];\n\t\t};\n\t\tthis.transcriptionModel = (modelId) => {\n\t\t\tif (!transcriptionModels?.[modelId]) throw new NoSuchModelError({\n\t\t\t\tmodelId,\n\t\t\t\tmodelType: \"transcriptionModel\"\n\t\t\t});\n\t\t\treturn transcriptionModels[modelId];\n\t\t};\n\t\tthis.speechModel = (modelId) => {\n\t\t\tif (!speechModels?.[modelId]) throw new NoSuchModelError({\n\t\t\t\tmodelId,\n\t\t\t\tmodelType: \"speechModel\"\n\t\t\t});\n\t\t\treturn speechModels[modelId];\n\t\t};\n\t}\n};\nvar MockSpeechModelV2 = class {\n\tconstructor({ provider = \"mock-provider\", modelId = \"mock-model-id\", doGenerate = notImplemented } = {}) {\n\t\tthis.specificationVersion = \"v2\";\n\t\tthis.provider = provider;\n\t\tthis.modelId = modelId;\n\t\tthis.doGenerate = doGenerate;\n\t}\n};\nvar MockTranscriptionModelV2 = class {\n\tconstructor({ provider = \"mock-provider\", modelId = \"mock-model-id\", doGenerate = notImplemented } = {}) {\n\t\tthis.specificationVersion = \"v2\";\n\t\tthis.provider = provider;\n\t\tthis.modelId = modelId;\n\t\tthis.doGenerate = doGenerate;\n\t}\n};\nfunction mockValues(...values) {\n\tlet counter = 0;\n\treturn () => values[counter++] ?? values[values.length - 1];\n}\nvar simulateReadableStream2 = simulateReadableStream;\n//#endregion\nexport { MockEmbeddingModelV2, MockImageModelV2, MockLanguageModelV2, MockProviderV2, MockSpeechModelV2, MockTranscriptionModelV2, convertArrayToAsyncIterable, convertArrayToReadableStream, convertReadableStreamToArray, mockId, mockValues, simulateReadableStream2 as simulateReadableStream };\n\n//# sourceMappingURL=test.js.map","import type { LanguageModelV2, LanguageModelV2CallOptions } from '@ai-sdk/provider-v5';\nimport { MockLanguageModelV2 } from '@internal/ai-sdk-v5/test';\nimport type { MastraLanguageModelV2 } from '../../llm/model/shared.types';\nimport { AISDKV5LanguageModel } from '../../llm/model/aisdk/v5/model';\n\nexport class MastraLanguageModelV2Mock implements MastraLanguageModelV2 {\n  readonly specificationVersion = 'v2' as const;\n  readonly provider: LanguageModelV2['provider'];\n  readonly modelId: LanguageModelV2['modelId'];\n  readonly supportedUrls: LanguageModelV2['supportedUrls'];\n  #model: MockLanguageModelV2;\n\n  constructor(config: {\n    provider?: LanguageModelV2['provider'];\n    modelId?: LanguageModelV2['modelId'];\n    supportedUrls?: LanguageModelV2['supportedUrls'] | (() => LanguageModelV2['supportedUrls']);\n    doGenerate?:\n      | LanguageModelV2['doGenerate']\n      | Awaited<ReturnType<LanguageModelV2['doGenerate']>>\n      | Awaited<ReturnType<LanguageModelV2['doGenerate']>>[];\n    doStream?:\n      | LanguageModelV2['doStream']\n      | Awaited<ReturnType<LanguageModelV2['doStream']>>\n      | Awaited<ReturnType<LanguageModelV2['doStream']>>[];\n  }) {\n    this.#model = new MockLanguageModelV2(config);\n    this.provider = this.#model.provider;\n    this.modelId = this.#model.modelId;\n    this.supportedUrls = this.#model.supportedUrls;\n  }\n\n  doGenerate(options: LanguageModelV2CallOptions) {\n    const aiSDKModel = new AISDKV5LanguageModel(this.#model);\n    return aiSDKModel.doGenerate(options);\n  }\n\n  doStream(options: LanguageModelV2CallOptions) {\n    const aiSDKModel = new AISDKV5LanguageModel(this.#model);\n    return aiSDKModel.doStream(options);\n  }\n\n  get doGenerateCalls(): LanguageModelV2CallOptions[] {\n    return this.#model.doGenerateCalls;\n  }\n  get doStreamCalls(): LanguageModelV2CallOptions[] {\n    return this.#model.doStreamCalls;\n  }\n}\n","import { simulateReadableStream } from '@internal/ai-sdk-v4';\nimport { MockLanguageModelV1 } from '@internal/ai-sdk-v4/test';\nimport { convertArrayToReadableStream, MockLanguageModelV2 } from '@internal/ai-sdk-v5/test';\n\nimport type { StreamObjectResult, StreamReturn } from '../llm/model/base.types';\nimport { MastraLLMV1 } from '../llm/model/model';\nimport { MastraLanguageModelV2Mock } from '../loop/test-utils/MastraLanguageModelV2Mock';\n\n// Re-export for external use\nexport { simulateReadableStream, MastraLanguageModelV2Mock };\n\nexport function createMockModel({\n  objectGenerationMode,\n  mockText,\n  spyGenerate,\n  spyStream,\n  version = 'v2',\n}: {\n  objectGenerationMode?: 'json';\n  mockText: string | Record<string, any>;\n  spyGenerate?: (props: any) => void;\n  spyStream?: (props: any) => void;\n  version?: 'v1' | 'v2';\n}) {\n  const text = typeof mockText === 'string' ? mockText : JSON.stringify(mockText);\n  const finalText = objectGenerationMode === 'json' ? JSON.stringify(mockText) : text;\n\n  if (version === 'v1') {\n    // Return a v1 model\n    const mockModel = new MockLanguageModelV1({\n      defaultObjectGenerationMode: objectGenerationMode,\n      doGenerate: async props => {\n        if (spyGenerate) {\n          spyGenerate(props);\n        }\n\n        return {\n          rawCall: { rawPrompt: null, rawSettings: {} },\n          finishReason: 'stop',\n          usage: { promptTokens: 10, completionTokens: 20 },\n          text: finalText,\n        };\n      },\n      doStream: async props => {\n        if (spyStream) {\n          spyStream(props);\n        }\n\n        // Split the mock text into chunks for streaming\n        const chunks = finalText.split(' ').map(word => ({\n          type: 'text-delta' as const,\n          textDelta: word + ' ',\n        }));\n\n        return {\n          stream: simulateReadableStream({\n            chunks: [\n              ...chunks,\n              {\n                type: 'finish',\n                finishReason: 'stop',\n                logprobs: undefined,\n                usage: { completionTokens: 10, promptTokens: 3 },\n              },\n            ],\n          }),\n          rawCall: { rawPrompt: null, rawSettings: {} },\n        };\n      },\n    });\n\n    return mockModel;\n  }\n\n  // Return a v2 model (default)\n  const mockModel = new MockLanguageModelV2({\n    doGenerate: async props => {\n      if (spyGenerate) {\n        spyGenerate(props);\n      }\n\n      return {\n        rawCall: { rawPrompt: null, rawSettings: {} },\n        finishReason: 'stop',\n        usage: { inputTokens: 10, outputTokens: 20, totalTokens: 30 },\n        content: [\n          {\n            type: 'text',\n            text: finalText,\n          },\n        ],\n        warnings: [],\n      };\n    },\n    doStream: async props => {\n      if (spyStream) {\n        spyStream(props);\n      }\n\n      return {\n        rawCall: { rawPrompt: null, rawSettings: {} },\n        warnings: [],\n        stream: convertArrayToReadableStream([\n          { type: 'stream-start', warnings: [] },\n          { type: 'response-metadata', id: 'id-0', modelId: 'mock-model-id', timestamp: new Date(0) },\n          { type: 'text-start', id: 'text-1' },\n          { type: 'text-delta', id: 'text-1', delta: finalText },\n          { type: 'text-end', id: 'text-1' },\n          {\n            type: 'finish',\n            finishReason: 'stop',\n            usage: { inputTokens: 10, outputTokens: 20, totalTokens: 30 },\n          },\n        ]),\n      };\n    },\n  });\n\n  return mockModel;\n}\n\nexport class MockProvider extends MastraLLMV1 {\n  constructor({\n    spyGenerate,\n    spyStream,\n    objectGenerationMode,\n    mockText = 'Hello, world!',\n  }: {\n    spyGenerate?: (props: any) => void;\n    spyStream?: (props: any) => void;\n    objectGenerationMode?: 'json';\n    mockText?: string | Record<string, any>;\n  }) {\n    const mockModel = new MockLanguageModelV1({\n      defaultObjectGenerationMode: objectGenerationMode,\n      doGenerate: async props => {\n        if (spyGenerate) {\n          spyGenerate(props);\n        }\n\n        if (objectGenerationMode === 'json') {\n          return {\n            rawCall: { rawPrompt: null, rawSettings: {} },\n            finishReason: 'stop',\n            usage: { promptTokens: 10, completionTokens: 20 },\n            text: JSON.stringify(mockText),\n          };\n        }\n\n        return {\n          rawCall: { rawPrompt: null, rawSettings: {} },\n          finishReason: 'stop',\n          usage: { promptTokens: 10, completionTokens: 20 },\n          text: typeof mockText === 'string' ? mockText : JSON.stringify(mockText),\n        };\n      },\n      doStream: async props => {\n        if (spyStream) {\n          spyStream(props);\n        }\n\n        const text = typeof mockText === 'string' ? mockText : JSON.stringify(mockText);\n        // Split the mock text into chunks for streaming\n        const chunks = text.split(' ').map(word => ({\n          type: 'text-delta' as const,\n          textDelta: word + ' ',\n        }));\n\n        return {\n          stream: simulateReadableStream({\n            chunks: [\n              ...chunks,\n              {\n                type: 'finish',\n                finishReason: 'stop',\n                logprobs: undefined,\n                usage: { completionTokens: 10, promptTokens: 3 },\n              },\n            ],\n          }),\n          rawCall: { rawPrompt: null, rawSettings: {} },\n        };\n      },\n    });\n\n    super({ model: mockModel });\n  }\n\n  // @ts-expect-error\n  stream(...args: any): PromiseLike<StreamReturn<any, any, any>> {\n    // @ts-expect-error\n    const result = super.stream(...args);\n\n    return {\n      ...result,\n      then: (onfulfilled, onrejected) => {\n        // @ts-expect-error\n        return result.baseStream.pipeTo(new WritableStream()).then(onfulfilled, onrejected);\n      },\n    };\n  }\n\n  // @ts-expect-error\n  __streamObject(...args): PromiseLike<StreamObjectResult<any>> {\n    // @ts-expect-error\n    const result = super.__streamObject(...args);\n\n    return {\n      ...result,\n      then: (onfulfilled, onrejected) => {\n        // @ts-expect-error\n        return result.baseStream.pipeTo(new WritableStream()).then(onfulfilled, onrejected);\n      },\n    };\n  }\n}\n"],"mappings":"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EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD;AACD,EAAE,CAAC;AACH,IAAI,cAAc,YAAY,EAAE,4BAA4B,SAAS;CACpE;CACA,IAAI,WAAW,iBAAiB;CAChC,IAAI,YAAY,CAAC;CACjB,UAAU,QAAQ,cAAc,CAAC,CAAC,IAAI,SAAS,MAAM;EACpD,OAAO;GACN;GACA,QAAQ,KAAK,QAAQ,cAAc,EAAE;GACrC,YAAY;GACZ,UAAU,KAAK,OAAO,CAAC,MAAM;GAC7B,WAAW,KAAK,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"}