) { for (let e in u['x-ms-examples']) { let t = u['x-ms-examples'][e], n = g.sanitiseAll(e); if (t.parameters) for (let n in t.parameters) { let r = t.parameters[n]; for (let t of (u.parameters || []).concat( s.parameters || [] )) t.$ref && (t = l.jptr(i, t.$ref)), t.name !== n || t.example || (t.examples || (t.examples = {}), (t.examples[e] = { value: r })); } if (t.responses) for (let r in t.responses) { if (t.responses[r].headers) for (let e in t.responses[r].headers) { let n = t.responses[r].headers[e]; for (let t in u.responses[r].headers) t === e && (u.responses[r].headers[t].example = n); } if ( t.responses[r].body && ((i.components.examples[n] = { value: p(t.responses[r].body) }), u.responses[r] && u.responses[r].content) ) for (let t in u.responses[r].content) { let o = u.responses[r].content[t]; o.examples || (o.examples = {}), (o.examples[e] = { $ref: '#/components/examples/' + n }); } } } delete u['x-ms-examples']; } if ( (u.parameters && 0 === u.parameters.length && delete u.parameters, u.requestBody) ) { let n = u.operationId ? g.sanitiseAll(u.operationId) : g.sanitiseAll(e + a).toCamelCase(), o = g.sanitise(u.requestBody['x-s2o-name'] || n || ''); delete u.requestBody['x-s2o-name']; let i = JSON.stringify(u.requestBody), s = g.hash(i); if (!r[s]) { let e = {}; (e.name = o), (e.body = u.requestBody), (e.refs = []), (r[s] = e); } let c = '#/' + t + '/' + encodeURIComponent(l.jpescape(a)) + '/' + e + '/requestBody'; r[s].refs.push(c); } } } if (s && s.parameters) { for (let e in s.parameters) R(s.parameters[e], null, s, null, a, i, n); !n.debug && Array.isArray(s.parameters) && (s.parameters = s.parameters.filter(A)); } } } function N(e) { return e && e.url && 'string' == typeof e.url ? ((e.url = e.url.split('{{').join('{')), (e.url = e.url.split('}}').join('}')), e.url.replace(/\\{(.+?)\\}/g, function (t, n) { e.variables || (e.variables = {}), (e.variables[n] = { default: 'unknown' }); }), e) : e; } function D(e, t, n) { if (void 0 === e.info || null === e.info) { if (!t.patch) return n(new x('(Patchable) info object is mandatory')); t.patches++, (e.info = { version: '', title: '' }); } if ('object' != typeof e.info || Array.isArray(e.info)) return n(new x('info must be an object')); if (void 0 === e.info.title || null === e.info.title) { if (!t.patch) return n(new x('(Patchable) info.title cannot be null')); t.patches++, (e.info.title = ''); } if (void 0 === e.info.version || null === e.info.version) { if (!t.patch) return n(new x('(Patchable) info.version cannot be null')); t.patches++, (e.info.version = ''); } if ('string' != typeof e.info.version) { if (!t.patch) return n(new x('(Patchable) info.version must be a string')); t.patches++, (e.info.version = e.info.version.toString()); } if (void 0 !== e.info.logo) { if (!t.patch) return n( new x('(Patchable) info should not have logo property') ); t.patches++, (e.info['x-logo'] = e.info.logo), delete e.info.logo; } if (void 0 !== e.info.termsOfService) { if (null === e.info.termsOfService) { if (!t.patch) return n( new x('(Patchable) info.termsOfService cannot be null') ); t.patches++, (e.info.termsOfService = ''); } try { new URL(e.info.termsOfService); } catch (r) { if (!t.patch) return n( new x('(Patchable) info.termsOfService must be a URL') ); t.patches++, delete e.info.termsOfService; } } } function L(e, t, n) { if (void 0 === e.paths) { if (!t.patch) return n(new x('(Patchable) paths object is mandatory')); t.patches++, (e.paths = {}); } } function M(e, t, n) { return i( n, new Promise(function (n, r) { if ( (e || (e = {}), (t.original = e), t.text || (t.text = s.stringify(e)), (t.externals = []), (t.externalRefs = {}), (t.rewriteRefs = !0), (t.preserveMiro = !0), (t.promise = {}), (t.promise.resolve = n), (t.promise.reject = r), (t.patches = 0), t.cache || (t.cache = {}), t.source && (t.cache[t.source] = t.original), (function (e, t) { const n = new WeakSet(); f(e, { identityDetection: !0 }, function (e, r, o) { 'object' == typeof e[r] && null !== e[r] && (n.has(e[r]) ? t.anchors ? (e[r] = p(e[r])) : k('YAML anchor or merge key at ' + o.path, t) : n.add(e[r])); }); })(e, t), e.openapi && 'string' == typeof e.openapi && e.openapi.startsWith('3.')) ) return ( (t.openapi = d(e)), D(t.openapi, t, r), L(t.openapi, t, r), void h .optionalResolve(t) .then(function () { return t.direct ? n(t.openapi) : n(t); }) .catch(function (e) { console.warn(e), r(e); }) ); if (!e.swagger || '2.0' != e.swagger) return r( new x( 'Unsupported swagger/OpenAPI version: ' + (e.openapi ? e.openapi : e.swagger) ) ); let o = (t.openapi = {}); if ( ((o.openapi = 'string' == typeof t.targetVersion && t.targetVersion.startsWith('3.') ? t.targetVersion : b), t.origin) ) { o['x-origin'] || (o['x-origin'] = []); let n = {}; (n.url = t.source || t.origin), (n.format = 'swagger'), (n.version = e.swagger), (n.converter = {}), (n.converter.url = 'https://github.com/mermade/oas-kit'), (n.converter.version = v), o['x-origin'].push(n); } if ( ((o = Object.assign(o, d(e))), delete o.swagger, f(o, {}, function (e, t, n) { null === e[t] && !t.startsWith('x-') && 'default' !== t && n.path.indexOf('/example') < 0 && delete e[t]; }), e.host) ) for (let t of Array.isArray(e.schemes) ? e.schemes : ['']) { let n = {}, r = (e.basePath || '').replace(/\\/$/, ''); (n.url = (t ? t + ':' : '') + '//' + e.host + r), N(n), o.servers || (o.servers = []), o.servers.push(n); } else if (e.basePath) { let t = {}; (t.url = e.basePath), N(t), o.servers || (o.servers = []), o.servers.push(t); } if ( (delete o.host, delete o.basePath, o['x-servers'] && Array.isArray(o['x-servers']) && ((o.servers = o['x-servers']), delete o['x-servers']), e['x-ms-parameterized-host']) ) { let t = e['x-ms-parameterized-host'], n = {}; (n.url = t.hostTemplate + (e.basePath ? e.basePath : '')), (n.variables = {}); const r = n.url.match(/\\{\\w+\\}/g); for (let e in t.parameters) { let i = t.parameters[e]; i.$ref && (i = p(c(o, i.$ref))), e.startsWith('x-') || (delete i.required, delete i.type, delete i.in, void 0 === i.default && (i.enum ? (i.default = i.enum[0]) : (i.default = 'none')), i.name || (i.name = r[e].replace('{', '').replace('}', '')), (n.variables[i.name] = i), delete i.name); } o.servers || (o.servers = []), !1 === t.useSchemePrefix ? o.servers.push(n) : e.schemes.forEach(e => { o.servers.push( Object.assign({}, n, { url: e + '://' + n.url }) ); }), delete o['x-ms-parameterized-host']; } D(o, t, r), L(o, t, r), 'string' == typeof o.consumes && (o.consumes = [o.consumes]), 'string' == typeof o.produces && (o.produces = [o.produces]), (o.components = {}), o['x-callbacks'] && ((o.components.callbacks = o['x-callbacks']), delete o['x-callbacks']), (o.components.examples = {}), (o.components.headers = {}), o['x-links'] && ((o.components.links = o['x-links']), delete o['x-links']), (o.components.parameters = o.parameters || {}), (o.components.responses = o.responses || {}), (o.components.requestBodies = {}), (o.components.securitySchemes = o.securityDefinitions || {}), (o.components.schemas = o.definitions || {}), delete o.definitions, delete o.responses, delete o.parameters, delete o.securityDefinitions, h .optionalResolve(t) .then(function () { (function (e, t) { let n = {}; (w = { schemas: {} }), e.security && E(e.security); for (let n in e.components.securitySchemes) { let r = g.sanitise(n); n !== r && (e.components.securitySchemes[r] && k( 'Duplicate sanitised securityScheme name ' + r, t ), (e.components.securitySchemes[r] = e.components.securitySchemes[n]), delete e.components.securitySchemes[n]), P(e.components.securitySchemes[r], t); } for (let n in e.components.schemas) { let r = g.sanitiseAll(n), o = ''; if (n !== r) { for (; e.components.schemas[r + o]; ) o = o ? ++o : 2; (e.components.schemas[r + o] = e.components.schemas[n]), delete e.components.schemas[n]; } (w.schemas[n] = r + o), O(e.components.schemas[r + o], t); } (t.refmap = {}), f(e, { payload: { options: t } }, S), (function (e, t) { for (let n in t.refmap) l.jptr(e, n, { $ref: t.refmap[n] }); })(e, t); for (let n in e.components.parameters) { let r = g.sanitise(n); n !== r && (e.components.parameters[r] && k('Duplicate sanitised parameter name ' + r, t), (e.components.parameters[r] = e.components.parameters[n]), delete e.components.parameters[n]), R( e.components.parameters[r], null, null, null, r, e, t ); } for (let n in e.components.responses) { let r = g.sanitise(n); n !== r && (e.components.responses[r] && k('Duplicate sanitised response name ' + r, t), (e.components.responses[r] = e.components.responses[n]), delete e.components.responses[n]); let o = e.components.responses[r]; if ((T(o, 0, null, e, t), o.headers)) for (let e in o.headers) 'status code' === e.toLowerCase() ? t.patch ? (t.patches++, delete o.headers[e]) : k( '(Patchable) "Status Code" is not a valid header', t ) : $(o.headers[e], t); } for (let t in e.components.requestBodies) { let r = e.components.requestBodies[t], o = JSON.stringify(r), i = g.hash(o), a = {}; (a.name = t), (a.body = r), (a.refs = []), (n[i] = a); } if ( (I(e.paths, 'paths', t, n, e), e['x-ms-paths'] && I(e['x-ms-paths'], 'x-ms-paths', t, n, e), !t.debug) ) for (let t in e.components.parameters) e.components.parameters[t]['x-s2o-delete'] && delete e.components.parameters[t]; t.debug && ((e['x-s2o-consumes'] = e.consumes || []), (e['x-s2o-produces'] = e.produces || [])), delete e.consumes, delete e.produces, delete e.schemes; let r = []; if ( ((e.components.requestBodies = {}), !t.resolveInternal) ) { let t = 1; for (let o in n) { let i = n[o]; if (i.refs.length > 1) { let n = ''; for ( i.name || ((i.name = 'requestBody'), (n = t++)); r.indexOf(i.name + n) >= 0; ) n = n ? ++n : 2; (i.name = i.name + n), r.push(i.name), (e.components.requestBodies[i.name] = p( i.body )); for (let t in i.refs) { let n = {}; (n.$ref = '#/components/requestBodies/' + i.name), l.jptr(e, i.refs[t], n); } } } } e.components.responses && 0 === Object.keys(e.components.responses).length && delete e.components.responses, e.components.parameters && 0 === Object.keys(e.components.parameters).length && delete e.components.parameters, e.components.examples && 0 === Object.keys(e.components.examples).length && delete e.components.examples, e.components.requestBodies && 0 === Object.keys(e.components.requestBodies).length && delete e.components.requestBodies, e.components.securitySchemes && 0 === Object.keys(e.components.securitySchemes) .length && delete e.components.securitySchemes, e.components.headers && 0 === Object.keys(e.components.headers).length && delete e.components.headers, e.components.schemas && 0 === Object.keys(e.components.schemas).length && delete e.components.schemas, e.components && 0 === Object.keys(e.components).length && delete e.components; })(t.openapi, t), t.direct ? n(t.openapi) : n(t); }) .catch(function (e) { console.warn(e), r(e); }); }) ); } function F(e, t, n) { return i( n, new Promise(function (n, r) { let o = null, i = null; try { (o = JSON.parse(e)), (t.text = JSON.stringify(o, null, 2)); } catch (n) { i = n; try { (o = s.parse(e, { schema: 'core', prettyErrors: !0 })), (t.sourceYaml = !0), (t.text = e); } catch (e) { i = e; } } o ? M(o, t) .then(e => n(e)) .catch(e => r(e)) : r(new x(i ? i.message : 'Could not parse string')); }) ); } e.exports = { S2OError: x, targetVersion: b, convert: M, convertObj: M, convertUrl: function (e, t, n) { return i( n, new Promise(function (n, r) { (t.origin = !0), t.source || (t.source = e), t.verbose && console.warn('GET ' + e), t.fetch || (t.fetch = a); const o = Object.assign({}, t.fetchOptions, { agent: t.agent }); t.fetch(e, o) .then(function (t) { if (200 !== t.status) throw new x(\`Received status code \${t.status}: \${e}\`); return t.text(); }) .then(function (e) { F(e, t) .then(e => n(e)) .catch(e => r(e)); }) .catch(function (e) { r(e); }); }) ); }, convertStr: F, convertFile: function (e, t, n) { return i( n, new Promise(function (n, o) { r.readFile(e, t.encoding || 'utf8', function (r, i) { r ? o(r) : ((t.sourceFile = e), F(i, t) .then(e => n(e)) .catch(e => o(e))); }); }) ); }, convertStream: function (e, t, n) { return i( n, new Promise(function (n, r) { let o = ''; e.on('data', function (e) { o += e; }).on('end', function () { F(o, t) .then(e => n(e)) .catch(e => r(e)); }); }) ); } }; }, 2711: function (e, t, n) { 'use strict'; const r = n(6177); e.exports = { statusCodes: Object.assign( {}, { default: 'Default response', '1XX': 'Informational', 103: 'Early hints', '2XX': 'Successful', '3XX': 'Redirection', '4XX': 'Client Error', '5XX': 'Server Error', '7XX': 'Developer Error' }, r.STATUS_CODES ) }; }, 4609: function () { self.fetch || (self.fetch = function (e, t) { return ( (t = t || {}), new Promise(function (n, r) { var o = new XMLHttpRequest(), i = [], a = [], s = {}, l = function () { return { ok: 2 == ((o.status / 100) | 0), statusText: o.statusText, status: o.status, url: o.responseURL, text: function () { return Promise.resolve(o.responseText); }, json: function () { return Promise.resolve(o.responseText).then( JSON.parse ); }, blob: function () { return Promise.resolve(new Blob([o.response])); }, clone: l, headers: { keys: function () { return i; }, entries: function () { return a; }, get: function (e) { return s[e.toLowerCase()]; }, has: function (e) { return e.toLowerCase() in s; } } }; }; for (var c in (o.open(t.method || 'get', e, !0), (o.onload = function () { o .getAllResponseHeaders() .replace( /^(.*?):[^\\S\\n]*([\\s\\S]*?)$/gm, function (e, t, n) { i.push((t = t.toLowerCase())), a.push([t, n]), (s[t] = s[t] ? s[t] + ',' + n : n); } ), n(l()); }), (o.onerror = r), (o.withCredentials = 'include' == t.credentials), t.headers)) o.setRequestHeader(c, t.headers[c]); o.send(t.body || null); }) ); }); }, 540: function (e, t) { !(function (e) { 'use strict'; function t() { for (var e = arguments.length, t = Array(e), n = 0; n < e; n++) t[n] = arguments[n]; if (t.length > 1) { t[0] = t[0].slice(0, -1); for (var r = t.length - 1, o = 1; o < r; ++o) t[o] = t[o].slice(1, -1); return (t[r] = t[r].slice(1)), t.join(''); } return t[0]; } function n(e) { return '(?:' + e + ')'; } function r(e) { return void 0 === e ? 'undefined' : null === e ? 'null' : Object.prototype.toString .call(e) .split(' ') .pop() .split(']') .shift() .toLowerCase(); } function o(e) { return e.toUpperCase(); } function i(e) { var r = '[A-Za-z]', o = '[0-9]', i = t(o, '[A-Fa-f]'), a = n( n('%[EFef]' + i + '%' + i + i + '%' + i + i) + '|' + n('%[89A-Fa-f]' + i + '%' + i + i) + '|' + n('%' + i + i) ), s = "[\\\\!\\\\$\\\\&\\\\'\\\\(\\\\)\\\\*\\\\+\\\\,\\\\;\\\\=]", l = t('[\\\\:\\\\/\\\\?\\\\#\\\\[\\\\]\\\\@]', s), c = e ? '[\\\\uE000-\\\\uF8FF]' : '[]', u = t( r, o, '[\\\\-\\\\.\\\\_\\\\~]', e ? '[\\\\xA0-\\\\u200D\\\\u2010-\\\\u2029\\\\u202F-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF]' : '[]' ), p = n(r + t(r, o, '[\\\\+\\\\-\\\\.]') + '*'), d = n(n(a + '|' + t(u, s, '[\\\\:]')) + '*'), f = (n( n('25[0-5]') + '|' + n('2[0-4][0-9]') + '|' + n('1[0-9][0-9]') + '|' + n('[1-9][0-9]') + '|' + o ), n( n('25[0-5]') + '|' + n('2[0-4][0-9]') + '|' + n('1[0-9][0-9]') + '|' + n('0?[1-9][0-9]') + '|0?0?' + o )), h = n(f + '\\\\.' + f + '\\\\.' + f + '\\\\.' + f), m = n(i + '{1,4}'), g = n(n(m + '\\\\:' + m) + '|' + h), y = n(n(m + '\\\\:') + '{6}' + g), v = n('\\\\:\\\\:' + n(m + '\\\\:') + '{5}' + g), b = n(n(m) + '?\\\\:\\\\:' + n(m + '\\\\:') + '{4}' + g), w = n( n(n(m + '\\\\:') + '{0,1}' + m) + '?\\\\:\\\\:' + n(m + '\\\\:') + '{3}' + g ), x = n( n(n(m + '\\\\:') + '{0,2}' + m) + '?\\\\:\\\\:' + n(m + '\\\\:') + '{2}' + g ), k = n( n(n(m + '\\\\:') + '{0,3}' + m) + '?\\\\:\\\\:' + m + '\\\\:' + g ), _ = n(n(n(m + '\\\\:') + '{0,4}' + m) + '?\\\\:\\\\:' + g), O = n(n(n(m + '\\\\:') + '{0,5}' + m) + '?\\\\:\\\\:' + m), S = n(n(n(m + '\\\\:') + '{0,6}' + m) + '?\\\\:\\\\:'), E = n([y, v, b, w, x, k, _, O, S].join('|')), P = n(n(u + '|' + a) + '+'), A = (n(E + '\\\\%25' + P), n(E + n('\\\\%25|\\\\%(?!' + i + '{2})') + P)), $ = n('[vV]' + i + '+\\\\.' + t(u, s, '[\\\\:]') + '+'), C = n('\\\\[' + n(A + '|' + E + '|' + $) + '\\\\]'), R = n(n(a + '|' + t(u, s)) + '*'), j = n(C + '|' + h + '(?!' + R + ')|' + R), T = n('[0-9]*'), I = n(n(d + '@') + '?' + j + n('\\\\:' + T) + '?'), N = n(a + '|' + t(u, s, '[\\\\:\\\\@]')), D = n(N + '*'), L = n(N + '+'), M = n(n(a + '|' + t(u, s, '[\\\\@]')) + '+'), F = n(n('\\\\/' + D) + '*'), z = n('\\\\/' + n(L + F) + '?'), U = n(M + F), V = n(L + F), B = '(?!' + N + ')', q = (n(F + '|' + z + '|' + U + '|' + V + '|' + B), n(n(N + '|' + t('[\\\\/\\\\?]', c)) + '*')), W = n(n(N + '|[\\\\/\\\\?]') + '*'), H = n(n('\\\\/\\\\/' + I + F) + '|' + z + '|' + V + '|' + B), Y = n(p + '\\\\:' + H + n('\\\\?' + q) + '?' + n('\\\\#' + W) + '?'), K = n(n('\\\\/\\\\/' + I + F) + '|' + z + '|' + U + '|' + B), G = n(K + n('\\\\?' + q) + '?' + n('\\\\#' + W) + '?'); return ( n(Y + '|' + G), n(p + '\\\\:' + H + n('\\\\?' + q) + '?'), n( n( '\\\\/\\\\/(' + n('(' + d + ')@') + '?(' + j + ')' + n('\\\\:(' + T + ')') + '?)' ) + '?(' + F + '|' + z + '|' + V + '|' + B + ')' ), n('\\\\?(' + q + ')'), n('\\\\#(' + W + ')'), n( n( '\\\\/\\\\/(' + n('(' + d + ')@') + '?(' + j + ')' + n('\\\\:(' + T + ')') + '?)' ) + '?(' + F + '|' + z + '|' + U + '|' + B + ')' ), n('\\\\?(' + q + ')'), n('\\\\#(' + W + ')'), n( n( '\\\\/\\\\/(' + n('(' + d + ')@') + '?(' + j + ')' + n('\\\\:(' + T + ')') + '?)' ) + '?(' + F + '|' + z + '|' + V + '|' + B + ')' ), n('\\\\?(' + q + ')'), n('\\\\#(' + W + ')'), n('(' + d + ')@'), n('\\\\:(' + T + ')'), { NOT_SCHEME: new RegExp(t('[^]', r, o, '[\\\\+\\\\-\\\\.]'), 'g'), NOT_USERINFO: new RegExp(t('[^\\\\%\\\\:]', u, s), 'g'), NOT_HOST: new RegExp(t('[^\\\\%\\\\[\\\\]\\\\:]', u, s), 'g'), NOT_PATH: new RegExp(t('[^\\\\%\\\\/\\\\:\\\\@]', u, s), 'g'), NOT_PATH_NOSCHEME: new RegExp(t('[^\\\\%\\\\/\\\\@]', u, s), 'g'), NOT_QUERY: new RegExp( t('[^\\\\%]', u, s, '[\\\\:\\\\@\\\\/\\\\?]', c), 'g' ), NOT_FRAGMENT: new RegExp( t('[^\\\\%]', u, s, '[\\\\:\\\\@\\\\/\\\\?]'), 'g' ), ESCAPE: new RegExp(t('[^]', u, s), 'g'), UNRESERVED: new RegExp(u, 'g'), OTHER_CHARS: new RegExp(t('[^\\\\%]', u, l), 'g'), PCT_ENCODED: new RegExp(a, 'g'), IPV4ADDRESS: new RegExp('^(' + h + ')$'), IPV6ADDRESS: new RegExp( '^\\\\[?(' + E + ')' + n(n('\\\\%25|\\\\%(?!' + i + '{2})') + '(' + P + ')') + '?\\\\]?$' ) } ); } var a = i(!1), s = i(!0), l = function (e, t) { if (Array.isArray(e)) return e; if (Symbol.iterator in Object(e)) return (function (e, t) { var n = [], r = !0, o = !1, i = void 0; try { for ( var a, s = e[Symbol.iterator](); !(r = (a = s.next()).done) && (n.push(a.value), !t || n.length !== t); r = !0 ); } catch (e) { (o = !0), (i = e); } finally { try { !r && s.return && s.return(); } finally { if (o) throw i; } } return n; })(e, t); throw new TypeError( 'Invalid attempt to destructure non-iterable instance' ); }, c = 2147483647, u = 36, p = /^xn--/, d = /[^\\0-\\x7E]/, f = /[\\x2E\\u3002\\uFF0E\\uFF61]/g, h = { overflow: 'Overflow: input needs wider integers to process', 'not-basic': 'Illegal input >= 0x80 (not a basic code point)', 'invalid-input': 'Invalid input' }, m = Math.floor, g = String.fromCharCode; function y(e) { throw new RangeError(h[e]); } function v(e, t) { var n = e.split('@'), r = ''; return ( n.length > 1 && ((r = n[0] + '@'), (e = n[1])), r + (function (e, t) { for (var n = [], r = e.length; r--; ) n[r] = t(e[r]); return n; })((e = e.replace(f, '.')).split('.'), t).join('.') ); } function b(e) { for (var t = [], n = 0, r = e.length; n < r; ) { var o = e.charCodeAt(n++); if (o >= 55296 && o <= 56319 && n < r) { var i = e.charCodeAt(n++); 56320 == (64512 & i) ? t.push(((1023 & o) << 10) + (1023 & i) + 65536) : (t.push(o), n--); } else t.push(o); } return t; } var w = function (e, t) { return e + 22 + 75 * (e < 26) - ((0 != t) << 5); }, x = function (e, t, n) { var r = 0; for ( e = n ? m(e / 700) : e >> 1, e += m(e / t); e > 455; r += u ) e = m(e / 35); return m(r + (36 * e) / (e + 38)); }, k = function (e) { var t, n = [], r = e.length, o = 0, i = 128, a = 72, s = e.lastIndexOf('-'); s < 0 && (s = 0); for (var l = 0; l < s; ++l) e.charCodeAt(l) >= 128 && y('not-basic'), n.push(e.charCodeAt(l)); for (var p = s > 0 ? s + 1 : 0; p < r; ) { for (var d = o, f = 1, h = u; ; h += u) { p >= r && y('invalid-input'); var g = (t = e.charCodeAt(p++)) - 48 < 10 ? t - 22 : t - 65 < 26 ? t - 65 : t - 97 < 26 ? t - 97 : u; (g >= u || g > m((c - o) / f)) && y('overflow'), (o += g * f); var v = h <= a ? 1 : h >= a + 26 ? 26 : h - a; if (g < v) break; var b = u - v; f > m(c / b) && y('overflow'), (f *= b); } var w = n.length + 1; (a = x(o - d, w, 0 == d)), m(o / w) > c - i && y('overflow'), (i += m(o / w)), (o %= w), n.splice(o++, 0, i); } return String.fromCodePoint.apply(String, n); }, _ = function (e) { var t = [], n = (e = b(e)).length, r = 128, o = 0, i = 72, a = !0, s = !1, l = void 0; try { for ( var p, d = e[Symbol.iterator](); !(a = (p = d.next()).done); a = !0 ) { var f = p.value; f < 128 && t.push(g(f)); } } catch (e) { (s = !0), (l = e); } finally { try { !a && d.return && d.return(); } finally { if (s) throw l; } } var h = t.length, v = h; for (h && t.push('-'); v < n; ) { var k = c, _ = !0, O = !1, S = void 0; try { for ( var E, P = e[Symbol.iterator](); !(_ = (E = P.next()).done); _ = !0 ) { var A = E.value; A >= r && A < k && (k = A); } } catch (e) { (O = !0), (S = e); } finally { try { !_ && P.return && P.return(); } finally { if (O) throw S; } } var $ = v + 1; k - r > m((c - o) / $) && y('overflow'), (o += (k - r) * $), (r = k); var C = !0, R = !1, j = void 0; try { for ( var T, I = e[Symbol.iterator](); !(C = (T = I.next()).done); C = !0 ) { var N = T.value; if ((N < r && ++o > c && y('overflow'), N == r)) { for (var D = o, L = u; ; L += u) { var M = L <= i ? 1 : L >= i + 26 ? 26 : L - i; if (D < M) break; var F = D - M, z = u - M; t.push(g(w(M + (F % z), 0))), (D = m(F / z)); } t.push(g(w(D, 0))), (i = x(o, $, v == h)), (o = 0), ++v; } } } catch (e) { (R = !0), (j = e); } finally { try { !C && I.return && I.return(); } finally { if (R) throw j; } } ++o, ++r; } return t.join(''); }, O = function (e) { return v(e, function (e) { return d.test(e) ? 'xn--' + _(e) : e; }); }, S = function (e) { return v(e, function (e) { return p.test(e) ? k(e.slice(4).toLowerCase()) : e; }); }, E = {}; function P(e) { var t = e.charCodeAt(0); return t < 16 ? '%0' + t.toString(16).toUpperCase() : t < 128 ? '%' + t.toString(16).toUpperCase() : t < 2048 ? '%' + ((t >> 6) | 192).toString(16).toUpperCase() + '%' + ((63 & t) | 128).toString(16).toUpperCase() : '%' + ((t >> 12) | 224).toString(16).toUpperCase() + '%' + (((t >> 6) & 63) | 128).toString(16).toUpperCase() + '%' + ((63 & t) | 128).toString(16).toUpperCase(); } function A(e) { for (var t = '', n = 0, r = e.length; n < r; ) { var o = parseInt(e.substr(n + 1, 2), 16); if (o < 128) (t += String.fromCharCode(o)), (n += 3); else if (o >= 194 && o < 224) { if (r - n >= 6) { var i = parseInt(e.substr(n + 4, 2), 16); t += String.fromCharCode(((31 & o) << 6) | (63 & i)); } else t += e.substr(n, 6); n += 6; } else if (o >= 224) { if (r - n >= 9) { var a = parseInt(e.substr(n + 4, 2), 16), s = parseInt(e.substr(n + 7, 2), 16); t += String.fromCharCode( ((15 & o) << 12) | ((63 & a) << 6) | (63 & s) ); } else t += e.substr(n, 9); n += 9; } else (t += e.substr(n, 3)), (n += 3); } return t; } function $(e, t) { function n(e) { var n = A(e); return n.match(t.UNRESERVED) ? n : e; } return ( e.scheme && (e.scheme = String(e.scheme) .replace(t.PCT_ENCODED, n) .toLowerCase() .replace(t.NOT_SCHEME, '')), void 0 !== e.userinfo && (e.userinfo = String(e.userinfo) .replace(t.PCT_ENCODED, n) .replace(t.NOT_USERINFO, P) .replace(t.PCT_ENCODED, o)), void 0 !== e.host && (e.host = String(e.host) .replace(t.PCT_ENCODED, n) .toLowerCase() .replace(t.NOT_HOST, P) .replace(t.PCT_ENCODED, o)), void 0 !== e.path && (e.path = String(e.path) .replace(t.PCT_ENCODED, n) .replace(e.scheme ? t.NOT_PATH : t.NOT_PATH_NOSCHEME, P) .replace(t.PCT_ENCODED, o)), void 0 !== e.query && (e.query = String(e.query) .replace(t.PCT_ENCODED, n) .replace(t.NOT_QUERY, P) .replace(t.PCT_ENCODED, o)), void 0 !== e.fragment && (e.fragment = String(e.fragment) .replace(t.PCT_ENCODED, n) .replace(t.NOT_FRAGMENT, P) .replace(t.PCT_ENCODED, o)), e ); } function C(e) { return e.replace(/^0*(.*)/, '$1') || '0'; } function R(e, t) { var n = e.match(t.IPV4ADDRESS) || [], r = l(n, 2)[1]; return r ? r.split('.').map(C).join('.') : e; } function j(e, t) { var n = e.match(t.IPV6ADDRESS) || [], r = l(n, 3), o = r[1], i = r[2]; if (o) { for ( var a = o.toLowerCase().split('::').reverse(), s = l(a, 2), c = s[0], u = s[1], p = u ? u.split(':').map(C) : [], d = c.split(':').map(C), f = t.IPV4ADDRESS.test(d[d.length - 1]), h = f ? 7 : 8, m = d.length - h, g = Array(h), y = 0; y < h; ++y ) g[y] = p[y] || d[m + y] || ''; f && (g[h - 1] = R(g[h - 1], t)); var v = g .reduce(function (e, t, n) { if (!t || '0' === t) { var r = e[e.length - 1]; r && r.index + r.length === n ? r.length++ : e.push({ index: n, length: 1 }); } return e; }, []) .sort(function (e, t) { return t.length - e.length; })[0], b = void 0; if (v && v.length > 1) { var w = g.slice(0, v.index), x = g.slice(v.index + v.length); b = w.join(':') + '::' + x.join(':'); } else b = g.join(':'); return i && (b += '%' + i), b; } return e; } var T = /^(?:([^:\\/?#]+):)?(?:\\/\\/((?:([^\\/?#@]*)@)?(\\[[^\\/?#\\]]+\\]|[^\\/?#:]*)(?:\\:(\\d*))?))?([^?#]*)(?:\\?([^#]*))?(?:#((?:.|\\n|\\r)*))?/i, I = void 0 === ''.match(/(){0}/)[1]; function N(e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, n = {}, r = !1 !== t.iri ? s : a; 'suffix' === t.reference && (e = (t.scheme ? t.scheme + ':' : '') + '//' + e); var o = e.match(T); if (o) { I ? ((n.scheme = o[1]), (n.userinfo = o[3]), (n.host = o[4]), (n.port = parseInt(o[5], 10)), (n.path = o[6] || ''), (n.query = o[7]), (n.fragment = o[8]), isNaN(n.port) && (n.port = o[5])) : ((n.scheme = o[1] || void 0), (n.userinfo = -1 !== e.indexOf('@') ? o[3] : void 0), (n.host = -1 !== e.indexOf('//') ? o[4] : void 0), (n.port = parseInt(o[5], 10)), (n.path = o[6] || ''), (n.query = -1 !== e.indexOf('?') ? o[7] : void 0), (n.fragment = -1 !== e.indexOf('#') ? o[8] : void 0), isNaN(n.port) && (n.port = e.match(/\\/\\/(?:.|\\n)*\\:(?:\\/|\\?|\\#|$)/) ? o[4] : void 0)), n.host && (n.host = j(R(n.host, r), r)), void 0 !== n.scheme || void 0 !== n.userinfo || void 0 !== n.host || void 0 !== n.port || n.path || void 0 !== n.query ? void 0 === n.scheme ? (n.reference = 'relative') : void 0 === n.fragment ? (n.reference = 'absolute') : (n.reference = 'uri') : (n.reference = 'same-document'), t.reference && 'suffix' !== t.reference && t.reference !== n.reference && (n.error = n.error || 'URI is not a ' + t.reference + ' reference.'); var i = E[(t.scheme || n.scheme || '').toLowerCase()]; if (t.unicodeSupport || (i && i.unicodeSupport)) $(n, r); else { if (n.host && (t.domainHost || (i && i.domainHost))) try { n.host = O( n.host.replace(r.PCT_ENCODED, A).toLowerCase() ); } catch (e) { n.error = n.error || "Host's domain name can not be converted to ASCII via punycode: " + e; } $(n, a); } i && i.parse && i.parse(n, t); } else n.error = n.error || 'URI can not be parsed.'; return n; } function D(e, t) { var n = !1 !== t.iri ? s : a, r = []; return ( void 0 !== e.userinfo && (r.push(e.userinfo), r.push('@')), void 0 !== e.host && r.push( j(R(String(e.host), n), n).replace( n.IPV6ADDRESS, function (e, t, n) { return '[' + t + (n ? '%25' + n : '') + ']'; } ) ), ('number' != typeof e.port && 'string' != typeof e.port) || (r.push(':'), r.push(String(e.port))), r.length ? r.join('') : void 0 ); } var L = /^\\.\\.?\\//, M = /^\\/\\.(\\/|$)/, F = /^\\/\\.\\.(\\/|$)/, z = /^\\/?(?:.|\\n)*?(?=\\/|$)/; function U(e) { for (var t = []; e.length; ) if (e.match(L)) e = e.replace(L, ''); else if (e.match(M)) e = e.replace(M, '/'); else if (e.match(F)) (e = e.replace(F, '/')), t.pop(); else if ('.' === e || '..' === e) e = ''; else { var n = e.match(z); if (!n) throw new Error('Unexpected dot segment condition'); var r = n[0]; (e = e.slice(r.length)), t.push(r); } return t.join(''); } function V(e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, n = t.iri ? s : a, r = [], o = E[(t.scheme || e.scheme || '').toLowerCase()]; if ((o && o.serialize && o.serialize(e, t), e.host)) if (n.IPV6ADDRESS.test(e.host)); else if (t.domainHost || (o && o.domainHost)) try { e.host = t.iri ? S(e.host) : O(e.host.replace(n.PCT_ENCODED, A).toLowerCase()); } catch (n) { e.error = e.error || "Host's domain name can not be converted to " + (t.iri ? 'Unicode' : 'ASCII') + ' via punycode: ' + n; } $(e, n), 'suffix' !== t.reference && e.scheme && (r.push(e.scheme), r.push(':')); var i = D(e, t); if ( (void 0 !== i && ('suffix' !== t.reference && r.push('//'), r.push(i), e.path && '/' !== e.path.charAt(0) && r.push('/')), void 0 !== e.path) ) { var l = e.path; t.absolutePath || (o && o.absolutePath) || (l = U(l)), void 0 === i && (l = l.replace(/^\\/\\//, '/%2F')), r.push(l); } return ( void 0 !== e.query && (r.push('?'), r.push(e.query)), void 0 !== e.fragment && (r.push('#'), r.push(e.fragment)), r.join('') ); } function B(e, t) { var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}, r = {}; return ( arguments[3] || ((e = N(V(e, n), n)), (t = N(V(t, n), n))), !(n = n || {}).tolerant && t.scheme ? ((r.scheme = t.scheme), (r.userinfo = t.userinfo), (r.host = t.host), (r.port = t.port), (r.path = U(t.path || '')), (r.query = t.query)) : (void 0 !== t.userinfo || void 0 !== t.host || void 0 !== t.port ? ((r.userinfo = t.userinfo), (r.host = t.host), (r.port = t.port), (r.path = U(t.path || '')), (r.query = t.query)) : (t.path ? ('/' === t.path.charAt(0) ? (r.path = U(t.path)) : ((void 0 === e.userinfo && void 0 === e.host && void 0 === e.port) || e.path ? e.path ? (r.path = e.path.slice( 0, e.path.lastIndexOf('/') + 1 ) + t.path) : (r.path = t.path) : (r.path = '/' + t.path), (r.path = U(r.path))), (r.query = t.query)) : ((r.path = e.path), void 0 !== t.query ? (r.query = t.query) : (r.query = e.query)), (r.userinfo = e.userinfo), (r.host = e.host), (r.port = e.port)), (r.scheme = e.scheme)), (r.fragment = t.fragment), r ); } function q(e, t) { return ( e && e .toString() .replace(t && t.iri ? s.PCT_ENCODED : a.PCT_ENCODED, A) ); } var W = { scheme: 'http', domainHost: !0, parse: function (e, t) { return ( e.host || (e.error = e.error || 'HTTP URIs must have a host.'), e ); }, serialize: function (e, t) { var n = 'https' === String(e.scheme).toLowerCase(); return ( (e.port !== (n ? 443 : 80) && '' !== e.port) || (e.port = void 0), e.path || (e.path = '/'), e ); } }, H = { scheme: 'https', domainHost: W.domainHost, parse: W.parse, serialize: W.serialize }; function Y(e) { return 'boolean' == typeof e.secure ? e.secure : 'wss' === String(e.scheme).toLowerCase(); } var K = { scheme: 'ws', domainHost: !0, parse: function (e, t) { var n = e; return ( (n.secure = Y(n)), (n.resourceName = (n.path || '/') + (n.query ? '?' + n.query : '')), (n.path = void 0), (n.query = void 0), n ); }, serialize: function (e, t) { if ( ((e.port !== (Y(e) ? 443 : 80) && '' !== e.port) || (e.port = void 0), 'boolean' == typeof e.secure && ((e.scheme = e.secure ? 'wss' : 'ws'), (e.secure = void 0)), e.resourceName) ) { var n = e.resourceName.split('?'), r = l(n, 2), o = r[0], i = r[1]; (e.path = o && '/' !== o ? o : void 0), (e.query = i), (e.resourceName = void 0); } return (e.fragment = void 0), e; } }, G = { scheme: 'wss', domainHost: K.domainHost, parse: K.parse, serialize: K.serialize }, Q = {}, X = '[A-Za-z0-9\\\\-\\\\.\\\\_\\\\~\\\\xA0-\\\\u200D\\\\u2010-\\\\u2029\\\\u202F-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF]', J = '[0-9A-Fa-f]', Z = n( n('%[EFef][0-9A-Fa-f]%' + J + J + '%' + J + J) +