dentityDetection: !0 }, function (e, n, r) { if (d(e, n)) if (e[n].startsWith('#')) if (h[e[n]] || e.$fixed) { if (!e.$fixed) { let t = (s + '/' + h[e[n]]).split('/#/').join('/'); (r.parent[r.pkey] = { $ref: t, 'x-miro': e[n], $fixed: !0 }), a.verbose > 1 && console.warn('Replacing with', t), m++; } } else { let o = u(l(t, e[n])); if ( (a.verbose > 1 && console.warn( (!1 === o ? f.colour.red : f.colour.green) + 'Fragment resolution', e[n], f.colour.normal ), !1 === o) ) { if (((r.parent[r.pkey] = {}), a.fatal)) { let t = new Error( 'Fragment $ref resolution failed ' + e[n] ); if (!a.promise) throw t; a.promise.reject(t); } } else m++, (r.parent[r.pkey] = o), (h[e[n]] = r.path.replace('/%24ref', '')); } else if (p.protocol) { let t = i.resolve(o, e[n]).toString(); a.verbose > 1 && console.warn( f.colour.yellow + 'Rewriting external url ref', e[n], 'as', t, f.colour.normal ), (e['x-miro'] = e[n]), a.externalRefs[e[n]] && (a.externalRefs[t] || (a.externalRefs[t] = a.externalRefs[e[n]]), (a.externalRefs[t].failed = a.externalRefs[e[n]].failed)), (e[n] = t); } else if (!e['x-miro']) { let t = i.resolve(o, e[n]).toString(), r = !1; a.externalRefs[e[n]] && (r = a.externalRefs[e[n]].failed), r || (a.verbose > 1 && console.warn( f.colour.yellow + 'Rewriting external ref', e[n], 'as', t, f.colour.normal ), (e['x-miro'] = e[n]), (e[n] = t)); } }); return ( c(e, {}, function (e, t, n) { d(e, t) && void 0 !== e.$fixed && delete e.$fixed; }), a.verbose > 1 && console.warn('Finished fragment resolution'), e ); } function m(e, t) { if (!t.filters || !t.filters.length) return e; for (let n of t.filters) e = n(e, t); return e; } function g(e, t, n, a) { var c = i.parse(n.source), p = n.source.split('\\\\').join('/').split('/'); p.pop() || p.pop(); let d = '', f = t.split('#'); f.length > 1 && ((d = '#' + f[1]), (t = f[0])), (p = p.join('/')); let g = ((y = i.parse(t).protocol), (v = c.protocol), y && y.length > 2 ? y : v && v.length > 2 ? v : 'file:'); var y, v; let b; if ( ((b = 'file:' === g ? o.resolve(p ? p + '/' : '', t) : i.resolve(p ? p + '/' : '', t)), n.cache[b]) ) { n.verbose && console.warn('CACHED', b, d); let e = u(n.cache[b]), r = (n.externalRef = e); if (d && ((r = l(r, d)), !1 === r && ((r = {}), n.fatal))) { let e = new Error('Cached $ref resolution failed ' + b + d); if (!n.promise) throw e; n.promise.reject(e); } return ( (r = h(r, e, t, d, b, n)), (r = m(r, n)), a(u(r), b, n), Promise.resolve(r) ); } if ( (n.verbose && console.warn('GET', b, d), n.handlers && n.handlers[g]) ) return n.handlers[g](p, t, d, n) .then(function (e) { return ( (n.externalRef = e), (e = m(e, n)), (n.cache[b] = e), a(e, b, n), e ); }) .catch(function (e) { throw (n.verbose && console.warn(e), e); }); if (g && g.startsWith('http')) { const e = Object.assign({}, n.fetchOptions, { agent: n.agent }); return n .fetch(b, e) .then(function (e) { if (200 !== e.status) { if (n.ignoreIOErrors) return ( n.verbose && console.warn('FAILED', t), (n.externalRefs[t].failed = !0), '{"$ref":"' + t + '"}' ); throw new Error(\`Received status code \${e.status}: \${b}\`); } return e.text(); }) .then(function (e) { try { let r = s.parse(e, { schema: 'core', prettyErrors: !0 }); if ( ((e = n.externalRef = r), (n.cache[b] = u(e)), d && !1 === (e = l(e, d)) && ((e = {}), n.fatal)) ) { let e = new Error( 'Remote $ref resolution failed ' + b + d ); if (!n.promise) throw e; n.promise.reject(e); } e = m((e = h(e, r, t, d, b, n)), n); } catch (e) { if ((n.verbose && console.warn(e), !n.promise || !n.fatal)) throw e; n.promise.reject(e); } return a(e, b, n), e; }) .catch(function (e) { if ( (n.verbose && console.warn(e), (n.cache[b] = {}), !n.promise || !n.fatal) ) throw e; n.promise.reject(e); }); } { const e = '{"$ref":"' + t + '"}'; return (function (e, t, n, o, i) { return new Promise(function (a, s) { r.readFile(e, t, function (e, t) { e ? n.ignoreIOErrors && i ? (n.verbose && console.warn('FAILED', o), (n.externalRefs[o].failed = !0), a(i)) : s(e) : a(t); }); }); })(b, n.encoding || 'utf8', n, t, e) .then(function (e) { try { let r = s.parse(e, { schema: 'core', prettyErrors: !0 }); if ( ((e = n.externalRef = r), (n.cache[b] = u(e)), d && !1 === (e = l(e, d)) && ((e = {}), n.fatal)) ) { let e = new Error('File $ref resolution failed ' + b + d); if (!n.promise) throw e; n.promise.reject(e); } e = m((e = h(e, r, t, d, b, n)), n); } catch (e) { if ((n.verbose && console.warn(e), !n.promise || !n.fatal)) throw e; n.promise.reject(e); } return a(e, b, n), e; }) .catch(function (e) { if ((n.verbose && console.warn(e), !n.promise || !n.fatal)) throw e; n.promise.reject(e); }); } } function y(e) { return new Promise(function (t, n) { (function (e) { return new Promise(function (t, n) { function r(t, n, r) { if (t[n] && d(t[n], '$ref')) { let i = t[n].$ref; if (!i.startsWith('#')) { let a = ''; if (!o[i]) { let t = Object.keys(o).find(function (e, t, n) { return i.startsWith(e + '/'); }); t && (e.verbose && console.warn('Found potential subschema at', t), (a = '/' + (i.split('#')[1] || '').replace( t.split('#')[1] || '' )), (a = a.split('/undefined').join('')), (i = t)); } if ( (o[i] || (o[i] = { resolved: !1, paths: [], extras: {}, description: t[n].description }), o[i].resolved) ) if (o[i].failed); else if (e.rewriteRefs) { let r = o[i].resolvedAt; e.verbose > 1 && console.warn('Rewriting ref', i, r), (t[n]['x-miro'] = i), (t[n].$ref = r + a); } else t[n] = u(o[i].data); else o[i].paths.push(r.path), (o[i].extras[r.path] = a); } } } let o = e.externalRefs; if (e.resolver.depth > 0 && e.source === e.resolver.base) return t(o); c( e.openapi.definitions, { identityDetection: !0, path: '#/definitions' }, r ), c( e.openapi.components, { identityDetection: !0, path: '#/components' }, r ), c(e.openapi, { identityDetection: !0 }, r), t(o); }); })(e) .then(function (t) { for (let n in t) if (!t[n].resolved) { let r = e.resolver.depth; r > 0 && r++, e.resolver.actions[r].push(function () { return g(e.openapi, n, e, function (e, r, o) { if (!t[n].resolved) { let i = {}; (i.context = t[n]), (i.$ref = n), (i.original = u(e)), (i.updated = e), (i.source = r), o.externals.push(i), (t[n].resolved = !0); } let i = Object.assign({}, o, { source: '', resolver: { actions: o.resolver.actions, depth: o.resolver.actions.length - 1, base: o.resolver.base } }); o.patch && t[n].description && !e.description && 'object' == typeof e && (e.description = t[n].description), (t[n].data = e); let a = ((s = t[n].paths), [...new Set(s)]); var s; a = a.sort(function (e, t) { const n = e.startsWith('#/components/') || e.startsWith('#/definitions/'), r = t.startsWith('#/components/') || t.startsWith('#/definitions/'); return n && !r ? -1 : r && !n ? 1 : 0; }); for (let r of a) if ( t[n].resolvedAt && r !== t[n].resolvedAt && r.indexOf('x-ms-examples/') < 0 ) o.verbose > 1 && console.warn( 'Creating pointer to data at', r ), l(o.openapi, r, { $ref: t[n].resolvedAt + t[n].extras[r], 'x-miro': n + t[n].extras[r] }); else { t[n].resolvedAt ? o.verbose > 1 && console.warn('Avoiding circular reference') : ((t[n].resolvedAt = r), o.verbose > 1 && console.warn( 'Creating initial clone of data at', r )); let i = u(e); l(o.openapi, r, i); } 0 === o.resolver.actions[i.resolver.depth].length && o.resolver.actions[i.resolver.depth].push( function () { return y(i); } ); }); }); } }) .catch(function (t) { e.verbose && console.warn(t), n(t); }); let r = { options: e }; (r.actions = e.resolver.actions[e.resolver.depth]), t(r); }); } function v(e, t, n) { e.resolver.actions.push([]), y(e) .then(function (r) { var o; ((o = r.actions), o.reduce( (e, t) => e.then(e => t().then(Array.prototype.concat.bind(e))), Promise.resolve([]) )) .then(function () { if (e.resolver.depth >= e.resolver.actions.length) return ( console.warn('Ran off the end of resolver actions'), t(!0) ); e.resolver.depth++, e.resolver.actions[e.resolver.depth].length ? setTimeout(function () { v(r.options, t, n); }, 0) : (e.verbose > 1 && console.warn( f.colour.yellow + 'Finished external resolution!', f.colour.normal ), e.resolveInternal && (e.verbose > 1 && console.warn( f.colour.yellow + 'Starting internal resolution!', f.colour.normal ), (e.openapi = p(e.openapi, e.original, { verbose: e.verbose - 1 })), e.verbose > 1 && console.warn( f.colour.yellow + 'Finished internal resolution!', f.colour.normal )), c(e.openapi, {}, function (t, n, r) { d(t, n) && (e.preserveMiro || delete t['x-miro']); }), t(e)); }) .catch(function (t) { e.verbose && console.warn(t), n(t); }); }) .catch(function (t) { e.verbose && console.warn(t), n(t); }); } function b(e) { if ( (e.cache || (e.cache = {}), e.fetch || (e.fetch = a), e.source) ) { let t = i.parse(e.source); (!t.protocol || t.protocol.length <= 2) && (e.source = o.resolve(e.source)); } (e.externals = []), (e.externalRefs = {}), (e.rewriteRefs = !0), (e.resolver = {}), (e.resolver.depth = 0), (e.resolver.base = e.source), (e.resolver.actions = [[]]); } e.exports = { optionalResolve: function (e) { return ( b(e), new Promise(function (t, n) { e.resolve ? v(e, t, n) : t(e); }) ); }, resolve: function (e, t, n) { return ( n || (n = {}), (n.openapi = e), (n.source = t), (n.resolve = !0), b(n), new Promise(function (e, t) { v(n, e, t); }) ); } }; }, 1804: function (e) { 'use strict'; function t() { return { depth: 0, seen: new WeakMap(), top: !0, combine: !1, allowRefSiblings: !1 }; } e.exports = { getDefaultState: t, walkSchema: function e(n, r, o, i) { if ((void 0 === o.depth && (o = t()), null == n)) return n; if (void 0 !== n.$ref) { let e = { $ref: n.$ref }; return ( o.allowRefSiblings && n.description && (e.description = n.description), i(e, r, o), e ); } if ( (o.combine && (n.allOf && Array.isArray(n.allOf) && 1 === n.allOf.length && delete (n = Object.assign({}, n.allOf[0], n)).allOf, n.anyOf && Array.isArray(n.anyOf) && 1 === n.anyOf.length && delete (n = Object.assign({}, n.anyOf[0], n)).anyOf, n.oneOf && Array.isArray(n.oneOf) && 1 === n.oneOf.length && delete (n = Object.assign({}, n.oneOf[0], n)).oneOf), i(n, r, o), o.seen.has(n)) ) return n; if ( ('object' == typeof n && null !== n && o.seen.set(n, !0), (o.top = !1), o.depth++, void 0 !== n.items && ((o.property = 'items'), e(n.items, n, o, i)), n.additionalItems && 'object' == typeof n.additionalItems && ((o.property = 'additionalItems'), e(n.additionalItems, n, o, i)), n.additionalProperties && 'object' == typeof n.additionalProperties && ((o.property = 'additionalProperties'), e(n.additionalProperties, n, o, i)), n.properties) ) for (let t in n.properties) { let r = n.properties[t]; (o.property = 'properties/' + t), e(r, n, o, i); } if (n.patternProperties) for (let t in n.patternProperties) { let r = n.patternProperties[t]; (o.property = 'patternProperties/' + t), e(r, n, o, i); } if (n.allOf) for (let t in n.allOf) { let r = n.allOf[t]; (o.property = 'allOf/' + t), e(r, n, o, i); } if (n.anyOf) for (let t in n.anyOf) { let r = n.anyOf[t]; (o.property = 'anyOf/' + t), e(r, n, o, i); } if (n.oneOf) for (let t in n.oneOf) { let r = n.oneOf[t]; (o.property = 'oneOf/' + t), e(r, n, o, i); } return ( n.not && ((o.property = 'not'), e(n.not, n, o, i)), o.depth--, n ); } }; }, 7418: function (e) { 'use strict'; var t = Object.getOwnPropertySymbols, n = Object.prototype.hasOwnProperty, r = Object.prototype.propertyIsEnumerable; function o(e) { if (null == e) throw new TypeError( 'Object.assign cannot be called with null or undefined' ); return Object(e); } e.exports = (function () { try { if (!Object.assign) return !1; var e = new String('abc'); if (((e[5] = 'de'), '5' === Object.getOwnPropertyNames(e)[0])) return !1; for (var t = {}, n = 0; n < 10; n++) t['_' + String.fromCharCode(n)] = n; if ( '0123456789' !== Object.getOwnPropertyNames(t) .map(function (e) { return t[e]; }) .join('') ) return !1; var r = {}; return ( 'abcdefghijklmnopqrst'.split('').forEach(function (e) { r[e] = e; }), 'abcdefghijklmnopqrst' === Object.keys(Object.assign({}, r)).join('') ); } catch (e) { return !1; } })() ? Object.assign : function (e, i) { for (var a, s, l = o(e), c = 1; c < arguments.length; c++) { for (var u in (a = Object(arguments[c]))) n.call(a, u) && (l[u] = a[u]); if (t) { s = t(a); for (var p = 0; p < s.length; p++) r.call(a, s[p]) && (l[s[p]] = a[s[p]]); } } return l; }; }, 6470: function (e) { 'use strict'; function t(e) { if ('string' != typeof e) throw new TypeError( 'Path must be a string. Received ' + JSON.stringify(e) ); } function n(e, t) { for ( var n, r = '', o = 0, i = -1, a = 0, s = 0; s <= e.length; ++s ) { if (s < e.length) n = e.charCodeAt(s); else { if (47 === n) break; n = 47; } if (47 === n) { if (i === s - 1 || 1 === a); else if (i !== s - 1 && 2 === a) { if ( r.length < 2 || 2 !== o || 46 !== r.charCodeAt(r.length - 1) || 46 !== r.charCodeAt(r.length - 2) ) if (r.length > 2) { var l = r.lastIndexOf('/'); if (l !== r.length - 1) { -1 === l ? ((r = ''), (o = 0)) : (o = (r = r.slice(0, l)).length - 1 - r.lastIndexOf('/')), (i = s), (a = 0); continue; } } else if (2 === r.length || 1 === r.length) { (r = ''), (o = 0), (i = s), (a = 0); continue; } t && (r.length > 0 ? (r += '/..') : (r = '..'), (o = 2)); } else r.length > 0 ? (r += '/' + e.slice(i + 1, s)) : (r = e.slice(i + 1, s)), (o = s - i - 1); (i = s), (a = 0); } else 46 === n && -1 !== a ? ++a : (a = -1); } return r; } var r = { resolve: function () { for ( var e, r = '', o = !1, i = arguments.length - 1; i >= -1 && !o; i-- ) { var a; i >= 0 ? (a = arguments[i]) : (void 0 === e && (e = process.cwd()), (a = e)), t(a), 0 !== a.length && ((r = a + '/' + r), (o = 47 === a.charCodeAt(0))); } return ( (r = n(r, !o)), o ? (r.length > 0 ? '/' + r : '/') : r.length > 0 ? r : '.' ); }, normalize: function (e) { if ((t(e), 0 === e.length)) return '.'; var r = 47 === e.charCodeAt(0), o = 47 === e.charCodeAt(e.length - 1); return ( 0 !== (e = n(e, !r)).length || r || (e = '.'), e.length > 0 && o && (e += '/'), r ? '/' + e : e ); }, isAbsolute: function (e) { return t(e), e.length > 0 && 47 === e.charCodeAt(0); }, join: function () { if (0 === arguments.length) return '.'; for (var e, n = 0; n < arguments.length; ++n) { var o = arguments[n]; t(o), o.length > 0 && (void 0 === e ? (e = o) : (e += '/' + o)); } return void 0 === e ? '.' : r.normalize(e); }, relative: function (e, n) { if ((t(e), t(n), e === n)) return ''; if ((e = r.resolve(e)) === (n = r.resolve(n))) return ''; for (var o = 1; o < e.length && 47 === e.charCodeAt(o); ++o); for ( var i = e.length, a = i - o, s = 1; s < n.length && 47 === n.charCodeAt(s); ++s ); for ( var l = n.length - s, c = a < l ? a : l, u = -1, p = 0; p <= c; ++p ) { if (p === c) { if (l > c) { if (47 === n.charCodeAt(s + p)) return n.slice(s + p + 1); if (0 === p) return n.slice(s + p); } else a > c && (47 === e.charCodeAt(o + p) ? (u = p) : 0 === p && (u = 0)); break; } var d = e.charCodeAt(o + p); if (d !== n.charCodeAt(s + p)) break; 47 === d && (u = p); } var f = ''; for (p = o + u + 1; p <= i; ++p) (p !== i && 47 !== e.charCodeAt(p)) || (0 === f.length ? (f += '..') : (f += '/..')); return f.length > 0 ? f + n.slice(s + u) : ((s += u), 47 === n.charCodeAt(s) && ++s, n.slice(s)); }, _makeLong: function (e) { return e; }, dirname: function (e) { if ((t(e), 0 === e.length)) return '.'; for ( var n = e.charCodeAt(0), r = 47 === n, o = -1, i = !0, a = e.length - 1; a >= 1; --a ) if (47 === (n = e.charCodeAt(a))) { if (!i) { o = a; break; } } else i = !1; return -1 === o ? r ? '/' : '.' : r && 1 === o ? '//' : e.slice(0, o); }, basename: function (e, n) { if (void 0 !== n && 'string' != typeof n) throw new TypeError('"ext" argument must be a string'); t(e); var r, o = 0, i = -1, a = !0; if (void 0 !== n && n.length > 0 && n.length <= e.length) { if (n.length === e.length && n === e) return ''; var s = n.length - 1, l = -1; for (r = e.length - 1; r >= 0; --r) { var c = e.charCodeAt(r); if (47 === c) { if (!a) { o = r + 1; break; } } else -1 === l && ((a = !1), (l = r + 1)), s >= 0 && (c === n.charCodeAt(s) ? -1 == --s && (i = r) : ((s = -1), (i = l))); } return ( o === i ? (i = l) : -1 === i && (i = e.length), e.slice(o, i) ); } for (r = e.length - 1; r >= 0; --r) if (47 === e.charCodeAt(r)) { if (!a) { o = r + 1; break; } } else -1 === i && ((a = !1), (i = r + 1)); return -1 === i ? '' : e.slice(o, i); }, extname: function (e) { t(e); for ( var n = -1, r = 0, o = -1, i = !0, a = 0, s = e.length - 1; s >= 0; --s ) { var l = e.charCodeAt(s); if (47 !== l) -1 === o && ((i = !1), (o = s + 1)), 46 === l ? -1 === n ? (n = s) : 1 !== a && (a = 1) : -1 !== n && (a = -1); else if (!i) { r = s + 1; break; } } return -1 === n || -1 === o || 0 === a || (1 === a && n === o - 1 && n === r + 1) ? '' : e.slice(n, o); }, format: function (e) { if (null === e || 'object' != typeof e) throw new TypeError( 'The "pathObject