@kubb/react-fabric 0.1.5 → 0.1.6
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/dist/{App-Cdnk4C-T.d.cts → App-Bqmn4Mqu.d.cts} +12 -12
- package/dist/{App-BSJU0vg2.d.ts → App-DLp9W8mB.d.ts} +12 -12
- package/dist/{Runtime-CmpwGMfo.js → Runtime-DWlDUeLZ.js} +21 -21
- package/dist/Runtime-DWlDUeLZ.js.map +1 -0
- package/dist/{Runtime-DuxjdecG.cjs → Runtime-JI640uK4.cjs} +21 -21
- package/dist/Runtime-JI640uK4.cjs.map +1 -0
- package/dist/devtools.cjs +5 -5
- package/dist/devtools.cjs.map +1 -1
- package/dist/devtools.js +5 -5
- package/dist/devtools.js.map +1 -1
- package/dist/index.cjs +4 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/{jsx-runtime-dzWW5eHB.js → jsx-runtime-Dg-pJBHd.js} +8 -8
- package/dist/jsx-runtime-Dg-pJBHd.js.map +1 -0
- package/dist/{jsx-runtime-CxtdoFyp.cjs → jsx-runtime-d2dmYscH.cjs} +8 -8
- package/dist/jsx-runtime-d2dmYscH.cjs.map +1 -0
- package/dist/jsx-runtime.cjs +2 -2
- package/dist/jsx-runtime.js +2 -2
- package/dist/parsers.d.cts +2 -2
- package/dist/parsers.d.ts +2 -2
- package/dist/plugins.cjs +7 -5
- package/dist/plugins.cjs.map +1 -1
- package/dist/plugins.d.cts +29 -6
- package/dist/plugins.d.ts +29 -6
- package/dist/plugins.js +7 -5
- package/dist/plugins.js.map +1 -1
- package/dist/{react-DA-4hb8R.js → react-BBkwFtZV.js} +7 -7
- package/dist/react-BBkwFtZV.js.map +1 -0
- package/dist/{react-m108td-u.cjs → react-Bq0UOw6S.cjs} +7 -7
- package/dist/react-Bq0UOw6S.cjs.map +1 -0
- package/package.json +2 -2
- package/src/plugins/reactPlugin.ts +6 -3
- package/dist/Runtime-CmpwGMfo.js.map +0 -1
- package/dist/Runtime-DuxjdecG.cjs.map +0 -1
- package/dist/jsx-runtime-CxtdoFyp.cjs.map +0 -1
- package/dist/jsx-runtime-dzWW5eHB.js.map +0 -1
- package/dist/react-DA-4hb8R.js.map +0 -1
- package/dist/react-m108td-u.cjs.map +0 -1
package/dist/devtools.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"devtools.cjs","names":["__webpack_require__","Node","exports","i","module","agent","window","nodeToData","onReloadAndProfile","bridge","name","levelChild","FunctionComponent","SimpleMemoComponent","ForwardRef","inspectHooks","current","isEnabled","uidCounter","prefix","WebSocketServer"],"sources":["../../../node_modules/react-devtools-inline/dist/backend.js","../../../node_modules/react-devtools-inline/backend.js","../src/devtools.ts"],"sourcesContent":["/******/ (() => { // webpackBootstrap\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 3018:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\n\nconst Yallist = __webpack_require__(5986);\nconst MAX = Symbol('max');\nconst LENGTH = Symbol('length');\nconst LENGTH_CALCULATOR = Symbol('lengthCalculator');\nconst ALLOW_STALE = Symbol('allowStale');\nconst MAX_AGE = Symbol('maxAge');\nconst DISPOSE = Symbol('dispose');\nconst NO_DISPOSE_ON_SET = Symbol('noDisposeOnSet');\nconst LRU_LIST = Symbol('lruList');\nconst CACHE = Symbol('cache');\nconst UPDATE_AGE_ON_GET = Symbol('updateAgeOnGet');\nconst naiveLength = () => 1;\nclass LRUCache {\n constructor(options) {\n if (typeof options === 'number') options = {\n max: options\n };\n if (!options) options = {};\n if (options.max && (typeof options.max !== 'number' || options.max < 0)) throw new TypeError('max must be a non-negative number');\n const max = this[MAX] = options.max || Infinity;\n const lc = options.length || naiveLength;\n this[LENGTH_CALCULATOR] = typeof lc !== 'function' ? naiveLength : lc;\n this[ALLOW_STALE] = options.stale || false;\n if (options.maxAge && typeof options.maxAge !== 'number') throw new TypeError('maxAge must be a number');\n this[MAX_AGE] = options.maxAge || 0;\n this[DISPOSE] = options.dispose;\n this[NO_DISPOSE_ON_SET] = options.noDisposeOnSet || false;\n this[UPDATE_AGE_ON_GET] = options.updateAgeOnGet || false;\n this.reset();\n }\n set max(mL) {\n if (typeof mL !== 'number' || mL < 0) throw new TypeError('max must be a non-negative number');\n this[MAX] = mL || Infinity;\n trim(this);\n }\n get max() {\n return this[MAX];\n }\n set allowStale(allowStale) {\n this[ALLOW_STALE] = !!allowStale;\n }\n get allowStale() {\n return this[ALLOW_STALE];\n }\n set maxAge(mA) {\n if (typeof mA !== 'number') throw new TypeError('maxAge must be a non-negative number');\n this[MAX_AGE] = mA;\n trim(this);\n }\n get maxAge() {\n return this[MAX_AGE];\n }\n set lengthCalculator(lC) {\n if (typeof lC !== 'function') lC = naiveLength;\n if (lC !== this[LENGTH_CALCULATOR]) {\n this[LENGTH_CALCULATOR] = lC;\n this[LENGTH] = 0;\n this[LRU_LIST].forEach(hit => {\n hit.length = this[LENGTH_CALCULATOR](hit.value, hit.key);\n this[LENGTH] += hit.length;\n });\n }\n trim(this);\n }\n get lengthCalculator() {\n return this[LENGTH_CALCULATOR];\n }\n get length() {\n return this[LENGTH];\n }\n get itemCount() {\n return this[LRU_LIST].length;\n }\n rforEach(fn, thisp) {\n thisp = thisp || this;\n for (let walker = this[LRU_LIST].tail; walker !== null;) {\n const prev = walker.prev;\n forEachStep(this, fn, walker, thisp);\n walker = prev;\n }\n }\n forEach(fn, thisp) {\n thisp = thisp || this;\n for (let walker = this[LRU_LIST].head; walker !== null;) {\n const next = walker.next;\n forEachStep(this, fn, walker, thisp);\n walker = next;\n }\n }\n keys() {\n return this[LRU_LIST].toArray().map(k => k.key);\n }\n values() {\n return this[LRU_LIST].toArray().map(k => k.value);\n }\n reset() {\n if (this[DISPOSE] && this[LRU_LIST] && this[LRU_LIST].length) {\n this[LRU_LIST].forEach(hit => this[DISPOSE](hit.key, hit.value));\n }\n this[CACHE] = new Map();\n this[LRU_LIST] = new Yallist();\n this[LENGTH] = 0;\n }\n dump() {\n return this[LRU_LIST].map(hit => isStale(this, hit) ? false : {\n k: hit.key,\n v: hit.value,\n e: hit.now + (hit.maxAge || 0)\n }).toArray().filter(h => h);\n }\n dumpLru() {\n return this[LRU_LIST];\n }\n set(key, value, maxAge) {\n maxAge = maxAge || this[MAX_AGE];\n if (maxAge && typeof maxAge !== 'number') throw new TypeError('maxAge must be a number');\n const now = maxAge ? Date.now() : 0;\n const len = this[LENGTH_CALCULATOR](value, key);\n if (this[CACHE].has(key)) {\n if (len > this[MAX]) {\n del(this, this[CACHE].get(key));\n return false;\n }\n const node = this[CACHE].get(key);\n const item = node.value;\n if (this[DISPOSE]) {\n if (!this[NO_DISPOSE_ON_SET]) this[DISPOSE](key, item.value);\n }\n item.now = now;\n item.maxAge = maxAge;\n item.value = value;\n this[LENGTH] += len - item.length;\n item.length = len;\n this.get(key);\n trim(this);\n return true;\n }\n const hit = new Entry(key, value, len, now, maxAge);\n if (hit.length > this[MAX]) {\n if (this[DISPOSE]) this[DISPOSE](key, value);\n return false;\n }\n this[LENGTH] += hit.length;\n this[LRU_LIST].unshift(hit);\n this[CACHE].set(key, this[LRU_LIST].head);\n trim(this);\n return true;\n }\n has(key) {\n if (!this[CACHE].has(key)) return false;\n const hit = this[CACHE].get(key).value;\n return !isStale(this, hit);\n }\n get(key) {\n return get(this, key, true);\n }\n peek(key) {\n return get(this, key, false);\n }\n pop() {\n const node = this[LRU_LIST].tail;\n if (!node) return null;\n del(this, node);\n return node.value;\n }\n del(key) {\n del(this, this[CACHE].get(key));\n }\n load(arr) {\n this.reset();\n const now = Date.now();\n for (let l = arr.length - 1; l >= 0; l--) {\n const hit = arr[l];\n const expiresAt = hit.e || 0;\n if (expiresAt === 0) this.set(hit.k, hit.v);else {\n const maxAge = expiresAt - now;\n if (maxAge > 0) {\n this.set(hit.k, hit.v, maxAge);\n }\n }\n }\n }\n prune() {\n this[CACHE].forEach((value, key) => get(this, key, false));\n }\n}\nconst get = (self, key, doUse) => {\n const node = self[CACHE].get(key);\n if (node) {\n const hit = node.value;\n if (isStale(self, hit)) {\n del(self, node);\n if (!self[ALLOW_STALE]) return undefined;\n } else {\n if (doUse) {\n if (self[UPDATE_AGE_ON_GET]) node.value.now = Date.now();\n self[LRU_LIST].unshiftNode(node);\n }\n }\n return hit.value;\n }\n};\nconst isStale = (self, hit) => {\n if (!hit || !hit.maxAge && !self[MAX_AGE]) return false;\n const diff = Date.now() - hit.now;\n return hit.maxAge ? diff > hit.maxAge : self[MAX_AGE] && diff > self[MAX_AGE];\n};\nconst trim = self => {\n if (self[LENGTH] > self[MAX]) {\n for (let walker = self[LRU_LIST].tail; self[LENGTH] > self[MAX] && walker !== null;) {\n const prev = walker.prev;\n del(self, walker);\n walker = prev;\n }\n }\n};\nconst del = (self, node) => {\n if (node) {\n const hit = node.value;\n if (self[DISPOSE]) self[DISPOSE](hit.key, hit.value);\n self[LENGTH] -= hit.length;\n self[CACHE].delete(hit.key);\n self[LRU_LIST].removeNode(node);\n }\n};\nclass Entry {\n constructor(key, value, length, now, maxAge) {\n this.key = key;\n this.value = value;\n this.length = length;\n this.now = now;\n this.maxAge = maxAge || 0;\n }\n}\nconst forEachStep = (self, fn, node, thisp) => {\n let hit = node.value;\n if (isStale(self, hit)) {\n del(self, node);\n if (!self[ALLOW_STALE]) hit = undefined;\n }\n if (hit) fn.call(thisp, hit.value, hit.key, self);\n};\nmodule.exports = LRUCache;\n\n/***/ }),\n\n/***/ 7533:\n/***/ ((module) => {\n\n\"use strict\";\n\n\nmodule.exports = function (Yallist) {\n Yallist.prototype[Symbol.iterator] = function* () {\n for (let walker = this.head; walker; walker = walker.next) {\n yield walker.value;\n }\n };\n};\n\n/***/ }),\n\n/***/ 5986:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\n\nmodule.exports = Yallist;\nYallist.Node = Node;\nYallist.create = Yallist;\nfunction Yallist(list) {\n var self = this;\n if (!(self instanceof Yallist)) {\n self = new Yallist();\n }\n self.tail = null;\n self.head = null;\n self.length = 0;\n if (list && typeof list.forEach === 'function') {\n list.forEach(function (item) {\n self.push(item);\n });\n } else if (arguments.length > 0) {\n for (var i = 0, l = arguments.length; i < l; i++) {\n self.push(arguments[i]);\n }\n }\n return self;\n}\nYallist.prototype.removeNode = function (node) {\n if (node.list !== this) {\n throw new Error('removing node which does not belong to this list');\n }\n var next = node.next;\n var prev = node.prev;\n if (next) {\n next.prev = prev;\n }\n if (prev) {\n prev.next = next;\n }\n if (node === this.head) {\n this.head = next;\n }\n if (node === this.tail) {\n this.tail = prev;\n }\n node.list.length--;\n node.next = null;\n node.prev = null;\n node.list = null;\n return next;\n};\nYallist.prototype.unshiftNode = function (node) {\n if (node === this.head) {\n return;\n }\n if (node.list) {\n node.list.removeNode(node);\n }\n var head = this.head;\n node.list = this;\n node.next = head;\n if (head) {\n head.prev = node;\n }\n this.head = node;\n if (!this.tail) {\n this.tail = node;\n }\n this.length++;\n};\nYallist.prototype.pushNode = function (node) {\n if (node === this.tail) {\n return;\n }\n if (node.list) {\n node.list.removeNode(node);\n }\n var tail = this.tail;\n node.list = this;\n node.prev = tail;\n if (tail) {\n tail.next = node;\n }\n this.tail = node;\n if (!this.head) {\n this.head = node;\n }\n this.length++;\n};\nYallist.prototype.push = function () {\n for (var i = 0, l = arguments.length; i < l; i++) {\n push(this, arguments[i]);\n }\n return this.length;\n};\nYallist.prototype.unshift = function () {\n for (var i = 0, l = arguments.length; i < l; i++) {\n unshift(this, arguments[i]);\n }\n return this.length;\n};\nYallist.prototype.pop = function () {\n if (!this.tail) {\n return undefined;\n }\n var res = this.tail.value;\n this.tail = this.tail.prev;\n if (this.tail) {\n this.tail.next = null;\n } else {\n this.head = null;\n }\n this.length--;\n return res;\n};\nYallist.prototype.shift = function () {\n if (!this.head) {\n return undefined;\n }\n var res = this.head.value;\n this.head = this.head.next;\n if (this.head) {\n this.head.prev = null;\n } else {\n this.tail = null;\n }\n this.length--;\n return res;\n};\nYallist.prototype.forEach = function (fn, thisp) {\n thisp = thisp || this;\n for (var walker = this.head, i = 0; walker !== null; i++) {\n fn.call(thisp, walker.value, i, this);\n walker = walker.next;\n }\n};\nYallist.prototype.forEachReverse = function (fn, thisp) {\n thisp = thisp || this;\n for (var walker = this.tail, i = this.length - 1; walker !== null; i--) {\n fn.call(thisp, walker.value, i, this);\n walker = walker.prev;\n }\n};\nYallist.prototype.get = function (n) {\n for (var i = 0, walker = this.head; walker !== null && i < n; i++) {\n walker = walker.next;\n }\n if (i === n && walker !== null) {\n return walker.value;\n }\n};\nYallist.prototype.getReverse = function (n) {\n for (var i = 0, walker = this.tail; walker !== null && i < n; i++) {\n walker = walker.prev;\n }\n if (i === n && walker !== null) {\n return walker.value;\n }\n};\nYallist.prototype.map = function (fn, thisp) {\n thisp = thisp || this;\n var res = new Yallist();\n for (var walker = this.head; walker !== null;) {\n res.push(fn.call(thisp, walker.value, this));\n walker = walker.next;\n }\n return res;\n};\nYallist.prototype.mapReverse = function (fn, thisp) {\n thisp = thisp || this;\n var res = new Yallist();\n for (var walker = this.tail; walker !== null;) {\n res.push(fn.call(thisp, walker.value, this));\n walker = walker.prev;\n }\n return res;\n};\nYallist.prototype.reduce = function (fn, initial) {\n var acc;\n var walker = this.head;\n if (arguments.length > 1) {\n acc = initial;\n } else if (this.head) {\n walker = this.head.next;\n acc = this.head.value;\n } else {\n throw new TypeError('Reduce of empty list with no initial value');\n }\n for (var i = 0; walker !== null; i++) {\n acc = fn(acc, walker.value, i);\n walker = walker.next;\n }\n return acc;\n};\nYallist.prototype.reduceReverse = function (fn, initial) {\n var acc;\n var walker = this.tail;\n if (arguments.length > 1) {\n acc = initial;\n } else if (this.tail) {\n walker = this.tail.prev;\n acc = this.tail.value;\n } else {\n throw new TypeError('Reduce of empty list with no initial value');\n }\n for (var i = this.length - 1; walker !== null; i--) {\n acc = fn(acc, walker.value, i);\n walker = walker.prev;\n }\n return acc;\n};\nYallist.prototype.toArray = function () {\n var arr = new Array(this.length);\n for (var i = 0, walker = this.head; walker !== null; i++) {\n arr[i] = walker.value;\n walker = walker.next;\n }\n return arr;\n};\nYallist.prototype.toArrayReverse = function () {\n var arr = new Array(this.length);\n for (var i = 0, walker = this.tail; walker !== null; i++) {\n arr[i] = walker.value;\n walker = walker.prev;\n }\n return arr;\n};\nYallist.prototype.slice = function (from, to) {\n to = to || this.length;\n if (to < 0) {\n to += this.length;\n }\n from = from || 0;\n if (from < 0) {\n from += this.length;\n }\n var ret = new Yallist();\n if (to < from || to < 0) {\n return ret;\n }\n if (from < 0) {\n from = 0;\n }\n if (to > this.length) {\n to = this.length;\n }\n for (var i = 0, walker = this.head; walker !== null && i < from; i++) {\n walker = walker.next;\n }\n for (; walker !== null && i < to; i++, walker = walker.next) {\n ret.push(walker.value);\n }\n return ret;\n};\nYallist.prototype.sliceReverse = function (from, to) {\n to = to || this.length;\n if (to < 0) {\n to += this.length;\n }\n from = from || 0;\n if (from < 0) {\n from += this.length;\n }\n var ret = new Yallist();\n if (to < from || to < 0) {\n return ret;\n }\n if (from < 0) {\n from = 0;\n }\n if (to > this.length) {\n to = this.length;\n }\n for (var i = this.length, walker = this.tail; walker !== null && i > to; i--) {\n walker = walker.prev;\n }\n for (; walker !== null && i > from; i--, walker = walker.prev) {\n ret.push(walker.value);\n }\n return ret;\n};\nYallist.prototype.splice = function (start, deleteCount) {\n if (start > this.length) {\n start = this.length - 1;\n }\n if (start < 0) {\n start = this.length + start;\n }\n for (var i = 0, walker = this.head; walker !== null && i < start; i++) {\n walker = walker.next;\n }\n var ret = [];\n for (var i = 0; walker && i < deleteCount; i++) {\n ret.push(walker.value);\n walker = this.removeNode(walker);\n }\n if (walker === null) {\n walker = this.tail;\n }\n if (walker !== this.head && walker !== this.tail) {\n walker = walker.prev;\n }\n for (var i = 2; i < arguments.length; i++) {\n walker = insert(this, walker, arguments[i]);\n }\n return ret;\n};\nYallist.prototype.reverse = function () {\n var head = this.head;\n var tail = this.tail;\n for (var walker = head; walker !== null; walker = walker.prev) {\n var p = walker.prev;\n walker.prev = walker.next;\n walker.next = p;\n }\n this.head = tail;\n this.tail = head;\n return this;\n};\nfunction insert(self, node, value) {\n var inserted = node === self.head ? new Node(value, null, node, self) : new Node(value, node, node.next, self);\n if (inserted.next === null) {\n self.tail = inserted;\n }\n if (inserted.prev === null) {\n self.head = inserted;\n }\n self.length++;\n return inserted;\n}\nfunction push(self, item) {\n self.tail = new Node(item, self.tail, null, self);\n if (!self.head) {\n self.head = self.tail;\n }\n self.length++;\n}\nfunction unshift(self, item) {\n self.head = new Node(item, null, self.head, self);\n if (!self.tail) {\n self.tail = self.head;\n }\n self.length++;\n}\nfunction Node(value, prev, next, list) {\n if (!(this instanceof Node)) {\n return new Node(value, prev, next, list);\n }\n this.list = list;\n this.value = value;\n if (prev) {\n prev.next = this;\n this.prev = prev;\n } else {\n this.prev = null;\n }\n if (next) {\n next.prev = this;\n this.next = next;\n } else {\n this.next = null;\n }\n}\ntry {\n __webpack_require__(7533)(Yallist);\n} catch (er) {}\n\n/***/ }),\n\n/***/ 2235:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (root, factory) {\n 'use strict';\n\n if (true) {\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5907)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else {}\n})(this, function ErrorStackParser(StackFrame) {\n 'use strict';\n\n var FIREFOX_SAFARI_STACK_REGEXP = /(^|@)\\S+:\\d+/;\n var CHROME_IE_STACK_REGEXP = /^\\s*at .*(\\S+:\\d+|\\(native\\))/m;\n var SAFARI_NATIVE_CODE_REGEXP = /^(eval@)?(\\[native code])?$/;\n return {\n parse: function ErrorStackParser$$parse(error) {\n if (typeof error.stacktrace !== 'undefined' || typeof error['opera#sourceloc'] !== 'undefined') {\n return this.parseOpera(error);\n } else if (error.stack && error.stack.match(CHROME_IE_STACK_REGEXP)) {\n return this.parseV8OrIE(error);\n } else if (error.stack) {\n return this.parseFFOrSafari(error);\n } else {\n throw new Error('Cannot parse given Error object');\n }\n },\n extractLocation: function ErrorStackParser$$extractLocation(urlLike) {\n if (urlLike.indexOf(':') === -1) {\n return [urlLike];\n }\n var regExp = /(.+?)(?::(\\d+))?(?::(\\d+))?$/;\n var parts = regExp.exec(urlLike.replace(/[()]/g, ''));\n return [parts[1], parts[2] || undefined, parts[3] || undefined];\n },\n parseV8OrIE: function ErrorStackParser$$parseV8OrIE(error) {\n var filtered = error.stack.split('\\n').filter(function (line) {\n return !!line.match(CHROME_IE_STACK_REGEXP);\n }, this);\n return filtered.map(function (line) {\n if (line.indexOf('(eval ') > -1) {\n line = line.replace(/eval code/g, 'eval').replace(/(\\(eval at [^()]*)|(,.*$)/g, '');\n }\n var sanitizedLine = line.replace(/^\\s+/, '').replace(/\\(eval code/g, '(').replace(/^.*?\\s+/, '');\n var location = sanitizedLine.match(/ (\\(.+\\)$)/);\n sanitizedLine = location ? sanitizedLine.replace(location[0], '') : sanitizedLine;\n var locationParts = this.extractLocation(location ? location[1] : sanitizedLine);\n var functionName = location && sanitizedLine || undefined;\n var fileName = ['eval', '<anonymous>'].indexOf(locationParts[0]) > -1 ? undefined : locationParts[0];\n return new StackFrame({\n functionName: functionName,\n fileName: fileName,\n lineNumber: locationParts[1],\n columnNumber: locationParts[2],\n source: line\n });\n }, this);\n },\n parseFFOrSafari: function ErrorStackParser$$parseFFOrSafari(error) {\n var filtered = error.stack.split('\\n').filter(function (line) {\n return !line.match(SAFARI_NATIVE_CODE_REGEXP);\n }, this);\n return filtered.map(function (line) {\n if (line.indexOf(' > eval') > -1) {\n line = line.replace(/ line (\\d+)(?: > eval line \\d+)* > eval:\\d+:\\d+/g, ':$1');\n }\n if (line.indexOf('@') === -1 && line.indexOf(':') === -1) {\n return new StackFrame({\n functionName: line\n });\n } else {\n var functionNameRegex = /((.*\".+\"[^@]*)?[^@]*)(?:@)/;\n var matches = line.match(functionNameRegex);\n var functionName = matches && matches[1] ? matches[1] : undefined;\n var locationParts = this.extractLocation(line.replace(functionNameRegex, ''));\n return new StackFrame({\n functionName: functionName,\n fileName: locationParts[0],\n lineNumber: locationParts[1],\n columnNumber: locationParts[2],\n source: line\n });\n }\n }, this);\n },\n parseOpera: function ErrorStackParser$$parseOpera(e) {\n if (!e.stacktrace || e.message.indexOf('\\n') > -1 && e.message.split('\\n').length > e.stacktrace.split('\\n').length) {\n return this.parseOpera9(e);\n } else if (!e.stack) {\n return this.parseOpera10(e);\n } else {\n return this.parseOpera11(e);\n }\n },\n parseOpera9: function ErrorStackParser$$parseOpera9(e) {\n var lineRE = /Line (\\d+).*script (?:in )?(\\S+)/i;\n var lines = e.message.split('\\n');\n var result = [];\n for (var i = 2, len = lines.length; i < len; i += 2) {\n var match = lineRE.exec(lines[i]);\n if (match) {\n result.push(new StackFrame({\n fileName: match[2],\n lineNumber: match[1],\n source: lines[i]\n }));\n }\n }\n return result;\n },\n parseOpera10: function ErrorStackParser$$parseOpera10(e) {\n var lineRE = /Line (\\d+).*script (?:in )?(\\S+)(?:: In function (\\S+))?$/i;\n var lines = e.stacktrace.split('\\n');\n var result = [];\n for (var i = 0, len = lines.length; i < len; i += 2) {\n var match = lineRE.exec(lines[i]);\n if (match) {\n result.push(new StackFrame({\n functionName: match[3] || undefined,\n fileName: match[2],\n lineNumber: match[1],\n source: lines[i]\n }));\n }\n }\n return result;\n },\n parseOpera11: function ErrorStackParser$$parseOpera11(error) {\n var filtered = error.stack.split('\\n').filter(function (line) {\n return !!line.match(FIREFOX_SAFARI_STACK_REGEXP) && !line.match(/^Error created at/);\n }, this);\n return filtered.map(function (line) {\n var tokens = line.split('@');\n var locationParts = this.extractLocation(tokens.pop());\n var functionCall = tokens.shift() || '';\n var functionName = functionCall.replace(/<anonymous function(: (\\w+))?>/, '$2').replace(/\\([^)]*\\)/g, '') || undefined;\n var argsRaw;\n if (functionCall.match(/\\(([^)]*)\\)/)) {\n argsRaw = functionCall.replace(/^[^(]+\\(([^)]*)\\)$/, '$1');\n }\n var args = argsRaw === undefined || argsRaw === '[arguments not available]' ? undefined : argsRaw.split(',');\n return new StackFrame({\n functionName: functionName,\n args: args,\n fileName: locationParts[0],\n lineNumber: locationParts[1],\n columnNumber: locationParts[2],\n source: line\n });\n }, this);\n }\n };\n});\n\n/***/ }),\n\n/***/ 5907:\n/***/ (function(module, exports) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (root, factory) {\n 'use strict';\n\n if (true) {\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else {}\n})(this, function () {\n 'use strict';\n\n function _isNumber(n) {\n return !isNaN(parseFloat(n)) && isFinite(n);\n }\n function _capitalize(str) {\n return str.charAt(0).toUpperCase() + str.substring(1);\n }\n function _getter(p) {\n return function () {\n return this[p];\n };\n }\n var booleanProps = ['isConstructor', 'isEval', 'isNative', 'isToplevel'];\n var numericProps = ['columnNumber', 'lineNumber'];\n var stringProps = ['fileName', 'functionName', 'source'];\n var arrayProps = ['args'];\n var objectProps = ['evalOrigin'];\n var props = booleanProps.concat(numericProps, stringProps, arrayProps, objectProps);\n function StackFrame(obj) {\n if (!obj) return;\n for (var i = 0; i < props.length; i++) {\n if (obj[props[i]] !== undefined) {\n this['set' + _capitalize(props[i])](obj[props[i]]);\n }\n }\n }\n StackFrame.prototype = {\n getArgs: function () {\n return this.args;\n },\n setArgs: function (v) {\n if (Object.prototype.toString.call(v) !== '[object Array]') {\n throw new TypeError('Args must be an Array');\n }\n this.args = v;\n },\n getEvalOrigin: function () {\n return this.evalOrigin;\n },\n setEvalOrigin: function (v) {\n if (v instanceof StackFrame) {\n this.evalOrigin = v;\n } else if (v instanceof Object) {\n this.evalOrigin = new StackFrame(v);\n } else {\n throw new TypeError('Eval Origin must be an Object or StackFrame');\n }\n },\n toString: function () {\n var fileName = this.getFileName() || '';\n var lineNumber = this.getLineNumber() || '';\n var columnNumber = this.getColumnNumber() || '';\n var functionName = this.getFunctionName() || '';\n if (this.getIsEval()) {\n if (fileName) {\n return '[eval] (' + fileName + ':' + lineNumber + ':' + columnNumber + ')';\n }\n return '[eval]:' + lineNumber + ':' + columnNumber;\n }\n if (functionName) {\n return functionName + ' (' + fileName + ':' + lineNumber + ':' + columnNumber + ')';\n }\n return fileName + ':' + lineNumber + ':' + columnNumber;\n }\n };\n StackFrame.fromString = function StackFrame$$fromString(str) {\n var argsStartIndex = str.indexOf('(');\n var argsEndIndex = str.lastIndexOf(')');\n var functionName = str.substring(0, argsStartIndex);\n var args = str.substring(argsStartIndex + 1, argsEndIndex).split(',');\n var locationString = str.substring(argsEndIndex + 1);\n if (locationString.indexOf('@') === 0) {\n var parts = /@(.+?)(?::(\\d+))?(?::(\\d+))?$/.exec(locationString, '');\n var fileName = parts[1];\n var lineNumber = parts[2];\n var columnNumber = parts[3];\n }\n return new StackFrame({\n functionName: functionName,\n args: args || undefined,\n fileName: fileName,\n lineNumber: lineNumber || undefined,\n columnNumber: columnNumber || undefined\n });\n };\n for (var i = 0; i < booleanProps.length; i++) {\n StackFrame.prototype['get' + _capitalize(booleanProps[i])] = _getter(booleanProps[i]);\n StackFrame.prototype['set' + _capitalize(booleanProps[i])] = function (p) {\n return function (v) {\n this[p] = Boolean(v);\n };\n }(booleanProps[i]);\n }\n for (var j = 0; j < numericProps.length; j++) {\n StackFrame.prototype['get' + _capitalize(numericProps[j])] = _getter(numericProps[j]);\n StackFrame.prototype['set' + _capitalize(numericProps[j])] = function (p) {\n return function (v) {\n if (!_isNumber(v)) {\n throw new TypeError(p + ' must be a Number');\n }\n this[p] = Number(v);\n };\n }(numericProps[j]);\n }\n for (var k = 0; k < stringProps.length; k++) {\n StackFrame.prototype['get' + _capitalize(stringProps[k])] = _getter(stringProps[k]);\n StackFrame.prototype['set' + _capitalize(stringProps[k])] = function (p) {\n return function (v) {\n this[p] = String(v);\n };\n }(stringProps[k]);\n }\n return StackFrame;\n});\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t(() => {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = (module) => {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\t() => (module['default']) :\n/******/ \t\t\t\t() => (module);\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t(() => {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = (exports, definition) => {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t(() => {\n/******/ \t\t__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/make namespace object */\n/******/ \t(() => {\n/******/ \t\t// define __esModule on exports\n/******/ \t\t__webpack_require__.r = (exports) => {\n/******/ \t\t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t\t}\n/******/ \t\t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n// This entry need to be wrapped in an IIFE because it need to be in strict mode.\n(() => {\n\"use strict\";\n// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"activate\": () => (/* binding */ activate),\n \"createBridge\": () => (/* binding */ createBridge),\n \"initialize\": () => (/* binding */ backend_initialize)\n});\n\n;// CONCATENATED MODULE: ../react-devtools-shared/src/events.js\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nclass EventEmitter {\n constructor() {\n _defineProperty(this, \"listenersMap\", new Map());\n }\n addListener(event, listener) {\n const listeners = this.listenersMap.get(event);\n if (listeners === undefined) {\n this.listenersMap.set(event, [listener]);\n } else {\n const index = listeners.indexOf(listener);\n if (index < 0) {\n listeners.push(listener);\n }\n }\n }\n emit(event, ...args) {\n const listeners = this.listenersMap.get(event);\n if (listeners !== undefined) {\n if (listeners.length === 1) {\n const listener = listeners[0];\n listener.apply(null, args);\n } else {\n let didThrow = false;\n let caughtError = null;\n const clonedListeners = Array.from(listeners);\n for (let i = 0; i < clonedListeners.length; i++) {\n const listener = clonedListeners[i];\n try {\n listener.apply(null, args);\n } catch (error) {\n if (caughtError === null) {\n didThrow = true;\n caughtError = error;\n }\n }\n }\n if (didThrow) {\n throw caughtError;\n }\n }\n }\n }\n removeAllListeners() {\n this.listenersMap.clear();\n }\n removeListener(event, listener) {\n const listeners = this.listenersMap.get(event);\n if (listeners !== undefined) {\n const index = listeners.indexOf(listener);\n if (index >= 0) {\n listeners.splice(index, 1);\n }\n }\n }\n}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/constants.js\nconst CHROME_WEBSTORE_EXTENSION_ID = 'fmkadmapgofadopljbjfkapdkoienihi';\nconst INTERNAL_EXTENSION_ID = 'dnjnjgbfilfphmojnmhliehogmojhclc';\nconst LOCAL_EXTENSION_ID = 'ikiahnapldjmdmpkmfhjdjilojjhgcbf';\nconst __DEBUG__ = false;\nconst __PERFORMANCE_PROFILE__ = false;\nconst TREE_OPERATION_ADD = 1;\nconst TREE_OPERATION_REMOVE = 2;\nconst TREE_OPERATION_REORDER_CHILDREN = 3;\nconst TREE_OPERATION_UPDATE_TREE_BASE_DURATION = 4;\nconst TREE_OPERATION_UPDATE_ERRORS_OR_WARNINGS = 5;\nconst TREE_OPERATION_REMOVE_ROOT = 6;\nconst TREE_OPERATION_SET_SUBTREE_MODE = 7;\nconst SUSPENSE_TREE_OPERATION_ADD = 8;\nconst SUSPENSE_TREE_OPERATION_REMOVE = 9;\nconst SUSPENSE_TREE_OPERATION_REORDER_CHILDREN = 10;\nconst SUSPENSE_TREE_OPERATION_RESIZE = 11;\nconst SUSPENSE_TREE_OPERATION_SUSPENDERS = 12;\nconst PROFILING_FLAG_BASIC_SUPPORT = 0b001;\nconst PROFILING_FLAG_TIMELINE_SUPPORT = 0b010;\nconst PROFILING_FLAG_PERFORMANCE_TRACKS_SUPPORT = 0b100;\nconst UNKNOWN_SUSPENDERS_NONE = 0;\nconst UNKNOWN_SUSPENDERS_REASON_PRODUCTION = 1;\nconst UNKNOWN_SUSPENDERS_REASON_OLD_VERSION = 2;\nconst UNKNOWN_SUSPENDERS_REASON_THROWN_PROMISE = 3;\nconst LOCAL_STORAGE_DEFAULT_TAB_KEY = 'React::DevTools::defaultTab';\nconst constants_LOCAL_STORAGE_COMPONENT_FILTER_PREFERENCES_KEY = 'React::DevTools::componentFilters';\nconst SESSION_STORAGE_LAST_SELECTION_KEY = 'React::DevTools::lastSelection';\nconst constants_LOCAL_STORAGE_OPEN_IN_EDITOR_URL = 'React::DevTools::openInEditorUrl';\nconst constants_LOCAL_STORAGE_OPEN_IN_EDITOR_URL_PRESET = 'React::DevTools::openInEditorUrlPreset';\nconst constants_LOCAL_STORAGE_ALWAYS_OPEN_IN_EDITOR = 'React::DevTools::alwaysOpenInEditor';\nconst LOCAL_STORAGE_PARSE_HOOK_NAMES_KEY = 'React::DevTools::parseHookNames';\nconst constants_SESSION_STORAGE_RECORD_CHANGE_DESCRIPTIONS_KEY = 'React::DevTools::recordChangeDescriptions';\nconst constants_SESSION_STORAGE_RECORD_TIMELINE_KEY = 'React::DevTools::recordTimeline';\nconst SESSION_STORAGE_RELOAD_AND_PROFILE_KEY = 'React::DevTools::reloadAndProfile';\nconst LOCAL_STORAGE_BROWSER_THEME = 'React::DevTools::theme';\nconst LOCAL_STORAGE_TRACE_UPDATES_ENABLED_KEY = 'React::DevTools::traceUpdatesEnabled';\nconst LOCAL_STORAGE_SUPPORTS_PROFILING_KEY = 'React::DevTools::supportsProfiling';\nconst PROFILER_EXPORT_VERSION = 5;\nconst FIREFOX_CONSOLE_DIMMING_COLOR = 'color: rgba(124, 124, 124, 0.75)';\nconst ANSI_STYLE_DIMMING_TEMPLATE = '\\x1b[2;38;2;124;124;124m%s\\x1b[0m';\nconst ANSI_STYLE_DIMMING_TEMPLATE_WITH_COMPONENT_STACK = '\\x1b[2;38;2;124;124;124m%s %o\\x1b[0m';\n;// CONCATENATED MODULE: ../../node_modules/compare-versions/lib/esm/index.js\nconst compareVersions = (v1, v2) => {\n const n1 = validateAndParse(v1);\n const n2 = validateAndParse(v2);\n const p1 = n1.pop();\n const p2 = n2.pop();\n const r = compareSegments(n1, n2);\n if (r !== 0) return r;\n if (p1 && p2) {\n return compareSegments(p1.split('.'), p2.split('.'));\n } else if (p1 || p2) {\n return p1 ? -1 : 1;\n }\n return 0;\n};\nconst validate = version => typeof version === 'string' && /^[v\\d]/.test(version) && semver.test(version);\nconst compare = (v1, v2, operator) => {\n assertValidOperator(operator);\n const res = compareVersions(v1, v2);\n return operatorResMap[operator].includes(res);\n};\nconst satisfies = (version, range) => {\n const m = range.match(/^([<>=~^]+)/);\n const op = m ? m[1] : '=';\n if (op !== '^' && op !== '~') return compare(version, range, op);\n const [v1, v2, v3,, vp] = validateAndParse(version);\n const [r1, r2, r3,, rp] = validateAndParse(range);\n const v = [v1, v2, v3];\n const r = [r1, r2 !== null && r2 !== void 0 ? r2 : 'x', r3 !== null && r3 !== void 0 ? r3 : 'x'];\n if (rp) {\n if (!vp) return false;\n if (compareSegments(v, r) !== 0) return false;\n if (compareSegments(vp.split('.'), rp.split('.')) === -1) return false;\n }\n const nonZero = r.findIndex(v => v !== '0') + 1;\n const i = op === '~' ? 2 : nonZero > 1 ? nonZero : 1;\n if (compareSegments(v.slice(0, i), r.slice(0, i)) !== 0) return false;\n if (compareSegments(v.slice(i), r.slice(i)) === -1) return false;\n return true;\n};\nconst semver = /^[v^~<>=]*?(\\d+)(?:\\.([x*]|\\d+)(?:\\.([x*]|\\d+)(?:\\.([x*]|\\d+))?(?:-([\\da-z\\-]+(?:\\.[\\da-z\\-]+)*))?(?:\\+[\\da-z\\-]+(?:\\.[\\da-z\\-]+)*)?)?)?$/i;\nconst validateAndParse = version => {\n if (typeof version !== 'string') {\n throw new TypeError('Invalid argument expected string');\n }\n const match = version.match(semver);\n if (!match) {\n throw new Error(`Invalid argument not valid semver ('${version}' received)`);\n }\n match.shift();\n return match;\n};\nconst isWildcard = s => s === '*' || s === 'x' || s === 'X';\nconst tryParse = v => {\n const n = parseInt(v, 10);\n return isNaN(n) ? v : n;\n};\nconst forceType = (a, b) => typeof a !== typeof b ? [String(a), String(b)] : [a, b];\nconst compareStrings = (a, b) => {\n if (isWildcard(a) || isWildcard(b)) return 0;\n const [ap, bp] = forceType(tryParse(a), tryParse(b));\n if (ap > bp) return 1;\n if (ap < bp) return -1;\n return 0;\n};\nconst compareSegments = (a, b) => {\n for (let i = 0; i < Math.max(a.length, b.length); i++) {\n const r = compareStrings(a[i] || '0', b[i] || '0');\n if (r !== 0) return r;\n }\n return 0;\n};\nconst operatorResMap = {\n '>': [1],\n '>=': [0, 1],\n '=': [0],\n '<=': [-1, 0],\n '<': [-1]\n};\nconst allowedOperators = Object.keys(operatorResMap);\nconst assertValidOperator = op => {\n if (typeof op !== 'string') {\n throw new TypeError(`Invalid operator type, expected string but got ${typeof op}`);\n }\n if (allowedOperators.indexOf(op) === -1) {\n throw new Error(`Invalid operator, expected one of ${allowedOperators.join('|')}`);\n }\n};\n// EXTERNAL MODULE: ../../node_modules/lru-cache/index.js\nvar lru_cache = __webpack_require__(3018);\nvar lru_cache_default = /*#__PURE__*/__webpack_require__.n(lru_cache);\n;// CONCATENATED MODULE: ../shared/ReactFeatureFlags.js\nconst enableHydrationLaneScheduling = true;\nconst disableSchedulerTimeoutInWorkLoop = false;\nconst enableSuspenseCallback = false;\nconst enableScopeAPI = false;\nconst enableCreateEventHandleAPI = false;\nconst enableLegacyFBSupport = false;\nconst enableYieldingBeforePassive = false;\nconst enableThrottledScheduling = false;\nconst enableLegacyCache = (/* unused pure expression or super */ null && (true));\nconst enableAsyncIterableChildren = (/* unused pure expression or super */ null && (true));\nconst enableTaint = (/* unused pure expression or super */ null && (true));\nconst enablePostpone = (/* unused pure expression or super */ null && (true));\nconst enableHalt = true;\nconst enableViewTransition = true;\nconst enableGestureTransition = (/* unused pure expression or super */ null && (true));\nconst enableScrollEndPolyfill = (/* unused pure expression or super */ null && (true));\nconst enableSuspenseyImages = false;\nconst enableFizzBlockingRender = (/* unused pure expression or super */ null && (true));\nconst enableSrcObject = (/* unused pure expression or super */ null && (true));\nconst enableHydrationChangeEvent = (/* unused pure expression or super */ null && (true));\nconst enableDefaultTransitionIndicator = (/* unused pure expression or super */ null && (true));\nconst enableObjectFiber = false;\nconst enableTransitionTracing = false;\nconst enableLegacyHidden = false;\nconst enableSuspenseAvoidThisFallback = false;\nconst enableCPUSuspense = (/* unused pure expression or super */ null && (true));\nconst enableNoCloningMemoCache = false;\nconst enableUseEffectEventHook = true;\nconst enableFizzExternalRuntime = (/* unused pure expression or super */ null && (true));\nconst alwaysThrottleRetries = true;\nconst passChildrenWhenCloningPersistedNodes = false;\nconst enableEagerAlternateStateNodeCleanup = true;\nconst enableRetryLaneExpiration = false;\nconst retryLaneExpirationMs = 5000;\nconst syncLaneExpirationMs = 250;\nconst transitionLaneExpirationMs = 5000;\nconst enableInfiniteRenderLoopDetection = false;\nconst enableFragmentRefs = true;\nconst enableFragmentRefsScrollIntoView = true;\nconst renameElementSymbol = true;\nconst enableHiddenSubtreeInsertionEffectCleanup = true;\nconst disableLegacyContext = true;\nconst disableLegacyContextForFunctionComponents = true;\nconst enableMoveBefore = false;\nconst disableClientCache = true;\nconst enableReactTestRendererWarning = true;\nconst disableLegacyMode = true;\nconst disableCommentsAsDOMContainers = true;\nconst enableTrustedTypesIntegration = false;\nconst disableInputAttributeSyncing = false;\nconst disableTextareaChildren = false;\nconst enableProfilerTimer = (/* unused pure expression or super */ null && (false));\nconst enableComponentPerformanceTrack = true;\nconst enableSchedulingProfiler = !enableComponentPerformanceTrack && false;\nconst enableProfilerCommitHooks = (/* unused pure expression or super */ null && (false));\nconst enableProfilerNestedUpdatePhase = (/* unused pure expression or super */ null && (false));\nconst enableAsyncDebugInfo = true;\nconst enableUpdaterTracking = (/* unused pure expression or super */ null && (false));\nconst ownerStackLimit = 1e4;\n;// CONCATENATED MODULE: ../shared/ReactSymbols.js\n\nconst REACT_LEGACY_ELEMENT_TYPE = Symbol.for('react.element');\nconst REACT_ELEMENT_TYPE = renameElementSymbol ? Symbol.for('react.transitional.element') : REACT_LEGACY_ELEMENT_TYPE;\nconst REACT_PORTAL_TYPE = Symbol.for('react.portal');\nconst REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nconst REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nconst REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nconst REACT_CONSUMER_TYPE = Symbol.for('react.consumer');\nconst REACT_CONTEXT_TYPE = Symbol.for('react.context');\nconst REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nconst REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nconst REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nconst REACT_MEMO_TYPE = Symbol.for('react.memo');\nconst REACT_LAZY_TYPE = Symbol.for('react.lazy');\nconst REACT_SCOPE_TYPE = Symbol.for('react.scope');\nconst REACT_ACTIVITY_TYPE = Symbol.for('react.activity');\nconst REACT_LEGACY_HIDDEN_TYPE = Symbol.for('react.legacy_hidden');\nconst REACT_TRACING_MARKER_TYPE = Symbol.for('react.tracing_marker');\nconst REACT_MEMO_CACHE_SENTINEL = Symbol.for('react.memo_cache_sentinel');\nconst REACT_POSTPONE_TYPE = Symbol.for('react.postpone');\nconst REACT_VIEW_TRANSITION_TYPE = Symbol.for('react.view_transition');\nconst MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nconst FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n const maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n return null;\n}\nconst ASYNC_ITERATOR = Symbol.asyncIterator;\n;// CONCATENATED MODULE: ../react-devtools-shared/src/frontend/types.js\nconst types_ElementTypeClass = 1;\nconst ElementTypeContext = 2;\nconst types_ElementTypeFunction = 5;\nconst types_ElementTypeForwardRef = 6;\nconst ElementTypeHostComponent = 7;\nconst types_ElementTypeMemo = 8;\nconst ElementTypeOtherOrUnknown = 9;\nconst ElementTypeProfiler = 10;\nconst ElementTypeRoot = 11;\nconst ElementTypeSuspense = 12;\nconst ElementTypeSuspenseList = 13;\nconst ElementTypeTracingMarker = 14;\nconst types_ElementTypeVirtual = 15;\nconst ElementTypeViewTransition = 16;\nconst ElementTypeActivity = 17;\nconst ComponentFilterElementType = 1;\nconst ComponentFilterDisplayName = 2;\nconst ComponentFilterLocation = 3;\nconst ComponentFilterHOC = 4;\nconst ComponentFilterEnvironmentName = 5;\nconst StrictMode = 1;\n;// CONCATENATED MODULE: ../react-devtools-shared/src/storage.js\nfunction storage_localStorageGetItem(key) {\n try {\n return localStorage.getItem(key);\n } catch (error) {\n return null;\n }\n}\nfunction localStorageRemoveItem(key) {\n try {\n localStorage.removeItem(key);\n } catch (error) {}\n}\nfunction storage_localStorageSetItem(key, value) {\n try {\n return localStorage.setItem(key, value);\n } catch (error) {}\n}\nfunction storage_sessionStorageGetItem(key) {\n try {\n return sessionStorage.getItem(key);\n } catch (error) {\n return null;\n }\n}\nfunction sessionStorageRemoveItem(key) {\n try {\n sessionStorage.removeItem(key);\n } catch (error) {}\n}\nfunction sessionStorageSetItem(key, value) {\n try {\n return sessionStorage.setItem(key, value);\n } catch (error) {}\n}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/isArray.js\nconst isArray = Array.isArray;\n/* harmony default export */ const src_isArray = (isArray);\n;// CONCATENATED MODULE: ../react-devtools-shared/src/utils.js\n\n\n\n\n\n\n\n\n\nconst utils_hasOwnProperty = Object.prototype.hasOwnProperty;\nconst cachedDisplayNames = new WeakMap();\nconst encodedStringCache = new (lru_cache_default())({\n max: 1000\n});\nconst LEGACY_REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nfunction alphaSortKeys(a, b) {\n if (a.toString() > b.toString()) {\n return 1;\n } else if (b.toString() > a.toString()) {\n return -1;\n } else {\n return 0;\n }\n}\nfunction getAllEnumerableKeys(obj) {\n const keys = new Set();\n let current = obj;\n while (current != null) {\n const currentKeys = [...Object.keys(current), ...Object.getOwnPropertySymbols(current)];\n const descriptors = Object.getOwnPropertyDescriptors(current);\n currentKeys.forEach(key => {\n if (descriptors[key].enumerable) {\n keys.add(key);\n }\n });\n current = Object.getPrototypeOf(current);\n }\n return keys;\n}\nfunction getWrappedDisplayName(outerType, innerType, wrapperName, fallbackName) {\n const displayName = outerType?.displayName;\n return displayName || `${wrapperName}(${getDisplayName(innerType, fallbackName)})`;\n}\nfunction getDisplayName(type, fallbackName = 'Anonymous') {\n const nameFromCache = cachedDisplayNames.get(type);\n if (nameFromCache != null) {\n return nameFromCache;\n }\n let displayName = fallbackName;\n if (typeof type.displayName === 'string') {\n displayName = type.displayName;\n } else if (typeof type.name === 'string' && type.name !== '') {\n displayName = type.name;\n }\n cachedDisplayNames.set(type, displayName);\n return displayName;\n}\nlet uidCounter = 0;\nfunction getUID() {\n return ++uidCounter;\n}\nfunction utfDecodeStringWithRanges(array, left, right) {\n let string = '';\n for (let i = left; i <= right; i++) {\n string += String.fromCodePoint(array[i]);\n }\n return string;\n}\nfunction surrogatePairToCodePoint(charCode1, charCode2) {\n return ((charCode1 & 0x3ff) << 10) + (charCode2 & 0x3ff) + 0x10000;\n}\nfunction utfEncodeString(string) {\n const cached = encodedStringCache.get(string);\n if (cached !== undefined) {\n return cached;\n }\n const encoded = [];\n let i = 0;\n let charCode;\n while (i < string.length) {\n charCode = string.charCodeAt(i);\n if ((charCode & 0xf800) === 0xd800) {\n encoded.push(surrogatePairToCodePoint(charCode, string.charCodeAt(++i)));\n } else {\n encoded.push(charCode);\n }\n ++i;\n }\n encodedStringCache.set(string, encoded);\n return encoded;\n}\nfunction printOperationsArray(operations) {\n const rendererID = operations[0];\n const rootID = operations[1];\n const logs = [`operations for renderer:${rendererID} and root:${rootID}`];\n let i = 2;\n const stringTable = [null];\n const stringTableSize = operations[i++];\n const stringTableEnd = i + stringTableSize;\n while (i < stringTableEnd) {\n const nextLength = operations[i++];\n const nextString = utfDecodeStringWithRanges(operations, i, i + nextLength - 1);\n stringTable.push(nextString);\n i += nextLength;\n }\n while (i < operations.length) {\n const operation = operations[i];\n switch (operation) {\n case TREE_OPERATION_ADD:\n {\n const id = operations[i + 1];\n const type = operations[i + 2];\n i += 3;\n if (type === ElementTypeRoot) {\n logs.push(`Add new root node ${id}`);\n i++;\n i++;\n i++;\n i++;\n } else {\n const parentID = operations[i];\n i++;\n i++;\n const displayNameStringID = operations[i];\n const displayName = stringTable[displayNameStringID];\n i++;\n i++;\n i++;\n logs.push(`Add node ${id} (${displayName || 'null'}) as child of ${parentID}`);\n }\n break;\n }\n case TREE_OPERATION_REMOVE:\n {\n const removeLength = operations[i + 1];\n i += 2;\n for (let removeIndex = 0; removeIndex < removeLength; removeIndex++) {\n const id = operations[i];\n i += 1;\n logs.push(`Remove node ${id}`);\n }\n break;\n }\n case TREE_OPERATION_REMOVE_ROOT:\n {\n i += 1;\n logs.push(`Remove root ${rootID}`);\n break;\n }\n case TREE_OPERATION_SET_SUBTREE_MODE:\n {\n const id = operations[i + 1];\n const mode = operations[i + 2];\n i += 3;\n logs.push(`Mode ${mode} set for subtree with root ${id}`);\n break;\n }\n case TREE_OPERATION_REORDER_CHILDREN:\n {\n const id = operations[i + 1];\n const numChildren = operations[i + 2];\n i += 3;\n const children = operations.slice(i, i + numChildren);\n i += numChildren;\n logs.push(`Re-order node ${id} children ${children.join(',')}`);\n break;\n }\n case TREE_OPERATION_UPDATE_TREE_BASE_DURATION:\n i += 3;\n break;\n case TREE_OPERATION_UPDATE_ERRORS_OR_WARNINGS:\n {\n const id = operations[i + 1];\n const numErrors = operations[i + 2];\n const numWarnings = operations[i + 3];\n i += 4;\n logs.push(`Node ${id} has ${numErrors} errors and ${numWarnings} warnings`);\n break;\n }\n case SUSPENSE_TREE_OPERATION_ADD:\n {\n const fiberID = operations[i + 1];\n const parentID = operations[i + 2];\n const nameStringID = operations[i + 3];\n const isSuspended = operations[i + 4];\n const numRects = operations[i + 5];\n i += 6;\n const name = stringTable[nameStringID];\n let rects;\n if (numRects === -1) {\n rects = 'null';\n } else {\n rects = '[';\n for (let rectIndex = 0; rectIndex < numRects; rectIndex++) {\n const offset = i + rectIndex * 4;\n const x = operations[offset + 0];\n const y = operations[offset + 1];\n const width = operations[offset + 2];\n const height = operations[offset + 3];\n if (rectIndex > 0) {\n rects += ', ';\n }\n rects += `(${x}, ${y}, ${width}, ${height})`;\n i += 4;\n }\n rects += ']';\n }\n logs.push(`Add suspense node ${fiberID} (${String(name)},rects={${rects}}) under ${parentID} suspended ${isSuspended}`);\n break;\n }\n case SUSPENSE_TREE_OPERATION_REMOVE:\n {\n const removeLength = operations[i + 1];\n i += 2;\n for (let removeIndex = 0; removeIndex < removeLength; removeIndex++) {\n const id = operations[i];\n i += 1;\n logs.push(`Remove suspense node ${id}`);\n }\n break;\n }\n case SUSPENSE_TREE_OPERATION_REORDER_CHILDREN:\n {\n const id = operations[i + 1];\n const numChildren = operations[i + 2];\n i += 3;\n const children = operations.slice(i, i + numChildren);\n i += numChildren;\n logs.push(`Re-order suspense node ${id} children ${children.join(',')}`);\n break;\n }\n case SUSPENSE_TREE_OPERATION_RESIZE:\n {\n const id = operations[i + 1];\n const numRects = operations[i + 2];\n i += 3;\n if (numRects === -1) {\n logs.push(`Resize suspense node ${id} to null`);\n } else {\n let line = `Resize suspense node ${id} to [`;\n for (let rectIndex = 0; rectIndex < numRects; rectIndex++) {\n const x = operations[i + 0];\n const y = operations[i + 1];\n const width = operations[i + 2];\n const height = operations[i + 3];\n if (rectIndex > 0) {\n line += ', ';\n }\n line += `(${x}, ${y}, ${width}, ${height})`;\n i += 4;\n }\n logs.push(line + ']');\n }\n break;\n }\n case SUSPENSE_TREE_OPERATION_SUSPENDERS:\n {\n i++;\n const changeLength = operations[i++];\n for (let changeIndex = 0; changeIndex < changeLength; changeIndex++) {\n const id = operations[i++];\n const hasUniqueSuspenders = operations[i++] === 1;\n const isSuspended = operations[i++] === 1;\n const environmentNamesLength = operations[i++];\n i += environmentNamesLength;\n logs.push(`Suspense node ${id} unique suspenders set to ${String(hasUniqueSuspenders)} is suspended set to ${String(isSuspended)} with ${String(environmentNamesLength)} environments`);\n }\n break;\n }\n default:\n throw Error(`Unsupported Bridge operation \"${operation}\"`);\n }\n }\n console.log(logs.join('\\n '));\n}\nfunction getDefaultComponentFilters() {\n return [{\n type: ComponentFilterElementType,\n value: ElementTypeHostComponent,\n isEnabled: true\n }];\n}\nfunction getSavedComponentFilters() {\n try {\n const raw = localStorageGetItem(LOCAL_STORAGE_COMPONENT_FILTER_PREFERENCES_KEY);\n if (raw != null) {\n const parsedFilters = JSON.parse(raw);\n return filterOutLocationComponentFilters(parsedFilters);\n }\n } catch (error) {}\n return getDefaultComponentFilters();\n}\nfunction setSavedComponentFilters(componentFilters) {\n localStorageSetItem(LOCAL_STORAGE_COMPONENT_FILTER_PREFERENCES_KEY, JSON.stringify(filterOutLocationComponentFilters(componentFilters)));\n}\nfunction filterOutLocationComponentFilters(componentFilters) {\n if (!Array.isArray(componentFilters)) {\n return componentFilters;\n }\n return componentFilters.filter(f => f.type !== ComponentFilterLocation);\n}\nconst vscodeFilepath = 'vscode://file/{path}:{line}:{column}';\nfunction getDefaultPreset() {\n return false ? 0 : 'vscode';\n}\nfunction getDefaultOpenInEditorURL() {\n return false ? 0 : vscodeFilepath;\n}\nfunction getOpenInEditorURL() {\n try {\n const rawPreset = localStorageGetItem(LOCAL_STORAGE_OPEN_IN_EDITOR_URL_PRESET);\n switch (rawPreset) {\n case '\"vscode\"':\n return vscodeFilepath;\n }\n const raw = localStorageGetItem(LOCAL_STORAGE_OPEN_IN_EDITOR_URL);\n if (raw != null) {\n return JSON.parse(raw);\n }\n } catch (error) {}\n return getDefaultOpenInEditorURL();\n}\nfunction getAlwaysOpenInEditor() {\n try {\n const raw = localStorageGetItem(LOCAL_STORAGE_ALWAYS_OPEN_IN_EDITOR);\n return raw === 'true';\n } catch (error) {}\n return false;\n}\nfunction parseElementDisplayNameFromBackend(displayName, type) {\n if (displayName === null) {\n return {\n formattedDisplayName: null,\n hocDisplayNames: null,\n compiledWithForget: false\n };\n }\n if (displayName.startsWith('Forget(')) {\n const displayNameWithoutForgetWrapper = displayName.slice(7, displayName.length - 1);\n const {\n formattedDisplayName,\n hocDisplayNames\n } = parseElementDisplayNameFromBackend(displayNameWithoutForgetWrapper, type);\n return {\n formattedDisplayName,\n hocDisplayNames,\n compiledWithForget: true\n };\n }\n let hocDisplayNames = null;\n switch (type) {\n case ElementTypeClass:\n case ElementTypeForwardRef:\n case ElementTypeFunction:\n case ElementTypeMemo:\n case ElementTypeVirtual:\n if (displayName.indexOf('(') >= 0) {\n const matches = displayName.match(/[^()]+/g);\n if (matches != null) {\n displayName = matches.pop();\n hocDisplayNames = matches;\n }\n }\n break;\n default:\n break;\n }\n return {\n formattedDisplayName: displayName,\n hocDisplayNames,\n compiledWithForget: false\n };\n}\nfunction shallowDiffers(prev, next) {\n for (const attribute in prev) {\n if (!(attribute in next)) {\n return true;\n }\n }\n for (const attribute in next) {\n if (prev[attribute] !== next[attribute]) {\n return true;\n }\n }\n return false;\n}\nfunction utils_getInObject(object, path) {\n return path.reduce((reduced, attr) => {\n if (reduced) {\n if (utils_hasOwnProperty.call(reduced, attr)) {\n return reduced[attr];\n }\n if (typeof reduced[Symbol.iterator] === 'function') {\n return Array.from(reduced)[attr];\n }\n }\n return null;\n }, object);\n}\nfunction deletePathInObject(object, path) {\n const length = path.length;\n const last = path[length - 1];\n if (object != null) {\n const parent = utils_getInObject(object, path.slice(0, length - 1));\n if (parent) {\n if (src_isArray(parent)) {\n parent.splice(last, 1);\n } else {\n delete parent[last];\n }\n }\n }\n}\nfunction renamePathInObject(object, oldPath, newPath) {\n const length = oldPath.length;\n if (object != null) {\n const parent = utils_getInObject(object, oldPath.slice(0, length - 1));\n if (parent) {\n const lastOld = oldPath[length - 1];\n const lastNew = newPath[length - 1];\n parent[lastNew] = parent[lastOld];\n if (src_isArray(parent)) {\n parent.splice(lastOld, 1);\n } else {\n delete parent[lastOld];\n }\n }\n }\n}\nfunction utils_setInObject(object, path, value) {\n const length = path.length;\n const last = path[length - 1];\n if (object != null) {\n const parent = utils_getInObject(object, path.slice(0, length - 1));\n if (parent) {\n parent[last] = value;\n }\n }\n}\nfunction isError(data) {\n if ('name' in data && 'message' in data) {\n while (data) {\n if (Object.prototype.toString.call(data) === '[object Error]') {\n return true;\n }\n data = Object.getPrototypeOf(data);\n }\n }\n return false;\n}\nfunction getDataType(data) {\n if (data === null) {\n return 'null';\n } else if (data === undefined) {\n return 'undefined';\n }\n if (typeof HTMLElement !== 'undefined' && data instanceof HTMLElement) {\n return 'html_element';\n }\n const type = typeof data;\n switch (type) {\n case 'bigint':\n return 'bigint';\n case 'boolean':\n return 'boolean';\n case 'function':\n return 'function';\n case 'number':\n if (Number.isNaN(data)) {\n return 'nan';\n } else if (!Number.isFinite(data)) {\n return 'infinity';\n } else {\n return 'number';\n }\n case 'object':\n switch (data.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_LEGACY_ELEMENT_TYPE:\n return 'react_element';\n case REACT_LAZY_TYPE:\n return 'react_lazy';\n }\n if (src_isArray(data)) {\n return 'array';\n } else if (ArrayBuffer.isView(data)) {\n return utils_hasOwnProperty.call(data.constructor, 'BYTES_PER_ELEMENT') ? 'typed_array' : 'data_view';\n } else if (data.constructor && data.constructor.name === 'ArrayBuffer') {\n return 'array_buffer';\n } else if (typeof data[Symbol.iterator] === 'function') {\n const iterator = data[Symbol.iterator]();\n if (!iterator) {} else {\n return iterator === data ? 'opaque_iterator' : 'iterator';\n }\n } else if (data.constructor && data.constructor.name === 'RegExp') {\n return 'regexp';\n } else if (typeof data.then === 'function') {\n return 'thenable';\n } else if (isError(data)) {\n return 'error';\n } else {\n const toStringValue = Object.prototype.toString.call(data);\n if (toStringValue === '[object Date]') {\n return 'date';\n } else if (toStringValue === '[object HTMLAllCollection]') {\n return 'html_all_collection';\n }\n }\n if (!isPlainObject(data)) {\n return 'class_instance';\n }\n return 'object';\n case 'string':\n return 'string';\n case 'symbol':\n return 'symbol';\n case 'undefined':\n if (Object.prototype.toString.call(data) === '[object HTMLAllCollection]') {\n return 'html_all_collection';\n }\n return 'undefined';\n default:\n return 'unknown';\n }\n}\nfunction typeOfWithLegacyElementSymbol(object) {\n if (typeof object === 'object' && object !== null) {\n const $$typeof = object.$$typeof;\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_LEGACY_ELEMENT_TYPE:\n const type = object.type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n case REACT_SUSPENSE_LIST_TYPE:\n case REACT_VIEW_TRANSITION_TYPE:\n return type;\n default:\n const $$typeofType = type && type.$$typeof;\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n return $$typeofType;\n case REACT_CONSUMER_TYPE:\n return $$typeofType;\n default:\n return $$typeof;\n }\n }\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n return undefined;\n}\nfunction getDisplayNameForReactElement(element) {\n const elementType = typeOfWithLegacyElementSymbol(element);\n switch (elementType) {\n case REACT_CONSUMER_TYPE:\n return 'ContextConsumer';\n case LEGACY_REACT_PROVIDER_TYPE:\n return 'ContextProvider';\n case REACT_CONTEXT_TYPE:\n return 'Context';\n case REACT_FORWARD_REF_TYPE:\n return 'ForwardRef';\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n case REACT_LAZY_TYPE:\n return 'Lazy';\n case REACT_MEMO_TYPE:\n return 'Memo';\n case REACT_PORTAL_TYPE:\n return 'Portal';\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n case REACT_VIEW_TRANSITION_TYPE:\n return 'ViewTransition';\n case REACT_TRACING_MARKER_TYPE:\n return 'TracingMarker';\n default:\n const {\n type\n } = element;\n if (typeof type === 'string') {\n return type;\n } else if (typeof type === 'function') {\n return getDisplayName(type, 'Anonymous');\n } else if (type != null) {\n return 'NotImplementedInDevtools';\n } else {\n return 'Element';\n }\n }\n}\nconst MAX_PREVIEW_STRING_LENGTH = 50;\nfunction truncateForDisplay(string, length = MAX_PREVIEW_STRING_LENGTH) {\n if (string.length > length) {\n return string.slice(0, length) + '…';\n } else {\n return string;\n }\n}\nfunction formatDataForPreview(data, showFormattedValue) {\n if (data != null && utils_hasOwnProperty.call(data, meta.type)) {\n return showFormattedValue ? data[meta.preview_long] : data[meta.preview_short];\n }\n const type = getDataType(data);\n switch (type) {\n case 'html_element':\n return `<${truncateForDisplay(data.tagName.toLowerCase())} />`;\n case 'function':\n if (typeof data.name === 'function' || data.name === '') {\n return '() => {}';\n }\n return `${truncateForDisplay(data.name)}() {}`;\n case 'string':\n return `\"${data}\"`;\n case 'bigint':\n return truncateForDisplay(data.toString() + 'n');\n case 'regexp':\n return truncateForDisplay(data.toString());\n case 'symbol':\n return truncateForDisplay(data.toString());\n case 'react_element':\n return `<${truncateForDisplay(getDisplayNameForReactElement(data) || 'Unknown')} />`;\n case 'react_lazy':\n const payload = data._payload;\n if (payload !== null && typeof payload === 'object') {\n if (payload._status === 0) {\n return `pending lazy()`;\n }\n if (payload._status === 1 && payload._result != null) {\n if (showFormattedValue) {\n const formatted = formatDataForPreview(payload._result.default, false);\n return `fulfilled lazy() {${truncateForDisplay(formatted)}}`;\n } else {\n return `fulfilled lazy() {…}`;\n }\n }\n if (payload._status === 2) {\n if (showFormattedValue) {\n const formatted = formatDataForPreview(payload._result, false);\n return `rejected lazy() {${truncateForDisplay(formatted)}}`;\n } else {\n return `rejected lazy() {…}`;\n }\n }\n if (payload.status === 'pending' || payload.status === 'blocked') {\n return `pending lazy()`;\n }\n if (payload.status === 'fulfilled') {\n if (showFormattedValue) {\n const formatted = formatDataForPreview(payload.value, false);\n return `fulfilled lazy() {${truncateForDisplay(formatted)}}`;\n } else {\n return `fulfilled lazy() {…}`;\n }\n }\n if (payload.status === 'rejected') {\n if (showFormattedValue) {\n const formatted = formatDataForPreview(payload.reason, false);\n return `rejected lazy() {${truncateForDisplay(formatted)}}`;\n } else {\n return `rejected lazy() {…}`;\n }\n }\n }\n return 'lazy()';\n case 'array_buffer':\n return `ArrayBuffer(${data.byteLength})`;\n case 'data_view':\n return `DataView(${data.buffer.byteLength})`;\n case 'array':\n if (showFormattedValue) {\n let formatted = '';\n for (let i = 0; i < data.length; i++) {\n if (i > 0) {\n formatted += ', ';\n }\n formatted += formatDataForPreview(data[i], false);\n if (formatted.length > MAX_PREVIEW_STRING_LENGTH) {\n break;\n }\n }\n return `[${truncateForDisplay(formatted)}]`;\n } else {\n const length = utils_hasOwnProperty.call(data, meta.size) ? data[meta.size] : data.length;\n return `Array(${length})`;\n }\n case 'typed_array':\n const shortName = `${data.constructor.name}(${data.length})`;\n if (showFormattedValue) {\n let formatted = '';\n for (let i = 0; i < data.length; i++) {\n if (i > 0) {\n formatted += ', ';\n }\n formatted += data[i];\n if (formatted.length > MAX_PREVIEW_STRING_LENGTH) {\n break;\n }\n }\n return `${shortName} [${truncateForDisplay(formatted)}]`;\n } else {\n return shortName;\n }\n case 'iterator':\n const name = data.constructor.name;\n if (showFormattedValue) {\n const array = Array.from(data);\n let formatted = '';\n for (let i = 0; i < array.length; i++) {\n const entryOrEntries = array[i];\n if (i > 0) {\n formatted += ', ';\n }\n if (src_isArray(entryOrEntries)) {\n const key = formatDataForPreview(entryOrEntries[0], true);\n const value = formatDataForPreview(entryOrEntries[1], false);\n formatted += `${key} => ${value}`;\n } else {\n formatted += formatDataForPreview(entryOrEntries, false);\n }\n if (formatted.length > MAX_PREVIEW_STRING_LENGTH) {\n break;\n }\n }\n return `${name}(${data.size}) {${truncateForDisplay(formatted)}}`;\n } else {\n return `${name}(${data.size})`;\n }\n case 'opaque_iterator':\n {\n return data[Symbol.toStringTag];\n }\n case 'date':\n return data.toString();\n case 'class_instance':\n try {\n let resolvedConstructorName = data.constructor.name;\n if (typeof resolvedConstructorName === 'string') {\n return resolvedConstructorName;\n }\n resolvedConstructorName = Object.getPrototypeOf(data).constructor.name;\n if (typeof resolvedConstructorName === 'string') {\n return resolvedConstructorName;\n }\n try {\n return truncateForDisplay(String(data));\n } catch (error) {\n return 'unserializable';\n }\n } catch (error) {\n return 'unserializable';\n }\n case 'thenable':\n let displayName;\n if (isPlainObject(data)) {\n displayName = 'Thenable';\n } else {\n let resolvedConstructorName = data.constructor.name;\n if (typeof resolvedConstructorName !== 'string') {\n resolvedConstructorName = Object.getPrototypeOf(data).constructor.name;\n }\n if (typeof resolvedConstructorName === 'string') {\n displayName = resolvedConstructorName;\n } else {\n displayName = 'Thenable';\n }\n }\n switch (data.status) {\n case 'pending':\n return `pending ${displayName}`;\n case 'fulfilled':\n if (showFormattedValue) {\n const formatted = formatDataForPreview(data.value, false);\n return `fulfilled ${displayName} {${truncateForDisplay(formatted)}}`;\n } else {\n return `fulfilled ${displayName} {…}`;\n }\n case 'rejected':\n if (showFormattedValue) {\n const formatted = formatDataForPreview(data.reason, false);\n return `rejected ${displayName} {${truncateForDisplay(formatted)}}`;\n } else {\n return `rejected ${displayName} {…}`;\n }\n default:\n return displayName;\n }\n case 'object':\n if (showFormattedValue) {\n const keys = Array.from(getAllEnumerableKeys(data)).sort(alphaSortKeys);\n let formatted = '';\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (i > 0) {\n formatted += ', ';\n }\n formatted += `${key.toString()}: ${formatDataForPreview(data[key], false)}`;\n if (formatted.length > MAX_PREVIEW_STRING_LENGTH) {\n break;\n }\n }\n return `{${truncateForDisplay(formatted)}}`;\n } else {\n return '{…}';\n }\n case 'error':\n return truncateForDisplay(String(data));\n case 'boolean':\n case 'number':\n case 'infinity':\n case 'nan':\n case 'null':\n case 'undefined':\n return String(data);\n default:\n try {\n return truncateForDisplay(String(data));\n } catch (error) {\n return 'unserializable';\n }\n }\n}\nconst isPlainObject = object => {\n const objectPrototype = Object.getPrototypeOf(object);\n if (!objectPrototype) return true;\n const objectParentPrototype = Object.getPrototypeOf(objectPrototype);\n return !objectParentPrototype;\n};\nfunction backendToFrontendSerializedElementMapper(element) {\n const {\n formattedDisplayName,\n hocDisplayNames,\n compiledWithForget\n } = parseElementDisplayNameFromBackend(element.displayName, element.type);\n return {\n ...element,\n displayName: formattedDisplayName,\n hocDisplayNames,\n compiledWithForget\n };\n}\nfunction normalizeUrlIfValid(url) {\n try {\n return new URL(url).toString();\n } catch {\n return url;\n }\n}\nfunction getIsReloadAndProfileSupported() {\n let isBackendStorageAPISupported = false;\n try {\n localStorage.getItem('test');\n isBackendStorageAPISupported = true;\n } catch (error) {}\n return isBackendStorageAPISupported && isSynchronousXHRSupported();\n}\nfunction getIfReloadedAndProfiling() {\n return storage_sessionStorageGetItem(SESSION_STORAGE_RELOAD_AND_PROFILE_KEY) === 'true';\n}\nfunction getProfilingSettings() {\n return {\n recordChangeDescriptions: sessionStorageGetItem(SESSION_STORAGE_RECORD_CHANGE_DESCRIPTIONS_KEY) === 'true',\n recordTimeline: sessionStorageGetItem(SESSION_STORAGE_RECORD_TIMELINE_KEY) === 'true'\n };\n}\nfunction onReloadAndProfile(recordChangeDescriptions, recordTimeline) {\n sessionStorageSetItem(SESSION_STORAGE_RELOAD_AND_PROFILE_KEY, 'true');\n sessionStorageSetItem(constants_SESSION_STORAGE_RECORD_CHANGE_DESCRIPTIONS_KEY, recordChangeDescriptions ? 'true' : 'false');\n sessionStorageSetItem(constants_SESSION_STORAGE_RECORD_TIMELINE_KEY, recordTimeline ? 'true' : 'false');\n}\nfunction onReloadAndProfileFlagsReset() {\n sessionStorageRemoveItem(SESSION_STORAGE_RELOAD_AND_PROFILE_KEY);\n sessionStorageRemoveItem(constants_SESSION_STORAGE_RECORD_CHANGE_DESCRIPTIONS_KEY);\n sessionStorageRemoveItem(constants_SESSION_STORAGE_RECORD_TIMELINE_KEY);\n}\nfunction unionOfTwoArrays(a, b) {\n let result = a;\n for (let i = 0; i < b.length; i++) {\n const value = b[i];\n if (a.indexOf(value) === -1) {\n if (result === a) {\n result = a.slice(0);\n }\n result.push(value);\n }\n }\n return result;\n}\n;// CONCATENATED MODULE: ../shared/noop.js\nfunction noop() {}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/hydration.js\n\n\n\nconst meta = {\n inspectable: Symbol('inspectable'),\n inspected: Symbol('inspected'),\n name: Symbol('name'),\n preview_long: Symbol('preview_long'),\n preview_short: Symbol('preview_short'),\n readonly: Symbol('readonly'),\n size: Symbol('size'),\n type: Symbol('type'),\n unserializable: Symbol('unserializable')\n};\nconst LEVEL_THRESHOLD = 2;\nfunction createDehydrated(type, inspectable, data, cleaned, path) {\n cleaned.push(path);\n const dehydrated = {\n inspectable,\n type,\n preview_long: formatDataForPreview(data, true),\n preview_short: formatDataForPreview(data, false),\n name: typeof data.constructor !== 'function' || typeof data.constructor.name !== 'string' || data.constructor.name === 'Object' ? '' : data.constructor.name\n };\n if (type === 'array' || type === 'typed_array') {\n dehydrated.size = data.length;\n } else if (type === 'object') {\n dehydrated.size = Object.keys(data).length;\n }\n if (type === 'iterator' || type === 'typed_array') {\n dehydrated.readonly = true;\n }\n return dehydrated;\n}\nfunction dehydrate(data, cleaned, unserializable, path, isPathAllowed, level = 0) {\n const type = getDataType(data);\n let isPathAllowedCheck;\n switch (type) {\n case 'html_element':\n cleaned.push(path);\n return {\n inspectable: false,\n preview_short: formatDataForPreview(data, false),\n preview_long: formatDataForPreview(data, true),\n name: data.tagName,\n type\n };\n case 'function':\n cleaned.push(path);\n return {\n inspectable: false,\n preview_short: formatDataForPreview(data, false),\n preview_long: formatDataForPreview(data, true),\n name: typeof data.name === 'function' || !data.name ? 'function' : data.name,\n type\n };\n case 'string':\n isPathAllowedCheck = isPathAllowed(path);\n if (isPathAllowedCheck) {\n return data;\n } else {\n return data.length <= 500 ? data : data.slice(0, 500) + '...';\n }\n case 'bigint':\n cleaned.push(path);\n return {\n inspectable: false,\n preview_short: formatDataForPreview(data, false),\n preview_long: formatDataForPreview(data, true),\n name: data.toString(),\n type\n };\n case 'symbol':\n cleaned.push(path);\n return {\n inspectable: false,\n preview_short: formatDataForPreview(data, false),\n preview_long: formatDataForPreview(data, true),\n name: data.toString(),\n type\n };\n case 'react_element':\n {\n isPathAllowedCheck = isPathAllowed(path);\n if (level >= LEVEL_THRESHOLD && !isPathAllowedCheck) {\n cleaned.push(path);\n return {\n inspectable: true,\n preview_short: formatDataForPreview(data, false),\n preview_long: formatDataForPreview(data, true),\n name: getDisplayNameForReactElement(data) || 'Unknown',\n type\n };\n }\n const unserializableValue = {\n unserializable: true,\n type,\n readonly: true,\n preview_short: formatDataForPreview(data, false),\n preview_long: formatDataForPreview(data, true),\n name: getDisplayNameForReactElement(data) || 'Unknown'\n };\n unserializableValue.key = dehydrate(data.key, cleaned, unserializable, path.concat(['key']), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);\n if (data.$$typeof === REACT_LEGACY_ELEMENT_TYPE) {\n unserializableValue.ref = dehydrate(data.ref, cleaned, unserializable, path.concat(['ref']), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);\n }\n unserializableValue.props = dehydrate(data.props, cleaned, unserializable, path.concat(['props']), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);\n unserializable.push(path);\n return unserializableValue;\n }\n case 'react_lazy':\n {\n isPathAllowedCheck = isPathAllowed(path);\n const payload = data._payload;\n if (level >= LEVEL_THRESHOLD && !isPathAllowedCheck) {\n cleaned.push(path);\n const inspectable = payload !== null && typeof payload === 'object' && (payload._status === 1 || payload._status === 2 || payload.status === 'fulfilled' || payload.status === 'rejected');\n return {\n inspectable,\n preview_short: formatDataForPreview(data, false),\n preview_long: formatDataForPreview(data, true),\n name: 'lazy()',\n type\n };\n }\n const unserializableValue = {\n unserializable: true,\n type: type,\n preview_short: formatDataForPreview(data, false),\n preview_long: formatDataForPreview(data, true),\n name: 'lazy()'\n };\n unserializableValue._payload = dehydrate(payload, cleaned, unserializable, path.concat(['_payload']), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);\n unserializable.push(path);\n return unserializableValue;\n }\n case 'array_buffer':\n case 'data_view':\n cleaned.push(path);\n return {\n inspectable: false,\n preview_short: formatDataForPreview(data, false),\n preview_long: formatDataForPreview(data, true),\n name: type === 'data_view' ? 'DataView' : 'ArrayBuffer',\n size: data.byteLength,\n type\n };\n case 'array':\n isPathAllowedCheck = isPathAllowed(path);\n if (level >= LEVEL_THRESHOLD && !isPathAllowedCheck) {\n return createDehydrated(type, true, data, cleaned, path);\n }\n const arr = [];\n for (let i = 0; i < data.length; i++) {\n arr[i] = dehydrateKey(data, i, cleaned, unserializable, path.concat([i]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);\n }\n return arr;\n case 'html_all_collection':\n case 'typed_array':\n case 'iterator':\n isPathAllowedCheck = isPathAllowed(path);\n if (level >= LEVEL_THRESHOLD && !isPathAllowedCheck) {\n return createDehydrated(type, true, data, cleaned, path);\n } else {\n const unserializableValue = {\n unserializable: true,\n type: type,\n readonly: true,\n size: type === 'typed_array' ? data.length : undefined,\n preview_short: formatDataForPreview(data, false),\n preview_long: formatDataForPreview(data, true),\n name: typeof data.constructor !== 'function' || typeof data.constructor.name !== 'string' || data.constructor.name === 'Object' ? '' : data.constructor.name\n };\n Array.from(data).forEach((item, i) => unserializableValue[i] = dehydrate(item, cleaned, unserializable, path.concat([i]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1));\n unserializable.push(path);\n return unserializableValue;\n }\n case 'opaque_iterator':\n cleaned.push(path);\n return {\n inspectable: false,\n preview_short: formatDataForPreview(data, false),\n preview_long: formatDataForPreview(data, true),\n name: data[Symbol.toStringTag],\n type\n };\n case 'date':\n cleaned.push(path);\n return {\n inspectable: false,\n preview_short: formatDataForPreview(data, false),\n preview_long: formatDataForPreview(data, true),\n name: data.toString(),\n type\n };\n case 'regexp':\n cleaned.push(path);\n return {\n inspectable: false,\n preview_short: formatDataForPreview(data, false),\n preview_long: formatDataForPreview(data, true),\n name: data.toString(),\n type\n };\n case 'thenable':\n isPathAllowedCheck = isPathAllowed(path);\n if (level >= LEVEL_THRESHOLD && !isPathAllowedCheck) {\n cleaned.push(path);\n return {\n inspectable: data.status === 'fulfilled' || data.status === 'rejected',\n preview_short: formatDataForPreview(data, false),\n preview_long: formatDataForPreview(data, true),\n name: data.toString(),\n type\n };\n }\n if (data.status === 'resolved_model' || data.status === 'resolve_module') {\n data.then(noop);\n }\n switch (data.status) {\n case 'fulfilled':\n {\n const unserializableValue = {\n unserializable: true,\n type: type,\n preview_short: formatDataForPreview(data, false),\n preview_long: formatDataForPreview(data, true),\n name: 'fulfilled Thenable'\n };\n unserializableValue.value = dehydrate(data.value, cleaned, unserializable, path.concat(['value']), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);\n unserializable.push(path);\n return unserializableValue;\n }\n case 'rejected':\n {\n const unserializableValue = {\n unserializable: true,\n type: type,\n preview_short: formatDataForPreview(data, false),\n preview_long: formatDataForPreview(data, true),\n name: 'rejected Thenable'\n };\n unserializableValue.reason = dehydrate(data.reason, cleaned, unserializable, path.concat(['reason']), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);\n unserializable.push(path);\n return unserializableValue;\n }\n default:\n cleaned.push(path);\n return {\n inspectable: false,\n preview_short: formatDataForPreview(data, false),\n preview_long: formatDataForPreview(data, true),\n name: data.toString(),\n type\n };\n }\n case 'object':\n isPathAllowedCheck = isPathAllowed(path);\n if (level >= LEVEL_THRESHOLD && !isPathAllowedCheck) {\n return createDehydrated(type, true, data, cleaned, path);\n } else {\n const object = {};\n getAllEnumerableKeys(data).forEach(key => {\n const name = key.toString();\n object[name] = dehydrateKey(data, key, cleaned, unserializable, path.concat([name]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);\n });\n return object;\n }\n case 'class_instance':\n {\n isPathAllowedCheck = isPathAllowed(path);\n if (level >= LEVEL_THRESHOLD && !isPathAllowedCheck) {\n return createDehydrated(type, true, data, cleaned, path);\n }\n const value = {\n unserializable: true,\n type,\n readonly: true,\n preview_short: formatDataForPreview(data, false),\n preview_long: formatDataForPreview(data, true),\n name: typeof data.constructor !== 'function' || typeof data.constructor.name !== 'string' ? '' : data.constructor.name\n };\n getAllEnumerableKeys(data).forEach(key => {\n const keyAsString = key.toString();\n value[keyAsString] = dehydrate(data[key], cleaned, unserializable, path.concat([keyAsString]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);\n });\n unserializable.push(path);\n return value;\n }\n case 'error':\n {\n isPathAllowedCheck = isPathAllowed(path);\n if (level >= LEVEL_THRESHOLD && !isPathAllowedCheck) {\n return createDehydrated(type, true, data, cleaned, path);\n }\n const value = {\n unserializable: true,\n type,\n readonly: true,\n preview_short: formatDataForPreview(data, false),\n preview_long: formatDataForPreview(data, true),\n name: data.name\n };\n value.message = dehydrate(data.message, cleaned, unserializable, path.concat(['message']), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);\n value.stack = dehydrate(data.stack, cleaned, unserializable, path.concat(['stack']), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);\n if ('cause' in data) {\n value.cause = dehydrate(data.cause, cleaned, unserializable, path.concat(['cause']), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);\n }\n getAllEnumerableKeys(data).forEach(key => {\n const keyAsString = key.toString();\n value[keyAsString] = dehydrate(data[key], cleaned, unserializable, path.concat([keyAsString]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);\n });\n unserializable.push(path);\n return value;\n }\n case 'infinity':\n case 'nan':\n case 'undefined':\n cleaned.push(path);\n return {\n type\n };\n default:\n return data;\n }\n}\nfunction dehydrateKey(parent, key, cleaned, unserializable, path, isPathAllowed, level = 0) {\n try {\n return dehydrate(parent[key], cleaned, unserializable, path, isPathAllowed, level);\n } catch (error) {\n let preview = '';\n if (typeof error === 'object' && error !== null && typeof error.stack === 'string') {\n preview = error.stack;\n } else if (typeof error === 'string') {\n preview = error;\n }\n cleaned.push(path);\n return {\n inspectable: false,\n preview_short: '[Exception]',\n preview_long: preview ? '[Exception: ' + preview + ']' : '[Exception]',\n name: preview,\n type: 'unknown'\n };\n }\n}\nfunction fillInPath(object, data, path, value) {\n const target = getInObject(object, path);\n if (target != null) {\n if (!target[meta.unserializable]) {\n delete target[meta.inspectable];\n delete target[meta.inspected];\n delete target[meta.name];\n delete target[meta.preview_long];\n delete target[meta.preview_short];\n delete target[meta.readonly];\n delete target[meta.size];\n delete target[meta.type];\n }\n }\n if (value !== null && data.unserializable.length > 0) {\n const unserializablePath = data.unserializable[0];\n let isMatch = unserializablePath.length === path.length;\n for (let i = 0; i < path.length; i++) {\n if (path[i] !== unserializablePath[i]) {\n isMatch = false;\n break;\n }\n }\n if (isMatch) {\n upgradeUnserializable(value, value);\n }\n }\n setInObject(object, path, value);\n}\nfunction hydrate(object, cleaned, unserializable) {\n cleaned.forEach(path => {\n const length = path.length;\n const last = path[length - 1];\n const parent = getInObject(object, path.slice(0, length - 1));\n if (!parent || !parent.hasOwnProperty(last)) {\n return;\n }\n const value = parent[last];\n if (!value) {\n return;\n } else if (value.type === 'infinity') {\n parent[last] = Infinity;\n } else if (value.type === 'nan') {\n parent[last] = NaN;\n } else if (value.type === 'undefined') {\n parent[last] = undefined;\n } else {\n const replaced = {};\n replaced[meta.inspectable] = !!value.inspectable;\n replaced[meta.inspected] = false;\n replaced[meta.name] = value.name;\n replaced[meta.preview_long] = value.preview_long;\n replaced[meta.preview_short] = value.preview_short;\n replaced[meta.size] = value.size;\n replaced[meta.readonly] = !!value.readonly;\n replaced[meta.type] = value.type;\n parent[last] = replaced;\n }\n });\n unserializable.forEach(path => {\n const length = path.length;\n const last = path[length - 1];\n const parent = getInObject(object, path.slice(0, length - 1));\n if (!parent || !parent.hasOwnProperty(last)) {\n return;\n }\n const node = parent[last];\n const replacement = {\n ...node\n };\n upgradeUnserializable(replacement, node);\n parent[last] = replacement;\n });\n return object;\n}\nfunction upgradeUnserializable(destination, source) {\n Object.defineProperties(destination, {\n [meta.inspected]: {\n configurable: true,\n enumerable: false,\n value: !!source.inspected\n },\n [meta.name]: {\n configurable: true,\n enumerable: false,\n value: source.name\n },\n [meta.preview_long]: {\n configurable: true,\n enumerable: false,\n value: source.preview_long\n },\n [meta.preview_short]: {\n configurable: true,\n enumerable: false,\n value: source.preview_short\n },\n [meta.size]: {\n configurable: true,\n enumerable: false,\n value: source.size\n },\n [meta.readonly]: {\n configurable: true,\n enumerable: false,\n value: !!source.readonly\n },\n [meta.type]: {\n configurable: true,\n enumerable: false,\n value: source.type\n },\n [meta.unserializable]: {\n configurable: true,\n enumerable: false,\n value: !!source.unserializable\n }\n });\n delete destination.inspected;\n delete destination.name;\n delete destination.preview_long;\n delete destination.preview_short;\n delete destination.size;\n delete destination.readonly;\n delete destination.type;\n delete destination.unserializable;\n}\n;// CONCATENATED MODULE: ../shared/isArray.js\nconst isArrayImpl = Array.isArray;\nfunction isArray_isArray(a) {\n return isArrayImpl(a);\n}\n/* harmony default export */ const shared_isArray = (isArray_isArray);\n;// CONCATENATED MODULE: ../react-devtools-shared/src/backend/utils/index.js\n\n\n\n\n\nconst FIRST_DEVTOOLS_BACKEND_LOCKSTEP_VER = '999.9.9';\nfunction hasAssignedBackend(version) {\n if (version == null || version === '') {\n return false;\n }\n return gte(version, FIRST_DEVTOOLS_BACKEND_LOCKSTEP_VER);\n}\nfunction cleanForBridge(data, isPathAllowed, path = []) {\n if (data !== null) {\n const cleanedPaths = [];\n const unserializablePaths = [];\n const cleanedData = dehydrate(data, cleanedPaths, unserializablePaths, path, isPathAllowed);\n return {\n data: cleanedData,\n cleaned: cleanedPaths,\n unserializable: unserializablePaths\n };\n } else {\n return null;\n }\n}\nfunction copyWithDelete(obj, path, index = 0) {\n const key = path[index];\n const updated = shared_isArray(obj) ? obj.slice() : {\n ...obj\n };\n if (index + 1 === path.length) {\n if (shared_isArray(updated)) {\n updated.splice(key, 1);\n } else {\n delete updated[key];\n }\n } else {\n updated[key] = copyWithDelete(obj[key], path, index + 1);\n }\n return updated;\n}\nfunction copyWithRename(obj, oldPath, newPath, index = 0) {\n const oldKey = oldPath[index];\n const updated = shared_isArray(obj) ? obj.slice() : {\n ...obj\n };\n if (index + 1 === oldPath.length) {\n const newKey = newPath[index];\n updated[newKey] = updated[oldKey];\n if (shared_isArray(updated)) {\n updated.splice(oldKey, 1);\n } else {\n delete updated[oldKey];\n }\n } else {\n updated[oldKey] = copyWithRename(obj[oldKey], oldPath, newPath, index + 1);\n }\n return updated;\n}\nfunction copyWithSet(obj, path, value, index = 0) {\n if (index >= path.length) {\n return value;\n }\n const key = path[index];\n const updated = shared_isArray(obj) ? obj.slice() : {\n ...obj\n };\n updated[key] = copyWithSet(obj[key], path, value, index + 1);\n return updated;\n}\nfunction getEffectDurations(root) {\n let effectDuration = null;\n let passiveEffectDuration = null;\n const hostRoot = root.current;\n if (hostRoot != null) {\n const stateNode = hostRoot.stateNode;\n if (stateNode != null) {\n effectDuration = stateNode.effectDuration != null ? stateNode.effectDuration : null;\n passiveEffectDuration = stateNode.passiveEffectDuration != null ? stateNode.passiveEffectDuration : null;\n }\n }\n return {\n effectDuration,\n passiveEffectDuration\n };\n}\nfunction serializeToString(data) {\n if (data === undefined) {\n return 'undefined';\n }\n if (typeof data === 'function') {\n return data.toString();\n }\n const cache = new Set();\n return JSON.stringify(data, (key, value) => {\n if (typeof value === 'object' && value !== null) {\n if (cache.has(value)) {\n return;\n }\n cache.add(value);\n }\n if (typeof value === 'bigint') {\n return value.toString() + 'n';\n }\n return value;\n }, 2);\n}\nfunction safeToString(val) {\n try {\n return String(val);\n } catch (err) {\n if (typeof val === 'object') {\n return '[object Object]';\n }\n throw err;\n }\n}\nfunction formatConsoleArgumentsToSingleString(maybeMessage, ...inputArgs) {\n const args = inputArgs.slice();\n let formatted = safeToString(maybeMessage);\n if (typeof maybeMessage === 'string') {\n if (args.length) {\n const REGEXP = /(%?)(%([jds]))/g;\n formatted = formatted.replace(REGEXP, (match, escaped, ptn, flag) => {\n let arg = args.shift();\n switch (flag) {\n case 's':\n arg += '';\n break;\n case 'd':\n case 'i':\n arg = parseInt(arg, 10).toString();\n break;\n case 'f':\n arg = parseFloat(arg).toString();\n break;\n }\n if (!escaped) {\n return arg;\n }\n args.unshift(arg);\n return match;\n });\n }\n }\n if (args.length) {\n for (let i = 0; i < args.length; i++) {\n formatted += ' ' + safeToString(args[i]);\n }\n }\n formatted = formatted.replace(/%{2,2}/g, '%');\n return String(formatted);\n}\nfunction isSynchronousXHRSupported() {\n return !!(window.document && window.document.featurePolicy && window.document.featurePolicy.allowsFeature('sync-xhr'));\n}\nfunction gt(a = '', b = '') {\n return compareVersions(a, b) === 1;\n}\nfunction gte(a = '', b = '') {\n return compareVersions(a, b) > -1;\n}\nconst isReactNativeEnvironment = () => {\n return window.document == null;\n};\nfunction formatDurationToMicrosecondsGranularity(duration) {\n return Math.round(duration * 1000) / 1000;\n}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/backend/views/utils.js\nfunction getOwnerWindow(node) {\n if (!node.ownerDocument) {\n return null;\n }\n return node.ownerDocument.defaultView;\n}\nfunction getOwnerIframe(node) {\n const nodeWindow = getOwnerWindow(node);\n if (nodeWindow) {\n return nodeWindow.frameElement;\n }\n return null;\n}\nfunction getBoundingClientRectWithBorderOffset(node) {\n const dimensions = getElementDimensions(node);\n return mergeRectOffsets([node.getBoundingClientRect(), {\n top: dimensions.borderTop,\n left: dimensions.borderLeft,\n bottom: dimensions.borderBottom,\n right: dimensions.borderRight,\n width: 0,\n height: 0\n }]);\n}\nfunction mergeRectOffsets(rects) {\n return rects.reduce((previousRect, rect) => {\n if (previousRect == null) {\n return rect;\n }\n return {\n top: previousRect.top + rect.top,\n left: previousRect.left + rect.left,\n width: previousRect.width,\n height: previousRect.height,\n bottom: previousRect.bottom + rect.bottom,\n right: previousRect.right + rect.right\n };\n });\n}\nfunction getNestedBoundingClientRect(node, boundaryWindow) {\n const ownerIframe = getOwnerIframe(node);\n if (ownerIframe && ownerIframe !== boundaryWindow) {\n const rects = [node.getBoundingClientRect()];\n let currentIframe = ownerIframe;\n let onlyOneMore = false;\n while (currentIframe) {\n const rect = getBoundingClientRectWithBorderOffset(currentIframe);\n rects.push(rect);\n currentIframe = getOwnerIframe(currentIframe);\n if (onlyOneMore) {\n break;\n }\n if (currentIframe && getOwnerWindow(currentIframe) === boundaryWindow) {\n onlyOneMore = true;\n }\n }\n return mergeRectOffsets(rects);\n } else {\n return node.getBoundingClientRect();\n }\n}\nfunction getElementDimensions(domElement) {\n const calculatedStyle = window.getComputedStyle(domElement);\n return {\n borderLeft: parseInt(calculatedStyle.borderLeftWidth, 10),\n borderRight: parseInt(calculatedStyle.borderRightWidth, 10),\n borderTop: parseInt(calculatedStyle.borderTopWidth, 10),\n borderBottom: parseInt(calculatedStyle.borderBottomWidth, 10),\n marginLeft: parseInt(calculatedStyle.marginLeft, 10),\n marginRight: parseInt(calculatedStyle.marginRight, 10),\n marginTop: parseInt(calculatedStyle.marginTop, 10),\n marginBottom: parseInt(calculatedStyle.marginBottom, 10),\n paddingLeft: parseInt(calculatedStyle.paddingLeft, 10),\n paddingRight: parseInt(calculatedStyle.paddingRight, 10),\n paddingTop: parseInt(calculatedStyle.paddingTop, 10),\n paddingBottom: parseInt(calculatedStyle.paddingBottom, 10)\n };\n}\nfunction extractHOCNames(displayName) {\n if (!displayName) return {\n baseComponentName: '',\n hocNames: []\n };\n const hocRegex = /([A-Z][a-zA-Z0-9]*?)\\((.*)\\)/g;\n const hocNames = [];\n let baseComponentName = displayName;\n let match;\n while ((match = hocRegex.exec(baseComponentName)) != null) {\n if (Array.isArray(match)) {\n const [, hocName, inner] = match;\n hocNames.push(hocName);\n baseComponentName = inner;\n }\n }\n return {\n baseComponentName,\n hocNames\n };\n}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/backend/views/Highlighter/Overlay.js\n\nconst Overlay_assign = Object.assign;\nclass OverlayRect {\n constructor(doc, container) {\n this.node = doc.createElement('div');\n this.border = doc.createElement('div');\n this.padding = doc.createElement('div');\n this.content = doc.createElement('div');\n this.border.style.borderColor = overlayStyles.border;\n this.padding.style.borderColor = overlayStyles.padding;\n this.content.style.backgroundColor = overlayStyles.background;\n Overlay_assign(this.node.style, {\n borderColor: overlayStyles.margin,\n pointerEvents: 'none',\n position: 'fixed'\n });\n this.node.style.zIndex = '10000000';\n this.node.appendChild(this.border);\n this.border.appendChild(this.padding);\n this.padding.appendChild(this.content);\n container.appendChild(this.node);\n }\n remove() {\n if (this.node.parentNode) {\n this.node.parentNode.removeChild(this.node);\n }\n }\n update(box, dims) {\n boxWrap(dims, 'margin', this.node);\n boxWrap(dims, 'border', this.border);\n boxWrap(dims, 'padding', this.padding);\n Overlay_assign(this.content.style, {\n height: box.height - dims.borderTop - dims.borderBottom - dims.paddingTop - dims.paddingBottom + 'px',\n width: box.width - dims.borderLeft - dims.borderRight - dims.paddingLeft - dims.paddingRight + 'px'\n });\n Overlay_assign(this.node.style, {\n top: box.top - dims.marginTop + 'px',\n left: box.left - dims.marginLeft + 'px'\n });\n }\n}\nclass OverlayTip {\n constructor(doc, container) {\n this.tip = doc.createElement('div');\n Overlay_assign(this.tip.style, {\n display: 'flex',\n flexFlow: 'row nowrap',\n backgroundColor: '#333740',\n borderRadius: '2px',\n fontFamily: '\"SFMono-Regular\", Consolas, \"Liberation Mono\", Menlo, Courier, monospace',\n fontWeight: 'bold',\n padding: '3px 5px',\n pointerEvents: 'none',\n position: 'fixed',\n fontSize: '12px',\n whiteSpace: 'nowrap'\n });\n this.nameSpan = doc.createElement('span');\n this.tip.appendChild(this.nameSpan);\n Overlay_assign(this.nameSpan.style, {\n color: '#ee78e6',\n borderRight: '1px solid #aaaaaa',\n paddingRight: '0.5rem',\n marginRight: '0.5rem'\n });\n this.dimSpan = doc.createElement('span');\n this.tip.appendChild(this.dimSpan);\n Overlay_assign(this.dimSpan.style, {\n color: '#d7d7d7'\n });\n this.tip.style.zIndex = '10000000';\n container.appendChild(this.tip);\n }\n remove() {\n if (this.tip.parentNode) {\n this.tip.parentNode.removeChild(this.tip);\n }\n }\n updateText(name, width, height) {\n this.nameSpan.textContent = name;\n this.dimSpan.textContent = Math.round(width) + 'px × ' + Math.round(height) + 'px';\n }\n updatePosition(dims, bounds) {\n const tipRect = this.tip.getBoundingClientRect();\n const tipPos = findTipPos(dims, bounds, {\n width: tipRect.width,\n height: tipRect.height\n });\n Overlay_assign(this.tip.style, tipPos.style);\n }\n}\nclass Overlay {\n constructor(agent) {\n const currentWindow = window.__REACT_DEVTOOLS_TARGET_WINDOW__ || window;\n this.window = currentWindow;\n const tipBoundsWindow = window.__REACT_DEVTOOLS_TARGET_WINDOW__ || window;\n this.tipBoundsWindow = tipBoundsWindow;\n const doc = currentWindow.document;\n this.container = doc.createElement('div');\n this.container.style.zIndex = '10000000';\n this.tip = new OverlayTip(doc, this.container);\n this.rects = [];\n this.agent = agent;\n doc.body.appendChild(this.container);\n }\n remove() {\n this.tip.remove();\n this.rects.forEach(rect => {\n rect.remove();\n });\n this.rects.length = 0;\n if (this.container.parentNode) {\n this.container.parentNode.removeChild(this.container);\n }\n }\n inspect(nodes, name) {\n const elements = nodes.filter(node => node.nodeType === Node.ELEMENT_NODE);\n while (this.rects.length > elements.length) {\n const rect = this.rects.pop();\n rect.remove();\n }\n if (elements.length === 0) {\n return;\n }\n while (this.rects.length < elements.length) {\n this.rects.push(new OverlayRect(this.window.document, this.container));\n }\n const outerBox = {\n top: Number.POSITIVE_INFINITY,\n right: Number.NEGATIVE_INFINITY,\n bottom: Number.NEGATIVE_INFINITY,\n left: Number.POSITIVE_INFINITY\n };\n elements.forEach((element, index) => {\n const box = getNestedBoundingClientRect(element, this.window);\n const dims = getElementDimensions(element);\n outerBox.top = Math.min(outerBox.top, box.top - dims.marginTop);\n outerBox.right = Math.max(outerBox.right, box.left + box.width + dims.marginRight);\n outerBox.bottom = Math.max(outerBox.bottom, box.top + box.height + dims.marginBottom);\n outerBox.left = Math.min(outerBox.left, box.left - dims.marginLeft);\n const rect = this.rects[index];\n rect.update(box, dims);\n });\n if (!name) {\n name = elements[0].nodeName.toLowerCase();\n const node = elements[0];\n const ownerName = this.agent.getComponentNameForHostInstance(node);\n if (ownerName) {\n name += ' (in ' + ownerName + ')';\n }\n }\n this.tip.updateText(name, outerBox.right - outerBox.left, outerBox.bottom - outerBox.top);\n const tipBounds = getNestedBoundingClientRect(this.tipBoundsWindow.document.documentElement, this.window);\n this.tip.updatePosition({\n top: outerBox.top,\n left: outerBox.left,\n height: outerBox.bottom - outerBox.top,\n width: outerBox.right - outerBox.left\n }, {\n top: tipBounds.top + this.tipBoundsWindow.scrollY,\n left: tipBounds.left + this.tipBoundsWindow.scrollX,\n height: this.tipBoundsWindow.innerHeight,\n width: this.tipBoundsWindow.innerWidth\n });\n }\n}\nfunction findTipPos(dims, bounds, tipSize) {\n const tipHeight = Math.max(tipSize.height, 20);\n const tipWidth = Math.max(tipSize.width, 60);\n const margin = 5;\n let top;\n if (dims.top + dims.height + tipHeight <= bounds.top + bounds.height) {\n if (dims.top + dims.height < bounds.top + 0) {\n top = bounds.top + margin;\n } else {\n top = dims.top + dims.height + margin;\n }\n } else if (dims.top - tipHeight <= bounds.top + bounds.height) {\n if (dims.top - tipHeight - margin < bounds.top + margin) {\n top = bounds.top + margin;\n } else {\n top = dims.top - tipHeight - margin;\n }\n } else {\n top = bounds.top + bounds.height - tipHeight - margin;\n }\n let left = dims.left + margin;\n if (dims.left < bounds.left) {\n left = bounds.left + margin;\n }\n if (dims.left + tipWidth > bounds.left + bounds.width) {\n left = bounds.left + bounds.width - tipWidth - margin;\n }\n top += 'px';\n left += 'px';\n return {\n style: {\n top,\n left\n }\n };\n}\nfunction boxWrap(dims, what, node) {\n Overlay_assign(node.style, {\n borderTopWidth: dims[what + 'Top'] + 'px',\n borderLeftWidth: dims[what + 'Left'] + 'px',\n borderRightWidth: dims[what + 'Right'] + 'px',\n borderBottomWidth: dims[what + 'Bottom'] + 'px',\n borderStyle: 'solid'\n });\n}\nconst overlayStyles = {\n background: 'rgba(120, 170, 210, 0.7)',\n padding: 'rgba(77, 200, 0, 0.3)',\n margin: 'rgba(255, 155, 0, 0.3)',\n border: 'rgba(255, 200, 50, 0.3)'\n};\n;// CONCATENATED MODULE: ../react-devtools-shared/src/backend/views/Highlighter/Highlighter.js\n\n\nconst SHOW_DURATION = 2000;\nlet timeoutID = null;\nlet overlay = null;\nfunction hideOverlayNative(agent) {\n agent.emit('hideNativeHighlight');\n}\nfunction hideOverlayWeb() {\n timeoutID = null;\n if (overlay !== null) {\n overlay.remove();\n overlay = null;\n }\n}\nfunction hideOverlay(agent) {\n return isReactNativeEnvironment() ? hideOverlayNative(agent) : hideOverlayWeb();\n}\nfunction showOverlayNative(elements, agent) {\n agent.emit('showNativeHighlight', elements);\n}\nfunction showOverlayWeb(elements, componentName, agent, hideAfterTimeout) {\n if (timeoutID !== null) {\n clearTimeout(timeoutID);\n }\n if (overlay === null) {\n overlay = new Overlay(agent);\n }\n overlay.inspect(elements, componentName);\n if (hideAfterTimeout) {\n timeoutID = setTimeout(() => hideOverlay(agent), SHOW_DURATION);\n }\n}\nfunction showOverlay(elements, componentName, agent, hideAfterTimeout) {\n return isReactNativeEnvironment() ? showOverlayNative(elements, agent) : showOverlayWeb(elements, componentName, agent, hideAfterTimeout);\n}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/backend/views/Highlighter/index.js\n\n\nlet iframesListeningTo = new Set();\nlet inspectOnlySuspenseNodes = false;\nfunction setupHighlighter(bridge, agent) {\n bridge.addListener('clearHostInstanceHighlight', clearHostInstanceHighlight);\n bridge.addListener('highlightHostInstance', highlightHostInstance);\n bridge.addListener('highlightHostInstances', highlightHostInstances);\n bridge.addListener('scrollToHostInstance', scrollToHostInstance);\n bridge.addListener('shutdown', stopInspectingHost);\n bridge.addListener('startInspectingHost', startInspectingHost);\n bridge.addListener('stopInspectingHost', stopInspectingHost);\n function startInspectingHost(onlySuspenseNodes) {\n inspectOnlySuspenseNodes = onlySuspenseNodes;\n registerListenersOnWindow(window);\n }\n function registerListenersOnWindow(window) {\n if (window && typeof window.addEventListener === 'function') {\n window.addEventListener('click', onClick, true);\n window.addEventListener('mousedown', onMouseEvent, true);\n window.addEventListener('mouseover', onMouseEvent, true);\n window.addEventListener('mouseup', onMouseEvent, true);\n window.addEventListener('pointerdown', onPointerDown, true);\n window.addEventListener('pointermove', onPointerMove, true);\n window.addEventListener('pointerup', onPointerUp, true);\n } else {\n agent.emit('startInspectingNative');\n }\n }\n function stopInspectingHost() {\n hideOverlay(agent);\n removeListenersOnWindow(window);\n iframesListeningTo.forEach(function (frame) {\n try {\n removeListenersOnWindow(frame.contentWindow);\n } catch (error) {}\n });\n iframesListeningTo = new Set();\n }\n function removeListenersOnWindow(window) {\n if (window && typeof window.removeEventListener === 'function') {\n window.removeEventListener('click', onClick, true);\n window.removeEventListener('mousedown', onMouseEvent, true);\n window.removeEventListener('mouseover', onMouseEvent, true);\n window.removeEventListener('mouseup', onMouseEvent, true);\n window.removeEventListener('pointerdown', onPointerDown, true);\n window.removeEventListener('pointermove', onPointerMove, true);\n window.removeEventListener('pointerup', onPointerUp, true);\n } else {\n agent.emit('stopInspectingNative');\n }\n }\n function clearHostInstanceHighlight() {\n hideOverlay(agent);\n }\n function highlightHostInstance({\n displayName,\n hideAfterTimeout,\n id,\n openBuiltinElementsPanel,\n rendererID,\n scrollIntoView\n }) {\n const renderer = agent.rendererInterfaces[rendererID];\n if (renderer == null) {\n console.warn(`Invalid renderer id \"${rendererID}\" for element \"${id}\"`);\n hideOverlay(agent);\n return;\n }\n if (!renderer.hasElementWithId(id)) {\n hideOverlay(agent);\n return;\n }\n const nodes = renderer.findHostInstancesForElementID(id);\n if (nodes != null) {\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i];\n if (node === null) {\n continue;\n }\n const nodeRects = typeof node.getClientRects === 'function' ? node.getClientRects() : [];\n if (nodeRects.length > 0 && (nodeRects.length > 2 || nodeRects[0].width > 0 || nodeRects[0].height > 0)) {\n if (scrollIntoView && typeof node.scrollIntoView === 'function') {\n if (scrollDelayTimer) {\n clearTimeout(scrollDelayTimer);\n scrollDelayTimer = null;\n }\n node.scrollIntoView({\n block: 'nearest',\n inline: 'nearest'\n });\n }\n showOverlay(nodes, displayName, agent, hideAfterTimeout);\n if (openBuiltinElementsPanel) {\n window.__REACT_DEVTOOLS_GLOBAL_HOOK__.$0 = node;\n bridge.send('syncSelectionToBuiltinElementsPanel');\n }\n return;\n }\n }\n }\n hideOverlay(agent);\n }\n function highlightHostInstances({\n displayName,\n hideAfterTimeout,\n elements,\n scrollIntoView\n }) {\n const nodes = [];\n for (let i = 0; i < elements.length; i++) {\n const {\n id,\n rendererID\n } = elements[i];\n const renderer = agent.rendererInterfaces[rendererID];\n if (renderer == null) {\n console.warn(`Invalid renderer id \"${rendererID}\" for element \"${id}\"`);\n continue;\n }\n if (!renderer.hasElementWithId(id)) {\n continue;\n }\n const hostInstances = renderer.findHostInstancesForElementID(id);\n if (hostInstances !== null) {\n for (let j = 0; j < hostInstances.length; j++) {\n nodes.push(hostInstances[j]);\n }\n }\n }\n if (nodes.length > 0) {\n const node = nodes[0];\n if (scrollIntoView && typeof node.scrollIntoView === 'function') {\n node.scrollIntoView({\n block: 'nearest',\n inline: 'nearest'\n });\n }\n }\n showOverlay(nodes, displayName, agent, hideAfterTimeout);\n }\n function attemptScrollToHostInstance(renderer, id) {\n const nodes = renderer.findHostInstancesForElementID(id);\n if (nodes != null) {\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i];\n if (node === null) {\n continue;\n }\n const nodeRects = typeof node.getClientRects === 'function' ? node.getClientRects() : [];\n if (nodeRects.length > 0 && (nodeRects.length > 2 || nodeRects[0].width > 0 || nodeRects[0].height > 0)) {\n if (typeof node.scrollIntoView === 'function') {\n node.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n behavior: 'smooth'\n });\n return true;\n }\n }\n }\n }\n return false;\n }\n let scrollDelayTimer = null;\n function scrollToHostInstance({\n id,\n rendererID\n }) {\n hideOverlay(agent);\n if (scrollDelayTimer) {\n clearTimeout(scrollDelayTimer);\n scrollDelayTimer = null;\n }\n const renderer = agent.rendererInterfaces[rendererID];\n if (renderer == null) {\n console.warn(`Invalid renderer id \"${rendererID}\" for element \"${id}\"`);\n return;\n }\n if (!renderer.hasElementWithId(id)) {\n return;\n }\n if (attemptScrollToHostInstance(renderer, id)) {\n return;\n }\n const rects = renderer.findLastKnownRectsForID(id);\n if (rects !== null && rects.length > 0) {\n let x = Infinity;\n let y = Infinity;\n for (let i = 0; i < rects.length; i++) {\n const rect = rects[i];\n if (rect.x < x) {\n x = rect.x;\n }\n if (rect.y < y) {\n y = rect.y;\n }\n }\n const element = document.documentElement;\n if (!element) {\n return;\n }\n if (x < window.scrollX || y < window.scrollY || x > window.scrollX + element.clientWidth || y > window.scrollY + element.clientHeight) {\n window.scrollTo({\n top: y,\n left: x,\n behavior: 'smooth'\n });\n }\n scrollDelayTimer = setTimeout(() => {\n attemptScrollToHostInstance(renderer, id);\n }, 100);\n }\n }\n function onClick(event) {\n event.preventDefault();\n event.stopPropagation();\n stopInspectingHost();\n bridge.send('stopInspectingHost', true);\n }\n function onMouseEvent(event) {\n event.preventDefault();\n event.stopPropagation();\n }\n function onPointerDown(event) {\n event.preventDefault();\n event.stopPropagation();\n selectElementForNode(getEventTarget(event));\n }\n let lastHoveredNode = null;\n function onPointerMove(event) {\n event.preventDefault();\n event.stopPropagation();\n const target = getEventTarget(event);\n if (lastHoveredNode === target) return;\n lastHoveredNode = target;\n if (target.tagName === 'IFRAME') {\n const iframe = target;\n try {\n if (!iframesListeningTo.has(iframe)) {\n const window = iframe.contentWindow;\n registerListenersOnWindow(window);\n iframesListeningTo.add(iframe);\n }\n } catch (error) {}\n }\n if (inspectOnlySuspenseNodes) {\n const match = agent.getIDForHostInstance(target, inspectOnlySuspenseNodes);\n if (match !== null) {\n const renderer = agent.rendererInterfaces[match.rendererID];\n if (renderer == null) {\n console.warn(`Invalid renderer id \"${match.rendererID}\" for element \"${match.id}\"`);\n return;\n }\n highlightHostInstance({\n displayName: renderer.getDisplayNameForElementID(match.id),\n hideAfterTimeout: false,\n id: match.id,\n openBuiltinElementsPanel: false,\n rendererID: match.rendererID,\n scrollIntoView: false\n });\n }\n } else {\n showOverlay([target], null, agent, false);\n }\n }\n function onPointerUp(event) {\n event.preventDefault();\n event.stopPropagation();\n }\n const selectElementForNode = node => {\n const match = agent.getIDForHostInstance(node, inspectOnlySuspenseNodes);\n if (match !== null) {\n bridge.send('selectElement', match.id);\n }\n };\n function getEventTarget(event) {\n if (event.composed) {\n return event.composedPath()[0];\n }\n return event.target;\n }\n}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/backend/views/TraceUpdates/canvas.js\n\nconst COLORS = ['#37afa9', '#63b19e', '#80b393', '#97b488', '#abb67d', '#beb771', '#cfb965', '#dfba57', '#efbb49', '#febc38'];\nlet canvas = null;\nfunction drawNative(nodeToData, agent) {\n const nodesToDraw = [];\n iterateNodes(nodeToData, ({\n color,\n node\n }) => {\n nodesToDraw.push({\n node,\n color\n });\n });\n agent.emit('drawTraceUpdates', nodesToDraw);\n const mergedNodes = groupAndSortNodes(nodeToData);\n agent.emit('drawGroupedTraceUpdatesWithNames', mergedNodes);\n}\nfunction drawWeb(nodeToData) {\n if (canvas === null) {\n initialize();\n }\n const dpr = window.devicePixelRatio || 1;\n const canvasFlow = canvas;\n canvasFlow.width = window.innerWidth * dpr;\n canvasFlow.height = window.innerHeight * dpr;\n canvasFlow.style.width = `${window.innerWidth}px`;\n canvasFlow.style.height = `${window.innerHeight}px`;\n const context = canvasFlow.getContext('2d');\n context.scale(dpr, dpr);\n context.clearRect(0, 0, canvasFlow.width / dpr, canvasFlow.height / dpr);\n const mergedNodes = groupAndSortNodes(nodeToData);\n mergedNodes.forEach(group => {\n drawGroupBorders(context, group);\n drawGroupLabel(context, group);\n });\n if (canvas !== null) {\n if (nodeToData.size === 0 && canvas.matches(':popover-open')) {\n canvas.hidePopover();\n return;\n }\n if (canvas.matches(':popover-open')) {\n canvas.hidePopover();\n }\n canvas.showPopover();\n }\n}\nfunction groupAndSortNodes(nodeToData) {\n const positionGroups = new Map();\n iterateNodes(nodeToData, ({\n rect,\n color,\n displayName,\n count\n }) => {\n if (!rect) return;\n const key = `${rect.left},${rect.top}`;\n if (!positionGroups.has(key)) positionGroups.set(key, []);\n positionGroups.get(key)?.push({\n rect,\n color,\n displayName,\n count\n });\n });\n return Array.from(positionGroups.values()).sort((groupA, groupB) => {\n const maxCountA = Math.max(...groupA.map(item => item.count));\n const maxCountB = Math.max(...groupB.map(item => item.count));\n return maxCountA - maxCountB;\n });\n}\nfunction drawGroupBorders(context, group) {\n group.forEach(({\n color,\n rect\n }) => {\n context.beginPath();\n context.strokeStyle = color;\n context.rect(rect.left, rect.top, rect.width - 1, rect.height - 1);\n context.stroke();\n });\n}\nfunction drawGroupLabel(context, group) {\n const mergedName = group.map(({\n displayName,\n count\n }) => displayName ? `${displayName}${count > 1 ? ` x${count}` : ''}` : '').filter(Boolean).join(', ');\n if (mergedName) {\n drawLabel(context, group[0].rect, mergedName, group[0].color);\n }\n}\nfunction draw(nodeToData, agent) {\n return isReactNativeEnvironment() ? drawNative(nodeToData, agent) : drawWeb(nodeToData);\n}\nfunction iterateNodes(nodeToData, execute) {\n nodeToData.forEach((data, node) => {\n const colorIndex = Math.min(COLORS.length - 1, data.count - 1);\n const color = COLORS[colorIndex];\n execute({\n color,\n node,\n count: data.count,\n displayName: data.displayName,\n expirationTime: data.expirationTime,\n lastMeasuredAt: data.lastMeasuredAt,\n rect: data.rect\n });\n });\n}\nfunction drawLabel(context, rect, text, color) {\n const {\n left,\n top\n } = rect;\n context.font = '10px monospace';\n context.textBaseline = 'middle';\n context.textAlign = 'center';\n const padding = 2;\n const textHeight = 14;\n const metrics = context.measureText(text);\n const backgroundWidth = metrics.width + padding * 2;\n const backgroundHeight = textHeight;\n const labelX = left;\n const labelY = top - backgroundHeight;\n context.fillStyle = color;\n context.fillRect(labelX, labelY, backgroundWidth, backgroundHeight);\n context.fillStyle = '#000000';\n context.fillText(text, labelX + backgroundWidth / 2, labelY + backgroundHeight / 2);\n}\nfunction destroyNative(agent) {\n agent.emit('disableTraceUpdates');\n}\nfunction destroyWeb() {\n if (canvas !== null) {\n if (canvas.matches(':popover-open')) {\n canvas.hidePopover();\n }\n if (canvas.parentNode != null) {\n canvas.parentNode.removeChild(canvas);\n }\n canvas = null;\n }\n}\nfunction destroy(agent) {\n return isReactNativeEnvironment() ? destroyNative(agent) : destroyWeb();\n}\nfunction initialize() {\n canvas = window.document.createElement('canvas');\n canvas.setAttribute('popover', 'manual');\n canvas.style.cssText = `\n xx-background-color: red;\n xx-opacity: 0.5;\n bottom: 0;\n left: 0;\n pointer-events: none;\n position: fixed;\n right: 0;\n top: 0;\n background-color: transparent;\n outline: none;\n box-shadow: none;\n border: none;\n `;\n const root = window.document.documentElement;\n root.insertBefore(canvas, root.firstChild);\n}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/backend/views/TraceUpdates/index.js\n\n\n\nconst DISPLAY_DURATION = 250;\nconst MAX_DISPLAY_DURATION = 3000;\nconst REMEASUREMENT_AFTER_DURATION = 250;\nconst HOC_MARKERS = new Map([['Forget', '✨'], ['Memo', '🧠']]);\nconst getCurrentTime = typeof performance === 'object' && typeof performance.now === 'function' ? () => performance.now() : () => Date.now();\nconst nodeToData = new Map();\nlet agent = null;\nlet drawAnimationFrameID = null;\nlet isEnabled = false;\nlet redrawTimeoutID = null;\nfunction TraceUpdates_initialize(injectedAgent) {\n agent = injectedAgent;\n agent.addListener('traceUpdates', traceUpdates);\n}\nfunction toggleEnabled(value) {\n isEnabled = value;\n if (!isEnabled) {\n nodeToData.clear();\n if (drawAnimationFrameID !== null) {\n cancelAnimationFrame(drawAnimationFrameID);\n drawAnimationFrameID = null;\n }\n if (redrawTimeoutID !== null) {\n clearTimeout(redrawTimeoutID);\n redrawTimeoutID = null;\n }\n destroy(agent);\n }\n}\nfunction traceUpdates(nodes) {\n if (!isEnabled) return;\n nodes.forEach(node => {\n const data = nodeToData.get(node);\n const now = getCurrentTime();\n let lastMeasuredAt = data != null ? data.lastMeasuredAt : 0;\n let rect = data != null ? data.rect : null;\n if (rect === null || lastMeasuredAt + REMEASUREMENT_AFTER_DURATION < now) {\n lastMeasuredAt = now;\n rect = measureNode(node);\n }\n let displayName = agent.getComponentNameForHostInstance(node);\n if (displayName) {\n const {\n baseComponentName,\n hocNames\n } = extractHOCNames(displayName);\n const markers = hocNames.map(hoc => HOC_MARKERS.get(hoc) || '').join('');\n const enhancedDisplayName = markers ? `${markers}${baseComponentName}` : baseComponentName;\n displayName = enhancedDisplayName;\n }\n nodeToData.set(node, {\n count: data != null ? data.count + 1 : 1,\n expirationTime: data != null ? Math.min(now + MAX_DISPLAY_DURATION, data.expirationTime + DISPLAY_DURATION) : now + DISPLAY_DURATION,\n lastMeasuredAt,\n rect,\n displayName\n });\n });\n if (redrawTimeoutID !== null) {\n clearTimeout(redrawTimeoutID);\n redrawTimeoutID = null;\n }\n if (drawAnimationFrameID === null) {\n drawAnimationFrameID = requestAnimationFrame(prepareToDraw);\n }\n}\nfunction prepareToDraw() {\n drawAnimationFrameID = null;\n redrawTimeoutID = null;\n const now = getCurrentTime();\n let earliestExpiration = Number.MAX_VALUE;\n nodeToData.forEach((data, node) => {\n if (data.expirationTime < now) {\n nodeToData.delete(node);\n } else {\n earliestExpiration = Math.min(earliestExpiration, data.expirationTime);\n }\n });\n draw(nodeToData, agent);\n if (earliestExpiration !== Number.MAX_VALUE) {\n redrawTimeoutID = setTimeout(prepareToDraw, earliestExpiration - now);\n }\n}\nfunction measureNode(node) {\n if (!node || typeof node.getBoundingClientRect !== 'function') {\n return null;\n }\n const currentWindow = window.__REACT_DEVTOOLS_TARGET_WINDOW__ || window;\n return getNestedBoundingClientRect(node, currentWindow);\n}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/bridge.js\nfunction bridge_defineProperty(obj, key, value) { key = bridge_toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction bridge_toPropertyKey(t) { var i = bridge_toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction bridge_toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n\nconst BRIDGE_PROTOCOL = [{\n version: 0,\n minNpmVersion: '\"<4.11.0\"',\n maxNpmVersion: '\"<4.11.0\"'\n}, {\n version: 1,\n minNpmVersion: '4.13.0',\n maxNpmVersion: '4.21.0'\n}, {\n version: 2,\n minNpmVersion: '4.22.0',\n maxNpmVersion: null\n}];\nconst currentBridgeProtocol = BRIDGE_PROTOCOL[BRIDGE_PROTOCOL.length - 1];\nclass Bridge extends EventEmitter {\n constructor(wall) {\n super();\n bridge_defineProperty(this, \"_isShutdown\", false);\n bridge_defineProperty(this, \"_messageQueue\", []);\n bridge_defineProperty(this, \"_scheduledFlush\", false);\n bridge_defineProperty(this, \"_wallUnlisten\", null);\n bridge_defineProperty(this, \"_flush\", () => {\n try {\n if (this._messageQueue.length) {\n for (let i = 0; i < this._messageQueue.length; i += 2) {\n this._wall.send(this._messageQueue[i], ...this._messageQueue[i + 1]);\n }\n this._messageQueue.length = 0;\n }\n } finally {\n this._scheduledFlush = false;\n }\n });\n bridge_defineProperty(this, \"overrideValueAtPath\", ({\n id,\n path,\n rendererID,\n type,\n value\n }) => {\n switch (type) {\n case 'context':\n this.send('overrideContext', {\n id,\n path,\n rendererID,\n wasForwarded: true,\n value\n });\n break;\n case 'hooks':\n this.send('overrideHookState', {\n id,\n path,\n rendererID,\n wasForwarded: true,\n value\n });\n break;\n case 'props':\n this.send('overrideProps', {\n id,\n path,\n rendererID,\n wasForwarded: true,\n value\n });\n break;\n case 'state':\n this.send('overrideState', {\n id,\n path,\n rendererID,\n wasForwarded: true,\n value\n });\n break;\n }\n });\n this._wall = wall;\n this._wallUnlisten = wall.listen(message => {\n if (message && message.event) {\n this.emit(message.event, message.payload);\n }\n }) || null;\n this.addListener('overrideValueAtPath', this.overrideValueAtPath);\n }\n get wall() {\n return this._wall;\n }\n send(event, ...payload) {\n if (this._isShutdown) {\n console.warn(`Cannot send message \"${event}\" through a Bridge that has been shutdown.`);\n return;\n }\n this._messageQueue.push(event, payload);\n if (!this._scheduledFlush) {\n this._scheduledFlush = true;\n if (typeof devtoolsJestTestScheduler === 'function') {\n devtoolsJestTestScheduler(this._flush);\n } else {\n queueMicrotask(this._flush);\n }\n }\n }\n shutdown() {\n if (this._isShutdown) {\n console.warn('Bridge was already shutdown.');\n return;\n }\n this.emit('shutdown');\n this.send('shutdown');\n this._isShutdown = true;\n this.addListener = function () {};\n this.emit = function () {};\n this.removeAllListeners();\n const wallUnlisten = this._wallUnlisten;\n if (wallUnlisten) {\n wallUnlisten();\n }\n do {\n this._flush();\n } while (this._messageQueue.length);\n }\n}\n/* harmony default export */ const bridge = (Bridge);\n;// CONCATENATED MODULE: ../react-devtools-shared/src/backend/agent.js\nfunction agent_defineProperty(obj, key, value) { key = agent_toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction agent_toPropertyKey(t) { var i = agent_toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction agent_toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n\n\n\n\n\n\n\nconst debug = (methodName, ...args) => {\n if (__DEBUG__) {\n console.log(`%cAgent %c${methodName}`, 'color: purple; font-weight: bold;', 'font-weight: bold;', ...args);\n }\n};\nfunction createEmptyInspectedScreen(arbitraryRootID, type) {\n const suspendedBy = {\n cleaned: [],\n data: [],\n unserializable: []\n };\n return {\n id: arbitraryRootID,\n type: type,\n isErrored: false,\n errors: [],\n warnings: [],\n suspendedBy,\n suspendedByRange: null,\n unknownSuspenders: UNKNOWN_SUSPENDERS_NONE,\n rootType: null,\n plugins: {\n stylex: null\n },\n nativeTag: null,\n env: null,\n source: null,\n stack: null,\n rendererPackageName: null,\n rendererVersion: null,\n key: null,\n canEditFunctionProps: false,\n canEditHooks: false,\n canEditFunctionPropsDeletePaths: false,\n canEditFunctionPropsRenamePaths: false,\n canEditHooksAndDeletePaths: false,\n canEditHooksAndRenamePaths: false,\n canToggleError: false,\n canToggleSuspense: false,\n isSuspended: false,\n hasLegacyContext: false,\n context: null,\n hooks: null,\n props: null,\n state: null,\n owners: null\n };\n}\nfunction mergeRoots(left, right, suspendedByOffset) {\n const leftSuspendedByRange = left.suspendedByRange;\n const rightSuspendedByRange = right.suspendedByRange;\n if (right.isErrored) {\n left.isErrored = true;\n }\n for (let i = 0; i < right.errors.length; i++) {\n left.errors.push(right.errors[i]);\n }\n for (let i = 0; i < right.warnings.length; i++) {\n left.warnings.push(right.warnings[i]);\n }\n const leftSuspendedBy = left.suspendedBy;\n const {\n data,\n cleaned,\n unserializable\n } = right.suspendedBy;\n const leftSuspendedByData = leftSuspendedBy.data;\n const rightSuspendedByData = data;\n for (let i = 0; i < rightSuspendedByData.length; i++) {\n leftSuspendedByData.push(rightSuspendedByData[i]);\n }\n for (let i = 0; i < cleaned.length; i++) {\n leftSuspendedBy.cleaned.push([suspendedByOffset + cleaned[i][0]].concat(cleaned[i].slice(1)));\n }\n for (let i = 0; i < unserializable.length; i++) {\n leftSuspendedBy.unserializable.push([suspendedByOffset + unserializable[i][0]].concat(unserializable[i].slice(1)));\n }\n if (rightSuspendedByRange !== null) {\n if (leftSuspendedByRange === null) {\n left.suspendedByRange = [rightSuspendedByRange[0], rightSuspendedByRange[1]];\n } else {\n if (rightSuspendedByRange[0] < leftSuspendedByRange[0]) {\n leftSuspendedByRange[0] = rightSuspendedByRange[0];\n }\n if (rightSuspendedByRange[1] > leftSuspendedByRange[1]) {\n leftSuspendedByRange[1] = rightSuspendedByRange[1];\n }\n }\n }\n}\nclass Agent extends EventEmitter {\n constructor(bridge, isProfiling = false, onReloadAndProfile) {\n super();\n agent_defineProperty(this, \"_isProfiling\", false);\n agent_defineProperty(this, \"_rendererInterfaces\", {});\n agent_defineProperty(this, \"_persistedSelection\", null);\n agent_defineProperty(this, \"_persistedSelectionMatch\", null);\n agent_defineProperty(this, \"_traceUpdatesEnabled\", false);\n agent_defineProperty(this, \"clearErrorsAndWarnings\", ({\n rendererID\n }) => {\n const renderer = this._rendererInterfaces[rendererID];\n if (renderer == null) {\n console.warn(`Invalid renderer id \"${rendererID}\"`);\n } else {\n renderer.clearErrorsAndWarnings();\n }\n });\n agent_defineProperty(this, \"clearErrorsForElementID\", ({\n id,\n rendererID\n }) => {\n const renderer = this._rendererInterfaces[rendererID];\n if (renderer == null) {\n console.warn(`Invalid renderer id \"${rendererID}\"`);\n } else {\n renderer.clearErrorsForElementID(id);\n }\n });\n agent_defineProperty(this, \"clearWarningsForElementID\", ({\n id,\n rendererID\n }) => {\n const renderer = this._rendererInterfaces[rendererID];\n if (renderer == null) {\n console.warn(`Invalid renderer id \"${rendererID}\"`);\n } else {\n renderer.clearWarningsForElementID(id);\n }\n });\n agent_defineProperty(this, \"copyElementPath\", ({\n id,\n path,\n rendererID\n }) => {\n const renderer = this._rendererInterfaces[rendererID];\n if (renderer == null) {\n console.warn(`Invalid renderer id \"${rendererID}\" for element \"${id}\"`);\n } else {\n const value = renderer.getSerializedElementValueByPath(id, path);\n if (value != null) {\n this._bridge.send('saveToClipboard', value);\n } else {\n console.warn(`Unable to obtain serialized value for element \"${id}\"`);\n }\n }\n });\n agent_defineProperty(this, \"deletePath\", ({\n hookID,\n id,\n path,\n rendererID,\n type\n }) => {\n const renderer = this._rendererInterfaces[rendererID];\n if (renderer == null) {\n console.warn(`Invalid renderer id \"${rendererID}\" for element \"${id}\"`);\n } else {\n renderer.deletePath(type, id, hookID, path);\n }\n });\n agent_defineProperty(this, \"getBackendVersion\", () => {\n const version = \"7.0.1-3cde211b0c\";\n if (version) {\n this._bridge.send('backendVersion', version);\n }\n });\n agent_defineProperty(this, \"getBridgeProtocol\", () => {\n this._bridge.send('bridgeProtocol', currentBridgeProtocol);\n });\n agent_defineProperty(this, \"getProfilingData\", ({\n rendererID\n }) => {\n const renderer = this._rendererInterfaces[rendererID];\n if (renderer == null) {\n console.warn(`Invalid renderer id \"${rendererID}\"`);\n }\n this._bridge.send('profilingData', renderer.getProfilingData());\n });\n agent_defineProperty(this, \"getProfilingStatus\", () => {\n this._bridge.send('profilingStatus', this._isProfiling);\n });\n agent_defineProperty(this, \"getOwnersList\", ({\n id,\n rendererID\n }) => {\n const renderer = this._rendererInterfaces[rendererID];\n if (renderer == null) {\n console.warn(`Invalid renderer id \"${rendererID}\" for element \"${id}\"`);\n } else {\n const owners = renderer.getOwnersList(id);\n this._bridge.send('ownersList', {\n id,\n owners\n });\n }\n });\n agent_defineProperty(this, \"inspectElement\", ({\n forceFullData,\n id,\n path,\n rendererID,\n requestID\n }) => {\n const renderer = this._rendererInterfaces[rendererID];\n if (renderer == null) {\n console.warn(`Invalid renderer id \"${rendererID}\" for element \"${id}\"`);\n } else {\n this._bridge.send('inspectedElement', renderer.inspectElement(requestID, id, path, forceFullData));\n if (this._persistedSelectionMatch === null || this._persistedSelectionMatch.id !== id) {\n this._persistedSelection = null;\n this._persistedSelectionMatch = null;\n renderer.setTrackedPath(null);\n this._lastSelectedElementID = id;\n this._lastSelectedRendererID = rendererID;\n if (!this._persistSelectionTimerScheduled) {\n this._persistSelectionTimerScheduled = true;\n setTimeout(this._persistSelection, 1000);\n }\n }\n }\n });\n agent_defineProperty(this, \"inspectScreen\", ({\n requestID,\n id,\n forceFullData,\n path: screenPath\n }) => {\n let inspectedScreen = null;\n let found = false;\n let suspendedByOffset = 0;\n let suspendedByPathIndex = null;\n let rendererPath = null;\n if (screenPath !== null && screenPath.length > 1) {\n const secondaryCategory = screenPath[0];\n if (secondaryCategory !== 'suspendedBy') {\n throw new Error('Only hydrating suspendedBy paths is supported. This is a bug.');\n }\n if (typeof screenPath[1] !== 'number') {\n throw new Error(`Expected suspendedBy index to be a number. Received '${screenPath[1]}' instead. This is a bug.`);\n }\n suspendedByPathIndex = screenPath[1];\n rendererPath = screenPath.slice(2);\n }\n for (const rendererID in this._rendererInterfaces) {\n const renderer = this._rendererInterfaces[rendererID];\n let path = null;\n if (suspendedByPathIndex !== null && rendererPath !== null) {\n const suspendedByPathRendererIndex = suspendedByPathIndex - suspendedByOffset;\n const rendererHasRequestedSuspendedByPath = renderer.getElementAttributeByPath(id, ['suspendedBy', suspendedByPathRendererIndex]) !== undefined;\n if (rendererHasRequestedSuspendedByPath) {\n path = ['suspendedBy', suspendedByPathRendererIndex].concat(rendererPath);\n }\n }\n const inspectedRootsPayload = renderer.inspectElement(requestID, id, path, forceFullData);\n switch (inspectedRootsPayload.type) {\n case 'hydrated-path':\n inspectedRootsPayload.path[1] += suspendedByOffset;\n if (inspectedRootsPayload.value !== null) {\n for (let i = 0; i < inspectedRootsPayload.value.cleaned.length; i++) {\n inspectedRootsPayload.value.cleaned[i][1] += suspendedByOffset;\n }\n }\n this._bridge.send('inspectedScreen', inspectedRootsPayload);\n return;\n case 'full-data':\n const inspectedRoots = inspectedRootsPayload.value;\n if (inspectedScreen === null) {\n inspectedScreen = createEmptyInspectedScreen(inspectedRoots.id, inspectedRoots.type);\n }\n mergeRoots(inspectedScreen, inspectedRoots, suspendedByOffset);\n const dehydratedSuspendedBy = inspectedRoots.suspendedBy;\n const suspendedBy = dehydratedSuspendedBy.data;\n suspendedByOffset += suspendedBy.length;\n found = true;\n break;\n case 'no-change':\n found = true;\n const rootsSuspendedBy = renderer.getElementAttributeByPath(id, ['suspendedBy']);\n suspendedByOffset += rootsSuspendedBy.length;\n break;\n case 'not-found':\n break;\n case 'error':\n this._bridge.send('inspectedScreen', inspectedRootsPayload);\n return;\n }\n }\n if (inspectedScreen === null) {\n if (found) {\n this._bridge.send('inspectedScreen', {\n type: 'no-change',\n responseID: requestID,\n id\n });\n } else {\n this._bridge.send('inspectedScreen', {\n type: 'not-found',\n responseID: requestID,\n id\n });\n }\n } else {\n this._bridge.send('inspectedScreen', {\n type: 'full-data',\n responseID: requestID,\n id,\n value: inspectedScreen\n });\n }\n });\n agent_defineProperty(this, \"logElementToConsole\", ({\n id,\n rendererID\n }) => {\n const renderer = this._rendererInterfaces[rendererID];\n if (renderer == null) {\n console.warn(`Invalid renderer id \"${rendererID}\" for element \"${id}\"`);\n } else {\n renderer.logElementToConsole(id);\n }\n });\n agent_defineProperty(this, \"overrideError\", ({\n id,\n rendererID,\n forceError\n }) => {\n const renderer = this._rendererInterfaces[rendererID];\n if (renderer == null) {\n console.warn(`Invalid renderer id \"${rendererID}\" for element \"${id}\"`);\n } else {\n renderer.overrideError(id, forceError);\n }\n });\n agent_defineProperty(this, \"overrideSuspense\", ({\n id,\n rendererID,\n forceFallback\n }) => {\n const renderer = this._rendererInterfaces[rendererID];\n if (renderer == null) {\n console.warn(`Invalid renderer id \"${rendererID}\" for element \"${id}\"`);\n } else {\n renderer.overrideSuspense(id, forceFallback);\n }\n });\n agent_defineProperty(this, \"overrideSuspenseMilestone\", ({\n suspendedSet\n }) => {\n for (const rendererID in this._rendererInterfaces) {\n const renderer = this._rendererInterfaces[rendererID];\n if (renderer.supportsTogglingSuspense) {\n renderer.overrideSuspenseMilestone(suspendedSet);\n }\n }\n });\n agent_defineProperty(this, \"overrideValueAtPath\", ({\n hookID,\n id,\n path,\n rendererID,\n type,\n value\n }) => {\n const renderer = this._rendererInterfaces[rendererID];\n if (renderer == null) {\n console.warn(`Invalid renderer id \"${rendererID}\" for element \"${id}\"`);\n } else {\n renderer.overrideValueAtPath(type, id, hookID, path, value);\n }\n });\n agent_defineProperty(this, \"overrideContext\", ({\n id,\n path,\n rendererID,\n wasForwarded,\n value\n }) => {\n if (!wasForwarded) {\n this.overrideValueAtPath({\n id,\n path,\n rendererID,\n type: 'context',\n value\n });\n }\n });\n agent_defineProperty(this, \"overrideHookState\", ({\n id,\n hookID,\n path,\n rendererID,\n wasForwarded,\n value\n }) => {\n if (!wasForwarded) {\n this.overrideValueAtPath({\n id,\n path,\n rendererID,\n type: 'hooks',\n value\n });\n }\n });\n agent_defineProperty(this, \"overrideProps\", ({\n id,\n path,\n rendererID,\n wasForwarded,\n value\n }) => {\n if (!wasForwarded) {\n this.overrideValueAtPath({\n id,\n path,\n rendererID,\n type: 'props',\n value\n });\n }\n });\n agent_defineProperty(this, \"overrideState\", ({\n id,\n path,\n rendererID,\n wasForwarded,\n value\n }) => {\n if (!wasForwarded) {\n this.overrideValueAtPath({\n id,\n path,\n rendererID,\n type: 'state',\n value\n });\n }\n });\n agent_defineProperty(this, \"onReloadAndProfileSupportedByHost\", () => {\n this._bridge.send('isReloadAndProfileSupportedByBackend', true);\n });\n agent_defineProperty(this, \"reloadAndProfile\", ({\n recordChangeDescriptions,\n recordTimeline\n }) => {\n if (typeof this._onReloadAndProfile === 'function') {\n this._onReloadAndProfile(recordChangeDescriptions, recordTimeline);\n }\n this._bridge.send('reloadAppForProfiling');\n });\n agent_defineProperty(this, \"renamePath\", ({\n hookID,\n id,\n newPath,\n oldPath,\n rendererID,\n type\n }) => {\n const renderer = this._rendererInterfaces[rendererID];\n if (renderer == null) {\n console.warn(`Invalid renderer id \"${rendererID}\" for element \"${id}\"`);\n } else {\n renderer.renamePath(type, id, hookID, oldPath, newPath);\n }\n });\n agent_defineProperty(this, \"setTraceUpdatesEnabled\", traceUpdatesEnabled => {\n this._traceUpdatesEnabled = traceUpdatesEnabled;\n toggleEnabled(traceUpdatesEnabled);\n for (const rendererID in this._rendererInterfaces) {\n const renderer = this._rendererInterfaces[rendererID];\n renderer.setTraceUpdatesEnabled(traceUpdatesEnabled);\n }\n });\n agent_defineProperty(this, \"syncSelectionFromBuiltinElementsPanel\", () => {\n const target = window.__REACT_DEVTOOLS_GLOBAL_HOOK__.$0;\n if (target == null) {\n return;\n }\n this.selectNode(target);\n });\n agent_defineProperty(this, \"shutdown\", () => {\n this.emit('shutdown');\n this._bridge.removeAllListeners();\n this.removeAllListeners();\n });\n agent_defineProperty(this, \"startProfiling\", ({\n recordChangeDescriptions,\n recordTimeline\n }) => {\n this._isProfiling = true;\n for (const rendererID in this._rendererInterfaces) {\n const renderer = this._rendererInterfaces[rendererID];\n renderer.startProfiling(recordChangeDescriptions, recordTimeline);\n }\n this._bridge.send('profilingStatus', this._isProfiling);\n });\n agent_defineProperty(this, \"stopProfiling\", () => {\n this._isProfiling = false;\n for (const rendererID in this._rendererInterfaces) {\n const renderer = this._rendererInterfaces[rendererID];\n renderer.stopProfiling();\n }\n this._bridge.send('profilingStatus', this._isProfiling);\n });\n agent_defineProperty(this, \"stopInspectingNative\", selected => {\n this._bridge.send('stopInspectingHost', selected);\n });\n agent_defineProperty(this, \"storeAsGlobal\", ({\n count,\n id,\n path,\n rendererID\n }) => {\n const renderer = this._rendererInterfaces[rendererID];\n if (renderer == null) {\n console.warn(`Invalid renderer id \"${rendererID}\" for element \"${id}\"`);\n } else {\n renderer.storeAsGlobal(id, path, count);\n }\n });\n agent_defineProperty(this, \"updateHookSettings\", settings => {\n this.emit('updateHookSettings', settings);\n });\n agent_defineProperty(this, \"getHookSettings\", () => {\n this.emit('getHookSettings');\n });\n agent_defineProperty(this, \"onHookSettings\", settings => {\n this._bridge.send('hookSettings', settings);\n });\n agent_defineProperty(this, \"updateComponentFilters\", componentFilters => {\n for (const rendererIDString in this._rendererInterfaces) {\n const rendererID = +rendererIDString;\n const renderer = this._rendererInterfaces[rendererID];\n if (this._lastSelectedRendererID === rendererID) {\n const path = renderer.getPathForElement(this._lastSelectedElementID);\n if (path !== null) {\n renderer.setTrackedPath(path);\n this._persistedSelection = {\n rendererID,\n path\n };\n }\n }\n renderer.updateComponentFilters(componentFilters);\n }\n });\n agent_defineProperty(this, \"getEnvironmentNames\", () => {\n let accumulatedNames = null;\n for (const rendererID in this._rendererInterfaces) {\n const renderer = this._rendererInterfaces[+rendererID];\n const names = renderer.getEnvironmentNames();\n if (accumulatedNames === null) {\n accumulatedNames = names;\n } else {\n for (let i = 0; i < names.length; i++) {\n if (accumulatedNames.indexOf(names[i]) === -1) {\n accumulatedNames.push(names[i]);\n }\n }\n }\n }\n this._bridge.send('environmentNames', accumulatedNames || []);\n });\n agent_defineProperty(this, \"onTraceUpdates\", nodes => {\n this.emit('traceUpdates', nodes);\n });\n agent_defineProperty(this, \"onFastRefreshScheduled\", () => {\n if (__DEBUG__) {\n debug('onFastRefreshScheduled');\n }\n this._bridge.send('fastRefreshScheduled');\n });\n agent_defineProperty(this, \"onHookOperations\", operations => {\n if (__DEBUG__) {\n debug('onHookOperations', `(${operations.length}) [${operations.join(', ')}]`);\n }\n this._bridge.send('operations', operations);\n if (this._persistedSelection !== null) {\n const rendererID = operations[0];\n if (this._persistedSelection.rendererID === rendererID) {\n const renderer = this._rendererInterfaces[rendererID];\n if (renderer == null) {\n console.warn(`Invalid renderer id \"${rendererID}\"`);\n } else {\n const prevMatch = this._persistedSelectionMatch;\n const nextMatch = renderer.getBestMatchForTrackedPath();\n this._persistedSelectionMatch = nextMatch;\n const prevMatchID = prevMatch !== null ? prevMatch.id : null;\n const nextMatchID = nextMatch !== null ? nextMatch.id : null;\n if (prevMatchID !== nextMatchID) {\n if (nextMatchID !== null) {\n this._bridge.send('selectElement', nextMatchID);\n }\n }\n if (nextMatch !== null && nextMatch.isFullMatch) {\n this._persistedSelection = null;\n this._persistedSelectionMatch = null;\n renderer.setTrackedPath(null);\n }\n }\n }\n }\n });\n agent_defineProperty(this, \"getIfHasUnsupportedRendererVersion\", () => {\n this.emit('getIfHasUnsupportedRendererVersion');\n });\n agent_defineProperty(this, \"_persistSelectionTimerScheduled\", false);\n agent_defineProperty(this, \"_lastSelectedRendererID\", -1);\n agent_defineProperty(this, \"_lastSelectedElementID\", -1);\n agent_defineProperty(this, \"_persistSelection\", () => {\n this._persistSelectionTimerScheduled = false;\n const rendererID = this._lastSelectedRendererID;\n const id = this._lastSelectedElementID;\n const renderer = this._rendererInterfaces[rendererID];\n const path = renderer != null ? renderer.getPathForElement(id) : null;\n if (path !== null) {\n sessionStorageSetItem(SESSION_STORAGE_LAST_SELECTION_KEY, JSON.stringify({\n rendererID,\n path\n }));\n } else {\n sessionStorageRemoveItem(SESSION_STORAGE_LAST_SELECTION_KEY);\n }\n });\n this._isProfiling = isProfiling;\n this._onReloadAndProfile = onReloadAndProfile;\n const persistedSelectionString = storage_sessionStorageGetItem(SESSION_STORAGE_LAST_SELECTION_KEY);\n if (persistedSelectionString != null) {\n this._persistedSelection = JSON.parse(persistedSelectionString);\n }\n this._bridge = bridge;\n bridge.addListener('clearErrorsAndWarnings', this.clearErrorsAndWarnings);\n bridge.addListener('clearErrorsForElementID', this.clearErrorsForElementID);\n bridge.addListener('clearWarningsForElementID', this.clearWarningsForElementID);\n bridge.addListener('copyElementPath', this.copyElementPath);\n bridge.addListener('deletePath', this.deletePath);\n bridge.addListener('getBackendVersion', this.getBackendVersion);\n bridge.addListener('getBridgeProtocol', this.getBridgeProtocol);\n bridge.addListener('getProfilingData', this.getProfilingData);\n bridge.addListener('getProfilingStatus', this.getProfilingStatus);\n bridge.addListener('getOwnersList', this.getOwnersList);\n bridge.addListener('inspectElement', this.inspectElement);\n bridge.addListener('inspectScreen', this.inspectScreen);\n bridge.addListener('logElementToConsole', this.logElementToConsole);\n bridge.addListener('overrideError', this.overrideError);\n bridge.addListener('overrideSuspense', this.overrideSuspense);\n bridge.addListener('overrideSuspenseMilestone', this.overrideSuspenseMilestone);\n bridge.addListener('overrideValueAtPath', this.overrideValueAtPath);\n bridge.addListener('reloadAndProfile', this.reloadAndProfile);\n bridge.addListener('renamePath', this.renamePath);\n bridge.addListener('setTraceUpdatesEnabled', this.setTraceUpdatesEnabled);\n bridge.addListener('startProfiling', this.startProfiling);\n bridge.addListener('stopProfiling', this.stopProfiling);\n bridge.addListener('storeAsGlobal', this.storeAsGlobal);\n bridge.addListener('syncSelectionFromBuiltinElementsPanel', this.syncSelectionFromBuiltinElementsPanel);\n bridge.addListener('shutdown', this.shutdown);\n bridge.addListener('updateHookSettings', this.updateHookSettings);\n bridge.addListener('getHookSettings', this.getHookSettings);\n bridge.addListener('updateComponentFilters', this.updateComponentFilters);\n bridge.addListener('getEnvironmentNames', this.getEnvironmentNames);\n bridge.addListener('getIfHasUnsupportedRendererVersion', this.getIfHasUnsupportedRendererVersion);\n bridge.addListener('overrideContext', this.overrideContext);\n bridge.addListener('overrideHookState', this.overrideHookState);\n bridge.addListener('overrideProps', this.overrideProps);\n bridge.addListener('overrideState', this.overrideState);\n setupHighlighter(bridge, this);\n TraceUpdates_initialize(this);\n bridge.send('backendInitialized');\n if (this._isProfiling) {\n bridge.send('profilingStatus', true);\n }\n }\n get rendererInterfaces() {\n return this._rendererInterfaces;\n }\n getInstanceAndStyle({\n id,\n rendererID\n }) {\n const renderer = this._rendererInterfaces[rendererID];\n if (renderer == null) {\n console.warn(`Invalid renderer id \"${rendererID}\"`);\n return null;\n }\n return renderer.getInstanceAndStyle(id);\n }\n getIDForHostInstance(target, onlySuspenseNodes) {\n if (isReactNativeEnvironment() || typeof target.nodeType !== 'number') {\n for (const rendererID in this._rendererInterfaces) {\n const renderer = this._rendererInterfaces[rendererID];\n try {\n const id = onlySuspenseNodes ? renderer.getSuspenseNodeIDForHostInstance(target) : renderer.getElementIDForHostInstance(target);\n if (id !== null) {\n return {\n id: id,\n rendererID: +rendererID\n };\n }\n } catch (error) {}\n }\n return null;\n } else {\n let bestMatch = null;\n let bestRenderer = null;\n let bestRendererID = 0;\n for (const rendererID in this._rendererInterfaces) {\n const renderer = this._rendererInterfaces[rendererID];\n const nearestNode = renderer.getNearestMountedDOMNode(target);\n if (nearestNode !== null) {\n if (nearestNode === target) {\n bestMatch = nearestNode;\n bestRenderer = renderer;\n bestRendererID = +rendererID;\n break;\n }\n if (bestMatch === null || bestMatch.contains(nearestNode)) {\n bestMatch = nearestNode;\n bestRenderer = renderer;\n bestRendererID = +rendererID;\n }\n }\n }\n if (bestRenderer != null && bestMatch != null) {\n try {\n const id = onlySuspenseNodes ? bestRenderer.getSuspenseNodeIDForHostInstance(bestMatch) : bestRenderer.getElementIDForHostInstance(bestMatch);\n if (id !== null) {\n return {\n id,\n rendererID: bestRendererID\n };\n }\n } catch (error) {}\n }\n return null;\n }\n }\n getComponentNameForHostInstance(target) {\n const match = this.getIDForHostInstance(target);\n if (match !== null) {\n const renderer = this._rendererInterfaces[match.rendererID];\n return renderer.getDisplayNameForElementID(match.id);\n }\n return null;\n }\n selectNode(target) {\n const match = this.getIDForHostInstance(target);\n if (match !== null) {\n this._bridge.send('selectElement', match.id);\n }\n }\n registerRendererInterface(rendererID, rendererInterface) {\n this._rendererInterfaces[rendererID] = rendererInterface;\n rendererInterface.setTraceUpdatesEnabled(this._traceUpdatesEnabled);\n const renderer = rendererInterface.renderer;\n if (renderer !== null) {\n const devRenderer = renderer.bundleType === 1;\n const enableSuspenseTab = devRenderer && gte(renderer.version, '19.3.0-canary');\n if (enableSuspenseTab) {\n this._bridge.send('enableSuspenseTab');\n }\n }\n const selection = this._persistedSelection;\n if (selection !== null && selection.rendererID === rendererID) {\n rendererInterface.setTrackedPath(selection.path);\n }\n }\n onUnsupportedRenderer() {\n this._bridge.send('unsupportedRendererVersion');\n }\n}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/backend/index.js\n\nfunction initBackend(hook, agent, global, isReloadAndProfileSupported) {\n if (hook == null) {\n return () => {};\n }\n function registerRendererInterface(id, rendererInterface) {\n agent.registerRendererInterface(id, rendererInterface);\n rendererInterface.flushInitialOperations();\n }\n const subs = [hook.sub('renderer-attached', ({\n id,\n rendererInterface\n }) => {\n registerRendererInterface(id, rendererInterface);\n }), hook.sub('unsupported-renderer-version', () => {\n agent.onUnsupportedRenderer();\n }), hook.sub('fastRefreshScheduled', agent.onFastRefreshScheduled), hook.sub('operations', agent.onHookOperations), hook.sub('traceUpdates', agent.onTraceUpdates), hook.sub('settingsInitialized', agent.onHookSettings)];\n agent.addListener('getIfHasUnsupportedRendererVersion', () => {\n if (hook.hasUnsupportedRendererAttached) {\n agent.onUnsupportedRenderer();\n }\n });\n hook.rendererInterfaces.forEach((rendererInterface, id) => {\n registerRendererInterface(id, rendererInterface);\n });\n hook.emit('react-devtools', agent);\n hook.reactDevtoolsAgent = agent;\n const onAgentShutdown = () => {\n subs.forEach(fn => fn());\n hook.rendererInterfaces.forEach(rendererInterface => {\n rendererInterface.cleanup();\n });\n hook.reactDevtoolsAgent = null;\n };\n agent.addListener('shutdown', onAgentShutdown);\n agent.addListener('updateHookSettings', settings => {\n hook.settings = settings;\n });\n agent.addListener('getHookSettings', () => {\n if (hook.settings != null) {\n agent.onHookSettings(hook.settings);\n }\n });\n if (isReloadAndProfileSupported) {\n agent.onReloadAndProfileSupportedByHost();\n }\n return () => {\n subs.forEach(fn => fn());\n };\n}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/backend/shared/DevToolsConsolePatching.js\nlet disabledDepth = 0;\nlet prevLog;\nlet prevInfo;\nlet prevWarn;\nlet prevError;\nlet prevGroup;\nlet prevGroupCollapsed;\nlet prevGroupEnd;\nfunction disabledLog() {}\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n if (disabledDepth === 0) {\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd;\n const props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n };\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n }\n disabledDepth++;\n}\nfunction reenableLogs() {\n disabledDepth--;\n if (disabledDepth === 0) {\n const props = {\n configurable: true,\n enumerable: true,\n writable: true\n };\n Object.defineProperties(console, {\n log: {\n ...props,\n value: prevLog\n },\n info: {\n ...props,\n value: prevInfo\n },\n warn: {\n ...props,\n value: prevWarn\n },\n error: {\n ...props,\n value: prevError\n },\n group: {\n ...props,\n value: prevGroup\n },\n groupCollapsed: {\n ...props,\n value: prevGroupCollapsed\n },\n groupEnd: {\n ...props,\n value: prevGroupEnd\n }\n });\n }\n if (disabledDepth < 0) {\n console.error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/backend/shared/DevToolsComponentStackFrame.js\n\nlet prefix;\nfunction describeBuiltInComponentFrame(name) {\n if (prefix === undefined) {\n try {\n throw Error();\n } catch (x) {\n const match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n }\n let suffix = '';\n if (false) {} else if (false) {}\n return '\\n' + prefix + name + suffix;\n}\nfunction describeDebugInfoFrame(name, env) {\n return describeBuiltInComponentFrame(name + (env ? ' [' + env + ']' : ''));\n}\nlet reentry = false;\nlet componentFrameCache;\nif (false) {}\nfunction describeNativeComponentFrame(fn, construct, currentDispatcherRef) {\n if (!fn || reentry) {\n return '';\n }\n if (false) {}\n const previousPrepareStackTrace = Error.prepareStackTrace;\n Error.prepareStackTrace = undefined;\n reentry = true;\n const previousDispatcher = currentDispatcherRef.H;\n currentDispatcherRef.H = null;\n disableLogs();\n try {\n const RunInRootFrame = {\n DetermineComponentFrameRoot() {\n let control;\n try {\n if (construct) {\n const Fake = function () {\n throw Error();\n };\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n throw Error();\n }\n });\n if (typeof Reflect === 'object' && Reflect.construct) {\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n const maybePromise = fn();\n if (maybePromise && typeof maybePromise.catch === 'function') {\n maybePromise.catch(() => {});\n }\n }\n } catch (sample) {\n if (sample && control && typeof sample.stack === 'string') {\n return [sample.stack, control.stack];\n }\n }\n return [null, null];\n }\n };\n RunInRootFrame.DetermineComponentFrameRoot.displayName = 'DetermineComponentFrameRoot';\n const namePropDescriptor = Object.getOwnPropertyDescriptor(RunInRootFrame.DetermineComponentFrameRoot, 'name');\n if (namePropDescriptor && namePropDescriptor.configurable) {\n Object.defineProperty(RunInRootFrame.DetermineComponentFrameRoot, 'name', {\n value: 'DetermineComponentFrameRoot'\n });\n }\n const [sampleStack, controlStack] = RunInRootFrame.DetermineComponentFrameRoot();\n if (sampleStack && controlStack) {\n const sampleLines = sampleStack.split('\\n');\n const controlLines = controlStack.split('\\n');\n let s = 0;\n let c = 0;\n while (s < sampleLines.length && !sampleLines[s].includes('DetermineComponentFrameRoot')) {\n s++;\n }\n while (c < controlLines.length && !controlLines[c].includes('DetermineComponentFrameRoot')) {\n c++;\n }\n if (s === sampleLines.length || c === controlLines.length) {\n s = sampleLines.length - 1;\n c = controlLines.length - 1;\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n c--;\n }\n }\n for (; s >= 1 && c >= 0; s--, c--) {\n if (sampleLines[s] !== controlLines[c]) {\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--;\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n let frame = '\\n' + sampleLines[s].replace(' at new ', ' at ');\n if (fn.displayName && frame.includes('<anonymous>')) {\n frame = frame.replace('<anonymous>', fn.displayName);\n }\n if (false) {}\n return frame;\n }\n } while (s >= 1 && c >= 0);\n }\n break;\n }\n }\n }\n } finally {\n reentry = false;\n Error.prepareStackTrace = previousPrepareStackTrace;\n currentDispatcherRef.H = previousDispatcher;\n reenableLogs();\n }\n const name = fn ? fn.displayName || fn.name : '';\n const syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n if (false) {}\n return syntheticFrame;\n}\nfunction describeClassComponentFrame(ctor, currentDispatcherRef) {\n return describeNativeComponentFrame(ctor, true, currentDispatcherRef);\n}\nfunction describeFunctionComponentFrame(fn, currentDispatcherRef) {\n return describeNativeComponentFrame(fn, false, currentDispatcherRef);\n}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/backend/shared/DevToolsOwnerStack.js\nfunction formatOwnerStack(error) {\n const prevPrepareStackTrace = Error.prepareStackTrace;\n Error.prepareStackTrace = undefined;\n let stack = error.stack;\n Error.prepareStackTrace = prevPrepareStackTrace;\n if (stack.startsWith('Error: react-stack-top-frame\\n')) {\n stack = stack.slice(29);\n }\n let idx = stack.indexOf('\\n');\n if (idx !== -1) {\n stack = stack.slice(idx + 1);\n }\n idx = stack.indexOf('react_stack_bottom_frame');\n if (idx === -1) {\n idx = stack.indexOf('react-stack-bottom-frame');\n }\n if (idx !== -1) {\n idx = stack.lastIndexOf('\\n', idx);\n }\n if (idx !== -1) {\n stack = stack.slice(0, idx);\n } else {\n return '';\n }\n return stack;\n}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/backend/flight/DevToolsComponentInfoStack.js\n\n\nfunction getOwnerStackByComponentInfoInDev(componentInfo) {\n try {\n let info = '';\n if (!componentInfo.owner && typeof componentInfo.name === 'string') {\n return describeBuiltInComponentFrame(componentInfo.name);\n }\n let owner = componentInfo;\n while (owner) {\n const ownerStack = owner.debugStack;\n if (ownerStack != null) {\n owner = owner.owner;\n if (owner) {\n info += '\\n' + formatOwnerStack(ownerStack);\n }\n } else {\n break;\n }\n }\n return info;\n } catch (x) {\n return '\\nError generating stack: ' + x.message + '\\n' + x.stack;\n }\n}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/backend/shared/DevToolsServerComponentLogs.js\nconst componentInfoToComponentLogsMap = new WeakMap();\n;// CONCATENATED MODULE: ../react-devtools-shared/src/backend/flight/renderer.js\n\n\n\n\nfunction supportsConsoleTasks(componentInfo) {\n return !!componentInfo.debugTask;\n}\nfunction attach(hook, rendererID, renderer, global) {\n const {\n getCurrentComponentInfo\n } = renderer;\n function getComponentStack(topFrame) {\n if (getCurrentComponentInfo === undefined) {\n return null;\n }\n const current = getCurrentComponentInfo();\n if (current === null) {\n return null;\n }\n if (supportsConsoleTasks(current)) {\n return null;\n }\n const enableOwnerStacks = current.debugStack != null;\n let componentStack = '';\n if (enableOwnerStacks) {\n const topStackFrames = formatOwnerStack(topFrame);\n if (topStackFrames) {\n componentStack += '\\n' + topStackFrames;\n }\n componentStack += getOwnerStackByComponentInfoInDev(current);\n }\n return {\n enableOwnerStacks,\n componentStack\n };\n }\n function onErrorOrWarning(type, args) {\n if (getCurrentComponentInfo === undefined) {\n return;\n }\n const componentInfo = getCurrentComponentInfo();\n if (componentInfo === null) {\n return;\n }\n if (args.length > 3 && typeof args[0] === 'string' && args[0].startsWith('%c%s%c ') && typeof args[1] === 'string' && typeof args[2] === 'string' && typeof args[3] === 'string') {\n const format = args[0].slice(7);\n const env = args[2].trim();\n args = args.slice(4);\n if (env !== componentInfo.env) {\n args.unshift('[' + env + '] ' + format);\n } else {\n args.unshift(format);\n }\n }\n const message = formatConsoleArgumentsToSingleString(...args);\n let componentLogsEntry = componentInfoToComponentLogsMap.get(componentInfo);\n if (componentLogsEntry === undefined) {\n componentLogsEntry = {\n errors: new Map(),\n errorsCount: 0,\n warnings: new Map(),\n warningsCount: 0\n };\n componentInfoToComponentLogsMap.set(componentInfo, componentLogsEntry);\n }\n const messageMap = type === 'error' ? componentLogsEntry.errors : componentLogsEntry.warnings;\n const count = messageMap.get(message) || 0;\n messageMap.set(message, count + 1);\n if (type === 'error') {\n componentLogsEntry.errorsCount++;\n } else {\n componentLogsEntry.warningsCount++;\n }\n }\n const supportsTogglingSuspense = false;\n return {\n cleanup() {},\n clearErrorsAndWarnings() {},\n clearErrorsForElementID() {},\n clearWarningsForElementID() {},\n getSerializedElementValueByPath() {},\n deletePath() {},\n findHostInstancesForElementID() {\n return null;\n },\n findLastKnownRectsForID() {\n return null;\n },\n flushInitialOperations() {},\n getBestMatchForTrackedPath() {\n return null;\n },\n getComponentStack,\n getDisplayNameForElementID() {\n return null;\n },\n getNearestMountedDOMNode() {\n return null;\n },\n getElementIDForHostInstance() {\n return null;\n },\n getSuspenseNodeIDForHostInstance() {\n return null;\n },\n getInstanceAndStyle() {\n return {\n instance: null,\n style: null\n };\n },\n getOwnersList() {\n return null;\n },\n getPathForElement() {\n return null;\n },\n getProfilingData() {\n throw new Error('getProfilingData not supported by this renderer');\n },\n handleCommitFiberRoot() {},\n handleCommitFiberUnmount() {},\n handlePostCommitFiberRoot() {},\n hasElementWithId() {\n return false;\n },\n inspectElement(requestID, id, path) {\n return {\n id,\n responseID: requestID,\n type: 'not-found'\n };\n },\n logElementToConsole() {},\n getElementAttributeByPath() {},\n getElementSourceFunctionById() {},\n onErrorOrWarning,\n overrideError() {},\n overrideSuspense() {},\n overrideSuspenseMilestone() {},\n overrideValueAtPath() {},\n renamePath() {},\n renderer,\n setTraceUpdatesEnabled() {},\n setTrackedPath() {},\n startProfiling() {},\n stopProfiling() {},\n storeAsGlobal() {},\n supportsTogglingSuspense,\n updateComponentFilters() {},\n getEnvironmentNames() {\n return [];\n }\n };\n}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/backend/utils/parseStackTrace.js\nfunction parseStackTraceFromChromeStack(stack, skipFrames) {\n if (stack.startsWith('Error: react-stack-top-frame\\n')) {\n stack = stack.slice(29);\n }\n let idx = stack.indexOf('react_stack_bottom_frame');\n if (idx === -1) {\n idx = stack.indexOf('react-stack-bottom-frame');\n }\n if (idx !== -1) {\n idx = stack.lastIndexOf('\\n', idx);\n }\n if (idx !== -1) {\n stack = stack.slice(0, idx);\n }\n const frames = stack.split('\\n');\n const parsedFrames = [];\n for (let i = skipFrames; i < frames.length; i++) {\n const parsed = chromeFrameRegExp.exec(frames[i]);\n if (!parsed) {\n continue;\n }\n let name = parsed[1] || '';\n let isAsync = parsed[8] === 'async ';\n if (name === '<anonymous>') {\n name = '';\n } else if (name.startsWith('async ')) {\n name = name.slice(5);\n isAsync = true;\n }\n let filename = parsed[2] || parsed[5] || '';\n if (filename === '<anonymous>') {\n filename = '';\n }\n const line = +(parsed[3] || parsed[6] || 0);\n const col = +(parsed[4] || parsed[7] || 0);\n parsedFrames.push([name, filename, line, col, 0, 0, isAsync]);\n }\n return parsedFrames;\n}\nconst firefoxFrameRegExp = /^((?:.*\".+\")?[^@]*)@(.+):(\\d+):(\\d+)$/;\nfunction parseStackTraceFromFirefoxStack(stack, skipFrames) {\n let idx = stack.indexOf('react_stack_bottom_frame');\n if (idx === -1) {\n idx = stack.indexOf('react-stack-bottom-frame');\n }\n if (idx !== -1) {\n idx = stack.lastIndexOf('\\n', idx);\n }\n if (idx !== -1) {\n stack = stack.slice(0, idx);\n }\n const frames = stack.split('\\n');\n const parsedFrames = [];\n for (let i = skipFrames; i < frames.length; i++) {\n const parsed = firefoxFrameRegExp.exec(frames[i]);\n if (!parsed) {\n continue;\n }\n const name = parsed[1] || '';\n const filename = parsed[2] || '';\n const line = +parsed[3];\n const col = +parsed[4];\n parsedFrames.push([name, filename, line, col, 0, 0, false]);\n }\n return parsedFrames;\n}\nconst CHROME_STACK_REGEXP = /^\\s*at .*(\\S+:\\d+|\\(native\\))/m;\nfunction parseStackTraceFromString(stack, skipFrames) {\n if (stack.match(CHROME_STACK_REGEXP)) {\n return parseStackTraceFromChromeStack(stack, skipFrames);\n }\n return parseStackTraceFromFirefoxStack(stack, skipFrames);\n}\nlet framesToSkip = 0;\nlet collectedStackTrace = null;\nconst identifierRegExp = /^[a-zA-Z_$][0-9a-zA-Z_$]*$/;\nfunction getMethodCallName(callSite) {\n const typeName = callSite.getTypeName();\n const methodName = callSite.getMethodName();\n const functionName = callSite.getFunctionName();\n let result = '';\n if (functionName) {\n if (typeName && identifierRegExp.test(functionName) && functionName !== typeName) {\n result += typeName + '.';\n }\n result += functionName;\n if (methodName && functionName !== methodName && !functionName.endsWith('.' + methodName) && !functionName.endsWith(' ' + methodName)) {\n result += ' [as ' + methodName + ']';\n }\n } else {\n if (typeName) {\n result += typeName + '.';\n }\n if (methodName) {\n result += methodName;\n } else {\n result += '<anonymous>';\n }\n }\n return result;\n}\nfunction collectStackTrace(error, structuredStackTrace) {\n const result = [];\n for (let i = framesToSkip; i < structuredStackTrace.length; i++) {\n const callSite = structuredStackTrace[i];\n let name = callSite.getFunctionName() || '<anonymous>';\n if (name.includes('react_stack_bottom_frame') || name.includes('react-stack-bottom-frame')) {\n break;\n } else if (callSite.isNative()) {\n const isAsync = callSite.isAsync();\n result.push([name, '', 0, 0, 0, 0, isAsync]);\n } else {\n if (callSite.isConstructor()) {\n name = 'new ' + name;\n } else if (!callSite.isToplevel()) {\n name = getMethodCallName(callSite);\n }\n if (name === '<anonymous>') {\n name = '';\n }\n let filename = callSite.getScriptNameOrSourceURL() || '<anonymous>';\n if (filename === '<anonymous>') {\n filename = '';\n if (callSite.isEval()) {\n const origin = callSite.getEvalOrigin();\n if (origin) {\n filename = origin.toString() + ', <anonymous>';\n }\n }\n }\n const line = callSite.getLineNumber() || 0;\n const col = callSite.getColumnNumber() || 0;\n const enclosingLine = typeof callSite.getEnclosingLineNumber === 'function' ? callSite.getEnclosingLineNumber() || 0 : 0;\n const enclosingCol = typeof callSite.getEnclosingColumnNumber === 'function' ? callSite.getEnclosingColumnNumber() || 0 : 0;\n const isAsync = callSite.isAsync();\n result.push([name, filename, line, col, enclosingLine, enclosingCol, isAsync]);\n }\n }\n collectedStackTrace = result;\n const name = error.name || 'Error';\n const message = error.message || '';\n let stack = name + ': ' + message;\n for (let i = 0; i < structuredStackTrace.length; i++) {\n stack += '\\n at ' + structuredStackTrace[i].toString();\n }\n return stack;\n}\nconst chromeFrameRegExp = /^ *at (?:(.+) \\((?:(.+):(\\d+):(\\d+)|\\<anonymous\\>)\\)|(?:async )?(.+):(\\d+):(\\d+)|\\<anonymous\\>)$/;\nconst stackTraceCache = new WeakMap();\nfunction parseStackTrace(error, skipFrames) {\n const existing = stackTraceCache.get(error);\n if (existing !== undefined) {\n return existing;\n }\n collectedStackTrace = null;\n framesToSkip = skipFrames;\n const previousPrepare = Error.prepareStackTrace;\n Error.prepareStackTrace = collectStackTrace;\n let stack;\n try {\n stack = String(error.stack);\n } finally {\n Error.prepareStackTrace = previousPrepare;\n }\n if (collectedStackTrace !== null) {\n const result = collectedStackTrace;\n collectedStackTrace = null;\n stackTraceCache.set(error, result);\n return result;\n }\n const parsedFrames = parseStackTraceFromString(stack, skipFrames);\n stackTraceCache.set(error, parsedFrames);\n return parsedFrames;\n}\nfunction extractLocationFromOwnerStack(error) {\n const stackTrace = parseStackTrace(error, 1);\n const stack = error.stack;\n if (!stack.includes('react_stack_bottom_frame') && !stack.includes('react-stack-bottom-frame')) {\n return null;\n }\n for (let i = stackTrace.length - 1; i >= 0; i--) {\n const [functionName, fileName, line, col, encLine, encCol] = stackTrace[i];\n if (fileName.indexOf(':') !== -1) {\n return [functionName, fileName, encLine || line, encCol || col];\n }\n }\n return null;\n}\nfunction extractLocationFromComponentStack(stack) {\n const stackTrace = parseStackTraceFromString(stack, 0);\n for (let i = 0; i < stackTrace.length; i++) {\n const [functionName, fileName, line, col, encLine, encCol] = stackTrace[i];\n if (fileName.indexOf(':') !== -1) {\n return [functionName, fileName, encLine || line, encCol || col];\n }\n }\n return null;\n}\n// EXTERNAL MODULE: ../react-debug-tools/node_modules/error-stack-parser/error-stack-parser.js\nvar error_stack_parser = __webpack_require__(2235);\nvar error_stack_parser_default = /*#__PURE__*/__webpack_require__.n(error_stack_parser);\n;// CONCATENATED MODULE: ../shared/assign.js\nconst assign_assign = Object.assign;\n/* harmony default export */ const shared_assign = (assign_assign);\n;// CONCATENATED MODULE: external \"react\"\nconst external_react_namespaceObject = require(\"react\");\n;// CONCATENATED MODULE: ../shared/ReactSharedInternals.js\n\nconst ReactSharedInternals = external_react_namespaceObject.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;\n/* harmony default export */ const shared_ReactSharedInternals = (ReactSharedInternals);\n;// CONCATENATED MODULE: ../react-reconciler/src/ReactWorkTags.js\nconst FunctionComponent = 0;\nconst ClassComponent = 1;\nconst HostRoot = 3;\nconst HostPortal = 4;\nconst HostComponent = 5;\nconst HostText = 6;\nconst Fragment = 7;\nconst Mode = 8;\nconst ContextConsumer = 9;\nconst ContextProvider = 10;\nconst ForwardRef = 11;\nconst Profiler = 12;\nconst SuspenseComponent = 13;\nconst MemoComponent = 14;\nconst SimpleMemoComponent = 15;\nconst LazyComponent = 16;\nconst IncompleteClassComponent = 17;\nconst DehydratedFragment = 18;\nconst SuspenseListComponent = 19;\nconst ScopeComponent = 21;\nconst OffscreenComponent = 22;\nconst LegacyHiddenComponent = 23;\nconst CacheComponent = 24;\nconst TracingMarkerComponent = 25;\nconst HostHoistable = 26;\nconst HostSingleton = 27;\nconst IncompleteFunctionComponent = 28;\nconst Throw = 29;\nconst ViewTransitionComponent = 30;\nconst ActivityComponent = 31;\n;// CONCATENATED MODULE: ../shared/hasOwnProperty.js\nconst hasOwnProperty_hasOwnProperty = Object.prototype.hasOwnProperty;\n/* harmony default export */ const shared_hasOwnProperty = (hasOwnProperty_hasOwnProperty);\n;// CONCATENATED MODULE: ../react-debug-tools/src/ReactDebugHooks.js\n\n\n\n\n\n\nlet hookLog = [];\nlet primitiveStackCache = null;\nfunction getPrimitiveStackCache() {\n if (primitiveStackCache === null) {\n const cache = new Map();\n let readHookLog;\n try {\n Dispatcher.useContext({\n _currentValue: null\n });\n Dispatcher.useState(null);\n Dispatcher.useReducer((s, a) => s, null);\n Dispatcher.useRef(null);\n if (typeof Dispatcher.useCacheRefresh === 'function') {\n Dispatcher.useCacheRefresh();\n }\n Dispatcher.useLayoutEffect(() => {});\n Dispatcher.useInsertionEffect(() => {});\n Dispatcher.useEffect(() => {});\n Dispatcher.useImperativeHandle(undefined, () => null);\n Dispatcher.useDebugValue(null);\n Dispatcher.useCallback(() => {});\n Dispatcher.useTransition();\n Dispatcher.useSyncExternalStore(() => () => {}, () => null, () => null);\n Dispatcher.useDeferredValue(null);\n Dispatcher.useMemo(() => null);\n Dispatcher.useOptimistic(null, (s, a) => s);\n Dispatcher.useFormState((s, p) => s, null);\n Dispatcher.useActionState((s, p) => s, null);\n Dispatcher.useHostTransitionStatus();\n if (typeof Dispatcher.useMemoCache === 'function') {\n Dispatcher.useMemoCache(0);\n }\n if (typeof Dispatcher.use === 'function') {\n Dispatcher.use({\n $$typeof: REACT_CONTEXT_TYPE,\n _currentValue: null\n });\n Dispatcher.use({\n then() {},\n status: 'fulfilled',\n value: null\n });\n try {\n Dispatcher.use({\n then() {}\n });\n } catch (x) {}\n }\n Dispatcher.useId();\n if (typeof Dispatcher.useEffectEvent === 'function') {\n Dispatcher.useEffectEvent(args => {});\n }\n } finally {\n readHookLog = hookLog;\n hookLog = [];\n }\n for (let i = 0; i < readHookLog.length; i++) {\n const hook = readHookLog[i];\n cache.set(hook.primitive, error_stack_parser_default().parse(hook.stackError));\n }\n primitiveStackCache = cache;\n }\n return primitiveStackCache;\n}\nlet currentFiber = null;\nlet currentHook = null;\nlet currentContextDependency = null;\nlet currentThenableIndex = 0;\nlet currentThenableState = null;\nfunction nextHook() {\n const hook = currentHook;\n if (hook !== null) {\n currentHook = hook.next;\n }\n return hook;\n}\nfunction readContext(context) {\n if (currentFiber === null) {\n return context._currentValue;\n } else {\n if (currentContextDependency === null) {\n throw new Error('Context reads do not line up with context dependencies. This is a bug in React Debug Tools.');\n }\n let value;\n if (shared_hasOwnProperty.call(currentContextDependency, 'memoizedValue')) {\n value = currentContextDependency.memoizedValue;\n currentContextDependency = currentContextDependency.next;\n } else {\n value = context._currentValue;\n }\n return value;\n }\n}\nconst SuspenseException = new Error(\"Suspense Exception: This is not a real error! It's an implementation \" + 'detail of `use` to interrupt the current render. You must either ' + 'rethrow it immediately, or move the `use` call outside of the ' + '`try/catch` block. Capturing without rethrowing will lead to ' + 'unexpected behavior.\\n\\n' + 'To handle async errors, wrap your component in an error boundary, or ' + \"call the promise's `.catch` method and pass the result to `use`.\");\nfunction use(usable) {\n if (usable !== null && typeof usable === 'object') {\n if (typeof usable.then === 'function') {\n const thenable = currentThenableState !== null && currentThenableIndex < currentThenableState.length ? currentThenableState[currentThenableIndex++] : usable;\n switch (thenable.status) {\n case 'fulfilled':\n {\n const fulfilledValue = thenable.value;\n hookLog.push({\n displayName: null,\n primitive: 'Promise',\n stackError: new Error(),\n value: fulfilledValue,\n debugInfo: thenable._debugInfo === undefined ? null : thenable._debugInfo,\n dispatcherHookName: 'Use'\n });\n return fulfilledValue;\n }\n case 'rejected':\n {\n const rejectedError = thenable.reason;\n throw rejectedError;\n }\n }\n hookLog.push({\n displayName: null,\n primitive: 'Unresolved',\n stackError: new Error(),\n value: thenable,\n debugInfo: thenable._debugInfo === undefined ? null : thenable._debugInfo,\n dispatcherHookName: 'Use'\n });\n throw SuspenseException;\n } else if (usable.$$typeof === REACT_CONTEXT_TYPE) {\n const context = usable;\n const value = readContext(context);\n hookLog.push({\n displayName: context.displayName || 'Context',\n primitive: 'Context (use)',\n stackError: new Error(),\n value,\n debugInfo: null,\n dispatcherHookName: 'Use'\n });\n return value;\n }\n }\n throw new Error('An unsupported type was passed to use(): ' + String(usable));\n}\nfunction useContext(context) {\n const value = readContext(context);\n hookLog.push({\n displayName: context.displayName || null,\n primitive: 'Context',\n stackError: new Error(),\n value: value,\n debugInfo: null,\n dispatcherHookName: 'Context'\n });\n return value;\n}\nfunction useState(initialState) {\n const hook = nextHook();\n const state = hook !== null ? hook.memoizedState : typeof initialState === 'function' ? initialState() : initialState;\n hookLog.push({\n displayName: null,\n primitive: 'State',\n stackError: new Error(),\n value: state,\n debugInfo: null,\n dispatcherHookName: 'State'\n });\n return [state, action => {}];\n}\nfunction useReducer(reducer, initialArg, init) {\n const hook = nextHook();\n let state;\n if (hook !== null) {\n state = hook.memoizedState;\n } else {\n state = init !== undefined ? init(initialArg) : initialArg;\n }\n hookLog.push({\n displayName: null,\n primitive: 'Reducer',\n stackError: new Error(),\n value: state,\n debugInfo: null,\n dispatcherHookName: 'Reducer'\n });\n return [state, action => {}];\n}\nfunction useRef(initialValue) {\n const hook = nextHook();\n const ref = hook !== null ? hook.memoizedState : {\n current: initialValue\n };\n hookLog.push({\n displayName: null,\n primitive: 'Ref',\n stackError: new Error(),\n value: ref.current,\n debugInfo: null,\n dispatcherHookName: 'Ref'\n });\n return ref;\n}\nfunction useCacheRefresh() {\n const hook = nextHook();\n hookLog.push({\n displayName: null,\n primitive: 'CacheRefresh',\n stackError: new Error(),\n value: hook !== null ? hook.memoizedState : function refresh() {},\n debugInfo: null,\n dispatcherHookName: 'CacheRefresh'\n });\n return () => {};\n}\nfunction useLayoutEffect(create, inputs) {\n nextHook();\n hookLog.push({\n displayName: null,\n primitive: 'LayoutEffect',\n stackError: new Error(),\n value: create,\n debugInfo: null,\n dispatcherHookName: 'LayoutEffect'\n });\n}\nfunction useInsertionEffect(create, inputs) {\n nextHook();\n hookLog.push({\n displayName: null,\n primitive: 'InsertionEffect',\n stackError: new Error(),\n value: create,\n debugInfo: null,\n dispatcherHookName: 'InsertionEffect'\n });\n}\nfunction useEffect(create, deps) {\n nextHook();\n hookLog.push({\n displayName: null,\n primitive: 'Effect',\n stackError: new Error(),\n value: create,\n debugInfo: null,\n dispatcherHookName: 'Effect'\n });\n}\nfunction useImperativeHandle(ref, create, inputs) {\n nextHook();\n let instance = undefined;\n if (ref !== null && typeof ref === 'object') {\n instance = ref.current;\n }\n hookLog.push({\n displayName: null,\n primitive: 'ImperativeHandle',\n stackError: new Error(),\n value: instance,\n debugInfo: null,\n dispatcherHookName: 'ImperativeHandle'\n });\n}\nfunction useDebugValue(value, formatterFn) {\n hookLog.push({\n displayName: null,\n primitive: 'DebugValue',\n stackError: new Error(),\n value: typeof formatterFn === 'function' ? formatterFn(value) : value,\n debugInfo: null,\n dispatcherHookName: 'DebugValue'\n });\n}\nfunction useCallback(callback, inputs) {\n const hook = nextHook();\n hookLog.push({\n displayName: null,\n primitive: 'Callback',\n stackError: new Error(),\n value: hook !== null ? hook.memoizedState[0] : callback,\n debugInfo: null,\n dispatcherHookName: 'Callback'\n });\n return callback;\n}\nfunction useMemo(nextCreate, inputs) {\n const hook = nextHook();\n const value = hook !== null ? hook.memoizedState[0] : nextCreate();\n hookLog.push({\n displayName: null,\n primitive: 'Memo',\n stackError: new Error(),\n value,\n debugInfo: null,\n dispatcherHookName: 'Memo'\n });\n return value;\n}\nfunction useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {\n nextHook();\n nextHook();\n const value = getSnapshot();\n hookLog.push({\n displayName: null,\n primitive: 'SyncExternalStore',\n stackError: new Error(),\n value,\n debugInfo: null,\n dispatcherHookName: 'SyncExternalStore'\n });\n return value;\n}\nfunction useTransition() {\n const stateHook = nextHook();\n nextHook();\n const isPending = stateHook !== null ? stateHook.memoizedState : false;\n hookLog.push({\n displayName: null,\n primitive: 'Transition',\n stackError: new Error(),\n value: isPending,\n debugInfo: null,\n dispatcherHookName: 'Transition'\n });\n return [isPending, () => {}];\n}\nfunction useDeferredValue(value, initialValue) {\n const hook = nextHook();\n const prevValue = hook !== null ? hook.memoizedState : value;\n hookLog.push({\n displayName: null,\n primitive: 'DeferredValue',\n stackError: new Error(),\n value: prevValue,\n debugInfo: null,\n dispatcherHookName: 'DeferredValue'\n });\n return prevValue;\n}\nfunction useId() {\n const hook = nextHook();\n const id = hook !== null ? hook.memoizedState : '';\n hookLog.push({\n displayName: null,\n primitive: 'Id',\n stackError: new Error(),\n value: id,\n debugInfo: null,\n dispatcherHookName: 'Id'\n });\n return id;\n}\nfunction useMemoCache(size) {\n const fiber = currentFiber;\n if (fiber == null) {\n return [];\n }\n const memoCache = fiber.updateQueue != null ? fiber.updateQueue.memoCache : null;\n if (memoCache == null) {\n return [];\n }\n let data = memoCache.data[memoCache.index];\n if (data === undefined) {\n data = memoCache.data[memoCache.index] = new Array(size);\n for (let i = 0; i < size; i++) {\n data[i] = REACT_MEMO_CACHE_SENTINEL;\n }\n }\n memoCache.index++;\n return data;\n}\nfunction useOptimistic(passthrough, reducer) {\n const hook = nextHook();\n let state;\n if (hook !== null) {\n state = hook.memoizedState;\n } else {\n state = passthrough;\n }\n hookLog.push({\n displayName: null,\n primitive: 'Optimistic',\n stackError: new Error(),\n value: state,\n debugInfo: null,\n dispatcherHookName: 'Optimistic'\n });\n return [state, action => {}];\n}\nfunction useFormState(action, initialState, permalink) {\n const hook = nextHook();\n nextHook();\n nextHook();\n const stackError = new Error();\n let value;\n let debugInfo = null;\n let error = null;\n if (hook !== null) {\n const actionResult = hook.memoizedState;\n if (typeof actionResult === 'object' && actionResult !== null && typeof actionResult.then === 'function') {\n const thenable = actionResult;\n switch (thenable.status) {\n case 'fulfilled':\n {\n value = thenable.value;\n debugInfo = thenable._debugInfo === undefined ? null : thenable._debugInfo;\n break;\n }\n case 'rejected':\n {\n const rejectedError = thenable.reason;\n error = rejectedError;\n break;\n }\n default:\n error = SuspenseException;\n debugInfo = thenable._debugInfo === undefined ? null : thenable._debugInfo;\n value = thenable;\n }\n } else {\n value = actionResult;\n }\n } else {\n value = initialState;\n }\n hookLog.push({\n displayName: null,\n primitive: 'FormState',\n stackError: stackError,\n value: value,\n debugInfo: debugInfo,\n dispatcherHookName: 'FormState'\n });\n if (error !== null) {\n throw error;\n }\n const state = value;\n return [state, payload => {}, false];\n}\nfunction useActionState(action, initialState, permalink) {\n const hook = nextHook();\n nextHook();\n nextHook();\n const stackError = new Error();\n let value;\n let debugInfo = null;\n let error = null;\n if (hook !== null) {\n const actionResult = hook.memoizedState;\n if (typeof actionResult === 'object' && actionResult !== null && typeof actionResult.then === 'function') {\n const thenable = actionResult;\n switch (thenable.status) {\n case 'fulfilled':\n {\n value = thenable.value;\n debugInfo = thenable._debugInfo === undefined ? null : thenable._debugInfo;\n break;\n }\n case 'rejected':\n {\n const rejectedError = thenable.reason;\n error = rejectedError;\n break;\n }\n default:\n error = SuspenseException;\n debugInfo = thenable._debugInfo === undefined ? null : thenable._debugInfo;\n value = thenable;\n }\n } else {\n value = actionResult;\n }\n } else {\n value = initialState;\n }\n hookLog.push({\n displayName: null,\n primitive: 'ActionState',\n stackError: stackError,\n value: value,\n debugInfo: debugInfo,\n dispatcherHookName: 'ActionState'\n });\n if (error !== null) {\n throw error;\n }\n const state = value;\n return [state, payload => {}, false];\n}\nfunction useHostTransitionStatus() {\n const status = readContext({\n _currentValue: null\n });\n hookLog.push({\n displayName: null,\n primitive: 'HostTransitionStatus',\n stackError: new Error(),\n value: status,\n debugInfo: null,\n dispatcherHookName: 'HostTransitionStatus'\n });\n return status;\n}\nfunction useEffectEvent(callback) {\n nextHook();\n hookLog.push({\n displayName: null,\n primitive: 'EffectEvent',\n stackError: new Error(),\n value: callback,\n debugInfo: null,\n dispatcherHookName: 'EffectEvent'\n });\n return callback;\n}\nconst Dispatcher = {\n readContext,\n use,\n useCallback,\n useContext,\n useEffect,\n useImperativeHandle,\n useLayoutEffect,\n useInsertionEffect,\n useMemo,\n useReducer,\n useRef,\n useState,\n useDebugValue,\n useDeferredValue,\n useTransition,\n useSyncExternalStore,\n useId,\n useHostTransitionStatus,\n useFormState,\n useActionState,\n useOptimistic,\n useMemoCache,\n useCacheRefresh,\n useEffectEvent\n};\nconst DispatcherProxyHandler = {\n get(target, prop) {\n if (target.hasOwnProperty(prop)) {\n return target[prop];\n }\n const error = new Error('Missing method in Dispatcher: ' + prop);\n error.name = 'ReactDebugToolsUnsupportedHookError';\n throw error;\n }\n};\nconst DispatcherProxy = typeof Proxy === 'undefined' ? Dispatcher : new Proxy(Dispatcher, DispatcherProxyHandler);\nlet mostLikelyAncestorIndex = 0;\nfunction findSharedIndex(hookStack, rootStack, rootIndex) {\n const source = rootStack[rootIndex].source;\n hookSearch: for (let i = 0; i < hookStack.length; i++) {\n if (hookStack[i].source === source) {\n for (let a = rootIndex + 1, b = i + 1; a < rootStack.length && b < hookStack.length; a++, b++) {\n if (hookStack[b].source !== rootStack[a].source) {\n continue hookSearch;\n }\n }\n return i;\n }\n }\n return -1;\n}\nfunction findCommonAncestorIndex(rootStack, hookStack) {\n let rootIndex = findSharedIndex(hookStack, rootStack, mostLikelyAncestorIndex);\n if (rootIndex !== -1) {\n return rootIndex;\n }\n for (let i = 0; i < rootStack.length && i < 5; i++) {\n rootIndex = findSharedIndex(hookStack, rootStack, i);\n if (rootIndex !== -1) {\n mostLikelyAncestorIndex = i;\n return rootIndex;\n }\n }\n return -1;\n}\nfunction isReactWrapper(functionName, wrapperName) {\n const hookName = parseHookName(functionName);\n if (wrapperName === 'HostTransitionStatus') {\n return hookName === wrapperName || hookName === 'FormStatus';\n }\n return hookName === wrapperName;\n}\nfunction findPrimitiveIndex(hookStack, hook) {\n const stackCache = getPrimitiveStackCache();\n const primitiveStack = stackCache.get(hook.primitive);\n if (primitiveStack === undefined) {\n return -1;\n }\n for (let i = 0; i < primitiveStack.length && i < hookStack.length; i++) {\n if (primitiveStack[i].source !== hookStack[i].source) {\n if (i < hookStack.length - 1 && isReactWrapper(hookStack[i].functionName, hook.dispatcherHookName)) {\n i++;\n }\n if (i < hookStack.length - 1 && isReactWrapper(hookStack[i].functionName, hook.dispatcherHookName)) {\n i++;\n }\n return i;\n }\n }\n return -1;\n}\nfunction parseTrimmedStack(rootStack, hook) {\n const hookStack = error_stack_parser_default().parse(hook.stackError);\n const rootIndex = findCommonAncestorIndex(rootStack, hookStack);\n const primitiveIndex = findPrimitiveIndex(hookStack, hook);\n if (rootIndex === -1 || primitiveIndex === -1 || rootIndex - primitiveIndex < 2) {\n if (primitiveIndex === -1) {\n return [null, null];\n } else {\n return [hookStack[primitiveIndex - 1], null];\n }\n }\n return [hookStack[primitiveIndex - 1], hookStack.slice(primitiveIndex, rootIndex - 1)];\n}\nfunction parseHookName(functionName) {\n if (!functionName) {\n return '';\n }\n let startIndex = functionName.lastIndexOf('[as ');\n if (startIndex !== -1) {\n return parseHookName(functionName.slice(startIndex + '[as '.length, -1));\n }\n startIndex = functionName.lastIndexOf('.');\n if (startIndex === -1) {\n startIndex = 0;\n } else {\n startIndex += 1;\n }\n if (functionName.slice(startIndex).startsWith('unstable_')) {\n startIndex += 'unstable_'.length;\n }\n if (functionName.slice(startIndex).startsWith('experimental_')) {\n startIndex += 'experimental_'.length;\n }\n if (functionName.slice(startIndex, startIndex + 3) === 'use') {\n if (functionName.length - startIndex === 3) {\n return 'Use';\n }\n startIndex += 3;\n }\n return functionName.slice(startIndex);\n}\nfunction buildTree(rootStack, readHookLog) {\n const rootChildren = [];\n let prevStack = null;\n let levelChildren = rootChildren;\n let nativeHookID = 0;\n const stackOfChildren = [];\n for (let i = 0; i < readHookLog.length; i++) {\n const hook = readHookLog[i];\n const parseResult = parseTrimmedStack(rootStack, hook);\n const primitiveFrame = parseResult[0];\n const stack = parseResult[1];\n let displayName = hook.displayName;\n if (displayName === null && primitiveFrame !== null) {\n displayName = parseHookName(primitiveFrame.functionName) || parseHookName(hook.dispatcherHookName);\n }\n if (stack !== null) {\n let commonSteps = 0;\n if (prevStack !== null) {\n while (commonSteps < stack.length && commonSteps < prevStack.length) {\n const stackSource = stack[stack.length - commonSteps - 1].source;\n const prevSource = prevStack[prevStack.length - commonSteps - 1].source;\n if (stackSource !== prevSource) {\n break;\n }\n commonSteps++;\n }\n for (let j = prevStack.length - 1; j > commonSteps; j--) {\n levelChildren = stackOfChildren.pop();\n }\n }\n for (let j = stack.length - commonSteps - 1; j >= 1; j--) {\n const children = [];\n const stackFrame = stack[j];\n const levelChild = {\n id: null,\n isStateEditable: false,\n name: parseHookName(stack[j - 1].functionName),\n value: undefined,\n subHooks: children,\n debugInfo: null,\n hookSource: {\n lineNumber: stackFrame.lineNumber === undefined ? null : stackFrame.lineNumber,\n columnNumber: stackFrame.columnNumber === undefined ? null : stackFrame.columnNumber,\n functionName: stackFrame.functionName === undefined ? null : stackFrame.functionName,\n fileName: stackFrame.fileName === undefined ? null : stackFrame.fileName\n }\n };\n levelChildren.push(levelChild);\n stackOfChildren.push(levelChildren);\n levelChildren = children;\n }\n prevStack = stack;\n }\n const {\n primitive,\n debugInfo\n } = hook;\n const id = primitive === 'Context' || primitive === 'Context (use)' || primitive === 'DebugValue' || primitive === 'Promise' || primitive === 'Unresolved' || primitive === 'HostTransitionStatus' ? null : nativeHookID++;\n const isStateEditable = primitive === 'Reducer' || primitive === 'State';\n const name = displayName || primitive;\n const levelChild = {\n id,\n isStateEditable,\n name,\n value: hook.value,\n subHooks: [],\n debugInfo: debugInfo,\n hookSource: null\n };\n const hookSource = {\n lineNumber: null,\n functionName: null,\n fileName: null,\n columnNumber: null\n };\n if (stack && stack.length >= 1) {\n const stackFrame = stack[0];\n hookSource.lineNumber = stackFrame.lineNumber === undefined ? null : stackFrame.lineNumber;\n hookSource.functionName = stackFrame.functionName === undefined ? null : stackFrame.functionName;\n hookSource.fileName = stackFrame.fileName === undefined ? null : stackFrame.fileName;\n hookSource.columnNumber = stackFrame.columnNumber === undefined ? null : stackFrame.columnNumber;\n }\n levelChild.hookSource = hookSource;\n levelChildren.push(levelChild);\n }\n processDebugValues(rootChildren, null);\n return rootChildren;\n}\nfunction processDebugValues(hooksTree, parentHooksNode) {\n const debugValueHooksNodes = [];\n for (let i = 0; i < hooksTree.length; i++) {\n const hooksNode = hooksTree[i];\n if (hooksNode.name === 'DebugValue' && hooksNode.subHooks.length === 0) {\n hooksTree.splice(i, 1);\n i--;\n debugValueHooksNodes.push(hooksNode);\n } else {\n processDebugValues(hooksNode.subHooks, hooksNode);\n }\n }\n if (parentHooksNode !== null) {\n if (debugValueHooksNodes.length === 1) {\n parentHooksNode.value = debugValueHooksNodes[0].value;\n } else if (debugValueHooksNodes.length > 1) {\n parentHooksNode.value = debugValueHooksNodes.map(({\n value\n }) => value);\n }\n }\n}\nfunction handleRenderFunctionError(error) {\n if (error === SuspenseException) {\n return;\n }\n if (error instanceof Error && error.name === 'ReactDebugToolsUnsupportedHookError') {\n throw error;\n }\n const wrapperError = new Error('Error rendering inspected component', {\n cause: error\n });\n wrapperError.name = 'ReactDebugToolsRenderError';\n wrapperError.cause = error;\n throw wrapperError;\n}\nfunction inspectHooks(renderFunction, props, currentDispatcher) {\n if (currentDispatcher == null) {\n currentDispatcher = shared_ReactSharedInternals;\n }\n const previousDispatcher = currentDispatcher.H;\n currentDispatcher.H = DispatcherProxy;\n let readHookLog;\n let ancestorStackError;\n try {\n ancestorStackError = new Error();\n renderFunction(props);\n } catch (error) {\n handleRenderFunctionError(error);\n } finally {\n readHookLog = hookLog;\n hookLog = [];\n currentDispatcher.H = previousDispatcher;\n }\n const rootStack = ancestorStackError === undefined ? [] : error_stack_parser_default().parse(ancestorStackError);\n return buildTree(rootStack, readHookLog);\n}\nfunction setupContexts(contextMap, fiber) {\n let current = fiber;\n while (current) {\n if (current.tag === ContextProvider) {\n let context = current.type;\n if (context._context !== undefined) {\n context = context._context;\n }\n if (!contextMap.has(context)) {\n contextMap.set(context, context._currentValue);\n context._currentValue = current.memoizedProps.value;\n }\n }\n current = current.return;\n }\n}\nfunction restoreContexts(contextMap) {\n contextMap.forEach((value, context) => context._currentValue = value);\n}\nfunction inspectHooksOfForwardRef(renderFunction, props, ref, currentDispatcher) {\n const previousDispatcher = currentDispatcher.H;\n let readHookLog;\n currentDispatcher.H = DispatcherProxy;\n let ancestorStackError;\n try {\n ancestorStackError = new Error();\n renderFunction(props, ref);\n } catch (error) {\n handleRenderFunctionError(error);\n } finally {\n readHookLog = hookLog;\n hookLog = [];\n currentDispatcher.H = previousDispatcher;\n }\n const rootStack = ancestorStackError === undefined ? [] : error_stack_parser_default().parse(ancestorStackError);\n return buildTree(rootStack, readHookLog);\n}\nfunction resolveDefaultProps(Component, baseProps) {\n if (Component && Component.defaultProps) {\n const props = shared_assign({}, baseProps);\n const defaultProps = Component.defaultProps;\n for (const propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n return props;\n }\n return baseProps;\n}\nfunction inspectHooksOfFiber(fiber, currentDispatcher) {\n if (currentDispatcher == null) {\n currentDispatcher = shared_ReactSharedInternals;\n }\n if (fiber.tag !== FunctionComponent && fiber.tag !== SimpleMemoComponent && fiber.tag !== ForwardRef) {\n throw new Error('Unknown Fiber. Needs to be a function component to inspect hooks.');\n }\n getPrimitiveStackCache();\n currentHook = fiber.memoizedState;\n currentFiber = fiber;\n const thenableState = fiber.dependencies && fiber.dependencies._debugThenableState;\n const usedThenables = thenableState ? thenableState.thenables || thenableState : null;\n currentThenableState = Array.isArray(usedThenables) ? usedThenables : null;\n currentThenableIndex = 0;\n if (shared_hasOwnProperty.call(currentFiber, 'dependencies')) {\n const dependencies = currentFiber.dependencies;\n currentContextDependency = dependencies !== null ? dependencies.firstContext : null;\n } else if (shared_hasOwnProperty.call(currentFiber, 'dependencies_old')) {\n const dependencies = currentFiber.dependencies_old;\n currentContextDependency = dependencies !== null ? dependencies.firstContext : null;\n } else if (shared_hasOwnProperty.call(currentFiber, 'dependencies_new')) {\n const dependencies = currentFiber.dependencies_new;\n currentContextDependency = dependencies !== null ? dependencies.firstContext : null;\n } else if (shared_hasOwnProperty.call(currentFiber, 'contextDependencies')) {\n const contextDependencies = currentFiber.contextDependencies;\n currentContextDependency = contextDependencies !== null ? contextDependencies.first : null;\n } else {\n throw new Error('Unsupported React version. This is a bug in React Debug Tools.');\n }\n const type = fiber.type;\n let props = fiber.memoizedProps;\n if (type !== fiber.elementType) {\n props = resolveDefaultProps(type, props);\n }\n const contextMap = new Map();\n try {\n if (currentContextDependency !== null && !shared_hasOwnProperty.call(currentContextDependency, 'memoizedValue')) {\n setupContexts(contextMap, fiber);\n }\n if (fiber.tag === ForwardRef) {\n return inspectHooksOfForwardRef(type.render, props, fiber.ref, currentDispatcher);\n }\n return inspectHooks(type, props, currentDispatcher);\n } finally {\n currentFiber = null;\n currentHook = null;\n currentContextDependency = null;\n currentThenableState = null;\n currentThenableIndex = 0;\n restoreContexts(contextMap);\n }\n}\n;// CONCATENATED MODULE: ../react-debug-tools/src/ReactDebugTools.js\n\n\n;// CONCATENATED MODULE: ../react-debug-tools/index.js\n\n;// CONCATENATED MODULE: ../react-devtools-shared/src/backend/shared/ReactSymbols.js\nconst CONCURRENT_MODE_NUMBER = 0xeacf;\nconst CONCURRENT_MODE_SYMBOL_STRING = 'Symbol(react.concurrent_mode)';\nconst CONTEXT_NUMBER = 0xeace;\nconst CONTEXT_SYMBOL_STRING = 'Symbol(react.context)';\nconst SERVER_CONTEXT_SYMBOL_STRING = 'Symbol(react.server_context)';\nconst DEPRECATED_ASYNC_MODE_SYMBOL_STRING = 'Symbol(react.async_mode)';\nconst ELEMENT_SYMBOL_STRING = 'Symbol(react.transitional.element)';\nconst LEGACY_ELEMENT_NUMBER = 0xeac7;\nconst LEGACY_ELEMENT_SYMBOL_STRING = 'Symbol(react.element)';\nconst DEBUG_TRACING_MODE_NUMBER = 0xeae1;\nconst DEBUG_TRACING_MODE_SYMBOL_STRING = 'Symbol(react.debug_trace_mode)';\nconst FORWARD_REF_NUMBER = 0xead0;\nconst FORWARD_REF_SYMBOL_STRING = 'Symbol(react.forward_ref)';\nconst FRAGMENT_NUMBER = 0xeacb;\nconst FRAGMENT_SYMBOL_STRING = 'Symbol(react.fragment)';\nconst LAZY_NUMBER = 0xead4;\nconst LAZY_SYMBOL_STRING = 'Symbol(react.lazy)';\nconst MEMO_NUMBER = 0xead3;\nconst MEMO_SYMBOL_STRING = 'Symbol(react.memo)';\nconst PORTAL_NUMBER = 0xeaca;\nconst PORTAL_SYMBOL_STRING = 'Symbol(react.portal)';\nconst PROFILER_NUMBER = 0xead2;\nconst PROFILER_SYMBOL_STRING = 'Symbol(react.profiler)';\nconst PROVIDER_NUMBER = 0xeacd;\nconst PROVIDER_SYMBOL_STRING = 'Symbol(react.provider)';\nconst CONSUMER_SYMBOL_STRING = 'Symbol(react.consumer)';\nconst SCOPE_NUMBER = 0xead7;\nconst SCOPE_SYMBOL_STRING = 'Symbol(react.scope)';\nconst STRICT_MODE_NUMBER = 0xeacc;\nconst STRICT_MODE_SYMBOL_STRING = 'Symbol(react.strict_mode)';\nconst SUSPENSE_NUMBER = 0xead1;\nconst SUSPENSE_SYMBOL_STRING = 'Symbol(react.suspense)';\nconst SUSPENSE_LIST_NUMBER = 0xead8;\nconst SUSPENSE_LIST_SYMBOL_STRING = 'Symbol(react.suspense_list)';\nconst SERVER_CONTEXT_DEFAULT_VALUE_NOT_LOADED_SYMBOL_STRING = 'Symbol(react.server_context.defaultValue)';\nconst ReactSymbols_REACT_MEMO_CACHE_SENTINEL = Symbol.for('react.memo_cache_sentinel');\n;// CONCATENATED MODULE: ../react-devtools-shared/src/config/DevToolsFeatureFlags.default.js\nconst enableLogger = false;\nconst enableStyleXFeatures = false;\nconst isInternalFacebookBuild = false;\n;// CONCATENATED MODULE: ../shared/objectIs.js\nfunction is(x, y) {\n return x === y && (x !== 0 || 1 / x === 1 / y) || x !== x && y !== y;\n}\nconst objectIs = typeof Object.is === 'function' ? Object.is : is;\n/* harmony default export */ const shared_objectIs = (objectIs);\n;// CONCATENATED MODULE: ../shared/ReactIODescription.js\nfunction getIODescription(value) {\n if (true) {\n return '';\n }\n try {\n switch (typeof value) {\n case 'function':\n return value.name || '';\n case 'object':\n if (value === null) {\n return '';\n } else if (value instanceof Error) {\n return String(value.message);\n } else if (typeof value.url === 'string') {\n return value.url;\n } else if (typeof value.href === 'string') {\n return value.href;\n } else if (typeof value.src === 'string') {\n return value.src;\n } else if (typeof value.currentSrc === 'string') {\n return value.currentSrc;\n } else if (typeof value.command === 'string') {\n return value.command;\n } else if (typeof value.request === 'object' && value.request !== null && typeof value.request.url === 'string') {\n return value.request.url;\n } else if (typeof value.response === 'object' && value.response !== null && typeof value.response.url === 'string') {\n return value.response.url;\n } else if (typeof value.id === 'string' || typeof value.id === 'number' || typeof value.id === 'bigint') {\n return String(value.id);\n } else if (typeof value.name === 'string') {\n return value.name;\n } else {\n const str = value.toString();\n if (str.startsWith('[object ') || str.length < 5 || str.length > 500) {\n return '';\n }\n return str;\n }\n case 'string':\n if (value.length < 5 || value.length > 500) {\n return '';\n }\n return value;\n case 'number':\n case 'bigint':\n return String(value);\n default:\n return '';\n }\n } catch (x) {\n return '';\n }\n}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/backend/fiber/DevToolsFiberComponentStack.js\n\n\nfunction describeFiber(workTagMap, workInProgress, currentDispatcherRef) {\n const {\n HostHoistable,\n HostSingleton,\n HostComponent,\n LazyComponent,\n SuspenseComponent,\n SuspenseListComponent,\n FunctionComponent,\n IndeterminateComponent,\n SimpleMemoComponent,\n ForwardRef,\n ClassComponent,\n ViewTransitionComponent,\n ActivityComponent\n } = workTagMap;\n switch (workInProgress.tag) {\n case HostHoistable:\n case HostSingleton:\n case HostComponent:\n return describeBuiltInComponentFrame(workInProgress.type);\n case LazyComponent:\n return describeBuiltInComponentFrame('Lazy');\n case SuspenseComponent:\n return describeBuiltInComponentFrame('Suspense');\n case SuspenseListComponent:\n return describeBuiltInComponentFrame('SuspenseList');\n case ViewTransitionComponent:\n return describeBuiltInComponentFrame('ViewTransition');\n case ActivityComponent:\n return describeBuiltInComponentFrame('Activity');\n case FunctionComponent:\n case IndeterminateComponent:\n case SimpleMemoComponent:\n return describeFunctionComponentFrame(workInProgress.type, currentDispatcherRef);\n case ForwardRef:\n return describeFunctionComponentFrame(workInProgress.type.render, currentDispatcherRef);\n case ClassComponent:\n return describeClassComponentFrame(workInProgress.type, currentDispatcherRef);\n default:\n return '';\n }\n}\nfunction getStackByFiberInDevAndProd(workTagMap, workInProgress, currentDispatcherRef) {\n try {\n let info = '';\n let node = workInProgress;\n do {\n info += describeFiber(workTagMap, node, currentDispatcherRef);\n const debugInfo = node._debugInfo;\n if (debugInfo) {\n for (let i = debugInfo.length - 1; i >= 0; i--) {\n const entry = debugInfo[i];\n if (typeof entry.name === 'string') {\n info += describeDebugInfoFrame(entry.name, entry.env);\n }\n }\n }\n node = node.return;\n } while (node);\n return info;\n } catch (x) {\n return '\\nError generating stack: ' + x.message + '\\n' + x.stack;\n }\n}\nfunction getSourceLocationByFiber(workTagMap, fiber, currentDispatcherRef) {\n try {\n const info = describeFiber(workTagMap, fiber, currentDispatcherRef);\n if (info !== '') {\n return info.slice(1);\n }\n } catch (x) {\n console.error(x);\n }\n return null;\n}\nfunction DevToolsFiberComponentStack_supportsConsoleTasks(fiber) {\n return !!fiber._debugTask;\n}\nfunction supportsOwnerStacks(fiber) {\n return fiber._debugStack !== undefined;\n}\nfunction getOwnerStackByFiberInDev(workTagMap, workInProgress, currentDispatcherRef) {\n const {\n HostHoistable,\n HostSingleton,\n HostText,\n HostComponent,\n SuspenseComponent,\n SuspenseListComponent,\n ViewTransitionComponent,\n ActivityComponent\n } = workTagMap;\n try {\n let info = '';\n if (workInProgress.tag === HostText) {\n workInProgress = workInProgress.return;\n }\n switch (workInProgress.tag) {\n case HostHoistable:\n case HostSingleton:\n case HostComponent:\n info += describeBuiltInComponentFrame(workInProgress.type);\n break;\n case SuspenseComponent:\n info += describeBuiltInComponentFrame('Suspense');\n break;\n case SuspenseListComponent:\n info += describeBuiltInComponentFrame('SuspenseList');\n break;\n case ViewTransitionComponent:\n info += describeBuiltInComponentFrame('ViewTransition');\n break;\n case ActivityComponent:\n info += describeBuiltInComponentFrame('Activity');\n break;\n }\n let owner = workInProgress;\n while (owner) {\n if (typeof owner.tag === 'number') {\n const fiber = owner;\n owner = fiber._debugOwner;\n let debugStack = fiber._debugStack;\n if (owner && debugStack) {\n if (typeof debugStack !== 'string') {\n debugStack = formatOwnerStack(debugStack);\n }\n if (debugStack !== '') {\n info += '\\n' + debugStack;\n }\n }\n } else if (owner.debugStack != null) {\n const ownerStack = owner.debugStack;\n owner = owner.owner;\n if (owner && ownerStack) {\n info += '\\n' + formatOwnerStack(ownerStack);\n }\n } else {\n break;\n }\n }\n return info;\n } catch (x) {\n return '\\nError generating stack: ' + x.message + '\\n' + x.stack;\n }\n}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/backend/StyleX/utils.js\n\nconst cachedStyleNameToValueMap = new Map();\nfunction getStyleXData(data) {\n const sources = new Set();\n const resolvedStyles = {};\n crawlData(data, sources, resolvedStyles);\n return {\n sources: Array.from(sources).sort(),\n resolvedStyles\n };\n}\nfunction crawlData(data, sources, resolvedStyles) {\n if (data == null) {\n return;\n }\n if (src_isArray(data)) {\n data.forEach(entry => {\n if (entry == null) {\n return;\n }\n if (src_isArray(entry)) {\n crawlData(entry, sources, resolvedStyles);\n } else {\n crawlObjectProperties(entry, sources, resolvedStyles);\n }\n });\n } else {\n crawlObjectProperties(data, sources, resolvedStyles);\n }\n resolvedStyles = Object.fromEntries(Object.entries(resolvedStyles).sort());\n}\nfunction crawlObjectProperties(entry, sources, resolvedStyles) {\n const keys = Object.keys(entry);\n keys.forEach(key => {\n const value = entry[key];\n if (typeof value === 'string') {\n if (key === value) {\n sources.add(key);\n } else {\n const propertyValue = getPropertyValueForStyleName(value);\n if (propertyValue != null) {\n resolvedStyles[key] = propertyValue;\n }\n }\n } else {\n const nestedStyle = {};\n resolvedStyles[key] = nestedStyle;\n crawlData([value], sources, nestedStyle);\n }\n });\n}\nfunction getPropertyValueForStyleName(styleName) {\n if (cachedStyleNameToValueMap.has(styleName)) {\n return cachedStyleNameToValueMap.get(styleName);\n }\n for (let styleSheetIndex = 0; styleSheetIndex < document.styleSheets.length; styleSheetIndex++) {\n const styleSheet = document.styleSheets[styleSheetIndex];\n let rules = null;\n try {\n rules = styleSheet.cssRules;\n } catch (_e) {\n continue;\n }\n for (let ruleIndex = 0; ruleIndex < rules.length; ruleIndex++) {\n if (!(rules[ruleIndex] instanceof CSSStyleRule)) {\n continue;\n }\n const rule = rules[ruleIndex];\n const {\n cssText,\n selectorText,\n style\n } = rule;\n if (selectorText != null) {\n if (selectorText.startsWith(`.${styleName}`)) {\n const match = cssText.match(/{ *([a-z\\-]+):/);\n if (match !== null) {\n const property = match[1];\n const value = style.getPropertyValue(property);\n cachedStyleNameToValueMap.set(styleName, value);\n return value;\n } else {\n return null;\n }\n }\n }\n }\n }\n return null;\n}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/devtools/constants.js\nconst CHANGE_LOG_URL = 'https://github.com/facebook/react/blob/main/packages/react-devtools/CHANGELOG.md';\nconst UNSUPPORTED_VERSION_URL = 'https://reactjs.org/blog/2019/08/15/new-react-devtools.html#how-do-i-get-the-old-version-back';\nconst REACT_DEVTOOLS_WORKPLACE_URL = 'https://fburl.com/react-devtools-workplace-group';\nconst THEME_STYLES = {\n light: {\n '--color-attribute-name': '#ef6632',\n '--color-attribute-name-not-editable': '#23272f',\n '--color-attribute-name-inverted': 'rgba(255, 255, 255, 0.7)',\n '--color-attribute-value': '#1a1aa6',\n '--color-attribute-value-inverted': '#ffffff',\n '--color-attribute-editable-value': '#1a1aa6',\n '--color-background': '#ffffff',\n '--color-background-hover': 'rgba(0, 136, 250, 0.1)',\n '--color-background-inactive': '#e5e5e5',\n '--color-background-invalid': '#fff0f0',\n '--color-background-selected': '#0088fa',\n '--color-button-background': '#ffffff',\n '--color-button-background-focus': '#ededed',\n '--color-button-background-hover': 'rgba(0, 0, 0, 0.2)',\n '--color-button': '#5f6673',\n '--color-button-disabled': '#cfd1d5',\n '--color-button-active': '#0088fa',\n '--color-button-focus': '#23272f',\n '--color-button-hover': '#23272f',\n '--color-border': '#eeeeee',\n '--color-commit-did-not-render-fill': '#cfd1d5',\n '--color-commit-did-not-render-fill-text': '#000000',\n '--color-commit-did-not-render-pattern': '#cfd1d5',\n '--color-commit-did-not-render-pattern-text': '#333333',\n '--color-commit-gradient-0': '#37afa9',\n '--color-commit-gradient-1': '#63b19e',\n '--color-commit-gradient-2': '#80b393',\n '--color-commit-gradient-3': '#97b488',\n '--color-commit-gradient-4': '#abb67d',\n '--color-commit-gradient-5': '#beb771',\n '--color-commit-gradient-6': '#cfb965',\n '--color-commit-gradient-7': '#dfba57',\n '--color-commit-gradient-8': '#efbb49',\n '--color-commit-gradient-9': '#febc38',\n '--color-commit-gradient-text': '#000000',\n '--color-component-name': '#6a51b2',\n '--color-component-name-inverted': '#ffffff',\n '--color-component-badge-background': '#e6e6e6',\n '--color-component-badge-background-inverted': 'rgba(255, 255, 255, 0.25)',\n '--color-component-badge-count': '#777d88',\n '--color-component-badge-count-inverted': 'rgba(255, 255, 255, 0.7)',\n '--color-console-error-badge-text': '#ffffff',\n '--color-console-error-background': '#fff0f0',\n '--color-console-error-border': '#ffd6d6',\n '--color-console-error-icon': '#eb3941',\n '--color-console-error-text': '#fe2e31',\n '--color-console-warning-badge-text': '#000000',\n '--color-console-warning-background': '#fffbe5',\n '--color-console-warning-border': '#fff5c1',\n '--color-console-warning-icon': '#f4bd00',\n '--color-console-warning-text': '#64460c',\n '--color-context-background': 'rgba(0,0,0,.9)',\n '--color-context-background-hover': 'rgba(255, 255, 255, 0.1)',\n '--color-context-background-selected': '#178fb9',\n '--color-context-border': '#3d424a',\n '--color-context-text': '#ffffff',\n '--color-context-text-selected': '#ffffff',\n '--color-dim': '#777d88',\n '--color-dimmer': '#cfd1d5',\n '--color-dimmest': '#eff0f1',\n '--color-error-background': 'hsl(0, 100%, 97%)',\n '--color-error-border': 'hsl(0, 100%, 92%)',\n '--color-error-text': '#ff0000',\n '--color-expand-collapse-toggle': '#777d88',\n '--color-forget-badge-background': '#2683e2',\n '--color-forget-badge-background-inverted': '#1a6bbc',\n '--color-forget-text': '#fff',\n '--color-link': '#0000ff',\n '--color-modal-background': 'rgba(255, 255, 255, 0.75)',\n '--color-bridge-version-npm-background': '#eff0f1',\n '--color-bridge-version-npm-text': '#000000',\n '--color-bridge-version-number': '#0088fa',\n '--color-primitive-hook-badge-background': '#e5e5e5',\n '--color-primitive-hook-badge-text': '#5f6673',\n '--color-record-active': '#fc3a4b',\n '--color-record-hover': '#3578e5',\n '--color-record-inactive': '#0088fa',\n '--color-resize-bar': '#eeeeee',\n '--color-resize-bar-active': '#dcdcdc',\n '--color-resize-bar-border': '#d1d1d1',\n '--color-resize-bar-dot': '#333333',\n '--color-timeline-internal-module': '#d1d1d1',\n '--color-timeline-internal-module-hover': '#c9c9c9',\n '--color-timeline-internal-module-text': '#444',\n '--color-timeline-native-event': '#ccc',\n '--color-timeline-native-event-hover': '#aaa',\n '--color-timeline-network-primary': '#fcf3dc',\n '--color-timeline-network-primary-hover': '#f0e7d1',\n '--color-timeline-network-secondary': '#efc457',\n '--color-timeline-network-secondary-hover': '#e3ba52',\n '--color-timeline-priority-background': '#f6f6f6',\n '--color-timeline-priority-border': '#eeeeee',\n '--color-timeline-user-timing': '#c9cacd',\n '--color-timeline-user-timing-hover': '#93959a',\n '--color-timeline-react-idle': '#d3e5f6',\n '--color-timeline-react-idle-hover': '#c3d9ef',\n '--color-timeline-react-render': '#9fc3f3',\n '--color-timeline-react-render-hover': '#83afe9',\n '--color-timeline-react-render-text': '#11365e',\n '--color-timeline-react-commit': '#c88ff0',\n '--color-timeline-react-commit-hover': '#b281d6',\n '--color-timeline-react-commit-text': '#3e2c4a',\n '--color-timeline-react-layout-effects': '#b281d6',\n '--color-timeline-react-layout-effects-hover': '#9d71bd',\n '--color-timeline-react-layout-effects-text': '#3e2c4a',\n '--color-timeline-react-passive-effects': '#b281d6',\n '--color-timeline-react-passive-effects-hover': '#9d71bd',\n '--color-timeline-react-passive-effects-text': '#3e2c4a',\n '--color-timeline-react-schedule': '#9fc3f3',\n '--color-timeline-react-schedule-hover': '#2683E2',\n '--color-timeline-react-suspense-rejected': '#f1cc14',\n '--color-timeline-react-suspense-rejected-hover': '#ffdf37',\n '--color-timeline-react-suspense-resolved': '#a6e59f',\n '--color-timeline-react-suspense-resolved-hover': '#89d281',\n '--color-timeline-react-suspense-unresolved': '#c9cacd',\n '--color-timeline-react-suspense-unresolved-hover': '#93959a',\n '--color-timeline-thrown-error': '#ee1638',\n '--color-timeline-thrown-error-hover': '#da1030',\n '--color-timeline-text-color': '#000000',\n '--color-timeline-text-dim-color': '#ccc',\n '--color-timeline-react-work-border': '#eeeeee',\n '--color-timebar-background': '#f6f6f6',\n '--color-search-match': 'yellow',\n '--color-search-match-current': '#f7923b',\n '--color-selected-tree-highlight-active': 'rgba(0, 136, 250, 0.1)',\n '--color-selected-tree-highlight-inactive': 'rgba(0, 0, 0, 0.05)',\n '--color-scroll-caret': 'rgba(150, 150, 150, 0.5)',\n '--color-tab-selected-border': '#0088fa',\n '--color-text': '#000000',\n '--color-text-invalid': '#ff0000',\n '--color-text-selected': '#ffffff',\n '--color-toggle-background-invalid': '#fc3a4b',\n '--color-toggle-background-on': '#0088fa',\n '--color-toggle-background-off': '#cfd1d5',\n '--color-toggle-text': '#ffffff',\n '--color-warning-background': '#fb3655',\n '--color-warning-background-hover': '#f82042',\n '--color-warning-text-color': '#ffffff',\n '--color-warning-text-color-inverted': '#fd4d69',\n '--color-suspense-default': '#0088fa',\n '--color-transition-default': '#6a51b2',\n '--color-suspense-server': '#62bc6a',\n '--color-transition-server': '#3f7844',\n '--color-suspense-other': '#f3ce49',\n '--color-transition-other': '#917b2c',\n '--color-suspense-errored': '#d57066',\n '--color-scroll-thumb': '#c2c2c2',\n '--color-scroll-track': '#fafafa',\n '--color-tooltip-background': 'rgba(0, 0, 0, 0.9)',\n '--color-tooltip-text': '#ffffff',\n '--elevation-4': '0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)'\n },\n dark: {\n '--color-attribute-name': '#9d87d2',\n '--color-attribute-name-not-editable': '#ededed',\n '--color-attribute-name-inverted': '#282828',\n '--color-attribute-value': '#cedae0',\n '--color-attribute-value-inverted': '#ffffff',\n '--color-attribute-editable-value': 'yellow',\n '--color-background': '#282c34',\n '--color-background-hover': 'rgba(255, 255, 255, 0.1)',\n '--color-background-inactive': '#3d424a',\n '--color-background-invalid': '#5c0000',\n '--color-background-selected': '#178fb9',\n '--color-button-background': '#282c34',\n '--color-button-background-focus': '#3d424a',\n '--color-button-background-hover': 'rgba(255, 255, 255, 0.2)',\n '--color-button': '#afb3b9',\n '--color-button-active': '#61dafb',\n '--color-button-disabled': '#4f5766',\n '--color-button-focus': '#a2e9fc',\n '--color-button-hover': '#ededed',\n '--color-border': '#3d424a',\n '--color-commit-did-not-render-fill': '#777d88',\n '--color-commit-did-not-render-fill-text': '#000000',\n '--color-commit-did-not-render-pattern': '#666c77',\n '--color-commit-did-not-render-pattern-text': '#ffffff',\n '--color-commit-gradient-0': '#37afa9',\n '--color-commit-gradient-1': '#63b19e',\n '--color-commit-gradient-2': '#80b393',\n '--color-commit-gradient-3': '#97b488',\n '--color-commit-gradient-4': '#abb67d',\n '--color-commit-gradient-5': '#beb771',\n '--color-commit-gradient-6': '#cfb965',\n '--color-commit-gradient-7': '#dfba57',\n '--color-commit-gradient-8': '#efbb49',\n '--color-commit-gradient-9': '#febc38',\n '--color-commit-gradient-text': '#000000',\n '--color-component-name': '#61dafb',\n '--color-component-name-inverted': '#282828',\n '--color-component-badge-background': '#5e6167',\n '--color-component-badge-background-inverted': '#46494e',\n '--color-component-badge-count': '#8f949d',\n '--color-component-badge-count-inverted': 'rgba(255, 255, 255, 0.85)',\n '--color-console-error-badge-text': '#000000',\n '--color-console-error-background': '#290000',\n '--color-console-error-border': '#5c0000',\n '--color-console-error-icon': '#eb3941',\n '--color-console-error-text': '#fc7f7f',\n '--color-console-warning-badge-text': '#000000',\n '--color-console-warning-background': '#332b00',\n '--color-console-warning-border': '#665500',\n '--color-console-warning-icon': '#f4bd00',\n '--color-console-warning-text': '#f5f2ed',\n '--color-context-background': 'rgba(255,255,255,.95)',\n '--color-context-background-hover': 'rgba(0, 136, 250, 0.1)',\n '--color-context-background-selected': '#0088fa',\n '--color-context-border': '#eeeeee',\n '--color-context-text': '#000000',\n '--color-context-text-selected': '#ffffff',\n '--color-dim': '#8f949d',\n '--color-dimmer': '#777d88',\n '--color-dimmest': '#4f5766',\n '--color-error-background': '#200',\n '--color-error-border': '#900',\n '--color-error-text': '#f55',\n '--color-expand-collapse-toggle': '#8f949d',\n '--color-forget-badge-background': '#2683e2',\n '--color-forget-badge-background-inverted': '#1a6bbc',\n '--color-forget-text': '#fff',\n '--color-link': '#61dafb',\n '--color-modal-background': 'rgba(0, 0, 0, 0.75)',\n '--color-bridge-version-npm-background': 'rgba(0, 0, 0, 0.25)',\n '--color-bridge-version-npm-text': '#ffffff',\n '--color-bridge-version-number': 'yellow',\n '--color-primitive-hook-badge-background': 'rgba(0, 0, 0, 0.25)',\n '--color-primitive-hook-badge-text': 'rgba(255, 255, 255, 0.7)',\n '--color-record-active': '#fc3a4b',\n '--color-record-hover': '#a2e9fc',\n '--color-record-inactive': '#61dafb',\n '--color-resize-bar': '#282c34',\n '--color-resize-bar-active': '#31363f',\n '--color-resize-bar-border': '#3d424a',\n '--color-resize-bar-dot': '#cfd1d5',\n '--color-timeline-internal-module': '#303542',\n '--color-timeline-internal-module-hover': '#363b4a',\n '--color-timeline-internal-module-text': '#7f8899',\n '--color-timeline-native-event': '#b2b2b2',\n '--color-timeline-native-event-hover': '#949494',\n '--color-timeline-network-primary': '#fcf3dc',\n '--color-timeline-network-primary-hover': '#e3dbc5',\n '--color-timeline-network-secondary': '#efc457',\n '--color-timeline-network-secondary-hover': '#d6af4d',\n '--color-timeline-priority-background': '#1d2129',\n '--color-timeline-priority-border': '#282c34',\n '--color-timeline-user-timing': '#c9cacd',\n '--color-timeline-user-timing-hover': '#93959a',\n '--color-timeline-react-idle': '#3d485b',\n '--color-timeline-react-idle-hover': '#465269',\n '--color-timeline-react-render': '#2683E2',\n '--color-timeline-react-render-hover': '#1a76d4',\n '--color-timeline-react-render-text': '#11365e',\n '--color-timeline-react-commit': '#731fad',\n '--color-timeline-react-commit-hover': '#611b94',\n '--color-timeline-react-commit-text': '#e5c1ff',\n '--color-timeline-react-layout-effects': '#611b94',\n '--color-timeline-react-layout-effects-hover': '#51167a',\n '--color-timeline-react-layout-effects-text': '#e5c1ff',\n '--color-timeline-react-passive-effects': '#611b94',\n '--color-timeline-react-passive-effects-hover': '#51167a',\n '--color-timeline-react-passive-effects-text': '#e5c1ff',\n '--color-timeline-react-schedule': '#2683E2',\n '--color-timeline-react-schedule-hover': '#1a76d4',\n '--color-timeline-react-suspense-rejected': '#f1cc14',\n '--color-timeline-react-suspense-rejected-hover': '#e4c00f',\n '--color-timeline-react-suspense-resolved': '#a6e59f',\n '--color-timeline-react-suspense-resolved-hover': '#89d281',\n '--color-timeline-react-suspense-unresolved': '#c9cacd',\n '--color-timeline-react-suspense-unresolved-hover': '#93959a',\n '--color-timeline-thrown-error': '#fb3655',\n '--color-timeline-thrown-error-hover': '#f82042',\n '--color-timeline-text-color': '#282c34',\n '--color-timeline-text-dim-color': '#555b66',\n '--color-timeline-react-work-border': '#3d424a',\n '--color-timebar-background': '#1d2129',\n '--color-search-match': 'yellow',\n '--color-search-match-current': '#f7923b',\n '--color-selected-tree-highlight-active': 'rgba(23, 143, 185, 0.15)',\n '--color-selected-tree-highlight-inactive': 'rgba(255, 255, 255, 0.05)',\n '--color-scroll-caret': '#4f5766',\n '--color-shadow': 'rgba(0, 0, 0, 0.5)',\n '--color-tab-selected-border': '#178fb9',\n '--color-text': '#ffffff',\n '--color-text-invalid': '#ff8080',\n '--color-text-selected': '#ffffff',\n '--color-toggle-background-invalid': '#fc3a4b',\n '--color-toggle-background-on': '#178fb9',\n '--color-toggle-background-off': '#777d88',\n '--color-toggle-text': '#ffffff',\n '--color-warning-background': '#ee1638',\n '--color-warning-background-hover': '#da1030',\n '--color-warning-text-color': '#ffffff',\n '--color-warning-text-color-inverted': '#ee1638',\n '--color-suspense-default': '#61dafb',\n '--color-transition-default': '#6a51b2',\n '--color-suspense-server': '#62bc6a',\n '--color-transition-server': '#3f7844',\n '--color-suspense-other': '#f3ce49',\n '--color-transition-other': '#917b2c',\n '--color-suspense-errored': '#d57066',\n '--color-scroll-thumb': '#afb3b9',\n '--color-scroll-track': '#313640',\n '--color-tooltip-background': 'rgba(255, 255, 255, 0.95)',\n '--color-tooltip-text': '#000000',\n '--elevation-4': '0 2px 8px 0 rgba(0,0,0,0.32),0 4px 12px 0 rgba(0,0,0,0.24),0 1px 10px 0 rgba(0,0,0,0.18)'\n },\n compact: {\n '--font-size-monospace-small': '9px',\n '--font-size-monospace-normal': '11px',\n '--font-size-monospace-large': '15px',\n '--font-size-sans-small': '10px',\n '--font-size-sans-normal': '12px',\n '--font-size-sans-large': '14px',\n '--line-height-data': '18px'\n },\n comfortable: {\n '--font-size-monospace-small': '10px',\n '--font-size-monospace-normal': '13px',\n '--font-size-monospace-large': '17px',\n '--font-size-sans-small': '12px',\n '--font-size-sans-normal': '14px',\n '--font-size-sans-large': '16px',\n '--line-height-data': '22px'\n }\n};\nconst COMFORTABLE_LINE_HEIGHT = parseInt(THEME_STYLES.comfortable['--line-height-data'], 10);\nconst COMPACT_LINE_HEIGHT = parseInt(THEME_STYLES.compact['--line-height-data'], 10);\n\n;// CONCATENATED MODULE: ../react-devtools-timeline/src/constants.js\n\nconst REACT_TOTAL_NUM_LANES = 31;\nconst SCHEDULING_PROFILER_VERSION = 1;\nconst SNAPSHOT_MAX_HEIGHT = 60;\n;// CONCATENATED MODULE: ../react-devtools-shared/src/backend/profilingHooks.js\n\n\n\nconst TIME_OFFSET = 10;\nlet performanceTarget = null;\nlet supportsUserTiming = typeof performance !== 'undefined' && typeof performance.mark === 'function' && typeof performance.clearMarks === 'function';\nlet supportsUserTimingV3 = false;\nif (supportsUserTiming) {\n const CHECK_V3_MARK = '__v3';\n const markOptions = {};\n Object.defineProperty(markOptions, 'startTime', {\n get: function () {\n supportsUserTimingV3 = true;\n return 0;\n },\n set: function () {}\n });\n try {\n performance.mark(CHECK_V3_MARK, markOptions);\n } catch (error) {} finally {\n performance.clearMarks(CHECK_V3_MARK);\n }\n}\nif (supportsUserTimingV3) {\n performanceTarget = performance;\n}\nconst profilingHooks_getCurrentTime = typeof performance === 'object' && typeof performance.now === 'function' ? () => performance.now() : () => Date.now();\nfunction setPerformanceMock_ONLY_FOR_TESTING(performanceMock) {\n performanceTarget = performanceMock;\n supportsUserTiming = performanceMock !== null;\n supportsUserTimingV3 = performanceMock !== null;\n}\nfunction createProfilingHooks({\n getDisplayNameForFiber,\n getIsProfiling,\n getLaneLabelMap,\n workTagMap,\n currentDispatcherRef,\n reactVersion\n}) {\n let currentBatchUID = 0;\n let currentReactComponentMeasure = null;\n let currentReactMeasuresStack = [];\n let currentTimelineData = null;\n let currentFiberStacks = new Map();\n let isProfiling = false;\n let nextRenderShouldStartNewBatch = false;\n function getRelativeTime() {\n const currentTime = profilingHooks_getCurrentTime();\n if (currentTimelineData) {\n if (currentTimelineData.startTime === 0) {\n currentTimelineData.startTime = currentTime - TIME_OFFSET;\n }\n return currentTime - currentTimelineData.startTime;\n }\n return 0;\n }\n function getInternalModuleRanges() {\n if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.getInternalModuleRanges === 'function') {\n const ranges = __REACT_DEVTOOLS_GLOBAL_HOOK__.getInternalModuleRanges();\n if (shared_isArray(ranges)) {\n return ranges;\n }\n }\n return null;\n }\n function getTimelineData() {\n return currentTimelineData;\n }\n function laneToLanesArray(lanes) {\n const lanesArray = [];\n let lane = 1;\n for (let index = 0; index < REACT_TOTAL_NUM_LANES; index++) {\n if (lane & lanes) {\n lanesArray.push(lane);\n }\n lane *= 2;\n }\n return lanesArray;\n }\n const laneToLabelMap = typeof getLaneLabelMap === 'function' ? getLaneLabelMap() : null;\n function markMetadata() {\n markAndClear(`--react-version-${reactVersion}`);\n markAndClear(`--profiler-version-${SCHEDULING_PROFILER_VERSION}`);\n const ranges = getInternalModuleRanges();\n if (ranges) {\n for (let i = 0; i < ranges.length; i++) {\n const range = ranges[i];\n if (shared_isArray(range) && range.length === 2) {\n const [startStackFrame, stopStackFrame] = ranges[i];\n markAndClear(`--react-internal-module-start-${startStackFrame}`);\n markAndClear(`--react-internal-module-stop-${stopStackFrame}`);\n }\n }\n }\n if (laneToLabelMap != null) {\n const labels = Array.from(laneToLabelMap.values()).join(',');\n markAndClear(`--react-lane-labels-${labels}`);\n }\n }\n function markAndClear(markName) {\n performanceTarget.mark(markName);\n performanceTarget.clearMarks(markName);\n }\n function recordReactMeasureStarted(type, lanes) {\n let depth = 0;\n if (currentReactMeasuresStack.length > 0) {\n const top = currentReactMeasuresStack[currentReactMeasuresStack.length - 1];\n depth = top.type === 'render-idle' ? top.depth : top.depth + 1;\n }\n const lanesArray = laneToLanesArray(lanes);\n const reactMeasure = {\n type,\n batchUID: currentBatchUID,\n depth,\n lanes: lanesArray,\n timestamp: getRelativeTime(),\n duration: 0\n };\n currentReactMeasuresStack.push(reactMeasure);\n if (currentTimelineData) {\n const {\n batchUIDToMeasuresMap,\n laneToReactMeasureMap\n } = currentTimelineData;\n let reactMeasures = batchUIDToMeasuresMap.get(currentBatchUID);\n if (reactMeasures != null) {\n reactMeasures.push(reactMeasure);\n } else {\n batchUIDToMeasuresMap.set(currentBatchUID, [reactMeasure]);\n }\n lanesArray.forEach(lane => {\n reactMeasures = laneToReactMeasureMap.get(lane);\n if (reactMeasures) {\n reactMeasures.push(reactMeasure);\n }\n });\n }\n }\n function recordReactMeasureCompleted(type) {\n const currentTime = getRelativeTime();\n if (currentReactMeasuresStack.length === 0) {\n console.error('Unexpected type \"%s\" completed at %sms while currentReactMeasuresStack is empty.', type, currentTime);\n return;\n }\n const top = currentReactMeasuresStack.pop();\n if (top.type !== type) {\n console.error('Unexpected type \"%s\" completed at %sms before \"%s\" completed.', type, currentTime, top.type);\n }\n top.duration = currentTime - top.timestamp;\n if (currentTimelineData) {\n currentTimelineData.duration = getRelativeTime() + TIME_OFFSET;\n }\n }\n function markCommitStarted(lanes) {\n if (!isProfiling) {\n return;\n }\n recordReactMeasureStarted('commit', lanes);\n nextRenderShouldStartNewBatch = true;\n if (supportsUserTimingV3) {\n markAndClear(`--commit-start-${lanes}`);\n markMetadata();\n }\n }\n function markCommitStopped() {\n if (!isProfiling) {\n return;\n }\n recordReactMeasureCompleted('commit');\n recordReactMeasureCompleted('render-idle');\n if (supportsUserTimingV3) {\n markAndClear('--commit-stop');\n }\n }\n function markComponentRenderStarted(fiber) {\n if (!isProfiling) {\n return;\n }\n const componentName = getDisplayNameForFiber(fiber) || 'Unknown';\n currentReactComponentMeasure = {\n componentName,\n duration: 0,\n timestamp: getRelativeTime(),\n type: 'render',\n warning: null\n };\n if (supportsUserTimingV3) {\n markAndClear(`--component-render-start-${componentName}`);\n }\n }\n function markComponentRenderStopped() {\n if (!isProfiling) {\n return;\n }\n if (currentReactComponentMeasure) {\n if (currentTimelineData) {\n currentTimelineData.componentMeasures.push(currentReactComponentMeasure);\n }\n currentReactComponentMeasure.duration = getRelativeTime() - currentReactComponentMeasure.timestamp;\n currentReactComponentMeasure = null;\n }\n if (supportsUserTimingV3) {\n markAndClear('--component-render-stop');\n }\n }\n function markComponentLayoutEffectMountStarted(fiber) {\n if (!isProfiling) {\n return;\n }\n const componentName = getDisplayNameForFiber(fiber) || 'Unknown';\n currentReactComponentMeasure = {\n componentName,\n duration: 0,\n timestamp: getRelativeTime(),\n type: 'layout-effect-mount',\n warning: null\n };\n if (supportsUserTimingV3) {\n markAndClear(`--component-layout-effect-mount-start-${componentName}`);\n }\n }\n function markComponentLayoutEffectMountStopped() {\n if (!isProfiling) {\n return;\n }\n if (currentReactComponentMeasure) {\n if (currentTimelineData) {\n currentTimelineData.componentMeasures.push(currentReactComponentMeasure);\n }\n currentReactComponentMeasure.duration = getRelativeTime() - currentReactComponentMeasure.timestamp;\n currentReactComponentMeasure = null;\n }\n if (supportsUserTimingV3) {\n markAndClear('--component-layout-effect-mount-stop');\n }\n }\n function markComponentLayoutEffectUnmountStarted(fiber) {\n if (!isProfiling) {\n return;\n }\n const componentName = getDisplayNameForFiber(fiber) || 'Unknown';\n currentReactComponentMeasure = {\n componentName,\n duration: 0,\n timestamp: getRelativeTime(),\n type: 'layout-effect-unmount',\n warning: null\n };\n if (supportsUserTimingV3) {\n markAndClear(`--component-layout-effect-unmount-start-${componentName}`);\n }\n }\n function markComponentLayoutEffectUnmountStopped() {\n if (!isProfiling) {\n return;\n }\n if (currentReactComponentMeasure) {\n if (currentTimelineData) {\n currentTimelineData.componentMeasures.push(currentReactComponentMeasure);\n }\n currentReactComponentMeasure.duration = getRelativeTime() - currentReactComponentMeasure.timestamp;\n currentReactComponentMeasure = null;\n }\n if (supportsUserTimingV3) {\n markAndClear('--component-layout-effect-unmount-stop');\n }\n }\n function markComponentPassiveEffectMountStarted(fiber) {\n if (!isProfiling) {\n return;\n }\n const componentName = getDisplayNameForFiber(fiber) || 'Unknown';\n currentReactComponentMeasure = {\n componentName,\n duration: 0,\n timestamp: getRelativeTime(),\n type: 'passive-effect-mount',\n warning: null\n };\n if (supportsUserTimingV3) {\n markAndClear(`--component-passive-effect-mount-start-${componentName}`);\n }\n }\n function markComponentPassiveEffectMountStopped() {\n if (!isProfiling) {\n return;\n }\n if (currentReactComponentMeasure) {\n if (currentTimelineData) {\n currentTimelineData.componentMeasures.push(currentReactComponentMeasure);\n }\n currentReactComponentMeasure.duration = getRelativeTime() - currentReactComponentMeasure.timestamp;\n currentReactComponentMeasure = null;\n }\n if (supportsUserTimingV3) {\n markAndClear('--component-passive-effect-mount-stop');\n }\n }\n function markComponentPassiveEffectUnmountStarted(fiber) {\n if (!isProfiling) {\n return;\n }\n const componentName = getDisplayNameForFiber(fiber) || 'Unknown';\n currentReactComponentMeasure = {\n componentName,\n duration: 0,\n timestamp: getRelativeTime(),\n type: 'passive-effect-unmount',\n warning: null\n };\n if (supportsUserTimingV3) {\n markAndClear(`--component-passive-effect-unmount-start-${componentName}`);\n }\n }\n function markComponentPassiveEffectUnmountStopped() {\n if (!isProfiling) {\n return;\n }\n if (currentReactComponentMeasure) {\n if (currentTimelineData) {\n currentTimelineData.componentMeasures.push(currentReactComponentMeasure);\n }\n currentReactComponentMeasure.duration = getRelativeTime() - currentReactComponentMeasure.timestamp;\n currentReactComponentMeasure = null;\n }\n if (supportsUserTimingV3) {\n markAndClear('--component-passive-effect-unmount-stop');\n }\n }\n function markComponentErrored(fiber, thrownValue, lanes) {\n if (!isProfiling) {\n return;\n }\n const componentName = getDisplayNameForFiber(fiber) || 'Unknown';\n const phase = fiber.alternate === null ? 'mount' : 'update';\n let message = '';\n if (thrownValue !== null && typeof thrownValue === 'object' && typeof thrownValue.message === 'string') {\n message = thrownValue.message;\n } else if (typeof thrownValue === 'string') {\n message = thrownValue;\n }\n if (currentTimelineData) {\n currentTimelineData.thrownErrors.push({\n componentName,\n message,\n phase,\n timestamp: getRelativeTime(),\n type: 'thrown-error'\n });\n }\n if (supportsUserTimingV3) {\n markAndClear(`--error-${componentName}-${phase}-${message}`);\n }\n }\n const PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n const wakeableIDs = new PossiblyWeakMap();\n let wakeableID = 0;\n function getWakeableID(wakeable) {\n if (!wakeableIDs.has(wakeable)) {\n wakeableIDs.set(wakeable, wakeableID++);\n }\n return wakeableIDs.get(wakeable);\n }\n function markComponentSuspended(fiber, wakeable, lanes) {\n if (!isProfiling) {\n return;\n }\n const eventType = wakeableIDs.has(wakeable) ? 'resuspend' : 'suspend';\n const id = getWakeableID(wakeable);\n const componentName = getDisplayNameForFiber(fiber) || 'Unknown';\n const phase = fiber.alternate === null ? 'mount' : 'update';\n const displayName = wakeable.displayName || '';\n let suspenseEvent = null;\n suspenseEvent = {\n componentName,\n depth: 0,\n duration: 0,\n id: `${id}`,\n phase,\n promiseName: displayName,\n resolution: 'unresolved',\n timestamp: getRelativeTime(),\n type: 'suspense',\n warning: null\n };\n if (currentTimelineData) {\n currentTimelineData.suspenseEvents.push(suspenseEvent);\n }\n if (supportsUserTimingV3) {\n markAndClear(`--suspense-${eventType}-${id}-${componentName}-${phase}-${lanes}-${displayName}`);\n wakeable.then(() => {\n if (suspenseEvent) {\n suspenseEvent.duration = getRelativeTime() - suspenseEvent.timestamp;\n suspenseEvent.resolution = 'resolved';\n }\n if (supportsUserTimingV3) {\n markAndClear(`--suspense-resolved-${id}-${componentName}`);\n }\n }, () => {\n if (suspenseEvent) {\n suspenseEvent.duration = getRelativeTime() - suspenseEvent.timestamp;\n suspenseEvent.resolution = 'rejected';\n }\n if (supportsUserTimingV3) {\n markAndClear(`--suspense-rejected-${id}-${componentName}`);\n }\n });\n }\n }\n function markLayoutEffectsStarted(lanes) {\n if (!isProfiling) {\n return;\n }\n recordReactMeasureStarted('layout-effects', lanes);\n if (supportsUserTimingV3) {\n markAndClear(`--layout-effects-start-${lanes}`);\n }\n }\n function markLayoutEffectsStopped() {\n if (!isProfiling) {\n return;\n }\n recordReactMeasureCompleted('layout-effects');\n if (supportsUserTimingV3) {\n markAndClear('--layout-effects-stop');\n }\n }\n function markPassiveEffectsStarted(lanes) {\n if (!isProfiling) {\n return;\n }\n recordReactMeasureStarted('passive-effects', lanes);\n if (supportsUserTimingV3) {\n markAndClear(`--passive-effects-start-${lanes}`);\n }\n }\n function markPassiveEffectsStopped() {\n if (!isProfiling) {\n return;\n }\n recordReactMeasureCompleted('passive-effects');\n if (supportsUserTimingV3) {\n markAndClear('--passive-effects-stop');\n }\n }\n function markRenderStarted(lanes) {\n if (!isProfiling) {\n return;\n }\n if (nextRenderShouldStartNewBatch) {\n nextRenderShouldStartNewBatch = false;\n currentBatchUID++;\n }\n if (currentReactMeasuresStack.length === 0 || currentReactMeasuresStack[currentReactMeasuresStack.length - 1].type !== 'render-idle') {\n recordReactMeasureStarted('render-idle', lanes);\n }\n recordReactMeasureStarted('render', lanes);\n if (supportsUserTimingV3) {\n markAndClear(`--render-start-${lanes}`);\n }\n }\n function markRenderYielded() {\n if (!isProfiling) {\n return;\n }\n recordReactMeasureCompleted('render');\n if (supportsUserTimingV3) {\n markAndClear('--render-yield');\n }\n }\n function markRenderStopped() {\n if (!isProfiling) {\n return;\n }\n recordReactMeasureCompleted('render');\n if (supportsUserTimingV3) {\n markAndClear('--render-stop');\n }\n }\n function markRenderScheduled(lane) {\n if (!isProfiling) {\n return;\n }\n if (currentTimelineData) {\n currentTimelineData.schedulingEvents.push({\n lanes: laneToLanesArray(lane),\n timestamp: getRelativeTime(),\n type: 'schedule-render',\n warning: null\n });\n }\n if (supportsUserTimingV3) {\n markAndClear(`--schedule-render-${lane}`);\n }\n }\n function markForceUpdateScheduled(fiber, lane) {\n if (!isProfiling) {\n return;\n }\n const componentName = getDisplayNameForFiber(fiber) || 'Unknown';\n if (currentTimelineData) {\n currentTimelineData.schedulingEvents.push({\n componentName,\n lanes: laneToLanesArray(lane),\n timestamp: getRelativeTime(),\n type: 'schedule-force-update',\n warning: null\n });\n }\n if (supportsUserTimingV3) {\n markAndClear(`--schedule-forced-update-${lane}-${componentName}`);\n }\n }\n function getParentFibers(fiber) {\n const parents = [];\n let parent = fiber;\n while (parent !== null) {\n parents.push(parent);\n parent = parent.return;\n }\n return parents;\n }\n function markStateUpdateScheduled(fiber, lane) {\n if (!isProfiling) {\n return;\n }\n const componentName = getDisplayNameForFiber(fiber) || 'Unknown';\n if (currentTimelineData) {\n const event = {\n componentName,\n lanes: laneToLanesArray(lane),\n timestamp: getRelativeTime(),\n type: 'schedule-state-update',\n warning: null\n };\n currentFiberStacks.set(event, getParentFibers(fiber));\n currentTimelineData.schedulingEvents.push(event);\n }\n if (supportsUserTimingV3) {\n markAndClear(`--schedule-state-update-${lane}-${componentName}`);\n }\n }\n function toggleProfilingStatus(value, recordTimeline = false) {\n if (isProfiling !== value) {\n isProfiling = value;\n if (isProfiling) {\n const internalModuleSourceToRanges = new Map();\n if (supportsUserTimingV3) {\n const ranges = getInternalModuleRanges();\n if (ranges) {\n for (let i = 0; i < ranges.length; i++) {\n const range = ranges[i];\n if (shared_isArray(range) && range.length === 2) {\n const [startStackFrame, stopStackFrame] = ranges[i];\n markAndClear(`--react-internal-module-start-${startStackFrame}`);\n markAndClear(`--react-internal-module-stop-${stopStackFrame}`);\n }\n }\n }\n }\n const laneToReactMeasureMap = new Map();\n let lane = 1;\n for (let index = 0; index < REACT_TOTAL_NUM_LANES; index++) {\n laneToReactMeasureMap.set(lane, []);\n lane *= 2;\n }\n currentBatchUID = 0;\n currentReactComponentMeasure = null;\n currentReactMeasuresStack = [];\n currentFiberStacks = new Map();\n if (recordTimeline) {\n currentTimelineData = {\n internalModuleSourceToRanges,\n laneToLabelMap: laneToLabelMap || new Map(),\n reactVersion,\n componentMeasures: [],\n schedulingEvents: [],\n suspenseEvents: [],\n thrownErrors: [],\n batchUIDToMeasuresMap: new Map(),\n duration: 0,\n laneToReactMeasureMap,\n startTime: 0,\n flamechart: [],\n nativeEvents: [],\n networkMeasures: [],\n otherUserTimingMarks: [],\n snapshots: [],\n snapshotHeight: 0\n };\n }\n nextRenderShouldStartNewBatch = true;\n } else {\n if (currentTimelineData !== null) {\n currentTimelineData.schedulingEvents.forEach(event => {\n if (event.type === 'schedule-state-update') {\n const fiberStack = currentFiberStacks.get(event);\n if (fiberStack && currentDispatcherRef != null) {\n event.componentStack = fiberStack.reduce((trace, fiber) => {\n return trace + describeFiber(workTagMap, fiber, currentDispatcherRef);\n }, '');\n }\n }\n });\n }\n currentFiberStacks.clear();\n }\n }\n }\n return {\n getTimelineData,\n profilingHooks: {\n markCommitStarted,\n markCommitStopped,\n markComponentRenderStarted,\n markComponentRenderStopped,\n markComponentPassiveEffectMountStarted,\n markComponentPassiveEffectMountStopped,\n markComponentPassiveEffectUnmountStarted,\n markComponentPassiveEffectUnmountStopped,\n markComponentLayoutEffectMountStarted,\n markComponentLayoutEffectMountStopped,\n markComponentLayoutEffectUnmountStarted,\n markComponentLayoutEffectUnmountStopped,\n markComponentErrored,\n markComponentSuspended,\n markLayoutEffectsStarted,\n markLayoutEffectsStopped,\n markPassiveEffectsStarted,\n markPassiveEffectsStopped,\n markRenderStarted,\n markRenderYielded,\n markRenderStopped,\n markRenderScheduled,\n markForceUpdateScheduled,\n markStateUpdateScheduled\n },\n toggleProfilingStatus\n };\n}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/backend/fiber/renderer.js\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst renderer_toString = Object.prototype.toString;\nfunction renderer_isError(object) {\n return renderer_toString.call(object) === '[object Error]';\n}\n\n\n\n\nconst FIBER_INSTANCE = 0;\nconst VIRTUAL_INSTANCE = 1;\nconst FILTERED_FIBER_INSTANCE = 2;\nfunction createFiberInstance(fiber) {\n return {\n kind: FIBER_INSTANCE,\n id: getUID(),\n parent: null,\n firstChild: null,\n nextSibling: null,\n source: null,\n logCount: 0,\n treeBaseDuration: 0,\n suspendedBy: null,\n suspenseNode: null,\n data: fiber\n };\n}\nfunction createFilteredFiberInstance(fiber) {\n return {\n kind: FILTERED_FIBER_INSTANCE,\n id: 0,\n parent: null,\n firstChild: null,\n nextSibling: null,\n source: null,\n logCount: 0,\n treeBaseDuration: 0,\n suspendedBy: null,\n suspenseNode: null,\n data: fiber\n };\n}\nfunction createVirtualInstance(debugEntry) {\n return {\n kind: VIRTUAL_INSTANCE,\n id: getUID(),\n parent: null,\n firstChild: null,\n nextSibling: null,\n source: null,\n logCount: 0,\n treeBaseDuration: 0,\n suspendedBy: null,\n suspenseNode: null,\n data: debugEntry\n };\n}\nconst NoUpdate = 0b000;\nconst ShouldResetChildren = 0b001;\nconst ShouldResetSuspenseChildren = 0b010;\nconst ShouldResetParentSuspenseChildren = 0b100;\nfunction createSuspenseNode(instance) {\n return instance.suspenseNode = {\n instance: instance,\n parent: null,\n firstChild: null,\n nextSibling: null,\n rects: null,\n suspendedBy: new Map(),\n environments: new Map(),\n hasUniqueSuspenders: false,\n hasUnknownSuspenders: false\n };\n}\nfunction getDispatcherRef(renderer) {\n if (renderer.currentDispatcherRef === undefined) {\n return undefined;\n }\n const injectedRef = renderer.currentDispatcherRef;\n if (typeof injectedRef.H === 'undefined' && typeof injectedRef.current !== 'undefined') {\n return {\n get H() {\n return injectedRef.current;\n },\n set H(value) {\n injectedRef.current = value;\n }\n };\n }\n return injectedRef;\n}\nfunction getFiberFlags(fiber) {\n return fiber.flags !== undefined ? fiber.flags : fiber.effectTag;\n}\nconst renderer_getCurrentTime = typeof performance === 'object' && typeof performance.now === 'function' ? () => performance.now() : () => Date.now();\nfunction getInternalReactConstants(version) {\n let ReactPriorityLevels = {\n ImmediatePriority: 99,\n UserBlockingPriority: 98,\n NormalPriority: 97,\n LowPriority: 96,\n IdlePriority: 95,\n NoPriority: 90\n };\n if (gt(version, '17.0.2')) {\n ReactPriorityLevels = {\n ImmediatePriority: 1,\n UserBlockingPriority: 2,\n NormalPriority: 3,\n LowPriority: 4,\n IdlePriority: 5,\n NoPriority: 0\n };\n }\n let StrictModeBits = 0;\n if (gte(version, '18.0.0-alpha')) {\n StrictModeBits = 0b011000;\n } else if (gte(version, '16.9.0')) {\n StrictModeBits = 0b1;\n } else if (gte(version, '16.3.0')) {\n StrictModeBits = 0b10;\n }\n const SuspenseyImagesMode = 0b0100000;\n let ReactTypeOfWork = null;\n if (gt(version, '17.0.1')) {\n ReactTypeOfWork = {\n CacheComponent: 24,\n ClassComponent: 1,\n ContextConsumer: 9,\n ContextProvider: 10,\n CoroutineComponent: -1,\n CoroutineHandlerPhase: -1,\n DehydratedSuspenseComponent: 18,\n ForwardRef: 11,\n Fragment: 7,\n FunctionComponent: 0,\n HostComponent: 5,\n HostPortal: 4,\n HostRoot: 3,\n HostHoistable: 26,\n HostSingleton: 27,\n HostText: 6,\n IncompleteClassComponent: 17,\n IncompleteFunctionComponent: 28,\n IndeterminateComponent: 2,\n LazyComponent: 16,\n LegacyHiddenComponent: 23,\n MemoComponent: 14,\n Mode: 8,\n OffscreenComponent: 22,\n Profiler: 12,\n ScopeComponent: 21,\n SimpleMemoComponent: 15,\n SuspenseComponent: 13,\n SuspenseListComponent: 19,\n TracingMarkerComponent: 25,\n YieldComponent: -1,\n Throw: 29,\n ViewTransitionComponent: 30,\n ActivityComponent: 31\n };\n } else if (gte(version, '17.0.0-alpha')) {\n ReactTypeOfWork = {\n CacheComponent: -1,\n ClassComponent: 1,\n ContextConsumer: 9,\n ContextProvider: 10,\n CoroutineComponent: -1,\n CoroutineHandlerPhase: -1,\n DehydratedSuspenseComponent: 18,\n ForwardRef: 11,\n Fragment: 7,\n FunctionComponent: 0,\n HostComponent: 5,\n HostPortal: 4,\n HostRoot: 3,\n HostHoistable: -1,\n HostSingleton: -1,\n HostText: 6,\n IncompleteClassComponent: 17,\n IncompleteFunctionComponent: -1,\n IndeterminateComponent: 2,\n LazyComponent: 16,\n LegacyHiddenComponent: 24,\n MemoComponent: 14,\n Mode: 8,\n OffscreenComponent: 23,\n Profiler: 12,\n ScopeComponent: 21,\n SimpleMemoComponent: 15,\n SuspenseComponent: 13,\n SuspenseListComponent: 19,\n TracingMarkerComponent: -1,\n YieldComponent: -1,\n Throw: -1,\n ViewTransitionComponent: -1,\n ActivityComponent: -1\n };\n } else if (gte(version, '16.6.0-beta.0')) {\n ReactTypeOfWork = {\n CacheComponent: -1,\n ClassComponent: 1,\n ContextConsumer: 9,\n ContextProvider: 10,\n CoroutineComponent: -1,\n CoroutineHandlerPhase: -1,\n DehydratedSuspenseComponent: 18,\n ForwardRef: 11,\n Fragment: 7,\n FunctionComponent: 0,\n HostComponent: 5,\n HostPortal: 4,\n HostRoot: 3,\n HostHoistable: -1,\n HostSingleton: -1,\n HostText: 6,\n IncompleteClassComponent: 17,\n IncompleteFunctionComponent: -1,\n IndeterminateComponent: 2,\n LazyComponent: 16,\n LegacyHiddenComponent: -1,\n MemoComponent: 14,\n Mode: 8,\n OffscreenComponent: -1,\n Profiler: 12,\n ScopeComponent: -1,\n SimpleMemoComponent: 15,\n SuspenseComponent: 13,\n SuspenseListComponent: 19,\n TracingMarkerComponent: -1,\n YieldComponent: -1,\n Throw: -1,\n ViewTransitionComponent: -1,\n ActivityComponent: -1\n };\n } else if (gte(version, '16.4.3-alpha')) {\n ReactTypeOfWork = {\n CacheComponent: -1,\n ClassComponent: 2,\n ContextConsumer: 11,\n ContextProvider: 12,\n CoroutineComponent: -1,\n CoroutineHandlerPhase: -1,\n DehydratedSuspenseComponent: -1,\n ForwardRef: 13,\n Fragment: 9,\n FunctionComponent: 0,\n HostComponent: 7,\n HostPortal: 6,\n HostRoot: 5,\n HostHoistable: -1,\n HostSingleton: -1,\n HostText: 8,\n IncompleteClassComponent: -1,\n IncompleteFunctionComponent: -1,\n IndeterminateComponent: 4,\n LazyComponent: -1,\n LegacyHiddenComponent: -1,\n MemoComponent: -1,\n Mode: 10,\n OffscreenComponent: -1,\n Profiler: 15,\n ScopeComponent: -1,\n SimpleMemoComponent: -1,\n SuspenseComponent: 16,\n SuspenseListComponent: -1,\n TracingMarkerComponent: -1,\n YieldComponent: -1,\n Throw: -1,\n ViewTransitionComponent: -1,\n ActivityComponent: -1\n };\n } else {\n ReactTypeOfWork = {\n CacheComponent: -1,\n ClassComponent: 2,\n ContextConsumer: 12,\n ContextProvider: 13,\n CoroutineComponent: 7,\n CoroutineHandlerPhase: 8,\n DehydratedSuspenseComponent: -1,\n ForwardRef: 14,\n Fragment: 10,\n FunctionComponent: 1,\n HostComponent: 5,\n HostPortal: 4,\n HostRoot: 3,\n HostHoistable: -1,\n HostSingleton: -1,\n HostText: 6,\n IncompleteClassComponent: -1,\n IncompleteFunctionComponent: -1,\n IndeterminateComponent: 0,\n LazyComponent: -1,\n LegacyHiddenComponent: -1,\n MemoComponent: -1,\n Mode: 11,\n OffscreenComponent: -1,\n Profiler: 15,\n ScopeComponent: -1,\n SimpleMemoComponent: -1,\n SuspenseComponent: 16,\n SuspenseListComponent: -1,\n TracingMarkerComponent: -1,\n YieldComponent: 9,\n Throw: -1,\n ViewTransitionComponent: -1,\n ActivityComponent: -1\n };\n }\n function getTypeSymbol(type) {\n const symbolOrNumber = typeof type === 'object' && type !== null ? type.$$typeof : type;\n return typeof symbolOrNumber === 'symbol' ? symbolOrNumber.toString() : symbolOrNumber;\n }\n const {\n CacheComponent,\n ClassComponent,\n IncompleteClassComponent,\n IncompleteFunctionComponent,\n FunctionComponent,\n IndeterminateComponent,\n ForwardRef,\n HostRoot,\n HostHoistable,\n HostSingleton,\n HostComponent,\n HostPortal,\n HostText,\n Fragment,\n LazyComponent,\n LegacyHiddenComponent,\n MemoComponent,\n OffscreenComponent,\n Profiler,\n ScopeComponent,\n SimpleMemoComponent,\n SuspenseComponent,\n SuspenseListComponent,\n TracingMarkerComponent,\n Throw,\n ViewTransitionComponent,\n ActivityComponent\n } = ReactTypeOfWork;\n function resolveFiberType(type) {\n const typeSymbol = getTypeSymbol(type);\n switch (typeSymbol) {\n case MEMO_NUMBER:\n case MEMO_SYMBOL_STRING:\n return resolveFiberType(type.type);\n case FORWARD_REF_NUMBER:\n case FORWARD_REF_SYMBOL_STRING:\n return type.render;\n default:\n return type;\n }\n }\n function getDisplayNameForFiber(fiber, shouldSkipForgetCheck = false) {\n const {\n elementType,\n type,\n tag\n } = fiber;\n let resolvedType = type;\n if (typeof type === 'object' && type !== null) {\n resolvedType = resolveFiberType(type);\n }\n let resolvedContext = null;\n if (!shouldSkipForgetCheck && (fiber.updateQueue?.memoCache != null || Array.isArray(fiber.memoizedState?.memoizedState) && fiber.memoizedState.memoizedState[0]?.[ReactSymbols_REACT_MEMO_CACHE_SENTINEL] || fiber.memoizedState?.memoizedState?.[ReactSymbols_REACT_MEMO_CACHE_SENTINEL])) {\n const displayNameWithoutForgetWrapper = getDisplayNameForFiber(fiber, true);\n if (displayNameWithoutForgetWrapper == null) {\n return null;\n }\n return `Forget(${displayNameWithoutForgetWrapper})`;\n }\n switch (tag) {\n case ActivityComponent:\n return 'Activity';\n case CacheComponent:\n return 'Cache';\n case ClassComponent:\n case IncompleteClassComponent:\n case IncompleteFunctionComponent:\n case FunctionComponent:\n case IndeterminateComponent:\n return getDisplayName(resolvedType);\n case ForwardRef:\n return getWrappedDisplayName(elementType, resolvedType, 'ForwardRef', 'Anonymous');\n case HostRoot:\n const fiberRoot = fiber.stateNode;\n if (fiberRoot != null && fiberRoot._debugRootType !== null) {\n return fiberRoot._debugRootType;\n }\n return null;\n case HostComponent:\n case HostSingleton:\n case HostHoistable:\n return type;\n case HostPortal:\n case HostText:\n return null;\n case Fragment:\n return 'Fragment';\n case LazyComponent:\n return 'Lazy';\n case MemoComponent:\n case SimpleMemoComponent:\n return getWrappedDisplayName(elementType, resolvedType, 'Memo', 'Anonymous');\n case SuspenseComponent:\n return 'Suspense';\n case LegacyHiddenComponent:\n return 'LegacyHidden';\n case OffscreenComponent:\n return 'Offscreen';\n case ScopeComponent:\n return 'Scope';\n case SuspenseListComponent:\n return 'SuspenseList';\n case Profiler:\n return 'Profiler';\n case TracingMarkerComponent:\n return 'TracingMarker';\n case ViewTransitionComponent:\n return 'ViewTransition';\n case Throw:\n return 'Error';\n default:\n const typeSymbol = getTypeSymbol(type);\n switch (typeSymbol) {\n case CONCURRENT_MODE_NUMBER:\n case CONCURRENT_MODE_SYMBOL_STRING:\n case DEPRECATED_ASYNC_MODE_SYMBOL_STRING:\n return null;\n case PROVIDER_NUMBER:\n case PROVIDER_SYMBOL_STRING:\n resolvedContext = fiber.type._context || fiber.type.context;\n return `${resolvedContext.displayName || 'Context'}.Provider`;\n case CONTEXT_NUMBER:\n case CONTEXT_SYMBOL_STRING:\n case SERVER_CONTEXT_SYMBOL_STRING:\n if (fiber.type._context === undefined && fiber.type.Provider === fiber.type) {\n resolvedContext = fiber.type;\n return `${resolvedContext.displayName || 'Context'}.Provider`;\n }\n resolvedContext = fiber.type._context || fiber.type;\n return `${resolvedContext.displayName || 'Context'}.Consumer`;\n case CONSUMER_SYMBOL_STRING:\n resolvedContext = fiber.type._context;\n return `${resolvedContext.displayName || 'Context'}.Consumer`;\n case STRICT_MODE_NUMBER:\n case STRICT_MODE_SYMBOL_STRING:\n return null;\n case PROFILER_NUMBER:\n case PROFILER_SYMBOL_STRING:\n return `Profiler(${fiber.memoizedProps.id})`;\n case SCOPE_NUMBER:\n case SCOPE_SYMBOL_STRING:\n return 'Scope';\n default:\n return null;\n }\n }\n }\n return {\n getDisplayNameForFiber,\n getTypeSymbol,\n ReactPriorityLevels,\n ReactTypeOfWork,\n StrictModeBits,\n SuspenseyImagesMode\n };\n}\nconst knownEnvironmentNames = new Set();\nconst rootToFiberInstanceMap = new Map();\nconst idToDevToolsInstanceMap = new Map();\nconst idToSuspenseNodeMap = new Map();\nconst publicInstanceToDevToolsInstanceMap = new Map();\nconst hostResourceToDevToolsInstanceMap = new Map();\nfunction getPublicInstance(instance) {\n if (typeof instance === 'object' && instance !== null) {\n if (typeof instance.canonical === 'object' && instance.canonical !== null) {\n if (typeof instance.canonical.publicInstance === 'object' && instance.canonical.publicInstance !== null) {\n return instance.canonical.publicInstance;\n }\n }\n if (typeof instance._nativeTag === 'number') {\n return instance._nativeTag;\n }\n }\n return instance;\n}\nfunction getNativeTag(instance) {\n if (typeof instance !== 'object' || instance === null) {\n return null;\n }\n if (instance.canonical != null && typeof instance.canonical.nativeTag === 'number') {\n return instance.canonical.nativeTag;\n }\n if (typeof instance._nativeTag === 'number') {\n return instance._nativeTag;\n }\n return null;\n}\nfunction aquireHostInstance(nearestInstance, hostInstance) {\n const publicInstance = getPublicInstance(hostInstance);\n publicInstanceToDevToolsInstanceMap.set(publicInstance, nearestInstance);\n}\nfunction releaseHostInstance(nearestInstance, hostInstance) {\n const publicInstance = getPublicInstance(hostInstance);\n if (publicInstanceToDevToolsInstanceMap.get(publicInstance) === nearestInstance) {\n publicInstanceToDevToolsInstanceMap.delete(publicInstance);\n }\n}\nfunction aquireHostResource(nearestInstance, resource) {\n const hostInstance = resource && resource.instance;\n if (hostInstance) {\n const publicInstance = getPublicInstance(hostInstance);\n let resourceInstances = hostResourceToDevToolsInstanceMap.get(publicInstance);\n if (resourceInstances === undefined) {\n resourceInstances = new Set();\n hostResourceToDevToolsInstanceMap.set(publicInstance, resourceInstances);\n publicInstanceToDevToolsInstanceMap.set(publicInstance, nearestInstance);\n }\n resourceInstances.add(nearestInstance);\n }\n}\nfunction releaseHostResource(nearestInstance, resource) {\n const hostInstance = resource && resource.instance;\n if (hostInstance) {\n const publicInstance = getPublicInstance(hostInstance);\n const resourceInstances = hostResourceToDevToolsInstanceMap.get(publicInstance);\n if (resourceInstances !== undefined) {\n resourceInstances.delete(nearestInstance);\n if (resourceInstances.size === 0) {\n hostResourceToDevToolsInstanceMap.delete(publicInstance);\n publicInstanceToDevToolsInstanceMap.delete(publicInstance);\n } else if (publicInstanceToDevToolsInstanceMap.get(publicInstance) === nearestInstance) {\n for (const firstInstance of resourceInstances) {\n publicInstanceToDevToolsInstanceMap.set(firstInstance, nearestInstance);\n break;\n }\n }\n }\n }\n}\nfunction renderer_attach(hook, rendererID, renderer, global, shouldStartProfilingNow, profilingSettings) {\n const version = renderer.reconcilerVersion || renderer.version;\n const {\n getDisplayNameForFiber,\n getTypeSymbol,\n ReactPriorityLevels,\n ReactTypeOfWork,\n StrictModeBits,\n SuspenseyImagesMode\n } = getInternalReactConstants(version);\n const {\n ActivityComponent,\n ClassComponent,\n ContextConsumer,\n DehydratedSuspenseComponent,\n ForwardRef,\n Fragment,\n FunctionComponent,\n HostRoot,\n HostHoistable,\n HostSingleton,\n HostPortal,\n HostComponent,\n HostText,\n IncompleteClassComponent,\n IncompleteFunctionComponent,\n IndeterminateComponent,\n LegacyHiddenComponent,\n MemoComponent,\n OffscreenComponent,\n SimpleMemoComponent,\n SuspenseComponent,\n SuspenseListComponent,\n TracingMarkerComponent,\n Throw,\n ViewTransitionComponent\n } = ReactTypeOfWork;\n const {\n ImmediatePriority,\n UserBlockingPriority,\n NormalPriority,\n LowPriority,\n IdlePriority,\n NoPriority\n } = ReactPriorityLevels;\n const {\n getLaneLabelMap,\n injectProfilingHooks,\n overrideHookState,\n overrideHookStateDeletePath,\n overrideHookStateRenamePath,\n overrideProps,\n overridePropsDeletePath,\n overridePropsRenamePath,\n scheduleRefresh,\n setErrorHandler,\n setSuspenseHandler,\n scheduleUpdate,\n scheduleRetry,\n getCurrentFiber\n } = renderer;\n const supportsTogglingError = typeof setErrorHandler === 'function' && typeof scheduleUpdate === 'function';\n const supportsTogglingSuspense = typeof setSuspenseHandler === 'function' && typeof scheduleUpdate === 'function';\n const supportsPerformanceTracks = gte(version, '19.2.0');\n if (typeof scheduleRefresh === 'function') {\n renderer.scheduleRefresh = (...args) => {\n try {\n hook.emit('fastRefreshScheduled');\n } finally {\n return scheduleRefresh(...args);\n }\n };\n }\n let getTimelineData = null;\n let toggleProfilingStatus = null;\n if (typeof injectProfilingHooks === 'function') {\n const response = createProfilingHooks({\n getDisplayNameForFiber,\n getIsProfiling: () => isProfiling,\n getLaneLabelMap,\n currentDispatcherRef: getDispatcherRef(renderer),\n workTagMap: ReactTypeOfWork,\n reactVersion: version\n });\n injectProfilingHooks(response.profilingHooks);\n getTimelineData = response.getTimelineData;\n toggleProfilingStatus = response.toggleProfilingStatus;\n }\n const fiberToComponentLogsMap = new WeakMap();\n let needsToFlushComponentLogs = false;\n function bruteForceFlushErrorsAndWarnings() {\n let hasChanges = false;\n for (const devtoolsInstance of idToDevToolsInstanceMap.values()) {\n if (devtoolsInstance.kind === FIBER_INSTANCE) {\n const fiber = devtoolsInstance.data;\n const componentLogsEntry = fiberToComponentLogsMap.get(fiber);\n const changed = recordConsoleLogs(devtoolsInstance, componentLogsEntry);\n if (changed) {\n hasChanges = true;\n updateMostRecentlyInspectedElementIfNecessary(devtoolsInstance.id);\n }\n } else {}\n }\n if (hasChanges) {\n flushPendingEvents();\n }\n }\n function clearErrorsAndWarnings() {\n for (const devtoolsInstance of idToDevToolsInstanceMap.values()) {\n if (devtoolsInstance.kind === FIBER_INSTANCE) {\n const fiber = devtoolsInstance.data;\n fiberToComponentLogsMap.delete(fiber);\n if (fiber.alternate) {\n fiberToComponentLogsMap.delete(fiber.alternate);\n }\n } else {\n componentInfoToComponentLogsMap[\"delete\"](devtoolsInstance.data);\n }\n const changed = recordConsoleLogs(devtoolsInstance, undefined);\n if (changed) {\n updateMostRecentlyInspectedElementIfNecessary(devtoolsInstance.id);\n }\n }\n flushPendingEvents();\n }\n function clearConsoleLogsHelper(instanceID, type) {\n const devtoolsInstance = idToDevToolsInstanceMap.get(instanceID);\n if (devtoolsInstance !== undefined) {\n let componentLogsEntry;\n if (devtoolsInstance.kind === FIBER_INSTANCE) {\n const fiber = devtoolsInstance.data;\n componentLogsEntry = fiberToComponentLogsMap.get(fiber);\n if (componentLogsEntry === undefined && fiber.alternate !== null) {\n componentLogsEntry = fiberToComponentLogsMap.get(fiber.alternate);\n }\n } else {\n const componentInfo = devtoolsInstance.data;\n componentLogsEntry = componentInfoToComponentLogsMap.get(componentInfo);\n }\n if (componentLogsEntry !== undefined) {\n if (type === 'error') {\n componentLogsEntry.errors.clear();\n componentLogsEntry.errorsCount = 0;\n } else {\n componentLogsEntry.warnings.clear();\n componentLogsEntry.warningsCount = 0;\n }\n const changed = recordConsoleLogs(devtoolsInstance, componentLogsEntry);\n if (changed) {\n flushPendingEvents();\n updateMostRecentlyInspectedElementIfNecessary(devtoolsInstance.id);\n }\n }\n }\n }\n function clearErrorsForElementID(instanceID) {\n clearConsoleLogsHelper(instanceID, 'error');\n }\n function clearWarningsForElementID(instanceID) {\n clearConsoleLogsHelper(instanceID, 'warn');\n }\n function updateMostRecentlyInspectedElementIfNecessary(fiberID) {\n if (mostRecentlyInspectedElement !== null && mostRecentlyInspectedElement.id === fiberID) {\n hasElementUpdatedSinceLastInspected = true;\n }\n }\n function getComponentStack(topFrame) {\n if (getCurrentFiber == null) {\n return null;\n }\n const current = getCurrentFiber();\n if (current === null) {\n return null;\n }\n if (DevToolsFiberComponentStack_supportsConsoleTasks(current)) {\n return null;\n }\n const dispatcherRef = getDispatcherRef(renderer);\n if (dispatcherRef === undefined) {\n return null;\n }\n const enableOwnerStacks = supportsOwnerStacks(current);\n let componentStack = '';\n if (enableOwnerStacks) {\n const topStackFrames = formatOwnerStack(topFrame);\n if (topStackFrames) {\n componentStack += '\\n' + topStackFrames;\n }\n componentStack += getOwnerStackByFiberInDev(ReactTypeOfWork, current, dispatcherRef);\n } else {\n componentStack = getStackByFiberInDevAndProd(ReactTypeOfWork, current, dispatcherRef);\n }\n return {\n enableOwnerStacks,\n componentStack\n };\n }\n function onErrorOrWarning(type, args) {\n if (getCurrentFiber == null) {\n return;\n }\n const fiber = getCurrentFiber();\n if (fiber === null) {\n return;\n }\n if (type === 'error') {\n if (forceErrorForFibers.get(fiber) === true || fiber.alternate !== null && forceErrorForFibers.get(fiber.alternate) === true) {\n return;\n }\n }\n const message = formatConsoleArgumentsToSingleString(...args);\n let componentLogsEntry = fiberToComponentLogsMap.get(fiber);\n if (componentLogsEntry === undefined && fiber.alternate !== null) {\n componentLogsEntry = fiberToComponentLogsMap.get(fiber.alternate);\n if (componentLogsEntry !== undefined) {\n fiberToComponentLogsMap.set(fiber, componentLogsEntry);\n }\n }\n if (componentLogsEntry === undefined) {\n componentLogsEntry = {\n errors: new Map(),\n errorsCount: 0,\n warnings: new Map(),\n warningsCount: 0\n };\n fiberToComponentLogsMap.set(fiber, componentLogsEntry);\n }\n const messageMap = type === 'error' ? componentLogsEntry.errors : componentLogsEntry.warnings;\n const count = messageMap.get(message) || 0;\n messageMap.set(message, count + 1);\n if (type === 'error') {\n componentLogsEntry.errorsCount++;\n } else {\n componentLogsEntry.warningsCount++;\n }\n needsToFlushComponentLogs = true;\n }\n function debug(name, instance, parentInstance, extraString = '') {\n if (__DEBUG__) {\n const displayName = instance.kind === VIRTUAL_INSTANCE ? instance.data.name || 'null' : instance.data.tag + ':' + (getDisplayNameForFiber(instance.data) || 'null');\n const maybeID = instance.kind === FILTERED_FIBER_INSTANCE ? '<no id>' : instance.id;\n const parentDisplayName = parentInstance === null ? '' : parentInstance.kind === VIRTUAL_INSTANCE ? parentInstance.data.name || 'null' : parentInstance.data.tag + ':' + (getDisplayNameForFiber(parentInstance.data) || 'null');\n const maybeParentID = parentInstance === null || parentInstance.kind === FILTERED_FIBER_INSTANCE ? '<no id>' : parentInstance.id;\n console.groupCollapsed(`[renderer] %c${name} %c${displayName} (${maybeID}) %c${parentInstance ? `${parentDisplayName} (${maybeParentID})` : ''} %c${extraString}`, 'color: red; font-weight: bold;', 'color: blue;', 'color: purple;', 'color: black;');\n console.log(new Error().stack.split('\\n').slice(1).join('\\n'));\n console.groupEnd();\n }\n }\n function debugTree(instance, indent = 0) {\n if (__DEBUG__) {\n const name = (instance.kind !== VIRTUAL_INSTANCE ? getDisplayNameForFiber(instance.data) : instance.data.name) || '';\n console.log(' '.repeat(indent) + '- ' + (instance.kind === FILTERED_FIBER_INSTANCE ? 0 : instance.id) + ' (' + name + ')', 'parent', instance.parent === null ? ' ' : instance.parent.kind === FILTERED_FIBER_INSTANCE ? 0 : instance.parent.id, 'next', instance.nextSibling === null ? ' ' : instance.nextSibling.id);\n let child = instance.firstChild;\n while (child !== null) {\n debugTree(child, indent + 1);\n child = child.nextSibling;\n }\n }\n }\n const hideElementsWithDisplayNames = new Set();\n const hideElementsWithPaths = new Set();\n const hideElementsWithTypes = new Set();\n const hideElementsWithEnvs = new Set();\n let traceUpdatesEnabled = false;\n const traceUpdatesForNodes = new Set();\n function applyComponentFilters(componentFilters) {\n hideElementsWithTypes.clear();\n hideElementsWithDisplayNames.clear();\n hideElementsWithPaths.clear();\n hideElementsWithEnvs.clear();\n componentFilters.forEach(componentFilter => {\n if (!componentFilter.isEnabled) {\n return;\n }\n switch (componentFilter.type) {\n case ComponentFilterDisplayName:\n if (componentFilter.isValid && componentFilter.value !== '') {\n hideElementsWithDisplayNames.add(new RegExp(componentFilter.value, 'i'));\n }\n break;\n case ComponentFilterElementType:\n hideElementsWithTypes.add(componentFilter.value);\n break;\n case ComponentFilterLocation:\n if (componentFilter.isValid && componentFilter.value !== '') {\n hideElementsWithPaths.add(new RegExp(componentFilter.value, 'i'));\n }\n break;\n case ComponentFilterHOC:\n hideElementsWithDisplayNames.add(new RegExp('\\\\('));\n break;\n case ComponentFilterEnvironmentName:\n hideElementsWithEnvs.add(componentFilter.value);\n break;\n default:\n console.warn(`Invalid component filter type \"${componentFilter.type}\"`);\n break;\n }\n });\n }\n if (window.__REACT_DEVTOOLS_COMPONENT_FILTERS__ != null) {\n const componentFiltersWithoutLocationBasedOnes = filterOutLocationComponentFilters(window.__REACT_DEVTOOLS_COMPONENT_FILTERS__);\n applyComponentFilters(componentFiltersWithoutLocationBasedOnes);\n } else {\n applyComponentFilters(getDefaultComponentFilters());\n }\n function updateComponentFilters(componentFilters) {\n if (isProfiling) {\n throw Error('Cannot modify filter preferences while profiling');\n }\n hook.getFiberRoots(rendererID).forEach(root => {\n const rootInstance = rootToFiberInstanceMap.get(root);\n if (rootInstance === undefined) {\n throw new Error('Expected the root instance to already exist when applying filters');\n }\n currentRoot = rootInstance;\n unmountInstanceRecursively(rootInstance);\n rootToFiberInstanceMap.delete(root);\n flushPendingEvents();\n currentRoot = null;\n });\n applyComponentFilters(componentFilters);\n rootDisplayNameCounter.clear();\n hook.getFiberRoots(rendererID).forEach(root => {\n const current = root.current;\n const newRoot = createFiberInstance(current);\n rootToFiberInstanceMap.set(root, newRoot);\n idToDevToolsInstanceMap.set(newRoot.id, newRoot);\n if (trackedPath !== null) {\n mightBeOnTrackedPath = true;\n }\n currentRoot = newRoot;\n setRootPseudoKey(currentRoot.id, root.current);\n mountFiberRecursively(root.current, false);\n flushPendingEvents();\n currentRoot = null;\n });\n flushPendingEvents();\n needsToFlushComponentLogs = false;\n }\n function getEnvironmentNames() {\n return Array.from(knownEnvironmentNames);\n }\n function isFiberHydrated(fiber) {\n if (OffscreenComponent === -1) {\n throw new Error('not implemented for legacy suspense');\n }\n switch (fiber.tag) {\n case HostRoot:\n const rootState = fiber.memoizedState;\n return !rootState.isDehydrated;\n case SuspenseComponent:\n const suspenseState = fiber.memoizedState;\n return suspenseState === null || suspenseState.dehydrated === null;\n default:\n throw new Error('not implemented for work tag ' + fiber.tag);\n }\n }\n function shouldFilterVirtual(data, secondaryEnv) {\n if (hideElementsWithTypes.has(types_ElementTypeFunction)) {\n return true;\n }\n if (hideElementsWithDisplayNames.size > 0) {\n const displayName = data.name;\n if (displayName != null) {\n for (const displayNameRegExp of hideElementsWithDisplayNames) {\n if (displayNameRegExp.test(displayName)) {\n return true;\n }\n }\n }\n }\n if ((data.env == null || hideElementsWithEnvs.has(data.env)) && (secondaryEnv === null || hideElementsWithEnvs.has(secondaryEnv))) {\n return true;\n }\n return false;\n }\n function shouldFilterFiber(fiber) {\n const {\n tag,\n type,\n key\n } = fiber;\n switch (tag) {\n case DehydratedSuspenseComponent:\n return true;\n case HostPortal:\n case HostText:\n case LegacyHiddenComponent:\n case OffscreenComponent:\n case Throw:\n return true;\n case HostRoot:\n return false;\n case Fragment:\n return key === null;\n default:\n const typeSymbol = getTypeSymbol(type);\n switch (typeSymbol) {\n case CONCURRENT_MODE_NUMBER:\n case CONCURRENT_MODE_SYMBOL_STRING:\n case DEPRECATED_ASYNC_MODE_SYMBOL_STRING:\n case STRICT_MODE_NUMBER:\n case STRICT_MODE_SYMBOL_STRING:\n return true;\n default:\n break;\n }\n }\n const elementType = getElementTypeForFiber(fiber);\n if (hideElementsWithTypes.has(elementType)) {\n return true;\n }\n if (hideElementsWithDisplayNames.size > 0) {\n const displayName = getDisplayNameForFiber(fiber);\n if (displayName != null) {\n for (const displayNameRegExp of hideElementsWithDisplayNames) {\n if (displayNameRegExp.test(displayName)) {\n return true;\n }\n }\n }\n }\n if (hideElementsWithEnvs.has('Client')) {\n switch (tag) {\n case ClassComponent:\n case IncompleteClassComponent:\n case IncompleteFunctionComponent:\n case FunctionComponent:\n case IndeterminateComponent:\n case ForwardRef:\n case MemoComponent:\n case SimpleMemoComponent:\n return true;\n }\n }\n return false;\n }\n function getElementTypeForFiber(fiber) {\n const {\n type,\n tag\n } = fiber;\n switch (tag) {\n case ActivityComponent:\n return ElementTypeActivity;\n case ClassComponent:\n case IncompleteClassComponent:\n return types_ElementTypeClass;\n case IncompleteFunctionComponent:\n case FunctionComponent:\n case IndeterminateComponent:\n return types_ElementTypeFunction;\n case ForwardRef:\n return types_ElementTypeForwardRef;\n case HostRoot:\n return ElementTypeRoot;\n case HostComponent:\n case HostHoistable:\n case HostSingleton:\n return ElementTypeHostComponent;\n case HostPortal:\n case HostText:\n case Fragment:\n return ElementTypeOtherOrUnknown;\n case MemoComponent:\n case SimpleMemoComponent:\n return types_ElementTypeMemo;\n case SuspenseComponent:\n return ElementTypeSuspense;\n case SuspenseListComponent:\n return ElementTypeSuspenseList;\n case TracingMarkerComponent:\n return ElementTypeTracingMarker;\n case ViewTransitionComponent:\n return ElementTypeViewTransition;\n default:\n const typeSymbol = getTypeSymbol(type);\n switch (typeSymbol) {\n case CONCURRENT_MODE_NUMBER:\n case CONCURRENT_MODE_SYMBOL_STRING:\n case DEPRECATED_ASYNC_MODE_SYMBOL_STRING:\n return ElementTypeOtherOrUnknown;\n case PROVIDER_NUMBER:\n case PROVIDER_SYMBOL_STRING:\n return ElementTypeContext;\n case CONTEXT_NUMBER:\n case CONTEXT_SYMBOL_STRING:\n return ElementTypeContext;\n case STRICT_MODE_NUMBER:\n case STRICT_MODE_SYMBOL_STRING:\n return ElementTypeOtherOrUnknown;\n case PROFILER_NUMBER:\n case PROFILER_SYMBOL_STRING:\n return ElementTypeProfiler;\n default:\n return ElementTypeOtherOrUnknown;\n }\n }\n }\n let currentRoot = null;\n function untrackFiber(nearestInstance, fiber) {\n if (forceErrorForFibers.size > 0) {\n forceErrorForFibers.delete(fiber);\n if (fiber.alternate) {\n forceErrorForFibers.delete(fiber.alternate);\n }\n if (forceErrorForFibers.size === 0 && setErrorHandler != null) {\n setErrorHandler(shouldErrorFiberAlwaysNull);\n }\n }\n if (forceFallbackForFibers.size > 0) {\n forceFallbackForFibers.delete(fiber);\n if (fiber.alternate) {\n forceFallbackForFibers.delete(fiber.alternate);\n }\n if (forceFallbackForFibers.size === 0 && setSuspenseHandler != null) {\n setSuspenseHandler(shouldSuspendFiberAlwaysFalse);\n }\n }\n if (fiber.tag === HostHoistable) {\n releaseHostResource(nearestInstance, fiber.memoizedState);\n } else if (fiber.tag === HostComponent || fiber.tag === HostText || fiber.tag === HostSingleton) {\n releaseHostInstance(nearestInstance, fiber.stateNode);\n }\n for (let child = fiber.child; child !== null; child = child.sibling) {\n if (shouldFilterFiber(child)) {\n untrackFiber(nearestInstance, child);\n }\n }\n }\n function getChangeDescription(prevFiber, nextFiber) {\n switch (nextFiber.tag) {\n case ClassComponent:\n if (prevFiber === null) {\n return {\n context: null,\n didHooksChange: false,\n isFirstMount: true,\n props: null,\n state: null\n };\n } else {\n const data = {\n context: getContextChanged(prevFiber, nextFiber),\n didHooksChange: false,\n isFirstMount: false,\n props: getChangedKeys(prevFiber.memoizedProps, nextFiber.memoizedProps),\n state: getChangedKeys(prevFiber.memoizedState, nextFiber.memoizedState)\n };\n return data;\n }\n case IncompleteFunctionComponent:\n case FunctionComponent:\n case IndeterminateComponent:\n case ForwardRef:\n case MemoComponent:\n case SimpleMemoComponent:\n if (prevFiber === null) {\n return {\n context: null,\n didHooksChange: false,\n isFirstMount: true,\n props: null,\n state: null\n };\n } else {\n const indices = getChangedHooksIndices(prevFiber.memoizedState, nextFiber.memoizedState);\n const data = {\n context: getContextChanged(prevFiber, nextFiber),\n didHooksChange: indices !== null && indices.length > 0,\n isFirstMount: false,\n props: getChangedKeys(prevFiber.memoizedProps, nextFiber.memoizedProps),\n state: null,\n hooks: indices\n };\n return data;\n }\n default:\n return null;\n }\n }\n function getContextChanged(prevFiber, nextFiber) {\n let prevContext = prevFiber.dependencies && prevFiber.dependencies.firstContext;\n let nextContext = nextFiber.dependencies && nextFiber.dependencies.firstContext;\n while (prevContext && nextContext) {\n if (prevContext.context !== nextContext.context) {\n return false;\n }\n if (!shared_objectIs(prevContext.memoizedValue, nextContext.memoizedValue)) {\n return true;\n }\n prevContext = prevContext.next;\n nextContext = nextContext.next;\n }\n return false;\n }\n function isHookThatCanScheduleUpdate(hookObject) {\n const queue = hookObject.queue;\n if (!queue) {\n return false;\n }\n const boundHasOwnProperty = shared_hasOwnProperty.bind(queue);\n if (boundHasOwnProperty('pending')) {\n return true;\n }\n return boundHasOwnProperty('value') && boundHasOwnProperty('getSnapshot') && typeof queue.getSnapshot === 'function';\n }\n function didStatefulHookChange(prev, next) {\n const prevMemoizedState = prev.memoizedState;\n const nextMemoizedState = next.memoizedState;\n if (isHookThatCanScheduleUpdate(prev)) {\n return prevMemoizedState !== nextMemoizedState;\n }\n return false;\n }\n function getChangedHooksIndices(prev, next) {\n if (prev == null || next == null) {\n return null;\n }\n const indices = [];\n let index = 0;\n while (next !== null) {\n if (didStatefulHookChange(prev, next)) {\n indices.push(index);\n }\n next = next.next;\n prev = prev.next;\n index++;\n }\n return indices;\n }\n function getChangedKeys(prev, next) {\n if (prev == null || next == null) {\n return null;\n }\n const keys = new Set([...Object.keys(prev), ...Object.keys(next)]);\n const changedKeys = [];\n for (const key of keys) {\n if (prev[key] !== next[key]) {\n changedKeys.push(key);\n }\n }\n return changedKeys;\n }\n function didFiberRender(prevFiber, nextFiber) {\n switch (nextFiber.tag) {\n case ClassComponent:\n case FunctionComponent:\n case ContextConsumer:\n case MemoComponent:\n case SimpleMemoComponent:\n case ForwardRef:\n const PerformedWork = 0b000000000000000000000000001;\n return (getFiberFlags(nextFiber) & PerformedWork) === PerformedWork;\n default:\n return prevFiber.memoizedProps !== nextFiber.memoizedProps || prevFiber.memoizedState !== nextFiber.memoizedState || prevFiber.ref !== nextFiber.ref;\n }\n }\n const pendingOperations = [];\n const pendingRealUnmountedIDs = [];\n const pendingRealUnmountedSuspenseIDs = [];\n const pendingSuspenderChanges = new Set();\n let pendingOperationsQueue = [];\n const pendingStringTable = new Map();\n let pendingStringTableLength = 0;\n let pendingUnmountedRootID = null;\n function pushOperation(op) {\n if (false) {}\n pendingOperations.push(op);\n }\n function shouldBailoutWithPendingOperations() {\n if (isProfiling) {\n if (currentCommitProfilingMetadata != null && currentCommitProfilingMetadata.durations.length > 0) {\n return false;\n }\n }\n return pendingOperations.length === 0 && pendingRealUnmountedIDs.length === 0 && pendingRealUnmountedSuspenseIDs.length === 0 && pendingSuspenderChanges.size === 0 && pendingUnmountedRootID === null;\n }\n function flushOrQueueOperations(operations) {\n if (shouldBailoutWithPendingOperations()) {\n return;\n }\n if (pendingOperationsQueue !== null) {\n pendingOperationsQueue.push(operations);\n } else {\n hook.emit('operations', operations);\n }\n }\n function recordConsoleLogs(instance, componentLogsEntry) {\n if (componentLogsEntry === undefined) {\n if (instance.logCount === 0) {\n return false;\n }\n instance.logCount = 0;\n pushOperation(TREE_OPERATION_UPDATE_ERRORS_OR_WARNINGS);\n pushOperation(instance.id);\n pushOperation(0);\n pushOperation(0);\n return true;\n } else {\n const totalCount = componentLogsEntry.errorsCount + componentLogsEntry.warningsCount;\n if (instance.logCount === totalCount) {\n return false;\n }\n instance.logCount = totalCount;\n pushOperation(TREE_OPERATION_UPDATE_ERRORS_OR_WARNINGS);\n pushOperation(instance.id);\n pushOperation(componentLogsEntry.errorsCount);\n pushOperation(componentLogsEntry.warningsCount);\n return true;\n }\n }\n function flushPendingEvents() {\n if (shouldBailoutWithPendingOperations()) {\n return;\n }\n const numUnmountIDs = pendingRealUnmountedIDs.length + (pendingUnmountedRootID === null ? 0 : 1);\n const numUnmountSuspenseIDs = pendingRealUnmountedSuspenseIDs.length;\n const numSuspenderChanges = pendingSuspenderChanges.size;\n const operations = new Array(2 + 1 + pendingStringTableLength + (numUnmountSuspenseIDs > 0 ? 2 + numUnmountSuspenseIDs : 0) + (numUnmountIDs > 0 ? 2 + numUnmountIDs : 0) + pendingOperations.length + (numSuspenderChanges > 0 ? 2 + numSuspenderChanges * 3 : 0));\n let i = 0;\n operations[i++] = rendererID;\n if (currentRoot === null) {\n operations[i++] = -1;\n } else {\n operations[i++] = currentRoot.id;\n }\n operations[i++] = pendingStringTableLength;\n pendingStringTable.forEach((entry, stringKey) => {\n const encodedString = entry.encodedString;\n const length = encodedString.length;\n operations[i++] = length;\n for (let j = 0; j < length; j++) {\n operations[i + j] = encodedString[j];\n }\n i += length;\n });\n if (numUnmountSuspenseIDs > 0) {\n operations[i++] = SUSPENSE_TREE_OPERATION_REMOVE;\n operations[i++] = numUnmountSuspenseIDs;\n for (let j = 0; j < pendingRealUnmountedSuspenseIDs.length; j++) {\n operations[i++] = pendingRealUnmountedSuspenseIDs[j];\n }\n }\n if (numUnmountIDs > 0) {\n operations[i++] = TREE_OPERATION_REMOVE;\n operations[i++] = numUnmountIDs;\n for (let j = 0; j < pendingRealUnmountedIDs.length; j++) {\n operations[i++] = pendingRealUnmountedIDs[j];\n }\n if (pendingUnmountedRootID !== null) {\n operations[i] = pendingUnmountedRootID;\n i++;\n }\n }\n for (let j = 0; j < pendingOperations.length; j++) {\n operations[i + j] = pendingOperations[j];\n }\n i += pendingOperations.length;\n if (numSuspenderChanges > 0) {\n operations[i++] = SUSPENSE_TREE_OPERATION_SUSPENDERS;\n operations[i++] = numSuspenderChanges;\n pendingSuspenderChanges.forEach(fiberIdWithChanges => {\n const suspense = idToSuspenseNodeMap.get(fiberIdWithChanges);\n if (suspense === undefined) {\n throw new Error(`Could not send suspender changes for \"${fiberIdWithChanges}\" since the Fiber no longer exists.`);\n }\n operations[i++] = fiberIdWithChanges;\n operations[i++] = suspense.hasUniqueSuspenders ? 1 : 0;\n const instance = suspense.instance;\n const isSuspended = (instance.kind === FIBER_INSTANCE || instance.kind === FILTERED_FIBER_INSTANCE) && instance.data.tag === SuspenseComponent && instance.data.memoizedState !== null;\n operations[i++] = isSuspended ? 1 : 0;\n operations[i++] = suspense.environments.size;\n suspense.environments.forEach((count, env) => {\n operations[i++] = getStringID(env);\n });\n });\n }\n flushOrQueueOperations(operations);\n pendingOperations.length = 0;\n pendingRealUnmountedIDs.length = 0;\n pendingRealUnmountedSuspenseIDs.length = 0;\n pendingSuspenderChanges.clear();\n pendingUnmountedRootID = null;\n pendingStringTable.clear();\n pendingStringTableLength = 0;\n }\n function measureHostInstance(instance) {\n if (typeof instance !== 'object' || instance === null) {\n return null;\n }\n if (typeof instance.getClientRects === 'function' || instance.nodeType === 3) {\n const doc = instance.ownerDocument;\n if (instance === doc.documentElement) {\n return [{\n x: 0,\n y: 0,\n width: instance.scrollWidth,\n height: instance.scrollHeight\n }];\n }\n const result = [];\n const win = doc && doc.defaultView;\n const scrollX = win ? win.scrollX : 0;\n const scrollY = win ? win.scrollY : 0;\n let rects;\n if (instance.nodeType === 3) {\n if (typeof doc.createRange !== 'function') {\n return null;\n }\n const range = doc.createRange();\n if (typeof range.getClientRects !== 'function') {\n return null;\n }\n range.selectNodeContents(instance);\n rects = range.getClientRects();\n } else {\n rects = instance.getClientRects();\n }\n for (let i = 0; i < rects.length; i++) {\n const rect = rects[i];\n result.push({\n x: rect.x + scrollX,\n y: rect.y + scrollY,\n width: rect.width,\n height: rect.height\n });\n }\n return result;\n }\n if (instance.canonical) {\n const publicInstance = instance.canonical.publicInstance;\n if (!publicInstance) {\n return null;\n }\n if (typeof publicInstance.getBoundingClientRect === 'function') {\n return [publicInstance.getBoundingClientRect()];\n }\n if (typeof publicInstance.unstable_getBoundingClientRect === 'function') {\n return [publicInstance.unstable_getBoundingClientRect()];\n }\n }\n return null;\n }\n function measureInstance(instance) {\n const hostInstances = findAllCurrentHostInstances(instance);\n let result = null;\n for (let i = 0; i < hostInstances.length; i++) {\n const childResult = measureHostInstance(hostInstances[i]);\n if (childResult !== null) {\n if (result === null) {\n result = childResult;\n } else {\n result = result.concat(childResult);\n }\n }\n }\n return result;\n }\n function getStringID(string) {\n if (string === null) {\n return 0;\n }\n const existingEntry = pendingStringTable.get(string);\n if (existingEntry !== undefined) {\n return existingEntry.id;\n }\n const id = pendingStringTable.size + 1;\n const encodedString = utfEncodeString(string);\n pendingStringTable.set(string, {\n encodedString,\n id\n });\n pendingStringTableLength += encodedString.length + 1;\n return id;\n }\n let isInDisconnectedSubtree = false;\n function recordMount(fiber, parentInstance) {\n const isRoot = fiber.tag === HostRoot;\n let fiberInstance;\n if (isRoot) {\n const entry = rootToFiberInstanceMap.get(fiber.stateNode);\n if (entry === undefined) {\n throw new Error('The root should have been registered at this point');\n }\n fiberInstance = entry;\n } else {\n fiberInstance = createFiberInstance(fiber);\n }\n idToDevToolsInstanceMap.set(fiberInstance.id, fiberInstance);\n if (__DEBUG__) {\n debug('recordMount()', fiberInstance, parentInstance);\n }\n recordReconnect(fiberInstance, parentInstance);\n return fiberInstance;\n }\n function recordReconnect(fiberInstance, parentInstance) {\n if (isInDisconnectedSubtree) {\n return;\n }\n const id = fiberInstance.id;\n const fiber = fiberInstance.data;\n const isProfilingSupported = fiber.hasOwnProperty('treeBaseDuration');\n const isRoot = fiber.tag === HostRoot;\n if (isRoot) {\n const hasOwnerMetadata = fiber.hasOwnProperty('_debugOwner');\n let profilingFlags = 0;\n if (isProfilingSupported) {\n profilingFlags = PROFILING_FLAG_BASIC_SUPPORT;\n if (typeof injectProfilingHooks === 'function') {\n profilingFlags |= PROFILING_FLAG_TIMELINE_SUPPORT;\n }\n if (supportsPerformanceTracks) {\n profilingFlags |= PROFILING_FLAG_PERFORMANCE_TRACKS_SUPPORT;\n }\n }\n const isProductionBuildOfRenderer = renderer.bundleType === 0;\n pushOperation(TREE_OPERATION_ADD);\n pushOperation(id);\n pushOperation(ElementTypeRoot);\n pushOperation((fiber.mode & StrictModeBits) !== 0 ? 1 : 0);\n pushOperation(profilingFlags);\n pushOperation(!isProductionBuildOfRenderer && StrictModeBits !== 0 ? 1 : 0);\n pushOperation(hasOwnerMetadata ? 1 : 0);\n if (isProfiling) {\n if (displayNamesByRootID !== null) {\n displayNamesByRootID.set(id, getDisplayNameForRoot(fiber));\n }\n }\n } else {\n const {\n key\n } = fiber;\n const displayName = getDisplayNameForFiber(fiber);\n const elementType = getElementTypeForFiber(fiber);\n const debugOwner = getUnfilteredOwner(fiber);\n const ownerInstance = findNearestOwnerInstance(parentInstance, debugOwner);\n if (ownerInstance !== null && debugOwner === fiber._debugOwner && fiber._debugStack != null && ownerInstance.source === null) {\n ownerInstance.source = fiber._debugStack;\n }\n let unfilteredParent = parentInstance;\n while (unfilteredParent !== null && unfilteredParent.kind === FILTERED_FIBER_INSTANCE) {\n unfilteredParent = unfilteredParent.parent;\n }\n const ownerID = ownerInstance === null ? 0 : ownerInstance.id;\n const parentID = unfilteredParent === null ? 0 : unfilteredParent.id;\n const displayNameStringID = getStringID(displayName);\n const keyString = key === null ? null : String(key);\n const keyStringID = getStringID(keyString);\n const nameProp = fiber.tag === SuspenseComponent ? fiber.memoizedProps.name : fiber.tag === ActivityComponent ? fiber.memoizedProps.name : null;\n const namePropString = nameProp == null ? null : String(nameProp);\n const namePropStringID = getStringID(namePropString);\n pushOperation(TREE_OPERATION_ADD);\n pushOperation(id);\n pushOperation(elementType);\n pushOperation(parentID);\n pushOperation(ownerID);\n pushOperation(displayNameStringID);\n pushOperation(keyStringID);\n pushOperation(namePropStringID);\n if ((fiber.mode & StrictModeBits) !== 0) {\n let parentFiber = null;\n let parentFiberInstance = parentInstance;\n while (parentFiberInstance !== null) {\n if (parentFiberInstance.kind === FIBER_INSTANCE) {\n parentFiber = parentFiberInstance.data;\n break;\n }\n parentFiberInstance = parentFiberInstance.parent;\n }\n if (parentFiber === null || (parentFiber.mode & StrictModeBits) === 0) {\n pushOperation(TREE_OPERATION_SET_SUBTREE_MODE);\n pushOperation(id);\n pushOperation(StrictMode);\n }\n }\n }\n let componentLogsEntry = fiberToComponentLogsMap.get(fiber);\n if (componentLogsEntry === undefined && fiber.alternate !== null) {\n componentLogsEntry = fiberToComponentLogsMap.get(fiber.alternate);\n }\n recordConsoleLogs(fiberInstance, componentLogsEntry);\n if (isProfilingSupported) {\n recordProfilingDurations(fiberInstance, null);\n }\n }\n function recordVirtualMount(instance, parentInstance, secondaryEnv) {\n const id = instance.id;\n idToDevToolsInstanceMap.set(id, instance);\n recordVirtualReconnect(instance, parentInstance, secondaryEnv);\n }\n function recordVirtualReconnect(instance, parentInstance, secondaryEnv) {\n if (isInDisconnectedSubtree) {\n return;\n }\n const componentInfo = instance.data;\n const key = typeof componentInfo.key === 'string' ? componentInfo.key : null;\n const env = componentInfo.env;\n let displayName = componentInfo.name || '';\n if (typeof env === 'string') {\n if (secondaryEnv !== null) {\n displayName = secondaryEnv + '(' + displayName + ')';\n }\n displayName = env + '(' + displayName + ')';\n }\n const elementType = types_ElementTypeVirtual;\n const debugOwner = getUnfilteredOwner(componentInfo);\n const ownerInstance = findNearestOwnerInstance(parentInstance, debugOwner);\n if (ownerInstance !== null && debugOwner === componentInfo.owner && componentInfo.debugStack != null && ownerInstance.source === null) {\n ownerInstance.source = componentInfo.debugStack;\n }\n let unfilteredParent = parentInstance;\n while (unfilteredParent !== null && unfilteredParent.kind === FILTERED_FIBER_INSTANCE) {\n unfilteredParent = unfilteredParent.parent;\n }\n const ownerID = ownerInstance === null ? 0 : ownerInstance.id;\n const parentID = unfilteredParent === null ? 0 : unfilteredParent.id;\n const displayNameStringID = getStringID(displayName);\n const keyString = key === null ? null : String(key);\n const keyStringID = getStringID(keyString);\n const namePropStringID = getStringID(null);\n const id = instance.id;\n pushOperation(TREE_OPERATION_ADD);\n pushOperation(id);\n pushOperation(elementType);\n pushOperation(parentID);\n pushOperation(ownerID);\n pushOperation(displayNameStringID);\n pushOperation(keyStringID);\n pushOperation(namePropStringID);\n const componentLogsEntry = componentInfoToComponentLogsMap.get(componentInfo);\n recordConsoleLogs(instance, componentLogsEntry);\n }\n function recordSuspenseMount(suspenseInstance, parentSuspenseInstance) {\n const fiberInstance = suspenseInstance.instance;\n if (fiberInstance.kind === FILTERED_FIBER_INSTANCE) {\n throw new Error('Cannot record a mount for a filtered Fiber instance.');\n }\n const fiberID = fiberInstance.id;\n let unfilteredParent = parentSuspenseInstance;\n while (unfilteredParent !== null && unfilteredParent.instance.kind === FILTERED_FIBER_INSTANCE) {\n unfilteredParent = unfilteredParent.parent;\n }\n const unfilteredParentInstance = unfilteredParent !== null ? unfilteredParent.instance : null;\n if (unfilteredParentInstance !== null && unfilteredParentInstance.kind === FILTERED_FIBER_INSTANCE) {\n throw new Error('Should not have a filtered instance at this point. This is a bug.');\n }\n const parentID = unfilteredParentInstance === null ? 0 : unfilteredParentInstance.id;\n const fiber = fiberInstance.data;\n const props = fiber.memoizedProps;\n const name = fiber.tag !== SuspenseComponent || props === null ? null : props.name || null;\n const nameStringID = getStringID(name);\n const isSuspended = fiber.tag === SuspenseComponent && fiber.memoizedState !== null;\n if (__DEBUG__) {\n console.log('recordSuspenseMount()', suspenseInstance);\n }\n idToSuspenseNodeMap.set(fiberID, suspenseInstance);\n pushOperation(SUSPENSE_TREE_OPERATION_ADD);\n pushOperation(fiberID);\n pushOperation(parentID);\n pushOperation(nameStringID);\n pushOperation(isSuspended ? 1 : 0);\n const rects = suspenseInstance.rects;\n if (rects === null) {\n pushOperation(-1);\n } else {\n pushOperation(rects.length);\n for (let i = 0; i < rects.length; ++i) {\n const rect = rects[i];\n pushOperation(Math.round(rect.x * 1000));\n pushOperation(Math.round(rect.y * 1000));\n pushOperation(Math.round(rect.width * 1000));\n pushOperation(Math.round(rect.height * 1000));\n }\n }\n }\n function recordUnmount(fiberInstance) {\n if (__DEBUG__) {\n debug('recordUnmount()', fiberInstance, reconcilingParent);\n }\n recordDisconnect(fiberInstance);\n const suspenseNode = fiberInstance.suspenseNode;\n if (suspenseNode !== null) {\n recordSuspenseUnmount(suspenseNode);\n }\n idToDevToolsInstanceMap.delete(fiberInstance.id);\n untrackFiber(fiberInstance, fiberInstance.data);\n }\n function recordDisconnect(fiberInstance) {\n if (isInDisconnectedSubtree) {\n return;\n }\n const fiber = fiberInstance.data;\n if (trackedPathMatchInstance === fiberInstance) {\n setTrackedPath(null);\n }\n const id = fiberInstance.id;\n const isRoot = fiber.tag === HostRoot;\n if (isRoot) {\n pendingUnmountedRootID = id;\n } else {\n pendingRealUnmountedIDs.push(id);\n }\n }\n function recordSuspenseResize(suspenseNode) {\n if (__DEBUG__) {\n console.log('recordSuspenseResize()', suspenseNode);\n }\n const fiberInstance = suspenseNode.instance;\n if (fiberInstance.kind !== FIBER_INSTANCE) {\n return;\n }\n pushOperation(SUSPENSE_TREE_OPERATION_RESIZE);\n pushOperation(fiberInstance.id);\n const rects = suspenseNode.rects;\n if (rects === null) {\n pushOperation(-1);\n } else {\n pushOperation(rects.length);\n for (let i = 0; i < rects.length; ++i) {\n const rect = rects[i];\n pushOperation(Math.round(rect.x * 1000));\n pushOperation(Math.round(rect.y * 1000));\n pushOperation(Math.round(rect.width * 1000));\n pushOperation(Math.round(rect.height * 1000));\n }\n }\n }\n function recordSuspenseSuspenders(suspenseNode) {\n if (__DEBUG__) {\n console.log('recordSuspenseSuspenders()', suspenseNode);\n }\n const fiberInstance = suspenseNode.instance;\n if (fiberInstance.kind !== FIBER_INSTANCE) {\n return;\n }\n suspenseNode.environments.forEach((count, env) => {\n getStringID(env);\n });\n pendingSuspenderChanges.add(fiberInstance.id);\n }\n function recordSuspenseUnmount(suspenseInstance) {\n if (__DEBUG__) {\n console.log('recordSuspenseUnmount()', suspenseInstance, reconcilingParentSuspenseNode);\n }\n const devtoolsInstance = suspenseInstance.instance;\n if (devtoolsInstance.kind !== FIBER_INSTANCE) {\n throw new Error(\"Can't unmount a filtered SuspenseNode. This is a bug.\");\n }\n const fiberInstance = devtoolsInstance;\n const id = fiberInstance.id;\n pendingRealUnmountedSuspenseIDs.push(id);\n pendingSuspenderChanges.delete(id);\n idToSuspenseNodeMap.delete(id);\n }\n let remainingReconcilingChildren = null;\n let previouslyReconciledSibling = null;\n let reconcilingParent = null;\n let remainingReconcilingChildrenSuspenseNodes = null;\n let previouslyReconciledSiblingSuspenseNode = null;\n let reconcilingParentSuspenseNode = null;\n function ioExistsInSuspenseAncestor(suspenseNode, ioInfo) {\n let ancestor = suspenseNode.parent;\n while (ancestor !== null) {\n if (ancestor.suspendedBy.has(ioInfo)) {\n return true;\n }\n ancestor = ancestor.parent;\n }\n return false;\n }\n function insertSuspendedBy(asyncInfo) {\n if (reconcilingParent === null || reconcilingParentSuspenseNode === null) {\n throw new Error('It should not be possible to have suspended data outside the root. ' + 'Even suspending at the first position is still a child of the root.');\n }\n const parentSuspenseNode = reconcilingParentSuspenseNode;\n let parentInstance = reconcilingParent;\n while (parentInstance.kind === FILTERED_FIBER_INSTANCE && parentInstance.parent !== null && parentInstance !== parentSuspenseNode.instance) {\n parentInstance = parentInstance.parent;\n }\n const suspenseNodeSuspendedBy = parentSuspenseNode.suspendedBy;\n const ioInfo = asyncInfo.awaited;\n let suspendedBySet = suspenseNodeSuspendedBy.get(ioInfo);\n if (suspendedBySet === undefined) {\n suspendedBySet = new Set();\n suspenseNodeSuspendedBy.set(ioInfo, suspendedBySet);\n const env = ioInfo.env;\n if (env != null) {\n const environmentCounts = parentSuspenseNode.environments;\n const count = environmentCounts.get(env);\n if (count === undefined || count === 0) {\n environmentCounts.set(env, 1);\n recordSuspenseSuspenders(parentSuspenseNode);\n } else {\n environmentCounts.set(env, count + 1);\n }\n }\n }\n if (!suspendedBySet.has(parentInstance)) {\n suspendedBySet.add(parentInstance);\n if (!parentSuspenseNode.hasUniqueSuspenders && !ioExistsInSuspenseAncestor(parentSuspenseNode, ioInfo)) {\n parentSuspenseNode.hasUniqueSuspenders = true;\n recordSuspenseSuspenders(parentSuspenseNode);\n }\n }\n parentSuspenseNode.hasUnknownSuspenders = false;\n const suspendedBy = parentInstance.suspendedBy;\n if (suspendedBy === null) {\n parentInstance.suspendedBy = [asyncInfo];\n } else if (suspendedBy.indexOf(asyncInfo) === -1) {\n suspendedBy.push(asyncInfo);\n }\n }\n function getAwaitInSuspendedByFromIO(suspensedBy, ioInfo) {\n for (let i = 0; i < suspensedBy.length; i++) {\n const asyncInfo = suspensedBy[i];\n if (asyncInfo.awaited === ioInfo) {\n return asyncInfo;\n }\n }\n return null;\n }\n function unblockSuspendedBy(parentSuspenseNode, ioInfo) {\n const firstChild = parentSuspenseNode.firstChild;\n if (firstChild === null) {\n return;\n }\n let node = firstChild;\n while (node !== null) {\n if (node.suspendedBy.has(ioInfo)) {\n if (!node.hasUniqueSuspenders) {\n recordSuspenseSuspenders(node);\n }\n node.hasUniqueSuspenders = true;\n node.hasUnknownSuspenders = false;\n } else if (node.firstChild !== null) {\n node = node.firstChild;\n continue;\n }\n while (node.nextSibling === null) {\n if (node.parent === null || node.parent === parentSuspenseNode) {\n return;\n }\n node = node.parent;\n }\n node = node.nextSibling;\n }\n }\n function removePreviousSuspendedBy(instance, previousSuspendedBy, parentSuspenseNode) {\n const suspenseNode = instance.suspenseNode === null ? parentSuspenseNode : instance.suspenseNode;\n if (previousSuspendedBy !== null && suspenseNode !== null) {\n const nextSuspendedBy = instance.suspendedBy;\n let changedEnvironment = false;\n for (let i = 0; i < previousSuspendedBy.length; i++) {\n const asyncInfo = previousSuspendedBy[i];\n if (nextSuspendedBy === null || nextSuspendedBy.indexOf(asyncInfo) === -1 && getAwaitInSuspendedByFromIO(nextSuspendedBy, asyncInfo.awaited) === null) {\n const ioInfo = asyncInfo.awaited;\n const suspendedBySet = suspenseNode.suspendedBy.get(ioInfo);\n if (suspendedBySet === undefined || !suspendedBySet.delete(instance)) {\n let alreadyRemovedIO = false;\n for (let j = 0; j < i; j++) {\n const removedIOInfo = previousSuspendedBy[j].awaited;\n if (removedIOInfo === ioInfo) {\n alreadyRemovedIO = true;\n break;\n }\n }\n if (!alreadyRemovedIO) {\n throw new Error('We are cleaning up async info that was not on the parent Suspense boundary. ' + 'This is a bug in React.');\n }\n }\n if (suspendedBySet !== undefined && suspendedBySet.size === 0) {\n suspenseNode.suspendedBy.delete(ioInfo);\n const env = ioInfo.env;\n if (env != null) {\n const environmentCounts = suspenseNode.environments;\n const count = environmentCounts.get(env);\n if (count === undefined || count === 0) {\n throw new Error('We are removing an environment but it was not in the set. ' + 'This is a bug in React.');\n }\n if (count === 1) {\n environmentCounts.delete(env);\n changedEnvironment = true;\n } else {\n environmentCounts.set(env, count - 1);\n }\n }\n }\n if (suspenseNode.hasUniqueSuspenders && !ioExistsInSuspenseAncestor(suspenseNode, ioInfo)) {\n unblockSuspendedBy(suspenseNode, ioInfo);\n }\n }\n }\n if (changedEnvironment) {\n recordSuspenseSuspenders(suspenseNode);\n }\n }\n }\n function insertChild(instance) {\n const parentInstance = reconcilingParent;\n if (parentInstance === null) {\n return;\n }\n instance.parent = parentInstance;\n if (previouslyReconciledSibling === null) {\n previouslyReconciledSibling = instance;\n parentInstance.firstChild = instance;\n } else {\n previouslyReconciledSibling.nextSibling = instance;\n previouslyReconciledSibling = instance;\n }\n instance.nextSibling = null;\n const suspenseNode = instance.suspenseNode;\n if (suspenseNode !== null) {\n const parentNode = reconcilingParentSuspenseNode;\n if (parentNode !== null) {\n suspenseNode.parent = parentNode;\n if (previouslyReconciledSiblingSuspenseNode === null) {\n previouslyReconciledSiblingSuspenseNode = suspenseNode;\n parentNode.firstChild = suspenseNode;\n } else {\n previouslyReconciledSiblingSuspenseNode.nextSibling = suspenseNode;\n previouslyReconciledSiblingSuspenseNode = suspenseNode;\n }\n suspenseNode.nextSibling = null;\n }\n }\n }\n function moveChild(instance, previousSibling) {\n removeChild(instance, previousSibling);\n insertChild(instance);\n }\n function removeChild(instance, previousSibling) {\n if (instance.parent === null) {\n if (remainingReconcilingChildren === instance) {\n throw new Error('Remaining children should not have items with no parent');\n } else if (instance.nextSibling !== null) {\n throw new Error('A deleted instance should not have next siblings');\n }\n return;\n }\n const parentInstance = reconcilingParent;\n if (parentInstance === null) {\n throw new Error('Should not have a parent if we are at the root');\n }\n if (instance.parent !== parentInstance) {\n throw new Error('Cannot remove a node from a different parent than is being reconciled.');\n }\n if (previousSibling === null) {\n if (remainingReconcilingChildren !== instance) {\n throw new Error('Expected a placed child to be moved from the remaining set.');\n }\n remainingReconcilingChildren = instance.nextSibling;\n } else {\n previousSibling.nextSibling = instance.nextSibling;\n }\n instance.nextSibling = null;\n instance.parent = null;\n const suspenseNode = instance.suspenseNode;\n if (suspenseNode !== null && suspenseNode.parent !== null) {\n const parentNode = reconcilingParentSuspenseNode;\n if (parentNode === null) {\n throw new Error('Should not have a parent if we are at the root');\n }\n if (suspenseNode.parent !== parentNode) {\n throw new Error('Cannot remove a Suspense node from a different parent than is being reconciled.');\n }\n let previousSuspenseSibling = remainingReconcilingChildrenSuspenseNodes;\n if (previousSuspenseSibling === suspenseNode) {\n remainingReconcilingChildrenSuspenseNodes = suspenseNode.nextSibling;\n } else {\n while (previousSuspenseSibling !== null) {\n if (previousSuspenseSibling.nextSibling === suspenseNode) {\n previousSuspenseSibling.nextSibling = suspenseNode.nextSibling;\n break;\n }\n previousSuspenseSibling = previousSuspenseSibling.nextSibling;\n }\n }\n suspenseNode.nextSibling = null;\n suspenseNode.parent = null;\n }\n }\n function isHiddenOffscreen(fiber) {\n switch (fiber.tag) {\n case LegacyHiddenComponent:\n case OffscreenComponent:\n return fiber.memoizedState !== null;\n default:\n return false;\n }\n }\n function isSuspendedOffscreen(fiber) {\n switch (fiber.tag) {\n case LegacyHiddenComponent:\n case OffscreenComponent:\n return fiber.memoizedState !== null && fiber.return !== null && fiber.return.tag === SuspenseComponent;\n default:\n return false;\n }\n }\n function unmountRemainingChildren() {\n if (reconcilingParent !== null && (reconcilingParent.kind === FIBER_INSTANCE || reconcilingParent.kind === FILTERED_FIBER_INSTANCE) && isSuspendedOffscreen(reconcilingParent.data) && !isInDisconnectedSubtree) {\n isInDisconnectedSubtree = true;\n try {\n let child = remainingReconcilingChildren;\n while (child !== null) {\n unmountInstanceRecursively(child);\n child = remainingReconcilingChildren;\n }\n } finally {\n isInDisconnectedSubtree = false;\n }\n } else {\n let child = remainingReconcilingChildren;\n while (child !== null) {\n unmountInstanceRecursively(child);\n child = remainingReconcilingChildren;\n }\n }\n }\n function unmountSuspenseChildrenRecursively(contentInstance, stashedSuspenseParent, stashedSuspensePrevious, stashedSuspenseRemaining) {\n unmountInstanceRecursively(contentInstance);\n reconcilingParentSuspenseNode = stashedSuspenseParent;\n previouslyReconciledSiblingSuspenseNode = stashedSuspensePrevious;\n remainingReconcilingChildrenSuspenseNodes = stashedSuspenseRemaining;\n unmountRemainingChildren();\n }\n function isChildOf(parentInstance, childInstance, grandParent) {\n let instance = childInstance.parent;\n while (instance !== null) {\n if (parentInstance === instance) {\n return true;\n }\n if (instance === parentInstance.parent || instance === grandParent) {\n break;\n }\n instance = instance.parent;\n }\n return false;\n }\n function areEqualRects(a, b) {\n if (a === null) {\n return b === null;\n }\n if (b === null) {\n return false;\n }\n if (a.length !== b.length) {\n return false;\n }\n for (let i = 0; i < a.length; i++) {\n const aRect = a[i];\n const bRect = b[i];\n if (aRect.x !== bRect.x || aRect.y !== bRect.y || aRect.width !== bRect.width || aRect.height !== bRect.height) {\n return false;\n }\n }\n return true;\n }\n function measureUnchangedSuspenseNodesRecursively(suspenseNode) {\n if (isInDisconnectedSubtree) {\n return;\n }\n const instance = suspenseNode.instance;\n const isSuspendedSuspenseComponent = (instance.kind === FIBER_INSTANCE || instance.kind === FILTERED_FIBER_INSTANCE) && instance.data.tag === SuspenseComponent && instance.data.memoizedState !== null;\n if (isSuspendedSuspenseComponent) {\n return;\n }\n let parent = instance.parent;\n while (parent !== null) {\n if ((parent.kind === FIBER_INSTANCE || parent.kind === FILTERED_FIBER_INSTANCE) && isHiddenOffscreen(parent.data)) {\n return;\n }\n if (parent.suspenseNode !== null) {\n break;\n }\n parent = parent.parent;\n }\n const nextRects = measureInstance(suspenseNode.instance);\n const prevRects = suspenseNode.rects;\n if (areEqualRects(prevRects, nextRects)) {\n return;\n }\n for (let child = suspenseNode.firstChild; child !== null; child = child.nextSibling) {\n measureUnchangedSuspenseNodesRecursively(child);\n }\n suspenseNode.rects = nextRects;\n recordSuspenseResize(suspenseNode);\n }\n function consumeSuspenseNodesOfExistingInstance(instance) {\n let suspenseNode = remainingReconcilingChildrenSuspenseNodes;\n if (suspenseNode === null) {\n return;\n }\n const parentSuspenseNode = reconcilingParentSuspenseNode;\n if (parentSuspenseNode === null) {\n throw new Error('The should not be any remaining suspense node children if there is no parent.');\n }\n let foundOne = false;\n let previousSkippedSibling = null;\n while (suspenseNode !== null) {\n if (isChildOf(instance, suspenseNode.instance, parentSuspenseNode.instance)) {\n foundOne = true;\n const nextRemainingSibling = suspenseNode.nextSibling;\n if (previousSkippedSibling === null) {\n remainingReconcilingChildrenSuspenseNodes = nextRemainingSibling;\n } else {\n previousSkippedSibling.nextSibling = nextRemainingSibling;\n }\n suspenseNode.nextSibling = null;\n if (previouslyReconciledSiblingSuspenseNode === null) {\n parentSuspenseNode.firstChild = suspenseNode;\n } else {\n previouslyReconciledSiblingSuspenseNode.nextSibling = suspenseNode;\n }\n previouslyReconciledSiblingSuspenseNode = suspenseNode;\n measureUnchangedSuspenseNodesRecursively(suspenseNode);\n suspenseNode = nextRemainingSibling;\n } else if (foundOne) {\n break;\n } else {\n previousSkippedSibling = suspenseNode;\n suspenseNode = suspenseNode.nextSibling;\n }\n }\n }\n function mountVirtualInstanceRecursively(virtualInstance, firstChild, lastChild, traceNearestHostComponentUpdate, virtualLevel) {\n const mightSiblingsBeOnTrackedPath = updateVirtualTrackedPathStateBeforeMount(virtualInstance, reconcilingParent);\n const stashedParent = reconcilingParent;\n const stashedPrevious = previouslyReconciledSibling;\n const stashedRemaining = remainingReconcilingChildren;\n reconcilingParent = virtualInstance;\n previouslyReconciledSibling = null;\n remainingReconcilingChildren = null;\n try {\n mountVirtualChildrenRecursively(firstChild, lastChild, traceNearestHostComponentUpdate, virtualLevel + 1);\n recordVirtualProfilingDurations(virtualInstance);\n } finally {\n reconcilingParent = stashedParent;\n previouslyReconciledSibling = stashedPrevious;\n remainingReconcilingChildren = stashedRemaining;\n updateTrackedPathStateAfterMount(mightSiblingsBeOnTrackedPath);\n }\n }\n function recordVirtualUnmount(instance) {\n recordVirtualDisconnect(instance);\n idToDevToolsInstanceMap.delete(instance.id);\n }\n function recordVirtualDisconnect(instance) {\n if (isInDisconnectedSubtree) {\n return;\n }\n if (trackedPathMatchInstance === instance) {\n setTrackedPath(null);\n }\n const id = instance.id;\n pendingRealUnmountedIDs.push(id);\n }\n function getSecondaryEnvironmentName(debugInfo, index) {\n if (debugInfo != null) {\n const componentInfo = debugInfo[index];\n for (let i = index + 1; i < debugInfo.length; i++) {\n const debugEntry = debugInfo[i];\n if (typeof debugEntry.env === 'string') {\n return componentInfo.env !== debugEntry.env ? debugEntry.env : null;\n }\n }\n }\n return null;\n }\n function trackDebugInfoFromLazyType(fiber) {\n const type = fiber.elementType;\n const typeSymbol = getTypeSymbol(type);\n if (typeSymbol === LAZY_SYMBOL_STRING) {\n const debugInfo = type._debugInfo;\n if (debugInfo) {\n for (let i = 0; i < debugInfo.length; i++) {\n const debugEntry = debugInfo[i];\n if (debugEntry.awaited) {\n const asyncInfo = debugEntry;\n insertSuspendedBy(asyncInfo);\n }\n }\n }\n }\n }\n function trackDebugInfoFromUsedThenables(fiber) {\n const dependencies = fiber.dependencies;\n if (dependencies == null) {\n return;\n }\n const thenableState = dependencies._debugThenableState;\n if (thenableState == null) {\n return;\n }\n const usedThenables = thenableState.thenables || thenableState;\n if (!Array.isArray(usedThenables)) {\n return;\n }\n for (let i = 0; i < usedThenables.length; i++) {\n const thenable = usedThenables[i];\n const debugInfo = thenable._debugInfo;\n if (debugInfo) {\n for (let j = 0; j < debugInfo.length; j++) {\n const debugEntry = debugInfo[j];\n if (debugEntry.awaited) {\n const asyncInfo = debugEntry;\n insertSuspendedBy(asyncInfo);\n }\n }\n }\n }\n }\n const hostAsyncInfoCache = new WeakMap();\n function trackDebugInfoFromHostResource(devtoolsInstance, fiber) {\n const resource = fiber.memoizedState;\n if (resource == null) {\n return;\n }\n const existingEntry = hostAsyncInfoCache.get(resource);\n if (existingEntry !== undefined) {\n insertSuspendedBy(existingEntry);\n return;\n }\n const props = fiber.memoizedProps;\n const mayResourceSuspendCommit = resource.type === 'stylesheet' && (typeof props.media !== 'string' || typeof matchMedia !== 'function' || matchMedia(props.media));\n if (!mayResourceSuspendCommit) {\n return;\n }\n const instance = resource.instance;\n if (instance == null) {\n return;\n }\n const href = instance.href;\n if (typeof href !== 'string') {\n return;\n }\n let start = -1;\n let end = -1;\n let byteSize = 0;\n if (typeof performance.getEntriesByType === 'function') {\n const resourceEntries = performance.getEntriesByType('resource');\n for (let i = 0; i < resourceEntries.length; i++) {\n const resourceEntry = resourceEntries[i];\n if (resourceEntry.name === href) {\n start = resourceEntry.startTime;\n end = start + resourceEntry.duration;\n byteSize = resourceEntry.transferSize || 0;\n }\n }\n }\n const value = instance.sheet;\n const promise = Promise.resolve(value);\n promise.status = 'fulfilled';\n promise.value = value;\n const ioInfo = {\n name: 'stylesheet',\n start,\n end,\n value: promise,\n owner: fiber\n };\n if (byteSize > 0) {\n ioInfo.byteSize = byteSize;\n }\n const asyncInfo = {\n awaited: ioInfo,\n owner: fiber._debugOwner == null ? null : fiber._debugOwner,\n debugStack: fiber._debugStack == null ? null : fiber._debugStack,\n debugTask: fiber._debugTask == null ? null : fiber._debugTask\n };\n hostAsyncInfoCache.set(resource, asyncInfo);\n insertSuspendedBy(asyncInfo);\n }\n function trackDebugInfoFromHostComponent(devtoolsInstance, fiber) {\n if (fiber.tag !== HostComponent) {\n return;\n }\n if ((fiber.mode & SuspenseyImagesMode) === 0) {\n return;\n }\n const type = fiber.type;\n const props = fiber.memoizedProps;\n const maySuspendCommit = type === 'img' && props.src != null && props.src !== '' && props.onLoad == null && props.loading !== 'lazy';\n if (!maySuspendCommit) {\n return;\n }\n const instance = fiber.stateNode;\n if (instance == null) {\n return;\n }\n const src = instance.currentSrc;\n if (typeof src !== 'string' || src === '') {\n return;\n }\n let start = -1;\n let end = -1;\n let byteSize = 0;\n let fileSize = 0;\n if (typeof performance.getEntriesByType === 'function') {\n const resourceEntries = performance.getEntriesByType('resource');\n for (let i = 0; i < resourceEntries.length; i++) {\n const resourceEntry = resourceEntries[i];\n if (resourceEntry.name === src) {\n start = resourceEntry.startTime;\n end = start + resourceEntry.duration;\n fileSize = resourceEntry.decodedBodySize || 0;\n byteSize = resourceEntry.transferSize || 0;\n }\n }\n }\n const value = {\n currentSrc: src\n };\n if (instance.naturalWidth > 0 && instance.naturalHeight > 0) {\n value.naturalWidth = instance.naturalWidth;\n value.naturalHeight = instance.naturalHeight;\n }\n if (fileSize > 0) {\n value.fileSize = fileSize;\n }\n const promise = Promise.resolve(value);\n promise.status = 'fulfilled';\n promise.value = value;\n const ioInfo = {\n name: 'img',\n start,\n end,\n value: promise,\n owner: fiber\n };\n if (byteSize > 0) {\n ioInfo.byteSize = byteSize;\n }\n const asyncInfo = {\n awaited: ioInfo,\n owner: fiber._debugOwner == null ? null : fiber._debugOwner,\n debugStack: fiber._debugStack == null ? null : fiber._debugStack,\n debugTask: fiber._debugTask == null ? null : fiber._debugTask\n };\n insertSuspendedBy(asyncInfo);\n }\n function trackThrownPromisesFromRetryCache(suspenseNode, retryCache) {\n if (retryCache != null) {\n if (!suspenseNode.hasUniqueSuspenders) {\n recordSuspenseSuspenders(suspenseNode);\n }\n suspenseNode.hasUniqueSuspenders = true;\n suspenseNode.hasUnknownSuspenders = true;\n }\n }\n function mountVirtualChildrenRecursively(firstChild, lastChild, traceNearestHostComponentUpdate, virtualLevel) {\n let fiber = firstChild;\n let previousVirtualInstance = null;\n let previousVirtualInstanceFirstFiber = firstChild;\n while (fiber !== null && fiber !== lastChild) {\n let level = 0;\n if (fiber._debugInfo) {\n for (let i = 0; i < fiber._debugInfo.length; i++) {\n const debugEntry = fiber._debugInfo[i];\n if (debugEntry.awaited) {\n const asyncInfo = debugEntry;\n if (level === virtualLevel) {\n insertSuspendedBy(asyncInfo);\n }\n continue;\n }\n if (typeof debugEntry.name !== 'string') {\n continue;\n }\n const componentInfo = debugEntry;\n const secondaryEnv = getSecondaryEnvironmentName(fiber._debugInfo, i);\n if (componentInfo.env != null) {\n knownEnvironmentNames.add(componentInfo.env);\n }\n if (secondaryEnv !== null) {\n knownEnvironmentNames.add(secondaryEnv);\n }\n if (shouldFilterVirtual(componentInfo, secondaryEnv)) {\n continue;\n }\n if (level === virtualLevel) {\n if (previousVirtualInstance === null || previousVirtualInstance.data !== debugEntry) {\n if (previousVirtualInstance !== null) {\n mountVirtualInstanceRecursively(previousVirtualInstance, previousVirtualInstanceFirstFiber, fiber, traceNearestHostComponentUpdate, virtualLevel);\n }\n previousVirtualInstance = createVirtualInstance(componentInfo);\n recordVirtualMount(previousVirtualInstance, reconcilingParent, secondaryEnv);\n insertChild(previousVirtualInstance);\n previousVirtualInstanceFirstFiber = fiber;\n }\n level++;\n break;\n } else {\n level++;\n }\n }\n }\n if (level === virtualLevel) {\n if (previousVirtualInstance !== null) {\n mountVirtualInstanceRecursively(previousVirtualInstance, previousVirtualInstanceFirstFiber, fiber, traceNearestHostComponentUpdate, virtualLevel);\n previousVirtualInstance = null;\n }\n mountFiberRecursively(fiber, traceNearestHostComponentUpdate);\n }\n fiber = fiber.sibling;\n }\n if (previousVirtualInstance !== null) {\n mountVirtualInstanceRecursively(previousVirtualInstance, previousVirtualInstanceFirstFiber, null, traceNearestHostComponentUpdate, virtualLevel);\n }\n }\n function mountChildrenRecursively(firstChild, traceNearestHostComponentUpdate) {\n mountVirtualChildrenRecursively(firstChild, null, traceNearestHostComponentUpdate, 0);\n }\n function mountSuspenseChildrenRecursively(contentFiber, traceNearestHostComponentUpdate, stashedSuspenseParent, stashedSuspensePrevious, stashedSuspenseRemaining) {\n const fallbackFiber = contentFiber.sibling;\n mountVirtualChildrenRecursively(contentFiber, fallbackFiber, traceNearestHostComponentUpdate, 0);\n reconcilingParentSuspenseNode = stashedSuspenseParent;\n previouslyReconciledSiblingSuspenseNode = stashedSuspensePrevious;\n remainingReconcilingChildrenSuspenseNodes = stashedSuspenseRemaining;\n if (fallbackFiber !== null) {\n mountVirtualChildrenRecursively(fallbackFiber, null, traceNearestHostComponentUpdate, 0);\n }\n }\n function mountFiberRecursively(fiber, traceNearestHostComponentUpdate) {\n const shouldIncludeInTree = !shouldFilterFiber(fiber);\n let newInstance = null;\n let newSuspenseNode = null;\n if (shouldIncludeInTree) {\n newInstance = recordMount(fiber, reconcilingParent);\n if (fiber.tag === SuspenseComponent || fiber.tag === HostRoot) {\n newSuspenseNode = createSuspenseNode(newInstance);\n if (fiber.tag === SuspenseComponent) {\n if (OffscreenComponent === -1) {\n const isTimedOut = fiber.memoizedState !== null;\n if (!isTimedOut) {\n newSuspenseNode.rects = measureInstance(newInstance);\n }\n } else {\n const hydrated = isFiberHydrated(fiber);\n if (hydrated) {\n const contentFiber = fiber.child;\n if (contentFiber === null) {\n throw new Error('There should always be an Offscreen Fiber child in a hydrated Suspense boundary.');\n }\n } else {}\n const isTimedOut = fiber.memoizedState !== null;\n if (!isTimedOut) {\n newSuspenseNode.rects = measureInstance(newInstance);\n }\n }\n } else {\n newSuspenseNode.rects = measureInstance(newInstance);\n }\n recordSuspenseMount(newSuspenseNode, reconcilingParentSuspenseNode);\n }\n insertChild(newInstance);\n if (__DEBUG__) {\n debug('mountFiberRecursively()', newInstance, reconcilingParent);\n }\n } else if (reconcilingParent !== null && reconcilingParent.kind === VIRTUAL_INSTANCE || fiber.tag === SuspenseComponent || fiber.tag === OffscreenComponent || fiber.tag === LegacyHiddenComponent) {\n if (reconcilingParent !== null && reconcilingParent.kind === VIRTUAL_INSTANCE && reconcilingParent.data === fiber._debugOwner && fiber._debugStack != null && reconcilingParent.source === null) {\n reconcilingParent.source = fiber._debugStack;\n }\n newInstance = createFilteredFiberInstance(fiber);\n if (fiber.tag === SuspenseComponent) {\n newSuspenseNode = createSuspenseNode(newInstance);\n if (OffscreenComponent === -1) {\n const isTimedOut = fiber.memoizedState !== null;\n if (!isTimedOut) {\n newSuspenseNode.rects = measureInstance(newInstance);\n }\n } else {\n const hydrated = isFiberHydrated(fiber);\n if (hydrated) {\n const contentFiber = fiber.child;\n if (contentFiber === null) {\n throw new Error('There should always be an Offscreen Fiber child in a hydrated Suspense boundary.');\n }\n } else {}\n const suspenseState = fiber.memoizedState;\n const isTimedOut = suspenseState !== null;\n if (!isTimedOut) {\n newSuspenseNode.rects = measureInstance(newInstance);\n }\n }\n }\n insertChild(newInstance);\n if (__DEBUG__) {\n debug('mountFiberRecursively()', newInstance, reconcilingParent);\n }\n }\n const mightSiblingsBeOnTrackedPath = updateTrackedPathStateBeforeMount(fiber, newInstance);\n const stashedParent = reconcilingParent;\n const stashedPrevious = previouslyReconciledSibling;\n const stashedRemaining = remainingReconcilingChildren;\n const stashedSuspenseParent = reconcilingParentSuspenseNode;\n const stashedSuspensePrevious = previouslyReconciledSiblingSuspenseNode;\n const stashedSuspenseRemaining = remainingReconcilingChildrenSuspenseNodes;\n if (newInstance !== null) {\n reconcilingParent = newInstance;\n previouslyReconciledSibling = null;\n remainingReconcilingChildren = null;\n }\n let shouldPopSuspenseNode = false;\n if (newSuspenseNode !== null) {\n reconcilingParentSuspenseNode = newSuspenseNode;\n previouslyReconciledSiblingSuspenseNode = null;\n remainingReconcilingChildrenSuspenseNodes = null;\n shouldPopSuspenseNode = true;\n }\n try {\n if (traceUpdatesEnabled) {\n if (traceNearestHostComponentUpdate) {\n const elementType = getElementTypeForFiber(fiber);\n if (elementType === ElementTypeHostComponent) {\n traceUpdatesForNodes.add(fiber.stateNode);\n traceNearestHostComponentUpdate = false;\n }\n }\n }\n trackDebugInfoFromLazyType(fiber);\n trackDebugInfoFromUsedThenables(fiber);\n if (fiber.tag === HostHoistable) {\n const nearestInstance = reconcilingParent;\n if (nearestInstance === null) {\n throw new Error('Did not expect a host hoistable to be the root');\n }\n aquireHostResource(nearestInstance, fiber.memoizedState);\n trackDebugInfoFromHostResource(nearestInstance, fiber);\n } else if (fiber.tag === HostComponent || fiber.tag === HostText || fiber.tag === HostSingleton) {\n const nearestInstance = reconcilingParent;\n if (nearestInstance === null) {\n throw new Error('Did not expect a host hoistable to be the root');\n }\n aquireHostInstance(nearestInstance, fiber.stateNode);\n trackDebugInfoFromHostComponent(nearestInstance, fiber);\n }\n if (isSuspendedOffscreen(fiber)) {\n const stashedDisconnected = isInDisconnectedSubtree;\n isInDisconnectedSubtree = true;\n try {\n if (fiber.child !== null) {\n mountChildrenRecursively(fiber.child, false);\n }\n } finally {\n isInDisconnectedSubtree = stashedDisconnected;\n }\n } else if (isHiddenOffscreen(fiber)) {} else if (fiber.tag === SuspenseComponent && OffscreenComponent === -1) {\n if (newSuspenseNode !== null) {\n trackThrownPromisesFromRetryCache(newSuspenseNode, fiber.stateNode);\n }\n const isTimedOut = fiber.memoizedState !== null;\n if (isTimedOut) {\n const primaryChildFragment = fiber.child;\n const fallbackChildFragment = primaryChildFragment ? primaryChildFragment.sibling : null;\n if (fallbackChildFragment) {\n const fallbackChild = fallbackChildFragment.child;\n if (fallbackChild !== null) {\n updateTrackedPathStateBeforeMount(fallbackChildFragment, null);\n mountChildrenRecursively(fallbackChild, traceNearestHostComponentUpdate);\n }\n }\n } else {\n const primaryChild = fiber.child;\n if (primaryChild !== null) {\n mountChildrenRecursively(primaryChild, traceNearestHostComponentUpdate);\n }\n }\n } else if (fiber.tag === SuspenseComponent && OffscreenComponent !== -1 && newInstance !== null && newSuspenseNode !== null) {\n const contentFiber = fiber.child;\n const hydrated = isFiberHydrated(fiber);\n if (hydrated) {\n if (contentFiber === null) {\n throw new Error('There should always be an Offscreen Fiber child in a hydrated Suspense boundary.');\n }\n trackThrownPromisesFromRetryCache(newSuspenseNode, fiber.stateNode);\n mountSuspenseChildrenRecursively(contentFiber, traceNearestHostComponentUpdate, stashedSuspenseParent, stashedSuspensePrevious, stashedSuspenseRemaining);\n shouldPopSuspenseNode = false;\n } else {}\n } else {\n if (fiber.child !== null) {\n mountChildrenRecursively(fiber.child, traceNearestHostComponentUpdate);\n }\n }\n } finally {\n if (newInstance !== null) {\n reconcilingParent = stashedParent;\n previouslyReconciledSibling = stashedPrevious;\n remainingReconcilingChildren = stashedRemaining;\n }\n if (shouldPopSuspenseNode) {\n reconcilingParentSuspenseNode = stashedSuspenseParent;\n previouslyReconciledSiblingSuspenseNode = stashedSuspensePrevious;\n remainingReconcilingChildrenSuspenseNodes = stashedSuspenseRemaining;\n }\n }\n updateTrackedPathStateAfterMount(mightSiblingsBeOnTrackedPath);\n }\n function unmountInstanceRecursively(instance) {\n if (__DEBUG__) {\n debug('unmountInstanceRecursively()', instance, reconcilingParent);\n }\n let shouldPopSuspenseNode = false;\n const stashedParent = reconcilingParent;\n const stashedPrevious = previouslyReconciledSibling;\n const stashedRemaining = remainingReconcilingChildren;\n const stashedSuspenseParent = reconcilingParentSuspenseNode;\n const stashedSuspensePrevious = previouslyReconciledSiblingSuspenseNode;\n const stashedSuspenseRemaining = remainingReconcilingChildrenSuspenseNodes;\n const previousSuspendedBy = instance.suspendedBy;\n reconcilingParent = instance;\n previouslyReconciledSibling = null;\n remainingReconcilingChildren = instance.firstChild;\n instance.firstChild = null;\n instance.suspendedBy = null;\n if (instance.suspenseNode !== null) {\n reconcilingParentSuspenseNode = instance.suspenseNode;\n previouslyReconciledSiblingSuspenseNode = null;\n remainingReconcilingChildrenSuspenseNodes = instance.suspenseNode.firstChild;\n shouldPopSuspenseNode = true;\n }\n try {\n if ((instance.kind === FIBER_INSTANCE || instance.kind === FILTERED_FIBER_INSTANCE) && instance.data.tag === SuspenseComponent && OffscreenComponent !== -1) {\n const fiber = instance.data;\n const contentFiberInstance = remainingReconcilingChildren;\n const hydrated = isFiberHydrated(fiber);\n if (hydrated) {\n if (contentFiberInstance === null) {\n throw new Error('There should always be an Offscreen Fiber child in a hydrated Suspense boundary.');\n }\n unmountSuspenseChildrenRecursively(contentFiberInstance, stashedSuspenseParent, stashedSuspensePrevious, stashedSuspenseRemaining);\n shouldPopSuspenseNode = false;\n } else {\n if (contentFiberInstance !== null) {\n throw new Error('A dehydrated Suspense node should not have a content Fiber.');\n }\n }\n } else {\n unmountRemainingChildren();\n }\n removePreviousSuspendedBy(instance, previousSuspendedBy, reconcilingParentSuspenseNode);\n } finally {\n reconcilingParent = stashedParent;\n previouslyReconciledSibling = stashedPrevious;\n remainingReconcilingChildren = stashedRemaining;\n if (shouldPopSuspenseNode) {\n reconcilingParentSuspenseNode = stashedSuspenseParent;\n previouslyReconciledSiblingSuspenseNode = stashedSuspensePrevious;\n remainingReconcilingChildrenSuspenseNodes = stashedSuspenseRemaining;\n }\n }\n if (instance.kind === FIBER_INSTANCE) {\n recordUnmount(instance);\n } else if (instance.kind === VIRTUAL_INSTANCE) {\n recordVirtualUnmount(instance);\n } else {\n untrackFiber(instance, instance.data);\n }\n removeChild(instance, null);\n }\n function recordProfilingDurations(fiberInstance, prevFiber) {\n const id = fiberInstance.id;\n const fiber = fiberInstance.data;\n const {\n actualDuration,\n treeBaseDuration\n } = fiber;\n fiberInstance.treeBaseDuration = treeBaseDuration || 0;\n if (isProfiling) {\n if (prevFiber == null || treeBaseDuration !== prevFiber.treeBaseDuration) {\n const convertedTreeBaseDuration = Math.floor((treeBaseDuration || 0) * 1000);\n pushOperation(TREE_OPERATION_UPDATE_TREE_BASE_DURATION);\n pushOperation(id);\n pushOperation(convertedTreeBaseDuration);\n }\n if (prevFiber == null || didFiberRender(prevFiber, fiber)) {\n if (actualDuration != null) {\n let selfDuration = actualDuration;\n let child = fiber.child;\n while (child !== null) {\n selfDuration -= child.actualDuration || 0;\n child = child.sibling;\n }\n const metadata = currentCommitProfilingMetadata;\n metadata.durations.push(id, actualDuration, selfDuration);\n metadata.maxActualDuration = Math.max(metadata.maxActualDuration, actualDuration);\n if (recordChangeDescriptions) {\n const changeDescription = getChangeDescription(prevFiber, fiber);\n if (changeDescription !== null) {\n if (metadata.changeDescriptions !== null) {\n metadata.changeDescriptions.set(id, changeDescription);\n }\n }\n }\n }\n }\n const fiberRoot = currentRoot.data.stateNode;\n const updaters = fiberRoot.memoizedUpdaters;\n if (updaters != null && (updaters.has(fiber) || fiber.alternate !== null && updaters.has(fiber.alternate))) {\n const metadata = currentCommitProfilingMetadata;\n if (metadata.updaters === null) {\n metadata.updaters = [];\n }\n metadata.updaters.push(instanceToSerializedElement(fiberInstance));\n }\n }\n }\n function recordVirtualProfilingDurations(virtualInstance) {\n const id = virtualInstance.id;\n let treeBaseDuration = 0;\n for (let child = virtualInstance.firstChild; child !== null; child = child.nextSibling) {\n treeBaseDuration += child.treeBaseDuration;\n }\n if (isProfiling) {\n const previousTreeBaseDuration = virtualInstance.treeBaseDuration;\n if (treeBaseDuration !== previousTreeBaseDuration) {\n const convertedTreeBaseDuration = Math.floor((treeBaseDuration || 0) * 1000);\n pushOperation(TREE_OPERATION_UPDATE_TREE_BASE_DURATION);\n pushOperation(id);\n pushOperation(convertedTreeBaseDuration);\n }\n }\n virtualInstance.treeBaseDuration = treeBaseDuration;\n }\n function addUnfilteredChildrenIDs(parentInstance, nextChildren) {\n let child = parentInstance.firstChild;\n while (child !== null) {\n if (child.kind === FILTERED_FIBER_INSTANCE) {\n const fiber = child.data;\n if (isHiddenOffscreen(fiber)) {} else {\n addUnfilteredChildrenIDs(child, nextChildren);\n }\n } else {\n nextChildren.push(child.id);\n }\n child = child.nextSibling;\n }\n }\n function recordResetChildren(parentInstance) {\n if (__DEBUG__) {\n if (parentInstance.firstChild !== null) {\n debug('recordResetChildren()', parentInstance.firstChild, parentInstance);\n }\n }\n const nextChildren = [];\n addUnfilteredChildrenIDs(parentInstance, nextChildren);\n const numChildren = nextChildren.length;\n if (numChildren < 2) {\n return;\n }\n pushOperation(TREE_OPERATION_REORDER_CHILDREN);\n pushOperation(parentInstance.id);\n pushOperation(numChildren);\n for (let i = 0; i < nextChildren.length; i++) {\n pushOperation(nextChildren[i]);\n }\n }\n function addUnfilteredSuspenseChildrenIDs(parentInstance, nextChildren) {\n let child = parentInstance.firstChild;\n while (child !== null) {\n if (child.instance.kind === FILTERED_FIBER_INSTANCE) {\n addUnfilteredSuspenseChildrenIDs(child, nextChildren);\n } else {\n nextChildren.push(child.instance.id);\n }\n child = child.nextSibling;\n }\n }\n function recordResetSuspenseChildren(parentInstance) {\n if (__DEBUG__) {\n if (parentInstance.firstChild !== null) {\n console.log('recordResetSuspenseChildren()', parentInstance.firstChild, parentInstance);\n }\n }\n const nextChildren = [];\n addUnfilteredSuspenseChildrenIDs(parentInstance, nextChildren);\n const numChildren = nextChildren.length;\n if (numChildren < 2) {\n return;\n }\n pushOperation(SUSPENSE_TREE_OPERATION_REORDER_CHILDREN);\n pushOperation(parentInstance.instance.id);\n pushOperation(numChildren);\n for (let i = 0; i < nextChildren.length; i++) {\n pushOperation(nextChildren[i]);\n }\n }\n function updateVirtualInstanceRecursively(virtualInstance, nextFirstChild, nextLastChild, prevFirstChild, traceNearestHostComponentUpdate, virtualLevel) {\n const stashedParent = reconcilingParent;\n const stashedPrevious = previouslyReconciledSibling;\n const stashedRemaining = remainingReconcilingChildren;\n const previousSuspendedBy = virtualInstance.suspendedBy;\n reconcilingParent = virtualInstance;\n previouslyReconciledSibling = null;\n remainingReconcilingChildren = virtualInstance.firstChild;\n virtualInstance.firstChild = null;\n virtualInstance.suspendedBy = null;\n try {\n let updateFlags = updateVirtualChildrenRecursively(nextFirstChild, nextLastChild, prevFirstChild, traceNearestHostComponentUpdate, virtualLevel + 1);\n if ((updateFlags & ShouldResetChildren) !== NoUpdate) {\n if (!isInDisconnectedSubtree) {\n recordResetChildren(virtualInstance);\n }\n updateFlags &= ~ShouldResetChildren;\n }\n removePreviousSuspendedBy(virtualInstance, previousSuspendedBy, reconcilingParentSuspenseNode);\n const componentLogsEntry = componentInfoToComponentLogsMap.get(virtualInstance.data);\n recordConsoleLogs(virtualInstance, componentLogsEntry);\n recordVirtualProfilingDurations(virtualInstance);\n return updateFlags;\n } finally {\n unmountRemainingChildren();\n reconcilingParent = stashedParent;\n previouslyReconciledSibling = stashedPrevious;\n remainingReconcilingChildren = stashedRemaining;\n }\n }\n function updateVirtualChildrenRecursively(nextFirstChild, nextLastChild, prevFirstChild, traceNearestHostComponentUpdate, virtualLevel) {\n let updateFlags = NoUpdate;\n let nextChild = nextFirstChild;\n let prevChildAtSameIndex = prevFirstChild;\n let previousVirtualInstance = null;\n let previousVirtualInstanceWasMount = false;\n let previousVirtualInstanceNextFirstFiber = nextFirstChild;\n let previousVirtualInstancePrevFirstFiber = prevFirstChild;\n while (nextChild !== null && nextChild !== nextLastChild) {\n let level = 0;\n if (nextChild._debugInfo) {\n for (let i = 0; i < nextChild._debugInfo.length; i++) {\n const debugEntry = nextChild._debugInfo[i];\n if (debugEntry.awaited) {\n const asyncInfo = debugEntry;\n if (level === virtualLevel) {\n insertSuspendedBy(asyncInfo);\n }\n continue;\n }\n if (typeof debugEntry.name !== 'string') {\n continue;\n }\n const componentInfo = debugEntry;\n const secondaryEnv = getSecondaryEnvironmentName(nextChild._debugInfo, i);\n if (componentInfo.env != null) {\n knownEnvironmentNames.add(componentInfo.env);\n }\n if (secondaryEnv !== null) {\n knownEnvironmentNames.add(secondaryEnv);\n }\n if (shouldFilterVirtual(componentInfo, secondaryEnv)) {\n continue;\n }\n if (level === virtualLevel) {\n if (previousVirtualInstance === null || previousVirtualInstance.data !== componentInfo) {\n if (previousVirtualInstance !== null) {\n if (previousVirtualInstanceWasMount) {\n mountVirtualInstanceRecursively(previousVirtualInstance, previousVirtualInstanceNextFirstFiber, nextChild, traceNearestHostComponentUpdate, virtualLevel);\n updateFlags |= ShouldResetChildren | ShouldResetSuspenseChildren;\n } else {\n updateFlags |= updateVirtualInstanceRecursively(previousVirtualInstance, previousVirtualInstanceNextFirstFiber, nextChild, previousVirtualInstancePrevFirstFiber, traceNearestHostComponentUpdate, virtualLevel);\n }\n }\n let previousSiblingOfBestMatch = null;\n let bestMatch = remainingReconcilingChildren;\n if (componentInfo.key != null) {\n bestMatch = remainingReconcilingChildren;\n while (bestMatch !== null) {\n if (bestMatch.kind === VIRTUAL_INSTANCE && bestMatch.data.key === componentInfo.key) {\n break;\n }\n previousSiblingOfBestMatch = bestMatch;\n bestMatch = bestMatch.nextSibling;\n }\n }\n if (bestMatch !== null && bestMatch.kind === VIRTUAL_INSTANCE && bestMatch.data.name === componentInfo.name && bestMatch.data.env === componentInfo.env && bestMatch.data.key === componentInfo.key) {\n bestMatch.data = componentInfo;\n moveChild(bestMatch, previousSiblingOfBestMatch);\n previousVirtualInstance = bestMatch;\n previousVirtualInstanceWasMount = false;\n } else {\n const newVirtualInstance = createVirtualInstance(componentInfo);\n recordVirtualMount(newVirtualInstance, reconcilingParent, secondaryEnv);\n insertChild(newVirtualInstance);\n previousVirtualInstance = newVirtualInstance;\n previousVirtualInstanceWasMount = true;\n updateFlags |= ShouldResetChildren;\n }\n previousVirtualInstanceNextFirstFiber = nextChild;\n previousVirtualInstancePrevFirstFiber = prevChildAtSameIndex;\n }\n level++;\n break;\n } else {\n level++;\n }\n }\n }\n if (level === virtualLevel) {\n if (previousVirtualInstance !== null) {\n if (previousVirtualInstanceWasMount) {\n mountVirtualInstanceRecursively(previousVirtualInstance, previousVirtualInstanceNextFirstFiber, nextChild, traceNearestHostComponentUpdate, virtualLevel);\n updateFlags |= ShouldResetChildren | ShouldResetSuspenseChildren;\n } else {\n updateFlags |= updateVirtualInstanceRecursively(previousVirtualInstance, previousVirtualInstanceNextFirstFiber, nextChild, previousVirtualInstancePrevFirstFiber, traceNearestHostComponentUpdate, virtualLevel);\n }\n previousVirtualInstance = null;\n }\n let prevChild;\n if (prevChildAtSameIndex === nextChild) {\n prevChild = nextChild;\n } else {\n prevChild = nextChild.alternate;\n }\n let previousSiblingOfExistingInstance = null;\n let existingInstance = null;\n if (prevChild !== null) {\n existingInstance = remainingReconcilingChildren;\n while (existingInstance !== null) {\n if (existingInstance.data === prevChild) {\n break;\n }\n previousSiblingOfExistingInstance = existingInstance;\n existingInstance = existingInstance.nextSibling;\n }\n }\n if (existingInstance !== null) {\n const fiberInstance = existingInstance;\n if (prevChild !== prevChildAtSameIndex) {\n updateFlags |= ShouldResetChildren | ShouldResetSuspenseChildren;\n }\n moveChild(fiberInstance, previousSiblingOfExistingInstance);\n updateFlags |= updateFiberRecursively(fiberInstance, nextChild, prevChild, traceNearestHostComponentUpdate);\n } else if (prevChild !== null && shouldFilterFiber(nextChild)) {\n if (prevChild !== prevChildAtSameIndex) {\n updateFlags |= ShouldResetChildren | ShouldResetSuspenseChildren;\n }\n updateFlags |= updateFiberRecursively(null, nextChild, prevChild, traceNearestHostComponentUpdate);\n } else {\n mountFiberRecursively(nextChild, traceNearestHostComponentUpdate);\n updateFlags |= ShouldResetChildren | ShouldResetSuspenseChildren;\n }\n }\n nextChild = nextChild.sibling;\n if ((updateFlags & ShouldResetChildren) === NoUpdate && prevChildAtSameIndex !== null) {\n prevChildAtSameIndex = prevChildAtSameIndex.sibling;\n }\n }\n if (previousVirtualInstance !== null) {\n if (previousVirtualInstanceWasMount) {\n mountVirtualInstanceRecursively(previousVirtualInstance, previousVirtualInstanceNextFirstFiber, null, traceNearestHostComponentUpdate, virtualLevel);\n updateFlags |= ShouldResetChildren | ShouldResetSuspenseChildren;\n } else {\n updateFlags |= updateVirtualInstanceRecursively(previousVirtualInstance, previousVirtualInstanceNextFirstFiber, null, previousVirtualInstancePrevFirstFiber, traceNearestHostComponentUpdate, virtualLevel);\n }\n }\n if (prevChildAtSameIndex !== null) {\n updateFlags |= ShouldResetChildren | ShouldResetSuspenseChildren;\n }\n return updateFlags;\n }\n function updateChildrenRecursively(nextFirstChild, prevFirstChild, traceNearestHostComponentUpdate) {\n if (nextFirstChild === null) {\n return prevFirstChild !== null ? ShouldResetChildren : NoUpdate;\n }\n return updateVirtualChildrenRecursively(nextFirstChild, null, prevFirstChild, traceNearestHostComponentUpdate, 0);\n }\n function updateSuspenseChildrenRecursively(nextContentFiber, prevContentFiber, traceNearestHostComponentUpdate, stashedSuspenseParent, stashedSuspensePrevious, stashedSuspenseRemaining) {\n let updateFlags = NoUpdate;\n const prevFallbackFiber = prevContentFiber.sibling;\n const nextFallbackFiber = nextContentFiber.sibling;\n updateFlags |= updateVirtualChildrenRecursively(nextContentFiber, nextFallbackFiber, prevContentFiber, traceNearestHostComponentUpdate, 0);\n reconcilingParentSuspenseNode = stashedSuspenseParent;\n previouslyReconciledSiblingSuspenseNode = stashedSuspensePrevious;\n remainingReconcilingChildrenSuspenseNodes = stashedSuspenseRemaining;\n if (prevFallbackFiber !== null || nextFallbackFiber !== null) {\n if (nextFallbackFiber === null) {\n unmountRemainingChildren();\n } else {\n updateFlags |= updateVirtualChildrenRecursively(nextFallbackFiber, null, prevFallbackFiber, traceNearestHostComponentUpdate, 0);\n if ((updateFlags & ShouldResetSuspenseChildren) !== NoUpdate) {\n updateFlags |= ShouldResetParentSuspenseChildren;\n updateFlags &= ~ShouldResetSuspenseChildren;\n }\n }\n }\n return updateFlags;\n }\n function updateFiberRecursively(fiberInstance, nextFiber, prevFiber, traceNearestHostComponentUpdate) {\n if (__DEBUG__) {\n if (fiberInstance !== null) {\n debug('updateFiberRecursively()', fiberInstance, reconcilingParent);\n }\n }\n if (traceUpdatesEnabled) {\n const elementType = getElementTypeForFiber(nextFiber);\n if (traceNearestHostComponentUpdate) {\n if (elementType === ElementTypeHostComponent) {\n traceUpdatesForNodes.add(nextFiber.stateNode);\n traceNearestHostComponentUpdate = false;\n }\n } else {\n if (elementType === types_ElementTypeFunction || elementType === types_ElementTypeClass || elementType === ElementTypeContext || elementType === types_ElementTypeMemo || elementType === types_ElementTypeForwardRef) {\n traceNearestHostComponentUpdate = didFiberRender(prevFiber, nextFiber);\n }\n }\n }\n const stashedParent = reconcilingParent;\n const stashedPrevious = previouslyReconciledSibling;\n const stashedRemaining = remainingReconcilingChildren;\n const stashedSuspenseParent = reconcilingParentSuspenseNode;\n const stashedSuspensePrevious = previouslyReconciledSiblingSuspenseNode;\n const stashedSuspenseRemaining = remainingReconcilingChildrenSuspenseNodes;\n let updateFlags = NoUpdate;\n let shouldMeasureSuspenseNode = false;\n let shouldPopSuspenseNode = false;\n let previousSuspendedBy = null;\n if (fiberInstance !== null) {\n previousSuspendedBy = fiberInstance.suspendedBy;\n fiberInstance.data = nextFiber;\n if (mostRecentlyInspectedElement !== null && (mostRecentlyInspectedElement.id === fiberInstance.id || mostRecentlyInspectedElement.type === ElementTypeRoot && nextFiber.tag === HostRoot) && didFiberRender(prevFiber, nextFiber)) {\n hasElementUpdatedSinceLastInspected = true;\n }\n reconcilingParent = fiberInstance;\n previouslyReconciledSibling = null;\n remainingReconcilingChildren = fiberInstance.firstChild;\n fiberInstance.firstChild = null;\n fiberInstance.suspendedBy = null;\n const suspenseNode = fiberInstance.suspenseNode;\n if (suspenseNode !== null) {\n reconcilingParentSuspenseNode = suspenseNode;\n previouslyReconciledSiblingSuspenseNode = null;\n remainingReconcilingChildrenSuspenseNodes = suspenseNode.firstChild;\n suspenseNode.firstChild = null;\n shouldMeasureSuspenseNode = true;\n shouldPopSuspenseNode = true;\n }\n }\n try {\n trackDebugInfoFromLazyType(nextFiber);\n trackDebugInfoFromUsedThenables(nextFiber);\n if (nextFiber.tag === HostHoistable) {\n const nearestInstance = reconcilingParent;\n if (nearestInstance === null) {\n throw new Error('Did not expect a host hoistable to be the root');\n }\n if (prevFiber.memoizedState !== nextFiber.memoizedState) {\n releaseHostResource(nearestInstance, prevFiber.memoizedState);\n aquireHostResource(nearestInstance, nextFiber.memoizedState);\n }\n trackDebugInfoFromHostResource(nearestInstance, nextFiber);\n } else if (nextFiber.tag === HostComponent || nextFiber.tag === HostText || nextFiber.tag === HostSingleton) {\n const nearestInstance = reconcilingParent;\n if (nearestInstance === null) {\n throw new Error('Did not expect a host hoistable to be the root');\n }\n if (prevFiber.stateNode !== nextFiber.stateNode) {\n releaseHostInstance(nearestInstance, prevFiber.stateNode);\n aquireHostInstance(nearestInstance, nextFiber.stateNode);\n }\n trackDebugInfoFromHostComponent(nearestInstance, nextFiber);\n }\n const isLegacySuspense = nextFiber.tag === SuspenseComponent && OffscreenComponent === -1;\n const prevDidTimeout = isLegacySuspense && prevFiber.memoizedState !== null;\n const nextDidTimeOut = isLegacySuspense && nextFiber.memoizedState !== null;\n const prevWasHidden = isHiddenOffscreen(prevFiber);\n const nextIsHidden = isHiddenOffscreen(nextFiber);\n const prevWasSuspended = isSuspendedOffscreen(prevFiber);\n const nextIsSuspended = isSuspendedOffscreen(nextFiber);\n if (isLegacySuspense) {\n if (fiberInstance !== null && fiberInstance.suspenseNode !== null) {\n const suspenseNode = fiberInstance.suspenseNode;\n if (prevFiber.stateNode === null !== (nextFiber.stateNode === null)) {\n trackThrownPromisesFromRetryCache(suspenseNode, nextFiber.stateNode);\n }\n if (prevFiber.memoizedState === null !== (nextFiber.memoizedState === null)) {\n recordSuspenseSuspenders(suspenseNode);\n }\n }\n }\n if (prevDidTimeout && nextDidTimeOut) {\n const nextFiberChild = nextFiber.child;\n const nextFallbackChildSet = nextFiberChild ? nextFiberChild.sibling : null;\n const prevFiberChild = prevFiber.child;\n const prevFallbackChildSet = prevFiberChild ? prevFiberChild.sibling : null;\n if (prevFallbackChildSet == null && nextFallbackChildSet != null) {\n mountChildrenRecursively(nextFallbackChildSet, traceNearestHostComponentUpdate);\n updateFlags |= ShouldResetChildren | ShouldResetSuspenseChildren;\n }\n const childrenUpdateFlags = nextFallbackChildSet != null && prevFallbackChildSet != null ? updateChildrenRecursively(nextFallbackChildSet, prevFallbackChildSet, traceNearestHostComponentUpdate) : NoUpdate;\n updateFlags |= childrenUpdateFlags;\n } else if (prevDidTimeout && !nextDidTimeOut) {\n const nextPrimaryChildSet = nextFiber.child;\n if (nextPrimaryChildSet !== null) {\n mountChildrenRecursively(nextPrimaryChildSet, traceNearestHostComponentUpdate);\n updateFlags |= ShouldResetChildren | ShouldResetSuspenseChildren;\n }\n } else if (!prevDidTimeout && nextDidTimeOut) {\n const nextFiberChild = nextFiber.child;\n const nextFallbackChildSet = nextFiberChild ? nextFiberChild.sibling : null;\n if (nextFallbackChildSet != null) {\n mountChildrenRecursively(nextFallbackChildSet, traceNearestHostComponentUpdate);\n updateFlags |= ShouldResetChildren | ShouldResetSuspenseChildren;\n }\n } else if (nextIsSuspended) {\n if (!prevWasSuspended) {\n if (fiberInstance !== null && !isInDisconnectedSubtree) {\n disconnectChildrenRecursively(remainingReconcilingChildren);\n }\n }\n const stashedDisconnected = isInDisconnectedSubtree;\n isInDisconnectedSubtree = true;\n try {\n updateFlags |= updateChildrenRecursively(nextFiber.child, prevFiber.child, false);\n } finally {\n isInDisconnectedSubtree = stashedDisconnected;\n }\n } else if (prevWasSuspended && !nextIsSuspended) {\n const stashedDisconnected = isInDisconnectedSubtree;\n isInDisconnectedSubtree = true;\n try {\n if (nextFiber.child !== null) {\n updateFlags |= updateChildrenRecursively(nextFiber.child, prevFiber.child, false);\n }\n unmountRemainingChildren();\n remainingReconcilingChildren = null;\n } finally {\n isInDisconnectedSubtree = stashedDisconnected;\n }\n if (fiberInstance !== null && !isInDisconnectedSubtree) {\n reconnectChildrenRecursively(fiberInstance);\n updateFlags |= ShouldResetChildren | ShouldResetSuspenseChildren;\n }\n } else if (nextIsHidden) {\n if (prevWasHidden) {} else {\n unmountRemainingChildren();\n }\n } else if (nextFiber.tag === SuspenseComponent && OffscreenComponent !== -1 && fiberInstance !== null && fiberInstance.suspenseNode !== null) {\n const suspenseNode = fiberInstance.suspenseNode;\n const prevContentFiber = prevFiber.child;\n const nextContentFiber = nextFiber.child;\n const previousHydrated = isFiberHydrated(prevFiber);\n const nextHydrated = isFiberHydrated(nextFiber);\n if (previousHydrated && nextHydrated) {\n if (nextContentFiber === null || prevContentFiber === null) {\n throw new Error('There should always be an Offscreen Fiber child in a hydrated Suspense boundary.');\n }\n if (prevFiber.stateNode === null !== (nextFiber.stateNode === null)) {\n trackThrownPromisesFromRetryCache(suspenseNode, nextFiber.stateNode);\n }\n if (prevFiber.memoizedState === null !== (nextFiber.memoizedState === null)) {\n recordSuspenseSuspenders(suspenseNode);\n }\n shouldMeasureSuspenseNode = false;\n updateFlags |= updateSuspenseChildrenRecursively(nextContentFiber, prevContentFiber, traceNearestHostComponentUpdate, stashedSuspenseParent, stashedSuspensePrevious, stashedSuspenseRemaining);\n shouldPopSuspenseNode = false;\n if (nextFiber.memoizedState === null) {\n shouldMeasureSuspenseNode = !isInDisconnectedSubtree;\n }\n } else if (!previousHydrated && nextHydrated) {\n if (nextContentFiber === null) {\n throw new Error('There should always be an Offscreen Fiber child in a hydrated Suspense boundary.');\n }\n trackThrownPromisesFromRetryCache(suspenseNode, nextFiber.stateNode);\n recordSuspenseSuspenders(suspenseNode);\n mountSuspenseChildrenRecursively(nextContentFiber, traceNearestHostComponentUpdate, stashedSuspenseParent, stashedSuspensePrevious, stashedSuspenseRemaining);\n shouldPopSuspenseNode = false;\n } else if (previousHydrated && !nextHydrated) {\n throw new Error('Encountered a dehydrated Suspense boundary that was previously hydrated.');\n } else {}\n } else {\n if (nextFiber.child !== prevFiber.child) {\n updateFlags |= updateChildrenRecursively(nextFiber.child, prevFiber.child, traceNearestHostComponentUpdate);\n } else {\n if (fiberInstance !== null) {\n fiberInstance.firstChild = remainingReconcilingChildren;\n remainingReconcilingChildren = null;\n consumeSuspenseNodesOfExistingInstance(fiberInstance);\n if (traceUpdatesEnabled) {\n if (traceNearestHostComponentUpdate) {\n const hostInstances = findAllCurrentHostInstances(fiberInstance);\n hostInstances.forEach(hostInstance => {\n traceUpdatesForNodes.add(hostInstance);\n });\n }\n }\n } else {\n const childrenUpdateFlags = updateChildrenRecursively(nextFiber.child, prevFiber.child, false);\n if ((childrenUpdateFlags & ShouldResetChildren) !== NoUpdate) {\n throw new Error('The children should not have changed if we pass in the same set.');\n }\n updateFlags |= childrenUpdateFlags;\n }\n }\n }\n if (fiberInstance !== null) {\n removePreviousSuspendedBy(fiberInstance, previousSuspendedBy, shouldPopSuspenseNode ? reconcilingParentSuspenseNode : stashedSuspenseParent);\n if (fiberInstance.kind === FIBER_INSTANCE) {\n let componentLogsEntry = fiberToComponentLogsMap.get(fiberInstance.data);\n if (componentLogsEntry === undefined && fiberInstance.data.alternate) {\n componentLogsEntry = fiberToComponentLogsMap.get(fiberInstance.data.alternate);\n }\n recordConsoleLogs(fiberInstance, componentLogsEntry);\n const isProfilingSupported = nextFiber.hasOwnProperty('treeBaseDuration');\n if (isProfilingSupported) {\n recordProfilingDurations(fiberInstance, prevFiber);\n }\n }\n }\n if ((updateFlags & ShouldResetChildren) !== NoUpdate) {\n if (fiberInstance !== null && fiberInstance.kind === FIBER_INSTANCE) {\n if (!nextIsSuspended && !isInDisconnectedSubtree) {\n recordResetChildren(fiberInstance);\n }\n updateFlags &= ~ShouldResetChildren;\n } else {}\n } else {}\n if ((updateFlags & ShouldResetSuspenseChildren) !== NoUpdate) {\n if (fiberInstance !== null && fiberInstance.kind === FIBER_INSTANCE) {\n const suspenseNode = fiberInstance.suspenseNode;\n if (suspenseNode !== null) {\n recordResetSuspenseChildren(suspenseNode);\n updateFlags &= ~ShouldResetSuspenseChildren;\n }\n } else {}\n }\n if ((updateFlags & ShouldResetParentSuspenseChildren) !== NoUpdate) {\n if (fiberInstance !== null && fiberInstance.kind === FIBER_INSTANCE) {\n const suspenseNode = fiberInstance.suspenseNode;\n if (suspenseNode !== null) {\n updateFlags &= ~ShouldResetParentSuspenseChildren;\n updateFlags |= ShouldResetSuspenseChildren;\n }\n } else {}\n }\n return updateFlags;\n } finally {\n if (fiberInstance !== null) {\n unmountRemainingChildren();\n reconcilingParent = stashedParent;\n previouslyReconciledSibling = stashedPrevious;\n remainingReconcilingChildren = stashedRemaining;\n if (shouldMeasureSuspenseNode) {\n if (!isInDisconnectedSubtree) {\n const suspenseNode = fiberInstance.suspenseNode;\n if (suspenseNode === null) {\n throw new Error('Attempted to measure a Suspense node that does not exist.');\n }\n const prevRects = suspenseNode.rects;\n const nextRects = measureInstance(fiberInstance);\n if (!areEqualRects(prevRects, nextRects)) {\n suspenseNode.rects = nextRects;\n recordSuspenseResize(suspenseNode);\n }\n }\n }\n if (shouldPopSuspenseNode) {\n reconcilingParentSuspenseNode = stashedSuspenseParent;\n previouslyReconciledSiblingSuspenseNode = stashedSuspensePrevious;\n remainingReconcilingChildrenSuspenseNodes = stashedSuspenseRemaining;\n }\n }\n }\n }\n function disconnectChildrenRecursively(firstChild) {\n for (let child = firstChild; child !== null; child = child.nextSibling) {\n if ((child.kind === FIBER_INSTANCE || child.kind === FILTERED_FIBER_INSTANCE) && isSuspendedOffscreen(child.data)) {} else {\n disconnectChildrenRecursively(child.firstChild);\n }\n if (child.kind === FIBER_INSTANCE) {\n recordDisconnect(child);\n } else if (child.kind === VIRTUAL_INSTANCE) {\n recordVirtualDisconnect(child);\n }\n }\n }\n function reconnectChildrenRecursively(parentInstance) {\n for (let child = parentInstance.firstChild; child !== null; child = child.nextSibling) {\n if (child.kind === FIBER_INSTANCE) {\n recordReconnect(child, parentInstance);\n } else if (child.kind === VIRTUAL_INSTANCE) {\n const secondaryEnv = null;\n recordVirtualReconnect(child, parentInstance, secondaryEnv);\n }\n if ((child.kind === FIBER_INSTANCE || child.kind === FILTERED_FIBER_INSTANCE) && isHiddenOffscreen(child.data)) {} else {\n reconnectChildrenRecursively(child);\n }\n }\n }\n function cleanup() {\n isProfiling = false;\n }\n function rootSupportsProfiling(root) {\n if (root.memoizedInteractions != null) {\n return true;\n } else if (root.current != null && root.current.hasOwnProperty('treeBaseDuration')) {\n return true;\n } else {\n return false;\n }\n }\n function flushInitialOperations() {\n const localPendingOperationsQueue = pendingOperationsQueue;\n pendingOperationsQueue = null;\n if (localPendingOperationsQueue !== null && localPendingOperationsQueue.length > 0) {\n localPendingOperationsQueue.forEach(operations => {\n hook.emit('operations', operations);\n });\n } else {\n if (trackedPath !== null) {\n mightBeOnTrackedPath = true;\n }\n hook.getFiberRoots(rendererID).forEach(root => {\n const current = root.current;\n const newRoot = createFiberInstance(current);\n rootToFiberInstanceMap.set(root, newRoot);\n idToDevToolsInstanceMap.set(newRoot.id, newRoot);\n currentRoot = newRoot;\n setRootPseudoKey(currentRoot.id, root.current);\n if (isProfiling && rootSupportsProfiling(root)) {\n currentCommitProfilingMetadata = {\n changeDescriptions: recordChangeDescriptions ? new Map() : null,\n durations: [],\n commitTime: renderer_getCurrentTime() - profilingStartTime,\n maxActualDuration: 0,\n priorityLevel: null,\n updaters: null,\n effectDuration: null,\n passiveEffectDuration: null\n };\n }\n mountFiberRecursively(root.current, false);\n flushPendingEvents();\n needsToFlushComponentLogs = false;\n currentRoot = null;\n });\n }\n }\n function handleCommitFiberUnmount(fiber) {}\n function handlePostCommitFiberRoot(root) {\n if (isProfiling && rootSupportsProfiling(root)) {\n if (currentCommitProfilingMetadata !== null) {\n const {\n effectDuration,\n passiveEffectDuration\n } = getEffectDurations(root);\n currentCommitProfilingMetadata.effectDuration = effectDuration;\n currentCommitProfilingMetadata.passiveEffectDuration = passiveEffectDuration;\n }\n }\n if (needsToFlushComponentLogs) {\n bruteForceFlushErrorsAndWarnings();\n }\n }\n function handleCommitFiberRoot(root, priorityLevel) {\n const nextFiber = root.current;\n let prevFiber = null;\n let rootInstance = rootToFiberInstanceMap.get(root);\n if (!rootInstance) {\n rootInstance = createFiberInstance(nextFiber);\n rootToFiberInstanceMap.set(root, rootInstance);\n idToDevToolsInstanceMap.set(rootInstance.id, rootInstance);\n } else {\n prevFiber = rootInstance.data;\n }\n currentRoot = rootInstance;\n if (trackedPath !== null) {\n mightBeOnTrackedPath = true;\n }\n if (traceUpdatesEnabled) {\n traceUpdatesForNodes.clear();\n }\n const isProfilingSupported = rootSupportsProfiling(root);\n if (isProfiling && isProfilingSupported) {\n currentCommitProfilingMetadata = {\n changeDescriptions: recordChangeDescriptions ? new Map() : null,\n durations: [],\n commitTime: renderer_getCurrentTime() - profilingStartTime,\n maxActualDuration: 0,\n priorityLevel: priorityLevel == null ? null : formatPriorityLevel(priorityLevel),\n updaters: null,\n effectDuration: null,\n passiveEffectDuration: null\n };\n }\n const nextIsMounted = nextFiber.child !== null;\n const prevWasMounted = prevFiber !== null && prevFiber.child !== null;\n if (!prevWasMounted && nextIsMounted) {\n setRootPseudoKey(currentRoot.id, nextFiber);\n mountFiberRecursively(nextFiber, false);\n } else if (prevWasMounted && nextIsMounted) {\n if (prevFiber === null) {\n throw new Error('Expected a previous Fiber when updating an existing root.');\n }\n updateFiberRecursively(rootInstance, nextFiber, prevFiber, false);\n } else if (prevWasMounted && !nextIsMounted) {\n unmountInstanceRecursively(rootInstance);\n removeRootPseudoKey(currentRoot.id);\n rootToFiberInstanceMap.delete(root);\n } else if (!prevWasMounted && !nextIsMounted) {\n rootToFiberInstanceMap.delete(root);\n }\n if (isProfiling && isProfilingSupported) {\n if (!shouldBailoutWithPendingOperations()) {\n const commitProfilingMetadata = rootToCommitProfilingMetadataMap.get(currentRoot.id);\n if (commitProfilingMetadata != null) {\n commitProfilingMetadata.push(currentCommitProfilingMetadata);\n } else {\n rootToCommitProfilingMetadataMap.set(currentRoot.id, [currentCommitProfilingMetadata]);\n }\n }\n }\n flushPendingEvents();\n needsToFlushComponentLogs = false;\n if (traceUpdatesEnabled) {\n hook.emit('traceUpdates', traceUpdatesForNodes);\n }\n currentRoot = null;\n }\n function getResourceInstance(fiber) {\n if (fiber.tag === HostHoistable) {\n const resource = fiber.memoizedState;\n if (typeof resource === 'object' && resource !== null && resource.instance != null) {\n return resource.instance;\n }\n }\n return null;\n }\n function appendHostInstancesByDevToolsInstance(devtoolsInstance, hostInstances) {\n if (devtoolsInstance.kind !== VIRTUAL_INSTANCE) {\n const fiber = devtoolsInstance.data;\n appendHostInstancesByFiber(fiber, hostInstances);\n return;\n }\n for (let child = devtoolsInstance.firstChild; child !== null; child = child.nextSibling) {\n appendHostInstancesByDevToolsInstance(child, hostInstances);\n }\n }\n function appendHostInstancesByFiber(fiber, hostInstances) {\n let node = fiber;\n while (true) {\n if (node.tag === HostComponent || node.tag === HostText || node.tag === HostSingleton || node.tag === HostHoistable) {\n const hostInstance = node.stateNode || getResourceInstance(node);\n if (hostInstance) {\n hostInstances.push(hostInstance);\n }\n } else if (node.child) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n if (node === fiber) {\n return;\n }\n while (!node.sibling) {\n if (!node.return || node.return === fiber) {\n return;\n }\n node = node.return;\n }\n node.sibling.return = node.return;\n node = node.sibling;\n }\n }\n function findAllCurrentHostInstances(devtoolsInstance) {\n const hostInstances = [];\n appendHostInstancesByDevToolsInstance(devtoolsInstance, hostInstances);\n return hostInstances;\n }\n function findHostInstancesForElementID(id) {\n try {\n const devtoolsInstance = idToDevToolsInstanceMap.get(id);\n if (devtoolsInstance === undefined) {\n console.warn(`Could not find DevToolsInstance with id \"${id}\"`);\n return null;\n }\n return findAllCurrentHostInstances(devtoolsInstance);\n } catch (err) {\n return null;\n }\n }\n function findLastKnownRectsForID(id) {\n try {\n const devtoolsInstance = idToDevToolsInstanceMap.get(id);\n if (devtoolsInstance === undefined) {\n console.warn(`Could not find DevToolsInstance with id \"${id}\"`);\n return null;\n }\n if (devtoolsInstance.suspenseNode === null) {\n return null;\n }\n return devtoolsInstance.suspenseNode.rects;\n } catch (err) {\n return null;\n }\n }\n function getDisplayNameForElementID(id) {\n const devtoolsInstance = idToDevToolsInstanceMap.get(id);\n if (devtoolsInstance === undefined) {\n return null;\n }\n if (devtoolsInstance.kind === FIBER_INSTANCE) {\n const fiber = devtoolsInstance.data;\n if (fiber.tag === HostRoot) {\n return 'Initial Paint';\n }\n if (fiber.tag === SuspenseComponent || fiber.tag === ActivityComponent) {\n const props = fiber.memoizedProps;\n if (props.name != null) {\n return props.name;\n }\n const owner = getUnfilteredOwner(fiber);\n if (owner != null) {\n if (typeof owner.tag === 'number') {\n return getDisplayNameForFiber(owner);\n } else {\n return owner.name || '';\n }\n }\n }\n return getDisplayNameForFiber(fiber);\n } else {\n return devtoolsInstance.data.name || '';\n }\n }\n function getNearestSuspenseNode(instance) {\n while (instance.suspenseNode === null) {\n if (instance.parent === null) {\n throw new Error('There should always be a SuspenseNode parent on a mounted instance.');\n }\n instance = instance.parent;\n }\n return instance.suspenseNode;\n }\n function getNearestMountedDOMNode(publicInstance) {\n let domNode = publicInstance;\n while (domNode && !publicInstanceToDevToolsInstanceMap.has(domNode)) {\n domNode = domNode.parentNode;\n }\n return domNode;\n }\n function getElementIDForHostInstance(publicInstance) {\n const instance = publicInstanceToDevToolsInstanceMap.get(publicInstance);\n if (instance !== undefined) {\n if (instance.kind === FILTERED_FIBER_INSTANCE) {\n return instance.parent.id;\n }\n return instance.id;\n }\n return null;\n }\n function getSuspenseNodeIDForHostInstance(publicInstance) {\n const instance = publicInstanceToDevToolsInstanceMap.get(publicInstance);\n if (instance !== undefined) {\n let suspenseInstance = instance;\n while (suspenseInstance.suspenseNode === null || suspenseInstance.kind === FILTERED_FIBER_INSTANCE) {\n if (suspenseInstance.parent === null) {\n return null;\n }\n suspenseInstance = suspenseInstance.parent;\n }\n return suspenseInstance.id;\n }\n return null;\n }\n function getElementAttributeByPath(id, path) {\n if (isMostRecentlyInspectedElement(id)) {\n return utils_getInObject(mostRecentlyInspectedElement, path);\n }\n return undefined;\n }\n function getElementSourceFunctionById(id) {\n const devtoolsInstance = idToDevToolsInstanceMap.get(id);\n if (devtoolsInstance === undefined) {\n console.warn(`Could not find DevToolsInstance with id \"${id}\"`);\n return null;\n }\n if (devtoolsInstance.kind !== FIBER_INSTANCE) {\n return null;\n }\n const fiber = devtoolsInstance.data;\n const {\n elementType,\n tag,\n type\n } = fiber;\n switch (tag) {\n case ClassComponent:\n case IncompleteClassComponent:\n case IncompleteFunctionComponent:\n case IndeterminateComponent:\n case FunctionComponent:\n return type;\n case ForwardRef:\n return type.render;\n case MemoComponent:\n case SimpleMemoComponent:\n return elementType != null && elementType.type != null ? elementType.type : type;\n default:\n return null;\n }\n }\n function instanceToSerializedElement(instance) {\n if (instance.kind === FIBER_INSTANCE) {\n const fiber = instance.data;\n return {\n displayName: getDisplayNameForFiber(fiber) || 'Anonymous',\n id: instance.id,\n key: fiber.key,\n env: null,\n stack: fiber._debugOwner == null || fiber._debugStack == null ? null : parseStackTrace(fiber._debugStack, 1),\n type: getElementTypeForFiber(fiber)\n };\n } else {\n const componentInfo = instance.data;\n return {\n displayName: componentInfo.name || 'Anonymous',\n id: instance.id,\n key: componentInfo.key == null ? null : componentInfo.key,\n env: componentInfo.env == null ? null : componentInfo.env,\n stack: componentInfo.owner == null || componentInfo.debugStack == null ? null : parseStackTrace(componentInfo.debugStack, 1),\n type: types_ElementTypeVirtual\n };\n }\n }\n function getOwnersList(id) {\n const devtoolsInstance = idToDevToolsInstanceMap.get(id);\n if (devtoolsInstance === undefined) {\n console.warn(`Could not find DevToolsInstance with id \"${id}\"`);\n return null;\n }\n const self = instanceToSerializedElement(devtoolsInstance);\n const owners = getOwnersListFromInstance(devtoolsInstance);\n if (owners === null) {\n return [self];\n }\n owners.unshift(self);\n owners.reverse();\n return owners;\n }\n function getOwnersListFromInstance(instance) {\n let owner = getUnfilteredOwner(instance.data);\n if (owner === null) {\n return null;\n }\n const owners = [];\n let parentInstance = instance.parent;\n while (parentInstance !== null && owner !== null) {\n const ownerInstance = findNearestOwnerInstance(parentInstance, owner);\n if (ownerInstance !== null) {\n owners.push(instanceToSerializedElement(ownerInstance));\n owner = getUnfilteredOwner(owner);\n parentInstance = ownerInstance.parent;\n } else {\n break;\n }\n }\n return owners;\n }\n function getUnfilteredOwner(owner) {\n if (owner == null) {\n return null;\n }\n if (typeof owner.tag === 'number') {\n const ownerFiber = owner;\n owner = ownerFiber._debugOwner;\n } else {\n const ownerInfo = owner;\n owner = ownerInfo.owner;\n }\n while (owner) {\n if (typeof owner.tag === 'number') {\n const ownerFiber = owner;\n if (!shouldFilterFiber(ownerFiber)) {\n return ownerFiber;\n }\n owner = ownerFiber._debugOwner;\n } else {\n const ownerInfo = owner;\n if (!shouldFilterVirtual(ownerInfo, null)) {\n return ownerInfo;\n }\n owner = ownerInfo.owner;\n }\n }\n return null;\n }\n function findNearestOwnerInstance(parentInstance, owner) {\n if (owner == null) {\n return null;\n }\n while (parentInstance !== null) {\n if (parentInstance.data === owner || parentInstance.data === owner.alternate) {\n if (parentInstance.kind === FILTERED_FIBER_INSTANCE) {\n return null;\n }\n return parentInstance;\n }\n parentInstance = parentInstance.parent;\n }\n return null;\n }\n function inspectHooks(fiber) {\n const originalConsoleMethods = {};\n for (const method in console) {\n try {\n originalConsoleMethods[method] = console[method];\n console[method] = () => {};\n } catch (error) {}\n }\n try {\n return inspectHooksOfFiber(fiber, getDispatcherRef(renderer));\n } finally {\n for (const method in originalConsoleMethods) {\n try {\n console[method] = originalConsoleMethods[method];\n } catch (error) {}\n }\n }\n }\n function getSuspendedByOfSuspenseNode(suspenseNode, filterByChildInstance) {\n const result = [];\n if (!suspenseNode.hasUniqueSuspenders) {\n return result;\n }\n let hooksCacheKey = null;\n let hooksCache = null;\n const streamEntries = new Map();\n suspenseNode.suspendedBy.forEach((set, ioInfo) => {\n let parentNode = suspenseNode.parent;\n while (parentNode !== null) {\n if (parentNode.suspendedBy.has(ioInfo)) {\n return;\n }\n parentNode = parentNode.parent;\n }\n if (set.size === 0) {\n return;\n }\n let firstInstance = null;\n if (filterByChildInstance === null) {\n firstInstance = set.values().next().value;\n } else {\n for (const childInstance of set.values()) {\n if (firstInstance === null) {\n firstInstance = childInstance;\n }\n if (childInstance !== filterByChildInstance && !isChildOf(filterByChildInstance, childInstance, suspenseNode.instance)) {\n return;\n }\n }\n }\n if (firstInstance !== null && firstInstance.suspendedBy !== null) {\n const asyncInfo = getAwaitInSuspendedByFromIO(firstInstance.suspendedBy, ioInfo);\n if (asyncInfo !== null) {\n let hooks = null;\n if (asyncInfo.stack == null && asyncInfo.owner == null) {\n if (hooksCacheKey === firstInstance) {\n hooks = hooksCache;\n } else if (firstInstance.kind !== VIRTUAL_INSTANCE) {\n const fiber = firstInstance.data;\n if (fiber.dependencies && fiber.dependencies._debugThenableState) {\n hooksCacheKey = firstInstance;\n hooksCache = hooks = inspectHooks(fiber);\n }\n }\n }\n const newIO = asyncInfo.awaited;\n if ((newIO.name === 'RSC stream' || newIO.name === 'rsc stream') && newIO.value != null) {\n const streamPromise = newIO.value;\n const existingEntry = streamEntries.get(streamPromise);\n if (existingEntry === undefined) {\n streamEntries.set(streamPromise, {\n asyncInfo,\n instance: firstInstance,\n hooks\n });\n } else {\n const existingIO = existingEntry.asyncInfo.awaited;\n if (newIO !== existingIO && (newIO.byteSize !== undefined && existingIO.byteSize !== undefined && newIO.byteSize > existingIO.byteSize || newIO.end > existingIO.end)) {\n existingEntry.asyncInfo = asyncInfo;\n existingEntry.instance = firstInstance;\n existingEntry.hooks = hooks;\n }\n }\n } else {\n result.push(serializeAsyncInfo(asyncInfo, firstInstance, hooks));\n }\n }\n }\n });\n streamEntries.forEach(({\n asyncInfo,\n instance,\n hooks\n }) => {\n result.push(serializeAsyncInfo(asyncInfo, instance, hooks));\n });\n return result;\n }\n function getSuspendedByOfInstance(devtoolsInstance, hooks) {\n const suspendedBy = devtoolsInstance.suspendedBy;\n if (suspendedBy === null) {\n return [];\n }\n const foundIOEntries = new Set();\n const streamEntries = new Map();\n const result = [];\n for (let i = 0; i < suspendedBy.length; i++) {\n const asyncInfo = suspendedBy[i];\n const ioInfo = asyncInfo.awaited;\n if (foundIOEntries.has(ioInfo)) {\n continue;\n }\n foundIOEntries.add(ioInfo);\n if ((ioInfo.name === 'RSC stream' || ioInfo.name === 'rsc stream') && ioInfo.value != null) {\n const streamPromise = ioInfo.value;\n const existingEntry = streamEntries.get(streamPromise);\n if (existingEntry === undefined) {\n streamEntries.set(streamPromise, asyncInfo);\n } else {\n const existingIO = existingEntry.awaited;\n if (ioInfo !== existingIO && (ioInfo.byteSize !== undefined && existingIO.byteSize !== undefined && ioInfo.byteSize > existingIO.byteSize || ioInfo.end > existingIO.end)) {\n streamEntries.set(streamPromise, asyncInfo);\n }\n }\n } else {\n result.push(serializeAsyncInfo(asyncInfo, devtoolsInstance, hooks));\n }\n }\n streamEntries.forEach(asyncInfo => {\n result.push(serializeAsyncInfo(asyncInfo, devtoolsInstance, hooks));\n });\n return result;\n }\n function getSuspendedByOfInstanceSubtree(devtoolsInstance) {\n let suspenseParentInstance = devtoolsInstance;\n while (suspenseParentInstance.suspenseNode === null) {\n if (suspenseParentInstance.parent === null) {\n return [];\n }\n suspenseParentInstance = suspenseParentInstance.parent;\n }\n const suspenseNode = suspenseParentInstance.suspenseNode;\n return getSuspendedByOfSuspenseNode(suspenseNode, devtoolsInstance);\n }\n const FALLBACK_THROTTLE_MS = 300;\n function getSuspendedByRange(suspenseNode) {\n let min = Infinity;\n let max = -Infinity;\n suspenseNode.suspendedBy.forEach((_, ioInfo) => {\n if (ioInfo.end > max) {\n max = ioInfo.end;\n }\n if (ioInfo.start < min) {\n min = ioInfo.start;\n }\n });\n const parentSuspenseNode = suspenseNode.parent;\n if (parentSuspenseNode !== null) {\n let parentMax = -Infinity;\n parentSuspenseNode.suspendedBy.forEach((_, ioInfo) => {\n if (ioInfo.end > parentMax) {\n parentMax = ioInfo.end;\n }\n });\n const throttleTime = parentMax + FALLBACK_THROTTLE_MS;\n if (throttleTime > max) {\n max = throttleTime;\n }\n let startTime = max - FALLBACK_THROTTLE_MS;\n if (parentMax > startTime) {\n startTime = parentMax;\n }\n if (startTime < min) {\n min = startTime;\n }\n }\n if (min < Infinity && max > -Infinity) {\n return [min, max];\n }\n return null;\n }\n function getAwaitStackFromHooks(hooks, asyncInfo) {\n for (let i = 0; i < hooks.length; i++) {\n const node = hooks[i];\n const debugInfo = node.debugInfo;\n if (debugInfo != null && debugInfo.indexOf(asyncInfo) !== -1) {\n const source = node.hookSource;\n if (source != null && source.functionName !== null && source.fileName !== null && source.lineNumber !== null && source.columnNumber !== null) {\n const callSite = [source.functionName, source.fileName, source.lineNumber, source.columnNumber, 0, 0, false];\n return [callSite];\n } else {\n return [];\n }\n }\n const matchedStack = getAwaitStackFromHooks(node.subHooks, asyncInfo);\n if (matchedStack !== null) {\n const source = node.hookSource;\n if (source != null && source.functionName !== null && source.fileName !== null && source.lineNumber !== null && source.columnNumber !== null) {\n const callSite = [source.functionName, source.fileName, source.lineNumber, source.columnNumber, 0, 0, false];\n matchedStack.push(callSite);\n }\n return matchedStack;\n }\n }\n return null;\n }\n function serializeAsyncInfo(asyncInfo, parentInstance, hooks) {\n const ioInfo = asyncInfo.awaited;\n const ioOwnerInstance = findNearestOwnerInstance(parentInstance, ioInfo.owner);\n let awaitStack = asyncInfo.debugStack == null ? null : parseStackTrace(asyncInfo.debugStack, 1);\n let awaitOwnerInstance;\n if (asyncInfo.owner == null && (awaitStack === null || awaitStack.length === 0)) {\n awaitStack = null;\n awaitOwnerInstance = parentInstance.kind === FILTERED_FIBER_INSTANCE ? null : parentInstance;\n if (parentInstance.kind === FIBER_INSTANCE || parentInstance.kind === FILTERED_FIBER_INSTANCE) {\n const fiber = parentInstance.data;\n switch (fiber.tag) {\n case ClassComponent:\n case FunctionComponent:\n case IncompleteClassComponent:\n case IncompleteFunctionComponent:\n case IndeterminateComponent:\n case MemoComponent:\n case SimpleMemoComponent:\n if (hooks !== null) {\n awaitStack = getAwaitStackFromHooks(hooks, asyncInfo);\n }\n break;\n default:\n if (fiber._debugOwner != null && fiber._debugStack != null && typeof fiber._debugStack !== 'string') {\n awaitStack = parseStackTrace(fiber._debugStack, 1);\n awaitOwnerInstance = findNearestOwnerInstance(parentInstance, fiber._debugOwner);\n }\n }\n }\n } else {\n awaitOwnerInstance = findNearestOwnerInstance(parentInstance, asyncInfo.owner);\n }\n const value = ioInfo.value;\n let resolvedValue = undefined;\n if (typeof value === 'object' && value !== null && typeof value.then === 'function') {\n switch (value.status) {\n case 'fulfilled':\n resolvedValue = value.value;\n break;\n case 'rejected':\n resolvedValue = value.reason;\n break;\n }\n }\n return {\n awaited: {\n name: ioInfo.name,\n description: getIODescription(resolvedValue),\n start: ioInfo.start,\n end: ioInfo.end,\n byteSize: ioInfo.byteSize == null ? null : ioInfo.byteSize,\n value: ioInfo.value == null ? null : ioInfo.value,\n env: ioInfo.env == null ? null : ioInfo.env,\n owner: ioOwnerInstance === null ? null : instanceToSerializedElement(ioOwnerInstance),\n stack: ioInfo.debugStack == null ? null : parseStackTrace(ioInfo.debugStack, 1)\n },\n env: asyncInfo.env == null ? null : asyncInfo.env,\n owner: awaitOwnerInstance === null ? null : instanceToSerializedElement(awaitOwnerInstance),\n stack: awaitStack\n };\n }\n function getInstanceAndStyle(id) {\n let instance = null;\n let style = null;\n const devtoolsInstance = idToDevToolsInstanceMap.get(id);\n if (devtoolsInstance === undefined) {\n console.warn(`Could not find DevToolsInstance with id \"${id}\"`);\n return {\n instance,\n style\n };\n }\n if (devtoolsInstance.kind !== FIBER_INSTANCE) {\n return {\n instance,\n style\n };\n }\n const fiber = devtoolsInstance.data;\n if (fiber !== null) {\n instance = fiber.stateNode;\n if (fiber.memoizedProps !== null) {\n style = fiber.memoizedProps.style;\n }\n }\n return {\n instance,\n style\n };\n }\n function isErrorBoundary(fiber) {\n const {\n tag,\n type\n } = fiber;\n switch (tag) {\n case ClassComponent:\n case IncompleteClassComponent:\n const instance = fiber.stateNode;\n return typeof type.getDerivedStateFromError === 'function' || instance !== null && typeof instance.componentDidCatch === 'function';\n default:\n return false;\n }\n }\n function inspectElementRaw(id) {\n const devtoolsInstance = idToDevToolsInstanceMap.get(id);\n if (devtoolsInstance === undefined) {\n console.warn(`Could not find DevToolsInstance with id \"${id}\"`);\n return null;\n }\n if (devtoolsInstance.kind === VIRTUAL_INSTANCE) {\n return inspectVirtualInstanceRaw(devtoolsInstance);\n }\n if (devtoolsInstance.kind === FIBER_INSTANCE) {\n const isRoot = devtoolsInstance.parent === null;\n return isRoot ? inspectRootsRaw(devtoolsInstance.id) : inspectFiberInstanceRaw(devtoolsInstance);\n }\n devtoolsInstance;\n throw new Error('Unsupported instance kind');\n }\n function inspectFiberInstanceRaw(fiberInstance) {\n const fiber = fiberInstance.data;\n if (fiber == null) {\n return null;\n }\n const {\n stateNode,\n key,\n memoizedProps,\n memoizedState,\n dependencies,\n tag,\n type\n } = fiber;\n const elementType = getElementTypeForFiber(fiber);\n const usesHooks = (tag === FunctionComponent || tag === SimpleMemoComponent || tag === ForwardRef) && (!!memoizedState || !!dependencies);\n const showState = tag === ClassComponent || tag === IncompleteClassComponent;\n const typeSymbol = getTypeSymbol(type);\n let canViewSource = false;\n let context = null;\n if (tag === ClassComponent || tag === FunctionComponent || tag === IncompleteClassComponent || tag === IncompleteFunctionComponent || tag === IndeterminateComponent || tag === MemoComponent || tag === ForwardRef || tag === SimpleMemoComponent) {\n canViewSource = true;\n if (stateNode && stateNode.context != null) {\n const shouldHideContext = elementType === types_ElementTypeClass && !(type.contextTypes || type.contextType);\n if (!shouldHideContext) {\n context = stateNode.context;\n }\n }\n } else if ((typeSymbol === CONTEXT_NUMBER || typeSymbol === CONTEXT_SYMBOL_STRING) && !(type._context === undefined && type.Provider === type)) {\n const consumerResolvedContext = type._context || type;\n context = consumerResolvedContext._currentValue || null;\n let current = fiber.return;\n while (current !== null) {\n const currentType = current.type;\n const currentTypeSymbol = getTypeSymbol(currentType);\n if (currentTypeSymbol === PROVIDER_NUMBER || currentTypeSymbol === PROVIDER_SYMBOL_STRING) {\n const providerResolvedContext = currentType._context || currentType.context;\n if (providerResolvedContext === consumerResolvedContext) {\n context = current.memoizedProps.value;\n break;\n }\n }\n current = current.return;\n }\n } else if (typeSymbol === CONSUMER_SYMBOL_STRING) {\n const consumerResolvedContext = type._context;\n context = consumerResolvedContext._currentValue || null;\n let current = fiber.return;\n while (current !== null) {\n const currentType = current.type;\n const currentTypeSymbol = getTypeSymbol(currentType);\n if (currentTypeSymbol === CONTEXT_SYMBOL_STRING) {\n const providerResolvedContext = currentType;\n if (providerResolvedContext === consumerResolvedContext) {\n context = current.memoizedProps.value;\n break;\n }\n }\n current = current.return;\n }\n }\n let hasLegacyContext = false;\n if (context !== null) {\n hasLegacyContext = !!type.contextTypes;\n context = {\n value: context\n };\n }\n const owners = getOwnersListFromInstance(fiberInstance);\n let hooks = null;\n if (usesHooks) {\n hooks = inspectHooks(fiber);\n }\n let rootType = null;\n let current = fiber;\n let hasErrorBoundary = false;\n let hasSuspenseBoundary = false;\n while (current.return !== null) {\n const temp = current;\n current = current.return;\n if (temp.tag === SuspenseComponent) {\n hasSuspenseBoundary = true;\n } else if (isErrorBoundary(temp)) {\n hasErrorBoundary = true;\n }\n }\n const fiberRoot = current.stateNode;\n if (fiberRoot != null && fiberRoot._debugRootType !== null) {\n rootType = fiberRoot._debugRootType;\n }\n let isErrored = false;\n if (isErrorBoundary(fiber)) {\n const DidCapture = 0b000000000000000000010000000;\n isErrored = (fiber.flags & DidCapture) !== 0 || forceErrorForFibers.get(fiber) === true || fiber.alternate !== null && forceErrorForFibers.get(fiber.alternate) === true;\n }\n const plugins = {\n stylex: null\n };\n if (enableStyleXFeatures) {\n if (memoizedProps != null && memoizedProps.hasOwnProperty('xstyle')) {\n plugins.stylex = getStyleXData(memoizedProps.xstyle);\n }\n }\n let source = null;\n if (canViewSource) {\n source = getSourceForFiberInstance(fiberInstance);\n }\n let componentLogsEntry = fiberToComponentLogsMap.get(fiber);\n if (componentLogsEntry === undefined && fiber.alternate !== null) {\n componentLogsEntry = fiberToComponentLogsMap.get(fiber.alternate);\n }\n let nativeTag = null;\n if (elementType === ElementTypeHostComponent) {\n nativeTag = getNativeTag(fiber.stateNode);\n }\n let isSuspended = null;\n if (tag === SuspenseComponent) {\n isSuspended = memoizedState !== null;\n }\n const suspendedBy = fiberInstance.suspenseNode !== null ? getSuspendedByOfSuspenseNode(fiberInstance.suspenseNode, null) : tag === ActivityComponent ? getSuspendedByOfInstanceSubtree(fiberInstance) : getSuspendedByOfInstance(fiberInstance, hooks);\n const suspendedByRange = getSuspendedByRange(getNearestSuspenseNode(fiberInstance));\n let unknownSuspenders = UNKNOWN_SUSPENDERS_NONE;\n if (fiberInstance.suspenseNode !== null && fiberInstance.suspenseNode.hasUnknownSuspenders && !isSuspended) {\n if (renderer.bundleType === 0) {\n unknownSuspenders = UNKNOWN_SUSPENDERS_REASON_PRODUCTION;\n } else if (!('_debugInfo' in fiber)) {\n unknownSuspenders = UNKNOWN_SUSPENDERS_REASON_OLD_VERSION;\n } else {\n unknownSuspenders = UNKNOWN_SUSPENDERS_REASON_THROWN_PROMISE;\n }\n }\n return {\n id: fiberInstance.id,\n canEditHooks: typeof overrideHookState === 'function',\n canEditFunctionProps: typeof overrideProps === 'function',\n canEditHooksAndDeletePaths: typeof overrideHookStateDeletePath === 'function',\n canEditHooksAndRenamePaths: typeof overrideHookStateRenamePath === 'function',\n canEditFunctionPropsDeletePaths: typeof overridePropsDeletePath === 'function',\n canEditFunctionPropsRenamePaths: typeof overridePropsRenamePath === 'function',\n canToggleError: supportsTogglingError && hasErrorBoundary,\n isErrored,\n canToggleSuspense: supportsTogglingSuspense && hasSuspenseBoundary && (!isSuspended || forceFallbackForFibers.has(fiber) || fiber.alternate !== null && forceFallbackForFibers.has(fiber.alternate)),\n isSuspended: isSuspended,\n source,\n stack: fiber._debugOwner == null || fiber._debugStack == null ? null : parseStackTrace(fiber._debugStack, 1),\n hasLegacyContext,\n key: key != null ? key : null,\n type: elementType,\n context,\n hooks,\n props: memoizedProps,\n state: showState ? memoizedState : null,\n errors: componentLogsEntry === undefined ? [] : Array.from(componentLogsEntry.errors.entries()),\n warnings: componentLogsEntry === undefined ? [] : Array.from(componentLogsEntry.warnings.entries()),\n suspendedBy: suspendedBy,\n suspendedByRange: suspendedByRange,\n unknownSuspenders: unknownSuspenders,\n owners,\n env: null,\n rootType,\n rendererPackageName: renderer.rendererPackageName,\n rendererVersion: renderer.version,\n plugins,\n nativeTag\n };\n }\n function inspectVirtualInstanceRaw(virtualInstance) {\n const source = getSourceForInstance(virtualInstance);\n const componentInfo = virtualInstance.data;\n const key = typeof componentInfo.key === 'string' ? componentInfo.key : null;\n const props = componentInfo.props == null ? null : componentInfo.props;\n const owners = getOwnersListFromInstance(virtualInstance);\n let rootType = null;\n let hasErrorBoundary = false;\n let hasSuspenseBoundary = false;\n const nearestFiber = getNearestFiber(virtualInstance);\n if (nearestFiber !== null) {\n let current = nearestFiber;\n while (current.return !== null) {\n const temp = current;\n current = current.return;\n if (temp.tag === SuspenseComponent) {\n hasSuspenseBoundary = true;\n } else if (isErrorBoundary(temp)) {\n hasErrorBoundary = true;\n }\n }\n const fiberRoot = current.stateNode;\n if (fiberRoot != null && fiberRoot._debugRootType !== null) {\n rootType = fiberRoot._debugRootType;\n }\n }\n const plugins = {\n stylex: null\n };\n const componentLogsEntry = componentInfoToComponentLogsMap.get(componentInfo);\n const isSuspended = null;\n const suspendedBy = getSuspendedByOfInstance(virtualInstance, null);\n const suspendedByRange = getSuspendedByRange(getNearestSuspenseNode(virtualInstance));\n return {\n id: virtualInstance.id,\n canEditHooks: false,\n canEditFunctionProps: false,\n canEditHooksAndDeletePaths: false,\n canEditHooksAndRenamePaths: false,\n canEditFunctionPropsDeletePaths: false,\n canEditFunctionPropsRenamePaths: false,\n canToggleError: supportsTogglingError && hasErrorBoundary,\n isErrored: false,\n canToggleSuspense: supportsTogglingSuspense && hasSuspenseBoundary,\n isSuspended: isSuspended,\n source,\n stack: componentInfo.owner == null || componentInfo.debugStack == null ? null : parseStackTrace(componentInfo.debugStack, 1),\n hasLegacyContext: false,\n key: key,\n type: types_ElementTypeVirtual,\n context: null,\n hooks: null,\n props: props,\n state: null,\n errors: componentLogsEntry === undefined ? [] : Array.from(componentLogsEntry.errors.entries()),\n warnings: componentLogsEntry === undefined ? [] : Array.from(componentLogsEntry.warnings.entries()),\n suspendedBy: suspendedBy,\n suspendedByRange: suspendedByRange,\n unknownSuspenders: UNKNOWN_SUSPENDERS_NONE,\n owners,\n env: componentInfo.env == null ? null : componentInfo.env,\n rootType,\n rendererPackageName: renderer.rendererPackageName,\n rendererVersion: renderer.version,\n plugins,\n nativeTag: null\n };\n }\n let mostRecentlyInspectedElement = null;\n let hasElementUpdatedSinceLastInspected = false;\n let currentlyInspectedPaths = {};\n function isMostRecentlyInspectedElement(id) {\n if (mostRecentlyInspectedElement === null) {\n return false;\n }\n if (mostRecentlyInspectedElement.id === id) {\n return true;\n }\n if (mostRecentlyInspectedElement.type === ElementTypeRoot) {\n const instance = idToDevToolsInstanceMap.get(id);\n return instance !== undefined && instance.kind === FIBER_INSTANCE && instance.parent === null;\n }\n return false;\n }\n function isMostRecentlyInspectedElementCurrent(id) {\n return isMostRecentlyInspectedElement(id) && !hasElementUpdatedSinceLastInspected;\n }\n function mergeInspectedPaths(path) {\n let current = currentlyInspectedPaths;\n path.forEach(key => {\n if (!current[key]) {\n current[key] = {};\n }\n current = current[key];\n });\n }\n function createIsPathAllowed(key, secondaryCategory) {\n return function isPathAllowed(path) {\n switch (secondaryCategory) {\n case 'hooks':\n if (path.length === 1) {\n return true;\n }\n if (path[path.length - 2] === 'hookSource' && path[path.length - 1] === 'fileName') {\n return true;\n }\n if (path[path.length - 1] === 'subHooks' || path[path.length - 2] === 'subHooks') {\n return true;\n }\n break;\n case 'suspendedBy':\n if (path.length < 5) {\n return true;\n }\n break;\n default:\n break;\n }\n let current = key === null ? currentlyInspectedPaths : currentlyInspectedPaths[key];\n if (!current) {\n return false;\n }\n for (let i = 0; i < path.length; i++) {\n current = current[path[i]];\n if (!current) {\n return false;\n }\n }\n return true;\n };\n }\n function updateSelectedElement(inspectedElement) {\n const {\n hooks,\n id,\n props\n } = inspectedElement;\n const devtoolsInstance = idToDevToolsInstanceMap.get(id);\n if (devtoolsInstance === undefined) {\n console.warn(`Could not find DevToolsInstance with id \"${id}\"`);\n return;\n }\n if (devtoolsInstance.kind !== FIBER_INSTANCE) {\n return;\n }\n const fiber = devtoolsInstance.data;\n const {\n elementType,\n stateNode,\n tag,\n type\n } = fiber;\n switch (tag) {\n case ClassComponent:\n case IncompleteClassComponent:\n case IndeterminateComponent:\n global.$r = stateNode;\n break;\n case IncompleteFunctionComponent:\n case FunctionComponent:\n global.$r = {\n hooks,\n props,\n type\n };\n break;\n case ForwardRef:\n global.$r = {\n hooks,\n props,\n type: type.render\n };\n break;\n case MemoComponent:\n case SimpleMemoComponent:\n global.$r = {\n hooks,\n props,\n type: elementType != null && elementType.type != null ? elementType.type : type\n };\n break;\n default:\n global.$r = null;\n break;\n }\n }\n function storeAsGlobal(id, path, count) {\n if (isMostRecentlyInspectedElement(id)) {\n const value = utils_getInObject(mostRecentlyInspectedElement, path);\n const key = `$reactTemp${count}`;\n window[key] = value;\n console.log(key);\n console.log(value);\n }\n }\n function getSerializedElementValueByPath(id, path) {\n if (isMostRecentlyInspectedElement(id)) {\n const valueToCopy = utils_getInObject(mostRecentlyInspectedElement, path);\n return serializeToString(valueToCopy);\n }\n }\n function inspectElement(requestID, id, path, forceFullData) {\n if (path !== null) {\n mergeInspectedPaths(path);\n }\n if (isMostRecentlyInspectedElement(id) && !forceFullData) {\n if (!hasElementUpdatedSinceLastInspected) {\n if (path !== null) {\n let secondaryCategory = null;\n if (path[0] === 'hooks' || path[0] === 'suspendedBy') {\n secondaryCategory = path[0];\n }\n return {\n id,\n responseID: requestID,\n type: 'hydrated-path',\n path,\n value: cleanForBridge(utils_getInObject(mostRecentlyInspectedElement, path), createIsPathAllowed(null, secondaryCategory), path)\n };\n } else {\n return {\n id,\n responseID: requestID,\n type: 'no-change'\n };\n }\n }\n } else {\n currentlyInspectedPaths = {};\n }\n hasElementUpdatedSinceLastInspected = false;\n try {\n mostRecentlyInspectedElement = inspectElementRaw(id);\n } catch (error) {\n if (error.name === 'ReactDebugToolsRenderError') {\n let message = 'Error rendering inspected element.';\n let stack;\n console.error(message + '\\n\\n', error);\n if (error.cause != null) {\n const componentName = getDisplayNameForElementID(id);\n console.error('React DevTools encountered an error while trying to inspect hooks. ' + 'This is most likely caused by an error in current inspected component' + (componentName != null ? `: \"${componentName}\".` : '.') + '\\nThe error thrown in the component is: \\n\\n', error.cause);\n if (error.cause instanceof Error) {\n message = error.cause.message || message;\n stack = error.cause.stack;\n }\n }\n return {\n type: 'error',\n errorType: 'user',\n id,\n responseID: requestID,\n message,\n stack\n };\n }\n if (error.name === 'ReactDebugToolsUnsupportedHookError') {\n return {\n type: 'error',\n errorType: 'unknown-hook',\n id,\n responseID: requestID,\n message: 'Unsupported hook in the react-debug-tools package: ' + error.message\n };\n }\n console.error('Error inspecting element.\\n\\n', error);\n return {\n type: 'error',\n errorType: 'uncaught',\n id,\n responseID: requestID,\n message: error.message,\n stack: error.stack\n };\n }\n if (mostRecentlyInspectedElement === null) {\n return {\n id,\n responseID: requestID,\n type: 'not-found'\n };\n }\n const inspectedElement = mostRecentlyInspectedElement;\n updateSelectedElement(inspectedElement);\n const cleanedInspectedElement = {\n ...inspectedElement\n };\n cleanedInspectedElement.context = cleanForBridge(inspectedElement.context, createIsPathAllowed('context', null));\n cleanedInspectedElement.hooks = cleanForBridge(inspectedElement.hooks, createIsPathAllowed('hooks', 'hooks'));\n cleanedInspectedElement.props = cleanForBridge(inspectedElement.props, createIsPathAllowed('props', null));\n cleanedInspectedElement.state = cleanForBridge(inspectedElement.state, createIsPathAllowed('state', null));\n cleanedInspectedElement.suspendedBy = cleanForBridge(inspectedElement.suspendedBy, createIsPathAllowed('suspendedBy', 'suspendedBy'));\n return {\n id,\n responseID: requestID,\n type: 'full-data',\n value: cleanedInspectedElement\n };\n }\n function inspectRootsRaw(arbitraryRootID) {\n const roots = hook.getFiberRoots(rendererID);\n if (roots.size === 0) {\n return null;\n }\n const inspectedRoots = {\n id: arbitraryRootID,\n type: ElementTypeRoot,\n isErrored: false,\n errors: [],\n warnings: [],\n suspendedBy: [],\n suspendedByRange: null,\n unknownSuspenders: UNKNOWN_SUSPENDERS_NONE,\n rootType: null,\n plugins: {\n stylex: null\n },\n nativeTag: null,\n env: null,\n source: null,\n stack: null,\n rendererPackageName: null,\n rendererVersion: null,\n key: null,\n canEditFunctionProps: false,\n canEditHooks: false,\n canEditFunctionPropsDeletePaths: false,\n canEditFunctionPropsRenamePaths: false,\n canEditHooksAndDeletePaths: false,\n canEditHooksAndRenamePaths: false,\n canToggleError: false,\n canToggleSuspense: false,\n isSuspended: false,\n hasLegacyContext: false,\n context: null,\n hooks: null,\n props: null,\n state: null,\n owners: null\n };\n let minSuspendedByRange = Infinity;\n let maxSuspendedByRange = -Infinity;\n roots.forEach(root => {\n const rootInstance = rootToFiberInstanceMap.get(root);\n if (rootInstance === undefined) {\n throw new Error('Expected a root instance to exist for this Fiber root');\n }\n const inspectedRoot = inspectFiberInstanceRaw(rootInstance);\n if (inspectedRoot === null) {\n return;\n }\n if (inspectedRoot.isErrored) {\n inspectedRoots.isErrored = true;\n }\n for (let i = 0; i < inspectedRoot.errors.length; i++) {\n inspectedRoots.errors.push(inspectedRoot.errors[i]);\n }\n for (let i = 0; i < inspectedRoot.warnings.length; i++) {\n inspectedRoots.warnings.push(inspectedRoot.warnings[i]);\n }\n for (let i = 0; i < inspectedRoot.suspendedBy.length; i++) {\n inspectedRoots.suspendedBy.push(inspectedRoot.suspendedBy[i]);\n }\n const suspendedByRange = inspectedRoot.suspendedByRange;\n if (suspendedByRange !== null) {\n if (suspendedByRange[0] < minSuspendedByRange) {\n minSuspendedByRange = suspendedByRange[0];\n }\n if (suspendedByRange[1] > maxSuspendedByRange) {\n maxSuspendedByRange = suspendedByRange[1];\n }\n }\n });\n if (minSuspendedByRange !== Infinity || maxSuspendedByRange !== -Infinity) {\n inspectedRoots.suspendedByRange = [minSuspendedByRange, maxSuspendedByRange];\n }\n return inspectedRoots;\n }\n function logElementToConsole(id) {\n const result = isMostRecentlyInspectedElementCurrent(id) ? mostRecentlyInspectedElement : inspectElementRaw(id);\n if (result === null) {\n console.warn(`Could not find DevToolsInstance with id \"${id}\"`);\n return;\n }\n const displayName = getDisplayNameForElementID(id);\n const supportsGroup = typeof console.groupCollapsed === 'function';\n if (supportsGroup) {\n console.groupCollapsed(`[Click to expand] %c<${displayName || 'Component'} />`, 'color: var(--dom-tag-name-color); font-weight: normal;');\n }\n if (result.props !== null) {\n console.log('Props:', result.props);\n }\n if (result.state !== null) {\n console.log('State:', result.state);\n }\n if (result.hooks !== null) {\n console.log('Hooks:', result.hooks);\n }\n const hostInstances = findHostInstancesForElementID(id);\n if (hostInstances !== null) {\n console.log('Nodes:', hostInstances);\n }\n if (window.chrome || /firefox/i.test(navigator.userAgent)) {\n console.log('Right-click any value to save it as a global variable for further inspection.');\n }\n if (supportsGroup) {\n console.groupEnd();\n }\n }\n function deletePath(type, id, hookID, path) {\n const devtoolsInstance = idToDevToolsInstanceMap.get(id);\n if (devtoolsInstance === undefined) {\n console.warn(`Could not find DevToolsInstance with id \"${id}\"`);\n return;\n }\n if (devtoolsInstance.kind !== FIBER_INSTANCE) {\n return;\n }\n const fiber = devtoolsInstance.data;\n if (fiber !== null) {\n const instance = fiber.stateNode;\n switch (type) {\n case 'context':\n path = path.slice(1);\n switch (fiber.tag) {\n case ClassComponent:\n if (path.length === 0) {} else {\n deletePathInObject(instance.context, path);\n }\n instance.forceUpdate();\n break;\n case FunctionComponent:\n break;\n }\n break;\n case 'hooks':\n if (typeof overrideHookStateDeletePath === 'function') {\n overrideHookStateDeletePath(fiber, hookID, path);\n }\n break;\n case 'props':\n if (instance === null) {\n if (typeof overridePropsDeletePath === 'function') {\n overridePropsDeletePath(fiber, path);\n }\n } else {\n fiber.pendingProps = copyWithDelete(instance.props, path);\n instance.forceUpdate();\n }\n break;\n case 'state':\n deletePathInObject(instance.state, path);\n instance.forceUpdate();\n break;\n }\n }\n }\n function renamePath(type, id, hookID, oldPath, newPath) {\n const devtoolsInstance = idToDevToolsInstanceMap.get(id);\n if (devtoolsInstance === undefined) {\n console.warn(`Could not find DevToolsInstance with id \"${id}\"`);\n return;\n }\n if (devtoolsInstance.kind !== FIBER_INSTANCE) {\n return;\n }\n const fiber = devtoolsInstance.data;\n if (fiber !== null) {\n const instance = fiber.stateNode;\n switch (type) {\n case 'context':\n oldPath = oldPath.slice(1);\n newPath = newPath.slice(1);\n switch (fiber.tag) {\n case ClassComponent:\n if (oldPath.length === 0) {} else {\n renamePathInObject(instance.context, oldPath, newPath);\n }\n instance.forceUpdate();\n break;\n case FunctionComponent:\n break;\n }\n break;\n case 'hooks':\n if (typeof overrideHookStateRenamePath === 'function') {\n overrideHookStateRenamePath(fiber, hookID, oldPath, newPath);\n }\n break;\n case 'props':\n if (instance === null) {\n if (typeof overridePropsRenamePath === 'function') {\n overridePropsRenamePath(fiber, oldPath, newPath);\n }\n } else {\n fiber.pendingProps = copyWithRename(instance.props, oldPath, newPath);\n instance.forceUpdate();\n }\n break;\n case 'state':\n renamePathInObject(instance.state, oldPath, newPath);\n instance.forceUpdate();\n break;\n }\n }\n }\n function overrideValueAtPath(type, id, hookID, path, value) {\n const devtoolsInstance = idToDevToolsInstanceMap.get(id);\n if (devtoolsInstance === undefined) {\n console.warn(`Could not find DevToolsInstance with id \"${id}\"`);\n return;\n }\n if (devtoolsInstance.kind !== FIBER_INSTANCE) {\n return;\n }\n const fiber = devtoolsInstance.data;\n if (fiber !== null) {\n const instance = fiber.stateNode;\n switch (type) {\n case 'context':\n path = path.slice(1);\n switch (fiber.tag) {\n case ClassComponent:\n if (path.length === 0) {\n instance.context = value;\n } else {\n utils_setInObject(instance.context, path, value);\n }\n instance.forceUpdate();\n break;\n case FunctionComponent:\n break;\n }\n break;\n case 'hooks':\n if (typeof overrideHookState === 'function') {\n overrideHookState(fiber, hookID, path, value);\n }\n break;\n case 'props':\n switch (fiber.tag) {\n case ClassComponent:\n fiber.pendingProps = copyWithSet(instance.props, path, value);\n instance.forceUpdate();\n break;\n default:\n if (typeof overrideProps === 'function') {\n overrideProps(fiber, path, value);\n }\n break;\n }\n break;\n case 'state':\n switch (fiber.tag) {\n case ClassComponent:\n utils_setInObject(instance.state, path, value);\n instance.forceUpdate();\n break;\n }\n break;\n }\n }\n }\n let currentCommitProfilingMetadata = null;\n let displayNamesByRootID = null;\n let initialTreeBaseDurationsMap = null;\n let isProfiling = false;\n let profilingStartTime = 0;\n let recordChangeDescriptions = false;\n let recordTimeline = false;\n let rootToCommitProfilingMetadataMap = null;\n function getProfilingData() {\n const dataForRoots = [];\n if (rootToCommitProfilingMetadataMap === null) {\n throw Error('getProfilingData() called before any profiling data was recorded');\n }\n rootToCommitProfilingMetadataMap.forEach((commitProfilingMetadata, rootID) => {\n const commitData = [];\n const displayName = displayNamesByRootID !== null && displayNamesByRootID.get(rootID) || 'Unknown';\n const initialTreeBaseDurations = initialTreeBaseDurationsMap !== null && initialTreeBaseDurationsMap.get(rootID) || [];\n commitProfilingMetadata.forEach((commitProfilingData, commitIndex) => {\n const {\n changeDescriptions,\n durations,\n effectDuration,\n maxActualDuration,\n passiveEffectDuration,\n priorityLevel,\n commitTime,\n updaters\n } = commitProfilingData;\n const fiberActualDurations = [];\n const fiberSelfDurations = [];\n for (let i = 0; i < durations.length; i += 3) {\n const fiberID = durations[i];\n fiberActualDurations.push([fiberID, formatDurationToMicrosecondsGranularity(durations[i + 1])]);\n fiberSelfDurations.push([fiberID, formatDurationToMicrosecondsGranularity(durations[i + 2])]);\n }\n commitData.push({\n changeDescriptions: changeDescriptions !== null ? Array.from(changeDescriptions.entries()) : null,\n duration: formatDurationToMicrosecondsGranularity(maxActualDuration),\n effectDuration: effectDuration !== null ? formatDurationToMicrosecondsGranularity(effectDuration) : null,\n fiberActualDurations,\n fiberSelfDurations,\n passiveEffectDuration: passiveEffectDuration !== null ? formatDurationToMicrosecondsGranularity(passiveEffectDuration) : null,\n priorityLevel,\n timestamp: commitTime,\n updaters\n });\n });\n dataForRoots.push({\n commitData,\n displayName,\n initialTreeBaseDurations,\n rootID\n });\n });\n let timelineData = null;\n if (typeof getTimelineData === 'function') {\n const currentTimelineData = getTimelineData();\n if (currentTimelineData) {\n const {\n batchUIDToMeasuresMap,\n internalModuleSourceToRanges,\n laneToLabelMap,\n laneToReactMeasureMap,\n ...rest\n } = currentTimelineData;\n timelineData = {\n ...rest,\n batchUIDToMeasuresKeyValueArray: Array.from(batchUIDToMeasuresMap.entries()),\n internalModuleSourceToRanges: Array.from(internalModuleSourceToRanges.entries()),\n laneToLabelKeyValueArray: Array.from(laneToLabelMap.entries()),\n laneToReactMeasureKeyValueArray: Array.from(laneToReactMeasureMap.entries())\n };\n }\n }\n return {\n dataForRoots,\n rendererID,\n timelineData\n };\n }\n function snapshotTreeBaseDurations(instance, target) {\n if (instance.kind !== FILTERED_FIBER_INSTANCE) {\n target.push([instance.id, instance.treeBaseDuration]);\n }\n for (let child = instance.firstChild; child !== null; child = child.nextSibling) {\n snapshotTreeBaseDurations(child, target);\n }\n }\n function startProfiling(shouldRecordChangeDescriptions, shouldRecordTimeline) {\n if (isProfiling) {\n return;\n }\n recordChangeDescriptions = shouldRecordChangeDescriptions;\n recordTimeline = shouldRecordTimeline;\n displayNamesByRootID = new Map();\n initialTreeBaseDurationsMap = new Map();\n hook.getFiberRoots(rendererID).forEach(root => {\n const rootInstance = rootToFiberInstanceMap.get(root);\n if (rootInstance === undefined) {\n throw new Error('Expected the root instance to already exist when starting profiling');\n }\n const rootID = rootInstance.id;\n displayNamesByRootID.set(rootID, getDisplayNameForRoot(root.current));\n const initialTreeBaseDurations = [];\n snapshotTreeBaseDurations(rootInstance, initialTreeBaseDurations);\n initialTreeBaseDurationsMap.set(rootID, initialTreeBaseDurations);\n });\n isProfiling = true;\n profilingStartTime = renderer_getCurrentTime();\n rootToCommitProfilingMetadataMap = new Map();\n if (toggleProfilingStatus !== null) {\n toggleProfilingStatus(true, recordTimeline);\n }\n }\n function stopProfiling() {\n isProfiling = false;\n recordChangeDescriptions = false;\n if (toggleProfilingStatus !== null) {\n toggleProfilingStatus(false, recordTimeline);\n }\n recordTimeline = false;\n }\n if (shouldStartProfilingNow) {\n startProfiling(profilingSettings.recordChangeDescriptions, profilingSettings.recordTimeline);\n }\n function getNearestFiber(devtoolsInstance) {\n if (devtoolsInstance.kind === VIRTUAL_INSTANCE) {\n let inst = devtoolsInstance;\n while (inst.kind === VIRTUAL_INSTANCE) {\n if (inst.firstChild === null) {\n return null;\n }\n inst = inst.firstChild;\n }\n return inst.data.return;\n } else {\n return devtoolsInstance.data;\n }\n }\n function shouldErrorFiberAlwaysNull() {\n return null;\n }\n const forceErrorForFibers = new Map();\n function shouldErrorFiberAccordingToMap(fiber) {\n if (typeof setErrorHandler !== 'function') {\n throw new Error('Expected overrideError() to not get called for earlier React versions.');\n }\n let status = forceErrorForFibers.get(fiber);\n if (status === false) {\n forceErrorForFibers.delete(fiber);\n if (forceErrorForFibers.size === 0) {\n setErrorHandler(shouldErrorFiberAlwaysNull);\n }\n return false;\n }\n if (status === undefined && fiber.alternate !== null) {\n status = forceErrorForFibers.get(fiber.alternate);\n if (status === false) {\n forceErrorForFibers.delete(fiber.alternate);\n if (forceErrorForFibers.size === 0) {\n setErrorHandler(shouldErrorFiberAlwaysNull);\n }\n }\n }\n if (status === undefined) {\n return false;\n }\n return status;\n }\n function overrideError(id, forceError) {\n if (typeof setErrorHandler !== 'function' || typeof scheduleUpdate !== 'function') {\n throw new Error('Expected overrideError() to not get called for earlier React versions.');\n }\n const devtoolsInstance = idToDevToolsInstanceMap.get(id);\n if (devtoolsInstance === undefined) {\n return;\n }\n const nearestFiber = getNearestFiber(devtoolsInstance);\n if (nearestFiber === null) {\n return;\n }\n let fiber = nearestFiber;\n while (!isErrorBoundary(fiber)) {\n if (fiber.return === null) {\n return;\n }\n fiber = fiber.return;\n }\n forceErrorForFibers.set(fiber, forceError);\n if (fiber.alternate !== null) {\n forceErrorForFibers.delete(fiber.alternate);\n }\n if (forceErrorForFibers.size === 1) {\n setErrorHandler(shouldErrorFiberAccordingToMap);\n }\n if (!forceError && typeof scheduleRetry === 'function') {\n scheduleRetry(fiber);\n } else {\n scheduleUpdate(fiber);\n }\n }\n function shouldSuspendFiberAlwaysFalse() {\n return false;\n }\n const forceFallbackForFibers = new Set();\n function shouldSuspendFiberAccordingToSet(fiber) {\n return forceFallbackForFibers.has(fiber) || fiber.alternate !== null && forceFallbackForFibers.has(fiber.alternate);\n }\n function overrideSuspense(id, forceFallback) {\n if (typeof setSuspenseHandler !== 'function' || typeof scheduleUpdate !== 'function') {\n throw new Error('Expected overrideSuspense() to not get called for earlier React versions.');\n }\n const devtoolsInstance = idToDevToolsInstanceMap.get(id);\n if (devtoolsInstance === undefined) {\n return;\n }\n const nearestFiber = getNearestFiber(devtoolsInstance);\n if (nearestFiber === null) {\n return;\n }\n let fiber = nearestFiber;\n while (fiber.tag !== SuspenseComponent) {\n if (fiber.return === null) {\n return;\n }\n fiber = fiber.return;\n }\n if (fiber.alternate !== null) {\n forceFallbackForFibers.delete(fiber.alternate);\n }\n if (forceFallback) {\n forceFallbackForFibers.add(fiber);\n if (forceFallbackForFibers.size === 1) {\n setSuspenseHandler(shouldSuspendFiberAccordingToSet);\n }\n } else {\n forceFallbackForFibers.delete(fiber);\n if (forceFallbackForFibers.size === 0) {\n setSuspenseHandler(shouldSuspendFiberAlwaysFalse);\n }\n }\n if (!forceFallback && typeof scheduleRetry === 'function') {\n scheduleRetry(fiber);\n } else {\n scheduleUpdate(fiber);\n }\n }\n function overrideSuspenseMilestone(suspendedSet) {\n if (typeof setSuspenseHandler !== 'function' || typeof scheduleUpdate !== 'function') {\n throw new Error('Expected overrideSuspenseMilestone() to not get called for earlier React versions.');\n }\n const unsuspendedSet = new Set(forceFallbackForFibers);\n let resuspended = false;\n for (let i = 0; i < suspendedSet.length; ++i) {\n const instance = idToDevToolsInstanceMap.get(suspendedSet[i]);\n if (instance === undefined) {\n console.warn(`Could not suspend ID '${suspendedSet[i]}' since the instance can't be found.`);\n continue;\n }\n if (instance.kind === FIBER_INSTANCE) {\n const fiber = instance.data;\n if (forceFallbackForFibers.has(fiber) || fiber.alternate !== null && forceFallbackForFibers.has(fiber.alternate)) {\n unsuspendedSet.delete(fiber);\n if (fiber.alternate !== null) {\n unsuspendedSet.delete(fiber.alternate);\n }\n } else {\n forceFallbackForFibers.add(fiber);\n scheduleUpdate(fiber);\n resuspended = true;\n }\n } else {\n console.warn(`Cannot not suspend ID '${suspendedSet[i]}'.`);\n }\n }\n unsuspendedSet.forEach(fiber => {\n forceFallbackForFibers.delete(fiber);\n if (!resuspended && typeof scheduleRetry === 'function') {\n scheduleRetry(fiber);\n } else {\n scheduleUpdate(fiber);\n }\n });\n if (forceFallbackForFibers.size > 0) {\n setSuspenseHandler(shouldSuspendFiberAccordingToSet);\n } else {\n setSuspenseHandler(shouldSuspendFiberAlwaysFalse);\n }\n }\n let trackedPath = null;\n let trackedPathMatchFiber = null;\n let trackedPathMatchInstance = null;\n let trackedPathMatchDepth = -1;\n let mightBeOnTrackedPath = false;\n function setTrackedPath(path) {\n if (path === null) {\n trackedPathMatchFiber = null;\n trackedPathMatchInstance = null;\n trackedPathMatchDepth = -1;\n mightBeOnTrackedPath = false;\n }\n trackedPath = path;\n }\n function updateTrackedPathStateBeforeMount(fiber, fiberInstance) {\n if (trackedPath === null || !mightBeOnTrackedPath) {\n return false;\n }\n const returnFiber = fiber.return;\n const returnAlternate = returnFiber !== null ? returnFiber.alternate : null;\n if (trackedPathMatchFiber === returnFiber || trackedPathMatchFiber === returnAlternate && returnAlternate !== null) {\n const actualFrame = getPathFrame(fiber);\n const expectedFrame = trackedPath[trackedPathMatchDepth + 1];\n if (expectedFrame === undefined) {\n throw new Error('Expected to see a frame at the next depth.');\n }\n if (actualFrame.index === expectedFrame.index && actualFrame.key === expectedFrame.key && actualFrame.displayName === expectedFrame.displayName) {\n trackedPathMatchFiber = fiber;\n if (fiberInstance !== null && fiberInstance.kind === FIBER_INSTANCE) {\n trackedPathMatchInstance = fiberInstance;\n }\n trackedPathMatchDepth++;\n if (trackedPathMatchDepth === trackedPath.length - 1) {\n mightBeOnTrackedPath = false;\n } else {\n mightBeOnTrackedPath = true;\n }\n return false;\n }\n }\n if (trackedPathMatchFiber === null && fiberInstance === null) {\n return true;\n }\n mightBeOnTrackedPath = false;\n return true;\n }\n function updateVirtualTrackedPathStateBeforeMount(virtualInstance, parentInstance) {\n if (trackedPath === null || !mightBeOnTrackedPath) {\n return false;\n }\n if (trackedPathMatchInstance === parentInstance) {\n const actualFrame = getVirtualPathFrame(virtualInstance);\n const expectedFrame = trackedPath[trackedPathMatchDepth + 1];\n if (expectedFrame === undefined) {\n throw new Error('Expected to see a frame at the next depth.');\n }\n if (actualFrame.index === expectedFrame.index && actualFrame.key === expectedFrame.key && actualFrame.displayName === expectedFrame.displayName) {\n trackedPathMatchFiber = null;\n trackedPathMatchInstance = virtualInstance;\n trackedPathMatchDepth++;\n if (trackedPathMatchDepth === trackedPath.length - 1) {\n mightBeOnTrackedPath = false;\n } else {\n mightBeOnTrackedPath = true;\n }\n return false;\n }\n }\n if (trackedPathMatchFiber !== null) {\n return true;\n }\n mightBeOnTrackedPath = false;\n return true;\n }\n function updateTrackedPathStateAfterMount(mightSiblingsBeOnTrackedPath) {\n mightBeOnTrackedPath = mightSiblingsBeOnTrackedPath;\n }\n const rootPseudoKeys = new Map();\n const rootDisplayNameCounter = new Map();\n function setRootPseudoKey(id, fiber) {\n const name = getDisplayNameForRoot(fiber);\n const counter = rootDisplayNameCounter.get(name) || 0;\n rootDisplayNameCounter.set(name, counter + 1);\n const pseudoKey = `${name}:${counter}`;\n rootPseudoKeys.set(id, pseudoKey);\n }\n function removeRootPseudoKey(id) {\n const pseudoKey = rootPseudoKeys.get(id);\n if (pseudoKey === undefined) {\n throw new Error('Expected root pseudo key to be known.');\n }\n const name = pseudoKey.slice(0, pseudoKey.lastIndexOf(':'));\n const counter = rootDisplayNameCounter.get(name);\n if (counter === undefined) {\n throw new Error('Expected counter to be known.');\n }\n if (counter > 1) {\n rootDisplayNameCounter.set(name, counter - 1);\n } else {\n rootDisplayNameCounter.delete(name);\n }\n rootPseudoKeys.delete(id);\n }\n function getDisplayNameForRoot(fiber) {\n let preferredDisplayName = null;\n let fallbackDisplayName = null;\n let child = fiber.child;\n for (let i = 0; i < 3; i++) {\n if (child === null) {\n break;\n }\n const displayName = getDisplayNameForFiber(child);\n if (displayName !== null) {\n if (typeof child.type === 'function') {\n preferredDisplayName = displayName;\n } else if (fallbackDisplayName === null) {\n fallbackDisplayName = displayName;\n }\n }\n if (preferredDisplayName !== null) {\n break;\n }\n child = child.child;\n }\n return preferredDisplayName || fallbackDisplayName || 'Anonymous';\n }\n function getPathFrame(fiber) {\n const {\n key\n } = fiber;\n let displayName = getDisplayNameForFiber(fiber);\n const index = fiber.index;\n switch (fiber.tag) {\n case HostRoot:\n const rootInstance = rootToFiberInstanceMap.get(fiber.stateNode);\n if (rootInstance === undefined) {\n throw new Error('Expected the root instance to exist when computing a path');\n }\n const pseudoKey = rootPseudoKeys.get(rootInstance.id);\n if (pseudoKey === undefined) {\n throw new Error('Expected mounted root to have known pseudo key.');\n }\n displayName = pseudoKey;\n break;\n case HostComponent:\n displayName = fiber.type;\n break;\n default:\n break;\n }\n return {\n displayName,\n key,\n index\n };\n }\n function getVirtualPathFrame(virtualInstance) {\n return {\n displayName: virtualInstance.data.name || '',\n key: virtualInstance.data.key == null ? null : virtualInstance.data.key,\n index: -1\n };\n }\n function getPathForElement(id) {\n const devtoolsInstance = idToDevToolsInstanceMap.get(id);\n if (devtoolsInstance === undefined) {\n return null;\n }\n const keyPath = [];\n let inst = devtoolsInstance;\n while (inst.kind === VIRTUAL_INSTANCE) {\n keyPath.push(getVirtualPathFrame(inst));\n if (inst.parent === null) {\n return null;\n }\n inst = inst.parent;\n }\n let fiber = inst.data;\n while (fiber !== null) {\n keyPath.push(getPathFrame(fiber));\n fiber = fiber.return;\n }\n keyPath.reverse();\n return keyPath;\n }\n function getBestMatchForTrackedPath() {\n if (trackedPath === null) {\n return null;\n }\n if (trackedPathMatchInstance === null) {\n return null;\n }\n return {\n id: trackedPathMatchInstance.id,\n isFullMatch: trackedPathMatchDepth === trackedPath.length - 1\n };\n }\n const formatPriorityLevel = priorityLevel => {\n if (priorityLevel == null) {\n return 'Unknown';\n }\n switch (priorityLevel) {\n case ImmediatePriority:\n return 'Immediate';\n case UserBlockingPriority:\n return 'User-Blocking';\n case NormalPriority:\n return 'Normal';\n case LowPriority:\n return 'Low';\n case IdlePriority:\n return 'Idle';\n case NoPriority:\n default:\n return 'Unknown';\n }\n };\n function setTraceUpdatesEnabled(isEnabled) {\n traceUpdatesEnabled = isEnabled;\n }\n function hasElementWithId(id) {\n return idToDevToolsInstanceMap.has(id);\n }\n function getSourceForFiberInstance(fiberInstance) {\n const ownerSource = getSourceForInstance(fiberInstance);\n if (ownerSource !== null) {\n return ownerSource;\n }\n const dispatcherRef = getDispatcherRef(renderer);\n const stackFrame = dispatcherRef == null ? null : getSourceLocationByFiber(ReactTypeOfWork, fiberInstance.data, dispatcherRef);\n if (stackFrame === null) {\n return null;\n }\n const source = extractLocationFromComponentStack(stackFrame);\n fiberInstance.source = source;\n return source;\n }\n function getSourceForInstance(instance) {\n let unresolvedSource = instance.source;\n if (unresolvedSource === null) {\n return null;\n }\n if (instance.kind === VIRTUAL_INSTANCE) {\n const debugLocation = instance.data.debugLocation;\n if (debugLocation != null) {\n unresolvedSource = debugLocation;\n }\n }\n if (renderer_isError(unresolvedSource)) {\n return instance.source = extractLocationFromOwnerStack(unresolvedSource);\n }\n if (typeof unresolvedSource === 'string') {\n const idx = unresolvedSource.lastIndexOf('\\n');\n const lastLine = idx === -1 ? unresolvedSource : unresolvedSource.slice(idx + 1);\n return instance.source = extractLocationFromComponentStack(lastLine);\n }\n return unresolvedSource;\n }\n const internalMcpFunctions = {};\n if (false) {}\n return {\n cleanup,\n clearErrorsAndWarnings,\n clearErrorsForElementID,\n clearWarningsForElementID,\n getSerializedElementValueByPath,\n deletePath,\n findHostInstancesForElementID,\n findLastKnownRectsForID,\n flushInitialOperations,\n getBestMatchForTrackedPath,\n getDisplayNameForElementID,\n getNearestMountedDOMNode,\n getElementIDForHostInstance,\n getSuspenseNodeIDForHostInstance,\n getInstanceAndStyle,\n getOwnersList,\n getPathForElement,\n getProfilingData,\n handleCommitFiberRoot,\n handleCommitFiberUnmount,\n handlePostCommitFiberRoot,\n hasElementWithId,\n inspectElement,\n logElementToConsole,\n getComponentStack,\n getElementAttributeByPath,\n getElementSourceFunctionById,\n onErrorOrWarning,\n overrideError,\n overrideSuspense,\n overrideSuspenseMilestone,\n overrideValueAtPath,\n renamePath,\n renderer,\n setTraceUpdatesEnabled,\n setTrackedPath,\n startProfiling,\n stopProfiling,\n storeAsGlobal,\n supportsTogglingSuspense,\n updateComponentFilters,\n getEnvironmentNames,\n ...internalMcpFunctions\n };\n}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/backend/legacy/utils.js\nfunction decorate(object, attr, fn) {\n const old = object[attr];\n object[attr] = function (instance) {\n return fn.call(this, old, arguments);\n };\n return old;\n}\nfunction decorateMany(source, fns) {\n const olds = {};\n for (const name in fns) {\n olds[name] = decorate(source, name, fns[name]);\n }\n return olds;\n}\nfunction restoreMany(source, olds) {\n for (const name in olds) {\n source[name] = olds[name];\n }\n}\nfunction forceUpdate(instance) {\n if (typeof instance.forceUpdate === 'function') {\n instance.forceUpdate();\n } else if (instance.updater != null && typeof instance.updater.enqueueForceUpdate === 'function') {\n instance.updater.enqueueForceUpdate(this, () => {}, 'forceUpdate');\n }\n}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/backend/legacy/renderer.js\n\n\n\n\n\n\nfunction getData(internalInstance) {\n let displayName = null;\n let key = null;\n if (internalInstance._currentElement != null) {\n if (internalInstance._currentElement.key) {\n key = String(internalInstance._currentElement.key);\n }\n const elementType = internalInstance._currentElement.type;\n if (typeof elementType === 'string') {\n displayName = elementType;\n } else if (typeof elementType === 'function') {\n displayName = getDisplayName(elementType);\n }\n }\n return {\n displayName,\n key\n };\n}\nfunction getElementType(internalInstance) {\n if (internalInstance._currentElement != null) {\n const elementType = internalInstance._currentElement.type;\n if (typeof elementType === 'function') {\n const publicInstance = internalInstance.getPublicInstance();\n if (publicInstance !== null) {\n return types_ElementTypeClass;\n } else {\n return types_ElementTypeFunction;\n }\n } else if (typeof elementType === 'string') {\n return ElementTypeHostComponent;\n }\n }\n return ElementTypeOtherOrUnknown;\n}\nfunction getChildren(internalInstance) {\n const children = [];\n if (typeof internalInstance !== 'object') {} else if (internalInstance._currentElement === null || internalInstance._currentElement === false) {} else if (internalInstance._renderedComponent) {\n const child = internalInstance._renderedComponent;\n if (getElementType(child) !== ElementTypeOtherOrUnknown) {\n children.push(child);\n }\n } else if (internalInstance._renderedChildren) {\n const renderedChildren = internalInstance._renderedChildren;\n for (const name in renderedChildren) {\n const child = renderedChildren[name];\n if (getElementType(child) !== ElementTypeOtherOrUnknown) {\n children.push(child);\n }\n }\n }\n return children;\n}\nfunction legacy_renderer_attach(hook, rendererID, renderer, global) {\n const idToInternalInstanceMap = new Map();\n const internalInstanceToIDMap = new WeakMap();\n const internalInstanceToRootIDMap = new WeakMap();\n let getElementIDForHostInstance = null;\n let findHostInstanceForInternalID;\n let getNearestMountedDOMNode = node => {\n return null;\n };\n if (renderer.ComponentTree) {\n getElementIDForHostInstance = node => {\n const internalInstance = renderer.ComponentTree.getClosestInstanceFromNode(node);\n return internalInstanceToIDMap.get(internalInstance) || null;\n };\n findHostInstanceForInternalID = id => {\n const internalInstance = idToInternalInstanceMap.get(id);\n return renderer.ComponentTree.getNodeFromInstance(internalInstance);\n };\n getNearestMountedDOMNode = node => {\n const internalInstance = renderer.ComponentTree.getClosestInstanceFromNode(node);\n if (internalInstance != null) {\n return renderer.ComponentTree.getNodeFromInstance(internalInstance);\n }\n return null;\n };\n } else if (renderer.Mount.getID && renderer.Mount.getNode) {\n getElementIDForHostInstance = node => {\n return null;\n };\n findHostInstanceForInternalID = id => {\n return null;\n };\n }\n const supportsTogglingSuspense = false;\n function getDisplayNameForElementID(id) {\n const internalInstance = idToInternalInstanceMap.get(id);\n return internalInstance ? getData(internalInstance).displayName : null;\n }\n function getID(internalInstance) {\n if (typeof internalInstance !== 'object' || internalInstance === null) {\n throw new Error('Invalid internal instance: ' + internalInstance);\n }\n if (!internalInstanceToIDMap.has(internalInstance)) {\n const id = getUID();\n internalInstanceToIDMap.set(internalInstance, id);\n idToInternalInstanceMap.set(id, internalInstance);\n }\n return internalInstanceToIDMap.get(internalInstance);\n }\n function areEqualArrays(a, b) {\n if (a.length !== b.length) {\n return false;\n }\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n return true;\n }\n let parentIDStack = [];\n let oldReconcilerMethods = null;\n if (renderer.Reconciler) {\n oldReconcilerMethods = decorateMany(renderer.Reconciler, {\n mountComponent(fn, args) {\n const internalInstance = args[0];\n const hostContainerInfo = args[3];\n if (getElementType(internalInstance) === ElementTypeOtherOrUnknown) {\n return fn.apply(this, args);\n }\n if (hostContainerInfo._topLevelWrapper === undefined) {\n return fn.apply(this, args);\n }\n const id = getID(internalInstance);\n const parentID = parentIDStack.length > 0 ? parentIDStack[parentIDStack.length - 1] : 0;\n recordMount(internalInstance, id, parentID);\n parentIDStack.push(id);\n internalInstanceToRootIDMap.set(internalInstance, getID(hostContainerInfo._topLevelWrapper));\n try {\n const result = fn.apply(this, args);\n parentIDStack.pop();\n return result;\n } catch (err) {\n parentIDStack = [];\n throw err;\n } finally {\n if (parentIDStack.length === 0) {\n const rootID = internalInstanceToRootIDMap.get(internalInstance);\n if (rootID === undefined) {\n throw new Error('Expected to find root ID.');\n }\n flushPendingEvents(rootID);\n }\n }\n },\n performUpdateIfNecessary(fn, args) {\n const internalInstance = args[0];\n if (getElementType(internalInstance) === ElementTypeOtherOrUnknown) {\n return fn.apply(this, args);\n }\n const id = getID(internalInstance);\n parentIDStack.push(id);\n const prevChildren = getChildren(internalInstance);\n try {\n const result = fn.apply(this, args);\n const nextChildren = getChildren(internalInstance);\n if (!areEqualArrays(prevChildren, nextChildren)) {\n recordReorder(internalInstance, id, nextChildren);\n }\n parentIDStack.pop();\n return result;\n } catch (err) {\n parentIDStack = [];\n throw err;\n } finally {\n if (parentIDStack.length === 0) {\n const rootID = internalInstanceToRootIDMap.get(internalInstance);\n if (rootID === undefined) {\n throw new Error('Expected to find root ID.');\n }\n flushPendingEvents(rootID);\n }\n }\n },\n receiveComponent(fn, args) {\n const internalInstance = args[0];\n if (getElementType(internalInstance) === ElementTypeOtherOrUnknown) {\n return fn.apply(this, args);\n }\n const id = getID(internalInstance);\n parentIDStack.push(id);\n const prevChildren = getChildren(internalInstance);\n try {\n const result = fn.apply(this, args);\n const nextChildren = getChildren(internalInstance);\n if (!areEqualArrays(prevChildren, nextChildren)) {\n recordReorder(internalInstance, id, nextChildren);\n }\n parentIDStack.pop();\n return result;\n } catch (err) {\n parentIDStack = [];\n throw err;\n } finally {\n if (parentIDStack.length === 0) {\n const rootID = internalInstanceToRootIDMap.get(internalInstance);\n if (rootID === undefined) {\n throw new Error('Expected to find root ID.');\n }\n flushPendingEvents(rootID);\n }\n }\n },\n unmountComponent(fn, args) {\n const internalInstance = args[0];\n if (getElementType(internalInstance) === ElementTypeOtherOrUnknown) {\n return fn.apply(this, args);\n }\n const id = getID(internalInstance);\n parentIDStack.push(id);\n try {\n const result = fn.apply(this, args);\n parentIDStack.pop();\n recordUnmount(internalInstance, id);\n return result;\n } catch (err) {\n parentIDStack = [];\n throw err;\n } finally {\n if (parentIDStack.length === 0) {\n const rootID = internalInstanceToRootIDMap.get(internalInstance);\n if (rootID === undefined) {\n throw new Error('Expected to find root ID.');\n }\n flushPendingEvents(rootID);\n }\n }\n }\n });\n }\n function cleanup() {\n if (oldReconcilerMethods !== null) {\n if (renderer.Component) {\n restoreMany(renderer.Component.Mixin, oldReconcilerMethods);\n } else {\n restoreMany(renderer.Reconciler, oldReconcilerMethods);\n }\n }\n oldReconcilerMethods = null;\n }\n function recordMount(internalInstance, id, parentID) {\n const isRoot = parentID === 0;\n if (__DEBUG__) {\n console.log('%crecordMount()', 'color: green; font-weight: bold;', id, getData(internalInstance).displayName);\n }\n if (isRoot) {\n const hasOwnerMetadata = internalInstance._currentElement != null && internalInstance._currentElement._owner != null;\n pushOperation(TREE_OPERATION_ADD);\n pushOperation(id);\n pushOperation(ElementTypeRoot);\n pushOperation(0);\n pushOperation(0);\n pushOperation(0);\n pushOperation(hasOwnerMetadata ? 1 : 0);\n pushOperation(SUSPENSE_TREE_OPERATION_ADD);\n pushOperation(id);\n pushOperation(parentID);\n pushOperation(getStringID(null));\n pushOperation(0);\n pushOperation(-1);\n } else {\n const type = getElementType(internalInstance);\n const {\n displayName,\n key\n } = getData(internalInstance);\n const ownerID = internalInstance._currentElement != null && internalInstance._currentElement._owner != null ? getID(internalInstance._currentElement._owner) : 0;\n const displayNameStringID = getStringID(displayName);\n const keyStringID = getStringID(key);\n pushOperation(TREE_OPERATION_ADD);\n pushOperation(id);\n pushOperation(type);\n pushOperation(parentID);\n pushOperation(ownerID);\n pushOperation(displayNameStringID);\n pushOperation(keyStringID);\n pushOperation(getStringID(null));\n }\n }\n function recordReorder(internalInstance, id, nextChildren) {\n pushOperation(TREE_OPERATION_REORDER_CHILDREN);\n pushOperation(id);\n const nextChildIDs = nextChildren.map(getID);\n pushOperation(nextChildIDs.length);\n for (let i = 0; i < nextChildIDs.length; i++) {\n pushOperation(nextChildIDs[i]);\n }\n }\n function recordUnmount(internalInstance, id) {\n const isRoot = parentIDStack.length === 0;\n if (isRoot) {\n pendingUnmountedRootID = id;\n } else {\n pendingUnmountedIDs.push(id);\n }\n idToInternalInstanceMap.delete(id);\n }\n function crawlAndRecordInitialMounts(id, parentID, rootID) {\n if (__DEBUG__) {\n console.group('crawlAndRecordInitialMounts() id:', id);\n }\n const internalInstance = idToInternalInstanceMap.get(id);\n if (internalInstance != null) {\n internalInstanceToRootIDMap.set(internalInstance, rootID);\n recordMount(internalInstance, id, parentID);\n getChildren(internalInstance).forEach(child => crawlAndRecordInitialMounts(getID(child), id, rootID));\n }\n if (__DEBUG__) {\n console.groupEnd();\n }\n }\n function flushInitialOperations() {\n const roots = renderer.Mount._instancesByReactRootID || renderer.Mount._instancesByContainerID;\n for (const key in roots) {\n const internalInstance = roots[key];\n const id = getID(internalInstance);\n crawlAndRecordInitialMounts(id, 0, id);\n flushPendingEvents(id);\n }\n }\n const pendingOperations = [];\n const pendingStringTable = new Map();\n let pendingUnmountedIDs = [];\n let pendingStringTableLength = 0;\n let pendingUnmountedRootID = null;\n function flushPendingEvents(rootID) {\n if (pendingOperations.length === 0 && pendingUnmountedIDs.length === 0 && pendingUnmountedRootID === null) {\n return;\n }\n const numUnmountIDs = pendingUnmountedIDs.length + (pendingUnmountedRootID === null ? 0 : 1);\n const operations = new Array(2 + 1 + pendingStringTableLength + (numUnmountIDs > 0 ? 2 + numUnmountIDs : 0) + (pendingUnmountedRootID === null ? 0 : 3) + pendingOperations.length);\n let i = 0;\n operations[i++] = rendererID;\n operations[i++] = rootID;\n operations[i++] = pendingStringTableLength;\n pendingStringTable.forEach((value, key) => {\n operations[i++] = key.length;\n const encodedKey = utfEncodeString(key);\n for (let j = 0; j < encodedKey.length; j++) {\n operations[i + j] = encodedKey[j];\n }\n i += key.length;\n });\n if (numUnmountIDs > 0) {\n operations[i++] = TREE_OPERATION_REMOVE;\n operations[i++] = numUnmountIDs;\n for (let j = 0; j < pendingUnmountedIDs.length; j++) {\n operations[i++] = pendingUnmountedIDs[j];\n }\n if (pendingUnmountedRootID !== null) {\n operations[i] = pendingUnmountedRootID;\n i++;\n operations[i++] = SUSPENSE_TREE_OPERATION_REMOVE;\n operations[i++] = 1;\n operations[i++] = pendingUnmountedRootID;\n }\n }\n for (let j = 0; j < pendingOperations.length; j++) {\n operations[i + j] = pendingOperations[j];\n }\n i += pendingOperations.length;\n if (__DEBUG__) {\n printOperationsArray(operations);\n }\n hook.emit('operations', operations);\n pendingOperations.length = 0;\n pendingUnmountedIDs = [];\n pendingUnmountedRootID = null;\n pendingStringTable.clear();\n pendingStringTableLength = 0;\n }\n function pushOperation(op) {\n if (false) {}\n pendingOperations.push(op);\n }\n function getStringID(str) {\n if (str === null) {\n return 0;\n }\n const existingID = pendingStringTable.get(str);\n if (existingID !== undefined) {\n return existingID;\n }\n const stringID = pendingStringTable.size + 1;\n pendingStringTable.set(str, stringID);\n pendingStringTableLength += str.length + 1;\n return stringID;\n }\n let currentlyInspectedElementID = null;\n let currentlyInspectedPaths = {};\n function mergeInspectedPaths(path) {\n let current = currentlyInspectedPaths;\n path.forEach(key => {\n if (!current[key]) {\n current[key] = {};\n }\n current = current[key];\n });\n }\n function createIsPathAllowed(key) {\n return function isPathAllowed(path) {\n let current = currentlyInspectedPaths[key];\n if (!current) {\n return false;\n }\n for (let i = 0; i < path.length; i++) {\n current = current[path[i]];\n if (!current) {\n return false;\n }\n }\n return true;\n };\n }\n function getInstanceAndStyle(id) {\n let instance = null;\n let style = null;\n const internalInstance = idToInternalInstanceMap.get(id);\n if (internalInstance != null) {\n instance = internalInstance._instance || null;\n const element = internalInstance._currentElement;\n if (element != null && element.props != null) {\n style = element.props.style || null;\n }\n }\n return {\n instance,\n style\n };\n }\n function updateSelectedElement(id) {\n const internalInstance = idToInternalInstanceMap.get(id);\n if (internalInstance == null) {\n console.warn(`Could not find instance with id \"${id}\"`);\n return;\n }\n switch (getElementType(internalInstance)) {\n case types_ElementTypeClass:\n global.$r = internalInstance._instance;\n break;\n case types_ElementTypeFunction:\n const element = internalInstance._currentElement;\n if (element == null) {\n console.warn(`Could not find element with id \"${id}\"`);\n return;\n }\n global.$r = {\n props: element.props,\n type: element.type\n };\n break;\n default:\n global.$r = null;\n break;\n }\n }\n function storeAsGlobal(id, path, count) {\n const inspectedElement = inspectElementRaw(id);\n if (inspectedElement !== null) {\n const value = utils_getInObject(inspectedElement, path);\n const key = `$reactTemp${count}`;\n window[key] = value;\n console.log(key);\n console.log(value);\n }\n }\n function getSerializedElementValueByPath(id, path) {\n const inspectedElement = inspectElementRaw(id);\n if (inspectedElement !== null) {\n const valueToCopy = utils_getInObject(inspectedElement, path);\n return serializeToString(valueToCopy);\n }\n }\n function inspectElement(requestID, id, path, forceFullData) {\n if (forceFullData || currentlyInspectedElementID !== id) {\n currentlyInspectedElementID = id;\n currentlyInspectedPaths = {};\n }\n const inspectedElement = inspectElementRaw(id);\n if (inspectedElement === null) {\n return {\n id,\n responseID: requestID,\n type: 'not-found'\n };\n }\n if (path !== null) {\n mergeInspectedPaths(path);\n }\n updateSelectedElement(id);\n inspectedElement.context = cleanForBridge(inspectedElement.context, createIsPathAllowed('context'));\n inspectedElement.props = cleanForBridge(inspectedElement.props, createIsPathAllowed('props'));\n inspectedElement.state = cleanForBridge(inspectedElement.state, createIsPathAllowed('state'));\n inspectedElement.suspendedBy = cleanForBridge(inspectedElement.suspendedBy, createIsPathAllowed('suspendedBy'));\n return {\n id,\n responseID: requestID,\n type: 'full-data',\n value: inspectedElement\n };\n }\n function inspectElementRaw(id) {\n const internalInstance = idToInternalInstanceMap.get(id);\n if (internalInstance == null) {\n return null;\n }\n const rootID = internalInstanceToRootIDMap.get(internalInstance);\n if (rootID === undefined) {\n throw new Error('Expected to find root ID.');\n }\n const isRoot = rootID === id;\n return isRoot ? inspectRootsRaw(rootID) : inspectInternalInstanceRaw(id, internalInstance);\n }\n function inspectInternalInstanceRaw(id, internalInstance) {\n const {\n key\n } = getData(internalInstance);\n const type = getElementType(internalInstance);\n let context = null;\n let owners = null;\n let props = null;\n let state = null;\n const element = internalInstance._currentElement;\n if (element !== null) {\n props = element.props;\n let owner = element._owner;\n if (owner) {\n owners = [];\n while (owner != null) {\n owners.push({\n displayName: getData(owner).displayName || 'Unknown',\n id: getID(owner),\n key: element.key,\n env: null,\n stack: null,\n type: getElementType(owner)\n });\n if (owner._currentElement) {\n owner = owner._currentElement._owner;\n }\n }\n }\n }\n const publicInstance = internalInstance._instance;\n if (publicInstance != null) {\n context = publicInstance.context || null;\n state = publicInstance.state || null;\n }\n const errors = [];\n const warnings = [];\n return {\n id,\n canEditHooks: false,\n canEditFunctionProps: false,\n canEditHooksAndDeletePaths: false,\n canEditHooksAndRenamePaths: false,\n canEditFunctionPropsDeletePaths: false,\n canEditFunctionPropsRenamePaths: false,\n canToggleError: false,\n isErrored: false,\n canToggleSuspense: false,\n isSuspended: null,\n source: null,\n stack: null,\n hasLegacyContext: true,\n type: type,\n key: key != null ? key : null,\n context,\n hooks: null,\n props,\n state,\n errors,\n warnings,\n suspendedBy: [],\n suspendedByRange: null,\n unknownSuspenders: UNKNOWN_SUSPENDERS_NONE,\n owners,\n env: null,\n rootType: null,\n rendererPackageName: null,\n rendererVersion: null,\n plugins: {\n stylex: null\n },\n nativeTag: null\n };\n }\n function inspectRootsRaw(arbitraryRootID) {\n const roots = renderer.Mount._instancesByReactRootID || renderer.Mount._instancesByContainerID;\n const inspectedRoots = {\n id: arbitraryRootID,\n type: ElementTypeRoot,\n isErrored: false,\n errors: [],\n warnings: [],\n suspendedBy: [],\n suspendedByRange: null,\n unknownSuspenders: UNKNOWN_SUSPENDERS_NONE,\n rootType: null,\n plugins: {\n stylex: null\n },\n nativeTag: null,\n env: null,\n source: null,\n stack: null,\n rendererPackageName: null,\n rendererVersion: null,\n key: null,\n canEditFunctionProps: false,\n canEditHooks: false,\n canEditFunctionPropsDeletePaths: false,\n canEditFunctionPropsRenamePaths: false,\n canEditHooksAndDeletePaths: false,\n canEditHooksAndRenamePaths: false,\n canToggleError: false,\n canToggleSuspense: false,\n isSuspended: false,\n hasLegacyContext: false,\n context: null,\n hooks: null,\n props: null,\n state: null,\n owners: null\n };\n let minSuspendedByRange = Infinity;\n let maxSuspendedByRange = -Infinity;\n for (const rootKey in roots) {\n const internalInstance = roots[rootKey];\n const id = getID(internalInstance);\n const inspectedRoot = inspectInternalInstanceRaw(id, internalInstance);\n if (inspectedRoot === null) {\n return null;\n }\n if (inspectedRoot.isErrored) {\n inspectedRoots.isErrored = true;\n }\n for (let i = 0; i < inspectedRoot.errors.length; i++) {\n inspectedRoots.errors.push(inspectedRoot.errors[i]);\n }\n for (let i = 0; i < inspectedRoot.warnings.length; i++) {\n inspectedRoots.warnings.push(inspectedRoot.warnings[i]);\n }\n for (let i = 0; i < inspectedRoot.suspendedBy.length; i++) {\n inspectedRoots.suspendedBy.push(inspectedRoot.suspendedBy[i]);\n }\n const suspendedByRange = inspectedRoot.suspendedByRange;\n if (suspendedByRange !== null) {\n if (suspendedByRange[0] < minSuspendedByRange) {\n minSuspendedByRange = suspendedByRange[0];\n }\n if (suspendedByRange[1] > maxSuspendedByRange) {\n maxSuspendedByRange = suspendedByRange[1];\n }\n }\n }\n if (minSuspendedByRange !== Infinity || maxSuspendedByRange !== -Infinity) {\n inspectedRoots.suspendedByRange = [minSuspendedByRange, maxSuspendedByRange];\n }\n return inspectedRoots;\n }\n function logElementToConsole(id) {\n const result = inspectElementRaw(id);\n if (result === null) {\n console.warn(`Could not find element with id \"${id}\"`);\n return;\n }\n const displayName = getDisplayNameForElementID(id);\n const supportsGroup = typeof console.groupCollapsed === 'function';\n if (supportsGroup) {\n console.groupCollapsed(`[Click to expand] %c<${displayName || 'Component'} />`, 'color: var(--dom-tag-name-color); font-weight: normal;');\n }\n if (result.props !== null) {\n console.log('Props:', result.props);\n }\n if (result.state !== null) {\n console.log('State:', result.state);\n }\n if (result.context !== null) {\n console.log('Context:', result.context);\n }\n const hostInstance = findHostInstanceForInternalID(id);\n if (hostInstance !== null) {\n console.log('Node:', hostInstance);\n }\n if (window.chrome || /firefox/i.test(navigator.userAgent)) {\n console.log('Right-click any value to save it as a global variable for further inspection.');\n }\n if (supportsGroup) {\n console.groupEnd();\n }\n }\n function getElementAttributeByPath(id, path) {\n const inspectedElement = inspectElementRaw(id);\n if (inspectedElement !== null) {\n return utils_getInObject(inspectedElement, path);\n }\n return undefined;\n }\n function getElementSourceFunctionById(id) {\n const internalInstance = idToInternalInstanceMap.get(id);\n if (internalInstance == null) {\n console.warn(`Could not find instance with id \"${id}\"`);\n return null;\n }\n const element = internalInstance._currentElement;\n if (element == null) {\n console.warn(`Could not find element with id \"${id}\"`);\n return null;\n }\n return element.type;\n }\n function deletePath(type, id, hookID, path) {\n const internalInstance = idToInternalInstanceMap.get(id);\n if (internalInstance != null) {\n const publicInstance = internalInstance._instance;\n if (publicInstance != null) {\n switch (type) {\n case 'context':\n deletePathInObject(publicInstance.context, path);\n forceUpdate(publicInstance);\n break;\n case 'hooks':\n throw new Error('Hooks not supported by this renderer');\n case 'props':\n const element = internalInstance._currentElement;\n internalInstance._currentElement = {\n ...element,\n props: copyWithDelete(element.props, path)\n };\n forceUpdate(publicInstance);\n break;\n case 'state':\n deletePathInObject(publicInstance.state, path);\n forceUpdate(publicInstance);\n break;\n }\n }\n }\n }\n function renamePath(type, id, hookID, oldPath, newPath) {\n const internalInstance = idToInternalInstanceMap.get(id);\n if (internalInstance != null) {\n const publicInstance = internalInstance._instance;\n if (publicInstance != null) {\n switch (type) {\n case 'context':\n renamePathInObject(publicInstance.context, oldPath, newPath);\n forceUpdate(publicInstance);\n break;\n case 'hooks':\n throw new Error('Hooks not supported by this renderer');\n case 'props':\n const element = internalInstance._currentElement;\n internalInstance._currentElement = {\n ...element,\n props: copyWithRename(element.props, oldPath, newPath)\n };\n forceUpdate(publicInstance);\n break;\n case 'state':\n renamePathInObject(publicInstance.state, oldPath, newPath);\n forceUpdate(publicInstance);\n break;\n }\n }\n }\n }\n function overrideValueAtPath(type, id, hookID, path, value) {\n const internalInstance = idToInternalInstanceMap.get(id);\n if (internalInstance != null) {\n const publicInstance = internalInstance._instance;\n if (publicInstance != null) {\n switch (type) {\n case 'context':\n utils_setInObject(publicInstance.context, path, value);\n forceUpdate(publicInstance);\n break;\n case 'hooks':\n throw new Error('Hooks not supported by this renderer');\n case 'props':\n const element = internalInstance._currentElement;\n internalInstance._currentElement = {\n ...element,\n props: copyWithSet(element.props, path, value)\n };\n forceUpdate(publicInstance);\n break;\n case 'state':\n utils_setInObject(publicInstance.state, path, value);\n forceUpdate(publicInstance);\n break;\n }\n }\n }\n }\n const getProfilingData = () => {\n throw new Error('getProfilingData not supported by this renderer');\n };\n const handleCommitFiberRoot = () => {\n throw new Error('handleCommitFiberRoot not supported by this renderer');\n };\n const handleCommitFiberUnmount = () => {\n throw new Error('handleCommitFiberUnmount not supported by this renderer');\n };\n const handlePostCommitFiberRoot = () => {\n throw new Error('handlePostCommitFiberRoot not supported by this renderer');\n };\n const overrideError = () => {\n throw new Error('overrideError not supported by this renderer');\n };\n const overrideSuspense = () => {\n throw new Error('overrideSuspense not supported by this renderer');\n };\n const overrideSuspenseMilestone = () => {\n throw new Error('overrideSuspenseMilestone not supported by this renderer');\n };\n const startProfiling = () => {};\n const stopProfiling = () => {};\n function getBestMatchForTrackedPath() {\n return null;\n }\n function getPathForElement(id) {\n return null;\n }\n function updateComponentFilters(componentFilters) {}\n function getEnvironmentNames() {\n return [];\n }\n function setTraceUpdatesEnabled(enabled) {}\n function setTrackedPath(path) {}\n function getOwnersList(id) {\n return null;\n }\n function clearErrorsAndWarnings() {}\n function clearErrorsForElementID(id) {}\n function clearWarningsForElementID(id) {}\n function hasElementWithId(id) {\n return idToInternalInstanceMap.has(id);\n }\n return {\n clearErrorsAndWarnings,\n clearErrorsForElementID,\n clearWarningsForElementID,\n cleanup,\n getSerializedElementValueByPath,\n deletePath,\n flushInitialOperations,\n getBestMatchForTrackedPath,\n getDisplayNameForElementID,\n getNearestMountedDOMNode,\n getElementIDForHostInstance,\n getSuspenseNodeIDForHostInstance(id) {\n return null;\n },\n getInstanceAndStyle,\n findHostInstancesForElementID: id => {\n const hostInstance = findHostInstanceForInternalID(id);\n return hostInstance == null ? null : [hostInstance];\n },\n findLastKnownRectsForID() {\n return null;\n },\n getOwnersList,\n getPathForElement,\n getProfilingData,\n handleCommitFiberRoot,\n handleCommitFiberUnmount,\n handlePostCommitFiberRoot,\n hasElementWithId,\n inspectElement,\n logElementToConsole,\n overrideError,\n overrideSuspense,\n overrideSuspenseMilestone,\n overrideValueAtPath,\n renamePath,\n getElementAttributeByPath,\n getElementSourceFunctionById,\n renderer,\n setTraceUpdatesEnabled,\n setTrackedPath,\n startProfiling,\n stopProfiling,\n storeAsGlobal,\n supportsTogglingSuspense,\n updateComponentFilters,\n getEnvironmentNames\n };\n}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/attachRenderer.js\n\n\n\n\nfunction isMatchingRender(version) {\n return !hasAssignedBackend(version);\n}\nfunction attachRenderer(hook, id, renderer, global, shouldStartProfilingNow, profilingSettings) {\n if (!isMatchingRender(renderer.reconcilerVersion || renderer.version)) {\n return;\n }\n let rendererInterface = hook.rendererInterfaces.get(id);\n if (rendererInterface == null) {\n if (typeof renderer.getCurrentComponentInfo === 'function') {\n rendererInterface = attach(hook, id, renderer, global);\n } else if (typeof renderer.findFiberByHostInstance === 'function' || renderer.currentDispatcherRef != null) {\n rendererInterface = renderer_attach(hook, id, renderer, global, shouldStartProfilingNow, profilingSettings);\n } else if (renderer.ComponentTree) {\n rendererInterface = legacy_renderer_attach(hook, id, renderer, global);\n } else {}\n }\n return rendererInterface;\n}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/backend/utils/formatConsoleArguments.js\nfunction formatConsoleArguments(maybeMessage, ...inputArgs) {\n if (inputArgs.length === 0 || typeof maybeMessage !== 'string') {\n return [maybeMessage, ...inputArgs];\n }\n const args = inputArgs.slice();\n let template = '';\n let argumentsPointer = 0;\n for (let i = 0; i < maybeMessage.length; ++i) {\n const currentChar = maybeMessage[i];\n if (currentChar !== '%') {\n template += currentChar;\n continue;\n }\n const nextChar = maybeMessage[i + 1];\n ++i;\n switch (nextChar) {\n case 'c':\n case 'O':\n case 'o':\n {\n ++argumentsPointer;\n template += `%${nextChar}`;\n break;\n }\n case 'd':\n case 'i':\n {\n const [arg] = args.splice(argumentsPointer, 1);\n template += parseInt(arg, 10).toString();\n break;\n }\n case 'f':\n {\n const [arg] = args.splice(argumentsPointer, 1);\n template += parseFloat(arg).toString();\n break;\n }\n case 's':\n {\n const [arg] = args.splice(argumentsPointer, 1);\n template += String(arg);\n break;\n }\n default:\n template += `%${nextChar}`;\n }\n }\n return [template, ...args];\n}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/hook.js\n\n\n\n\nconst PREFIX_REGEX = /\\s{4}(in|at)\\s{1}/;\nconst ROW_COLUMN_NUMBER_REGEX = /:\\d+:\\d+(\\n|$)/;\nfunction isStringComponentStack(text) {\n return PREFIX_REGEX.test(text) || ROW_COLUMN_NUMBER_REGEX.test(text);\n}\nconst frameDiffs = / \\(\\<anonymous\\>\\)$|\\@unknown\\:0\\:0$|\\(|\\)|\\[|\\]/gm;\nfunction areStackTracesEqual(a, b) {\n return a.replace(frameDiffs, '') === b.replace(frameDiffs, '');\n}\nconst targetConsole = console;\nconst defaultProfilingSettings = {\n recordChangeDescriptions: false,\n recordTimeline: false\n};\nfunction installHook(target, maybeSettingsOrSettingsPromise, shouldStartProfilingNow = false, profilingSettings = defaultProfilingSettings) {\n if (target.hasOwnProperty('__REACT_DEVTOOLS_GLOBAL_HOOK__')) {\n return null;\n }\n function detectReactBuildType(renderer) {\n try {\n if (typeof renderer.version === 'string') {\n if (renderer.bundleType > 0) {\n return 'development';\n }\n return 'production';\n }\n const toString = Function.prototype.toString;\n if (renderer.Mount && renderer.Mount._renderNewRootComponent) {\n const renderRootCode = toString.call(renderer.Mount._renderNewRootComponent);\n if (renderRootCode.indexOf('function') !== 0) {\n return 'production';\n }\n if (renderRootCode.indexOf('storedMeasure') !== -1) {\n return 'development';\n }\n if (renderRootCode.indexOf('should be a pure function') !== -1) {\n if (renderRootCode.indexOf('NODE_ENV') !== -1) {\n return 'development';\n }\n if (renderRootCode.indexOf('development') !== -1) {\n return 'development';\n }\n if (renderRootCode.indexOf('true') !== -1) {\n return 'development';\n }\n if (renderRootCode.indexOf('nextElement') !== -1 || renderRootCode.indexOf('nextComponent') !== -1) {\n return 'unminified';\n } else {\n return 'development';\n }\n }\n if (renderRootCode.indexOf('nextElement') !== -1 || renderRootCode.indexOf('nextComponent') !== -1) {\n return 'unminified';\n }\n return 'outdated';\n }\n } catch (err) {}\n return 'production';\n }\n function checkDCE(fn) {\n try {\n const toString = Function.prototype.toString;\n const code = toString.call(fn);\n if (code.indexOf('^_^') > -1) {\n hasDetectedBadDCE = true;\n setTimeout(function () {\n throw new Error('React is running in production mode, but dead code ' + 'elimination has not been applied. Read how to correctly ' + 'configure React for production: ' + 'https://react.dev/link/perf-use-production-build');\n });\n }\n } catch (err) {}\n }\n const isProfiling = shouldStartProfilingNow;\n let uidCounter = 0;\n function inject(renderer) {\n const id = ++uidCounter;\n renderers.set(id, renderer);\n const reactBuildType = hasDetectedBadDCE ? 'deadcode' : detectReactBuildType(renderer);\n hook.emit('renderer', {\n id,\n renderer,\n reactBuildType\n });\n const rendererInterface = attachRenderer(hook, id, renderer, target, isProfiling, profilingSettings);\n if (rendererInterface != null) {\n hook.rendererInterfaces.set(id, rendererInterface);\n hook.emit('renderer-attached', {\n id,\n rendererInterface\n });\n } else {\n hook.hasUnsupportedRendererAttached = true;\n hook.emit('unsupported-renderer-version');\n }\n return id;\n }\n let hasDetectedBadDCE = false;\n function sub(event, fn) {\n hook.on(event, fn);\n return () => hook.off(event, fn);\n }\n function on(event, fn) {\n if (!listeners[event]) {\n listeners[event] = [];\n }\n listeners[event].push(fn);\n }\n function off(event, fn) {\n if (!listeners[event]) {\n return;\n }\n const index = listeners[event].indexOf(fn);\n if (index !== -1) {\n listeners[event].splice(index, 1);\n }\n if (!listeners[event].length) {\n delete listeners[event];\n }\n }\n function emit(event, data) {\n if (listeners[event]) {\n listeners[event].map(fn => fn(data));\n }\n }\n function getFiberRoots(rendererID) {\n const roots = fiberRoots;\n if (!roots[rendererID]) {\n roots[rendererID] = new Set();\n }\n return roots[rendererID];\n }\n function onCommitFiberUnmount(rendererID, fiber) {\n const rendererInterface = rendererInterfaces.get(rendererID);\n if (rendererInterface != null) {\n rendererInterface.handleCommitFiberUnmount(fiber);\n }\n }\n function onCommitFiberRoot(rendererID, root, priorityLevel) {\n const mountedRoots = hook.getFiberRoots(rendererID);\n const current = root.current;\n const isKnownRoot = mountedRoots.has(root);\n const isUnmounting = current.memoizedState == null || current.memoizedState.element == null;\n if (!isKnownRoot && !isUnmounting) {\n mountedRoots.add(root);\n } else if (isKnownRoot && isUnmounting) {\n mountedRoots.delete(root);\n }\n const rendererInterface = rendererInterfaces.get(rendererID);\n if (rendererInterface != null) {\n rendererInterface.handleCommitFiberRoot(root, priorityLevel);\n }\n }\n function onPostCommitFiberRoot(rendererID, root) {\n const rendererInterface = rendererInterfaces.get(rendererID);\n if (rendererInterface != null) {\n rendererInterface.handlePostCommitFiberRoot(root);\n }\n }\n let isRunningDuringStrictModeInvocation = false;\n function setStrictMode(rendererID, isStrictMode) {\n isRunningDuringStrictModeInvocation = isStrictMode;\n if (isStrictMode) {\n patchConsoleForStrictMode();\n } else {\n unpatchConsoleForStrictMode();\n }\n }\n const unpatchConsoleCallbacks = [];\n function patchConsoleForStrictMode() {\n if (!hook.settings) {\n return;\n }\n if (unpatchConsoleCallbacks.length > 0) {\n return;\n }\n const consoleMethodsToOverrideForStrictMode = ['group', 'groupCollapsed', 'info', 'log'];\n for (const method of consoleMethodsToOverrideForStrictMode) {\n const originalMethod = targetConsole[method];\n const overrideMethod = (...args) => {\n const settings = hook.settings;\n if (settings == null) {\n originalMethod(...args);\n return;\n }\n if (settings.hideConsoleLogsInStrictMode) {\n return;\n }\n if (false) {} else {\n originalMethod(ANSI_STYLE_DIMMING_TEMPLATE, ...formatConsoleArguments(...args));\n }\n };\n targetConsole[method] = overrideMethod;\n unpatchConsoleCallbacks.push(() => {\n targetConsole[method] = originalMethod;\n });\n }\n }\n function unpatchConsoleForStrictMode() {\n unpatchConsoleCallbacks.forEach(callback => callback());\n unpatchConsoleCallbacks.length = 0;\n }\n const openModuleRangesStack = [];\n const moduleRanges = [];\n function getTopStackFrameString(error) {\n const frames = error.stack.split('\\n');\n const frame = frames.length > 1 ? frames[1] : null;\n return frame;\n }\n function getInternalModuleRanges() {\n return moduleRanges;\n }\n function registerInternalModuleStart(error) {\n const startStackFrame = getTopStackFrameString(error);\n if (startStackFrame !== null) {\n openModuleRangesStack.push(startStackFrame);\n }\n }\n function registerInternalModuleStop(error) {\n if (openModuleRangesStack.length > 0) {\n const startStackFrame = openModuleRangesStack.pop();\n const stopStackFrame = getTopStackFrameString(error);\n if (stopStackFrame !== null) {\n moduleRanges.push([startStackFrame, stopStackFrame]);\n }\n }\n }\n function patchConsoleForErrorsAndWarnings() {\n if (!hook.settings) {\n return;\n }\n const consoleMethodsToOverrideForErrorsAndWarnings = ['error', 'trace', 'warn'];\n for (const method of consoleMethodsToOverrideForErrorsAndWarnings) {\n const originalMethod = targetConsole[method];\n const overrideMethod = (...args) => {\n const settings = hook.settings;\n if (settings == null) {\n originalMethod(...args);\n return;\n }\n if (isRunningDuringStrictModeInvocation && settings.hideConsoleLogsInStrictMode) {\n return;\n }\n let injectedComponentStackAsFakeError = false;\n let alreadyHasComponentStack = false;\n if (settings.appendComponentStack) {\n const lastArg = args.length > 0 ? args[args.length - 1] : null;\n alreadyHasComponentStack = typeof lastArg === 'string' && isStringComponentStack(lastArg);\n }\n const shouldShowInlineWarningsAndErrors = settings.showInlineWarningsAndErrors && (method === 'error' || method === 'warn');\n for (const rendererInterface of hook.rendererInterfaces.values()) {\n const {\n onErrorOrWarning,\n getComponentStack\n } = rendererInterface;\n try {\n if (shouldShowInlineWarningsAndErrors) {\n if (onErrorOrWarning != null) {\n onErrorOrWarning(method, args.slice());\n }\n }\n } catch (error) {\n setTimeout(() => {\n throw error;\n }, 0);\n }\n try {\n if (settings.appendComponentStack && getComponentStack != null) {\n const topFrame = Error('react-stack-top-frame');\n const match = getComponentStack(topFrame);\n if (match !== null) {\n const {\n enableOwnerStacks,\n componentStack\n } = match;\n if (componentStack !== '') {\n const fakeError = new Error('');\n if (false) {} else {\n fakeError.name = enableOwnerStacks ? 'Stack' : 'Component Stack';\n }\n fakeError.stack = false ? 0 : componentStack;\n if (alreadyHasComponentStack) {\n if (areStackTracesEqual(args[args.length - 1], componentStack)) {\n const firstArg = args[0];\n if (args.length > 1 && typeof firstArg === 'string' && firstArg.endsWith('%s')) {\n args[0] = firstArg.slice(0, firstArg.length - 2);\n }\n args[args.length - 1] = fakeError;\n injectedComponentStackAsFakeError = true;\n }\n } else {\n args.push(fakeError);\n injectedComponentStackAsFakeError = true;\n }\n }\n break;\n }\n }\n } catch (error) {\n setTimeout(() => {\n throw error;\n }, 0);\n }\n }\n if (settings.breakOnConsoleErrors) {\n debugger;\n }\n if (isRunningDuringStrictModeInvocation) {\n if (false) {} else {\n originalMethod(injectedComponentStackAsFakeError ? ANSI_STYLE_DIMMING_TEMPLATE_WITH_COMPONENT_STACK : ANSI_STYLE_DIMMING_TEMPLATE, ...formatConsoleArguments(...args));\n }\n } else {\n originalMethod(...args);\n }\n };\n targetConsole[method] = overrideMethod;\n }\n }\n const fiberRoots = {};\n const rendererInterfaces = new Map();\n const listeners = {};\n const renderers = new Map();\n const backends = new Map();\n const hook = {\n rendererInterfaces,\n listeners,\n backends,\n renderers,\n hasUnsupportedRendererAttached: false,\n emit,\n getFiberRoots,\n inject,\n on,\n off,\n sub,\n supportsFiber: true,\n supportsFlight: true,\n checkDCE,\n onCommitFiberUnmount,\n onCommitFiberRoot,\n onPostCommitFiberRoot,\n setStrictMode,\n getInternalModuleRanges,\n registerInternalModuleStart,\n registerInternalModuleStop\n };\n if (maybeSettingsOrSettingsPromise == null) {\n hook.settings = {\n appendComponentStack: true,\n breakOnConsoleErrors: false,\n showInlineWarningsAndErrors: true,\n hideConsoleLogsInStrictMode: false\n };\n patchConsoleForErrorsAndWarnings();\n } else {\n Promise.resolve(maybeSettingsOrSettingsPromise).then(settings => {\n hook.settings = settings;\n hook.emit('settingsInitialized', settings);\n patchConsoleForErrorsAndWarnings();\n }).catch(() => {\n targetConsole.error(\"React DevTools failed to get Console Patching settings. Console won't be patched and some console features will not work.\");\n });\n }\n Object.defineProperty(target, '__REACT_DEVTOOLS_GLOBAL_HOOK__', {\n configurable: false,\n enumerable: false,\n get() {\n return hook;\n }\n });\n return hook;\n}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/backend/NativeStyleEditor/resolveBoxStyle.js\nfunction resolveBoxStyle(prefix, style) {\n let hasParts = false;\n const result = {\n bottom: 0,\n left: 0,\n right: 0,\n top: 0\n };\n const styleForAll = style[prefix];\n if (styleForAll != null) {\n for (const key of Object.keys(result)) {\n result[key] = styleForAll;\n }\n hasParts = true;\n }\n const styleForHorizontal = style[prefix + 'Horizontal'];\n if (styleForHorizontal != null) {\n result.left = styleForHorizontal;\n result.right = styleForHorizontal;\n hasParts = true;\n } else {\n const styleForLeft = style[prefix + 'Left'];\n if (styleForLeft != null) {\n result.left = styleForLeft;\n hasParts = true;\n }\n const styleForRight = style[prefix + 'Right'];\n if (styleForRight != null) {\n result.right = styleForRight;\n hasParts = true;\n }\n const styleForEnd = style[prefix + 'End'];\n if (styleForEnd != null) {\n result.right = styleForEnd;\n hasParts = true;\n }\n const styleForStart = style[prefix + 'Start'];\n if (styleForStart != null) {\n result.left = styleForStart;\n hasParts = true;\n }\n }\n const styleForVertical = style[prefix + 'Vertical'];\n if (styleForVertical != null) {\n result.bottom = styleForVertical;\n result.top = styleForVertical;\n hasParts = true;\n } else {\n const styleForBottom = style[prefix + 'Bottom'];\n if (styleForBottom != null) {\n result.bottom = styleForBottom;\n hasParts = true;\n }\n const styleForTop = style[prefix + 'Top'];\n if (styleForTop != null) {\n result.top = styleForTop;\n hasParts = true;\n }\n }\n return hasParts ? result : null;\n}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/backend/NativeStyleEditor/setupNativeStyleEditor.js\n\n\n\nfunction setupNativeStyleEditor(bridge, agent, resolveNativeStyle, validAttributes) {\n bridge.addListener('NativeStyleEditor_measure', ({\n id,\n rendererID\n }) => {\n measureStyle(agent, bridge, resolveNativeStyle, id, rendererID);\n });\n bridge.addListener('NativeStyleEditor_renameAttribute', ({\n id,\n rendererID,\n oldName,\n newName,\n value\n }) => {\n renameStyle(agent, id, rendererID, oldName, newName, value);\n setTimeout(() => measureStyle(agent, bridge, resolveNativeStyle, id, rendererID));\n });\n bridge.addListener('NativeStyleEditor_setValue', ({\n id,\n rendererID,\n name,\n value\n }) => {\n setStyle(agent, id, rendererID, name, value);\n setTimeout(() => measureStyle(agent, bridge, resolveNativeStyle, id, rendererID));\n });\n bridge.send('isNativeStyleEditorSupported', {\n isSupported: true,\n validAttributes\n });\n}\nconst EMPTY_BOX_STYLE = {\n top: 0,\n left: 0,\n right: 0,\n bottom: 0\n};\nconst componentIDToStyleOverrides = new Map();\nfunction measureStyle(agent, bridge, resolveNativeStyle, id, rendererID) {\n const data = agent.getInstanceAndStyle({\n id,\n rendererID\n });\n if (!data || !data.style) {\n bridge.send('NativeStyleEditor_styleAndLayout', {\n id,\n layout: null,\n style: null\n });\n return;\n }\n const {\n instance,\n style\n } = data;\n let resolvedStyle = resolveNativeStyle(style);\n const styleOverrides = componentIDToStyleOverrides.get(id);\n if (styleOverrides != null) {\n resolvedStyle = Object.assign({}, resolvedStyle, styleOverrides);\n }\n if (!instance || typeof instance.measure !== 'function') {\n bridge.send('NativeStyleEditor_styleAndLayout', {\n id,\n layout: null,\n style: resolvedStyle || null\n });\n return;\n }\n instance.measure((x, y, width, height, left, top) => {\n if (typeof x !== 'number') {\n bridge.send('NativeStyleEditor_styleAndLayout', {\n id,\n layout: null,\n style: resolvedStyle || null\n });\n return;\n }\n const margin = resolvedStyle != null && resolveBoxStyle('margin', resolvedStyle) || EMPTY_BOX_STYLE;\n const padding = resolvedStyle != null && resolveBoxStyle('padding', resolvedStyle) || EMPTY_BOX_STYLE;\n bridge.send('NativeStyleEditor_styleAndLayout', {\n id,\n layout: {\n x,\n y,\n width,\n height,\n left,\n top,\n margin,\n padding\n },\n style: resolvedStyle || null\n });\n });\n}\nfunction shallowClone(object) {\n const cloned = {};\n for (const n in object) {\n cloned[n] = object[n];\n }\n return cloned;\n}\nfunction renameStyle(agent, id, rendererID, oldName, newName, value) {\n const data = agent.getInstanceAndStyle({\n id,\n rendererID\n });\n if (!data || !data.style) {\n return;\n }\n const {\n instance,\n style\n } = data;\n const newStyle = newName ? {\n [oldName]: undefined,\n [newName]: value\n } : {\n [oldName]: undefined\n };\n let customStyle;\n if (instance !== null && typeof instance.setNativeProps === 'function') {\n const styleOverrides = componentIDToStyleOverrides.get(id);\n if (!styleOverrides) {\n componentIDToStyleOverrides.set(id, newStyle);\n } else {\n Object.assign(styleOverrides, newStyle);\n }\n instance.setNativeProps({\n style: newStyle\n });\n } else if (src_isArray(style)) {\n const lastIndex = style.length - 1;\n if (typeof style[lastIndex] === 'object' && !src_isArray(style[lastIndex])) {\n customStyle = shallowClone(style[lastIndex]);\n delete customStyle[oldName];\n if (newName) {\n customStyle[newName] = value;\n } else {\n customStyle[oldName] = undefined;\n }\n agent.overrideValueAtPath({\n type: 'props',\n id,\n rendererID,\n path: ['style', lastIndex],\n value: customStyle\n });\n } else {\n agent.overrideValueAtPath({\n type: 'props',\n id,\n rendererID,\n path: ['style'],\n value: style.concat([newStyle])\n });\n }\n } else if (typeof style === 'object') {\n customStyle = shallowClone(style);\n delete customStyle[oldName];\n if (newName) {\n customStyle[newName] = value;\n } else {\n customStyle[oldName] = undefined;\n }\n agent.overrideValueAtPath({\n type: 'props',\n id,\n rendererID,\n path: ['style'],\n value: customStyle\n });\n } else {\n agent.overrideValueAtPath({\n type: 'props',\n id,\n rendererID,\n path: ['style'],\n value: [style, newStyle]\n });\n }\n agent.emit('hideNativeHighlight');\n}\nfunction setStyle(agent, id, rendererID, name, value) {\n const data = agent.getInstanceAndStyle({\n id,\n rendererID\n });\n if (!data || !data.style) {\n return;\n }\n const {\n instance,\n style\n } = data;\n const newStyle = {\n [name]: value\n };\n if (instance !== null && typeof instance.setNativeProps === 'function') {\n const styleOverrides = componentIDToStyleOverrides.get(id);\n if (!styleOverrides) {\n componentIDToStyleOverrides.set(id, newStyle);\n } else {\n Object.assign(styleOverrides, newStyle);\n }\n instance.setNativeProps({\n style: newStyle\n });\n } else if (src_isArray(style)) {\n const lastLength = style.length - 1;\n if (typeof style[lastLength] === 'object' && !src_isArray(style[lastLength])) {\n agent.overrideValueAtPath({\n type: 'props',\n id,\n rendererID,\n path: ['style', lastLength, name],\n value\n });\n } else {\n agent.overrideValueAtPath({\n type: 'props',\n id,\n rendererID,\n path: ['style'],\n value: style.concat([newStyle])\n });\n }\n } else {\n agent.overrideValueAtPath({\n type: 'props',\n id,\n rendererID,\n path: ['style'],\n value: [style, newStyle]\n });\n }\n agent.emit('hideNativeHighlight');\n}\n;// CONCATENATED MODULE: ./src/backend.js\n\n\n\n\n\n\nfunction startActivation(contentWindow, bridge) {\n const onSavedPreferences = data => {\n bridge.removeListener('savedPreferences', onSavedPreferences);\n const {\n appendComponentStack,\n breakOnConsoleErrors,\n componentFilters,\n showInlineWarningsAndErrors,\n hideConsoleLogsInStrictMode\n } = data;\n contentWindow.__REACT_DEVTOOLS_APPEND_COMPONENT_STACK__ = appendComponentStack;\n contentWindow.__REACT_DEVTOOLS_BREAK_ON_CONSOLE_ERRORS__ = breakOnConsoleErrors;\n contentWindow.__REACT_DEVTOOLS_COMPONENT_FILTERS__ = componentFilters;\n contentWindow.__REACT_DEVTOOLS_SHOW_INLINE_WARNINGS_AND_ERRORS__ = showInlineWarningsAndErrors;\n contentWindow.__REACT_DEVTOOLS_HIDE_CONSOLE_LOGS_IN_STRICT_MODE__ = hideConsoleLogsInStrictMode;\n if (contentWindow !== window) {\n window.__REACT_DEVTOOLS_APPEND_COMPONENT_STACK__ = appendComponentStack;\n window.__REACT_DEVTOOLS_BREAK_ON_CONSOLE_ERRORS__ = breakOnConsoleErrors;\n window.__REACT_DEVTOOLS_COMPONENT_FILTERS__ = componentFilters;\n window.__REACT_DEVTOOLS_SHOW_INLINE_WARNINGS_AND_ERRORS__ = showInlineWarningsAndErrors;\n window.__REACT_DEVTOOLS_HIDE_CONSOLE_LOGS_IN_STRICT_MODE__ = hideConsoleLogsInStrictMode;\n }\n finishActivation(contentWindow, bridge);\n };\n bridge.addListener('savedPreferences', onSavedPreferences);\n bridge.send('getSavedPreferences');\n}\nfunction finishActivation(contentWindow, bridge) {\n const agent = new Agent(bridge, getIfReloadedAndProfiling(), onReloadAndProfile);\n onReloadAndProfileFlagsReset();\n const hook = contentWindow.__REACT_DEVTOOLS_GLOBAL_HOOK__;\n if (hook) {\n initBackend(hook, agent, contentWindow, getIsReloadAndProfileSupported());\n if (hook.resolveRNStyle) {\n setupNativeStyleEditor(bridge, agent, hook.resolveRNStyle, hook.nativeStyleEditorValidAttributes);\n }\n }\n}\nfunction activate(contentWindow, {\n bridge\n} = {}) {\n if (bridge == null) {\n bridge = createBridge(contentWindow);\n }\n startActivation(contentWindow, bridge);\n}\nfunction createBridge(contentWindow, wall) {\n const {\n parent\n } = contentWindow;\n if (wall == null) {\n wall = {\n listen(fn) {\n const onMessage = ({\n data\n }) => {\n fn(data);\n };\n contentWindow.addEventListener('message', onMessage);\n return () => {\n contentWindow.removeEventListener('message', onMessage);\n };\n },\n send(event, payload, transferable) {\n parent.postMessage({\n event,\n payload\n }, '*', transferable);\n }\n };\n }\n return new bridge(wall);\n}\nfunction backend_initialize(contentWindow) {\n installHook(contentWindow);\n}\n})();\n\nmodule.exports = __webpack_exports__;\n/******/ })()\n;\n//# sourceMappingURL=backend.js.map","module.exports = require('./dist/backend');\n","// @ts-expect-error cannot find package\nimport { connectToDevTools } from 'react-devtools-inline/backend'\n// import { onExit } from 'signal-exit'\nimport { WebSocketServer } from 'ws'\n\n// declare global {\n// var WebSocket: typeof WebSocket\n// var self: any\n// var window: any\n// var isDevtoolsEnabled: any\n// }\n\n// Filter out Kubbs's internal components from devtools for a cleaner view.\n// See https://github.com/facebook/react/blob/edf6eac8a181860fd8a2d076a43806f1237495a1/packages/react-devtools-shared/src/types.js#L24\n\n// const customGlobal: any = globalThis\n// customGlobal.WebSocket ||= ws\n// customGlobal.window ||= customGlobal\n// customGlobal.self ||= customGlobal\n// customGlobal.isDevtoolsEnabled = true\n// customGlobal.window.__REACT_DEVTOOLS_COMPONENT_FILTERS__ = [\n// {\n// // ComponentFilterDisplayName\n// type: 2,\n// value: 'Context.Provider',\n// isEnabled: true,\n// isValid: true,\n// },\n// {\n// // ComponentFilterDisplayName\n// type: 2,\n// value: 'KubbRoot',\n// isEnabled: true,\n// isValid: true,\n// },\n// {\n// // ComponentFilterDisplayName\n// type: 2,\n// value: 'KubbErrorBoundary',\n// isEnabled: true,\n// isValid: true,\n// },\n// {\n// // ComponentFilterDisplayName\n// type: 2,\n// value: 'kubb-file',\n// isEnabled: true,\n// isValid: true,\n// },\n// {\n// // ComponentFilterDisplayName\n// type: 2,\n// value: 'kubb-text',\n// isEnabled: true,\n// isValid: true,\n// },\n// {\n// // ComponentFilterDisplayName\n// type: 2,\n// value: 'kubb-import',\n// isEnabled: true,\n// isValid: true,\n// },\n// {\n// // ComponentFilterDisplayName\n// type: 2,\n// value: 'kubb-export',\n// isEnabled: true,\n// isValid: true,\n// },\n// {\n// // ComponentFilterDisplayName\n// type: 2,\n// value: 'kubb-source',\n// isEnabled: true,\n// isValid: true,\n// },\n// ]\n\nfunction openDevtools() {\n // let subprocess: { kill: () => void }\n\n const wss = new WebSocketServer({ port: 8097 })\n\n connectToDevTools({\n websocket: wss,\n })\n\n // import('execa')\n // .then(async (execa) => {\n // console.log('Opening devtools')\n //\n // subprocess = execa.execa({ preferLocal: true })`npx react-devtools`\n // })\n // .then(() => {\n // // @ts-expect-error\n // return import('react-devtools-inline/backend')\n // })\n // .then((devtools) => {\n // console.log('Connecting devtools')\n // console.log(window.__REACT_DEVTOOLS_GLOBAL_HOOK__, customGlobal.window.__REACT_DEVTOOLS_GLOBAL_HOOK__)\n // devtools.initialize()\n // devtools.connectToDevTools()\n // })\n // .catch((err) => {\n // console.log('Error connecting devtools\\n', err)\n // })\n //\n // onExit(\n // () => {\n // console.log('Disconnecting devtools')\n // subprocess?.kill()\n // },\n // { alwaysLast: false },\n // )\n}\n\nopenDevtools()\n"],"x_google_ignoreList":[0,1],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"devtools.cjs","names":["__webpack_require__","Node","exports","i","module","agent","window","nodeToData","onReloadAndProfile","bridge","name","levelChild","FunctionComponent","SimpleMemoComponent","ForwardRef","inspectHooks","current","isEnabled","uidCounter","prefix","WebSocketServer"],"sources":["../../../node_modules/.pnpm/react-devtools-inline@7.0.1/node_modules/react-devtools-inline/dist/backend.js","../../../node_modules/.pnpm/react-devtools-inline@7.0.1/node_modules/react-devtools-inline/backend.js","../src/devtools.ts"],"sourcesContent":["/******/ (() => { // webpackBootstrap\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 3018:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\n\nconst Yallist = __webpack_require__(5986);\nconst MAX = Symbol('max');\nconst LENGTH = Symbol('length');\nconst LENGTH_CALCULATOR = Symbol('lengthCalculator');\nconst ALLOW_STALE = Symbol('allowStale');\nconst MAX_AGE = Symbol('maxAge');\nconst DISPOSE = Symbol('dispose');\nconst NO_DISPOSE_ON_SET = Symbol('noDisposeOnSet');\nconst LRU_LIST = Symbol('lruList');\nconst CACHE = Symbol('cache');\nconst UPDATE_AGE_ON_GET = Symbol('updateAgeOnGet');\nconst naiveLength = () => 1;\nclass LRUCache {\n constructor(options) {\n if (typeof options === 'number') options = {\n max: options\n };\n if (!options) options = {};\n if (options.max && (typeof options.max !== 'number' || options.max < 0)) throw new TypeError('max must be a non-negative number');\n const max = this[MAX] = options.max || Infinity;\n const lc = options.length || naiveLength;\n this[LENGTH_CALCULATOR] = typeof lc !== 'function' ? naiveLength : lc;\n this[ALLOW_STALE] = options.stale || false;\n if (options.maxAge && typeof options.maxAge !== 'number') throw new TypeError('maxAge must be a number');\n this[MAX_AGE] = options.maxAge || 0;\n this[DISPOSE] = options.dispose;\n this[NO_DISPOSE_ON_SET] = options.noDisposeOnSet || false;\n this[UPDATE_AGE_ON_GET] = options.updateAgeOnGet || false;\n this.reset();\n }\n set max(mL) {\n if (typeof mL !== 'number' || mL < 0) throw new TypeError('max must be a non-negative number');\n this[MAX] = mL || Infinity;\n trim(this);\n }\n get max() {\n return this[MAX];\n }\n set allowStale(allowStale) {\n this[ALLOW_STALE] = !!allowStale;\n }\n get allowStale() {\n return this[ALLOW_STALE];\n }\n set maxAge(mA) {\n if (typeof mA !== 'number') throw new TypeError('maxAge must be a non-negative number');\n this[MAX_AGE] = mA;\n trim(this);\n }\n get maxAge() {\n return this[MAX_AGE];\n }\n set lengthCalculator(lC) {\n if (typeof lC !== 'function') lC = naiveLength;\n if (lC !== this[LENGTH_CALCULATOR]) {\n this[LENGTH_CALCULATOR] = lC;\n this[LENGTH] = 0;\n this[LRU_LIST].forEach(hit => {\n hit.length = this[LENGTH_CALCULATOR](hit.value, hit.key);\n this[LENGTH] += hit.length;\n });\n }\n trim(this);\n }\n get lengthCalculator() {\n return this[LENGTH_CALCULATOR];\n }\n get length() {\n return this[LENGTH];\n }\n get itemCount() {\n return this[LRU_LIST].length;\n }\n rforEach(fn, thisp) {\n thisp = thisp || this;\n for (let walker = this[LRU_LIST].tail; walker !== null;) {\n const prev = walker.prev;\n forEachStep(this, fn, walker, thisp);\n walker = prev;\n }\n }\n forEach(fn, thisp) {\n thisp = thisp || this;\n for (let walker = this[LRU_LIST].head; walker !== null;) {\n const next = walker.next;\n forEachStep(this, fn, walker, thisp);\n walker = next;\n }\n }\n keys() {\n return this[LRU_LIST].toArray().map(k => k.key);\n }\n values() {\n return this[LRU_LIST].toArray().map(k => k.value);\n }\n reset() {\n if (this[DISPOSE] && this[LRU_LIST] && this[LRU_LIST].length) {\n this[LRU_LIST].forEach(hit => this[DISPOSE](hit.key, hit.value));\n }\n this[CACHE] = new Map();\n this[LRU_LIST] = new Yallist();\n this[LENGTH] = 0;\n }\n dump() {\n return this[LRU_LIST].map(hit => isStale(this, hit) ? false : {\n k: hit.key,\n v: hit.value,\n e: hit.now + (hit.maxAge || 0)\n }).toArray().filter(h => h);\n }\n dumpLru() {\n return this[LRU_LIST];\n }\n set(key, value, maxAge) {\n maxAge = maxAge || this[MAX_AGE];\n if (maxAge && typeof maxAge !== 'number') throw new TypeError('maxAge must be a number');\n const now = maxAge ? Date.now() : 0;\n const len = this[LENGTH_CALCULATOR](value, key);\n if (this[CACHE].has(key)) {\n if (len > this[MAX]) {\n del(this, this[CACHE].get(key));\n return false;\n }\n const node = this[CACHE].get(key);\n const item = node.value;\n if (this[DISPOSE]) {\n if (!this[NO_DISPOSE_ON_SET]) this[DISPOSE](key, item.value);\n }\n item.now = now;\n item.maxAge = maxAge;\n item.value = value;\n this[LENGTH] += len - item.length;\n item.length = len;\n this.get(key);\n trim(this);\n return true;\n }\n const hit = new Entry(key, value, len, now, maxAge);\n if (hit.length > this[MAX]) {\n if (this[DISPOSE]) this[DISPOSE](key, value);\n return false;\n }\n this[LENGTH] += hit.length;\n this[LRU_LIST].unshift(hit);\n this[CACHE].set(key, this[LRU_LIST].head);\n trim(this);\n return true;\n }\n has(key) {\n if (!this[CACHE].has(key)) return false;\n const hit = this[CACHE].get(key).value;\n return !isStale(this, hit);\n }\n get(key) {\n return get(this, key, true);\n }\n peek(key) {\n return get(this, key, false);\n }\n pop() {\n const node = this[LRU_LIST].tail;\n if (!node) return null;\n del(this, node);\n return node.value;\n }\n del(key) {\n del(this, this[CACHE].get(key));\n }\n load(arr) {\n this.reset();\n const now = Date.now();\n for (let l = arr.length - 1; l >= 0; l--) {\n const hit = arr[l];\n const expiresAt = hit.e || 0;\n if (expiresAt === 0) this.set(hit.k, hit.v);else {\n const maxAge = expiresAt - now;\n if (maxAge > 0) {\n this.set(hit.k, hit.v, maxAge);\n }\n }\n }\n }\n prune() {\n this[CACHE].forEach((value, key) => get(this, key, false));\n }\n}\nconst get = (self, key, doUse) => {\n const node = self[CACHE].get(key);\n if (node) {\n const hit = node.value;\n if (isStale(self, hit)) {\n del(self, node);\n if (!self[ALLOW_STALE]) return undefined;\n } else {\n if (doUse) {\n if (self[UPDATE_AGE_ON_GET]) node.value.now = Date.now();\n self[LRU_LIST].unshiftNode(node);\n }\n }\n return hit.value;\n }\n};\nconst isStale = (self, hit) => {\n if (!hit || !hit.maxAge && !self[MAX_AGE]) return false;\n const diff = Date.now() - hit.now;\n return hit.maxAge ? diff > hit.maxAge : self[MAX_AGE] && diff > self[MAX_AGE];\n};\nconst trim = self => {\n if (self[LENGTH] > self[MAX]) {\n for (let walker = self[LRU_LIST].tail; self[LENGTH] > self[MAX] && walker !== null;) {\n const prev = walker.prev;\n del(self, walker);\n walker = prev;\n }\n }\n};\nconst del = (self, node) => {\n if (node) {\n const hit = node.value;\n if (self[DISPOSE]) self[DISPOSE](hit.key, hit.value);\n self[LENGTH] -= hit.length;\n self[CACHE].delete(hit.key);\n self[LRU_LIST].removeNode(node);\n }\n};\nclass Entry {\n constructor(key, value, length, now, maxAge) {\n this.key = key;\n this.value = value;\n this.length = length;\n this.now = now;\n this.maxAge = maxAge || 0;\n }\n}\nconst forEachStep = (self, fn, node, thisp) => {\n let hit = node.value;\n if (isStale(self, hit)) {\n del(self, node);\n if (!self[ALLOW_STALE]) hit = undefined;\n }\n if (hit) fn.call(thisp, hit.value, hit.key, self);\n};\nmodule.exports = LRUCache;\n\n/***/ }),\n\n/***/ 7533:\n/***/ ((module) => {\n\n\"use strict\";\n\n\nmodule.exports = function (Yallist) {\n Yallist.prototype[Symbol.iterator] = function* () {\n for (let walker = this.head; walker; walker = walker.next) {\n yield walker.value;\n }\n };\n};\n\n/***/ }),\n\n/***/ 5986:\n/***/ ((module, __unused_webpack_exports, __webpack_require__) => {\n\n\"use strict\";\n\n\nmodule.exports = Yallist;\nYallist.Node = Node;\nYallist.create = Yallist;\nfunction Yallist(list) {\n var self = this;\n if (!(self instanceof Yallist)) {\n self = new Yallist();\n }\n self.tail = null;\n self.head = null;\n self.length = 0;\n if (list && typeof list.forEach === 'function') {\n list.forEach(function (item) {\n self.push(item);\n });\n } else if (arguments.length > 0) {\n for (var i = 0, l = arguments.length; i < l; i++) {\n self.push(arguments[i]);\n }\n }\n return self;\n}\nYallist.prototype.removeNode = function (node) {\n if (node.list !== this) {\n throw new Error('removing node which does not belong to this list');\n }\n var next = node.next;\n var prev = node.prev;\n if (next) {\n next.prev = prev;\n }\n if (prev) {\n prev.next = next;\n }\n if (node === this.head) {\n this.head = next;\n }\n if (node === this.tail) {\n this.tail = prev;\n }\n node.list.length--;\n node.next = null;\n node.prev = null;\n node.list = null;\n return next;\n};\nYallist.prototype.unshiftNode = function (node) {\n if (node === this.head) {\n return;\n }\n if (node.list) {\n node.list.removeNode(node);\n }\n var head = this.head;\n node.list = this;\n node.next = head;\n if (head) {\n head.prev = node;\n }\n this.head = node;\n if (!this.tail) {\n this.tail = node;\n }\n this.length++;\n};\nYallist.prototype.pushNode = function (node) {\n if (node === this.tail) {\n return;\n }\n if (node.list) {\n node.list.removeNode(node);\n }\n var tail = this.tail;\n node.list = this;\n node.prev = tail;\n if (tail) {\n tail.next = node;\n }\n this.tail = node;\n if (!this.head) {\n this.head = node;\n }\n this.length++;\n};\nYallist.prototype.push = function () {\n for (var i = 0, l = arguments.length; i < l; i++) {\n push(this, arguments[i]);\n }\n return this.length;\n};\nYallist.prototype.unshift = function () {\n for (var i = 0, l = arguments.length; i < l; i++) {\n unshift(this, arguments[i]);\n }\n return this.length;\n};\nYallist.prototype.pop = function () {\n if (!this.tail) {\n return undefined;\n }\n var res = this.tail.value;\n this.tail = this.tail.prev;\n if (this.tail) {\n this.tail.next = null;\n } else {\n this.head = null;\n }\n this.length--;\n return res;\n};\nYallist.prototype.shift = function () {\n if (!this.head) {\n return undefined;\n }\n var res = this.head.value;\n this.head = this.head.next;\n if (this.head) {\n this.head.prev = null;\n } else {\n this.tail = null;\n }\n this.length--;\n return res;\n};\nYallist.prototype.forEach = function (fn, thisp) {\n thisp = thisp || this;\n for (var walker = this.head, i = 0; walker !== null; i++) {\n fn.call(thisp, walker.value, i, this);\n walker = walker.next;\n }\n};\nYallist.prototype.forEachReverse = function (fn, thisp) {\n thisp = thisp || this;\n for (var walker = this.tail, i = this.length - 1; walker !== null; i--) {\n fn.call(thisp, walker.value, i, this);\n walker = walker.prev;\n }\n};\nYallist.prototype.get = function (n) {\n for (var i = 0, walker = this.head; walker !== null && i < n; i++) {\n walker = walker.next;\n }\n if (i === n && walker !== null) {\n return walker.value;\n }\n};\nYallist.prototype.getReverse = function (n) {\n for (var i = 0, walker = this.tail; walker !== null && i < n; i++) {\n walker = walker.prev;\n }\n if (i === n && walker !== null) {\n return walker.value;\n }\n};\nYallist.prototype.map = function (fn, thisp) {\n thisp = thisp || this;\n var res = new Yallist();\n for (var walker = this.head; walker !== null;) {\n res.push(fn.call(thisp, walker.value, this));\n walker = walker.next;\n }\n return res;\n};\nYallist.prototype.mapReverse = function (fn, thisp) {\n thisp = thisp || this;\n var res = new Yallist();\n for (var walker = this.tail; walker !== null;) {\n res.push(fn.call(thisp, walker.value, this));\n walker = walker.prev;\n }\n return res;\n};\nYallist.prototype.reduce = function (fn, initial) {\n var acc;\n var walker = this.head;\n if (arguments.length > 1) {\n acc = initial;\n } else if (this.head) {\n walker = this.head.next;\n acc = this.head.value;\n } else {\n throw new TypeError('Reduce of empty list with no initial value');\n }\n for (var i = 0; walker !== null; i++) {\n acc = fn(acc, walker.value, i);\n walker = walker.next;\n }\n return acc;\n};\nYallist.prototype.reduceReverse = function (fn, initial) {\n var acc;\n var walker = this.tail;\n if (arguments.length > 1) {\n acc = initial;\n } else if (this.tail) {\n walker = this.tail.prev;\n acc = this.tail.value;\n } else {\n throw new TypeError('Reduce of empty list with no initial value');\n }\n for (var i = this.length - 1; walker !== null; i--) {\n acc = fn(acc, walker.value, i);\n walker = walker.prev;\n }\n return acc;\n};\nYallist.prototype.toArray = function () {\n var arr = new Array(this.length);\n for (var i = 0, walker = this.head; walker !== null; i++) {\n arr[i] = walker.value;\n walker = walker.next;\n }\n return arr;\n};\nYallist.prototype.toArrayReverse = function () {\n var arr = new Array(this.length);\n for (var i = 0, walker = this.tail; walker !== null; i++) {\n arr[i] = walker.value;\n walker = walker.prev;\n }\n return arr;\n};\nYallist.prototype.slice = function (from, to) {\n to = to || this.length;\n if (to < 0) {\n to += this.length;\n }\n from = from || 0;\n if (from < 0) {\n from += this.length;\n }\n var ret = new Yallist();\n if (to < from || to < 0) {\n return ret;\n }\n if (from < 0) {\n from = 0;\n }\n if (to > this.length) {\n to = this.length;\n }\n for (var i = 0, walker = this.head; walker !== null && i < from; i++) {\n walker = walker.next;\n }\n for (; walker !== null && i < to; i++, walker = walker.next) {\n ret.push(walker.value);\n }\n return ret;\n};\nYallist.prototype.sliceReverse = function (from, to) {\n to = to || this.length;\n if (to < 0) {\n to += this.length;\n }\n from = from || 0;\n if (from < 0) {\n from += this.length;\n }\n var ret = new Yallist();\n if (to < from || to < 0) {\n return ret;\n }\n if (from < 0) {\n from = 0;\n }\n if (to > this.length) {\n to = this.length;\n }\n for (var i = this.length, walker = this.tail; walker !== null && i > to; i--) {\n walker = walker.prev;\n }\n for (; walker !== null && i > from; i--, walker = walker.prev) {\n ret.push(walker.value);\n }\n return ret;\n};\nYallist.prototype.splice = function (start, deleteCount) {\n if (start > this.length) {\n start = this.length - 1;\n }\n if (start < 0) {\n start = this.length + start;\n }\n for (var i = 0, walker = this.head; walker !== null && i < start; i++) {\n walker = walker.next;\n }\n var ret = [];\n for (var i = 0; walker && i < deleteCount; i++) {\n ret.push(walker.value);\n walker = this.removeNode(walker);\n }\n if (walker === null) {\n walker = this.tail;\n }\n if (walker !== this.head && walker !== this.tail) {\n walker = walker.prev;\n }\n for (var i = 2; i < arguments.length; i++) {\n walker = insert(this, walker, arguments[i]);\n }\n return ret;\n};\nYallist.prototype.reverse = function () {\n var head = this.head;\n var tail = this.tail;\n for (var walker = head; walker !== null; walker = walker.prev) {\n var p = walker.prev;\n walker.prev = walker.next;\n walker.next = p;\n }\n this.head = tail;\n this.tail = head;\n return this;\n};\nfunction insert(self, node, value) {\n var inserted = node === self.head ? new Node(value, null, node, self) : new Node(value, node, node.next, self);\n if (inserted.next === null) {\n self.tail = inserted;\n }\n if (inserted.prev === null) {\n self.head = inserted;\n }\n self.length++;\n return inserted;\n}\nfunction push(self, item) {\n self.tail = new Node(item, self.tail, null, self);\n if (!self.head) {\n self.head = self.tail;\n }\n self.length++;\n}\nfunction unshift(self, item) {\n self.head = new Node(item, null, self.head, self);\n if (!self.tail) {\n self.tail = self.head;\n }\n self.length++;\n}\nfunction Node(value, prev, next, list) {\n if (!(this instanceof Node)) {\n return new Node(value, prev, next, list);\n }\n this.list = list;\n this.value = value;\n if (prev) {\n prev.next = this;\n this.prev = prev;\n } else {\n this.prev = null;\n }\n if (next) {\n next.prev = this;\n this.next = next;\n } else {\n this.next = null;\n }\n}\ntry {\n __webpack_require__(7533)(Yallist);\n} catch (er) {}\n\n/***/ }),\n\n/***/ 2235:\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (root, factory) {\n 'use strict';\n\n if (true) {\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(5907)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else {}\n})(this, function ErrorStackParser(StackFrame) {\n 'use strict';\n\n var FIREFOX_SAFARI_STACK_REGEXP = /(^|@)\\S+:\\d+/;\n var CHROME_IE_STACK_REGEXP = /^\\s*at .*(\\S+:\\d+|\\(native\\))/m;\n var SAFARI_NATIVE_CODE_REGEXP = /^(eval@)?(\\[native code])?$/;\n return {\n parse: function ErrorStackParser$$parse(error) {\n if (typeof error.stacktrace !== 'undefined' || typeof error['opera#sourceloc'] !== 'undefined') {\n return this.parseOpera(error);\n } else if (error.stack && error.stack.match(CHROME_IE_STACK_REGEXP)) {\n return this.parseV8OrIE(error);\n } else if (error.stack) {\n return this.parseFFOrSafari(error);\n } else {\n throw new Error('Cannot parse given Error object');\n }\n },\n extractLocation: function ErrorStackParser$$extractLocation(urlLike) {\n if (urlLike.indexOf(':') === -1) {\n return [urlLike];\n }\n var regExp = /(.+?)(?::(\\d+))?(?::(\\d+))?$/;\n var parts = regExp.exec(urlLike.replace(/[()]/g, ''));\n return [parts[1], parts[2] || undefined, parts[3] || undefined];\n },\n parseV8OrIE: function ErrorStackParser$$parseV8OrIE(error) {\n var filtered = error.stack.split('\\n').filter(function (line) {\n return !!line.match(CHROME_IE_STACK_REGEXP);\n }, this);\n return filtered.map(function (line) {\n if (line.indexOf('(eval ') > -1) {\n line = line.replace(/eval code/g, 'eval').replace(/(\\(eval at [^()]*)|(,.*$)/g, '');\n }\n var sanitizedLine = line.replace(/^\\s+/, '').replace(/\\(eval code/g, '(').replace(/^.*?\\s+/, '');\n var location = sanitizedLine.match(/ (\\(.+\\)$)/);\n sanitizedLine = location ? sanitizedLine.replace(location[0], '') : sanitizedLine;\n var locationParts = this.extractLocation(location ? location[1] : sanitizedLine);\n var functionName = location && sanitizedLine || undefined;\n var fileName = ['eval', '<anonymous>'].indexOf(locationParts[0]) > -1 ? undefined : locationParts[0];\n return new StackFrame({\n functionName: functionName,\n fileName: fileName,\n lineNumber: locationParts[1],\n columnNumber: locationParts[2],\n source: line\n });\n }, this);\n },\n parseFFOrSafari: function ErrorStackParser$$parseFFOrSafari(error) {\n var filtered = error.stack.split('\\n').filter(function (line) {\n return !line.match(SAFARI_NATIVE_CODE_REGEXP);\n }, this);\n return filtered.map(function (line) {\n if (line.indexOf(' > eval') > -1) {\n line = line.replace(/ line (\\d+)(?: > eval line \\d+)* > eval:\\d+:\\d+/g, ':$1');\n }\n if (line.indexOf('@') === -1 && line.indexOf(':') === -1) {\n return new StackFrame({\n functionName: line\n });\n } else {\n var functionNameRegex = /((.*\".+\"[^@]*)?[^@]*)(?:@)/;\n var matches = line.match(functionNameRegex);\n var functionName = matches && matches[1] ? matches[1] : undefined;\n var locationParts = this.extractLocation(line.replace(functionNameRegex, ''));\n return new StackFrame({\n functionName: functionName,\n fileName: locationParts[0],\n lineNumber: locationParts[1],\n columnNumber: locationParts[2],\n source: line\n });\n }\n }, this);\n },\n parseOpera: function ErrorStackParser$$parseOpera(e) {\n if (!e.stacktrace || e.message.indexOf('\\n') > -1 && e.message.split('\\n').length > e.stacktrace.split('\\n').length) {\n return this.parseOpera9(e);\n } else if (!e.stack) {\n return this.parseOpera10(e);\n } else {\n return this.parseOpera11(e);\n }\n },\n parseOpera9: function ErrorStackParser$$parseOpera9(e) {\n var lineRE = /Line (\\d+).*script (?:in )?(\\S+)/i;\n var lines = e.message.split('\\n');\n var result = [];\n for (var i = 2, len = lines.length; i < len; i += 2) {\n var match = lineRE.exec(lines[i]);\n if (match) {\n result.push(new StackFrame({\n fileName: match[2],\n lineNumber: match[1],\n source: lines[i]\n }));\n }\n }\n return result;\n },\n parseOpera10: function ErrorStackParser$$parseOpera10(e) {\n var lineRE = /Line (\\d+).*script (?:in )?(\\S+)(?:: In function (\\S+))?$/i;\n var lines = e.stacktrace.split('\\n');\n var result = [];\n for (var i = 0, len = lines.length; i < len; i += 2) {\n var match = lineRE.exec(lines[i]);\n if (match) {\n result.push(new StackFrame({\n functionName: match[3] || undefined,\n fileName: match[2],\n lineNumber: match[1],\n source: lines[i]\n }));\n }\n }\n return result;\n },\n parseOpera11: function ErrorStackParser$$parseOpera11(error) {\n var filtered = error.stack.split('\\n').filter(function (line) {\n return !!line.match(FIREFOX_SAFARI_STACK_REGEXP) && !line.match(/^Error created at/);\n }, this);\n return filtered.map(function (line) {\n var tokens = line.split('@');\n var locationParts = this.extractLocation(tokens.pop());\n var functionCall = tokens.shift() || '';\n var functionName = functionCall.replace(/<anonymous function(: (\\w+))?>/, '$2').replace(/\\([^)]*\\)/g, '') || undefined;\n var argsRaw;\n if (functionCall.match(/\\(([^)]*)\\)/)) {\n argsRaw = functionCall.replace(/^[^(]+\\(([^)]*)\\)$/, '$1');\n }\n var args = argsRaw === undefined || argsRaw === '[arguments not available]' ? undefined : argsRaw.split(',');\n return new StackFrame({\n functionName: functionName,\n args: args,\n fileName: locationParts[0],\n lineNumber: locationParts[1],\n columnNumber: locationParts[2],\n source: line\n });\n }, this);\n }\n };\n});\n\n/***/ }),\n\n/***/ 5907:\n/***/ (function(module, exports) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (root, factory) {\n 'use strict';\n\n if (true) {\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else {}\n})(this, function () {\n 'use strict';\n\n function _isNumber(n) {\n return !isNaN(parseFloat(n)) && isFinite(n);\n }\n function _capitalize(str) {\n return str.charAt(0).toUpperCase() + str.substring(1);\n }\n function _getter(p) {\n return function () {\n return this[p];\n };\n }\n var booleanProps = ['isConstructor', 'isEval', 'isNative', 'isToplevel'];\n var numericProps = ['columnNumber', 'lineNumber'];\n var stringProps = ['fileName', 'functionName', 'source'];\n var arrayProps = ['args'];\n var objectProps = ['evalOrigin'];\n var props = booleanProps.concat(numericProps, stringProps, arrayProps, objectProps);\n function StackFrame(obj) {\n if (!obj) return;\n for (var i = 0; i < props.length; i++) {\n if (obj[props[i]] !== undefined) {\n this['set' + _capitalize(props[i])](obj[props[i]]);\n }\n }\n }\n StackFrame.prototype = {\n getArgs: function () {\n return this.args;\n },\n setArgs: function (v) {\n if (Object.prototype.toString.call(v) !== '[object Array]') {\n throw new TypeError('Args must be an Array');\n }\n this.args = v;\n },\n getEvalOrigin: function () {\n return this.evalOrigin;\n },\n setEvalOrigin: function (v) {\n if (v instanceof StackFrame) {\n this.evalOrigin = v;\n } else if (v instanceof Object) {\n this.evalOrigin = new StackFrame(v);\n } else {\n throw new TypeError('Eval Origin must be an Object or StackFrame');\n }\n },\n toString: function () {\n var fileName = this.getFileName() || '';\n var lineNumber = this.getLineNumber() || '';\n var columnNumber = this.getColumnNumber() || '';\n var functionName = this.getFunctionName() || '';\n if (this.getIsEval()) {\n if (fileName) {\n return '[eval] (' + fileName + ':' + lineNumber + ':' + columnNumber + ')';\n }\n return '[eval]:' + lineNumber + ':' + columnNumber;\n }\n if (functionName) {\n return functionName + ' (' + fileName + ':' + lineNumber + ':' + columnNumber + ')';\n }\n return fileName + ':' + lineNumber + ':' + columnNumber;\n }\n };\n StackFrame.fromString = function StackFrame$$fromString(str) {\n var argsStartIndex = str.indexOf('(');\n var argsEndIndex = str.lastIndexOf(')');\n var functionName = str.substring(0, argsStartIndex);\n var args = str.substring(argsStartIndex + 1, argsEndIndex).split(',');\n var locationString = str.substring(argsEndIndex + 1);\n if (locationString.indexOf('@') === 0) {\n var parts = /@(.+?)(?::(\\d+))?(?::(\\d+))?$/.exec(locationString, '');\n var fileName = parts[1];\n var lineNumber = parts[2];\n var columnNumber = parts[3];\n }\n return new StackFrame({\n functionName: functionName,\n args: args || undefined,\n fileName: fileName,\n lineNumber: lineNumber || undefined,\n columnNumber: columnNumber || undefined\n });\n };\n for (var i = 0; i < booleanProps.length; i++) {\n StackFrame.prototype['get' + _capitalize(booleanProps[i])] = _getter(booleanProps[i]);\n StackFrame.prototype['set' + _capitalize(booleanProps[i])] = function (p) {\n return function (v) {\n this[p] = Boolean(v);\n };\n }(booleanProps[i]);\n }\n for (var j = 0; j < numericProps.length; j++) {\n StackFrame.prototype['get' + _capitalize(numericProps[j])] = _getter(numericProps[j]);\n StackFrame.prototype['set' + _capitalize(numericProps[j])] = function (p) {\n return function (v) {\n if (!_isNumber(v)) {\n throw new TypeError(p + ' must be a Number');\n }\n this[p] = Number(v);\n };\n }(numericProps[j]);\n }\n for (var k = 0; k < stringProps.length; k++) {\n StackFrame.prototype['get' + _capitalize(stringProps[k])] = _getter(stringProps[k]);\n StackFrame.prototype['set' + _capitalize(stringProps[k])] = function (p) {\n return function (v) {\n this[p] = String(v);\n };\n }(stringProps[k]);\n }\n return StackFrame;\n});\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t(() => {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = (module) => {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\t() => (module['default']) :\n/******/ \t\t\t\t() => (module);\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t(() => {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = (exports, definition) => {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t(() => {\n/******/ \t\t__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/make namespace object */\n/******/ \t(() => {\n/******/ \t\t// define __esModule on exports\n/******/ \t\t__webpack_require__.r = (exports) => {\n/******/ \t\t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t\t}\n/******/ \t\t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n// This entry need to be wrapped in an IIFE because it need to be in strict mode.\n(() => {\n\"use strict\";\n// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"activate\": () => (/* binding */ activate),\n \"createBridge\": () => (/* binding */ createBridge),\n \"initialize\": () => (/* binding */ backend_initialize)\n});\n\n;// CONCATENATED MODULE: ../react-devtools-shared/src/events.js\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nclass EventEmitter {\n constructor() {\n _defineProperty(this, \"listenersMap\", new Map());\n }\n addListener(event, listener) {\n const listeners = this.listenersMap.get(event);\n if (listeners === undefined) {\n this.listenersMap.set(event, [listener]);\n } else {\n const index = listeners.indexOf(listener);\n if (index < 0) {\n listeners.push(listener);\n }\n }\n }\n emit(event, ...args) {\n const listeners = this.listenersMap.get(event);\n if (listeners !== undefined) {\n if (listeners.length === 1) {\n const listener = listeners[0];\n listener.apply(null, args);\n } else {\n let didThrow = false;\n let caughtError = null;\n const clonedListeners = Array.from(listeners);\n for (let i = 0; i < clonedListeners.length; i++) {\n const listener = clonedListeners[i];\n try {\n listener.apply(null, args);\n } catch (error) {\n if (caughtError === null) {\n didThrow = true;\n caughtError = error;\n }\n }\n }\n if (didThrow) {\n throw caughtError;\n }\n }\n }\n }\n removeAllListeners() {\n this.listenersMap.clear();\n }\n removeListener(event, listener) {\n const listeners = this.listenersMap.get(event);\n if (listeners !== undefined) {\n const index = listeners.indexOf(listener);\n if (index >= 0) {\n listeners.splice(index, 1);\n }\n }\n }\n}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/constants.js\nconst CHROME_WEBSTORE_EXTENSION_ID = 'fmkadmapgofadopljbjfkapdkoienihi';\nconst INTERNAL_EXTENSION_ID = 'dnjnjgbfilfphmojnmhliehogmojhclc';\nconst LOCAL_EXTENSION_ID = 'ikiahnapldjmdmpkmfhjdjilojjhgcbf';\nconst __DEBUG__ = false;\nconst __PERFORMANCE_PROFILE__ = false;\nconst TREE_OPERATION_ADD = 1;\nconst TREE_OPERATION_REMOVE = 2;\nconst TREE_OPERATION_REORDER_CHILDREN = 3;\nconst TREE_OPERATION_UPDATE_TREE_BASE_DURATION = 4;\nconst TREE_OPERATION_UPDATE_ERRORS_OR_WARNINGS = 5;\nconst TREE_OPERATION_REMOVE_ROOT = 6;\nconst TREE_OPERATION_SET_SUBTREE_MODE = 7;\nconst SUSPENSE_TREE_OPERATION_ADD = 8;\nconst SUSPENSE_TREE_OPERATION_REMOVE = 9;\nconst SUSPENSE_TREE_OPERATION_REORDER_CHILDREN = 10;\nconst SUSPENSE_TREE_OPERATION_RESIZE = 11;\nconst SUSPENSE_TREE_OPERATION_SUSPENDERS = 12;\nconst PROFILING_FLAG_BASIC_SUPPORT = 0b001;\nconst PROFILING_FLAG_TIMELINE_SUPPORT = 0b010;\nconst PROFILING_FLAG_PERFORMANCE_TRACKS_SUPPORT = 0b100;\nconst UNKNOWN_SUSPENDERS_NONE = 0;\nconst UNKNOWN_SUSPENDERS_REASON_PRODUCTION = 1;\nconst UNKNOWN_SUSPENDERS_REASON_OLD_VERSION = 2;\nconst UNKNOWN_SUSPENDERS_REASON_THROWN_PROMISE = 3;\nconst LOCAL_STORAGE_DEFAULT_TAB_KEY = 'React::DevTools::defaultTab';\nconst constants_LOCAL_STORAGE_COMPONENT_FILTER_PREFERENCES_KEY = 'React::DevTools::componentFilters';\nconst SESSION_STORAGE_LAST_SELECTION_KEY = 'React::DevTools::lastSelection';\nconst constants_LOCAL_STORAGE_OPEN_IN_EDITOR_URL = 'React::DevTools::openInEditorUrl';\nconst constants_LOCAL_STORAGE_OPEN_IN_EDITOR_URL_PRESET = 'React::DevTools::openInEditorUrlPreset';\nconst constants_LOCAL_STORAGE_ALWAYS_OPEN_IN_EDITOR = 'React::DevTools::alwaysOpenInEditor';\nconst LOCAL_STORAGE_PARSE_HOOK_NAMES_KEY = 'React::DevTools::parseHookNames';\nconst constants_SESSION_STORAGE_RECORD_CHANGE_DESCRIPTIONS_KEY = 'React::DevTools::recordChangeDescriptions';\nconst constants_SESSION_STORAGE_RECORD_TIMELINE_KEY = 'React::DevTools::recordTimeline';\nconst SESSION_STORAGE_RELOAD_AND_PROFILE_KEY = 'React::DevTools::reloadAndProfile';\nconst LOCAL_STORAGE_BROWSER_THEME = 'React::DevTools::theme';\nconst LOCAL_STORAGE_TRACE_UPDATES_ENABLED_KEY = 'React::DevTools::traceUpdatesEnabled';\nconst LOCAL_STORAGE_SUPPORTS_PROFILING_KEY = 'React::DevTools::supportsProfiling';\nconst PROFILER_EXPORT_VERSION = 5;\nconst FIREFOX_CONSOLE_DIMMING_COLOR = 'color: rgba(124, 124, 124, 0.75)';\nconst ANSI_STYLE_DIMMING_TEMPLATE = '\\x1b[2;38;2;124;124;124m%s\\x1b[0m';\nconst ANSI_STYLE_DIMMING_TEMPLATE_WITH_COMPONENT_STACK = '\\x1b[2;38;2;124;124;124m%s %o\\x1b[0m';\n;// CONCATENATED MODULE: ../../node_modules/compare-versions/lib/esm/index.js\nconst compareVersions = (v1, v2) => {\n const n1 = validateAndParse(v1);\n const n2 = validateAndParse(v2);\n const p1 = n1.pop();\n const p2 = n2.pop();\n const r = compareSegments(n1, n2);\n if (r !== 0) return r;\n if (p1 && p2) {\n return compareSegments(p1.split('.'), p2.split('.'));\n } else if (p1 || p2) {\n return p1 ? -1 : 1;\n }\n return 0;\n};\nconst validate = version => typeof version === 'string' && /^[v\\d]/.test(version) && semver.test(version);\nconst compare = (v1, v2, operator) => {\n assertValidOperator(operator);\n const res = compareVersions(v1, v2);\n return operatorResMap[operator].includes(res);\n};\nconst satisfies = (version, range) => {\n const m = range.match(/^([<>=~^]+)/);\n const op = m ? m[1] : '=';\n if (op !== '^' && op !== '~') return compare(version, range, op);\n const [v1, v2, v3,, vp] = validateAndParse(version);\n const [r1, r2, r3,, rp] = validateAndParse(range);\n const v = [v1, v2, v3];\n const r = [r1, r2 !== null && r2 !== void 0 ? r2 : 'x', r3 !== null && r3 !== void 0 ? r3 : 'x'];\n if (rp) {\n if (!vp) return false;\n if (compareSegments(v, r) !== 0) return false;\n if (compareSegments(vp.split('.'), rp.split('.')) === -1) return false;\n }\n const nonZero = r.findIndex(v => v !== '0') + 1;\n const i = op === '~' ? 2 : nonZero > 1 ? nonZero : 1;\n if (compareSegments(v.slice(0, i), r.slice(0, i)) !== 0) return false;\n if (compareSegments(v.slice(i), r.slice(i)) === -1) return false;\n return true;\n};\nconst semver = /^[v^~<>=]*?(\\d+)(?:\\.([x*]|\\d+)(?:\\.([x*]|\\d+)(?:\\.([x*]|\\d+))?(?:-([\\da-z\\-]+(?:\\.[\\da-z\\-]+)*))?(?:\\+[\\da-z\\-]+(?:\\.[\\da-z\\-]+)*)?)?)?$/i;\nconst validateAndParse = version => {\n if (typeof version !== 'string') {\n throw new TypeError('Invalid argument expected string');\n }\n const match = version.match(semver);\n if (!match) {\n throw new Error(`Invalid argument not valid semver ('${version}' received)`);\n }\n match.shift();\n return match;\n};\nconst isWildcard = s => s === '*' || s === 'x' || s === 'X';\nconst tryParse = v => {\n const n = parseInt(v, 10);\n return isNaN(n) ? v : n;\n};\nconst forceType = (a, b) => typeof a !== typeof b ? [String(a), String(b)] : [a, b];\nconst compareStrings = (a, b) => {\n if (isWildcard(a) || isWildcard(b)) return 0;\n const [ap, bp] = forceType(tryParse(a), tryParse(b));\n if (ap > bp) return 1;\n if (ap < bp) return -1;\n return 0;\n};\nconst compareSegments = (a, b) => {\n for (let i = 0; i < Math.max(a.length, b.length); i++) {\n const r = compareStrings(a[i] || '0', b[i] || '0');\n if (r !== 0) return r;\n }\n return 0;\n};\nconst operatorResMap = {\n '>': [1],\n '>=': [0, 1],\n '=': [0],\n '<=': [-1, 0],\n '<': [-1]\n};\nconst allowedOperators = Object.keys(operatorResMap);\nconst assertValidOperator = op => {\n if (typeof op !== 'string') {\n throw new TypeError(`Invalid operator type, expected string but got ${typeof op}`);\n }\n if (allowedOperators.indexOf(op) === -1) {\n throw new Error(`Invalid operator, expected one of ${allowedOperators.join('|')}`);\n }\n};\n// EXTERNAL MODULE: ../../node_modules/lru-cache/index.js\nvar lru_cache = __webpack_require__(3018);\nvar lru_cache_default = /*#__PURE__*/__webpack_require__.n(lru_cache);\n;// CONCATENATED MODULE: ../shared/ReactFeatureFlags.js\nconst enableHydrationLaneScheduling = true;\nconst disableSchedulerTimeoutInWorkLoop = false;\nconst enableSuspenseCallback = false;\nconst enableScopeAPI = false;\nconst enableCreateEventHandleAPI = false;\nconst enableLegacyFBSupport = false;\nconst enableYieldingBeforePassive = false;\nconst enableThrottledScheduling = false;\nconst enableLegacyCache = (/* unused pure expression or super */ null && (true));\nconst enableAsyncIterableChildren = (/* unused pure expression or super */ null && (true));\nconst enableTaint = (/* unused pure expression or super */ null && (true));\nconst enablePostpone = (/* unused pure expression or super */ null && (true));\nconst enableHalt = true;\nconst enableViewTransition = true;\nconst enableGestureTransition = (/* unused pure expression or super */ null && (true));\nconst enableScrollEndPolyfill = (/* unused pure expression or super */ null && (true));\nconst enableSuspenseyImages = false;\nconst enableFizzBlockingRender = (/* unused pure expression or super */ null && (true));\nconst enableSrcObject = (/* unused pure expression or super */ null && (true));\nconst enableHydrationChangeEvent = (/* unused pure expression or super */ null && (true));\nconst enableDefaultTransitionIndicator = (/* unused pure expression or super */ null && (true));\nconst enableObjectFiber = false;\nconst enableTransitionTracing = false;\nconst enableLegacyHidden = false;\nconst enableSuspenseAvoidThisFallback = false;\nconst enableCPUSuspense = (/* unused pure expression or super */ null && (true));\nconst enableNoCloningMemoCache = false;\nconst enableUseEffectEventHook = true;\nconst enableFizzExternalRuntime = (/* unused pure expression or super */ null && (true));\nconst alwaysThrottleRetries = true;\nconst passChildrenWhenCloningPersistedNodes = false;\nconst enableEagerAlternateStateNodeCleanup = true;\nconst enableRetryLaneExpiration = false;\nconst retryLaneExpirationMs = 5000;\nconst syncLaneExpirationMs = 250;\nconst transitionLaneExpirationMs = 5000;\nconst enableInfiniteRenderLoopDetection = false;\nconst enableFragmentRefs = true;\nconst enableFragmentRefsScrollIntoView = true;\nconst renameElementSymbol = true;\nconst enableHiddenSubtreeInsertionEffectCleanup = true;\nconst disableLegacyContext = true;\nconst disableLegacyContextForFunctionComponents = true;\nconst enableMoveBefore = false;\nconst disableClientCache = true;\nconst enableReactTestRendererWarning = true;\nconst disableLegacyMode = true;\nconst disableCommentsAsDOMContainers = true;\nconst enableTrustedTypesIntegration = false;\nconst disableInputAttributeSyncing = false;\nconst disableTextareaChildren = false;\nconst enableProfilerTimer = (/* unused pure expression or super */ null && (false));\nconst enableComponentPerformanceTrack = true;\nconst enableSchedulingProfiler = !enableComponentPerformanceTrack && false;\nconst enableProfilerCommitHooks = (/* unused pure expression or super */ null && (false));\nconst enableProfilerNestedUpdatePhase = (/* unused pure expression or super */ null && (false));\nconst enableAsyncDebugInfo = true;\nconst enableUpdaterTracking = (/* unused pure expression or super */ null && (false));\nconst ownerStackLimit = 1e4;\n;// CONCATENATED MODULE: ../shared/ReactSymbols.js\n\nconst REACT_LEGACY_ELEMENT_TYPE = Symbol.for('react.element');\nconst REACT_ELEMENT_TYPE = renameElementSymbol ? Symbol.for('react.transitional.element') : REACT_LEGACY_ELEMENT_TYPE;\nconst REACT_PORTAL_TYPE = Symbol.for('react.portal');\nconst REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nconst REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nconst REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nconst REACT_CONSUMER_TYPE = Symbol.for('react.consumer');\nconst REACT_CONTEXT_TYPE = Symbol.for('react.context');\nconst REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nconst REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nconst REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nconst REACT_MEMO_TYPE = Symbol.for('react.memo');\nconst REACT_LAZY_TYPE = Symbol.for('react.lazy');\nconst REACT_SCOPE_TYPE = Symbol.for('react.scope');\nconst REACT_ACTIVITY_TYPE = Symbol.for('react.activity');\nconst REACT_LEGACY_HIDDEN_TYPE = Symbol.for('react.legacy_hidden');\nconst REACT_TRACING_MARKER_TYPE = Symbol.for('react.tracing_marker');\nconst REACT_MEMO_CACHE_SENTINEL = Symbol.for('react.memo_cache_sentinel');\nconst REACT_POSTPONE_TYPE = Symbol.for('react.postpone');\nconst REACT_VIEW_TRANSITION_TYPE = Symbol.for('react.view_transition');\nconst MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nconst FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n const maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n return null;\n}\nconst ASYNC_ITERATOR = Symbol.asyncIterator;\n;// CONCATENATED MODULE: ../react-devtools-shared/src/frontend/types.js\nconst types_ElementTypeClass = 1;\nconst ElementTypeContext = 2;\nconst types_ElementTypeFunction = 5;\nconst types_ElementTypeForwardRef = 6;\nconst ElementTypeHostComponent = 7;\nconst types_ElementTypeMemo = 8;\nconst ElementTypeOtherOrUnknown = 9;\nconst ElementTypeProfiler = 10;\nconst ElementTypeRoot = 11;\nconst ElementTypeSuspense = 12;\nconst ElementTypeSuspenseList = 13;\nconst ElementTypeTracingMarker = 14;\nconst types_ElementTypeVirtual = 15;\nconst ElementTypeViewTransition = 16;\nconst ElementTypeActivity = 17;\nconst ComponentFilterElementType = 1;\nconst ComponentFilterDisplayName = 2;\nconst ComponentFilterLocation = 3;\nconst ComponentFilterHOC = 4;\nconst ComponentFilterEnvironmentName = 5;\nconst StrictMode = 1;\n;// CONCATENATED MODULE: ../react-devtools-shared/src/storage.js\nfunction storage_localStorageGetItem(key) {\n try {\n return localStorage.getItem(key);\n } catch (error) {\n return null;\n }\n}\nfunction localStorageRemoveItem(key) {\n try {\n localStorage.removeItem(key);\n } catch (error) {}\n}\nfunction storage_localStorageSetItem(key, value) {\n try {\n return localStorage.setItem(key, value);\n } catch (error) {}\n}\nfunction storage_sessionStorageGetItem(key) {\n try {\n return sessionStorage.getItem(key);\n } catch (error) {\n return null;\n }\n}\nfunction sessionStorageRemoveItem(key) {\n try {\n sessionStorage.removeItem(key);\n } catch (error) {}\n}\nfunction sessionStorageSetItem(key, value) {\n try {\n return sessionStorage.setItem(key, value);\n } catch (error) {}\n}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/isArray.js\nconst isArray = Array.isArray;\n/* harmony default export */ const src_isArray = (isArray);\n;// CONCATENATED MODULE: ../react-devtools-shared/src/utils.js\n\n\n\n\n\n\n\n\n\nconst utils_hasOwnProperty = Object.prototype.hasOwnProperty;\nconst cachedDisplayNames = new WeakMap();\nconst encodedStringCache = new (lru_cache_default())({\n max: 1000\n});\nconst LEGACY_REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nfunction alphaSortKeys(a, b) {\n if (a.toString() > b.toString()) {\n return 1;\n } else if (b.toString() > a.toString()) {\n return -1;\n } else {\n return 0;\n }\n}\nfunction getAllEnumerableKeys(obj) {\n const keys = new Set();\n let current = obj;\n while (current != null) {\n const currentKeys = [...Object.keys(current), ...Object.getOwnPropertySymbols(current)];\n const descriptors = Object.getOwnPropertyDescriptors(current);\n currentKeys.forEach(key => {\n if (descriptors[key].enumerable) {\n keys.add(key);\n }\n });\n current = Object.getPrototypeOf(current);\n }\n return keys;\n}\nfunction getWrappedDisplayName(outerType, innerType, wrapperName, fallbackName) {\n const displayName = outerType?.displayName;\n return displayName || `${wrapperName}(${getDisplayName(innerType, fallbackName)})`;\n}\nfunction getDisplayName(type, fallbackName = 'Anonymous') {\n const nameFromCache = cachedDisplayNames.get(type);\n if (nameFromCache != null) {\n return nameFromCache;\n }\n let displayName = fallbackName;\n if (typeof type.displayName === 'string') {\n displayName = type.displayName;\n } else if (typeof type.name === 'string' && type.name !== '') {\n displayName = type.name;\n }\n cachedDisplayNames.set(type, displayName);\n return displayName;\n}\nlet uidCounter = 0;\nfunction getUID() {\n return ++uidCounter;\n}\nfunction utfDecodeStringWithRanges(array, left, right) {\n let string = '';\n for (let i = left; i <= right; i++) {\n string += String.fromCodePoint(array[i]);\n }\n return string;\n}\nfunction surrogatePairToCodePoint(charCode1, charCode2) {\n return ((charCode1 & 0x3ff) << 10) + (charCode2 & 0x3ff) + 0x10000;\n}\nfunction utfEncodeString(string) {\n const cached = encodedStringCache.get(string);\n if (cached !== undefined) {\n return cached;\n }\n const encoded = [];\n let i = 0;\n let charCode;\n while (i < string.length) {\n charCode = string.charCodeAt(i);\n if ((charCode & 0xf800) === 0xd800) {\n encoded.push(surrogatePairToCodePoint(charCode, string.charCodeAt(++i)));\n } else {\n encoded.push(charCode);\n }\n ++i;\n }\n encodedStringCache.set(string, encoded);\n return encoded;\n}\nfunction printOperationsArray(operations) {\n const rendererID = operations[0];\n const rootID = operations[1];\n const logs = [`operations for renderer:${rendererID} and root:${rootID}`];\n let i = 2;\n const stringTable = [null];\n const stringTableSize = operations[i++];\n const stringTableEnd = i + stringTableSize;\n while (i < stringTableEnd) {\n const nextLength = operations[i++];\n const nextString = utfDecodeStringWithRanges(operations, i, i + nextLength - 1);\n stringTable.push(nextString);\n i += nextLength;\n }\n while (i < operations.length) {\n const operation = operations[i];\n switch (operation) {\n case TREE_OPERATION_ADD:\n {\n const id = operations[i + 1];\n const type = operations[i + 2];\n i += 3;\n if (type === ElementTypeRoot) {\n logs.push(`Add new root node ${id}`);\n i++;\n i++;\n i++;\n i++;\n } else {\n const parentID = operations[i];\n i++;\n i++;\n const displayNameStringID = operations[i];\n const displayName = stringTable[displayNameStringID];\n i++;\n i++;\n i++;\n logs.push(`Add node ${id} (${displayName || 'null'}) as child of ${parentID}`);\n }\n break;\n }\n case TREE_OPERATION_REMOVE:\n {\n const removeLength = operations[i + 1];\n i += 2;\n for (let removeIndex = 0; removeIndex < removeLength; removeIndex++) {\n const id = operations[i];\n i += 1;\n logs.push(`Remove node ${id}`);\n }\n break;\n }\n case TREE_OPERATION_REMOVE_ROOT:\n {\n i += 1;\n logs.push(`Remove root ${rootID}`);\n break;\n }\n case TREE_OPERATION_SET_SUBTREE_MODE:\n {\n const id = operations[i + 1];\n const mode = operations[i + 2];\n i += 3;\n logs.push(`Mode ${mode} set for subtree with root ${id}`);\n break;\n }\n case TREE_OPERATION_REORDER_CHILDREN:\n {\n const id = operations[i + 1];\n const numChildren = operations[i + 2];\n i += 3;\n const children = operations.slice(i, i + numChildren);\n i += numChildren;\n logs.push(`Re-order node ${id} children ${children.join(',')}`);\n break;\n }\n case TREE_OPERATION_UPDATE_TREE_BASE_DURATION:\n i += 3;\n break;\n case TREE_OPERATION_UPDATE_ERRORS_OR_WARNINGS:\n {\n const id = operations[i + 1];\n const numErrors = operations[i + 2];\n const numWarnings = operations[i + 3];\n i += 4;\n logs.push(`Node ${id} has ${numErrors} errors and ${numWarnings} warnings`);\n break;\n }\n case SUSPENSE_TREE_OPERATION_ADD:\n {\n const fiberID = operations[i + 1];\n const parentID = operations[i + 2];\n const nameStringID = operations[i + 3];\n const isSuspended = operations[i + 4];\n const numRects = operations[i + 5];\n i += 6;\n const name = stringTable[nameStringID];\n let rects;\n if (numRects === -1) {\n rects = 'null';\n } else {\n rects = '[';\n for (let rectIndex = 0; rectIndex < numRects; rectIndex++) {\n const offset = i + rectIndex * 4;\n const x = operations[offset + 0];\n const y = operations[offset + 1];\n const width = operations[offset + 2];\n const height = operations[offset + 3];\n if (rectIndex > 0) {\n rects += ', ';\n }\n rects += `(${x}, ${y}, ${width}, ${height})`;\n i += 4;\n }\n rects += ']';\n }\n logs.push(`Add suspense node ${fiberID} (${String(name)},rects={${rects}}) under ${parentID} suspended ${isSuspended}`);\n break;\n }\n case SUSPENSE_TREE_OPERATION_REMOVE:\n {\n const removeLength = operations[i + 1];\n i += 2;\n for (let removeIndex = 0; removeIndex < removeLength; removeIndex++) {\n const id = operations[i];\n i += 1;\n logs.push(`Remove suspense node ${id}`);\n }\n break;\n }\n case SUSPENSE_TREE_OPERATION_REORDER_CHILDREN:\n {\n const id = operations[i + 1];\n const numChildren = operations[i + 2];\n i += 3;\n const children = operations.slice(i, i + numChildren);\n i += numChildren;\n logs.push(`Re-order suspense node ${id} children ${children.join(',')}`);\n break;\n }\n case SUSPENSE_TREE_OPERATION_RESIZE:\n {\n const id = operations[i + 1];\n const numRects = operations[i + 2];\n i += 3;\n if (numRects === -1) {\n logs.push(`Resize suspense node ${id} to null`);\n } else {\n let line = `Resize suspense node ${id} to [`;\n for (let rectIndex = 0; rectIndex < numRects; rectIndex++) {\n const x = operations[i + 0];\n const y = operations[i + 1];\n const width = operations[i + 2];\n const height = operations[i + 3];\n if (rectIndex > 0) {\n line += ', ';\n }\n line += `(${x}, ${y}, ${width}, ${height})`;\n i += 4;\n }\n logs.push(line + ']');\n }\n break;\n }\n case SUSPENSE_TREE_OPERATION_SUSPENDERS:\n {\n i++;\n const changeLength = operations[i++];\n for (let changeIndex = 0; changeIndex < changeLength; changeIndex++) {\n const id = operations[i++];\n const hasUniqueSuspenders = operations[i++] === 1;\n const isSuspended = operations[i++] === 1;\n const environmentNamesLength = operations[i++];\n i += environmentNamesLength;\n logs.push(`Suspense node ${id} unique suspenders set to ${String(hasUniqueSuspenders)} is suspended set to ${String(isSuspended)} with ${String(environmentNamesLength)} environments`);\n }\n break;\n }\n default:\n throw Error(`Unsupported Bridge operation \"${operation}\"`);\n }\n }\n console.log(logs.join('\\n '));\n}\nfunction getDefaultComponentFilters() {\n return [{\n type: ComponentFilterElementType,\n value: ElementTypeHostComponent,\n isEnabled: true\n }];\n}\nfunction getSavedComponentFilters() {\n try {\n const raw = localStorageGetItem(LOCAL_STORAGE_COMPONENT_FILTER_PREFERENCES_KEY);\n if (raw != null) {\n const parsedFilters = JSON.parse(raw);\n return filterOutLocationComponentFilters(parsedFilters);\n }\n } catch (error) {}\n return getDefaultComponentFilters();\n}\nfunction setSavedComponentFilters(componentFilters) {\n localStorageSetItem(LOCAL_STORAGE_COMPONENT_FILTER_PREFERENCES_KEY, JSON.stringify(filterOutLocationComponentFilters(componentFilters)));\n}\nfunction filterOutLocationComponentFilters(componentFilters) {\n if (!Array.isArray(componentFilters)) {\n return componentFilters;\n }\n return componentFilters.filter(f => f.type !== ComponentFilterLocation);\n}\nconst vscodeFilepath = 'vscode://file/{path}:{line}:{column}';\nfunction getDefaultPreset() {\n return false ? 0 : 'vscode';\n}\nfunction getDefaultOpenInEditorURL() {\n return false ? 0 : vscodeFilepath;\n}\nfunction getOpenInEditorURL() {\n try {\n const rawPreset = localStorageGetItem(LOCAL_STORAGE_OPEN_IN_EDITOR_URL_PRESET);\n switch (rawPreset) {\n case '\"vscode\"':\n return vscodeFilepath;\n }\n const raw = localStorageGetItem(LOCAL_STORAGE_OPEN_IN_EDITOR_URL);\n if (raw != null) {\n return JSON.parse(raw);\n }\n } catch (error) {}\n return getDefaultOpenInEditorURL();\n}\nfunction getAlwaysOpenInEditor() {\n try {\n const raw = localStorageGetItem(LOCAL_STORAGE_ALWAYS_OPEN_IN_EDITOR);\n return raw === 'true';\n } catch (error) {}\n return false;\n}\nfunction parseElementDisplayNameFromBackend(displayName, type) {\n if (displayName === null) {\n return {\n formattedDisplayName: null,\n hocDisplayNames: null,\n compiledWithForget: false\n };\n }\n if (displayName.startsWith('Forget(')) {\n const displayNameWithoutForgetWrapper = displayName.slice(7, displayName.length - 1);\n const {\n formattedDisplayName,\n hocDisplayNames\n } = parseElementDisplayNameFromBackend(displayNameWithoutForgetWrapper, type);\n return {\n formattedDisplayName,\n hocDisplayNames,\n compiledWithForget: true\n };\n }\n let hocDisplayNames = null;\n switch (type) {\n case ElementTypeClass:\n case ElementTypeForwardRef:\n case ElementTypeFunction:\n case ElementTypeMemo:\n case ElementTypeVirtual:\n if (displayName.indexOf('(') >= 0) {\n const matches = displayName.match(/[^()]+/g);\n if (matches != null) {\n displayName = matches.pop();\n hocDisplayNames = matches;\n }\n }\n break;\n default:\n break;\n }\n return {\n formattedDisplayName: displayName,\n hocDisplayNames,\n compiledWithForget: false\n };\n}\nfunction shallowDiffers(prev, next) {\n for (const attribute in prev) {\n if (!(attribute in next)) {\n return true;\n }\n }\n for (const attribute in next) {\n if (prev[attribute] !== next[attribute]) {\n return true;\n }\n }\n return false;\n}\nfunction utils_getInObject(object, path) {\n return path.reduce((reduced, attr) => {\n if (reduced) {\n if (utils_hasOwnProperty.call(reduced, attr)) {\n return reduced[attr];\n }\n if (typeof reduced[Symbol.iterator] === 'function') {\n return Array.from(reduced)[attr];\n }\n }\n return null;\n }, object);\n}\nfunction deletePathInObject(object, path) {\n const length = path.length;\n const last = path[length - 1];\n if (object != null) {\n const parent = utils_getInObject(object, path.slice(0, length - 1));\n if (parent) {\n if (src_isArray(parent)) {\n parent.splice(last, 1);\n } else {\n delete parent[last];\n }\n }\n }\n}\nfunction renamePathInObject(object, oldPath, newPath) {\n const length = oldPath.length;\n if (object != null) {\n const parent = utils_getInObject(object, oldPath.slice(0, length - 1));\n if (parent) {\n const lastOld = oldPath[length - 1];\n const lastNew = newPath[length - 1];\n parent[lastNew] = parent[lastOld];\n if (src_isArray(parent)) {\n parent.splice(lastOld, 1);\n } else {\n delete parent[lastOld];\n }\n }\n }\n}\nfunction utils_setInObject(object, path, value) {\n const length = path.length;\n const last = path[length - 1];\n if (object != null) {\n const parent = utils_getInObject(object, path.slice(0, length - 1));\n if (parent) {\n parent[last] = value;\n }\n }\n}\nfunction isError(data) {\n if ('name' in data && 'message' in data) {\n while (data) {\n if (Object.prototype.toString.call(data) === '[object Error]') {\n return true;\n }\n data = Object.getPrototypeOf(data);\n }\n }\n return false;\n}\nfunction getDataType(data) {\n if (data === null) {\n return 'null';\n } else if (data === undefined) {\n return 'undefined';\n }\n if (typeof HTMLElement !== 'undefined' && data instanceof HTMLElement) {\n return 'html_element';\n }\n const type = typeof data;\n switch (type) {\n case 'bigint':\n return 'bigint';\n case 'boolean':\n return 'boolean';\n case 'function':\n return 'function';\n case 'number':\n if (Number.isNaN(data)) {\n return 'nan';\n } else if (!Number.isFinite(data)) {\n return 'infinity';\n } else {\n return 'number';\n }\n case 'object':\n switch (data.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_LEGACY_ELEMENT_TYPE:\n return 'react_element';\n case REACT_LAZY_TYPE:\n return 'react_lazy';\n }\n if (src_isArray(data)) {\n return 'array';\n } else if (ArrayBuffer.isView(data)) {\n return utils_hasOwnProperty.call(data.constructor, 'BYTES_PER_ELEMENT') ? 'typed_array' : 'data_view';\n } else if (data.constructor && data.constructor.name === 'ArrayBuffer') {\n return 'array_buffer';\n } else if (typeof data[Symbol.iterator] === 'function') {\n const iterator = data[Symbol.iterator]();\n if (!iterator) {} else {\n return iterator === data ? 'opaque_iterator' : 'iterator';\n }\n } else if (data.constructor && data.constructor.name === 'RegExp') {\n return 'regexp';\n } else if (typeof data.then === 'function') {\n return 'thenable';\n } else if (isError(data)) {\n return 'error';\n } else {\n const toStringValue = Object.prototype.toString.call(data);\n if (toStringValue === '[object Date]') {\n return 'date';\n } else if (toStringValue === '[object HTMLAllCollection]') {\n return 'html_all_collection';\n }\n }\n if (!isPlainObject(data)) {\n return 'class_instance';\n }\n return 'object';\n case 'string':\n return 'string';\n case 'symbol':\n return 'symbol';\n case 'undefined':\n if (Object.prototype.toString.call(data) === '[object HTMLAllCollection]') {\n return 'html_all_collection';\n }\n return 'undefined';\n default:\n return 'unknown';\n }\n}\nfunction typeOfWithLegacyElementSymbol(object) {\n if (typeof object === 'object' && object !== null) {\n const $$typeof = object.$$typeof;\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_LEGACY_ELEMENT_TYPE:\n const type = object.type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n case REACT_SUSPENSE_LIST_TYPE:\n case REACT_VIEW_TRANSITION_TYPE:\n return type;\n default:\n const $$typeofType = type && type.$$typeof;\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n return $$typeofType;\n case REACT_CONSUMER_TYPE:\n return $$typeofType;\n default:\n return $$typeof;\n }\n }\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n return undefined;\n}\nfunction getDisplayNameForReactElement(element) {\n const elementType = typeOfWithLegacyElementSymbol(element);\n switch (elementType) {\n case REACT_CONSUMER_TYPE:\n return 'ContextConsumer';\n case LEGACY_REACT_PROVIDER_TYPE:\n return 'ContextProvider';\n case REACT_CONTEXT_TYPE:\n return 'Context';\n case REACT_FORWARD_REF_TYPE:\n return 'ForwardRef';\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n case REACT_LAZY_TYPE:\n return 'Lazy';\n case REACT_MEMO_TYPE:\n return 'Memo';\n case REACT_PORTAL_TYPE:\n return 'Portal';\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n case REACT_VIEW_TRANSITION_TYPE:\n return 'ViewTransition';\n case REACT_TRACING_MARKER_TYPE:\n return 'TracingMarker';\n default:\n const {\n type\n } = element;\n if (typeof type === 'string') {\n return type;\n } else if (typeof type === 'function') {\n return getDisplayName(type, 'Anonymous');\n } else if (type != null) {\n return 'NotImplementedInDevtools';\n } else {\n return 'Element';\n }\n }\n}\nconst MAX_PREVIEW_STRING_LENGTH = 50;\nfunction truncateForDisplay(string, length = MAX_PREVIEW_STRING_LENGTH) {\n if (string.length > length) {\n return string.slice(0, length) + '…';\n } else {\n return string;\n }\n}\nfunction formatDataForPreview(data, showFormattedValue) {\n if (data != null && utils_hasOwnProperty.call(data, meta.type)) {\n return showFormattedValue ? data[meta.preview_long] : data[meta.preview_short];\n }\n const type = getDataType(data);\n switch (type) {\n case 'html_element':\n return `<${truncateForDisplay(data.tagName.toLowerCase())} />`;\n case 'function':\n if (typeof data.name === 'function' || data.name === '') {\n return '() => {}';\n }\n return `${truncateForDisplay(data.name)}() {}`;\n case 'string':\n return `\"${data}\"`;\n case 'bigint':\n return truncateForDisplay(data.toString() + 'n');\n case 'regexp':\n return truncateForDisplay(data.toString());\n case 'symbol':\n return truncateForDisplay(data.toString());\n case 'react_element':\n return `<${truncateForDisplay(getDisplayNameForReactElement(data) || 'Unknown')} />`;\n case 'react_lazy':\n const payload = data._payload;\n if (payload !== null && typeof payload === 'object') {\n if (payload._status === 0) {\n return `pending lazy()`;\n }\n if (payload._status === 1 && payload._result != null) {\n if (showFormattedValue) {\n const formatted = formatDataForPreview(payload._result.default, false);\n return `fulfilled lazy() {${truncateForDisplay(formatted)}}`;\n } else {\n return `fulfilled lazy() {…}`;\n }\n }\n if (payload._status === 2) {\n if (showFormattedValue) {\n const formatted = formatDataForPreview(payload._result, false);\n return `rejected lazy() {${truncateForDisplay(formatted)}}`;\n } else {\n return `rejected lazy() {…}`;\n }\n }\n if (payload.status === 'pending' || payload.status === 'blocked') {\n return `pending lazy()`;\n }\n if (payload.status === 'fulfilled') {\n if (showFormattedValue) {\n const formatted = formatDataForPreview(payload.value, false);\n return `fulfilled lazy() {${truncateForDisplay(formatted)}}`;\n } else {\n return `fulfilled lazy() {…}`;\n }\n }\n if (payload.status === 'rejected') {\n if (showFormattedValue) {\n const formatted = formatDataForPreview(payload.reason, false);\n return `rejected lazy() {${truncateForDisplay(formatted)}}`;\n } else {\n return `rejected lazy() {…}`;\n }\n }\n }\n return 'lazy()';\n case 'array_buffer':\n return `ArrayBuffer(${data.byteLength})`;\n case 'data_view':\n return `DataView(${data.buffer.byteLength})`;\n case 'array':\n if (showFormattedValue) {\n let formatted = '';\n for (let i = 0; i < data.length; i++) {\n if (i > 0) {\n formatted += ', ';\n }\n formatted += formatDataForPreview(data[i], false);\n if (formatted.length > MAX_PREVIEW_STRING_LENGTH) {\n break;\n }\n }\n return `[${truncateForDisplay(formatted)}]`;\n } else {\n const length = utils_hasOwnProperty.call(data, meta.size) ? data[meta.size] : data.length;\n return `Array(${length})`;\n }\n case 'typed_array':\n const shortName = `${data.constructor.name}(${data.length})`;\n if (showFormattedValue) {\n let formatted = '';\n for (let i = 0; i < data.length; i++) {\n if (i > 0) {\n formatted += ', ';\n }\n formatted += data[i];\n if (formatted.length > MAX_PREVIEW_STRING_LENGTH) {\n break;\n }\n }\n return `${shortName} [${truncateForDisplay(formatted)}]`;\n } else {\n return shortName;\n }\n case 'iterator':\n const name = data.constructor.name;\n if (showFormattedValue) {\n const array = Array.from(data);\n let formatted = '';\n for (let i = 0; i < array.length; i++) {\n const entryOrEntries = array[i];\n if (i > 0) {\n formatted += ', ';\n }\n if (src_isArray(entryOrEntries)) {\n const key = formatDataForPreview(entryOrEntries[0], true);\n const value = formatDataForPreview(entryOrEntries[1], false);\n formatted += `${key} => ${value}`;\n } else {\n formatted += formatDataForPreview(entryOrEntries, false);\n }\n if (formatted.length > MAX_PREVIEW_STRING_LENGTH) {\n break;\n }\n }\n return `${name}(${data.size}) {${truncateForDisplay(formatted)}}`;\n } else {\n return `${name}(${data.size})`;\n }\n case 'opaque_iterator':\n {\n return data[Symbol.toStringTag];\n }\n case 'date':\n return data.toString();\n case 'class_instance':\n try {\n let resolvedConstructorName = data.constructor.name;\n if (typeof resolvedConstructorName === 'string') {\n return resolvedConstructorName;\n }\n resolvedConstructorName = Object.getPrototypeOf(data).constructor.name;\n if (typeof resolvedConstructorName === 'string') {\n return resolvedConstructorName;\n }\n try {\n return truncateForDisplay(String(data));\n } catch (error) {\n return 'unserializable';\n }\n } catch (error) {\n return 'unserializable';\n }\n case 'thenable':\n let displayName;\n if (isPlainObject(data)) {\n displayName = 'Thenable';\n } else {\n let resolvedConstructorName = data.constructor.name;\n if (typeof resolvedConstructorName !== 'string') {\n resolvedConstructorName = Object.getPrototypeOf(data).constructor.name;\n }\n if (typeof resolvedConstructorName === 'string') {\n displayName = resolvedConstructorName;\n } else {\n displayName = 'Thenable';\n }\n }\n switch (data.status) {\n case 'pending':\n return `pending ${displayName}`;\n case 'fulfilled':\n if (showFormattedValue) {\n const formatted = formatDataForPreview(data.value, false);\n return `fulfilled ${displayName} {${truncateForDisplay(formatted)}}`;\n } else {\n return `fulfilled ${displayName} {…}`;\n }\n case 'rejected':\n if (showFormattedValue) {\n const formatted = formatDataForPreview(data.reason, false);\n return `rejected ${displayName} {${truncateForDisplay(formatted)}}`;\n } else {\n return `rejected ${displayName} {…}`;\n }\n default:\n return displayName;\n }\n case 'object':\n if (showFormattedValue) {\n const keys = Array.from(getAllEnumerableKeys(data)).sort(alphaSortKeys);\n let formatted = '';\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (i > 0) {\n formatted += ', ';\n }\n formatted += `${key.toString()}: ${formatDataForPreview(data[key], false)}`;\n if (formatted.length > MAX_PREVIEW_STRING_LENGTH) {\n break;\n }\n }\n return `{${truncateForDisplay(formatted)}}`;\n } else {\n return '{…}';\n }\n case 'error':\n return truncateForDisplay(String(data));\n case 'boolean':\n case 'number':\n case 'infinity':\n case 'nan':\n case 'null':\n case 'undefined':\n return String(data);\n default:\n try {\n return truncateForDisplay(String(data));\n } catch (error) {\n return 'unserializable';\n }\n }\n}\nconst isPlainObject = object => {\n const objectPrototype = Object.getPrototypeOf(object);\n if (!objectPrototype) return true;\n const objectParentPrototype = Object.getPrototypeOf(objectPrototype);\n return !objectParentPrototype;\n};\nfunction backendToFrontendSerializedElementMapper(element) {\n const {\n formattedDisplayName,\n hocDisplayNames,\n compiledWithForget\n } = parseElementDisplayNameFromBackend(element.displayName, element.type);\n return {\n ...element,\n displayName: formattedDisplayName,\n hocDisplayNames,\n compiledWithForget\n };\n}\nfunction normalizeUrlIfValid(url) {\n try {\n return new URL(url).toString();\n } catch {\n return url;\n }\n}\nfunction getIsReloadAndProfileSupported() {\n let isBackendStorageAPISupported = false;\n try {\n localStorage.getItem('test');\n isBackendStorageAPISupported = true;\n } catch (error) {}\n return isBackendStorageAPISupported && isSynchronousXHRSupported();\n}\nfunction getIfReloadedAndProfiling() {\n return storage_sessionStorageGetItem(SESSION_STORAGE_RELOAD_AND_PROFILE_KEY) === 'true';\n}\nfunction getProfilingSettings() {\n return {\n recordChangeDescriptions: sessionStorageGetItem(SESSION_STORAGE_RECORD_CHANGE_DESCRIPTIONS_KEY) === 'true',\n recordTimeline: sessionStorageGetItem(SESSION_STORAGE_RECORD_TIMELINE_KEY) === 'true'\n };\n}\nfunction onReloadAndProfile(recordChangeDescriptions, recordTimeline) {\n sessionStorageSetItem(SESSION_STORAGE_RELOAD_AND_PROFILE_KEY, 'true');\n sessionStorageSetItem(constants_SESSION_STORAGE_RECORD_CHANGE_DESCRIPTIONS_KEY, recordChangeDescriptions ? 'true' : 'false');\n sessionStorageSetItem(constants_SESSION_STORAGE_RECORD_TIMELINE_KEY, recordTimeline ? 'true' : 'false');\n}\nfunction onReloadAndProfileFlagsReset() {\n sessionStorageRemoveItem(SESSION_STORAGE_RELOAD_AND_PROFILE_KEY);\n sessionStorageRemoveItem(constants_SESSION_STORAGE_RECORD_CHANGE_DESCRIPTIONS_KEY);\n sessionStorageRemoveItem(constants_SESSION_STORAGE_RECORD_TIMELINE_KEY);\n}\nfunction unionOfTwoArrays(a, b) {\n let result = a;\n for (let i = 0; i < b.length; i++) {\n const value = b[i];\n if (a.indexOf(value) === -1) {\n if (result === a) {\n result = a.slice(0);\n }\n result.push(value);\n }\n }\n return result;\n}\n;// CONCATENATED MODULE: ../shared/noop.js\nfunction noop() {}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/hydration.js\n\n\n\nconst meta = {\n inspectable: Symbol('inspectable'),\n inspected: Symbol('inspected'),\n name: Symbol('name'),\n preview_long: Symbol('preview_long'),\n preview_short: Symbol('preview_short'),\n readonly: Symbol('readonly'),\n size: Symbol('size'),\n type: Symbol('type'),\n unserializable: Symbol('unserializable')\n};\nconst LEVEL_THRESHOLD = 2;\nfunction createDehydrated(type, inspectable, data, cleaned, path) {\n cleaned.push(path);\n const dehydrated = {\n inspectable,\n type,\n preview_long: formatDataForPreview(data, true),\n preview_short: formatDataForPreview(data, false),\n name: typeof data.constructor !== 'function' || typeof data.constructor.name !== 'string' || data.constructor.name === 'Object' ? '' : data.constructor.name\n };\n if (type === 'array' || type === 'typed_array') {\n dehydrated.size = data.length;\n } else if (type === 'object') {\n dehydrated.size = Object.keys(data).length;\n }\n if (type === 'iterator' || type === 'typed_array') {\n dehydrated.readonly = true;\n }\n return dehydrated;\n}\nfunction dehydrate(data, cleaned, unserializable, path, isPathAllowed, level = 0) {\n const type = getDataType(data);\n let isPathAllowedCheck;\n switch (type) {\n case 'html_element':\n cleaned.push(path);\n return {\n inspectable: false,\n preview_short: formatDataForPreview(data, false),\n preview_long: formatDataForPreview(data, true),\n name: data.tagName,\n type\n };\n case 'function':\n cleaned.push(path);\n return {\n inspectable: false,\n preview_short: formatDataForPreview(data, false),\n preview_long: formatDataForPreview(data, true),\n name: typeof data.name === 'function' || !data.name ? 'function' : data.name,\n type\n };\n case 'string':\n isPathAllowedCheck = isPathAllowed(path);\n if (isPathAllowedCheck) {\n return data;\n } else {\n return data.length <= 500 ? data : data.slice(0, 500) + '...';\n }\n case 'bigint':\n cleaned.push(path);\n return {\n inspectable: false,\n preview_short: formatDataForPreview(data, false),\n preview_long: formatDataForPreview(data, true),\n name: data.toString(),\n type\n };\n case 'symbol':\n cleaned.push(path);\n return {\n inspectable: false,\n preview_short: formatDataForPreview(data, false),\n preview_long: formatDataForPreview(data, true),\n name: data.toString(),\n type\n };\n case 'react_element':\n {\n isPathAllowedCheck = isPathAllowed(path);\n if (level >= LEVEL_THRESHOLD && !isPathAllowedCheck) {\n cleaned.push(path);\n return {\n inspectable: true,\n preview_short: formatDataForPreview(data, false),\n preview_long: formatDataForPreview(data, true),\n name: getDisplayNameForReactElement(data) || 'Unknown',\n type\n };\n }\n const unserializableValue = {\n unserializable: true,\n type,\n readonly: true,\n preview_short: formatDataForPreview(data, false),\n preview_long: formatDataForPreview(data, true),\n name: getDisplayNameForReactElement(data) || 'Unknown'\n };\n unserializableValue.key = dehydrate(data.key, cleaned, unserializable, path.concat(['key']), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);\n if (data.$$typeof === REACT_LEGACY_ELEMENT_TYPE) {\n unserializableValue.ref = dehydrate(data.ref, cleaned, unserializable, path.concat(['ref']), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);\n }\n unserializableValue.props = dehydrate(data.props, cleaned, unserializable, path.concat(['props']), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);\n unserializable.push(path);\n return unserializableValue;\n }\n case 'react_lazy':\n {\n isPathAllowedCheck = isPathAllowed(path);\n const payload = data._payload;\n if (level >= LEVEL_THRESHOLD && !isPathAllowedCheck) {\n cleaned.push(path);\n const inspectable = payload !== null && typeof payload === 'object' && (payload._status === 1 || payload._status === 2 || payload.status === 'fulfilled' || payload.status === 'rejected');\n return {\n inspectable,\n preview_short: formatDataForPreview(data, false),\n preview_long: formatDataForPreview(data, true),\n name: 'lazy()',\n type\n };\n }\n const unserializableValue = {\n unserializable: true,\n type: type,\n preview_short: formatDataForPreview(data, false),\n preview_long: formatDataForPreview(data, true),\n name: 'lazy()'\n };\n unserializableValue._payload = dehydrate(payload, cleaned, unserializable, path.concat(['_payload']), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);\n unserializable.push(path);\n return unserializableValue;\n }\n case 'array_buffer':\n case 'data_view':\n cleaned.push(path);\n return {\n inspectable: false,\n preview_short: formatDataForPreview(data, false),\n preview_long: formatDataForPreview(data, true),\n name: type === 'data_view' ? 'DataView' : 'ArrayBuffer',\n size: data.byteLength,\n type\n };\n case 'array':\n isPathAllowedCheck = isPathAllowed(path);\n if (level >= LEVEL_THRESHOLD && !isPathAllowedCheck) {\n return createDehydrated(type, true, data, cleaned, path);\n }\n const arr = [];\n for (let i = 0; i < data.length; i++) {\n arr[i] = dehydrateKey(data, i, cleaned, unserializable, path.concat([i]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);\n }\n return arr;\n case 'html_all_collection':\n case 'typed_array':\n case 'iterator':\n isPathAllowedCheck = isPathAllowed(path);\n if (level >= LEVEL_THRESHOLD && !isPathAllowedCheck) {\n return createDehydrated(type, true, data, cleaned, path);\n } else {\n const unserializableValue = {\n unserializable: true,\n type: type,\n readonly: true,\n size: type === 'typed_array' ? data.length : undefined,\n preview_short: formatDataForPreview(data, false),\n preview_long: formatDataForPreview(data, true),\n name: typeof data.constructor !== 'function' || typeof data.constructor.name !== 'string' || data.constructor.name === 'Object' ? '' : data.constructor.name\n };\n Array.from(data).forEach((item, i) => unserializableValue[i] = dehydrate(item, cleaned, unserializable, path.concat([i]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1));\n unserializable.push(path);\n return unserializableValue;\n }\n case 'opaque_iterator':\n cleaned.push(path);\n return {\n inspectable: false,\n preview_short: formatDataForPreview(data, false),\n preview_long: formatDataForPreview(data, true),\n name: data[Symbol.toStringTag],\n type\n };\n case 'date':\n cleaned.push(path);\n return {\n inspectable: false,\n preview_short: formatDataForPreview(data, false),\n preview_long: formatDataForPreview(data, true),\n name: data.toString(),\n type\n };\n case 'regexp':\n cleaned.push(path);\n return {\n inspectable: false,\n preview_short: formatDataForPreview(data, false),\n preview_long: formatDataForPreview(data, true),\n name: data.toString(),\n type\n };\n case 'thenable':\n isPathAllowedCheck = isPathAllowed(path);\n if (level >= LEVEL_THRESHOLD && !isPathAllowedCheck) {\n cleaned.push(path);\n return {\n inspectable: data.status === 'fulfilled' || data.status === 'rejected',\n preview_short: formatDataForPreview(data, false),\n preview_long: formatDataForPreview(data, true),\n name: data.toString(),\n type\n };\n }\n if (data.status === 'resolved_model' || data.status === 'resolve_module') {\n data.then(noop);\n }\n switch (data.status) {\n case 'fulfilled':\n {\n const unserializableValue = {\n unserializable: true,\n type: type,\n preview_short: formatDataForPreview(data, false),\n preview_long: formatDataForPreview(data, true),\n name: 'fulfilled Thenable'\n };\n unserializableValue.value = dehydrate(data.value, cleaned, unserializable, path.concat(['value']), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);\n unserializable.push(path);\n return unserializableValue;\n }\n case 'rejected':\n {\n const unserializableValue = {\n unserializable: true,\n type: type,\n preview_short: formatDataForPreview(data, false),\n preview_long: formatDataForPreview(data, true),\n name: 'rejected Thenable'\n };\n unserializableValue.reason = dehydrate(data.reason, cleaned, unserializable, path.concat(['reason']), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);\n unserializable.push(path);\n return unserializableValue;\n }\n default:\n cleaned.push(path);\n return {\n inspectable: false,\n preview_short: formatDataForPreview(data, false),\n preview_long: formatDataForPreview(data, true),\n name: data.toString(),\n type\n };\n }\n case 'object':\n isPathAllowedCheck = isPathAllowed(path);\n if (level >= LEVEL_THRESHOLD && !isPathAllowedCheck) {\n return createDehydrated(type, true, data, cleaned, path);\n } else {\n const object = {};\n getAllEnumerableKeys(data).forEach(key => {\n const name = key.toString();\n object[name] = dehydrateKey(data, key, cleaned, unserializable, path.concat([name]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);\n });\n return object;\n }\n case 'class_instance':\n {\n isPathAllowedCheck = isPathAllowed(path);\n if (level >= LEVEL_THRESHOLD && !isPathAllowedCheck) {\n return createDehydrated(type, true, data, cleaned, path);\n }\n const value = {\n unserializable: true,\n type,\n readonly: true,\n preview_short: formatDataForPreview(data, false),\n preview_long: formatDataForPreview(data, true),\n name: typeof data.constructor !== 'function' || typeof data.constructor.name !== 'string' ? '' : data.constructor.name\n };\n getAllEnumerableKeys(data).forEach(key => {\n const keyAsString = key.toString();\n value[keyAsString] = dehydrate(data[key], cleaned, unserializable, path.concat([keyAsString]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);\n });\n unserializable.push(path);\n return value;\n }\n case 'error':\n {\n isPathAllowedCheck = isPathAllowed(path);\n if (level >= LEVEL_THRESHOLD && !isPathAllowedCheck) {\n return createDehydrated(type, true, data, cleaned, path);\n }\n const value = {\n unserializable: true,\n type,\n readonly: true,\n preview_short: formatDataForPreview(data, false),\n preview_long: formatDataForPreview(data, true),\n name: data.name\n };\n value.message = dehydrate(data.message, cleaned, unserializable, path.concat(['message']), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);\n value.stack = dehydrate(data.stack, cleaned, unserializable, path.concat(['stack']), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);\n if ('cause' in data) {\n value.cause = dehydrate(data.cause, cleaned, unserializable, path.concat(['cause']), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);\n }\n getAllEnumerableKeys(data).forEach(key => {\n const keyAsString = key.toString();\n value[keyAsString] = dehydrate(data[key], cleaned, unserializable, path.concat([keyAsString]), isPathAllowed, isPathAllowedCheck ? 1 : level + 1);\n });\n unserializable.push(path);\n return value;\n }\n case 'infinity':\n case 'nan':\n case 'undefined':\n cleaned.push(path);\n return {\n type\n };\n default:\n return data;\n }\n}\nfunction dehydrateKey(parent, key, cleaned, unserializable, path, isPathAllowed, level = 0) {\n try {\n return dehydrate(parent[key], cleaned, unserializable, path, isPathAllowed, level);\n } catch (error) {\n let preview = '';\n if (typeof error === 'object' && error !== null && typeof error.stack === 'string') {\n preview = error.stack;\n } else if (typeof error === 'string') {\n preview = error;\n }\n cleaned.push(path);\n return {\n inspectable: false,\n preview_short: '[Exception]',\n preview_long: preview ? '[Exception: ' + preview + ']' : '[Exception]',\n name: preview,\n type: 'unknown'\n };\n }\n}\nfunction fillInPath(object, data, path, value) {\n const target = getInObject(object, path);\n if (target != null) {\n if (!target[meta.unserializable]) {\n delete target[meta.inspectable];\n delete target[meta.inspected];\n delete target[meta.name];\n delete target[meta.preview_long];\n delete target[meta.preview_short];\n delete target[meta.readonly];\n delete target[meta.size];\n delete target[meta.type];\n }\n }\n if (value !== null && data.unserializable.length > 0) {\n const unserializablePath = data.unserializable[0];\n let isMatch = unserializablePath.length === path.length;\n for (let i = 0; i < path.length; i++) {\n if (path[i] !== unserializablePath[i]) {\n isMatch = false;\n break;\n }\n }\n if (isMatch) {\n upgradeUnserializable(value, value);\n }\n }\n setInObject(object, path, value);\n}\nfunction hydrate(object, cleaned, unserializable) {\n cleaned.forEach(path => {\n const length = path.length;\n const last = path[length - 1];\n const parent = getInObject(object, path.slice(0, length - 1));\n if (!parent || !parent.hasOwnProperty(last)) {\n return;\n }\n const value = parent[last];\n if (!value) {\n return;\n } else if (value.type === 'infinity') {\n parent[last] = Infinity;\n } else if (value.type === 'nan') {\n parent[last] = NaN;\n } else if (value.type === 'undefined') {\n parent[last] = undefined;\n } else {\n const replaced = {};\n replaced[meta.inspectable] = !!value.inspectable;\n replaced[meta.inspected] = false;\n replaced[meta.name] = value.name;\n replaced[meta.preview_long] = value.preview_long;\n replaced[meta.preview_short] = value.preview_short;\n replaced[meta.size] = value.size;\n replaced[meta.readonly] = !!value.readonly;\n replaced[meta.type] = value.type;\n parent[last] = replaced;\n }\n });\n unserializable.forEach(path => {\n const length = path.length;\n const last = path[length - 1];\n const parent = getInObject(object, path.slice(0, length - 1));\n if (!parent || !parent.hasOwnProperty(last)) {\n return;\n }\n const node = parent[last];\n const replacement = {\n ...node\n };\n upgradeUnserializable(replacement, node);\n parent[last] = replacement;\n });\n return object;\n}\nfunction upgradeUnserializable(destination, source) {\n Object.defineProperties(destination, {\n [meta.inspected]: {\n configurable: true,\n enumerable: false,\n value: !!source.inspected\n },\n [meta.name]: {\n configurable: true,\n enumerable: false,\n value: source.name\n },\n [meta.preview_long]: {\n configurable: true,\n enumerable: false,\n value: source.preview_long\n },\n [meta.preview_short]: {\n configurable: true,\n enumerable: false,\n value: source.preview_short\n },\n [meta.size]: {\n configurable: true,\n enumerable: false,\n value: source.size\n },\n [meta.readonly]: {\n configurable: true,\n enumerable: false,\n value: !!source.readonly\n },\n [meta.type]: {\n configurable: true,\n enumerable: false,\n value: source.type\n },\n [meta.unserializable]: {\n configurable: true,\n enumerable: false,\n value: !!source.unserializable\n }\n });\n delete destination.inspected;\n delete destination.name;\n delete destination.preview_long;\n delete destination.preview_short;\n delete destination.size;\n delete destination.readonly;\n delete destination.type;\n delete destination.unserializable;\n}\n;// CONCATENATED MODULE: ../shared/isArray.js\nconst isArrayImpl = Array.isArray;\nfunction isArray_isArray(a) {\n return isArrayImpl(a);\n}\n/* harmony default export */ const shared_isArray = (isArray_isArray);\n;// CONCATENATED MODULE: ../react-devtools-shared/src/backend/utils/index.js\n\n\n\n\n\nconst FIRST_DEVTOOLS_BACKEND_LOCKSTEP_VER = '999.9.9';\nfunction hasAssignedBackend(version) {\n if (version == null || version === '') {\n return false;\n }\n return gte(version, FIRST_DEVTOOLS_BACKEND_LOCKSTEP_VER);\n}\nfunction cleanForBridge(data, isPathAllowed, path = []) {\n if (data !== null) {\n const cleanedPaths = [];\n const unserializablePaths = [];\n const cleanedData = dehydrate(data, cleanedPaths, unserializablePaths, path, isPathAllowed);\n return {\n data: cleanedData,\n cleaned: cleanedPaths,\n unserializable: unserializablePaths\n };\n } else {\n return null;\n }\n}\nfunction copyWithDelete(obj, path, index = 0) {\n const key = path[index];\n const updated = shared_isArray(obj) ? obj.slice() : {\n ...obj\n };\n if (index + 1 === path.length) {\n if (shared_isArray(updated)) {\n updated.splice(key, 1);\n } else {\n delete updated[key];\n }\n } else {\n updated[key] = copyWithDelete(obj[key], path, index + 1);\n }\n return updated;\n}\nfunction copyWithRename(obj, oldPath, newPath, index = 0) {\n const oldKey = oldPath[index];\n const updated = shared_isArray(obj) ? obj.slice() : {\n ...obj\n };\n if (index + 1 === oldPath.length) {\n const newKey = newPath[index];\n updated[newKey] = updated[oldKey];\n if (shared_isArray(updated)) {\n updated.splice(oldKey, 1);\n } else {\n delete updated[oldKey];\n }\n } else {\n updated[oldKey] = copyWithRename(obj[oldKey], oldPath, newPath, index + 1);\n }\n return updated;\n}\nfunction copyWithSet(obj, path, value, index = 0) {\n if (index >= path.length) {\n return value;\n }\n const key = path[index];\n const updated = shared_isArray(obj) ? obj.slice() : {\n ...obj\n };\n updated[key] = copyWithSet(obj[key], path, value, index + 1);\n return updated;\n}\nfunction getEffectDurations(root) {\n let effectDuration = null;\n let passiveEffectDuration = null;\n const hostRoot = root.current;\n if (hostRoot != null) {\n const stateNode = hostRoot.stateNode;\n if (stateNode != null) {\n effectDuration = stateNode.effectDuration != null ? stateNode.effectDuration : null;\n passiveEffectDuration = stateNode.passiveEffectDuration != null ? stateNode.passiveEffectDuration : null;\n }\n }\n return {\n effectDuration,\n passiveEffectDuration\n };\n}\nfunction serializeToString(data) {\n if (data === undefined) {\n return 'undefined';\n }\n if (typeof data === 'function') {\n return data.toString();\n }\n const cache = new Set();\n return JSON.stringify(data, (key, value) => {\n if (typeof value === 'object' && value !== null) {\n if (cache.has(value)) {\n return;\n }\n cache.add(value);\n }\n if (typeof value === 'bigint') {\n return value.toString() + 'n';\n }\n return value;\n }, 2);\n}\nfunction safeToString(val) {\n try {\n return String(val);\n } catch (err) {\n if (typeof val === 'object') {\n return '[object Object]';\n }\n throw err;\n }\n}\nfunction formatConsoleArgumentsToSingleString(maybeMessage, ...inputArgs) {\n const args = inputArgs.slice();\n let formatted = safeToString(maybeMessage);\n if (typeof maybeMessage === 'string') {\n if (args.length) {\n const REGEXP = /(%?)(%([jds]))/g;\n formatted = formatted.replace(REGEXP, (match, escaped, ptn, flag) => {\n let arg = args.shift();\n switch (flag) {\n case 's':\n arg += '';\n break;\n case 'd':\n case 'i':\n arg = parseInt(arg, 10).toString();\n break;\n case 'f':\n arg = parseFloat(arg).toString();\n break;\n }\n if (!escaped) {\n return arg;\n }\n args.unshift(arg);\n return match;\n });\n }\n }\n if (args.length) {\n for (let i = 0; i < args.length; i++) {\n formatted += ' ' + safeToString(args[i]);\n }\n }\n formatted = formatted.replace(/%{2,2}/g, '%');\n return String(formatted);\n}\nfunction isSynchronousXHRSupported() {\n return !!(window.document && window.document.featurePolicy && window.document.featurePolicy.allowsFeature('sync-xhr'));\n}\nfunction gt(a = '', b = '') {\n return compareVersions(a, b) === 1;\n}\nfunction gte(a = '', b = '') {\n return compareVersions(a, b) > -1;\n}\nconst isReactNativeEnvironment = () => {\n return window.document == null;\n};\nfunction formatDurationToMicrosecondsGranularity(duration) {\n return Math.round(duration * 1000) / 1000;\n}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/backend/views/utils.js\nfunction getOwnerWindow(node) {\n if (!node.ownerDocument) {\n return null;\n }\n return node.ownerDocument.defaultView;\n}\nfunction getOwnerIframe(node) {\n const nodeWindow = getOwnerWindow(node);\n if (nodeWindow) {\n return nodeWindow.frameElement;\n }\n return null;\n}\nfunction getBoundingClientRectWithBorderOffset(node) {\n const dimensions = getElementDimensions(node);\n return mergeRectOffsets([node.getBoundingClientRect(), {\n top: dimensions.borderTop,\n left: dimensions.borderLeft,\n bottom: dimensions.borderBottom,\n right: dimensions.borderRight,\n width: 0,\n height: 0\n }]);\n}\nfunction mergeRectOffsets(rects) {\n return rects.reduce((previousRect, rect) => {\n if (previousRect == null) {\n return rect;\n }\n return {\n top: previousRect.top + rect.top,\n left: previousRect.left + rect.left,\n width: previousRect.width,\n height: previousRect.height,\n bottom: previousRect.bottom + rect.bottom,\n right: previousRect.right + rect.right\n };\n });\n}\nfunction getNestedBoundingClientRect(node, boundaryWindow) {\n const ownerIframe = getOwnerIframe(node);\n if (ownerIframe && ownerIframe !== boundaryWindow) {\n const rects = [node.getBoundingClientRect()];\n let currentIframe = ownerIframe;\n let onlyOneMore = false;\n while (currentIframe) {\n const rect = getBoundingClientRectWithBorderOffset(currentIframe);\n rects.push(rect);\n currentIframe = getOwnerIframe(currentIframe);\n if (onlyOneMore) {\n break;\n }\n if (currentIframe && getOwnerWindow(currentIframe) === boundaryWindow) {\n onlyOneMore = true;\n }\n }\n return mergeRectOffsets(rects);\n } else {\n return node.getBoundingClientRect();\n }\n}\nfunction getElementDimensions(domElement) {\n const calculatedStyle = window.getComputedStyle(domElement);\n return {\n borderLeft: parseInt(calculatedStyle.borderLeftWidth, 10),\n borderRight: parseInt(calculatedStyle.borderRightWidth, 10),\n borderTop: parseInt(calculatedStyle.borderTopWidth, 10),\n borderBottom: parseInt(calculatedStyle.borderBottomWidth, 10),\n marginLeft: parseInt(calculatedStyle.marginLeft, 10),\n marginRight: parseInt(calculatedStyle.marginRight, 10),\n marginTop: parseInt(calculatedStyle.marginTop, 10),\n marginBottom: parseInt(calculatedStyle.marginBottom, 10),\n paddingLeft: parseInt(calculatedStyle.paddingLeft, 10),\n paddingRight: parseInt(calculatedStyle.paddingRight, 10),\n paddingTop: parseInt(calculatedStyle.paddingTop, 10),\n paddingBottom: parseInt(calculatedStyle.paddingBottom, 10)\n };\n}\nfunction extractHOCNames(displayName) {\n if (!displayName) return {\n baseComponentName: '',\n hocNames: []\n };\n const hocRegex = /([A-Z][a-zA-Z0-9]*?)\\((.*)\\)/g;\n const hocNames = [];\n let baseComponentName = displayName;\n let match;\n while ((match = hocRegex.exec(baseComponentName)) != null) {\n if (Array.isArray(match)) {\n const [, hocName, inner] = match;\n hocNames.push(hocName);\n baseComponentName = inner;\n }\n }\n return {\n baseComponentName,\n hocNames\n };\n}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/backend/views/Highlighter/Overlay.js\n\nconst Overlay_assign = Object.assign;\nclass OverlayRect {\n constructor(doc, container) {\n this.node = doc.createElement('div');\n this.border = doc.createElement('div');\n this.padding = doc.createElement('div');\n this.content = doc.createElement('div');\n this.border.style.borderColor = overlayStyles.border;\n this.padding.style.borderColor = overlayStyles.padding;\n this.content.style.backgroundColor = overlayStyles.background;\n Overlay_assign(this.node.style, {\n borderColor: overlayStyles.margin,\n pointerEvents: 'none',\n position: 'fixed'\n });\n this.node.style.zIndex = '10000000';\n this.node.appendChild(this.border);\n this.border.appendChild(this.padding);\n this.padding.appendChild(this.content);\n container.appendChild(this.node);\n }\n remove() {\n if (this.node.parentNode) {\n this.node.parentNode.removeChild(this.node);\n }\n }\n update(box, dims) {\n boxWrap(dims, 'margin', this.node);\n boxWrap(dims, 'border', this.border);\n boxWrap(dims, 'padding', this.padding);\n Overlay_assign(this.content.style, {\n height: box.height - dims.borderTop - dims.borderBottom - dims.paddingTop - dims.paddingBottom + 'px',\n width: box.width - dims.borderLeft - dims.borderRight - dims.paddingLeft - dims.paddingRight + 'px'\n });\n Overlay_assign(this.node.style, {\n top: box.top - dims.marginTop + 'px',\n left: box.left - dims.marginLeft + 'px'\n });\n }\n}\nclass OverlayTip {\n constructor(doc, container) {\n this.tip = doc.createElement('div');\n Overlay_assign(this.tip.style, {\n display: 'flex',\n flexFlow: 'row nowrap',\n backgroundColor: '#333740',\n borderRadius: '2px',\n fontFamily: '\"SFMono-Regular\", Consolas, \"Liberation Mono\", Menlo, Courier, monospace',\n fontWeight: 'bold',\n padding: '3px 5px',\n pointerEvents: 'none',\n position: 'fixed',\n fontSize: '12px',\n whiteSpace: 'nowrap'\n });\n this.nameSpan = doc.createElement('span');\n this.tip.appendChild(this.nameSpan);\n Overlay_assign(this.nameSpan.style, {\n color: '#ee78e6',\n borderRight: '1px solid #aaaaaa',\n paddingRight: '0.5rem',\n marginRight: '0.5rem'\n });\n this.dimSpan = doc.createElement('span');\n this.tip.appendChild(this.dimSpan);\n Overlay_assign(this.dimSpan.style, {\n color: '#d7d7d7'\n });\n this.tip.style.zIndex = '10000000';\n container.appendChild(this.tip);\n }\n remove() {\n if (this.tip.parentNode) {\n this.tip.parentNode.removeChild(this.tip);\n }\n }\n updateText(name, width, height) {\n this.nameSpan.textContent = name;\n this.dimSpan.textContent = Math.round(width) + 'px × ' + Math.round(height) + 'px';\n }\n updatePosition(dims, bounds) {\n const tipRect = this.tip.getBoundingClientRect();\n const tipPos = findTipPos(dims, bounds, {\n width: tipRect.width,\n height: tipRect.height\n });\n Overlay_assign(this.tip.style, tipPos.style);\n }\n}\nclass Overlay {\n constructor(agent) {\n const currentWindow = window.__REACT_DEVTOOLS_TARGET_WINDOW__ || window;\n this.window = currentWindow;\n const tipBoundsWindow = window.__REACT_DEVTOOLS_TARGET_WINDOW__ || window;\n this.tipBoundsWindow = tipBoundsWindow;\n const doc = currentWindow.document;\n this.container = doc.createElement('div');\n this.container.style.zIndex = '10000000';\n this.tip = new OverlayTip(doc, this.container);\n this.rects = [];\n this.agent = agent;\n doc.body.appendChild(this.container);\n }\n remove() {\n this.tip.remove();\n this.rects.forEach(rect => {\n rect.remove();\n });\n this.rects.length = 0;\n if (this.container.parentNode) {\n this.container.parentNode.removeChild(this.container);\n }\n }\n inspect(nodes, name) {\n const elements = nodes.filter(node => node.nodeType === Node.ELEMENT_NODE);\n while (this.rects.length > elements.length) {\n const rect = this.rects.pop();\n rect.remove();\n }\n if (elements.length === 0) {\n return;\n }\n while (this.rects.length < elements.length) {\n this.rects.push(new OverlayRect(this.window.document, this.container));\n }\n const outerBox = {\n top: Number.POSITIVE_INFINITY,\n right: Number.NEGATIVE_INFINITY,\n bottom: Number.NEGATIVE_INFINITY,\n left: Number.POSITIVE_INFINITY\n };\n elements.forEach((element, index) => {\n const box = getNestedBoundingClientRect(element, this.window);\n const dims = getElementDimensions(element);\n outerBox.top = Math.min(outerBox.top, box.top - dims.marginTop);\n outerBox.right = Math.max(outerBox.right, box.left + box.width + dims.marginRight);\n outerBox.bottom = Math.max(outerBox.bottom, box.top + box.height + dims.marginBottom);\n outerBox.left = Math.min(outerBox.left, box.left - dims.marginLeft);\n const rect = this.rects[index];\n rect.update(box, dims);\n });\n if (!name) {\n name = elements[0].nodeName.toLowerCase();\n const node = elements[0];\n const ownerName = this.agent.getComponentNameForHostInstance(node);\n if (ownerName) {\n name += ' (in ' + ownerName + ')';\n }\n }\n this.tip.updateText(name, outerBox.right - outerBox.left, outerBox.bottom - outerBox.top);\n const tipBounds = getNestedBoundingClientRect(this.tipBoundsWindow.document.documentElement, this.window);\n this.tip.updatePosition({\n top: outerBox.top,\n left: outerBox.left,\n height: outerBox.bottom - outerBox.top,\n width: outerBox.right - outerBox.left\n }, {\n top: tipBounds.top + this.tipBoundsWindow.scrollY,\n left: tipBounds.left + this.tipBoundsWindow.scrollX,\n height: this.tipBoundsWindow.innerHeight,\n width: this.tipBoundsWindow.innerWidth\n });\n }\n}\nfunction findTipPos(dims, bounds, tipSize) {\n const tipHeight = Math.max(tipSize.height, 20);\n const tipWidth = Math.max(tipSize.width, 60);\n const margin = 5;\n let top;\n if (dims.top + dims.height + tipHeight <= bounds.top + bounds.height) {\n if (dims.top + dims.height < bounds.top + 0) {\n top = bounds.top + margin;\n } else {\n top = dims.top + dims.height + margin;\n }\n } else if (dims.top - tipHeight <= bounds.top + bounds.height) {\n if (dims.top - tipHeight - margin < bounds.top + margin) {\n top = bounds.top + margin;\n } else {\n top = dims.top - tipHeight - margin;\n }\n } else {\n top = bounds.top + bounds.height - tipHeight - margin;\n }\n let left = dims.left + margin;\n if (dims.left < bounds.left) {\n left = bounds.left + margin;\n }\n if (dims.left + tipWidth > bounds.left + bounds.width) {\n left = bounds.left + bounds.width - tipWidth - margin;\n }\n top += 'px';\n left += 'px';\n return {\n style: {\n top,\n left\n }\n };\n}\nfunction boxWrap(dims, what, node) {\n Overlay_assign(node.style, {\n borderTopWidth: dims[what + 'Top'] + 'px',\n borderLeftWidth: dims[what + 'Left'] + 'px',\n borderRightWidth: dims[what + 'Right'] + 'px',\n borderBottomWidth: dims[what + 'Bottom'] + 'px',\n borderStyle: 'solid'\n });\n}\nconst overlayStyles = {\n background: 'rgba(120, 170, 210, 0.7)',\n padding: 'rgba(77, 200, 0, 0.3)',\n margin: 'rgba(255, 155, 0, 0.3)',\n border: 'rgba(255, 200, 50, 0.3)'\n};\n;// CONCATENATED MODULE: ../react-devtools-shared/src/backend/views/Highlighter/Highlighter.js\n\n\nconst SHOW_DURATION = 2000;\nlet timeoutID = null;\nlet overlay = null;\nfunction hideOverlayNative(agent) {\n agent.emit('hideNativeHighlight');\n}\nfunction hideOverlayWeb() {\n timeoutID = null;\n if (overlay !== null) {\n overlay.remove();\n overlay = null;\n }\n}\nfunction hideOverlay(agent) {\n return isReactNativeEnvironment() ? hideOverlayNative(agent) : hideOverlayWeb();\n}\nfunction showOverlayNative(elements, agent) {\n agent.emit('showNativeHighlight', elements);\n}\nfunction showOverlayWeb(elements, componentName, agent, hideAfterTimeout) {\n if (timeoutID !== null) {\n clearTimeout(timeoutID);\n }\n if (overlay === null) {\n overlay = new Overlay(agent);\n }\n overlay.inspect(elements, componentName);\n if (hideAfterTimeout) {\n timeoutID = setTimeout(() => hideOverlay(agent), SHOW_DURATION);\n }\n}\nfunction showOverlay(elements, componentName, agent, hideAfterTimeout) {\n return isReactNativeEnvironment() ? showOverlayNative(elements, agent) : showOverlayWeb(elements, componentName, agent, hideAfterTimeout);\n}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/backend/views/Highlighter/index.js\n\n\nlet iframesListeningTo = new Set();\nlet inspectOnlySuspenseNodes = false;\nfunction setupHighlighter(bridge, agent) {\n bridge.addListener('clearHostInstanceHighlight', clearHostInstanceHighlight);\n bridge.addListener('highlightHostInstance', highlightHostInstance);\n bridge.addListener('highlightHostInstances', highlightHostInstances);\n bridge.addListener('scrollToHostInstance', scrollToHostInstance);\n bridge.addListener('shutdown', stopInspectingHost);\n bridge.addListener('startInspectingHost', startInspectingHost);\n bridge.addListener('stopInspectingHost', stopInspectingHost);\n function startInspectingHost(onlySuspenseNodes) {\n inspectOnlySuspenseNodes = onlySuspenseNodes;\n registerListenersOnWindow(window);\n }\n function registerListenersOnWindow(window) {\n if (window && typeof window.addEventListener === 'function') {\n window.addEventListener('click', onClick, true);\n window.addEventListener('mousedown', onMouseEvent, true);\n window.addEventListener('mouseover', onMouseEvent, true);\n window.addEventListener('mouseup', onMouseEvent, true);\n window.addEventListener('pointerdown', onPointerDown, true);\n window.addEventListener('pointermove', onPointerMove, true);\n window.addEventListener('pointerup', onPointerUp, true);\n } else {\n agent.emit('startInspectingNative');\n }\n }\n function stopInspectingHost() {\n hideOverlay(agent);\n removeListenersOnWindow(window);\n iframesListeningTo.forEach(function (frame) {\n try {\n removeListenersOnWindow(frame.contentWindow);\n } catch (error) {}\n });\n iframesListeningTo = new Set();\n }\n function removeListenersOnWindow(window) {\n if (window && typeof window.removeEventListener === 'function') {\n window.removeEventListener('click', onClick, true);\n window.removeEventListener('mousedown', onMouseEvent, true);\n window.removeEventListener('mouseover', onMouseEvent, true);\n window.removeEventListener('mouseup', onMouseEvent, true);\n window.removeEventListener('pointerdown', onPointerDown, true);\n window.removeEventListener('pointermove', onPointerMove, true);\n window.removeEventListener('pointerup', onPointerUp, true);\n } else {\n agent.emit('stopInspectingNative');\n }\n }\n function clearHostInstanceHighlight() {\n hideOverlay(agent);\n }\n function highlightHostInstance({\n displayName,\n hideAfterTimeout,\n id,\n openBuiltinElementsPanel,\n rendererID,\n scrollIntoView\n }) {\n const renderer = agent.rendererInterfaces[rendererID];\n if (renderer == null) {\n console.warn(`Invalid renderer id \"${rendererID}\" for element \"${id}\"`);\n hideOverlay(agent);\n return;\n }\n if (!renderer.hasElementWithId(id)) {\n hideOverlay(agent);\n return;\n }\n const nodes = renderer.findHostInstancesForElementID(id);\n if (nodes != null) {\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i];\n if (node === null) {\n continue;\n }\n const nodeRects = typeof node.getClientRects === 'function' ? node.getClientRects() : [];\n if (nodeRects.length > 0 && (nodeRects.length > 2 || nodeRects[0].width > 0 || nodeRects[0].height > 0)) {\n if (scrollIntoView && typeof node.scrollIntoView === 'function') {\n if (scrollDelayTimer) {\n clearTimeout(scrollDelayTimer);\n scrollDelayTimer = null;\n }\n node.scrollIntoView({\n block: 'nearest',\n inline: 'nearest'\n });\n }\n showOverlay(nodes, displayName, agent, hideAfterTimeout);\n if (openBuiltinElementsPanel) {\n window.__REACT_DEVTOOLS_GLOBAL_HOOK__.$0 = node;\n bridge.send('syncSelectionToBuiltinElementsPanel');\n }\n return;\n }\n }\n }\n hideOverlay(agent);\n }\n function highlightHostInstances({\n displayName,\n hideAfterTimeout,\n elements,\n scrollIntoView\n }) {\n const nodes = [];\n for (let i = 0; i < elements.length; i++) {\n const {\n id,\n rendererID\n } = elements[i];\n const renderer = agent.rendererInterfaces[rendererID];\n if (renderer == null) {\n console.warn(`Invalid renderer id \"${rendererID}\" for element \"${id}\"`);\n continue;\n }\n if (!renderer.hasElementWithId(id)) {\n continue;\n }\n const hostInstances = renderer.findHostInstancesForElementID(id);\n if (hostInstances !== null) {\n for (let j = 0; j < hostInstances.length; j++) {\n nodes.push(hostInstances[j]);\n }\n }\n }\n if (nodes.length > 0) {\n const node = nodes[0];\n if (scrollIntoView && typeof node.scrollIntoView === 'function') {\n node.scrollIntoView({\n block: 'nearest',\n inline: 'nearest'\n });\n }\n }\n showOverlay(nodes, displayName, agent, hideAfterTimeout);\n }\n function attemptScrollToHostInstance(renderer, id) {\n const nodes = renderer.findHostInstancesForElementID(id);\n if (nodes != null) {\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i];\n if (node === null) {\n continue;\n }\n const nodeRects = typeof node.getClientRects === 'function' ? node.getClientRects() : [];\n if (nodeRects.length > 0 && (nodeRects.length > 2 || nodeRects[0].width > 0 || nodeRects[0].height > 0)) {\n if (typeof node.scrollIntoView === 'function') {\n node.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n behavior: 'smooth'\n });\n return true;\n }\n }\n }\n }\n return false;\n }\n let scrollDelayTimer = null;\n function scrollToHostInstance({\n id,\n rendererID\n }) {\n hideOverlay(agent);\n if (scrollDelayTimer) {\n clearTimeout(scrollDelayTimer);\n scrollDelayTimer = null;\n }\n const renderer = agent.rendererInterfaces[rendererID];\n if (renderer == null) {\n console.warn(`Invalid renderer id \"${rendererID}\" for element \"${id}\"`);\n return;\n }\n if (!renderer.hasElementWithId(id)) {\n return;\n }\n if (attemptScrollToHostInstance(renderer, id)) {\n return;\n }\n const rects = renderer.findLastKnownRectsForID(id);\n if (rects !== null && rects.length > 0) {\n let x = Infinity;\n let y = Infinity;\n for (let i = 0; i < rects.length; i++) {\n const rect = rects[i];\n if (rect.x < x) {\n x = rect.x;\n }\n if (rect.y < y) {\n y = rect.y;\n }\n }\n const element = document.documentElement;\n if (!element) {\n return;\n }\n if (x < window.scrollX || y < window.scrollY || x > window.scrollX + element.clientWidth || y > window.scrollY + element.clientHeight) {\n window.scrollTo({\n top: y,\n left: x,\n behavior: 'smooth'\n });\n }\n scrollDelayTimer = setTimeout(() => {\n attemptScrollToHostInstance(renderer, id);\n }, 100);\n }\n }\n function onClick(event) {\n event.preventDefault();\n event.stopPropagation();\n stopInspectingHost();\n bridge.send('stopInspectingHost', true);\n }\n function onMouseEvent(event) {\n event.preventDefault();\n event.stopPropagation();\n }\n function onPointerDown(event) {\n event.preventDefault();\n event.stopPropagation();\n selectElementForNode(getEventTarget(event));\n }\n let lastHoveredNode = null;\n function onPointerMove(event) {\n event.preventDefault();\n event.stopPropagation();\n const target = getEventTarget(event);\n if (lastHoveredNode === target) return;\n lastHoveredNode = target;\n if (target.tagName === 'IFRAME') {\n const iframe = target;\n try {\n if (!iframesListeningTo.has(iframe)) {\n const window = iframe.contentWindow;\n registerListenersOnWindow(window);\n iframesListeningTo.add(iframe);\n }\n } catch (error) {}\n }\n if (inspectOnlySuspenseNodes) {\n const match = agent.getIDForHostInstance(target, inspectOnlySuspenseNodes);\n if (match !== null) {\n const renderer = agent.rendererInterfaces[match.rendererID];\n if (renderer == null) {\n console.warn(`Invalid renderer id \"${match.rendererID}\" for element \"${match.id}\"`);\n return;\n }\n highlightHostInstance({\n displayName: renderer.getDisplayNameForElementID(match.id),\n hideAfterTimeout: false,\n id: match.id,\n openBuiltinElementsPanel: false,\n rendererID: match.rendererID,\n scrollIntoView: false\n });\n }\n } else {\n showOverlay([target], null, agent, false);\n }\n }\n function onPointerUp(event) {\n event.preventDefault();\n event.stopPropagation();\n }\n const selectElementForNode = node => {\n const match = agent.getIDForHostInstance(node, inspectOnlySuspenseNodes);\n if (match !== null) {\n bridge.send('selectElement', match.id);\n }\n };\n function getEventTarget(event) {\n if (event.composed) {\n return event.composedPath()[0];\n }\n return event.target;\n }\n}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/backend/views/TraceUpdates/canvas.js\n\nconst COLORS = ['#37afa9', '#63b19e', '#80b393', '#97b488', '#abb67d', '#beb771', '#cfb965', '#dfba57', '#efbb49', '#febc38'];\nlet canvas = null;\nfunction drawNative(nodeToData, agent) {\n const nodesToDraw = [];\n iterateNodes(nodeToData, ({\n color,\n node\n }) => {\n nodesToDraw.push({\n node,\n color\n });\n });\n agent.emit('drawTraceUpdates', nodesToDraw);\n const mergedNodes = groupAndSortNodes(nodeToData);\n agent.emit('drawGroupedTraceUpdatesWithNames', mergedNodes);\n}\nfunction drawWeb(nodeToData) {\n if (canvas === null) {\n initialize();\n }\n const dpr = window.devicePixelRatio || 1;\n const canvasFlow = canvas;\n canvasFlow.width = window.innerWidth * dpr;\n canvasFlow.height = window.innerHeight * dpr;\n canvasFlow.style.width = `${window.innerWidth}px`;\n canvasFlow.style.height = `${window.innerHeight}px`;\n const context = canvasFlow.getContext('2d');\n context.scale(dpr, dpr);\n context.clearRect(0, 0, canvasFlow.width / dpr, canvasFlow.height / dpr);\n const mergedNodes = groupAndSortNodes(nodeToData);\n mergedNodes.forEach(group => {\n drawGroupBorders(context, group);\n drawGroupLabel(context, group);\n });\n if (canvas !== null) {\n if (nodeToData.size === 0 && canvas.matches(':popover-open')) {\n canvas.hidePopover();\n return;\n }\n if (canvas.matches(':popover-open')) {\n canvas.hidePopover();\n }\n canvas.showPopover();\n }\n}\nfunction groupAndSortNodes(nodeToData) {\n const positionGroups = new Map();\n iterateNodes(nodeToData, ({\n rect,\n color,\n displayName,\n count\n }) => {\n if (!rect) return;\n const key = `${rect.left},${rect.top}`;\n if (!positionGroups.has(key)) positionGroups.set(key, []);\n positionGroups.get(key)?.push({\n rect,\n color,\n displayName,\n count\n });\n });\n return Array.from(positionGroups.values()).sort((groupA, groupB) => {\n const maxCountA = Math.max(...groupA.map(item => item.count));\n const maxCountB = Math.max(...groupB.map(item => item.count));\n return maxCountA - maxCountB;\n });\n}\nfunction drawGroupBorders(context, group) {\n group.forEach(({\n color,\n rect\n }) => {\n context.beginPath();\n context.strokeStyle = color;\n context.rect(rect.left, rect.top, rect.width - 1, rect.height - 1);\n context.stroke();\n });\n}\nfunction drawGroupLabel(context, group) {\n const mergedName = group.map(({\n displayName,\n count\n }) => displayName ? `${displayName}${count > 1 ? ` x${count}` : ''}` : '').filter(Boolean).join(', ');\n if (mergedName) {\n drawLabel(context, group[0].rect, mergedName, group[0].color);\n }\n}\nfunction draw(nodeToData, agent) {\n return isReactNativeEnvironment() ? drawNative(nodeToData, agent) : drawWeb(nodeToData);\n}\nfunction iterateNodes(nodeToData, execute) {\n nodeToData.forEach((data, node) => {\n const colorIndex = Math.min(COLORS.length - 1, data.count - 1);\n const color = COLORS[colorIndex];\n execute({\n color,\n node,\n count: data.count,\n displayName: data.displayName,\n expirationTime: data.expirationTime,\n lastMeasuredAt: data.lastMeasuredAt,\n rect: data.rect\n });\n });\n}\nfunction drawLabel(context, rect, text, color) {\n const {\n left,\n top\n } = rect;\n context.font = '10px monospace';\n context.textBaseline = 'middle';\n context.textAlign = 'center';\n const padding = 2;\n const textHeight = 14;\n const metrics = context.measureText(text);\n const backgroundWidth = metrics.width + padding * 2;\n const backgroundHeight = textHeight;\n const labelX = left;\n const labelY = top - backgroundHeight;\n context.fillStyle = color;\n context.fillRect(labelX, labelY, backgroundWidth, backgroundHeight);\n context.fillStyle = '#000000';\n context.fillText(text, labelX + backgroundWidth / 2, labelY + backgroundHeight / 2);\n}\nfunction destroyNative(agent) {\n agent.emit('disableTraceUpdates');\n}\nfunction destroyWeb() {\n if (canvas !== null) {\n if (canvas.matches(':popover-open')) {\n canvas.hidePopover();\n }\n if (canvas.parentNode != null) {\n canvas.parentNode.removeChild(canvas);\n }\n canvas = null;\n }\n}\nfunction destroy(agent) {\n return isReactNativeEnvironment() ? destroyNative(agent) : destroyWeb();\n}\nfunction initialize() {\n canvas = window.document.createElement('canvas');\n canvas.setAttribute('popover', 'manual');\n canvas.style.cssText = `\n xx-background-color: red;\n xx-opacity: 0.5;\n bottom: 0;\n left: 0;\n pointer-events: none;\n position: fixed;\n right: 0;\n top: 0;\n background-color: transparent;\n outline: none;\n box-shadow: none;\n border: none;\n `;\n const root = window.document.documentElement;\n root.insertBefore(canvas, root.firstChild);\n}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/backend/views/TraceUpdates/index.js\n\n\n\nconst DISPLAY_DURATION = 250;\nconst MAX_DISPLAY_DURATION = 3000;\nconst REMEASUREMENT_AFTER_DURATION = 250;\nconst HOC_MARKERS = new Map([['Forget', '✨'], ['Memo', '🧠']]);\nconst getCurrentTime = typeof performance === 'object' && typeof performance.now === 'function' ? () => performance.now() : () => Date.now();\nconst nodeToData = new Map();\nlet agent = null;\nlet drawAnimationFrameID = null;\nlet isEnabled = false;\nlet redrawTimeoutID = null;\nfunction TraceUpdates_initialize(injectedAgent) {\n agent = injectedAgent;\n agent.addListener('traceUpdates', traceUpdates);\n}\nfunction toggleEnabled(value) {\n isEnabled = value;\n if (!isEnabled) {\n nodeToData.clear();\n if (drawAnimationFrameID !== null) {\n cancelAnimationFrame(drawAnimationFrameID);\n drawAnimationFrameID = null;\n }\n if (redrawTimeoutID !== null) {\n clearTimeout(redrawTimeoutID);\n redrawTimeoutID = null;\n }\n destroy(agent);\n }\n}\nfunction traceUpdates(nodes) {\n if (!isEnabled) return;\n nodes.forEach(node => {\n const data = nodeToData.get(node);\n const now = getCurrentTime();\n let lastMeasuredAt = data != null ? data.lastMeasuredAt : 0;\n let rect = data != null ? data.rect : null;\n if (rect === null || lastMeasuredAt + REMEASUREMENT_AFTER_DURATION < now) {\n lastMeasuredAt = now;\n rect = measureNode(node);\n }\n let displayName = agent.getComponentNameForHostInstance(node);\n if (displayName) {\n const {\n baseComponentName,\n hocNames\n } = extractHOCNames(displayName);\n const markers = hocNames.map(hoc => HOC_MARKERS.get(hoc) || '').join('');\n const enhancedDisplayName = markers ? `${markers}${baseComponentName}` : baseComponentName;\n displayName = enhancedDisplayName;\n }\n nodeToData.set(node, {\n count: data != null ? data.count + 1 : 1,\n expirationTime: data != null ? Math.min(now + MAX_DISPLAY_DURATION, data.expirationTime + DISPLAY_DURATION) : now + DISPLAY_DURATION,\n lastMeasuredAt,\n rect,\n displayName\n });\n });\n if (redrawTimeoutID !== null) {\n clearTimeout(redrawTimeoutID);\n redrawTimeoutID = null;\n }\n if (drawAnimationFrameID === null) {\n drawAnimationFrameID = requestAnimationFrame(prepareToDraw);\n }\n}\nfunction prepareToDraw() {\n drawAnimationFrameID = null;\n redrawTimeoutID = null;\n const now = getCurrentTime();\n let earliestExpiration = Number.MAX_VALUE;\n nodeToData.forEach((data, node) => {\n if (data.expirationTime < now) {\n nodeToData.delete(node);\n } else {\n earliestExpiration = Math.min(earliestExpiration, data.expirationTime);\n }\n });\n draw(nodeToData, agent);\n if (earliestExpiration !== Number.MAX_VALUE) {\n redrawTimeoutID = setTimeout(prepareToDraw, earliestExpiration - now);\n }\n}\nfunction measureNode(node) {\n if (!node || typeof node.getBoundingClientRect !== 'function') {\n return null;\n }\n const currentWindow = window.__REACT_DEVTOOLS_TARGET_WINDOW__ || window;\n return getNestedBoundingClientRect(node, currentWindow);\n}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/bridge.js\nfunction bridge_defineProperty(obj, key, value) { key = bridge_toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction bridge_toPropertyKey(t) { var i = bridge_toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction bridge_toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n\nconst BRIDGE_PROTOCOL = [{\n version: 0,\n minNpmVersion: '\"<4.11.0\"',\n maxNpmVersion: '\"<4.11.0\"'\n}, {\n version: 1,\n minNpmVersion: '4.13.0',\n maxNpmVersion: '4.21.0'\n}, {\n version: 2,\n minNpmVersion: '4.22.0',\n maxNpmVersion: null\n}];\nconst currentBridgeProtocol = BRIDGE_PROTOCOL[BRIDGE_PROTOCOL.length - 1];\nclass Bridge extends EventEmitter {\n constructor(wall) {\n super();\n bridge_defineProperty(this, \"_isShutdown\", false);\n bridge_defineProperty(this, \"_messageQueue\", []);\n bridge_defineProperty(this, \"_scheduledFlush\", false);\n bridge_defineProperty(this, \"_wallUnlisten\", null);\n bridge_defineProperty(this, \"_flush\", () => {\n try {\n if (this._messageQueue.length) {\n for (let i = 0; i < this._messageQueue.length; i += 2) {\n this._wall.send(this._messageQueue[i], ...this._messageQueue[i + 1]);\n }\n this._messageQueue.length = 0;\n }\n } finally {\n this._scheduledFlush = false;\n }\n });\n bridge_defineProperty(this, \"overrideValueAtPath\", ({\n id,\n path,\n rendererID,\n type,\n value\n }) => {\n switch (type) {\n case 'context':\n this.send('overrideContext', {\n id,\n path,\n rendererID,\n wasForwarded: true,\n value\n });\n break;\n case 'hooks':\n this.send('overrideHookState', {\n id,\n path,\n rendererID,\n wasForwarded: true,\n value\n });\n break;\n case 'props':\n this.send('overrideProps', {\n id,\n path,\n rendererID,\n wasForwarded: true,\n value\n });\n break;\n case 'state':\n this.send('overrideState', {\n id,\n path,\n rendererID,\n wasForwarded: true,\n value\n });\n break;\n }\n });\n this._wall = wall;\n this._wallUnlisten = wall.listen(message => {\n if (message && message.event) {\n this.emit(message.event, message.payload);\n }\n }) || null;\n this.addListener('overrideValueAtPath', this.overrideValueAtPath);\n }\n get wall() {\n return this._wall;\n }\n send(event, ...payload) {\n if (this._isShutdown) {\n console.warn(`Cannot send message \"${event}\" through a Bridge that has been shutdown.`);\n return;\n }\n this._messageQueue.push(event, payload);\n if (!this._scheduledFlush) {\n this._scheduledFlush = true;\n if (typeof devtoolsJestTestScheduler === 'function') {\n devtoolsJestTestScheduler(this._flush);\n } else {\n queueMicrotask(this._flush);\n }\n }\n }\n shutdown() {\n if (this._isShutdown) {\n console.warn('Bridge was already shutdown.');\n return;\n }\n this.emit('shutdown');\n this.send('shutdown');\n this._isShutdown = true;\n this.addListener = function () {};\n this.emit = function () {};\n this.removeAllListeners();\n const wallUnlisten = this._wallUnlisten;\n if (wallUnlisten) {\n wallUnlisten();\n }\n do {\n this._flush();\n } while (this._messageQueue.length);\n }\n}\n/* harmony default export */ const bridge = (Bridge);\n;// CONCATENATED MODULE: ../react-devtools-shared/src/backend/agent.js\nfunction agent_defineProperty(obj, key, value) { key = agent_toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction agent_toPropertyKey(t) { var i = agent_toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction agent_toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n\n\n\n\n\n\n\nconst debug = (methodName, ...args) => {\n if (__DEBUG__) {\n console.log(`%cAgent %c${methodName}`, 'color: purple; font-weight: bold;', 'font-weight: bold;', ...args);\n }\n};\nfunction createEmptyInspectedScreen(arbitraryRootID, type) {\n const suspendedBy = {\n cleaned: [],\n data: [],\n unserializable: []\n };\n return {\n id: arbitraryRootID,\n type: type,\n isErrored: false,\n errors: [],\n warnings: [],\n suspendedBy,\n suspendedByRange: null,\n unknownSuspenders: UNKNOWN_SUSPENDERS_NONE,\n rootType: null,\n plugins: {\n stylex: null\n },\n nativeTag: null,\n env: null,\n source: null,\n stack: null,\n rendererPackageName: null,\n rendererVersion: null,\n key: null,\n canEditFunctionProps: false,\n canEditHooks: false,\n canEditFunctionPropsDeletePaths: false,\n canEditFunctionPropsRenamePaths: false,\n canEditHooksAndDeletePaths: false,\n canEditHooksAndRenamePaths: false,\n canToggleError: false,\n canToggleSuspense: false,\n isSuspended: false,\n hasLegacyContext: false,\n context: null,\n hooks: null,\n props: null,\n state: null,\n owners: null\n };\n}\nfunction mergeRoots(left, right, suspendedByOffset) {\n const leftSuspendedByRange = left.suspendedByRange;\n const rightSuspendedByRange = right.suspendedByRange;\n if (right.isErrored) {\n left.isErrored = true;\n }\n for (let i = 0; i < right.errors.length; i++) {\n left.errors.push(right.errors[i]);\n }\n for (let i = 0; i < right.warnings.length; i++) {\n left.warnings.push(right.warnings[i]);\n }\n const leftSuspendedBy = left.suspendedBy;\n const {\n data,\n cleaned,\n unserializable\n } = right.suspendedBy;\n const leftSuspendedByData = leftSuspendedBy.data;\n const rightSuspendedByData = data;\n for (let i = 0; i < rightSuspendedByData.length; i++) {\n leftSuspendedByData.push(rightSuspendedByData[i]);\n }\n for (let i = 0; i < cleaned.length; i++) {\n leftSuspendedBy.cleaned.push([suspendedByOffset + cleaned[i][0]].concat(cleaned[i].slice(1)));\n }\n for (let i = 0; i < unserializable.length; i++) {\n leftSuspendedBy.unserializable.push([suspendedByOffset + unserializable[i][0]].concat(unserializable[i].slice(1)));\n }\n if (rightSuspendedByRange !== null) {\n if (leftSuspendedByRange === null) {\n left.suspendedByRange = [rightSuspendedByRange[0], rightSuspendedByRange[1]];\n } else {\n if (rightSuspendedByRange[0] < leftSuspendedByRange[0]) {\n leftSuspendedByRange[0] = rightSuspendedByRange[0];\n }\n if (rightSuspendedByRange[1] > leftSuspendedByRange[1]) {\n leftSuspendedByRange[1] = rightSuspendedByRange[1];\n }\n }\n }\n}\nclass Agent extends EventEmitter {\n constructor(bridge, isProfiling = false, onReloadAndProfile) {\n super();\n agent_defineProperty(this, \"_isProfiling\", false);\n agent_defineProperty(this, \"_rendererInterfaces\", {});\n agent_defineProperty(this, \"_persistedSelection\", null);\n agent_defineProperty(this, \"_persistedSelectionMatch\", null);\n agent_defineProperty(this, \"_traceUpdatesEnabled\", false);\n agent_defineProperty(this, \"clearErrorsAndWarnings\", ({\n rendererID\n }) => {\n const renderer = this._rendererInterfaces[rendererID];\n if (renderer == null) {\n console.warn(`Invalid renderer id \"${rendererID}\"`);\n } else {\n renderer.clearErrorsAndWarnings();\n }\n });\n agent_defineProperty(this, \"clearErrorsForElementID\", ({\n id,\n rendererID\n }) => {\n const renderer = this._rendererInterfaces[rendererID];\n if (renderer == null) {\n console.warn(`Invalid renderer id \"${rendererID}\"`);\n } else {\n renderer.clearErrorsForElementID(id);\n }\n });\n agent_defineProperty(this, \"clearWarningsForElementID\", ({\n id,\n rendererID\n }) => {\n const renderer = this._rendererInterfaces[rendererID];\n if (renderer == null) {\n console.warn(`Invalid renderer id \"${rendererID}\"`);\n } else {\n renderer.clearWarningsForElementID(id);\n }\n });\n agent_defineProperty(this, \"copyElementPath\", ({\n id,\n path,\n rendererID\n }) => {\n const renderer = this._rendererInterfaces[rendererID];\n if (renderer == null) {\n console.warn(`Invalid renderer id \"${rendererID}\" for element \"${id}\"`);\n } else {\n const value = renderer.getSerializedElementValueByPath(id, path);\n if (value != null) {\n this._bridge.send('saveToClipboard', value);\n } else {\n console.warn(`Unable to obtain serialized value for element \"${id}\"`);\n }\n }\n });\n agent_defineProperty(this, \"deletePath\", ({\n hookID,\n id,\n path,\n rendererID,\n type\n }) => {\n const renderer = this._rendererInterfaces[rendererID];\n if (renderer == null) {\n console.warn(`Invalid renderer id \"${rendererID}\" for element \"${id}\"`);\n } else {\n renderer.deletePath(type, id, hookID, path);\n }\n });\n agent_defineProperty(this, \"getBackendVersion\", () => {\n const version = \"7.0.1-3cde211b0c\";\n if (version) {\n this._bridge.send('backendVersion', version);\n }\n });\n agent_defineProperty(this, \"getBridgeProtocol\", () => {\n this._bridge.send('bridgeProtocol', currentBridgeProtocol);\n });\n agent_defineProperty(this, \"getProfilingData\", ({\n rendererID\n }) => {\n const renderer = this._rendererInterfaces[rendererID];\n if (renderer == null) {\n console.warn(`Invalid renderer id \"${rendererID}\"`);\n }\n this._bridge.send('profilingData', renderer.getProfilingData());\n });\n agent_defineProperty(this, \"getProfilingStatus\", () => {\n this._bridge.send('profilingStatus', this._isProfiling);\n });\n agent_defineProperty(this, \"getOwnersList\", ({\n id,\n rendererID\n }) => {\n const renderer = this._rendererInterfaces[rendererID];\n if (renderer == null) {\n console.warn(`Invalid renderer id \"${rendererID}\" for element \"${id}\"`);\n } else {\n const owners = renderer.getOwnersList(id);\n this._bridge.send('ownersList', {\n id,\n owners\n });\n }\n });\n agent_defineProperty(this, \"inspectElement\", ({\n forceFullData,\n id,\n path,\n rendererID,\n requestID\n }) => {\n const renderer = this._rendererInterfaces[rendererID];\n if (renderer == null) {\n console.warn(`Invalid renderer id \"${rendererID}\" for element \"${id}\"`);\n } else {\n this._bridge.send('inspectedElement', renderer.inspectElement(requestID, id, path, forceFullData));\n if (this._persistedSelectionMatch === null || this._persistedSelectionMatch.id !== id) {\n this._persistedSelection = null;\n this._persistedSelectionMatch = null;\n renderer.setTrackedPath(null);\n this._lastSelectedElementID = id;\n this._lastSelectedRendererID = rendererID;\n if (!this._persistSelectionTimerScheduled) {\n this._persistSelectionTimerScheduled = true;\n setTimeout(this._persistSelection, 1000);\n }\n }\n }\n });\n agent_defineProperty(this, \"inspectScreen\", ({\n requestID,\n id,\n forceFullData,\n path: screenPath\n }) => {\n let inspectedScreen = null;\n let found = false;\n let suspendedByOffset = 0;\n let suspendedByPathIndex = null;\n let rendererPath = null;\n if (screenPath !== null && screenPath.length > 1) {\n const secondaryCategory = screenPath[0];\n if (secondaryCategory !== 'suspendedBy') {\n throw new Error('Only hydrating suspendedBy paths is supported. This is a bug.');\n }\n if (typeof screenPath[1] !== 'number') {\n throw new Error(`Expected suspendedBy index to be a number. Received '${screenPath[1]}' instead. This is a bug.`);\n }\n suspendedByPathIndex = screenPath[1];\n rendererPath = screenPath.slice(2);\n }\n for (const rendererID in this._rendererInterfaces) {\n const renderer = this._rendererInterfaces[rendererID];\n let path = null;\n if (suspendedByPathIndex !== null && rendererPath !== null) {\n const suspendedByPathRendererIndex = suspendedByPathIndex - suspendedByOffset;\n const rendererHasRequestedSuspendedByPath = renderer.getElementAttributeByPath(id, ['suspendedBy', suspendedByPathRendererIndex]) !== undefined;\n if (rendererHasRequestedSuspendedByPath) {\n path = ['suspendedBy', suspendedByPathRendererIndex].concat(rendererPath);\n }\n }\n const inspectedRootsPayload = renderer.inspectElement(requestID, id, path, forceFullData);\n switch (inspectedRootsPayload.type) {\n case 'hydrated-path':\n inspectedRootsPayload.path[1] += suspendedByOffset;\n if (inspectedRootsPayload.value !== null) {\n for (let i = 0; i < inspectedRootsPayload.value.cleaned.length; i++) {\n inspectedRootsPayload.value.cleaned[i][1] += suspendedByOffset;\n }\n }\n this._bridge.send('inspectedScreen', inspectedRootsPayload);\n return;\n case 'full-data':\n const inspectedRoots = inspectedRootsPayload.value;\n if (inspectedScreen === null) {\n inspectedScreen = createEmptyInspectedScreen(inspectedRoots.id, inspectedRoots.type);\n }\n mergeRoots(inspectedScreen, inspectedRoots, suspendedByOffset);\n const dehydratedSuspendedBy = inspectedRoots.suspendedBy;\n const suspendedBy = dehydratedSuspendedBy.data;\n suspendedByOffset += suspendedBy.length;\n found = true;\n break;\n case 'no-change':\n found = true;\n const rootsSuspendedBy = renderer.getElementAttributeByPath(id, ['suspendedBy']);\n suspendedByOffset += rootsSuspendedBy.length;\n break;\n case 'not-found':\n break;\n case 'error':\n this._bridge.send('inspectedScreen', inspectedRootsPayload);\n return;\n }\n }\n if (inspectedScreen === null) {\n if (found) {\n this._bridge.send('inspectedScreen', {\n type: 'no-change',\n responseID: requestID,\n id\n });\n } else {\n this._bridge.send('inspectedScreen', {\n type: 'not-found',\n responseID: requestID,\n id\n });\n }\n } else {\n this._bridge.send('inspectedScreen', {\n type: 'full-data',\n responseID: requestID,\n id,\n value: inspectedScreen\n });\n }\n });\n agent_defineProperty(this, \"logElementToConsole\", ({\n id,\n rendererID\n }) => {\n const renderer = this._rendererInterfaces[rendererID];\n if (renderer == null) {\n console.warn(`Invalid renderer id \"${rendererID}\" for element \"${id}\"`);\n } else {\n renderer.logElementToConsole(id);\n }\n });\n agent_defineProperty(this, \"overrideError\", ({\n id,\n rendererID,\n forceError\n }) => {\n const renderer = this._rendererInterfaces[rendererID];\n if (renderer == null) {\n console.warn(`Invalid renderer id \"${rendererID}\" for element \"${id}\"`);\n } else {\n renderer.overrideError(id, forceError);\n }\n });\n agent_defineProperty(this, \"overrideSuspense\", ({\n id,\n rendererID,\n forceFallback\n }) => {\n const renderer = this._rendererInterfaces[rendererID];\n if (renderer == null) {\n console.warn(`Invalid renderer id \"${rendererID}\" for element \"${id}\"`);\n } else {\n renderer.overrideSuspense(id, forceFallback);\n }\n });\n agent_defineProperty(this, \"overrideSuspenseMilestone\", ({\n suspendedSet\n }) => {\n for (const rendererID in this._rendererInterfaces) {\n const renderer = this._rendererInterfaces[rendererID];\n if (renderer.supportsTogglingSuspense) {\n renderer.overrideSuspenseMilestone(suspendedSet);\n }\n }\n });\n agent_defineProperty(this, \"overrideValueAtPath\", ({\n hookID,\n id,\n path,\n rendererID,\n type,\n value\n }) => {\n const renderer = this._rendererInterfaces[rendererID];\n if (renderer == null) {\n console.warn(`Invalid renderer id \"${rendererID}\" for element \"${id}\"`);\n } else {\n renderer.overrideValueAtPath(type, id, hookID, path, value);\n }\n });\n agent_defineProperty(this, \"overrideContext\", ({\n id,\n path,\n rendererID,\n wasForwarded,\n value\n }) => {\n if (!wasForwarded) {\n this.overrideValueAtPath({\n id,\n path,\n rendererID,\n type: 'context',\n value\n });\n }\n });\n agent_defineProperty(this, \"overrideHookState\", ({\n id,\n hookID,\n path,\n rendererID,\n wasForwarded,\n value\n }) => {\n if (!wasForwarded) {\n this.overrideValueAtPath({\n id,\n path,\n rendererID,\n type: 'hooks',\n value\n });\n }\n });\n agent_defineProperty(this, \"overrideProps\", ({\n id,\n path,\n rendererID,\n wasForwarded,\n value\n }) => {\n if (!wasForwarded) {\n this.overrideValueAtPath({\n id,\n path,\n rendererID,\n type: 'props',\n value\n });\n }\n });\n agent_defineProperty(this, \"overrideState\", ({\n id,\n path,\n rendererID,\n wasForwarded,\n value\n }) => {\n if (!wasForwarded) {\n this.overrideValueAtPath({\n id,\n path,\n rendererID,\n type: 'state',\n value\n });\n }\n });\n agent_defineProperty(this, \"onReloadAndProfileSupportedByHost\", () => {\n this._bridge.send('isReloadAndProfileSupportedByBackend', true);\n });\n agent_defineProperty(this, \"reloadAndProfile\", ({\n recordChangeDescriptions,\n recordTimeline\n }) => {\n if (typeof this._onReloadAndProfile === 'function') {\n this._onReloadAndProfile(recordChangeDescriptions, recordTimeline);\n }\n this._bridge.send('reloadAppForProfiling');\n });\n agent_defineProperty(this, \"renamePath\", ({\n hookID,\n id,\n newPath,\n oldPath,\n rendererID,\n type\n }) => {\n const renderer = this._rendererInterfaces[rendererID];\n if (renderer == null) {\n console.warn(`Invalid renderer id \"${rendererID}\" for element \"${id}\"`);\n } else {\n renderer.renamePath(type, id, hookID, oldPath, newPath);\n }\n });\n agent_defineProperty(this, \"setTraceUpdatesEnabled\", traceUpdatesEnabled => {\n this._traceUpdatesEnabled = traceUpdatesEnabled;\n toggleEnabled(traceUpdatesEnabled);\n for (const rendererID in this._rendererInterfaces) {\n const renderer = this._rendererInterfaces[rendererID];\n renderer.setTraceUpdatesEnabled(traceUpdatesEnabled);\n }\n });\n agent_defineProperty(this, \"syncSelectionFromBuiltinElementsPanel\", () => {\n const target = window.__REACT_DEVTOOLS_GLOBAL_HOOK__.$0;\n if (target == null) {\n return;\n }\n this.selectNode(target);\n });\n agent_defineProperty(this, \"shutdown\", () => {\n this.emit('shutdown');\n this._bridge.removeAllListeners();\n this.removeAllListeners();\n });\n agent_defineProperty(this, \"startProfiling\", ({\n recordChangeDescriptions,\n recordTimeline\n }) => {\n this._isProfiling = true;\n for (const rendererID in this._rendererInterfaces) {\n const renderer = this._rendererInterfaces[rendererID];\n renderer.startProfiling(recordChangeDescriptions, recordTimeline);\n }\n this._bridge.send('profilingStatus', this._isProfiling);\n });\n agent_defineProperty(this, \"stopProfiling\", () => {\n this._isProfiling = false;\n for (const rendererID in this._rendererInterfaces) {\n const renderer = this._rendererInterfaces[rendererID];\n renderer.stopProfiling();\n }\n this._bridge.send('profilingStatus', this._isProfiling);\n });\n agent_defineProperty(this, \"stopInspectingNative\", selected => {\n this._bridge.send('stopInspectingHost', selected);\n });\n agent_defineProperty(this, \"storeAsGlobal\", ({\n count,\n id,\n path,\n rendererID\n }) => {\n const renderer = this._rendererInterfaces[rendererID];\n if (renderer == null) {\n console.warn(`Invalid renderer id \"${rendererID}\" for element \"${id}\"`);\n } else {\n renderer.storeAsGlobal(id, path, count);\n }\n });\n agent_defineProperty(this, \"updateHookSettings\", settings => {\n this.emit('updateHookSettings', settings);\n });\n agent_defineProperty(this, \"getHookSettings\", () => {\n this.emit('getHookSettings');\n });\n agent_defineProperty(this, \"onHookSettings\", settings => {\n this._bridge.send('hookSettings', settings);\n });\n agent_defineProperty(this, \"updateComponentFilters\", componentFilters => {\n for (const rendererIDString in this._rendererInterfaces) {\n const rendererID = +rendererIDString;\n const renderer = this._rendererInterfaces[rendererID];\n if (this._lastSelectedRendererID === rendererID) {\n const path = renderer.getPathForElement(this._lastSelectedElementID);\n if (path !== null) {\n renderer.setTrackedPath(path);\n this._persistedSelection = {\n rendererID,\n path\n };\n }\n }\n renderer.updateComponentFilters(componentFilters);\n }\n });\n agent_defineProperty(this, \"getEnvironmentNames\", () => {\n let accumulatedNames = null;\n for (const rendererID in this._rendererInterfaces) {\n const renderer = this._rendererInterfaces[+rendererID];\n const names = renderer.getEnvironmentNames();\n if (accumulatedNames === null) {\n accumulatedNames = names;\n } else {\n for (let i = 0; i < names.length; i++) {\n if (accumulatedNames.indexOf(names[i]) === -1) {\n accumulatedNames.push(names[i]);\n }\n }\n }\n }\n this._bridge.send('environmentNames', accumulatedNames || []);\n });\n agent_defineProperty(this, \"onTraceUpdates\", nodes => {\n this.emit('traceUpdates', nodes);\n });\n agent_defineProperty(this, \"onFastRefreshScheduled\", () => {\n if (__DEBUG__) {\n debug('onFastRefreshScheduled');\n }\n this._bridge.send('fastRefreshScheduled');\n });\n agent_defineProperty(this, \"onHookOperations\", operations => {\n if (__DEBUG__) {\n debug('onHookOperations', `(${operations.length}) [${operations.join(', ')}]`);\n }\n this._bridge.send('operations', operations);\n if (this._persistedSelection !== null) {\n const rendererID = operations[0];\n if (this._persistedSelection.rendererID === rendererID) {\n const renderer = this._rendererInterfaces[rendererID];\n if (renderer == null) {\n console.warn(`Invalid renderer id \"${rendererID}\"`);\n } else {\n const prevMatch = this._persistedSelectionMatch;\n const nextMatch = renderer.getBestMatchForTrackedPath();\n this._persistedSelectionMatch = nextMatch;\n const prevMatchID = prevMatch !== null ? prevMatch.id : null;\n const nextMatchID = nextMatch !== null ? nextMatch.id : null;\n if (prevMatchID !== nextMatchID) {\n if (nextMatchID !== null) {\n this._bridge.send('selectElement', nextMatchID);\n }\n }\n if (nextMatch !== null && nextMatch.isFullMatch) {\n this._persistedSelection = null;\n this._persistedSelectionMatch = null;\n renderer.setTrackedPath(null);\n }\n }\n }\n }\n });\n agent_defineProperty(this, \"getIfHasUnsupportedRendererVersion\", () => {\n this.emit('getIfHasUnsupportedRendererVersion');\n });\n agent_defineProperty(this, \"_persistSelectionTimerScheduled\", false);\n agent_defineProperty(this, \"_lastSelectedRendererID\", -1);\n agent_defineProperty(this, \"_lastSelectedElementID\", -1);\n agent_defineProperty(this, \"_persistSelection\", () => {\n this._persistSelectionTimerScheduled = false;\n const rendererID = this._lastSelectedRendererID;\n const id = this._lastSelectedElementID;\n const renderer = this._rendererInterfaces[rendererID];\n const path = renderer != null ? renderer.getPathForElement(id) : null;\n if (path !== null) {\n sessionStorageSetItem(SESSION_STORAGE_LAST_SELECTION_KEY, JSON.stringify({\n rendererID,\n path\n }));\n } else {\n sessionStorageRemoveItem(SESSION_STORAGE_LAST_SELECTION_KEY);\n }\n });\n this._isProfiling = isProfiling;\n this._onReloadAndProfile = onReloadAndProfile;\n const persistedSelectionString = storage_sessionStorageGetItem(SESSION_STORAGE_LAST_SELECTION_KEY);\n if (persistedSelectionString != null) {\n this._persistedSelection = JSON.parse(persistedSelectionString);\n }\n this._bridge = bridge;\n bridge.addListener('clearErrorsAndWarnings', this.clearErrorsAndWarnings);\n bridge.addListener('clearErrorsForElementID', this.clearErrorsForElementID);\n bridge.addListener('clearWarningsForElementID', this.clearWarningsForElementID);\n bridge.addListener('copyElementPath', this.copyElementPath);\n bridge.addListener('deletePath', this.deletePath);\n bridge.addListener('getBackendVersion', this.getBackendVersion);\n bridge.addListener('getBridgeProtocol', this.getBridgeProtocol);\n bridge.addListener('getProfilingData', this.getProfilingData);\n bridge.addListener('getProfilingStatus', this.getProfilingStatus);\n bridge.addListener('getOwnersList', this.getOwnersList);\n bridge.addListener('inspectElement', this.inspectElement);\n bridge.addListener('inspectScreen', this.inspectScreen);\n bridge.addListener('logElementToConsole', this.logElementToConsole);\n bridge.addListener('overrideError', this.overrideError);\n bridge.addListener('overrideSuspense', this.overrideSuspense);\n bridge.addListener('overrideSuspenseMilestone', this.overrideSuspenseMilestone);\n bridge.addListener('overrideValueAtPath', this.overrideValueAtPath);\n bridge.addListener('reloadAndProfile', this.reloadAndProfile);\n bridge.addListener('renamePath', this.renamePath);\n bridge.addListener('setTraceUpdatesEnabled', this.setTraceUpdatesEnabled);\n bridge.addListener('startProfiling', this.startProfiling);\n bridge.addListener('stopProfiling', this.stopProfiling);\n bridge.addListener('storeAsGlobal', this.storeAsGlobal);\n bridge.addListener('syncSelectionFromBuiltinElementsPanel', this.syncSelectionFromBuiltinElementsPanel);\n bridge.addListener('shutdown', this.shutdown);\n bridge.addListener('updateHookSettings', this.updateHookSettings);\n bridge.addListener('getHookSettings', this.getHookSettings);\n bridge.addListener('updateComponentFilters', this.updateComponentFilters);\n bridge.addListener('getEnvironmentNames', this.getEnvironmentNames);\n bridge.addListener('getIfHasUnsupportedRendererVersion', this.getIfHasUnsupportedRendererVersion);\n bridge.addListener('overrideContext', this.overrideContext);\n bridge.addListener('overrideHookState', this.overrideHookState);\n bridge.addListener('overrideProps', this.overrideProps);\n bridge.addListener('overrideState', this.overrideState);\n setupHighlighter(bridge, this);\n TraceUpdates_initialize(this);\n bridge.send('backendInitialized');\n if (this._isProfiling) {\n bridge.send('profilingStatus', true);\n }\n }\n get rendererInterfaces() {\n return this._rendererInterfaces;\n }\n getInstanceAndStyle({\n id,\n rendererID\n }) {\n const renderer = this._rendererInterfaces[rendererID];\n if (renderer == null) {\n console.warn(`Invalid renderer id \"${rendererID}\"`);\n return null;\n }\n return renderer.getInstanceAndStyle(id);\n }\n getIDForHostInstance(target, onlySuspenseNodes) {\n if (isReactNativeEnvironment() || typeof target.nodeType !== 'number') {\n for (const rendererID in this._rendererInterfaces) {\n const renderer = this._rendererInterfaces[rendererID];\n try {\n const id = onlySuspenseNodes ? renderer.getSuspenseNodeIDForHostInstance(target) : renderer.getElementIDForHostInstance(target);\n if (id !== null) {\n return {\n id: id,\n rendererID: +rendererID\n };\n }\n } catch (error) {}\n }\n return null;\n } else {\n let bestMatch = null;\n let bestRenderer = null;\n let bestRendererID = 0;\n for (const rendererID in this._rendererInterfaces) {\n const renderer = this._rendererInterfaces[rendererID];\n const nearestNode = renderer.getNearestMountedDOMNode(target);\n if (nearestNode !== null) {\n if (nearestNode === target) {\n bestMatch = nearestNode;\n bestRenderer = renderer;\n bestRendererID = +rendererID;\n break;\n }\n if (bestMatch === null || bestMatch.contains(nearestNode)) {\n bestMatch = nearestNode;\n bestRenderer = renderer;\n bestRendererID = +rendererID;\n }\n }\n }\n if (bestRenderer != null && bestMatch != null) {\n try {\n const id = onlySuspenseNodes ? bestRenderer.getSuspenseNodeIDForHostInstance(bestMatch) : bestRenderer.getElementIDForHostInstance(bestMatch);\n if (id !== null) {\n return {\n id,\n rendererID: bestRendererID\n };\n }\n } catch (error) {}\n }\n return null;\n }\n }\n getComponentNameForHostInstance(target) {\n const match = this.getIDForHostInstance(target);\n if (match !== null) {\n const renderer = this._rendererInterfaces[match.rendererID];\n return renderer.getDisplayNameForElementID(match.id);\n }\n return null;\n }\n selectNode(target) {\n const match = this.getIDForHostInstance(target);\n if (match !== null) {\n this._bridge.send('selectElement', match.id);\n }\n }\n registerRendererInterface(rendererID, rendererInterface) {\n this._rendererInterfaces[rendererID] = rendererInterface;\n rendererInterface.setTraceUpdatesEnabled(this._traceUpdatesEnabled);\n const renderer = rendererInterface.renderer;\n if (renderer !== null) {\n const devRenderer = renderer.bundleType === 1;\n const enableSuspenseTab = devRenderer && gte(renderer.version, '19.3.0-canary');\n if (enableSuspenseTab) {\n this._bridge.send('enableSuspenseTab');\n }\n }\n const selection = this._persistedSelection;\n if (selection !== null && selection.rendererID === rendererID) {\n rendererInterface.setTrackedPath(selection.path);\n }\n }\n onUnsupportedRenderer() {\n this._bridge.send('unsupportedRendererVersion');\n }\n}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/backend/index.js\n\nfunction initBackend(hook, agent, global, isReloadAndProfileSupported) {\n if (hook == null) {\n return () => {};\n }\n function registerRendererInterface(id, rendererInterface) {\n agent.registerRendererInterface(id, rendererInterface);\n rendererInterface.flushInitialOperations();\n }\n const subs = [hook.sub('renderer-attached', ({\n id,\n rendererInterface\n }) => {\n registerRendererInterface(id, rendererInterface);\n }), hook.sub('unsupported-renderer-version', () => {\n agent.onUnsupportedRenderer();\n }), hook.sub('fastRefreshScheduled', agent.onFastRefreshScheduled), hook.sub('operations', agent.onHookOperations), hook.sub('traceUpdates', agent.onTraceUpdates), hook.sub('settingsInitialized', agent.onHookSettings)];\n agent.addListener('getIfHasUnsupportedRendererVersion', () => {\n if (hook.hasUnsupportedRendererAttached) {\n agent.onUnsupportedRenderer();\n }\n });\n hook.rendererInterfaces.forEach((rendererInterface, id) => {\n registerRendererInterface(id, rendererInterface);\n });\n hook.emit('react-devtools', agent);\n hook.reactDevtoolsAgent = agent;\n const onAgentShutdown = () => {\n subs.forEach(fn => fn());\n hook.rendererInterfaces.forEach(rendererInterface => {\n rendererInterface.cleanup();\n });\n hook.reactDevtoolsAgent = null;\n };\n agent.addListener('shutdown', onAgentShutdown);\n agent.addListener('updateHookSettings', settings => {\n hook.settings = settings;\n });\n agent.addListener('getHookSettings', () => {\n if (hook.settings != null) {\n agent.onHookSettings(hook.settings);\n }\n });\n if (isReloadAndProfileSupported) {\n agent.onReloadAndProfileSupportedByHost();\n }\n return () => {\n subs.forEach(fn => fn());\n };\n}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/backend/shared/DevToolsConsolePatching.js\nlet disabledDepth = 0;\nlet prevLog;\nlet prevInfo;\nlet prevWarn;\nlet prevError;\nlet prevGroup;\nlet prevGroupCollapsed;\nlet prevGroupEnd;\nfunction disabledLog() {}\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n if (disabledDepth === 0) {\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd;\n const props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n };\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n }\n disabledDepth++;\n}\nfunction reenableLogs() {\n disabledDepth--;\n if (disabledDepth === 0) {\n const props = {\n configurable: true,\n enumerable: true,\n writable: true\n };\n Object.defineProperties(console, {\n log: {\n ...props,\n value: prevLog\n },\n info: {\n ...props,\n value: prevInfo\n },\n warn: {\n ...props,\n value: prevWarn\n },\n error: {\n ...props,\n value: prevError\n },\n group: {\n ...props,\n value: prevGroup\n },\n groupCollapsed: {\n ...props,\n value: prevGroupCollapsed\n },\n groupEnd: {\n ...props,\n value: prevGroupEnd\n }\n });\n }\n if (disabledDepth < 0) {\n console.error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/backend/shared/DevToolsComponentStackFrame.js\n\nlet prefix;\nfunction describeBuiltInComponentFrame(name) {\n if (prefix === undefined) {\n try {\n throw Error();\n } catch (x) {\n const match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n }\n let suffix = '';\n if (false) {} else if (false) {}\n return '\\n' + prefix + name + suffix;\n}\nfunction describeDebugInfoFrame(name, env) {\n return describeBuiltInComponentFrame(name + (env ? ' [' + env + ']' : ''));\n}\nlet reentry = false;\nlet componentFrameCache;\nif (false) {}\nfunction describeNativeComponentFrame(fn, construct, currentDispatcherRef) {\n if (!fn || reentry) {\n return '';\n }\n if (false) {}\n const previousPrepareStackTrace = Error.prepareStackTrace;\n Error.prepareStackTrace = undefined;\n reentry = true;\n const previousDispatcher = currentDispatcherRef.H;\n currentDispatcherRef.H = null;\n disableLogs();\n try {\n const RunInRootFrame = {\n DetermineComponentFrameRoot() {\n let control;\n try {\n if (construct) {\n const Fake = function () {\n throw Error();\n };\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n throw Error();\n }\n });\n if (typeof Reflect === 'object' && Reflect.construct) {\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n const maybePromise = fn();\n if (maybePromise && typeof maybePromise.catch === 'function') {\n maybePromise.catch(() => {});\n }\n }\n } catch (sample) {\n if (sample && control && typeof sample.stack === 'string') {\n return [sample.stack, control.stack];\n }\n }\n return [null, null];\n }\n };\n RunInRootFrame.DetermineComponentFrameRoot.displayName = 'DetermineComponentFrameRoot';\n const namePropDescriptor = Object.getOwnPropertyDescriptor(RunInRootFrame.DetermineComponentFrameRoot, 'name');\n if (namePropDescriptor && namePropDescriptor.configurable) {\n Object.defineProperty(RunInRootFrame.DetermineComponentFrameRoot, 'name', {\n value: 'DetermineComponentFrameRoot'\n });\n }\n const [sampleStack, controlStack] = RunInRootFrame.DetermineComponentFrameRoot();\n if (sampleStack && controlStack) {\n const sampleLines = sampleStack.split('\\n');\n const controlLines = controlStack.split('\\n');\n let s = 0;\n let c = 0;\n while (s < sampleLines.length && !sampleLines[s].includes('DetermineComponentFrameRoot')) {\n s++;\n }\n while (c < controlLines.length && !controlLines[c].includes('DetermineComponentFrameRoot')) {\n c++;\n }\n if (s === sampleLines.length || c === controlLines.length) {\n s = sampleLines.length - 1;\n c = controlLines.length - 1;\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n c--;\n }\n }\n for (; s >= 1 && c >= 0; s--, c--) {\n if (sampleLines[s] !== controlLines[c]) {\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--;\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n let frame = '\\n' + sampleLines[s].replace(' at new ', ' at ');\n if (fn.displayName && frame.includes('<anonymous>')) {\n frame = frame.replace('<anonymous>', fn.displayName);\n }\n if (false) {}\n return frame;\n }\n } while (s >= 1 && c >= 0);\n }\n break;\n }\n }\n }\n } finally {\n reentry = false;\n Error.prepareStackTrace = previousPrepareStackTrace;\n currentDispatcherRef.H = previousDispatcher;\n reenableLogs();\n }\n const name = fn ? fn.displayName || fn.name : '';\n const syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n if (false) {}\n return syntheticFrame;\n}\nfunction describeClassComponentFrame(ctor, currentDispatcherRef) {\n return describeNativeComponentFrame(ctor, true, currentDispatcherRef);\n}\nfunction describeFunctionComponentFrame(fn, currentDispatcherRef) {\n return describeNativeComponentFrame(fn, false, currentDispatcherRef);\n}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/backend/shared/DevToolsOwnerStack.js\nfunction formatOwnerStack(error) {\n const prevPrepareStackTrace = Error.prepareStackTrace;\n Error.prepareStackTrace = undefined;\n let stack = error.stack;\n Error.prepareStackTrace = prevPrepareStackTrace;\n if (stack.startsWith('Error: react-stack-top-frame\\n')) {\n stack = stack.slice(29);\n }\n let idx = stack.indexOf('\\n');\n if (idx !== -1) {\n stack = stack.slice(idx + 1);\n }\n idx = stack.indexOf('react_stack_bottom_frame');\n if (idx === -1) {\n idx = stack.indexOf('react-stack-bottom-frame');\n }\n if (idx !== -1) {\n idx = stack.lastIndexOf('\\n', idx);\n }\n if (idx !== -1) {\n stack = stack.slice(0, idx);\n } else {\n return '';\n }\n return stack;\n}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/backend/flight/DevToolsComponentInfoStack.js\n\n\nfunction getOwnerStackByComponentInfoInDev(componentInfo) {\n try {\n let info = '';\n if (!componentInfo.owner && typeof componentInfo.name === 'string') {\n return describeBuiltInComponentFrame(componentInfo.name);\n }\n let owner = componentInfo;\n while (owner) {\n const ownerStack = owner.debugStack;\n if (ownerStack != null) {\n owner = owner.owner;\n if (owner) {\n info += '\\n' + formatOwnerStack(ownerStack);\n }\n } else {\n break;\n }\n }\n return info;\n } catch (x) {\n return '\\nError generating stack: ' + x.message + '\\n' + x.stack;\n }\n}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/backend/shared/DevToolsServerComponentLogs.js\nconst componentInfoToComponentLogsMap = new WeakMap();\n;// CONCATENATED MODULE: ../react-devtools-shared/src/backend/flight/renderer.js\n\n\n\n\nfunction supportsConsoleTasks(componentInfo) {\n return !!componentInfo.debugTask;\n}\nfunction attach(hook, rendererID, renderer, global) {\n const {\n getCurrentComponentInfo\n } = renderer;\n function getComponentStack(topFrame) {\n if (getCurrentComponentInfo === undefined) {\n return null;\n }\n const current = getCurrentComponentInfo();\n if (current === null) {\n return null;\n }\n if (supportsConsoleTasks(current)) {\n return null;\n }\n const enableOwnerStacks = current.debugStack != null;\n let componentStack = '';\n if (enableOwnerStacks) {\n const topStackFrames = formatOwnerStack(topFrame);\n if (topStackFrames) {\n componentStack += '\\n' + topStackFrames;\n }\n componentStack += getOwnerStackByComponentInfoInDev(current);\n }\n return {\n enableOwnerStacks,\n componentStack\n };\n }\n function onErrorOrWarning(type, args) {\n if (getCurrentComponentInfo === undefined) {\n return;\n }\n const componentInfo = getCurrentComponentInfo();\n if (componentInfo === null) {\n return;\n }\n if (args.length > 3 && typeof args[0] === 'string' && args[0].startsWith('%c%s%c ') && typeof args[1] === 'string' && typeof args[2] === 'string' && typeof args[3] === 'string') {\n const format = args[0].slice(7);\n const env = args[2].trim();\n args = args.slice(4);\n if (env !== componentInfo.env) {\n args.unshift('[' + env + '] ' + format);\n } else {\n args.unshift(format);\n }\n }\n const message = formatConsoleArgumentsToSingleString(...args);\n let componentLogsEntry = componentInfoToComponentLogsMap.get(componentInfo);\n if (componentLogsEntry === undefined) {\n componentLogsEntry = {\n errors: new Map(),\n errorsCount: 0,\n warnings: new Map(),\n warningsCount: 0\n };\n componentInfoToComponentLogsMap.set(componentInfo, componentLogsEntry);\n }\n const messageMap = type === 'error' ? componentLogsEntry.errors : componentLogsEntry.warnings;\n const count = messageMap.get(message) || 0;\n messageMap.set(message, count + 1);\n if (type === 'error') {\n componentLogsEntry.errorsCount++;\n } else {\n componentLogsEntry.warningsCount++;\n }\n }\n const supportsTogglingSuspense = false;\n return {\n cleanup() {},\n clearErrorsAndWarnings() {},\n clearErrorsForElementID() {},\n clearWarningsForElementID() {},\n getSerializedElementValueByPath() {},\n deletePath() {},\n findHostInstancesForElementID() {\n return null;\n },\n findLastKnownRectsForID() {\n return null;\n },\n flushInitialOperations() {},\n getBestMatchForTrackedPath() {\n return null;\n },\n getComponentStack,\n getDisplayNameForElementID() {\n return null;\n },\n getNearestMountedDOMNode() {\n return null;\n },\n getElementIDForHostInstance() {\n return null;\n },\n getSuspenseNodeIDForHostInstance() {\n return null;\n },\n getInstanceAndStyle() {\n return {\n instance: null,\n style: null\n };\n },\n getOwnersList() {\n return null;\n },\n getPathForElement() {\n return null;\n },\n getProfilingData() {\n throw new Error('getProfilingData not supported by this renderer');\n },\n handleCommitFiberRoot() {},\n handleCommitFiberUnmount() {},\n handlePostCommitFiberRoot() {},\n hasElementWithId() {\n return false;\n },\n inspectElement(requestID, id, path) {\n return {\n id,\n responseID: requestID,\n type: 'not-found'\n };\n },\n logElementToConsole() {},\n getElementAttributeByPath() {},\n getElementSourceFunctionById() {},\n onErrorOrWarning,\n overrideError() {},\n overrideSuspense() {},\n overrideSuspenseMilestone() {},\n overrideValueAtPath() {},\n renamePath() {},\n renderer,\n setTraceUpdatesEnabled() {},\n setTrackedPath() {},\n startProfiling() {},\n stopProfiling() {},\n storeAsGlobal() {},\n supportsTogglingSuspense,\n updateComponentFilters() {},\n getEnvironmentNames() {\n return [];\n }\n };\n}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/backend/utils/parseStackTrace.js\nfunction parseStackTraceFromChromeStack(stack, skipFrames) {\n if (stack.startsWith('Error: react-stack-top-frame\\n')) {\n stack = stack.slice(29);\n }\n let idx = stack.indexOf('react_stack_bottom_frame');\n if (idx === -1) {\n idx = stack.indexOf('react-stack-bottom-frame');\n }\n if (idx !== -1) {\n idx = stack.lastIndexOf('\\n', idx);\n }\n if (idx !== -1) {\n stack = stack.slice(0, idx);\n }\n const frames = stack.split('\\n');\n const parsedFrames = [];\n for (let i = skipFrames; i < frames.length; i++) {\n const parsed = chromeFrameRegExp.exec(frames[i]);\n if (!parsed) {\n continue;\n }\n let name = parsed[1] || '';\n let isAsync = parsed[8] === 'async ';\n if (name === '<anonymous>') {\n name = '';\n } else if (name.startsWith('async ')) {\n name = name.slice(5);\n isAsync = true;\n }\n let filename = parsed[2] || parsed[5] || '';\n if (filename === '<anonymous>') {\n filename = '';\n }\n const line = +(parsed[3] || parsed[6] || 0);\n const col = +(parsed[4] || parsed[7] || 0);\n parsedFrames.push([name, filename, line, col, 0, 0, isAsync]);\n }\n return parsedFrames;\n}\nconst firefoxFrameRegExp = /^((?:.*\".+\")?[^@]*)@(.+):(\\d+):(\\d+)$/;\nfunction parseStackTraceFromFirefoxStack(stack, skipFrames) {\n let idx = stack.indexOf('react_stack_bottom_frame');\n if (idx === -1) {\n idx = stack.indexOf('react-stack-bottom-frame');\n }\n if (idx !== -1) {\n idx = stack.lastIndexOf('\\n', idx);\n }\n if (idx !== -1) {\n stack = stack.slice(0, idx);\n }\n const frames = stack.split('\\n');\n const parsedFrames = [];\n for (let i = skipFrames; i < frames.length; i++) {\n const parsed = firefoxFrameRegExp.exec(frames[i]);\n if (!parsed) {\n continue;\n }\n const name = parsed[1] || '';\n const filename = parsed[2] || '';\n const line = +parsed[3];\n const col = +parsed[4];\n parsedFrames.push([name, filename, line, col, 0, 0, false]);\n }\n return parsedFrames;\n}\nconst CHROME_STACK_REGEXP = /^\\s*at .*(\\S+:\\d+|\\(native\\))/m;\nfunction parseStackTraceFromString(stack, skipFrames) {\n if (stack.match(CHROME_STACK_REGEXP)) {\n return parseStackTraceFromChromeStack(stack, skipFrames);\n }\n return parseStackTraceFromFirefoxStack(stack, skipFrames);\n}\nlet framesToSkip = 0;\nlet collectedStackTrace = null;\nconst identifierRegExp = /^[a-zA-Z_$][0-9a-zA-Z_$]*$/;\nfunction getMethodCallName(callSite) {\n const typeName = callSite.getTypeName();\n const methodName = callSite.getMethodName();\n const functionName = callSite.getFunctionName();\n let result = '';\n if (functionName) {\n if (typeName && identifierRegExp.test(functionName) && functionName !== typeName) {\n result += typeName + '.';\n }\n result += functionName;\n if (methodName && functionName !== methodName && !functionName.endsWith('.' + methodName) && !functionName.endsWith(' ' + methodName)) {\n result += ' [as ' + methodName + ']';\n }\n } else {\n if (typeName) {\n result += typeName + '.';\n }\n if (methodName) {\n result += methodName;\n } else {\n result += '<anonymous>';\n }\n }\n return result;\n}\nfunction collectStackTrace(error, structuredStackTrace) {\n const result = [];\n for (let i = framesToSkip; i < structuredStackTrace.length; i++) {\n const callSite = structuredStackTrace[i];\n let name = callSite.getFunctionName() || '<anonymous>';\n if (name.includes('react_stack_bottom_frame') || name.includes('react-stack-bottom-frame')) {\n break;\n } else if (callSite.isNative()) {\n const isAsync = callSite.isAsync();\n result.push([name, '', 0, 0, 0, 0, isAsync]);\n } else {\n if (callSite.isConstructor()) {\n name = 'new ' + name;\n } else if (!callSite.isToplevel()) {\n name = getMethodCallName(callSite);\n }\n if (name === '<anonymous>') {\n name = '';\n }\n let filename = callSite.getScriptNameOrSourceURL() || '<anonymous>';\n if (filename === '<anonymous>') {\n filename = '';\n if (callSite.isEval()) {\n const origin = callSite.getEvalOrigin();\n if (origin) {\n filename = origin.toString() + ', <anonymous>';\n }\n }\n }\n const line = callSite.getLineNumber() || 0;\n const col = callSite.getColumnNumber() || 0;\n const enclosingLine = typeof callSite.getEnclosingLineNumber === 'function' ? callSite.getEnclosingLineNumber() || 0 : 0;\n const enclosingCol = typeof callSite.getEnclosingColumnNumber === 'function' ? callSite.getEnclosingColumnNumber() || 0 : 0;\n const isAsync = callSite.isAsync();\n result.push([name, filename, line, col, enclosingLine, enclosingCol, isAsync]);\n }\n }\n collectedStackTrace = result;\n const name = error.name || 'Error';\n const message = error.message || '';\n let stack = name + ': ' + message;\n for (let i = 0; i < structuredStackTrace.length; i++) {\n stack += '\\n at ' + structuredStackTrace[i].toString();\n }\n return stack;\n}\nconst chromeFrameRegExp = /^ *at (?:(.+) \\((?:(.+):(\\d+):(\\d+)|\\<anonymous\\>)\\)|(?:async )?(.+):(\\d+):(\\d+)|\\<anonymous\\>)$/;\nconst stackTraceCache = new WeakMap();\nfunction parseStackTrace(error, skipFrames) {\n const existing = stackTraceCache.get(error);\n if (existing !== undefined) {\n return existing;\n }\n collectedStackTrace = null;\n framesToSkip = skipFrames;\n const previousPrepare = Error.prepareStackTrace;\n Error.prepareStackTrace = collectStackTrace;\n let stack;\n try {\n stack = String(error.stack);\n } finally {\n Error.prepareStackTrace = previousPrepare;\n }\n if (collectedStackTrace !== null) {\n const result = collectedStackTrace;\n collectedStackTrace = null;\n stackTraceCache.set(error, result);\n return result;\n }\n const parsedFrames = parseStackTraceFromString(stack, skipFrames);\n stackTraceCache.set(error, parsedFrames);\n return parsedFrames;\n}\nfunction extractLocationFromOwnerStack(error) {\n const stackTrace = parseStackTrace(error, 1);\n const stack = error.stack;\n if (!stack.includes('react_stack_bottom_frame') && !stack.includes('react-stack-bottom-frame')) {\n return null;\n }\n for (let i = stackTrace.length - 1; i >= 0; i--) {\n const [functionName, fileName, line, col, encLine, encCol] = stackTrace[i];\n if (fileName.indexOf(':') !== -1) {\n return [functionName, fileName, encLine || line, encCol || col];\n }\n }\n return null;\n}\nfunction extractLocationFromComponentStack(stack) {\n const stackTrace = parseStackTraceFromString(stack, 0);\n for (let i = 0; i < stackTrace.length; i++) {\n const [functionName, fileName, line, col, encLine, encCol] = stackTrace[i];\n if (fileName.indexOf(':') !== -1) {\n return [functionName, fileName, encLine || line, encCol || col];\n }\n }\n return null;\n}\n// EXTERNAL MODULE: ../react-debug-tools/node_modules/error-stack-parser/error-stack-parser.js\nvar error_stack_parser = __webpack_require__(2235);\nvar error_stack_parser_default = /*#__PURE__*/__webpack_require__.n(error_stack_parser);\n;// CONCATENATED MODULE: ../shared/assign.js\nconst assign_assign = Object.assign;\n/* harmony default export */ const shared_assign = (assign_assign);\n;// CONCATENATED MODULE: external \"react\"\nconst external_react_namespaceObject = require(\"react\");\n;// CONCATENATED MODULE: ../shared/ReactSharedInternals.js\n\nconst ReactSharedInternals = external_react_namespaceObject.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;\n/* harmony default export */ const shared_ReactSharedInternals = (ReactSharedInternals);\n;// CONCATENATED MODULE: ../react-reconciler/src/ReactWorkTags.js\nconst FunctionComponent = 0;\nconst ClassComponent = 1;\nconst HostRoot = 3;\nconst HostPortal = 4;\nconst HostComponent = 5;\nconst HostText = 6;\nconst Fragment = 7;\nconst Mode = 8;\nconst ContextConsumer = 9;\nconst ContextProvider = 10;\nconst ForwardRef = 11;\nconst Profiler = 12;\nconst SuspenseComponent = 13;\nconst MemoComponent = 14;\nconst SimpleMemoComponent = 15;\nconst LazyComponent = 16;\nconst IncompleteClassComponent = 17;\nconst DehydratedFragment = 18;\nconst SuspenseListComponent = 19;\nconst ScopeComponent = 21;\nconst OffscreenComponent = 22;\nconst LegacyHiddenComponent = 23;\nconst CacheComponent = 24;\nconst TracingMarkerComponent = 25;\nconst HostHoistable = 26;\nconst HostSingleton = 27;\nconst IncompleteFunctionComponent = 28;\nconst Throw = 29;\nconst ViewTransitionComponent = 30;\nconst ActivityComponent = 31;\n;// CONCATENATED MODULE: ../shared/hasOwnProperty.js\nconst hasOwnProperty_hasOwnProperty = Object.prototype.hasOwnProperty;\n/* harmony default export */ const shared_hasOwnProperty = (hasOwnProperty_hasOwnProperty);\n;// CONCATENATED MODULE: ../react-debug-tools/src/ReactDebugHooks.js\n\n\n\n\n\n\nlet hookLog = [];\nlet primitiveStackCache = null;\nfunction getPrimitiveStackCache() {\n if (primitiveStackCache === null) {\n const cache = new Map();\n let readHookLog;\n try {\n Dispatcher.useContext({\n _currentValue: null\n });\n Dispatcher.useState(null);\n Dispatcher.useReducer((s, a) => s, null);\n Dispatcher.useRef(null);\n if (typeof Dispatcher.useCacheRefresh === 'function') {\n Dispatcher.useCacheRefresh();\n }\n Dispatcher.useLayoutEffect(() => {});\n Dispatcher.useInsertionEffect(() => {});\n Dispatcher.useEffect(() => {});\n Dispatcher.useImperativeHandle(undefined, () => null);\n Dispatcher.useDebugValue(null);\n Dispatcher.useCallback(() => {});\n Dispatcher.useTransition();\n Dispatcher.useSyncExternalStore(() => () => {}, () => null, () => null);\n Dispatcher.useDeferredValue(null);\n Dispatcher.useMemo(() => null);\n Dispatcher.useOptimistic(null, (s, a) => s);\n Dispatcher.useFormState((s, p) => s, null);\n Dispatcher.useActionState((s, p) => s, null);\n Dispatcher.useHostTransitionStatus();\n if (typeof Dispatcher.useMemoCache === 'function') {\n Dispatcher.useMemoCache(0);\n }\n if (typeof Dispatcher.use === 'function') {\n Dispatcher.use({\n $$typeof: REACT_CONTEXT_TYPE,\n _currentValue: null\n });\n Dispatcher.use({\n then() {},\n status: 'fulfilled',\n value: null\n });\n try {\n Dispatcher.use({\n then() {}\n });\n } catch (x) {}\n }\n Dispatcher.useId();\n if (typeof Dispatcher.useEffectEvent === 'function') {\n Dispatcher.useEffectEvent(args => {});\n }\n } finally {\n readHookLog = hookLog;\n hookLog = [];\n }\n for (let i = 0; i < readHookLog.length; i++) {\n const hook = readHookLog[i];\n cache.set(hook.primitive, error_stack_parser_default().parse(hook.stackError));\n }\n primitiveStackCache = cache;\n }\n return primitiveStackCache;\n}\nlet currentFiber = null;\nlet currentHook = null;\nlet currentContextDependency = null;\nlet currentThenableIndex = 0;\nlet currentThenableState = null;\nfunction nextHook() {\n const hook = currentHook;\n if (hook !== null) {\n currentHook = hook.next;\n }\n return hook;\n}\nfunction readContext(context) {\n if (currentFiber === null) {\n return context._currentValue;\n } else {\n if (currentContextDependency === null) {\n throw new Error('Context reads do not line up with context dependencies. This is a bug in React Debug Tools.');\n }\n let value;\n if (shared_hasOwnProperty.call(currentContextDependency, 'memoizedValue')) {\n value = currentContextDependency.memoizedValue;\n currentContextDependency = currentContextDependency.next;\n } else {\n value = context._currentValue;\n }\n return value;\n }\n}\nconst SuspenseException = new Error(\"Suspense Exception: This is not a real error! It's an implementation \" + 'detail of `use` to interrupt the current render. You must either ' + 'rethrow it immediately, or move the `use` call outside of the ' + '`try/catch` block. Capturing without rethrowing will lead to ' + 'unexpected behavior.\\n\\n' + 'To handle async errors, wrap your component in an error boundary, or ' + \"call the promise's `.catch` method and pass the result to `use`.\");\nfunction use(usable) {\n if (usable !== null && typeof usable === 'object') {\n if (typeof usable.then === 'function') {\n const thenable = currentThenableState !== null && currentThenableIndex < currentThenableState.length ? currentThenableState[currentThenableIndex++] : usable;\n switch (thenable.status) {\n case 'fulfilled':\n {\n const fulfilledValue = thenable.value;\n hookLog.push({\n displayName: null,\n primitive: 'Promise',\n stackError: new Error(),\n value: fulfilledValue,\n debugInfo: thenable._debugInfo === undefined ? null : thenable._debugInfo,\n dispatcherHookName: 'Use'\n });\n return fulfilledValue;\n }\n case 'rejected':\n {\n const rejectedError = thenable.reason;\n throw rejectedError;\n }\n }\n hookLog.push({\n displayName: null,\n primitive: 'Unresolved',\n stackError: new Error(),\n value: thenable,\n debugInfo: thenable._debugInfo === undefined ? null : thenable._debugInfo,\n dispatcherHookName: 'Use'\n });\n throw SuspenseException;\n } else if (usable.$$typeof === REACT_CONTEXT_TYPE) {\n const context = usable;\n const value = readContext(context);\n hookLog.push({\n displayName: context.displayName || 'Context',\n primitive: 'Context (use)',\n stackError: new Error(),\n value,\n debugInfo: null,\n dispatcherHookName: 'Use'\n });\n return value;\n }\n }\n throw new Error('An unsupported type was passed to use(): ' + String(usable));\n}\nfunction useContext(context) {\n const value = readContext(context);\n hookLog.push({\n displayName: context.displayName || null,\n primitive: 'Context',\n stackError: new Error(),\n value: value,\n debugInfo: null,\n dispatcherHookName: 'Context'\n });\n return value;\n}\nfunction useState(initialState) {\n const hook = nextHook();\n const state = hook !== null ? hook.memoizedState : typeof initialState === 'function' ? initialState() : initialState;\n hookLog.push({\n displayName: null,\n primitive: 'State',\n stackError: new Error(),\n value: state,\n debugInfo: null,\n dispatcherHookName: 'State'\n });\n return [state, action => {}];\n}\nfunction useReducer(reducer, initialArg, init) {\n const hook = nextHook();\n let state;\n if (hook !== null) {\n state = hook.memoizedState;\n } else {\n state = init !== undefined ? init(initialArg) : initialArg;\n }\n hookLog.push({\n displayName: null,\n primitive: 'Reducer',\n stackError: new Error(),\n value: state,\n debugInfo: null,\n dispatcherHookName: 'Reducer'\n });\n return [state, action => {}];\n}\nfunction useRef(initialValue) {\n const hook = nextHook();\n const ref = hook !== null ? hook.memoizedState : {\n current: initialValue\n };\n hookLog.push({\n displayName: null,\n primitive: 'Ref',\n stackError: new Error(),\n value: ref.current,\n debugInfo: null,\n dispatcherHookName: 'Ref'\n });\n return ref;\n}\nfunction useCacheRefresh() {\n const hook = nextHook();\n hookLog.push({\n displayName: null,\n primitive: 'CacheRefresh',\n stackError: new Error(),\n value: hook !== null ? hook.memoizedState : function refresh() {},\n debugInfo: null,\n dispatcherHookName: 'CacheRefresh'\n });\n return () => {};\n}\nfunction useLayoutEffect(create, inputs) {\n nextHook();\n hookLog.push({\n displayName: null,\n primitive: 'LayoutEffect',\n stackError: new Error(),\n value: create,\n debugInfo: null,\n dispatcherHookName: 'LayoutEffect'\n });\n}\nfunction useInsertionEffect(create, inputs) {\n nextHook();\n hookLog.push({\n displayName: null,\n primitive: 'InsertionEffect',\n stackError: new Error(),\n value: create,\n debugInfo: null,\n dispatcherHookName: 'InsertionEffect'\n });\n}\nfunction useEffect(create, deps) {\n nextHook();\n hookLog.push({\n displayName: null,\n primitive: 'Effect',\n stackError: new Error(),\n value: create,\n debugInfo: null,\n dispatcherHookName: 'Effect'\n });\n}\nfunction useImperativeHandle(ref, create, inputs) {\n nextHook();\n let instance = undefined;\n if (ref !== null && typeof ref === 'object') {\n instance = ref.current;\n }\n hookLog.push({\n displayName: null,\n primitive: 'ImperativeHandle',\n stackError: new Error(),\n value: instance,\n debugInfo: null,\n dispatcherHookName: 'ImperativeHandle'\n });\n}\nfunction useDebugValue(value, formatterFn) {\n hookLog.push({\n displayName: null,\n primitive: 'DebugValue',\n stackError: new Error(),\n value: typeof formatterFn === 'function' ? formatterFn(value) : value,\n debugInfo: null,\n dispatcherHookName: 'DebugValue'\n });\n}\nfunction useCallback(callback, inputs) {\n const hook = nextHook();\n hookLog.push({\n displayName: null,\n primitive: 'Callback',\n stackError: new Error(),\n value: hook !== null ? hook.memoizedState[0] : callback,\n debugInfo: null,\n dispatcherHookName: 'Callback'\n });\n return callback;\n}\nfunction useMemo(nextCreate, inputs) {\n const hook = nextHook();\n const value = hook !== null ? hook.memoizedState[0] : nextCreate();\n hookLog.push({\n displayName: null,\n primitive: 'Memo',\n stackError: new Error(),\n value,\n debugInfo: null,\n dispatcherHookName: 'Memo'\n });\n return value;\n}\nfunction useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {\n nextHook();\n nextHook();\n const value = getSnapshot();\n hookLog.push({\n displayName: null,\n primitive: 'SyncExternalStore',\n stackError: new Error(),\n value,\n debugInfo: null,\n dispatcherHookName: 'SyncExternalStore'\n });\n return value;\n}\nfunction useTransition() {\n const stateHook = nextHook();\n nextHook();\n const isPending = stateHook !== null ? stateHook.memoizedState : false;\n hookLog.push({\n displayName: null,\n primitive: 'Transition',\n stackError: new Error(),\n value: isPending,\n debugInfo: null,\n dispatcherHookName: 'Transition'\n });\n return [isPending, () => {}];\n}\nfunction useDeferredValue(value, initialValue) {\n const hook = nextHook();\n const prevValue = hook !== null ? hook.memoizedState : value;\n hookLog.push({\n displayName: null,\n primitive: 'DeferredValue',\n stackError: new Error(),\n value: prevValue,\n debugInfo: null,\n dispatcherHookName: 'DeferredValue'\n });\n return prevValue;\n}\nfunction useId() {\n const hook = nextHook();\n const id = hook !== null ? hook.memoizedState : '';\n hookLog.push({\n displayName: null,\n primitive: 'Id',\n stackError: new Error(),\n value: id,\n debugInfo: null,\n dispatcherHookName: 'Id'\n });\n return id;\n}\nfunction useMemoCache(size) {\n const fiber = currentFiber;\n if (fiber == null) {\n return [];\n }\n const memoCache = fiber.updateQueue != null ? fiber.updateQueue.memoCache : null;\n if (memoCache == null) {\n return [];\n }\n let data = memoCache.data[memoCache.index];\n if (data === undefined) {\n data = memoCache.data[memoCache.index] = new Array(size);\n for (let i = 0; i < size; i++) {\n data[i] = REACT_MEMO_CACHE_SENTINEL;\n }\n }\n memoCache.index++;\n return data;\n}\nfunction useOptimistic(passthrough, reducer) {\n const hook = nextHook();\n let state;\n if (hook !== null) {\n state = hook.memoizedState;\n } else {\n state = passthrough;\n }\n hookLog.push({\n displayName: null,\n primitive: 'Optimistic',\n stackError: new Error(),\n value: state,\n debugInfo: null,\n dispatcherHookName: 'Optimistic'\n });\n return [state, action => {}];\n}\nfunction useFormState(action, initialState, permalink) {\n const hook = nextHook();\n nextHook();\n nextHook();\n const stackError = new Error();\n let value;\n let debugInfo = null;\n let error = null;\n if (hook !== null) {\n const actionResult = hook.memoizedState;\n if (typeof actionResult === 'object' && actionResult !== null && typeof actionResult.then === 'function') {\n const thenable = actionResult;\n switch (thenable.status) {\n case 'fulfilled':\n {\n value = thenable.value;\n debugInfo = thenable._debugInfo === undefined ? null : thenable._debugInfo;\n break;\n }\n case 'rejected':\n {\n const rejectedError = thenable.reason;\n error = rejectedError;\n break;\n }\n default:\n error = SuspenseException;\n debugInfo = thenable._debugInfo === undefined ? null : thenable._debugInfo;\n value = thenable;\n }\n } else {\n value = actionResult;\n }\n } else {\n value = initialState;\n }\n hookLog.push({\n displayName: null,\n primitive: 'FormState',\n stackError: stackError,\n value: value,\n debugInfo: debugInfo,\n dispatcherHookName: 'FormState'\n });\n if (error !== null) {\n throw error;\n }\n const state = value;\n return [state, payload => {}, false];\n}\nfunction useActionState(action, initialState, permalink) {\n const hook = nextHook();\n nextHook();\n nextHook();\n const stackError = new Error();\n let value;\n let debugInfo = null;\n let error = null;\n if (hook !== null) {\n const actionResult = hook.memoizedState;\n if (typeof actionResult === 'object' && actionResult !== null && typeof actionResult.then === 'function') {\n const thenable = actionResult;\n switch (thenable.status) {\n case 'fulfilled':\n {\n value = thenable.value;\n debugInfo = thenable._debugInfo === undefined ? null : thenable._debugInfo;\n break;\n }\n case 'rejected':\n {\n const rejectedError = thenable.reason;\n error = rejectedError;\n break;\n }\n default:\n error = SuspenseException;\n debugInfo = thenable._debugInfo === undefined ? null : thenable._debugInfo;\n value = thenable;\n }\n } else {\n value = actionResult;\n }\n } else {\n value = initialState;\n }\n hookLog.push({\n displayName: null,\n primitive: 'ActionState',\n stackError: stackError,\n value: value,\n debugInfo: debugInfo,\n dispatcherHookName: 'ActionState'\n });\n if (error !== null) {\n throw error;\n }\n const state = value;\n return [state, payload => {}, false];\n}\nfunction useHostTransitionStatus() {\n const status = readContext({\n _currentValue: null\n });\n hookLog.push({\n displayName: null,\n primitive: 'HostTransitionStatus',\n stackError: new Error(),\n value: status,\n debugInfo: null,\n dispatcherHookName: 'HostTransitionStatus'\n });\n return status;\n}\nfunction useEffectEvent(callback) {\n nextHook();\n hookLog.push({\n displayName: null,\n primitive: 'EffectEvent',\n stackError: new Error(),\n value: callback,\n debugInfo: null,\n dispatcherHookName: 'EffectEvent'\n });\n return callback;\n}\nconst Dispatcher = {\n readContext,\n use,\n useCallback,\n useContext,\n useEffect,\n useImperativeHandle,\n useLayoutEffect,\n useInsertionEffect,\n useMemo,\n useReducer,\n useRef,\n useState,\n useDebugValue,\n useDeferredValue,\n useTransition,\n useSyncExternalStore,\n useId,\n useHostTransitionStatus,\n useFormState,\n useActionState,\n useOptimistic,\n useMemoCache,\n useCacheRefresh,\n useEffectEvent\n};\nconst DispatcherProxyHandler = {\n get(target, prop) {\n if (target.hasOwnProperty(prop)) {\n return target[prop];\n }\n const error = new Error('Missing method in Dispatcher: ' + prop);\n error.name = 'ReactDebugToolsUnsupportedHookError';\n throw error;\n }\n};\nconst DispatcherProxy = typeof Proxy === 'undefined' ? Dispatcher : new Proxy(Dispatcher, DispatcherProxyHandler);\nlet mostLikelyAncestorIndex = 0;\nfunction findSharedIndex(hookStack, rootStack, rootIndex) {\n const source = rootStack[rootIndex].source;\n hookSearch: for (let i = 0; i < hookStack.length; i++) {\n if (hookStack[i].source === source) {\n for (let a = rootIndex + 1, b = i + 1; a < rootStack.length && b < hookStack.length; a++, b++) {\n if (hookStack[b].source !== rootStack[a].source) {\n continue hookSearch;\n }\n }\n return i;\n }\n }\n return -1;\n}\nfunction findCommonAncestorIndex(rootStack, hookStack) {\n let rootIndex = findSharedIndex(hookStack, rootStack, mostLikelyAncestorIndex);\n if (rootIndex !== -1) {\n return rootIndex;\n }\n for (let i = 0; i < rootStack.length && i < 5; i++) {\n rootIndex = findSharedIndex(hookStack, rootStack, i);\n if (rootIndex !== -1) {\n mostLikelyAncestorIndex = i;\n return rootIndex;\n }\n }\n return -1;\n}\nfunction isReactWrapper(functionName, wrapperName) {\n const hookName = parseHookName(functionName);\n if (wrapperName === 'HostTransitionStatus') {\n return hookName === wrapperName || hookName === 'FormStatus';\n }\n return hookName === wrapperName;\n}\nfunction findPrimitiveIndex(hookStack, hook) {\n const stackCache = getPrimitiveStackCache();\n const primitiveStack = stackCache.get(hook.primitive);\n if (primitiveStack === undefined) {\n return -1;\n }\n for (let i = 0; i < primitiveStack.length && i < hookStack.length; i++) {\n if (primitiveStack[i].source !== hookStack[i].source) {\n if (i < hookStack.length - 1 && isReactWrapper(hookStack[i].functionName, hook.dispatcherHookName)) {\n i++;\n }\n if (i < hookStack.length - 1 && isReactWrapper(hookStack[i].functionName, hook.dispatcherHookName)) {\n i++;\n }\n return i;\n }\n }\n return -1;\n}\nfunction parseTrimmedStack(rootStack, hook) {\n const hookStack = error_stack_parser_default().parse(hook.stackError);\n const rootIndex = findCommonAncestorIndex(rootStack, hookStack);\n const primitiveIndex = findPrimitiveIndex(hookStack, hook);\n if (rootIndex === -1 || primitiveIndex === -1 || rootIndex - primitiveIndex < 2) {\n if (primitiveIndex === -1) {\n return [null, null];\n } else {\n return [hookStack[primitiveIndex - 1], null];\n }\n }\n return [hookStack[primitiveIndex - 1], hookStack.slice(primitiveIndex, rootIndex - 1)];\n}\nfunction parseHookName(functionName) {\n if (!functionName) {\n return '';\n }\n let startIndex = functionName.lastIndexOf('[as ');\n if (startIndex !== -1) {\n return parseHookName(functionName.slice(startIndex + '[as '.length, -1));\n }\n startIndex = functionName.lastIndexOf('.');\n if (startIndex === -1) {\n startIndex = 0;\n } else {\n startIndex += 1;\n }\n if (functionName.slice(startIndex).startsWith('unstable_')) {\n startIndex += 'unstable_'.length;\n }\n if (functionName.slice(startIndex).startsWith('experimental_')) {\n startIndex += 'experimental_'.length;\n }\n if (functionName.slice(startIndex, startIndex + 3) === 'use') {\n if (functionName.length - startIndex === 3) {\n return 'Use';\n }\n startIndex += 3;\n }\n return functionName.slice(startIndex);\n}\nfunction buildTree(rootStack, readHookLog) {\n const rootChildren = [];\n let prevStack = null;\n let levelChildren = rootChildren;\n let nativeHookID = 0;\n const stackOfChildren = [];\n for (let i = 0; i < readHookLog.length; i++) {\n const hook = readHookLog[i];\n const parseResult = parseTrimmedStack(rootStack, hook);\n const primitiveFrame = parseResult[0];\n const stack = parseResult[1];\n let displayName = hook.displayName;\n if (displayName === null && primitiveFrame !== null) {\n displayName = parseHookName(primitiveFrame.functionName) || parseHookName(hook.dispatcherHookName);\n }\n if (stack !== null) {\n let commonSteps = 0;\n if (prevStack !== null) {\n while (commonSteps < stack.length && commonSteps < prevStack.length) {\n const stackSource = stack[stack.length - commonSteps - 1].source;\n const prevSource = prevStack[prevStack.length - commonSteps - 1].source;\n if (stackSource !== prevSource) {\n break;\n }\n commonSteps++;\n }\n for (let j = prevStack.length - 1; j > commonSteps; j--) {\n levelChildren = stackOfChildren.pop();\n }\n }\n for (let j = stack.length - commonSteps - 1; j >= 1; j--) {\n const children = [];\n const stackFrame = stack[j];\n const levelChild = {\n id: null,\n isStateEditable: false,\n name: parseHookName(stack[j - 1].functionName),\n value: undefined,\n subHooks: children,\n debugInfo: null,\n hookSource: {\n lineNumber: stackFrame.lineNumber === undefined ? null : stackFrame.lineNumber,\n columnNumber: stackFrame.columnNumber === undefined ? null : stackFrame.columnNumber,\n functionName: stackFrame.functionName === undefined ? null : stackFrame.functionName,\n fileName: stackFrame.fileName === undefined ? null : stackFrame.fileName\n }\n };\n levelChildren.push(levelChild);\n stackOfChildren.push(levelChildren);\n levelChildren = children;\n }\n prevStack = stack;\n }\n const {\n primitive,\n debugInfo\n } = hook;\n const id = primitive === 'Context' || primitive === 'Context (use)' || primitive === 'DebugValue' || primitive === 'Promise' || primitive === 'Unresolved' || primitive === 'HostTransitionStatus' ? null : nativeHookID++;\n const isStateEditable = primitive === 'Reducer' || primitive === 'State';\n const name = displayName || primitive;\n const levelChild = {\n id,\n isStateEditable,\n name,\n value: hook.value,\n subHooks: [],\n debugInfo: debugInfo,\n hookSource: null\n };\n const hookSource = {\n lineNumber: null,\n functionName: null,\n fileName: null,\n columnNumber: null\n };\n if (stack && stack.length >= 1) {\n const stackFrame = stack[0];\n hookSource.lineNumber = stackFrame.lineNumber === undefined ? null : stackFrame.lineNumber;\n hookSource.functionName = stackFrame.functionName === undefined ? null : stackFrame.functionName;\n hookSource.fileName = stackFrame.fileName === undefined ? null : stackFrame.fileName;\n hookSource.columnNumber = stackFrame.columnNumber === undefined ? null : stackFrame.columnNumber;\n }\n levelChild.hookSource = hookSource;\n levelChildren.push(levelChild);\n }\n processDebugValues(rootChildren, null);\n return rootChildren;\n}\nfunction processDebugValues(hooksTree, parentHooksNode) {\n const debugValueHooksNodes = [];\n for (let i = 0; i < hooksTree.length; i++) {\n const hooksNode = hooksTree[i];\n if (hooksNode.name === 'DebugValue' && hooksNode.subHooks.length === 0) {\n hooksTree.splice(i, 1);\n i--;\n debugValueHooksNodes.push(hooksNode);\n } else {\n processDebugValues(hooksNode.subHooks, hooksNode);\n }\n }\n if (parentHooksNode !== null) {\n if (debugValueHooksNodes.length === 1) {\n parentHooksNode.value = debugValueHooksNodes[0].value;\n } else if (debugValueHooksNodes.length > 1) {\n parentHooksNode.value = debugValueHooksNodes.map(({\n value\n }) => value);\n }\n }\n}\nfunction handleRenderFunctionError(error) {\n if (error === SuspenseException) {\n return;\n }\n if (error instanceof Error && error.name === 'ReactDebugToolsUnsupportedHookError') {\n throw error;\n }\n const wrapperError = new Error('Error rendering inspected component', {\n cause: error\n });\n wrapperError.name = 'ReactDebugToolsRenderError';\n wrapperError.cause = error;\n throw wrapperError;\n}\nfunction inspectHooks(renderFunction, props, currentDispatcher) {\n if (currentDispatcher == null) {\n currentDispatcher = shared_ReactSharedInternals;\n }\n const previousDispatcher = currentDispatcher.H;\n currentDispatcher.H = DispatcherProxy;\n let readHookLog;\n let ancestorStackError;\n try {\n ancestorStackError = new Error();\n renderFunction(props);\n } catch (error) {\n handleRenderFunctionError(error);\n } finally {\n readHookLog = hookLog;\n hookLog = [];\n currentDispatcher.H = previousDispatcher;\n }\n const rootStack = ancestorStackError === undefined ? [] : error_stack_parser_default().parse(ancestorStackError);\n return buildTree(rootStack, readHookLog);\n}\nfunction setupContexts(contextMap, fiber) {\n let current = fiber;\n while (current) {\n if (current.tag === ContextProvider) {\n let context = current.type;\n if (context._context !== undefined) {\n context = context._context;\n }\n if (!contextMap.has(context)) {\n contextMap.set(context, context._currentValue);\n context._currentValue = current.memoizedProps.value;\n }\n }\n current = current.return;\n }\n}\nfunction restoreContexts(contextMap) {\n contextMap.forEach((value, context) => context._currentValue = value);\n}\nfunction inspectHooksOfForwardRef(renderFunction, props, ref, currentDispatcher) {\n const previousDispatcher = currentDispatcher.H;\n let readHookLog;\n currentDispatcher.H = DispatcherProxy;\n let ancestorStackError;\n try {\n ancestorStackError = new Error();\n renderFunction(props, ref);\n } catch (error) {\n handleRenderFunctionError(error);\n } finally {\n readHookLog = hookLog;\n hookLog = [];\n currentDispatcher.H = previousDispatcher;\n }\n const rootStack = ancestorStackError === undefined ? [] : error_stack_parser_default().parse(ancestorStackError);\n return buildTree(rootStack, readHookLog);\n}\nfunction resolveDefaultProps(Component, baseProps) {\n if (Component && Component.defaultProps) {\n const props = shared_assign({}, baseProps);\n const defaultProps = Component.defaultProps;\n for (const propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n return props;\n }\n return baseProps;\n}\nfunction inspectHooksOfFiber(fiber, currentDispatcher) {\n if (currentDispatcher == null) {\n currentDispatcher = shared_ReactSharedInternals;\n }\n if (fiber.tag !== FunctionComponent && fiber.tag !== SimpleMemoComponent && fiber.tag !== ForwardRef) {\n throw new Error('Unknown Fiber. Needs to be a function component to inspect hooks.');\n }\n getPrimitiveStackCache();\n currentHook = fiber.memoizedState;\n currentFiber = fiber;\n const thenableState = fiber.dependencies && fiber.dependencies._debugThenableState;\n const usedThenables = thenableState ? thenableState.thenables || thenableState : null;\n currentThenableState = Array.isArray(usedThenables) ? usedThenables : null;\n currentThenableIndex = 0;\n if (shared_hasOwnProperty.call(currentFiber, 'dependencies')) {\n const dependencies = currentFiber.dependencies;\n currentContextDependency = dependencies !== null ? dependencies.firstContext : null;\n } else if (shared_hasOwnProperty.call(currentFiber, 'dependencies_old')) {\n const dependencies = currentFiber.dependencies_old;\n currentContextDependency = dependencies !== null ? dependencies.firstContext : null;\n } else if (shared_hasOwnProperty.call(currentFiber, 'dependencies_new')) {\n const dependencies = currentFiber.dependencies_new;\n currentContextDependency = dependencies !== null ? dependencies.firstContext : null;\n } else if (shared_hasOwnProperty.call(currentFiber, 'contextDependencies')) {\n const contextDependencies = currentFiber.contextDependencies;\n currentContextDependency = contextDependencies !== null ? contextDependencies.first : null;\n } else {\n throw new Error('Unsupported React version. This is a bug in React Debug Tools.');\n }\n const type = fiber.type;\n let props = fiber.memoizedProps;\n if (type !== fiber.elementType) {\n props = resolveDefaultProps(type, props);\n }\n const contextMap = new Map();\n try {\n if (currentContextDependency !== null && !shared_hasOwnProperty.call(currentContextDependency, 'memoizedValue')) {\n setupContexts(contextMap, fiber);\n }\n if (fiber.tag === ForwardRef) {\n return inspectHooksOfForwardRef(type.render, props, fiber.ref, currentDispatcher);\n }\n return inspectHooks(type, props, currentDispatcher);\n } finally {\n currentFiber = null;\n currentHook = null;\n currentContextDependency = null;\n currentThenableState = null;\n currentThenableIndex = 0;\n restoreContexts(contextMap);\n }\n}\n;// CONCATENATED MODULE: ../react-debug-tools/src/ReactDebugTools.js\n\n\n;// CONCATENATED MODULE: ../react-debug-tools/index.js\n\n;// CONCATENATED MODULE: ../react-devtools-shared/src/backend/shared/ReactSymbols.js\nconst CONCURRENT_MODE_NUMBER = 0xeacf;\nconst CONCURRENT_MODE_SYMBOL_STRING = 'Symbol(react.concurrent_mode)';\nconst CONTEXT_NUMBER = 0xeace;\nconst CONTEXT_SYMBOL_STRING = 'Symbol(react.context)';\nconst SERVER_CONTEXT_SYMBOL_STRING = 'Symbol(react.server_context)';\nconst DEPRECATED_ASYNC_MODE_SYMBOL_STRING = 'Symbol(react.async_mode)';\nconst ELEMENT_SYMBOL_STRING = 'Symbol(react.transitional.element)';\nconst LEGACY_ELEMENT_NUMBER = 0xeac7;\nconst LEGACY_ELEMENT_SYMBOL_STRING = 'Symbol(react.element)';\nconst DEBUG_TRACING_MODE_NUMBER = 0xeae1;\nconst DEBUG_TRACING_MODE_SYMBOL_STRING = 'Symbol(react.debug_trace_mode)';\nconst FORWARD_REF_NUMBER = 0xead0;\nconst FORWARD_REF_SYMBOL_STRING = 'Symbol(react.forward_ref)';\nconst FRAGMENT_NUMBER = 0xeacb;\nconst FRAGMENT_SYMBOL_STRING = 'Symbol(react.fragment)';\nconst LAZY_NUMBER = 0xead4;\nconst LAZY_SYMBOL_STRING = 'Symbol(react.lazy)';\nconst MEMO_NUMBER = 0xead3;\nconst MEMO_SYMBOL_STRING = 'Symbol(react.memo)';\nconst PORTAL_NUMBER = 0xeaca;\nconst PORTAL_SYMBOL_STRING = 'Symbol(react.portal)';\nconst PROFILER_NUMBER = 0xead2;\nconst PROFILER_SYMBOL_STRING = 'Symbol(react.profiler)';\nconst PROVIDER_NUMBER = 0xeacd;\nconst PROVIDER_SYMBOL_STRING = 'Symbol(react.provider)';\nconst CONSUMER_SYMBOL_STRING = 'Symbol(react.consumer)';\nconst SCOPE_NUMBER = 0xead7;\nconst SCOPE_SYMBOL_STRING = 'Symbol(react.scope)';\nconst STRICT_MODE_NUMBER = 0xeacc;\nconst STRICT_MODE_SYMBOL_STRING = 'Symbol(react.strict_mode)';\nconst SUSPENSE_NUMBER = 0xead1;\nconst SUSPENSE_SYMBOL_STRING = 'Symbol(react.suspense)';\nconst SUSPENSE_LIST_NUMBER = 0xead8;\nconst SUSPENSE_LIST_SYMBOL_STRING = 'Symbol(react.suspense_list)';\nconst SERVER_CONTEXT_DEFAULT_VALUE_NOT_LOADED_SYMBOL_STRING = 'Symbol(react.server_context.defaultValue)';\nconst ReactSymbols_REACT_MEMO_CACHE_SENTINEL = Symbol.for('react.memo_cache_sentinel');\n;// CONCATENATED MODULE: ../react-devtools-shared/src/config/DevToolsFeatureFlags.default.js\nconst enableLogger = false;\nconst enableStyleXFeatures = false;\nconst isInternalFacebookBuild = false;\n;// CONCATENATED MODULE: ../shared/objectIs.js\nfunction is(x, y) {\n return x === y && (x !== 0 || 1 / x === 1 / y) || x !== x && y !== y;\n}\nconst objectIs = typeof Object.is === 'function' ? Object.is : is;\n/* harmony default export */ const shared_objectIs = (objectIs);\n;// CONCATENATED MODULE: ../shared/ReactIODescription.js\nfunction getIODescription(value) {\n if (true) {\n return '';\n }\n try {\n switch (typeof value) {\n case 'function':\n return value.name || '';\n case 'object':\n if (value === null) {\n return '';\n } else if (value instanceof Error) {\n return String(value.message);\n } else if (typeof value.url === 'string') {\n return value.url;\n } else if (typeof value.href === 'string') {\n return value.href;\n } else if (typeof value.src === 'string') {\n return value.src;\n } else if (typeof value.currentSrc === 'string') {\n return value.currentSrc;\n } else if (typeof value.command === 'string') {\n return value.command;\n } else if (typeof value.request === 'object' && value.request !== null && typeof value.request.url === 'string') {\n return value.request.url;\n } else if (typeof value.response === 'object' && value.response !== null && typeof value.response.url === 'string') {\n return value.response.url;\n } else if (typeof value.id === 'string' || typeof value.id === 'number' || typeof value.id === 'bigint') {\n return String(value.id);\n } else if (typeof value.name === 'string') {\n return value.name;\n } else {\n const str = value.toString();\n if (str.startsWith('[object ') || str.length < 5 || str.length > 500) {\n return '';\n }\n return str;\n }\n case 'string':\n if (value.length < 5 || value.length > 500) {\n return '';\n }\n return value;\n case 'number':\n case 'bigint':\n return String(value);\n default:\n return '';\n }\n } catch (x) {\n return '';\n }\n}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/backend/fiber/DevToolsFiberComponentStack.js\n\n\nfunction describeFiber(workTagMap, workInProgress, currentDispatcherRef) {\n const {\n HostHoistable,\n HostSingleton,\n HostComponent,\n LazyComponent,\n SuspenseComponent,\n SuspenseListComponent,\n FunctionComponent,\n IndeterminateComponent,\n SimpleMemoComponent,\n ForwardRef,\n ClassComponent,\n ViewTransitionComponent,\n ActivityComponent\n } = workTagMap;\n switch (workInProgress.tag) {\n case HostHoistable:\n case HostSingleton:\n case HostComponent:\n return describeBuiltInComponentFrame(workInProgress.type);\n case LazyComponent:\n return describeBuiltInComponentFrame('Lazy');\n case SuspenseComponent:\n return describeBuiltInComponentFrame('Suspense');\n case SuspenseListComponent:\n return describeBuiltInComponentFrame('SuspenseList');\n case ViewTransitionComponent:\n return describeBuiltInComponentFrame('ViewTransition');\n case ActivityComponent:\n return describeBuiltInComponentFrame('Activity');\n case FunctionComponent:\n case IndeterminateComponent:\n case SimpleMemoComponent:\n return describeFunctionComponentFrame(workInProgress.type, currentDispatcherRef);\n case ForwardRef:\n return describeFunctionComponentFrame(workInProgress.type.render, currentDispatcherRef);\n case ClassComponent:\n return describeClassComponentFrame(workInProgress.type, currentDispatcherRef);\n default:\n return '';\n }\n}\nfunction getStackByFiberInDevAndProd(workTagMap, workInProgress, currentDispatcherRef) {\n try {\n let info = '';\n let node = workInProgress;\n do {\n info += describeFiber(workTagMap, node, currentDispatcherRef);\n const debugInfo = node._debugInfo;\n if (debugInfo) {\n for (let i = debugInfo.length - 1; i >= 0; i--) {\n const entry = debugInfo[i];\n if (typeof entry.name === 'string') {\n info += describeDebugInfoFrame(entry.name, entry.env);\n }\n }\n }\n node = node.return;\n } while (node);\n return info;\n } catch (x) {\n return '\\nError generating stack: ' + x.message + '\\n' + x.stack;\n }\n}\nfunction getSourceLocationByFiber(workTagMap, fiber, currentDispatcherRef) {\n try {\n const info = describeFiber(workTagMap, fiber, currentDispatcherRef);\n if (info !== '') {\n return info.slice(1);\n }\n } catch (x) {\n console.error(x);\n }\n return null;\n}\nfunction DevToolsFiberComponentStack_supportsConsoleTasks(fiber) {\n return !!fiber._debugTask;\n}\nfunction supportsOwnerStacks(fiber) {\n return fiber._debugStack !== undefined;\n}\nfunction getOwnerStackByFiberInDev(workTagMap, workInProgress, currentDispatcherRef) {\n const {\n HostHoistable,\n HostSingleton,\n HostText,\n HostComponent,\n SuspenseComponent,\n SuspenseListComponent,\n ViewTransitionComponent,\n ActivityComponent\n } = workTagMap;\n try {\n let info = '';\n if (workInProgress.tag === HostText) {\n workInProgress = workInProgress.return;\n }\n switch (workInProgress.tag) {\n case HostHoistable:\n case HostSingleton:\n case HostComponent:\n info += describeBuiltInComponentFrame(workInProgress.type);\n break;\n case SuspenseComponent:\n info += describeBuiltInComponentFrame('Suspense');\n break;\n case SuspenseListComponent:\n info += describeBuiltInComponentFrame('SuspenseList');\n break;\n case ViewTransitionComponent:\n info += describeBuiltInComponentFrame('ViewTransition');\n break;\n case ActivityComponent:\n info += describeBuiltInComponentFrame('Activity');\n break;\n }\n let owner = workInProgress;\n while (owner) {\n if (typeof owner.tag === 'number') {\n const fiber = owner;\n owner = fiber._debugOwner;\n let debugStack = fiber._debugStack;\n if (owner && debugStack) {\n if (typeof debugStack !== 'string') {\n debugStack = formatOwnerStack(debugStack);\n }\n if (debugStack !== '') {\n info += '\\n' + debugStack;\n }\n }\n } else if (owner.debugStack != null) {\n const ownerStack = owner.debugStack;\n owner = owner.owner;\n if (owner && ownerStack) {\n info += '\\n' + formatOwnerStack(ownerStack);\n }\n } else {\n break;\n }\n }\n return info;\n } catch (x) {\n return '\\nError generating stack: ' + x.message + '\\n' + x.stack;\n }\n}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/backend/StyleX/utils.js\n\nconst cachedStyleNameToValueMap = new Map();\nfunction getStyleXData(data) {\n const sources = new Set();\n const resolvedStyles = {};\n crawlData(data, sources, resolvedStyles);\n return {\n sources: Array.from(sources).sort(),\n resolvedStyles\n };\n}\nfunction crawlData(data, sources, resolvedStyles) {\n if (data == null) {\n return;\n }\n if (src_isArray(data)) {\n data.forEach(entry => {\n if (entry == null) {\n return;\n }\n if (src_isArray(entry)) {\n crawlData(entry, sources, resolvedStyles);\n } else {\n crawlObjectProperties(entry, sources, resolvedStyles);\n }\n });\n } else {\n crawlObjectProperties(data, sources, resolvedStyles);\n }\n resolvedStyles = Object.fromEntries(Object.entries(resolvedStyles).sort());\n}\nfunction crawlObjectProperties(entry, sources, resolvedStyles) {\n const keys = Object.keys(entry);\n keys.forEach(key => {\n const value = entry[key];\n if (typeof value === 'string') {\n if (key === value) {\n sources.add(key);\n } else {\n const propertyValue = getPropertyValueForStyleName(value);\n if (propertyValue != null) {\n resolvedStyles[key] = propertyValue;\n }\n }\n } else {\n const nestedStyle = {};\n resolvedStyles[key] = nestedStyle;\n crawlData([value], sources, nestedStyle);\n }\n });\n}\nfunction getPropertyValueForStyleName(styleName) {\n if (cachedStyleNameToValueMap.has(styleName)) {\n return cachedStyleNameToValueMap.get(styleName);\n }\n for (let styleSheetIndex = 0; styleSheetIndex < document.styleSheets.length; styleSheetIndex++) {\n const styleSheet = document.styleSheets[styleSheetIndex];\n let rules = null;\n try {\n rules = styleSheet.cssRules;\n } catch (_e) {\n continue;\n }\n for (let ruleIndex = 0; ruleIndex < rules.length; ruleIndex++) {\n if (!(rules[ruleIndex] instanceof CSSStyleRule)) {\n continue;\n }\n const rule = rules[ruleIndex];\n const {\n cssText,\n selectorText,\n style\n } = rule;\n if (selectorText != null) {\n if (selectorText.startsWith(`.${styleName}`)) {\n const match = cssText.match(/{ *([a-z\\-]+):/);\n if (match !== null) {\n const property = match[1];\n const value = style.getPropertyValue(property);\n cachedStyleNameToValueMap.set(styleName, value);\n return value;\n } else {\n return null;\n }\n }\n }\n }\n }\n return null;\n}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/devtools/constants.js\nconst CHANGE_LOG_URL = 'https://github.com/facebook/react/blob/main/packages/react-devtools/CHANGELOG.md';\nconst UNSUPPORTED_VERSION_URL = 'https://reactjs.org/blog/2019/08/15/new-react-devtools.html#how-do-i-get-the-old-version-back';\nconst REACT_DEVTOOLS_WORKPLACE_URL = 'https://fburl.com/react-devtools-workplace-group';\nconst THEME_STYLES = {\n light: {\n '--color-attribute-name': '#ef6632',\n '--color-attribute-name-not-editable': '#23272f',\n '--color-attribute-name-inverted': 'rgba(255, 255, 255, 0.7)',\n '--color-attribute-value': '#1a1aa6',\n '--color-attribute-value-inverted': '#ffffff',\n '--color-attribute-editable-value': '#1a1aa6',\n '--color-background': '#ffffff',\n '--color-background-hover': 'rgba(0, 136, 250, 0.1)',\n '--color-background-inactive': '#e5e5e5',\n '--color-background-invalid': '#fff0f0',\n '--color-background-selected': '#0088fa',\n '--color-button-background': '#ffffff',\n '--color-button-background-focus': '#ededed',\n '--color-button-background-hover': 'rgba(0, 0, 0, 0.2)',\n '--color-button': '#5f6673',\n '--color-button-disabled': '#cfd1d5',\n '--color-button-active': '#0088fa',\n '--color-button-focus': '#23272f',\n '--color-button-hover': '#23272f',\n '--color-border': '#eeeeee',\n '--color-commit-did-not-render-fill': '#cfd1d5',\n '--color-commit-did-not-render-fill-text': '#000000',\n '--color-commit-did-not-render-pattern': '#cfd1d5',\n '--color-commit-did-not-render-pattern-text': '#333333',\n '--color-commit-gradient-0': '#37afa9',\n '--color-commit-gradient-1': '#63b19e',\n '--color-commit-gradient-2': '#80b393',\n '--color-commit-gradient-3': '#97b488',\n '--color-commit-gradient-4': '#abb67d',\n '--color-commit-gradient-5': '#beb771',\n '--color-commit-gradient-6': '#cfb965',\n '--color-commit-gradient-7': '#dfba57',\n '--color-commit-gradient-8': '#efbb49',\n '--color-commit-gradient-9': '#febc38',\n '--color-commit-gradient-text': '#000000',\n '--color-component-name': '#6a51b2',\n '--color-component-name-inverted': '#ffffff',\n '--color-component-badge-background': '#e6e6e6',\n '--color-component-badge-background-inverted': 'rgba(255, 255, 255, 0.25)',\n '--color-component-badge-count': '#777d88',\n '--color-component-badge-count-inverted': 'rgba(255, 255, 255, 0.7)',\n '--color-console-error-badge-text': '#ffffff',\n '--color-console-error-background': '#fff0f0',\n '--color-console-error-border': '#ffd6d6',\n '--color-console-error-icon': '#eb3941',\n '--color-console-error-text': '#fe2e31',\n '--color-console-warning-badge-text': '#000000',\n '--color-console-warning-background': '#fffbe5',\n '--color-console-warning-border': '#fff5c1',\n '--color-console-warning-icon': '#f4bd00',\n '--color-console-warning-text': '#64460c',\n '--color-context-background': 'rgba(0,0,0,.9)',\n '--color-context-background-hover': 'rgba(255, 255, 255, 0.1)',\n '--color-context-background-selected': '#178fb9',\n '--color-context-border': '#3d424a',\n '--color-context-text': '#ffffff',\n '--color-context-text-selected': '#ffffff',\n '--color-dim': '#777d88',\n '--color-dimmer': '#cfd1d5',\n '--color-dimmest': '#eff0f1',\n '--color-error-background': 'hsl(0, 100%, 97%)',\n '--color-error-border': 'hsl(0, 100%, 92%)',\n '--color-error-text': '#ff0000',\n '--color-expand-collapse-toggle': '#777d88',\n '--color-forget-badge-background': '#2683e2',\n '--color-forget-badge-background-inverted': '#1a6bbc',\n '--color-forget-text': '#fff',\n '--color-link': '#0000ff',\n '--color-modal-background': 'rgba(255, 255, 255, 0.75)',\n '--color-bridge-version-npm-background': '#eff0f1',\n '--color-bridge-version-npm-text': '#000000',\n '--color-bridge-version-number': '#0088fa',\n '--color-primitive-hook-badge-background': '#e5e5e5',\n '--color-primitive-hook-badge-text': '#5f6673',\n '--color-record-active': '#fc3a4b',\n '--color-record-hover': '#3578e5',\n '--color-record-inactive': '#0088fa',\n '--color-resize-bar': '#eeeeee',\n '--color-resize-bar-active': '#dcdcdc',\n '--color-resize-bar-border': '#d1d1d1',\n '--color-resize-bar-dot': '#333333',\n '--color-timeline-internal-module': '#d1d1d1',\n '--color-timeline-internal-module-hover': '#c9c9c9',\n '--color-timeline-internal-module-text': '#444',\n '--color-timeline-native-event': '#ccc',\n '--color-timeline-native-event-hover': '#aaa',\n '--color-timeline-network-primary': '#fcf3dc',\n '--color-timeline-network-primary-hover': '#f0e7d1',\n '--color-timeline-network-secondary': '#efc457',\n '--color-timeline-network-secondary-hover': '#e3ba52',\n '--color-timeline-priority-background': '#f6f6f6',\n '--color-timeline-priority-border': '#eeeeee',\n '--color-timeline-user-timing': '#c9cacd',\n '--color-timeline-user-timing-hover': '#93959a',\n '--color-timeline-react-idle': '#d3e5f6',\n '--color-timeline-react-idle-hover': '#c3d9ef',\n '--color-timeline-react-render': '#9fc3f3',\n '--color-timeline-react-render-hover': '#83afe9',\n '--color-timeline-react-render-text': '#11365e',\n '--color-timeline-react-commit': '#c88ff0',\n '--color-timeline-react-commit-hover': '#b281d6',\n '--color-timeline-react-commit-text': '#3e2c4a',\n '--color-timeline-react-layout-effects': '#b281d6',\n '--color-timeline-react-layout-effects-hover': '#9d71bd',\n '--color-timeline-react-layout-effects-text': '#3e2c4a',\n '--color-timeline-react-passive-effects': '#b281d6',\n '--color-timeline-react-passive-effects-hover': '#9d71bd',\n '--color-timeline-react-passive-effects-text': '#3e2c4a',\n '--color-timeline-react-schedule': '#9fc3f3',\n '--color-timeline-react-schedule-hover': '#2683E2',\n '--color-timeline-react-suspense-rejected': '#f1cc14',\n '--color-timeline-react-suspense-rejected-hover': '#ffdf37',\n '--color-timeline-react-suspense-resolved': '#a6e59f',\n '--color-timeline-react-suspense-resolved-hover': '#89d281',\n '--color-timeline-react-suspense-unresolved': '#c9cacd',\n '--color-timeline-react-suspense-unresolved-hover': '#93959a',\n '--color-timeline-thrown-error': '#ee1638',\n '--color-timeline-thrown-error-hover': '#da1030',\n '--color-timeline-text-color': '#000000',\n '--color-timeline-text-dim-color': '#ccc',\n '--color-timeline-react-work-border': '#eeeeee',\n '--color-timebar-background': '#f6f6f6',\n '--color-search-match': 'yellow',\n '--color-search-match-current': '#f7923b',\n '--color-selected-tree-highlight-active': 'rgba(0, 136, 250, 0.1)',\n '--color-selected-tree-highlight-inactive': 'rgba(0, 0, 0, 0.05)',\n '--color-scroll-caret': 'rgba(150, 150, 150, 0.5)',\n '--color-tab-selected-border': '#0088fa',\n '--color-text': '#000000',\n '--color-text-invalid': '#ff0000',\n '--color-text-selected': '#ffffff',\n '--color-toggle-background-invalid': '#fc3a4b',\n '--color-toggle-background-on': '#0088fa',\n '--color-toggle-background-off': '#cfd1d5',\n '--color-toggle-text': '#ffffff',\n '--color-warning-background': '#fb3655',\n '--color-warning-background-hover': '#f82042',\n '--color-warning-text-color': '#ffffff',\n '--color-warning-text-color-inverted': '#fd4d69',\n '--color-suspense-default': '#0088fa',\n '--color-transition-default': '#6a51b2',\n '--color-suspense-server': '#62bc6a',\n '--color-transition-server': '#3f7844',\n '--color-suspense-other': '#f3ce49',\n '--color-transition-other': '#917b2c',\n '--color-suspense-errored': '#d57066',\n '--color-scroll-thumb': '#c2c2c2',\n '--color-scroll-track': '#fafafa',\n '--color-tooltip-background': 'rgba(0, 0, 0, 0.9)',\n '--color-tooltip-text': '#ffffff',\n '--elevation-4': '0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)'\n },\n dark: {\n '--color-attribute-name': '#9d87d2',\n '--color-attribute-name-not-editable': '#ededed',\n '--color-attribute-name-inverted': '#282828',\n '--color-attribute-value': '#cedae0',\n '--color-attribute-value-inverted': '#ffffff',\n '--color-attribute-editable-value': 'yellow',\n '--color-background': '#282c34',\n '--color-background-hover': 'rgba(255, 255, 255, 0.1)',\n '--color-background-inactive': '#3d424a',\n '--color-background-invalid': '#5c0000',\n '--color-background-selected': '#178fb9',\n '--color-button-background': '#282c34',\n '--color-button-background-focus': '#3d424a',\n '--color-button-background-hover': 'rgba(255, 255, 255, 0.2)',\n '--color-button': '#afb3b9',\n '--color-button-active': '#61dafb',\n '--color-button-disabled': '#4f5766',\n '--color-button-focus': '#a2e9fc',\n '--color-button-hover': '#ededed',\n '--color-border': '#3d424a',\n '--color-commit-did-not-render-fill': '#777d88',\n '--color-commit-did-not-render-fill-text': '#000000',\n '--color-commit-did-not-render-pattern': '#666c77',\n '--color-commit-did-not-render-pattern-text': '#ffffff',\n '--color-commit-gradient-0': '#37afa9',\n '--color-commit-gradient-1': '#63b19e',\n '--color-commit-gradient-2': '#80b393',\n '--color-commit-gradient-3': '#97b488',\n '--color-commit-gradient-4': '#abb67d',\n '--color-commit-gradient-5': '#beb771',\n '--color-commit-gradient-6': '#cfb965',\n '--color-commit-gradient-7': '#dfba57',\n '--color-commit-gradient-8': '#efbb49',\n '--color-commit-gradient-9': '#febc38',\n '--color-commit-gradient-text': '#000000',\n '--color-component-name': '#61dafb',\n '--color-component-name-inverted': '#282828',\n '--color-component-badge-background': '#5e6167',\n '--color-component-badge-background-inverted': '#46494e',\n '--color-component-badge-count': '#8f949d',\n '--color-component-badge-count-inverted': 'rgba(255, 255, 255, 0.85)',\n '--color-console-error-badge-text': '#000000',\n '--color-console-error-background': '#290000',\n '--color-console-error-border': '#5c0000',\n '--color-console-error-icon': '#eb3941',\n '--color-console-error-text': '#fc7f7f',\n '--color-console-warning-badge-text': '#000000',\n '--color-console-warning-background': '#332b00',\n '--color-console-warning-border': '#665500',\n '--color-console-warning-icon': '#f4bd00',\n '--color-console-warning-text': '#f5f2ed',\n '--color-context-background': 'rgba(255,255,255,.95)',\n '--color-context-background-hover': 'rgba(0, 136, 250, 0.1)',\n '--color-context-background-selected': '#0088fa',\n '--color-context-border': '#eeeeee',\n '--color-context-text': '#000000',\n '--color-context-text-selected': '#ffffff',\n '--color-dim': '#8f949d',\n '--color-dimmer': '#777d88',\n '--color-dimmest': '#4f5766',\n '--color-error-background': '#200',\n '--color-error-border': '#900',\n '--color-error-text': '#f55',\n '--color-expand-collapse-toggle': '#8f949d',\n '--color-forget-badge-background': '#2683e2',\n '--color-forget-badge-background-inverted': '#1a6bbc',\n '--color-forget-text': '#fff',\n '--color-link': '#61dafb',\n '--color-modal-background': 'rgba(0, 0, 0, 0.75)',\n '--color-bridge-version-npm-background': 'rgba(0, 0, 0, 0.25)',\n '--color-bridge-version-npm-text': '#ffffff',\n '--color-bridge-version-number': 'yellow',\n '--color-primitive-hook-badge-background': 'rgba(0, 0, 0, 0.25)',\n '--color-primitive-hook-badge-text': 'rgba(255, 255, 255, 0.7)',\n '--color-record-active': '#fc3a4b',\n '--color-record-hover': '#a2e9fc',\n '--color-record-inactive': '#61dafb',\n '--color-resize-bar': '#282c34',\n '--color-resize-bar-active': '#31363f',\n '--color-resize-bar-border': '#3d424a',\n '--color-resize-bar-dot': '#cfd1d5',\n '--color-timeline-internal-module': '#303542',\n '--color-timeline-internal-module-hover': '#363b4a',\n '--color-timeline-internal-module-text': '#7f8899',\n '--color-timeline-native-event': '#b2b2b2',\n '--color-timeline-native-event-hover': '#949494',\n '--color-timeline-network-primary': '#fcf3dc',\n '--color-timeline-network-primary-hover': '#e3dbc5',\n '--color-timeline-network-secondary': '#efc457',\n '--color-timeline-network-secondary-hover': '#d6af4d',\n '--color-timeline-priority-background': '#1d2129',\n '--color-timeline-priority-border': '#282c34',\n '--color-timeline-user-timing': '#c9cacd',\n '--color-timeline-user-timing-hover': '#93959a',\n '--color-timeline-react-idle': '#3d485b',\n '--color-timeline-react-idle-hover': '#465269',\n '--color-timeline-react-render': '#2683E2',\n '--color-timeline-react-render-hover': '#1a76d4',\n '--color-timeline-react-render-text': '#11365e',\n '--color-timeline-react-commit': '#731fad',\n '--color-timeline-react-commit-hover': '#611b94',\n '--color-timeline-react-commit-text': '#e5c1ff',\n '--color-timeline-react-layout-effects': '#611b94',\n '--color-timeline-react-layout-effects-hover': '#51167a',\n '--color-timeline-react-layout-effects-text': '#e5c1ff',\n '--color-timeline-react-passive-effects': '#611b94',\n '--color-timeline-react-passive-effects-hover': '#51167a',\n '--color-timeline-react-passive-effects-text': '#e5c1ff',\n '--color-timeline-react-schedule': '#2683E2',\n '--color-timeline-react-schedule-hover': '#1a76d4',\n '--color-timeline-react-suspense-rejected': '#f1cc14',\n '--color-timeline-react-suspense-rejected-hover': '#e4c00f',\n '--color-timeline-react-suspense-resolved': '#a6e59f',\n '--color-timeline-react-suspense-resolved-hover': '#89d281',\n '--color-timeline-react-suspense-unresolved': '#c9cacd',\n '--color-timeline-react-suspense-unresolved-hover': '#93959a',\n '--color-timeline-thrown-error': '#fb3655',\n '--color-timeline-thrown-error-hover': '#f82042',\n '--color-timeline-text-color': '#282c34',\n '--color-timeline-text-dim-color': '#555b66',\n '--color-timeline-react-work-border': '#3d424a',\n '--color-timebar-background': '#1d2129',\n '--color-search-match': 'yellow',\n '--color-search-match-current': '#f7923b',\n '--color-selected-tree-highlight-active': 'rgba(23, 143, 185, 0.15)',\n '--color-selected-tree-highlight-inactive': 'rgba(255, 255, 255, 0.05)',\n '--color-scroll-caret': '#4f5766',\n '--color-shadow': 'rgba(0, 0, 0, 0.5)',\n '--color-tab-selected-border': '#178fb9',\n '--color-text': '#ffffff',\n '--color-text-invalid': '#ff8080',\n '--color-text-selected': '#ffffff',\n '--color-toggle-background-invalid': '#fc3a4b',\n '--color-toggle-background-on': '#178fb9',\n '--color-toggle-background-off': '#777d88',\n '--color-toggle-text': '#ffffff',\n '--color-warning-background': '#ee1638',\n '--color-warning-background-hover': '#da1030',\n '--color-warning-text-color': '#ffffff',\n '--color-warning-text-color-inverted': '#ee1638',\n '--color-suspense-default': '#61dafb',\n '--color-transition-default': '#6a51b2',\n '--color-suspense-server': '#62bc6a',\n '--color-transition-server': '#3f7844',\n '--color-suspense-other': '#f3ce49',\n '--color-transition-other': '#917b2c',\n '--color-suspense-errored': '#d57066',\n '--color-scroll-thumb': '#afb3b9',\n '--color-scroll-track': '#313640',\n '--color-tooltip-background': 'rgba(255, 255, 255, 0.95)',\n '--color-tooltip-text': '#000000',\n '--elevation-4': '0 2px 8px 0 rgba(0,0,0,0.32),0 4px 12px 0 rgba(0,0,0,0.24),0 1px 10px 0 rgba(0,0,0,0.18)'\n },\n compact: {\n '--font-size-monospace-small': '9px',\n '--font-size-monospace-normal': '11px',\n '--font-size-monospace-large': '15px',\n '--font-size-sans-small': '10px',\n '--font-size-sans-normal': '12px',\n '--font-size-sans-large': '14px',\n '--line-height-data': '18px'\n },\n comfortable: {\n '--font-size-monospace-small': '10px',\n '--font-size-monospace-normal': '13px',\n '--font-size-monospace-large': '17px',\n '--font-size-sans-small': '12px',\n '--font-size-sans-normal': '14px',\n '--font-size-sans-large': '16px',\n '--line-height-data': '22px'\n }\n};\nconst COMFORTABLE_LINE_HEIGHT = parseInt(THEME_STYLES.comfortable['--line-height-data'], 10);\nconst COMPACT_LINE_HEIGHT = parseInt(THEME_STYLES.compact['--line-height-data'], 10);\n\n;// CONCATENATED MODULE: ../react-devtools-timeline/src/constants.js\n\nconst REACT_TOTAL_NUM_LANES = 31;\nconst SCHEDULING_PROFILER_VERSION = 1;\nconst SNAPSHOT_MAX_HEIGHT = 60;\n;// CONCATENATED MODULE: ../react-devtools-shared/src/backend/profilingHooks.js\n\n\n\nconst TIME_OFFSET = 10;\nlet performanceTarget = null;\nlet supportsUserTiming = typeof performance !== 'undefined' && typeof performance.mark === 'function' && typeof performance.clearMarks === 'function';\nlet supportsUserTimingV3 = false;\nif (supportsUserTiming) {\n const CHECK_V3_MARK = '__v3';\n const markOptions = {};\n Object.defineProperty(markOptions, 'startTime', {\n get: function () {\n supportsUserTimingV3 = true;\n return 0;\n },\n set: function () {}\n });\n try {\n performance.mark(CHECK_V3_MARK, markOptions);\n } catch (error) {} finally {\n performance.clearMarks(CHECK_V3_MARK);\n }\n}\nif (supportsUserTimingV3) {\n performanceTarget = performance;\n}\nconst profilingHooks_getCurrentTime = typeof performance === 'object' && typeof performance.now === 'function' ? () => performance.now() : () => Date.now();\nfunction setPerformanceMock_ONLY_FOR_TESTING(performanceMock) {\n performanceTarget = performanceMock;\n supportsUserTiming = performanceMock !== null;\n supportsUserTimingV3 = performanceMock !== null;\n}\nfunction createProfilingHooks({\n getDisplayNameForFiber,\n getIsProfiling,\n getLaneLabelMap,\n workTagMap,\n currentDispatcherRef,\n reactVersion\n}) {\n let currentBatchUID = 0;\n let currentReactComponentMeasure = null;\n let currentReactMeasuresStack = [];\n let currentTimelineData = null;\n let currentFiberStacks = new Map();\n let isProfiling = false;\n let nextRenderShouldStartNewBatch = false;\n function getRelativeTime() {\n const currentTime = profilingHooks_getCurrentTime();\n if (currentTimelineData) {\n if (currentTimelineData.startTime === 0) {\n currentTimelineData.startTime = currentTime - TIME_OFFSET;\n }\n return currentTime - currentTimelineData.startTime;\n }\n return 0;\n }\n function getInternalModuleRanges() {\n if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.getInternalModuleRanges === 'function') {\n const ranges = __REACT_DEVTOOLS_GLOBAL_HOOK__.getInternalModuleRanges();\n if (shared_isArray(ranges)) {\n return ranges;\n }\n }\n return null;\n }\n function getTimelineData() {\n return currentTimelineData;\n }\n function laneToLanesArray(lanes) {\n const lanesArray = [];\n let lane = 1;\n for (let index = 0; index < REACT_TOTAL_NUM_LANES; index++) {\n if (lane & lanes) {\n lanesArray.push(lane);\n }\n lane *= 2;\n }\n return lanesArray;\n }\n const laneToLabelMap = typeof getLaneLabelMap === 'function' ? getLaneLabelMap() : null;\n function markMetadata() {\n markAndClear(`--react-version-${reactVersion}`);\n markAndClear(`--profiler-version-${SCHEDULING_PROFILER_VERSION}`);\n const ranges = getInternalModuleRanges();\n if (ranges) {\n for (let i = 0; i < ranges.length; i++) {\n const range = ranges[i];\n if (shared_isArray(range) && range.length === 2) {\n const [startStackFrame, stopStackFrame] = ranges[i];\n markAndClear(`--react-internal-module-start-${startStackFrame}`);\n markAndClear(`--react-internal-module-stop-${stopStackFrame}`);\n }\n }\n }\n if (laneToLabelMap != null) {\n const labels = Array.from(laneToLabelMap.values()).join(',');\n markAndClear(`--react-lane-labels-${labels}`);\n }\n }\n function markAndClear(markName) {\n performanceTarget.mark(markName);\n performanceTarget.clearMarks(markName);\n }\n function recordReactMeasureStarted(type, lanes) {\n let depth = 0;\n if (currentReactMeasuresStack.length > 0) {\n const top = currentReactMeasuresStack[currentReactMeasuresStack.length - 1];\n depth = top.type === 'render-idle' ? top.depth : top.depth + 1;\n }\n const lanesArray = laneToLanesArray(lanes);\n const reactMeasure = {\n type,\n batchUID: currentBatchUID,\n depth,\n lanes: lanesArray,\n timestamp: getRelativeTime(),\n duration: 0\n };\n currentReactMeasuresStack.push(reactMeasure);\n if (currentTimelineData) {\n const {\n batchUIDToMeasuresMap,\n laneToReactMeasureMap\n } = currentTimelineData;\n let reactMeasures = batchUIDToMeasuresMap.get(currentBatchUID);\n if (reactMeasures != null) {\n reactMeasures.push(reactMeasure);\n } else {\n batchUIDToMeasuresMap.set(currentBatchUID, [reactMeasure]);\n }\n lanesArray.forEach(lane => {\n reactMeasures = laneToReactMeasureMap.get(lane);\n if (reactMeasures) {\n reactMeasures.push(reactMeasure);\n }\n });\n }\n }\n function recordReactMeasureCompleted(type) {\n const currentTime = getRelativeTime();\n if (currentReactMeasuresStack.length === 0) {\n console.error('Unexpected type \"%s\" completed at %sms while currentReactMeasuresStack is empty.', type, currentTime);\n return;\n }\n const top = currentReactMeasuresStack.pop();\n if (top.type !== type) {\n console.error('Unexpected type \"%s\" completed at %sms before \"%s\" completed.', type, currentTime, top.type);\n }\n top.duration = currentTime - top.timestamp;\n if (currentTimelineData) {\n currentTimelineData.duration = getRelativeTime() + TIME_OFFSET;\n }\n }\n function markCommitStarted(lanes) {\n if (!isProfiling) {\n return;\n }\n recordReactMeasureStarted('commit', lanes);\n nextRenderShouldStartNewBatch = true;\n if (supportsUserTimingV3) {\n markAndClear(`--commit-start-${lanes}`);\n markMetadata();\n }\n }\n function markCommitStopped() {\n if (!isProfiling) {\n return;\n }\n recordReactMeasureCompleted('commit');\n recordReactMeasureCompleted('render-idle');\n if (supportsUserTimingV3) {\n markAndClear('--commit-stop');\n }\n }\n function markComponentRenderStarted(fiber) {\n if (!isProfiling) {\n return;\n }\n const componentName = getDisplayNameForFiber(fiber) || 'Unknown';\n currentReactComponentMeasure = {\n componentName,\n duration: 0,\n timestamp: getRelativeTime(),\n type: 'render',\n warning: null\n };\n if (supportsUserTimingV3) {\n markAndClear(`--component-render-start-${componentName}`);\n }\n }\n function markComponentRenderStopped() {\n if (!isProfiling) {\n return;\n }\n if (currentReactComponentMeasure) {\n if (currentTimelineData) {\n currentTimelineData.componentMeasures.push(currentReactComponentMeasure);\n }\n currentReactComponentMeasure.duration = getRelativeTime() - currentReactComponentMeasure.timestamp;\n currentReactComponentMeasure = null;\n }\n if (supportsUserTimingV3) {\n markAndClear('--component-render-stop');\n }\n }\n function markComponentLayoutEffectMountStarted(fiber) {\n if (!isProfiling) {\n return;\n }\n const componentName = getDisplayNameForFiber(fiber) || 'Unknown';\n currentReactComponentMeasure = {\n componentName,\n duration: 0,\n timestamp: getRelativeTime(),\n type: 'layout-effect-mount',\n warning: null\n };\n if (supportsUserTimingV3) {\n markAndClear(`--component-layout-effect-mount-start-${componentName}`);\n }\n }\n function markComponentLayoutEffectMountStopped() {\n if (!isProfiling) {\n return;\n }\n if (currentReactComponentMeasure) {\n if (currentTimelineData) {\n currentTimelineData.componentMeasures.push(currentReactComponentMeasure);\n }\n currentReactComponentMeasure.duration = getRelativeTime() - currentReactComponentMeasure.timestamp;\n currentReactComponentMeasure = null;\n }\n if (supportsUserTimingV3) {\n markAndClear('--component-layout-effect-mount-stop');\n }\n }\n function markComponentLayoutEffectUnmountStarted(fiber) {\n if (!isProfiling) {\n return;\n }\n const componentName = getDisplayNameForFiber(fiber) || 'Unknown';\n currentReactComponentMeasure = {\n componentName,\n duration: 0,\n timestamp: getRelativeTime(),\n type: 'layout-effect-unmount',\n warning: null\n };\n if (supportsUserTimingV3) {\n markAndClear(`--component-layout-effect-unmount-start-${componentName}`);\n }\n }\n function markComponentLayoutEffectUnmountStopped() {\n if (!isProfiling) {\n return;\n }\n if (currentReactComponentMeasure) {\n if (currentTimelineData) {\n currentTimelineData.componentMeasures.push(currentReactComponentMeasure);\n }\n currentReactComponentMeasure.duration = getRelativeTime() - currentReactComponentMeasure.timestamp;\n currentReactComponentMeasure = null;\n }\n if (supportsUserTimingV3) {\n markAndClear('--component-layout-effect-unmount-stop');\n }\n }\n function markComponentPassiveEffectMountStarted(fiber) {\n if (!isProfiling) {\n return;\n }\n const componentName = getDisplayNameForFiber(fiber) || 'Unknown';\n currentReactComponentMeasure = {\n componentName,\n duration: 0,\n timestamp: getRelativeTime(),\n type: 'passive-effect-mount',\n warning: null\n };\n if (supportsUserTimingV3) {\n markAndClear(`--component-passive-effect-mount-start-${componentName}`);\n }\n }\n function markComponentPassiveEffectMountStopped() {\n if (!isProfiling) {\n return;\n }\n if (currentReactComponentMeasure) {\n if (currentTimelineData) {\n currentTimelineData.componentMeasures.push(currentReactComponentMeasure);\n }\n currentReactComponentMeasure.duration = getRelativeTime() - currentReactComponentMeasure.timestamp;\n currentReactComponentMeasure = null;\n }\n if (supportsUserTimingV3) {\n markAndClear('--component-passive-effect-mount-stop');\n }\n }\n function markComponentPassiveEffectUnmountStarted(fiber) {\n if (!isProfiling) {\n return;\n }\n const componentName = getDisplayNameForFiber(fiber) || 'Unknown';\n currentReactComponentMeasure = {\n componentName,\n duration: 0,\n timestamp: getRelativeTime(),\n type: 'passive-effect-unmount',\n warning: null\n };\n if (supportsUserTimingV3) {\n markAndClear(`--component-passive-effect-unmount-start-${componentName}`);\n }\n }\n function markComponentPassiveEffectUnmountStopped() {\n if (!isProfiling) {\n return;\n }\n if (currentReactComponentMeasure) {\n if (currentTimelineData) {\n currentTimelineData.componentMeasures.push(currentReactComponentMeasure);\n }\n currentReactComponentMeasure.duration = getRelativeTime() - currentReactComponentMeasure.timestamp;\n currentReactComponentMeasure = null;\n }\n if (supportsUserTimingV3) {\n markAndClear('--component-passive-effect-unmount-stop');\n }\n }\n function markComponentErrored(fiber, thrownValue, lanes) {\n if (!isProfiling) {\n return;\n }\n const componentName = getDisplayNameForFiber(fiber) || 'Unknown';\n const phase = fiber.alternate === null ? 'mount' : 'update';\n let message = '';\n if (thrownValue !== null && typeof thrownValue === 'object' && typeof thrownValue.message === 'string') {\n message = thrownValue.message;\n } else if (typeof thrownValue === 'string') {\n message = thrownValue;\n }\n if (currentTimelineData) {\n currentTimelineData.thrownErrors.push({\n componentName,\n message,\n phase,\n timestamp: getRelativeTime(),\n type: 'thrown-error'\n });\n }\n if (supportsUserTimingV3) {\n markAndClear(`--error-${componentName}-${phase}-${message}`);\n }\n }\n const PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n const wakeableIDs = new PossiblyWeakMap();\n let wakeableID = 0;\n function getWakeableID(wakeable) {\n if (!wakeableIDs.has(wakeable)) {\n wakeableIDs.set(wakeable, wakeableID++);\n }\n return wakeableIDs.get(wakeable);\n }\n function markComponentSuspended(fiber, wakeable, lanes) {\n if (!isProfiling) {\n return;\n }\n const eventType = wakeableIDs.has(wakeable) ? 'resuspend' : 'suspend';\n const id = getWakeableID(wakeable);\n const componentName = getDisplayNameForFiber(fiber) || 'Unknown';\n const phase = fiber.alternate === null ? 'mount' : 'update';\n const displayName = wakeable.displayName || '';\n let suspenseEvent = null;\n suspenseEvent = {\n componentName,\n depth: 0,\n duration: 0,\n id: `${id}`,\n phase,\n promiseName: displayName,\n resolution: 'unresolved',\n timestamp: getRelativeTime(),\n type: 'suspense',\n warning: null\n };\n if (currentTimelineData) {\n currentTimelineData.suspenseEvents.push(suspenseEvent);\n }\n if (supportsUserTimingV3) {\n markAndClear(`--suspense-${eventType}-${id}-${componentName}-${phase}-${lanes}-${displayName}`);\n wakeable.then(() => {\n if (suspenseEvent) {\n suspenseEvent.duration = getRelativeTime() - suspenseEvent.timestamp;\n suspenseEvent.resolution = 'resolved';\n }\n if (supportsUserTimingV3) {\n markAndClear(`--suspense-resolved-${id}-${componentName}`);\n }\n }, () => {\n if (suspenseEvent) {\n suspenseEvent.duration = getRelativeTime() - suspenseEvent.timestamp;\n suspenseEvent.resolution = 'rejected';\n }\n if (supportsUserTimingV3) {\n markAndClear(`--suspense-rejected-${id}-${componentName}`);\n }\n });\n }\n }\n function markLayoutEffectsStarted(lanes) {\n if (!isProfiling) {\n return;\n }\n recordReactMeasureStarted('layout-effects', lanes);\n if (supportsUserTimingV3) {\n markAndClear(`--layout-effects-start-${lanes}`);\n }\n }\n function markLayoutEffectsStopped() {\n if (!isProfiling) {\n return;\n }\n recordReactMeasureCompleted('layout-effects');\n if (supportsUserTimingV3) {\n markAndClear('--layout-effects-stop');\n }\n }\n function markPassiveEffectsStarted(lanes) {\n if (!isProfiling) {\n return;\n }\n recordReactMeasureStarted('passive-effects', lanes);\n if (supportsUserTimingV3) {\n markAndClear(`--passive-effects-start-${lanes}`);\n }\n }\n function markPassiveEffectsStopped() {\n if (!isProfiling) {\n return;\n }\n recordReactMeasureCompleted('passive-effects');\n if (supportsUserTimingV3) {\n markAndClear('--passive-effects-stop');\n }\n }\n function markRenderStarted(lanes) {\n if (!isProfiling) {\n return;\n }\n if (nextRenderShouldStartNewBatch) {\n nextRenderShouldStartNewBatch = false;\n currentBatchUID++;\n }\n if (currentReactMeasuresStack.length === 0 || currentReactMeasuresStack[currentReactMeasuresStack.length - 1].type !== 'render-idle') {\n recordReactMeasureStarted('render-idle', lanes);\n }\n recordReactMeasureStarted('render', lanes);\n if (supportsUserTimingV3) {\n markAndClear(`--render-start-${lanes}`);\n }\n }\n function markRenderYielded() {\n if (!isProfiling) {\n return;\n }\n recordReactMeasureCompleted('render');\n if (supportsUserTimingV3) {\n markAndClear('--render-yield');\n }\n }\n function markRenderStopped() {\n if (!isProfiling) {\n return;\n }\n recordReactMeasureCompleted('render');\n if (supportsUserTimingV3) {\n markAndClear('--render-stop');\n }\n }\n function markRenderScheduled(lane) {\n if (!isProfiling) {\n return;\n }\n if (currentTimelineData) {\n currentTimelineData.schedulingEvents.push({\n lanes: laneToLanesArray(lane),\n timestamp: getRelativeTime(),\n type: 'schedule-render',\n warning: null\n });\n }\n if (supportsUserTimingV3) {\n markAndClear(`--schedule-render-${lane}`);\n }\n }\n function markForceUpdateScheduled(fiber, lane) {\n if (!isProfiling) {\n return;\n }\n const componentName = getDisplayNameForFiber(fiber) || 'Unknown';\n if (currentTimelineData) {\n currentTimelineData.schedulingEvents.push({\n componentName,\n lanes: laneToLanesArray(lane),\n timestamp: getRelativeTime(),\n type: 'schedule-force-update',\n warning: null\n });\n }\n if (supportsUserTimingV3) {\n markAndClear(`--schedule-forced-update-${lane}-${componentName}`);\n }\n }\n function getParentFibers(fiber) {\n const parents = [];\n let parent = fiber;\n while (parent !== null) {\n parents.push(parent);\n parent = parent.return;\n }\n return parents;\n }\n function markStateUpdateScheduled(fiber, lane) {\n if (!isProfiling) {\n return;\n }\n const componentName = getDisplayNameForFiber(fiber) || 'Unknown';\n if (currentTimelineData) {\n const event = {\n componentName,\n lanes: laneToLanesArray(lane),\n timestamp: getRelativeTime(),\n type: 'schedule-state-update',\n warning: null\n };\n currentFiberStacks.set(event, getParentFibers(fiber));\n currentTimelineData.schedulingEvents.push(event);\n }\n if (supportsUserTimingV3) {\n markAndClear(`--schedule-state-update-${lane}-${componentName}`);\n }\n }\n function toggleProfilingStatus(value, recordTimeline = false) {\n if (isProfiling !== value) {\n isProfiling = value;\n if (isProfiling) {\n const internalModuleSourceToRanges = new Map();\n if (supportsUserTimingV3) {\n const ranges = getInternalModuleRanges();\n if (ranges) {\n for (let i = 0; i < ranges.length; i++) {\n const range = ranges[i];\n if (shared_isArray(range) && range.length === 2) {\n const [startStackFrame, stopStackFrame] = ranges[i];\n markAndClear(`--react-internal-module-start-${startStackFrame}`);\n markAndClear(`--react-internal-module-stop-${stopStackFrame}`);\n }\n }\n }\n }\n const laneToReactMeasureMap = new Map();\n let lane = 1;\n for (let index = 0; index < REACT_TOTAL_NUM_LANES; index++) {\n laneToReactMeasureMap.set(lane, []);\n lane *= 2;\n }\n currentBatchUID = 0;\n currentReactComponentMeasure = null;\n currentReactMeasuresStack = [];\n currentFiberStacks = new Map();\n if (recordTimeline) {\n currentTimelineData = {\n internalModuleSourceToRanges,\n laneToLabelMap: laneToLabelMap || new Map(),\n reactVersion,\n componentMeasures: [],\n schedulingEvents: [],\n suspenseEvents: [],\n thrownErrors: [],\n batchUIDToMeasuresMap: new Map(),\n duration: 0,\n laneToReactMeasureMap,\n startTime: 0,\n flamechart: [],\n nativeEvents: [],\n networkMeasures: [],\n otherUserTimingMarks: [],\n snapshots: [],\n snapshotHeight: 0\n };\n }\n nextRenderShouldStartNewBatch = true;\n } else {\n if (currentTimelineData !== null) {\n currentTimelineData.schedulingEvents.forEach(event => {\n if (event.type === 'schedule-state-update') {\n const fiberStack = currentFiberStacks.get(event);\n if (fiberStack && currentDispatcherRef != null) {\n event.componentStack = fiberStack.reduce((trace, fiber) => {\n return trace + describeFiber(workTagMap, fiber, currentDispatcherRef);\n }, '');\n }\n }\n });\n }\n currentFiberStacks.clear();\n }\n }\n }\n return {\n getTimelineData,\n profilingHooks: {\n markCommitStarted,\n markCommitStopped,\n markComponentRenderStarted,\n markComponentRenderStopped,\n markComponentPassiveEffectMountStarted,\n markComponentPassiveEffectMountStopped,\n markComponentPassiveEffectUnmountStarted,\n markComponentPassiveEffectUnmountStopped,\n markComponentLayoutEffectMountStarted,\n markComponentLayoutEffectMountStopped,\n markComponentLayoutEffectUnmountStarted,\n markComponentLayoutEffectUnmountStopped,\n markComponentErrored,\n markComponentSuspended,\n markLayoutEffectsStarted,\n markLayoutEffectsStopped,\n markPassiveEffectsStarted,\n markPassiveEffectsStopped,\n markRenderStarted,\n markRenderYielded,\n markRenderStopped,\n markRenderScheduled,\n markForceUpdateScheduled,\n markStateUpdateScheduled\n },\n toggleProfilingStatus\n };\n}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/backend/fiber/renderer.js\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst renderer_toString = Object.prototype.toString;\nfunction renderer_isError(object) {\n return renderer_toString.call(object) === '[object Error]';\n}\n\n\n\n\nconst FIBER_INSTANCE = 0;\nconst VIRTUAL_INSTANCE = 1;\nconst FILTERED_FIBER_INSTANCE = 2;\nfunction createFiberInstance(fiber) {\n return {\n kind: FIBER_INSTANCE,\n id: getUID(),\n parent: null,\n firstChild: null,\n nextSibling: null,\n source: null,\n logCount: 0,\n treeBaseDuration: 0,\n suspendedBy: null,\n suspenseNode: null,\n data: fiber\n };\n}\nfunction createFilteredFiberInstance(fiber) {\n return {\n kind: FILTERED_FIBER_INSTANCE,\n id: 0,\n parent: null,\n firstChild: null,\n nextSibling: null,\n source: null,\n logCount: 0,\n treeBaseDuration: 0,\n suspendedBy: null,\n suspenseNode: null,\n data: fiber\n };\n}\nfunction createVirtualInstance(debugEntry) {\n return {\n kind: VIRTUAL_INSTANCE,\n id: getUID(),\n parent: null,\n firstChild: null,\n nextSibling: null,\n source: null,\n logCount: 0,\n treeBaseDuration: 0,\n suspendedBy: null,\n suspenseNode: null,\n data: debugEntry\n };\n}\nconst NoUpdate = 0b000;\nconst ShouldResetChildren = 0b001;\nconst ShouldResetSuspenseChildren = 0b010;\nconst ShouldResetParentSuspenseChildren = 0b100;\nfunction createSuspenseNode(instance) {\n return instance.suspenseNode = {\n instance: instance,\n parent: null,\n firstChild: null,\n nextSibling: null,\n rects: null,\n suspendedBy: new Map(),\n environments: new Map(),\n hasUniqueSuspenders: false,\n hasUnknownSuspenders: false\n };\n}\nfunction getDispatcherRef(renderer) {\n if (renderer.currentDispatcherRef === undefined) {\n return undefined;\n }\n const injectedRef = renderer.currentDispatcherRef;\n if (typeof injectedRef.H === 'undefined' && typeof injectedRef.current !== 'undefined') {\n return {\n get H() {\n return injectedRef.current;\n },\n set H(value) {\n injectedRef.current = value;\n }\n };\n }\n return injectedRef;\n}\nfunction getFiberFlags(fiber) {\n return fiber.flags !== undefined ? fiber.flags : fiber.effectTag;\n}\nconst renderer_getCurrentTime = typeof performance === 'object' && typeof performance.now === 'function' ? () => performance.now() : () => Date.now();\nfunction getInternalReactConstants(version) {\n let ReactPriorityLevels = {\n ImmediatePriority: 99,\n UserBlockingPriority: 98,\n NormalPriority: 97,\n LowPriority: 96,\n IdlePriority: 95,\n NoPriority: 90\n };\n if (gt(version, '17.0.2')) {\n ReactPriorityLevels = {\n ImmediatePriority: 1,\n UserBlockingPriority: 2,\n NormalPriority: 3,\n LowPriority: 4,\n IdlePriority: 5,\n NoPriority: 0\n };\n }\n let StrictModeBits = 0;\n if (gte(version, '18.0.0-alpha')) {\n StrictModeBits = 0b011000;\n } else if (gte(version, '16.9.0')) {\n StrictModeBits = 0b1;\n } else if (gte(version, '16.3.0')) {\n StrictModeBits = 0b10;\n }\n const SuspenseyImagesMode = 0b0100000;\n let ReactTypeOfWork = null;\n if (gt(version, '17.0.1')) {\n ReactTypeOfWork = {\n CacheComponent: 24,\n ClassComponent: 1,\n ContextConsumer: 9,\n ContextProvider: 10,\n CoroutineComponent: -1,\n CoroutineHandlerPhase: -1,\n DehydratedSuspenseComponent: 18,\n ForwardRef: 11,\n Fragment: 7,\n FunctionComponent: 0,\n HostComponent: 5,\n HostPortal: 4,\n HostRoot: 3,\n HostHoistable: 26,\n HostSingleton: 27,\n HostText: 6,\n IncompleteClassComponent: 17,\n IncompleteFunctionComponent: 28,\n IndeterminateComponent: 2,\n LazyComponent: 16,\n LegacyHiddenComponent: 23,\n MemoComponent: 14,\n Mode: 8,\n OffscreenComponent: 22,\n Profiler: 12,\n ScopeComponent: 21,\n SimpleMemoComponent: 15,\n SuspenseComponent: 13,\n SuspenseListComponent: 19,\n TracingMarkerComponent: 25,\n YieldComponent: -1,\n Throw: 29,\n ViewTransitionComponent: 30,\n ActivityComponent: 31\n };\n } else if (gte(version, '17.0.0-alpha')) {\n ReactTypeOfWork = {\n CacheComponent: -1,\n ClassComponent: 1,\n ContextConsumer: 9,\n ContextProvider: 10,\n CoroutineComponent: -1,\n CoroutineHandlerPhase: -1,\n DehydratedSuspenseComponent: 18,\n ForwardRef: 11,\n Fragment: 7,\n FunctionComponent: 0,\n HostComponent: 5,\n HostPortal: 4,\n HostRoot: 3,\n HostHoistable: -1,\n HostSingleton: -1,\n HostText: 6,\n IncompleteClassComponent: 17,\n IncompleteFunctionComponent: -1,\n IndeterminateComponent: 2,\n LazyComponent: 16,\n LegacyHiddenComponent: 24,\n MemoComponent: 14,\n Mode: 8,\n OffscreenComponent: 23,\n Profiler: 12,\n ScopeComponent: 21,\n SimpleMemoComponent: 15,\n SuspenseComponent: 13,\n SuspenseListComponent: 19,\n TracingMarkerComponent: -1,\n YieldComponent: -1,\n Throw: -1,\n ViewTransitionComponent: -1,\n ActivityComponent: -1\n };\n } else if (gte(version, '16.6.0-beta.0')) {\n ReactTypeOfWork = {\n CacheComponent: -1,\n ClassComponent: 1,\n ContextConsumer: 9,\n ContextProvider: 10,\n CoroutineComponent: -1,\n CoroutineHandlerPhase: -1,\n DehydratedSuspenseComponent: 18,\n ForwardRef: 11,\n Fragment: 7,\n FunctionComponent: 0,\n HostComponent: 5,\n HostPortal: 4,\n HostRoot: 3,\n HostHoistable: -1,\n HostSingleton: -1,\n HostText: 6,\n IncompleteClassComponent: 17,\n IncompleteFunctionComponent: -1,\n IndeterminateComponent: 2,\n LazyComponent: 16,\n LegacyHiddenComponent: -1,\n MemoComponent: 14,\n Mode: 8,\n OffscreenComponent: -1,\n Profiler: 12,\n ScopeComponent: -1,\n SimpleMemoComponent: 15,\n SuspenseComponent: 13,\n SuspenseListComponent: 19,\n TracingMarkerComponent: -1,\n YieldComponent: -1,\n Throw: -1,\n ViewTransitionComponent: -1,\n ActivityComponent: -1\n };\n } else if (gte(version, '16.4.3-alpha')) {\n ReactTypeOfWork = {\n CacheComponent: -1,\n ClassComponent: 2,\n ContextConsumer: 11,\n ContextProvider: 12,\n CoroutineComponent: -1,\n CoroutineHandlerPhase: -1,\n DehydratedSuspenseComponent: -1,\n ForwardRef: 13,\n Fragment: 9,\n FunctionComponent: 0,\n HostComponent: 7,\n HostPortal: 6,\n HostRoot: 5,\n HostHoistable: -1,\n HostSingleton: -1,\n HostText: 8,\n IncompleteClassComponent: -1,\n IncompleteFunctionComponent: -1,\n IndeterminateComponent: 4,\n LazyComponent: -1,\n LegacyHiddenComponent: -1,\n MemoComponent: -1,\n Mode: 10,\n OffscreenComponent: -1,\n Profiler: 15,\n ScopeComponent: -1,\n SimpleMemoComponent: -1,\n SuspenseComponent: 16,\n SuspenseListComponent: -1,\n TracingMarkerComponent: -1,\n YieldComponent: -1,\n Throw: -1,\n ViewTransitionComponent: -1,\n ActivityComponent: -1\n };\n } else {\n ReactTypeOfWork = {\n CacheComponent: -1,\n ClassComponent: 2,\n ContextConsumer: 12,\n ContextProvider: 13,\n CoroutineComponent: 7,\n CoroutineHandlerPhase: 8,\n DehydratedSuspenseComponent: -1,\n ForwardRef: 14,\n Fragment: 10,\n FunctionComponent: 1,\n HostComponent: 5,\n HostPortal: 4,\n HostRoot: 3,\n HostHoistable: -1,\n HostSingleton: -1,\n HostText: 6,\n IncompleteClassComponent: -1,\n IncompleteFunctionComponent: -1,\n IndeterminateComponent: 0,\n LazyComponent: -1,\n LegacyHiddenComponent: -1,\n MemoComponent: -1,\n Mode: 11,\n OffscreenComponent: -1,\n Profiler: 15,\n ScopeComponent: -1,\n SimpleMemoComponent: -1,\n SuspenseComponent: 16,\n SuspenseListComponent: -1,\n TracingMarkerComponent: -1,\n YieldComponent: 9,\n Throw: -1,\n ViewTransitionComponent: -1,\n ActivityComponent: -1\n };\n }\n function getTypeSymbol(type) {\n const symbolOrNumber = typeof type === 'object' && type !== null ? type.$$typeof : type;\n return typeof symbolOrNumber === 'symbol' ? symbolOrNumber.toString() : symbolOrNumber;\n }\n const {\n CacheComponent,\n ClassComponent,\n IncompleteClassComponent,\n IncompleteFunctionComponent,\n FunctionComponent,\n IndeterminateComponent,\n ForwardRef,\n HostRoot,\n HostHoistable,\n HostSingleton,\n HostComponent,\n HostPortal,\n HostText,\n Fragment,\n LazyComponent,\n LegacyHiddenComponent,\n MemoComponent,\n OffscreenComponent,\n Profiler,\n ScopeComponent,\n SimpleMemoComponent,\n SuspenseComponent,\n SuspenseListComponent,\n TracingMarkerComponent,\n Throw,\n ViewTransitionComponent,\n ActivityComponent\n } = ReactTypeOfWork;\n function resolveFiberType(type) {\n const typeSymbol = getTypeSymbol(type);\n switch (typeSymbol) {\n case MEMO_NUMBER:\n case MEMO_SYMBOL_STRING:\n return resolveFiberType(type.type);\n case FORWARD_REF_NUMBER:\n case FORWARD_REF_SYMBOL_STRING:\n return type.render;\n default:\n return type;\n }\n }\n function getDisplayNameForFiber(fiber, shouldSkipForgetCheck = false) {\n const {\n elementType,\n type,\n tag\n } = fiber;\n let resolvedType = type;\n if (typeof type === 'object' && type !== null) {\n resolvedType = resolveFiberType(type);\n }\n let resolvedContext = null;\n if (!shouldSkipForgetCheck && (fiber.updateQueue?.memoCache != null || Array.isArray(fiber.memoizedState?.memoizedState) && fiber.memoizedState.memoizedState[0]?.[ReactSymbols_REACT_MEMO_CACHE_SENTINEL] || fiber.memoizedState?.memoizedState?.[ReactSymbols_REACT_MEMO_CACHE_SENTINEL])) {\n const displayNameWithoutForgetWrapper = getDisplayNameForFiber(fiber, true);\n if (displayNameWithoutForgetWrapper == null) {\n return null;\n }\n return `Forget(${displayNameWithoutForgetWrapper})`;\n }\n switch (tag) {\n case ActivityComponent:\n return 'Activity';\n case CacheComponent:\n return 'Cache';\n case ClassComponent:\n case IncompleteClassComponent:\n case IncompleteFunctionComponent:\n case FunctionComponent:\n case IndeterminateComponent:\n return getDisplayName(resolvedType);\n case ForwardRef:\n return getWrappedDisplayName(elementType, resolvedType, 'ForwardRef', 'Anonymous');\n case HostRoot:\n const fiberRoot = fiber.stateNode;\n if (fiberRoot != null && fiberRoot._debugRootType !== null) {\n return fiberRoot._debugRootType;\n }\n return null;\n case HostComponent:\n case HostSingleton:\n case HostHoistable:\n return type;\n case HostPortal:\n case HostText:\n return null;\n case Fragment:\n return 'Fragment';\n case LazyComponent:\n return 'Lazy';\n case MemoComponent:\n case SimpleMemoComponent:\n return getWrappedDisplayName(elementType, resolvedType, 'Memo', 'Anonymous');\n case SuspenseComponent:\n return 'Suspense';\n case LegacyHiddenComponent:\n return 'LegacyHidden';\n case OffscreenComponent:\n return 'Offscreen';\n case ScopeComponent:\n return 'Scope';\n case SuspenseListComponent:\n return 'SuspenseList';\n case Profiler:\n return 'Profiler';\n case TracingMarkerComponent:\n return 'TracingMarker';\n case ViewTransitionComponent:\n return 'ViewTransition';\n case Throw:\n return 'Error';\n default:\n const typeSymbol = getTypeSymbol(type);\n switch (typeSymbol) {\n case CONCURRENT_MODE_NUMBER:\n case CONCURRENT_MODE_SYMBOL_STRING:\n case DEPRECATED_ASYNC_MODE_SYMBOL_STRING:\n return null;\n case PROVIDER_NUMBER:\n case PROVIDER_SYMBOL_STRING:\n resolvedContext = fiber.type._context || fiber.type.context;\n return `${resolvedContext.displayName || 'Context'}.Provider`;\n case CONTEXT_NUMBER:\n case CONTEXT_SYMBOL_STRING:\n case SERVER_CONTEXT_SYMBOL_STRING:\n if (fiber.type._context === undefined && fiber.type.Provider === fiber.type) {\n resolvedContext = fiber.type;\n return `${resolvedContext.displayName || 'Context'}.Provider`;\n }\n resolvedContext = fiber.type._context || fiber.type;\n return `${resolvedContext.displayName || 'Context'}.Consumer`;\n case CONSUMER_SYMBOL_STRING:\n resolvedContext = fiber.type._context;\n return `${resolvedContext.displayName || 'Context'}.Consumer`;\n case STRICT_MODE_NUMBER:\n case STRICT_MODE_SYMBOL_STRING:\n return null;\n case PROFILER_NUMBER:\n case PROFILER_SYMBOL_STRING:\n return `Profiler(${fiber.memoizedProps.id})`;\n case SCOPE_NUMBER:\n case SCOPE_SYMBOL_STRING:\n return 'Scope';\n default:\n return null;\n }\n }\n }\n return {\n getDisplayNameForFiber,\n getTypeSymbol,\n ReactPriorityLevels,\n ReactTypeOfWork,\n StrictModeBits,\n SuspenseyImagesMode\n };\n}\nconst knownEnvironmentNames = new Set();\nconst rootToFiberInstanceMap = new Map();\nconst idToDevToolsInstanceMap = new Map();\nconst idToSuspenseNodeMap = new Map();\nconst publicInstanceToDevToolsInstanceMap = new Map();\nconst hostResourceToDevToolsInstanceMap = new Map();\nfunction getPublicInstance(instance) {\n if (typeof instance === 'object' && instance !== null) {\n if (typeof instance.canonical === 'object' && instance.canonical !== null) {\n if (typeof instance.canonical.publicInstance === 'object' && instance.canonical.publicInstance !== null) {\n return instance.canonical.publicInstance;\n }\n }\n if (typeof instance._nativeTag === 'number') {\n return instance._nativeTag;\n }\n }\n return instance;\n}\nfunction getNativeTag(instance) {\n if (typeof instance !== 'object' || instance === null) {\n return null;\n }\n if (instance.canonical != null && typeof instance.canonical.nativeTag === 'number') {\n return instance.canonical.nativeTag;\n }\n if (typeof instance._nativeTag === 'number') {\n return instance._nativeTag;\n }\n return null;\n}\nfunction aquireHostInstance(nearestInstance, hostInstance) {\n const publicInstance = getPublicInstance(hostInstance);\n publicInstanceToDevToolsInstanceMap.set(publicInstance, nearestInstance);\n}\nfunction releaseHostInstance(nearestInstance, hostInstance) {\n const publicInstance = getPublicInstance(hostInstance);\n if (publicInstanceToDevToolsInstanceMap.get(publicInstance) === nearestInstance) {\n publicInstanceToDevToolsInstanceMap.delete(publicInstance);\n }\n}\nfunction aquireHostResource(nearestInstance, resource) {\n const hostInstance = resource && resource.instance;\n if (hostInstance) {\n const publicInstance = getPublicInstance(hostInstance);\n let resourceInstances = hostResourceToDevToolsInstanceMap.get(publicInstance);\n if (resourceInstances === undefined) {\n resourceInstances = new Set();\n hostResourceToDevToolsInstanceMap.set(publicInstance, resourceInstances);\n publicInstanceToDevToolsInstanceMap.set(publicInstance, nearestInstance);\n }\n resourceInstances.add(nearestInstance);\n }\n}\nfunction releaseHostResource(nearestInstance, resource) {\n const hostInstance = resource && resource.instance;\n if (hostInstance) {\n const publicInstance = getPublicInstance(hostInstance);\n const resourceInstances = hostResourceToDevToolsInstanceMap.get(publicInstance);\n if (resourceInstances !== undefined) {\n resourceInstances.delete(nearestInstance);\n if (resourceInstances.size === 0) {\n hostResourceToDevToolsInstanceMap.delete(publicInstance);\n publicInstanceToDevToolsInstanceMap.delete(publicInstance);\n } else if (publicInstanceToDevToolsInstanceMap.get(publicInstance) === nearestInstance) {\n for (const firstInstance of resourceInstances) {\n publicInstanceToDevToolsInstanceMap.set(firstInstance, nearestInstance);\n break;\n }\n }\n }\n }\n}\nfunction renderer_attach(hook, rendererID, renderer, global, shouldStartProfilingNow, profilingSettings) {\n const version = renderer.reconcilerVersion || renderer.version;\n const {\n getDisplayNameForFiber,\n getTypeSymbol,\n ReactPriorityLevels,\n ReactTypeOfWork,\n StrictModeBits,\n SuspenseyImagesMode\n } = getInternalReactConstants(version);\n const {\n ActivityComponent,\n ClassComponent,\n ContextConsumer,\n DehydratedSuspenseComponent,\n ForwardRef,\n Fragment,\n FunctionComponent,\n HostRoot,\n HostHoistable,\n HostSingleton,\n HostPortal,\n HostComponent,\n HostText,\n IncompleteClassComponent,\n IncompleteFunctionComponent,\n IndeterminateComponent,\n LegacyHiddenComponent,\n MemoComponent,\n OffscreenComponent,\n SimpleMemoComponent,\n SuspenseComponent,\n SuspenseListComponent,\n TracingMarkerComponent,\n Throw,\n ViewTransitionComponent\n } = ReactTypeOfWork;\n const {\n ImmediatePriority,\n UserBlockingPriority,\n NormalPriority,\n LowPriority,\n IdlePriority,\n NoPriority\n } = ReactPriorityLevels;\n const {\n getLaneLabelMap,\n injectProfilingHooks,\n overrideHookState,\n overrideHookStateDeletePath,\n overrideHookStateRenamePath,\n overrideProps,\n overridePropsDeletePath,\n overridePropsRenamePath,\n scheduleRefresh,\n setErrorHandler,\n setSuspenseHandler,\n scheduleUpdate,\n scheduleRetry,\n getCurrentFiber\n } = renderer;\n const supportsTogglingError = typeof setErrorHandler === 'function' && typeof scheduleUpdate === 'function';\n const supportsTogglingSuspense = typeof setSuspenseHandler === 'function' && typeof scheduleUpdate === 'function';\n const supportsPerformanceTracks = gte(version, '19.2.0');\n if (typeof scheduleRefresh === 'function') {\n renderer.scheduleRefresh = (...args) => {\n try {\n hook.emit('fastRefreshScheduled');\n } finally {\n return scheduleRefresh(...args);\n }\n };\n }\n let getTimelineData = null;\n let toggleProfilingStatus = null;\n if (typeof injectProfilingHooks === 'function') {\n const response = createProfilingHooks({\n getDisplayNameForFiber,\n getIsProfiling: () => isProfiling,\n getLaneLabelMap,\n currentDispatcherRef: getDispatcherRef(renderer),\n workTagMap: ReactTypeOfWork,\n reactVersion: version\n });\n injectProfilingHooks(response.profilingHooks);\n getTimelineData = response.getTimelineData;\n toggleProfilingStatus = response.toggleProfilingStatus;\n }\n const fiberToComponentLogsMap = new WeakMap();\n let needsToFlushComponentLogs = false;\n function bruteForceFlushErrorsAndWarnings() {\n let hasChanges = false;\n for (const devtoolsInstance of idToDevToolsInstanceMap.values()) {\n if (devtoolsInstance.kind === FIBER_INSTANCE) {\n const fiber = devtoolsInstance.data;\n const componentLogsEntry = fiberToComponentLogsMap.get(fiber);\n const changed = recordConsoleLogs(devtoolsInstance, componentLogsEntry);\n if (changed) {\n hasChanges = true;\n updateMostRecentlyInspectedElementIfNecessary(devtoolsInstance.id);\n }\n } else {}\n }\n if (hasChanges) {\n flushPendingEvents();\n }\n }\n function clearErrorsAndWarnings() {\n for (const devtoolsInstance of idToDevToolsInstanceMap.values()) {\n if (devtoolsInstance.kind === FIBER_INSTANCE) {\n const fiber = devtoolsInstance.data;\n fiberToComponentLogsMap.delete(fiber);\n if (fiber.alternate) {\n fiberToComponentLogsMap.delete(fiber.alternate);\n }\n } else {\n componentInfoToComponentLogsMap[\"delete\"](devtoolsInstance.data);\n }\n const changed = recordConsoleLogs(devtoolsInstance, undefined);\n if (changed) {\n updateMostRecentlyInspectedElementIfNecessary(devtoolsInstance.id);\n }\n }\n flushPendingEvents();\n }\n function clearConsoleLogsHelper(instanceID, type) {\n const devtoolsInstance = idToDevToolsInstanceMap.get(instanceID);\n if (devtoolsInstance !== undefined) {\n let componentLogsEntry;\n if (devtoolsInstance.kind === FIBER_INSTANCE) {\n const fiber = devtoolsInstance.data;\n componentLogsEntry = fiberToComponentLogsMap.get(fiber);\n if (componentLogsEntry === undefined && fiber.alternate !== null) {\n componentLogsEntry = fiberToComponentLogsMap.get(fiber.alternate);\n }\n } else {\n const componentInfo = devtoolsInstance.data;\n componentLogsEntry = componentInfoToComponentLogsMap.get(componentInfo);\n }\n if (componentLogsEntry !== undefined) {\n if (type === 'error') {\n componentLogsEntry.errors.clear();\n componentLogsEntry.errorsCount = 0;\n } else {\n componentLogsEntry.warnings.clear();\n componentLogsEntry.warningsCount = 0;\n }\n const changed = recordConsoleLogs(devtoolsInstance, componentLogsEntry);\n if (changed) {\n flushPendingEvents();\n updateMostRecentlyInspectedElementIfNecessary(devtoolsInstance.id);\n }\n }\n }\n }\n function clearErrorsForElementID(instanceID) {\n clearConsoleLogsHelper(instanceID, 'error');\n }\n function clearWarningsForElementID(instanceID) {\n clearConsoleLogsHelper(instanceID, 'warn');\n }\n function updateMostRecentlyInspectedElementIfNecessary(fiberID) {\n if (mostRecentlyInspectedElement !== null && mostRecentlyInspectedElement.id === fiberID) {\n hasElementUpdatedSinceLastInspected = true;\n }\n }\n function getComponentStack(topFrame) {\n if (getCurrentFiber == null) {\n return null;\n }\n const current = getCurrentFiber();\n if (current === null) {\n return null;\n }\n if (DevToolsFiberComponentStack_supportsConsoleTasks(current)) {\n return null;\n }\n const dispatcherRef = getDispatcherRef(renderer);\n if (dispatcherRef === undefined) {\n return null;\n }\n const enableOwnerStacks = supportsOwnerStacks(current);\n let componentStack = '';\n if (enableOwnerStacks) {\n const topStackFrames = formatOwnerStack(topFrame);\n if (topStackFrames) {\n componentStack += '\\n' + topStackFrames;\n }\n componentStack += getOwnerStackByFiberInDev(ReactTypeOfWork, current, dispatcherRef);\n } else {\n componentStack = getStackByFiberInDevAndProd(ReactTypeOfWork, current, dispatcherRef);\n }\n return {\n enableOwnerStacks,\n componentStack\n };\n }\n function onErrorOrWarning(type, args) {\n if (getCurrentFiber == null) {\n return;\n }\n const fiber = getCurrentFiber();\n if (fiber === null) {\n return;\n }\n if (type === 'error') {\n if (forceErrorForFibers.get(fiber) === true || fiber.alternate !== null && forceErrorForFibers.get(fiber.alternate) === true) {\n return;\n }\n }\n const message = formatConsoleArgumentsToSingleString(...args);\n let componentLogsEntry = fiberToComponentLogsMap.get(fiber);\n if (componentLogsEntry === undefined && fiber.alternate !== null) {\n componentLogsEntry = fiberToComponentLogsMap.get(fiber.alternate);\n if (componentLogsEntry !== undefined) {\n fiberToComponentLogsMap.set(fiber, componentLogsEntry);\n }\n }\n if (componentLogsEntry === undefined) {\n componentLogsEntry = {\n errors: new Map(),\n errorsCount: 0,\n warnings: new Map(),\n warningsCount: 0\n };\n fiberToComponentLogsMap.set(fiber, componentLogsEntry);\n }\n const messageMap = type === 'error' ? componentLogsEntry.errors : componentLogsEntry.warnings;\n const count = messageMap.get(message) || 0;\n messageMap.set(message, count + 1);\n if (type === 'error') {\n componentLogsEntry.errorsCount++;\n } else {\n componentLogsEntry.warningsCount++;\n }\n needsToFlushComponentLogs = true;\n }\n function debug(name, instance, parentInstance, extraString = '') {\n if (__DEBUG__) {\n const displayName = instance.kind === VIRTUAL_INSTANCE ? instance.data.name || 'null' : instance.data.tag + ':' + (getDisplayNameForFiber(instance.data) || 'null');\n const maybeID = instance.kind === FILTERED_FIBER_INSTANCE ? '<no id>' : instance.id;\n const parentDisplayName = parentInstance === null ? '' : parentInstance.kind === VIRTUAL_INSTANCE ? parentInstance.data.name || 'null' : parentInstance.data.tag + ':' + (getDisplayNameForFiber(parentInstance.data) || 'null');\n const maybeParentID = parentInstance === null || parentInstance.kind === FILTERED_FIBER_INSTANCE ? '<no id>' : parentInstance.id;\n console.groupCollapsed(`[renderer] %c${name} %c${displayName} (${maybeID}) %c${parentInstance ? `${parentDisplayName} (${maybeParentID})` : ''} %c${extraString}`, 'color: red; font-weight: bold;', 'color: blue;', 'color: purple;', 'color: black;');\n console.log(new Error().stack.split('\\n').slice(1).join('\\n'));\n console.groupEnd();\n }\n }\n function debugTree(instance, indent = 0) {\n if (__DEBUG__) {\n const name = (instance.kind !== VIRTUAL_INSTANCE ? getDisplayNameForFiber(instance.data) : instance.data.name) || '';\n console.log(' '.repeat(indent) + '- ' + (instance.kind === FILTERED_FIBER_INSTANCE ? 0 : instance.id) + ' (' + name + ')', 'parent', instance.parent === null ? ' ' : instance.parent.kind === FILTERED_FIBER_INSTANCE ? 0 : instance.parent.id, 'next', instance.nextSibling === null ? ' ' : instance.nextSibling.id);\n let child = instance.firstChild;\n while (child !== null) {\n debugTree(child, indent + 1);\n child = child.nextSibling;\n }\n }\n }\n const hideElementsWithDisplayNames = new Set();\n const hideElementsWithPaths = new Set();\n const hideElementsWithTypes = new Set();\n const hideElementsWithEnvs = new Set();\n let traceUpdatesEnabled = false;\n const traceUpdatesForNodes = new Set();\n function applyComponentFilters(componentFilters) {\n hideElementsWithTypes.clear();\n hideElementsWithDisplayNames.clear();\n hideElementsWithPaths.clear();\n hideElementsWithEnvs.clear();\n componentFilters.forEach(componentFilter => {\n if (!componentFilter.isEnabled) {\n return;\n }\n switch (componentFilter.type) {\n case ComponentFilterDisplayName:\n if (componentFilter.isValid && componentFilter.value !== '') {\n hideElementsWithDisplayNames.add(new RegExp(componentFilter.value, 'i'));\n }\n break;\n case ComponentFilterElementType:\n hideElementsWithTypes.add(componentFilter.value);\n break;\n case ComponentFilterLocation:\n if (componentFilter.isValid && componentFilter.value !== '') {\n hideElementsWithPaths.add(new RegExp(componentFilter.value, 'i'));\n }\n break;\n case ComponentFilterHOC:\n hideElementsWithDisplayNames.add(new RegExp('\\\\('));\n break;\n case ComponentFilterEnvironmentName:\n hideElementsWithEnvs.add(componentFilter.value);\n break;\n default:\n console.warn(`Invalid component filter type \"${componentFilter.type}\"`);\n break;\n }\n });\n }\n if (window.__REACT_DEVTOOLS_COMPONENT_FILTERS__ != null) {\n const componentFiltersWithoutLocationBasedOnes = filterOutLocationComponentFilters(window.__REACT_DEVTOOLS_COMPONENT_FILTERS__);\n applyComponentFilters(componentFiltersWithoutLocationBasedOnes);\n } else {\n applyComponentFilters(getDefaultComponentFilters());\n }\n function updateComponentFilters(componentFilters) {\n if (isProfiling) {\n throw Error('Cannot modify filter preferences while profiling');\n }\n hook.getFiberRoots(rendererID).forEach(root => {\n const rootInstance = rootToFiberInstanceMap.get(root);\n if (rootInstance === undefined) {\n throw new Error('Expected the root instance to already exist when applying filters');\n }\n currentRoot = rootInstance;\n unmountInstanceRecursively(rootInstance);\n rootToFiberInstanceMap.delete(root);\n flushPendingEvents();\n currentRoot = null;\n });\n applyComponentFilters(componentFilters);\n rootDisplayNameCounter.clear();\n hook.getFiberRoots(rendererID).forEach(root => {\n const current = root.current;\n const newRoot = createFiberInstance(current);\n rootToFiberInstanceMap.set(root, newRoot);\n idToDevToolsInstanceMap.set(newRoot.id, newRoot);\n if (trackedPath !== null) {\n mightBeOnTrackedPath = true;\n }\n currentRoot = newRoot;\n setRootPseudoKey(currentRoot.id, root.current);\n mountFiberRecursively(root.current, false);\n flushPendingEvents();\n currentRoot = null;\n });\n flushPendingEvents();\n needsToFlushComponentLogs = false;\n }\n function getEnvironmentNames() {\n return Array.from(knownEnvironmentNames);\n }\n function isFiberHydrated(fiber) {\n if (OffscreenComponent === -1) {\n throw new Error('not implemented for legacy suspense');\n }\n switch (fiber.tag) {\n case HostRoot:\n const rootState = fiber.memoizedState;\n return !rootState.isDehydrated;\n case SuspenseComponent:\n const suspenseState = fiber.memoizedState;\n return suspenseState === null || suspenseState.dehydrated === null;\n default:\n throw new Error('not implemented for work tag ' + fiber.tag);\n }\n }\n function shouldFilterVirtual(data, secondaryEnv) {\n if (hideElementsWithTypes.has(types_ElementTypeFunction)) {\n return true;\n }\n if (hideElementsWithDisplayNames.size > 0) {\n const displayName = data.name;\n if (displayName != null) {\n for (const displayNameRegExp of hideElementsWithDisplayNames) {\n if (displayNameRegExp.test(displayName)) {\n return true;\n }\n }\n }\n }\n if ((data.env == null || hideElementsWithEnvs.has(data.env)) && (secondaryEnv === null || hideElementsWithEnvs.has(secondaryEnv))) {\n return true;\n }\n return false;\n }\n function shouldFilterFiber(fiber) {\n const {\n tag,\n type,\n key\n } = fiber;\n switch (tag) {\n case DehydratedSuspenseComponent:\n return true;\n case HostPortal:\n case HostText:\n case LegacyHiddenComponent:\n case OffscreenComponent:\n case Throw:\n return true;\n case HostRoot:\n return false;\n case Fragment:\n return key === null;\n default:\n const typeSymbol = getTypeSymbol(type);\n switch (typeSymbol) {\n case CONCURRENT_MODE_NUMBER:\n case CONCURRENT_MODE_SYMBOL_STRING:\n case DEPRECATED_ASYNC_MODE_SYMBOL_STRING:\n case STRICT_MODE_NUMBER:\n case STRICT_MODE_SYMBOL_STRING:\n return true;\n default:\n break;\n }\n }\n const elementType = getElementTypeForFiber(fiber);\n if (hideElementsWithTypes.has(elementType)) {\n return true;\n }\n if (hideElementsWithDisplayNames.size > 0) {\n const displayName = getDisplayNameForFiber(fiber);\n if (displayName != null) {\n for (const displayNameRegExp of hideElementsWithDisplayNames) {\n if (displayNameRegExp.test(displayName)) {\n return true;\n }\n }\n }\n }\n if (hideElementsWithEnvs.has('Client')) {\n switch (tag) {\n case ClassComponent:\n case IncompleteClassComponent:\n case IncompleteFunctionComponent:\n case FunctionComponent:\n case IndeterminateComponent:\n case ForwardRef:\n case MemoComponent:\n case SimpleMemoComponent:\n return true;\n }\n }\n return false;\n }\n function getElementTypeForFiber(fiber) {\n const {\n type,\n tag\n } = fiber;\n switch (tag) {\n case ActivityComponent:\n return ElementTypeActivity;\n case ClassComponent:\n case IncompleteClassComponent:\n return types_ElementTypeClass;\n case IncompleteFunctionComponent:\n case FunctionComponent:\n case IndeterminateComponent:\n return types_ElementTypeFunction;\n case ForwardRef:\n return types_ElementTypeForwardRef;\n case HostRoot:\n return ElementTypeRoot;\n case HostComponent:\n case HostHoistable:\n case HostSingleton:\n return ElementTypeHostComponent;\n case HostPortal:\n case HostText:\n case Fragment:\n return ElementTypeOtherOrUnknown;\n case MemoComponent:\n case SimpleMemoComponent:\n return types_ElementTypeMemo;\n case SuspenseComponent:\n return ElementTypeSuspense;\n case SuspenseListComponent:\n return ElementTypeSuspenseList;\n case TracingMarkerComponent:\n return ElementTypeTracingMarker;\n case ViewTransitionComponent:\n return ElementTypeViewTransition;\n default:\n const typeSymbol = getTypeSymbol(type);\n switch (typeSymbol) {\n case CONCURRENT_MODE_NUMBER:\n case CONCURRENT_MODE_SYMBOL_STRING:\n case DEPRECATED_ASYNC_MODE_SYMBOL_STRING:\n return ElementTypeOtherOrUnknown;\n case PROVIDER_NUMBER:\n case PROVIDER_SYMBOL_STRING:\n return ElementTypeContext;\n case CONTEXT_NUMBER:\n case CONTEXT_SYMBOL_STRING:\n return ElementTypeContext;\n case STRICT_MODE_NUMBER:\n case STRICT_MODE_SYMBOL_STRING:\n return ElementTypeOtherOrUnknown;\n case PROFILER_NUMBER:\n case PROFILER_SYMBOL_STRING:\n return ElementTypeProfiler;\n default:\n return ElementTypeOtherOrUnknown;\n }\n }\n }\n let currentRoot = null;\n function untrackFiber(nearestInstance, fiber) {\n if (forceErrorForFibers.size > 0) {\n forceErrorForFibers.delete(fiber);\n if (fiber.alternate) {\n forceErrorForFibers.delete(fiber.alternate);\n }\n if (forceErrorForFibers.size === 0 && setErrorHandler != null) {\n setErrorHandler(shouldErrorFiberAlwaysNull);\n }\n }\n if (forceFallbackForFibers.size > 0) {\n forceFallbackForFibers.delete(fiber);\n if (fiber.alternate) {\n forceFallbackForFibers.delete(fiber.alternate);\n }\n if (forceFallbackForFibers.size === 0 && setSuspenseHandler != null) {\n setSuspenseHandler(shouldSuspendFiberAlwaysFalse);\n }\n }\n if (fiber.tag === HostHoistable) {\n releaseHostResource(nearestInstance, fiber.memoizedState);\n } else if (fiber.tag === HostComponent || fiber.tag === HostText || fiber.tag === HostSingleton) {\n releaseHostInstance(nearestInstance, fiber.stateNode);\n }\n for (let child = fiber.child; child !== null; child = child.sibling) {\n if (shouldFilterFiber(child)) {\n untrackFiber(nearestInstance, child);\n }\n }\n }\n function getChangeDescription(prevFiber, nextFiber) {\n switch (nextFiber.tag) {\n case ClassComponent:\n if (prevFiber === null) {\n return {\n context: null,\n didHooksChange: false,\n isFirstMount: true,\n props: null,\n state: null\n };\n } else {\n const data = {\n context: getContextChanged(prevFiber, nextFiber),\n didHooksChange: false,\n isFirstMount: false,\n props: getChangedKeys(prevFiber.memoizedProps, nextFiber.memoizedProps),\n state: getChangedKeys(prevFiber.memoizedState, nextFiber.memoizedState)\n };\n return data;\n }\n case IncompleteFunctionComponent:\n case FunctionComponent:\n case IndeterminateComponent:\n case ForwardRef:\n case MemoComponent:\n case SimpleMemoComponent:\n if (prevFiber === null) {\n return {\n context: null,\n didHooksChange: false,\n isFirstMount: true,\n props: null,\n state: null\n };\n } else {\n const indices = getChangedHooksIndices(prevFiber.memoizedState, nextFiber.memoizedState);\n const data = {\n context: getContextChanged(prevFiber, nextFiber),\n didHooksChange: indices !== null && indices.length > 0,\n isFirstMount: false,\n props: getChangedKeys(prevFiber.memoizedProps, nextFiber.memoizedProps),\n state: null,\n hooks: indices\n };\n return data;\n }\n default:\n return null;\n }\n }\n function getContextChanged(prevFiber, nextFiber) {\n let prevContext = prevFiber.dependencies && prevFiber.dependencies.firstContext;\n let nextContext = nextFiber.dependencies && nextFiber.dependencies.firstContext;\n while (prevContext && nextContext) {\n if (prevContext.context !== nextContext.context) {\n return false;\n }\n if (!shared_objectIs(prevContext.memoizedValue, nextContext.memoizedValue)) {\n return true;\n }\n prevContext = prevContext.next;\n nextContext = nextContext.next;\n }\n return false;\n }\n function isHookThatCanScheduleUpdate(hookObject) {\n const queue = hookObject.queue;\n if (!queue) {\n return false;\n }\n const boundHasOwnProperty = shared_hasOwnProperty.bind(queue);\n if (boundHasOwnProperty('pending')) {\n return true;\n }\n return boundHasOwnProperty('value') && boundHasOwnProperty('getSnapshot') && typeof queue.getSnapshot === 'function';\n }\n function didStatefulHookChange(prev, next) {\n const prevMemoizedState = prev.memoizedState;\n const nextMemoizedState = next.memoizedState;\n if (isHookThatCanScheduleUpdate(prev)) {\n return prevMemoizedState !== nextMemoizedState;\n }\n return false;\n }\n function getChangedHooksIndices(prev, next) {\n if (prev == null || next == null) {\n return null;\n }\n const indices = [];\n let index = 0;\n while (next !== null) {\n if (didStatefulHookChange(prev, next)) {\n indices.push(index);\n }\n next = next.next;\n prev = prev.next;\n index++;\n }\n return indices;\n }\n function getChangedKeys(prev, next) {\n if (prev == null || next == null) {\n return null;\n }\n const keys = new Set([...Object.keys(prev), ...Object.keys(next)]);\n const changedKeys = [];\n for (const key of keys) {\n if (prev[key] !== next[key]) {\n changedKeys.push(key);\n }\n }\n return changedKeys;\n }\n function didFiberRender(prevFiber, nextFiber) {\n switch (nextFiber.tag) {\n case ClassComponent:\n case FunctionComponent:\n case ContextConsumer:\n case MemoComponent:\n case SimpleMemoComponent:\n case ForwardRef:\n const PerformedWork = 0b000000000000000000000000001;\n return (getFiberFlags(nextFiber) & PerformedWork) === PerformedWork;\n default:\n return prevFiber.memoizedProps !== nextFiber.memoizedProps || prevFiber.memoizedState !== nextFiber.memoizedState || prevFiber.ref !== nextFiber.ref;\n }\n }\n const pendingOperations = [];\n const pendingRealUnmountedIDs = [];\n const pendingRealUnmountedSuspenseIDs = [];\n const pendingSuspenderChanges = new Set();\n let pendingOperationsQueue = [];\n const pendingStringTable = new Map();\n let pendingStringTableLength = 0;\n let pendingUnmountedRootID = null;\n function pushOperation(op) {\n if (false) {}\n pendingOperations.push(op);\n }\n function shouldBailoutWithPendingOperations() {\n if (isProfiling) {\n if (currentCommitProfilingMetadata != null && currentCommitProfilingMetadata.durations.length > 0) {\n return false;\n }\n }\n return pendingOperations.length === 0 && pendingRealUnmountedIDs.length === 0 && pendingRealUnmountedSuspenseIDs.length === 0 && pendingSuspenderChanges.size === 0 && pendingUnmountedRootID === null;\n }\n function flushOrQueueOperations(operations) {\n if (shouldBailoutWithPendingOperations()) {\n return;\n }\n if (pendingOperationsQueue !== null) {\n pendingOperationsQueue.push(operations);\n } else {\n hook.emit('operations', operations);\n }\n }\n function recordConsoleLogs(instance, componentLogsEntry) {\n if (componentLogsEntry === undefined) {\n if (instance.logCount === 0) {\n return false;\n }\n instance.logCount = 0;\n pushOperation(TREE_OPERATION_UPDATE_ERRORS_OR_WARNINGS);\n pushOperation(instance.id);\n pushOperation(0);\n pushOperation(0);\n return true;\n } else {\n const totalCount = componentLogsEntry.errorsCount + componentLogsEntry.warningsCount;\n if (instance.logCount === totalCount) {\n return false;\n }\n instance.logCount = totalCount;\n pushOperation(TREE_OPERATION_UPDATE_ERRORS_OR_WARNINGS);\n pushOperation(instance.id);\n pushOperation(componentLogsEntry.errorsCount);\n pushOperation(componentLogsEntry.warningsCount);\n return true;\n }\n }\n function flushPendingEvents() {\n if (shouldBailoutWithPendingOperations()) {\n return;\n }\n const numUnmountIDs = pendingRealUnmountedIDs.length + (pendingUnmountedRootID === null ? 0 : 1);\n const numUnmountSuspenseIDs = pendingRealUnmountedSuspenseIDs.length;\n const numSuspenderChanges = pendingSuspenderChanges.size;\n const operations = new Array(2 + 1 + pendingStringTableLength + (numUnmountSuspenseIDs > 0 ? 2 + numUnmountSuspenseIDs : 0) + (numUnmountIDs > 0 ? 2 + numUnmountIDs : 0) + pendingOperations.length + (numSuspenderChanges > 0 ? 2 + numSuspenderChanges * 3 : 0));\n let i = 0;\n operations[i++] = rendererID;\n if (currentRoot === null) {\n operations[i++] = -1;\n } else {\n operations[i++] = currentRoot.id;\n }\n operations[i++] = pendingStringTableLength;\n pendingStringTable.forEach((entry, stringKey) => {\n const encodedString = entry.encodedString;\n const length = encodedString.length;\n operations[i++] = length;\n for (let j = 0; j < length; j++) {\n operations[i + j] = encodedString[j];\n }\n i += length;\n });\n if (numUnmountSuspenseIDs > 0) {\n operations[i++] = SUSPENSE_TREE_OPERATION_REMOVE;\n operations[i++] = numUnmountSuspenseIDs;\n for (let j = 0; j < pendingRealUnmountedSuspenseIDs.length; j++) {\n operations[i++] = pendingRealUnmountedSuspenseIDs[j];\n }\n }\n if (numUnmountIDs > 0) {\n operations[i++] = TREE_OPERATION_REMOVE;\n operations[i++] = numUnmountIDs;\n for (let j = 0; j < pendingRealUnmountedIDs.length; j++) {\n operations[i++] = pendingRealUnmountedIDs[j];\n }\n if (pendingUnmountedRootID !== null) {\n operations[i] = pendingUnmountedRootID;\n i++;\n }\n }\n for (let j = 0; j < pendingOperations.length; j++) {\n operations[i + j] = pendingOperations[j];\n }\n i += pendingOperations.length;\n if (numSuspenderChanges > 0) {\n operations[i++] = SUSPENSE_TREE_OPERATION_SUSPENDERS;\n operations[i++] = numSuspenderChanges;\n pendingSuspenderChanges.forEach(fiberIdWithChanges => {\n const suspense = idToSuspenseNodeMap.get(fiberIdWithChanges);\n if (suspense === undefined) {\n throw new Error(`Could not send suspender changes for \"${fiberIdWithChanges}\" since the Fiber no longer exists.`);\n }\n operations[i++] = fiberIdWithChanges;\n operations[i++] = suspense.hasUniqueSuspenders ? 1 : 0;\n const instance = suspense.instance;\n const isSuspended = (instance.kind === FIBER_INSTANCE || instance.kind === FILTERED_FIBER_INSTANCE) && instance.data.tag === SuspenseComponent && instance.data.memoizedState !== null;\n operations[i++] = isSuspended ? 1 : 0;\n operations[i++] = suspense.environments.size;\n suspense.environments.forEach((count, env) => {\n operations[i++] = getStringID(env);\n });\n });\n }\n flushOrQueueOperations(operations);\n pendingOperations.length = 0;\n pendingRealUnmountedIDs.length = 0;\n pendingRealUnmountedSuspenseIDs.length = 0;\n pendingSuspenderChanges.clear();\n pendingUnmountedRootID = null;\n pendingStringTable.clear();\n pendingStringTableLength = 0;\n }\n function measureHostInstance(instance) {\n if (typeof instance !== 'object' || instance === null) {\n return null;\n }\n if (typeof instance.getClientRects === 'function' || instance.nodeType === 3) {\n const doc = instance.ownerDocument;\n if (instance === doc.documentElement) {\n return [{\n x: 0,\n y: 0,\n width: instance.scrollWidth,\n height: instance.scrollHeight\n }];\n }\n const result = [];\n const win = doc && doc.defaultView;\n const scrollX = win ? win.scrollX : 0;\n const scrollY = win ? win.scrollY : 0;\n let rects;\n if (instance.nodeType === 3) {\n if (typeof doc.createRange !== 'function') {\n return null;\n }\n const range = doc.createRange();\n if (typeof range.getClientRects !== 'function') {\n return null;\n }\n range.selectNodeContents(instance);\n rects = range.getClientRects();\n } else {\n rects = instance.getClientRects();\n }\n for (let i = 0; i < rects.length; i++) {\n const rect = rects[i];\n result.push({\n x: rect.x + scrollX,\n y: rect.y + scrollY,\n width: rect.width,\n height: rect.height\n });\n }\n return result;\n }\n if (instance.canonical) {\n const publicInstance = instance.canonical.publicInstance;\n if (!publicInstance) {\n return null;\n }\n if (typeof publicInstance.getBoundingClientRect === 'function') {\n return [publicInstance.getBoundingClientRect()];\n }\n if (typeof publicInstance.unstable_getBoundingClientRect === 'function') {\n return [publicInstance.unstable_getBoundingClientRect()];\n }\n }\n return null;\n }\n function measureInstance(instance) {\n const hostInstances = findAllCurrentHostInstances(instance);\n let result = null;\n for (let i = 0; i < hostInstances.length; i++) {\n const childResult = measureHostInstance(hostInstances[i]);\n if (childResult !== null) {\n if (result === null) {\n result = childResult;\n } else {\n result = result.concat(childResult);\n }\n }\n }\n return result;\n }\n function getStringID(string) {\n if (string === null) {\n return 0;\n }\n const existingEntry = pendingStringTable.get(string);\n if (existingEntry !== undefined) {\n return existingEntry.id;\n }\n const id = pendingStringTable.size + 1;\n const encodedString = utfEncodeString(string);\n pendingStringTable.set(string, {\n encodedString,\n id\n });\n pendingStringTableLength += encodedString.length + 1;\n return id;\n }\n let isInDisconnectedSubtree = false;\n function recordMount(fiber, parentInstance) {\n const isRoot = fiber.tag === HostRoot;\n let fiberInstance;\n if (isRoot) {\n const entry = rootToFiberInstanceMap.get(fiber.stateNode);\n if (entry === undefined) {\n throw new Error('The root should have been registered at this point');\n }\n fiberInstance = entry;\n } else {\n fiberInstance = createFiberInstance(fiber);\n }\n idToDevToolsInstanceMap.set(fiberInstance.id, fiberInstance);\n if (__DEBUG__) {\n debug('recordMount()', fiberInstance, parentInstance);\n }\n recordReconnect(fiberInstance, parentInstance);\n return fiberInstance;\n }\n function recordReconnect(fiberInstance, parentInstance) {\n if (isInDisconnectedSubtree) {\n return;\n }\n const id = fiberInstance.id;\n const fiber = fiberInstance.data;\n const isProfilingSupported = fiber.hasOwnProperty('treeBaseDuration');\n const isRoot = fiber.tag === HostRoot;\n if (isRoot) {\n const hasOwnerMetadata = fiber.hasOwnProperty('_debugOwner');\n let profilingFlags = 0;\n if (isProfilingSupported) {\n profilingFlags = PROFILING_FLAG_BASIC_SUPPORT;\n if (typeof injectProfilingHooks === 'function') {\n profilingFlags |= PROFILING_FLAG_TIMELINE_SUPPORT;\n }\n if (supportsPerformanceTracks) {\n profilingFlags |= PROFILING_FLAG_PERFORMANCE_TRACKS_SUPPORT;\n }\n }\n const isProductionBuildOfRenderer = renderer.bundleType === 0;\n pushOperation(TREE_OPERATION_ADD);\n pushOperation(id);\n pushOperation(ElementTypeRoot);\n pushOperation((fiber.mode & StrictModeBits) !== 0 ? 1 : 0);\n pushOperation(profilingFlags);\n pushOperation(!isProductionBuildOfRenderer && StrictModeBits !== 0 ? 1 : 0);\n pushOperation(hasOwnerMetadata ? 1 : 0);\n if (isProfiling) {\n if (displayNamesByRootID !== null) {\n displayNamesByRootID.set(id, getDisplayNameForRoot(fiber));\n }\n }\n } else {\n const {\n key\n } = fiber;\n const displayName = getDisplayNameForFiber(fiber);\n const elementType = getElementTypeForFiber(fiber);\n const debugOwner = getUnfilteredOwner(fiber);\n const ownerInstance = findNearestOwnerInstance(parentInstance, debugOwner);\n if (ownerInstance !== null && debugOwner === fiber._debugOwner && fiber._debugStack != null && ownerInstance.source === null) {\n ownerInstance.source = fiber._debugStack;\n }\n let unfilteredParent = parentInstance;\n while (unfilteredParent !== null && unfilteredParent.kind === FILTERED_FIBER_INSTANCE) {\n unfilteredParent = unfilteredParent.parent;\n }\n const ownerID = ownerInstance === null ? 0 : ownerInstance.id;\n const parentID = unfilteredParent === null ? 0 : unfilteredParent.id;\n const displayNameStringID = getStringID(displayName);\n const keyString = key === null ? null : String(key);\n const keyStringID = getStringID(keyString);\n const nameProp = fiber.tag === SuspenseComponent ? fiber.memoizedProps.name : fiber.tag === ActivityComponent ? fiber.memoizedProps.name : null;\n const namePropString = nameProp == null ? null : String(nameProp);\n const namePropStringID = getStringID(namePropString);\n pushOperation(TREE_OPERATION_ADD);\n pushOperation(id);\n pushOperation(elementType);\n pushOperation(parentID);\n pushOperation(ownerID);\n pushOperation(displayNameStringID);\n pushOperation(keyStringID);\n pushOperation(namePropStringID);\n if ((fiber.mode & StrictModeBits) !== 0) {\n let parentFiber = null;\n let parentFiberInstance = parentInstance;\n while (parentFiberInstance !== null) {\n if (parentFiberInstance.kind === FIBER_INSTANCE) {\n parentFiber = parentFiberInstance.data;\n break;\n }\n parentFiberInstance = parentFiberInstance.parent;\n }\n if (parentFiber === null || (parentFiber.mode & StrictModeBits) === 0) {\n pushOperation(TREE_OPERATION_SET_SUBTREE_MODE);\n pushOperation(id);\n pushOperation(StrictMode);\n }\n }\n }\n let componentLogsEntry = fiberToComponentLogsMap.get(fiber);\n if (componentLogsEntry === undefined && fiber.alternate !== null) {\n componentLogsEntry = fiberToComponentLogsMap.get(fiber.alternate);\n }\n recordConsoleLogs(fiberInstance, componentLogsEntry);\n if (isProfilingSupported) {\n recordProfilingDurations(fiberInstance, null);\n }\n }\n function recordVirtualMount(instance, parentInstance, secondaryEnv) {\n const id = instance.id;\n idToDevToolsInstanceMap.set(id, instance);\n recordVirtualReconnect(instance, parentInstance, secondaryEnv);\n }\n function recordVirtualReconnect(instance, parentInstance, secondaryEnv) {\n if (isInDisconnectedSubtree) {\n return;\n }\n const componentInfo = instance.data;\n const key = typeof componentInfo.key === 'string' ? componentInfo.key : null;\n const env = componentInfo.env;\n let displayName = componentInfo.name || '';\n if (typeof env === 'string') {\n if (secondaryEnv !== null) {\n displayName = secondaryEnv + '(' + displayName + ')';\n }\n displayName = env + '(' + displayName + ')';\n }\n const elementType = types_ElementTypeVirtual;\n const debugOwner = getUnfilteredOwner(componentInfo);\n const ownerInstance = findNearestOwnerInstance(parentInstance, debugOwner);\n if (ownerInstance !== null && debugOwner === componentInfo.owner && componentInfo.debugStack != null && ownerInstance.source === null) {\n ownerInstance.source = componentInfo.debugStack;\n }\n let unfilteredParent = parentInstance;\n while (unfilteredParent !== null && unfilteredParent.kind === FILTERED_FIBER_INSTANCE) {\n unfilteredParent = unfilteredParent.parent;\n }\n const ownerID = ownerInstance === null ? 0 : ownerInstance.id;\n const parentID = unfilteredParent === null ? 0 : unfilteredParent.id;\n const displayNameStringID = getStringID(displayName);\n const keyString = key === null ? null : String(key);\n const keyStringID = getStringID(keyString);\n const namePropStringID = getStringID(null);\n const id = instance.id;\n pushOperation(TREE_OPERATION_ADD);\n pushOperation(id);\n pushOperation(elementType);\n pushOperation(parentID);\n pushOperation(ownerID);\n pushOperation(displayNameStringID);\n pushOperation(keyStringID);\n pushOperation(namePropStringID);\n const componentLogsEntry = componentInfoToComponentLogsMap.get(componentInfo);\n recordConsoleLogs(instance, componentLogsEntry);\n }\n function recordSuspenseMount(suspenseInstance, parentSuspenseInstance) {\n const fiberInstance = suspenseInstance.instance;\n if (fiberInstance.kind === FILTERED_FIBER_INSTANCE) {\n throw new Error('Cannot record a mount for a filtered Fiber instance.');\n }\n const fiberID = fiberInstance.id;\n let unfilteredParent = parentSuspenseInstance;\n while (unfilteredParent !== null && unfilteredParent.instance.kind === FILTERED_FIBER_INSTANCE) {\n unfilteredParent = unfilteredParent.parent;\n }\n const unfilteredParentInstance = unfilteredParent !== null ? unfilteredParent.instance : null;\n if (unfilteredParentInstance !== null && unfilteredParentInstance.kind === FILTERED_FIBER_INSTANCE) {\n throw new Error('Should not have a filtered instance at this point. This is a bug.');\n }\n const parentID = unfilteredParentInstance === null ? 0 : unfilteredParentInstance.id;\n const fiber = fiberInstance.data;\n const props = fiber.memoizedProps;\n const name = fiber.tag !== SuspenseComponent || props === null ? null : props.name || null;\n const nameStringID = getStringID(name);\n const isSuspended = fiber.tag === SuspenseComponent && fiber.memoizedState !== null;\n if (__DEBUG__) {\n console.log('recordSuspenseMount()', suspenseInstance);\n }\n idToSuspenseNodeMap.set(fiberID, suspenseInstance);\n pushOperation(SUSPENSE_TREE_OPERATION_ADD);\n pushOperation(fiberID);\n pushOperation(parentID);\n pushOperation(nameStringID);\n pushOperation(isSuspended ? 1 : 0);\n const rects = suspenseInstance.rects;\n if (rects === null) {\n pushOperation(-1);\n } else {\n pushOperation(rects.length);\n for (let i = 0; i < rects.length; ++i) {\n const rect = rects[i];\n pushOperation(Math.round(rect.x * 1000));\n pushOperation(Math.round(rect.y * 1000));\n pushOperation(Math.round(rect.width * 1000));\n pushOperation(Math.round(rect.height * 1000));\n }\n }\n }\n function recordUnmount(fiberInstance) {\n if (__DEBUG__) {\n debug('recordUnmount()', fiberInstance, reconcilingParent);\n }\n recordDisconnect(fiberInstance);\n const suspenseNode = fiberInstance.suspenseNode;\n if (suspenseNode !== null) {\n recordSuspenseUnmount(suspenseNode);\n }\n idToDevToolsInstanceMap.delete(fiberInstance.id);\n untrackFiber(fiberInstance, fiberInstance.data);\n }\n function recordDisconnect(fiberInstance) {\n if (isInDisconnectedSubtree) {\n return;\n }\n const fiber = fiberInstance.data;\n if (trackedPathMatchInstance === fiberInstance) {\n setTrackedPath(null);\n }\n const id = fiberInstance.id;\n const isRoot = fiber.tag === HostRoot;\n if (isRoot) {\n pendingUnmountedRootID = id;\n } else {\n pendingRealUnmountedIDs.push(id);\n }\n }\n function recordSuspenseResize(suspenseNode) {\n if (__DEBUG__) {\n console.log('recordSuspenseResize()', suspenseNode);\n }\n const fiberInstance = suspenseNode.instance;\n if (fiberInstance.kind !== FIBER_INSTANCE) {\n return;\n }\n pushOperation(SUSPENSE_TREE_OPERATION_RESIZE);\n pushOperation(fiberInstance.id);\n const rects = suspenseNode.rects;\n if (rects === null) {\n pushOperation(-1);\n } else {\n pushOperation(rects.length);\n for (let i = 0; i < rects.length; ++i) {\n const rect = rects[i];\n pushOperation(Math.round(rect.x * 1000));\n pushOperation(Math.round(rect.y * 1000));\n pushOperation(Math.round(rect.width * 1000));\n pushOperation(Math.round(rect.height * 1000));\n }\n }\n }\n function recordSuspenseSuspenders(suspenseNode) {\n if (__DEBUG__) {\n console.log('recordSuspenseSuspenders()', suspenseNode);\n }\n const fiberInstance = suspenseNode.instance;\n if (fiberInstance.kind !== FIBER_INSTANCE) {\n return;\n }\n suspenseNode.environments.forEach((count, env) => {\n getStringID(env);\n });\n pendingSuspenderChanges.add(fiberInstance.id);\n }\n function recordSuspenseUnmount(suspenseInstance) {\n if (__DEBUG__) {\n console.log('recordSuspenseUnmount()', suspenseInstance, reconcilingParentSuspenseNode);\n }\n const devtoolsInstance = suspenseInstance.instance;\n if (devtoolsInstance.kind !== FIBER_INSTANCE) {\n throw new Error(\"Can't unmount a filtered SuspenseNode. This is a bug.\");\n }\n const fiberInstance = devtoolsInstance;\n const id = fiberInstance.id;\n pendingRealUnmountedSuspenseIDs.push(id);\n pendingSuspenderChanges.delete(id);\n idToSuspenseNodeMap.delete(id);\n }\n let remainingReconcilingChildren = null;\n let previouslyReconciledSibling = null;\n let reconcilingParent = null;\n let remainingReconcilingChildrenSuspenseNodes = null;\n let previouslyReconciledSiblingSuspenseNode = null;\n let reconcilingParentSuspenseNode = null;\n function ioExistsInSuspenseAncestor(suspenseNode, ioInfo) {\n let ancestor = suspenseNode.parent;\n while (ancestor !== null) {\n if (ancestor.suspendedBy.has(ioInfo)) {\n return true;\n }\n ancestor = ancestor.parent;\n }\n return false;\n }\n function insertSuspendedBy(asyncInfo) {\n if (reconcilingParent === null || reconcilingParentSuspenseNode === null) {\n throw new Error('It should not be possible to have suspended data outside the root. ' + 'Even suspending at the first position is still a child of the root.');\n }\n const parentSuspenseNode = reconcilingParentSuspenseNode;\n let parentInstance = reconcilingParent;\n while (parentInstance.kind === FILTERED_FIBER_INSTANCE && parentInstance.parent !== null && parentInstance !== parentSuspenseNode.instance) {\n parentInstance = parentInstance.parent;\n }\n const suspenseNodeSuspendedBy = parentSuspenseNode.suspendedBy;\n const ioInfo = asyncInfo.awaited;\n let suspendedBySet = suspenseNodeSuspendedBy.get(ioInfo);\n if (suspendedBySet === undefined) {\n suspendedBySet = new Set();\n suspenseNodeSuspendedBy.set(ioInfo, suspendedBySet);\n const env = ioInfo.env;\n if (env != null) {\n const environmentCounts = parentSuspenseNode.environments;\n const count = environmentCounts.get(env);\n if (count === undefined || count === 0) {\n environmentCounts.set(env, 1);\n recordSuspenseSuspenders(parentSuspenseNode);\n } else {\n environmentCounts.set(env, count + 1);\n }\n }\n }\n if (!suspendedBySet.has(parentInstance)) {\n suspendedBySet.add(parentInstance);\n if (!parentSuspenseNode.hasUniqueSuspenders && !ioExistsInSuspenseAncestor(parentSuspenseNode, ioInfo)) {\n parentSuspenseNode.hasUniqueSuspenders = true;\n recordSuspenseSuspenders(parentSuspenseNode);\n }\n }\n parentSuspenseNode.hasUnknownSuspenders = false;\n const suspendedBy = parentInstance.suspendedBy;\n if (suspendedBy === null) {\n parentInstance.suspendedBy = [asyncInfo];\n } else if (suspendedBy.indexOf(asyncInfo) === -1) {\n suspendedBy.push(asyncInfo);\n }\n }\n function getAwaitInSuspendedByFromIO(suspensedBy, ioInfo) {\n for (let i = 0; i < suspensedBy.length; i++) {\n const asyncInfo = suspensedBy[i];\n if (asyncInfo.awaited === ioInfo) {\n return asyncInfo;\n }\n }\n return null;\n }\n function unblockSuspendedBy(parentSuspenseNode, ioInfo) {\n const firstChild = parentSuspenseNode.firstChild;\n if (firstChild === null) {\n return;\n }\n let node = firstChild;\n while (node !== null) {\n if (node.suspendedBy.has(ioInfo)) {\n if (!node.hasUniqueSuspenders) {\n recordSuspenseSuspenders(node);\n }\n node.hasUniqueSuspenders = true;\n node.hasUnknownSuspenders = false;\n } else if (node.firstChild !== null) {\n node = node.firstChild;\n continue;\n }\n while (node.nextSibling === null) {\n if (node.parent === null || node.parent === parentSuspenseNode) {\n return;\n }\n node = node.parent;\n }\n node = node.nextSibling;\n }\n }\n function removePreviousSuspendedBy(instance, previousSuspendedBy, parentSuspenseNode) {\n const suspenseNode = instance.suspenseNode === null ? parentSuspenseNode : instance.suspenseNode;\n if (previousSuspendedBy !== null && suspenseNode !== null) {\n const nextSuspendedBy = instance.suspendedBy;\n let changedEnvironment = false;\n for (let i = 0; i < previousSuspendedBy.length; i++) {\n const asyncInfo = previousSuspendedBy[i];\n if (nextSuspendedBy === null || nextSuspendedBy.indexOf(asyncInfo) === -1 && getAwaitInSuspendedByFromIO(nextSuspendedBy, asyncInfo.awaited) === null) {\n const ioInfo = asyncInfo.awaited;\n const suspendedBySet = suspenseNode.suspendedBy.get(ioInfo);\n if (suspendedBySet === undefined || !suspendedBySet.delete(instance)) {\n let alreadyRemovedIO = false;\n for (let j = 0; j < i; j++) {\n const removedIOInfo = previousSuspendedBy[j].awaited;\n if (removedIOInfo === ioInfo) {\n alreadyRemovedIO = true;\n break;\n }\n }\n if (!alreadyRemovedIO) {\n throw new Error('We are cleaning up async info that was not on the parent Suspense boundary. ' + 'This is a bug in React.');\n }\n }\n if (suspendedBySet !== undefined && suspendedBySet.size === 0) {\n suspenseNode.suspendedBy.delete(ioInfo);\n const env = ioInfo.env;\n if (env != null) {\n const environmentCounts = suspenseNode.environments;\n const count = environmentCounts.get(env);\n if (count === undefined || count === 0) {\n throw new Error('We are removing an environment but it was not in the set. ' + 'This is a bug in React.');\n }\n if (count === 1) {\n environmentCounts.delete(env);\n changedEnvironment = true;\n } else {\n environmentCounts.set(env, count - 1);\n }\n }\n }\n if (suspenseNode.hasUniqueSuspenders && !ioExistsInSuspenseAncestor(suspenseNode, ioInfo)) {\n unblockSuspendedBy(suspenseNode, ioInfo);\n }\n }\n }\n if (changedEnvironment) {\n recordSuspenseSuspenders(suspenseNode);\n }\n }\n }\n function insertChild(instance) {\n const parentInstance = reconcilingParent;\n if (parentInstance === null) {\n return;\n }\n instance.parent = parentInstance;\n if (previouslyReconciledSibling === null) {\n previouslyReconciledSibling = instance;\n parentInstance.firstChild = instance;\n } else {\n previouslyReconciledSibling.nextSibling = instance;\n previouslyReconciledSibling = instance;\n }\n instance.nextSibling = null;\n const suspenseNode = instance.suspenseNode;\n if (suspenseNode !== null) {\n const parentNode = reconcilingParentSuspenseNode;\n if (parentNode !== null) {\n suspenseNode.parent = parentNode;\n if (previouslyReconciledSiblingSuspenseNode === null) {\n previouslyReconciledSiblingSuspenseNode = suspenseNode;\n parentNode.firstChild = suspenseNode;\n } else {\n previouslyReconciledSiblingSuspenseNode.nextSibling = suspenseNode;\n previouslyReconciledSiblingSuspenseNode = suspenseNode;\n }\n suspenseNode.nextSibling = null;\n }\n }\n }\n function moveChild(instance, previousSibling) {\n removeChild(instance, previousSibling);\n insertChild(instance);\n }\n function removeChild(instance, previousSibling) {\n if (instance.parent === null) {\n if (remainingReconcilingChildren === instance) {\n throw new Error('Remaining children should not have items with no parent');\n } else if (instance.nextSibling !== null) {\n throw new Error('A deleted instance should not have next siblings');\n }\n return;\n }\n const parentInstance = reconcilingParent;\n if (parentInstance === null) {\n throw new Error('Should not have a parent if we are at the root');\n }\n if (instance.parent !== parentInstance) {\n throw new Error('Cannot remove a node from a different parent than is being reconciled.');\n }\n if (previousSibling === null) {\n if (remainingReconcilingChildren !== instance) {\n throw new Error('Expected a placed child to be moved from the remaining set.');\n }\n remainingReconcilingChildren = instance.nextSibling;\n } else {\n previousSibling.nextSibling = instance.nextSibling;\n }\n instance.nextSibling = null;\n instance.parent = null;\n const suspenseNode = instance.suspenseNode;\n if (suspenseNode !== null && suspenseNode.parent !== null) {\n const parentNode = reconcilingParentSuspenseNode;\n if (parentNode === null) {\n throw new Error('Should not have a parent if we are at the root');\n }\n if (suspenseNode.parent !== parentNode) {\n throw new Error('Cannot remove a Suspense node from a different parent than is being reconciled.');\n }\n let previousSuspenseSibling = remainingReconcilingChildrenSuspenseNodes;\n if (previousSuspenseSibling === suspenseNode) {\n remainingReconcilingChildrenSuspenseNodes = suspenseNode.nextSibling;\n } else {\n while (previousSuspenseSibling !== null) {\n if (previousSuspenseSibling.nextSibling === suspenseNode) {\n previousSuspenseSibling.nextSibling = suspenseNode.nextSibling;\n break;\n }\n previousSuspenseSibling = previousSuspenseSibling.nextSibling;\n }\n }\n suspenseNode.nextSibling = null;\n suspenseNode.parent = null;\n }\n }\n function isHiddenOffscreen(fiber) {\n switch (fiber.tag) {\n case LegacyHiddenComponent:\n case OffscreenComponent:\n return fiber.memoizedState !== null;\n default:\n return false;\n }\n }\n function isSuspendedOffscreen(fiber) {\n switch (fiber.tag) {\n case LegacyHiddenComponent:\n case OffscreenComponent:\n return fiber.memoizedState !== null && fiber.return !== null && fiber.return.tag === SuspenseComponent;\n default:\n return false;\n }\n }\n function unmountRemainingChildren() {\n if (reconcilingParent !== null && (reconcilingParent.kind === FIBER_INSTANCE || reconcilingParent.kind === FILTERED_FIBER_INSTANCE) && isSuspendedOffscreen(reconcilingParent.data) && !isInDisconnectedSubtree) {\n isInDisconnectedSubtree = true;\n try {\n let child = remainingReconcilingChildren;\n while (child !== null) {\n unmountInstanceRecursively(child);\n child = remainingReconcilingChildren;\n }\n } finally {\n isInDisconnectedSubtree = false;\n }\n } else {\n let child = remainingReconcilingChildren;\n while (child !== null) {\n unmountInstanceRecursively(child);\n child = remainingReconcilingChildren;\n }\n }\n }\n function unmountSuspenseChildrenRecursively(contentInstance, stashedSuspenseParent, stashedSuspensePrevious, stashedSuspenseRemaining) {\n unmountInstanceRecursively(contentInstance);\n reconcilingParentSuspenseNode = stashedSuspenseParent;\n previouslyReconciledSiblingSuspenseNode = stashedSuspensePrevious;\n remainingReconcilingChildrenSuspenseNodes = stashedSuspenseRemaining;\n unmountRemainingChildren();\n }\n function isChildOf(parentInstance, childInstance, grandParent) {\n let instance = childInstance.parent;\n while (instance !== null) {\n if (parentInstance === instance) {\n return true;\n }\n if (instance === parentInstance.parent || instance === grandParent) {\n break;\n }\n instance = instance.parent;\n }\n return false;\n }\n function areEqualRects(a, b) {\n if (a === null) {\n return b === null;\n }\n if (b === null) {\n return false;\n }\n if (a.length !== b.length) {\n return false;\n }\n for (let i = 0; i < a.length; i++) {\n const aRect = a[i];\n const bRect = b[i];\n if (aRect.x !== bRect.x || aRect.y !== bRect.y || aRect.width !== bRect.width || aRect.height !== bRect.height) {\n return false;\n }\n }\n return true;\n }\n function measureUnchangedSuspenseNodesRecursively(suspenseNode) {\n if (isInDisconnectedSubtree) {\n return;\n }\n const instance = suspenseNode.instance;\n const isSuspendedSuspenseComponent = (instance.kind === FIBER_INSTANCE || instance.kind === FILTERED_FIBER_INSTANCE) && instance.data.tag === SuspenseComponent && instance.data.memoizedState !== null;\n if (isSuspendedSuspenseComponent) {\n return;\n }\n let parent = instance.parent;\n while (parent !== null) {\n if ((parent.kind === FIBER_INSTANCE || parent.kind === FILTERED_FIBER_INSTANCE) && isHiddenOffscreen(parent.data)) {\n return;\n }\n if (parent.suspenseNode !== null) {\n break;\n }\n parent = parent.parent;\n }\n const nextRects = measureInstance(suspenseNode.instance);\n const prevRects = suspenseNode.rects;\n if (areEqualRects(prevRects, nextRects)) {\n return;\n }\n for (let child = suspenseNode.firstChild; child !== null; child = child.nextSibling) {\n measureUnchangedSuspenseNodesRecursively(child);\n }\n suspenseNode.rects = nextRects;\n recordSuspenseResize(suspenseNode);\n }\n function consumeSuspenseNodesOfExistingInstance(instance) {\n let suspenseNode = remainingReconcilingChildrenSuspenseNodes;\n if (suspenseNode === null) {\n return;\n }\n const parentSuspenseNode = reconcilingParentSuspenseNode;\n if (parentSuspenseNode === null) {\n throw new Error('The should not be any remaining suspense node children if there is no parent.');\n }\n let foundOne = false;\n let previousSkippedSibling = null;\n while (suspenseNode !== null) {\n if (isChildOf(instance, suspenseNode.instance, parentSuspenseNode.instance)) {\n foundOne = true;\n const nextRemainingSibling = suspenseNode.nextSibling;\n if (previousSkippedSibling === null) {\n remainingReconcilingChildrenSuspenseNodes = nextRemainingSibling;\n } else {\n previousSkippedSibling.nextSibling = nextRemainingSibling;\n }\n suspenseNode.nextSibling = null;\n if (previouslyReconciledSiblingSuspenseNode === null) {\n parentSuspenseNode.firstChild = suspenseNode;\n } else {\n previouslyReconciledSiblingSuspenseNode.nextSibling = suspenseNode;\n }\n previouslyReconciledSiblingSuspenseNode = suspenseNode;\n measureUnchangedSuspenseNodesRecursively(suspenseNode);\n suspenseNode = nextRemainingSibling;\n } else if (foundOne) {\n break;\n } else {\n previousSkippedSibling = suspenseNode;\n suspenseNode = suspenseNode.nextSibling;\n }\n }\n }\n function mountVirtualInstanceRecursively(virtualInstance, firstChild, lastChild, traceNearestHostComponentUpdate, virtualLevel) {\n const mightSiblingsBeOnTrackedPath = updateVirtualTrackedPathStateBeforeMount(virtualInstance, reconcilingParent);\n const stashedParent = reconcilingParent;\n const stashedPrevious = previouslyReconciledSibling;\n const stashedRemaining = remainingReconcilingChildren;\n reconcilingParent = virtualInstance;\n previouslyReconciledSibling = null;\n remainingReconcilingChildren = null;\n try {\n mountVirtualChildrenRecursively(firstChild, lastChild, traceNearestHostComponentUpdate, virtualLevel + 1);\n recordVirtualProfilingDurations(virtualInstance);\n } finally {\n reconcilingParent = stashedParent;\n previouslyReconciledSibling = stashedPrevious;\n remainingReconcilingChildren = stashedRemaining;\n updateTrackedPathStateAfterMount(mightSiblingsBeOnTrackedPath);\n }\n }\n function recordVirtualUnmount(instance) {\n recordVirtualDisconnect(instance);\n idToDevToolsInstanceMap.delete(instance.id);\n }\n function recordVirtualDisconnect(instance) {\n if (isInDisconnectedSubtree) {\n return;\n }\n if (trackedPathMatchInstance === instance) {\n setTrackedPath(null);\n }\n const id = instance.id;\n pendingRealUnmountedIDs.push(id);\n }\n function getSecondaryEnvironmentName(debugInfo, index) {\n if (debugInfo != null) {\n const componentInfo = debugInfo[index];\n for (let i = index + 1; i < debugInfo.length; i++) {\n const debugEntry = debugInfo[i];\n if (typeof debugEntry.env === 'string') {\n return componentInfo.env !== debugEntry.env ? debugEntry.env : null;\n }\n }\n }\n return null;\n }\n function trackDebugInfoFromLazyType(fiber) {\n const type = fiber.elementType;\n const typeSymbol = getTypeSymbol(type);\n if (typeSymbol === LAZY_SYMBOL_STRING) {\n const debugInfo = type._debugInfo;\n if (debugInfo) {\n for (let i = 0; i < debugInfo.length; i++) {\n const debugEntry = debugInfo[i];\n if (debugEntry.awaited) {\n const asyncInfo = debugEntry;\n insertSuspendedBy(asyncInfo);\n }\n }\n }\n }\n }\n function trackDebugInfoFromUsedThenables(fiber) {\n const dependencies = fiber.dependencies;\n if (dependencies == null) {\n return;\n }\n const thenableState = dependencies._debugThenableState;\n if (thenableState == null) {\n return;\n }\n const usedThenables = thenableState.thenables || thenableState;\n if (!Array.isArray(usedThenables)) {\n return;\n }\n for (let i = 0; i < usedThenables.length; i++) {\n const thenable = usedThenables[i];\n const debugInfo = thenable._debugInfo;\n if (debugInfo) {\n for (let j = 0; j < debugInfo.length; j++) {\n const debugEntry = debugInfo[j];\n if (debugEntry.awaited) {\n const asyncInfo = debugEntry;\n insertSuspendedBy(asyncInfo);\n }\n }\n }\n }\n }\n const hostAsyncInfoCache = new WeakMap();\n function trackDebugInfoFromHostResource(devtoolsInstance, fiber) {\n const resource = fiber.memoizedState;\n if (resource == null) {\n return;\n }\n const existingEntry = hostAsyncInfoCache.get(resource);\n if (existingEntry !== undefined) {\n insertSuspendedBy(existingEntry);\n return;\n }\n const props = fiber.memoizedProps;\n const mayResourceSuspendCommit = resource.type === 'stylesheet' && (typeof props.media !== 'string' || typeof matchMedia !== 'function' || matchMedia(props.media));\n if (!mayResourceSuspendCommit) {\n return;\n }\n const instance = resource.instance;\n if (instance == null) {\n return;\n }\n const href = instance.href;\n if (typeof href !== 'string') {\n return;\n }\n let start = -1;\n let end = -1;\n let byteSize = 0;\n if (typeof performance.getEntriesByType === 'function') {\n const resourceEntries = performance.getEntriesByType('resource');\n for (let i = 0; i < resourceEntries.length; i++) {\n const resourceEntry = resourceEntries[i];\n if (resourceEntry.name === href) {\n start = resourceEntry.startTime;\n end = start + resourceEntry.duration;\n byteSize = resourceEntry.transferSize || 0;\n }\n }\n }\n const value = instance.sheet;\n const promise = Promise.resolve(value);\n promise.status = 'fulfilled';\n promise.value = value;\n const ioInfo = {\n name: 'stylesheet',\n start,\n end,\n value: promise,\n owner: fiber\n };\n if (byteSize > 0) {\n ioInfo.byteSize = byteSize;\n }\n const asyncInfo = {\n awaited: ioInfo,\n owner: fiber._debugOwner == null ? null : fiber._debugOwner,\n debugStack: fiber._debugStack == null ? null : fiber._debugStack,\n debugTask: fiber._debugTask == null ? null : fiber._debugTask\n };\n hostAsyncInfoCache.set(resource, asyncInfo);\n insertSuspendedBy(asyncInfo);\n }\n function trackDebugInfoFromHostComponent(devtoolsInstance, fiber) {\n if (fiber.tag !== HostComponent) {\n return;\n }\n if ((fiber.mode & SuspenseyImagesMode) === 0) {\n return;\n }\n const type = fiber.type;\n const props = fiber.memoizedProps;\n const maySuspendCommit = type === 'img' && props.src != null && props.src !== '' && props.onLoad == null && props.loading !== 'lazy';\n if (!maySuspendCommit) {\n return;\n }\n const instance = fiber.stateNode;\n if (instance == null) {\n return;\n }\n const src = instance.currentSrc;\n if (typeof src !== 'string' || src === '') {\n return;\n }\n let start = -1;\n let end = -1;\n let byteSize = 0;\n let fileSize = 0;\n if (typeof performance.getEntriesByType === 'function') {\n const resourceEntries = performance.getEntriesByType('resource');\n for (let i = 0; i < resourceEntries.length; i++) {\n const resourceEntry = resourceEntries[i];\n if (resourceEntry.name === src) {\n start = resourceEntry.startTime;\n end = start + resourceEntry.duration;\n fileSize = resourceEntry.decodedBodySize || 0;\n byteSize = resourceEntry.transferSize || 0;\n }\n }\n }\n const value = {\n currentSrc: src\n };\n if (instance.naturalWidth > 0 && instance.naturalHeight > 0) {\n value.naturalWidth = instance.naturalWidth;\n value.naturalHeight = instance.naturalHeight;\n }\n if (fileSize > 0) {\n value.fileSize = fileSize;\n }\n const promise = Promise.resolve(value);\n promise.status = 'fulfilled';\n promise.value = value;\n const ioInfo = {\n name: 'img',\n start,\n end,\n value: promise,\n owner: fiber\n };\n if (byteSize > 0) {\n ioInfo.byteSize = byteSize;\n }\n const asyncInfo = {\n awaited: ioInfo,\n owner: fiber._debugOwner == null ? null : fiber._debugOwner,\n debugStack: fiber._debugStack == null ? null : fiber._debugStack,\n debugTask: fiber._debugTask == null ? null : fiber._debugTask\n };\n insertSuspendedBy(asyncInfo);\n }\n function trackThrownPromisesFromRetryCache(suspenseNode, retryCache) {\n if (retryCache != null) {\n if (!suspenseNode.hasUniqueSuspenders) {\n recordSuspenseSuspenders(suspenseNode);\n }\n suspenseNode.hasUniqueSuspenders = true;\n suspenseNode.hasUnknownSuspenders = true;\n }\n }\n function mountVirtualChildrenRecursively(firstChild, lastChild, traceNearestHostComponentUpdate, virtualLevel) {\n let fiber = firstChild;\n let previousVirtualInstance = null;\n let previousVirtualInstanceFirstFiber = firstChild;\n while (fiber !== null && fiber !== lastChild) {\n let level = 0;\n if (fiber._debugInfo) {\n for (let i = 0; i < fiber._debugInfo.length; i++) {\n const debugEntry = fiber._debugInfo[i];\n if (debugEntry.awaited) {\n const asyncInfo = debugEntry;\n if (level === virtualLevel) {\n insertSuspendedBy(asyncInfo);\n }\n continue;\n }\n if (typeof debugEntry.name !== 'string') {\n continue;\n }\n const componentInfo = debugEntry;\n const secondaryEnv = getSecondaryEnvironmentName(fiber._debugInfo, i);\n if (componentInfo.env != null) {\n knownEnvironmentNames.add(componentInfo.env);\n }\n if (secondaryEnv !== null) {\n knownEnvironmentNames.add(secondaryEnv);\n }\n if (shouldFilterVirtual(componentInfo, secondaryEnv)) {\n continue;\n }\n if (level === virtualLevel) {\n if (previousVirtualInstance === null || previousVirtualInstance.data !== debugEntry) {\n if (previousVirtualInstance !== null) {\n mountVirtualInstanceRecursively(previousVirtualInstance, previousVirtualInstanceFirstFiber, fiber, traceNearestHostComponentUpdate, virtualLevel);\n }\n previousVirtualInstance = createVirtualInstance(componentInfo);\n recordVirtualMount(previousVirtualInstance, reconcilingParent, secondaryEnv);\n insertChild(previousVirtualInstance);\n previousVirtualInstanceFirstFiber = fiber;\n }\n level++;\n break;\n } else {\n level++;\n }\n }\n }\n if (level === virtualLevel) {\n if (previousVirtualInstance !== null) {\n mountVirtualInstanceRecursively(previousVirtualInstance, previousVirtualInstanceFirstFiber, fiber, traceNearestHostComponentUpdate, virtualLevel);\n previousVirtualInstance = null;\n }\n mountFiberRecursively(fiber, traceNearestHostComponentUpdate);\n }\n fiber = fiber.sibling;\n }\n if (previousVirtualInstance !== null) {\n mountVirtualInstanceRecursively(previousVirtualInstance, previousVirtualInstanceFirstFiber, null, traceNearestHostComponentUpdate, virtualLevel);\n }\n }\n function mountChildrenRecursively(firstChild, traceNearestHostComponentUpdate) {\n mountVirtualChildrenRecursively(firstChild, null, traceNearestHostComponentUpdate, 0);\n }\n function mountSuspenseChildrenRecursively(contentFiber, traceNearestHostComponentUpdate, stashedSuspenseParent, stashedSuspensePrevious, stashedSuspenseRemaining) {\n const fallbackFiber = contentFiber.sibling;\n mountVirtualChildrenRecursively(contentFiber, fallbackFiber, traceNearestHostComponentUpdate, 0);\n reconcilingParentSuspenseNode = stashedSuspenseParent;\n previouslyReconciledSiblingSuspenseNode = stashedSuspensePrevious;\n remainingReconcilingChildrenSuspenseNodes = stashedSuspenseRemaining;\n if (fallbackFiber !== null) {\n mountVirtualChildrenRecursively(fallbackFiber, null, traceNearestHostComponentUpdate, 0);\n }\n }\n function mountFiberRecursively(fiber, traceNearestHostComponentUpdate) {\n const shouldIncludeInTree = !shouldFilterFiber(fiber);\n let newInstance = null;\n let newSuspenseNode = null;\n if (shouldIncludeInTree) {\n newInstance = recordMount(fiber, reconcilingParent);\n if (fiber.tag === SuspenseComponent || fiber.tag === HostRoot) {\n newSuspenseNode = createSuspenseNode(newInstance);\n if (fiber.tag === SuspenseComponent) {\n if (OffscreenComponent === -1) {\n const isTimedOut = fiber.memoizedState !== null;\n if (!isTimedOut) {\n newSuspenseNode.rects = measureInstance(newInstance);\n }\n } else {\n const hydrated = isFiberHydrated(fiber);\n if (hydrated) {\n const contentFiber = fiber.child;\n if (contentFiber === null) {\n throw new Error('There should always be an Offscreen Fiber child in a hydrated Suspense boundary.');\n }\n } else {}\n const isTimedOut = fiber.memoizedState !== null;\n if (!isTimedOut) {\n newSuspenseNode.rects = measureInstance(newInstance);\n }\n }\n } else {\n newSuspenseNode.rects = measureInstance(newInstance);\n }\n recordSuspenseMount(newSuspenseNode, reconcilingParentSuspenseNode);\n }\n insertChild(newInstance);\n if (__DEBUG__) {\n debug('mountFiberRecursively()', newInstance, reconcilingParent);\n }\n } else if (reconcilingParent !== null && reconcilingParent.kind === VIRTUAL_INSTANCE || fiber.tag === SuspenseComponent || fiber.tag === OffscreenComponent || fiber.tag === LegacyHiddenComponent) {\n if (reconcilingParent !== null && reconcilingParent.kind === VIRTUAL_INSTANCE && reconcilingParent.data === fiber._debugOwner && fiber._debugStack != null && reconcilingParent.source === null) {\n reconcilingParent.source = fiber._debugStack;\n }\n newInstance = createFilteredFiberInstance(fiber);\n if (fiber.tag === SuspenseComponent) {\n newSuspenseNode = createSuspenseNode(newInstance);\n if (OffscreenComponent === -1) {\n const isTimedOut = fiber.memoizedState !== null;\n if (!isTimedOut) {\n newSuspenseNode.rects = measureInstance(newInstance);\n }\n } else {\n const hydrated = isFiberHydrated(fiber);\n if (hydrated) {\n const contentFiber = fiber.child;\n if (contentFiber === null) {\n throw new Error('There should always be an Offscreen Fiber child in a hydrated Suspense boundary.');\n }\n } else {}\n const suspenseState = fiber.memoizedState;\n const isTimedOut = suspenseState !== null;\n if (!isTimedOut) {\n newSuspenseNode.rects = measureInstance(newInstance);\n }\n }\n }\n insertChild(newInstance);\n if (__DEBUG__) {\n debug('mountFiberRecursively()', newInstance, reconcilingParent);\n }\n }\n const mightSiblingsBeOnTrackedPath = updateTrackedPathStateBeforeMount(fiber, newInstance);\n const stashedParent = reconcilingParent;\n const stashedPrevious = previouslyReconciledSibling;\n const stashedRemaining = remainingReconcilingChildren;\n const stashedSuspenseParent = reconcilingParentSuspenseNode;\n const stashedSuspensePrevious = previouslyReconciledSiblingSuspenseNode;\n const stashedSuspenseRemaining = remainingReconcilingChildrenSuspenseNodes;\n if (newInstance !== null) {\n reconcilingParent = newInstance;\n previouslyReconciledSibling = null;\n remainingReconcilingChildren = null;\n }\n let shouldPopSuspenseNode = false;\n if (newSuspenseNode !== null) {\n reconcilingParentSuspenseNode = newSuspenseNode;\n previouslyReconciledSiblingSuspenseNode = null;\n remainingReconcilingChildrenSuspenseNodes = null;\n shouldPopSuspenseNode = true;\n }\n try {\n if (traceUpdatesEnabled) {\n if (traceNearestHostComponentUpdate) {\n const elementType = getElementTypeForFiber(fiber);\n if (elementType === ElementTypeHostComponent) {\n traceUpdatesForNodes.add(fiber.stateNode);\n traceNearestHostComponentUpdate = false;\n }\n }\n }\n trackDebugInfoFromLazyType(fiber);\n trackDebugInfoFromUsedThenables(fiber);\n if (fiber.tag === HostHoistable) {\n const nearestInstance = reconcilingParent;\n if (nearestInstance === null) {\n throw new Error('Did not expect a host hoistable to be the root');\n }\n aquireHostResource(nearestInstance, fiber.memoizedState);\n trackDebugInfoFromHostResource(nearestInstance, fiber);\n } else if (fiber.tag === HostComponent || fiber.tag === HostText || fiber.tag === HostSingleton) {\n const nearestInstance = reconcilingParent;\n if (nearestInstance === null) {\n throw new Error('Did not expect a host hoistable to be the root');\n }\n aquireHostInstance(nearestInstance, fiber.stateNode);\n trackDebugInfoFromHostComponent(nearestInstance, fiber);\n }\n if (isSuspendedOffscreen(fiber)) {\n const stashedDisconnected = isInDisconnectedSubtree;\n isInDisconnectedSubtree = true;\n try {\n if (fiber.child !== null) {\n mountChildrenRecursively(fiber.child, false);\n }\n } finally {\n isInDisconnectedSubtree = stashedDisconnected;\n }\n } else if (isHiddenOffscreen(fiber)) {} else if (fiber.tag === SuspenseComponent && OffscreenComponent === -1) {\n if (newSuspenseNode !== null) {\n trackThrownPromisesFromRetryCache(newSuspenseNode, fiber.stateNode);\n }\n const isTimedOut = fiber.memoizedState !== null;\n if (isTimedOut) {\n const primaryChildFragment = fiber.child;\n const fallbackChildFragment = primaryChildFragment ? primaryChildFragment.sibling : null;\n if (fallbackChildFragment) {\n const fallbackChild = fallbackChildFragment.child;\n if (fallbackChild !== null) {\n updateTrackedPathStateBeforeMount(fallbackChildFragment, null);\n mountChildrenRecursively(fallbackChild, traceNearestHostComponentUpdate);\n }\n }\n } else {\n const primaryChild = fiber.child;\n if (primaryChild !== null) {\n mountChildrenRecursively(primaryChild, traceNearestHostComponentUpdate);\n }\n }\n } else if (fiber.tag === SuspenseComponent && OffscreenComponent !== -1 && newInstance !== null && newSuspenseNode !== null) {\n const contentFiber = fiber.child;\n const hydrated = isFiberHydrated(fiber);\n if (hydrated) {\n if (contentFiber === null) {\n throw new Error('There should always be an Offscreen Fiber child in a hydrated Suspense boundary.');\n }\n trackThrownPromisesFromRetryCache(newSuspenseNode, fiber.stateNode);\n mountSuspenseChildrenRecursively(contentFiber, traceNearestHostComponentUpdate, stashedSuspenseParent, stashedSuspensePrevious, stashedSuspenseRemaining);\n shouldPopSuspenseNode = false;\n } else {}\n } else {\n if (fiber.child !== null) {\n mountChildrenRecursively(fiber.child, traceNearestHostComponentUpdate);\n }\n }\n } finally {\n if (newInstance !== null) {\n reconcilingParent = stashedParent;\n previouslyReconciledSibling = stashedPrevious;\n remainingReconcilingChildren = stashedRemaining;\n }\n if (shouldPopSuspenseNode) {\n reconcilingParentSuspenseNode = stashedSuspenseParent;\n previouslyReconciledSiblingSuspenseNode = stashedSuspensePrevious;\n remainingReconcilingChildrenSuspenseNodes = stashedSuspenseRemaining;\n }\n }\n updateTrackedPathStateAfterMount(mightSiblingsBeOnTrackedPath);\n }\n function unmountInstanceRecursively(instance) {\n if (__DEBUG__) {\n debug('unmountInstanceRecursively()', instance, reconcilingParent);\n }\n let shouldPopSuspenseNode = false;\n const stashedParent = reconcilingParent;\n const stashedPrevious = previouslyReconciledSibling;\n const stashedRemaining = remainingReconcilingChildren;\n const stashedSuspenseParent = reconcilingParentSuspenseNode;\n const stashedSuspensePrevious = previouslyReconciledSiblingSuspenseNode;\n const stashedSuspenseRemaining = remainingReconcilingChildrenSuspenseNodes;\n const previousSuspendedBy = instance.suspendedBy;\n reconcilingParent = instance;\n previouslyReconciledSibling = null;\n remainingReconcilingChildren = instance.firstChild;\n instance.firstChild = null;\n instance.suspendedBy = null;\n if (instance.suspenseNode !== null) {\n reconcilingParentSuspenseNode = instance.suspenseNode;\n previouslyReconciledSiblingSuspenseNode = null;\n remainingReconcilingChildrenSuspenseNodes = instance.suspenseNode.firstChild;\n shouldPopSuspenseNode = true;\n }\n try {\n if ((instance.kind === FIBER_INSTANCE || instance.kind === FILTERED_FIBER_INSTANCE) && instance.data.tag === SuspenseComponent && OffscreenComponent !== -1) {\n const fiber = instance.data;\n const contentFiberInstance = remainingReconcilingChildren;\n const hydrated = isFiberHydrated(fiber);\n if (hydrated) {\n if (contentFiberInstance === null) {\n throw new Error('There should always be an Offscreen Fiber child in a hydrated Suspense boundary.');\n }\n unmountSuspenseChildrenRecursively(contentFiberInstance, stashedSuspenseParent, stashedSuspensePrevious, stashedSuspenseRemaining);\n shouldPopSuspenseNode = false;\n } else {\n if (contentFiberInstance !== null) {\n throw new Error('A dehydrated Suspense node should not have a content Fiber.');\n }\n }\n } else {\n unmountRemainingChildren();\n }\n removePreviousSuspendedBy(instance, previousSuspendedBy, reconcilingParentSuspenseNode);\n } finally {\n reconcilingParent = stashedParent;\n previouslyReconciledSibling = stashedPrevious;\n remainingReconcilingChildren = stashedRemaining;\n if (shouldPopSuspenseNode) {\n reconcilingParentSuspenseNode = stashedSuspenseParent;\n previouslyReconciledSiblingSuspenseNode = stashedSuspensePrevious;\n remainingReconcilingChildrenSuspenseNodes = stashedSuspenseRemaining;\n }\n }\n if (instance.kind === FIBER_INSTANCE) {\n recordUnmount(instance);\n } else if (instance.kind === VIRTUAL_INSTANCE) {\n recordVirtualUnmount(instance);\n } else {\n untrackFiber(instance, instance.data);\n }\n removeChild(instance, null);\n }\n function recordProfilingDurations(fiberInstance, prevFiber) {\n const id = fiberInstance.id;\n const fiber = fiberInstance.data;\n const {\n actualDuration,\n treeBaseDuration\n } = fiber;\n fiberInstance.treeBaseDuration = treeBaseDuration || 0;\n if (isProfiling) {\n if (prevFiber == null || treeBaseDuration !== prevFiber.treeBaseDuration) {\n const convertedTreeBaseDuration = Math.floor((treeBaseDuration || 0) * 1000);\n pushOperation(TREE_OPERATION_UPDATE_TREE_BASE_DURATION);\n pushOperation(id);\n pushOperation(convertedTreeBaseDuration);\n }\n if (prevFiber == null || didFiberRender(prevFiber, fiber)) {\n if (actualDuration != null) {\n let selfDuration = actualDuration;\n let child = fiber.child;\n while (child !== null) {\n selfDuration -= child.actualDuration || 0;\n child = child.sibling;\n }\n const metadata = currentCommitProfilingMetadata;\n metadata.durations.push(id, actualDuration, selfDuration);\n metadata.maxActualDuration = Math.max(metadata.maxActualDuration, actualDuration);\n if (recordChangeDescriptions) {\n const changeDescription = getChangeDescription(prevFiber, fiber);\n if (changeDescription !== null) {\n if (metadata.changeDescriptions !== null) {\n metadata.changeDescriptions.set(id, changeDescription);\n }\n }\n }\n }\n }\n const fiberRoot = currentRoot.data.stateNode;\n const updaters = fiberRoot.memoizedUpdaters;\n if (updaters != null && (updaters.has(fiber) || fiber.alternate !== null && updaters.has(fiber.alternate))) {\n const metadata = currentCommitProfilingMetadata;\n if (metadata.updaters === null) {\n metadata.updaters = [];\n }\n metadata.updaters.push(instanceToSerializedElement(fiberInstance));\n }\n }\n }\n function recordVirtualProfilingDurations(virtualInstance) {\n const id = virtualInstance.id;\n let treeBaseDuration = 0;\n for (let child = virtualInstance.firstChild; child !== null; child = child.nextSibling) {\n treeBaseDuration += child.treeBaseDuration;\n }\n if (isProfiling) {\n const previousTreeBaseDuration = virtualInstance.treeBaseDuration;\n if (treeBaseDuration !== previousTreeBaseDuration) {\n const convertedTreeBaseDuration = Math.floor((treeBaseDuration || 0) * 1000);\n pushOperation(TREE_OPERATION_UPDATE_TREE_BASE_DURATION);\n pushOperation(id);\n pushOperation(convertedTreeBaseDuration);\n }\n }\n virtualInstance.treeBaseDuration = treeBaseDuration;\n }\n function addUnfilteredChildrenIDs(parentInstance, nextChildren) {\n let child = parentInstance.firstChild;\n while (child !== null) {\n if (child.kind === FILTERED_FIBER_INSTANCE) {\n const fiber = child.data;\n if (isHiddenOffscreen(fiber)) {} else {\n addUnfilteredChildrenIDs(child, nextChildren);\n }\n } else {\n nextChildren.push(child.id);\n }\n child = child.nextSibling;\n }\n }\n function recordResetChildren(parentInstance) {\n if (__DEBUG__) {\n if (parentInstance.firstChild !== null) {\n debug('recordResetChildren()', parentInstance.firstChild, parentInstance);\n }\n }\n const nextChildren = [];\n addUnfilteredChildrenIDs(parentInstance, nextChildren);\n const numChildren = nextChildren.length;\n if (numChildren < 2) {\n return;\n }\n pushOperation(TREE_OPERATION_REORDER_CHILDREN);\n pushOperation(parentInstance.id);\n pushOperation(numChildren);\n for (let i = 0; i < nextChildren.length; i++) {\n pushOperation(nextChildren[i]);\n }\n }\n function addUnfilteredSuspenseChildrenIDs(parentInstance, nextChildren) {\n let child = parentInstance.firstChild;\n while (child !== null) {\n if (child.instance.kind === FILTERED_FIBER_INSTANCE) {\n addUnfilteredSuspenseChildrenIDs(child, nextChildren);\n } else {\n nextChildren.push(child.instance.id);\n }\n child = child.nextSibling;\n }\n }\n function recordResetSuspenseChildren(parentInstance) {\n if (__DEBUG__) {\n if (parentInstance.firstChild !== null) {\n console.log('recordResetSuspenseChildren()', parentInstance.firstChild, parentInstance);\n }\n }\n const nextChildren = [];\n addUnfilteredSuspenseChildrenIDs(parentInstance, nextChildren);\n const numChildren = nextChildren.length;\n if (numChildren < 2) {\n return;\n }\n pushOperation(SUSPENSE_TREE_OPERATION_REORDER_CHILDREN);\n pushOperation(parentInstance.instance.id);\n pushOperation(numChildren);\n for (let i = 0; i < nextChildren.length; i++) {\n pushOperation(nextChildren[i]);\n }\n }\n function updateVirtualInstanceRecursively(virtualInstance, nextFirstChild, nextLastChild, prevFirstChild, traceNearestHostComponentUpdate, virtualLevel) {\n const stashedParent = reconcilingParent;\n const stashedPrevious = previouslyReconciledSibling;\n const stashedRemaining = remainingReconcilingChildren;\n const previousSuspendedBy = virtualInstance.suspendedBy;\n reconcilingParent = virtualInstance;\n previouslyReconciledSibling = null;\n remainingReconcilingChildren = virtualInstance.firstChild;\n virtualInstance.firstChild = null;\n virtualInstance.suspendedBy = null;\n try {\n let updateFlags = updateVirtualChildrenRecursively(nextFirstChild, nextLastChild, prevFirstChild, traceNearestHostComponentUpdate, virtualLevel + 1);\n if ((updateFlags & ShouldResetChildren) !== NoUpdate) {\n if (!isInDisconnectedSubtree) {\n recordResetChildren(virtualInstance);\n }\n updateFlags &= ~ShouldResetChildren;\n }\n removePreviousSuspendedBy(virtualInstance, previousSuspendedBy, reconcilingParentSuspenseNode);\n const componentLogsEntry = componentInfoToComponentLogsMap.get(virtualInstance.data);\n recordConsoleLogs(virtualInstance, componentLogsEntry);\n recordVirtualProfilingDurations(virtualInstance);\n return updateFlags;\n } finally {\n unmountRemainingChildren();\n reconcilingParent = stashedParent;\n previouslyReconciledSibling = stashedPrevious;\n remainingReconcilingChildren = stashedRemaining;\n }\n }\n function updateVirtualChildrenRecursively(nextFirstChild, nextLastChild, prevFirstChild, traceNearestHostComponentUpdate, virtualLevel) {\n let updateFlags = NoUpdate;\n let nextChild = nextFirstChild;\n let prevChildAtSameIndex = prevFirstChild;\n let previousVirtualInstance = null;\n let previousVirtualInstanceWasMount = false;\n let previousVirtualInstanceNextFirstFiber = nextFirstChild;\n let previousVirtualInstancePrevFirstFiber = prevFirstChild;\n while (nextChild !== null && nextChild !== nextLastChild) {\n let level = 0;\n if (nextChild._debugInfo) {\n for (let i = 0; i < nextChild._debugInfo.length; i++) {\n const debugEntry = nextChild._debugInfo[i];\n if (debugEntry.awaited) {\n const asyncInfo = debugEntry;\n if (level === virtualLevel) {\n insertSuspendedBy(asyncInfo);\n }\n continue;\n }\n if (typeof debugEntry.name !== 'string') {\n continue;\n }\n const componentInfo = debugEntry;\n const secondaryEnv = getSecondaryEnvironmentName(nextChild._debugInfo, i);\n if (componentInfo.env != null) {\n knownEnvironmentNames.add(componentInfo.env);\n }\n if (secondaryEnv !== null) {\n knownEnvironmentNames.add(secondaryEnv);\n }\n if (shouldFilterVirtual(componentInfo, secondaryEnv)) {\n continue;\n }\n if (level === virtualLevel) {\n if (previousVirtualInstance === null || previousVirtualInstance.data !== componentInfo) {\n if (previousVirtualInstance !== null) {\n if (previousVirtualInstanceWasMount) {\n mountVirtualInstanceRecursively(previousVirtualInstance, previousVirtualInstanceNextFirstFiber, nextChild, traceNearestHostComponentUpdate, virtualLevel);\n updateFlags |= ShouldResetChildren | ShouldResetSuspenseChildren;\n } else {\n updateFlags |= updateVirtualInstanceRecursively(previousVirtualInstance, previousVirtualInstanceNextFirstFiber, nextChild, previousVirtualInstancePrevFirstFiber, traceNearestHostComponentUpdate, virtualLevel);\n }\n }\n let previousSiblingOfBestMatch = null;\n let bestMatch = remainingReconcilingChildren;\n if (componentInfo.key != null) {\n bestMatch = remainingReconcilingChildren;\n while (bestMatch !== null) {\n if (bestMatch.kind === VIRTUAL_INSTANCE && bestMatch.data.key === componentInfo.key) {\n break;\n }\n previousSiblingOfBestMatch = bestMatch;\n bestMatch = bestMatch.nextSibling;\n }\n }\n if (bestMatch !== null && bestMatch.kind === VIRTUAL_INSTANCE && bestMatch.data.name === componentInfo.name && bestMatch.data.env === componentInfo.env && bestMatch.data.key === componentInfo.key) {\n bestMatch.data = componentInfo;\n moveChild(bestMatch, previousSiblingOfBestMatch);\n previousVirtualInstance = bestMatch;\n previousVirtualInstanceWasMount = false;\n } else {\n const newVirtualInstance = createVirtualInstance(componentInfo);\n recordVirtualMount(newVirtualInstance, reconcilingParent, secondaryEnv);\n insertChild(newVirtualInstance);\n previousVirtualInstance = newVirtualInstance;\n previousVirtualInstanceWasMount = true;\n updateFlags |= ShouldResetChildren;\n }\n previousVirtualInstanceNextFirstFiber = nextChild;\n previousVirtualInstancePrevFirstFiber = prevChildAtSameIndex;\n }\n level++;\n break;\n } else {\n level++;\n }\n }\n }\n if (level === virtualLevel) {\n if (previousVirtualInstance !== null) {\n if (previousVirtualInstanceWasMount) {\n mountVirtualInstanceRecursively(previousVirtualInstance, previousVirtualInstanceNextFirstFiber, nextChild, traceNearestHostComponentUpdate, virtualLevel);\n updateFlags |= ShouldResetChildren | ShouldResetSuspenseChildren;\n } else {\n updateFlags |= updateVirtualInstanceRecursively(previousVirtualInstance, previousVirtualInstanceNextFirstFiber, nextChild, previousVirtualInstancePrevFirstFiber, traceNearestHostComponentUpdate, virtualLevel);\n }\n previousVirtualInstance = null;\n }\n let prevChild;\n if (prevChildAtSameIndex === nextChild) {\n prevChild = nextChild;\n } else {\n prevChild = nextChild.alternate;\n }\n let previousSiblingOfExistingInstance = null;\n let existingInstance = null;\n if (prevChild !== null) {\n existingInstance = remainingReconcilingChildren;\n while (existingInstance !== null) {\n if (existingInstance.data === prevChild) {\n break;\n }\n previousSiblingOfExistingInstance = existingInstance;\n existingInstance = existingInstance.nextSibling;\n }\n }\n if (existingInstance !== null) {\n const fiberInstance = existingInstance;\n if (prevChild !== prevChildAtSameIndex) {\n updateFlags |= ShouldResetChildren | ShouldResetSuspenseChildren;\n }\n moveChild(fiberInstance, previousSiblingOfExistingInstance);\n updateFlags |= updateFiberRecursively(fiberInstance, nextChild, prevChild, traceNearestHostComponentUpdate);\n } else if (prevChild !== null && shouldFilterFiber(nextChild)) {\n if (prevChild !== prevChildAtSameIndex) {\n updateFlags |= ShouldResetChildren | ShouldResetSuspenseChildren;\n }\n updateFlags |= updateFiberRecursively(null, nextChild, prevChild, traceNearestHostComponentUpdate);\n } else {\n mountFiberRecursively(nextChild, traceNearestHostComponentUpdate);\n updateFlags |= ShouldResetChildren | ShouldResetSuspenseChildren;\n }\n }\n nextChild = nextChild.sibling;\n if ((updateFlags & ShouldResetChildren) === NoUpdate && prevChildAtSameIndex !== null) {\n prevChildAtSameIndex = prevChildAtSameIndex.sibling;\n }\n }\n if (previousVirtualInstance !== null) {\n if (previousVirtualInstanceWasMount) {\n mountVirtualInstanceRecursively(previousVirtualInstance, previousVirtualInstanceNextFirstFiber, null, traceNearestHostComponentUpdate, virtualLevel);\n updateFlags |= ShouldResetChildren | ShouldResetSuspenseChildren;\n } else {\n updateFlags |= updateVirtualInstanceRecursively(previousVirtualInstance, previousVirtualInstanceNextFirstFiber, null, previousVirtualInstancePrevFirstFiber, traceNearestHostComponentUpdate, virtualLevel);\n }\n }\n if (prevChildAtSameIndex !== null) {\n updateFlags |= ShouldResetChildren | ShouldResetSuspenseChildren;\n }\n return updateFlags;\n }\n function updateChildrenRecursively(nextFirstChild, prevFirstChild, traceNearestHostComponentUpdate) {\n if (nextFirstChild === null) {\n return prevFirstChild !== null ? ShouldResetChildren : NoUpdate;\n }\n return updateVirtualChildrenRecursively(nextFirstChild, null, prevFirstChild, traceNearestHostComponentUpdate, 0);\n }\n function updateSuspenseChildrenRecursively(nextContentFiber, prevContentFiber, traceNearestHostComponentUpdate, stashedSuspenseParent, stashedSuspensePrevious, stashedSuspenseRemaining) {\n let updateFlags = NoUpdate;\n const prevFallbackFiber = prevContentFiber.sibling;\n const nextFallbackFiber = nextContentFiber.sibling;\n updateFlags |= updateVirtualChildrenRecursively(nextContentFiber, nextFallbackFiber, prevContentFiber, traceNearestHostComponentUpdate, 0);\n reconcilingParentSuspenseNode = stashedSuspenseParent;\n previouslyReconciledSiblingSuspenseNode = stashedSuspensePrevious;\n remainingReconcilingChildrenSuspenseNodes = stashedSuspenseRemaining;\n if (prevFallbackFiber !== null || nextFallbackFiber !== null) {\n if (nextFallbackFiber === null) {\n unmountRemainingChildren();\n } else {\n updateFlags |= updateVirtualChildrenRecursively(nextFallbackFiber, null, prevFallbackFiber, traceNearestHostComponentUpdate, 0);\n if ((updateFlags & ShouldResetSuspenseChildren) !== NoUpdate) {\n updateFlags |= ShouldResetParentSuspenseChildren;\n updateFlags &= ~ShouldResetSuspenseChildren;\n }\n }\n }\n return updateFlags;\n }\n function updateFiberRecursively(fiberInstance, nextFiber, prevFiber, traceNearestHostComponentUpdate) {\n if (__DEBUG__) {\n if (fiberInstance !== null) {\n debug('updateFiberRecursively()', fiberInstance, reconcilingParent);\n }\n }\n if (traceUpdatesEnabled) {\n const elementType = getElementTypeForFiber(nextFiber);\n if (traceNearestHostComponentUpdate) {\n if (elementType === ElementTypeHostComponent) {\n traceUpdatesForNodes.add(nextFiber.stateNode);\n traceNearestHostComponentUpdate = false;\n }\n } else {\n if (elementType === types_ElementTypeFunction || elementType === types_ElementTypeClass || elementType === ElementTypeContext || elementType === types_ElementTypeMemo || elementType === types_ElementTypeForwardRef) {\n traceNearestHostComponentUpdate = didFiberRender(prevFiber, nextFiber);\n }\n }\n }\n const stashedParent = reconcilingParent;\n const stashedPrevious = previouslyReconciledSibling;\n const stashedRemaining = remainingReconcilingChildren;\n const stashedSuspenseParent = reconcilingParentSuspenseNode;\n const stashedSuspensePrevious = previouslyReconciledSiblingSuspenseNode;\n const stashedSuspenseRemaining = remainingReconcilingChildrenSuspenseNodes;\n let updateFlags = NoUpdate;\n let shouldMeasureSuspenseNode = false;\n let shouldPopSuspenseNode = false;\n let previousSuspendedBy = null;\n if (fiberInstance !== null) {\n previousSuspendedBy = fiberInstance.suspendedBy;\n fiberInstance.data = nextFiber;\n if (mostRecentlyInspectedElement !== null && (mostRecentlyInspectedElement.id === fiberInstance.id || mostRecentlyInspectedElement.type === ElementTypeRoot && nextFiber.tag === HostRoot) && didFiberRender(prevFiber, nextFiber)) {\n hasElementUpdatedSinceLastInspected = true;\n }\n reconcilingParent = fiberInstance;\n previouslyReconciledSibling = null;\n remainingReconcilingChildren = fiberInstance.firstChild;\n fiberInstance.firstChild = null;\n fiberInstance.suspendedBy = null;\n const suspenseNode = fiberInstance.suspenseNode;\n if (suspenseNode !== null) {\n reconcilingParentSuspenseNode = suspenseNode;\n previouslyReconciledSiblingSuspenseNode = null;\n remainingReconcilingChildrenSuspenseNodes = suspenseNode.firstChild;\n suspenseNode.firstChild = null;\n shouldMeasureSuspenseNode = true;\n shouldPopSuspenseNode = true;\n }\n }\n try {\n trackDebugInfoFromLazyType(nextFiber);\n trackDebugInfoFromUsedThenables(nextFiber);\n if (nextFiber.tag === HostHoistable) {\n const nearestInstance = reconcilingParent;\n if (nearestInstance === null) {\n throw new Error('Did not expect a host hoistable to be the root');\n }\n if (prevFiber.memoizedState !== nextFiber.memoizedState) {\n releaseHostResource(nearestInstance, prevFiber.memoizedState);\n aquireHostResource(nearestInstance, nextFiber.memoizedState);\n }\n trackDebugInfoFromHostResource(nearestInstance, nextFiber);\n } else if (nextFiber.tag === HostComponent || nextFiber.tag === HostText || nextFiber.tag === HostSingleton) {\n const nearestInstance = reconcilingParent;\n if (nearestInstance === null) {\n throw new Error('Did not expect a host hoistable to be the root');\n }\n if (prevFiber.stateNode !== nextFiber.stateNode) {\n releaseHostInstance(nearestInstance, prevFiber.stateNode);\n aquireHostInstance(nearestInstance, nextFiber.stateNode);\n }\n trackDebugInfoFromHostComponent(nearestInstance, nextFiber);\n }\n const isLegacySuspense = nextFiber.tag === SuspenseComponent && OffscreenComponent === -1;\n const prevDidTimeout = isLegacySuspense && prevFiber.memoizedState !== null;\n const nextDidTimeOut = isLegacySuspense && nextFiber.memoizedState !== null;\n const prevWasHidden = isHiddenOffscreen(prevFiber);\n const nextIsHidden = isHiddenOffscreen(nextFiber);\n const prevWasSuspended = isSuspendedOffscreen(prevFiber);\n const nextIsSuspended = isSuspendedOffscreen(nextFiber);\n if (isLegacySuspense) {\n if (fiberInstance !== null && fiberInstance.suspenseNode !== null) {\n const suspenseNode = fiberInstance.suspenseNode;\n if (prevFiber.stateNode === null !== (nextFiber.stateNode === null)) {\n trackThrownPromisesFromRetryCache(suspenseNode, nextFiber.stateNode);\n }\n if (prevFiber.memoizedState === null !== (nextFiber.memoizedState === null)) {\n recordSuspenseSuspenders(suspenseNode);\n }\n }\n }\n if (prevDidTimeout && nextDidTimeOut) {\n const nextFiberChild = nextFiber.child;\n const nextFallbackChildSet = nextFiberChild ? nextFiberChild.sibling : null;\n const prevFiberChild = prevFiber.child;\n const prevFallbackChildSet = prevFiberChild ? prevFiberChild.sibling : null;\n if (prevFallbackChildSet == null && nextFallbackChildSet != null) {\n mountChildrenRecursively(nextFallbackChildSet, traceNearestHostComponentUpdate);\n updateFlags |= ShouldResetChildren | ShouldResetSuspenseChildren;\n }\n const childrenUpdateFlags = nextFallbackChildSet != null && prevFallbackChildSet != null ? updateChildrenRecursively(nextFallbackChildSet, prevFallbackChildSet, traceNearestHostComponentUpdate) : NoUpdate;\n updateFlags |= childrenUpdateFlags;\n } else if (prevDidTimeout && !nextDidTimeOut) {\n const nextPrimaryChildSet = nextFiber.child;\n if (nextPrimaryChildSet !== null) {\n mountChildrenRecursively(nextPrimaryChildSet, traceNearestHostComponentUpdate);\n updateFlags |= ShouldResetChildren | ShouldResetSuspenseChildren;\n }\n } else if (!prevDidTimeout && nextDidTimeOut) {\n const nextFiberChild = nextFiber.child;\n const nextFallbackChildSet = nextFiberChild ? nextFiberChild.sibling : null;\n if (nextFallbackChildSet != null) {\n mountChildrenRecursively(nextFallbackChildSet, traceNearestHostComponentUpdate);\n updateFlags |= ShouldResetChildren | ShouldResetSuspenseChildren;\n }\n } else if (nextIsSuspended) {\n if (!prevWasSuspended) {\n if (fiberInstance !== null && !isInDisconnectedSubtree) {\n disconnectChildrenRecursively(remainingReconcilingChildren);\n }\n }\n const stashedDisconnected = isInDisconnectedSubtree;\n isInDisconnectedSubtree = true;\n try {\n updateFlags |= updateChildrenRecursively(nextFiber.child, prevFiber.child, false);\n } finally {\n isInDisconnectedSubtree = stashedDisconnected;\n }\n } else if (prevWasSuspended && !nextIsSuspended) {\n const stashedDisconnected = isInDisconnectedSubtree;\n isInDisconnectedSubtree = true;\n try {\n if (nextFiber.child !== null) {\n updateFlags |= updateChildrenRecursively(nextFiber.child, prevFiber.child, false);\n }\n unmountRemainingChildren();\n remainingReconcilingChildren = null;\n } finally {\n isInDisconnectedSubtree = stashedDisconnected;\n }\n if (fiberInstance !== null && !isInDisconnectedSubtree) {\n reconnectChildrenRecursively(fiberInstance);\n updateFlags |= ShouldResetChildren | ShouldResetSuspenseChildren;\n }\n } else if (nextIsHidden) {\n if (prevWasHidden) {} else {\n unmountRemainingChildren();\n }\n } else if (nextFiber.tag === SuspenseComponent && OffscreenComponent !== -1 && fiberInstance !== null && fiberInstance.suspenseNode !== null) {\n const suspenseNode = fiberInstance.suspenseNode;\n const prevContentFiber = prevFiber.child;\n const nextContentFiber = nextFiber.child;\n const previousHydrated = isFiberHydrated(prevFiber);\n const nextHydrated = isFiberHydrated(nextFiber);\n if (previousHydrated && nextHydrated) {\n if (nextContentFiber === null || prevContentFiber === null) {\n throw new Error('There should always be an Offscreen Fiber child in a hydrated Suspense boundary.');\n }\n if (prevFiber.stateNode === null !== (nextFiber.stateNode === null)) {\n trackThrownPromisesFromRetryCache(suspenseNode, nextFiber.stateNode);\n }\n if (prevFiber.memoizedState === null !== (nextFiber.memoizedState === null)) {\n recordSuspenseSuspenders(suspenseNode);\n }\n shouldMeasureSuspenseNode = false;\n updateFlags |= updateSuspenseChildrenRecursively(nextContentFiber, prevContentFiber, traceNearestHostComponentUpdate, stashedSuspenseParent, stashedSuspensePrevious, stashedSuspenseRemaining);\n shouldPopSuspenseNode = false;\n if (nextFiber.memoizedState === null) {\n shouldMeasureSuspenseNode = !isInDisconnectedSubtree;\n }\n } else if (!previousHydrated && nextHydrated) {\n if (nextContentFiber === null) {\n throw new Error('There should always be an Offscreen Fiber child in a hydrated Suspense boundary.');\n }\n trackThrownPromisesFromRetryCache(suspenseNode, nextFiber.stateNode);\n recordSuspenseSuspenders(suspenseNode);\n mountSuspenseChildrenRecursively(nextContentFiber, traceNearestHostComponentUpdate, stashedSuspenseParent, stashedSuspensePrevious, stashedSuspenseRemaining);\n shouldPopSuspenseNode = false;\n } else if (previousHydrated && !nextHydrated) {\n throw new Error('Encountered a dehydrated Suspense boundary that was previously hydrated.');\n } else {}\n } else {\n if (nextFiber.child !== prevFiber.child) {\n updateFlags |= updateChildrenRecursively(nextFiber.child, prevFiber.child, traceNearestHostComponentUpdate);\n } else {\n if (fiberInstance !== null) {\n fiberInstance.firstChild = remainingReconcilingChildren;\n remainingReconcilingChildren = null;\n consumeSuspenseNodesOfExistingInstance(fiberInstance);\n if (traceUpdatesEnabled) {\n if (traceNearestHostComponentUpdate) {\n const hostInstances = findAllCurrentHostInstances(fiberInstance);\n hostInstances.forEach(hostInstance => {\n traceUpdatesForNodes.add(hostInstance);\n });\n }\n }\n } else {\n const childrenUpdateFlags = updateChildrenRecursively(nextFiber.child, prevFiber.child, false);\n if ((childrenUpdateFlags & ShouldResetChildren) !== NoUpdate) {\n throw new Error('The children should not have changed if we pass in the same set.');\n }\n updateFlags |= childrenUpdateFlags;\n }\n }\n }\n if (fiberInstance !== null) {\n removePreviousSuspendedBy(fiberInstance, previousSuspendedBy, shouldPopSuspenseNode ? reconcilingParentSuspenseNode : stashedSuspenseParent);\n if (fiberInstance.kind === FIBER_INSTANCE) {\n let componentLogsEntry = fiberToComponentLogsMap.get(fiberInstance.data);\n if (componentLogsEntry === undefined && fiberInstance.data.alternate) {\n componentLogsEntry = fiberToComponentLogsMap.get(fiberInstance.data.alternate);\n }\n recordConsoleLogs(fiberInstance, componentLogsEntry);\n const isProfilingSupported = nextFiber.hasOwnProperty('treeBaseDuration');\n if (isProfilingSupported) {\n recordProfilingDurations(fiberInstance, prevFiber);\n }\n }\n }\n if ((updateFlags & ShouldResetChildren) !== NoUpdate) {\n if (fiberInstance !== null && fiberInstance.kind === FIBER_INSTANCE) {\n if (!nextIsSuspended && !isInDisconnectedSubtree) {\n recordResetChildren(fiberInstance);\n }\n updateFlags &= ~ShouldResetChildren;\n } else {}\n } else {}\n if ((updateFlags & ShouldResetSuspenseChildren) !== NoUpdate) {\n if (fiberInstance !== null && fiberInstance.kind === FIBER_INSTANCE) {\n const suspenseNode = fiberInstance.suspenseNode;\n if (suspenseNode !== null) {\n recordResetSuspenseChildren(suspenseNode);\n updateFlags &= ~ShouldResetSuspenseChildren;\n }\n } else {}\n }\n if ((updateFlags & ShouldResetParentSuspenseChildren) !== NoUpdate) {\n if (fiberInstance !== null && fiberInstance.kind === FIBER_INSTANCE) {\n const suspenseNode = fiberInstance.suspenseNode;\n if (suspenseNode !== null) {\n updateFlags &= ~ShouldResetParentSuspenseChildren;\n updateFlags |= ShouldResetSuspenseChildren;\n }\n } else {}\n }\n return updateFlags;\n } finally {\n if (fiberInstance !== null) {\n unmountRemainingChildren();\n reconcilingParent = stashedParent;\n previouslyReconciledSibling = stashedPrevious;\n remainingReconcilingChildren = stashedRemaining;\n if (shouldMeasureSuspenseNode) {\n if (!isInDisconnectedSubtree) {\n const suspenseNode = fiberInstance.suspenseNode;\n if (suspenseNode === null) {\n throw new Error('Attempted to measure a Suspense node that does not exist.');\n }\n const prevRects = suspenseNode.rects;\n const nextRects = measureInstance(fiberInstance);\n if (!areEqualRects(prevRects, nextRects)) {\n suspenseNode.rects = nextRects;\n recordSuspenseResize(suspenseNode);\n }\n }\n }\n if (shouldPopSuspenseNode) {\n reconcilingParentSuspenseNode = stashedSuspenseParent;\n previouslyReconciledSiblingSuspenseNode = stashedSuspensePrevious;\n remainingReconcilingChildrenSuspenseNodes = stashedSuspenseRemaining;\n }\n }\n }\n }\n function disconnectChildrenRecursively(firstChild) {\n for (let child = firstChild; child !== null; child = child.nextSibling) {\n if ((child.kind === FIBER_INSTANCE || child.kind === FILTERED_FIBER_INSTANCE) && isSuspendedOffscreen(child.data)) {} else {\n disconnectChildrenRecursively(child.firstChild);\n }\n if (child.kind === FIBER_INSTANCE) {\n recordDisconnect(child);\n } else if (child.kind === VIRTUAL_INSTANCE) {\n recordVirtualDisconnect(child);\n }\n }\n }\n function reconnectChildrenRecursively(parentInstance) {\n for (let child = parentInstance.firstChild; child !== null; child = child.nextSibling) {\n if (child.kind === FIBER_INSTANCE) {\n recordReconnect(child, parentInstance);\n } else if (child.kind === VIRTUAL_INSTANCE) {\n const secondaryEnv = null;\n recordVirtualReconnect(child, parentInstance, secondaryEnv);\n }\n if ((child.kind === FIBER_INSTANCE || child.kind === FILTERED_FIBER_INSTANCE) && isHiddenOffscreen(child.data)) {} else {\n reconnectChildrenRecursively(child);\n }\n }\n }\n function cleanup() {\n isProfiling = false;\n }\n function rootSupportsProfiling(root) {\n if (root.memoizedInteractions != null) {\n return true;\n } else if (root.current != null && root.current.hasOwnProperty('treeBaseDuration')) {\n return true;\n } else {\n return false;\n }\n }\n function flushInitialOperations() {\n const localPendingOperationsQueue = pendingOperationsQueue;\n pendingOperationsQueue = null;\n if (localPendingOperationsQueue !== null && localPendingOperationsQueue.length > 0) {\n localPendingOperationsQueue.forEach(operations => {\n hook.emit('operations', operations);\n });\n } else {\n if (trackedPath !== null) {\n mightBeOnTrackedPath = true;\n }\n hook.getFiberRoots(rendererID).forEach(root => {\n const current = root.current;\n const newRoot = createFiberInstance(current);\n rootToFiberInstanceMap.set(root, newRoot);\n idToDevToolsInstanceMap.set(newRoot.id, newRoot);\n currentRoot = newRoot;\n setRootPseudoKey(currentRoot.id, root.current);\n if (isProfiling && rootSupportsProfiling(root)) {\n currentCommitProfilingMetadata = {\n changeDescriptions: recordChangeDescriptions ? new Map() : null,\n durations: [],\n commitTime: renderer_getCurrentTime() - profilingStartTime,\n maxActualDuration: 0,\n priorityLevel: null,\n updaters: null,\n effectDuration: null,\n passiveEffectDuration: null\n };\n }\n mountFiberRecursively(root.current, false);\n flushPendingEvents();\n needsToFlushComponentLogs = false;\n currentRoot = null;\n });\n }\n }\n function handleCommitFiberUnmount(fiber) {}\n function handlePostCommitFiberRoot(root) {\n if (isProfiling && rootSupportsProfiling(root)) {\n if (currentCommitProfilingMetadata !== null) {\n const {\n effectDuration,\n passiveEffectDuration\n } = getEffectDurations(root);\n currentCommitProfilingMetadata.effectDuration = effectDuration;\n currentCommitProfilingMetadata.passiveEffectDuration = passiveEffectDuration;\n }\n }\n if (needsToFlushComponentLogs) {\n bruteForceFlushErrorsAndWarnings();\n }\n }\n function handleCommitFiberRoot(root, priorityLevel) {\n const nextFiber = root.current;\n let prevFiber = null;\n let rootInstance = rootToFiberInstanceMap.get(root);\n if (!rootInstance) {\n rootInstance = createFiberInstance(nextFiber);\n rootToFiberInstanceMap.set(root, rootInstance);\n idToDevToolsInstanceMap.set(rootInstance.id, rootInstance);\n } else {\n prevFiber = rootInstance.data;\n }\n currentRoot = rootInstance;\n if (trackedPath !== null) {\n mightBeOnTrackedPath = true;\n }\n if (traceUpdatesEnabled) {\n traceUpdatesForNodes.clear();\n }\n const isProfilingSupported = rootSupportsProfiling(root);\n if (isProfiling && isProfilingSupported) {\n currentCommitProfilingMetadata = {\n changeDescriptions: recordChangeDescriptions ? new Map() : null,\n durations: [],\n commitTime: renderer_getCurrentTime() - profilingStartTime,\n maxActualDuration: 0,\n priorityLevel: priorityLevel == null ? null : formatPriorityLevel(priorityLevel),\n updaters: null,\n effectDuration: null,\n passiveEffectDuration: null\n };\n }\n const nextIsMounted = nextFiber.child !== null;\n const prevWasMounted = prevFiber !== null && prevFiber.child !== null;\n if (!prevWasMounted && nextIsMounted) {\n setRootPseudoKey(currentRoot.id, nextFiber);\n mountFiberRecursively(nextFiber, false);\n } else if (prevWasMounted && nextIsMounted) {\n if (prevFiber === null) {\n throw new Error('Expected a previous Fiber when updating an existing root.');\n }\n updateFiberRecursively(rootInstance, nextFiber, prevFiber, false);\n } else if (prevWasMounted && !nextIsMounted) {\n unmountInstanceRecursively(rootInstance);\n removeRootPseudoKey(currentRoot.id);\n rootToFiberInstanceMap.delete(root);\n } else if (!prevWasMounted && !nextIsMounted) {\n rootToFiberInstanceMap.delete(root);\n }\n if (isProfiling && isProfilingSupported) {\n if (!shouldBailoutWithPendingOperations()) {\n const commitProfilingMetadata = rootToCommitProfilingMetadataMap.get(currentRoot.id);\n if (commitProfilingMetadata != null) {\n commitProfilingMetadata.push(currentCommitProfilingMetadata);\n } else {\n rootToCommitProfilingMetadataMap.set(currentRoot.id, [currentCommitProfilingMetadata]);\n }\n }\n }\n flushPendingEvents();\n needsToFlushComponentLogs = false;\n if (traceUpdatesEnabled) {\n hook.emit('traceUpdates', traceUpdatesForNodes);\n }\n currentRoot = null;\n }\n function getResourceInstance(fiber) {\n if (fiber.tag === HostHoistable) {\n const resource = fiber.memoizedState;\n if (typeof resource === 'object' && resource !== null && resource.instance != null) {\n return resource.instance;\n }\n }\n return null;\n }\n function appendHostInstancesByDevToolsInstance(devtoolsInstance, hostInstances) {\n if (devtoolsInstance.kind !== VIRTUAL_INSTANCE) {\n const fiber = devtoolsInstance.data;\n appendHostInstancesByFiber(fiber, hostInstances);\n return;\n }\n for (let child = devtoolsInstance.firstChild; child !== null; child = child.nextSibling) {\n appendHostInstancesByDevToolsInstance(child, hostInstances);\n }\n }\n function appendHostInstancesByFiber(fiber, hostInstances) {\n let node = fiber;\n while (true) {\n if (node.tag === HostComponent || node.tag === HostText || node.tag === HostSingleton || node.tag === HostHoistable) {\n const hostInstance = node.stateNode || getResourceInstance(node);\n if (hostInstance) {\n hostInstances.push(hostInstance);\n }\n } else if (node.child) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n if (node === fiber) {\n return;\n }\n while (!node.sibling) {\n if (!node.return || node.return === fiber) {\n return;\n }\n node = node.return;\n }\n node.sibling.return = node.return;\n node = node.sibling;\n }\n }\n function findAllCurrentHostInstances(devtoolsInstance) {\n const hostInstances = [];\n appendHostInstancesByDevToolsInstance(devtoolsInstance, hostInstances);\n return hostInstances;\n }\n function findHostInstancesForElementID(id) {\n try {\n const devtoolsInstance = idToDevToolsInstanceMap.get(id);\n if (devtoolsInstance === undefined) {\n console.warn(`Could not find DevToolsInstance with id \"${id}\"`);\n return null;\n }\n return findAllCurrentHostInstances(devtoolsInstance);\n } catch (err) {\n return null;\n }\n }\n function findLastKnownRectsForID(id) {\n try {\n const devtoolsInstance = idToDevToolsInstanceMap.get(id);\n if (devtoolsInstance === undefined) {\n console.warn(`Could not find DevToolsInstance with id \"${id}\"`);\n return null;\n }\n if (devtoolsInstance.suspenseNode === null) {\n return null;\n }\n return devtoolsInstance.suspenseNode.rects;\n } catch (err) {\n return null;\n }\n }\n function getDisplayNameForElementID(id) {\n const devtoolsInstance = idToDevToolsInstanceMap.get(id);\n if (devtoolsInstance === undefined) {\n return null;\n }\n if (devtoolsInstance.kind === FIBER_INSTANCE) {\n const fiber = devtoolsInstance.data;\n if (fiber.tag === HostRoot) {\n return 'Initial Paint';\n }\n if (fiber.tag === SuspenseComponent || fiber.tag === ActivityComponent) {\n const props = fiber.memoizedProps;\n if (props.name != null) {\n return props.name;\n }\n const owner = getUnfilteredOwner(fiber);\n if (owner != null) {\n if (typeof owner.tag === 'number') {\n return getDisplayNameForFiber(owner);\n } else {\n return owner.name || '';\n }\n }\n }\n return getDisplayNameForFiber(fiber);\n } else {\n return devtoolsInstance.data.name || '';\n }\n }\n function getNearestSuspenseNode(instance) {\n while (instance.suspenseNode === null) {\n if (instance.parent === null) {\n throw new Error('There should always be a SuspenseNode parent on a mounted instance.');\n }\n instance = instance.parent;\n }\n return instance.suspenseNode;\n }\n function getNearestMountedDOMNode(publicInstance) {\n let domNode = publicInstance;\n while (domNode && !publicInstanceToDevToolsInstanceMap.has(domNode)) {\n domNode = domNode.parentNode;\n }\n return domNode;\n }\n function getElementIDForHostInstance(publicInstance) {\n const instance = publicInstanceToDevToolsInstanceMap.get(publicInstance);\n if (instance !== undefined) {\n if (instance.kind === FILTERED_FIBER_INSTANCE) {\n return instance.parent.id;\n }\n return instance.id;\n }\n return null;\n }\n function getSuspenseNodeIDForHostInstance(publicInstance) {\n const instance = publicInstanceToDevToolsInstanceMap.get(publicInstance);\n if (instance !== undefined) {\n let suspenseInstance = instance;\n while (suspenseInstance.suspenseNode === null || suspenseInstance.kind === FILTERED_FIBER_INSTANCE) {\n if (suspenseInstance.parent === null) {\n return null;\n }\n suspenseInstance = suspenseInstance.parent;\n }\n return suspenseInstance.id;\n }\n return null;\n }\n function getElementAttributeByPath(id, path) {\n if (isMostRecentlyInspectedElement(id)) {\n return utils_getInObject(mostRecentlyInspectedElement, path);\n }\n return undefined;\n }\n function getElementSourceFunctionById(id) {\n const devtoolsInstance = idToDevToolsInstanceMap.get(id);\n if (devtoolsInstance === undefined) {\n console.warn(`Could not find DevToolsInstance with id \"${id}\"`);\n return null;\n }\n if (devtoolsInstance.kind !== FIBER_INSTANCE) {\n return null;\n }\n const fiber = devtoolsInstance.data;\n const {\n elementType,\n tag,\n type\n } = fiber;\n switch (tag) {\n case ClassComponent:\n case IncompleteClassComponent:\n case IncompleteFunctionComponent:\n case IndeterminateComponent:\n case FunctionComponent:\n return type;\n case ForwardRef:\n return type.render;\n case MemoComponent:\n case SimpleMemoComponent:\n return elementType != null && elementType.type != null ? elementType.type : type;\n default:\n return null;\n }\n }\n function instanceToSerializedElement(instance) {\n if (instance.kind === FIBER_INSTANCE) {\n const fiber = instance.data;\n return {\n displayName: getDisplayNameForFiber(fiber) || 'Anonymous',\n id: instance.id,\n key: fiber.key,\n env: null,\n stack: fiber._debugOwner == null || fiber._debugStack == null ? null : parseStackTrace(fiber._debugStack, 1),\n type: getElementTypeForFiber(fiber)\n };\n } else {\n const componentInfo = instance.data;\n return {\n displayName: componentInfo.name || 'Anonymous',\n id: instance.id,\n key: componentInfo.key == null ? null : componentInfo.key,\n env: componentInfo.env == null ? null : componentInfo.env,\n stack: componentInfo.owner == null || componentInfo.debugStack == null ? null : parseStackTrace(componentInfo.debugStack, 1),\n type: types_ElementTypeVirtual\n };\n }\n }\n function getOwnersList(id) {\n const devtoolsInstance = idToDevToolsInstanceMap.get(id);\n if (devtoolsInstance === undefined) {\n console.warn(`Could not find DevToolsInstance with id \"${id}\"`);\n return null;\n }\n const self = instanceToSerializedElement(devtoolsInstance);\n const owners = getOwnersListFromInstance(devtoolsInstance);\n if (owners === null) {\n return [self];\n }\n owners.unshift(self);\n owners.reverse();\n return owners;\n }\n function getOwnersListFromInstance(instance) {\n let owner = getUnfilteredOwner(instance.data);\n if (owner === null) {\n return null;\n }\n const owners = [];\n let parentInstance = instance.parent;\n while (parentInstance !== null && owner !== null) {\n const ownerInstance = findNearestOwnerInstance(parentInstance, owner);\n if (ownerInstance !== null) {\n owners.push(instanceToSerializedElement(ownerInstance));\n owner = getUnfilteredOwner(owner);\n parentInstance = ownerInstance.parent;\n } else {\n break;\n }\n }\n return owners;\n }\n function getUnfilteredOwner(owner) {\n if (owner == null) {\n return null;\n }\n if (typeof owner.tag === 'number') {\n const ownerFiber = owner;\n owner = ownerFiber._debugOwner;\n } else {\n const ownerInfo = owner;\n owner = ownerInfo.owner;\n }\n while (owner) {\n if (typeof owner.tag === 'number') {\n const ownerFiber = owner;\n if (!shouldFilterFiber(ownerFiber)) {\n return ownerFiber;\n }\n owner = ownerFiber._debugOwner;\n } else {\n const ownerInfo = owner;\n if (!shouldFilterVirtual(ownerInfo, null)) {\n return ownerInfo;\n }\n owner = ownerInfo.owner;\n }\n }\n return null;\n }\n function findNearestOwnerInstance(parentInstance, owner) {\n if (owner == null) {\n return null;\n }\n while (parentInstance !== null) {\n if (parentInstance.data === owner || parentInstance.data === owner.alternate) {\n if (parentInstance.kind === FILTERED_FIBER_INSTANCE) {\n return null;\n }\n return parentInstance;\n }\n parentInstance = parentInstance.parent;\n }\n return null;\n }\n function inspectHooks(fiber) {\n const originalConsoleMethods = {};\n for (const method in console) {\n try {\n originalConsoleMethods[method] = console[method];\n console[method] = () => {};\n } catch (error) {}\n }\n try {\n return inspectHooksOfFiber(fiber, getDispatcherRef(renderer));\n } finally {\n for (const method in originalConsoleMethods) {\n try {\n console[method] = originalConsoleMethods[method];\n } catch (error) {}\n }\n }\n }\n function getSuspendedByOfSuspenseNode(suspenseNode, filterByChildInstance) {\n const result = [];\n if (!suspenseNode.hasUniqueSuspenders) {\n return result;\n }\n let hooksCacheKey = null;\n let hooksCache = null;\n const streamEntries = new Map();\n suspenseNode.suspendedBy.forEach((set, ioInfo) => {\n let parentNode = suspenseNode.parent;\n while (parentNode !== null) {\n if (parentNode.suspendedBy.has(ioInfo)) {\n return;\n }\n parentNode = parentNode.parent;\n }\n if (set.size === 0) {\n return;\n }\n let firstInstance = null;\n if (filterByChildInstance === null) {\n firstInstance = set.values().next().value;\n } else {\n for (const childInstance of set.values()) {\n if (firstInstance === null) {\n firstInstance = childInstance;\n }\n if (childInstance !== filterByChildInstance && !isChildOf(filterByChildInstance, childInstance, suspenseNode.instance)) {\n return;\n }\n }\n }\n if (firstInstance !== null && firstInstance.suspendedBy !== null) {\n const asyncInfo = getAwaitInSuspendedByFromIO(firstInstance.suspendedBy, ioInfo);\n if (asyncInfo !== null) {\n let hooks = null;\n if (asyncInfo.stack == null && asyncInfo.owner == null) {\n if (hooksCacheKey === firstInstance) {\n hooks = hooksCache;\n } else if (firstInstance.kind !== VIRTUAL_INSTANCE) {\n const fiber = firstInstance.data;\n if (fiber.dependencies && fiber.dependencies._debugThenableState) {\n hooksCacheKey = firstInstance;\n hooksCache = hooks = inspectHooks(fiber);\n }\n }\n }\n const newIO = asyncInfo.awaited;\n if ((newIO.name === 'RSC stream' || newIO.name === 'rsc stream') && newIO.value != null) {\n const streamPromise = newIO.value;\n const existingEntry = streamEntries.get(streamPromise);\n if (existingEntry === undefined) {\n streamEntries.set(streamPromise, {\n asyncInfo,\n instance: firstInstance,\n hooks\n });\n } else {\n const existingIO = existingEntry.asyncInfo.awaited;\n if (newIO !== existingIO && (newIO.byteSize !== undefined && existingIO.byteSize !== undefined && newIO.byteSize > existingIO.byteSize || newIO.end > existingIO.end)) {\n existingEntry.asyncInfo = asyncInfo;\n existingEntry.instance = firstInstance;\n existingEntry.hooks = hooks;\n }\n }\n } else {\n result.push(serializeAsyncInfo(asyncInfo, firstInstance, hooks));\n }\n }\n }\n });\n streamEntries.forEach(({\n asyncInfo,\n instance,\n hooks\n }) => {\n result.push(serializeAsyncInfo(asyncInfo, instance, hooks));\n });\n return result;\n }\n function getSuspendedByOfInstance(devtoolsInstance, hooks) {\n const suspendedBy = devtoolsInstance.suspendedBy;\n if (suspendedBy === null) {\n return [];\n }\n const foundIOEntries = new Set();\n const streamEntries = new Map();\n const result = [];\n for (let i = 0; i < suspendedBy.length; i++) {\n const asyncInfo = suspendedBy[i];\n const ioInfo = asyncInfo.awaited;\n if (foundIOEntries.has(ioInfo)) {\n continue;\n }\n foundIOEntries.add(ioInfo);\n if ((ioInfo.name === 'RSC stream' || ioInfo.name === 'rsc stream') && ioInfo.value != null) {\n const streamPromise = ioInfo.value;\n const existingEntry = streamEntries.get(streamPromise);\n if (existingEntry === undefined) {\n streamEntries.set(streamPromise, asyncInfo);\n } else {\n const existingIO = existingEntry.awaited;\n if (ioInfo !== existingIO && (ioInfo.byteSize !== undefined && existingIO.byteSize !== undefined && ioInfo.byteSize > existingIO.byteSize || ioInfo.end > existingIO.end)) {\n streamEntries.set(streamPromise, asyncInfo);\n }\n }\n } else {\n result.push(serializeAsyncInfo(asyncInfo, devtoolsInstance, hooks));\n }\n }\n streamEntries.forEach(asyncInfo => {\n result.push(serializeAsyncInfo(asyncInfo, devtoolsInstance, hooks));\n });\n return result;\n }\n function getSuspendedByOfInstanceSubtree(devtoolsInstance) {\n let suspenseParentInstance = devtoolsInstance;\n while (suspenseParentInstance.suspenseNode === null) {\n if (suspenseParentInstance.parent === null) {\n return [];\n }\n suspenseParentInstance = suspenseParentInstance.parent;\n }\n const suspenseNode = suspenseParentInstance.suspenseNode;\n return getSuspendedByOfSuspenseNode(suspenseNode, devtoolsInstance);\n }\n const FALLBACK_THROTTLE_MS = 300;\n function getSuspendedByRange(suspenseNode) {\n let min = Infinity;\n let max = -Infinity;\n suspenseNode.suspendedBy.forEach((_, ioInfo) => {\n if (ioInfo.end > max) {\n max = ioInfo.end;\n }\n if (ioInfo.start < min) {\n min = ioInfo.start;\n }\n });\n const parentSuspenseNode = suspenseNode.parent;\n if (parentSuspenseNode !== null) {\n let parentMax = -Infinity;\n parentSuspenseNode.suspendedBy.forEach((_, ioInfo) => {\n if (ioInfo.end > parentMax) {\n parentMax = ioInfo.end;\n }\n });\n const throttleTime = parentMax + FALLBACK_THROTTLE_MS;\n if (throttleTime > max) {\n max = throttleTime;\n }\n let startTime = max - FALLBACK_THROTTLE_MS;\n if (parentMax > startTime) {\n startTime = parentMax;\n }\n if (startTime < min) {\n min = startTime;\n }\n }\n if (min < Infinity && max > -Infinity) {\n return [min, max];\n }\n return null;\n }\n function getAwaitStackFromHooks(hooks, asyncInfo) {\n for (let i = 0; i < hooks.length; i++) {\n const node = hooks[i];\n const debugInfo = node.debugInfo;\n if (debugInfo != null && debugInfo.indexOf(asyncInfo) !== -1) {\n const source = node.hookSource;\n if (source != null && source.functionName !== null && source.fileName !== null && source.lineNumber !== null && source.columnNumber !== null) {\n const callSite = [source.functionName, source.fileName, source.lineNumber, source.columnNumber, 0, 0, false];\n return [callSite];\n } else {\n return [];\n }\n }\n const matchedStack = getAwaitStackFromHooks(node.subHooks, asyncInfo);\n if (matchedStack !== null) {\n const source = node.hookSource;\n if (source != null && source.functionName !== null && source.fileName !== null && source.lineNumber !== null && source.columnNumber !== null) {\n const callSite = [source.functionName, source.fileName, source.lineNumber, source.columnNumber, 0, 0, false];\n matchedStack.push(callSite);\n }\n return matchedStack;\n }\n }\n return null;\n }\n function serializeAsyncInfo(asyncInfo, parentInstance, hooks) {\n const ioInfo = asyncInfo.awaited;\n const ioOwnerInstance = findNearestOwnerInstance(parentInstance, ioInfo.owner);\n let awaitStack = asyncInfo.debugStack == null ? null : parseStackTrace(asyncInfo.debugStack, 1);\n let awaitOwnerInstance;\n if (asyncInfo.owner == null && (awaitStack === null || awaitStack.length === 0)) {\n awaitStack = null;\n awaitOwnerInstance = parentInstance.kind === FILTERED_FIBER_INSTANCE ? null : parentInstance;\n if (parentInstance.kind === FIBER_INSTANCE || parentInstance.kind === FILTERED_FIBER_INSTANCE) {\n const fiber = parentInstance.data;\n switch (fiber.tag) {\n case ClassComponent:\n case FunctionComponent:\n case IncompleteClassComponent:\n case IncompleteFunctionComponent:\n case IndeterminateComponent:\n case MemoComponent:\n case SimpleMemoComponent:\n if (hooks !== null) {\n awaitStack = getAwaitStackFromHooks(hooks, asyncInfo);\n }\n break;\n default:\n if (fiber._debugOwner != null && fiber._debugStack != null && typeof fiber._debugStack !== 'string') {\n awaitStack = parseStackTrace(fiber._debugStack, 1);\n awaitOwnerInstance = findNearestOwnerInstance(parentInstance, fiber._debugOwner);\n }\n }\n }\n } else {\n awaitOwnerInstance = findNearestOwnerInstance(parentInstance, asyncInfo.owner);\n }\n const value = ioInfo.value;\n let resolvedValue = undefined;\n if (typeof value === 'object' && value !== null && typeof value.then === 'function') {\n switch (value.status) {\n case 'fulfilled':\n resolvedValue = value.value;\n break;\n case 'rejected':\n resolvedValue = value.reason;\n break;\n }\n }\n return {\n awaited: {\n name: ioInfo.name,\n description: getIODescription(resolvedValue),\n start: ioInfo.start,\n end: ioInfo.end,\n byteSize: ioInfo.byteSize == null ? null : ioInfo.byteSize,\n value: ioInfo.value == null ? null : ioInfo.value,\n env: ioInfo.env == null ? null : ioInfo.env,\n owner: ioOwnerInstance === null ? null : instanceToSerializedElement(ioOwnerInstance),\n stack: ioInfo.debugStack == null ? null : parseStackTrace(ioInfo.debugStack, 1)\n },\n env: asyncInfo.env == null ? null : asyncInfo.env,\n owner: awaitOwnerInstance === null ? null : instanceToSerializedElement(awaitOwnerInstance),\n stack: awaitStack\n };\n }\n function getInstanceAndStyle(id) {\n let instance = null;\n let style = null;\n const devtoolsInstance = idToDevToolsInstanceMap.get(id);\n if (devtoolsInstance === undefined) {\n console.warn(`Could not find DevToolsInstance with id \"${id}\"`);\n return {\n instance,\n style\n };\n }\n if (devtoolsInstance.kind !== FIBER_INSTANCE) {\n return {\n instance,\n style\n };\n }\n const fiber = devtoolsInstance.data;\n if (fiber !== null) {\n instance = fiber.stateNode;\n if (fiber.memoizedProps !== null) {\n style = fiber.memoizedProps.style;\n }\n }\n return {\n instance,\n style\n };\n }\n function isErrorBoundary(fiber) {\n const {\n tag,\n type\n } = fiber;\n switch (tag) {\n case ClassComponent:\n case IncompleteClassComponent:\n const instance = fiber.stateNode;\n return typeof type.getDerivedStateFromError === 'function' || instance !== null && typeof instance.componentDidCatch === 'function';\n default:\n return false;\n }\n }\n function inspectElementRaw(id) {\n const devtoolsInstance = idToDevToolsInstanceMap.get(id);\n if (devtoolsInstance === undefined) {\n console.warn(`Could not find DevToolsInstance with id \"${id}\"`);\n return null;\n }\n if (devtoolsInstance.kind === VIRTUAL_INSTANCE) {\n return inspectVirtualInstanceRaw(devtoolsInstance);\n }\n if (devtoolsInstance.kind === FIBER_INSTANCE) {\n const isRoot = devtoolsInstance.parent === null;\n return isRoot ? inspectRootsRaw(devtoolsInstance.id) : inspectFiberInstanceRaw(devtoolsInstance);\n }\n devtoolsInstance;\n throw new Error('Unsupported instance kind');\n }\n function inspectFiberInstanceRaw(fiberInstance) {\n const fiber = fiberInstance.data;\n if (fiber == null) {\n return null;\n }\n const {\n stateNode,\n key,\n memoizedProps,\n memoizedState,\n dependencies,\n tag,\n type\n } = fiber;\n const elementType = getElementTypeForFiber(fiber);\n const usesHooks = (tag === FunctionComponent || tag === SimpleMemoComponent || tag === ForwardRef) && (!!memoizedState || !!dependencies);\n const showState = tag === ClassComponent || tag === IncompleteClassComponent;\n const typeSymbol = getTypeSymbol(type);\n let canViewSource = false;\n let context = null;\n if (tag === ClassComponent || tag === FunctionComponent || tag === IncompleteClassComponent || tag === IncompleteFunctionComponent || tag === IndeterminateComponent || tag === MemoComponent || tag === ForwardRef || tag === SimpleMemoComponent) {\n canViewSource = true;\n if (stateNode && stateNode.context != null) {\n const shouldHideContext = elementType === types_ElementTypeClass && !(type.contextTypes || type.contextType);\n if (!shouldHideContext) {\n context = stateNode.context;\n }\n }\n } else if ((typeSymbol === CONTEXT_NUMBER || typeSymbol === CONTEXT_SYMBOL_STRING) && !(type._context === undefined && type.Provider === type)) {\n const consumerResolvedContext = type._context || type;\n context = consumerResolvedContext._currentValue || null;\n let current = fiber.return;\n while (current !== null) {\n const currentType = current.type;\n const currentTypeSymbol = getTypeSymbol(currentType);\n if (currentTypeSymbol === PROVIDER_NUMBER || currentTypeSymbol === PROVIDER_SYMBOL_STRING) {\n const providerResolvedContext = currentType._context || currentType.context;\n if (providerResolvedContext === consumerResolvedContext) {\n context = current.memoizedProps.value;\n break;\n }\n }\n current = current.return;\n }\n } else if (typeSymbol === CONSUMER_SYMBOL_STRING) {\n const consumerResolvedContext = type._context;\n context = consumerResolvedContext._currentValue || null;\n let current = fiber.return;\n while (current !== null) {\n const currentType = current.type;\n const currentTypeSymbol = getTypeSymbol(currentType);\n if (currentTypeSymbol === CONTEXT_SYMBOL_STRING) {\n const providerResolvedContext = currentType;\n if (providerResolvedContext === consumerResolvedContext) {\n context = current.memoizedProps.value;\n break;\n }\n }\n current = current.return;\n }\n }\n let hasLegacyContext = false;\n if (context !== null) {\n hasLegacyContext = !!type.contextTypes;\n context = {\n value: context\n };\n }\n const owners = getOwnersListFromInstance(fiberInstance);\n let hooks = null;\n if (usesHooks) {\n hooks = inspectHooks(fiber);\n }\n let rootType = null;\n let current = fiber;\n let hasErrorBoundary = false;\n let hasSuspenseBoundary = false;\n while (current.return !== null) {\n const temp = current;\n current = current.return;\n if (temp.tag === SuspenseComponent) {\n hasSuspenseBoundary = true;\n } else if (isErrorBoundary(temp)) {\n hasErrorBoundary = true;\n }\n }\n const fiberRoot = current.stateNode;\n if (fiberRoot != null && fiberRoot._debugRootType !== null) {\n rootType = fiberRoot._debugRootType;\n }\n let isErrored = false;\n if (isErrorBoundary(fiber)) {\n const DidCapture = 0b000000000000000000010000000;\n isErrored = (fiber.flags & DidCapture) !== 0 || forceErrorForFibers.get(fiber) === true || fiber.alternate !== null && forceErrorForFibers.get(fiber.alternate) === true;\n }\n const plugins = {\n stylex: null\n };\n if (enableStyleXFeatures) {\n if (memoizedProps != null && memoizedProps.hasOwnProperty('xstyle')) {\n plugins.stylex = getStyleXData(memoizedProps.xstyle);\n }\n }\n let source = null;\n if (canViewSource) {\n source = getSourceForFiberInstance(fiberInstance);\n }\n let componentLogsEntry = fiberToComponentLogsMap.get(fiber);\n if (componentLogsEntry === undefined && fiber.alternate !== null) {\n componentLogsEntry = fiberToComponentLogsMap.get(fiber.alternate);\n }\n let nativeTag = null;\n if (elementType === ElementTypeHostComponent) {\n nativeTag = getNativeTag(fiber.stateNode);\n }\n let isSuspended = null;\n if (tag === SuspenseComponent) {\n isSuspended = memoizedState !== null;\n }\n const suspendedBy = fiberInstance.suspenseNode !== null ? getSuspendedByOfSuspenseNode(fiberInstance.suspenseNode, null) : tag === ActivityComponent ? getSuspendedByOfInstanceSubtree(fiberInstance) : getSuspendedByOfInstance(fiberInstance, hooks);\n const suspendedByRange = getSuspendedByRange(getNearestSuspenseNode(fiberInstance));\n let unknownSuspenders = UNKNOWN_SUSPENDERS_NONE;\n if (fiberInstance.suspenseNode !== null && fiberInstance.suspenseNode.hasUnknownSuspenders && !isSuspended) {\n if (renderer.bundleType === 0) {\n unknownSuspenders = UNKNOWN_SUSPENDERS_REASON_PRODUCTION;\n } else if (!('_debugInfo' in fiber)) {\n unknownSuspenders = UNKNOWN_SUSPENDERS_REASON_OLD_VERSION;\n } else {\n unknownSuspenders = UNKNOWN_SUSPENDERS_REASON_THROWN_PROMISE;\n }\n }\n return {\n id: fiberInstance.id,\n canEditHooks: typeof overrideHookState === 'function',\n canEditFunctionProps: typeof overrideProps === 'function',\n canEditHooksAndDeletePaths: typeof overrideHookStateDeletePath === 'function',\n canEditHooksAndRenamePaths: typeof overrideHookStateRenamePath === 'function',\n canEditFunctionPropsDeletePaths: typeof overridePropsDeletePath === 'function',\n canEditFunctionPropsRenamePaths: typeof overridePropsRenamePath === 'function',\n canToggleError: supportsTogglingError && hasErrorBoundary,\n isErrored,\n canToggleSuspense: supportsTogglingSuspense && hasSuspenseBoundary && (!isSuspended || forceFallbackForFibers.has(fiber) || fiber.alternate !== null && forceFallbackForFibers.has(fiber.alternate)),\n isSuspended: isSuspended,\n source,\n stack: fiber._debugOwner == null || fiber._debugStack == null ? null : parseStackTrace(fiber._debugStack, 1),\n hasLegacyContext,\n key: key != null ? key : null,\n type: elementType,\n context,\n hooks,\n props: memoizedProps,\n state: showState ? memoizedState : null,\n errors: componentLogsEntry === undefined ? [] : Array.from(componentLogsEntry.errors.entries()),\n warnings: componentLogsEntry === undefined ? [] : Array.from(componentLogsEntry.warnings.entries()),\n suspendedBy: suspendedBy,\n suspendedByRange: suspendedByRange,\n unknownSuspenders: unknownSuspenders,\n owners,\n env: null,\n rootType,\n rendererPackageName: renderer.rendererPackageName,\n rendererVersion: renderer.version,\n plugins,\n nativeTag\n };\n }\n function inspectVirtualInstanceRaw(virtualInstance) {\n const source = getSourceForInstance(virtualInstance);\n const componentInfo = virtualInstance.data;\n const key = typeof componentInfo.key === 'string' ? componentInfo.key : null;\n const props = componentInfo.props == null ? null : componentInfo.props;\n const owners = getOwnersListFromInstance(virtualInstance);\n let rootType = null;\n let hasErrorBoundary = false;\n let hasSuspenseBoundary = false;\n const nearestFiber = getNearestFiber(virtualInstance);\n if (nearestFiber !== null) {\n let current = nearestFiber;\n while (current.return !== null) {\n const temp = current;\n current = current.return;\n if (temp.tag === SuspenseComponent) {\n hasSuspenseBoundary = true;\n } else if (isErrorBoundary(temp)) {\n hasErrorBoundary = true;\n }\n }\n const fiberRoot = current.stateNode;\n if (fiberRoot != null && fiberRoot._debugRootType !== null) {\n rootType = fiberRoot._debugRootType;\n }\n }\n const plugins = {\n stylex: null\n };\n const componentLogsEntry = componentInfoToComponentLogsMap.get(componentInfo);\n const isSuspended = null;\n const suspendedBy = getSuspendedByOfInstance(virtualInstance, null);\n const suspendedByRange = getSuspendedByRange(getNearestSuspenseNode(virtualInstance));\n return {\n id: virtualInstance.id,\n canEditHooks: false,\n canEditFunctionProps: false,\n canEditHooksAndDeletePaths: false,\n canEditHooksAndRenamePaths: false,\n canEditFunctionPropsDeletePaths: false,\n canEditFunctionPropsRenamePaths: false,\n canToggleError: supportsTogglingError && hasErrorBoundary,\n isErrored: false,\n canToggleSuspense: supportsTogglingSuspense && hasSuspenseBoundary,\n isSuspended: isSuspended,\n source,\n stack: componentInfo.owner == null || componentInfo.debugStack == null ? null : parseStackTrace(componentInfo.debugStack, 1),\n hasLegacyContext: false,\n key: key,\n type: types_ElementTypeVirtual,\n context: null,\n hooks: null,\n props: props,\n state: null,\n errors: componentLogsEntry === undefined ? [] : Array.from(componentLogsEntry.errors.entries()),\n warnings: componentLogsEntry === undefined ? [] : Array.from(componentLogsEntry.warnings.entries()),\n suspendedBy: suspendedBy,\n suspendedByRange: suspendedByRange,\n unknownSuspenders: UNKNOWN_SUSPENDERS_NONE,\n owners,\n env: componentInfo.env == null ? null : componentInfo.env,\n rootType,\n rendererPackageName: renderer.rendererPackageName,\n rendererVersion: renderer.version,\n plugins,\n nativeTag: null\n };\n }\n let mostRecentlyInspectedElement = null;\n let hasElementUpdatedSinceLastInspected = false;\n let currentlyInspectedPaths = {};\n function isMostRecentlyInspectedElement(id) {\n if (mostRecentlyInspectedElement === null) {\n return false;\n }\n if (mostRecentlyInspectedElement.id === id) {\n return true;\n }\n if (mostRecentlyInspectedElement.type === ElementTypeRoot) {\n const instance = idToDevToolsInstanceMap.get(id);\n return instance !== undefined && instance.kind === FIBER_INSTANCE && instance.parent === null;\n }\n return false;\n }\n function isMostRecentlyInspectedElementCurrent(id) {\n return isMostRecentlyInspectedElement(id) && !hasElementUpdatedSinceLastInspected;\n }\n function mergeInspectedPaths(path) {\n let current = currentlyInspectedPaths;\n path.forEach(key => {\n if (!current[key]) {\n current[key] = {};\n }\n current = current[key];\n });\n }\n function createIsPathAllowed(key, secondaryCategory) {\n return function isPathAllowed(path) {\n switch (secondaryCategory) {\n case 'hooks':\n if (path.length === 1) {\n return true;\n }\n if (path[path.length - 2] === 'hookSource' && path[path.length - 1] === 'fileName') {\n return true;\n }\n if (path[path.length - 1] === 'subHooks' || path[path.length - 2] === 'subHooks') {\n return true;\n }\n break;\n case 'suspendedBy':\n if (path.length < 5) {\n return true;\n }\n break;\n default:\n break;\n }\n let current = key === null ? currentlyInspectedPaths : currentlyInspectedPaths[key];\n if (!current) {\n return false;\n }\n for (let i = 0; i < path.length; i++) {\n current = current[path[i]];\n if (!current) {\n return false;\n }\n }\n return true;\n };\n }\n function updateSelectedElement(inspectedElement) {\n const {\n hooks,\n id,\n props\n } = inspectedElement;\n const devtoolsInstance = idToDevToolsInstanceMap.get(id);\n if (devtoolsInstance === undefined) {\n console.warn(`Could not find DevToolsInstance with id \"${id}\"`);\n return;\n }\n if (devtoolsInstance.kind !== FIBER_INSTANCE) {\n return;\n }\n const fiber = devtoolsInstance.data;\n const {\n elementType,\n stateNode,\n tag,\n type\n } = fiber;\n switch (tag) {\n case ClassComponent:\n case IncompleteClassComponent:\n case IndeterminateComponent:\n global.$r = stateNode;\n break;\n case IncompleteFunctionComponent:\n case FunctionComponent:\n global.$r = {\n hooks,\n props,\n type\n };\n break;\n case ForwardRef:\n global.$r = {\n hooks,\n props,\n type: type.render\n };\n break;\n case MemoComponent:\n case SimpleMemoComponent:\n global.$r = {\n hooks,\n props,\n type: elementType != null && elementType.type != null ? elementType.type : type\n };\n break;\n default:\n global.$r = null;\n break;\n }\n }\n function storeAsGlobal(id, path, count) {\n if (isMostRecentlyInspectedElement(id)) {\n const value = utils_getInObject(mostRecentlyInspectedElement, path);\n const key = `$reactTemp${count}`;\n window[key] = value;\n console.log(key);\n console.log(value);\n }\n }\n function getSerializedElementValueByPath(id, path) {\n if (isMostRecentlyInspectedElement(id)) {\n const valueToCopy = utils_getInObject(mostRecentlyInspectedElement, path);\n return serializeToString(valueToCopy);\n }\n }\n function inspectElement(requestID, id, path, forceFullData) {\n if (path !== null) {\n mergeInspectedPaths(path);\n }\n if (isMostRecentlyInspectedElement(id) && !forceFullData) {\n if (!hasElementUpdatedSinceLastInspected) {\n if (path !== null) {\n let secondaryCategory = null;\n if (path[0] === 'hooks' || path[0] === 'suspendedBy') {\n secondaryCategory = path[0];\n }\n return {\n id,\n responseID: requestID,\n type: 'hydrated-path',\n path,\n value: cleanForBridge(utils_getInObject(mostRecentlyInspectedElement, path), createIsPathAllowed(null, secondaryCategory), path)\n };\n } else {\n return {\n id,\n responseID: requestID,\n type: 'no-change'\n };\n }\n }\n } else {\n currentlyInspectedPaths = {};\n }\n hasElementUpdatedSinceLastInspected = false;\n try {\n mostRecentlyInspectedElement = inspectElementRaw(id);\n } catch (error) {\n if (error.name === 'ReactDebugToolsRenderError') {\n let message = 'Error rendering inspected element.';\n let stack;\n console.error(message + '\\n\\n', error);\n if (error.cause != null) {\n const componentName = getDisplayNameForElementID(id);\n console.error('React DevTools encountered an error while trying to inspect hooks. ' + 'This is most likely caused by an error in current inspected component' + (componentName != null ? `: \"${componentName}\".` : '.') + '\\nThe error thrown in the component is: \\n\\n', error.cause);\n if (error.cause instanceof Error) {\n message = error.cause.message || message;\n stack = error.cause.stack;\n }\n }\n return {\n type: 'error',\n errorType: 'user',\n id,\n responseID: requestID,\n message,\n stack\n };\n }\n if (error.name === 'ReactDebugToolsUnsupportedHookError') {\n return {\n type: 'error',\n errorType: 'unknown-hook',\n id,\n responseID: requestID,\n message: 'Unsupported hook in the react-debug-tools package: ' + error.message\n };\n }\n console.error('Error inspecting element.\\n\\n', error);\n return {\n type: 'error',\n errorType: 'uncaught',\n id,\n responseID: requestID,\n message: error.message,\n stack: error.stack\n };\n }\n if (mostRecentlyInspectedElement === null) {\n return {\n id,\n responseID: requestID,\n type: 'not-found'\n };\n }\n const inspectedElement = mostRecentlyInspectedElement;\n updateSelectedElement(inspectedElement);\n const cleanedInspectedElement = {\n ...inspectedElement\n };\n cleanedInspectedElement.context = cleanForBridge(inspectedElement.context, createIsPathAllowed('context', null));\n cleanedInspectedElement.hooks = cleanForBridge(inspectedElement.hooks, createIsPathAllowed('hooks', 'hooks'));\n cleanedInspectedElement.props = cleanForBridge(inspectedElement.props, createIsPathAllowed('props', null));\n cleanedInspectedElement.state = cleanForBridge(inspectedElement.state, createIsPathAllowed('state', null));\n cleanedInspectedElement.suspendedBy = cleanForBridge(inspectedElement.suspendedBy, createIsPathAllowed('suspendedBy', 'suspendedBy'));\n return {\n id,\n responseID: requestID,\n type: 'full-data',\n value: cleanedInspectedElement\n };\n }\n function inspectRootsRaw(arbitraryRootID) {\n const roots = hook.getFiberRoots(rendererID);\n if (roots.size === 0) {\n return null;\n }\n const inspectedRoots = {\n id: arbitraryRootID,\n type: ElementTypeRoot,\n isErrored: false,\n errors: [],\n warnings: [],\n suspendedBy: [],\n suspendedByRange: null,\n unknownSuspenders: UNKNOWN_SUSPENDERS_NONE,\n rootType: null,\n plugins: {\n stylex: null\n },\n nativeTag: null,\n env: null,\n source: null,\n stack: null,\n rendererPackageName: null,\n rendererVersion: null,\n key: null,\n canEditFunctionProps: false,\n canEditHooks: false,\n canEditFunctionPropsDeletePaths: false,\n canEditFunctionPropsRenamePaths: false,\n canEditHooksAndDeletePaths: false,\n canEditHooksAndRenamePaths: false,\n canToggleError: false,\n canToggleSuspense: false,\n isSuspended: false,\n hasLegacyContext: false,\n context: null,\n hooks: null,\n props: null,\n state: null,\n owners: null\n };\n let minSuspendedByRange = Infinity;\n let maxSuspendedByRange = -Infinity;\n roots.forEach(root => {\n const rootInstance = rootToFiberInstanceMap.get(root);\n if (rootInstance === undefined) {\n throw new Error('Expected a root instance to exist for this Fiber root');\n }\n const inspectedRoot = inspectFiberInstanceRaw(rootInstance);\n if (inspectedRoot === null) {\n return;\n }\n if (inspectedRoot.isErrored) {\n inspectedRoots.isErrored = true;\n }\n for (let i = 0; i < inspectedRoot.errors.length; i++) {\n inspectedRoots.errors.push(inspectedRoot.errors[i]);\n }\n for (let i = 0; i < inspectedRoot.warnings.length; i++) {\n inspectedRoots.warnings.push(inspectedRoot.warnings[i]);\n }\n for (let i = 0; i < inspectedRoot.suspendedBy.length; i++) {\n inspectedRoots.suspendedBy.push(inspectedRoot.suspendedBy[i]);\n }\n const suspendedByRange = inspectedRoot.suspendedByRange;\n if (suspendedByRange !== null) {\n if (suspendedByRange[0] < minSuspendedByRange) {\n minSuspendedByRange = suspendedByRange[0];\n }\n if (suspendedByRange[1] > maxSuspendedByRange) {\n maxSuspendedByRange = suspendedByRange[1];\n }\n }\n });\n if (minSuspendedByRange !== Infinity || maxSuspendedByRange !== -Infinity) {\n inspectedRoots.suspendedByRange = [minSuspendedByRange, maxSuspendedByRange];\n }\n return inspectedRoots;\n }\n function logElementToConsole(id) {\n const result = isMostRecentlyInspectedElementCurrent(id) ? mostRecentlyInspectedElement : inspectElementRaw(id);\n if (result === null) {\n console.warn(`Could not find DevToolsInstance with id \"${id}\"`);\n return;\n }\n const displayName = getDisplayNameForElementID(id);\n const supportsGroup = typeof console.groupCollapsed === 'function';\n if (supportsGroup) {\n console.groupCollapsed(`[Click to expand] %c<${displayName || 'Component'} />`, 'color: var(--dom-tag-name-color); font-weight: normal;');\n }\n if (result.props !== null) {\n console.log('Props:', result.props);\n }\n if (result.state !== null) {\n console.log('State:', result.state);\n }\n if (result.hooks !== null) {\n console.log('Hooks:', result.hooks);\n }\n const hostInstances = findHostInstancesForElementID(id);\n if (hostInstances !== null) {\n console.log('Nodes:', hostInstances);\n }\n if (window.chrome || /firefox/i.test(navigator.userAgent)) {\n console.log('Right-click any value to save it as a global variable for further inspection.');\n }\n if (supportsGroup) {\n console.groupEnd();\n }\n }\n function deletePath(type, id, hookID, path) {\n const devtoolsInstance = idToDevToolsInstanceMap.get(id);\n if (devtoolsInstance === undefined) {\n console.warn(`Could not find DevToolsInstance with id \"${id}\"`);\n return;\n }\n if (devtoolsInstance.kind !== FIBER_INSTANCE) {\n return;\n }\n const fiber = devtoolsInstance.data;\n if (fiber !== null) {\n const instance = fiber.stateNode;\n switch (type) {\n case 'context':\n path = path.slice(1);\n switch (fiber.tag) {\n case ClassComponent:\n if (path.length === 0) {} else {\n deletePathInObject(instance.context, path);\n }\n instance.forceUpdate();\n break;\n case FunctionComponent:\n break;\n }\n break;\n case 'hooks':\n if (typeof overrideHookStateDeletePath === 'function') {\n overrideHookStateDeletePath(fiber, hookID, path);\n }\n break;\n case 'props':\n if (instance === null) {\n if (typeof overridePropsDeletePath === 'function') {\n overridePropsDeletePath(fiber, path);\n }\n } else {\n fiber.pendingProps = copyWithDelete(instance.props, path);\n instance.forceUpdate();\n }\n break;\n case 'state':\n deletePathInObject(instance.state, path);\n instance.forceUpdate();\n break;\n }\n }\n }\n function renamePath(type, id, hookID, oldPath, newPath) {\n const devtoolsInstance = idToDevToolsInstanceMap.get(id);\n if (devtoolsInstance === undefined) {\n console.warn(`Could not find DevToolsInstance with id \"${id}\"`);\n return;\n }\n if (devtoolsInstance.kind !== FIBER_INSTANCE) {\n return;\n }\n const fiber = devtoolsInstance.data;\n if (fiber !== null) {\n const instance = fiber.stateNode;\n switch (type) {\n case 'context':\n oldPath = oldPath.slice(1);\n newPath = newPath.slice(1);\n switch (fiber.tag) {\n case ClassComponent:\n if (oldPath.length === 0) {} else {\n renamePathInObject(instance.context, oldPath, newPath);\n }\n instance.forceUpdate();\n break;\n case FunctionComponent:\n break;\n }\n break;\n case 'hooks':\n if (typeof overrideHookStateRenamePath === 'function') {\n overrideHookStateRenamePath(fiber, hookID, oldPath, newPath);\n }\n break;\n case 'props':\n if (instance === null) {\n if (typeof overridePropsRenamePath === 'function') {\n overridePropsRenamePath(fiber, oldPath, newPath);\n }\n } else {\n fiber.pendingProps = copyWithRename(instance.props, oldPath, newPath);\n instance.forceUpdate();\n }\n break;\n case 'state':\n renamePathInObject(instance.state, oldPath, newPath);\n instance.forceUpdate();\n break;\n }\n }\n }\n function overrideValueAtPath(type, id, hookID, path, value) {\n const devtoolsInstance = idToDevToolsInstanceMap.get(id);\n if (devtoolsInstance === undefined) {\n console.warn(`Could not find DevToolsInstance with id \"${id}\"`);\n return;\n }\n if (devtoolsInstance.kind !== FIBER_INSTANCE) {\n return;\n }\n const fiber = devtoolsInstance.data;\n if (fiber !== null) {\n const instance = fiber.stateNode;\n switch (type) {\n case 'context':\n path = path.slice(1);\n switch (fiber.tag) {\n case ClassComponent:\n if (path.length === 0) {\n instance.context = value;\n } else {\n utils_setInObject(instance.context, path, value);\n }\n instance.forceUpdate();\n break;\n case FunctionComponent:\n break;\n }\n break;\n case 'hooks':\n if (typeof overrideHookState === 'function') {\n overrideHookState(fiber, hookID, path, value);\n }\n break;\n case 'props':\n switch (fiber.tag) {\n case ClassComponent:\n fiber.pendingProps = copyWithSet(instance.props, path, value);\n instance.forceUpdate();\n break;\n default:\n if (typeof overrideProps === 'function') {\n overrideProps(fiber, path, value);\n }\n break;\n }\n break;\n case 'state':\n switch (fiber.tag) {\n case ClassComponent:\n utils_setInObject(instance.state, path, value);\n instance.forceUpdate();\n break;\n }\n break;\n }\n }\n }\n let currentCommitProfilingMetadata = null;\n let displayNamesByRootID = null;\n let initialTreeBaseDurationsMap = null;\n let isProfiling = false;\n let profilingStartTime = 0;\n let recordChangeDescriptions = false;\n let recordTimeline = false;\n let rootToCommitProfilingMetadataMap = null;\n function getProfilingData() {\n const dataForRoots = [];\n if (rootToCommitProfilingMetadataMap === null) {\n throw Error('getProfilingData() called before any profiling data was recorded');\n }\n rootToCommitProfilingMetadataMap.forEach((commitProfilingMetadata, rootID) => {\n const commitData = [];\n const displayName = displayNamesByRootID !== null && displayNamesByRootID.get(rootID) || 'Unknown';\n const initialTreeBaseDurations = initialTreeBaseDurationsMap !== null && initialTreeBaseDurationsMap.get(rootID) || [];\n commitProfilingMetadata.forEach((commitProfilingData, commitIndex) => {\n const {\n changeDescriptions,\n durations,\n effectDuration,\n maxActualDuration,\n passiveEffectDuration,\n priorityLevel,\n commitTime,\n updaters\n } = commitProfilingData;\n const fiberActualDurations = [];\n const fiberSelfDurations = [];\n for (let i = 0; i < durations.length; i += 3) {\n const fiberID = durations[i];\n fiberActualDurations.push([fiberID, formatDurationToMicrosecondsGranularity(durations[i + 1])]);\n fiberSelfDurations.push([fiberID, formatDurationToMicrosecondsGranularity(durations[i + 2])]);\n }\n commitData.push({\n changeDescriptions: changeDescriptions !== null ? Array.from(changeDescriptions.entries()) : null,\n duration: formatDurationToMicrosecondsGranularity(maxActualDuration),\n effectDuration: effectDuration !== null ? formatDurationToMicrosecondsGranularity(effectDuration) : null,\n fiberActualDurations,\n fiberSelfDurations,\n passiveEffectDuration: passiveEffectDuration !== null ? formatDurationToMicrosecondsGranularity(passiveEffectDuration) : null,\n priorityLevel,\n timestamp: commitTime,\n updaters\n });\n });\n dataForRoots.push({\n commitData,\n displayName,\n initialTreeBaseDurations,\n rootID\n });\n });\n let timelineData = null;\n if (typeof getTimelineData === 'function') {\n const currentTimelineData = getTimelineData();\n if (currentTimelineData) {\n const {\n batchUIDToMeasuresMap,\n internalModuleSourceToRanges,\n laneToLabelMap,\n laneToReactMeasureMap,\n ...rest\n } = currentTimelineData;\n timelineData = {\n ...rest,\n batchUIDToMeasuresKeyValueArray: Array.from(batchUIDToMeasuresMap.entries()),\n internalModuleSourceToRanges: Array.from(internalModuleSourceToRanges.entries()),\n laneToLabelKeyValueArray: Array.from(laneToLabelMap.entries()),\n laneToReactMeasureKeyValueArray: Array.from(laneToReactMeasureMap.entries())\n };\n }\n }\n return {\n dataForRoots,\n rendererID,\n timelineData\n };\n }\n function snapshotTreeBaseDurations(instance, target) {\n if (instance.kind !== FILTERED_FIBER_INSTANCE) {\n target.push([instance.id, instance.treeBaseDuration]);\n }\n for (let child = instance.firstChild; child !== null; child = child.nextSibling) {\n snapshotTreeBaseDurations(child, target);\n }\n }\n function startProfiling(shouldRecordChangeDescriptions, shouldRecordTimeline) {\n if (isProfiling) {\n return;\n }\n recordChangeDescriptions = shouldRecordChangeDescriptions;\n recordTimeline = shouldRecordTimeline;\n displayNamesByRootID = new Map();\n initialTreeBaseDurationsMap = new Map();\n hook.getFiberRoots(rendererID).forEach(root => {\n const rootInstance = rootToFiberInstanceMap.get(root);\n if (rootInstance === undefined) {\n throw new Error('Expected the root instance to already exist when starting profiling');\n }\n const rootID = rootInstance.id;\n displayNamesByRootID.set(rootID, getDisplayNameForRoot(root.current));\n const initialTreeBaseDurations = [];\n snapshotTreeBaseDurations(rootInstance, initialTreeBaseDurations);\n initialTreeBaseDurationsMap.set(rootID, initialTreeBaseDurations);\n });\n isProfiling = true;\n profilingStartTime = renderer_getCurrentTime();\n rootToCommitProfilingMetadataMap = new Map();\n if (toggleProfilingStatus !== null) {\n toggleProfilingStatus(true, recordTimeline);\n }\n }\n function stopProfiling() {\n isProfiling = false;\n recordChangeDescriptions = false;\n if (toggleProfilingStatus !== null) {\n toggleProfilingStatus(false, recordTimeline);\n }\n recordTimeline = false;\n }\n if (shouldStartProfilingNow) {\n startProfiling(profilingSettings.recordChangeDescriptions, profilingSettings.recordTimeline);\n }\n function getNearestFiber(devtoolsInstance) {\n if (devtoolsInstance.kind === VIRTUAL_INSTANCE) {\n let inst = devtoolsInstance;\n while (inst.kind === VIRTUAL_INSTANCE) {\n if (inst.firstChild === null) {\n return null;\n }\n inst = inst.firstChild;\n }\n return inst.data.return;\n } else {\n return devtoolsInstance.data;\n }\n }\n function shouldErrorFiberAlwaysNull() {\n return null;\n }\n const forceErrorForFibers = new Map();\n function shouldErrorFiberAccordingToMap(fiber) {\n if (typeof setErrorHandler !== 'function') {\n throw new Error('Expected overrideError() to not get called for earlier React versions.');\n }\n let status = forceErrorForFibers.get(fiber);\n if (status === false) {\n forceErrorForFibers.delete(fiber);\n if (forceErrorForFibers.size === 0) {\n setErrorHandler(shouldErrorFiberAlwaysNull);\n }\n return false;\n }\n if (status === undefined && fiber.alternate !== null) {\n status = forceErrorForFibers.get(fiber.alternate);\n if (status === false) {\n forceErrorForFibers.delete(fiber.alternate);\n if (forceErrorForFibers.size === 0) {\n setErrorHandler(shouldErrorFiberAlwaysNull);\n }\n }\n }\n if (status === undefined) {\n return false;\n }\n return status;\n }\n function overrideError(id, forceError) {\n if (typeof setErrorHandler !== 'function' || typeof scheduleUpdate !== 'function') {\n throw new Error('Expected overrideError() to not get called for earlier React versions.');\n }\n const devtoolsInstance = idToDevToolsInstanceMap.get(id);\n if (devtoolsInstance === undefined) {\n return;\n }\n const nearestFiber = getNearestFiber(devtoolsInstance);\n if (nearestFiber === null) {\n return;\n }\n let fiber = nearestFiber;\n while (!isErrorBoundary(fiber)) {\n if (fiber.return === null) {\n return;\n }\n fiber = fiber.return;\n }\n forceErrorForFibers.set(fiber, forceError);\n if (fiber.alternate !== null) {\n forceErrorForFibers.delete(fiber.alternate);\n }\n if (forceErrorForFibers.size === 1) {\n setErrorHandler(shouldErrorFiberAccordingToMap);\n }\n if (!forceError && typeof scheduleRetry === 'function') {\n scheduleRetry(fiber);\n } else {\n scheduleUpdate(fiber);\n }\n }\n function shouldSuspendFiberAlwaysFalse() {\n return false;\n }\n const forceFallbackForFibers = new Set();\n function shouldSuspendFiberAccordingToSet(fiber) {\n return forceFallbackForFibers.has(fiber) || fiber.alternate !== null && forceFallbackForFibers.has(fiber.alternate);\n }\n function overrideSuspense(id, forceFallback) {\n if (typeof setSuspenseHandler !== 'function' || typeof scheduleUpdate !== 'function') {\n throw new Error('Expected overrideSuspense() to not get called for earlier React versions.');\n }\n const devtoolsInstance = idToDevToolsInstanceMap.get(id);\n if (devtoolsInstance === undefined) {\n return;\n }\n const nearestFiber = getNearestFiber(devtoolsInstance);\n if (nearestFiber === null) {\n return;\n }\n let fiber = nearestFiber;\n while (fiber.tag !== SuspenseComponent) {\n if (fiber.return === null) {\n return;\n }\n fiber = fiber.return;\n }\n if (fiber.alternate !== null) {\n forceFallbackForFibers.delete(fiber.alternate);\n }\n if (forceFallback) {\n forceFallbackForFibers.add(fiber);\n if (forceFallbackForFibers.size === 1) {\n setSuspenseHandler(shouldSuspendFiberAccordingToSet);\n }\n } else {\n forceFallbackForFibers.delete(fiber);\n if (forceFallbackForFibers.size === 0) {\n setSuspenseHandler(shouldSuspendFiberAlwaysFalse);\n }\n }\n if (!forceFallback && typeof scheduleRetry === 'function') {\n scheduleRetry(fiber);\n } else {\n scheduleUpdate(fiber);\n }\n }\n function overrideSuspenseMilestone(suspendedSet) {\n if (typeof setSuspenseHandler !== 'function' || typeof scheduleUpdate !== 'function') {\n throw new Error('Expected overrideSuspenseMilestone() to not get called for earlier React versions.');\n }\n const unsuspendedSet = new Set(forceFallbackForFibers);\n let resuspended = false;\n for (let i = 0; i < suspendedSet.length; ++i) {\n const instance = idToDevToolsInstanceMap.get(suspendedSet[i]);\n if (instance === undefined) {\n console.warn(`Could not suspend ID '${suspendedSet[i]}' since the instance can't be found.`);\n continue;\n }\n if (instance.kind === FIBER_INSTANCE) {\n const fiber = instance.data;\n if (forceFallbackForFibers.has(fiber) || fiber.alternate !== null && forceFallbackForFibers.has(fiber.alternate)) {\n unsuspendedSet.delete(fiber);\n if (fiber.alternate !== null) {\n unsuspendedSet.delete(fiber.alternate);\n }\n } else {\n forceFallbackForFibers.add(fiber);\n scheduleUpdate(fiber);\n resuspended = true;\n }\n } else {\n console.warn(`Cannot not suspend ID '${suspendedSet[i]}'.`);\n }\n }\n unsuspendedSet.forEach(fiber => {\n forceFallbackForFibers.delete(fiber);\n if (!resuspended && typeof scheduleRetry === 'function') {\n scheduleRetry(fiber);\n } else {\n scheduleUpdate(fiber);\n }\n });\n if (forceFallbackForFibers.size > 0) {\n setSuspenseHandler(shouldSuspendFiberAccordingToSet);\n } else {\n setSuspenseHandler(shouldSuspendFiberAlwaysFalse);\n }\n }\n let trackedPath = null;\n let trackedPathMatchFiber = null;\n let trackedPathMatchInstance = null;\n let trackedPathMatchDepth = -1;\n let mightBeOnTrackedPath = false;\n function setTrackedPath(path) {\n if (path === null) {\n trackedPathMatchFiber = null;\n trackedPathMatchInstance = null;\n trackedPathMatchDepth = -1;\n mightBeOnTrackedPath = false;\n }\n trackedPath = path;\n }\n function updateTrackedPathStateBeforeMount(fiber, fiberInstance) {\n if (trackedPath === null || !mightBeOnTrackedPath) {\n return false;\n }\n const returnFiber = fiber.return;\n const returnAlternate = returnFiber !== null ? returnFiber.alternate : null;\n if (trackedPathMatchFiber === returnFiber || trackedPathMatchFiber === returnAlternate && returnAlternate !== null) {\n const actualFrame = getPathFrame(fiber);\n const expectedFrame = trackedPath[trackedPathMatchDepth + 1];\n if (expectedFrame === undefined) {\n throw new Error('Expected to see a frame at the next depth.');\n }\n if (actualFrame.index === expectedFrame.index && actualFrame.key === expectedFrame.key && actualFrame.displayName === expectedFrame.displayName) {\n trackedPathMatchFiber = fiber;\n if (fiberInstance !== null && fiberInstance.kind === FIBER_INSTANCE) {\n trackedPathMatchInstance = fiberInstance;\n }\n trackedPathMatchDepth++;\n if (trackedPathMatchDepth === trackedPath.length - 1) {\n mightBeOnTrackedPath = false;\n } else {\n mightBeOnTrackedPath = true;\n }\n return false;\n }\n }\n if (trackedPathMatchFiber === null && fiberInstance === null) {\n return true;\n }\n mightBeOnTrackedPath = false;\n return true;\n }\n function updateVirtualTrackedPathStateBeforeMount(virtualInstance, parentInstance) {\n if (trackedPath === null || !mightBeOnTrackedPath) {\n return false;\n }\n if (trackedPathMatchInstance === parentInstance) {\n const actualFrame = getVirtualPathFrame(virtualInstance);\n const expectedFrame = trackedPath[trackedPathMatchDepth + 1];\n if (expectedFrame === undefined) {\n throw new Error('Expected to see a frame at the next depth.');\n }\n if (actualFrame.index === expectedFrame.index && actualFrame.key === expectedFrame.key && actualFrame.displayName === expectedFrame.displayName) {\n trackedPathMatchFiber = null;\n trackedPathMatchInstance = virtualInstance;\n trackedPathMatchDepth++;\n if (trackedPathMatchDepth === trackedPath.length - 1) {\n mightBeOnTrackedPath = false;\n } else {\n mightBeOnTrackedPath = true;\n }\n return false;\n }\n }\n if (trackedPathMatchFiber !== null) {\n return true;\n }\n mightBeOnTrackedPath = false;\n return true;\n }\n function updateTrackedPathStateAfterMount(mightSiblingsBeOnTrackedPath) {\n mightBeOnTrackedPath = mightSiblingsBeOnTrackedPath;\n }\n const rootPseudoKeys = new Map();\n const rootDisplayNameCounter = new Map();\n function setRootPseudoKey(id, fiber) {\n const name = getDisplayNameForRoot(fiber);\n const counter = rootDisplayNameCounter.get(name) || 0;\n rootDisplayNameCounter.set(name, counter + 1);\n const pseudoKey = `${name}:${counter}`;\n rootPseudoKeys.set(id, pseudoKey);\n }\n function removeRootPseudoKey(id) {\n const pseudoKey = rootPseudoKeys.get(id);\n if (pseudoKey === undefined) {\n throw new Error('Expected root pseudo key to be known.');\n }\n const name = pseudoKey.slice(0, pseudoKey.lastIndexOf(':'));\n const counter = rootDisplayNameCounter.get(name);\n if (counter === undefined) {\n throw new Error('Expected counter to be known.');\n }\n if (counter > 1) {\n rootDisplayNameCounter.set(name, counter - 1);\n } else {\n rootDisplayNameCounter.delete(name);\n }\n rootPseudoKeys.delete(id);\n }\n function getDisplayNameForRoot(fiber) {\n let preferredDisplayName = null;\n let fallbackDisplayName = null;\n let child = fiber.child;\n for (let i = 0; i < 3; i++) {\n if (child === null) {\n break;\n }\n const displayName = getDisplayNameForFiber(child);\n if (displayName !== null) {\n if (typeof child.type === 'function') {\n preferredDisplayName = displayName;\n } else if (fallbackDisplayName === null) {\n fallbackDisplayName = displayName;\n }\n }\n if (preferredDisplayName !== null) {\n break;\n }\n child = child.child;\n }\n return preferredDisplayName || fallbackDisplayName || 'Anonymous';\n }\n function getPathFrame(fiber) {\n const {\n key\n } = fiber;\n let displayName = getDisplayNameForFiber(fiber);\n const index = fiber.index;\n switch (fiber.tag) {\n case HostRoot:\n const rootInstance = rootToFiberInstanceMap.get(fiber.stateNode);\n if (rootInstance === undefined) {\n throw new Error('Expected the root instance to exist when computing a path');\n }\n const pseudoKey = rootPseudoKeys.get(rootInstance.id);\n if (pseudoKey === undefined) {\n throw new Error('Expected mounted root to have known pseudo key.');\n }\n displayName = pseudoKey;\n break;\n case HostComponent:\n displayName = fiber.type;\n break;\n default:\n break;\n }\n return {\n displayName,\n key,\n index\n };\n }\n function getVirtualPathFrame(virtualInstance) {\n return {\n displayName: virtualInstance.data.name || '',\n key: virtualInstance.data.key == null ? null : virtualInstance.data.key,\n index: -1\n };\n }\n function getPathForElement(id) {\n const devtoolsInstance = idToDevToolsInstanceMap.get(id);\n if (devtoolsInstance === undefined) {\n return null;\n }\n const keyPath = [];\n let inst = devtoolsInstance;\n while (inst.kind === VIRTUAL_INSTANCE) {\n keyPath.push(getVirtualPathFrame(inst));\n if (inst.parent === null) {\n return null;\n }\n inst = inst.parent;\n }\n let fiber = inst.data;\n while (fiber !== null) {\n keyPath.push(getPathFrame(fiber));\n fiber = fiber.return;\n }\n keyPath.reverse();\n return keyPath;\n }\n function getBestMatchForTrackedPath() {\n if (trackedPath === null) {\n return null;\n }\n if (trackedPathMatchInstance === null) {\n return null;\n }\n return {\n id: trackedPathMatchInstance.id,\n isFullMatch: trackedPathMatchDepth === trackedPath.length - 1\n };\n }\n const formatPriorityLevel = priorityLevel => {\n if (priorityLevel == null) {\n return 'Unknown';\n }\n switch (priorityLevel) {\n case ImmediatePriority:\n return 'Immediate';\n case UserBlockingPriority:\n return 'User-Blocking';\n case NormalPriority:\n return 'Normal';\n case LowPriority:\n return 'Low';\n case IdlePriority:\n return 'Idle';\n case NoPriority:\n default:\n return 'Unknown';\n }\n };\n function setTraceUpdatesEnabled(isEnabled) {\n traceUpdatesEnabled = isEnabled;\n }\n function hasElementWithId(id) {\n return idToDevToolsInstanceMap.has(id);\n }\n function getSourceForFiberInstance(fiberInstance) {\n const ownerSource = getSourceForInstance(fiberInstance);\n if (ownerSource !== null) {\n return ownerSource;\n }\n const dispatcherRef = getDispatcherRef(renderer);\n const stackFrame = dispatcherRef == null ? null : getSourceLocationByFiber(ReactTypeOfWork, fiberInstance.data, dispatcherRef);\n if (stackFrame === null) {\n return null;\n }\n const source = extractLocationFromComponentStack(stackFrame);\n fiberInstance.source = source;\n return source;\n }\n function getSourceForInstance(instance) {\n let unresolvedSource = instance.source;\n if (unresolvedSource === null) {\n return null;\n }\n if (instance.kind === VIRTUAL_INSTANCE) {\n const debugLocation = instance.data.debugLocation;\n if (debugLocation != null) {\n unresolvedSource = debugLocation;\n }\n }\n if (renderer_isError(unresolvedSource)) {\n return instance.source = extractLocationFromOwnerStack(unresolvedSource);\n }\n if (typeof unresolvedSource === 'string') {\n const idx = unresolvedSource.lastIndexOf('\\n');\n const lastLine = idx === -1 ? unresolvedSource : unresolvedSource.slice(idx + 1);\n return instance.source = extractLocationFromComponentStack(lastLine);\n }\n return unresolvedSource;\n }\n const internalMcpFunctions = {};\n if (false) {}\n return {\n cleanup,\n clearErrorsAndWarnings,\n clearErrorsForElementID,\n clearWarningsForElementID,\n getSerializedElementValueByPath,\n deletePath,\n findHostInstancesForElementID,\n findLastKnownRectsForID,\n flushInitialOperations,\n getBestMatchForTrackedPath,\n getDisplayNameForElementID,\n getNearestMountedDOMNode,\n getElementIDForHostInstance,\n getSuspenseNodeIDForHostInstance,\n getInstanceAndStyle,\n getOwnersList,\n getPathForElement,\n getProfilingData,\n handleCommitFiberRoot,\n handleCommitFiberUnmount,\n handlePostCommitFiberRoot,\n hasElementWithId,\n inspectElement,\n logElementToConsole,\n getComponentStack,\n getElementAttributeByPath,\n getElementSourceFunctionById,\n onErrorOrWarning,\n overrideError,\n overrideSuspense,\n overrideSuspenseMilestone,\n overrideValueAtPath,\n renamePath,\n renderer,\n setTraceUpdatesEnabled,\n setTrackedPath,\n startProfiling,\n stopProfiling,\n storeAsGlobal,\n supportsTogglingSuspense,\n updateComponentFilters,\n getEnvironmentNames,\n ...internalMcpFunctions\n };\n}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/backend/legacy/utils.js\nfunction decorate(object, attr, fn) {\n const old = object[attr];\n object[attr] = function (instance) {\n return fn.call(this, old, arguments);\n };\n return old;\n}\nfunction decorateMany(source, fns) {\n const olds = {};\n for (const name in fns) {\n olds[name] = decorate(source, name, fns[name]);\n }\n return olds;\n}\nfunction restoreMany(source, olds) {\n for (const name in olds) {\n source[name] = olds[name];\n }\n}\nfunction forceUpdate(instance) {\n if (typeof instance.forceUpdate === 'function') {\n instance.forceUpdate();\n } else if (instance.updater != null && typeof instance.updater.enqueueForceUpdate === 'function') {\n instance.updater.enqueueForceUpdate(this, () => {}, 'forceUpdate');\n }\n}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/backend/legacy/renderer.js\n\n\n\n\n\n\nfunction getData(internalInstance) {\n let displayName = null;\n let key = null;\n if (internalInstance._currentElement != null) {\n if (internalInstance._currentElement.key) {\n key = String(internalInstance._currentElement.key);\n }\n const elementType = internalInstance._currentElement.type;\n if (typeof elementType === 'string') {\n displayName = elementType;\n } else if (typeof elementType === 'function') {\n displayName = getDisplayName(elementType);\n }\n }\n return {\n displayName,\n key\n };\n}\nfunction getElementType(internalInstance) {\n if (internalInstance._currentElement != null) {\n const elementType = internalInstance._currentElement.type;\n if (typeof elementType === 'function') {\n const publicInstance = internalInstance.getPublicInstance();\n if (publicInstance !== null) {\n return types_ElementTypeClass;\n } else {\n return types_ElementTypeFunction;\n }\n } else if (typeof elementType === 'string') {\n return ElementTypeHostComponent;\n }\n }\n return ElementTypeOtherOrUnknown;\n}\nfunction getChildren(internalInstance) {\n const children = [];\n if (typeof internalInstance !== 'object') {} else if (internalInstance._currentElement === null || internalInstance._currentElement === false) {} else if (internalInstance._renderedComponent) {\n const child = internalInstance._renderedComponent;\n if (getElementType(child) !== ElementTypeOtherOrUnknown) {\n children.push(child);\n }\n } else if (internalInstance._renderedChildren) {\n const renderedChildren = internalInstance._renderedChildren;\n for (const name in renderedChildren) {\n const child = renderedChildren[name];\n if (getElementType(child) !== ElementTypeOtherOrUnknown) {\n children.push(child);\n }\n }\n }\n return children;\n}\nfunction legacy_renderer_attach(hook, rendererID, renderer, global) {\n const idToInternalInstanceMap = new Map();\n const internalInstanceToIDMap = new WeakMap();\n const internalInstanceToRootIDMap = new WeakMap();\n let getElementIDForHostInstance = null;\n let findHostInstanceForInternalID;\n let getNearestMountedDOMNode = node => {\n return null;\n };\n if (renderer.ComponentTree) {\n getElementIDForHostInstance = node => {\n const internalInstance = renderer.ComponentTree.getClosestInstanceFromNode(node);\n return internalInstanceToIDMap.get(internalInstance) || null;\n };\n findHostInstanceForInternalID = id => {\n const internalInstance = idToInternalInstanceMap.get(id);\n return renderer.ComponentTree.getNodeFromInstance(internalInstance);\n };\n getNearestMountedDOMNode = node => {\n const internalInstance = renderer.ComponentTree.getClosestInstanceFromNode(node);\n if (internalInstance != null) {\n return renderer.ComponentTree.getNodeFromInstance(internalInstance);\n }\n return null;\n };\n } else if (renderer.Mount.getID && renderer.Mount.getNode) {\n getElementIDForHostInstance = node => {\n return null;\n };\n findHostInstanceForInternalID = id => {\n return null;\n };\n }\n const supportsTogglingSuspense = false;\n function getDisplayNameForElementID(id) {\n const internalInstance = idToInternalInstanceMap.get(id);\n return internalInstance ? getData(internalInstance).displayName : null;\n }\n function getID(internalInstance) {\n if (typeof internalInstance !== 'object' || internalInstance === null) {\n throw new Error('Invalid internal instance: ' + internalInstance);\n }\n if (!internalInstanceToIDMap.has(internalInstance)) {\n const id = getUID();\n internalInstanceToIDMap.set(internalInstance, id);\n idToInternalInstanceMap.set(id, internalInstance);\n }\n return internalInstanceToIDMap.get(internalInstance);\n }\n function areEqualArrays(a, b) {\n if (a.length !== b.length) {\n return false;\n }\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n return true;\n }\n let parentIDStack = [];\n let oldReconcilerMethods = null;\n if (renderer.Reconciler) {\n oldReconcilerMethods = decorateMany(renderer.Reconciler, {\n mountComponent(fn, args) {\n const internalInstance = args[0];\n const hostContainerInfo = args[3];\n if (getElementType(internalInstance) === ElementTypeOtherOrUnknown) {\n return fn.apply(this, args);\n }\n if (hostContainerInfo._topLevelWrapper === undefined) {\n return fn.apply(this, args);\n }\n const id = getID(internalInstance);\n const parentID = parentIDStack.length > 0 ? parentIDStack[parentIDStack.length - 1] : 0;\n recordMount(internalInstance, id, parentID);\n parentIDStack.push(id);\n internalInstanceToRootIDMap.set(internalInstance, getID(hostContainerInfo._topLevelWrapper));\n try {\n const result = fn.apply(this, args);\n parentIDStack.pop();\n return result;\n } catch (err) {\n parentIDStack = [];\n throw err;\n } finally {\n if (parentIDStack.length === 0) {\n const rootID = internalInstanceToRootIDMap.get(internalInstance);\n if (rootID === undefined) {\n throw new Error('Expected to find root ID.');\n }\n flushPendingEvents(rootID);\n }\n }\n },\n performUpdateIfNecessary(fn, args) {\n const internalInstance = args[0];\n if (getElementType(internalInstance) === ElementTypeOtherOrUnknown) {\n return fn.apply(this, args);\n }\n const id = getID(internalInstance);\n parentIDStack.push(id);\n const prevChildren = getChildren(internalInstance);\n try {\n const result = fn.apply(this, args);\n const nextChildren = getChildren(internalInstance);\n if (!areEqualArrays(prevChildren, nextChildren)) {\n recordReorder(internalInstance, id, nextChildren);\n }\n parentIDStack.pop();\n return result;\n } catch (err) {\n parentIDStack = [];\n throw err;\n } finally {\n if (parentIDStack.length === 0) {\n const rootID = internalInstanceToRootIDMap.get(internalInstance);\n if (rootID === undefined) {\n throw new Error('Expected to find root ID.');\n }\n flushPendingEvents(rootID);\n }\n }\n },\n receiveComponent(fn, args) {\n const internalInstance = args[0];\n if (getElementType(internalInstance) === ElementTypeOtherOrUnknown) {\n return fn.apply(this, args);\n }\n const id = getID(internalInstance);\n parentIDStack.push(id);\n const prevChildren = getChildren(internalInstance);\n try {\n const result = fn.apply(this, args);\n const nextChildren = getChildren(internalInstance);\n if (!areEqualArrays(prevChildren, nextChildren)) {\n recordReorder(internalInstance, id, nextChildren);\n }\n parentIDStack.pop();\n return result;\n } catch (err) {\n parentIDStack = [];\n throw err;\n } finally {\n if (parentIDStack.length === 0) {\n const rootID = internalInstanceToRootIDMap.get(internalInstance);\n if (rootID === undefined) {\n throw new Error('Expected to find root ID.');\n }\n flushPendingEvents(rootID);\n }\n }\n },\n unmountComponent(fn, args) {\n const internalInstance = args[0];\n if (getElementType(internalInstance) === ElementTypeOtherOrUnknown) {\n return fn.apply(this, args);\n }\n const id = getID(internalInstance);\n parentIDStack.push(id);\n try {\n const result = fn.apply(this, args);\n parentIDStack.pop();\n recordUnmount(internalInstance, id);\n return result;\n } catch (err) {\n parentIDStack = [];\n throw err;\n } finally {\n if (parentIDStack.length === 0) {\n const rootID = internalInstanceToRootIDMap.get(internalInstance);\n if (rootID === undefined) {\n throw new Error('Expected to find root ID.');\n }\n flushPendingEvents(rootID);\n }\n }\n }\n });\n }\n function cleanup() {\n if (oldReconcilerMethods !== null) {\n if (renderer.Component) {\n restoreMany(renderer.Component.Mixin, oldReconcilerMethods);\n } else {\n restoreMany(renderer.Reconciler, oldReconcilerMethods);\n }\n }\n oldReconcilerMethods = null;\n }\n function recordMount(internalInstance, id, parentID) {\n const isRoot = parentID === 0;\n if (__DEBUG__) {\n console.log('%crecordMount()', 'color: green; font-weight: bold;', id, getData(internalInstance).displayName);\n }\n if (isRoot) {\n const hasOwnerMetadata = internalInstance._currentElement != null && internalInstance._currentElement._owner != null;\n pushOperation(TREE_OPERATION_ADD);\n pushOperation(id);\n pushOperation(ElementTypeRoot);\n pushOperation(0);\n pushOperation(0);\n pushOperation(0);\n pushOperation(hasOwnerMetadata ? 1 : 0);\n pushOperation(SUSPENSE_TREE_OPERATION_ADD);\n pushOperation(id);\n pushOperation(parentID);\n pushOperation(getStringID(null));\n pushOperation(0);\n pushOperation(-1);\n } else {\n const type = getElementType(internalInstance);\n const {\n displayName,\n key\n } = getData(internalInstance);\n const ownerID = internalInstance._currentElement != null && internalInstance._currentElement._owner != null ? getID(internalInstance._currentElement._owner) : 0;\n const displayNameStringID = getStringID(displayName);\n const keyStringID = getStringID(key);\n pushOperation(TREE_OPERATION_ADD);\n pushOperation(id);\n pushOperation(type);\n pushOperation(parentID);\n pushOperation(ownerID);\n pushOperation(displayNameStringID);\n pushOperation(keyStringID);\n pushOperation(getStringID(null));\n }\n }\n function recordReorder(internalInstance, id, nextChildren) {\n pushOperation(TREE_OPERATION_REORDER_CHILDREN);\n pushOperation(id);\n const nextChildIDs = nextChildren.map(getID);\n pushOperation(nextChildIDs.length);\n for (let i = 0; i < nextChildIDs.length; i++) {\n pushOperation(nextChildIDs[i]);\n }\n }\n function recordUnmount(internalInstance, id) {\n const isRoot = parentIDStack.length === 0;\n if (isRoot) {\n pendingUnmountedRootID = id;\n } else {\n pendingUnmountedIDs.push(id);\n }\n idToInternalInstanceMap.delete(id);\n }\n function crawlAndRecordInitialMounts(id, parentID, rootID) {\n if (__DEBUG__) {\n console.group('crawlAndRecordInitialMounts() id:', id);\n }\n const internalInstance = idToInternalInstanceMap.get(id);\n if (internalInstance != null) {\n internalInstanceToRootIDMap.set(internalInstance, rootID);\n recordMount(internalInstance, id, parentID);\n getChildren(internalInstance).forEach(child => crawlAndRecordInitialMounts(getID(child), id, rootID));\n }\n if (__DEBUG__) {\n console.groupEnd();\n }\n }\n function flushInitialOperations() {\n const roots = renderer.Mount._instancesByReactRootID || renderer.Mount._instancesByContainerID;\n for (const key in roots) {\n const internalInstance = roots[key];\n const id = getID(internalInstance);\n crawlAndRecordInitialMounts(id, 0, id);\n flushPendingEvents(id);\n }\n }\n const pendingOperations = [];\n const pendingStringTable = new Map();\n let pendingUnmountedIDs = [];\n let pendingStringTableLength = 0;\n let pendingUnmountedRootID = null;\n function flushPendingEvents(rootID) {\n if (pendingOperations.length === 0 && pendingUnmountedIDs.length === 0 && pendingUnmountedRootID === null) {\n return;\n }\n const numUnmountIDs = pendingUnmountedIDs.length + (pendingUnmountedRootID === null ? 0 : 1);\n const operations = new Array(2 + 1 + pendingStringTableLength + (numUnmountIDs > 0 ? 2 + numUnmountIDs : 0) + (pendingUnmountedRootID === null ? 0 : 3) + pendingOperations.length);\n let i = 0;\n operations[i++] = rendererID;\n operations[i++] = rootID;\n operations[i++] = pendingStringTableLength;\n pendingStringTable.forEach((value, key) => {\n operations[i++] = key.length;\n const encodedKey = utfEncodeString(key);\n for (let j = 0; j < encodedKey.length; j++) {\n operations[i + j] = encodedKey[j];\n }\n i += key.length;\n });\n if (numUnmountIDs > 0) {\n operations[i++] = TREE_OPERATION_REMOVE;\n operations[i++] = numUnmountIDs;\n for (let j = 0; j < pendingUnmountedIDs.length; j++) {\n operations[i++] = pendingUnmountedIDs[j];\n }\n if (pendingUnmountedRootID !== null) {\n operations[i] = pendingUnmountedRootID;\n i++;\n operations[i++] = SUSPENSE_TREE_OPERATION_REMOVE;\n operations[i++] = 1;\n operations[i++] = pendingUnmountedRootID;\n }\n }\n for (let j = 0; j < pendingOperations.length; j++) {\n operations[i + j] = pendingOperations[j];\n }\n i += pendingOperations.length;\n if (__DEBUG__) {\n printOperationsArray(operations);\n }\n hook.emit('operations', operations);\n pendingOperations.length = 0;\n pendingUnmountedIDs = [];\n pendingUnmountedRootID = null;\n pendingStringTable.clear();\n pendingStringTableLength = 0;\n }\n function pushOperation(op) {\n if (false) {}\n pendingOperations.push(op);\n }\n function getStringID(str) {\n if (str === null) {\n return 0;\n }\n const existingID = pendingStringTable.get(str);\n if (existingID !== undefined) {\n return existingID;\n }\n const stringID = pendingStringTable.size + 1;\n pendingStringTable.set(str, stringID);\n pendingStringTableLength += str.length + 1;\n return stringID;\n }\n let currentlyInspectedElementID = null;\n let currentlyInspectedPaths = {};\n function mergeInspectedPaths(path) {\n let current = currentlyInspectedPaths;\n path.forEach(key => {\n if (!current[key]) {\n current[key] = {};\n }\n current = current[key];\n });\n }\n function createIsPathAllowed(key) {\n return function isPathAllowed(path) {\n let current = currentlyInspectedPaths[key];\n if (!current) {\n return false;\n }\n for (let i = 0; i < path.length; i++) {\n current = current[path[i]];\n if (!current) {\n return false;\n }\n }\n return true;\n };\n }\n function getInstanceAndStyle(id) {\n let instance = null;\n let style = null;\n const internalInstance = idToInternalInstanceMap.get(id);\n if (internalInstance != null) {\n instance = internalInstance._instance || null;\n const element = internalInstance._currentElement;\n if (element != null && element.props != null) {\n style = element.props.style || null;\n }\n }\n return {\n instance,\n style\n };\n }\n function updateSelectedElement(id) {\n const internalInstance = idToInternalInstanceMap.get(id);\n if (internalInstance == null) {\n console.warn(`Could not find instance with id \"${id}\"`);\n return;\n }\n switch (getElementType(internalInstance)) {\n case types_ElementTypeClass:\n global.$r = internalInstance._instance;\n break;\n case types_ElementTypeFunction:\n const element = internalInstance._currentElement;\n if (element == null) {\n console.warn(`Could not find element with id \"${id}\"`);\n return;\n }\n global.$r = {\n props: element.props,\n type: element.type\n };\n break;\n default:\n global.$r = null;\n break;\n }\n }\n function storeAsGlobal(id, path, count) {\n const inspectedElement = inspectElementRaw(id);\n if (inspectedElement !== null) {\n const value = utils_getInObject(inspectedElement, path);\n const key = `$reactTemp${count}`;\n window[key] = value;\n console.log(key);\n console.log(value);\n }\n }\n function getSerializedElementValueByPath(id, path) {\n const inspectedElement = inspectElementRaw(id);\n if (inspectedElement !== null) {\n const valueToCopy = utils_getInObject(inspectedElement, path);\n return serializeToString(valueToCopy);\n }\n }\n function inspectElement(requestID, id, path, forceFullData) {\n if (forceFullData || currentlyInspectedElementID !== id) {\n currentlyInspectedElementID = id;\n currentlyInspectedPaths = {};\n }\n const inspectedElement = inspectElementRaw(id);\n if (inspectedElement === null) {\n return {\n id,\n responseID: requestID,\n type: 'not-found'\n };\n }\n if (path !== null) {\n mergeInspectedPaths(path);\n }\n updateSelectedElement(id);\n inspectedElement.context = cleanForBridge(inspectedElement.context, createIsPathAllowed('context'));\n inspectedElement.props = cleanForBridge(inspectedElement.props, createIsPathAllowed('props'));\n inspectedElement.state = cleanForBridge(inspectedElement.state, createIsPathAllowed('state'));\n inspectedElement.suspendedBy = cleanForBridge(inspectedElement.suspendedBy, createIsPathAllowed('suspendedBy'));\n return {\n id,\n responseID: requestID,\n type: 'full-data',\n value: inspectedElement\n };\n }\n function inspectElementRaw(id) {\n const internalInstance = idToInternalInstanceMap.get(id);\n if (internalInstance == null) {\n return null;\n }\n const rootID = internalInstanceToRootIDMap.get(internalInstance);\n if (rootID === undefined) {\n throw new Error('Expected to find root ID.');\n }\n const isRoot = rootID === id;\n return isRoot ? inspectRootsRaw(rootID) : inspectInternalInstanceRaw(id, internalInstance);\n }\n function inspectInternalInstanceRaw(id, internalInstance) {\n const {\n key\n } = getData(internalInstance);\n const type = getElementType(internalInstance);\n let context = null;\n let owners = null;\n let props = null;\n let state = null;\n const element = internalInstance._currentElement;\n if (element !== null) {\n props = element.props;\n let owner = element._owner;\n if (owner) {\n owners = [];\n while (owner != null) {\n owners.push({\n displayName: getData(owner).displayName || 'Unknown',\n id: getID(owner),\n key: element.key,\n env: null,\n stack: null,\n type: getElementType(owner)\n });\n if (owner._currentElement) {\n owner = owner._currentElement._owner;\n }\n }\n }\n }\n const publicInstance = internalInstance._instance;\n if (publicInstance != null) {\n context = publicInstance.context || null;\n state = publicInstance.state || null;\n }\n const errors = [];\n const warnings = [];\n return {\n id,\n canEditHooks: false,\n canEditFunctionProps: false,\n canEditHooksAndDeletePaths: false,\n canEditHooksAndRenamePaths: false,\n canEditFunctionPropsDeletePaths: false,\n canEditFunctionPropsRenamePaths: false,\n canToggleError: false,\n isErrored: false,\n canToggleSuspense: false,\n isSuspended: null,\n source: null,\n stack: null,\n hasLegacyContext: true,\n type: type,\n key: key != null ? key : null,\n context,\n hooks: null,\n props,\n state,\n errors,\n warnings,\n suspendedBy: [],\n suspendedByRange: null,\n unknownSuspenders: UNKNOWN_SUSPENDERS_NONE,\n owners,\n env: null,\n rootType: null,\n rendererPackageName: null,\n rendererVersion: null,\n plugins: {\n stylex: null\n },\n nativeTag: null\n };\n }\n function inspectRootsRaw(arbitraryRootID) {\n const roots = renderer.Mount._instancesByReactRootID || renderer.Mount._instancesByContainerID;\n const inspectedRoots = {\n id: arbitraryRootID,\n type: ElementTypeRoot,\n isErrored: false,\n errors: [],\n warnings: [],\n suspendedBy: [],\n suspendedByRange: null,\n unknownSuspenders: UNKNOWN_SUSPENDERS_NONE,\n rootType: null,\n plugins: {\n stylex: null\n },\n nativeTag: null,\n env: null,\n source: null,\n stack: null,\n rendererPackageName: null,\n rendererVersion: null,\n key: null,\n canEditFunctionProps: false,\n canEditHooks: false,\n canEditFunctionPropsDeletePaths: false,\n canEditFunctionPropsRenamePaths: false,\n canEditHooksAndDeletePaths: false,\n canEditHooksAndRenamePaths: false,\n canToggleError: false,\n canToggleSuspense: false,\n isSuspended: false,\n hasLegacyContext: false,\n context: null,\n hooks: null,\n props: null,\n state: null,\n owners: null\n };\n let minSuspendedByRange = Infinity;\n let maxSuspendedByRange = -Infinity;\n for (const rootKey in roots) {\n const internalInstance = roots[rootKey];\n const id = getID(internalInstance);\n const inspectedRoot = inspectInternalInstanceRaw(id, internalInstance);\n if (inspectedRoot === null) {\n return null;\n }\n if (inspectedRoot.isErrored) {\n inspectedRoots.isErrored = true;\n }\n for (let i = 0; i < inspectedRoot.errors.length; i++) {\n inspectedRoots.errors.push(inspectedRoot.errors[i]);\n }\n for (let i = 0; i < inspectedRoot.warnings.length; i++) {\n inspectedRoots.warnings.push(inspectedRoot.warnings[i]);\n }\n for (let i = 0; i < inspectedRoot.suspendedBy.length; i++) {\n inspectedRoots.suspendedBy.push(inspectedRoot.suspendedBy[i]);\n }\n const suspendedByRange = inspectedRoot.suspendedByRange;\n if (suspendedByRange !== null) {\n if (suspendedByRange[0] < minSuspendedByRange) {\n minSuspendedByRange = suspendedByRange[0];\n }\n if (suspendedByRange[1] > maxSuspendedByRange) {\n maxSuspendedByRange = suspendedByRange[1];\n }\n }\n }\n if (minSuspendedByRange !== Infinity || maxSuspendedByRange !== -Infinity) {\n inspectedRoots.suspendedByRange = [minSuspendedByRange, maxSuspendedByRange];\n }\n return inspectedRoots;\n }\n function logElementToConsole(id) {\n const result = inspectElementRaw(id);\n if (result === null) {\n console.warn(`Could not find element with id \"${id}\"`);\n return;\n }\n const displayName = getDisplayNameForElementID(id);\n const supportsGroup = typeof console.groupCollapsed === 'function';\n if (supportsGroup) {\n console.groupCollapsed(`[Click to expand] %c<${displayName || 'Component'} />`, 'color: var(--dom-tag-name-color); font-weight: normal;');\n }\n if (result.props !== null) {\n console.log('Props:', result.props);\n }\n if (result.state !== null) {\n console.log('State:', result.state);\n }\n if (result.context !== null) {\n console.log('Context:', result.context);\n }\n const hostInstance = findHostInstanceForInternalID(id);\n if (hostInstance !== null) {\n console.log('Node:', hostInstance);\n }\n if (window.chrome || /firefox/i.test(navigator.userAgent)) {\n console.log('Right-click any value to save it as a global variable for further inspection.');\n }\n if (supportsGroup) {\n console.groupEnd();\n }\n }\n function getElementAttributeByPath(id, path) {\n const inspectedElement = inspectElementRaw(id);\n if (inspectedElement !== null) {\n return utils_getInObject(inspectedElement, path);\n }\n return undefined;\n }\n function getElementSourceFunctionById(id) {\n const internalInstance = idToInternalInstanceMap.get(id);\n if (internalInstance == null) {\n console.warn(`Could not find instance with id \"${id}\"`);\n return null;\n }\n const element = internalInstance._currentElement;\n if (element == null) {\n console.warn(`Could not find element with id \"${id}\"`);\n return null;\n }\n return element.type;\n }\n function deletePath(type, id, hookID, path) {\n const internalInstance = idToInternalInstanceMap.get(id);\n if (internalInstance != null) {\n const publicInstance = internalInstance._instance;\n if (publicInstance != null) {\n switch (type) {\n case 'context':\n deletePathInObject(publicInstance.context, path);\n forceUpdate(publicInstance);\n break;\n case 'hooks':\n throw new Error('Hooks not supported by this renderer');\n case 'props':\n const element = internalInstance._currentElement;\n internalInstance._currentElement = {\n ...element,\n props: copyWithDelete(element.props, path)\n };\n forceUpdate(publicInstance);\n break;\n case 'state':\n deletePathInObject(publicInstance.state, path);\n forceUpdate(publicInstance);\n break;\n }\n }\n }\n }\n function renamePath(type, id, hookID, oldPath, newPath) {\n const internalInstance = idToInternalInstanceMap.get(id);\n if (internalInstance != null) {\n const publicInstance = internalInstance._instance;\n if (publicInstance != null) {\n switch (type) {\n case 'context':\n renamePathInObject(publicInstance.context, oldPath, newPath);\n forceUpdate(publicInstance);\n break;\n case 'hooks':\n throw new Error('Hooks not supported by this renderer');\n case 'props':\n const element = internalInstance._currentElement;\n internalInstance._currentElement = {\n ...element,\n props: copyWithRename(element.props, oldPath, newPath)\n };\n forceUpdate(publicInstance);\n break;\n case 'state':\n renamePathInObject(publicInstance.state, oldPath, newPath);\n forceUpdate(publicInstance);\n break;\n }\n }\n }\n }\n function overrideValueAtPath(type, id, hookID, path, value) {\n const internalInstance = idToInternalInstanceMap.get(id);\n if (internalInstance != null) {\n const publicInstance = internalInstance._instance;\n if (publicInstance != null) {\n switch (type) {\n case 'context':\n utils_setInObject(publicInstance.context, path, value);\n forceUpdate(publicInstance);\n break;\n case 'hooks':\n throw new Error('Hooks not supported by this renderer');\n case 'props':\n const element = internalInstance._currentElement;\n internalInstance._currentElement = {\n ...element,\n props: copyWithSet(element.props, path, value)\n };\n forceUpdate(publicInstance);\n break;\n case 'state':\n utils_setInObject(publicInstance.state, path, value);\n forceUpdate(publicInstance);\n break;\n }\n }\n }\n }\n const getProfilingData = () => {\n throw new Error('getProfilingData not supported by this renderer');\n };\n const handleCommitFiberRoot = () => {\n throw new Error('handleCommitFiberRoot not supported by this renderer');\n };\n const handleCommitFiberUnmount = () => {\n throw new Error('handleCommitFiberUnmount not supported by this renderer');\n };\n const handlePostCommitFiberRoot = () => {\n throw new Error('handlePostCommitFiberRoot not supported by this renderer');\n };\n const overrideError = () => {\n throw new Error('overrideError not supported by this renderer');\n };\n const overrideSuspense = () => {\n throw new Error('overrideSuspense not supported by this renderer');\n };\n const overrideSuspenseMilestone = () => {\n throw new Error('overrideSuspenseMilestone not supported by this renderer');\n };\n const startProfiling = () => {};\n const stopProfiling = () => {};\n function getBestMatchForTrackedPath() {\n return null;\n }\n function getPathForElement(id) {\n return null;\n }\n function updateComponentFilters(componentFilters) {}\n function getEnvironmentNames() {\n return [];\n }\n function setTraceUpdatesEnabled(enabled) {}\n function setTrackedPath(path) {}\n function getOwnersList(id) {\n return null;\n }\n function clearErrorsAndWarnings() {}\n function clearErrorsForElementID(id) {}\n function clearWarningsForElementID(id) {}\n function hasElementWithId(id) {\n return idToInternalInstanceMap.has(id);\n }\n return {\n clearErrorsAndWarnings,\n clearErrorsForElementID,\n clearWarningsForElementID,\n cleanup,\n getSerializedElementValueByPath,\n deletePath,\n flushInitialOperations,\n getBestMatchForTrackedPath,\n getDisplayNameForElementID,\n getNearestMountedDOMNode,\n getElementIDForHostInstance,\n getSuspenseNodeIDForHostInstance(id) {\n return null;\n },\n getInstanceAndStyle,\n findHostInstancesForElementID: id => {\n const hostInstance = findHostInstanceForInternalID(id);\n return hostInstance == null ? null : [hostInstance];\n },\n findLastKnownRectsForID() {\n return null;\n },\n getOwnersList,\n getPathForElement,\n getProfilingData,\n handleCommitFiberRoot,\n handleCommitFiberUnmount,\n handlePostCommitFiberRoot,\n hasElementWithId,\n inspectElement,\n logElementToConsole,\n overrideError,\n overrideSuspense,\n overrideSuspenseMilestone,\n overrideValueAtPath,\n renamePath,\n getElementAttributeByPath,\n getElementSourceFunctionById,\n renderer,\n setTraceUpdatesEnabled,\n setTrackedPath,\n startProfiling,\n stopProfiling,\n storeAsGlobal,\n supportsTogglingSuspense,\n updateComponentFilters,\n getEnvironmentNames\n };\n}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/attachRenderer.js\n\n\n\n\nfunction isMatchingRender(version) {\n return !hasAssignedBackend(version);\n}\nfunction attachRenderer(hook, id, renderer, global, shouldStartProfilingNow, profilingSettings) {\n if (!isMatchingRender(renderer.reconcilerVersion || renderer.version)) {\n return;\n }\n let rendererInterface = hook.rendererInterfaces.get(id);\n if (rendererInterface == null) {\n if (typeof renderer.getCurrentComponentInfo === 'function') {\n rendererInterface = attach(hook, id, renderer, global);\n } else if (typeof renderer.findFiberByHostInstance === 'function' || renderer.currentDispatcherRef != null) {\n rendererInterface = renderer_attach(hook, id, renderer, global, shouldStartProfilingNow, profilingSettings);\n } else if (renderer.ComponentTree) {\n rendererInterface = legacy_renderer_attach(hook, id, renderer, global);\n } else {}\n }\n return rendererInterface;\n}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/backend/utils/formatConsoleArguments.js\nfunction formatConsoleArguments(maybeMessage, ...inputArgs) {\n if (inputArgs.length === 0 || typeof maybeMessage !== 'string') {\n return [maybeMessage, ...inputArgs];\n }\n const args = inputArgs.slice();\n let template = '';\n let argumentsPointer = 0;\n for (let i = 0; i < maybeMessage.length; ++i) {\n const currentChar = maybeMessage[i];\n if (currentChar !== '%') {\n template += currentChar;\n continue;\n }\n const nextChar = maybeMessage[i + 1];\n ++i;\n switch (nextChar) {\n case 'c':\n case 'O':\n case 'o':\n {\n ++argumentsPointer;\n template += `%${nextChar}`;\n break;\n }\n case 'd':\n case 'i':\n {\n const [arg] = args.splice(argumentsPointer, 1);\n template += parseInt(arg, 10).toString();\n break;\n }\n case 'f':\n {\n const [arg] = args.splice(argumentsPointer, 1);\n template += parseFloat(arg).toString();\n break;\n }\n case 's':\n {\n const [arg] = args.splice(argumentsPointer, 1);\n template += String(arg);\n break;\n }\n default:\n template += `%${nextChar}`;\n }\n }\n return [template, ...args];\n}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/hook.js\n\n\n\n\nconst PREFIX_REGEX = /\\s{4}(in|at)\\s{1}/;\nconst ROW_COLUMN_NUMBER_REGEX = /:\\d+:\\d+(\\n|$)/;\nfunction isStringComponentStack(text) {\n return PREFIX_REGEX.test(text) || ROW_COLUMN_NUMBER_REGEX.test(text);\n}\nconst frameDiffs = / \\(\\<anonymous\\>\\)$|\\@unknown\\:0\\:0$|\\(|\\)|\\[|\\]/gm;\nfunction areStackTracesEqual(a, b) {\n return a.replace(frameDiffs, '') === b.replace(frameDiffs, '');\n}\nconst targetConsole = console;\nconst defaultProfilingSettings = {\n recordChangeDescriptions: false,\n recordTimeline: false\n};\nfunction installHook(target, maybeSettingsOrSettingsPromise, shouldStartProfilingNow = false, profilingSettings = defaultProfilingSettings) {\n if (target.hasOwnProperty('__REACT_DEVTOOLS_GLOBAL_HOOK__')) {\n return null;\n }\n function detectReactBuildType(renderer) {\n try {\n if (typeof renderer.version === 'string') {\n if (renderer.bundleType > 0) {\n return 'development';\n }\n return 'production';\n }\n const toString = Function.prototype.toString;\n if (renderer.Mount && renderer.Mount._renderNewRootComponent) {\n const renderRootCode = toString.call(renderer.Mount._renderNewRootComponent);\n if (renderRootCode.indexOf('function') !== 0) {\n return 'production';\n }\n if (renderRootCode.indexOf('storedMeasure') !== -1) {\n return 'development';\n }\n if (renderRootCode.indexOf('should be a pure function') !== -1) {\n if (renderRootCode.indexOf('NODE_ENV') !== -1) {\n return 'development';\n }\n if (renderRootCode.indexOf('development') !== -1) {\n return 'development';\n }\n if (renderRootCode.indexOf('true') !== -1) {\n return 'development';\n }\n if (renderRootCode.indexOf('nextElement') !== -1 || renderRootCode.indexOf('nextComponent') !== -1) {\n return 'unminified';\n } else {\n return 'development';\n }\n }\n if (renderRootCode.indexOf('nextElement') !== -1 || renderRootCode.indexOf('nextComponent') !== -1) {\n return 'unminified';\n }\n return 'outdated';\n }\n } catch (err) {}\n return 'production';\n }\n function checkDCE(fn) {\n try {\n const toString = Function.prototype.toString;\n const code = toString.call(fn);\n if (code.indexOf('^_^') > -1) {\n hasDetectedBadDCE = true;\n setTimeout(function () {\n throw new Error('React is running in production mode, but dead code ' + 'elimination has not been applied. Read how to correctly ' + 'configure React for production: ' + 'https://react.dev/link/perf-use-production-build');\n });\n }\n } catch (err) {}\n }\n const isProfiling = shouldStartProfilingNow;\n let uidCounter = 0;\n function inject(renderer) {\n const id = ++uidCounter;\n renderers.set(id, renderer);\n const reactBuildType = hasDetectedBadDCE ? 'deadcode' : detectReactBuildType(renderer);\n hook.emit('renderer', {\n id,\n renderer,\n reactBuildType\n });\n const rendererInterface = attachRenderer(hook, id, renderer, target, isProfiling, profilingSettings);\n if (rendererInterface != null) {\n hook.rendererInterfaces.set(id, rendererInterface);\n hook.emit('renderer-attached', {\n id,\n rendererInterface\n });\n } else {\n hook.hasUnsupportedRendererAttached = true;\n hook.emit('unsupported-renderer-version');\n }\n return id;\n }\n let hasDetectedBadDCE = false;\n function sub(event, fn) {\n hook.on(event, fn);\n return () => hook.off(event, fn);\n }\n function on(event, fn) {\n if (!listeners[event]) {\n listeners[event] = [];\n }\n listeners[event].push(fn);\n }\n function off(event, fn) {\n if (!listeners[event]) {\n return;\n }\n const index = listeners[event].indexOf(fn);\n if (index !== -1) {\n listeners[event].splice(index, 1);\n }\n if (!listeners[event].length) {\n delete listeners[event];\n }\n }\n function emit(event, data) {\n if (listeners[event]) {\n listeners[event].map(fn => fn(data));\n }\n }\n function getFiberRoots(rendererID) {\n const roots = fiberRoots;\n if (!roots[rendererID]) {\n roots[rendererID] = new Set();\n }\n return roots[rendererID];\n }\n function onCommitFiberUnmount(rendererID, fiber) {\n const rendererInterface = rendererInterfaces.get(rendererID);\n if (rendererInterface != null) {\n rendererInterface.handleCommitFiberUnmount(fiber);\n }\n }\n function onCommitFiberRoot(rendererID, root, priorityLevel) {\n const mountedRoots = hook.getFiberRoots(rendererID);\n const current = root.current;\n const isKnownRoot = mountedRoots.has(root);\n const isUnmounting = current.memoizedState == null || current.memoizedState.element == null;\n if (!isKnownRoot && !isUnmounting) {\n mountedRoots.add(root);\n } else if (isKnownRoot && isUnmounting) {\n mountedRoots.delete(root);\n }\n const rendererInterface = rendererInterfaces.get(rendererID);\n if (rendererInterface != null) {\n rendererInterface.handleCommitFiberRoot(root, priorityLevel);\n }\n }\n function onPostCommitFiberRoot(rendererID, root) {\n const rendererInterface = rendererInterfaces.get(rendererID);\n if (rendererInterface != null) {\n rendererInterface.handlePostCommitFiberRoot(root);\n }\n }\n let isRunningDuringStrictModeInvocation = false;\n function setStrictMode(rendererID, isStrictMode) {\n isRunningDuringStrictModeInvocation = isStrictMode;\n if (isStrictMode) {\n patchConsoleForStrictMode();\n } else {\n unpatchConsoleForStrictMode();\n }\n }\n const unpatchConsoleCallbacks = [];\n function patchConsoleForStrictMode() {\n if (!hook.settings) {\n return;\n }\n if (unpatchConsoleCallbacks.length > 0) {\n return;\n }\n const consoleMethodsToOverrideForStrictMode = ['group', 'groupCollapsed', 'info', 'log'];\n for (const method of consoleMethodsToOverrideForStrictMode) {\n const originalMethod = targetConsole[method];\n const overrideMethod = (...args) => {\n const settings = hook.settings;\n if (settings == null) {\n originalMethod(...args);\n return;\n }\n if (settings.hideConsoleLogsInStrictMode) {\n return;\n }\n if (false) {} else {\n originalMethod(ANSI_STYLE_DIMMING_TEMPLATE, ...formatConsoleArguments(...args));\n }\n };\n targetConsole[method] = overrideMethod;\n unpatchConsoleCallbacks.push(() => {\n targetConsole[method] = originalMethod;\n });\n }\n }\n function unpatchConsoleForStrictMode() {\n unpatchConsoleCallbacks.forEach(callback => callback());\n unpatchConsoleCallbacks.length = 0;\n }\n const openModuleRangesStack = [];\n const moduleRanges = [];\n function getTopStackFrameString(error) {\n const frames = error.stack.split('\\n');\n const frame = frames.length > 1 ? frames[1] : null;\n return frame;\n }\n function getInternalModuleRanges() {\n return moduleRanges;\n }\n function registerInternalModuleStart(error) {\n const startStackFrame = getTopStackFrameString(error);\n if (startStackFrame !== null) {\n openModuleRangesStack.push(startStackFrame);\n }\n }\n function registerInternalModuleStop(error) {\n if (openModuleRangesStack.length > 0) {\n const startStackFrame = openModuleRangesStack.pop();\n const stopStackFrame = getTopStackFrameString(error);\n if (stopStackFrame !== null) {\n moduleRanges.push([startStackFrame, stopStackFrame]);\n }\n }\n }\n function patchConsoleForErrorsAndWarnings() {\n if (!hook.settings) {\n return;\n }\n const consoleMethodsToOverrideForErrorsAndWarnings = ['error', 'trace', 'warn'];\n for (const method of consoleMethodsToOverrideForErrorsAndWarnings) {\n const originalMethod = targetConsole[method];\n const overrideMethod = (...args) => {\n const settings = hook.settings;\n if (settings == null) {\n originalMethod(...args);\n return;\n }\n if (isRunningDuringStrictModeInvocation && settings.hideConsoleLogsInStrictMode) {\n return;\n }\n let injectedComponentStackAsFakeError = false;\n let alreadyHasComponentStack = false;\n if (settings.appendComponentStack) {\n const lastArg = args.length > 0 ? args[args.length - 1] : null;\n alreadyHasComponentStack = typeof lastArg === 'string' && isStringComponentStack(lastArg);\n }\n const shouldShowInlineWarningsAndErrors = settings.showInlineWarningsAndErrors && (method === 'error' || method === 'warn');\n for (const rendererInterface of hook.rendererInterfaces.values()) {\n const {\n onErrorOrWarning,\n getComponentStack\n } = rendererInterface;\n try {\n if (shouldShowInlineWarningsAndErrors) {\n if (onErrorOrWarning != null) {\n onErrorOrWarning(method, args.slice());\n }\n }\n } catch (error) {\n setTimeout(() => {\n throw error;\n }, 0);\n }\n try {\n if (settings.appendComponentStack && getComponentStack != null) {\n const topFrame = Error('react-stack-top-frame');\n const match = getComponentStack(topFrame);\n if (match !== null) {\n const {\n enableOwnerStacks,\n componentStack\n } = match;\n if (componentStack !== '') {\n const fakeError = new Error('');\n if (false) {} else {\n fakeError.name = enableOwnerStacks ? 'Stack' : 'Component Stack';\n }\n fakeError.stack = false ? 0 : componentStack;\n if (alreadyHasComponentStack) {\n if (areStackTracesEqual(args[args.length - 1], componentStack)) {\n const firstArg = args[0];\n if (args.length > 1 && typeof firstArg === 'string' && firstArg.endsWith('%s')) {\n args[0] = firstArg.slice(0, firstArg.length - 2);\n }\n args[args.length - 1] = fakeError;\n injectedComponentStackAsFakeError = true;\n }\n } else {\n args.push(fakeError);\n injectedComponentStackAsFakeError = true;\n }\n }\n break;\n }\n }\n } catch (error) {\n setTimeout(() => {\n throw error;\n }, 0);\n }\n }\n if (settings.breakOnConsoleErrors) {\n debugger;\n }\n if (isRunningDuringStrictModeInvocation) {\n if (false) {} else {\n originalMethod(injectedComponentStackAsFakeError ? ANSI_STYLE_DIMMING_TEMPLATE_WITH_COMPONENT_STACK : ANSI_STYLE_DIMMING_TEMPLATE, ...formatConsoleArguments(...args));\n }\n } else {\n originalMethod(...args);\n }\n };\n targetConsole[method] = overrideMethod;\n }\n }\n const fiberRoots = {};\n const rendererInterfaces = new Map();\n const listeners = {};\n const renderers = new Map();\n const backends = new Map();\n const hook = {\n rendererInterfaces,\n listeners,\n backends,\n renderers,\n hasUnsupportedRendererAttached: false,\n emit,\n getFiberRoots,\n inject,\n on,\n off,\n sub,\n supportsFiber: true,\n supportsFlight: true,\n checkDCE,\n onCommitFiberUnmount,\n onCommitFiberRoot,\n onPostCommitFiberRoot,\n setStrictMode,\n getInternalModuleRanges,\n registerInternalModuleStart,\n registerInternalModuleStop\n };\n if (maybeSettingsOrSettingsPromise == null) {\n hook.settings = {\n appendComponentStack: true,\n breakOnConsoleErrors: false,\n showInlineWarningsAndErrors: true,\n hideConsoleLogsInStrictMode: false\n };\n patchConsoleForErrorsAndWarnings();\n } else {\n Promise.resolve(maybeSettingsOrSettingsPromise).then(settings => {\n hook.settings = settings;\n hook.emit('settingsInitialized', settings);\n patchConsoleForErrorsAndWarnings();\n }).catch(() => {\n targetConsole.error(\"React DevTools failed to get Console Patching settings. Console won't be patched and some console features will not work.\");\n });\n }\n Object.defineProperty(target, '__REACT_DEVTOOLS_GLOBAL_HOOK__', {\n configurable: false,\n enumerable: false,\n get() {\n return hook;\n }\n });\n return hook;\n}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/backend/NativeStyleEditor/resolveBoxStyle.js\nfunction resolveBoxStyle(prefix, style) {\n let hasParts = false;\n const result = {\n bottom: 0,\n left: 0,\n right: 0,\n top: 0\n };\n const styleForAll = style[prefix];\n if (styleForAll != null) {\n for (const key of Object.keys(result)) {\n result[key] = styleForAll;\n }\n hasParts = true;\n }\n const styleForHorizontal = style[prefix + 'Horizontal'];\n if (styleForHorizontal != null) {\n result.left = styleForHorizontal;\n result.right = styleForHorizontal;\n hasParts = true;\n } else {\n const styleForLeft = style[prefix + 'Left'];\n if (styleForLeft != null) {\n result.left = styleForLeft;\n hasParts = true;\n }\n const styleForRight = style[prefix + 'Right'];\n if (styleForRight != null) {\n result.right = styleForRight;\n hasParts = true;\n }\n const styleForEnd = style[prefix + 'End'];\n if (styleForEnd != null) {\n result.right = styleForEnd;\n hasParts = true;\n }\n const styleForStart = style[prefix + 'Start'];\n if (styleForStart != null) {\n result.left = styleForStart;\n hasParts = true;\n }\n }\n const styleForVertical = style[prefix + 'Vertical'];\n if (styleForVertical != null) {\n result.bottom = styleForVertical;\n result.top = styleForVertical;\n hasParts = true;\n } else {\n const styleForBottom = style[prefix + 'Bottom'];\n if (styleForBottom != null) {\n result.bottom = styleForBottom;\n hasParts = true;\n }\n const styleForTop = style[prefix + 'Top'];\n if (styleForTop != null) {\n result.top = styleForTop;\n hasParts = true;\n }\n }\n return hasParts ? result : null;\n}\n;// CONCATENATED MODULE: ../react-devtools-shared/src/backend/NativeStyleEditor/setupNativeStyleEditor.js\n\n\n\nfunction setupNativeStyleEditor(bridge, agent, resolveNativeStyle, validAttributes) {\n bridge.addListener('NativeStyleEditor_measure', ({\n id,\n rendererID\n }) => {\n measureStyle(agent, bridge, resolveNativeStyle, id, rendererID);\n });\n bridge.addListener('NativeStyleEditor_renameAttribute', ({\n id,\n rendererID,\n oldName,\n newName,\n value\n }) => {\n renameStyle(agent, id, rendererID, oldName, newName, value);\n setTimeout(() => measureStyle(agent, bridge, resolveNativeStyle, id, rendererID));\n });\n bridge.addListener('NativeStyleEditor_setValue', ({\n id,\n rendererID,\n name,\n value\n }) => {\n setStyle(agent, id, rendererID, name, value);\n setTimeout(() => measureStyle(agent, bridge, resolveNativeStyle, id, rendererID));\n });\n bridge.send('isNativeStyleEditorSupported', {\n isSupported: true,\n validAttributes\n });\n}\nconst EMPTY_BOX_STYLE = {\n top: 0,\n left: 0,\n right: 0,\n bottom: 0\n};\nconst componentIDToStyleOverrides = new Map();\nfunction measureStyle(agent, bridge, resolveNativeStyle, id, rendererID) {\n const data = agent.getInstanceAndStyle({\n id,\n rendererID\n });\n if (!data || !data.style) {\n bridge.send('NativeStyleEditor_styleAndLayout', {\n id,\n layout: null,\n style: null\n });\n return;\n }\n const {\n instance,\n style\n } = data;\n let resolvedStyle = resolveNativeStyle(style);\n const styleOverrides = componentIDToStyleOverrides.get(id);\n if (styleOverrides != null) {\n resolvedStyle = Object.assign({}, resolvedStyle, styleOverrides);\n }\n if (!instance || typeof instance.measure !== 'function') {\n bridge.send('NativeStyleEditor_styleAndLayout', {\n id,\n layout: null,\n style: resolvedStyle || null\n });\n return;\n }\n instance.measure((x, y, width, height, left, top) => {\n if (typeof x !== 'number') {\n bridge.send('NativeStyleEditor_styleAndLayout', {\n id,\n layout: null,\n style: resolvedStyle || null\n });\n return;\n }\n const margin = resolvedStyle != null && resolveBoxStyle('margin', resolvedStyle) || EMPTY_BOX_STYLE;\n const padding = resolvedStyle != null && resolveBoxStyle('padding', resolvedStyle) || EMPTY_BOX_STYLE;\n bridge.send('NativeStyleEditor_styleAndLayout', {\n id,\n layout: {\n x,\n y,\n width,\n height,\n left,\n top,\n margin,\n padding\n },\n style: resolvedStyle || null\n });\n });\n}\nfunction shallowClone(object) {\n const cloned = {};\n for (const n in object) {\n cloned[n] = object[n];\n }\n return cloned;\n}\nfunction renameStyle(agent, id, rendererID, oldName, newName, value) {\n const data = agent.getInstanceAndStyle({\n id,\n rendererID\n });\n if (!data || !data.style) {\n return;\n }\n const {\n instance,\n style\n } = data;\n const newStyle = newName ? {\n [oldName]: undefined,\n [newName]: value\n } : {\n [oldName]: undefined\n };\n let customStyle;\n if (instance !== null && typeof instance.setNativeProps === 'function') {\n const styleOverrides = componentIDToStyleOverrides.get(id);\n if (!styleOverrides) {\n componentIDToStyleOverrides.set(id, newStyle);\n } else {\n Object.assign(styleOverrides, newStyle);\n }\n instance.setNativeProps({\n style: newStyle\n });\n } else if (src_isArray(style)) {\n const lastIndex = style.length - 1;\n if (typeof style[lastIndex] === 'object' && !src_isArray(style[lastIndex])) {\n customStyle = shallowClone(style[lastIndex]);\n delete customStyle[oldName];\n if (newName) {\n customStyle[newName] = value;\n } else {\n customStyle[oldName] = undefined;\n }\n agent.overrideValueAtPath({\n type: 'props',\n id,\n rendererID,\n path: ['style', lastIndex],\n value: customStyle\n });\n } else {\n agent.overrideValueAtPath({\n type: 'props',\n id,\n rendererID,\n path: ['style'],\n value: style.concat([newStyle])\n });\n }\n } else if (typeof style === 'object') {\n customStyle = shallowClone(style);\n delete customStyle[oldName];\n if (newName) {\n customStyle[newName] = value;\n } else {\n customStyle[oldName] = undefined;\n }\n agent.overrideValueAtPath({\n type: 'props',\n id,\n rendererID,\n path: ['style'],\n value: customStyle\n });\n } else {\n agent.overrideValueAtPath({\n type: 'props',\n id,\n rendererID,\n path: ['style'],\n value: [style, newStyle]\n });\n }\n agent.emit('hideNativeHighlight');\n}\nfunction setStyle(agent, id, rendererID, name, value) {\n const data = agent.getInstanceAndStyle({\n id,\n rendererID\n });\n if (!data || !data.style) {\n return;\n }\n const {\n instance,\n style\n } = data;\n const newStyle = {\n [name]: value\n };\n if (instance !== null && typeof instance.setNativeProps === 'function') {\n const styleOverrides = componentIDToStyleOverrides.get(id);\n if (!styleOverrides) {\n componentIDToStyleOverrides.set(id, newStyle);\n } else {\n Object.assign(styleOverrides, newStyle);\n }\n instance.setNativeProps({\n style: newStyle\n });\n } else if (src_isArray(style)) {\n const lastLength = style.length - 1;\n if (typeof style[lastLength] === 'object' && !src_isArray(style[lastLength])) {\n agent.overrideValueAtPath({\n type: 'props',\n id,\n rendererID,\n path: ['style', lastLength, name],\n value\n });\n } else {\n agent.overrideValueAtPath({\n type: 'props',\n id,\n rendererID,\n path: ['style'],\n value: style.concat([newStyle])\n });\n }\n } else {\n agent.overrideValueAtPath({\n type: 'props',\n id,\n rendererID,\n path: ['style'],\n value: [style, newStyle]\n });\n }\n agent.emit('hideNativeHighlight');\n}\n;// CONCATENATED MODULE: ./src/backend.js\n\n\n\n\n\n\nfunction startActivation(contentWindow, bridge) {\n const onSavedPreferences = data => {\n bridge.removeListener('savedPreferences', onSavedPreferences);\n const {\n appendComponentStack,\n breakOnConsoleErrors,\n componentFilters,\n showInlineWarningsAndErrors,\n hideConsoleLogsInStrictMode\n } = data;\n contentWindow.__REACT_DEVTOOLS_APPEND_COMPONENT_STACK__ = appendComponentStack;\n contentWindow.__REACT_DEVTOOLS_BREAK_ON_CONSOLE_ERRORS__ = breakOnConsoleErrors;\n contentWindow.__REACT_DEVTOOLS_COMPONENT_FILTERS__ = componentFilters;\n contentWindow.__REACT_DEVTOOLS_SHOW_INLINE_WARNINGS_AND_ERRORS__ = showInlineWarningsAndErrors;\n contentWindow.__REACT_DEVTOOLS_HIDE_CONSOLE_LOGS_IN_STRICT_MODE__ = hideConsoleLogsInStrictMode;\n if (contentWindow !== window) {\n window.__REACT_DEVTOOLS_APPEND_COMPONENT_STACK__ = appendComponentStack;\n window.__REACT_DEVTOOLS_BREAK_ON_CONSOLE_ERRORS__ = breakOnConsoleErrors;\n window.__REACT_DEVTOOLS_COMPONENT_FILTERS__ = componentFilters;\n window.__REACT_DEVTOOLS_SHOW_INLINE_WARNINGS_AND_ERRORS__ = showInlineWarningsAndErrors;\n window.__REACT_DEVTOOLS_HIDE_CONSOLE_LOGS_IN_STRICT_MODE__ = hideConsoleLogsInStrictMode;\n }\n finishActivation(contentWindow, bridge);\n };\n bridge.addListener('savedPreferences', onSavedPreferences);\n bridge.send('getSavedPreferences');\n}\nfunction finishActivation(contentWindow, bridge) {\n const agent = new Agent(bridge, getIfReloadedAndProfiling(), onReloadAndProfile);\n onReloadAndProfileFlagsReset();\n const hook = contentWindow.__REACT_DEVTOOLS_GLOBAL_HOOK__;\n if (hook) {\n initBackend(hook, agent, contentWindow, getIsReloadAndProfileSupported());\n if (hook.resolveRNStyle) {\n setupNativeStyleEditor(bridge, agent, hook.resolveRNStyle, hook.nativeStyleEditorValidAttributes);\n }\n }\n}\nfunction activate(contentWindow, {\n bridge\n} = {}) {\n if (bridge == null) {\n bridge = createBridge(contentWindow);\n }\n startActivation(contentWindow, bridge);\n}\nfunction createBridge(contentWindow, wall) {\n const {\n parent\n } = contentWindow;\n if (wall == null) {\n wall = {\n listen(fn) {\n const onMessage = ({\n data\n }) => {\n fn(data);\n };\n contentWindow.addEventListener('message', onMessage);\n return () => {\n contentWindow.removeEventListener('message', onMessage);\n };\n },\n send(event, payload, transferable) {\n parent.postMessage({\n event,\n payload\n }, '*', transferable);\n }\n };\n }\n return new bridge(wall);\n}\nfunction backend_initialize(contentWindow) {\n installHook(contentWindow);\n}\n})();\n\nmodule.exports = __webpack_exports__;\n/******/ })()\n;\n//# sourceMappingURL=backend.js.map","module.exports = require('./dist/backend');\n","// @ts-expect-error cannot find package\nimport { connectToDevTools } from 'react-devtools-inline/backend'\n// import { onExit } from 'signal-exit'\nimport { WebSocketServer } from 'ws'\n\n// declare global {\n// var WebSocket: typeof WebSocket\n// var self: any\n// var window: any\n// var isDevtoolsEnabled: any\n// }\n\n// Filter out Kubbs's internal components from devtools for a cleaner view.\n// See https://github.com/facebook/react/blob/edf6eac8a181860fd8a2d076a43806f1237495a1/packages/react-devtools-shared/src/types.js#L24\n\n// const customGlobal: any = globalThis\n// customGlobal.WebSocket ||= ws\n// customGlobal.window ||= customGlobal\n// customGlobal.self ||= customGlobal\n// customGlobal.isDevtoolsEnabled = true\n// customGlobal.window.__REACT_DEVTOOLS_COMPONENT_FILTERS__ = [\n// {\n// // ComponentFilterDisplayName\n// type: 2,\n// value: 'Context.Provider',\n// isEnabled: true,\n// isValid: true,\n// },\n// {\n// // ComponentFilterDisplayName\n// type: 2,\n// value: 'KubbRoot',\n// isEnabled: true,\n// isValid: true,\n// },\n// {\n// // ComponentFilterDisplayName\n// type: 2,\n// value: 'KubbErrorBoundary',\n// isEnabled: true,\n// isValid: true,\n// },\n// {\n// // ComponentFilterDisplayName\n// type: 2,\n// value: 'kubb-file',\n// isEnabled: true,\n// isValid: true,\n// },\n// {\n// // ComponentFilterDisplayName\n// type: 2,\n// value: 'kubb-text',\n// isEnabled: true,\n// isValid: true,\n// },\n// {\n// // ComponentFilterDisplayName\n// type: 2,\n// value: 'kubb-import',\n// isEnabled: true,\n// isValid: true,\n// },\n// {\n// // ComponentFilterDisplayName\n// type: 2,\n// value: 'kubb-export',\n// isEnabled: true,\n// isValid: true,\n// },\n// {\n// // ComponentFilterDisplayName\n// type: 2,\n// value: 'kubb-source',\n// isEnabled: true,\n// isValid: true,\n// },\n// ]\n\nfunction openDevtools() {\n // let subprocess: { kill: () => void }\n\n const wss = new WebSocketServer({ port: 8097 })\n\n connectToDevTools({\n websocket: wss,\n })\n\n // import('execa')\n // .then(async (execa) => {\n // console.log('Opening devtools')\n //\n // subprocess = execa.execa({ preferLocal: true })`npx react-devtools`\n // })\n // .then(() => {\n // // @ts-expect-error\n // return import('react-devtools-inline/backend')\n // })\n // .then((devtools) => {\n // console.log('Connecting devtools')\n // console.log(window.__REACT_DEVTOOLS_GLOBAL_HOOK__, customGlobal.window.__REACT_DEVTOOLS_GLOBAL_HOOK__)\n // devtools.initialize()\n // devtools.connectToDevTools()\n // })\n // .catch((err) => {\n // console.log('Error connecting devtools\\n', err)\n // })\n //\n // onExit(\n // () => {\n // console.log('Disconnecting devtools')\n // subprocess?.kill()\n // },\n // { alwaysLast: false },\n // )\n}\n\nopenDevtools()\n"],"x_google_ignoreList":[0,1],"mappings":";;;;;;AAAS,QAAO;EACN,IAAI,sBAAuB;GAE/B,QACE,UAAQ,0BAA0B,0BAAwB;IAKlE,MAAM,UAAUA,sBAAoB,KAAK;IACzC,MAAM,MAAM,OAAO,MAAM;IACzB,MAAM,SAAS,OAAO,SAAS;IAC/B,MAAM,oBAAoB,OAAO,mBAAmB;IACpD,MAAM,cAAc,OAAO,aAAa;IACxC,MAAM,UAAU,OAAO,SAAS;IAChC,MAAM,UAAU,OAAO,UAAU;IACjC,MAAM,oBAAoB,OAAO,iBAAiB;IAClD,MAAM,WAAW,OAAO,UAAU;IAClC,MAAM,QAAQ,OAAO,QAAQ;IAC7B,MAAM,oBAAoB,OAAO,iBAAiB;IAClD,MAAM,oBAAoB;IAC1B,MAAM,SAAS;KACb,YAAY,SAAS;AACnB,UAAI,OAAO,YAAY,SAAU,WAAU,EACzC,KAAK,SACN;AACD,UAAI,CAAC,QAAS,WAAU,EAAE;AAC1B,UAAI,QAAQ,QAAQ,OAAO,QAAQ,QAAQ,YAAY,QAAQ,MAAM,GAAI,OAAM,IAAI,UAAU,oCAAoC;AACrH,WAAK,OAAO,QAAQ,OAAO;MACvC,MAAM,KAAK,QAAQ,UAAU;AAC7B,WAAK,qBAAqB,OAAO,OAAO,aAAa,cAAc;AACnE,WAAK,eAAe,QAAQ,SAAS;AACrC,UAAI,QAAQ,UAAU,OAAO,QAAQ,WAAW,SAAU,OAAM,IAAI,UAAU,0BAA0B;AACxG,WAAK,WAAW,QAAQ,UAAU;AAClC,WAAK,WAAW,QAAQ;AACxB,WAAK,qBAAqB,QAAQ,kBAAkB;AACpD,WAAK,qBAAqB,QAAQ,kBAAkB;AACpD,WAAK,OAAO;;KAEd,IAAI,IAAI,IAAI;AACV,UAAI,OAAO,OAAO,YAAY,KAAK,EAAG,OAAM,IAAI,UAAU,oCAAoC;AAC9F,WAAK,OAAO,MAAM;AAClB,WAAK,KAAK;;KAEZ,IAAI,MAAM;AACR,aAAO,KAAK;;KAEd,IAAI,WAAW,YAAY;AACzB,WAAK,eAAe,CAAC,CAAC;;KAExB,IAAI,aAAa;AACf,aAAO,KAAK;;KAEd,IAAI,OAAO,IAAI;AACb,UAAI,OAAO,OAAO,SAAU,OAAM,IAAI,UAAU,uCAAuC;AACvF,WAAK,WAAW;AAChB,WAAK,KAAK;;KAEZ,IAAI,SAAS;AACX,aAAO,KAAK;;KAEd,IAAI,iBAAiB,IAAI;AACvB,UAAI,OAAO,OAAO,WAAY,MAAK;AACnC,UAAI,OAAO,KAAK,oBAAoB;AAClC,YAAK,qBAAqB;AAC1B,YAAK,UAAU;AACf,YAAK,UAAU,SAAQ,QAAO;AAC5B,YAAI,SAAS,KAAK,mBAAmB,IAAI,OAAO,IAAI,IAAI;AACxD,aAAK,WAAW,IAAI;SACpB;;AAEJ,WAAK,KAAK;;KAEZ,IAAI,mBAAmB;AACrB,aAAO,KAAK;;KAEd,IAAI,SAAS;AACX,aAAO,KAAK;;KAEd,IAAI,YAAY;AACd,aAAO,KAAK,UAAU;;KAExB,SAAS,IAAI,OAAO;AAClB,cAAQ,SAAS;AACjB,WAAK,IAAI,SAAS,KAAK,UAAU,MAAM,WAAW,OAAO;OACvD,MAAM,OAAO,OAAO;AACpB,mBAAY,MAAM,IAAI,QAAQ,MAAM;AACpC,gBAAS;;;KAGb,QAAQ,IAAI,OAAO;AACjB,cAAQ,SAAS;AACjB,WAAK,IAAI,SAAS,KAAK,UAAU,MAAM,WAAW,OAAO;OACvD,MAAM,OAAO,OAAO;AACpB,mBAAY,MAAM,IAAI,QAAQ,MAAM;AACpC,gBAAS;;;KAGb,OAAO;AACL,aAAO,KAAK,UAAU,SAAS,CAAC,KAAI,MAAK,EAAE,IAAI;;KAEjD,SAAS;AACP,aAAO,KAAK,UAAU,SAAS,CAAC,KAAI,MAAK,EAAE,MAAM;;KAEnD,QAAQ;AACN,UAAI,KAAK,YAAY,KAAK,aAAa,KAAK,UAAU,OACpD,MAAK,UAAU,SAAQ,QAAO,KAAK,SAAS,IAAI,KAAK,IAAI,MAAM,CAAC;AAElE,WAAK,yBAAS,IAAI,KAAK;AACvB,WAAK,YAAY,IAAI,SAAS;AAC9B,WAAK,UAAU;;KAEjB,OAAO;AACL,aAAO,KAAK,UAAU,KAAI,QAAO,QAAQ,MAAM,IAAI,GAAG,QAAQ;OAC5D,GAAG,IAAI;OACP,GAAG,IAAI;OACP,GAAG,IAAI,OAAO,IAAI,UAAU;OAC7B,CAAC,CAAC,SAAS,CAAC,QAAO,MAAK,EAAE;;KAE7B,UAAU;AACR,aAAO,KAAK;;KAEd,IAAI,KAAK,OAAO,QAAQ;AACtB,eAAS,UAAU,KAAK;AACxB,UAAI,UAAU,OAAO,WAAW,SAAU,OAAM,IAAI,UAAU,0BAA0B;MACxF,MAAM,MAAM,SAAS,KAAK,KAAK,GAAG;MAClC,MAAM,MAAM,KAAK,mBAAmB,OAAO,IAAI;AAC/C,UAAI,KAAK,OAAO,IAAI,IAAI,EAAE;AACxB,WAAI,MAAM,KAAK,MAAM;AACnB,YAAI,MAAM,KAAK,OAAO,IAAI,IAAI,CAAC;AAC/B,eAAO;;OAGT,MAAM,OADO,KAAK,OAAO,IAAI,IAAI,CACf;AAClB,WAAI,KAAK,UACP;YAAI,CAAC,KAAK,mBAAoB,MAAK,SAAS,KAAK,KAAK,MAAM;;AAE9D,YAAK,MAAM;AACX,YAAK,SAAS;AACd,YAAK,QAAQ;AACb,YAAK,WAAW,MAAM,KAAK;AAC3B,YAAK,SAAS;AACd,YAAK,IAAI,IAAI;AACb,YAAK,KAAK;AACV,cAAO;;MAET,MAAM,MAAM,IAAI,MAAM,KAAK,OAAO,KAAK,KAAK,OAAO;AACnD,UAAI,IAAI,SAAS,KAAK,MAAM;AAC1B,WAAI,KAAK,SAAU,MAAK,SAAS,KAAK,MAAM;AAC5C,cAAO;;AAET,WAAK,WAAW,IAAI;AACpB,WAAK,UAAU,QAAQ,IAAI;AAC3B,WAAK,OAAO,IAAI,KAAK,KAAK,UAAU,KAAK;AACzC,WAAK,KAAK;AACV,aAAO;;KAET,IAAI,KAAK;AACP,UAAI,CAAC,KAAK,OAAO,IAAI,IAAI,CAAE,QAAO;MAClC,MAAM,MAAM,KAAK,OAAO,IAAI,IAAI,CAAC;AACjC,aAAO,CAAC,QAAQ,MAAM,IAAI;;KAE5B,IAAI,KAAK;AACP,aAAO,IAAI,MAAM,KAAK,KAAK;;KAE7B,KAAK,KAAK;AACR,aAAO,IAAI,MAAM,KAAK,MAAM;;KAE9B,MAAM;MACJ,MAAM,OAAO,KAAK,UAAU;AAC5B,UAAI,CAAC,KAAM,QAAO;AAClB,UAAI,MAAM,KAAK;AACf,aAAO,KAAK;;KAEd,IAAI,KAAK;AACP,UAAI,MAAM,KAAK,OAAO,IAAI,IAAI,CAAC;;KAEjC,KAAK,KAAK;AACR,WAAK,OAAO;MACZ,MAAM,MAAM,KAAK,KAAK;AACtB,WAAK,IAAI,IAAI,IAAI,SAAS,GAAG,KAAK,GAAG,KAAK;OACxC,MAAM,MAAM,IAAI;OAChB,MAAM,YAAY,IAAI,KAAK;AAC3B,WAAI,cAAc,EAAG,MAAK,IAAI,IAAI,GAAG,IAAI,EAAE;YAAM;QAC/C,MAAM,SAAS,YAAY;AAC3B,YAAI,SAAS,EACX,MAAK,IAAI,IAAI,GAAG,IAAI,GAAG,OAAO;;;;KAKtC,QAAQ;AACN,WAAK,OAAO,SAAS,OAAO,QAAQ,IAAI,MAAM,KAAK,MAAM,CAAC;;;IAG9D,MAAM,OAAO,MAAM,KAAK,UAAU;KAChC,MAAM,OAAO,KAAK,OAAO,IAAI,IAAI;AACjC,SAAI,MAAM;MACR,MAAM,MAAM,KAAK;AACjB,UAAI,QAAQ,MAAM,IAAI,EAAE;AACtB,WAAI,MAAM,KAAK;AACf,WAAI,CAAC,KAAK,aAAc,QAAO;iBAE3B,OAAO;AACT,WAAI,KAAK,mBAAoB,MAAK,MAAM,MAAM,KAAK,KAAK;AACxD,YAAK,UAAU,YAAY,KAAK;;AAGpC,aAAO,IAAI;;;IAGf,MAAM,WAAW,MAAM,QAAQ;AAC7B,SAAI,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,KAAK,SAAU,QAAO;KAClD,MAAM,OAAO,KAAK,KAAK,GAAG,IAAI;AAC9B,YAAO,IAAI,SAAS,OAAO,IAAI,SAAS,KAAK,YAAY,OAAO,KAAK;;IAEvE,MAAM,QAAO,SAAQ;AACnB,SAAI,KAAK,UAAU,KAAK,KACtB,MAAK,IAAI,SAAS,KAAK,UAAU,MAAM,KAAK,UAAU,KAAK,QAAQ,WAAW,OAAO;MACnF,MAAM,OAAO,OAAO;AACpB,UAAI,MAAM,OAAO;AACjB,eAAS;;;IAIf,MAAM,OAAO,MAAM,SAAS;AAC1B,SAAI,MAAM;MACR,MAAM,MAAM,KAAK;AACjB,UAAI,KAAK,SAAU,MAAK,SAAS,IAAI,KAAK,IAAI,MAAM;AACpD,WAAK,WAAW,IAAI;AACpB,WAAK,OAAO,OAAO,IAAI,IAAI;AAC3B,WAAK,UAAU,WAAW,KAAK;;;IAGnC,MAAM,MAAM;KACV,YAAY,KAAK,OAAO,QAAQ,KAAK,QAAQ;AAC3C,WAAK,MAAM;AACX,WAAK,QAAQ;AACb,WAAK,SAAS;AACd,WAAK,MAAM;AACX,WAAK,SAAS,UAAU;;;IAG5B,MAAM,eAAe,MAAM,IAAI,MAAM,UAAU;KAC7C,IAAI,MAAM,KAAK;AACf,SAAI,QAAQ,MAAM,IAAI,EAAE;AACtB,UAAI,MAAM,KAAK;AACf,UAAI,CAAC,KAAK,aAAc,OAAM;;AAEhC,SAAI,IAAK,IAAG,KAAK,OAAO,IAAI,OAAO,IAAI,KAAK,KAAK;;AAEnD,aAAO,UAAU;;GAIX,QACE,aAAW;AAKnB,aAAO,UAAU,SAAU,SAAS;AAClC,aAAQ,UAAU,OAAO,YAAY,aAAa;AAChD,WAAK,IAAI,SAAS,KAAK,MAAM,QAAQ,SAAS,OAAO,KACnD,OAAM,OAAO;;;;GAOb,QACE,UAAQ,0BAA0B,0BAAwB;AAKlE,aAAO,UAAU;AACjB,YAAQ,OAAOC;AACf,YAAQ,SAAS;IACjB,SAAS,QAAQ,MAAM;KACrB,IAAI,OAAO;AACX,SAAI,EAAE,gBAAgB,SACpB,QAAO,IAAI,SAAS;AAEtB,UAAK,OAAO;AACZ,UAAK,OAAO;AACZ,UAAK,SAAS;AACd,SAAI,QAAQ,OAAO,KAAK,YAAY,WAClC,MAAK,QAAQ,SAAU,MAAM;AAC3B,WAAK,KAAK,KAAK;OACf;cACO,UAAU,SAAS,EAC5B,MAAK,IAAI,IAAI,GAAG,IAAI,UAAU,QAAQ,IAAI,GAAG,IAC3C,MAAK,KAAK,UAAU,GAAG;AAG3B,YAAO;;AAET,YAAQ,UAAU,aAAa,SAAU,MAAM;AAC7C,SAAI,KAAK,SAAS,KAChB,OAAM,IAAI,MAAM,mDAAmD;KAErE,IAAI,OAAO,KAAK;KAChB,IAAI,OAAO,KAAK;AAChB,SAAI,KACF,MAAK,OAAO;AAEd,SAAI,KACF,MAAK,OAAO;AAEd,SAAI,SAAS,KAAK,KAChB,MAAK,OAAO;AAEd,SAAI,SAAS,KAAK,KAChB,MAAK,OAAO;AAEd,UAAK,KAAK;AACV,UAAK,OAAO;AACZ,UAAK,OAAO;AACZ,UAAK,OAAO;AACZ,YAAO;;AAET,YAAQ,UAAU,cAAc,SAAU,MAAM;AAC9C,SAAI,SAAS,KAAK,KAChB;AAEF,SAAI,KAAK,KACP,MAAK,KAAK,WAAW,KAAK;KAE5B,IAAI,OAAO,KAAK;AAChB,UAAK,OAAO;AACZ,UAAK,OAAO;AACZ,SAAI,KACF,MAAK,OAAO;AAEd,UAAK,OAAO;AACZ,SAAI,CAAC,KAAK,KACR,MAAK,OAAO;AAEd,UAAK;;AAEP,YAAQ,UAAU,WAAW,SAAU,MAAM;AAC3C,SAAI,SAAS,KAAK,KAChB;AAEF,SAAI,KAAK,KACP,MAAK,KAAK,WAAW,KAAK;KAE5B,IAAI,OAAO,KAAK;AAChB,UAAK,OAAO;AACZ,UAAK,OAAO;AACZ,SAAI,KACF,MAAK,OAAO;AAEd,UAAK,OAAO;AACZ,SAAI,CAAC,KAAK,KACR,MAAK,OAAO;AAEd,UAAK;;AAEP,YAAQ,UAAU,OAAO,WAAY;AACnC,UAAK,IAAI,IAAI,GAAG,IAAI,UAAU,QAAQ,IAAI,GAAG,IAC3C,MAAK,MAAM,UAAU,GAAG;AAE1B,YAAO,KAAK;;AAEd,YAAQ,UAAU,UAAU,WAAY;AACtC,UAAK,IAAI,IAAI,GAAG,IAAI,UAAU,QAAQ,IAAI,GAAG,IAC3C,SAAQ,MAAM,UAAU,GAAG;AAE7B,YAAO,KAAK;;AAEd,YAAQ,UAAU,MAAM,WAAY;AAClC,SAAI,CAAC,KAAK,KACR;KAEF,IAAI,MAAM,KAAK,KAAK;AACpB,UAAK,OAAO,KAAK,KAAK;AACtB,SAAI,KAAK,KACP,MAAK,KAAK,OAAO;SAEjB,MAAK,OAAO;AAEd,UAAK;AACL,YAAO;;AAET,YAAQ,UAAU,QAAQ,WAAY;AACpC,SAAI,CAAC,KAAK,KACR;KAEF,IAAI,MAAM,KAAK,KAAK;AACpB,UAAK,OAAO,KAAK,KAAK;AACtB,SAAI,KAAK,KACP,MAAK,KAAK,OAAO;SAEjB,MAAK,OAAO;AAEd,UAAK;AACL,YAAO;;AAET,YAAQ,UAAU,UAAU,SAAU,IAAI,OAAO;AAC/C,aAAQ,SAAS;AACjB,UAAK,IAAI,SAAS,KAAK,MAAM,IAAI,GAAG,WAAW,MAAM,KAAK;AACxD,SAAG,KAAK,OAAO,OAAO,OAAO,GAAG,KAAK;AACrC,eAAS,OAAO;;;AAGpB,YAAQ,UAAU,iBAAiB,SAAU,IAAI,OAAO;AACtD,aAAQ,SAAS;AACjB,UAAK,IAAI,SAAS,KAAK,MAAM,IAAI,KAAK,SAAS,GAAG,WAAW,MAAM,KAAK;AACtE,SAAG,KAAK,OAAO,OAAO,OAAO,GAAG,KAAK;AACrC,eAAS,OAAO;;;AAGpB,YAAQ,UAAU,MAAM,SAAU,GAAG;AACnC,UAAK,IAAI,IAAI,GAAG,SAAS,KAAK,MAAM,WAAW,QAAQ,IAAI,GAAG,IAC5D,UAAS,OAAO;AAElB,SAAI,MAAM,KAAK,WAAW,KACxB,QAAO,OAAO;;AAGlB,YAAQ,UAAU,aAAa,SAAU,GAAG;AAC1C,UAAK,IAAI,IAAI,GAAG,SAAS,KAAK,MAAM,WAAW,QAAQ,IAAI,GAAG,IAC5D,UAAS,OAAO;AAElB,SAAI,MAAM,KAAK,WAAW,KACxB,QAAO,OAAO;;AAGlB,YAAQ,UAAU,MAAM,SAAU,IAAI,OAAO;AAC3C,aAAQ,SAAS;KACjB,IAAI,MAAM,IAAI,SAAS;AACvB,UAAK,IAAI,SAAS,KAAK,MAAM,WAAW,OAAO;AAC7C,UAAI,KAAK,GAAG,KAAK,OAAO,OAAO,OAAO,KAAK,CAAC;AAC5C,eAAS,OAAO;;AAElB,YAAO;;AAET,YAAQ,UAAU,aAAa,SAAU,IAAI,OAAO;AAClD,aAAQ,SAAS;KACjB,IAAI,MAAM,IAAI,SAAS;AACvB,UAAK,IAAI,SAAS,KAAK,MAAM,WAAW,OAAO;AAC7C,UAAI,KAAK,GAAG,KAAK,OAAO,OAAO,OAAO,KAAK,CAAC;AAC5C,eAAS,OAAO;;AAElB,YAAO;;AAET,YAAQ,UAAU,SAAS,SAAU,IAAI,SAAS;KAChD,IAAI;KACJ,IAAI,SAAS,KAAK;AAClB,SAAI,UAAU,SAAS,EACrB,OAAM;cACG,KAAK,MAAM;AACpB,eAAS,KAAK,KAAK;AACnB,YAAM,KAAK,KAAK;WAEhB,OAAM,IAAI,UAAU,6CAA6C;AAEnE,UAAK,IAAI,IAAI,GAAG,WAAW,MAAM,KAAK;AACpC,YAAM,GAAG,KAAK,OAAO,OAAO,EAAE;AAC9B,eAAS,OAAO;;AAElB,YAAO;;AAET,YAAQ,UAAU,gBAAgB,SAAU,IAAI,SAAS;KACvD,IAAI;KACJ,IAAI,SAAS,KAAK;AAClB,SAAI,UAAU,SAAS,EACrB,OAAM;cACG,KAAK,MAAM;AACpB,eAAS,KAAK,KAAK;AACnB,YAAM,KAAK,KAAK;WAEhB,OAAM,IAAI,UAAU,6CAA6C;AAEnE,UAAK,IAAI,IAAI,KAAK,SAAS,GAAG,WAAW,MAAM,KAAK;AAClD,YAAM,GAAG,KAAK,OAAO,OAAO,EAAE;AAC9B,eAAS,OAAO;;AAElB,YAAO;;AAET,YAAQ,UAAU,UAAU,WAAY;KACtC,IAAI,MAAM,IAAI,MAAM,KAAK,OAAO;AAChC,UAAK,IAAI,IAAI,GAAG,SAAS,KAAK,MAAM,WAAW,MAAM,KAAK;AACxD,UAAI,KAAK,OAAO;AAChB,eAAS,OAAO;;AAElB,YAAO;;AAET,YAAQ,UAAU,iBAAiB,WAAY;KAC7C,IAAI,MAAM,IAAI,MAAM,KAAK,OAAO;AAChC,UAAK,IAAI,IAAI,GAAG,SAAS,KAAK,MAAM,WAAW,MAAM,KAAK;AACxD,UAAI,KAAK,OAAO;AAChB,eAAS,OAAO;;AAElB,YAAO;;AAET,YAAQ,UAAU,QAAQ,SAAU,MAAM,IAAI;AAC5C,UAAK,MAAM,KAAK;AAChB,SAAI,KAAK,EACP,OAAM,KAAK;AAEb,YAAO,QAAQ;AACf,SAAI,OAAO,EACT,SAAQ,KAAK;KAEf,IAAI,MAAM,IAAI,SAAS;AACvB,SAAI,KAAK,QAAQ,KAAK,EACpB,QAAO;AAET,SAAI,OAAO,EACT,QAAO;AAET,SAAI,KAAK,KAAK,OACZ,MAAK,KAAK;AAEZ,UAAK,IAAI,IAAI,GAAG,SAAS,KAAK,MAAM,WAAW,QAAQ,IAAI,MAAM,IAC/D,UAAS,OAAO;AAElB,YAAO,WAAW,QAAQ,IAAI,IAAI,KAAK,SAAS,OAAO,KACrD,KAAI,KAAK,OAAO,MAAM;AAExB,YAAO;;AAET,YAAQ,UAAU,eAAe,SAAU,MAAM,IAAI;AACnD,UAAK,MAAM,KAAK;AAChB,SAAI,KAAK,EACP,OAAM,KAAK;AAEb,YAAO,QAAQ;AACf,SAAI,OAAO,EACT,SAAQ,KAAK;KAEf,IAAI,MAAM,IAAI,SAAS;AACvB,SAAI,KAAK,QAAQ,KAAK,EACpB,QAAO;AAET,SAAI,OAAO,EACT,QAAO;AAET,SAAI,KAAK,KAAK,OACZ,MAAK,KAAK;AAEZ,UAAK,IAAI,IAAI,KAAK,QAAQ,SAAS,KAAK,MAAM,WAAW,QAAQ,IAAI,IAAI,IACvE,UAAS,OAAO;AAElB,YAAO,WAAW,QAAQ,IAAI,MAAM,KAAK,SAAS,OAAO,KACvD,KAAI,KAAK,OAAO,MAAM;AAExB,YAAO;;AAET,YAAQ,UAAU,SAAS,SAAU,OAAO,aAAa;AACvD,SAAI,QAAQ,KAAK,OACf,SAAQ,KAAK,SAAS;AAExB,SAAI,QAAQ,EACV,SAAQ,KAAK,SAAS;AAExB,UAAK,IAAI,IAAI,GAAG,SAAS,KAAK,MAAM,WAAW,QAAQ,IAAI,OAAO,IAChE,UAAS,OAAO;KAElB,IAAI,MAAM,EAAE;AACZ,UAAK,IAAI,IAAI,GAAG,UAAU,IAAI,aAAa,KAAK;AAC9C,UAAI,KAAK,OAAO,MAAM;AACtB,eAAS,KAAK,WAAW,OAAO;;AAElC,SAAI,WAAW,KACb,UAAS,KAAK;AAEhB,SAAI,WAAW,KAAK,QAAQ,WAAW,KAAK,KAC1C,UAAS,OAAO;AAElB,UAAK,IAAI,IAAI,GAAG,IAAI,UAAU,QAAQ,IACpC,UAAS,OAAO,MAAM,QAAQ,UAAU,GAAG;AAE7C,YAAO;;AAET,YAAQ,UAAU,UAAU,WAAY;KACtC,IAAI,OAAO,KAAK;KAChB,IAAI,OAAO,KAAK;AAChB,UAAK,IAAI,SAAS,MAAM,WAAW,MAAM,SAAS,OAAO,MAAM;MAC7D,IAAI,IAAI,OAAO;AACf,aAAO,OAAO,OAAO;AACrB,aAAO,OAAO;;AAEhB,UAAK,OAAO;AACZ,UAAK,OAAO;AACZ,YAAO;;IAET,SAAS,OAAO,MAAM,MAAM,OAAO;KACjC,IAAI,WAAW,SAAS,KAAK,OAAO,IAAIA,OAAK,OAAO,MAAM,MAAM,KAAK,GAAG,IAAIA,OAAK,OAAO,MAAM,KAAK,MAAM,KAAK;AAC9G,SAAI,SAAS,SAAS,KACpB,MAAK,OAAO;AAEd,SAAI,SAAS,SAAS,KACpB,MAAK,OAAO;AAEd,UAAK;AACL,YAAO;;IAET,SAAS,KAAK,MAAM,MAAM;AACxB,UAAK,OAAO,IAAIA,OAAK,MAAM,KAAK,MAAM,MAAM,KAAK;AACjD,SAAI,CAAC,KAAK,KACR,MAAK,OAAO,KAAK;AAEnB,UAAK;;IAEP,SAAS,QAAQ,MAAM,MAAM;AAC3B,UAAK,OAAO,IAAIA,OAAK,MAAM,MAAM,KAAK,MAAM,KAAK;AACjD,SAAI,CAAC,KAAK,KACR,MAAK,OAAO,KAAK;AAEnB,UAAK;;IAEP,SAASA,OAAK,OAAO,MAAM,MAAM,MAAM;AACrC,SAAI,EAAE,gBAAgBA,QACpB,QAAO,IAAIA,OAAK,OAAO,MAAM,MAAM,KAAK;AAE1C,UAAK,OAAO;AACZ,UAAK,QAAQ;AACb,SAAI,MAAM;AACR,WAAK,OAAO;AACZ,WAAK,OAAO;WAEZ,MAAK,OAAO;AAEd,SAAI,MAAM;AACR,WAAK,OAAO;AACZ,WAAK,OAAO;WAEZ,MAAK,OAAO;;AAGhB,QAAI;AACF,2BAAoB,KAAK,CAAC,QAAQ;aAC3B,IAAI;;GAIP,OACC,SAAS,UAAQ,WAAS,uBAAqB;IAEtD,IAAI,gCAAgC,8BAA8B;AAA8B,KAAC,SAAU,MAAM,SAAS;AAItH,KAAE,+BAA+B,CAACD,sBAAoB,KAAK,CAAC,EAAE,iCAAkC,SAClG,gCAAiC,OAAO,mCAAmC,aAC1E,+BAA+B,MAAME,WAAS,6BAA6B,GAAI,gCAChF,kCAAkC,WAAc,SAAO,UAAU;OAEhE,MAAM,SAAS,iBAAiB,YAAY;KAG7C,IAAI,8BAA8B;KAClC,IAAI,yBAAyB;KAC7B,IAAI,4BAA4B;AAChC,YAAO;MACL,OAAO,SAAS,wBAAwB,OAAO;AAC7C,WAAI,OAAO,MAAM,eAAe,eAAe,OAAO,MAAM,uBAAuB,YACjF,QAAO,KAAK,WAAW,MAAM;gBACpB,MAAM,SAAS,MAAM,MAAM,MAAM,uBAAuB,CACjE,QAAO,KAAK,YAAY,MAAM;gBACrB,MAAM,MACf,QAAO,KAAK,gBAAgB,MAAM;WAElC,OAAM,IAAI,MAAM,kCAAkC;;MAGtD,iBAAiB,SAAS,kCAAkC,SAAS;AACnE,WAAI,QAAQ,QAAQ,IAAI,KAAK,GAC3B,QAAO,CAAC,QAAQ;OAGlB,IAAI,QADS,+BACM,KAAK,QAAQ,QAAQ,SAAS,GAAG,CAAC;AACrD,cAAO;QAAC,MAAM;QAAI,MAAM,MAAM;QAAW,MAAM,MAAM;QAAU;;MAEjE,aAAa,SAAS,8BAA8B,OAAO;AAIzD,cAHe,MAAM,MAAM,MAAM,KAAK,CAAC,OAAO,SAAU,MAAM;AAC5D,eAAO,CAAC,CAAC,KAAK,MAAM,uBAAuB;UAC1C,KAAK,CACQ,IAAI,SAAU,MAAM;AAClC,YAAI,KAAK,QAAQ,SAAS,GAAG,GAC3B,QAAO,KAAK,QAAQ,cAAc,OAAO,CAAC,QAAQ,8BAA8B,GAAG;QAErF,IAAI,gBAAgB,KAAK,QAAQ,QAAQ,GAAG,CAAC,QAAQ,gBAAgB,IAAI,CAAC,QAAQ,WAAW,GAAG;QAChG,IAAI,WAAW,cAAc,MAAM,aAAa;AAChD,wBAAgB,WAAW,cAAc,QAAQ,SAAS,IAAI,GAAG,GAAG;QACpE,IAAI,gBAAgB,KAAK,gBAAgB,WAAW,SAAS,KAAK,cAAc;AAGhF,eAAO,IAAI,WAAW;SACpB,cAHiB,YAAY,iBAAiB;SAI9C,UAHa,CAAC,QAAQ,cAAc,CAAC,QAAQ,cAAc,GAAG,GAAG,KAAK,SAAY,cAAc;SAIhG,YAAY,cAAc;SAC1B,cAAc,cAAc;SAC5B,QAAQ;SACT,CAAC;UACD,KAAK;;MAEV,iBAAiB,SAAS,kCAAkC,OAAO;AAIjE,cAHe,MAAM,MAAM,MAAM,KAAK,CAAC,OAAO,SAAU,MAAM;AAC5D,eAAO,CAAC,KAAK,MAAM,0BAA0B;UAC5C,KAAK,CACQ,IAAI,SAAU,MAAM;AAClC,YAAI,KAAK,QAAQ,UAAU,GAAG,GAC5B,QAAO,KAAK,QAAQ,oDAAoD,MAAM;AAEhF,YAAI,KAAK,QAAQ,IAAI,KAAK,MAAM,KAAK,QAAQ,IAAI,KAAK,GACpD,QAAO,IAAI,WAAW,EACpB,cAAc,MACf,CAAC;aACG;SACL,IAAI,oBAAoB;SACxB,IAAI,UAAU,KAAK,MAAM,kBAAkB;SAC3C,IAAI,eAAe,WAAW,QAAQ,KAAK,QAAQ,KAAK;SACxD,IAAI,gBAAgB,KAAK,gBAAgB,KAAK,QAAQ,mBAAmB,GAAG,CAAC;AAC7E,gBAAO,IAAI,WAAW;UACN;UACd,UAAU,cAAc;UACxB,YAAY,cAAc;UAC1B,cAAc,cAAc;UAC5B,QAAQ;UACT,CAAC;;UAEH,KAAK;;MAEV,YAAY,SAAS,6BAA6B,GAAG;AACnD,WAAI,CAAC,EAAE,cAAc,EAAE,QAAQ,QAAQ,KAAK,GAAG,MAAM,EAAE,QAAQ,MAAM,KAAK,CAAC,SAAS,EAAE,WAAW,MAAM,KAAK,CAAC,OAC3G,QAAO,KAAK,YAAY,EAAE;gBACjB,CAAC,EAAE,MACZ,QAAO,KAAK,aAAa,EAAE;WAE3B,QAAO,KAAK,aAAa,EAAE;;MAG/B,aAAa,SAAS,8BAA8B,GAAG;OACrD,IAAI,SAAS;OACb,IAAI,QAAQ,EAAE,QAAQ,MAAM,KAAK;OACjC,IAAI,SAAS,EAAE;AACf,YAAK,IAAI,IAAI,GAAG,MAAM,MAAM,QAAQ,IAAI,KAAK,KAAK,GAAG;QACnD,IAAI,QAAQ,OAAO,KAAK,MAAM,GAAG;AACjC,YAAI,MACF,QAAO,KAAK,IAAI,WAAW;SACzB,UAAU,MAAM;SAChB,YAAY,MAAM;SAClB,QAAQ,MAAM;SACf,CAAC,CAAC;;AAGP,cAAO;;MAET,cAAc,SAAS,+BAA+B,GAAG;OACvD,IAAI,SAAS;OACb,IAAI,QAAQ,EAAE,WAAW,MAAM,KAAK;OACpC,IAAI,SAAS,EAAE;AACf,YAAK,IAAI,IAAI,GAAG,MAAM,MAAM,QAAQ,IAAI,KAAK,KAAK,GAAG;QACnD,IAAI,QAAQ,OAAO,KAAK,MAAM,GAAG;AACjC,YAAI,MACF,QAAO,KAAK,IAAI,WAAW;SACzB,cAAc,MAAM,MAAM;SAC1B,UAAU,MAAM;SAChB,YAAY,MAAM;SAClB,QAAQ,MAAM;SACf,CAAC,CAAC;;AAGP,cAAO;;MAET,cAAc,SAAS,+BAA+B,OAAO;AAI3D,cAHe,MAAM,MAAM,MAAM,KAAK,CAAC,OAAO,SAAU,MAAM;AAC5D,eAAO,CAAC,CAAC,KAAK,MAAM,4BAA4B,IAAI,CAAC,KAAK,MAAM,oBAAoB;UACnF,KAAK,CACQ,IAAI,SAAU,MAAM;QAClC,IAAI,SAAS,KAAK,MAAM,IAAI;QAC5B,IAAI,gBAAgB,KAAK,gBAAgB,OAAO,KAAK,CAAC;QACtD,IAAI,eAAe,OAAO,OAAO,IAAI;QACrC,IAAI,eAAe,aAAa,QAAQ,kCAAkC,KAAK,CAAC,QAAQ,cAAc,GAAG,IAAI;QAC7G,IAAI;AACJ,YAAI,aAAa,MAAM,cAAc,CACnC,WAAU,aAAa,QAAQ,sBAAsB,KAAK;AAG5D,eAAO,IAAI,WAAW;SACN;SACd,MAHS,YAAY,UAAa,YAAY,8BAA8B,SAAY,QAAQ,MAAM,IAAI;SAI1G,UAAU,cAAc;SACxB,YAAY,cAAc;SAC1B,cAAc,cAAc;SAC5B,QAAQ;SACT,CAAC;UACD,KAAK;;MAEX;MACD;;GAII,OACC,SAAS,UAAQ,WAAS;IAEjC,IAAI,gCAAgC,8BAA8B;AAA8B,KAAC,SAAU,MAAM,SAAS;AAItH,KAAE,+BAA+B,EAAE,EAAE,iCAAkC,SACzE,gCAAiC,OAAO,mCAAmC,aAC1E,+BAA+B,MAAMA,WAAS,6BAA6B,GAAI,gCAChF,kCAAkC,WAAc,SAAO,UAAU;OAEhE,MAAM,WAAY;KAGnB,SAAS,UAAU,GAAG;AACpB,aAAO,CAAC,MAAM,WAAW,EAAE,CAAC,IAAI,SAAS,EAAE;;KAE7C,SAAS,YAAY,KAAK;AACxB,aAAO,IAAI,OAAO,EAAE,CAAC,aAAa,GAAG,IAAI,UAAU,EAAE;;KAEvD,SAAS,QAAQ,GAAG;AAClB,aAAO,WAAY;AACjB,cAAO,KAAK;;;KAGhB,IAAI,eAAe;MAAC;MAAiB;MAAU;MAAY;MAAa;KACxE,IAAI,eAAe,CAAC,gBAAgB,aAAa;KACjD,IAAI,cAAc;MAAC;MAAY;MAAgB;MAAS;KAGxD,IAAI,QAAQ,aAAa,OAAO,cAAc,aAF7B,CAAC,OAAO,EACP,CAAC,aAAa,CACmD;KACnF,SAAS,WAAW,KAAK;AACvB,UAAI,CAAC,IAAK;AACV,WAAK,IAAIC,MAAI,GAAGA,MAAI,MAAM,QAAQ,MAChC,KAAI,IAAI,MAAMA,UAAQ,OACpB,MAAK,QAAQ,YAAY,MAAMA,KAAG,EAAE,IAAI,MAAMA,MAAI;;AAIxD,gBAAW,YAAY;MACrB,SAAS,WAAY;AACnB,cAAO,KAAK;;MAEd,SAAS,SAAU,GAAG;AACpB,WAAI,OAAO,UAAU,SAAS,KAAK,EAAE,KAAK,iBACxC,OAAM,IAAI,UAAU,wBAAwB;AAE9C,YAAK,OAAO;;MAEd,eAAe,WAAY;AACzB,cAAO,KAAK;;MAEd,eAAe,SAAU,GAAG;AAC1B,WAAI,aAAa,WACf,MAAK,aAAa;gBACT,aAAa,OACtB,MAAK,aAAa,IAAI,WAAW,EAAE;WAEnC,OAAM,IAAI,UAAU,8CAA8C;;MAGtE,UAAU,WAAY;OACpB,IAAI,WAAW,KAAK,aAAa,IAAI;OACrC,IAAI,aAAa,KAAK,eAAe,IAAI;OACzC,IAAI,eAAe,KAAK,iBAAiB,IAAI;OAC7C,IAAI,eAAe,KAAK,iBAAiB,IAAI;AAC7C,WAAI,KAAK,WAAW,EAAE;AACpB,YAAI,SACF,QAAO,aAAa,WAAW,MAAM,aAAa,MAAM,eAAe;AAEzE,eAAO,YAAY,aAAa,MAAM;;AAExC,WAAI,aACF,QAAO,eAAe,OAAO,WAAW,MAAM,aAAa,MAAM,eAAe;AAElF,cAAO,WAAW,MAAM,aAAa,MAAM;;MAE9C;AACD,gBAAW,aAAa,SAAS,uBAAuB,KAAK;MAC3D,IAAI,iBAAiB,IAAI,QAAQ,IAAI;MACrC,IAAI,eAAe,IAAI,YAAY,IAAI;MACvC,IAAI,eAAe,IAAI,UAAU,GAAG,eAAe;MACnD,IAAI,OAAO,IAAI,UAAU,iBAAiB,GAAG,aAAa,CAAC,MAAM,IAAI;MACrE,IAAI,iBAAiB,IAAI,UAAU,eAAe,EAAE;AACpD,UAAI,eAAe,QAAQ,IAAI,KAAK,GAAG;OACrC,IAAI,QAAQ,gCAAgC,KAAK,gBAAgB,GAAG;OACpE,IAAI,WAAW,MAAM;OACrB,IAAI,aAAa,MAAM;OACvB,IAAI,eAAe,MAAM;;AAE3B,aAAO,IAAI,WAAW;OACN;OACd,MAAM,QAAQ;OACJ;OACV,YAAY,cAAc;OAC1B,cAAc,gBAAgB;OAC/B,CAAC;;AAEJ,UAAK,IAAI,IAAI,GAAG,IAAI,aAAa,QAAQ,KAAK;AAC5C,iBAAW,UAAU,QAAQ,YAAY,aAAa,GAAG,IAAI,QAAQ,aAAa,GAAG;AACrF,iBAAW,UAAU,QAAQ,YAAY,aAAa,GAAG,IAAI,SAAU,GAAG;AACxE,cAAO,SAAU,GAAG;AAClB,aAAK,KAAK,QAAQ,EAAE;;QAEtB,aAAa,GAAG;;AAEpB,UAAK,IAAI,IAAI,GAAG,IAAI,aAAa,QAAQ,KAAK;AAC5C,iBAAW,UAAU,QAAQ,YAAY,aAAa,GAAG,IAAI,QAAQ,aAAa,GAAG;AACrF,iBAAW,UAAU,QAAQ,YAAY,aAAa,GAAG,IAAI,SAAU,GAAG;AACxE,cAAO,SAAU,GAAG;AAClB,YAAI,CAAC,UAAU,EAAE,CACf,OAAM,IAAI,UAAU,IAAI,oBAAoB;AAE9C,aAAK,KAAK,OAAO,EAAE;;QAErB,aAAa,GAAG;;AAEpB,UAAK,IAAI,IAAI,GAAG,IAAI,YAAY,QAAQ,KAAK;AAC3C,iBAAW,UAAU,QAAQ,YAAY,YAAY,GAAG,IAAI,QAAQ,YAAY,GAAG;AACnF,iBAAW,UAAU,QAAQ,YAAY,YAAY,GAAG,IAAI,SAAU,GAAG;AACvE,cAAO,SAAU,GAAG;AAClB,aAAK,KAAK,OAAO,EAAE;;QAErB,YAAY,GAAG;;AAEnB,YAAO;MACP;;GAIS;EAGD,IAAI,2BAA2B,EAAE;EAGjC,SAAS,oBAAoB,UAAU;GAEtC,IAAI,eAAe,yBAAyB;AAC5C,OAAI,iBAAiB,OACpB,QAAO,aAAa;GAGrB,IAAIC,WAAS,yBAAyB,YAAY,EAGjD,SAAS,EAAE,EACX;AAGD,uBAAoB,UAAU,KAAKA,SAAO,SAASA,UAAQA,SAAO,SAAS,oBAAoB;AAG/F,UAAOA,SAAO;;AAKf,EAEC,oBAAoB,KAAK,aAAW;GACnC,IAAI,SAASA,YAAUA,SAAO,mBACtBA,SAAO,mBACPA;AACR,uBAAoB,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC;AAC5C,UAAO;;AAKT,EAEC,oBAAoB,KAAK,WAAS,eAAe;AAChD,QAAI,IAAI,OAAO,WACd,KAAG,oBAAoB,EAAE,YAAY,IAAI,IAAI,CAAC,oBAAoB,EAAEF,WAAS,IAAI,CAChF,QAAO,eAAeA,WAAS,KAAK;IAAE,YAAY;IAAM,KAAK,WAAW;IAAM,CAAC;;AAOnF,EACC,oBAAoB,KAAK,KAAK,SAAU,OAAO,UAAU,eAAe,KAAK,KAAK,KAAK;AAIxF,EAEC,oBAAoB,KAAK,cAAY;AACpC,OAAG,OAAO,WAAW,eAAe,OAAO,YAC1C,QAAO,eAAeA,WAAS,OAAO,aAAa,EAAE,OAAO,UAAU,CAAC;AAExE,UAAO,eAAeA,WAAS,cAAc,EAAE,OAAO,MAAM,CAAC;;EAKzE,IAAI,sBAAsB,EAAE;AAE5B,SAAO;AAGP,uBAAoB,EAAE,oBAAoB;AAG1C,uBAAoB,EAAE,qBAAqB;IACzC,kBAAiC;IACjC,sBAAqC;IACrC,oBAAmC;IACpC,CAAC;GAGF,SAAS,gBAAgB,KAAK,KAAK,OAAO;AAAE,UAAM,eAAe,IAAI;AAAE,QAAI,OAAO,IAAO,QAAO,eAAe,KAAK,KAAK;KAAS;KAAO,YAAY;KAAM,cAAc;KAAM,UAAU;KAAM,CAAC;QAAW,KAAI,OAAO;AAAS,WAAO;;GACtO,SAAS,eAAe,GAAG;IAAE,IAAI,IAAI,aAAa,GAAG,SAAS;AAAE,WAAO,YAAY,OAAO,IAAI,IAAI,IAAI;;GACtG,SAAS,aAAa,GAAG,GAAG;AAAE,QAAI,YAAY,OAAO,KAAK,CAAC,EAAG,QAAO;IAAG,IAAI,IAAI,EAAE,OAAO;AAAc,QAAI,KAAK,MAAM,GAAG;KAAE,IAAI,IAAI,EAAE,KAAK,GAAG,KAAK,UAAU;AAAE,SAAI,YAAY,OAAO,EAAG,QAAO;AAAG,WAAM,IAAI,UAAU,+CAA+C;;AAAI,YAAQ,aAAa,IAAI,SAAS,QAAQ,EAAE;;GACrT,MAAM,aAAa;IACjB,cAAc;AACZ,qBAAgB,MAAM,gCAAgB,IAAI,KAAK,CAAC;;IAElD,YAAY,OAAO,UAAU;KAC3B,MAAM,YAAY,KAAK,aAAa,IAAI,MAAM;AAC9C,SAAI,cAAc,OAChB,MAAK,aAAa,IAAI,OAAO,CAAC,SAAS,CAAC;cAE1B,UAAU,QAAQ,SAAS,GAC7B,EACV,WAAU,KAAK,SAAS;;IAI9B,KAAK,OAAO,GAAG,MAAM;KACnB,MAAM,YAAY,KAAK,aAAa,IAAI,MAAM;AAC9C,SAAI,cAAc,OAChB,KAAI,UAAU,WAAW,EAEvB,CADiB,UAAU,GAClB,MAAM,MAAM,KAAK;UACrB;MACL,IAAI,WAAW;MACf,IAAI,cAAc;MAClB,MAAM,kBAAkB,MAAM,KAAK,UAAU;AAC7C,WAAK,IAAI,IAAI,GAAG,IAAI,gBAAgB,QAAQ,KAAK;OAC/C,MAAM,WAAW,gBAAgB;AACjC,WAAI;AACF,iBAAS,MAAM,MAAM,KAAK;gBACnB,OAAO;AACd,YAAI,gBAAgB,MAAM;AACxB,oBAAW;AACX,uBAAc;;;;AAIpB,UAAI,SACF,OAAM;;;IAKd,qBAAqB;AACnB,UAAK,aAAa,OAAO;;IAE3B,eAAe,OAAO,UAAU;KAC9B,MAAM,YAAY,KAAK,aAAa,IAAI,MAAM;AAC9C,SAAI,cAAc,QAAW;MAC3B,MAAM,QAAQ,UAAU,QAAQ,SAAS;AACzC,UAAI,SAAS,EACX,WAAU,OAAO,OAAO,EAAE;;;;GAWlC,MAAM,qBAAqB;GAC3B,MAAM,wBAAwB;GAC9B,MAAM,kCAAkC;GACxC,MAAM,2CAA2C;GACjD,MAAM,2CAA2C;GAEjD,MAAM,kCAAkC;GACxC,MAAM,8BAA8B;GACpC,MAAM,iCAAiC;GACvC,MAAM,2CAA2C;GACjD,MAAM,iCAAiC;GACvC,MAAM,qCAAqC;GAC3C,MAAM,+BAA+B;GACrC,MAAM,kCAAkC;GACxC,MAAM,4CAA4C;GAClD,MAAM,0BAA0B;GAChC,MAAM,uCAAuC;GAC7C,MAAM,wCAAwC;GAC9C,MAAM,2CAA2C;GAGjD,MAAM,qCAAqC;GAK3C,MAAM,2DAA2D;GACjE,MAAM,gDAAgD;GACtD,MAAM,yCAAyC;GAM/C,MAAM,8BAA8B;GACpC,MAAM,mDAAmD;GAEzD,MAAM,mBAAmB,IAAI,OAAO;IAClC,MAAM,KAAK,iBAAiB,GAAG;IAC/B,MAAM,KAAK,iBAAiB,GAAG;IAC/B,MAAM,KAAK,GAAG,KAAK;IACnB,MAAM,KAAK,GAAG,KAAK;IACnB,MAAM,IAAI,gBAAgB,IAAI,GAAG;AACjC,QAAI,MAAM,EAAG,QAAO;AACpB,QAAI,MAAM,GACR,QAAO,gBAAgB,GAAG,MAAM,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC;aAC3C,MAAM,GACf,QAAO,KAAK,KAAK;AAEnB,WAAO;;GA2BT,MAAM,SAAS;GACf,MAAM,oBAAmB,YAAW;AAClC,QAAI,OAAO,YAAY,SACrB,OAAM,IAAI,UAAU,mCAAmC;IAEzD,MAAM,QAAQ,QAAQ,MAAM,OAAO;AACnC,QAAI,CAAC,MACH,OAAM,IAAI,MAAM,uCAAuC,QAAQ,aAAa;AAE9E,UAAM,OAAO;AACb,WAAO;;GAET,MAAM,cAAa,MAAK,MAAM,OAAO,MAAM,OAAO,MAAM;GACxD,MAAM,YAAW,MAAK;IACpB,MAAM,IAAI,SAAS,GAAG,GAAG;AACzB,WAAO,MAAM,EAAE,GAAG,IAAI;;GAExB,MAAM,aAAa,GAAG,MAAM,OAAO,MAAM,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE;GACnF,MAAM,kBAAkB,GAAG,MAAM;AAC/B,QAAI,WAAW,EAAE,IAAI,WAAW,EAAE,CAAE,QAAO;IAC3C,MAAM,CAAC,IAAI,MAAM,UAAU,SAAS,EAAE,EAAE,SAAS,EAAE,CAAC;AACpD,QAAI,KAAK,GAAI,QAAO;AACpB,QAAI,KAAK,GAAI,QAAO;AACpB,WAAO;;GAET,MAAM,mBAAmB,GAAG,MAAM;AAChC,SAAK,IAAI,IAAI,GAAG,IAAI,KAAK,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK;KACrD,MAAM,IAAI,eAAe,EAAE,MAAM,KAAK,EAAE,MAAM,IAAI;AAClD,SAAI,MAAM,EAAG,QAAO;;AAEtB,WAAO;;GAmBT,IAAI,YAAY,oBAAoB,KAAK;GACzC,IAAI,oBAAiC,oCAAoB,EAAE,UAAU;GA+DrE,MAAM,4BAA4B,OAAO,IAAI,gBAAgB;GAC7D,MAAM,qBAA2C,OAAO,IAAI,6BAA6B;GACzF,MAAM,oBAAoB,OAAO,IAAI,eAAe;GACpD,MAAM,sBAAsB,OAAO,IAAI,iBAAiB;GACxD,MAAM,yBAAyB,OAAO,IAAI,oBAAoB;GAC9D,MAAM,sBAAsB,OAAO,IAAI,iBAAiB;GACxD,MAAM,sBAAsB,OAAO,IAAI,iBAAiB;GACxD,MAAM,qBAAqB,OAAO,IAAI,gBAAgB;GACtD,MAAM,yBAAyB,OAAO,IAAI,oBAAoB;GAC9D,MAAM,sBAAsB,OAAO,IAAI,iBAAiB;GACxD,MAAM,2BAA2B,OAAO,IAAI,sBAAsB;GAClE,MAAM,kBAAkB,OAAO,IAAI,aAAa;GAChD,MAAM,kBAAkB,OAAO,IAAI,aAAa;GAIhD,MAAM,4BAA4B,OAAO,IAAI,uBAAuB;GACpE,MAAM,4BAA4B,OAAO,IAAI,4BAA4B;GAEzE,MAAM,6BAA6B,OAAO,IAAI,wBAAwB;AACxC,UAAO;AAYd,UAAO;GAE9B,MAAM,yBAAyB;GAC/B,MAAM,qBAAqB;GAC3B,MAAM,4BAA4B;GAClC,MAAM,8BAA8B;GACpC,MAAM,2BAA2B;GACjC,MAAM,wBAAwB;GAC9B,MAAM,4BAA4B;GAClC,MAAM,sBAAsB;GAC5B,MAAM,kBAAkB;GACxB,MAAM,sBAAsB;GAC5B,MAAM,0BAA0B;GAChC,MAAM,2BAA2B;GACjC,MAAM,2BAA2B;GACjC,MAAM,4BAA4B;GAClC,MAAM,sBAAsB;GAC5B,MAAM,6BAA6B;GACnC,MAAM,6BAA6B;GACnC,MAAM,0BAA0B;GAChC,MAAM,qBAAqB;GAC3B,MAAM,iCAAiC;GACvC,MAAM,aAAa;GAmBnB,SAAS,8BAA8B,KAAK;AAC1C,QAAI;AACF,YAAO,eAAe,QAAQ,IAAI;aAC3B,OAAO;AACd,YAAO;;;GAGX,SAAS,yBAAyB,KAAK;AACrC,QAAI;AACF,oBAAe,WAAW,IAAI;aACvB,OAAO;;GAElB,SAAS,sBAAsB,KAAK,OAAO;AACzC,QAAI;AACF,YAAO,eAAe,QAAQ,KAAK,MAAM;aAClC,OAAO;;GAIW,MAAM,cADnB,MAAM;GAYtB,MAAM,uBAAuB,OAAO,UAAU;GAC9C,MAAM,qCAAqB,IAAI,SAAS;GACxC,MAAM,qBAAqB,KAAK,mBAAmB,EAAE,EACnD,KAAK,KACN,CAAC;GACF,MAAM,6BAA6B,OAAO,IAAI,iBAAiB;GAC/D,SAAS,cAAc,GAAG,GAAG;AAC3B,QAAI,EAAE,UAAU,GAAG,EAAE,UAAU,CAC7B,QAAO;aACE,EAAE,UAAU,GAAG,EAAE,UAAU,CACpC,QAAO;QAEP,QAAO;;GAGX,SAAS,qBAAqB,KAAK;IACjC,MAAM,uBAAO,IAAI,KAAK;IACtB,IAAI,UAAU;AACd,WAAO,WAAW,MAAM;KACtB,MAAM,cAAc,CAAC,GAAG,OAAO,KAAK,QAAQ,EAAE,GAAG,OAAO,sBAAsB,QAAQ,CAAC;KACvF,MAAM,cAAc,OAAO,0BAA0B,QAAQ;AAC7D,iBAAY,SAAQ,QAAO;AACzB,UAAI,YAAY,KAAK,WACnB,MAAK,IAAI,IAAI;OAEf;AACF,eAAU,OAAO,eAAe,QAAQ;;AAE1C,WAAO;;GAET,SAAS,sBAAsB,WAAW,WAAW,aAAa,cAAc;AAE9E,kEADoB,UAAW,gBACT,GAAG,YAAY,GAAG,eAAe,WAAW,aAAa,CAAC;;GAElF,SAAS,eAAe,MAAM,eAAe,aAAa;IACxD,MAAM,gBAAgB,mBAAmB,IAAI,KAAK;AAClD,QAAI,iBAAiB,KACnB,QAAO;IAET,IAAI,cAAc;AAClB,QAAI,OAAO,KAAK,gBAAgB,SAC9B,eAAc,KAAK;aACV,OAAO,KAAK,SAAS,YAAY,KAAK,SAAS,GACxD,eAAc,KAAK;AAErB,uBAAmB,IAAI,MAAM,YAAY;AACzC,WAAO;;GAET,IAAI,aAAa;GACjB,SAAS,SAAS;AAChB,WAAO,EAAE;;GASX,SAAS,yBAAyB,WAAW,WAAW;AACtD,aAAS,YAAY,SAAU,OAAO,YAAY,QAAS;;GAE7D,SAAS,gBAAgB,QAAQ;IAC/B,MAAM,SAAS,mBAAmB,IAAI,OAAO;AAC7C,QAAI,WAAW,OACb,QAAO;IAET,MAAM,UAAU,EAAE;IAClB,IAAI,IAAI;IACR,IAAI;AACJ,WAAO,IAAI,OAAO,QAAQ;AACxB,gBAAW,OAAO,WAAW,EAAE;AAC/B,UAAK,WAAW,WAAY,MAC1B,SAAQ,KAAK,yBAAyB,UAAU,OAAO,WAAW,EAAE,EAAE,CAAC,CAAC;SAExE,SAAQ,KAAK,SAAS;AAExB,OAAE;;AAEJ,uBAAmB,IAAI,QAAQ,QAAQ;AACvC,WAAO;;GA0LT,SAAS,6BAA6B;AACpC,WAAO,CAAC;KACN,MAAM;KACN,OAAO;KACP,WAAW;KACZ,CAAC;;GAeJ,SAAS,kCAAkC,kBAAkB;AAC3D,QAAI,CAAC,MAAM,QAAQ,iBAAiB,CAClC,QAAO;AAET,WAAO,iBAAiB,QAAO,MAAK,EAAE,SAAS,wBAAwB;;GA8BzE,SAAS,mCAAmC,aAAa,MAAM;AAC7D,QAAI,gBAAgB,KAClB,QAAO;KACL,sBAAsB;KACtB,iBAAiB;KACjB,oBAAoB;KACrB;AAEH,QAAI,YAAY,WAAW,UAAU,EAAE;KAErC,MAAM,EACJ,sBACA,uCACE,mCAJoC,YAAY,MAAM,GAAG,YAAY,SAAS,EAAE,EAIZ,KAAK;AAC7E,YAAO;MACL;MACA;MACA,oBAAoB;MACrB;;IAEH,IAAI,kBAAkB;AACtB,YAAQ,MAAR;KACE,KAAK;KACL,KAAK;KACL,KAAK;KACL,KAAK;KACL,KAAK;AACH,UAAI,YAAY,QAAQ,IAAI,IAAI,GAAG;OACjC,MAAM,UAAU,YAAY,MAAM,UAAU;AAC5C,WAAI,WAAW,MAAM;AACnB,sBAAc,QAAQ,KAAK;AAC3B,0BAAkB;;;AAGtB;KACF,QACE;;AAEJ,WAAO;KACL,sBAAsB;KACtB;KACA,oBAAoB;KACrB;;GAeH,SAAS,kBAAkB,QAAQ,MAAM;AACvC,WAAO,KAAK,QAAQ,SAAS,SAAS;AACpC,SAAI,SAAS;AACX,UAAI,qBAAqB,KAAK,SAAS,KAAK,CAC1C,QAAO,QAAQ;AAEjB,UAAI,OAAO,QAAQ,OAAO,cAAc,WACtC,QAAO,MAAM,KAAK,QAAQ,CAAC;;AAG/B,YAAO;OACN,OAAO;;GAEZ,SAAS,mBAAmB,QAAQ,MAAM;IACxC,MAAM,SAAS,KAAK;IACpB,MAAM,OAAO,KAAK,SAAS;AAC3B,QAAI,UAAU,MAAM;KAClB,MAAM,SAAS,kBAAkB,QAAQ,KAAK,MAAM,GAAG,SAAS,EAAE,CAAC;AACnE,SAAI,OACF,KAAI,YAAY,OAAO,CACrB,QAAO,OAAO,MAAM,EAAE;SAEtB,QAAO,OAAO;;;GAKtB,SAAS,mBAAmB,QAAQ,SAAS,SAAS;IACpD,MAAM,SAAS,QAAQ;AACvB,QAAI,UAAU,MAAM;KAClB,MAAM,SAAS,kBAAkB,QAAQ,QAAQ,MAAM,GAAG,SAAS,EAAE,CAAC;AACtE,SAAI,QAAQ;MACV,MAAM,UAAU,QAAQ,SAAS;MACjC,MAAM,UAAU,QAAQ,SAAS;AACjC,aAAO,WAAW,OAAO;AACzB,UAAI,YAAY,OAAO,CACrB,QAAO,OAAO,SAAS,EAAE;UAEzB,QAAO,OAAO;;;;GAKtB,SAAS,kBAAkB,QAAQ,MAAM,OAAO;IAC9C,MAAM,SAAS,KAAK;IACpB,MAAM,OAAO,KAAK,SAAS;AAC3B,QAAI,UAAU,MAAM;KAClB,MAAM,SAAS,kBAAkB,QAAQ,KAAK,MAAM,GAAG,SAAS,EAAE,CAAC;AACnE,SAAI,OACF,QAAO,QAAQ;;;GAIrB,SAAS,QAAQ,MAAM;AACrB,QAAI,UAAU,QAAQ,aAAa,KACjC,QAAO,MAAM;AACX,SAAI,OAAO,UAAU,SAAS,KAAK,KAAK,KAAK,iBAC3C,QAAO;AAET,YAAO,OAAO,eAAe,KAAK;;AAGtC,WAAO;;GAET,SAAS,YAAY,MAAM;AACzB,QAAI,SAAS,KACX,QAAO;aACE,SAAS,OAClB,QAAO;AAET,QAAI,OAAO,gBAAgB,eAAe,gBAAgB,YACxD,QAAO;AAGT,YADa,OAAO,MACpB;KACE,KAAK,SACH,QAAO;KACT,KAAK,UACH,QAAO;KACT,KAAK,WACH,QAAO;KACT,KAAK,SACH,KAAI,OAAO,MAAM,KAAK,CACpB,QAAO;cACE,CAAC,OAAO,SAAS,KAAK,CAC/B,QAAO;SAEP,QAAO;KAEX,KAAK;AACH,cAAQ,KAAK,UAAb;OACE,KAAK;OACL,KAAK,0BACH,QAAO;OACT,KAAK,gBACH,QAAO;;AAEX,UAAI,YAAY,KAAK,CACnB,QAAO;eACE,YAAY,OAAO,KAAK,CACjC,QAAO,qBAAqB,KAAK,KAAK,aAAa,oBAAoB,GAAG,gBAAgB;eACjF,KAAK,eAAe,KAAK,YAAY,SAAS,cACvD,QAAO;eACE,OAAO,KAAK,OAAO,cAAc,YAAY;OACtD,MAAM,WAAW,KAAK,OAAO,WAAW;AACxC,WAAI,CAAC,UAAU,OACb,QAAO,aAAa,OAAO,oBAAoB;iBAExC,KAAK,eAAe,KAAK,YAAY,SAAS,SACvD,QAAO;eACE,OAAO,KAAK,SAAS,WAC9B,QAAO;eACE,QAAQ,KAAK,CACtB,QAAO;WACF;OACL,MAAM,gBAAgB,OAAO,UAAU,SAAS,KAAK,KAAK;AAC1D,WAAI,kBAAkB,gBACpB,QAAO;gBACE,kBAAkB,6BAC3B,QAAO;;AAGX,UAAI,CAAC,cAAc,KAAK,CACtB,QAAO;AAET,aAAO;KACT,KAAK,SACH,QAAO;KACT,KAAK,SACH,QAAO;KACT,KAAK;AACH,UAAI,OAAO,UAAU,SAAS,KAAK,KAAK,KAAK,6BAC3C,QAAO;AAET,aAAO;KACT,QACE,QAAO;;;GAGb,SAAS,8BAA8B,QAAQ;AAC7C,QAAI,OAAO,WAAW,YAAY,WAAW,MAAM;KACjD,MAAM,WAAW,OAAO;AACxB,aAAQ,UAAR;MACE,KAAK;MACL,KAAK;OACH,MAAM,OAAO,OAAO;AACpB,eAAQ,MAAR;QACE,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK,2BACH,QAAO;QACT;SACE,MAAM,eAAe,QAAQ,KAAK;AAClC,iBAAQ,cAAR;UACE,KAAK;UACL,KAAK;UACL,KAAK;UACL,KAAK,gBACH,QAAO;UACT,KAAK,oBACH,QAAO;UACT,QACE,QAAO;;;MAGjB,KAAK,kBACH,QAAO;;;;GAKf,SAAS,8BAA8B,SAAS;AAE9C,YADoB,8BAA8B,QAAQ,EAC1D;KACE,KAAK,oBACH,QAAO;KACT,KAAK,2BACH,QAAO;KACT,KAAK,mBACH,QAAO;KACT,KAAK,uBACH,QAAO;KACT,KAAK,oBACH,QAAO;KACT,KAAK,gBACH,QAAO;KACT,KAAK,gBACH,QAAO;KACT,KAAK,kBACH,QAAO;KACT,KAAK,oBACH,QAAO;KACT,KAAK,uBACH,QAAO;KACT,KAAK,oBACH,QAAO;KACT,KAAK,yBACH,QAAO;KACT,KAAK,2BACH,QAAO;KACT,KAAK,0BACH,QAAO;KACT;MACE,MAAM,EACJ,SACE;AACJ,UAAI,OAAO,SAAS,SAClB,QAAO;eACE,OAAO,SAAS,WACzB,QAAO,eAAe,MAAM,YAAY;eAC/B,QAAQ,KACjB,QAAO;UAEP,QAAO;;;GAIf,MAAM,4BAA4B;GAClC,SAAS,mBAAmB,QAAQ,SAAS,2BAA2B;AACtE,QAAI,OAAO,SAAS,OAClB,QAAO,OAAO,MAAM,GAAG,OAAO,GAAG;QAEjC,QAAO;;GAGX,SAAS,qBAAqB,MAAM,oBAAoB;AACtD,QAAI,QAAQ,QAAQ,qBAAqB,KAAK,MAAM,KAAK,KAAK,CAC5D,QAAO,qBAAqB,KAAK,KAAK,gBAAgB,KAAK,KAAK;AAGlE,YADa,YAAY,KAAK,EAC9B;KACE,KAAK,eACH,QAAO,IAAI,mBAAmB,KAAK,QAAQ,aAAa,CAAC,CAAC;KAC5D,KAAK;AACH,UAAI,OAAO,KAAK,SAAS,cAAc,KAAK,SAAS,GACnD,QAAO;AAET,aAAO,GAAG,mBAAmB,KAAK,KAAK,CAAC;KAC1C,KAAK,SACH,QAAO,IAAI,KAAK;KAClB,KAAK,SACH,QAAO,mBAAmB,KAAK,UAAU,GAAG,IAAI;KAClD,KAAK,SACH,QAAO,mBAAmB,KAAK,UAAU,CAAC;KAC5C,KAAK,SACH,QAAO,mBAAmB,KAAK,UAAU,CAAC;KAC5C,KAAK,gBACH,QAAO,IAAI,mBAAmB,8BAA8B,KAAK,IAAI,UAAU,CAAC;KAClF,KAAK;MACH,MAAM,UAAU,KAAK;AACrB,UAAI,YAAY,QAAQ,OAAO,YAAY,UAAU;AACnD,WAAI,QAAQ,YAAY,EACtB,QAAO;AAET,WAAI,QAAQ,YAAY,KAAK,QAAQ,WAAW,KAC9C,KAAI,mBAEF,QAAO,qBAAqB,mBADV,qBAAqB,QAAQ,QAAQ,SAAS,MAAM,CACb,CAAC;WAE1D,QAAO;AAGX,WAAI,QAAQ,YAAY,EACtB,KAAI,mBAEF,QAAO,oBAAoB,mBADT,qBAAqB,QAAQ,SAAS,MAAM,CACN,CAAC;WAEzD,QAAO;AAGX,WAAI,QAAQ,WAAW,aAAa,QAAQ,WAAW,UACrD,QAAO;AAET,WAAI,QAAQ,WAAW,YACrB,KAAI,mBAEF,QAAO,qBAAqB,mBADV,qBAAqB,QAAQ,OAAO,MAAM,CACH,CAAC;WAE1D,QAAO;AAGX,WAAI,QAAQ,WAAW,WACrB,KAAI,mBAEF,QAAO,oBAAoB,mBADT,qBAAqB,QAAQ,QAAQ,MAAM,CACL,CAAC;WAEzD,QAAO;;AAIb,aAAO;KACT,KAAK,eACH,QAAO,eAAe,KAAK,WAAW;KACxC,KAAK,YACH,QAAO,YAAY,KAAK,OAAO,WAAW;KAC5C,KAAK,QACH,KAAI,oBAAoB;MACtB,IAAI,YAAY;AAChB,WAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,WAAI,IAAI,EACN,cAAa;AAEf,oBAAa,qBAAqB,KAAK,IAAI,MAAM;AACjD,WAAI,UAAU,SAAS,0BACrB;;AAGJ,aAAO,IAAI,mBAAmB,UAAU,CAAC;WAGzC,QAAO,SADQ,qBAAqB,KAAK,MAAM,KAAK,KAAK,GAAG,KAAK,KAAK,QAAQ,KAAK,OAC5D;KAE3B,KAAK;MACH,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,GAAG,KAAK,OAAO;AAC1D,UAAI,oBAAoB;OACtB,IAAI,YAAY;AAChB,YAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,YAAI,IAAI,EACN,cAAa;AAEf,qBAAa,KAAK;AAClB,YAAI,UAAU,SAAS,0BACrB;;AAGJ,cAAO,GAAG,UAAU,IAAI,mBAAmB,UAAU,CAAC;YAEtD,QAAO;KAEX,KAAK;MACH,MAAM,OAAO,KAAK,YAAY;AAC9B,UAAI,oBAAoB;OACtB,MAAM,QAAQ,MAAM,KAAK,KAAK;OAC9B,IAAI,YAAY;AAChB,YAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;QACrC,MAAM,iBAAiB,MAAM;AAC7B,YAAI,IAAI,EACN,cAAa;AAEf,YAAI,YAAY,eAAe,EAAE;SAC/B,MAAM,MAAM,qBAAqB,eAAe,IAAI,KAAK;SACzD,MAAM,QAAQ,qBAAqB,eAAe,IAAI,MAAM;AAC5D,sBAAa,GAAG,IAAI,MAAM;cAE1B,cAAa,qBAAqB,gBAAgB,MAAM;AAE1D,YAAI,UAAU,SAAS,0BACrB;;AAGJ,cAAO,GAAG,KAAK,GAAG,KAAK,KAAK,KAAK,mBAAmB,UAAU,CAAC;YAE/D,QAAO,GAAG,KAAK,GAAG,KAAK,KAAK;KAEhC,KAAK,kBAED,QAAO,KAAK,OAAO;KAEvB,KAAK,OACH,QAAO,KAAK,UAAU;KACxB,KAAK,iBACH,KAAI;MACF,IAAI,0BAA0B,KAAK,YAAY;AAC/C,UAAI,OAAO,4BAA4B,SACrC,QAAO;AAET,gCAA0B,OAAO,eAAe,KAAK,CAAC,YAAY;AAClE,UAAI,OAAO,4BAA4B,SACrC,QAAO;AAET,UAAI;AACF,cAAO,mBAAmB,OAAO,KAAK,CAAC;eAChC,OAAO;AACd,cAAO;;cAEF,OAAO;AACd,aAAO;;KAEX,KAAK;MACH,IAAI;AACJ,UAAI,cAAc,KAAK,CACrB,eAAc;WACT;OACL,IAAI,0BAA0B,KAAK,YAAY;AAC/C,WAAI,OAAO,4BAA4B,SACrC,2BAA0B,OAAO,eAAe,KAAK,CAAC,YAAY;AAEpE,WAAI,OAAO,4BAA4B,SACrC,eAAc;WAEd,eAAc;;AAGlB,cAAQ,KAAK,QAAb;OACE,KAAK,UACH,QAAO,WAAW;OACpB,KAAK,YACH,KAAI,oBAAoB;QACtB,MAAM,YAAY,qBAAqB,KAAK,OAAO,MAAM;AACzD,eAAO,aAAa,YAAY,IAAI,mBAAmB,UAAU,CAAC;aAElE,QAAO,aAAa,YAAY;OAEpC,KAAK,WACH,KAAI,oBAAoB;QACtB,MAAM,YAAY,qBAAqB,KAAK,QAAQ,MAAM;AAC1D,eAAO,YAAY,YAAY,IAAI,mBAAmB,UAAU,CAAC;aAEjE,QAAO,YAAY,YAAY;OAEnC,QACE,QAAO;;KAEb,KAAK,SACH,KAAI,oBAAoB;MACtB,MAAM,OAAO,MAAM,KAAK,qBAAqB,KAAK,CAAC,CAAC,KAAK,cAAc;MACvE,IAAI,YAAY;AAChB,WAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;OACpC,MAAM,MAAM,KAAK;AACjB,WAAI,IAAI,EACN,cAAa;AAEf,oBAAa,GAAG,IAAI,UAAU,CAAC,IAAI,qBAAqB,KAAK,MAAM,MAAM;AACzE,WAAI,UAAU,SAAS,0BACrB;;AAGJ,aAAO,IAAI,mBAAmB,UAAU,CAAC;WAEzC,QAAO;KAEX,KAAK,QACH,QAAO,mBAAmB,OAAO,KAAK,CAAC;KACzC,KAAK;KACL,KAAK;KACL,KAAK;KACL,KAAK;KACL,KAAK;KACL,KAAK,YACH,QAAO,OAAO,KAAK;KACrB,QACE,KAAI;AACF,aAAO,mBAAmB,OAAO,KAAK,CAAC;cAChC,OAAO;AACd,aAAO;;;;GAIf,MAAM,iBAAgB,WAAU;IAC9B,MAAM,kBAAkB,OAAO,eAAe,OAAO;AACrD,QAAI,CAAC,gBAAiB,QAAO;AAE7B,WAAO,CADuB,OAAO,eAAe,gBAAgB;;GAuBtE,SAAS,iCAAiC;IACxC,IAAI,+BAA+B;AACnC,QAAI;AACF,kBAAa,QAAQ,OAAO;AAC5B,oCAA+B;aACxB,OAAO;AAChB,WAAO,gCAAgC,2BAA2B;;GAEpE,SAAS,4BAA4B;AACnC,WAAO,8BAA8B,uCAAuC,KAAK;;GAQnF,SAAS,mBAAmB,0BAA0B,gBAAgB;AACpE,0BAAsB,wCAAwC,OAAO;AACrE,0BAAsB,0DAA0D,2BAA2B,SAAS,QAAQ;AAC5H,0BAAsB,+CAA+C,iBAAiB,SAAS,QAAQ;;GAEzG,SAAS,+BAA+B;AACtC,6BAAyB,uCAAuC;AAChE,6BAAyB,yDAAyD;AAClF,6BAAyB,8CAA8C;;GAgBzE,SAAS,OAAO;GAKhB,MAAM,OAAO;IACX,aAAa,OAAO,cAAc;IAClC,WAAW,OAAO,YAAY;IAC9B,MAAM,OAAO,OAAO;IACpB,cAAc,OAAO,eAAe;IACpC,eAAe,OAAO,gBAAgB;IACtC,UAAU,OAAO,WAAW;IAC5B,MAAM,OAAO,OAAO;IACpB,MAAM,OAAO,OAAO;IACpB,gBAAgB,OAAO,iBAAiB;IACzC;GACD,MAAM,kBAAkB;GACxB,SAAS,iBAAiB,MAAM,aAAa,MAAM,SAAS,MAAM;AAChE,YAAQ,KAAK,KAAK;IAClB,MAAM,aAAa;KACjB;KACA;KACA,cAAc,qBAAqB,MAAM,KAAK;KAC9C,eAAe,qBAAqB,MAAM,MAAM;KAChD,MAAM,OAAO,KAAK,gBAAgB,cAAc,OAAO,KAAK,YAAY,SAAS,YAAY,KAAK,YAAY,SAAS,WAAW,KAAK,KAAK,YAAY;KACzJ;AACD,QAAI,SAAS,WAAW,SAAS,cAC/B,YAAW,OAAO,KAAK;aACd,SAAS,SAClB,YAAW,OAAO,OAAO,KAAK,KAAK,CAAC;AAEtC,QAAI,SAAS,cAAc,SAAS,cAClC,YAAW,WAAW;AAExB,WAAO;;GAET,SAAS,UAAU,MAAM,SAAS,gBAAgB,MAAM,eAAe,QAAQ,GAAG;IAChF,MAAM,OAAO,YAAY,KAAK;IAC9B,IAAI;AACJ,YAAQ,MAAR;KACE,KAAK;AACH,cAAQ,KAAK,KAAK;AAClB,aAAO;OACL,aAAa;OACb,eAAe,qBAAqB,MAAM,MAAM;OAChD,cAAc,qBAAqB,MAAM,KAAK;OAC9C,MAAM,KAAK;OACX;OACD;KACH,KAAK;AACH,cAAQ,KAAK,KAAK;AAClB,aAAO;OACL,aAAa;OACb,eAAe,qBAAqB,MAAM,MAAM;OAChD,cAAc,qBAAqB,MAAM,KAAK;OAC9C,MAAM,OAAO,KAAK,SAAS,cAAc,CAAC,KAAK,OAAO,aAAa,KAAK;OACxE;OACD;KACH,KAAK;AACH,2BAAqB,cAAc,KAAK;AACxC,UAAI,mBACF,QAAO;UAEP,QAAO,KAAK,UAAU,MAAM,OAAO,KAAK,MAAM,GAAG,IAAI,GAAG;KAE5D,KAAK;AACH,cAAQ,KAAK,KAAK;AAClB,aAAO;OACL,aAAa;OACb,eAAe,qBAAqB,MAAM,MAAM;OAChD,cAAc,qBAAqB,MAAM,KAAK;OAC9C,MAAM,KAAK,UAAU;OACrB;OACD;KACH,KAAK;AACH,cAAQ,KAAK,KAAK;AAClB,aAAO;OACL,aAAa;OACb,eAAe,qBAAqB,MAAM,MAAM;OAChD,cAAc,qBAAqB,MAAM,KAAK;OAC9C,MAAM,KAAK,UAAU;OACrB;OACD;KACH,KAAK,iBACH;AACE,2BAAqB,cAAc,KAAK;AACxC,UAAI,SAAS,mBAAmB,CAAC,oBAAoB;AACnD,eAAQ,KAAK,KAAK;AAClB,cAAO;QACL,aAAa;QACb,eAAe,qBAAqB,MAAM,MAAM;QAChD,cAAc,qBAAqB,MAAM,KAAK;QAC9C,MAAM,8BAA8B,KAAK,IAAI;QAC7C;QACD;;MAEH,MAAM,sBAAsB;OAC1B,gBAAgB;OAChB;OACA,UAAU;OACV,eAAe,qBAAqB,MAAM,MAAM;OAChD,cAAc,qBAAqB,MAAM,KAAK;OAC9C,MAAM,8BAA8B,KAAK,IAAI;OAC9C;AACD,0BAAoB,MAAM,UAAU,KAAK,KAAK,SAAS,gBAAgB,KAAK,OAAO,CAAC,MAAM,CAAC,EAAE,eAAe,qBAAqB,IAAI,QAAQ,EAAE;AAC/I,UAAI,KAAK,aAAa,0BACpB,qBAAoB,MAAM,UAAU,KAAK,KAAK,SAAS,gBAAgB,KAAK,OAAO,CAAC,MAAM,CAAC,EAAE,eAAe,qBAAqB,IAAI,QAAQ,EAAE;AAEjJ,0BAAoB,QAAQ,UAAU,KAAK,OAAO,SAAS,gBAAgB,KAAK,OAAO,CAAC,QAAQ,CAAC,EAAE,eAAe,qBAAqB,IAAI,QAAQ,EAAE;AACrJ,qBAAe,KAAK,KAAK;AACzB,aAAO;;KAEX,KAAK,cACH;AACE,2BAAqB,cAAc,KAAK;MACxC,MAAM,UAAU,KAAK;AACrB,UAAI,SAAS,mBAAmB,CAAC,oBAAoB;AACnD,eAAQ,KAAK,KAAK;AAElB,cAAO;QACL,aAFkB,YAAY,QAAQ,OAAO,YAAY,aAAa,QAAQ,YAAY,KAAK,QAAQ,YAAY,KAAK,QAAQ,WAAW,eAAe,QAAQ,WAAW;QAG7K,eAAe,qBAAqB,MAAM,MAAM;QAChD,cAAc,qBAAqB,MAAM,KAAK;QAC9C,MAAM;QACN;QACD;;MAEH,MAAM,sBAAsB;OAC1B,gBAAgB;OACV;OACN,eAAe,qBAAqB,MAAM,MAAM;OAChD,cAAc,qBAAqB,MAAM,KAAK;OAC9C,MAAM;OACP;AACD,0BAAoB,WAAW,UAAU,SAAS,SAAS,gBAAgB,KAAK,OAAO,CAAC,WAAW,CAAC,EAAE,eAAe,qBAAqB,IAAI,QAAQ,EAAE;AACxJ,qBAAe,KAAK,KAAK;AACzB,aAAO;;KAEX,KAAK;KACL,KAAK;AACH,cAAQ,KAAK,KAAK;AAClB,aAAO;OACL,aAAa;OACb,eAAe,qBAAqB,MAAM,MAAM;OAChD,cAAc,qBAAqB,MAAM,KAAK;OAC9C,MAAM,SAAS,cAAc,aAAa;OAC1C,MAAM,KAAK;OACX;OACD;KACH,KAAK;AACH,2BAAqB,cAAc,KAAK;AACxC,UAAI,SAAS,mBAAmB,CAAC,mBAC/B,QAAO,iBAAiB,MAAM,MAAM,MAAM,SAAS,KAAK;MAE1D,MAAM,MAAM,EAAE;AACd,WAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,IAC/B,KAAI,KAAK,aAAa,MAAM,GAAG,SAAS,gBAAgB,KAAK,OAAO,CAAC,EAAE,CAAC,EAAE,eAAe,qBAAqB,IAAI,QAAQ,EAAE;AAE9H,aAAO;KACT,KAAK;KACL,KAAK;KACL,KAAK;AACH,2BAAqB,cAAc,KAAK;AACxC,UAAI,SAAS,mBAAmB,CAAC,mBAC/B,QAAO,iBAAiB,MAAM,MAAM,MAAM,SAAS,KAAK;WACnD;OACL,MAAM,sBAAsB;QAC1B,gBAAgB;QACV;QACN,UAAU;QACV,MAAM,SAAS,gBAAgB,KAAK,SAAS;QAC7C,eAAe,qBAAqB,MAAM,MAAM;QAChD,cAAc,qBAAqB,MAAM,KAAK;QAC9C,MAAM,OAAO,KAAK,gBAAgB,cAAc,OAAO,KAAK,YAAY,SAAS,YAAY,KAAK,YAAY,SAAS,WAAW,KAAK,KAAK,YAAY;QACzJ;AACD,aAAM,KAAK,KAAK,CAAC,SAAS,MAAM,MAAM,oBAAoB,KAAK,UAAU,MAAM,SAAS,gBAAgB,KAAK,OAAO,CAAC,EAAE,CAAC,EAAE,eAAe,qBAAqB,IAAI,QAAQ,EAAE,CAAC;AAC7K,sBAAe,KAAK,KAAK;AACzB,cAAO;;KAEX,KAAK;AACH,cAAQ,KAAK,KAAK;AAClB,aAAO;OACL,aAAa;OACb,eAAe,qBAAqB,MAAM,MAAM;OAChD,cAAc,qBAAqB,MAAM,KAAK;OAC9C,MAAM,KAAK,OAAO;OAClB;OACD;KACH,KAAK;AACH,cAAQ,KAAK,KAAK;AAClB,aAAO;OACL,aAAa;OACb,eAAe,qBAAqB,MAAM,MAAM;OAChD,cAAc,qBAAqB,MAAM,KAAK;OAC9C,MAAM,KAAK,UAAU;OACrB;OACD;KACH,KAAK;AACH,cAAQ,KAAK,KAAK;AAClB,aAAO;OACL,aAAa;OACb,eAAe,qBAAqB,MAAM,MAAM;OAChD,cAAc,qBAAqB,MAAM,KAAK;OAC9C,MAAM,KAAK,UAAU;OACrB;OACD;KACH,KAAK;AACH,2BAAqB,cAAc,KAAK;AACxC,UAAI,SAAS,mBAAmB,CAAC,oBAAoB;AACnD,eAAQ,KAAK,KAAK;AAClB,cAAO;QACL,aAAa,KAAK,WAAW,eAAe,KAAK,WAAW;QAC5D,eAAe,qBAAqB,MAAM,MAAM;QAChD,cAAc,qBAAqB,MAAM,KAAK;QAC9C,MAAM,KAAK,UAAU;QACrB;QACD;;AAEH,UAAI,KAAK,WAAW,oBAAoB,KAAK,WAAW,iBACtD,MAAK,KAAK,KAAK;AAEjB,cAAQ,KAAK,QAAb;OACE,KAAK,aACH;QACE,MAAM,sBAAsB;SAC1B,gBAAgB;SACV;SACN,eAAe,qBAAqB,MAAM,MAAM;SAChD,cAAc,qBAAqB,MAAM,KAAK;SAC9C,MAAM;SACP;AACD,4BAAoB,QAAQ,UAAU,KAAK,OAAO,SAAS,gBAAgB,KAAK,OAAO,CAAC,QAAQ,CAAC,EAAE,eAAe,qBAAqB,IAAI,QAAQ,EAAE;AACrJ,uBAAe,KAAK,KAAK;AACzB,eAAO;;OAEX,KAAK,YACH;QACE,MAAM,sBAAsB;SAC1B,gBAAgB;SACV;SACN,eAAe,qBAAqB,MAAM,MAAM;SAChD,cAAc,qBAAqB,MAAM,KAAK;SAC9C,MAAM;SACP;AACD,4BAAoB,SAAS,UAAU,KAAK,QAAQ,SAAS,gBAAgB,KAAK,OAAO,CAAC,SAAS,CAAC,EAAE,eAAe,qBAAqB,IAAI,QAAQ,EAAE;AACxJ,uBAAe,KAAK,KAAK;AACzB,eAAO;;OAEX;AACE,gBAAQ,KAAK,KAAK;AAClB,eAAO;SACL,aAAa;SACb,eAAe,qBAAqB,MAAM,MAAM;SAChD,cAAc,qBAAqB,MAAM,KAAK;SAC9C,MAAM,KAAK,UAAU;SACrB;SACD;;KAEP,KAAK;AACH,2BAAqB,cAAc,KAAK;AACxC,UAAI,SAAS,mBAAmB,CAAC,mBAC/B,QAAO,iBAAiB,MAAM,MAAM,MAAM,SAAS,KAAK;WACnD;OACL,MAAM,SAAS,EAAE;AACjB,4BAAqB,KAAK,CAAC,SAAQ,QAAO;QACxC,MAAM,OAAO,IAAI,UAAU;AAC3B,eAAO,QAAQ,aAAa,MAAM,KAAK,SAAS,gBAAgB,KAAK,OAAO,CAAC,KAAK,CAAC,EAAE,eAAe,qBAAqB,IAAI,QAAQ,EAAE;SACvI;AACF,cAAO;;KAEX,KAAK,kBACH;AACE,2BAAqB,cAAc,KAAK;AACxC,UAAI,SAAS,mBAAmB,CAAC,mBAC/B,QAAO,iBAAiB,MAAM,MAAM,MAAM,SAAS,KAAK;MAE1D,MAAM,QAAQ;OACZ,gBAAgB;OAChB;OACA,UAAU;OACV,eAAe,qBAAqB,MAAM,MAAM;OAChD,cAAc,qBAAqB,MAAM,KAAK;OAC9C,MAAM,OAAO,KAAK,gBAAgB,cAAc,OAAO,KAAK,YAAY,SAAS,WAAW,KAAK,KAAK,YAAY;OACnH;AACD,2BAAqB,KAAK,CAAC,SAAQ,QAAO;OACxC,MAAM,cAAc,IAAI,UAAU;AAClC,aAAM,eAAe,UAAU,KAAK,MAAM,SAAS,gBAAgB,KAAK,OAAO,CAAC,YAAY,CAAC,EAAE,eAAe,qBAAqB,IAAI,QAAQ,EAAE;QACjJ;AACF,qBAAe,KAAK,KAAK;AACzB,aAAO;;KAEX,KAAK,SACH;AACE,2BAAqB,cAAc,KAAK;AACxC,UAAI,SAAS,mBAAmB,CAAC,mBAC/B,QAAO,iBAAiB,MAAM,MAAM,MAAM,SAAS,KAAK;MAE1D,MAAM,QAAQ;OACZ,gBAAgB;OAChB;OACA,UAAU;OACV,eAAe,qBAAqB,MAAM,MAAM;OAChD,cAAc,qBAAqB,MAAM,KAAK;OAC9C,MAAM,KAAK;OACZ;AACD,YAAM,UAAU,UAAU,KAAK,SAAS,SAAS,gBAAgB,KAAK,OAAO,CAAC,UAAU,CAAC,EAAE,eAAe,qBAAqB,IAAI,QAAQ,EAAE;AAC7I,YAAM,QAAQ,UAAU,KAAK,OAAO,SAAS,gBAAgB,KAAK,OAAO,CAAC,QAAQ,CAAC,EAAE,eAAe,qBAAqB,IAAI,QAAQ,EAAE;AACvI,UAAI,WAAW,KACb,OAAM,QAAQ,UAAU,KAAK,OAAO,SAAS,gBAAgB,KAAK,OAAO,CAAC,QAAQ,CAAC,EAAE,eAAe,qBAAqB,IAAI,QAAQ,EAAE;AAEzI,2BAAqB,KAAK,CAAC,SAAQ,QAAO;OACxC,MAAM,cAAc,IAAI,UAAU;AAClC,aAAM,eAAe,UAAU,KAAK,MAAM,SAAS,gBAAgB,KAAK,OAAO,CAAC,YAAY,CAAC,EAAE,eAAe,qBAAqB,IAAI,QAAQ,EAAE;QACjJ;AACF,qBAAe,KAAK,KAAK;AACzB,aAAO;;KAEX,KAAK;KACL,KAAK;KACL,KAAK;AACH,cAAQ,KAAK,KAAK;AAClB,aAAO,EACL,MACD;KACH,QACE,QAAO;;;GAGb,SAAS,aAAa,QAAQ,KAAK,SAAS,gBAAgB,MAAM,eAAe,QAAQ,GAAG;AAC1F,QAAI;AACF,YAAO,UAAU,OAAO,MAAM,SAAS,gBAAgB,MAAM,eAAe,MAAM;aAC3E,OAAO;KACd,IAAI,UAAU;AACd,SAAI,OAAO,UAAU,YAAY,UAAU,QAAQ,OAAO,MAAM,UAAU,SACxE,WAAU,MAAM;cACP,OAAO,UAAU,SAC1B,WAAU;AAEZ,aAAQ,KAAK,KAAK;AAClB,YAAO;MACL,aAAa;MACb,eAAe;MACf,cAAc,UAAU,iBAAiB,UAAU,MAAM;MACzD,MAAM;MACN,MAAM;MACP;;;GAmIL,MAAM,cAAc,MAAM;GAC1B,SAAS,gBAAgB,GAAG;AAC1B,WAAO,YAAY,EAAE;;GAEM,MAAM,iBAAkB;GAOrD,MAAM,sCAAsC;GAC5C,SAAS,mBAAmB,SAAS;AACnC,QAAI,WAAW,QAAQ,YAAY,GACjC,QAAO;AAET,WAAO,IAAI,SAAS,oCAAoC;;GAE1D,SAAS,eAAe,MAAM,eAAe,OAAO,EAAE,EAAE;AACtD,QAAI,SAAS,MAAM;KACjB,MAAM,eAAe,EAAE;KACvB,MAAM,sBAAsB,EAAE;AAE9B,YAAO;MACL,MAFkB,UAAU,MAAM,cAAc,qBAAqB,MAAM,cAAc;MAGzF,SAAS;MACT,gBAAgB;MACjB;UAED,QAAO;;GAGX,SAAS,eAAe,KAAK,MAAM,QAAQ,GAAG;IAC5C,MAAM,MAAM,KAAK;IACjB,MAAM,UAAU,eAAe,IAAI,GAAG,IAAI,OAAO,GAAG,EAClD,GAAG,KACJ;AACD,QAAI,QAAQ,MAAM,KAAK,OACrB,KAAI,eAAe,QAAQ,CACzB,SAAQ,OAAO,KAAK,EAAE;QAEtB,QAAO,QAAQ;QAGjB,SAAQ,OAAO,eAAe,IAAI,MAAM,MAAM,QAAQ,EAAE;AAE1D,WAAO;;GAET,SAAS,eAAe,KAAK,SAAS,SAAS,QAAQ,GAAG;IACxD,MAAM,SAAS,QAAQ;IACvB,MAAM,UAAU,eAAe,IAAI,GAAG,IAAI,OAAO,GAAG,EAClD,GAAG,KACJ;AACD,QAAI,QAAQ,MAAM,QAAQ,QAAQ;KAChC,MAAM,SAAS,QAAQ;AACvB,aAAQ,UAAU,QAAQ;AAC1B,SAAI,eAAe,QAAQ,CACzB,SAAQ,OAAO,QAAQ,EAAE;SAEzB,QAAO,QAAQ;UAGjB,SAAQ,UAAU,eAAe,IAAI,SAAS,SAAS,SAAS,QAAQ,EAAE;AAE5E,WAAO;;GAET,SAAS,YAAY,KAAK,MAAM,OAAO,QAAQ,GAAG;AAChD,QAAI,SAAS,KAAK,OAChB,QAAO;IAET,MAAM,MAAM,KAAK;IACjB,MAAM,UAAU,eAAe,IAAI,GAAG,IAAI,OAAO,GAAG,EAClD,GAAG,KACJ;AACD,YAAQ,OAAO,YAAY,IAAI,MAAM,MAAM,OAAO,QAAQ,EAAE;AAC5D,WAAO;;GAET,SAAS,mBAAmB,MAAM;IAChC,IAAI,iBAAiB;IACrB,IAAI,wBAAwB;IAC5B,MAAM,WAAW,KAAK;AACtB,QAAI,YAAY,MAAM;KACpB,MAAM,YAAY,SAAS;AAC3B,SAAI,aAAa,MAAM;AACrB,uBAAiB,UAAU,kBAAkB,OAAO,UAAU,iBAAiB;AAC/E,8BAAwB,UAAU,yBAAyB,OAAO,UAAU,wBAAwB;;;AAGxG,WAAO;KACL;KACA;KACD;;GAEH,SAAS,kBAAkB,MAAM;AAC/B,QAAI,SAAS,OACX,QAAO;AAET,QAAI,OAAO,SAAS,WAClB,QAAO,KAAK,UAAU;IAExB,MAAM,wBAAQ,IAAI,KAAK;AACvB,WAAO,KAAK,UAAU,OAAO,KAAK,UAAU;AAC1C,SAAI,OAAO,UAAU,YAAY,UAAU,MAAM;AAC/C,UAAI,MAAM,IAAI,MAAM,CAClB;AAEF,YAAM,IAAI,MAAM;;AAElB,SAAI,OAAO,UAAU,SACnB,QAAO,MAAM,UAAU,GAAG;AAE5B,YAAO;OACN,EAAE;;GAEP,SAAS,aAAa,KAAK;AACzB,QAAI;AACF,YAAO,OAAO,IAAI;aACX,KAAK;AACZ,SAAI,OAAO,QAAQ,SACjB,QAAO;AAET,WAAM;;;GAGV,SAAS,qCAAqC,cAAc,GAAG,WAAW;IACxE,MAAM,OAAO,UAAU,OAAO;IAC9B,IAAI,YAAY,aAAa,aAAa;AAC1C,QAAI,OAAO,iBAAiB,UAC1B;SAAI,KAAK,OAEP,aAAY,UAAU,QADP,oBACwB,OAAO,SAAS,KAAK,SAAS;MACnE,IAAI,MAAM,KAAK,OAAO;AACtB,cAAQ,MAAR;OACE,KAAK;AACH,eAAO;AACP;OACF,KAAK;OACL,KAAK;AACH,cAAM,SAAS,KAAK,GAAG,CAAC,UAAU;AAClC;OACF,KAAK;AACH,cAAM,WAAW,IAAI,CAAC,UAAU;AAChC;;AAEJ,UAAI,CAAC,QACH,QAAO;AAET,WAAK,QAAQ,IAAI;AACjB,aAAO;OACP;;AAGN,QAAI,KAAK,OACP,MAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,IAC/B,cAAa,MAAM,aAAa,KAAK,GAAG;AAG5C,gBAAY,UAAU,QAAQ,WAAW,IAAI;AAC7C,WAAO,OAAO,UAAU;;GAE1B,SAAS,4BAA4B;AACnC,WAAO,CAAC,EAAE,OAAO,YAAY,OAAO,SAAS,iBAAiB,OAAO,SAAS,cAAc,cAAc,WAAW;;GAEvH,SAAS,GAAG,IAAI,IAAI,IAAI,IAAI;AAC1B,WAAO,gBAAgB,GAAG,EAAE,KAAK;;GAEnC,SAAS,IAAI,IAAI,IAAI,IAAI,IAAI;AAC3B,WAAO,gBAAgB,GAAG,EAAE,GAAG;;GAEjC,MAAM,iCAAiC;AACrC,WAAO,OAAO,YAAY;;GAE5B,SAAS,wCAAwC,UAAU;AACzD,WAAO,KAAK,MAAM,WAAW,IAAK,GAAG;;GAGvC,SAAS,eAAe,MAAM;AAC5B,QAAI,CAAC,KAAK,cACR,QAAO;AAET,WAAO,KAAK,cAAc;;GAE5B,SAAS,eAAe,MAAM;IAC5B,MAAM,aAAa,eAAe,KAAK;AACvC,QAAI,WACF,QAAO,WAAW;AAEpB,WAAO;;GAET,SAAS,sCAAsC,MAAM;IACnD,MAAM,aAAa,qBAAqB,KAAK;AAC7C,WAAO,iBAAiB,CAAC,KAAK,uBAAuB,EAAE;KACrD,KAAK,WAAW;KAChB,MAAM,WAAW;KACjB,QAAQ,WAAW;KACnB,OAAO,WAAW;KAClB,OAAO;KACP,QAAQ;KACT,CAAC,CAAC;;GAEL,SAAS,iBAAiB,OAAO;AAC/B,WAAO,MAAM,QAAQ,cAAc,SAAS;AAC1C,SAAI,gBAAgB,KAClB,QAAO;AAET,YAAO;MACL,KAAK,aAAa,MAAM,KAAK;MAC7B,MAAM,aAAa,OAAO,KAAK;MAC/B,OAAO,aAAa;MACpB,QAAQ,aAAa;MACrB,QAAQ,aAAa,SAAS,KAAK;MACnC,OAAO,aAAa,QAAQ,KAAK;MAClC;MACD;;GAEJ,SAAS,4BAA4B,MAAM,gBAAgB;IACzD,MAAM,cAAc,eAAe,KAAK;AACxC,QAAI,eAAe,gBAAgB,gBAAgB;KACjD,MAAM,QAAQ,CAAC,KAAK,uBAAuB,CAAC;KAC5C,IAAI,gBAAgB;KACpB,IAAI,cAAc;AAClB,YAAO,eAAe;MACpB,MAAM,OAAO,sCAAsC,cAAc;AACjE,YAAM,KAAK,KAAK;AAChB,sBAAgB,eAAe,cAAc;AAC7C,UAAI,YACF;AAEF,UAAI,iBAAiB,eAAe,cAAc,KAAK,eACrD,eAAc;;AAGlB,YAAO,iBAAiB,MAAM;UAE9B,QAAO,KAAK,uBAAuB;;GAGvC,SAAS,qBAAqB,YAAY;IACxC,MAAM,kBAAkB,OAAO,iBAAiB,WAAW;AAC3D,WAAO;KACL,YAAY,SAAS,gBAAgB,iBAAiB,GAAG;KACzD,aAAa,SAAS,gBAAgB,kBAAkB,GAAG;KAC3D,WAAW,SAAS,gBAAgB,gBAAgB,GAAG;KACvD,cAAc,SAAS,gBAAgB,mBAAmB,GAAG;KAC7D,YAAY,SAAS,gBAAgB,YAAY,GAAG;KACpD,aAAa,SAAS,gBAAgB,aAAa,GAAG;KACtD,WAAW,SAAS,gBAAgB,WAAW,GAAG;KAClD,cAAc,SAAS,gBAAgB,cAAc,GAAG;KACxD,aAAa,SAAS,gBAAgB,aAAa,GAAG;KACtD,cAAc,SAAS,gBAAgB,cAAc,GAAG;KACxD,YAAY,SAAS,gBAAgB,YAAY,GAAG;KACpD,eAAe,SAAS,gBAAgB,eAAe,GAAG;KAC3D;;GAEH,SAAS,gBAAgB,aAAa;AACpC,QAAI,CAAC,YAAa,QAAO;KACvB,mBAAmB;KACnB,UAAU,EAAE;KACb;IACD,MAAM,WAAW;IACjB,MAAM,WAAW,EAAE;IACnB,IAAI,oBAAoB;IACxB,IAAI;AACJ,YAAQ,QAAQ,SAAS,KAAK,kBAAkB,KAAK,KACnD,KAAI,MAAM,QAAQ,MAAM,EAAE;KACxB,MAAM,GAAG,SAAS,SAAS;AAC3B,cAAS,KAAK,QAAQ;AACtB,yBAAoB;;AAGxB,WAAO;KACL;KACA;KACD;;GAIH,MAAM,iBAAiB,OAAO;GAC9B,MAAM,YAAY;IAChB,YAAY,KAAK,WAAW;AAC1B,UAAK,OAAO,IAAI,cAAc,MAAM;AACpC,UAAK,SAAS,IAAI,cAAc,MAAM;AACtC,UAAK,UAAU,IAAI,cAAc,MAAM;AACvC,UAAK,UAAU,IAAI,cAAc,MAAM;AACvC,UAAK,OAAO,MAAM,cAAc,cAAc;AAC9C,UAAK,QAAQ,MAAM,cAAc,cAAc;AAC/C,UAAK,QAAQ,MAAM,kBAAkB,cAAc;AACnD,oBAAe,KAAK,KAAK,OAAO;MAC9B,aAAa,cAAc;MAC3B,eAAe;MACf,UAAU;MACX,CAAC;AACF,UAAK,KAAK,MAAM,SAAS;AACzB,UAAK,KAAK,YAAY,KAAK,OAAO;AAClC,UAAK,OAAO,YAAY,KAAK,QAAQ;AACrC,UAAK,QAAQ,YAAY,KAAK,QAAQ;AACtC,eAAU,YAAY,KAAK,KAAK;;IAElC,SAAS;AACP,SAAI,KAAK,KAAK,WACZ,MAAK,KAAK,WAAW,YAAY,KAAK,KAAK;;IAG/C,OAAO,KAAK,MAAM;AAChB,aAAQ,MAAM,UAAU,KAAK,KAAK;AAClC,aAAQ,MAAM,UAAU,KAAK,OAAO;AACpC,aAAQ,MAAM,WAAW,KAAK,QAAQ;AACtC,oBAAe,KAAK,QAAQ,OAAO;MACjC,QAAQ,IAAI,SAAS,KAAK,YAAY,KAAK,eAAe,KAAK,aAAa,KAAK,gBAAgB;MACjG,OAAO,IAAI,QAAQ,KAAK,aAAa,KAAK,cAAc,KAAK,cAAc,KAAK,eAAe;MAChG,CAAC;AACF,oBAAe,KAAK,KAAK,OAAO;MAC9B,KAAK,IAAI,MAAM,KAAK,YAAY;MAChC,MAAM,IAAI,OAAO,KAAK,aAAa;MACpC,CAAC;;;GAGN,MAAM,WAAW;IACf,YAAY,KAAK,WAAW;AAC1B,UAAK,MAAM,IAAI,cAAc,MAAM;AACnC,oBAAe,KAAK,IAAI,OAAO;MAC7B,SAAS;MACT,UAAU;MACV,iBAAiB;MACjB,cAAc;MACd,YAAY;MACZ,YAAY;MACZ,SAAS;MACT,eAAe;MACf,UAAU;MACV,UAAU;MACV,YAAY;MACb,CAAC;AACF,UAAK,WAAW,IAAI,cAAc,OAAO;AACzC,UAAK,IAAI,YAAY,KAAK,SAAS;AACnC,oBAAe,KAAK,SAAS,OAAO;MAClC,OAAO;MACP,aAAa;MACb,cAAc;MACd,aAAa;MACd,CAAC;AACF,UAAK,UAAU,IAAI,cAAc,OAAO;AACxC,UAAK,IAAI,YAAY,KAAK,QAAQ;AAClC,oBAAe,KAAK,QAAQ,OAAO,EACjC,OAAO,WACR,CAAC;AACF,UAAK,IAAI,MAAM,SAAS;AACxB,eAAU,YAAY,KAAK,IAAI;;IAEjC,SAAS;AACP,SAAI,KAAK,IAAI,WACX,MAAK,IAAI,WAAW,YAAY,KAAK,IAAI;;IAG7C,WAAW,MAAM,OAAO,QAAQ;AAC9B,UAAK,SAAS,cAAc;AAC5B,UAAK,QAAQ,cAAc,KAAK,MAAM,MAAM,GAAG,UAAU,KAAK,MAAM,OAAO,GAAG;;IAEhF,eAAe,MAAM,QAAQ;KAC3B,MAAM,UAAU,KAAK,IAAI,uBAAuB;KAChD,MAAM,SAAS,WAAW,MAAM,QAAQ;MACtC,OAAO,QAAQ;MACf,QAAQ,QAAQ;MACjB,CAAC;AACF,oBAAe,KAAK,IAAI,OAAO,OAAO,MAAM;;;GAGhD,MAAM,QAAQ;IACZ,YAAY,SAAO;KACjB,MAAM,gBAAgB,OAAO,oCAAoC;AACjE,UAAK,SAAS;AAEd,UAAK,kBADmB,OAAO,oCAAoC;KAEnE,MAAM,MAAM,cAAc;AAC1B,UAAK,YAAY,IAAI,cAAc,MAAM;AACzC,UAAK,UAAU,MAAM,SAAS;AAC9B,UAAK,MAAM,IAAI,WAAW,KAAK,KAAK,UAAU;AAC9C,UAAK,QAAQ,EAAE;AACf,UAAK,QAAQG;AACb,SAAI,KAAK,YAAY,KAAK,UAAU;;IAEtC,SAAS;AACP,UAAK,IAAI,QAAQ;AACjB,UAAK,MAAM,SAAQ,SAAQ;AACzB,WAAK,QAAQ;OACb;AACF,UAAK,MAAM,SAAS;AACpB,SAAI,KAAK,UAAU,WACjB,MAAK,UAAU,WAAW,YAAY,KAAK,UAAU;;IAGzD,QAAQ,OAAO,MAAM;KACnB,MAAM,WAAW,MAAM,QAAO,SAAQ,KAAK,aAAa,KAAK,aAAa;AAC1E,YAAO,KAAK,MAAM,SAAS,SAAS,OAElC,CADa,KAAK,MAAM,KAAK,CACxB,QAAQ;AAEf,SAAI,SAAS,WAAW,EACtB;AAEF,YAAO,KAAK,MAAM,SAAS,SAAS,OAClC,MAAK,MAAM,KAAK,IAAI,YAAY,KAAK,OAAO,UAAU,KAAK,UAAU,CAAC;KAExE,MAAM,WAAW;MACf,KAAK,OAAO;MACZ,OAAO,OAAO;MACd,QAAQ,OAAO;MACf,MAAM,OAAO;MACd;AACD,cAAS,SAAS,SAAS,UAAU;MACnC,MAAM,MAAM,4BAA4B,SAAS,KAAK,OAAO;MAC7D,MAAM,OAAO,qBAAqB,QAAQ;AAC1C,eAAS,MAAM,KAAK,IAAI,SAAS,KAAK,IAAI,MAAM,KAAK,UAAU;AAC/D,eAAS,QAAQ,KAAK,IAAI,SAAS,OAAO,IAAI,OAAO,IAAI,QAAQ,KAAK,YAAY;AAClF,eAAS,SAAS,KAAK,IAAI,SAAS,QAAQ,IAAI,MAAM,IAAI,SAAS,KAAK,aAAa;AACrF,eAAS,OAAO,KAAK,IAAI,SAAS,MAAM,IAAI,OAAO,KAAK,WAAW;AAEnE,MADa,KAAK,MAAM,OACnB,OAAO,KAAK,KAAK;OACtB;AACF,SAAI,CAAC,MAAM;AACT,aAAO,SAAS,GAAG,SAAS,aAAa;MACzC,MAAM,OAAO,SAAS;MACtB,MAAM,YAAY,KAAK,MAAM,gCAAgC,KAAK;AAClE,UAAI,UACF,SAAQ,UAAU,YAAY;;AAGlC,UAAK,IAAI,WAAW,MAAM,SAAS,QAAQ,SAAS,MAAM,SAAS,SAAS,SAAS,IAAI;KACzF,MAAM,YAAY,4BAA4B,KAAK,gBAAgB,SAAS,iBAAiB,KAAK,OAAO;AACzG,UAAK,IAAI,eAAe;MACtB,KAAK,SAAS;MACd,MAAM,SAAS;MACf,QAAQ,SAAS,SAAS,SAAS;MACnC,OAAO,SAAS,QAAQ,SAAS;MAClC,EAAE;MACD,KAAK,UAAU,MAAM,KAAK,gBAAgB;MAC1C,MAAM,UAAU,OAAO,KAAK,gBAAgB;MAC5C,QAAQ,KAAK,gBAAgB;MAC7B,OAAO,KAAK,gBAAgB;MAC7B,CAAC;;;GAGN,SAAS,WAAW,MAAM,QAAQ,SAAS;IACzC,MAAM,YAAY,KAAK,IAAI,QAAQ,QAAQ,GAAG;IAC9C,MAAM,WAAW,KAAK,IAAI,QAAQ,OAAO,GAAG;IAC5C,MAAM,SAAS;IACf,IAAI;AACJ,QAAI,KAAK,MAAM,KAAK,SAAS,aAAa,OAAO,MAAM,OAAO,OAC5D,KAAI,KAAK,MAAM,KAAK,SAAS,OAAO,MAAM,EACxC,OAAM,OAAO,MAAM;QAEnB,OAAM,KAAK,MAAM,KAAK,SAAS;aAExB,KAAK,MAAM,aAAa,OAAO,MAAM,OAAO,OACrD,KAAI,KAAK,MAAM,YAAY,SAAS,OAAO,MAAM,OAC/C,OAAM,OAAO,MAAM;QAEnB,OAAM,KAAK,MAAM,YAAY;QAG/B,OAAM,OAAO,MAAM,OAAO,SAAS,YAAY;IAEjD,IAAI,OAAO,KAAK,OAAO;AACvB,QAAI,KAAK,OAAO,OAAO,KACrB,QAAO,OAAO,OAAO;AAEvB,QAAI,KAAK,OAAO,WAAW,OAAO,OAAO,OAAO,MAC9C,QAAO,OAAO,OAAO,OAAO,QAAQ,WAAW;AAEjD,WAAO;AACP,YAAQ;AACR,WAAO,EACL,OAAO;KACL;KACA;KACD,EACF;;GAEH,SAAS,QAAQ,MAAM,MAAM,MAAM;AACjC,mBAAe,KAAK,OAAO;KACzB,gBAAgB,KAAK,OAAO,SAAS;KACrC,iBAAiB,KAAK,OAAO,UAAU;KACvC,kBAAkB,KAAK,OAAO,WAAW;KACzC,mBAAmB,KAAK,OAAO,YAAY;KAC3C,aAAa;KACd,CAAC;;GAEJ,MAAM,gBAAgB;IACpB,YAAY;IACZ,SAAS;IACT,QAAQ;IACR,QAAQ;IACT;GAID,MAAM,gBAAgB;GACtB,IAAI,YAAY;GAChB,IAAI,UAAU;GACd,SAAS,kBAAkB,SAAO;AAChC,YAAM,KAAK,sBAAsB;;GAEnC,SAAS,iBAAiB;AACxB,gBAAY;AACZ,QAAI,YAAY,MAAM;AACpB,aAAQ,QAAQ;AAChB,eAAU;;;GAGd,SAAS,YAAY,SAAO;AAC1B,WAAO,0BAA0B,GAAG,kBAAkBA,QAAM,GAAG,gBAAgB;;GAEjF,SAAS,kBAAkB,UAAU,SAAO;AAC1C,YAAM,KAAK,uBAAuB,SAAS;;GAE7C,SAAS,eAAe,UAAU,eAAe,SAAO,kBAAkB;AACxE,QAAI,cAAc,KAChB,cAAa,UAAU;AAEzB,QAAI,YAAY,KACd,WAAU,IAAI,QAAQA,QAAM;AAE9B,YAAQ,QAAQ,UAAU,cAAc;AACxC,QAAI,iBACF,aAAY,iBAAiB,YAAYA,QAAM,EAAE,cAAc;;GAGnE,SAAS,YAAY,UAAU,eAAe,SAAO,kBAAkB;AACrE,WAAO,0BAA0B,GAAG,kBAAkB,UAAUA,QAAM,GAAG,eAAe,UAAU,eAAeA,SAAO,iBAAiB;;GAK3I,IAAI,qCAAqB,IAAI,KAAK;GAClC,IAAI,2BAA2B;GAC/B,SAAS,iBAAiB,UAAQ,SAAO;AACvC,aAAO,YAAY,8BAA8B,2BAA2B;AAC5E,aAAO,YAAY,yBAAyB,sBAAsB;AAClE,aAAO,YAAY,0BAA0B,uBAAuB;AACpE,aAAO,YAAY,wBAAwB,qBAAqB;AAChE,aAAO,YAAY,YAAY,mBAAmB;AAClD,aAAO,YAAY,uBAAuB,oBAAoB;AAC9D,aAAO,YAAY,sBAAsB,mBAAmB;IAC5D,SAAS,oBAAoB,mBAAmB;AAC9C,gCAA2B;AAC3B,+BAA0B,OAAO;;IAEnC,SAAS,0BAA0B,UAAQ;AACzC,SAAIC,YAAU,OAAOA,SAAO,qBAAqB,YAAY;AAC3D,eAAO,iBAAiB,SAAS,SAAS,KAAK;AAC/C,eAAO,iBAAiB,aAAa,cAAc,KAAK;AACxD,eAAO,iBAAiB,aAAa,cAAc,KAAK;AACxD,eAAO,iBAAiB,WAAW,cAAc,KAAK;AACtD,eAAO,iBAAiB,eAAe,eAAe,KAAK;AAC3D,eAAO,iBAAiB,eAAe,eAAe,KAAK;AAC3D,eAAO,iBAAiB,aAAa,aAAa,KAAK;WAEvD,SAAM,KAAK,wBAAwB;;IAGvC,SAAS,qBAAqB;AAC5B,iBAAYD,QAAM;AAClB,6BAAwB,OAAO;AAC/B,wBAAmB,QAAQ,SAAU,OAAO;AAC1C,UAAI;AACF,+BAAwB,MAAM,cAAc;eACrC,OAAO;OAChB;AACF,0CAAqB,IAAI,KAAK;;IAEhC,SAAS,wBAAwB,UAAQ;AACvC,SAAIC,YAAU,OAAOA,SAAO,wBAAwB,YAAY;AAC9D,eAAO,oBAAoB,SAAS,SAAS,KAAK;AAClD,eAAO,oBAAoB,aAAa,cAAc,KAAK;AAC3D,eAAO,oBAAoB,aAAa,cAAc,KAAK;AAC3D,eAAO,oBAAoB,WAAW,cAAc,KAAK;AACzD,eAAO,oBAAoB,eAAe,eAAe,KAAK;AAC9D,eAAO,oBAAoB,eAAe,eAAe,KAAK;AAC9D,eAAO,oBAAoB,aAAa,aAAa,KAAK;WAE1D,SAAM,KAAK,uBAAuB;;IAGtC,SAAS,6BAA6B;AACpC,iBAAYD,QAAM;;IAEpB,SAAS,sBAAsB,EAC7B,aACA,kBACA,IACA,0BACA,YACA,kBACC;KACD,MAAM,WAAWA,QAAM,mBAAmB;AAC1C,SAAI,YAAY,MAAM;AACpB,cAAQ,KAAK,wBAAwB,WAAW,iBAAiB,GAAG,GAAG;AACvE,kBAAYA,QAAM;AAClB;;AAEF,SAAI,CAAC,SAAS,iBAAiB,GAAG,EAAE;AAClC,kBAAYA,QAAM;AAClB;;KAEF,MAAM,QAAQ,SAAS,8BAA8B,GAAG;AACxD,SAAI,SAAS,KACX,MAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;MACrC,MAAM,OAAO,MAAM;AACnB,UAAI,SAAS,KACX;MAEF,MAAM,YAAY,OAAO,KAAK,mBAAmB,aAAa,KAAK,gBAAgB,GAAG,EAAE;AACxF,UAAI,UAAU,SAAS,MAAM,UAAU,SAAS,KAAK,UAAU,GAAG,QAAQ,KAAK,UAAU,GAAG,SAAS,IAAI;AACvG,WAAI,kBAAkB,OAAO,KAAK,mBAAmB,YAAY;AAC/D,YAAI,kBAAkB;AACpB,sBAAa,iBAAiB;AAC9B,4BAAmB;;AAErB,aAAK,eAAe;SAClB,OAAO;SACP,QAAQ;SACT,CAAC;;AAEJ,mBAAY,OAAO,aAAaA,SAAO,iBAAiB;AACxD,WAAI,0BAA0B;AAC5B,eAAO,+BAA+B,KAAK;AAC3C,iBAAO,KAAK,sCAAsC;;AAEpD;;;AAIN,iBAAYA,QAAM;;IAEpB,SAAS,uBAAuB,EAC9B,aACA,kBACA,UACA,kBACC;KACD,MAAM,QAAQ,EAAE;AAChB,UAAK,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK;MACxC,MAAM,EACJ,IACA,eACE,SAAS;MACb,MAAM,WAAWA,QAAM,mBAAmB;AAC1C,UAAI,YAAY,MAAM;AACpB,eAAQ,KAAK,wBAAwB,WAAW,iBAAiB,GAAG,GAAG;AACvE;;AAEF,UAAI,CAAC,SAAS,iBAAiB,GAAG,CAChC;MAEF,MAAM,gBAAgB,SAAS,8BAA8B,GAAG;AAChE,UAAI,kBAAkB,KACpB,MAAK,IAAI,IAAI,GAAG,IAAI,cAAc,QAAQ,IACxC,OAAM,KAAK,cAAc,GAAG;;AAIlC,SAAI,MAAM,SAAS,GAAG;MACpB,MAAM,OAAO,MAAM;AACnB,UAAI,kBAAkB,OAAO,KAAK,mBAAmB,WACnD,MAAK,eAAe;OAClB,OAAO;OACP,QAAQ;OACT,CAAC;;AAGN,iBAAY,OAAO,aAAaA,SAAO,iBAAiB;;IAE1D,SAAS,4BAA4B,UAAU,IAAI;KACjD,MAAM,QAAQ,SAAS,8BAA8B,GAAG;AACxD,SAAI,SAAS,KACX,MAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;MACrC,MAAM,OAAO,MAAM;AACnB,UAAI,SAAS,KACX;MAEF,MAAM,YAAY,OAAO,KAAK,mBAAmB,aAAa,KAAK,gBAAgB,GAAG,EAAE;AACxF,UAAI,UAAU,SAAS,MAAM,UAAU,SAAS,KAAK,UAAU,GAAG,QAAQ,KAAK,UAAU,GAAG,SAAS,IACnG;WAAI,OAAO,KAAK,mBAAmB,YAAY;AAC7C,aAAK,eAAe;SAClB,OAAO;SACP,QAAQ;SACR,UAAU;SACX,CAAC;AACF,eAAO;;;;AAKf,YAAO;;IAET,IAAI,mBAAmB;IACvB,SAAS,qBAAqB,EAC5B,IACA,cACC;AACD,iBAAYA,QAAM;AAClB,SAAI,kBAAkB;AACpB,mBAAa,iBAAiB;AAC9B,yBAAmB;;KAErB,MAAM,WAAWA,QAAM,mBAAmB;AAC1C,SAAI,YAAY,MAAM;AACpB,cAAQ,KAAK,wBAAwB,WAAW,iBAAiB,GAAG,GAAG;AACvE;;AAEF,SAAI,CAAC,SAAS,iBAAiB,GAAG,CAChC;AAEF,SAAI,4BAA4B,UAAU,GAAG,CAC3C;KAEF,MAAM,QAAQ,SAAS,wBAAwB,GAAG;AAClD,SAAI,UAAU,QAAQ,MAAM,SAAS,GAAG;MACtC,IAAI,IAAI;MACR,IAAI,IAAI;AACR,WAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;OACrC,MAAM,OAAO,MAAM;AACnB,WAAI,KAAK,IAAI,EACX,KAAI,KAAK;AAEX,WAAI,KAAK,IAAI,EACX,KAAI,KAAK;;MAGb,MAAM,UAAU,SAAS;AACzB,UAAI,CAAC,QACH;AAEF,UAAI,IAAI,OAAO,WAAW,IAAI,OAAO,WAAW,IAAI,OAAO,UAAU,QAAQ,eAAe,IAAI,OAAO,UAAU,QAAQ,aACvH,QAAO,SAAS;OACd,KAAK;OACL,MAAM;OACN,UAAU;OACX,CAAC;AAEJ,yBAAmB,iBAAiB;AAClC,mCAA4B,UAAU,GAAG;SACxC,IAAI;;;IAGX,SAAS,QAAQ,OAAO;AACtB,WAAM,gBAAgB;AACtB,WAAM,iBAAiB;AACvB,yBAAoB;AACpB,cAAO,KAAK,sBAAsB,KAAK;;IAEzC,SAAS,aAAa,OAAO;AAC3B,WAAM,gBAAgB;AACtB,WAAM,iBAAiB;;IAEzB,SAAS,cAAc,OAAO;AAC5B,WAAM,gBAAgB;AACtB,WAAM,iBAAiB;AACvB,0BAAqB,eAAe,MAAM,CAAC;;IAE7C,IAAI,kBAAkB;IACtB,SAAS,cAAc,OAAO;AAC5B,WAAM,gBAAgB;AACtB,WAAM,iBAAiB;KACvB,MAAM,SAAS,eAAe,MAAM;AACpC,SAAI,oBAAoB,OAAQ;AAChC,uBAAkB;AAClB,SAAI,OAAO,YAAY,UAAU;MAC/B,MAAM,SAAS;AACf,UAAI;AACF,WAAI,CAAC,mBAAmB,IAAI,OAAO,EAAE;QACnC,MAAMC,WAAS,OAAO;AACtB,kCAA0BA,SAAO;AACjC,2BAAmB,IAAI,OAAO;;eAEzB,OAAO;;AAElB,SAAI,0BAA0B;MAC5B,MAAM,QAAQD,QAAM,qBAAqB,QAAQ,yBAAyB;AAC1E,UAAI,UAAU,MAAM;OAClB,MAAM,WAAWA,QAAM,mBAAmB,MAAM;AAChD,WAAI,YAAY,MAAM;AACpB,gBAAQ,KAAK,wBAAwB,MAAM,WAAW,iBAAiB,MAAM,GAAG,GAAG;AACnF;;AAEF,6BAAsB;QACpB,aAAa,SAAS,2BAA2B,MAAM,GAAG;QAC1D,kBAAkB;QAClB,IAAI,MAAM;QACV,0BAA0B;QAC1B,YAAY,MAAM;QAClB,gBAAgB;QACjB,CAAC;;WAGJ,aAAY,CAAC,OAAO,EAAE,MAAMA,SAAO,MAAM;;IAG7C,SAAS,YAAY,OAAO;AAC1B,WAAM,gBAAgB;AACtB,WAAM,iBAAiB;;IAEzB,MAAM,wBAAuB,SAAQ;KACnC,MAAM,QAAQA,QAAM,qBAAqB,MAAM,yBAAyB;AACxE,SAAI,UAAU,KACZ,UAAO,KAAK,iBAAiB,MAAM,GAAG;;IAG1C,SAAS,eAAe,OAAO;AAC7B,SAAI,MAAM,SACR,QAAO,MAAM,cAAc,CAAC;AAE9B,YAAO,MAAM;;;GAKjB,MAAM,SAAS;IAAC;IAAW;IAAW;IAAW;IAAW;IAAW;IAAW;IAAW;IAAW;IAAW;IAAU;GAC7H,IAAI,SAAS;GACb,SAAS,WAAW,cAAY,SAAO;IACrC,MAAM,cAAc,EAAE;AACtB,iBAAaE,eAAa,EACxB,OACA,WACI;AACJ,iBAAY,KAAK;MACf;MACA;MACD,CAAC;MACF;AACF,YAAM,KAAK,oBAAoB,YAAY;IAC3C,MAAM,cAAc,kBAAkBA,aAAW;AACjD,YAAM,KAAK,oCAAoC,YAAY;;GAE7D,SAAS,QAAQ,cAAY;AAC3B,QAAI,WAAW,KACb,aAAY;IAEd,MAAM,MAAM,OAAO,oBAAoB;IACvC,MAAM,aAAa;AACnB,eAAW,QAAQ,OAAO,aAAa;AACvC,eAAW,SAAS,OAAO,cAAc;AACzC,eAAW,MAAM,QAAQ,GAAG,OAAO,WAAW;AAC9C,eAAW,MAAM,SAAS,GAAG,OAAO,YAAY;IAChD,MAAM,UAAU,WAAW,WAAW,KAAK;AAC3C,YAAQ,MAAM,KAAK,IAAI;AACvB,YAAQ,UAAU,GAAG,GAAG,WAAW,QAAQ,KAAK,WAAW,SAAS,IAAI;AAExE,IADoB,kBAAkBA,aAAW,CACrC,SAAQ,UAAS;AAC3B,sBAAiB,SAAS,MAAM;AAChC,oBAAe,SAAS,MAAM;MAC9B;AACF,QAAI,WAAW,MAAM;AACnB,SAAIA,aAAW,SAAS,KAAK,OAAO,QAAQ,gBAAgB,EAAE;AAC5D,aAAO,aAAa;AACpB;;AAEF,SAAI,OAAO,QAAQ,gBAAgB,CACjC,QAAO,aAAa;AAEtB,YAAO,aAAa;;;GAGxB,SAAS,kBAAkB,cAAY;IACrC,MAAM,iCAAiB,IAAI,KAAK;AAChC,iBAAaA,eAAa,EACxB,MACA,OACA,aACA,YACI;;AACJ,SAAI,CAAC,KAAM;KACX,MAAM,MAAM,GAAG,KAAK,KAAK,GAAG,KAAK;AACjC,SAAI,CAAC,eAAe,IAAI,IAAI,CAAE,gBAAe,IAAI,KAAK,EAAE,CAAC;AACzD,2CAAe,IAAI,IAAI,oEAAE,KAAK;MAC5B;MACA;MACA;MACA;MACD,CAAC;MACF;AACF,WAAO,MAAM,KAAK,eAAe,QAAQ,CAAC,CAAC,MAAM,QAAQ,WAAW;AAGlE,YAFkB,KAAK,IAAI,GAAG,OAAO,KAAI,SAAQ,KAAK,MAAM,CAAC,GAC3C,KAAK,IAAI,GAAG,OAAO,KAAI,SAAQ,KAAK,MAAM,CAAC;MAE7D;;GAEJ,SAAS,iBAAiB,SAAS,OAAO;AACxC,UAAM,SAAS,EACb,OACA,WACI;AACJ,aAAQ,WAAW;AACnB,aAAQ,cAAc;AACtB,aAAQ,KAAK,KAAK,MAAM,KAAK,KAAK,KAAK,QAAQ,GAAG,KAAK,SAAS,EAAE;AAClE,aAAQ,QAAQ;MAChB;;GAEJ,SAAS,eAAe,SAAS,OAAO;IACtC,MAAM,aAAa,MAAM,KAAK,EAC5B,aACA,YACI,cAAc,GAAG,cAAc,QAAQ,IAAI,KAAK,UAAU,OAAO,GAAG,CAAC,OAAO,QAAQ,CAAC,KAAK,KAAK;AACrG,QAAI,WACF,WAAU,SAAS,MAAM,GAAG,MAAM,YAAY,MAAM,GAAG,MAAM;;GAGjE,SAAS,KAAK,cAAY,SAAO;AAC/B,WAAO,0BAA0B,GAAG,WAAWA,cAAYF,QAAM,GAAG,QAAQE,aAAW;;GAEzF,SAAS,aAAa,cAAY,SAAS;AACzC,iBAAW,SAAS,MAAM,SAAS;KAEjC,MAAM,QAAQ,OADK,KAAK,IAAI,OAAO,SAAS,GAAG,KAAK,QAAQ,EAAE;AAE9D,aAAQ;MACN;MACA;MACA,OAAO,KAAK;MACZ,aAAa,KAAK;MAClB,gBAAgB,KAAK;MACrB,gBAAgB,KAAK;MACrB,MAAM,KAAK;MACZ,CAAC;MACF;;GAEJ,SAAS,UAAU,SAAS,MAAM,MAAM,OAAO;IAC7C,MAAM,EACJ,MACA,QACE;AACJ,YAAQ,OAAO;AACf,YAAQ,eAAe;AACvB,YAAQ,YAAY;IACpB,MAAM,UAAU;IAChB,MAAM,aAAa;IAEnB,MAAM,kBADU,QAAQ,YAAY,KAAK,CACT,QAAQ,UAAU;IAClD,MAAM,mBAAmB;IACzB,MAAM,SAAS;IACf,MAAM,SAAS,MAAM;AACrB,YAAQ,YAAY;AACpB,YAAQ,SAAS,QAAQ,QAAQ,iBAAiB,iBAAiB;AACnE,YAAQ,YAAY;AACpB,YAAQ,SAAS,MAAM,SAAS,kBAAkB,GAAG,SAAS,mBAAmB,EAAE;;GAErF,SAAS,cAAc,SAAO;AAC5B,YAAM,KAAK,sBAAsB;;GAEnC,SAAS,aAAa;AACpB,QAAI,WAAW,MAAM;AACnB,SAAI,OAAO,QAAQ,gBAAgB,CACjC,QAAO,aAAa;AAEtB,SAAI,OAAO,cAAc,KACvB,QAAO,WAAW,YAAY,OAAO;AAEvC,cAAS;;;GAGb,SAAS,QAAQ,SAAO;AACtB,WAAO,0BAA0B,GAAG,cAAcF,QAAM,GAAG,YAAY;;GAEzE,SAAS,aAAa;AACpB,aAAS,OAAO,SAAS,cAAc,SAAS;AAChD,WAAO,aAAa,WAAW,SAAS;AACxC,WAAO,MAAM,UAAU;;;;;;;;;;;;;;IAcvB,MAAM,OAAO,OAAO,SAAS;AAC7B,SAAK,aAAa,QAAQ,KAAK,WAAW;;GAM5C,MAAM,mBAAmB;GACzB,MAAM,uBAAuB;GAC7B,MAAM,+BAA+B;GACrC,MAAM,cAAc,IAAI,IAAI,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,QAAQ,KAAK,CAAC,CAAC;GAC9D,MAAM,iBAAiB,OAAO,gBAAgB,YAAY,OAAO,YAAY,QAAQ,mBAAmB,YAAY,KAAK,SAAS,KAAK,KAAK;GAC5I,MAAM,6BAAa,IAAI,KAAK;GAC5B,IAAI,QAAQ;GACZ,IAAI,uBAAuB;GAC3B,IAAI,YAAY;GAChB,IAAI,kBAAkB;GACtB,SAAS,wBAAwB,eAAe;AAC9C,YAAQ;AACR,UAAM,YAAY,gBAAgB,aAAa;;GAEjD,SAAS,cAAc,OAAO;AAC5B,gBAAY;AACZ,QAAI,CAAC,WAAW;AACd,gBAAW,OAAO;AAClB,SAAI,yBAAyB,MAAM;AACjC,2BAAqB,qBAAqB;AAC1C,6BAAuB;;AAEzB,SAAI,oBAAoB,MAAM;AAC5B,mBAAa,gBAAgB;AAC7B,wBAAkB;;AAEpB,aAAQ,MAAM;;;GAGlB,SAAS,aAAa,OAAO;AAC3B,QAAI,CAAC,UAAW;AAChB,UAAM,SAAQ,SAAQ;KACpB,MAAM,OAAO,WAAW,IAAI,KAAK;KACjC,MAAM,MAAM,gBAAgB;KAC5B,IAAI,iBAAiB,QAAQ,OAAO,KAAK,iBAAiB;KAC1D,IAAI,OAAO,QAAQ,OAAO,KAAK,OAAO;AACtC,SAAI,SAAS,QAAQ,iBAAiB,+BAA+B,KAAK;AACxE,uBAAiB;AACjB,aAAO,YAAY,KAAK;;KAE1B,IAAI,cAAc,MAAM,gCAAgC,KAAK;AAC7D,SAAI,aAAa;MACf,MAAM,EACJ,mBACA,aACE,gBAAgB,YAAY;MAChC,MAAM,UAAU,SAAS,KAAI,QAAO,YAAY,IAAI,IAAI,IAAI,GAAG,CAAC,KAAK,GAAG;AAExE,oBAD4B,UAAU,GAAG,UAAU,sBAAsB;;AAG3E,gBAAW,IAAI,MAAM;MACnB,OAAO,QAAQ,OAAO,KAAK,QAAQ,IAAI;MACvC,gBAAgB,QAAQ,OAAO,KAAK,IAAI,MAAM,sBAAsB,KAAK,iBAAiB,iBAAiB,GAAG,MAAM;MACpH;MACA;MACA;MACD,CAAC;MACF;AACF,QAAI,oBAAoB,MAAM;AAC5B,kBAAa,gBAAgB;AAC7B,uBAAkB;;AAEpB,QAAI,yBAAyB,KAC3B,wBAAuB,sBAAsB,cAAc;;GAG/D,SAAS,gBAAgB;AACvB,2BAAuB;AACvB,sBAAkB;IAClB,MAAM,MAAM,gBAAgB;IAC5B,IAAI,qBAAqB,OAAO;AAChC,eAAW,SAAS,MAAM,SAAS;AACjC,SAAI,KAAK,iBAAiB,IACxB,YAAW,OAAO,KAAK;SAEvB,sBAAqB,KAAK,IAAI,oBAAoB,KAAK,eAAe;MAExE;AACF,SAAK,YAAY,MAAM;AACvB,QAAI,uBAAuB,OAAO,UAChC,mBAAkB,WAAW,eAAe,qBAAqB,IAAI;;GAGzE,SAAS,YAAY,MAAM;AACzB,QAAI,CAAC,QAAQ,OAAO,KAAK,0BAA0B,WACjD,QAAO;AAGT,WAAO,4BAA4B,MADb,OAAO,oCAAoC,OACV;;GAGzD,SAAS,sBAAsB,KAAK,KAAK,OAAO;AAAE,UAAM,qBAAqB,IAAI;AAAE,QAAI,OAAO,IAAO,QAAO,eAAe,KAAK,KAAK;KAAS;KAAO,YAAY;KAAM,cAAc;KAAM,UAAU;KAAM,CAAC;QAAW,KAAI,OAAO;AAAS,WAAO;;GAClP,SAAS,qBAAqB,GAAG;IAAE,IAAI,IAAI,mBAAmB,GAAG,SAAS;AAAE,WAAO,YAAY,OAAO,IAAI,IAAI,IAAI;;GAClH,SAAS,mBAAmB,GAAG,GAAG;AAAE,QAAI,YAAY,OAAO,KAAK,CAAC,EAAG,QAAO;IAAG,IAAI,IAAI,EAAE,OAAO;AAAc,QAAI,KAAK,MAAM,GAAG;KAAE,IAAI,IAAI,EAAE,KAAK,GAAG,KAAK,UAAU;AAAE,SAAI,YAAY,OAAO,EAAG,QAAO;AAAG,WAAM,IAAI,UAAU,+CAA+C;;AAAI,YAAQ,aAAa,IAAI,SAAS,QAAQ,EAAE;;GAE3T,MAAM,kBAAkB;IAAC;KACvB,SAAS;KACT,eAAe;KACf,eAAe;KAChB;IAAE;KACD,SAAS;KACT,eAAe;KACf,eAAe;KAChB;IAAE;KACD,SAAS;KACT,eAAe;KACf,eAAe;KAChB;IAAC;GACF,MAAM,wBAAwB,gBAAgB,gBAAgB,SAAS;GACvE,MAAM,eAAe,aAAa;IAChC,YAAY,MAAM;AAChB,YAAO;AACP,2BAAsB,MAAM,eAAe,MAAM;AACjD,2BAAsB,MAAM,iBAAiB,EAAE,CAAC;AAChD,2BAAsB,MAAM,mBAAmB,MAAM;AACrD,2BAAsB,MAAM,iBAAiB,KAAK;AAClD,2BAAsB,MAAM,gBAAgB;AAC1C,UAAI;AACF,WAAI,KAAK,cAAc,QAAQ;AAC7B,aAAK,IAAI,IAAI,GAAG,IAAI,KAAK,cAAc,QAAQ,KAAK,EAClD,MAAK,MAAM,KAAK,KAAK,cAAc,IAAI,GAAG,KAAK,cAAc,IAAI,GAAG;AAEtE,aAAK,cAAc,SAAS;;gBAEtB;AACR,YAAK,kBAAkB;;OAEzB;AACF,2BAAsB,MAAM,wBAAwB,EAClD,IACA,MACA,YACA,MACA,YACI;AACJ,cAAQ,MAAR;OACE,KAAK;AACH,aAAK,KAAK,mBAAmB;SAC3B;SACA;SACA;SACA,cAAc;SACd;SACD,CAAC;AACF;OACF,KAAK;AACH,aAAK,KAAK,qBAAqB;SAC7B;SACA;SACA;SACA,cAAc;SACd;SACD,CAAC;AACF;OACF,KAAK;AACH,aAAK,KAAK,iBAAiB;SACzB;SACA;SACA;SACA,cAAc;SACd;SACD,CAAC;AACF;OACF,KAAK;AACH,aAAK,KAAK,iBAAiB;SACzB;SACA;SACA;SACA,cAAc;SACd;SACD,CAAC;AACF;;OAEJ;AACF,UAAK,QAAQ;AACb,UAAK,gBAAgB,KAAK,QAAO,YAAW;AAC1C,UAAI,WAAW,QAAQ,MACrB,MAAK,KAAK,QAAQ,OAAO,QAAQ,QAAQ;OAE3C,IAAI;AACN,UAAK,YAAY,uBAAuB,KAAK,oBAAoB;;IAEnE,IAAI,OAAO;AACT,YAAO,KAAK;;IAEd,KAAK,OAAO,GAAG,SAAS;AACtB,SAAI,KAAK,aAAa;AACpB,cAAQ,KAAK,wBAAwB,MAAM,4CAA4C;AACvF;;AAEF,UAAK,cAAc,KAAK,OAAO,QAAQ;AACvC,SAAI,CAAC,KAAK,iBAAiB;AACzB,WAAK,kBAAkB;AACvB,UAAI,OAAO,8BAA8B,WACvC,2BAA0B,KAAK,OAAO;UAEtC,gBAAe,KAAK,OAAO;;;IAIjC,WAAW;AACT,SAAI,KAAK,aAAa;AACpB,cAAQ,KAAK,+BAA+B;AAC5C;;AAEF,UAAK,KAAK,WAAW;AACrB,UAAK,KAAK,WAAW;AACrB,UAAK,cAAc;AACnB,UAAK,cAAc,WAAY;AAC/B,UAAK,OAAO,WAAY;AACxB,UAAK,oBAAoB;KACzB,MAAM,eAAe,KAAK;AAC1B,SAAI,aACF,eAAc;AAEhB;AACE,WAAK,QAAQ;YACN,KAAK,cAAc;;;GAGH,MAAM,SAAU;GAE7C,SAAS,qBAAqB,KAAK,KAAK,OAAO;AAAE,UAAM,oBAAoB,IAAI;AAAE,QAAI,OAAO,IAAO,QAAO,eAAe,KAAK,KAAK;KAAS;KAAO,YAAY;KAAM,cAAc;KAAM,UAAU;KAAM,CAAC;QAAW,KAAI,OAAO;AAAS,WAAO;;GAChP,SAAS,oBAAoB,GAAG;IAAE,IAAI,IAAI,kBAAkB,GAAG,SAAS;AAAE,WAAO,YAAY,OAAO,IAAI,IAAI,IAAI;;GAChH,SAAS,kBAAkB,GAAG,GAAG;AAAE,QAAI,YAAY,OAAO,KAAK,CAAC,EAAG,QAAO;IAAG,IAAI,IAAI,EAAE,OAAO;AAAc,QAAI,KAAK,MAAM,GAAG;KAAE,IAAI,IAAI,EAAE,KAAK,GAAG,KAAK,UAAU;AAAE,SAAI,YAAY,OAAO,EAAG,QAAO;AAAG,WAAM,IAAI,UAAU,+CAA+C;;AAAI,YAAQ,aAAa,IAAI,SAAS,QAAQ,EAAE;;GAa1T,SAAS,2BAA2B,iBAAiB,MAAM;AAMzD,WAAO;KACL,IAAI;KACE;KACN,WAAW;KACX,QAAQ,EAAE;KACV,UAAU,EAAE;KACZ,aAXkB;MAClB,SAAS,EAAE;MACX,MAAM,EAAE;MACR,gBAAgB,EAAE;MACnB;KAQC,kBAAkB;KAClB,mBAAmB;KACnB,UAAU;KACV,SAAS,EACP,QAAQ,MACT;KACD,WAAW;KACX,KAAK;KACL,QAAQ;KACR,OAAO;KACP,qBAAqB;KACrB,iBAAiB;KACjB,KAAK;KACL,sBAAsB;KACtB,cAAc;KACd,iCAAiC;KACjC,iCAAiC;KACjC,4BAA4B;KAC5B,4BAA4B;KAC5B,gBAAgB;KAChB,mBAAmB;KACnB,aAAa;KACb,kBAAkB;KAClB,SAAS;KACT,OAAO;KACP,OAAO;KACP,OAAO;KACP,QAAQ;KACT;;GAEH,SAAS,WAAW,MAAM,OAAO,mBAAmB;IAClD,MAAM,uBAAuB,KAAK;IAClC,MAAM,wBAAwB,MAAM;AACpC,QAAI,MAAM,UACR,MAAK,YAAY;AAEnB,SAAK,IAAI,IAAI,GAAG,IAAI,MAAM,OAAO,QAAQ,IACvC,MAAK,OAAO,KAAK,MAAM,OAAO,GAAG;AAEnC,SAAK,IAAI,IAAI,GAAG,IAAI,MAAM,SAAS,QAAQ,IACzC,MAAK,SAAS,KAAK,MAAM,SAAS,GAAG;IAEvC,MAAM,kBAAkB,KAAK;IAC7B,MAAM,EACJ,MACA,SACA,mBACE,MAAM;IACV,MAAM,sBAAsB,gBAAgB;IAC5C,MAAM,uBAAuB;AAC7B,SAAK,IAAI,IAAI,GAAG,IAAI,qBAAqB,QAAQ,IAC/C,qBAAoB,KAAK,qBAAqB,GAAG;AAEnD,SAAK,IAAI,IAAI,GAAG,IAAI,QAAQ,QAAQ,IAClC,iBAAgB,QAAQ,KAAK,CAAC,oBAAoB,QAAQ,GAAG,GAAG,CAAC,OAAO,QAAQ,GAAG,MAAM,EAAE,CAAC,CAAC;AAE/F,SAAK,IAAI,IAAI,GAAG,IAAI,eAAe,QAAQ,IACzC,iBAAgB,eAAe,KAAK,CAAC,oBAAoB,eAAe,GAAG,GAAG,CAAC,OAAO,eAAe,GAAG,MAAM,EAAE,CAAC,CAAC;AAEpH,QAAI,0BAA0B,KAC5B,KAAI,yBAAyB,KAC3B,MAAK,mBAAmB,CAAC,sBAAsB,IAAI,sBAAsB,GAAG;SACvE;AACL,SAAI,sBAAsB,KAAK,qBAAqB,GAClD,sBAAqB,KAAK,sBAAsB;AAElD,SAAI,sBAAsB,KAAK,qBAAqB,GAClD,sBAAqB,KAAK,sBAAsB;;;GAKxD,MAAM,cAAc,aAAa;IAC/B,YAAY,UAAQ,cAAc,OAAO,sBAAoB;AAC3D,YAAO;AACP,0BAAqB,MAAM,gBAAgB,MAAM;AACjD,0BAAqB,MAAM,uBAAuB,EAAE,CAAC;AACrD,0BAAqB,MAAM,uBAAuB,KAAK;AACvD,0BAAqB,MAAM,4BAA4B,KAAK;AAC5D,0BAAqB,MAAM,wBAAwB,MAAM;AACzD,0BAAqB,MAAM,2BAA2B,EACpD,iBACI;MACJ,MAAM,WAAW,KAAK,oBAAoB;AAC1C,UAAI,YAAY,KACd,SAAQ,KAAK,wBAAwB,WAAW,GAAG;UAEnD,UAAS,wBAAwB;OAEnC;AACF,0BAAqB,MAAM,4BAA4B,EACrD,IACA,iBACI;MACJ,MAAM,WAAW,KAAK,oBAAoB;AAC1C,UAAI,YAAY,KACd,SAAQ,KAAK,wBAAwB,WAAW,GAAG;UAEnD,UAAS,wBAAwB,GAAG;OAEtC;AACF,0BAAqB,MAAM,8BAA8B,EACvD,IACA,iBACI;MACJ,MAAM,WAAW,KAAK,oBAAoB;AAC1C,UAAI,YAAY,KACd,SAAQ,KAAK,wBAAwB,WAAW,GAAG;UAEnD,UAAS,0BAA0B,GAAG;OAExC;AACF,0BAAqB,MAAM,oBAAoB,EAC7C,IACA,MACA,iBACI;MACJ,MAAM,WAAW,KAAK,oBAAoB;AAC1C,UAAI,YAAY,KACd,SAAQ,KAAK,wBAAwB,WAAW,iBAAiB,GAAG,GAAG;WAClE;OACL,MAAM,QAAQ,SAAS,gCAAgC,IAAI,KAAK;AAChE,WAAI,SAAS,KACX,MAAK,QAAQ,KAAK,mBAAmB,MAAM;WAE3C,SAAQ,KAAK,kDAAkD,GAAG,GAAG;;OAGzE;AACF,0BAAqB,MAAM,eAAe,EACxC,QACA,IACA,MACA,YACA,WACI;MACJ,MAAM,WAAW,KAAK,oBAAoB;AAC1C,UAAI,YAAY,KACd,SAAQ,KAAK,wBAAwB,WAAW,iBAAiB,GAAG,GAAG;UAEvE,UAAS,WAAW,MAAM,IAAI,QAAQ,KAAK;OAE7C;AACF,0BAAqB,MAAM,2BAA2B;AAGlD,WAAK,QAAQ,KAAK,kBAFJ,mBAE8B;OAE9C;AACF,0BAAqB,MAAM,2BAA2B;AACpD,WAAK,QAAQ,KAAK,kBAAkB,sBAAsB;OAC1D;AACF,0BAAqB,MAAM,qBAAqB,EAC9C,iBACI;MACJ,MAAM,WAAW,KAAK,oBAAoB;AAC1C,UAAI,YAAY,KACd,SAAQ,KAAK,wBAAwB,WAAW,GAAG;AAErD,WAAK,QAAQ,KAAK,iBAAiB,SAAS,kBAAkB,CAAC;OAC/D;AACF,0BAAqB,MAAM,4BAA4B;AACrD,WAAK,QAAQ,KAAK,mBAAmB,KAAK,aAAa;OACvD;AACF,0BAAqB,MAAM,kBAAkB,EAC3C,IACA,iBACI;MACJ,MAAM,WAAW,KAAK,oBAAoB;AAC1C,UAAI,YAAY,KACd,SAAQ,KAAK,wBAAwB,WAAW,iBAAiB,GAAG,GAAG;WAClE;OACL,MAAM,SAAS,SAAS,cAAc,GAAG;AACzC,YAAK,QAAQ,KAAK,cAAc;QAC9B;QACA;QACD,CAAC;;OAEJ;AACF,0BAAqB,MAAM,mBAAmB,EAC5C,eACA,IACA,MACA,YACA,gBACI;MACJ,MAAM,WAAW,KAAK,oBAAoB;AAC1C,UAAI,YAAY,KACd,SAAQ,KAAK,wBAAwB,WAAW,iBAAiB,GAAG,GAAG;WAClE;AACL,YAAK,QAAQ,KAAK,oBAAoB,SAAS,eAAe,WAAW,IAAI,MAAM,cAAc,CAAC;AAClG,WAAI,KAAK,6BAA6B,QAAQ,KAAK,yBAAyB,OAAO,IAAI;AACrF,aAAK,sBAAsB;AAC3B,aAAK,2BAA2B;AAChC,iBAAS,eAAe,KAAK;AAC7B,aAAK,yBAAyB;AAC9B,aAAK,0BAA0B;AAC/B,YAAI,CAAC,KAAK,iCAAiC;AACzC,cAAK,kCAAkC;AACvC,oBAAW,KAAK,mBAAmB,IAAK;;;;OAI9C;AACF,0BAAqB,MAAM,kBAAkB,EAC3C,WACA,IACA,eACA,MAAM,iBACF;MACJ,IAAI,kBAAkB;MACtB,IAAI,QAAQ;MACZ,IAAI,oBAAoB;MACxB,IAAI,uBAAuB;MAC3B,IAAI,eAAe;AACnB,UAAI,eAAe,QAAQ,WAAW,SAAS,GAAG;AAEhD,WAD0B,WAAW,OACX,cACxB,OAAM,IAAI,MAAM,gEAAgE;AAElF,WAAI,OAAO,WAAW,OAAO,SAC3B,OAAM,IAAI,MAAM,wDAAwD,WAAW,GAAG,2BAA2B;AAEnH,8BAAuB,WAAW;AAClC,sBAAe,WAAW,MAAM,EAAE;;AAEpC,WAAK,MAAM,cAAc,KAAK,qBAAqB;OACjD,MAAM,WAAW,KAAK,oBAAoB;OAC1C,IAAI,OAAO;AACX,WAAI,yBAAyB,QAAQ,iBAAiB,MAAM;QAC1D,MAAM,+BAA+B,uBAAuB;AAE5D,YAD4C,SAAS,0BAA0B,IAAI,CAAC,eAAe,6BAA6B,CAAC,KAAK,OAEpI,QAAO,CAAC,eAAe,6BAA6B,CAAC,OAAO,aAAa;;OAG7E,MAAM,wBAAwB,SAAS,eAAe,WAAW,IAAI,MAAM,cAAc;AACzF,eAAQ,sBAAsB,MAA9B;QACE,KAAK;AACH,+BAAsB,KAAK,MAAM;AACjC,aAAI,sBAAsB,UAAU,KAClC,MAAK,IAAI,IAAI,GAAG,IAAI,sBAAsB,MAAM,QAAQ,QAAQ,IAC9D,uBAAsB,MAAM,QAAQ,GAAG,MAAM;AAGjD,cAAK,QAAQ,KAAK,mBAAmB,sBAAsB;AAC3D;QACF,KAAK;SACH,MAAM,iBAAiB,sBAAsB;AAC7C,aAAI,oBAAoB,KACtB,mBAAkB,2BAA2B,eAAe,IAAI,eAAe,KAAK;AAEtF,oBAAW,iBAAiB,gBAAgB,kBAAkB;SAE9D,MAAM,cADwB,eAAe,YACH;AAC1C,8BAAqB,YAAY;AACjC,iBAAQ;AACR;QACF,KAAK;AACH,iBAAQ;SACR,MAAM,mBAAmB,SAAS,0BAA0B,IAAI,CAAC,cAAc,CAAC;AAChF,8BAAqB,iBAAiB;AACtC;QACF,KAAK,YACH;QACF,KAAK;AACH,cAAK,QAAQ,KAAK,mBAAmB,sBAAsB;AAC3D;;;AAGN,UAAI,oBAAoB,KACtB,KAAI,MACF,MAAK,QAAQ,KAAK,mBAAmB;OACnC,MAAM;OACN,YAAY;OACZ;OACD,CAAC;UAEF,MAAK,QAAQ,KAAK,mBAAmB;OACnC,MAAM;OACN,YAAY;OACZ;OACD,CAAC;UAGJ,MAAK,QAAQ,KAAK,mBAAmB;OACnC,MAAM;OACN,YAAY;OACZ;OACA,OAAO;OACR,CAAC;OAEJ;AACF,0BAAqB,MAAM,wBAAwB,EACjD,IACA,iBACI;MACJ,MAAM,WAAW,KAAK,oBAAoB;AAC1C,UAAI,YAAY,KACd,SAAQ,KAAK,wBAAwB,WAAW,iBAAiB,GAAG,GAAG;UAEvE,UAAS,oBAAoB,GAAG;OAElC;AACF,0BAAqB,MAAM,kBAAkB,EAC3C,IACA,YACA,iBACI;MACJ,MAAM,WAAW,KAAK,oBAAoB;AAC1C,UAAI,YAAY,KACd,SAAQ,KAAK,wBAAwB,WAAW,iBAAiB,GAAG,GAAG;UAEvE,UAAS,cAAc,IAAI,WAAW;OAExC;AACF,0BAAqB,MAAM,qBAAqB,EAC9C,IACA,YACA,oBACI;MACJ,MAAM,WAAW,KAAK,oBAAoB;AAC1C,UAAI,YAAY,KACd,SAAQ,KAAK,wBAAwB,WAAW,iBAAiB,GAAG,GAAG;UAEvE,UAAS,iBAAiB,IAAI,cAAc;OAE9C;AACF,0BAAqB,MAAM,8BAA8B,EACvD,mBACI;AACJ,WAAK,MAAM,cAAc,KAAK,qBAAqB;OACjD,MAAM,WAAW,KAAK,oBAAoB;AAC1C,WAAI,SAAS,yBACX,UAAS,0BAA0B,aAAa;;OAGpD;AACF,0BAAqB,MAAM,wBAAwB,EACjD,QACA,IACA,MACA,YACA,MACA,YACI;MACJ,MAAM,WAAW,KAAK,oBAAoB;AAC1C,UAAI,YAAY,KACd,SAAQ,KAAK,wBAAwB,WAAW,iBAAiB,GAAG,GAAG;UAEvE,UAAS,oBAAoB,MAAM,IAAI,QAAQ,MAAM,MAAM;OAE7D;AACF,0BAAqB,MAAM,oBAAoB,EAC7C,IACA,MACA,YACA,cACA,YACI;AACJ,UAAI,CAAC,aACH,MAAK,oBAAoB;OACvB;OACA;OACA;OACA,MAAM;OACN;OACD,CAAC;OAEJ;AACF,0BAAqB,MAAM,sBAAsB,EAC/C,IACA,QACA,MACA,YACA,cACA,YACI;AACJ,UAAI,CAAC,aACH,MAAK,oBAAoB;OACvB;OACA;OACA;OACA,MAAM;OACN;OACD,CAAC;OAEJ;AACF,0BAAqB,MAAM,kBAAkB,EAC3C,IACA,MACA,YACA,cACA,YACI;AACJ,UAAI,CAAC,aACH,MAAK,oBAAoB;OACvB;OACA;OACA;OACA,MAAM;OACN;OACD,CAAC;OAEJ;AACF,0BAAqB,MAAM,kBAAkB,EAC3C,IACA,MACA,YACA,cACA,YACI;AACJ,UAAI,CAAC,aACH,MAAK,oBAAoB;OACvB;OACA;OACA;OACA,MAAM;OACN;OACD,CAAC;OAEJ;AACF,0BAAqB,MAAM,2CAA2C;AACpE,WAAK,QAAQ,KAAK,wCAAwC,KAAK;OAC/D;AACF,0BAAqB,MAAM,qBAAqB,EAC9C,0BACA,qBACI;AACJ,UAAI,OAAO,KAAK,wBAAwB,WACtC,MAAK,oBAAoB,0BAA0B,eAAe;AAEpE,WAAK,QAAQ,KAAK,wBAAwB;OAC1C;AACF,0BAAqB,MAAM,eAAe,EACxC,QACA,IACA,SACA,SACA,YACA,WACI;MACJ,MAAM,WAAW,KAAK,oBAAoB;AAC1C,UAAI,YAAY,KACd,SAAQ,KAAK,wBAAwB,WAAW,iBAAiB,GAAG,GAAG;UAEvE,UAAS,WAAW,MAAM,IAAI,QAAQ,SAAS,QAAQ;OAEzD;AACF,0BAAqB,MAAM,2BAA0B,wBAAuB;AAC1E,WAAK,uBAAuB;AAC5B,oBAAc,oBAAoB;AAClC,WAAK,MAAM,cAAc,KAAK,oBAE5B,CADiB,KAAK,oBAAoB,YACjC,uBAAuB,oBAAoB;OAEtD;AACF,0BAAqB,MAAM,+CAA+C;MACxE,MAAM,SAAS,OAAO,+BAA+B;AACrD,UAAI,UAAU,KACZ;AAEF,WAAK,WAAW,OAAO;OACvB;AACF,0BAAqB,MAAM,kBAAkB;AAC3C,WAAK,KAAK,WAAW;AACrB,WAAK,QAAQ,oBAAoB;AACjC,WAAK,oBAAoB;OACzB;AACF,0BAAqB,MAAM,mBAAmB,EAC5C,0BACA,qBACI;AACJ,WAAK,eAAe;AACpB,WAAK,MAAM,cAAc,KAAK,oBAE5B,CADiB,KAAK,oBAAoB,YACjC,eAAe,0BAA0B,eAAe;AAEnE,WAAK,QAAQ,KAAK,mBAAmB,KAAK,aAAa;OACvD;AACF,0BAAqB,MAAM,uBAAuB;AAChD,WAAK,eAAe;AACpB,WAAK,MAAM,cAAc,KAAK,oBAE5B,CADiB,KAAK,oBAAoB,YACjC,eAAe;AAE1B,WAAK,QAAQ,KAAK,mBAAmB,KAAK,aAAa;OACvD;AACF,0BAAqB,MAAM,yBAAwB,aAAY;AAC7D,WAAK,QAAQ,KAAK,sBAAsB,SAAS;OACjD;AACF,0BAAqB,MAAM,kBAAkB,EAC3C,OACA,IACA,MACA,iBACI;MACJ,MAAM,WAAW,KAAK,oBAAoB;AAC1C,UAAI,YAAY,KACd,SAAQ,KAAK,wBAAwB,WAAW,iBAAiB,GAAG,GAAG;UAEvE,UAAS,cAAc,IAAI,MAAM,MAAM;OAEzC;AACF,0BAAqB,MAAM,uBAAsB,aAAY;AAC3D,WAAK,KAAK,sBAAsB,SAAS;OACzC;AACF,0BAAqB,MAAM,yBAAyB;AAClD,WAAK,KAAK,kBAAkB;OAC5B;AACF,0BAAqB,MAAM,mBAAkB,aAAY;AACvD,WAAK,QAAQ,KAAK,gBAAgB,SAAS;OAC3C;AACF,0BAAqB,MAAM,2BAA0B,qBAAoB;AACvE,WAAK,MAAM,oBAAoB,KAAK,qBAAqB;OACvD,MAAM,aAAa,CAAC;OACpB,MAAM,WAAW,KAAK,oBAAoB;AAC1C,WAAI,KAAK,4BAA4B,YAAY;QAC/C,MAAM,OAAO,SAAS,kBAAkB,KAAK,uBAAuB;AACpE,YAAI,SAAS,MAAM;AACjB,kBAAS,eAAe,KAAK;AAC7B,cAAK,sBAAsB;UACzB;UACA;UACD;;;AAGL,gBAAS,uBAAuB,iBAAiB;;OAEnD;AACF,0BAAqB,MAAM,6BAA6B;MACtD,IAAI,mBAAmB;AACvB,WAAK,MAAM,cAAc,KAAK,qBAAqB;OAEjD,MAAM,QADW,KAAK,oBAAoB,CAAC,YACpB,qBAAqB;AAC5C,WAAI,qBAAqB,KACvB,oBAAmB;WAEnB,MAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,IAChC,KAAI,iBAAiB,QAAQ,MAAM,GAAG,KAAK,GACzC,kBAAiB,KAAK,MAAM,GAAG;;AAKvC,WAAK,QAAQ,KAAK,oBAAoB,oBAAoB,EAAE,CAAC;OAC7D;AACF,0BAAqB,MAAM,mBAAkB,UAAS;AACpD,WAAK,KAAK,gBAAgB,MAAM;OAChC;AACF,0BAAqB,MAAM,gCAAgC;AAIzD,WAAK,QAAQ,KAAK,uBAAuB;OACzC;AACF,0BAAqB,MAAM,qBAAoB,eAAc;AAI3D,WAAK,QAAQ,KAAK,cAAc,WAAW;AAC3C,UAAI,KAAK,wBAAwB,MAAM;OACrC,MAAM,aAAa,WAAW;AAC9B,WAAI,KAAK,oBAAoB,eAAe,YAAY;QACtD,MAAM,WAAW,KAAK,oBAAoB;AAC1C,YAAI,YAAY,KACd,SAAQ,KAAK,wBAAwB,WAAW,GAAG;aAC9C;SACL,MAAM,YAAY,KAAK;SACvB,MAAM,YAAY,SAAS,4BAA4B;AACvD,cAAK,2BAA2B;SAChC,MAAM,cAAc,cAAc,OAAO,UAAU,KAAK;SACxD,MAAM,cAAc,cAAc,OAAO,UAAU,KAAK;AACxD,aAAI,gBAAgB,aAClB;cAAI,gBAAgB,KAClB,MAAK,QAAQ,KAAK,iBAAiB,YAAY;;AAGnD,aAAI,cAAc,QAAQ,UAAU,aAAa;AAC/C,eAAK,sBAAsB;AAC3B,eAAK,2BAA2B;AAChC,mBAAS,eAAe,KAAK;;;;;OAKrC;AACF,0BAAqB,MAAM,4CAA4C;AACrE,WAAK,KAAK,qCAAqC;OAC/C;AACF,0BAAqB,MAAM,mCAAmC,MAAM;AACpE,0BAAqB,MAAM,2BAA2B,GAAG;AACzD,0BAAqB,MAAM,0BAA0B,GAAG;AACxD,0BAAqB,MAAM,2BAA2B;AACpD,WAAK,kCAAkC;MACvC,MAAM,aAAa,KAAK;MACxB,MAAM,KAAK,KAAK;MAChB,MAAM,WAAW,KAAK,oBAAoB;MAC1C,MAAM,OAAO,YAAY,OAAO,SAAS,kBAAkB,GAAG,GAAG;AACjE,UAAI,SAAS,KACX,uBAAsB,oCAAoC,KAAK,UAAU;OACvE;OACA;OACD,CAAC,CAAC;UAEH,0BAAyB,mCAAmC;OAE9D;AACF,UAAK,eAAe;AACpB,UAAK,sBAAsBG;KAC3B,MAAM,2BAA2B,8BAA8B,mCAAmC;AAClG,SAAI,4BAA4B,KAC9B,MAAK,sBAAsB,KAAK,MAAM,yBAAyB;AAEjE,UAAK,UAAUC;AACf,cAAO,YAAY,0BAA0B,KAAK,uBAAuB;AACzE,cAAO,YAAY,2BAA2B,KAAK,wBAAwB;AAC3E,cAAO,YAAY,6BAA6B,KAAK,0BAA0B;AAC/E,cAAO,YAAY,mBAAmB,KAAK,gBAAgB;AAC3D,cAAO,YAAY,cAAc,KAAK,WAAW;AACjD,cAAO,YAAY,qBAAqB,KAAK,kBAAkB;AAC/D,cAAO,YAAY,qBAAqB,KAAK,kBAAkB;AAC/D,cAAO,YAAY,oBAAoB,KAAK,iBAAiB;AAC7D,cAAO,YAAY,sBAAsB,KAAK,mBAAmB;AACjE,cAAO,YAAY,iBAAiB,KAAK,cAAc;AACvD,cAAO,YAAY,kBAAkB,KAAK,eAAe;AACzD,cAAO,YAAY,iBAAiB,KAAK,cAAc;AACvD,cAAO,YAAY,uBAAuB,KAAK,oBAAoB;AACnE,cAAO,YAAY,iBAAiB,KAAK,cAAc;AACvD,cAAO,YAAY,oBAAoB,KAAK,iBAAiB;AAC7D,cAAO,YAAY,6BAA6B,KAAK,0BAA0B;AAC/E,cAAO,YAAY,uBAAuB,KAAK,oBAAoB;AACnE,cAAO,YAAY,oBAAoB,KAAK,iBAAiB;AAC7D,cAAO,YAAY,cAAc,KAAK,WAAW;AACjD,cAAO,YAAY,0BAA0B,KAAK,uBAAuB;AACzE,cAAO,YAAY,kBAAkB,KAAK,eAAe;AACzD,cAAO,YAAY,iBAAiB,KAAK,cAAc;AACvD,cAAO,YAAY,iBAAiB,KAAK,cAAc;AACvD,cAAO,YAAY,yCAAyC,KAAK,sCAAsC;AACvG,cAAO,YAAY,YAAY,KAAK,SAAS;AAC7C,cAAO,YAAY,sBAAsB,KAAK,mBAAmB;AACjE,cAAO,YAAY,mBAAmB,KAAK,gBAAgB;AAC3D,cAAO,YAAY,0BAA0B,KAAK,uBAAuB;AACzE,cAAO,YAAY,uBAAuB,KAAK,oBAAoB;AACnE,cAAO,YAAY,sCAAsC,KAAK,mCAAmC;AACjG,cAAO,YAAY,mBAAmB,KAAK,gBAAgB;AAC3D,cAAO,YAAY,qBAAqB,KAAK,kBAAkB;AAC/D,cAAO,YAAY,iBAAiB,KAAK,cAAc;AACvD,cAAO,YAAY,iBAAiB,KAAK,cAAc;AACvD,sBAAiBA,UAAQ,KAAK;AAC9B,6BAAwB,KAAK;AAC7B,cAAO,KAAK,qBAAqB;AACjC,SAAI,KAAK,aACP,UAAO,KAAK,mBAAmB,KAAK;;IAGxC,IAAI,qBAAqB;AACvB,YAAO,KAAK;;IAEd,oBAAoB,EAClB,IACA,cACC;KACD,MAAM,WAAW,KAAK,oBAAoB;AAC1C,SAAI,YAAY,MAAM;AACpB,cAAQ,KAAK,wBAAwB,WAAW,GAAG;AACnD,aAAO;;AAET,YAAO,SAAS,oBAAoB,GAAG;;IAEzC,qBAAqB,QAAQ,mBAAmB;AAC9C,SAAI,0BAA0B,IAAI,OAAO,OAAO,aAAa,UAAU;AACrE,WAAK,MAAM,cAAc,KAAK,qBAAqB;OACjD,MAAM,WAAW,KAAK,oBAAoB;AAC1C,WAAI;QACF,MAAM,KAAK,oBAAoB,SAAS,iCAAiC,OAAO,GAAG,SAAS,4BAA4B,OAAO;AAC/H,YAAI,OAAO,KACT,QAAO;SACD;SACJ,YAAY,CAAC;SACd;gBAEI,OAAO;;AAElB,aAAO;YACF;MACL,IAAI,YAAY;MAChB,IAAI,eAAe;MACnB,IAAI,iBAAiB;AACrB,WAAK,MAAM,cAAc,KAAK,qBAAqB;OACjD,MAAM,WAAW,KAAK,oBAAoB;OAC1C,MAAM,cAAc,SAAS,yBAAyB,OAAO;AAC7D,WAAI,gBAAgB,MAAM;AACxB,YAAI,gBAAgB,QAAQ;AAC1B,qBAAY;AACZ,wBAAe;AACf,0BAAiB,CAAC;AAClB;;AAEF,YAAI,cAAc,QAAQ,UAAU,SAAS,YAAY,EAAE;AACzD,qBAAY;AACZ,wBAAe;AACf,0BAAiB,CAAC;;;;AAIxB,UAAI,gBAAgB,QAAQ,aAAa,KACvC,KAAI;OACF,MAAM,KAAK,oBAAoB,aAAa,iCAAiC,UAAU,GAAG,aAAa,4BAA4B,UAAU;AAC7I,WAAI,OAAO,KACT,QAAO;QACL;QACA,YAAY;QACb;eAEI,OAAO;AAElB,aAAO;;;IAGX,gCAAgC,QAAQ;KACtC,MAAM,QAAQ,KAAK,qBAAqB,OAAO;AAC/C,SAAI,UAAU,KAEZ,QADiB,KAAK,oBAAoB,MAAM,YAChC,2BAA2B,MAAM,GAAG;AAEtD,YAAO;;IAET,WAAW,QAAQ;KACjB,MAAM,QAAQ,KAAK,qBAAqB,OAAO;AAC/C,SAAI,UAAU,KACZ,MAAK,QAAQ,KAAK,iBAAiB,MAAM,GAAG;;IAGhD,0BAA0B,YAAY,mBAAmB;AACvD,UAAK,oBAAoB,cAAc;AACvC,uBAAkB,uBAAuB,KAAK,qBAAqB;KACnE,MAAM,WAAW,kBAAkB;AACnC,SAAI,aAAa,MAGf;UAFoB,SAAS,eAAe,KACH,IAAI,SAAS,SAAS,gBAAgB,CAE7E,MAAK,QAAQ,KAAK,oBAAoB;;KAG1C,MAAM,YAAY,KAAK;AACvB,SAAI,cAAc,QAAQ,UAAU,eAAe,WACjD,mBAAkB,eAAe,UAAU,KAAK;;IAGpD,wBAAwB;AACtB,UAAK,QAAQ,KAAK,6BAA6B;;;GAKnD,SAAS,YAAY,MAAM,SAAO,QAAQ,6BAA6B;AACrE,QAAI,QAAQ,KACV,cAAa;IAEf,SAAS,0BAA0B,IAAI,mBAAmB;AACxD,aAAM,0BAA0B,IAAI,kBAAkB;AACtD,uBAAkB,wBAAwB;;IAE5C,MAAM,OAAO;KAAC,KAAK,IAAI,sBAAsB,EAC3C,IACA,wBACI;AACJ,gCAA0B,IAAI,kBAAkB;OAChD;KAAE,KAAK,IAAI,sCAAsC;AACjD,cAAM,uBAAuB;OAC7B;KAAE,KAAK,IAAI,wBAAwBJ,QAAM,uBAAuB;KAAE,KAAK,IAAI,cAAcA,QAAM,iBAAiB;KAAE,KAAK,IAAI,gBAAgBA,QAAM,eAAe;KAAE,KAAK,IAAI,uBAAuBA,QAAM,eAAe;KAAC;AAC1N,YAAM,YAAY,4CAA4C;AAC5D,SAAI,KAAK,+BACP,SAAM,uBAAuB;MAE/B;AACF,SAAK,mBAAmB,SAAS,mBAAmB,OAAO;AACzD,+BAA0B,IAAI,kBAAkB;MAChD;AACF,SAAK,KAAK,kBAAkBA,QAAM;AAClC,SAAK,qBAAqBA;IAC1B,MAAM,wBAAwB;AAC5B,UAAK,SAAQ,OAAM,IAAI,CAAC;AACxB,UAAK,mBAAmB,SAAQ,sBAAqB;AACnD,wBAAkB,SAAS;OAC3B;AACF,UAAK,qBAAqB;;AAE5B,YAAM,YAAY,YAAY,gBAAgB;AAC9C,YAAM,YAAY,uBAAsB,aAAY;AAClD,UAAK,WAAW;MAChB;AACF,YAAM,YAAY,yBAAyB;AACzC,SAAI,KAAK,YAAY,KACnB,SAAM,eAAe,KAAK,SAAS;MAErC;AACF,QAAI,4BACF,SAAM,mCAAmC;AAE3C,iBAAa;AACX,UAAK,SAAQ,OAAM,IAAI,CAAC;;;GAI5B,IAAI,gBAAgB;GACpB,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,SAAS,cAAc;AACvB,eAAY,qBAAqB;GACjC,SAAS,cAAc;AACrB,QAAI,kBAAkB,GAAG;AACvB,eAAU,QAAQ;AAClB,gBAAW,QAAQ;AACnB,gBAAW,QAAQ;AACnB,iBAAY,QAAQ;AACpB,iBAAY,QAAQ;AACpB,0BAAqB,QAAQ;AAC7B,oBAAe,QAAQ;KACvB,MAAM,QAAQ;MACZ,cAAc;MACd,YAAY;MACZ,OAAO;MACP,UAAU;MACX;AACD,YAAO,iBAAiB,SAAS;MAC/B,MAAM;MACN,KAAK;MACL,MAAM;MACN,OAAO;MACP,OAAO;MACP,gBAAgB;MAChB,UAAU;MACX,CAAC;;AAEJ;;GAEF,SAAS,eAAe;AACtB;AACA,QAAI,kBAAkB,GAAG;KACvB,MAAM,QAAQ;MACZ,cAAc;MACd,YAAY;MACZ,UAAU;MACX;AACD,YAAO,iBAAiB,SAAS;MAC/B,KAAK;OACH,GAAG;OACH,OAAO;OACR;MACD,MAAM;OACJ,GAAG;OACH,OAAO;OACR;MACD,MAAM;OACJ,GAAG;OACH,OAAO;OACR;MACD,OAAO;OACL,GAAG;OACH,OAAO;OACR;MACD,OAAO;OACL,GAAG;OACH,OAAO;OACR;MACD,gBAAgB;OACd,GAAG;OACH,OAAO;OACR;MACD,UAAU;OACR,GAAG;OACH,OAAO;OACR;MACF,CAAC;;AAEJ,QAAI,gBAAgB,EAClB,SAAQ,MAAM,+EAAoF;;GAKtG,IAAI;GACJ,SAAS,8BAA8B,MAAM;AAC3C,QAAI,WAAW,OACb,KAAI;AACF,WAAM,OAAO;aACN,GAAG;KACV,MAAM,QAAQ,EAAE,MAAM,MAAM,CAAC,MAAM,eAAe;AAClD,cAAS,SAAS,MAAM,MAAM;;AAKlC,WAAO,OAAO,SAAS;;GAEzB,SAAS,uBAAuB,MAAM,KAAK;AACzC,WAAO,8BAA8B,QAAQ,MAAM,OAAO,MAAM,MAAM,IAAI;;GAE5E,IAAI,UAAU;GAGd,SAAS,6BAA6B,IAAI,WAAW,sBAAsB;AACzE,QAAI,CAAC,MAAM,QACT,QAAO;IAGT,MAAM,4BAA4B,MAAM;AACxC,UAAM,oBAAoB;AAC1B,cAAU;IACV,MAAM,qBAAqB,qBAAqB;AAChD,yBAAqB,IAAI;AACzB,iBAAa;AACb,QAAI;KACF,MAAM,iBAAiB,EACrB,8BAA8B;MAC5B,IAAI;AACJ,UAAI;AACF,WAAI,WAAW;QACb,MAAM,OAAO,WAAY;AACvB,eAAM,OAAO;;AAEf,eAAO,eAAe,KAAK,WAAW,SAAS,EAC7C,KAAK,WAAY;AACf,eAAM,OAAO;WAEhB,CAAC;AACF,YAAI,OAAO,YAAY,YAAY,QAAQ,WAAW;AACpD,aAAI;AACF,kBAAQ,UAAU,MAAM,EAAE,CAAC;kBACpB,GAAG;AACV,oBAAU;;AAEZ,iBAAQ,UAAU,IAAI,EAAE,EAAE,KAAK;eAC1B;AACL,aAAI;AACF,eAAK,MAAM;kBACJ,GAAG;AACV,oBAAU;;AAEZ,YAAG,KAAK,KAAK,UAAU;;cAEpB;AACL,YAAI;AACF,eAAM,OAAO;iBACN,GAAG;AACV,mBAAU;;QAEZ,MAAM,eAAe,IAAI;AACzB,YAAI,gBAAgB,OAAO,aAAa,UAAU,WAChD,cAAa,YAAY,GAAG;;eAGzB,QAAQ;AACf,WAAI,UAAU,WAAW,OAAO,OAAO,UAAU,SAC/C,QAAO,CAAC,OAAO,OAAO,QAAQ,MAAM;;AAGxC,aAAO,CAAC,MAAM,KAAK;QAEtB;AACD,oBAAe,4BAA4B,cAAc;KACzD,MAAM,qBAAqB,OAAO,yBAAyB,eAAe,6BAA6B,OAAO;AAC9G,SAAI,sBAAsB,mBAAmB,aAC3C,QAAO,eAAe,eAAe,6BAA6B,QAAQ,EACxE,OAAO,+BACR,CAAC;KAEJ,MAAM,CAAC,aAAa,gBAAgB,eAAe,6BAA6B;AAChF,SAAI,eAAe,cAAc;MAC/B,MAAM,cAAc,YAAY,MAAM,KAAK;MAC3C,MAAM,eAAe,aAAa,MAAM,KAAK;MAC7C,IAAI,IAAI;MACR,IAAI,IAAI;AACR,aAAO,IAAI,YAAY,UAAU,CAAC,YAAY,GAAG,SAAS,8BAA8B,CACtF;AAEF,aAAO,IAAI,aAAa,UAAU,CAAC,aAAa,GAAG,SAAS,8BAA8B,CACxF;AAEF,UAAI,MAAM,YAAY,UAAU,MAAM,aAAa,QAAQ;AACzD,WAAI,YAAY,SAAS;AACzB,WAAI,aAAa,SAAS;AAC1B,cAAO,KAAK,KAAK,KAAK,KAAK,YAAY,OAAO,aAAa,GACzD;;AAGJ,aAAO,KAAK,KAAK,KAAK,GAAG,KAAK,IAC5B,KAAI,YAAY,OAAO,aAAa,IAAI;AACtC,WAAI,MAAM,KAAK,MAAM,EACnB,IAAG;AACD;AACA;AACA,YAAI,IAAI,KAAK,YAAY,OAAO,aAAa,IAAI;SAC/C,IAAI,QAAQ,OAAO,YAAY,GAAG,QAAQ,YAAY,OAAO;AAC7D,aAAI,GAAG,eAAe,MAAM,SAAS,cAAc,CACjD,SAAQ,MAAM,QAAQ,eAAe,GAAG,YAAY;AAGtD,gBAAO;;gBAEF,KAAK,KAAK,KAAK;AAE1B;;;cAIE;AACR,eAAU;AACV,WAAM,oBAAoB;AAC1B,0BAAqB,IAAI;AACzB,mBAAc;;IAEhB,MAAM,OAAO,KAAK,GAAG,eAAe,GAAG,OAAO;AAG9C,WAFuB,OAAO,8BAA8B,KAAK,GAAG;;GAItE,SAAS,4BAA4B,MAAM,sBAAsB;AAC/D,WAAO,6BAA6B,MAAM,MAAM,qBAAqB;;GAEvE,SAAS,+BAA+B,IAAI,sBAAsB;AAChE,WAAO,6BAA6B,IAAI,OAAO,qBAAqB;;GAGtE,SAAS,iBAAiB,OAAO;IAC/B,MAAM,wBAAwB,MAAM;AACpC,UAAM,oBAAoB;IAC1B,IAAI,QAAQ,MAAM;AAClB,UAAM,oBAAoB;AAC1B,QAAI,MAAM,WAAW,iCAAiC,CACpD,SAAQ,MAAM,MAAM,GAAG;IAEzB,IAAI,MAAM,MAAM,QAAQ,KAAK;AAC7B,QAAI,QAAQ,GACV,SAAQ,MAAM,MAAM,MAAM,EAAE;AAE9B,UAAM,MAAM,QAAQ,2BAA2B;AAC/C,QAAI,QAAQ,GACV,OAAM,MAAM,QAAQ,2BAA2B;AAEjD,QAAI,QAAQ,GACV,OAAM,MAAM,YAAY,MAAM,IAAI;AAEpC,QAAI,QAAQ,GACV,SAAQ,MAAM,MAAM,GAAG,IAAI;QAE3B,QAAO;AAET,WAAO;;GAKT,SAAS,kCAAkC,eAAe;AACxD,QAAI;KACF,IAAI,OAAO;AACX,SAAI,CAAC,cAAc,SAAS,OAAO,cAAc,SAAS,SACxD,QAAO,8BAA8B,cAAc,KAAK;KAE1D,IAAI,QAAQ;AACZ,YAAO,OAAO;MACZ,MAAM,aAAa,MAAM;AACzB,UAAI,cAAc,MAAM;AACtB,eAAQ,MAAM;AACd,WAAI,MACF,SAAQ,OAAO,iBAAiB,WAAW;YAG7C;;AAGJ,YAAO;aACA,GAAG;AACV,YAAO,+BAA+B,EAAE,UAAU,OAAO,EAAE;;;GAI/D,MAAM,kDAAkC,IAAI,SAAS;GAMrD,SAAS,qBAAqB,eAAe;AAC3C,WAAO,CAAC,CAAC,cAAc;;GAEzB,SAAS,OAAO,MAAM,YAAY,UAAU,QAAQ;IAClD,MAAM,EACJ,4BACE;IACJ,SAAS,kBAAkB,UAAU;AACnC,SAAI,4BAA4B,OAC9B,QAAO;KAET,MAAM,UAAU,yBAAyB;AACzC,SAAI,YAAY,KACd,QAAO;AAET,SAAI,qBAAqB,QAAQ,CAC/B,QAAO;KAET,MAAM,oBAAoB,QAAQ,cAAc;KAChD,IAAI,iBAAiB;AACrB,SAAI,mBAAmB;MACrB,MAAM,iBAAiB,iBAAiB,SAAS;AACjD,UAAI,eACF,mBAAkB,OAAO;AAE3B,wBAAkB,kCAAkC,QAAQ;;AAE9D,YAAO;MACL;MACA;MACD;;IAEH,SAAS,iBAAiB,MAAM,MAAM;AACpC,SAAI,4BAA4B,OAC9B;KAEF,MAAM,gBAAgB,yBAAyB;AAC/C,SAAI,kBAAkB,KACpB;AAEF,SAAI,KAAK,SAAS,KAAK,OAAO,KAAK,OAAO,YAAY,KAAK,GAAG,WAAW,UAAU,IAAI,OAAO,KAAK,OAAO,YAAY,OAAO,KAAK,OAAO,YAAY,OAAO,KAAK,OAAO,UAAU;MAChL,MAAM,SAAS,KAAK,GAAG,MAAM,EAAE;MAC/B,MAAM,MAAM,KAAK,GAAG,MAAM;AAC1B,aAAO,KAAK,MAAM,EAAE;AACpB,UAAI,QAAQ,cAAc,IACxB,MAAK,QAAQ,MAAM,MAAM,OAAO,OAAO;UAEvC,MAAK,QAAQ,OAAO;;KAGxB,MAAM,UAAU,qCAAqC,GAAG,KAAK;KAC7D,IAAI,qBAAqB,gCAAgC,IAAI,cAAc;AAC3E,SAAI,uBAAuB,QAAW;AACpC,2BAAqB;OACnB,wBAAQ,IAAI,KAAK;OACjB,aAAa;OACb,0BAAU,IAAI,KAAK;OACnB,eAAe;OAChB;AACD,sCAAgC,IAAI,eAAe,mBAAmB;;KAExE,MAAM,aAAa,SAAS,UAAU,mBAAmB,SAAS,mBAAmB;KACrF,MAAM,QAAQ,WAAW,IAAI,QAAQ,IAAI;AACzC,gBAAW,IAAI,SAAS,QAAQ,EAAE;AAClC,SAAI,SAAS,QACX,oBAAmB;SAEnB,oBAAmB;;AAIvB,WAAO;KACL,UAAU;KACV,yBAAyB;KACzB,0BAA0B;KAC1B,4BAA4B;KAC5B,kCAAkC;KAClC,aAAa;KACb,gCAAgC;AAC9B,aAAO;;KAET,0BAA0B;AACxB,aAAO;;KAET,yBAAyB;KACzB,6BAA6B;AAC3B,aAAO;;KAET;KACA,6BAA6B;AAC3B,aAAO;;KAET,2BAA2B;AACzB,aAAO;;KAET,8BAA8B;AAC5B,aAAO;;KAET,mCAAmC;AACjC,aAAO;;KAET,sBAAsB;AACpB,aAAO;OACL,UAAU;OACV,OAAO;OACR;;KAEH,gBAAgB;AACd,aAAO;;KAET,oBAAoB;AAClB,aAAO;;KAET,mBAAmB;AACjB,YAAM,IAAI,MAAM,kDAAkD;;KAEpE,wBAAwB;KACxB,2BAA2B;KAC3B,4BAA4B;KAC5B,mBAAmB;AACjB,aAAO;;KAET,eAAe,WAAW,IAAI,MAAM;AAClC,aAAO;OACL;OACA,YAAY;OACZ,MAAM;OACP;;KAEH,sBAAsB;KACtB,4BAA4B;KAC5B,+BAA+B;KAC/B;KACA,gBAAgB;KAChB,mBAAmB;KACnB,4BAA4B;KAC5B,sBAAsB;KACtB,aAAa;KACb;KACA,yBAAyB;KACzB,iBAAiB;KACjB,iBAAiB;KACjB,gBAAgB;KAChB,gBAAgB;KAChB,0BA1E+B;KA2E/B,yBAAyB;KACzB,sBAAsB;AACpB,aAAO,EAAE;;KAEZ;;GAGH,SAAS,+BAA+B,OAAO,YAAY;AACzD,QAAI,MAAM,WAAW,iCAAiC,CACpD,SAAQ,MAAM,MAAM,GAAG;IAEzB,IAAI,MAAM,MAAM,QAAQ,2BAA2B;AACnD,QAAI,QAAQ,GACV,OAAM,MAAM,QAAQ,2BAA2B;AAEjD,QAAI,QAAQ,GACV,OAAM,MAAM,YAAY,MAAM,IAAI;AAEpC,QAAI,QAAQ,GACV,SAAQ,MAAM,MAAM,GAAG,IAAI;IAE7B,MAAM,SAAS,MAAM,MAAM,KAAK;IAChC,MAAM,eAAe,EAAE;AACvB,SAAK,IAAI,IAAI,YAAY,IAAI,OAAO,QAAQ,KAAK;KAC/C,MAAM,SAAS,kBAAkB,KAAK,OAAO,GAAG;AAChD,SAAI,CAAC,OACH;KAEF,IAAI,OAAO,OAAO,MAAM;KACxB,IAAI,UAAU,OAAO,OAAO;AAC5B,SAAI,SAAS,cACX,QAAO;cACE,KAAK,WAAW,SAAS,EAAE;AACpC,aAAO,KAAK,MAAM,EAAE;AACpB,gBAAU;;KAEZ,IAAI,WAAW,OAAO,MAAM,OAAO,MAAM;AACzC,SAAI,aAAa,cACf,YAAW;KAEb,MAAM,OAAO,EAAE,OAAO,MAAM,OAAO,MAAM;KACzC,MAAM,MAAM,EAAE,OAAO,MAAM,OAAO,MAAM;AACxC,kBAAa,KAAK;MAAC;MAAM;MAAU;MAAM;MAAK;MAAG;MAAG;MAAQ,CAAC;;AAE/D,WAAO;;GAET,MAAM,qBAAqB;GAC3B,SAAS,gCAAgC,OAAO,YAAY;IAC1D,IAAI,MAAM,MAAM,QAAQ,2BAA2B;AACnD,QAAI,QAAQ,GACV,OAAM,MAAM,QAAQ,2BAA2B;AAEjD,QAAI,QAAQ,GACV,OAAM,MAAM,YAAY,MAAM,IAAI;AAEpC,QAAI,QAAQ,GACV,SAAQ,MAAM,MAAM,GAAG,IAAI;IAE7B,MAAM,SAAS,MAAM,MAAM,KAAK;IAChC,MAAM,eAAe,EAAE;AACvB,SAAK,IAAI,IAAI,YAAY,IAAI,OAAO,QAAQ,KAAK;KAC/C,MAAM,SAAS,mBAAmB,KAAK,OAAO,GAAG;AACjD,SAAI,CAAC,OACH;KAEF,MAAM,OAAO,OAAO,MAAM;KAC1B,MAAM,WAAW,OAAO,MAAM;KAC9B,MAAM,OAAO,CAAC,OAAO;KACrB,MAAM,MAAM,CAAC,OAAO;AACpB,kBAAa,KAAK;MAAC;MAAM;MAAU;MAAM;MAAK;MAAG;MAAG;MAAM,CAAC;;AAE7D,WAAO;;GAET,MAAM,sBAAsB;GAC5B,SAAS,0BAA0B,OAAO,YAAY;AACpD,QAAI,MAAM,MAAM,oBAAoB,CAClC,QAAO,+BAA+B,OAAO,WAAW;AAE1D,WAAO,gCAAgC,OAAO,WAAW;;GAE3D,IAAI,eAAe;GACnB,IAAI,sBAAsB;GAC1B,MAAM,mBAAmB;GACzB,SAAS,kBAAkB,UAAU;IACnC,MAAM,WAAW,SAAS,aAAa;IACvC,MAAM,aAAa,SAAS,eAAe;IAC3C,MAAM,eAAe,SAAS,iBAAiB;IAC/C,IAAI,SAAS;AACb,QAAI,cAAc;AAChB,SAAI,YAAY,iBAAiB,KAAK,aAAa,IAAI,iBAAiB,SACtE,WAAU,WAAW;AAEvB,eAAU;AACV,SAAI,cAAc,iBAAiB,cAAc,CAAC,aAAa,SAAS,MAAM,WAAW,IAAI,CAAC,aAAa,SAAS,MAAM,WAAW,CACnI,WAAU,UAAU,aAAa;WAE9B;AACL,SAAI,SACF,WAAU,WAAW;AAEvB,SAAI,WACF,WAAU;SAEV,WAAU;;AAGd,WAAO;;GAET,SAAS,kBAAkB,OAAO,sBAAsB;IACtD,MAAM,SAAS,EAAE;AACjB,SAAK,IAAI,IAAI,cAAc,IAAI,qBAAqB,QAAQ,KAAK;KAC/D,MAAM,WAAW,qBAAqB;KACtC,IAAIK,SAAO,SAAS,iBAAiB,IAAI;AACzC,SAAIA,OAAK,SAAS,2BAA2B,IAAIA,OAAK,SAAS,2BAA2B,CACxF;cACS,SAAS,UAAU,EAAE;MAC9B,MAAM,UAAU,SAAS,SAAS;AAClC,aAAO,KAAK;OAACA;OAAM;OAAI;OAAG;OAAG;OAAG;OAAG;OAAQ,CAAC;YACvC;AACL,UAAI,SAAS,eAAe,CAC1B,UAAO,SAASA;eACP,CAAC,SAAS,YAAY,CAC/B,UAAO,kBAAkB,SAAS;AAEpC,UAAIA,WAAS,cACX,UAAO;MAET,IAAI,WAAW,SAAS,0BAA0B,IAAI;AACtD,UAAI,aAAa,eAAe;AAC9B,kBAAW;AACX,WAAI,SAAS,QAAQ,EAAE;QACrB,MAAM,SAAS,SAAS,eAAe;AACvC,YAAI,OACF,YAAW,OAAO,UAAU,GAAG;;;MAIrC,MAAM,OAAO,SAAS,eAAe,IAAI;MACzC,MAAM,MAAM,SAAS,iBAAiB,IAAI;MAC1C,MAAM,gBAAgB,OAAO,SAAS,2BAA2B,aAAa,SAAS,wBAAwB,IAAI,IAAI;MACvH,MAAM,eAAe,OAAO,SAAS,6BAA6B,aAAa,SAAS,0BAA0B,IAAI,IAAI;MAC1H,MAAM,UAAU,SAAS,SAAS;AAClC,aAAO,KAAK;OAACA;OAAM;OAAU;OAAM;OAAK;OAAe;OAAc;OAAQ,CAAC;;;AAGlF,0BAAsB;IACtB,MAAM,OAAO,MAAM,QAAQ;IAC3B,MAAM,UAAU,MAAM,WAAW;IACjC,IAAI,QAAQ,OAAO,OAAO;AAC1B,SAAK,IAAI,IAAI,GAAG,IAAI,qBAAqB,QAAQ,IAC/C,UAAS,cAAc,qBAAqB,GAAG,UAAU;AAE3D,WAAO;;GAET,MAAM,oBAAoB;GAC1B,MAAM,kCAAkB,IAAI,SAAS;GACrC,SAAS,gBAAgB,OAAO,YAAY;IAC1C,MAAM,WAAW,gBAAgB,IAAI,MAAM;AAC3C,QAAI,aAAa,OACf,QAAO;AAET,0BAAsB;AACtB,mBAAe;IACf,MAAM,kBAAkB,MAAM;AAC9B,UAAM,oBAAoB;IAC1B,IAAI;AACJ,QAAI;AACF,aAAQ,OAAO,MAAM,MAAM;cACnB;AACR,WAAM,oBAAoB;;AAE5B,QAAI,wBAAwB,MAAM;KAChC,MAAM,SAAS;AACf,2BAAsB;AACtB,qBAAgB,IAAI,OAAO,OAAO;AAClC,YAAO;;IAET,MAAM,eAAe,0BAA0B,OAAO,WAAW;AACjE,oBAAgB,IAAI,OAAO,aAAa;AACxC,WAAO;;GAET,SAAS,8BAA8B,OAAO;IAC5C,MAAM,aAAa,gBAAgB,OAAO,EAAE;IAC5C,MAAM,QAAQ,MAAM;AACpB,QAAI,CAAC,MAAM,SAAS,2BAA2B,IAAI,CAAC,MAAM,SAAS,2BAA2B,CAC5F,QAAO;AAET,SAAK,IAAI,IAAI,WAAW,SAAS,GAAG,KAAK,GAAG,KAAK;KAC/C,MAAM,CAAC,cAAc,UAAU,MAAM,KAAK,SAAS,UAAU,WAAW;AACxE,SAAI,SAAS,QAAQ,IAAI,KAAK,GAC5B,QAAO;MAAC;MAAc;MAAU,WAAW;MAAM,UAAU;MAAI;;AAGnE,WAAO;;GAET,SAAS,kCAAkC,OAAO;IAChD,MAAM,aAAa,0BAA0B,OAAO,EAAE;AACtD,SAAK,IAAI,IAAI,GAAG,IAAI,WAAW,QAAQ,KAAK;KAC1C,MAAM,CAAC,cAAc,UAAU,MAAM,KAAK,SAAS,UAAU,WAAW;AACxE,SAAI,SAAS,QAAQ,IAAI,KAAK,GAC5B,QAAO;MAAC;MAAc;MAAU,WAAW;MAAM,UAAU;MAAI;;AAGnE,WAAO;;GAGT,IAAI,qBAAqB,oBAAoB,KAAK;GAClD,IAAI,6BAA0C,oCAAoB,EAAE,mBAAmB;GAG1D,MAAM,gBADb,OAAO;GAOA,MAAM,8DADyB;GAG5D,MAAM,oBAAoB;GAS1B,MAAM,kBAAkB;GACxB,MAAM,aAAa;GAInB,MAAM,sBAAsB;GAkBC,MAAM,wBADG,OAAO,UAAU;GASvD,IAAI,UAAU,EAAE;GAChB,IAAI,sBAAsB;GAC1B,SAAS,yBAAyB;AAChC,QAAI,wBAAwB,MAAM;KAChC,MAAM,wBAAQ,IAAI,KAAK;KACvB,IAAI;AACJ,SAAI;AACF,iBAAW,WAAW,EACpB,eAAe,MAChB,CAAC;AACF,iBAAW,SAAS,KAAK;AACzB,iBAAW,YAAY,GAAG,MAAM,GAAG,KAAK;AACxC,iBAAW,OAAO,KAAK;AACvB,UAAI,OAAO,WAAW,oBAAoB,WACxC,YAAW,iBAAiB;AAE9B,iBAAW,sBAAsB,GAAG;AACpC,iBAAW,yBAAyB,GAAG;AACvC,iBAAW,gBAAgB,GAAG;AAC9B,iBAAW,oBAAoB,cAAiB,KAAK;AACrD,iBAAW,cAAc,KAAK;AAC9B,iBAAW,kBAAkB,GAAG;AAChC,iBAAW,eAAe;AAC1B,iBAAW,iCAAiC,UAAU,YAAY,KAAK;AACvE,iBAAW,iBAAiB,KAAK;AACjC,iBAAW,cAAc,KAAK;AAC9B,iBAAW,cAAc,OAAO,GAAG,MAAM,EAAE;AAC3C,iBAAW,cAAc,GAAG,MAAM,GAAG,KAAK;AAC1C,iBAAW,gBAAgB,GAAG,MAAM,GAAG,KAAK;AAC5C,iBAAW,yBAAyB;AACpC,UAAI,OAAO,WAAW,iBAAiB,WACrC,YAAW,aAAa,EAAE;AAE5B,UAAI,OAAO,WAAW,QAAQ,YAAY;AACxC,kBAAW,IAAI;QACb,UAAU;QACV,eAAe;QAChB,CAAC;AACF,kBAAW,IAAI;QACb,OAAO;QACP,QAAQ;QACR,OAAO;QACR,CAAC;AACF,WAAI;AACF,mBAAW,IAAI,EACb,OAAO,IACR,CAAC;gBACK,GAAG;;AAEd,iBAAW,OAAO;AAClB,UAAI,OAAO,WAAW,mBAAmB,WACvC,YAAW,gBAAe,SAAQ,GAAG;eAE/B;AACR,oBAAc;AACd,gBAAU,EAAE;;AAEd,UAAK,IAAI,IAAI,GAAG,IAAI,YAAY,QAAQ,KAAK;MAC3C,MAAM,OAAO,YAAY;AACzB,YAAM,IAAI,KAAK,WAAW,4BAA4B,CAAC,MAAM,KAAK,WAAW,CAAC;;AAEhF,2BAAsB;;AAExB,WAAO;;GAET,IAAI,eAAe;GACnB,IAAI,cAAc;GAClB,IAAI,2BAA2B;GAC/B,IAAI,uBAAuB;GAC3B,IAAI,uBAAuB;GAC3B,SAAS,WAAW;IAClB,MAAM,OAAO;AACb,QAAI,SAAS,KACX,eAAc,KAAK;AAErB,WAAO;;GAET,SAAS,YAAY,SAAS;AAC5B,QAAI,iBAAiB,KACnB,QAAO,QAAQ;SACV;AACL,SAAI,6BAA6B,KAC/B,OAAM,IAAI,MAAM,8FAA8F;KAEhH,IAAI;AACJ,SAAI,sBAAsB,KAAK,0BAA0B,gBAAgB,EAAE;AACzE,cAAQ,yBAAyB;AACjC,iCAA2B,yBAAyB;WAEpD,SAAQ,QAAQ;AAElB,YAAO;;;GAGX,MAAM,oCAAoB,IAAI,MAAM,iaAA+b;GACne,SAAS,IAAI,QAAQ;AACnB,QAAI,WAAW,QAAQ,OAAO,WAAW,UACvC;SAAI,OAAO,OAAO,SAAS,YAAY;MACrC,MAAM,WAAW,yBAAyB,QAAQ,uBAAuB,qBAAqB,SAAS,qBAAqB,0BAA0B;AACtJ,cAAQ,SAAS,QAAjB;OACE,KAAK,aACH;QACE,MAAM,iBAAiB,SAAS;AAChC,gBAAQ,KAAK;SACX,aAAa;SACb,WAAW;SACX,4BAAY,IAAI,OAAO;SACvB,OAAO;SACP,WAAW,SAAS,eAAe,SAAY,OAAO,SAAS;SAC/D,oBAAoB;SACrB,CAAC;AACF,eAAO;;OAEX,KAAK,WAGD,OADsB,SAAS;;AAIrC,cAAQ,KAAK;OACX,aAAa;OACb,WAAW;OACX,4BAAY,IAAI,OAAO;OACvB,OAAO;OACP,WAAW,SAAS,eAAe,SAAY,OAAO,SAAS;OAC/D,oBAAoB;OACrB,CAAC;AACF,YAAM;gBACG,OAAO,aAAa,oBAAoB;MACjD,MAAM,UAAU;MAChB,MAAM,QAAQ,YAAY,QAAQ;AAClC,cAAQ,KAAK;OACX,aAAa,QAAQ,eAAe;OACpC,WAAW;OACX,4BAAY,IAAI,OAAO;OACvB;OACA,WAAW;OACX,oBAAoB;OACrB,CAAC;AACF,aAAO;;;AAGX,UAAM,IAAI,MAAM,8CAA8C,OAAO,OAAO,CAAC;;GAE/E,SAAS,WAAW,SAAS;IAC3B,MAAM,QAAQ,YAAY,QAAQ;AAClC,YAAQ,KAAK;KACX,aAAa,QAAQ,eAAe;KACpC,WAAW;KACX,4BAAY,IAAI,OAAO;KAChB;KACP,WAAW;KACX,oBAAoB;KACrB,CAAC;AACF,WAAO;;GAET,SAAS,SAAS,cAAc;IAC9B,MAAM,OAAO,UAAU;IACvB,MAAM,QAAQ,SAAS,OAAO,KAAK,gBAAgB,OAAO,iBAAiB,aAAa,cAAc,GAAG;AACzG,YAAQ,KAAK;KACX,aAAa;KACb,WAAW;KACX,4BAAY,IAAI,OAAO;KACvB,OAAO;KACP,WAAW;KACX,oBAAoB;KACrB,CAAC;AACF,WAAO,CAAC,QAAO,WAAU,GAAG;;GAE9B,SAAS,WAAW,SAAS,YAAY,MAAM;IAC7C,MAAM,OAAO,UAAU;IACvB,IAAI;AACJ,QAAI,SAAS,KACX,SAAQ,KAAK;QAEb,SAAQ,SAAS,SAAY,KAAK,WAAW,GAAG;AAElD,YAAQ,KAAK;KACX,aAAa;KACb,WAAW;KACX,4BAAY,IAAI,OAAO;KACvB,OAAO;KACP,WAAW;KACX,oBAAoB;KACrB,CAAC;AACF,WAAO,CAAC,QAAO,WAAU,GAAG;;GAE9B,SAAS,OAAO,cAAc;IAC5B,MAAM,OAAO,UAAU;IACvB,MAAM,MAAM,SAAS,OAAO,KAAK,gBAAgB,EAC/C,SAAS,cACV;AACD,YAAQ,KAAK;KACX,aAAa;KACb,WAAW;KACX,4BAAY,IAAI,OAAO;KACvB,OAAO,IAAI;KACX,WAAW;KACX,oBAAoB;KACrB,CAAC;AACF,WAAO;;GAET,SAAS,kBAAkB;IACzB,MAAM,OAAO,UAAU;AACvB,YAAQ,KAAK;KACX,aAAa;KACb,WAAW;KACX,4BAAY,IAAI,OAAO;KACvB,OAAO,SAAS,OAAO,KAAK,gBAAgB,SAAS,UAAU;KAC/D,WAAW;KACX,oBAAoB;KACrB,CAAC;AACF,iBAAa;;GAEf,SAAS,gBAAgB,QAAQ,QAAQ;AACvC,cAAU;AACV,YAAQ,KAAK;KACX,aAAa;KACb,WAAW;KACX,4BAAY,IAAI,OAAO;KACvB,OAAO;KACP,WAAW;KACX,oBAAoB;KACrB,CAAC;;GAEJ,SAAS,mBAAmB,QAAQ,QAAQ;AAC1C,cAAU;AACV,YAAQ,KAAK;KACX,aAAa;KACb,WAAW;KACX,4BAAY,IAAI,OAAO;KACvB,OAAO;KACP,WAAW;KACX,oBAAoB;KACrB,CAAC;;GAEJ,SAAS,UAAU,QAAQ,MAAM;AAC/B,cAAU;AACV,YAAQ,KAAK;KACX,aAAa;KACb,WAAW;KACX,4BAAY,IAAI,OAAO;KACvB,OAAO;KACP,WAAW;KACX,oBAAoB;KACrB,CAAC;;GAEJ,SAAS,oBAAoB,KAAK,QAAQ,QAAQ;AAChD,cAAU;IACV,IAAI,WAAW;AACf,QAAI,QAAQ,QAAQ,OAAO,QAAQ,SACjC,YAAW,IAAI;AAEjB,YAAQ,KAAK;KACX,aAAa;KACb,WAAW;KACX,4BAAY,IAAI,OAAO;KACvB,OAAO;KACP,WAAW;KACX,oBAAoB;KACrB,CAAC;;GAEJ,SAAS,cAAc,OAAO,aAAa;AACzC,YAAQ,KAAK;KACX,aAAa;KACb,WAAW;KACX,4BAAY,IAAI,OAAO;KACvB,OAAO,OAAO,gBAAgB,aAAa,YAAY,MAAM,GAAG;KAChE,WAAW;KACX,oBAAoB;KACrB,CAAC;;GAEJ,SAAS,YAAY,UAAU,QAAQ;IACrC,MAAM,OAAO,UAAU;AACvB,YAAQ,KAAK;KACX,aAAa;KACb,WAAW;KACX,4BAAY,IAAI,OAAO;KACvB,OAAO,SAAS,OAAO,KAAK,cAAc,KAAK;KAC/C,WAAW;KACX,oBAAoB;KACrB,CAAC;AACF,WAAO;;GAET,SAAS,QAAQ,YAAY,QAAQ;IACnC,MAAM,OAAO,UAAU;IACvB,MAAM,QAAQ,SAAS,OAAO,KAAK,cAAc,KAAK,YAAY;AAClE,YAAQ,KAAK;KACX,aAAa;KACb,WAAW;KACX,4BAAY,IAAI,OAAO;KACvB;KACA,WAAW;KACX,oBAAoB;KACrB,CAAC;AACF,WAAO;;GAET,SAAS,qBAAqB,WAAW,aAAa,mBAAmB;AACvE,cAAU;AACV,cAAU;IACV,MAAM,QAAQ,aAAa;AAC3B,YAAQ,KAAK;KACX,aAAa;KACb,WAAW;KACX,4BAAY,IAAI,OAAO;KACvB;KACA,WAAW;KACX,oBAAoB;KACrB,CAAC;AACF,WAAO;;GAET,SAAS,gBAAgB;IACvB,MAAM,YAAY,UAAU;AAC5B,cAAU;IACV,MAAM,YAAY,cAAc,OAAO,UAAU,gBAAgB;AACjE,YAAQ,KAAK;KACX,aAAa;KACb,WAAW;KACX,4BAAY,IAAI,OAAO;KACvB,OAAO;KACP,WAAW;KACX,oBAAoB;KACrB,CAAC;AACF,WAAO,CAAC,iBAAiB,GAAG;;GAE9B,SAAS,iBAAiB,OAAO,cAAc;IAC7C,MAAM,OAAO,UAAU;IACvB,MAAM,YAAY,SAAS,OAAO,KAAK,gBAAgB;AACvD,YAAQ,KAAK;KACX,aAAa;KACb,WAAW;KACX,4BAAY,IAAI,OAAO;KACvB,OAAO;KACP,WAAW;KACX,oBAAoB;KACrB,CAAC;AACF,WAAO;;GAET,SAAS,QAAQ;IACf,MAAM,OAAO,UAAU;IACvB,MAAM,KAAK,SAAS,OAAO,KAAK,gBAAgB;AAChD,YAAQ,KAAK;KACX,aAAa;KACb,WAAW;KACX,4BAAY,IAAI,OAAO;KACvB,OAAO;KACP,WAAW;KACX,oBAAoB;KACrB,CAAC;AACF,WAAO;;GAET,SAAS,aAAa,MAAM;IAC1B,MAAM,QAAQ;AACd,QAAI,SAAS,KACX,QAAO,EAAE;IAEX,MAAM,YAAY,MAAM,eAAe,OAAO,MAAM,YAAY,YAAY;AAC5E,QAAI,aAAa,KACf,QAAO,EAAE;IAEX,IAAI,OAAO,UAAU,KAAK,UAAU;AACpC,QAAI,SAAS,QAAW;AACtB,YAAO,UAAU,KAAK,UAAU,SAAS,IAAI,MAAM,KAAK;AACxD,UAAK,IAAI,IAAI,GAAG,IAAI,MAAM,IACxB,MAAK,KAAK;;AAGd,cAAU;AACV,WAAO;;GAET,SAAS,cAAc,aAAa,SAAS;IAC3C,MAAM,OAAO,UAAU;IACvB,IAAI;AACJ,QAAI,SAAS,KACX,SAAQ,KAAK;QAEb,SAAQ;AAEV,YAAQ,KAAK;KACX,aAAa;KACb,WAAW;KACX,4BAAY,IAAI,OAAO;KACvB,OAAO;KACP,WAAW;KACX,oBAAoB;KACrB,CAAC;AACF,WAAO,CAAC,QAAO,WAAU,GAAG;;GAE9B,SAAS,aAAa,QAAQ,cAAc,WAAW;IACrD,MAAM,OAAO,UAAU;AACvB,cAAU;AACV,cAAU;IACV,MAAM,6BAAa,IAAI,OAAO;IAC9B,IAAI;IACJ,IAAI,YAAY;IAChB,IAAI,QAAQ;AACZ,QAAI,SAAS,MAAM;KACjB,MAAM,eAAe,KAAK;AAC1B,SAAI,OAAO,iBAAiB,YAAY,iBAAiB,QAAQ,OAAO,aAAa,SAAS,YAAY;MACxG,MAAM,WAAW;AACjB,cAAQ,SAAS,QAAjB;OACE,KAAK;AAED,gBAAQ,SAAS;AACjB,oBAAY,SAAS,eAAe,SAAY,OAAO,SAAS;AAChE;OAEJ,KAAK;AAGD,gBADsB,SAAS;AAE/B;OAEJ;AACE,gBAAQ;AACR,oBAAY,SAAS,eAAe,SAAY,OAAO,SAAS;AAChE,gBAAQ;;WAGZ,SAAQ;UAGV,SAAQ;AAEV,YAAQ,KAAK;KACX,aAAa;KACb,WAAW;KACC;KACL;KACI;KACX,oBAAoB;KACrB,CAAC;AACF,QAAI,UAAU,KACZ,OAAM;AAGR,WAAO;KADO;MACC,YAAW;KAAI;KAAM;;GAEtC,SAAS,eAAe,QAAQ,cAAc,WAAW;IACvD,MAAM,OAAO,UAAU;AACvB,cAAU;AACV,cAAU;IACV,MAAM,6BAAa,IAAI,OAAO;IAC9B,IAAI;IACJ,IAAI,YAAY;IAChB,IAAI,QAAQ;AACZ,QAAI,SAAS,MAAM;KACjB,MAAM,eAAe,KAAK;AAC1B,SAAI,OAAO,iBAAiB,YAAY,iBAAiB,QAAQ,OAAO,aAAa,SAAS,YAAY;MACxG,MAAM,WAAW;AACjB,cAAQ,SAAS,QAAjB;OACE,KAAK;AAED,gBAAQ,SAAS;AACjB,oBAAY,SAAS,eAAe,SAAY,OAAO,SAAS;AAChE;OAEJ,KAAK;AAGD,gBADsB,SAAS;AAE/B;OAEJ;AACE,gBAAQ;AACR,oBAAY,SAAS,eAAe,SAAY,OAAO,SAAS;AAChE,gBAAQ;;WAGZ,SAAQ;UAGV,SAAQ;AAEV,YAAQ,KAAK;KACX,aAAa;KACb,WAAW;KACC;KACL;KACI;KACX,oBAAoB;KACrB,CAAC;AACF,QAAI,UAAU,KACZ,OAAM;AAGR,WAAO;KADO;MACC,YAAW;KAAI;KAAM;;GAEtC,SAAS,0BAA0B;IACjC,MAAM,SAAS,YAAY,EACzB,eAAe,MAChB,CAAC;AACF,YAAQ,KAAK;KACX,aAAa;KACb,WAAW;KACX,4BAAY,IAAI,OAAO;KACvB,OAAO;KACP,WAAW;KACX,oBAAoB;KACrB,CAAC;AACF,WAAO;;GAET,SAAS,eAAe,UAAU;AAChC,cAAU;AACV,YAAQ,KAAK;KACX,aAAa;KACb,WAAW;KACX,4BAAY,IAAI,OAAO;KACvB,OAAO;KACP,WAAW;KACX,oBAAoB;KACrB,CAAC;AACF,WAAO;;GAET,MAAM,aAAa;IACjB;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACD;GAWD,MAAM,kBAAkB,OAAO,UAAU,cAAc,aAAa,IAAI,MAAM,YAV/C,EAC7B,IAAI,QAAQ,MAAM;AAChB,QAAI,OAAO,eAAe,KAAK,CAC7B,QAAO,OAAO;IAEhB,MAAM,wBAAQ,IAAI,MAAM,mCAAmC,KAAK;AAChE,UAAM,OAAO;AACb,UAAM;MAET,CACgH;GACjH,IAAI,0BAA0B;GAC9B,SAAS,gBAAgB,WAAW,WAAW,WAAW;IACxD,MAAM,SAAS,UAAU,WAAW;AACpC,eAAY,MAAK,IAAI,IAAI,GAAG,IAAI,UAAU,QAAQ,IAChD,KAAI,UAAU,GAAG,WAAW,QAAQ;AAClC,UAAK,IAAI,IAAI,YAAY,GAAG,IAAI,IAAI,GAAG,IAAI,UAAU,UAAU,IAAI,UAAU,QAAQ,KAAK,IACxF,KAAI,UAAU,GAAG,WAAW,UAAU,GAAG,OACvC,UAAS;AAGb,YAAO;;AAGX,WAAO;;GAET,SAAS,wBAAwB,WAAW,WAAW;IACrD,IAAI,YAAY,gBAAgB,WAAW,WAAW,wBAAwB;AAC9E,QAAI,cAAc,GAChB,QAAO;AAET,SAAK,IAAI,IAAI,GAAG,IAAI,UAAU,UAAU,IAAI,GAAG,KAAK;AAClD,iBAAY,gBAAgB,WAAW,WAAW,EAAE;AACpD,SAAI,cAAc,IAAI;AACpB,gCAA0B;AAC1B,aAAO;;;AAGX,WAAO;;GAET,SAAS,eAAe,cAAc,aAAa;IACjD,MAAM,WAAW,cAAc,aAAa;AAC5C,QAAI,gBAAgB,uBAClB,QAAO,aAAa,eAAe,aAAa;AAElD,WAAO,aAAa;;GAEtB,SAAS,mBAAmB,WAAW,MAAM;IAE3C,MAAM,iBADa,wBAAwB,CACT,IAAI,KAAK,UAAU;AACrD,QAAI,mBAAmB,OACrB,QAAO;AAET,SAAK,IAAI,IAAI,GAAG,IAAI,eAAe,UAAU,IAAI,UAAU,QAAQ,IACjE,KAAI,eAAe,GAAG,WAAW,UAAU,GAAG,QAAQ;AACpD,SAAI,IAAI,UAAU,SAAS,KAAK,eAAe,UAAU,GAAG,cAAc,KAAK,mBAAmB,CAChG;AAEF,SAAI,IAAI,UAAU,SAAS,KAAK,eAAe,UAAU,GAAG,cAAc,KAAK,mBAAmB,CAChG;AAEF,YAAO;;AAGX,WAAO;;GAET,SAAS,kBAAkB,WAAW,MAAM;IAC1C,MAAM,YAAY,4BAA4B,CAAC,MAAM,KAAK,WAAW;IACrE,MAAM,YAAY,wBAAwB,WAAW,UAAU;IAC/D,MAAM,iBAAiB,mBAAmB,WAAW,KAAK;AAC1D,QAAI,cAAc,MAAM,mBAAmB,MAAM,YAAY,iBAAiB,EAC5E,KAAI,mBAAmB,GACrB,QAAO,CAAC,MAAM,KAAK;QAEnB,QAAO,CAAC,UAAU,iBAAiB,IAAI,KAAK;AAGhD,WAAO,CAAC,UAAU,iBAAiB,IAAI,UAAU,MAAM,gBAAgB,YAAY,EAAE,CAAC;;GAExF,SAAS,cAAc,cAAc;AACnC,QAAI,CAAC,aACH,QAAO;IAET,IAAI,aAAa,aAAa,YAAY,OAAO;AACjD,QAAI,eAAe,GACjB,QAAO,cAAc,aAAa,MAAM,aAAa,GAAe,GAAG,CAAC;AAE1E,iBAAa,aAAa,YAAY,IAAI;AAC1C,QAAI,eAAe,GACjB,cAAa;QAEb,eAAc;AAEhB,QAAI,aAAa,MAAM,WAAW,CAAC,WAAW,YAAY,CACxD,eAAc;AAEhB,QAAI,aAAa,MAAM,WAAW,CAAC,WAAW,gBAAgB,CAC5D,eAAc;AAEhB,QAAI,aAAa,MAAM,YAAY,aAAa,EAAE,KAAK,OAAO;AAC5D,SAAI,aAAa,SAAS,eAAe,EACvC,QAAO;AAET,mBAAc;;AAEhB,WAAO,aAAa,MAAM,WAAW;;GAEvC,SAAS,UAAU,WAAW,aAAa;IACzC,MAAM,eAAe,EAAE;IACvB,IAAI,YAAY;IAChB,IAAI,gBAAgB;IACpB,IAAI,eAAe;IACnB,MAAM,kBAAkB,EAAE;AAC1B,SAAK,IAAI,IAAI,GAAG,IAAI,YAAY,QAAQ,KAAK;KAC3C,MAAM,OAAO,YAAY;KACzB,MAAM,cAAc,kBAAkB,WAAW,KAAK;KACtD,MAAM,iBAAiB,YAAY;KACnC,MAAM,QAAQ,YAAY;KAC1B,IAAI,cAAc,KAAK;AACvB,SAAI,gBAAgB,QAAQ,mBAAmB,KAC7C,eAAc,cAAc,eAAe,aAAa,IAAI,cAAc,KAAK,mBAAmB;AAEpG,SAAI,UAAU,MAAM;MAClB,IAAI,cAAc;AAClB,UAAI,cAAc,MAAM;AACtB,cAAO,cAAc,MAAM,UAAU,cAAc,UAAU,QAAQ;AAGnE,YAFoB,MAAM,MAAM,SAAS,cAAc,GAAG,WACvC,UAAU,UAAU,SAAS,cAAc,GAAG,OAE/D;AAEF;;AAEF,YAAK,IAAI,IAAI,UAAU,SAAS,GAAG,IAAI,aAAa,IAClD,iBAAgB,gBAAgB,KAAK;;AAGzC,WAAK,IAAI,IAAI,MAAM,SAAS,cAAc,GAAG,KAAK,GAAG,KAAK;OACxD,MAAM,WAAW,EAAE;OACnB,MAAM,aAAa,MAAM;OACzB,MAAMC,eAAa;QACjB,IAAI;QACJ,iBAAiB;QACjB,MAAM,cAAc,MAAM,IAAI,GAAG,aAAa;QAC9C,OAAO;QACP,UAAU;QACV,WAAW;QACX,YAAY;SACV,YAAY,WAAW,eAAe,SAAY,OAAO,WAAW;SACpE,cAAc,WAAW,iBAAiB,SAAY,OAAO,WAAW;SACxE,cAAc,WAAW,iBAAiB,SAAY,OAAO,WAAW;SACxE,UAAU,WAAW,aAAa,SAAY,OAAO,WAAW;SACjE;QACF;AACD,qBAAc,KAAKA,aAAW;AAC9B,uBAAgB,KAAK,cAAc;AACnC,uBAAgB;;AAElB,kBAAY;;KAEd,MAAM,EACJ,WACA,cACE;KAIJ,MAAM,aAAa;MACjB,IAJS,cAAc,aAAa,cAAc,mBAAmB,cAAc,gBAAgB,cAAc,aAAa,cAAc,gBAAgB,cAAc,yBAAyB,OAAO;MAK1M,iBAJsB,cAAc,aAAa,cAAc;MAK/D,MAJW,eAAe;MAK1B,OAAO,KAAK;MACZ,UAAU,EAAE;MACD;MACX,YAAY;MACb;KACD,MAAM,aAAa;MACjB,YAAY;MACZ,cAAc;MACd,UAAU;MACV,cAAc;MACf;AACD,SAAI,SAAS,MAAM,UAAU,GAAG;MAC9B,MAAM,aAAa,MAAM;AACzB,iBAAW,aAAa,WAAW,eAAe,SAAY,OAAO,WAAW;AAChF,iBAAW,eAAe,WAAW,iBAAiB,SAAY,OAAO,WAAW;AACpF,iBAAW,WAAW,WAAW,aAAa,SAAY,OAAO,WAAW;AAC5E,iBAAW,eAAe,WAAW,iBAAiB,SAAY,OAAO,WAAW;;AAEtF,gBAAW,aAAa;AACxB,mBAAc,KAAK,WAAW;;AAEhC,uBAAmB,cAAc,KAAK;AACtC,WAAO;;GAET,SAAS,mBAAmB,WAAW,iBAAiB;IACtD,MAAM,uBAAuB,EAAE;AAC/B,SAAK,IAAI,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;KACzC,MAAM,YAAY,UAAU;AAC5B,SAAI,UAAU,SAAS,gBAAgB,UAAU,SAAS,WAAW,GAAG;AACtE,gBAAU,OAAO,GAAG,EAAE;AACtB;AACA,2BAAqB,KAAK,UAAU;WAEpC,oBAAmB,UAAU,UAAU,UAAU;;AAGrD,QAAI,oBAAoB,MACtB;SAAI,qBAAqB,WAAW,EAClC,iBAAgB,QAAQ,qBAAqB,GAAG;cACvC,qBAAqB,SAAS,EACvC,iBAAgB,QAAQ,qBAAqB,KAAK,EAChD,YACI,MAAM;;;GAIlB,SAAS,0BAA0B,OAAO;AACxC,QAAI,UAAU,kBACZ;AAEF,QAAI,iBAAiB,SAAS,MAAM,SAAS,sCAC3C,OAAM;IAER,MAAM,eAAe,IAAI,MAAM,uCAAuC,EACpE,OAAO,OACR,CAAC;AACF,iBAAa,OAAO;AACpB,iBAAa,QAAQ;AACrB,UAAM;;GAER,SAAS,aAAa,gBAAgB,OAAO,mBAAmB;AAC9D,QAAI,qBAAqB,KACvB,qBAAoB;IAEtB,MAAM,qBAAqB,kBAAkB;AAC7C,sBAAkB,IAAI;IACtB,IAAI;IACJ,IAAI;AACJ,QAAI;AACF,0CAAqB,IAAI,OAAO;AAChC,oBAAe,MAAM;aACd,OAAO;AACd,+BAA0B,MAAM;cACxB;AACR,mBAAc;AACd,eAAU,EAAE;AACZ,uBAAkB,IAAI;;AAGxB,WAAO,UADW,uBAAuB,SAAY,EAAE,GAAG,4BAA4B,CAAC,MAAM,mBAAmB,EACpF,YAAY;;GAE1C,SAAS,cAAc,YAAY,OAAO;IACxC,IAAI,UAAU;AACd,WAAO,SAAS;AACd,SAAI,QAAQ,QAAQ,iBAAiB;MACnC,IAAI,UAAU,QAAQ;AACtB,UAAI,QAAQ,aAAa,OACvB,WAAU,QAAQ;AAEpB,UAAI,CAAC,WAAW,IAAI,QAAQ,EAAE;AAC5B,kBAAW,IAAI,SAAS,QAAQ,cAAc;AAC9C,eAAQ,gBAAgB,QAAQ,cAAc;;;AAGlD,eAAU,QAAQ;;;GAGtB,SAAS,gBAAgB,YAAY;AACnC,eAAW,SAAS,OAAO,YAAY,QAAQ,gBAAgB,MAAM;;GAEvE,SAAS,yBAAyB,gBAAgB,OAAO,KAAK,mBAAmB;IAC/E,MAAM,qBAAqB,kBAAkB;IAC7C,IAAI;AACJ,sBAAkB,IAAI;IACtB,IAAI;AACJ,QAAI;AACF,0CAAqB,IAAI,OAAO;AAChC,oBAAe,OAAO,IAAI;aACnB,OAAO;AACd,+BAA0B,MAAM;cACxB;AACR,mBAAc;AACd,eAAU,EAAE;AACZ,uBAAkB,IAAI;;AAGxB,WAAO,UADW,uBAAuB,SAAY,EAAE,GAAG,4BAA4B,CAAC,MAAM,mBAAmB,EACpF,YAAY;;GAE1C,SAAS,oBAAoB,WAAW,WAAW;AACjD,QAAI,aAAa,UAAU,cAAc;KACvC,MAAM,QAAQ,cAAc,EAAE,EAAE,UAAU;KAC1C,MAAM,eAAe,UAAU;AAC/B,UAAK,MAAM,YAAY,aACrB,KAAI,MAAM,cAAc,OACtB,OAAM,YAAY,aAAa;AAGnC,YAAO;;AAET,WAAO;;GAET,SAAS,oBAAoB,OAAO,mBAAmB;AACrD,QAAI,qBAAqB,KACvB,qBAAoB;AAEtB,QAAI,MAAM,QAAQ,qBAAqB,MAAM,QAAQ,uBAAuB,MAAM,QAAQ,WACxF,OAAM,IAAI,MAAM,oEAAoE;AAEtF,4BAAwB;AACxB,kBAAc,MAAM;AACpB,mBAAe;IACf,MAAM,gBAAgB,MAAM,gBAAgB,MAAM,aAAa;IAC/D,MAAM,gBAAgB,gBAAgB,cAAc,aAAa,gBAAgB;AACjF,2BAAuB,MAAM,QAAQ,cAAc,GAAG,gBAAgB;AACtE,2BAAuB;AACvB,QAAI,sBAAsB,KAAK,cAAc,eAAe,EAAE;KAC5D,MAAM,eAAe,aAAa;AAClC,gCAA2B,iBAAiB,OAAO,aAAa,eAAe;eACtE,sBAAsB,KAAK,cAAc,mBAAmB,EAAE;KACvE,MAAM,eAAe,aAAa;AAClC,gCAA2B,iBAAiB,OAAO,aAAa,eAAe;eACtE,sBAAsB,KAAK,cAAc,mBAAmB,EAAE;KACvE,MAAM,eAAe,aAAa;AAClC,gCAA2B,iBAAiB,OAAO,aAAa,eAAe;eACtE,sBAAsB,KAAK,cAAc,sBAAsB,EAAE;KAC1E,MAAM,sBAAsB,aAAa;AACzC,gCAA2B,wBAAwB,OAAO,oBAAoB,QAAQ;UAEtF,OAAM,IAAI,MAAM,iEAAiE;IAEnF,MAAM,OAAO,MAAM;IACnB,IAAI,QAAQ,MAAM;AAClB,QAAI,SAAS,MAAM,YACjB,SAAQ,oBAAoB,MAAM,MAAM;IAE1C,MAAM,6BAAa,IAAI,KAAK;AAC5B,QAAI;AACF,SAAI,6BAA6B,QAAQ,CAAC,sBAAsB,KAAK,0BAA0B,gBAAgB,CAC7G,eAAc,YAAY,MAAM;AAElC,SAAI,MAAM,QAAQ,WAChB,QAAO,yBAAyB,KAAK,QAAQ,OAAO,MAAM,KAAK,kBAAkB;AAEnF,YAAO,aAAa,MAAM,OAAO,kBAAkB;cAC3C;AACR,oBAAe;AACf,mBAAc;AACd,gCAA2B;AAC3B,4BAAuB;AACvB,4BAAuB;AACvB,qBAAgB,WAAW;;;GAS/B,MAAM,yBAAyB;GAC/B,MAAM,gCAAgC;GACtC,MAAM,iBAAiB;GACvB,MAAM,wBAAwB;GAC9B,MAAM,+BAA+B;GACrC,MAAM,sCAAsC;GAM5C,MAAM,qBAAqB;GAC3B,MAAM,4BAA4B;GAIlC,MAAM,qBAAqB;GAC3B,MAAM,cAAc;GACpB,MAAM,qBAAqB;GAG3B,MAAM,kBAAkB;GACxB,MAAM,yBAAyB;GAC/B,MAAM,kBAAkB;GACxB,MAAM,yBAAyB;GAC/B,MAAM,yBAAyB;GAC/B,MAAM,eAAe;GACrB,MAAM,sBAAsB;GAC5B,MAAM,qBAAqB;GAC3B,MAAM,4BAA4B;GAMlC,MAAM,yCAAyC,OAAO,IAAI,4BAA4B;GAMtF,SAAS,GAAG,GAAG,GAAG;AAChB,WAAO,MAAM,MAAM,MAAM,KAAK,IAAI,MAAM,IAAI,MAAM,MAAM,KAAK,MAAM;;GAGxC,MAAM,kBADlB,OAAO,OAAO,OAAO,aAAa,OAAO,KAAK;GAG/D,SAAS,iBAAiB,OAAO;AAE7B,WAAO;;GAsDX,SAAS,cAAc,YAAY,gBAAgB,sBAAsB;IACvE,MAAM,EACJ,eACA,eACA,eACA,eACA,mBACA,uBACA,wCACA,wBACA,4CACA,0BACA,gBACA,yBACA,sBACE;AACJ,YAAQ,eAAe,KAAvB;KACE,KAAK;KACL,KAAK;KACL,KAAK,cACH,QAAO,8BAA8B,eAAe,KAAK;KAC3D,KAAK,cACH,QAAO,8BAA8B,OAAO;KAC9C,KAAK,kBACH,QAAO,8BAA8B,WAAW;KAClD,KAAK,sBACH,QAAO,8BAA8B,eAAe;KACtD,KAAK,wBACH,QAAO,8BAA8B,iBAAiB;KACxD,KAAK,kBACH,QAAO,8BAA8B,WAAW;KAClD,KAAKC;KACL,KAAK;KACL,KAAKC,sBACH,QAAO,+BAA+B,eAAe,MAAM,qBAAqB;KAClF,KAAKC,aACH,QAAO,+BAA+B,eAAe,KAAK,QAAQ,qBAAqB;KACzF,KAAK,eACH,QAAO,4BAA4B,eAAe,MAAM,qBAAqB;KAC/E,QACE,QAAO;;;GAGb,SAAS,4BAA4B,YAAY,gBAAgB,sBAAsB;AACrF,QAAI;KACF,IAAI,OAAO;KACX,IAAI,OAAO;AACX,QAAG;AACD,cAAQ,cAAc,YAAY,MAAM,qBAAqB;MAC7D,MAAM,YAAY,KAAK;AACvB,UAAI,UACF,MAAK,IAAI,IAAI,UAAU,SAAS,GAAG,KAAK,GAAG,KAAK;OAC9C,MAAM,QAAQ,UAAU;AACxB,WAAI,OAAO,MAAM,SAAS,SACxB,SAAQ,uBAAuB,MAAM,MAAM,MAAM,IAAI;;AAI3D,aAAO,KAAK;cACL;AACT,YAAO;aACA,GAAG;AACV,YAAO,+BAA+B,EAAE,UAAU,OAAO,EAAE;;;GAG/D,SAAS,yBAAyB,YAAY,OAAO,sBAAsB;AACzE,QAAI;KACF,MAAM,OAAO,cAAc,YAAY,OAAO,qBAAqB;AACnE,SAAI,SAAS,GACX,QAAO,KAAK,MAAM,EAAE;aAEf,GAAG;AACV,aAAQ,MAAM,EAAE;;AAElB,WAAO;;GAET,SAAS,iDAAiD,OAAO;AAC/D,WAAO,CAAC,CAAC,MAAM;;GAEjB,SAAS,oBAAoB,OAAO;AAClC,WAAO,MAAM,gBAAgB;;GAE/B,SAAS,0BAA0B,YAAY,gBAAgB,sBAAsB;IACnF,MAAM,EACJ,eACA,eACA,UACA,eACA,mBACA,uBACA,yBACA,sBACE;AACJ,QAAI;KACF,IAAI,OAAO;AACX,SAAI,eAAe,QAAQ,SACzB,kBAAiB,eAAe;AAElC,aAAQ,eAAe,KAAvB;MACE,KAAK;MACL,KAAK;MACL,KAAK;AACH,eAAQ,8BAA8B,eAAe,KAAK;AAC1D;MACF,KAAK;AACH,eAAQ,8BAA8B,WAAW;AACjD;MACF,KAAK;AACH,eAAQ,8BAA8B,eAAe;AACrD;MACF,KAAK;AACH,eAAQ,8BAA8B,iBAAiB;AACvD;MACF,KAAK;AACH,eAAQ,8BAA8B,WAAW;AACjD;;KAEJ,IAAI,QAAQ;AACZ,YAAO,MACL,KAAI,OAAO,MAAM,QAAQ,UAAU;MACjC,MAAM,QAAQ;AACd,cAAQ,MAAM;MACd,IAAI,aAAa,MAAM;AACvB,UAAI,SAAS,YAAY;AACvB,WAAI,OAAO,eAAe,SACxB,cAAa,iBAAiB,WAAW;AAE3C,WAAI,eAAe,GACjB,SAAQ,OAAO;;gBAGV,MAAM,cAAc,MAAM;MACnC,MAAM,aAAa,MAAM;AACzB,cAAQ,MAAM;AACd,UAAI,SAAS,WACX,SAAQ,OAAO,iBAAiB,WAAW;WAG7C;AAGJ,YAAO;aACA,GAAG;AACV,YAAO,+BAA+B,EAAE,UAAU,OAAO,EAAE;;;GAK/D,MAAM,4CAA4B,IAAI,KAAK;GAU3C,SAAS,UAAU,MAAM,SAAS,gBAAgB;AAChD,QAAI,QAAQ,KACV;AAEF,QAAI,YAAY,KAAK,CACnB,MAAK,SAAQ,UAAS;AACpB,SAAI,SAAS,KACX;AAEF,SAAI,YAAY,MAAM,CACpB,WAAU,OAAO,SAAS,eAAe;SAEzC,uBAAsB,OAAO,SAAS,eAAe;MAEvD;QAEF,uBAAsB,MAAM,SAAS,eAAe;AAEtD,qBAAiB,OAAO,YAAY,OAAO,QAAQ,eAAe,CAAC,MAAM,CAAC;;GAE5E,SAAS,sBAAsB,OAAO,SAAS,gBAAgB;AAE7D,IADa,OAAO,KAAK,MAAM,CAC1B,SAAQ,QAAO;KAClB,MAAM,QAAQ,MAAM;AACpB,SAAI,OAAO,UAAU,SACnB,KAAI,QAAQ,MACV,SAAQ,IAAI,IAAI;UACX;MACL,MAAM,gBAAgB,6BAA6B,MAAM;AACzD,UAAI,iBAAiB,KACnB,gBAAe,OAAO;;UAGrB;MACL,MAAM,cAAc,EAAE;AACtB,qBAAe,OAAO;AACtB,gBAAU,CAAC,MAAM,EAAE,SAAS,YAAY;;MAE1C;;GAEJ,SAAS,6BAA6B,WAAW;AAC/C,QAAI,0BAA0B,IAAI,UAAU,CAC1C,QAAO,0BAA0B,IAAI,UAAU;AAEjD,SAAK,IAAI,kBAAkB,GAAG,kBAAkB,SAAS,YAAY,QAAQ,mBAAmB;KAC9F,MAAM,aAAa,SAAS,YAAY;KACxC,IAAI,QAAQ;AACZ,SAAI;AACF,cAAQ,WAAW;cACZ,IAAI;AACX;;AAEF,UAAK,IAAI,YAAY,GAAG,YAAY,MAAM,QAAQ,aAAa;AAC7D,UAAI,EAAE,MAAM,sBAAsB,cAChC;MAGF,MAAM,EACJ,SACA,cACA,UAJW,MAAM;AAMnB,UAAI,gBAAgB,MAClB;WAAI,aAAa,WAAW,IAAI,YAAY,EAAE;QAC5C,MAAM,QAAQ,QAAQ,MAAM,iBAAiB;AAC7C,YAAI,UAAU,MAAM;SAClB,MAAM,WAAW,MAAM;SACvB,MAAM,QAAQ,MAAM,iBAAiB,SAAS;AAC9C,mCAA0B,IAAI,WAAW,MAAM;AAC/C,gBAAO;cAEP,QAAO;;;;;AAMjB,WAAO;;GAMT,MAAM,eAAe;IACnB,OAAO;KACL,0BAA0B;KAC1B,uCAAuC;KACvC,mCAAmC;KACnC,2BAA2B;KAC3B,oCAAoC;KACpC,oCAAoC;KACpC,sBAAsB;KACtB,4BAA4B;KAC5B,+BAA+B;KAC/B,8BAA8B;KAC9B,+BAA+B;KAC/B,6BAA6B;KAC7B,mCAAmC;KACnC,mCAAmC;KACnC,kBAAkB;KAClB,2BAA2B;KAC3B,yBAAyB;KACzB,wBAAwB;KACxB,wBAAwB;KACxB,kBAAkB;KAClB,sCAAsC;KACtC,2CAA2C;KAC3C,yCAAyC;KACzC,8CAA8C;KAC9C,6BAA6B;KAC7B,6BAA6B;KAC7B,6BAA6B;KAC7B,6BAA6B;KAC7B,6BAA6B;KAC7B,6BAA6B;KAC7B,6BAA6B;KAC7B,6BAA6B;KAC7B,6BAA6B;KAC7B,6BAA6B;KAC7B,gCAAgC;KAChC,0BAA0B;KAC1B,mCAAmC;KACnC,sCAAsC;KACtC,+CAA+C;KAC/C,iCAAiC;KACjC,0CAA0C;KAC1C,oCAAoC;KACpC,oCAAoC;KACpC,gCAAgC;KAChC,8BAA8B;KAC9B,8BAA8B;KAC9B,sCAAsC;KACtC,sCAAsC;KACtC,kCAAkC;KAClC,gCAAgC;KAChC,gCAAgC;KAChC,8BAA8B;KAC9B,oCAAoC;KACpC,uCAAuC;KACvC,0BAA0B;KAC1B,wBAAwB;KACxB,iCAAiC;KACjC,eAAe;KACf,kBAAkB;KAClB,mBAAmB;KACnB,4BAA4B;KAC5B,wBAAwB;KACxB,sBAAsB;KACtB,kCAAkC;KAClC,mCAAmC;KACnC,4CAA4C;KAC5C,uBAAuB;KACvB,gBAAgB;KAChB,4BAA4B;KAC5B,yCAAyC;KACzC,mCAAmC;KACnC,iCAAiC;KACjC,2CAA2C;KAC3C,qCAAqC;KACrC,yBAAyB;KACzB,wBAAwB;KACxB,2BAA2B;KAC3B,sBAAsB;KACtB,6BAA6B;KAC7B,6BAA6B;KAC7B,0BAA0B;KAC1B,oCAAoC;KACpC,0CAA0C;KAC1C,yCAAyC;KACzC,iCAAiC;KACjC,uCAAuC;KACvC,oCAAoC;KACpC,0CAA0C;KAC1C,sCAAsC;KACtC,4CAA4C;KAC5C,wCAAwC;KACxC,oCAAoC;KACpC,gCAAgC;KAChC,sCAAsC;KACtC,+BAA+B;KAC/B,qCAAqC;KACrC,iCAAiC;KACjC,uCAAuC;KACvC,sCAAsC;KACtC,iCAAiC;KACjC,uCAAuC;KACvC,sCAAsC;KACtC,yCAAyC;KACzC,+CAA+C;KAC/C,8CAA8C;KAC9C,0CAA0C;KAC1C,gDAAgD;KAChD,+CAA+C;KAC/C,mCAAmC;KACnC,yCAAyC;KACzC,4CAA4C;KAC5C,kDAAkD;KAClD,4CAA4C;KAC5C,kDAAkD;KAClD,8CAA8C;KAC9C,oDAAoD;KACpD,iCAAiC;KACjC,uCAAuC;KACvC,+BAA+B;KAC/B,mCAAmC;KACnC,sCAAsC;KACtC,8BAA8B;KAC9B,wBAAwB;KACxB,gCAAgC;KAChC,0CAA0C;KAC1C,4CAA4C;KAC5C,wBAAwB;KACxB,+BAA+B;KAC/B,gBAAgB;KAChB,wBAAwB;KACxB,yBAAyB;KACzB,qCAAqC;KACrC,gCAAgC;KAChC,iCAAiC;KACjC,uBAAuB;KACvB,8BAA8B;KAC9B,oCAAoC;KACpC,8BAA8B;KAC9B,uCAAuC;KACvC,4BAA4B;KAC5B,8BAA8B;KAC9B,2BAA2B;KAC3B,6BAA6B;KAC7B,0BAA0B;KAC1B,4BAA4B;KAC5B,4BAA4B;KAC5B,wBAAwB;KACxB,wBAAwB;KACxB,8BAA8B;KAC9B,wBAAwB;KACxB,iBAAiB;KAClB;IACD,MAAM;KACJ,0BAA0B;KAC1B,uCAAuC;KACvC,mCAAmC;KACnC,2BAA2B;KAC3B,oCAAoC;KACpC,oCAAoC;KACpC,sBAAsB;KACtB,4BAA4B;KAC5B,+BAA+B;KAC/B,8BAA8B;KAC9B,+BAA+B;KAC/B,6BAA6B;KAC7B,mCAAmC;KACnC,mCAAmC;KACnC,kBAAkB;KAClB,yBAAyB;KACzB,2BAA2B;KAC3B,wBAAwB;KACxB,wBAAwB;KACxB,kBAAkB;KAClB,sCAAsC;KACtC,2CAA2C;KAC3C,yCAAyC;KACzC,8CAA8C;KAC9C,6BAA6B;KAC7B,6BAA6B;KAC7B,6BAA6B;KAC7B,6BAA6B;KAC7B,6BAA6B;KAC7B,6BAA6B;KAC7B,6BAA6B;KAC7B,6BAA6B;KAC7B,6BAA6B;KAC7B,6BAA6B;KAC7B,gCAAgC;KAChC,0BAA0B;KAC1B,mCAAmC;KACnC,sCAAsC;KACtC,+CAA+C;KAC/C,iCAAiC;KACjC,0CAA0C;KAC1C,oCAAoC;KACpC,oCAAoC;KACpC,gCAAgC;KAChC,8BAA8B;KAC9B,8BAA8B;KAC9B,sCAAsC;KACtC,sCAAsC;KACtC,kCAAkC;KAClC,gCAAgC;KAChC,gCAAgC;KAChC,8BAA8B;KAC9B,oCAAoC;KACpC,uCAAuC;KACvC,0BAA0B;KAC1B,wBAAwB;KACxB,iCAAiC;KACjC,eAAe;KACf,kBAAkB;KAClB,mBAAmB;KACnB,4BAA4B;KAC5B,wBAAwB;KACxB,sBAAsB;KACtB,kCAAkC;KAClC,mCAAmC;KACnC,4CAA4C;KAC5C,uBAAuB;KACvB,gBAAgB;KAChB,4BAA4B;KAC5B,yCAAyC;KACzC,mCAAmC;KACnC,iCAAiC;KACjC,2CAA2C;KAC3C,qCAAqC;KACrC,yBAAyB;KACzB,wBAAwB;KACxB,2BAA2B;KAC3B,sBAAsB;KACtB,6BAA6B;KAC7B,6BAA6B;KAC7B,0BAA0B;KAC1B,oCAAoC;KACpC,0CAA0C;KAC1C,yCAAyC;KACzC,iCAAiC;KACjC,uCAAuC;KACvC,oCAAoC;KACpC,0CAA0C;KAC1C,sCAAsC;KACtC,4CAA4C;KAC5C,wCAAwC;KACxC,oCAAoC;KACpC,gCAAgC;KAChC,sCAAsC;KACtC,+BAA+B;KAC/B,qCAAqC;KACrC,iCAAiC;KACjC,uCAAuC;KACvC,sCAAsC;KACtC,iCAAiC;KACjC,uCAAuC;KACvC,sCAAsC;KACtC,yCAAyC;KACzC,+CAA+C;KAC/C,8CAA8C;KAC9C,0CAA0C;KAC1C,gDAAgD;KAChD,+CAA+C;KAC/C,mCAAmC;KACnC,yCAAyC;KACzC,4CAA4C;KAC5C,kDAAkD;KAClD,4CAA4C;KAC5C,kDAAkD;KAClD,8CAA8C;KAC9C,oDAAoD;KACpD,iCAAiC;KACjC,uCAAuC;KACvC,+BAA+B;KAC/B,mCAAmC;KACnC,sCAAsC;KACtC,8BAA8B;KAC9B,wBAAwB;KACxB,gCAAgC;KAChC,0CAA0C;KAC1C,4CAA4C;KAC5C,wBAAwB;KACxB,kBAAkB;KAClB,+BAA+B;KAC/B,gBAAgB;KAChB,wBAAwB;KACxB,yBAAyB;KACzB,qCAAqC;KACrC,gCAAgC;KAChC,iCAAiC;KACjC,uBAAuB;KACvB,8BAA8B;KAC9B,oCAAoC;KACpC,8BAA8B;KAC9B,uCAAuC;KACvC,4BAA4B;KAC5B,8BAA8B;KAC9B,2BAA2B;KAC3B,6BAA6B;KAC7B,0BAA0B;KAC1B,4BAA4B;KAC5B,4BAA4B;KAC5B,wBAAwB;KACxB,wBAAwB;KACxB,8BAA8B;KAC9B,wBAAwB;KACxB,iBAAiB;KAClB;IACD,SAAS;KACP,+BAA+B;KAC/B,gCAAgC;KAChC,+BAA+B;KAC/B,0BAA0B;KAC1B,2BAA2B;KAC3B,0BAA0B;KAC1B,sBAAsB;KACvB;IACD,aAAa;KACX,+BAA+B;KAC/B,gCAAgC;KAChC,+BAA+B;KAC/B,0BAA0B;KAC1B,2BAA2B;KAC3B,0BAA0B;KAC1B,sBAAsB;KACvB;IACF;AAC+B,YAAS,aAAa,YAAY,uBAAuB,GAAG;AAChE,YAAS,aAAa,QAAQ,uBAAuB,GAAG;GAIpF,MAAM,wBAAwB;GAC9B,MAAM,8BAA8B;GAMpC,MAAM,cAAc;GACpB,IAAI,oBAAoB;GACxB,IAAI,qBAAqB,OAAO,gBAAgB,eAAe,OAAO,YAAY,SAAS,cAAc,OAAO,YAAY,eAAe;GAC3I,IAAI,uBAAuB;AAC3B,OAAI,oBAAoB;IACtB,MAAM,gBAAgB;IACtB,MAAM,cAAc,EAAE;AACtB,WAAO,eAAe,aAAa,aAAa;KAC9C,KAAK,WAAY;AACf,6BAAuB;AACvB,aAAO;;KAET,KAAK,WAAY;KAClB,CAAC;AACF,QAAI;AACF,iBAAY,KAAK,eAAe,YAAY;aACrC,OAAO,WAAW;AACzB,iBAAY,WAAW,cAAc;;;AAGzC,OAAI,qBACF,qBAAoB;GAEtB,MAAM,gCAAgC,OAAO,gBAAgB,YAAY,OAAO,YAAY,QAAQ,mBAAmB,YAAY,KAAK,SAAS,KAAK,KAAK;GAM3J,SAAS,qBAAqB,EAC5B,wBACA,gBACA,iBACA,YACA,sBACA,gBACC;IACD,IAAI,kBAAkB;IACtB,IAAI,+BAA+B;IACnC,IAAI,4BAA4B,EAAE;IAClC,IAAI,sBAAsB;IAC1B,IAAI,qCAAqB,IAAI,KAAK;IAClC,IAAI,cAAc;IAClB,IAAI,gCAAgC;IACpC,SAAS,kBAAkB;KACzB,MAAM,cAAc,+BAA+B;AACnD,SAAI,qBAAqB;AACvB,UAAI,oBAAoB,cAAc,EACpC,qBAAoB,YAAY,cAAc;AAEhD,aAAO,cAAc,oBAAoB;;AAE3C,YAAO;;IAET,SAAS,0BAA0B;AACjC,SAAI,OAAO,mCAAmC,eAAe,OAAO,+BAA+B,4BAA4B,YAAY;MACzI,MAAM,SAAS,+BAA+B,yBAAyB;AACvE,UAAI,eAAe,OAAO,CACxB,QAAO;;AAGX,YAAO;;IAET,SAAS,kBAAkB;AACzB,YAAO;;IAET,SAAS,iBAAiB,OAAO;KAC/B,MAAM,aAAa,EAAE;KACrB,IAAI,OAAO;AACX,UAAK,IAAI,QAAQ,GAAG,QAAQ,uBAAuB,SAAS;AAC1D,UAAI,OAAO,MACT,YAAW,KAAK,KAAK;AAEvB,cAAQ;;AAEV,YAAO;;IAET,MAAM,iBAAiB,OAAO,oBAAoB,aAAa,iBAAiB,GAAG;IACnF,SAAS,eAAe;AACtB,kBAAa,mBAAmB,eAAe;AAC/C,kBAAa,sBAAsB,8BAA8B;KACjE,MAAM,SAAS,yBAAyB;AACxC,SAAI,OACF,MAAK,IAAI,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;MACtC,MAAM,QAAQ,OAAO;AACrB,UAAI,eAAe,MAAM,IAAI,MAAM,WAAW,GAAG;OAC/C,MAAM,CAAC,iBAAiB,kBAAkB,OAAO;AACjD,oBAAa,iCAAiC,kBAAkB;AAChE,oBAAa,gCAAgC,iBAAiB;;;AAIpE,SAAI,kBAAkB,KAEpB,cAAa,uBADE,MAAM,KAAK,eAAe,QAAQ,CAAC,CAAC,KAAK,IAAI,GACf;;IAGjD,SAAS,aAAa,UAAU;AAC9B,uBAAkB,KAAK,SAAS;AAChC,uBAAkB,WAAW,SAAS;;IAExC,SAAS,0BAA0B,MAAM,OAAO;KAC9C,IAAI,QAAQ;AACZ,SAAI,0BAA0B,SAAS,GAAG;MACxC,MAAM,MAAM,0BAA0B,0BAA0B,SAAS;AACzE,cAAQ,IAAI,SAAS,gBAAgB,IAAI,QAAQ,IAAI,QAAQ;;KAE/D,MAAM,aAAa,iBAAiB,MAAM;KAC1C,MAAM,eAAe;MACnB;MACA,UAAU;MACV;MACA,OAAO;MACP,WAAW,iBAAiB;MAC5B,UAAU;MACX;AACD,+BAA0B,KAAK,aAAa;AAC5C,SAAI,qBAAqB;MACvB,MAAM,EACJ,uBACA,0BACE;MACJ,IAAI,gBAAgB,sBAAsB,IAAI,gBAAgB;AAC9D,UAAI,iBAAiB,KACnB,eAAc,KAAK,aAAa;UAEhC,uBAAsB,IAAI,iBAAiB,CAAC,aAAa,CAAC;AAE5D,iBAAW,SAAQ,SAAQ;AACzB,uBAAgB,sBAAsB,IAAI,KAAK;AAC/C,WAAI,cACF,eAAc,KAAK,aAAa;QAElC;;;IAGN,SAAS,4BAA4B,MAAM;KACzC,MAAM,cAAc,iBAAiB;AACrC,SAAI,0BAA0B,WAAW,GAAG;AAC1C,cAAQ,MAAM,sFAAoF,MAAM,YAAY;AACpH;;KAEF,MAAM,MAAM,0BAA0B,KAAK;AAC3C,SAAI,IAAI,SAAS,KACf,SAAQ,MAAM,qEAAiE,MAAM,aAAa,IAAI,KAAK;AAE7G,SAAI,WAAW,cAAc,IAAI;AACjC,SAAI,oBACF,qBAAoB,WAAW,iBAAiB,GAAG;;IAGvD,SAAS,kBAAkB,OAAO;AAChC,SAAI,CAAC,YACH;AAEF,+BAA0B,UAAU,MAAM;AAC1C,qCAAgC;AAChC,SAAI,sBAAsB;AACxB,mBAAa,kBAAkB,QAAQ;AACvC,oBAAc;;;IAGlB,SAAS,oBAAoB;AAC3B,SAAI,CAAC,YACH;AAEF,iCAA4B,SAAS;AACrC,iCAA4B,cAAc;AAC1C,SAAI,qBACF,cAAa,gBAAgB;;IAGjC,SAAS,2BAA2B,OAAO;AACzC,SAAI,CAAC,YACH;KAEF,MAAM,gBAAgB,uBAAuB,MAAM,IAAI;AACvD,oCAA+B;MAC7B;MACA,UAAU;MACV,WAAW,iBAAiB;MAC5B,MAAM;MACN,SAAS;MACV;AACD,SAAI,qBACF,cAAa,4BAA4B,gBAAgB;;IAG7D,SAAS,6BAA6B;AACpC,SAAI,CAAC,YACH;AAEF,SAAI,8BAA8B;AAChC,UAAI,oBACF,qBAAoB,kBAAkB,KAAK,6BAA6B;AAE1E,mCAA6B,WAAW,iBAAiB,GAAG,6BAA6B;AACzF,qCAA+B;;AAEjC,SAAI,qBACF,cAAa,0BAA0B;;IAG3C,SAAS,sCAAsC,OAAO;AACpD,SAAI,CAAC,YACH;KAEF,MAAM,gBAAgB,uBAAuB,MAAM,IAAI;AACvD,oCAA+B;MAC7B;MACA,UAAU;MACV,WAAW,iBAAiB;MAC5B,MAAM;MACN,SAAS;MACV;AACD,SAAI,qBACF,cAAa,yCAAyC,gBAAgB;;IAG1E,SAAS,wCAAwC;AAC/C,SAAI,CAAC,YACH;AAEF,SAAI,8BAA8B;AAChC,UAAI,oBACF,qBAAoB,kBAAkB,KAAK,6BAA6B;AAE1E,mCAA6B,WAAW,iBAAiB,GAAG,6BAA6B;AACzF,qCAA+B;;AAEjC,SAAI,qBACF,cAAa,uCAAuC;;IAGxD,SAAS,wCAAwC,OAAO;AACtD,SAAI,CAAC,YACH;KAEF,MAAM,gBAAgB,uBAAuB,MAAM,IAAI;AACvD,oCAA+B;MAC7B;MACA,UAAU;MACV,WAAW,iBAAiB;MAC5B,MAAM;MACN,SAAS;MACV;AACD,SAAI,qBACF,cAAa,2CAA2C,gBAAgB;;IAG5E,SAAS,0CAA0C;AACjD,SAAI,CAAC,YACH;AAEF,SAAI,8BAA8B;AAChC,UAAI,oBACF,qBAAoB,kBAAkB,KAAK,6BAA6B;AAE1E,mCAA6B,WAAW,iBAAiB,GAAG,6BAA6B;AACzF,qCAA+B;;AAEjC,SAAI,qBACF,cAAa,yCAAyC;;IAG1D,SAAS,uCAAuC,OAAO;AACrD,SAAI,CAAC,YACH;KAEF,MAAM,gBAAgB,uBAAuB,MAAM,IAAI;AACvD,oCAA+B;MAC7B;MACA,UAAU;MACV,WAAW,iBAAiB;MAC5B,MAAM;MACN,SAAS;MACV;AACD,SAAI,qBACF,cAAa,0CAA0C,gBAAgB;;IAG3E,SAAS,yCAAyC;AAChD,SAAI,CAAC,YACH;AAEF,SAAI,8BAA8B;AAChC,UAAI,oBACF,qBAAoB,kBAAkB,KAAK,6BAA6B;AAE1E,mCAA6B,WAAW,iBAAiB,GAAG,6BAA6B;AACzF,qCAA+B;;AAEjC,SAAI,qBACF,cAAa,wCAAwC;;IAGzD,SAAS,yCAAyC,OAAO;AACvD,SAAI,CAAC,YACH;KAEF,MAAM,gBAAgB,uBAAuB,MAAM,IAAI;AACvD,oCAA+B;MAC7B;MACA,UAAU;MACV,WAAW,iBAAiB;MAC5B,MAAM;MACN,SAAS;MACV;AACD,SAAI,qBACF,cAAa,4CAA4C,gBAAgB;;IAG7E,SAAS,2CAA2C;AAClD,SAAI,CAAC,YACH;AAEF,SAAI,8BAA8B;AAChC,UAAI,oBACF,qBAAoB,kBAAkB,KAAK,6BAA6B;AAE1E,mCAA6B,WAAW,iBAAiB,GAAG,6BAA6B;AACzF,qCAA+B;;AAEjC,SAAI,qBACF,cAAa,0CAA0C;;IAG3D,SAAS,qBAAqB,OAAO,aAAa,OAAO;AACvD,SAAI,CAAC,YACH;KAEF,MAAM,gBAAgB,uBAAuB,MAAM,IAAI;KACvD,MAAM,QAAQ,MAAM,cAAc,OAAO,UAAU;KACnD,IAAI,UAAU;AACd,SAAI,gBAAgB,QAAQ,OAAO,gBAAgB,YAAY,OAAO,YAAY,YAAY,SAC5F,WAAU,YAAY;cACb,OAAO,gBAAgB,SAChC,WAAU;AAEZ,SAAI,oBACF,qBAAoB,aAAa,KAAK;MACpC;MACA;MACA;MACA,WAAW,iBAAiB;MAC5B,MAAM;MACP,CAAC;AAEJ,SAAI,qBACF,cAAa,WAAW,cAAc,GAAG,MAAM,GAAG,UAAU;;IAIhE,MAAM,cAAc,KADI,OAAO,YAAY,aAAa,UAAU,MACzB;IACzC,IAAI,aAAa;IACjB,SAAS,cAAc,UAAU;AAC/B,SAAI,CAAC,YAAY,IAAI,SAAS,CAC5B,aAAY,IAAI,UAAU,aAAa;AAEzC,YAAO,YAAY,IAAI,SAAS;;IAElC,SAAS,uBAAuB,OAAO,UAAU,OAAO;AACtD,SAAI,CAAC,YACH;KAEF,MAAM,YAAY,YAAY,IAAI,SAAS,GAAG,cAAc;KAC5D,MAAM,KAAK,cAAc,SAAS;KAClC,MAAM,gBAAgB,uBAAuB,MAAM,IAAI;KACvD,MAAM,QAAQ,MAAM,cAAc,OAAO,UAAU;KACnD,MAAM,cAAc,SAAS,eAAe;KAC5C,IAAI,gBAAgB;AACpB,qBAAgB;MACd;MACA,OAAO;MACP,UAAU;MACV,IAAI,GAAG;MACP;MACA,aAAa;MACb,YAAY;MACZ,WAAW,iBAAiB;MAC5B,MAAM;MACN,SAAS;MACV;AACD,SAAI,oBACF,qBAAoB,eAAe,KAAK,cAAc;AAExD,SAAI,sBAAsB;AACxB,mBAAa,cAAc,UAAU,GAAG,GAAG,GAAG,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,cAAc;AAC/F,eAAS,WAAW;AAClB,WAAI,eAAe;AACjB,sBAAc,WAAW,iBAAiB,GAAG,cAAc;AAC3D,sBAAc,aAAa;;AAE7B,WAAI,qBACF,cAAa,uBAAuB,GAAG,GAAG,gBAAgB;eAErD;AACP,WAAI,eAAe;AACjB,sBAAc,WAAW,iBAAiB,GAAG,cAAc;AAC3D,sBAAc,aAAa;;AAE7B,WAAI,qBACF,cAAa,uBAAuB,GAAG,GAAG,gBAAgB;QAE5D;;;IAGN,SAAS,yBAAyB,OAAO;AACvC,SAAI,CAAC,YACH;AAEF,+BAA0B,kBAAkB,MAAM;AAClD,SAAI,qBACF,cAAa,0BAA0B,QAAQ;;IAGnD,SAAS,2BAA2B;AAClC,SAAI,CAAC,YACH;AAEF,iCAA4B,iBAAiB;AAC7C,SAAI,qBACF,cAAa,wBAAwB;;IAGzC,SAAS,0BAA0B,OAAO;AACxC,SAAI,CAAC,YACH;AAEF,+BAA0B,mBAAmB,MAAM;AACnD,SAAI,qBACF,cAAa,2BAA2B,QAAQ;;IAGpD,SAAS,4BAA4B;AACnC,SAAI,CAAC,YACH;AAEF,iCAA4B,kBAAkB;AAC9C,SAAI,qBACF,cAAa,yBAAyB;;IAG1C,SAAS,kBAAkB,OAAO;AAChC,SAAI,CAAC,YACH;AAEF,SAAI,+BAA+B;AACjC,sCAAgC;AAChC;;AAEF,SAAI,0BAA0B,WAAW,KAAK,0BAA0B,0BAA0B,SAAS,GAAG,SAAS,cACrH,2BAA0B,eAAe,MAAM;AAEjD,+BAA0B,UAAU,MAAM;AAC1C,SAAI,qBACF,cAAa,kBAAkB,QAAQ;;IAG3C,SAAS,oBAAoB;AAC3B,SAAI,CAAC,YACH;AAEF,iCAA4B,SAAS;AACrC,SAAI,qBACF,cAAa,iBAAiB;;IAGlC,SAAS,oBAAoB;AAC3B,SAAI,CAAC,YACH;AAEF,iCAA4B,SAAS;AACrC,SAAI,qBACF,cAAa,gBAAgB;;IAGjC,SAAS,oBAAoB,MAAM;AACjC,SAAI,CAAC,YACH;AAEF,SAAI,oBACF,qBAAoB,iBAAiB,KAAK;MACxC,OAAO,iBAAiB,KAAK;MAC7B,WAAW,iBAAiB;MAC5B,MAAM;MACN,SAAS;MACV,CAAC;AAEJ,SAAI,qBACF,cAAa,qBAAqB,OAAO;;IAG7C,SAAS,yBAAyB,OAAO,MAAM;AAC7C,SAAI,CAAC,YACH;KAEF,MAAM,gBAAgB,uBAAuB,MAAM,IAAI;AACvD,SAAI,oBACF,qBAAoB,iBAAiB,KAAK;MACxC;MACA,OAAO,iBAAiB,KAAK;MAC7B,WAAW,iBAAiB;MAC5B,MAAM;MACN,SAAS;MACV,CAAC;AAEJ,SAAI,qBACF,cAAa,4BAA4B,KAAK,GAAG,gBAAgB;;IAGrE,SAAS,gBAAgB,OAAO;KAC9B,MAAM,UAAU,EAAE;KAClB,IAAI,SAAS;AACb,YAAO,WAAW,MAAM;AACtB,cAAQ,KAAK,OAAO;AACpB,eAAS,OAAO;;AAElB,YAAO;;IAET,SAAS,yBAAyB,OAAO,MAAM;AAC7C,SAAI,CAAC,YACH;KAEF,MAAM,gBAAgB,uBAAuB,MAAM,IAAI;AACvD,SAAI,qBAAqB;MACvB,MAAM,QAAQ;OACZ;OACA,OAAO,iBAAiB,KAAK;OAC7B,WAAW,iBAAiB;OAC5B,MAAM;OACN,SAAS;OACV;AACD,yBAAmB,IAAI,OAAO,gBAAgB,MAAM,CAAC;AACrD,0BAAoB,iBAAiB,KAAK,MAAM;;AAElD,SAAI,qBACF,cAAa,2BAA2B,KAAK,GAAG,gBAAgB;;IAGpE,SAAS,sBAAsB,OAAO,iBAAiB,OAAO;AAC5D,SAAI,gBAAgB,OAAO;AACzB,oBAAc;AACd,UAAI,aAAa;OACf,MAAM,+CAA+B,IAAI,KAAK;AAC9C,WAAI,sBAAsB;QACxB,MAAM,SAAS,yBAAyB;AACxC,YAAI,OACF,MAAK,IAAI,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;SACtC,MAAM,QAAQ,OAAO;AACrB,aAAI,eAAe,MAAM,IAAI,MAAM,WAAW,GAAG;UAC/C,MAAM,CAAC,iBAAiB,kBAAkB,OAAO;AACjD,uBAAa,iCAAiC,kBAAkB;AAChE,uBAAa,gCAAgC,iBAAiB;;;;OAKtE,MAAM,wCAAwB,IAAI,KAAK;OACvC,IAAI,OAAO;AACX,YAAK,IAAI,QAAQ,GAAG,QAAQ,uBAAuB,SAAS;AAC1D,8BAAsB,IAAI,MAAM,EAAE,CAAC;AACnC,gBAAQ;;AAEV,yBAAkB;AAClB,sCAA+B;AAC/B,mCAA4B,EAAE;AAC9B,4CAAqB,IAAI,KAAK;AAC9B,WAAI,eACF,uBAAsB;QACpB;QACA,gBAAgB,kCAAkB,IAAI,KAAK;QAC3C;QACA,mBAAmB,EAAE;QACrB,kBAAkB,EAAE;QACpB,gBAAgB,EAAE;QAClB,cAAc,EAAE;QAChB,uCAAuB,IAAI,KAAK;QAChC,UAAU;QACV;QACA,WAAW;QACX,YAAY,EAAE;QACd,cAAc,EAAE;QAChB,iBAAiB,EAAE;QACnB,sBAAsB,EAAE;QACxB,WAAW,EAAE;QACb,gBAAgB;QACjB;AAEH,uCAAgC;aAC3B;AACL,WAAI,wBAAwB,KAC1B,qBAAoB,iBAAiB,SAAQ,UAAS;AACpD,YAAI,MAAM,SAAS,yBAAyB;SAC1C,MAAM,aAAa,mBAAmB,IAAI,MAAM;AAChD,aAAI,cAAc,wBAAwB,KACxC,OAAM,iBAAiB,WAAW,QAAQ,OAAO,UAAU;AACzD,iBAAO,QAAQ,cAAc,YAAY,OAAO,qBAAqB;YACpE,GAAG;;SAGV;AAEJ,0BAAmB,OAAO;;;;AAIhC,WAAO;KACL;KACA,gBAAgB;MACd;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACD;KACD;KACD;;GAiBH,MAAM,oBAAoB,OAAO,UAAU;GAC3C,SAAS,iBAAiB,QAAQ;AAChC,WAAO,kBAAkB,KAAK,OAAO,KAAK;;GAM5C,MAAM,iBAAiB;GACvB,MAAM,mBAAmB;GACzB,MAAM,0BAA0B;GAChC,SAAS,oBAAoB,OAAO;AAClC,WAAO;KACL,MAAM;KACN,IAAI,QAAQ;KACZ,QAAQ;KACR,YAAY;KACZ,aAAa;KACb,QAAQ;KACR,UAAU;KACV,kBAAkB;KAClB,aAAa;KACb,cAAc;KACd,MAAM;KACP;;GAEH,SAAS,4BAA4B,OAAO;AAC1C,WAAO;KACL,MAAM;KACN,IAAI;KACJ,QAAQ;KACR,YAAY;KACZ,aAAa;KACb,QAAQ;KACR,UAAU;KACV,kBAAkB;KAClB,aAAa;KACb,cAAc;KACd,MAAM;KACP;;GAEH,SAAS,sBAAsB,YAAY;AACzC,WAAO;KACL,MAAM;KACN,IAAI,QAAQ;KACZ,QAAQ;KACR,YAAY;KACZ,aAAa;KACb,QAAQ;KACR,UAAU;KACV,kBAAkB;KAClB,aAAa;KACb,cAAc;KACd,MAAM;KACP;;GAEH,MAAM,WAAW;GACjB,MAAM,sBAAsB;GAC5B,MAAM,8BAA8B;GACpC,MAAM,oCAAoC;GAC1C,SAAS,mBAAmB,UAAU;AACpC,WAAO,SAAS,eAAe;KACnB;KACV,QAAQ;KACR,YAAY;KACZ,aAAa;KACb,OAAO;KACP,6BAAa,IAAI,KAAK;KACtB,8BAAc,IAAI,KAAK;KACvB,qBAAqB;KACrB,sBAAsB;KACvB;;GAEH,SAAS,iBAAiB,UAAU;AAClC,QAAI,SAAS,yBAAyB,OACpC;IAEF,MAAM,cAAc,SAAS;AAC7B,QAAI,OAAO,YAAY,MAAM,eAAe,OAAO,YAAY,YAAY,YACzE,QAAO;KACL,IAAI,IAAI;AACN,aAAO,YAAY;;KAErB,IAAI,EAAE,OAAO;AACX,kBAAY,UAAU;;KAEzB;AAEH,WAAO;;GAET,SAAS,cAAc,OAAO;AAC5B,WAAO,MAAM,UAAU,SAAY,MAAM,QAAQ,MAAM;;GAEzD,MAAM,0BAA0B,OAAO,gBAAgB,YAAY,OAAO,YAAY,QAAQ,mBAAmB,YAAY,KAAK,SAAS,KAAK,KAAK;GACrJ,SAAS,0BAA0B,SAAS;IAC1C,IAAI,sBAAsB;KACxB,mBAAmB;KACnB,sBAAsB;KACtB,gBAAgB;KAChB,aAAa;KACb,cAAc;KACd,YAAY;KACb;AACD,QAAI,GAAG,SAAS,SAAS,CACvB,uBAAsB;KACpB,mBAAmB;KACnB,sBAAsB;KACtB,gBAAgB;KAChB,aAAa;KACb,cAAc;KACd,YAAY;KACb;IAEH,IAAI,iBAAiB;AACrB,QAAI,IAAI,SAAS,eAAe,CAC9B,kBAAiB;aACR,IAAI,SAAS,SAAS,CAC/B,kBAAiB;aACR,IAAI,SAAS,SAAS,CAC/B,kBAAiB;IAEnB,MAAM,sBAAsB;IAC5B,IAAI,kBAAkB;AACtB,QAAI,GAAG,SAAS,SAAS,CACvB,mBAAkB;KAChB,gBAAgB;KAChB,gBAAgB;KAChB,iBAAiB;KACjB,iBAAiB;KACjB,oBAAoB;KACpB,uBAAuB;KACvB,6BAA6B;KAC7B,YAAY;KACZ,UAAU;KACV,mBAAmB;KACnB,eAAe;KACf,YAAY;KACZ,UAAU;KACV,eAAe;KACf,eAAe;KACf,UAAU;KACV,0BAA0B;KAC1B,6BAA6B;KAC7B,wBAAwB;KACxB,eAAe;KACf,uBAAuB;KACvB,eAAe;KACf,MAAM;KACN,oBAAoB;KACpB,UAAU;KACV,gBAAgB;KAChB,qBAAqB;KACrB,mBAAmB;KACnB,uBAAuB;KACvB,wBAAwB;KACxB,gBAAgB;KAChB,OAAO;KACP,yBAAyB;KACzB,mBAAmB;KACpB;aACQ,IAAI,SAAS,eAAe,CACrC,mBAAkB;KAChB,gBAAgB;KAChB,gBAAgB;KAChB,iBAAiB;KACjB,iBAAiB;KACjB,oBAAoB;KACpB,uBAAuB;KACvB,6BAA6B;KAC7B,YAAY;KACZ,UAAU;KACV,mBAAmB;KACnB,eAAe;KACf,YAAY;KACZ,UAAU;KACV,eAAe;KACf,eAAe;KACf,UAAU;KACV,0BAA0B;KAC1B,6BAA6B;KAC7B,wBAAwB;KACxB,eAAe;KACf,uBAAuB;KACvB,eAAe;KACf,MAAM;KACN,oBAAoB;KACpB,UAAU;KACV,gBAAgB;KAChB,qBAAqB;KACrB,mBAAmB;KACnB,uBAAuB;KACvB,wBAAwB;KACxB,gBAAgB;KAChB,OAAO;KACP,yBAAyB;KACzB,mBAAmB;KACpB;aACQ,IAAI,SAAS,gBAAgB,CACtC,mBAAkB;KAChB,gBAAgB;KAChB,gBAAgB;KAChB,iBAAiB;KACjB,iBAAiB;KACjB,oBAAoB;KACpB,uBAAuB;KACvB,6BAA6B;KAC7B,YAAY;KACZ,UAAU;KACV,mBAAmB;KACnB,eAAe;KACf,YAAY;KACZ,UAAU;KACV,eAAe;KACf,eAAe;KACf,UAAU;KACV,0BAA0B;KAC1B,6BAA6B;KAC7B,wBAAwB;KACxB,eAAe;KACf,uBAAuB;KACvB,eAAe;KACf,MAAM;KACN,oBAAoB;KACpB,UAAU;KACV,gBAAgB;KAChB,qBAAqB;KACrB,mBAAmB;KACnB,uBAAuB;KACvB,wBAAwB;KACxB,gBAAgB;KAChB,OAAO;KACP,yBAAyB;KACzB,mBAAmB;KACpB;aACQ,IAAI,SAAS,eAAe,CACrC,mBAAkB;KAChB,gBAAgB;KAChB,gBAAgB;KAChB,iBAAiB;KACjB,iBAAiB;KACjB,oBAAoB;KACpB,uBAAuB;KACvB,6BAA6B;KAC7B,YAAY;KACZ,UAAU;KACV,mBAAmB;KACnB,eAAe;KACf,YAAY;KACZ,UAAU;KACV,eAAe;KACf,eAAe;KACf,UAAU;KACV,0BAA0B;KAC1B,6BAA6B;KAC7B,wBAAwB;KACxB,eAAe;KACf,uBAAuB;KACvB,eAAe;KACf,MAAM;KACN,oBAAoB;KACpB,UAAU;KACV,gBAAgB;KAChB,qBAAqB;KACrB,mBAAmB;KACnB,uBAAuB;KACvB,wBAAwB;KACxB,gBAAgB;KAChB,OAAO;KACP,yBAAyB;KACzB,mBAAmB;KACpB;QAED,mBAAkB;KAChB,gBAAgB;KAChB,gBAAgB;KAChB,iBAAiB;KACjB,iBAAiB;KACjB,oBAAoB;KACpB,uBAAuB;KACvB,6BAA6B;KAC7B,YAAY;KACZ,UAAU;KACV,mBAAmB;KACnB,eAAe;KACf,YAAY;KACZ,UAAU;KACV,eAAe;KACf,eAAe;KACf,UAAU;KACV,0BAA0B;KAC1B,6BAA6B;KAC7B,wBAAwB;KACxB,eAAe;KACf,uBAAuB;KACvB,eAAe;KACf,MAAM;KACN,oBAAoB;KACpB,UAAU;KACV,gBAAgB;KAChB,qBAAqB;KACrB,mBAAmB;KACnB,uBAAuB;KACvB,wBAAwB;KACxB,gBAAgB;KAChB,OAAO;KACP,yBAAyB;KACzB,mBAAmB;KACpB;IAEH,SAAS,cAAc,MAAM;KAC3B,MAAM,iBAAiB,OAAO,SAAS,YAAY,SAAS,OAAO,KAAK,WAAW;AACnF,YAAO,OAAO,mBAAmB,WAAW,eAAe,UAAU,GAAG;;IAE1E,MAAM,EACJ,gBACA,gBACA,0BACA,6BACA,wCACA,wBACA,0BACA,UACA,eACA,eACA,eACA,YACA,UACA,UACA,eACA,uBACA,eACA,oBACA,UACA,gBACA,4CACA,mBACA,uBACA,wBACA,OACA,yBACA,sBACE;IACJ,SAAS,iBAAiB,MAAM;AAE9B,aADmB,cAAc,KAAK,EACtC;MACE,KAAK;MACL,KAAK,mBACH,QAAO,iBAAiB,KAAK,KAAK;MACpC,KAAK;MACL,KAAK,0BACH,QAAO,KAAK;MACd,QACE,QAAO;;;IAGb,SAAS,uBAAuB,OAAO,wBAAwB,OAAO;;KACpE,MAAM,EACJ,aACA,MACA,QACE;KACJ,IAAI,eAAe;AACnB,SAAI,OAAO,SAAS,YAAY,SAAS,KACvC,gBAAe,iBAAiB,KAAK;KAEvC,IAAI,kBAAkB;AACtB,SAAI,CAAC,iDAA0B,MAAM,qFAAa,cAAa,QAAQ,MAAM,gCAAQ,MAAM,2FAAe,cAAc,8BAAI,MAAM,cAAc,cAAc,kFAAK,sEAA2C,MAAM,8GAAe,6FAAgB,2CAA0C;MAC3R,MAAM,kCAAkC,uBAAuB,OAAO,KAAK;AAC3E,UAAI,mCAAmC,KACrC,QAAO;AAET,aAAO,UAAU,gCAAgC;;AAEnD,aAAQ,KAAR;MACE,KAAK,kBACH,QAAO;MACT,KAAK,eACH,QAAO;MACT,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAKF;MACL,KAAK,uBACH,QAAO,eAAe,aAAa;MACrC,KAAKE,aACH,QAAO,sBAAsB,aAAa,cAAc,cAAc,YAAY;MACpF,KAAK;OACH,MAAM,YAAY,MAAM;AACxB,WAAI,aAAa,QAAQ,UAAU,mBAAmB,KACpD,QAAO,UAAU;AAEnB,cAAO;MACT,KAAK;MACL,KAAK;MACL,KAAK,cACH,QAAO;MACT,KAAK;MACL,KAAK,SACH,QAAO;MACT,KAAK,SACH,QAAO;MACT,KAAK,cACH,QAAO;MACT,KAAK;MACL,KAAKD,sBACH,QAAO,sBAAsB,aAAa,cAAc,QAAQ,YAAY;MAC9E,KAAK,kBACH,QAAO;MACT,KAAK,sBACH,QAAO;MACT,KAAK,mBACH,QAAO;MACT,KAAK,eACH,QAAO;MACT,KAAK,sBACH,QAAO;MACT,KAAK,SACH,QAAO;MACT,KAAK,uBACH,QAAO;MACT,KAAK,wBACH,QAAO;MACT,KAAK,MACH,QAAO;MACT,QAEE,SADmB,cAAc,KAAK,EACtC;OACE,KAAK;OACL,KAAK;OACL,KAAK,oCACH,QAAO;OACT,KAAK;OACL,KAAK;AACH,0BAAkB,MAAM,KAAK,YAAY,MAAM,KAAK;AACpD,eAAO,GAAG,gBAAgB,eAAe,UAAU;OACrD,KAAK;OACL,KAAK;OACL,KAAK;AACH,YAAI,MAAM,KAAK,aAAa,UAAa,MAAM,KAAK,aAAa,MAAM,MAAM;AAC3E,2BAAkB,MAAM;AACxB,gBAAO,GAAG,gBAAgB,eAAe,UAAU;;AAErD,0BAAkB,MAAM,KAAK,YAAY,MAAM;AAC/C,eAAO,GAAG,gBAAgB,eAAe,UAAU;OACrD,KAAK;AACH,0BAAkB,MAAM,KAAK;AAC7B,eAAO,GAAG,gBAAgB,eAAe,UAAU;OACrD,KAAK;OACL,KAAK,0BACH,QAAO;OACT,KAAK;OACL,KAAK,uBACH,QAAO,YAAY,MAAM,cAAc,GAAG;OAC5C,KAAK;OACL,KAAK,oBACH,QAAO;OACT,QACE,QAAO;;;;AAIjB,WAAO;KACL;KACA;KACA;KACA;KACA;KACA;KACD;;GAEH,MAAM,wCAAwB,IAAI,KAAK;GACvC,MAAM,yCAAyB,IAAI,KAAK;GACxC,MAAM,0CAA0B,IAAI,KAAK;GACzC,MAAM,sCAAsB,IAAI,KAAK;GACrC,MAAM,sDAAsC,IAAI,KAAK;GACrD,MAAM,oDAAoC,IAAI,KAAK;GACnD,SAAS,kBAAkB,UAAU;AACnC,QAAI,OAAO,aAAa,YAAY,aAAa,MAAM;AACrD,SAAI,OAAO,SAAS,cAAc,YAAY,SAAS,cAAc,MACnE;UAAI,OAAO,SAAS,UAAU,mBAAmB,YAAY,SAAS,UAAU,mBAAmB,KACjG,QAAO,SAAS,UAAU;;AAG9B,SAAI,OAAO,SAAS,eAAe,SACjC,QAAO,SAAS;;AAGpB,WAAO;;GAET,SAAS,aAAa,UAAU;AAC9B,QAAI,OAAO,aAAa,YAAY,aAAa,KAC/C,QAAO;AAET,QAAI,SAAS,aAAa,QAAQ,OAAO,SAAS,UAAU,cAAc,SACxE,QAAO,SAAS,UAAU;AAE5B,QAAI,OAAO,SAAS,eAAe,SACjC,QAAO,SAAS;AAElB,WAAO;;GAET,SAAS,mBAAmB,iBAAiB,cAAc;IACzD,MAAM,iBAAiB,kBAAkB,aAAa;AACtD,wCAAoC,IAAI,gBAAgB,gBAAgB;;GAE1E,SAAS,oBAAoB,iBAAiB,cAAc;IAC1D,MAAM,iBAAiB,kBAAkB,aAAa;AACtD,QAAI,oCAAoC,IAAI,eAAe,KAAK,gBAC9D,qCAAoC,OAAO,eAAe;;GAG9D,SAAS,mBAAmB,iBAAiB,UAAU;IACrD,MAAM,eAAe,YAAY,SAAS;AAC1C,QAAI,cAAc;KAChB,MAAM,iBAAiB,kBAAkB,aAAa;KACtD,IAAI,oBAAoB,kCAAkC,IAAI,eAAe;AAC7E,SAAI,sBAAsB,QAAW;AACnC,0CAAoB,IAAI,KAAK;AAC7B,wCAAkC,IAAI,gBAAgB,kBAAkB;AACxE,0CAAoC,IAAI,gBAAgB,gBAAgB;;AAE1E,uBAAkB,IAAI,gBAAgB;;;GAG1C,SAAS,oBAAoB,iBAAiB,UAAU;IACtD,MAAM,eAAe,YAAY,SAAS;AAC1C,QAAI,cAAc;KAChB,MAAM,iBAAiB,kBAAkB,aAAa;KACtD,MAAM,oBAAoB,kCAAkC,IAAI,eAAe;AAC/E,SAAI,sBAAsB,QAAW;AACnC,wBAAkB,OAAO,gBAAgB;AACzC,UAAI,kBAAkB,SAAS,GAAG;AAChC,yCAAkC,OAAO,eAAe;AACxD,2CAAoC,OAAO,eAAe;iBACjD,oCAAoC,IAAI,eAAe,KAAK,gBACrE,MAAK,MAAM,iBAAiB,mBAAmB;AAC7C,2CAAoC,IAAI,eAAe,gBAAgB;AACvE;;;;;GAMV,SAAS,gBAAgB,MAAM,YAAY,UAAU,QAAQ,yBAAyB,mBAAmB;IACvG,MAAM,UAAU,SAAS,qBAAqB,SAAS;IACvD,MAAM,EACJ,wBACA,eACA,qBACA,iBACA,gBACA,wBACE,0BAA0B,QAAQ;IACtC,MAAM,EACJ,mBACA,gBACA,iBACA,6BACA,0BACA,UACA,wCACA,UACA,eACA,eACA,YACA,eACA,UACA,0BACA,6BACA,wBACA,uBACA,eACA,oBACA,4CACA,mBACA,uBACA,wBACA,OACA,4BACE;IACJ,MAAM,EACJ,mBACA,sBACA,gBACA,aACA,cACA,eACE;IACJ,MAAM,EACJ,iBACA,sBACA,mBACA,6BACA,6BACA,eACA,yBACA,yBACA,iBACA,iBACA,oBACA,gBACA,eACA,oBACE;IACJ,MAAM,wBAAwB,OAAO,oBAAoB,cAAc,OAAO,mBAAmB;IACjG,MAAM,2BAA2B,OAAO,uBAAuB,cAAc,OAAO,mBAAmB;IACvG,MAAM,4BAA4B,IAAI,SAAS,SAAS;AACxD,QAAI,OAAO,oBAAoB,WAC7B,UAAS,mBAAmB,GAAG,SAAS;AACtC,SAAI;AACF,WAAK,KAAK,uBAAuB;eACzB;AACR,aAAO,gBAAgB,GAAG,KAAK;;;IAIrC,IAAI,kBAAkB;IACtB,IAAI,wBAAwB;AAC5B,QAAI,OAAO,yBAAyB,YAAY;KAC9C,MAAM,WAAW,qBAAqB;MACpC;MACA,sBAAsB;MACtB;MACA,sBAAsB,iBAAiB,SAAS;MAChD,YAAY;MACZ,cAAc;MACf,CAAC;AACF,0BAAqB,SAAS,eAAe;AAC7C,uBAAkB,SAAS;AAC3B,6BAAwB,SAAS;;IAEnC,MAAM,0CAA0B,IAAI,SAAS;IAC7C,IAAI,4BAA4B;IAChC,SAAS,mCAAmC;KAC1C,IAAI,aAAa;AACjB,UAAK,MAAM,oBAAoB,wBAAwB,QAAQ,CAC7D,KAAI,iBAAiB,SAAS,gBAAgB;MAC5C,MAAM,QAAQ,iBAAiB;AAG/B,UADgB,kBAAkB,kBADP,wBAAwB,IAAI,MAAM,CACU,EAC1D;AACX,oBAAa;AACb,qDAA8C,iBAAiB,GAAG;;;AAIxE,SAAI,WACF,qBAAoB;;IAGxB,SAAS,yBAAyB;AAChC,UAAK,MAAM,oBAAoB,wBAAwB,QAAQ,EAAE;AAC/D,UAAI,iBAAiB,SAAS,gBAAgB;OAC5C,MAAM,QAAQ,iBAAiB;AAC/B,+BAAwB,OAAO,MAAM;AACrC,WAAI,MAAM,UACR,yBAAwB,OAAO,MAAM,UAAU;YAGjD,iCAAgC,UAAU,iBAAiB,KAAK;AAGlE,UADgB,kBAAkB,kBAAkB,OAAU,CAE5D,+CAA8C,iBAAiB,GAAG;;AAGtE,yBAAoB;;IAEtB,SAAS,uBAAuB,YAAY,MAAM;KAChD,MAAM,mBAAmB,wBAAwB,IAAI,WAAW;AAChE,SAAI,qBAAqB,QAAW;MAClC,IAAI;AACJ,UAAI,iBAAiB,SAAS,gBAAgB;OAC5C,MAAM,QAAQ,iBAAiB;AAC/B,4BAAqB,wBAAwB,IAAI,MAAM;AACvD,WAAI,uBAAuB,UAAa,MAAM,cAAc,KAC1D,sBAAqB,wBAAwB,IAAI,MAAM,UAAU;aAE9D;OACL,MAAM,gBAAgB,iBAAiB;AACvC,4BAAqB,gCAAgC,IAAI,cAAc;;AAEzE,UAAI,uBAAuB,QAAW;AACpC,WAAI,SAAS,SAAS;AACpB,2BAAmB,OAAO,OAAO;AACjC,2BAAmB,cAAc;cAC5B;AACL,2BAAmB,SAAS,OAAO;AACnC,2BAAmB,gBAAgB;;AAGrC,WADgB,kBAAkB,kBAAkB,mBAAmB,EAC1D;AACX,4BAAoB;AACpB,sDAA8C,iBAAiB,GAAG;;;;;IAK1E,SAAS,wBAAwB,YAAY;AAC3C,4BAAuB,YAAY,QAAQ;;IAE7C,SAAS,0BAA0B,YAAY;AAC7C,4BAAuB,YAAY,OAAO;;IAE5C,SAAS,8CAA8C,SAAS;AAC9D,SAAI,iCAAiC,QAAQ,6BAA6B,OAAO,QAC/E,uCAAsC;;IAG1C,SAAS,kBAAkB,UAAU;AACnC,SAAI,mBAAmB,KACrB,QAAO;KAET,MAAM,UAAU,iBAAiB;AACjC,SAAI,YAAY,KACd,QAAO;AAET,SAAI,iDAAiD,QAAQ,CAC3D,QAAO;KAET,MAAM,gBAAgB,iBAAiB,SAAS;AAChD,SAAI,kBAAkB,OACpB,QAAO;KAET,MAAM,oBAAoB,oBAAoB,QAAQ;KACtD,IAAI,iBAAiB;AACrB,SAAI,mBAAmB;MACrB,MAAM,iBAAiB,iBAAiB,SAAS;AACjD,UAAI,eACF,mBAAkB,OAAO;AAE3B,wBAAkB,0BAA0B,iBAAiB,SAAS,cAAc;WAEpF,kBAAiB,4BAA4B,iBAAiB,SAAS,cAAc;AAEvF,YAAO;MACL;MACA;MACD;;IAEH,SAAS,iBAAiB,MAAM,MAAM;AACpC,SAAI,mBAAmB,KACrB;KAEF,MAAM,QAAQ,iBAAiB;AAC/B,SAAI,UAAU,KACZ;AAEF,SAAI,SAAS,SACX;UAAI,oBAAoB,IAAI,MAAM,KAAK,QAAQ,MAAM,cAAc,QAAQ,oBAAoB,IAAI,MAAM,UAAU,KAAK,KACtH;;KAGJ,MAAM,UAAU,qCAAqC,GAAG,KAAK;KAC7D,IAAI,qBAAqB,wBAAwB,IAAI,MAAM;AAC3D,SAAI,uBAAuB,UAAa,MAAM,cAAc,MAAM;AAChE,2BAAqB,wBAAwB,IAAI,MAAM,UAAU;AACjE,UAAI,uBAAuB,OACzB,yBAAwB,IAAI,OAAO,mBAAmB;;AAG1D,SAAI,uBAAuB,QAAW;AACpC,2BAAqB;OACnB,wBAAQ,IAAI,KAAK;OACjB,aAAa;OACb,0BAAU,IAAI,KAAK;OACnB,eAAe;OAChB;AACD,8BAAwB,IAAI,OAAO,mBAAmB;;KAExD,MAAM,aAAa,SAAS,UAAU,mBAAmB,SAAS,mBAAmB;KACrF,MAAM,QAAQ,WAAW,IAAI,QAAQ,IAAI;AACzC,gBAAW,IAAI,SAAS,QAAQ,EAAE;AAClC,SAAI,SAAS,QACX,oBAAmB;SAEnB,oBAAmB;AAErB,iCAA4B;;IAwB9B,MAAM,+CAA+B,IAAI,KAAK;IAC9C,MAAM,wCAAwB,IAAI,KAAK;IACvC,MAAM,wCAAwB,IAAI,KAAK;IACvC,MAAM,uCAAuB,IAAI,KAAK;IACtC,IAAI,sBAAsB;IAC1B,MAAM,uCAAuB,IAAI,KAAK;IACtC,SAAS,sBAAsB,kBAAkB;AAC/C,2BAAsB,OAAO;AAC7B,kCAA6B,OAAO;AACpC,2BAAsB,OAAO;AAC7B,0BAAqB,OAAO;AAC5B,sBAAiB,SAAQ,oBAAmB;AAC1C,UAAI,CAAC,gBAAgB,UACnB;AAEF,cAAQ,gBAAgB,MAAxB;OACE,KAAK;AACH,YAAI,gBAAgB,WAAW,gBAAgB,UAAU,GACvD,8BAA6B,IAAI,IAAI,OAAO,gBAAgB,OAAO,IAAI,CAAC;AAE1E;OACF,KAAK;AACH,8BAAsB,IAAI,gBAAgB,MAAM;AAChD;OACF,KAAK;AACH,YAAI,gBAAgB,WAAW,gBAAgB,UAAU,GACvD,uBAAsB,IAAI,IAAI,OAAO,gBAAgB,OAAO,IAAI,CAAC;AAEnE;OACF,KAAK;AACH,qCAA6B,oBAAI,IAAI,OAAO,MAAM,CAAC;AACnD;OACF,KAAK;AACH,6BAAqB,IAAI,gBAAgB,MAAM;AAC/C;OACF;AACE,gBAAQ,KAAK,kCAAkC,gBAAgB,KAAK,GAAG;AACvE;;OAEJ;;AAEJ,QAAI,OAAO,wCAAwC,KAEjD,uBADiD,kCAAkC,OAAO,qCAAqC,CAChE;QAE/D,uBAAsB,4BAA4B,CAAC;IAErD,SAAS,uBAAuB,kBAAkB;AAChD,SAAI,YACF,OAAM,MAAM,mDAAmD;AAEjE,UAAK,cAAc,WAAW,CAAC,SAAQ,SAAQ;MAC7C,MAAM,eAAe,uBAAuB,IAAI,KAAK;AACrD,UAAI,iBAAiB,OACnB,OAAM,IAAI,MAAM,oEAAoE;AAEtF,oBAAc;AACd,iCAA2B,aAAa;AACxC,6BAAuB,OAAO,KAAK;AACnC,0BAAoB;AACpB,oBAAc;OACd;AACF,2BAAsB,iBAAiB;AACvC,4BAAuB,OAAO;AAC9B,UAAK,cAAc,WAAW,CAAC,SAAQ,SAAQ;MAC7C,MAAM,UAAU,KAAK;MACrB,MAAM,UAAU,oBAAoB,QAAQ;AAC5C,6BAAuB,IAAI,MAAM,QAAQ;AACzC,8BAAwB,IAAI,QAAQ,IAAI,QAAQ;AAChD,UAAI,gBAAgB,KAClB,wBAAuB;AAEzB,oBAAc;AACd,uBAAiB,YAAY,IAAI,KAAK,QAAQ;AAC9C,4BAAsB,KAAK,SAAS,MAAM;AAC1C,0BAAoB;AACpB,oBAAc;OACd;AACF,yBAAoB;AACpB,iCAA4B;;IAE9B,SAAS,sBAAsB;AAC7B,YAAO,MAAM,KAAK,sBAAsB;;IAE1C,SAAS,gBAAgB,OAAO;AAC9B,SAAI,uBAAuB,GACzB,OAAM,IAAI,MAAM,sCAAsC;AAExD,aAAQ,MAAM,KAAd;MACE,KAAK,SAEH,QAAO,CADW,MAAM,cACN;MACpB,KAAK;OACH,MAAM,gBAAgB,MAAM;AAC5B,cAAO,kBAAkB,QAAQ,cAAc,eAAe;MAChE,QACE,OAAM,IAAI,MAAM,kCAAkC,MAAM,IAAI;;;IAGlE,SAAS,oBAAoB,MAAM,cAAc;AAC/C,SAAI,sBAAsB,IAAI,0BAA0B,CACtD,QAAO;AAET,SAAI,6BAA6B,OAAO,GAAG;MACzC,MAAM,cAAc,KAAK;AACzB,UAAI,eAAe,MACjB;YAAK,MAAM,qBAAqB,6BAC9B,KAAI,kBAAkB,KAAK,YAAY,CACrC,QAAO;;;AAKf,UAAK,KAAK,OAAO,QAAQ,qBAAqB,IAAI,KAAK,IAAI,MAAM,iBAAiB,QAAQ,qBAAqB,IAAI,aAAa,EAC9H,QAAO;AAET,YAAO;;IAET,SAAS,kBAAkB,OAAO;KAChC,MAAM,EACJ,KACA,MACA,QACE;AACJ,aAAQ,KAAR;MACE,KAAK,4BACH,QAAO;MACT,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK,MACH,QAAO;MACT,KAAK,SACH,QAAO;MACT,KAAK,SACH,QAAO,QAAQ;MACjB,QAEE,SADmB,cAAc,KAAK,EACtC;OACE,KAAK;OACL,KAAK;OACL,KAAK;OACL,KAAK;OACL,KAAK,0BACH,QAAO;OACT,QACE;;;KAGR,MAAM,cAAc,uBAAuB,MAAM;AACjD,SAAI,sBAAsB,IAAI,YAAY,CACxC,QAAO;AAET,SAAI,6BAA6B,OAAO,GAAG;MACzC,MAAM,cAAc,uBAAuB,MAAM;AACjD,UAAI,eAAe,MACjB;YAAK,MAAM,qBAAqB,6BAC9B,KAAI,kBAAkB,KAAK,YAAY,CACrC,QAAO;;;AAKf,SAAI,qBAAqB,IAAI,SAAS,CACpC,SAAQ,KAAR;MACE,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAKD;MACL,KAAK;MACL,KAAKE;MACL,KAAK;MACL,KAAKD,sBACH,QAAO;;AAGb,YAAO;;IAET,SAAS,uBAAuB,OAAO;KACrC,MAAM,EACJ,MACA,QACE;AACJ,aAAQ,KAAR;MACE,KAAK,kBACH,QAAO;MACT,KAAK;MACL,KAAK,yBACH,QAAO;MACT,KAAK;MACL,KAAKD;MACL,KAAK,uBACH,QAAO;MACT,KAAKE,aACH,QAAO;MACT,KAAK,SACH,QAAO;MACT,KAAK;MACL,KAAK;MACL,KAAK,cACH,QAAO;MACT,KAAK;MACL,KAAK;MACL,KAAK,SACH,QAAO;MACT,KAAK;MACL,KAAKD,sBACH,QAAO;MACT,KAAK,kBACH,QAAO;MACT,KAAK,sBACH,QAAO;MACT,KAAK,uBACH,QAAO;MACT,KAAK,wBACH,QAAO;MACT,QAEE,SADmB,cAAc,KAAK,EACtC;OACE,KAAK;OACL,KAAK;OACL,KAAK,oCACH,QAAO;OACT,KAAK;OACL,KAAK,uBACH,QAAO;OACT,KAAK;OACL,KAAK,sBACH,QAAO;OACT,KAAK;OACL,KAAK,0BACH,QAAO;OACT,KAAK;OACL,KAAK,uBACH,QAAO;OACT,QACE,QAAO;;;;IAIjB,IAAI,cAAc;IAClB,SAAS,aAAa,iBAAiB,OAAO;AAC5C,SAAI,oBAAoB,OAAO,GAAG;AAChC,0BAAoB,OAAO,MAAM;AACjC,UAAI,MAAM,UACR,qBAAoB,OAAO,MAAM,UAAU;AAE7C,UAAI,oBAAoB,SAAS,KAAK,mBAAmB,KACvD,iBAAgB,2BAA2B;;AAG/C,SAAI,uBAAuB,OAAO,GAAG;AACnC,6BAAuB,OAAO,MAAM;AACpC,UAAI,MAAM,UACR,wBAAuB,OAAO,MAAM,UAAU;AAEhD,UAAI,uBAAuB,SAAS,KAAK,sBAAsB,KAC7D,oBAAmB,8BAA8B;;AAGrD,SAAI,MAAM,QAAQ,cAChB,qBAAoB,iBAAiB,MAAM,cAAc;cAChD,MAAM,QAAQ,iBAAiB,MAAM,QAAQ,YAAY,MAAM,QAAQ,cAChF,qBAAoB,iBAAiB,MAAM,UAAU;AAEvD,UAAK,IAAI,QAAQ,MAAM,OAAO,UAAU,MAAM,QAAQ,MAAM,QAC1D,KAAI,kBAAkB,MAAM,CAC1B,cAAa,iBAAiB,MAAM;;IAI1C,SAAS,qBAAqB,WAAW,WAAW;AAClD,aAAQ,UAAU,KAAlB;MACE,KAAK,eACH,KAAI,cAAc,KAChB,QAAO;OACL,SAAS;OACT,gBAAgB;OAChB,cAAc;OACd,OAAO;OACP,OAAO;OACR;UASD,QAPa;OACX,SAAS,kBAAkB,WAAW,UAAU;OAChD,gBAAgB;OAChB,cAAc;OACd,OAAO,eAAe,UAAU,eAAe,UAAU,cAAc;OACvE,OAAO,eAAe,UAAU,eAAe,UAAU,cAAc;OACxE;MAGL,KAAK;MACL,KAAKD;MACL,KAAK;MACL,KAAKE;MACL,KAAK;MACL,KAAKD,sBACH,KAAI,cAAc,KAChB,QAAO;OACL,SAAS;OACT,gBAAgB;OAChB,cAAc;OACd,OAAO;OACP,OAAO;OACR;WACI;OACL,MAAM,UAAU,uBAAuB,UAAU,eAAe,UAAU,cAAc;AASxF,cARa;QACX,SAAS,kBAAkB,WAAW,UAAU;QAChD,gBAAgB,YAAY,QAAQ,QAAQ,SAAS;QACrD,cAAc;QACd,OAAO,eAAe,UAAU,eAAe,UAAU,cAAc;QACvE,OAAO;QACP,OAAO;QACR;;MAGL,QACE,QAAO;;;IAGb,SAAS,kBAAkB,WAAW,WAAW;KAC/C,IAAI,cAAc,UAAU,gBAAgB,UAAU,aAAa;KACnE,IAAI,cAAc,UAAU,gBAAgB,UAAU,aAAa;AACnE,YAAO,eAAe,aAAa;AACjC,UAAI,YAAY,YAAY,YAAY,QACtC,QAAO;AAET,UAAI,CAAC,gBAAgB,YAAY,eAAe,YAAY,cAAc,CACxE,QAAO;AAET,oBAAc,YAAY;AAC1B,oBAAc,YAAY;;AAE5B,YAAO;;IAET,SAAS,4BAA4B,YAAY;KAC/C,MAAM,QAAQ,WAAW;AACzB,SAAI,CAAC,MACH,QAAO;KAET,MAAM,sBAAsB,sBAAsB,KAAK,MAAM;AAC7D,SAAI,oBAAoB,UAAU,CAChC,QAAO;AAET,YAAO,oBAAoB,QAAQ,IAAI,oBAAoB,cAAc,IAAI,OAAO,MAAM,gBAAgB;;IAE5G,SAAS,sBAAsB,MAAM,MAAM;KACzC,MAAM,oBAAoB,KAAK;KAC/B,MAAM,oBAAoB,KAAK;AAC/B,SAAI,4BAA4B,KAAK,CACnC,QAAO,sBAAsB;AAE/B,YAAO;;IAET,SAAS,uBAAuB,MAAM,MAAM;AAC1C,SAAI,QAAQ,QAAQ,QAAQ,KAC1B,QAAO;KAET,MAAM,UAAU,EAAE;KAClB,IAAI,QAAQ;AACZ,YAAO,SAAS,MAAM;AACpB,UAAI,sBAAsB,MAAM,KAAK,CACnC,SAAQ,KAAK,MAAM;AAErB,aAAO,KAAK;AACZ,aAAO,KAAK;AACZ;;AAEF,YAAO;;IAET,SAAS,eAAe,MAAM,MAAM;AAClC,SAAI,QAAQ,QAAQ,QAAQ,KAC1B,QAAO;KAET,MAAM,OAAO,IAAI,IAAI,CAAC,GAAG,OAAO,KAAK,KAAK,EAAE,GAAG,OAAO,KAAK,KAAK,CAAC,CAAC;KAClE,MAAM,cAAc,EAAE;AACtB,UAAK,MAAM,OAAO,KAChB,KAAI,KAAK,SAAS,KAAK,KACrB,aAAY,KAAK,IAAI;AAGzB,YAAO;;IAET,SAAS,eAAe,WAAW,WAAW;AAC5C,aAAQ,UAAU,KAAlB;MACE,KAAK;MACL,KAAKD;MACL,KAAK;MACL,KAAK;MACL,KAAKC;MACL,KAAKC;OACH,MAAM,gBAAgB;AACtB,eAAQ,cAAc,UAAU,GAAG,mBAAmB;MACxD,QACE,QAAO,UAAU,kBAAkB,UAAU,iBAAiB,UAAU,kBAAkB,UAAU,iBAAiB,UAAU,QAAQ,UAAU;;;IAGvJ,MAAM,oBAAoB,EAAE;IAC5B,MAAM,0BAA0B,EAAE;IAClC,MAAM,kCAAkC,EAAE;IAC1C,MAAM,0CAA0B,IAAI,KAAK;IACzC,IAAI,yBAAyB,EAAE;IAC/B,MAAM,qCAAqB,IAAI,KAAK;IACpC,IAAI,2BAA2B;IAC/B,IAAI,yBAAyB;IAC7B,SAAS,cAAc,IAAI;AAEzB,uBAAkB,KAAK,GAAG;;IAE5B,SAAS,qCAAqC;AAC5C,SAAI,aACF;UAAI,kCAAkC,QAAQ,+BAA+B,UAAU,SAAS,EAC9F,QAAO;;AAGX,YAAO,kBAAkB,WAAW,KAAK,wBAAwB,WAAW,KAAK,gCAAgC,WAAW,KAAK,wBAAwB,SAAS,KAAK,2BAA2B;;IAEpM,SAAS,uBAAuB,YAAY;AAC1C,SAAI,oCAAoC,CACtC;AAEF,SAAI,2BAA2B,KAC7B,wBAAuB,KAAK,WAAW;SAEvC,MAAK,KAAK,cAAc,WAAW;;IAGvC,SAAS,kBAAkB,UAAU,oBAAoB;AACvD,SAAI,uBAAuB,QAAW;AACpC,UAAI,SAAS,aAAa,EACxB,QAAO;AAET,eAAS,WAAW;AACpB,oBAAc,yCAAyC;AACvD,oBAAc,SAAS,GAAG;AAC1B,oBAAc,EAAE;AAChB,oBAAc,EAAE;AAChB,aAAO;YACF;MACL,MAAM,aAAa,mBAAmB,cAAc,mBAAmB;AACvE,UAAI,SAAS,aAAa,WACxB,QAAO;AAET,eAAS,WAAW;AACpB,oBAAc,yCAAyC;AACvD,oBAAc,SAAS,GAAG;AAC1B,oBAAc,mBAAmB,YAAY;AAC7C,oBAAc,mBAAmB,cAAc;AAC/C,aAAO;;;IAGX,SAAS,qBAAqB;AAC5B,SAAI,oCAAoC,CACtC;KAEF,MAAM,gBAAgB,wBAAwB,UAAU,2BAA2B,OAAO,IAAI;KAC9F,MAAM,wBAAwB,gCAAgC;KAC9D,MAAM,sBAAsB,wBAAwB;KACpD,MAAM,aAAa,IAAI,MAAM,IAAQ,4BAA4B,wBAAwB,IAAI,IAAI,wBAAwB,MAAM,gBAAgB,IAAI,IAAI,gBAAgB,KAAK,kBAAkB,UAAU,sBAAsB,IAAI,IAAI,sBAAsB,IAAI,GAAG;KACnQ,IAAI,IAAI;AACR,gBAAW,OAAO;AAClB,SAAI,gBAAgB,KAClB,YAAW,OAAO;SAElB,YAAW,OAAO,YAAY;AAEhC,gBAAW,OAAO;AAClB,wBAAmB,SAAS,OAAO,cAAc;MAC/C,MAAM,gBAAgB,MAAM;MAC5B,MAAM,SAAS,cAAc;AAC7B,iBAAW,OAAO;AAClB,WAAK,IAAI,IAAI,GAAG,IAAI,QAAQ,IAC1B,YAAW,IAAI,KAAK,cAAc;AAEpC,WAAK;OACL;AACF,SAAI,wBAAwB,GAAG;AAC7B,iBAAW,OAAO;AAClB,iBAAW,OAAO;AAClB,WAAK,IAAI,IAAI,GAAG,IAAI,gCAAgC,QAAQ,IAC1D,YAAW,OAAO,gCAAgC;;AAGtD,SAAI,gBAAgB,GAAG;AACrB,iBAAW,OAAO;AAClB,iBAAW,OAAO;AAClB,WAAK,IAAI,IAAI,GAAG,IAAI,wBAAwB,QAAQ,IAClD,YAAW,OAAO,wBAAwB;AAE5C,UAAI,2BAA2B,MAAM;AACnC,kBAAW,KAAK;AAChB;;;AAGJ,UAAK,IAAI,IAAI,GAAG,IAAI,kBAAkB,QAAQ,IAC5C,YAAW,IAAI,KAAK,kBAAkB;AAExC,UAAK,kBAAkB;AACvB,SAAI,sBAAsB,GAAG;AAC3B,iBAAW,OAAO;AAClB,iBAAW,OAAO;AAClB,8BAAwB,SAAQ,uBAAsB;OACpD,MAAM,WAAW,oBAAoB,IAAI,mBAAmB;AAC5D,WAAI,aAAa,OACf,OAAM,IAAI,MAAM,yCAAyC,mBAAmB,qCAAqC;AAEnH,kBAAW,OAAO;AAClB,kBAAW,OAAO,SAAS,sBAAsB,IAAI;OACrD,MAAM,WAAW,SAAS;OAC1B,MAAM,eAAe,SAAS,SAAS,kBAAkB,SAAS,SAAS,4BAA4B,SAAS,KAAK,QAAQ,qBAAqB,SAAS,KAAK,kBAAkB;AAClL,kBAAW,OAAO,cAAc,IAAI;AACpC,kBAAW,OAAO,SAAS,aAAa;AACxC,gBAAS,aAAa,SAAS,OAAO,QAAQ;AAC5C,mBAAW,OAAO,YAAY,IAAI;SAClC;QACF;;AAEJ,4BAAuB,WAAW;AAClC,uBAAkB,SAAS;AAC3B,6BAAwB,SAAS;AACjC,qCAAgC,SAAS;AACzC,6BAAwB,OAAO;AAC/B,8BAAyB;AACzB,wBAAmB,OAAO;AAC1B,gCAA2B;;IAE7B,SAAS,oBAAoB,UAAU;AACrC,SAAI,OAAO,aAAa,YAAY,aAAa,KAC/C,QAAO;AAET,SAAI,OAAO,SAAS,mBAAmB,cAAc,SAAS,aAAa,GAAG;MAC5E,MAAM,MAAM,SAAS;AACrB,UAAI,aAAa,IAAI,gBACnB,QAAO,CAAC;OACN,GAAG;OACH,GAAG;OACH,OAAO,SAAS;OAChB,QAAQ,SAAS;OAClB,CAAC;MAEJ,MAAM,SAAS,EAAE;MACjB,MAAM,MAAM,OAAO,IAAI;MACvB,MAAM,UAAU,MAAM,IAAI,UAAU;MACpC,MAAM,UAAU,MAAM,IAAI,UAAU;MACpC,IAAI;AACJ,UAAI,SAAS,aAAa,GAAG;AAC3B,WAAI,OAAO,IAAI,gBAAgB,WAC7B,QAAO;OAET,MAAM,QAAQ,IAAI,aAAa;AAC/B,WAAI,OAAO,MAAM,mBAAmB,WAClC,QAAO;AAET,aAAM,mBAAmB,SAAS;AAClC,eAAQ,MAAM,gBAAgB;YAE9B,SAAQ,SAAS,gBAAgB;AAEnC,WAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;OACrC,MAAM,OAAO,MAAM;AACnB,cAAO,KAAK;QACV,GAAG,KAAK,IAAI;QACZ,GAAG,KAAK,IAAI;QACZ,OAAO,KAAK;QACZ,QAAQ,KAAK;QACd,CAAC;;AAEJ,aAAO;;AAET,SAAI,SAAS,WAAW;MACtB,MAAM,iBAAiB,SAAS,UAAU;AAC1C,UAAI,CAAC,eACH,QAAO;AAET,UAAI,OAAO,eAAe,0BAA0B,WAClD,QAAO,CAAC,eAAe,uBAAuB,CAAC;AAEjD,UAAI,OAAO,eAAe,mCAAmC,WAC3D,QAAO,CAAC,eAAe,gCAAgC,CAAC;;AAG5D,YAAO;;IAET,SAAS,gBAAgB,UAAU;KACjC,MAAM,gBAAgB,4BAA4B,SAAS;KAC3D,IAAI,SAAS;AACb,UAAK,IAAI,IAAI,GAAG,IAAI,cAAc,QAAQ,KAAK;MAC7C,MAAM,cAAc,oBAAoB,cAAc,GAAG;AACzD,UAAI,gBAAgB,KAClB,KAAI,WAAW,KACb,UAAS;UAET,UAAS,OAAO,OAAO,YAAY;;AAIzC,YAAO;;IAET,SAAS,YAAY,QAAQ;AAC3B,SAAI,WAAW,KACb,QAAO;KAET,MAAM,gBAAgB,mBAAmB,IAAI,OAAO;AACpD,SAAI,kBAAkB,OACpB,QAAO,cAAc;KAEvB,MAAM,KAAK,mBAAmB,OAAO;KACrC,MAAM,gBAAgB,gBAAgB,OAAO;AAC7C,wBAAmB,IAAI,QAAQ;MAC7B;MACA;MACD,CAAC;AACF,iCAA4B,cAAc,SAAS;AACnD,YAAO;;IAET,IAAI,0BAA0B;IAC9B,SAAS,YAAY,OAAO,gBAAgB;KAC1C,MAAM,SAAS,MAAM,QAAQ;KAC7B,IAAI;AACJ,SAAI,QAAQ;MACV,MAAM,QAAQ,uBAAuB,IAAI,MAAM,UAAU;AACzD,UAAI,UAAU,OACZ,OAAM,IAAI,MAAM,qDAAqD;AAEvE,sBAAgB;WAEhB,iBAAgB,oBAAoB,MAAM;AAE5C,6BAAwB,IAAI,cAAc,IAAI,cAAc;AAI5D,qBAAgB,eAAe,eAAe;AAC9C,YAAO;;IAET,SAAS,gBAAgB,eAAe,gBAAgB;AACtD,SAAI,wBACF;KAEF,MAAM,KAAK,cAAc;KACzB,MAAM,QAAQ,cAAc;KAC5B,MAAM,uBAAuB,MAAM,eAAe,mBAAmB;AAErE,SADe,MAAM,QAAQ,UACjB;MACV,MAAM,mBAAmB,MAAM,eAAe,cAAc;MAC5D,IAAI,iBAAiB;AACrB,UAAI,sBAAsB;AACxB,wBAAiB;AACjB,WAAI,OAAO,yBAAyB,WAClC,mBAAkB;AAEpB,WAAI,0BACF,mBAAkB;;MAGtB,MAAM,8BAA8B,SAAS,eAAe;AAC5D,oBAAc,mBAAmB;AACjC,oBAAc,GAAG;AACjB,oBAAc,gBAAgB;AAC9B,qBAAe,MAAM,OAAO,oBAAoB,IAAI,IAAI,EAAE;AAC1D,oBAAc,eAAe;AAC7B,oBAAc,CAAC,+BAA+B,mBAAmB,IAAI,IAAI,EAAE;AAC3E,oBAAc,mBAAmB,IAAI,EAAE;AACvC,UAAI,aACF;WAAI,yBAAyB,KAC3B,sBAAqB,IAAI,IAAI,sBAAsB,MAAM,CAAC;;YAGzD;MACL,MAAM,EACJ,QACE;MACJ,MAAM,cAAc,uBAAuB,MAAM;MACjD,MAAM,cAAc,uBAAuB,MAAM;MACjD,MAAM,aAAa,mBAAmB,MAAM;MAC5C,MAAM,gBAAgB,yBAAyB,gBAAgB,WAAW;AAC1E,UAAI,kBAAkB,QAAQ,eAAe,MAAM,eAAe,MAAM,eAAe,QAAQ,cAAc,WAAW,KACtH,eAAc,SAAS,MAAM;MAE/B,IAAI,mBAAmB;AACvB,aAAO,qBAAqB,QAAQ,iBAAiB,SAAS,wBAC5D,oBAAmB,iBAAiB;MAEtC,MAAM,UAAU,kBAAkB,OAAO,IAAI,cAAc;MAC3D,MAAM,WAAW,qBAAqB,OAAO,IAAI,iBAAiB;MAClE,MAAM,sBAAsB,YAAY,YAAY;MAEpD,MAAM,cAAc,YADF,QAAQ,OAAO,OAAO,OAAO,IAAI,CACT;MAC1C,MAAM,WAAW,MAAM,QAAQ,oBAAoB,MAAM,cAAc,OAAO,MAAM,QAAQ,oBAAoB,MAAM,cAAc,OAAO;MAE3I,MAAM,mBAAmB,YADF,YAAY,OAAO,OAAO,OAAO,SAAS,CACb;AACpD,oBAAc,mBAAmB;AACjC,oBAAc,GAAG;AACjB,oBAAc,YAAY;AAC1B,oBAAc,SAAS;AACvB,oBAAc,QAAQ;AACtB,oBAAc,oBAAoB;AAClC,oBAAc,YAAY;AAC1B,oBAAc,iBAAiB;AAC/B,WAAK,MAAM,OAAO,oBAAoB,GAAG;OACvC,IAAI,cAAc;OAClB,IAAI,sBAAsB;AAC1B,cAAO,wBAAwB,MAAM;AACnC,YAAI,oBAAoB,SAAS,gBAAgB;AAC/C,uBAAc,oBAAoB;AAClC;;AAEF,8BAAsB,oBAAoB;;AAE5C,WAAI,gBAAgB,SAAS,YAAY,OAAO,oBAAoB,GAAG;AACrE,sBAAc,gCAAgC;AAC9C,sBAAc,GAAG;AACjB,sBAAc,WAAW;;;;KAI/B,IAAI,qBAAqB,wBAAwB,IAAI,MAAM;AAC3D,SAAI,uBAAuB,UAAa,MAAM,cAAc,KAC1D,sBAAqB,wBAAwB,IAAI,MAAM,UAAU;AAEnE,uBAAkB,eAAe,mBAAmB;AACpD,SAAI,qBACF,0BAAyB,eAAe,KAAK;;IAGjD,SAAS,mBAAmB,UAAU,gBAAgB,cAAc;KAClE,MAAM,KAAK,SAAS;AACpB,6BAAwB,IAAI,IAAI,SAAS;AACzC,4BAAuB,UAAU,gBAAgB,aAAa;;IAEhE,SAAS,uBAAuB,UAAU,gBAAgB,cAAc;AACtE,SAAI,wBACF;KAEF,MAAM,gBAAgB,SAAS;KAC/B,MAAM,MAAM,OAAO,cAAc,QAAQ,WAAW,cAAc,MAAM;KACxE,MAAM,MAAM,cAAc;KAC1B,IAAI,cAAc,cAAc,QAAQ;AACxC,SAAI,OAAO,QAAQ,UAAU;AAC3B,UAAI,iBAAiB,KACnB,eAAc,eAAe,MAAM,cAAc;AAEnD,oBAAc,MAAM,MAAM,cAAc;;KAE1C,MAAM,cAAc;KACpB,MAAM,aAAa,mBAAmB,cAAc;KACpD,MAAM,gBAAgB,yBAAyB,gBAAgB,WAAW;AAC1E,SAAI,kBAAkB,QAAQ,eAAe,cAAc,SAAS,cAAc,cAAc,QAAQ,cAAc,WAAW,KAC/H,eAAc,SAAS,cAAc;KAEvC,IAAI,mBAAmB;AACvB,YAAO,qBAAqB,QAAQ,iBAAiB,SAAS,wBAC5D,oBAAmB,iBAAiB;KAEtC,MAAM,UAAU,kBAAkB,OAAO,IAAI,cAAc;KAC3D,MAAM,WAAW,qBAAqB,OAAO,IAAI,iBAAiB;KAClE,MAAM,sBAAsB,YAAY,YAAY;KAEpD,MAAM,cAAc,YADF,QAAQ,OAAO,OAAO,OAAO,IAAI,CACT;KAC1C,MAAM,mBAAmB,YAAY,KAAK;KAC1C,MAAM,KAAK,SAAS;AACpB,mBAAc,mBAAmB;AACjC,mBAAc,GAAG;AACjB,mBAAc,YAAY;AAC1B,mBAAc,SAAS;AACvB,mBAAc,QAAQ;AACtB,mBAAc,oBAAoB;AAClC,mBAAc,YAAY;AAC1B,mBAAc,iBAAiB;AAE/B,uBAAkB,UADS,gCAAgC,IAAI,cAAc,CAC9B;;IAEjD,SAAS,oBAAoB,kBAAkB,wBAAwB;KACrE,MAAM,gBAAgB,iBAAiB;AACvC,SAAI,cAAc,SAAS,wBACzB,OAAM,IAAI,MAAM,uDAAuD;KAEzE,MAAM,UAAU,cAAc;KAC9B,IAAI,mBAAmB;AACvB,YAAO,qBAAqB,QAAQ,iBAAiB,SAAS,SAAS,wBACrE,oBAAmB,iBAAiB;KAEtC,MAAM,2BAA2B,qBAAqB,OAAO,iBAAiB,WAAW;AACzF,SAAI,6BAA6B,QAAQ,yBAAyB,SAAS,wBACzE,OAAM,IAAI,MAAM,oEAAoE;KAEtF,MAAM,WAAW,6BAA6B,OAAO,IAAI,yBAAyB;KAClF,MAAM,QAAQ,cAAc;KAC5B,MAAM,QAAQ,MAAM;KAEpB,MAAM,eAAe,YADR,MAAM,QAAQ,qBAAqB,UAAU,OAAO,OAAO,MAAM,QAAQ,KAChD;KACtC,MAAM,cAAc,MAAM,QAAQ,qBAAqB,MAAM,kBAAkB;AAI/E,yBAAoB,IAAI,SAAS,iBAAiB;AAClD,mBAAc,4BAA4B;AAC1C,mBAAc,QAAQ;AACtB,mBAAc,SAAS;AACvB,mBAAc,aAAa;AAC3B,mBAAc,cAAc,IAAI,EAAE;KAClC,MAAM,QAAQ,iBAAiB;AAC/B,SAAI,UAAU,KACZ,eAAc,GAAG;UACZ;AACL,oBAAc,MAAM,OAAO;AAC3B,WAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,EAAE,GAAG;OACrC,MAAM,OAAO,MAAM;AACnB,qBAAc,KAAK,MAAM,KAAK,IAAI,IAAK,CAAC;AACxC,qBAAc,KAAK,MAAM,KAAK,IAAI,IAAK,CAAC;AACxC,qBAAc,KAAK,MAAM,KAAK,QAAQ,IAAK,CAAC;AAC5C,qBAAc,KAAK,MAAM,KAAK,SAAS,IAAK,CAAC;;;;IAInD,SAAS,cAAc,eAAe;AAIpC,sBAAiB,cAAc;KAC/B,MAAM,eAAe,cAAc;AACnC,SAAI,iBAAiB,KACnB,uBAAsB,aAAa;AAErC,6BAAwB,OAAO,cAAc,GAAG;AAChD,kBAAa,eAAe,cAAc,KAAK;;IAEjD,SAAS,iBAAiB,eAAe;AACvC,SAAI,wBACF;KAEF,MAAM,QAAQ,cAAc;AAC5B,SAAI,6BAA6B,cAC/B,gBAAe,KAAK;KAEtB,MAAM,KAAK,cAAc;AAEzB,SADe,MAAM,QAAQ,SAE3B,0BAAyB;SAEzB,yBAAwB,KAAK,GAAG;;IAGpC,SAAS,qBAAqB,cAAc;KAI1C,MAAM,gBAAgB,aAAa;AACnC,SAAI,cAAc,SAAS,eACzB;AAEF,mBAAc,+BAA+B;AAC7C,mBAAc,cAAc,GAAG;KAC/B,MAAM,QAAQ,aAAa;AAC3B,SAAI,UAAU,KACZ,eAAc,GAAG;UACZ;AACL,oBAAc,MAAM,OAAO;AAC3B,WAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,EAAE,GAAG;OACrC,MAAM,OAAO,MAAM;AACnB,qBAAc,KAAK,MAAM,KAAK,IAAI,IAAK,CAAC;AACxC,qBAAc,KAAK,MAAM,KAAK,IAAI,IAAK,CAAC;AACxC,qBAAc,KAAK,MAAM,KAAK,QAAQ,IAAK,CAAC;AAC5C,qBAAc,KAAK,MAAM,KAAK,SAAS,IAAK,CAAC;;;;IAInD,SAAS,yBAAyB,cAAc;KAI9C,MAAM,gBAAgB,aAAa;AACnC,SAAI,cAAc,SAAS,eACzB;AAEF,kBAAa,aAAa,SAAS,OAAO,QAAQ;AAChD,kBAAY,IAAI;OAChB;AACF,6BAAwB,IAAI,cAAc,GAAG;;IAE/C,SAAS,sBAAsB,kBAAkB;KAI/C,MAAM,mBAAmB,iBAAiB;AAC1C,SAAI,iBAAiB,SAAS,eAC5B,OAAM,IAAI,MAAM,wDAAwD;KAG1E,MAAM,KADgB,iBACG;AACzB,qCAAgC,KAAK,GAAG;AACxC,6BAAwB,OAAO,GAAG;AAClC,yBAAoB,OAAO,GAAG;;IAEhC,IAAI,+BAA+B;IACnC,IAAI,8BAA8B;IAClC,IAAI,oBAAoB;IACxB,IAAI,4CAA4C;IAChD,IAAI,0CAA0C;IAC9C,IAAI,gCAAgC;IACpC,SAAS,2BAA2B,cAAc,QAAQ;KACxD,IAAI,WAAW,aAAa;AAC5B,YAAO,aAAa,MAAM;AACxB,UAAI,SAAS,YAAY,IAAI,OAAO,CAClC,QAAO;AAET,iBAAW,SAAS;;AAEtB,YAAO;;IAET,SAAS,kBAAkB,WAAW;AACpC,SAAI,sBAAsB,QAAQ,kCAAkC,KAClE,OAAM,IAAI,MAAM,yIAA8I;KAEhK,MAAM,qBAAqB;KAC3B,IAAI,iBAAiB;AACrB,YAAO,eAAe,SAAS,2BAA2B,eAAe,WAAW,QAAQ,mBAAmB,mBAAmB,SAChI,kBAAiB,eAAe;KAElC,MAAM,0BAA0B,mBAAmB;KACnD,MAAM,SAAS,UAAU;KACzB,IAAI,iBAAiB,wBAAwB,IAAI,OAAO;AACxD,SAAI,mBAAmB,QAAW;AAChC,uCAAiB,IAAI,KAAK;AAC1B,8BAAwB,IAAI,QAAQ,eAAe;MACnD,MAAM,MAAM,OAAO;AACnB,UAAI,OAAO,MAAM;OACf,MAAM,oBAAoB,mBAAmB;OAC7C,MAAM,QAAQ,kBAAkB,IAAI,IAAI;AACxC,WAAI,UAAU,UAAa,UAAU,GAAG;AACtC,0BAAkB,IAAI,KAAK,EAAE;AAC7B,iCAAyB,mBAAmB;aAE5C,mBAAkB,IAAI,KAAK,QAAQ,EAAE;;;AAI3C,SAAI,CAAC,eAAe,IAAI,eAAe,EAAE;AACvC,qBAAe,IAAI,eAAe;AAClC,UAAI,CAAC,mBAAmB,uBAAuB,CAAC,2BAA2B,oBAAoB,OAAO,EAAE;AACtG,0BAAmB,sBAAsB;AACzC,gCAAyB,mBAAmB;;;AAGhD,wBAAmB,uBAAuB;KAC1C,MAAM,cAAc,eAAe;AACnC,SAAI,gBAAgB,KAClB,gBAAe,cAAc,CAAC,UAAU;cAC/B,YAAY,QAAQ,UAAU,KAAK,GAC5C,aAAY,KAAK,UAAU;;IAG/B,SAAS,4BAA4B,aAAa,QAAQ;AACxD,UAAK,IAAI,IAAI,GAAG,IAAI,YAAY,QAAQ,KAAK;MAC3C,MAAM,YAAY,YAAY;AAC9B,UAAI,UAAU,YAAY,OACxB,QAAO;;AAGX,YAAO;;IAET,SAAS,mBAAmB,oBAAoB,QAAQ;KACtD,MAAM,aAAa,mBAAmB;AACtC,SAAI,eAAe,KACjB;KAEF,IAAI,OAAO;AACX,YAAO,SAAS,MAAM;AACpB,UAAI,KAAK,YAAY,IAAI,OAAO,EAAE;AAChC,WAAI,CAAC,KAAK,oBACR,0BAAyB,KAAK;AAEhC,YAAK,sBAAsB;AAC3B,YAAK,uBAAuB;iBACnB,KAAK,eAAe,MAAM;AACnC,cAAO,KAAK;AACZ;;AAEF,aAAO,KAAK,gBAAgB,MAAM;AAChC,WAAI,KAAK,WAAW,QAAQ,KAAK,WAAW,mBAC1C;AAEF,cAAO,KAAK;;AAEd,aAAO,KAAK;;;IAGhB,SAAS,0BAA0B,UAAU,qBAAqB,oBAAoB;KACpF,MAAM,eAAe,SAAS,iBAAiB,OAAO,qBAAqB,SAAS;AACpF,SAAI,wBAAwB,QAAQ,iBAAiB,MAAM;MACzD,MAAM,kBAAkB,SAAS;MACjC,IAAI,qBAAqB;AACzB,WAAK,IAAI,IAAI,GAAG,IAAI,oBAAoB,QAAQ,KAAK;OACnD,MAAM,YAAY,oBAAoB;AACtC,WAAI,oBAAoB,QAAQ,gBAAgB,QAAQ,UAAU,KAAK,MAAM,4BAA4B,iBAAiB,UAAU,QAAQ,KAAK,MAAM;QACrJ,MAAM,SAAS,UAAU;QACzB,MAAM,iBAAiB,aAAa,YAAY,IAAI,OAAO;AAC3D,YAAI,mBAAmB,UAAa,CAAC,eAAe,OAAO,SAAS,EAAE;SACpE,IAAI,mBAAmB;AACvB,cAAK,IAAI,IAAI,GAAG,IAAI,GAAG,IAErB,KADsB,oBAAoB,GAAG,YACvB,QAAQ;AAC5B,6BAAmB;AACnB;;AAGJ,aAAI,CAAC,iBACH,OAAM,IAAI,MAAM,sGAA2G;;AAG/H,YAAI,mBAAmB,UAAa,eAAe,SAAS,GAAG;AAC7D,sBAAa,YAAY,OAAO,OAAO;SACvC,MAAM,MAAM,OAAO;AACnB,aAAI,OAAO,MAAM;UACf,MAAM,oBAAoB,aAAa;UACvC,MAAM,QAAQ,kBAAkB,IAAI,IAAI;AACxC,cAAI,UAAU,UAAa,UAAU,EACnC,OAAM,IAAI,MAAM,oFAAyF;AAE3G,cAAI,UAAU,GAAG;AACf,6BAAkB,OAAO,IAAI;AAC7B,gCAAqB;gBAErB,mBAAkB,IAAI,KAAK,QAAQ,EAAE;;;AAI3C,YAAI,aAAa,uBAAuB,CAAC,2BAA2B,cAAc,OAAO,CACvF,oBAAmB,cAAc,OAAO;;;AAI9C,UAAI,mBACF,0BAAyB,aAAa;;;IAI5C,SAAS,YAAY,UAAU;KAC7B,MAAM,iBAAiB;AACvB,SAAI,mBAAmB,KACrB;AAEF,cAAS,SAAS;AAClB,SAAI,gCAAgC,MAAM;AACxC,oCAA8B;AAC9B,qBAAe,aAAa;YACvB;AACL,kCAA4B,cAAc;AAC1C,oCAA8B;;AAEhC,cAAS,cAAc;KACvB,MAAM,eAAe,SAAS;AAC9B,SAAI,iBAAiB,MAAM;MACzB,MAAM,aAAa;AACnB,UAAI,eAAe,MAAM;AACvB,oBAAa,SAAS;AACtB,WAAI,4CAA4C,MAAM;AACpD,kDAA0C;AAC1C,mBAAW,aAAa;cACnB;AACL,gDAAwC,cAAc;AACtD,kDAA0C;;AAE5C,oBAAa,cAAc;;;;IAIjC,SAAS,UAAU,UAAU,iBAAiB;AAC5C,iBAAY,UAAU,gBAAgB;AACtC,iBAAY,SAAS;;IAEvB,SAAS,YAAY,UAAU,iBAAiB;AAC9C,SAAI,SAAS,WAAW,MAAM;AAC5B,UAAI,iCAAiC,SACnC,OAAM,IAAI,MAAM,0DAA0D;eACjE,SAAS,gBAAgB,KAClC,OAAM,IAAI,MAAM,mDAAmD;AAErE;;KAEF,MAAM,iBAAiB;AACvB,SAAI,mBAAmB,KACrB,OAAM,IAAI,MAAM,iDAAiD;AAEnE,SAAI,SAAS,WAAW,eACtB,OAAM,IAAI,MAAM,yEAAyE;AAE3F,SAAI,oBAAoB,MAAM;AAC5B,UAAI,iCAAiC,SACnC,OAAM,IAAI,MAAM,8DAA8D;AAEhF,qCAA+B,SAAS;WAExC,iBAAgB,cAAc,SAAS;AAEzC,cAAS,cAAc;AACvB,cAAS,SAAS;KAClB,MAAM,eAAe,SAAS;AAC9B,SAAI,iBAAiB,QAAQ,aAAa,WAAW,MAAM;MACzD,MAAM,aAAa;AACnB,UAAI,eAAe,KACjB,OAAM,IAAI,MAAM,iDAAiD;AAEnE,UAAI,aAAa,WAAW,WAC1B,OAAM,IAAI,MAAM,kFAAkF;MAEpG,IAAI,0BAA0B;AAC9B,UAAI,4BAA4B,aAC9B,6CAA4C,aAAa;UAEzD,QAAO,4BAA4B,MAAM;AACvC,WAAI,wBAAwB,gBAAgB,cAAc;AACxD,gCAAwB,cAAc,aAAa;AACnD;;AAEF,iCAA0B,wBAAwB;;AAGtD,mBAAa,cAAc;AAC3B,mBAAa,SAAS;;;IAG1B,SAAS,kBAAkB,OAAO;AAChC,aAAQ,MAAM,KAAd;MACE,KAAK;MACL,KAAK,mBACH,QAAO,MAAM,kBAAkB;MACjC,QACE,QAAO;;;IAGb,SAAS,qBAAqB,OAAO;AACnC,aAAQ,MAAM,KAAd;MACE,KAAK;MACL,KAAK,mBACH,QAAO,MAAM,kBAAkB,QAAQ,MAAM,WAAW,QAAQ,MAAM,OAAO,QAAQ;MACvF,QACE,QAAO;;;IAGb,SAAS,2BAA2B;AAClC,SAAI,sBAAsB,SAAS,kBAAkB,SAAS,kBAAkB,kBAAkB,SAAS,4BAA4B,qBAAqB,kBAAkB,KAAK,IAAI,CAAC,yBAAyB;AAC/M,gCAA0B;AAC1B,UAAI;OACF,IAAI,QAAQ;AACZ,cAAO,UAAU,MAAM;AACrB,mCAA2B,MAAM;AACjC,gBAAQ;;gBAEF;AACR,iCAA0B;;YAEvB;MACL,IAAI,QAAQ;AACZ,aAAO,UAAU,MAAM;AACrB,kCAA2B,MAAM;AACjC,eAAQ;;;;IAId,SAAS,mCAAmC,iBAAiB,uBAAuB,yBAAyB,0BAA0B;AACrI,gCAA2B,gBAAgB;AAC3C,qCAAgC;AAChC,+CAA0C;AAC1C,iDAA4C;AAC5C,+BAA0B;;IAE5B,SAAS,UAAU,gBAAgB,eAAe,aAAa;KAC7D,IAAI,WAAW,cAAc;AAC7B,YAAO,aAAa,MAAM;AACxB,UAAI,mBAAmB,SACrB,QAAO;AAET,UAAI,aAAa,eAAe,UAAU,aAAa,YACrD;AAEF,iBAAW,SAAS;;AAEtB,YAAO;;IAET,SAAS,cAAc,GAAG,GAAG;AAC3B,SAAI,MAAM,KACR,QAAO,MAAM;AAEf,SAAI,MAAM,KACR,QAAO;AAET,SAAI,EAAE,WAAW,EAAE,OACjB,QAAO;AAET,UAAK,IAAI,IAAI,GAAG,IAAI,EAAE,QAAQ,KAAK;MACjC,MAAM,QAAQ,EAAE;MAChB,MAAM,QAAQ,EAAE;AAChB,UAAI,MAAM,MAAM,MAAM,KAAK,MAAM,MAAM,MAAM,KAAK,MAAM,UAAU,MAAM,SAAS,MAAM,WAAW,MAAM,OACtG,QAAO;;AAGX,YAAO;;IAET,SAAS,yCAAyC,cAAc;AAC9D,SAAI,wBACF;KAEF,MAAM,WAAW,aAAa;AAE9B,UADsC,SAAS,SAAS,kBAAkB,SAAS,SAAS,4BAA4B,SAAS,KAAK,QAAQ,qBAAqB,SAAS,KAAK,kBAAkB,KAEjM;KAEF,IAAI,SAAS,SAAS;AACtB,YAAO,WAAW,MAAM;AACtB,WAAK,OAAO,SAAS,kBAAkB,OAAO,SAAS,4BAA4B,kBAAkB,OAAO,KAAK,CAC/G;AAEF,UAAI,OAAO,iBAAiB,KAC1B;AAEF,eAAS,OAAO;;KAElB,MAAM,YAAY,gBAAgB,aAAa,SAAS;KACxD,MAAM,YAAY,aAAa;AAC/B,SAAI,cAAc,WAAW,UAAU,CACrC;AAEF,UAAK,IAAI,QAAQ,aAAa,YAAY,UAAU,MAAM,QAAQ,MAAM,YACtE,0CAAyC,MAAM;AAEjD,kBAAa,QAAQ;AACrB,0BAAqB,aAAa;;IAEpC,SAAS,uCAAuC,UAAU;KACxD,IAAI,eAAe;AACnB,SAAI,iBAAiB,KACnB;KAEF,MAAM,qBAAqB;AAC3B,SAAI,uBAAuB,KACzB,OAAM,IAAI,MAAM,gFAAgF;KAElG,IAAI,WAAW;KACf,IAAI,yBAAyB;AAC7B,YAAO,iBAAiB,KACtB,KAAI,UAAU,UAAU,aAAa,UAAU,mBAAmB,SAAS,EAAE;AAC3E,iBAAW;MACX,MAAM,uBAAuB,aAAa;AAC1C,UAAI,2BAA2B,KAC7B,6CAA4C;UAE5C,wBAAuB,cAAc;AAEvC,mBAAa,cAAc;AAC3B,UAAI,4CAA4C,KAC9C,oBAAmB,aAAa;UAEhC,yCAAwC,cAAc;AAExD,gDAA0C;AAC1C,+CAAyC,aAAa;AACtD,qBAAe;gBACN,SACT;UACK;AACL,+BAAyB;AACzB,qBAAe,aAAa;;;IAIlC,SAAS,gCAAgC,iBAAiB,YAAY,WAAW,iCAAiC,cAAc;KAC9H,MAAM,+BAA+B,yCAAyC,iBAAiB,kBAAkB;KACjH,MAAM,gBAAgB;KACtB,MAAM,kBAAkB;KACxB,MAAM,mBAAmB;AACzB,yBAAoB;AACpB,mCAA8B;AAC9B,oCAA+B;AAC/B,SAAI;AACF,sCAAgC,YAAY,WAAW,iCAAiC,eAAe,EAAE;AACzG,sCAAgC,gBAAgB;eACxC;AACR,0BAAoB;AACpB,oCAA8B;AAC9B,qCAA+B;AAC/B,uCAAiC,6BAA6B;;;IAGlE,SAAS,qBAAqB,UAAU;AACtC,6BAAwB,SAAS;AACjC,6BAAwB,OAAO,SAAS,GAAG;;IAE7C,SAAS,wBAAwB,UAAU;AACzC,SAAI,wBACF;AAEF,SAAI,6BAA6B,SAC/B,gBAAe,KAAK;KAEtB,MAAM,KAAK,SAAS;AACpB,6BAAwB,KAAK,GAAG;;IAElC,SAAS,4BAA4B,WAAW,OAAO;AACrD,SAAI,aAAa,MAAM;MACrB,MAAM,gBAAgB,UAAU;AAChC,WAAK,IAAI,IAAI,QAAQ,GAAG,IAAI,UAAU,QAAQ,KAAK;OACjD,MAAM,aAAa,UAAU;AAC7B,WAAI,OAAO,WAAW,QAAQ,SAC5B,QAAO,cAAc,QAAQ,WAAW,MAAM,WAAW,MAAM;;;AAIrE,YAAO;;IAET,SAAS,2BAA2B,OAAO;KACzC,MAAM,OAAO,MAAM;AAEnB,SADmB,cAAc,KAAK,KACnB,oBAAoB;MACrC,MAAM,YAAY,KAAK;AACvB,UAAI,UACF,MAAK,IAAI,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;OACzC,MAAM,aAAa,UAAU;AAC7B,WAAI,WAAW,QAEb,mBADkB,WACU;;;;IAMtC,SAAS,gCAAgC,OAAO;KAC9C,MAAM,eAAe,MAAM;AAC3B,SAAI,gBAAgB,KAClB;KAEF,MAAM,gBAAgB,aAAa;AACnC,SAAI,iBAAiB,KACnB;KAEF,MAAM,gBAAgB,cAAc,aAAa;AACjD,SAAI,CAAC,MAAM,QAAQ,cAAc,CAC/B;AAEF,UAAK,IAAI,IAAI,GAAG,IAAI,cAAc,QAAQ,KAAK;MAE7C,MAAM,YADW,cAAc,GACJ;AAC3B,UAAI,UACF,MAAK,IAAI,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;OACzC,MAAM,aAAa,UAAU;AAC7B,WAAI,WAAW,QAEb,mBADkB,WACU;;;;IAMtC,MAAM,qCAAqB,IAAI,SAAS;IACxC,SAAS,+BAA+B,kBAAkB,OAAO;KAC/D,MAAM,WAAW,MAAM;AACvB,SAAI,YAAY,KACd;KAEF,MAAM,gBAAgB,mBAAmB,IAAI,SAAS;AACtD,SAAI,kBAAkB,QAAW;AAC/B,wBAAkB,cAAc;AAChC;;KAEF,MAAM,QAAQ,MAAM;AAEpB,SAAI,EAD6B,SAAS,SAAS,iBAAiB,OAAO,MAAM,UAAU,YAAY,OAAO,eAAe,cAAc,WAAW,MAAM,MAAM,GAEhK;KAEF,MAAM,WAAW,SAAS;AAC1B,SAAI,YAAY,KACd;KAEF,MAAM,OAAO,SAAS;AACtB,SAAI,OAAO,SAAS,SAClB;KAEF,IAAI,QAAQ;KACZ,IAAI,MAAM;KACV,IAAI,WAAW;AACf,SAAI,OAAO,YAAY,qBAAqB,YAAY;MACtD,MAAM,kBAAkB,YAAY,iBAAiB,WAAW;AAChE,WAAK,IAAI,IAAI,GAAG,IAAI,gBAAgB,QAAQ,KAAK;OAC/C,MAAM,gBAAgB,gBAAgB;AACtC,WAAI,cAAc,SAAS,MAAM;AAC/B,gBAAQ,cAAc;AACtB,cAAM,QAAQ,cAAc;AAC5B,mBAAW,cAAc,gBAAgB;;;;KAI/C,MAAM,QAAQ,SAAS;KACvB,MAAM,UAAU,QAAQ,QAAQ,MAAM;AACtC,aAAQ,SAAS;AACjB,aAAQ,QAAQ;KAChB,MAAM,SAAS;MACb,MAAM;MACN;MACA;MACA,OAAO;MACP,OAAO;MACR;AACD,SAAI,WAAW,EACb,QAAO,WAAW;KAEpB,MAAM,YAAY;MAChB,SAAS;MACT,OAAO,MAAM,eAAe,OAAO,OAAO,MAAM;MAChD,YAAY,MAAM,eAAe,OAAO,OAAO,MAAM;MACrD,WAAW,MAAM,cAAc,OAAO,OAAO,MAAM;MACpD;AACD,wBAAmB,IAAI,UAAU,UAAU;AAC3C,uBAAkB,UAAU;;IAE9B,SAAS,gCAAgC,kBAAkB,OAAO;AAChE,SAAI,MAAM,QAAQ,cAChB;AAEF,UAAK,MAAM,OAAO,yBAAyB,EACzC;KAEF,MAAM,OAAO,MAAM;KACnB,MAAM,QAAQ,MAAM;AAEpB,SAAI,EADqB,SAAS,SAAS,MAAM,OAAO,QAAQ,MAAM,QAAQ,MAAM,MAAM,UAAU,QAAQ,MAAM,YAAY,QAE5H;KAEF,MAAM,WAAW,MAAM;AACvB,SAAI,YAAY,KACd;KAEF,MAAM,MAAM,SAAS;AACrB,SAAI,OAAO,QAAQ,YAAY,QAAQ,GACrC;KAEF,IAAI,QAAQ;KACZ,IAAI,MAAM;KACV,IAAI,WAAW;KACf,IAAI,WAAW;AACf,SAAI,OAAO,YAAY,qBAAqB,YAAY;MACtD,MAAM,kBAAkB,YAAY,iBAAiB,WAAW;AAChE,WAAK,IAAI,IAAI,GAAG,IAAI,gBAAgB,QAAQ,KAAK;OAC/C,MAAM,gBAAgB,gBAAgB;AACtC,WAAI,cAAc,SAAS,KAAK;AAC9B,gBAAQ,cAAc;AACtB,cAAM,QAAQ,cAAc;AAC5B,mBAAW,cAAc,mBAAmB;AAC5C,mBAAW,cAAc,gBAAgB;;;;KAI/C,MAAM,QAAQ,EACZ,YAAY,KACb;AACD,SAAI,SAAS,eAAe,KAAK,SAAS,gBAAgB,GAAG;AAC3D,YAAM,eAAe,SAAS;AAC9B,YAAM,gBAAgB,SAAS;;AAEjC,SAAI,WAAW,EACb,OAAM,WAAW;KAEnB,MAAM,UAAU,QAAQ,QAAQ,MAAM;AACtC,aAAQ,SAAS;AACjB,aAAQ,QAAQ;KAChB,MAAM,SAAS;MACb,MAAM;MACN;MACA;MACA,OAAO;MACP,OAAO;MACR;AACD,SAAI,WAAW,EACb,QAAO,WAAW;AAQpB,uBANkB;MAChB,SAAS;MACT,OAAO,MAAM,eAAe,OAAO,OAAO,MAAM;MAChD,YAAY,MAAM,eAAe,OAAO,OAAO,MAAM;MACrD,WAAW,MAAM,cAAc,OAAO,OAAO,MAAM;MACpD,CAC2B;;IAE9B,SAAS,kCAAkC,cAAc,YAAY;AACnE,SAAI,cAAc,MAAM;AACtB,UAAI,CAAC,aAAa,oBAChB,0BAAyB,aAAa;AAExC,mBAAa,sBAAsB;AACnC,mBAAa,uBAAuB;;;IAGxC,SAAS,gCAAgC,YAAY,WAAW,iCAAiC,cAAc;KAC7G,IAAI,QAAQ;KACZ,IAAI,0BAA0B;KAC9B,IAAI,oCAAoC;AACxC,YAAO,UAAU,QAAQ,UAAU,WAAW;MAC5C,IAAI,QAAQ;AACZ,UAAI,MAAM,WACR,MAAK,IAAI,IAAI,GAAG,IAAI,MAAM,WAAW,QAAQ,KAAK;OAChD,MAAM,aAAa,MAAM,WAAW;AACpC,WAAI,WAAW,SAAS;QACtB,MAAM,YAAY;AAClB,YAAI,UAAU,aACZ,mBAAkB,UAAU;AAE9B;;AAEF,WAAI,OAAO,WAAW,SAAS,SAC7B;OAEF,MAAM,gBAAgB;OACtB,MAAM,eAAe,4BAA4B,MAAM,YAAY,EAAE;AACrE,WAAI,cAAc,OAAO,KACvB,uBAAsB,IAAI,cAAc,IAAI;AAE9C,WAAI,iBAAiB,KACnB,uBAAsB,IAAI,aAAa;AAEzC,WAAI,oBAAoB,eAAe,aAAa,CAClD;AAEF,WAAI,UAAU,cAAc;AAC1B,YAAI,4BAA4B,QAAQ,wBAAwB,SAAS,YAAY;AACnF,aAAI,4BAA4B,KAC9B,iCAAgC,yBAAyB,mCAAmC,OAAO,iCAAiC,aAAa;AAEnJ,mCAA0B,sBAAsB,cAAc;AAC9D,4BAAmB,yBAAyB,mBAAmB,aAAa;AAC5E,qBAAY,wBAAwB;AACpC,6CAAoC;;AAEtC;AACA;aAEA;;AAIN,UAAI,UAAU,cAAc;AAC1B,WAAI,4BAA4B,MAAM;AACpC,wCAAgC,yBAAyB,mCAAmC,OAAO,iCAAiC,aAAa;AACjJ,kCAA0B;;AAE5B,6BAAsB,OAAO,gCAAgC;;AAE/D,cAAQ,MAAM;;AAEhB,SAAI,4BAA4B,KAC9B,iCAAgC,yBAAyB,mCAAmC,MAAM,iCAAiC,aAAa;;IAGpJ,SAAS,yBAAyB,YAAY,iCAAiC;AAC7E,qCAAgC,YAAY,MAAM,iCAAiC,EAAE;;IAEvF,SAAS,iCAAiC,cAAc,iCAAiC,uBAAuB,yBAAyB,0BAA0B;KACjK,MAAM,gBAAgB,aAAa;AACnC,qCAAgC,cAAc,eAAe,iCAAiC,EAAE;AAChG,qCAAgC;AAChC,+CAA0C;AAC1C,iDAA4C;AAC5C,SAAI,kBAAkB,KACpB,iCAAgC,eAAe,MAAM,iCAAiC,EAAE;;IAG5F,SAAS,sBAAsB,OAAO,iCAAiC;KACrE,MAAM,sBAAsB,CAAC,kBAAkB,MAAM;KACrD,IAAI,cAAc;KAClB,IAAI,kBAAkB;AACtB,SAAI,qBAAqB;AACvB,oBAAc,YAAY,OAAO,kBAAkB;AACnD,UAAI,MAAM,QAAQ,qBAAqB,MAAM,QAAQ,UAAU;AAC7D,yBAAkB,mBAAmB,YAAY;AACjD,WAAI,MAAM,QAAQ,kBAChB,KAAI,uBAAuB,IAEzB;YAAI,EADe,MAAM,kBAAkB,MAEzC,iBAAgB,QAAQ,gBAAgB,YAAY;cAEjD;AAEL,YADiB,gBAAgB,MAAM,EAGrC;aADqB,MAAM,UACN,KACnB,OAAM,IAAI,MAAM,mFAAmF;;AAIvG,YAAI,EADe,MAAM,kBAAkB,MAEzC,iBAAgB,QAAQ,gBAAgB,YAAY;;WAIxD,iBAAgB,QAAQ,gBAAgB,YAAY;AAEtD,2BAAoB,iBAAiB,8BAA8B;;AAErE,kBAAY,YAAY;gBAIf,sBAAsB,QAAQ,kBAAkB,SAAS,oBAAoB,MAAM,QAAQ,qBAAqB,MAAM,QAAQ,sBAAsB,MAAM,QAAQ,uBAAuB;AAClM,UAAI,sBAAsB,QAAQ,kBAAkB,SAAS,oBAAoB,kBAAkB,SAAS,MAAM,eAAe,MAAM,eAAe,QAAQ,kBAAkB,WAAW,KACzL,mBAAkB,SAAS,MAAM;AAEnC,oBAAc,4BAA4B,MAAM;AAChD,UAAI,MAAM,QAAQ,mBAAmB;AACnC,yBAAkB,mBAAmB,YAAY;AACjD,WAAI,uBAAuB,IAEzB;YAAI,EADe,MAAM,kBAAkB,MAEzC,iBAAgB,QAAQ,gBAAgB,YAAY;cAEjD;AAEL,YADiB,gBAAgB,MAAM,EAGrC;aADqB,MAAM,UACN,KACnB,OAAM,IAAI,MAAM,mFAAmF;;AAKvG,YAAI,EAFkB,MAAM,kBACS,MAEnC,iBAAgB,QAAQ,gBAAgB,YAAY;;;AAI1D,kBAAY,YAAY;;KAK1B,MAAM,+BAA+B,kCAAkC,OAAO,YAAY;KAC1F,MAAM,gBAAgB;KACtB,MAAM,kBAAkB;KACxB,MAAM,mBAAmB;KACzB,MAAM,wBAAwB;KAC9B,MAAM,0BAA0B;KAChC,MAAM,2BAA2B;AACjC,SAAI,gBAAgB,MAAM;AACxB,0BAAoB;AACpB,oCAA8B;AAC9B,qCAA+B;;KAEjC,IAAI,wBAAwB;AAC5B,SAAI,oBAAoB,MAAM;AAC5B,sCAAgC;AAChC,gDAA0C;AAC1C,kDAA4C;AAC5C,8BAAwB;;AAE1B,SAAI;AACF,UAAI,qBACF;WAAI,iCAEF;YADoB,uBAAuB,MAAM,KAC7B,0BAA0B;AAC5C,8BAAqB,IAAI,MAAM,UAAU;AACzC,2CAAkC;;;;AAIxC,iCAA2B,MAAM;AACjC,sCAAgC,MAAM;AACtC,UAAI,MAAM,QAAQ,eAAe;OAC/B,MAAM,kBAAkB;AACxB,WAAI,oBAAoB,KACtB,OAAM,IAAI,MAAM,iDAAiD;AAEnE,0BAAmB,iBAAiB,MAAM,cAAc;AACxD,sCAA+B,iBAAiB,MAAM;iBAC7C,MAAM,QAAQ,iBAAiB,MAAM,QAAQ,YAAY,MAAM,QAAQ,eAAe;OAC/F,MAAM,kBAAkB;AACxB,WAAI,oBAAoB,KACtB,OAAM,IAAI,MAAM,iDAAiD;AAEnE,0BAAmB,iBAAiB,MAAM,UAAU;AACpD,uCAAgC,iBAAiB,MAAM;;AAEzD,UAAI,qBAAqB,MAAM,EAAE;OAC/B,MAAM,sBAAsB;AAC5B,iCAA0B;AAC1B,WAAI;AACF,YAAI,MAAM,UAAU,KAClB,0BAAyB,MAAM,OAAO,MAAM;iBAEtC;AACR,kCAA0B;;iBAEnB,kBAAkB,MAAM,EAAE,YAAY,MAAM,QAAQ,qBAAqB,uBAAuB,IAAI;AAC7G,WAAI,oBAAoB,KACtB,mCAAkC,iBAAiB,MAAM,UAAU;AAGrE,WADmB,MAAM,kBAAkB,MAC3B;QACd,MAAM,uBAAuB,MAAM;QACnC,MAAM,wBAAwB,uBAAuB,qBAAqB,UAAU;AACpF,YAAI,uBAAuB;SACzB,MAAM,gBAAgB,sBAAsB;AAC5C,aAAI,kBAAkB,MAAM;AAC1B,4CAAkC,uBAAuB,KAAK;AAC9D,mCAAyB,eAAe,gCAAgC;;;cAGvE;QACL,MAAM,eAAe,MAAM;AAC3B,YAAI,iBAAiB,KACnB,0BAAyB,cAAc,gCAAgC;;iBAGlE,MAAM,QAAQ,qBAAqB,uBAAuB,MAAM,gBAAgB,QAAQ,oBAAoB,MAAM;OAC3H,MAAM,eAAe,MAAM;AAE3B,WADiB,gBAAgB,MAAM,EACzB;AACZ,YAAI,iBAAiB,KACnB,OAAM,IAAI,MAAM,mFAAmF;AAErG,0CAAkC,iBAAiB,MAAM,UAAU;AACnE,yCAAiC,cAAc,iCAAiC,uBAAuB,yBAAyB,yBAAyB;AACzJ,gCAAwB;;iBAGtB,MAAM,UAAU,KAClB,0BAAyB,MAAM,OAAO,gCAAgC;eAGlE;AACR,UAAI,gBAAgB,MAAM;AACxB,2BAAoB;AACpB,qCAA8B;AAC9B,sCAA+B;;AAEjC,UAAI,uBAAuB;AACzB,uCAAgC;AAChC,iDAA0C;AAC1C,mDAA4C;;;AAGhD,sCAAiC,6BAA6B;;IAEhE,SAAS,2BAA2B,UAAU;KAI5C,IAAI,wBAAwB;KAC5B,MAAM,gBAAgB;KACtB,MAAM,kBAAkB;KACxB,MAAM,mBAAmB;KACzB,MAAM,wBAAwB;KAC9B,MAAM,0BAA0B;KAChC,MAAM,2BAA2B;KACjC,MAAM,sBAAsB,SAAS;AACrC,yBAAoB;AACpB,mCAA8B;AAC9B,oCAA+B,SAAS;AACxC,cAAS,aAAa;AACtB,cAAS,cAAc;AACvB,SAAI,SAAS,iBAAiB,MAAM;AAClC,sCAAgC,SAAS;AACzC,gDAA0C;AAC1C,kDAA4C,SAAS,aAAa;AAClE,8BAAwB;;AAE1B,SAAI;AACF,WAAK,SAAS,SAAS,kBAAkB,SAAS,SAAS,4BAA4B,SAAS,KAAK,QAAQ,qBAAqB,uBAAuB,IAAI;OAC3J,MAAM,QAAQ,SAAS;OACvB,MAAM,uBAAuB;AAE7B,WADiB,gBAAgB,MAAM,EACzB;AACZ,YAAI,yBAAyB,KAC3B,OAAM,IAAI,MAAM,mFAAmF;AAErG,2CAAmC,sBAAsB,uBAAuB,yBAAyB,yBAAyB;AAClI,gCAAwB;kBAEpB,yBAAyB,KAC3B,OAAM,IAAI,MAAM,8DAA8D;YAIlF,2BAA0B;AAE5B,gCAA0B,UAAU,qBAAqB,8BAA8B;eAC/E;AACR,0BAAoB;AACpB,oCAA8B;AAC9B,qCAA+B;AAC/B,UAAI,uBAAuB;AACzB,uCAAgC;AAChC,iDAA0C;AAC1C,mDAA4C;;;AAGhD,SAAI,SAAS,SAAS,eACpB,eAAc,SAAS;cACd,SAAS,SAAS,iBAC3B,sBAAqB,SAAS;SAE9B,cAAa,UAAU,SAAS,KAAK;AAEvC,iBAAY,UAAU,KAAK;;IAE7B,SAAS,yBAAyB,eAAe,WAAW;KAC1D,MAAM,KAAK,cAAc;KACzB,MAAM,QAAQ,cAAc;KAC5B,MAAM,EACJ,gBACA,qBACE;AACJ,mBAAc,mBAAmB,oBAAoB;AACrD,SAAI,aAAa;AACf,UAAI,aAAa,QAAQ,qBAAqB,UAAU,kBAAkB;OACxE,MAAM,4BAA4B,KAAK,OAAO,oBAAoB,KAAK,IAAK;AAC5E,qBAAc,yCAAyC;AACvD,qBAAc,GAAG;AACjB,qBAAc,0BAA0B;;AAE1C,UAAI,aAAa,QAAQ,eAAe,WAAW,MAAM,EACvD;WAAI,kBAAkB,MAAM;QAC1B,IAAI,eAAe;QACnB,IAAI,QAAQ,MAAM;AAClB,eAAO,UAAU,MAAM;AACrB,yBAAgB,MAAM,kBAAkB;AACxC,iBAAQ,MAAM;;QAEhB,MAAM,WAAW;AACjB,iBAAS,UAAU,KAAK,IAAI,gBAAgB,aAAa;AACzD,iBAAS,oBAAoB,KAAK,IAAI,SAAS,mBAAmB,eAAe;AACjF,YAAI,0BAA0B;SAC5B,MAAM,oBAAoB,qBAAqB,WAAW,MAAM;AAChE,aAAI,sBAAsB,MACxB;cAAI,SAAS,uBAAuB,KAClC,UAAS,mBAAmB,IAAI,IAAI,kBAAkB;;;;;MAOhE,MAAM,WADY,YAAY,KAAK,UACR;AAC3B,UAAI,YAAY,SAAS,SAAS,IAAI,MAAM,IAAI,MAAM,cAAc,QAAQ,SAAS,IAAI,MAAM,UAAU,GAAG;OAC1G,MAAM,WAAW;AACjB,WAAI,SAAS,aAAa,KACxB,UAAS,WAAW,EAAE;AAExB,gBAAS,SAAS,KAAK,4BAA4B,cAAc,CAAC;;;;IAIxE,SAAS,gCAAgC,iBAAiB;KACxD,MAAM,KAAK,gBAAgB;KAC3B,IAAI,mBAAmB;AACvB,UAAK,IAAI,QAAQ,gBAAgB,YAAY,UAAU,MAAM,QAAQ,MAAM,YACzE,qBAAoB,MAAM;AAE5B,SAAI,aAAa;MACf,MAAM,2BAA2B,gBAAgB;AACjD,UAAI,qBAAqB,0BAA0B;OACjD,MAAM,4BAA4B,KAAK,OAAO,oBAAoB,KAAK,IAAK;AAC5E,qBAAc,yCAAyC;AACvD,qBAAc,GAAG;AACjB,qBAAc,0BAA0B;;;AAG5C,qBAAgB,mBAAmB;;IAErC,SAAS,yBAAyB,gBAAgB,cAAc;KAC9D,IAAI,QAAQ,eAAe;AAC3B,YAAO,UAAU,MAAM;AACrB,UAAI,MAAM,SAAS,yBAAyB;OAC1C,MAAM,QAAQ,MAAM;AACpB,WAAI,kBAAkB,MAAM,EAAE,OAC5B,0BAAyB,OAAO,aAAa;YAG/C,cAAa,KAAK,MAAM,GAAG;AAE7B,cAAQ,MAAM;;;IAGlB,SAAS,oBAAoB,gBAAgB;KAM3C,MAAM,eAAe,EAAE;AACvB,8BAAyB,gBAAgB,aAAa;KACtD,MAAM,cAAc,aAAa;AACjC,SAAI,cAAc,EAChB;AAEF,mBAAc,gCAAgC;AAC9C,mBAAc,eAAe,GAAG;AAChC,mBAAc,YAAY;AAC1B,UAAK,IAAI,IAAI,GAAG,IAAI,aAAa,QAAQ,IACvC,eAAc,aAAa,GAAG;;IAGlC,SAAS,iCAAiC,gBAAgB,cAAc;KACtE,IAAI,QAAQ,eAAe;AAC3B,YAAO,UAAU,MAAM;AACrB,UAAI,MAAM,SAAS,SAAS,wBAC1B,kCAAiC,OAAO,aAAa;UAErD,cAAa,KAAK,MAAM,SAAS,GAAG;AAEtC,cAAQ,MAAM;;;IAGlB,SAAS,4BAA4B,gBAAgB;KAMnD,MAAM,eAAe,EAAE;AACvB,sCAAiC,gBAAgB,aAAa;KAC9D,MAAM,cAAc,aAAa;AACjC,SAAI,cAAc,EAChB;AAEF,mBAAc,yCAAyC;AACvD,mBAAc,eAAe,SAAS,GAAG;AACzC,mBAAc,YAAY;AAC1B,UAAK,IAAI,IAAI,GAAG,IAAI,aAAa,QAAQ,IACvC,eAAc,aAAa,GAAG;;IAGlC,SAAS,iCAAiC,iBAAiB,gBAAgB,eAAe,gBAAgB,iCAAiC,cAAc;KACvJ,MAAM,gBAAgB;KACtB,MAAM,kBAAkB;KACxB,MAAM,mBAAmB;KACzB,MAAM,sBAAsB,gBAAgB;AAC5C,yBAAoB;AACpB,mCAA8B;AAC9B,oCAA+B,gBAAgB;AAC/C,qBAAgB,aAAa;AAC7B,qBAAgB,cAAc;AAC9B,SAAI;MACF,IAAI,cAAc,iCAAiC,gBAAgB,eAAe,gBAAgB,iCAAiC,eAAe,EAAE;AACpJ,WAAK,cAAc,yBAAyB,UAAU;AACpD,WAAI,CAAC,wBACH,qBAAoB,gBAAgB;AAEtC,sBAAe,CAAC;;AAElB,gCAA0B,iBAAiB,qBAAqB,8BAA8B;AAE9F,wBAAkB,iBADS,gCAAgC,IAAI,gBAAgB,KAAK,CAC9B;AACtD,sCAAgC,gBAAgB;AAChD,aAAO;eACC;AACR,gCAA0B;AAC1B,0BAAoB;AACpB,oCAA8B;AAC9B,qCAA+B;;;IAGnC,SAAS,iCAAiC,gBAAgB,eAAe,gBAAgB,iCAAiC,cAAc;KACtI,IAAI,cAAc;KAClB,IAAI,YAAY;KAChB,IAAI,uBAAuB;KAC3B,IAAI,0BAA0B;KAC9B,IAAI,kCAAkC;KACtC,IAAI,wCAAwC;KAC5C,IAAI,wCAAwC;AAC5C,YAAO,cAAc,QAAQ,cAAc,eAAe;MACxD,IAAI,QAAQ;AACZ,UAAI,UAAU,WACZ,MAAK,IAAI,IAAI,GAAG,IAAI,UAAU,WAAW,QAAQ,KAAK;OACpD,MAAM,aAAa,UAAU,WAAW;AACxC,WAAI,WAAW,SAAS;QACtB,MAAM,YAAY;AAClB,YAAI,UAAU,aACZ,mBAAkB,UAAU;AAE9B;;AAEF,WAAI,OAAO,WAAW,SAAS,SAC7B;OAEF,MAAM,gBAAgB;OACtB,MAAM,eAAe,4BAA4B,UAAU,YAAY,EAAE;AACzE,WAAI,cAAc,OAAO,KACvB,uBAAsB,IAAI,cAAc,IAAI;AAE9C,WAAI,iBAAiB,KACnB,uBAAsB,IAAI,aAAa;AAEzC,WAAI,oBAAoB,eAAe,aAAa,CAClD;AAEF,WAAI,UAAU,cAAc;AAC1B,YAAI,4BAA4B,QAAQ,wBAAwB,SAAS,eAAe;AACtF,aAAI,4BAA4B,KAC9B,KAAI,iCAAiC;AACnC,0CAAgC,yBAAyB,uCAAuC,WAAW,iCAAiC,aAAa;AACzJ,yBAAe,sBAAsB;eAErC,gBAAe,iCAAiC,yBAAyB,uCAAuC,WAAW,uCAAuC,iCAAiC,aAAa;SAGpN,IAAI,6BAA6B;SACjC,IAAI,YAAY;AAChB,aAAI,cAAc,OAAO,MAAM;AAC7B,sBAAY;AACZ,iBAAO,cAAc,MAAM;AACzB,eAAI,UAAU,SAAS,oBAAoB,UAAU,KAAK,QAAQ,cAAc,IAC9E;AAEF,wCAA6B;AAC7B,uBAAY,UAAU;;;AAG1B,aAAI,cAAc,QAAQ,UAAU,SAAS,oBAAoB,UAAU,KAAK,SAAS,cAAc,QAAQ,UAAU,KAAK,QAAQ,cAAc,OAAO,UAAU,KAAK,QAAQ,cAAc,KAAK;AACnM,oBAAU,OAAO;AACjB,oBAAU,WAAW,2BAA2B;AAChD,oCAA0B;AAC1B,4CAAkC;gBAC7B;UACL,MAAM,qBAAqB,sBAAsB,cAAc;AAC/D,6BAAmB,oBAAoB,mBAAmB,aAAa;AACvE,sBAAY,mBAAmB;AAC/B,oCAA0B;AAC1B,4CAAkC;AAClC,yBAAe;;AAEjB,iDAAwC;AACxC,iDAAwC;;AAE1C;AACA;aAEA;;AAIN,UAAI,UAAU,cAAc;AAC1B,WAAI,4BAA4B,MAAM;AACpC,YAAI,iCAAiC;AACnC,yCAAgC,yBAAyB,uCAAuC,WAAW,iCAAiC,aAAa;AACzJ,wBAAe,sBAAsB;cAErC,gBAAe,iCAAiC,yBAAyB,uCAAuC,WAAW,uCAAuC,iCAAiC,aAAa;AAElN,kCAA0B;;OAE5B,IAAI;AACJ,WAAI,yBAAyB,UAC3B,aAAY;WAEZ,aAAY,UAAU;OAExB,IAAI,oCAAoC;OACxC,IAAI,mBAAmB;AACvB,WAAI,cAAc,MAAM;AACtB,2BAAmB;AACnB,eAAO,qBAAqB,MAAM;AAChC,aAAI,iBAAiB,SAAS,UAC5B;AAEF,6CAAoC;AACpC,4BAAmB,iBAAiB;;;AAGxC,WAAI,qBAAqB,MAAM;QAC7B,MAAM,gBAAgB;AACtB,YAAI,cAAc,qBAChB,gBAAe,sBAAsB;AAEvC,kBAAU,eAAe,kCAAkC;AAC3D,uBAAe,uBAAuB,eAAe,WAAW,WAAW,gCAAgC;kBAClG,cAAc,QAAQ,kBAAkB,UAAU,EAAE;AAC7D,YAAI,cAAc,qBAChB,gBAAe,sBAAsB;AAEvC,uBAAe,uBAAuB,MAAM,WAAW,WAAW,gCAAgC;cAC7F;AACL,8BAAsB,WAAW,gCAAgC;AACjE,uBAAe,sBAAsB;;;AAGzC,kBAAY,UAAU;AACtB,WAAK,cAAc,yBAAyB,YAAY,yBAAyB,KAC/E,wBAAuB,qBAAqB;;AAGhD,SAAI,4BAA4B,KAC9B,KAAI,iCAAiC;AACnC,sCAAgC,yBAAyB,uCAAuC,MAAM,iCAAiC,aAAa;AACpJ,qBAAe,sBAAsB;WAErC,gBAAe,iCAAiC,yBAAyB,uCAAuC,MAAM,uCAAuC,iCAAiC,aAAa;AAG/M,SAAI,yBAAyB,KAC3B,gBAAe,sBAAsB;AAEvC,YAAO;;IAET,SAAS,0BAA0B,gBAAgB,gBAAgB,iCAAiC;AAClG,SAAI,mBAAmB,KACrB,QAAO,mBAAmB,OAAO,sBAAsB;AAEzD,YAAO,iCAAiC,gBAAgB,MAAM,gBAAgB,iCAAiC,EAAE;;IAEnH,SAAS,kCAAkC,kBAAkB,kBAAkB,iCAAiC,uBAAuB,yBAAyB,0BAA0B;KACxL,IAAI,cAAc;KAClB,MAAM,oBAAoB,iBAAiB;KAC3C,MAAM,oBAAoB,iBAAiB;AAC3C,oBAAe,iCAAiC,kBAAkB,mBAAmB,kBAAkB,iCAAiC,EAAE;AAC1I,qCAAgC;AAChC,+CAA0C;AAC1C,iDAA4C;AAC5C,SAAI,sBAAsB,QAAQ,sBAAsB,KACtD,KAAI,sBAAsB,KACxB,2BAA0B;UACrB;AACL,qBAAe,iCAAiC,mBAAmB,MAAM,mBAAmB,iCAAiC,EAAE;AAC/H,WAAK,cAAc,iCAAiC,UAAU;AAC5D,sBAAe;AACf,sBAAe,CAAC;;;AAItB,YAAO;;IAET,SAAS,uBAAuB,eAAe,WAAW,WAAW,iCAAiC;AAMpG,SAAI,qBAAqB;MACvB,MAAM,cAAc,uBAAuB,UAAU;AACrD,UAAI,iCACF;WAAI,gBAAgB,0BAA0B;AAC5C,6BAAqB,IAAI,UAAU,UAAU;AAC7C,0CAAkC;;iBAGhC,gBAAgB,6BAA6B,gBAAgB,0BAA0B,gBAAgB,sBAAsB,gBAAgB,yBAAyB,gBAAgB,4BACxL,mCAAkC,eAAe,WAAW,UAAU;;KAI5E,MAAM,gBAAgB;KACtB,MAAM,kBAAkB;KACxB,MAAM,mBAAmB;KACzB,MAAM,wBAAwB;KAC9B,MAAM,0BAA0B;KAChC,MAAM,2BAA2B;KACjC,IAAI,cAAc;KAClB,IAAI,4BAA4B;KAChC,IAAI,wBAAwB;KAC5B,IAAI,sBAAsB;AAC1B,SAAI,kBAAkB,MAAM;AAC1B,4BAAsB,cAAc;AACpC,oBAAc,OAAO;AACrB,UAAI,iCAAiC,SAAS,6BAA6B,OAAO,cAAc,MAAM,6BAA6B,SAAS,mBAAmB,UAAU,QAAQ,aAAa,eAAe,WAAW,UAAU,CAChO,uCAAsC;AAExC,0BAAoB;AACpB,oCAA8B;AAC9B,qCAA+B,cAAc;AAC7C,oBAAc,aAAa;AAC3B,oBAAc,cAAc;MAC5B,MAAM,eAAe,cAAc;AACnC,UAAI,iBAAiB,MAAM;AACzB,uCAAgC;AAChC,iDAA0C;AAC1C,mDAA4C,aAAa;AACzD,oBAAa,aAAa;AAC1B,mCAA4B;AAC5B,+BAAwB;;;AAG5B,SAAI;AACF,iCAA2B,UAAU;AACrC,sCAAgC,UAAU;AAC1C,UAAI,UAAU,QAAQ,eAAe;OACnC,MAAM,kBAAkB;AACxB,WAAI,oBAAoB,KACtB,OAAM,IAAI,MAAM,iDAAiD;AAEnE,WAAI,UAAU,kBAAkB,UAAU,eAAe;AACvD,4BAAoB,iBAAiB,UAAU,cAAc;AAC7D,2BAAmB,iBAAiB,UAAU,cAAc;;AAE9D,sCAA+B,iBAAiB,UAAU;iBACjD,UAAU,QAAQ,iBAAiB,UAAU,QAAQ,YAAY,UAAU,QAAQ,eAAe;OAC3G,MAAM,kBAAkB;AACxB,WAAI,oBAAoB,KACtB,OAAM,IAAI,MAAM,iDAAiD;AAEnE,WAAI,UAAU,cAAc,UAAU,WAAW;AAC/C,4BAAoB,iBAAiB,UAAU,UAAU;AACzD,2BAAmB,iBAAiB,UAAU,UAAU;;AAE1D,uCAAgC,iBAAiB,UAAU;;MAE7D,MAAM,mBAAmB,UAAU,QAAQ,qBAAqB,uBAAuB;MACvF,MAAM,iBAAiB,oBAAoB,UAAU,kBAAkB;MACvE,MAAM,iBAAiB,oBAAoB,UAAU,kBAAkB;MACvE,MAAM,gBAAgB,kBAAkB,UAAU;MAClD,MAAM,eAAe,kBAAkB,UAAU;MACjD,MAAM,mBAAmB,qBAAqB,UAAU;MACxD,MAAM,kBAAkB,qBAAqB,UAAU;AACvD,UAAI,kBACF;WAAI,kBAAkB,QAAQ,cAAc,iBAAiB,MAAM;QACjE,MAAM,eAAe,cAAc;AACnC,YAAI,UAAU,cAAc,UAAU,UAAU,cAAc,MAC5D,mCAAkC,cAAc,UAAU,UAAU;AAEtE,YAAI,UAAU,kBAAkB,UAAU,UAAU,kBAAkB,MACpE,0BAAyB,aAAa;;;AAI5C,UAAI,kBAAkB,gBAAgB;OACpC,MAAM,iBAAiB,UAAU;OACjC,MAAM,uBAAuB,iBAAiB,eAAe,UAAU;OACvE,MAAM,iBAAiB,UAAU;OACjC,MAAM,uBAAuB,iBAAiB,eAAe,UAAU;AACvE,WAAI,wBAAwB,QAAQ,wBAAwB,MAAM;AAChE,iCAAyB,sBAAsB,gCAAgC;AAC/E,uBAAe,sBAAsB;;OAEvC,MAAM,sBAAsB,wBAAwB,QAAQ,wBAAwB,OAAO,0BAA0B,sBAAsB,sBAAsB,gCAAgC,GAAG;AACpM,sBAAe;iBACN,kBAAkB,CAAC,gBAAgB;OAC5C,MAAM,sBAAsB,UAAU;AACtC,WAAI,wBAAwB,MAAM;AAChC,iCAAyB,qBAAqB,gCAAgC;AAC9E,uBAAe,sBAAsB;;iBAE9B,CAAC,kBAAkB,gBAAgB;OAC5C,MAAM,iBAAiB,UAAU;OACjC,MAAM,uBAAuB,iBAAiB,eAAe,UAAU;AACvE,WAAI,wBAAwB,MAAM;AAChC,iCAAyB,sBAAsB,gCAAgC;AAC/E,uBAAe,sBAAsB;;iBAE9B,iBAAiB;AAC1B,WAAI,CAAC,kBACH;YAAI,kBAAkB,QAAQ,CAAC,wBAC7B,+BAA8B,6BAA6B;;OAG/D,MAAM,sBAAsB;AAC5B,iCAA0B;AAC1B,WAAI;AACF,uBAAe,0BAA0B,UAAU,OAAO,UAAU,OAAO,MAAM;iBACzE;AACR,kCAA0B;;iBAEnB,oBAAoB,CAAC,iBAAiB;OAC/C,MAAM,sBAAsB;AAC5B,iCAA0B;AAC1B,WAAI;AACF,YAAI,UAAU,UAAU,KACtB,gBAAe,0BAA0B,UAAU,OAAO,UAAU,OAAO,MAAM;AAEnF,kCAA0B;AAC1B,uCAA+B;iBACvB;AACR,kCAA0B;;AAE5B,WAAI,kBAAkB,QAAQ,CAAC,yBAAyB;AACtD,qCAA6B,cAAc;AAC3C,uBAAe,sBAAsB;;iBAE9B,aACT,KAAI,eAAe,OACjB,2BAA0B;eAEnB,UAAU,QAAQ,qBAAqB,uBAAuB,MAAM,kBAAkB,QAAQ,cAAc,iBAAiB,MAAM;OAC5I,MAAM,eAAe,cAAc;OACnC,MAAM,mBAAmB,UAAU;OACnC,MAAM,mBAAmB,UAAU;OACnC,MAAM,mBAAmB,gBAAgB,UAAU;OACnD,MAAM,eAAe,gBAAgB,UAAU;AAC/C,WAAI,oBAAoB,cAAc;AACpC,YAAI,qBAAqB,QAAQ,qBAAqB,KACpD,OAAM,IAAI,MAAM,mFAAmF;AAErG,YAAI,UAAU,cAAc,UAAU,UAAU,cAAc,MAC5D,mCAAkC,cAAc,UAAU,UAAU;AAEtE,YAAI,UAAU,kBAAkB,UAAU,UAAU,kBAAkB,MACpE,0BAAyB,aAAa;AAExC,oCAA4B;AAC5B,uBAAe,kCAAkC,kBAAkB,kBAAkB,iCAAiC,uBAAuB,yBAAyB,yBAAyB;AAC/L,gCAAwB;AACxB,YAAI,UAAU,kBAAkB,KAC9B,6BAA4B,CAAC;kBAEtB,CAAC,oBAAoB,cAAc;AAC5C,YAAI,qBAAqB,KACvB,OAAM,IAAI,MAAM,mFAAmF;AAErG,0CAAkC,cAAc,UAAU,UAAU;AACpE,iCAAyB,aAAa;AACtC,yCAAiC,kBAAkB,iCAAiC,uBAAuB,yBAAyB,yBAAyB;AAC7J,gCAAwB;kBACf,oBAAoB,CAAC,aAC9B,OAAM,IAAI,MAAM,2EAA2E;iBAGzF,UAAU,UAAU,UAAU,MAChC,gBAAe,0BAA0B,UAAU,OAAO,UAAU,OAAO,gCAAgC;eAEvG,kBAAkB,MAAM;AAC1B,qBAAc,aAAa;AAC3B,sCAA+B;AAC/B,8CAAuC,cAAc;AACrD,WAAI,qBACF;YAAI,gCAEF,CADsB,4BAA4B,cAAc,CAClD,SAAQ,iBAAgB;AACpC,8BAAqB,IAAI,aAAa;UACtC;;aAGD;OACL,MAAM,sBAAsB,0BAA0B,UAAU,OAAO,UAAU,OAAO,MAAM;AAC9F,YAAK,sBAAsB,yBAAyB,SAClD,OAAM,IAAI,MAAM,mEAAmE;AAErF,sBAAe;;AAIrB,UAAI,kBAAkB,MAAM;AAC1B,iCAA0B,eAAe,qBAAqB,wBAAwB,gCAAgC,sBAAsB;AAC5I,WAAI,cAAc,SAAS,gBAAgB;QACzC,IAAI,qBAAqB,wBAAwB,IAAI,cAAc,KAAK;AACxE,YAAI,uBAAuB,UAAa,cAAc,KAAK,UACzD,sBAAqB,wBAAwB,IAAI,cAAc,KAAK,UAAU;AAEhF,0BAAkB,eAAe,mBAAmB;AAEpD,YAD6B,UAAU,eAAe,mBAAmB,CAEvE,0BAAyB,eAAe,UAAU;;;AAIxD,WAAK,cAAc,yBAAyB,UAC1C;WAAI,kBAAkB,QAAQ,cAAc,SAAS,gBAAgB;AACnE,YAAI,CAAC,mBAAmB,CAAC,wBACvB,qBAAoB,cAAc;AAEpC,uBAAe,CAAC;;;AAGpB,WAAK,cAAc,iCAAiC,UAClD;WAAI,kBAAkB,QAAQ,cAAc,SAAS,gBAAgB;QACnE,MAAM,eAAe,cAAc;AACnC,YAAI,iBAAiB,MAAM;AACzB,qCAA4B,aAAa;AACzC,wBAAe,CAAC;;;;AAItB,WAAK,cAAc,uCAAuC,UACxD;WAAI,kBAAkB,QAAQ,cAAc,SAAS,gBAEnD;YADqB,cAAc,iBACd,MAAM;AACzB,wBAAe,CAAC;AAChB,wBAAe;;;;AAIrB,aAAO;eACC;AACR,UAAI,kBAAkB,MAAM;AAC1B,iCAA0B;AAC1B,2BAAoB;AACpB,qCAA8B;AAC9B,sCAA+B;AAC/B,WAAI,2BACF;YAAI,CAAC,yBAAyB;SAC5B,MAAM,eAAe,cAAc;AACnC,aAAI,iBAAiB,KACnB,OAAM,IAAI,MAAM,4DAA4D;SAE9E,MAAM,YAAY,aAAa;SAC/B,MAAM,YAAY,gBAAgB,cAAc;AAChD,aAAI,CAAC,cAAc,WAAW,UAAU,EAAE;AACxC,uBAAa,QAAQ;AACrB,+BAAqB,aAAa;;;;AAIxC,WAAI,uBAAuB;AACzB,wCAAgC;AAChC,kDAA0C;AAC1C,oDAA4C;;;;;IAKpD,SAAS,8BAA8B,YAAY;AACjD,UAAK,IAAI,QAAQ,YAAY,UAAU,MAAM,QAAQ,MAAM,aAAa;AACtE,WAAK,MAAM,SAAS,kBAAkB,MAAM,SAAS,4BAA4B,qBAAqB,MAAM,KAAK,EAAE,OACjH,+BAA8B,MAAM,WAAW;AAEjD,UAAI,MAAM,SAAS,eACjB,kBAAiB,MAAM;eACd,MAAM,SAAS,iBACxB,yBAAwB,MAAM;;;IAIpC,SAAS,6BAA6B,gBAAgB;AACpD,UAAK,IAAI,QAAQ,eAAe,YAAY,UAAU,MAAM,QAAQ,MAAM,aAAa;AACrF,UAAI,MAAM,SAAS,eACjB,iBAAgB,OAAO,eAAe;eAC7B,MAAM,SAAS,iBAExB,wBAAuB,OAAO,gBADT,KACsC;AAE7D,WAAK,MAAM,SAAS,kBAAkB,MAAM,SAAS,4BAA4B,kBAAkB,MAAM,KAAK,EAAE,OAC9G,8BAA6B,MAAM;;;IAIzC,SAAS,UAAU;AACjB,mBAAc;;IAEhB,SAAS,sBAAsB,MAAM;AACnC,SAAI,KAAK,wBAAwB,KAC/B,QAAO;cACE,KAAK,WAAW,QAAQ,KAAK,QAAQ,eAAe,mBAAmB,CAChF,QAAO;SAEP,QAAO;;IAGX,SAAS,yBAAyB;KAChC,MAAM,8BAA8B;AACpC,8BAAyB;AACzB,SAAI,gCAAgC,QAAQ,4BAA4B,SAAS,EAC/E,6BAA4B,SAAQ,eAAc;AAChD,WAAK,KAAK,cAAc,WAAW;OACnC;UACG;AACL,UAAI,gBAAgB,KAClB,wBAAuB;AAEzB,WAAK,cAAc,WAAW,CAAC,SAAQ,SAAQ;OAC7C,MAAM,UAAU,KAAK;OACrB,MAAM,UAAU,oBAAoB,QAAQ;AAC5C,8BAAuB,IAAI,MAAM,QAAQ;AACzC,+BAAwB,IAAI,QAAQ,IAAI,QAAQ;AAChD,qBAAc;AACd,wBAAiB,YAAY,IAAI,KAAK,QAAQ;AAC9C,WAAI,eAAe,sBAAsB,KAAK,CAC5C,kCAAiC;QAC/B,oBAAoB,2CAA2B,IAAI,KAAK,GAAG;QAC3D,WAAW,EAAE;QACb,YAAY,yBAAyB,GAAG;QACxC,mBAAmB;QACnB,eAAe;QACf,UAAU;QACV,gBAAgB;QAChB,uBAAuB;QACxB;AAEH,6BAAsB,KAAK,SAAS,MAAM;AAC1C,2BAAoB;AACpB,mCAA4B;AAC5B,qBAAc;QACd;;;IAGN,SAAS,yBAAyB,OAAO;IACzC,SAAS,0BAA0B,MAAM;AACvC,SAAI,eAAe,sBAAsB,KAAK,EAC5C;UAAI,mCAAmC,MAAM;OAC3C,MAAM,EACJ,gBACA,0BACE,mBAAmB,KAAK;AAC5B,sCAA+B,iBAAiB;AAChD,sCAA+B,wBAAwB;;;AAG3D,SAAI,0BACF,mCAAkC;;IAGtC,SAAS,sBAAsB,MAAM,eAAe;KAClD,MAAM,YAAY,KAAK;KACvB,IAAI,YAAY;KAChB,IAAI,eAAe,uBAAuB,IAAI,KAAK;AACnD,SAAI,CAAC,cAAc;AACjB,qBAAe,oBAAoB,UAAU;AAC7C,6BAAuB,IAAI,MAAM,aAAa;AAC9C,8BAAwB,IAAI,aAAa,IAAI,aAAa;WAE1D,aAAY,aAAa;AAE3B,mBAAc;AACd,SAAI,gBAAgB,KAClB,wBAAuB;AAEzB,SAAI,oBACF,sBAAqB,OAAO;KAE9B,MAAM,uBAAuB,sBAAsB,KAAK;AACxD,SAAI,eAAe,qBACjB,kCAAiC;MAC/B,oBAAoB,2CAA2B,IAAI,KAAK,GAAG;MAC3D,WAAW,EAAE;MACb,YAAY,yBAAyB,GAAG;MACxC,mBAAmB;MACnB,eAAe,iBAAiB,OAAO,OAAO,oBAAoB,cAAc;MAChF,UAAU;MACV,gBAAgB;MAChB,uBAAuB;MACxB;KAEH,MAAM,gBAAgB,UAAU,UAAU;KAC1C,MAAM,iBAAiB,cAAc,QAAQ,UAAU,UAAU;AACjE,SAAI,CAAC,kBAAkB,eAAe;AACpC,uBAAiB,YAAY,IAAI,UAAU;AAC3C,4BAAsB,WAAW,MAAM;gBAC9B,kBAAkB,eAAe;AAC1C,UAAI,cAAc,KAChB,OAAM,IAAI,MAAM,4DAA4D;AAE9E,6BAAuB,cAAc,WAAW,WAAW,MAAM;gBACxD,kBAAkB,CAAC,eAAe;AAC3C,iCAA2B,aAAa;AACxC,0BAAoB,YAAY,GAAG;AACnC,6BAAuB,OAAO,KAAK;gBAC1B,CAAC,kBAAkB,CAAC,cAC7B,wBAAuB,OAAO,KAAK;AAErC,SAAI,eAAe,sBACjB;UAAI,CAAC,oCAAoC,EAAE;OACzC,MAAM,0BAA0B,iCAAiC,IAAI,YAAY,GAAG;AACpF,WAAI,2BAA2B,KAC7B,yBAAwB,KAAK,+BAA+B;WAE5D,kCAAiC,IAAI,YAAY,IAAI,CAAC,+BAA+B,CAAC;;;AAI5F,yBAAoB;AACpB,iCAA4B;AAC5B,SAAI,oBACF,MAAK,KAAK,gBAAgB,qBAAqB;AAEjD,mBAAc;;IAEhB,SAAS,oBAAoB,OAAO;AAClC,SAAI,MAAM,QAAQ,eAAe;MAC/B,MAAM,WAAW,MAAM;AACvB,UAAI,OAAO,aAAa,YAAY,aAAa,QAAQ,SAAS,YAAY,KAC5E,QAAO,SAAS;;AAGpB,YAAO;;IAET,SAAS,sCAAsC,kBAAkB,eAAe;AAC9E,SAAI,iBAAiB,SAAS,kBAAkB;MAC9C,MAAM,QAAQ,iBAAiB;AAC/B,iCAA2B,OAAO,cAAc;AAChD;;AAEF,UAAK,IAAI,QAAQ,iBAAiB,YAAY,UAAU,MAAM,QAAQ,MAAM,YAC1E,uCAAsC,OAAO,cAAc;;IAG/D,SAAS,2BAA2B,OAAO,eAAe;KACxD,IAAI,OAAO;AACX,YAAO,MAAM;AACX,UAAI,KAAK,QAAQ,iBAAiB,KAAK,QAAQ,YAAY,KAAK,QAAQ,iBAAiB,KAAK,QAAQ,eAAe;OACnH,MAAM,eAAe,KAAK,aAAa,oBAAoB,KAAK;AAChE,WAAI,aACF,eAAc,KAAK,aAAa;iBAEzB,KAAK,OAAO;AACrB,YAAK,MAAM,SAAS;AACpB,cAAO,KAAK;AACZ;;AAEF,UAAI,SAAS,MACX;AAEF,aAAO,CAAC,KAAK,SAAS;AACpB,WAAI,CAAC,KAAK,UAAU,KAAK,WAAW,MAClC;AAEF,cAAO,KAAK;;AAEd,WAAK,QAAQ,SAAS,KAAK;AAC3B,aAAO,KAAK;;;IAGhB,SAAS,4BAA4B,kBAAkB;KACrD,MAAM,gBAAgB,EAAE;AACxB,2CAAsC,kBAAkB,cAAc;AACtE,YAAO;;IAET,SAAS,8BAA8B,IAAI;AACzC,SAAI;MACF,MAAM,mBAAmB,wBAAwB,IAAI,GAAG;AACxD,UAAI,qBAAqB,QAAW;AAClC,eAAQ,KAAK,4CAA4C,GAAG,GAAG;AAC/D,cAAO;;AAET,aAAO,4BAA4B,iBAAiB;cAC7C,KAAK;AACZ,aAAO;;;IAGX,SAAS,wBAAwB,IAAI;AACnC,SAAI;MACF,MAAM,mBAAmB,wBAAwB,IAAI,GAAG;AACxD,UAAI,qBAAqB,QAAW;AAClC,eAAQ,KAAK,4CAA4C,GAAG,GAAG;AAC/D,cAAO;;AAET,UAAI,iBAAiB,iBAAiB,KACpC,QAAO;AAET,aAAO,iBAAiB,aAAa;cAC9B,KAAK;AACZ,aAAO;;;IAGX,SAAS,2BAA2B,IAAI;KACtC,MAAM,mBAAmB,wBAAwB,IAAI,GAAG;AACxD,SAAI,qBAAqB,OACvB,QAAO;AAET,SAAI,iBAAiB,SAAS,gBAAgB;MAC5C,MAAM,QAAQ,iBAAiB;AAC/B,UAAI,MAAM,QAAQ,SAChB,QAAO;AAET,UAAI,MAAM,QAAQ,qBAAqB,MAAM,QAAQ,mBAAmB;OACtE,MAAM,QAAQ,MAAM;AACpB,WAAI,MAAM,QAAQ,KAChB,QAAO,MAAM;OAEf,MAAM,QAAQ,mBAAmB,MAAM;AACvC,WAAI,SAAS,KACX,KAAI,OAAO,MAAM,QAAQ,SACvB,QAAO,uBAAuB,MAAM;WAEpC,QAAO,MAAM,QAAQ;;AAI3B,aAAO,uBAAuB,MAAM;WAEpC,QAAO,iBAAiB,KAAK,QAAQ;;IAGzC,SAAS,uBAAuB,UAAU;AACxC,YAAO,SAAS,iBAAiB,MAAM;AACrC,UAAI,SAAS,WAAW,KACtB,OAAM,IAAI,MAAM,sEAAsE;AAExF,iBAAW,SAAS;;AAEtB,YAAO,SAAS;;IAElB,SAAS,yBAAyB,gBAAgB;KAChD,IAAI,UAAU;AACd,YAAO,WAAW,CAAC,oCAAoC,IAAI,QAAQ,CACjE,WAAU,QAAQ;AAEpB,YAAO;;IAET,SAAS,4BAA4B,gBAAgB;KACnD,MAAM,WAAW,oCAAoC,IAAI,eAAe;AACxE,SAAI,aAAa,QAAW;AAC1B,UAAI,SAAS,SAAS,wBACpB,QAAO,SAAS,OAAO;AAEzB,aAAO,SAAS;;AAElB,YAAO;;IAET,SAAS,iCAAiC,gBAAgB;KACxD,MAAM,WAAW,oCAAoC,IAAI,eAAe;AACxE,SAAI,aAAa,QAAW;MAC1B,IAAI,mBAAmB;AACvB,aAAO,iBAAiB,iBAAiB,QAAQ,iBAAiB,SAAS,yBAAyB;AAClG,WAAI,iBAAiB,WAAW,KAC9B,QAAO;AAET,0BAAmB,iBAAiB;;AAEtC,aAAO,iBAAiB;;AAE1B,YAAO;;IAET,SAAS,0BAA0B,IAAI,MAAM;AAC3C,SAAI,+BAA+B,GAAG,CACpC,QAAO,kBAAkB,8BAA8B,KAAK;;IAIhE,SAAS,6BAA6B,IAAI;KACxC,MAAM,mBAAmB,wBAAwB,IAAI,GAAG;AACxD,SAAI,qBAAqB,QAAW;AAClC,cAAQ,KAAK,4CAA4C,GAAG,GAAG;AAC/D,aAAO;;AAET,SAAI,iBAAiB,SAAS,eAC5B,QAAO;KAGT,MAAM,EACJ,aACA,KACA,SAJY,iBAAiB;AAM/B,aAAQ,KAAR;MACE,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAKF,oBACH,QAAO;MACT,KAAKE,aACH,QAAO,KAAK;MACd,KAAK;MACL,KAAKD,sBACH,QAAO,eAAe,QAAQ,YAAY,QAAQ,OAAO,YAAY,OAAO;MAC9E,QACE,QAAO;;;IAGb,SAAS,4BAA4B,UAAU;AAC7C,SAAI,SAAS,SAAS,gBAAgB;MACpC,MAAM,QAAQ,SAAS;AACvB,aAAO;OACL,aAAa,uBAAuB,MAAM,IAAI;OAC9C,IAAI,SAAS;OACb,KAAK,MAAM;OACX,KAAK;OACL,OAAO,MAAM,eAAe,QAAQ,MAAM,eAAe,OAAO,OAAO,gBAAgB,MAAM,aAAa,EAAE;OAC5G,MAAM,uBAAuB,MAAM;OACpC;YACI;MACL,MAAM,gBAAgB,SAAS;AAC/B,aAAO;OACL,aAAa,cAAc,QAAQ;OACnC,IAAI,SAAS;OACb,KAAK,cAAc,OAAO,OAAO,OAAO,cAAc;OACtD,KAAK,cAAc,OAAO,OAAO,OAAO,cAAc;OACtD,OAAO,cAAc,SAAS,QAAQ,cAAc,cAAc,OAAO,OAAO,gBAAgB,cAAc,YAAY,EAAE;OAC5H,MAAM;OACP;;;IAGL,SAAS,cAAc,IAAI;KACzB,MAAM,mBAAmB,wBAAwB,IAAI,GAAG;AACxD,SAAI,qBAAqB,QAAW;AAClC,cAAQ,KAAK,4CAA4C,GAAG,GAAG;AAC/D,aAAO;;KAET,MAAM,OAAO,4BAA4B,iBAAiB;KAC1D,MAAM,SAAS,0BAA0B,iBAAiB;AAC1D,SAAI,WAAW,KACb,QAAO,CAAC,KAAK;AAEf,YAAO,QAAQ,KAAK;AACpB,YAAO,SAAS;AAChB,YAAO;;IAET,SAAS,0BAA0B,UAAU;KAC3C,IAAI,QAAQ,mBAAmB,SAAS,KAAK;AAC7C,SAAI,UAAU,KACZ,QAAO;KAET,MAAM,SAAS,EAAE;KACjB,IAAI,iBAAiB,SAAS;AAC9B,YAAO,mBAAmB,QAAQ,UAAU,MAAM;MAChD,MAAM,gBAAgB,yBAAyB,gBAAgB,MAAM;AACrE,UAAI,kBAAkB,MAAM;AAC1B,cAAO,KAAK,4BAA4B,cAAc,CAAC;AACvD,eAAQ,mBAAmB,MAAM;AACjC,wBAAiB,cAAc;YAE/B;;AAGJ,YAAO;;IAET,SAAS,mBAAmB,OAAO;AACjC,SAAI,SAAS,KACX,QAAO;AAET,SAAI,OAAO,MAAM,QAAQ,SAEvB,SADmB,MACA;SAGnB,SADkB,MACA;AAEpB,YAAO,MACL,KAAI,OAAO,MAAM,QAAQ,UAAU;MACjC,MAAM,aAAa;AACnB,UAAI,CAAC,kBAAkB,WAAW,CAChC,QAAO;AAET,cAAQ,WAAW;YACd;MACL,MAAM,YAAY;AAClB,UAAI,CAAC,oBAAoB,WAAW,KAAK,CACvC,QAAO;AAET,cAAQ,UAAU;;AAGtB,YAAO;;IAET,SAAS,yBAAyB,gBAAgB,OAAO;AACvD,SAAI,SAAS,KACX,QAAO;AAET,YAAO,mBAAmB,MAAM;AAC9B,UAAI,eAAe,SAAS,SAAS,eAAe,SAAS,MAAM,WAAW;AAC5E,WAAI,eAAe,SAAS,wBAC1B,QAAO;AAET,cAAO;;AAET,uBAAiB,eAAe;;AAElC,YAAO;;IAET,SAASE,eAAa,OAAO;KAC3B,MAAM,yBAAyB,EAAE;AACjC,UAAK,MAAM,UAAU,QACnB,KAAI;AACF,6BAAuB,UAAU,QAAQ;AACzC,cAAQ,gBAAgB;cACjB,OAAO;AAElB,SAAI;AACF,aAAO,oBAAoB,OAAO,iBAAiB,SAAS,CAAC;eACrD;AACR,WAAK,MAAM,UAAU,uBACnB,KAAI;AACF,eAAQ,UAAU,uBAAuB;eAClC,OAAO;;;IAItB,SAAS,6BAA6B,cAAc,uBAAuB;KACzE,MAAM,SAAS,EAAE;AACjB,SAAI,CAAC,aAAa,oBAChB,QAAO;KAET,IAAI,gBAAgB;KACpB,IAAI,aAAa;KACjB,MAAM,gCAAgB,IAAI,KAAK;AAC/B,kBAAa,YAAY,SAAS,KAAK,WAAW;MAChD,IAAI,aAAa,aAAa;AAC9B,aAAO,eAAe,MAAM;AAC1B,WAAI,WAAW,YAAY,IAAI,OAAO,CACpC;AAEF,oBAAa,WAAW;;AAE1B,UAAI,IAAI,SAAS,EACf;MAEF,IAAI,gBAAgB;AACpB,UAAI,0BAA0B,KAC5B,iBAAgB,IAAI,QAAQ,CAAC,MAAM,CAAC;UAEpC,MAAK,MAAM,iBAAiB,IAAI,QAAQ,EAAE;AACxC,WAAI,kBAAkB,KACpB,iBAAgB;AAElB,WAAI,kBAAkB,yBAAyB,CAAC,UAAU,uBAAuB,eAAe,aAAa,SAAS,CACpH;;AAIN,UAAI,kBAAkB,QAAQ,cAAc,gBAAgB,MAAM;OAChE,MAAM,YAAY,4BAA4B,cAAc,aAAa,OAAO;AAChF,WAAI,cAAc,MAAM;QACtB,IAAI,QAAQ;AACZ,YAAI,UAAU,SAAS,QAAQ,UAAU,SAAS,MAChD;aAAI,kBAAkB,cACpB,SAAQ;kBACC,cAAc,SAAS,kBAAkB;UAClD,MAAM,QAAQ,cAAc;AAC5B,cAAI,MAAM,gBAAgB,MAAM,aAAa,qBAAqB;AAChE,2BAAgB;AAChB,wBAAa,QAAQA,eAAa,MAAM;;;;QAI9C,MAAM,QAAQ,UAAU;AACxB,aAAK,MAAM,SAAS,gBAAgB,MAAM,SAAS,iBAAiB,MAAM,SAAS,MAAM;SACvF,MAAM,gBAAgB,MAAM;SAC5B,MAAM,gBAAgB,cAAc,IAAI,cAAc;AACtD,aAAI,kBAAkB,OACpB,eAAc,IAAI,eAAe;UAC/B;UACA,UAAU;UACV;UACD,CAAC;cACG;UACL,MAAM,aAAa,cAAc,UAAU;AAC3C,cAAI,UAAU,eAAe,MAAM,aAAa,UAAa,WAAW,aAAa,UAAa,MAAM,WAAW,WAAW,YAAY,MAAM,MAAM,WAAW,MAAM;AACrK,yBAAc,YAAY;AAC1B,yBAAc,WAAW;AACzB,yBAAc,QAAQ;;;cAI1B,QAAO,KAAK,mBAAmB,WAAW,eAAe,MAAM,CAAC;;;OAItE;AACF,mBAAc,SAAS,EACrB,WACA,UACA,YACI;AACJ,aAAO,KAAK,mBAAmB,WAAW,UAAU,MAAM,CAAC;OAC3D;AACF,YAAO;;IAET,SAAS,yBAAyB,kBAAkB,OAAO;KACzD,MAAM,cAAc,iBAAiB;AACrC,SAAI,gBAAgB,KAClB,QAAO,EAAE;KAEX,MAAM,iCAAiB,IAAI,KAAK;KAChC,MAAM,gCAAgB,IAAI,KAAK;KAC/B,MAAM,SAAS,EAAE;AACjB,UAAK,IAAI,IAAI,GAAG,IAAI,YAAY,QAAQ,KAAK;MAC3C,MAAM,YAAY,YAAY;MAC9B,MAAM,SAAS,UAAU;AACzB,UAAI,eAAe,IAAI,OAAO,CAC5B;AAEF,qBAAe,IAAI,OAAO;AAC1B,WAAK,OAAO,SAAS,gBAAgB,OAAO,SAAS,iBAAiB,OAAO,SAAS,MAAM;OAC1F,MAAM,gBAAgB,OAAO;OAC7B,MAAM,gBAAgB,cAAc,IAAI,cAAc;AACtD,WAAI,kBAAkB,OACpB,eAAc,IAAI,eAAe,UAAU;YACtC;QACL,MAAM,aAAa,cAAc;AACjC,YAAI,WAAW,eAAe,OAAO,aAAa,UAAa,WAAW,aAAa,UAAa,OAAO,WAAW,WAAW,YAAY,OAAO,MAAM,WAAW,KACnK,eAAc,IAAI,eAAe,UAAU;;YAI/C,QAAO,KAAK,mBAAmB,WAAW,kBAAkB,MAAM,CAAC;;AAGvE,mBAAc,SAAQ,cAAa;AACjC,aAAO,KAAK,mBAAmB,WAAW,kBAAkB,MAAM,CAAC;OACnE;AACF,YAAO;;IAET,SAAS,gCAAgC,kBAAkB;KACzD,IAAI,yBAAyB;AAC7B,YAAO,uBAAuB,iBAAiB,MAAM;AACnD,UAAI,uBAAuB,WAAW,KACpC,QAAO,EAAE;AAEX,+BAAyB,uBAAuB;;KAElD,MAAM,eAAe,uBAAuB;AAC5C,YAAO,6BAA6B,cAAc,iBAAiB;;IAErE,MAAM,uBAAuB;IAC7B,SAAS,oBAAoB,cAAc;KACzC,IAAI,MAAM;KACV,IAAI,MAAM;AACV,kBAAa,YAAY,SAAS,GAAG,WAAW;AAC9C,UAAI,OAAO,MAAM,IACf,OAAM,OAAO;AAEf,UAAI,OAAO,QAAQ,IACjB,OAAM,OAAO;OAEf;KACF,MAAM,qBAAqB,aAAa;AACxC,SAAI,uBAAuB,MAAM;MAC/B,IAAI,YAAY;AAChB,yBAAmB,YAAY,SAAS,GAAG,WAAW;AACpD,WAAI,OAAO,MAAM,UACf,aAAY,OAAO;QAErB;MACF,MAAM,eAAe,YAAY;AACjC,UAAI,eAAe,IACjB,OAAM;MAER,IAAI,YAAY,MAAM;AACtB,UAAI,YAAY,UACd,aAAY;AAEd,UAAI,YAAY,IACd,OAAM;;AAGV,SAAI,MAAM,YAAY,MAAM,UAC1B,QAAO,CAAC,KAAK,IAAI;AAEnB,YAAO;;IAET,SAAS,uBAAuB,OAAO,WAAW;AAChD,UAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;MACrC,MAAM,OAAO,MAAM;MACnB,MAAM,YAAY,KAAK;AACvB,UAAI,aAAa,QAAQ,UAAU,QAAQ,UAAU,KAAK,IAAI;OAC5D,MAAM,SAAS,KAAK;AACpB,WAAI,UAAU,QAAQ,OAAO,iBAAiB,QAAQ,OAAO,aAAa,QAAQ,OAAO,eAAe,QAAQ,OAAO,iBAAiB,KAEtI,QAAO,CADU;QAAC,OAAO;QAAc,OAAO;QAAU,OAAO;QAAY,OAAO;QAAc;QAAG;QAAG;QAAM,CAC3F;WAEjB,QAAO,EAAE;;MAGb,MAAM,eAAe,uBAAuB,KAAK,UAAU,UAAU;AACrE,UAAI,iBAAiB,MAAM;OACzB,MAAM,SAAS,KAAK;AACpB,WAAI,UAAU,QAAQ,OAAO,iBAAiB,QAAQ,OAAO,aAAa,QAAQ,OAAO,eAAe,QAAQ,OAAO,iBAAiB,MAAM;QAC5I,MAAM,WAAW;SAAC,OAAO;SAAc,OAAO;SAAU,OAAO;SAAY,OAAO;SAAc;SAAG;SAAG;SAAM;AAC5G,qBAAa,KAAK,SAAS;;AAE7B,cAAO;;;AAGX,YAAO;;IAET,SAAS,mBAAmB,WAAW,gBAAgB,OAAO;KAC5D,MAAM,SAAS,UAAU;KACzB,MAAM,kBAAkB,yBAAyB,gBAAgB,OAAO,MAAM;KAC9E,IAAI,aAAa,UAAU,cAAc,OAAO,OAAO,gBAAgB,UAAU,YAAY,EAAE;KAC/F,IAAI;AACJ,SAAI,UAAU,SAAS,SAAS,eAAe,QAAQ,WAAW,WAAW,IAAI;AAC/E,mBAAa;AACb,2BAAqB,eAAe,SAAS,0BAA0B,OAAO;AAC9E,UAAI,eAAe,SAAS,kBAAkB,eAAe,SAAS,yBAAyB;OAC7F,MAAM,QAAQ,eAAe;AAC7B,eAAQ,MAAM,KAAd;QACE,KAAK;QACL,KAAKH;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAKC;AACH,aAAI,UAAU,KACZ,cAAa,uBAAuB,OAAO,UAAU;AAEvD;QACF,QACE,KAAI,MAAM,eAAe,QAAQ,MAAM,eAAe,QAAQ,OAAO,MAAM,gBAAgB,UAAU;AACnG,sBAAa,gBAAgB,MAAM,aAAa,EAAE;AAClD,8BAAqB,yBAAyB,gBAAgB,MAAM,YAAY;;;;WAKxF,sBAAqB,yBAAyB,gBAAgB,UAAU,MAAM;KAEhF,MAAM,QAAQ,OAAO;KACrB,IAAI,gBAAgB;AACpB,SAAI,OAAO,UAAU,YAAY,UAAU,QAAQ,OAAO,MAAM,SAAS,WACvE,SAAQ,MAAM,QAAd;MACE,KAAK;AACH,uBAAgB,MAAM;AACtB;MACF,KAAK;AACH,uBAAgB,MAAM;AACtB;;AAGN,YAAO;MACL,SAAS;OACP,MAAM,OAAO;OACb,aAAa,iBAAiB,cAAc;OAC5C,OAAO,OAAO;OACd,KAAK,OAAO;OACZ,UAAU,OAAO,YAAY,OAAO,OAAO,OAAO;OAClD,OAAO,OAAO,SAAS,OAAO,OAAO,OAAO;OAC5C,KAAK,OAAO,OAAO,OAAO,OAAO,OAAO;OACxC,OAAO,oBAAoB,OAAO,OAAO,4BAA4B,gBAAgB;OACrF,OAAO,OAAO,cAAc,OAAO,OAAO,gBAAgB,OAAO,YAAY,EAAE;OAChF;MACD,KAAK,UAAU,OAAO,OAAO,OAAO,UAAU;MAC9C,OAAO,uBAAuB,OAAO,OAAO,4BAA4B,mBAAmB;MAC3F,OAAO;MACR;;IAEH,SAAS,oBAAoB,IAAI;KAC/B,IAAI,WAAW;KACf,IAAI,QAAQ;KACZ,MAAM,mBAAmB,wBAAwB,IAAI,GAAG;AACxD,SAAI,qBAAqB,QAAW;AAClC,cAAQ,KAAK,4CAA4C,GAAG,GAAG;AAC/D,aAAO;OACL;OACA;OACD;;AAEH,SAAI,iBAAiB,SAAS,eAC5B,QAAO;MACL;MACA;MACD;KAEH,MAAM,QAAQ,iBAAiB;AAC/B,SAAI,UAAU,MAAM;AAClB,iBAAW,MAAM;AACjB,UAAI,MAAM,kBAAkB,KAC1B,SAAQ,MAAM,cAAc;;AAGhC,YAAO;MACL;MACA;MACD;;IAEH,SAAS,gBAAgB,OAAO;KAC9B,MAAM,EACJ,KACA,SACE;AACJ,aAAQ,KAAR;MACE,KAAK;MACL,KAAK;OACH,MAAM,WAAW,MAAM;AACvB,cAAO,OAAO,KAAK,6BAA6B,cAAc,aAAa,QAAQ,OAAO,SAAS,sBAAsB;MAC3H,QACE,QAAO;;;IAGb,SAAS,kBAAkB,IAAI;KAC7B,MAAM,mBAAmB,wBAAwB,IAAI,GAAG;AACxD,SAAI,qBAAqB,QAAW;AAClC,cAAQ,KAAK,4CAA4C,GAAG,GAAG;AAC/D,aAAO;;AAET,SAAI,iBAAiB,SAAS,iBAC5B,QAAO,0BAA0B,iBAAiB;AAEpD,SAAI,iBAAiB,SAAS,eAE5B,QADe,iBAAiB,WAAW,OAC3B,gBAAgB,iBAAiB,GAAG,GAAG,wBAAwB,iBAAiB;AAGlG,WAAM,IAAI,MAAM,4BAA4B;;IAE9C,SAAS,wBAAwB,eAAe;KAC9C,MAAM,QAAQ,cAAc;AAC5B,SAAI,SAAS,KACX,QAAO;KAET,MAAM,EACJ,WACA,KACA,eACA,eACA,cACA,KACA,SACE;KACJ,MAAM,cAAc,uBAAuB,MAAM;KACjD,MAAM,aAAa,QAAQD,uBAAqB,QAAQC,yBAAuB,QAAQC,kBAAgB,CAAC,CAAC,iBAAiB,CAAC,CAAC;KAC5H,MAAM,YAAY,QAAQ,kBAAkB,QAAQ;KACpD,MAAM,aAAa,cAAc,KAAK;KACtC,IAAI,gBAAgB;KACpB,IAAI,UAAU;AACd,SAAI,QAAQ,kBAAkB,QAAQF,uBAAqB,QAAQ,4BAA4B,QAAQ,+BAA+B,QAAQ,0BAA0B,QAAQ,iBAAiB,QAAQE,gBAAc,QAAQD,uBAAqB;AAClP,sBAAgB;AAChB,UAAI,aAAa,UAAU,WAAW,MAEpC;WAAI,EADsB,gBAAgB,0BAA0B,EAAE,KAAK,gBAAgB,KAAK,cAE9F,WAAU,UAAU;;iBAGd,eAAe,kBAAkB,eAAe,0BAA0B,EAAE,KAAK,aAAa,UAAa,KAAK,aAAa,OAAO;MAC9I,MAAM,0BAA0B,KAAK,YAAY;AACjD,gBAAU,wBAAwB,iBAAiB;MACnD,IAAIG,YAAU,MAAM;AACpB,aAAOA,cAAY,MAAM;OACvB,MAAM,cAAcA,UAAQ;OAC5B,MAAM,oBAAoB,cAAc,YAAY;AACpD,WAAI,sBAAsB,mBAAmB,sBAAsB,wBAEjE;aADgC,YAAY,YAAY,YAAY,aACpC,yBAAyB;AACvD,mBAAUA,UAAQ,cAAc;AAChC;;;AAGJ,mBAAUA,UAAQ;;gBAEX,eAAe,wBAAwB;MAChD,MAAM,0BAA0B,KAAK;AACrC,gBAAU,wBAAwB,iBAAiB;MACnD,IAAIA,YAAU,MAAM;AACpB,aAAOA,cAAY,MAAM;OACvB,MAAM,cAAcA,UAAQ;AAE5B,WAD0B,cAAc,YAAY,KAC1B,uBAExB;YADgC,gBACA,yBAAyB;AACvD,mBAAUA,UAAQ,cAAc;AAChC;;;AAGJ,mBAAUA,UAAQ;;;KAGtB,IAAI,mBAAmB;AACvB,SAAI,YAAY,MAAM;AACpB,yBAAmB,CAAC,CAAC,KAAK;AAC1B,gBAAU,EACR,OAAO,SACR;;KAEH,MAAM,SAAS,0BAA0B,cAAc;KACvD,IAAI,QAAQ;AACZ,SAAI,UACF,SAAQD,eAAa,MAAM;KAE7B,IAAI,WAAW;KACf,IAAI,UAAU;KACd,IAAI,mBAAmB;KACvB,IAAI,sBAAsB;AAC1B,YAAO,QAAQ,WAAW,MAAM;MAC9B,MAAM,OAAO;AACb,gBAAU,QAAQ;AAClB,UAAI,KAAK,QAAQ,kBACf,uBAAsB;eACb,gBAAgB,KAAK,CAC9B,oBAAmB;;KAGvB,MAAM,YAAY,QAAQ;AAC1B,SAAI,aAAa,QAAQ,UAAU,mBAAmB,KACpD,YAAW,UAAU;KAEvB,IAAI,YAAY;AAChB,SAAI,gBAAgB,MAAM,CAExB,cAAa,MAAM,QADA,SACwB,KAAK,oBAAoB,IAAI,MAAM,KAAK,QAAQ,MAAM,cAAc,QAAQ,oBAAoB,IAAI,MAAM,UAAU,KAAK;KAEtK,MAAM,UAAU,EACd,QAAQ,MACT;KAMD,IAAI,SAAS;AACb,SAAI,cACF,UAAS,0BAA0B,cAAc;KAEnD,IAAI,qBAAqB,wBAAwB,IAAI,MAAM;AAC3D,SAAI,uBAAuB,UAAa,MAAM,cAAc,KAC1D,sBAAqB,wBAAwB,IAAI,MAAM,UAAU;KAEnE,IAAI,YAAY;AAChB,SAAI,gBAAgB,yBAClB,aAAY,aAAa,MAAM,UAAU;KAE3C,IAAI,cAAc;AAClB,SAAI,QAAQ,kBACV,eAAc,kBAAkB;KAElC,MAAM,cAAc,cAAc,iBAAiB,OAAO,6BAA6B,cAAc,cAAc,KAAK,GAAG,QAAQ,oBAAoB,gCAAgC,cAAc,GAAG,yBAAyB,eAAe,MAAM;KACtP,MAAM,mBAAmB,oBAAoB,uBAAuB,cAAc,CAAC;KACnF,IAAI,oBAAoB;AACxB,SAAI,cAAc,iBAAiB,QAAQ,cAAc,aAAa,wBAAwB,CAAC,YAC7F,KAAI,SAAS,eAAe,EAC1B,qBAAoB;cACX,EAAE,gBAAgB,OAC3B,qBAAoB;SAEpB,qBAAoB;AAGxB,YAAO;MACL,IAAI,cAAc;MAClB,cAAc,OAAO,sBAAsB;MAC3C,sBAAsB,OAAO,kBAAkB;MAC/C,4BAA4B,OAAO,gCAAgC;MACnE,4BAA4B,OAAO,gCAAgC;MACnE,iCAAiC,OAAO,4BAA4B;MACpE,iCAAiC,OAAO,4BAA4B;MACpE,gBAAgB,yBAAyB;MACzC;MACA,mBAAmB,4BAA4B,wBAAwB,CAAC,eAAe,uBAAuB,IAAI,MAAM,IAAI,MAAM,cAAc,QAAQ,uBAAuB,IAAI,MAAM,UAAU;MACtL;MACb;MACA,OAAO,MAAM,eAAe,QAAQ,MAAM,eAAe,OAAO,OAAO,gBAAgB,MAAM,aAAa,EAAE;MAC5G;MACA,KAAK,OAAO,OAAO,MAAM;MACzB,MAAM;MACN;MACA;MACA,OAAO;MACP,OAAO,YAAY,gBAAgB;MACnC,QAAQ,uBAAuB,SAAY,EAAE,GAAG,MAAM,KAAK,mBAAmB,OAAO,SAAS,CAAC;MAC/F,UAAU,uBAAuB,SAAY,EAAE,GAAG,MAAM,KAAK,mBAAmB,SAAS,SAAS,CAAC;MACtF;MACK;MACC;MACnB;MACA,KAAK;MACL;MACA,qBAAqB,SAAS;MAC9B,iBAAiB,SAAS;MAC1B;MACA;MACD;;IAEH,SAAS,0BAA0B,iBAAiB;KAClD,MAAM,SAAS,qBAAqB,gBAAgB;KACpD,MAAM,gBAAgB,gBAAgB;KACtC,MAAM,MAAM,OAAO,cAAc,QAAQ,WAAW,cAAc,MAAM;KACxE,MAAM,QAAQ,cAAc,SAAS,OAAO,OAAO,cAAc;KACjE,MAAM,SAAS,0BAA0B,gBAAgB;KACzD,IAAI,WAAW;KACf,IAAI,mBAAmB;KACvB,IAAI,sBAAsB;KAC1B,MAAM,eAAe,gBAAgB,gBAAgB;AACrD,SAAI,iBAAiB,MAAM;MACzB,IAAI,UAAU;AACd,aAAO,QAAQ,WAAW,MAAM;OAC9B,MAAM,OAAO;AACb,iBAAU,QAAQ;AAClB,WAAI,KAAK,QAAQ,kBACf,uBAAsB;gBACb,gBAAgB,KAAK,CAC9B,oBAAmB;;MAGvB,MAAM,YAAY,QAAQ;AAC1B,UAAI,aAAa,QAAQ,UAAU,mBAAmB,KACpD,YAAW,UAAU;;KAGzB,MAAM,UAAU,EACd,QAAQ,MACT;KACD,MAAM,qBAAqB,gCAAgC,IAAI,cAAc;KAC7E,MAAM,cAAc;KACpB,MAAM,cAAc,yBAAyB,iBAAiB,KAAK;KACnE,MAAM,mBAAmB,oBAAoB,uBAAuB,gBAAgB,CAAC;AACrF,YAAO;MACL,IAAI,gBAAgB;MACpB,cAAc;MACd,sBAAsB;MACtB,4BAA4B;MAC5B,4BAA4B;MAC5B,iCAAiC;MACjC,iCAAiC;MACjC,gBAAgB,yBAAyB;MACzC,WAAW;MACX,mBAAmB,4BAA4B;MAClC;MACb;MACA,OAAO,cAAc,SAAS,QAAQ,cAAc,cAAc,OAAO,OAAO,gBAAgB,cAAc,YAAY,EAAE;MAC5H,kBAAkB;MACb;MACL,MAAM;MACN,SAAS;MACT,OAAO;MACA;MACP,OAAO;MACP,QAAQ,uBAAuB,SAAY,EAAE,GAAG,MAAM,KAAK,mBAAmB,OAAO,SAAS,CAAC;MAC/F,UAAU,uBAAuB,SAAY,EAAE,GAAG,MAAM,KAAK,mBAAmB,SAAS,SAAS,CAAC;MACtF;MACK;MAClB,mBAAmB;MACnB;MACA,KAAK,cAAc,OAAO,OAAO,OAAO,cAAc;MACtD;MACA,qBAAqB,SAAS;MAC9B,iBAAiB,SAAS;MAC1B;MACA,WAAW;MACZ;;IAEH,IAAI,+BAA+B;IACnC,IAAI,sCAAsC;IAC1C,IAAI,0BAA0B,EAAE;IAChC,SAAS,+BAA+B,IAAI;AAC1C,SAAI,iCAAiC,KACnC,QAAO;AAET,SAAI,6BAA6B,OAAO,GACtC,QAAO;AAET,SAAI,6BAA6B,SAAS,iBAAiB;MACzD,MAAM,WAAW,wBAAwB,IAAI,GAAG;AAChD,aAAO,aAAa,UAAa,SAAS,SAAS,kBAAkB,SAAS,WAAW;;AAE3F,YAAO;;IAET,SAAS,sCAAsC,IAAI;AACjD,YAAO,+BAA+B,GAAG,IAAI,CAAC;;IAEhD,SAAS,oBAAoB,MAAM;KACjC,IAAI,UAAU;AACd,UAAK,SAAQ,QAAO;AAClB,UAAI,CAAC,QAAQ,KACX,SAAQ,OAAO,EAAE;AAEnB,gBAAU,QAAQ;OAClB;;IAEJ,SAAS,oBAAoB,KAAK,mBAAmB;AACnD,YAAO,SAAS,cAAc,MAAM;AAClC,cAAQ,mBAAR;OACE,KAAK;AACH,YAAI,KAAK,WAAW,EAClB,QAAO;AAET,YAAI,KAAK,KAAK,SAAS,OAAO,gBAAgB,KAAK,KAAK,SAAS,OAAO,WACtE,QAAO;AAET,YAAI,KAAK,KAAK,SAAS,OAAO,cAAc,KAAK,KAAK,SAAS,OAAO,WACpE,QAAO;AAET;OACF,KAAK;AACH,YAAI,KAAK,SAAS,EAChB,QAAO;AAET;OACF,QACE;;MAEJ,IAAI,UAAU,QAAQ,OAAO,0BAA0B,wBAAwB;AAC/E,UAAI,CAAC,QACH,QAAO;AAET,WAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,iBAAU,QAAQ,KAAK;AACvB,WAAI,CAAC,QACH,QAAO;;AAGX,aAAO;;;IAGX,SAAS,sBAAsB,kBAAkB;KAC/C,MAAM,EACJ,OACA,IACA,UACE;KACJ,MAAM,mBAAmB,wBAAwB,IAAI,GAAG;AACxD,SAAI,qBAAqB,QAAW;AAClC,cAAQ,KAAK,4CAA4C,GAAG,GAAG;AAC/D;;AAEF,SAAI,iBAAiB,SAAS,eAC5B;KAGF,MAAM,EACJ,aACA,WACA,KACA,SALY,iBAAiB;AAO/B,aAAQ,KAAR;MACE,KAAK;MACL,KAAK;MACL,KAAK;AACH,cAAO,KAAK;AACZ;MACF,KAAK;MACL,KAAKH;AACH,cAAO,KAAK;QACV;QACA;QACA;QACD;AACD;MACF,KAAKE;AACH,cAAO,KAAK;QACV;QACA;QACA,MAAM,KAAK;QACZ;AACD;MACF,KAAK;MACL,KAAKD;AACH,cAAO,KAAK;QACV;QACA;QACA,MAAM,eAAe,QAAQ,YAAY,QAAQ,OAAO,YAAY,OAAO;QAC5E;AACD;MACF;AACE,cAAO,KAAK;AACZ;;;IAGN,SAAS,cAAc,IAAI,MAAM,OAAO;AACtC,SAAI,+BAA+B,GAAG,EAAE;MACtC,MAAM,QAAQ,kBAAkB,8BAA8B,KAAK;MACnE,MAAM,MAAM,aAAa;AACzB,aAAO,OAAO;AACd,cAAQ,IAAI,IAAI;AAChB,cAAQ,IAAI,MAAM;;;IAGtB,SAAS,gCAAgC,IAAI,MAAM;AACjD,SAAI,+BAA+B,GAAG,CAEpC,QAAO,kBADa,kBAAkB,8BAA8B,KAAK,CACpC;;IAGzC,SAAS,eAAe,WAAW,IAAI,MAAM,eAAe;AAC1D,SAAI,SAAS,KACX,qBAAoB,KAAK;AAE3B,SAAI,+BAA+B,GAAG,IAAI,CAAC,eACzC;UAAI,CAAC,oCACH,KAAI,SAAS,MAAM;OACjB,IAAI,oBAAoB;AACxB,WAAI,KAAK,OAAO,WAAW,KAAK,OAAO,cACrC,qBAAoB,KAAK;AAE3B,cAAO;QACL;QACA,YAAY;QACZ,MAAM;QACN;QACA,OAAO,eAAe,kBAAkB,8BAA8B,KAAK,EAAE,oBAAoB,MAAM,kBAAkB,EAAE,KAAK;QACjI;YAED,QAAO;OACL;OACA,YAAY;OACZ,MAAM;OACP;WAIL,2BAA0B,EAAE;AAE9B,2CAAsC;AACtC,SAAI;AACF,qCAA+B,kBAAkB,GAAG;cAC7C,OAAO;AACd,UAAI,MAAM,SAAS,8BAA8B;OAC/C,IAAI,UAAU;OACd,IAAI;AACJ,eAAQ,MAAM,UAAU,QAAQ,MAAM;AACtC,WAAI,MAAM,SAAS,MAAM;QACvB,MAAM,gBAAgB,2BAA2B,GAAG;AACpD,gBAAQ,MAAM,8IAAmJ,iBAAiB,OAAO,MAAM,cAAc,MAAM,OAAO,gDAAgD,MAAM,MAAM;AACtR,YAAI,MAAM,iBAAiB,OAAO;AAChC,mBAAU,MAAM,MAAM,WAAW;AACjC,iBAAQ,MAAM,MAAM;;;AAGxB,cAAO;QACL,MAAM;QACN,WAAW;QACX;QACA,YAAY;QACZ;QACA;QACD;;AAEH,UAAI,MAAM,SAAS,sCACjB,QAAO;OACL,MAAM;OACN,WAAW;OACX;OACA,YAAY;OACZ,SAAS,wDAAwD,MAAM;OACxE;AAEH,cAAQ,MAAM,iCAAiC,MAAM;AACrD,aAAO;OACL,MAAM;OACN,WAAW;OACX;OACA,YAAY;OACZ,SAAS,MAAM;OACf,OAAO,MAAM;OACd;;AAEH,SAAI,iCAAiC,KACnC,QAAO;MACL;MACA,YAAY;MACZ,MAAM;MACP;KAEH,MAAM,mBAAmB;AACzB,2BAAsB,iBAAiB;KACvC,MAAM,0BAA0B,EAC9B,GAAG,kBACJ;AACD,6BAAwB,UAAU,eAAe,iBAAiB,SAAS,oBAAoB,WAAW,KAAK,CAAC;AAChH,6BAAwB,QAAQ,eAAe,iBAAiB,OAAO,oBAAoB,SAAS,QAAQ,CAAC;AAC7G,6BAAwB,QAAQ,eAAe,iBAAiB,OAAO,oBAAoB,SAAS,KAAK,CAAC;AAC1G,6BAAwB,QAAQ,eAAe,iBAAiB,OAAO,oBAAoB,SAAS,KAAK,CAAC;AAC1G,6BAAwB,cAAc,eAAe,iBAAiB,aAAa,oBAAoB,eAAe,cAAc,CAAC;AACrI,YAAO;MACL;MACA,YAAY;MACZ,MAAM;MACN,OAAO;MACR;;IAEH,SAAS,gBAAgB,iBAAiB;KACxC,MAAM,QAAQ,KAAK,cAAc,WAAW;AAC5C,SAAI,MAAM,SAAS,EACjB,QAAO;KAET,MAAM,iBAAiB;MACrB,IAAI;MACJ,MAAM;MACN,WAAW;MACX,QAAQ,EAAE;MACV,UAAU,EAAE;MACZ,aAAa,EAAE;MACf,kBAAkB;MAClB,mBAAmB;MACnB,UAAU;MACV,SAAS,EACP,QAAQ,MACT;MACD,WAAW;MACX,KAAK;MACL,QAAQ;MACR,OAAO;MACP,qBAAqB;MACrB,iBAAiB;MACjB,KAAK;MACL,sBAAsB;MACtB,cAAc;MACd,iCAAiC;MACjC,iCAAiC;MACjC,4BAA4B;MAC5B,4BAA4B;MAC5B,gBAAgB;MAChB,mBAAmB;MACnB,aAAa;MACb,kBAAkB;MAClB,SAAS;MACT,OAAO;MACP,OAAO;MACP,OAAO;MACP,QAAQ;MACT;KACD,IAAI,sBAAsB;KAC1B,IAAI,sBAAsB;AAC1B,WAAM,SAAQ,SAAQ;MACpB,MAAM,eAAe,uBAAuB,IAAI,KAAK;AACrD,UAAI,iBAAiB,OACnB,OAAM,IAAI,MAAM,wDAAwD;MAE1E,MAAM,gBAAgB,wBAAwB,aAAa;AAC3D,UAAI,kBAAkB,KACpB;AAEF,UAAI,cAAc,UAChB,gBAAe,YAAY;AAE7B,WAAK,IAAI,IAAI,GAAG,IAAI,cAAc,OAAO,QAAQ,IAC/C,gBAAe,OAAO,KAAK,cAAc,OAAO,GAAG;AAErD,WAAK,IAAI,IAAI,GAAG,IAAI,cAAc,SAAS,QAAQ,IACjD,gBAAe,SAAS,KAAK,cAAc,SAAS,GAAG;AAEzD,WAAK,IAAI,IAAI,GAAG,IAAI,cAAc,YAAY,QAAQ,IACpD,gBAAe,YAAY,KAAK,cAAc,YAAY,GAAG;MAE/D,MAAM,mBAAmB,cAAc;AACvC,UAAI,qBAAqB,MAAM;AAC7B,WAAI,iBAAiB,KAAK,oBACxB,uBAAsB,iBAAiB;AAEzC,WAAI,iBAAiB,KAAK,oBACxB,uBAAsB,iBAAiB;;OAG3C;AACF,SAAI,wBAAwB,YAAY,wBAAwB,UAC9D,gBAAe,mBAAmB,CAAC,qBAAqB,oBAAoB;AAE9E,YAAO;;IAET,SAAS,oBAAoB,IAAI;KAC/B,MAAM,SAAS,sCAAsC,GAAG,GAAG,+BAA+B,kBAAkB,GAAG;AAC/G,SAAI,WAAW,MAAM;AACnB,cAAQ,KAAK,4CAA4C,GAAG,GAAG;AAC/D;;KAEF,MAAM,cAAc,2BAA2B,GAAG;KAClD,MAAM,gBAAgB,OAAO,QAAQ,mBAAmB;AACxD,SAAI,cACF,SAAQ,eAAe,wBAAwB,eAAe,YAAY,MAAM,yDAAyD;AAE3I,SAAI,OAAO,UAAU,KACnB,SAAQ,IAAI,UAAU,OAAO,MAAM;AAErC,SAAI,OAAO,UAAU,KACnB,SAAQ,IAAI,UAAU,OAAO,MAAM;AAErC,SAAI,OAAO,UAAU,KACnB,SAAQ,IAAI,UAAU,OAAO,MAAM;KAErC,MAAM,gBAAgB,8BAA8B,GAAG;AACvD,SAAI,kBAAkB,KACpB,SAAQ,IAAI,UAAU,cAAc;AAEtC,SAAI,OAAO,UAAU,WAAW,KAAK,UAAU,UAAU,CACvD,SAAQ,IAAI,gFAAgF;AAE9F,SAAI,cACF,SAAQ,UAAU;;IAGtB,SAAS,WAAW,MAAM,IAAI,QAAQ,MAAM;KAC1C,MAAM,mBAAmB,wBAAwB,IAAI,GAAG;AACxD,SAAI,qBAAqB,QAAW;AAClC,cAAQ,KAAK,4CAA4C,GAAG,GAAG;AAC/D;;AAEF,SAAI,iBAAiB,SAAS,eAC5B;KAEF,MAAM,QAAQ,iBAAiB;AAC/B,SAAI,UAAU,MAAM;MAClB,MAAM,WAAW,MAAM;AACvB,cAAQ,MAAR;OACE,KAAK;AACH,eAAO,KAAK,MAAM,EAAE;AACpB,gBAAQ,MAAM,KAAd;SACE,KAAK;AACH,cAAI,KAAK,WAAW,GAAG,OACrB,oBAAmB,SAAS,SAAS,KAAK;AAE5C,mBAAS,aAAa;AACtB;SACF,KAAKD,oBACH;;AAEJ;OACF,KAAK;AACH,YAAI,OAAO,gCAAgC,WACzC,6BAA4B,OAAO,QAAQ,KAAK;AAElD;OACF,KAAK;AACH,YAAI,aAAa,MACf;aAAI,OAAO,4BAA4B,WACrC,yBAAwB,OAAO,KAAK;eAEjC;AACL,eAAM,eAAe,eAAe,SAAS,OAAO,KAAK;AACzD,kBAAS,aAAa;;AAExB;OACF,KAAK;AACH,2BAAmB,SAAS,OAAO,KAAK;AACxC,iBAAS,aAAa;AACtB;;;;IAIR,SAAS,WAAW,MAAM,IAAI,QAAQ,SAAS,SAAS;KACtD,MAAM,mBAAmB,wBAAwB,IAAI,GAAG;AACxD,SAAI,qBAAqB,QAAW;AAClC,cAAQ,KAAK,4CAA4C,GAAG,GAAG;AAC/D;;AAEF,SAAI,iBAAiB,SAAS,eAC5B;KAEF,MAAM,QAAQ,iBAAiB;AAC/B,SAAI,UAAU,MAAM;MAClB,MAAM,WAAW,MAAM;AACvB,cAAQ,MAAR;OACE,KAAK;AACH,kBAAU,QAAQ,MAAM,EAAE;AAC1B,kBAAU,QAAQ,MAAM,EAAE;AAC1B,gBAAQ,MAAM,KAAd;SACE,KAAK;AACH,cAAI,QAAQ,WAAW,GAAG,OACxB,oBAAmB,SAAS,SAAS,SAAS,QAAQ;AAExD,mBAAS,aAAa;AACtB;SACF,KAAKA,oBACH;;AAEJ;OACF,KAAK;AACH,YAAI,OAAO,gCAAgC,WACzC,6BAA4B,OAAO,QAAQ,SAAS,QAAQ;AAE9D;OACF,KAAK;AACH,YAAI,aAAa,MACf;aAAI,OAAO,4BAA4B,WACrC,yBAAwB,OAAO,SAAS,QAAQ;eAE7C;AACL,eAAM,eAAe,eAAe,SAAS,OAAO,SAAS,QAAQ;AACrE,kBAAS,aAAa;;AAExB;OACF,KAAK;AACH,2BAAmB,SAAS,OAAO,SAAS,QAAQ;AACpD,iBAAS,aAAa;AACtB;;;;IAIR,SAAS,oBAAoB,MAAM,IAAI,QAAQ,MAAM,OAAO;KAC1D,MAAM,mBAAmB,wBAAwB,IAAI,GAAG;AACxD,SAAI,qBAAqB,QAAW;AAClC,cAAQ,KAAK,4CAA4C,GAAG,GAAG;AAC/D;;AAEF,SAAI,iBAAiB,SAAS,eAC5B;KAEF,MAAM,QAAQ,iBAAiB;AAC/B,SAAI,UAAU,MAAM;MAClB,MAAM,WAAW,MAAM;AACvB,cAAQ,MAAR;OACE,KAAK;AACH,eAAO,KAAK,MAAM,EAAE;AACpB,gBAAQ,MAAM,KAAd;SACE,KAAK;AACH,cAAI,KAAK,WAAW,EAClB,UAAS,UAAU;cAEnB,mBAAkB,SAAS,SAAS,MAAM,MAAM;AAElD,mBAAS,aAAa;AACtB;SACF,KAAKA,oBACH;;AAEJ;OACF,KAAK;AACH,YAAI,OAAO,sBAAsB,WAC/B,mBAAkB,OAAO,QAAQ,MAAM,MAAM;AAE/C;OACF,KAAK;AACH,gBAAQ,MAAM,KAAd;SACE,KAAK;AACH,gBAAM,eAAe,YAAY,SAAS,OAAO,MAAM,MAAM;AAC7D,mBAAS,aAAa;AACtB;SACF;AACE,cAAI,OAAO,kBAAkB,WAC3B,eAAc,OAAO,MAAM,MAAM;AAEnC;;AAEJ;OACF,KAAK;AACH,gBAAQ,MAAM,KAAd;SACE,KAAK;AACH,4BAAkB,SAAS,OAAO,MAAM,MAAM;AAC9C,mBAAS,aAAa;AACtB;;AAEJ;;;;IAIR,IAAI,iCAAiC;IACrC,IAAI,uBAAuB;IAC3B,IAAI,8BAA8B;IAClC,IAAI,cAAc;IAClB,IAAI,qBAAqB;IACzB,IAAI,2BAA2B;IAC/B,IAAI,iBAAiB;IACrB,IAAI,mCAAmC;IACvC,SAAS,mBAAmB;KAC1B,MAAM,eAAe,EAAE;AACvB,SAAI,qCAAqC,KACvC,OAAM,MAAM,mEAAmE;AAEjF,sCAAiC,SAAS,yBAAyB,WAAW;MAC5E,MAAM,aAAa,EAAE;MACrB,MAAM,cAAc,yBAAyB,QAAQ,qBAAqB,IAAI,OAAO,IAAI;MACzF,MAAM,2BAA2B,gCAAgC,QAAQ,4BAA4B,IAAI,OAAO,IAAI,EAAE;AACtH,8BAAwB,SAAS,qBAAqB,gBAAgB;OACpE,MAAM,EACJ,oBACA,WACA,gBACA,mBACA,uBACA,eACA,YACA,aACE;OACJ,MAAM,uBAAuB,EAAE;OAC/B,MAAM,qBAAqB,EAAE;AAC7B,YAAK,IAAI,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK,GAAG;QAC5C,MAAM,UAAU,UAAU;AAC1B,6BAAqB,KAAK,CAAC,SAAS,wCAAwC,UAAU,IAAI,GAAG,CAAC,CAAC;AAC/F,2BAAmB,KAAK,CAAC,SAAS,wCAAwC,UAAU,IAAI,GAAG,CAAC,CAAC;;AAE/F,kBAAW,KAAK;QACd,oBAAoB,uBAAuB,OAAO,MAAM,KAAK,mBAAmB,SAAS,CAAC,GAAG;QAC7F,UAAU,wCAAwC,kBAAkB;QACpE,gBAAgB,mBAAmB,OAAO,wCAAwC,eAAe,GAAG;QACpG;QACA;QACA,uBAAuB,0BAA0B,OAAO,wCAAwC,sBAAsB,GAAG;QACzH;QACA,WAAW;QACX;QACD,CAAC;QACF;AACF,mBAAa,KAAK;OAChB;OACA;OACA;OACA;OACD,CAAC;OACF;KACF,IAAI,eAAe;AACnB,SAAI,OAAO,oBAAoB,YAAY;MACzC,MAAM,sBAAsB,iBAAiB;AAC7C,UAAI,qBAAqB;OACvB,MAAM,EACJ,uBACA,8BACA,gBACA,sBACA,GAAG,SACD;AACJ,sBAAe;QACb,GAAG;QACH,iCAAiC,MAAM,KAAK,sBAAsB,SAAS,CAAC;QAC5E,8BAA8B,MAAM,KAAK,6BAA6B,SAAS,CAAC;QAChF,0BAA0B,MAAM,KAAK,eAAe,SAAS,CAAC;QAC9D,iCAAiC,MAAM,KAAK,sBAAsB,SAAS,CAAC;QAC7E;;;AAGL,YAAO;MACL;MACA;MACA;MACD;;IAEH,SAAS,0BAA0B,UAAU,QAAQ;AACnD,SAAI,SAAS,SAAS,wBACpB,QAAO,KAAK,CAAC,SAAS,IAAI,SAAS,iBAAiB,CAAC;AAEvD,UAAK,IAAI,QAAQ,SAAS,YAAY,UAAU,MAAM,QAAQ,MAAM,YAClE,2BAA0B,OAAO,OAAO;;IAG5C,SAAS,eAAe,gCAAgC,sBAAsB;AAC5E,SAAI,YACF;AAEF,gCAA2B;AAC3B,sBAAiB;AACjB,4CAAuB,IAAI,KAAK;AAChC,mDAA8B,IAAI,KAAK;AACvC,UAAK,cAAc,WAAW,CAAC,SAAQ,SAAQ;MAC7C,MAAM,eAAe,uBAAuB,IAAI,KAAK;AACrD,UAAI,iBAAiB,OACnB,OAAM,IAAI,MAAM,sEAAsE;MAExF,MAAM,SAAS,aAAa;AAC5B,2BAAqB,IAAI,QAAQ,sBAAsB,KAAK,QAAQ,CAAC;MACrE,MAAM,2BAA2B,EAAE;AACnC,gCAA0B,cAAc,yBAAyB;AACjE,kCAA4B,IAAI,QAAQ,yBAAyB;OACjE;AACF,mBAAc;AACd,0BAAqB,yBAAyB;AAC9C,wDAAmC,IAAI,KAAK;AAC5C,SAAI,0BAA0B,KAC5B,uBAAsB,MAAM,eAAe;;IAG/C,SAAS,gBAAgB;AACvB,mBAAc;AACd,gCAA2B;AAC3B,SAAI,0BAA0B,KAC5B,uBAAsB,OAAO,eAAe;AAE9C,sBAAiB;;AAEnB,QAAI,wBACF,gBAAe,kBAAkB,0BAA0B,kBAAkB,eAAe;IAE9F,SAAS,gBAAgB,kBAAkB;AACzC,SAAI,iBAAiB,SAAS,kBAAkB;MAC9C,IAAI,OAAO;AACX,aAAO,KAAK,SAAS,kBAAkB;AACrC,WAAI,KAAK,eAAe,KACtB,QAAO;AAET,cAAO,KAAK;;AAEd,aAAO,KAAK,KAAK;WAEjB,QAAO,iBAAiB;;IAG5B,SAAS,6BAA6B;AACpC,YAAO;;IAET,MAAM,sCAAsB,IAAI,KAAK;IACrC,SAAS,+BAA+B,OAAO;AAC7C,SAAI,OAAO,oBAAoB,WAC7B,OAAM,IAAI,MAAM,yEAAyE;KAE3F,IAAI,SAAS,oBAAoB,IAAI,MAAM;AAC3C,SAAI,WAAW,OAAO;AACpB,0BAAoB,OAAO,MAAM;AACjC,UAAI,oBAAoB,SAAS,EAC/B,iBAAgB,2BAA2B;AAE7C,aAAO;;AAET,SAAI,WAAW,UAAa,MAAM,cAAc,MAAM;AACpD,eAAS,oBAAoB,IAAI,MAAM,UAAU;AACjD,UAAI,WAAW,OAAO;AACpB,2BAAoB,OAAO,MAAM,UAAU;AAC3C,WAAI,oBAAoB,SAAS,EAC/B,iBAAgB,2BAA2B;;;AAIjD,SAAI,WAAW,OACb,QAAO;AAET,YAAO;;IAET,SAAS,cAAc,IAAI,YAAY;AACrC,SAAI,OAAO,oBAAoB,cAAc,OAAO,mBAAmB,WACrE,OAAM,IAAI,MAAM,yEAAyE;KAE3F,MAAM,mBAAmB,wBAAwB,IAAI,GAAG;AACxD,SAAI,qBAAqB,OACvB;KAEF,MAAM,eAAe,gBAAgB,iBAAiB;AACtD,SAAI,iBAAiB,KACnB;KAEF,IAAI,QAAQ;AACZ,YAAO,CAAC,gBAAgB,MAAM,EAAE;AAC9B,UAAI,MAAM,WAAW,KACnB;AAEF,cAAQ,MAAM;;AAEhB,yBAAoB,IAAI,OAAO,WAAW;AAC1C,SAAI,MAAM,cAAc,KACtB,qBAAoB,OAAO,MAAM,UAAU;AAE7C,SAAI,oBAAoB,SAAS,EAC/B,iBAAgB,+BAA+B;AAEjD,SAAI,CAAC,cAAc,OAAO,kBAAkB,WAC1C,eAAc,MAAM;SAEpB,gBAAe,MAAM;;IAGzB,SAAS,gCAAgC;AACvC,YAAO;;IAET,MAAM,yCAAyB,IAAI,KAAK;IACxC,SAAS,iCAAiC,OAAO;AAC/C,YAAO,uBAAuB,IAAI,MAAM,IAAI,MAAM,cAAc,QAAQ,uBAAuB,IAAI,MAAM,UAAU;;IAErH,SAAS,iBAAiB,IAAI,eAAe;AAC3C,SAAI,OAAO,uBAAuB,cAAc,OAAO,mBAAmB,WACxE,OAAM,IAAI,MAAM,4EAA4E;KAE9F,MAAM,mBAAmB,wBAAwB,IAAI,GAAG;AACxD,SAAI,qBAAqB,OACvB;KAEF,MAAM,eAAe,gBAAgB,iBAAiB;AACtD,SAAI,iBAAiB,KACnB;KAEF,IAAI,QAAQ;AACZ,YAAO,MAAM,QAAQ,mBAAmB;AACtC,UAAI,MAAM,WAAW,KACnB;AAEF,cAAQ,MAAM;;AAEhB,SAAI,MAAM,cAAc,KACtB,wBAAuB,OAAO,MAAM,UAAU;AAEhD,SAAI,eAAe;AACjB,6BAAuB,IAAI,MAAM;AACjC,UAAI,uBAAuB,SAAS,EAClC,oBAAmB,iCAAiC;YAEjD;AACL,6BAAuB,OAAO,MAAM;AACpC,UAAI,uBAAuB,SAAS,EAClC,oBAAmB,8BAA8B;;AAGrD,SAAI,CAAC,iBAAiB,OAAO,kBAAkB,WAC7C,eAAc,MAAM;SAEpB,gBAAe,MAAM;;IAGzB,SAAS,0BAA0B,cAAc;AAC/C,SAAI,OAAO,uBAAuB,cAAc,OAAO,mBAAmB,WACxE,OAAM,IAAI,MAAM,qFAAqF;KAEvG,MAAM,iBAAiB,IAAI,IAAI,uBAAuB;KACtD,IAAI,cAAc;AAClB,UAAK,IAAI,IAAI,GAAG,IAAI,aAAa,QAAQ,EAAE,GAAG;MAC5C,MAAM,WAAW,wBAAwB,IAAI,aAAa,GAAG;AAC7D,UAAI,aAAa,QAAW;AAC1B,eAAQ,KAAK,yBAAyB,aAAa,GAAG,sCAAsC;AAC5F;;AAEF,UAAI,SAAS,SAAS,gBAAgB;OACpC,MAAM,QAAQ,SAAS;AACvB,WAAI,uBAAuB,IAAI,MAAM,IAAI,MAAM,cAAc,QAAQ,uBAAuB,IAAI,MAAM,UAAU,EAAE;AAChH,uBAAe,OAAO,MAAM;AAC5B,YAAI,MAAM,cAAc,KACtB,gBAAe,OAAO,MAAM,UAAU;cAEnC;AACL,+BAAuB,IAAI,MAAM;AACjC,uBAAe,MAAM;AACrB,sBAAc;;YAGhB,SAAQ,KAAK,0BAA0B,aAAa,GAAG,IAAI;;AAG/D,oBAAe,SAAQ,UAAS;AAC9B,6BAAuB,OAAO,MAAM;AACpC,UAAI,CAAC,eAAe,OAAO,kBAAkB,WAC3C,eAAc,MAAM;UAEpB,gBAAe,MAAM;OAEvB;AACF,SAAI,uBAAuB,OAAO,EAChC,oBAAmB,iCAAiC;SAEpD,oBAAmB,8BAA8B;;IAGrD,IAAI,cAAc;IAClB,IAAI,wBAAwB;IAC5B,IAAI,2BAA2B;IAC/B,IAAI,wBAAwB;IAC5B,IAAI,uBAAuB;IAC3B,SAAS,eAAe,MAAM;AAC5B,SAAI,SAAS,MAAM;AACjB,8BAAwB;AACxB,iCAA2B;AAC3B,8BAAwB;AACxB,6BAAuB;;AAEzB,mBAAc;;IAEhB,SAAS,kCAAkC,OAAO,eAAe;AAC/D,SAAI,gBAAgB,QAAQ,CAAC,qBAC3B,QAAO;KAET,MAAM,cAAc,MAAM;KAC1B,MAAM,kBAAkB,gBAAgB,OAAO,YAAY,YAAY;AACvE,SAAI,0BAA0B,eAAe,0BAA0B,mBAAmB,oBAAoB,MAAM;MAClH,MAAM,cAAc,aAAa,MAAM;MACvC,MAAM,gBAAgB,YAAY,wBAAwB;AAC1D,UAAI,kBAAkB,OACpB,OAAM,IAAI,MAAM,6CAA6C;AAE/D,UAAI,YAAY,UAAU,cAAc,SAAS,YAAY,QAAQ,cAAc,OAAO,YAAY,gBAAgB,cAAc,aAAa;AAC/I,+BAAwB;AACxB,WAAI,kBAAkB,QAAQ,cAAc,SAAS,eACnD,4BAA2B;AAE7B;AACA,WAAI,0BAA0B,YAAY,SAAS,EACjD,wBAAuB;WAEvB,wBAAuB;AAEzB,cAAO;;;AAGX,SAAI,0BAA0B,QAAQ,kBAAkB,KACtD,QAAO;AAET,4BAAuB;AACvB,YAAO;;IAET,SAAS,yCAAyC,iBAAiB,gBAAgB;AACjF,SAAI,gBAAgB,QAAQ,CAAC,qBAC3B,QAAO;AAET,SAAI,6BAA6B,gBAAgB;MAC/C,MAAM,cAAc,oBAAoB,gBAAgB;MACxD,MAAM,gBAAgB,YAAY,wBAAwB;AAC1D,UAAI,kBAAkB,OACpB,OAAM,IAAI,MAAM,6CAA6C;AAE/D,UAAI,YAAY,UAAU,cAAc,SAAS,YAAY,QAAQ,cAAc,OAAO,YAAY,gBAAgB,cAAc,aAAa;AAC/I,+BAAwB;AACxB,kCAA2B;AAC3B;AACA,WAAI,0BAA0B,YAAY,SAAS,EACjD,wBAAuB;WAEvB,wBAAuB;AAEzB,cAAO;;;AAGX,SAAI,0BAA0B,KAC5B,QAAO;AAET,4BAAuB;AACvB,YAAO;;IAET,SAAS,iCAAiC,8BAA8B;AACtE,4BAAuB;;IAEzB,MAAM,iCAAiB,IAAI,KAAK;IAChC,MAAM,yCAAyB,IAAI,KAAK;IACxC,SAAS,iBAAiB,IAAI,OAAO;KACnC,MAAM,OAAO,sBAAsB,MAAM;KACzC,MAAM,UAAU,uBAAuB,IAAI,KAAK,IAAI;AACpD,4BAAuB,IAAI,MAAM,UAAU,EAAE;KAC7C,MAAM,YAAY,GAAG,KAAK,GAAG;AAC7B,oBAAe,IAAI,IAAI,UAAU;;IAEnC,SAAS,oBAAoB,IAAI;KAC/B,MAAM,YAAY,eAAe,IAAI,GAAG;AACxC,SAAI,cAAc,OAChB,OAAM,IAAI,MAAM,wCAAwC;KAE1D,MAAM,OAAO,UAAU,MAAM,GAAG,UAAU,YAAY,IAAI,CAAC;KAC3D,MAAM,UAAU,uBAAuB,IAAI,KAAK;AAChD,SAAI,YAAY,OACd,OAAM,IAAI,MAAM,gCAAgC;AAElD,SAAI,UAAU,EACZ,wBAAuB,IAAI,MAAM,UAAU,EAAE;SAE7C,wBAAuB,OAAO,KAAK;AAErC,oBAAe,OAAO,GAAG;;IAE3B,SAAS,sBAAsB,OAAO;KACpC,IAAI,uBAAuB;KAC3B,IAAI,sBAAsB;KAC1B,IAAI,QAAQ,MAAM;AAClB,UAAK,IAAI,IAAI,GAAG,IAAI,GAAG,KAAK;AAC1B,UAAI,UAAU,KACZ;MAEF,MAAM,cAAc,uBAAuB,MAAM;AACjD,UAAI,gBAAgB,MAClB;WAAI,OAAO,MAAM,SAAS,WACxB,wBAAuB;gBACd,wBAAwB,KACjC,uBAAsB;;AAG1B,UAAI,yBAAyB,KAC3B;AAEF,cAAQ,MAAM;;AAEhB,YAAO,wBAAwB,uBAAuB;;IAExD,SAAS,aAAa,OAAO;KAC3B,MAAM,EACJ,QACE;KACJ,IAAI,cAAc,uBAAuB,MAAM;KAC/C,MAAM,QAAQ,MAAM;AACpB,aAAQ,MAAM,KAAd;MACE,KAAK;OACH,MAAM,eAAe,uBAAuB,IAAI,MAAM,UAAU;AAChE,WAAI,iBAAiB,OACnB,OAAM,IAAI,MAAM,4DAA4D;OAE9E,MAAM,YAAY,eAAe,IAAI,aAAa,GAAG;AACrD,WAAI,cAAc,OAChB,OAAM,IAAI,MAAM,kDAAkD;AAEpE,qBAAc;AACd;MACF,KAAK;AACH,qBAAc,MAAM;AACpB;MACF,QACE;;AAEJ,YAAO;MACL;MACA;MACA;MACD;;IAEH,SAAS,oBAAoB,iBAAiB;AAC5C,YAAO;MACL,aAAa,gBAAgB,KAAK,QAAQ;MAC1C,KAAK,gBAAgB,KAAK,OAAO,OAAO,OAAO,gBAAgB,KAAK;MACpE,OAAO;MACR;;IAEH,SAAS,kBAAkB,IAAI;KAC7B,MAAM,mBAAmB,wBAAwB,IAAI,GAAG;AACxD,SAAI,qBAAqB,OACvB,QAAO;KAET,MAAM,UAAU,EAAE;KAClB,IAAI,OAAO;AACX,YAAO,KAAK,SAAS,kBAAkB;AACrC,cAAQ,KAAK,oBAAoB,KAAK,CAAC;AACvC,UAAI,KAAK,WAAW,KAClB,QAAO;AAET,aAAO,KAAK;;KAEd,IAAI,QAAQ,KAAK;AACjB,YAAO,UAAU,MAAM;AACrB,cAAQ,KAAK,aAAa,MAAM,CAAC;AACjC,cAAQ,MAAM;;AAEhB,aAAQ,SAAS;AACjB,YAAO;;IAET,SAAS,6BAA6B;AACpC,SAAI,gBAAgB,KAClB,QAAO;AAET,SAAI,6BAA6B,KAC/B,QAAO;AAET,YAAO;MACL,IAAI,yBAAyB;MAC7B,aAAa,0BAA0B,YAAY,SAAS;MAC7D;;IAEH,MAAM,uBAAsB,kBAAiB;AAC3C,SAAI,iBAAiB,KACnB,QAAO;AAET,aAAQ,eAAR;MACE,KAAK,kBACH,QAAO;MACT,KAAK,qBACH,QAAO;MACT,KAAK,eACH,QAAO;MACT,KAAK,YACH,QAAO;MACT,KAAK,aACH,QAAO;MACT,KAAK;MACL,QACE,QAAO;;;IAGb,SAAS,uBAAuB,aAAW;AACzC,2BAAsBK;;IAExB,SAAS,iBAAiB,IAAI;AAC5B,YAAO,wBAAwB,IAAI,GAAG;;IAExC,SAAS,0BAA0B,eAAe;KAChD,MAAM,cAAc,qBAAqB,cAAc;AACvD,SAAI,gBAAgB,KAClB,QAAO;KAET,MAAM,gBAAgB,iBAAiB,SAAS;KAChD,MAAM,aAAa,iBAAiB,OAAO,OAAO,yBAAyB,iBAAiB,cAAc,MAAM,cAAc;AAC9H,SAAI,eAAe,KACjB,QAAO;KAET,MAAM,SAAS,kCAAkC,WAAW;AAC5D,mBAAc,SAAS;AACvB,YAAO;;IAET,SAAS,qBAAqB,UAAU;KACtC,IAAI,mBAAmB,SAAS;AAChC,SAAI,qBAAqB,KACvB,QAAO;AAET,SAAI,SAAS,SAAS,kBAAkB;MACtC,MAAM,gBAAgB,SAAS,KAAK;AACpC,UAAI,iBAAiB,KACnB,oBAAmB;;AAGvB,SAAI,iBAAiB,iBAAiB,CACpC,QAAO,SAAS,SAAS,8BAA8B,iBAAiB;AAE1E,SAAI,OAAO,qBAAqB,UAAU;MACxC,MAAM,MAAM,iBAAiB,YAAY,KAAK;AAE9C,aAAO,SAAS,SAAS,kCADR,QAAQ,KAAK,mBAAmB,iBAAiB,MAAM,MAAM,EAAE,CACZ;;AAEtE,YAAO;;AAIT,WAAO;KACL;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KAED;;GAGH,SAAS,SAAS,QAAQ,MAAM,IAAI;IAClC,MAAM,MAAM,OAAO;AACnB,WAAO,QAAQ,SAAU,UAAU;AACjC,YAAO,GAAG,KAAK,MAAM,KAAK,UAAU;;AAEtC,WAAO;;GAET,SAAS,aAAa,QAAQ,KAAK;IACjC,MAAM,OAAO,EAAE;AACf,SAAK,MAAM,QAAQ,IACjB,MAAK,QAAQ,SAAS,QAAQ,MAAM,IAAI,MAAM;AAEhD,WAAO;;GAET,SAAS,YAAY,QAAQ,MAAM;AACjC,SAAK,MAAM,QAAQ,KACjB,QAAO,QAAQ,KAAK;;GAGxB,SAAS,YAAY,UAAU;AAC7B,QAAI,OAAO,SAAS,gBAAgB,WAClC,UAAS,aAAa;aACb,SAAS,WAAW,QAAQ,OAAO,SAAS,QAAQ,uBAAuB,WACpF,UAAS,QAAQ,mBAAmB,YAAY,IAAI,cAAc;;GAUtE,SAAS,QAAQ,kBAAkB;IACjC,IAAI,cAAc;IAClB,IAAI,MAAM;AACV,QAAI,iBAAiB,mBAAmB,MAAM;AAC5C,SAAI,iBAAiB,gBAAgB,IACnC,OAAM,OAAO,iBAAiB,gBAAgB,IAAI;KAEpD,MAAM,cAAc,iBAAiB,gBAAgB;AACrD,SAAI,OAAO,gBAAgB,SACzB,eAAc;cACL,OAAO,gBAAgB,WAChC,eAAc,eAAe,YAAY;;AAG7C,WAAO;KACL;KACA;KACD;;GAEH,SAAS,eAAe,kBAAkB;AACxC,QAAI,iBAAiB,mBAAmB,MAAM;KAC5C,MAAM,cAAc,iBAAiB,gBAAgB;AACrD,SAAI,OAAO,gBAAgB,WAEzB,KADuB,iBAAiB,mBAAmB,KACpC,KACrB,QAAO;SAEP,QAAO;cAEA,OAAO,gBAAgB,SAChC,QAAO;;AAGX,WAAO;;GAET,SAAS,YAAY,kBAAkB;IACrC,MAAM,WAAW,EAAE;AACnB,QAAI,OAAO,qBAAqB,UAAU,YAAY,iBAAiB,oBAAoB,QAAQ,iBAAiB,oBAAoB,OAAO,YAAY,iBAAiB,oBAAoB;KAC9L,MAAM,QAAQ,iBAAiB;AAC/B,SAAI,eAAe,MAAM,KAAK,0BAC5B,UAAS,KAAK,MAAM;eAEb,iBAAiB,mBAAmB;KAC7C,MAAM,mBAAmB,iBAAiB;AAC1C,UAAK,MAAM,QAAQ,kBAAkB;MACnC,MAAM,QAAQ,iBAAiB;AAC/B,UAAI,eAAe,MAAM,KAAK,0BAC5B,UAAS,KAAK,MAAM;;;AAI1B,WAAO;;GAET,SAAS,uBAAuB,MAAM,YAAY,UAAU,QAAQ;IAClE,MAAM,0CAA0B,IAAI,KAAK;IACzC,MAAM,0CAA0B,IAAI,SAAS;IAC7C,MAAM,8CAA8B,IAAI,SAAS;IACjD,IAAI,8BAA8B;IAClC,IAAI;IACJ,IAAI,4BAA2B,SAAQ;AACrC,YAAO;;AAET,QAAI,SAAS,eAAe;AAC1B,oCAA8B,SAAQ;MACpC,MAAM,mBAAmB,SAAS,cAAc,2BAA2B,KAAK;AAChF,aAAO,wBAAwB,IAAI,iBAAiB,IAAI;;AAE1D,sCAAgC,OAAM;MACpC,MAAM,mBAAmB,wBAAwB,IAAI,GAAG;AACxD,aAAO,SAAS,cAAc,oBAAoB,iBAAiB;;AAErE,iCAA2B,SAAQ;MACjC,MAAM,mBAAmB,SAAS,cAAc,2BAA2B,KAAK;AAChF,UAAI,oBAAoB,KACtB,QAAO,SAAS,cAAc,oBAAoB,iBAAiB;AAErE,aAAO;;eAEA,SAAS,MAAM,SAAS,SAAS,MAAM,SAAS;AACzD,oCAA8B,SAAQ;AACpC,aAAO;;AAET,sCAAgC,OAAM;AACpC,aAAO;;;IAGX,MAAM,2BAA2B;IACjC,SAAS,2BAA2B,IAAI;KACtC,MAAM,mBAAmB,wBAAwB,IAAI,GAAG;AACxD,YAAO,mBAAmB,QAAQ,iBAAiB,CAAC,cAAc;;IAEpE,SAAS,MAAM,kBAAkB;AAC/B,SAAI,OAAO,qBAAqB,YAAY,qBAAqB,KAC/D,OAAM,IAAI,MAAM,gCAAgC,iBAAiB;AAEnE,SAAI,CAAC,wBAAwB,IAAI,iBAAiB,EAAE;MAClD,MAAM,KAAK,QAAQ;AACnB,8BAAwB,IAAI,kBAAkB,GAAG;AACjD,8BAAwB,IAAI,IAAI,iBAAiB;;AAEnD,YAAO,wBAAwB,IAAI,iBAAiB;;IAEtD,SAAS,eAAe,GAAG,GAAG;AAC5B,SAAI,EAAE,WAAW,EAAE,OACjB,QAAO;AAET,UAAK,IAAI,IAAI,GAAG,IAAI,EAAE,QAAQ,IAC5B,KAAI,EAAE,OAAO,EAAE,GACb,QAAO;AAGX,YAAO;;IAET,IAAI,gBAAgB,EAAE;IACtB,IAAI,uBAAuB;AAC3B,QAAI,SAAS,WACX,wBAAuB,aAAa,SAAS,YAAY;KACvD,eAAe,IAAI,MAAM;MACvB,MAAM,mBAAmB,KAAK;MAC9B,MAAM,oBAAoB,KAAK;AAC/B,UAAI,eAAe,iBAAiB,KAAK,0BACvC,QAAO,GAAG,MAAM,MAAM,KAAK;AAE7B,UAAI,kBAAkB,qBAAqB,OACzC,QAAO,GAAG,MAAM,MAAM,KAAK;MAE7B,MAAM,KAAK,MAAM,iBAAiB;AAElC,kBAAY,kBAAkB,IADb,cAAc,SAAS,IAAI,cAAc,cAAc,SAAS,KAAK,EAC3C;AAC3C,oBAAc,KAAK,GAAG;AACtB,kCAA4B,IAAI,kBAAkB,MAAM,kBAAkB,iBAAiB,CAAC;AAC5F,UAAI;OACF,MAAM,SAAS,GAAG,MAAM,MAAM,KAAK;AACnC,qBAAc,KAAK;AACnB,cAAO;eACA,KAAK;AACZ,uBAAgB,EAAE;AAClB,aAAM;gBACE;AACR,WAAI,cAAc,WAAW,GAAG;QAC9B,MAAM,SAAS,4BAA4B,IAAI,iBAAiB;AAChE,YAAI,WAAW,OACb,OAAM,IAAI,MAAM,4BAA4B;AAE9C,2BAAmB,OAAO;;;;KAIhC,yBAAyB,IAAI,MAAM;MACjC,MAAM,mBAAmB,KAAK;AAC9B,UAAI,eAAe,iBAAiB,KAAK,0BACvC,QAAO,GAAG,MAAM,MAAM,KAAK;MAE7B,MAAM,KAAK,MAAM,iBAAiB;AAClC,oBAAc,KAAK,GAAG;MACtB,MAAM,eAAe,YAAY,iBAAiB;AAClD,UAAI;OACF,MAAM,SAAS,GAAG,MAAM,MAAM,KAAK;OACnC,MAAM,eAAe,YAAY,iBAAiB;AAClD,WAAI,CAAC,eAAe,cAAc,aAAa,CAC7C,eAAc,kBAAkB,IAAI,aAAa;AAEnD,qBAAc,KAAK;AACnB,cAAO;eACA,KAAK;AACZ,uBAAgB,EAAE;AAClB,aAAM;gBACE;AACR,WAAI,cAAc,WAAW,GAAG;QAC9B,MAAM,SAAS,4BAA4B,IAAI,iBAAiB;AAChE,YAAI,WAAW,OACb,OAAM,IAAI,MAAM,4BAA4B;AAE9C,2BAAmB,OAAO;;;;KAIhC,iBAAiB,IAAI,MAAM;MACzB,MAAM,mBAAmB,KAAK;AAC9B,UAAI,eAAe,iBAAiB,KAAK,0BACvC,QAAO,GAAG,MAAM,MAAM,KAAK;MAE7B,MAAM,KAAK,MAAM,iBAAiB;AAClC,oBAAc,KAAK,GAAG;MACtB,MAAM,eAAe,YAAY,iBAAiB;AAClD,UAAI;OACF,MAAM,SAAS,GAAG,MAAM,MAAM,KAAK;OACnC,MAAM,eAAe,YAAY,iBAAiB;AAClD,WAAI,CAAC,eAAe,cAAc,aAAa,CAC7C,eAAc,kBAAkB,IAAI,aAAa;AAEnD,qBAAc,KAAK;AACnB,cAAO;eACA,KAAK;AACZ,uBAAgB,EAAE;AAClB,aAAM;gBACE;AACR,WAAI,cAAc,WAAW,GAAG;QAC9B,MAAM,SAAS,4BAA4B,IAAI,iBAAiB;AAChE,YAAI,WAAW,OACb,OAAM,IAAI,MAAM,4BAA4B;AAE9C,2BAAmB,OAAO;;;;KAIhC,iBAAiB,IAAI,MAAM;MACzB,MAAM,mBAAmB,KAAK;AAC9B,UAAI,eAAe,iBAAiB,KAAK,0BACvC,QAAO,GAAG,MAAM,MAAM,KAAK;MAE7B,MAAM,KAAK,MAAM,iBAAiB;AAClC,oBAAc,KAAK,GAAG;AACtB,UAAI;OACF,MAAM,SAAS,GAAG,MAAM,MAAM,KAAK;AACnC,qBAAc,KAAK;AACnB,qBAAc,kBAAkB,GAAG;AACnC,cAAO;eACA,KAAK;AACZ,uBAAgB,EAAE;AAClB,aAAM;gBACE;AACR,WAAI,cAAc,WAAW,GAAG;QAC9B,MAAM,SAAS,4BAA4B,IAAI,iBAAiB;AAChE,YAAI,WAAW,OACb,OAAM,IAAI,MAAM,4BAA4B;AAE9C,2BAAmB,OAAO;;;;KAIjC,CAAC;IAEJ,SAAS,UAAU;AACjB,SAAI,yBAAyB,KAC3B,KAAI,SAAS,UACX,aAAY,SAAS,UAAU,OAAO,qBAAqB;SAE3D,aAAY,SAAS,YAAY,qBAAqB;AAG1D,4BAAuB;;IAEzB,SAAS,YAAY,kBAAkB,IAAI,UAAU;AAKnD,SAJe,aAAa,GAIhB;MACV,MAAM,mBAAmB,iBAAiB,mBAAmB,QAAQ,iBAAiB,gBAAgB,UAAU;AAChH,oBAAc,mBAAmB;AACjC,oBAAc,GAAG;AACjB,oBAAc,gBAAgB;AAC9B,oBAAc,EAAE;AAChB,oBAAc,EAAE;AAChB,oBAAc,EAAE;AAChB,oBAAc,mBAAmB,IAAI,EAAE;AACvC,oBAAc,4BAA4B;AAC1C,oBAAc,GAAG;AACjB,oBAAc,SAAS;AACvB,oBAAc,YAAY,KAAK,CAAC;AAChC,oBAAc,EAAE;AAChB,oBAAc,GAAG;YACZ;MACL,MAAM,OAAO,eAAe,iBAAiB;MAC7C,MAAM,EACJ,aACA,QACE,QAAQ,iBAAiB;MAC7B,MAAM,UAAU,iBAAiB,mBAAmB,QAAQ,iBAAiB,gBAAgB,UAAU,OAAO,MAAM,iBAAiB,gBAAgB,OAAO,GAAG;MAC/J,MAAM,sBAAsB,YAAY,YAAY;MACpD,MAAM,cAAc,YAAY,IAAI;AACpC,oBAAc,mBAAmB;AACjC,oBAAc,GAAG;AACjB,oBAAc,KAAK;AACnB,oBAAc,SAAS;AACvB,oBAAc,QAAQ;AACtB,oBAAc,oBAAoB;AAClC,oBAAc,YAAY;AAC1B,oBAAc,YAAY,KAAK,CAAC;;;IAGpC,SAAS,cAAc,kBAAkB,IAAI,cAAc;AACzD,mBAAc,gCAAgC;AAC9C,mBAAc,GAAG;KACjB,MAAM,eAAe,aAAa,IAAI,MAAM;AAC5C,mBAAc,aAAa,OAAO;AAClC,UAAK,IAAI,IAAI,GAAG,IAAI,aAAa,QAAQ,IACvC,eAAc,aAAa,GAAG;;IAGlC,SAAS,cAAc,kBAAkB,IAAI;AAE3C,SADe,cAAc,WAAW,EAEtC,0BAAyB;SAEzB,qBAAoB,KAAK,GAAG;AAE9B,6BAAwB,OAAO,GAAG;;IAEpC,SAAS,4BAA4B,IAAI,UAAU,QAAQ;KAIzD,MAAM,mBAAmB,wBAAwB,IAAI,GAAG;AACxD,SAAI,oBAAoB,MAAM;AAC5B,kCAA4B,IAAI,kBAAkB,OAAO;AACzD,kBAAY,kBAAkB,IAAI,SAAS;AAC3C,kBAAY,iBAAiB,CAAC,SAAQ,UAAS,4BAA4B,MAAM,MAAM,EAAE,IAAI,OAAO,CAAC;;;IAMzG,SAAS,yBAAyB;KAChC,MAAM,QAAQ,SAAS,MAAM,2BAA2B,SAAS,MAAM;AACvE,UAAK,MAAM,OAAO,OAAO;MACvB,MAAM,mBAAmB,MAAM;MAC/B,MAAM,KAAK,MAAM,iBAAiB;AAClC,kCAA4B,IAAI,GAAG,GAAG;AACtC,yBAAmB,GAAG;;;IAG1B,MAAM,oBAAoB,EAAE;IAC5B,MAAM,qCAAqB,IAAI,KAAK;IACpC,IAAI,sBAAsB,EAAE;IAC5B,IAAI,2BAA2B;IAC/B,IAAI,yBAAyB;IAC7B,SAAS,mBAAmB,QAAQ;AAClC,SAAI,kBAAkB,WAAW,KAAK,oBAAoB,WAAW,KAAK,2BAA2B,KACnG;KAEF,MAAM,gBAAgB,oBAAoB,UAAU,2BAA2B,OAAO,IAAI;KAC1F,MAAM,aAAa,IAAI,MAAM,IAAQ,4BAA4B,gBAAgB,IAAI,IAAI,gBAAgB,MAAM,2BAA2B,OAAO,IAAI,KAAK,kBAAkB,OAAO;KACnL,IAAI,IAAI;AACR,gBAAW,OAAO;AAClB,gBAAW,OAAO;AAClB,gBAAW,OAAO;AAClB,wBAAmB,SAAS,OAAO,QAAQ;AACzC,iBAAW,OAAO,IAAI;MACtB,MAAM,aAAa,gBAAgB,IAAI;AACvC,WAAK,IAAI,IAAI,GAAG,IAAI,WAAW,QAAQ,IACrC,YAAW,IAAI,KAAK,WAAW;AAEjC,WAAK,IAAI;OACT;AACF,SAAI,gBAAgB,GAAG;AACrB,iBAAW,OAAO;AAClB,iBAAW,OAAO;AAClB,WAAK,IAAI,IAAI,GAAG,IAAI,oBAAoB,QAAQ,IAC9C,YAAW,OAAO,oBAAoB;AAExC,UAAI,2BAA2B,MAAM;AACnC,kBAAW,KAAK;AAChB;AACA,kBAAW,OAAO;AAClB,kBAAW,OAAO;AAClB,kBAAW,OAAO;;;AAGtB,UAAK,IAAI,IAAI,GAAG,IAAI,kBAAkB,QAAQ,IAC5C,YAAW,IAAI,KAAK,kBAAkB;AAExC,UAAK,kBAAkB;AAIvB,UAAK,KAAK,cAAc,WAAW;AACnC,uBAAkB,SAAS;AAC3B,2BAAsB,EAAE;AACxB,8BAAyB;AACzB,wBAAmB,OAAO;AAC1B,gCAA2B;;IAE7B,SAAS,cAAc,IAAI;AAEzB,uBAAkB,KAAK,GAAG;;IAE5B,SAAS,YAAY,KAAK;AACxB,SAAI,QAAQ,KACV,QAAO;KAET,MAAM,aAAa,mBAAmB,IAAI,IAAI;AAC9C,SAAI,eAAe,OACjB,QAAO;KAET,MAAM,WAAW,mBAAmB,OAAO;AAC3C,wBAAmB,IAAI,KAAK,SAAS;AACrC,iCAA4B,IAAI,SAAS;AACzC,YAAO;;IAET,IAAI,8BAA8B;IAClC,IAAI,0BAA0B,EAAE;IAChC,SAAS,oBAAoB,MAAM;KACjC,IAAI,UAAU;AACd,UAAK,SAAQ,QAAO;AAClB,UAAI,CAAC,QAAQ,KACX,SAAQ,OAAO,EAAE;AAEnB,gBAAU,QAAQ;OAClB;;IAEJ,SAAS,oBAAoB,KAAK;AAChC,YAAO,SAAS,cAAc,MAAM;MAClC,IAAI,UAAU,wBAAwB;AACtC,UAAI,CAAC,QACH,QAAO;AAET,WAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,iBAAU,QAAQ,KAAK;AACvB,WAAI,CAAC,QACH,QAAO;;AAGX,aAAO;;;IAGX,SAAS,oBAAoB,IAAI;KAC/B,IAAI,WAAW;KACf,IAAI,QAAQ;KACZ,MAAM,mBAAmB,wBAAwB,IAAI,GAAG;AACxD,SAAI,oBAAoB,MAAM;AAC5B,iBAAW,iBAAiB,aAAa;MACzC,MAAM,UAAU,iBAAiB;AACjC,UAAI,WAAW,QAAQ,QAAQ,SAAS,KACtC,SAAQ,QAAQ,MAAM,SAAS;;AAGnC,YAAO;MACL;MACA;MACD;;IAEH,SAAS,sBAAsB,IAAI;KACjC,MAAM,mBAAmB,wBAAwB,IAAI,GAAG;AACxD,SAAI,oBAAoB,MAAM;AAC5B,cAAQ,KAAK,oCAAoC,GAAG,GAAG;AACvD;;AAEF,aAAQ,eAAe,iBAAiB,EAAxC;MACE,KAAK;AACH,cAAO,KAAK,iBAAiB;AAC7B;MACF,KAAK;OACH,MAAM,UAAU,iBAAiB;AACjC,WAAI,WAAW,MAAM;AACnB,gBAAQ,KAAK,mCAAmC,GAAG,GAAG;AACtD;;AAEF,cAAO,KAAK;QACV,OAAO,QAAQ;QACf,MAAM,QAAQ;QACf;AACD;MACF;AACE,cAAO,KAAK;AACZ;;;IAGN,SAAS,cAAc,IAAI,MAAM,OAAO;KACtC,MAAM,mBAAmB,kBAAkB,GAAG;AAC9C,SAAI,qBAAqB,MAAM;MAC7B,MAAM,QAAQ,kBAAkB,kBAAkB,KAAK;MACvD,MAAM,MAAM,aAAa;AACzB,aAAO,OAAO;AACd,cAAQ,IAAI,IAAI;AAChB,cAAQ,IAAI,MAAM;;;IAGtB,SAAS,gCAAgC,IAAI,MAAM;KACjD,MAAM,mBAAmB,kBAAkB,GAAG;AAC9C,SAAI,qBAAqB,KAEvB,QAAO,kBADa,kBAAkB,kBAAkB,KAAK,CACxB;;IAGzC,SAAS,eAAe,WAAW,IAAI,MAAM,eAAe;AAC1D,SAAI,iBAAiB,gCAAgC,IAAI;AACvD,oCAA8B;AAC9B,gCAA0B,EAAE;;KAE9B,MAAM,mBAAmB,kBAAkB,GAAG;AAC9C,SAAI,qBAAqB,KACvB,QAAO;MACL;MACA,YAAY;MACZ,MAAM;MACP;AAEH,SAAI,SAAS,KACX,qBAAoB,KAAK;AAE3B,2BAAsB,GAAG;AACzB,sBAAiB,UAAU,eAAe,iBAAiB,SAAS,oBAAoB,UAAU,CAAC;AACnG,sBAAiB,QAAQ,eAAe,iBAAiB,OAAO,oBAAoB,QAAQ,CAAC;AAC7F,sBAAiB,QAAQ,eAAe,iBAAiB,OAAO,oBAAoB,QAAQ,CAAC;AAC7F,sBAAiB,cAAc,eAAe,iBAAiB,aAAa,oBAAoB,cAAc,CAAC;AAC/G,YAAO;MACL;MACA,YAAY;MACZ,MAAM;MACN,OAAO;MACR;;IAEH,SAAS,kBAAkB,IAAI;KAC7B,MAAM,mBAAmB,wBAAwB,IAAI,GAAG;AACxD,SAAI,oBAAoB,KACtB,QAAO;KAET,MAAM,SAAS,4BAA4B,IAAI,iBAAiB;AAChE,SAAI,WAAW,OACb,OAAM,IAAI,MAAM,4BAA4B;AAG9C,YADe,WAAW,KACV,gBAAgB,OAAO,GAAG,2BAA2B,IAAI,iBAAiB;;IAE5F,SAAS,2BAA2B,IAAI,kBAAkB;KACxD,MAAM,EACJ,QACE,QAAQ,iBAAiB;KAC7B,MAAM,OAAO,eAAe,iBAAiB;KAC7C,IAAI,UAAU;KACd,IAAI,SAAS;KACb,IAAI,QAAQ;KACZ,IAAI,QAAQ;KACZ,MAAM,UAAU,iBAAiB;AACjC,SAAI,YAAY,MAAM;AACpB,cAAQ,QAAQ;MAChB,IAAI,QAAQ,QAAQ;AACpB,UAAI,OAAO;AACT,gBAAS,EAAE;AACX,cAAO,SAAS,MAAM;AACpB,eAAO,KAAK;SACV,aAAa,QAAQ,MAAM,CAAC,eAAe;SAC3C,IAAI,MAAM,MAAM;SAChB,KAAK,QAAQ;SACb,KAAK;SACL,OAAO;SACP,MAAM,eAAe,MAAM;SAC5B,CAAC;AACF,YAAI,MAAM,gBACR,SAAQ,MAAM,gBAAgB;;;;KAKtC,MAAM,iBAAiB,iBAAiB;AACxC,SAAI,kBAAkB,MAAM;AAC1B,gBAAU,eAAe,WAAW;AACpC,cAAQ,eAAe,SAAS;;AAIlC,YAAO;MACL;MACA,cAAc;MACd,sBAAsB;MACtB,4BAA4B;MAC5B,4BAA4B;MAC5B,iCAAiC;MACjC,iCAAiC;MACjC,gBAAgB;MAChB,WAAW;MACX,mBAAmB;MACnB,aAAa;MACb,QAAQ;MACR,OAAO;MACP,kBAAkB;MACZ;MACN,KAAK,OAAO,OAAO,MAAM;MACzB;MACA,OAAO;MACP;MACA;MACA,QAvBa,EAAE;MAwBf,UAvBe,EAAE;MAwBjB,aAAa,EAAE;MACf,kBAAkB;MAClB,mBAAmB;MACnB;MACA,KAAK;MACL,UAAU;MACV,qBAAqB;MACrB,iBAAiB;MACjB,SAAS,EACP,QAAQ,MACT;MACD,WAAW;MACZ;;IAEH,SAAS,gBAAgB,iBAAiB;KACxC,MAAM,QAAQ,SAAS,MAAM,2BAA2B,SAAS,MAAM;KACvE,MAAM,iBAAiB;MACrB,IAAI;MACJ,MAAM;MACN,WAAW;MACX,QAAQ,EAAE;MACV,UAAU,EAAE;MACZ,aAAa,EAAE;MACf,kBAAkB;MAClB,mBAAmB;MACnB,UAAU;MACV,SAAS,EACP,QAAQ,MACT;MACD,WAAW;MACX,KAAK;MACL,QAAQ;MACR,OAAO;MACP,qBAAqB;MACrB,iBAAiB;MACjB,KAAK;MACL,sBAAsB;MACtB,cAAc;MACd,iCAAiC;MACjC,iCAAiC;MACjC,4BAA4B;MAC5B,4BAA4B;MAC5B,gBAAgB;MAChB,mBAAmB;MACnB,aAAa;MACb,kBAAkB;MAClB,SAAS;MACT,OAAO;MACP,OAAO;MACP,OAAO;MACP,QAAQ;MACT;KACD,IAAI,sBAAsB;KAC1B,IAAI,sBAAsB;AAC1B,UAAK,MAAM,WAAW,OAAO;MAC3B,MAAM,mBAAmB,MAAM;MAE/B,MAAM,gBAAgB,2BADX,MAAM,iBAAiB,EACmB,iBAAiB;AACtE,UAAI,kBAAkB,KACpB,QAAO;AAET,UAAI,cAAc,UAChB,gBAAe,YAAY;AAE7B,WAAK,IAAI,IAAI,GAAG,IAAI,cAAc,OAAO,QAAQ,IAC/C,gBAAe,OAAO,KAAK,cAAc,OAAO,GAAG;AAErD,WAAK,IAAI,IAAI,GAAG,IAAI,cAAc,SAAS,QAAQ,IACjD,gBAAe,SAAS,KAAK,cAAc,SAAS,GAAG;AAEzD,WAAK,IAAI,IAAI,GAAG,IAAI,cAAc,YAAY,QAAQ,IACpD,gBAAe,YAAY,KAAK,cAAc,YAAY,GAAG;MAE/D,MAAM,mBAAmB,cAAc;AACvC,UAAI,qBAAqB,MAAM;AAC7B,WAAI,iBAAiB,KAAK,oBACxB,uBAAsB,iBAAiB;AAEzC,WAAI,iBAAiB,KAAK,oBACxB,uBAAsB,iBAAiB;;;AAI7C,SAAI,wBAAwB,YAAY,wBAAwB,UAC9D,gBAAe,mBAAmB,CAAC,qBAAqB,oBAAoB;AAE9E,YAAO;;IAET,SAAS,oBAAoB,IAAI;KAC/B,MAAM,SAAS,kBAAkB,GAAG;AACpC,SAAI,WAAW,MAAM;AACnB,cAAQ,KAAK,mCAAmC,GAAG,GAAG;AACtD;;KAEF,MAAM,cAAc,2BAA2B,GAAG;KAClD,MAAM,gBAAgB,OAAO,QAAQ,mBAAmB;AACxD,SAAI,cACF,SAAQ,eAAe,wBAAwB,eAAe,YAAY,MAAM,yDAAyD;AAE3I,SAAI,OAAO,UAAU,KACnB,SAAQ,IAAI,UAAU,OAAO,MAAM;AAErC,SAAI,OAAO,UAAU,KACnB,SAAQ,IAAI,UAAU,OAAO,MAAM;AAErC,SAAI,OAAO,YAAY,KACrB,SAAQ,IAAI,YAAY,OAAO,QAAQ;KAEzC,MAAM,eAAe,8BAA8B,GAAG;AACtD,SAAI,iBAAiB,KACnB,SAAQ,IAAI,SAAS,aAAa;AAEpC,SAAI,OAAO,UAAU,WAAW,KAAK,UAAU,UAAU,CACvD,SAAQ,IAAI,gFAAgF;AAE9F,SAAI,cACF,SAAQ,UAAU;;IAGtB,SAAS,0BAA0B,IAAI,MAAM;KAC3C,MAAM,mBAAmB,kBAAkB,GAAG;AAC9C,SAAI,qBAAqB,KACvB,QAAO,kBAAkB,kBAAkB,KAAK;;IAIpD,SAAS,6BAA6B,IAAI;KACxC,MAAM,mBAAmB,wBAAwB,IAAI,GAAG;AACxD,SAAI,oBAAoB,MAAM;AAC5B,cAAQ,KAAK,oCAAoC,GAAG,GAAG;AACvD,aAAO;;KAET,MAAM,UAAU,iBAAiB;AACjC,SAAI,WAAW,MAAM;AACnB,cAAQ,KAAK,mCAAmC,GAAG,GAAG;AACtD,aAAO;;AAET,YAAO,QAAQ;;IAEjB,SAAS,WAAW,MAAM,IAAI,QAAQ,MAAM;KAC1C,MAAM,mBAAmB,wBAAwB,IAAI,GAAG;AACxD,SAAI,oBAAoB,MAAM;MAC5B,MAAM,iBAAiB,iBAAiB;AACxC,UAAI,kBAAkB,KACpB,SAAQ,MAAR;OACE,KAAK;AACH,2BAAmB,eAAe,SAAS,KAAK;AAChD,oBAAY,eAAe;AAC3B;OACF,KAAK,QACH,OAAM,IAAI,MAAM,uCAAuC;OACzD,KAAK;QACH,MAAM,UAAU,iBAAiB;AACjC,yBAAiB,kBAAkB;SACjC,GAAG;SACH,OAAO,eAAe,QAAQ,OAAO,KAAK;SAC3C;AACD,oBAAY,eAAe;AAC3B;OACF,KAAK;AACH,2BAAmB,eAAe,OAAO,KAAK;AAC9C,oBAAY,eAAe;AAC3B;;;;IAKV,SAAS,WAAW,MAAM,IAAI,QAAQ,SAAS,SAAS;KACtD,MAAM,mBAAmB,wBAAwB,IAAI,GAAG;AACxD,SAAI,oBAAoB,MAAM;MAC5B,MAAM,iBAAiB,iBAAiB;AACxC,UAAI,kBAAkB,KACpB,SAAQ,MAAR;OACE,KAAK;AACH,2BAAmB,eAAe,SAAS,SAAS,QAAQ;AAC5D,oBAAY,eAAe;AAC3B;OACF,KAAK,QACH,OAAM,IAAI,MAAM,uCAAuC;OACzD,KAAK;QACH,MAAM,UAAU,iBAAiB;AACjC,yBAAiB,kBAAkB;SACjC,GAAG;SACH,OAAO,eAAe,QAAQ,OAAO,SAAS,QAAQ;SACvD;AACD,oBAAY,eAAe;AAC3B;OACF,KAAK;AACH,2BAAmB,eAAe,OAAO,SAAS,QAAQ;AAC1D,oBAAY,eAAe;AAC3B;;;;IAKV,SAAS,oBAAoB,MAAM,IAAI,QAAQ,MAAM,OAAO;KAC1D,MAAM,mBAAmB,wBAAwB,IAAI,GAAG;AACxD,SAAI,oBAAoB,MAAM;MAC5B,MAAM,iBAAiB,iBAAiB;AACxC,UAAI,kBAAkB,KACpB,SAAQ,MAAR;OACE,KAAK;AACH,0BAAkB,eAAe,SAAS,MAAM,MAAM;AACtD,oBAAY,eAAe;AAC3B;OACF,KAAK,QACH,OAAM,IAAI,MAAM,uCAAuC;OACzD,KAAK;QACH,MAAM,UAAU,iBAAiB;AACjC,yBAAiB,kBAAkB;SACjC,GAAG;SACH,OAAO,YAAY,QAAQ,OAAO,MAAM,MAAM;SAC/C;AACD,oBAAY,eAAe;AAC3B;OACF,KAAK;AACH,0BAAkB,eAAe,OAAO,MAAM,MAAM;AACpD,oBAAY,eAAe;AAC3B;;;;IAKV,MAAM,yBAAyB;AAC7B,WAAM,IAAI,MAAM,kDAAkD;;IAEpE,MAAM,8BAA8B;AAClC,WAAM,IAAI,MAAM,uDAAuD;;IAEzE,MAAM,iCAAiC;AACrC,WAAM,IAAI,MAAM,0DAA0D;;IAE5E,MAAM,kCAAkC;AACtC,WAAM,IAAI,MAAM,2DAA2D;;IAE7E,MAAM,sBAAsB;AAC1B,WAAM,IAAI,MAAM,+CAA+C;;IAEjE,MAAM,yBAAyB;AAC7B,WAAM,IAAI,MAAM,kDAAkD;;IAEpE,MAAM,kCAAkC;AACtC,WAAM,IAAI,MAAM,2DAA2D;;IAE7E,MAAM,uBAAuB;IAC7B,MAAM,sBAAsB;IAC5B,SAAS,6BAA6B;AACpC,YAAO;;IAET,SAAS,kBAAkB,IAAI;AAC7B,YAAO;;IAET,SAAS,uBAAuB,kBAAkB;IAClD,SAAS,sBAAsB;AAC7B,YAAO,EAAE;;IAEX,SAAS,uBAAuB,SAAS;IACzC,SAAS,eAAe,MAAM;IAC9B,SAAS,cAAc,IAAI;AACzB,YAAO;;IAET,SAAS,yBAAyB;IAClC,SAAS,wBAAwB,IAAI;IACrC,SAAS,0BAA0B,IAAI;IACvC,SAAS,iBAAiB,IAAI;AAC5B,YAAO,wBAAwB,IAAI,GAAG;;AAExC,WAAO;KACL;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA,iCAAiC,IAAI;AACnC,aAAO;;KAET;KACA,gCAA+B,OAAM;MACnC,MAAM,eAAe,8BAA8B,GAAG;AACtD,aAAO,gBAAgB,OAAO,OAAO,CAAC,aAAa;;KAErD,0BAA0B;AACxB,aAAO;;KAET;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACD;;GAOH,SAAS,iBAAiB,SAAS;AACjC,WAAO,CAAC,mBAAmB,QAAQ;;GAErC,SAAS,eAAe,MAAM,IAAI,UAAU,QAAQ,yBAAyB,mBAAmB;AAC9F,QAAI,CAAC,iBAAiB,SAAS,qBAAqB,SAAS,QAAQ,CACnE;IAEF,IAAI,oBAAoB,KAAK,mBAAmB,IAAI,GAAG;AACvD,QAAI,qBAAqB,MACvB;SAAI,OAAO,SAAS,4BAA4B,WAC9C,qBAAoB,OAAO,MAAM,IAAI,UAAU,OAAO;cAC7C,OAAO,SAAS,4BAA4B,cAAc,SAAS,wBAAwB,KACpG,qBAAoB,gBAAgB,MAAM,IAAI,UAAU,QAAQ,yBAAyB,kBAAkB;cAClG,SAAS,cAClB,qBAAoB,uBAAuB,MAAM,IAAI,UAAU,OAAO;;AAG1E,WAAO;;GAGT,SAAS,uBAAuB,cAAc,GAAG,WAAW;AAC1D,QAAI,UAAU,WAAW,KAAK,OAAO,iBAAiB,SACpD,QAAO,CAAC,cAAc,GAAG,UAAU;IAErC,MAAM,OAAO,UAAU,OAAO;IAC9B,IAAI,WAAW;IACf,IAAI,mBAAmB;AACvB,SAAK,IAAI,IAAI,GAAG,IAAI,aAAa,QAAQ,EAAE,GAAG;KAC5C,MAAM,cAAc,aAAa;AACjC,SAAI,gBAAgB,KAAK;AACvB,kBAAY;AACZ;;KAEF,MAAM,WAAW,aAAa,IAAI;AAClC,OAAE;AACF,aAAQ,UAAR;MACE,KAAK;MACL,KAAK;MACL,KAAK;AAED,SAAE;AACF,mBAAY,IAAI;AAChB;MAEJ,KAAK;MACL,KAAK,KACH;OACE,MAAM,CAAC,OAAO,KAAK,OAAO,kBAAkB,EAAE;AAC9C,mBAAY,SAAS,KAAK,GAAG,CAAC,UAAU;AACxC;;MAEJ,KAAK,KACH;OACE,MAAM,CAAC,OAAO,KAAK,OAAO,kBAAkB,EAAE;AAC9C,mBAAY,WAAW,IAAI,CAAC,UAAU;AACtC;;MAEJ,KAAK,KACH;OACE,MAAM,CAAC,OAAO,KAAK,OAAO,kBAAkB,EAAE;AAC9C,mBAAY,OAAO,IAAI;AACvB;;MAEJ,QACE,aAAY,IAAI;;;AAGtB,WAAO,CAAC,UAAU,GAAG,KAAK;;GAO5B,MAAM,eAAe;GACrB,MAAM,0BAA0B;GAChC,SAAS,uBAAuB,MAAM;AACpC,WAAO,aAAa,KAAK,KAAK,IAAI,wBAAwB,KAAK,KAAK;;GAEtE,MAAM,aAAa;GACnB,SAAS,oBAAoB,GAAG,GAAG;AACjC,WAAO,EAAE,QAAQ,YAAY,GAAG,KAAK,EAAE,QAAQ,YAAY,GAAG;;GAEhE,MAAM,gBAAgB;GACtB,MAAM,2BAA2B;IAC/B,0BAA0B;IAC1B,gBAAgB;IACjB;GACD,SAAS,YAAY,QAAQ,gCAAgC,0BAA0B,OAAO,oBAAoB,0BAA0B;AAC1I,QAAI,OAAO,eAAe,iCAAiC,CACzD,QAAO;IAET,SAAS,qBAAqB,UAAU;AACtC,SAAI;AACF,UAAI,OAAO,SAAS,YAAY,UAAU;AACxC,WAAI,SAAS,aAAa,EACxB,QAAO;AAET,cAAO;;MAET,MAAM,WAAW,SAAS,UAAU;AACpC,UAAI,SAAS,SAAS,SAAS,MAAM,yBAAyB;OAC5D,MAAM,iBAAiB,SAAS,KAAK,SAAS,MAAM,wBAAwB;AAC5E,WAAI,eAAe,QAAQ,WAAW,KAAK,EACzC,QAAO;AAET,WAAI,eAAe,QAAQ,gBAAgB,KAAK,GAC9C,QAAO;AAET,WAAI,eAAe,QAAQ,4BAA4B,KAAK,IAAI;AAC9D,YAAI,eAAe,QAAQ,WAAW,KAAK,GACzC,QAAO;AAET,YAAI,eAAe,QAAQ,cAAc,KAAK,GAC5C,QAAO;AAET,YAAI,eAAe,QAAQ,OAAO,KAAK,GACrC,QAAO;AAET,YAAI,eAAe,QAAQ,cAAc,KAAK,MAAM,eAAe,QAAQ,gBAAgB,KAAK,GAC9F,QAAO;YAEP,QAAO;;AAGX,WAAI,eAAe,QAAQ,cAAc,KAAK,MAAM,eAAe,QAAQ,gBAAgB,KAAK,GAC9F,QAAO;AAET,cAAO;;cAEF,KAAK;AACd,YAAO;;IAET,SAAS,SAAS,IAAI;AACpB,SAAI;AAGF,UAFiB,SAAS,UAAU,SACd,KAAK,GAAG,CACrB,QAAQ,MAAM,GAAG,IAAI;AAC5B,2BAAoB;AACpB,kBAAW,WAAY;AACrB,cAAM,IAAI,MAAM,8LAA6M;SAC7N;;cAEG,KAAK;;IAEhB,MAAM,cAAc;IACpB,IAAIC,eAAa;IACjB,SAAS,OAAO,UAAU;KACxB,MAAM,KAAK,EAAEA;AACb,eAAU,IAAI,IAAI,SAAS;KAC3B,MAAM,iBAAiB,oBAAoB,aAAa,qBAAqB,SAAS;AACtF,UAAK,KAAK,YAAY;MACpB;MACA;MACA;MACD,CAAC;KACF,MAAM,oBAAoB,eAAe,MAAM,IAAI,UAAU,QAAQ,aAAa,kBAAkB;AACpG,SAAI,qBAAqB,MAAM;AAC7B,WAAK,mBAAmB,IAAI,IAAI,kBAAkB;AAClD,WAAK,KAAK,qBAAqB;OAC7B;OACA;OACD,CAAC;YACG;AACL,WAAK,iCAAiC;AACtC,WAAK,KAAK,+BAA+B;;AAE3C,YAAO;;IAET,IAAI,oBAAoB;IACxB,SAAS,IAAI,OAAO,IAAI;AACtB,UAAK,GAAG,OAAO,GAAG;AAClB,kBAAa,KAAK,IAAI,OAAO,GAAG;;IAElC,SAAS,GAAG,OAAO,IAAI;AACrB,SAAI,CAAC,UAAU,OACb,WAAU,SAAS,EAAE;AAEvB,eAAU,OAAO,KAAK,GAAG;;IAE3B,SAAS,IAAI,OAAO,IAAI;AACtB,SAAI,CAAC,UAAU,OACb;KAEF,MAAM,QAAQ,UAAU,OAAO,QAAQ,GAAG;AAC1C,SAAI,UAAU,GACZ,WAAU,OAAO,OAAO,OAAO,EAAE;AAEnC,SAAI,CAAC,UAAU,OAAO,OACpB,QAAO,UAAU;;IAGrB,SAAS,KAAK,OAAO,MAAM;AACzB,SAAI,UAAU,OACZ,WAAU,OAAO,KAAI,OAAM,GAAG,KAAK,CAAC;;IAGxC,SAAS,cAAc,YAAY;KACjC,MAAM,QAAQ;AACd,SAAI,CAAC,MAAM,YACT,OAAM,8BAAc,IAAI,KAAK;AAE/B,YAAO,MAAM;;IAEf,SAAS,qBAAqB,YAAY,OAAO;KAC/C,MAAM,oBAAoB,mBAAmB,IAAI,WAAW;AAC5D,SAAI,qBAAqB,KACvB,mBAAkB,yBAAyB,MAAM;;IAGrD,SAAS,kBAAkB,YAAY,MAAM,eAAe;KAC1D,MAAM,eAAe,KAAK,cAAc,WAAW;KACnD,MAAM,UAAU,KAAK;KACrB,MAAM,cAAc,aAAa,IAAI,KAAK;KAC1C,MAAM,eAAe,QAAQ,iBAAiB,QAAQ,QAAQ,cAAc,WAAW;AACvF,SAAI,CAAC,eAAe,CAAC,aACnB,cAAa,IAAI,KAAK;cACb,eAAe,aACxB,cAAa,OAAO,KAAK;KAE3B,MAAM,oBAAoB,mBAAmB,IAAI,WAAW;AAC5D,SAAI,qBAAqB,KACvB,mBAAkB,sBAAsB,MAAM,cAAc;;IAGhE,SAAS,sBAAsB,YAAY,MAAM;KAC/C,MAAM,oBAAoB,mBAAmB,IAAI,WAAW;AAC5D,SAAI,qBAAqB,KACvB,mBAAkB,0BAA0B,KAAK;;IAGrD,IAAI,sCAAsC;IAC1C,SAAS,cAAc,YAAY,cAAc;AAC/C,2CAAsC;AACtC,SAAI,aACF,4BAA2B;SAE3B,8BAA6B;;IAGjC,MAAM,0BAA0B,EAAE;IAClC,SAAS,4BAA4B;AACnC,SAAI,CAAC,KAAK,SACR;AAEF,SAAI,wBAAwB,SAAS,EACnC;AAGF,UAAK,MAAM,UADmC;MAAC;MAAS;MAAkB;MAAQ;MAAM,EAC5B;MAC1D,MAAM,iBAAiB,cAAc;MACrC,MAAM,kBAAkB,GAAG,SAAS;OAClC,MAAM,WAAW,KAAK;AACtB,WAAI,YAAY,MAAM;AACpB,uBAAe,GAAG,KAAK;AACvB;;AAEF,WAAI,SAAS,4BACX;AAGA,sBAAe,6BAA6B,GAAG,uBAAuB,GAAG,KAAK,CAAC;;AAGnF,oBAAc,UAAU;AACxB,8BAAwB,WAAW;AACjC,qBAAc,UAAU;QACxB;;;IAGN,SAAS,8BAA8B;AACrC,6BAAwB,SAAQ,aAAY,UAAU,CAAC;AACvD,6BAAwB,SAAS;;IAEnC,MAAM,wBAAwB,EAAE;IAChC,MAAM,eAAe,EAAE;IACvB,SAAS,uBAAuB,OAAO;KACrC,MAAM,SAAS,MAAM,MAAM,MAAM,KAAK;AAEtC,YADc,OAAO,SAAS,IAAI,OAAO,KAAK;;IAGhD,SAAS,0BAA0B;AACjC,YAAO;;IAET,SAAS,4BAA4B,OAAO;KAC1C,MAAM,kBAAkB,uBAAuB,MAAM;AACrD,SAAI,oBAAoB,KACtB,uBAAsB,KAAK,gBAAgB;;IAG/C,SAAS,2BAA2B,OAAO;AACzC,SAAI,sBAAsB,SAAS,GAAG;MACpC,MAAM,kBAAkB,sBAAsB,KAAK;MACnD,MAAM,iBAAiB,uBAAuB,MAAM;AACpD,UAAI,mBAAmB,KACrB,cAAa,KAAK,CAAC,iBAAiB,eAAe,CAAC;;;IAI1D,SAAS,mCAAmC;AAC1C,SAAI,CAAC,KAAK,SACR;AAGF,UAAK,MAAM,UAD0C;MAAC;MAAS;MAAS;MAAO,EACZ;MACjE,MAAM,iBAAiB,cAAc;MACrC,MAAM,kBAAkB,GAAG,SAAS;OAClC,MAAM,WAAW,KAAK;AACtB,WAAI,YAAY,MAAM;AACpB,uBAAe,GAAG,KAAK;AACvB;;AAEF,WAAI,uCAAuC,SAAS,4BAClD;OAEF,IAAI,oCAAoC;OACxC,IAAI,2BAA2B;AAC/B,WAAI,SAAS,sBAAsB;QACjC,MAAM,UAAU,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,KAAK;AAC1D,mCAA2B,OAAO,YAAY,YAAY,uBAAuB,QAAQ;;OAE3F,MAAM,oCAAoC,SAAS,gCAAgC,WAAW,WAAW,WAAW;AACpH,YAAK,MAAM,qBAAqB,KAAK,mBAAmB,QAAQ,EAAE;QAChE,MAAM,EACJ,kBACA,sBACE;AACJ,YAAI;AACF,aAAI,mCACF;cAAI,oBAAoB,KACtB,kBAAiB,QAAQ,KAAK,OAAO,CAAC;;iBAGnC,OAAO;AACd,0BAAiB;AACf,gBAAM;YACL,EAAE;;AAEP,YAAI;AACF,aAAI,SAAS,wBAAwB,qBAAqB,MAAM;UAE9D,MAAM,QAAQ,kBADG,MAAM,wBAAwB,CACN;AACzC,cAAI,UAAU,MAAM;WAClB,MAAM,EACJ,mBACA,mBACE;AACJ,eAAI,mBAAmB,IAAI;YACzB,MAAM,4BAAY,IAAI,MAAM,GAAG;AAE7B,sBAAU,OAAO,oBAAoB,UAAU;AAEjD,sBAAU,QAAqB;AAC/B,gBAAI,0BACF;iBAAI,oBAAoB,KAAK,KAAK,SAAS,IAAI,eAAe,EAAE;cAC9D,MAAM,WAAW,KAAK;AACtB,kBAAI,KAAK,SAAS,KAAK,OAAO,aAAa,YAAY,SAAS,SAAS,KAAK,CAC5E,MAAK,KAAK,SAAS,MAAM,GAAG,SAAS,SAAS,EAAE;AAElD,mBAAK,KAAK,SAAS,KAAK;AACxB,kDAAoC;;mBAEjC;AACL,kBAAK,KAAK,UAAU;AACpB,iDAAoC;;;AAGxC;;;iBAGG,OAAO;AACd,0BAAiB;AACf,gBAAM;YACL,EAAE;;;AAGT,WAAI,SAAS,qBACX;AAEF,WAAI,oCAEA,gBAAe,oCAAoC,mDAAmD,6BAA6B,GAAG,uBAAuB,GAAG,KAAK,CAAC;WAGxK,gBAAe,GAAG,KAAK;;AAG3B,oBAAc,UAAU;;;IAG5B,MAAM,aAAa,EAAE;IACrB,MAAM,qCAAqB,IAAI,KAAK;IACpC,MAAM,YAAY,EAAE;IACpB,MAAM,4BAAY,IAAI,KAAK;IAE3B,MAAM,OAAO;KACX;KACA;KACA,0BAJe,IAAI,KAAK;KAKxB;KACA,gCAAgC;KAChC;KACA;KACA;KACA;KACA;KACA;KACA,eAAe;KACf,gBAAgB;KAChB;KACA;KACA;KACA;KACA;KACA;KACA;KACA;KACD;AACD,QAAI,kCAAkC,MAAM;AAC1C,UAAK,WAAW;MACd,sBAAsB;MACtB,sBAAsB;MACtB,6BAA6B;MAC7B,6BAA6B;MAC9B;AACD,uCAAkC;UAElC,SAAQ,QAAQ,+BAA+B,CAAC,MAAK,aAAY;AAC/D,UAAK,WAAW;AAChB,UAAK,KAAK,uBAAuB,SAAS;AAC1C,uCAAkC;MAClC,CAAC,YAAY;AACb,mBAAc,MAAM,4HAA4H;MAChJ;AAEJ,WAAO,eAAe,QAAQ,kCAAkC;KAC9D,cAAc;KACd,YAAY;KACZ,MAAM;AACJ,aAAO;;KAEV,CAAC;AACF,WAAO;;GAGT,SAAS,gBAAgB,UAAQ,OAAO;IACtC,IAAI,WAAW;IACf,MAAM,SAAS;KACb,QAAQ;KACR,MAAM;KACN,OAAO;KACP,KAAK;KACN;IACD,MAAM,cAAc,MAAMC;AAC1B,QAAI,eAAe,MAAM;AACvB,UAAK,MAAM,OAAO,OAAO,KAAK,OAAO,CACnC,QAAO,OAAO;AAEhB,gBAAW;;IAEb,MAAM,qBAAqB,MAAMA,WAAS;AAC1C,QAAI,sBAAsB,MAAM;AAC9B,YAAO,OAAO;AACd,YAAO,QAAQ;AACf,gBAAW;WACN;KACL,MAAM,eAAe,MAAMA,WAAS;AACpC,SAAI,gBAAgB,MAAM;AACxB,aAAO,OAAO;AACd,iBAAW;;KAEb,MAAM,gBAAgB,MAAMA,WAAS;AACrC,SAAI,iBAAiB,MAAM;AACzB,aAAO,QAAQ;AACf,iBAAW;;KAEb,MAAM,cAAc,MAAMA,WAAS;AACnC,SAAI,eAAe,MAAM;AACvB,aAAO,QAAQ;AACf,iBAAW;;KAEb,MAAM,gBAAgB,MAAMA,WAAS;AACrC,SAAI,iBAAiB,MAAM;AACzB,aAAO,OAAO;AACd,iBAAW;;;IAGf,MAAM,mBAAmB,MAAMA,WAAS;AACxC,QAAI,oBAAoB,MAAM;AAC5B,YAAO,SAAS;AAChB,YAAO,MAAM;AACb,gBAAW;WACN;KACL,MAAM,iBAAiB,MAAMA,WAAS;AACtC,SAAI,kBAAkB,MAAM;AAC1B,aAAO,SAAS;AAChB,iBAAW;;KAEb,MAAM,cAAc,MAAMA,WAAS;AACnC,SAAI,eAAe,MAAM;AACvB,aAAO,MAAM;AACb,iBAAW;;;AAGf,WAAO,WAAW,SAAS;;GAM7B,SAAS,uBAAuB,UAAQ,SAAO,oBAAoB,iBAAiB;AAClF,aAAO,YAAY,8BAA8B,EAC/C,IACA,iBACI;AACJ,kBAAad,SAAOI,UAAQ,oBAAoB,IAAI,WAAW;MAC/D;AACF,aAAO,YAAY,sCAAsC,EACvD,IACA,YACA,SACA,SACA,YACI;AACJ,iBAAYJ,SAAO,IAAI,YAAY,SAAS,SAAS,MAAM;AAC3D,sBAAiB,aAAaA,SAAOI,UAAQ,oBAAoB,IAAI,WAAW,CAAC;MACjF;AACF,aAAO,YAAY,+BAA+B,EAChD,IACA,YACA,MACA,YACI;AACJ,cAASJ,SAAO,IAAI,YAAY,MAAM,MAAM;AAC5C,sBAAiB,aAAaA,SAAOI,UAAQ,oBAAoB,IAAI,WAAW,CAAC;MACjF;AACF,aAAO,KAAK,gCAAgC;KAC1C,aAAa;KACb;KACD,CAAC;;GAEJ,MAAM,kBAAkB;IACtB,KAAK;IACL,MAAM;IACN,OAAO;IACP,QAAQ;IACT;GACD,MAAM,8CAA8B,IAAI,KAAK;GAC7C,SAAS,aAAa,SAAO,UAAQ,oBAAoB,IAAI,YAAY;IACvE,MAAM,OAAOJ,QAAM,oBAAoB;KACrC;KACA;KACD,CAAC;AACF,QAAI,CAAC,QAAQ,CAAC,KAAK,OAAO;AACxB,cAAO,KAAK,oCAAoC;MAC9C;MACA,QAAQ;MACR,OAAO;MACR,CAAC;AACF;;IAEF,MAAM,EACJ,UACA,UACE;IACJ,IAAI,gBAAgB,mBAAmB,MAAM;IAC7C,MAAM,iBAAiB,4BAA4B,IAAI,GAAG;AAC1D,QAAI,kBAAkB,KACpB,iBAAgB,OAAO,OAAO,EAAE,EAAE,eAAe,eAAe;AAElE,QAAI,CAAC,YAAY,OAAO,SAAS,YAAY,YAAY;AACvD,cAAO,KAAK,oCAAoC;MAC9C;MACA,QAAQ;MACR,OAAO,iBAAiB;MACzB,CAAC;AACF;;AAEF,aAAS,SAAS,GAAG,GAAG,OAAO,QAAQ,MAAM,QAAQ;AACnD,SAAI,OAAO,MAAM,UAAU;AACzB,eAAO,KAAK,oCAAoC;OAC9C;OACA,QAAQ;OACR,OAAO,iBAAiB;OACzB,CAAC;AACF;;KAEF,MAAM,SAAS,iBAAiB,QAAQ,gBAAgB,UAAU,cAAc,IAAI;KACpF,MAAM,UAAU,iBAAiB,QAAQ,gBAAgB,WAAW,cAAc,IAAI;AACtF,cAAO,KAAK,oCAAoC;MAC9C;MACA,QAAQ;OACN;OACA;OACA;OACA;OACA;OACA;OACA;OACA;OACD;MACD,OAAO,iBAAiB;MACzB,CAAC;MACF;;GAEJ,SAAS,aAAa,QAAQ;IAC5B,MAAM,SAAS,EAAE;AACjB,SAAK,MAAM,KAAK,OACd,QAAO,KAAK,OAAO;AAErB,WAAO;;GAET,SAAS,YAAY,SAAO,IAAI,YAAY,SAAS,SAAS,OAAO;IACnE,MAAM,OAAOA,QAAM,oBAAoB;KACrC;KACA;KACD,CAAC;AACF,QAAI,CAAC,QAAQ,CAAC,KAAK,MACjB;IAEF,MAAM,EACJ,UACA,UACE;IACJ,MAAM,WAAW,UAAU;MACxB,UAAU;MACV,UAAU;KACZ,GAAG,GACD,UAAU,QACZ;IACD,IAAI;AACJ,QAAI,aAAa,QAAQ,OAAO,SAAS,mBAAmB,YAAY;KACtE,MAAM,iBAAiB,4BAA4B,IAAI,GAAG;AAC1D,SAAI,CAAC,eACH,6BAA4B,IAAI,IAAI,SAAS;SAE7C,QAAO,OAAO,gBAAgB,SAAS;AAEzC,cAAS,eAAe,EACtB,OAAO,UACR,CAAC;eACO,YAAY,MAAM,EAAE;KAC7B,MAAM,YAAY,MAAM,SAAS;AACjC,SAAI,OAAO,MAAM,eAAe,YAAY,CAAC,YAAY,MAAM,WAAW,EAAE;AAC1E,oBAAc,aAAa,MAAM,WAAW;AAC5C,aAAO,YAAY;AACnB,UAAI,QACF,aAAY,WAAW;UAEvB,aAAY,WAAW;AAEzB,cAAM,oBAAoB;OACxB,MAAM;OACN;OACA;OACA,MAAM,CAAC,SAAS,UAAU;OAC1B,OAAO;OACR,CAAC;WAEF,SAAM,oBAAoB;MACxB,MAAM;MACN;MACA;MACA,MAAM,CAAC,QAAQ;MACf,OAAO,MAAM,OAAO,CAAC,SAAS,CAAC;MAChC,CAAC;eAEK,OAAO,UAAU,UAAU;AACpC,mBAAc,aAAa,MAAM;AACjC,YAAO,YAAY;AACnB,SAAI,QACF,aAAY,WAAW;SAEvB,aAAY,WAAW;AAEzB,aAAM,oBAAoB;MACxB,MAAM;MACN;MACA;MACA,MAAM,CAAC,QAAQ;MACf,OAAO;MACR,CAAC;UAEF,SAAM,oBAAoB;KACxB,MAAM;KACN;KACA;KACA,MAAM,CAAC,QAAQ;KACf,OAAO,CAAC,OAAO,SAAS;KACzB,CAAC;AAEJ,YAAM,KAAK,sBAAsB;;GAEnC,SAAS,SAAS,SAAO,IAAI,YAAY,MAAM,OAAO;IACpD,MAAM,OAAOA,QAAM,oBAAoB;KACrC;KACA;KACD,CAAC;AACF,QAAI,CAAC,QAAQ,CAAC,KAAK,MACjB;IAEF,MAAM,EACJ,UACA,UACE;IACJ,MAAM,WAAW,GACd,OAAO,OACT;AACD,QAAI,aAAa,QAAQ,OAAO,SAAS,mBAAmB,YAAY;KACtE,MAAM,iBAAiB,4BAA4B,IAAI,GAAG;AAC1D,SAAI,CAAC,eACH,6BAA4B,IAAI,IAAI,SAAS;SAE7C,QAAO,OAAO,gBAAgB,SAAS;AAEzC,cAAS,eAAe,EACtB,OAAO,UACR,CAAC;eACO,YAAY,MAAM,EAAE;KAC7B,MAAM,aAAa,MAAM,SAAS;AAClC,SAAI,OAAO,MAAM,gBAAgB,YAAY,CAAC,YAAY,MAAM,YAAY,CAC1E,SAAM,oBAAoB;MACxB,MAAM;MACN;MACA;MACA,MAAM;OAAC;OAAS;OAAY;OAAK;MACjC;MACD,CAAC;SAEF,SAAM,oBAAoB;MACxB,MAAM;MACN;MACA;MACA,MAAM,CAAC,QAAQ;MACf,OAAO,MAAM,OAAO,CAAC,SAAS,CAAC;MAChC,CAAC;UAGJ,SAAM,oBAAoB;KACxB,MAAM;KACN;KACA;KACA,MAAM,CAAC,QAAQ;KACf,OAAO,CAAC,OAAO,SAAS;KACzB,CAAC;AAEJ,YAAM,KAAK,sBAAsB;;GASnC,SAAS,gBAAgB,eAAe,UAAQ;IAC9C,MAAM,sBAAqB,SAAQ;AACjC,cAAO,eAAe,oBAAoB,mBAAmB;KAC7D,MAAM,EACJ,sBACA,sBACA,kBACA,6BACA,gCACE;AACJ,mBAAc,4CAA4C;AAC1D,mBAAc,6CAA6C;AAC3D,mBAAc,uCAAuC;AACrD,mBAAc,qDAAqD;AACnE,mBAAc,sDAAsD;AACpE,SAAI,kBAAkB,QAAQ;AAC5B,aAAO,4CAA4C;AACnD,aAAO,6CAA6C;AACpD,aAAO,uCAAuC;AAC9C,aAAO,qDAAqD;AAC5D,aAAO,sDAAsD;;AAE/D,sBAAiB,eAAeI,SAAO;;AAEzC,aAAO,YAAY,oBAAoB,mBAAmB;AAC1D,aAAO,KAAK,sBAAsB;;GAEpC,SAAS,iBAAiB,eAAe,UAAQ;IAC/C,MAAMJ,UAAQ,IAAI,MAAMI,UAAQ,2BAA2B,EAAE,mBAAmB;AAChF,kCAA8B;IAC9B,MAAM,OAAO,cAAc;AAC3B,QAAI,MAAM;AACR,iBAAY,MAAMJ,SAAO,eAAe,gCAAgC,CAAC;AACzE,SAAI,KAAK,eACP,wBAAuBI,UAAQJ,SAAO,KAAK,gBAAgB,KAAK,iCAAiC;;;GAIvG,SAAS,SAAS,eAAe,EAC/B,qBACE,EAAE,EAAE;AACN,QAAII,YAAU,KACZ,YAAS,aAAa,cAAc;AAEtC,oBAAgB,eAAeA,SAAO;;GAExC,SAAS,aAAa,eAAe,MAAM;IACzC,MAAM,EACJ,WACE;AACJ,QAAI,QAAQ,KACV,QAAO;KACL,OAAO,IAAI;MACT,MAAM,aAAa,EACjB,WACI;AACJ,UAAG,KAAK;;AAEV,oBAAc,iBAAiB,WAAW,UAAU;AACpD,mBAAa;AACX,qBAAc,oBAAoB,WAAW,UAAU;;;KAG3D,KAAK,OAAO,SAAS,cAAc;AACjC,aAAO,YAAY;OACjB;OACA;OACD,EAAE,KAAK,aAAa;;KAExB;AAEH,WAAO,IAAI,OAAO,KAAK;;GAEzB,SAAS,mBAAmB,eAAe;AACzC,gBAAY,cAAc;;MAExB;AAEJ,SAAO,UAAU;KACJ;;;;;;AC/6cb,QAAO;;;;;;AC+EP,SAAS,eAAe;AAKtB,uCAAkB,EAChB,WAHU,IAAIW,mBAAgB,EAAE,MAAM,MAAM,CAAC,EAI9C,CAAC;;AA+BJ,cAAc"}
|