mirror of
https://github.com/jaandrle/deka-dom-el
synced 2024-11-22 07:49:38 +01:00
16971 lines
426 KiB
JavaScript
16971 lines
426 KiB
JavaScript
/******/ (() => { // webpackBootstrap
|
||
/******/ var __webpack_modules__ = ({
|
||
|
||
/***/ 3737:
|
||
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
|
||
|
||
var GetIntrinsic = __webpack_require__(55050);
|
||
var callBind = __webpack_require__(68375);
|
||
var $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));
|
||
module.exports = function callBoundIntrinsic(name, allowMissing) {
|
||
var intrinsic = GetIntrinsic(name, !!allowMissing);
|
||
if (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {
|
||
return callBind(intrinsic);
|
||
}
|
||
return intrinsic;
|
||
};
|
||
|
||
/***/ }),
|
||
|
||
/***/ 68375:
|
||
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
|
||
|
||
var bind = __webpack_require__(36046);
|
||
var GetIntrinsic = __webpack_require__(55050);
|
||
var $apply = GetIntrinsic('%Function.prototype.apply%');
|
||
var $call = GetIntrinsic('%Function.prototype.call%');
|
||
var $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);
|
||
var $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);
|
||
var $defineProperty = GetIntrinsic('%Object.defineProperty%', true);
|
||
var $max = GetIntrinsic('%Math.max%');
|
||
if ($defineProperty) {
|
||
try {
|
||
$defineProperty({}, 'a', {
|
||
value: 1
|
||
});
|
||
} catch (e) {
|
||
// IE 8 has a broken defineProperty
|
||
$defineProperty = null;
|
||
}
|
||
}
|
||
module.exports = function callBind(originalFunction) {
|
||
var func = $reflectApply(bind, $call, arguments);
|
||
if ($gOPD && $defineProperty) {
|
||
var desc = $gOPD(func, 'length');
|
||
if (desc.configurable) {
|
||
// original length, plus the receiver, minus any additional arguments (after the receiver)
|
||
$defineProperty(func, 'length', {
|
||
value: 1 + $max(0, originalFunction.length - (arguments.length - 1))
|
||
});
|
||
}
|
||
}
|
||
return func;
|
||
};
|
||
var applyBind = function applyBind() {
|
||
return $reflectApply(bind, $apply, arguments);
|
||
};
|
||
if ($defineProperty) {
|
||
$defineProperty(module.exports, 'apply', {
|
||
value: applyBind
|
||
});
|
||
} else {
|
||
module.exports.apply = applyBind;
|
||
}
|
||
|
||
/***/ }),
|
||
|
||
/***/ 51820:
|
||
/***/ ((module) => {
|
||
|
||
"use strict";
|
||
|
||
|
||
/* eslint no-invalid-this: 1 */
|
||
var ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';
|
||
var slice = Array.prototype.slice;
|
||
var toStr = Object.prototype.toString;
|
||
var funcType = '[object Function]';
|
||
module.exports = function bind(that) {
|
||
var target = this;
|
||
if (typeof target !== 'function' || toStr.call(target) !== funcType) {
|
||
throw new TypeError(ERROR_MESSAGE + target);
|
||
}
|
||
var args = slice.call(arguments, 1);
|
||
var bound;
|
||
var binder = function () {
|
||
if (this instanceof bound) {
|
||
var result = target.apply(this, args.concat(slice.call(arguments)));
|
||
if (Object(result) === result) {
|
||
return result;
|
||
}
|
||
return this;
|
||
} else {
|
||
return target.apply(that, args.concat(slice.call(arguments)));
|
||
}
|
||
};
|
||
var boundLength = Math.max(0, target.length - args.length);
|
||
var boundArgs = [];
|
||
for (var i = 0; i < boundLength; i++) {
|
||
boundArgs.push('$' + i);
|
||
}
|
||
bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);
|
||
if (target.prototype) {
|
||
var Empty = function Empty() {};
|
||
Empty.prototype = target.prototype;
|
||
bound.prototype = new Empty();
|
||
Empty.prototype = null;
|
||
}
|
||
return bound;
|
||
};
|
||
|
||
/***/ }),
|
||
|
||
/***/ 36046:
|
||
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
|
||
|
||
var implementation = __webpack_require__(51820);
|
||
module.exports = Function.prototype.bind || implementation;
|
||
|
||
/***/ }),
|
||
|
||
/***/ 55050:
|
||
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
|
||
|
||
var undefined;
|
||
var $SyntaxError = SyntaxError;
|
||
var $Function = Function;
|
||
var $TypeError = TypeError;
|
||
|
||
// eslint-disable-next-line consistent-return
|
||
var getEvalledConstructor = function (expressionSyntax) {
|
||
try {
|
||
return $Function('"use strict"; return (' + expressionSyntax + ').constructor;')();
|
||
} catch (e) {}
|
||
};
|
||
var $gOPD = Object.getOwnPropertyDescriptor;
|
||
if ($gOPD) {
|
||
try {
|
||
$gOPD({}, '');
|
||
} catch (e) {
|
||
$gOPD = null; // this is IE 8, which has a broken gOPD
|
||
}
|
||
}
|
||
|
||
var throwTypeError = function () {
|
||
throw new $TypeError();
|
||
};
|
||
var ThrowTypeError = $gOPD ? function () {
|
||
try {
|
||
// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties
|
||
arguments.callee; // IE 8 does not throw here
|
||
return throwTypeError;
|
||
} catch (calleeThrows) {
|
||
try {
|
||
// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')
|
||
return $gOPD(arguments, 'callee').get;
|
||
} catch (gOPDthrows) {
|
||
return throwTypeError;
|
||
}
|
||
}
|
||
}() : throwTypeError;
|
||
var hasSymbols = __webpack_require__(8269)();
|
||
var hasProto = __webpack_require__(1886)();
|
||
var getProto = Object.getPrototypeOf || (hasProto ? function (x) {
|
||
return x.__proto__;
|
||
} // eslint-disable-line no-proto
|
||
: null);
|
||
var needsEval = {};
|
||
var TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);
|
||
var INTRINSICS = {
|
||
'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,
|
||
'%Array%': Array,
|
||
'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,
|
||
'%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,
|
||
'%AsyncFromSyncIteratorPrototype%': undefined,
|
||
'%AsyncFunction%': needsEval,
|
||
'%AsyncGenerator%': needsEval,
|
||
'%AsyncGeneratorFunction%': needsEval,
|
||
'%AsyncIteratorPrototype%': needsEval,
|
||
'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,
|
||
'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,
|
||
'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,
|
||
'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,
|
||
'%Boolean%': Boolean,
|
||
'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,
|
||
'%Date%': Date,
|
||
'%decodeURI%': decodeURI,
|
||
'%decodeURIComponent%': decodeURIComponent,
|
||
'%encodeURI%': encodeURI,
|
||
'%encodeURIComponent%': encodeURIComponent,
|
||
'%Error%': Error,
|
||
'%eval%': eval,
|
||
// eslint-disable-line no-eval
|
||
'%EvalError%': EvalError,
|
||
'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,
|
||
'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,
|
||
'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,
|
||
'%Function%': $Function,
|
||
'%GeneratorFunction%': needsEval,
|
||
'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,
|
||
'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,
|
||
'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,
|
||
'%isFinite%': isFinite,
|
||
'%isNaN%': isNaN,
|
||
'%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,
|
||
'%JSON%': typeof JSON === 'object' ? JSON : undefined,
|
||
'%Map%': typeof Map === 'undefined' ? undefined : Map,
|
||
'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),
|
||
'%Math%': Math,
|
||
'%Number%': Number,
|
||
'%Object%': Object,
|
||
'%parseFloat%': parseFloat,
|
||
'%parseInt%': parseInt,
|
||
'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,
|
||
'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,
|
||
'%RangeError%': RangeError,
|
||
'%ReferenceError%': ReferenceError,
|
||
'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,
|
||
'%RegExp%': RegExp,
|
||
'%Set%': typeof Set === 'undefined' ? undefined : Set,
|
||
'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),
|
||
'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,
|
||
'%String%': String,
|
||
'%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,
|
||
'%Symbol%': hasSymbols ? Symbol : undefined,
|
||
'%SyntaxError%': $SyntaxError,
|
||
'%ThrowTypeError%': ThrowTypeError,
|
||
'%TypedArray%': TypedArray,
|
||
'%TypeError%': $TypeError,
|
||
'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,
|
||
'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,
|
||
'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,
|
||
'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,
|
||
'%URIError%': URIError,
|
||
'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,
|
||
'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,
|
||
'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet
|
||
};
|
||
if (getProto) {
|
||
try {
|
||
null.error; // eslint-disable-line no-unused-expressions
|
||
} catch (e) {
|
||
// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229
|
||
var errorProto = getProto(getProto(e));
|
||
INTRINSICS['%Error.prototype%'] = errorProto;
|
||
}
|
||
}
|
||
var doEval = function doEval(name) {
|
||
var value;
|
||
if (name === '%AsyncFunction%') {
|
||
value = getEvalledConstructor('async function () {}');
|
||
} else if (name === '%GeneratorFunction%') {
|
||
value = getEvalledConstructor('function* () {}');
|
||
} else if (name === '%AsyncGeneratorFunction%') {
|
||
value = getEvalledConstructor('async function* () {}');
|
||
} else if (name === '%AsyncGenerator%') {
|
||
var fn = doEval('%AsyncGeneratorFunction%');
|
||
if (fn) {
|
||
value = fn.prototype;
|
||
}
|
||
} else if (name === '%AsyncIteratorPrototype%') {
|
||
var gen = doEval('%AsyncGenerator%');
|
||
if (gen && getProto) {
|
||
value = getProto(gen.prototype);
|
||
}
|
||
}
|
||
INTRINSICS[name] = value;
|
||
return value;
|
||
};
|
||
var LEGACY_ALIASES = {
|
||
'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],
|
||
'%ArrayPrototype%': ['Array', 'prototype'],
|
||
'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],
|
||
'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],
|
||
'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],
|
||
'%ArrayProto_values%': ['Array', 'prototype', 'values'],
|
||
'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],
|
||
'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],
|
||
'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],
|
||
'%BooleanPrototype%': ['Boolean', 'prototype'],
|
||
'%DataViewPrototype%': ['DataView', 'prototype'],
|
||
'%DatePrototype%': ['Date', 'prototype'],
|
||
'%ErrorPrototype%': ['Error', 'prototype'],
|
||
'%EvalErrorPrototype%': ['EvalError', 'prototype'],
|
||
'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],
|
||
'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],
|
||
'%FunctionPrototype%': ['Function', 'prototype'],
|
||
'%Generator%': ['GeneratorFunction', 'prototype'],
|
||
'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],
|
||
'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],
|
||
'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],
|
||
'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],
|
||
'%JSONParse%': ['JSON', 'parse'],
|
||
'%JSONStringify%': ['JSON', 'stringify'],
|
||
'%MapPrototype%': ['Map', 'prototype'],
|
||
'%NumberPrototype%': ['Number', 'prototype'],
|
||
'%ObjectPrototype%': ['Object', 'prototype'],
|
||
'%ObjProto_toString%': ['Object', 'prototype', 'toString'],
|
||
'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],
|
||
'%PromisePrototype%': ['Promise', 'prototype'],
|
||
'%PromiseProto_then%': ['Promise', 'prototype', 'then'],
|
||
'%Promise_all%': ['Promise', 'all'],
|
||
'%Promise_reject%': ['Promise', 'reject'],
|
||
'%Promise_resolve%': ['Promise', 'resolve'],
|
||
'%RangeErrorPrototype%': ['RangeError', 'prototype'],
|
||
'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],
|
||
'%RegExpPrototype%': ['RegExp', 'prototype'],
|
||
'%SetPrototype%': ['Set', 'prototype'],
|
||
'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],
|
||
'%StringPrototype%': ['String', 'prototype'],
|
||
'%SymbolPrototype%': ['Symbol', 'prototype'],
|
||
'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],
|
||
'%TypedArrayPrototype%': ['TypedArray', 'prototype'],
|
||
'%TypeErrorPrototype%': ['TypeError', 'prototype'],
|
||
'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],
|
||
'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],
|
||
'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],
|
||
'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],
|
||
'%URIErrorPrototype%': ['URIError', 'prototype'],
|
||
'%WeakMapPrototype%': ['WeakMap', 'prototype'],
|
||
'%WeakSetPrototype%': ['WeakSet', 'prototype']
|
||
};
|
||
var bind = __webpack_require__(36046);
|
||
var hasOwn = __webpack_require__(50163);
|
||
var $concat = bind.call(Function.call, Array.prototype.concat);
|
||
var $spliceApply = bind.call(Function.apply, Array.prototype.splice);
|
||
var $replace = bind.call(Function.call, String.prototype.replace);
|
||
var $strSlice = bind.call(Function.call, String.prototype.slice);
|
||
var $exec = bind.call(Function.call, RegExp.prototype.exec);
|
||
|
||
/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */
|
||
var rePropName = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g;
|
||
var reEscapeChar = /\\(\\)?/g; /** Used to match backslashes in property paths. */
|
||
var stringToPath = function stringToPath(string) {
|
||
var first = $strSlice(string, 0, 1);
|
||
var last = $strSlice(string, -1);
|
||
if (first === '%' && last !== '%') {
|
||
throw new $SyntaxError('invalid intrinsic syntax, expected closing `%`');
|
||
} else if (last === '%' && first !== '%') {
|
||
throw new $SyntaxError('invalid intrinsic syntax, expected opening `%`');
|
||
}
|
||
var result = [];
|
||
$replace(string, rePropName, function (match, number, quote, subString) {
|
||
result[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;
|
||
});
|
||
return result;
|
||
};
|
||
/* end adaptation */
|
||
|
||
var getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {
|
||
var intrinsicName = name;
|
||
var alias;
|
||
if (hasOwn(LEGACY_ALIASES, intrinsicName)) {
|
||
alias = LEGACY_ALIASES[intrinsicName];
|
||
intrinsicName = '%' + alias[0] + '%';
|
||
}
|
||
if (hasOwn(INTRINSICS, intrinsicName)) {
|
||
var value = INTRINSICS[intrinsicName];
|
||
if (value === needsEval) {
|
||
value = doEval(intrinsicName);
|
||
}
|
||
if (typeof value === 'undefined' && !allowMissing) {
|
||
throw new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');
|
||
}
|
||
return {
|
||
alias: alias,
|
||
name: intrinsicName,
|
||
value: value
|
||
};
|
||
}
|
||
throw new $SyntaxError('intrinsic ' + name + ' does not exist!');
|
||
};
|
||
module.exports = function GetIntrinsic(name, allowMissing) {
|
||
if (typeof name !== 'string' || name.length === 0) {
|
||
throw new $TypeError('intrinsic name must be a non-empty string');
|
||
}
|
||
if (arguments.length > 1 && typeof allowMissing !== 'boolean') {
|
||
throw new $TypeError('"allowMissing" argument must be a boolean');
|
||
}
|
||
if ($exec(/^%?[^%]*%?$/, name) === null) {
|
||
throw new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');
|
||
}
|
||
var parts = stringToPath(name);
|
||
var intrinsicBaseName = parts.length > 0 ? parts[0] : '';
|
||
var intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);
|
||
var intrinsicRealName = intrinsic.name;
|
||
var value = intrinsic.value;
|
||
var skipFurtherCaching = false;
|
||
var alias = intrinsic.alias;
|
||
if (alias) {
|
||
intrinsicBaseName = alias[0];
|
||
$spliceApply(parts, $concat([0, 1], alias));
|
||
}
|
||
for (var i = 1, isOwn = true; i < parts.length; i += 1) {
|
||
var part = parts[i];
|
||
var first = $strSlice(part, 0, 1);
|
||
var last = $strSlice(part, -1);
|
||
if ((first === '"' || first === "'" || first === '`' || last === '"' || last === "'" || last === '`') && first !== last) {
|
||
throw new $SyntaxError('property names with quotes must have matching quotes');
|
||
}
|
||
if (part === 'constructor' || !isOwn) {
|
||
skipFurtherCaching = true;
|
||
}
|
||
intrinsicBaseName += '.' + part;
|
||
intrinsicRealName = '%' + intrinsicBaseName + '%';
|
||
if (hasOwn(INTRINSICS, intrinsicRealName)) {
|
||
value = INTRINSICS[intrinsicRealName];
|
||
} else if (value != null) {
|
||
if (!(part in value)) {
|
||
if (!allowMissing) {
|
||
throw new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');
|
||
}
|
||
return void undefined;
|
||
}
|
||
if ($gOPD && i + 1 >= parts.length) {
|
||
var desc = $gOPD(value, part);
|
||
isOwn = !!desc;
|
||
|
||
// By convention, when a data property is converted to an accessor
|
||
// property to emulate a data property that does not suffer from
|
||
// the override mistake, that accessor's getter is marked with
|
||
// an `originalValue` property. Here, when we detect this, we
|
||
// uphold the illusion by pretending to see that original data
|
||
// property, i.e., returning the value rather than the getter
|
||
// itself.
|
||
if (isOwn && 'get' in desc && !('originalValue' in desc.get)) {
|
||
value = desc.get;
|
||
} else {
|
||
value = value[part];
|
||
}
|
||
} else {
|
||
isOwn = hasOwn(value, part);
|
||
value = value[part];
|
||
}
|
||
if (isOwn && !skipFurtherCaching) {
|
||
INTRINSICS[intrinsicRealName] = value;
|
||
}
|
||
}
|
||
}
|
||
return value;
|
||
};
|
||
|
||
/***/ }),
|
||
|
||
/***/ 1886:
|
||
/***/ ((module) => {
|
||
|
||
"use strict";
|
||
|
||
|
||
var test = {
|
||
foo: {}
|
||
};
|
||
var $Object = Object;
|
||
module.exports = function hasProto() {
|
||
return {
|
||
__proto__: test
|
||
}.foo === test.foo && !({
|
||
__proto__: null
|
||
} instanceof $Object);
|
||
};
|
||
|
||
/***/ }),
|
||
|
||
/***/ 8269:
|
||
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
|
||
|
||
var origSymbol = typeof Symbol !== 'undefined' && Symbol;
|
||
var hasSymbolSham = __webpack_require__(88928);
|
||
module.exports = function hasNativeSymbols() {
|
||
if (typeof origSymbol !== 'function') {
|
||
return false;
|
||
}
|
||
if (typeof Symbol !== 'function') {
|
||
return false;
|
||
}
|
||
if (typeof origSymbol('foo') !== 'symbol') {
|
||
return false;
|
||
}
|
||
if (typeof Symbol('bar') !== 'symbol') {
|
||
return false;
|
||
}
|
||
return hasSymbolSham();
|
||
};
|
||
|
||
/***/ }),
|
||
|
||
/***/ 88928:
|
||
/***/ ((module) => {
|
||
|
||
"use strict";
|
||
|
||
|
||
/* eslint complexity: [2, 18], max-statements: [2, 33] */
|
||
module.exports = function hasSymbols() {
|
||
if (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') {
|
||
return false;
|
||
}
|
||
if (typeof Symbol.iterator === 'symbol') {
|
||
return true;
|
||
}
|
||
var obj = {};
|
||
var sym = Symbol('test');
|
||
var symObj = Object(sym);
|
||
if (typeof sym === 'string') {
|
||
return false;
|
||
}
|
||
if (Object.prototype.toString.call(sym) !== '[object Symbol]') {
|
||
return false;
|
||
}
|
||
if (Object.prototype.toString.call(symObj) !== '[object Symbol]') {
|
||
return false;
|
||
}
|
||
|
||
// temp disabled per https://github.com/ljharb/object.assign/issues/17
|
||
// if (sym instanceof Symbol) { return false; }
|
||
// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4
|
||
// if (!(symObj instanceof Symbol)) { return false; }
|
||
|
||
// if (typeof Symbol.prototype.toString !== 'function') { return false; }
|
||
// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }
|
||
|
||
var symVal = 42;
|
||
obj[sym] = symVal;
|
||
for (sym in obj) {
|
||
return false;
|
||
} // eslint-disable-line no-restricted-syntax, no-unreachable-loop
|
||
if (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) {
|
||
return false;
|
||
}
|
||
if (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) {
|
||
return false;
|
||
}
|
||
var syms = Object.getOwnPropertySymbols(obj);
|
||
if (syms.length !== 1 || syms[0] !== sym) {
|
||
return false;
|
||
}
|
||
if (!Object.prototype.propertyIsEnumerable.call(obj, sym)) {
|
||
return false;
|
||
}
|
||
if (typeof Object.getOwnPropertyDescriptor === 'function') {
|
||
var descriptor = Object.getOwnPropertyDescriptor(obj, sym);
|
||
if (descriptor.value !== symVal || descriptor.enumerable !== true) {
|
||
return false;
|
||
}
|
||
}
|
||
return true;
|
||
};
|
||
|
||
/***/ }),
|
||
|
||
/***/ 50163:
|
||
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
|
||
|
||
var bind = __webpack_require__(36046);
|
||
module.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);
|
||
|
||
/***/ }),
|
||
|
||
/***/ 87676:
|
||
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
||
|
||
var hasMap = typeof Map === 'function' && Map.prototype;
|
||
var mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, 'size') : null;
|
||
var mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === 'function' ? mapSizeDescriptor.get : null;
|
||
var mapForEach = hasMap && Map.prototype.forEach;
|
||
var hasSet = typeof Set === 'function' && Set.prototype;
|
||
var setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, 'size') : null;
|
||
var setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === 'function' ? setSizeDescriptor.get : null;
|
||
var setForEach = hasSet && Set.prototype.forEach;
|
||
var hasWeakMap = typeof WeakMap === 'function' && WeakMap.prototype;
|
||
var weakMapHas = hasWeakMap ? WeakMap.prototype.has : null;
|
||
var hasWeakSet = typeof WeakSet === 'function' && WeakSet.prototype;
|
||
var weakSetHas = hasWeakSet ? WeakSet.prototype.has : null;
|
||
var hasWeakRef = typeof WeakRef === 'function' && WeakRef.prototype;
|
||
var weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null;
|
||
var booleanValueOf = Boolean.prototype.valueOf;
|
||
var objectToString = Object.prototype.toString;
|
||
var functionToString = Function.prototype.toString;
|
||
var $match = String.prototype.match;
|
||
var $slice = String.prototype.slice;
|
||
var $replace = String.prototype.replace;
|
||
var $toUpperCase = String.prototype.toUpperCase;
|
||
var $toLowerCase = String.prototype.toLowerCase;
|
||
var $test = RegExp.prototype.test;
|
||
var $concat = Array.prototype.concat;
|
||
var $join = Array.prototype.join;
|
||
var $arrSlice = Array.prototype.slice;
|
||
var $floor = Math.floor;
|
||
var bigIntValueOf = typeof BigInt === 'function' ? BigInt.prototype.valueOf : null;
|
||
var gOPS = Object.getOwnPropertySymbols;
|
||
var symToString = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol.prototype.toString : null;
|
||
var hasShammedSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'object';
|
||
// ie, `has-tostringtag/shams
|
||
var toStringTag = typeof Symbol === 'function' && Symbol.toStringTag && (typeof Symbol.toStringTag === hasShammedSymbols ? 'object' : 'symbol') ? Symbol.toStringTag : null;
|
||
var isEnumerable = Object.prototype.propertyIsEnumerable;
|
||
var gPO = (typeof Reflect === 'function' ? Reflect.getPrototypeOf : Object.getPrototypeOf) || ([].__proto__ === Array.prototype // eslint-disable-line no-proto
|
||
? function (O) {
|
||
return O.__proto__; // eslint-disable-line no-proto
|
||
} : null);
|
||
function addNumericSeparator(num, str) {
|
||
if (num === Infinity || num === -Infinity || num !== num || num && num > -1000 && num < 1000 || $test.call(/e/, str)) {
|
||
return str;
|
||
}
|
||
var sepRegex = /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;
|
||
if (typeof num === 'number') {
|
||
var int = num < 0 ? -$floor(-num) : $floor(num); // trunc(num)
|
||
if (int !== num) {
|
||
var intStr = String(int);
|
||
var dec = $slice.call(str, intStr.length + 1);
|
||
return $replace.call(intStr, sepRegex, '$&_') + '.' + $replace.call($replace.call(dec, /([0-9]{3})/g, '$&_'), /_$/, '');
|
||
}
|
||
}
|
||
return $replace.call(str, sepRegex, '$&_');
|
||
}
|
||
var utilInspect = __webpack_require__(53260);
|
||
var inspectCustom = utilInspect.custom;
|
||
var inspectSymbol = isSymbol(inspectCustom) ? inspectCustom : null;
|
||
module.exports = function inspect_(obj, options, depth, seen) {
|
||
var opts = options || {};
|
||
if (has(opts, 'quoteStyle') && opts.quoteStyle !== 'single' && opts.quoteStyle !== 'double') {
|
||
throw new TypeError('option "quoteStyle" must be "single" or "double"');
|
||
}
|
||
if (has(opts, 'maxStringLength') && (typeof opts.maxStringLength === 'number' ? opts.maxStringLength < 0 && opts.maxStringLength !== Infinity : opts.maxStringLength !== null)) {
|
||
throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');
|
||
}
|
||
var customInspect = has(opts, 'customInspect') ? opts.customInspect : true;
|
||
if (typeof customInspect !== 'boolean' && customInspect !== 'symbol') {
|
||
throw new TypeError('option "customInspect", if provided, must be `true`, `false`, or `\'symbol\'`');
|
||
}
|
||
if (has(opts, 'indent') && opts.indent !== null && opts.indent !== '\t' && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0)) {
|
||
throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');
|
||
}
|
||
if (has(opts, 'numericSeparator') && typeof opts.numericSeparator !== 'boolean') {
|
||
throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');
|
||
}
|
||
var numericSeparator = opts.numericSeparator;
|
||
if (typeof obj === 'undefined') {
|
||
return 'undefined';
|
||
}
|
||
if (obj === null) {
|
||
return 'null';
|
||
}
|
||
if (typeof obj === 'boolean') {
|
||
return obj ? 'true' : 'false';
|
||
}
|
||
if (typeof obj === 'string') {
|
||
return inspectString(obj, opts);
|
||
}
|
||
if (typeof obj === 'number') {
|
||
if (obj === 0) {
|
||
return Infinity / obj > 0 ? '0' : '-0';
|
||
}
|
||
var str = String(obj);
|
||
return numericSeparator ? addNumericSeparator(obj, str) : str;
|
||
}
|
||
if (typeof obj === 'bigint') {
|
||
var bigIntStr = String(obj) + 'n';
|
||
return numericSeparator ? addNumericSeparator(obj, bigIntStr) : bigIntStr;
|
||
}
|
||
var maxDepth = typeof opts.depth === 'undefined' ? 5 : opts.depth;
|
||
if (typeof depth === 'undefined') {
|
||
depth = 0;
|
||
}
|
||
if (depth >= maxDepth && maxDepth > 0 && typeof obj === 'object') {
|
||
return isArray(obj) ? '[Array]' : '[Object]';
|
||
}
|
||
var indent = getIndent(opts, depth);
|
||
if (typeof seen === 'undefined') {
|
||
seen = [];
|
||
} else if (indexOf(seen, obj) >= 0) {
|
||
return '[Circular]';
|
||
}
|
||
function inspect(value, from, noIndent) {
|
||
if (from) {
|
||
seen = $arrSlice.call(seen);
|
||
seen.push(from);
|
||
}
|
||
if (noIndent) {
|
||
var newOpts = {
|
||
depth: opts.depth
|
||
};
|
||
if (has(opts, 'quoteStyle')) {
|
||
newOpts.quoteStyle = opts.quoteStyle;
|
||
}
|
||
return inspect_(value, newOpts, depth + 1, seen);
|
||
}
|
||
return inspect_(value, opts, depth + 1, seen);
|
||
}
|
||
if (typeof obj === 'function' && !isRegExp(obj)) {
|
||
// in older engines, regexes are callable
|
||
var name = nameOf(obj);
|
||
var keys = arrObjKeys(obj, inspect);
|
||
return '[Function' + (name ? ': ' + name : ' (anonymous)') + ']' + (keys.length > 0 ? ' { ' + $join.call(keys, ', ') + ' }' : '');
|
||
}
|
||
if (isSymbol(obj)) {
|
||
var symString = hasShammedSymbols ? $replace.call(String(obj), /^(Symbol\(.*\))_[^)]*$/, '$1') : symToString.call(obj);
|
||
return typeof obj === 'object' && !hasShammedSymbols ? markBoxed(symString) : symString;
|
||
}
|
||
if (isElement(obj)) {
|
||
var s = '<' + $toLowerCase.call(String(obj.nodeName));
|
||
var attrs = obj.attributes || [];
|
||
for (var i = 0; i < attrs.length; i++) {
|
||
s += ' ' + attrs[i].name + '=' + wrapQuotes(quote(attrs[i].value), 'double', opts);
|
||
}
|
||
s += '>';
|
||
if (obj.childNodes && obj.childNodes.length) {
|
||
s += '...';
|
||
}
|
||
s += '</' + $toLowerCase.call(String(obj.nodeName)) + '>';
|
||
return s;
|
||
}
|
||
if (isArray(obj)) {
|
||
if (obj.length === 0) {
|
||
return '[]';
|
||
}
|
||
var xs = arrObjKeys(obj, inspect);
|
||
if (indent && !singleLineValues(xs)) {
|
||
return '[' + indentedJoin(xs, indent) + ']';
|
||
}
|
||
return '[ ' + $join.call(xs, ', ') + ' ]';
|
||
}
|
||
if (isError(obj)) {
|
||
var parts = arrObjKeys(obj, inspect);
|
||
if (!('cause' in Error.prototype) && 'cause' in obj && !isEnumerable.call(obj, 'cause')) {
|
||
return '{ [' + String(obj) + '] ' + $join.call($concat.call('[cause]: ' + inspect(obj.cause), parts), ', ') + ' }';
|
||
}
|
||
if (parts.length === 0) {
|
||
return '[' + String(obj) + ']';
|
||
}
|
||
return '{ [' + String(obj) + '] ' + $join.call(parts, ', ') + ' }';
|
||
}
|
||
if (typeof obj === 'object' && customInspect) {
|
||
if (inspectSymbol && typeof obj[inspectSymbol] === 'function' && utilInspect) {
|
||
return utilInspect(obj, {
|
||
depth: maxDepth - depth
|
||
});
|
||
} else if (customInspect !== 'symbol' && typeof obj.inspect === 'function') {
|
||
return obj.inspect();
|
||
}
|
||
}
|
||
if (isMap(obj)) {
|
||
var mapParts = [];
|
||
if (mapForEach) {
|
||
mapForEach.call(obj, function (value, key) {
|
||
mapParts.push(inspect(key, obj, true) + ' => ' + inspect(value, obj));
|
||
});
|
||
}
|
||
return collectionOf('Map', mapSize.call(obj), mapParts, indent);
|
||
}
|
||
if (isSet(obj)) {
|
||
var setParts = [];
|
||
if (setForEach) {
|
||
setForEach.call(obj, function (value) {
|
||
setParts.push(inspect(value, obj));
|
||
});
|
||
}
|
||
return collectionOf('Set', setSize.call(obj), setParts, indent);
|
||
}
|
||
if (isWeakMap(obj)) {
|
||
return weakCollectionOf('WeakMap');
|
||
}
|
||
if (isWeakSet(obj)) {
|
||
return weakCollectionOf('WeakSet');
|
||
}
|
||
if (isWeakRef(obj)) {
|
||
return weakCollectionOf('WeakRef');
|
||
}
|
||
if (isNumber(obj)) {
|
||
return markBoxed(inspect(Number(obj)));
|
||
}
|
||
if (isBigInt(obj)) {
|
||
return markBoxed(inspect(bigIntValueOf.call(obj)));
|
||
}
|
||
if (isBoolean(obj)) {
|
||
return markBoxed(booleanValueOf.call(obj));
|
||
}
|
||
if (isString(obj)) {
|
||
return markBoxed(inspect(String(obj)));
|
||
}
|
||
if (!isDate(obj) && !isRegExp(obj)) {
|
||
var ys = arrObjKeys(obj, inspect);
|
||
var isPlainObject = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object;
|
||
var protoTag = obj instanceof Object ? '' : 'null prototype';
|
||
var stringTag = !isPlainObject && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr(obj), 8, -1) : protoTag ? 'Object' : '';
|
||
var constructorTag = isPlainObject || typeof obj.constructor !== 'function' ? '' : obj.constructor.name ? obj.constructor.name + ' ' : '';
|
||
var tag = constructorTag + (stringTag || protoTag ? '[' + $join.call($concat.call([], stringTag || [], protoTag || []), ': ') + '] ' : '');
|
||
if (ys.length === 0) {
|
||
return tag + '{}';
|
||
}
|
||
if (indent) {
|
||
return tag + '{' + indentedJoin(ys, indent) + '}';
|
||
}
|
||
return tag + '{ ' + $join.call(ys, ', ') + ' }';
|
||
}
|
||
return String(obj);
|
||
};
|
||
function wrapQuotes(s, defaultStyle, opts) {
|
||
var quoteChar = (opts.quoteStyle || defaultStyle) === 'double' ? '"' : "'";
|
||
return quoteChar + s + quoteChar;
|
||
}
|
||
function quote(s) {
|
||
return $replace.call(String(s), /"/g, '"');
|
||
}
|
||
function isArray(obj) {
|
||
return toStr(obj) === '[object Array]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj));
|
||
}
|
||
function isDate(obj) {
|
||
return toStr(obj) === '[object Date]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj));
|
||
}
|
||
function isRegExp(obj) {
|
||
return toStr(obj) === '[object RegExp]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj));
|
||
}
|
||
function isError(obj) {
|
||
return toStr(obj) === '[object Error]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj));
|
||
}
|
||
function isString(obj) {
|
||
return toStr(obj) === '[object String]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj));
|
||
}
|
||
function isNumber(obj) {
|
||
return toStr(obj) === '[object Number]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj));
|
||
}
|
||
function isBoolean(obj) {
|
||
return toStr(obj) === '[object Boolean]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj));
|
||
}
|
||
|
||
// Symbol and BigInt do have Symbol.toStringTag by spec, so that can't be used to eliminate false positives
|
||
function isSymbol(obj) {
|
||
if (hasShammedSymbols) {
|
||
return obj && typeof obj === 'object' && obj instanceof Symbol;
|
||
}
|
||
if (typeof obj === 'symbol') {
|
||
return true;
|
||
}
|
||
if (!obj || typeof obj !== 'object' || !symToString) {
|
||
return false;
|
||
}
|
||
try {
|
||
symToString.call(obj);
|
||
return true;
|
||
} catch (e) {}
|
||
return false;
|
||
}
|
||
function isBigInt(obj) {
|
||
if (!obj || typeof obj !== 'object' || !bigIntValueOf) {
|
||
return false;
|
||
}
|
||
try {
|
||
bigIntValueOf.call(obj);
|
||
return true;
|
||
} catch (e) {}
|
||
return false;
|
||
}
|
||
var hasOwn = Object.prototype.hasOwnProperty || function (key) {
|
||
return key in this;
|
||
};
|
||
function has(obj, key) {
|
||
return hasOwn.call(obj, key);
|
||
}
|
||
function toStr(obj) {
|
||
return objectToString.call(obj);
|
||
}
|
||
function nameOf(f) {
|
||
if (f.name) {
|
||
return f.name;
|
||
}
|
||
var m = $match.call(functionToString.call(f), /^function\s*([\w$]+)/);
|
||
if (m) {
|
||
return m[1];
|
||
}
|
||
return null;
|
||
}
|
||
function indexOf(xs, x) {
|
||
if (xs.indexOf) {
|
||
return xs.indexOf(x);
|
||
}
|
||
for (var i = 0, l = xs.length; i < l; i++) {
|
||
if (xs[i] === x) {
|
||
return i;
|
||
}
|
||
}
|
||
return -1;
|
||
}
|
||
function isMap(x) {
|
||
if (!mapSize || !x || typeof x !== 'object') {
|
||
return false;
|
||
}
|
||
try {
|
||
mapSize.call(x);
|
||
try {
|
||
setSize.call(x);
|
||
} catch (s) {
|
||
return true;
|
||
}
|
||
return x instanceof Map; // core-js workaround, pre-v2.5.0
|
||
} catch (e) {}
|
||
return false;
|
||
}
|
||
function isWeakMap(x) {
|
||
if (!weakMapHas || !x || typeof x !== 'object') {
|
||
return false;
|
||
}
|
||
try {
|
||
weakMapHas.call(x, weakMapHas);
|
||
try {
|
||
weakSetHas.call(x, weakSetHas);
|
||
} catch (s) {
|
||
return true;
|
||
}
|
||
return x instanceof WeakMap; // core-js workaround, pre-v2.5.0
|
||
} catch (e) {}
|
||
return false;
|
||
}
|
||
function isWeakRef(x) {
|
||
if (!weakRefDeref || !x || typeof x !== 'object') {
|
||
return false;
|
||
}
|
||
try {
|
||
weakRefDeref.call(x);
|
||
return true;
|
||
} catch (e) {}
|
||
return false;
|
||
}
|
||
function isSet(x) {
|
||
if (!setSize || !x || typeof x !== 'object') {
|
||
return false;
|
||
}
|
||
try {
|
||
setSize.call(x);
|
||
try {
|
||
mapSize.call(x);
|
||
} catch (m) {
|
||
return true;
|
||
}
|
||
return x instanceof Set; // core-js workaround, pre-v2.5.0
|
||
} catch (e) {}
|
||
return false;
|
||
}
|
||
function isWeakSet(x) {
|
||
if (!weakSetHas || !x || typeof x !== 'object') {
|
||
return false;
|
||
}
|
||
try {
|
||
weakSetHas.call(x, weakSetHas);
|
||
try {
|
||
weakMapHas.call(x, weakMapHas);
|
||
} catch (s) {
|
||
return true;
|
||
}
|
||
return x instanceof WeakSet; // core-js workaround, pre-v2.5.0
|
||
} catch (e) {}
|
||
return false;
|
||
}
|
||
function isElement(x) {
|
||
if (!x || typeof x !== 'object') {
|
||
return false;
|
||
}
|
||
if (typeof HTMLElement !== 'undefined' && x instanceof HTMLElement) {
|
||
return true;
|
||
}
|
||
return typeof x.nodeName === 'string' && typeof x.getAttribute === 'function';
|
||
}
|
||
function inspectString(str, opts) {
|
||
if (str.length > opts.maxStringLength) {
|
||
var remaining = str.length - opts.maxStringLength;
|
||
var trailer = '... ' + remaining + ' more character' + (remaining > 1 ? 's' : '');
|
||
return inspectString($slice.call(str, 0, opts.maxStringLength), opts) + trailer;
|
||
}
|
||
// eslint-disable-next-line no-control-regex
|
||
var s = $replace.call($replace.call(str, /(['\\])/g, '\\$1'), /[\x00-\x1f]/g, lowbyte);
|
||
return wrapQuotes(s, 'single', opts);
|
||
}
|
||
function lowbyte(c) {
|
||
var n = c.charCodeAt(0);
|
||
var x = {
|
||
8: 'b',
|
||
9: 't',
|
||
10: 'n',
|
||
12: 'f',
|
||
13: 'r'
|
||
}[n];
|
||
if (x) {
|
||
return '\\' + x;
|
||
}
|
||
return '\\x' + (n < 0x10 ? '0' : '') + $toUpperCase.call(n.toString(16));
|
||
}
|
||
function markBoxed(str) {
|
||
return 'Object(' + str + ')';
|
||
}
|
||
function weakCollectionOf(type) {
|
||
return type + ' { ? }';
|
||
}
|
||
function collectionOf(type, size, entries, indent) {
|
||
var joinedEntries = indent ? indentedJoin(entries, indent) : $join.call(entries, ', ');
|
||
return type + ' (' + size + ') {' + joinedEntries + '}';
|
||
}
|
||
function singleLineValues(xs) {
|
||
for (var i = 0; i < xs.length; i++) {
|
||
if (indexOf(xs[i], '\n') >= 0) {
|
||
return false;
|
||
}
|
||
}
|
||
return true;
|
||
}
|
||
function getIndent(opts, depth) {
|
||
var baseIndent;
|
||
if (opts.indent === '\t') {
|
||
baseIndent = '\t';
|
||
} else if (typeof opts.indent === 'number' && opts.indent > 0) {
|
||
baseIndent = $join.call(Array(opts.indent + 1), ' ');
|
||
} else {
|
||
return null;
|
||
}
|
||
return {
|
||
base: baseIndent,
|
||
prev: $join.call(Array(depth + 1), baseIndent)
|
||
};
|
||
}
|
||
function indentedJoin(xs, indent) {
|
||
if (xs.length === 0) {
|
||
return '';
|
||
}
|
||
var lineJoiner = '\n' + indent.prev + indent.base;
|
||
return lineJoiner + $join.call(xs, ',' + lineJoiner) + '\n' + indent.prev;
|
||
}
|
||
function arrObjKeys(obj, inspect) {
|
||
var isArr = isArray(obj);
|
||
var xs = [];
|
||
if (isArr) {
|
||
xs.length = obj.length;
|
||
for (var i = 0; i < obj.length; i++) {
|
||
xs[i] = has(obj, i) ? inspect(obj[i], obj) : '';
|
||
}
|
||
}
|
||
var syms = typeof gOPS === 'function' ? gOPS(obj) : [];
|
||
var symMap;
|
||
if (hasShammedSymbols) {
|
||
symMap = {};
|
||
for (var k = 0; k < syms.length; k++) {
|
||
symMap['$' + syms[k]] = syms[k];
|
||
}
|
||
}
|
||
for (var key in obj) {
|
||
// eslint-disable-line no-restricted-syntax
|
||
if (!has(obj, key)) {
|
||
continue;
|
||
} // eslint-disable-line no-restricted-syntax, no-continue
|
||
if (isArr && String(Number(key)) === key && key < obj.length) {
|
||
continue;
|
||
} // eslint-disable-line no-restricted-syntax, no-continue
|
||
if (hasShammedSymbols && symMap['$' + key] instanceof Symbol) {
|
||
// this is to prevent shammed Symbols, which are stored as strings, from being included in the string key section
|
||
continue; // eslint-disable-line no-restricted-syntax, no-continue
|
||
} else if ($test.call(/[^\w$]/, key)) {
|
||
xs.push(inspect(key, obj) + ': ' + inspect(obj[key], obj));
|
||
} else {
|
||
xs.push(key + ': ' + inspect(obj[key], obj));
|
||
}
|
||
}
|
||
if (typeof gOPS === 'function') {
|
||
for (var j = 0; j < syms.length; j++) {
|
||
if (isEnumerable.call(obj, syms[j])) {
|
||
xs.push('[' + inspect(syms[j]) + ']: ' + inspect(obj[syms[j]], obj));
|
||
}
|
||
}
|
||
}
|
||
return xs;
|
||
}
|
||
|
||
/***/ }),
|
||
|
||
/***/ 14375:
|
||
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
/* provided dependency */ var process = __webpack_require__(71624);
|
||
// 'path' module extracted from Node.js v8.11.1 (only the posix part)
|
||
// transplited with Babel
|
||
|
||
// Copyright Joyent, Inc. and other Node contributors.
|
||
//
|
||
// Permission is hereby granted, free of charge, to any person obtaining a
|
||
// copy of this software and associated documentation files (the
|
||
// "Software"), to deal in the Software without restriction, including
|
||
// without limitation the rights to use, copy, modify, merge, publish,
|
||
// distribute, sublicense, and/or sell copies of the Software, and to permit
|
||
// persons to whom the Software is furnished to do so, subject to the
|
||
// following conditions:
|
||
//
|
||
// The above copyright notice and this permission notice shall be included
|
||
// in all copies or substantial portions of the Software.
|
||
//
|
||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
|
||
// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
||
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
|
||
// USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||
|
||
|
||
|
||
function assertPath(path) {
|
||
if (typeof path !== 'string') {
|
||
throw new TypeError('Path must be a string. Received ' + JSON.stringify(path));
|
||
}
|
||
}
|
||
|
||
// Resolves . and .. elements in a path with directory names
|
||
function normalizeStringPosix(path, allowAboveRoot) {
|
||
var res = '';
|
||
var lastSegmentLength = 0;
|
||
var lastSlash = -1;
|
||
var dots = 0;
|
||
var code;
|
||
for (var i = 0; i <= path.length; ++i) {
|
||
if (i < path.length) code = path.charCodeAt(i);else if (code === 47 /*/*/) break;else code = 47 /*/*/;
|
||
if (code === 47 /*/*/) {
|
||
if (lastSlash === i - 1 || dots === 1) {
|
||
// NOOP
|
||
} else if (lastSlash !== i - 1 && dots === 2) {
|
||
if (res.length < 2 || lastSegmentLength !== 2 || res.charCodeAt(res.length - 1) !== 46 /*.*/ || res.charCodeAt(res.length - 2) !== 46 /*.*/) {
|
||
if (res.length > 2) {
|
||
var lastSlashIndex = res.lastIndexOf('/');
|
||
if (lastSlashIndex !== res.length - 1) {
|
||
if (lastSlashIndex === -1) {
|
||
res = '';
|
||
lastSegmentLength = 0;
|
||
} else {
|
||
res = res.slice(0, lastSlashIndex);
|
||
lastSegmentLength = res.length - 1 - res.lastIndexOf('/');
|
||
}
|
||
lastSlash = i;
|
||
dots = 0;
|
||
continue;
|
||
}
|
||
} else if (res.length === 2 || res.length === 1) {
|
||
res = '';
|
||
lastSegmentLength = 0;
|
||
lastSlash = i;
|
||
dots = 0;
|
||
continue;
|
||
}
|
||
}
|
||
if (allowAboveRoot) {
|
||
if (res.length > 0) res += '/..';else res = '..';
|
||
lastSegmentLength = 2;
|
||
}
|
||
} else {
|
||
if (res.length > 0) res += '/' + path.slice(lastSlash + 1, i);else res = path.slice(lastSlash + 1, i);
|
||
lastSegmentLength = i - lastSlash - 1;
|
||
}
|
||
lastSlash = i;
|
||
dots = 0;
|
||
} else if (code === 46 /*.*/ && dots !== -1) {
|
||
++dots;
|
||
} else {
|
||
dots = -1;
|
||
}
|
||
}
|
||
return res;
|
||
}
|
||
function _format(sep, pathObject) {
|
||
var dir = pathObject.dir || pathObject.root;
|
||
var base = pathObject.base || (pathObject.name || '') + (pathObject.ext || '');
|
||
if (!dir) {
|
||
return base;
|
||
}
|
||
if (dir === pathObject.root) {
|
||
return dir + base;
|
||
}
|
||
return dir + sep + base;
|
||
}
|
||
var posix = {
|
||
// path.resolve([from ...], to)
|
||
resolve: function resolve() {
|
||
var resolvedPath = '';
|
||
var resolvedAbsolute = false;
|
||
var cwd;
|
||
for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {
|
||
var path;
|
||
if (i >= 0) path = arguments[i];else {
|
||
if (cwd === undefined) cwd = process.cwd();
|
||
path = cwd;
|
||
}
|
||
assertPath(path);
|
||
|
||
// Skip empty entries
|
||
if (path.length === 0) {
|
||
continue;
|
||
}
|
||
resolvedPath = path + '/' + resolvedPath;
|
||
resolvedAbsolute = path.charCodeAt(0) === 47 /*/*/;
|
||
}
|
||
|
||
// At this point the path should be resolved to a full absolute path, but
|
||
// handle relative paths to be safe (might happen when process.cwd() fails)
|
||
|
||
// Normalize the path
|
||
resolvedPath = normalizeStringPosix(resolvedPath, !resolvedAbsolute);
|
||
if (resolvedAbsolute) {
|
||
if (resolvedPath.length > 0) return '/' + resolvedPath;else return '/';
|
||
} else if (resolvedPath.length > 0) {
|
||
return resolvedPath;
|
||
} else {
|
||
return '.';
|
||
}
|
||
},
|
||
normalize: function normalize(path) {
|
||
assertPath(path);
|
||
if (path.length === 0) return '.';
|
||
var isAbsolute = path.charCodeAt(0) === 47 /*/*/;
|
||
var trailingSeparator = path.charCodeAt(path.length - 1) === 47 /*/*/;
|
||
|
||
// Normalize the path
|
||
path = normalizeStringPosix(path, !isAbsolute);
|
||
if (path.length === 0 && !isAbsolute) path = '.';
|
||
if (path.length > 0 && trailingSeparator) path += '/';
|
||
if (isAbsolute) return '/' + path;
|
||
return path;
|
||
},
|
||
isAbsolute: function isAbsolute(path) {
|
||
assertPath(path);
|
||
return path.length > 0 && path.charCodeAt(0) === 47 /*/*/;
|
||
},
|
||
|
||
join: function join() {
|
||
if (arguments.length === 0) return '.';
|
||
var joined;
|
||
for (var i = 0; i < arguments.length; ++i) {
|
||
var arg = arguments[i];
|
||
assertPath(arg);
|
||
if (arg.length > 0) {
|
||
if (joined === undefined) joined = arg;else joined += '/' + arg;
|
||
}
|
||
}
|
||
if (joined === undefined) return '.';
|
||
return posix.normalize(joined);
|
||
},
|
||
relative: function relative(from, to) {
|
||
assertPath(from);
|
||
assertPath(to);
|
||
if (from === to) return '';
|
||
from = posix.resolve(from);
|
||
to = posix.resolve(to);
|
||
if (from === to) return '';
|
||
|
||
// Trim any leading backslashes
|
||
var fromStart = 1;
|
||
for (; fromStart < from.length; ++fromStart) {
|
||
if (from.charCodeAt(fromStart) !== 47 /*/*/) break;
|
||
}
|
||
var fromEnd = from.length;
|
||
var fromLen = fromEnd - fromStart;
|
||
|
||
// Trim any leading backslashes
|
||
var toStart = 1;
|
||
for (; toStart < to.length; ++toStart) {
|
||
if (to.charCodeAt(toStart) !== 47 /*/*/) break;
|
||
}
|
||
var toEnd = to.length;
|
||
var toLen = toEnd - toStart;
|
||
|
||
// Compare paths to find the longest common path from root
|
||
var length = fromLen < toLen ? fromLen : toLen;
|
||
var lastCommonSep = -1;
|
||
var i = 0;
|
||
for (; i <= length; ++i) {
|
||
if (i === length) {
|
||
if (toLen > length) {
|
||
if (to.charCodeAt(toStart + i) === 47 /*/*/) {
|
||
// We get here if `from` is the exact base path for `to`.
|
||
// For example: from='/foo/bar'; to='/foo/bar/baz'
|
||
return to.slice(toStart + i + 1);
|
||
} else if (i === 0) {
|
||
// We get here if `from` is the root
|
||
// For example: from='/'; to='/foo'
|
||
return to.slice(toStart + i);
|
||
}
|
||
} else if (fromLen > length) {
|
||
if (from.charCodeAt(fromStart + i) === 47 /*/*/) {
|
||
// We get here if `to` is the exact base path for `from`.
|
||
// For example: from='/foo/bar/baz'; to='/foo/bar'
|
||
lastCommonSep = i;
|
||
} else if (i === 0) {
|
||
// We get here if `to` is the root.
|
||
// For example: from='/foo'; to='/'
|
||
lastCommonSep = 0;
|
||
}
|
||
}
|
||
break;
|
||
}
|
||
var fromCode = from.charCodeAt(fromStart + i);
|
||
var toCode = to.charCodeAt(toStart + i);
|
||
if (fromCode !== toCode) break;else if (fromCode === 47 /*/*/) lastCommonSep = i;
|
||
}
|
||
var out = '';
|
||
// Generate the relative path based on the path difference between `to`
|
||
// and `from`
|
||
for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) {
|
||
if (i === fromEnd || from.charCodeAt(i) === 47 /*/*/) {
|
||
if (out.length === 0) out += '..';else out += '/..';
|
||
}
|
||
}
|
||
|
||
// Lastly, append the rest of the destination (`to`) path that comes after
|
||
// the common path parts
|
||
if (out.length > 0) return out + to.slice(toStart + lastCommonSep);else {
|
||
toStart += lastCommonSep;
|
||
if (to.charCodeAt(toStart) === 47 /*/*/) ++toStart;
|
||
return to.slice(toStart);
|
||
}
|
||
},
|
||
_makeLong: function _makeLong(path) {
|
||
return path;
|
||
},
|
||
dirname: function dirname(path) {
|
||
assertPath(path);
|
||
if (path.length === 0) return '.';
|
||
var code = path.charCodeAt(0);
|
||
var hasRoot = code === 47 /*/*/;
|
||
var end = -1;
|
||
var matchedSlash = true;
|
||
for (var i = path.length - 1; i >= 1; --i) {
|
||
code = path.charCodeAt(i);
|
||
if (code === 47 /*/*/) {
|
||
if (!matchedSlash) {
|
||
end = i;
|
||
break;
|
||
}
|
||
} else {
|
||
// We saw the first non-path separator
|
||
matchedSlash = false;
|
||
}
|
||
}
|
||
if (end === -1) return hasRoot ? '/' : '.';
|
||
if (hasRoot && end === 1) return '//';
|
||
return path.slice(0, end);
|
||
},
|
||
basename: function basename(path, ext) {
|
||
if (ext !== undefined && typeof ext !== 'string') throw new TypeError('"ext" argument must be a string');
|
||
assertPath(path);
|
||
var start = 0;
|
||
var end = -1;
|
||
var matchedSlash = true;
|
||
var i;
|
||
if (ext !== undefined && ext.length > 0 && ext.length <= path.length) {
|
||
if (ext.length === path.length && ext === path) return '';
|
||
var extIdx = ext.length - 1;
|
||
var firstNonSlashEnd = -1;
|
||
for (i = path.length - 1; i >= 0; --i) {
|
||
var code = path.charCodeAt(i);
|
||
if (code === 47 /*/*/) {
|
||
// If we reached a path separator that was not part of a set of path
|
||
// separators at the end of the string, stop now
|
||
if (!matchedSlash) {
|
||
start = i + 1;
|
||
break;
|
||
}
|
||
} else {
|
||
if (firstNonSlashEnd === -1) {
|
||
// We saw the first non-path separator, remember this index in case
|
||
// we need it if the extension ends up not matching
|
||
matchedSlash = false;
|
||
firstNonSlashEnd = i + 1;
|
||
}
|
||
if (extIdx >= 0) {
|
||
// Try to match the explicit extension
|
||
if (code === ext.charCodeAt(extIdx)) {
|
||
if (--extIdx === -1) {
|
||
// We matched the extension, so mark this as the end of our path
|
||
// component
|
||
end = i;
|
||
}
|
||
} else {
|
||
// Extension does not match, so our result is the entire path
|
||
// component
|
||
extIdx = -1;
|
||
end = firstNonSlashEnd;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
if (start === end) end = firstNonSlashEnd;else if (end === -1) end = path.length;
|
||
return path.slice(start, end);
|
||
} else {
|
||
for (i = path.length - 1; i >= 0; --i) {
|
||
if (path.charCodeAt(i) === 47 /*/*/) {
|
||
// If we reached a path separator that was not part of a set of path
|
||
// separators at the end of the string, stop now
|
||
if (!matchedSlash) {
|
||
start = i + 1;
|
||
break;
|
||
}
|
||
} else if (end === -1) {
|
||
// We saw the first non-path separator, mark this as the end of our
|
||
// path component
|
||
matchedSlash = false;
|
||
end = i + 1;
|
||
}
|
||
}
|
||
if (end === -1) return '';
|
||
return path.slice(start, end);
|
||
}
|
||
},
|
||
extname: function extname(path) {
|
||
assertPath(path);
|
||
var startDot = -1;
|
||
var startPart = 0;
|
||
var end = -1;
|
||
var matchedSlash = true;
|
||
// Track the state of characters (if any) we see before our first dot and
|
||
// after any path separator we find
|
||
var preDotState = 0;
|
||
for (var i = path.length - 1; i >= 0; --i) {
|
||
var code = path.charCodeAt(i);
|
||
if (code === 47 /*/*/) {
|
||
// If we reached a path separator that was not part of a set of path
|
||
// separators at the end of the string, stop now
|
||
if (!matchedSlash) {
|
||
startPart = i + 1;
|
||
break;
|
||
}
|
||
continue;
|
||
}
|
||
if (end === -1) {
|
||
// We saw the first non-path separator, mark this as the end of our
|
||
// extension
|
||
matchedSlash = false;
|
||
end = i + 1;
|
||
}
|
||
if (code === 46 /*.*/) {
|
||
// If this is our first dot, mark it as the start of our extension
|
||
if (startDot === -1) startDot = i;else if (preDotState !== 1) preDotState = 1;
|
||
} else if (startDot !== -1) {
|
||
// We saw a non-dot and non-path separator before our dot, so we should
|
||
// have a good chance at having a non-empty extension
|
||
preDotState = -1;
|
||
}
|
||
}
|
||
if (startDot === -1 || end === -1 ||
|
||
// We saw a non-dot character immediately before the dot
|
||
preDotState === 0 ||
|
||
// The (right-most) trimmed path component is exactly '..'
|
||
preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {
|
||
return '';
|
||
}
|
||
return path.slice(startDot, end);
|
||
},
|
||
format: function format(pathObject) {
|
||
if (pathObject === null || typeof pathObject !== 'object') {
|
||
throw new TypeError('The "pathObject" argument must be of type Object. Received type ' + typeof pathObject);
|
||
}
|
||
return _format('/', pathObject);
|
||
},
|
||
parse: function parse(path) {
|
||
assertPath(path);
|
||
var ret = {
|
||
root: '',
|
||
dir: '',
|
||
base: '',
|
||
ext: '',
|
||
name: ''
|
||
};
|
||
if (path.length === 0) return ret;
|
||
var code = path.charCodeAt(0);
|
||
var isAbsolute = code === 47 /*/*/;
|
||
var start;
|
||
if (isAbsolute) {
|
||
ret.root = '/';
|
||
start = 1;
|
||
} else {
|
||
start = 0;
|
||
}
|
||
var startDot = -1;
|
||
var startPart = 0;
|
||
var end = -1;
|
||
var matchedSlash = true;
|
||
var i = path.length - 1;
|
||
|
||
// Track the state of characters (if any) we see before our first dot and
|
||
// after any path separator we find
|
||
var preDotState = 0;
|
||
|
||
// Get non-dir info
|
||
for (; i >= start; --i) {
|
||
code = path.charCodeAt(i);
|
||
if (code === 47 /*/*/) {
|
||
// If we reached a path separator that was not part of a set of path
|
||
// separators at the end of the string, stop now
|
||
if (!matchedSlash) {
|
||
startPart = i + 1;
|
||
break;
|
||
}
|
||
continue;
|
||
}
|
||
if (end === -1) {
|
||
// We saw the first non-path separator, mark this as the end of our
|
||
// extension
|
||
matchedSlash = false;
|
||
end = i + 1;
|
||
}
|
||
if (code === 46 /*.*/) {
|
||
// If this is our first dot, mark it as the start of our extension
|
||
if (startDot === -1) startDot = i;else if (preDotState !== 1) preDotState = 1;
|
||
} else if (startDot !== -1) {
|
||
// We saw a non-dot and non-path separator before our dot, so we should
|
||
// have a good chance at having a non-empty extension
|
||
preDotState = -1;
|
||
}
|
||
}
|
||
if (startDot === -1 || end === -1 ||
|
||
// We saw a non-dot character immediately before the dot
|
||
preDotState === 0 ||
|
||
// The (right-most) trimmed path component is exactly '..'
|
||
preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {
|
||
if (end !== -1) {
|
||
if (startPart === 0 && isAbsolute) ret.base = ret.name = path.slice(1, end);else ret.base = ret.name = path.slice(startPart, end);
|
||
}
|
||
} else {
|
||
if (startPart === 0 && isAbsolute) {
|
||
ret.name = path.slice(1, startDot);
|
||
ret.base = path.slice(1, end);
|
||
} else {
|
||
ret.name = path.slice(startPart, startDot);
|
||
ret.base = path.slice(startPart, end);
|
||
}
|
||
ret.ext = path.slice(startDot, end);
|
||
}
|
||
if (startPart > 0) ret.dir = path.slice(0, startPart - 1);else if (isAbsolute) ret.dir = '/';
|
||
return ret;
|
||
},
|
||
sep: '/',
|
||
delimiter: ':',
|
||
win32: null,
|
||
posix: null
|
||
};
|
||
posix.posix = posix;
|
||
module.exports = posix;
|
||
|
||
/***/ }),
|
||
|
||
/***/ 71624:
|
||
/***/ ((module) => {
|
||
|
||
// shim for using process in browser
|
||
var process = module.exports = {};
|
||
|
||
// cached from whatever global is present so that test runners that stub it
|
||
// don't break things. But we need to wrap it in a try catch in case it is
|
||
// wrapped in strict mode code which doesn't define any globals. It's inside a
|
||
// function because try/catches deoptimize in certain engines.
|
||
|
||
var cachedSetTimeout;
|
||
var cachedClearTimeout;
|
||
function defaultSetTimout() {
|
||
throw new Error('setTimeout has not been defined');
|
||
}
|
||
function defaultClearTimeout() {
|
||
throw new Error('clearTimeout has not been defined');
|
||
}
|
||
(function () {
|
||
try {
|
||
if (typeof setTimeout === 'function') {
|
||
cachedSetTimeout = setTimeout;
|
||
} else {
|
||
cachedSetTimeout = defaultSetTimout;
|
||
}
|
||
} catch (e) {
|
||
cachedSetTimeout = defaultSetTimout;
|
||
}
|
||
try {
|
||
if (typeof clearTimeout === 'function') {
|
||
cachedClearTimeout = clearTimeout;
|
||
} else {
|
||
cachedClearTimeout = defaultClearTimeout;
|
||
}
|
||
} catch (e) {
|
||
cachedClearTimeout = defaultClearTimeout;
|
||
}
|
||
})();
|
||
function runTimeout(fun) {
|
||
if (cachedSetTimeout === setTimeout) {
|
||
//normal enviroments in sane situations
|
||
return setTimeout(fun, 0);
|
||
}
|
||
// if setTimeout wasn't available but was latter defined
|
||
if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
|
||
cachedSetTimeout = setTimeout;
|
||
return setTimeout(fun, 0);
|
||
}
|
||
try {
|
||
// when when somebody has screwed with setTimeout but no I.E. maddness
|
||
return cachedSetTimeout(fun, 0);
|
||
} catch (e) {
|
||
try {
|
||
// When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
|
||
return cachedSetTimeout.call(null, fun, 0);
|
||
} catch (e) {
|
||
// same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error
|
||
return cachedSetTimeout.call(this, fun, 0);
|
||
}
|
||
}
|
||
}
|
||
function runClearTimeout(marker) {
|
||
if (cachedClearTimeout === clearTimeout) {
|
||
//normal enviroments in sane situations
|
||
return clearTimeout(marker);
|
||
}
|
||
// if clearTimeout wasn't available but was latter defined
|
||
if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
|
||
cachedClearTimeout = clearTimeout;
|
||
return clearTimeout(marker);
|
||
}
|
||
try {
|
||
// when when somebody has screwed with setTimeout but no I.E. maddness
|
||
return cachedClearTimeout(marker);
|
||
} catch (e) {
|
||
try {
|
||
// When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
|
||
return cachedClearTimeout.call(null, marker);
|
||
} catch (e) {
|
||
// same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.
|
||
// Some versions of I.E. have different rules for clearTimeout vs setTimeout
|
||
return cachedClearTimeout.call(this, marker);
|
||
}
|
||
}
|
||
}
|
||
var queue = [];
|
||
var draining = false;
|
||
var currentQueue;
|
||
var queueIndex = -1;
|
||
function cleanUpNextTick() {
|
||
if (!draining || !currentQueue) {
|
||
return;
|
||
}
|
||
draining = false;
|
||
if (currentQueue.length) {
|
||
queue = currentQueue.concat(queue);
|
||
} else {
|
||
queueIndex = -1;
|
||
}
|
||
if (queue.length) {
|
||
drainQueue();
|
||
}
|
||
}
|
||
function drainQueue() {
|
||
if (draining) {
|
||
return;
|
||
}
|
||
var timeout = runTimeout(cleanUpNextTick);
|
||
draining = true;
|
||
var len = queue.length;
|
||
while (len) {
|
||
currentQueue = queue;
|
||
queue = [];
|
||
while (++queueIndex < len) {
|
||
if (currentQueue) {
|
||
currentQueue[queueIndex].run();
|
||
}
|
||
}
|
||
queueIndex = -1;
|
||
len = queue.length;
|
||
}
|
||
currentQueue = null;
|
||
draining = false;
|
||
runClearTimeout(timeout);
|
||
}
|
||
process.nextTick = function (fun) {
|
||
var args = new Array(arguments.length - 1);
|
||
if (arguments.length > 1) {
|
||
for (var i = 1; i < arguments.length; i++) {
|
||
args[i - 1] = arguments[i];
|
||
}
|
||
}
|
||
queue.push(new Item(fun, args));
|
||
if (queue.length === 1 && !draining) {
|
||
runTimeout(drainQueue);
|
||
}
|
||
};
|
||
|
||
// v8 likes predictible objects
|
||
function Item(fun, array) {
|
||
this.fun = fun;
|
||
this.array = array;
|
||
}
|
||
Item.prototype.run = function () {
|
||
this.fun.apply(null, this.array);
|
||
};
|
||
process.title = 'browser';
|
||
process.browser = true;
|
||
process.env = {};
|
||
process.argv = [];
|
||
process.version = ''; // empty string to avoid regexp issues
|
||
process.versions = {};
|
||
function noop() {}
|
||
process.on = noop;
|
||
process.addListener = noop;
|
||
process.once = noop;
|
||
process.off = noop;
|
||
process.removeListener = noop;
|
||
process.removeAllListeners = noop;
|
||
process.emit = noop;
|
||
process.prependListener = noop;
|
||
process.prependOnceListener = noop;
|
||
process.listeners = function (name) {
|
||
return [];
|
||
};
|
||
process.binding = function (name) {
|
||
throw new Error('process.binding is not supported');
|
||
};
|
||
process.cwd = function () {
|
||
return '/';
|
||
};
|
||
process.chdir = function (dir) {
|
||
throw new Error('process.chdir is not supported');
|
||
};
|
||
process.umask = function () {
|
||
return 0;
|
||
};
|
||
|
||
/***/ }),
|
||
|
||
/***/ 43277:
|
||
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
__webpack_require__.r(__webpack_exports__);
|
||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||
/* harmony export */ decode: () => (/* binding */ decode),
|
||
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__),
|
||
/* harmony export */ encode: () => (/* binding */ encode),
|
||
/* harmony export */ toASCII: () => (/* binding */ toASCII),
|
||
/* harmony export */ toUnicode: () => (/* binding */ toUnicode),
|
||
/* harmony export */ ucs2decode: () => (/* binding */ ucs2decode),
|
||
/* harmony export */ ucs2encode: () => (/* binding */ ucs2encode)
|
||
/* harmony export */ });
|
||
|
||
|
||
/** Highest positive signed 32-bit float value */
|
||
const maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1
|
||
|
||
/** Bootstring parameters */
|
||
const base = 36;
|
||
const tMin = 1;
|
||
const tMax = 26;
|
||
const skew = 38;
|
||
const damp = 700;
|
||
const initialBias = 72;
|
||
const initialN = 128; // 0x80
|
||
const delimiter = '-'; // '\x2D'
|
||
|
||
/** Regular expressions */
|
||
const regexPunycode = /^xn--/;
|
||
const regexNonASCII = /[^\0-\x7F]/; // Note: U+007F DEL is excluded too.
|
||
const regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g; // RFC 3490 separators
|
||
|
||
/** Error messages */
|
||
const errors = {
|
||
'overflow': 'Overflow: input needs wider integers to process',
|
||
'not-basic': 'Illegal input >= 0x80 (not a basic code point)',
|
||
'invalid-input': 'Invalid input'
|
||
};
|
||
|
||
/** Convenience shortcuts */
|
||
const baseMinusTMin = base - tMin;
|
||
const floor = Math.floor;
|
||
const stringFromCharCode = String.fromCharCode;
|
||
|
||
/*--------------------------------------------------------------------------*/
|
||
|
||
/**
|
||
* A generic error utility function.
|
||
* @private
|
||
* @param {String} type The error type.
|
||
* @returns {Error} Throws a `RangeError` with the applicable error message.
|
||
*/
|
||
function error(type) {
|
||
throw new RangeError(errors[type]);
|
||
}
|
||
|
||
/**
|
||
* A generic `Array#map` utility function.
|
||
* @private
|
||
* @param {Array} array The array to iterate over.
|
||
* @param {Function} callback The function that gets called for every array
|
||
* item.
|
||
* @returns {Array} A new array of values returned by the callback function.
|
||
*/
|
||
function map(array, callback) {
|
||
const result = [];
|
||
let length = array.length;
|
||
while (length--) {
|
||
result[length] = callback(array[length]);
|
||
}
|
||
return result;
|
||
}
|
||
|
||
/**
|
||
* A simple `Array#map`-like wrapper to work with domain name strings or email
|
||
* addresses.
|
||
* @private
|
||
* @param {String} domain The domain name or email address.
|
||
* @param {Function} callback The function that gets called for every
|
||
* character.
|
||
* @returns {String} A new string of characters returned by the callback
|
||
* function.
|
||
*/
|
||
function mapDomain(domain, callback) {
|
||
const parts = domain.split('@');
|
||
let result = '';
|
||
if (parts.length > 1) {
|
||
// In email addresses, only the domain name should be punycoded. Leave
|
||
// the local part (i.e. everything up to `@`) intact.
|
||
result = parts[0] + '@';
|
||
domain = parts[1];
|
||
}
|
||
// Avoid `split(regex)` for IE8 compatibility. See #17.
|
||
domain = domain.replace(regexSeparators, '\x2E');
|
||
const labels = domain.split('.');
|
||
const encoded = map(labels, callback).join('.');
|
||
return result + encoded;
|
||
}
|
||
|
||
/**
|
||
* Creates an array containing the numeric code points of each Unicode
|
||
* character in the string. While JavaScript uses UCS-2 internally,
|
||
* this function will convert a pair of surrogate halves (each of which
|
||
* UCS-2 exposes as separate characters) into a single code point,
|
||
* matching UTF-16.
|
||
* @see `punycode.ucs2.encode`
|
||
* @see <https://mathiasbynens.be/notes/javascript-encoding>
|
||
* @memberOf punycode.ucs2
|
||
* @name decode
|
||
* @param {String} string The Unicode input string (UCS-2).
|
||
* @returns {Array} The new array of code points.
|
||
*/
|
||
function ucs2decode(string) {
|
||
const output = [];
|
||
let counter = 0;
|
||
const length = string.length;
|
||
while (counter < length) {
|
||
const value = string.charCodeAt(counter++);
|
||
if (value >= 0xD800 && value <= 0xDBFF && counter < length) {
|
||
// It's a high surrogate, and there is a next character.
|
||
const extra = string.charCodeAt(counter++);
|
||
if ((extra & 0xFC00) == 0xDC00) {
|
||
// Low surrogate.
|
||
output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);
|
||
} else {
|
||
// It's an unmatched surrogate; only append this code unit, in case the
|
||
// next code unit is the high surrogate of a surrogate pair.
|
||
output.push(value);
|
||
counter--;
|
||
}
|
||
} else {
|
||
output.push(value);
|
||
}
|
||
}
|
||
return output;
|
||
}
|
||
|
||
/**
|
||
* Creates a string based on an array of numeric code points.
|
||
* @see `punycode.ucs2.decode`
|
||
* @memberOf punycode.ucs2
|
||
* @name encode
|
||
* @param {Array} codePoints The array of numeric code points.
|
||
* @returns {String} The new Unicode string (UCS-2).
|
||
*/
|
||
const ucs2encode = codePoints => String.fromCodePoint(...codePoints);
|
||
|
||
/**
|
||
* Converts a basic code point into a digit/integer.
|
||
* @see `digitToBasic()`
|
||
* @private
|
||
* @param {Number} codePoint The basic numeric code point value.
|
||
* @returns {Number} The numeric value of a basic code point (for use in
|
||
* representing integers) in the range `0` to `base - 1`, or `base` if
|
||
* the code point does not represent a value.
|
||
*/
|
||
const basicToDigit = function (codePoint) {
|
||
if (codePoint >= 0x30 && codePoint < 0x3A) {
|
||
return 26 + (codePoint - 0x30);
|
||
}
|
||
if (codePoint >= 0x41 && codePoint < 0x5B) {
|
||
return codePoint - 0x41;
|
||
}
|
||
if (codePoint >= 0x61 && codePoint < 0x7B) {
|
||
return codePoint - 0x61;
|
||
}
|
||
return base;
|
||
};
|
||
|
||
/**
|
||
* Converts a digit/integer into a basic code point.
|
||
* @see `basicToDigit()`
|
||
* @private
|
||
* @param {Number} digit The numeric value of a basic code point.
|
||
* @returns {Number} The basic code point whose value (when used for
|
||
* representing integers) is `digit`, which needs to be in the range
|
||
* `0` to `base - 1`. If `flag` is non-zero, the uppercase form is
|
||
* used; else, the lowercase form is used. The behavior is undefined
|
||
* if `flag` is non-zero and `digit` has no uppercase form.
|
||
*/
|
||
const digitToBasic = function (digit, flag) {
|
||
// 0..25 map to ASCII a..z or A..Z
|
||
// 26..35 map to ASCII 0..9
|
||
return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);
|
||
};
|
||
|
||
/**
|
||
* Bias adaptation function as per section 3.4 of RFC 3492.
|
||
* https://tools.ietf.org/html/rfc3492#section-3.4
|
||
* @private
|
||
*/
|
||
const adapt = function (delta, numPoints, firstTime) {
|
||
let k = 0;
|
||
delta = firstTime ? floor(delta / damp) : delta >> 1;
|
||
delta += floor(delta / numPoints);
|
||
for /* no initialization */
|
||
(; delta > baseMinusTMin * tMax >> 1; k += base) {
|
||
delta = floor(delta / baseMinusTMin);
|
||
}
|
||
return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));
|
||
};
|
||
|
||
/**
|
||
* Converts a Punycode string of ASCII-only symbols to a string of Unicode
|
||
* symbols.
|
||
* @memberOf punycode
|
||
* @param {String} input The Punycode string of ASCII-only symbols.
|
||
* @returns {String} The resulting string of Unicode symbols.
|
||
*/
|
||
const decode = function (input) {
|
||
// Don't use UCS-2.
|
||
const output = [];
|
||
const inputLength = input.length;
|
||
let i = 0;
|
||
let n = initialN;
|
||
let bias = initialBias;
|
||
|
||
// Handle the basic code points: let `basic` be the number of input code
|
||
// points before the last delimiter, or `0` if there is none, then copy
|
||
// the first basic code points to the output.
|
||
|
||
let basic = input.lastIndexOf(delimiter);
|
||
if (basic < 0) {
|
||
basic = 0;
|
||
}
|
||
for (let j = 0; j < basic; ++j) {
|
||
// if it's not a basic code point
|
||
if (input.charCodeAt(j) >= 0x80) {
|
||
error('not-basic');
|
||
}
|
||
output.push(input.charCodeAt(j));
|
||
}
|
||
|
||
// Main decoding loop: start just after the last delimiter if any basic code
|
||
// points were copied; start at the beginning otherwise.
|
||
|
||
for /* no final expression */
|
||
(let index = basic > 0 ? basic + 1 : 0; index < inputLength;) {
|
||
// `index` is the index of the next character to be consumed.
|
||
// Decode a generalized variable-length integer into `delta`,
|
||
// which gets added to `i`. The overflow checking is easier
|
||
// if we increase `i` as we go, then subtract off its starting
|
||
// value at the end to obtain `delta`.
|
||
const oldi = i;
|
||
for /* no condition */
|
||
(let w = 1, k = base;; k += base) {
|
||
if (index >= inputLength) {
|
||
error('invalid-input');
|
||
}
|
||
const digit = basicToDigit(input.charCodeAt(index++));
|
||
if (digit >= base) {
|
||
error('invalid-input');
|
||
}
|
||
if (digit > floor((maxInt - i) / w)) {
|
||
error('overflow');
|
||
}
|
||
i += digit * w;
|
||
const t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;
|
||
if (digit < t) {
|
||
break;
|
||
}
|
||
const baseMinusT = base - t;
|
||
if (w > floor(maxInt / baseMinusT)) {
|
||
error('overflow');
|
||
}
|
||
w *= baseMinusT;
|
||
}
|
||
const out = output.length + 1;
|
||
bias = adapt(i - oldi, out, oldi == 0);
|
||
|
||
// `i` was supposed to wrap around from `out` to `0`,
|
||
// incrementing `n` each time, so we'll fix that now:
|
||
if (floor(i / out) > maxInt - n) {
|
||
error('overflow');
|
||
}
|
||
n += floor(i / out);
|
||
i %= out;
|
||
|
||
// Insert `n` at position `i` of the output.
|
||
output.splice(i++, 0, n);
|
||
}
|
||
return String.fromCodePoint(...output);
|
||
};
|
||
|
||
/**
|
||
* Converts a string of Unicode symbols (e.g. a domain name label) to a
|
||
* Punycode string of ASCII-only symbols.
|
||
* @memberOf punycode
|
||
* @param {String} input The string of Unicode symbols.
|
||
* @returns {String} The resulting Punycode string of ASCII-only symbols.
|
||
*/
|
||
const encode = function (input) {
|
||
const output = [];
|
||
|
||
// Convert the input in UCS-2 to an array of Unicode code points.
|
||
input = ucs2decode(input);
|
||
|
||
// Cache the length.
|
||
const inputLength = input.length;
|
||
|
||
// Initialize the state.
|
||
let n = initialN;
|
||
let delta = 0;
|
||
let bias = initialBias;
|
||
|
||
// Handle the basic code points.
|
||
for (const currentValue of input) {
|
||
if (currentValue < 0x80) {
|
||
output.push(stringFromCharCode(currentValue));
|
||
}
|
||
}
|
||
const basicLength = output.length;
|
||
let handledCPCount = basicLength;
|
||
|
||
// `handledCPCount` is the number of code points that have been handled;
|
||
// `basicLength` is the number of basic code points.
|
||
|
||
// Finish the basic string with a delimiter unless it's empty.
|
||
if (basicLength) {
|
||
output.push(delimiter);
|
||
}
|
||
|
||
// Main encoding loop:
|
||
while (handledCPCount < inputLength) {
|
||
// All non-basic code points < n have been handled already. Find the next
|
||
// larger one:
|
||
let m = maxInt;
|
||
for (const currentValue of input) {
|
||
if (currentValue >= n && currentValue < m) {
|
||
m = currentValue;
|
||
}
|
||
}
|
||
|
||
// Increase `delta` enough to advance the decoder's <n,i> state to <m,0>,
|
||
// but guard against overflow.
|
||
const handledCPCountPlusOne = handledCPCount + 1;
|
||
if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {
|
||
error('overflow');
|
||
}
|
||
delta += (m - n) * handledCPCountPlusOne;
|
||
n = m;
|
||
for (const currentValue of input) {
|
||
if (currentValue < n && ++delta > maxInt) {
|
||
error('overflow');
|
||
}
|
||
if (currentValue === n) {
|
||
// Represent delta as a generalized variable-length integer.
|
||
let q = delta;
|
||
for /* no condition */
|
||
(let k = base;; k += base) {
|
||
const t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;
|
||
if (q < t) {
|
||
break;
|
||
}
|
||
const qMinusT = q - t;
|
||
const baseMinusT = base - t;
|
||
output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0)));
|
||
q = floor(qMinusT / baseMinusT);
|
||
}
|
||
output.push(stringFromCharCode(digitToBasic(q, 0)));
|
||
bias = adapt(delta, handledCPCountPlusOne, handledCPCount === basicLength);
|
||
delta = 0;
|
||
++handledCPCount;
|
||
}
|
||
}
|
||
++delta;
|
||
++n;
|
||
}
|
||
return output.join('');
|
||
};
|
||
|
||
/**
|
||
* Converts a Punycode string representing a domain name or an email address
|
||
* to Unicode. Only the Punycoded parts of the input will be converted, i.e.
|
||
* it doesn't matter if you call it on a string that has already been
|
||
* converted to Unicode.
|
||
* @memberOf punycode
|
||
* @param {String} input The Punycoded domain name or email address to
|
||
* convert to Unicode.
|
||
* @returns {String} The Unicode representation of the given Punycode
|
||
* string.
|
||
*/
|
||
const toUnicode = function (input) {
|
||
return mapDomain(input, function (string) {
|
||
return regexPunycode.test(string) ? decode(string.slice(4).toLowerCase()) : string;
|
||
});
|
||
};
|
||
|
||
/**
|
||
* Converts a Unicode string representing a domain name or an email address to
|
||
* Punycode. Only the non-ASCII parts of the domain name will be converted,
|
||
* i.e. it doesn't matter if you call it with a domain that's already in
|
||
* ASCII.
|
||
* @memberOf punycode
|
||
* @param {String} input The domain name or email address to convert, as a
|
||
* Unicode string.
|
||
* @returns {String} The Punycode representation of the given domain name or
|
||
* email address.
|
||
*/
|
||
const toASCII = function (input) {
|
||
return mapDomain(input, function (string) {
|
||
return regexNonASCII.test(string) ? 'xn--' + encode(string) : string;
|
||
});
|
||
};
|
||
|
||
/*--------------------------------------------------------------------------*/
|
||
|
||
/** Define the public API */
|
||
const punycode = {
|
||
/**
|
||
* A string representing the current Punycode.js version number.
|
||
* @memberOf punycode
|
||
* @type String
|
||
*/
|
||
'version': '2.1.0',
|
||
/**
|
||
* An object of methods to convert from JavaScript's internal character
|
||
* representation (UCS-2) to Unicode code points, and back.
|
||
* @see <https://mathiasbynens.be/notes/javascript-encoding>
|
||
* @memberOf punycode
|
||
* @type Object
|
||
*/
|
||
'ucs2': {
|
||
'decode': ucs2decode,
|
||
'encode': ucs2encode
|
||
},
|
||
'decode': decode,
|
||
'encode': encode,
|
||
'toASCII': toASCII,
|
||
'toUnicode': toUnicode
|
||
};
|
||
|
||
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (punycode);
|
||
|
||
/***/ }),
|
||
|
||
/***/ 43512:
|
||
/***/ ((module) => {
|
||
|
||
"use strict";
|
||
|
||
|
||
var replace = String.prototype.replace;
|
||
var percentTwenties = /%20/g;
|
||
var Format = {
|
||
RFC1738: 'RFC1738',
|
||
RFC3986: 'RFC3986'
|
||
};
|
||
module.exports = {
|
||
'default': Format.RFC3986,
|
||
formatters: {
|
||
RFC1738: function (value) {
|
||
return replace.call(value, percentTwenties, '+');
|
||
},
|
||
RFC3986: function (value) {
|
||
return String(value);
|
||
}
|
||
},
|
||
RFC1738: Format.RFC1738,
|
||
RFC3986: Format.RFC3986
|
||
};
|
||
|
||
/***/ }),
|
||
|
||
/***/ 349:
|
||
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
|
||
|
||
var stringify = __webpack_require__(74082);
|
||
var parse = __webpack_require__(48169);
|
||
var formats = __webpack_require__(43512);
|
||
module.exports = {
|
||
formats: formats,
|
||
parse: parse,
|
||
stringify: stringify
|
||
};
|
||
|
||
/***/ }),
|
||
|
||
/***/ 48169:
|
||
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
|
||
|
||
var utils = __webpack_require__(40775);
|
||
var has = Object.prototype.hasOwnProperty;
|
||
var isArray = Array.isArray;
|
||
var defaults = {
|
||
allowDots: false,
|
||
allowPrototypes: false,
|
||
allowSparse: false,
|
||
arrayLimit: 20,
|
||
charset: 'utf-8',
|
||
charsetSentinel: false,
|
||
comma: false,
|
||
decoder: utils.decode,
|
||
delimiter: '&',
|
||
depth: 5,
|
||
ignoreQueryPrefix: false,
|
||
interpretNumericEntities: false,
|
||
parameterLimit: 1000,
|
||
parseArrays: true,
|
||
plainObjects: false,
|
||
strictNullHandling: false
|
||
};
|
||
var interpretNumericEntities = function (str) {
|
||
return str.replace(/&#(\d+);/g, function ($0, numberStr) {
|
||
return String.fromCharCode(parseInt(numberStr, 10));
|
||
});
|
||
};
|
||
var parseArrayValue = function (val, options) {
|
||
if (val && typeof val === 'string' && options.comma && val.indexOf(',') > -1) {
|
||
return val.split(',');
|
||
}
|
||
return val;
|
||
};
|
||
|
||
// This is what browsers will submit when the ✓ character occurs in an
|
||
// application/x-www-form-urlencoded body and the encoding of the page containing
|
||
// the form is iso-8859-1, or when the submitted form has an accept-charset
|
||
// attribute of iso-8859-1. Presumably also with other charsets that do not contain
|
||
// the ✓ character, such as us-ascii.
|
||
var isoSentinel = 'utf8=%26%2310003%3B'; // encodeURIComponent('✓')
|
||
|
||
// These are the percent-encoded utf-8 octets representing a checkmark, indicating that the request actually is utf-8 encoded.
|
||
var charsetSentinel = 'utf8=%E2%9C%93'; // encodeURIComponent('✓')
|
||
|
||
var parseValues = function parseQueryStringValues(str, options) {
|
||
var obj = {
|
||
__proto__: null
|
||
};
|
||
var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\?/, '') : str;
|
||
var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit;
|
||
var parts = cleanStr.split(options.delimiter, limit);
|
||
var skipIndex = -1; // Keep track of where the utf8 sentinel was found
|
||
var i;
|
||
var charset = options.charset;
|
||
if (options.charsetSentinel) {
|
||
for (i = 0; i < parts.length; ++i) {
|
||
if (parts[i].indexOf('utf8=') === 0) {
|
||
if (parts[i] === charsetSentinel) {
|
||
charset = 'utf-8';
|
||
} else if (parts[i] === isoSentinel) {
|
||
charset = 'iso-8859-1';
|
||
}
|
||
skipIndex = i;
|
||
i = parts.length; // The eslint settings do not allow break;
|
||
}
|
||
}
|
||
}
|
||
|
||
for (i = 0; i < parts.length; ++i) {
|
||
if (i === skipIndex) {
|
||
continue;
|
||
}
|
||
var part = parts[i];
|
||
var bracketEqualsPos = part.indexOf(']=');
|
||
var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1;
|
||
var key, val;
|
||
if (pos === -1) {
|
||
key = options.decoder(part, defaults.decoder, charset, 'key');
|
||
val = options.strictNullHandling ? null : '';
|
||
} else {
|
||
key = options.decoder(part.slice(0, pos), defaults.decoder, charset, 'key');
|
||
val = utils.maybeMap(parseArrayValue(part.slice(pos + 1), options), function (encodedVal) {
|
||
return options.decoder(encodedVal, defaults.decoder, charset, 'value');
|
||
});
|
||
}
|
||
if (val && options.interpretNumericEntities && charset === 'iso-8859-1') {
|
||
val = interpretNumericEntities(val);
|
||
}
|
||
if (part.indexOf('[]=') > -1) {
|
||
val = isArray(val) ? [val] : val;
|
||
}
|
||
if (has.call(obj, key)) {
|
||
obj[key] = utils.combine(obj[key], val);
|
||
} else {
|
||
obj[key] = val;
|
||
}
|
||
}
|
||
return obj;
|
||
};
|
||
var parseObject = function (chain, val, options, valuesParsed) {
|
||
var leaf = valuesParsed ? val : parseArrayValue(val, options);
|
||
for (var i = chain.length - 1; i >= 0; --i) {
|
||
var obj;
|
||
var root = chain[i];
|
||
if (root === '[]' && options.parseArrays) {
|
||
obj = [].concat(leaf);
|
||
} else {
|
||
obj = options.plainObjects ? Object.create(null) : {};
|
||
var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;
|
||
var index = parseInt(cleanRoot, 10);
|
||
if (!options.parseArrays && cleanRoot === '') {
|
||
obj = {
|
||
0: leaf
|
||
};
|
||
} else if (!isNaN(index) && root !== cleanRoot && String(index) === cleanRoot && index >= 0 && options.parseArrays && index <= options.arrayLimit) {
|
||
obj = [];
|
||
obj[index] = leaf;
|
||
} else if (cleanRoot !== '__proto__') {
|
||
obj[cleanRoot] = leaf;
|
||
}
|
||
}
|
||
leaf = obj;
|
||
}
|
||
return leaf;
|
||
};
|
||
var parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesParsed) {
|
||
if (!givenKey) {
|
||
return;
|
||
}
|
||
|
||
// Transform dot notation to bracket notation
|
||
var key = options.allowDots ? givenKey.replace(/\.([^.[]+)/g, '[$1]') : givenKey;
|
||
|
||
// The regex chunks
|
||
|
||
var brackets = /(\[[^[\]]*])/;
|
||
var child = /(\[[^[\]]*])/g;
|
||
|
||
// Get the parent
|
||
|
||
var segment = options.depth > 0 && brackets.exec(key);
|
||
var parent = segment ? key.slice(0, segment.index) : key;
|
||
|
||
// Stash the parent if it exists
|
||
|
||
var keys = [];
|
||
if (parent) {
|
||
// If we aren't using plain objects, optionally prefix keys that would overwrite object prototype properties
|
||
if (!options.plainObjects && has.call(Object.prototype, parent)) {
|
||
if (!options.allowPrototypes) {
|
||
return;
|
||
}
|
||
}
|
||
keys.push(parent);
|
||
}
|
||
|
||
// Loop through children appending to the array until we hit depth
|
||
|
||
var i = 0;
|
||
while (options.depth > 0 && (segment = child.exec(key)) !== null && i < options.depth) {
|
||
i += 1;
|
||
if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) {
|
||
if (!options.allowPrototypes) {
|
||
return;
|
||
}
|
||
}
|
||
keys.push(segment[1]);
|
||
}
|
||
|
||
// If there's a remainder, just add whatever is left
|
||
|
||
if (segment) {
|
||
keys.push('[' + key.slice(segment.index) + ']');
|
||
}
|
||
return parseObject(keys, val, options, valuesParsed);
|
||
};
|
||
var normalizeParseOptions = function normalizeParseOptions(opts) {
|
||
if (!opts) {
|
||
return defaults;
|
||
}
|
||
if (opts.decoder !== null && opts.decoder !== undefined && typeof opts.decoder !== 'function') {
|
||
throw new TypeError('Decoder has to be a function.');
|
||
}
|
||
if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {
|
||
throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');
|
||
}
|
||
var charset = typeof opts.charset === 'undefined' ? defaults.charset : opts.charset;
|
||
return {
|
||
allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,
|
||
allowPrototypes: typeof opts.allowPrototypes === 'boolean' ? opts.allowPrototypes : defaults.allowPrototypes,
|
||
allowSparse: typeof opts.allowSparse === 'boolean' ? opts.allowSparse : defaults.allowSparse,
|
||
arrayLimit: typeof opts.arrayLimit === 'number' ? opts.arrayLimit : defaults.arrayLimit,
|
||
charset: charset,
|
||
charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,
|
||
comma: typeof opts.comma === 'boolean' ? opts.comma : defaults.comma,
|
||
decoder: typeof opts.decoder === 'function' ? opts.decoder : defaults.decoder,
|
||
delimiter: typeof opts.delimiter === 'string' || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter,
|
||
// eslint-disable-next-line no-implicit-coercion, no-extra-parens
|
||
depth: typeof opts.depth === 'number' || opts.depth === false ? +opts.depth : defaults.depth,
|
||
ignoreQueryPrefix: opts.ignoreQueryPrefix === true,
|
||
interpretNumericEntities: typeof opts.interpretNumericEntities === 'boolean' ? opts.interpretNumericEntities : defaults.interpretNumericEntities,
|
||
parameterLimit: typeof opts.parameterLimit === 'number' ? opts.parameterLimit : defaults.parameterLimit,
|
||
parseArrays: opts.parseArrays !== false,
|
||
plainObjects: typeof opts.plainObjects === 'boolean' ? opts.plainObjects : defaults.plainObjects,
|
||
strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling
|
||
};
|
||
};
|
||
module.exports = function (str, opts) {
|
||
var options = normalizeParseOptions(opts);
|
||
if (str === '' || str === null || typeof str === 'undefined') {
|
||
return options.plainObjects ? Object.create(null) : {};
|
||
}
|
||
var tempObj = typeof str === 'string' ? parseValues(str, options) : str;
|
||
var obj = options.plainObjects ? Object.create(null) : {};
|
||
|
||
// Iterate over the keys and setup the new object
|
||
|
||
var keys = Object.keys(tempObj);
|
||
for (var i = 0; i < keys.length; ++i) {
|
||
var key = keys[i];
|
||
var newObj = parseKeys(key, tempObj[key], options, typeof str === 'string');
|
||
obj = utils.merge(obj, newObj, options);
|
||
}
|
||
if (options.allowSparse === true) {
|
||
return obj;
|
||
}
|
||
return utils.compact(obj);
|
||
};
|
||
|
||
/***/ }),
|
||
|
||
/***/ 74082:
|
||
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
|
||
|
||
var getSideChannel = __webpack_require__(67546);
|
||
var utils = __webpack_require__(40775);
|
||
var formats = __webpack_require__(43512);
|
||
var has = Object.prototype.hasOwnProperty;
|
||
var arrayPrefixGenerators = {
|
||
brackets: function brackets(prefix) {
|
||
return prefix + '[]';
|
||
},
|
||
comma: 'comma',
|
||
indices: function indices(prefix, key) {
|
||
return prefix + '[' + key + ']';
|
||
},
|
||
repeat: function repeat(prefix) {
|
||
return prefix;
|
||
}
|
||
};
|
||
var isArray = Array.isArray;
|
||
var push = Array.prototype.push;
|
||
var pushToArray = function (arr, valueOrArray) {
|
||
push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]);
|
||
};
|
||
var toISO = Date.prototype.toISOString;
|
||
var defaultFormat = formats['default'];
|
||
var defaults = {
|
||
addQueryPrefix: false,
|
||
allowDots: false,
|
||
charset: 'utf-8',
|
||
charsetSentinel: false,
|
||
delimiter: '&',
|
||
encode: true,
|
||
encoder: utils.encode,
|
||
encodeValuesOnly: false,
|
||
format: defaultFormat,
|
||
formatter: formats.formatters[defaultFormat],
|
||
// deprecated
|
||
indices: false,
|
||
serializeDate: function serializeDate(date) {
|
||
return toISO.call(date);
|
||
},
|
||
skipNulls: false,
|
||
strictNullHandling: false
|
||
};
|
||
var isNonNullishPrimitive = function isNonNullishPrimitive(v) {
|
||
return typeof v === 'string' || typeof v === 'number' || typeof v === 'boolean' || typeof v === 'symbol' || typeof v === 'bigint';
|
||
};
|
||
var sentinel = {};
|
||
var stringify = function stringify(object, prefix, generateArrayPrefix, commaRoundTrip, strictNullHandling, skipNulls, encoder, filter, sort, allowDots, serializeDate, format, formatter, encodeValuesOnly, charset, sideChannel) {
|
||
var obj = object;
|
||
var tmpSc = sideChannel;
|
||
var step = 0;
|
||
var findFlag = false;
|
||
while ((tmpSc = tmpSc.get(sentinel)) !== void undefined && !findFlag) {
|
||
// Where object last appeared in the ref tree
|
||
var pos = tmpSc.get(object);
|
||
step += 1;
|
||
if (typeof pos !== 'undefined') {
|
||
if (pos === step) {
|
||
throw new RangeError('Cyclic object value');
|
||
} else {
|
||
findFlag = true; // Break while
|
||
}
|
||
}
|
||
|
||
if (typeof tmpSc.get(sentinel) === 'undefined') {
|
||
step = 0;
|
||
}
|
||
}
|
||
if (typeof filter === 'function') {
|
||
obj = filter(prefix, obj);
|
||
} else if (obj instanceof Date) {
|
||
obj = serializeDate(obj);
|
||
} else if (generateArrayPrefix === 'comma' && isArray(obj)) {
|
||
obj = utils.maybeMap(obj, function (value) {
|
||
if (value instanceof Date) {
|
||
return serializeDate(value);
|
||
}
|
||
return value;
|
||
});
|
||
}
|
||
if (obj === null) {
|
||
if (strictNullHandling) {
|
||
return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, 'key', format) : prefix;
|
||
}
|
||
obj = '';
|
||
}
|
||
if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) {
|
||
if (encoder) {
|
||
var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, 'key', format);
|
||
return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder, charset, 'value', format))];
|
||
}
|
||
return [formatter(prefix) + '=' + formatter(String(obj))];
|
||
}
|
||
var values = [];
|
||
if (typeof obj === 'undefined') {
|
||
return values;
|
||
}
|
||
var objKeys;
|
||
if (generateArrayPrefix === 'comma' && isArray(obj)) {
|
||
// we need to join elements in
|
||
if (encodeValuesOnly && encoder) {
|
||
obj = utils.maybeMap(obj, encoder);
|
||
}
|
||
objKeys = [{
|
||
value: obj.length > 0 ? obj.join(',') || null : void undefined
|
||
}];
|
||
} else if (isArray(filter)) {
|
||
objKeys = filter;
|
||
} else {
|
||
var keys = Object.keys(obj);
|
||
objKeys = sort ? keys.sort(sort) : keys;
|
||
}
|
||
var adjustedPrefix = commaRoundTrip && isArray(obj) && obj.length === 1 ? prefix + '[]' : prefix;
|
||
for (var j = 0; j < objKeys.length; ++j) {
|
||
var key = objKeys[j];
|
||
var value = typeof key === 'object' && typeof key.value !== 'undefined' ? key.value : obj[key];
|
||
if (skipNulls && value === null) {
|
||
continue;
|
||
}
|
||
var keyPrefix = isArray(obj) ? typeof generateArrayPrefix === 'function' ? generateArrayPrefix(adjustedPrefix, key) : adjustedPrefix : adjustedPrefix + (allowDots ? '.' + key : '[' + key + ']');
|
||
sideChannel.set(object, step);
|
||
var valueSideChannel = getSideChannel();
|
||
valueSideChannel.set(sentinel, sideChannel);
|
||
pushToArray(values, stringify(value, keyPrefix, generateArrayPrefix, commaRoundTrip, strictNullHandling, skipNulls, generateArrayPrefix === 'comma' && encodeValuesOnly && isArray(obj) ? null : encoder, filter, sort, allowDots, serializeDate, format, formatter, encodeValuesOnly, charset, valueSideChannel));
|
||
}
|
||
return values;
|
||
};
|
||
var normalizeStringifyOptions = function normalizeStringifyOptions(opts) {
|
||
if (!opts) {
|
||
return defaults;
|
||
}
|
||
if (opts.encoder !== null && typeof opts.encoder !== 'undefined' && typeof opts.encoder !== 'function') {
|
||
throw new TypeError('Encoder has to be a function.');
|
||
}
|
||
var charset = opts.charset || defaults.charset;
|
||
if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {
|
||
throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');
|
||
}
|
||
var format = formats['default'];
|
||
if (typeof opts.format !== 'undefined') {
|
||
if (!has.call(formats.formatters, opts.format)) {
|
||
throw new TypeError('Unknown format option provided.');
|
||
}
|
||
format = opts.format;
|
||
}
|
||
var formatter = formats.formatters[format];
|
||
var filter = defaults.filter;
|
||
if (typeof opts.filter === 'function' || isArray(opts.filter)) {
|
||
filter = opts.filter;
|
||
}
|
||
return {
|
||
addQueryPrefix: typeof opts.addQueryPrefix === 'boolean' ? opts.addQueryPrefix : defaults.addQueryPrefix,
|
||
allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,
|
||
charset: charset,
|
||
charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,
|
||
delimiter: typeof opts.delimiter === 'undefined' ? defaults.delimiter : opts.delimiter,
|
||
encode: typeof opts.encode === 'boolean' ? opts.encode : defaults.encode,
|
||
encoder: typeof opts.encoder === 'function' ? opts.encoder : defaults.encoder,
|
||
encodeValuesOnly: typeof opts.encodeValuesOnly === 'boolean' ? opts.encodeValuesOnly : defaults.encodeValuesOnly,
|
||
filter: filter,
|
||
format: format,
|
||
formatter: formatter,
|
||
serializeDate: typeof opts.serializeDate === 'function' ? opts.serializeDate : defaults.serializeDate,
|
||
skipNulls: typeof opts.skipNulls === 'boolean' ? opts.skipNulls : defaults.skipNulls,
|
||
sort: typeof opts.sort === 'function' ? opts.sort : null,
|
||
strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling
|
||
};
|
||
};
|
||
module.exports = function (object, opts) {
|
||
var obj = object;
|
||
var options = normalizeStringifyOptions(opts);
|
||
var objKeys;
|
||
var filter;
|
||
if (typeof options.filter === 'function') {
|
||
filter = options.filter;
|
||
obj = filter('', obj);
|
||
} else if (isArray(options.filter)) {
|
||
filter = options.filter;
|
||
objKeys = filter;
|
||
}
|
||
var keys = [];
|
||
if (typeof obj !== 'object' || obj === null) {
|
||
return '';
|
||
}
|
||
var arrayFormat;
|
||
if (opts && opts.arrayFormat in arrayPrefixGenerators) {
|
||
arrayFormat = opts.arrayFormat;
|
||
} else if (opts && 'indices' in opts) {
|
||
arrayFormat = opts.indices ? 'indices' : 'repeat';
|
||
} else {
|
||
arrayFormat = 'indices';
|
||
}
|
||
var generateArrayPrefix = arrayPrefixGenerators[arrayFormat];
|
||
if (opts && 'commaRoundTrip' in opts && typeof opts.commaRoundTrip !== 'boolean') {
|
||
throw new TypeError('`commaRoundTrip` must be a boolean, or absent');
|
||
}
|
||
var commaRoundTrip = generateArrayPrefix === 'comma' && opts && opts.commaRoundTrip;
|
||
if (!objKeys) {
|
||
objKeys = Object.keys(obj);
|
||
}
|
||
if (options.sort) {
|
||
objKeys.sort(options.sort);
|
||
}
|
||
var sideChannel = getSideChannel();
|
||
for (var i = 0; i < objKeys.length; ++i) {
|
||
var key = objKeys[i];
|
||
if (options.skipNulls && obj[key] === null) {
|
||
continue;
|
||
}
|
||
pushToArray(keys, stringify(obj[key], key, generateArrayPrefix, commaRoundTrip, options.strictNullHandling, options.skipNulls, options.encode ? options.encoder : null, options.filter, options.sort, options.allowDots, options.serializeDate, options.format, options.formatter, options.encodeValuesOnly, options.charset, sideChannel));
|
||
}
|
||
var joined = keys.join(options.delimiter);
|
||
var prefix = options.addQueryPrefix === true ? '?' : '';
|
||
if (options.charsetSentinel) {
|
||
if (options.charset === 'iso-8859-1') {
|
||
// encodeURIComponent('✓'), the "numeric entity" representation of a checkmark
|
||
prefix += 'utf8=%26%2310003%3B&';
|
||
} else {
|
||
// encodeURIComponent('✓')
|
||
prefix += 'utf8=%E2%9C%93&';
|
||
}
|
||
}
|
||
return joined.length > 0 ? prefix + joined : '';
|
||
};
|
||
|
||
/***/ }),
|
||
|
||
/***/ 40775:
|
||
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
|
||
|
||
var formats = __webpack_require__(43512);
|
||
var has = Object.prototype.hasOwnProperty;
|
||
var isArray = Array.isArray;
|
||
var hexTable = function () {
|
||
var array = [];
|
||
for (var i = 0; i < 256; ++i) {
|
||
array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());
|
||
}
|
||
return array;
|
||
}();
|
||
var compactQueue = function compactQueue(queue) {
|
||
while (queue.length > 1) {
|
||
var item = queue.pop();
|
||
var obj = item.obj[item.prop];
|
||
if (isArray(obj)) {
|
||
var compacted = [];
|
||
for (var j = 0; j < obj.length; ++j) {
|
||
if (typeof obj[j] !== 'undefined') {
|
||
compacted.push(obj[j]);
|
||
}
|
||
}
|
||
item.obj[item.prop] = compacted;
|
||
}
|
||
}
|
||
};
|
||
var arrayToObject = function arrayToObject(source, options) {
|
||
var obj = options && options.plainObjects ? Object.create(null) : {};
|
||
for (var i = 0; i < source.length; ++i) {
|
||
if (typeof source[i] !== 'undefined') {
|
||
obj[i] = source[i];
|
||
}
|
||
}
|
||
return obj;
|
||
};
|
||
var merge = function merge(target, source, options) {
|
||
/* eslint no-param-reassign: 0 */
|
||
if (!source) {
|
||
return target;
|
||
}
|
||
if (typeof source !== 'object') {
|
||
if (isArray(target)) {
|
||
target.push(source);
|
||
} else if (target && typeof target === 'object') {
|
||
if (options && (options.plainObjects || options.allowPrototypes) || !has.call(Object.prototype, source)) {
|
||
target[source] = true;
|
||
}
|
||
} else {
|
||
return [target, source];
|
||
}
|
||
return target;
|
||
}
|
||
if (!target || typeof target !== 'object') {
|
||
return [target].concat(source);
|
||
}
|
||
var mergeTarget = target;
|
||
if (isArray(target) && !isArray(source)) {
|
||
mergeTarget = arrayToObject(target, options);
|
||
}
|
||
if (isArray(target) && isArray(source)) {
|
||
source.forEach(function (item, i) {
|
||
if (has.call(target, i)) {
|
||
var targetItem = target[i];
|
||
if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') {
|
||
target[i] = merge(targetItem, item, options);
|
||
} else {
|
||
target.push(item);
|
||
}
|
||
} else {
|
||
target[i] = item;
|
||
}
|
||
});
|
||
return target;
|
||
}
|
||
return Object.keys(source).reduce(function (acc, key) {
|
||
var value = source[key];
|
||
if (has.call(acc, key)) {
|
||
acc[key] = merge(acc[key], value, options);
|
||
} else {
|
||
acc[key] = value;
|
||
}
|
||
return acc;
|
||
}, mergeTarget);
|
||
};
|
||
var assign = function assignSingleSource(target, source) {
|
||
return Object.keys(source).reduce(function (acc, key) {
|
||
acc[key] = source[key];
|
||
return acc;
|
||
}, target);
|
||
};
|
||
var decode = function (str, decoder, charset) {
|
||
var strWithoutPlus = str.replace(/\+/g, ' ');
|
||
if (charset === 'iso-8859-1') {
|
||
// unescape never throws, no try...catch needed:
|
||
return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);
|
||
}
|
||
// utf-8
|
||
try {
|
||
return decodeURIComponent(strWithoutPlus);
|
||
} catch (e) {
|
||
return strWithoutPlus;
|
||
}
|
||
};
|
||
var encode = function encode(str, defaultEncoder, charset, kind, format) {
|
||
// This code was originally written by Brian White (mscdex) for the io.js core querystring library.
|
||
// It has been adapted here for stricter adherence to RFC 3986
|
||
if (str.length === 0) {
|
||
return str;
|
||
}
|
||
var string = str;
|
||
if (typeof str === 'symbol') {
|
||
string = Symbol.prototype.toString.call(str);
|
||
} else if (typeof str !== 'string') {
|
||
string = String(str);
|
||
}
|
||
if (charset === 'iso-8859-1') {
|
||
return escape(string).replace(/%u[0-9a-f]{4}/gi, function ($0) {
|
||
return '%26%23' + parseInt($0.slice(2), 16) + '%3B';
|
||
});
|
||
}
|
||
var out = '';
|
||
for (var i = 0; i < string.length; ++i) {
|
||
var c = string.charCodeAt(i);
|
||
if (c === 0x2D // -
|
||
|| c === 0x2E // .
|
||
|| c === 0x5F // _
|
||
|| c === 0x7E // ~
|
||
|| c >= 0x30 && c <= 0x39 // 0-9
|
||
|| c >= 0x41 && c <= 0x5A // a-z
|
||
|| c >= 0x61 && c <= 0x7A // A-Z
|
||
|| format === formats.RFC1738 && (c === 0x28 || c === 0x29) // ( )
|
||
) {
|
||
out += string.charAt(i);
|
||
continue;
|
||
}
|
||
if (c < 0x80) {
|
||
out = out + hexTable[c];
|
||
continue;
|
||
}
|
||
if (c < 0x800) {
|
||
out = out + (hexTable[0xC0 | c >> 6] + hexTable[0x80 | c & 0x3F]);
|
||
continue;
|
||
}
|
||
if (c < 0xD800 || c >= 0xE000) {
|
||
out = out + (hexTable[0xE0 | c >> 12] + hexTable[0x80 | c >> 6 & 0x3F] + hexTable[0x80 | c & 0x3F]);
|
||
continue;
|
||
}
|
||
i += 1;
|
||
c = 0x10000 + ((c & 0x3FF) << 10 | string.charCodeAt(i) & 0x3FF);
|
||
/* eslint operator-linebreak: [2, "before"] */
|
||
out += hexTable[0xF0 | c >> 18] + hexTable[0x80 | c >> 12 & 0x3F] + hexTable[0x80 | c >> 6 & 0x3F] + hexTable[0x80 | c & 0x3F];
|
||
}
|
||
return out;
|
||
};
|
||
var compact = function compact(value) {
|
||
var queue = [{
|
||
obj: {
|
||
o: value
|
||
},
|
||
prop: 'o'
|
||
}];
|
||
var refs = [];
|
||
for (var i = 0; i < queue.length; ++i) {
|
||
var item = queue[i];
|
||
var obj = item.obj[item.prop];
|
||
var keys = Object.keys(obj);
|
||
for (var j = 0; j < keys.length; ++j) {
|
||
var key = keys[j];
|
||
var val = obj[key];
|
||
if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {
|
||
queue.push({
|
||
obj: obj,
|
||
prop: key
|
||
});
|
||
refs.push(val);
|
||
}
|
||
}
|
||
}
|
||
compactQueue(queue);
|
||
return value;
|
||
};
|
||
var isRegExp = function isRegExp(obj) {
|
||
return Object.prototype.toString.call(obj) === '[object RegExp]';
|
||
};
|
||
var isBuffer = function isBuffer(obj) {
|
||
if (!obj || typeof obj !== 'object') {
|
||
return false;
|
||
}
|
||
return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));
|
||
};
|
||
var combine = function combine(a, b) {
|
||
return [].concat(a, b);
|
||
};
|
||
var maybeMap = function maybeMap(val, fn) {
|
||
if (isArray(val)) {
|
||
var mapped = [];
|
||
for (var i = 0; i < val.length; i += 1) {
|
||
mapped.push(fn(val[i]));
|
||
}
|
||
return mapped;
|
||
}
|
||
return fn(val);
|
||
};
|
||
module.exports = {
|
||
arrayToObject: arrayToObject,
|
||
assign: assign,
|
||
combine: combine,
|
||
compact: compact,
|
||
decode: decode,
|
||
encode: encode,
|
||
isBuffer: isBuffer,
|
||
isRegExp: isRegExp,
|
||
maybeMap: maybeMap,
|
||
merge: merge
|
||
};
|
||
|
||
/***/ }),
|
||
|
||
/***/ 67546:
|
||
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
|
||
|
||
var GetIntrinsic = __webpack_require__(55050);
|
||
var callBound = __webpack_require__(3737);
|
||
var inspect = __webpack_require__(87676);
|
||
var $TypeError = GetIntrinsic('%TypeError%');
|
||
var $WeakMap = GetIntrinsic('%WeakMap%', true);
|
||
var $Map = GetIntrinsic('%Map%', true);
|
||
var $weakMapGet = callBound('WeakMap.prototype.get', true);
|
||
var $weakMapSet = callBound('WeakMap.prototype.set', true);
|
||
var $weakMapHas = callBound('WeakMap.prototype.has', true);
|
||
var $mapGet = callBound('Map.prototype.get', true);
|
||
var $mapSet = callBound('Map.prototype.set', true);
|
||
var $mapHas = callBound('Map.prototype.has', true);
|
||
|
||
/*
|
||
* This function traverses the list returning the node corresponding to the
|
||
* given key.
|
||
*
|
||
* That node is also moved to the head of the list, so that if it's accessed
|
||
* again we don't need to traverse the whole list. By doing so, all the recently
|
||
* used nodes can be accessed relatively quickly.
|
||
*/
|
||
var listGetNode = function (list, key) {
|
||
// eslint-disable-line consistent-return
|
||
for (var prev = list, curr; (curr = prev.next) !== null; prev = curr) {
|
||
if (curr.key === key) {
|
||
prev.next = curr.next;
|
||
curr.next = list.next;
|
||
list.next = curr; // eslint-disable-line no-param-reassign
|
||
return curr;
|
||
}
|
||
}
|
||
};
|
||
var listGet = function (objects, key) {
|
||
var node = listGetNode(objects, key);
|
||
return node && node.value;
|
||
};
|
||
var listSet = function (objects, key, value) {
|
||
var node = listGetNode(objects, key);
|
||
if (node) {
|
||
node.value = value;
|
||
} else {
|
||
// Prepend the new node to the beginning of the list
|
||
objects.next = {
|
||
// eslint-disable-line no-param-reassign
|
||
key: key,
|
||
next: objects.next,
|
||
value: value
|
||
};
|
||
}
|
||
};
|
||
var listHas = function (objects, key) {
|
||
return !!listGetNode(objects, key);
|
||
};
|
||
module.exports = function getSideChannel() {
|
||
var $wm;
|
||
var $m;
|
||
var $o;
|
||
var channel = {
|
||
assert: function (key) {
|
||
if (!channel.has(key)) {
|
||
throw new $TypeError('Side channel does not contain ' + inspect(key));
|
||
}
|
||
},
|
||
get: function (key) {
|
||
// eslint-disable-line consistent-return
|
||
if ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {
|
||
if ($wm) {
|
||
return $weakMapGet($wm, key);
|
||
}
|
||
} else if ($Map) {
|
||
if ($m) {
|
||
return $mapGet($m, key);
|
||
}
|
||
} else {
|
||
if ($o) {
|
||
// eslint-disable-line no-lonely-if
|
||
return listGet($o, key);
|
||
}
|
||
}
|
||
},
|
||
has: function (key) {
|
||
if ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {
|
||
if ($wm) {
|
||
return $weakMapHas($wm, key);
|
||
}
|
||
} else if ($Map) {
|
||
if ($m) {
|
||
return $mapHas($m, key);
|
||
}
|
||
} else {
|
||
if ($o) {
|
||
// eslint-disable-line no-lonely-if
|
||
return listHas($o, key);
|
||
}
|
||
}
|
||
return false;
|
||
},
|
||
set: function (key, value) {
|
||
if ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {
|
||
if (!$wm) {
|
||
$wm = new $WeakMap();
|
||
}
|
||
$weakMapSet($wm, key, value);
|
||
} else if ($Map) {
|
||
if (!$m) {
|
||
$m = new $Map();
|
||
}
|
||
$mapSet($m, key, value);
|
||
} else {
|
||
if (!$o) {
|
||
/*
|
||
* Initialize the linked list as an empty node, so that we don't have
|
||
* to special-case handling of the first node: we can always refer to
|
||
* it as (previous node).next, instead of something like (list).head
|
||
*/
|
||
$o = {
|
||
key: {},
|
||
next: null
|
||
};
|
||
}
|
||
listSet($o, key, value);
|
||
}
|
||
}
|
||
};
|
||
return channel;
|
||
};
|
||
|
||
/***/ }),
|
||
|
||
/***/ 69573:
|
||
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
||
|
||
"use strict";
|
||
/*
|
||
* Copyright Joyent, Inc. and other Node contributors.
|
||
*
|
||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||
* copy of this software and associated documentation files (the
|
||
* "Software"), to deal in the Software without restriction, including
|
||
* without limitation the rights to use, copy, modify, merge, publish,
|
||
* distribute, sublicense, and/or sell copies of the Software, and to permit
|
||
* persons to whom the Software is furnished to do so, subject to the
|
||
* following conditions:
|
||
*
|
||
* The above copyright notice and this permission notice shall be included
|
||
* in all copies or substantial portions of the Software.
|
||
*
|
||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
|
||
* NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
||
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
|
||
* USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||
*/
|
||
|
||
|
||
|
||
var punycode = __webpack_require__(43277);
|
||
function Url() {
|
||
this.protocol = null;
|
||
this.slashes = null;
|
||
this.auth = null;
|
||
this.host = null;
|
||
this.port = null;
|
||
this.hostname = null;
|
||
this.hash = null;
|
||
this.search = null;
|
||
this.query = null;
|
||
this.pathname = null;
|
||
this.path = null;
|
||
this.href = null;
|
||
}
|
||
|
||
// Reference: RFC 3986, RFC 1808, RFC 2396
|
||
|
||
/*
|
||
* define these here so at least they only have to be
|
||
* compiled once on the first module load.
|
||
*/
|
||
var protocolPattern = /^([a-z0-9.+-]+:)/i,
|
||
portPattern = /:[0-9]*$/,
|
||
// Special case for a simple path URL
|
||
simplePathPattern = /^(\/\/?(?!\/)[^?\s]*)(\?[^\s]*)?$/,
|
||
/*
|
||
* RFC 2396: characters reserved for delimiting URLs.
|
||
* We actually just auto-escape these.
|
||
*/
|
||
delims = ['<', '>', '"', '`', ' ', '\r', '\n', '\t'],
|
||
// RFC 2396: characters not allowed for various reasons.
|
||
unwise = ['{', '}', '|', '\\', '^', '`'].concat(delims),
|
||
// Allowed by RFCs, but cause of XSS attacks. Always escape these.
|
||
autoEscape = ['\''].concat(unwise),
|
||
/*
|
||
* Characters that are never ever allowed in a hostname.
|
||
* Note that any invalid chars are also handled, but these
|
||
* are the ones that are *expected* to be seen, so we fast-path
|
||
* them.
|
||
*/
|
||
nonHostChars = ['%', '/', '?', ';', '#'].concat(autoEscape),
|
||
hostEndingChars = ['/', '?', '#'],
|
||
hostnameMaxLen = 255,
|
||
hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,
|
||
hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,
|
||
// protocols that can allow "unsafe" and "unwise" chars.
|
||
unsafeProtocol = {
|
||
javascript: true,
|
||
'javascript:': true
|
||
},
|
||
// protocols that never have a hostname.
|
||
hostlessProtocol = {
|
||
javascript: true,
|
||
'javascript:': true
|
||
},
|
||
// protocols that always contain a // bit.
|
||
slashedProtocol = {
|
||
http: true,
|
||
https: true,
|
||
ftp: true,
|
||
gopher: true,
|
||
file: true,
|
||
'http:': true,
|
||
'https:': true,
|
||
'ftp:': true,
|
||
'gopher:': true,
|
||
'file:': true
|
||
},
|
||
querystring = __webpack_require__(349);
|
||
function urlParse(url, parseQueryString, slashesDenoteHost) {
|
||
if (url && typeof url === 'object' && url instanceof Url) {
|
||
return url;
|
||
}
|
||
var u = new Url();
|
||
u.parse(url, parseQueryString, slashesDenoteHost);
|
||
return u;
|
||
}
|
||
Url.prototype.parse = function (url, parseQueryString, slashesDenoteHost) {
|
||
if (typeof url !== 'string') {
|
||
throw new TypeError("Parameter 'url' must be a string, not " + typeof url);
|
||
}
|
||
|
||
/*
|
||
* Copy chrome, IE, opera backslash-handling behavior.
|
||
* Back slashes before the query string get converted to forward slashes
|
||
* See: https://code.google.com/p/chromium/issues/detail?id=25916
|
||
*/
|
||
var queryIndex = url.indexOf('?'),
|
||
splitter = queryIndex !== -1 && queryIndex < url.indexOf('#') ? '?' : '#',
|
||
uSplit = url.split(splitter),
|
||
slashRegex = /\\/g;
|
||
uSplit[0] = uSplit[0].replace(slashRegex, '/');
|
||
url = uSplit.join(splitter);
|
||
var rest = url;
|
||
|
||
/*
|
||
* trim before proceeding.
|
||
* This is to support parse stuff like " http://foo.com \n"
|
||
*/
|
||
rest = rest.trim();
|
||
if (!slashesDenoteHost && url.split('#').length === 1) {
|
||
// Try fast path regexp
|
||
var simplePath = simplePathPattern.exec(rest);
|
||
if (simplePath) {
|
||
this.path = rest;
|
||
this.href = rest;
|
||
this.pathname = simplePath[1];
|
||
if (simplePath[2]) {
|
||
this.search = simplePath[2];
|
||
if (parseQueryString) {
|
||
this.query = querystring.parse(this.search.substr(1));
|
||
} else {
|
||
this.query = this.search.substr(1);
|
||
}
|
||
} else if (parseQueryString) {
|
||
this.search = '';
|
||
this.query = {};
|
||
}
|
||
return this;
|
||
}
|
||
}
|
||
var proto = protocolPattern.exec(rest);
|
||
if (proto) {
|
||
proto = proto[0];
|
||
var lowerProto = proto.toLowerCase();
|
||
this.protocol = lowerProto;
|
||
rest = rest.substr(proto.length);
|
||
}
|
||
|
||
/*
|
||
* figure out if it's got a host
|
||
* user@server is *always* interpreted as a hostname, and url
|
||
* resolution will treat //foo/bar as host=foo,path=bar because that's
|
||
* how the browser resolves relative URLs.
|
||
*/
|
||
if (slashesDenoteHost || proto || rest.match(/^\/\/[^@/]+@[^@/]+/)) {
|
||
var slashes = rest.substr(0, 2) === '//';
|
||
if (slashes && !(proto && hostlessProtocol[proto])) {
|
||
rest = rest.substr(2);
|
||
this.slashes = true;
|
||
}
|
||
}
|
||
if (!hostlessProtocol[proto] && (slashes || proto && !slashedProtocol[proto])) {
|
||
/*
|
||
* there's a hostname.
|
||
* the first instance of /, ?, ;, or # ends the host.
|
||
*
|
||
* If there is an @ in the hostname, then non-host chars *are* allowed
|
||
* to the left of the last @ sign, unless some host-ending character
|
||
* comes *before* the @-sign.
|
||
* URLs are obnoxious.
|
||
*
|
||
* ex:
|
||
* http://a@b@c/ => user:a@b host:c
|
||
* http://a@b?@c => user:a host:c path:/?@c
|
||
*/
|
||
|
||
/*
|
||
* v0.12 TODO(isaacs): This is not quite how Chrome does things.
|
||
* Review our test case against browsers more comprehensively.
|
||
*/
|
||
|
||
// find the first instance of any hostEndingChars
|
||
var hostEnd = -1;
|
||
for (var i = 0; i < hostEndingChars.length; i++) {
|
||
var hec = rest.indexOf(hostEndingChars[i]);
|
||
if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) {
|
||
hostEnd = hec;
|
||
}
|
||
}
|
||
|
||
/*
|
||
* at this point, either we have an explicit point where the
|
||
* auth portion cannot go past, or the last @ char is the decider.
|
||
*/
|
||
var auth, atSign;
|
||
if (hostEnd === -1) {
|
||
// atSign can be anywhere.
|
||
atSign = rest.lastIndexOf('@');
|
||
} else {
|
||
/*
|
||
* atSign must be in auth portion.
|
||
* http://a@b/c@d => host:b auth:a path:/c@d
|
||
*/
|
||
atSign = rest.lastIndexOf('@', hostEnd);
|
||
}
|
||
|
||
/*
|
||
* Now we have a portion which is definitely the auth.
|
||
* Pull that off.
|
||
*/
|
||
if (atSign !== -1) {
|
||
auth = rest.slice(0, atSign);
|
||
rest = rest.slice(atSign + 1);
|
||
this.auth = decodeURIComponent(auth);
|
||
}
|
||
|
||
// the host is the remaining to the left of the first non-host char
|
||
hostEnd = -1;
|
||
for (var i = 0; i < nonHostChars.length; i++) {
|
||
var hec = rest.indexOf(nonHostChars[i]);
|
||
if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) {
|
||
hostEnd = hec;
|
||
}
|
||
}
|
||
// if we still have not hit it, then the entire thing is a host.
|
||
if (hostEnd === -1) {
|
||
hostEnd = rest.length;
|
||
}
|
||
this.host = rest.slice(0, hostEnd);
|
||
rest = rest.slice(hostEnd);
|
||
|
||
// pull out port.
|
||
this.parseHost();
|
||
|
||
/*
|
||
* we've indicated that there is a hostname,
|
||
* so even if it's empty, it has to be present.
|
||
*/
|
||
this.hostname = this.hostname || '';
|
||
|
||
/*
|
||
* if hostname begins with [ and ends with ]
|
||
* assume that it's an IPv6 address.
|
||
*/
|
||
var ipv6Hostname = this.hostname[0] === '[' && this.hostname[this.hostname.length - 1] === ']';
|
||
|
||
// validate a little.
|
||
if (!ipv6Hostname) {
|
||
var hostparts = this.hostname.split(/\./);
|
||
for (var i = 0, l = hostparts.length; i < l; i++) {
|
||
var part = hostparts[i];
|
||
if (!part) {
|
||
continue;
|
||
}
|
||
if (!part.match(hostnamePartPattern)) {
|
||
var newpart = '';
|
||
for (var j = 0, k = part.length; j < k; j++) {
|
||
if (part.charCodeAt(j) > 127) {
|
||
/*
|
||
* we replace non-ASCII char with a temporary placeholder
|
||
* we need this to make sure size of hostname is not
|
||
* broken by replacing non-ASCII by nothing
|
||
*/
|
||
newpart += 'x';
|
||
} else {
|
||
newpart += part[j];
|
||
}
|
||
}
|
||
// we test again with ASCII char only
|
||
if (!newpart.match(hostnamePartPattern)) {
|
||
var validParts = hostparts.slice(0, i);
|
||
var notHost = hostparts.slice(i + 1);
|
||
var bit = part.match(hostnamePartStart);
|
||
if (bit) {
|
||
validParts.push(bit[1]);
|
||
notHost.unshift(bit[2]);
|
||
}
|
||
if (notHost.length) {
|
||
rest = '/' + notHost.join('.') + rest;
|
||
}
|
||
this.hostname = validParts.join('.');
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
if (this.hostname.length > hostnameMaxLen) {
|
||
this.hostname = '';
|
||
} else {
|
||
// hostnames are always lower case.
|
||
this.hostname = this.hostname.toLowerCase();
|
||
}
|
||
if (!ipv6Hostname) {
|
||
/*
|
||
* IDNA Support: Returns a punycoded representation of "domain".
|
||
* It only converts parts of the domain name that
|
||
* have non-ASCII characters, i.e. it doesn't matter if
|
||
* you call it with a domain that already is ASCII-only.
|
||
*/
|
||
this.hostname = punycode.toASCII(this.hostname);
|
||
}
|
||
var p = this.port ? ':' + this.port : '';
|
||
var h = this.hostname || '';
|
||
this.host = h + p;
|
||
this.href += this.host;
|
||
|
||
/*
|
||
* strip [ and ] from the hostname
|
||
* the host field still retains them, though
|
||
*/
|
||
if (ipv6Hostname) {
|
||
this.hostname = this.hostname.substr(1, this.hostname.length - 2);
|
||
if (rest[0] !== '/') {
|
||
rest = '/' + rest;
|
||
}
|
||
}
|
||
}
|
||
|
||
/*
|
||
* now rest is set to the post-host stuff.
|
||
* chop off any delim chars.
|
||
*/
|
||
if (!unsafeProtocol[lowerProto]) {
|
||
/*
|
||
* First, make 100% sure that any "autoEscape" chars get
|
||
* escaped, even if encodeURIComponent doesn't think they
|
||
* need to be.
|
||
*/
|
||
for (var i = 0, l = autoEscape.length; i < l; i++) {
|
||
var ae = autoEscape[i];
|
||
if (rest.indexOf(ae) === -1) {
|
||
continue;
|
||
}
|
||
var esc = encodeURIComponent(ae);
|
||
if (esc === ae) {
|
||
esc = escape(ae);
|
||
}
|
||
rest = rest.split(ae).join(esc);
|
||
}
|
||
}
|
||
|
||
// chop off from the tail first.
|
||
var hash = rest.indexOf('#');
|
||
if (hash !== -1) {
|
||
// got a fragment string.
|
||
this.hash = rest.substr(hash);
|
||
rest = rest.slice(0, hash);
|
||
}
|
||
var qm = rest.indexOf('?');
|
||
if (qm !== -1) {
|
||
this.search = rest.substr(qm);
|
||
this.query = rest.substr(qm + 1);
|
||
if (parseQueryString) {
|
||
this.query = querystring.parse(this.query);
|
||
}
|
||
rest = rest.slice(0, qm);
|
||
} else if (parseQueryString) {
|
||
// no query string, but parseQueryString still requested
|
||
this.search = '';
|
||
this.query = {};
|
||
}
|
||
if (rest) {
|
||
this.pathname = rest;
|
||
}
|
||
if (slashedProtocol[lowerProto] && this.hostname && !this.pathname) {
|
||
this.pathname = '/';
|
||
}
|
||
|
||
// to support http.request
|
||
if (this.pathname || this.search) {
|
||
var p = this.pathname || '';
|
||
var s = this.search || '';
|
||
this.path = p + s;
|
||
}
|
||
|
||
// finally, reconstruct the href based on what has been validated.
|
||
this.href = this.format();
|
||
return this;
|
||
};
|
||
|
||
// format a parsed object into a url string
|
||
function urlFormat(obj) {
|
||
/*
|
||
* ensure it's an object, and not a string url.
|
||
* If it's an obj, this is a no-op.
|
||
* this way, you can call url_format() on strings
|
||
* to clean up potentially wonky urls.
|
||
*/
|
||
if (typeof obj === 'string') {
|
||
obj = urlParse(obj);
|
||
}
|
||
if (!(obj instanceof Url)) {
|
||
return Url.prototype.format.call(obj);
|
||
}
|
||
return obj.format();
|
||
}
|
||
Url.prototype.format = function () {
|
||
var auth = this.auth || '';
|
||
if (auth) {
|
||
auth = encodeURIComponent(auth);
|
||
auth = auth.replace(/%3A/i, ':');
|
||
auth += '@';
|
||
}
|
||
var protocol = this.protocol || '',
|
||
pathname = this.pathname || '',
|
||
hash = this.hash || '',
|
||
host = false,
|
||
query = '';
|
||
if (this.host) {
|
||
host = auth + this.host;
|
||
} else if (this.hostname) {
|
||
host = auth + (this.hostname.indexOf(':') === -1 ? this.hostname : '[' + this.hostname + ']');
|
||
if (this.port) {
|
||
host += ':' + this.port;
|
||
}
|
||
}
|
||
if (this.query && typeof this.query === 'object' && Object.keys(this.query).length) {
|
||
query = querystring.stringify(this.query);
|
||
}
|
||
var search = this.search || query && '?' + query || '';
|
||
if (protocol && protocol.substr(-1) !== ':') {
|
||
protocol += ':';
|
||
}
|
||
|
||
/*
|
||
* only the slashedProtocols get the //. Not mailto:, xmpp:, etc.
|
||
* unless they had them to begin with.
|
||
*/
|
||
if (this.slashes || (!protocol || slashedProtocol[protocol]) && host !== false) {
|
||
host = '//' + (host || '');
|
||
if (pathname && pathname.charAt(0) !== '/') {
|
||
pathname = '/' + pathname;
|
||
}
|
||
} else if (!host) {
|
||
host = '';
|
||
}
|
||
if (hash && hash.charAt(0) !== '#') {
|
||
hash = '#' + hash;
|
||
}
|
||
if (search && search.charAt(0) !== '?') {
|
||
search = '?' + search;
|
||
}
|
||
pathname = pathname.replace(/[?#]/g, function (match) {
|
||
return encodeURIComponent(match);
|
||
});
|
||
search = search.replace('#', '%23');
|
||
return protocol + host + pathname + search + hash;
|
||
};
|
||
function urlResolve(source, relative) {
|
||
return urlParse(source, false, true).resolve(relative);
|
||
}
|
||
Url.prototype.resolve = function (relative) {
|
||
return this.resolveObject(urlParse(relative, false, true)).format();
|
||
};
|
||
function urlResolveObject(source, relative) {
|
||
if (!source) {
|
||
return relative;
|
||
}
|
||
return urlParse(source, false, true).resolveObject(relative);
|
||
}
|
||
Url.prototype.resolveObject = function (relative) {
|
||
if (typeof relative === 'string') {
|
||
var rel = new Url();
|
||
rel.parse(relative, false, true);
|
||
relative = rel;
|
||
}
|
||
var result = new Url();
|
||
var tkeys = Object.keys(this);
|
||
for (var tk = 0; tk < tkeys.length; tk++) {
|
||
var tkey = tkeys[tk];
|
||
result[tkey] = this[tkey];
|
||
}
|
||
|
||
/*
|
||
* hash is always overridden, no matter what.
|
||
* even href="" will remove it.
|
||
*/
|
||
result.hash = relative.hash;
|
||
|
||
// if the relative url is empty, then there's nothing left to do here.
|
||
if (relative.href === '') {
|
||
result.href = result.format();
|
||
return result;
|
||
}
|
||
|
||
// hrefs like //foo/bar always cut to the protocol.
|
||
if (relative.slashes && !relative.protocol) {
|
||
// take everything except the protocol from relative
|
||
var rkeys = Object.keys(relative);
|
||
for (var rk = 0; rk < rkeys.length; rk++) {
|
||
var rkey = rkeys[rk];
|
||
if (rkey !== 'protocol') {
|
||
result[rkey] = relative[rkey];
|
||
}
|
||
}
|
||
|
||
// urlParse appends trailing / to urls like http://www.example.com
|
||
if (slashedProtocol[result.protocol] && result.hostname && !result.pathname) {
|
||
result.pathname = '/';
|
||
result.path = result.pathname;
|
||
}
|
||
result.href = result.format();
|
||
return result;
|
||
}
|
||
if (relative.protocol && relative.protocol !== result.protocol) {
|
||
/*
|
||
* if it's a known url protocol, then changing
|
||
* the protocol does weird things
|
||
* first, if it's not file:, then we MUST have a host,
|
||
* and if there was a path
|
||
* to begin with, then we MUST have a path.
|
||
* if it is file:, then the host is dropped,
|
||
* because that's known to be hostless.
|
||
* anything else is assumed to be absolute.
|
||
*/
|
||
if (!slashedProtocol[relative.protocol]) {
|
||
var keys = Object.keys(relative);
|
||
for (var v = 0; v < keys.length; v++) {
|
||
var k = keys[v];
|
||
result[k] = relative[k];
|
||
}
|
||
result.href = result.format();
|
||
return result;
|
||
}
|
||
result.protocol = relative.protocol;
|
||
if (!relative.host && !hostlessProtocol[relative.protocol]) {
|
||
var relPath = (relative.pathname || '').split('/');
|
||
while (relPath.length && !(relative.host = relPath.shift())) {}
|
||
if (!relative.host) {
|
||
relative.host = '';
|
||
}
|
||
if (!relative.hostname) {
|
||
relative.hostname = '';
|
||
}
|
||
if (relPath[0] !== '') {
|
||
relPath.unshift('');
|
||
}
|
||
if (relPath.length < 2) {
|
||
relPath.unshift('');
|
||
}
|
||
result.pathname = relPath.join('/');
|
||
} else {
|
||
result.pathname = relative.pathname;
|
||
}
|
||
result.search = relative.search;
|
||
result.query = relative.query;
|
||
result.host = relative.host || '';
|
||
result.auth = relative.auth;
|
||
result.hostname = relative.hostname || relative.host;
|
||
result.port = relative.port;
|
||
// to support http.request
|
||
if (result.pathname || result.search) {
|
||
var p = result.pathname || '';
|
||
var s = result.search || '';
|
||
result.path = p + s;
|
||
}
|
||
result.slashes = result.slashes || relative.slashes;
|
||
result.href = result.format();
|
||
return result;
|
||
}
|
||
var isSourceAbs = result.pathname && result.pathname.charAt(0) === '/',
|
||
isRelAbs = relative.host || relative.pathname && relative.pathname.charAt(0) === '/',
|
||
mustEndAbs = isRelAbs || isSourceAbs || result.host && relative.pathname,
|
||
removeAllDots = mustEndAbs,
|
||
srcPath = result.pathname && result.pathname.split('/') || [],
|
||
relPath = relative.pathname && relative.pathname.split('/') || [],
|
||
psychotic = result.protocol && !slashedProtocol[result.protocol];
|
||
|
||
/*
|
||
* if the url is a non-slashed url, then relative
|
||
* links like ../.. should be able
|
||
* to crawl up to the hostname, as well. This is strange.
|
||
* result.protocol has already been set by now.
|
||
* Later on, put the first path part into the host field.
|
||
*/
|
||
if (psychotic) {
|
||
result.hostname = '';
|
||
result.port = null;
|
||
if (result.host) {
|
||
if (srcPath[0] === '') {
|
||
srcPath[0] = result.host;
|
||
} else {
|
||
srcPath.unshift(result.host);
|
||
}
|
||
}
|
||
result.host = '';
|
||
if (relative.protocol) {
|
||
relative.hostname = null;
|
||
relative.port = null;
|
||
if (relative.host) {
|
||
if (relPath[0] === '') {
|
||
relPath[0] = relative.host;
|
||
} else {
|
||
relPath.unshift(relative.host);
|
||
}
|
||
}
|
||
relative.host = null;
|
||
}
|
||
mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === '');
|
||
}
|
||
if (isRelAbs) {
|
||
// it's absolute.
|
||
result.host = relative.host || relative.host === '' ? relative.host : result.host;
|
||
result.hostname = relative.hostname || relative.hostname === '' ? relative.hostname : result.hostname;
|
||
result.search = relative.search;
|
||
result.query = relative.query;
|
||
srcPath = relPath;
|
||
// fall through to the dot-handling below.
|
||
} else if (relPath.length) {
|
||
/*
|
||
* it's relative
|
||
* throw away the existing file, and take the new path instead.
|
||
*/
|
||
if (!srcPath) {
|
||
srcPath = [];
|
||
}
|
||
srcPath.pop();
|
||
srcPath = srcPath.concat(relPath);
|
||
result.search = relative.search;
|
||
result.query = relative.query;
|
||
} else if (relative.search != null) {
|
||
/*
|
||
* just pull out the search.
|
||
* like href='?foo'.
|
||
* Put this after the other two cases because it simplifies the booleans
|
||
*/
|
||
if (psychotic) {
|
||
result.host = srcPath.shift();
|
||
result.hostname = result.host;
|
||
/*
|
||
* occationaly the auth can get stuck only in host
|
||
* this especially happens in cases like
|
||
* url.resolveObject('mailto:local1@domain1', 'local2@domain2')
|
||
*/
|
||
var authInHost = result.host && result.host.indexOf('@') > 0 ? result.host.split('@') : false;
|
||
if (authInHost) {
|
||
result.auth = authInHost.shift();
|
||
result.hostname = authInHost.shift();
|
||
result.host = result.hostname;
|
||
}
|
||
}
|
||
result.search = relative.search;
|
||
result.query = relative.query;
|
||
// to support http.request
|
||
if (result.pathname !== null || result.search !== null) {
|
||
result.path = (result.pathname ? result.pathname : '') + (result.search ? result.search : '');
|
||
}
|
||
result.href = result.format();
|
||
return result;
|
||
}
|
||
if (!srcPath.length) {
|
||
/*
|
||
* no path at all. easy.
|
||
* we've already handled the other stuff above.
|
||
*/
|
||
result.pathname = null;
|
||
// to support http.request
|
||
if (result.search) {
|
||
result.path = '/' + result.search;
|
||
} else {
|
||
result.path = null;
|
||
}
|
||
result.href = result.format();
|
||
return result;
|
||
}
|
||
|
||
/*
|
||
* if a url ENDs in . or .., then it must get a trailing slash.
|
||
* however, if it ends in anything else non-slashy,
|
||
* then it must NOT get a trailing slash.
|
||
*/
|
||
var last = srcPath.slice(-1)[0];
|
||
var hasTrailingSlash = (result.host || relative.host || srcPath.length > 1) && (last === '.' || last === '..') || last === '';
|
||
|
||
/*
|
||
* strip single dots, resolve double dots to parent dir
|
||
* if the path tries to go above the root, `up` ends up > 0
|
||
*/
|
||
var up = 0;
|
||
for (var i = srcPath.length; i >= 0; i--) {
|
||
last = srcPath[i];
|
||
if (last === '.') {
|
||
srcPath.splice(i, 1);
|
||
} else if (last === '..') {
|
||
srcPath.splice(i, 1);
|
||
up++;
|
||
} else if (up) {
|
||
srcPath.splice(i, 1);
|
||
up--;
|
||
}
|
||
}
|
||
|
||
// if the path is allowed to go above the root, restore leading ..s
|
||
if (!mustEndAbs && !removeAllDots) {
|
||
for (; up--; up) {
|
||
srcPath.unshift('..');
|
||
}
|
||
}
|
||
if (mustEndAbs && srcPath[0] !== '' && (!srcPath[0] || srcPath[0].charAt(0) !== '/')) {
|
||
srcPath.unshift('');
|
||
}
|
||
if (hasTrailingSlash && srcPath.join('/').substr(-1) !== '/') {
|
||
srcPath.push('');
|
||
}
|
||
var isAbsolute = srcPath[0] === '' || srcPath[0] && srcPath[0].charAt(0) === '/';
|
||
|
||
// put the host back
|
||
if (psychotic) {
|
||
result.hostname = isAbsolute ? '' : srcPath.length ? srcPath.shift() : '';
|
||
result.host = result.hostname;
|
||
/*
|
||
* occationaly the auth can get stuck only in host
|
||
* this especially happens in cases like
|
||
* url.resolveObject('mailto:local1@domain1', 'local2@domain2')
|
||
*/
|
||
var authInHost = result.host && result.host.indexOf('@') > 0 ? result.host.split('@') : false;
|
||
if (authInHost) {
|
||
result.auth = authInHost.shift();
|
||
result.hostname = authInHost.shift();
|
||
result.host = result.hostname;
|
||
}
|
||
}
|
||
mustEndAbs = mustEndAbs || result.host && srcPath.length;
|
||
if (mustEndAbs && !isAbsolute) {
|
||
srcPath.unshift('');
|
||
}
|
||
if (srcPath.length > 0) {
|
||
result.pathname = srcPath.join('/');
|
||
} else {
|
||
result.pathname = null;
|
||
result.path = null;
|
||
}
|
||
|
||
// to support request.http
|
||
if (result.pathname !== null || result.search !== null) {
|
||
result.path = (result.pathname ? result.pathname : '') + (result.search ? result.search : '');
|
||
}
|
||
result.auth = relative.auth || result.auth;
|
||
result.slashes = result.slashes || relative.slashes;
|
||
result.href = result.format();
|
||
return result;
|
||
};
|
||
Url.prototype.parseHost = function () {
|
||
var host = this.host;
|
||
var port = portPattern.exec(host);
|
||
if (port) {
|
||
port = port[0];
|
||
if (port !== ':') {
|
||
this.port = port.substr(1);
|
||
}
|
||
host = host.substr(0, host.length - port.length);
|
||
}
|
||
if (host) {
|
||
this.hostname = host;
|
||
}
|
||
};
|
||
exports.parse = urlParse;
|
||
exports.resolve = urlResolve;
|
||
exports.resolveObject = urlResolveObject;
|
||
exports.format = urlFormat;
|
||
exports.Url = Url;
|
||
|
||
/***/ }),
|
||
|
||
/***/ 53260:
|
||
/***/ (() => {
|
||
|
||
/* (ignored) */
|
||
|
||
/***/ })
|
||
|
||
/******/ });
|
||
/************************************************************************/
|
||
/******/ // The module cache
|
||
/******/ var __webpack_module_cache__ = {};
|
||
/******/
|
||
/******/ // The require function
|
||
/******/ function __webpack_require__(moduleId) {
|
||
/******/ // Check if module is in cache
|
||
/******/ var cachedModule = __webpack_module_cache__[moduleId];
|
||
/******/ if (cachedModule !== undefined) {
|
||
/******/ return cachedModule.exports;
|
||
/******/ }
|
||
/******/ // Create a new module (and put it into the cache)
|
||
/******/ var module = __webpack_module_cache__[moduleId] = {
|
||
/******/ // no module.id needed
|
||
/******/ // no module.loaded needed
|
||
/******/ exports: {}
|
||
/******/ };
|
||
/******/
|
||
/******/ // Execute the module function
|
||
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
|
||
/******/
|
||
/******/ // Return the exports of the module
|
||
/******/ return module.exports;
|
||
/******/ }
|
||
/******/
|
||
/************************************************************************/
|
||
/******/ /* webpack/runtime/define property getters */
|
||
/******/ (() => {
|
||
/******/ // define getter functions for harmony exports
|
||
/******/ __webpack_require__.d = (exports, definition) => {
|
||
/******/ for(var key in definition) {
|
||
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
|
||
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
|
||
/******/ }
|
||
/******/ }
|
||
/******/ };
|
||
/******/ })();
|
||
/******/
|
||
/******/ /* webpack/runtime/global */
|
||
/******/ (() => {
|
||
/******/ __webpack_require__.g = (function() {
|
||
/******/ if (typeof globalThis === 'object') return globalThis;
|
||
/******/ try {
|
||
/******/ return this || new Function('return this')();
|
||
/******/ } catch (e) {
|
||
/******/ if (typeof window === 'object') return window;
|
||
/******/ }
|
||
/******/ })();
|
||
/******/ })();
|
||
/******/
|
||
/******/ /* webpack/runtime/hasOwnProperty shorthand */
|
||
/******/ (() => {
|
||
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
|
||
/******/ })();
|
||
/******/
|
||
/******/ /* webpack/runtime/make namespace object */
|
||
/******/ (() => {
|
||
/******/ // define __esModule on exports
|
||
/******/ __webpack_require__.r = (exports) => {
|
||
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
||
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
||
/******/ }
|
||
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
||
/******/ };
|
||
/******/ })();
|
||
/******/
|
||
/************************************************************************/
|
||
var __webpack_exports__ = {};
|
||
// This entry need to be wrapped in an IIFE because it need to be in strict mode.
|
||
(() => {
|
||
"use strict";
|
||
|
||
;// CONCATENATED MODULE: ../../libs/common/src/vault/abstractions/fido2/fido2-client.service.abstraction.ts
|
||
const UserRequestedFallbackAbortReason = "UserRequestedFallback";
|
||
/**
|
||
* This class represents an abstraction of the WebAuthn Client as described by W3C:
|
||
* https://www.w3.org/TR/webauthn-3/#webauthn-client
|
||
*
|
||
* The WebAuthn Client is an intermediary entity typically implemented in the user agent
|
||
* (in whole, or in part). Conceptually, it underlies the Web Authentication API and embodies
|
||
* the implementation of the Web Authentication API's operations.
|
||
*
|
||
* It is responsible for both marshalling the inputs for the underlying authenticator operations,
|
||
* and for returning the results of the latter operations to the Web Authentication API's callers.
|
||
*/
|
||
class Fido2ClientService {
|
||
}
|
||
/**
|
||
* Error thrown when the user requests a fallback to the browser's built-in WebAuthn implementation.
|
||
*/
|
||
class FallbackRequestedError extends Error {
|
||
constructor() {
|
||
super("FallbackRequested");
|
||
this.fallbackRequested = true;
|
||
}
|
||
}
|
||
|
||
// EXTERNAL MODULE: ../../node_modules/path-browserify/index.js
|
||
var path_browserify = __webpack_require__(14375);
|
||
;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/util/isFunction.js
|
||
function isFunction_isFunction(value) {
|
||
return typeof value === 'function';
|
||
}
|
||
;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/util/isScheduler.js
|
||
|
||
function isScheduler(value) {
|
||
return value && isFunction_isFunction(value.schedule);
|
||
}
|
||
;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/util/args.js
|
||
|
||
|
||
function last(arr) {
|
||
return arr[arr.length - 1];
|
||
}
|
||
function popResultSelector(args) {
|
||
return isFunction(last(args)) ? args.pop() : undefined;
|
||
}
|
||
function popScheduler(args) {
|
||
return isScheduler(last(args)) ? args.pop() : undefined;
|
||
}
|
||
function popNumber(args, defaultValue) {
|
||
return typeof last(args) === 'number' ? args.pop() : defaultValue;
|
||
}
|
||
;// CONCATENATED MODULE: ../../node_modules/tslib/tslib.es6.js
|
||
/******************************************************************************
|
||
Copyright (c) Microsoft Corporation.
|
||
|
||
Permission to use, copy, modify, and/or distribute this software for any
|
||
purpose with or without fee is hereby granted.
|
||
|
||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
||
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||
PERFORMANCE OF THIS SOFTWARE.
|
||
***************************************************************************** */
|
||
/* global Reflect, Promise */
|
||
|
||
var extendStatics = function (d, b) {
|
||
extendStatics = Object.setPrototypeOf || {
|
||
__proto__: []
|
||
} instanceof Array && function (d, b) {
|
||
d.__proto__ = b;
|
||
} || function (d, b) {
|
||
for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];
|
||
};
|
||
return extendStatics(d, b);
|
||
};
|
||
function __extends(d, b) {
|
||
if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
||
extendStatics(d, b);
|
||
function __() {
|
||
this.constructor = d;
|
||
}
|
||
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
||
}
|
||
var __assign = function () {
|
||
__assign = Object.assign || function __assign(t) {
|
||
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
||
s = arguments[i];
|
||
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
||
}
|
||
return t;
|
||
};
|
||
return __assign.apply(this, arguments);
|
||
};
|
||
function __rest(s, e) {
|
||
var t = {};
|
||
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
||
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
||
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
||
}
|
||
return t;
|
||
}
|
||
function __decorate(decorators, target, key, desc) {
|
||
var c = arguments.length,
|
||
r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
|
||
d;
|
||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
||
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
||
}
|
||
function __param(paramIndex, decorator) {
|
||
return function (target, key) {
|
||
decorator(target, key, paramIndex);
|
||
};
|
||
}
|
||
function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
||
function accept(f) {
|
||
if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected");
|
||
return f;
|
||
}
|
||
var kind = contextIn.kind,
|
||
key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
||
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
||
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
||
var _,
|
||
done = false;
|
||
for (var i = decorators.length - 1; i >= 0; i--) {
|
||
var context = {};
|
||
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
||
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
||
context.addInitializer = function (f) {
|
||
if (done) throw new TypeError("Cannot add initializers after decoration has completed");
|
||
extraInitializers.push(accept(f || null));
|
||
};
|
||
var result = (0, decorators[i])(kind === "accessor" ? {
|
||
get: descriptor.get,
|
||
set: descriptor.set
|
||
} : descriptor[key], context);
|
||
if (kind === "accessor") {
|
||
if (result === void 0) continue;
|
||
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
||
if (_ = accept(result.get)) descriptor.get = _;
|
||
if (_ = accept(result.set)) descriptor.set = _;
|
||
if (_ = accept(result.init)) initializers.push(_);
|
||
} else if (_ = accept(result)) {
|
||
if (kind === "field") initializers.push(_);else descriptor[key] = _;
|
||
}
|
||
}
|
||
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
||
done = true;
|
||
}
|
||
;
|
||
function __runInitializers(thisArg, initializers, value) {
|
||
var useValue = arguments.length > 2;
|
||
for (var i = 0; i < initializers.length; i++) {
|
||
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
||
}
|
||
return useValue ? value : void 0;
|
||
}
|
||
;
|
||
function __propKey(x) {
|
||
return typeof x === "symbol" ? x : "".concat(x);
|
||
}
|
||
;
|
||
function __setFunctionName(f, name, prefix) {
|
||
if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
|
||
return Object.defineProperty(f, "name", {
|
||
configurable: true,
|
||
value: prefix ? "".concat(prefix, " ", name) : name
|
||
});
|
||
}
|
||
;
|
||
function __metadata(metadataKey, metadataValue) {
|
||
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
|
||
}
|
||
function __awaiter(thisArg, _arguments, P, generator) {
|
||
function adopt(value) {
|
||
return value instanceof P ? value : new P(function (resolve) {
|
||
resolve(value);
|
||
});
|
||
}
|
||
return new (P || (P = Promise))(function (resolve, reject) {
|
||
function fulfilled(value) {
|
||
try {
|
||
step(generator.next(value));
|
||
} catch (e) {
|
||
reject(e);
|
||
}
|
||
}
|
||
function rejected(value) {
|
||
try {
|
||
step(generator["throw"](value));
|
||
} catch (e) {
|
||
reject(e);
|
||
}
|
||
}
|
||
function step(result) {
|
||
result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
|
||
}
|
||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||
});
|
||
}
|
||
function __generator(thisArg, body) {
|
||
var _ = {
|
||
label: 0,
|
||
sent: function () {
|
||
if (t[0] & 1) throw t[1];
|
||
return t[1];
|
||
},
|
||
trys: [],
|
||
ops: []
|
||
},
|
||
f,
|
||
y,
|
||
t,
|
||
g;
|
||
return g = {
|
||
next: verb(0),
|
||
"throw": verb(1),
|
||
"return": verb(2)
|
||
}, typeof Symbol === "function" && (g[Symbol.iterator] = function () {
|
||
return this;
|
||
}), g;
|
||
function verb(n) {
|
||
return function (v) {
|
||
return step([n, v]);
|
||
};
|
||
}
|
||
function step(op) {
|
||
if (f) throw new TypeError("Generator is already executing.");
|
||
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
||
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
||
if (y = 0, t) op = [op[0] & 2, t.value];
|
||
switch (op[0]) {
|
||
case 0:
|
||
case 1:
|
||
t = op;
|
||
break;
|
||
case 4:
|
||
_.label++;
|
||
return {
|
||
value: op[1],
|
||
done: false
|
||
};
|
||
case 5:
|
||
_.label++;
|
||
y = op[1];
|
||
op = [0];
|
||
continue;
|
||
case 7:
|
||
op = _.ops.pop();
|
||
_.trys.pop();
|
||
continue;
|
||
default:
|
||
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
|
||
_ = 0;
|
||
continue;
|
||
}
|
||
if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
|
||
_.label = op[1];
|
||
break;
|
||
}
|
||
if (op[0] === 6 && _.label < t[1]) {
|
||
_.label = t[1];
|
||
t = op;
|
||
break;
|
||
}
|
||
if (t && _.label < t[2]) {
|
||
_.label = t[2];
|
||
_.ops.push(op);
|
||
break;
|
||
}
|
||
if (t[2]) _.ops.pop();
|
||
_.trys.pop();
|
||
continue;
|
||
}
|
||
op = body.call(thisArg, _);
|
||
} catch (e) {
|
||
op = [6, e];
|
||
y = 0;
|
||
} finally {
|
||
f = t = 0;
|
||
}
|
||
if (op[0] & 5) throw op[1];
|
||
return {
|
||
value: op[0] ? op[1] : void 0,
|
||
done: true
|
||
};
|
||
}
|
||
}
|
||
var __createBinding = Object.create ? function (o, m, k, k2) {
|
||
if (k2 === undefined) k2 = k;
|
||
var desc = Object.getOwnPropertyDescriptor(m, k);
|
||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
||
desc = {
|
||
enumerable: true,
|
||
get: function () {
|
||
return m[k];
|
||
}
|
||
};
|
||
}
|
||
Object.defineProperty(o, k2, desc);
|
||
} : function (o, m, k, k2) {
|
||
if (k2 === undefined) k2 = k;
|
||
o[k2] = m[k];
|
||
};
|
||
function __exportStar(m, o) {
|
||
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
|
||
}
|
||
function __values(o) {
|
||
var s = typeof Symbol === "function" && Symbol.iterator,
|
||
m = s && o[s],
|
||
i = 0;
|
||
if (m) return m.call(o);
|
||
if (o && typeof o.length === "number") return {
|
||
next: function () {
|
||
if (o && i >= o.length) o = void 0;
|
||
return {
|
||
value: o && o[i++],
|
||
done: !o
|
||
};
|
||
}
|
||
};
|
||
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
||
}
|
||
function __read(o, n) {
|
||
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
||
if (!m) return o;
|
||
var i = m.call(o),
|
||
r,
|
||
ar = [],
|
||
e;
|
||
try {
|
||
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
||
} catch (error) {
|
||
e = {
|
||
error: error
|
||
};
|
||
} finally {
|
||
try {
|
||
if (r && !r.done && (m = i["return"])) m.call(i);
|
||
} finally {
|
||
if (e) throw e.error;
|
||
}
|
||
}
|
||
return ar;
|
||
}
|
||
|
||
/** @deprecated */
|
||
function __spread() {
|
||
for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));
|
||
return ar;
|
||
}
|
||
|
||
/** @deprecated */
|
||
function __spreadArrays() {
|
||
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
|
||
for (var r = Array(s), k = 0, i = 0; i < il; i++) for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) r[k] = a[j];
|
||
return r;
|
||
}
|
||
function __spreadArray(to, from, pack) {
|
||
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
||
if (ar || !(i in from)) {
|
||
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
||
ar[i] = from[i];
|
||
}
|
||
}
|
||
return to.concat(ar || Array.prototype.slice.call(from));
|
||
}
|
||
function __await(v) {
|
||
return this instanceof __await ? (this.v = v, this) : new __await(v);
|
||
}
|
||
function __asyncGenerator(thisArg, _arguments, generator) {
|
||
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
||
var g = generator.apply(thisArg, _arguments || []),
|
||
i,
|
||
q = [];
|
||
return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () {
|
||
return this;
|
||
}, i;
|
||
function verb(n) {
|
||
if (g[n]) i[n] = function (v) {
|
||
return new Promise(function (a, b) {
|
||
q.push([n, v, a, b]) > 1 || resume(n, v);
|
||
});
|
||
};
|
||
}
|
||
function resume(n, v) {
|
||
try {
|
||
step(g[n](v));
|
||
} catch (e) {
|
||
settle(q[0][3], e);
|
||
}
|
||
}
|
||
function step(r) {
|
||
r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);
|
||
}
|
||
function fulfill(value) {
|
||
resume("next", value);
|
||
}
|
||
function reject(value) {
|
||
resume("throw", value);
|
||
}
|
||
function settle(f, v) {
|
||
if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);
|
||
}
|
||
}
|
||
function __asyncDelegator(o) {
|
||
var i, p;
|
||
return i = {}, verb("next"), verb("throw", function (e) {
|
||
throw e;
|
||
}), verb("return"), i[Symbol.iterator] = function () {
|
||
return this;
|
||
}, i;
|
||
function verb(n, f) {
|
||
i[n] = o[n] ? function (v) {
|
||
return (p = !p) ? {
|
||
value: __await(o[n](v)),
|
||
done: false
|
||
} : f ? f(v) : v;
|
||
} : f;
|
||
}
|
||
}
|
||
function __asyncValues(o) {
|
||
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
||
var m = o[Symbol.asyncIterator],
|
||
i;
|
||
return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () {
|
||
return this;
|
||
}, i);
|
||
function verb(n) {
|
||
i[n] = o[n] && function (v) {
|
||
return new Promise(function (resolve, reject) {
|
||
v = o[n](v), settle(resolve, reject, v.done, v.value);
|
||
});
|
||
};
|
||
}
|
||
function settle(resolve, reject, d, v) {
|
||
Promise.resolve(v).then(function (v) {
|
||
resolve({
|
||
value: v,
|
||
done: d
|
||
});
|
||
}, reject);
|
||
}
|
||
}
|
||
function __makeTemplateObject(cooked, raw) {
|
||
if (Object.defineProperty) {
|
||
Object.defineProperty(cooked, "raw", {
|
||
value: raw
|
||
});
|
||
} else {
|
||
cooked.raw = raw;
|
||
}
|
||
return cooked;
|
||
}
|
||
;
|
||
var __setModuleDefault = Object.create ? function (o, v) {
|
||
Object.defineProperty(o, "default", {
|
||
enumerable: true,
|
||
value: v
|
||
});
|
||
} : function (o, v) {
|
||
o["default"] = v;
|
||
};
|
||
function __importStar(mod) {
|
||
if (mod && mod.__esModule) return mod;
|
||
var result = {};
|
||
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
||
__setModuleDefault(result, mod);
|
||
return result;
|
||
}
|
||
function __importDefault(mod) {
|
||
return mod && mod.__esModule ? mod : {
|
||
default: mod
|
||
};
|
||
}
|
||
function __classPrivateFieldGet(receiver, state, kind, f) {
|
||
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
||
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
||
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
||
}
|
||
function __classPrivateFieldSet(receiver, state, value, kind, f) {
|
||
if (kind === "m") throw new TypeError("Private method is not writable");
|
||
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
||
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
||
return kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;
|
||
}
|
||
function __classPrivateFieldIn(state, receiver) {
|
||
if (receiver === null || typeof receiver !== "object" && typeof receiver !== "function") throw new TypeError("Cannot use 'in' operator on non-object");
|
||
return typeof state === "function" ? receiver === state : state.has(receiver);
|
||
}
|
||
;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/util/isArrayLike.js
|
||
var isArrayLike = function (x) {
|
||
return x && typeof x.length === 'number' && typeof x !== 'function';
|
||
};
|
||
;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/util/isPromise.js
|
||
|
||
function isPromise(value) {
|
||
return isFunction_isFunction(value === null || value === void 0 ? void 0 : value.then);
|
||
}
|
||
;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js
|
||
function createErrorClass(createImpl) {
|
||
var _super = function (instance) {
|
||
Error.call(instance);
|
||
instance.stack = new Error().stack;
|
||
};
|
||
var ctorFunc = createImpl(_super);
|
||
ctorFunc.prototype = Object.create(Error.prototype);
|
||
ctorFunc.prototype.constructor = ctorFunc;
|
||
return ctorFunc;
|
||
}
|
||
;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js
|
||
|
||
var UnsubscriptionError = createErrorClass(function (_super) {
|
||
return function UnsubscriptionErrorImpl(errors) {
|
||
_super(this);
|
||
this.message = errors ? errors.length + " errors occurred during unsubscription:\n" + errors.map(function (err, i) {
|
||
return i + 1 + ") " + err.toString();
|
||
}).join('\n ') : '';
|
||
this.name = 'UnsubscriptionError';
|
||
this.errors = errors;
|
||
};
|
||
});
|
||
;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/util/arrRemove.js
|
||
function arrRemove(arr, item) {
|
||
if (arr) {
|
||
var index = arr.indexOf(item);
|
||
0 <= index && arr.splice(index, 1);
|
||
}
|
||
}
|
||
;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/Subscription.js
|
||
|
||
|
||
|
||
|
||
var Subscription = function () {
|
||
function Subscription(initialTeardown) {
|
||
this.initialTeardown = initialTeardown;
|
||
this.closed = false;
|
||
this._parentage = null;
|
||
this._finalizers = null;
|
||
}
|
||
Subscription.prototype.unsubscribe = function () {
|
||
var e_1, _a, e_2, _b;
|
||
var errors;
|
||
if (!this.closed) {
|
||
this.closed = true;
|
||
var _parentage = this._parentage;
|
||
if (_parentage) {
|
||
this._parentage = null;
|
||
if (Array.isArray(_parentage)) {
|
||
try {
|
||
for (var _parentage_1 = __values(_parentage), _parentage_1_1 = _parentage_1.next(); !_parentage_1_1.done; _parentage_1_1 = _parentage_1.next()) {
|
||
var parent_1 = _parentage_1_1.value;
|
||
parent_1.remove(this);
|
||
}
|
||
} catch (e_1_1) {
|
||
e_1 = {
|
||
error: e_1_1
|
||
};
|
||
} finally {
|
||
try {
|
||
if (_parentage_1_1 && !_parentage_1_1.done && (_a = _parentage_1.return)) _a.call(_parentage_1);
|
||
} finally {
|
||
if (e_1) throw e_1.error;
|
||
}
|
||
}
|
||
} else {
|
||
_parentage.remove(this);
|
||
}
|
||
}
|
||
var initialFinalizer = this.initialTeardown;
|
||
if (isFunction_isFunction(initialFinalizer)) {
|
||
try {
|
||
initialFinalizer();
|
||
} catch (e) {
|
||
errors = e instanceof UnsubscriptionError ? e.errors : [e];
|
||
}
|
||
}
|
||
var _finalizers = this._finalizers;
|
||
if (_finalizers) {
|
||
this._finalizers = null;
|
||
try {
|
||
for (var _finalizers_1 = __values(_finalizers), _finalizers_1_1 = _finalizers_1.next(); !_finalizers_1_1.done; _finalizers_1_1 = _finalizers_1.next()) {
|
||
var finalizer = _finalizers_1_1.value;
|
||
try {
|
||
execFinalizer(finalizer);
|
||
} catch (err) {
|
||
errors = errors !== null && errors !== void 0 ? errors : [];
|
||
if (err instanceof UnsubscriptionError) {
|
||
errors = __spreadArray(__spreadArray([], __read(errors)), __read(err.errors));
|
||
} else {
|
||
errors.push(err);
|
||
}
|
||
}
|
||
}
|
||
} catch (e_2_1) {
|
||
e_2 = {
|
||
error: e_2_1
|
||
};
|
||
} finally {
|
||
try {
|
||
if (_finalizers_1_1 && !_finalizers_1_1.done && (_b = _finalizers_1.return)) _b.call(_finalizers_1);
|
||
} finally {
|
||
if (e_2) throw e_2.error;
|
||
}
|
||
}
|
||
}
|
||
if (errors) {
|
||
throw new UnsubscriptionError(errors);
|
||
}
|
||
}
|
||
};
|
||
Subscription.prototype.add = function (teardown) {
|
||
var _a;
|
||
if (teardown && teardown !== this) {
|
||
if (this.closed) {
|
||
execFinalizer(teardown);
|
||
} else {
|
||
if (teardown instanceof Subscription) {
|
||
if (teardown.closed || teardown._hasParent(this)) {
|
||
return;
|
||
}
|
||
teardown._addParent(this);
|
||
}
|
||
(this._finalizers = (_a = this._finalizers) !== null && _a !== void 0 ? _a : []).push(teardown);
|
||
}
|
||
}
|
||
};
|
||
Subscription.prototype._hasParent = function (parent) {
|
||
var _parentage = this._parentage;
|
||
return _parentage === parent || Array.isArray(_parentage) && _parentage.includes(parent);
|
||
};
|
||
Subscription.prototype._addParent = function (parent) {
|
||
var _parentage = this._parentage;
|
||
this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;
|
||
};
|
||
Subscription.prototype._removeParent = function (parent) {
|
||
var _parentage = this._parentage;
|
||
if (_parentage === parent) {
|
||
this._parentage = null;
|
||
} else if (Array.isArray(_parentage)) {
|
||
arrRemove(_parentage, parent);
|
||
}
|
||
};
|
||
Subscription.prototype.remove = function (teardown) {
|
||
var _finalizers = this._finalizers;
|
||
_finalizers && arrRemove(_finalizers, teardown);
|
||
if (teardown instanceof Subscription) {
|
||
teardown._removeParent(this);
|
||
}
|
||
};
|
||
Subscription.EMPTY = function () {
|
||
var empty = new Subscription();
|
||
empty.closed = true;
|
||
return empty;
|
||
}();
|
||
return Subscription;
|
||
}();
|
||
|
||
var EMPTY_SUBSCRIPTION = Subscription.EMPTY;
|
||
function isSubscription(value) {
|
||
return value instanceof Subscription || value && 'closed' in value && isFunction_isFunction(value.remove) && isFunction_isFunction(value.add) && isFunction_isFunction(value.unsubscribe);
|
||
}
|
||
function execFinalizer(finalizer) {
|
||
if (isFunction_isFunction(finalizer)) {
|
||
finalizer();
|
||
} else {
|
||
finalizer.unsubscribe();
|
||
}
|
||
}
|
||
;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/config.js
|
||
var config = {
|
||
onUnhandledError: null,
|
||
onStoppedNotification: null,
|
||
Promise: undefined,
|
||
useDeprecatedSynchronousErrorHandling: false,
|
||
useDeprecatedNextContext: false
|
||
};
|
||
;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js
|
||
|
||
var timeoutProvider = {
|
||
setTimeout: function (handler, timeout) {
|
||
var args = [];
|
||
for (var _i = 2; _i < arguments.length; _i++) {
|
||
args[_i - 2] = arguments[_i];
|
||
}
|
||
var delegate = timeoutProvider.delegate;
|
||
if (delegate === null || delegate === void 0 ? void 0 : delegate.setTimeout) {
|
||
return delegate.setTimeout.apply(delegate, __spreadArray([handler, timeout], __read(args)));
|
||
}
|
||
return setTimeout.apply(void 0, __spreadArray([handler, timeout], __read(args)));
|
||
},
|
||
clearTimeout: function (handle) {
|
||
var delegate = timeoutProvider.delegate;
|
||
return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearTimeout) || clearTimeout)(handle);
|
||
},
|
||
delegate: undefined
|
||
};
|
||
;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js
|
||
|
||
|
||
function reportUnhandledError(err) {
|
||
timeoutProvider.setTimeout(function () {
|
||
var onUnhandledError = config.onUnhandledError;
|
||
if (onUnhandledError) {
|
||
onUnhandledError(err);
|
||
} else {
|
||
throw err;
|
||
}
|
||
});
|
||
}
|
||
;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/util/noop.js
|
||
function noop() {}
|
||
;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/NotificationFactories.js
|
||
var COMPLETE_NOTIFICATION = function () {
|
||
return createNotification('C', undefined, undefined);
|
||
}();
|
||
function errorNotification(error) {
|
||
return createNotification('E', undefined, error);
|
||
}
|
||
function nextNotification(value) {
|
||
return createNotification('N', value, undefined);
|
||
}
|
||
function createNotification(kind, value, error) {
|
||
return {
|
||
kind: kind,
|
||
value: value,
|
||
error: error
|
||
};
|
||
}
|
||
;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/util/errorContext.js
|
||
|
||
var context = null;
|
||
function errorContext(cb) {
|
||
if (config.useDeprecatedSynchronousErrorHandling) {
|
||
var isRoot = !context;
|
||
if (isRoot) {
|
||
context = {
|
||
errorThrown: false,
|
||
error: null
|
||
};
|
||
}
|
||
cb();
|
||
if (isRoot) {
|
||
var _a = context,
|
||
errorThrown = _a.errorThrown,
|
||
error = _a.error;
|
||
context = null;
|
||
if (errorThrown) {
|
||
throw error;
|
||
}
|
||
}
|
||
} else {
|
||
cb();
|
||
}
|
||
}
|
||
function captureError(err) {
|
||
if (config.useDeprecatedSynchronousErrorHandling && context) {
|
||
context.errorThrown = true;
|
||
context.error = err;
|
||
}
|
||
}
|
||
;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/Subscriber.js
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
var Subscriber = function (_super) {
|
||
__extends(Subscriber, _super);
|
||
function Subscriber(destination) {
|
||
var _this = _super.call(this) || this;
|
||
_this.isStopped = false;
|
||
if (destination) {
|
||
_this.destination = destination;
|
||
if (isSubscription(destination)) {
|
||
destination.add(_this);
|
||
}
|
||
} else {
|
||
_this.destination = EMPTY_OBSERVER;
|
||
}
|
||
return _this;
|
||
}
|
||
Subscriber.create = function (next, error, complete) {
|
||
return new SafeSubscriber(next, error, complete);
|
||
};
|
||
Subscriber.prototype.next = function (value) {
|
||
if (this.isStopped) {
|
||
handleStoppedNotification(nextNotification(value), this);
|
||
} else {
|
||
this._next(value);
|
||
}
|
||
};
|
||
Subscriber.prototype.error = function (err) {
|
||
if (this.isStopped) {
|
||
handleStoppedNotification(errorNotification(err), this);
|
||
} else {
|
||
this.isStopped = true;
|
||
this._error(err);
|
||
}
|
||
};
|
||
Subscriber.prototype.complete = function () {
|
||
if (this.isStopped) {
|
||
handleStoppedNotification(COMPLETE_NOTIFICATION, this);
|
||
} else {
|
||
this.isStopped = true;
|
||
this._complete();
|
||
}
|
||
};
|
||
Subscriber.prototype.unsubscribe = function () {
|
||
if (!this.closed) {
|
||
this.isStopped = true;
|
||
_super.prototype.unsubscribe.call(this);
|
||
this.destination = null;
|
||
}
|
||
};
|
||
Subscriber.prototype._next = function (value) {
|
||
this.destination.next(value);
|
||
};
|
||
Subscriber.prototype._error = function (err) {
|
||
try {
|
||
this.destination.error(err);
|
||
} finally {
|
||
this.unsubscribe();
|
||
}
|
||
};
|
||
Subscriber.prototype._complete = function () {
|
||
try {
|
||
this.destination.complete();
|
||
} finally {
|
||
this.unsubscribe();
|
||
}
|
||
};
|
||
return Subscriber;
|
||
}(Subscription);
|
||
|
||
var _bind = Function.prototype.bind;
|
||
function bind(fn, thisArg) {
|
||
return _bind.call(fn, thisArg);
|
||
}
|
||
var ConsumerObserver = function () {
|
||
function ConsumerObserver(partialObserver) {
|
||
this.partialObserver = partialObserver;
|
||
}
|
||
ConsumerObserver.prototype.next = function (value) {
|
||
var partialObserver = this.partialObserver;
|
||
if (partialObserver.next) {
|
||
try {
|
||
partialObserver.next(value);
|
||
} catch (error) {
|
||
handleUnhandledError(error);
|
||
}
|
||
}
|
||
};
|
||
ConsumerObserver.prototype.error = function (err) {
|
||
var partialObserver = this.partialObserver;
|
||
if (partialObserver.error) {
|
||
try {
|
||
partialObserver.error(err);
|
||
} catch (error) {
|
||
handleUnhandledError(error);
|
||
}
|
||
} else {
|
||
handleUnhandledError(err);
|
||
}
|
||
};
|
||
ConsumerObserver.prototype.complete = function () {
|
||
var partialObserver = this.partialObserver;
|
||
if (partialObserver.complete) {
|
||
try {
|
||
partialObserver.complete();
|
||
} catch (error) {
|
||
handleUnhandledError(error);
|
||
}
|
||
}
|
||
};
|
||
return ConsumerObserver;
|
||
}();
|
||
var SafeSubscriber = function (_super) {
|
||
__extends(SafeSubscriber, _super);
|
||
function SafeSubscriber(observerOrNext, error, complete) {
|
||
var _this = _super.call(this) || this;
|
||
var partialObserver;
|
||
if (isFunction_isFunction(observerOrNext) || !observerOrNext) {
|
||
partialObserver = {
|
||
next: observerOrNext !== null && observerOrNext !== void 0 ? observerOrNext : undefined,
|
||
error: error !== null && error !== void 0 ? error : undefined,
|
||
complete: complete !== null && complete !== void 0 ? complete : undefined
|
||
};
|
||
} else {
|
||
var context_1;
|
||
if (_this && config.useDeprecatedNextContext) {
|
||
context_1 = Object.create(observerOrNext);
|
||
context_1.unsubscribe = function () {
|
||
return _this.unsubscribe();
|
||
};
|
||
partialObserver = {
|
||
next: observerOrNext.next && bind(observerOrNext.next, context_1),
|
||
error: observerOrNext.error && bind(observerOrNext.error, context_1),
|
||
complete: observerOrNext.complete && bind(observerOrNext.complete, context_1)
|
||
};
|
||
} else {
|
||
partialObserver = observerOrNext;
|
||
}
|
||
}
|
||
_this.destination = new ConsumerObserver(partialObserver);
|
||
return _this;
|
||
}
|
||
return SafeSubscriber;
|
||
}(Subscriber);
|
||
|
||
function handleUnhandledError(error) {
|
||
if (config.useDeprecatedSynchronousErrorHandling) {
|
||
captureError(error);
|
||
} else {
|
||
reportUnhandledError(error);
|
||
}
|
||
}
|
||
function defaultErrorHandler(err) {
|
||
throw err;
|
||
}
|
||
function handleStoppedNotification(notification, subscriber) {
|
||
var onStoppedNotification = config.onStoppedNotification;
|
||
onStoppedNotification && timeoutProvider.setTimeout(function () {
|
||
return onStoppedNotification(notification, subscriber);
|
||
});
|
||
}
|
||
var EMPTY_OBSERVER = {
|
||
closed: true,
|
||
next: noop,
|
||
error: defaultErrorHandler,
|
||
complete: noop
|
||
};
|
||
;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/symbol/observable.js
|
||
var observable = function () {
|
||
return typeof Symbol === 'function' && Symbol.observable || '@@observable';
|
||
}();
|
||
;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/util/identity.js
|
||
function identity(x) {
|
||
return x;
|
||
}
|
||
;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/util/pipe.js
|
||
|
||
function pipe() {
|
||
var fns = [];
|
||
for (var _i = 0; _i < arguments.length; _i++) {
|
||
fns[_i] = arguments[_i];
|
||
}
|
||
return pipeFromArray(fns);
|
||
}
|
||
function pipeFromArray(fns) {
|
||
if (fns.length === 0) {
|
||
return identity;
|
||
}
|
||
if (fns.length === 1) {
|
||
return fns[0];
|
||
}
|
||
return function piped(input) {
|
||
return fns.reduce(function (prev, fn) {
|
||
return fn(prev);
|
||
}, input);
|
||
};
|
||
}
|
||
;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/Observable.js
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
var Observable = function () {
|
||
function Observable(subscribe) {
|
||
if (subscribe) {
|
||
this._subscribe = subscribe;
|
||
}
|
||
}
|
||
Observable.prototype.lift = function (operator) {
|
||
var observable = new Observable();
|
||
observable.source = this;
|
||
observable.operator = operator;
|
||
return observable;
|
||
};
|
||
Observable.prototype.subscribe = function (observerOrNext, error, complete) {
|
||
var _this = this;
|
||
var subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);
|
||
errorContext(function () {
|
||
var _a = _this,
|
||
operator = _a.operator,
|
||
source = _a.source;
|
||
subscriber.add(operator ? operator.call(subscriber, source) : source ? _this._subscribe(subscriber) : _this._trySubscribe(subscriber));
|
||
});
|
||
return subscriber;
|
||
};
|
||
Observable.prototype._trySubscribe = function (sink) {
|
||
try {
|
||
return this._subscribe(sink);
|
||
} catch (err) {
|
||
sink.error(err);
|
||
}
|
||
};
|
||
Observable.prototype.forEach = function (next, promiseCtor) {
|
||
var _this = this;
|
||
promiseCtor = getPromiseCtor(promiseCtor);
|
||
return new promiseCtor(function (resolve, reject) {
|
||
var subscriber = new SafeSubscriber({
|
||
next: function (value) {
|
||
try {
|
||
next(value);
|
||
} catch (err) {
|
||
reject(err);
|
||
subscriber.unsubscribe();
|
||
}
|
||
},
|
||
error: reject,
|
||
complete: resolve
|
||
});
|
||
_this.subscribe(subscriber);
|
||
});
|
||
};
|
||
Observable.prototype._subscribe = function (subscriber) {
|
||
var _a;
|
||
return (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber);
|
||
};
|
||
Observable.prototype[observable] = function () {
|
||
return this;
|
||
};
|
||
Observable.prototype.pipe = function () {
|
||
var operations = [];
|
||
for (var _i = 0; _i < arguments.length; _i++) {
|
||
operations[_i] = arguments[_i];
|
||
}
|
||
return pipeFromArray(operations)(this);
|
||
};
|
||
Observable.prototype.toPromise = function (promiseCtor) {
|
||
var _this = this;
|
||
promiseCtor = getPromiseCtor(promiseCtor);
|
||
return new promiseCtor(function (resolve, reject) {
|
||
var value;
|
||
_this.subscribe(function (x) {
|
||
return value = x;
|
||
}, function (err) {
|
||
return reject(err);
|
||
}, function () {
|
||
return resolve(value);
|
||
});
|
||
});
|
||
};
|
||
Observable.create = function (subscribe) {
|
||
return new Observable(subscribe);
|
||
};
|
||
return Observable;
|
||
}();
|
||
|
||
function getPromiseCtor(promiseCtor) {
|
||
var _a;
|
||
return (_a = promiseCtor !== null && promiseCtor !== void 0 ? promiseCtor : config.Promise) !== null && _a !== void 0 ? _a : Promise;
|
||
}
|
||
function isObserver(value) {
|
||
return value && isFunction_isFunction(value.next) && isFunction_isFunction(value.error) && isFunction_isFunction(value.complete);
|
||
}
|
||
function isSubscriber(value) {
|
||
return value && value instanceof Subscriber || isObserver(value) && isSubscription(value);
|
||
}
|
||
;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/util/isInteropObservable.js
|
||
|
||
|
||
function isInteropObservable(input) {
|
||
return isFunction_isFunction(input[observable]);
|
||
}
|
||
;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/util/isAsyncIterable.js
|
||
|
||
function isAsyncIterable(obj) {
|
||
return Symbol.asyncIterator && isFunction_isFunction(obj === null || obj === void 0 ? void 0 : obj[Symbol.asyncIterator]);
|
||
}
|
||
;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/util/throwUnobservableError.js
|
||
function createInvalidObservableTypeError(input) {
|
||
return new TypeError("You provided " + (input !== null && typeof input === 'object' ? 'an invalid object' : "'" + input + "'") + " where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.");
|
||
}
|
||
;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/symbol/iterator.js
|
||
function getSymbolIterator() {
|
||
if (typeof Symbol !== 'function' || !Symbol.iterator) {
|
||
return '@@iterator';
|
||
}
|
||
return Symbol.iterator;
|
||
}
|
||
var iterator_iterator = getSymbolIterator();
|
||
;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/util/isIterable.js
|
||
|
||
|
||
function isIterable(input) {
|
||
return isFunction_isFunction(input === null || input === void 0 ? void 0 : input[iterator_iterator]);
|
||
}
|
||
;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/util/isReadableStreamLike.js
|
||
|
||
|
||
function readableStreamLikeToAsyncGenerator(readableStream) {
|
||
return __asyncGenerator(this, arguments, function readableStreamLikeToAsyncGenerator_1() {
|
||
var reader, _a, value, done;
|
||
return __generator(this, function (_b) {
|
||
switch (_b.label) {
|
||
case 0:
|
||
reader = readableStream.getReader();
|
||
_b.label = 1;
|
||
case 1:
|
||
_b.trys.push([1,, 9, 10]);
|
||
_b.label = 2;
|
||
case 2:
|
||
if (false) {}
|
||
return [4, __await(reader.read())];
|
||
case 3:
|
||
_a = _b.sent(), value = _a.value, done = _a.done;
|
||
if (!done) return [3, 5];
|
||
return [4, __await(void 0)];
|
||
case 4:
|
||
return [2, _b.sent()];
|
||
case 5:
|
||
return [4, __await(value)];
|
||
case 6:
|
||
return [4, _b.sent()];
|
||
case 7:
|
||
_b.sent();
|
||
return [3, 2];
|
||
case 8:
|
||
return [3, 10];
|
||
case 9:
|
||
reader.releaseLock();
|
||
return [7];
|
||
case 10:
|
||
return [2];
|
||
}
|
||
});
|
||
});
|
||
}
|
||
function isReadableStreamLike(obj) {
|
||
return isFunction_isFunction(obj === null || obj === void 0 ? void 0 : obj.getReader);
|
||
}
|
||
;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/observable/innerFrom.js
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
function innerFrom(input) {
|
||
if (input instanceof Observable) {
|
||
return input;
|
||
}
|
||
if (input != null) {
|
||
if (isInteropObservable(input)) {
|
||
return fromInteropObservable(input);
|
||
}
|
||
if (isArrayLike(input)) {
|
||
return fromArrayLike(input);
|
||
}
|
||
if (isPromise(input)) {
|
||
return fromPromise(input);
|
||
}
|
||
if (isAsyncIterable(input)) {
|
||
return fromAsyncIterable(input);
|
||
}
|
||
if (isIterable(input)) {
|
||
return fromIterable(input);
|
||
}
|
||
if (isReadableStreamLike(input)) {
|
||
return fromReadableStreamLike(input);
|
||
}
|
||
}
|
||
throw createInvalidObservableTypeError(input);
|
||
}
|
||
function fromInteropObservable(obj) {
|
||
return new Observable(function (subscriber) {
|
||
var obs = obj[observable]();
|
||
if (isFunction_isFunction(obs.subscribe)) {
|
||
return obs.subscribe(subscriber);
|
||
}
|
||
throw new TypeError('Provided object does not correctly implement Symbol.observable');
|
||
});
|
||
}
|
||
function fromArrayLike(array) {
|
||
return new Observable(function (subscriber) {
|
||
for (var i = 0; i < array.length && !subscriber.closed; i++) {
|
||
subscriber.next(array[i]);
|
||
}
|
||
subscriber.complete();
|
||
});
|
||
}
|
||
function fromPromise(promise) {
|
||
return new Observable(function (subscriber) {
|
||
promise.then(function (value) {
|
||
if (!subscriber.closed) {
|
||
subscriber.next(value);
|
||
subscriber.complete();
|
||
}
|
||
}, function (err) {
|
||
return subscriber.error(err);
|
||
}).then(null, reportUnhandledError);
|
||
});
|
||
}
|
||
function fromIterable(iterable) {
|
||
return new Observable(function (subscriber) {
|
||
var e_1, _a;
|
||
try {
|
||
for (var iterable_1 = __values(iterable), iterable_1_1 = iterable_1.next(); !iterable_1_1.done; iterable_1_1 = iterable_1.next()) {
|
||
var value = iterable_1_1.value;
|
||
subscriber.next(value);
|
||
if (subscriber.closed) {
|
||
return;
|
||
}
|
||
}
|
||
} catch (e_1_1) {
|
||
e_1 = {
|
||
error: e_1_1
|
||
};
|
||
} finally {
|
||
try {
|
||
if (iterable_1_1 && !iterable_1_1.done && (_a = iterable_1.return)) _a.call(iterable_1);
|
||
} finally {
|
||
if (e_1) throw e_1.error;
|
||
}
|
||
}
|
||
subscriber.complete();
|
||
});
|
||
}
|
||
function fromAsyncIterable(asyncIterable) {
|
||
return new Observable(function (subscriber) {
|
||
process(asyncIterable, subscriber).catch(function (err) {
|
||
return subscriber.error(err);
|
||
});
|
||
});
|
||
}
|
||
function fromReadableStreamLike(readableStream) {
|
||
return fromAsyncIterable(readableStreamLikeToAsyncGenerator(readableStream));
|
||
}
|
||
function process(asyncIterable, subscriber) {
|
||
var asyncIterable_1, asyncIterable_1_1;
|
||
var e_2, _a;
|
||
return __awaiter(this, void 0, void 0, function () {
|
||
var value, e_2_1;
|
||
return __generator(this, function (_b) {
|
||
switch (_b.label) {
|
||
case 0:
|
||
_b.trys.push([0, 5, 6, 11]);
|
||
asyncIterable_1 = __asyncValues(asyncIterable);
|
||
_b.label = 1;
|
||
case 1:
|
||
return [4, asyncIterable_1.next()];
|
||
case 2:
|
||
if (!(asyncIterable_1_1 = _b.sent(), !asyncIterable_1_1.done)) return [3, 4];
|
||
value = asyncIterable_1_1.value;
|
||
subscriber.next(value);
|
||
if (subscriber.closed) {
|
||
return [2];
|
||
}
|
||
_b.label = 3;
|
||
case 3:
|
||
return [3, 1];
|
||
case 4:
|
||
return [3, 11];
|
||
case 5:
|
||
e_2_1 = _b.sent();
|
||
e_2 = {
|
||
error: e_2_1
|
||
};
|
||
return [3, 11];
|
||
case 6:
|
||
_b.trys.push([6,, 9, 10]);
|
||
if (!(asyncIterable_1_1 && !asyncIterable_1_1.done && (_a = asyncIterable_1.return))) return [3, 8];
|
||
return [4, _a.call(asyncIterable_1)];
|
||
case 7:
|
||
_b.sent();
|
||
_b.label = 8;
|
||
case 8:
|
||
return [3, 10];
|
||
case 9:
|
||
if (e_2) throw e_2.error;
|
||
return [7];
|
||
case 10:
|
||
return [7];
|
||
case 11:
|
||
subscriber.complete();
|
||
return [2];
|
||
}
|
||
});
|
||
});
|
||
}
|
||
;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/util/executeSchedule.js
|
||
function executeSchedule(parentSubscription, scheduler, work, delay, repeat) {
|
||
if (delay === void 0) {
|
||
delay = 0;
|
||
}
|
||
if (repeat === void 0) {
|
||
repeat = false;
|
||
}
|
||
var scheduleSubscription = scheduler.schedule(function () {
|
||
work();
|
||
if (repeat) {
|
||
parentSubscription.add(this.schedule(null, delay));
|
||
} else {
|
||
this.unsubscribe();
|
||
}
|
||
}, delay);
|
||
parentSubscription.add(scheduleSubscription);
|
||
if (!repeat) {
|
||
return scheduleSubscription;
|
||
}
|
||
}
|
||
;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/util/lift.js
|
||
|
||
function hasLift(source) {
|
||
return isFunction_isFunction(source === null || source === void 0 ? void 0 : source.lift);
|
||
}
|
||
function operate(init) {
|
||
return function (source) {
|
||
if (hasLift(source)) {
|
||
return source.lift(function (liftedSource) {
|
||
try {
|
||
return init(liftedSource, this);
|
||
} catch (err) {
|
||
this.error(err);
|
||
}
|
||
});
|
||
}
|
||
throw new TypeError('Unable to lift unknown Observable type');
|
||
};
|
||
}
|
||
;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js
|
||
|
||
|
||
function createOperatorSubscriber(destination, onNext, onComplete, onError, onFinalize) {
|
||
return new OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize);
|
||
}
|
||
var OperatorSubscriber = function (_super) {
|
||
__extends(OperatorSubscriber, _super);
|
||
function OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize, shouldUnsubscribe) {
|
||
var _this = _super.call(this, destination) || this;
|
||
_this.onFinalize = onFinalize;
|
||
_this.shouldUnsubscribe = shouldUnsubscribe;
|
||
_this._next = onNext ? function (value) {
|
||
try {
|
||
onNext(value);
|
||
} catch (err) {
|
||
destination.error(err);
|
||
}
|
||
} : _super.prototype._next;
|
||
_this._error = onError ? function (err) {
|
||
try {
|
||
onError(err);
|
||
} catch (err) {
|
||
destination.error(err);
|
||
} finally {
|
||
this.unsubscribe();
|
||
}
|
||
} : _super.prototype._error;
|
||
_this._complete = onComplete ? function () {
|
||
try {
|
||
onComplete();
|
||
} catch (err) {
|
||
destination.error(err);
|
||
} finally {
|
||
this.unsubscribe();
|
||
}
|
||
} : _super.prototype._complete;
|
||
return _this;
|
||
}
|
||
OperatorSubscriber.prototype.unsubscribe = function () {
|
||
var _a;
|
||
if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {
|
||
var closed_1 = this.closed;
|
||
_super.prototype.unsubscribe.call(this);
|
||
!closed_1 && ((_a = this.onFinalize) === null || _a === void 0 ? void 0 : _a.call(this));
|
||
}
|
||
};
|
||
return OperatorSubscriber;
|
||
}(Subscriber);
|
||
|
||
;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/operators/observeOn.js
|
||
|
||
|
||
|
||
function observeOn(scheduler, delay) {
|
||
if (delay === void 0) {
|
||
delay = 0;
|
||
}
|
||
return operate(function (source, subscriber) {
|
||
source.subscribe(createOperatorSubscriber(subscriber, function (value) {
|
||
return executeSchedule(subscriber, scheduler, function () {
|
||
return subscriber.next(value);
|
||
}, delay);
|
||
}, function () {
|
||
return executeSchedule(subscriber, scheduler, function () {
|
||
return subscriber.complete();
|
||
}, delay);
|
||
}, function (err) {
|
||
return executeSchedule(subscriber, scheduler, function () {
|
||
return subscriber.error(err);
|
||
}, delay);
|
||
}));
|
||
});
|
||
}
|
||
;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/operators/subscribeOn.js
|
||
|
||
function subscribeOn(scheduler, delay) {
|
||
if (delay === void 0) {
|
||
delay = 0;
|
||
}
|
||
return operate(function (source, subscriber) {
|
||
subscriber.add(scheduler.schedule(function () {
|
||
return source.subscribe(subscriber);
|
||
}, delay));
|
||
});
|
||
}
|
||
;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/scheduled/scheduleObservable.js
|
||
|
||
|
||
|
||
function scheduleObservable(input, scheduler) {
|
||
return innerFrom(input).pipe(subscribeOn(scheduler), observeOn(scheduler));
|
||
}
|
||
;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/scheduled/schedulePromise.js
|
||
|
||
|
||
|
||
function schedulePromise(input, scheduler) {
|
||
return innerFrom(input).pipe(subscribeOn(scheduler), observeOn(scheduler));
|
||
}
|
||
;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/scheduled/scheduleArray.js
|
||
|
||
function scheduleArray(input, scheduler) {
|
||
return new Observable(function (subscriber) {
|
||
var i = 0;
|
||
return scheduler.schedule(function () {
|
||
if (i === input.length) {
|
||
subscriber.complete();
|
||
} else {
|
||
subscriber.next(input[i++]);
|
||
if (!subscriber.closed) {
|
||
this.schedule();
|
||
}
|
||
}
|
||
});
|
||
});
|
||
}
|
||
;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/scheduled/scheduleIterable.js
|
||
|
||
|
||
|
||
|
||
function scheduleIterable(input, scheduler) {
|
||
return new Observable(function (subscriber) {
|
||
var iterator;
|
||
executeSchedule(subscriber, scheduler, function () {
|
||
iterator = input[iterator_iterator]();
|
||
executeSchedule(subscriber, scheduler, function () {
|
||
var _a;
|
||
var value;
|
||
var done;
|
||
try {
|
||
_a = iterator.next(), value = _a.value, done = _a.done;
|
||
} catch (err) {
|
||
subscriber.error(err);
|
||
return;
|
||
}
|
||
if (done) {
|
||
subscriber.complete();
|
||
} else {
|
||
subscriber.next(value);
|
||
}
|
||
}, 0, true);
|
||
});
|
||
return function () {
|
||
return isFunction_isFunction(iterator === null || iterator === void 0 ? void 0 : iterator.return) && iterator.return();
|
||
};
|
||
});
|
||
}
|
||
;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/scheduled/scheduleAsyncIterable.js
|
||
|
||
|
||
function scheduleAsyncIterable(input, scheduler) {
|
||
if (!input) {
|
||
throw new Error('Iterable cannot be null');
|
||
}
|
||
return new Observable(function (subscriber) {
|
||
executeSchedule(subscriber, scheduler, function () {
|
||
var iterator = input[Symbol.asyncIterator]();
|
||
executeSchedule(subscriber, scheduler, function () {
|
||
iterator.next().then(function (result) {
|
||
if (result.done) {
|
||
subscriber.complete();
|
||
} else {
|
||
subscriber.next(result.value);
|
||
}
|
||
});
|
||
}, 0, true);
|
||
});
|
||
});
|
||
}
|
||
;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/scheduled/scheduleReadableStreamLike.js
|
||
|
||
|
||
function scheduleReadableStreamLike(input, scheduler) {
|
||
return scheduleAsyncIterable(readableStreamLikeToAsyncGenerator(input), scheduler);
|
||
}
|
||
;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/scheduled/scheduled.js
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
function scheduled(input, scheduler) {
|
||
if (input != null) {
|
||
if (isInteropObservable(input)) {
|
||
return scheduleObservable(input, scheduler);
|
||
}
|
||
if (isArrayLike(input)) {
|
||
return scheduleArray(input, scheduler);
|
||
}
|
||
if (isPromise(input)) {
|
||
return schedulePromise(input, scheduler);
|
||
}
|
||
if (isAsyncIterable(input)) {
|
||
return scheduleAsyncIterable(input, scheduler);
|
||
}
|
||
if (isIterable(input)) {
|
||
return scheduleIterable(input, scheduler);
|
||
}
|
||
if (isReadableStreamLike(input)) {
|
||
return scheduleReadableStreamLike(input, scheduler);
|
||
}
|
||
}
|
||
throw createInvalidObservableTypeError(input);
|
||
}
|
||
;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/observable/from.js
|
||
|
||
|
||
function from(input, scheduler) {
|
||
return scheduler ? scheduled(input, scheduler) : innerFrom(input);
|
||
}
|
||
;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/observable/of.js
|
||
|
||
|
||
function of() {
|
||
var args = [];
|
||
for (var _i = 0; _i < arguments.length; _i++) {
|
||
args[_i] = arguments[_i];
|
||
}
|
||
var scheduler = popScheduler(args);
|
||
return from(args, scheduler);
|
||
}
|
||
;// CONCATENATED MODULE: ../../node_modules/rxjs/dist/esm5/internal/operators/switchMap.js
|
||
|
||
|
||
|
||
function switchMap(project, resultSelector) {
|
||
return operate(function (source, subscriber) {
|
||
var innerSubscriber = null;
|
||
var index = 0;
|
||
var isComplete = false;
|
||
var checkComplete = function () {
|
||
return isComplete && !innerSubscriber && subscriber.complete();
|
||
};
|
||
source.subscribe(createOperatorSubscriber(subscriber, function (value) {
|
||
innerSubscriber === null || innerSubscriber === void 0 ? void 0 : innerSubscriber.unsubscribe();
|
||
var innerIndex = 0;
|
||
var outerIndex = index++;
|
||
innerFrom(project(value, outerIndex)).subscribe(innerSubscriber = createOperatorSubscriber(subscriber, function (innerValue) {
|
||
return subscriber.next(resultSelector ? resultSelector(value, innerValue, outerIndex, innerIndex++) : innerValue);
|
||
}, function () {
|
||
innerSubscriber = null;
|
||
checkComplete();
|
||
}));
|
||
}, function () {
|
||
isComplete = true;
|
||
checkComplete();
|
||
}));
|
||
});
|
||
}
|
||
;// CONCATENATED MODULE: ../../node_modules/tldts-core/dist/es6/src/domain.js
|
||
/**
|
||
* Check if `vhost` is a valid suffix of `hostname` (top-domain)
|
||
*
|
||
* It means that `vhost` needs to be a suffix of `hostname` and we then need to
|
||
* make sure that: either they are equal, or the character preceding `vhost` in
|
||
* `hostname` is a '.' (it should not be a partial label).
|
||
*
|
||
* * hostname = 'not.evil.com' and vhost = 'vil.com' => not ok
|
||
* * hostname = 'not.evil.com' and vhost = 'evil.com' => ok
|
||
* * hostname = 'not.evil.com' and vhost = 'not.evil.com' => ok
|
||
*/
|
||
function shareSameDomainSuffix(hostname, vhost) {
|
||
if (hostname.endsWith(vhost)) {
|
||
return hostname.length === vhost.length || hostname[hostname.length - vhost.length - 1] === '.';
|
||
}
|
||
return false;
|
||
}
|
||
/**
|
||
* Given a hostname and its public suffix, extract the general domain.
|
||
*/
|
||
function extractDomainWithSuffix(hostname, publicSuffix) {
|
||
// Locate the index of the last '.' in the part of the `hostname` preceding
|
||
// the public suffix.
|
||
//
|
||
// examples:
|
||
// 1. not.evil.co.uk => evil.co.uk
|
||
// ^ ^
|
||
// | | start of public suffix
|
||
// | index of the last dot
|
||
//
|
||
// 2. example.co.uk => example.co.uk
|
||
// ^ ^
|
||
// | | start of public suffix
|
||
// |
|
||
// | (-1) no dot found before the public suffix
|
||
const publicSuffixIndex = hostname.length - publicSuffix.length - 2;
|
||
const lastDotBeforeSuffixIndex = hostname.lastIndexOf('.', publicSuffixIndex);
|
||
// No '.' found, then `hostname` is the general domain (no sub-domain)
|
||
if (lastDotBeforeSuffixIndex === -1) {
|
||
return hostname;
|
||
}
|
||
// Extract the part between the last '.'
|
||
return hostname.slice(lastDotBeforeSuffixIndex + 1);
|
||
}
|
||
/**
|
||
* Detects the domain based on rules and upon and a host string
|
||
*/
|
||
function getDomain(suffix, hostname, options) {
|
||
// Check if `hostname` ends with a member of `validHosts`.
|
||
if (options.validHosts !== null) {
|
||
const validHosts = options.validHosts;
|
||
for (const vhost of validHosts) {
|
||
if ( /*@__INLINE__*/shareSameDomainSuffix(hostname, vhost)) {
|
||
return vhost;
|
||
}
|
||
}
|
||
}
|
||
let numberOfLeadingDots = 0;
|
||
if (hostname.startsWith('.')) {
|
||
while (numberOfLeadingDots < hostname.length && hostname[numberOfLeadingDots] === '.') {
|
||
numberOfLeadingDots += 1;
|
||
}
|
||
}
|
||
// If `hostname` is a valid public suffix, then there is no domain to return.
|
||
// Since we already know that `getPublicSuffix` returns a suffix of `hostname`
|
||
// there is no need to perform a string comparison and we only compare the
|
||
// size.
|
||
if (suffix.length === hostname.length - numberOfLeadingDots) {
|
||
return null;
|
||
}
|
||
// To extract the general domain, we start by identifying the public suffix
|
||
// (if any), then consider the domain to be the public suffix with one added
|
||
// level of depth. (e.g.: if hostname is `not.evil.co.uk` and public suffix:
|
||
// `co.uk`, then we take one more level: `evil`, giving the final result:
|
||
// `evil.co.uk`).
|
||
return (/*@__INLINE__*/extractDomainWithSuffix(hostname, suffix)
|
||
);
|
||
}
|
||
;// CONCATENATED MODULE: ../../node_modules/tldts-core/dist/es6/src/domain-without-suffix.js
|
||
/**
|
||
* Return the part of domain without suffix.
|
||
*
|
||
* Example: for domain 'foo.com', the result would be 'foo'.
|
||
*/
|
||
function getDomainWithoutSuffix(domain, suffix) {
|
||
// Note: here `domain` and `suffix` cannot have the same length because in
|
||
// this case we set `domain` to `null` instead. It is thus safe to assume
|
||
// that `suffix` is shorter than `domain`.
|
||
return domain.slice(0, -suffix.length - 1);
|
||
}
|
||
;// CONCATENATED MODULE: ../../node_modules/tldts-core/dist/es6/src/extract-hostname.js
|
||
/**
|
||
* @param url - URL we want to extract a hostname from.
|
||
* @param urlIsValidHostname - hint from caller; true if `url` is already a valid hostname.
|
||
*/
|
||
function extractHostname(url, urlIsValidHostname) {
|
||
let start = 0;
|
||
let end = url.length;
|
||
let hasUpper = false;
|
||
// If url is not already a valid hostname, then try to extract hostname.
|
||
if (!urlIsValidHostname) {
|
||
// Special handling of data URLs
|
||
if (url.startsWith('data:')) {
|
||
return null;
|
||
}
|
||
// Trim leading spaces
|
||
while (start < url.length && url.charCodeAt(start) <= 32) {
|
||
start += 1;
|
||
}
|
||
// Trim trailing spaces
|
||
while (end > start + 1 && url.charCodeAt(end - 1) <= 32) {
|
||
end -= 1;
|
||
}
|
||
// Skip scheme.
|
||
if (url.charCodeAt(start) === 47 /* '/' */ && url.charCodeAt(start + 1) === 47 /* '/' */) {
|
||
start += 2;
|
||
} else {
|
||
const indexOfProtocol = url.indexOf(':/', start);
|
||
if (indexOfProtocol !== -1) {
|
||
// Implement fast-path for common protocols. We expect most protocols
|
||
// should be one of these 4 and thus we will not need to perform the
|
||
// more expansive validity check most of the time.
|
||
const protocolSize = indexOfProtocol - start;
|
||
const c0 = url.charCodeAt(start);
|
||
const c1 = url.charCodeAt(start + 1);
|
||
const c2 = url.charCodeAt(start + 2);
|
||
const c3 = url.charCodeAt(start + 3);
|
||
const c4 = url.charCodeAt(start + 4);
|
||
if (protocolSize === 5 && c0 === 104 /* 'h' */ && c1 === 116 /* 't' */ && c2 === 116 /* 't' */ && c3 === 112 /* 'p' */ && c4 === 115 /* 's' */) {
|
||
// https
|
||
} else if (protocolSize === 4 && c0 === 104 /* 'h' */ && c1 === 116 /* 't' */ && c2 === 116 /* 't' */ && c3 === 112 /* 'p' */) {
|
||
// http
|
||
} else if (protocolSize === 3 && c0 === 119 /* 'w' */ && c1 === 115 /* 's' */ && c2 === 115 /* 's' */) {
|
||
// wss
|
||
} else if (protocolSize === 2 && c0 === 119 /* 'w' */ && c1 === 115 /* 's' */) {
|
||
// ws
|
||
} else {
|
||
// Check that scheme is valid
|
||
for (let i = start; i < indexOfProtocol; i += 1) {
|
||
const lowerCaseCode = url.charCodeAt(i) | 32;
|
||
if (!(lowerCaseCode >= 97 && lowerCaseCode <= 122 ||
|
||
// [a, z]
|
||
lowerCaseCode >= 48 && lowerCaseCode <= 57 ||
|
||
// [0, 9]
|
||
lowerCaseCode === 46 ||
|
||
// '.'
|
||
lowerCaseCode === 45 ||
|
||
// '-'
|
||
lowerCaseCode === 43 // '+'
|
||
)) {
|
||
return null;
|
||
}
|
||
}
|
||
}
|
||
// Skip 0, 1 or more '/' after ':/'
|
||
start = indexOfProtocol + 2;
|
||
while (url.charCodeAt(start) === 47 /* '/' */) {
|
||
start += 1;
|
||
}
|
||
}
|
||
}
|
||
// Detect first occurrence of '/', '?' or '#'. We also keep track of the
|
||
// last occurrence of '@', ']' or ':' to speed-up subsequent parsing of
|
||
// (respectively), identifier, ipv6 or port.
|
||
let indexOfIdentifier = -1;
|
||
let indexOfClosingBracket = -1;
|
||
let indexOfPort = -1;
|
||
for (let i = start; i < end; i += 1) {
|
||
const code = url.charCodeAt(i);
|
||
if (code === 35 ||
|
||
// '#'
|
||
code === 47 ||
|
||
// '/'
|
||
code === 63 // '?'
|
||
) {
|
||
end = i;
|
||
break;
|
||
} else if (code === 64) {
|
||
// '@'
|
||
indexOfIdentifier = i;
|
||
} else if (code === 93) {
|
||
// ']'
|
||
indexOfClosingBracket = i;
|
||
} else if (code === 58) {
|
||
// ':'
|
||
indexOfPort = i;
|
||
} else if (code >= 65 && code <= 90) {
|
||
hasUpper = true;
|
||
}
|
||
}
|
||
// Detect identifier: '@'
|
||
if (indexOfIdentifier !== -1 && indexOfIdentifier > start && indexOfIdentifier < end) {
|
||
start = indexOfIdentifier + 1;
|
||
}
|
||
// Handle ipv6 addresses
|
||
if (url.charCodeAt(start) === 91 /* '[' */) {
|
||
if (indexOfClosingBracket !== -1) {
|
||
return url.slice(start + 1, indexOfClosingBracket).toLowerCase();
|
||
}
|
||
return null;
|
||
} else if (indexOfPort !== -1 && indexOfPort > start && indexOfPort < end) {
|
||
// Detect port: ':'
|
||
end = indexOfPort;
|
||
}
|
||
}
|
||
// Trim trailing dots
|
||
while (end > start + 1 && url.charCodeAt(end - 1) === 46 /* '.' */) {
|
||
end -= 1;
|
||
}
|
||
const hostname = start !== 0 || end !== url.length ? url.slice(start, end) : url;
|
||
if (hasUpper) {
|
||
return hostname.toLowerCase();
|
||
}
|
||
return hostname;
|
||
}
|
||
;// CONCATENATED MODULE: ../../node_modules/tldts-core/dist/es6/src/is-ip.js
|
||
/**
|
||
* Check if a hostname is an IP. You should be aware that this only works
|
||
* because `hostname` is already garanteed to be a valid hostname!
|
||
*/
|
||
function isProbablyIpv4(hostname) {
|
||
// Cannot be shorted than 1.1.1.1
|
||
if (hostname.length < 7) {
|
||
return false;
|
||
}
|
||
// Cannot be longer than: 255.255.255.255
|
||
if (hostname.length > 15) {
|
||
return false;
|
||
}
|
||
let numberOfDots = 0;
|
||
for (let i = 0; i < hostname.length; i += 1) {
|
||
const code = hostname.charCodeAt(i);
|
||
if (code === 46 /* '.' */) {
|
||
numberOfDots += 1;
|
||
} else if (code < 48 /* '0' */ || code > 57 /* '9' */) {
|
||
return false;
|
||
}
|
||
}
|
||
return numberOfDots === 3 && hostname.charCodeAt(0) !== 46 /* '.' */ && hostname.charCodeAt(hostname.length - 1) !== 46 /* '.' */;
|
||
}
|
||
/**
|
||
* Similar to isProbablyIpv4.
|
||
*/
|
||
function isProbablyIpv6(hostname) {
|
||
if (hostname.length < 3) {
|
||
return false;
|
||
}
|
||
let start = hostname.startsWith('[') ? 1 : 0;
|
||
let end = hostname.length;
|
||
if (hostname[end - 1] === ']') {
|
||
end -= 1;
|
||
}
|
||
// We only consider the maximum size of a normal IPV6. Note that this will
|
||
// fail on so-called "IPv4 mapped IPv6 addresses" but this is a corner-case
|
||
// and a proper validation library should be used for these.
|
||
if (end - start > 39) {
|
||
return false;
|
||
}
|
||
let hasColon = false;
|
||
for (; start < end; start += 1) {
|
||
const code = hostname.charCodeAt(start);
|
||
if (code === 58 /* ':' */) {
|
||
hasColon = true;
|
||
} else if (!(code >= 48 && code <= 57 ||
|
||
// 0-9
|
||
code >= 97 && code <= 102 ||
|
||
// a-f
|
||
code >= 65 && code <= 90 // A-F
|
||
)) {
|
||
return false;
|
||
}
|
||
}
|
||
return hasColon;
|
||
}
|
||
/**
|
||
* Check if `hostname` is *probably* a valid ip addr (either ipv6 or ipv4).
|
||
* This *will not* work on any string. We need `hostname` to be a valid
|
||
* hostname.
|
||
*/
|
||
function isIp(hostname) {
|
||
return isProbablyIpv6(hostname) || isProbablyIpv4(hostname);
|
||
}
|
||
;// CONCATENATED MODULE: ../../node_modules/tldts-core/dist/es6/src/is-valid.js
|
||
/**
|
||
* Implements fast shallow verification of hostnames. This does not perform a
|
||
* struct check on the content of labels (classes of Unicode characters, etc.)
|
||
* but instead check that the structure is valid (number of labels, length of
|
||
* labels, etc.).
|
||
*
|
||
* If you need stricter validation, consider using an external library.
|
||
*/
|
||
function isValidAscii(code) {
|
||
return code >= 97 && code <= 122 || code >= 48 && code <= 57 || code > 127;
|
||
}
|
||
/**
|
||
* Check if a hostname string is valid. It's usually a preliminary check before
|
||
* trying to use getDomain or anything else.
|
||
*
|
||
* Beware: it does not check if the TLD exists.
|
||
*/
|
||
/* harmony default export */ function is_valid(hostname) {
|
||
if (hostname.length > 255) {
|
||
return false;
|
||
}
|
||
if (hostname.length === 0) {
|
||
return false;
|
||
}
|
||
if ( /*@__INLINE__*/!isValidAscii(hostname.charCodeAt(0)) && hostname.charCodeAt(0) !== 46 &&
|
||
// '.' (dot)
|
||
hostname.charCodeAt(0) !== 95 // '_' (underscore)
|
||
) {
|
||
return false;
|
||
}
|
||
// Validate hostname according to RFC
|
||
let lastDotIndex = -1;
|
||
let lastCharCode = -1;
|
||
const len = hostname.length;
|
||
for (let i = 0; i < len; i += 1) {
|
||
const code = hostname.charCodeAt(i);
|
||
if (code === 46 /* '.' */) {
|
||
if (
|
||
// Check that previous label is < 63 bytes long (64 = 63 + '.')
|
||
i - lastDotIndex > 64 ||
|
||
// Check that previous character was not already a '.'
|
||
lastCharCode === 46 ||
|
||
// Check that the previous label does not end with a '-' (dash)
|
||
lastCharCode === 45 ||
|
||
// Check that the previous label does not end with a '_' (underscore)
|
||
lastCharCode === 95) {
|
||
return false;
|
||
}
|
||
lastDotIndex = i;
|
||
} else if (!( /*@__INLINE__*/isValidAscii(code) || code === 45 || code === 95)) {
|
||
// Check if there is a forbidden character in the label
|
||
return false;
|
||
}
|
||
lastCharCode = code;
|
||
}
|
||
return (
|
||
// Check that last label is shorter than 63 chars
|
||
len - lastDotIndex - 1 <= 63 &&
|
||
// Check that the last character is an allowed trailing label character.
|
||
// Since we already checked that the char is a valid hostname character,
|
||
// we only need to check that it's different from '-'.
|
||
lastCharCode !== 45
|
||
);
|
||
}
|
||
;// CONCATENATED MODULE: ../../node_modules/tldts-core/dist/es6/src/options.js
|
||
function setDefaultsImpl({
|
||
allowIcannDomains = true,
|
||
allowPrivateDomains = false,
|
||
detectIp = true,
|
||
extractHostname = true,
|
||
mixedInputs = true,
|
||
validHosts = null,
|
||
validateHostname = true
|
||
}) {
|
||
return {
|
||
allowIcannDomains,
|
||
allowPrivateDomains,
|
||
detectIp,
|
||
extractHostname,
|
||
mixedInputs,
|
||
validHosts,
|
||
validateHostname
|
||
};
|
||
}
|
||
const DEFAULT_OPTIONS = /*@__INLINE__*/setDefaultsImpl({});
|
||
function setDefaults(options) {
|
||
if (options === undefined) {
|
||
return DEFAULT_OPTIONS;
|
||
}
|
||
return (/*@__INLINE__*/setDefaultsImpl(options)
|
||
);
|
||
}
|
||
;// CONCATENATED MODULE: ../../node_modules/tldts-core/dist/es6/src/subdomain.js
|
||
/**
|
||
* Returns the subdomain of a hostname string
|
||
*/
|
||
function getSubdomain(hostname, domain) {
|
||
// If `hostname` and `domain` are the same, then there is no sub-domain
|
||
if (domain.length === hostname.length) {
|
||
return '';
|
||
}
|
||
return hostname.slice(0, -domain.length - 1);
|
||
}
|
||
;// CONCATENATED MODULE: ../../node_modules/tldts-core/dist/es6/src/factory.js
|
||
/**
|
||
* Implement a factory allowing to plug different implementations of suffix
|
||
* lookup (e.g.: using a trie or the packed hashes datastructures). This is used
|
||
* and exposed in `tldts.ts` and `tldts-experimental.ts` bundle entrypoints.
|
||
*/
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
function getEmptyResult() {
|
||
return {
|
||
domain: null,
|
||
domainWithoutSuffix: null,
|
||
hostname: null,
|
||
isIcann: null,
|
||
isIp: null,
|
||
isPrivate: null,
|
||
publicSuffix: null,
|
||
subdomain: null
|
||
};
|
||
}
|
||
function factory_resetResult(result) {
|
||
result.domain = null;
|
||
result.domainWithoutSuffix = null;
|
||
result.hostname = null;
|
||
result.isIcann = null;
|
||
result.isIp = null;
|
||
result.isPrivate = null;
|
||
result.publicSuffix = null;
|
||
result.subdomain = null;
|
||
}
|
||
function factory_parseImpl(url, step, suffixLookup, partialOptions, result) {
|
||
const options = /*@__INLINE__*/setDefaults(partialOptions);
|
||
// Very fast approximate check to make sure `url` is a string. This is needed
|
||
// because the library will not necessarily be used in a typed setup and
|
||
// values of arbitrary types might be given as argument.
|
||
if (typeof url !== 'string') {
|
||
return result;
|
||
}
|
||
// Extract hostname from `url` only if needed. This can be made optional
|
||
// using `options.extractHostname`. This option will typically be used
|
||
// whenever we are sure the inputs to `parse` are already hostnames and not
|
||
// arbitrary URLs.
|
||
//
|
||
// `mixedInput` allows to specify if we expect a mix of URLs and hostnames
|
||
// as input. If only hostnames are expected then `extractHostname` can be
|
||
// set to `false` to speed-up parsing. If only URLs are expected then
|
||
// `mixedInputs` can be set to `false`. The `mixedInputs` is only a hint
|
||
// and will not change the behavior of the library.
|
||
if (!options.extractHostname) {
|
||
result.hostname = url;
|
||
} else if (options.mixedInputs) {
|
||
result.hostname = extractHostname(url, is_valid(url));
|
||
} else {
|
||
result.hostname = extractHostname(url, false);
|
||
}
|
||
if (step === 0 /* FLAG.HOSTNAME */ || result.hostname === null) {
|
||
return result;
|
||
}
|
||
// Check if `hostname` is a valid ip address
|
||
if (options.detectIp) {
|
||
result.isIp = isIp(result.hostname);
|
||
if (result.isIp) {
|
||
return result;
|
||
}
|
||
}
|
||
// Perform optional hostname validation. If hostname is not valid, no need to
|
||
// go further as there will be no valid domain or sub-domain.
|
||
if (options.validateHostname && options.extractHostname && !is_valid(result.hostname)) {
|
||
result.hostname = null;
|
||
return result;
|
||
}
|
||
// Extract public suffix
|
||
suffixLookup(result.hostname, options, result);
|
||
if (step === 2 /* FLAG.PUBLIC_SUFFIX */ || result.publicSuffix === null) {
|
||
return result;
|
||
}
|
||
// Extract domain
|
||
result.domain = getDomain(result.publicSuffix, result.hostname, options);
|
||
if (step === 3 /* FLAG.DOMAIN */ || result.domain === null) {
|
||
return result;
|
||
}
|
||
// Extract subdomain
|
||
result.subdomain = getSubdomain(result.hostname, result.domain);
|
||
if (step === 4 /* FLAG.SUB_DOMAIN */) {
|
||
return result;
|
||
}
|
||
// Extract domain without suffix
|
||
result.domainWithoutSuffix = getDomainWithoutSuffix(result.domain, result.publicSuffix);
|
||
return result;
|
||
}
|
||
;// CONCATENATED MODULE: ../../node_modules/tldts-core/dist/es6/src/lookup/fast-path.js
|
||
/* harmony default export */ function fast_path(hostname, options, out) {
|
||
// Fast path for very popular suffixes; this allows to by-pass lookup
|
||
// completely as well as any extra allocation or string manipulation.
|
||
if (!options.allowPrivateDomains && hostname.length > 3) {
|
||
const last = hostname.length - 1;
|
||
const c3 = hostname.charCodeAt(last);
|
||
const c2 = hostname.charCodeAt(last - 1);
|
||
const c1 = hostname.charCodeAt(last - 2);
|
||
const c0 = hostname.charCodeAt(last - 3);
|
||
if (c3 === 109 /* 'm' */ && c2 === 111 /* 'o' */ && c1 === 99 /* 'c' */ && c0 === 46 /* '.' */) {
|
||
out.isIcann = true;
|
||
out.isPrivate = false;
|
||
out.publicSuffix = 'com';
|
||
return true;
|
||
} else if (c3 === 103 /* 'g' */ && c2 === 114 /* 'r' */ && c1 === 111 /* 'o' */ && c0 === 46 /* '.' */) {
|
||
out.isIcann = true;
|
||
out.isPrivate = false;
|
||
out.publicSuffix = 'org';
|
||
return true;
|
||
} else if (c3 === 117 /* 'u' */ && c2 === 100 /* 'd' */ && c1 === 101 /* 'e' */ && c0 === 46 /* '.' */) {
|
||
out.isIcann = true;
|
||
out.isPrivate = false;
|
||
out.publicSuffix = 'edu';
|
||
return true;
|
||
} else if (c3 === 118 /* 'v' */ && c2 === 111 /* 'o' */ && c1 === 103 /* 'g' */ && c0 === 46 /* '.' */) {
|
||
out.isIcann = true;
|
||
out.isPrivate = false;
|
||
out.publicSuffix = 'gov';
|
||
return true;
|
||
} else if (c3 === 116 /* 't' */ && c2 === 101 /* 'e' */ && c1 === 110 /* 'n' */ && c0 === 46 /* '.' */) {
|
||
out.isIcann = true;
|
||
out.isPrivate = false;
|
||
out.publicSuffix = 'net';
|
||
return true;
|
||
} else if (c3 === 101 /* 'e' */ && c2 === 100 /* 'd' */ && c1 === 46 /* '.' */) {
|
||
out.isIcann = true;
|
||
out.isPrivate = false;
|
||
out.publicSuffix = 'de';
|
||
return true;
|
||
}
|
||
}
|
||
return false;
|
||
}
|
||
;// CONCATENATED MODULE: ../../node_modules/tldts-core/dist/es6/index.js
|
||
|
||
|
||
|
||
;// CONCATENATED MODULE: ../../node_modules/tldts/dist/es6/src/data/trie.js
|
||
const exceptions = function () {
|
||
const _0 = [1, {}],
|
||
_1 = [0, {
|
||
"city": _0
|
||
}];
|
||
const exceptions = [0, {
|
||
"ck": [0, {
|
||
"www": _0
|
||
}],
|
||
"jp": [0, {
|
||
"kawasaki": _1,
|
||
"kitakyushu": _1,
|
||
"kobe": _1,
|
||
"nagoya": _1,
|
||
"sapporo": _1,
|
||
"sendai": _1,
|
||
"yokohama": _1
|
||
}]
|
||
}];
|
||
return exceptions;
|
||
}();
|
||
const rules = function () {
|
||
const _2 = [1, {}],
|
||
_3 = [2, {}],
|
||
_4 = [1, {
|
||
"gov": _2,
|
||
"com": _2,
|
||
"org": _2,
|
||
"net": _2,
|
||
"edu": _2
|
||
}],
|
||
_5 = [0, {
|
||
"*": _3
|
||
}],
|
||
_6 = [1, {
|
||
"blogspot": _3
|
||
}],
|
||
_7 = [1, {
|
||
"gov": _2
|
||
}],
|
||
_8 = [0, {
|
||
"*": _2
|
||
}],
|
||
_9 = [0, {
|
||
"cloud": _3
|
||
}],
|
||
_10 = [1, {
|
||
"co": _3
|
||
}],
|
||
_11 = [2, {
|
||
"nodes": _3
|
||
}],
|
||
_12 = [0, {
|
||
"s3": _3
|
||
}],
|
||
_13 = [0, {
|
||
"direct": _3
|
||
}],
|
||
_14 = [2, {
|
||
"id": _3
|
||
}],
|
||
_15 = [0, {
|
||
"webview-assets": _3
|
||
}],
|
||
_16 = [0, {
|
||
"vfs": _3,
|
||
"webview-assets": _3
|
||
}],
|
||
_17 = [0, {
|
||
"aws-cloud9": _15,
|
||
"cloud9": _16
|
||
}],
|
||
_18 = [0, {
|
||
"dualstack": _12,
|
||
"analytics-gateway": _3,
|
||
"aws-cloud9": _15,
|
||
"cloud9": _16
|
||
}],
|
||
_19 = [0, {
|
||
"dualstack": _12,
|
||
"s3": _3,
|
||
"s3-website": _3,
|
||
"aws-cloud9": _15,
|
||
"cloud9": _16
|
||
}],
|
||
_20 = [0, {
|
||
"dualstack": _12,
|
||
"aws-cloud9": _15,
|
||
"cloud9": _16
|
||
}],
|
||
_21 = [0, {
|
||
"apps": _3
|
||
}],
|
||
_22 = [0, {
|
||
"paas": _3
|
||
}],
|
||
_23 = [0, {
|
||
"app": _3
|
||
}],
|
||
_24 = [2, {
|
||
"eu": _3
|
||
}],
|
||
_25 = [0, {
|
||
"site": _3
|
||
}],
|
||
_26 = [0, {
|
||
"pages": _3
|
||
}],
|
||
_27 = [1, {
|
||
"com": _2,
|
||
"edu": _2,
|
||
"net": _2,
|
||
"org": _2
|
||
}],
|
||
_28 = [0, {
|
||
"j": _3
|
||
}],
|
||
_29 = [0, {
|
||
"jelastic": _3
|
||
}],
|
||
_30 = [0, {
|
||
"user": _3
|
||
}],
|
||
_31 = [1, {
|
||
"ybo": _3
|
||
}],
|
||
_32 = [0, {
|
||
"cust": _3,
|
||
"reservd": _3
|
||
}],
|
||
_33 = [0, {
|
||
"cust": _3
|
||
}],
|
||
_34 = [1, {
|
||
"gov": _2,
|
||
"edu": _2,
|
||
"mil": _2,
|
||
"com": _2,
|
||
"org": _2,
|
||
"net": _2
|
||
}],
|
||
_35 = [1, {
|
||
"edu": _2,
|
||
"biz": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"gov": _2,
|
||
"info": _2,
|
||
"com": _2
|
||
}],
|
||
_36 = [1, {
|
||
"gov": _2,
|
||
"blogspot": _3
|
||
}],
|
||
_37 = [1, {
|
||
"framer": _3
|
||
}],
|
||
_38 = [1, {
|
||
"barsy": _3
|
||
}],
|
||
_39 = [0, {
|
||
"forgot": _3
|
||
}],
|
||
_40 = [1, {
|
||
"gs": _2
|
||
}],
|
||
_41 = [0, {
|
||
"nes": _2
|
||
}],
|
||
_42 = [1, {
|
||
"k12": _2,
|
||
"cc": _2,
|
||
"lib": _2
|
||
}],
|
||
_43 = [1, {
|
||
"cc": _2,
|
||
"lib": _2
|
||
}];
|
||
const rules = [0, {
|
||
"ac": [1, {
|
||
"com": _2,
|
||
"edu": _2,
|
||
"gov": _2,
|
||
"net": _2,
|
||
"mil": _2,
|
||
"org": _2,
|
||
"drr": _3
|
||
}],
|
||
"ad": [1, {
|
||
"nom": _2
|
||
}],
|
||
"ae": [1, {
|
||
"co": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"sch": _2,
|
||
"ac": _2,
|
||
"gov": _2,
|
||
"mil": _2,
|
||
"blogspot": _3
|
||
}],
|
||
"aero": [1, {
|
||
"accident-investigation": _2,
|
||
"accident-prevention": _2,
|
||
"aerobatic": _2,
|
||
"aeroclub": _2,
|
||
"aerodrome": _2,
|
||
"agents": _2,
|
||
"aircraft": _2,
|
||
"airline": _2,
|
||
"airport": _2,
|
||
"air-surveillance": _2,
|
||
"airtraffic": _2,
|
||
"air-traffic-control": _2,
|
||
"ambulance": _2,
|
||
"amusement": _2,
|
||
"association": _2,
|
||
"author": _2,
|
||
"ballooning": _2,
|
||
"broker": _2,
|
||
"caa": _2,
|
||
"cargo": _2,
|
||
"catering": _2,
|
||
"certification": _2,
|
||
"championship": _2,
|
||
"charter": _2,
|
||
"civilaviation": _2,
|
||
"club": _2,
|
||
"conference": _2,
|
||
"consultant": _2,
|
||
"consulting": _2,
|
||
"control": _2,
|
||
"council": _2,
|
||
"crew": _2,
|
||
"design": _2,
|
||
"dgca": _2,
|
||
"educator": _2,
|
||
"emergency": _2,
|
||
"engine": _2,
|
||
"engineer": _2,
|
||
"entertainment": _2,
|
||
"equipment": _2,
|
||
"exchange": _2,
|
||
"express": _2,
|
||
"federation": _2,
|
||
"flight": _2,
|
||
"fuel": _2,
|
||
"gliding": _2,
|
||
"government": _2,
|
||
"groundhandling": _2,
|
||
"group": _2,
|
||
"hanggliding": _2,
|
||
"homebuilt": _2,
|
||
"insurance": _2,
|
||
"journal": _2,
|
||
"journalist": _2,
|
||
"leasing": _2,
|
||
"logistics": _2,
|
||
"magazine": _2,
|
||
"maintenance": _2,
|
||
"media": _2,
|
||
"microlight": _2,
|
||
"modelling": _2,
|
||
"navigation": _2,
|
||
"parachuting": _2,
|
||
"paragliding": _2,
|
||
"passenger-association": _2,
|
||
"pilot": _2,
|
||
"press": _2,
|
||
"production": _2,
|
||
"recreation": _2,
|
||
"repbody": _2,
|
||
"res": _2,
|
||
"research": _2,
|
||
"rotorcraft": _2,
|
||
"safety": _2,
|
||
"scientist": _2,
|
||
"services": _2,
|
||
"show": _2,
|
||
"skydiving": _2,
|
||
"software": _2,
|
||
"student": _2,
|
||
"trader": _2,
|
||
"trading": _2,
|
||
"trainer": _2,
|
||
"union": _2,
|
||
"workinggroup": _2,
|
||
"works": _2
|
||
}],
|
||
"af": _4,
|
||
"ag": [1, {
|
||
"com": _2,
|
||
"org": _2,
|
||
"net": _2,
|
||
"co": _2,
|
||
"nom": _2
|
||
}],
|
||
"ai": [1, {
|
||
"off": _2,
|
||
"com": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"uwu": _3
|
||
}],
|
||
"al": [1, {
|
||
"com": _2,
|
||
"edu": _2,
|
||
"gov": _2,
|
||
"mil": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"blogspot": _3
|
||
}],
|
||
"am": [1, {
|
||
"co": _2,
|
||
"com": _2,
|
||
"commune": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"radio": _3,
|
||
"blogspot": _3,
|
||
"neko": _3,
|
||
"nyaa": _3
|
||
}],
|
||
"ao": [1, {
|
||
"ed": _2,
|
||
"gv": _2,
|
||
"og": _2,
|
||
"co": _2,
|
||
"pb": _2,
|
||
"it": _2
|
||
}],
|
||
"aq": _2,
|
||
"ar": [1, {
|
||
"bet": _2,
|
||
"com": _6,
|
||
"coop": _2,
|
||
"edu": _2,
|
||
"gob": _2,
|
||
"gov": _2,
|
||
"int": _2,
|
||
"mil": _2,
|
||
"musica": _2,
|
||
"mutual": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"senasa": _2,
|
||
"tur": _2
|
||
}],
|
||
"arpa": [1, {
|
||
"e164": _2,
|
||
"in-addr": _2,
|
||
"ip6": _2,
|
||
"iris": _2,
|
||
"uri": _2,
|
||
"urn": _2
|
||
}],
|
||
"as": _7,
|
||
"asia": [1, {
|
||
"cloudns": _3
|
||
}],
|
||
"at": [1, {
|
||
"ac": [1, {
|
||
"sth": _2
|
||
}],
|
||
"co": _6,
|
||
"gv": _2,
|
||
"or": _2,
|
||
"funkfeuer": [0, {
|
||
"wien": _3
|
||
}],
|
||
"futurecms": [0, {
|
||
"*": _3,
|
||
"ex": _5,
|
||
"in": _5
|
||
}],
|
||
"futurehosting": _3,
|
||
"futuremailing": _3,
|
||
"ortsinfo": [0, {
|
||
"ex": _5,
|
||
"kunden": _5
|
||
}],
|
||
"biz": _3,
|
||
"info": _3,
|
||
"123webseite": _3,
|
||
"priv": _3,
|
||
"myspreadshop": _3,
|
||
"12hp": _3,
|
||
"2ix": _3,
|
||
"4lima": _3,
|
||
"lima-city": _3
|
||
}],
|
||
"au": [1, {
|
||
"com": [1, {
|
||
"blogspot": _3,
|
||
"cloudlets": [0, {
|
||
"mel": _3
|
||
}],
|
||
"myspreadshop": _3
|
||
}],
|
||
"net": _2,
|
||
"org": _2,
|
||
"edu": [1, {
|
||
"act": _2,
|
||
"catholic": _2,
|
||
"nsw": [1, {
|
||
"schools": _2
|
||
}],
|
||
"nt": _2,
|
||
"qld": _2,
|
||
"sa": _2,
|
||
"tas": _2,
|
||
"vic": _2,
|
||
"wa": _2
|
||
}],
|
||
"gov": [1, {
|
||
"qld": _2,
|
||
"sa": _2,
|
||
"tas": _2,
|
||
"vic": _2,
|
||
"wa": _2
|
||
}],
|
||
"asn": _2,
|
||
"id": _2,
|
||
"info": _2,
|
||
"conf": _2,
|
||
"oz": _2,
|
||
"act": _2,
|
||
"nsw": _2,
|
||
"nt": _2,
|
||
"qld": _2,
|
||
"sa": _2,
|
||
"tas": _2,
|
||
"vic": _2,
|
||
"wa": _2
|
||
}],
|
||
"aw": [1, {
|
||
"com": _2
|
||
}],
|
||
"ax": [1, {
|
||
"be": _3,
|
||
"cat": _3,
|
||
"es": _3,
|
||
"eu": _3,
|
||
"gg": _3,
|
||
"mc": _3,
|
||
"us": _3,
|
||
"xy": _3
|
||
}],
|
||
"az": [1, {
|
||
"com": _2,
|
||
"net": _2,
|
||
"int": _2,
|
||
"gov": _2,
|
||
"org": _2,
|
||
"edu": _2,
|
||
"info": _2,
|
||
"pp": _2,
|
||
"mil": _2,
|
||
"name": _2,
|
||
"pro": _2,
|
||
"biz": _2
|
||
}],
|
||
"ba": [1, {
|
||
"com": _2,
|
||
"edu": _2,
|
||
"gov": _2,
|
||
"mil": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"rs": _3,
|
||
"blogspot": _3
|
||
}],
|
||
"bb": [1, {
|
||
"biz": _2,
|
||
"co": _2,
|
||
"com": _2,
|
||
"edu": _2,
|
||
"gov": _2,
|
||
"info": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"store": _2,
|
||
"tv": _2
|
||
}],
|
||
"bd": _8,
|
||
"be": [1, {
|
||
"ac": _2,
|
||
"webhosting": _3,
|
||
"blogspot": _3,
|
||
"interhostsolutions": _9,
|
||
"kuleuven": [0, {
|
||
"ezproxy": _3
|
||
}],
|
||
"123website": _3,
|
||
"myspreadshop": _3,
|
||
"transurl": _5
|
||
}],
|
||
"bf": _7,
|
||
"bg": [1, {
|
||
"0": _2,
|
||
"1": _2,
|
||
"2": _2,
|
||
"3": _2,
|
||
"4": _2,
|
||
"5": _2,
|
||
"6": _2,
|
||
"7": _2,
|
||
"8": _2,
|
||
"9": _2,
|
||
"a": _2,
|
||
"b": _2,
|
||
"c": _2,
|
||
"d": _2,
|
||
"e": _2,
|
||
"f": _2,
|
||
"g": _2,
|
||
"h": _2,
|
||
"i": _2,
|
||
"j": _2,
|
||
"k": _2,
|
||
"l": _2,
|
||
"m": _2,
|
||
"n": _2,
|
||
"o": _2,
|
||
"p": _2,
|
||
"q": _2,
|
||
"r": _2,
|
||
"s": _2,
|
||
"t": _2,
|
||
"u": _2,
|
||
"v": _2,
|
||
"w": _2,
|
||
"x": _2,
|
||
"y": _2,
|
||
"z": _2,
|
||
"blogspot": _3,
|
||
"barsy": _3
|
||
}],
|
||
"bh": _4,
|
||
"bi": [1, {
|
||
"co": _2,
|
||
"com": _2,
|
||
"edu": _2,
|
||
"or": _2,
|
||
"org": _2
|
||
}],
|
||
"biz": [1, {
|
||
"activetrail": _3,
|
||
"cloudns": _3,
|
||
"jozi": _3,
|
||
"dyndns": _3,
|
||
"for-better": _3,
|
||
"for-more": _3,
|
||
"for-some": _3,
|
||
"for-the": _3,
|
||
"selfip": _3,
|
||
"webhop": _3,
|
||
"orx": _3,
|
||
"mmafan": _3,
|
||
"myftp": _3,
|
||
"no-ip": _3,
|
||
"dscloud": _3
|
||
}],
|
||
"bj": [1, {
|
||
"africa": _2,
|
||
"agro": _2,
|
||
"architectes": _2,
|
||
"assur": _2,
|
||
"avocats": _2,
|
||
"co": _2,
|
||
"com": _2,
|
||
"eco": _2,
|
||
"econo": _2,
|
||
"edu": _2,
|
||
"info": _2,
|
||
"loisirs": _2,
|
||
"money": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"ote": _2,
|
||
"resto": _2,
|
||
"restaurant": _2,
|
||
"tourism": _2,
|
||
"univ": _2,
|
||
"blogspot": _3
|
||
}],
|
||
"bm": _4,
|
||
"bn": [1, {
|
||
"com": _2,
|
||
"edu": _2,
|
||
"gov": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"co": _3
|
||
}],
|
||
"bo": [1, {
|
||
"com": _2,
|
||
"edu": _2,
|
||
"gob": _2,
|
||
"int": _2,
|
||
"org": _2,
|
||
"net": _2,
|
||
"mil": _2,
|
||
"tv": _2,
|
||
"web": _2,
|
||
"academia": _2,
|
||
"agro": _2,
|
||
"arte": _2,
|
||
"blog": _2,
|
||
"bolivia": _2,
|
||
"ciencia": _2,
|
||
"cooperativa": _2,
|
||
"democracia": _2,
|
||
"deporte": _2,
|
||
"ecologia": _2,
|
||
"economia": _2,
|
||
"empresa": _2,
|
||
"indigena": _2,
|
||
"industria": _2,
|
||
"info": _2,
|
||
"medicina": _2,
|
||
"movimiento": _2,
|
||
"musica": _2,
|
||
"natural": _2,
|
||
"nombre": _2,
|
||
"noticias": _2,
|
||
"patria": _2,
|
||
"politica": _2,
|
||
"profesional": _2,
|
||
"plurinacional": _2,
|
||
"pueblo": _2,
|
||
"revista": _2,
|
||
"salud": _2,
|
||
"tecnologia": _2,
|
||
"tksat": _2,
|
||
"transporte": _2,
|
||
"wiki": _2
|
||
}],
|
||
"br": [1, {
|
||
"9guacu": _2,
|
||
"abc": _2,
|
||
"adm": _2,
|
||
"adv": _2,
|
||
"agr": _2,
|
||
"aju": _2,
|
||
"am": _2,
|
||
"anani": _2,
|
||
"aparecida": _2,
|
||
"app": _2,
|
||
"arq": _2,
|
||
"art": _2,
|
||
"ato": _2,
|
||
"b": _2,
|
||
"barueri": _2,
|
||
"belem": _2,
|
||
"bhz": _2,
|
||
"bib": _2,
|
||
"bio": _2,
|
||
"blog": _2,
|
||
"bmd": _2,
|
||
"boavista": _2,
|
||
"bsb": _2,
|
||
"campinagrande": _2,
|
||
"campinas": _2,
|
||
"caxias": _2,
|
||
"cim": _2,
|
||
"cng": _2,
|
||
"cnt": _2,
|
||
"com": [1, {
|
||
"blogspot": _3,
|
||
"simplesite": _3
|
||
}],
|
||
"contagem": _2,
|
||
"coop": _2,
|
||
"coz": _2,
|
||
"cri": _2,
|
||
"cuiaba": _2,
|
||
"curitiba": _2,
|
||
"def": _2,
|
||
"des": _2,
|
||
"det": _2,
|
||
"dev": _2,
|
||
"ecn": _2,
|
||
"eco": _2,
|
||
"edu": _2,
|
||
"emp": _2,
|
||
"enf": _2,
|
||
"eng": _2,
|
||
"esp": _2,
|
||
"etc": _2,
|
||
"eti": _2,
|
||
"far": _2,
|
||
"feira": _2,
|
||
"flog": _2,
|
||
"floripa": _2,
|
||
"fm": _2,
|
||
"fnd": _2,
|
||
"fortal": _2,
|
||
"fot": _2,
|
||
"foz": _2,
|
||
"fst": _2,
|
||
"g12": _2,
|
||
"geo": _2,
|
||
"ggf": _2,
|
||
"goiania": _2,
|
||
"gov": [1, {
|
||
"ac": _2,
|
||
"al": _2,
|
||
"am": _2,
|
||
"ap": _2,
|
||
"ba": _2,
|
||
"ce": _2,
|
||
"df": _2,
|
||
"es": _2,
|
||
"go": _2,
|
||
"ma": _2,
|
||
"mg": _2,
|
||
"ms": _2,
|
||
"mt": _2,
|
||
"pa": _2,
|
||
"pb": _2,
|
||
"pe": _2,
|
||
"pi": _2,
|
||
"pr": _2,
|
||
"rj": _2,
|
||
"rn": _2,
|
||
"ro": _2,
|
||
"rr": _2,
|
||
"rs": _2,
|
||
"sc": _2,
|
||
"se": _2,
|
||
"sp": _2,
|
||
"to": _2
|
||
}],
|
||
"gru": _2,
|
||
"imb": _2,
|
||
"ind": _2,
|
||
"inf": _2,
|
||
"jab": _2,
|
||
"jampa": _2,
|
||
"jdf": _2,
|
||
"joinville": _2,
|
||
"jor": _2,
|
||
"jus": _2,
|
||
"leg": [1, {
|
||
"ac": _3,
|
||
"al": _3,
|
||
"am": _3,
|
||
"ap": _3,
|
||
"ba": _3,
|
||
"ce": _3,
|
||
"df": _3,
|
||
"es": _3,
|
||
"go": _3,
|
||
"ma": _3,
|
||
"mg": _3,
|
||
"ms": _3,
|
||
"mt": _3,
|
||
"pa": _3,
|
||
"pb": _3,
|
||
"pe": _3,
|
||
"pi": _3,
|
||
"pr": _3,
|
||
"rj": _3,
|
||
"rn": _3,
|
||
"ro": _3,
|
||
"rr": _3,
|
||
"rs": _3,
|
||
"sc": _3,
|
||
"se": _3,
|
||
"sp": _3,
|
||
"to": _3
|
||
}],
|
||
"lel": _2,
|
||
"log": _2,
|
||
"londrina": _2,
|
||
"macapa": _2,
|
||
"maceio": _2,
|
||
"manaus": _2,
|
||
"maringa": _2,
|
||
"mat": _2,
|
||
"med": _2,
|
||
"mil": _2,
|
||
"morena": _2,
|
||
"mp": _2,
|
||
"mus": _2,
|
||
"natal": _2,
|
||
"net": _2,
|
||
"niteroi": _2,
|
||
"nom": _8,
|
||
"not": _2,
|
||
"ntr": _2,
|
||
"odo": _2,
|
||
"ong": _2,
|
||
"org": _2,
|
||
"osasco": _2,
|
||
"palmas": _2,
|
||
"poa": _2,
|
||
"ppg": _2,
|
||
"pro": _2,
|
||
"psc": _2,
|
||
"psi": _2,
|
||
"pvh": _2,
|
||
"qsl": _2,
|
||
"radio": _2,
|
||
"rec": _2,
|
||
"recife": _2,
|
||
"rep": _2,
|
||
"ribeirao": _2,
|
||
"rio": _2,
|
||
"riobranco": _2,
|
||
"riopreto": _2,
|
||
"salvador": _2,
|
||
"sampa": _2,
|
||
"santamaria": _2,
|
||
"santoandre": _2,
|
||
"saobernardo": _2,
|
||
"saogonca": _2,
|
||
"seg": _2,
|
||
"sjc": _2,
|
||
"slg": _2,
|
||
"slz": _2,
|
||
"sorocaba": _2,
|
||
"srv": _2,
|
||
"taxi": _2,
|
||
"tc": _2,
|
||
"tec": _2,
|
||
"teo": _2,
|
||
"the": _2,
|
||
"tmp": _2,
|
||
"trd": _2,
|
||
"tur": _2,
|
||
"tv": _2,
|
||
"udi": _2,
|
||
"vet": _2,
|
||
"vix": _2,
|
||
"vlog": _2,
|
||
"wiki": _2,
|
||
"zlg": _2
|
||
}],
|
||
"bs": [1, {
|
||
"com": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"edu": _2,
|
||
"gov": _2,
|
||
"we": _3
|
||
}],
|
||
"bt": _4,
|
||
"bv": _2,
|
||
"bw": [1, {
|
||
"co": _2,
|
||
"org": _2
|
||
}],
|
||
"by": [1, {
|
||
"gov": _2,
|
||
"mil": _2,
|
||
"com": _6,
|
||
"of": _2,
|
||
"mycloud": _3,
|
||
"mediatech": _3
|
||
}],
|
||
"bz": [1, {
|
||
"com": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"edu": _2,
|
||
"gov": _2,
|
||
"za": _3,
|
||
"gsj": _3
|
||
}],
|
||
"ca": [1, {
|
||
"ab": _2,
|
||
"bc": _2,
|
||
"mb": _2,
|
||
"nb": _2,
|
||
"nf": _2,
|
||
"nl": _2,
|
||
"ns": _2,
|
||
"nt": _2,
|
||
"nu": _2,
|
||
"on": _2,
|
||
"pe": _2,
|
||
"qc": _2,
|
||
"sk": _2,
|
||
"yk": _2,
|
||
"gc": _2,
|
||
"barsy": _3,
|
||
"awdev": _5,
|
||
"co": _3,
|
||
"blogspot": _3,
|
||
"no-ip": _3,
|
||
"myspreadshop": _3
|
||
}],
|
||
"cat": _2,
|
||
"cc": [1, {
|
||
"cloudns": _3,
|
||
"ftpaccess": _3,
|
||
"game-server": _3,
|
||
"myphotos": _3,
|
||
"scrapping": _3,
|
||
"twmail": _3,
|
||
"csx": _3,
|
||
"fantasyleague": _3,
|
||
"spawn": [0, {
|
||
"instances": _3
|
||
}]
|
||
}],
|
||
"cd": _7,
|
||
"cf": _6,
|
||
"cg": _2,
|
||
"ch": [1, {
|
||
"square7": _3,
|
||
"blogspot": _3,
|
||
"flow": [0, {
|
||
"ae": [0, {
|
||
"alp1": _3
|
||
}],
|
||
"appengine": _3
|
||
}],
|
||
"linkyard-cloud": _3,
|
||
"dnsking": _3,
|
||
"gotdns": _3,
|
||
"123website": _3,
|
||
"myspreadshop": _3,
|
||
"firenet": [0, {
|
||
"*": _3,
|
||
"svc": _5
|
||
}],
|
||
"12hp": _3,
|
||
"2ix": _3,
|
||
"4lima": _3,
|
||
"lima-city": _3
|
||
}],
|
||
"ci": [1, {
|
||
"org": _2,
|
||
"or": _2,
|
||
"com": _2,
|
||
"co": _2,
|
||
"edu": _2,
|
||
"ed": _2,
|
||
"ac": _2,
|
||
"net": _2,
|
||
"go": _2,
|
||
"asso": _2,
|
||
"xn--aroport-bya": _2,
|
||
"aéroport": _2,
|
||
"int": _2,
|
||
"presse": _2,
|
||
"md": _2,
|
||
"gouv": _2,
|
||
"fin": _3,
|
||
"nl": _3
|
||
}],
|
||
"ck": _8,
|
||
"cl": [1, {
|
||
"co": _2,
|
||
"gob": _2,
|
||
"gov": _2,
|
||
"mil": _2,
|
||
"blogspot": _3
|
||
}],
|
||
"cm": [1, {
|
||
"co": _2,
|
||
"com": _2,
|
||
"gov": _2,
|
||
"net": _2
|
||
}],
|
||
"cn": [1, {
|
||
"ac": _2,
|
||
"com": [1, {
|
||
"amazonaws": [0, {
|
||
"compute": _5,
|
||
"cn-north-1": _12,
|
||
"eb": [0, {
|
||
"cn-north-1": _3,
|
||
"cn-northwest-1": _3
|
||
}],
|
||
"elb": _5
|
||
}]
|
||
}],
|
||
"edu": _2,
|
||
"gov": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"mil": _2,
|
||
"xn--55qx5d": _2,
|
||
"公司": _2,
|
||
"xn--io0a7i": _2,
|
||
"网络": _2,
|
||
"xn--od0alg": _2,
|
||
"網絡": _2,
|
||
"ah": _2,
|
||
"bj": _2,
|
||
"cq": _2,
|
||
"fj": _2,
|
||
"gd": _2,
|
||
"gs": _2,
|
||
"gz": _2,
|
||
"gx": _2,
|
||
"ha": _2,
|
||
"hb": _2,
|
||
"he": _2,
|
||
"hi": _2,
|
||
"hl": _2,
|
||
"hn": _2,
|
||
"jl": _2,
|
||
"js": _2,
|
||
"jx": _2,
|
||
"ln": _2,
|
||
"nm": _2,
|
||
"nx": _2,
|
||
"qh": _2,
|
||
"sc": _2,
|
||
"sd": _2,
|
||
"sh": _2,
|
||
"sn": _2,
|
||
"sx": _2,
|
||
"tj": _2,
|
||
"xj": _2,
|
||
"xz": _2,
|
||
"yn": _2,
|
||
"zj": _2,
|
||
"hk": _2,
|
||
"mo": _2,
|
||
"tw": _2,
|
||
"canva-apps": _3,
|
||
"instantcloud": _3,
|
||
"quickconnect": _13
|
||
}],
|
||
"co": [1, {
|
||
"arts": _2,
|
||
"com": _6,
|
||
"edu": _2,
|
||
"firm": _2,
|
||
"gov": _2,
|
||
"info": _2,
|
||
"int": _2,
|
||
"mil": _2,
|
||
"net": _2,
|
||
"nom": _2,
|
||
"org": _2,
|
||
"rec": _2,
|
||
"web": _2,
|
||
"carrd": _3,
|
||
"crd": _3,
|
||
"otap": _5,
|
||
"leadpages": _3,
|
||
"lpages": _3,
|
||
"mypi": _3,
|
||
"n4t": _3,
|
||
"firewalledreplit": _14,
|
||
"repl": _14,
|
||
"supabase": _3
|
||
}],
|
||
"com": [1, {
|
||
"devcdnaccesso": _5,
|
||
"adobeaemcloud": [2, {
|
||
"dev": _5
|
||
}],
|
||
"airkitapps": _3,
|
||
"airkitapps-au": _3,
|
||
"aivencloud": _3,
|
||
"kasserver": _3,
|
||
"amazonaws": [0, {
|
||
"compute": _5,
|
||
"compute-1": _5,
|
||
"us-east-1": [2, {
|
||
"dualstack": _12,
|
||
"analytics-gateway": _3,
|
||
"aws-cloud9": _15,
|
||
"cloud9": _16
|
||
}],
|
||
"ap-northeast-1": _18,
|
||
"ap-northeast-2": _19,
|
||
"ap-south-1": _19,
|
||
"ap-southeast-1": _20,
|
||
"ap-southeast-2": _20,
|
||
"ca-central-1": _19,
|
||
"eu-central-1": _19,
|
||
"eu-west-1": _18,
|
||
"eu-west-2": _19,
|
||
"eu-west-3": _19,
|
||
"s3": _3,
|
||
"s3-ap-northeast-1": _3,
|
||
"s3-ap-northeast-2": _3,
|
||
"s3-ap-south-1": _3,
|
||
"s3-ap-southeast-1": _3,
|
||
"s3-ap-southeast-2": _3,
|
||
"s3-ca-central-1": _3,
|
||
"s3-eu-central-1": _3,
|
||
"s3-eu-west-1": _3,
|
||
"s3-eu-west-2": _3,
|
||
"s3-eu-west-3": _3,
|
||
"s3-external-1": _3,
|
||
"s3-fips-us-gov-west-1": _3,
|
||
"s3-sa-east-1": _3,
|
||
"s3-us-east-2": _3,
|
||
"s3-us-gov-west-1": _3,
|
||
"s3-us-west-1": _3,
|
||
"s3-us-west-2": _3,
|
||
"s3-website-ap-northeast-1": _3,
|
||
"s3-website-ap-southeast-1": _3,
|
||
"s3-website-ap-southeast-2": _3,
|
||
"s3-website-eu-west-1": _3,
|
||
"s3-website-sa-east-1": _3,
|
||
"s3-website-us-east-1": _3,
|
||
"s3-website-us-west-1": _3,
|
||
"s3-website-us-west-2": _3,
|
||
"sa-east-1": _20,
|
||
"us-east-2": [0, {
|
||
"dualstack": _12,
|
||
"s3": _3,
|
||
"s3-website": _3,
|
||
"analytics-gateway": _3,
|
||
"aws-cloud9": _15,
|
||
"cloud9": _16
|
||
}],
|
||
"us-west-2": [0, {
|
||
"analytics-gateway": _3,
|
||
"aws-cloud9": _15,
|
||
"cloud9": _16
|
||
}],
|
||
"af-south-1": _17,
|
||
"ap-east-1": _17,
|
||
"ap-northeast-3": _17,
|
||
"eu-north-1": _17,
|
||
"eu-south-1": _17,
|
||
"me-south-1": _17,
|
||
"us-west-1": _17,
|
||
"elb": _5
|
||
}],
|
||
"elasticbeanstalk": [2, {
|
||
"ap-northeast-1": _3,
|
||
"ap-northeast-2": _3,
|
||
"ap-northeast-3": _3,
|
||
"ap-south-1": _3,
|
||
"ap-southeast-1": _3,
|
||
"ap-southeast-2": _3,
|
||
"ca-central-1": _3,
|
||
"eu-central-1": _3,
|
||
"eu-west-1": _3,
|
||
"eu-west-2": _3,
|
||
"eu-west-3": _3,
|
||
"sa-east-1": _3,
|
||
"us-east-1": _3,
|
||
"us-east-2": _3,
|
||
"us-gov-west-1": _3,
|
||
"us-west-1": _3,
|
||
"us-west-2": _3
|
||
}],
|
||
"awsglobalaccelerator": _3,
|
||
"siiites": _3,
|
||
"appspacehosted": _3,
|
||
"appspaceusercontent": _3,
|
||
"on-aptible": _3,
|
||
"myasustor": _3,
|
||
"balena-devices": _3,
|
||
"betainabox": _3,
|
||
"boutir": _3,
|
||
"bplaced": _3,
|
||
"cafjs": _3,
|
||
"canva-apps": _3,
|
||
"br": _3,
|
||
"cn": _3,
|
||
"de": _3,
|
||
"eu": _3,
|
||
"jpn": _3,
|
||
"mex": _3,
|
||
"ru": _3,
|
||
"sa": _3,
|
||
"uk": _3,
|
||
"us": _3,
|
||
"za": _3,
|
||
"ar": _3,
|
||
"hu": _3,
|
||
"kr": _3,
|
||
"no": _3,
|
||
"qc": _3,
|
||
"uy": _3,
|
||
"africa": _3,
|
||
"gr": _3,
|
||
"co": _3,
|
||
"jdevcloud": _3,
|
||
"wpdevcloud": _3,
|
||
"cloudcontrolled": _3,
|
||
"cloudcontrolapp": _3,
|
||
"cf-ipfs": _3,
|
||
"cloudflare-ipfs": _3,
|
||
"trycloudflare": _3,
|
||
"customer-oci": [0, {
|
||
"*": _3,
|
||
"oci": _5,
|
||
"ocp": _5,
|
||
"ocs": _5
|
||
}],
|
||
"dattolocal": _3,
|
||
"dattorelay": _3,
|
||
"dattoweb": _3,
|
||
"mydatto": _3,
|
||
"builtwithdark": _3,
|
||
"datadetect": [0, {
|
||
"demo": _3,
|
||
"instance": _3
|
||
}],
|
||
"ddns5": _3,
|
||
"discordsays": _3,
|
||
"discordsez": _3,
|
||
"drayddns": _3,
|
||
"dreamhosters": _3,
|
||
"mydrobo": _3,
|
||
"dyndns-at-home": _3,
|
||
"dyndns-at-work": _3,
|
||
"dyndns-blog": _3,
|
||
"dyndns-free": _3,
|
||
"dyndns-home": _3,
|
||
"dyndns-ip": _3,
|
||
"dyndns-mail": _3,
|
||
"dyndns-office": _3,
|
||
"dyndns-pics": _3,
|
||
"dyndns-remote": _3,
|
||
"dyndns-server": _3,
|
||
"dyndns-web": _3,
|
||
"dyndns-wiki": _3,
|
||
"dyndns-work": _3,
|
||
"blogdns": _3,
|
||
"cechire": _3,
|
||
"dnsalias": _3,
|
||
"dnsdojo": _3,
|
||
"doesntexist": _3,
|
||
"dontexist": _3,
|
||
"doomdns": _3,
|
||
"dyn-o-saur": _3,
|
||
"dynalias": _3,
|
||
"est-a-la-maison": _3,
|
||
"est-a-la-masion": _3,
|
||
"est-le-patron": _3,
|
||
"est-mon-blogueur": _3,
|
||
"from-ak": _3,
|
||
"from-al": _3,
|
||
"from-ar": _3,
|
||
"from-ca": _3,
|
||
"from-ct": _3,
|
||
"from-dc": _3,
|
||
"from-de": _3,
|
||
"from-fl": _3,
|
||
"from-ga": _3,
|
||
"from-hi": _3,
|
||
"from-ia": _3,
|
||
"from-id": _3,
|
||
"from-il": _3,
|
||
"from-in": _3,
|
||
"from-ks": _3,
|
||
"from-ky": _3,
|
||
"from-ma": _3,
|
||
"from-md": _3,
|
||
"from-mi": _3,
|
||
"from-mn": _3,
|
||
"from-mo": _3,
|
||
"from-ms": _3,
|
||
"from-mt": _3,
|
||
"from-nc": _3,
|
||
"from-nd": _3,
|
||
"from-ne": _3,
|
||
"from-nh": _3,
|
||
"from-nj": _3,
|
||
"from-nm": _3,
|
||
"from-nv": _3,
|
||
"from-oh": _3,
|
||
"from-ok": _3,
|
||
"from-or": _3,
|
||
"from-pa": _3,
|
||
"from-pr": _3,
|
||
"from-ri": _3,
|
||
"from-sc": _3,
|
||
"from-sd": _3,
|
||
"from-tn": _3,
|
||
"from-tx": _3,
|
||
"from-ut": _3,
|
||
"from-va": _3,
|
||
"from-vt": _3,
|
||
"from-wa": _3,
|
||
"from-wi": _3,
|
||
"from-wv": _3,
|
||
"from-wy": _3,
|
||
"getmyip": _3,
|
||
"gotdns": _3,
|
||
"hobby-site": _3,
|
||
"homelinux": _3,
|
||
"homeunix": _3,
|
||
"iamallama": _3,
|
||
"is-a-anarchist": _3,
|
||
"is-a-blogger": _3,
|
||
"is-a-bookkeeper": _3,
|
||
"is-a-bulls-fan": _3,
|
||
"is-a-caterer": _3,
|
||
"is-a-chef": _3,
|
||
"is-a-conservative": _3,
|
||
"is-a-cpa": _3,
|
||
"is-a-cubicle-slave": _3,
|
||
"is-a-democrat": _3,
|
||
"is-a-designer": _3,
|
||
"is-a-doctor": _3,
|
||
"is-a-financialadvisor": _3,
|
||
"is-a-geek": _3,
|
||
"is-a-green": _3,
|
||
"is-a-guru": _3,
|
||
"is-a-hard-worker": _3,
|
||
"is-a-hunter": _3,
|
||
"is-a-landscaper": _3,
|
||
"is-a-lawyer": _3,
|
||
"is-a-liberal": _3,
|
||
"is-a-libertarian": _3,
|
||
"is-a-llama": _3,
|
||
"is-a-musician": _3,
|
||
"is-a-nascarfan": _3,
|
||
"is-a-nurse": _3,
|
||
"is-a-painter": _3,
|
||
"is-a-personaltrainer": _3,
|
||
"is-a-photographer": _3,
|
||
"is-a-player": _3,
|
||
"is-a-republican": _3,
|
||
"is-a-rockstar": _3,
|
||
"is-a-socialist": _3,
|
||
"is-a-student": _3,
|
||
"is-a-teacher": _3,
|
||
"is-a-techie": _3,
|
||
"is-a-therapist": _3,
|
||
"is-an-accountant": _3,
|
||
"is-an-actor": _3,
|
||
"is-an-actress": _3,
|
||
"is-an-anarchist": _3,
|
||
"is-an-artist": _3,
|
||
"is-an-engineer": _3,
|
||
"is-an-entertainer": _3,
|
||
"is-certified": _3,
|
||
"is-gone": _3,
|
||
"is-into-anime": _3,
|
||
"is-into-cars": _3,
|
||
"is-into-cartoons": _3,
|
||
"is-into-games": _3,
|
||
"is-leet": _3,
|
||
"is-not-certified": _3,
|
||
"is-slick": _3,
|
||
"is-uberleet": _3,
|
||
"is-with-theband": _3,
|
||
"isa-geek": _3,
|
||
"isa-hockeynut": _3,
|
||
"issmarterthanyou": _3,
|
||
"likes-pie": _3,
|
||
"likescandy": _3,
|
||
"neat-url": _3,
|
||
"saves-the-whales": _3,
|
||
"selfip": _3,
|
||
"sells-for-less": _3,
|
||
"sells-for-u": _3,
|
||
"servebbs": _3,
|
||
"simple-url": _3,
|
||
"space-to-rent": _3,
|
||
"teaches-yoga": _3,
|
||
"writesthisblog": _3,
|
||
"digitaloceanspaces": _5,
|
||
"ddnsfree": _3,
|
||
"ddnsgeek": _3,
|
||
"giize": _3,
|
||
"gleeze": _3,
|
||
"kozow": _3,
|
||
"loseyourip": _3,
|
||
"ooguy": _3,
|
||
"theworkpc": _3,
|
||
"mytuleap": _3,
|
||
"tuleap-partners": _3,
|
||
"encoreapi": _3,
|
||
"evennode": [0, {
|
||
"eu-1": _3,
|
||
"eu-2": _3,
|
||
"eu-3": _3,
|
||
"eu-4": _3,
|
||
"us-1": _3,
|
||
"us-2": _3,
|
||
"us-3": _3,
|
||
"us-4": _3
|
||
}],
|
||
"onfabrica": _3,
|
||
"fbsbx": _21,
|
||
"fastly-edge": _3,
|
||
"fastly-terrarium": _3,
|
||
"fastvps-server": _3,
|
||
"mydobiss": _3,
|
||
"firebaseapp": _3,
|
||
"fldrv": _3,
|
||
"forgeblocks": _3,
|
||
"framercanvas": _3,
|
||
"freebox-os": _3,
|
||
"freeboxos": _3,
|
||
"freemyip": _3,
|
||
"gentapps": _3,
|
||
"gentlentapis": _3,
|
||
"githubusercontent": _3,
|
||
"0emm": _5,
|
||
"appspot": [2, {
|
||
"r": _5
|
||
}],
|
||
"codespot": _3,
|
||
"googleapis": _3,
|
||
"googlecode": _3,
|
||
"pagespeedmobilizer": _3,
|
||
"publishproxy": _3,
|
||
"withgoogle": _3,
|
||
"withyoutube": _3,
|
||
"blogspot": _3,
|
||
"awsmppl": _3,
|
||
"herokuapp": _3,
|
||
"herokussl": _3,
|
||
"impertrixcdn": _3,
|
||
"impertrix": _3,
|
||
"smushcdn": _3,
|
||
"wphostedmail": _3,
|
||
"wpmucdn": _3,
|
||
"pixolino": _3,
|
||
"amscompute": _3,
|
||
"dopaas": _3,
|
||
"hosted-by-previder": _22,
|
||
"hosteur": [0, {
|
||
"rag-cloud": _3,
|
||
"rag-cloud-ch": _3
|
||
}],
|
||
"ik-server": [0, {
|
||
"jcloud": _3,
|
||
"jcloud-ver-jpc": _3
|
||
}],
|
||
"jelastic": [0, {
|
||
"demo": _3
|
||
}],
|
||
"kilatiron": _3,
|
||
"massivegrid": _22,
|
||
"wafaicloud": [0, {
|
||
"jed": _3,
|
||
"lon": _3,
|
||
"ryd": _3
|
||
}],
|
||
"joyent": [0, {
|
||
"cns": _5
|
||
}],
|
||
"ktistory": _3,
|
||
"lpusercontent": _3,
|
||
"lmpm": _23,
|
||
"linode": [0, {
|
||
"members": _3,
|
||
"nodebalancer": _5
|
||
}],
|
||
"linodeobjects": _5,
|
||
"linodeusercontent": [0, {
|
||
"ip": _3
|
||
}],
|
||
"barsycenter": _3,
|
||
"barsyonline": _3,
|
||
"mazeplay": _3,
|
||
"miniserver": _3,
|
||
"meteorapp": _24,
|
||
"hostedpi": _3,
|
||
"mythic-beasts": [0, {
|
||
"customer": _3,
|
||
"caracal": _3,
|
||
"fentiger": _3,
|
||
"lynx": _3,
|
||
"ocelot": _3,
|
||
"oncilla": _3,
|
||
"onza": _3,
|
||
"sphinx": _3,
|
||
"vs": _3,
|
||
"x": _3,
|
||
"yali": _3
|
||
}],
|
||
"nospamproxy": _9,
|
||
"4u": _3,
|
||
"nfshost": _3,
|
||
"001www": _3,
|
||
"ddnslive": _3,
|
||
"myiphost": _3,
|
||
"blogsyte": _3,
|
||
"ciscofreak": _3,
|
||
"damnserver": _3,
|
||
"ditchyourip": _3,
|
||
"dnsiskinky": _3,
|
||
"dynns": _3,
|
||
"geekgalaxy": _3,
|
||
"health-carereform": _3,
|
||
"homesecuritymac": _3,
|
||
"homesecuritypc": _3,
|
||
"myactivedirectory": _3,
|
||
"mysecuritycamera": _3,
|
||
"net-freaks": _3,
|
||
"onthewifi": _3,
|
||
"point2this": _3,
|
||
"quicksytes": _3,
|
||
"securitytactics": _3,
|
||
"serveexchange": _3,
|
||
"servehumour": _3,
|
||
"servep2p": _3,
|
||
"servesarcasm": _3,
|
||
"stufftoread": _3,
|
||
"unusualperson": _3,
|
||
"workisboring": _3,
|
||
"3utilities": _3,
|
||
"ddnsking": _3,
|
||
"myvnc": _3,
|
||
"servebeer": _3,
|
||
"servecounterstrike": _3,
|
||
"serveftp": _3,
|
||
"servegame": _3,
|
||
"servehalflife": _3,
|
||
"servehttp": _3,
|
||
"serveirc": _3,
|
||
"servemp3": _3,
|
||
"servepics": _3,
|
||
"servequake": _3,
|
||
"observableusercontent": [0, {
|
||
"static": _3
|
||
}],
|
||
"simplesite": _3,
|
||
"orsites": _3,
|
||
"operaunite": _3,
|
||
"authgear-staging": _3,
|
||
"authgearapps": _3,
|
||
"skygearapp": _3,
|
||
"outsystemscloud": _3,
|
||
"ownprovider": _3,
|
||
"pgfog": _3,
|
||
"pagefrontapp": _3,
|
||
"pagexl": _3,
|
||
"paywhirl": _5,
|
||
"gotpantheon": _3,
|
||
"platter-app": _3,
|
||
"pleskns": _3,
|
||
"postman-echo": _3,
|
||
"prgmr": [0, {
|
||
"xen": _3
|
||
}],
|
||
"pythonanywhere": _24,
|
||
"qualifioapp": _3,
|
||
"ladesk": _3,
|
||
"qbuser": _3,
|
||
"qa2": _3,
|
||
"dev-myqnapcloud": _3,
|
||
"alpha-myqnapcloud": _3,
|
||
"myqnapcloud": _3,
|
||
"quipelements": _5,
|
||
"rackmaze": _3,
|
||
"rhcloud": _3,
|
||
"render": _23,
|
||
"onrender": _3,
|
||
"180r": _3,
|
||
"dojin": _3,
|
||
"sakuratan": _3,
|
||
"sakuraweb": _3,
|
||
"x0": _3,
|
||
"code": [0, {
|
||
"builder": _5,
|
||
"dev-builder": _5,
|
||
"stg-builder": _5
|
||
}],
|
||
"logoip": _3,
|
||
"scrysec": _3,
|
||
"firewall-gateway": _3,
|
||
"myshopblocks": _3,
|
||
"myshopify": _3,
|
||
"shopitsite": _3,
|
||
"1kapp": _3,
|
||
"appchizi": _3,
|
||
"applinzi": _3,
|
||
"sinaapp": _3,
|
||
"vipsinaapp": _3,
|
||
"bounty-full": [2, {
|
||
"alpha": _3,
|
||
"beta": _3
|
||
}],
|
||
"streamlitapp": _3,
|
||
"try-snowplow": _3,
|
||
"stackhero-network": _3,
|
||
"playstation-cloud": _3,
|
||
"myspreadshop": _3,
|
||
"stdlib": [0, {
|
||
"api": _3
|
||
}],
|
||
"temp-dns": _3,
|
||
"dsmynas": _3,
|
||
"familyds": _3,
|
||
"mytabit": _3,
|
||
"tb-hosting": _25,
|
||
"reservd": _3,
|
||
"thingdustdata": _3,
|
||
"bloxcms": _3,
|
||
"townnews-staging": _3,
|
||
"typeform": [0, {
|
||
"pro": _3
|
||
}],
|
||
"hk": _3,
|
||
"it": _3,
|
||
"vultrobjects": _5,
|
||
"wafflecell": _3,
|
||
"reserve-online": _3,
|
||
"hotelwithflight": _3,
|
||
"remotewd": _3,
|
||
"wiardweb": _26,
|
||
"messwithdns": _3,
|
||
"woltlab-demo": _3,
|
||
"wpenginepowered": [2, {
|
||
"js": _3
|
||
}],
|
||
"wixsite": _3,
|
||
"xnbay": [2, {
|
||
"u2": _3,
|
||
"u2-local": _3
|
||
}],
|
||
"yolasite": _3
|
||
}],
|
||
"coop": _2,
|
||
"cr": [1, {
|
||
"ac": _2,
|
||
"co": _2,
|
||
"ed": _2,
|
||
"fi": _2,
|
||
"go": _2,
|
||
"or": _2,
|
||
"sa": _2
|
||
}],
|
||
"cu": [1, {
|
||
"com": _2,
|
||
"edu": _2,
|
||
"org": _2,
|
||
"net": _2,
|
||
"gov": _2,
|
||
"inf": _2
|
||
}],
|
||
"cv": [1, {
|
||
"com": _2,
|
||
"edu": _2,
|
||
"int": _2,
|
||
"nome": _2,
|
||
"org": _2,
|
||
"blogspot": _3
|
||
}],
|
||
"cw": _27,
|
||
"cx": [1, {
|
||
"gov": _2,
|
||
"ath": _3,
|
||
"info": _3
|
||
}],
|
||
"cy": [1, {
|
||
"ac": _2,
|
||
"biz": _2,
|
||
"com": [1, {
|
||
"blogspot": _3,
|
||
"scaleforce": _28
|
||
}],
|
||
"ekloges": _2,
|
||
"gov": _2,
|
||
"ltd": _2,
|
||
"mil": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"press": _2,
|
||
"pro": _2,
|
||
"tm": _2
|
||
}],
|
||
"cz": [1, {
|
||
"co": _3,
|
||
"realm": _3,
|
||
"e4": _3,
|
||
"blogspot": _3,
|
||
"metacentrum": [0, {
|
||
"cloud": _5,
|
||
"custom": _3
|
||
}],
|
||
"muni": [0, {
|
||
"cloud": [0, {
|
||
"flt": _3,
|
||
"usr": _3
|
||
}]
|
||
}]
|
||
}],
|
||
"de": [1, {
|
||
"bplaced": _3,
|
||
"square7": _3,
|
||
"com": _3,
|
||
"cosidns": [0, {
|
||
"dyn": _3
|
||
}],
|
||
"dynamisches-dns": _3,
|
||
"dnsupdater": _3,
|
||
"internet-dns": _3,
|
||
"l-o-g-i-n": _3,
|
||
"dnshome": _3,
|
||
"fuettertdasnetz": _3,
|
||
"isteingeek": _3,
|
||
"istmein": _3,
|
||
"lebtimnetz": _3,
|
||
"leitungsen": _3,
|
||
"traeumtgerade": _3,
|
||
"ddnss": [2, {
|
||
"dyn": _3,
|
||
"dyndns": _3
|
||
}],
|
||
"dyndns1": _3,
|
||
"dyn-ip24": _3,
|
||
"home-webserver": [2, {
|
||
"dyn": _3
|
||
}],
|
||
"myhome-server": _3,
|
||
"frusky": _5,
|
||
"goip": _3,
|
||
"blogspot": _3,
|
||
"xn--gnstigbestellen-zvb": _3,
|
||
"günstigbestellen": _3,
|
||
"xn--gnstigliefern-wob": _3,
|
||
"günstigliefern": _3,
|
||
"hs-heilbronn": [0, {
|
||
"it": _26
|
||
}],
|
||
"dyn-berlin": _3,
|
||
"in-berlin": _3,
|
||
"in-brb": _3,
|
||
"in-butter": _3,
|
||
"in-dsl": _3,
|
||
"in-vpn": _3,
|
||
"iservschule": _3,
|
||
"mein-iserv": _3,
|
||
"schulplattform": _3,
|
||
"schulserver": _3,
|
||
"test-iserv": _3,
|
||
"keymachine": _3,
|
||
"git-repos": _3,
|
||
"lcube-server": _3,
|
||
"svn-repos": _3,
|
||
"barsy": _3,
|
||
"123webseite": _3,
|
||
"logoip": _3,
|
||
"firewall-gateway": _3,
|
||
"my-gateway": _3,
|
||
"my-router": _3,
|
||
"spdns": _3,
|
||
"speedpartner": [0, {
|
||
"customer": _3
|
||
}],
|
||
"myspreadshop": _3,
|
||
"taifun-dns": _3,
|
||
"12hp": _3,
|
||
"2ix": _3,
|
||
"4lima": _3,
|
||
"lima-city": _3,
|
||
"dd-dns": _3,
|
||
"dray-dns": _3,
|
||
"draydns": _3,
|
||
"dyn-vpn": _3,
|
||
"dynvpn": _3,
|
||
"mein-vigor": _3,
|
||
"my-vigor": _3,
|
||
"my-wan": _3,
|
||
"syno-ds": _3,
|
||
"synology-diskstation": _3,
|
||
"synology-ds": _3,
|
||
"uberspace": _5,
|
||
"virtualuser": _3,
|
||
"virtual-user": _3,
|
||
"community-pro": _3,
|
||
"diskussionsbereich": _3
|
||
}],
|
||
"dj": _2,
|
||
"dk": [1, {
|
||
"biz": _3,
|
||
"co": _3,
|
||
"firm": _3,
|
||
"reg": _3,
|
||
"store": _3,
|
||
"blogspot": _3,
|
||
"123hjemmeside": _3,
|
||
"myspreadshop": _3
|
||
}],
|
||
"dm": _4,
|
||
"do": [1, {
|
||
"art": _2,
|
||
"com": _2,
|
||
"edu": _2,
|
||
"gob": _2,
|
||
"gov": _2,
|
||
"mil": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"sld": _2,
|
||
"web": _2
|
||
}],
|
||
"dz": [1, {
|
||
"art": _2,
|
||
"asso": _2,
|
||
"com": _2,
|
||
"edu": _2,
|
||
"gov": _2,
|
||
"org": _2,
|
||
"net": _2,
|
||
"pol": _2,
|
||
"soc": _2,
|
||
"tm": _2
|
||
}],
|
||
"ec": [1, {
|
||
"com": _2,
|
||
"info": _2,
|
||
"net": _2,
|
||
"fin": _2,
|
||
"k12": _2,
|
||
"med": _2,
|
||
"pro": _2,
|
||
"org": _2,
|
||
"edu": _2,
|
||
"gov": _2,
|
||
"gob": _2,
|
||
"mil": _2,
|
||
"base": _3,
|
||
"official": _3
|
||
}],
|
||
"edu": [1, {
|
||
"rit": [0, {
|
||
"git-pages": _3
|
||
}]
|
||
}],
|
||
"ee": [1, {
|
||
"edu": _2,
|
||
"gov": _2,
|
||
"riik": _2,
|
||
"lib": _2,
|
||
"med": _2,
|
||
"com": _6,
|
||
"pri": _2,
|
||
"aip": _2,
|
||
"org": _2,
|
||
"fie": _2
|
||
}],
|
||
"eg": [1, {
|
||
"com": _6,
|
||
"edu": _2,
|
||
"eun": _2,
|
||
"gov": _2,
|
||
"mil": _2,
|
||
"name": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"sci": _2
|
||
}],
|
||
"er": _8,
|
||
"es": [1, {
|
||
"com": _6,
|
||
"nom": _2,
|
||
"org": _2,
|
||
"gob": _2,
|
||
"edu": _2,
|
||
"123miweb": _3,
|
||
"myspreadshop": _3
|
||
}],
|
||
"et": [1, {
|
||
"com": _2,
|
||
"gov": _2,
|
||
"org": _2,
|
||
"edu": _2,
|
||
"biz": _2,
|
||
"name": _2,
|
||
"info": _2,
|
||
"net": _2
|
||
}],
|
||
"eu": [1, {
|
||
"airkitapps": _3,
|
||
"mycd": _3,
|
||
"cloudns": _3,
|
||
"dogado": _29,
|
||
"barsy": _3,
|
||
"wellbeingzone": _3,
|
||
"spdns": _3,
|
||
"transurl": _5,
|
||
"diskstation": _3
|
||
}],
|
||
"fi": [1, {
|
||
"aland": _2,
|
||
"dy": _3,
|
||
"blogspot": _3,
|
||
"xn--hkkinen-5wa": _3,
|
||
"häkkinen": _3,
|
||
"iki": _3,
|
||
"cloudplatform": [0, {
|
||
"fi": _3
|
||
}],
|
||
"datacenter": [0, {
|
||
"demo": _3,
|
||
"paas": _3
|
||
}],
|
||
"kapsi": _3,
|
||
"123kotisivu": _3,
|
||
"myspreadshop": _3
|
||
}],
|
||
"fj": [1, {
|
||
"ac": _2,
|
||
"biz": _2,
|
||
"com": _2,
|
||
"gov": _2,
|
||
"info": _2,
|
||
"mil": _2,
|
||
"name": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"pro": _2
|
||
}],
|
||
"fk": _8,
|
||
"fm": [1, {
|
||
"com": _2,
|
||
"edu": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"radio": _3,
|
||
"user": _5
|
||
}],
|
||
"fo": _2,
|
||
"fr": [1, {
|
||
"asso": _2,
|
||
"com": _2,
|
||
"gouv": _2,
|
||
"nom": _2,
|
||
"prd": _2,
|
||
"tm": _2,
|
||
"aeroport": _2,
|
||
"avocat": _2,
|
||
"avoues": _2,
|
||
"cci": _2,
|
||
"chambagri": _2,
|
||
"chirurgiens-dentistes": _2,
|
||
"experts-comptables": _2,
|
||
"geometre-expert": _2,
|
||
"greta": _2,
|
||
"huissier-justice": _2,
|
||
"medecin": _2,
|
||
"notaires": _2,
|
||
"pharmacien": _2,
|
||
"port": _2,
|
||
"veterinaire": _2,
|
||
"en-root": _3,
|
||
"fbx-os": _3,
|
||
"fbxos": _3,
|
||
"freebox-os": _3,
|
||
"freeboxos": _3,
|
||
"blogspot": _3,
|
||
"goupile": _3,
|
||
"123siteweb": _3,
|
||
"on-web": _3,
|
||
"chirurgiens-dentistes-en-france": _3,
|
||
"dedibox": _3,
|
||
"myspreadshop": _3,
|
||
"ynh": _3
|
||
}],
|
||
"ga": _2,
|
||
"gb": _2,
|
||
"gd": [1, {
|
||
"edu": _2,
|
||
"gov": _2
|
||
}],
|
||
"ge": [1, {
|
||
"com": _2,
|
||
"edu": _2,
|
||
"gov": _2,
|
||
"org": _2,
|
||
"mil": _2,
|
||
"net": _2,
|
||
"pvt": _2
|
||
}],
|
||
"gf": _2,
|
||
"gg": [1, {
|
||
"co": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"kaas": _3,
|
||
"cya": _3,
|
||
"panel": [2, {
|
||
"daemon": _3
|
||
}]
|
||
}],
|
||
"gh": [1, {
|
||
"com": _2,
|
||
"edu": _2,
|
||
"gov": _2,
|
||
"org": _2,
|
||
"mil": _2
|
||
}],
|
||
"gi": [1, {
|
||
"com": _2,
|
||
"ltd": _2,
|
||
"gov": _2,
|
||
"mod": _2,
|
||
"edu": _2,
|
||
"org": _2
|
||
}],
|
||
"gl": [1, {
|
||
"co": _2,
|
||
"com": _2,
|
||
"edu": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"biz": _3,
|
||
"xx": _3
|
||
}],
|
||
"gm": _2,
|
||
"gn": [1, {
|
||
"ac": _2,
|
||
"com": _2,
|
||
"edu": _2,
|
||
"gov": _2,
|
||
"org": _2,
|
||
"net": _2
|
||
}],
|
||
"gov": _2,
|
||
"gp": [1, {
|
||
"com": _2,
|
||
"net": _2,
|
||
"mobi": _2,
|
||
"edu": _2,
|
||
"org": _2,
|
||
"asso": _2,
|
||
"app": _3
|
||
}],
|
||
"gq": _2,
|
||
"gr": [1, {
|
||
"com": _2,
|
||
"edu": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"gov": _2,
|
||
"blogspot": _3,
|
||
"simplesite": _3
|
||
}],
|
||
"gs": _2,
|
||
"gt": [1, {
|
||
"com": _2,
|
||
"edu": _2,
|
||
"gob": _2,
|
||
"ind": _2,
|
||
"mil": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"blog": _3,
|
||
"de": _3,
|
||
"to": _3
|
||
}],
|
||
"gu": [1, {
|
||
"com": _2,
|
||
"edu": _2,
|
||
"gov": _2,
|
||
"guam": _2,
|
||
"info": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"web": _2
|
||
}],
|
||
"gw": _2,
|
||
"gy": [1, {
|
||
"co": _2,
|
||
"com": _2,
|
||
"edu": _2,
|
||
"gov": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"be": _3
|
||
}],
|
||
"hk": [1, {
|
||
"com": _2,
|
||
"edu": _2,
|
||
"gov": _2,
|
||
"idv": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"xn--55qx5d": _2,
|
||
"公司": _2,
|
||
"xn--wcvs22d": _2,
|
||
"教育": _2,
|
||
"xn--lcvr32d": _2,
|
||
"敎育": _2,
|
||
"xn--mxtq1m": _2,
|
||
"政府": _2,
|
||
"xn--gmqw5a": _2,
|
||
"個人": _2,
|
||
"xn--ciqpn": _2,
|
||
"个人": _2,
|
||
"xn--gmq050i": _2,
|
||
"箇人": _2,
|
||
"xn--zf0avx": _2,
|
||
"網络": _2,
|
||
"xn--io0a7i": _2,
|
||
"网络": _2,
|
||
"xn--mk0axi": _2,
|
||
"组織": _2,
|
||
"xn--od0alg": _2,
|
||
"網絡": _2,
|
||
"xn--od0aq3b": _2,
|
||
"网絡": _2,
|
||
"xn--tn0ag": _2,
|
||
"组织": _2,
|
||
"xn--uc0atv": _2,
|
||
"組織": _2,
|
||
"xn--uc0ay4a": _2,
|
||
"組织": _2,
|
||
"blogspot": _3,
|
||
"secaas": _3,
|
||
"ltd": _3,
|
||
"inc": _3
|
||
}],
|
||
"hm": _2,
|
||
"hn": [1, {
|
||
"com": _2,
|
||
"edu": _2,
|
||
"org": _2,
|
||
"net": _2,
|
||
"mil": _2,
|
||
"gob": _2,
|
||
"cc": _3
|
||
}],
|
||
"hr": [1, {
|
||
"iz": _2,
|
||
"from": _2,
|
||
"name": _2,
|
||
"com": _2,
|
||
"blogspot": _3,
|
||
"free": _3
|
||
}],
|
||
"ht": [1, {
|
||
"com": _2,
|
||
"shop": _2,
|
||
"firm": _2,
|
||
"info": _2,
|
||
"adult": _2,
|
||
"net": _2,
|
||
"pro": _2,
|
||
"org": _2,
|
||
"med": _2,
|
||
"art": _2,
|
||
"coop": _2,
|
||
"pol": _2,
|
||
"asso": _2,
|
||
"edu": _2,
|
||
"rel": _2,
|
||
"gouv": _2,
|
||
"perso": _2
|
||
}],
|
||
"hu": [1, {
|
||
"2000": _2,
|
||
"co": _2,
|
||
"info": _2,
|
||
"org": _2,
|
||
"priv": _2,
|
||
"sport": _2,
|
||
"tm": _2,
|
||
"agrar": _2,
|
||
"bolt": _2,
|
||
"casino": _2,
|
||
"city": _2,
|
||
"erotica": _2,
|
||
"erotika": _2,
|
||
"film": _2,
|
||
"forum": _2,
|
||
"games": _2,
|
||
"hotel": _2,
|
||
"ingatlan": _2,
|
||
"jogasz": _2,
|
||
"konyvelo": _2,
|
||
"lakas": _2,
|
||
"media": _2,
|
||
"news": _2,
|
||
"reklam": _2,
|
||
"sex": _2,
|
||
"shop": _2,
|
||
"suli": _2,
|
||
"szex": _2,
|
||
"tozsde": _2,
|
||
"utazas": _2,
|
||
"video": _2,
|
||
"blogspot": _3
|
||
}],
|
||
"id": [1, {
|
||
"ac": _2,
|
||
"biz": _2,
|
||
"co": _6,
|
||
"desa": _2,
|
||
"go": _2,
|
||
"mil": _2,
|
||
"my": [1, {
|
||
"rss": _5
|
||
}],
|
||
"net": _2,
|
||
"or": _2,
|
||
"ponpes": _2,
|
||
"sch": _2,
|
||
"web": _2,
|
||
"flap": _3,
|
||
"forte": _3
|
||
}],
|
||
"ie": [1, {
|
||
"gov": _2,
|
||
"blogspot": _3,
|
||
"myspreadshop": _3
|
||
}],
|
||
"il": [1, {
|
||
"ac": _2,
|
||
"co": [1, {
|
||
"ravpage": _3,
|
||
"blogspot": _3,
|
||
"tabitorder": _3,
|
||
"mytabit": _3
|
||
}],
|
||
"gov": _2,
|
||
"idf": _2,
|
||
"k12": _2,
|
||
"muni": _2,
|
||
"net": _2,
|
||
"org": _2
|
||
}],
|
||
"xn--4dbrk0ce": [1, {
|
||
"xn--4dbgdty6c": _2,
|
||
"xn--5dbhl8d": _2,
|
||
"xn--8dbq2a": _2,
|
||
"xn--hebda8b": _2
|
||
}],
|
||
"ישראל": [1, {
|
||
"אקדמיה": _2,
|
||
"ישוב": _2,
|
||
"צהל": _2,
|
||
"ממשל": _2
|
||
}],
|
||
"im": [1, {
|
||
"ac": _2,
|
||
"co": [1, {
|
||
"ltd": _2,
|
||
"plc": _2
|
||
}],
|
||
"com": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"tt": _2,
|
||
"tv": _2,
|
||
"ro": _3
|
||
}],
|
||
"in": [1, {
|
||
"5g": _2,
|
||
"6g": _2,
|
||
"ac": _2,
|
||
"ai": _2,
|
||
"am": _2,
|
||
"bihar": _2,
|
||
"biz": _2,
|
||
"business": _2,
|
||
"ca": _2,
|
||
"cn": _2,
|
||
"co": _2,
|
||
"com": _2,
|
||
"coop": _2,
|
||
"cs": _2,
|
||
"delhi": _2,
|
||
"dr": _2,
|
||
"edu": _2,
|
||
"er": _2,
|
||
"firm": _2,
|
||
"gen": _2,
|
||
"gov": _2,
|
||
"gujarat": _2,
|
||
"ind": _2,
|
||
"info": _2,
|
||
"int": _2,
|
||
"internet": _2,
|
||
"io": _2,
|
||
"me": _2,
|
||
"mil": _2,
|
||
"net": _2,
|
||
"nic": _2,
|
||
"org": _2,
|
||
"pg": _2,
|
||
"post": _2,
|
||
"pro": _2,
|
||
"res": _2,
|
||
"travel": _2,
|
||
"tv": _2,
|
||
"uk": _2,
|
||
"up": _2,
|
||
"us": _2,
|
||
"web": _3,
|
||
"cloudns": _3,
|
||
"blogspot": _3,
|
||
"barsy": _3,
|
||
"supabase": _3
|
||
}],
|
||
"info": [1, {
|
||
"cloudns": _3,
|
||
"dynamic-dns": _3,
|
||
"dyndns": _3,
|
||
"barrel-of-knowledge": _3,
|
||
"barrell-of-knowledge": _3,
|
||
"for-our": _3,
|
||
"groks-the": _3,
|
||
"groks-this": _3,
|
||
"here-for-more": _3,
|
||
"knowsitall": _3,
|
||
"selfip": _3,
|
||
"webhop": _3,
|
||
"barsy": _3,
|
||
"mayfirst": _3,
|
||
"forumz": _3,
|
||
"nsupdate": _3,
|
||
"dvrcam": _3,
|
||
"ilovecollege": _3,
|
||
"no-ip": _3,
|
||
"dnsupdate": _3,
|
||
"v-info": _3
|
||
}],
|
||
"int": [1, {
|
||
"eu": _2
|
||
}],
|
||
"io": [1, {
|
||
"2038": _3,
|
||
"com": _2,
|
||
"on-acorn": _5,
|
||
"apigee": _3,
|
||
"b-data": _3,
|
||
"backplaneapp": _3,
|
||
"banzaicloud": [0, {
|
||
"app": _3,
|
||
"backyards": _5
|
||
}],
|
||
"beagleboard": _3,
|
||
"bitbucket": _3,
|
||
"bluebite": _3,
|
||
"boxfuse": _3,
|
||
"browsersafetymark": _3,
|
||
"bigv": [0, {
|
||
"uk0": _3
|
||
}],
|
||
"cleverapps": _3,
|
||
"dappnode": [0, {
|
||
"dyndns": _3
|
||
}],
|
||
"dedyn": _3,
|
||
"drud": _3,
|
||
"definima": _3,
|
||
"fh-muenster": _3,
|
||
"shw": _3,
|
||
"forgerock": [0, {
|
||
"id": _3
|
||
}],
|
||
"ghost": _3,
|
||
"github": _3,
|
||
"gitlab": _3,
|
||
"lolipop": _3,
|
||
"hasura-app": _3,
|
||
"hostyhosting": _3,
|
||
"moonscale": _5,
|
||
"beebyte": _22,
|
||
"beebyteapp": [0, {
|
||
"sekd1": _3
|
||
}],
|
||
"jele": _3,
|
||
"unispace": [0, {
|
||
"cloud-fr1": _3
|
||
}],
|
||
"webthings": _3,
|
||
"loginline": _3,
|
||
"barsy": _3,
|
||
"azurecontainer": _5,
|
||
"ngrok": [2, {
|
||
"ap": _3,
|
||
"au": _3,
|
||
"eu": _3,
|
||
"in": _3,
|
||
"jp": _3,
|
||
"sa": _3,
|
||
"us": _3
|
||
}],
|
||
"nodeart": [0, {
|
||
"stage": _3
|
||
}],
|
||
"nid": _3,
|
||
"pantheonsite": _3,
|
||
"dyn53": _3,
|
||
"pstmn": [2, {
|
||
"mock": _3
|
||
}],
|
||
"protonet": _3,
|
||
"qoto": _3,
|
||
"qcx": [2, {
|
||
"sys": _5
|
||
}],
|
||
"vaporcloud": _3,
|
||
"vbrplsbx": [0, {
|
||
"g": _3
|
||
}],
|
||
"on-k3s": _5,
|
||
"on-rio": _5,
|
||
"readthedocs": _3,
|
||
"resindevice": _3,
|
||
"resinstaging": [0, {
|
||
"devices": _3
|
||
}],
|
||
"hzc": _3,
|
||
"sandcats": _3,
|
||
"shiftcrypto": _3,
|
||
"shiftedit": _3,
|
||
"mo-siemens": _3,
|
||
"musician": _3,
|
||
"lair": _21,
|
||
"stolos": _5,
|
||
"spacekit": _3,
|
||
"utwente": _3,
|
||
"s5y": _5,
|
||
"edugit": _3,
|
||
"telebit": _3,
|
||
"thingdust": [0, {
|
||
"dev": _32,
|
||
"disrec": _32,
|
||
"prod": _33,
|
||
"testing": _32
|
||
}],
|
||
"tickets": _3,
|
||
"upli": _3,
|
||
"wedeploy": _3,
|
||
"editorx": _3,
|
||
"basicserver": _3,
|
||
"virtualserver": _3
|
||
}],
|
||
"iq": _34,
|
||
"ir": [1, {
|
||
"ac": _2,
|
||
"co": _2,
|
||
"gov": _2,
|
||
"id": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"sch": _2,
|
||
"xn--mgba3a4f16a": _2,
|
||
"ایران": _2,
|
||
"xn--mgba3a4fra": _2,
|
||
"ايران": _2
|
||
}],
|
||
"is": [1, {
|
||
"net": _2,
|
||
"com": _2,
|
||
"edu": _2,
|
||
"gov": _2,
|
||
"org": _2,
|
||
"int": _2,
|
||
"cupcake": _3,
|
||
"blogspot": _3
|
||
}],
|
||
"it": [1, {
|
||
"gov": _2,
|
||
"edu": _2,
|
||
"abr": _2,
|
||
"abruzzo": _2,
|
||
"aosta-valley": _2,
|
||
"aostavalley": _2,
|
||
"bas": _2,
|
||
"basilicata": _2,
|
||
"cal": _2,
|
||
"calabria": _2,
|
||
"cam": _2,
|
||
"campania": _2,
|
||
"emilia-romagna": _2,
|
||
"emiliaromagna": _2,
|
||
"emr": _2,
|
||
"friuli-v-giulia": _2,
|
||
"friuli-ve-giulia": _2,
|
||
"friuli-vegiulia": _2,
|
||
"friuli-venezia-giulia": _2,
|
||
"friuli-veneziagiulia": _2,
|
||
"friuli-vgiulia": _2,
|
||
"friuliv-giulia": _2,
|
||
"friulive-giulia": _2,
|
||
"friulivegiulia": _2,
|
||
"friulivenezia-giulia": _2,
|
||
"friuliveneziagiulia": _2,
|
||
"friulivgiulia": _2,
|
||
"fvg": _2,
|
||
"laz": _2,
|
||
"lazio": _2,
|
||
"lig": _2,
|
||
"liguria": _2,
|
||
"lom": _2,
|
||
"lombardia": _2,
|
||
"lombardy": _2,
|
||
"lucania": _2,
|
||
"mar": _2,
|
||
"marche": _2,
|
||
"mol": _2,
|
||
"molise": _2,
|
||
"piedmont": _2,
|
||
"piemonte": _2,
|
||
"pmn": _2,
|
||
"pug": _2,
|
||
"puglia": _2,
|
||
"sar": _2,
|
||
"sardegna": _2,
|
||
"sardinia": _2,
|
||
"sic": _2,
|
||
"sicilia": _2,
|
||
"sicily": _2,
|
||
"taa": _2,
|
||
"tos": _2,
|
||
"toscana": _2,
|
||
"trentin-sud-tirol": _2,
|
||
"xn--trentin-sd-tirol-rzb": _2,
|
||
"trentin-süd-tirol": _2,
|
||
"trentin-sudtirol": _2,
|
||
"xn--trentin-sdtirol-7vb": _2,
|
||
"trentin-südtirol": _2,
|
||
"trentin-sued-tirol": _2,
|
||
"trentin-suedtirol": _2,
|
||
"trentino-a-adige": _2,
|
||
"trentino-aadige": _2,
|
||
"trentino-alto-adige": _2,
|
||
"trentino-altoadige": _2,
|
||
"trentino-s-tirol": _2,
|
||
"trentino-stirol": _2,
|
||
"trentino-sud-tirol": _2,
|
||
"xn--trentino-sd-tirol-c3b": _2,
|
||
"trentino-süd-tirol": _2,
|
||
"trentino-sudtirol": _2,
|
||
"xn--trentino-sdtirol-szb": _2,
|
||
"trentino-südtirol": _2,
|
||
"trentino-sued-tirol": _2,
|
||
"trentino-suedtirol": _2,
|
||
"trentino": _2,
|
||
"trentinoa-adige": _2,
|
||
"trentinoaadige": _2,
|
||
"trentinoalto-adige": _2,
|
||
"trentinoaltoadige": _2,
|
||
"trentinos-tirol": _2,
|
||
"trentinostirol": _2,
|
||
"trentinosud-tirol": _2,
|
||
"xn--trentinosd-tirol-rzb": _2,
|
||
"trentinosüd-tirol": _2,
|
||
"trentinosudtirol": _2,
|
||
"xn--trentinosdtirol-7vb": _2,
|
||
"trentinosüdtirol": _2,
|
||
"trentinosued-tirol": _2,
|
||
"trentinosuedtirol": _2,
|
||
"trentinsud-tirol": _2,
|
||
"xn--trentinsd-tirol-6vb": _2,
|
||
"trentinsüd-tirol": _2,
|
||
"trentinsudtirol": _2,
|
||
"xn--trentinsdtirol-nsb": _2,
|
||
"trentinsüdtirol": _2,
|
||
"trentinsued-tirol": _2,
|
||
"trentinsuedtirol": _2,
|
||
"tuscany": _2,
|
||
"umb": _2,
|
||
"umbria": _2,
|
||
"val-d-aosta": _2,
|
||
"val-daosta": _2,
|
||
"vald-aosta": _2,
|
||
"valdaosta": _2,
|
||
"valle-aosta": _2,
|
||
"valle-d-aosta": _2,
|
||
"valle-daosta": _2,
|
||
"valleaosta": _2,
|
||
"valled-aosta": _2,
|
||
"valledaosta": _2,
|
||
"vallee-aoste": _2,
|
||
"xn--valle-aoste-ebb": _2,
|
||
"vallée-aoste": _2,
|
||
"vallee-d-aoste": _2,
|
||
"xn--valle-d-aoste-ehb": _2,
|
||
"vallée-d-aoste": _2,
|
||
"valleeaoste": _2,
|
||
"xn--valleaoste-e7a": _2,
|
||
"valléeaoste": _2,
|
||
"valleedaoste": _2,
|
||
"xn--valledaoste-ebb": _2,
|
||
"valléedaoste": _2,
|
||
"vao": _2,
|
||
"vda": _2,
|
||
"ven": _2,
|
||
"veneto": _2,
|
||
"ag": _2,
|
||
"agrigento": _2,
|
||
"al": _2,
|
||
"alessandria": _2,
|
||
"alto-adige": _2,
|
||
"altoadige": _2,
|
||
"an": _2,
|
||
"ancona": _2,
|
||
"andria-barletta-trani": _2,
|
||
"andria-trani-barletta": _2,
|
||
"andriabarlettatrani": _2,
|
||
"andriatranibarletta": _2,
|
||
"ao": _2,
|
||
"aosta": _2,
|
||
"aoste": _2,
|
||
"ap": _2,
|
||
"aq": _2,
|
||
"aquila": _2,
|
||
"ar": _2,
|
||
"arezzo": _2,
|
||
"ascoli-piceno": _2,
|
||
"ascolipiceno": _2,
|
||
"asti": _2,
|
||
"at": _2,
|
||
"av": _2,
|
||
"avellino": _2,
|
||
"ba": _2,
|
||
"balsan-sudtirol": _2,
|
||
"xn--balsan-sdtirol-nsb": _2,
|
||
"balsan-südtirol": _2,
|
||
"balsan-suedtirol": _2,
|
||
"balsan": _2,
|
||
"bari": _2,
|
||
"barletta-trani-andria": _2,
|
||
"barlettatraniandria": _2,
|
||
"belluno": _2,
|
||
"benevento": _2,
|
||
"bergamo": _2,
|
||
"bg": _2,
|
||
"bi": _2,
|
||
"biella": _2,
|
||
"bl": _2,
|
||
"bn": _2,
|
||
"bo": _2,
|
||
"bologna": _2,
|
||
"bolzano-altoadige": _2,
|
||
"bolzano": _2,
|
||
"bozen-sudtirol": _2,
|
||
"xn--bozen-sdtirol-2ob": _2,
|
||
"bozen-südtirol": _2,
|
||
"bozen-suedtirol": _2,
|
||
"bozen": _2,
|
||
"br": _2,
|
||
"brescia": _2,
|
||
"brindisi": _2,
|
||
"bs": _2,
|
||
"bt": _2,
|
||
"bulsan-sudtirol": _2,
|
||
"xn--bulsan-sdtirol-nsb": _2,
|
||
"bulsan-südtirol": _2,
|
||
"bulsan-suedtirol": _2,
|
||
"bulsan": _2,
|
||
"bz": _2,
|
||
"ca": _2,
|
||
"cagliari": _2,
|
||
"caltanissetta": _2,
|
||
"campidano-medio": _2,
|
||
"campidanomedio": _2,
|
||
"campobasso": _2,
|
||
"carbonia-iglesias": _2,
|
||
"carboniaiglesias": _2,
|
||
"carrara-massa": _2,
|
||
"carraramassa": _2,
|
||
"caserta": _2,
|
||
"catania": _2,
|
||
"catanzaro": _2,
|
||
"cb": _2,
|
||
"ce": _2,
|
||
"cesena-forli": _2,
|
||
"xn--cesena-forl-mcb": _2,
|
||
"cesena-forlì": _2,
|
||
"cesenaforli": _2,
|
||
"xn--cesenaforl-i8a": _2,
|
||
"cesenaforlì": _2,
|
||
"ch": _2,
|
||
"chieti": _2,
|
||
"ci": _2,
|
||
"cl": _2,
|
||
"cn": _2,
|
||
"co": _2,
|
||
"como": _2,
|
||
"cosenza": _2,
|
||
"cr": _2,
|
||
"cremona": _2,
|
||
"crotone": _2,
|
||
"cs": _2,
|
||
"ct": _2,
|
||
"cuneo": _2,
|
||
"cz": _2,
|
||
"dell-ogliastra": _2,
|
||
"dellogliastra": _2,
|
||
"en": _2,
|
||
"enna": _2,
|
||
"fc": _2,
|
||
"fe": _2,
|
||
"fermo": _2,
|
||
"ferrara": _2,
|
||
"fg": _2,
|
||
"fi": _2,
|
||
"firenze": _2,
|
||
"florence": _2,
|
||
"fm": _2,
|
||
"foggia": _2,
|
||
"forli-cesena": _2,
|
||
"xn--forl-cesena-fcb": _2,
|
||
"forlì-cesena": _2,
|
||
"forlicesena": _2,
|
||
"xn--forlcesena-c8a": _2,
|
||
"forlìcesena": _2,
|
||
"fr": _2,
|
||
"frosinone": _2,
|
||
"ge": _2,
|
||
"genoa": _2,
|
||
"genova": _2,
|
||
"go": _2,
|
||
"gorizia": _2,
|
||
"gr": _2,
|
||
"grosseto": _2,
|
||
"iglesias-carbonia": _2,
|
||
"iglesiascarbonia": _2,
|
||
"im": _2,
|
||
"imperia": _2,
|
||
"is": _2,
|
||
"isernia": _2,
|
||
"kr": _2,
|
||
"la-spezia": _2,
|
||
"laquila": _2,
|
||
"laspezia": _2,
|
||
"latina": _2,
|
||
"lc": _2,
|
||
"le": _2,
|
||
"lecce": _2,
|
||
"lecco": _2,
|
||
"li": _2,
|
||
"livorno": _2,
|
||
"lo": _2,
|
||
"lodi": _2,
|
||
"lt": _2,
|
||
"lu": _2,
|
||
"lucca": _2,
|
||
"macerata": _2,
|
||
"mantova": _2,
|
||
"massa-carrara": _2,
|
||
"massacarrara": _2,
|
||
"matera": _2,
|
||
"mb": _2,
|
||
"mc": _2,
|
||
"me": _2,
|
||
"medio-campidano": _2,
|
||
"mediocampidano": _2,
|
||
"messina": _2,
|
||
"mi": _2,
|
||
"milan": _2,
|
||
"milano": _2,
|
||
"mn": _2,
|
||
"mo": _2,
|
||
"modena": _2,
|
||
"monza-brianza": _2,
|
||
"monza-e-della-brianza": _2,
|
||
"monza": _2,
|
||
"monzabrianza": _2,
|
||
"monzaebrianza": _2,
|
||
"monzaedellabrianza": _2,
|
||
"ms": _2,
|
||
"mt": _2,
|
||
"na": _2,
|
||
"naples": _2,
|
||
"napoli": _2,
|
||
"no": _2,
|
||
"novara": _2,
|
||
"nu": _2,
|
||
"nuoro": _2,
|
||
"og": _2,
|
||
"ogliastra": _2,
|
||
"olbia-tempio": _2,
|
||
"olbiatempio": _2,
|
||
"or": _2,
|
||
"oristano": _2,
|
||
"ot": _2,
|
||
"pa": _2,
|
||
"padova": _2,
|
||
"padua": _2,
|
||
"palermo": _2,
|
||
"parma": _2,
|
||
"pavia": _2,
|
||
"pc": _2,
|
||
"pd": _2,
|
||
"pe": _2,
|
||
"perugia": _2,
|
||
"pesaro-urbino": _2,
|
||
"pesarourbino": _2,
|
||
"pescara": _2,
|
||
"pg": _2,
|
||
"pi": _2,
|
||
"piacenza": _2,
|
||
"pisa": _2,
|
||
"pistoia": _2,
|
||
"pn": _2,
|
||
"po": _2,
|
||
"pordenone": _2,
|
||
"potenza": _2,
|
||
"pr": _2,
|
||
"prato": _2,
|
||
"pt": _2,
|
||
"pu": _2,
|
||
"pv": _2,
|
||
"pz": _2,
|
||
"ra": _2,
|
||
"ragusa": _2,
|
||
"ravenna": _2,
|
||
"rc": _2,
|
||
"re": _2,
|
||
"reggio-calabria": _2,
|
||
"reggio-emilia": _2,
|
||
"reggiocalabria": _2,
|
||
"reggioemilia": _2,
|
||
"rg": _2,
|
||
"ri": _2,
|
||
"rieti": _2,
|
||
"rimini": _2,
|
||
"rm": _2,
|
||
"rn": _2,
|
||
"ro": _2,
|
||
"roma": _2,
|
||
"rome": _2,
|
||
"rovigo": _2,
|
||
"sa": _2,
|
||
"salerno": _2,
|
||
"sassari": _2,
|
||
"savona": _2,
|
||
"si": _2,
|
||
"siena": _2,
|
||
"siracusa": _2,
|
||
"so": _2,
|
||
"sondrio": _2,
|
||
"sp": _2,
|
||
"sr": _2,
|
||
"ss": _2,
|
||
"suedtirol": _2,
|
||
"xn--sdtirol-n2a": _2,
|
||
"südtirol": _2,
|
||
"sv": _2,
|
||
"ta": _2,
|
||
"taranto": _2,
|
||
"te": _2,
|
||
"tempio-olbia": _2,
|
||
"tempioolbia": _2,
|
||
"teramo": _2,
|
||
"terni": _2,
|
||
"tn": _2,
|
||
"to": _2,
|
||
"torino": _2,
|
||
"tp": _2,
|
||
"tr": _2,
|
||
"trani-andria-barletta": _2,
|
||
"trani-barletta-andria": _2,
|
||
"traniandriabarletta": _2,
|
||
"tranibarlettaandria": _2,
|
||
"trapani": _2,
|
||
"trento": _2,
|
||
"treviso": _2,
|
||
"trieste": _2,
|
||
"ts": _2,
|
||
"turin": _2,
|
||
"tv": _2,
|
||
"ud": _2,
|
||
"udine": _2,
|
||
"urbino-pesaro": _2,
|
||
"urbinopesaro": _2,
|
||
"va": _2,
|
||
"varese": _2,
|
||
"vb": _2,
|
||
"vc": _2,
|
||
"ve": _2,
|
||
"venezia": _2,
|
||
"venice": _2,
|
||
"verbania": _2,
|
||
"vercelli": _2,
|
||
"verona": _2,
|
||
"vi": _2,
|
||
"vibo-valentia": _2,
|
||
"vibovalentia": _2,
|
||
"vicenza": _2,
|
||
"viterbo": _2,
|
||
"vr": _2,
|
||
"vs": _2,
|
||
"vt": _2,
|
||
"vv": _2,
|
||
"blogspot": _3,
|
||
"ibxos": _3,
|
||
"iliadboxos": _3,
|
||
"neen": [0, {
|
||
"jc": _3
|
||
}],
|
||
"tim": [0, {
|
||
"open": [0, {
|
||
"jelastic": _9
|
||
}]
|
||
}],
|
||
"16-b": _3,
|
||
"32-b": _3,
|
||
"64-b": _3,
|
||
"123homepage": _3,
|
||
"myspreadshop": _3,
|
||
"syncloud": _3
|
||
}],
|
||
"je": [1, {
|
||
"co": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"of": _3
|
||
}],
|
||
"jm": _8,
|
||
"jo": [1, {
|
||
"com": _2,
|
||
"org": _2,
|
||
"net": _2,
|
||
"edu": _2,
|
||
"sch": _2,
|
||
"gov": _2,
|
||
"mil": _2,
|
||
"name": _2
|
||
}],
|
||
"jobs": _2,
|
||
"jp": [1, {
|
||
"ac": _2,
|
||
"ad": _2,
|
||
"co": _2,
|
||
"ed": _2,
|
||
"go": _2,
|
||
"gr": _2,
|
||
"lg": _2,
|
||
"ne": [1, {
|
||
"aseinet": _30,
|
||
"gehirn": _3,
|
||
"ivory": _3,
|
||
"mail-box": _3,
|
||
"mints": _3,
|
||
"mokuren": _3,
|
||
"opal": _3,
|
||
"sakura": _3,
|
||
"sumomo": _3,
|
||
"topaz": _3
|
||
}],
|
||
"or": _2,
|
||
"aichi": [1, {
|
||
"aisai": _2,
|
||
"ama": _2,
|
||
"anjo": _2,
|
||
"asuke": _2,
|
||
"chiryu": _2,
|
||
"chita": _2,
|
||
"fuso": _2,
|
||
"gamagori": _2,
|
||
"handa": _2,
|
||
"hazu": _2,
|
||
"hekinan": _2,
|
||
"higashiura": _2,
|
||
"ichinomiya": _2,
|
||
"inazawa": _2,
|
||
"inuyama": _2,
|
||
"isshiki": _2,
|
||
"iwakura": _2,
|
||
"kanie": _2,
|
||
"kariya": _2,
|
||
"kasugai": _2,
|
||
"kira": _2,
|
||
"kiyosu": _2,
|
||
"komaki": _2,
|
||
"konan": _2,
|
||
"kota": _2,
|
||
"mihama": _2,
|
||
"miyoshi": _2,
|
||
"nishio": _2,
|
||
"nisshin": _2,
|
||
"obu": _2,
|
||
"oguchi": _2,
|
||
"oharu": _2,
|
||
"okazaki": _2,
|
||
"owariasahi": _2,
|
||
"seto": _2,
|
||
"shikatsu": _2,
|
||
"shinshiro": _2,
|
||
"shitara": _2,
|
||
"tahara": _2,
|
||
"takahama": _2,
|
||
"tobishima": _2,
|
||
"toei": _2,
|
||
"togo": _2,
|
||
"tokai": _2,
|
||
"tokoname": _2,
|
||
"toyoake": _2,
|
||
"toyohashi": _2,
|
||
"toyokawa": _2,
|
||
"toyone": _2,
|
||
"toyota": _2,
|
||
"tsushima": _2,
|
||
"yatomi": _2
|
||
}],
|
||
"akita": [1, {
|
||
"akita": _2,
|
||
"daisen": _2,
|
||
"fujisato": _2,
|
||
"gojome": _2,
|
||
"hachirogata": _2,
|
||
"happou": _2,
|
||
"higashinaruse": _2,
|
||
"honjo": _2,
|
||
"honjyo": _2,
|
||
"ikawa": _2,
|
||
"kamikoani": _2,
|
||
"kamioka": _2,
|
||
"katagami": _2,
|
||
"kazuno": _2,
|
||
"kitaakita": _2,
|
||
"kosaka": _2,
|
||
"kyowa": _2,
|
||
"misato": _2,
|
||
"mitane": _2,
|
||
"moriyoshi": _2,
|
||
"nikaho": _2,
|
||
"noshiro": _2,
|
||
"odate": _2,
|
||
"oga": _2,
|
||
"ogata": _2,
|
||
"semboku": _2,
|
||
"yokote": _2,
|
||
"yurihonjo": _2
|
||
}],
|
||
"aomori": [1, {
|
||
"aomori": _2,
|
||
"gonohe": _2,
|
||
"hachinohe": _2,
|
||
"hashikami": _2,
|
||
"hiranai": _2,
|
||
"hirosaki": _2,
|
||
"itayanagi": _2,
|
||
"kuroishi": _2,
|
||
"misawa": _2,
|
||
"mutsu": _2,
|
||
"nakadomari": _2,
|
||
"noheji": _2,
|
||
"oirase": _2,
|
||
"owani": _2,
|
||
"rokunohe": _2,
|
||
"sannohe": _2,
|
||
"shichinohe": _2,
|
||
"shingo": _2,
|
||
"takko": _2,
|
||
"towada": _2,
|
||
"tsugaru": _2,
|
||
"tsuruta": _2
|
||
}],
|
||
"chiba": [1, {
|
||
"abiko": _2,
|
||
"asahi": _2,
|
||
"chonan": _2,
|
||
"chosei": _2,
|
||
"choshi": _2,
|
||
"chuo": _2,
|
||
"funabashi": _2,
|
||
"futtsu": _2,
|
||
"hanamigawa": _2,
|
||
"ichihara": _2,
|
||
"ichikawa": _2,
|
||
"ichinomiya": _2,
|
||
"inzai": _2,
|
||
"isumi": _2,
|
||
"kamagaya": _2,
|
||
"kamogawa": _2,
|
||
"kashiwa": _2,
|
||
"katori": _2,
|
||
"katsuura": _2,
|
||
"kimitsu": _2,
|
||
"kisarazu": _2,
|
||
"kozaki": _2,
|
||
"kujukuri": _2,
|
||
"kyonan": _2,
|
||
"matsudo": _2,
|
||
"midori": _2,
|
||
"mihama": _2,
|
||
"minamiboso": _2,
|
||
"mobara": _2,
|
||
"mutsuzawa": _2,
|
||
"nagara": _2,
|
||
"nagareyama": _2,
|
||
"narashino": _2,
|
||
"narita": _2,
|
||
"noda": _2,
|
||
"oamishirasato": _2,
|
||
"omigawa": _2,
|
||
"onjuku": _2,
|
||
"otaki": _2,
|
||
"sakae": _2,
|
||
"sakura": _2,
|
||
"shimofusa": _2,
|
||
"shirako": _2,
|
||
"shiroi": _2,
|
||
"shisui": _2,
|
||
"sodegaura": _2,
|
||
"sosa": _2,
|
||
"tako": _2,
|
||
"tateyama": _2,
|
||
"togane": _2,
|
||
"tohnosho": _2,
|
||
"tomisato": _2,
|
||
"urayasu": _2,
|
||
"yachimata": _2,
|
||
"yachiyo": _2,
|
||
"yokaichiba": _2,
|
||
"yokoshibahikari": _2,
|
||
"yotsukaido": _2
|
||
}],
|
||
"ehime": [1, {
|
||
"ainan": _2,
|
||
"honai": _2,
|
||
"ikata": _2,
|
||
"imabari": _2,
|
||
"iyo": _2,
|
||
"kamijima": _2,
|
||
"kihoku": _2,
|
||
"kumakogen": _2,
|
||
"masaki": _2,
|
||
"matsuno": _2,
|
||
"matsuyama": _2,
|
||
"namikata": _2,
|
||
"niihama": _2,
|
||
"ozu": _2,
|
||
"saijo": _2,
|
||
"seiyo": _2,
|
||
"shikokuchuo": _2,
|
||
"tobe": _2,
|
||
"toon": _2,
|
||
"uchiko": _2,
|
||
"uwajima": _2,
|
||
"yawatahama": _2
|
||
}],
|
||
"fukui": [1, {
|
||
"echizen": _2,
|
||
"eiheiji": _2,
|
||
"fukui": _2,
|
||
"ikeda": _2,
|
||
"katsuyama": _2,
|
||
"mihama": _2,
|
||
"minamiechizen": _2,
|
||
"obama": _2,
|
||
"ohi": _2,
|
||
"ono": _2,
|
||
"sabae": _2,
|
||
"sakai": _2,
|
||
"takahama": _2,
|
||
"tsuruga": _2,
|
||
"wakasa": _2
|
||
}],
|
||
"fukuoka": [1, {
|
||
"ashiya": _2,
|
||
"buzen": _2,
|
||
"chikugo": _2,
|
||
"chikuho": _2,
|
||
"chikujo": _2,
|
||
"chikushino": _2,
|
||
"chikuzen": _2,
|
||
"chuo": _2,
|
||
"dazaifu": _2,
|
||
"fukuchi": _2,
|
||
"hakata": _2,
|
||
"higashi": _2,
|
||
"hirokawa": _2,
|
||
"hisayama": _2,
|
||
"iizuka": _2,
|
||
"inatsuki": _2,
|
||
"kaho": _2,
|
||
"kasuga": _2,
|
||
"kasuya": _2,
|
||
"kawara": _2,
|
||
"keisen": _2,
|
||
"koga": _2,
|
||
"kurate": _2,
|
||
"kurogi": _2,
|
||
"kurume": _2,
|
||
"minami": _2,
|
||
"miyako": _2,
|
||
"miyama": _2,
|
||
"miyawaka": _2,
|
||
"mizumaki": _2,
|
||
"munakata": _2,
|
||
"nakagawa": _2,
|
||
"nakama": _2,
|
||
"nishi": _2,
|
||
"nogata": _2,
|
||
"ogori": _2,
|
||
"okagaki": _2,
|
||
"okawa": _2,
|
||
"oki": _2,
|
||
"omuta": _2,
|
||
"onga": _2,
|
||
"onojo": _2,
|
||
"oto": _2,
|
||
"saigawa": _2,
|
||
"sasaguri": _2,
|
||
"shingu": _2,
|
||
"shinyoshitomi": _2,
|
||
"shonai": _2,
|
||
"soeda": _2,
|
||
"sue": _2,
|
||
"tachiarai": _2,
|
||
"tagawa": _2,
|
||
"takata": _2,
|
||
"toho": _2,
|
||
"toyotsu": _2,
|
||
"tsuiki": _2,
|
||
"ukiha": _2,
|
||
"umi": _2,
|
||
"usui": _2,
|
||
"yamada": _2,
|
||
"yame": _2,
|
||
"yanagawa": _2,
|
||
"yukuhashi": _2
|
||
}],
|
||
"fukushima": [1, {
|
||
"aizubange": _2,
|
||
"aizumisato": _2,
|
||
"aizuwakamatsu": _2,
|
||
"asakawa": _2,
|
||
"bandai": _2,
|
||
"date": _2,
|
||
"fukushima": _2,
|
||
"furudono": _2,
|
||
"futaba": _2,
|
||
"hanawa": _2,
|
||
"higashi": _2,
|
||
"hirata": _2,
|
||
"hirono": _2,
|
||
"iitate": _2,
|
||
"inawashiro": _2,
|
||
"ishikawa": _2,
|
||
"iwaki": _2,
|
||
"izumizaki": _2,
|
||
"kagamiishi": _2,
|
||
"kaneyama": _2,
|
||
"kawamata": _2,
|
||
"kitakata": _2,
|
||
"kitashiobara": _2,
|
||
"koori": _2,
|
||
"koriyama": _2,
|
||
"kunimi": _2,
|
||
"miharu": _2,
|
||
"mishima": _2,
|
||
"namie": _2,
|
||
"nango": _2,
|
||
"nishiaizu": _2,
|
||
"nishigo": _2,
|
||
"okuma": _2,
|
||
"omotego": _2,
|
||
"ono": _2,
|
||
"otama": _2,
|
||
"samegawa": _2,
|
||
"shimogo": _2,
|
||
"shirakawa": _2,
|
||
"showa": _2,
|
||
"soma": _2,
|
||
"sukagawa": _2,
|
||
"taishin": _2,
|
||
"tamakawa": _2,
|
||
"tanagura": _2,
|
||
"tenei": _2,
|
||
"yabuki": _2,
|
||
"yamato": _2,
|
||
"yamatsuri": _2,
|
||
"yanaizu": _2,
|
||
"yugawa": _2
|
||
}],
|
||
"gifu": [1, {
|
||
"anpachi": _2,
|
||
"ena": _2,
|
||
"gifu": _2,
|
||
"ginan": _2,
|
||
"godo": _2,
|
||
"gujo": _2,
|
||
"hashima": _2,
|
||
"hichiso": _2,
|
||
"hida": _2,
|
||
"higashishirakawa": _2,
|
||
"ibigawa": _2,
|
||
"ikeda": _2,
|
||
"kakamigahara": _2,
|
||
"kani": _2,
|
||
"kasahara": _2,
|
||
"kasamatsu": _2,
|
||
"kawaue": _2,
|
||
"kitagata": _2,
|
||
"mino": _2,
|
||
"minokamo": _2,
|
||
"mitake": _2,
|
||
"mizunami": _2,
|
||
"motosu": _2,
|
||
"nakatsugawa": _2,
|
||
"ogaki": _2,
|
||
"sakahogi": _2,
|
||
"seki": _2,
|
||
"sekigahara": _2,
|
||
"shirakawa": _2,
|
||
"tajimi": _2,
|
||
"takayama": _2,
|
||
"tarui": _2,
|
||
"toki": _2,
|
||
"tomika": _2,
|
||
"wanouchi": _2,
|
||
"yamagata": _2,
|
||
"yaotsu": _2,
|
||
"yoro": _2
|
||
}],
|
||
"gunma": [1, {
|
||
"annaka": _2,
|
||
"chiyoda": _2,
|
||
"fujioka": _2,
|
||
"higashiagatsuma": _2,
|
||
"isesaki": _2,
|
||
"itakura": _2,
|
||
"kanna": _2,
|
||
"kanra": _2,
|
||
"katashina": _2,
|
||
"kawaba": _2,
|
||
"kiryu": _2,
|
||
"kusatsu": _2,
|
||
"maebashi": _2,
|
||
"meiwa": _2,
|
||
"midori": _2,
|
||
"minakami": _2,
|
||
"naganohara": _2,
|
||
"nakanojo": _2,
|
||
"nanmoku": _2,
|
||
"numata": _2,
|
||
"oizumi": _2,
|
||
"ora": _2,
|
||
"ota": _2,
|
||
"shibukawa": _2,
|
||
"shimonita": _2,
|
||
"shinto": _2,
|
||
"showa": _2,
|
||
"takasaki": _2,
|
||
"takayama": _2,
|
||
"tamamura": _2,
|
||
"tatebayashi": _2,
|
||
"tomioka": _2,
|
||
"tsukiyono": _2,
|
||
"tsumagoi": _2,
|
||
"ueno": _2,
|
||
"yoshioka": _2
|
||
}],
|
||
"hiroshima": [1, {
|
||
"asaminami": _2,
|
||
"daiwa": _2,
|
||
"etajima": _2,
|
||
"fuchu": _2,
|
||
"fukuyama": _2,
|
||
"hatsukaichi": _2,
|
||
"higashihiroshima": _2,
|
||
"hongo": _2,
|
||
"jinsekikogen": _2,
|
||
"kaita": _2,
|
||
"kui": _2,
|
||
"kumano": _2,
|
||
"kure": _2,
|
||
"mihara": _2,
|
||
"miyoshi": _2,
|
||
"naka": _2,
|
||
"onomichi": _2,
|
||
"osakikamijima": _2,
|
||
"otake": _2,
|
||
"saka": _2,
|
||
"sera": _2,
|
||
"seranishi": _2,
|
||
"shinichi": _2,
|
||
"shobara": _2,
|
||
"takehara": _2
|
||
}],
|
||
"hokkaido": [1, {
|
||
"abashiri": _2,
|
||
"abira": _2,
|
||
"aibetsu": _2,
|
||
"akabira": _2,
|
||
"akkeshi": _2,
|
||
"asahikawa": _2,
|
||
"ashibetsu": _2,
|
||
"ashoro": _2,
|
||
"assabu": _2,
|
||
"atsuma": _2,
|
||
"bibai": _2,
|
||
"biei": _2,
|
||
"bifuka": _2,
|
||
"bihoro": _2,
|
||
"biratori": _2,
|
||
"chippubetsu": _2,
|
||
"chitose": _2,
|
||
"date": _2,
|
||
"ebetsu": _2,
|
||
"embetsu": _2,
|
||
"eniwa": _2,
|
||
"erimo": _2,
|
||
"esan": _2,
|
||
"esashi": _2,
|
||
"fukagawa": _2,
|
||
"fukushima": _2,
|
||
"furano": _2,
|
||
"furubira": _2,
|
||
"haboro": _2,
|
||
"hakodate": _2,
|
||
"hamatonbetsu": _2,
|
||
"hidaka": _2,
|
||
"higashikagura": _2,
|
||
"higashikawa": _2,
|
||
"hiroo": _2,
|
||
"hokuryu": _2,
|
||
"hokuto": _2,
|
||
"honbetsu": _2,
|
||
"horokanai": _2,
|
||
"horonobe": _2,
|
||
"ikeda": _2,
|
||
"imakane": _2,
|
||
"ishikari": _2,
|
||
"iwamizawa": _2,
|
||
"iwanai": _2,
|
||
"kamifurano": _2,
|
||
"kamikawa": _2,
|
||
"kamishihoro": _2,
|
||
"kamisunagawa": _2,
|
||
"kamoenai": _2,
|
||
"kayabe": _2,
|
||
"kembuchi": _2,
|
||
"kikonai": _2,
|
||
"kimobetsu": _2,
|
||
"kitahiroshima": _2,
|
||
"kitami": _2,
|
||
"kiyosato": _2,
|
||
"koshimizu": _2,
|
||
"kunneppu": _2,
|
||
"kuriyama": _2,
|
||
"kuromatsunai": _2,
|
||
"kushiro": _2,
|
||
"kutchan": _2,
|
||
"kyowa": _2,
|
||
"mashike": _2,
|
||
"matsumae": _2,
|
||
"mikasa": _2,
|
||
"minamifurano": _2,
|
||
"mombetsu": _2,
|
||
"moseushi": _2,
|
||
"mukawa": _2,
|
||
"muroran": _2,
|
||
"naie": _2,
|
||
"nakagawa": _2,
|
||
"nakasatsunai": _2,
|
||
"nakatombetsu": _2,
|
||
"nanae": _2,
|
||
"nanporo": _2,
|
||
"nayoro": _2,
|
||
"nemuro": _2,
|
||
"niikappu": _2,
|
||
"niki": _2,
|
||
"nishiokoppe": _2,
|
||
"noboribetsu": _2,
|
||
"numata": _2,
|
||
"obihiro": _2,
|
||
"obira": _2,
|
||
"oketo": _2,
|
||
"okoppe": _2,
|
||
"otaru": _2,
|
||
"otobe": _2,
|
||
"otofuke": _2,
|
||
"otoineppu": _2,
|
||
"oumu": _2,
|
||
"ozora": _2,
|
||
"pippu": _2,
|
||
"rankoshi": _2,
|
||
"rebun": _2,
|
||
"rikubetsu": _2,
|
||
"rishiri": _2,
|
||
"rishirifuji": _2,
|
||
"saroma": _2,
|
||
"sarufutsu": _2,
|
||
"shakotan": _2,
|
||
"shari": _2,
|
||
"shibecha": _2,
|
||
"shibetsu": _2,
|
||
"shikabe": _2,
|
||
"shikaoi": _2,
|
||
"shimamaki": _2,
|
||
"shimizu": _2,
|
||
"shimokawa": _2,
|
||
"shinshinotsu": _2,
|
||
"shintoku": _2,
|
||
"shiranuka": _2,
|
||
"shiraoi": _2,
|
||
"shiriuchi": _2,
|
||
"sobetsu": _2,
|
||
"sunagawa": _2,
|
||
"taiki": _2,
|
||
"takasu": _2,
|
||
"takikawa": _2,
|
||
"takinoue": _2,
|
||
"teshikaga": _2,
|
||
"tobetsu": _2,
|
||
"tohma": _2,
|
||
"tomakomai": _2,
|
||
"tomari": _2,
|
||
"toya": _2,
|
||
"toyako": _2,
|
||
"toyotomi": _2,
|
||
"toyoura": _2,
|
||
"tsubetsu": _2,
|
||
"tsukigata": _2,
|
||
"urakawa": _2,
|
||
"urausu": _2,
|
||
"uryu": _2,
|
||
"utashinai": _2,
|
||
"wakkanai": _2,
|
||
"wassamu": _2,
|
||
"yakumo": _2,
|
||
"yoichi": _2
|
||
}],
|
||
"hyogo": [1, {
|
||
"aioi": _2,
|
||
"akashi": _2,
|
||
"ako": _2,
|
||
"amagasaki": _2,
|
||
"aogaki": _2,
|
||
"asago": _2,
|
||
"ashiya": _2,
|
||
"awaji": _2,
|
||
"fukusaki": _2,
|
||
"goshiki": _2,
|
||
"harima": _2,
|
||
"himeji": _2,
|
||
"ichikawa": _2,
|
||
"inagawa": _2,
|
||
"itami": _2,
|
||
"kakogawa": _2,
|
||
"kamigori": _2,
|
||
"kamikawa": _2,
|
||
"kasai": _2,
|
||
"kasuga": _2,
|
||
"kawanishi": _2,
|
||
"miki": _2,
|
||
"minamiawaji": _2,
|
||
"nishinomiya": _2,
|
||
"nishiwaki": _2,
|
||
"ono": _2,
|
||
"sanda": _2,
|
||
"sannan": _2,
|
||
"sasayama": _2,
|
||
"sayo": _2,
|
||
"shingu": _2,
|
||
"shinonsen": _2,
|
||
"shiso": _2,
|
||
"sumoto": _2,
|
||
"taishi": _2,
|
||
"taka": _2,
|
||
"takarazuka": _2,
|
||
"takasago": _2,
|
||
"takino": _2,
|
||
"tamba": _2,
|
||
"tatsuno": _2,
|
||
"toyooka": _2,
|
||
"yabu": _2,
|
||
"yashiro": _2,
|
||
"yoka": _2,
|
||
"yokawa": _2
|
||
}],
|
||
"ibaraki": [1, {
|
||
"ami": _2,
|
||
"asahi": _2,
|
||
"bando": _2,
|
||
"chikusei": _2,
|
||
"daigo": _2,
|
||
"fujishiro": _2,
|
||
"hitachi": _2,
|
||
"hitachinaka": _2,
|
||
"hitachiomiya": _2,
|
||
"hitachiota": _2,
|
||
"ibaraki": _2,
|
||
"ina": _2,
|
||
"inashiki": _2,
|
||
"itako": _2,
|
||
"iwama": _2,
|
||
"joso": _2,
|
||
"kamisu": _2,
|
||
"kasama": _2,
|
||
"kashima": _2,
|
||
"kasumigaura": _2,
|
||
"koga": _2,
|
||
"miho": _2,
|
||
"mito": _2,
|
||
"moriya": _2,
|
||
"naka": _2,
|
||
"namegata": _2,
|
||
"oarai": _2,
|
||
"ogawa": _2,
|
||
"omitama": _2,
|
||
"ryugasaki": _2,
|
||
"sakai": _2,
|
||
"sakuragawa": _2,
|
||
"shimodate": _2,
|
||
"shimotsuma": _2,
|
||
"shirosato": _2,
|
||
"sowa": _2,
|
||
"suifu": _2,
|
||
"takahagi": _2,
|
||
"tamatsukuri": _2,
|
||
"tokai": _2,
|
||
"tomobe": _2,
|
||
"tone": _2,
|
||
"toride": _2,
|
||
"tsuchiura": _2,
|
||
"tsukuba": _2,
|
||
"uchihara": _2,
|
||
"ushiku": _2,
|
||
"yachiyo": _2,
|
||
"yamagata": _2,
|
||
"yawara": _2,
|
||
"yuki": _2
|
||
}],
|
||
"ishikawa": [1, {
|
||
"anamizu": _2,
|
||
"hakui": _2,
|
||
"hakusan": _2,
|
||
"kaga": _2,
|
||
"kahoku": _2,
|
||
"kanazawa": _2,
|
||
"kawakita": _2,
|
||
"komatsu": _2,
|
||
"nakanoto": _2,
|
||
"nanao": _2,
|
||
"nomi": _2,
|
||
"nonoichi": _2,
|
||
"noto": _2,
|
||
"shika": _2,
|
||
"suzu": _2,
|
||
"tsubata": _2,
|
||
"tsurugi": _2,
|
||
"uchinada": _2,
|
||
"wajima": _2
|
||
}],
|
||
"iwate": [1, {
|
||
"fudai": _2,
|
||
"fujisawa": _2,
|
||
"hanamaki": _2,
|
||
"hiraizumi": _2,
|
||
"hirono": _2,
|
||
"ichinohe": _2,
|
||
"ichinoseki": _2,
|
||
"iwaizumi": _2,
|
||
"iwate": _2,
|
||
"joboji": _2,
|
||
"kamaishi": _2,
|
||
"kanegasaki": _2,
|
||
"karumai": _2,
|
||
"kawai": _2,
|
||
"kitakami": _2,
|
||
"kuji": _2,
|
||
"kunohe": _2,
|
||
"kuzumaki": _2,
|
||
"miyako": _2,
|
||
"mizusawa": _2,
|
||
"morioka": _2,
|
||
"ninohe": _2,
|
||
"noda": _2,
|
||
"ofunato": _2,
|
||
"oshu": _2,
|
||
"otsuchi": _2,
|
||
"rikuzentakata": _2,
|
||
"shiwa": _2,
|
||
"shizukuishi": _2,
|
||
"sumita": _2,
|
||
"tanohata": _2,
|
||
"tono": _2,
|
||
"yahaba": _2,
|
||
"yamada": _2
|
||
}],
|
||
"kagawa": [1, {
|
||
"ayagawa": _2,
|
||
"higashikagawa": _2,
|
||
"kanonji": _2,
|
||
"kotohira": _2,
|
||
"manno": _2,
|
||
"marugame": _2,
|
||
"mitoyo": _2,
|
||
"naoshima": _2,
|
||
"sanuki": _2,
|
||
"tadotsu": _2,
|
||
"takamatsu": _2,
|
||
"tonosho": _2,
|
||
"uchinomi": _2,
|
||
"utazu": _2,
|
||
"zentsuji": _2
|
||
}],
|
||
"kagoshima": [1, {
|
||
"akune": _2,
|
||
"amami": _2,
|
||
"hioki": _2,
|
||
"isa": _2,
|
||
"isen": _2,
|
||
"izumi": _2,
|
||
"kagoshima": _2,
|
||
"kanoya": _2,
|
||
"kawanabe": _2,
|
||
"kinko": _2,
|
||
"kouyama": _2,
|
||
"makurazaki": _2,
|
||
"matsumoto": _2,
|
||
"minamitane": _2,
|
||
"nakatane": _2,
|
||
"nishinoomote": _2,
|
||
"satsumasendai": _2,
|
||
"soo": _2,
|
||
"tarumizu": _2,
|
||
"yusui": _2
|
||
}],
|
||
"kanagawa": [1, {
|
||
"aikawa": _2,
|
||
"atsugi": _2,
|
||
"ayase": _2,
|
||
"chigasaki": _2,
|
||
"ebina": _2,
|
||
"fujisawa": _2,
|
||
"hadano": _2,
|
||
"hakone": _2,
|
||
"hiratsuka": _2,
|
||
"isehara": _2,
|
||
"kaisei": _2,
|
||
"kamakura": _2,
|
||
"kiyokawa": _2,
|
||
"matsuda": _2,
|
||
"minamiashigara": _2,
|
||
"miura": _2,
|
||
"nakai": _2,
|
||
"ninomiya": _2,
|
||
"odawara": _2,
|
||
"oi": _2,
|
||
"oiso": _2,
|
||
"sagamihara": _2,
|
||
"samukawa": _2,
|
||
"tsukui": _2,
|
||
"yamakita": _2,
|
||
"yamato": _2,
|
||
"yokosuka": _2,
|
||
"yugawara": _2,
|
||
"zama": _2,
|
||
"zushi": _2
|
||
}],
|
||
"kochi": [1, {
|
||
"aki": _2,
|
||
"geisei": _2,
|
||
"hidaka": _2,
|
||
"higashitsuno": _2,
|
||
"ino": _2,
|
||
"kagami": _2,
|
||
"kami": _2,
|
||
"kitagawa": _2,
|
||
"kochi": _2,
|
||
"mihara": _2,
|
||
"motoyama": _2,
|
||
"muroto": _2,
|
||
"nahari": _2,
|
||
"nakamura": _2,
|
||
"nankoku": _2,
|
||
"nishitosa": _2,
|
||
"niyodogawa": _2,
|
||
"ochi": _2,
|
||
"okawa": _2,
|
||
"otoyo": _2,
|
||
"otsuki": _2,
|
||
"sakawa": _2,
|
||
"sukumo": _2,
|
||
"susaki": _2,
|
||
"tosa": _2,
|
||
"tosashimizu": _2,
|
||
"toyo": _2,
|
||
"tsuno": _2,
|
||
"umaji": _2,
|
||
"yasuda": _2,
|
||
"yusuhara": _2
|
||
}],
|
||
"kumamoto": [1, {
|
||
"amakusa": _2,
|
||
"arao": _2,
|
||
"aso": _2,
|
||
"choyo": _2,
|
||
"gyokuto": _2,
|
||
"kamiamakusa": _2,
|
||
"kikuchi": _2,
|
||
"kumamoto": _2,
|
||
"mashiki": _2,
|
||
"mifune": _2,
|
||
"minamata": _2,
|
||
"minamioguni": _2,
|
||
"nagasu": _2,
|
||
"nishihara": _2,
|
||
"oguni": _2,
|
||
"ozu": _2,
|
||
"sumoto": _2,
|
||
"takamori": _2,
|
||
"uki": _2,
|
||
"uto": _2,
|
||
"yamaga": _2,
|
||
"yamato": _2,
|
||
"yatsushiro": _2
|
||
}],
|
||
"kyoto": [1, {
|
||
"ayabe": _2,
|
||
"fukuchiyama": _2,
|
||
"higashiyama": _2,
|
||
"ide": _2,
|
||
"ine": _2,
|
||
"joyo": _2,
|
||
"kameoka": _2,
|
||
"kamo": _2,
|
||
"kita": _2,
|
||
"kizu": _2,
|
||
"kumiyama": _2,
|
||
"kyotamba": _2,
|
||
"kyotanabe": _2,
|
||
"kyotango": _2,
|
||
"maizuru": _2,
|
||
"minami": _2,
|
||
"minamiyamashiro": _2,
|
||
"miyazu": _2,
|
||
"muko": _2,
|
||
"nagaokakyo": _2,
|
||
"nakagyo": _2,
|
||
"nantan": _2,
|
||
"oyamazaki": _2,
|
||
"sakyo": _2,
|
||
"seika": _2,
|
||
"tanabe": _2,
|
||
"uji": _2,
|
||
"ujitawara": _2,
|
||
"wazuka": _2,
|
||
"yamashina": _2,
|
||
"yawata": _2
|
||
}],
|
||
"mie": [1, {
|
||
"asahi": _2,
|
||
"inabe": _2,
|
||
"ise": _2,
|
||
"kameyama": _2,
|
||
"kawagoe": _2,
|
||
"kiho": _2,
|
||
"kisosaki": _2,
|
||
"kiwa": _2,
|
||
"komono": _2,
|
||
"kumano": _2,
|
||
"kuwana": _2,
|
||
"matsusaka": _2,
|
||
"meiwa": _2,
|
||
"mihama": _2,
|
||
"minamiise": _2,
|
||
"misugi": _2,
|
||
"miyama": _2,
|
||
"nabari": _2,
|
||
"shima": _2,
|
||
"suzuka": _2,
|
||
"tado": _2,
|
||
"taiki": _2,
|
||
"taki": _2,
|
||
"tamaki": _2,
|
||
"toba": _2,
|
||
"tsu": _2,
|
||
"udono": _2,
|
||
"ureshino": _2,
|
||
"watarai": _2,
|
||
"yokkaichi": _2
|
||
}],
|
||
"miyagi": [1, {
|
||
"furukawa": _2,
|
||
"higashimatsushima": _2,
|
||
"ishinomaki": _2,
|
||
"iwanuma": _2,
|
||
"kakuda": _2,
|
||
"kami": _2,
|
||
"kawasaki": _2,
|
||
"marumori": _2,
|
||
"matsushima": _2,
|
||
"minamisanriku": _2,
|
||
"misato": _2,
|
||
"murata": _2,
|
||
"natori": _2,
|
||
"ogawara": _2,
|
||
"ohira": _2,
|
||
"onagawa": _2,
|
||
"osaki": _2,
|
||
"rifu": _2,
|
||
"semine": _2,
|
||
"shibata": _2,
|
||
"shichikashuku": _2,
|
||
"shikama": _2,
|
||
"shiogama": _2,
|
||
"shiroishi": _2,
|
||
"tagajo": _2,
|
||
"taiwa": _2,
|
||
"tome": _2,
|
||
"tomiya": _2,
|
||
"wakuya": _2,
|
||
"watari": _2,
|
||
"yamamoto": _2,
|
||
"zao": _2
|
||
}],
|
||
"miyazaki": [1, {
|
||
"aya": _2,
|
||
"ebino": _2,
|
||
"gokase": _2,
|
||
"hyuga": _2,
|
||
"kadogawa": _2,
|
||
"kawaminami": _2,
|
||
"kijo": _2,
|
||
"kitagawa": _2,
|
||
"kitakata": _2,
|
||
"kitaura": _2,
|
||
"kobayashi": _2,
|
||
"kunitomi": _2,
|
||
"kushima": _2,
|
||
"mimata": _2,
|
||
"miyakonojo": _2,
|
||
"miyazaki": _2,
|
||
"morotsuka": _2,
|
||
"nichinan": _2,
|
||
"nishimera": _2,
|
||
"nobeoka": _2,
|
||
"saito": _2,
|
||
"shiiba": _2,
|
||
"shintomi": _2,
|
||
"takaharu": _2,
|
||
"takanabe": _2,
|
||
"takazaki": _2,
|
||
"tsuno": _2
|
||
}],
|
||
"nagano": [1, {
|
||
"achi": _2,
|
||
"agematsu": _2,
|
||
"anan": _2,
|
||
"aoki": _2,
|
||
"asahi": _2,
|
||
"azumino": _2,
|
||
"chikuhoku": _2,
|
||
"chikuma": _2,
|
||
"chino": _2,
|
||
"fujimi": _2,
|
||
"hakuba": _2,
|
||
"hara": _2,
|
||
"hiraya": _2,
|
||
"iida": _2,
|
||
"iijima": _2,
|
||
"iiyama": _2,
|
||
"iizuna": _2,
|
||
"ikeda": _2,
|
||
"ikusaka": _2,
|
||
"ina": _2,
|
||
"karuizawa": _2,
|
||
"kawakami": _2,
|
||
"kiso": _2,
|
||
"kisofukushima": _2,
|
||
"kitaaiki": _2,
|
||
"komagane": _2,
|
||
"komoro": _2,
|
||
"matsukawa": _2,
|
||
"matsumoto": _2,
|
||
"miasa": _2,
|
||
"minamiaiki": _2,
|
||
"minamimaki": _2,
|
||
"minamiminowa": _2,
|
||
"minowa": _2,
|
||
"miyada": _2,
|
||
"miyota": _2,
|
||
"mochizuki": _2,
|
||
"nagano": _2,
|
||
"nagawa": _2,
|
||
"nagiso": _2,
|
||
"nakagawa": _2,
|
||
"nakano": _2,
|
||
"nozawaonsen": _2,
|
||
"obuse": _2,
|
||
"ogawa": _2,
|
||
"okaya": _2,
|
||
"omachi": _2,
|
||
"omi": _2,
|
||
"ookuwa": _2,
|
||
"ooshika": _2,
|
||
"otaki": _2,
|
||
"otari": _2,
|
||
"sakae": _2,
|
||
"sakaki": _2,
|
||
"saku": _2,
|
||
"sakuho": _2,
|
||
"shimosuwa": _2,
|
||
"shinanomachi": _2,
|
||
"shiojiri": _2,
|
||
"suwa": _2,
|
||
"suzaka": _2,
|
||
"takagi": _2,
|
||
"takamori": _2,
|
||
"takayama": _2,
|
||
"tateshina": _2,
|
||
"tatsuno": _2,
|
||
"togakushi": _2,
|
||
"togura": _2,
|
||
"tomi": _2,
|
||
"ueda": _2,
|
||
"wada": _2,
|
||
"yamagata": _2,
|
||
"yamanouchi": _2,
|
||
"yasaka": _2,
|
||
"yasuoka": _2
|
||
}],
|
||
"nagasaki": [1, {
|
||
"chijiwa": _2,
|
||
"futsu": _2,
|
||
"goto": _2,
|
||
"hasami": _2,
|
||
"hirado": _2,
|
||
"iki": _2,
|
||
"isahaya": _2,
|
||
"kawatana": _2,
|
||
"kuchinotsu": _2,
|
||
"matsuura": _2,
|
||
"nagasaki": _2,
|
||
"obama": _2,
|
||
"omura": _2,
|
||
"oseto": _2,
|
||
"saikai": _2,
|
||
"sasebo": _2,
|
||
"seihi": _2,
|
||
"shimabara": _2,
|
||
"shinkamigoto": _2,
|
||
"togitsu": _2,
|
||
"tsushima": _2,
|
||
"unzen": _2
|
||
}],
|
||
"nara": [1, {
|
||
"ando": _2,
|
||
"gose": _2,
|
||
"heguri": _2,
|
||
"higashiyoshino": _2,
|
||
"ikaruga": _2,
|
||
"ikoma": _2,
|
||
"kamikitayama": _2,
|
||
"kanmaki": _2,
|
||
"kashiba": _2,
|
||
"kashihara": _2,
|
||
"katsuragi": _2,
|
||
"kawai": _2,
|
||
"kawakami": _2,
|
||
"kawanishi": _2,
|
||
"koryo": _2,
|
||
"kurotaki": _2,
|
||
"mitsue": _2,
|
||
"miyake": _2,
|
||
"nara": _2,
|
||
"nosegawa": _2,
|
||
"oji": _2,
|
||
"ouda": _2,
|
||
"oyodo": _2,
|
||
"sakurai": _2,
|
||
"sango": _2,
|
||
"shimoichi": _2,
|
||
"shimokitayama": _2,
|
||
"shinjo": _2,
|
||
"soni": _2,
|
||
"takatori": _2,
|
||
"tawaramoto": _2,
|
||
"tenkawa": _2,
|
||
"tenri": _2,
|
||
"uda": _2,
|
||
"yamatokoriyama": _2,
|
||
"yamatotakada": _2,
|
||
"yamazoe": _2,
|
||
"yoshino": _2
|
||
}],
|
||
"niigata": [1, {
|
||
"aga": _2,
|
||
"agano": _2,
|
||
"gosen": _2,
|
||
"itoigawa": _2,
|
||
"izumozaki": _2,
|
||
"joetsu": _2,
|
||
"kamo": _2,
|
||
"kariwa": _2,
|
||
"kashiwazaki": _2,
|
||
"minamiuonuma": _2,
|
||
"mitsuke": _2,
|
||
"muika": _2,
|
||
"murakami": _2,
|
||
"myoko": _2,
|
||
"nagaoka": _2,
|
||
"niigata": _2,
|
||
"ojiya": _2,
|
||
"omi": _2,
|
||
"sado": _2,
|
||
"sanjo": _2,
|
||
"seiro": _2,
|
||
"seirou": _2,
|
||
"sekikawa": _2,
|
||
"shibata": _2,
|
||
"tagami": _2,
|
||
"tainai": _2,
|
||
"tochio": _2,
|
||
"tokamachi": _2,
|
||
"tsubame": _2,
|
||
"tsunan": _2,
|
||
"uonuma": _2,
|
||
"yahiko": _2,
|
||
"yoita": _2,
|
||
"yuzawa": _2
|
||
}],
|
||
"oita": [1, {
|
||
"beppu": _2,
|
||
"bungoono": _2,
|
||
"bungotakada": _2,
|
||
"hasama": _2,
|
||
"hiji": _2,
|
||
"himeshima": _2,
|
||
"hita": _2,
|
||
"kamitsue": _2,
|
||
"kokonoe": _2,
|
||
"kuju": _2,
|
||
"kunisaki": _2,
|
||
"kusu": _2,
|
||
"oita": _2,
|
||
"saiki": _2,
|
||
"taketa": _2,
|
||
"tsukumi": _2,
|
||
"usa": _2,
|
||
"usuki": _2,
|
||
"yufu": _2
|
||
}],
|
||
"okayama": [1, {
|
||
"akaiwa": _2,
|
||
"asakuchi": _2,
|
||
"bizen": _2,
|
||
"hayashima": _2,
|
||
"ibara": _2,
|
||
"kagamino": _2,
|
||
"kasaoka": _2,
|
||
"kibichuo": _2,
|
||
"kumenan": _2,
|
||
"kurashiki": _2,
|
||
"maniwa": _2,
|
||
"misaki": _2,
|
||
"nagi": _2,
|
||
"niimi": _2,
|
||
"nishiawakura": _2,
|
||
"okayama": _2,
|
||
"satosho": _2,
|
||
"setouchi": _2,
|
||
"shinjo": _2,
|
||
"shoo": _2,
|
||
"soja": _2,
|
||
"takahashi": _2,
|
||
"tamano": _2,
|
||
"tsuyama": _2,
|
||
"wake": _2,
|
||
"yakage": _2
|
||
}],
|
||
"okinawa": [1, {
|
||
"aguni": _2,
|
||
"ginowan": _2,
|
||
"ginoza": _2,
|
||
"gushikami": _2,
|
||
"haebaru": _2,
|
||
"higashi": _2,
|
||
"hirara": _2,
|
||
"iheya": _2,
|
||
"ishigaki": _2,
|
||
"ishikawa": _2,
|
||
"itoman": _2,
|
||
"izena": _2,
|
||
"kadena": _2,
|
||
"kin": _2,
|
||
"kitadaito": _2,
|
||
"kitanakagusuku": _2,
|
||
"kumejima": _2,
|
||
"kunigami": _2,
|
||
"minamidaito": _2,
|
||
"motobu": _2,
|
||
"nago": _2,
|
||
"naha": _2,
|
||
"nakagusuku": _2,
|
||
"nakijin": _2,
|
||
"nanjo": _2,
|
||
"nishihara": _2,
|
||
"ogimi": _2,
|
||
"okinawa": _2,
|
||
"onna": _2,
|
||
"shimoji": _2,
|
||
"taketomi": _2,
|
||
"tarama": _2,
|
||
"tokashiki": _2,
|
||
"tomigusuku": _2,
|
||
"tonaki": _2,
|
||
"urasoe": _2,
|
||
"uruma": _2,
|
||
"yaese": _2,
|
||
"yomitan": _2,
|
||
"yonabaru": _2,
|
||
"yonaguni": _2,
|
||
"zamami": _2
|
||
}],
|
||
"osaka": [1, {
|
||
"abeno": _2,
|
||
"chihayaakasaka": _2,
|
||
"chuo": _2,
|
||
"daito": _2,
|
||
"fujiidera": _2,
|
||
"habikino": _2,
|
||
"hannan": _2,
|
||
"higashiosaka": _2,
|
||
"higashisumiyoshi": _2,
|
||
"higashiyodogawa": _2,
|
||
"hirakata": _2,
|
||
"ibaraki": _2,
|
||
"ikeda": _2,
|
||
"izumi": _2,
|
||
"izumiotsu": _2,
|
||
"izumisano": _2,
|
||
"kadoma": _2,
|
||
"kaizuka": _2,
|
||
"kanan": _2,
|
||
"kashiwara": _2,
|
||
"katano": _2,
|
||
"kawachinagano": _2,
|
||
"kishiwada": _2,
|
||
"kita": _2,
|
||
"kumatori": _2,
|
||
"matsubara": _2,
|
||
"minato": _2,
|
||
"minoh": _2,
|
||
"misaki": _2,
|
||
"moriguchi": _2,
|
||
"neyagawa": _2,
|
||
"nishi": _2,
|
||
"nose": _2,
|
||
"osakasayama": _2,
|
||
"sakai": _2,
|
||
"sayama": _2,
|
||
"sennan": _2,
|
||
"settsu": _2,
|
||
"shijonawate": _2,
|
||
"shimamoto": _2,
|
||
"suita": _2,
|
||
"tadaoka": _2,
|
||
"taishi": _2,
|
||
"tajiri": _2,
|
||
"takaishi": _2,
|
||
"takatsuki": _2,
|
||
"tondabayashi": _2,
|
||
"toyonaka": _2,
|
||
"toyono": _2,
|
||
"yao": _2
|
||
}],
|
||
"saga": [1, {
|
||
"ariake": _2,
|
||
"arita": _2,
|
||
"fukudomi": _2,
|
||
"genkai": _2,
|
||
"hamatama": _2,
|
||
"hizen": _2,
|
||
"imari": _2,
|
||
"kamimine": _2,
|
||
"kanzaki": _2,
|
||
"karatsu": _2,
|
||
"kashima": _2,
|
||
"kitagata": _2,
|
||
"kitahata": _2,
|
||
"kiyama": _2,
|
||
"kouhoku": _2,
|
||
"kyuragi": _2,
|
||
"nishiarita": _2,
|
||
"ogi": _2,
|
||
"omachi": _2,
|
||
"ouchi": _2,
|
||
"saga": _2,
|
||
"shiroishi": _2,
|
||
"taku": _2,
|
||
"tara": _2,
|
||
"tosu": _2,
|
||
"yoshinogari": _2
|
||
}],
|
||
"saitama": [1, {
|
||
"arakawa": _2,
|
||
"asaka": _2,
|
||
"chichibu": _2,
|
||
"fujimi": _2,
|
||
"fujimino": _2,
|
||
"fukaya": _2,
|
||
"hanno": _2,
|
||
"hanyu": _2,
|
||
"hasuda": _2,
|
||
"hatogaya": _2,
|
||
"hatoyama": _2,
|
||
"hidaka": _2,
|
||
"higashichichibu": _2,
|
||
"higashimatsuyama": _2,
|
||
"honjo": _2,
|
||
"ina": _2,
|
||
"iruma": _2,
|
||
"iwatsuki": _2,
|
||
"kamiizumi": _2,
|
||
"kamikawa": _2,
|
||
"kamisato": _2,
|
||
"kasukabe": _2,
|
||
"kawagoe": _2,
|
||
"kawaguchi": _2,
|
||
"kawajima": _2,
|
||
"kazo": _2,
|
||
"kitamoto": _2,
|
||
"koshigaya": _2,
|
||
"kounosu": _2,
|
||
"kuki": _2,
|
||
"kumagaya": _2,
|
||
"matsubushi": _2,
|
||
"minano": _2,
|
||
"misato": _2,
|
||
"miyashiro": _2,
|
||
"miyoshi": _2,
|
||
"moroyama": _2,
|
||
"nagatoro": _2,
|
||
"namegawa": _2,
|
||
"niiza": _2,
|
||
"ogano": _2,
|
||
"ogawa": _2,
|
||
"ogose": _2,
|
||
"okegawa": _2,
|
||
"omiya": _2,
|
||
"otaki": _2,
|
||
"ranzan": _2,
|
||
"ryokami": _2,
|
||
"saitama": _2,
|
||
"sakado": _2,
|
||
"satte": _2,
|
||
"sayama": _2,
|
||
"shiki": _2,
|
||
"shiraoka": _2,
|
||
"soka": _2,
|
||
"sugito": _2,
|
||
"toda": _2,
|
||
"tokigawa": _2,
|
||
"tokorozawa": _2,
|
||
"tsurugashima": _2,
|
||
"urawa": _2,
|
||
"warabi": _2,
|
||
"yashio": _2,
|
||
"yokoze": _2,
|
||
"yono": _2,
|
||
"yorii": _2,
|
||
"yoshida": _2,
|
||
"yoshikawa": _2,
|
||
"yoshimi": _2
|
||
}],
|
||
"shiga": [1, {
|
||
"aisho": _2,
|
||
"gamo": _2,
|
||
"higashiomi": _2,
|
||
"hikone": _2,
|
||
"koka": _2,
|
||
"konan": _2,
|
||
"kosei": _2,
|
||
"koto": _2,
|
||
"kusatsu": _2,
|
||
"maibara": _2,
|
||
"moriyama": _2,
|
||
"nagahama": _2,
|
||
"nishiazai": _2,
|
||
"notogawa": _2,
|
||
"omihachiman": _2,
|
||
"otsu": _2,
|
||
"ritto": _2,
|
||
"ryuoh": _2,
|
||
"takashima": _2,
|
||
"takatsuki": _2,
|
||
"torahime": _2,
|
||
"toyosato": _2,
|
||
"yasu": _2
|
||
}],
|
||
"shimane": [1, {
|
||
"akagi": _2,
|
||
"ama": _2,
|
||
"gotsu": _2,
|
||
"hamada": _2,
|
||
"higashiizumo": _2,
|
||
"hikawa": _2,
|
||
"hikimi": _2,
|
||
"izumo": _2,
|
||
"kakinoki": _2,
|
||
"masuda": _2,
|
||
"matsue": _2,
|
||
"misato": _2,
|
||
"nishinoshima": _2,
|
||
"ohda": _2,
|
||
"okinoshima": _2,
|
||
"okuizumo": _2,
|
||
"shimane": _2,
|
||
"tamayu": _2,
|
||
"tsuwano": _2,
|
||
"unnan": _2,
|
||
"yakumo": _2,
|
||
"yasugi": _2,
|
||
"yatsuka": _2
|
||
}],
|
||
"shizuoka": [1, {
|
||
"arai": _2,
|
||
"atami": _2,
|
||
"fuji": _2,
|
||
"fujieda": _2,
|
||
"fujikawa": _2,
|
||
"fujinomiya": _2,
|
||
"fukuroi": _2,
|
||
"gotemba": _2,
|
||
"haibara": _2,
|
||
"hamamatsu": _2,
|
||
"higashiizu": _2,
|
||
"ito": _2,
|
||
"iwata": _2,
|
||
"izu": _2,
|
||
"izunokuni": _2,
|
||
"kakegawa": _2,
|
||
"kannami": _2,
|
||
"kawanehon": _2,
|
||
"kawazu": _2,
|
||
"kikugawa": _2,
|
||
"kosai": _2,
|
||
"makinohara": _2,
|
||
"matsuzaki": _2,
|
||
"minamiizu": _2,
|
||
"mishima": _2,
|
||
"morimachi": _2,
|
||
"nishiizu": _2,
|
||
"numazu": _2,
|
||
"omaezaki": _2,
|
||
"shimada": _2,
|
||
"shimizu": _2,
|
||
"shimoda": _2,
|
||
"shizuoka": _2,
|
||
"susono": _2,
|
||
"yaizu": _2,
|
||
"yoshida": _2
|
||
}],
|
||
"tochigi": [1, {
|
||
"ashikaga": _2,
|
||
"bato": _2,
|
||
"haga": _2,
|
||
"ichikai": _2,
|
||
"iwafune": _2,
|
||
"kaminokawa": _2,
|
||
"kanuma": _2,
|
||
"karasuyama": _2,
|
||
"kuroiso": _2,
|
||
"mashiko": _2,
|
||
"mibu": _2,
|
||
"moka": _2,
|
||
"motegi": _2,
|
||
"nasu": _2,
|
||
"nasushiobara": _2,
|
||
"nikko": _2,
|
||
"nishikata": _2,
|
||
"nogi": _2,
|
||
"ohira": _2,
|
||
"ohtawara": _2,
|
||
"oyama": _2,
|
||
"sakura": _2,
|
||
"sano": _2,
|
||
"shimotsuke": _2,
|
||
"shioya": _2,
|
||
"takanezawa": _2,
|
||
"tochigi": _2,
|
||
"tsuga": _2,
|
||
"ujiie": _2,
|
||
"utsunomiya": _2,
|
||
"yaita": _2
|
||
}],
|
||
"tokushima": [1, {
|
||
"aizumi": _2,
|
||
"anan": _2,
|
||
"ichiba": _2,
|
||
"itano": _2,
|
||
"kainan": _2,
|
||
"komatsushima": _2,
|
||
"matsushige": _2,
|
||
"mima": _2,
|
||
"minami": _2,
|
||
"miyoshi": _2,
|
||
"mugi": _2,
|
||
"nakagawa": _2,
|
||
"naruto": _2,
|
||
"sanagochi": _2,
|
||
"shishikui": _2,
|
||
"tokushima": _2,
|
||
"wajiki": _2
|
||
}],
|
||
"tokyo": [1, {
|
||
"adachi": _2,
|
||
"akiruno": _2,
|
||
"akishima": _2,
|
||
"aogashima": _2,
|
||
"arakawa": _2,
|
||
"bunkyo": _2,
|
||
"chiyoda": _2,
|
||
"chofu": _2,
|
||
"chuo": _2,
|
||
"edogawa": _2,
|
||
"fuchu": _2,
|
||
"fussa": _2,
|
||
"hachijo": _2,
|
||
"hachioji": _2,
|
||
"hamura": _2,
|
||
"higashikurume": _2,
|
||
"higashimurayama": _2,
|
||
"higashiyamato": _2,
|
||
"hino": _2,
|
||
"hinode": _2,
|
||
"hinohara": _2,
|
||
"inagi": _2,
|
||
"itabashi": _2,
|
||
"katsushika": _2,
|
||
"kita": _2,
|
||
"kiyose": _2,
|
||
"kodaira": _2,
|
||
"koganei": _2,
|
||
"kokubunji": _2,
|
||
"komae": _2,
|
||
"koto": _2,
|
||
"kouzushima": _2,
|
||
"kunitachi": _2,
|
||
"machida": _2,
|
||
"meguro": _2,
|
||
"minato": _2,
|
||
"mitaka": _2,
|
||
"mizuho": _2,
|
||
"musashimurayama": _2,
|
||
"musashino": _2,
|
||
"nakano": _2,
|
||
"nerima": _2,
|
||
"ogasawara": _2,
|
||
"okutama": _2,
|
||
"ome": _2,
|
||
"oshima": _2,
|
||
"ota": _2,
|
||
"setagaya": _2,
|
||
"shibuya": _2,
|
||
"shinagawa": _2,
|
||
"shinjuku": _2,
|
||
"suginami": _2,
|
||
"sumida": _2,
|
||
"tachikawa": _2,
|
||
"taito": _2,
|
||
"tama": _2,
|
||
"toshima": _2
|
||
}],
|
||
"tottori": [1, {
|
||
"chizu": _2,
|
||
"hino": _2,
|
||
"kawahara": _2,
|
||
"koge": _2,
|
||
"kotoura": _2,
|
||
"misasa": _2,
|
||
"nanbu": _2,
|
||
"nichinan": _2,
|
||
"sakaiminato": _2,
|
||
"tottori": _2,
|
||
"wakasa": _2,
|
||
"yazu": _2,
|
||
"yonago": _2
|
||
}],
|
||
"toyama": [1, {
|
||
"asahi": _2,
|
||
"fuchu": _2,
|
||
"fukumitsu": _2,
|
||
"funahashi": _2,
|
||
"himi": _2,
|
||
"imizu": _2,
|
||
"inami": _2,
|
||
"johana": _2,
|
||
"kamiichi": _2,
|
||
"kurobe": _2,
|
||
"nakaniikawa": _2,
|
||
"namerikawa": _2,
|
||
"nanto": _2,
|
||
"nyuzen": _2,
|
||
"oyabe": _2,
|
||
"taira": _2,
|
||
"takaoka": _2,
|
||
"tateyama": _2,
|
||
"toga": _2,
|
||
"tonami": _2,
|
||
"toyama": _2,
|
||
"unazuki": _2,
|
||
"uozu": _2,
|
||
"yamada": _2
|
||
}],
|
||
"wakayama": [1, {
|
||
"arida": _2,
|
||
"aridagawa": _2,
|
||
"gobo": _2,
|
||
"hashimoto": _2,
|
||
"hidaka": _2,
|
||
"hirogawa": _2,
|
||
"inami": _2,
|
||
"iwade": _2,
|
||
"kainan": _2,
|
||
"kamitonda": _2,
|
||
"katsuragi": _2,
|
||
"kimino": _2,
|
||
"kinokawa": _2,
|
||
"kitayama": _2,
|
||
"koya": _2,
|
||
"koza": _2,
|
||
"kozagawa": _2,
|
||
"kudoyama": _2,
|
||
"kushimoto": _2,
|
||
"mihama": _2,
|
||
"misato": _2,
|
||
"nachikatsuura": _2,
|
||
"shingu": _2,
|
||
"shirahama": _2,
|
||
"taiji": _2,
|
||
"tanabe": _2,
|
||
"wakayama": _2,
|
||
"yuasa": _2,
|
||
"yura": _2
|
||
}],
|
||
"yamagata": [1, {
|
||
"asahi": _2,
|
||
"funagata": _2,
|
||
"higashine": _2,
|
||
"iide": _2,
|
||
"kahoku": _2,
|
||
"kaminoyama": _2,
|
||
"kaneyama": _2,
|
||
"kawanishi": _2,
|
||
"mamurogawa": _2,
|
||
"mikawa": _2,
|
||
"murayama": _2,
|
||
"nagai": _2,
|
||
"nakayama": _2,
|
||
"nanyo": _2,
|
||
"nishikawa": _2,
|
||
"obanazawa": _2,
|
||
"oe": _2,
|
||
"oguni": _2,
|
||
"ohkura": _2,
|
||
"oishida": _2,
|
||
"sagae": _2,
|
||
"sakata": _2,
|
||
"sakegawa": _2,
|
||
"shinjo": _2,
|
||
"shirataka": _2,
|
||
"shonai": _2,
|
||
"takahata": _2,
|
||
"tendo": _2,
|
||
"tozawa": _2,
|
||
"tsuruoka": _2,
|
||
"yamagata": _2,
|
||
"yamanobe": _2,
|
||
"yonezawa": _2,
|
||
"yuza": _2
|
||
}],
|
||
"yamaguchi": [1, {
|
||
"abu": _2,
|
||
"hagi": _2,
|
||
"hikari": _2,
|
||
"hofu": _2,
|
||
"iwakuni": _2,
|
||
"kudamatsu": _2,
|
||
"mitou": _2,
|
||
"nagato": _2,
|
||
"oshima": _2,
|
||
"shimonoseki": _2,
|
||
"shunan": _2,
|
||
"tabuse": _2,
|
||
"tokuyama": _2,
|
||
"toyota": _2,
|
||
"ube": _2,
|
||
"yuu": _2
|
||
}],
|
||
"yamanashi": [1, {
|
||
"chuo": _2,
|
||
"doshi": _2,
|
||
"fuefuki": _2,
|
||
"fujikawa": _2,
|
||
"fujikawaguchiko": _2,
|
||
"fujiyoshida": _2,
|
||
"hayakawa": _2,
|
||
"hokuto": _2,
|
||
"ichikawamisato": _2,
|
||
"kai": _2,
|
||
"kofu": _2,
|
||
"koshu": _2,
|
||
"kosuge": _2,
|
||
"minami-alps": _2,
|
||
"minobu": _2,
|
||
"nakamichi": _2,
|
||
"nanbu": _2,
|
||
"narusawa": _2,
|
||
"nirasaki": _2,
|
||
"nishikatsura": _2,
|
||
"oshino": _2,
|
||
"otsuki": _2,
|
||
"showa": _2,
|
||
"tabayama": _2,
|
||
"tsuru": _2,
|
||
"uenohara": _2,
|
||
"yamanakako": _2,
|
||
"yamanashi": _2
|
||
}],
|
||
"xn--4pvxs": _2,
|
||
"栃木": _2,
|
||
"xn--vgu402c": _2,
|
||
"愛知": _2,
|
||
"xn--c3s14m": _2,
|
||
"愛媛": _2,
|
||
"xn--f6qx53a": _2,
|
||
"兵庫": _2,
|
||
"xn--8pvr4u": _2,
|
||
"熊本": _2,
|
||
"xn--uist22h": _2,
|
||
"茨城": _2,
|
||
"xn--djrs72d6uy": _2,
|
||
"北海道": _2,
|
||
"xn--mkru45i": _2,
|
||
"千葉": _2,
|
||
"xn--0trq7p7nn": _2,
|
||
"和歌山": _2,
|
||
"xn--8ltr62k": _2,
|
||
"長崎": _2,
|
||
"xn--2m4a15e": _2,
|
||
"長野": _2,
|
||
"xn--efvn9s": _2,
|
||
"新潟": _2,
|
||
"xn--32vp30h": _2,
|
||
"青森": _2,
|
||
"xn--4it797k": _2,
|
||
"静岡": _2,
|
||
"xn--1lqs71d": _2,
|
||
"東京": _2,
|
||
"xn--5rtp49c": _2,
|
||
"石川": _2,
|
||
"xn--5js045d": _2,
|
||
"埼玉": _2,
|
||
"xn--ehqz56n": _2,
|
||
"三重": _2,
|
||
"xn--1lqs03n": _2,
|
||
"京都": _2,
|
||
"xn--qqqt11m": _2,
|
||
"佐賀": _2,
|
||
"xn--kbrq7o": _2,
|
||
"大分": _2,
|
||
"xn--pssu33l": _2,
|
||
"大阪": _2,
|
||
"xn--ntsq17g": _2,
|
||
"奈良": _2,
|
||
"xn--uisz3g": _2,
|
||
"宮城": _2,
|
||
"xn--6btw5a": _2,
|
||
"宮崎": _2,
|
||
"xn--1ctwo": _2,
|
||
"富山": _2,
|
||
"xn--6orx2r": _2,
|
||
"山口": _2,
|
||
"xn--rht61e": _2,
|
||
"山形": _2,
|
||
"xn--rht27z": _2,
|
||
"山梨": _2,
|
||
"xn--djty4k": _2,
|
||
"岩手": _2,
|
||
"xn--nit225k": _2,
|
||
"岐阜": _2,
|
||
"xn--rht3d": _2,
|
||
"岡山": _2,
|
||
"xn--klty5x": _2,
|
||
"島根": _2,
|
||
"xn--kltx9a": _2,
|
||
"広島": _2,
|
||
"xn--kltp7d": _2,
|
||
"徳島": _2,
|
||
"xn--uuwu58a": _2,
|
||
"沖縄": _2,
|
||
"xn--zbx025d": _2,
|
||
"滋賀": _2,
|
||
"xn--ntso0iqx3a": _2,
|
||
"神奈川": _2,
|
||
"xn--elqq16h": _2,
|
||
"福井": _2,
|
||
"xn--4it168d": _2,
|
||
"福岡": _2,
|
||
"xn--klt787d": _2,
|
||
"福島": _2,
|
||
"xn--rny31h": _2,
|
||
"秋田": _2,
|
||
"xn--7t0a264c": _2,
|
||
"群馬": _2,
|
||
"xn--5rtq34k": _2,
|
||
"香川": _2,
|
||
"xn--k7yn95e": _2,
|
||
"高知": _2,
|
||
"xn--tor131o": _2,
|
||
"鳥取": _2,
|
||
"xn--d5qv7z876c": _2,
|
||
"鹿児島": _2,
|
||
"kawasaki": _8,
|
||
"kitakyushu": _8,
|
||
"kobe": _8,
|
||
"nagoya": _8,
|
||
"sapporo": _8,
|
||
"sendai": _8,
|
||
"yokohama": _8,
|
||
"buyshop": _3,
|
||
"fashionstore": _3,
|
||
"handcrafted": _3,
|
||
"kawaiishop": _3,
|
||
"supersale": _3,
|
||
"theshop": _3,
|
||
"usercontent": _3,
|
||
"angry": _3,
|
||
"babyblue": _3,
|
||
"babymilk": _3,
|
||
"backdrop": _3,
|
||
"bambina": _3,
|
||
"bitter": _3,
|
||
"blush": _3,
|
||
"boo": _3,
|
||
"boy": _3,
|
||
"boyfriend": _3,
|
||
"but": _3,
|
||
"candypop": _3,
|
||
"capoo": _3,
|
||
"catfood": _3,
|
||
"cheap": _3,
|
||
"chicappa": _3,
|
||
"chillout": _3,
|
||
"chips": _3,
|
||
"chowder": _3,
|
||
"chu": _3,
|
||
"ciao": _3,
|
||
"cocotte": _3,
|
||
"coolblog": _3,
|
||
"cranky": _3,
|
||
"cutegirl": _3,
|
||
"daa": _3,
|
||
"deca": _3,
|
||
"deci": _3,
|
||
"digick": _3,
|
||
"egoism": _3,
|
||
"fakefur": _3,
|
||
"fem": _3,
|
||
"flier": _3,
|
||
"floppy": _3,
|
||
"fool": _3,
|
||
"frenchkiss": _3,
|
||
"girlfriend": _3,
|
||
"girly": _3,
|
||
"gloomy": _3,
|
||
"gonna": _3,
|
||
"greater": _3,
|
||
"hacca": _3,
|
||
"heavy": _3,
|
||
"her": _3,
|
||
"hiho": _3,
|
||
"hippy": _3,
|
||
"holy": _3,
|
||
"hungry": _3,
|
||
"icurus": _3,
|
||
"itigo": _3,
|
||
"jellybean": _3,
|
||
"kikirara": _3,
|
||
"kill": _3,
|
||
"kilo": _3,
|
||
"kuron": _3,
|
||
"littlestar": _3,
|
||
"lolipopmc": _3,
|
||
"lolitapunk": _3,
|
||
"lomo": _3,
|
||
"lovepop": _3,
|
||
"lovesick": _3,
|
||
"main": _3,
|
||
"mods": _3,
|
||
"mond": _3,
|
||
"mongolian": _3,
|
||
"moo": _3,
|
||
"namaste": _3,
|
||
"nikita": _3,
|
||
"nobushi": _3,
|
||
"noor": _3,
|
||
"oops": _3,
|
||
"parallel": _3,
|
||
"parasite": _3,
|
||
"pecori": _3,
|
||
"peewee": _3,
|
||
"penne": _3,
|
||
"pepper": _3,
|
||
"perma": _3,
|
||
"pigboat": _3,
|
||
"pinoko": _3,
|
||
"punyu": _3,
|
||
"pupu": _3,
|
||
"pussycat": _3,
|
||
"pya": _3,
|
||
"raindrop": _3,
|
||
"readymade": _3,
|
||
"sadist": _3,
|
||
"schoolbus": _3,
|
||
"secret": _3,
|
||
"staba": _3,
|
||
"stripper": _3,
|
||
"sub": _3,
|
||
"sunnyday": _3,
|
||
"thick": _3,
|
||
"tonkotsu": _3,
|
||
"under": _3,
|
||
"upper": _3,
|
||
"velvet": _3,
|
||
"verse": _3,
|
||
"versus": _3,
|
||
"vivian": _3,
|
||
"watson": _3,
|
||
"weblike": _3,
|
||
"whitesnow": _3,
|
||
"zombie": _3,
|
||
"blogspot": _3,
|
||
"2-d": _3,
|
||
"bona": _3,
|
||
"crap": _3,
|
||
"daynight": _3,
|
||
"eek": _3,
|
||
"flop": _3,
|
||
"halfmoon": _3,
|
||
"jeez": _3,
|
||
"matrix": _3,
|
||
"mimoza": _3,
|
||
"netgamers": _3,
|
||
"nyanta": _3,
|
||
"o0o0": _3,
|
||
"rdy": _3,
|
||
"rgr": _3,
|
||
"rulez": _3,
|
||
"sakurastorage": [0, {
|
||
"isk01": _12,
|
||
"isk02": _12
|
||
}],
|
||
"saloon": _3,
|
||
"sblo": _3,
|
||
"skr": _3,
|
||
"tank": _3,
|
||
"uh-oh": _3,
|
||
"undo": _3,
|
||
"webaccel": [0, {
|
||
"rs": _3,
|
||
"user": _3
|
||
}],
|
||
"websozai": _3,
|
||
"xii": _3
|
||
}],
|
||
"ke": [1, {
|
||
"ac": _2,
|
||
"co": _6,
|
||
"go": _2,
|
||
"info": _2,
|
||
"me": _2,
|
||
"mobi": _2,
|
||
"ne": _2,
|
||
"or": _2,
|
||
"sc": _2
|
||
}],
|
||
"kg": [1, {
|
||
"org": _2,
|
||
"net": _2,
|
||
"com": _2,
|
||
"edu": _2,
|
||
"gov": _2,
|
||
"mil": _2,
|
||
"blog": _3,
|
||
"io": _3,
|
||
"jp": _3,
|
||
"tv": _3,
|
||
"uk": _3,
|
||
"us": _3
|
||
}],
|
||
"kh": _8,
|
||
"ki": _35,
|
||
"km": [1, {
|
||
"org": _2,
|
||
"nom": _2,
|
||
"gov": _2,
|
||
"prd": _2,
|
||
"tm": _2,
|
||
"edu": _2,
|
||
"mil": _2,
|
||
"ass": _2,
|
||
"com": _2,
|
||
"coop": _2,
|
||
"asso": _2,
|
||
"presse": _2,
|
||
"medecin": _2,
|
||
"notaires": _2,
|
||
"pharmaciens": _2,
|
||
"veterinaire": _2,
|
||
"gouv": _2
|
||
}],
|
||
"kn": [1, {
|
||
"net": _2,
|
||
"org": _2,
|
||
"edu": _2,
|
||
"gov": _2
|
||
}],
|
||
"kp": [1, {
|
||
"com": _2,
|
||
"edu": _2,
|
||
"gov": _2,
|
||
"org": _2,
|
||
"rep": _2,
|
||
"tra": _2
|
||
}],
|
||
"kr": [1, {
|
||
"ac": _2,
|
||
"co": _2,
|
||
"es": _2,
|
||
"go": _2,
|
||
"hs": _2,
|
||
"kg": _2,
|
||
"mil": _2,
|
||
"ms": _2,
|
||
"ne": _2,
|
||
"or": _2,
|
||
"pe": _2,
|
||
"re": _2,
|
||
"sc": _2,
|
||
"busan": _2,
|
||
"chungbuk": _2,
|
||
"chungnam": _2,
|
||
"daegu": _2,
|
||
"daejeon": _2,
|
||
"gangwon": _2,
|
||
"gwangju": _2,
|
||
"gyeongbuk": _2,
|
||
"gyeonggi": _2,
|
||
"gyeongnam": _2,
|
||
"incheon": _2,
|
||
"jeju": _2,
|
||
"jeonbuk": _2,
|
||
"jeonnam": _2,
|
||
"seoul": _2,
|
||
"ulsan": _2,
|
||
"blogspot": _3
|
||
}],
|
||
"kw": [1, {
|
||
"com": _2,
|
||
"edu": _2,
|
||
"emb": _2,
|
||
"gov": _2,
|
||
"ind": _2,
|
||
"net": _2,
|
||
"org": _2
|
||
}],
|
||
"ky": _27,
|
||
"kz": [1, {
|
||
"org": _2,
|
||
"edu": _2,
|
||
"net": _2,
|
||
"gov": _2,
|
||
"mil": _2,
|
||
"com": _2,
|
||
"jcloud": _3,
|
||
"kazteleport": [0, {
|
||
"upaas": _3
|
||
}]
|
||
}],
|
||
"la": [1, {
|
||
"int": _2,
|
||
"net": _2,
|
||
"info": _2,
|
||
"edu": _2,
|
||
"gov": _2,
|
||
"per": _2,
|
||
"com": _2,
|
||
"org": _2,
|
||
"bnr": _3,
|
||
"c": _3
|
||
}],
|
||
"lb": _4,
|
||
"lc": [1, {
|
||
"com": _2,
|
||
"net": _2,
|
||
"co": _2,
|
||
"org": _2,
|
||
"edu": _2,
|
||
"gov": _2,
|
||
"oy": _3
|
||
}],
|
||
"li": [1, {
|
||
"blogspot": _3,
|
||
"caa": _3
|
||
}],
|
||
"lk": [1, {
|
||
"gov": _2,
|
||
"sch": _2,
|
||
"net": _2,
|
||
"int": _2,
|
||
"com": _2,
|
||
"org": _2,
|
||
"edu": _2,
|
||
"ngo": _2,
|
||
"soc": _2,
|
||
"web": _2,
|
||
"ltd": _2,
|
||
"assn": _2,
|
||
"grp": _2,
|
||
"hotel": _2,
|
||
"ac": _2
|
||
}],
|
||
"lr": _4,
|
||
"ls": [1, {
|
||
"ac": _2,
|
||
"biz": _2,
|
||
"co": _2,
|
||
"edu": _2,
|
||
"gov": _2,
|
||
"info": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"sc": _2,
|
||
"de": _3
|
||
}],
|
||
"lt": _36,
|
||
"lu": [1, {
|
||
"blogspot": _3,
|
||
"123website": _3
|
||
}],
|
||
"lv": [1, {
|
||
"com": _2,
|
||
"edu": _2,
|
||
"gov": _2,
|
||
"org": _2,
|
||
"mil": _2,
|
||
"id": _2,
|
||
"net": _2,
|
||
"asn": _2,
|
||
"conf": _2
|
||
}],
|
||
"ly": [1, {
|
||
"com": _2,
|
||
"net": _2,
|
||
"gov": _2,
|
||
"plc": _2,
|
||
"edu": _2,
|
||
"sch": _2,
|
||
"med": _2,
|
||
"org": _2,
|
||
"id": _2
|
||
}],
|
||
"ma": [1, {
|
||
"co": _2,
|
||
"net": _2,
|
||
"gov": _2,
|
||
"org": _2,
|
||
"ac": _2,
|
||
"press": _2
|
||
}],
|
||
"mc": [1, {
|
||
"tm": _2,
|
||
"asso": _2
|
||
}],
|
||
"md": [1, {
|
||
"blogspot": _3,
|
||
"at": _3,
|
||
"de": _3,
|
||
"jp": _3,
|
||
"to": _3
|
||
}],
|
||
"me": [1, {
|
||
"co": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"edu": _2,
|
||
"ac": _2,
|
||
"gov": _2,
|
||
"its": _2,
|
||
"priv": _2,
|
||
"c66": _3,
|
||
"daplie": [2, {
|
||
"localhost": _3
|
||
}],
|
||
"edgestack": _3,
|
||
"filegear": _3,
|
||
"filegear-au": _3,
|
||
"filegear-de": _3,
|
||
"filegear-gb": _3,
|
||
"filegear-ie": _3,
|
||
"filegear-jp": _3,
|
||
"filegear-sg": _3,
|
||
"glitch": _3,
|
||
"ravendb": _3,
|
||
"lohmus": _3,
|
||
"barsy": _3,
|
||
"mcpe": _3,
|
||
"mcdir": _3,
|
||
"soundcast": _3,
|
||
"tcp4": _3,
|
||
"brasilia": _3,
|
||
"ddns": _3,
|
||
"dnsfor": _3,
|
||
"hopto": _3,
|
||
"loginto": _3,
|
||
"noip": _3,
|
||
"webhop": _3,
|
||
"vp4": _3,
|
||
"diskstation": _3,
|
||
"dscloud": _3,
|
||
"i234": _3,
|
||
"myds": _3,
|
||
"synology": _3,
|
||
"transip": _25,
|
||
"wedeploy": _3,
|
||
"yombo": _3,
|
||
"nohost": _3
|
||
}],
|
||
"mg": [1, {
|
||
"org": _2,
|
||
"nom": _2,
|
||
"gov": _2,
|
||
"prd": _2,
|
||
"tm": _2,
|
||
"edu": _2,
|
||
"mil": _2,
|
||
"com": _2,
|
||
"co": _2
|
||
}],
|
||
"mh": _2,
|
||
"mil": _2,
|
||
"mk": [1, {
|
||
"com": _2,
|
||
"org": _2,
|
||
"net": _2,
|
||
"edu": _2,
|
||
"gov": _2,
|
||
"inf": _2,
|
||
"name": _2,
|
||
"blogspot": _3
|
||
}],
|
||
"ml": [1, {
|
||
"com": _2,
|
||
"edu": _2,
|
||
"gouv": _2,
|
||
"gov": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"presse": _2
|
||
}],
|
||
"mm": _8,
|
||
"mn": [1, {
|
||
"gov": _2,
|
||
"edu": _2,
|
||
"org": _2,
|
||
"nyc": _3
|
||
}],
|
||
"mo": _4,
|
||
"mobi": [1, {
|
||
"barsy": _3,
|
||
"dscloud": _3
|
||
}],
|
||
"mp": [1, {
|
||
"ju": _3
|
||
}],
|
||
"mq": _2,
|
||
"mr": _36,
|
||
"ms": [1, {
|
||
"com": _2,
|
||
"edu": _2,
|
||
"gov": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"lab": _3,
|
||
"minisite": _3
|
||
}],
|
||
"mt": [1, {
|
||
"com": _6,
|
||
"edu": _2,
|
||
"net": _2,
|
||
"org": _2
|
||
}],
|
||
"mu": [1, {
|
||
"com": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"gov": _2,
|
||
"ac": _2,
|
||
"co": _2,
|
||
"or": _2
|
||
}],
|
||
"museum": _2,
|
||
"mv": [1, {
|
||
"aero": _2,
|
||
"biz": _2,
|
||
"com": _2,
|
||
"coop": _2,
|
||
"edu": _2,
|
||
"gov": _2,
|
||
"info": _2,
|
||
"int": _2,
|
||
"mil": _2,
|
||
"museum": _2,
|
||
"name": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"pro": _2
|
||
}],
|
||
"mw": [1, {
|
||
"ac": _2,
|
||
"biz": _2,
|
||
"co": _2,
|
||
"com": _2,
|
||
"coop": _2,
|
||
"edu": _2,
|
||
"gov": _2,
|
||
"int": _2,
|
||
"museum": _2,
|
||
"net": _2,
|
||
"org": _2
|
||
}],
|
||
"mx": [1, {
|
||
"com": _2,
|
||
"org": _2,
|
||
"gob": _2,
|
||
"edu": _2,
|
||
"net": _2,
|
||
"blogspot": _3
|
||
}],
|
||
"my": [1, {
|
||
"biz": _2,
|
||
"com": _2,
|
||
"edu": _2,
|
||
"gov": _2,
|
||
"mil": _2,
|
||
"name": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"blogspot": _3
|
||
}],
|
||
"mz": [1, {
|
||
"ac": _2,
|
||
"adv": _2,
|
||
"co": _2,
|
||
"edu": _2,
|
||
"gov": _2,
|
||
"mil": _2,
|
||
"net": _2,
|
||
"org": _2
|
||
}],
|
||
"na": [1, {
|
||
"info": _2,
|
||
"pro": _2,
|
||
"name": _2,
|
||
"school": _2,
|
||
"or": _2,
|
||
"dr": _2,
|
||
"us": _2,
|
||
"mx": _2,
|
||
"ca": _2,
|
||
"in": _2,
|
||
"cc": _2,
|
||
"tv": _2,
|
||
"ws": _2,
|
||
"mobi": _2,
|
||
"co": _2,
|
||
"com": _2,
|
||
"org": _2
|
||
}],
|
||
"name": [1, {
|
||
"her": _39,
|
||
"his": _39
|
||
}],
|
||
"nc": [1, {
|
||
"asso": _2,
|
||
"nom": _2
|
||
}],
|
||
"ne": _2,
|
||
"net": [1, {
|
||
"adobeaemcloud": _3,
|
||
"adobeio-static": _3,
|
||
"adobeioruntime": _3,
|
||
"akadns": _3,
|
||
"akamai": _3,
|
||
"akamai-staging": _3,
|
||
"akamaiedge": _3,
|
||
"akamaiedge-staging": _3,
|
||
"akamaihd": _3,
|
||
"akamaihd-staging": _3,
|
||
"akamaiorigin": _3,
|
||
"akamaiorigin-staging": _3,
|
||
"akamaized": _3,
|
||
"akamaized-staging": _3,
|
||
"edgekey": _3,
|
||
"edgekey-staging": _3,
|
||
"edgesuite": _3,
|
||
"edgesuite-staging": _3,
|
||
"alwaysdata": _3,
|
||
"myamaze": _3,
|
||
"cloudfront": _3,
|
||
"t3l3p0rt": _3,
|
||
"appudo": _3,
|
||
"atlassian-dev": [0, {
|
||
"prod": [0, {
|
||
"cdn": _3
|
||
}]
|
||
}],
|
||
"myfritz": _3,
|
||
"onavstack": _3,
|
||
"shopselect": _3,
|
||
"blackbaudcdn": _3,
|
||
"boomla": _3,
|
||
"bplaced": _3,
|
||
"square7": _3,
|
||
"gb": _3,
|
||
"hu": _3,
|
||
"jp": _3,
|
||
"se": _3,
|
||
"uk": _3,
|
||
"in": _3,
|
||
"clickrising": _3,
|
||
"cloudaccess": _3,
|
||
"cdn77-ssl": _3,
|
||
"cdn77": [0, {
|
||
"r": _3
|
||
}],
|
||
"feste-ip": _3,
|
||
"knx-server": _3,
|
||
"static-access": _3,
|
||
"cryptonomic": _5,
|
||
"dattolocal": _3,
|
||
"mydatto": _3,
|
||
"debian": _3,
|
||
"bitbridge": _3,
|
||
"at-band-camp": _3,
|
||
"blogdns": _3,
|
||
"broke-it": _3,
|
||
"buyshouses": _3,
|
||
"dnsalias": _3,
|
||
"dnsdojo": _3,
|
||
"does-it": _3,
|
||
"dontexist": _3,
|
||
"dynalias": _3,
|
||
"dynathome": _3,
|
||
"endofinternet": _3,
|
||
"from-az": _3,
|
||
"from-co": _3,
|
||
"from-la": _3,
|
||
"from-ny": _3,
|
||
"gets-it": _3,
|
||
"ham-radio-op": _3,
|
||
"homeftp": _3,
|
||
"homeip": _3,
|
||
"homelinux": _3,
|
||
"homeunix": _3,
|
||
"in-the-band": _3,
|
||
"is-a-chef": _3,
|
||
"is-a-geek": _3,
|
||
"isa-geek": _3,
|
||
"kicks-ass": _3,
|
||
"office-on-the": _3,
|
||
"podzone": _3,
|
||
"scrapper-site": _3,
|
||
"selfip": _3,
|
||
"sells-it": _3,
|
||
"servebbs": _3,
|
||
"serveftp": _3,
|
||
"thruhere": _3,
|
||
"webhop": _3,
|
||
"definima": _3,
|
||
"casacam": _3,
|
||
"dynu": _3,
|
||
"dynv6": _3,
|
||
"twmail": _3,
|
||
"ru": _3,
|
||
"channelsdvr": [2, {
|
||
"u": _3
|
||
}],
|
||
"fastlylb": [2, {
|
||
"map": _3
|
||
}],
|
||
"fastly": [0, {
|
||
"freetls": _3,
|
||
"map": _3,
|
||
"prod": [0, {
|
||
"a": _3,
|
||
"global": _3
|
||
}],
|
||
"ssl": [0, {
|
||
"a": _3,
|
||
"b": _3,
|
||
"global": _3
|
||
}]
|
||
}],
|
||
"edgeapp": _3,
|
||
"flynnhosting": _3,
|
||
"cdn-edges": _3,
|
||
"heteml": _3,
|
||
"cloudfunctions": _3,
|
||
"moonscale": _3,
|
||
"in-dsl": _3,
|
||
"in-vpn": _3,
|
||
"ipifony": _3,
|
||
"iobb": _3,
|
||
"cloudjiffy": [2, {
|
||
"fra1-de": _3,
|
||
"west1-us": _3
|
||
}],
|
||
"elastx": [0, {
|
||
"jls-sto1": _3,
|
||
"jls-sto2": _3,
|
||
"jls-sto3": _3
|
||
}],
|
||
"faststacks": _3,
|
||
"massivegrid": [0, {
|
||
"paas": [0, {
|
||
"fr-1": _3,
|
||
"lon-1": _3,
|
||
"lon-2": _3,
|
||
"ny-1": _3,
|
||
"ny-2": _3,
|
||
"sg-1": _3
|
||
}]
|
||
}],
|
||
"saveincloud": [0, {
|
||
"jelastic": _3,
|
||
"nordeste-idc": _3
|
||
}],
|
||
"scaleforce": _28,
|
||
"tsukaeru": _29,
|
||
"kinghost": _3,
|
||
"uni5": _3,
|
||
"krellian": _3,
|
||
"barsy": _3,
|
||
"memset": _3,
|
||
"azurewebsites": _3,
|
||
"azure-mobile": _3,
|
||
"cloudapp": _3,
|
||
"azurestaticapps": [2, {
|
||
"1": _3,
|
||
"2": _3,
|
||
"3": _3,
|
||
"centralus": _3,
|
||
"eastasia": _3,
|
||
"eastus2": _3,
|
||
"westeurope": _3,
|
||
"westus2": _3
|
||
}],
|
||
"dnsup": _3,
|
||
"hicam": _3,
|
||
"now-dns": _3,
|
||
"ownip": _3,
|
||
"vpndns": _3,
|
||
"eating-organic": _3,
|
||
"mydissent": _3,
|
||
"myeffect": _3,
|
||
"mymediapc": _3,
|
||
"mypsx": _3,
|
||
"mysecuritycamera": _3,
|
||
"nhlfan": _3,
|
||
"no-ip": _3,
|
||
"pgafan": _3,
|
||
"privatizehealthinsurance": _3,
|
||
"bounceme": _3,
|
||
"ddns": _3,
|
||
"redirectme": _3,
|
||
"serveblog": _3,
|
||
"serveminecraft": _3,
|
||
"sytes": _3,
|
||
"cloudycluster": _3,
|
||
"ovh": [0, {
|
||
"webpaas": _5,
|
||
"hosting": _5
|
||
}],
|
||
"bar0": _3,
|
||
"bar1": _3,
|
||
"bar2": _3,
|
||
"rackmaze": _3,
|
||
"squares": _3,
|
||
"schokokeks": _3,
|
||
"firewall-gateway": _3,
|
||
"seidat": _3,
|
||
"senseering": _3,
|
||
"siteleaf": _3,
|
||
"vps-host": [2, {
|
||
"jelastic": [0, {
|
||
"atl": _3,
|
||
"njs": _3,
|
||
"ric": _3
|
||
}]
|
||
}],
|
||
"myspreadshop": _3,
|
||
"srcf": [0, {
|
||
"soc": _3,
|
||
"user": _3
|
||
}],
|
||
"supabase": _3,
|
||
"dsmynas": _3,
|
||
"familyds": _3,
|
||
"tailscale": [0, {
|
||
"beta": _3
|
||
}],
|
||
"ts": _3,
|
||
"torproject": [2, {
|
||
"pages": _3
|
||
}],
|
||
"reserve-online": _3,
|
||
"community-pro": _3,
|
||
"meinforum": _3,
|
||
"yandexcloud": [2, {
|
||
"storage": _3,
|
||
"website": _3
|
||
}],
|
||
"za": _3
|
||
}],
|
||
"nf": [1, {
|
||
"com": _2,
|
||
"net": _2,
|
||
"per": _2,
|
||
"rec": _2,
|
||
"web": _2,
|
||
"arts": _2,
|
||
"firm": _2,
|
||
"info": _2,
|
||
"other": _2,
|
||
"store": _2
|
||
}],
|
||
"ng": [1, {
|
||
"com": _6,
|
||
"edu": _2,
|
||
"gov": _2,
|
||
"i": _2,
|
||
"mil": _2,
|
||
"mobi": _2,
|
||
"name": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"sch": _2,
|
||
"col": _3,
|
||
"firm": _3,
|
||
"gen": _3,
|
||
"ltd": _3,
|
||
"ngo": _3
|
||
}],
|
||
"ni": [1, {
|
||
"ac": _2,
|
||
"biz": _2,
|
||
"co": _2,
|
||
"com": _2,
|
||
"edu": _2,
|
||
"gob": _2,
|
||
"in": _2,
|
||
"info": _2,
|
||
"int": _2,
|
||
"mil": _2,
|
||
"net": _2,
|
||
"nom": _2,
|
||
"org": _2,
|
||
"web": _2
|
||
}],
|
||
"nl": [1, {
|
||
"co": _3,
|
||
"hosting-cluster": _3,
|
||
"blogspot": _3,
|
||
"gov": _3,
|
||
"khplay": _3,
|
||
"123website": _3,
|
||
"myspreadshop": _3,
|
||
"transurl": _5,
|
||
"cistron": _3,
|
||
"demon": _3
|
||
}],
|
||
"no": [1, {
|
||
"fhs": _2,
|
||
"vgs": _2,
|
||
"fylkesbibl": _2,
|
||
"folkebibl": _2,
|
||
"museum": _2,
|
||
"idrett": _2,
|
||
"priv": _2,
|
||
"mil": _2,
|
||
"stat": _2,
|
||
"dep": _2,
|
||
"kommune": _2,
|
||
"herad": _2,
|
||
"aa": _40,
|
||
"ah": _40,
|
||
"bu": _40,
|
||
"fm": _40,
|
||
"hl": _40,
|
||
"hm": _40,
|
||
"jan-mayen": _40,
|
||
"mr": _40,
|
||
"nl": _40,
|
||
"nt": _40,
|
||
"of": _40,
|
||
"ol": _40,
|
||
"oslo": _40,
|
||
"rl": _40,
|
||
"sf": _40,
|
||
"st": _40,
|
||
"svalbard": _40,
|
||
"tm": _40,
|
||
"tr": _40,
|
||
"va": _40,
|
||
"vf": _40,
|
||
"akrehamn": _2,
|
||
"xn--krehamn-dxa": _2,
|
||
"åkrehamn": _2,
|
||
"algard": _2,
|
||
"xn--lgrd-poac": _2,
|
||
"ålgård": _2,
|
||
"arna": _2,
|
||
"brumunddal": _2,
|
||
"bryne": _2,
|
||
"bronnoysund": _2,
|
||
"xn--brnnysund-m8ac": _2,
|
||
"brønnøysund": _2,
|
||
"drobak": _2,
|
||
"xn--drbak-wua": _2,
|
||
"drøbak": _2,
|
||
"egersund": _2,
|
||
"fetsund": _2,
|
||
"floro": _2,
|
||
"xn--flor-jra": _2,
|
||
"florø": _2,
|
||
"fredrikstad": _2,
|
||
"hokksund": _2,
|
||
"honefoss": _2,
|
||
"xn--hnefoss-q1a": _2,
|
||
"hønefoss": _2,
|
||
"jessheim": _2,
|
||
"jorpeland": _2,
|
||
"xn--jrpeland-54a": _2,
|
||
"jørpeland": _2,
|
||
"kirkenes": _2,
|
||
"kopervik": _2,
|
||
"krokstadelva": _2,
|
||
"langevag": _2,
|
||
"xn--langevg-jxa": _2,
|
||
"langevåg": _2,
|
||
"leirvik": _2,
|
||
"mjondalen": _2,
|
||
"xn--mjndalen-64a": _2,
|
||
"mjøndalen": _2,
|
||
"mo-i-rana": _2,
|
||
"mosjoen": _2,
|
||
"xn--mosjen-eya": _2,
|
||
"mosjøen": _2,
|
||
"nesoddtangen": _2,
|
||
"orkanger": _2,
|
||
"osoyro": _2,
|
||
"xn--osyro-wua": _2,
|
||
"osøyro": _2,
|
||
"raholt": _2,
|
||
"xn--rholt-mra": _2,
|
||
"råholt": _2,
|
||
"sandnessjoen": _2,
|
||
"xn--sandnessjen-ogb": _2,
|
||
"sandnessjøen": _2,
|
||
"skedsmokorset": _2,
|
||
"slattum": _2,
|
||
"spjelkavik": _2,
|
||
"stathelle": _2,
|
||
"stavern": _2,
|
||
"stjordalshalsen": _2,
|
||
"xn--stjrdalshalsen-sqb": _2,
|
||
"stjørdalshalsen": _2,
|
||
"tananger": _2,
|
||
"tranby": _2,
|
||
"vossevangen": _2,
|
||
"afjord": _2,
|
||
"xn--fjord-lra": _2,
|
||
"åfjord": _2,
|
||
"agdenes": _2,
|
||
"al": _2,
|
||
"xn--l-1fa": _2,
|
||
"ål": _2,
|
||
"alesund": _2,
|
||
"xn--lesund-hua": _2,
|
||
"ålesund": _2,
|
||
"alstahaug": _2,
|
||
"alta": _2,
|
||
"xn--lt-liac": _2,
|
||
"áltá": _2,
|
||
"alaheadju": _2,
|
||
"xn--laheadju-7ya": _2,
|
||
"álaheadju": _2,
|
||
"alvdal": _2,
|
||
"amli": _2,
|
||
"xn--mli-tla": _2,
|
||
"åmli": _2,
|
||
"amot": _2,
|
||
"xn--mot-tla": _2,
|
||
"åmot": _2,
|
||
"andebu": _2,
|
||
"andoy": _2,
|
||
"xn--andy-ira": _2,
|
||
"andøy": _2,
|
||
"andasuolo": _2,
|
||
"ardal": _2,
|
||
"xn--rdal-poa": _2,
|
||
"årdal": _2,
|
||
"aremark": _2,
|
||
"arendal": _2,
|
||
"xn--s-1fa": _2,
|
||
"ås": _2,
|
||
"aseral": _2,
|
||
"xn--seral-lra": _2,
|
||
"åseral": _2,
|
||
"asker": _2,
|
||
"askim": _2,
|
||
"askvoll": _2,
|
||
"askoy": _2,
|
||
"xn--asky-ira": _2,
|
||
"askøy": _2,
|
||
"asnes": _2,
|
||
"xn--snes-poa": _2,
|
||
"åsnes": _2,
|
||
"audnedaln": _2,
|
||
"aukra": _2,
|
||
"aure": _2,
|
||
"aurland": _2,
|
||
"aurskog-holand": _2,
|
||
"xn--aurskog-hland-jnb": _2,
|
||
"aurskog-høland": _2,
|
||
"austevoll": _2,
|
||
"austrheim": _2,
|
||
"averoy": _2,
|
||
"xn--avery-yua": _2,
|
||
"averøy": _2,
|
||
"balestrand": _2,
|
||
"ballangen": _2,
|
||
"balat": _2,
|
||
"xn--blt-elab": _2,
|
||
"bálát": _2,
|
||
"balsfjord": _2,
|
||
"bahccavuotna": _2,
|
||
"xn--bhccavuotna-k7a": _2,
|
||
"báhccavuotna": _2,
|
||
"bamble": _2,
|
||
"bardu": _2,
|
||
"beardu": _2,
|
||
"beiarn": _2,
|
||
"bajddar": _2,
|
||
"xn--bjddar-pta": _2,
|
||
"bájddar": _2,
|
||
"baidar": _2,
|
||
"xn--bidr-5nac": _2,
|
||
"báidár": _2,
|
||
"berg": _2,
|
||
"bergen": _2,
|
||
"berlevag": _2,
|
||
"xn--berlevg-jxa": _2,
|
||
"berlevåg": _2,
|
||
"bearalvahki": _2,
|
||
"xn--bearalvhki-y4a": _2,
|
||
"bearalváhki": _2,
|
||
"bindal": _2,
|
||
"birkenes": _2,
|
||
"bjarkoy": _2,
|
||
"xn--bjarky-fya": _2,
|
||
"bjarkøy": _2,
|
||
"bjerkreim": _2,
|
||
"bjugn": _2,
|
||
"bodo": _2,
|
||
"xn--bod-2na": _2,
|
||
"bodø": _2,
|
||
"badaddja": _2,
|
||
"xn--bdddj-mrabd": _2,
|
||
"bådåddjå": _2,
|
||
"budejju": _2,
|
||
"bokn": _2,
|
||
"bremanger": _2,
|
||
"bronnoy": _2,
|
||
"xn--brnny-wuac": _2,
|
||
"brønnøy": _2,
|
||
"bygland": _2,
|
||
"bykle": _2,
|
||
"barum": _2,
|
||
"xn--brum-voa": _2,
|
||
"bærum": _2,
|
||
"telemark": [0, {
|
||
"bo": _2,
|
||
"xn--b-5ga": _2,
|
||
"bø": _2
|
||
}],
|
||
"nordland": [0, {
|
||
"bo": _2,
|
||
"xn--b-5ga": _2,
|
||
"bø": _2,
|
||
"heroy": _2,
|
||
"xn--hery-ira": _2,
|
||
"herøy": _2
|
||
}],
|
||
"bievat": _2,
|
||
"xn--bievt-0qa": _2,
|
||
"bievát": _2,
|
||
"bomlo": _2,
|
||
"xn--bmlo-gra": _2,
|
||
"bømlo": _2,
|
||
"batsfjord": _2,
|
||
"xn--btsfjord-9za": _2,
|
||
"båtsfjord": _2,
|
||
"bahcavuotna": _2,
|
||
"xn--bhcavuotna-s4a": _2,
|
||
"báhcavuotna": _2,
|
||
"dovre": _2,
|
||
"drammen": _2,
|
||
"drangedal": _2,
|
||
"dyroy": _2,
|
||
"xn--dyry-ira": _2,
|
||
"dyrøy": _2,
|
||
"donna": _2,
|
||
"xn--dnna-gra": _2,
|
||
"dønna": _2,
|
||
"eid": _2,
|
||
"eidfjord": _2,
|
||
"eidsberg": _2,
|
||
"eidskog": _2,
|
||
"eidsvoll": _2,
|
||
"eigersund": _2,
|
||
"elverum": _2,
|
||
"enebakk": _2,
|
||
"engerdal": _2,
|
||
"etne": _2,
|
||
"etnedal": _2,
|
||
"evenes": _2,
|
||
"evenassi": _2,
|
||
"xn--eveni-0qa01ga": _2,
|
||
"evenášši": _2,
|
||
"evje-og-hornnes": _2,
|
||
"farsund": _2,
|
||
"fauske": _2,
|
||
"fuossko": _2,
|
||
"fuoisku": _2,
|
||
"fedje": _2,
|
||
"fet": _2,
|
||
"finnoy": _2,
|
||
"xn--finny-yua": _2,
|
||
"finnøy": _2,
|
||
"fitjar": _2,
|
||
"fjaler": _2,
|
||
"fjell": _2,
|
||
"flakstad": _2,
|
||
"flatanger": _2,
|
||
"flekkefjord": _2,
|
||
"flesberg": _2,
|
||
"flora": _2,
|
||
"fla": _2,
|
||
"xn--fl-zia": _2,
|
||
"flå": _2,
|
||
"folldal": _2,
|
||
"forsand": _2,
|
||
"fosnes": _2,
|
||
"frei": _2,
|
||
"frogn": _2,
|
||
"froland": _2,
|
||
"frosta": _2,
|
||
"frana": _2,
|
||
"xn--frna-woa": _2,
|
||
"fræna": _2,
|
||
"froya": _2,
|
||
"xn--frya-hra": _2,
|
||
"frøya": _2,
|
||
"fusa": _2,
|
||
"fyresdal": _2,
|
||
"forde": _2,
|
||
"xn--frde-gra": _2,
|
||
"førde": _2,
|
||
"gamvik": _2,
|
||
"gangaviika": _2,
|
||
"xn--ggaviika-8ya47h": _2,
|
||
"gáŋgaviika": _2,
|
||
"gaular": _2,
|
||
"gausdal": _2,
|
||
"gildeskal": _2,
|
||
"xn--gildeskl-g0a": _2,
|
||
"gildeskål": _2,
|
||
"giske": _2,
|
||
"gjemnes": _2,
|
||
"gjerdrum": _2,
|
||
"gjerstad": _2,
|
||
"gjesdal": _2,
|
||
"gjovik": _2,
|
||
"xn--gjvik-wua": _2,
|
||
"gjøvik": _2,
|
||
"gloppen": _2,
|
||
"gol": _2,
|
||
"gran": _2,
|
||
"grane": _2,
|
||
"granvin": _2,
|
||
"gratangen": _2,
|
||
"grimstad": _2,
|
||
"grong": _2,
|
||
"kraanghke": _2,
|
||
"xn--kranghke-b0a": _2,
|
||
"kråanghke": _2,
|
||
"grue": _2,
|
||
"gulen": _2,
|
||
"hadsel": _2,
|
||
"halden": _2,
|
||
"halsa": _2,
|
||
"hamar": _2,
|
||
"hamaroy": _2,
|
||
"habmer": _2,
|
||
"xn--hbmer-xqa": _2,
|
||
"hábmer": _2,
|
||
"hapmir": _2,
|
||
"xn--hpmir-xqa": _2,
|
||
"hápmir": _2,
|
||
"hammerfest": _2,
|
||
"hammarfeasta": _2,
|
||
"xn--hmmrfeasta-s4ac": _2,
|
||
"hámmárfeasta": _2,
|
||
"haram": _2,
|
||
"hareid": _2,
|
||
"harstad": _2,
|
||
"hasvik": _2,
|
||
"aknoluokta": _2,
|
||
"xn--koluokta-7ya57h": _2,
|
||
"ákŋoluokta": _2,
|
||
"hattfjelldal": _2,
|
||
"aarborte": _2,
|
||
"haugesund": _2,
|
||
"hemne": _2,
|
||
"hemnes": _2,
|
||
"hemsedal": _2,
|
||
"more-og-romsdal": [0, {
|
||
"heroy": _2,
|
||
"sande": _2
|
||
}],
|
||
"xn--mre-og-romsdal-qqb": [0, {
|
||
"xn--hery-ira": _2,
|
||
"sande": _2
|
||
}],
|
||
"møre-og-romsdal": [0, {
|
||
"herøy": _2,
|
||
"sande": _2
|
||
}],
|
||
"hitra": _2,
|
||
"hjartdal": _2,
|
||
"hjelmeland": _2,
|
||
"hobol": _2,
|
||
"xn--hobl-ira": _2,
|
||
"hobøl": _2,
|
||
"hof": _2,
|
||
"hol": _2,
|
||
"hole": _2,
|
||
"holmestrand": _2,
|
||
"holtalen": _2,
|
||
"xn--holtlen-hxa": _2,
|
||
"holtålen": _2,
|
||
"hornindal": _2,
|
||
"horten": _2,
|
||
"hurdal": _2,
|
||
"hurum": _2,
|
||
"hvaler": _2,
|
||
"hyllestad": _2,
|
||
"hagebostad": _2,
|
||
"xn--hgebostad-g3a": _2,
|
||
"hægebostad": _2,
|
||
"hoyanger": _2,
|
||
"xn--hyanger-q1a": _2,
|
||
"høyanger": _2,
|
||
"hoylandet": _2,
|
||
"xn--hylandet-54a": _2,
|
||
"høylandet": _2,
|
||
"ha": _2,
|
||
"xn--h-2fa": _2,
|
||
"hå": _2,
|
||
"ibestad": _2,
|
||
"inderoy": _2,
|
||
"xn--indery-fya": _2,
|
||
"inderøy": _2,
|
||
"iveland": _2,
|
||
"jevnaker": _2,
|
||
"jondal": _2,
|
||
"jolster": _2,
|
||
"xn--jlster-bya": _2,
|
||
"jølster": _2,
|
||
"karasjok": _2,
|
||
"karasjohka": _2,
|
||
"xn--krjohka-hwab49j": _2,
|
||
"kárášjohka": _2,
|
||
"karlsoy": _2,
|
||
"galsa": _2,
|
||
"xn--gls-elac": _2,
|
||
"gálsá": _2,
|
||
"karmoy": _2,
|
||
"xn--karmy-yua": _2,
|
||
"karmøy": _2,
|
||
"kautokeino": _2,
|
||
"guovdageaidnu": _2,
|
||
"klepp": _2,
|
||
"klabu": _2,
|
||
"xn--klbu-woa": _2,
|
||
"klæbu": _2,
|
||
"kongsberg": _2,
|
||
"kongsvinger": _2,
|
||
"kragero": _2,
|
||
"xn--krager-gya": _2,
|
||
"kragerø": _2,
|
||
"kristiansand": _2,
|
||
"kristiansund": _2,
|
||
"krodsherad": _2,
|
||
"xn--krdsherad-m8a": _2,
|
||
"krødsherad": _2,
|
||
"kvalsund": _2,
|
||
"rahkkeravju": _2,
|
||
"xn--rhkkervju-01af": _2,
|
||
"ráhkkerávju": _2,
|
||
"kvam": _2,
|
||
"kvinesdal": _2,
|
||
"kvinnherad": _2,
|
||
"kviteseid": _2,
|
||
"kvitsoy": _2,
|
||
"xn--kvitsy-fya": _2,
|
||
"kvitsøy": _2,
|
||
"kvafjord": _2,
|
||
"xn--kvfjord-nxa": _2,
|
||
"kvæfjord": _2,
|
||
"giehtavuoatna": _2,
|
||
"kvanangen": _2,
|
||
"xn--kvnangen-k0a": _2,
|
||
"kvænangen": _2,
|
||
"navuotna": _2,
|
||
"xn--nvuotna-hwa": _2,
|
||
"návuotna": _2,
|
||
"kafjord": _2,
|
||
"xn--kfjord-iua": _2,
|
||
"kåfjord": _2,
|
||
"gaivuotna": _2,
|
||
"xn--givuotna-8ya": _2,
|
||
"gáivuotna": _2,
|
||
"larvik": _2,
|
||
"lavangen": _2,
|
||
"lavagis": _2,
|
||
"loabat": _2,
|
||
"xn--loabt-0qa": _2,
|
||
"loabát": _2,
|
||
"lebesby": _2,
|
||
"davvesiida": _2,
|
||
"leikanger": _2,
|
||
"leirfjord": _2,
|
||
"leka": _2,
|
||
"leksvik": _2,
|
||
"lenvik": _2,
|
||
"leangaviika": _2,
|
||
"xn--leagaviika-52b": _2,
|
||
"leaŋgaviika": _2,
|
||
"lesja": _2,
|
||
"levanger": _2,
|
||
"lier": _2,
|
||
"lierne": _2,
|
||
"lillehammer": _2,
|
||
"lillesand": _2,
|
||
"lindesnes": _2,
|
||
"lindas": _2,
|
||
"xn--linds-pra": _2,
|
||
"lindås": _2,
|
||
"lom": _2,
|
||
"loppa": _2,
|
||
"lahppi": _2,
|
||
"xn--lhppi-xqa": _2,
|
||
"láhppi": _2,
|
||
"lund": _2,
|
||
"lunner": _2,
|
||
"luroy": _2,
|
||
"xn--lury-ira": _2,
|
||
"lurøy": _2,
|
||
"luster": _2,
|
||
"lyngdal": _2,
|
||
"lyngen": _2,
|
||
"ivgu": _2,
|
||
"lardal": _2,
|
||
"lerdal": _2,
|
||
"xn--lrdal-sra": _2,
|
||
"lærdal": _2,
|
||
"lodingen": _2,
|
||
"xn--ldingen-q1a": _2,
|
||
"lødingen": _2,
|
||
"lorenskog": _2,
|
||
"xn--lrenskog-54a": _2,
|
||
"lørenskog": _2,
|
||
"loten": _2,
|
||
"xn--lten-gra": _2,
|
||
"løten": _2,
|
||
"malvik": _2,
|
||
"masoy": _2,
|
||
"xn--msy-ula0h": _2,
|
||
"måsøy": _2,
|
||
"muosat": _2,
|
||
"xn--muost-0qa": _2,
|
||
"muosát": _2,
|
||
"mandal": _2,
|
||
"marker": _2,
|
||
"marnardal": _2,
|
||
"masfjorden": _2,
|
||
"meland": _2,
|
||
"meldal": _2,
|
||
"melhus": _2,
|
||
"meloy": _2,
|
||
"xn--mely-ira": _2,
|
||
"meløy": _2,
|
||
"meraker": _2,
|
||
"xn--merker-kua": _2,
|
||
"meråker": _2,
|
||
"moareke": _2,
|
||
"xn--moreke-jua": _2,
|
||
"moåreke": _2,
|
||
"midsund": _2,
|
||
"midtre-gauldal": _2,
|
||
"modalen": _2,
|
||
"modum": _2,
|
||
"molde": _2,
|
||
"moskenes": _2,
|
||
"moss": _2,
|
||
"mosvik": _2,
|
||
"malselv": _2,
|
||
"xn--mlselv-iua": _2,
|
||
"målselv": _2,
|
||
"malatvuopmi": _2,
|
||
"xn--mlatvuopmi-s4a": _2,
|
||
"málatvuopmi": _2,
|
||
"namdalseid": _2,
|
||
"aejrie": _2,
|
||
"namsos": _2,
|
||
"namsskogan": _2,
|
||
"naamesjevuemie": _2,
|
||
"xn--nmesjevuemie-tcba": _2,
|
||
"nååmesjevuemie": _2,
|
||
"laakesvuemie": _2,
|
||
"nannestad": _2,
|
||
"narvik": _2,
|
||
"narviika": _2,
|
||
"naustdal": _2,
|
||
"nedre-eiker": _2,
|
||
"akershus": _41,
|
||
"buskerud": _41,
|
||
"nesna": _2,
|
||
"nesodden": _2,
|
||
"nesseby": _2,
|
||
"unjarga": _2,
|
||
"xn--unjrga-rta": _2,
|
||
"unjárga": _2,
|
||
"nesset": _2,
|
||
"nissedal": _2,
|
||
"nittedal": _2,
|
||
"nord-aurdal": _2,
|
||
"nord-fron": _2,
|
||
"nord-odal": _2,
|
||
"norddal": _2,
|
||
"nordkapp": _2,
|
||
"davvenjarga": _2,
|
||
"xn--davvenjrga-y4a": _2,
|
||
"davvenjárga": _2,
|
||
"nordre-land": _2,
|
||
"nordreisa": _2,
|
||
"raisa": _2,
|
||
"xn--risa-5na": _2,
|
||
"ráisa": _2,
|
||
"nore-og-uvdal": _2,
|
||
"notodden": _2,
|
||
"naroy": _2,
|
||
"xn--nry-yla5g": _2,
|
||
"nærøy": _2,
|
||
"notteroy": _2,
|
||
"xn--nttery-byae": _2,
|
||
"nøtterøy": _2,
|
||
"odda": _2,
|
||
"oksnes": _2,
|
||
"xn--ksnes-uua": _2,
|
||
"øksnes": _2,
|
||
"oppdal": _2,
|
||
"oppegard": _2,
|
||
"xn--oppegrd-ixa": _2,
|
||
"oppegård": _2,
|
||
"orkdal": _2,
|
||
"orland": _2,
|
||
"xn--rland-uua": _2,
|
||
"ørland": _2,
|
||
"orskog": _2,
|
||
"xn--rskog-uua": _2,
|
||
"ørskog": _2,
|
||
"orsta": _2,
|
||
"xn--rsta-fra": _2,
|
||
"ørsta": _2,
|
||
"hedmark": [0, {
|
||
"os": _2,
|
||
"valer": _2,
|
||
"xn--vler-qoa": _2,
|
||
"våler": _2
|
||
}],
|
||
"hordaland": [0, {
|
||
"os": _2
|
||
}],
|
||
"osen": _2,
|
||
"osteroy": _2,
|
||
"xn--ostery-fya": _2,
|
||
"osterøy": _2,
|
||
"ostre-toten": _2,
|
||
"xn--stre-toten-zcb": _2,
|
||
"østre-toten": _2,
|
||
"overhalla": _2,
|
||
"ovre-eiker": _2,
|
||
"xn--vre-eiker-k8a": _2,
|
||
"øvre-eiker": _2,
|
||
"oyer": _2,
|
||
"xn--yer-zna": _2,
|
||
"øyer": _2,
|
||
"oygarden": _2,
|
||
"xn--ygarden-p1a": _2,
|
||
"øygarden": _2,
|
||
"oystre-slidre": _2,
|
||
"xn--ystre-slidre-ujb": _2,
|
||
"øystre-slidre": _2,
|
||
"porsanger": _2,
|
||
"porsangu": _2,
|
||
"xn--porsgu-sta26f": _2,
|
||
"porsáŋgu": _2,
|
||
"porsgrunn": _2,
|
||
"radoy": _2,
|
||
"xn--rady-ira": _2,
|
||
"radøy": _2,
|
||
"rakkestad": _2,
|
||
"rana": _2,
|
||
"ruovat": _2,
|
||
"randaberg": _2,
|
||
"rauma": _2,
|
||
"rendalen": _2,
|
||
"rennebu": _2,
|
||
"rennesoy": _2,
|
||
"xn--rennesy-v1a": _2,
|
||
"rennesøy": _2,
|
||
"rindal": _2,
|
||
"ringebu": _2,
|
||
"ringerike": _2,
|
||
"ringsaker": _2,
|
||
"rissa": _2,
|
||
"risor": _2,
|
||
"xn--risr-ira": _2,
|
||
"risør": _2,
|
||
"roan": _2,
|
||
"rollag": _2,
|
||
"rygge": _2,
|
||
"ralingen": _2,
|
||
"xn--rlingen-mxa": _2,
|
||
"rælingen": _2,
|
||
"rodoy": _2,
|
||
"xn--rdy-0nab": _2,
|
||
"rødøy": _2,
|
||
"romskog": _2,
|
||
"xn--rmskog-bya": _2,
|
||
"rømskog": _2,
|
||
"roros": _2,
|
||
"xn--rros-gra": _2,
|
||
"røros": _2,
|
||
"rost": _2,
|
||
"xn--rst-0na": _2,
|
||
"røst": _2,
|
||
"royken": _2,
|
||
"xn--ryken-vua": _2,
|
||
"røyken": _2,
|
||
"royrvik": _2,
|
||
"xn--ryrvik-bya": _2,
|
||
"røyrvik": _2,
|
||
"rade": _2,
|
||
"xn--rde-ula": _2,
|
||
"råde": _2,
|
||
"salangen": _2,
|
||
"siellak": _2,
|
||
"saltdal": _2,
|
||
"salat": _2,
|
||
"xn--slt-elab": _2,
|
||
"sálát": _2,
|
||
"xn--slat-5na": _2,
|
||
"sálat": _2,
|
||
"samnanger": _2,
|
||
"vestfold": [0, {
|
||
"sande": _2
|
||
}],
|
||
"sandefjord": _2,
|
||
"sandnes": _2,
|
||
"sandoy": _2,
|
||
"xn--sandy-yua": _2,
|
||
"sandøy": _2,
|
||
"sarpsborg": _2,
|
||
"sauda": _2,
|
||
"sauherad": _2,
|
||
"sel": _2,
|
||
"selbu": _2,
|
||
"selje": _2,
|
||
"seljord": _2,
|
||
"sigdal": _2,
|
||
"siljan": _2,
|
||
"sirdal": _2,
|
||
"skaun": _2,
|
||
"skedsmo": _2,
|
||
"ski": _2,
|
||
"skien": _2,
|
||
"skiptvet": _2,
|
||
"skjervoy": _2,
|
||
"xn--skjervy-v1a": _2,
|
||
"skjervøy": _2,
|
||
"skierva": _2,
|
||
"xn--skierv-uta": _2,
|
||
"skiervá": _2,
|
||
"skjak": _2,
|
||
"xn--skjk-soa": _2,
|
||
"skjåk": _2,
|
||
"skodje": _2,
|
||
"skanland": _2,
|
||
"xn--sknland-fxa": _2,
|
||
"skånland": _2,
|
||
"skanit": _2,
|
||
"xn--sknit-yqa": _2,
|
||
"skánit": _2,
|
||
"smola": _2,
|
||
"xn--smla-hra": _2,
|
||
"smøla": _2,
|
||
"snillfjord": _2,
|
||
"snasa": _2,
|
||
"xn--snsa-roa": _2,
|
||
"snåsa": _2,
|
||
"snoasa": _2,
|
||
"snaase": _2,
|
||
"xn--snase-nra": _2,
|
||
"snåase": _2,
|
||
"sogndal": _2,
|
||
"sokndal": _2,
|
||
"sola": _2,
|
||
"solund": _2,
|
||
"songdalen": _2,
|
||
"sortland": _2,
|
||
"spydeberg": _2,
|
||
"stange": _2,
|
||
"stavanger": _2,
|
||
"steigen": _2,
|
||
"steinkjer": _2,
|
||
"stjordal": _2,
|
||
"xn--stjrdal-s1a": _2,
|
||
"stjørdal": _2,
|
||
"stokke": _2,
|
||
"stor-elvdal": _2,
|
||
"stord": _2,
|
||
"stordal": _2,
|
||
"storfjord": _2,
|
||
"omasvuotna": _2,
|
||
"strand": _2,
|
||
"stranda": _2,
|
||
"stryn": _2,
|
||
"sula": _2,
|
||
"suldal": _2,
|
||
"sund": _2,
|
||
"sunndal": _2,
|
||
"surnadal": _2,
|
||
"sveio": _2,
|
||
"svelvik": _2,
|
||
"sykkylven": _2,
|
||
"sogne": _2,
|
||
"xn--sgne-gra": _2,
|
||
"søgne": _2,
|
||
"somna": _2,
|
||
"xn--smna-gra": _2,
|
||
"sømna": _2,
|
||
"sondre-land": _2,
|
||
"xn--sndre-land-0cb": _2,
|
||
"søndre-land": _2,
|
||
"sor-aurdal": _2,
|
||
"xn--sr-aurdal-l8a": _2,
|
||
"sør-aurdal": _2,
|
||
"sor-fron": _2,
|
||
"xn--sr-fron-q1a": _2,
|
||
"sør-fron": _2,
|
||
"sor-odal": _2,
|
||
"xn--sr-odal-q1a": _2,
|
||
"sør-odal": _2,
|
||
"sor-varanger": _2,
|
||
"xn--sr-varanger-ggb": _2,
|
||
"sør-varanger": _2,
|
||
"matta-varjjat": _2,
|
||
"xn--mtta-vrjjat-k7af": _2,
|
||
"mátta-várjjat": _2,
|
||
"sorfold": _2,
|
||
"xn--srfold-bya": _2,
|
||
"sørfold": _2,
|
||
"sorreisa": _2,
|
||
"xn--srreisa-q1a": _2,
|
||
"sørreisa": _2,
|
||
"sorum": _2,
|
||
"xn--srum-gra": _2,
|
||
"sørum": _2,
|
||
"tana": _2,
|
||
"deatnu": _2,
|
||
"time": _2,
|
||
"tingvoll": _2,
|
||
"tinn": _2,
|
||
"tjeldsund": _2,
|
||
"dielddanuorri": _2,
|
||
"tjome": _2,
|
||
"xn--tjme-hra": _2,
|
||
"tjøme": _2,
|
||
"tokke": _2,
|
||
"tolga": _2,
|
||
"torsken": _2,
|
||
"tranoy": _2,
|
||
"xn--trany-yua": _2,
|
||
"tranøy": _2,
|
||
"tromso": _2,
|
||
"xn--troms-zua": _2,
|
||
"tromsø": _2,
|
||
"tromsa": _2,
|
||
"romsa": _2,
|
||
"trondheim": _2,
|
||
"troandin": _2,
|
||
"trysil": _2,
|
||
"trana": _2,
|
||
"xn--trna-woa": _2,
|
||
"træna": _2,
|
||
"trogstad": _2,
|
||
"xn--trgstad-r1a": _2,
|
||
"trøgstad": _2,
|
||
"tvedestrand": _2,
|
||
"tydal": _2,
|
||
"tynset": _2,
|
||
"tysfjord": _2,
|
||
"divtasvuodna": _2,
|
||
"divttasvuotna": _2,
|
||
"tysnes": _2,
|
||
"tysvar": _2,
|
||
"xn--tysvr-vra": _2,
|
||
"tysvær": _2,
|
||
"tonsberg": _2,
|
||
"xn--tnsberg-q1a": _2,
|
||
"tønsberg": _2,
|
||
"ullensaker": _2,
|
||
"ullensvang": _2,
|
||
"ulvik": _2,
|
||
"utsira": _2,
|
||
"vadso": _2,
|
||
"xn--vads-jra": _2,
|
||
"vadsø": _2,
|
||
"cahcesuolo": _2,
|
||
"xn--hcesuolo-7ya35b": _2,
|
||
"čáhcesuolo": _2,
|
||
"vaksdal": _2,
|
||
"valle": _2,
|
||
"vang": _2,
|
||
"vanylven": _2,
|
||
"vardo": _2,
|
||
"xn--vard-jra": _2,
|
||
"vardø": _2,
|
||
"varggat": _2,
|
||
"xn--vrggt-xqad": _2,
|
||
"várggát": _2,
|
||
"vefsn": _2,
|
||
"vaapste": _2,
|
||
"vega": _2,
|
||
"vegarshei": _2,
|
||
"xn--vegrshei-c0a": _2,
|
||
"vegårshei": _2,
|
||
"vennesla": _2,
|
||
"verdal": _2,
|
||
"verran": _2,
|
||
"vestby": _2,
|
||
"vestnes": _2,
|
||
"vestre-slidre": _2,
|
||
"vestre-toten": _2,
|
||
"vestvagoy": _2,
|
||
"xn--vestvgy-ixa6o": _2,
|
||
"vestvågøy": _2,
|
||
"vevelstad": _2,
|
||
"vik": _2,
|
||
"vikna": _2,
|
||
"vindafjord": _2,
|
||
"volda": _2,
|
||
"voss": _2,
|
||
"varoy": _2,
|
||
"xn--vry-yla5g": _2,
|
||
"værøy": _2,
|
||
"vagan": _2,
|
||
"xn--vgan-qoa": _2,
|
||
"vågan": _2,
|
||
"voagat": _2,
|
||
"vagsoy": _2,
|
||
"xn--vgsy-qoa0j": _2,
|
||
"vågsøy": _2,
|
||
"vaga": _2,
|
||
"xn--vg-yiab": _2,
|
||
"vågå": _2,
|
||
"ostfold": [0, {
|
||
"valer": _2
|
||
}],
|
||
"xn--stfold-9xa": [0, {
|
||
"xn--vler-qoa": _2
|
||
}],
|
||
"østfold": [0, {
|
||
"våler": _2
|
||
}],
|
||
"co": _3,
|
||
"blogspot": _3,
|
||
"123hjemmeside": _3,
|
||
"myspreadshop": _3
|
||
}],
|
||
"np": _8,
|
||
"nr": _35,
|
||
"nu": [1, {
|
||
"merseine": _3,
|
||
"mine": _3,
|
||
"shacknet": _3,
|
||
"enterprisecloud": _3
|
||
}],
|
||
"nz": [1, {
|
||
"ac": _2,
|
||
"co": _6,
|
||
"cri": _2,
|
||
"geek": _2,
|
||
"gen": _2,
|
||
"govt": _2,
|
||
"health": _2,
|
||
"iwi": _2,
|
||
"kiwi": _2,
|
||
"maori": _2,
|
||
"mil": _2,
|
||
"xn--mori-qsa": _2,
|
||
"māori": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"parliament": _2,
|
||
"school": _2
|
||
}],
|
||
"om": [1, {
|
||
"co": _2,
|
||
"com": _2,
|
||
"edu": _2,
|
||
"gov": _2,
|
||
"med": _2,
|
||
"museum": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"pro": _2
|
||
}],
|
||
"onion": _2,
|
||
"org": [1, {
|
||
"altervista": _3,
|
||
"amune": [0, {
|
||
"tele": _3
|
||
}],
|
||
"pimienta": _3,
|
||
"poivron": _3,
|
||
"potager": _3,
|
||
"sweetpepper": _3,
|
||
"ae": _3,
|
||
"us": _3,
|
||
"certmgr": _3,
|
||
"cdn77": [0, {
|
||
"c": _3,
|
||
"rsc": _3
|
||
}],
|
||
"cdn77-secure": [0, {
|
||
"origin": [0, {
|
||
"ssl": _3
|
||
}]
|
||
}],
|
||
"cloudns": _3,
|
||
"duckdns": _3,
|
||
"tunk": _3,
|
||
"dyndns": [2, {
|
||
"go": _3,
|
||
"home": _3
|
||
}],
|
||
"blogdns": _3,
|
||
"blogsite": _3,
|
||
"boldlygoingnowhere": _3,
|
||
"dnsalias": _3,
|
||
"dnsdojo": _3,
|
||
"doesntexist": _3,
|
||
"dontexist": _3,
|
||
"doomdns": _3,
|
||
"dvrdns": _3,
|
||
"dynalias": _3,
|
||
"endofinternet": _3,
|
||
"endoftheinternet": _3,
|
||
"from-me": _3,
|
||
"game-host": _3,
|
||
"gotdns": _3,
|
||
"hobby-site": _3,
|
||
"homedns": _3,
|
||
"homeftp": _3,
|
||
"homelinux": _3,
|
||
"homeunix": _3,
|
||
"is-a-bruinsfan": _3,
|
||
"is-a-candidate": _3,
|
||
"is-a-celticsfan": _3,
|
||
"is-a-chef": _3,
|
||
"is-a-geek": _3,
|
||
"is-a-knight": _3,
|
||
"is-a-linux-user": _3,
|
||
"is-a-patsfan": _3,
|
||
"is-a-soxfan": _3,
|
||
"is-found": _3,
|
||
"is-lost": _3,
|
||
"is-saved": _3,
|
||
"is-very-bad": _3,
|
||
"is-very-evil": _3,
|
||
"is-very-good": _3,
|
||
"is-very-nice": _3,
|
||
"is-very-sweet": _3,
|
||
"isa-geek": _3,
|
||
"kicks-ass": _3,
|
||
"misconfused": _3,
|
||
"podzone": _3,
|
||
"readmyblog": _3,
|
||
"selfip": _3,
|
||
"sellsyourhome": _3,
|
||
"servebbs": _3,
|
||
"serveftp": _3,
|
||
"servegame": _3,
|
||
"stuff-4-sale": _3,
|
||
"webhop": _3,
|
||
"ddnss": _3,
|
||
"accesscam": _3,
|
||
"camdvr": _3,
|
||
"freeddns": _3,
|
||
"mywire": _3,
|
||
"webredirect": _3,
|
||
"eu": [2, {
|
||
"al": _3,
|
||
"asso": _3,
|
||
"at": _3,
|
||
"au": _3,
|
||
"be": _3,
|
||
"bg": _3,
|
||
"ca": _3,
|
||
"cd": _3,
|
||
"ch": _3,
|
||
"cn": _3,
|
||
"cy": _3,
|
||
"cz": _3,
|
||
"de": _3,
|
||
"dk": _3,
|
||
"edu": _3,
|
||
"ee": _3,
|
||
"es": _3,
|
||
"fi": _3,
|
||
"fr": _3,
|
||
"gr": _3,
|
||
"hr": _3,
|
||
"hu": _3,
|
||
"ie": _3,
|
||
"il": _3,
|
||
"in": _3,
|
||
"int": _3,
|
||
"is": _3,
|
||
"it": _3,
|
||
"jp": _3,
|
||
"kr": _3,
|
||
"lt": _3,
|
||
"lu": _3,
|
||
"lv": _3,
|
||
"mc": _3,
|
||
"me": _3,
|
||
"mk": _3,
|
||
"mt": _3,
|
||
"my": _3,
|
||
"net": _3,
|
||
"ng": _3,
|
||
"nl": _3,
|
||
"no": _3,
|
||
"nz": _3,
|
||
"paris": _3,
|
||
"pl": _3,
|
||
"pt": _3,
|
||
"q-a": _3,
|
||
"ro": _3,
|
||
"ru": _3,
|
||
"se": _3,
|
||
"si": _3,
|
||
"sk": _3,
|
||
"tr": _3,
|
||
"uk": _3,
|
||
"us": _3
|
||
}],
|
||
"twmail": _3,
|
||
"fedorainfracloud": _3,
|
||
"fedorapeople": _3,
|
||
"fedoraproject": [0, {
|
||
"cloud": _3,
|
||
"os": _23,
|
||
"stg": [0, {
|
||
"os": _23
|
||
}]
|
||
}],
|
||
"freedesktop": _3,
|
||
"hepforge": _3,
|
||
"in-dsl": _3,
|
||
"in-vpn": _3,
|
||
"js": _3,
|
||
"barsy": _3,
|
||
"mayfirst": _3,
|
||
"mozilla-iot": _3,
|
||
"bmoattachments": _3,
|
||
"dynserv": _3,
|
||
"now-dns": _3,
|
||
"cable-modem": _3,
|
||
"collegefan": _3,
|
||
"couchpotatofries": _3,
|
||
"mlbfan": _3,
|
||
"mysecuritycamera": _3,
|
||
"nflfan": _3,
|
||
"read-books": _3,
|
||
"ufcfan": _3,
|
||
"hopto": _3,
|
||
"myftp": _3,
|
||
"no-ip": _3,
|
||
"zapto": _3,
|
||
"httpbin": _3,
|
||
"pubtls": _3,
|
||
"jpn": _3,
|
||
"my-firewall": _3,
|
||
"myfirewall": _3,
|
||
"spdns": _3,
|
||
"small-web": _3,
|
||
"dsmynas": _3,
|
||
"familyds": _3,
|
||
"teckids": _12,
|
||
"tuxfamily": _3,
|
||
"diskstation": _3,
|
||
"hk": _3,
|
||
"wmflabs": _3,
|
||
"toolforge": _3,
|
||
"wmcloud": _3,
|
||
"za": _3
|
||
}],
|
||
"pa": [1, {
|
||
"ac": _2,
|
||
"gob": _2,
|
||
"com": _2,
|
||
"org": _2,
|
||
"sld": _2,
|
||
"edu": _2,
|
||
"net": _2,
|
||
"ing": _2,
|
||
"abo": _2,
|
||
"med": _2,
|
||
"nom": _2
|
||
}],
|
||
"pe": [1, {
|
||
"edu": _2,
|
||
"gob": _2,
|
||
"nom": _2,
|
||
"mil": _2,
|
||
"org": _2,
|
||
"com": _2,
|
||
"net": _2,
|
||
"blogspot": _3
|
||
}],
|
||
"pf": [1, {
|
||
"com": _2,
|
||
"org": _2,
|
||
"edu": _2
|
||
}],
|
||
"pg": _8,
|
||
"ph": [1, {
|
||
"com": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"gov": _2,
|
||
"edu": _2,
|
||
"ngo": _2,
|
||
"mil": _2,
|
||
"i": _2
|
||
}],
|
||
"pk": [1, {
|
||
"com": _2,
|
||
"net": _2,
|
||
"edu": _2,
|
||
"org": _2,
|
||
"fam": _2,
|
||
"biz": _2,
|
||
"web": _2,
|
||
"gov": _2,
|
||
"gob": _2,
|
||
"gok": _2,
|
||
"gon": _2,
|
||
"gop": _2,
|
||
"gos": _2,
|
||
"info": _2
|
||
}],
|
||
"pl": [1, {
|
||
"com": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"aid": _2,
|
||
"agro": _2,
|
||
"atm": _2,
|
||
"auto": _2,
|
||
"biz": _2,
|
||
"edu": _2,
|
||
"gmina": _2,
|
||
"gsm": _2,
|
||
"info": _2,
|
||
"mail": _2,
|
||
"miasta": _2,
|
||
"media": _2,
|
||
"mil": _2,
|
||
"nieruchomosci": _2,
|
||
"nom": _2,
|
||
"pc": _2,
|
||
"powiat": _2,
|
||
"priv": _2,
|
||
"realestate": _2,
|
||
"rel": _2,
|
||
"sex": _2,
|
||
"shop": _2,
|
||
"sklep": _2,
|
||
"sos": _2,
|
||
"szkola": _2,
|
||
"targi": _2,
|
||
"tm": _2,
|
||
"tourism": _2,
|
||
"travel": _2,
|
||
"turystyka": _2,
|
||
"gov": [1, {
|
||
"ap": _2,
|
||
"griw": _2,
|
||
"ic": _2,
|
||
"is": _2,
|
||
"kmpsp": _2,
|
||
"konsulat": _2,
|
||
"kppsp": _2,
|
||
"kwp": _2,
|
||
"kwpsp": _2,
|
||
"mup": _2,
|
||
"mw": _2,
|
||
"oia": _2,
|
||
"oirm": _2,
|
||
"oke": _2,
|
||
"oow": _2,
|
||
"oschr": _2,
|
||
"oum": _2,
|
||
"pa": _2,
|
||
"pinb": _2,
|
||
"piw": _2,
|
||
"po": _2,
|
||
"pr": _2,
|
||
"psp": _2,
|
||
"psse": _2,
|
||
"pup": _2,
|
||
"rzgw": _2,
|
||
"sa": _2,
|
||
"sdn": _2,
|
||
"sko": _2,
|
||
"so": _2,
|
||
"sr": _2,
|
||
"starostwo": _2,
|
||
"ug": _2,
|
||
"ugim": _2,
|
||
"um": _2,
|
||
"umig": _2,
|
||
"upow": _2,
|
||
"uppo": _2,
|
||
"us": _2,
|
||
"uw": _2,
|
||
"uzs": _2,
|
||
"wif": _2,
|
||
"wiih": _2,
|
||
"winb": _2,
|
||
"wios": _2,
|
||
"witd": _2,
|
||
"wiw": _2,
|
||
"wkz": _2,
|
||
"wsa": _2,
|
||
"wskr": _2,
|
||
"wsse": _2,
|
||
"wuoz": _2,
|
||
"wzmiuw": _2,
|
||
"zp": _2,
|
||
"zpisdn": _2
|
||
}],
|
||
"augustow": _2,
|
||
"babia-gora": _2,
|
||
"bedzin": _2,
|
||
"beskidy": _2,
|
||
"bialowieza": _2,
|
||
"bialystok": _2,
|
||
"bielawa": _2,
|
||
"bieszczady": _2,
|
||
"boleslawiec": _2,
|
||
"bydgoszcz": _2,
|
||
"bytom": _2,
|
||
"cieszyn": _2,
|
||
"czeladz": _2,
|
||
"czest": _2,
|
||
"dlugoleka": _2,
|
||
"elblag": _2,
|
||
"elk": _2,
|
||
"glogow": _2,
|
||
"gniezno": _2,
|
||
"gorlice": _2,
|
||
"grajewo": _2,
|
||
"ilawa": _2,
|
||
"jaworzno": _2,
|
||
"jelenia-gora": _2,
|
||
"jgora": _2,
|
||
"kalisz": _2,
|
||
"kazimierz-dolny": _2,
|
||
"karpacz": _2,
|
||
"kartuzy": _2,
|
||
"kaszuby": _2,
|
||
"katowice": _2,
|
||
"kepno": _2,
|
||
"ketrzyn": _2,
|
||
"klodzko": _2,
|
||
"kobierzyce": _2,
|
||
"kolobrzeg": _2,
|
||
"konin": _2,
|
||
"konskowola": _2,
|
||
"kutno": _2,
|
||
"lapy": _2,
|
||
"lebork": _2,
|
||
"legnica": _2,
|
||
"lezajsk": _2,
|
||
"limanowa": _2,
|
||
"lomza": _2,
|
||
"lowicz": _2,
|
||
"lubin": _2,
|
||
"lukow": _2,
|
||
"malbork": _2,
|
||
"malopolska": _2,
|
||
"mazowsze": _2,
|
||
"mazury": _2,
|
||
"mielec": _2,
|
||
"mielno": _2,
|
||
"mragowo": _2,
|
||
"naklo": _2,
|
||
"nowaruda": _2,
|
||
"nysa": _2,
|
||
"olawa": _2,
|
||
"olecko": _2,
|
||
"olkusz": _2,
|
||
"olsztyn": _2,
|
||
"opoczno": _2,
|
||
"opole": _2,
|
||
"ostroda": _2,
|
||
"ostroleka": _2,
|
||
"ostrowiec": _2,
|
||
"ostrowwlkp": _2,
|
||
"pila": _2,
|
||
"pisz": _2,
|
||
"podhale": _2,
|
||
"podlasie": _2,
|
||
"polkowice": _2,
|
||
"pomorze": _2,
|
||
"pomorskie": _2,
|
||
"prochowice": _2,
|
||
"pruszkow": _2,
|
||
"przeworsk": _2,
|
||
"pulawy": _2,
|
||
"radom": _2,
|
||
"rawa-maz": _2,
|
||
"rybnik": _2,
|
||
"rzeszow": _2,
|
||
"sanok": _2,
|
||
"sejny": _2,
|
||
"slask": _2,
|
||
"slupsk": _2,
|
||
"sosnowiec": _2,
|
||
"stalowa-wola": _2,
|
||
"skoczow": _2,
|
||
"starachowice": _2,
|
||
"stargard": _2,
|
||
"suwalki": _2,
|
||
"swidnica": _2,
|
||
"swiebodzin": _2,
|
||
"swinoujscie": _2,
|
||
"szczecin": _2,
|
||
"szczytno": _2,
|
||
"tarnobrzeg": _2,
|
||
"tgory": _2,
|
||
"turek": _2,
|
||
"tychy": _2,
|
||
"ustka": _2,
|
||
"walbrzych": _2,
|
||
"warmia": _2,
|
||
"warszawa": _2,
|
||
"waw": _2,
|
||
"wegrow": _2,
|
||
"wielun": _2,
|
||
"wlocl": _2,
|
||
"wloclawek": _2,
|
||
"wodzislaw": _2,
|
||
"wolomin": _2,
|
||
"wroclaw": _2,
|
||
"zachpomor": _2,
|
||
"zagan": _2,
|
||
"zarow": _2,
|
||
"zgora": _2,
|
||
"zgorzelec": _2,
|
||
"beep": _3,
|
||
"ecommerce-shop": _3,
|
||
"shoparena": _3,
|
||
"homesklep": _3,
|
||
"sdscloud": _3,
|
||
"unicloud": _3,
|
||
"krasnik": _3,
|
||
"leczna": _3,
|
||
"lubartow": _3,
|
||
"lublin": _3,
|
||
"poniatowa": _3,
|
||
"swidnik": _3,
|
||
"co": _3,
|
||
"simplesite": _3,
|
||
"art": _3,
|
||
"gliwice": _3,
|
||
"krakow": _3,
|
||
"poznan": _3,
|
||
"wroc": _3,
|
||
"zakopane": _3,
|
||
"myspreadshop": _3,
|
||
"gda": _3,
|
||
"gdansk": _3,
|
||
"gdynia": _3,
|
||
"med": _3,
|
||
"sopot": _3
|
||
}],
|
||
"pm": [1, {
|
||
"own": _3,
|
||
"name": _3
|
||
}],
|
||
"pn": [1, {
|
||
"gov": _2,
|
||
"co": _2,
|
||
"org": _2,
|
||
"edu": _2,
|
||
"net": _2
|
||
}],
|
||
"post": _2,
|
||
"pr": [1, {
|
||
"com": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"gov": _2,
|
||
"edu": _2,
|
||
"isla": _2,
|
||
"pro": _2,
|
||
"biz": _2,
|
||
"info": _2,
|
||
"name": _2,
|
||
"est": _2,
|
||
"prof": _2,
|
||
"ac": _2
|
||
}],
|
||
"pro": [1, {
|
||
"aaa": _2,
|
||
"aca": _2,
|
||
"acct": _2,
|
||
"avocat": _2,
|
||
"bar": _2,
|
||
"cpa": _2,
|
||
"eng": _2,
|
||
"jur": _2,
|
||
"law": _2,
|
||
"med": _2,
|
||
"recht": _2,
|
||
"cloudns": _3,
|
||
"dnstrace": [0, {
|
||
"bci": _3
|
||
}],
|
||
"barsy": _3
|
||
}],
|
||
"ps": [1, {
|
||
"edu": _2,
|
||
"gov": _2,
|
||
"sec": _2,
|
||
"plo": _2,
|
||
"com": _2,
|
||
"org": _2,
|
||
"net": _2
|
||
}],
|
||
"pt": [1, {
|
||
"net": _2,
|
||
"gov": _2,
|
||
"org": _2,
|
||
"edu": _2,
|
||
"int": _2,
|
||
"publ": _2,
|
||
"com": _2,
|
||
"nome": _2,
|
||
"blogspot": _3,
|
||
"123paginaweb": _3
|
||
}],
|
||
"pw": [1, {
|
||
"co": _2,
|
||
"ne": _2,
|
||
"or": _2,
|
||
"ed": _2,
|
||
"go": _2,
|
||
"belau": _2,
|
||
"cloudns": _3,
|
||
"x443": _3
|
||
}],
|
||
"py": [1, {
|
||
"com": _2,
|
||
"coop": _2,
|
||
"edu": _2,
|
||
"gov": _2,
|
||
"mil": _2,
|
||
"net": _2,
|
||
"org": _2
|
||
}],
|
||
"qa": [1, {
|
||
"com": _2,
|
||
"edu": _2,
|
||
"gov": _2,
|
||
"mil": _2,
|
||
"name": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"sch": _2,
|
||
"blogspot": _3
|
||
}],
|
||
"re": [1, {
|
||
"asso": _2,
|
||
"com": _2,
|
||
"nom": _2,
|
||
"blogspot": _3
|
||
}],
|
||
"ro": [1, {
|
||
"arts": _2,
|
||
"com": _2,
|
||
"firm": _2,
|
||
"info": _2,
|
||
"nom": _2,
|
||
"nt": _2,
|
||
"org": _2,
|
||
"rec": _2,
|
||
"store": _2,
|
||
"tm": _2,
|
||
"www": _2,
|
||
"co": _3,
|
||
"shop": _3,
|
||
"blogspot": _3,
|
||
"barsy": _3
|
||
}],
|
||
"rs": [1, {
|
||
"ac": _2,
|
||
"co": _2,
|
||
"edu": _2,
|
||
"gov": _2,
|
||
"in": _2,
|
||
"org": _2,
|
||
"brendly": [0, {
|
||
"shop": _3
|
||
}],
|
||
"blogspot": _3,
|
||
"ua": _3,
|
||
"ox": _3
|
||
}],
|
||
"ru": [1, {
|
||
"ac": _3,
|
||
"edu": _3,
|
||
"gov": _3,
|
||
"int": _3,
|
||
"mil": _3,
|
||
"test": _3,
|
||
"eurodir": _3,
|
||
"adygeya": _3,
|
||
"bashkiria": _3,
|
||
"bir": _3,
|
||
"cbg": _3,
|
||
"com": _3,
|
||
"dagestan": _3,
|
||
"grozny": _3,
|
||
"kalmykia": _3,
|
||
"kustanai": _3,
|
||
"marine": _3,
|
||
"mordovia": _3,
|
||
"msk": _3,
|
||
"mytis": _3,
|
||
"nalchik": _3,
|
||
"nov": _3,
|
||
"pyatigorsk": _3,
|
||
"spb": _3,
|
||
"vladikavkaz": _3,
|
||
"vladimir": _3,
|
||
"blogspot": _3,
|
||
"na4u": _3,
|
||
"mircloud": _3,
|
||
"regruhosting": _29,
|
||
"myjino": [2, {
|
||
"hosting": _5,
|
||
"landing": _5,
|
||
"spectrum": _5,
|
||
"vps": _5
|
||
}],
|
||
"cldmail": [0, {
|
||
"hb": _3
|
||
}],
|
||
"mcdir": [2, {
|
||
"vps": _3
|
||
}],
|
||
"mcpre": _3,
|
||
"net": _3,
|
||
"org": _3,
|
||
"pp": _3,
|
||
"123sait": _3,
|
||
"lk3": _3,
|
||
"ras": _3
|
||
}],
|
||
"rw": [1, {
|
||
"ac": _2,
|
||
"co": _2,
|
||
"coop": _2,
|
||
"gov": _2,
|
||
"mil": _2,
|
||
"net": _2,
|
||
"org": _2
|
||
}],
|
||
"sa": [1, {
|
||
"com": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"gov": _2,
|
||
"med": _2,
|
||
"pub": _2,
|
||
"edu": _2,
|
||
"sch": _2
|
||
}],
|
||
"sb": _4,
|
||
"sc": _4,
|
||
"sd": [1, {
|
||
"com": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"edu": _2,
|
||
"med": _2,
|
||
"tv": _2,
|
||
"gov": _2,
|
||
"info": _2
|
||
}],
|
||
"se": [1, {
|
||
"a": _2,
|
||
"ac": _2,
|
||
"b": _2,
|
||
"bd": _2,
|
||
"brand": _2,
|
||
"c": _2,
|
||
"d": _2,
|
||
"e": _2,
|
||
"f": _2,
|
||
"fh": _2,
|
||
"fhsk": _2,
|
||
"fhv": _2,
|
||
"g": _2,
|
||
"h": _2,
|
||
"i": _2,
|
||
"k": _2,
|
||
"komforb": _2,
|
||
"kommunalforbund": _2,
|
||
"komvux": _2,
|
||
"l": _2,
|
||
"lanbib": _2,
|
||
"m": _2,
|
||
"n": _2,
|
||
"naturbruksgymn": _2,
|
||
"o": _2,
|
||
"org": _2,
|
||
"p": _2,
|
||
"parti": _2,
|
||
"pp": _2,
|
||
"press": _2,
|
||
"r": _2,
|
||
"s": _2,
|
||
"t": _2,
|
||
"tm": _2,
|
||
"u": _2,
|
||
"w": _2,
|
||
"x": _2,
|
||
"y": _2,
|
||
"z": _2,
|
||
"com": _3,
|
||
"blogspot": _3,
|
||
"conf": _3,
|
||
"iopsys": _3,
|
||
"123minsida": _3,
|
||
"itcouldbewor": _3,
|
||
"myspreadshop": _3,
|
||
"paba": [0, {
|
||
"su": _3
|
||
}]
|
||
}],
|
||
"sg": [1, {
|
||
"com": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"gov": _2,
|
||
"edu": _2,
|
||
"per": _2,
|
||
"blogspot": _3,
|
||
"enscaled": _3
|
||
}],
|
||
"sh": [1, {
|
||
"com": _2,
|
||
"net": _2,
|
||
"gov": _2,
|
||
"org": _2,
|
||
"mil": _2,
|
||
"bip": _3,
|
||
"hashbang": _3,
|
||
"platform": [0, {
|
||
"bc": _3,
|
||
"ent": _3,
|
||
"eu": _3,
|
||
"us": _3
|
||
}],
|
||
"now": _3,
|
||
"vxl": _3,
|
||
"wedeploy": _3
|
||
}],
|
||
"si": [1, {
|
||
"gitapp": _3,
|
||
"gitpage": _3,
|
||
"blogspot": _3
|
||
}],
|
||
"sj": _2,
|
||
"sk": _6,
|
||
"sl": _4,
|
||
"sm": _2,
|
||
"sn": [1, {
|
||
"art": _2,
|
||
"com": _2,
|
||
"edu": _2,
|
||
"gouv": _2,
|
||
"org": _2,
|
||
"perso": _2,
|
||
"univ": _2,
|
||
"blogspot": _3
|
||
}],
|
||
"so": [1, {
|
||
"com": _2,
|
||
"edu": _2,
|
||
"gov": _2,
|
||
"me": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"sch": _3
|
||
}],
|
||
"sr": _2,
|
||
"ss": [1, {
|
||
"biz": _2,
|
||
"com": _2,
|
||
"edu": _2,
|
||
"gov": _2,
|
||
"me": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"sch": _2
|
||
}],
|
||
"st": [1, {
|
||
"co": _2,
|
||
"com": _2,
|
||
"consulado": _2,
|
||
"edu": _2,
|
||
"embaixada": _2,
|
||
"mil": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"principe": _2,
|
||
"saotome": _2,
|
||
"store": _2,
|
||
"kirara": _3,
|
||
"noho": _3
|
||
}],
|
||
"su": [1, {
|
||
"abkhazia": _3,
|
||
"adygeya": _3,
|
||
"aktyubinsk": _3,
|
||
"arkhangelsk": _3,
|
||
"armenia": _3,
|
||
"ashgabad": _3,
|
||
"azerbaijan": _3,
|
||
"balashov": _3,
|
||
"bashkiria": _3,
|
||
"bryansk": _3,
|
||
"bukhara": _3,
|
||
"chimkent": _3,
|
||
"dagestan": _3,
|
||
"east-kazakhstan": _3,
|
||
"exnet": _3,
|
||
"georgia": _3,
|
||
"grozny": _3,
|
||
"ivanovo": _3,
|
||
"jambyl": _3,
|
||
"kalmykia": _3,
|
||
"kaluga": _3,
|
||
"karacol": _3,
|
||
"karaganda": _3,
|
||
"karelia": _3,
|
||
"khakassia": _3,
|
||
"krasnodar": _3,
|
||
"kurgan": _3,
|
||
"kustanai": _3,
|
||
"lenug": _3,
|
||
"mangyshlak": _3,
|
||
"mordovia": _3,
|
||
"msk": _3,
|
||
"murmansk": _3,
|
||
"nalchik": _3,
|
||
"navoi": _3,
|
||
"north-kazakhstan": _3,
|
||
"nov": _3,
|
||
"obninsk": _3,
|
||
"penza": _3,
|
||
"pokrovsk": _3,
|
||
"sochi": _3,
|
||
"spb": _3,
|
||
"tashkent": _3,
|
||
"termez": _3,
|
||
"togliatti": _3,
|
||
"troitsk": _3,
|
||
"tselinograd": _3,
|
||
"tula": _3,
|
||
"tuva": _3,
|
||
"vladikavkaz": _3,
|
||
"vladimir": _3,
|
||
"vologda": _3
|
||
}],
|
||
"sv": [1, {
|
||
"com": _2,
|
||
"edu": _2,
|
||
"gob": _2,
|
||
"org": _2,
|
||
"red": _2
|
||
}],
|
||
"sx": _7,
|
||
"sy": _34,
|
||
"sz": [1, {
|
||
"co": _2,
|
||
"ac": _2,
|
||
"org": _2
|
||
}],
|
||
"tc": [1, {
|
||
"ch": _3,
|
||
"me": _3,
|
||
"we": _3
|
||
}],
|
||
"td": _6,
|
||
"tel": _2,
|
||
"tf": [1, {
|
||
"sch": _3
|
||
}],
|
||
"tg": _2,
|
||
"th": [1, {
|
||
"ac": _2,
|
||
"co": _2,
|
||
"go": _2,
|
||
"in": _2,
|
||
"mi": _2,
|
||
"net": _2,
|
||
"or": _2,
|
||
"online": _3,
|
||
"shop": _3
|
||
}],
|
||
"tj": [1, {
|
||
"ac": _2,
|
||
"biz": _2,
|
||
"co": _2,
|
||
"com": _2,
|
||
"edu": _2,
|
||
"go": _2,
|
||
"gov": _2,
|
||
"int": _2,
|
||
"mil": _2,
|
||
"name": _2,
|
||
"net": _2,
|
||
"nic": _2,
|
||
"org": _2,
|
||
"test": _2,
|
||
"web": _2
|
||
}],
|
||
"tk": _2,
|
||
"tl": _7,
|
||
"tm": [1, {
|
||
"com": _2,
|
||
"co": _2,
|
||
"org": _2,
|
||
"net": _2,
|
||
"nom": _2,
|
||
"gov": _2,
|
||
"mil": _2,
|
||
"edu": _2
|
||
}],
|
||
"tn": [1, {
|
||
"com": _2,
|
||
"ens": _2,
|
||
"fin": _2,
|
||
"gov": _2,
|
||
"ind": _2,
|
||
"info": _2,
|
||
"intl": _2,
|
||
"mincom": _2,
|
||
"nat": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"perso": _2,
|
||
"tourism": _2,
|
||
"orangecloud": _3
|
||
}],
|
||
"to": [1, {
|
||
"611": _3,
|
||
"com": _2,
|
||
"gov": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"edu": _2,
|
||
"mil": _2,
|
||
"oya": _3,
|
||
"rdv": _3,
|
||
"x0": _3,
|
||
"vpnplus": _3,
|
||
"quickconnect": _13,
|
||
"nyan": _3
|
||
}],
|
||
"tr": [1, {
|
||
"av": _2,
|
||
"bbs": _2,
|
||
"bel": _2,
|
||
"biz": _2,
|
||
"com": _6,
|
||
"dr": _2,
|
||
"edu": _2,
|
||
"gen": _2,
|
||
"gov": _2,
|
||
"info": _2,
|
||
"mil": _2,
|
||
"k12": _2,
|
||
"kep": _2,
|
||
"name": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"pol": _2,
|
||
"tel": _2,
|
||
"tsk": _2,
|
||
"tv": _2,
|
||
"web": _2,
|
||
"nc": _7
|
||
}],
|
||
"tt": [1, {
|
||
"co": _2,
|
||
"com": _2,
|
||
"org": _2,
|
||
"net": _2,
|
||
"biz": _2,
|
||
"info": _2,
|
||
"pro": _2,
|
||
"int": _2,
|
||
"coop": _2,
|
||
"jobs": _2,
|
||
"mobi": _2,
|
||
"travel": _2,
|
||
"museum": _2,
|
||
"aero": _2,
|
||
"name": _2,
|
||
"gov": _2,
|
||
"edu": _2
|
||
}],
|
||
"tv": [1, {
|
||
"dyndns": _3,
|
||
"better-than": _3,
|
||
"on-the-web": _3,
|
||
"worse-than": _3,
|
||
"from": _3,
|
||
"sakura": _3
|
||
}],
|
||
"tw": [1, {
|
||
"edu": _2,
|
||
"gov": _2,
|
||
"mil": _2,
|
||
"com": [1, {
|
||
"mymailer": _3
|
||
}],
|
||
"net": _2,
|
||
"org": _2,
|
||
"idv": _2,
|
||
"game": _2,
|
||
"ebiz": _2,
|
||
"club": _2,
|
||
"xn--zf0ao64a": _2,
|
||
"網路": _2,
|
||
"xn--uc0atv": _2,
|
||
"組織": _2,
|
||
"xn--czrw28b": _2,
|
||
"商業": _2,
|
||
"url": _3,
|
||
"blogspot": _3
|
||
}],
|
||
"tz": [1, {
|
||
"ac": _2,
|
||
"co": _2,
|
||
"go": _2,
|
||
"hotel": _2,
|
||
"info": _2,
|
||
"me": _2,
|
||
"mil": _2,
|
||
"mobi": _2,
|
||
"ne": _2,
|
||
"or": _2,
|
||
"sc": _2,
|
||
"tv": _2
|
||
}],
|
||
"ua": [1, {
|
||
"com": _2,
|
||
"edu": _2,
|
||
"gov": _2,
|
||
"in": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"cherkassy": _2,
|
||
"cherkasy": _2,
|
||
"chernigov": _2,
|
||
"chernihiv": _2,
|
||
"chernivtsi": _2,
|
||
"chernovtsy": _2,
|
||
"ck": _2,
|
||
"cn": _2,
|
||
"cr": _2,
|
||
"crimea": _2,
|
||
"cv": _2,
|
||
"dn": _2,
|
||
"dnepropetrovsk": _2,
|
||
"dnipropetrovsk": _2,
|
||
"donetsk": _2,
|
||
"dp": _2,
|
||
"if": _2,
|
||
"ivano-frankivsk": _2,
|
||
"kh": _2,
|
||
"kharkiv": _2,
|
||
"kharkov": _2,
|
||
"kherson": _2,
|
||
"khmelnitskiy": _2,
|
||
"khmelnytskyi": _2,
|
||
"kiev": _2,
|
||
"kirovograd": _2,
|
||
"km": _2,
|
||
"kr": _2,
|
||
"kropyvnytskyi": _2,
|
||
"krym": _2,
|
||
"ks": _2,
|
||
"kv": _2,
|
||
"kyiv": _2,
|
||
"lg": _2,
|
||
"lt": _2,
|
||
"lugansk": _2,
|
||
"lutsk": _2,
|
||
"lv": _2,
|
||
"lviv": _2,
|
||
"mk": _2,
|
||
"mykolaiv": _2,
|
||
"nikolaev": _2,
|
||
"od": _2,
|
||
"odesa": _2,
|
||
"odessa": _2,
|
||
"pl": _2,
|
||
"poltava": _2,
|
||
"rivne": _2,
|
||
"rovno": _2,
|
||
"rv": _2,
|
||
"sb": _2,
|
||
"sebastopol": _2,
|
||
"sevastopol": _2,
|
||
"sm": _2,
|
||
"sumy": _2,
|
||
"te": _2,
|
||
"ternopil": _2,
|
||
"uz": _2,
|
||
"uzhgorod": _2,
|
||
"vinnica": _2,
|
||
"vinnytsia": _2,
|
||
"vn": _2,
|
||
"volyn": _2,
|
||
"yalta": _2,
|
||
"zaporizhzhe": _2,
|
||
"zaporizhzhia": _2,
|
||
"zhitomir": _2,
|
||
"zhytomyr": _2,
|
||
"zp": _2,
|
||
"zt": _2,
|
||
"cc": _3,
|
||
"inf": _3,
|
||
"ltd": _3,
|
||
"cx": _3,
|
||
"ie": _3,
|
||
"biz": _3,
|
||
"co": _3,
|
||
"pp": _3,
|
||
"v": _3
|
||
}],
|
||
"ug": [1, {
|
||
"co": _2,
|
||
"or": _2,
|
||
"ac": _2,
|
||
"sc": _2,
|
||
"go": _2,
|
||
"ne": _2,
|
||
"com": _2,
|
||
"org": _2,
|
||
"blogspot": _3
|
||
}],
|
||
"uk": [1, {
|
||
"ac": _2,
|
||
"co": [1, {
|
||
"bytemark": [0, {
|
||
"dh": _3,
|
||
"vm": _3
|
||
}],
|
||
"blogspot": _3,
|
||
"layershift": _28,
|
||
"barsy": _3,
|
||
"barsyonline": _3,
|
||
"retrosnub": _33,
|
||
"nh-serv": _3,
|
||
"no-ip": _3,
|
||
"wellbeingzone": _3,
|
||
"adimo": _3,
|
||
"myspreadshop": _3
|
||
}],
|
||
"gov": [1, {
|
||
"campaign": _3,
|
||
"service": _3,
|
||
"api": _3,
|
||
"homeoffice": _3
|
||
}],
|
||
"ltd": _2,
|
||
"me": _2,
|
||
"net": _2,
|
||
"nhs": _2,
|
||
"org": [1, {
|
||
"glug": _3,
|
||
"lug": _3,
|
||
"lugs": _3,
|
||
"affinitylottery": _3,
|
||
"raffleentry": _3,
|
||
"weeklylottery": _3
|
||
}],
|
||
"plc": _2,
|
||
"police": _2,
|
||
"sch": _8,
|
||
"conn": _3,
|
||
"copro": _3,
|
||
"hosp": _3,
|
||
"independent-commission": _3,
|
||
"independent-inquest": _3,
|
||
"independent-inquiry": _3,
|
||
"independent-panel": _3,
|
||
"independent-review": _3,
|
||
"public-inquiry": _3,
|
||
"royal-commission": _3,
|
||
"pymnt": _3,
|
||
"barsy": _3
|
||
}],
|
||
"us": [1, {
|
||
"dni": _2,
|
||
"fed": _2,
|
||
"isa": _2,
|
||
"kids": _2,
|
||
"nsn": _2,
|
||
"ak": _42,
|
||
"al": _42,
|
||
"ar": _42,
|
||
"as": _42,
|
||
"az": _42,
|
||
"ca": _42,
|
||
"co": _42,
|
||
"ct": _42,
|
||
"dc": _42,
|
||
"de": [1, {
|
||
"k12": _2,
|
||
"cc": _2,
|
||
"lib": _3
|
||
}],
|
||
"fl": _42,
|
||
"ga": _42,
|
||
"gu": _42,
|
||
"hi": _43,
|
||
"ia": _42,
|
||
"id": _42,
|
||
"il": _42,
|
||
"in": _42,
|
||
"ks": _42,
|
||
"ky": _42,
|
||
"la": _42,
|
||
"ma": [1, {
|
||
"k12": [1, {
|
||
"pvt": _2,
|
||
"chtr": _2,
|
||
"paroch": _2
|
||
}],
|
||
"cc": _2,
|
||
"lib": _2
|
||
}],
|
||
"md": _42,
|
||
"me": _42,
|
||
"mi": [1, {
|
||
"k12": _2,
|
||
"cc": _2,
|
||
"lib": _2,
|
||
"ann-arbor": _2,
|
||
"cog": _2,
|
||
"dst": _2,
|
||
"eaton": _2,
|
||
"gen": _2,
|
||
"mus": _2,
|
||
"tec": _2,
|
||
"washtenaw": _2
|
||
}],
|
||
"mn": _42,
|
||
"mo": _42,
|
||
"ms": _42,
|
||
"mt": _42,
|
||
"nc": _42,
|
||
"nd": _43,
|
||
"ne": _42,
|
||
"nh": _42,
|
||
"nj": _42,
|
||
"nm": _42,
|
||
"nv": _42,
|
||
"ny": _42,
|
||
"oh": _42,
|
||
"ok": _42,
|
||
"or": _42,
|
||
"pa": _42,
|
||
"pr": _42,
|
||
"ri": _43,
|
||
"sc": _42,
|
||
"sd": _43,
|
||
"tn": _42,
|
||
"tx": _42,
|
||
"ut": _42,
|
||
"vi": _42,
|
||
"vt": _42,
|
||
"va": _42,
|
||
"wa": _42,
|
||
"wi": _42,
|
||
"wv": [1, {
|
||
"cc": _2
|
||
}],
|
||
"wy": _42,
|
||
"graphox": _3,
|
||
"cloudns": _3,
|
||
"drud": _3,
|
||
"is-by": _3,
|
||
"land-4-sale": _3,
|
||
"stuff-4-sale": _3,
|
||
"enscaled": [0, {
|
||
"phx": _3
|
||
}],
|
||
"mircloud": _3,
|
||
"freeddns": _3,
|
||
"golffan": _3,
|
||
"noip": _3,
|
||
"pointto": _3,
|
||
"platterp": _3
|
||
}],
|
||
"uy": [1, {
|
||
"com": _6,
|
||
"edu": _2,
|
||
"gub": _2,
|
||
"mil": _2,
|
||
"net": _2,
|
||
"org": _2
|
||
}],
|
||
"uz": [1, {
|
||
"co": _2,
|
||
"com": _2,
|
||
"net": _2,
|
||
"org": _2
|
||
}],
|
||
"va": _2,
|
||
"vc": [1, {
|
||
"com": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"gov": _2,
|
||
"mil": _2,
|
||
"edu": _2,
|
||
"gv": [2, {
|
||
"d": _3
|
||
}],
|
||
"0e": _3
|
||
}],
|
||
"ve": [1, {
|
||
"arts": _2,
|
||
"bib": _2,
|
||
"co": _2,
|
||
"com": _2,
|
||
"e12": _2,
|
||
"edu": _2,
|
||
"firm": _2,
|
||
"gob": _2,
|
||
"gov": _2,
|
||
"info": _2,
|
||
"int": _2,
|
||
"mil": _2,
|
||
"net": _2,
|
||
"nom": _2,
|
||
"org": _2,
|
||
"rar": _2,
|
||
"rec": _2,
|
||
"store": _2,
|
||
"tec": _2,
|
||
"web": _2
|
||
}],
|
||
"vg": [1, {
|
||
"at": _3
|
||
}],
|
||
"vi": [1, {
|
||
"co": _2,
|
||
"com": _2,
|
||
"k12": _2,
|
||
"net": _2,
|
||
"org": _2
|
||
}],
|
||
"vn": [1, {
|
||
"ac": _2,
|
||
"ai": _2,
|
||
"biz": _2,
|
||
"com": _2,
|
||
"edu": _2,
|
||
"gov": _2,
|
||
"health": _2,
|
||
"id": _2,
|
||
"info": _2,
|
||
"int": _2,
|
||
"io": _2,
|
||
"name": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"pro": _2,
|
||
"angiang": _2,
|
||
"bacgiang": _2,
|
||
"backan": _2,
|
||
"baclieu": _2,
|
||
"bacninh": _2,
|
||
"baria-vungtau": _2,
|
||
"bentre": _2,
|
||
"binhdinh": _2,
|
||
"binhduong": _2,
|
||
"binhphuoc": _2,
|
||
"binhthuan": _2,
|
||
"camau": _2,
|
||
"cantho": _2,
|
||
"caobang": _2,
|
||
"daklak": _2,
|
||
"daknong": _2,
|
||
"danang": _2,
|
||
"dienbien": _2,
|
||
"dongnai": _2,
|
||
"dongthap": _2,
|
||
"gialai": _2,
|
||
"hagiang": _2,
|
||
"haiduong": _2,
|
||
"haiphong": _2,
|
||
"hanam": _2,
|
||
"hanoi": _2,
|
||
"hatinh": _2,
|
||
"haugiang": _2,
|
||
"hoabinh": _2,
|
||
"hungyen": _2,
|
||
"khanhhoa": _2,
|
||
"kiengiang": _2,
|
||
"kontum": _2,
|
||
"laichau": _2,
|
||
"lamdong": _2,
|
||
"langson": _2,
|
||
"laocai": _2,
|
||
"longan": _2,
|
||
"namdinh": _2,
|
||
"nghean": _2,
|
||
"ninhbinh": _2,
|
||
"ninhthuan": _2,
|
||
"phutho": _2,
|
||
"phuyen": _2,
|
||
"quangbinh": _2,
|
||
"quangnam": _2,
|
||
"quangngai": _2,
|
||
"quangninh": _2,
|
||
"quangtri": _2,
|
||
"soctrang": _2,
|
||
"sonla": _2,
|
||
"tayninh": _2,
|
||
"thaibinh": _2,
|
||
"thainguyen": _2,
|
||
"thanhhoa": _2,
|
||
"thanhphohochiminh": _2,
|
||
"thuathienhue": _2,
|
||
"tiengiang": _2,
|
||
"travinh": _2,
|
||
"tuyenquang": _2,
|
||
"vinhlong": _2,
|
||
"vinhphuc": _2,
|
||
"yenbai": _2,
|
||
"blogspot": _3
|
||
}],
|
||
"vu": [1, {
|
||
"com": _2,
|
||
"edu": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"cn": _3,
|
||
"blog": _3,
|
||
"dev": _3,
|
||
"me": _3
|
||
}],
|
||
"wf": [1, {
|
||
"biz": _3,
|
||
"sch": _3
|
||
}],
|
||
"ws": [1, {
|
||
"com": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"gov": _2,
|
||
"edu": _2,
|
||
"advisor": _5,
|
||
"cloud66": _3,
|
||
"dyndns": _3,
|
||
"mypets": _3
|
||
}],
|
||
"yt": [1, {
|
||
"org": _3
|
||
}],
|
||
"xn--mgbaam7a8h": _2,
|
||
"امارات": _2,
|
||
"xn--y9a3aq": _2,
|
||
"հայ": _2,
|
||
"xn--54b7fta0cc": _2,
|
||
"বাংলা": _2,
|
||
"xn--90ae": _2,
|
||
"бг": _2,
|
||
"xn--mgbcpq6gpa1a": _2,
|
||
"البحرين": _2,
|
||
"xn--90ais": _2,
|
||
"бел": _2,
|
||
"xn--fiqs8s": _2,
|
||
"中国": _2,
|
||
"xn--fiqz9s": _2,
|
||
"中國": _2,
|
||
"xn--lgbbat1ad8j": _2,
|
||
"الجزائر": _2,
|
||
"xn--wgbh1c": _2,
|
||
"مصر": _2,
|
||
"xn--e1a4c": _2,
|
||
"ею": _2,
|
||
"xn--qxa6a": _2,
|
||
"ευ": _2,
|
||
"xn--mgbah1a3hjkrd": _2,
|
||
"موريتانيا": _2,
|
||
"xn--node": _2,
|
||
"გე": _2,
|
||
"xn--qxam": _2,
|
||
"ελ": _2,
|
||
"xn--j6w193g": [1, {
|
||
"xn--55qx5d": _2,
|
||
"xn--wcvs22d": _2,
|
||
"xn--mxtq1m": _2,
|
||
"xn--gmqw5a": _2,
|
||
"xn--od0alg": _2,
|
||
"xn--uc0atv": _2
|
||
}],
|
||
"香港": [1, {
|
||
"公司": _2,
|
||
"教育": _2,
|
||
"政府": _2,
|
||
"個人": _2,
|
||
"網絡": _2,
|
||
"組織": _2
|
||
}],
|
||
"xn--2scrj9c": _2,
|
||
"ಭಾರತ": _2,
|
||
"xn--3hcrj9c": _2,
|
||
"ଭାରତ": _2,
|
||
"xn--45br5cyl": _2,
|
||
"ভাৰত": _2,
|
||
"xn--h2breg3eve": _2,
|
||
"भारतम्": _2,
|
||
"xn--h2brj9c8c": _2,
|
||
"भारोत": _2,
|
||
"xn--mgbgu82a": _2,
|
||
"ڀارت": _2,
|
||
"xn--rvc1e0am3e": _2,
|
||
"ഭാരതം": _2,
|
||
"xn--h2brj9c": _2,
|
||
"भारत": _2,
|
||
"xn--mgbbh1a": _2,
|
||
"بارت": _2,
|
||
"xn--mgbbh1a71e": _2,
|
||
"بھارت": _2,
|
||
"xn--fpcrj9c3d": _2,
|
||
"భారత్": _2,
|
||
"xn--gecrj9c": _2,
|
||
"ભારત": _2,
|
||
"xn--s9brj9c": _2,
|
||
"ਭਾਰਤ": _2,
|
||
"xn--45brj9c": _2,
|
||
"ভারত": _2,
|
||
"xn--xkc2dl3a5ee0h": _2,
|
||
"இந்தியா": _2,
|
||
"xn--mgba3a4f16a": _2,
|
||
"ایران": _2,
|
||
"xn--mgba3a4fra": _2,
|
||
"ايران": _2,
|
||
"xn--mgbtx2b": _2,
|
||
"عراق": _2,
|
||
"xn--mgbayh7gpa": _2,
|
||
"الاردن": _2,
|
||
"xn--3e0b707e": _2,
|
||
"한국": _2,
|
||
"xn--80ao21a": _2,
|
||
"қаз": _2,
|
||
"xn--q7ce6a": _2,
|
||
"ລາວ": _2,
|
||
"xn--fzc2c9e2c": _2,
|
||
"ලංකා": _2,
|
||
"xn--xkc2al3hye2a": _2,
|
||
"இலங்கை": _2,
|
||
"xn--mgbc0a9azcg": _2,
|
||
"المغرب": _2,
|
||
"xn--d1alf": _2,
|
||
"мкд": _2,
|
||
"xn--l1acc": _2,
|
||
"мон": _2,
|
||
"xn--mix891f": _2,
|
||
"澳門": _2,
|
||
"xn--mix082f": _2,
|
||
"澳门": _2,
|
||
"xn--mgbx4cd0ab": _2,
|
||
"مليسيا": _2,
|
||
"xn--mgb9awbf": _2,
|
||
"عمان": _2,
|
||
"xn--mgbai9azgqp6j": _2,
|
||
"پاکستان": _2,
|
||
"xn--mgbai9a5eva00b": _2,
|
||
"پاكستان": _2,
|
||
"xn--ygbi2ammx": _2,
|
||
"فلسطين": _2,
|
||
"xn--90a3ac": [1, {
|
||
"xn--o1ac": _2,
|
||
"xn--c1avg": _2,
|
||
"xn--90azh": _2,
|
||
"xn--d1at": _2,
|
||
"xn--o1ach": _2,
|
||
"xn--80au": _2
|
||
}],
|
||
"срб": [1, {
|
||
"пр": _2,
|
||
"орг": _2,
|
||
"обр": _2,
|
||
"од": _2,
|
||
"упр": _2,
|
||
"ак": _2
|
||
}],
|
||
"xn--p1ai": _2,
|
||
"рф": _2,
|
||
"xn--wgbl6a": _2,
|
||
"قطر": _2,
|
||
"xn--mgberp4a5d4ar": _2,
|
||
"السعودية": _2,
|
||
"xn--mgberp4a5d4a87g": _2,
|
||
"السعودیة": _2,
|
||
"xn--mgbqly7c0a67fbc": _2,
|
||
"السعودیۃ": _2,
|
||
"xn--mgbqly7cvafr": _2,
|
||
"السعوديه": _2,
|
||
"xn--mgbpl2fh": _2,
|
||
"سودان": _2,
|
||
"xn--yfro4i67o": _2,
|
||
"新加坡": _2,
|
||
"xn--clchc0ea0b2g2a9gcd": _2,
|
||
"சிங்கப்பூர்": _2,
|
||
"xn--ogbpf8fl": _2,
|
||
"سورية": _2,
|
||
"xn--mgbtf8fl": _2,
|
||
"سوريا": _2,
|
||
"xn--o3cw4h": [1, {
|
||
"xn--12c1fe0br": _2,
|
||
"xn--12co0c3b4eva": _2,
|
||
"xn--h3cuzk1di": _2,
|
||
"xn--o3cyx2a": _2,
|
||
"xn--m3ch0j3a": _2,
|
||
"xn--12cfi8ixb8l": _2
|
||
}],
|
||
"ไทย": [1, {
|
||
"ศึกษา": _2,
|
||
"ธุรกิจ": _2,
|
||
"รัฐบาล": _2,
|
||
"ทหาร": _2,
|
||
"เน็ต": _2,
|
||
"องค์กร": _2
|
||
}],
|
||
"xn--pgbs0dh": _2,
|
||
"تونس": _2,
|
||
"xn--kpry57d": _2,
|
||
"台灣": _2,
|
||
"xn--kprw13d": _2,
|
||
"台湾": _2,
|
||
"xn--nnx388a": _2,
|
||
"臺灣": _2,
|
||
"xn--j1amh": _2,
|
||
"укр": _2,
|
||
"xn--mgb2ddes": _2,
|
||
"اليمن": _2,
|
||
"xxx": _2,
|
||
"ye": _34,
|
||
"za": [0, {
|
||
"ac": _2,
|
||
"agric": _2,
|
||
"alt": _2,
|
||
"co": _6,
|
||
"edu": _2,
|
||
"gov": _2,
|
||
"grondar": _2,
|
||
"law": _2,
|
||
"mil": _2,
|
||
"net": _2,
|
||
"ngo": _2,
|
||
"nic": _2,
|
||
"nis": _2,
|
||
"nom": _2,
|
||
"org": _2,
|
||
"school": _2,
|
||
"tm": _2,
|
||
"web": _2
|
||
}],
|
||
"zm": [1, {
|
||
"ac": _2,
|
||
"biz": _2,
|
||
"co": _2,
|
||
"com": _2,
|
||
"edu": _2,
|
||
"gov": _2,
|
||
"info": _2,
|
||
"mil": _2,
|
||
"net": _2,
|
||
"org": _2,
|
||
"sch": _2
|
||
}],
|
||
"zw": [1, {
|
||
"ac": _2,
|
||
"co": _2,
|
||
"gov": _2,
|
||
"mil": _2,
|
||
"org": _2
|
||
}],
|
||
"aaa": _2,
|
||
"aarp": _2,
|
||
"abb": _2,
|
||
"abbott": _2,
|
||
"abbvie": _2,
|
||
"abc": _2,
|
||
"able": _2,
|
||
"abogado": _2,
|
||
"abudhabi": _2,
|
||
"academy": [1, {
|
||
"official": _3
|
||
}],
|
||
"accenture": _2,
|
||
"accountant": _2,
|
||
"accountants": _2,
|
||
"aco": _2,
|
||
"actor": _2,
|
||
"ads": _2,
|
||
"adult": _2,
|
||
"aeg": _2,
|
||
"aetna": _2,
|
||
"afl": _2,
|
||
"africa": _2,
|
||
"agakhan": _2,
|
||
"agency": _2,
|
||
"aig": _2,
|
||
"airbus": _2,
|
||
"airforce": _2,
|
||
"airtel": _2,
|
||
"akdn": _2,
|
||
"alibaba": _2,
|
||
"alipay": _2,
|
||
"allfinanz": _2,
|
||
"allstate": _2,
|
||
"ally": _2,
|
||
"alsace": _2,
|
||
"alstom": _2,
|
||
"amazon": _2,
|
||
"americanexpress": _2,
|
||
"americanfamily": _2,
|
||
"amex": _2,
|
||
"amfam": _2,
|
||
"amica": _2,
|
||
"amsterdam": _2,
|
||
"analytics": _2,
|
||
"android": _2,
|
||
"anquan": _2,
|
||
"anz": _2,
|
||
"aol": _2,
|
||
"apartments": _2,
|
||
"app": [1, {
|
||
"beget": _5,
|
||
"clerk": _3,
|
||
"clerkstage": _3,
|
||
"wnext": _3,
|
||
"platform0": _3,
|
||
"deta": _3,
|
||
"ondigitalocean": _3,
|
||
"easypanel": _3,
|
||
"encr": _3,
|
||
"edgecompute": _3,
|
||
"fireweb": _3,
|
||
"onflashdrive": _3,
|
||
"framer": _3,
|
||
"run": [2, {
|
||
"a": _3
|
||
}],
|
||
"web": _3,
|
||
"hasura": _3,
|
||
"loginline": _3,
|
||
"messerli": _3,
|
||
"netlify": _3,
|
||
"ngrok": _3,
|
||
"ngrok-free": _3,
|
||
"developer": _5,
|
||
"noop": _3,
|
||
"northflank": _5,
|
||
"snowflake": [2, {
|
||
"privatelink": _3
|
||
}],
|
||
"streamlit": _3,
|
||
"storipress": _3,
|
||
"telebit": _3,
|
||
"typedream": _3,
|
||
"vercel": _3,
|
||
"bookonline": _3
|
||
}],
|
||
"apple": _2,
|
||
"aquarelle": _2,
|
||
"arab": _2,
|
||
"aramco": _2,
|
||
"archi": _2,
|
||
"army": _2,
|
||
"art": _2,
|
||
"arte": _2,
|
||
"asda": _2,
|
||
"associates": _2,
|
||
"athleta": _2,
|
||
"attorney": _2,
|
||
"auction": _2,
|
||
"audi": _2,
|
||
"audible": _2,
|
||
"audio": _2,
|
||
"auspost": _2,
|
||
"author": _2,
|
||
"auto": _2,
|
||
"autos": _2,
|
||
"avianca": _2,
|
||
"aws": _2,
|
||
"axa": _2,
|
||
"azure": _2,
|
||
"baby": _2,
|
||
"baidu": _2,
|
||
"banamex": _2,
|
||
"bananarepublic": _2,
|
||
"band": _2,
|
||
"bank": _2,
|
||
"bar": _2,
|
||
"barcelona": _2,
|
||
"barclaycard": _2,
|
||
"barclays": _2,
|
||
"barefoot": _2,
|
||
"bargains": _2,
|
||
"baseball": _2,
|
||
"basketball": [1, {
|
||
"aus": _3,
|
||
"nz": _3
|
||
}],
|
||
"bauhaus": _2,
|
||
"bayern": _2,
|
||
"bbc": _2,
|
||
"bbt": _2,
|
||
"bbva": _2,
|
||
"bcg": _2,
|
||
"bcn": _2,
|
||
"beats": _2,
|
||
"beauty": _2,
|
||
"beer": _2,
|
||
"bentley": _2,
|
||
"berlin": _2,
|
||
"best": _2,
|
||
"bestbuy": _2,
|
||
"bet": _2,
|
||
"bharti": _2,
|
||
"bible": _2,
|
||
"bid": _2,
|
||
"bike": _2,
|
||
"bing": _2,
|
||
"bingo": _2,
|
||
"bio": _2,
|
||
"black": _2,
|
||
"blackfriday": _2,
|
||
"blockbuster": _2,
|
||
"blog": _2,
|
||
"bloomberg": _2,
|
||
"blue": _2,
|
||
"bms": _2,
|
||
"bmw": _2,
|
||
"bnpparibas": _2,
|
||
"boats": _2,
|
||
"boehringer": _2,
|
||
"bofa": _2,
|
||
"bom": _2,
|
||
"bond": _2,
|
||
"boo": _2,
|
||
"book": _2,
|
||
"booking": _2,
|
||
"bosch": _2,
|
||
"bostik": _2,
|
||
"boston": _2,
|
||
"bot": _2,
|
||
"boutique": _2,
|
||
"box": _2,
|
||
"bradesco": _2,
|
||
"bridgestone": _2,
|
||
"broadway": _2,
|
||
"broker": _2,
|
||
"brother": _2,
|
||
"brussels": _2,
|
||
"build": _2,
|
||
"builders": [1, {
|
||
"cloudsite": _3
|
||
}],
|
||
"business": _10,
|
||
"buy": _2,
|
||
"buzz": _2,
|
||
"bzh": _2,
|
||
"cab": _2,
|
||
"cafe": _2,
|
||
"cal": _2,
|
||
"call": _2,
|
||
"calvinklein": _2,
|
||
"cam": _2,
|
||
"camera": _2,
|
||
"camp": _2,
|
||
"canon": _2,
|
||
"capetown": _2,
|
||
"capital": _2,
|
||
"capitalone": _2,
|
||
"car": _2,
|
||
"caravan": _2,
|
||
"cards": _2,
|
||
"care": _2,
|
||
"career": _2,
|
||
"careers": _2,
|
||
"cars": _2,
|
||
"casa": [1, {
|
||
"nabu": [0, {
|
||
"ui": _3
|
||
}]
|
||
}],
|
||
"case": _2,
|
||
"cash": _2,
|
||
"casino": _2,
|
||
"catering": _2,
|
||
"catholic": _2,
|
||
"cba": _2,
|
||
"cbn": _2,
|
||
"cbre": _2,
|
||
"cbs": _2,
|
||
"center": _2,
|
||
"ceo": _2,
|
||
"cern": _2,
|
||
"cfa": _2,
|
||
"cfd": _2,
|
||
"chanel": _2,
|
||
"channel": _2,
|
||
"charity": _2,
|
||
"chase": _2,
|
||
"chat": _2,
|
||
"cheap": _2,
|
||
"chintai": _2,
|
||
"christmas": _2,
|
||
"chrome": _2,
|
||
"church": _2,
|
||
"cipriani": _2,
|
||
"circle": _2,
|
||
"cisco": _2,
|
||
"citadel": _2,
|
||
"citi": _2,
|
||
"citic": _2,
|
||
"city": _2,
|
||
"cityeats": _2,
|
||
"claims": _2,
|
||
"cleaning": _2,
|
||
"click": _2,
|
||
"clinic": _2,
|
||
"clinique": _2,
|
||
"clothing": _2,
|
||
"cloud": [1, {
|
||
"banzai": _5,
|
||
"elementor": _3,
|
||
"encoway": [0, {
|
||
"eu": _3
|
||
}],
|
||
"statics": _5,
|
||
"ravendb": _3,
|
||
"axarnet": [0, {
|
||
"es-1": _3
|
||
}],
|
||
"diadem": _3,
|
||
"jelastic": [0, {
|
||
"vip": _3
|
||
}],
|
||
"jele": _3,
|
||
"jenv-aruba": [0, {
|
||
"aruba": [0, {
|
||
"eur": [0, {
|
||
"it1": _3
|
||
}]
|
||
}],
|
||
"it1": _3
|
||
}],
|
||
"keliweb": [2, {
|
||
"cs": _3
|
||
}],
|
||
"oxa": [2, {
|
||
"tn": _3,
|
||
"uk": _3
|
||
}],
|
||
"primetel": [2, {
|
||
"uk": _3
|
||
}],
|
||
"reclaim": [0, {
|
||
"ca": _3,
|
||
"uk": _3,
|
||
"us": _3
|
||
}],
|
||
"trendhosting": [0, {
|
||
"ch": _3,
|
||
"de": _3
|
||
}],
|
||
"jotelulu": _3,
|
||
"kuleuven": _3,
|
||
"linkyard": _3,
|
||
"magentosite": _5,
|
||
"perspecta": _3,
|
||
"vapor": _3,
|
||
"on-rancher": _5,
|
||
"scw": [0, {
|
||
"baremetal": [0, {
|
||
"fr-par-1": _3,
|
||
"fr-par-2": _3,
|
||
"nl-ams-1": _3
|
||
}],
|
||
"fr-par": [0, {
|
||
"fnc": [2, {
|
||
"functions": _3
|
||
}],
|
||
"k8s": _11,
|
||
"s3": _3,
|
||
"s3-website": _3,
|
||
"whm": _3
|
||
}],
|
||
"instances": [0, {
|
||
"priv": _3,
|
||
"pub": _3
|
||
}],
|
||
"k8s": _3,
|
||
"nl-ams": [0, {
|
||
"k8s": _11,
|
||
"s3": _3,
|
||
"s3-website": _3,
|
||
"whm": _3
|
||
}],
|
||
"pl-waw": [0, {
|
||
"k8s": _11,
|
||
"s3": _3,
|
||
"s3-website": _3
|
||
}],
|
||
"scalebook": _3,
|
||
"smartlabeling": _3
|
||
}],
|
||
"sensiosite": _5,
|
||
"trafficplex": _3,
|
||
"urown": _3,
|
||
"voorloper": _3
|
||
}],
|
||
"club": [1, {
|
||
"cloudns": _3,
|
||
"jele": _3,
|
||
"barsy": _3
|
||
}],
|
||
"clubmed": _2,
|
||
"coach": _2,
|
||
"codes": [1, {
|
||
"owo": _5
|
||
}],
|
||
"coffee": _2,
|
||
"college": _2,
|
||
"cologne": _2,
|
||
"comcast": _2,
|
||
"commbank": _2,
|
||
"community": [1, {
|
||
"nog": _3,
|
||
"ravendb": _3,
|
||
"myforum": _3
|
||
}],
|
||
"company": _2,
|
||
"compare": _2,
|
||
"computer": _2,
|
||
"comsec": _2,
|
||
"condos": _2,
|
||
"construction": _2,
|
||
"consulting": _2,
|
||
"contact": _2,
|
||
"contractors": _2,
|
||
"cooking": _2,
|
||
"cool": [1, {
|
||
"elementor": _3,
|
||
"de": _3
|
||
}],
|
||
"corsica": _2,
|
||
"country": _2,
|
||
"coupon": _2,
|
||
"coupons": _2,
|
||
"courses": _2,
|
||
"cpa": _2,
|
||
"credit": _2,
|
||
"creditcard": _2,
|
||
"creditunion": _2,
|
||
"cricket": _2,
|
||
"crown": _2,
|
||
"crs": _2,
|
||
"cruise": _2,
|
||
"cruises": _2,
|
||
"cuisinella": _2,
|
||
"cymru": _2,
|
||
"cyou": _2,
|
||
"dabur": _2,
|
||
"dad": _2,
|
||
"dance": _2,
|
||
"data": _2,
|
||
"date": _2,
|
||
"dating": _2,
|
||
"datsun": _2,
|
||
"day": _2,
|
||
"dclk": _2,
|
||
"dds": _2,
|
||
"deal": _2,
|
||
"dealer": _2,
|
||
"deals": _2,
|
||
"degree": _2,
|
||
"delivery": _2,
|
||
"dell": _2,
|
||
"deloitte": _2,
|
||
"delta": _2,
|
||
"democrat": _2,
|
||
"dental": _2,
|
||
"dentist": _2,
|
||
"desi": _2,
|
||
"design": [1, {
|
||
"bss": _3
|
||
}],
|
||
"dev": [1, {
|
||
"autocode": _3,
|
||
"lcl": _5,
|
||
"lclstage": _5,
|
||
"stg": _5,
|
||
"stgstage": _5,
|
||
"pages": _3,
|
||
"r2": _3,
|
||
"workers": _3,
|
||
"curv": _3,
|
||
"deno": _3,
|
||
"deno-staging": _3,
|
||
"deta": _3,
|
||
"fly": _3,
|
||
"githubpreview": _3,
|
||
"gateway": _5,
|
||
"iserv": _3,
|
||
"localcert": [0, {
|
||
"user": _5
|
||
}],
|
||
"loginline": _3,
|
||
"mediatech": _3,
|
||
"ngrok": _3,
|
||
"ngrok-free": _3,
|
||
"platter-app": _3,
|
||
"shiftcrypto": _3,
|
||
"vercel": _3,
|
||
"webhare": _5
|
||
}],
|
||
"dhl": _2,
|
||
"diamonds": _2,
|
||
"diet": _2,
|
||
"digital": [1, {
|
||
"cloudapps": [2, {
|
||
"london": _3
|
||
}]
|
||
}],
|
||
"direct": _2,
|
||
"directory": _2,
|
||
"discount": _2,
|
||
"discover": _2,
|
||
"dish": _2,
|
||
"diy": _2,
|
||
"dnp": _2,
|
||
"docs": _2,
|
||
"doctor": _2,
|
||
"dog": _2,
|
||
"domains": _2,
|
||
"dot": _2,
|
||
"download": _2,
|
||
"drive": _2,
|
||
"dtv": _2,
|
||
"dubai": _2,
|
||
"dunlop": _2,
|
||
"dupont": _2,
|
||
"durban": _2,
|
||
"dvag": _2,
|
||
"dvr": _2,
|
||
"earth": [1, {
|
||
"dapps": [0, {
|
||
"*": _3,
|
||
"bzz": _5
|
||
}]
|
||
}],
|
||
"eat": _2,
|
||
"eco": _2,
|
||
"edeka": _2,
|
||
"education": _10,
|
||
"email": _2,
|
||
"emerck": _2,
|
||
"energy": _2,
|
||
"engineer": _2,
|
||
"engineering": _2,
|
||
"enterprises": _2,
|
||
"epson": _2,
|
||
"equipment": _2,
|
||
"ericsson": _2,
|
||
"erni": _2,
|
||
"esq": _2,
|
||
"estate": [1, {
|
||
"compute": _5
|
||
}],
|
||
"etisalat": _2,
|
||
"eurovision": _2,
|
||
"eus": [1, {
|
||
"party": _30
|
||
}],
|
||
"events": [1, {
|
||
"koobin": _3,
|
||
"co": _3
|
||
}],
|
||
"exchange": _2,
|
||
"expert": _2,
|
||
"exposed": _2,
|
||
"express": _2,
|
||
"extraspace": _2,
|
||
"fage": _2,
|
||
"fail": _2,
|
||
"fairwinds": _2,
|
||
"faith": _31,
|
||
"family": _2,
|
||
"fan": _2,
|
||
"fans": _2,
|
||
"farm": [1, {
|
||
"storj": _3
|
||
}],
|
||
"farmers": _2,
|
||
"fashion": _2,
|
||
"fast": _2,
|
||
"fedex": _2,
|
||
"feedback": _2,
|
||
"ferrari": _2,
|
||
"ferrero": _2,
|
||
"fidelity": _2,
|
||
"fido": _2,
|
||
"film": _2,
|
||
"final": _2,
|
||
"finance": _2,
|
||
"financial": _10,
|
||
"fire": _2,
|
||
"firestone": _2,
|
||
"firmdale": _2,
|
||
"fish": _2,
|
||
"fishing": _2,
|
||
"fit": _2,
|
||
"fitness": _2,
|
||
"flickr": _2,
|
||
"flights": _2,
|
||
"flir": _2,
|
||
"florist": _2,
|
||
"flowers": _2,
|
||
"fly": _2,
|
||
"foo": _2,
|
||
"food": _2,
|
||
"football": _2,
|
||
"ford": _2,
|
||
"forex": _2,
|
||
"forsale": _2,
|
||
"forum": _2,
|
||
"foundation": _2,
|
||
"fox": _2,
|
||
"free": _2,
|
||
"fresenius": _2,
|
||
"frl": _2,
|
||
"frogans": _2,
|
||
"frontdoor": _2,
|
||
"frontier": _2,
|
||
"ftr": _2,
|
||
"fujitsu": _2,
|
||
"fun": _2,
|
||
"fund": _2,
|
||
"furniture": _2,
|
||
"futbol": _2,
|
||
"fyi": _2,
|
||
"gal": _2,
|
||
"gallery": _2,
|
||
"gallo": _2,
|
||
"gallup": _2,
|
||
"game": _2,
|
||
"games": _2,
|
||
"gap": _2,
|
||
"garden": _2,
|
||
"gay": _2,
|
||
"gbiz": _2,
|
||
"gdn": [1, {
|
||
"cnpy": _3
|
||
}],
|
||
"gea": _2,
|
||
"gent": _2,
|
||
"genting": _2,
|
||
"george": _2,
|
||
"ggee": _2,
|
||
"gift": _2,
|
||
"gifts": _2,
|
||
"gives": _2,
|
||
"giving": _2,
|
||
"glass": _2,
|
||
"gle": _2,
|
||
"global": _2,
|
||
"globo": _2,
|
||
"gmail": _2,
|
||
"gmbh": _2,
|
||
"gmo": _2,
|
||
"gmx": _2,
|
||
"godaddy": _2,
|
||
"gold": _2,
|
||
"goldpoint": _2,
|
||
"golf": _2,
|
||
"goo": _2,
|
||
"goodyear": _2,
|
||
"goog": [1, {
|
||
"cloud": _3,
|
||
"translate": _3,
|
||
"usercontent": _5
|
||
}],
|
||
"google": _2,
|
||
"gop": _2,
|
||
"got": _2,
|
||
"grainger": _2,
|
||
"graphics": _2,
|
||
"gratis": _2,
|
||
"green": _2,
|
||
"gripe": _2,
|
||
"grocery": _2,
|
||
"group": [1, {
|
||
"discourse": _3
|
||
}],
|
||
"guardian": _2,
|
||
"gucci": _2,
|
||
"guge": _2,
|
||
"guide": _2,
|
||
"guitars": _2,
|
||
"guru": _2,
|
||
"hair": _2,
|
||
"hamburg": _2,
|
||
"hangout": _2,
|
||
"haus": _2,
|
||
"hbo": _2,
|
||
"hdfc": _2,
|
||
"hdfcbank": _2,
|
||
"health": [1, {
|
||
"hra": _3
|
||
}],
|
||
"healthcare": _2,
|
||
"help": _2,
|
||
"helsinki": _2,
|
||
"here": _2,
|
||
"hermes": _2,
|
||
"hiphop": _2,
|
||
"hisamitsu": _2,
|
||
"hitachi": _2,
|
||
"hiv": _2,
|
||
"hkt": _2,
|
||
"hockey": _2,
|
||
"holdings": _2,
|
||
"holiday": _2,
|
||
"homedepot": _2,
|
||
"homegoods": _2,
|
||
"homes": _2,
|
||
"homesense": _2,
|
||
"honda": _2,
|
||
"horse": _2,
|
||
"hospital": _2,
|
||
"host": [1, {
|
||
"cloudaccess": _3,
|
||
"freesite": _3,
|
||
"easypanel": _3,
|
||
"fastvps": _3,
|
||
"myfast": _3,
|
||
"tempurl": _3,
|
||
"wpmudev": _3,
|
||
"jele": _3,
|
||
"mircloud": _3,
|
||
"pcloud": _3,
|
||
"half": _3
|
||
}],
|
||
"hosting": [1, {
|
||
"opencraft": _3
|
||
}],
|
||
"hot": _2,
|
||
"hotels": _2,
|
||
"hotmail": _2,
|
||
"house": _2,
|
||
"how": _2,
|
||
"hsbc": _2,
|
||
"hughes": _2,
|
||
"hyatt": _2,
|
||
"hyundai": _2,
|
||
"ibm": _2,
|
||
"icbc": _2,
|
||
"ice": _2,
|
||
"icu": _2,
|
||
"ieee": _2,
|
||
"ifm": _2,
|
||
"ikano": _2,
|
||
"imamat": _2,
|
||
"imdb": _2,
|
||
"immo": _2,
|
||
"immobilien": _2,
|
||
"inc": _2,
|
||
"industries": _2,
|
||
"infiniti": _2,
|
||
"ing": _2,
|
||
"ink": _2,
|
||
"institute": _2,
|
||
"insurance": _2,
|
||
"insure": _2,
|
||
"international": _2,
|
||
"intuit": _2,
|
||
"investments": _2,
|
||
"ipiranga": _2,
|
||
"irish": _2,
|
||
"ismaili": _2,
|
||
"ist": _2,
|
||
"istanbul": _2,
|
||
"itau": _2,
|
||
"itv": _2,
|
||
"jaguar": _2,
|
||
"java": _2,
|
||
"jcb": _2,
|
||
"jeep": _2,
|
||
"jetzt": _2,
|
||
"jewelry": _2,
|
||
"jio": _2,
|
||
"jll": _2,
|
||
"jmp": _2,
|
||
"jnj": _2,
|
||
"joburg": _2,
|
||
"jot": _2,
|
||
"joy": _2,
|
||
"jpmorgan": _2,
|
||
"jprs": _2,
|
||
"juegos": _2,
|
||
"juniper": _2,
|
||
"kaufen": _2,
|
||
"kddi": _2,
|
||
"kerryhotels": _2,
|
||
"kerrylogistics": _2,
|
||
"kerryproperties": _2,
|
||
"kfh": _2,
|
||
"kia": _2,
|
||
"kids": _2,
|
||
"kim": _2,
|
||
"kinder": _2,
|
||
"kindle": _2,
|
||
"kitchen": _2,
|
||
"kiwi": _2,
|
||
"koeln": _2,
|
||
"komatsu": _2,
|
||
"kosher": _2,
|
||
"kpmg": _2,
|
||
"kpn": _2,
|
||
"krd": [1, {
|
||
"co": _3,
|
||
"edu": _3
|
||
}],
|
||
"kred": _2,
|
||
"kuokgroup": _2,
|
||
"kyoto": _2,
|
||
"lacaixa": _2,
|
||
"lamborghini": _2,
|
||
"lamer": _2,
|
||
"lancaster": _2,
|
||
"land": [1, {
|
||
"static": [2, {
|
||
"dev": _3,
|
||
"sites": _3
|
||
}]
|
||
}],
|
||
"landrover": _2,
|
||
"lanxess": _2,
|
||
"lasalle": _2,
|
||
"lat": _2,
|
||
"latino": _2,
|
||
"latrobe": _2,
|
||
"law": _2,
|
||
"lawyer": _2,
|
||
"lds": _2,
|
||
"lease": _2,
|
||
"leclerc": _2,
|
||
"lefrak": _2,
|
||
"legal": _2,
|
||
"lego": _2,
|
||
"lexus": _2,
|
||
"lgbt": _2,
|
||
"lidl": _2,
|
||
"life": _2,
|
||
"lifeinsurance": _2,
|
||
"lifestyle": _2,
|
||
"lighting": _2,
|
||
"like": _2,
|
||
"lilly": _2,
|
||
"limited": _2,
|
||
"limo": _2,
|
||
"lincoln": _2,
|
||
"link": [1, {
|
||
"cyon": _3,
|
||
"mypep": _3,
|
||
"dweb": _5
|
||
}],
|
||
"lipsy": _2,
|
||
"live": [1, {
|
||
"hlx": _3
|
||
}],
|
||
"living": _2,
|
||
"llc": _2,
|
||
"llp": _2,
|
||
"loan": _2,
|
||
"loans": _2,
|
||
"locker": _2,
|
||
"locus": _2,
|
||
"lol": [1, {
|
||
"omg": _3
|
||
}],
|
||
"london": _2,
|
||
"lotte": _2,
|
||
"lotto": _2,
|
||
"love": _2,
|
||
"lpl": _2,
|
||
"lplfinancial": _2,
|
||
"ltd": _2,
|
||
"ltda": _2,
|
||
"lundbeck": _2,
|
||
"luxe": _2,
|
||
"luxury": _2,
|
||
"madrid": _2,
|
||
"maif": _2,
|
||
"maison": _2,
|
||
"makeup": _2,
|
||
"man": _2,
|
||
"management": [1, {
|
||
"router": _3
|
||
}],
|
||
"mango": _2,
|
||
"map": _2,
|
||
"market": _2,
|
||
"marketing": _2,
|
||
"markets": _2,
|
||
"marriott": _2,
|
||
"marshalls": _2,
|
||
"mattel": _2,
|
||
"mba": _2,
|
||
"mckinsey": _2,
|
||
"med": _2,
|
||
"media": _37,
|
||
"meet": _2,
|
||
"melbourne": _2,
|
||
"meme": _2,
|
||
"memorial": _2,
|
||
"men": _2,
|
||
"menu": _38,
|
||
"merckmsd": _2,
|
||
"miami": _2,
|
||
"microsoft": _2,
|
||
"mini": _2,
|
||
"mint": _2,
|
||
"mit": _2,
|
||
"mitsubishi": _2,
|
||
"mlb": _2,
|
||
"mls": _2,
|
||
"mma": _2,
|
||
"mobile": _2,
|
||
"moda": _2,
|
||
"moe": _2,
|
||
"moi": _2,
|
||
"mom": _2,
|
||
"monash": _2,
|
||
"money": _2,
|
||
"monster": _2,
|
||
"mormon": _2,
|
||
"mortgage": _2,
|
||
"moscow": _2,
|
||
"moto": _2,
|
||
"motorcycles": _2,
|
||
"mov": _2,
|
||
"movie": _2,
|
||
"msd": _2,
|
||
"mtn": _2,
|
||
"mtr": _2,
|
||
"music": _2,
|
||
"nab": _2,
|
||
"nagoya": _2,
|
||
"natura": _2,
|
||
"navy": _2,
|
||
"nba": _2,
|
||
"nec": _2,
|
||
"netbank": _2,
|
||
"netflix": _2,
|
||
"network": [1, {
|
||
"alces": _5,
|
||
"co": _3,
|
||
"arvo": _3,
|
||
"azimuth": _3,
|
||
"tlon": _3
|
||
}],
|
||
"neustar": _2,
|
||
"new": _2,
|
||
"news": [1, {
|
||
"noticeable": _3
|
||
}],
|
||
"next": _2,
|
||
"nextdirect": _2,
|
||
"nexus": _2,
|
||
"nfl": _2,
|
||
"ngo": _2,
|
||
"nhk": _2,
|
||
"nico": _2,
|
||
"nike": _2,
|
||
"nikon": _2,
|
||
"ninja": _2,
|
||
"nissan": _2,
|
||
"nissay": _2,
|
||
"nokia": _2,
|
||
"norton": _2,
|
||
"now": _2,
|
||
"nowruz": _2,
|
||
"nowtv": _2,
|
||
"nra": _2,
|
||
"nrw": _2,
|
||
"ntt": _2,
|
||
"nyc": _2,
|
||
"obi": _2,
|
||
"observer": _2,
|
||
"office": _2,
|
||
"okinawa": _2,
|
||
"olayan": _2,
|
||
"olayangroup": _2,
|
||
"oldnavy": _2,
|
||
"ollo": _2,
|
||
"omega": _2,
|
||
"one": [1, {
|
||
"onred": [2, {
|
||
"staging": _3
|
||
}],
|
||
"service": _3,
|
||
"homelink": _3
|
||
}],
|
||
"ong": _2,
|
||
"onl": _2,
|
||
"online": [1, {
|
||
"eero": _3,
|
||
"eero-stage": _3,
|
||
"barsy": _3
|
||
}],
|
||
"ooo": _2,
|
||
"open": _2,
|
||
"oracle": _2,
|
||
"orange": [1, {
|
||
"tech": _3
|
||
}],
|
||
"organic": _2,
|
||
"origins": _2,
|
||
"osaka": _2,
|
||
"otsuka": _2,
|
||
"ott": _2,
|
||
"ovh": [1, {
|
||
"nerdpol": _3
|
||
}],
|
||
"page": [1, {
|
||
"hlx": _3,
|
||
"hlx3": _3,
|
||
"translated": _3,
|
||
"codeberg": _3,
|
||
"pdns": _3,
|
||
"plesk": _3,
|
||
"prvcy": _3,
|
||
"rocky": _3,
|
||
"magnet": _3
|
||
}],
|
||
"panasonic": _2,
|
||
"paris": _2,
|
||
"pars": _2,
|
||
"partners": _2,
|
||
"parts": _2,
|
||
"party": _31,
|
||
"pay": _2,
|
||
"pccw": _2,
|
||
"pet": _2,
|
||
"pfizer": _2,
|
||
"pharmacy": _2,
|
||
"phd": _2,
|
||
"philips": _2,
|
||
"phone": _2,
|
||
"photo": _2,
|
||
"photography": _2,
|
||
"photos": _37,
|
||
"physio": _2,
|
||
"pics": _2,
|
||
"pictet": _2,
|
||
"pictures": [1, {
|
||
"1337": _3
|
||
}],
|
||
"pid": _2,
|
||
"pin": _2,
|
||
"ping": _2,
|
||
"pink": _2,
|
||
"pioneer": _2,
|
||
"pizza": [1, {
|
||
"ngrok": _3
|
||
}],
|
||
"place": _10,
|
||
"play": _2,
|
||
"playstation": _2,
|
||
"plumbing": _2,
|
||
"plus": _2,
|
||
"pnc": _2,
|
||
"pohl": _2,
|
||
"poker": _2,
|
||
"politie": _2,
|
||
"porn": [1, {
|
||
"indie": _3
|
||
}],
|
||
"pramerica": _2,
|
||
"praxi": _2,
|
||
"press": _2,
|
||
"prime": _2,
|
||
"prod": _2,
|
||
"productions": _2,
|
||
"prof": _2,
|
||
"progressive": _2,
|
||
"promo": _2,
|
||
"properties": _2,
|
||
"property": _2,
|
||
"protection": _2,
|
||
"pru": _2,
|
||
"prudential": _2,
|
||
"pub": _38,
|
||
"pwc": _2,
|
||
"qpon": _2,
|
||
"quebec": _2,
|
||
"quest": _2,
|
||
"racing": _2,
|
||
"radio": _2,
|
||
"read": _2,
|
||
"realestate": _2,
|
||
"realtor": _2,
|
||
"realty": _2,
|
||
"recipes": _2,
|
||
"red": _2,
|
||
"redstone": _2,
|
||
"redumbrella": _2,
|
||
"rehab": _2,
|
||
"reise": _2,
|
||
"reisen": _2,
|
||
"reit": _2,
|
||
"reliance": _2,
|
||
"ren": _2,
|
||
"rent": _2,
|
||
"rentals": _2,
|
||
"repair": _2,
|
||
"report": _2,
|
||
"republican": _2,
|
||
"rest": _2,
|
||
"restaurant": _2,
|
||
"review": _31,
|
||
"reviews": _2,
|
||
"rexroth": _2,
|
||
"rich": _2,
|
||
"richardli": _2,
|
||
"ricoh": _2,
|
||
"ril": _2,
|
||
"rio": _2,
|
||
"rip": [1, {
|
||
"clan": _3
|
||
}],
|
||
"rocher": _2,
|
||
"rocks": [1, {
|
||
"myddns": _3,
|
||
"lima-city": _3,
|
||
"webspace": _3
|
||
}],
|
||
"rodeo": _2,
|
||
"rogers": _2,
|
||
"room": _2,
|
||
"rsvp": _2,
|
||
"rugby": _2,
|
||
"ruhr": _2,
|
||
"run": [1, {
|
||
"hs": _3,
|
||
"development": _3,
|
||
"ravendb": _3,
|
||
"servers": _3,
|
||
"build": _5,
|
||
"code": _5,
|
||
"database": _5,
|
||
"migration": _5,
|
||
"onporter": _3,
|
||
"repl": _3
|
||
}],
|
||
"rwe": _2,
|
||
"ryukyu": _2,
|
||
"saarland": _2,
|
||
"safe": _2,
|
||
"safety": _2,
|
||
"sakura": _2,
|
||
"sale": _2,
|
||
"salon": _2,
|
||
"samsclub": _2,
|
||
"samsung": _2,
|
||
"sandvik": _2,
|
||
"sandvikcoromant": _2,
|
||
"sanofi": _2,
|
||
"sap": _2,
|
||
"sarl": _2,
|
||
"sas": _2,
|
||
"save": _2,
|
||
"saxo": _2,
|
||
"sbi": _2,
|
||
"sbs": _2,
|
||
"sca": _2,
|
||
"scb": _2,
|
||
"schaeffler": _2,
|
||
"schmidt": _2,
|
||
"scholarships": _2,
|
||
"school": _2,
|
||
"schule": _2,
|
||
"schwarz": _2,
|
||
"science": _31,
|
||
"scot": [1, {
|
||
"edu": _3,
|
||
"gov": [2, {
|
||
"service": _3
|
||
}]
|
||
}],
|
||
"search": _2,
|
||
"seat": _2,
|
||
"secure": _2,
|
||
"security": _2,
|
||
"seek": _2,
|
||
"select": _2,
|
||
"sener": _2,
|
||
"services": [1, {
|
||
"loginline": _3
|
||
}],
|
||
"seven": _2,
|
||
"sew": _2,
|
||
"sex": _2,
|
||
"sexy": _2,
|
||
"sfr": _2,
|
||
"shangrila": _2,
|
||
"sharp": _2,
|
||
"shaw": _2,
|
||
"shell": _2,
|
||
"shia": _2,
|
||
"shiksha": _2,
|
||
"shoes": _2,
|
||
"shop": [1, {
|
||
"base": _3,
|
||
"hoplix": _3,
|
||
"barsy": _3
|
||
}],
|
||
"shopping": _2,
|
||
"shouji": _2,
|
||
"show": _2,
|
||
"showtime": _2,
|
||
"silk": _2,
|
||
"sina": _2,
|
||
"singles": _2,
|
||
"site": [1, {
|
||
"cloudera": _5,
|
||
"cyon": _3,
|
||
"fnwk": _3,
|
||
"folionetwork": _3,
|
||
"fastvps": _3,
|
||
"jele": _3,
|
||
"lelux": _3,
|
||
"loginline": _3,
|
||
"barsy": _3,
|
||
"mintere": _3,
|
||
"omniwe": _3,
|
||
"opensocial": _3,
|
||
"platformsh": _5,
|
||
"tst": _5,
|
||
"byen": _3,
|
||
"srht": _3,
|
||
"novecore": _3
|
||
}],
|
||
"ski": _2,
|
||
"skin": _2,
|
||
"sky": _2,
|
||
"skype": _2,
|
||
"sling": _2,
|
||
"smart": _2,
|
||
"smile": _2,
|
||
"sncf": _2,
|
||
"soccer": _2,
|
||
"social": _2,
|
||
"softbank": _2,
|
||
"software": _2,
|
||
"sohu": _2,
|
||
"solar": _2,
|
||
"solutions": [1, {
|
||
"diher": _5
|
||
}],
|
||
"song": _2,
|
||
"sony": _2,
|
||
"soy": _2,
|
||
"spa": _2,
|
||
"space": [1, {
|
||
"myfast": _3,
|
||
"uber": _3,
|
||
"xs4all": _3
|
||
}],
|
||
"sport": _2,
|
||
"spot": _2,
|
||
"srl": _2,
|
||
"stada": _2,
|
||
"staples": _2,
|
||
"star": _2,
|
||
"statebank": _2,
|
||
"statefarm": _2,
|
||
"stc": _2,
|
||
"stcgroup": _2,
|
||
"stockholm": _2,
|
||
"storage": _2,
|
||
"store": [1, {
|
||
"sellfy": _3,
|
||
"shopware": _3,
|
||
"storebase": _3
|
||
}],
|
||
"stream": _2,
|
||
"studio": _2,
|
||
"study": _2,
|
||
"style": _2,
|
||
"sucks": _2,
|
||
"supplies": _2,
|
||
"supply": _2,
|
||
"support": _38,
|
||
"surf": _2,
|
||
"surgery": _2,
|
||
"suzuki": _2,
|
||
"swatch": _2,
|
||
"swiss": _2,
|
||
"sydney": _2,
|
||
"systems": [1, {
|
||
"knightpoint": _3
|
||
}],
|
||
"tab": _2,
|
||
"taipei": _2,
|
||
"talk": _2,
|
||
"taobao": _2,
|
||
"target": _2,
|
||
"tatamotors": _2,
|
||
"tatar": _2,
|
||
"tattoo": _2,
|
||
"tax": _2,
|
||
"taxi": _2,
|
||
"tci": _2,
|
||
"tdk": _2,
|
||
"team": [1, {
|
||
"discourse": _3,
|
||
"jelastic": _3
|
||
}],
|
||
"tech": _2,
|
||
"technology": _10,
|
||
"temasek": _2,
|
||
"tennis": _2,
|
||
"teva": _2,
|
||
"thd": _2,
|
||
"theater": _2,
|
||
"theatre": _2,
|
||
"tiaa": _2,
|
||
"tickets": _2,
|
||
"tienda": _2,
|
||
"tips": _2,
|
||
"tires": _2,
|
||
"tirol": _2,
|
||
"tjmaxx": _2,
|
||
"tjx": _2,
|
||
"tkmaxx": _2,
|
||
"tmall": _2,
|
||
"today": [1, {
|
||
"prequalifyme": _3
|
||
}],
|
||
"tokyo": _2,
|
||
"tools": _2,
|
||
"top": [1, {
|
||
"now-dns": _3,
|
||
"ntdll": _3
|
||
}],
|
||
"toray": _2,
|
||
"toshiba": _2,
|
||
"total": _2,
|
||
"tours": _2,
|
||
"town": _2,
|
||
"toyota": _2,
|
||
"toys": _2,
|
||
"trade": _31,
|
||
"trading": _2,
|
||
"training": _2,
|
||
"travel": _2,
|
||
"travelers": _2,
|
||
"travelersinsurance": _2,
|
||
"trust": _2,
|
||
"trv": _2,
|
||
"tube": _2,
|
||
"tui": _2,
|
||
"tunes": _2,
|
||
"tushu": _2,
|
||
"tvs": _2,
|
||
"ubank": _2,
|
||
"ubs": _2,
|
||
"unicom": _2,
|
||
"university": _2,
|
||
"uno": _2,
|
||
"uol": _2,
|
||
"ups": _2,
|
||
"vacations": _2,
|
||
"vana": _2,
|
||
"vanguard": _2,
|
||
"vegas": _2,
|
||
"ventures": _2,
|
||
"verisign": _2,
|
||
"versicherung": _2,
|
||
"vet": _2,
|
||
"viajes": _2,
|
||
"video": _2,
|
||
"vig": _2,
|
||
"viking": _2,
|
||
"villas": _2,
|
||
"vin": _2,
|
||
"vip": _2,
|
||
"virgin": _2,
|
||
"visa": _2,
|
||
"vision": _2,
|
||
"viva": _2,
|
||
"vivo": _2,
|
||
"vlaanderen": _2,
|
||
"vodka": _2,
|
||
"volkswagen": _2,
|
||
"volvo": _2,
|
||
"vote": _2,
|
||
"voting": _2,
|
||
"voto": _2,
|
||
"voyage": _2,
|
||
"wales": _2,
|
||
"walmart": _2,
|
||
"walter": _2,
|
||
"wang": _2,
|
||
"wanggou": _2,
|
||
"watch": _2,
|
||
"watches": _2,
|
||
"weather": _2,
|
||
"weatherchannel": _2,
|
||
"webcam": _2,
|
||
"weber": _2,
|
||
"website": _37,
|
||
"wedding": _2,
|
||
"weibo": _2,
|
||
"weir": _2,
|
||
"whoswho": _2,
|
||
"wien": _2,
|
||
"wiki": _37,
|
||
"williamhill": _2,
|
||
"win": _2,
|
||
"windows": _2,
|
||
"wine": _2,
|
||
"winners": _2,
|
||
"wme": _2,
|
||
"wolterskluwer": _2,
|
||
"woodside": _2,
|
||
"work": _2,
|
||
"works": _2,
|
||
"world": _2,
|
||
"wow": _2,
|
||
"wtc": _2,
|
||
"wtf": _2,
|
||
"xbox": _2,
|
||
"xerox": _2,
|
||
"xfinity": _2,
|
||
"xihuan": _2,
|
||
"xin": _2,
|
||
"xn--11b4c3d": _2,
|
||
"कॉम": _2,
|
||
"xn--1ck2e1b": _2,
|
||
"セール": _2,
|
||
"xn--1qqw23a": _2,
|
||
"佛山": _2,
|
||
"xn--30rr7y": _2,
|
||
"慈善": _2,
|
||
"xn--3bst00m": _2,
|
||
"集团": _2,
|
||
"xn--3ds443g": _2,
|
||
"在线": _2,
|
||
"xn--3pxu8k": _2,
|
||
"点看": _2,
|
||
"xn--42c2d9a": _2,
|
||
"คอม": _2,
|
||
"xn--45q11c": _2,
|
||
"八卦": _2,
|
||
"xn--4gbrim": _2,
|
||
"موقع": _2,
|
||
"xn--55qw42g": _2,
|
||
"公益": _2,
|
||
"xn--55qx5d": _2,
|
||
"公司": _2,
|
||
"xn--5su34j936bgsg": _2,
|
||
"香格里拉": _2,
|
||
"xn--5tzm5g": _2,
|
||
"网站": _2,
|
||
"xn--6frz82g": _2,
|
||
"移动": _2,
|
||
"xn--6qq986b3xl": _2,
|
||
"我爱你": _2,
|
||
"xn--80adxhks": _2,
|
||
"москва": _2,
|
||
"xn--80aqecdr1a": _2,
|
||
"католик": _2,
|
||
"xn--80asehdb": _2,
|
||
"онлайн": _2,
|
||
"xn--80aswg": _2,
|
||
"сайт": _2,
|
||
"xn--8y0a063a": _2,
|
||
"联通": _2,
|
||
"xn--9dbq2a": _2,
|
||
"קום": _2,
|
||
"xn--9et52u": _2,
|
||
"时尚": _2,
|
||
"xn--9krt00a": _2,
|
||
"微博": _2,
|
||
"xn--b4w605ferd": _2,
|
||
"淡马锡": _2,
|
||
"xn--bck1b9a5dre4c": _2,
|
||
"ファッション": _2,
|
||
"xn--c1avg": _2,
|
||
"орг": _2,
|
||
"xn--c2br7g": _2,
|
||
"नेट": _2,
|
||
"xn--cck2b3b": _2,
|
||
"ストア": _2,
|
||
"xn--cckwcxetd": _2,
|
||
"アマゾン": _2,
|
||
"xn--cg4bki": _2,
|
||
"삼성": _2,
|
||
"xn--czr694b": _2,
|
||
"商标": _2,
|
||
"xn--czrs0t": _2,
|
||
"商店": _2,
|
||
"xn--czru2d": _2,
|
||
"商城": _2,
|
||
"xn--d1acj3b": _2,
|
||
"дети": _2,
|
||
"xn--eckvdtc9d": _2,
|
||
"ポイント": _2,
|
||
"xn--efvy88h": _2,
|
||
"新闻": _2,
|
||
"xn--fct429k": _2,
|
||
"家電": _2,
|
||
"xn--fhbei": _2,
|
||
"كوم": _2,
|
||
"xn--fiq228c5hs": _2,
|
||
"中文网": _2,
|
||
"xn--fiq64b": _2,
|
||
"中信": _2,
|
||
"xn--fjq720a": _2,
|
||
"娱乐": _2,
|
||
"xn--flw351e": _2,
|
||
"谷歌": _2,
|
||
"xn--fzys8d69uvgm": _2,
|
||
"電訊盈科": _2,
|
||
"xn--g2xx48c": _2,
|
||
"购物": _2,
|
||
"xn--gckr3f0f": _2,
|
||
"クラウド": _2,
|
||
"xn--gk3at1e": _2,
|
||
"通販": _2,
|
||
"xn--hxt814e": _2,
|
||
"网店": _2,
|
||
"xn--i1b6b1a6a2e": _2,
|
||
"संगठन": _2,
|
||
"xn--imr513n": _2,
|
||
"餐厅": _2,
|
||
"xn--io0a7i": _2,
|
||
"网络": _2,
|
||
"xn--j1aef": _2,
|
||
"ком": _2,
|
||
"xn--jlq480n2rg": _2,
|
||
"亚马逊": _2,
|
||
"xn--jvr189m": _2,
|
||
"食品": _2,
|
||
"xn--kcrx77d1x4a": _2,
|
||
"飞利浦": _2,
|
||
"xn--kput3i": _2,
|
||
"手机": _2,
|
||
"xn--mgba3a3ejt": _2,
|
||
"ارامكو": _2,
|
||
"xn--mgba7c0bbn0a": _2,
|
||
"العليان": _2,
|
||
"xn--mgbaakc7dvf": _2,
|
||
"اتصالات": _2,
|
||
"xn--mgbab2bd": _2,
|
||
"بازار": _2,
|
||
"xn--mgbca7dzdo": _2,
|
||
"ابوظبي": _2,
|
||
"xn--mgbi4ecexp": _2,
|
||
"كاثوليك": _2,
|
||
"xn--mgbt3dhd": _2,
|
||
"همراه": _2,
|
||
"xn--mk1bu44c": _2,
|
||
"닷컴": _2,
|
||
"xn--mxtq1m": _2,
|
||
"政府": _2,
|
||
"xn--ngbc5azd": _2,
|
||
"شبكة": _2,
|
||
"xn--ngbe9e0a": _2,
|
||
"بيتك": _2,
|
||
"xn--ngbrx": _2,
|
||
"عرب": _2,
|
||
"xn--nqv7f": _2,
|
||
"机构": _2,
|
||
"xn--nqv7fs00ema": _2,
|
||
"组织机构": _2,
|
||
"xn--nyqy26a": _2,
|
||
"健康": _2,
|
||
"xn--otu796d": _2,
|
||
"招聘": _2,
|
||
"xn--p1acf": [1, {
|
||
"xn--90amc": _3,
|
||
"xn--j1aef": _3,
|
||
"xn--j1ael8b": _3,
|
||
"xn--h1ahn": _3,
|
||
"xn--j1adp": _3,
|
||
"xn--c1avg": _3,
|
||
"xn--80aaa0cvac": _3,
|
||
"xn--h1aliz": _3,
|
||
"xn--90a1af": _3,
|
||
"xn--41a": _3
|
||
}],
|
||
"рус": [1, {
|
||
"биз": _3,
|
||
"ком": _3,
|
||
"крым": _3,
|
||
"мир": _3,
|
||
"мск": _3,
|
||
"орг": _3,
|
||
"самара": _3,
|
||
"сочи": _3,
|
||
"спб": _3,
|
||
"я": _3
|
||
}],
|
||
"xn--pssy2u": _2,
|
||
"大拿": _2,
|
||
"xn--q9jyb4c": _2,
|
||
"みんな": _2,
|
||
"xn--qcka1pmc": _2,
|
||
"グーグル": _2,
|
||
"xn--rhqv96g": _2,
|
||
"世界": _2,
|
||
"xn--rovu88b": _2,
|
||
"書籍": _2,
|
||
"xn--ses554g": _2,
|
||
"网址": _2,
|
||
"xn--t60b56a": _2,
|
||
"닷넷": _2,
|
||
"xn--tckwe": _2,
|
||
"コム": _2,
|
||
"xn--tiq49xqyj": _2,
|
||
"天主教": _2,
|
||
"xn--unup4y": _2,
|
||
"游戏": _2,
|
||
"xn--vermgensberater-ctb": _2,
|
||
"vermögensberater": _2,
|
||
"xn--vermgensberatung-pwb": _2,
|
||
"vermögensberatung": _2,
|
||
"xn--vhquv": _2,
|
||
"企业": _2,
|
||
"xn--vuq861b": _2,
|
||
"信息": _2,
|
||
"xn--w4r85el8fhu5dnra": _2,
|
||
"嘉里大酒店": _2,
|
||
"xn--w4rs40l": _2,
|
||
"嘉里": _2,
|
||
"xn--xhq521b": _2,
|
||
"广东": _2,
|
||
"xn--zfr164b": _2,
|
||
"政务": _2,
|
||
"xyz": [1, {
|
||
"blogsite": _3,
|
||
"localzone": _3,
|
||
"crafting": _3,
|
||
"zapto": _3,
|
||
"telebit": _5
|
||
}],
|
||
"yachts": _2,
|
||
"yahoo": _2,
|
||
"yamaxun": _2,
|
||
"yandex": _2,
|
||
"yodobashi": _2,
|
||
"yoga": _2,
|
||
"yokohama": _2,
|
||
"you": _2,
|
||
"youtube": _2,
|
||
"yun": _2,
|
||
"zappos": _2,
|
||
"zara": _2,
|
||
"zero": _2,
|
||
"zip": _2,
|
||
"zone": [1, {
|
||
"cloud66": _3,
|
||
"hs": _3,
|
||
"triton": _5,
|
||
"lima": _3
|
||
}],
|
||
"zuerich": _2
|
||
}];
|
||
return rules;
|
||
}();
|
||
;// CONCATENATED MODULE: ../../node_modules/tldts/dist/es6/src/suffix-trie.js
|
||
|
||
|
||
/**
|
||
* Lookup parts of domain in Trie
|
||
*/
|
||
function lookupInTrie(parts, trie, index, allowedMask) {
|
||
let result = null;
|
||
let node = trie;
|
||
while (node !== undefined) {
|
||
// We have a match!
|
||
if ((node[0] & allowedMask) !== 0) {
|
||
result = {
|
||
index: index + 1,
|
||
isIcann: node[0] === 1 /* RULE_TYPE.ICANN */,
|
||
isPrivate: node[0] === 2 /* RULE_TYPE.PRIVATE */
|
||
};
|
||
}
|
||
// No more `parts` to look for
|
||
if (index === -1) {
|
||
break;
|
||
}
|
||
const succ = node[1];
|
||
node = Object.prototype.hasOwnProperty.call(succ, parts[index]) ? succ[parts[index]] : succ['*'];
|
||
index -= 1;
|
||
}
|
||
return result;
|
||
}
|
||
/**
|
||
* Check if `hostname` has a valid public suffix in `trie`.
|
||
*/
|
||
function suffix_trie_suffixLookup(hostname, options, out) {
|
||
var _a;
|
||
if (fast_path(hostname, options, out)) {
|
||
return;
|
||
}
|
||
const hostnameParts = hostname.split('.');
|
||
const allowedMask = (options.allowPrivateDomains ? 2 /* RULE_TYPE.PRIVATE */ : 0) | (options.allowIcannDomains ? 1 /* RULE_TYPE.ICANN */ : 0);
|
||
// Look for exceptions
|
||
const exceptionMatch = lookupInTrie(hostnameParts, exceptions, hostnameParts.length - 1, allowedMask);
|
||
if (exceptionMatch !== null) {
|
||
out.isIcann = exceptionMatch.isIcann;
|
||
out.isPrivate = exceptionMatch.isPrivate;
|
||
out.publicSuffix = hostnameParts.slice(exceptionMatch.index + 1).join('.');
|
||
return;
|
||
}
|
||
// Look for a match in rules
|
||
const rulesMatch = lookupInTrie(hostnameParts, rules, hostnameParts.length - 1, allowedMask);
|
||
if (rulesMatch !== null) {
|
||
out.isIcann = rulesMatch.isIcann;
|
||
out.isPrivate = rulesMatch.isPrivate;
|
||
out.publicSuffix = hostnameParts.slice(rulesMatch.index).join('.');
|
||
return;
|
||
}
|
||
// No match found...
|
||
// Prevailing rule is '*' so we consider the top-level domain to be the
|
||
// public suffix of `hostname` (e.g.: 'example.org' => 'org').
|
||
out.isIcann = false;
|
||
out.isPrivate = false;
|
||
out.publicSuffix = (_a = hostnameParts[hostnameParts.length - 1]) !== null && _a !== void 0 ? _a : null;
|
||
}
|
||
;// CONCATENATED MODULE: ../../node_modules/tldts/dist/es6/index.js
|
||
|
||
|
||
// For all methods but 'parse', it does not make sense to allocate an object
|
||
// every single time to only return the value of a specific attribute. To avoid
|
||
// this un-necessary allocation, we use a global object which is re-used.
|
||
const RESULT = getEmptyResult();
|
||
function parse(url, options = {}) {
|
||
return factory_parseImpl(url, 5 /* FLAG.ALL */, suffix_trie_suffixLookup, options, getEmptyResult());
|
||
}
|
||
function getHostname(url, options = {}) {
|
||
/*@__INLINE__*/factory_resetResult(RESULT);
|
||
return factory_parseImpl(url, 0 /* FLAG.HOSTNAME */, suffix_trie_suffixLookup, options, RESULT).hostname;
|
||
}
|
||
function getPublicSuffix(url, options = {}) {
|
||
/*@__INLINE__*/resetResult(RESULT);
|
||
return parseImpl(url, 2 /* FLAG.PUBLIC_SUFFIX */, suffixLookup, options, RESULT).publicSuffix;
|
||
}
|
||
function es6_getDomain(url, options = {}) {
|
||
/*@__INLINE__*/resetResult(RESULT);
|
||
return parseImpl(url, 3 /* FLAG.DOMAIN */, suffixLookup, options, RESULT).domain;
|
||
}
|
||
function es6_getSubdomain(url, options = {}) {
|
||
/*@__INLINE__*/resetResult(RESULT);
|
||
return parseImpl(url, 4 /* FLAG.SUB_DOMAIN */, suffixLookup, options, RESULT).subdomain;
|
||
}
|
||
function es6_getDomainWithoutSuffix(url, options = {}) {
|
||
/*@__INLINE__*/resetResult(RESULT);
|
||
return parseImpl(url, 5 /* FLAG.ALL */, suffixLookup, options, RESULT).domainWithoutSuffix;
|
||
}
|
||
;// CONCATENATED MODULE: ../../libs/common/src/platform/misc/utils.ts
|
||
/* provided dependency */ var utils_process = __webpack_require__(71624);
|
||
/* eslint-disable no-useless-escape */
|
||
|
||
|
||
|
||
const nodeURL = typeof window === "undefined" ? __webpack_require__(69573) : null;
|
||
class Utils {
|
||
static init() {
|
||
if (Utils.inited) {
|
||
return;
|
||
}
|
||
Utils.inited = true;
|
||
Utils.isNode =
|
||
typeof utils_process !== "undefined" &&
|
||
utils_process.release != null &&
|
||
utils_process.release.name === "node";
|
||
Utils.isBrowser = typeof window !== "undefined";
|
||
Utils.isMobileBrowser = Utils.isBrowser && this.isMobile(window);
|
||
Utils.isAppleMobileBrowser = Utils.isBrowser && this.isAppleMobile(window);
|
||
if (Utils.isNode) {
|
||
Utils.global = __webpack_require__.g;
|
||
}
|
||
else if (Utils.isBrowser) {
|
||
Utils.global = window;
|
||
}
|
||
else {
|
||
// If it's not browser or node then it must be a service worker
|
||
Utils.global = self;
|
||
}
|
||
}
|
||
static fromB64ToArray(str) {
|
||
if (str == null) {
|
||
return null;
|
||
}
|
||
if (Utils.isNode) {
|
||
return new Uint8Array(Buffer.from(str, "base64"));
|
||
}
|
||
else {
|
||
const binaryString = Utils.global.atob(str);
|
||
const bytes = new Uint8Array(binaryString.length);
|
||
for (let i = 0; i < binaryString.length; i++) {
|
||
bytes[i] = binaryString.charCodeAt(i);
|
||
}
|
||
return bytes;
|
||
}
|
||
}
|
||
static fromUrlB64ToArray(str) {
|
||
return Utils.fromB64ToArray(Utils.fromUrlB64ToB64(str));
|
||
}
|
||
static fromHexToArray(str) {
|
||
if (Utils.isNode) {
|
||
return new Uint8Array(Buffer.from(str, "hex"));
|
||
}
|
||
else {
|
||
const bytes = new Uint8Array(str.length / 2);
|
||
for (let i = 0; i < str.length; i += 2) {
|
||
bytes[i / 2] = parseInt(str.substr(i, 2), 16);
|
||
}
|
||
return bytes;
|
||
}
|
||
}
|
||
static fromUtf8ToArray(str) {
|
||
if (Utils.isNode) {
|
||
return new Uint8Array(Buffer.from(str, "utf8"));
|
||
}
|
||
else {
|
||
const strUtf8 = unescape(encodeURIComponent(str));
|
||
const arr = new Uint8Array(strUtf8.length);
|
||
for (let i = 0; i < strUtf8.length; i++) {
|
||
arr[i] = strUtf8.charCodeAt(i);
|
||
}
|
||
return arr;
|
||
}
|
||
}
|
||
static fromByteStringToArray(str) {
|
||
if (str == null) {
|
||
return null;
|
||
}
|
||
const arr = new Uint8Array(str.length);
|
||
for (let i = 0; i < str.length; i++) {
|
||
arr[i] = str.charCodeAt(i);
|
||
}
|
||
return arr;
|
||
}
|
||
static fromBufferToB64(buffer) {
|
||
if (buffer == null) {
|
||
return null;
|
||
}
|
||
if (Utils.isNode) {
|
||
return Buffer.from(buffer).toString("base64");
|
||
}
|
||
else {
|
||
let binary = "";
|
||
const bytes = new Uint8Array(buffer);
|
||
for (let i = 0; i < bytes.byteLength; i++) {
|
||
binary += String.fromCharCode(bytes[i]);
|
||
}
|
||
return Utils.global.btoa(binary);
|
||
}
|
||
}
|
||
static fromBufferToUrlB64(buffer) {
|
||
return Utils.fromB64toUrlB64(Utils.fromBufferToB64(buffer));
|
||
}
|
||
static fromB64toUrlB64(b64Str) {
|
||
return b64Str.replace(/\+/g, "-").replace(/\//g, "_").replace(/=/g, "");
|
||
}
|
||
static fromBufferToUtf8(buffer) {
|
||
if (Utils.isNode) {
|
||
return Buffer.from(buffer).toString("utf8");
|
||
}
|
||
else {
|
||
const bytes = new Uint8Array(buffer);
|
||
const encodedString = String.fromCharCode.apply(null, bytes);
|
||
return decodeURIComponent(escape(encodedString));
|
||
}
|
||
}
|
||
static fromBufferToByteString(buffer) {
|
||
return String.fromCharCode.apply(null, new Uint8Array(buffer));
|
||
}
|
||
// ref: https://stackoverflow.com/a/40031979/1090359
|
||
static fromBufferToHex(buffer) {
|
||
if (Utils.isNode) {
|
||
return Buffer.from(buffer).toString("hex");
|
||
}
|
||
else {
|
||
const bytes = new Uint8Array(buffer);
|
||
return Array.prototype.map
|
||
.call(bytes, (x) => ("00" + x.toString(16)).slice(-2))
|
||
.join("");
|
||
}
|
||
}
|
||
static fromUrlB64ToB64(urlB64Str) {
|
||
let output = urlB64Str.replace(/-/g, "+").replace(/_/g, "/");
|
||
switch (output.length % 4) {
|
||
case 0:
|
||
break;
|
||
case 2:
|
||
output += "==";
|
||
break;
|
||
case 3:
|
||
output += "=";
|
||
break;
|
||
default:
|
||
throw new Error("Illegal base64url string!");
|
||
}
|
||
return output;
|
||
}
|
||
static fromUrlB64ToUtf8(urlB64Str) {
|
||
return Utils.fromB64ToUtf8(Utils.fromUrlB64ToB64(urlB64Str));
|
||
}
|
||
static fromUtf8ToB64(utfStr) {
|
||
if (Utils.isNode) {
|
||
return Buffer.from(utfStr, "utf8").toString("base64");
|
||
}
|
||
else {
|
||
return decodeURIComponent(escape(Utils.global.btoa(utfStr)));
|
||
}
|
||
}
|
||
static fromUtf8ToUrlB64(utfStr) {
|
||
return Utils.fromBufferToUrlB64(Utils.fromUtf8ToArray(utfStr));
|
||
}
|
||
static fromB64ToUtf8(b64Str) {
|
||
if (Utils.isNode) {
|
||
return Buffer.from(b64Str, "base64").toString("utf8");
|
||
}
|
||
else {
|
||
return decodeURIComponent(escape(Utils.global.atob(b64Str)));
|
||
}
|
||
}
|
||
// ref: http://stackoverflow.com/a/2117523/1090359
|
||
static newGuid() {
|
||
return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (c) => {
|
||
const r = (Math.random() * 16) | 0;
|
||
const v = c === "x" ? r : (r & 0x3) | 0x8;
|
||
return v.toString(16);
|
||
});
|
||
}
|
||
static isGuid(id) {
|
||
return RegExp(/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/, "i").test(id);
|
||
}
|
||
static getHostname(uriString) {
|
||
if (Utils.isNullOrWhitespace(uriString)) {
|
||
return null;
|
||
}
|
||
uriString = uriString.trim();
|
||
if (uriString.startsWith("data:")) {
|
||
return null;
|
||
}
|
||
if (uriString.startsWith("about:")) {
|
||
return null;
|
||
}
|
||
if (uriString.startsWith("file:")) {
|
||
return null;
|
||
}
|
||
// Does uriString contain invalid characters
|
||
// TODO Needs to possibly be extended, although '!' is a reserved character
|
||
if (uriString.indexOf("!") > 0) {
|
||
return null;
|
||
}
|
||
try {
|
||
const hostname = getHostname(uriString, { validHosts: this.validHosts });
|
||
if (hostname != null) {
|
||
return hostname;
|
||
}
|
||
}
|
||
catch (_a) {
|
||
return null;
|
||
}
|
||
return null;
|
||
}
|
||
static getHost(uriString) {
|
||
const url = Utils.getUrl(uriString);
|
||
try {
|
||
return url != null && url.host !== "" ? url.host : null;
|
||
}
|
||
catch (_a) {
|
||
return null;
|
||
}
|
||
}
|
||
static getDomain(uriString) {
|
||
if (Utils.isNullOrWhitespace(uriString)) {
|
||
return null;
|
||
}
|
||
uriString = uriString.trim();
|
||
if (uriString.startsWith("data:")) {
|
||
return null;
|
||
}
|
||
if (uriString.startsWith("about:")) {
|
||
return null;
|
||
}
|
||
try {
|
||
const parseResult = parse(uriString, { validHosts: this.validHosts });
|
||
if (parseResult != null && parseResult.hostname != null) {
|
||
if (parseResult.hostname === "localhost" || parseResult.isIp) {
|
||
return parseResult.hostname;
|
||
}
|
||
if (parseResult.domain != null) {
|
||
return parseResult.domain;
|
||
}
|
||
return null;
|
||
}
|
||
}
|
||
catch (_a) {
|
||
return null;
|
||
}
|
||
return null;
|
||
}
|
||
static getQueryParams(uriString) {
|
||
const url = Utils.getUrl(uriString);
|
||
if (url == null || url.search == null || url.search === "") {
|
||
return null;
|
||
}
|
||
const map = new Map();
|
||
const pairs = (url.search[0] === "?" ? url.search.substr(1) : url.search).split("&");
|
||
pairs.forEach((pair) => {
|
||
const parts = pair.split("=");
|
||
if (parts.length < 1) {
|
||
return;
|
||
}
|
||
map.set(decodeURIComponent(parts[0]).toLowerCase(), parts[1] == null ? "" : decodeURIComponent(parts[1]));
|
||
});
|
||
return map;
|
||
}
|
||
static getSortFunction(i18nService, prop) {
|
||
return (a, b) => {
|
||
if (a[prop] == null && b[prop] != null) {
|
||
return -1;
|
||
}
|
||
if (a[prop] != null && b[prop] == null) {
|
||
return 1;
|
||
}
|
||
if (a[prop] == null && b[prop] == null) {
|
||
return 0;
|
||
}
|
||
// The `as unknown as string` here is unfortunate because typescript doesn't property understand that the return of T[prop] will be a string
|
||
return i18nService.collator
|
||
? i18nService.collator.compare(a[prop], b[prop])
|
||
: a[prop].localeCompare(b[prop]);
|
||
};
|
||
}
|
||
static isNullOrWhitespace(str) {
|
||
return str == null || typeof str !== "string" || str.trim() === "";
|
||
}
|
||
static isNullOrEmpty(str) {
|
||
return str == null || typeof str !== "string" || str == "";
|
||
}
|
||
static isPromise(obj) {
|
||
return (obj != undefined && typeof obj["then"] === "function" && typeof obj["catch"] === "function");
|
||
}
|
||
static nameOf(name) {
|
||
return name;
|
||
}
|
||
static assign(target, source) {
|
||
return Object.assign(target, source);
|
||
}
|
||
static iterateEnum(obj) {
|
||
return Object.keys(obj).filter((k) => Number.isNaN(+k)).map((k) => obj[k]);
|
||
}
|
||
static getUrl(uriString) {
|
||
if (this.isNullOrWhitespace(uriString)) {
|
||
return null;
|
||
}
|
||
uriString = uriString.trim();
|
||
return Utils.getUrlObject(uriString);
|
||
}
|
||
static camelToPascalCase(s) {
|
||
return s.charAt(0).toUpperCase() + s.slice(1);
|
||
}
|
||
/**
|
||
* There are a few ways to calculate text color for contrast, this one seems to fit accessibility guidelines best.
|
||
* https://stackoverflow.com/a/3943023/6869691
|
||
*
|
||
* @param {string} bgColor
|
||
* @param {number} [threshold] see stackoverflow link above
|
||
* @param {boolean} [svgTextFill]
|
||
* Indicates if this method is performed on an SVG <text> 'fill' attribute (e.g. <text fill="black"></text>).
|
||
* This check is necessary because the '!important' tag cannot be used in a 'fill' attribute.
|
||
*/
|
||
static pickTextColorBasedOnBgColor(bgColor, threshold = 186, svgTextFill = false) {
|
||
const bgColorHexNums = bgColor.charAt(0) === "#" ? bgColor.substring(1, 7) : bgColor;
|
||
const r = parseInt(bgColorHexNums.substring(0, 2), 16); // hexToR
|
||
const g = parseInt(bgColorHexNums.substring(2, 4), 16); // hexToG
|
||
const b = parseInt(bgColorHexNums.substring(4, 6), 16); // hexToB
|
||
const blackColor = svgTextFill ? "black" : "black !important";
|
||
const whiteColor = svgTextFill ? "white" : "white !important";
|
||
return r * 0.299 + g * 0.587 + b * 0.114 > threshold ? blackColor : whiteColor;
|
||
}
|
||
static stringToColor(str) {
|
||
let hash = 0;
|
||
for (let i = 0; i < str.length; i++) {
|
||
hash = str.charCodeAt(i) + ((hash << 5) - hash);
|
||
}
|
||
let color = "#";
|
||
for (let i = 0; i < 3; i++) {
|
||
const value = (hash >> (i * 8)) & 0xff;
|
||
color += ("00" + value.toString(16)).substr(-2);
|
||
}
|
||
return color;
|
||
}
|
||
/**
|
||
* @throws Will throw an error if the ContainerService has not been attached to the window object
|
||
*/
|
||
static getContainerService() {
|
||
if (this.global.bitwardenContainerService == null) {
|
||
throw new Error("global bitwardenContainerService not initialized.");
|
||
}
|
||
return this.global.bitwardenContainerService;
|
||
}
|
||
static validateHexColor(color) {
|
||
return /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/.test(color);
|
||
}
|
||
/**
|
||
* Converts map to a Record<string, V> with the same data. Inverse of recordToMap
|
||
* Useful in toJSON methods, since Maps are not serializable
|
||
* @param map
|
||
* @returns
|
||
*/
|
||
static mapToRecord(map) {
|
||
if (map == null) {
|
||
return null;
|
||
}
|
||
if (!(map instanceof Map)) {
|
||
return map;
|
||
}
|
||
return Object.fromEntries(map);
|
||
}
|
||
/**
|
||
* Converts record to a Map<string, V> with the same data. Inverse of mapToRecord
|
||
* Useful in fromJSON methods, since Maps are not serializable
|
||
*
|
||
* Warning: If the record has string keys that are numbers, they will be converted to numbers in the map
|
||
* @param record
|
||
* @returns
|
||
*/
|
||
static recordToMap(record) {
|
||
if (record == null) {
|
||
return null;
|
||
}
|
||
else if (record instanceof Map) {
|
||
return record;
|
||
}
|
||
const entries = Object.entries(record);
|
||
if (entries.length === 0) {
|
||
return new Map();
|
||
}
|
||
if (isNaN(Number(entries[0][0]))) {
|
||
return new Map(entries);
|
||
}
|
||
else {
|
||
return new Map(entries.map((e) => [Number(e[0]), e[1]]));
|
||
}
|
||
}
|
||
/** Applies Object.assign, but converts the type nicely using Type-Fest Merge<Destination, Source> */
|
||
static merge(destination, source) {
|
||
return Object.assign(destination, source);
|
||
}
|
||
/**
|
||
* encodeURIComponent escapes all characters except the following:
|
||
* alphabetic, decimal digits, - _ . ! ~ * ' ( )
|
||
* https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent#encoding_for_rfc3986
|
||
*/
|
||
static encodeRFC3986URIComponent(str) {
|
||
return encodeURIComponent(str).replace(/[!'()*]/g, (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`);
|
||
}
|
||
/**
|
||
* Normalizes a path for defense against attacks like traversals
|
||
* @param denormalizedPath
|
||
* @returns
|
||
*/
|
||
static normalizePath(denormalizedPath) {
|
||
return path_browserify.normalize(decodeURIComponent(denormalizedPath)).replace(/^(\.\.(\/|\\|$))+/, "");
|
||
}
|
||
static isMobile(win) {
|
||
let mobile = false;
|
||
((a) => {
|
||
if (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a) ||
|
||
/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0, 4))) {
|
||
mobile = true;
|
||
}
|
||
})(win.navigator.userAgent || win.navigator.vendor || win.opera);
|
||
return mobile || win.navigator.userAgent.match(/iPad/i) != null;
|
||
}
|
||
static delay(ms) {
|
||
return new Promise((resolve) => setTimeout(resolve, ms));
|
||
}
|
||
/**
|
||
* Generate an observable from a function that returns a promise.
|
||
* Similar to the rxjs function {@link from} with one big exception:
|
||
* {@link from} will not re-execute the function when observers resubscribe.
|
||
* {@link Util.asyncToObservable} will execute `generator` for every
|
||
* subscribe, making it ideal if the value ever needs to be refreshed.
|
||
* */
|
||
static asyncToObservable(generator) {
|
||
return of(undefined).pipe(switchMap(() => generator()));
|
||
}
|
||
/**
|
||
* Return the number of days remaining before a target date arrives.
|
||
* Returns 0 if the day has already passed.
|
||
*/
|
||
static daysRemaining(targetDate) {
|
||
const diffTime = targetDate.getTime() - Date.now();
|
||
const msPerDay = 86400000;
|
||
return Math.max(0, Math.floor(diffTime / msPerDay));
|
||
}
|
||
static isAppleMobile(win) {
|
||
return (win.navigator.userAgent.match(/iPhone/i) != null ||
|
||
win.navigator.userAgent.match(/iPad/i) != null);
|
||
}
|
||
static getUrlObject(uriString) {
|
||
// All the methods below require a protocol to properly parse a URL string
|
||
// Assume http if no other protocol is present
|
||
const hasProtocol = uriString.indexOf("://") > -1;
|
||
if (!hasProtocol && uriString.indexOf(".") > -1) {
|
||
uriString = "http://" + uriString;
|
||
}
|
||
else if (!hasProtocol) {
|
||
return null;
|
||
}
|
||
try {
|
||
if (nodeURL != null) {
|
||
return new nodeURL.URL(uriString);
|
||
}
|
||
return new URL(uriString);
|
||
}
|
||
catch (e) {
|
||
// Ignore error
|
||
}
|
||
return null;
|
||
}
|
||
}
|
||
Utils.inited = false;
|
||
Utils.isNode = false;
|
||
Utils.isBrowser = true;
|
||
Utils.isMobileBrowser = false;
|
||
Utils.isAppleMobileBrowser = false;
|
||
Utils.global = null;
|
||
// Transpiled version of /\p{Emoji_Presentation}/gu using https://mothereff.in/regexpu. Used for compatability in older browsers.
|
||
Utils.regexpEmojiPresentation = /(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])/g;
|
||
Utils.validHosts = ["localhost"];
|
||
Utils.originalMinimumPasswordLength = 8;
|
||
Utils.minimumPasswordLength = 12;
|
||
Utils.DomainMatchBlacklist = new Map([
|
||
["google.com", new Set(["script.google.com"])],
|
||
]);
|
||
Utils.init();
|
||
|
||
;// CONCATENATED MODULE: ../../libs/common/src/vault/services/fido2/fido2-utils.ts
|
||
|
||
class Fido2Utils {
|
||
static bufferToString(bufferSource) {
|
||
const buffer = Fido2Utils.bufferSourceToUint8Array(bufferSource);
|
||
return Utils.fromBufferToUrlB64(buffer);
|
||
}
|
||
static stringToBuffer(str) {
|
||
return Utils.fromUrlB64ToArray(str);
|
||
}
|
||
static bufferSourceToUint8Array(bufferSource) {
|
||
if (Fido2Utils.isArrayBuffer(bufferSource)) {
|
||
return new Uint8Array(bufferSource);
|
||
}
|
||
else {
|
||
return new Uint8Array(bufferSource.buffer);
|
||
}
|
||
}
|
||
/** Utility function to identify type of bufferSource. Necessary because of differences between runtimes */
|
||
static isArrayBuffer(bufferSource) {
|
||
return bufferSource instanceof ArrayBuffer || bufferSource.buffer === undefined;
|
||
}
|
||
}
|
||
|
||
;// CONCATENATED MODULE: ./src/vault/fido2/webauthn-utils.ts
|
||
|
||
class WebauthnUtils {
|
||
static mapCredentialCreationOptions(options, origin, sameOriginWithAncestors, fallbackSupported) {
|
||
var _a, _b, _c, _d;
|
||
const keyOptions = options.publicKey;
|
||
if (keyOptions == undefined) {
|
||
throw new Error("Public-key options not found");
|
||
}
|
||
return {
|
||
origin,
|
||
attestation: keyOptions.attestation,
|
||
authenticatorSelection: {
|
||
requireResidentKey: (_a = keyOptions.authenticatorSelection) === null || _a === void 0 ? void 0 : _a.requireResidentKey,
|
||
residentKey: (_b = keyOptions.authenticatorSelection) === null || _b === void 0 ? void 0 : _b.residentKey,
|
||
userVerification: (_c = keyOptions.authenticatorSelection) === null || _c === void 0 ? void 0 : _c.userVerification,
|
||
},
|
||
challenge: Fido2Utils.bufferToString(keyOptions.challenge),
|
||
excludeCredentials: (_d = keyOptions.excludeCredentials) === null || _d === void 0 ? void 0 : _d.map((credential) => ({
|
||
id: Fido2Utils.bufferToString(credential.id),
|
||
transports: credential.transports,
|
||
type: credential.type,
|
||
})),
|
||
extensions: undefined,
|
||
pubKeyCredParams: keyOptions.pubKeyCredParams.map((params) => ({
|
||
alg: params.alg,
|
||
type: params.type,
|
||
})),
|
||
rp: {
|
||
id: keyOptions.rp.id,
|
||
name: keyOptions.rp.name,
|
||
},
|
||
user: {
|
||
id: Fido2Utils.bufferToString(keyOptions.user.id),
|
||
displayName: keyOptions.user.displayName,
|
||
},
|
||
timeout: keyOptions.timeout,
|
||
sameOriginWithAncestors,
|
||
fallbackSupported,
|
||
};
|
||
}
|
||
static mapCredentialRegistrationResult(result) {
|
||
const credential = {
|
||
id: result.credentialId,
|
||
rawId: Fido2Utils.stringToBuffer(result.credentialId),
|
||
type: "public-key",
|
||
authenticatorAttachment: "cross-platform",
|
||
response: {
|
||
clientDataJSON: Fido2Utils.stringToBuffer(result.clientDataJSON),
|
||
attestationObject: Fido2Utils.stringToBuffer(result.attestationObject),
|
||
getAuthenticatorData() {
|
||
return Fido2Utils.stringToBuffer(result.authData);
|
||
},
|
||
getPublicKey() {
|
||
return null;
|
||
},
|
||
getPublicKeyAlgorithm() {
|
||
return result.publicKeyAlgorithm;
|
||
},
|
||
getTransports() {
|
||
return result.transports;
|
||
},
|
||
},
|
||
getClientExtensionResults: () => ({}),
|
||
};
|
||
// Modify prototype chains to fix `instanceof` calls.
|
||
// This makes these objects indistinguishable from the native classes.
|
||
// Unfortunately PublicKeyCredential does not have a javascript constructor so `extends` does not work here.
|
||
Object.setPrototypeOf(credential.response, AuthenticatorAttestationResponse.prototype);
|
||
Object.setPrototypeOf(credential, PublicKeyCredential.prototype);
|
||
return credential;
|
||
}
|
||
static mapCredentialRequestOptions(options, origin, sameOriginWithAncestors, fallbackSupported) {
|
||
var _a, _b;
|
||
const keyOptions = options.publicKey;
|
||
if (keyOptions == undefined) {
|
||
throw new Error("Public-key options not found");
|
||
}
|
||
return {
|
||
origin,
|
||
allowedCredentialIds: (_b = (_a = keyOptions.allowCredentials) === null || _a === void 0 ? void 0 : _a.map((c) => Fido2Utils.bufferToString(c.id))) !== null && _b !== void 0 ? _b : [],
|
||
challenge: Fido2Utils.bufferToString(keyOptions.challenge),
|
||
rpId: keyOptions.rpId,
|
||
userVerification: keyOptions.userVerification,
|
||
timeout: keyOptions.timeout,
|
||
sameOriginWithAncestors,
|
||
fallbackSupported,
|
||
};
|
||
}
|
||
static mapCredentialAssertResult(result) {
|
||
const credential = {
|
||
id: result.credentialId,
|
||
rawId: Fido2Utils.stringToBuffer(result.credentialId),
|
||
type: "public-key",
|
||
response: {
|
||
authenticatorData: Fido2Utils.stringToBuffer(result.authenticatorData),
|
||
clientDataJSON: Fido2Utils.stringToBuffer(result.clientDataJSON),
|
||
signature: Fido2Utils.stringToBuffer(result.signature),
|
||
userHandle: Fido2Utils.stringToBuffer(result.userHandle),
|
||
},
|
||
getClientExtensionResults: () => ({}),
|
||
authenticatorAttachment: "cross-platform",
|
||
};
|
||
// Modify prototype chains to fix `instanceof` calls.
|
||
// This makes these objects indistinguishable from the native classes.
|
||
// Unfortunately PublicKeyCredential does not have a javascript constructor so `extends` does not work here.
|
||
Object.setPrototypeOf(credential.response, AuthenticatorAssertionResponse.prototype);
|
||
Object.setPrototypeOf(credential, PublicKeyCredential.prototype);
|
||
return credential;
|
||
}
|
||
}
|
||
|
||
;// CONCATENATED MODULE: ./src/vault/fido2/content/messaging/message.ts
|
||
var MessageType;
|
||
(function (MessageType) {
|
||
MessageType[MessageType["CredentialCreationRequest"] = 0] = "CredentialCreationRequest";
|
||
MessageType[MessageType["CredentialCreationResponse"] = 1] = "CredentialCreationResponse";
|
||
MessageType[MessageType["CredentialGetRequest"] = 2] = "CredentialGetRequest";
|
||
MessageType[MessageType["CredentialGetResponse"] = 3] = "CredentialGetResponse";
|
||
MessageType[MessageType["AbortRequest"] = 4] = "AbortRequest";
|
||
MessageType[MessageType["AbortResponse"] = 5] = "AbortResponse";
|
||
MessageType[MessageType["ErrorResponse"] = 6] = "ErrorResponse";
|
||
})(MessageType || (MessageType = {}));
|
||
|
||
;// CONCATENATED MODULE: ./src/vault/fido2/content/messaging/messenger.ts
|
||
var messenger_awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||
return new (P || (P = Promise))(function (resolve, reject) {
|
||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||
});
|
||
};
|
||
|
||
const SENDER = "bitwarden-webauthn";
|
||
/**
|
||
* A class that handles communication between the page and content script. It converts
|
||
* the browser's broadcasting API into a request/response API with support for seamlessly
|
||
* handling aborts and exceptions across separate execution contexts.
|
||
*/
|
||
class Messenger {
|
||
/**
|
||
* Creates a messenger that uses the browser's `window.postMessage` API to initiate
|
||
* requests in the content script. Every request will then create it's own
|
||
* `MessageChannel` through which all subsequent communication will be sent through.
|
||
*
|
||
* @param window the window object to use for communication
|
||
* @returns a `Messenger` instance
|
||
*/
|
||
static forDOMCommunication(window) {
|
||
const windowOrigin = window.location.origin;
|
||
return new Messenger({
|
||
postMessage: (message, port) => window.postMessage(message, windowOrigin, [port]),
|
||
addEventListener: (listener) => window.addEventListener("message", (event) => {
|
||
if (event.origin !== windowOrigin) {
|
||
return;
|
||
}
|
||
listener(event);
|
||
}),
|
||
});
|
||
}
|
||
constructor(broadcastChannel) {
|
||
this.broadcastChannel = broadcastChannel;
|
||
this.broadcastChannel.addEventListener((event) => messenger_awaiter(this, void 0, void 0, function* () {
|
||
var _a;
|
||
if (this.handler === undefined) {
|
||
return;
|
||
}
|
||
const message = event.data;
|
||
const port = (_a = event.ports) === null || _a === void 0 ? void 0 : _a[0];
|
||
if ((message === null || message === void 0 ? void 0 : message.SENDER) !== SENDER || message == null || port == null) {
|
||
return;
|
||
}
|
||
const abortController = new AbortController();
|
||
port.onmessage = (event) => {
|
||
if (event.data.type === MessageType.AbortRequest) {
|
||
abortController.abort();
|
||
}
|
||
};
|
||
try {
|
||
const handlerResponse = yield this.handler(message, abortController);
|
||
port.postMessage(Object.assign(Object.assign({}, handlerResponse), { SENDER }));
|
||
}
|
||
catch (error) {
|
||
port.postMessage({
|
||
SENDER,
|
||
type: MessageType.ErrorResponse,
|
||
error: JSON.stringify(error, Object.getOwnPropertyNames(error)),
|
||
});
|
||
}
|
||
finally {
|
||
port.close();
|
||
}
|
||
}));
|
||
}
|
||
/**
|
||
* Sends a request to the content script and returns the response.
|
||
* AbortController signals will be forwarded to the content script.
|
||
*
|
||
* @param request data to send to the content script
|
||
* @param abortController the abort controller that might be used to abort the request
|
||
* @returns the response from the content script
|
||
*/
|
||
request(request, abortController) {
|
||
return messenger_awaiter(this, void 0, void 0, function* () {
|
||
const requestChannel = new MessageChannel();
|
||
const { port1: localPort, port2: remotePort } = requestChannel;
|
||
try {
|
||
const promise = new Promise((resolve) => {
|
||
localPort.onmessage = (event) => resolve(event.data);
|
||
});
|
||
const abortListener = () => localPort.postMessage({
|
||
metadata: { SENDER },
|
||
type: MessageType.AbortRequest,
|
||
});
|
||
abortController === null || abortController === void 0 ? void 0 : abortController.signal.addEventListener("abort", abortListener);
|
||
this.broadcastChannel.postMessage(Object.assign(Object.assign({}, request), { SENDER }), remotePort);
|
||
const response = yield promise;
|
||
abortController === null || abortController === void 0 ? void 0 : abortController.signal.removeEventListener("abort", abortListener);
|
||
if (response.type === MessageType.ErrorResponse) {
|
||
const error = new Error();
|
||
Object.assign(error, JSON.parse(response.error));
|
||
throw error;
|
||
}
|
||
return response;
|
||
}
|
||
finally {
|
||
localPort.close();
|
||
}
|
||
});
|
||
}
|
||
}
|
||
|
||
;// CONCATENATED MODULE: ./src/vault/fido2/content/page-script.ts
|
||
var page_script_awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||
return new (P || (P = Promise))(function (resolve, reject) {
|
||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||
});
|
||
};
|
||
|
||
|
||
|
||
|
||
const BrowserPublicKeyCredential = window.PublicKeyCredential;
|
||
const browserNativeWebauthnSupport = window.PublicKeyCredential != undefined;
|
||
let browserNativeWebauthnPlatformAuthenticatorSupport = false;
|
||
if (!browserNativeWebauthnSupport) {
|
||
// Polyfill webauthn support
|
||
try {
|
||
// credentials is read-only if supported, use type-casting to force assignment
|
||
navigator.credentials = {
|
||
create() {
|
||
return page_script_awaiter(this, void 0, void 0, function* () {
|
||
throw new Error("Webauthn not supported in this browser.");
|
||
});
|
||
},
|
||
get() {
|
||
return page_script_awaiter(this, void 0, void 0, function* () {
|
||
throw new Error("Webauthn not supported in this browser.");
|
||
});
|
||
},
|
||
};
|
||
window.PublicKeyCredential = class PolyfillPublicKeyCredential {
|
||
static isUserVerifyingPlatformAuthenticatorAvailable() {
|
||
return Promise.resolve(true);
|
||
}
|
||
};
|
||
window.AuthenticatorAttestationResponse =
|
||
class PolyfillAuthenticatorAttestationResponse {
|
||
};
|
||
}
|
||
catch (_a) {
|
||
/* empty */
|
||
}
|
||
}
|
||
if (browserNativeWebauthnSupport) {
|
||
BrowserPublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable().then((available) => {
|
||
browserNativeWebauthnPlatformAuthenticatorSupport = available;
|
||
if (!available) {
|
||
// Polyfill platform authenticator support
|
||
window.PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable = () => Promise.resolve(true);
|
||
}
|
||
});
|
||
}
|
||
const browserCredentials = {
|
||
create: navigator.credentials.create.bind(navigator.credentials),
|
||
get: navigator.credentials.get.bind(navigator.credentials),
|
||
};
|
||
const messenger = Messenger.forDOMCommunication(window);
|
||
function isSameOriginWithAncestors() {
|
||
try {
|
||
return window.self === window.top;
|
||
}
|
||
catch (_a) {
|
||
return false;
|
||
}
|
||
}
|
||
navigator.credentials.create = (options, abortController) => page_script_awaiter(void 0, void 0, void 0, function* () {
|
||
var _b, _c;
|
||
const fallbackSupported = (((_b = options === null || options === void 0 ? void 0 : options.publicKey) === null || _b === void 0 ? void 0 : _b.authenticatorSelection.authenticatorAttachment) === "platform" &&
|
||
browserNativeWebauthnPlatformAuthenticatorSupport) ||
|
||
(((_c = options === null || options === void 0 ? void 0 : options.publicKey) === null || _c === void 0 ? void 0 : _c.authenticatorSelection.authenticatorAttachment) !== "platform" &&
|
||
browserNativeWebauthnSupport);
|
||
try {
|
||
const isNotIframe = isSameOriginWithAncestors();
|
||
const response = yield messenger.request({
|
||
type: MessageType.CredentialCreationRequest,
|
||
data: WebauthnUtils.mapCredentialCreationOptions(options, window.location.origin, isNotIframe, fallbackSupported),
|
||
}, abortController);
|
||
if (response.type !== MessageType.CredentialCreationResponse) {
|
||
throw new Error("Something went wrong.");
|
||
}
|
||
return WebauthnUtils.mapCredentialRegistrationResult(response.result);
|
||
}
|
||
catch (error) {
|
||
if (error && error.fallbackRequested && fallbackSupported) {
|
||
yield waitForFocus();
|
||
return yield browserCredentials.create(options);
|
||
}
|
||
throw error;
|
||
}
|
||
});
|
||
navigator.credentials.get = (options, abortController) => page_script_awaiter(void 0, void 0, void 0, function* () {
|
||
const fallbackSupported = browserNativeWebauthnSupport;
|
||
try {
|
||
if ((options === null || options === void 0 ? void 0 : options.mediation) && options.mediation !== "optional") {
|
||
throw new FallbackRequestedError();
|
||
}
|
||
const response = yield messenger.request({
|
||
type: MessageType.CredentialGetRequest,
|
||
data: WebauthnUtils.mapCredentialRequestOptions(options, window.location.origin, true, fallbackSupported),
|
||
}, abortController);
|
||
if (response.type !== MessageType.CredentialGetResponse) {
|
||
throw new Error("Something went wrong.");
|
||
}
|
||
return WebauthnUtils.mapCredentialAssertResult(response.result);
|
||
}
|
||
catch (error) {
|
||
if (error && error.fallbackRequested && fallbackSupported) {
|
||
yield waitForFocus();
|
||
return yield browserCredentials.get(options);
|
||
}
|
||
throw error;
|
||
}
|
||
});
|
||
/**
|
||
* Wait for window to be focused.
|
||
* Safari doesn't allow scripts to trigger webauthn when window is not focused.
|
||
*
|
||
* @param timeout Maximum time to wait for focus in milliseconds. Defaults to 5 minutes.
|
||
* @returns Promise that resolves when window is focused, or rejects if timeout is reached.
|
||
*/
|
||
function waitForFocus(timeout = 5 * 60 * 1000) {
|
||
return page_script_awaiter(this, void 0, void 0, function* () {
|
||
if (window.top.document.hasFocus()) {
|
||
return;
|
||
}
|
||
let focusListener;
|
||
const focusPromise = new Promise((resolve) => {
|
||
focusListener = () => resolve();
|
||
window.top.addEventListener("focus", focusListener, { once: true });
|
||
});
|
||
let timeoutId;
|
||
const timeoutPromise = new Promise((_, reject) => {
|
||
timeoutId = window.setTimeout(() => reject(new DOMException("The operation either timed out or was not allowed.", "AbortError")), timeout);
|
||
});
|
||
try {
|
||
yield Promise.race([focusPromise, timeoutPromise]);
|
||
}
|
||
finally {
|
||
window.top.removeEventListener("focus", focusListener);
|
||
window.clearTimeout(timeoutId);
|
||
}
|
||
});
|
||
}
|
||
|
||
})();
|
||
|
||
/******/ })()
|
||
; |