@sanity/client 3.4.0-beta.esm.2 → 3.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/sanityClient.browser.mjs +316 -3452
- package/dist/sanityClient.browser.mjs.map +3 -3
- package/lib/config.js +2 -2
- package/lib/generateHelpUrl.js +7 -0
- package/lib/sanityClient.js +5 -1
- package/lib/warnings.js +1 -1
- package/package.json +19 -27
- package/sanityClient.d.ts +252 -97
- package/umd/sanityClient.js +30 -30
- package/umd/sanityClient.min.js +1 -1
- package/dist/sanityClient.node.js +0 -1129
- package/dist/sanityClient.node.js.map +0 -7
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../
|
|
4
|
-
"sourcesContent": ["/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, "// Since `@sanity/client` doesn't offer ESM exports (yet) const {filter} = require('rxjs/operators') will cause the the whole of rxjs to be included in the bundle.\n// The internal import paths here is a stop-gap measure and will become less of a problem when @sanity/client export tree-shakeable esm bundles\nconst {Observable} = require('rxjs/internal/Observable')\nconst {filter} = require('rxjs/internal/operators/filter')\nconst {map} = require('rxjs/internal/operators/map')\n\nmodule.exports = {\n Observable,\n filter,\n map,\n}\n", "module.exports = function getSelection(sel) {\n if (typeof sel === 'string' || Array.isArray(sel)) {\n return {id: sel}\n }\n\n if (sel && sel.query) {\n return 'params' in sel ? {query: sel.query, params: sel.params} : {query: sel.query}\n }\n\n const selectionOpts = [\n '* Document ID (<docId>)',\n '* Array of document IDs',\n '* Object containing `query`',\n ].join('\\n')\n\n throw new Error(`Unknown selection - must be one of:\\n\\n${selectionOpts}`)\n}\n", "const VALID_ASSET_TYPES = ['image', 'file']\nconst VALID_INSERT_LOCATIONS = ['before', 'after', 'replace']\n\nexports.dataset = (name) => {\n if (!/^(~[a-z0-9]{1}[-\\w]{0,63}|[a-z0-9]{1}[-\\w]{0,63})$/.test(name)) {\n throw new Error(\n 'Datasets can only contain lowercase characters, numbers, underscores and dashes, and start with tilde, and be maximum 64 characters'\n )\n }\n}\n\nexports.projectId = (id) => {\n if (!/^[-a-z0-9]+$/i.test(id)) {\n throw new Error('`projectId` can only contain only a-z, 0-9 and dashes')\n }\n}\n\nexports.validateAssetType = (type) => {\n if (VALID_ASSET_TYPES.indexOf(type) === -1) {\n throw new Error(`Invalid asset type: ${type}. Must be one of ${VALID_ASSET_TYPES.join(', ')}`)\n }\n}\n\nexports.validateObject = (op, val) => {\n if (val === null || typeof val !== 'object' || Array.isArray(val)) {\n throw new Error(`${op}() takes an object of properties`)\n }\n}\n\nexports.requireDocumentId = (op, doc) => {\n if (!doc._id) {\n throw new Error(`${op}() requires that the document contains an ID (\"_id\" property)`)\n }\n\n exports.validateDocumentId(op, doc._id)\n}\n\nexports.validateDocumentId = (op, id) => {\n if (typeof id !== 'string' || !/^[a-z0-9_.-]+$/i.test(id)) {\n throw new Error(`${op}(): \"${id}\" is not a valid document ID`)\n }\n}\n\nexports.validateInsert = (at, selector, items) => {\n const signature = 'insert(at, selector, items)'\n if (VALID_INSERT_LOCATIONS.indexOf(at) === -1) {\n const valid = VALID_INSERT_LOCATIONS.map((loc) => `\"${loc}\"`).join(', ')\n throw new Error(`${signature} takes an \"at\"-argument which is one of: ${valid}`)\n }\n\n if (typeof selector !== 'string') {\n throw new Error(`${signature} takes a \"selector\"-argument which must be a string`)\n }\n\n if (!Array.isArray(items)) {\n throw new Error(`${signature} takes an \"items\"-argument which must be an array`)\n }\n}\n\nexports.hasDataset = (config) => {\n if (!config.dataset) {\n throw new Error('`dataset` must be provided to perform queries')\n }\n\n return config.dataset || ''\n}\n\nexports.requestTag = (tag) => {\n if (typeof tag !== 'string' || !/^[a-z0-9._-]{1,75}$/i.test(tag)) {\n throw new Error(\n `Tag can only contain alphanumeric characters, underscores, dashes and dots, and be between one and 75 characters long.`\n )\n }\n\n return tag\n}\n", "const assign = require('object-assign')\nconst getSelection = require('../util/getSelection')\nconst validate = require('../validators')\nconst validateObject = validate.validateObject\nconst validateInsert = validate.validateInsert\n\nfunction Patch(selection, operations = {}, client = null) {\n this.selection = selection\n this.operations = assign({}, operations)\n this.client = client\n}\n\nassign(Patch.prototype, {\n clone() {\n return new Patch(this.selection, assign({}, this.operations), this.client)\n },\n\n set(props) {\n return this._assign('set', props)\n },\n\n diffMatchPatch(props) {\n validateObject('diffMatchPatch', props)\n return this._assign('diffMatchPatch', props)\n },\n\n unset(attrs) {\n if (!Array.isArray(attrs)) {\n throw new Error('unset(attrs) takes an array of attributes to unset, non-array given')\n }\n\n this.operations = assign({}, this.operations, {unset: attrs})\n return this\n },\n\n setIfMissing(props) {\n return this._assign('setIfMissing', props)\n },\n\n replace(props) {\n validateObject('replace', props)\n return this._set('set', {$: props}) // eslint-disable-line id-length\n },\n\n inc(props) {\n return this._assign('inc', props)\n },\n\n dec(props) {\n return this._assign('dec', props)\n },\n\n insert(at, selector, items) {\n validateInsert(at, selector, items)\n return this._assign('insert', {[at]: selector, items})\n },\n\n append(selector, items) {\n return this.insert('after', `${selector}[-1]`, items)\n },\n\n prepend(selector, items) {\n return this.insert('before', `${selector}[0]`, items)\n },\n\n splice(selector, start, deleteCount, items) {\n // Negative indexes doesn't mean the same in Sanity as they do in JS;\n // -1 means \"actually at the end of the array\", which allows inserting\n // at the end of the array without knowing its length. We therefore have\n // to substract negative indexes by one to match JS. If you want Sanity-\n // behaviour, just use `insert('replace', selector, items)` directly\n const delAll = typeof deleteCount === 'undefined' || deleteCount === -1\n const startIndex = start < 0 ? start - 1 : start\n const delCount = delAll ? -1 : Math.max(0, start + deleteCount)\n const delRange = startIndex < 0 && delCount >= 0 ? '' : delCount\n const rangeSelector = `${selector}[${startIndex}:${delRange}]`\n return this.insert('replace', rangeSelector, items || [])\n },\n\n ifRevisionId(rev) {\n this.operations.ifRevisionID = rev\n return this\n },\n\n serialize() {\n return assign(getSelection(this.selection), this.operations)\n },\n\n toJSON() {\n return this.serialize()\n },\n\n commit(options = {}) {\n if (!this.client) {\n throw new Error(\n 'No `client` passed to patch, either provide one or pass the ' +\n 'patch to a clients `mutate()` method'\n )\n }\n\n const returnFirst = typeof this.selection === 'string'\n const opts = assign({returnFirst, returnDocuments: true}, options)\n return this.client.mutate({patch: this.serialize()}, opts)\n },\n\n reset() {\n this.operations = {}\n return this\n },\n\n _set(op, props) {\n return this._assign(op, props, false)\n },\n\n _assign(op, props, merge = true) {\n validateObject(op, props)\n this.operations = assign({}, this.operations, {\n [op]: assign({}, (merge && this.operations[op]) || {}, props),\n })\n return this\n },\n})\n\nmodule.exports = Patch\n", "const assign = require('object-assign')\nconst validators = require('../validators')\nconst Patch = require('./patch')\n\nconst defaultMutateOptions = {returnDocuments: false}\n\nfunction Transaction(operations = [], client, transactionId) {\n this.trxId = transactionId\n this.operations = operations\n this.client = client\n}\n\nassign(Transaction.prototype, {\n clone() {\n return new Transaction(this.operations.slice(0), this.client, this.trxId)\n },\n\n create(doc) {\n validators.validateObject('create', doc)\n return this._add({create: doc})\n },\n\n createIfNotExists(doc) {\n const op = 'createIfNotExists'\n validators.validateObject(op, doc)\n validators.requireDocumentId(op, doc)\n return this._add({[op]: doc})\n },\n\n createOrReplace(doc) {\n const op = 'createOrReplace'\n validators.validateObject(op, doc)\n validators.requireDocumentId(op, doc)\n return this._add({[op]: doc})\n },\n\n delete(documentId) {\n validators.validateDocumentId('delete', documentId)\n return this._add({delete: {id: documentId}})\n },\n\n patch(documentId, patchOps) {\n const isBuilder = typeof patchOps === 'function'\n const isPatch = documentId instanceof Patch\n\n // transaction.patch(client.patch('documentId').inc({visits: 1}))\n if (isPatch) {\n return this._add({patch: documentId.serialize()})\n }\n\n // patch => patch.inc({visits: 1}).set({foo: 'bar'})\n if (isBuilder) {\n const patch = patchOps(new Patch(documentId, {}, this.client))\n if (!(patch instanceof Patch)) {\n throw new Error('function passed to `patch()` must return the patch')\n }\n\n return this._add({patch: patch.serialize()})\n }\n\n return this._add({patch: assign({id: documentId}, patchOps)})\n },\n\n transactionId(id) {\n if (!id) {\n return this.trxId\n }\n\n this.trxId = id\n return this\n },\n\n serialize() {\n return this.operations.slice()\n },\n\n toJSON() {\n return this.serialize()\n },\n\n commit(options) {\n if (!this.client) {\n throw new Error(\n 'No `client` passed to transaction, either provide one or pass the ' +\n 'transaction to a clients `mutate()` method'\n )\n }\n\n return this.client.mutate(\n this.serialize(),\n assign({transactionId: this.trxId}, defaultMutateOptions, options || {})\n )\n },\n\n reset() {\n this.operations = []\n return this\n },\n\n _add(mut) {\n this.operations.push(mut)\n return this\n },\n})\n\nmodule.exports = Transaction\n", "const enc = encodeURIComponent\n\nmodule.exports = ({query, params = {}, options = {}}) => {\n // We generally want tag at the start of the query string\n const {tag, ...opts} = options\n const q = `query=${enc(query)}`\n const base = tag ? `?tag=${enc(tag)}&${q}` : `?${q}`\n\n const qString = Object.keys(params).reduce(\n (qs, param) => `${qs}&${enc(`$${param}`)}=${enc(JSON.stringify(params[param]))}`,\n base\n )\n\n return Object.keys(opts).reduce((qs, option) => {\n // Only include the option if it is truthy\n return options[option] ? `${qs}&${enc(option)}=${enc(options[option])}` : qs\n }, qString)\n}\n", "/** @license\r\n * eventsource.js\r\n * Available under MIT License (MIT)\r\n * https://github.com/Yaffle/EventSource/\r\n */\r\n\r\n/*jslint indent: 2, vars: true, plusplus: true */\r\n/*global setTimeout, clearTimeout */\r\n\r\n(function (global) {\r\n \"use strict\";\r\n\r\n var setTimeout = global.setTimeout;\r\n var clearTimeout = global.clearTimeout;\r\n var XMLHttpRequest = global.XMLHttpRequest;\r\n var XDomainRequest = global.XDomainRequest;\r\n var ActiveXObject = global.ActiveXObject;\r\n var NativeEventSource = global.EventSource;\r\n\r\n var document = global.document;\r\n var Promise = global.Promise;\r\n var fetch = global.fetch;\r\n var Response = global.Response;\r\n var TextDecoder = global.TextDecoder;\r\n var TextEncoder = global.TextEncoder;\r\n var AbortController = global.AbortController;\r\n\r\n if (typeof window !== \"undefined\" && typeof document !== \"undefined\" && !(\"readyState\" in document) && document.body == null) { // Firefox 2\r\n document.readyState = \"loading\";\r\n window.addEventListener(\"load\", function (event) {\r\n document.readyState = \"complete\";\r\n }, false);\r\n }\r\n\r\n if (XMLHttpRequest == null && ActiveXObject != null) { // https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest_in_IE6\r\n XMLHttpRequest = function () {\r\n return new ActiveXObject(\"Microsoft.XMLHTTP\");\r\n };\r\n }\r\n\r\n if (Object.create == undefined) {\r\n Object.create = function (C) {\r\n function F(){}\r\n F.prototype = C;\r\n return new F();\r\n };\r\n }\r\n\r\n if (!Date.now) {\r\n Date.now = function now() {\r\n return new Date().getTime();\r\n };\r\n }\r\n\r\n // see #118 (Promise#finally with polyfilled Promise)\r\n // see #123 (data URLs crash Edge)\r\n // see #125 (CSP violations)\r\n // see pull/#138\r\n // => No way to polyfill Promise#finally\r\n\r\n if (AbortController == undefined) {\r\n var originalFetch2 = fetch;\r\n fetch = function (url, options) {\r\n var signal = options.signal;\r\n return originalFetch2(url, {headers: options.headers, credentials: options.credentials, cache: options.cache}).then(function (response) {\r\n var reader = response.body.getReader();\r\n signal._reader = reader;\r\n if (signal._aborted) {\r\n signal._reader.cancel();\r\n }\r\n return {\r\n status: response.status,\r\n statusText: response.statusText,\r\n headers: response.headers,\r\n body: {\r\n getReader: function () {\r\n return reader;\r\n }\r\n }\r\n };\r\n });\r\n };\r\n AbortController = function () {\r\n this.signal = {\r\n _reader: null,\r\n _aborted: false\r\n };\r\n this.abort = function () {\r\n if (this.signal._reader != null) {\r\n this.signal._reader.cancel();\r\n }\r\n this.signal._aborted = true;\r\n };\r\n };\r\n }\r\n\r\n function TextDecoderPolyfill() {\r\n this.bitsNeeded = 0;\r\n this.codePoint = 0;\r\n }\r\n\r\n TextDecoderPolyfill.prototype.decode = function (octets) {\r\n function valid(codePoint, shift, octetsCount) {\r\n if (octetsCount === 1) {\r\n return codePoint >= 0x0080 >> shift && codePoint << shift <= 0x07FF;\r\n }\r\n if (octetsCount === 2) {\r\n return codePoint >= 0x0800 >> shift && codePoint << shift <= 0xD7FF || codePoint >= 0xE000 >> shift && codePoint << shift <= 0xFFFF;\r\n }\r\n if (octetsCount === 3) {\r\n return codePoint >= 0x010000 >> shift && codePoint << shift <= 0x10FFFF;\r\n }\r\n throw new Error();\r\n }\r\n function octetsCount(bitsNeeded, codePoint) {\r\n if (bitsNeeded === 6 * 1) {\r\n return codePoint >> 6 > 15 ? 3 : codePoint > 31 ? 2 : 1;\r\n }\r\n if (bitsNeeded === 6 * 2) {\r\n return codePoint > 15 ? 3 : 2;\r\n }\r\n if (bitsNeeded === 6 * 3) {\r\n return 3;\r\n }\r\n throw new Error();\r\n }\r\n var REPLACER = 0xFFFD;\r\n var string = \"\";\r\n var bitsNeeded = this.bitsNeeded;\r\n var codePoint = this.codePoint;\r\n for (var i = 0; i < octets.length; i += 1) {\r\n var octet = octets[i];\r\n if (bitsNeeded !== 0) {\r\n if (octet < 128 || octet > 191 || !valid(codePoint << 6 | octet & 63, bitsNeeded - 6, octetsCount(bitsNeeded, codePoint))) {\r\n bitsNeeded = 0;\r\n codePoint = REPLACER;\r\n string += String.fromCharCode(codePoint);\r\n }\r\n }\r\n if (bitsNeeded === 0) {\r\n if (octet >= 0 && octet <= 127) {\r\n bitsNeeded = 0;\r\n codePoint = octet;\r\n } else if (octet >= 192 && octet <= 223) {\r\n bitsNeeded = 6 * 1;\r\n codePoint = octet & 31;\r\n } else if (octet >= 224 && octet <= 239) {\r\n bitsNeeded = 6 * 2;\r\n codePoint = octet & 15;\r\n } else if (octet >= 240 && octet <= 247) {\r\n bitsNeeded = 6 * 3;\r\n codePoint = octet & 7;\r\n } else {\r\n bitsNeeded = 0;\r\n codePoint = REPLACER;\r\n }\r\n if (bitsNeeded !== 0 && !valid(codePoint, bitsNeeded, octetsCount(bitsNeeded, codePoint))) {\r\n bitsNeeded = 0;\r\n codePoint = REPLACER;\r\n }\r\n } else {\r\n bitsNeeded -= 6;\r\n codePoint = codePoint << 6 | octet & 63;\r\n }\r\n if (bitsNeeded === 0) {\r\n if (codePoint <= 0xFFFF) {\r\n string += String.fromCharCode(codePoint);\r\n } else {\r\n string += String.fromCharCode(0xD800 + (codePoint - 0xFFFF - 1 >> 10));\r\n string += String.fromCharCode(0xDC00 + (codePoint - 0xFFFF - 1 & 0x3FF));\r\n }\r\n }\r\n }\r\n this.bitsNeeded = bitsNeeded;\r\n this.codePoint = codePoint;\r\n return string;\r\n };\r\n\r\n // Firefox < 38 throws an error with stream option\r\n var supportsStreamOption = function () {\r\n try {\r\n return new TextDecoder().decode(new TextEncoder().encode(\"test\"), {stream: true}) === \"test\";\r\n } catch (error) {\r\n console.debug(\"TextDecoder does not support streaming option. Using polyfill instead: \" + error);\r\n }\r\n return false;\r\n };\r\n\r\n // IE, Edge\r\n if (TextDecoder == undefined || TextEncoder == undefined || !supportsStreamOption()) {\r\n TextDecoder = TextDecoderPolyfill;\r\n }\r\n\r\n var k = function () {\r\n };\r\n\r\n function XHRWrapper(xhr) {\r\n this.withCredentials = false;\r\n this.readyState = 0;\r\n this.status = 0;\r\n this.statusText = \"\";\r\n this.responseText = \"\";\r\n this.onprogress = k;\r\n this.onload = k;\r\n this.onerror = k;\r\n this.onreadystatechange = k;\r\n this._contentType = \"\";\r\n this._xhr = xhr;\r\n this._sendTimeout = 0;\r\n this._abort = k;\r\n }\r\n\r\n XHRWrapper.prototype.open = function (method, url) {\r\n this._abort(true);\r\n\r\n var that = this;\r\n var xhr = this._xhr;\r\n var state = 1;\r\n var timeout = 0;\r\n\r\n this._abort = function (silent) {\r\n if (that._sendTimeout !== 0) {\r\n clearTimeout(that._sendTimeout);\r\n that._sendTimeout = 0;\r\n }\r\n if (state === 1 || state === 2 || state === 3) {\r\n state = 4;\r\n xhr.onload = k;\r\n xhr.onerror = k;\r\n xhr.onabort = k;\r\n xhr.onprogress = k;\r\n xhr.onreadystatechange = k;\r\n // IE 8 - 9: XDomainRequest#abort() does not fire any event\r\n // Opera < 10: XMLHttpRequest#abort() does not fire any event\r\n xhr.abort();\r\n if (timeout !== 0) {\r\n clearTimeout(timeout);\r\n timeout = 0;\r\n }\r\n if (!silent) {\r\n that.readyState = 4;\r\n that.onabort(null);\r\n that.onreadystatechange();\r\n }\r\n }\r\n state = 0;\r\n };\r\n\r\n var onStart = function () {\r\n if (state === 1) {\r\n //state = 2;\r\n var status = 0;\r\n var statusText = \"\";\r\n var contentType = undefined;\r\n if (!(\"contentType\" in xhr)) {\r\n try {\r\n status = xhr.status;\r\n statusText = xhr.statusText;\r\n contentType = xhr.getResponseHeader(\"Content-Type\");\r\n } catch (error) {\r\n // IE < 10 throws exception for `xhr.status` when xhr.readyState === 2 || xhr.readyState === 3\r\n // Opera < 11 throws exception for `xhr.status` when xhr.readyState === 2\r\n // https://bugs.webkit.org/show_bug.cgi?id=29121\r\n status = 0;\r\n statusText = \"\";\r\n contentType = undefined;\r\n // Firefox < 14, Chrome ?, Safari ?\r\n // https://bugs.webkit.org/show_bug.cgi?id=29658\r\n // https://bugs.webkit.org/show_bug.cgi?id=77854\r\n }\r\n } else {\r\n status = 200;\r\n statusText = \"OK\";\r\n contentType = xhr.contentType;\r\n }\r\n if (status !== 0) {\r\n state = 2;\r\n that.readyState = 2;\r\n that.status = status;\r\n that.statusText = statusText;\r\n that._contentType = contentType;\r\n that.onreadystatechange();\r\n }\r\n }\r\n };\r\n var onProgress = function () {\r\n onStart();\r\n if (state === 2 || state === 3) {\r\n state = 3;\r\n var responseText = \"\";\r\n try {\r\n responseText = xhr.responseText;\r\n } catch (error) {\r\n // IE 8 - 9 with XMLHttpRequest\r\n }\r\n that.readyState = 3;\r\n that.responseText = responseText;\r\n that.onprogress();\r\n }\r\n };\r\n var onFinish = function (type, event) {\r\n if (event == null || event.preventDefault == null) {\r\n event = {\r\n preventDefault: k\r\n };\r\n }\r\n // Firefox 52 fires \"readystatechange\" (xhr.readyState === 4) without final \"readystatechange\" (xhr.readyState === 3)\r\n // IE 8 fires \"onload\" without \"onprogress\"\r\n onProgress();\r\n if (state === 1 || state === 2 || state === 3) {\r\n state = 4;\r\n if (timeout !== 0) {\r\n clearTimeout(timeout);\r\n timeout = 0;\r\n }\r\n that.readyState = 4;\r\n if (type === \"load\") {\r\n that.onload(event);\r\n } else if (type === \"error\") {\r\n that.onerror(event);\r\n } else if (type === \"abort\") {\r\n that.onabort(event);\r\n } else {\r\n throw new TypeError();\r\n }\r\n that.onreadystatechange();\r\n }\r\n };\r\n var onReadyStateChange = function (event) {\r\n if (xhr != undefined) { // Opera 12\r\n if (xhr.readyState === 4) {\r\n if (!(\"onload\" in xhr) || !(\"onerror\" in xhr) || !(\"onabort\" in xhr)) {\r\n onFinish(xhr.responseText === \"\" ? \"error\" : \"load\", event);\r\n }\r\n } else if (xhr.readyState === 3) {\r\n if (!(\"onprogress\" in xhr)) { // testing XMLHttpRequest#responseText too many times is too slow in IE 11\r\n // and in Firefox 3.6\r\n onProgress();\r\n }\r\n } else if (xhr.readyState === 2) {\r\n onStart();\r\n }\r\n }\r\n };\r\n var onTimeout = function () {\r\n timeout = setTimeout(function () {\r\n onTimeout();\r\n }, 500);\r\n if (xhr.readyState === 3) {\r\n onProgress();\r\n }\r\n };\r\n\r\n // XDomainRequest#abort removes onprogress, onerror, onload\r\n if (\"onload\" in xhr) {\r\n xhr.onload = function (event) {\r\n onFinish(\"load\", event);\r\n };\r\n }\r\n if (\"onerror\" in xhr) {\r\n xhr.onerror = function (event) {\r\n onFinish(\"error\", event);\r\n };\r\n }\r\n // improper fix to match Firefox behaviour, but it is better than just ignore abort\r\n // see https://bugzilla.mozilla.org/show_bug.cgi?id=768596\r\n // https://bugzilla.mozilla.org/show_bug.cgi?id=880200\r\n // https://code.google.com/p/chromium/issues/detail?id=153570\r\n // IE 8 fires \"onload\" without \"onprogress\r\n if (\"onabort\" in xhr) {\r\n xhr.onabort = function (event) {\r\n onFinish(\"abort\", event);\r\n };\r\n }\r\n\r\n if (\"onprogress\" in xhr) {\r\n xhr.onprogress = onProgress;\r\n }\r\n\r\n // IE 8 - 9 (XMLHTTPRequest)\r\n // Opera < 12\r\n // Firefox < 3.5\r\n // Firefox 3.5 - 3.6 - ? < 9.0\r\n // onprogress is not fired sometimes or delayed\r\n // see also #64 (significant lag in IE 11)\r\n if (\"onreadystatechange\" in xhr) {\r\n xhr.onreadystatechange = function (event) {\r\n onReadyStateChange(event);\r\n };\r\n }\r\n\r\n if (\"contentType\" in xhr || !(\"ontimeout\" in XMLHttpRequest.prototype)) {\r\n url += (url.indexOf(\"?\") === -1 ? \"?\" : \"&\") + \"padding=true\";\r\n }\r\n xhr.open(method, url, true);\r\n\r\n if (\"readyState\" in xhr) {\r\n // workaround for Opera 12 issue with \"progress\" events\r\n // #91 (XMLHttpRequest onprogress not fired for streaming response in Edge 14-15-?)\r\n timeout = setTimeout(function () {\r\n onTimeout();\r\n }, 0);\r\n }\r\n };\r\n XHRWrapper.prototype.abort = function () {\r\n this._abort(false);\r\n };\r\n XHRWrapper.prototype.getResponseHeader = function (name) {\r\n return this._contentType;\r\n };\r\n XHRWrapper.prototype.setRequestHeader = function (name, value) {\r\n var xhr = this._xhr;\r\n if (\"setRequestHeader\" in xhr) {\r\n xhr.setRequestHeader(name, value);\r\n }\r\n };\r\n XHRWrapper.prototype.getAllResponseHeaders = function () {\r\n // XMLHttpRequest#getAllResponseHeaders returns null for CORS requests in Firefox 3.6.28\r\n return this._xhr.getAllResponseHeaders != undefined ? this._xhr.getAllResponseHeaders() || \"\" : \"\";\r\n };\r\n XHRWrapper.prototype.send = function () {\r\n // loading indicator in Safari < ? (6), Chrome < 14, Firefox\r\n // https://bugzilla.mozilla.org/show_bug.cgi?id=736723\r\n if ((!(\"ontimeout\" in XMLHttpRequest.prototype) || (!(\"sendAsBinary\" in XMLHttpRequest.prototype) && !(\"mozAnon\" in XMLHttpRequest.prototype))) &&\r\n document != undefined &&\r\n document.readyState != undefined &&\r\n document.readyState !== \"complete\") {\r\n var that = this;\r\n that._sendTimeout = setTimeout(function () {\r\n that._sendTimeout = 0;\r\n that.send();\r\n }, 4);\r\n return;\r\n }\r\n\r\n var xhr = this._xhr;\r\n // withCredentials should be set after \"open\" for Safari and Chrome (< 19 ?)\r\n if (\"withCredentials\" in xhr) {\r\n xhr.withCredentials = this.withCredentials;\r\n }\r\n try {\r\n // xhr.send(); throws \"Not enough arguments\" in Firefox 3.0\r\n xhr.send(undefined);\r\n } catch (error1) {\r\n // Safari 5.1.7, Opera 12\r\n throw error1;\r\n }\r\n };\r\n\r\n function toLowerCase(name) {\r\n return name.replace(/[A-Z]/g, function (c) {\r\n return String.fromCharCode(c.charCodeAt(0) + 0x20);\r\n });\r\n }\r\n\r\n function HeadersPolyfill(all) {\r\n // Get headers: implemented according to mozilla's example code: https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/getAllResponseHeaders#Example\r\n var map = Object.create(null);\r\n var array = all.split(\"\\r\\n\");\r\n for (var i = 0; i < array.length; i += 1) {\r\n var line = array[i];\r\n var parts = line.split(\": \");\r\n var name = parts.shift();\r\n var value = parts.join(\": \");\r\n map[toLowerCase(name)] = value;\r\n }\r\n this._map = map;\r\n }\r\n HeadersPolyfill.prototype.get = function (name) {\r\n return this._map[toLowerCase(name)];\r\n };\r\n\r\n if (XMLHttpRequest != null && XMLHttpRequest.HEADERS_RECEIVED == null) { // IE < 9, Firefox 3.6\r\n XMLHttpRequest.HEADERS_RECEIVED = 2;\r\n }\r\n\r\n function XHRTransport() {\r\n }\r\n\r\n XHRTransport.prototype.open = function (xhr, onStartCallback, onProgressCallback, onFinishCallback, url, withCredentials, headers) {\r\n xhr.open(\"GET\", url);\r\n var offset = 0;\r\n xhr.onprogress = function () {\r\n var responseText = xhr.responseText;\r\n var chunk = responseText.slice(offset);\r\n offset += chunk.length;\r\n onProgressCallback(chunk);\r\n };\r\n xhr.onerror = function (event) {\r\n event.preventDefault();\r\n onFinishCallback(new Error(\"NetworkError\"));\r\n };\r\n xhr.onload = function () {\r\n onFinishCallback(null);\r\n };\r\n xhr.onabort = function () {\r\n onFinishCallback(null);\r\n };\r\n xhr.onreadystatechange = function () {\r\n if (xhr.readyState === XMLHttpRequest.HEADERS_RECEIVED) {\r\n var status = xhr.status;\r\n var statusText = xhr.statusText;\r\n var contentType = xhr.getResponseHeader(\"Content-Type\");\r\n var headers = xhr.getAllResponseHeaders();\r\n onStartCallback(status, statusText, contentType, new HeadersPolyfill(headers));\r\n }\r\n };\r\n xhr.withCredentials = withCredentials;\r\n for (var name in headers) {\r\n if (Object.prototype.hasOwnProperty.call(headers, name)) {\r\n xhr.setRequestHeader(name, headers[name]);\r\n }\r\n }\r\n xhr.send();\r\n return xhr;\r\n };\r\n\r\n function HeadersWrapper(headers) {\r\n this._headers = headers;\r\n }\r\n HeadersWrapper.prototype.get = function (name) {\r\n return this._headers.get(name);\r\n };\r\n\r\n function FetchTransport() {\r\n }\r\n\r\n FetchTransport.prototype.open = function (xhr, onStartCallback, onProgressCallback, onFinishCallback, url, withCredentials, headers) {\r\n var reader = null;\r\n var controller = new AbortController();\r\n var signal = controller.signal;\r\n var textDecoder = new TextDecoder();\r\n fetch(url, {\r\n headers: headers,\r\n credentials: withCredentials ? \"include\" : \"same-origin\",\r\n signal: signal,\r\n cache: \"no-store\"\r\n }).then(function (response) {\r\n reader = response.body.getReader();\r\n onStartCallback(response.status, response.statusText, response.headers.get(\"Content-Type\"), new HeadersWrapper(response.headers));\r\n // see https://github.com/promises-aplus/promises-spec/issues/179\r\n return new Promise(function (resolve, reject) {\r\n var readNextChunk = function () {\r\n reader.read().then(function (result) {\r\n if (result.done) {\r\n //Note: bytes in textDecoder are ignored\r\n resolve(undefined);\r\n } else {\r\n var chunk = textDecoder.decode(result.value, {stream: true});\r\n onProgressCallback(chunk);\r\n readNextChunk();\r\n }\r\n })[\"catch\"](function (error) {\r\n reject(error);\r\n });\r\n };\r\n readNextChunk();\r\n });\r\n })[\"catch\"](function (error) {\r\n if (error.name === \"AbortError\") {\r\n return undefined;\r\n } else {\r\n return error;\r\n }\r\n }).then(function (error) {\r\n onFinishCallback(error);\r\n });\r\n return {\r\n abort: function () {\r\n if (reader != null) {\r\n reader.cancel(); // https://bugzilla.mozilla.org/show_bug.cgi?id=1583815\r\n }\r\n controller.abort();\r\n }\r\n };\r\n };\r\n\r\n function EventTarget() {\r\n this._listeners = Object.create(null);\r\n }\r\n\r\n function throwError(e) {\r\n setTimeout(function () {\r\n throw e;\r\n }, 0);\r\n }\r\n\r\n EventTarget.prototype.dispatchEvent = function (event) {\r\n event.target = this;\r\n var typeListeners = this._listeners[event.type];\r\n if (typeListeners != undefined) {\r\n var length = typeListeners.length;\r\n for (var i = 0; i < length; i += 1) {\r\n var listener = typeListeners[i];\r\n try {\r\n if (typeof listener.handleEvent === \"function\") {\r\n listener.handleEvent(event);\r\n } else {\r\n listener.call(this, event);\r\n }\r\n } catch (e) {\r\n throwError(e);\r\n }\r\n }\r\n }\r\n };\r\n EventTarget.prototype.addEventListener = function (type, listener) {\r\n type = String(type);\r\n var listeners = this._listeners;\r\n var typeListeners = listeners[type];\r\n if (typeListeners == undefined) {\r\n typeListeners = [];\r\n listeners[type] = typeListeners;\r\n }\r\n var found = false;\r\n for (var i = 0; i < typeListeners.length; i += 1) {\r\n if (typeListeners[i] === listener) {\r\n found = true;\r\n }\r\n }\r\n if (!found) {\r\n typeListeners.push(listener);\r\n }\r\n };\r\n EventTarget.prototype.removeEventListener = function (type, listener) {\r\n type = String(type);\r\n var listeners = this._listeners;\r\n var typeListeners = listeners[type];\r\n if (typeListeners != undefined) {\r\n var filtered = [];\r\n for (var i = 0; i < typeListeners.length; i += 1) {\r\n if (typeListeners[i] !== listener) {\r\n filtered.push(typeListeners[i]);\r\n }\r\n }\r\n if (filtered.length === 0) {\r\n delete listeners[type];\r\n } else {\r\n listeners[type] = filtered;\r\n }\r\n }\r\n };\r\n\r\n function Event(type) {\r\n this.type = type;\r\n this.target = undefined;\r\n }\r\n\r\n function MessageEvent(type, options) {\r\n Event.call(this, type);\r\n this.data = options.data;\r\n this.lastEventId = options.lastEventId;\r\n }\r\n\r\n MessageEvent.prototype = Object.create(Event.prototype);\r\n\r\n function ConnectionEvent(type, options) {\r\n Event.call(this, type);\r\n this.status = options.status;\r\n this.statusText = options.statusText;\r\n this.headers = options.headers;\r\n }\r\n\r\n ConnectionEvent.prototype = Object.create(Event.prototype);\r\n\r\n function ErrorEvent(type, options) {\r\n Event.call(this, type);\r\n this.error = options.error;\r\n }\r\n\r\n ErrorEvent.prototype = Object.create(Event.prototype);\r\n\r\n var WAITING = -1;\r\n var CONNECTING = 0;\r\n var OPEN = 1;\r\n var CLOSED = 2;\r\n\r\n var AFTER_CR = -1;\r\n var FIELD_START = 0;\r\n var FIELD = 1;\r\n var VALUE_START = 2;\r\n var VALUE = 3;\r\n\r\n var contentTypeRegExp = /^text\\/event\\-stream(;.*)?$/i;\r\n\r\n var MINIMUM_DURATION = 1000;\r\n var MAXIMUM_DURATION = 18000000;\r\n\r\n var parseDuration = function (value, def) {\r\n var n = value == null ? def : parseInt(value, 10);\r\n if (n !== n) {\r\n n = def;\r\n }\r\n return clampDuration(n);\r\n };\r\n var clampDuration = function (n) {\r\n return Math.min(Math.max(n, MINIMUM_DURATION), MAXIMUM_DURATION);\r\n };\r\n\r\n var fire = function (that, f, event) {\r\n try {\r\n if (typeof f === \"function\") {\r\n f.call(that, event);\r\n }\r\n } catch (e) {\r\n throwError(e);\r\n }\r\n };\r\n\r\n function EventSourcePolyfill(url, options) {\r\n EventTarget.call(this);\r\n options = options || {};\r\n\r\n this.onopen = undefined;\r\n this.onmessage = undefined;\r\n this.onerror = undefined;\r\n\r\n this.url = undefined;\r\n this.readyState = undefined;\r\n this.withCredentials = undefined;\r\n this.headers = undefined;\r\n\r\n this._close = undefined;\r\n\r\n start(this, url, options);\r\n }\r\n\r\n function getBestXHRTransport() {\r\n return (XMLHttpRequest != undefined && (\"withCredentials\" in XMLHttpRequest.prototype)) || XDomainRequest == undefined\r\n ? new XMLHttpRequest()\r\n : new XDomainRequest();\r\n }\r\n\r\n var isFetchSupported = fetch != undefined && Response != undefined && \"body\" in Response.prototype;\r\n\r\n function start(es, url, options) {\r\n url = String(url);\r\n var withCredentials = Boolean(options.withCredentials);\r\n var lastEventIdQueryParameterName = options.lastEventIdQueryParameterName || \"lastEventId\";\r\n\r\n var initialRetry = clampDuration(1000);\r\n var heartbeatTimeout = parseDuration(options.heartbeatTimeout, 45000);\r\n\r\n var lastEventId = \"\";\r\n var retry = initialRetry;\r\n var wasActivity = false;\r\n var textLength = 0;\r\n var headers = options.headers || {};\r\n var TransportOption = options.Transport;\r\n var xhr = isFetchSupported && TransportOption == undefined ? undefined : new XHRWrapper(TransportOption != undefined ? new TransportOption() : getBestXHRTransport());\r\n var transport = TransportOption != null && typeof TransportOption !== \"string\" ? new TransportOption() : (xhr == undefined ? new FetchTransport() : new XHRTransport());\r\n var abortController = undefined;\r\n var timeout = 0;\r\n var currentState = WAITING;\r\n var dataBuffer = \"\";\r\n var lastEventIdBuffer = \"\";\r\n var eventTypeBuffer = \"\";\r\n\r\n var textBuffer = \"\";\r\n var state = FIELD_START;\r\n var fieldStart = 0;\r\n var valueStart = 0;\r\n\r\n var onStart = function (status, statusText, contentType, headers) {\r\n if (currentState === CONNECTING) {\r\n if (status === 200 && contentType != undefined && contentTypeRegExp.test(contentType)) {\r\n currentState = OPEN;\r\n wasActivity = Date.now();\r\n retry = initialRetry;\r\n es.readyState = OPEN;\r\n var event = new ConnectionEvent(\"open\", {\r\n status: status,\r\n statusText: statusText,\r\n headers: headers\r\n });\r\n es.dispatchEvent(event);\r\n fire(es, es.onopen, event);\r\n } else {\r\n var message = \"\";\r\n if (status !== 200) {\r\n if (statusText) {\r\n statusText = statusText.replace(/\\s+/g, \" \");\r\n }\r\n message = \"EventSource's response has a status \" + status + \" \" + statusText + \" that is not 200. Aborting the connection.\";\r\n } else {\r\n message = \"EventSource's response has a Content-Type specifying an unsupported type: \" + (contentType == undefined ? \"-\" : contentType.replace(/\\s+/g, \" \")) + \". Aborting the connection.\";\r\n }\r\n close();\r\n var event = new ConnectionEvent(\"error\", {\r\n status: status,\r\n statusText: statusText,\r\n headers: headers\r\n });\r\n es.dispatchEvent(event);\r\n fire(es, es.onerror, event);\r\n console.error(message);\r\n }\r\n }\r\n };\r\n\r\n var onProgress = function (textChunk) {\r\n if (currentState === OPEN) {\r\n var n = -1;\r\n for (var i = 0; i < textChunk.length; i += 1) {\r\n var c = textChunk.charCodeAt(i);\r\n if (c === \"\\n\".charCodeAt(0) || c === \"\\r\".charCodeAt(0)) {\r\n n = i;\r\n }\r\n }\r\n var chunk = (n !== -1 ? textBuffer : \"\") + textChunk.slice(0, n + 1);\r\n textBuffer = (n === -1 ? textBuffer : \"\") + textChunk.slice(n + 1);\r\n if (textChunk !== \"\") {\r\n wasActivity = Date.now();\r\n textLength += textChunk.length;\r\n }\r\n for (var position = 0; position < chunk.length; position += 1) {\r\n var c = chunk.charCodeAt(position);\r\n if (state === AFTER_CR && c === \"\\n\".charCodeAt(0)) {\r\n state = FIELD_START;\r\n } else {\r\n if (state === AFTER_CR) {\r\n state = FIELD_START;\r\n }\r\n if (c === \"\\r\".charCodeAt(0) || c === \"\\n\".charCodeAt(0)) {\r\n if (state !== FIELD_START) {\r\n if (state === FIELD) {\r\n valueStart = position + 1;\r\n }\r\n var field = chunk.slice(fieldStart, valueStart - 1);\r\n var value = chunk.slice(valueStart + (valueStart < position && chunk.charCodeAt(valueStart) === \" \".charCodeAt(0) ? 1 : 0), position);\r\n if (field === \"data\") {\r\n dataBuffer += \"\\n\";\r\n dataBuffer += value;\r\n } else if (field === \"id\") {\r\n lastEventIdBuffer = value;\r\n } else if (field === \"event\") {\r\n eventTypeBuffer = value;\r\n } else if (field === \"retry\") {\r\n initialRetry = parseDuration(value, initialRetry);\r\n retry = initialRetry;\r\n } else if (field === \"heartbeatTimeout\") {\r\n heartbeatTimeout = parseDuration(value, heartbeatTimeout);\r\n if (timeout !== 0) {\r\n clearTimeout(timeout);\r\n timeout = setTimeout(function () {\r\n onTimeout();\r\n }, heartbeatTimeout);\r\n }\r\n }\r\n }\r\n if (state === FIELD_START) {\r\n if (dataBuffer !== \"\") {\r\n lastEventId = lastEventIdBuffer;\r\n if (eventTypeBuffer === \"\") {\r\n eventTypeBuffer = \"message\";\r\n }\r\n var event = new MessageEvent(eventTypeBuffer, {\r\n data: dataBuffer.slice(1),\r\n lastEventId: lastEventIdBuffer\r\n });\r\n es.dispatchEvent(event);\r\n if (eventTypeBuffer === \"open\") {\r\n fire(es, es.onopen, event);\r\n } else if (eventTypeBuffer === \"message\") {\r\n fire(es, es.onmessage, event);\r\n } else if (eventTypeBuffer === \"error\") {\r\n fire(es, es.onerror, event);\r\n }\r\n if (currentState === CLOSED) {\r\n return;\r\n }\r\n }\r\n dataBuffer = \"\";\r\n eventTypeBuffer = \"\";\r\n }\r\n state = c === \"\\r\".charCodeAt(0) ? AFTER_CR : FIELD_START;\r\n } else {\r\n if (state === FIELD_START) {\r\n fieldStart = position;\r\n state = FIELD;\r\n }\r\n if (state === FIELD) {\r\n if (c === \":\".charCodeAt(0)) {\r\n valueStart = position + 1;\r\n state = VALUE_START;\r\n }\r\n } else if (state === VALUE_START) {\r\n state = VALUE;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n };\r\n\r\n var onFinish = function (error) {\r\n if (currentState === OPEN || currentState === CONNECTING) {\r\n currentState = WAITING;\r\n if (timeout !== 0) {\r\n clearTimeout(timeout);\r\n timeout = 0;\r\n }\r\n timeout = setTimeout(function () {\r\n onTimeout();\r\n }, retry);\r\n retry = clampDuration(Math.min(initialRetry * 16, retry * 2));\r\n\r\n es.readyState = CONNECTING;\r\n var event = new ErrorEvent(\"error\", {error: error});\r\n es.dispatchEvent(event);\r\n fire(es, es.onerror, event);\r\n if (error != undefined) {\r\n console.error(error);\r\n }\r\n }\r\n };\r\n\r\n var close = function () {\r\n currentState = CLOSED;\r\n if (abortController != undefined) {\r\n abortController.abort();\r\n abortController = undefined;\r\n }\r\n if (timeout !== 0) {\r\n clearTimeout(timeout);\r\n timeout = 0;\r\n }\r\n es.readyState = CLOSED;\r\n };\r\n\r\n var onTimeout = function () {\r\n timeout = 0;\r\n\r\n if (currentState !== WAITING) {\r\n if (!wasActivity && abortController != undefined) {\r\n onFinish(new Error(\"No activity within \" + heartbeatTimeout + \" milliseconds.\" + \" \" + (currentState === CONNECTING ? \"No response received.\" : textLength + \" chars received.\") + \" \" + \"Reconnecting.\"));\r\n if (abortController != undefined) {\r\n abortController.abort();\r\n abortController = undefined;\r\n }\r\n } else {\r\n var nextHeartbeat = Math.max((wasActivity || Date.now()) + heartbeatTimeout - Date.now(), 1);\r\n wasActivity = false;\r\n timeout = setTimeout(function () {\r\n onTimeout();\r\n }, nextHeartbeat);\r\n }\r\n return;\r\n }\r\n\r\n wasActivity = false;\r\n textLength = 0;\r\n timeout = setTimeout(function () {\r\n onTimeout();\r\n }, heartbeatTimeout);\r\n\r\n currentState = CONNECTING;\r\n dataBuffer = \"\";\r\n eventTypeBuffer = \"\";\r\n lastEventIdBuffer = lastEventId;\r\n textBuffer = \"\";\r\n fieldStart = 0;\r\n valueStart = 0;\r\n state = FIELD_START;\r\n\r\n // https://bugzilla.mozilla.org/show_bug.cgi?id=428916\r\n // Request header field Last-Event-ID is not allowed by Access-Control-Allow-Headers.\r\n var requestURL = url;\r\n if (url.slice(0, 5) !== \"data:\" && url.slice(0, 5) !== \"blob:\") {\r\n if (lastEventId !== \"\") {\r\n // Remove the lastEventId parameter if it's already part of the request URL.\r\n var i = url.indexOf(\"?\");\r\n requestURL = i === -1 ? url : url.slice(0, i + 1) + url.slice(i + 1).replace(/(?:^|&)([^=&]*)(?:=[^&]*)?/g, function (p, paramName) {\r\n return paramName === lastEventIdQueryParameterName ? '' : p;\r\n });\r\n // Append the current lastEventId to the request URL.\r\n requestURL += (url.indexOf(\"?\") === -1 ? \"?\" : \"&\") + lastEventIdQueryParameterName +\"=\" + encodeURIComponent(lastEventId);\r\n }\r\n }\r\n var withCredentials = es.withCredentials;\r\n var requestHeaders = {};\r\n requestHeaders[\"Accept\"] = \"text/event-stream\";\r\n var headers = es.headers;\r\n if (headers != undefined) {\r\n for (var name in headers) {\r\n if (Object.prototype.hasOwnProperty.call(headers, name)) {\r\n requestHeaders[name] = headers[name];\r\n }\r\n }\r\n }\r\n try {\r\n abortController = transport.open(xhr, onStart, onProgress, onFinish, requestURL, withCredentials, requestHeaders);\r\n } catch (error) {\r\n close();\r\n throw error;\r\n }\r\n };\r\n\r\n es.url = url;\r\n es.readyState = CONNECTING;\r\n es.withCredentials = withCredentials;\r\n es.headers = headers;\r\n es._close = close;\r\n\r\n onTimeout();\r\n }\r\n\r\n EventSourcePolyfill.prototype = Object.create(EventTarget.prototype);\r\n EventSourcePolyfill.prototype.CONNECTING = CONNECTING;\r\n EventSourcePolyfill.prototype.OPEN = OPEN;\r\n EventSourcePolyfill.prototype.CLOSED = CLOSED;\r\n EventSourcePolyfill.prototype.close = function () {\r\n this._close();\r\n };\r\n\r\n EventSourcePolyfill.CONNECTING = CONNECTING;\r\n EventSourcePolyfill.OPEN = OPEN;\r\n EventSourcePolyfill.CLOSED = CLOSED;\r\n EventSourcePolyfill.prototype.withCredentials = undefined;\r\n\r\n var R = NativeEventSource\r\n if (XMLHttpRequest != undefined && (NativeEventSource == undefined || !(\"withCredentials\" in NativeEventSource.prototype))) {\r\n // Why replace a native EventSource ?\r\n // https://bugzilla.mozilla.org/show_bug.cgi?id=444328\r\n // https://bugzilla.mozilla.org/show_bug.cgi?id=831392\r\n // https://code.google.com/p/chromium/issues/detail?id=260144\r\n // https://code.google.com/p/chromium/issues/detail?id=225654\r\n // ...\r\n R = EventSourcePolyfill;\r\n }\r\n\r\n (function (factory) {\r\n if (typeof module === \"object\" && typeof module.exports === \"object\") {\r\n var v = factory(exports);\r\n if (v !== undefined) module.exports = v;\r\n }\r\n else if (typeof define === \"function\" && define.amd) {\r\n define([\"exports\"], factory);\r\n }\r\n else {\r\n factory(global);\r\n }\r\n })(function (exports) {\r\n exports.EventSourcePolyfill = EventSourcePolyfill;\r\n exports.NativeEventSource = NativeEventSource;\r\n exports.EventSource = R;\r\n });\r\n}(typeof globalThis === 'undefined' ? (typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : this) : globalThis));\r\n", "/* eslint-disable no-var */\nvar evs = require(\"event-source-polyfill\");\n\nmodule.exports = evs.EventSourcePolyfill;\n", "module.exports = (obj, props) =>\n props.reduce((selection, prop) => {\n if (typeof obj[prop] === 'undefined') {\n return selection\n }\n\n selection[prop] = obj[prop]\n return selection\n }, {})\n", "module.exports = (obj, defaults) =>\n Object.keys(defaults)\n .concat(Object.keys(obj))\n .reduce((target, prop) => {\n target[prop] = typeof obj[prop] === 'undefined' ? defaults[prop] : obj[prop]\n\n return target\n }, {})\n", "const assign = require('object-assign')\nconst {Observable} = require('../util/observable')\nconst polyfilledEventSource = require('@sanity/eventsource')\nconst pick = require('../util/pick')\nconst defaults = require('../util/defaults')\nconst encodeQueryString = require('./encodeQueryString')\n\n// Limit is 16K for a _request_, eg including headers. Have to account for an\n// unknown range of headers, but an average EventSource request from Chrome seems\n// to have around 700 bytes of cruft, so let us account for 1.2K to be \"safe\"\nconst MAX_URL_LENGTH = 16000 - 1200\nconst EventSource = polyfilledEventSource\n\nconst possibleOptions = [\n 'includePreviousRevision',\n 'includeResult',\n 'visibility',\n 'effectFormat',\n 'tag',\n]\n\nconst defaultOptions = {\n includeResult: true,\n}\n\nmodule.exports = function listen(query, params, opts = {}) {\n const {url, token, withCredentials, requestTagPrefix} = this.clientConfig\n const tag = opts.tag && requestTagPrefix ? [requestTagPrefix, opts.tag].join('.') : opts.tag\n const options = {...defaults(opts, defaultOptions), tag}\n const listenOpts = pick(options, possibleOptions)\n const qs = encodeQueryString({query, params, options: listenOpts, tag})\n\n const uri = `${url}${this.getDataUrl('listen', qs)}`\n if (uri.length > MAX_URL_LENGTH) {\n return new Observable((observer) => observer.error(new Error('Query too large for listener')))\n }\n\n const listenFor = options.events ? options.events : ['mutation']\n const shouldEmitReconnect = listenFor.indexOf('reconnect') !== -1\n\n const esOptions = {}\n if (token || withCredentials) {\n esOptions.withCredentials = true\n }\n\n if (token) {\n esOptions.headers = {\n Authorization: `Bearer ${token}`,\n }\n }\n\n return new Observable((observer) => {\n let es = getEventSource()\n let reconnectTimer\n let stopped = false\n\n function onError() {\n if (stopped) {\n return\n }\n\n emitReconnect()\n\n // Allow event handlers of `emitReconnect` to cancel/close the reconnect attempt\n if (stopped) {\n return\n }\n\n // Unless we've explicitly stopped the ES (in which case `stopped` should be true),\n // we should never be in a disconnected state. By default, EventSource will reconnect\n // automatically, in which case it sets readyState to `CONNECTING`, but in some cases\n // (like when a laptop lid is closed), it closes the connection. In these cases we need\n // to explicitly reconnect.\n if (es.readyState === EventSource.CLOSED) {\n unsubscribe()\n clearTimeout(reconnectTimer)\n reconnectTimer = setTimeout(open, 100)\n }\n }\n\n function onChannelError(err) {\n observer.error(cooerceError(err))\n }\n\n function onMessage(evt) {\n const event = parseEvent(evt)\n return event instanceof Error ? observer.error(event) : observer.next(event)\n }\n\n function onDisconnect(evt) {\n stopped = true\n unsubscribe()\n observer.complete()\n }\n\n function unsubscribe() {\n es.removeEventListener('error', onError, false)\n es.removeEventListener('channelError', onChannelError, false)\n es.removeEventListener('disconnect', onDisconnect, false)\n listenFor.forEach((type) => es.removeEventListener(type, onMessage, false))\n es.close()\n }\n\n function emitReconnect() {\n if (shouldEmitReconnect) {\n observer.next({type: 'reconnect'})\n }\n }\n\n function getEventSource() {\n const evs = new EventSource(uri, esOptions)\n evs.addEventListener('error', onError, false)\n evs.addEventListener('channelError', onChannelError, false)\n evs.addEventListener('disconnect', onDisconnect, false)\n listenFor.forEach((type) => evs.addEventListener(type, onMessage, false))\n return evs\n }\n\n function open() {\n es = getEventSource()\n }\n\n function stop() {\n stopped = true\n unsubscribe()\n }\n\n return stop\n })\n}\n\nfunction parseEvent(event) {\n try {\n const data = (event.data && JSON.parse(event.data)) || {}\n return assign({type: event.type}, data)\n } catch (err) {\n return err\n }\n}\n\nfunction cooerceError(err) {\n if (err instanceof Error) {\n return err\n }\n\n const evt = parseEvent(err)\n return evt instanceof Error ? evt : new Error(extractErrorMessage(evt))\n}\n\nfunction extractErrorMessage(err) {\n if (!err.error) {\n return err.message || 'Unknown listener error'\n }\n\n if (err.error.description) {\n return err.error.description\n }\n\n return typeof err.error === 'string' ? err.error : JSON.stringify(err.error, null, 2)\n}\n", "const assign = require('object-assign')\nconst {map, filter} = require('../util/observable')\nconst validators = require('../validators')\nconst getSelection = require('../util/getSelection')\nconst encodeQueryString = require('./encodeQueryString')\nconst Transaction = require('./transaction')\nconst Patch = require('./patch')\nconst listen = require('./listen')\n\nconst excludeFalsey = (param, defValue) => {\n const value = typeof param === 'undefined' ? defValue : param\n return param === false ? undefined : value\n}\n\nconst getMutationQuery = (options = {}) => {\n return {\n dryRun: options.dryRun,\n returnIds: true,\n returnDocuments: excludeFalsey(options.returnDocuments, true),\n visibility: options.visibility || 'sync',\n autoGenerateArrayKeys: options.autoGenerateArrayKeys,\n skipCrossDatasetReferenceValidation: options.skipCrossDatasetReferenceValidation,\n }\n}\n\nconst isResponse = (event) => event.type === 'response'\nconst getBody = (event) => event.body\n\nconst indexBy = (docs, attr) =>\n docs.reduce((indexed, doc) => {\n indexed[attr(doc)] = doc\n return indexed\n }, Object.create(null))\n\nconst toPromise = (observable) => observable.toPromise()\n\nconst getQuerySizeLimit = 11264\n\nmodule.exports = {\n listen: listen,\n\n getDataUrl(operation, path) {\n const config = this.clientConfig\n const catalog = validators.hasDataset(config)\n const baseUri = `/${operation}/${catalog}`\n const uri = path ? `${baseUri}/${path}` : baseUri\n return `/data${uri}`.replace(/\\/($|\\?)/, '$1')\n },\n\n fetch(query, params, options = {}) {\n const mapResponse = options.filterResponse === false ? (res) => res : (res) => res.result\n\n const observable = this._dataRequest('query', {query, params}, options).pipe(map(mapResponse))\n return this.isPromiseAPI() ? toPromise(observable) : observable\n },\n\n getDocument(id, opts = {}) {\n const options = {uri: this.getDataUrl('doc', id), json: true, tag: opts.tag}\n const observable = this._requestObservable(options).pipe(\n filter(isResponse),\n map((event) => event.body.documents && event.body.documents[0])\n )\n\n return this.isPromiseAPI() ? toPromise(observable) : observable\n },\n\n getDocuments(ids, opts = {}) {\n const options = {uri: this.getDataUrl('doc', ids.join(',')), json: true, tag: opts.tag}\n const observable = this._requestObservable(options).pipe(\n filter(isResponse),\n map((event) => {\n const indexed = indexBy(event.body.documents || [], (doc) => doc._id)\n return ids.map((id) => indexed[id] || null)\n })\n )\n\n return this.isPromiseAPI() ? toPromise(observable) : observable\n },\n\n create(doc, options) {\n return this._create(doc, 'create', options)\n },\n\n createIfNotExists(doc, options) {\n validators.requireDocumentId('createIfNotExists', doc)\n return this._create(doc, 'createIfNotExists', options)\n },\n\n createOrReplace(doc, options) {\n validators.requireDocumentId('createOrReplace', doc)\n return this._create(doc, 'createOrReplace', options)\n },\n\n patch(selector, operations) {\n return new Patch(selector, operations, this)\n },\n\n delete(selection, options) {\n return this.dataRequest('mutate', {mutations: [{delete: getSelection(selection)}]}, options)\n },\n\n mutate(mutations, options) {\n const mut =\n mutations instanceof Patch || mutations instanceof Transaction\n ? mutations.serialize()\n : mutations\n\n const muts = Array.isArray(mut) ? mut : [mut]\n const transactionId = options && options.transactionId\n return this.dataRequest('mutate', {mutations: muts, transactionId}, options)\n },\n\n transaction(operations) {\n return new Transaction(operations, this)\n },\n\n dataRequest(endpoint, body, options = {}) {\n const request = this._dataRequest(endpoint, body, options)\n\n return this.isPromiseAPI() ? toPromise(request) : request\n },\n\n _dataRequest(endpoint, body, options = {}) {\n const isMutation = endpoint === 'mutate'\n const isQuery = endpoint === 'query'\n\n // Check if the query string is within a configured threshold,\n // in which case we can use GET. Otherwise, use POST.\n const strQuery = !isMutation && encodeQueryString(body)\n const useGet = !isMutation && strQuery.length < getQuerySizeLimit\n const stringQuery = useGet ? strQuery : ''\n const returnFirst = options.returnFirst\n const {timeout, token, tag, headers} = options\n\n const uri = this.getDataUrl(endpoint, stringQuery)\n\n const reqOptions = {\n method: useGet ? 'GET' : 'POST',\n uri: uri,\n json: true,\n body: useGet ? undefined : body,\n query: isMutation && getMutationQuery(options),\n timeout,\n headers,\n token,\n tag,\n canUseCdn: isQuery,\n }\n\n return this._requestObservable(reqOptions).pipe(\n filter(isResponse),\n map(getBody),\n map((res) => {\n if (!isMutation) {\n return res\n }\n\n // Should we return documents?\n const results = res.results || []\n if (options.returnDocuments) {\n return returnFirst\n ? results[0] && results[0].document\n : results.map((mut) => mut.document)\n }\n\n // Return a reduced subset\n const key = returnFirst ? 'documentId' : 'documentIds'\n const ids = returnFirst ? results[0] && results[0].id : results.map((mut) => mut.id)\n return {\n transactionId: res.transactionId,\n results: results,\n [key]: ids,\n }\n })\n )\n },\n\n _create(doc, op, options = {}) {\n const mutation = {[op]: doc}\n const opts = assign({returnFirst: true, returnDocuments: true}, options)\n return this.dataRequest('mutate', {mutations: [mutation]}, opts)\n },\n}\n", "const assign = require('object-assign')\nconst validate = require('../validators')\n\nfunction DatasetsClient(client) {\n this.request = client.request.bind(client)\n}\n\nassign(DatasetsClient.prototype, {\n create(name, options) {\n return this._modify('PUT', name, options)\n },\n\n edit(name, options) {\n return this._modify('PATCH', name, options)\n },\n\n delete(name) {\n return this._modify('DELETE', name)\n },\n\n list() {\n return this.request({uri: '/datasets'})\n },\n\n _modify(method, name, body) {\n validate.dataset(name)\n return this.request({method, uri: `/datasets/${name}`, body})\n },\n})\n\nmodule.exports = DatasetsClient\n", "const assign = require('object-assign')\n\nfunction ProjectsClient(client) {\n this.client = client\n}\n\nassign(ProjectsClient.prototype, {\n list() {\n return this.client.request({uri: '/projects'})\n },\n\n getById(id) {\n return this.client.request({uri: `/projects/${id}`})\n },\n})\n\nmodule.exports = ProjectsClient\n", "module.exports = (params) => {\n const qs = []\n for (const key in params) {\n if (params.hasOwnProperty(key)) {\n qs.push(`${encodeURIComponent(key)}=${encodeURIComponent(params[key])}`)\n }\n }\n\n return qs.length > 0 ? `?${qs.join('&')}` : ''\n}\n", "const assign = require('object-assign')\nconst {map, filter} = require('../util/observable')\nconst queryString = require('../http/queryString')\nconst validators = require('../validators')\n\nfunction AssetsClient(client) {\n this.client = client\n}\n\nfunction optionsFromFile(opts, file) {\n if (typeof window === 'undefined' || !(file instanceof window.File)) {\n return opts\n }\n\n return assign(\n {\n filename: opts.preserveFilename === false ? undefined : file.name,\n contentType: file.type,\n },\n opts\n )\n}\n\nassign(AssetsClient.prototype, {\n /**\n * Upload an asset\n *\n * @param {String} assetType `image` or `file`\n * @param {File|Blob|Buffer|ReadableStream} body File to upload\n * @param {Object} opts Options for the upload\n * @param {Boolean} opts.preserveFilename Whether or not to preserve the original filename (default: true)\n * @param {String} opts.filename Filename for this file (optional)\n * @param {Number} opts.timeout Milliseconds to wait before timing the request out (default: 0)\n * @param {String} opts.contentType Mime type of the file\n * @param {Array} opts.extract Array of metadata parts to extract from image.\n * Possible values: `location`, `exif`, `image`, `palette`\n * @param {String} opts.label Label\n * @param {String} opts.title Title\n * @param {String} opts.description Description\n * @param {String} opts.creditLine The credit to person(s) and/or organization(s) required by the supplier of the image to be used when published\n * @param {Object} opts.source Source data (when the asset is from an external service)\n * @param {String} opts.source.id The (u)id of the asset within the source, i.e. 'i-f323r1E'\n * Required if source is defined\n * @param {String} opts.source.name The name of the source, i.e. 'unsplash'\n * Required if source is defined\n * @param {String} opts.source.url A url to where to find the asset, or get more info about it in the source\n * Optional\n * @return {Promise} Resolves with the created asset document\n */\n upload(assetType, body, opts = {}) {\n validators.validateAssetType(assetType)\n\n // If an empty array is given, explicitly set `none` to override API defaults\n let meta = opts.extract || undefined\n if (meta && !meta.length) {\n meta = ['none']\n }\n\n const dataset = validators.hasDataset(this.client.clientConfig)\n const assetEndpoint = assetType === 'image' ? 'images' : 'files'\n const options = optionsFromFile(opts, body)\n const {tag, label, title, description, creditLine, filename, source} = options\n const query = {\n label,\n title,\n description,\n filename,\n meta,\n creditLine,\n }\n if (source) {\n query.sourceId = source.id\n query.sourceName = source.name\n query.sourceUrl = source.url\n }\n const observable = this.client._requestObservable({\n tag,\n method: 'POST',\n timeout: options.timeout || 0,\n uri: `/assets/${assetEndpoint}/${dataset}`,\n headers: options.contentType ? {'Content-Type': options.contentType} : {},\n query,\n body,\n })\n\n return this.client.isPromiseAPI()\n ? observable\n .pipe(\n filter((event) => event.type === 'response'),\n map((event) => event.body.document)\n )\n .toPromise()\n : observable\n },\n\n delete(type, id) {\n // eslint-disable-next-line no-console\n console.warn('client.assets.delete() is deprecated, please use client.delete(<document-id>)')\n\n let docId = id || ''\n if (!/^(image|file)-/.test(docId)) {\n docId = `${type}-${docId}`\n } else if (type._id) {\n // We could be passing an entire asset document instead of an ID\n docId = type._id\n }\n\n validators.hasDataset(this.client.clientConfig)\n return this.client.delete(docId)\n },\n\n getImageUrl(ref, query) {\n const id = ref._ref || ref\n if (typeof id !== 'string') {\n throw new Error(\n 'getImageUrl() needs either an object with a _ref, or a string with an asset document ID'\n )\n }\n\n if (!/^image-[A-Za-z0-9_]+-\\d+x\\d+-[a-z]{1,5}$/.test(id)) {\n throw new Error(\n `Unsupported asset ID \"${id}\". URL generation only works for auto-generated IDs.`\n )\n }\n\n const [, assetId, size, format] = id.split('-')\n\n validators.hasDataset(this.client.clientConfig)\n const {projectId, dataset} = this.client.clientConfig\n const qs = query ? queryString(query) : ''\n return `https://cdn.sanity.io/images/${projectId}/${dataset}/${assetId}-${size}.${format}${qs}`\n },\n})\n\nmodule.exports = AssetsClient\n", "const assign = require('object-assign')\n\nfunction UsersClient(client) {\n this.client = client\n}\n\nassign(UsersClient.prototype, {\n getById(id) {\n return this.client.request({uri: `/users/${id}`})\n },\n})\n\nmodule.exports = UsersClient\n", "const assign = require('object-assign')\n\nfunction AuthClient(client) {\n this.client = client\n}\n\nassign(AuthClient.prototype, {\n getLoginProviders() {\n return this.client.request({uri: '/auth/providers'})\n },\n\n logout() {\n return this.client.request({uri: '/auth/logout', method: 'POST'})\n },\n})\n\nmodule.exports = AuthClient\n", "module.exports = function Pubsub() {\n var subscribers = []\n return {\n subscribe: subscribe,\n publish: publish\n }\n function subscribe(subscriber) {\n subscribers.push(subscriber)\n return function unsubscribe() {\n var idx = subscribers.indexOf(subscriber)\n if (idx > -1) {\n subscribers.splice(idx, 1)\n }\n }\n }\n function publish() {\n for (var i = 0; i < subscribers.length; i++) {\n subscribers[i].apply(null, arguments)\n }\n }\n}", "module.exports = middleware => {\n const applyMiddleware = (hook, defaultValue, ...args) => {\n const bailEarly = hook === 'onError'\n\n let value = defaultValue\n for (let i = 0; i < middleware[hook].length; i++) {\n const handler = middleware[hook][i]\n value = handler(value, ...args)\n\n if (bailEarly && !value) {\n break\n }\n }\n\n return value\n }\n\n return applyMiddleware\n}\n", "'use strict';\n\n/**\n * Check if we're required to add a port number.\n *\n * @see https://url.spec.whatwg.org/#default-port\n * @param {Number|String} port Port number we need to check\n * @param {String} protocol Protocol we need to check against.\n * @returns {Boolean} Is it a default port for the given protocol\n * @api private\n */\nmodule.exports = function required(port, protocol) {\n protocol = protocol.split(':')[0];\n port = +port;\n\n if (!port) return false;\n\n switch (protocol) {\n case 'http':\n case 'ws':\n return port !== 80;\n\n case 'https':\n case 'wss':\n return port !== 443;\n\n case 'ftp':\n return port !== 21;\n\n case 'gopher':\n return port !== 70;\n\n case 'file':\n return false;\n }\n\n return port !== 0;\n};\n", "'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , undef;\n\n/**\n * Decode a URI encoded string.\n *\n * @param {String} input The URI encoded string.\n * @returns {String|Null} The decoded string.\n * @api private\n */\nfunction decode(input) {\n try {\n return decodeURIComponent(input.replace(/\\+/g, ' '));\n } catch (e) {\n return null;\n }\n}\n\n/**\n * Attempts to encode a given input.\n *\n * @param {String} input The string that needs to be encoded.\n * @returns {String|Null} The encoded string.\n * @api private\n */\nfunction encode(input) {\n try {\n return encodeURIComponent(input);\n } catch (e) {\n return null;\n }\n}\n\n/**\n * Simple query string parser.\n *\n * @param {String} query The query string that needs to be parsed.\n * @returns {Object}\n * @api public\n */\nfunction querystring(query) {\n var parser = /([^=?#&]+)=?([^&]*)/g\n , result = {}\n , part;\n\n while (part = parser.exec(query)) {\n var key = decode(part[1])\n , value = decode(part[2]);\n\n //\n // Prevent overriding of existing properties. This ensures that build-in\n // methods like `toString` or __proto__ are not overriden by malicious\n // querystrings.\n //\n // In the case if failed decoding, we want to omit the key/value pairs\n // from the result.\n //\n if (key === null || value === null || key in result) continue;\n result[key] = value;\n }\n\n return result;\n}\n\n/**\n * Transform a query string to an object.\n *\n * @param {Object} obj Object that should be transformed.\n * @param {String} prefix Optional prefix.\n * @returns {String}\n * @api public\n */\nfunction querystringify(obj, prefix) {\n prefix = prefix || '';\n\n var pairs = []\n , value\n , key;\n\n //\n // Optionally prefix with a '?' if needed\n //\n if ('string' !== typeof prefix) prefix = '?';\n\n for (key in obj) {\n if (has.call(obj, key)) {\n value = obj[key];\n\n //\n // Edge cases where we actually want to encode the value to an empty\n // string instead of the stringified value.\n //\n if (!value && (value === null || value === undef || isNaN(value))) {\n value = '';\n }\n\n key = encode(key);\n value = encode(value);\n\n //\n // If we failed to encode the strings, we should bail out as we don't\n // want to add invalid strings to the query.\n //\n if (key === null || value === null) continue;\n pairs.push(key +'='+ value);\n }\n }\n\n return pairs.length ? prefix + pairs.join('&') : '';\n}\n\n//\n// Expose the module.\n//\nexports.stringify = querystringify;\nexports.parse = querystring;\n", "'use strict';\n\nvar required = require('requires-port')\n , qs = require('querystringify')\n , controlOrWhitespace = /^[\\x00-\\x20\\u00a0\\u1680\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000\\ufeff]+/\n , CRHTLF = /[\\n\\r\\t]/g\n , slashes = /^[A-Za-z][A-Za-z0-9+-.]*:\\/\\//\n , port = /:\\d+$/\n , protocolre = /^([a-z][a-z0-9.+-]*:)?(\\/\\/)?([\\\\/]+)?([\\S\\s]*)/i\n , windowsDriveLetter = /^[a-zA-Z]:/;\n\n/**\n * Remove control characters and whitespace from the beginning of a string.\n *\n * @param {Object|String} str String to trim.\n * @returns {String} A new string representing `str` stripped of control\n * characters and whitespace from its beginning.\n * @public\n */\nfunction trimLeft(str) {\n return (str ? str : '').toString().replace(controlOrWhitespace, '');\n}\n\n/**\n * These are the parse rules for the URL parser, it informs the parser\n * about:\n *\n * 0. The char it Needs to parse, if it's a string it should be done using\n * indexOf, RegExp using exec and NaN means set as current value.\n * 1. The property we should set when parsing this value.\n * 2. Indication if it's backwards or forward parsing, when set as number it's\n * the value of extra chars that should be split off.\n * 3. Inherit from location if non existing in the parser.\n * 4. `toLowerCase` the resulting value.\n */\nvar rules = [\n ['#', 'hash'], // Extract from the back.\n ['?', 'query'], // Extract from the back.\n function sanitize(address, url) { // Sanitize what is left of the address\n return isSpecial(url.protocol) ? address.replace(/\\\\/g, '/') : address;\n },\n ['/', 'pathname'], // Extract from the back.\n ['@', 'auth', 1], // Extract from the front.\n [NaN, 'host', undefined, 1, 1], // Set left over value.\n [/:(\\d*)$/, 'port', undefined, 1], // RegExp the back.\n [NaN, 'hostname', undefined, 1, 1] // Set left over.\n];\n\n/**\n * These properties should not be copied or inherited from. This is only needed\n * for all non blob URL's as a blob URL does not include a hash, only the\n * origin.\n *\n * @type {Object}\n * @private\n */\nvar ignore = { hash: 1, query: 1 };\n\n/**\n * The location object differs when your code is loaded through a normal page,\n * Worker or through a worker using a blob. And with the blobble begins the\n * trouble as the location object will contain the URL of the blob, not the\n * location of the page where our code is loaded in. The actual origin is\n * encoded in the `pathname` so we can thankfully generate a good \"default\"\n * location from it so we can generate proper relative URL's again.\n *\n * @param {Object|String} loc Optional default location object.\n * @returns {Object} lolcation object.\n * @public\n */\nfunction lolcation(loc) {\n var globalVar;\n\n if (typeof window !== 'undefined') globalVar = window;\n else if (typeof global !== 'undefined') globalVar = global;\n else if (typeof self !== 'undefined') globalVar = self;\n else globalVar = {};\n\n var location = globalVar.location || {};\n loc = loc || location;\n\n var finaldestination = {}\n , type = typeof loc\n , key;\n\n if ('blob:' === loc.protocol) {\n finaldestination = new Url(unescape(loc.pathname), {});\n } else if ('string' === type) {\n finaldestination = new Url(loc, {});\n for (key in ignore) delete finaldestination[key];\n } else if ('object' === type) {\n for (key in loc) {\n if (key in ignore) continue;\n finaldestination[key] = loc[key];\n }\n\n if (finaldestination.slashes === undefined) {\n finaldestination.slashes = slashes.test(loc.href);\n }\n }\n\n return finaldestination;\n}\n\n/**\n * Check whether a protocol scheme is special.\n *\n * @param {String} The protocol scheme of the URL\n * @return {Boolean} `true` if the protocol scheme is special, else `false`\n * @private\n */\nfunction isSpecial(scheme) {\n return (\n scheme === 'file:' ||\n scheme === 'ftp:' ||\n scheme === 'http:' ||\n scheme === 'https:' ||\n scheme === 'ws:' ||\n scheme === 'wss:'\n );\n}\n\n/**\n * @typedef ProtocolExtract\n * @type Object\n * @property {String} protocol Protocol matched in the URL, in lowercase.\n * @property {Boolean} slashes `true` if protocol is followed by \"//\", else `false`.\n * @property {String} rest Rest of the URL that is not part of the protocol.\n */\n\n/**\n * Extract protocol information from a URL with/without double slash (\"//\").\n *\n * @param {String} address URL we want to extract from.\n * @param {Object} location\n * @return {ProtocolExtract} Extracted information.\n * @private\n */\nfunction extractProtocol(address, location) {\n address = trimLeft(address);\n address = address.replace(CRHTLF, '');\n location = location || {};\n\n var match = protocolre.exec(address);\n var protocol = match[1] ? match[1].toLowerCase() : '';\n var forwardSlashes = !!match[2];\n var otherSlashes = !!match[3];\n var slashesCount = 0;\n var rest;\n\n if (forwardSlashes) {\n if (otherSlashes) {\n rest = match[2] + match[3] + match[4];\n slashesCount = match[2].length + match[3].length;\n } else {\n rest = match[2] + match[4];\n slashesCount = match[2].length;\n }\n } else {\n if (otherSlashes) {\n rest = match[3] + match[4];\n slashesCount = match[3].length;\n } else {\n rest = match[4]\n }\n }\n\n if (protocol === 'file:') {\n if (slashesCount >= 2) {\n rest = rest.slice(2);\n }\n } else if (isSpecial(protocol)) {\n rest = match[4];\n } else if (protocol) {\n if (forwardSlashes) {\n rest = rest.slice(2);\n }\n } else if (slashesCount >= 2 && isSpecial(location.protocol)) {\n rest = match[4];\n }\n\n return {\n protocol: protocol,\n slashes: forwardSlashes || isSpecial(protocol),\n slashesCount: slashesCount,\n rest: rest\n };\n}\n\n/**\n * Resolve a relative URL pathname against a base URL pathname.\n *\n * @param {String} relative Pathname of the relative URL.\n * @param {String} base Pathname of the base URL.\n * @return {String} Resolved pathname.\n * @private\n */\nfunction resolve(relative, base) {\n if (relative === '') return base;\n\n var path = (base || '/').split('/').slice(0, -1).concat(relative.split('/'))\n , i = path.length\n , last = path[i - 1]\n , unshift = false\n , up = 0;\n\n while (i--) {\n if (path[i] === '.') {\n path.splice(i, 1);\n } else if (path[i] === '..') {\n path.splice(i, 1);\n up++;\n } else if (up) {\n if (i === 0) unshift = true;\n path.splice(i, 1);\n up--;\n }\n }\n\n if (unshift) path.unshift('');\n if (last === '.' || last === '..') path.push('');\n\n return path.join('/');\n}\n\n/**\n * The actual URL instance. Instead of returning an object we've opted-in to\n * create an actual constructor as it's much more memory efficient and\n * faster and it pleases my OCD.\n *\n * It is worth noting that we should not use `URL` as class name to prevent\n * clashes with the global URL instance that got introduced in browsers.\n *\n * @constructor\n * @param {String} address URL we want to parse.\n * @param {Object|String} [location] Location defaults for relative paths.\n * @param {Boolean|Function} [parser] Parser for the query string.\n * @private\n */\nfunction Url(address, location, parser) {\n address = trimLeft(address);\n address = address.replace(CRHTLF, '');\n\n if (!(this instanceof Url)) {\n return new Url(address, location, parser);\n }\n\n var relative, extracted, parse, instruction, index, key\n , instructions = rules.slice()\n , type = typeof location\n , url = this\n , i = 0;\n\n //\n // The following if statements allows this module two have compatibility with\n // 2 different API:\n //\n // 1. Node.js's `url.parse` api which accepts a URL, boolean as arguments\n // where the boolean indicates that the query string should also be parsed.\n //\n // 2. The `URL` interface of the browser which accepts a URL, object as\n // arguments. The supplied object will be used as default values / fall-back\n // for relative paths.\n //\n if ('object' !== type && 'string' !== type) {\n parser = location;\n location = null;\n }\n\n if (parser && 'function' !== typeof parser) parser = qs.parse;\n\n location = lolcation(location);\n\n //\n // Extract protocol information before running the instructions.\n //\n extracted = extractProtocol(address || '', location);\n relative = !extracted.protocol && !extracted.slashes;\n url.slashes = extracted.slashes || relative && location.slashes;\n url.protocol = extracted.protocol || location.protocol || '';\n address = extracted.rest;\n\n //\n // When the authority component is absent the URL starts with a path\n // component.\n //\n if (\n extracted.protocol === 'file:' && (\n extracted.slashesCount !== 2 || windowsDriveLetter.test(address)) ||\n (!extracted.slashes &&\n (extracted.protocol ||\n extracted.slashesCount < 2 ||\n !isSpecial(url.protocol)))\n ) {\n instructions[3] = [/(.*)/, 'pathname'];\n }\n\n for (; i < instructions.length; i++) {\n instruction = instructions[i];\n\n if (typeof instruction === 'function') {\n address = instruction(address, url);\n continue;\n }\n\n parse = instruction[0];\n key = instruction[1];\n\n if (parse !== parse) {\n url[key] = address;\n } else if ('string' === typeof parse) {\n index = parse === '@'\n ? address.lastIndexOf(parse)\n : address.indexOf(parse);\n\n if (~index) {\n if ('number' === typeof instruction[2]) {\n url[key] = address.slice(0, index);\n address = address.slice(index + instruction[2]);\n } else {\n url[key] = address.slice(index);\n address = address.slice(0, index);\n }\n }\n } else if ((index = parse.exec(address))) {\n url[key] = index[1];\n address = address.slice(0, index.index);\n }\n\n url[key] = url[key] || (\n relative && instruction[3] ? location[key] || '' : ''\n );\n\n //\n // Hostname, host and protocol should be lowercased so they can be used to\n // create a proper `origin`.\n //\n if (instruction[4]) url[key] = url[key].toLowerCase();\n }\n\n //\n // Also parse the supplied query string in to an object. If we're supplied\n // with a custom parser as function use that instead of the default build-in\n // parser.\n //\n if (parser) url.query = parser(url.query);\n\n //\n // If the URL is relative, resolve the pathname against the base URL.\n //\n if (\n relative\n && location.slashes\n && url.pathname.charAt(0) !== '/'\n && (url.pathname !== '' || location.pathname !== '')\n ) {\n url.pathname = resolve(url.pathname, location.pathname);\n }\n\n //\n // Default to a / for pathname if none exists. This normalizes the URL\n // to always have a /\n //\n if (url.pathname.charAt(0) !== '/' && isSpecial(url.protocol)) {\n url.pathname = '/' + url.pathname;\n }\n\n //\n // We should not add port numbers if they are already the default port number\n // for a given protocol. As the host also contains the port number we're going\n // override it with the hostname which contains no port number.\n //\n if (!required(url.port, url.protocol)) {\n url.host = url.hostname;\n url.port = '';\n }\n\n //\n // Parse down the `auth` for the username and password.\n //\n url.username = url.password = '';\n\n if (url.auth) {\n index = url.auth.indexOf(':');\n\n if (~index) {\n url.username = url.auth.slice(0, index);\n url.username = encodeURIComponent(decodeURIComponent(url.username));\n\n url.password = url.auth.slice(index + 1);\n url.password = encodeURIComponent(decodeURIComponent(url.password))\n } else {\n url.username = encodeURIComponent(decodeURIComponent(url.auth));\n }\n\n url.auth = url.password ? url.username +':'+ url.password : url.username;\n }\n\n url.origin = url.protocol !== 'file:' && isSpecial(url.protocol) && url.host\n ? url.protocol +'//'+ url.host\n : 'null';\n\n //\n // The href is just the compiled result.\n //\n url.href = url.toString();\n}\n\n/**\n * This is convenience method for changing properties in the URL instance to\n * insure that they all propagate correctly.\n *\n * @param {String} part Property we need to adjust.\n * @param {Mixed} value The newly assigned value.\n * @param {Boolean|Function} fn When setting the query, it will be the function\n * used to parse the query.\n * When setting the protocol, double slash will be\n * removed from the final url if it is true.\n * @returns {URL} URL instance for chaining.\n * @public\n */\nfunction set(part, value, fn) {\n var url = this;\n\n switch (part) {\n case 'query':\n if ('string' === typeof value && value.length) {\n value = (fn || qs.parse)(value);\n }\n\n url[part] = value;\n break;\n\n case 'port':\n url[part] = value;\n\n if (!required(value, url.protocol)) {\n url.host = url.hostname;\n url[part] = '';\n } else if (value) {\n url.host = url.hostname +':'+ value;\n }\n\n break;\n\n case 'hostname':\n url[part] = value;\n\n if (url.port) value += ':'+ url.port;\n url.host = value;\n break;\n\n case 'host':\n url[part] = value;\n\n if (port.test(value)) {\n value = value.split(':');\n url.port = value.pop();\n url.hostname = value.join(':');\n } else {\n url.hostname = value;\n url.port = '';\n }\n\n break;\n\n case 'protocol':\n url.protocol = value.toLowerCase();\n url.slashes = !fn;\n break;\n\n case 'pathname':\n case 'hash':\n if (value) {\n var char = part === 'pathname' ? '/' : '#';\n url[part] = value.charAt(0) !== char ? char + value : value;\n } else {\n url[part] = value;\n }\n break;\n\n case 'username':\n case 'password':\n url[part] = encodeURIComponent(value);\n break;\n\n case 'auth':\n var index = value.indexOf(':');\n\n if (~index) {\n url.username = value.slice(0, index);\n url.username = encodeURIComponent(decodeURIComponent(url.username));\n\n url.password = value.slice(index + 1);\n url.password = encodeURIComponent(decodeURIComponent(url.password));\n } else {\n url.username = encodeURIComponent(decodeURIComponent(value));\n }\n }\n\n for (var i = 0; i < rules.length; i++) {\n var ins = rules[i];\n\n if (ins[4]) url[ins[1]] = url[ins[1]].toLowerCase();\n }\n\n url.auth = url.password ? url.username +':'+ url.password : url.username;\n\n url.origin = url.protocol !== 'file:' && isSpecial(url.protocol) && url.host\n ? url.protocol +'//'+ url.host\n : 'null';\n\n url.href = url.toString();\n\n return url;\n}\n\n/**\n * Transform the properties back in to a valid and full URL string.\n *\n * @param {Function} stringify Optional query stringify function.\n * @returns {String} Compiled version of the URL.\n * @public\n */\nfunction toString(stringify) {\n if (!stringify || 'function' !== typeof stringify) stringify = qs.stringify;\n\n var query\n , url = this\n , host = url.host\n , protocol = url.protocol;\n\n if (protocol && protocol.charAt(protocol.length - 1) !== ':') protocol += ':';\n\n var result =\n protocol +\n ((url.protocol && url.slashes) || isSpecial(url.protocol) ? '//' : '');\n\n if (url.username) {\n result += url.username;\n if (url.password) result += ':'+ url.password;\n result += '@';\n } else if (url.password) {\n result += ':'+ url.password;\n result += '@';\n } else if (\n url.protocol !== 'file:' &&\n isSpecial(url.protocol) &&\n !host &&\n url.pathname !== '/'\n ) {\n //\n // Add back the empty userinfo, otherwise the original invalid URL\n // might be transformed into a valid one with `url.pathname` as host.\n //\n result += '@';\n }\n\n //\n // Trailing colon is removed from `url.host` when it is parsed. If it still\n // ends with a colon, then add back the trailing colon that was removed. This\n // prevents an invalid URL from being transformed into a valid one.\n //\n if (host[host.length - 1] === ':' || (port.test(url.hostname) && !url.port)) {\n host += ':';\n }\n\n result += host + url.pathname;\n\n query = 'object' === typeof url.query ? stringify(url.query) : url.query;\n if (query) result += '?' !== query.charAt(0) ? '?'+ query : query;\n\n if (url.hash) result += url.hash;\n\n return result;\n}\n\nUrl.prototype = { set: set, toString: toString };\n\n//\n// Expose the URL parser and some additional properties that might be useful for\n// others or testing.\n//\nUrl.extractProtocol = extractProtocol;\nUrl.location = lolcation;\nUrl.trimLeft = trimLeft;\nUrl.qs = qs;\n\nmodule.exports = Url;\n", "const objectAssign = require('object-assign')\nconst urlParse = require('url-parse')\n\nconst isReactNative = typeof navigator === 'undefined' ? false : navigator.product === 'ReactNative'\n\nconst has = Object.prototype.hasOwnProperty\nconst defaultOptions = {timeout: isReactNative ? 60000 : 120000}\n\nmodule.exports = opts => {\n const options =\n typeof opts === 'string'\n ? objectAssign({url: opts}, defaultOptions)\n : objectAssign({}, defaultOptions, opts)\n\n // Parse URL into parts\n const url = urlParse(\n options.url,\n {}, // Don't use current browser location\n true // Parse query strings\n )\n\n // Normalize timeouts\n options.timeout = normalizeTimeout(options.timeout)\n\n // Shallow-merge (override) existing query params\n if (options.query) {\n url.query = objectAssign({}, url.query, removeUndefined(options.query))\n }\n\n // Implicit POST if we have not specified a method but have a body\n options.method =\n options.body && !options.method ? 'POST' : (options.method || 'GET').toUpperCase()\n\n // Stringify URL\n options.url = url.toString(stringifyQueryString)\n\n return options\n}\n\nfunction stringifyQueryString(obj) {\n const pairs = []\n for (const key in obj) {\n if (has.call(obj, key)) {\n push(key, obj[key])\n }\n }\n\n return pairs.length ? pairs.join('&') : ''\n\n function push(key, val) {\n if (Array.isArray(val)) {\n val.forEach(item => push(key, item))\n } else {\n pairs.push([key, val].map(encodeURIComponent).join('='))\n }\n }\n}\n\nfunction normalizeTimeout(time) {\n if (time === false || time === 0) {\n return false\n }\n\n if (time.connect || time.socket) {\n return time\n }\n\n const delay = Number(time)\n if (isNaN(delay)) {\n return normalizeTimeout(defaultOptions.timeout)\n }\n\n return {connect: delay, socket: delay}\n}\n\nfunction removeUndefined(obj) {\n const target = {}\n for (const key in obj) {\n if (obj[key] !== undefined) {\n target[key] = obj[key]\n }\n }\n return target\n}\n", "const validUrl = /^https?:\\/\\//i\n\nmodule.exports = options => {\n if (!validUrl.test(options.url)) {\n throw new Error(`\"${options.url}\" is not a valid URL`)\n }\n}\n", "/**\n * This file is only used for the browser version of `same-origin`.\n * Used to bring down the size of the browser bundle.\n */\n'use strict';\n\nvar regex = /^(?:(?:(?:([^:\\/#\\?]+:)?(?:(?:\\/\\/)((?:((?:[^:@\\/#\\?]+)(?:\\:(?:[^:@\\/#\\?]+))?)@)?(([^:\\/#\\?\\]\\[]+|\\[[^\\/\\]@#?]+\\])(?:\\:([0-9]+))?))?)?)?((?:\\/?(?:[^\\/\\?#]+\\/+)*)(?:[^\\?#]*)))?(\\?[^#]+)?)(#.*)?/;\n\nmodule.exports = {\n regex: regex,\n parse: function(url) {\n var match = regex.exec(url);\n if (!match) {\n return {};\n }\n\n return {\n protocol: (match[1] || '').toLowerCase() || undefined,\n hostname: (match[5] || '').toLowerCase() || undefined,\n port: match[6] || undefined\n };\n }\n};", "'use strict';\n\nvar url = require('url');\n\nmodule.exports = function(uri1, uri2, ieMode) {\n if (uri1 === uri2) {\n return true;\n }\n\n var url1 = url.parse(uri1, false, true);\n var url2 = url.parse(uri2, false, true);\n\n var url1Port = url1.port|0 || (url1.protocol === 'https' ? 443 : 80);\n var url2Port = url2.port|0 || (url2.protocol === 'https' ? 443 : 80);\n\n var match = {\n proto: url1.protocol === url2.protocol,\n hostname: url1.hostname === url2.hostname,\n port: url1Port === url2Port\n };\n\n return ((match.proto && match.hostname) && (match.port || ieMode));\n};", "var trim = function(string) {\n return string.replace(/^\\s+|\\s+$/g, '');\n}\n , isArray = function(arg) {\n return Object.prototype.toString.call(arg) === '[object Array]';\n }\n\nmodule.exports = function (headers) {\n if (!headers)\n return {}\n\n var result = {}\n\n var headersArr = trim(headers).split('\\n')\n\n for (var i = 0; i < headersArr.length; i++) {\n var row = headersArr[i]\n var index = row.indexOf(':')\n , key = trim(row.slice(0, index)).toLowerCase()\n , value = trim(row.slice(index + 1))\n\n if (typeof(result[key]) === 'undefined') {\n result[key] = value\n } else if (isArray(result[key])) {\n result[key].push(value)\n } else {\n result[key] = [ result[key], value ]\n }\n }\n\n return result\n}\n", "/**\n * Mimicks the XMLHttpRequest API with only the parts needed for get-it's XHR adapter\n */\nfunction FetchXhr() {\n this.readyState = 0 // Unsent\n}\nFetchXhr.prototype.open = function(method, url) {\n this._method = method\n this._url = url\n this._resHeaders = ''\n this.readyState = 1 // Open\n this.onreadystatechange()\n}\nFetchXhr.prototype.abort = function() {\n if (this._controller) {\n this._controller.abort()\n }\n}\nFetchXhr.prototype.getAllResponseHeaders = function() {\n return this._resHeaders\n}\nFetchXhr.prototype.setRequestHeader = function(key, value) {\n this._headers = this._headers || {}\n this._headers[key] = value\n}\nFetchXhr.prototype.send = function(body) {\n // eslint-disable-next-line no-multi-assign\n const ctrl = (this._controller = typeof AbortController === 'function' && new AbortController())\n const textBody = this.responseType !== 'arraybuffer'\n const options = {\n method: this._method,\n headers: this._headers,\n signal: ctrl && ctrl.signal,\n body\n }\n\n // Some environments (like CloudFlare workers) don't support credentials in\n // RequestInitDict, and there doesn't seem to be any easy way to check for it,\n // so for now let's just make do with a window check :/\n if (typeof window !== 'undefined') {\n options.credentials = this.withCredentials ? 'include' : 'omit'\n }\n\n fetch(this._url, options)\n .then(res => {\n res.headers.forEach((value, key) => {\n this._resHeaders += `${key}: ${value}\\r\\n`\n })\n this.status = res.status\n this.statusText = res.statusText\n this.readyState = 3 // Loading\n return textBody ? res.text() : res.arrayBuffer()\n })\n .then(resBody => {\n if (textBody) {\n this.responseText = resBody\n } else {\n this.response = resBody\n }\n this.readyState = 4 // Done\n this.onreadystatechange()\n })\n .catch(err => {\n if (err.name === 'AbortError') {\n this.onabort()\n return\n }\n\n this.onerror(err)\n })\n}\n\nmodule.exports = FetchXhr\n", "/* eslint max-depth: [\"error\", 4] */\nconst sameOrigin = require('same-origin')\nconst parseHeaders = require('parse-headers')\nconst FetchXhr = require('./browser/fetchXhr')\n\nconst noop = function() {\n /* intentional noop */\n}\n\nconst win = typeof window === 'undefined' ? undefined : window\nconst adapter = win ? 'xhr' : 'fetch'\n\nlet XmlHttpRequest = typeof XMLHttpRequest === 'function' ? XMLHttpRequest : noop\nconst hasXhr2 = 'withCredentials' in new XmlHttpRequest()\n// eslint-disable-next-line no-undef\nconst XDR = typeof XDomainRequest === 'undefined' ? undefined : XDomainRequest\nlet CrossDomainRequest = hasXhr2 ? XmlHttpRequest : XDR\n\n// Fallback to fetch-based XHR polyfill for non-browser environments like Workers\nif (!win) {\n XmlHttpRequest = FetchXhr\n CrossDomainRequest = FetchXhr\n}\n\nmodule.exports = (context, callback) => {\n const opts = context.options\n const options = context.applyMiddleware('finalizeOptions', opts)\n const timers = {}\n\n // Deep-checking window.location because of react native, where `location` doesn't exist\n const cors = win && win.location && !sameOrigin(win.location.href, options.url)\n\n // Allow middleware to inject a response, for instance in the case of caching or mocking\n const injectedResponse = context.applyMiddleware('interceptRequest', undefined, {\n adapter,\n context\n })\n\n // If middleware injected a response, treat it as we normally would and return it\n // Do note that the injected response has to be reduced to a cross-environment friendly response\n if (injectedResponse) {\n const cbTimer = setTimeout(callback, 0, null, injectedResponse)\n const cancel = () => clearTimeout(cbTimer)\n return {abort: cancel}\n }\n\n // We'll want to null out the request on success/failure\n let xhr = cors ? new CrossDomainRequest() : new XmlHttpRequest()\n\n const isXdr = win && win.XDomainRequest && xhr instanceof win.XDomainRequest\n const headers = options.headers\n const delays = options.timeout\n\n // Request state\n let aborted = false\n let loaded = false\n let timedOut = false\n\n // Apply event handlers\n xhr.onerror = onError\n xhr.ontimeout = onError\n xhr.onabort = () => {\n stopTimers(true)\n aborted = true\n }\n\n // IE9 must have onprogress be set to a unique function\n xhr.onprogress = () => {\n /* intentional noop */\n }\n\n const loadEvent = isXdr ? 'onload' : 'onreadystatechange'\n xhr[loadEvent] = () => {\n // Prevent request from timing out\n resetTimers()\n\n if (aborted || (xhr.readyState !== 4 && !isXdr)) {\n return\n }\n\n // Will be handled by onError\n if (xhr.status === 0) {\n return\n }\n\n onLoad()\n }\n\n // @todo two last options to open() is username/password\n xhr.open(\n options.method,\n options.url,\n true // Always async\n )\n\n // Some options need to be applied after open\n xhr.withCredentials = !!options.withCredentials\n\n // Set headers\n if (headers && xhr.setRequestHeader) {\n for (const key in headers) {\n if (headers.hasOwnProperty(key)) {\n xhr.setRequestHeader(key, headers[key])\n }\n }\n } else if (headers && isXdr) {\n throw new Error('Headers cannot be set on an XDomainRequest object')\n }\n\n if (options.rawBody) {\n xhr.responseType = 'arraybuffer'\n }\n\n // Let middleware know we're about to do a request\n context.applyMiddleware('onRequest', {options, adapter, request: xhr, context})\n\n xhr.send(options.body || null)\n\n // Figure out which timeouts to use (if any)\n if (delays) {\n timers.connect = setTimeout(() => timeoutRequest('ETIMEDOUT'), delays.connect)\n }\n\n return {abort}\n\n function abort() {\n aborted = true\n\n if (xhr) {\n xhr.abort()\n }\n }\n\n function timeoutRequest(code) {\n timedOut = true\n xhr.abort()\n const error = new Error(\n code === 'ESOCKETTIMEDOUT'\n ? `Socket timed out on request to ${options.url}`\n : `Connection timed out on request to ${options.url}`\n )\n error.code = code\n context.channels.error.publish(error)\n }\n\n function resetTimers() {\n if (!delays) {\n return\n }\n\n stopTimers()\n timers.socket = setTimeout(() => timeoutRequest('ESOCKETTIMEDOUT'), delays.socket)\n }\n\n function stopTimers(force) {\n // Only clear the connect timeout if we've got a connection\n if (force || aborted || (xhr.readyState >= 2 && timers.connect)) {\n clearTimeout(timers.connect)\n }\n\n if (timers.socket) {\n clearTimeout(timers.socket)\n }\n }\n\n function onError(error) {\n if (loaded) {\n return\n }\n\n // Clean up\n stopTimers(true)\n loaded = true\n xhr = null\n\n // Annoyingly, details are extremely scarce and hidden from us.\n // We only really know that it is a network error\n const err = error || new Error(`Network error while attempting to reach ${options.url}`)\n err.isNetworkError = true\n err.request = options\n callback(err)\n }\n\n function reduceResponse() {\n let statusCode = xhr.status\n let statusMessage = xhr.statusText\n\n if (isXdr && statusCode === undefined) {\n // IE8 CORS GET successful response doesn't have a status field, but body is fine\n statusCode = 200\n } else if (statusCode > 12000 && statusCode < 12156) {\n // Yet another IE quirk where it emits weird status codes on network errors\n // https://support.microsoft.com/en-us/kb/193625\n return onError()\n } else {\n // Another IE bug where HTTP 204 somehow ends up as 1223\n statusCode = xhr.status === 1223 ? 204 : xhr.status\n statusMessage = xhr.status === 1223 ? 'No Content' : statusMessage\n }\n\n return {\n body: xhr.response || xhr.responseText,\n url: options.url,\n method: options.method,\n headers: isXdr ? {} : parseHeaders(xhr.getAllResponseHeaders()),\n statusCode: statusCode,\n statusMessage: statusMessage\n }\n }\n\n function onLoad() {\n if (aborted || loaded || timedOut) {\n return\n }\n\n if (xhr.status === 0) {\n onError(new Error('Unknown XHR error'))\n return\n }\n\n // Prevent being called twice\n stopTimers()\n loaded = true\n callback(null, reduceResponse())\n }\n}\n", "module.exports = require('./node-request')\n", "const pubsub = require('nano-pubsub')\nconst middlewareReducer = require('./util/middlewareReducer')\nconst processOptions = require('./middleware/defaultOptionsProcessor')\nconst validateOptions = require('./middleware/defaultOptionsValidator')\nconst httpRequester = require('./request') // node-request in node, browser-request in browsers\n\nconst channelNames = ['request', 'response', 'progress', 'error', 'abort']\nconst middlehooks = [\n 'processOptions',\n 'validateOptions',\n 'interceptRequest',\n 'finalizeOptions',\n 'onRequest',\n 'onResponse',\n 'onError',\n 'onReturn',\n 'onHeaders'\n]\n\nmodule.exports = function createRequester(initMiddleware = [], httpRequest = httpRequester) {\n const loadedMiddleware = []\n const middleware = middlehooks.reduce(\n (ware, name) => {\n ware[name] = ware[name] || []\n return ware\n },\n {\n processOptions: [processOptions],\n validateOptions: [validateOptions]\n }\n )\n\n function request(opts) {\n const channels = channelNames.reduce((target, name) => {\n target[name] = pubsub()\n return target\n }, {})\n\n // Prepare a middleware reducer that can be reused throughout the lifecycle\n const applyMiddleware = middlewareReducer(middleware)\n\n // Parse the passed options\n const options = applyMiddleware('processOptions', opts)\n\n // Validate the options\n applyMiddleware('validateOptions', options)\n\n // Build a context object we can pass to child handlers\n const context = {options, channels, applyMiddleware}\n\n // We need to hold a reference to the current, ongoing request,\n // in order to allow cancellation. In the case of the retry middleware,\n // a new request might be triggered\n let ongoingRequest = null\n const unsubscribe = channels.request.subscribe(ctx => {\n // Let request adapters (node/browser) perform the actual request\n ongoingRequest = httpRequest(ctx, (err, res) => onResponse(err, res, ctx))\n })\n\n // If we abort the request, prevent further requests from happening,\n // and be sure to cancel any ongoing request (obviously)\n channels.abort.subscribe(() => {\n unsubscribe()\n if (ongoingRequest) {\n ongoingRequest.abort()\n }\n })\n\n // See if any middleware wants to modify the return value - for instance\n // the promise or observable middlewares\n const returnValue = applyMiddleware('onReturn', channels, context)\n\n // If return value has been modified by a middleware, we expect the middleware\n // to publish on the 'request' channel. If it hasn't been modified, we want to\n // trigger it right away\n if (returnValue === channels) {\n channels.request.publish(context)\n }\n\n return returnValue\n\n function onResponse(reqErr, res, ctx) {\n let error = reqErr\n let response = res\n\n // We're processing non-errors first, in case a middleware converts the\n // response into an error (for instance, status >= 400 == HttpError)\n if (!error) {\n try {\n response = applyMiddleware('onResponse', res, ctx)\n } catch (err) {\n response = null\n error = err\n }\n }\n\n // Apply error middleware - if middleware return the same (or a different) error,\n // publish as an error event. If we *don't* return an error, assume it has been handled\n error = error && applyMiddleware('onError', error, ctx)\n\n // Figure out if we should publish on error/response channels\n if (error) {\n channels.error.publish(error)\n } else if (response) {\n channels.response.publish(response)\n }\n }\n }\n\n request.use = function use(newMiddleware) {\n if (!newMiddleware) {\n throw new Error('Tried to add middleware that resolved to falsey value')\n }\n\n if (typeof newMiddleware === 'function') {\n throw new Error(\n 'Tried to add middleware that was a function. It probably expects you to pass options to it.'\n )\n }\n\n if (newMiddleware.onReturn && middleware.onReturn.length > 0) {\n throw new Error(\n 'Tried to add new middleware with `onReturn` handler, but another handler has already been registered for this event'\n )\n }\n\n middlehooks.forEach(key => {\n if (newMiddleware[key]) {\n middleware[key].push(newMiddleware[key])\n }\n })\n\n loadedMiddleware.push(newMiddleware)\n return request\n }\n\n request.clone = function clone() {\n return createRequester(loadedMiddleware)\n }\n\n initMiddleware.forEach(request.use)\n\n return request\n}\n", "module.exports = require('./lib-node')\n", "/* global globalThis */\n/* eslint-disable no-negated-condition */\nif (typeof globalThis !== 'undefined') {\n module.exports = globalThis\n} else if (typeof window !== 'undefined') {\n module.exports = window\n} else if (typeof global !== 'undefined') {\n module.exports = global\n} else if (typeof self !== 'undefined') {\n module.exports = self\n} else {\n module.exports = {}\n}\n", "const global = require('../util/global')\nconst objectAssign = require('object-assign')\n\nmodule.exports = (opts = {}) => {\n const Observable = opts.implementation || global.Observable\n if (!Observable) {\n throw new Error(\n '`Observable` is not available in global scope, and no implementation was passed'\n )\n }\n\n return {\n onReturn: (channels, context) =>\n new Observable(observer => {\n channels.error.subscribe(err => observer.error(err))\n channels.progress.subscribe(event => observer.next(objectAssign({type: 'progress'}, event)))\n channels.response.subscribe(response => {\n observer.next(objectAssign({type: 'response'}, response))\n observer.complete()\n })\n\n channels.request.publish(context)\n return () => channels.abort.publish()\n })\n }\n}\n", "/*!\n * isobject <https://github.com/jonschlinkert/isobject>\n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n\n'use strict';\n\nmodule.exports = function isObject(val) {\n return val != null && typeof val === 'object' && Array.isArray(val) === false;\n};\n", "/*!\n * is-plain-object <https://github.com/jonschlinkert/is-plain-object>\n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n\n'use strict';\n\nvar isObject = require('isobject');\n\nfunction isObjectObject(o) {\n return isObject(o) === true\n && Object.prototype.toString.call(o) === '[object Object]';\n}\n\nmodule.exports = function isPlainObject(o) {\n var ctor,prot;\n\n if (isObjectObject(o) === false) return false;\n\n // If has modified constructor\n ctor = o.constructor;\n if (typeof ctor !== 'function') return false;\n\n // If has modified prototype\n prot = ctor.prototype;\n if (isObjectObject(prot) === false) return false;\n\n // If constructor does not have an Object-specific method\n if (prot.hasOwnProperty('isPrototypeOf') === false) {\n return false;\n }\n\n // Most likely a plain Object\n return true;\n};\n", "const objectAssign = require('object-assign')\nconst isPlainObject = require('is-plain-object')\n\nconst serializeTypes = ['boolean', 'string', 'number']\nconst isBuffer = obj =>\n !!obj.constructor &&\n typeof obj.constructor.isBuffer === 'function' &&\n obj.constructor.isBuffer(obj)\n\nmodule.exports = () => ({\n processOptions: options => {\n const body = options.body\n if (!body) {\n return options\n }\n\n const isStream = typeof body.pipe === 'function'\n const shouldSerialize =\n !isStream &&\n !isBuffer(body) &&\n (serializeTypes.indexOf(typeof body) !== -1 || Array.isArray(body) || isPlainObject(body))\n\n if (!shouldSerialize) {\n return options\n }\n\n return objectAssign({}, options, {\n body: JSON.stringify(options.body),\n headers: objectAssign({}, options.headers, {\n 'Content-Type': 'application/json'\n })\n })\n }\n})\n", "const objectAssign = require('object-assign')\n\nmodule.exports = opts => ({\n onResponse: response => {\n const contentType = response.headers['content-type'] || ''\n const shouldDecode = (opts && opts.force) || contentType.indexOf('application/json') !== -1\n if (!response.body || !contentType || !shouldDecode) {\n return response\n }\n\n return objectAssign({}, response, {body: tryParse(response.body)})\n },\n\n processOptions: options =>\n objectAssign({}, options, {\n headers: objectAssign({Accept: 'application/json'}, options.headers)\n })\n})\n\nfunction tryParse(body) {\n try {\n return JSON.parse(body)\n } catch (err) {\n err.message = `Failed to parsed response body as JSON: ${err.message}`\n throw err\n }\n}\n", "module.exports = () => ({\n onRequest: evt => {\n if (evt.adapter !== 'xhr') {\n return\n }\n\n const xhr = evt.request\n const context = evt.context\n\n if ('upload' in xhr && 'onprogress' in xhr.upload) {\n xhr.upload.onprogress = handleProgress('upload')\n }\n\n if ('onprogress' in xhr) {\n xhr.onprogress = handleProgress('download')\n }\n\n function handleProgress(stage) {\n return event => {\n const percent = event.lengthComputable ? (event.loaded / event.total) * 100 : -1\n context.channels.progress.publish({\n stage,\n percent,\n total: event.total,\n loaded: event.loaded,\n lengthComputable: event.lengthComputable\n })\n }\n }\n }\n})\n", "module.exports = require('./node-progress')\n", "// ISC @ Julien Fontanet\n\n\"use strict\";\n\n// ===================================================================\n\nvar construct = typeof Reflect !== \"undefined\" ? Reflect.construct : undefined;\nvar defineProperty = Object.defineProperty;\n\n// -------------------------------------------------------------------\n\nvar captureStackTrace = Error.captureStackTrace;\nif (captureStackTrace === undefined) {\n captureStackTrace = function captureStackTrace(error) {\n var container = new Error();\n\n defineProperty(error, \"stack\", {\n configurable: true,\n get: function getStack() {\n var stack = container.stack;\n\n // Replace property with value for faster future accesses.\n defineProperty(this, \"stack\", {\n configurable: true,\n value: stack,\n writable: true,\n });\n\n return stack;\n },\n set: function setStack(stack) {\n defineProperty(error, \"stack\", {\n configurable: true,\n value: stack,\n writable: true,\n });\n },\n });\n };\n}\n\n// -------------------------------------------------------------------\n\nfunction BaseError(message) {\n if (message !== undefined) {\n defineProperty(this, \"message\", {\n configurable: true,\n value: message,\n writable: true,\n });\n }\n\n var cname = this.constructor.name;\n if (cname !== undefined && cname !== this.name) {\n defineProperty(this, \"name\", {\n configurable: true,\n value: cname,\n writable: true,\n });\n }\n\n captureStackTrace(this, this.constructor);\n}\n\nBaseError.prototype = Object.create(Error.prototype, {\n // See: https://github.com/JsCommunity/make-error/issues/4\n constructor: {\n configurable: true,\n value: BaseError,\n writable: true,\n },\n});\n\n// -------------------------------------------------------------------\n\n// Sets the name of a function if possible (depends of the JS engine).\nvar setFunctionName = (function() {\n function setFunctionName(fn, name) {\n return defineProperty(fn, \"name\", {\n configurable: true,\n value: name,\n });\n }\n try {\n var f = function() {};\n setFunctionName(f, \"foo\");\n if (f.name === \"foo\") {\n return setFunctionName;\n }\n } catch (_) {}\n})();\n\n// -------------------------------------------------------------------\n\nfunction makeError(constructor, super_) {\n if (super_ == null || super_ === Error) {\n super_ = BaseError;\n } else if (typeof super_ !== \"function\") {\n throw new TypeError(\"super_ should be a function\");\n }\n\n var name;\n if (typeof constructor === \"string\") {\n name = constructor;\n constructor =\n construct !== undefined\n ? function() {\n return construct(super_, arguments, this.constructor);\n }\n : function() {\n super_.apply(this, arguments);\n };\n\n // If the name can be set, do it once and for all.\n if (setFunctionName !== undefined) {\n setFunctionName(constructor, name);\n name = undefined;\n }\n } else if (typeof constructor !== \"function\") {\n throw new TypeError(\"constructor should be either a string or a function\");\n }\n\n // Also register the super constructor also as `constructor.super_` just\n // like Node's `util.inherits()`.\n //\n // eslint-disable-next-line dot-notation\n constructor.super_ = constructor[\"super\"] = super_;\n\n var properties = {\n constructor: {\n configurable: true,\n value: constructor,\n writable: true,\n },\n };\n\n // If the name could not be set on the constructor, set it on the\n // prototype.\n if (name !== undefined) {\n properties.name = {\n configurable: true,\n value: name,\n writable: true,\n };\n }\n constructor.prototype = Object.create(super_.prototype, properties);\n\n return constructor;\n}\nexports = module.exports = makeError;\nexports.BaseError = BaseError;\n", "const makeError = require('make-error')\nconst assign = require('object-assign')\n\nfunction ClientError(res) {\n const props = extractErrorProps(res)\n ClientError.super.call(this, props.message)\n assign(this, props)\n}\n\nfunction ServerError(res) {\n const props = extractErrorProps(res)\n ServerError.super.call(this, props.message)\n assign(this, props)\n}\n\nfunction extractErrorProps(res) {\n const body = res.body\n const props = {\n response: res,\n statusCode: res.statusCode,\n responseBody: stringifyBody(body, res),\n }\n\n // API/Boom style errors ({statusCode, error, message})\n if (body.error && body.message) {\n props.message = `${body.error} - ${body.message}`\n return props\n }\n\n // Query/database errors ({error: {description, other, arb, props}})\n if (body.error && body.error.description) {\n props.message = body.error.description\n props.details = body.error\n return props\n }\n\n // Other, more arbitrary errors\n props.message = body.error || body.message || httpErrorMessage(res)\n return props\n}\n\nfunction httpErrorMessage(res) {\n const statusMessage = res.statusMessage ? ` ${res.statusMessage}` : ''\n return `${res.method}-request to ${res.url} resulted in HTTP ${res.statusCode}${statusMessage}`\n}\n\nfunction stringifyBody(body, res) {\n const contentType = (res.headers['content-type'] || '').toLowerCase()\n const isJson = contentType.indexOf('application/json') !== -1\n return isJson ? JSON.stringify(body, null, 2) : body\n}\n\nmakeError(ClientError)\nmakeError(ServerError)\n\nexports.ClientError = ClientError\nexports.ServerError = ServerError\n", "module.exports = []\n", "/* eslint-disable no-empty-function, no-process-env */\nconst getIt = require('get-it')\nconst assign = require('object-assign')\nconst observable = require('get-it/lib/middleware/observable')\nconst jsonRequest = require('get-it/lib/middleware/jsonRequest')\nconst jsonResponse = require('get-it/lib/middleware/jsonResponse')\nconst progress = require('get-it/lib/middleware/progress')\nconst {Observable} = require('../util/observable')\nconst {ClientError, ServerError} = require('./errors')\n\nconst httpError = {\n onResponse: (res) => {\n if (res.statusCode >= 500) {\n throw new ServerError(res)\n } else if (res.statusCode >= 400) {\n throw new ClientError(res)\n }\n\n return res\n },\n}\n\nconst printWarnings = {\n onResponse: (res) => {\n const warn = res.headers['x-sanity-warning']\n const warnings = Array.isArray(warn) ? warn : [warn]\n warnings.filter(Boolean).forEach((msg) => console.warn(msg)) // eslint-disable-line no-console\n return res\n },\n}\n\n// Environment-specific middleware.\nconst envSpecific = require('./nodeMiddleware')\n\nconst middleware = envSpecific.concat([\n printWarnings,\n jsonRequest(),\n jsonResponse(),\n progress(),\n httpError,\n observable({implementation: Observable}),\n])\n\nconst request = getIt(middleware)\n\nfunction httpRequest(options, requester = request) {\n return requester(assign({maxRedirects: 0}, options))\n}\n\nhttpRequest.defaultRequester = request\nhttpRequest.ClientError = ClientError\nhttpRequest.ServerError = ServerError\n\nmodule.exports = httpRequest\n", "const assign = require('object-assign')\n\nconst projectHeader = 'X-Sanity-Project-ID'\n\nmodule.exports = (config, overrides = {}) => {\n const headers = {}\n\n const token = overrides.token || config.token\n if (token) {\n headers.Authorization = `Bearer ${token}`\n }\n\n if (!overrides.useGlobalApi && !config.useProjectHostname && config.projectId) {\n headers[projectHeader] = config.projectId\n }\n\n const withCredentials = Boolean(\n typeof overrides.withCredentials === 'undefined'\n ? config.token || config.withCredentials\n : overrides.withCredentials\n )\n\n const timeout = typeof overrides.timeout === 'undefined' ? config.timeout : overrides.timeout\n return assign({}, overrides, {\n headers: assign({}, headers, overrides.headers || {}),\n timeout: typeof timeout === 'undefined' ? 5 * 60 * 1000 : timeout,\n proxy: overrides.proxy || config.proxy,\n json: true,\n withCredentials,\n })\n}\n", null, "module.exports = (fn) => {\n let didCall = false\n let returnValue\n return (...args) => {\n if (didCall) {\n return returnValue\n }\n returnValue = fn(...args)\n didCall = true\n return returnValue\n }\n}\n", "const generateHelpUrl = require('@sanity/generate-help-url').generateHelpUrl\nconst once = require('./util/once')\n\nconst createWarningPrinter = (message) =>\n // eslint-disable-next-line no-console\n once((...args) => console.warn(message.join(' '), ...args))\n\nexports.printCdnWarning = createWarningPrinter([\n 'You are not using the Sanity CDN. That means your data is always fresh, but the CDN is faster and',\n `cheaper. Think about it! For more info, see ${generateHelpUrl('js-client-cdn-configuration')}.`,\n 'To hide this warning, please set the `useCdn` option to either `true` or `false` when creating',\n 'the client.',\n])\n\nexports.printBrowserTokenWarning = createWarningPrinter([\n 'You have configured Sanity client to use a token in the browser. This may cause unintentional security issues.',\n `See ${generateHelpUrl(\n 'js-client-browser-token'\n )} for more information and how to hide this warning.`,\n])\n\nexports.printNoApiVersionSpecifiedWarning = createWarningPrinter([\n 'Using the Sanity client without specifying an API version is deprecated.',\n `See ${generateHelpUrl('js-client-api-version')}`,\n])\n", "const generateHelpUrl = require('@sanity/generate-help-url').generateHelpUrl\nconst assign = require('object-assign')\nconst validate = require('./validators')\nconst warnings = require('./warnings')\n\nconst defaultCdnHost = 'apicdn.sanity.io'\nconst defaultConfig = {\n apiHost: 'https://api.sanity.io',\n apiVersion: '1',\n useProjectHostname: true,\n isPromiseAPI: true,\n}\n\nconst LOCALHOSTS = ['localhost', '127.0.0.1', '0.0.0.0']\nconst isLocal = (host) => LOCALHOSTS.indexOf(host) !== -1\n\nexports.defaultConfig = defaultConfig\n\n// eslint-disable-next-line complexity\nexports.initConfig = (config, prevConfig) => {\n const specifiedConfig = assign({}, prevConfig, config)\n if (!specifiedConfig.apiVersion) {\n warnings.printNoApiVersionSpecifiedWarning()\n }\n\n const newConfig = assign({}, defaultConfig, specifiedConfig)\n const projectBased = newConfig.useProjectHostname\n\n if (typeof Promise === 'undefined') {\n const helpUrl = generateHelpUrl('js-client-promise-polyfill')\n throw new Error(`No native Promise-implementation found, polyfill needed - see ${helpUrl}`)\n }\n\n if (projectBased && !newConfig.projectId) {\n throw new Error('Configuration must contain `projectId`')\n }\n\n const isBrowser = typeof window !== 'undefined' && window.location && window.location.hostname\n const isLocalhost = isBrowser && isLocal(window.location.hostname)\n\n if (isBrowser && isLocalhost && newConfig.token && newConfig.ignoreBrowserTokenWarning !== true) {\n warnings.printBrowserTokenWarning()\n } else if (typeof newConfig.useCdn === 'undefined') {\n warnings.printCdnWarning()\n }\n\n if (projectBased) {\n validate.projectId(newConfig.projectId)\n }\n\n if (newConfig.dataset) {\n validate.dataset(newConfig.dataset)\n }\n\n if ('requestTagPrefix' in newConfig) {\n // Allow setting and unsetting request tag prefix\n newConfig.requestTagPrefix = newConfig.requestTagPrefix\n ? validate.requestTag(newConfig.requestTagPrefix).replace(/\\.+$/, '')\n : undefined\n }\n\n newConfig.apiVersion = `${newConfig.apiVersion}`.replace(/^v/, '')\n newConfig.isDefaultApi = newConfig.apiHost === defaultConfig.apiHost\n newConfig.useCdn = Boolean(newConfig.useCdn) && !newConfig.withCredentials\n\n exports.validateApiVersion(newConfig.apiVersion)\n\n const hostParts = newConfig.apiHost.split('://', 2)\n const protocol = hostParts[0]\n const host = hostParts[1]\n const cdnHost = newConfig.isDefaultApi ? defaultCdnHost : host\n\n if (newConfig.useProjectHostname) {\n newConfig.url = `${protocol}://${newConfig.projectId}.${host}/v${newConfig.apiVersion}`\n newConfig.cdnUrl = `${protocol}://${newConfig.projectId}.${cdnHost}/v${newConfig.apiVersion}`\n } else {\n newConfig.url = `${newConfig.apiHost}/v${newConfig.apiVersion}`\n newConfig.cdnUrl = newConfig.url\n }\n\n return newConfig\n}\n\nexports.validateApiVersion = function validateApiVersion(apiVersion) {\n if (apiVersion === '1' || apiVersion === 'X') {\n return\n }\n\n const apiDate = new Date(apiVersion)\n const apiVersionValid =\n /^\\d{4}-\\d{2}-\\d{2}$/.test(apiVersion) && apiDate instanceof Date && apiDate.getTime() > 0\n\n if (!apiVersionValid) {\n throw new Error('Invalid API version string, expected `1` or date in format `YYYY-MM-DD`')\n }\n}\n", "const assign = require('object-assign')\nconst {Observable, map, filter} = require('./util/observable')\nconst Patch = require('./data/patch')\nconst Transaction = require('./data/transaction')\nconst dataMethods = require('./data/dataMethods')\nconst DatasetsClient = require('./datasets/datasetsClient')\nconst ProjectsClient = require('./projects/projectsClient')\nconst AssetsClient = require('./assets/assetsClient')\nconst UsersClient = require('./users/usersClient')\nconst AuthClient = require('./auth/authClient')\nconst httpRequest = require('./http/request')\nconst getRequestOptions = require('./http/requestOptions')\nconst {defaultConfig, initConfig} = require('./config')\nconst validate = require('./validators')\n\nconst toPromise = (observable) => observable.toPromise()\n\nfunction SanityClient(config = defaultConfig) {\n if (!(this instanceof SanityClient)) {\n return new SanityClient(config)\n }\n\n this.config(config)\n\n this.assets = new AssetsClient(this)\n this.datasets = new DatasetsClient(this)\n this.projects = new ProjectsClient(this)\n this.users = new UsersClient(this)\n this.auth = new AuthClient(this)\n\n if (this.clientConfig.isPromiseAPI) {\n const observableConfig = assign({}, this.clientConfig, {isPromiseAPI: false})\n this.observable = new SanityClient(observableConfig)\n }\n}\n\nassign(SanityClient.prototype, dataMethods)\nassign(SanityClient.prototype, {\n clone() {\n return new SanityClient(this.config())\n },\n\n config(newConfig) {\n if (typeof newConfig === 'undefined') {\n return assign({}, this.clientConfig)\n }\n\n if (this.observable) {\n const observableConfig = assign({}, newConfig, {isPromiseAPI: false})\n this.observable.config(observableConfig)\n }\n\n this.clientConfig = initConfig(newConfig, this.clientConfig || {})\n return this\n },\n\n withConfig(newConfig) {\n return this.clone().config(newConfig)\n },\n\n getUrl(uri, useCdn = false) {\n const base = useCdn ? this.clientConfig.cdnUrl : this.clientConfig.url\n return `${base}/${uri.replace(/^\\//, '')}`\n },\n\n isPromiseAPI() {\n return this.clientConfig.isPromiseAPI\n },\n\n _requestObservable(options) {\n const uri = options.url || options.uri\n\n // If the `canUseCdn`-option is not set we detect it automatically based on the method + URL.\n // Only the /data endpoint is currently available through API-CDN.\n const canUseCdn =\n typeof options.canUseCdn === 'undefined'\n ? ['GET', 'HEAD'].indexOf(options.method || 'GET') >= 0 && uri.indexOf('/data/') === 0\n : options.canUseCdn\n\n const useCdn = this.clientConfig.useCdn && canUseCdn\n\n const tag =\n options.tag && this.clientConfig.requestTagPrefix\n ? [this.clientConfig.requestTagPrefix, options.tag].join('.')\n : options.tag || this.clientConfig.requestTagPrefix\n\n if (tag) {\n options.query = {tag: validate.requestTag(tag), ...options.query}\n }\n\n const reqOptions = getRequestOptions(\n this.clientConfig,\n assign({}, options, {\n url: this.getUrl(uri, useCdn),\n })\n )\n\n return new Observable((subscriber) =>\n httpRequest(reqOptions, this.clientConfig.requester).subscribe(subscriber)\n )\n },\n\n request(options) {\n const observable = this._requestObservable(options).pipe(\n filter((event) => event.type === 'response'),\n map((event) => event.body)\n )\n\n return this.isPromiseAPI() ? toPromise(observable) : observable\n },\n})\n\nSanityClient.Patch = Patch\nSanityClient.Transaction = Transaction\nSanityClient.ClientError = httpRequest.ClientError\nSanityClient.ServerError = httpRequest.ServerError\nSanityClient.requester = httpRequest.defaultRequester\n\nmodule.exports = SanityClient\n"],
|
|
5
|
-
"mappings": ";;;;;;AAAA;AAAA;AAAA;AAQA,QAAI,wBAAwB,OAAO;AACnC,QAAI,iBAAiB,OAAO,UAAU;AACtC,QAAI,mBAAmB,OAAO,UAAU;AAExC,sBAAkB,KAAK;AACtB,UAAI,QAAQ,QAAQ,QAAQ,QAAW;AACtC,cAAM,IAAI,UAAU,uDAAuD;AAAA,MAC5E;AAEA,aAAO,OAAO,GAAG;AAAA,IAClB;AAEA,+BAA2B;AAC1B,UAAI;AACH,YAAI,CAAC,OAAO,QAAQ;AACnB,iBAAO;AAAA,QACR;AAKA,YAAI,QAAQ,IAAI,OAAO,KAAK;AAC5B,cAAM,KAAK;AACX,YAAI,OAAO,oBAAoB,KAAK,EAAE,OAAO,KAAK;AACjD,iBAAO;AAAA,QACR;AAGA,YAAI,QAAQ,CAAC;AACb,iBAAS,IAAI,GAAG,IAAI,IAAI,KAAK;AAC5B,gBAAM,MAAM,OAAO,aAAa,CAAC,KAAK;AAAA,QACvC;AACA,YAAI,SAAS,OAAO,oBAAoB,KAAK,EAAE,IAAI,SAAU,GAAG;AAC/D,iBAAO,MAAM;AAAA,QACd,CAAC;AACD,YAAI,OAAO,KAAK,EAAE,MAAM,cAAc;AACrC,iBAAO;AAAA,QACR;AAGA,YAAI,QAAQ,CAAC;AACb,+BAAuB,MAAM,EAAE,EAAE,QAAQ,SAAU,QAAQ;AAC1D,gBAAM,UAAU;AAAA,QACjB,CAAC;AACD,YAAI,OAAO,KAAK,OAAO,OAAO,CAAC,GAAG,KAAK,CAAC,EAAE,KAAK,EAAE,MAC/C,wBAAwB;AACzB,iBAAO;AAAA,QACR;AAEA,eAAO;AAAA,MACR,SAAS,KAAP;AAED,eAAO;AAAA,MACR;AAAA,IACD;AAEA,WAAO,UAAU,gBAAgB,IAAI,OAAO,SAAS,SAAU,QAAQ,QAAQ;AAC9E,UAAI;AACJ,UAAI,KAAK,SAAS,MAAM;AACxB,UAAI;AAEJ,eAAS,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;AAC1C,eAAO,OAAO,UAAU,EAAE;AAE1B,iBAAS,OAAO,MAAM;AACrB,cAAI,eAAe,KAAK,MAAM,GAAG,GAAG;AACnC,eAAG,OAAO,KAAK;AAAA,UAChB;AAAA,QACD;AAEA,YAAI,uBAAuB;AAC1B,oBAAU,sBAAsB,IAAI;AACpC,mBAAS,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK;AACxC,gBAAI,iBAAiB,KAAK,MAAM,QAAQ,EAAE,GAAG;AAC5C,iBAAG,QAAQ,MAAM,KAAK,QAAQ;AAAA,YAC/B;AAAA,UACD;AAAA,QACD;AAAA,MACD;AAEA,aAAO;AAAA,IACR;AAAA;AAAA;;;;;;;ACzFA,wBAA2B,GAAM;AAC/B,aAAO,OAAO,MAAM;IACtB;AAFA,YAAA,aAAA;;;;;;;;;ACAA,QAAI,sDAAsD;AAM7C,YAAA,SAAS;MAKpB,SAAS;MAUT,IAAI,sCAAsC,OAAc;AACtD,YAAI,OAAO;AACT,cAAM,QAAQ,IAAI,MAAK;AACvB,kBAAQ,KAAK,kGAAkG,MAAM,KAAK;mBACjH,qDAAqD;AAC9D,kBAAQ,IAAI,sDAAsD;;AAEpE,8DAAsD;MACxD;MAEA,IAAI,wCAAqC;AACvC,eAAO;MACT;;;;;;;;;;AC5BF,6BAAgC,KAAQ;AACtC,iBAAW,WAAA;AAAQ,cAAM;MAAK,GAAG,CAAC;IACpC;AAFA,YAAA,kBAAA;;;;;;;;;ACJA,QAAA,WAAA;AACA,QAAA,oBAAA;AAEa,YAAA,QAAuB;MAClC,QAAQ;MACR,MAAA,SAAK,OAAU;MAAoB;MACnC,OAAA,SAAM,KAAQ;AACZ,YAAI,SAAA,OAAO,uCAAuC;AAChD,gBAAM;eACD;AACL,4BAAA,gBAAgB,GAAG;;MAEvB;MACA,UAAA,WAAA;MAA4B;;;;;;;;;;ACdjB,YAAA,UAAW,WAAA;AAAM,aAAA,MAAM,WAAY,SAAI,GAAM;AAAe,eAAA,KAAK,OAAO,EAAE,WAAW;MAAzB;IAA3C,EAA8E;;;;;;;;;ACA5G,sBAAyB,GAAM;AAC7B,aAAO,MAAM,QAAQ,OAAO,MAAM;IACpC;AAFA,YAAA,WAAA;;;;;;;;;ACQA,QAAM,0BAA2B,WAAA;AAC/B,wCAA4C,QAAa;AACvD,cAAM,KAAK,IAAI;AACf,aAAK,UAAU,SACV,OAAO,SAAM,8CACpB,OAAO,IAAI,SAAC,KAAK,GAAC;AAAK,iBAAG,IAAI,IAAC,OAAK,IAAI,SAAQ;QAAzB,CAA6B,EAAE,KAAK,MAAM,IAAM;AACrE,aAAK,OAAO;AACZ,aAAK,SAAS;AACd,eAAO;MACT;AAEA,+BAAwB,YAAY,OAAO,OAAO,MAAM,SAAS;AAEjE,aAAO;IACT,EAAE;AAMW,YAAA,sBAA+C;;;;;;;;;AC5B5D,QAAA,YAAA;AACA,QAAA,aAAA;AACA,QAAA,eAAA;AACA,QAAA,wBAAA;AAeA,QAAA,eAAA,WAAA;AAsBE,6BAAY,aAAwB;AAX7B,aAAA,SAAkB;AAGf,aAAA,mBAAkD;AAEpD,aAAA,iBAAqC;AAO3C,YAAI,aAAa;AACd,eAAa,mBAAmB;AAChC,eAAa,eAAe;;MAEjC;AAQA,oBAAA,UAAA,cAAA,WAAA;AACE,YAAI;AAEJ,YAAI,KAAK,QAAQ;AACf;;AAGE,YAAA,KAAA,MAAE,mBAAA,GAAA,kBAAkB,mBAAA,GAAA,kBAAkB,eAAA,GAAA,cAAc,iBAAA,GAAA;AAExD,aAAK,SAAS;AACd,aAAK,mBAAmB;AAGxB,aAAK,iBAAiB;AAEtB,YAAI,4BAA4B,eAAc;AAC5C,2BAAiB,OAAO,IAAI;mBACnB,qBAAqB,MAAM;AACpC,mBAAS,QAAQ,GAAG,QAAQ,iBAAiB,QAAQ,EAAE,OAAO;AAC5D,gBAAM,WAAS,iBAAiB;AAChC,qBAAO,OAAO,IAAI;;;AAItB,YAAI,aAAA,WAAW,YAAY,GAAG;AAU5B,cAAI,kBAAkB;AACnB,iBAAa,eAAe;;AAE/B,cAAI;AACF,yBAAa,KAAK,IAAI;mBACf,GAAP;AACA,qBAAS,aAAa,sBAAA,sBAAsB,4BAA4B,EAAE,MAAM,IAAI,CAAC,CAAC;;;AAI1F,YAAI,UAAA,QAAQ,cAAc,GAAG;AAC3B,cAAI,QAAQ;AACZ,cAAI,MAAM,eAAe;AAEzB,iBAAO,EAAE,QAAQ,KAAK;AACpB,gBAAM,MAAM,eAAe;AAC3B,gBAAI,WAAA,SAAS,GAAG,GAAG;AACjB,kBAAI;AACF,oBAAI,YAAW;uBACR,GAAP;AACA,yBAAS,UAAU,CAAA;AACnB,oBAAI,aAAa,sBAAA,qBAAqB;AACpC,2BAAS,OAAO,OAAO,4BAA4B,EAAE,MAAM,CAAC;uBACvD;AACL,yBAAO,KAAK,CAAC;;;;;;AAOvB,YAAI,QAAQ;AACV,gBAAM,IAAI,sBAAA,oBAAoB,MAAM;;MAExC;AAsBA,oBAAA,UAAA,MAAA,SAAI,UAAuB;AACzB,YAAI,eAA8B;AAElC,YAAI,CAAC,UAAU;AACb,iBAAO,cAAa;;AAGtB,gBAAQ,OAAO;eACR;AACH,2BAAe,IAAI,cAA2B,QAAQ;eACnD;AACH,gBAAI,iBAAiB,QAAQ,aAAa,UAAU,OAAO,aAAa,gBAAgB,YAAY;AAElG,qBAAO;uBACE,KAAK,QAAQ;AACtB,2BAAa,YAAW;AACxB,qBAAO;uBACE,CAAE,yBAAwB,gBAAe;AAClD,kBAAM,MAAM;AACZ,6BAAe,IAAI,cAAY;AAC/B,2BAAa,iBAAiB,CAAC,GAAG;;AAEpC;mBACO;AACP,kBAAM,IAAI,MAAM,2BAA2B,WAAW,yBAAyB;;;AAK7E,YAAA,mBAAA,aAAA;AACN,YAAI,qBAAqB,MAAM;AAG7B,uBAAa,mBAAmB;mBACvB,4BAA4B,eAAc;AACnD,cAAI,qBAAqB,MAAM;AAE7B,mBAAO;;AAIT,uBAAa,mBAAmB,CAAC,kBAAkB,IAAI;mBAC9C,iBAAiB,QAAQ,IAAI,MAAM,IAAI;AAEhD,2BAAiB,KAAK,IAAI;eACrB;AAEL,iBAAO;;AAIT,YAAM,gBAAgB,KAAK;AAC3B,YAAI,kBAAkB,MAAM;AAC1B,eAAK,iBAAiB,CAAC,YAAY;eAC9B;AACL,wBAAc,KAAK,YAAY;;AAGjC,eAAO;MACT;AAQA,oBAAA,UAAA,SAAA,SAAO,cAA0B;AAC/B,YAAM,gBAAgB,KAAK;AAC3B,YAAI,eAAe;AACjB,cAAM,oBAAoB,cAAc,QAAQ,YAAY;AAC5D,cAAI,sBAAsB,IAAI;AAC5B,0BAAc,OAAO,mBAAmB,CAAC;;;MAG/C;AAtMc,oBAAA,QAAuB,SAAS,OAAU;AACtD,cAAM,SAAS;AACf,eAAO;MACT,EAAE,IAAI,cAAY,CAAE;AAoMtB,aAAA;MAzMA;AAAa,YAAA,eAAA;AA2Mb,yCAAqC,QAAa;AACjD,aAAO,OAAO,OAAO,SAAC,MAAM,KAAG;AAAK,eAAA,KAAK,OAAQ,eAAe,sBAAA,sBAAuB,IAAI,SAAS,GAAG;MAAnE,GAAsE,CAAA,CAAE;IAC7G;;;;;;;;;AC9Na,YAAA,eAAgB,WAAA;AAC3B,aAAA,OAAO,WAAW,aACd,OAAO,cAAc,IACrB,oBAAoB,KAAK,OAAM;IAFnC,EAEsC;AAK3B,YAAA,iBAAiB,QAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACT9B,QAAA,eAAA;AACA,QAAA,aAAA;AAEA,QAAA,iBAAA;AACA,QAAA,iBAAA;AACA,QAAA,WAAA;AACA,QAAA,oBAAA;AAYA,QAAA,aAAA,SAAA,QAAA;AAAmC,gBAAA,aAAA,MAAA;AAuCjC,2BAAY,mBACA,OACA,UAAqB;AAFjC,YAAA,QAGE,OAAA,KAAA,IAAA,KAAO;AAlBQ,cAAA,iBAAsB;AACtB,cAAA,kBAA2B;AAC3B,cAAA,qBAA8B;AAErC,cAAA,YAAqB;AAgB7B,gBAAQ,UAAU;eACX;AACH,kBAAK,cAAc,WAAA;AACnB;eACG;AACH,gBAAI,CAAC,mBAAmB;AACtB,oBAAK,cAAc,WAAA;AACnB;;AAEF,gBAAI,OAAO,sBAAsB,UAAU;AACzC,kBAAI,6BAA6B,aAAY;AAC3C,sBAAK,qBAAqB,kBAAkB;AAC5C,sBAAK,cAAc;AACnB,kCAAkB,IAAI,KAAI;qBACrB;AACL,sBAAK,qBAAqB;AAC1B,sBAAK,cAAc,IAAI,eAAkB,OAA6B,iBAAiB;;AAEzF;;;AAGF,kBAAK,qBAAqB;AAC1B,kBAAK,cAAc,IAAI,eAAkB,OAA6B,mBAAmB,OAAO,QAAQ;AACxG;;;MAEN;AAnEA,kBAAA,UAAC,eAAA,gBAAD,WAAA;AAAyB,eAAO;MAAM;AAc/B,kBAAA,SAAP,SAAiB,MACA,OACA,UAAqB;AACpC,YAAM,aAAa,IAAI,YAAW,MAAM,OAAO,QAAQ;AACvD,mBAAW,qBAAqB;AAChC,eAAO;MACT;AAwDA,kBAAA,UAAA,OAAA,SAAK,OAAS;AACZ,YAAI,CAAC,KAAK,WAAW;AACnB,eAAK,MAAM,KAAK;;MAEpB;AASA,kBAAA,UAAA,QAAA,SAAM,KAAS;AACb,YAAI,CAAC,KAAK,WAAW;AACnB,eAAK,YAAY;AACjB,eAAK,OAAO,GAAG;;MAEnB;AAQA,kBAAA,UAAA,WAAA,WAAA;AACE,YAAI,CAAC,KAAK,WAAW;AACnB,eAAK,YAAY;AACjB,eAAK,UAAS;;MAElB;AAEA,kBAAA,UAAA,cAAA,WAAA;AACE,YAAI,KAAK,QAAQ;AACf;;AAEF,aAAK,YAAY;AACjB,eAAA,UAAM,YAAW,KAAA,IAAA;MACnB;AAEU,kBAAA,UAAA,QAAV,SAAgB,OAAQ;AACtB,aAAK,YAAY,KAAK,KAAK;MAC7B;AAEU,kBAAA,UAAA,SAAV,SAAiB,KAAQ;AACvB,aAAK,YAAY,MAAM,GAAG;AAC1B,aAAK,YAAW;MAClB;AAEU,kBAAA,UAAA,YAAV,WAAA;AACE,aAAK,YAAY,SAAQ;AACzB,aAAK,YAAW;MAClB;AAGA,kBAAA,UAAA,yBAAA,WAAA;AACW,YAAA,mBAAA,KAAA;AACT,aAAK,mBAAmB;AACxB,aAAK,YAAW;AAChB,aAAK,SAAS;AACd,aAAK,YAAY;AACjB,aAAK,mBAAmB;AACxB,eAAO;MACT;AACF,aAAA;IAAA,EA/ImC,eAAA,YAAY;AAAlC,YAAA,aAAA;AAsJb,QAAA,iBAAA,SAAA,QAAA;AAAuC,gBAAA,iBAAA,MAAA;AAIrC,+BAAoB,mBACR,gBACA,OACA,UAAqB;AAHjC,YAAA,QAIE,OAAA,KAAA,IAAA,KAAO;AAJW,cAAA,oBAAA;AAMlB,YAAI;AACJ,YAAI,UAAe;AAEnB,YAAI,aAAA,WAAW,cAAc,GAAG;AAC9B,iBAA+B;mBACtB,gBAAgB;AACzB,iBAA6B,eAAgB;AAC7C,kBAA8B,eAAgB;AAC9C,qBAAiC,eAAgB;AACjD,cAAI,mBAAmB,WAAA,OAAe;AACpC,sBAAU,OAAO,OAAO,cAAc;AACtC,gBAAI,aAAA,WAAW,QAAQ,WAAW,GAAG;AACnC,oBAAK,IAAiB,QAAQ,YAAY,KAAK,OAAO,CAAC;;AAEzD,oBAAQ,cAAc,MAAK,YAAY,KAAK,KAAI;;;AAIpD,cAAK,WAAW;AAChB,cAAK,QAAQ;AACb,cAAK,SAAS;AACd,cAAK,YAAY;;MACnB;AAEA,sBAAA,UAAA,OAAA,SAAK,OAAS;AACZ,YAAI,CAAC,KAAK,aAAa,KAAK,OAAO;AACzB,cAAA,oBAAA,KAAA;AACR,cAAI,CAAC,SAAA,OAAO,yCAAyC,CAAC,kBAAkB,oBAAoB;AAC1F,iBAAK,aAAa,KAAK,OAAO,KAAK;qBAC1B,KAAK,gBAAgB,mBAAmB,KAAK,OAAO,KAAK,GAAG;AACrE,iBAAK,YAAW;;;MAGtB;AAEA,sBAAA,UAAA,QAAA,SAAM,KAAS;AACb,YAAI,CAAC,KAAK,WAAW;AACX,cAAA,oBAAA,KAAA;AACA,cAAA,wCAAA,SAAA,OAAA;AACR,cAAI,KAAK,QAAQ;AACf,gBAAI,CAAC,yCAAyC,CAAC,kBAAkB,oBAAoB;AACnF,mBAAK,aAAa,KAAK,QAAQ,GAAG;AAClC,mBAAK,YAAW;mBACX;AACL,mBAAK,gBAAgB,mBAAmB,KAAK,QAAQ,GAAG;AACxD,mBAAK,YAAW;;qBAET,CAAC,kBAAkB,oBAAoB;AAChD,iBAAK,YAAW;AAChB,gBAAI,uCAAuC;AACzC,oBAAM;;AAER,8BAAA,gBAAgB,GAAG;iBACd;AACL,gBAAI,uCAAuC;AACzC,gCAAkB,iBAAiB;AACnC,gCAAkB,kBAAkB;mBAC/B;AACL,gCAAA,gBAAgB,GAAG;;AAErB,iBAAK,YAAW;;;MAGtB;AAEA,sBAAA,UAAA,WAAA,WAAA;AAAA,YAAA,QAAA;AACE,YAAI,CAAC,KAAK,WAAW;AACX,cAAA,oBAAA,KAAA;AACR,cAAI,KAAK,WAAW;AAClB,gBAAM,kBAAkB,WAAA;AAAM,qBAAA,MAAK,UAAU,KAAK,MAAK,QAAQ;YAAjC;AAE9B,gBAAI,CAAC,SAAA,OAAO,yCAAyC,CAAC,kBAAkB,oBAAoB;AAC1F,mBAAK,aAAa,eAAe;AACjC,mBAAK,YAAW;mBACX;AACL,mBAAK,gBAAgB,mBAAmB,eAAe;AACvD,mBAAK,YAAW;;iBAEb;AACL,iBAAK,YAAW;;;MAGtB;AAEQ,sBAAA,UAAA,eAAR,SAAqB,IAAc,OAAW;AAC5C,YAAI;AACF,aAAG,KAAK,KAAK,UAAU,KAAK;iBACrB,KAAP;AACA,eAAK,YAAW;AAChB,cAAI,SAAA,OAAO,uCAAuC;AAChD,kBAAM;iBACD;AACL,8BAAA,gBAAgB,GAAG;;;MAGzB;AAEQ,sBAAA,UAAA,kBAAR,SAAwB,QAAuB,IAAc,OAAW;AACtE,YAAI,CAAC,SAAA,OAAO,uCAAuC;AACjD,gBAAM,IAAI,MAAM,UAAU;;AAE5B,YAAI;AACF,aAAG,KAAK,KAAK,UAAU,KAAK;iBACrB,KAAP;AACA,cAAI,SAAA,OAAO,uCAAuC;AAChD,mBAAO,iBAAiB;AACxB,mBAAO,kBAAkB;AACzB,mBAAO;iBACF;AACL,8BAAA,gBAAgB,GAAG;AACnB,mBAAO;;;AAGX,eAAO;MACT;AAGA,sBAAA,UAAA,eAAA,WAAA;AACU,YAAA,oBAAA,KAAA;AACR,aAAK,WAAW;AAChB,aAAK,oBAAoB;AACzB,0BAAkB,YAAW;MAC/B;AACF,aAAA;IAAA,EArIuC,UAAU;AAApC,YAAA,iBAAA;;;;;;;;;ACxKb,QAAA,eAAA;AASA,4BAA+B,UAAwC;AACrE,aAAO,UAAU;AACT,YAAA,KAAA,UAAE,WAAA,GAAA,QAAQ,cAAA,GAAA,aAAa,YAAA,GAAA;AAC7B,YAAI,YAAU,WAAW;AACvB,iBAAO;mBACE,eAAe,uBAAuB,aAAA,YAAY;AAC3D,qBAAW;eACN;AACL,qBAAW;;;AAGf,aAAO;IACT;AAZA,YAAA,iBAAA;;;;;;;;;ACTA,QAAA,eAAA;AACA,QAAA,iBAAA;AACA,QAAA,aAAA;AAGA,0BACE,gBACA,OACA,UAAqB;AAErB,UAAI,gBAAgB;AAClB,YAAI,0BAA0B,aAAA,YAAY;AACxC,iBAAwB;;AAG1B,YAAI,eAAe,eAAA,eAAqB;AACtC,iBAAO,eAAe,eAAA,cAAmB;;;AAI7C,UAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,UAAU;AAC1C,eAAO,IAAI,aAAA,WAAW,WAAA,KAAa;;AAGrC,aAAO,IAAI,aAAA,WAAW,gBAAgB,OAAO,QAAQ;IACvD;AApBA,YAAA,eAAA;;;;;;;;;ACJa,YAAA,aAAc,WAAA;AAAM,aAAA,OAAO,WAAW,cAAc,OAAO,cAAc;IAArD,EAAoE;;;;;;;;;ACDrG,sBAA4B,GAAI;AAC9B,aAAO;IACT;AAFA,YAAA,WAAA;;;;;;;;;ACCA,QAAA,aAAA;AAiBA,oBAAoB;AAAC,UAAA,MAAA,CAAA;eAAA,KAAA,GAAA,KAAA,UAAA,QAAA,MAAsC;AAAtC,YAAA,MAAA,UAAA;;AACnB,aAAO,cAAc,GAAG;IAC1B;AAFA,YAAA,OAAA;AAKA,2BAAoC,KAA+B;AACjE,UAAI,IAAI,WAAW,GAAG;AACpB,eAAO,WAAA;;AAGT,UAAI,IAAI,WAAW,GAAG;AACpB,eAAO,IAAI;;AAGb,aAAO,eAAe,OAAQ;AAC5B,eAAO,IAAI,OAAO,SAAC,MAAW,IAAuB;AAAK,iBAAA,GAAG,IAAI;QAAP,GAAU,KAAY;MAClF;IACF;AAZA,YAAA,gBAAA;;;;;;;;;ACnBA,QAAA,mBAAA;AACA,QAAA,iBAAA;AAGA,QAAA,eAAA;AACA,QAAA,SAAA;AACA,QAAA,WAAA;AAQA,QAAA,aAAA,WAAA;AAkBE,2BAAY,WAA6E;AAflF,aAAA,YAAqB;AAgB1B,YAAI,WAAW;AACb,eAAK,aAAa;;MAEtB;AAyBA,kBAAA,UAAA,OAAA,SAAQ,UAAwB;AAC9B,YAAM,aAAa,IAAI,YAAU;AACjC,mBAAW,SAAS;AACpB,mBAAW,WAAW;AACtB,eAAO;MACT;AAuIA,kBAAA,UAAA,YAAA,SAAU,gBACA,OACA,UAAqB;AAErB,YAAA,WAAA,KAAA;AACR,YAAM,OAAO,eAAA,aAAa,gBAAgB,OAAO,QAAQ;AAEzD,YAAI,UAAU;AACZ,eAAK,IAAI,SAAS,KAAK,MAAM,KAAK,MAAM,CAAC;eACpC;AACL,eAAK,IACH,KAAK,UAAW,SAAA,OAAO,yCAAyC,CAAC,KAAK,qBACtE,KAAK,WAAW,IAAI,IACpB,KAAK,cAAc,IAAI,CAAC;;AAI5B,YAAI,SAAA,OAAO,uCAAuC;AAChD,cAAI,KAAK,oBAAoB;AAC3B,iBAAK,qBAAqB;AAC1B,gBAAI,KAAK,iBAAiB;AACxB,oBAAM,KAAK;;;;AAKjB,eAAO;MACT;AAGA,kBAAA,UAAA,gBAAA,SAAc,MAAmB;AAC/B,YAAI;AACF,iBAAO,KAAK,WAAW,IAAI;iBACpB,KAAP;AACA,cAAI,SAAA,OAAO,uCAAuC;AAChD,iBAAK,kBAAkB;AACvB,iBAAK,iBAAiB;;AAExB,cAAI,iBAAA,eAAe,IAAI,GAAG;AACxB,iBAAK,MAAM,GAAG;iBACT;AACL,oBAAQ,KAAK,GAAG;;;MAGtB;AASA,kBAAA,UAAA,UAAA,SAAQ,MAA0B,aAAoC;AAAtE,YAAA,QAAA;AACE,sBAAc,eAAe,WAAW;AAExC,eAAO,IAAI,YAAkB,SAAC,SAAS,QAAM;AAG3C,cAAI;AACJ,yBAAe,MAAK,UAAU,SAAC,OAAK;AAClC,gBAAI;AACF,mBAAK,KAAK;qBACH,KAAP;AACA,qBAAO,GAAG;AACV,kBAAI,cAAc;AAChB,6BAAa,YAAW;;;UAG9B,GAAG,QAAQ,OAAO;QACpB,CAAC;MACH;AAGA,kBAAA,UAAA,aAAA,SAAW,YAA2B;AAC5B,YAAA,SAAA,KAAA;AACR,eAAO,UAAU,OAAO,UAAU,UAAU;MAC9C;AAoBA,kBAAA,UAAC,aAAA,cAAD,WAAA;AACE,eAAO;MACT;AAoCA,kBAAA,UAAA,OAAA,WAAA;AAAK,YAAA,aAAA,CAAA;iBAAA,KAAA,GAAA,KAAA,UAAA,QAAA,MAA2C;AAA3C,qBAAA,MAAA,UAAA;;AACH,YAAI,WAAW,WAAW,GAAG;AAC3B,iBAAO;;AAGT,eAAO,OAAA,cAAc,UAAU,EAAE,IAAI;MACvC;AAQA,kBAAA,UAAA,YAAA,SAAU,aAAoC;AAA9C,YAAA,QAAA;AACE,sBAAc,eAAe,WAAW;AAExC,eAAO,IAAI,YAAY,SAAC,SAAS,QAAM;AACrC,cAAI;AACJ,gBAAK,UAAU,SAAC,GAAI;AAAK,mBAAA,QAAQ;UAAR,GAAW,SAAC,KAAQ;AAAK,mBAAA,OAAO,GAAG;UAAV,GAAa,WAAA;AAAM,mBAAA,QAAQ,KAAK;UAAb,CAAc;QACrF,CAAC;MACH;AAnTO,kBAAA,SAAmB,SAAI,WAAwD;AACpF,eAAO,IAAI,YAAc,SAAS;MACpC;AAkTF,aAAA;MAxVA;AAAa,YAAA,aAAA;AAiWb,4BAAwB,aAA+C;AACrE,UAAI,CAAC,aAAa;AAChB,sBAAc,SAAA,OAAO,WAAW;;AAGlC,UAAI,CAAC,aAAa;AAChB,cAAM,IAAI,MAAM,uBAAuB;;AAGzC,aAAO;IACT;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5XA,QAAA,eAAA;AAwDA,oBAA0B,WACA,SAAa;AACrC,aAAO,gCAAgC,QAAqB;AAC1D,eAAO,OAAO,KAAK,IAAI,eAAe,WAAW,OAAO,CAAC;MAC3D;IACF;AALA,YAAA,SAAA;AAOA,QAAA,iBAAA,WAAA;AACE,+BAAoB,WACA,SAAa;AADb,aAAA,YAAA;AACA,aAAA,UAAA;MACpB;AAEA,sBAAA,UAAA,OAAA,SAAK,YAA2B,QAAW;AACzC,eAAO,OAAO,UAAU,IAAI,iBAAiB,YAAY,KAAK,WAAW,KAAK,OAAO,CAAC;MACxF;AACF,aAAA;IAAA,EARA;AAeA,QAAA,mBAAA,SAAA,QAAA;AAAkC,gBAAA,mBAAA,MAAA;AAIhC,iCAAY,aACQ,WACA,SAAY;AAFhC,YAAA,QAGE,OAAA,KAAA,MAAM,WAAW,KAAC;AAFA,cAAA,YAAA;AACA,cAAA,UAAA;AAJpB,cAAA,QAAgB;;MAMhB;AAIU,wBAAA,UAAA,QAAV,SAAgB,OAAQ;AACtB,YAAI;AACJ,YAAI;AACF,mBAAS,KAAK,UAAU,KAAK,KAAK,SAAS,OAAO,KAAK,OAAO;iBACvD,KAAP;AACA,eAAK,YAAY,MAAM,GAAG;AAC1B;;AAEF,YAAI,QAAQ;AACV,eAAK,YAAY,KAAK,KAAK;;MAE/B;AACF,aAAA;IAAA,EAxBkC,aAAA,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9E5C,QAAA,eAAA;AA2CA,iBAA0B,SAAyC,SAAa;AAC9E,aAAO,sBAAsB,QAAqB;AAChD,YAAI,OAAO,YAAY,YAAY;AACjC,gBAAM,IAAI,UAAU,4DAA4D;;AAElF,eAAO,OAAO,KAAK,IAAI,YAAY,SAAS,OAAO,CAAC;MACtD;IACF;AAPA,YAAA,MAAA;AASA,QAAA,cAAA,WAAA;AACE,4BAAoB,SAAiD,SAAY;AAA7D,aAAA,UAAA;AAAiD,aAAA,UAAA;MACrE;AAEA,mBAAA,UAAA,OAAA,SAAK,YAA2B,QAAW;AACzC,eAAO,OAAO,UAAU,IAAI,cAAc,YAAY,KAAK,SAAS,KAAK,OAAO,CAAC;MACnF;AACF,aAAA;IAAA,EAPA;AAAa,YAAA,cAAA;AAcb,QAAA,gBAAA,SAAA,QAAA;AAAkC,gBAAA,gBAAA,MAAA;AAIhC,8BAAY,aACQ,SACR,SAAY;AAFxB,YAAA,QAGE,OAAA,KAAA,MAAM,WAAW,KAAC;AAFA,cAAA,UAAA;AAJpB,cAAA,QAAgB;AAOd,cAAK,UAAU,WAAW;;MAC5B;AAIU,qBAAA,UAAA,QAAV,SAAgB,OAAQ;AACtB,YAAI;AACJ,YAAI;AACF,mBAAS,KAAK,QAAQ,KAAK,KAAK,SAAS,OAAO,KAAK,OAAO;iBACrD,KAAP;AACA,eAAK,YAAY,MAAM,GAAG;AAC1B;;AAEF,aAAK,YAAY,KAAK,MAAM;MAC9B;AACF,aAAA;IAAA,EAvBkC,aAAA,UAAU;;;;;ACnE5C;AAAA;AAEA,QAAM,EAAC,eAAc;AACrB,QAAM,EAAC,WAAU;AACjB,QAAM,EAAC,QAAO;AAEd,WAAO,UAAU;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA;AAAA;;;ACVA;AAAA;AAAA,WAAO,UAAU,sBAAsB,KAAK;AAC1C,UAAI,OAAO,QAAQ,YAAY,MAAM,QAAQ,GAAG,GAAG;AACjD,eAAO,EAAC,IAAI,IAAG;AAAA,MACjB;AAEA,UAAI,OAAO,IAAI,OAAO;AACpB,eAAO,YAAY,MAAM,EAAC,OAAO,IAAI,OAAO,QAAQ,IAAI,OAAM,IAAI,EAAC,OAAO,IAAI,MAAK;AAAA,MACrF;AAEA,YAAM,gBAAgB;AAAA,QACpB;AAAA,QACA;AAAA,QACA;AAAA,MACF,EAAE,KAAK,IAAI;AAEX,YAAM,IAAI,MAAM;AAAA;AAAA,EAA0C,eAAe;AAAA,IAC3E;AAAA;AAAA;;;AChBA;AAAA;AAAA,QAAM,oBAAoB,CAAC,SAAS,MAAM;AAC1C,QAAM,yBAAyB,CAAC,UAAU,SAAS,SAAS;AAE5D,YAAQ,UAAU,CAAC,SAAS;AAC1B,UAAI,CAAC,qDAAqD,KAAK,IAAI,GAAG;AACpE,cAAM,IAAI,MACR,qIACF;AAAA,MACF;AAAA,IACF;AAEA,YAAQ,YAAY,CAAC,OAAO;AAC1B,UAAI,CAAC,gBAAgB,KAAK,EAAE,GAAG;AAC7B,cAAM,IAAI,MAAM,uDAAuD;AAAA,MACzE;AAAA,IACF;AAEA,YAAQ,oBAAoB,CAAC,SAAS;AACpC,UAAI,kBAAkB,QAAQ,IAAI,MAAM,IAAI;AAC1C,cAAM,IAAI,MAAM,uBAAuB,wBAAwB,kBAAkB,KAAK,IAAI,GAAG;AAAA,MAC/F;AAAA,IACF;AAEA,YAAQ,iBAAiB,CAAC,IAAI,QAAQ;AACpC,UAAI,QAAQ,QAAQ,OAAO,QAAQ,YAAY,MAAM,QAAQ,GAAG,GAAG;AACjE,cAAM,IAAI,MAAM,GAAG,oCAAoC;AAAA,MACzD;AAAA,IACF;AAEA,YAAQ,oBAAoB,CAAC,IAAI,QAAQ;AACvC,UAAI,CAAC,IAAI,KAAK;AACZ,cAAM,IAAI,MAAM,GAAG,iEAAiE;AAAA,MACtF;AAEA,cAAQ,mBAAmB,IAAI,IAAI,GAAG;AAAA,IACxC;AAEA,YAAQ,qBAAqB,CAAC,IAAI,OAAO;AACvC,UAAI,OAAO,OAAO,YAAY,CAAC,kBAAkB,KAAK,EAAE,GAAG;AACzD,cAAM,IAAI,MAAM,GAAG,UAAU,gCAAgC;AAAA,MAC/D;AAAA,IACF;AAEA,YAAQ,iBAAiB,CAAC,IAAI,UAAU,UAAU;AAChD,YAAM,YAAY;AAClB,UAAI,uBAAuB,QAAQ,EAAE,MAAM,IAAI;AAC7C,cAAM,QAAQ,uBAAuB,IAAI,CAAC,QAAQ,IAAI,MAAM,EAAE,KAAK,IAAI;AACvE,cAAM,IAAI,MAAM,GAAG,qDAAqD,OAAO;AAAA,MACjF;AAEA,UAAI,OAAO,aAAa,UAAU;AAChC,cAAM,IAAI,MAAM,GAAG,8DAA8D;AAAA,MACnF;AAEA,UAAI,CAAC,MAAM,QAAQ,KAAK,GAAG;AACzB,cAAM,IAAI,MAAM,GAAG,4DAA4D;AAAA,MACjF;AAAA,IACF;AAEA,YAAQ,aAAa,CAAC,WAAW;AAC/B,UAAI,CAAC,OAAO,SAAS;AACnB,cAAM,IAAI,MAAM,+CAA+C;AAAA,MACjE;AAEA,aAAO,OAAO,WAAW;AAAA,IAC3B;AAEA,YAAQ,aAAa,CAAC,QAAQ;AAC5B,UAAI,OAAO,QAAQ,YAAY,CAAC,uBAAuB,KAAK,GAAG,GAAG;AAChE,cAAM,IAAI,MACR,wHACF;AAAA,MACF;AAEA,aAAO;AAAA,IACT;AAAA;AAAA;;;AC3EA;AAAA;AAAA,QAAM,SAAS;AACf,QAAM,eAAe;AACrB,QAAM,WAAW;AACjB,QAAM,iBAAiB,SAAS;AAChC,QAAM,iBAAiB,SAAS;AAEhC,mBAAe,WAAW,aAAa,CAAC,GAAG,SAAS,MAAM;AACxD,WAAK,YAAY;AACjB,WAAK,aAAa,OAAO,CAAC,GAAG,UAAU;AACvC,WAAK,SAAS;AAAA,IAChB;AAEA,WAAO,MAAM,WAAW;AAAA,MACtB,QAAQ;AACN,eAAO,IAAI,MAAM,KAAK,WAAW,OAAO,CAAC,GAAG,KAAK,UAAU,GAAG,KAAK,MAAM;AAAA,MAC3E;AAAA,MAEA,IAAI,OAAO;AACT,eAAO,KAAK,QAAQ,OAAO,KAAK;AAAA,MAClC;AAAA,MAEA,eAAe,OAAO;AACpB,uBAAe,kBAAkB,KAAK;AACtC,eAAO,KAAK,QAAQ,kBAAkB,KAAK;AAAA,MAC7C;AAAA,MAEA,MAAM,OAAO;AACX,YAAI,CAAC,MAAM,QAAQ,KAAK,GAAG;AACzB,gBAAM,IAAI,MAAM,qEAAqE;AAAA,QACvF;AAEA,aAAK,aAAa,OAAO,CAAC,GAAG,KAAK,YAAY,EAAC,OAAO,MAAK,CAAC;AAC5D,eAAO;AAAA,MACT;AAAA,MAEA,aAAa,OAAO;AAClB,eAAO,KAAK,QAAQ,gBAAgB,KAAK;AAAA,MAC3C;AAAA,MAEA,QAAQ,OAAO;AACb,uBAAe,WAAW,KAAK;AAC/B,eAAO,KAAK,KAAK,OAAO,EAAC,GAAG,MAAK,CAAC;AAAA,MACpC;AAAA,MAEA,IAAI,OAAO;AACT,eAAO,KAAK,QAAQ,OAAO,KAAK;AAAA,MAClC;AAAA,MAEA,IAAI,OAAO;AACT,eAAO,KAAK,QAAQ,OAAO,KAAK;AAAA,MAClC;AAAA,MAEA,OAAO,IAAI,UAAU,OAAO;AAC1B,uBAAe,IAAI,UAAU,KAAK;AAClC,eAAO,KAAK,QAAQ,UAAU,EAAC,CAAC,KAAK,UAAU,MAAK,CAAC;AAAA,MACvD;AAAA,MAEA,OAAO,UAAU,OAAO;AACtB,eAAO,KAAK,OAAO,SAAS,GAAG,gBAAgB,KAAK;AAAA,MACtD;AAAA,MAEA,QAAQ,UAAU,OAAO;AACvB,eAAO,KAAK,OAAO,UAAU,GAAG,eAAe,KAAK;AAAA,MACtD;AAAA,MAEA,OAAO,UAAU,OAAO,aAAa,OAAO;AAM1C,cAAM,SAAS,OAAO,gBAAgB,eAAe,gBAAgB;AACrE,cAAM,aAAa,QAAQ,IAAI,QAAQ,IAAI;AAC3C,cAAM,WAAW,SAAS,KAAK,KAAK,IAAI,GAAG,QAAQ,WAAW;AAC9D,cAAM,WAAW,aAAa,KAAK,YAAY,IAAI,KAAK;AACxD,cAAM,gBAAgB,GAAG,YAAY,cAAc;AACnD,eAAO,KAAK,OAAO,WAAW,eAAe,SAAS,CAAC,CAAC;AAAA,MAC1D;AAAA,MAEA,aAAa,KAAK;AAChB,aAAK,WAAW,eAAe;AAC/B,eAAO;AAAA,MACT;AAAA,MAEA,YAAY;AACV,eAAO,OAAO,aAAa,KAAK,SAAS,GAAG,KAAK,UAAU;AAAA,MAC7D;AAAA,MAEA,SAAS;AACP,eAAO,KAAK,UAAU;AAAA,MACxB;AAAA,MAEA,OAAO,UAAU,CAAC,GAAG;AACnB,YAAI,CAAC,KAAK,QAAQ;AAChB,gBAAM,IAAI,MACR,kGAEF;AAAA,QACF;AAEA,cAAM,cAAc,OAAO,KAAK,cAAc;AAC9C,cAAM,OAAO,OAAO,EAAC,aAAa,iBAAiB,KAAI,GAAG,OAAO;AACjE,eAAO,KAAK,OAAO,OAAO,EAAC,OAAO,KAAK,UAAU,EAAC,GAAG,IAAI;AAAA,MAC3D;AAAA,MAEA,QAAQ;AACN,aAAK,aAAa,CAAC;AACnB,eAAO;AAAA,MACT;AAAA,MAEA,KAAK,IAAI,OAAO;AACd,eAAO,KAAK,QAAQ,IAAI,OAAO,KAAK;AAAA,MACtC;AAAA,MAEA,QAAQ,IAAI,OAAO,QAAQ,MAAM;AAC/B,uBAAe,IAAI,KAAK;AACxB,aAAK,aAAa,OAAO,CAAC,GAAG,KAAK,YAAY;AAAA,UAC5C,CAAC,KAAK,OAAO,CAAC,GAAI,SAAS,KAAK,WAAW,OAAQ,CAAC,GAAG,KAAK;AAAA,QAC9D,CAAC;AACD,eAAO;AAAA,MACT;AAAA,IACF,CAAC;AAED,WAAO,UAAU;AAAA;AAAA;;;AC3HjB;AAAA;AAAA,QAAM,SAAS;AACf,QAAM,aAAa;AACnB,QAAM,QAAQ;AAEd,QAAM,uBAAuB,EAAC,iBAAiB,MAAK;AAEpD,yBAAqB,aAAa,CAAC,GAAG,QAAQ,eAAe;AAC3D,WAAK,QAAQ;AACb,WAAK,aAAa;AAClB,WAAK,SAAS;AAAA,IAChB;AAEA,WAAO,YAAY,WAAW;AAAA,MAC5B,QAAQ;AACN,eAAO,IAAI,YAAY,KAAK,WAAW,MAAM,CAAC,GAAG,KAAK,QAAQ,KAAK,KAAK;AAAA,MAC1E;AAAA,MAEA,OAAO,KAAK;AACV,mBAAW,eAAe,UAAU,GAAG;AACvC,eAAO,KAAK,KAAK,EAAC,QAAQ,IAAG,CAAC;AAAA,MAChC;AAAA,MAEA,kBAAkB,KAAK;AACrB,cAAM,KAAK;AACX,mBAAW,eAAe,IAAI,GAAG;AACjC,mBAAW,kBAAkB,IAAI,GAAG;AACpC,eAAO,KAAK,KAAK,EAAC,CAAC,KAAK,IAAG,CAAC;AAAA,MAC9B;AAAA,MAEA,gBAAgB,KAAK;AACnB,cAAM,KAAK;AACX,mBAAW,eAAe,IAAI,GAAG;AACjC,mBAAW,kBAAkB,IAAI,GAAG;AACpC,eAAO,KAAK,KAAK,EAAC,CAAC,KAAK,IAAG,CAAC;AAAA,MAC9B;AAAA,MAEA,OAAO,YAAY;AACjB,mBAAW,mBAAmB,UAAU,UAAU;AAClD,eAAO,KAAK,KAAK,EAAC,QAAQ,EAAC,IAAI,WAAU,EAAC,CAAC;AAAA,MAC7C;AAAA,MAEA,MAAM,YAAY,UAAU;AAC1B,cAAM,YAAY,OAAO,aAAa;AACtC,cAAM,UAAU,sBAAsB;AAGtC,YAAI,SAAS;AACX,iBAAO,KAAK,KAAK,EAAC,OAAO,WAAW,UAAU,EAAC,CAAC;AAAA,QAClD;AAGA,YAAI,WAAW;AACb,gBAAM,QAAQ,SAAS,IAAI,MAAM,YAAY,CAAC,GAAG,KAAK,MAAM,CAAC;AAC7D,cAAI,CAAE,kBAAiB,QAAQ;AAC7B,kBAAM,IAAI,MAAM,oDAAoD;AAAA,UACtE;AAEA,iBAAO,KAAK,KAAK,EAAC,OAAO,MAAM,UAAU,EAAC,CAAC;AAAA,QAC7C;AAEA,eAAO,KAAK,KAAK,EAAC,OAAO,OAAO,EAAC,IAAI,WAAU,GAAG,QAAQ,EAAC,CAAC;AAAA,MAC9D;AAAA,MAEA,cAAc,IAAI;AAChB,YAAI,CAAC,IAAI;AACP,iBAAO,KAAK;AAAA,QACd;AAEA,aAAK,QAAQ;AACb,eAAO;AAAA,MACT;AAAA,MAEA,YAAY;AACV,eAAO,KAAK,WAAW,MAAM;AAAA,MAC/B;AAAA,MAEA,SAAS;AACP,eAAO,KAAK,UAAU;AAAA,MACxB;AAAA,MAEA,OAAO,SAAS;AACd,YAAI,CAAC,KAAK,QAAQ;AAChB,gBAAM,IAAI,MACR,8GAEF;AAAA,QACF;AAEA,eAAO,KAAK,OAAO,OACjB,KAAK,UAAU,GACf,OAAO,EAAC,eAAe,KAAK,MAAK,GAAG,sBAAsB,WAAW,CAAC,CAAC,CACzE;AAAA,MACF;AAAA,MAEA,QAAQ;AACN,aAAK,aAAa,CAAC;AACnB,eAAO;AAAA,MACT;AAAA,MAEA,KAAK,KAAK;AACR,aAAK,WAAW,KAAK,GAAG;AACxB,eAAO;AAAA,MACT;AAAA,IACF,CAAC;AAED,WAAO,UAAU;AAAA;AAAA;;;ACzGjB;AAAA;AAAA,QAAM,MAAM;AAEZ,WAAO,UAAU,CAAC,EAAC,OAAO,SAAS,CAAC,GAAG,UAAU,CAAC,QAAO;AAEvD,YAAM,EAAC,QAAQ,SAAQ;AACvB,YAAM,IAAI,SAAS,IAAI,KAAK;AAC5B,YAAM,OAAO,MAAM,QAAQ,IAAI,GAAG,KAAK,MAAM,IAAI;AAEjD,YAAM,UAAU,OAAO,KAAK,MAAM,EAAE,OAClC,CAAC,IAAI,UAAU,GAAG,MAAM,IAAI,IAAI,OAAO,KAAK,IAAI,KAAK,UAAU,OAAO,MAAM,CAAC,KAC7E,IACF;AAEA,aAAO,OAAO,KAAK,IAAI,EAAE,OAAO,CAAC,IAAI,WAAW;AAE9C,eAAO,QAAQ,UAAU,GAAG,MAAM,IAAI,MAAM,KAAK,IAAI,QAAQ,OAAO,MAAM;AAAA,MAC5E,GAAG,OAAO;AAAA,IACZ;AAAA;AAAA;;;ACjBA;AAAA;AASA,IAAC,UAAU,SAAQ;AACjB;AAEA,UAAI,cAAa,QAAO;AACxB,UAAI,gBAAe,QAAO;AAC1B,UAAI,kBAAiB,QAAO;AAC5B,UAAI,kBAAiB,QAAO;AAC5B,UAAI,gBAAgB,QAAO;AAC3B,UAAI,oBAAoB,QAAO;AAE/B,UAAI,WAAW,QAAO;AACtB,UAAI,WAAU,QAAO;AACrB,UAAI,SAAQ,QAAO;AACnB,UAAI,WAAW,QAAO;AACtB,UAAI,cAAc,QAAO;AACzB,UAAI,cAAc,QAAO;AACzB,UAAI,mBAAkB,QAAO;AAE7B,UAAI,OAAO,WAAW,eAAe,OAAO,aAAa,eAAe,CAAE,iBAAgB,aAAa,SAAS,QAAQ,MAAM;AAC5H,iBAAS,aAAa;AACtB,eAAO,iBAAiB,QAAQ,SAAU,OAAO;AAC/C,mBAAS,aAAa;AAAA,QACxB,GAAG,KAAK;AAAA,MACV;AAEA,UAAI,mBAAkB,QAAQ,iBAAiB,MAAM;AACnD,0BAAiB,WAAY;AAC3B,iBAAO,IAAI,cAAc,mBAAmB;AAAA,QAC9C;AAAA,MACF;AAEA,UAAI,OAAO,UAAU,QAAW;AAC9B,eAAO,SAAS,SAAU,GAAG;AAC3B,uBAAY;AAAA,UAAC;AACb,YAAE,YAAY;AACd,iBAAO,IAAI,EAAE;AAAA,QACf;AAAA,MACF;AAEA,UAAI,CAAC,KAAK,KAAK;AACb,aAAK,MAAM,eAAe;AACxB,iBAAO,IAAI,KAAK,EAAE,QAAQ;AAAA,QAC5B;AAAA,MACF;AAQA,UAAI,oBAAmB,QAAW;AAChC,YAAI,iBAAiB;AACrB,iBAAQ,SAAU,KAAK,SAAS;AAC9B,cAAI,SAAS,QAAQ;AACrB,iBAAO,eAAe,KAAK,EAAC,SAAS,QAAQ,SAAS,aAAa,QAAQ,aAAa,OAAO,QAAQ,MAAK,CAAC,EAAE,KAAK,SAAU,UAAU;AACtI,gBAAI,SAAS,SAAS,KAAK,UAAU;AACrC,mBAAO,UAAU;AACjB,gBAAI,OAAO,UAAU;AACnB,qBAAO,QAAQ,OAAO;AAAA,YACxB;AACA,mBAAO;AAAA,cACL,QAAQ,SAAS;AAAA,cACjB,YAAY,SAAS;AAAA,cACrB,SAAS,SAAS;AAAA,cAClB,MAAM;AAAA,gBACJ,WAAW,WAAY;AACrB,yBAAO;AAAA,gBACT;AAAA,cACF;AAAA,YACF;AAAA,UACF,CAAC;AAAA,QACH;AACA,2BAAkB,WAAY;AAC5B,eAAK,SAAS;AAAA,YACZ,SAAS;AAAA,YACT,UAAU;AAAA,UACZ;AACA,eAAK,QAAQ,WAAY;AACvB,gBAAI,KAAK,OAAO,WAAW,MAAM;AAC/B,mBAAK,OAAO,QAAQ,OAAO;AAAA,YAC7B;AACA,iBAAK,OAAO,WAAW;AAAA,UACzB;AAAA,QACF;AAAA,MACF;AAEA,qCAA+B;AAC7B,aAAK,aAAa;AAClB,aAAK,YAAY;AAAA,MACnB;AAEA,0BAAoB,UAAU,SAAS,SAAU,QAAQ;AACvD,uBAAe,YAAW,OAAO,cAAa;AAC5C,cAAI,iBAAgB,GAAG;AACrB,mBAAO,cAAa,OAAU,SAAS,cAAa,SAAS;AAAA,UAC/D;AACA,cAAI,iBAAgB,GAAG;AACrB,mBAAO,cAAa,QAAU,SAAS,cAAa,SAAS,SAAU,cAAa,SAAU,SAAS,cAAa,SAAS;AAAA,UAC/H;AACA,cAAI,iBAAgB,GAAG;AACrB,mBAAO,cAAa,SAAY,SAAS,cAAa,SAAS;AAAA,UACjE;AACA,gBAAM,IAAI,MAAM;AAAA,QAClB;AACA,6BAAqB,aAAY,YAAW;AAC1C,cAAI,gBAAe,IAAI,GAAG;AACxB,mBAAO,cAAa,IAAI,KAAK,IAAI,aAAY,KAAK,IAAI;AAAA,UACxD;AACA,cAAI,gBAAe,IAAI,GAAG;AACxB,mBAAO,aAAY,KAAK,IAAI;AAAA,UAC9B;AACA,cAAI,gBAAe,IAAI,GAAG;AACxB,mBAAO;AAAA,UACT;AACA,gBAAM,IAAI,MAAM;AAAA,QAClB;AACA,YAAI,WAAW;AACf,YAAI,SAAS;AACb,YAAI,aAAa,KAAK;AACtB,YAAI,YAAY,KAAK;AACrB,iBAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK,GAAG;AACzC,cAAI,QAAQ,OAAO;AACnB,cAAI,eAAe,GAAG;AACpB,gBAAI,QAAQ,OAAO,QAAQ,OAAO,CAAC,MAAM,aAAa,IAAI,QAAQ,IAAI,aAAa,GAAG,YAAY,YAAY,SAAS,CAAC,GAAG;AACzH,2BAAa;AACb,0BAAY;AACZ,wBAAU,OAAO,aAAa,SAAS;AAAA,YACzC;AAAA,UACF;AACA,cAAI,eAAe,GAAG;AACpB,gBAAI,SAAS,KAAK,SAAS,KAAK;AAC9B,2BAAa;AACb,0BAAY;AAAA,YACd,WAAW,SAAS,OAAO,SAAS,KAAK;AACvC,2BAAa,IAAI;AACjB,0BAAY,QAAQ;AAAA,YACtB,WAAW,SAAS,OAAO,SAAS,KAAK;AACvC,2BAAa,IAAI;AACjB,0BAAY,QAAQ;AAAA,YACtB,WAAW,SAAS,OAAO,SAAS,KAAK;AACvC,2BAAa,IAAI;AACjB,0BAAY,QAAQ;AAAA,YACtB,OAAO;AACL,2BAAa;AACb,0BAAY;AAAA,YACd;AACA,gBAAI,eAAe,KAAK,CAAC,MAAM,WAAW,YAAY,YAAY,YAAY,SAAS,CAAC,GAAG;AACzF,2BAAa;AACb,0BAAY;AAAA,YACd;AAAA,UACF,OAAO;AACL,0BAAc;AACd,wBAAY,aAAa,IAAI,QAAQ;AAAA,UACvC;AACA,cAAI,eAAe,GAAG;AACpB,gBAAI,aAAa,OAAQ;AACvB,wBAAU,OAAO,aAAa,SAAS;AAAA,YACzC,OAAO;AACL,wBAAU,OAAO,aAAa,QAAU,aAAY,QAAS,KAAK,GAAG;AACrE,wBAAU,OAAO,aAAa,QAAU,aAAY,QAAS,IAAI,KAAM;AAAA,YACzE;AAAA,UACF;AAAA,QACF;AACA,aAAK,aAAa;AAClB,aAAK,YAAY;AACjB,eAAO;AAAA,MACT;AAGA,UAAI,uBAAuB,WAAY;AACrC,YAAI;AACF,iBAAO,IAAI,YAAY,EAAE,OAAO,IAAI,YAAY,EAAE,OAAO,MAAM,GAAG,EAAC,QAAQ,KAAI,CAAC,MAAM;AAAA,QACxF,SAAS,OAAP;AACA,kBAAQ,MAAM,4EAA4E,KAAK;AAAA,QACjG;AACA,eAAO;AAAA,MACT;AAGA,UAAI,eAAe,UAAa,eAAe,UAAa,CAAC,qBAAqB,GAAG;AACnF,sBAAc;AAAA,MAChB;AAEA,UAAI,IAAI,WAAY;AAAA,MACpB;AAEA,0BAAoB,KAAK;AACvB,aAAK,kBAAkB;AACvB,aAAK,aAAa;AAClB,aAAK,SAAS;AACd,aAAK,aAAa;AAClB,aAAK,eAAe;AACpB,aAAK,aAAa;AAClB,aAAK,SAAS;AACd,aAAK,UAAU;AACf,aAAK,qBAAqB;AAC1B,aAAK,eAAe;AACpB,aAAK,OAAO;AACZ,aAAK,eAAe;AACpB,aAAK,SAAS;AAAA,MAChB;AAEA,iBAAW,UAAU,OAAO,SAAU,QAAQ,KAAK;AACjD,aAAK,OAAO,IAAI;AAEhB,YAAI,OAAO;AACX,YAAI,MAAM,KAAK;AACf,YAAI,QAAQ;AACZ,YAAI,UAAU;AAEd,aAAK,SAAS,SAAU,QAAQ;AAC9B,cAAI,KAAK,iBAAiB,GAAG;AAC3B,0BAAa,KAAK,YAAY;AAC9B,iBAAK,eAAe;AAAA,UACtB;AACA,cAAI,UAAU,KAAK,UAAU,KAAK,UAAU,GAAG;AAC7C,oBAAQ;AACR,gBAAI,SAAS;AACb,gBAAI,UAAU;AACd,gBAAI,UAAU;AACd,gBAAI,aAAa;AACjB,gBAAI,qBAAqB;AAGzB,gBAAI,MAAM;AACV,gBAAI,YAAY,GAAG;AACjB,4BAAa,OAAO;AACpB,wBAAU;AAAA,YACZ;AACA,gBAAI,CAAC,QAAQ;AACX,mBAAK,aAAa;AAClB,mBAAK,QAAQ,IAAI;AACjB,mBAAK,mBAAmB;AAAA,YAC1B;AAAA,UACF;AACA,kBAAQ;AAAA,QACV;AAEA,YAAI,UAAU,WAAY;AACxB,cAAI,UAAU,GAAG;AAEf,gBAAI,SAAS;AACb,gBAAI,aAAa;AACjB,gBAAI,cAAc;AAClB,gBAAI,CAAE,kBAAiB,MAAM;AAC3B,kBAAI;AACF,yBAAS,IAAI;AACb,6BAAa,IAAI;AACjB,8BAAc,IAAI,kBAAkB,cAAc;AAAA,cACpD,SAAS,OAAP;AAIA,yBAAS;AACT,6BAAa;AACb,8BAAc;AAAA,cAIhB;AAAA,YACF,OAAO;AACL,uBAAS;AACT,2BAAa;AACb,4BAAc,IAAI;AAAA,YACpB;AACA,gBAAI,WAAW,GAAG;AAChB,sBAAQ;AACR,mBAAK,aAAa;AAClB,mBAAK,SAAS;AACd,mBAAK,aAAa;AAClB,mBAAK,eAAe;AACpB,mBAAK,mBAAmB;AAAA,YAC1B;AAAA,UACF;AAAA,QACF;AACA,YAAI,aAAa,WAAY;AAC3B,kBAAQ;AACR,cAAI,UAAU,KAAK,UAAU,GAAG;AAC9B,oBAAQ;AACR,gBAAI,eAAe;AACnB,gBAAI;AACF,6BAAe,IAAI;AAAA,YACrB,SAAS,OAAP;AAAA,YAEF;AACA,iBAAK,aAAa;AAClB,iBAAK,eAAe;AACpB,iBAAK,WAAW;AAAA,UAClB;AAAA,QACF;AACA,YAAI,WAAW,SAAU,MAAM,OAAO;AACpC,cAAI,SAAS,QAAQ,MAAM,kBAAkB,MAAM;AACjD,oBAAQ;AAAA,cACN,gBAAgB;AAAA,YAClB;AAAA,UACF;AAGA,qBAAW;AACX,cAAI,UAAU,KAAK,UAAU,KAAK,UAAU,GAAG;AAC7C,oBAAQ;AACR,gBAAI,YAAY,GAAG;AACjB,4BAAa,OAAO;AACpB,wBAAU;AAAA,YACZ;AACA,iBAAK,aAAa;AAClB,gBAAI,SAAS,QAAQ;AACnB,mBAAK,OAAO,KAAK;AAAA,YACnB,WAAW,SAAS,SAAS;AAC3B,mBAAK,QAAQ,KAAK;AAAA,YACpB,WAAW,SAAS,SAAS;AAC3B,mBAAK,QAAQ,KAAK;AAAA,YACpB,OAAO;AACL,oBAAM,IAAI,UAAU;AAAA,YACtB;AACA,iBAAK,mBAAmB;AAAA,UAC1B;AAAA,QACF;AACA,YAAI,qBAAqB,SAAU,OAAO;AACxC,cAAI,OAAO,QAAW;AACpB,gBAAI,IAAI,eAAe,GAAG;AACxB,kBAAI,CAAE,aAAY,QAAQ,CAAE,cAAa,QAAQ,CAAE,cAAa,MAAM;AACpE,yBAAS,IAAI,iBAAiB,KAAK,UAAU,QAAQ,KAAK;AAAA,cAC5D;AAAA,YACF,WAAW,IAAI,eAAe,GAAG;AAC/B,kBAAI,CAAE,iBAAgB,MAAM;AAE1B,2BAAW;AAAA,cACb;AAAA,YACF,WAAW,IAAI,eAAe,GAAG;AAC/B,sBAAQ;AAAA,YACV;AAAA,UACF;AAAA,QACF;AACA,YAAI,YAAY,WAAY;AAC1B,oBAAU,YAAW,WAAY;AAC/B,sBAAU;AAAA,UACZ,GAAG,GAAG;AACN,cAAI,IAAI,eAAe,GAAG;AACxB,uBAAW;AAAA,UACb;AAAA,QACF;AAGA,YAAI,YAAY,KAAK;AACnB,cAAI,SAAS,SAAU,OAAO;AAC5B,qBAAS,QAAQ,KAAK;AAAA,UACxB;AAAA,QACF;AACA,YAAI,aAAa,KAAK;AACpB,cAAI,UAAU,SAAU,OAAO;AAC7B,qBAAS,SAAS,KAAK;AAAA,UACzB;AAAA,QACF;AAMA,YAAI,aAAa,KAAK;AACpB,cAAI,UAAU,SAAU,OAAO;AAC7B,qBAAS,SAAS,KAAK;AAAA,UACzB;AAAA,QACF;AAEA,YAAI,gBAAgB,KAAK;AACvB,cAAI,aAAa;AAAA,QACnB;AAQA,YAAI,wBAAwB,KAAK;AAC/B,cAAI,qBAAqB,SAAU,OAAO;AACxC,+BAAmB,KAAK;AAAA,UAC1B;AAAA,QACF;AAEA,YAAI,iBAAiB,OAAO,CAAE,gBAAe,gBAAe,YAAY;AACtE,iBAAQ,KAAI,QAAQ,GAAG,MAAM,KAAK,MAAM,OAAO;AAAA,QACjD;AACA,YAAI,KAAK,QAAQ,KAAK,IAAI;AAE1B,YAAI,gBAAgB,KAAK;AAGvB,oBAAU,YAAW,WAAY;AAC/B,sBAAU;AAAA,UACZ,GAAG,CAAC;AAAA,QACN;AAAA,MACF;AACA,iBAAW,UAAU,QAAQ,WAAY;AACvC,aAAK,OAAO,KAAK;AAAA,MACnB;AACA,iBAAW,UAAU,oBAAoB,SAAU,MAAM;AACvD,eAAO,KAAK;AAAA,MACd;AACA,iBAAW,UAAU,mBAAmB,SAAU,MAAM,OAAO;AAC7D,YAAI,MAAM,KAAK;AACf,YAAI,sBAAsB,KAAK;AAC7B,cAAI,iBAAiB,MAAM,KAAK;AAAA,QAClC;AAAA,MACF;AACA,iBAAW,UAAU,wBAAwB,WAAY;AAEvD,eAAO,KAAK,KAAK,yBAAyB,SAAY,KAAK,KAAK,sBAAsB,KAAK,KAAK;AAAA,MAClG;AACA,iBAAW,UAAU,OAAO,WAAY;AAGtC,YAAK,EAAE,gBAAe,gBAAe,cAAe,CAAE,mBAAkB,gBAAe,cAAc,CAAE,cAAa,gBAAe,eAC/H,YAAY,UACZ,SAAS,cAAc,UACvB,SAAS,eAAe,YAAY;AACtC,cAAI,OAAO;AACX,eAAK,eAAe,YAAW,WAAY;AACzC,iBAAK,eAAe;AACpB,iBAAK,KAAK;AAAA,UACZ,GAAG,CAAC;AACJ;AAAA,QACF;AAEA,YAAI,MAAM,KAAK;AAEf,YAAI,qBAAqB,KAAK;AAC5B,cAAI,kBAAkB,KAAK;AAAA,QAC7B;AACA,YAAI;AAEF,cAAI,KAAK,MAAS;AAAA,QACpB,SAAS,QAAP;AAEA,gBAAM;AAAA,QACR;AAAA,MACF;AAEA,2BAAqB,MAAM;AACzB,eAAO,KAAK,QAAQ,UAAU,SAAU,GAAG;AACzC,iBAAO,OAAO,aAAa,EAAE,WAAW,CAAC,IAAI,EAAI;AAAA,QACnD,CAAC;AAAA,MACH;AAEA,+BAAyB,KAAK;AAE5B,YAAI,MAAM,uBAAO,OAAO,IAAI;AAC5B,YAAI,QAAQ,IAAI,MAAM,MAAM;AAC5B,iBAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK,GAAG;AACxC,cAAI,OAAO,MAAM;AACjB,cAAI,QAAQ,KAAK,MAAM,IAAI;AAC3B,cAAI,OAAO,MAAM,MAAM;AACvB,cAAI,QAAQ,MAAM,KAAK,IAAI;AAC3B,cAAI,YAAY,IAAI,KAAK;AAAA,QAC3B;AACA,aAAK,OAAO;AAAA,MACd;AACA,sBAAgB,UAAU,MAAM,SAAU,MAAM;AAC9C,eAAO,KAAK,KAAK,YAAY,IAAI;AAAA,MACnC;AAEA,UAAI,mBAAkB,QAAQ,gBAAe,oBAAoB,MAAM;AACrE,wBAAe,mBAAmB;AAAA,MACpC;AAEA,8BAAwB;AAAA,MACxB;AAEA,mBAAa,UAAU,OAAO,SAAU,KAAK,iBAAiB,oBAAoB,kBAAkB,KAAK,iBAAiB,SAAS;AACjI,YAAI,KAAK,OAAO,GAAG;AACnB,YAAI,SAAS;AACb,YAAI,aAAa,WAAY;AAC3B,cAAI,eAAe,IAAI;AACvB,cAAI,QAAQ,aAAa,MAAM,MAAM;AACrC,oBAAU,MAAM;AAChB,6BAAmB,KAAK;AAAA,QAC1B;AACA,YAAI,UAAU,SAAU,OAAO;AAC7B,gBAAM,eAAe;AACrB,2BAAiB,IAAI,MAAM,cAAc,CAAC;AAAA,QAC5C;AACA,YAAI,SAAS,WAAY;AACvB,2BAAiB,IAAI;AAAA,QACvB;AACA,YAAI,UAAU,WAAY;AACxB,2BAAiB,IAAI;AAAA,QACvB;AACA,YAAI,qBAAqB,WAAY;AACnC,cAAI,IAAI,eAAe,gBAAe,kBAAkB;AACtD,gBAAI,SAAS,IAAI;AACjB,gBAAI,aAAa,IAAI;AACrB,gBAAI,cAAc,IAAI,kBAAkB,cAAc;AACtD,gBAAI,WAAU,IAAI,sBAAsB;AACxC,4BAAgB,QAAQ,YAAY,aAAa,IAAI,gBAAgB,QAAO,CAAC;AAAA,UAC/E;AAAA,QACF;AACA,YAAI,kBAAkB;AACtB,iBAAS,QAAQ,SAAS;AACxB,cAAI,OAAO,UAAU,eAAe,KAAK,SAAS,IAAI,GAAG;AACvD,gBAAI,iBAAiB,MAAM,QAAQ,KAAK;AAAA,UAC1C;AAAA,QACF;AACA,YAAI,KAAK;AACT,eAAO;AAAA,MACT;AAEA,8BAAwB,SAAS;AAC/B,aAAK,WAAW;AAAA,MAClB;AACA,qBAAe,UAAU,MAAM,SAAU,MAAM;AAC7C,eAAO,KAAK,SAAS,IAAI,IAAI;AAAA,MAC/B;AAEA,gCAA0B;AAAA,MAC1B;AAEA,qBAAe,UAAU,OAAO,SAAU,KAAK,iBAAiB,oBAAoB,kBAAkB,KAAK,iBAAiB,SAAS;AACnI,YAAI,SAAS;AACb,YAAI,aAAa,IAAI,iBAAgB;AACrC,YAAI,SAAS,WAAW;AACxB,YAAI,cAAc,IAAI,YAAY;AAClC,eAAM,KAAK;AAAA,UACT;AAAA,UACA,aAAa,kBAAkB,YAAY;AAAA,UAC3C;AAAA,UACA,OAAO;AAAA,QACT,CAAC,EAAE,KAAK,SAAU,UAAU;AAC1B,mBAAS,SAAS,KAAK,UAAU;AACjC,0BAAgB,SAAS,QAAQ,SAAS,YAAY,SAAS,QAAQ,IAAI,cAAc,GAAG,IAAI,eAAe,SAAS,OAAO,CAAC;AAEhI,iBAAO,IAAI,SAAQ,SAAU,SAAS,QAAQ;AAC5C,gBAAI,gBAAgB,WAAY;AAC9B,qBAAO,KAAK,EAAE,KAAK,SAAU,QAAQ;AACnC,oBAAI,OAAO,MAAM;AAEf,0BAAQ,MAAS;AAAA,gBACnB,OAAO;AACL,sBAAI,QAAQ,YAAY,OAAO,OAAO,OAAO,EAAC,QAAQ,KAAI,CAAC;AAC3D,qCAAmB,KAAK;AACxB,gCAAc;AAAA,gBAChB;AAAA,cACF,CAAC,EAAE,SAAS,SAAU,OAAO;AAC3B,uBAAO,KAAK;AAAA,cACd,CAAC;AAAA,YACH;AACA,0BAAc;AAAA,UAChB,CAAC;AAAA,QACH,CAAC,EAAE,SAAS,SAAU,OAAO;AAC3B,cAAI,MAAM,SAAS,cAAc;AAC/B,mBAAO;AAAA,UACT,OAAO;AACL,mBAAO;AAAA,UACT;AAAA,QACF,CAAC,EAAE,KAAK,SAAU,OAAO;AACvB,2BAAiB,KAAK;AAAA,QACxB,CAAC;AACD,eAAO;AAAA,UACL,OAAO,WAAY;AACjB,gBAAI,UAAU,MAAM;AAClB,qBAAO,OAAO;AAAA,YAChB;AACA,uBAAW,MAAM;AAAA,UACnB;AAAA,QACF;AAAA,MACF;AAEA,6BAAuB;AACrB,aAAK,aAAa,uBAAO,OAAO,IAAI;AAAA,MACtC;AAEA,0BAAoB,GAAG;AACrB,oBAAW,WAAY;AACrB,gBAAM;AAAA,QACR,GAAG,CAAC;AAAA,MACN;AAEA,kBAAY,UAAU,gBAAgB,SAAU,OAAO;AACrD,cAAM,SAAS;AACf,YAAI,gBAAgB,KAAK,WAAW,MAAM;AAC1C,YAAI,iBAAiB,QAAW;AAC9B,cAAI,SAAS,cAAc;AAC3B,mBAAS,IAAI,GAAG,IAAI,QAAQ,KAAK,GAAG;AAClC,gBAAI,WAAW,cAAc;AAC7B,gBAAI;AACF,kBAAI,OAAO,SAAS,gBAAgB,YAAY;AAC9C,yBAAS,YAAY,KAAK;AAAA,cAC5B,OAAO;AACL,yBAAS,KAAK,MAAM,KAAK;AAAA,cAC3B;AAAA,YACF,SAAS,GAAP;AACA,yBAAW,CAAC;AAAA,YACd;AAAA,UACF;AAAA,QACF;AAAA,MACF;AACA,kBAAY,UAAU,mBAAmB,SAAU,MAAM,UAAU;AACjE,eAAO,OAAO,IAAI;AAClB,YAAI,YAAY,KAAK;AACrB,YAAI,gBAAgB,UAAU;AAC9B,YAAI,iBAAiB,QAAW;AAC9B,0BAAgB,CAAC;AACjB,oBAAU,QAAQ;AAAA,QACpB;AACA,YAAI,QAAQ;AACZ,iBAAS,IAAI,GAAG,IAAI,cAAc,QAAQ,KAAK,GAAG;AAChD,cAAI,cAAc,OAAO,UAAU;AACjC,oBAAQ;AAAA,UACV;AAAA,QACF;AACA,YAAI,CAAC,OAAO;AACV,wBAAc,KAAK,QAAQ;AAAA,QAC7B;AAAA,MACF;AACA,kBAAY,UAAU,sBAAsB,SAAU,MAAM,UAAU;AACpE,eAAO,OAAO,IAAI;AAClB,YAAI,YAAY,KAAK;AACrB,YAAI,gBAAgB,UAAU;AAC9B,YAAI,iBAAiB,QAAW;AAC9B,cAAI,WAAW,CAAC;AAChB,mBAAS,IAAI,GAAG,IAAI,cAAc,QAAQ,KAAK,GAAG;AAChD,gBAAI,cAAc,OAAO,UAAU;AACjC,uBAAS,KAAK,cAAc,EAAE;AAAA,YAChC;AAAA,UACF;AACA,cAAI,SAAS,WAAW,GAAG;AACzB,mBAAO,UAAU;AAAA,UACnB,OAAO;AACL,sBAAU,QAAQ;AAAA,UACpB;AAAA,QACF;AAAA,MACF;AAEA,qBAAe,MAAM;AACnB,aAAK,OAAO;AACZ,aAAK,SAAS;AAAA,MAChB;AAEA,4BAAsB,MAAM,SAAS;AACnC,cAAM,KAAK,MAAM,IAAI;AACrB,aAAK,OAAO,QAAQ;AACpB,aAAK,cAAc,QAAQ;AAAA,MAC7B;AAEA,mBAAa,YAAY,OAAO,OAAO,MAAM,SAAS;AAEtD,+BAAyB,MAAM,SAAS;AACtC,cAAM,KAAK,MAAM,IAAI;AACrB,aAAK,SAAS,QAAQ;AACtB,aAAK,aAAa,QAAQ;AAC1B,aAAK,UAAU,QAAQ;AAAA,MACzB;AAEA,sBAAgB,YAAY,OAAO,OAAO,MAAM,SAAS;AAEzD,0BAAoB,MAAM,SAAS;AACjC,cAAM,KAAK,MAAM,IAAI;AACrB,aAAK,QAAQ,QAAQ;AAAA,MACvB;AAEA,iBAAW,YAAY,OAAO,OAAO,MAAM,SAAS;AAEpD,UAAI,UAAU;AACd,UAAI,aAAa;AACjB,UAAI,OAAO;AACX,UAAI,SAAS;AAEb,UAAI,WAAW;AACf,UAAI,cAAc;AAClB,UAAI,QAAQ;AACZ,UAAI,cAAc;AAClB,UAAI,QAAQ;AAEZ,UAAI,oBAAoB;AAExB,UAAI,mBAAmB;AACvB,UAAI,mBAAmB;AAEvB,UAAI,gBAAgB,SAAU,OAAO,KAAK;AACxC,YAAI,IAAI,SAAS,OAAO,MAAM,SAAS,OAAO,EAAE;AAChD,YAAI,MAAM,GAAG;AACX,cAAI;AAAA,QACN;AACA,eAAO,cAAc,CAAC;AAAA,MACxB;AACA,UAAI,gBAAgB,SAAU,GAAG;AAC/B,eAAO,KAAK,IAAI,KAAK,IAAI,GAAG,gBAAgB,GAAG,gBAAgB;AAAA,MACjE;AAEA,UAAI,OAAO,SAAU,MAAM,GAAG,OAAO;AACnC,YAAI;AACF,cAAI,OAAO,MAAM,YAAY;AAC3B,cAAE,KAAK,MAAM,KAAK;AAAA,UACpB;AAAA,QACF,SAAS,GAAP;AACA,qBAAW,CAAC;AAAA,QACd;AAAA,MACF;AAEA,mCAA6B,KAAK,SAAS;AACzC,oBAAY,KAAK,IAAI;AACrB,kBAAU,WAAW,CAAC;AAEtB,aAAK,SAAS;AACd,aAAK,YAAY;AACjB,aAAK,UAAU;AAEf,aAAK,MAAM;AACX,aAAK,aAAa;AAClB,aAAK,kBAAkB;AACvB,aAAK,UAAU;AAEf,aAAK,SAAS;AAEd,cAAM,MAAM,KAAK,OAAO;AAAA,MAC1B;AAEA,qCAA+B;AAC7B,eAAQ,mBAAkB,UAAc,qBAAqB,gBAAe,aAAe,mBAAkB,SACvG,IAAI,gBAAe,IACnB,IAAI,gBAAe;AAAA,MAC3B;AAEA,UAAI,mBAAmB,UAAS,UAAa,YAAY,UAAa,UAAU,SAAS;AAEzF,qBAAe,IAAI,KAAK,SAAS;AAC/B,cAAM,OAAO,GAAG;AAChB,YAAI,kBAAkB,QAAQ,QAAQ,eAAe;AACrD,YAAI,gCAAgC,QAAQ,iCAAiC;AAE7E,YAAI,eAAe,cAAc,GAAI;AACrC,YAAI,mBAAmB,cAAc,QAAQ,kBAAkB,IAAK;AAEpE,YAAI,cAAc;AAClB,YAAI,QAAQ;AACZ,YAAI,cAAc;AAClB,YAAI,aAAa;AACjB,YAAI,UAAU,QAAQ,WAAW,CAAC;AAClC,YAAI,kBAAkB,QAAQ;AAC9B,YAAI,MAAM,oBAAoB,mBAAmB,SAAY,SAAY,IAAI,WAAW,mBAAmB,SAAY,IAAI,gBAAgB,IAAI,oBAAoB,CAAC;AACpK,YAAI,YAAY,mBAAmB,QAAQ,OAAO,oBAAoB,WAAW,IAAI,gBAAgB,IAAK,OAAO,SAAY,IAAI,eAAe,IAAI,IAAI,aAAa;AACrK,YAAI,kBAAkB;AACtB,YAAI,UAAU;AACd,YAAI,eAAe;AACnB,YAAI,aAAa;AACjB,YAAI,oBAAoB;AACxB,YAAI,kBAAkB;AAEtB,YAAI,aAAa;AACjB,YAAI,QAAQ;AACZ,YAAI,aAAa;AACjB,YAAI,aAAa;AAEjB,YAAI,UAAU,SAAU,QAAQ,YAAY,aAAa,UAAS;AAChE,cAAI,iBAAiB,YAAY;AAC/B,gBAAI,WAAW,OAAO,eAAe,UAAa,kBAAkB,KAAK,WAAW,GAAG;AACrF,6BAAe;AACf,4BAAc,KAAK,IAAI;AACvB,sBAAQ;AACR,iBAAG,aAAa;AAChB,kBAAI,QAAQ,IAAI,gBAAgB,QAAQ;AAAA,gBACtC;AAAA,gBACA;AAAA,gBACA,SAAS;AAAA,cACX,CAAC;AACD,iBAAG,cAAc,KAAK;AACtB,mBAAK,IAAI,GAAG,QAAQ,KAAK;AAAA,YAC3B,OAAO;AACL,kBAAI,UAAU;AACd,kBAAI,WAAW,KAAK;AAClB,oBAAI,YAAY;AACd,+BAAa,WAAW,QAAQ,QAAQ,GAAG;AAAA,gBAC7C;AACA,0BAAU,yCAAyC,SAAS,MAAM,aAAa;AAAA,cACjF,OAAO;AACL,0BAAU,+EAAgF,gBAAe,SAAY,MAAM,YAAY,QAAQ,QAAQ,GAAG,KAAK;AAAA,cACjK;AACA,oBAAM;AACN,kBAAI,QAAQ,IAAI,gBAAgB,SAAS;AAAA,gBACvC;AAAA,gBACA;AAAA,gBACA,SAAS;AAAA,cACX,CAAC;AACD,iBAAG,cAAc,KAAK;AACtB,mBAAK,IAAI,GAAG,SAAS,KAAK;AAC1B,sBAAQ,MAAM,OAAO;AAAA,YACvB;AAAA,UACF;AAAA,QACF;AAEA,YAAI,aAAa,SAAU,WAAW;AACpC,cAAI,iBAAiB,MAAM;AACzB,gBAAI,IAAI;AACR,qBAAS,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK,GAAG;AAC5C,kBAAI,IAAI,UAAU,WAAW,CAAC;AAC9B,kBAAI,MAAM,KAAK,WAAW,CAAC,KAAK,MAAM,KAAK,WAAW,CAAC,GAAG;AACxD,oBAAI;AAAA,cACN;AAAA,YACF;AACA,gBAAI,QAAS,OAAM,KAAK,aAAa,MAAM,UAAU,MAAM,GAAG,IAAI,CAAC;AACnE,yBAAc,OAAM,KAAK,aAAa,MAAM,UAAU,MAAM,IAAI,CAAC;AACjE,gBAAI,cAAc,IAAI;AACpB,4BAAc,KAAK,IAAI;AACvB,4BAAc,UAAU;AAAA,YAC1B;AACA,qBAAS,WAAW,GAAG,WAAW,MAAM,QAAQ,YAAY,GAAG;AAC7D,kBAAI,IAAI,MAAM,WAAW,QAAQ;AACjC,kBAAI,UAAU,YAAY,MAAM,KAAK,WAAW,CAAC,GAAG;AAClD,wBAAQ;AAAA,cACV,OAAO;AACL,oBAAI,UAAU,UAAU;AACtB,0BAAQ;AAAA,gBACV;AACA,oBAAI,MAAM,KAAK,WAAW,CAAC,KAAK,MAAM,KAAK,WAAW,CAAC,GAAG;AACxD,sBAAI,UAAU,aAAa;AACzB,wBAAI,UAAU,OAAO;AACnB,mCAAa,WAAW;AAAA,oBAC1B;AACA,wBAAI,QAAQ,MAAM,MAAM,YAAY,aAAa,CAAC;AAClD,wBAAI,QAAQ,MAAM,MAAM,aAAc,cAAa,YAAY,MAAM,WAAW,UAAU,MAAM,IAAI,WAAW,CAAC,IAAI,IAAI,IAAI,QAAQ;AACpI,wBAAI,UAAU,QAAQ;AACpB,oCAAc;AACd,oCAAc;AAAA,oBAChB,WAAW,UAAU,MAAM;AACzB,0CAAoB;AAAA,oBACtB,WAAW,UAAU,SAAS;AAC5B,wCAAkB;AAAA,oBACpB,WAAW,UAAU,SAAS;AAC5B,qCAAe,cAAc,OAAO,YAAY;AAChD,8BAAQ;AAAA,oBACV,WAAW,UAAU,oBAAoB;AACvC,yCAAmB,cAAc,OAAO,gBAAgB;AACxD,0BAAI,YAAY,GAAG;AACjB,sCAAa,OAAO;AACpB,kCAAU,YAAW,WAAY;AAC/B,oCAAU;AAAA,wBACZ,GAAG,gBAAgB;AAAA,sBACrB;AAAA,oBACF;AAAA,kBACF;AACA,sBAAI,UAAU,aAAa;AACzB,wBAAI,eAAe,IAAI;AACrB,oCAAc;AACd,0BAAI,oBAAoB,IAAI;AAC1B,0CAAkB;AAAA,sBACpB;AACA,0BAAI,QAAQ,IAAI,aAAa,iBAAiB;AAAA,wBAC5C,MAAM,WAAW,MAAM,CAAC;AAAA,wBACxB,aAAa;AAAA,sBACf,CAAC;AACD,yBAAG,cAAc,KAAK;AACtB,0BAAI,oBAAoB,QAAQ;AAC9B,6BAAK,IAAI,GAAG,QAAQ,KAAK;AAAA,sBAC3B,WAAW,oBAAoB,WAAW;AACxC,6BAAK,IAAI,GAAG,WAAW,KAAK;AAAA,sBAC9B,WAAW,oBAAoB,SAAS;AACtC,6BAAK,IAAI,GAAG,SAAS,KAAK;AAAA,sBAC5B;AACA,0BAAI,iBAAiB,QAAQ;AAC3B;AAAA,sBACF;AAAA,oBACF;AACA,iCAAa;AACb,sCAAkB;AAAA,kBACpB;AACA,0BAAQ,MAAM,KAAK,WAAW,CAAC,IAAI,WAAW;AAAA,gBAChD,OAAO;AACL,sBAAI,UAAU,aAAa;AACzB,iCAAa;AACb,4BAAQ;AAAA,kBACV;AACA,sBAAI,UAAU,OAAO;AACnB,wBAAI,MAAM,IAAI,WAAW,CAAC,GAAG;AAC3B,mCAAa,WAAW;AACxB,8BAAQ;AAAA,oBACV;AAAA,kBACF,WAAW,UAAU,aAAa;AAChC,4BAAQ;AAAA,kBACV;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAEA,YAAI,WAAW,SAAU,OAAO;AAC9B,cAAI,iBAAiB,QAAQ,iBAAiB,YAAY;AACxD,2BAAe;AACf,gBAAI,YAAY,GAAG;AACjB,4BAAa,OAAO;AACpB,wBAAU;AAAA,YACZ;AACA,sBAAU,YAAW,WAAY;AAC/B,wBAAU;AAAA,YACZ,GAAG,KAAK;AACR,oBAAQ,cAAc,KAAK,IAAI,eAAe,IAAI,QAAQ,CAAC,CAAC;AAE5D,eAAG,aAAa;AAChB,gBAAI,QAAQ,IAAI,WAAW,SAAS,EAAC,MAAY,CAAC;AAClD,eAAG,cAAc,KAAK;AACtB,iBAAK,IAAI,GAAG,SAAS,KAAK;AAC1B,gBAAI,SAAS,QAAW;AACtB,sBAAQ,MAAM,KAAK;AAAA,YACrB;AAAA,UACF;AAAA,QACF;AAEA,YAAI,QAAQ,WAAY;AACtB,yBAAe;AACf,cAAI,mBAAmB,QAAW;AAChC,4BAAgB,MAAM;AACtB,8BAAkB;AAAA,UACpB;AACA,cAAI,YAAY,GAAG;AACjB,0BAAa,OAAO;AACpB,sBAAU;AAAA,UACZ;AACA,aAAG,aAAa;AAAA,QAClB;AAEA,YAAI,YAAY,WAAY;AAC1B,oBAAU;AAEV,cAAI,iBAAiB,SAAS;AAC5B,gBAAI,CAAC,eAAe,mBAAmB,QAAW;AAChD,uBAAS,IAAI,MAAM,wBAAwB,mBAAmB,oBAA0B,kBAAiB,aAAa,0BAA0B,aAAa,sBAAsB,gBAAqB,CAAC;AACzM,kBAAI,mBAAmB,QAAW;AAChC,gCAAgB,MAAM;AACtB,kCAAkB;AAAA,cACpB;AAAA,YACF,OAAO;AACL,kBAAI,gBAAgB,KAAK,IAAK,gBAAe,KAAK,IAAI,KAAK,mBAAmB,KAAK,IAAI,GAAG,CAAC;AAC3F,4BAAc;AACd,wBAAU,YAAW,WAAY;AAC/B,0BAAU;AAAA,cACZ,GAAG,aAAa;AAAA,YAClB;AACA;AAAA,UACF;AAEA,wBAAc;AACd,uBAAa;AACb,oBAAU,YAAW,WAAY;AAC/B,sBAAU;AAAA,UACZ,GAAG,gBAAgB;AAEnB,yBAAe;AACf,uBAAa;AACb,4BAAkB;AAClB,8BAAoB;AACpB,uBAAa;AACb,uBAAa;AACb,uBAAa;AACb,kBAAQ;AAIR,cAAI,aAAa;AACjB,cAAI,IAAI,MAAM,GAAG,CAAC,MAAM,WAAW,IAAI,MAAM,GAAG,CAAC,MAAM,SAAS;AAC9D,gBAAI,gBAAgB,IAAI;AAEtB,kBAAI,IAAI,IAAI,QAAQ,GAAG;AACvB,2BAAa,MAAM,KAAK,MAAM,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,IAAI,MAAM,IAAI,CAAC,EAAE,QAAQ,+BAA+B,SAAU,GAAG,WAAW;AAClI,uBAAO,cAAc,gCAAgC,KAAK;AAAA,cAC5D,CAAC;AAED,4BAAe,KAAI,QAAQ,GAAG,MAAM,KAAK,MAAM,OAAO,gCAA+B,MAAM,mBAAmB,WAAW;AAAA,YAC3H;AAAA,UACF;AACA,cAAI,mBAAkB,GAAG;AACzB,cAAI,iBAAiB,CAAC;AACtB,yBAAe,YAAY;AAC3B,cAAI,WAAU,GAAG;AACjB,cAAI,YAAW,QAAW;AACxB,qBAAS,QAAQ,UAAS;AACxB,kBAAI,OAAO,UAAU,eAAe,KAAK,UAAS,IAAI,GAAG;AACvD,+BAAe,QAAQ,SAAQ;AAAA,cACjC;AAAA,YACF;AAAA,UACF;AACA,cAAI;AACF,8BAAkB,UAAU,KAAK,KAAK,SAAS,YAAY,UAAU,YAAY,kBAAiB,cAAc;AAAA,UAClH,SAAS,OAAP;AACA,kBAAM;AACN,kBAAM;AAAA,UACR;AAAA,QACF;AAEA,WAAG,MAAM;AACT,WAAG,aAAa;AAChB,WAAG,kBAAkB;AACrB,WAAG,UAAU;AACb,WAAG,SAAS;AAEZ,kBAAU;AAAA,MACZ;AAEA,0BAAoB,YAAY,OAAO,OAAO,YAAY,SAAS;AACnE,0BAAoB,UAAU,aAAa;AAC3C,0BAAoB,UAAU,OAAO;AACrC,0BAAoB,UAAU,SAAS;AACvC,0BAAoB,UAAU,QAAQ,WAAY;AAChD,aAAK,OAAO;AAAA,MACd;AAEA,0BAAoB,aAAa;AACjC,0BAAoB,OAAO;AAC3B,0BAAoB,SAAS;AAC7B,0BAAoB,UAAU,kBAAkB;AAEhD,UAAI,IAAI;AACR,UAAI,mBAAkB,UAAc,sBAAqB,UAAa,CAAE,sBAAqB,kBAAkB,aAAa;AAO1H,YAAI;AAAA,MACN;AAEA,MAAC,UAAU,SAAS;AAClB,YAAI,OAAO,WAAW,YAAY,OAAO,OAAO,YAAY,UAAU;AACpE,cAAI,IAAI,QAAQ,OAAO;AACvB,cAAI,MAAM;AAAW,mBAAO,UAAU;AAAA,QACxC,WACS,OAAO,WAAW,cAAc,OAAO,KAAK;AACnD,iBAAO,CAAC,SAAS,GAAG,OAAO;AAAA,QAC7B,OACK;AACH,kBAAQ,OAAM;AAAA,QAChB;AAAA,MACF,GAAG,SAAU,UAAS;AACpB,iBAAQ,sBAAsB;AAC9B,iBAAQ,oBAAoB;AAC5B,iBAAQ,cAAc;AAAA,MACxB,CAAC;AAAA,IACH,GAAE,OAAO,eAAe,cAAe,OAAO,WAAW,cAAc,SAAS,OAAO,SAAS,cAAc,OAAO,UAAQ,UAAU;AAAA;AAAA;;;ACvhCvI;AAAA;AACA,QAAI,MAAM;AAEV,WAAO,UAAU,IAAI;AAAA;AAAA;;;ACHrB;AAAA;AAAA,WAAO,UAAU,CAAC,KAAK,UACrB,MAAM,OAAO,CAAC,WAAW,SAAS;AAChC,UAAI,OAAO,IAAI,UAAU,aAAa;AACpC,eAAO;AAAA,MACT;AAEA,gBAAU,QAAQ,IAAI;AACtB,aAAO;AAAA,IACT,GAAG,CAAC,CAAC;AAAA;AAAA;;;ACRP;AAAA;AAAA,WAAO,UAAU,CAAC,KAAK,aACrB,OAAO,KAAK,QAAQ,EACjB,OAAO,OAAO,KAAK,GAAG,CAAC,EACvB,OAAO,CAAC,QAAQ,SAAS;AACxB,aAAO,QAAQ,OAAO,IAAI,UAAU,cAAc,SAAS,QAAQ,IAAI;AAEvE,aAAO;AAAA,IACT,GAAG,CAAC,CAAC;AAAA;AAAA;;;ACPT;AAAA;AAAA,QAAM,SAAS;AACf,QAAM,EAAC,eAAc;AACrB,QAAM,wBAAwB;AAC9B,QAAM,OAAO;AACb,QAAM,WAAW;AACjB,QAAM,oBAAoB;AAK1B,QAAM,iBAAiB,OAAQ;AAC/B,QAAM,cAAc;AAEpB,QAAM,kBAAkB;AAAA,MACtB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAEA,QAAM,iBAAiB;AAAA,MACrB,eAAe;AAAA,IACjB;AAEA,WAAO,UAAU,gBAAgB,OAAO,QAAQ,OAAO,CAAC,GAAG;AACzD,YAAM,EAAC,KAAK,OAAO,iBAAiB,qBAAoB,KAAK;AAC7D,YAAM,MAAM,KAAK,OAAO,mBAAmB,CAAC,kBAAkB,KAAK,GAAG,EAAE,KAAK,GAAG,IAAI,KAAK;AACzF,YAAM,UAAU,EAAC,GAAG,SAAS,MAAM,cAAc,GAAG,IAAG;AACvD,YAAM,aAAa,KAAK,SAAS,eAAe;AAChD,YAAM,KAAK,kBAAkB,EAAC,OAAO,QAAQ,SAAS,YAAY,IAAG,CAAC;AAEtE,YAAM,MAAM,GAAG,MAAM,KAAK,WAAW,UAAU,EAAE;AACjD,UAAI,IAAI,SAAS,gBAAgB;AAC/B,eAAO,IAAI,WAAW,CAAC,aAAa,SAAS,MAAM,IAAI,MAAM,8BAA8B,CAAC,CAAC;AAAA,MAC/F;AAEA,YAAM,YAAY,QAAQ,SAAS,QAAQ,SAAS,CAAC,UAAU;AAC/D,YAAM,sBAAsB,UAAU,QAAQ,WAAW,MAAM;AAE/D,YAAM,YAAY,CAAC;AACnB,UAAI,SAAS,iBAAiB;AAC5B,kBAAU,kBAAkB;AAAA,MAC9B;AAEA,UAAI,OAAO;AACT,kBAAU,UAAU;AAAA,UAClB,eAAe,UAAU;AAAA,QAC3B;AAAA,MACF;AAEA,aAAO,IAAI,WAAW,CAAC,aAAa;AAClC,YAAI,KAAK,eAAe;AACxB,YAAI;AACJ,YAAI,UAAU;AAEd,2BAAmB;AACjB,cAAI,SAAS;AACX;AAAA,UACF;AAEA,wBAAc;AAGd,cAAI,SAAS;AACX;AAAA,UACF;AAOA,cAAI,GAAG,eAAe,YAAY,QAAQ;AACxC,wBAAY;AACZ,yBAAa,cAAc;AAC3B,6BAAiB,WAAW,MAAM,GAAG;AAAA,UACvC;AAAA,QACF;AAEA,gCAAwB,KAAK;AAC3B,mBAAS,MAAM,aAAa,GAAG,CAAC;AAAA,QAClC;AAEA,2BAAmB,KAAK;AACtB,gBAAM,QAAQ,WAAW,GAAG;AAC5B,iBAAO,iBAAiB,QAAQ,SAAS,MAAM,KAAK,IAAI,SAAS,KAAK,KAAK;AAAA,QAC7E;AAEA,8BAAsB,KAAK;AACzB,oBAAU;AACV,sBAAY;AACZ,mBAAS,SAAS;AAAA,QACpB;AAEA,+BAAuB;AACrB,aAAG,oBAAoB,SAAS,SAAS,KAAK;AAC9C,aAAG,oBAAoB,gBAAgB,gBAAgB,KAAK;AAC5D,aAAG,oBAAoB,cAAc,cAAc,KAAK;AACxD,oBAAU,QAAQ,CAAC,SAAS,GAAG,oBAAoB,MAAM,WAAW,KAAK,CAAC;AAC1E,aAAG,MAAM;AAAA,QACX;AAEA,iCAAyB;AACvB,cAAI,qBAAqB;AACvB,qBAAS,KAAK,EAAC,MAAM,YAAW,CAAC;AAAA,UACnC;AAAA,QACF;AAEA,kCAA0B;AACxB,gBAAM,MAAM,IAAI,YAAY,KAAK,SAAS;AAC1C,cAAI,iBAAiB,SAAS,SAAS,KAAK;AAC5C,cAAI,iBAAiB,gBAAgB,gBAAgB,KAAK;AAC1D,cAAI,iBAAiB,cAAc,cAAc,KAAK;AACtD,oBAAU,QAAQ,CAAC,SAAS,IAAI,iBAAiB,MAAM,WAAW,KAAK,CAAC;AACxE,iBAAO;AAAA,QACT;AAEA,wBAAgB;AACd,eAAK,eAAe;AAAA,QACtB;AAEA,wBAAgB;AACd,oBAAU;AACV,sBAAY;AAAA,QACd;AAEA,eAAO;AAAA,MACT,CAAC;AAAA,IACH;AAEA,wBAAoB,OAAO;AACzB,UAAI;AACF,cAAM,OAAQ,MAAM,QAAQ,KAAK,MAAM,MAAM,IAAI,KAAM,CAAC;AACxD,eAAO,OAAO,EAAC,MAAM,MAAM,KAAI,GAAG,IAAI;AAAA,MACxC,SAAS,KAAP;AACA,eAAO;AAAA,MACT;AAAA,IACF;AAEA,0BAAsB,KAAK;AACzB,UAAI,eAAe,OAAO;AACxB,eAAO;AAAA,MACT;AAEA,YAAM,MAAM,WAAW,GAAG;AAC1B,aAAO,eAAe,QAAQ,MAAM,IAAI,MAAM,oBAAoB,GAAG,CAAC;AAAA,IACxE;AAEA,iCAA6B,KAAK;AAChC,UAAI,CAAC,IAAI,OAAO;AACd,eAAO,IAAI,WAAW;AAAA,MACxB;AAEA,UAAI,IAAI,MAAM,aAAa;AACzB,eAAO,IAAI,MAAM;AAAA,MACnB;AAEA,aAAO,OAAO,IAAI,UAAU,WAAW,IAAI,QAAQ,KAAK,UAAU,IAAI,OAAO,MAAM,CAAC;AAAA,IACtF;AAAA;AAAA;;;AC/JA;AAAA;AAAA,QAAM,SAAS;AACf,QAAM,EAAC,KAAK,WAAU;AACtB,QAAM,aAAa;AACnB,QAAM,eAAe;AACrB,QAAM,oBAAoB;AAC1B,QAAM,cAAc;AACpB,QAAM,QAAQ;AACd,QAAM,SAAS;AAEf,QAAM,gBAAgB,CAAC,OAAO,aAAa;AACzC,YAAM,QAAQ,OAAO,UAAU,cAAc,WAAW;AACxD,aAAO,UAAU,QAAQ,SAAY;AAAA,IACvC;AAEA,QAAM,mBAAmB,CAAC,UAAU,CAAC,MAAM;AACzC,aAAO;AAAA,QACL,QAAQ,QAAQ;AAAA,QAChB,WAAW;AAAA,QACX,iBAAiB,cAAc,QAAQ,iBAAiB,IAAI;AAAA,QAC5D,YAAY,QAAQ,cAAc;AAAA,QAClC,uBAAuB,QAAQ;AAAA,QAC/B,qCAAqC,QAAQ;AAAA,MAC/C;AAAA,IACF;AAEA,QAAM,aAAa,CAAC,UAAU,MAAM,SAAS;AAC7C,QAAM,UAAU,CAAC,UAAU,MAAM;AAEjC,QAAM,UAAU,CAAC,MAAM,SACrB,KAAK,OAAO,CAAC,SAAS,QAAQ;AAC5B,cAAQ,KAAK,GAAG,KAAK;AACrB,aAAO;AAAA,IACT,GAAG,uBAAO,OAAO,IAAI,CAAC;AAExB,QAAM,YAAY,CAAC,eAAe,WAAW,UAAU;AAEvD,QAAM,oBAAoB;AAE1B,WAAO,UAAU;AAAA,MACf;AAAA,MAEA,WAAW,WAAW,MAAM;AAC1B,cAAM,SAAS,KAAK;AACpB,cAAM,UAAU,WAAW,WAAW,MAAM;AAC5C,cAAM,UAAU,IAAI,aAAa;AACjC,cAAM,MAAM,OAAO,GAAG,WAAW,SAAS;AAC1C,eAAO,QAAQ,MAAM,QAAQ,YAAY,IAAI;AAAA,MAC/C;AAAA,MAEA,MAAM,OAAO,QAAQ,UAAU,CAAC,GAAG;AACjC,cAAM,cAAc,QAAQ,mBAAmB,QAAQ,CAAC,QAAQ,MAAM,CAAC,QAAQ,IAAI;AAEnF,cAAM,aAAa,KAAK,aAAa,SAAS,EAAC,OAAO,OAAM,GAAG,OAAO,EAAE,KAAK,IAAI,WAAW,CAAC;AAC7F,eAAO,KAAK,aAAa,IAAI,UAAU,UAAU,IAAI;AAAA,MACvD;AAAA,MAEA,YAAY,IAAI,OAAO,CAAC,GAAG;AACzB,cAAM,UAAU,EAAC,KAAK,KAAK,WAAW,OAAO,EAAE,GAAG,MAAM,MAAM,KAAK,KAAK,IAAG;AAC3E,cAAM,aAAa,KAAK,mBAAmB,OAAO,EAAE,KAClD,OAAO,UAAU,GACjB,IAAI,CAAC,UAAU,MAAM,KAAK,aAAa,MAAM,KAAK,UAAU,EAAE,CAChE;AAEA,eAAO,KAAK,aAAa,IAAI,UAAU,UAAU,IAAI;AAAA,MACvD;AAAA,MAEA,aAAa,KAAK,OAAO,CAAC,GAAG;AAC3B,cAAM,UAAU,EAAC,KAAK,KAAK,WAAW,OAAO,IAAI,KAAK,GAAG,CAAC,GAAG,MAAM,MAAM,KAAK,KAAK,IAAG;AACtF,cAAM,aAAa,KAAK,mBAAmB,OAAO,EAAE,KAClD,OAAO,UAAU,GACjB,IAAI,CAAC,UAAU;AACb,gBAAM,UAAU,QAAQ,MAAM,KAAK,aAAa,CAAC,GAAG,CAAC,QAAQ,IAAI,GAAG;AACpE,iBAAO,IAAI,IAAI,CAAC,OAAO,QAAQ,OAAO,IAAI;AAAA,QAC5C,CAAC,CACH;AAEA,eAAO,KAAK,aAAa,IAAI,UAAU,UAAU,IAAI;AAAA,MACvD;AAAA,MAEA,OAAO,KAAK,SAAS;AACnB,eAAO,KAAK,QAAQ,KAAK,UAAU,OAAO;AAAA,MAC5C;AAAA,MAEA,kBAAkB,KAAK,SAAS;AAC9B,mBAAW,kBAAkB,qBAAqB,GAAG;AACrD,eAAO,KAAK,QAAQ,KAAK,qBAAqB,OAAO;AAAA,MACvD;AAAA,MAEA,gBAAgB,KAAK,SAAS;AAC5B,mBAAW,kBAAkB,mBAAmB,GAAG;AACnD,eAAO,KAAK,QAAQ,KAAK,mBAAmB,OAAO;AAAA,MACrD;AAAA,MAEA,MAAM,UAAU,YAAY;AAC1B,eAAO,IAAI,MAAM,UAAU,YAAY,IAAI;AAAA,MAC7C;AAAA,MAEA,OAAO,WAAW,SAAS;AACzB,eAAO,KAAK,YAAY,UAAU,EAAC,WAAW,CAAC,EAAC,QAAQ,aAAa,SAAS,EAAC,CAAC,EAAC,GAAG,OAAO;AAAA,MAC7F;AAAA,MAEA,OAAO,WAAW,SAAS;AACzB,cAAM,MACJ,qBAAqB,SAAS,qBAAqB,cAC/C,UAAU,UAAU,IACpB;AAEN,cAAM,OAAO,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,GAAG;AAC5C,cAAM,gBAAgB,WAAW,QAAQ;AACzC,eAAO,KAAK,YAAY,UAAU,EAAC,WAAW,MAAM,cAAa,GAAG,OAAO;AAAA,MAC7E;AAAA,MAEA,YAAY,YAAY;AACtB,eAAO,IAAI,YAAY,YAAY,IAAI;AAAA,MACzC;AAAA,MAEA,YAAY,UAAU,MAAM,UAAU,CAAC,GAAG;AACxC,cAAM,UAAU,KAAK,aAAa,UAAU,MAAM,OAAO;AAEzD,eAAO,KAAK,aAAa,IAAI,UAAU,OAAO,IAAI;AAAA,MACpD;AAAA,MAEA,aAAa,UAAU,MAAM,UAAU,CAAC,GAAG;AACzC,cAAM,aAAa,aAAa;AAChC,cAAM,UAAU,aAAa;AAI7B,cAAM,WAAW,CAAC,cAAc,kBAAkB,IAAI;AACtD,cAAM,SAAS,CAAC,cAAc,SAAS,SAAS;AAChD,cAAM,cAAc,SAAS,WAAW;AACxC,cAAM,cAAc,QAAQ;AAC5B,cAAM,EAAC,SAAS,OAAO,KAAK,YAAW;AAEvC,cAAM,MAAM,KAAK,WAAW,UAAU,WAAW;AAEjD,cAAM,aAAa;AAAA,UACjB,QAAQ,SAAS,QAAQ;AAAA,UACzB;AAAA,UACA,MAAM;AAAA,UACN,MAAM,SAAS,SAAY;AAAA,UAC3B,OAAO,cAAc,iBAAiB,OAAO;AAAA,UAC7C;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,WAAW;AAAA,QACb;AAEA,eAAO,KAAK,mBAAmB,UAAU,EAAE,KACzC,OAAO,UAAU,GACjB,IAAI,OAAO,GACX,IAAI,CAAC,QAAQ;AACX,cAAI,CAAC,YAAY;AACf,mBAAO;AAAA,UACT;AAGA,gBAAM,UAAU,IAAI,WAAW,CAAC;AAChC,cAAI,QAAQ,iBAAiB;AAC3B,mBAAO,cACH,QAAQ,MAAM,QAAQ,GAAG,WACzB,QAAQ,IAAI,CAAC,QAAQ,IAAI,QAAQ;AAAA,UACvC;AAGA,gBAAM,MAAM,cAAc,eAAe;AACzC,gBAAM,MAAM,cAAc,QAAQ,MAAM,QAAQ,GAAG,KAAK,QAAQ,IAAI,CAAC,QAAQ,IAAI,EAAE;AACnF,iBAAO;AAAA,YACL,eAAe,IAAI;AAAA,YACnB;AAAA,YACA,CAAC,MAAM;AAAA,UACT;AAAA,QACF,CAAC,CACH;AAAA,MACF;AAAA,MAEA,QAAQ,KAAK,IAAI,UAAU,CAAC,GAAG;AAC7B,cAAM,WAAW,EAAC,CAAC,KAAK,IAAG;AAC3B,cAAM,OAAO,OAAO,EAAC,aAAa,MAAM,iBAAiB,KAAI,GAAG,OAAO;AACvE,eAAO,KAAK,YAAY,UAAU,EAAC,WAAW,CAAC,QAAQ,EAAC,GAAG,IAAI;AAAA,MACjE;AAAA,IACF;AAAA;AAAA;;;ACtLA;AAAA;AAAA,QAAM,SAAS;AACf,QAAM,WAAW;AAEjB,4BAAwB,QAAQ;AAC9B,WAAK,UAAU,OAAO,QAAQ,KAAK,MAAM;AAAA,IAC3C;AAEA,WAAO,eAAe,WAAW;AAAA,MAC/B,OAAO,MAAM,SAAS;AACpB,eAAO,KAAK,QAAQ,OAAO,MAAM,OAAO;AAAA,MAC1C;AAAA,MAEA,KAAK,MAAM,SAAS;AAClB,eAAO,KAAK,QAAQ,SAAS,MAAM,OAAO;AAAA,MAC5C;AAAA,MAEA,OAAO,MAAM;AACX,eAAO,KAAK,QAAQ,UAAU,IAAI;AAAA,MACpC;AAAA,MAEA,OAAO;AACL,eAAO,KAAK,QAAQ,EAAC,KAAK,YAAW,CAAC;AAAA,MACxC;AAAA,MAEA,QAAQ,QAAQ,MAAM,MAAM;AAC1B,iBAAS,QAAQ,IAAI;AACrB,eAAO,KAAK,QAAQ,EAAC,QAAQ,KAAK,aAAa,QAAQ,KAAI,CAAC;AAAA,MAC9D;AAAA,IACF,CAAC;AAED,WAAO,UAAU;AAAA;AAAA;;;AC9BjB;AAAA;AAAA,QAAM,SAAS;AAEf,4BAAwB,QAAQ;AAC9B,WAAK,SAAS;AAAA,IAChB;AAEA,WAAO,eAAe,WAAW;AAAA,MAC/B,OAAO;AACL,eAAO,KAAK,OAAO,QAAQ,EAAC,KAAK,YAAW,CAAC;AAAA,MAC/C;AAAA,MAEA,QAAQ,IAAI;AACV,eAAO,KAAK,OAAO,QAAQ,EAAC,KAAK,aAAa,KAAI,CAAC;AAAA,MACrD;AAAA,IACF,CAAC;AAED,WAAO,UAAU;AAAA;AAAA;;;AChBjB;AAAA;AAAA,WAAO,UAAU,CAAC,WAAW;AAC3B,YAAM,KAAK,CAAC;AACZ,iBAAW,OAAO,QAAQ;AACxB,YAAI,OAAO,eAAe,GAAG,GAAG;AAC9B,aAAG,KAAK,GAAG,mBAAmB,GAAG,KAAK,mBAAmB,OAAO,IAAI,GAAG;AAAA,QACzE;AAAA,MACF;AAEA,aAAO,GAAG,SAAS,IAAI,IAAI,GAAG,KAAK,GAAG,MAAM;AAAA,IAC9C;AAAA;AAAA;;;ACTA;AAAA;AAAA,QAAM,SAAS;AACf,QAAM,EAAC,KAAK,WAAU;AACtB,QAAM,cAAc;AACpB,QAAM,aAAa;AAEnB,0BAAsB,QAAQ;AAC5B,WAAK,SAAS;AAAA,IAChB;AAEA,6BAAyB,MAAM,MAAM;AACnC,UAAI,OAAO,WAAW,eAAe,CAAE,iBAAgB,OAAO,OAAO;AACnE,eAAO;AAAA,MACT;AAEA,aAAO,OACL;AAAA,QACE,UAAU,KAAK,qBAAqB,QAAQ,SAAY,KAAK;AAAA,QAC7D,aAAa,KAAK;AAAA,MACpB,GACA,IACF;AAAA,IACF;AAEA,WAAO,aAAa,WAAW;AAAA,MA0B7B,OAAO,WAAW,MAAM,OAAO,CAAC,GAAG;AACjC,mBAAW,kBAAkB,SAAS;AAGtC,YAAI,OAAO,KAAK,WAAW;AAC3B,YAAI,QAAQ,CAAC,KAAK,QAAQ;AACxB,iBAAO,CAAC,MAAM;AAAA,QAChB;AAEA,cAAM,UAAU,WAAW,WAAW,KAAK,OAAO,YAAY;AAC9D,cAAM,gBAAgB,cAAc,UAAU,WAAW;AACzD,cAAM,UAAU,gBAAgB,MAAM,IAAI;AAC1C,cAAM,EAAC,KAAK,OAAO,OAAO,aAAa,YAAY,UAAU,WAAU;AACvE,cAAM,QAAQ;AAAA,UACZ;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AACA,YAAI,QAAQ;AACV,gBAAM,WAAW,OAAO;AACxB,gBAAM,aAAa,OAAO;AAC1B,gBAAM,YAAY,OAAO;AAAA,QAC3B;AACA,cAAM,aAAa,KAAK,OAAO,mBAAmB;AAAA,UAChD;AAAA,UACA,QAAQ;AAAA,UACR,SAAS,QAAQ,WAAW;AAAA,UAC5B,KAAK,WAAW,iBAAiB;AAAA,UACjC,SAAS,QAAQ,cAAc,EAAC,gBAAgB,QAAQ,YAAW,IAAI,CAAC;AAAA,UACxE;AAAA,UACA;AAAA,QACF,CAAC;AAED,eAAO,KAAK,OAAO,aAAa,IAC5B,WACG,KACC,OAAO,CAAC,UAAU,MAAM,SAAS,UAAU,GAC3C,IAAI,CAAC,UAAU,MAAM,KAAK,QAAQ,CACpC,EACC,UAAU,IACb;AAAA,MACN;AAAA,MAEA,OAAO,MAAM,IAAI;AAEf,gBAAQ,KAAK,+EAA+E;AAE5F,YAAI,QAAQ,MAAM;AAClB,YAAI,CAAC,iBAAiB,KAAK,KAAK,GAAG;AACjC,kBAAQ,GAAG,QAAQ;AAAA,QACrB,WAAW,KAAK,KAAK;AAEnB,kBAAQ,KAAK;AAAA,QACf;AAEA,mBAAW,WAAW,KAAK,OAAO,YAAY;AAC9C,eAAO,KAAK,OAAO,OAAO,KAAK;AAAA,MACjC;AAAA,MAEA,YAAY,KAAK,OAAO;AACtB,cAAM,KAAK,IAAI,QAAQ;AACvB,YAAI,OAAO,OAAO,UAAU;AAC1B,gBAAM,IAAI,MACR,yFACF;AAAA,QACF;AAEA,YAAI,CAAC,2CAA2C,KAAK,EAAE,GAAG;AACxD,gBAAM,IAAI,MACR,yBAAyB,wDAC3B;AAAA,QACF;AAEA,cAAM,CAAC,EAAE,SAAS,MAAM,UAAU,GAAG,MAAM,GAAG;AAE9C,mBAAW,WAAW,KAAK,OAAO,YAAY;AAC9C,cAAM,EAAC,WAAW,YAAW,KAAK,OAAO;AACzC,cAAM,KAAK,QAAQ,YAAY,KAAK,IAAI;AACxC,eAAO,gCAAgC,aAAa,WAAW,WAAW,QAAQ,SAAS;AAAA,MAC7F;AAAA,IACF,CAAC;AAED,WAAO,UAAU;AAAA;AAAA;;;ACtIjB;AAAA;AAAA,QAAM,SAAS;AAEf,yBAAqB,QAAQ;AAC3B,WAAK,SAAS;AAAA,IAChB;AAEA,WAAO,YAAY,WAAW;AAAA,MAC5B,QAAQ,IAAI;AACV,eAAO,KAAK,OAAO,QAAQ,EAAC,KAAK,UAAU,KAAI,CAAC;AAAA,MAClD;AAAA,IACF,CAAC;AAED,WAAO,UAAU;AAAA;AAAA;;;ACZjB;AAAA;AAAA,QAAM,SAAS;AAEf,wBAAoB,QAAQ;AAC1B,WAAK,SAAS;AAAA,IAChB;AAEA,WAAO,WAAW,WAAW;AAAA,MAC3B,oBAAoB;AAClB,eAAO,KAAK,OAAO,QAAQ,EAAC,KAAK,kBAAiB,CAAC;AAAA,MACrD;AAAA,MAEA,SAAS;AACP,eAAO,KAAK,OAAO,QAAQ,EAAC,KAAK,gBAAgB,QAAQ,OAAM,CAAC;AAAA,MAClE;AAAA,IACF,CAAC;AAED,WAAO,UAAU;AAAA;AAAA;;;AChBjB;AAAA;AAAA,WAAO,UAAU,kBAAkB;AACjC,UAAI,cAAc,CAAC;AACnB,aAAO;AAAA,QACL;AAAA,QACA;AAAA,MACF;AACA,yBAAmB,YAAY;AAC7B,oBAAY,KAAK,UAAU;AAC3B,eAAO,uBAAuB;AAC5B,cAAI,MAAM,YAAY,QAAQ,UAAU;AACxC,cAAI,MAAM,IAAI;AACZ,wBAAY,OAAO,KAAK,CAAC;AAAA,UAC3B;AAAA,QACF;AAAA,MACF;AACA,yBAAmB;AACjB,iBAAS,IAAI,GAAG,IAAI,YAAY,QAAQ,KAAK;AAC3C,sBAAY,GAAG,MAAM,MAAM,SAAS;AAAA,QACtC;AAAA,MACF;AAAA,IACF;AAAA;AAAA;;;;;;ACpBA,WAAO,UAAU,SAAA,YAAc;AAC7B,UAAM,kBAAkB,0BAAC,MAAM,cAA0B;AACvD,YAAM,YAAY,SAAS;AAE3B,YAAI,QAAQ;AAH2C,iBAAA,OAAA,UAAA,QAAT,OAAS,IAAA,MAAA,OAAA,IAAA,OAAA,IAAA,CAAA,GAAA,OAAA,GAAA,OAAA,MAAA,QAAA;AAAT,eAAS,OAAA,KAAA,UAAA;QAAA;AAIvD,iBAAS,IAAI,GAAG,IAAI,WAAW,MAAM,QAAQ,KAAK;AAChD,cAAM,UAAU,WAAW,MAAM;AACjC,kBAAQ,QAAO,MAAP,QAAA,CAAQ,KAAR,EAAA,OAAkB,IAAlB,CAAA;AAER,cAAI,aAAa,CAAC,OAAO;AACvB;UACD;QACF;AAED,eAAO;MACR;AAED,aAAO;IACR;;;;;AClBD;AAAA;AAAA;AAWA,WAAO,UAAU,kBAAkB,MAAM,UAAU;AACjD,iBAAW,SAAS,MAAM,GAAG,EAAE;AAC/B,aAAO,CAAC;AAER,UAAI,CAAC;AAAM,eAAO;AAElB,cAAQ;AAAA,aACD;AAAA,aACA;AACL,iBAAO,SAAS;AAAA,aAEX;AAAA,aACA;AACL,iBAAO,SAAS;AAAA,aAEX;AACL,iBAAO,SAAS;AAAA,aAEX;AACL,iBAAO,SAAS;AAAA,aAEX;AACL,iBAAO;AAAA;AAGT,aAAO,SAAS;AAAA,IAClB;AAAA;AAAA;;;ACrCA;AAAA;AAAA;AAEA,QAAI,MAAM,OAAO,UAAU;AAA3B,QACI;AASJ,oBAAgB,OAAO;AACrB,UAAI;AACF,eAAO,mBAAmB,MAAM,QAAQ,OAAO,GAAG,CAAC;AAAA,MACrD,SAAS,GAAP;AACA,eAAO;AAAA,MACT;AAAA,IACF;AASA,oBAAgB,OAAO;AACrB,UAAI;AACF,eAAO,mBAAmB,KAAK;AAAA,MACjC,SAAS,GAAP;AACA,eAAO;AAAA,MACT;AAAA,IACF;AASA,yBAAqB,OAAO;AAC1B,UAAI,SAAS,wBACT,SAAS,CAAC,GACV;AAEJ,aAAO,OAAO,OAAO,KAAK,KAAK,GAAG;AAChC,YAAI,MAAM,OAAO,KAAK,EAAE,GACpB,QAAQ,OAAO,KAAK,EAAE;AAU1B,YAAI,QAAQ,QAAQ,UAAU,QAAQ,OAAO;AAAQ;AACrD,eAAO,OAAO;AAAA,MAChB;AAEA,aAAO;AAAA,IACT;AAUA,4BAAwB,KAAK,QAAQ;AACnC,eAAS,UAAU;AAEnB,UAAI,QAAQ,CAAC,GACT,OACA;AAKJ,UAAI,AAAa,OAAO,WAApB;AAA4B,iBAAS;AAEzC,WAAK,OAAO,KAAK;AACf,YAAI,IAAI,KAAK,KAAK,GAAG,GAAG;AACtB,kBAAQ,IAAI;AAMZ,cAAI,CAAC,SAAU,WAAU,QAAQ,UAAU,SAAS,MAAM,KAAK,IAAI;AACjE,oBAAQ;AAAA,UACV;AAEA,gBAAM,OAAO,GAAG;AAChB,kBAAQ,OAAO,KAAK;AAMpB,cAAI,QAAQ,QAAQ,UAAU;AAAM;AACpC,gBAAM,KAAK,MAAK,MAAK,KAAK;AAAA,QAC5B;AAAA,MACF;AAEA,aAAO,MAAM,SAAS,SAAS,MAAM,KAAK,GAAG,IAAI;AAAA,IACnD;AAKA,YAAQ,YAAY;AACpB,YAAQ,QAAQ;AAAA;AAAA;;;ACrHhB;AAAA;AAAA;AAEA,QAAI,WAAW;AAAf,QACI,KAAK;AADT,QAEI,sBAAsB;AAF1B,QAGI,SAAS;AAHb,QAII,UAAU;AAJd,QAKI,OAAO;AALX,QAMI,aAAa;AANjB,QAOI,qBAAqB;AAUzB,sBAAkB,KAAK;AACrB,aAAQ,OAAM,MAAM,IAAI,SAAS,EAAE,QAAQ,qBAAqB,EAAE;AAAA,IACpE;AAcA,QAAI,QAAQ;AAAA,MACV,CAAC,KAAK,MAAM;AAAA,MACZ,CAAC,KAAK,OAAO;AAAA,MACb,kBAAkB,SAAS,KAAK;AAC9B,eAAO,UAAU,IAAI,QAAQ,IAAI,QAAQ,QAAQ,OAAO,GAAG,IAAI;AAAA,MACjE;AAAA,MACA,CAAC,KAAK,UAAU;AAAA,MAChB,CAAC,KAAK,QAAQ,CAAC;AAAA,MACf,CAAC,KAAK,QAAQ,QAAW,GAAG,CAAC;AAAA,MAC7B,CAAC,WAAW,QAAQ,QAAW,CAAC;AAAA,MAChC,CAAC,KAAK,YAAY,QAAW,GAAG,CAAC;AAAA,IACnC;AAUA,QAAI,SAAS,EAAE,MAAM,GAAG,OAAO,EAAE;AAcjC,uBAAmB,KAAK;AACtB,UAAI;AAEJ,UAAI,OAAO,WAAW;AAAa,oBAAY;AAAA,eACtC,OAAO,WAAW;AAAa,oBAAY;AAAA,eAC3C,OAAO,SAAS;AAAa,oBAAY;AAAA;AAC7C,oBAAY,CAAC;AAElB,UAAI,WAAW,UAAU,YAAY,CAAC;AACtC,YAAM,OAAO;AAEb,UAAI,mBAAmB,CAAC,GACpB,OAAO,OAAO,KACd;AAEJ,UAAI,AAAY,IAAI,aAAhB,SAA0B;AAC5B,2BAAmB,IAAI,IAAI,SAAS,IAAI,QAAQ,GAAG,CAAC,CAAC;AAAA,MACvD,WAAW,AAAa,SAAb,UAAmB;AAC5B,2BAAmB,IAAI,IAAI,KAAK,CAAC,CAAC;AAClC,aAAK,OAAO;AAAQ,iBAAO,iBAAiB;AAAA,MAC9C,WAAW,AAAa,SAAb,UAAmB;AAC5B,aAAK,OAAO,KAAK;AACf,cAAI,OAAO;AAAQ;AACnB,2BAAiB,OAAO,IAAI;AAAA,QAC9B;AAEA,YAAI,iBAAiB,YAAY,QAAW;AAC1C,2BAAiB,UAAU,QAAQ,KAAK,IAAI,IAAI;AAAA,QAClD;AAAA,MACF;AAEA,aAAO;AAAA,IACT;AASA,uBAAmB,QAAQ;AACzB,aACE,WAAW,WACX,WAAW,UACX,WAAW,WACX,WAAW,YACX,WAAW,SACX,WAAW;AAAA,IAEf;AAkBA,6BAAyB,SAAS,UAAU;AAC1C,gBAAU,SAAS,OAAO;AAC1B,gBAAU,QAAQ,QAAQ,QAAQ,EAAE;AACpC,iBAAW,YAAY,CAAC;AAExB,UAAI,QAAQ,WAAW,KAAK,OAAO;AACnC,UAAI,WAAW,MAAM,KAAK,MAAM,GAAG,YAAY,IAAI;AACnD,UAAI,iBAAiB,CAAC,CAAC,MAAM;AAC7B,UAAI,eAAe,CAAC,CAAC,MAAM;AAC3B,UAAI,eAAe;AACnB,UAAI;AAEJ,UAAI,gBAAgB;AAClB,YAAI,cAAc;AAChB,iBAAO,MAAM,KAAK,MAAM,KAAK,MAAM;AACnC,yBAAe,MAAM,GAAG,SAAS,MAAM,GAAG;AAAA,QAC5C,OAAO;AACL,iBAAO,MAAM,KAAK,MAAM;AACxB,yBAAe,MAAM,GAAG;AAAA,QAC1B;AAAA,MACF,OAAO;AACL,YAAI,cAAc;AAChB,iBAAO,MAAM,KAAK,MAAM;AACxB,yBAAe,MAAM,GAAG;AAAA,QAC1B,OAAO;AACL,iBAAO,MAAM;AAAA,QACf;AAAA,MACF;AAEA,UAAI,aAAa,SAAS;AACxB,YAAI,gBAAgB,GAAG;AACrB,iBAAO,KAAK,MAAM,CAAC;AAAA,QACrB;AAAA,MACF,WAAW,UAAU,QAAQ,GAAG;AAC9B,eAAO,MAAM;AAAA,MACf,WAAW,UAAU;AACnB,YAAI,gBAAgB;AAClB,iBAAO,KAAK,MAAM,CAAC;AAAA,QACrB;AAAA,MACF,WAAW,gBAAgB,KAAK,UAAU,SAAS,QAAQ,GAAG;AAC5D,eAAO,MAAM;AAAA,MACf;AAEA,aAAO;AAAA,QACL;AAAA,QACA,SAAS,kBAAkB,UAAU,QAAQ;AAAA,QAC7C;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAUA,qBAAiB,UAAU,MAAM;AAC/B,UAAI,aAAa;AAAI,eAAO;AAE5B,UAAI,OAAQ,SAAQ,KAAK,MAAM,GAAG,EAAE,MAAM,GAAG,EAAE,EAAE,OAAO,SAAS,MAAM,GAAG,CAAC,GACvE,IAAI,KAAK,QACT,OAAO,KAAK,IAAI,IAChB,UAAU,OACV,KAAK;AAET,aAAO,KAAK;AACV,YAAI,KAAK,OAAO,KAAK;AACnB,eAAK,OAAO,GAAG,CAAC;AAAA,QAClB,WAAW,KAAK,OAAO,MAAM;AAC3B,eAAK,OAAO,GAAG,CAAC;AAChB;AAAA,QACF,WAAW,IAAI;AACb,cAAI,MAAM;AAAG,sBAAU;AACvB,eAAK,OAAO,GAAG,CAAC;AAChB;AAAA,QACF;AAAA,MACF;AAEA,UAAI;AAAS,aAAK,QAAQ,EAAE;AAC5B,UAAI,SAAS,OAAO,SAAS;AAAM,aAAK,KAAK,EAAE;AAE/C,aAAO,KAAK,KAAK,GAAG;AAAA,IACtB;AAgBA,iBAAa,SAAS,UAAU,QAAQ;AACtC,gBAAU,SAAS,OAAO;AAC1B,gBAAU,QAAQ,QAAQ,QAAQ,EAAE;AAEpC,UAAI,CAAE,iBAAgB,MAAM;AAC1B,eAAO,IAAI,IAAI,SAAS,UAAU,MAAM;AAAA,MAC1C;AAEA,UAAI,UAAU,WAAW,OAAO,aAAa,OAAO,KAChD,eAAe,MAAM,MAAM,GAC3B,OAAO,OAAO,UACd,MAAM,MACN,IAAI;AAaR,UAAI,AAAa,SAAb,YAAqB,AAAa,SAAb,UAAmB;AAC1C,iBAAS;AACT,mBAAW;AAAA,MACb;AAEA,UAAI,UAAU,AAAe,OAAO,WAAtB;AAA8B,iBAAS,GAAG;AAExD,iBAAW,UAAU,QAAQ;AAK7B,kBAAY,gBAAgB,WAAW,IAAI,QAAQ;AACnD,iBAAW,CAAC,UAAU,YAAY,CAAC,UAAU;AAC7C,UAAI,UAAU,UAAU,WAAW,YAAY,SAAS;AACxD,UAAI,WAAW,UAAU,YAAY,SAAS,YAAY;AAC1D,gBAAU,UAAU;AAMpB,UACE,UAAU,aAAa,WACrB,WAAU,iBAAiB,KAAK,mBAAmB,KAAK,OAAO,MAChE,CAAC,UAAU,WACT,WAAU,YACT,UAAU,eAAe,KACzB,CAAC,UAAU,IAAI,QAAQ,IAC3B;AACA,qBAAa,KAAK,CAAC,QAAQ,UAAU;AAAA,MACvC;AAEA,aAAO,IAAI,aAAa,QAAQ,KAAK;AACnC,sBAAc,aAAa;AAE3B,YAAI,OAAO,gBAAgB,YAAY;AACrC,oBAAU,YAAY,SAAS,GAAG;AAClC;AAAA,QACF;AAEA,gBAAQ,YAAY;AACpB,cAAM,YAAY;AAElB,YAAI,UAAU,OAAO;AACnB,cAAI,OAAO;AAAA,QACb,WAAW,AAAa,OAAO,UAApB,UAA2B;AACpC,kBAAQ,UAAU,MACd,QAAQ,YAAY,KAAK,IACzB,QAAQ,QAAQ,KAAK;AAEzB,cAAI,CAAC,OAAO;AACV,gBAAI,AAAa,OAAO,YAAY,OAAhC,UAAoC;AACtC,kBAAI,OAAO,QAAQ,MAAM,GAAG,KAAK;AACjC,wBAAU,QAAQ,MAAM,QAAQ,YAAY,EAAE;AAAA,YAChD,OAAO;AACL,kBAAI,OAAO,QAAQ,MAAM,KAAK;AAC9B,wBAAU,QAAQ,MAAM,GAAG,KAAK;AAAA,YAClC;AAAA,UACF;AAAA,QACF,WAAY,QAAQ,MAAM,KAAK,OAAO,GAAI;AACxC,cAAI,OAAO,MAAM;AACjB,oBAAU,QAAQ,MAAM,GAAG,MAAM,KAAK;AAAA,QACxC;AAEA,YAAI,OAAO,IAAI,QACb,aAAY,YAAY,KAAK,SAAS,QAAQ,KAAK;AAOrD,YAAI,YAAY;AAAI,cAAI,OAAO,IAAI,KAAK,YAAY;AAAA,MACtD;AAOA,UAAI;AAAQ,YAAI,QAAQ,OAAO,IAAI,KAAK;AAKxC,UACI,YACC,SAAS,WACT,IAAI,SAAS,OAAO,CAAC,MAAM,OAC1B,KAAI,aAAa,MAAM,SAAS,aAAa,KACjD;AACA,YAAI,WAAW,QAAQ,IAAI,UAAU,SAAS,QAAQ;AAAA,MACxD;AAMA,UAAI,IAAI,SAAS,OAAO,CAAC,MAAM,OAAO,UAAU,IAAI,QAAQ,GAAG;AAC7D,YAAI,WAAW,MAAM,IAAI;AAAA,MAC3B;AAOA,UAAI,CAAC,SAAS,IAAI,MAAM,IAAI,QAAQ,GAAG;AACrC,YAAI,OAAO,IAAI;AACf,YAAI,OAAO;AAAA,MACb;AAKA,UAAI,WAAW,IAAI,WAAW;AAE9B,UAAI,IAAI,MAAM;AACZ,gBAAQ,IAAI,KAAK,QAAQ,GAAG;AAE5B,YAAI,CAAC,OAAO;AACV,cAAI,WAAW,IAAI,KAAK,MAAM,GAAG,KAAK;AACtC,cAAI,WAAW,mBAAmB,mBAAmB,IAAI,QAAQ,CAAC;AAElE,cAAI,WAAW,IAAI,KAAK,MAAM,QAAQ,CAAC;AACvC,cAAI,WAAW,mBAAmB,mBAAmB,IAAI,QAAQ,CAAC;AAAA,QACpE,OAAO;AACL,cAAI,WAAW,mBAAmB,mBAAmB,IAAI,IAAI,CAAC;AAAA,QAChE;AAEA,YAAI,OAAO,IAAI,WAAW,IAAI,WAAU,MAAK,IAAI,WAAW,IAAI;AAAA,MAClE;AAEA,UAAI,SAAS,IAAI,aAAa,WAAW,UAAU,IAAI,QAAQ,KAAK,IAAI,OACpE,IAAI,WAAU,OAAM,IAAI,OACxB;AAKJ,UAAI,OAAO,IAAI,SAAS;AAAA,IAC1B;AAeA,iBAAa,MAAM,OAAO,IAAI;AAC5B,UAAI,MAAM;AAEV,cAAQ;AAAA,aACD;AACH,cAAI,AAAa,OAAO,UAApB,YAA6B,MAAM,QAAQ;AAC7C,oBAAS,OAAM,GAAG,OAAO,KAAK;AAAA,UAChC;AAEA,cAAI,QAAQ;AACZ;AAAA,aAEG;AACH,cAAI,QAAQ;AAEZ,cAAI,CAAC,SAAS,OAAO,IAAI,QAAQ,GAAG;AAClC,gBAAI,OAAO,IAAI;AACf,gBAAI,QAAQ;AAAA,UACd,WAAW,OAAO;AAChB,gBAAI,OAAO,IAAI,WAAU,MAAK;AAAA,UAChC;AAEA;AAAA,aAEG;AACH,cAAI,QAAQ;AAEZ,cAAI,IAAI;AAAM,qBAAS,MAAK,IAAI;AAChC,cAAI,OAAO;AACX;AAAA,aAEG;AACH,cAAI,QAAQ;AAEZ,cAAI,KAAK,KAAK,KAAK,GAAG;AACpB,oBAAQ,MAAM,MAAM,GAAG;AACvB,gBAAI,OAAO,MAAM,IAAI;AACrB,gBAAI,WAAW,MAAM,KAAK,GAAG;AAAA,UAC/B,OAAO;AACL,gBAAI,WAAW;AACf,gBAAI,OAAO;AAAA,UACb;AAEA;AAAA,aAEG;AACH,cAAI,WAAW,MAAM,YAAY;AACjC,cAAI,UAAU,CAAC;AACf;AAAA,aAEG;AAAA,aACA;AACH,cAAI,OAAO;AACT,gBAAI,OAAO,SAAS,aAAa,MAAM;AACvC,gBAAI,QAAQ,MAAM,OAAO,CAAC,MAAM,OAAO,OAAO,QAAQ;AAAA,UACxD,OAAO;AACL,gBAAI,QAAQ;AAAA,UACd;AACA;AAAA,aAEG;AAAA,aACA;AACH,cAAI,QAAQ,mBAAmB,KAAK;AACpC;AAAA,aAEG;AACH,cAAI,QAAQ,MAAM,QAAQ,GAAG;AAE7B,cAAI,CAAC,OAAO;AACV,gBAAI,WAAW,MAAM,MAAM,GAAG,KAAK;AACnC,gBAAI,WAAW,mBAAmB,mBAAmB,IAAI,QAAQ,CAAC;AAElE,gBAAI,WAAW,MAAM,MAAM,QAAQ,CAAC;AACpC,gBAAI,WAAW,mBAAmB,mBAAmB,IAAI,QAAQ,CAAC;AAAA,UACpE,OAAO;AACL,gBAAI,WAAW,mBAAmB,mBAAmB,KAAK,CAAC;AAAA,UAC7D;AAAA;AAGJ,eAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACrC,YAAI,MAAM,MAAM;AAEhB,YAAI,IAAI;AAAI,cAAI,IAAI,MAAM,IAAI,IAAI,IAAI,YAAY;AAAA,MACpD;AAEA,UAAI,OAAO,IAAI,WAAW,IAAI,WAAU,MAAK,IAAI,WAAW,IAAI;AAEhE,UAAI,SAAS,IAAI,aAAa,WAAW,UAAU,IAAI,QAAQ,KAAK,IAAI,OACpE,IAAI,WAAU,OAAM,IAAI,OACxB;AAEJ,UAAI,OAAO,IAAI,SAAS;AAExB,aAAO;AAAA,IACT;AASA,sBAAkB,WAAW;AAC3B,UAAI,CAAC,aAAa,AAAe,OAAO,cAAtB;AAAiC,oBAAY,GAAG;AAElE,UAAI,OACA,MAAM,MACN,OAAO,IAAI,MACX,WAAW,IAAI;AAEnB,UAAI,YAAY,SAAS,OAAO,SAAS,SAAS,CAAC,MAAM;AAAK,oBAAY;AAE1E,UAAI,SACF,WACE,KAAI,YAAY,IAAI,WAAY,UAAU,IAAI,QAAQ,IAAI,OAAO;AAErE,UAAI,IAAI,UAAU;AAChB,kBAAU,IAAI;AACd,YAAI,IAAI;AAAU,oBAAU,MAAK,IAAI;AACrC,kBAAU;AAAA,MACZ,WAAW,IAAI,UAAU;AACvB,kBAAU,MAAK,IAAI;AACnB,kBAAU;AAAA,MACZ,WACE,IAAI,aAAa,WACjB,UAAU,IAAI,QAAQ,KACtB,CAAC,QACD,IAAI,aAAa,KACjB;AAKA,kBAAU;AAAA,MACZ;AAOA,UAAI,KAAK,KAAK,SAAS,OAAO,OAAQ,KAAK,KAAK,IAAI,QAAQ,KAAK,CAAC,IAAI,MAAO;AAC3E,gBAAQ;AAAA,MACV;AAEA,gBAAU,OAAO,IAAI;AAErB,cAAQ,AAAa,OAAO,IAAI,UAAxB,WAAgC,UAAU,IAAI,KAAK,IAAI,IAAI;AACnE,UAAI;AAAO,kBAAU,AAAQ,MAAM,OAAO,CAAC,MAAtB,MAA0B,MAAK,QAAQ;AAE5D,UAAI,IAAI;AAAM,kBAAU,IAAI;AAE5B,aAAO;AAAA,IACT;AAEA,QAAI,YAAY,EAAE,KAAU,SAAmB;AAM/C,QAAI,kBAAkB;AACtB,QAAI,WAAW;AACf,QAAI,WAAW;AACf,QAAI,KAAK;AAET,WAAO,UAAU;AAAA;AAAA;;;;;;AC5kBjB,QAAM,eAAe;AACrB,QAAM,WAAW;AAEjB,QAAM,gBAAgB,OAAO,cAAc,cAAc,QAAQ,UAAU,YAAY;AAEvF,QAAM,MAAM,OAAO,UAAU;AAC7B,QAAM,iBAAiB;MAAC,SAAS,gBAAgB,MAAQ;IAAlC;AAEvB,WAAO,UAAU,SAAA,MAAQ;AACvB,UAAM,UACJ,OAAO,SAAS,WACZ,aAAa;QAAC,KAAK;MAAN,GAAa,cAAd,IACZ,aAAa,CAAA,GAAI,gBAAgB,IAArB;AAGlB,UAAM,MAAM,SACV,QAAQ,KACR,CAAA,GACA,IAHkB;AAOpB,cAAQ,UAAU,iBAAiB,QAAQ,OAAT;AAGlC,UAAI,QAAQ,OAAO;AACjB,YAAI,QAAQ,aAAa,CAAA,GAAI,IAAI,OAAO,gBAAgB,QAAQ,KAAT,CAA/B;MACzB;AAGD,cAAQ,SACN,QAAQ,QAAQ,CAAC,QAAQ,SAAS,SAAU,SAAQ,UAAU,OAAO,YAA1B;AAG7C,cAAQ,MAAM,IAAI,SAAS,oBAAb;AAEd,aAAO;IACR;AAED,kCAA8B,KAAK;AACjC,UAAM,QAAQ,CAAA;AACd,eAAW,OAAO,KAAK;AACrB,YAAI,IAAI,KAAK,KAAK,GAAd,GAAoB;AACtB,eAAK,KAAK,IAAI,IAAV;QACL;MACF;AAED,aAAO,MAAM,SAAS,MAAM,KAAK,GAAX,IAAkB;AAExC,oBAAc,MAAK,KAAK;AACtB,YAAI,MAAM,QAAQ,GAAd,GAAoB;AACtB,cAAI,QAAQ,SAAA,MAAI;AAAA,mBAAI,KAAK,MAAK,IAAN;UAAR,CAAhB;QACD,OAAM;AACL,gBAAM,KAAK,CAAC,MAAK,GAAN,EAAW,IAAI,kBAAf,EAAmC,KAAK,GAAxC,CAAX;QACD;MACF;IACF;AAED,8BAA0B,MAAM;AAC9B,UAAI,SAAS,SAAS,SAAS,GAAG;AAChC,eAAO;MACR;AAED,UAAI,KAAK,WAAW,KAAK,QAAQ;AAC/B,eAAO;MACR;AAED,UAAM,QAAQ,OAAO,IAAD;AACpB,UAAI,MAAM,KAAD,GAAS;AAChB,eAAO,iBAAiB,eAAe,OAAhB;MACxB;AAED,aAAO;QAAC,SAAS;QAAO,QAAQ;MAAzB;IACR;AAED,6BAAyB,KAAK;AAC5B,UAAM,SAAS,CAAA;AACf,eAAW,OAAO,KAAK;AACrB,YAAI,IAAI,SAAS,QAAW;AAC1B,iBAAO,OAAO,IAAI;QACnB;MACF;AACD,aAAO;IACR;;;;;;;;ACnFD,QAAM,WAAW;AAEjB,WAAO,UAAU,SAAA,SAAW;AAC1B,UAAI,CAAC,SAAS,KAAK,QAAQ,GAAtB,GAA4B;AAC/B,cAAM,IAAI,MAAJ,IAAA,OAAc,QAAQ,KAAtB,sBAAA,CAAA;MACP;IACF;;;;;ACND;AAAA;AAAA;AAMA,QAAI,QAAQ;AAEZ,WAAO,UAAU;AAAA,MACb;AAAA,MACA,OAAO,SAAS,KAAK;AACjB,YAAI,QAAQ,MAAM,KAAK,GAAG;AAC1B,YAAI,CAAC,OAAO;AACR,iBAAO,CAAC;AAAA,QACZ;AAEA,eAAO;AAAA,UACH,UAAW,OAAM,MAAM,IAAI,YAAY,KAAK;AAAA,UAC5C,UAAW,OAAM,MAAM,IAAI,YAAY,KAAK;AAAA,UAC5C,MAAM,MAAM,MAAM;AAAA,QACtB;AAAA,MACJ;AAAA,IACJ;AAAA;AAAA;;;ACtBA;AAAA;AAAA;AAEA,QAAI,MAAM;AAEV,WAAO,UAAU,SAAS,MAAM,MAAM,QAAQ;AAC1C,UAAI,SAAS,MAAM;AACf,eAAO;AAAA,MACX;AAEA,UAAI,OAAO,IAAI,MAAM,MAAM,OAAO,IAAI;AACtC,UAAI,OAAO,IAAI,MAAM,MAAM,OAAO,IAAI;AAEtC,UAAI,WAAW,KAAK,OAAK,KAAM,MAAK,aAAa,UAAU,MAAM;AACjE,UAAI,WAAW,KAAK,OAAK,KAAM,MAAK,aAAa,UAAU,MAAM;AAEjE,UAAI,QAAQ;AAAA,QACR,OAAO,KAAK,aAAa,KAAK;AAAA,QAC9B,UAAU,KAAK,aAAa,KAAK;AAAA,QACjC,MAAM,aAAa;AAAA,MACvB;AAEA,aAAS,MAAM,SAAS,MAAM,YAAc,OAAM,QAAQ;AAAA,IAC9D;AAAA;AAAA;;;ACtBA;AAAA;AAAA,QAAI,OAAO,SAAS,QAAQ;AAC1B,aAAO,OAAO,QAAQ,cAAc,EAAE;AAAA,IACxC;AAFA,QAGI,UAAU,SAAS,KAAK;AACtB,aAAO,OAAO,UAAU,SAAS,KAAK,GAAG,MAAM;AAAA,IACjD;AAEJ,WAAO,UAAU,SAAU,SAAS;AAClC,UAAI,CAAC;AACH,eAAO,CAAC;AAEV,UAAI,SAAS,CAAC;AAEd,UAAI,aAAa,KAAK,OAAO,EAAE,MAAM,IAAI;AAEzC,eAAS,IAAI,GAAG,IAAI,WAAW,QAAQ,KAAK;AAC1C,YAAI,MAAM,WAAW;AACrB,YAAI,QAAQ,IAAI,QAAQ,GAAG,GACzB,MAAM,KAAK,IAAI,MAAM,GAAG,KAAK,CAAC,EAAE,YAAY,GAC5C,QAAQ,KAAK,IAAI,MAAM,QAAQ,CAAC,CAAC;AAEnC,YAAI,OAAO,OAAO,SAAU,aAAa;AACvC,iBAAO,OAAO;AAAA,QAChB,WAAW,QAAQ,OAAO,IAAI,GAAG;AAC/B,iBAAO,KAAK,KAAK,KAAK;AAAA,QACxB,OAAO;AACL,iBAAO,OAAO,CAAE,OAAO,MAAM,KAAM;AAAA,QACrC;AAAA,MACF;AAEA,aAAO;AAAA,IACT;AAAA;AAAA;;;;;;AC5BA,wBAAoB;AAClB,WAAK,aAAa;IACnB;AACD,aAAS,UAAU,OAAO,SAAS,QAAQ,KAAK;AAC9C,WAAK,UAAU;AACf,WAAK,OAAO;AACZ,WAAK,cAAc;AACnB,WAAK,aAAa;AAClB,WAAK,mBAAL;IACD;AACD,aAAS,UAAU,QAAQ,WAAW;AACpC,UAAI,KAAK,aAAa;AACpB,aAAK,YAAY,MAAjB;MACD;IACF;AACD,aAAS,UAAU,wBAAwB,WAAW;AACpD,aAAO,KAAK;IACb;AACD,aAAS,UAAU,mBAAmB,SAAS,KAAK,OAAO;AACzD,WAAK,WAAW,KAAK,YAAY,CAAA;AACjC,WAAK,SAAS,OAAO;IACtB;AACD,aAAS,UAAU,OAAO,SAAS,MAAM;AAAA,UAAA,QAAA;AAEvC,UAAM,OAAQ,KAAK,cAAc,OAAO,oBAAoB,cAAc,IAAI,gBAAJ;AAC1E,UAAM,WAAW,KAAK,iBAAiB;AACvC,UAAM,UAAU;QACd,QAAQ,KAAK;QACb,SAAS,KAAK;QACd,QAAQ,QAAQ,KAAK;QACrB;MAJc;AAUhB,UAAI,OAAO,WAAW,aAAa;AACjC,gBAAQ,cAAc,KAAK,kBAAkB,YAAY;MAC1D;AAED,YAAM,KAAK,MAAM,OAAZ,EACF,KAAK,SAAA,KAAO;AACX,YAAI,QAAQ,QAAQ,SAAC,OAAO,KAAQ;AAClC,gBAAK,eAAL,GAAA,OAAuB,KAAvB,IAAA,EAAA,OAA+B,OAA/B,MAAA;QACD,CAFD;AAGA,cAAK,SAAS,IAAI;AAClB,cAAK,aAAa,IAAI;AACtB,cAAK,aAAa;AAClB,eAAO,WAAW,IAAI,KAAJ,IAAa,IAAI,YAAJ;MAChC,CATH,EAUG,KAAK,SAAA,SAAW;AACf,YAAI,UAAU;AACZ,gBAAK,eAAe;QACrB,OAAM;AACL,gBAAK,WAAW;QACjB;AACD,cAAK,aAAa;AAClB,cAAK,mBAAL;MACD,CAlBH,EAmBG,MAAM,SAAA,KAAO;AACZ,YAAI,IAAI,SAAS,cAAc;AAC7B,gBAAK,QAAL;AACA;QACD;AAED,cAAK,QAAQ,GAAb;MACD,CA1BH;IA2BD;AAED,WAAO,UAAU;;;;;;;;ACvEjB,QAAM,aAAa;AACnB,QAAM,eAAe;AACrB,QAAM,WAAW;AAEjB,QAAM,OAAO,iBAAW;IAEvB;AAED,QAAM,MAAM,OAAO,WAAW,cAAc,SAAY;AACxD,QAAM,UAAU,MAAM,QAAQ;AAE9B,QAAI,iBAAiB,OAAO,mBAAmB,aAAa,iBAAiB;AAC7E,QAAM,UAAU,qBAAqB,IAAI,eAAJ;AAErC,QAAM,MAAM,OAAO,mBAAmB,cAAc,SAAY;AAChE,QAAI,qBAAqB,UAAU,iBAAiB;AAGpD,QAAI,CAAC,KAAK;AACR,uBAAiB;AACjB,2BAAqB;IACtB;AAED,WAAO,UAAU,SAAC,SAAS,UAAa;AACtC,UAAM,OAAO,QAAQ;AACrB,UAAM,UAAU,QAAQ,gBAAgB,mBAAmB,IAA3C;AAChB,UAAM,SAAS,CAAA;AAGf,UAAM,OAAO,OAAO,IAAI,YAAY,CAAC,WAAW,IAAI,SAAS,MAAM,QAAQ,GAA5B;AAG/C,UAAM,mBAAmB,QAAQ,gBAAgB,oBAAoB,QAAW;QAC9E;QACA;MAF8E,CAAvD;AAOzB,UAAI,kBAAkB;AACpB,YAAM,UAAU,WAAW,UAAU,GAAG,MAAM,gBAApB;AAC1B,YAAM,SAAS,mBAAA;AAAA,iBAAM,aAAa,OAAD;QAAlB;AACf,eAAO;UAAC,OAAO;QAAR;MACR;AAGD,UAAI,MAAM,OAAO,IAAI,mBAAJ,IAA2B,IAAI,eAAJ;AAE5C,UAAM,QAAQ,OAAO,IAAI,kBAAkB,eAAe,IAAI;AAC9D,UAAM,UAAU,QAAQ;AACxB,UAAM,SAAS,QAAQ;AAGvB,UAAI,UAAU;AACd,UAAI,SAAS;AACb,UAAI,WAAW;AAGf,UAAI,UAAU;AACd,UAAI,YAAY;AAChB,UAAI,UAAU,WAAM;AAClB,mBAAW,IAAD;AACV,kBAAU;MACX;AAGD,UAAI,aAAa,WAAM;MAEtB;AAED,UAAM,YAAY,QAAQ,WAAW;AACrC,UAAI,aAAa,WAAM;AAErB,oBAAW;AAEX,YAAI,WAAY,IAAI,eAAe,KAAK,CAAC,OAAQ;AAC/C;QACD;AAGD,YAAI,IAAI,WAAW,GAAG;AACpB;QACD;AAED,eAAM;MACP;AAGD,UAAI,KACF,QAAQ,QACR,QAAQ,KACR,IAHF;AAOA,UAAI,kBAAkB,CAAC,CAAC,QAAQ;AAGhC,UAAI,WAAW,IAAI,kBAAkB;AACnC,iBAAW,OAAO,SAAS;AACzB,cAAI,QAAQ,eAAe,GAAvB,GAA6B;AAC/B,gBAAI,iBAAiB,KAAK,QAAQ,IAAlC;UACD;QACF;MACF,WAAU,WAAW,OAAO;AAC3B,cAAM,IAAI,MAAM,mDAAV;MACP;AAED,UAAI,QAAQ,SAAS;AACnB,YAAI,eAAe;MACpB;AAGD,cAAQ,gBAAgB,aAAa;QAAC;QAAS;QAAS,SAAS;QAAK;MAAjC,CAArC;AAEA,UAAI,KAAK,QAAQ,QAAQ,IAAzB;AAGA,UAAI,QAAQ;AACV,eAAO,UAAU,WAAW,WAAA;AAAA,iBAAM,eAAe,WAAD;QAApB,GAAmC,OAAO,OAA3C;MAC5B;AAED,aAAO;QAAC;MAAD;AAEP,uBAAiB;AACf,kBAAU;AAEV,YAAI,KAAK;AACP,cAAI,MAAJ;QACD;MACF;AAED,8BAAwB,MAAM;AAC5B,mBAAW;AACX,YAAI,MAAJ;AACA,YAAM,QAAQ,IAAI,MAChB,SAAS,oBAAT,kCAAA,OACsC,QAAQ,GAD9C,IAAA,sCAAA,OAE0C,QAAQ,GAFlD,CADY;AAKd,cAAM,OAAO;AACb,gBAAQ,SAAS,MAAM,QAAQ,KAA/B;MACD;AAED,6BAAuB;AACrB,YAAI,CAAC,QAAQ;AACX;QACD;AAED,mBAAU;AACV,eAAO,SAAS,WAAW,WAAA;AAAA,iBAAM,eAAe,iBAAD;QAApB,GAAyC,OAAO,MAAjD;MAC3B;AAED,0BAAoB,OAAO;AAEzB,YAAI,SAAS,WAAY,IAAI,cAAc,KAAK,OAAO,SAAU;AAC/D,uBAAa,OAAO,OAAR;QACb;AAED,YAAI,OAAO,QAAQ;AACjB,uBAAa,OAAO,MAAR;QACb;MACF;AAED,uBAAiB,OAAO;AACtB,YAAI,QAAQ;AACV;QACD;AAGD,mBAAW,IAAD;AACV,iBAAS;AACT,cAAM;AAIN,YAAM,MAAM,SAAS,IAAI,MAAJ,2CAAA,OAAqD,QAAQ,GAA7D,CAAA;AACrB,YAAI,iBAAiB;AACrB,YAAI,UAAU;AACd,iBAAS,GAAD;MACT;AAED,gCAA0B;AACxB,YAAI,aAAa,IAAI;AACrB,YAAI,gBAAgB,IAAI;AAExB,YAAI,SAAS,eAAe,QAAW;AAErC,uBAAa;QACd,WAAU,aAAa,QAAS,aAAa,OAAO;AAGnD,iBAAO,QAAO;QACf,OAAM;AAEL,uBAAa,IAAI,WAAW,OAAO,MAAM,IAAI;AAC7C,0BAAgB,IAAI,WAAW,OAAO,eAAe;QACtD;AAED,eAAO;UACL,MAAM,IAAI,YAAY,IAAI;UAC1B,KAAK,QAAQ;UACb,QAAQ,QAAQ;UAChB,SAAS,QAAQ,CAAA,IAAK,aAAa,IAAI,sBAAJ,CAAD;UAClC;UACA;QANK;MAQR;AAED,wBAAkB;AAChB,YAAI,WAAW,UAAU,UAAU;AACjC;QACD;AAED,YAAI,IAAI,WAAW,GAAG;AACpB,kBAAQ,IAAI,MAAM,mBAAV,CAAD;AACP;QACD;AAGD,mBAAU;AACV,iBAAS;AACT,iBAAS,MAAM,eAAc,CAArB;MACT;IACF;;;;;;;;ACjOD,WAAO,UAAU;;;;;;;;ACAjB,QAAM,SAAS;AACf,QAAM,oBAAoB;AAC1B,QAAM,iBAAiB;AACvB,QAAM,kBAAkB;AACxB,QAAM,gBAAgB;AAEtB,QAAM,eAAe,CAAC,WAAW,YAAY,YAAY,SAAS,OAA7C;AACrB,QAAM,cAAc,CAClB,kBACA,mBACA,oBACA,mBACA,aACA,cACA,WACA,YACA,WATkB;AAYpB,WAAO,UAAU,2BAA2E;AAAA,UAAlD,iBAAkD,UAAA,SAAA,KAAA,UAAA,OAAA,SAAA,UAAA,KAAjC,CAAA;AAAiC,UAA7B,cAA6B,UAAA,SAAA,KAAA,UAAA,OAAA,SAAA,UAAA,KAAf;AAC3E,UAAM,mBAAmB,CAAA;AACzB,UAAM,aAAa,YAAY,OAC7B,SAAC,MAAM,MAAS;AACd,aAAK,QAAQ,KAAK,SAAS,CAAA;AAC3B,eAAO;MACR,GACD;QACE,gBAAgB,CAAC,cAAD;QAChB,iBAAiB,CAAC,eAAD;MAFnB,CALiB;AAWnB,uBAAiB,MAAM;AACrB,YAAM,WAAW,aAAa,OAAO,SAAC,QAAQ,MAAS;AACrD,iBAAO,QAAQ,OAAM;AACrB,iBAAO;QACR,GAAE,CAAA,CAHc;AAMjB,YAAM,kBAAkB,kBAAkB,UAAD;AAGzC,YAAM,UAAU,gBAAgB,kBAAkB,IAAnB;AAG/B,wBAAgB,mBAAmB,OAApB;AAGf,YAAM,UAAU;UAAC;UAAS;UAAU;QAApB;AAKhB,YAAI,iBAAiB;AACrB,YAAM,cAAc,SAAS,QAAQ,UAAU,SAAA,KAAO;AAEpD,2BAAiB,YAAY,KAAK,SAAC,KAAK,KAAN;AAAA,mBAAc,WAAW,KAAK,KAAK,GAAX;UAAxB,CAAN;QAC7B,CAHmB;AAOpB,iBAAS,MAAM,UAAU,WAAM;AAC7B,sBAAW;AACX,cAAI,gBAAgB;AAClB,2BAAe,MAAf;UACD;QACF,CALD;AASA,YAAM,cAAc,gBAAgB,YAAY,UAAU,OAAvB;AAKnC,YAAI,gBAAgB,UAAU;AAC5B,mBAAS,QAAQ,QAAQ,OAAzB;QACD;AAED,eAAO;AAEP,4BAAoB,QAAQ,KAAK,KAAK;AACpC,cAAI,QAAQ;AACZ,cAAI,WAAW;AAIf,cAAI,CAAC,OAAO;AACV,gBAAI;AACF,yBAAW,gBAAgB,cAAc,KAAK,GAApB;YAC3B,SAAQ,KAAP;AACA,yBAAW;AACX,sBAAQ;YACT;UACF;AAID,kBAAQ,SAAS,gBAAgB,WAAW,OAAO,GAAnB;AAGhC,cAAI,OAAO;AACT,qBAAS,MAAM,QAAQ,KAAvB;UACD,WAAU,UAAU;AACnB,qBAAS,SAAS,QAAQ,QAA1B;UACD;QACF;MACF;AAED,cAAQ,MAAM,aAAa,eAAe;AACxC,YAAI,CAAC,eAAe;AAClB,gBAAM,IAAI,MAAM,uDAAV;QACP;AAED,YAAI,OAAO,kBAAkB,YAAY;AACvC,gBAAM,IAAI,MACR,6FADI;QAGP;AAED,YAAI,cAAc,YAAY,WAAW,SAAS,SAAS,GAAG;AAC5D,gBAAM,IAAI,MACR,qHADI;QAGP;AAED,oBAAY,QAAQ,SAAA,KAAO;AACzB,cAAI,cAAc,MAAM;AACtB,uBAAW,KAAK,KAAK,cAAc,IAAnC;UACD;QACF,CAJD;AAMA,yBAAiB,KAAK,aAAtB;AACA,eAAO;MACR;AAED,cAAQ,QAAQ,iBAAiB;AAC/B,eAAO,gBAAgB,gBAAD;MACvB;AAED,qBAAe,QAAQ,QAAQ,GAA/B;AAEA,aAAO;IACR;;;;;AC/ID;AAAA;AAAA,WAAO,UAAU;AAAA;AAAA;;;;;;ACEjB,QAAI,OAAO,eAAe,aAAa;AACrC,aAAO,UAAU;IAClB,WAAU,OAAO,WAAW,aAAa;AACxC,aAAO,UAAU;IAClB,WAAU,OAAO,WAAW,aAAa;AACxC,aAAO,UAAU;IAClB,WAAU,OAAO,SAAS,aAAa;AACtC,aAAO,UAAU;IAClB,OAAM;AACL,aAAO,UAAU,CAAA;IAClB;;;;;;;;ACZD,QAAM,UAAS;AACf,QAAM,eAAe;AAErB,WAAO,UAAU,WAAe;AAAA,UAAd,OAAc,UAAA,SAAA,KAAA,UAAA,OAAA,SAAA,UAAA,KAAP,CAAA;AACvB,UAAM,aAAa,KAAK,kBAAkB,QAAO;AACjD,UAAI,CAAC,YAAY;AACf,cAAM,IAAI,MACR,iFADI;MAGP;AAED,aAAO;QACL,UAAU,kBAAC,UAAU,SAAX;AAAA,iBACR,IAAI,WAAW,SAAA,UAAY;AACzB,qBAAS,MAAM,UAAU,SAAA,KAAG;AAAA,qBAAI,SAAS,MAAM,GAAf;YAAJ,CAA5B;AACA,qBAAS,SAAS,UAAU,SAAA,OAAK;AAAA,qBAAI,SAAS,KAAK,aAAa;gBAAC,MAAM;cAAP,GAAoB,KAArB,CAA1B;YAAJ,CAAjC;AACA,qBAAS,SAAS,UAAU,SAAA,UAAY;AACtC,uBAAS,KAAK,aAAa;gBAAC,MAAM;cAAP,GAAoB,QAArB,CAA1B;AACA,uBAAS,SAAT;YACD,CAHD;AAKA,qBAAS,QAAQ,QAAQ,OAAzB;AACA,mBAAO,WAAA;AAAA,qBAAM,SAAS,MAAM,QAAf;YAAN;UACR,CAVD;QADQ;MADL;IAcR;;;;;ACzBD;AAAA;AAAA;AASA,WAAO,UAAU,kBAAkB,KAAK;AACtC,aAAO,OAAO,QAAQ,OAAO,QAAQ,YAAY,MAAM,QAAQ,GAAG,MAAM;AAAA,IAC1E;AAAA;AAAA;;;ACXA;AAAA;AAAA;AASA,QAAI,WAAW;AAEf,4BAAwB,GAAG;AACzB,aAAO,SAAS,CAAC,MAAM,QAClB,OAAO,UAAU,SAAS,KAAK,CAAC,MAAM;AAAA,IAC7C;AAEA,WAAO,UAAU,uBAAuB,GAAG;AACzC,UAAI,MAAK;AAET,UAAI,eAAe,CAAC,MAAM;AAAO,eAAO;AAGxC,aAAO,EAAE;AACT,UAAI,OAAO,SAAS;AAAY,eAAO;AAGvC,aAAO,KAAK;AACZ,UAAI,eAAe,IAAI,MAAM;AAAO,eAAO;AAG3C,UAAI,KAAK,eAAe,eAAe,MAAM,OAAO;AAClD,eAAO;AAAA,MACT;AAGA,aAAO;AAAA,IACT;AAAA;AAAA;;;;;;;;;;;;;;ACpCA,QAAM,eAAe;AACrB,QAAM,gBAAgB;AAEtB,QAAM,iBAAiB,CAAC,WAAW,UAAU,QAAtB;AACvB,QAAM,WAAW,mBAAA,KAAG;AAAA,aAClB,CAAC,CAAC,IAAI,eACN,OAAO,IAAI,YAAY,aAAa,cACpC,IAAI,YAAY,SAAS,GAAzB;IAHkB;AAKpB,WAAO,UAAU,WAAA;AAAA,aAAO;QACtB,gBAAgB,wBAAA,SAAW;AACzB,cAAM,OAAO,QAAQ;AACrB,cAAI,CAAC,MAAM;AACT,mBAAO;UACR;AAED,cAAM,WAAW,OAAO,KAAK,SAAS;AACtC,cAAM,kBACJ,CAAC,YACD,CAAC,SAAS,IAAD,KACR,gBAAe,QAAf,QAA8B,IAA9B,CAAA,MAAwC,MAAM,MAAM,QAAQ,IAAd,KAAuB,cAAc,IAAD;AAErF,cAAI,CAAC,iBAAiB;AACpB,mBAAO;UACR;AAED,iBAAO,aAAa,CAAA,GAAI,SAAS;YAC/B,MAAM,KAAK,UAAU,QAAQ,IAAvB;YACN,SAAS,aAAa,CAAA,GAAI,QAAQ,SAAS;cACzC,gBAAgB;YADyB,CAAtB;UAFU,CAAd;QAMpB;MAvBqB;IAAP;;;;;;;;ACTjB,QAAM,eAAe;AAErB,WAAO,UAAU,SAAA,MAAI;AAAA,aAAK;QACxB,YAAY,oBAAA,UAAY;AACtB,cAAM,cAAc,SAAS,QAAQ,mBAAmB;AACxD,cAAM,eAAgB,QAAQ,KAAK,SAAU,YAAY,QAAQ,kBAApB,MAA4C;AACzF,cAAI,CAAC,SAAS,QAAQ,CAAC,eAAe,CAAC,cAAc;AACnD,mBAAO;UACR;AAED,iBAAO,aAAa,CAAA,GAAI,UAAU;YAAC,MAAM,SAAS,SAAS,IAAV;UAAf,CAAf;QACpB;QAED,gBAAgB,wBAAA,SAAO;AAAA,iBACrB,aAAa,CAAA,GAAI,SAAS;YACxB,SAAS,aAAa;cAAC,QAAQ;YAAT,GAA8B,QAAQ,OAAvC;UADG,CAAd;QADS;MAXC;IAAL;AAiBrB,sBAAkB,MAAM;AACtB,UAAI;AACF,eAAO,KAAK,MAAM,IAAX;MACR,SAAQ,KAAP;AACA,YAAI,UAAJ,2CAAA,OAAyD,IAAI,OAA7D;AACA,cAAM;MACP;IACF;;;;;;;;AC1BD,WAAO,UAAU,WAAA;AAAA,aAAO;QACtB,WAAW,mBAAA,KAAO;AAChB,cAAI,IAAI,YAAY,OAAO;AACzB;UACD;AAED,cAAM,MAAM,IAAI;AAChB,cAAM,UAAU,IAAI;AAEpB,cAAI,YAAY,OAAO,gBAAgB,IAAI,QAAQ;AACjD,gBAAI,OAAO,aAAa,eAAe,QAAD;UACvC;AAED,cAAI,gBAAgB,KAAK;AACvB,gBAAI,aAAa,eAAe,UAAD;UAChC;AAED,kCAAwB,OAAO;AAC7B,mBAAO,SAAA,OAAS;AACd,kBAAM,UAAU,MAAM,mBAAoB,MAAM,SAAS,MAAM,QAAS,MAAM;AAC9E,sBAAQ,SAAS,SAAS,QAAQ;gBAChC;gBACA;gBACA,OAAO,MAAM;gBACb,QAAQ,MAAM;gBACd,kBAAkB,MAAM;cALQ,CAAlC;YAOD;UACF;QACF;MA7BqB;IAAP;;;;;;;;ACAjB,WAAO,UAAU;;;;;ACAjB;AAAA;AAAA;AAMA,QAAI,YAAY,OAAO,YAAY,cAAc,QAAQ,YAAY;AACrE,QAAI,iBAAiB,OAAO;AAI5B,QAAI,oBAAoB,MAAM;AAC9B,QAAI,sBAAsB,QAAW;AACnC,0BAAoB,4BAA2B,OAAO;AACpD,YAAI,YAAY,IAAI,MAAM;AAE1B,uBAAe,OAAO,SAAS;AAAA,UAC7B,cAAc;AAAA,UACd,KAAK,oBAAoB;AACvB,gBAAI,QAAQ,UAAU;AAGtB,2BAAe,MAAM,SAAS;AAAA,cAC5B,cAAc;AAAA,cACd,OAAO;AAAA,cACP,UAAU;AAAA,YACZ,CAAC;AAED,mBAAO;AAAA,UACT;AAAA,UACA,KAAK,kBAAkB,OAAO;AAC5B,2BAAe,OAAO,SAAS;AAAA,cAC7B,cAAc;AAAA,cACd,OAAO;AAAA,cACP,UAAU;AAAA,YACZ,CAAC;AAAA,UACH;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IACF;AAIA,uBAAmB,SAAS;AAC1B,UAAI,YAAY,QAAW;AACzB,uBAAe,MAAM,WAAW;AAAA,UAC9B,cAAc;AAAA,UACd,OAAO;AAAA,UACP,UAAU;AAAA,QACZ,CAAC;AAAA,MACH;AAEA,UAAI,QAAQ,KAAK,YAAY;AAC7B,UAAI,UAAU,UAAa,UAAU,KAAK,MAAM;AAC9C,uBAAe,MAAM,QAAQ;AAAA,UAC3B,cAAc;AAAA,UACd,OAAO;AAAA,UACP,UAAU;AAAA,QACZ,CAAC;AAAA,MACH;AAEA,wBAAkB,MAAM,KAAK,WAAW;AAAA,IAC1C;AAEA,cAAU,YAAY,OAAO,OAAO,MAAM,WAAW;AAAA,MAEnD,aAAa;AAAA,QACX,cAAc;AAAA,QACd,OAAO;AAAA,QACP,UAAU;AAAA,MACZ;AAAA,IACF,CAAC;AAKD,QAAI,kBAAmB,WAAW;AAChC,gCAAyB,IAAI,MAAM;AACjC,eAAO,eAAe,IAAI,QAAQ;AAAA,UAChC,cAAc;AAAA,UACd,OAAO;AAAA,QACT,CAAC;AAAA,MACH;AACA,UAAI;AACF,YAAI,IAAI,WAAW;AAAA,QAAC;AACpB,yBAAgB,GAAG,KAAK;AACxB,YAAI,EAAE,SAAS,OAAO;AACpB,iBAAO;AAAA,QACT;AAAA,MACF,SAAS,GAAP;AAAA,MAAW;AAAA,IACf,EAAG;AAIH,uBAAmB,aAAa,QAAQ;AACtC,UAAI,UAAU,QAAQ,WAAW,OAAO;AACtC,iBAAS;AAAA,MACX,WAAW,OAAO,WAAW,YAAY;AACvC,cAAM,IAAI,UAAU,6BAA6B;AAAA,MACnD;AAEA,UAAI;AACJ,UAAI,OAAO,gBAAgB,UAAU;AACnC,eAAO;AACP,sBACE,cAAc,SACV,WAAW;AACT,iBAAO,UAAU,QAAQ,WAAW,KAAK,WAAW;AAAA,QACtD,IACA,WAAW;AACT,iBAAO,MAAM,MAAM,SAAS;AAAA,QAC9B;AAGN,YAAI,oBAAoB,QAAW;AACjC,0BAAgB,aAAa,IAAI;AACjC,iBAAO;AAAA,QACT;AAAA,MACF,WAAW,OAAO,gBAAgB,YAAY;AAC5C,cAAM,IAAI,UAAU,qDAAqD;AAAA,MAC3E;AAMA,kBAAY,SAAS,YAAY,WAAW;AAE5C,UAAI,aAAa;AAAA,QACf,aAAa;AAAA,UACX,cAAc;AAAA,UACd,OAAO;AAAA,UACP,UAAU;AAAA,QACZ;AAAA,MACF;AAIA,UAAI,SAAS,QAAW;AACtB,mBAAW,OAAO;AAAA,UAChB,cAAc;AAAA,UACd,OAAO;AAAA,UACP,UAAU;AAAA,QACZ;AAAA,MACF;AACA,kBAAY,YAAY,OAAO,OAAO,OAAO,WAAW,UAAU;AAElE,aAAO;AAAA,IACT;AACA,cAAU,OAAO,UAAU;AAC3B,YAAQ,YAAY;AAAA;AAAA;;;ACtJpB;AAAA;AAAA,QAAM,YAAY;AAClB,QAAM,SAAS;AAEf,yBAAqB,KAAK;AACxB,YAAM,QAAQ,kBAAkB,GAAG;AACnC,kBAAY,MAAM,KAAK,MAAM,MAAM,OAAO;AAC1C,aAAO,MAAM,KAAK;AAAA,IACpB;AAEA,yBAAqB,KAAK;AACxB,YAAM,QAAQ,kBAAkB,GAAG;AACnC,kBAAY,MAAM,KAAK,MAAM,MAAM,OAAO;AAC1C,aAAO,MAAM,KAAK;AAAA,IACpB;AAEA,+BAA2B,KAAK;AAC9B,YAAM,OAAO,IAAI;AACjB,YAAM,QAAQ;AAAA,QACZ,UAAU;AAAA,QACV,YAAY,IAAI;AAAA,QAChB,cAAc,cAAc,MAAM,GAAG;AAAA,MACvC;AAGA,UAAI,KAAK,SAAS,KAAK,SAAS;AAC9B,cAAM,UAAU,GAAG,KAAK,WAAW,KAAK;AACxC,eAAO;AAAA,MACT;AAGA,UAAI,KAAK,SAAS,KAAK,MAAM,aAAa;AACxC,cAAM,UAAU,KAAK,MAAM;AAC3B,cAAM,UAAU,KAAK;AACrB,eAAO;AAAA,MACT;AAGA,YAAM,UAAU,KAAK,SAAS,KAAK,WAAW,iBAAiB,GAAG;AAClE,aAAO;AAAA,IACT;AAEA,8BAA0B,KAAK;AAC7B,YAAM,gBAAgB,IAAI,gBAAgB,IAAI,IAAI,kBAAkB;AACpE,aAAO,GAAG,IAAI,qBAAqB,IAAI,wBAAwB,IAAI,aAAa;AAAA,IAClF;AAEA,2BAAuB,MAAM,KAAK;AAChC,YAAM,cAAe,KAAI,QAAQ,mBAAmB,IAAI,YAAY;AACpE,YAAM,SAAS,YAAY,QAAQ,kBAAkB,MAAM;AAC3D,aAAO,SAAS,KAAK,UAAU,MAAM,MAAM,CAAC,IAAI;AAAA,IAClD;AAEA,cAAU,WAAW;AACrB,cAAU,WAAW;AAErB,YAAQ,cAAc;AACtB,YAAQ,cAAc;AAAA;AAAA;;;ACxDtB;AAAA;AAAA,WAAO,UAAU,CAAC;AAAA;AAAA;;;ACAlB;AAAA;AACA,QAAM,QAAQ;AACd,QAAM,SAAS;AACf,QAAM,aAAa;AACnB,QAAM,cAAc;AACpB,QAAM,eAAe;AACrB,QAAM,WAAW;AACjB,QAAM,EAAC,eAAc;AACrB,QAAM,EAAC,aAAa,gBAAe;AAEnC,QAAM,YAAY;AAAA,MAChB,YAAY,CAAC,QAAQ;AACnB,YAAI,IAAI,cAAc,KAAK;AACzB,gBAAM,IAAI,YAAY,GAAG;AAAA,QAC3B,WAAW,IAAI,cAAc,KAAK;AAChC,gBAAM,IAAI,YAAY,GAAG;AAAA,QAC3B;AAEA,eAAO;AAAA,MACT;AAAA,IACF;AAEA,QAAM,gBAAgB;AAAA,MACpB,YAAY,CAAC,QAAQ;AACnB,cAAM,OAAO,IAAI,QAAQ;AACzB,cAAM,WAAW,MAAM,QAAQ,IAAI,IAAI,OAAO,CAAC,IAAI;AACnD,iBAAS,OAAO,OAAO,EAAE,QAAQ,CAAC,QAAQ,QAAQ,KAAK,GAAG,CAAC;AAC3D,eAAO;AAAA,MACT;AAAA,IACF;AAGA,QAAM,cAAc;AAEpB,QAAM,aAAa,YAAY,OAAO;AAAA,MACpC;AAAA,MACA,YAAY;AAAA,MACZ,aAAa;AAAA,MACb,SAAS;AAAA,MACT;AAAA,MACA,WAAW,EAAC,gBAAgB,WAAU,CAAC;AAAA,IACzC,CAAC;AAED,QAAM,UAAU,MAAM,UAAU;AAEhC,yBAAqB,SAAS,YAAY,SAAS;AACjD,aAAO,UAAU,OAAO,EAAC,cAAc,EAAC,GAAG,OAAO,CAAC;AAAA,IACrD;AAEA,gBAAY,mBAAmB;AAC/B,gBAAY,cAAc;AAC1B,gBAAY,cAAc;AAE1B,WAAO,UAAU;AAAA;AAAA;;;ACrDjB;AAAA;AAAA,QAAM,SAAS;AAEf,QAAM,gBAAgB;AAEtB,WAAO,UAAU,CAAC,QAAQ,YAAY,CAAC,MAAM;AAC3C,YAAM,UAAU,CAAC;AAEjB,YAAM,QAAQ,UAAU,SAAS,OAAO;AACxC,UAAI,OAAO;AACT,gBAAQ,gBAAgB,UAAU;AAAA,MACpC;AAEA,UAAI,CAAC,UAAU,gBAAgB,CAAC,OAAO,sBAAsB,OAAO,WAAW;AAC7E,gBAAQ,iBAAiB,OAAO;AAAA,MAClC;AAEA,YAAM,kBAAkB,QACtB,OAAO,UAAU,oBAAoB,cACjC,OAAO,SAAS,OAAO,kBACvB,UAAU,eAChB;AAEA,YAAM,UAAU,OAAO,UAAU,YAAY,cAAc,OAAO,UAAU,UAAU;AACtF,aAAO,OAAO,CAAC,GAAG,WAAW;AAAA,QAC3B,SAAS,OAAO,CAAC,GAAG,SAAS,UAAU,WAAW,CAAC,CAAC;AAAA,QACpD,SAAS,OAAO,YAAY,cAAc,IAAI,KAAK,MAAO;AAAA,QAC1D,OAAO,UAAU,SAAS,OAAO;AAAA,QACjC,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,IACH;AAAA;AAAA;;;;;;;;AC9BA,QAAM,IAAW;AAAA,eAEe,GAAsB;AAAA,aAC7C,IAAW;IAAA;AAAA,YAAA,kBAAA;;;;;ACHpB;AAAA;AAAA,WAAO,UAAU,CAAC,OAAO;AACvB,UAAI,UAAU;AACd,UAAI;AACJ,aAAO,IAAI,SAAS;AAClB,YAAI,SAAS;AACX,iBAAO;AAAA,QACT;AACA,sBAAc,GAAG,GAAG,IAAI;AACxB,kBAAU;AACV,eAAO;AAAA,MACT;AAAA,IACF;AAAA;AAAA;;;ACXA;AAAA;AAAA,QAAM,kBAAkB,gCAAqC;AAC7D,QAAM,OAAO;AAEb,QAAM,uBAAuB,CAAC,YAE5B,KAAK,IAAI,SAAS,QAAQ,KAAK,QAAQ,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC;AAE5D,YAAQ,kBAAkB,qBAAqB;AAAA,MAC7C;AAAA,MACA,+CAA+C,gBAAgB,6BAA6B;AAAA,MAC5F;AAAA,MACA;AAAA,IACF,CAAC;AAED,YAAQ,2BAA2B,qBAAqB;AAAA,MACtD;AAAA,MACA,OAAO,gBACL,yBACF;AAAA,IACF,CAAC;AAED,YAAQ,oCAAoC,qBAAqB;AAAA,MAC/D;AAAA,MACA,OAAO,gBAAgB,uBAAuB;AAAA,IAChD,CAAC;AAAA;AAAA;;;ACxBD;AAAA;AAAA,QAAM,kBAAkB,gCAAqC;AAC7D,QAAM,SAAS;AACf,QAAM,WAAW;AACjB,QAAM,WAAW;AAEjB,QAAM,iBAAiB;AACvB,QAAM,gBAAgB;AAAA,MACpB,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,oBAAoB;AAAA,MACpB,cAAc;AAAA,IAChB;AAEA,QAAM,aAAa,CAAC,aAAa,aAAa,SAAS;AACvD,QAAM,UAAU,CAAC,SAAS,WAAW,QAAQ,IAAI,MAAM;AAEvD,YAAQ,gBAAgB;AAGxB,YAAQ,aAAa,CAAC,QAAQ,eAAe;AAC3C,YAAM,kBAAkB,OAAO,CAAC,GAAG,YAAY,MAAM;AACrD,UAAI,CAAC,gBAAgB,YAAY;AAC/B,iBAAS,kCAAkC;AAAA,MAC7C;AAEA,YAAM,YAAY,OAAO,CAAC,GAAG,eAAe,eAAe;AAC3D,YAAM,eAAe,UAAU;AAE/B,UAAI,OAAO,YAAY,aAAa;AAClC,cAAM,UAAU,gBAAgB,4BAA4B;AAC5D,cAAM,IAAI,MAAM,iEAAiE,SAAS;AAAA,MAC5F;AAEA,UAAI,gBAAgB,CAAC,UAAU,WAAW;AACxC,cAAM,IAAI,MAAM,wCAAwC;AAAA,MAC1D;AAEA,YAAM,YAAY,OAAO,WAAW,eAAe,OAAO,YAAY,OAAO,SAAS;AACtF,YAAM,cAAc,aAAa,QAAQ,OAAO,SAAS,QAAQ;AAEjE,UAAI,aAAa,eAAe,UAAU,SAAS,UAAU,8BAA8B,MAAM;AAC/F,iBAAS,yBAAyB;AAAA,MACpC,WAAW,OAAO,UAAU,WAAW,aAAa;AAClD,iBAAS,gBAAgB;AAAA,MAC3B;AAEA,UAAI,cAAc;AAChB,iBAAS,UAAU,UAAU,SAAS;AAAA,MACxC;AAEA,UAAI,UAAU,SAAS;AACrB,iBAAS,QAAQ,UAAU,OAAO;AAAA,MACpC;AAEA,UAAI,sBAAsB,WAAW;AAEnC,kBAAU,mBAAmB,UAAU,mBACnC,SAAS,WAAW,UAAU,gBAAgB,EAAE,QAAQ,QAAQ,EAAE,IAClE;AAAA,MACN;AAEA,gBAAU,aAAa,GAAG,UAAU,aAAa,QAAQ,MAAM,EAAE;AACjE,gBAAU,eAAe,UAAU,YAAY,cAAc;AAC7D,gBAAU,SAAS,QAAQ,UAAU,MAAM,KAAK,CAAC,UAAU;AAE3D,cAAQ,mBAAmB,UAAU,UAAU;AAE/C,YAAM,YAAY,UAAU,QAAQ,MAAM,OAAO,CAAC;AAClD,YAAM,WAAW,UAAU;AAC3B,YAAM,OAAO,UAAU;AACvB,YAAM,UAAU,UAAU,eAAe,iBAAiB;AAE1D,UAAI,UAAU,oBAAoB;AAChC,kBAAU,MAAM,GAAG,cAAc,UAAU,aAAa,SAAS,UAAU;AAC3E,kBAAU,SAAS,GAAG,cAAc,UAAU,aAAa,YAAY,UAAU;AAAA,MACnF,OAAO;AACL,kBAAU,MAAM,GAAG,UAAU,YAAY,UAAU;AACnD,kBAAU,SAAS,UAAU;AAAA,MAC/B;AAEA,aAAO;AAAA,IACT;AAEA,YAAQ,qBAAqB,4BAA4B,YAAY;AACnE,UAAI,eAAe,OAAO,eAAe,KAAK;AAC5C;AAAA,MACF;AAEA,YAAM,UAAU,IAAI,KAAK,UAAU;AACnC,YAAM,kBACJ,sBAAsB,KAAK,UAAU,KAAK,mBAAmB,QAAQ,QAAQ,QAAQ,IAAI;AAE3F,UAAI,CAAC,iBAAiB;AACpB,cAAM,IAAI,MAAM,yEAAyE;AAAA,MAC3F;AAAA,IACF;AAAA;AAAA;;;AC/FA;AAAA;AAAA,QAAM,SAAS;AACf,QAAM,EAAC,YAAY,KAAK,WAAU;AAClC,QAAM,QAAQ;AACd,QAAM,cAAc;AACpB,QAAM,cAAc;AACpB,QAAM,iBAAiB;AACvB,QAAM,iBAAiB;AACvB,QAAM,eAAe;AACrB,QAAM,cAAc;AACpB,QAAM,aAAa;AACnB,QAAM,cAAc;AACpB,QAAM,oBAAoB;AAC1B,QAAM,EAAC,eAAe,eAAc;AACpC,QAAM,WAAW;AAEjB,QAAM,YAAY,CAAC,eAAe,WAAW,UAAU;AAEvD,0BAAsB,SAAS,eAAe;AAC5C,UAAI,CAAE,iBAAgB,eAAe;AACnC,eAAO,IAAI,aAAa,MAAM;AAAA,MAChC;AAEA,WAAK,OAAO,MAAM;AAElB,WAAK,SAAS,IAAI,aAAa,IAAI;AACnC,WAAK,WAAW,IAAI,eAAe,IAAI;AACvC,WAAK,WAAW,IAAI,eAAe,IAAI;AACvC,WAAK,QAAQ,IAAI,YAAY,IAAI;AACjC,WAAK,OAAO,IAAI,WAAW,IAAI;AAE/B,UAAI,KAAK,aAAa,cAAc;AAClC,cAAM,mBAAmB,OAAO,CAAC,GAAG,KAAK,cAAc,EAAC,cAAc,MAAK,CAAC;AAC5E,aAAK,aAAa,IAAI,aAAa,gBAAgB;AAAA,MACrD;AAAA,IACF;AAEA,WAAO,aAAa,WAAW,WAAW;AAC1C,WAAO,aAAa,WAAW;AAAA,MAC7B,QAAQ;AACN,eAAO,IAAI,aAAa,KAAK,OAAO,CAAC;AAAA,MACvC;AAAA,MAEA,OAAO,WAAW;AAChB,YAAI,OAAO,cAAc,aAAa;AACpC,iBAAO,OAAO,CAAC,GAAG,KAAK,YAAY;AAAA,QACrC;AAEA,YAAI,KAAK,YAAY;AACnB,gBAAM,mBAAmB,OAAO,CAAC,GAAG,WAAW,EAAC,cAAc,MAAK,CAAC;AACpE,eAAK,WAAW,OAAO,gBAAgB;AAAA,QACzC;AAEA,aAAK,eAAe,WAAW,WAAW,KAAK,gBAAgB,CAAC,CAAC;AACjE,eAAO;AAAA,MACT;AAAA,MAEA,WAAW,WAAW;AACpB,eAAO,KAAK,MAAM,EAAE,OAAO,SAAS;AAAA,MACtC;AAAA,MAEA,OAAO,KAAK,SAAS,OAAO;AAC1B,cAAM,OAAO,SAAS,KAAK,aAAa,SAAS,KAAK,aAAa;AACnE,eAAO,GAAG,QAAQ,IAAI,QAAQ,OAAO,EAAE;AAAA,MACzC;AAAA,MAEA,eAAe;AACb,eAAO,KAAK,aAAa;AAAA,MAC3B;AAAA,MAEA,mBAAmB,SAAS;AAC1B,cAAM,MAAM,QAAQ,OAAO,QAAQ;AAInC,cAAM,YACJ,OAAO,QAAQ,cAAc,cACzB,CAAC,OAAO,MAAM,EAAE,QAAQ,QAAQ,UAAU,KAAK,KAAK,KAAK,IAAI,QAAQ,QAAQ,MAAM,IACnF,QAAQ;AAEd,cAAM,SAAS,KAAK,aAAa,UAAU;AAE3C,cAAM,MACJ,QAAQ,OAAO,KAAK,aAAa,mBAC7B,CAAC,KAAK,aAAa,kBAAkB,QAAQ,GAAG,EAAE,KAAK,GAAG,IAC1D,QAAQ,OAAO,KAAK,aAAa;AAEvC,YAAI,KAAK;AACP,kBAAQ,QAAQ,EAAC,KAAK,SAAS,WAAW,GAAG,GAAG,GAAG,QAAQ,MAAK;AAAA,QAClE;AAEA,cAAM,aAAa,kBACjB,KAAK,cACL,OAAO,CAAC,GAAG,SAAS;AAAA,UAClB,KAAK,KAAK,OAAO,KAAK,MAAM;AAAA,QAC9B,CAAC,CACH;AAEA,eAAO,IAAI,WAAW,CAAC,eACrB,YAAY,YAAY,KAAK,aAAa,SAAS,EAAE,UAAU,UAAU,CAC3E;AAAA,MACF;AAAA,MAEA,QAAQ,SAAS;AACf,cAAM,aAAa,KAAK,mBAAmB,OAAO,EAAE,KAClD,OAAO,CAAC,UAAU,MAAM,SAAS,UAAU,GAC3C,IAAI,CAAC,UAAU,MAAM,IAAI,CAC3B;AAEA,eAAO,KAAK,aAAa,IAAI,UAAU,UAAU,IAAI;AAAA,MACvD;AAAA,IACF,CAAC;AAED,iBAAa,QAAQ;AACrB,iBAAa,cAAc;AAC3B,iBAAa,cAAc,YAAY;AACvC,iBAAa,cAAc,YAAY;AACvC,iBAAa,YAAY,YAAY;AAErC,WAAO,UAAU;AAAA;AAAA;",
|
|
3
|
+
"sources": ["../src/util/observable.js", "../src/util/getSelection.js", "../src/validators.js", "../src/data/patch.js", "../src/data/transaction.js", "../src/data/encodeQueryString.js", "../src/util/pick.js", "../src/util/defaults.js", "../src/data/listen.js", "../src/data/dataMethods.js", "../src/datasets/datasetsClient.js", "../src/projects/projectsClient.js", "../src/http/queryString.js", "../src/assets/assetsClient.js", "../src/users/usersClient.js", "../src/auth/authClient.js", "../src/http/errors.js", "../src/http/browserMiddleware.js", "../src/http/request.js", "../src/http/requestOptions.js", "../src/generateHelpUrl.js", "../src/util/once.js", "../src/warnings.js", "../src/config.js", "../src/sanityClient.js"],
|
|
4
|
+
"sourcesContent": ["// Since `@sanity/client` doesn't offer ESM exports (yet) const {filter} = require('rxjs/operators') will cause the the whole of rxjs to be included in the bundle.\n// The internal import paths here is a stop-gap measure and will become less of a problem when @sanity/client export tree-shakeable esm bundles\nconst {Observable} = require('rxjs/internal/Observable')\nconst {filter} = require('rxjs/internal/operators/filter')\nconst {map} = require('rxjs/internal/operators/map')\n\nmodule.exports = {\n Observable,\n filter,\n map,\n}\n", "module.exports = function getSelection(sel) {\n if (typeof sel === 'string' || Array.isArray(sel)) {\n return {id: sel}\n }\n\n if (sel && sel.query) {\n return 'params' in sel ? {query: sel.query, params: sel.params} : {query: sel.query}\n }\n\n const selectionOpts = [\n '* Document ID (<docId>)',\n '* Array of document IDs',\n '* Object containing `query`',\n ].join('\\n')\n\n throw new Error(`Unknown selection - must be one of:\\n\\n${selectionOpts}`)\n}\n", "const VALID_ASSET_TYPES = ['image', 'file']\nconst VALID_INSERT_LOCATIONS = ['before', 'after', 'replace']\n\nexports.dataset = (name) => {\n if (!/^(~[a-z0-9]{1}[-\\w]{0,63}|[a-z0-9]{1}[-\\w]{0,63})$/.test(name)) {\n throw new Error(\n 'Datasets can only contain lowercase characters, numbers, underscores and dashes, and start with tilde, and be maximum 64 characters'\n )\n }\n}\n\nexports.projectId = (id) => {\n if (!/^[-a-z0-9]+$/i.test(id)) {\n throw new Error('`projectId` can only contain only a-z, 0-9 and dashes')\n }\n}\n\nexports.validateAssetType = (type) => {\n if (VALID_ASSET_TYPES.indexOf(type) === -1) {\n throw new Error(`Invalid asset type: ${type}. Must be one of ${VALID_ASSET_TYPES.join(', ')}`)\n }\n}\n\nexports.validateObject = (op, val) => {\n if (val === null || typeof val !== 'object' || Array.isArray(val)) {\n throw new Error(`${op}() takes an object of properties`)\n }\n}\n\nexports.requireDocumentId = (op, doc) => {\n if (!doc._id) {\n throw new Error(`${op}() requires that the document contains an ID (\"_id\" property)`)\n }\n\n exports.validateDocumentId(op, doc._id)\n}\n\nexports.validateDocumentId = (op, id) => {\n if (typeof id !== 'string' || !/^[a-z0-9_.-]+$/i.test(id)) {\n throw new Error(`${op}(): \"${id}\" is not a valid document ID`)\n }\n}\n\nexports.validateInsert = (at, selector, items) => {\n const signature = 'insert(at, selector, items)'\n if (VALID_INSERT_LOCATIONS.indexOf(at) === -1) {\n const valid = VALID_INSERT_LOCATIONS.map((loc) => `\"${loc}\"`).join(', ')\n throw new Error(`${signature} takes an \"at\"-argument which is one of: ${valid}`)\n }\n\n if (typeof selector !== 'string') {\n throw new Error(`${signature} takes a \"selector\"-argument which must be a string`)\n }\n\n if (!Array.isArray(items)) {\n throw new Error(`${signature} takes an \"items\"-argument which must be an array`)\n }\n}\n\nexports.hasDataset = (config) => {\n if (!config.dataset) {\n throw new Error('`dataset` must be provided to perform queries')\n }\n\n return config.dataset || ''\n}\n\nexports.requestTag = (tag) => {\n if (typeof tag !== 'string' || !/^[a-z0-9._-]{1,75}$/i.test(tag)) {\n throw new Error(\n `Tag can only contain alphanumeric characters, underscores, dashes and dots, and be between one and 75 characters long.`\n )\n }\n\n return tag\n}\n", "const assign = require('object-assign')\nconst getSelection = require('../util/getSelection')\nconst validate = require('../validators')\nconst validateObject = validate.validateObject\nconst validateInsert = validate.validateInsert\n\nfunction Patch(selection, operations = {}, client = null) {\n this.selection = selection\n this.operations = assign({}, operations)\n this.client = client\n}\n\nassign(Patch.prototype, {\n clone() {\n return new Patch(this.selection, assign({}, this.operations), this.client)\n },\n\n set(props) {\n return this._assign('set', props)\n },\n\n diffMatchPatch(props) {\n validateObject('diffMatchPatch', props)\n return this._assign('diffMatchPatch', props)\n },\n\n unset(attrs) {\n if (!Array.isArray(attrs)) {\n throw new Error('unset(attrs) takes an array of attributes to unset, non-array given')\n }\n\n this.operations = assign({}, this.operations, {unset: attrs})\n return this\n },\n\n setIfMissing(props) {\n return this._assign('setIfMissing', props)\n },\n\n replace(props) {\n validateObject('replace', props)\n return this._set('set', {$: props}) // eslint-disable-line id-length\n },\n\n inc(props) {\n return this._assign('inc', props)\n },\n\n dec(props) {\n return this._assign('dec', props)\n },\n\n insert(at, selector, items) {\n validateInsert(at, selector, items)\n return this._assign('insert', {[at]: selector, items})\n },\n\n append(selector, items) {\n return this.insert('after', `${selector}[-1]`, items)\n },\n\n prepend(selector, items) {\n return this.insert('before', `${selector}[0]`, items)\n },\n\n splice(selector, start, deleteCount, items) {\n // Negative indexes doesn't mean the same in Sanity as they do in JS;\n // -1 means \"actually at the end of the array\", which allows inserting\n // at the end of the array without knowing its length. We therefore have\n // to substract negative indexes by one to match JS. If you want Sanity-\n // behaviour, just use `insert('replace', selector, items)` directly\n const delAll = typeof deleteCount === 'undefined' || deleteCount === -1\n const startIndex = start < 0 ? start - 1 : start\n const delCount = delAll ? -1 : Math.max(0, start + deleteCount)\n const delRange = startIndex < 0 && delCount >= 0 ? '' : delCount\n const rangeSelector = `${selector}[${startIndex}:${delRange}]`\n return this.insert('replace', rangeSelector, items || [])\n },\n\n ifRevisionId(rev) {\n this.operations.ifRevisionID = rev\n return this\n },\n\n serialize() {\n return assign(getSelection(this.selection), this.operations)\n },\n\n toJSON() {\n return this.serialize()\n },\n\n commit(options = {}) {\n if (!this.client) {\n throw new Error(\n 'No `client` passed to patch, either provide one or pass the ' +\n 'patch to a clients `mutate()` method'\n )\n }\n\n const returnFirst = typeof this.selection === 'string'\n const opts = assign({returnFirst, returnDocuments: true}, options)\n return this.client.mutate({patch: this.serialize()}, opts)\n },\n\n reset() {\n this.operations = {}\n return this\n },\n\n _set(op, props) {\n return this._assign(op, props, false)\n },\n\n _assign(op, props, merge = true) {\n validateObject(op, props)\n this.operations = assign({}, this.operations, {\n [op]: assign({}, (merge && this.operations[op]) || {}, props),\n })\n return this\n },\n})\n\nmodule.exports = Patch\n", "const assign = require('object-assign')\nconst validators = require('../validators')\nconst Patch = require('./patch')\n\nconst defaultMutateOptions = {returnDocuments: false}\n\nfunction Transaction(operations = [], client, transactionId) {\n this.trxId = transactionId\n this.operations = operations\n this.client = client\n}\n\nassign(Transaction.prototype, {\n clone() {\n return new Transaction(this.operations.slice(0), this.client, this.trxId)\n },\n\n create(doc) {\n validators.validateObject('create', doc)\n return this._add({create: doc})\n },\n\n createIfNotExists(doc) {\n const op = 'createIfNotExists'\n validators.validateObject(op, doc)\n validators.requireDocumentId(op, doc)\n return this._add({[op]: doc})\n },\n\n createOrReplace(doc) {\n const op = 'createOrReplace'\n validators.validateObject(op, doc)\n validators.requireDocumentId(op, doc)\n return this._add({[op]: doc})\n },\n\n delete(documentId) {\n validators.validateDocumentId('delete', documentId)\n return this._add({delete: {id: documentId}})\n },\n\n patch(documentId, patchOps) {\n const isBuilder = typeof patchOps === 'function'\n const isPatch = documentId instanceof Patch\n\n // transaction.patch(client.patch('documentId').inc({visits: 1}))\n if (isPatch) {\n return this._add({patch: documentId.serialize()})\n }\n\n // patch => patch.inc({visits: 1}).set({foo: 'bar'})\n if (isBuilder) {\n const patch = patchOps(new Patch(documentId, {}, this.client))\n if (!(patch instanceof Patch)) {\n throw new Error('function passed to `patch()` must return the patch')\n }\n\n return this._add({patch: patch.serialize()})\n }\n\n return this._add({patch: assign({id: documentId}, patchOps)})\n },\n\n transactionId(id) {\n if (!id) {\n return this.trxId\n }\n\n this.trxId = id\n return this\n },\n\n serialize() {\n return this.operations.slice()\n },\n\n toJSON() {\n return this.serialize()\n },\n\n commit(options) {\n if (!this.client) {\n throw new Error(\n 'No `client` passed to transaction, either provide one or pass the ' +\n 'transaction to a clients `mutate()` method'\n )\n }\n\n return this.client.mutate(\n this.serialize(),\n assign({transactionId: this.trxId}, defaultMutateOptions, options || {})\n )\n },\n\n reset() {\n this.operations = []\n return this\n },\n\n _add(mut) {\n this.operations.push(mut)\n return this\n },\n})\n\nmodule.exports = Transaction\n", "const enc = encodeURIComponent\n\nmodule.exports = ({query, params = {}, options = {}}) => {\n // We generally want tag at the start of the query string\n const {tag, ...opts} = options\n const q = `query=${enc(query)}`\n const base = tag ? `?tag=${enc(tag)}&${q}` : `?${q}`\n\n const qString = Object.keys(params).reduce(\n (qs, param) => `${qs}&${enc(`$${param}`)}=${enc(JSON.stringify(params[param]))}`,\n base\n )\n\n return Object.keys(opts).reduce((qs, option) => {\n // Only include the option if it is truthy\n return options[option] ? `${qs}&${enc(option)}=${enc(options[option])}` : qs\n }, qString)\n}\n", "module.exports = (obj, props) =>\n props.reduce((selection, prop) => {\n if (typeof obj[prop] === 'undefined') {\n return selection\n }\n\n selection[prop] = obj[prop]\n return selection\n }, {})\n", "module.exports = (obj, defaults) =>\n Object.keys(defaults)\n .concat(Object.keys(obj))\n .reduce((target, prop) => {\n target[prop] = typeof obj[prop] === 'undefined' ? defaults[prop] : obj[prop]\n\n return target\n }, {})\n", "const assign = require('object-assign')\nconst {Observable} = require('../util/observable')\nconst polyfilledEventSource = require('@sanity/eventsource')\nconst pick = require('../util/pick')\nconst defaults = require('../util/defaults')\nconst encodeQueryString = require('./encodeQueryString')\n\n// Limit is 16K for a _request_, eg including headers. Have to account for an\n// unknown range of headers, but an average EventSource request from Chrome seems\n// to have around 700 bytes of cruft, so let us account for 1.2K to be \"safe\"\nconst MAX_URL_LENGTH = 16000 - 1200\nconst EventSource = polyfilledEventSource\n\nconst possibleOptions = [\n 'includePreviousRevision',\n 'includeResult',\n 'visibility',\n 'effectFormat',\n 'tag',\n]\n\nconst defaultOptions = {\n includeResult: true,\n}\n\nmodule.exports = function listen(query, params, opts = {}) {\n const {url, token, withCredentials, requestTagPrefix} = this.clientConfig\n const tag = opts.tag && requestTagPrefix ? [requestTagPrefix, opts.tag].join('.') : opts.tag\n const options = {...defaults(opts, defaultOptions), tag}\n const listenOpts = pick(options, possibleOptions)\n const qs = encodeQueryString({query, params, options: listenOpts, tag})\n\n const uri = `${url}${this.getDataUrl('listen', qs)}`\n if (uri.length > MAX_URL_LENGTH) {\n return new Observable((observer) => observer.error(new Error('Query too large for listener')))\n }\n\n const listenFor = options.events ? options.events : ['mutation']\n const shouldEmitReconnect = listenFor.indexOf('reconnect') !== -1\n\n const esOptions = {}\n if (token || withCredentials) {\n esOptions.withCredentials = true\n }\n\n if (token) {\n esOptions.headers = {\n Authorization: `Bearer ${token}`,\n }\n }\n\n return new Observable((observer) => {\n let es = getEventSource()\n let reconnectTimer\n let stopped = false\n\n function onError() {\n if (stopped) {\n return\n }\n\n emitReconnect()\n\n // Allow event handlers of `emitReconnect` to cancel/close the reconnect attempt\n if (stopped) {\n return\n }\n\n // Unless we've explicitly stopped the ES (in which case `stopped` should be true),\n // we should never be in a disconnected state. By default, EventSource will reconnect\n // automatically, in which case it sets readyState to `CONNECTING`, but in some cases\n // (like when a laptop lid is closed), it closes the connection. In these cases we need\n // to explicitly reconnect.\n if (es.readyState === EventSource.CLOSED) {\n unsubscribe()\n clearTimeout(reconnectTimer)\n reconnectTimer = setTimeout(open, 100)\n }\n }\n\n function onChannelError(err) {\n observer.error(cooerceError(err))\n }\n\n function onMessage(evt) {\n const event = parseEvent(evt)\n return event instanceof Error ? observer.error(event) : observer.next(event)\n }\n\n function onDisconnect(evt) {\n stopped = true\n unsubscribe()\n observer.complete()\n }\n\n function unsubscribe() {\n es.removeEventListener('error', onError, false)\n es.removeEventListener('channelError', onChannelError, false)\n es.removeEventListener('disconnect', onDisconnect, false)\n listenFor.forEach((type) => es.removeEventListener(type, onMessage, false))\n es.close()\n }\n\n function emitReconnect() {\n if (shouldEmitReconnect) {\n observer.next({type: 'reconnect'})\n }\n }\n\n function getEventSource() {\n const evs = new EventSource(uri, esOptions)\n evs.addEventListener('error', onError, false)\n evs.addEventListener('channelError', onChannelError, false)\n evs.addEventListener('disconnect', onDisconnect, false)\n listenFor.forEach((type) => evs.addEventListener(type, onMessage, false))\n return evs\n }\n\n function open() {\n es = getEventSource()\n }\n\n function stop() {\n stopped = true\n unsubscribe()\n }\n\n return stop\n })\n}\n\nfunction parseEvent(event) {\n try {\n const data = (event.data && JSON.parse(event.data)) || {}\n return assign({type: event.type}, data)\n } catch (err) {\n return err\n }\n}\n\nfunction cooerceError(err) {\n if (err instanceof Error) {\n return err\n }\n\n const evt = parseEvent(err)\n return evt instanceof Error ? evt : new Error(extractErrorMessage(evt))\n}\n\nfunction extractErrorMessage(err) {\n if (!err.error) {\n return err.message || 'Unknown listener error'\n }\n\n if (err.error.description) {\n return err.error.description\n }\n\n return typeof err.error === 'string' ? err.error : JSON.stringify(err.error, null, 2)\n}\n", "const assign = require('object-assign')\nconst {map, filter} = require('../util/observable')\nconst validators = require('../validators')\nconst getSelection = require('../util/getSelection')\nconst encodeQueryString = require('./encodeQueryString')\nconst Transaction = require('./transaction')\nconst Patch = require('./patch')\nconst listen = require('./listen')\n\nconst excludeFalsey = (param, defValue) => {\n const value = typeof param === 'undefined' ? defValue : param\n return param === false ? undefined : value\n}\n\nconst getMutationQuery = (options = {}) => {\n return {\n dryRun: options.dryRun,\n returnIds: true,\n returnDocuments: excludeFalsey(options.returnDocuments, true),\n visibility: options.visibility || 'sync',\n autoGenerateArrayKeys: options.autoGenerateArrayKeys,\n skipCrossDatasetReferenceValidation: options.skipCrossDatasetReferenceValidation,\n }\n}\n\nconst isResponse = (event) => event.type === 'response'\nconst getBody = (event) => event.body\n\nconst indexBy = (docs, attr) =>\n docs.reduce((indexed, doc) => {\n indexed[attr(doc)] = doc\n return indexed\n }, Object.create(null))\n\nconst toPromise = (observable) => observable.toPromise()\n\nconst getQuerySizeLimit = 11264\n\nmodule.exports = {\n listen: listen,\n\n getDataUrl(operation, path) {\n const config = this.clientConfig\n const catalog = validators.hasDataset(config)\n const baseUri = `/${operation}/${catalog}`\n const uri = path ? `${baseUri}/${path}` : baseUri\n return `/data${uri}`.replace(/\\/($|\\?)/, '$1')\n },\n\n fetch(query, params, options = {}) {\n const mapResponse = options.filterResponse === false ? (res) => res : (res) => res.result\n\n const observable = this._dataRequest('query', {query, params}, options).pipe(map(mapResponse))\n return this.isPromiseAPI() ? toPromise(observable) : observable\n },\n\n getDocument(id, opts = {}) {\n const options = {uri: this.getDataUrl('doc', id), json: true, tag: opts.tag}\n const observable = this._requestObservable(options).pipe(\n filter(isResponse),\n map((event) => event.body.documents && event.body.documents[0])\n )\n\n return this.isPromiseAPI() ? toPromise(observable) : observable\n },\n\n getDocuments(ids, opts = {}) {\n const options = {uri: this.getDataUrl('doc', ids.join(',')), json: true, tag: opts.tag}\n const observable = this._requestObservable(options).pipe(\n filter(isResponse),\n map((event) => {\n const indexed = indexBy(event.body.documents || [], (doc) => doc._id)\n return ids.map((id) => indexed[id] || null)\n })\n )\n\n return this.isPromiseAPI() ? toPromise(observable) : observable\n },\n\n create(doc, options) {\n return this._create(doc, 'create', options)\n },\n\n createIfNotExists(doc, options) {\n validators.requireDocumentId('createIfNotExists', doc)\n return this._create(doc, 'createIfNotExists', options)\n },\n\n createOrReplace(doc, options) {\n validators.requireDocumentId('createOrReplace', doc)\n return this._create(doc, 'createOrReplace', options)\n },\n\n patch(selector, operations) {\n return new Patch(selector, operations, this)\n },\n\n delete(selection, options) {\n return this.dataRequest('mutate', {mutations: [{delete: getSelection(selection)}]}, options)\n },\n\n mutate(mutations, options) {\n const mut =\n mutations instanceof Patch || mutations instanceof Transaction\n ? mutations.serialize()\n : mutations\n\n const muts = Array.isArray(mut) ? mut : [mut]\n const transactionId = options && options.transactionId\n return this.dataRequest('mutate', {mutations: muts, transactionId}, options)\n },\n\n transaction(operations) {\n return new Transaction(operations, this)\n },\n\n dataRequest(endpoint, body, options = {}) {\n const request = this._dataRequest(endpoint, body, options)\n\n return this.isPromiseAPI() ? toPromise(request) : request\n },\n\n _dataRequest(endpoint, body, options = {}) {\n const isMutation = endpoint === 'mutate'\n const isQuery = endpoint === 'query'\n\n // Check if the query string is within a configured threshold,\n // in which case we can use GET. Otherwise, use POST.\n const strQuery = !isMutation && encodeQueryString(body)\n const useGet = !isMutation && strQuery.length < getQuerySizeLimit\n const stringQuery = useGet ? strQuery : ''\n const returnFirst = options.returnFirst\n const {timeout, token, tag, headers} = options\n\n const uri = this.getDataUrl(endpoint, stringQuery)\n\n const reqOptions = {\n method: useGet ? 'GET' : 'POST',\n uri: uri,\n json: true,\n body: useGet ? undefined : body,\n query: isMutation && getMutationQuery(options),\n timeout,\n headers,\n token,\n tag,\n canUseCdn: isQuery,\n }\n\n return this._requestObservable(reqOptions).pipe(\n filter(isResponse),\n map(getBody),\n map((res) => {\n if (!isMutation) {\n return res\n }\n\n // Should we return documents?\n const results = res.results || []\n if (options.returnDocuments) {\n return returnFirst\n ? results[0] && results[0].document\n : results.map((mut) => mut.document)\n }\n\n // Return a reduced subset\n const key = returnFirst ? 'documentId' : 'documentIds'\n const ids = returnFirst ? results[0] && results[0].id : results.map((mut) => mut.id)\n return {\n transactionId: res.transactionId,\n results: results,\n [key]: ids,\n }\n })\n )\n },\n\n _create(doc, op, options = {}) {\n const mutation = {[op]: doc}\n const opts = assign({returnFirst: true, returnDocuments: true}, options)\n return this.dataRequest('mutate', {mutations: [mutation]}, opts)\n },\n}\n", "const assign = require('object-assign')\nconst validate = require('../validators')\n\nfunction DatasetsClient(client) {\n this.request = client.request.bind(client)\n}\n\nassign(DatasetsClient.prototype, {\n create(name, options) {\n return this._modify('PUT', name, options)\n },\n\n edit(name, options) {\n return this._modify('PATCH', name, options)\n },\n\n delete(name) {\n return this._modify('DELETE', name)\n },\n\n list() {\n return this.request({uri: '/datasets'})\n },\n\n _modify(method, name, body) {\n validate.dataset(name)\n return this.request({method, uri: `/datasets/${name}`, body})\n },\n})\n\nmodule.exports = DatasetsClient\n", "const assign = require('object-assign')\n\nfunction ProjectsClient(client) {\n this.client = client\n}\n\nassign(ProjectsClient.prototype, {\n list() {\n return this.client.request({uri: '/projects'})\n },\n\n getById(id) {\n return this.client.request({uri: `/projects/${id}`})\n },\n})\n\nmodule.exports = ProjectsClient\n", "module.exports = (params) => {\n const qs = []\n for (const key in params) {\n if (params.hasOwnProperty(key)) {\n qs.push(`${encodeURIComponent(key)}=${encodeURIComponent(params[key])}`)\n }\n }\n\n return qs.length > 0 ? `?${qs.join('&')}` : ''\n}\n", "const assign = require('object-assign')\nconst {map, filter} = require('../util/observable')\nconst queryString = require('../http/queryString')\nconst validators = require('../validators')\n\nfunction AssetsClient(client) {\n this.client = client\n}\n\nfunction optionsFromFile(opts, file) {\n if (typeof window === 'undefined' || !(file instanceof window.File)) {\n return opts\n }\n\n return assign(\n {\n filename: opts.preserveFilename === false ? undefined : file.name,\n contentType: file.type,\n },\n opts\n )\n}\n\nassign(AssetsClient.prototype, {\n /**\n * Upload an asset\n *\n * @param {String} assetType `image` or `file`\n * @param {File|Blob|Buffer|ReadableStream} body File to upload\n * @param {Object} opts Options for the upload\n * @param {Boolean} opts.preserveFilename Whether or not to preserve the original filename (default: true)\n * @param {String} opts.filename Filename for this file (optional)\n * @param {Number} opts.timeout Milliseconds to wait before timing the request out (default: 0)\n * @param {String} opts.contentType Mime type of the file\n * @param {Array} opts.extract Array of metadata parts to extract from image.\n * Possible values: `location`, `exif`, `image`, `palette`\n * @param {String} opts.label Label\n * @param {String} opts.title Title\n * @param {String} opts.description Description\n * @param {String} opts.creditLine The credit to person(s) and/or organization(s) required by the supplier of the image to be used when published\n * @param {Object} opts.source Source data (when the asset is from an external service)\n * @param {String} opts.source.id The (u)id of the asset within the source, i.e. 'i-f323r1E'\n * Required if source is defined\n * @param {String} opts.source.name The name of the source, i.e. 'unsplash'\n * Required if source is defined\n * @param {String} opts.source.url A url to where to find the asset, or get more info about it in the source\n * Optional\n * @return {Promise} Resolves with the created asset document\n */\n upload(assetType, body, opts = {}) {\n validators.validateAssetType(assetType)\n\n // If an empty array is given, explicitly set `none` to override API defaults\n let meta = opts.extract || undefined\n if (meta && !meta.length) {\n meta = ['none']\n }\n\n const dataset = validators.hasDataset(this.client.clientConfig)\n const assetEndpoint = assetType === 'image' ? 'images' : 'files'\n const options = optionsFromFile(opts, body)\n const {tag, label, title, description, creditLine, filename, source} = options\n const query = {\n label,\n title,\n description,\n filename,\n meta,\n creditLine,\n }\n if (source) {\n query.sourceId = source.id\n query.sourceName = source.name\n query.sourceUrl = source.url\n }\n const observable = this.client._requestObservable({\n tag,\n method: 'POST',\n timeout: options.timeout || 0,\n uri: `/assets/${assetEndpoint}/${dataset}`,\n headers: options.contentType ? {'Content-Type': options.contentType} : {},\n query,\n body,\n })\n\n return this.client.isPromiseAPI()\n ? observable\n .pipe(\n filter((event) => event.type === 'response'),\n map((event) => event.body.document)\n )\n .toPromise()\n : observable\n },\n\n delete(type, id) {\n // eslint-disable-next-line no-console\n console.warn('client.assets.delete() is deprecated, please use client.delete(<document-id>)')\n\n let docId = id || ''\n if (!/^(image|file)-/.test(docId)) {\n docId = `${type}-${docId}`\n } else if (type._id) {\n // We could be passing an entire asset document instead of an ID\n docId = type._id\n }\n\n validators.hasDataset(this.client.clientConfig)\n return this.client.delete(docId)\n },\n\n getImageUrl(ref, query) {\n const id = ref._ref || ref\n if (typeof id !== 'string') {\n throw new Error(\n 'getImageUrl() needs either an object with a _ref, or a string with an asset document ID'\n )\n }\n\n if (!/^image-[A-Za-z0-9_]+-\\d+x\\d+-[a-z]{1,5}$/.test(id)) {\n throw new Error(\n `Unsupported asset ID \"${id}\". URL generation only works for auto-generated IDs.`\n )\n }\n\n const [, assetId, size, format] = id.split('-')\n\n validators.hasDataset(this.client.clientConfig)\n const {projectId, dataset} = this.client.clientConfig\n const qs = query ? queryString(query) : ''\n return `https://cdn.sanity.io/images/${projectId}/${dataset}/${assetId}-${size}.${format}${qs}`\n },\n})\n\nmodule.exports = AssetsClient\n", "const assign = require('object-assign')\n\nfunction UsersClient(client) {\n this.client = client\n}\n\nassign(UsersClient.prototype, {\n getById(id) {\n return this.client.request({uri: `/users/${id}`})\n },\n})\n\nmodule.exports = UsersClient\n", "const assign = require('object-assign')\n\nfunction AuthClient(client) {\n this.client = client\n}\n\nassign(AuthClient.prototype, {\n getLoginProviders() {\n return this.client.request({uri: '/auth/providers'})\n },\n\n logout() {\n return this.client.request({uri: '/auth/logout', method: 'POST'})\n },\n})\n\nmodule.exports = AuthClient\n", "const makeError = require('make-error')\nconst assign = require('object-assign')\n\nfunction ClientError(res) {\n const props = extractErrorProps(res)\n ClientError.super.call(this, props.message)\n assign(this, props)\n}\n\nfunction ServerError(res) {\n const props = extractErrorProps(res)\n ServerError.super.call(this, props.message)\n assign(this, props)\n}\n\nfunction extractErrorProps(res) {\n const body = res.body\n const props = {\n response: res,\n statusCode: res.statusCode,\n responseBody: stringifyBody(body, res),\n }\n\n // API/Boom style errors ({statusCode, error, message})\n if (body.error && body.message) {\n props.message = `${body.error} - ${body.message}`\n return props\n }\n\n // Query/database errors ({error: {description, other, arb, props}})\n if (body.error && body.error.description) {\n props.message = body.error.description\n props.details = body.error\n return props\n }\n\n // Other, more arbitrary errors\n props.message = body.error || body.message || httpErrorMessage(res)\n return props\n}\n\nfunction httpErrorMessage(res) {\n const statusMessage = res.statusMessage ? ` ${res.statusMessage}` : ''\n return `${res.method}-request to ${res.url} resulted in HTTP ${res.statusCode}${statusMessage}`\n}\n\nfunction stringifyBody(body, res) {\n const contentType = (res.headers['content-type'] || '').toLowerCase()\n const isJson = contentType.indexOf('application/json') !== -1\n return isJson ? JSON.stringify(body, null, 2) : body\n}\n\nmakeError(ClientError)\nmakeError(ServerError)\n\nexports.ClientError = ClientError\nexports.ServerError = ServerError\n", "module.exports = []\n", "/* eslint-disable no-empty-function, no-process-env */\nconst getIt = require('get-it')\nconst assign = require('object-assign')\nconst observable = require('get-it/lib/middleware/observable')\nconst jsonRequest = require('get-it/lib/middleware/jsonRequest')\nconst jsonResponse = require('get-it/lib/middleware/jsonResponse')\nconst progress = require('get-it/lib/middleware/progress')\nconst {Observable} = require('../util/observable')\nconst {ClientError, ServerError} = require('./errors')\n\nconst httpError = {\n onResponse: (res) => {\n if (res.statusCode >= 500) {\n throw new ServerError(res)\n } else if (res.statusCode >= 400) {\n throw new ClientError(res)\n }\n\n return res\n },\n}\n\nconst printWarnings = {\n onResponse: (res) => {\n const warn = res.headers['x-sanity-warning']\n const warnings = Array.isArray(warn) ? warn : [warn]\n warnings.filter(Boolean).forEach((msg) => console.warn(msg)) // eslint-disable-line no-console\n return res\n },\n}\n\n// Environment-specific middleware.\nconst envSpecific = require('./nodeMiddleware')\n\nconst middleware = envSpecific.concat([\n printWarnings,\n jsonRequest(),\n jsonResponse(),\n progress(),\n httpError,\n observable({implementation: Observable}),\n])\n\nconst request = getIt(middleware)\n\nfunction httpRequest(options, requester = request) {\n return requester(assign({maxRedirects: 0}, options))\n}\n\nhttpRequest.defaultRequester = request\nhttpRequest.ClientError = ClientError\nhttpRequest.ServerError = ServerError\n\nmodule.exports = httpRequest\n", "const assign = require('object-assign')\n\nconst projectHeader = 'X-Sanity-Project-ID'\n\nmodule.exports = (config, overrides = {}) => {\n const headers = {}\n\n const token = overrides.token || config.token\n if (token) {\n headers.Authorization = `Bearer ${token}`\n }\n\n if (!overrides.useGlobalApi && !config.useProjectHostname && config.projectId) {\n headers[projectHeader] = config.projectId\n }\n\n const withCredentials = Boolean(\n typeof overrides.withCredentials === 'undefined'\n ? config.token || config.withCredentials\n : overrides.withCredentials\n )\n\n const timeout = typeof overrides.timeout === 'undefined' ? config.timeout : overrides.timeout\n return assign({}, overrides, {\n headers: assign({}, headers, overrides.headers || {}),\n timeout: typeof timeout === 'undefined' ? 5 * 60 * 1000 : timeout,\n proxy: overrides.proxy || config.proxy,\n json: true,\n withCredentials,\n })\n}\n", "const BASE_URL = 'https://docs.sanity.io/help/'\n\nmodule.exports = function generateHelpUrl(slug) {\n return BASE_URL + slug\n}\n", "module.exports = (fn) => {\n let didCall = false\n let returnValue\n return (...args) => {\n if (didCall) {\n return returnValue\n }\n returnValue = fn(...args)\n didCall = true\n return returnValue\n }\n}\n", "const generateHelpUrl = require('./generateHelpUrl')\nconst once = require('./util/once')\n\nconst createWarningPrinter = (message) =>\n // eslint-disable-next-line no-console\n once((...args) => console.warn(message.join(' '), ...args))\n\nexports.printCdnWarning = createWarningPrinter([\n 'You are not using the Sanity CDN. That means your data is always fresh, but the CDN is faster and',\n `cheaper. Think about it! For more info, see ${generateHelpUrl('js-client-cdn-configuration')}.`,\n 'To hide this warning, please set the `useCdn` option to either `true` or `false` when creating',\n 'the client.',\n])\n\nexports.printBrowserTokenWarning = createWarningPrinter([\n 'You have configured Sanity client to use a token in the browser. This may cause unintentional security issues.',\n `See ${generateHelpUrl(\n 'js-client-browser-token'\n )} for more information and how to hide this warning.`,\n])\n\nexports.printNoApiVersionSpecifiedWarning = createWarningPrinter([\n 'Using the Sanity client without specifying an API version is deprecated.',\n `See ${generateHelpUrl('js-client-api-version')}`,\n])\n", "const assign = require('object-assign')\nconst generateHelpUrl = require('./generateHelpUrl')\nconst validate = require('./validators')\nconst warnings = require('./warnings')\n\nconst defaultCdnHost = 'apicdn.sanity.io'\nconst defaultConfig = {\n apiHost: 'https://api.sanity.io',\n apiVersion: '1',\n useProjectHostname: true,\n isPromiseAPI: true,\n}\n\nconst LOCALHOSTS = ['localhost', '127.0.0.1', '0.0.0.0']\nconst isLocal = (host) => LOCALHOSTS.indexOf(host) !== -1\n\nexports.defaultConfig = defaultConfig\n\n// eslint-disable-next-line complexity\nexports.initConfig = (config, prevConfig) => {\n const specifiedConfig = assign({}, prevConfig, config)\n if (!specifiedConfig.apiVersion) {\n warnings.printNoApiVersionSpecifiedWarning()\n }\n\n const newConfig = assign({}, defaultConfig, specifiedConfig)\n const projectBased = newConfig.useProjectHostname\n\n if (typeof Promise === 'undefined') {\n const helpUrl = generateHelpUrl('js-client-promise-polyfill')\n throw new Error(`No native Promise-implementation found, polyfill needed - see ${helpUrl}`)\n }\n\n if (projectBased && !newConfig.projectId) {\n throw new Error('Configuration must contain `projectId`')\n }\n\n const isBrowser = typeof window !== 'undefined' && window.location && window.location.hostname\n const isLocalhost = isBrowser && isLocal(window.location.hostname)\n\n if (isBrowser && isLocalhost && newConfig.token && newConfig.ignoreBrowserTokenWarning !== true) {\n warnings.printBrowserTokenWarning()\n } else if (typeof newConfig.useCdn === 'undefined') {\n warnings.printCdnWarning()\n }\n\n if (projectBased) {\n validate.projectId(newConfig.projectId)\n }\n\n if (newConfig.dataset) {\n validate.dataset(newConfig.dataset)\n }\n\n if ('requestTagPrefix' in newConfig) {\n // Allow setting and unsetting request tag prefix\n newConfig.requestTagPrefix = newConfig.requestTagPrefix\n ? validate.requestTag(newConfig.requestTagPrefix).replace(/\\.+$/, '')\n : undefined\n }\n\n newConfig.apiVersion = `${newConfig.apiVersion}`.replace(/^v/, '')\n newConfig.isDefaultApi = newConfig.apiHost === defaultConfig.apiHost\n newConfig.useCdn = Boolean(newConfig.useCdn) && !newConfig.withCredentials\n\n exports.validateApiVersion(newConfig.apiVersion)\n\n const hostParts = newConfig.apiHost.split('://', 2)\n const protocol = hostParts[0]\n const host = hostParts[1]\n const cdnHost = newConfig.isDefaultApi ? defaultCdnHost : host\n\n if (newConfig.useProjectHostname) {\n newConfig.url = `${protocol}://${newConfig.projectId}.${host}/v${newConfig.apiVersion}`\n newConfig.cdnUrl = `${protocol}://${newConfig.projectId}.${cdnHost}/v${newConfig.apiVersion}`\n } else {\n newConfig.url = `${newConfig.apiHost}/v${newConfig.apiVersion}`\n newConfig.cdnUrl = newConfig.url\n }\n\n return newConfig\n}\n\nexports.validateApiVersion = function validateApiVersion(apiVersion) {\n if (apiVersion === '1' || apiVersion === 'X') {\n return\n }\n\n const apiDate = new Date(apiVersion)\n const apiVersionValid =\n /^\\d{4}-\\d{2}-\\d{2}$/.test(apiVersion) && apiDate instanceof Date && apiDate.getTime() > 0\n\n if (!apiVersionValid) {\n throw new Error('Invalid API version string, expected `1` or date in format `YYYY-MM-DD`')\n }\n}\n", "const assign = require('object-assign')\nconst {Observable, map, filter} = require('./util/observable')\nconst Patch = require('./data/patch')\nconst Transaction = require('./data/transaction')\nconst dataMethods = require('./data/dataMethods')\nconst DatasetsClient = require('./datasets/datasetsClient')\nconst ProjectsClient = require('./projects/projectsClient')\nconst AssetsClient = require('./assets/assetsClient')\nconst UsersClient = require('./users/usersClient')\nconst AuthClient = require('./auth/authClient')\nconst httpRequest = require('./http/request')\nconst getRequestOptions = require('./http/requestOptions')\nconst {defaultConfig, initConfig} = require('./config')\nconst validate = require('./validators')\n\nconst toPromise = (observable) => observable.toPromise()\n\nfunction SanityClient(config = defaultConfig) {\n if (!(this instanceof SanityClient)) {\n return new SanityClient(config)\n }\n\n this.config(config)\n\n this.assets = new AssetsClient(this)\n this.datasets = new DatasetsClient(this)\n this.projects = new ProjectsClient(this)\n this.users = new UsersClient(this)\n this.auth = new AuthClient(this)\n\n if (this.clientConfig.isPromiseAPI) {\n const observableConfig = assign({}, this.clientConfig, {isPromiseAPI: false})\n this.observable = new SanityClient(observableConfig)\n }\n}\n\nassign(SanityClient.prototype, dataMethods)\nassign(SanityClient.prototype, {\n clone() {\n return new SanityClient(this.config())\n },\n\n config(newConfig) {\n if (typeof newConfig === 'undefined') {\n return assign({}, this.clientConfig)\n }\n\n if (this.clientConfig && this.clientConfig.allowReconfigure === false) {\n throw new Error(\n 'Existing client instance cannot be reconfigured - use `withConfig(newConfig)` to return a new client'\n )\n }\n\n if (this.observable) {\n const observableConfig = assign({}, newConfig, {isPromiseAPI: false})\n this.observable.config(observableConfig)\n }\n\n this.clientConfig = initConfig(newConfig, this.clientConfig || {})\n return this\n },\n\n withConfig(newConfig) {\n return new SanityClient({...this.config(), ...newConfig})\n },\n\n getUrl(uri, useCdn = false) {\n const base = useCdn ? this.clientConfig.cdnUrl : this.clientConfig.url\n return `${base}/${uri.replace(/^\\//, '')}`\n },\n\n isPromiseAPI() {\n return this.clientConfig.isPromiseAPI\n },\n\n _requestObservable(options) {\n const uri = options.url || options.uri\n\n // If the `canUseCdn`-option is not set we detect it automatically based on the method + URL.\n // Only the /data endpoint is currently available through API-CDN.\n const canUseCdn =\n typeof options.canUseCdn === 'undefined'\n ? ['GET', 'HEAD'].indexOf(options.method || 'GET') >= 0 && uri.indexOf('/data/') === 0\n : options.canUseCdn\n\n const useCdn = this.clientConfig.useCdn && canUseCdn\n\n const tag =\n options.tag && this.clientConfig.requestTagPrefix\n ? [this.clientConfig.requestTagPrefix, options.tag].join('.')\n : options.tag || this.clientConfig.requestTagPrefix\n\n if (tag) {\n options.query = {tag: validate.requestTag(tag), ...options.query}\n }\n\n const reqOptions = getRequestOptions(\n this.clientConfig,\n assign({}, options, {\n url: this.getUrl(uri, useCdn),\n })\n )\n\n return new Observable((subscriber) =>\n httpRequest(reqOptions, this.clientConfig.requester).subscribe(subscriber)\n )\n },\n\n request(options) {\n const observable = this._requestObservable(options).pipe(\n filter((event) => event.type === 'response'),\n map((event) => event.body)\n )\n\n return this.isPromiseAPI() ? toPromise(observable) : observable\n },\n})\n\nSanityClient.Patch = Patch\nSanityClient.Transaction = Transaction\nSanityClient.ClientError = httpRequest.ClientError\nSanityClient.ServerError = httpRequest.ServerError\nSanityClient.requester = httpRequest.defaultRequester\n\nmodule.exports = SanityClient\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|