funhi-chart 1.0.8 → 1.0.9
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/index.esm.js +2 -2
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../node_modules/fancy-canvas/size.mjs","../node_modules/fancy-canvas/device-pixel-ratio.mjs","../node_modules/fancy-canvas/canvas-element-bitmap-size.mjs","../node_modules/fancy-canvas/canvas-rendering-target.mjs","../node_modules/lightweight-charts/dist/lightweight-charts.production.mjs","../src/hooks/useSocket.ts","../src/hooks/useOptimizedTokenAnalytics.ts","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/utils.js","../node_modules/axios/lib/core/AxiosError.js","../node_modules/axios/lib/helpers/toFormData.js","../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/defaults/transitional.js","../node_modules/axios/lib/platform/browser/index.js","../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../node_modules/axios/lib/platform/browser/classes/FormData.js","../node_modules/axios/lib/platform/browser/classes/Blob.js","../node_modules/axios/lib/platform/common/utils.js","../node_modules/axios/lib/platform/index.js","../node_modules/axios/lib/helpers/formDataToJSON.js","../node_modules/axios/lib/defaults/index.js","../node_modules/axios/lib/helpers/toURLEncodedForm.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/core/AxiosHeaders.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/cancel/CanceledError.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/helpers/progressEventReducer.js","../node_modules/axios/lib/helpers/speedometer.js","../node_modules/axios/lib/helpers/throttle.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/helpers/resolveConfig.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/helpers/parseProtocol.js","../node_modules/axios/lib/helpers/composeSignals.js","../node_modules/axios/lib/helpers/trackStream.js","../node_modules/axios/lib/adapters/fetch.js","../node_modules/axios/lib/adapters/adapters.js","../node_modules/axios/lib/helpers/null.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/env/data.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/helpers/HttpStatusCode.js","../node_modules/axios/lib/axios.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/isAxiosError.js","../node_modules/axios/index.js","../src/config/environment.ts","../src/services/candleStorage.ts","../src/utils/candleAggregation.ts","../src/components/FunhiChart.tsx"],"sourcesContent":["export function size(_a) {\n var width = _a.width, height = _a.height;\n if (width < 0) {\n throw new Error('Negative width is not allowed for Size');\n }\n if (height < 0) {\n throw new Error('Negative height is not allowed for Size');\n }\n return {\n width: width,\n height: height,\n };\n}\nexport function equalSizes(first, second) {\n return (first.width === second.width) &&\n (first.height === second.height);\n}\n","var Observable = /** @class */ (function () {\n function Observable(win) {\n var _this = this;\n this._resolutionListener = function () { return _this._onResolutionChanged(); };\n this._resolutionMediaQueryList = null;\n this._observers = [];\n this._window = win;\n this._installResolutionListener();\n }\n Observable.prototype.dispose = function () {\n this._uninstallResolutionListener();\n this._window = null;\n };\n Object.defineProperty(Observable.prototype, \"value\", {\n get: function () {\n return this._window.devicePixelRatio;\n },\n enumerable: false,\n configurable: true\n });\n Observable.prototype.subscribe = function (next) {\n var _this = this;\n var observer = { next: next };\n this._observers.push(observer);\n return {\n unsubscribe: function () {\n _this._observers = _this._observers.filter(function (o) { return o !== observer; });\n },\n };\n };\n Observable.prototype._installResolutionListener = function () {\n if (this._resolutionMediaQueryList !== null) {\n throw new Error('Resolution listener is already installed');\n }\n var dppx = this._window.devicePixelRatio;\n this._resolutionMediaQueryList = this._window.matchMedia(\"all and (resolution: \".concat(dppx, \"dppx)\"));\n // IE and some versions of Edge do not support addEventListener/removeEventListener, and we are going to use the deprecated addListener/removeListener\n this._resolutionMediaQueryList.addListener(this._resolutionListener);\n };\n Observable.prototype._uninstallResolutionListener = function () {\n if (this._resolutionMediaQueryList !== null) {\n // IE and some versions of Edge do not support addEventListener/removeEventListener, and we are going to use the deprecated addListener/removeListener\n this._resolutionMediaQueryList.removeListener(this._resolutionListener);\n this._resolutionMediaQueryList = null;\n }\n };\n Observable.prototype._reinstallResolutionListener = function () {\n this._uninstallResolutionListener();\n this._installResolutionListener();\n };\n Observable.prototype._onResolutionChanged = function () {\n var _this = this;\n this._observers.forEach(function (observer) { return observer.next(_this._window.devicePixelRatio); });\n this._reinstallResolutionListener();\n };\n return Observable;\n}());\nexport function createObservable(win) {\n return new Observable(win);\n}\n","import { equalSizes, size } from \"./size.mjs\";\nimport { createObservable as createDevicePixelRatioObservable } from \"./device-pixel-ratio.mjs\";\nvar DevicePixelContentBoxBinding = /** @class */ (function () {\n function DevicePixelContentBoxBinding(canvasElement, transformBitmapSize, options) {\n var _a;\n this._canvasElement = null;\n this._bitmapSizeChangedListeners = [];\n this._suggestedBitmapSize = null;\n this._suggestedBitmapSizeChangedListeners = [];\n // devicePixelRatio approach\n this._devicePixelRatioObservable = null;\n // ResizeObserver approach\n this._canvasElementResizeObserver = null;\n this._canvasElement = canvasElement;\n this._canvasElementClientSize = size({\n width: this._canvasElement.clientWidth,\n height: this._canvasElement.clientHeight,\n });\n this._transformBitmapSize = transformBitmapSize !== null && transformBitmapSize !== void 0 ? transformBitmapSize : (function (size) { return size; });\n this._allowResizeObserver = (_a = options === null || options === void 0 ? void 0 : options.allowResizeObserver) !== null && _a !== void 0 ? _a : true;\n this._chooseAndInitObserver();\n // we MAY leave the constuctor without any bitmap size observation mechanics initialized\n }\n DevicePixelContentBoxBinding.prototype.dispose = function () {\n var _a, _b;\n if (this._canvasElement === null) {\n throw new Error('Object is disposed');\n }\n (_a = this._canvasElementResizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();\n this._canvasElementResizeObserver = null;\n (_b = this._devicePixelRatioObservable) === null || _b === void 0 ? void 0 : _b.dispose();\n this._devicePixelRatioObservable = null;\n this._suggestedBitmapSizeChangedListeners.length = 0;\n this._bitmapSizeChangedListeners.length = 0;\n this._canvasElement = null;\n };\n Object.defineProperty(DevicePixelContentBoxBinding.prototype, \"canvasElement\", {\n get: function () {\n if (this._canvasElement === null) {\n throw new Error('Object is disposed');\n }\n return this._canvasElement;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DevicePixelContentBoxBinding.prototype, \"canvasElementClientSize\", {\n get: function () {\n return this._canvasElementClientSize;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DevicePixelContentBoxBinding.prototype, \"bitmapSize\", {\n get: function () {\n return size({\n width: this.canvasElement.width,\n height: this.canvasElement.height,\n });\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Use this function to change canvas element client size until binding is disposed\n * @param clientSize New client size for bound HTMLCanvasElement\n */\n DevicePixelContentBoxBinding.prototype.resizeCanvasElement = function (clientSize) {\n this._canvasElementClientSize = size(clientSize);\n this.canvasElement.style.width = \"\".concat(this._canvasElementClientSize.width, \"px\");\n this.canvasElement.style.height = \"\".concat(this._canvasElementClientSize.height, \"px\");\n this._invalidateBitmapSize();\n };\n DevicePixelContentBoxBinding.prototype.subscribeBitmapSizeChanged = function (listener) {\n this._bitmapSizeChangedListeners.push(listener);\n };\n DevicePixelContentBoxBinding.prototype.unsubscribeBitmapSizeChanged = function (listener) {\n this._bitmapSizeChangedListeners = this._bitmapSizeChangedListeners.filter(function (l) { return l !== listener; });\n };\n Object.defineProperty(DevicePixelContentBoxBinding.prototype, \"suggestedBitmapSize\", {\n get: function () {\n return this._suggestedBitmapSize;\n },\n enumerable: false,\n configurable: true\n });\n DevicePixelContentBoxBinding.prototype.subscribeSuggestedBitmapSizeChanged = function (listener) {\n this._suggestedBitmapSizeChangedListeners.push(listener);\n };\n DevicePixelContentBoxBinding.prototype.unsubscribeSuggestedBitmapSizeChanged = function (listener) {\n this._suggestedBitmapSizeChangedListeners = this._suggestedBitmapSizeChangedListeners.filter(function (l) { return l !== listener; });\n };\n DevicePixelContentBoxBinding.prototype.applySuggestedBitmapSize = function () {\n if (this._suggestedBitmapSize === null) {\n // nothing to apply\n return;\n }\n var oldSuggestedSize = this._suggestedBitmapSize;\n this._suggestedBitmapSize = null;\n this._resizeBitmap(oldSuggestedSize);\n this._emitSuggestedBitmapSizeChanged(oldSuggestedSize, this._suggestedBitmapSize);\n };\n DevicePixelContentBoxBinding.prototype._resizeBitmap = function (newSize) {\n var oldSize = this.bitmapSize;\n if (equalSizes(oldSize, newSize)) {\n return;\n }\n this.canvasElement.width = newSize.width;\n this.canvasElement.height = newSize.height;\n this._emitBitmapSizeChanged(oldSize, newSize);\n };\n DevicePixelContentBoxBinding.prototype._emitBitmapSizeChanged = function (oldSize, newSize) {\n var _this = this;\n this._bitmapSizeChangedListeners.forEach(function (listener) { return listener.call(_this, oldSize, newSize); });\n };\n DevicePixelContentBoxBinding.prototype._suggestNewBitmapSize = function (newSize) {\n var oldSuggestedSize = this._suggestedBitmapSize;\n var finalNewSize = size(this._transformBitmapSize(newSize, this._canvasElementClientSize));\n var newSuggestedSize = equalSizes(this.bitmapSize, finalNewSize) ? null : finalNewSize;\n if (oldSuggestedSize === null && newSuggestedSize === null) {\n return;\n }\n if (oldSuggestedSize !== null && newSuggestedSize !== null\n && equalSizes(oldSuggestedSize, newSuggestedSize)) {\n return;\n }\n this._suggestedBitmapSize = newSuggestedSize;\n this._emitSuggestedBitmapSizeChanged(oldSuggestedSize, newSuggestedSize);\n };\n DevicePixelContentBoxBinding.prototype._emitSuggestedBitmapSizeChanged = function (oldSize, newSize) {\n var _this = this;\n this._suggestedBitmapSizeChangedListeners.forEach(function (listener) { return listener.call(_this, oldSize, newSize); });\n };\n DevicePixelContentBoxBinding.prototype._chooseAndInitObserver = function () {\n var _this = this;\n if (!this._allowResizeObserver) {\n this._initDevicePixelRatioObservable();\n return;\n }\n isDevicePixelContentBoxSupported()\n .then(function (isSupported) {\n return isSupported ?\n _this._initResizeObserver() :\n _this._initDevicePixelRatioObservable();\n });\n };\n // devicePixelRatio approach\n DevicePixelContentBoxBinding.prototype._initDevicePixelRatioObservable = function () {\n var _this = this;\n if (this._canvasElement === null) {\n // it looks like we are already dead\n return;\n }\n var win = canvasElementWindow(this._canvasElement);\n if (win === null) {\n throw new Error('No window is associated with the canvas');\n }\n this._devicePixelRatioObservable = createDevicePixelRatioObservable(win);\n this._devicePixelRatioObservable.subscribe(function () { return _this._invalidateBitmapSize(); });\n this._invalidateBitmapSize();\n };\n DevicePixelContentBoxBinding.prototype._invalidateBitmapSize = function () {\n var _a, _b;\n if (this._canvasElement === null) {\n // it looks like we are already dead\n return;\n }\n var win = canvasElementWindow(this._canvasElement);\n if (win === null) {\n return;\n }\n var ratio = (_b = (_a = this._devicePixelRatioObservable) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : win.devicePixelRatio;\n var canvasRects = this._canvasElement.getClientRects();\n var newSize = \n // eslint-disable-next-line no-negated-condition\n canvasRects[0] !== undefined ?\n predictedBitmapSize(canvasRects[0], ratio) :\n size({\n width: this._canvasElementClientSize.width * ratio,\n height: this._canvasElementClientSize.height * ratio,\n });\n this._suggestNewBitmapSize(newSize);\n };\n // ResizeObserver approach\n DevicePixelContentBoxBinding.prototype._initResizeObserver = function () {\n var _this = this;\n if (this._canvasElement === null) {\n // it looks like we are already dead\n return;\n }\n this._canvasElementResizeObserver = new ResizeObserver(function (entries) {\n var entry = entries.find(function (entry) { return entry.target === _this._canvasElement; });\n if (!entry || !entry.devicePixelContentBoxSize || !entry.devicePixelContentBoxSize[0]) {\n return;\n }\n var entrySize = entry.devicePixelContentBoxSize[0];\n var newSize = size({\n width: entrySize.inlineSize,\n height: entrySize.blockSize,\n });\n _this._suggestNewBitmapSize(newSize);\n });\n this._canvasElementResizeObserver.observe(this._canvasElement, { box: 'device-pixel-content-box' });\n };\n return DevicePixelContentBoxBinding;\n}());\nexport function bindTo(canvasElement, target) {\n if (target.type === 'device-pixel-content-box') {\n return new DevicePixelContentBoxBinding(canvasElement, target.transform, target.options);\n }\n throw new Error('Unsupported binding target');\n}\nfunction canvasElementWindow(canvasElement) {\n // According to DOM Level 2 Core specification, ownerDocument should never be null for HTMLCanvasElement\n // see https://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#node-ownerDoc\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return canvasElement.ownerDocument.defaultView;\n}\nfunction isDevicePixelContentBoxSupported() {\n return new Promise(function (resolve) {\n var ro = new ResizeObserver(function (entries) {\n resolve(entries.every(function (entry) { return 'devicePixelContentBoxSize' in entry; }));\n ro.disconnect();\n });\n ro.observe(document.body, { box: 'device-pixel-content-box' });\n })\n .catch(function () { return false; });\n}\nfunction predictedBitmapSize(canvasRect, ratio) {\n return size({\n width: Math.round(canvasRect.left * ratio + canvasRect.width * ratio) -\n Math.round(canvasRect.left * ratio),\n height: Math.round(canvasRect.top * ratio + canvasRect.height * ratio) -\n Math.round(canvasRect.top * ratio),\n });\n}\n","/**\n * @experimental\n */\nvar CanvasRenderingTarget2D = /** @class */ (function () {\n function CanvasRenderingTarget2D(context, mediaSize, bitmapSize) {\n if (mediaSize.width === 0 || mediaSize.height === 0) {\n throw new TypeError('Rendering target could only be created on a media with positive width and height');\n }\n this._mediaSize = mediaSize;\n // !Number.isInteger(bitmapSize.width) || !Number.isInteger(bitmapSize.height)\n if (bitmapSize.width === 0 || bitmapSize.height === 0) {\n throw new TypeError('Rendering target could only be created using a bitmap with positive integer width and height');\n }\n this._bitmapSize = bitmapSize;\n this._context = context;\n }\n CanvasRenderingTarget2D.prototype.useMediaCoordinateSpace = function (f) {\n try {\n this._context.save();\n // do not use resetTransform to support old versions of Edge\n this._context.setTransform(1, 0, 0, 1, 0, 0);\n this._context.scale(this._horizontalPixelRatio, this._verticalPixelRatio);\n return f({\n context: this._context,\n mediaSize: this._mediaSize,\n });\n }\n finally {\n this._context.restore();\n }\n };\n CanvasRenderingTarget2D.prototype.useBitmapCoordinateSpace = function (f) {\n try {\n this._context.save();\n // do not use resetTransform to support old versions of Edge\n this._context.setTransform(1, 0, 0, 1, 0, 0);\n return f({\n context: this._context,\n mediaSize: this._mediaSize,\n bitmapSize: this._bitmapSize,\n horizontalPixelRatio: this._horizontalPixelRatio,\n verticalPixelRatio: this._verticalPixelRatio,\n });\n }\n finally {\n this._context.restore();\n }\n };\n Object.defineProperty(CanvasRenderingTarget2D.prototype, \"_horizontalPixelRatio\", {\n get: function () {\n return this._bitmapSize.width / this._mediaSize.width;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CanvasRenderingTarget2D.prototype, \"_verticalPixelRatio\", {\n get: function () {\n return this._bitmapSize.height / this._mediaSize.height;\n },\n enumerable: false,\n configurable: true\n });\n return CanvasRenderingTarget2D;\n}());\nexport { CanvasRenderingTarget2D };\n/**\n * @experimental\n */\nexport function createCanvasRenderingTarget2D(binding, contextOptions) {\n var mediaSize = binding.canvasElementClientSize;\n var bitmapSize = binding.bitmapSize;\n var context = binding.canvasElement.getContext('2d', contextOptions);\n if (context === null) {\n throw new Error('Could not get 2d drawing context from bound canvas element. Has the canvas already been set to a different context mode?');\n }\n return new CanvasRenderingTarget2D(context, mediaSize, bitmapSize);\n}\n/**\n * @experimental\n */\nexport function tryCreateCanvasRenderingTarget2D(binding, contextOptions) {\n var mediaSize = binding.canvasElementClientSize;\n if (mediaSize.width === 0 || mediaSize.height === 0) {\n return null;\n }\n var bitmapSize = binding.bitmapSize;\n if (bitmapSize.width === 0 || bitmapSize.height === 0) {\n return null;\n }\n var context = binding.canvasElement.getContext('2d', contextOptions);\n if (context === null) {\n return null;\n }\n return new CanvasRenderingTarget2D(context, mediaSize, bitmapSize);\n}\n","/*!\n * @license\n * TradingView Lightweight Charts™ v4.2.3\n * Copyright (c) 2025 TradingView, Inc.\n * Licensed under Apache License 2.0 https://www.apache.org/licenses/LICENSE-2.0\n */\nimport{size as t,bindCanvasElementBitmapSizeTo as i,equalSizes as n,tryCreateCanvasRenderingTarget2D as s}from\"fancy-canvas\";const e={upColor:\"#26a69a\",downColor:\"#ef5350\",wickVisible:!0,borderVisible:!0,borderColor:\"#378658\",borderUpColor:\"#26a69a\",borderDownColor:\"#ef5350\",wickColor:\"#737375\",wickUpColor:\"#26a69a\",wickDownColor:\"#ef5350\"},r={upColor:\"#26a69a\",downColor:\"#ef5350\",openVisible:!0,thinBars:!0},h={color:\"#2196f3\",lineStyle:0,lineWidth:3,lineType:0,lineVisible:!0,crosshairMarkerVisible:!0,crosshairMarkerRadius:4,crosshairMarkerBorderColor:\"\",crosshairMarkerBorderWidth:2,crosshairMarkerBackgroundColor:\"\",lastPriceAnimation:0,pointMarkersVisible:!1},l={topColor:\"rgba( 46, 220, 135, 0.4)\",bottomColor:\"rgba( 40, 221, 100, 0)\",invertFilledArea:!1,lineColor:\"#33D778\",lineStyle:0,lineWidth:3,lineType:0,lineVisible:!0,crosshairMarkerVisible:!0,crosshairMarkerRadius:4,crosshairMarkerBorderColor:\"\",crosshairMarkerBorderWidth:2,crosshairMarkerBackgroundColor:\"\",lastPriceAnimation:0,pointMarkersVisible:!1},a={baseValue:{type:\"price\",price:0},topFillColor1:\"rgba(38, 166, 154, 0.28)\",topFillColor2:\"rgba(38, 166, 154, 0.05)\",topLineColor:\"rgba(38, 166, 154, 1)\",bottomFillColor1:\"rgba(239, 83, 80, 0.05)\",bottomFillColor2:\"rgba(239, 83, 80, 0.28)\",bottomLineColor:\"rgba(239, 83, 80, 1)\",lineWidth:3,lineStyle:0,lineType:0,lineVisible:!0,crosshairMarkerVisible:!0,crosshairMarkerRadius:4,crosshairMarkerBorderColor:\"\",crosshairMarkerBorderWidth:2,crosshairMarkerBackgroundColor:\"\",lastPriceAnimation:0,pointMarkersVisible:!1},o={color:\"#26a69a\",base:0},_={color:\"#2196f3\"},u={title:\"\",visible:!0,lastValueVisible:!0,priceLineVisible:!0,priceLineSource:0,priceLineWidth:1,priceLineColor:\"\",priceLineStyle:2,baseLineVisible:!0,baseLineWidth:1,baseLineColor:\"#B2B5BE\",baseLineStyle:0,priceFormat:{type:\"price\",precision:2,minMove:.01}};var c,d;function f(t,i){const n={0:[],1:[t.lineWidth,t.lineWidth],2:[2*t.lineWidth,2*t.lineWidth],3:[6*t.lineWidth,6*t.lineWidth],4:[t.lineWidth,4*t.lineWidth]}[i];t.setLineDash(n)}function v(t,i,n,s){t.beginPath();const e=t.lineWidth%2?.5:0;t.moveTo(n,i+e),t.lineTo(s,i+e),t.stroke()}function p(t,i){if(!t)throw new Error(\"Assertion failed\"+(i?\": \"+i:\"\"))}function m(t){if(void 0===t)throw new Error(\"Value is undefined\");return t}function b(t){if(null===t)throw new Error(\"Value is null\");return t}function w(t){return b(m(t))}!function(t){t[t.Simple=0]=\"Simple\",t[t.WithSteps=1]=\"WithSteps\",t[t.Curved=2]=\"Curved\"}(c||(c={})),function(t){t[t.Solid=0]=\"Solid\",t[t.Dotted=1]=\"Dotted\",t[t.Dashed=2]=\"Dashed\",t[t.LargeDashed=3]=\"LargeDashed\",t[t.SparseDotted=4]=\"SparseDotted\"}(d||(d={}));const g={khaki:\"#f0e68c\",azure:\"#f0ffff\",aliceblue:\"#f0f8ff\",ghostwhite:\"#f8f8ff\",gold:\"#ffd700\",goldenrod:\"#daa520\",gainsboro:\"#dcdcdc\",gray:\"#808080\",green:\"#008000\",honeydew:\"#f0fff0\",floralwhite:\"#fffaf0\",lightblue:\"#add8e6\",lightcoral:\"#f08080\",lemonchiffon:\"#fffacd\",hotpink:\"#ff69b4\",lightyellow:\"#ffffe0\",greenyellow:\"#adff2f\",lightgoldenrodyellow:\"#fafad2\",limegreen:\"#32cd32\",linen:\"#faf0e6\",lightcyan:\"#e0ffff\",magenta:\"#f0f\",maroon:\"#800000\",olive:\"#808000\",orange:\"#ffa500\",oldlace:\"#fdf5e6\",mediumblue:\"#0000cd\",transparent:\"#0000\",lime:\"#0f0\",lightpink:\"#ffb6c1\",mistyrose:\"#ffe4e1\",moccasin:\"#ffe4b5\",midnightblue:\"#191970\",orchid:\"#da70d6\",mediumorchid:\"#ba55d3\",mediumturquoise:\"#48d1cc\",orangered:\"#ff4500\",royalblue:\"#4169e1\",powderblue:\"#b0e0e6\",red:\"#f00\",coral:\"#ff7f50\",turquoise:\"#40e0d0\",white:\"#fff\",whitesmoke:\"#f5f5f5\",wheat:\"#f5deb3\",teal:\"#008080\",steelblue:\"#4682b4\",bisque:\"#ffe4c4\",aquamarine:\"#7fffd4\",aqua:\"#0ff\",sienna:\"#a0522d\",silver:\"#c0c0c0\",springgreen:\"#00ff7f\",antiquewhite:\"#faebd7\",burlywood:\"#deb887\",brown:\"#a52a2a\",beige:\"#f5f5dc\",chocolate:\"#d2691e\",chartreuse:\"#7fff00\",cornflowerblue:\"#6495ed\",cornsilk:\"#fff8dc\",crimson:\"#dc143c\",cadetblue:\"#5f9ea0\",tomato:\"#ff6347\",fuchsia:\"#f0f\",blue:\"#00f\",salmon:\"#fa8072\",blanchedalmond:\"#ffebcd\",slateblue:\"#6a5acd\",slategray:\"#708090\",thistle:\"#d8bfd8\",tan:\"#d2b48c\",cyan:\"#0ff\",darkblue:\"#00008b\",darkcyan:\"#008b8b\",darkgoldenrod:\"#b8860b\",darkgray:\"#a9a9a9\",blueviolet:\"#8a2be2\",black:\"#000\",darkmagenta:\"#8b008b\",darkslateblue:\"#483d8b\",darkkhaki:\"#bdb76b\",darkorchid:\"#9932cc\",darkorange:\"#ff8c00\",darkgreen:\"#006400\",darkred:\"#8b0000\",dodgerblue:\"#1e90ff\",darkslategray:\"#2f4f4f\",dimgray:\"#696969\",deepskyblue:\"#00bfff\",firebrick:\"#b22222\",forestgreen:\"#228b22\",indigo:\"#4b0082\",ivory:\"#fffff0\",lavenderblush:\"#fff0f5\",feldspar:\"#d19275\",indianred:\"#cd5c5c\",lightgreen:\"#90ee90\",lightgrey:\"#d3d3d3\",lightskyblue:\"#87cefa\",lightslategray:\"#789\",lightslateblue:\"#8470ff\",snow:\"#fffafa\",lightseagreen:\"#20b2aa\",lightsalmon:\"#ffa07a\",darksalmon:\"#e9967a\",darkviolet:\"#9400d3\",mediumpurple:\"#9370d8\",mediumaquamarine:\"#66cdaa\",skyblue:\"#87ceeb\",lavender:\"#e6e6fa\",lightsteelblue:\"#b0c4de\",mediumvioletred:\"#c71585\",mintcream:\"#f5fffa\",navajowhite:\"#ffdead\",navy:\"#000080\",olivedrab:\"#6b8e23\",palevioletred:\"#d87093\",violetred:\"#d02090\",yellow:\"#ff0\",yellowgreen:\"#9acd32\",lawngreen:\"#7cfc00\",pink:\"#ffc0cb\",paleturquoise:\"#afeeee\",palegoldenrod:\"#eee8aa\",darkolivegreen:\"#556b2f\",darkseagreen:\"#8fbc8f\",darkturquoise:\"#00ced1\",peachpuff:\"#ffdab9\",deeppink:\"#ff1493\",violet:\"#ee82ee\",palegreen:\"#98fb98\",mediumseagreen:\"#3cb371\",peru:\"#cd853f\",saddlebrown:\"#8b4513\",sandybrown:\"#f4a460\",rosybrown:\"#bc8f8f\",purple:\"#800080\",seagreen:\"#2e8b57\",seashell:\"#fff5ee\",papayawhip:\"#ffefd5\",mediumslateblue:\"#7b68ee\",plum:\"#dda0dd\",mediumspringgreen:\"#00fa9a\"};function M(t){return t<0?0:t>255?255:Math.round(t)||0}function x(t){return t<=0||t>1?Math.min(Math.max(t,0),1):Math.round(1e4*t)/1e4}const S=/^#([0-9a-f])([0-9a-f])([0-9a-f])([0-9a-f])?$/i,k=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})?$/i,y=/^rgb\\(\\s*(-?\\d{1,10})\\s*,\\s*(-?\\d{1,10})\\s*,\\s*(-?\\d{1,10})\\s*\\)$/,C=/^rgba\\(\\s*(-?\\d{1,10})\\s*,\\s*(-?\\d{1,10})\\s*,\\s*(-?\\d{1,10})\\s*,\\s*(-?\\d*\\.?\\d+)\\s*\\)$/;function T(t){(t=t.toLowerCase())in g&&(t=g[t]);{const i=C.exec(t)||y.exec(t);if(i)return[M(parseInt(i[1],10)),M(parseInt(i[2],10)),M(parseInt(i[3],10)),x(i.length<5?1:parseFloat(i[4]))]}{const i=k.exec(t);if(i)return[M(parseInt(i[1],16)),M(parseInt(i[2],16)),M(parseInt(i[3],16)),1]}{const i=S.exec(t);if(i)return[M(17*parseInt(i[1],16)),M(17*parseInt(i[2],16)),M(17*parseInt(i[3],16)),1]}throw new Error(`Cannot parse color: ${t}`)}function P(t){return.199*t[0]+.687*t[1]+.114*t[2]}function R(t){const i=T(t);return{t:`rgb(${i[0]}, ${i[1]}, ${i[2]})`,i:P(i)>160?\"black\":\"white\"}}class D{constructor(){this.h=[]}l(t,i,n){const s={o:t,_:i,u:!0===n};this.h.push(s)}v(t){const i=this.h.findIndex((i=>t===i.o));i>-1&&this.h.splice(i,1)}p(t){this.h=this.h.filter((i=>i._!==t))}m(t,i,n){const s=[...this.h];this.h=this.h.filter((t=>!t.u)),s.forEach((s=>s.o(t,i,n)))}M(){return this.h.length>0}S(){this.h=[]}}function V(t,...i){for(const n of i)for(const i in n)void 0!==n[i]&&Object.prototype.hasOwnProperty.call(n,i)&&![\"__proto__\",\"constructor\",\"prototype\"].includes(i)&&(\"object\"!=typeof n[i]||void 0===t[i]||Array.isArray(n[i])?t[i]=n[i]:V(t[i],n[i]));return t}function O(t){return\"number\"==typeof t&&isFinite(t)}function B(t){return\"number\"==typeof t&&t%1==0}function A(t){return\"string\"==typeof t}function I(t){return\"boolean\"==typeof t}function z(t){const i=t;if(!i||\"object\"!=typeof i)return i;let n,s,e;for(s in n=Array.isArray(i)?[]:{},i)i.hasOwnProperty(s)&&(e=i[s],n[s]=e&&\"object\"==typeof e?z(e):e);return n}function L(t){return null!==t}function E(t){return null===t?void 0:t}const N=\"-apple-system, BlinkMacSystemFont, 'Trebuchet MS', Roboto, Ubuntu, sans-serif\";function F(t,i,n){return void 0===i&&(i=N),`${n=void 0!==n?`${n} `:\"\"}${t}px ${i}`}class W{constructor(t){this.k={C:1,T:5,P:NaN,R:\"\",D:\"\",V:\"\",O:\"\",B:0,A:0,I:0,L:0,N:0},this.F=t}W(){const t=this.k,i=this.j(),n=this.H();return t.P===i&&t.D===n||(t.P=i,t.D=n,t.R=F(i,n),t.L=2.5/12*i,t.B=t.L,t.A=i/12*t.T,t.I=i/12*t.T,t.N=0),t.V=this.$(),t.O=this.U(),this.k}$(){return this.F.W().layout.textColor}U(){return this.F.q()}j(){return this.F.W().layout.fontSize}H(){return this.F.W().layout.fontFamily}}class j{constructor(){this.Y=[]}Z(t){this.Y=t}X(t,i,n){this.Y.forEach((s=>{s.X(t,i,n)}))}}class H{X(t,i,n){t.useBitmapCoordinateSpace((t=>this.K(t,i,n)))}}class $ extends H{constructor(){super(...arguments),this.G=null}J(t){this.G=t}K({context:t,horizontalPixelRatio:i,verticalPixelRatio:n}){if(null===this.G||null===this.G.tt)return;const s=this.G.tt,e=this.G,r=Math.max(1,Math.floor(i))%2/2,h=h=>{t.beginPath();for(let l=s.to-1;l>=s.from;--l){const s=e.it[l],a=Math.round(s.nt*i)+r,o=s.st*n,_=h*n+r;t.moveTo(a,o),t.arc(a,o,_,0,2*Math.PI)}t.fill()};e.et>0&&(t.fillStyle=e.rt,h(e.ht+e.et)),t.fillStyle=e.lt,h(e.ht)}}function U(){return{it:[{nt:0,st:0,ot:0,_t:0}],lt:\"\",rt:\"\",ht:0,et:0,tt:null}}const q={from:0,to:1};class Y{constructor(t,i){this.ut=new j,this.ct=[],this.dt=[],this.ft=!0,this.F=t,this.vt=i,this.ut.Z(this.ct)}bt(t){const i=this.F.wt();i.length!==this.ct.length&&(this.dt=i.map(U),this.ct=this.dt.map((t=>{const i=new $;return i.J(t),i})),this.ut.Z(this.ct)),this.ft=!0}gt(){return this.ft&&(this.Mt(),this.ft=!1),this.ut}Mt(){const t=2===this.vt.W().mode,i=this.F.wt(),n=this.vt.xt(),s=this.F.St();i.forEach(((i,e)=>{var r;const h=this.dt[e],l=i.kt(n);if(t||null===l||!i.yt())return void(h.tt=null);const a=b(i.Ct());h.lt=l.Tt,h.ht=l.ht,h.et=l.Pt,h.it[0]._t=l._t,h.it[0].st=i.Dt().Rt(l._t,a.Vt),h.rt=null!==(r=l.Ot)&&void 0!==r?r:this.F.Bt(h.it[0].st/i.Dt().At()),h.it[0].ot=n,h.it[0].nt=s.It(n),h.tt=q}))}}class Z extends H{constructor(t){super(),this.zt=t}K({context:t,bitmapSize:i,horizontalPixelRatio:n,verticalPixelRatio:s}){if(null===this.zt)return;const e=this.zt.Lt.yt,r=this.zt.Et.yt;if(!e&&!r)return;const h=Math.round(this.zt.nt*n),l=Math.round(this.zt.st*s);t.lineCap=\"butt\",e&&h>=0&&(t.lineWidth=Math.floor(this.zt.Lt.et*n),t.strokeStyle=this.zt.Lt.V,t.fillStyle=this.zt.Lt.V,f(t,this.zt.Lt.Nt),function(t,i,n,s){t.beginPath();const e=t.lineWidth%2?.5:0;t.moveTo(i+e,n),t.lineTo(i+e,s),t.stroke()}(t,h,0,i.height)),r&&l>=0&&(t.lineWidth=Math.floor(this.zt.Et.et*s),t.strokeStyle=this.zt.Et.V,t.fillStyle=this.zt.Et.V,f(t,this.zt.Et.Nt),v(t,l,0,i.width))}}class X{constructor(t){this.ft=!0,this.Ft={Lt:{et:1,Nt:0,V:\"\",yt:!1},Et:{et:1,Nt:0,V:\"\",yt:!1},nt:0,st:0},this.Wt=new Z(this.Ft),this.jt=t}bt(){this.ft=!0}gt(){return this.ft&&(this.Mt(),this.ft=!1),this.Wt}Mt(){const t=this.jt.yt(),i=b(this.jt.Ht()),n=i.$t().W().crosshair,s=this.Ft;if(2===n.mode)return s.Et.yt=!1,void(s.Lt.yt=!1);s.Et.yt=t&&this.jt.Ut(i),s.Lt.yt=t&&this.jt.qt(),s.Et.et=n.horzLine.width,s.Et.Nt=n.horzLine.style,s.Et.V=n.horzLine.color,s.Lt.et=n.vertLine.width,s.Lt.Nt=n.vertLine.style,s.Lt.V=n.vertLine.color,s.nt=this.jt.Yt(),s.st=this.jt.Zt()}}function K(t,i,n,s,e,r){t.fillRect(i+r,n,s-2*r,r),t.fillRect(i+r,n+e-r,s-2*r,r),t.fillRect(i,n,r,e),t.fillRect(i+s-r,n,r,e)}function G(t,i,n,s,e,r){t.save(),t.globalCompositeOperation=\"copy\",t.fillStyle=r,t.fillRect(i,n,s,e),t.restore()}function J(t,i,n,s,e,r){t.beginPath(),t.roundRect?t.roundRect(i,n,s,e,r):(t.lineTo(i+s-r[1],n),0!==r[1]&&t.arcTo(i+s,n,i+s,n+r[1],r[1]),t.lineTo(i+s,n+e-r[2]),0!==r[2]&&t.arcTo(i+s,n+e,i+s-r[2],n+e,r[2]),t.lineTo(i+r[3],n+e),0!==r[3]&&t.arcTo(i,n+e,i,n+e-r[3],r[3]),t.lineTo(i,n+r[0]),0!==r[0]&&t.arcTo(i,n,i+r[0],n,r[0]))}function Q(t,i,n,s,e,r,h=0,l=[0,0,0,0],a=\"\"){if(t.save(),!h||!a||a===r)return J(t,i,n,s,e,l),t.fillStyle=r,t.fill(),void t.restore();const o=h/2;var _;J(t,i+o,n+o,s-h,e-h,(_=-o,l.map((t=>0===t?t:t+_)))),\"transparent\"!==r&&(t.fillStyle=r,t.fill()),\"transparent\"!==a&&(t.lineWidth=h,t.strokeStyle=a,t.closePath(),t.stroke()),t.restore()}function tt(t,i,n,s,e,r,h){t.save(),t.globalCompositeOperation=\"copy\";const l=t.createLinearGradient(0,0,0,e);l.addColorStop(0,r),l.addColorStop(1,h),t.fillStyle=l,t.fillRect(i,n,s,e),t.restore()}class it{constructor(t,i){this.J(t,i)}J(t,i){this.zt=t,this.Xt=i}At(t,i){return this.zt.yt?t.P+t.L+t.B:0}X(t,i,n,s){if(!this.zt.yt||0===this.zt.Kt.length)return;const e=this.zt.V,r=this.Xt.t,h=t.useBitmapCoordinateSpace((t=>{const h=t.context;h.font=i.R;const l=this.Gt(t,i,n,s),a=l.Jt;return l.Qt?Q(h,a.ti,a.ii,a.ni,a.si,r,a.ei,[a.ht,0,0,a.ht],r):Q(h,a.ri,a.ii,a.ni,a.si,r,a.ei,[0,a.ht,a.ht,0],r),this.zt.hi&&(h.fillStyle=e,h.fillRect(a.ri,a.li,a.ai-a.ri,a.oi)),this.zt._i&&(h.fillStyle=i.O,h.fillRect(l.Qt?a.ui-a.ei:0,a.ii,a.ei,a.ci-a.ii)),l}));t.useMediaCoordinateSpace((({context:t})=>{const n=h.di;t.font=i.R,t.textAlign=h.Qt?\"right\":\"left\",t.textBaseline=\"middle\",t.fillStyle=e,t.fillText(this.zt.Kt,n.fi,(n.ii+n.ci)/2+n.pi)}))}Gt(t,i,n,s){var e;const{context:r,bitmapSize:h,mediaSize:l,horizontalPixelRatio:a,verticalPixelRatio:o}=t,_=this.zt.hi||!this.zt.mi?i.T:0,u=this.zt.bi?i.C:0,c=i.L+this.Xt.wi,d=i.B+this.Xt.gi,f=i.A,v=i.I,p=this.zt.Kt,m=i.P,b=n.Mi(r,p),w=Math.ceil(n.xi(r,p)),g=m+c+d,M=i.C+f+v+w+_,x=Math.max(1,Math.floor(o));let S=Math.round(g*o);S%2!=x%2&&(S+=1);const k=u>0?Math.max(1,Math.floor(u*a)):0,y=Math.round(M*a),C=Math.round(_*a),T=null!==(e=this.Xt.Si)&&void 0!==e?e:this.Xt.ki,P=Math.round(T*o)-Math.floor(.5*o),R=Math.floor(P+x/2-S/2),D=R+S,V=\"right\"===s,O=V?l.width-u:u,B=V?h.width-k:k;let A,I,z;return V?(A=B-y,I=B-C,z=O-_-f-u):(A=B+y,I=B+C,z=O+_+f),{Qt:V,Jt:{ii:R,li:P,ci:D,ni:y,si:S,ht:2*a,ei:k,ti:A,ri:B,ai:I,oi:x,ui:h.width},di:{ii:R/o,ci:D/o,fi:z,pi:b}}}}class nt{constructor(t){this.yi={ki:0,t:\"#000\",gi:0,wi:0},this.Ci={Kt:\"\",yt:!1,hi:!0,mi:!1,Ot:\"\",V:\"#FFF\",_i:!1,bi:!1},this.Ti={Kt:\"\",yt:!1,hi:!1,mi:!0,Ot:\"\",V:\"#FFF\",_i:!0,bi:!0},this.ft=!0,this.Pi=new(t||it)(this.Ci,this.yi),this.Ri=new(t||it)(this.Ti,this.yi)}Kt(){return this.Di(),this.Ci.Kt}ki(){return this.Di(),this.yi.ki}bt(){this.ft=!0}At(t,i=!1){return Math.max(this.Pi.At(t,i),this.Ri.At(t,i))}Vi(){return this.yi.Si||0}Oi(t){this.yi.Si=t}Bi(){return this.Di(),this.Ci.yt||this.Ti.yt}Ai(){return this.Di(),this.Ci.yt}gt(t){return this.Di(),this.Ci.hi=this.Ci.hi&&t.W().ticksVisible,this.Ti.hi=this.Ti.hi&&t.W().ticksVisible,this.Pi.J(this.Ci,this.yi),this.Ri.J(this.Ti,this.yi),this.Pi}Ii(){return this.Di(),this.Pi.J(this.Ci,this.yi),this.Ri.J(this.Ti,this.yi),this.Ri}Di(){this.ft&&(this.Ci.hi=!0,this.Ti.hi=!1,this.zi(this.Ci,this.Ti,this.yi))}}class st extends nt{constructor(t,i,n){super(),this.jt=t,this.Li=i,this.Ei=n}zi(t,i,n){if(t.yt=!1,2===this.jt.W().mode)return;const s=this.jt.W().horzLine;if(!s.labelVisible)return;const e=this.Li.Ct();if(!this.jt.yt()||this.Li.Ni()||null===e)return;const r=R(s.labelBackgroundColor);n.t=r.t,t.V=r.i;const h=2/12*this.Li.P();n.wi=h,n.gi=h;const l=this.Ei(this.Li);n.ki=l.ki,t.Kt=this.Li.Fi(l._t,e),t.yt=!0}}const et=/[1-9]/g;class rt{constructor(){this.zt=null}J(t){this.zt=t}X(t,i){if(null===this.zt||!1===this.zt.yt||0===this.zt.Kt.length)return;const n=t.useMediaCoordinateSpace((({context:t})=>(t.font=i.R,Math.round(i.Wi.xi(t,b(this.zt).Kt,et)))));if(n<=0)return;const s=i.ji,e=n+2*s,r=e/2,h=this.zt.Hi;let l=this.zt.ki,a=Math.floor(l-r)+.5;a<0?(l+=Math.abs(0-a),a=Math.floor(l-r)+.5):a+e>h&&(l-=Math.abs(h-(a+e)),a=Math.floor(l-r)+.5);const o=a+e,_=Math.ceil(0+i.C+i.T+i.L+i.P+i.B);t.useBitmapCoordinateSpace((({context:t,horizontalPixelRatio:n,verticalPixelRatio:s})=>{const e=b(this.zt);t.fillStyle=e.t;const r=Math.round(a*n),h=Math.round(0*s),l=Math.round(o*n),u=Math.round(_*s),c=Math.round(2*n);if(t.beginPath(),t.moveTo(r,h),t.lineTo(r,u-c),t.arcTo(r,u,r+c,u,c),t.lineTo(l-c,u),t.arcTo(l,u,l,u-c,c),t.lineTo(l,h),t.fill(),e.hi){const r=Math.round(e.ki*n),l=h,a=Math.round((l+i.T)*s);t.fillStyle=e.V;const o=Math.max(1,Math.floor(n)),_=Math.floor(.5*n);t.fillRect(r-_,l,o,a-l)}})),t.useMediaCoordinateSpace((({context:t})=>{const n=b(this.zt),e=0+i.C+i.T+i.L+i.P/2;t.font=i.R,t.textAlign=\"left\",t.textBaseline=\"middle\",t.fillStyle=n.V;const r=i.Wi.Mi(t,\"Apr0\");t.translate(a+s,e+r),t.fillText(n.Kt,0,0)}))}}class ht{constructor(t,i,n){this.ft=!0,this.Wt=new rt,this.Ft={yt:!1,t:\"#4c525e\",V:\"white\",Kt:\"\",Hi:0,ki:NaN,hi:!0},this.vt=t,this.$i=i,this.Ei=n}bt(){this.ft=!0}gt(){return this.ft&&(this.Mt(),this.ft=!1),this.Wt.J(this.Ft),this.Wt}Mt(){const t=this.Ft;if(t.yt=!1,2===this.vt.W().mode)return;const i=this.vt.W().vertLine;if(!i.labelVisible)return;const n=this.$i.St();if(n.Ni())return;t.Hi=n.Hi();const s=this.Ei();if(null===s)return;t.ki=s.ki;const e=n.Ui(this.vt.xt());t.Kt=n.qi(b(e)),t.yt=!0;const r=R(i.labelBackgroundColor);t.t=r.t,t.V=r.i,t.hi=n.W().ticksVisible}}class lt{constructor(){this.Yi=null,this.Zi=0}Xi(){return this.Zi}Ki(t){this.Zi=t}Dt(){return this.Yi}Gi(t){this.Yi=t}Ji(t){return[]}Qi(){return[]}yt(){return!0}}var at;!function(t){t[t.Normal=0]=\"Normal\",t[t.Magnet=1]=\"Magnet\",t[t.Hidden=2]=\"Hidden\"}(at||(at={}));class ot extends lt{constructor(t,i){super(),this.tn=null,this.nn=NaN,this.sn=0,this.en=!0,this.rn=new Map,this.hn=!1,this.ln=NaN,this.an=NaN,this._n=NaN,this.un=NaN,this.$i=t,this.cn=i,this.dn=new Y(t,this);this.fn=((t,i)=>n=>{const s=i(),e=t();if(n===b(this.tn).vn())return{_t:e,ki:s};{const t=b(n.Ct());return{_t:n.pn(s,t),ki:s}}})((()=>this.nn),(()=>this.an));const n=((t,i)=>()=>{const n=this.$i.St().mn(t()),s=i();return n&&Number.isFinite(s)?{ot:n,ki:s}:null})((()=>this.sn),(()=>this.Yt()));this.bn=new ht(this,t,n),this.wn=new X(this)}W(){return this.cn}gn(t,i){this._n=t,this.un=i}Mn(){this._n=NaN,this.un=NaN}xn(){return this._n}Sn(){return this.un}kn(t,i,n){this.hn||(this.hn=!0),this.en=!0,this.yn(t,i,n)}xt(){return this.sn}Yt(){return this.ln}Zt(){return this.an}yt(){return this.en}Cn(){this.en=!1,this.Tn(),this.nn=NaN,this.ln=NaN,this.an=NaN,this.tn=null,this.Mn()}Pn(t){return null!==this.tn?[this.wn,this.dn]:[]}Ut(t){return t===this.tn&&this.cn.horzLine.visible}qt(){return this.cn.vertLine.visible}Rn(t,i){this.en&&this.tn===t||this.rn.clear();const n=[];return this.tn===t&&n.push(this.Dn(this.rn,i,this.fn)),n}Qi(){return this.en?[this.bn]:[]}Ht(){return this.tn}Vn(){this.wn.bt(),this.rn.forEach((t=>t.bt())),this.bn.bt(),this.dn.bt()}On(t){return t&&!t.vn().Ni()?t.vn():null}yn(t,i,n){this.Bn(t,i,n)&&this.Vn()}Bn(t,i,n){const s=this.ln,e=this.an,r=this.nn,h=this.sn,l=this.tn,a=this.On(n);this.sn=t,this.ln=isNaN(t)?NaN:this.$i.St().It(t),this.tn=n;const o=null!==a?a.Ct():null;return null!==a&&null!==o?(this.nn=i,this.an=a.Rt(i,o)):(this.nn=NaN,this.an=NaN),s!==this.ln||e!==this.an||h!==this.sn||r!==this.nn||l!==this.tn}Tn(){const t=this.$i.wt().map((t=>t.In().An())).filter(L),i=0===t.length?null:Math.max(...t);this.sn=null!==i?i:NaN}Dn(t,i,n){let s=t.get(i);return void 0===s&&(s=new st(this,i,n),t.set(i,s)),s}}function _t(t){return\"left\"===t||\"right\"===t}class ut{constructor(t){this.zn=new Map,this.Ln=[],this.En=t}Nn(t,i){const n=function(t,i){return void 0===t?i:{Fn:Math.max(t.Fn,i.Fn),Wn:t.Wn||i.Wn}}(this.zn.get(t),i);this.zn.set(t,n)}jn(){return this.En}Hn(t){const i=this.zn.get(t);return void 0===i?{Fn:this.En}:{Fn:Math.max(this.En,i.Fn),Wn:i.Wn}}$n(){this.Un(),this.Ln=[{qn:0}]}Yn(t){this.Un(),this.Ln=[{qn:1,Vt:t}]}Zn(t){this.Xn(),this.Ln.push({qn:5,Vt:t})}Un(){this.Xn(),this.Ln.push({qn:6})}Kn(){this.Un(),this.Ln=[{qn:4}]}Gn(t){this.Un(),this.Ln.push({qn:2,Vt:t})}Jn(t){this.Un(),this.Ln.push({qn:3,Vt:t})}Qn(){return this.Ln}ts(t){for(const i of t.Ln)this.ns(i);this.En=Math.max(this.En,t.En),t.zn.forEach(((t,i)=>{this.Nn(i,t)}))}static ss(){return new ut(2)}static es(){return new ut(3)}ns(t){switch(t.qn){case 0:this.$n();break;case 1:this.Yn(t.Vt);break;case 2:this.Gn(t.Vt);break;case 3:this.Jn(t.Vt);break;case 4:this.Kn();break;case 5:this.Zn(t.Vt);break;case 6:this.Xn()}}Xn(){const t=this.Ln.findIndex((t=>5===t.qn));-1!==t&&this.Ln.splice(t,1)}}const ct=\".\";function dt(t,i){if(!O(t))return\"n/a\";if(!B(i))throw new TypeError(\"invalid length\");if(i<0||i>16)throw new TypeError(\"invalid length\");if(0===i)return t.toString();return(\"0000000000000000\"+t.toString()).slice(-i)}class ft{constructor(t,i){if(i||(i=1),O(t)&&B(t)||(t=100),t<0)throw new TypeError(\"invalid base\");this.Li=t,this.rs=i,this.hs()}format(t){const i=t<0?\"−\":\"\";return t=Math.abs(t),i+this.ls(t)}hs(){if(this._s=0,this.Li>0&&this.rs>0){let t=this.Li;for(;t>1;)t/=10,this._s++}}ls(t){const i=this.Li/this.rs;let n=Math.floor(t),s=\"\";const e=void 0!==this._s?this._s:NaN;if(i>1){let r=+(Math.round(t*i)-n*i).toFixed(this._s);r>=i&&(r-=i,n+=1),s=ct+dt(+r.toFixed(this._s)*this.rs,e)}else n=Math.round(n*i)/i,e>0&&(s=ct+dt(0,e));return n.toFixed(0)+s}}class vt extends ft{constructor(t=100){super(t)}format(t){return`${super.format(t)}%`}}class pt{constructor(t){this.us=t}format(t){let i=\"\";return t<0&&(i=\"-\",t=-t),t<995?i+this.cs(t):t<999995?i+this.cs(t/1e3)+\"K\":t<999999995?(t=1e3*Math.round(t/1e3),i+this.cs(t/1e6)+\"M\"):(t=1e6*Math.round(t/1e6),i+this.cs(t/1e9)+\"B\")}cs(t){let i;const n=Math.pow(10,this.us);return i=(t=Math.round(t*n)/n)>=1e-15&&t<1?t.toFixed(this.us).replace(/\\.?0+$/,\"\"):String(t),i.replace(/(\\.[1-9]*)0+$/,((t,i)=>i))}}function mt(t,i,n,s,e,r,h){if(0===i.length||s.from>=i.length||s.to<=0)return;const{context:l,horizontalPixelRatio:a,verticalPixelRatio:o}=t,_=i[s.from];let u=r(t,_),c=_;if(s.to-s.from<2){const i=e/2;l.beginPath();const n={nt:_.nt-i,st:_.st},s={nt:_.nt+i,st:_.st};l.moveTo(n.nt*a,n.st*o),l.lineTo(s.nt*a,s.st*o),h(t,u,n,s)}else{const e=(i,n)=>{h(t,u,c,n),l.beginPath(),u=i,c=n};let d=c;l.beginPath(),l.moveTo(_.nt*a,_.st*o);for(let h=s.from+1;h<s.to;++h){d=i[h];const s=r(t,d);switch(n){case 0:l.lineTo(d.nt*a,d.st*o);break;case 1:l.lineTo(d.nt*a,i[h-1].st*o),s!==u&&(e(s,d),l.lineTo(d.nt*a,i[h-1].st*o)),l.lineTo(d.nt*a,d.st*o);break;case 2:{const[t,n]=Mt(i,h-1,h);l.bezierCurveTo(t.nt*a,t.st*o,n.nt*a,n.st*o,d.nt*a,d.st*o);break}}1!==n&&s!==u&&(e(s,d),l.moveTo(d.nt*a,d.st*o))}(c!==d||c===d&&1===n)&&h(t,u,c,d)}}const bt=6;function wt(t,i){return{nt:t.nt-i.nt,st:t.st-i.st}}function gt(t,i){return{nt:t.nt/i,st:t.st/i}}function Mt(t,i,n){const s=Math.max(0,i-1),e=Math.min(t.length-1,n+1);var r,h;return[(r=t[i],h=gt(wt(t[n],t[s]),bt),{nt:r.nt+h.nt,st:r.st+h.st}),wt(t[n],gt(wt(t[e],t[i]),bt))]}function xt(t,i,n,s,e){const{context:r,horizontalPixelRatio:h,verticalPixelRatio:l}=i;r.lineTo(e.nt*h,t*l),r.lineTo(s.nt*h,t*l),r.closePath(),r.fillStyle=n,r.fill()}class St extends H{constructor(){super(...arguments),this.G=null}J(t){this.G=t}K(t){var i;if(null===this.G)return;const{it:n,tt:s,ds:e,et:r,Nt:h,fs:l}=this.G,a=null!==(i=this.G.vs)&&void 0!==i?i:this.G.ps?0:t.mediaSize.height;if(null===s)return;const o=t.context;o.lineCap=\"butt\",o.lineJoin=\"round\",o.lineWidth=r,f(o,h),o.lineWidth=1,mt(t,n,l,s,e,this.bs.bind(this),xt.bind(null,a))}}function kt(t,i,n){return Math.min(Math.max(t,i),n)}function yt(t,i,n){return i-t<=n}function Ct(t){const i=Math.ceil(t);return i%2==0?i-1:i}class Tt{ws(t,i){const n=this.gs,{Ms:s,xs:e,Ss:r,ks:h,ys:l,vs:a}=i;if(void 0===this.Cs||void 0===n||n.Ms!==s||n.xs!==e||n.Ss!==r||n.ks!==h||n.vs!==a||n.ys!==l){const n=t.context.createLinearGradient(0,0,0,l);if(n.addColorStop(0,s),null!=a){const i=kt(a*t.verticalPixelRatio/l,0,1);n.addColorStop(i,e),n.addColorStop(i,r)}n.addColorStop(1,h),this.Cs=n,this.gs=i}return this.Cs}}class Pt extends St{constructor(){super(...arguments),this.Ts=new Tt}bs(t,i){return this.Ts.ws(t,{Ms:i.Ps,xs:\"\",Ss:\"\",ks:i.Rs,ys:t.bitmapSize.height})}}function Rt(t,i){const n=t.context;n.strokeStyle=i,n.stroke()}class Dt extends H{constructor(){super(...arguments),this.G=null}J(t){this.G=t}K(t){if(null===this.G)return;const{it:i,tt:n,ds:s,fs:e,et:r,Nt:h,Ds:l}=this.G;if(null===n)return;const a=t.context;a.lineCap=\"butt\",a.lineWidth=r*t.verticalPixelRatio,f(a,h),a.lineJoin=\"round\";const o=this.Vs.bind(this);void 0!==e&&mt(t,i,e,n,s,o,Rt),l&&function(t,i,n,s,e){const{horizontalPixelRatio:r,verticalPixelRatio:h,context:l}=t;let a=null;const o=Math.max(1,Math.floor(r))%2/2,_=n*h+o;for(let n=s.to-1;n>=s.from;--n){const s=i[n];if(s){const i=e(t,s);i!==a&&(l.beginPath(),null!==a&&l.fill(),l.fillStyle=i,a=i);const n=Math.round(s.nt*r)+o,u=s.st*h;l.moveTo(n,u),l.arc(n,u,_,0,2*Math.PI)}}l.fill()}(t,i,l,n,o)}}class Vt extends Dt{Vs(t,i){return i.lt}}function Ot(t,i,n,s,e=0,r=i.length){let h=r-e;for(;0<h;){const r=h>>1,l=e+r;s(i[l],n)===t?(e=l+1,h-=r+1):h=r}return e}const Bt=Ot.bind(null,!0),At=Ot.bind(null,!1);function It(t,i){return t.ot<i}function zt(t,i){return i<t.ot}function Lt(t,i,n){const s=i.Os(),e=i.ui(),r=Bt(t,s,It),h=At(t,e,zt);if(!n)return{from:r,to:h};let l=r,a=h;return r>0&&r<t.length&&t[r].ot>=s&&(l=r-1),h>0&&h<t.length&&t[h-1].ot<=e&&(a=h+1),{from:l,to:a}}class Et{constructor(t,i,n){this.Bs=!0,this.As=!0,this.Is=!0,this.zs=[],this.Ls=null,this.Es=t,this.Ns=i,this.Fs=n}bt(t){this.Bs=!0,\"data\"===t&&(this.As=!0),\"options\"===t&&(this.Is=!0)}gt(){return this.Es.yt()?(this.Ws(),null===this.Ls?null:this.js):null}Hs(){this.zs=this.zs.map((t=>Object.assign(Object.assign({},t),this.Es.Us().$s(t.ot))))}qs(){this.Ls=null}Ws(){this.As&&(this.Ys(),this.As=!1),this.Is&&(this.Hs(),this.Is=!1),this.Bs&&(this.Zs(),this.Bs=!1)}Zs(){const t=this.Es.Dt(),i=this.Ns.St();if(this.qs(),i.Ni()||t.Ni())return;const n=i.Xs();if(null===n)return;if(0===this.Es.In().Ks())return;const s=this.Es.Ct();null!==s&&(this.Ls=Lt(this.zs,n,this.Fs),this.Gs(t,i,s.Vt),this.Js())}}class Nt extends Et{constructor(t,i){super(t,i,!0)}Gs(t,i,n){i.Qs(this.zs,E(this.Ls)),t.te(this.zs,n,E(this.Ls))}ie(t,i){return{ot:t,_t:i,nt:NaN,st:NaN}}Ys(){const t=this.Es.Us();this.zs=this.Es.In().ne().map((i=>{const n=i.Vt[3];return this.se(i.ee,n,t)}))}}class Ft extends Nt{constructor(t,i){super(t,i),this.js=new j,this.re=new Pt,this.he=new Vt,this.js.Z([this.re,this.he])}se(t,i,n){return Object.assign(Object.assign({},this.ie(t,i)),n.$s(t))}Js(){const t=this.Es.W();this.re.J({fs:t.lineType,it:this.zs,Nt:t.lineStyle,et:t.lineWidth,vs:null,ps:t.invertFilledArea,tt:this.Ls,ds:this.Ns.St().le()}),this.he.J({fs:t.lineVisible?t.lineType:void 0,it:this.zs,Nt:t.lineStyle,et:t.lineWidth,tt:this.Ls,ds:this.Ns.St().le(),Ds:t.pointMarkersVisible?t.pointMarkersRadius||t.lineWidth/2+2:void 0})}}class Wt extends H{constructor(){super(...arguments),this.zt=null,this.ae=0,this.oe=0}J(t){this.zt=t}K({context:t,horizontalPixelRatio:i,verticalPixelRatio:n}){if(null===this.zt||0===this.zt.In.length||null===this.zt.tt)return;if(this.ae=this._e(i),this.ae>=2){Math.max(1,Math.floor(i))%2!=this.ae%2&&this.ae--}this.oe=this.zt.ue?Math.min(this.ae,Math.floor(i)):this.ae;let s=null;const e=this.oe<=this.ae&&this.zt.le>=Math.floor(1.5*i);for(let r=this.zt.tt.from;r<this.zt.tt.to;++r){const h=this.zt.In[r];s!==h.ce&&(t.fillStyle=h.ce,s=h.ce);const l=Math.floor(.5*this.oe),a=Math.round(h.nt*i),o=a-l,_=this.oe,u=o+_-1,c=Math.min(h.de,h.fe),d=Math.max(h.de,h.fe),f=Math.round(c*n)-l,v=Math.round(d*n)+l,p=Math.max(v-f,this.oe);t.fillRect(o,f,_,p);const m=Math.ceil(1.5*this.ae);if(e){if(this.zt.ve){const i=a-m;let s=Math.max(f,Math.round(h.pe*n)-l),e=s+_-1;e>f+p-1&&(e=f+p-1,s=e-_+1),t.fillRect(i,s,o-i,e-s+1)}const i=a+m;let s=Math.max(f,Math.round(h.me*n)-l),e=s+_-1;e>f+p-1&&(e=f+p-1,s=e-_+1),t.fillRect(u+1,s,i-u,e-s+1)}}}_e(t){const i=Math.floor(t);return Math.max(i,Math.floor(function(t,i){return Math.floor(.3*t*i)}(b(this.zt).le,t)))}}class jt extends Et{constructor(t,i){super(t,i,!1)}Gs(t,i,n){i.Qs(this.zs,E(this.Ls)),t.be(this.zs,n,E(this.Ls))}we(t,i,n){return{ot:t,ge:i.Vt[0],Me:i.Vt[1],xe:i.Vt[2],Se:i.Vt[3],nt:NaN,pe:NaN,de:NaN,fe:NaN,me:NaN}}Ys(){const t=this.Es.Us();this.zs=this.Es.In().ne().map((i=>this.se(i.ee,i,t)))}}class Ht extends jt{constructor(){super(...arguments),this.js=new Wt}se(t,i,n){return Object.assign(Object.assign({},this.we(t,i,n)),n.$s(t))}Js(){const t=this.Es.W();this.js.J({In:this.zs,le:this.Ns.St().le(),ve:t.openVisible,ue:t.thinBars,tt:this.Ls})}}class $t extends St{constructor(){super(...arguments),this.Ts=new Tt}bs(t,i){const n=this.G;return this.Ts.ws(t,{Ms:i.ke,xs:i.ye,Ss:i.Ce,ks:i.Te,ys:t.bitmapSize.height,vs:n.vs})}}class Ut extends Dt{constructor(){super(...arguments),this.Pe=new Tt}Vs(t,i){const n=this.G;return this.Pe.ws(t,{Ms:i.Re,xs:i.Re,Ss:i.De,ks:i.De,ys:t.bitmapSize.height,vs:n.vs})}}class qt extends Nt{constructor(t,i){super(t,i),this.js=new j,this.Ve=new $t,this.Oe=new Ut,this.js.Z([this.Ve,this.Oe])}se(t,i,n){return Object.assign(Object.assign({},this.ie(t,i)),n.$s(t))}Js(){const t=this.Es.Ct();if(null===t)return;const i=this.Es.W(),n=this.Es.Dt().Rt(i.baseValue.price,t.Vt),s=this.Ns.St().le();this.Ve.J({it:this.zs,et:i.lineWidth,Nt:i.lineStyle,fs:i.lineType,vs:n,ps:!1,tt:this.Ls,ds:s}),this.Oe.J({it:this.zs,et:i.lineWidth,Nt:i.lineStyle,fs:i.lineVisible?i.lineType:void 0,Ds:i.pointMarkersVisible?i.pointMarkersRadius||i.lineWidth/2+2:void 0,vs:n,tt:this.Ls,ds:s})}}class Yt extends H{constructor(){super(...arguments),this.zt=null,this.ae=0}J(t){this.zt=t}K(t){if(null===this.zt||0===this.zt.In.length||null===this.zt.tt)return;const{horizontalPixelRatio:i}=t;if(this.ae=function(t,i){if(t>=2.5&&t<=4)return Math.floor(3*i);const n=1-.2*Math.atan(Math.max(4,t)-4)/(.5*Math.PI),s=Math.floor(t*n*i),e=Math.floor(t*i),r=Math.min(s,e);return Math.max(Math.floor(i),r)}(this.zt.le,i),this.ae>=2){Math.floor(i)%2!=this.ae%2&&this.ae--}const n=this.zt.In;this.zt.Be&&this.Ae(t,n,this.zt.tt),this.zt._i&&this.Ie(t,n,this.zt.tt);const s=this.ze(i);(!this.zt._i||this.ae>2*s)&&this.Le(t,n,this.zt.tt)}Ae(t,i,n){if(null===this.zt)return;const{context:s,horizontalPixelRatio:e,verticalPixelRatio:r}=t;let h=\"\",l=Math.min(Math.floor(e),Math.floor(this.zt.le*e));l=Math.max(Math.floor(e),Math.min(l,this.ae));const a=Math.floor(.5*l);let o=null;for(let t=n.from;t<n.to;t++){const n=i[t];n.Ee!==h&&(s.fillStyle=n.Ee,h=n.Ee);const _=Math.round(Math.min(n.pe,n.me)*r),u=Math.round(Math.max(n.pe,n.me)*r),c=Math.round(n.de*r),d=Math.round(n.fe*r);let f=Math.round(e*n.nt)-a;const v=f+l-1;null!==o&&(f=Math.max(o+1,f),f=Math.min(f,v));const p=v-f+1;s.fillRect(f,c,p,_-c),s.fillRect(f,u+1,p,d-u),o=v}}ze(t){let i=Math.floor(1*t);this.ae<=2*i&&(i=Math.floor(.5*(this.ae-1)));const n=Math.max(Math.floor(t),i);return this.ae<=2*n?Math.max(Math.floor(t),Math.floor(1*t)):n}Ie(t,i,n){if(null===this.zt)return;const{context:s,horizontalPixelRatio:e,verticalPixelRatio:r}=t;let h=\"\";const l=this.ze(e);let a=null;for(let t=n.from;t<n.to;t++){const n=i[t];n.Ne!==h&&(s.fillStyle=n.Ne,h=n.Ne);let o=Math.round(n.nt*e)-Math.floor(.5*this.ae);const _=o+this.ae-1,u=Math.round(Math.min(n.pe,n.me)*r),c=Math.round(Math.max(n.pe,n.me)*r);if(null!==a&&(o=Math.max(a+1,o),o=Math.min(o,_)),this.zt.le*e>2*l)K(s,o,u,_-o+1,c-u+1,l);else{const t=_-o+1;s.fillRect(o,u,t,c-u+1)}a=_}}Le(t,i,n){if(null===this.zt)return;const{context:s,horizontalPixelRatio:e,verticalPixelRatio:r}=t;let h=\"\";const l=this.ze(e);for(let t=n.from;t<n.to;t++){const n=i[t];let a=Math.round(Math.min(n.pe,n.me)*r),o=Math.round(Math.max(n.pe,n.me)*r),_=Math.round(n.nt*e)-Math.floor(.5*this.ae),u=_+this.ae-1;if(n.ce!==h){const t=n.ce;s.fillStyle=t,h=t}this.zt._i&&(_+=l,a+=l,u-=l,o-=l),a>o||s.fillRect(_,a,u-_+1,o-a+1)}}}class Zt extends jt{constructor(){super(...arguments),this.js=new Yt}se(t,i,n){return Object.assign(Object.assign({},this.we(t,i,n)),n.$s(t))}Js(){const t=this.Es.W();this.js.J({In:this.zs,le:this.Ns.St().le(),Be:t.wickVisible,_i:t.borderVisible,tt:this.Ls})}}class Xt{constructor(t,i){this.Fe=t,this.Li=i}X(t,i,n){this.Fe.draw(t,this.Li,i,n)}}class Kt extends Et{constructor(t,i,n){super(t,i,!1),this.wn=n,this.js=new Xt(this.wn.renderer(),(i=>{const n=t.Ct();return null===n?null:t.Dt().Rt(i,n.Vt)}))}We(t){return this.wn.priceValueBuilder(t)}je(t){return this.wn.isWhitespace(t)}Ys(){const t=this.Es.Us();this.zs=this.Es.In().ne().map((i=>Object.assign(Object.assign({ot:i.ee,nt:NaN},t.$s(i.ee)),{He:i.$e})))}Gs(t,i){i.Qs(this.zs,E(this.Ls))}Js(){this.wn.update({bars:this.zs.map(Gt),barSpacing:this.Ns.St().le(),visibleRange:this.Ls},this.Es.W())}}function Gt(t){return{x:t.nt,time:t.ot,originalData:t.He,barColor:t.ce}}class Jt extends H{constructor(){super(...arguments),this.zt=null,this.Ue=[]}J(t){this.zt=t,this.Ue=[]}K({context:t,horizontalPixelRatio:i,verticalPixelRatio:n}){if(null===this.zt||0===this.zt.it.length||null===this.zt.tt)return;this.Ue.length||this.qe(i);const s=Math.max(1,Math.floor(n)),e=Math.round(this.zt.Ye*n)-Math.floor(s/2),r=e+s;for(let i=this.zt.tt.from;i<this.zt.tt.to;i++){const h=this.zt.it[i],l=this.Ue[i-this.zt.tt.from],a=Math.round(h.st*n);let o,_;t.fillStyle=h.ce,a<=e?(o=a,_=r):(o=e,_=a-Math.floor(s/2)+s),t.fillRect(l.Os,o,l.ui-l.Os+1,_-o)}}qe(t){if(null===this.zt||0===this.zt.it.length||null===this.zt.tt)return void(this.Ue=[]);const i=Math.ceil(this.zt.le*t)<=1?0:Math.max(1,Math.floor(t)),n=Math.round(this.zt.le*t)-i;this.Ue=new Array(this.zt.tt.to-this.zt.tt.from);for(let i=this.zt.tt.from;i<this.zt.tt.to;i++){const s=this.zt.it[i],e=Math.round(s.nt*t);let r,h;if(n%2){const t=(n-1)/2;r=e-t,h=e+t}else{const t=n/2;r=e-t,h=e+t-1}this.Ue[i-this.zt.tt.from]={Os:r,ui:h,Ze:e,Xe:s.nt*t,ot:s.ot}}for(let t=this.zt.tt.from+1;t<this.zt.tt.to;t++){const n=this.Ue[t-this.zt.tt.from],s=this.Ue[t-this.zt.tt.from-1];n.ot===s.ot+1&&(n.Os-s.ui!==i+1&&(s.Ze>s.Xe?s.ui=n.Os-i-1:n.Os=s.ui+i+1))}let s=Math.ceil(this.zt.le*t);for(let t=this.zt.tt.from;t<this.zt.tt.to;t++){const i=this.Ue[t-this.zt.tt.from];i.ui<i.Os&&(i.ui=i.Os);const n=i.ui-i.Os+1;s=Math.min(n,s)}if(i>0&&s<4)for(let t=this.zt.tt.from;t<this.zt.tt.to;t++){const i=this.Ue[t-this.zt.tt.from];i.ui-i.Os+1>s&&(i.Ze>i.Xe?i.ui-=1:i.Os+=1)}}}class Qt extends Nt{constructor(){super(...arguments),this.js=new Jt}se(t,i,n){return Object.assign(Object.assign({},this.ie(t,i)),n.$s(t))}Js(){const t={it:this.zs,le:this.Ns.St().le(),tt:this.Ls,Ye:this.Es.Dt().Rt(this.Es.W().base,b(this.Es.Ct()).Vt)};this.js.J(t)}}class ti extends Nt{constructor(){super(...arguments),this.js=new Vt}se(t,i,n){return Object.assign(Object.assign({},this.ie(t,i)),n.$s(t))}Js(){const t=this.Es.W(),i={it:this.zs,Nt:t.lineStyle,fs:t.lineVisible?t.lineType:void 0,et:t.lineWidth,Ds:t.pointMarkersVisible?t.pointMarkersRadius||t.lineWidth/2+2:void 0,tt:this.Ls,ds:this.Ns.St().le()};this.js.J(i)}}const ii=/[2-9]/g;class ni{constructor(t=50){this.Ke=0,this.Ge=1,this.Je=1,this.Qe={},this.tr=new Map,this.ir=t}nr(){this.Ke=0,this.tr.clear(),this.Ge=1,this.Je=1,this.Qe={}}xi(t,i,n){return this.sr(t,i,n).width}Mi(t,i,n){const s=this.sr(t,i,n);return((s.actualBoundingBoxAscent||0)-(s.actualBoundingBoxDescent||0))/2}sr(t,i,n){const s=n||ii,e=String(i).replace(s,\"0\");if(this.tr.has(e))return m(this.tr.get(e)).er;if(this.Ke===this.ir){const t=this.Qe[this.Je];delete this.Qe[this.Je],this.tr.delete(t),this.Je++,this.Ke--}t.save(),t.textBaseline=\"middle\";const r=t.measureText(e);return t.restore(),0===r.width&&i.length||(this.tr.set(e,{er:r,rr:this.Ge}),this.Qe[this.Ge]=e,this.Ke++,this.Ge++),r}}class si{constructor(t){this.hr=null,this.k=null,this.lr=\"right\",this.ar=t}_r(t,i,n){this.hr=t,this.k=i,this.lr=n}X(t){null!==this.k&&null!==this.hr&&this.hr.X(t,this.k,this.ar,this.lr)}}class ei{constructor(t,i,n){this.ur=t,this.ar=new ni(50),this.cr=i,this.F=n,this.j=-1,this.Wt=new si(this.ar)}gt(){const t=this.F.dr(this.cr);if(null===t)return null;const i=t.vr(this.cr)?t.pr():this.cr.Dt();if(null===i)return null;const n=t.mr(i);if(\"overlay\"===n)return null;const s=this.F.br();return s.P!==this.j&&(this.j=s.P,this.ar.nr()),this.Wt._r(this.ur.Ii(),s,n),this.Wt}}class ri extends H{constructor(){super(...arguments),this.zt=null}J(t){this.zt=t}wr(t,i){var n;if(!(null===(n=this.zt)||void 0===n?void 0:n.yt))return null;const{st:s,et:e,gr:r}=this.zt;return i>=s-e-7&&i<=s+e+7?{Mr:this.zt,gr:r}:null}K({context:t,bitmapSize:i,horizontalPixelRatio:n,verticalPixelRatio:s}){if(null===this.zt)return;if(!1===this.zt.yt)return;const e=Math.round(this.zt.st*s);e<0||e>i.height||(t.lineCap=\"butt\",t.strokeStyle=this.zt.V,t.lineWidth=Math.floor(this.zt.et*n),f(t,this.zt.Nt),v(t,e,0,i.width))}}class hi{constructor(t){this.Sr={st:0,V:\"rgba(0, 0, 0, 0)\",et:1,Nt:0,yt:!1},this.kr=new ri,this.ft=!0,this.Es=t,this.Ns=t.$t(),this.kr.J(this.Sr)}bt(){this.ft=!0}gt(){return this.Es.yt()?(this.ft&&(this.yr(),this.ft=!1),this.kr):null}}class li extends hi{constructor(t){super(t)}yr(){this.Sr.yt=!1;const t=this.Es.Dt(),i=t.Cr().Cr;if(2!==i&&3!==i)return;const n=this.Es.W();if(!n.baseLineVisible||!this.Es.yt())return;const s=this.Es.Ct();null!==s&&(this.Sr.yt=!0,this.Sr.st=t.Rt(s.Vt,s.Vt),this.Sr.V=n.baseLineColor,this.Sr.et=n.baseLineWidth,this.Sr.Nt=n.baseLineStyle)}}class ai extends H{constructor(){super(...arguments),this.zt=null}J(t){this.zt=t}$e(){return this.zt}K({context:t,horizontalPixelRatio:i,verticalPixelRatio:n}){const s=this.zt;if(null===s)return;const e=Math.max(1,Math.floor(i)),r=e%2/2,h=Math.round(s.Xe.x*i)+r,l=s.Xe.y*n;t.fillStyle=s.Tr,t.beginPath();const a=Math.max(2,1.5*s.Pr)*i;t.arc(h,l,a,0,2*Math.PI,!1),t.fill(),t.fillStyle=s.Rr,t.beginPath(),t.arc(h,l,s.ht*i,0,2*Math.PI,!1),t.fill(),t.lineWidth=e,t.strokeStyle=s.Dr,t.beginPath(),t.arc(h,l,s.ht*i+e/2,0,2*Math.PI,!1),t.stroke()}}const oi=[{Vr:0,Or:.25,Br:4,Ar:10,Ir:.25,zr:0,Lr:.4,Er:.8},{Vr:.25,Or:.525,Br:10,Ar:14,Ir:0,zr:0,Lr:.8,Er:0},{Vr:.525,Or:1,Br:14,Ar:14,Ir:0,zr:0,Lr:0,Er:0}];function _i(t,i,n,s){return function(t,i){if(\"transparent\"===t)return t;const n=T(t),s=n[3];return`rgba(${n[0]}, ${n[1]}, ${n[2]}, ${i*s})`}(t,n+(s-n)*i)}function ui(t,i){const n=t%2600/2600;let s;for(const t of oi)if(n>=t.Vr&&n<=t.Or){s=t;break}p(void 0!==s,\"Last price animation internal logic error\");const e=(n-s.Vr)/(s.Or-s.Vr);return{Rr:_i(i,e,s.Ir,s.zr),Dr:_i(i,e,s.Lr,s.Er),ht:(r=e,h=s.Br,l=s.Ar,h+(l-h)*r)};var r,h,l}class ci{constructor(t){this.Wt=new ai,this.ft=!0,this.Nr=!0,this.Fr=performance.now(),this.Wr=this.Fr-1,this.jr=t}Hr(){this.Wr=this.Fr-1,this.bt()}$r(){if(this.bt(),2===this.jr.W().lastPriceAnimation){const t=performance.now(),i=this.Wr-t;if(i>0)return void(i<650&&(this.Wr+=2600));this.Fr=t,this.Wr=t+2600}}bt(){this.ft=!0}Ur(){this.Nr=!0}yt(){return 0!==this.jr.W().lastPriceAnimation}qr(){switch(this.jr.W().lastPriceAnimation){case 0:return!1;case 1:return!0;case 2:return performance.now()<=this.Wr}}gt(){return this.ft?(this.Mt(),this.ft=!1,this.Nr=!1):this.Nr&&(this.Yr(),this.Nr=!1),this.Wt}Mt(){this.Wt.J(null);const t=this.jr.$t().St(),i=t.Xs(),n=this.jr.Ct();if(null===i||null===n)return;const s=this.jr.Zr(!0);if(s.Xr||!i.Kr(s.ee))return;const e={x:t.It(s.ee),y:this.jr.Dt().Rt(s._t,n.Vt)},r=s.V,h=this.jr.W().lineWidth,l=ui(this.Gr(),r);this.Wt.J({Tr:r,Pr:h,Rr:l.Rr,Dr:l.Dr,ht:l.ht,Xe:e})}Yr(){const t=this.Wt.$e();if(null!==t){const i=ui(this.Gr(),t.Tr);t.Rr=i.Rr,t.Dr=i.Dr,t.ht=i.ht}}Gr(){return this.qr()?performance.now()-this.Fr:2599}}function di(t,i){return Ct(Math.min(Math.max(t,12),30)*i)}function fi(t,i){switch(t){case\"arrowDown\":case\"arrowUp\":return di(i,1);case\"circle\":return di(i,.8);case\"square\":return di(i,.7)}}function vi(t){return function(t){const i=Math.ceil(t);return i%2!=0?i-1:i}(di(t,1))}function pi(t){return Math.max(di(t,.1),3)}function mi(t,i,n){return i?t:n?Math.ceil(t/2):0}function bi(t,i,n,s,e){const r=fi(\"square\",n),h=(r-1)/2,l=t-h,a=i-h;return s>=l&&s<=l+r&&e>=a&&e<=a+r}function wi(t,i,n,s){const e=(fi(\"arrowUp\",s)-1)/2*n.Jr,r=(Ct(s/2)-1)/2*n.Jr;i.beginPath(),t?(i.moveTo(n.nt-e,n.st),i.lineTo(n.nt,n.st-e),i.lineTo(n.nt+e,n.st),i.lineTo(n.nt+r,n.st),i.lineTo(n.nt+r,n.st+e),i.lineTo(n.nt-r,n.st+e),i.lineTo(n.nt-r,n.st)):(i.moveTo(n.nt-e,n.st),i.lineTo(n.nt,n.st+e),i.lineTo(n.nt+e,n.st),i.lineTo(n.nt+r,n.st),i.lineTo(n.nt+r,n.st-e),i.lineTo(n.nt-r,n.st-e),i.lineTo(n.nt-r,n.st)),i.fill()}function gi(t,i,n,s,e,r){return bi(i,n,s,e,r)}class Mi extends H{constructor(){super(...arguments),this.zt=null,this.ar=new ni,this.j=-1,this.H=\"\",this.Qr=\"\"}J(t){this.zt=t}_r(t,i){this.j===t&&this.H===i||(this.j=t,this.H=i,this.Qr=F(t,i),this.ar.nr())}wr(t,i){if(null===this.zt||null===this.zt.tt)return null;for(let n=this.zt.tt.from;n<this.zt.tt.to;n++){const s=this.zt.it[n];if(Si(s,t,i))return{Mr:s.th,gr:s.gr}}return null}K({context:t,horizontalPixelRatio:i,verticalPixelRatio:n},s,e){if(null!==this.zt&&null!==this.zt.tt){t.textBaseline=\"middle\",t.font=this.Qr;for(let s=this.zt.tt.from;s<this.zt.tt.to;s++){const e=this.zt.it[s];void 0!==e.Kt&&(e.Kt.Hi=this.ar.xi(t,e.Kt.ih),e.Kt.At=this.j,e.Kt.nt=e.nt-e.Kt.Hi/2),xi(e,t,i,n)}}}}function xi(t,i,n,s){i.fillStyle=t.V,void 0!==t.Kt&&function(t,i,n,s,e,r){t.save(),t.scale(e,r),t.fillText(i,n,s),t.restore()}(i,t.Kt.ih,t.Kt.nt,t.Kt.st,n,s),function(t,i,n){if(0===t.Ks)return;switch(t.nh){case\"arrowDown\":return void wi(!1,i,n,t.Ks);case\"arrowUp\":return void wi(!0,i,n,t.Ks);case\"circle\":return void function(t,i,n){const s=(fi(\"circle\",n)-1)/2;t.beginPath(),t.arc(i.nt,i.st,s*i.Jr,0,2*Math.PI,!1),t.fill()}(i,n,t.Ks);case\"square\":return void function(t,i,n){const s=fi(\"square\",n),e=(s-1)*i.Jr/2,r=i.nt-e,h=i.st-e;t.fillRect(r,h,s*i.Jr,s*i.Jr)}(i,n,t.Ks)}t.nh}(t,i,function(t,i,n){const s=Math.max(1,Math.floor(i))%2/2;return{nt:Math.round(t.nt*i)+s,st:t.st*n,Jr:i}}(t,n,s))}function Si(t,i,n){return!(void 0===t.Kt||!function(t,i,n,s,e,r){const h=s/2;return e>=t&&e<=t+n&&r>=i-h&&r<=i+h}(t.Kt.nt,t.Kt.st,t.Kt.Hi,t.Kt.At,i,n))||function(t,i,n){if(0===t.Ks)return!1;switch(t.nh){case\"arrowDown\":case\"arrowUp\":return gi(0,t.nt,t.st,t.Ks,i,n);case\"circle\":return function(t,i,n,s,e){const r=2+fi(\"circle\",n)/2,h=t-s,l=i-e;return Math.sqrt(h*h+l*l)<=r}(t.nt,t.st,t.Ks,i,n);case\"square\":return bi(t.nt,t.st,t.Ks,i,n)}}(t,i,n)}function ki(t,i,n,s,e,r,h,l,a){const o=O(n)?n:n.Se,_=O(n)?n:n.Me,u=O(n)?n:n.xe,c=O(i.size)?Math.max(i.size,0):1,d=vi(l.le())*c,f=d/2;switch(t.Ks=d,i.position){case\"inBar\":return t.st=h.Rt(o,a),void(void 0!==t.Kt&&(t.Kt.st=t.st+f+r+.6*e));case\"aboveBar\":return t.st=h.Rt(_,a)-f-s.sh,void 0!==t.Kt&&(t.Kt.st=t.st-f-.6*e,s.sh+=1.2*e),void(s.sh+=d+r);case\"belowBar\":return t.st=h.Rt(u,a)+f+s.eh,void 0!==t.Kt&&(t.Kt.st=t.st+f+r+.6*e,s.eh+=1.2*e),void(s.eh+=d+r)}i.position}class yi{constructor(t,i){this.ft=!0,this.rh=!0,this.hh=!0,this.ah=null,this.oh=null,this.Wt=new Mi,this.jr=t,this.$i=i,this.zt={it:[],tt:null}}bt(t){this.ft=!0,this.hh=!0,\"data\"===t&&(this.rh=!0,this.oh=null)}gt(t){if(!this.jr.yt())return null;this.ft&&this._h();const i=this.$i.W().layout;return this.Wt._r(i.fontSize,i.fontFamily),this.Wt.J(this.zt),this.Wt}uh(){if(this.hh){if(this.jr.dh().length>0){const t=this.$i.St().le(),i=pi(t),n=1.5*vi(t)+2*i,s=this.fh();this.ah={above:mi(n,s.aboveBar,s.inBar),below:mi(n,s.belowBar,s.inBar)}}else this.ah=null;this.hh=!1}return this.ah}fh(){return null===this.oh&&(this.oh=this.jr.dh().reduce(((t,i)=>(t[i.position]||(t[i.position]=!0),t)),{inBar:!1,aboveBar:!1,belowBar:!1})),this.oh}_h(){const t=this.jr.Dt(),i=this.$i.St(),n=this.jr.dh();this.rh&&(this.zt.it=n.map((t=>({ot:t.time,nt:0,st:0,Ks:0,nh:t.shape,V:t.color,th:t.th,gr:t.id,Kt:void 0}))),this.rh=!1);const s=this.$i.W().layout;this.zt.tt=null;const e=i.Xs();if(null===e)return;const r=this.jr.Ct();if(null===r)return;if(0===this.zt.it.length)return;let h=NaN;const l=pi(i.le()),a={sh:l,eh:l};this.zt.tt=Lt(this.zt.it,e,!0);for(let e=this.zt.tt.from;e<this.zt.tt.to;e++){const o=n[e];o.time!==h&&(a.sh=l,a.eh=l,h=o.time);const _=this.zt.it[e];_.nt=i.It(o.time),void 0!==o.text&&o.text.length>0&&(_.Kt={ih:o.text,nt:0,st:0,Hi:0,At:0});const u=this.jr.ph(o.time);null!==u&&ki(_,o,u,a,s.fontSize,l,t,i,r.Vt)}this.ft=!1}}class Ci extends hi{constructor(t){super(t)}yr(){const t=this.Sr;t.yt=!1;const i=this.Es.W();if(!i.priceLineVisible||!this.Es.yt())return;const n=this.Es.Zr(0===i.priceLineSource);n.Xr||(t.yt=!0,t.st=n.ki,t.V=this.Es.mh(n.V),t.et=i.priceLineWidth,t.Nt=i.priceLineStyle)}}class Ti extends nt{constructor(t){super(),this.jt=t}zi(t,i,n){t.yt=!1,i.yt=!1;const s=this.jt;if(!s.yt())return;const e=s.W(),r=e.lastValueVisible,h=\"\"!==s.bh(),l=0===e.seriesLastValueMode,a=s.Zr(!1);if(a.Xr)return;r&&(t.Kt=this.wh(a,r,l),t.yt=0!==t.Kt.length),(h||l)&&(i.Kt=this.gh(a,r,h,l),i.yt=i.Kt.length>0);const o=s.mh(a.V),_=R(o);n.t=_.t,n.ki=a.ki,i.Ot=s.$t().Bt(a.ki/s.Dt().At()),t.Ot=o,t.V=_.i,i.V=_.i}gh(t,i,n,s){let e=\"\";const r=this.jt.bh();return n&&0!==r.length&&(e+=`${r} `),i&&s&&(e+=this.jt.Dt().Mh()?t.xh:t.Sh),e.trim()}wh(t,i,n){return i?n?this.jt.Dt().Mh()?t.Sh:t.xh:t.Kt:\"\"}}function Pi(t,i,n,s){const e=Number.isFinite(i),r=Number.isFinite(n);return e&&r?t(i,n):e||r?e?i:n:s}class Ri{constructor(t,i){this.kh=t,this.yh=i}Ch(t){return null!==t&&(this.kh===t.kh&&this.yh===t.yh)}Th(){return new Ri(this.kh,this.yh)}Ph(){return this.kh}Rh(){return this.yh}Dh(){return this.yh-this.kh}Ni(){return this.yh===this.kh||Number.isNaN(this.yh)||Number.isNaN(this.kh)}ts(t){return null===t?this:new Ri(Pi(Math.min,this.Ph(),t.Ph(),-1/0),Pi(Math.max,this.Rh(),t.Rh(),1/0))}Vh(t){if(!O(t))return;if(0===this.yh-this.kh)return;const i=.5*(this.yh+this.kh);let n=this.yh-i,s=this.kh-i;n*=t,s*=t,this.yh=i+n,this.kh=i+s}Oh(t){O(t)&&(this.yh+=t,this.kh+=t)}Bh(){return{minValue:this.kh,maxValue:this.yh}}static Ah(t){return null===t?null:new Ri(t.minValue,t.maxValue)}}class Di{constructor(t,i){this.Ih=t,this.zh=i||null}Lh(){return this.Ih}Eh(){return this.zh}Bh(){return null===this.Ih?null:{priceRange:this.Ih.Bh(),margins:this.zh||void 0}}static Ah(t){return null===t?null:new Di(Ri.Ah(t.priceRange),t.margins)}}class Vi extends hi{constructor(t,i){super(t),this.Nh=i}yr(){const t=this.Sr;t.yt=!1;const i=this.Nh.W();if(!this.Es.yt()||!i.lineVisible)return;const n=this.Nh.Fh();null!==n&&(t.yt=!0,t.st=n,t.V=i.color,t.et=i.lineWidth,t.Nt=i.lineStyle,t.gr=this.Nh.W().id)}}class Oi extends nt{constructor(t,i){super(),this.jr=t,this.Nh=i}zi(t,i,n){t.yt=!1,i.yt=!1;const s=this.Nh.W(),e=s.axisLabelVisible,r=\"\"!==s.title,h=this.jr;if(!e||!h.yt())return;const l=this.Nh.Fh();if(null===l)return;r&&(i.Kt=s.title,i.yt=!0),i.Ot=h.$t().Bt(l/h.Dt().At()),t.Kt=this.Wh(s.price),t.yt=!0;const a=R(s.axisLabelColor||s.color);n.t=a.t;const o=s.axisLabelTextColor||a.i;t.V=o,i.V=o,n.ki=l}Wh(t){const i=this.jr.Ct();return null===i?\"\":this.jr.Dt().Fi(t,i.Vt)}}class Bi{constructor(t,i){this.jr=t,this.cn=i,this.jh=new Vi(t,this),this.ur=new Oi(t,this),this.Hh=new ei(this.ur,t,t.$t())}$h(t){V(this.cn,t),this.bt(),this.jr.$t().Uh()}W(){return this.cn}qh(){return this.jh}Yh(){return this.Hh}Zh(){return this.ur}bt(){this.jh.bt(),this.ur.bt()}Fh(){const t=this.jr,i=t.Dt();if(t.$t().St().Ni()||i.Ni())return null;const n=t.Ct();return null===n?null:i.Rt(this.cn.price,n.Vt)}}class Ai extends lt{constructor(t){super(),this.$i=t}$t(){return this.$i}}const Ii={Bar:(t,i,n,s)=>{var e;const r=i.upColor,h=i.downColor,l=b(t(n,s)),a=w(l.Vt[0])<=w(l.Vt[3]);return{ce:null!==(e=l.V)&&void 0!==e?e:a?r:h}},Candlestick:(t,i,n,s)=>{var e,r,h;const l=i.upColor,a=i.downColor,o=i.borderUpColor,_=i.borderDownColor,u=i.wickUpColor,c=i.wickDownColor,d=b(t(n,s)),f=w(d.Vt[0])<=w(d.Vt[3]);return{ce:null!==(e=d.V)&&void 0!==e?e:f?l:a,Ne:null!==(r=d.Ot)&&void 0!==r?r:f?o:_,Ee:null!==(h=d.Xh)&&void 0!==h?h:f?u:c}},Custom:(t,i,n,s)=>{var e;return{ce:null!==(e=b(t(n,s)).V)&&void 0!==e?e:i.color}},Area:(t,i,n,s)=>{var e,r,h,l;const a=b(t(n,s));return{ce:null!==(e=a.lt)&&void 0!==e?e:i.lineColor,lt:null!==(r=a.lt)&&void 0!==r?r:i.lineColor,Ps:null!==(h=a.Ps)&&void 0!==h?h:i.topColor,Rs:null!==(l=a.Rs)&&void 0!==l?l:i.bottomColor}},Baseline:(t,i,n,s)=>{var e,r,h,l,a,o;const _=b(t(n,s));return{ce:_.Vt[3]>=i.baseValue.price?i.topLineColor:i.bottomLineColor,Re:null!==(e=_.Re)&&void 0!==e?e:i.topLineColor,De:null!==(r=_.De)&&void 0!==r?r:i.bottomLineColor,ke:null!==(h=_.ke)&&void 0!==h?h:i.topFillColor1,ye:null!==(l=_.ye)&&void 0!==l?l:i.topFillColor2,Ce:null!==(a=_.Ce)&&void 0!==a?a:i.bottomFillColor1,Te:null!==(o=_.Te)&&void 0!==o?o:i.bottomFillColor2}},Line:(t,i,n,s)=>{var e,r;const h=b(t(n,s));return{ce:null!==(e=h.V)&&void 0!==e?e:i.color,lt:null!==(r=h.V)&&void 0!==r?r:i.color}},Histogram:(t,i,n,s)=>{var e;return{ce:null!==(e=b(t(n,s)).V)&&void 0!==e?e:i.color}}};class zi{constructor(t){this.Kh=(t,i)=>void 0!==i?i.Vt:this.jr.In().Gh(t),this.jr=t,this.Jh=Ii[t.Qh()]}$s(t,i){return this.Jh(this.Kh,this.jr.W(),t,i)}}var Li;!function(t){t[t.NearestLeft=-1]=\"NearestLeft\",t[t.None=0]=\"None\",t[t.NearestRight=1]=\"NearestRight\"}(Li||(Li={}));const Ei=30;class Ni{constructor(){this.tl=[],this.il=new Map,this.nl=new Map}sl(){return this.Ks()>0?this.tl[this.tl.length-1]:null}el(){return this.Ks()>0?this.rl(0):null}An(){return this.Ks()>0?this.rl(this.tl.length-1):null}Ks(){return this.tl.length}Ni(){return 0===this.Ks()}Kr(t){return null!==this.hl(t,0)}Gh(t){return this.ll(t)}ll(t,i=0){const n=this.hl(t,i);return null===n?null:Object.assign(Object.assign({},this.al(n)),{ee:this.rl(n)})}ne(){return this.tl}ol(t,i,n){if(this.Ni())return null;let s=null;for(const e of n){s=Fi(s,this._l(t,i,e))}return s}J(t){this.nl.clear(),this.il.clear(),this.tl=t}rl(t){return this.tl[t].ee}al(t){return this.tl[t]}hl(t,i){const n=this.ul(t);if(null===n&&0!==i)switch(i){case-1:return this.cl(t);case 1:return this.dl(t);default:throw new TypeError(\"Unknown search mode\")}return n}cl(t){let i=this.fl(t);return i>0&&(i-=1),i!==this.tl.length&&this.rl(i)<t?i:null}dl(t){const i=this.vl(t);return i!==this.tl.length&&t<this.rl(i)?i:null}ul(t){const i=this.fl(t);return i===this.tl.length||t<this.tl[i].ee?null:i}fl(t){return Bt(this.tl,t,((t,i)=>t.ee<i))}vl(t){return At(this.tl,t,((t,i)=>t.ee>i))}pl(t,i,n){let s=null;for(let e=t;e<i;e++){const t=this.tl[e].Vt[n];Number.isNaN(t)||(null===s?s={ml:t,bl:t}:(t<s.ml&&(s.ml=t),t>s.bl&&(s.bl=t)))}return s}_l(t,i,n){if(this.Ni())return null;let s=null;const e=b(this.el()),r=b(this.An()),h=Math.max(t,e),l=Math.min(i,r),a=Math.ceil(h/Ei)*Ei,o=Math.max(a,Math.floor(l/Ei)*Ei);{const t=this.fl(h),e=this.vl(Math.min(l,a,i));s=Fi(s,this.pl(t,e,n))}let _=this.il.get(n);void 0===_&&(_=new Map,this.il.set(n,_));for(let t=Math.max(a+1,h);t<o;t+=Ei){const i=Math.floor(t/Ei);let e=_.get(i);if(void 0===e){const t=this.fl(i*Ei),s=this.vl((i+1)*Ei-1);e=this.pl(t,s,n),_.set(i,e)}s=Fi(s,e)}{const t=this.fl(o),i=this.vl(l);s=Fi(s,this.pl(t,i,n))}return s}}function Fi(t,i){if(null===t)return i;if(null===i)return t;return{ml:Math.min(t.ml,i.ml),bl:Math.max(t.bl,i.bl)}}class Wi{constructor(t){this.wl=t}X(t,i,n){this.wl.draw(t)}gl(t,i,n){var s,e;null===(e=(s=this.wl).drawBackground)||void 0===e||e.call(s,t)}}class ji{constructor(t){this.tr=null,this.wn=t}gt(){var t;const i=this.wn.renderer();if(null===i)return null;if((null===(t=this.tr)||void 0===t?void 0:t.Ml)===i)return this.tr.xl;const n=new Wi(i);return this.tr={Ml:i,xl:n},n}Sl(){var t,i,n;return null!==(n=null===(i=(t=this.wn).zOrder)||void 0===i?void 0:i.call(t))&&void 0!==n?n:\"normal\"}}function Hi(t){var i,n,s,e,r;return{Kt:t.text(),ki:t.coordinate(),Si:null===(i=t.fixedCoordinate)||void 0===i?void 0:i.call(t),V:t.textColor(),t:t.backColor(),yt:null===(s=null===(n=t.visible)||void 0===n?void 0:n.call(t))||void 0===s||s,hi:null===(r=null===(e=t.tickVisible)||void 0===e?void 0:e.call(t))||void 0===r||r}}class $i{constructor(t,i){this.Wt=new rt,this.kl=t,this.yl=i}gt(){return this.Wt.J(Object.assign({Hi:this.yl.Hi()},Hi(this.kl))),this.Wt}}class Ui extends nt{constructor(t,i){super(),this.kl=t,this.Li=i}zi(t,i,n){const s=Hi(this.kl);n.t=s.t,t.V=s.V;const e=2/12*this.Li.P();n.wi=e,n.gi=e,n.ki=s.ki,n.Si=s.Si,t.Kt=s.Kt,t.yt=s.yt,t.hi=s.hi}}class qi{constructor(t,i){this.Cl=null,this.Tl=null,this.Pl=null,this.Rl=null,this.Dl=null,this.Vl=t,this.jr=i}Ol(){return this.Vl}Vn(){var t,i;null===(i=(t=this.Vl).updateAllViews)||void 0===i||i.call(t)}Pn(){var t,i,n,s;const e=null!==(n=null===(i=(t=this.Vl).paneViews)||void 0===i?void 0:i.call(t))&&void 0!==n?n:[];if((null===(s=this.Cl)||void 0===s?void 0:s.Ml)===e)return this.Cl.xl;const r=e.map((t=>new ji(t)));return this.Cl={Ml:e,xl:r},r}Qi(){var t,i,n,s;const e=null!==(n=null===(i=(t=this.Vl).timeAxisViews)||void 0===i?void 0:i.call(t))&&void 0!==n?n:[];if((null===(s=this.Tl)||void 0===s?void 0:s.Ml)===e)return this.Tl.xl;const r=this.jr.$t().St(),h=e.map((t=>new $i(t,r)));return this.Tl={Ml:e,xl:h},h}Rn(){var t,i,n,s;const e=null!==(n=null===(i=(t=this.Vl).priceAxisViews)||void 0===i?void 0:i.call(t))&&void 0!==n?n:[];if((null===(s=this.Pl)||void 0===s?void 0:s.Ml)===e)return this.Pl.xl;const r=this.jr.Dt(),h=e.map((t=>new Ui(t,r)));return this.Pl={Ml:e,xl:h},h}Bl(){var t,i,n,s;const e=null!==(n=null===(i=(t=this.Vl).priceAxisPaneViews)||void 0===i?void 0:i.call(t))&&void 0!==n?n:[];if((null===(s=this.Rl)||void 0===s?void 0:s.Ml)===e)return this.Rl.xl;const r=e.map((t=>new ji(t)));return this.Rl={Ml:e,xl:r},r}Al(){var t,i,n,s;const e=null!==(n=null===(i=(t=this.Vl).timeAxisPaneViews)||void 0===i?void 0:i.call(t))&&void 0!==n?n:[];if((null===(s=this.Dl)||void 0===s?void 0:s.Ml)===e)return this.Dl.xl;const r=e.map((t=>new ji(t)));return this.Dl={Ml:e,xl:r},r}Il(t,i){var n,s,e;return null!==(e=null===(s=(n=this.Vl).autoscaleInfo)||void 0===s?void 0:s.call(n,t,i))&&void 0!==e?e:null}wr(t,i){var n,s,e;return null!==(e=null===(s=(n=this.Vl).hitTest)||void 0===s?void 0:s.call(n,t,i))&&void 0!==e?e:null}}function Yi(t,i,n,s){t.forEach((t=>{i(t).forEach((t=>{t.Sl()===n&&s.push(t)}))}))}function Zi(t){return t.Pn()}function Xi(t){return t.Bl()}function Ki(t){return t.Al()}class Gi extends Ai{constructor(t,i,n,s,e){super(t),this.zt=new Ni,this.jh=new Ci(this),this.zl=[],this.Ll=new li(this),this.El=null,this.Nl=null,this.Fl=[],this.Wl=[],this.jl=null,this.Hl=[],this.cn=i,this.$l=n;const r=new Ti(this);this.rn=[r],this.Hh=new ei(r,this,t),\"Area\"!==n&&\"Line\"!==n&&\"Baseline\"!==n||(this.El=new ci(this)),this.Ul(),this.ql(e)}S(){null!==this.jl&&clearTimeout(this.jl)}mh(t){return this.cn.priceLineColor||t}Zr(t){const i={Xr:!0},n=this.Dt();if(this.$t().St().Ni()||n.Ni()||this.zt.Ni())return i;const s=this.$t().St().Xs(),e=this.Ct();if(null===s||null===e)return i;let r,h;if(t){const t=this.zt.sl();if(null===t)return i;r=t,h=t.ee}else{const t=this.zt.ll(s.ui(),-1);if(null===t)return i;if(r=this.zt.Gh(t.ee),null===r)return i;h=t.ee}const l=r.Vt[3],a=this.Us().$s(h,{Vt:r}),o=n.Rt(l,e.Vt);return{Xr:!1,_t:l,Kt:n.Fi(l,e.Vt),xh:n.Yl(l),Sh:n.Zl(l,e.Vt),V:a.ce,ki:o,ee:h}}Us(){return null!==this.Nl||(this.Nl=new zi(this)),this.Nl}W(){return this.cn}$h(t){const i=t.priceScaleId;void 0!==i&&i!==this.cn.priceScaleId&&this.$t().Xl(this,i),V(this.cn,t),void 0!==t.priceFormat&&(this.Ul(),this.$t().Kl()),this.$t().Gl(this),this.$t().Jl(),this.wn.bt(\"options\")}J(t,i){this.zt.J(t),this.Ql(),this.wn.bt(\"data\"),this.dn.bt(\"data\"),null!==this.El&&(i&&i.ta?this.El.$r():0===t.length&&this.El.Hr());const n=this.$t().dr(this);this.$t().ia(n),this.$t().Gl(this),this.$t().Jl(),this.$t().Uh()}na(t){this.Fl=t,this.Ql();const i=this.$t().dr(this);this.dn.bt(\"data\"),this.$t().ia(i),this.$t().Gl(this),this.$t().Jl(),this.$t().Uh()}sa(){return this.Fl}dh(){return this.Wl}ea(t){const i=new Bi(this,t);return this.zl.push(i),this.$t().Gl(this),i}ra(t){const i=this.zl.indexOf(t);-1!==i&&this.zl.splice(i,1),this.$t().Gl(this)}Qh(){return this.$l}Ct(){const t=this.ha();return null===t?null:{Vt:t.Vt[3],la:t.ot}}ha(){const t=this.$t().St().Xs();if(null===t)return null;const i=t.Os();return this.zt.ll(i,1)}In(){return this.zt}ph(t){const i=this.zt.Gh(t);return null===i?null:\"Bar\"===this.$l||\"Candlestick\"===this.$l||\"Custom\"===this.$l?{ge:i.Vt[0],Me:i.Vt[1],xe:i.Vt[2],Se:i.Vt[3]}:i.Vt[3]}aa(t){const i=[];Yi(this.Hl,Zi,\"top\",i);const n=this.El;return null!==n&&n.yt()?(null===this.jl&&n.qr()&&(this.jl=setTimeout((()=>{this.jl=null,this.$t().oa()}),0)),n.Ur(),i.unshift(n),i):i}Pn(){const t=[];this._a()||t.push(this.Ll),t.push(this.wn,this.jh,this.dn);const i=this.zl.map((t=>t.qh()));return t.push(...i),Yi(this.Hl,Zi,\"normal\",t),t}ua(){return this.ca(Zi,\"bottom\")}da(t){return this.ca(Xi,t)}fa(t){return this.ca(Ki,t)}va(t,i){return this.Hl.map((n=>n.wr(t,i))).filter((t=>null!==t))}Ji(t){return[this.Hh,...this.zl.map((t=>t.Yh()))]}Rn(t,i){if(i!==this.Yi&&!this._a())return[];const n=[...this.rn];for(const t of this.zl)n.push(t.Zh());return this.Hl.forEach((t=>{n.push(...t.Rn())})),n}Qi(){const t=[];return this.Hl.forEach((i=>{t.push(...i.Qi())})),t}Il(t,i){if(void 0!==this.cn.autoscaleInfoProvider){const n=this.cn.autoscaleInfoProvider((()=>{const n=this.pa(t,i);return null===n?null:n.Bh()}));return Di.Ah(n)}return this.pa(t,i)}ma(){return this.cn.priceFormat.minMove}ba(){return this.wa}Vn(){var t;this.wn.bt(),this.dn.bt();for(const t of this.rn)t.bt();for(const t of this.zl)t.bt();this.jh.bt(),this.Ll.bt(),null===(t=this.El)||void 0===t||t.bt(),this.Hl.forEach((t=>t.Vn()))}Dt(){return b(super.Dt())}kt(t){if(!((\"Line\"===this.$l||\"Area\"===this.$l||\"Baseline\"===this.$l)&&this.cn.crosshairMarkerVisible))return null;const i=this.zt.Gh(t);if(null===i)return null;return{_t:i.Vt[3],ht:this.ga(),Ot:this.Ma(),Pt:this.xa(),Tt:this.Sa(t)}}bh(){return this.cn.title}yt(){return this.cn.visible}ka(t){this.Hl.push(new qi(t,this))}ya(t){this.Hl=this.Hl.filter((i=>i.Ol()!==t))}Ca(){if(this.wn instanceof Kt!=!1)return t=>this.wn.We(t)}Ta(){if(this.wn instanceof Kt!=!1)return t=>this.wn.je(t)}_a(){return!_t(this.Dt().Pa())}pa(t,i){if(!B(t)||!B(i)||this.zt.Ni())return null;const n=\"Line\"===this.$l||\"Area\"===this.$l||\"Baseline\"===this.$l||\"Histogram\"===this.$l?[3]:[2,1],s=this.zt.ol(t,i,n);let e=null!==s?new Ri(s.ml,s.bl):null;if(\"Histogram\"===this.Qh()){const t=this.cn.base,i=new Ri(t,t);e=null!==e?e.ts(i):i}let r=this.dn.uh();return this.Hl.forEach((n=>{const s=n.Il(t,i);if(null==s?void 0:s.priceRange){const t=new Ri(s.priceRange.minValue,s.priceRange.maxValue);e=null!==e?e.ts(t):t}var h,l,a,o;(null==s?void 0:s.margins)&&(h=r,l=s.margins,r={above:Math.max(null!==(a=null==h?void 0:h.above)&&void 0!==a?a:0,l.above),below:Math.max(null!==(o=null==h?void 0:h.below)&&void 0!==o?o:0,l.below)})})),new Di(e,r)}ga(){switch(this.$l){case\"Line\":case\"Area\":case\"Baseline\":return this.cn.crosshairMarkerRadius}return 0}Ma(){switch(this.$l){case\"Line\":case\"Area\":case\"Baseline\":{const t=this.cn.crosshairMarkerBorderColor;if(0!==t.length)return t}}return null}xa(){switch(this.$l){case\"Line\":case\"Area\":case\"Baseline\":return this.cn.crosshairMarkerBorderWidth}return 0}Sa(t){switch(this.$l){case\"Line\":case\"Area\":case\"Baseline\":{const t=this.cn.crosshairMarkerBackgroundColor;if(0!==t.length)return t}}return this.Us().$s(t).ce}Ul(){switch(this.cn.priceFormat.type){case\"custom\":this.wa={format:this.cn.priceFormat.formatter};break;case\"volume\":this.wa=new pt(this.cn.priceFormat.precision);break;case\"percent\":this.wa=new vt(this.cn.priceFormat.precision);break;default:{const t=Math.pow(10,this.cn.priceFormat.precision);this.wa=new ft(t,this.cn.priceFormat.minMove*t)}}null!==this.Yi&&this.Yi.Ra()}Ql(){const t=this.$t().St();if(!t.Da()||this.zt.Ni())return void(this.Wl=[]);const i=b(this.zt.el());this.Wl=this.Fl.map(((n,s)=>{const e=b(t.Va(n.time,!0)),r=e<i?1:-1;return{time:b(this.zt.ll(e,r)).ee,position:n.position,shape:n.shape,color:n.color,id:n.id,th:s,text:n.text,size:n.size,originalTime:n.originalTime}}))}ql(t){switch(this.dn=new yi(this,this.$t()),this.$l){case\"Bar\":this.wn=new Ht(this,this.$t());break;case\"Candlestick\":this.wn=new Zt(this,this.$t());break;case\"Line\":this.wn=new ti(this,this.$t());break;case\"Custom\":this.wn=new Kt(this,this.$t(),m(t));break;case\"Area\":this.wn=new Ft(this,this.$t());break;case\"Baseline\":this.wn=new qt(this,this.$t());break;case\"Histogram\":this.wn=new Qt(this,this.$t());break;default:throw Error(\"Unknown chart style assigned: \"+this.$l)}}ca(t,i){const n=[];return Yi(this.Hl,t,i,n),n}}class Ji{constructor(t){this.cn=t}Oa(t,i,n){let s=t;if(0===this.cn.mode)return s;const e=n.vn(),r=e.Ct();if(null===r)return s;const h=e.Rt(t,r),l=n.Ba().filter((t=>t instanceof Gi)).reduce(((t,s)=>{if(n.vr(s)||!s.yt())return t;const e=s.Dt(),r=s.In();if(e.Ni()||!r.Kr(i))return t;const h=r.Gh(i);if(null===h)return t;const l=w(s.Ct());return t.concat([e.Rt(h.Vt[3],l.Vt)])}),[]);if(0===l.length)return s;l.sort(((t,i)=>Math.abs(t-h)-Math.abs(i-h)));const a=l[0];return s=e.pn(a,r),s}}class Qi extends H{constructor(){super(...arguments),this.zt=null}J(t){this.zt=t}K({context:t,bitmapSize:i,horizontalPixelRatio:n,verticalPixelRatio:s}){if(null===this.zt)return;const e=Math.max(1,Math.floor(n));t.lineWidth=e,function(t,i){t.save(),t.lineWidth%2&&t.translate(.5,.5),i(),t.restore()}(t,(()=>{const r=b(this.zt);if(r.Aa){t.strokeStyle=r.Ia,f(t,r.za),t.beginPath();for(const s of r.La){const r=Math.round(s.Ea*n);t.moveTo(r,-e),t.lineTo(r,i.height+e)}t.stroke()}if(r.Na){t.strokeStyle=r.Fa,f(t,r.Wa),t.beginPath();for(const n of r.ja){const r=Math.round(n.Ea*s);t.moveTo(-e,r),t.lineTo(i.width+e,r)}t.stroke()}}))}}class tn{constructor(t){this.Wt=new Qi,this.ft=!0,this.tn=t}bt(){this.ft=!0}gt(){if(this.ft){const t=this.tn.$t().W().grid,i={Na:t.horzLines.visible,Aa:t.vertLines.visible,Fa:t.horzLines.color,Ia:t.vertLines.color,Wa:t.horzLines.style,za:t.vertLines.style,ja:this.tn.vn().Ha(),La:(this.tn.$t().St().Ha()||[]).map((t=>({Ea:t.coord})))};this.Wt.J(i),this.ft=!1}return this.Wt}}class nn{constructor(t){this.wn=new tn(t)}qh(){return this.wn}}const sn={$a:4,Ua:1e-4};function en(t,i){const n=100*(t-i)/i;return i<0?-n:n}function rn(t,i){const n=en(t.Ph(),i),s=en(t.Rh(),i);return new Ri(n,s)}function hn(t,i){const n=100*(t-i)/i+100;return i<0?-n:n}function ln(t,i){const n=hn(t.Ph(),i),s=hn(t.Rh(),i);return new Ri(n,s)}function an(t,i){const n=Math.abs(t);if(n<1e-15)return 0;const s=Math.log10(n+i.Ua)+i.$a;return t<0?-s:s}function on(t,i){const n=Math.abs(t);if(n<1e-15)return 0;const s=Math.pow(10,n-i.$a)-i.Ua;return t<0?-s:s}function _n(t,i){if(null===t)return null;const n=an(t.Ph(),i),s=an(t.Rh(),i);return new Ri(n,s)}function un(t,i){if(null===t)return null;const n=on(t.Ph(),i),s=on(t.Rh(),i);return new Ri(n,s)}function cn(t){if(null===t)return sn;const i=Math.abs(t.Rh()-t.Ph());if(i>=1||i<1e-15)return sn;const n=Math.ceil(Math.abs(Math.log10(i))),s=sn.$a+n;return{$a:s,Ua:1/Math.pow(10,s)}}class dn{constructor(t,i){if(this.qa=t,this.Ya=i,function(t){if(t<0)return!1;for(let i=t;i>1;i/=10)if(i%10!=0)return!1;return!0}(this.qa))this.Za=[2,2.5,2];else{this.Za=[];for(let t=this.qa;1!==t;){if(t%2==0)this.Za.push(2),t/=2;else{if(t%5!=0)throw new Error(\"unexpected base\");this.Za.push(2,2.5),t/=5}if(this.Za.length>100)throw new Error(\"something wrong with base\")}}}Xa(t,i,n){const s=0===this.qa?0:1/this.qa;let e=Math.pow(10,Math.max(0,Math.ceil(Math.log10(t-i)))),r=0,h=this.Ya[0];for(;;){const t=yt(e,s,1e-14)&&e>s+1e-14,i=yt(e,n*h,1e-14),l=yt(e,1,1e-14);if(!(t&&i&&l))break;e/=h,h=this.Ya[++r%this.Ya.length]}if(e<=s+1e-14&&(e=s),e=Math.max(1,e),this.Za.length>0&&(l=e,a=1,o=1e-14,Math.abs(l-a)<o))for(r=0,h=this.Za[0];yt(e,n*h,1e-14)&&e>s+1e-14;)e/=h,h=this.Za[++r%this.Za.length];var l,a,o;return e}}class fn{constructor(t,i,n,s){this.Ka=[],this.Li=t,this.qa=i,this.Ga=n,this.Ja=s}Xa(t,i){if(t<i)throw new Error(\"high < low\");const n=this.Li.At(),s=(t-i)*this.Qa()/n,e=new dn(this.qa,[2,2.5,2]),r=new dn(this.qa,[2,2,2.5]),h=new dn(this.qa,[2.5,2,2]),l=[];return l.push(e.Xa(t,i,s),r.Xa(t,i,s),h.Xa(t,i,s)),function(t){if(t.length<1)throw Error(\"array is empty\");let i=t[0];for(let n=1;n<t.length;++n)t[n]<i&&(i=t[n]);return i}(l)}io(){const t=this.Li,i=t.Ct();if(null===i)return void(this.Ka=[]);const n=t.At(),s=this.Ga(n-1,i),e=this.Ga(0,i),r=this.Li.W().entireTextOnly?this.no()/2:0,h=r,l=n-1-r,a=Math.max(s,e),o=Math.min(s,e);if(a===o)return void(this.Ka=[]);let _=this.Xa(a,o),u=a%_;u+=u<0?_:0;const c=a>=o?1:-1;let d=null,f=0;for(let n=a-u;n>o;n-=_){const s=this.Ja(n,i,!0);null!==d&&Math.abs(s-d)<this.Qa()||(s<h||s>l||(f<this.Ka.length?(this.Ka[f].Ea=s,this.Ka[f].so=t.eo(n)):this.Ka.push({Ea:s,so:t.eo(n)}),f++,d=s,t.ro()&&(_=this.Xa(n*c,o))))}this.Ka.length=f}Ha(){return this.Ka}no(){return this.Li.P()}Qa(){return Math.ceil(2.5*this.no())}}function vn(t){return t.slice().sort(((t,i)=>b(t.Xi())-b(i.Xi())))}var pn;!function(t){t[t.Normal=0]=\"Normal\",t[t.Logarithmic=1]=\"Logarithmic\",t[t.Percentage=2]=\"Percentage\",t[t.IndexedTo100=3]=\"IndexedTo100\"}(pn||(pn={}));const mn=new vt,bn=new ft(100,1);class wn{constructor(t,i,n,s){this.ho=0,this.lo=null,this.Ih=null,this.ao=null,this.oo={_o:!1,uo:null},this.co=0,this.do=0,this.fo=new D,this.vo=new D,this.po=[],this.mo=null,this.bo=null,this.wo=null,this.Mo=null,this.wa=bn,this.xo=cn(null),this.So=t,this.cn=i,this.ko=n,this.yo=s,this.Co=new fn(this,100,this.To.bind(this),this.Po.bind(this))}Pa(){return this.So}W(){return this.cn}$h(t){if(V(this.cn,t),this.Ra(),void 0!==t.mode&&this.Ro({Cr:t.mode}),void 0!==t.scaleMargins){const i=m(t.scaleMargins.top),n=m(t.scaleMargins.bottom);if(i<0||i>1)throw new Error(`Invalid top margin - expect value between 0 and 1, given=${i}`);if(n<0||n>1)throw new Error(`Invalid bottom margin - expect value between 0 and 1, given=${n}`);if(i+n>1)throw new Error(`Invalid margins - sum of margins must be less than 1, given=${i+n}`);this.Do(),this.bo=null}}Vo(){return this.cn.autoScale}ro(){return 1===this.cn.mode}Mh(){return 2===this.cn.mode}Oo(){return 3===this.cn.mode}Cr(){return{Wn:this.cn.autoScale,Bo:this.cn.invertScale,Cr:this.cn.mode}}Ro(t){const i=this.Cr();let n=null;void 0!==t.Wn&&(this.cn.autoScale=t.Wn),void 0!==t.Cr&&(this.cn.mode=t.Cr,2!==t.Cr&&3!==t.Cr||(this.cn.autoScale=!0),this.oo._o=!1),1===i.Cr&&t.Cr!==i.Cr&&(!function(t,i){if(null===t)return!1;const n=on(t.Ph(),i),s=on(t.Rh(),i);return isFinite(n)&&isFinite(s)}(this.Ih,this.xo)?this.cn.autoScale=!0:(n=un(this.Ih,this.xo),null!==n&&this.Ao(n))),1===t.Cr&&t.Cr!==i.Cr&&(n=_n(this.Ih,this.xo),null!==n&&this.Ao(n));const s=i.Cr!==this.cn.mode;s&&(2===i.Cr||this.Mh())&&this.Ra(),s&&(3===i.Cr||this.Oo())&&this.Ra(),void 0!==t.Bo&&i.Bo!==t.Bo&&(this.cn.invertScale=t.Bo,this.Io()),this.vo.m(i,this.Cr())}zo(){return this.vo}P(){return this.ko.fontSize}At(){return this.ho}Lo(t){this.ho!==t&&(this.ho=t,this.Do(),this.bo=null)}Eo(){if(this.lo)return this.lo;const t=this.At()-this.No()-this.Fo();return this.lo=t,t}Lh(){return this.Wo(),this.Ih}Ao(t,i){const n=this.Ih;(i||null===n&&null!==t||null!==n&&!n.Ch(t))&&(this.bo=null,this.Ih=t)}Ni(){return this.Wo(),0===this.ho||!this.Ih||this.Ih.Ni()}jo(t){return this.Bo()?t:this.At()-1-t}Rt(t,i){return this.Mh()?t=en(t,i):this.Oo()&&(t=hn(t,i)),this.Po(t,i)}te(t,i,n){this.Wo();const s=this.Fo(),e=b(this.Lh()),r=e.Ph(),h=e.Rh(),l=this.Eo()-1,a=this.Bo(),o=l/(h-r),_=void 0===n?0:n.from,u=void 0===n?t.length:n.to,c=this.Ho();for(let n=_;n<u;n++){const e=t[n],h=e._t;if(isNaN(h))continue;let l=h;null!==c&&(l=c(e._t,i));const _=s+o*(l-r),u=a?_:this.ho-1-_;e.st=u}}be(t,i,n){this.Wo();const s=this.Fo(),e=b(this.Lh()),r=e.Ph(),h=e.Rh(),l=this.Eo()-1,a=this.Bo(),o=l/(h-r),_=void 0===n?0:n.from,u=void 0===n?t.length:n.to,c=this.Ho();for(let n=_;n<u;n++){const e=t[n];let h=e.ge,l=e.Me,_=e.xe,u=e.Se;null!==c&&(h=c(e.ge,i),l=c(e.Me,i),_=c(e.xe,i),u=c(e.Se,i));let d=s+o*(h-r),f=a?d:this.ho-1-d;e.pe=f,d=s+o*(l-r),f=a?d:this.ho-1-d,e.de=f,d=s+o*(_-r),f=a?d:this.ho-1-d,e.fe=f,d=s+o*(u-r),f=a?d:this.ho-1-d,e.me=f}}pn(t,i){const n=this.To(t,i);return this.$o(n,i)}$o(t,i){let n=t;return this.Mh()?n=function(t,i){return i<0&&(t=-t),t/100*i+i}(n,i):this.Oo()&&(n=function(t,i){return t-=100,i<0&&(t=-t),t/100*i+i}(n,i)),n}Ba(){return this.po}Uo(){if(this.mo)return this.mo;let t=[];for(let i=0;i<this.po.length;i++){const n=this.po[i];null===n.Xi()&&n.Ki(i+1),t.push(n)}return t=vn(t),this.mo=t,this.mo}qo(t){-1===this.po.indexOf(t)&&(this.po.push(t),this.Ra(),this.Yo())}Zo(t){const i=this.po.indexOf(t);if(-1===i)throw new Error(\"source is not attached to scale\");this.po.splice(i,1),0===this.po.length&&(this.Ro({Wn:!0}),this.Ao(null)),this.Ra(),this.Yo()}Ct(){let t=null;for(const i of this.po){const n=i.Ct();null!==n&&((null===t||n.la<t.la)&&(t=n))}return null===t?null:t.Vt}Bo(){return this.cn.invertScale}Ha(){const t=null===this.Ct();if(null!==this.bo&&(t||this.bo.Xo===t))return this.bo.Ha;this.Co.io();const i=this.Co.Ha();return this.bo={Ha:i,Xo:t},this.fo.m(),i}Ko(){return this.fo}Go(t){this.Mh()||this.Oo()||null===this.wo&&null===this.ao&&(this.Ni()||(this.wo=this.ho-t,this.ao=b(this.Lh()).Th()))}Jo(t){if(this.Mh()||this.Oo())return;if(null===this.wo)return;this.Ro({Wn:!1}),(t=this.ho-t)<0&&(t=0);let i=(this.wo+.2*(this.ho-1))/(t+.2*(this.ho-1));const n=b(this.ao).Th();i=Math.max(i,.1),n.Vh(i),this.Ao(n)}Qo(){this.Mh()||this.Oo()||(this.wo=null,this.ao=null)}t_(t){this.Vo()||null===this.Mo&&null===this.ao&&(this.Ni()||(this.Mo=t,this.ao=b(this.Lh()).Th()))}i_(t){if(this.Vo())return;if(null===this.Mo)return;const i=b(this.Lh()).Dh()/(this.Eo()-1);let n=t-this.Mo;this.Bo()&&(n*=-1);const s=n*i,e=b(this.ao).Th();e.Oh(s),this.Ao(e,!0),this.bo=null}n_(){this.Vo()||null!==this.Mo&&(this.Mo=null,this.ao=null)}ba(){return this.wa||this.Ra(),this.wa}Fi(t,i){switch(this.cn.mode){case 2:return this.s_(en(t,i));case 3:return this.ba().format(hn(t,i));default:return this.Wh(t)}}eo(t){switch(this.cn.mode){case 2:return this.s_(t);case 3:return this.ba().format(t);default:return this.Wh(t)}}Yl(t){return this.Wh(t,b(this.e_()).ba())}Zl(t,i){return t=en(t,i),this.s_(t,mn)}r_(){return this.po}h_(t){this.oo={uo:t,_o:!1}}Vn(){this.po.forEach((t=>t.Vn()))}Ra(){this.bo=null;const t=this.e_();let i=100;null!==t&&(i=Math.round(1/t.ma())),this.wa=bn,this.Mh()?(this.wa=mn,i=100):this.Oo()?(this.wa=new ft(100,1),i=100):null!==t&&(this.wa=t.ba()),this.Co=new fn(this,i,this.To.bind(this),this.Po.bind(this)),this.Co.io()}Yo(){this.mo=null}e_(){return this.po[0]||null}No(){return this.Bo()?this.cn.scaleMargins.bottom*this.At()+this.do:this.cn.scaleMargins.top*this.At()+this.co}Fo(){return this.Bo()?this.cn.scaleMargins.top*this.At()+this.co:this.cn.scaleMargins.bottom*this.At()+this.do}Wo(){this.oo._o||(this.oo._o=!0,this.l_())}Do(){this.lo=null}Po(t,i){if(this.Wo(),this.Ni())return 0;t=this.ro()&&t?an(t,this.xo):t;const n=b(this.Lh()),s=this.Fo()+(this.Eo()-1)*(t-n.Ph())/n.Dh();return this.jo(s)}To(t,i){if(this.Wo(),this.Ni())return 0;const n=this.jo(t),s=b(this.Lh()),e=s.Ph()+s.Dh()*((n-this.Fo())/(this.Eo()-1));return this.ro()?on(e,this.xo):e}Io(){this.bo=null,this.Co.io()}l_(){const t=this.oo.uo;if(null===t)return;let i=null;const n=this.r_();let s=0,e=0;for(const r of n){if(!r.yt())continue;const n=r.Ct();if(null===n)continue;const h=r.Il(t.Os(),t.ui());let l=h&&h.Lh();if(null!==l){switch(this.cn.mode){case 1:l=_n(l,this.xo);break;case 2:l=rn(l,n.Vt);break;case 3:l=ln(l,n.Vt)}if(i=null===i?l:i.ts(b(l)),null!==h){const t=h.Eh();null!==t&&(s=Math.max(s,t.above),e=Math.max(e,t.below))}}}if(s===this.co&&e===this.do||(this.co=s,this.do=e,this.bo=null,this.Do()),null!==i){if(i.Ph()===i.Rh()){const t=this.e_(),n=5*(null===t||this.Mh()||this.Oo()?1:t.ma());this.ro()&&(i=un(i,this.xo)),i=new Ri(i.Ph()-n,i.Rh()+n),this.ro()&&(i=_n(i,this.xo))}if(this.ro()){const t=un(i,this.xo),n=cn(t);if(r=n,h=this.xo,r.$a!==h.$a||r.Ua!==h.Ua){const s=null!==this.ao?un(this.ao,this.xo):null;this.xo=n,i=_n(t,n),null!==s&&(this.ao=_n(s,n))}}this.Ao(i)}else null===this.Ih&&(this.Ao(new Ri(-.5,.5)),this.xo=cn(null));var r,h;this.oo._o=!0}Ho(){return this.Mh()?en:this.Oo()?hn:this.ro()?t=>an(t,this.xo):null}a_(t,i,n){return void 0===i?(void 0===n&&(n=this.ba()),n.format(t)):i(t)}Wh(t,i){return this.a_(t,this.yo.priceFormatter,i)}s_(t,i){return this.a_(t,this.yo.percentageFormatter,i)}}class gn{constructor(t,i){this.po=[],this.o_=new Map,this.ho=0,this.__=0,this.u_=1e3,this.mo=null,this.c_=new D,this.yl=t,this.$i=i,this.d_=new nn(this);const n=i.W();this.f_=this.v_(\"left\",n.leftPriceScale),this.p_=this.v_(\"right\",n.rightPriceScale),this.f_.zo().l(this.m_.bind(this,this.f_),this),this.p_.zo().l(this.m_.bind(this,this.p_),this),this.b_(n)}b_(t){if(t.leftPriceScale&&this.f_.$h(t.leftPriceScale),t.rightPriceScale&&this.p_.$h(t.rightPriceScale),t.localization&&(this.f_.Ra(),this.p_.Ra()),t.overlayPriceScales){const i=Array.from(this.o_.values());for(const n of i){const i=b(n[0].Dt());i.$h(t.overlayPriceScales),t.localization&&i.Ra()}}}w_(t){switch(t){case\"left\":return this.f_;case\"right\":return this.p_}return this.o_.has(t)?m(this.o_.get(t))[0].Dt():null}S(){this.$t().g_().p(this),this.f_.zo().p(this),this.p_.zo().p(this),this.po.forEach((t=>{t.S&&t.S()})),this.c_.m()}M_(){return this.u_}x_(t){this.u_=t}$t(){return this.$i}Hi(){return this.__}At(){return this.ho}S_(t){this.__=t,this.k_()}Lo(t){this.ho=t,this.f_.Lo(t),this.p_.Lo(t),this.po.forEach((i=>{if(this.vr(i)){const n=i.Dt();null!==n&&n.Lo(t)}})),this.k_()}Ba(){return this.po}vr(t){const i=t.Dt();return null===i||this.f_!==i&&this.p_!==i}qo(t,i,n){const s=void 0!==n?n:this.C_().y_+1;this.T_(t,i,s)}Zo(t){const i=this.po.indexOf(t);p(-1!==i,\"removeDataSource: invalid data source\"),this.po.splice(i,1);const n=b(t.Dt()).Pa();if(this.o_.has(n)){const i=m(this.o_.get(n)),s=i.indexOf(t);-1!==s&&(i.splice(s,1),0===i.length&&this.o_.delete(n))}const s=t.Dt();s&&s.Ba().indexOf(t)>=0&&s.Zo(t),null!==s&&(s.Yo(),this.P_(s)),this.mo=null}mr(t){return t===this.f_?\"left\":t===this.p_?\"right\":\"overlay\"}R_(){return this.f_}D_(){return this.p_}V_(t,i){t.Go(i)}O_(t,i){t.Jo(i),this.k_()}B_(t){t.Qo()}A_(t,i){t.t_(i)}I_(t,i){t.i_(i),this.k_()}z_(t){t.n_()}k_(){this.po.forEach((t=>{t.Vn()}))}vn(){let t=null;return this.$i.W().rightPriceScale.visible&&0!==this.p_.Ba().length?t=this.p_:this.$i.W().leftPriceScale.visible&&0!==this.f_.Ba().length?t=this.f_:0!==this.po.length&&(t=this.po[0].Dt()),null===t&&(t=this.p_),t}pr(){let t=null;return this.$i.W().rightPriceScale.visible?t=this.p_:this.$i.W().leftPriceScale.visible&&(t=this.f_),t}P_(t){null!==t&&t.Vo()&&this.L_(t)}E_(t){const i=this.yl.Xs();t.Ro({Wn:!0}),null!==i&&t.h_(i),this.k_()}N_(){this.L_(this.f_),this.L_(this.p_)}F_(){this.P_(this.f_),this.P_(this.p_),this.po.forEach((t=>{this.vr(t)&&this.P_(t.Dt())})),this.k_(),this.$i.Uh()}Uo(){return null===this.mo&&(this.mo=vn(this.po)),this.mo}W_(){return this.c_}j_(){return this.d_}L_(t){const i=t.r_();if(i&&i.length>0&&!this.yl.Ni()){const i=this.yl.Xs();null!==i&&t.h_(i)}t.Vn()}C_(){const t=this.Uo();if(0===t.length)return{H_:0,y_:0};let i=0,n=0;for(let s=0;s<t.length;s++){const e=t[s].Xi();null!==e&&(e<i&&(i=e),e>n&&(n=e))}return{H_:i,y_:n}}T_(t,i,n){let s=this.w_(i);if(null===s&&(s=this.v_(i,this.$i.W().overlayPriceScales)),this.po.push(t),!_t(i)){const n=this.o_.get(i)||[];n.push(t),this.o_.set(i,n)}s.qo(t),t.Gi(s),t.Ki(n),this.P_(s),this.mo=null}m_(t,i,n){i.Cr!==n.Cr&&this.L_(t)}v_(t,i){const n=Object.assign({visible:!0,autoScale:!0},z(i)),s=new wn(t,n,this.$i.W().layout,this.$i.W().localization);return s.Lo(this.At()),s}}class Mn{constructor(t,i,n=50){this.Ke=0,this.Ge=1,this.Je=1,this.tr=new Map,this.Qe=new Map,this.U_=t,this.q_=i,this.ir=n}Y_(t){const i=t.time,n=this.q_.cacheKey(i),s=this.tr.get(n);if(void 0!==s)return s.Z_;if(this.Ke===this.ir){const t=this.Qe.get(this.Je);this.Qe.delete(this.Je),this.tr.delete(m(t)),this.Je++,this.Ke--}const e=this.U_(t);return this.tr.set(n,{Z_:e,rr:this.Ge}),this.Qe.set(this.Ge,n),this.Ke++,this.Ge++,e}}class xn{constructor(t,i){p(t<=i,\"right should be >= left\"),this.X_=t,this.K_=i}Os(){return this.X_}ui(){return this.K_}G_(){return this.K_-this.X_+1}Kr(t){return this.X_<=t&&t<=this.K_}Ch(t){return this.X_===t.Os()&&this.K_===t.ui()}}function Sn(t,i){return null===t||null===i?t===i:t.Ch(i)}class kn{constructor(){this.J_=new Map,this.tr=null,this.Q_=!1}tu(t){this.Q_=t,this.tr=null}iu(t,i){this.nu(i),this.tr=null;for(let n=i;n<t.length;++n){const i=t[n];let s=this.J_.get(i.timeWeight);void 0===s&&(s=[],this.J_.set(i.timeWeight,s)),s.push({index:n,time:i.time,weight:i.timeWeight,originalTime:i.originalTime})}}su(t,i){const n=Math.ceil(i/t);return null!==this.tr&&this.tr.eu===n||(this.tr={Ha:this.ru(n),eu:n}),this.tr.Ha}nu(t){if(0===t)return void this.J_.clear();const i=[];this.J_.forEach(((n,s)=>{t<=n[0].index?i.push(s):n.splice(Bt(n,t,(i=>i.index<t)),1/0)}));for(const t of i)this.J_.delete(t)}ru(t){let i=[];for(const n of Array.from(this.J_.keys()).sort(((t,i)=>i-t))){if(!this.J_.get(n))continue;const s=i;i=[];const e=s.length;let r=0;const h=m(this.J_.get(n)),l=h.length;let a=1/0,o=-1/0;for(let n=0;n<l;n++){const l=h[n],_=l.index;for(;r<e;){const t=s[r],n=t.index;if(!(n<_)){a=n;break}r++,i.push(t),o=n,a=1/0}if(a-_>=t&&_-o>=t)i.push(l),o=_;else if(this.Q_)return s}for(;r<e;r++)i.push(s[r])}return i}}class yn{constructor(t){this.hu=t}lu(){return null===this.hu?null:new xn(Math.floor(this.hu.Os()),Math.ceil(this.hu.ui()))}au(){return this.hu}static ou(){return new yn(null)}}function Cn(t,i){return t.weight>i.weight?t:i}class Tn{constructor(t,i,n,s){this.__=0,this._u=null,this.uu=[],this.Mo=null,this.wo=null,this.cu=new kn,this.du=new Map,this.fu=yn.ou(),this.vu=!0,this.pu=new D,this.mu=new D,this.bu=new D,this.wu=null,this.gu=null,this.Mu=[],this.cn=i,this.yo=n,this.xu=i.rightOffset,this.Su=i.barSpacing,this.$i=t,this.q_=s,this.ku(),this.cu.tu(i.uniformDistribution)}W(){return this.cn}yu(t){V(this.yo,t),this.Cu(),this.ku()}$h(t,i){var n;V(this.cn,t),this.cn.fixLeftEdge&&this.Tu(),this.cn.fixRightEdge&&this.Pu(),void 0!==t.barSpacing&&this.$i.Gn(t.barSpacing),void 0!==t.rightOffset&&this.$i.Jn(t.rightOffset),void 0!==t.minBarSpacing&&this.$i.Gn(null!==(n=t.barSpacing)&&void 0!==n?n:this.Su),this.Cu(),this.ku(),this.bu.m()}mn(t){var i,n;return null!==(n=null===(i=this.uu[t])||void 0===i?void 0:i.time)&&void 0!==n?n:null}Ui(t){var i;return null!==(i=this.uu[t])&&void 0!==i?i:null}Va(t,i){if(this.uu.length<1)return null;if(this.q_.key(t)>this.q_.key(this.uu[this.uu.length-1].time))return i?this.uu.length-1:null;const n=Bt(this.uu,this.q_.key(t),((t,i)=>this.q_.key(t.time)<i));return this.q_.key(t)<this.q_.key(this.uu[n].time)?i?n:null:n}Ni(){return 0===this.__||0===this.uu.length||null===this._u}Da(){return this.uu.length>0}Xs(){return this.Ru(),this.fu.lu()}Du(){return this.Ru(),this.fu.au()}Vu(){const t=this.Xs();if(null===t)return null;const i={from:t.Os(),to:t.ui()};return this.Ou(i)}Ou(t){const i=Math.round(t.from),n=Math.round(t.to),s=b(this.Bu()),e=b(this.Au());return{from:b(this.Ui(Math.max(s,i))),to:b(this.Ui(Math.min(e,n)))}}Iu(t){return{from:b(this.Va(t.from,!0)),to:b(this.Va(t.to,!0))}}Hi(){return this.__}S_(t){if(!isFinite(t)||t<=0)return;if(this.__===t)return;const i=this.Du(),n=this.__;if(this.__=t,this.vu=!0,this.cn.lockVisibleTimeRangeOnResize&&0!==n){const i=this.Su*t/n;this.Su=i}if(this.cn.fixLeftEdge&&null!==i&&i.Os()<=0){const i=n-t;this.xu-=Math.round(i/this.Su)+1,this.vu=!0}this.zu(),this.Lu()}It(t){if(this.Ni()||!B(t))return 0;const i=this.Eu()+this.xu-t;return this.__-(i+.5)*this.Su-1}Qs(t,i){const n=this.Eu(),s=void 0===i?0:i.from,e=void 0===i?t.length:i.to;for(let i=s;i<e;i++){const s=t[i].ot,e=n+this.xu-s,r=this.__-(e+.5)*this.Su-1;t[i].nt=r}}Nu(t){return Math.ceil(this.Fu(t))}Jn(t){this.vu=!0,this.xu=t,this.Lu(),this.$i.Wu(),this.$i.Uh()}le(){return this.Su}Gn(t){this.ju(t),this.Lu(),this.$i.Wu(),this.$i.Uh()}Hu(){return this.xu}Ha(){if(this.Ni())return null;if(null!==this.gu)return this.gu;const t=this.Su,i=5*(this.$i.W().layout.fontSize+4)/8*(this.cn.tickMarkMaxCharacterLength||8),n=Math.round(i/t),s=b(this.Xs()),e=Math.max(s.Os(),s.Os()-n),r=Math.max(s.ui(),s.ui()-n),h=this.cu.su(t,i),l=this.Bu()+n,a=this.Au()-n,o=this.$u(),_=this.cn.fixLeftEdge||o,u=this.cn.fixRightEdge||o;let c=0;for(const t of h){if(!(e<=t.index&&t.index<=r))continue;let n;c<this.Mu.length?(n=this.Mu[c],n.coord=this.It(t.index),n.label=this.Uu(t),n.weight=t.weight):(n={needAlignCoordinate:!1,coord:this.It(t.index),label:this.Uu(t),weight:t.weight},this.Mu.push(n)),this.Su>i/2&&!o?n.needAlignCoordinate=!1:n.needAlignCoordinate=_&&t.index<=l||u&&t.index>=a,c++}return this.Mu.length=c,this.gu=this.Mu,this.Mu}qu(){this.vu=!0,this.Gn(this.cn.barSpacing),this.Jn(this.cn.rightOffset)}Yu(t){this.vu=!0,this._u=t,this.Lu(),this.Tu()}Zu(t,i){const n=this.Fu(t),s=this.le(),e=s+i*(s/10);this.Gn(e),this.cn.rightBarStaysOnScroll||this.Jn(this.Hu()+(n-this.Fu(t)))}Go(t){this.Mo&&this.n_(),null===this.wo&&null===this.wu&&(this.Ni()||(this.wo=t,this.Xu()))}Jo(t){if(null===this.wu)return;const i=kt(this.__-t,0,this.__),n=kt(this.__-b(this.wo),0,this.__);0!==i&&0!==n&&this.Gn(this.wu.le*i/n)}Qo(){null!==this.wo&&(this.wo=null,this.Ku())}t_(t){null===this.Mo&&null===this.wu&&(this.Ni()||(this.Mo=t,this.Xu()))}i_(t){if(null===this.Mo)return;const i=(this.Mo-t)/this.le();this.xu=b(this.wu).Hu+i,this.vu=!0,this.Lu()}n_(){null!==this.Mo&&(this.Mo=null,this.Ku())}Gu(){this.Ju(this.cn.rightOffset)}Ju(t,i=400){if(!isFinite(t))throw new RangeError(\"offset is required and must be finite number\");if(!isFinite(i)||i<=0)throw new RangeError(\"animationDuration (optional) must be finite positive number\");const n=this.xu,s=performance.now();this.$i.Zn({Qu:t=>(t-s)/i>=1,tc:e=>{const r=(e-s)/i;return r>=1?t:n+(t-n)*r}})}bt(t,i){this.vu=!0,this.uu=t,this.cu.iu(t,i),this.Lu()}nc(){return this.pu}sc(){return this.mu}ec(){return this.bu}Eu(){return this._u||0}rc(t){const i=t.G_();this.ju(this.__/i),this.xu=t.ui()-this.Eu(),this.Lu(),this.vu=!0,this.$i.Wu(),this.$i.Uh()}hc(){const t=this.Bu(),i=this.Au();null!==t&&null!==i&&this.rc(new xn(t,i+this.cn.rightOffset))}lc(t){const i=new xn(t.from,t.to);this.rc(i)}qi(t){return void 0!==this.yo.timeFormatter?this.yo.timeFormatter(t.originalTime):this.q_.formatHorzItem(t.time)}$u(){const{handleScroll:t,handleScale:i}=this.$i.W();return!(t.horzTouchDrag||t.mouseWheel||t.pressedMouseMove||t.vertTouchDrag||i.axisDoubleClickReset.time||i.axisPressedMouseMove.time||i.mouseWheel||i.pinch)}Bu(){return 0===this.uu.length?null:0}Au(){return 0===this.uu.length?null:this.uu.length-1}ac(t){return(this.__-1-t)/this.Su}Fu(t){const i=this.ac(t),n=this.Eu()+this.xu-i;return Math.round(1e6*n)/1e6}ju(t){const i=this.Su;this.Su=t,this.zu(),i!==this.Su&&(this.vu=!0,this.oc())}Ru(){if(!this.vu)return;if(this.vu=!1,this.Ni())return void this._c(yn.ou());const t=this.Eu(),i=this.__/this.Su,n=this.xu+t,s=new xn(n-i+1,n);this._c(new yn(s))}zu(){const t=this.uc();if(this.Su<t&&(this.Su=t,this.vu=!0),0!==this.__){const t=.5*this.__;this.Su>t&&(this.Su=t,this.vu=!0)}}uc(){return this.cn.fixLeftEdge&&this.cn.fixRightEdge&&0!==this.uu.length?this.__/this.uu.length:this.cn.minBarSpacing}Lu(){const t=this.cc();null!==t&&this.xu<t&&(this.xu=t,this.vu=!0);const i=this.dc();this.xu>i&&(this.xu=i,this.vu=!0)}cc(){const t=this.Bu(),i=this._u;if(null===t||null===i)return null;return t-i-1+(this.cn.fixLeftEdge?this.__/this.Su:Math.min(2,this.uu.length))}dc(){return this.cn.fixRightEdge?0:this.__/this.Su-Math.min(2,this.uu.length)}Xu(){this.wu={le:this.le(),Hu:this.Hu()}}Ku(){this.wu=null}Uu(t){let i=this.du.get(t.weight);return void 0===i&&(i=new Mn((t=>this.fc(t)),this.q_),this.du.set(t.weight,i)),i.Y_(t)}fc(t){return this.q_.formatTickmark(t,this.yo)}_c(t){const i=this.fu;this.fu=t,Sn(i.lu(),this.fu.lu())||this.pu.m(),Sn(i.au(),this.fu.au())||this.mu.m(),this.oc()}oc(){this.gu=null}Cu(){this.oc(),this.du.clear()}ku(){this.q_.updateFormatter(this.yo)}Tu(){if(!this.cn.fixLeftEdge)return;const t=this.Bu();if(null===t)return;const i=this.Xs();if(null===i)return;const n=i.Os()-t;if(n<0){const t=this.xu-n-1;this.Jn(t)}this.zu()}Pu(){this.Lu(),this.zu()}}class Pn{X(t,i,n){t.useMediaCoordinateSpace((t=>this.K(t,i,n)))}gl(t,i,n){t.useMediaCoordinateSpace((t=>this.vc(t,i,n)))}vc(t,i,n){}}class Rn extends Pn{constructor(t){super(),this.mc=new Map,this.zt=t}K(t){}vc(t){if(!this.zt.yt)return;const{context:i,mediaSize:n}=t;let s=0;for(const t of this.zt.bc){if(0===t.Kt.length)continue;i.font=t.R;const e=this.wc(i,t.Kt);e>n.width?t.Zu=n.width/e:t.Zu=1,s+=t.gc*t.Zu}let e=0;switch(this.zt.Mc){case\"top\":e=0;break;case\"center\":e=Math.max((n.height-s)/2,0);break;case\"bottom\":e=Math.max(n.height-s,0)}i.fillStyle=this.zt.V;for(const t of this.zt.bc){i.save();let s=0;switch(this.zt.xc){case\"left\":i.textAlign=\"left\",s=t.gc/2;break;case\"center\":i.textAlign=\"center\",s=n.width/2;break;case\"right\":i.textAlign=\"right\",s=n.width-1-t.gc/2}i.translate(s,e),i.textBaseline=\"top\",i.font=t.R,i.scale(t.Zu,t.Zu),i.fillText(t.Kt,0,t.Sc),i.restore(),e+=t.gc*t.Zu}}wc(t,i){const n=this.kc(t.font);let s=n.get(i);return void 0===s&&(s=t.measureText(i).width,n.set(i,s)),s}kc(t){let i=this.mc.get(t);return void 0===i&&(i=new Map,this.mc.set(t,i)),i}}class Dn{constructor(t){this.ft=!0,this.Ft={yt:!1,V:\"\",bc:[],Mc:\"center\",xc:\"center\"},this.Wt=new Rn(this.Ft),this.jt=t}bt(){this.ft=!0}gt(){return this.ft&&(this.Mt(),this.ft=!1),this.Wt}Mt(){const t=this.jt.W(),i=this.Ft;i.yt=t.visible,i.yt&&(i.V=t.color,i.xc=t.horzAlign,i.Mc=t.vertAlign,i.bc=[{Kt:t.text,R:F(t.fontSize,t.fontFamily,t.fontStyle),gc:1.2*t.fontSize,Sc:0,Zu:0}])}}class Vn extends lt{constructor(t,i){super(),this.cn=i,this.wn=new Dn(this)}Rn(){return[]}Pn(){return[this.wn]}W(){return this.cn}Vn(){this.wn.bt()}}var On,Bn,An,In,zn;!function(t){t[t.OnTouchEnd=0]=\"OnTouchEnd\",t[t.OnNextTap=1]=\"OnNextTap\"}(On||(On={}));class Ln{constructor(t,i,n){this.yc=[],this.Cc=[],this.__=0,this.Tc=null,this.Pc=new D,this.Rc=new D,this.Dc=null,this.Vc=t,this.cn=i,this.q_=n,this.Oc=new W(this),this.yl=new Tn(this,i.timeScale,this.cn.localization,n),this.vt=new ot(this,i.crosshair),this.Bc=new Ji(i.crosshair),this.Ac=new Vn(this,i.watermark),this.Ic(),this.yc[0].x_(2e3),this.zc=this.Lc(0),this.Ec=this.Lc(1)}Kl(){this.Nc(ut.es())}Uh(){this.Nc(ut.ss())}oa(){this.Nc(new ut(1))}Gl(t){const i=this.Fc(t);this.Nc(i)}Wc(){return this.Tc}jc(t){const i=this.Tc;this.Tc=t,null!==i&&this.Gl(i.Hc),null!==t&&this.Gl(t.Hc)}W(){return this.cn}$h(t){V(this.cn,t),this.yc.forEach((i=>i.b_(t))),void 0!==t.timeScale&&this.yl.$h(t.timeScale),void 0!==t.localization&&this.yl.yu(t.localization),(t.leftPriceScale||t.rightPriceScale)&&this.Pc.m(),this.zc=this.Lc(0),this.Ec=this.Lc(1),this.Kl()}$c(t,i){if(\"left\"===t)return void this.$h({leftPriceScale:i});if(\"right\"===t)return void this.$h({rightPriceScale:i});const n=this.Uc(t);null!==n&&(n.Dt.$h(i),this.Pc.m())}Uc(t){for(const i of this.yc){const n=i.w_(t);if(null!==n)return{Ht:i,Dt:n}}return null}St(){return this.yl}qc(){return this.yc}Yc(){return this.Ac}Zc(){return this.vt}Xc(){return this.Rc}Kc(t,i){t.Lo(i),this.Wu()}S_(t){this.__=t,this.yl.S_(this.__),this.yc.forEach((i=>i.S_(t))),this.Wu()}Ic(t){const i=new gn(this.yl,this);void 0!==t?this.yc.splice(t,0,i):this.yc.push(i);const n=void 0===t?this.yc.length-1:t,s=ut.es();return s.Nn(n,{Fn:0,Wn:!0}),this.Nc(s),i}V_(t,i,n){t.V_(i,n)}O_(t,i,n){t.O_(i,n),this.Jl(),this.Nc(this.Gc(t,2))}B_(t,i){t.B_(i),this.Nc(this.Gc(t,2))}A_(t,i,n){i.Vo()||t.A_(i,n)}I_(t,i,n){i.Vo()||(t.I_(i,n),this.Jl(),this.Nc(this.Gc(t,2)))}z_(t,i){i.Vo()||(t.z_(i),this.Nc(this.Gc(t,2)))}E_(t,i){t.E_(i),this.Nc(this.Gc(t,2))}Jc(t){this.yl.Go(t)}Qc(t,i){const n=this.St();if(n.Ni()||0===i)return;const s=n.Hi();t=Math.max(1,Math.min(t,s)),n.Zu(t,i),this.Wu()}td(t){this.nd(0),this.sd(t),this.ed()}rd(t){this.yl.Jo(t),this.Wu()}hd(){this.yl.Qo(),this.Uh()}nd(t){this.yl.t_(t)}sd(t){this.yl.i_(t),this.Wu()}ed(){this.yl.n_(),this.Uh()}wt(){return this.Cc}ld(t,i,n,s,e){this.vt.gn(t,i);let r=NaN,h=this.yl.Nu(t);const l=this.yl.Xs();null!==l&&(h=Math.min(Math.max(l.Os(),h),l.ui()));const a=s.vn(),o=a.Ct();null!==o&&(r=a.pn(i,o)),r=this.Bc.Oa(r,h,s),this.vt.kn(h,r,s),this.oa(),e||this.Rc.m(this.vt.xt(),{x:t,y:i},n)}ad(t,i,n){const s=n.vn(),e=s.Ct(),r=s.Rt(t,b(e)),h=this.yl.Va(i,!0),l=this.yl.It(b(h));this.ld(l,r,null,n,!0)}od(t){this.Zc().Cn(),this.oa(),t||this.Rc.m(null,null,null)}Jl(){const t=this.vt.Ht();if(null!==t){const i=this.vt.xn(),n=this.vt.Sn();this.ld(i,n,null,t)}this.vt.Vn()}_d(t,i,n){const s=this.yl.mn(0);void 0!==i&&void 0!==n&&this.yl.bt(i,n);const e=this.yl.mn(0),r=this.yl.Eu(),h=this.yl.Xs();if(null!==h&&null!==s&&null!==e){const i=h.Kr(r),l=this.q_.key(s)>this.q_.key(e),a=null!==t&&t>r&&!l,o=this.yl.W().allowShiftVisibleRangeOnWhitespaceReplacement,_=i&&(!(void 0===n)||o)&&this.yl.W().shiftVisibleRangeOnNewBar;if(a&&!_){const i=t-r;this.yl.Jn(this.yl.Hu()-i)}}this.yl.Yu(t)}ia(t){null!==t&&t.F_()}dr(t){const i=this.yc.find((i=>i.Uo().includes(t)));return void 0===i?null:i}Wu(){this.Ac.Vn(),this.yc.forEach((t=>t.F_())),this.Jl()}S(){this.yc.forEach((t=>t.S())),this.yc.length=0,this.cn.localization.priceFormatter=void 0,this.cn.localization.percentageFormatter=void 0,this.cn.localization.timeFormatter=void 0}ud(){return this.Oc}br(){return this.Oc.W()}g_(){return this.Pc}dd(t,i,n){const s=this.yc[0],e=this.fd(i,t,s,n);return this.Cc.push(e),1===this.Cc.length?this.Kl():this.Uh(),e}vd(t){const i=this.dr(t),n=this.Cc.indexOf(t);p(-1!==n,\"Series not found\"),this.Cc.splice(n,1),b(i).Zo(t),t.S&&t.S()}Xl(t,i){const n=b(this.dr(t));n.Zo(t);const s=this.Uc(i);if(null===s){const s=t.Xi();n.qo(t,i,s)}else{const e=s.Ht===n?t.Xi():void 0;s.Ht.qo(t,i,e)}}hc(){const t=ut.ss();t.$n(),this.Nc(t)}pd(t){const i=ut.ss();i.Yn(t),this.Nc(i)}Kn(){const t=ut.ss();t.Kn(),this.Nc(t)}Gn(t){const i=ut.ss();i.Gn(t),this.Nc(i)}Jn(t){const i=ut.ss();i.Jn(t),this.Nc(i)}Zn(t){const i=ut.ss();i.Zn(t),this.Nc(i)}Un(){const t=ut.ss();t.Un(),this.Nc(t)}md(){return this.cn.rightPriceScale.visible?\"right\":\"left\"}bd(){return this.Ec}q(){return this.zc}Bt(t){const i=this.Ec,n=this.zc;if(i===n)return i;if(t=Math.max(0,Math.min(100,Math.round(100*t))),null===this.Dc||this.Dc.Ps!==n||this.Dc.Rs!==i)this.Dc={Ps:n,Rs:i,wd:new Map};else{const i=this.Dc.wd.get(t);if(void 0!==i)return i}const s=function(t,i,n){const[s,e,r,h]=T(t),[l,a,o,_]=T(i),u=[M(s+n*(l-s)),M(e+n*(a-e)),M(r+n*(o-r)),x(h+n*(_-h))];return`rgba(${u[0]}, ${u[1]}, ${u[2]}, ${u[3]})`}(n,i,t/100);return this.Dc.wd.set(t,s),s}Gc(t,i){const n=new ut(i);if(null!==t){const s=this.yc.indexOf(t);n.Nn(s,{Fn:i})}return n}Fc(t,i){return void 0===i&&(i=2),this.Gc(this.dr(t),i)}Nc(t){this.Vc&&this.Vc(t),this.yc.forEach((t=>t.j_().qh().bt()))}fd(t,i,n,s){const e=new Gi(this,t,i,n,s),r=void 0!==t.priceScaleId?t.priceScaleId:this.md();return n.qo(e,r),_t(r)||e.$h(t),e}Lc(t){const i=this.cn.layout;return\"gradient\"===i.background.type?0===t?i.background.topColor:i.background.bottomColor:i.background.color}}function En(t){return!O(t)&&!A(t)}function Nn(t){return O(t)}!function(t){t[t.Disabled=0]=\"Disabled\",t[t.Continuous=1]=\"Continuous\",t[t.OnDataUpdate=2]=\"OnDataUpdate\"}(Bn||(Bn={})),function(t){t[t.LastBar=0]=\"LastBar\",t[t.LastVisible=1]=\"LastVisible\"}(An||(An={})),function(t){t.Solid=\"solid\",t.VerticalGradient=\"gradient\"}(In||(In={})),function(t){t[t.Year=0]=\"Year\",t[t.Month=1]=\"Month\",t[t.DayOfMonth=2]=\"DayOfMonth\",t[t.Time=3]=\"Time\",t[t.TimeWithSeconds=4]=\"TimeWithSeconds\"}(zn||(zn={}));const Fn=t=>t.getUTCFullYear();function Wn(t,i,n){return i.replace(/yyyy/g,(t=>dt(Fn(t),4))(t)).replace(/yy/g,(t=>dt(Fn(t)%100,2))(t)).replace(/MMMM/g,((t,i)=>new Date(t.getUTCFullYear(),t.getUTCMonth(),1).toLocaleString(i,{month:\"long\"}))(t,n)).replace(/MMM/g,((t,i)=>new Date(t.getUTCFullYear(),t.getUTCMonth(),1).toLocaleString(i,{month:\"short\"}))(t,n)).replace(/MM/g,(t=>dt((t=>t.getUTCMonth()+1)(t),2))(t)).replace(/dd/g,(t=>dt((t=>t.getUTCDate())(t),2))(t))}class jn{constructor(t=\"yyyy-MM-dd\",i=\"default\"){this.gd=t,this.Md=i}Y_(t){return Wn(t,this.gd,this.Md)}}class Hn{constructor(t){this.xd=t||\"%h:%m:%s\"}Y_(t){return this.xd.replace(\"%h\",dt(t.getUTCHours(),2)).replace(\"%m\",dt(t.getUTCMinutes(),2)).replace(\"%s\",dt(t.getUTCSeconds(),2))}}const $n={Sd:\"yyyy-MM-dd\",kd:\"%h:%m:%s\",yd:\" \",Cd:\"default\"};class Un{constructor(t={}){const i=Object.assign(Object.assign({},$n),t);this.Td=new jn(i.Sd,i.Cd),this.Pd=new Hn(i.kd),this.Rd=i.yd}Y_(t){return`${this.Td.Y_(t)}${this.Rd}${this.Pd.Y_(t)}`}}function qn(t){return 60*t*60*1e3}function Yn(t){return 60*t*1e3}const Zn=[{Dd:(Xn=1,1e3*Xn),Vd:10},{Dd:Yn(1),Vd:20},{Dd:Yn(5),Vd:21},{Dd:Yn(30),Vd:22},{Dd:qn(1),Vd:30},{Dd:qn(3),Vd:31},{Dd:qn(6),Vd:32},{Dd:qn(12),Vd:33}];var Xn;function Kn(t,i){if(t.getUTCFullYear()!==i.getUTCFullYear())return 70;if(t.getUTCMonth()!==i.getUTCMonth())return 60;if(t.getUTCDate()!==i.getUTCDate())return 50;for(let n=Zn.length-1;n>=0;--n)if(Math.floor(i.getTime()/Zn[n].Dd)!==Math.floor(t.getTime()/Zn[n].Dd))return Zn[n].Vd;return 0}function Gn(t){let i=t;if(A(t)&&(i=Qn(t)),!En(i))throw new Error(\"time must be of type BusinessDay\");const n=new Date(Date.UTC(i.year,i.month-1,i.day,0,0,0,0));return{Od:Math.round(n.getTime()/1e3),Bd:i}}function Jn(t){if(!Nn(t))throw new Error(\"time must be of type isUTCTimestamp\");return{Od:t}}function Qn(t){const i=new Date(t);if(isNaN(i.getTime()))throw new Error(`Invalid date string=${t}, expected format=yyyy-mm-dd`);return{day:i.getUTCDate(),month:i.getUTCMonth()+1,year:i.getUTCFullYear()}}function ts(t){A(t.time)&&(t.time=Qn(t.time))}class is{options(){return this.cn}setOptions(t){this.cn=t,this.updateFormatter(t.localization)}preprocessData(t){Array.isArray(t)?function(t){t.forEach(ts)}(t):ts(t)}createConverterToInternalObj(t){return b(function(t){return 0===t.length?null:En(t[0].time)||A(t[0].time)?Gn:Jn}(t))}key(t){return\"object\"==typeof t&&\"Od\"in t?t.Od:this.key(this.convertHorzItemToInternal(t))}cacheKey(t){const i=t;return void 0===i.Bd?new Date(1e3*i.Od).getTime():new Date(Date.UTC(i.Bd.year,i.Bd.month-1,i.Bd.day)).getTime()}convertHorzItemToInternal(t){return Nn(i=t)?Jn(i):En(i)?Gn(i):Gn(Qn(i));var i}updateFormatter(t){if(!this.cn)return;const i=t.dateFormat;this.cn.timeScale.timeVisible?this.Ad=new Un({Sd:i,kd:this.cn.timeScale.secondsVisible?\"%h:%m:%s\":\"%h:%m\",yd:\" \",Cd:t.locale}):this.Ad=new jn(i,t.locale)}formatHorzItem(t){const i=t;return this.Ad.Y_(new Date(1e3*i.Od))}formatTickmark(t,i){const n=function(t,i,n){switch(t){case 0:case 10:return i?n?4:3:2;case 20:case 21:case 22:case 30:case 31:case 32:case 33:return i?3:2;case 50:return 2;case 60:return 1;case 70:return 0}}(t.weight,this.cn.timeScale.timeVisible,this.cn.timeScale.secondsVisible),s=this.cn.timeScale;if(void 0!==s.tickMarkFormatter){const e=s.tickMarkFormatter(t.originalTime,n,i.locale);if(null!==e)return e}return function(t,i,n){const s={};switch(i){case 0:s.year=\"numeric\";break;case 1:s.month=\"short\";break;case 2:s.day=\"numeric\";break;case 3:s.hour12=!1,s.hour=\"2-digit\",s.minute=\"2-digit\";break;case 4:s.hour12=!1,s.hour=\"2-digit\",s.minute=\"2-digit\",s.second=\"2-digit\"}const e=void 0===t.Bd?new Date(1e3*t.Od):new Date(Date.UTC(t.Bd.year,t.Bd.month-1,t.Bd.day));return new Date(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds()).toLocaleString(n,s)}(t.time,n,i.locale)}maxTickMarkWeight(t){let i=t.reduce(Cn,t[0]).weight;return i>30&&i<50&&(i=30),i}fillWeightsForPoints(t,i){!function(t,i=0){if(0===t.length)return;let n=0===i?null:t[i-1].time.Od,s=null!==n?new Date(1e3*n):null,e=0;for(let r=i;r<t.length;++r){const i=t[r],h=new Date(1e3*i.time.Od);null!==s&&(i.timeWeight=Kn(h,s)),e+=i.time.Od-(n||i.time.Od),n=i.time.Od,s=h}if(0===i&&t.length>1){const i=Math.ceil(e/(t.length-1)),n=new Date(1e3*(t[0].time.Od-i));t[0].timeWeight=Kn(new Date(1e3*t[0].time.Od),n)}}(t,i)}static Id(t){return V({localization:{dateFormat:\"dd MMM 'yy\"}},null!=t?t:{})}}const ns=\"undefined\"!=typeof window;function ss(){return!!ns&&window.navigator.userAgent.toLowerCase().indexOf(\"firefox\")>-1}function es(){return!!ns&&/iPhone|iPad|iPod/.test(window.navigator.platform)}function rs(t){return t+t%2}function hs(t,i){return t.zd-i.zd}function ls(t,i,n){const s=(t.zd-i.zd)/(t.ot-i.ot);return Math.sign(s)*Math.min(Math.abs(s),n)}class as{constructor(t,i,n,s){this.Ld=null,this.Ed=null,this.Nd=null,this.Fd=null,this.Wd=null,this.jd=0,this.Hd=0,this.$d=t,this.Ud=i,this.qd=n,this.rs=s}Yd(t,i){if(null!==this.Ld){if(this.Ld.ot===i)return void(this.Ld.zd=t);if(Math.abs(this.Ld.zd-t)<this.rs)return}this.Fd=this.Nd,this.Nd=this.Ed,this.Ed=this.Ld,this.Ld={ot:i,zd:t}}Vr(t,i){if(null===this.Ld||null===this.Ed)return;if(i-this.Ld.ot>50)return;let n=0;const s=ls(this.Ld,this.Ed,this.Ud),e=hs(this.Ld,this.Ed),r=[s],h=[e];if(n+=e,null!==this.Nd){const t=ls(this.Ed,this.Nd,this.Ud);if(Math.sign(t)===Math.sign(s)){const i=hs(this.Ed,this.Nd);if(r.push(t),h.push(i),n+=i,null!==this.Fd){const t=ls(this.Nd,this.Fd,this.Ud);if(Math.sign(t)===Math.sign(s)){const i=hs(this.Nd,this.Fd);r.push(t),h.push(i),n+=i}}}}let l=0;for(let t=0;t<r.length;++t)l+=h[t]/n*r[t];Math.abs(l)<this.$d||(this.Wd={zd:t,ot:i},this.Hd=l,this.jd=function(t,i){const n=Math.log(i);return Math.log(1*n/-t)/n}(Math.abs(l),this.qd))}tc(t){const i=b(this.Wd),n=t-i.ot;return i.zd+this.Hd*(Math.pow(this.qd,n)-1)/Math.log(this.qd)}Qu(t){return null===this.Wd||this.Zd(t)===this.jd}Zd(t){const i=t-b(this.Wd).ot;return Math.min(i,this.jd)}}class os{constructor(t,i){this.Xd=void 0,this.Kd=void 0,this.Gd=void 0,this.en=!1,this.Jd=t,this.Qd=i,this.tf()}bt(){this.tf()}if(){this.Xd&&this.Jd.removeChild(this.Xd),this.Kd&&this.Jd.removeChild(this.Kd),this.Xd=void 0,this.Kd=void 0}nf(){return this.en!==this.sf()||this.Gd!==this.ef()}ef(){return P(T(this.Qd.W().layout.textColor))>160?\"dark\":\"light\"}sf(){return this.Qd.W().layout.attributionLogo}rf(){const t=new URL(location.href);return t.hostname?\"&utm_source=\"+t.hostname+t.pathname:\"\"}tf(){this.nf()&&(this.if(),this.en=this.sf(),this.en&&(this.Gd=this.ef(),this.Kd=document.createElement(\"style\"),this.Kd.innerText=\"a#tv-attr-logo{--fill:#131722;--stroke:#fff;position:absolute;left:10px;bottom:10px;height:19px;width:35px;margin:0;padding:0;border:0;z-index:3;}a#tv-attr-logo[data-dark]{--fill:#D1D4DC;--stroke:#131722;}\",this.Xd=document.createElement(\"a\"),this.Xd.href=`https://www.tradingview.com/?utm_medium=lwc-link&utm_campaign=lwc-chart${this.rf()}`,this.Xd.title=\"Charting by TradingView\",this.Xd.id=\"tv-attr-logo\",this.Xd.target=\"_blank\",this.Xd.innerHTML='<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 35 19\" width=\"35\" height=\"19\" fill=\"none\"><g fill-rule=\"evenodd\" clip-path=\"url(#a)\" clip-rule=\"evenodd\"><path fill=\"var(--stroke)\" d=\"M2 0H0v10h6v9h21.4l.5-1.3 6-15 1-2.7H23.7l-.5 1.3-.2.6a5 5 0 0 0-7-.9V0H2Zm20 17h4l5.2-13 .8-2h-7l-1 2.5-.2.5-1.5 3.8-.3.7V17Zm-.8-10a3 3 0 0 0 .7-2.7A3 3 0 1 0 16.8 7h4.4ZM14 7V2H2v6h6v9h4V7h2Z\"/><path fill=\"var(--fill)\" d=\"M14 2H2v6h6v9h6V2Zm12 15h-7l6-15h7l-6 15Zm-7-9a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z\"/></g><defs><clipPath id=\"a\"><path fill=\"var(--stroke)\" d=\"M0 0h35v19H0z\"/></clipPath></defs></svg>',this.Xd.toggleAttribute(\"data-dark\",\"dark\"===this.Gd),this.Jd.appendChild(this.Kd),this.Jd.appendChild(this.Xd)))}}function _s(t,n){const s=b(t.ownerDocument).createElement(\"canvas\");t.appendChild(s);const e=i(s,{type:\"device-pixel-content-box\",options:{allowResizeObserver:!1},transform:(t,i)=>({width:Math.max(t.width,i.width),height:Math.max(t.height,i.height)})});return e.resizeCanvasElement(n),e}function us(t){var i;t.width=1,t.height=1,null===(i=t.getContext(\"2d\"))||void 0===i||i.clearRect(0,0,1,1)}function cs(t,i,n,s){t.gl&&t.gl(i,n,s)}function ds(t,i,n,s){t.X(i,n,s)}function fs(t,i,n,s){const e=t(n,s);for(const t of e){const n=t.gt();null!==n&&i(n)}}function vs(t){ns&&void 0!==window.chrome&&t.addEventListener(\"mousedown\",(t=>{if(1===t.button)return t.preventDefault(),!1}))}class ps{constructor(t,i,n){this.hf=0,this.lf=null,this.af={nt:Number.NEGATIVE_INFINITY,st:Number.POSITIVE_INFINITY},this._f=0,this.uf=null,this.cf={nt:Number.NEGATIVE_INFINITY,st:Number.POSITIVE_INFINITY},this.df=null,this.ff=!1,this.vf=null,this.pf=null,this.mf=!1,this.bf=!1,this.wf=!1,this.gf=null,this.Mf=null,this.xf=null,this.Sf=null,this.kf=null,this.yf=null,this.Cf=null,this.Tf=0,this.Pf=!1,this.Rf=!1,this.Df=!1,this.Vf=0,this.Of=null,this.Bf=!es(),this.Af=t=>{this.If(t)},this.zf=t=>{if(this.Lf(t)){const i=this.Ef(t);if(++this._f,this.uf&&this._f>1){const{Nf:n}=this.Ff(ws(t),this.cf);n<30&&!this.wf&&this.Wf(i,this.Hf.jf),this.$f()}}else{const i=this.Ef(t);if(++this.hf,this.lf&&this.hf>1){const{Nf:n}=this.Ff(ws(t),this.af);n<5&&!this.bf&&this.Uf(i,this.Hf.qf),this.Yf()}}},this.Zf=t,this.Hf=i,this.cn=n,this.Xf()}S(){null!==this.gf&&(this.gf(),this.gf=null),null!==this.Mf&&(this.Mf(),this.Mf=null),null!==this.Sf&&(this.Sf(),this.Sf=null),null!==this.kf&&(this.kf(),this.kf=null),null!==this.yf&&(this.yf(),this.yf=null),null!==this.xf&&(this.xf(),this.xf=null),this.Kf(),this.Yf()}Gf(t){this.Sf&&this.Sf();const i=this.Jf.bind(this);if(this.Sf=()=>{this.Zf.removeEventListener(\"mousemove\",i)},this.Zf.addEventListener(\"mousemove\",i),this.Lf(t))return;const n=this.Ef(t);this.Uf(n,this.Hf.Qf),this.Bf=!0}Yf(){null!==this.lf&&clearTimeout(this.lf),this.hf=0,this.lf=null,this.af={nt:Number.NEGATIVE_INFINITY,st:Number.POSITIVE_INFINITY}}$f(){null!==this.uf&&clearTimeout(this.uf),this._f=0,this.uf=null,this.cf={nt:Number.NEGATIVE_INFINITY,st:Number.POSITIVE_INFINITY}}Jf(t){if(this.Df||null!==this.pf)return;if(this.Lf(t))return;const i=this.Ef(t);this.Uf(i,this.Hf.tv),this.Bf=!0}iv(t){const i=Ms(t.changedTouches,b(this.Of));if(null===i)return;if(this.Vf=gs(t),null!==this.Cf)return;if(this.Rf)return;this.Pf=!0;const n=this.Ff(ws(i),b(this.pf)),{nv:s,sv:e,Nf:r}=n;if(this.mf||!(r<5)){if(!this.mf){const t=.5*s,i=e>=t&&!this.cn.ev(),n=t>e&&!this.cn.rv();i||n||(this.Rf=!0),this.mf=!0,this.wf=!0,this.Kf(),this.$f()}if(!this.Rf){const n=this.Ef(t,i);this.Wf(n,this.Hf.hv),bs(t)}}}lv(t){if(0!==t.button)return;const i=this.Ff(ws(t),b(this.vf)),{Nf:n}=i;if(n>=5&&(this.bf=!0,this.Yf()),this.bf){const i=this.Ef(t);this.Uf(i,this.Hf.av)}}Ff(t,i){const n=Math.abs(i.nt-t.nt),s=Math.abs(i.st-t.st);return{nv:n,sv:s,Nf:n+s}}ov(t){let i=Ms(t.changedTouches,b(this.Of));if(null===i&&0===t.touches.length&&(i=t.changedTouches[0]),null===i)return;this.Of=null,this.Vf=gs(t),this.Kf(),this.pf=null,this.yf&&(this.yf(),this.yf=null);const n=this.Ef(t,i);if(this.Wf(n,this.Hf._v),++this._f,this.uf&&this._f>1){const{Nf:t}=this.Ff(ws(i),this.cf);t<30&&!this.wf&&this.Wf(n,this.Hf.jf),this.$f()}else this.wf||(this.Wf(n,this.Hf.uv),this.Hf.uv&&bs(t));0===this._f&&bs(t),0===t.touches.length&&this.ff&&(this.ff=!1,bs(t))}If(t){if(0!==t.button)return;const i=this.Ef(t);if(this.vf=null,this.Df=!1,this.kf&&(this.kf(),this.kf=null),ss()){this.Zf.ownerDocument.documentElement.removeEventListener(\"mouseleave\",this.Af)}if(!this.Lf(t))if(this.Uf(i,this.Hf.cv),++this.hf,this.lf&&this.hf>1){const{Nf:n}=this.Ff(ws(t),this.af);n<5&&!this.bf&&this.Uf(i,this.Hf.qf),this.Yf()}else this.bf||this.Uf(i,this.Hf.dv)}Kf(){null!==this.df&&(clearTimeout(this.df),this.df=null)}fv(t){if(null!==this.Of)return;const i=t.changedTouches[0];this.Of=i.identifier,this.Vf=gs(t);const n=this.Zf.ownerDocument.documentElement;this.wf=!1,this.mf=!1,this.Rf=!1,this.pf=ws(i),this.yf&&(this.yf(),this.yf=null);{const i=this.iv.bind(this),s=this.ov.bind(this);this.yf=()=>{n.removeEventListener(\"touchmove\",i),n.removeEventListener(\"touchend\",s)},n.addEventListener(\"touchmove\",i,{passive:!1}),n.addEventListener(\"touchend\",s,{passive:!1}),this.Kf(),this.df=setTimeout(this.vv.bind(this,t),240)}const s=this.Ef(t,i);this.Wf(s,this.Hf.pv),this.uf||(this._f=0,this.uf=setTimeout(this.$f.bind(this),500),this.cf=ws(i))}mv(t){if(0!==t.button)return;const i=this.Zf.ownerDocument.documentElement;ss()&&i.addEventListener(\"mouseleave\",this.Af),this.bf=!1,this.vf=ws(t),this.kf&&(this.kf(),this.kf=null);{const t=this.lv.bind(this),n=this.If.bind(this);this.kf=()=>{i.removeEventListener(\"mousemove\",t),i.removeEventListener(\"mouseup\",n)},i.addEventListener(\"mousemove\",t),i.addEventListener(\"mouseup\",n)}if(this.Df=!0,this.Lf(t))return;const n=this.Ef(t);this.Uf(n,this.Hf.bv),this.lf||(this.hf=0,this.lf=setTimeout(this.Yf.bind(this),500),this.af=ws(t))}Xf(){this.Zf.addEventListener(\"mouseenter\",this.Gf.bind(this)),this.Zf.addEventListener(\"touchcancel\",this.Kf.bind(this));{const t=this.Zf.ownerDocument,i=t=>{this.Hf.wv&&(t.composed&&this.Zf.contains(t.composedPath()[0])||t.target&&this.Zf.contains(t.target)||this.Hf.wv())};this.Mf=()=>{t.removeEventListener(\"touchstart\",i)},this.gf=()=>{t.removeEventListener(\"mousedown\",i)},t.addEventListener(\"mousedown\",i),t.addEventListener(\"touchstart\",i,{passive:!0})}es()&&(this.xf=()=>{this.Zf.removeEventListener(\"dblclick\",this.zf)},this.Zf.addEventListener(\"dblclick\",this.zf)),this.Zf.addEventListener(\"mouseleave\",this.gv.bind(this)),this.Zf.addEventListener(\"touchstart\",this.fv.bind(this),{passive:!0}),vs(this.Zf),this.Zf.addEventListener(\"mousedown\",this.mv.bind(this)),this.Mv(),this.Zf.addEventListener(\"touchmove\",(()=>{}),{passive:!1})}Mv(){void 0===this.Hf.xv&&void 0===this.Hf.Sv&&void 0===this.Hf.kv||(this.Zf.addEventListener(\"touchstart\",(t=>this.yv(t.touches)),{passive:!0}),this.Zf.addEventListener(\"touchmove\",(t=>{if(2===t.touches.length&&null!==this.Cf&&void 0!==this.Hf.Sv){const i=ms(t.touches[0],t.touches[1])/this.Tf;this.Hf.Sv(this.Cf,i),bs(t)}}),{passive:!1}),this.Zf.addEventListener(\"touchend\",(t=>{this.yv(t.touches)})))}yv(t){1===t.length&&(this.Pf=!1),2!==t.length||this.Pf||this.ff?this.Cv():this.Tv(t)}Tv(t){const i=this.Zf.getBoundingClientRect()||{left:0,top:0};this.Cf={nt:(t[0].clientX-i.left+(t[1].clientX-i.left))/2,st:(t[0].clientY-i.top+(t[1].clientY-i.top))/2},this.Tf=ms(t[0],t[1]),void 0!==this.Hf.xv&&this.Hf.xv(),this.Kf()}Cv(){null!==this.Cf&&(this.Cf=null,void 0!==this.Hf.kv&&this.Hf.kv())}gv(t){if(this.Sf&&this.Sf(),this.Lf(t))return;if(!this.Bf)return;const i=this.Ef(t);this.Uf(i,this.Hf.Pv),this.Bf=!es()}vv(t){const i=Ms(t.touches,b(this.Of));if(null===i)return;const n=this.Ef(t,i);this.Wf(n,this.Hf.Rv),this.wf=!0,this.ff=!0}Lf(t){return t.sourceCapabilities&&void 0!==t.sourceCapabilities.firesTouchEvents?t.sourceCapabilities.firesTouchEvents:gs(t)<this.Vf+500}Wf(t,i){i&&i.call(this.Hf,t)}Uf(t,i){i&&i.call(this.Hf,t)}Ef(t,i){const n=i||t,s=this.Zf.getBoundingClientRect()||{left:0,top:0};return{clientX:n.clientX,clientY:n.clientY,pageX:n.pageX,pageY:n.pageY,screenX:n.screenX,screenY:n.screenY,localX:n.clientX-s.left,localY:n.clientY-s.top,ctrlKey:t.ctrlKey,altKey:t.altKey,shiftKey:t.shiftKey,metaKey:t.metaKey,Dv:!t.type.startsWith(\"mouse\")&&\"contextmenu\"!==t.type&&\"click\"!==t.type,Vv:t.type,Ov:n.target,Bv:t.view,Av:()=>{\"touchstart\"!==t.type&&bs(t)}}}}function ms(t,i){const n=t.clientX-i.clientX,s=t.clientY-i.clientY;return Math.sqrt(n*n+s*s)}function bs(t){t.cancelable&&t.preventDefault()}function ws(t){return{nt:t.pageX,st:t.pageY}}function gs(t){return t.timeStamp||performance.now()}function Ms(t,i){for(let n=0;n<t.length;++n)if(t[n].identifier===i)return t[n];return null}function xs(t){return{Hc:t.Hc,Iv:{gr:t.zv.externalId},Lv:t.zv.cursorStyle}}function Ss(t,i,n){for(const s of t){const t=s.gt();if(null!==t&&t.wr){const e=t.wr(i,n);if(null!==e)return{Bv:s,Iv:e}}}return null}function ks(t,i){return n=>{var s,e,r,h;return(null!==(e=null===(s=n.Dt())||void 0===s?void 0:s.Pa())&&void 0!==e?e:\"\")!==i?[]:null!==(h=null===(r=n.da)||void 0===r?void 0:r.call(n,t))&&void 0!==h?h:[]}}function ys(t,i,n,s){if(!t.length)return;let e=0;const r=n/2,h=t[0].At(s,!0);let l=1===i?r-(t[0].Vi()-h/2):t[0].Vi()-h/2-r;l=Math.max(0,l);for(let r=1;r<t.length;r++){const h=t[r],a=t[r-1],o=a.At(s,!1),_=h.Vi(),u=a.Vi();if(1===i?_>u-o:_<u+o){const s=u-o*i;h.Oi(s);const r=s-i*o/2;if((1===i?r<0:r>n)&&l>0){const s=1===i?-1-r:r-n,h=Math.min(s,l);for(let n=e;n<t.length;n++)t[n].Oi(t[n].Vi()+i*h);l-=h}}else e=r,l=1===i?u-o-_:_-(u+o)}}class Cs{constructor(i,n,s,e){this.Li=null,this.Ev=null,this.Nv=!1,this.Fv=new ni(200),this.Qr=null,this.Wv=0,this.jv=!1,this.Hv=()=>{this.jv||this.tn.$v().$t().Uh()},this.Uv=()=>{this.jv||this.tn.$v().$t().Uh()},this.tn=i,this.cn=n,this.ko=n.layout,this.Oc=s,this.qv=\"left\"===e,this.Yv=ks(\"normal\",e),this.Zv=ks(\"top\",e),this.Xv=ks(\"bottom\",e),this.Kv=document.createElement(\"div\"),this.Kv.style.height=\"100%\",this.Kv.style.overflow=\"hidden\",this.Kv.style.width=\"25px\",this.Kv.style.left=\"0\",this.Kv.style.position=\"relative\",this.Gv=_s(this.Kv,t({width:16,height:16})),this.Gv.subscribeSuggestedBitmapSizeChanged(this.Hv);const r=this.Gv.canvasElement;r.style.position=\"absolute\",r.style.zIndex=\"1\",r.style.left=\"0\",r.style.top=\"0\",this.Jv=_s(this.Kv,t({width:16,height:16})),this.Jv.subscribeSuggestedBitmapSizeChanged(this.Uv);const h=this.Jv.canvasElement;h.style.position=\"absolute\",h.style.zIndex=\"2\",h.style.left=\"0\",h.style.top=\"0\";const l={bv:this.Qv.bind(this),pv:this.Qv.bind(this),av:this.tp.bind(this),hv:this.tp.bind(this),wv:this.ip.bind(this),cv:this.np.bind(this),_v:this.np.bind(this),qf:this.sp.bind(this),jf:this.sp.bind(this),Qf:this.ep.bind(this),Pv:this.rp.bind(this)};this.hp=new ps(this.Jv.canvasElement,l,{ev:()=>!this.cn.handleScroll.vertTouchDrag,rv:()=>!0})}S(){this.hp.S(),this.Jv.unsubscribeSuggestedBitmapSizeChanged(this.Uv),us(this.Jv.canvasElement),this.Jv.dispose(),this.Gv.unsubscribeSuggestedBitmapSizeChanged(this.Hv),us(this.Gv.canvasElement),this.Gv.dispose(),null!==this.Li&&this.Li.Ko().p(this),this.Li=null}lp(){return this.Kv}P(){return this.ko.fontSize}ap(){const t=this.Oc.W();return this.Qr!==t.R&&(this.Fv.nr(),this.Qr=t.R),t}op(){if(null===this.Li)return 0;let t=0;const i=this.ap(),n=b(this.Gv.canvasElement.getContext(\"2d\"));n.save();const s=this.Li.Ha();n.font=this._p(),s.length>0&&(t=Math.max(this.Fv.xi(n,s[0].so),this.Fv.xi(n,s[s.length-1].so)));const e=this.up();for(let i=e.length;i--;){const s=this.Fv.xi(n,e[i].Kt());s>t&&(t=s)}const r=this.Li.Ct();if(null!==r&&null!==this.Ev&&(2!==(h=this.cn.crosshair).mode&&h.horzLine.visible&&h.horzLine.labelVisible)){const i=this.Li.pn(1,r),s=this.Li.pn(this.Ev.height-2,r);t=Math.max(t,this.Fv.xi(n,this.Li.Fi(Math.floor(Math.min(i,s))+.11111111111111,r)),this.Fv.xi(n,this.Li.Fi(Math.ceil(Math.max(i,s))-.11111111111111,r)))}var h;n.restore();const l=t||34;return rs(Math.ceil(i.C+i.T+i.A+i.I+5+l))}cp(t){null!==this.Ev&&n(this.Ev,t)||(this.Ev=t,this.jv=!0,this.Gv.resizeCanvasElement(t),this.Jv.resizeCanvasElement(t),this.jv=!1,this.Kv.style.width=`${t.width}px`,this.Kv.style.height=`${t.height}px`)}dp(){return b(this.Ev).width}Gi(t){this.Li!==t&&(null!==this.Li&&this.Li.Ko().p(this),this.Li=t,t.Ko().l(this.fo.bind(this),this))}Dt(){return this.Li}nr(){const t=this.tn.fp();this.tn.$v().$t().E_(t,b(this.Dt()))}vp(t){if(null===this.Ev)return;if(1!==t){this.pp(),this.Gv.applySuggestedBitmapSize();const t=s(this.Gv);null!==t&&(t.useBitmapCoordinateSpace((t=>{this.mp(t),this.Ie(t)})),this.tn.bp(t,this.Xv),this.wp(t),this.tn.bp(t,this.Yv),this.gp(t))}this.Jv.applySuggestedBitmapSize();const i=s(this.Jv);null!==i&&(i.useBitmapCoordinateSpace((({context:t,bitmapSize:i})=>{t.clearRect(0,0,i.width,i.height)})),this.Mp(i),this.tn.bp(i,this.Zv))}xp(){return this.Gv.bitmapSize}Sp(t,i,n){const s=this.xp();s.width>0&&s.height>0&&t.drawImage(this.Gv.canvasElement,i,n)}bt(){var t;null===(t=this.Li)||void 0===t||t.Ha()}Qv(t){if(null===this.Li||this.Li.Ni()||!this.cn.handleScale.axisPressedMouseMove.price)return;const i=this.tn.$v().$t(),n=this.tn.fp();this.Nv=!0,i.V_(n,this.Li,t.localY)}tp(t){if(null===this.Li||!this.cn.handleScale.axisPressedMouseMove.price)return;const i=this.tn.$v().$t(),n=this.tn.fp(),s=this.Li;i.O_(n,s,t.localY)}ip(){if(null===this.Li||!this.cn.handleScale.axisPressedMouseMove.price)return;const t=this.tn.$v().$t(),i=this.tn.fp(),n=this.Li;this.Nv&&(this.Nv=!1,t.B_(i,n))}np(t){if(null===this.Li||!this.cn.handleScale.axisPressedMouseMove.price)return;const i=this.tn.$v().$t(),n=this.tn.fp();this.Nv=!1,i.B_(n,this.Li)}sp(t){this.cn.handleScale.axisDoubleClickReset.price&&this.nr()}ep(t){if(null===this.Li)return;!this.tn.$v().$t().W().handleScale.axisPressedMouseMove.price||this.Li.Mh()||this.Li.Oo()||this.kp(1)}rp(t){this.kp(0)}up(){const t=[],i=null===this.Li?void 0:this.Li;return(n=>{for(let s=0;s<n.length;++s){const e=n[s].Rn(this.tn.fp(),i);for(let i=0;i<e.length;i++)t.push(e[i])}})(this.tn.fp().Uo()),t}mp({context:t,bitmapSize:i}){const{width:n,height:s}=i,e=this.tn.fp().$t(),r=e.q(),h=e.bd();r===h?G(t,0,0,n,s,r):tt(t,0,0,n,s,r,h)}Ie({context:t,bitmapSize:i,horizontalPixelRatio:n}){if(null===this.Ev||null===this.Li||!this.Li.W().borderVisible)return;t.fillStyle=this.Li.W().borderColor;const s=Math.max(1,Math.floor(this.ap().C*n));let e;e=this.qv?i.width-s:0,t.fillRect(e,0,s,i.height)}wp(t){if(null===this.Ev||null===this.Li)return;const i=this.Li.Ha(),n=this.Li.W(),s=this.ap(),e=this.qv?this.Ev.width-s.T:0;n.borderVisible&&n.ticksVisible&&t.useBitmapCoordinateSpace((({context:t,horizontalPixelRatio:r,verticalPixelRatio:h})=>{t.fillStyle=n.borderColor;const l=Math.max(1,Math.floor(h)),a=Math.floor(.5*h),o=Math.round(s.T*r);t.beginPath();for(const n of i)t.rect(Math.floor(e*r),Math.round(n.Ea*h)-a,o,l);t.fill()})),t.useMediaCoordinateSpace((({context:t})=>{var r;t.font=this._p(),t.fillStyle=null!==(r=n.textColor)&&void 0!==r?r:this.ko.textColor,t.textAlign=this.qv?\"right\":\"left\",t.textBaseline=\"middle\";const h=this.qv?Math.round(e-s.A):Math.round(e+s.T+s.A),l=i.map((i=>this.Fv.Mi(t,i.so)));for(let n=i.length;n--;){const s=i[n];t.fillText(s.so,h,s.Ea+l[n])}}))}pp(){if(null===this.Ev||null===this.Li)return;const t=[],i=this.Li.Uo().slice(),n=this.tn.fp(),s=this.ap();this.Li===n.pr()&&this.tn.fp().Uo().forEach((t=>{n.vr(t)&&i.push(t)}));const e=this.Li;i.forEach((i=>{i.Rn(n,e).forEach((i=>{i.Oi(null),i.Bi()&&t.push(i)}))})),t.forEach((t=>t.Oi(t.ki())));this.Li.W().alignLabels&&this.yp(t,s)}yp(t,i){if(null===this.Ev)return;const n=this.Ev.height/2,s=t.filter((t=>t.ki()<=n)),e=t.filter((t=>t.ki()>n));s.sort(((t,i)=>i.ki()-t.ki())),e.sort(((t,i)=>t.ki()-i.ki()));for(const n of t){const t=Math.floor(n.At(i)/2),s=n.ki();s>-t&&s<t&&n.Oi(t),s>this.Ev.height-t&&s<this.Ev.height+t&&n.Oi(this.Ev.height-t)}ys(s,1,this.Ev.height,i),ys(e,-1,this.Ev.height,i)}gp(t){if(null===this.Ev)return;const i=this.up(),n=this.ap(),s=this.qv?\"right\":\"left\";i.forEach((i=>{if(i.Ai()){i.gt(b(this.Li)).X(t,n,this.Fv,s)}}))}Mp(t){if(null===this.Ev||null===this.Li)return;const i=this.tn.$v().$t(),n=[],s=this.tn.fp(),e=i.Zc().Rn(s,this.Li);e.length&&n.push(e);const r=this.ap(),h=this.qv?\"right\":\"left\";n.forEach((i=>{i.forEach((i=>{i.gt(b(this.Li)).X(t,r,this.Fv,h)}))}))}kp(t){this.Kv.style.cursor=1===t?\"ns-resize\":\"default\"}fo(){const t=this.op();this.Wv<t&&this.tn.$v().$t().Kl(),this.Wv=t}_p(){return F(this.ko.fontSize,this.ko.fontFamily)}}function Ts(t,i){var n,s;return null!==(s=null===(n=t.ua)||void 0===n?void 0:n.call(t,i))&&void 0!==s?s:[]}function Ps(t,i){var n,s;return null!==(s=null===(n=t.Pn)||void 0===n?void 0:n.call(t,i))&&void 0!==s?s:[]}function Rs(t,i){var n,s;return null!==(s=null===(n=t.Ji)||void 0===n?void 0:n.call(t,i))&&void 0!==s?s:[]}function Ds(t,i){var n,s;return null!==(s=null===(n=t.aa)||void 0===n?void 0:n.call(t,i))&&void 0!==s?s:[]}class Vs{constructor(i,n){this.Ev=t({width:0,height:0}),this.Cp=null,this.Tp=null,this.Pp=null,this.Rp=null,this.Dp=!1,this.Vp=new D,this.Op=new D,this.Bp=0,this.Ap=!1,this.Ip=null,this.zp=!1,this.Lp=null,this.Ep=null,this.jv=!1,this.Hv=()=>{this.jv||null===this.Np||this.$i().Uh()},this.Uv=()=>{this.jv||null===this.Np||this.$i().Uh()},this.Qd=i,this.Np=n,this.Np.W_().l(this.Fp.bind(this),this,!0),this.Wp=document.createElement(\"td\"),this.Wp.style.padding=\"0\",this.Wp.style.position=\"relative\";const s=document.createElement(\"div\");s.style.width=\"100%\",s.style.height=\"100%\",s.style.position=\"relative\",s.style.overflow=\"hidden\",this.jp=document.createElement(\"td\"),this.jp.style.padding=\"0\",this.Hp=document.createElement(\"td\"),this.Hp.style.padding=\"0\",this.Wp.appendChild(s),this.Gv=_s(s,t({width:16,height:16})),this.Gv.subscribeSuggestedBitmapSizeChanged(this.Hv);const e=this.Gv.canvasElement;e.style.position=\"absolute\",e.style.zIndex=\"1\",e.style.left=\"0\",e.style.top=\"0\",this.Jv=_s(s,t({width:16,height:16})),this.Jv.subscribeSuggestedBitmapSizeChanged(this.Uv);const r=this.Jv.canvasElement;r.style.position=\"absolute\",r.style.zIndex=\"2\",r.style.left=\"0\",r.style.top=\"0\",this.$p=document.createElement(\"tr\"),this.$p.appendChild(this.jp),this.$p.appendChild(this.Wp),this.$p.appendChild(this.Hp),this.Up(),this.hp=new ps(this.Jv.canvasElement,this,{ev:()=>null===this.Ip&&!this.Qd.W().handleScroll.vertTouchDrag,rv:()=>null===this.Ip&&!this.Qd.W().handleScroll.horzTouchDrag})}S(){null!==this.Cp&&this.Cp.S(),null!==this.Tp&&this.Tp.S(),this.Pp=null,this.Jv.unsubscribeSuggestedBitmapSizeChanged(this.Uv),us(this.Jv.canvasElement),this.Jv.dispose(),this.Gv.unsubscribeSuggestedBitmapSizeChanged(this.Hv),us(this.Gv.canvasElement),this.Gv.dispose(),null!==this.Np&&this.Np.W_().p(this),this.hp.S()}fp(){return b(this.Np)}qp(t){var i,n;null!==this.Np&&this.Np.W_().p(this),this.Np=t,null!==this.Np&&this.Np.W_().l(Vs.prototype.Fp.bind(this),this,!0),this.Up(),this.Qd.Yp().indexOf(this)===this.Qd.Yp().length-1?(this.Pp=null!==(i=this.Pp)&&void 0!==i?i:new os(this.Wp,this.Qd),this.Pp.bt()):(null===(n=this.Pp)||void 0===n||n.if(),this.Pp=null)}$v(){return this.Qd}lp(){return this.$p}Up(){if(null!==this.Np&&(this.Zp(),0!==this.$i().wt().length)){if(null!==this.Cp){const t=this.Np.R_();this.Cp.Gi(b(t))}if(null!==this.Tp){const t=this.Np.D_();this.Tp.Gi(b(t))}}}Xp(){null!==this.Cp&&this.Cp.bt(),null!==this.Tp&&this.Tp.bt()}M_(){return null!==this.Np?this.Np.M_():0}x_(t){this.Np&&this.Np.x_(t)}Qf(t){if(!this.Np)return;this.Kp();const i=t.localX,n=t.localY;this.Gp(i,n,t)}bv(t){this.Kp(),this.Jp(),this.Gp(t.localX,t.localY,t)}tv(t){var i;if(!this.Np)return;this.Kp();const n=t.localX,s=t.localY;this.Gp(n,s,t);const e=this.wr(n,s);this.Qd.Qp(null!==(i=null==e?void 0:e.Lv)&&void 0!==i?i:null),this.$i().jc(e&&{Hc:e.Hc,Iv:e.Iv})}dv(t){null!==this.Np&&(this.Kp(),this.tm(t))}qf(t){null!==this.Np&&this.im(this.Op,t)}jf(t){this.qf(t)}av(t){this.Kp(),this.nm(t),this.Gp(t.localX,t.localY,t)}cv(t){null!==this.Np&&(this.Kp(),this.Ap=!1,this.sm(t))}uv(t){null!==this.Np&&this.tm(t)}Rv(t){if(this.Ap=!0,null===this.Ip){const i={x:t.localX,y:t.localY};this.rm(i,i,t)}}Pv(t){null!==this.Np&&(this.Kp(),this.Np.$t().jc(null),this.hm())}lm(){return this.Vp}am(){return this.Op}xv(){this.Bp=1,this.$i().Un()}Sv(t,i){if(!this.Qd.W().handleScale.pinch)return;const n=5*(i-this.Bp);this.Bp=i,this.$i().Qc(t.nt,n)}pv(t){this.Ap=!1,this.zp=null!==this.Ip,this.Jp();const i=this.$i().Zc();null!==this.Ip&&i.yt()&&(this.Lp={x:i.Yt(),y:i.Zt()},this.Ip={x:t.localX,y:t.localY})}hv(t){if(null===this.Np)return;const i=t.localX,n=t.localY;if(null===this.Ip)this.nm(t);else{this.zp=!1;const s=b(this.Lp),e=s.x+(i-this.Ip.x),r=s.y+(n-this.Ip.y);this.Gp(e,r,t)}}_v(t){0===this.$v().W().trackingMode.exitMode&&(this.zp=!0),this.om(),this.sm(t)}wr(t,i){const n=this.Np;return null===n?null:function(t,i,n){const s=t.Uo(),e=function(t,i,n){var s,e;let r,h;for(const o of t){const t=null!==(e=null===(s=o.va)||void 0===s?void 0:s.call(o,i,n))&&void 0!==e?e:[];for(const i of t)l=i.zOrder,(!(a=null==r?void 0:r.zOrder)||\"top\"===l&&\"top\"!==a||\"normal\"===l&&\"bottom\"===a)&&(r=i,h=o)}var l,a;return r&&h?{zv:r,Hc:h}:null}(s,i,n);if(\"top\"===(null==e?void 0:e.zv.zOrder))return xs(e);for(const r of s){if(e&&e.Hc===r&&\"bottom\"!==e.zv.zOrder&&!e.zv.isBackground)return xs(e);const s=Ss(r.Pn(t),i,n);if(null!==s)return{Hc:r,Bv:s.Bv,Iv:s.Iv};if(e&&e.Hc===r&&\"bottom\"!==e.zv.zOrder&&e.zv.isBackground)return xs(e)}return(null==e?void 0:e.zv)?xs(e):null}(n,t,i)}_m(i,n){b(\"left\"===n?this.Cp:this.Tp).cp(t({width:i,height:this.Ev.height}))}um(){return this.Ev}cp(t){n(this.Ev,t)||(this.Ev=t,this.jv=!0,this.Gv.resizeCanvasElement(t),this.Jv.resizeCanvasElement(t),this.jv=!1,this.Wp.style.width=t.width+\"px\",this.Wp.style.height=t.height+\"px\")}dm(){const t=b(this.Np);t.P_(t.R_()),t.P_(t.D_());for(const i of t.Ba())if(t.vr(i)){const n=i.Dt();null!==n&&t.P_(n),i.Vn()}}xp(){return this.Gv.bitmapSize}Sp(t,i,n){const s=this.xp();s.width>0&&s.height>0&&t.drawImage(this.Gv.canvasElement,i,n)}vp(t){if(0===t)return;if(null===this.Np)return;if(t>1&&this.dm(),null!==this.Cp&&this.Cp.vp(t),null!==this.Tp&&this.Tp.vp(t),1!==t){this.Gv.applySuggestedBitmapSize();const t=s(this.Gv);null!==t&&(t.useBitmapCoordinateSpace((t=>{this.mp(t)})),this.Np&&(this.fm(t,Ts),this.vm(t),this.pm(t),this.fm(t,Ps),this.fm(t,Rs)))}this.Jv.applySuggestedBitmapSize();const i=s(this.Jv);null!==i&&(i.useBitmapCoordinateSpace((({context:t,bitmapSize:i})=>{t.clearRect(0,0,i.width,i.height)})),this.bm(i),this.fm(i,Ds))}wm(){return this.Cp}gm(){return this.Tp}bp(t,i){this.fm(t,i)}Fp(){null!==this.Np&&this.Np.W_().p(this),this.Np=null}tm(t){this.im(this.Vp,t)}im(t,i){const n=i.localX,s=i.localY;t.M()&&t.m(this.$i().St().Nu(n),{x:n,y:s},i)}mp({context:t,bitmapSize:i}){const{width:n,height:s}=i,e=this.$i(),r=e.q(),h=e.bd();r===h?G(t,0,0,n,s,h):tt(t,0,0,n,s,r,h)}vm(t){const i=b(this.Np).j_().qh().gt();null!==i&&i.X(t,!1)}pm(t){const i=this.$i().Yc();this.Mm(t,Ps,cs,i),this.Mm(t,Ps,ds,i)}bm(t){this.Mm(t,Ps,ds,this.$i().Zc())}fm(t,i){const n=b(this.Np).Uo();for(const s of n)this.Mm(t,i,cs,s);for(const s of n)this.Mm(t,i,ds,s)}Mm(t,i,n,s){const e=b(this.Np),r=e.$t().Wc(),h=null!==r&&r.Hc===s,l=null!==r&&h&&void 0!==r.Iv?r.Iv.Mr:void 0;fs(i,(i=>n(i,t,h,l)),s,e)}Zp(){if(null===this.Np)return;const t=this.Qd,i=this.Np.R_().W().visible,n=this.Np.D_().W().visible;i||null===this.Cp||(this.jp.removeChild(this.Cp.lp()),this.Cp.S(),this.Cp=null),n||null===this.Tp||(this.Hp.removeChild(this.Tp.lp()),this.Tp.S(),this.Tp=null);const s=t.$t().ud();i&&null===this.Cp&&(this.Cp=new Cs(this,t.W(),s,\"left\"),this.jp.appendChild(this.Cp.lp())),n&&null===this.Tp&&(this.Tp=new Cs(this,t.W(),s,\"right\"),this.Hp.appendChild(this.Tp.lp()))}xm(t){return t.Dv&&this.Ap||null!==this.Ip}Sm(t){return Math.max(0,Math.min(t,this.Ev.width-1))}km(t){return Math.max(0,Math.min(t,this.Ev.height-1))}Gp(t,i,n){this.$i().ld(this.Sm(t),this.km(i),n,b(this.Np))}hm(){this.$i().od()}om(){this.zp&&(this.Ip=null,this.hm())}rm(t,i,n){this.Ip=t,this.zp=!1,this.Gp(i.x,i.y,n);const s=this.$i().Zc();this.Lp={x:s.Yt(),y:s.Zt()}}$i(){return this.Qd.$t()}sm(t){if(!this.Dp)return;const i=this.$i(),n=this.fp();if(i.z_(n,n.vn()),this.Rp=null,this.Dp=!1,i.ed(),null!==this.Ep){const t=performance.now(),n=i.St();this.Ep.Vr(n.Hu(),t),this.Ep.Qu(t)||i.Zn(this.Ep)}}Kp(){this.Ip=null}Jp(){if(!this.Np)return;if(this.$i().Un(),document.activeElement!==document.body&&document.activeElement!==document.documentElement)b(document.activeElement).blur();else{const t=document.getSelection();null!==t&&t.removeAllRanges()}!this.Np.vn().Ni()&&this.$i().St().Ni()}nm(t){if(null===this.Np)return;const i=this.$i(),n=i.St();if(n.Ni())return;const s=this.Qd.W(),e=s.handleScroll,r=s.kineticScroll;if((!e.pressedMouseMove||t.Dv)&&(!e.horzTouchDrag&&!e.vertTouchDrag||!t.Dv))return;const h=this.Np.vn(),l=performance.now();if(null!==this.Rp||this.xm(t)||(this.Rp={x:t.clientX,y:t.clientY,Od:l,ym:t.localX,Cm:t.localY}),null!==this.Rp&&!this.Dp&&(this.Rp.x!==t.clientX||this.Rp.y!==t.clientY)){if(t.Dv&&r.touch||!t.Dv&&r.mouse){const t=n.le();this.Ep=new as(.2/t,7/t,.997,15/t),this.Ep.Yd(n.Hu(),this.Rp.Od)}else this.Ep=null;h.Ni()||i.A_(this.Np,h,t.localY),i.nd(t.localX),this.Dp=!0}this.Dp&&(h.Ni()||i.I_(this.Np,h,t.localY),i.sd(t.localX),null!==this.Ep&&this.Ep.Yd(n.Hu(),l))}}class Os{constructor(i,n,s,e,r){this.ft=!0,this.Ev=t({width:0,height:0}),this.Hv=()=>this.vp(3),this.qv=\"left\"===i,this.Oc=s.ud,this.cn=n,this.Tm=e,this.Pm=r,this.Kv=document.createElement(\"div\"),this.Kv.style.width=\"25px\",this.Kv.style.height=\"100%\",this.Kv.style.overflow=\"hidden\",this.Gv=_s(this.Kv,t({width:16,height:16})),this.Gv.subscribeSuggestedBitmapSizeChanged(this.Hv)}S(){this.Gv.unsubscribeSuggestedBitmapSizeChanged(this.Hv),us(this.Gv.canvasElement),this.Gv.dispose()}lp(){return this.Kv}um(){return this.Ev}cp(t){n(this.Ev,t)||(this.Ev=t,this.Gv.resizeCanvasElement(t),this.Kv.style.width=`${t.width}px`,this.Kv.style.height=`${t.height}px`,this.ft=!0)}vp(t){if(t<3&&!this.ft)return;if(0===this.Ev.width||0===this.Ev.height)return;this.ft=!1,this.Gv.applySuggestedBitmapSize();const i=s(this.Gv);null!==i&&i.useBitmapCoordinateSpace((t=>{this.mp(t),this.Ie(t)}))}xp(){return this.Gv.bitmapSize}Sp(t,i,n){const s=this.xp();s.width>0&&s.height>0&&t.drawImage(this.Gv.canvasElement,i,n)}Ie({context:t,bitmapSize:i,horizontalPixelRatio:n,verticalPixelRatio:s}){if(!this.Tm())return;t.fillStyle=this.cn.timeScale.borderColor;const e=Math.floor(this.Oc.W().C*n),r=Math.floor(this.Oc.W().C*s),h=this.qv?i.width-e:0;t.fillRect(h,0,e,r)}mp({context:t,bitmapSize:i}){G(t,0,0,i.width,i.height,this.Pm())}}function Bs(t){return i=>{var n,s;return null!==(s=null===(n=i.fa)||void 0===n?void 0:n.call(i,t))&&void 0!==s?s:[]}}const As=Bs(\"normal\"),Is=Bs(\"top\"),zs=Bs(\"bottom\");class Ls{constructor(i,n){this.Rm=null,this.Dm=null,this.k=null,this.Vm=!1,this.Ev=t({width:0,height:0}),this.Om=new D,this.Fv=new ni(5),this.jv=!1,this.Hv=()=>{this.jv||this.Qd.$t().Uh()},this.Uv=()=>{this.jv||this.Qd.$t().Uh()},this.Qd=i,this.q_=n,this.cn=i.W().layout,this.Xd=document.createElement(\"tr\"),this.Bm=document.createElement(\"td\"),this.Bm.style.padding=\"0\",this.Am=document.createElement(\"td\"),this.Am.style.padding=\"0\",this.Kv=document.createElement(\"td\"),this.Kv.style.height=\"25px\",this.Kv.style.padding=\"0\",this.Im=document.createElement(\"div\"),this.Im.style.width=\"100%\",this.Im.style.height=\"100%\",this.Im.style.position=\"relative\",this.Im.style.overflow=\"hidden\",this.Kv.appendChild(this.Im),this.Gv=_s(this.Im,t({width:16,height:16})),this.Gv.subscribeSuggestedBitmapSizeChanged(this.Hv);const s=this.Gv.canvasElement;s.style.position=\"absolute\",s.style.zIndex=\"1\",s.style.left=\"0\",s.style.top=\"0\",this.Jv=_s(this.Im,t({width:16,height:16})),this.Jv.subscribeSuggestedBitmapSizeChanged(this.Uv);const e=this.Jv.canvasElement;e.style.position=\"absolute\",e.style.zIndex=\"2\",e.style.left=\"0\",e.style.top=\"0\",this.Xd.appendChild(this.Bm),this.Xd.appendChild(this.Kv),this.Xd.appendChild(this.Am),this.zm(),this.Qd.$t().g_().l(this.zm.bind(this),this),this.hp=new ps(this.Jv.canvasElement,this,{ev:()=>!0,rv:()=>!this.Qd.W().handleScroll.horzTouchDrag})}S(){this.hp.S(),null!==this.Rm&&this.Rm.S(),null!==this.Dm&&this.Dm.S(),this.Jv.unsubscribeSuggestedBitmapSizeChanged(this.Uv),us(this.Jv.canvasElement),this.Jv.dispose(),this.Gv.unsubscribeSuggestedBitmapSizeChanged(this.Hv),us(this.Gv.canvasElement),this.Gv.dispose()}lp(){return this.Xd}Lm(){return this.Rm}Em(){return this.Dm}bv(t){if(this.Vm)return;this.Vm=!0;const i=this.Qd.$t();!i.St().Ni()&&this.Qd.W().handleScale.axisPressedMouseMove.time&&i.Jc(t.localX)}pv(t){this.bv(t)}wv(){const t=this.Qd.$t();!t.St().Ni()&&this.Vm&&(this.Vm=!1,this.Qd.W().handleScale.axisPressedMouseMove.time&&t.hd())}av(t){const i=this.Qd.$t();!i.St().Ni()&&this.Qd.W().handleScale.axisPressedMouseMove.time&&i.rd(t.localX)}hv(t){this.av(t)}cv(){this.Vm=!1;const t=this.Qd.$t();t.St().Ni()&&!this.Qd.W().handleScale.axisPressedMouseMove.time||t.hd()}_v(){this.cv()}qf(){this.Qd.W().handleScale.axisDoubleClickReset.time&&this.Qd.$t().Kn()}jf(){this.qf()}Qf(){this.Qd.$t().W().handleScale.axisPressedMouseMove.time&&this.kp(1)}Pv(){this.kp(0)}um(){return this.Ev}Nm(){return this.Om}Fm(i,s,e){n(this.Ev,i)||(this.Ev=i,this.jv=!0,this.Gv.resizeCanvasElement(i),this.Jv.resizeCanvasElement(i),this.jv=!1,this.Kv.style.width=`${i.width}px`,this.Kv.style.height=`${i.height}px`,this.Om.m(i)),null!==this.Rm&&this.Rm.cp(t({width:s,height:i.height})),null!==this.Dm&&this.Dm.cp(t({width:e,height:i.height}))}Wm(){const t=this.jm();return Math.ceil(t.C+t.T+t.P+t.L+t.B+t.Hm)}bt(){this.Qd.$t().St().Ha()}xp(){return this.Gv.bitmapSize}Sp(t,i,n){const s=this.xp();s.width>0&&s.height>0&&t.drawImage(this.Gv.canvasElement,i,n)}vp(t){if(0===t)return;if(1!==t){this.Gv.applySuggestedBitmapSize();const i=s(this.Gv);null!==i&&(i.useBitmapCoordinateSpace((t=>{this.mp(t),this.Ie(t),this.$m(i,zs)})),this.wp(i),this.$m(i,As)),null!==this.Rm&&this.Rm.vp(t),null!==this.Dm&&this.Dm.vp(t)}this.Jv.applySuggestedBitmapSize();const i=s(this.Jv);null!==i&&(i.useBitmapCoordinateSpace((({context:t,bitmapSize:i})=>{t.clearRect(0,0,i.width,i.height)})),this.Um([...this.Qd.$t().wt(),this.Qd.$t().Zc()],i),this.$m(i,Is))}$m(t,i){const n=this.Qd.$t().wt();for(const s of n)fs(i,(i=>cs(i,t,!1,void 0)),s,void 0);for(const s of n)fs(i,(i=>ds(i,t,!1,void 0)),s,void 0)}mp({context:t,bitmapSize:i}){G(t,0,0,i.width,i.height,this.Qd.$t().bd())}Ie({context:t,bitmapSize:i,verticalPixelRatio:n}){if(this.Qd.W().timeScale.borderVisible){t.fillStyle=this.qm();const s=Math.max(1,Math.floor(this.jm().C*n));t.fillRect(0,0,i.width,s)}}wp(t){const i=this.Qd.$t().St(),n=i.Ha();if(!n||0===n.length)return;const s=this.q_.maxTickMarkWeight(n),e=this.jm(),r=i.W();r.borderVisible&&r.ticksVisible&&t.useBitmapCoordinateSpace((({context:t,horizontalPixelRatio:i,verticalPixelRatio:s})=>{t.strokeStyle=this.qm(),t.fillStyle=this.qm();const r=Math.max(1,Math.floor(i)),h=Math.floor(.5*i);t.beginPath();const l=Math.round(e.T*s);for(let s=n.length;s--;){const e=Math.round(n[s].coord*i);t.rect(e-h,0,r,l)}t.fill()})),t.useMediaCoordinateSpace((({context:t})=>{const i=e.C+e.T+e.L+e.P/2;t.textAlign=\"center\",t.textBaseline=\"middle\",t.fillStyle=this.$(),t.font=this._p();for(const e of n)if(e.weight<s){const n=e.needAlignCoordinate?this.Ym(t,e.coord,e.label):e.coord;t.fillText(e.label,n,i)}this.Qd.W().timeScale.allowBoldLabels&&(t.font=this.Zm());for(const e of n)if(e.weight>=s){const n=e.needAlignCoordinate?this.Ym(t,e.coord,e.label):e.coord;t.fillText(e.label,n,i)}}))}Ym(t,i,n){const s=this.Fv.xi(t,n),e=s/2,r=Math.floor(i-e)+.5;return r<0?i+=Math.abs(0-r):r+s>this.Ev.width&&(i-=Math.abs(this.Ev.width-(r+s))),i}Um(t,i){const n=this.jm();for(const s of t)for(const t of s.Qi())t.gt().X(i,n)}qm(){return this.Qd.W().timeScale.borderColor}$(){return this.cn.textColor}j(){return this.cn.fontSize}_p(){return F(this.j(),this.cn.fontFamily)}Zm(){return F(this.j(),this.cn.fontFamily,\"bold\")}jm(){null===this.k&&(this.k={C:1,N:NaN,L:NaN,B:NaN,ji:NaN,T:5,P:NaN,R:\"\",Wi:new ni,Hm:0});const t=this.k,i=this._p();if(t.R!==i){const n=this.j();t.P=n,t.R=i,t.L=3*n/12,t.B=3*n/12,t.ji=9*n/12,t.N=0,t.Hm=4*n/12,t.Wi.nr()}return this.k}kp(t){this.Kv.style.cursor=1===t?\"ew-resize\":\"default\"}zm(){const t=this.Qd.$t(),i=t.W();i.leftPriceScale.visible||null===this.Rm||(this.Bm.removeChild(this.Rm.lp()),this.Rm.S(),this.Rm=null),i.rightPriceScale.visible||null===this.Dm||(this.Am.removeChild(this.Dm.lp()),this.Dm.S(),this.Dm=null);const n={ud:this.Qd.$t().ud()},s=()=>i.leftPriceScale.borderVisible&&t.St().W().borderVisible,e=()=>t.bd();i.leftPriceScale.visible&&null===this.Rm&&(this.Rm=new Os(\"left\",i,n,s,e),this.Bm.appendChild(this.Rm.lp())),i.rightPriceScale.visible&&null===this.Dm&&(this.Dm=new Os(\"right\",i,n,s,e),this.Am.appendChild(this.Dm.lp()))}}const Es=!!ns&&!!navigator.userAgentData&&navigator.userAgentData.brands.some((t=>t.brand.includes(\"Chromium\")))&&!!ns&&((null===(Ns=null===navigator||void 0===navigator?void 0:navigator.userAgentData)||void 0===Ns?void 0:Ns.platform)?\"Windows\"===navigator.userAgentData.platform:navigator.userAgent.toLowerCase().indexOf(\"win\")>=0);var Ns;class Fs{constructor(t,i,n){var s;this.Xm=[],this.Km=0,this.ho=0,this.__=0,this.Gm=0,this.Jm=0,this.Qm=null,this.tb=!1,this.Vp=new D,this.Op=new D,this.Rc=new D,this.ib=null,this.nb=null,this.Jd=t,this.cn=i,this.q_=n,this.Xd=document.createElement(\"div\"),this.Xd.classList.add(\"tv-lightweight-charts\"),this.Xd.style.overflow=\"hidden\",this.Xd.style.direction=\"ltr\",this.Xd.style.width=\"100%\",this.Xd.style.height=\"100%\",(s=this.Xd).style.userSelect=\"none\",s.style.webkitUserSelect=\"none\",s.style.msUserSelect=\"none\",s.style.MozUserSelect=\"none\",s.style.webkitTapHighlightColor=\"transparent\",this.sb=document.createElement(\"table\"),this.sb.setAttribute(\"cellspacing\",\"0\"),this.Xd.appendChild(this.sb),this.eb=this.rb.bind(this),Ws(this.cn)&&this.hb(!0),this.$i=new Ln(this.Vc.bind(this),this.cn,n),this.$t().Xc().l(this.lb.bind(this),this),this.ab=new Ls(this,this.q_),this.sb.appendChild(this.ab.lp());const e=i.autoSize&&this.ob();let r=this.cn.width,h=this.cn.height;if(e||0===r||0===h){const i=t.getBoundingClientRect();r=r||i.width,h=h||i.height}this._b(r,h),this.ub(),t.appendChild(this.Xd),this.cb(),this.$i.St().ec().l(this.$i.Kl.bind(this.$i),this),this.$i.g_().l(this.$i.Kl.bind(this.$i),this)}$t(){return this.$i}W(){return this.cn}Yp(){return this.Xm}fb(){return this.ab}S(){this.hb(!1),0!==this.Km&&window.cancelAnimationFrame(this.Km),this.$i.Xc().p(this),this.$i.St().ec().p(this),this.$i.g_().p(this),this.$i.S();for(const t of this.Xm)this.sb.removeChild(t.lp()),t.lm().p(this),t.am().p(this),t.S();this.Xm=[],b(this.ab).S(),null!==this.Xd.parentElement&&this.Xd.parentElement.removeChild(this.Xd),this.Rc.S(),this.Vp.S(),this.Op.S(),this.pb()}_b(i,n,s=!1){if(this.ho===n&&this.__===i)return;const e=function(i){const n=Math.floor(i.width),s=Math.floor(i.height);return t({width:n-n%2,height:s-s%2})}(t({width:i,height:n}));this.ho=e.height,this.__=e.width;const r=this.ho+\"px\",h=this.__+\"px\";b(this.Xd).style.height=r,b(this.Xd).style.width=h,this.sb.style.height=r,this.sb.style.width=h,s?this.mb(ut.es(),performance.now()):this.$i.Kl()}vp(t){void 0===t&&(t=ut.es());for(let i=0;i<this.Xm.length;i++)this.Xm[i].vp(t.Hn(i).Fn);this.cn.timeScale.visible&&this.ab.vp(t.jn())}$h(t){const i=Ws(this.cn);this.$i.$h(t);const n=Ws(this.cn);n!==i&&this.hb(n),this.cb(),this.bb(t)}lm(){return this.Vp}am(){return this.Op}Xc(){return this.Rc}wb(){null!==this.Qm&&(this.mb(this.Qm,performance.now()),this.Qm=null);const t=this.gb(null),i=document.createElement(\"canvas\");i.width=t.width,i.height=t.height;const n=b(i.getContext(\"2d\"));return this.gb(n),i}Mb(t){if(\"left\"===t&&!this.xb())return 0;if(\"right\"===t&&!this.Sb())return 0;if(0===this.Xm.length)return 0;return b(\"left\"===t?this.Xm[0].wm():this.Xm[0].gm()).dp()}kb(){return this.cn.autoSize&&null!==this.ib}yb(){return this.Xd}Qp(t){this.nb=t,this.nb?this.yb().style.setProperty(\"cursor\",t):this.yb().style.removeProperty(\"cursor\")}Cb(){return this.nb}Tb(){return m(this.Xm[0]).um()}bb(t){(void 0!==t.autoSize||!this.ib||void 0===t.width&&void 0===t.height)&&(t.autoSize&&!this.ib&&this.ob(),!1===t.autoSize&&null!==this.ib&&this.pb(),t.autoSize||void 0===t.width&&void 0===t.height||this._b(t.width||this.__,t.height||this.ho))}gb(i){let n=0,s=0;const e=this.Xm[0],r=(t,n)=>{let s=0;for(let e=0;e<this.Xm.length;e++){const r=this.Xm[e],h=b(\"left\"===t?r.wm():r.gm()),l=h.xp();null!==i&&h.Sp(i,n,s),s+=l.height}};if(this.xb()){r(\"left\",0);n+=b(e.wm()).xp().width}for(let t=0;t<this.Xm.length;t++){const e=this.Xm[t],r=e.xp();null!==i&&e.Sp(i,n,s),s+=r.height}if(n+=e.xp().width,this.Sb()){r(\"right\",n);n+=b(e.gm()).xp().width}const h=(t,n,s)=>{b(\"left\"===t?this.ab.Lm():this.ab.Em()).Sp(b(i),n,s)};if(this.cn.timeScale.visible){const t=this.ab.xp();if(null!==i){let n=0;this.xb()&&(h(\"left\",n,s),n=b(e.wm()).xp().width),this.ab.Sp(i,n,s),n+=t.width,this.Sb()&&h(\"right\",n,s)}s+=t.height}return t({width:n,height:s})}Pb(){let i=0,n=0,s=0;for(const t of this.Xm)this.xb()&&(n=Math.max(n,b(t.wm()).op(),this.cn.leftPriceScale.minimumWidth)),this.Sb()&&(s=Math.max(s,b(t.gm()).op(),this.cn.rightPriceScale.minimumWidth)),i+=t.M_();n=rs(n),s=rs(s);const e=this.__,r=this.ho,h=Math.max(e-n-s,0),l=this.cn.timeScale.visible;let a=l?Math.max(this.ab.Wm(),this.cn.timeScale.minimumHeight):0;var o;a=(o=a)+o%2;const _=0+a,u=r<_?0:r-_,c=u/i;let d=0;for(let i=0;i<this.Xm.length;++i){const e=this.Xm[i];e.qp(this.$i.qc()[i]);let r=0,l=0;l=i===this.Xm.length-1?u-d:Math.round(e.M_()*c),r=Math.max(l,2),d+=r,e.cp(t({width:h,height:r})),this.xb()&&e._m(n,\"left\"),this.Sb()&&e._m(s,\"right\"),e.fp()&&this.$i.Kc(e.fp(),r)}this.ab.Fm(t({width:l?h:0,height:a}),l?n:0,l?s:0),this.$i.S_(h),this.Gm!==n&&(this.Gm=n),this.Jm!==s&&(this.Jm=s)}hb(t){t?this.Xd.addEventListener(\"wheel\",this.eb,{passive:!1}):this.Xd.removeEventListener(\"wheel\",this.eb)}Rb(t){switch(t.deltaMode){case t.DOM_DELTA_PAGE:return 120;case t.DOM_DELTA_LINE:return 32}return Es?1/window.devicePixelRatio:1}rb(t){if(!(0!==t.deltaX&&this.cn.handleScroll.mouseWheel||0!==t.deltaY&&this.cn.handleScale.mouseWheel))return;const i=this.Rb(t),n=i*t.deltaX/100,s=-i*t.deltaY/100;if(t.cancelable&&t.preventDefault(),0!==s&&this.cn.handleScale.mouseWheel){const i=Math.sign(s)*Math.min(1,Math.abs(s)),n=t.clientX-this.Xd.getBoundingClientRect().left;this.$t().Qc(n,i)}0!==n&&this.cn.handleScroll.mouseWheel&&this.$t().td(-80*n)}mb(t,i){var n;const s=t.jn();3===s&&this.Db(),3!==s&&2!==s||(this.Vb(t),this.Ob(t,i),this.ab.bt(),this.Xm.forEach((t=>{t.Xp()})),3===(null===(n=this.Qm)||void 0===n?void 0:n.jn())&&(this.Qm.ts(t),this.Db(),this.Vb(this.Qm),this.Ob(this.Qm,i),t=this.Qm,this.Qm=null)),this.vp(t)}Ob(t,i){for(const n of t.Qn())this.ns(n,i)}Vb(t){const i=this.$i.qc();for(let n=0;n<i.length;n++)t.Hn(n).Wn&&i[n].N_()}ns(t,i){const n=this.$i.St();switch(t.qn){case 0:n.hc();break;case 1:n.lc(t.Vt);break;case 2:n.Gn(t.Vt);break;case 3:n.Jn(t.Vt);break;case 4:n.qu();break;case 5:t.Vt.Qu(i)||n.Jn(t.Vt.tc(i))}}Vc(t){null!==this.Qm?this.Qm.ts(t):this.Qm=t,this.tb||(this.tb=!0,this.Km=window.requestAnimationFrame((t=>{if(this.tb=!1,this.Km=0,null!==this.Qm){const i=this.Qm;this.Qm=null,this.mb(i,t);for(const n of i.Qn())if(5===n.qn&&!n.Vt.Qu(t)){this.$t().Zn(n.Vt);break}}})))}Db(){this.ub()}ub(){const t=this.$i.qc(),i=t.length,n=this.Xm.length;for(let t=i;t<n;t++){const t=m(this.Xm.pop());this.sb.removeChild(t.lp()),t.lm().p(this),t.am().p(this),t.S()}for(let s=n;s<i;s++){const i=new Vs(this,t[s]);i.lm().l(this.Bb.bind(this),this),i.am().l(this.Ab.bind(this),this),this.Xm.push(i),this.sb.insertBefore(i.lp(),this.ab.lp())}for(let n=0;n<i;n++){const i=t[n],s=this.Xm[n];s.fp()!==i?s.qp(i):s.Up()}this.cb(),this.Pb()}Ib(t,i,n){var s;const e=new Map;if(null!==t){this.$i.wt().forEach((i=>{const n=i.In().ll(t);null!==n&&e.set(i,n)}))}let r;if(null!==t){const i=null===(s=this.$i.St().Ui(t))||void 0===s?void 0:s.originalTime;void 0!==i&&(r=i)}const h=this.$t().Wc(),l=null!==h&&h.Hc instanceof Gi?h.Hc:void 0,a=null!==h&&void 0!==h.Iv?h.Iv.gr:void 0;return{zb:r,ee:null!=t?t:void 0,Lb:null!=i?i:void 0,Eb:l,Nb:e,Fb:a,Wb:null!=n?n:void 0}}Bb(t,i,n){this.Vp.m((()=>this.Ib(t,i,n)))}Ab(t,i,n){this.Op.m((()=>this.Ib(t,i,n)))}lb(t,i,n){this.Rc.m((()=>this.Ib(t,i,n)))}cb(){const t=this.cn.timeScale.visible?\"\":\"none\";this.ab.lp().style.display=t}xb(){return this.Xm[0].fp().R_().W().visible}Sb(){return this.Xm[0].fp().D_().W().visible}ob(){return\"ResizeObserver\"in window&&(this.ib=new ResizeObserver((t=>{const i=t.find((t=>t.target===this.Jd));i&&this._b(i.contentRect.width,i.contentRect.height)})),this.ib.observe(this.Jd,{box:\"border-box\"}),!0)}pb(){null!==this.ib&&this.ib.disconnect(),this.ib=null}}function Ws(t){return Boolean(t.handleScroll.mouseWheel||t.handleScale.mouseWheel)}function js(t){return function(t){return void 0!==t.open}(t)||function(t){return void 0!==t.value}(t)}function Hs(t,i){var n={};for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&i.indexOf(s)<0&&(n[s]=t[s]);if(null!=t&&\"function\"==typeof Object.getOwnPropertySymbols){var e=0;for(s=Object.getOwnPropertySymbols(t);e<s.length;e++)i.indexOf(s[e])<0&&Object.prototype.propertyIsEnumerable.call(t,s[e])&&(n[s[e]]=t[s[e]])}return n}function $s(t,i,n,s){const e=n.value,r={ee:i,ot:t,Vt:[e,e,e,e],zb:s};return void 0!==n.color&&(r.V=n.color),r}function Us(t,i,n,s){const e=n.value,r={ee:i,ot:t,Vt:[e,e,e,e],zb:s};return void 0!==n.lineColor&&(r.lt=n.lineColor),void 0!==n.topColor&&(r.Ps=n.topColor),void 0!==n.bottomColor&&(r.Rs=n.bottomColor),r}function qs(t,i,n,s){const e=n.value,r={ee:i,ot:t,Vt:[e,e,e,e],zb:s};return void 0!==n.topLineColor&&(r.Re=n.topLineColor),void 0!==n.bottomLineColor&&(r.De=n.bottomLineColor),void 0!==n.topFillColor1&&(r.ke=n.topFillColor1),void 0!==n.topFillColor2&&(r.ye=n.topFillColor2),void 0!==n.bottomFillColor1&&(r.Ce=n.bottomFillColor1),void 0!==n.bottomFillColor2&&(r.Te=n.bottomFillColor2),r}function Ys(t,i,n,s){const e={ee:i,ot:t,Vt:[n.open,n.high,n.low,n.close],zb:s};return void 0!==n.color&&(e.V=n.color),e}function Zs(t,i,n,s){const e={ee:i,ot:t,Vt:[n.open,n.high,n.low,n.close],zb:s};return void 0!==n.color&&(e.V=n.color),void 0!==n.borderColor&&(e.Ot=n.borderColor),void 0!==n.wickColor&&(e.Xh=n.wickColor),e}function Xs(t,i,n,s,e){const r=m(e)(n),h=Math.max(...r),l=Math.min(...r),a=r[r.length-1],o=[a,h,l,a],_=n,{time:u,color:c}=_;return{ee:i,ot:t,Vt:o,zb:s,$e:Hs(_,[\"time\",\"color\"]),V:c}}function Ks(t){return void 0!==t.Vt}function Gs(t,i){return void 0!==i.customValues&&(t.jb=i.customValues),t}function Js(t){return(i,n,s,e,r,h)=>function(t,i){return i?i(t):void 0===(n=t).open&&void 0===n.value;var n}(s,h)?Gs({ot:i,ee:n,zb:e},s):Gs(t(i,n,s,e,r),s)}function Qs(t){return{Candlestick:Js(Zs),Bar:Js(Ys),Area:Js(Us),Baseline:Js(qs),Histogram:Js($s),Line:Js($s),Custom:Js(Xs)}[t]}function te(t){return{ee:0,Hb:new Map,la:t}}function ie(t,i){if(void 0!==t&&0!==t.length)return{$b:i.key(t[0].ot),Ub:i.key(t[t.length-1].ot)}}function ne(t){let i;return t.forEach((t=>{void 0===i&&(i=t.zb)})),m(i)}class se{constructor(t){this.qb=new Map,this.Yb=new Map,this.Zb=new Map,this.Xb=[],this.q_=t}S(){this.qb.clear(),this.Yb.clear(),this.Zb.clear(),this.Xb=[]}Kb(t,i){let n=0!==this.qb.size,s=!1;const e=this.Yb.get(t);if(void 0!==e)if(1===this.Yb.size)n=!1,s=!0,this.qb.clear();else for(const i of this.Xb)i.pointData.Hb.delete(t)&&(s=!0);let r=[];if(0!==i.length){const n=i.map((t=>t.time)),e=this.q_.createConverterToInternalObj(i),h=Qs(t.Qh()),l=t.Ca(),a=t.Ta();r=i.map(((i,r)=>{const o=e(i.time),_=this.q_.key(o);let u=this.qb.get(_);void 0===u&&(u=te(o),this.qb.set(_,u),s=!0);const c=h(o,u.ee,i,n[r],l,a);return u.Hb.set(t,c),c}))}n&&this.Gb(),this.Jb(t,r);let h=-1;if(s){const t=[];this.qb.forEach((i=>{t.push({timeWeight:0,time:i.la,pointData:i,originalTime:ne(i.Hb)})})),t.sort(((t,i)=>this.q_.key(t.time)-this.q_.key(i.time))),h=this.Qb(t)}return this.tw(t,h,function(t,i,n){const s=ie(t,n),e=ie(i,n);if(void 0!==s&&void 0!==e)return{ta:s.Ub>=e.Ub&&s.$b>=e.$b}}(this.Yb.get(t),e,this.q_))}vd(t){return this.Kb(t,[])}iw(t,i){const n=i;!function(t){void 0===t.zb&&(t.zb=t.time)}(n),this.q_.preprocessData(i);const s=this.q_.createConverterToInternalObj([i])(i.time),e=this.Zb.get(t);if(void 0!==e&&this.q_.key(s)<this.q_.key(e))throw new Error(`Cannot update oldest data, last time=${e}, new time=${s}`);let r=this.qb.get(this.q_.key(s));const h=void 0===r;void 0===r&&(r=te(s),this.qb.set(this.q_.key(s),r));const l=Qs(t.Qh()),a=t.Ca(),o=t.Ta(),_=l(s,r.ee,i,n.zb,a,o);r.Hb.set(t,_),this.nw(t,_);const u={ta:Ks(_)};if(!h)return this.tw(t,-1,u);const c={timeWeight:0,time:r.la,pointData:r,originalTime:ne(r.Hb)},d=Bt(this.Xb,this.q_.key(c.time),((t,i)=>this.q_.key(t.time)<i));this.Xb.splice(d,0,c);for(let t=d;t<this.Xb.length;++t)ee(this.Xb[t].pointData,t);return this.q_.fillWeightsForPoints(this.Xb,d),this.tw(t,d,u)}nw(t,i){let n=this.Yb.get(t);void 0===n&&(n=[],this.Yb.set(t,n));const s=0!==n.length?n[n.length-1]:null;null===s||this.q_.key(i.ot)>this.q_.key(s.ot)?Ks(i)&&n.push(i):Ks(i)?n[n.length-1]=i:n.splice(-1,1),this.Zb.set(t,i.ot)}Jb(t,i){0!==i.length?(this.Yb.set(t,i.filter(Ks)),this.Zb.set(t,i[i.length-1].ot)):(this.Yb.delete(t),this.Zb.delete(t))}Gb(){for(const t of this.Xb)0===t.pointData.Hb.size&&this.qb.delete(this.q_.key(t.time))}Qb(t){let i=-1;for(let n=0;n<this.Xb.length&&n<t.length;++n){const s=this.Xb[n],e=t[n];if(this.q_.key(s.time)!==this.q_.key(e.time)){i=n;break}e.timeWeight=s.timeWeight,ee(e.pointData,n)}if(-1===i&&this.Xb.length!==t.length&&(i=Math.min(this.Xb.length,t.length)),-1===i)return-1;for(let n=i;n<t.length;++n)ee(t[n].pointData,n);return this.q_.fillWeightsForPoints(t,i),this.Xb=t,i}sw(){if(0===this.Yb.size)return null;let t=0;return this.Yb.forEach((i=>{0!==i.length&&(t=Math.max(t,i[i.length-1].ee))})),t}tw(t,i,n){const s={ew:new Map,St:{Eu:this.sw()}};if(-1!==i)this.Yb.forEach(((i,e)=>{s.ew.set(e,{$e:i,rw:e===t?n:void 0})})),this.Yb.has(t)||s.ew.set(t,{$e:[],rw:n}),s.St.hw=this.Xb,s.St.lw=i;else{const i=this.Yb.get(t);s.ew.set(t,{$e:i||[],rw:n})}return s}}function ee(t,i){t.ee=i,t.Hb.forEach((t=>{t.ee=i}))}function re(t){const i={value:t.Vt[3],time:t.zb};return void 0!==t.jb&&(i.customValues=t.jb),i}function he(t){const i=re(t);return void 0!==t.V&&(i.color=t.V),i}function le(t){const i=re(t);return void 0!==t.lt&&(i.lineColor=t.lt),void 0!==t.Ps&&(i.topColor=t.Ps),void 0!==t.Rs&&(i.bottomColor=t.Rs),i}function ae(t){const i=re(t);return void 0!==t.Re&&(i.topLineColor=t.Re),void 0!==t.De&&(i.bottomLineColor=t.De),void 0!==t.ke&&(i.topFillColor1=t.ke),void 0!==t.ye&&(i.topFillColor2=t.ye),void 0!==t.Ce&&(i.bottomFillColor1=t.Ce),void 0!==t.Te&&(i.bottomFillColor2=t.Te),i}function oe(t){const i={open:t.Vt[0],high:t.Vt[1],low:t.Vt[2],close:t.Vt[3],time:t.zb};return void 0!==t.jb&&(i.customValues=t.jb),i}function _e(t){const i=oe(t);return void 0!==t.V&&(i.color=t.V),i}function ue(t){const i=oe(t),{V:n,Ot:s,Xh:e}=t;return void 0!==n&&(i.color=n),void 0!==s&&(i.borderColor=s),void 0!==e&&(i.wickColor=e),i}function ce(t){return{Area:le,Line:he,Baseline:ae,Histogram:he,Bar:_e,Candlestick:ue,Custom:de}[t]}function de(t){const i=t.zb;return Object.assign(Object.assign({},t.$e),{time:i})}const fe={vertLine:{color:\"#9598A1\",width:1,style:3,visible:!0,labelVisible:!0,labelBackgroundColor:\"#131722\"},horzLine:{color:\"#9598A1\",width:1,style:3,visible:!0,labelVisible:!0,labelBackgroundColor:\"#131722\"},mode:1},ve={vertLines:{color:\"#D6DCDE\",style:0,visible:!0},horzLines:{color:\"#D6DCDE\",style:0,visible:!0}},pe={background:{type:\"solid\",color:\"#FFFFFF\"},textColor:\"#191919\",fontSize:12,fontFamily:N,attributionLogo:!0},me={autoScale:!0,mode:0,invertScale:!1,alignLabels:!0,borderVisible:!0,borderColor:\"#2B2B43\",entireTextOnly:!1,visible:!1,ticksVisible:!1,scaleMargins:{bottom:.1,top:.2},minimumWidth:0},be={rightOffset:0,barSpacing:6,minBarSpacing:.5,fixLeftEdge:!1,fixRightEdge:!1,lockVisibleTimeRangeOnResize:!1,rightBarStaysOnScroll:!1,borderVisible:!0,borderColor:\"#2B2B43\",visible:!0,timeVisible:!1,secondsVisible:!0,shiftVisibleRangeOnNewBar:!0,allowShiftVisibleRangeOnWhitespaceReplacement:!1,ticksVisible:!1,uniformDistribution:!1,minimumHeight:0,allowBoldLabels:!0},we={color:\"rgba(0, 0, 0, 0)\",visible:!1,fontSize:48,fontFamily:N,fontStyle:\"\",text:\"\",horzAlign:\"center\",vertAlign:\"center\"};function ge(){return{width:0,height:0,autoSize:!1,layout:pe,crosshair:fe,grid:ve,overlayPriceScales:Object.assign({},me),leftPriceScale:Object.assign(Object.assign({},me),{visible:!1}),rightPriceScale:Object.assign(Object.assign({},me),{visible:!0}),timeScale:be,watermark:we,localization:{locale:ns?navigator.language:\"\",dateFormat:\"dd MMM 'yy\"},handleScroll:{mouseWheel:!0,pressedMouseMove:!0,horzTouchDrag:!0,vertTouchDrag:!0},handleScale:{axisPressedMouseMove:{time:!0,price:!0},axisDoubleClickReset:{time:!0,price:!0},mouseWheel:!0,pinch:!0},kineticScroll:{mouse:!1,touch:!0},trackingMode:{exitMode:1}}}class Me{constructor(t,i){this.aw=t,this.ow=i}applyOptions(t){this.aw.$t().$c(this.ow,t)}options(){return this.Li().W()}width(){return _t(this.ow)?this.aw.Mb(this.ow):0}Li(){return b(this.aw.$t().Uc(this.ow)).Dt}}function xe(t,i,n){const s=Hs(t,[\"time\",\"originalTime\"]),e=Object.assign({time:i},s);return void 0!==n&&(e.originalTime=n),e}const Se={color:\"#FF0000\",price:0,lineStyle:2,lineWidth:1,lineVisible:!0,axisLabelVisible:!0,title:\"\",axisLabelColor:\"\",axisLabelTextColor:\"\"};class ke{constructor(t){this.Nh=t}applyOptions(t){this.Nh.$h(t)}options(){return this.Nh.W()}_w(){return this.Nh}}class ye{constructor(t,i,n,s,e){this.uw=new D,this.Es=t,this.cw=i,this.dw=n,this.q_=e,this.fw=s}S(){this.uw.S()}priceFormatter(){return this.Es.ba()}priceToCoordinate(t){const i=this.Es.Ct();return null===i?null:this.Es.Dt().Rt(t,i.Vt)}coordinateToPrice(t){const i=this.Es.Ct();return null===i?null:this.Es.Dt().pn(t,i.Vt)}barsInLogicalRange(t){if(null===t)return null;const i=new yn(new xn(t.from,t.to)).lu(),n=this.Es.In();if(n.Ni())return null;const s=n.ll(i.Os(),1),e=n.ll(i.ui(),-1),r=b(n.el()),h=b(n.An());if(null!==s&&null!==e&&s.ee>e.ee)return{barsBefore:t.from-r,barsAfter:h-t.to};const l={barsBefore:null===s||s.ee===r?t.from-r:s.ee-r,barsAfter:null===e||e.ee===h?h-t.to:h-e.ee};return null!==s&&null!==e&&(l.from=s.zb,l.to=e.zb),l}setData(t){this.q_,this.Es.Qh(),this.cw.pw(this.Es,t),this.mw(\"full\")}update(t){this.Es.Qh(),this.cw.bw(this.Es,t),this.mw(\"update\")}dataByIndex(t,i){const n=this.Es.In().ll(t,i);if(null===n)return null;return ce(this.seriesType())(n)}data(){const t=ce(this.seriesType());return this.Es.In().ne().map((i=>t(i)))}subscribeDataChanged(t){this.uw.l(t)}unsubscribeDataChanged(t){this.uw.v(t)}setMarkers(t){this.q_;const i=t.map((t=>xe(t,this.q_.convertHorzItemToInternal(t.time),t.time)));this.Es.na(i)}markers(){return this.Es.sa().map((t=>xe(t,t.originalTime,void 0)))}applyOptions(t){this.Es.$h(t)}options(){return z(this.Es.W())}priceScale(){return this.dw.priceScale(this.Es.Dt().Pa())}createPriceLine(t){const i=V(z(Se),t),n=this.Es.ea(i);return new ke(n)}removePriceLine(t){this.Es.ra(t._w())}seriesType(){return this.Es.Qh()}attachPrimitive(t){this.Es.ka(t),t.attached&&t.attached({chart:this.fw,series:this,requestUpdate:()=>this.Es.$t().Kl()})}detachPrimitive(t){this.Es.ya(t),t.detached&&t.detached()}mw(t){this.uw.M()&&this.uw.m(t)}}class Ce{constructor(t,i,n){this.ww=new D,this.mu=new D,this.Om=new D,this.$i=t,this.yl=t.St(),this.ab=i,this.yl.nc().l(this.gw.bind(this)),this.yl.sc().l(this.Mw.bind(this)),this.ab.Nm().l(this.xw.bind(this)),this.q_=n}S(){this.yl.nc().p(this),this.yl.sc().p(this),this.ab.Nm().p(this),this.ww.S(),this.mu.S(),this.Om.S()}scrollPosition(){return this.yl.Hu()}scrollToPosition(t,i){i?this.yl.Ju(t,1e3):this.$i.Jn(t)}scrollToRealTime(){this.yl.Gu()}getVisibleRange(){const t=this.yl.Vu();return null===t?null:{from:t.from.originalTime,to:t.to.originalTime}}setVisibleRange(t){const i={from:this.q_.convertHorzItemToInternal(t.from),to:this.q_.convertHorzItemToInternal(t.to)},n=this.yl.Iu(i);this.$i.pd(n)}getVisibleLogicalRange(){const t=this.yl.Du();return null===t?null:{from:t.Os(),to:t.ui()}}setVisibleLogicalRange(t){p(t.from<=t.to,\"The from index cannot be after the to index.\"),this.$i.pd(t)}resetTimeScale(){this.$i.Kn()}fitContent(){this.$i.hc()}logicalToCoordinate(t){const i=this.$i.St();return i.Ni()?null:i.It(t)}coordinateToLogical(t){return this.yl.Ni()?null:this.yl.Nu(t)}timeToCoordinate(t){const i=this.q_.convertHorzItemToInternal(t),n=this.yl.Va(i,!1);return null===n?null:this.yl.It(n)}coordinateToTime(t){const i=this.$i.St(),n=i.Nu(t),s=i.Ui(n);return null===s?null:s.originalTime}width(){return this.ab.um().width}height(){return this.ab.um().height}subscribeVisibleTimeRangeChange(t){this.ww.l(t)}unsubscribeVisibleTimeRangeChange(t){this.ww.v(t)}subscribeVisibleLogicalRangeChange(t){this.mu.l(t)}unsubscribeVisibleLogicalRangeChange(t){this.mu.v(t)}subscribeSizeChange(t){this.Om.l(t)}unsubscribeSizeChange(t){this.Om.v(t)}applyOptions(t){this.yl.$h(t)}options(){return Object.assign(Object.assign({},z(this.yl.W())),{barSpacing:this.yl.le()})}gw(){this.ww.M()&&this.ww.m(this.getVisibleRange())}Mw(){this.mu.M()&&this.mu.m(this.getVisibleLogicalRange())}xw(t){this.Om.m(t.width,t.height)}}function Te(t){if(void 0===t||\"custom\"===t.type)return;const i=t;void 0!==i.minMove&&void 0===i.precision&&(i.precision=function(t){if(t>=1)return 0;let i=0;for(;i<8;i++){const n=Math.round(t);if(Math.abs(n-t)<1e-8)return i;t*=10}return i}(i.minMove))}function Pe(t){return function(t){if(I(t.handleScale)){const i=t.handleScale;t.handleScale={axisDoubleClickReset:{time:i,price:i},axisPressedMouseMove:{time:i,price:i},mouseWheel:i,pinch:i}}else if(void 0!==t.handleScale){const{axisPressedMouseMove:i,axisDoubleClickReset:n}=t.handleScale;I(i)&&(t.handleScale.axisPressedMouseMove={time:i,price:i}),I(n)&&(t.handleScale.axisDoubleClickReset={time:n,price:n})}const i=t.handleScroll;I(i)&&(t.handleScroll={horzTouchDrag:i,vertTouchDrag:i,mouseWheel:i,pressedMouseMove:i})}(t),t}class Re{constructor(t,i,n){this.Sw=new Map,this.kw=new Map,this.yw=new D,this.Cw=new D,this.Tw=new D,this.Pw=new se(i);const s=void 0===n?z(ge()):V(z(ge()),Pe(n));this.q_=i,this.aw=new Fs(t,s,i),this.aw.lm().l((t=>{this.yw.M()&&this.yw.m(this.Rw(t()))}),this),this.aw.am().l((t=>{this.Cw.M()&&this.Cw.m(this.Rw(t()))}),this),this.aw.Xc().l((t=>{this.Tw.M()&&this.Tw.m(this.Rw(t()))}),this);const e=this.aw.$t();this.Dw=new Ce(e,this.aw.fb(),this.q_)}remove(){this.aw.lm().p(this),this.aw.am().p(this),this.aw.Xc().p(this),this.Dw.S(),this.aw.S(),this.Sw.clear(),this.kw.clear(),this.yw.S(),this.Cw.S(),this.Tw.S(),this.Pw.S()}resize(t,i,n){this.autoSizeActive()||this.aw._b(t,i,n)}addCustomSeries(t,i){const n=w(t),s=Object.assign(Object.assign({},_),n.defaultOptions());return this.Vw(\"Custom\",s,i,n)}addAreaSeries(t){return this.Vw(\"Area\",l,t)}addBaselineSeries(t){return this.Vw(\"Baseline\",a,t)}addBarSeries(t){return this.Vw(\"Bar\",r,t)}addCandlestickSeries(t={}){return function(t){void 0!==t.borderColor&&(t.borderUpColor=t.borderColor,t.borderDownColor=t.borderColor),void 0!==t.wickColor&&(t.wickUpColor=t.wickColor,t.wickDownColor=t.wickColor)}(t),this.Vw(\"Candlestick\",e,t)}addHistogramSeries(t){return this.Vw(\"Histogram\",o,t)}addLineSeries(t){return this.Vw(\"Line\",h,t)}removeSeries(t){const i=m(this.Sw.get(t)),n=this.Pw.vd(i);this.aw.$t().vd(i),this.Ow(n),this.Sw.delete(t),this.kw.delete(i)}pw(t,i){this.Ow(this.Pw.Kb(t,i))}bw(t,i){this.Ow(this.Pw.iw(t,i))}subscribeClick(t){this.yw.l(t)}unsubscribeClick(t){this.yw.v(t)}subscribeCrosshairMove(t){this.Tw.l(t)}unsubscribeCrosshairMove(t){this.Tw.v(t)}subscribeDblClick(t){this.Cw.l(t)}unsubscribeDblClick(t){this.Cw.v(t)}priceScale(t){return new Me(this.aw,t)}timeScale(){return this.Dw}applyOptions(t){this.aw.$h(Pe(t))}options(){return this.aw.W()}takeScreenshot(){return this.aw.wb()}autoSizeActive(){return this.aw.kb()}chartElement(){return this.aw.yb()}paneSize(){const t=this.aw.Tb();return{height:t.height,width:t.width}}setCrosshairPosition(t,i,n){const s=this.Sw.get(n);if(void 0===s)return;const e=this.aw.$t().dr(s);null!==e&&this.aw.$t().ad(t,i,e)}clearCrosshairPosition(){this.aw.$t().od(!0)}Vw(t,i,n={},s){Te(n.priceFormat);const e=V(z(u),z(i),n),r=this.aw.$t().dd(t,e,s),h=new ye(r,this,this,this,this.q_);return this.Sw.set(h,r),this.kw.set(r,h),h}Ow(t){const i=this.aw.$t();i._d(t.St.Eu,t.St.hw,t.St.lw),t.ew.forEach(((t,i)=>i.J(t.$e,t.rw))),i.Wu()}Bw(t){return m(this.kw.get(t))}Rw(t){const i=new Map;t.Nb.forEach(((t,n)=>{const s=n.Qh(),e=ce(s)(t);if(\"Custom\"!==s)p(js(e));else{const t=n.Ta();p(!t||!1===t(e))}i.set(this.Bw(n),e)}));const n=void 0!==t.Eb&&this.kw.has(t.Eb)?this.Bw(t.Eb):void 0;return{time:t.zb,logical:t.ee,point:t.Lb,hoveredSeries:n,hoveredObjectId:t.Fb,seriesData:i,sourceEvent:t.Wb}}}function De(t,i,n){let s;if(A(t)){const i=document.getElementById(t);p(null!==i,`Cannot find element in DOM with id=${t}`),s=i}else s=t;const e=new Re(s,i,n);return i.setOptions(e.options()),e}function Ve(t,i){return De(t,new is,is.Id(i))}function Oe(){return is}const Be=Object.assign(Object.assign({},u),_);function Ae(){return\"4.2.3\"}export{In as ColorType,at as CrosshairMode,Bn as LastPriceAnimationMode,d as LineStyle,c as LineType,Li as MismatchDirection,An as PriceLineSource,pn as PriceScaleMode,zn as TickMarkType,On as TrackingModeExitMode,Ve as createChart,De as createChartEx,Be as customSeriesDefaultOptions,Oe as defaultHorzScaleBehavior,En as isBusinessDay,Nn as isUTCTimestamp,Ae as version};\n","import { useCallback, useState, useEffect } from 'react';\r\nimport { Socket } from 'socket.io-client';\r\n\r\ninterface OHLCVCandle {\r\n time: number;\r\n open: number;\r\n high: number;\r\n low: number;\r\n close: number;\r\n volume: number;\r\n}\r\n\r\ninterface OHLCVInitialData {\r\n mint: string;\r\n timeFrame: number;\r\n data: OHLCVCandle[];\r\n timestamp: number;\r\n error?: string;\r\n}\r\n\r\ninterface OHLCVUpdateData {\r\n mint: string;\r\n timeFrame: number;\r\n candle: OHLCVCandle;\r\n timestamp: number;\r\n}\r\n\r\ninterface OHLCVNewCandleData {\r\n mint: string;\r\n timeFrame: number;\r\n candle: OHLCVCandle;\r\n timestamp: number;\r\n}\r\n\r\n/**\r\n * Hook to manage socket connection\r\n * This is a simplified version for the NPM package\r\n * Users should provide their own socket instance via props\r\n */\r\nexport const useSocket = (socketInstance?: Socket | null) => {\r\n const [socket] = useState<Socket | null>(socketInstance || null);\r\n const [isConnected, setIsConnected] = useState(false);\r\n const [isConnecting, setIsConnecting] = useState(false);\r\n\r\n // Track connection state\r\n useEffect(() => {\r\n if (!socket) {\r\n setIsConnected(false);\r\n setIsConnecting(false);\r\n return;\r\n }\r\n\r\n setIsConnecting(true);\r\n\r\n const handleConnect = () => {\r\n console.log('✅ [useSocket] Connected to Socket.IO server');\r\n setIsConnected(true);\r\n setIsConnecting(false);\r\n };\r\n\r\n const handleDisconnect = () => {\r\n console.log('🔌 [useSocket] Disconnected from Socket.IO server');\r\n setIsConnected(false);\r\n setIsConnecting(false);\r\n };\r\n\r\n const handleConnectError = (error: any) => {\r\n console.error('❌ [useSocket] Connection error:', error);\r\n setIsConnecting(false);\r\n };\r\n\r\n // Set initial state\r\n if (socket.connected) {\r\n setIsConnected(true);\r\n setIsConnecting(false);\r\n }\r\n\r\n // Add event listeners\r\n socket.on('connect', handleConnect);\r\n socket.on('disconnect', handleDisconnect);\r\n socket.on('connect_error', handleConnectError);\r\n\r\n return () => {\r\n socket.off('connect', handleConnect);\r\n socket.off('disconnect', handleDisconnect);\r\n socket.off('connect_error', handleConnectError);\r\n };\r\n }, [socket]);\r\n\r\n // Connect function (no-op since connection is managed by provider)\r\n const connect = useCallback(() => {\r\n console.log('🔍 [useSocket] Connect called - connection managed by provider');\r\n }, []);\r\n\r\n // Disconnect function (no-op since connection is managed by provider)\r\n const disconnect = useCallback(() => {\r\n console.log('🔍 [useSocket] Disconnect called - connection managed by provider');\r\n }, []);\r\n\r\n // Subscribe to OHLCV updates\r\n const subscribeToOHLCV = useCallback((\r\n mint: string, \r\n timeFrame: number = 60,\r\n onInitialData?: (data: OHLCVInitialData) => void,\r\n onUpdate?: (data: OHLCVUpdateData) => void,\r\n onNewCandle?: (data: OHLCVNewCandleData) => void\r\n ) => {\r\n if (!socket?.connected) {\r\n console.warn('⚠️ [useSocket] Socket not connected, cannot subscribe');\r\n return false;\r\n }\r\n\r\n try {\r\n // Subscribe to OHLCV updates\r\n socket.emit('ohlcv:subscribe', { mint, timeFrame });\r\n\r\n // Listen for initial data\r\n if (onInitialData) {\r\n socket.on('ohlcv:initial', onInitialData);\r\n }\r\n\r\n // Listen for updates\r\n if (onUpdate) {\r\n socket.on('ohlcv:update', onUpdate);\r\n }\r\n\r\n // Listen for new candles\r\n if (onNewCandle) {\r\n socket.on('ohlcv:newCandle', onNewCandle);\r\n }\r\n\r\n console.log(`📊 [useSocket] Subscribed to OHLCV updates for ${mint} (${timeFrame}s)`);\r\n return true;\r\n\r\n } catch (error) {\r\n console.error('❌ [useSocket] Failed to subscribe to OHLCV:', error);\r\n return false;\r\n }\r\n }, [socket]);\r\n\r\n // Unsubscribe from OHLCV updates\r\n const unsubscribeFromOHLCV = useCallback((\r\n mint: string, \r\n timeFrame: number = 60,\r\n onInitialData?: (data: OHLCVInitialData) => void,\r\n onUpdate?: (data: OHLCVUpdateData) => void,\r\n onNewCandle?: (data: OHLCVNewCandleData) => void\r\n ) => {\r\n if (!socket?.connected) return false;\r\n\r\n try {\r\n // Unsubscribe from OHLCV updates\r\n socket.emit('ohlcv:unsubscribe', { mint, timeFrame });\r\n\r\n // Remove listeners\r\n if (onInitialData) {\r\n socket.off('ohlcv:initial', onInitialData);\r\n }\r\n if (onUpdate) {\r\n socket.off('ohlcv:update', onUpdate);\r\n }\r\n if (onNewCandle) {\r\n socket.off('ohlcv:newCandle', onNewCandle);\r\n }\r\n\r\n console.log(`📊 [useSocket] Unsubscribed from OHLCV updates for ${mint} (${timeFrame}s)`);\r\n return true;\r\n\r\n } catch (error) {\r\n console.error('❌ [useSocket] Failed to unsubscribe from OHLCV:', error);\r\n return false;\r\n }\r\n }, [socket]);\r\n\r\n // Subscribe to price updates\r\n const subscribeToPrice = useCallback((\r\n mint: string,\r\n onPriceUpdate?: (data: any) => void\r\n ) => {\r\n if (!socket?.connected) {\r\n console.warn('⚠️ [useSocket] Socket not connected, cannot subscribe');\r\n return false;\r\n }\r\n\r\n try {\r\n // Subscribe to price updates\r\n socket.emit('price:subscribe', { mint });\r\n\r\n // Listen for price updates\r\n if (onPriceUpdate) {\r\n socket.on('price:update', onPriceUpdate);\r\n }\r\n\r\n console.log(`💰 [useSocket] Subscribed to price updates for ${mint}`);\r\n return true;\r\n\r\n } catch (error) {\r\n console.error('❌ [useSocket] Failed to subscribe to price:', error);\r\n return false;\r\n }\r\n }, [socket]);\r\n\r\n // Unsubscribe from price updates\r\n const unsubscribeFromPrice = useCallback((\r\n mint: string,\r\n onPriceUpdate?: (data: any) => void\r\n ) => {\r\n if (!socket?.connected) return false;\r\n\r\n try {\r\n // Unsubscribe from price updates\r\n socket.emit('price:unsubscribe', { mint });\r\n\r\n // Remove listener\r\n if (onPriceUpdate) {\r\n socket.off('price:update', onPriceUpdate);\r\n }\r\n\r\n console.log(`💰 [useSocket] Unsubscribed from price updates for ${mint}`);\r\n return true;\r\n\r\n } catch (error) {\r\n console.error('❌ [useSocket] Failed to unsubscribe from price:', error);\r\n return false;\r\n }\r\n }, [socket]);\r\n\r\n // Test socket connection\r\n const testConnection = useCallback((message: string) => {\r\n if (!socket?.connected) {\r\n console.warn('⚠️ [useSocket] Socket not connected, cannot send test message');\r\n return false;\r\n }\r\n\r\n try {\r\n socket.emit('test-message', {\r\n message,\r\n timestamp: Date.now()\r\n });\r\n\r\n // Listen for test response\r\n socket.once('test-response', (response) => {\r\n console.log('🧪 [useSocket] Test response received:', response);\r\n });\r\n\r\n return true;\r\n } catch (error) {\r\n console.error('❌ [useSocket] Failed to send test message:', error);\r\n return false;\r\n }\r\n }, [socket]);\r\n\r\n return {\r\n socket,\r\n isConnected,\r\n isConnecting,\r\n connect,\r\n disconnect,\r\n subscribeToOHLCV,\r\n unsubscribeFromOHLCV,\r\n subscribeToPrice,\r\n unsubscribeFromPrice,\r\n testConnection,\r\n };\r\n};\r\n\r\n","import { useState, useEffect, useCallback, useMemo } from 'react';\r\n\r\ninterface ComprehensiveAnalytics {\r\n // Performance metrics\r\n performance: {\r\n '24H': { gain: number; percentage: string; isPositive: boolean };\r\n '7D': { gain: number; percentage: string; isPositive: boolean };\r\n '1M': { gain: number; percentage: string; isPositive: boolean };\r\n 'All Time': { gain: number; percentage: string; isPositive: boolean };\r\n };\r\n \r\n // Market data\r\n market: {\r\n marketValue: string;\r\n price: string;\r\n marketCap: string;\r\n circulating: string;\r\n totalSupply: string;\r\n };\r\n \r\n // 24H statistics\r\n '24H': {\r\n high: string;\r\n low: string;\r\n volume: string;\r\n return: string;\r\n };\r\n \r\n // Volume data\r\n volume: {\r\n current: string;\r\n '24h': string;\r\n unit: string;\r\n };\r\n \r\n // Blockchain data\r\n blockchain: {\r\n currentRealSol: string;\r\n realSolReserves: number;\r\n virtualSolReserves: number;\r\n tokenReserves: number;\r\n };\r\n \r\n // Additional data\r\n additional: {\r\n solUsdPrice: string;\r\n timestamp: number;\r\n };\r\n}\r\n\r\ninterface EnhancedTokenAnalytics {\r\n // Real-time analytics from backend\r\n analytics: ComprehensiveAnalytics | null;\r\n \r\n // Current market data\r\n currentPrice: number;\r\n currentMarketCap: number;\r\n currentVolume: number;\r\n \r\n // Performance metrics (formatted for display)\r\n performance24h: { value: string; isPositive: boolean; raw: number };\r\n performance7d: { value: string; isPositive: boolean; raw: number };\r\n performance1m: { value: string; isPositive: boolean; raw: number };\r\n performanceAllTime: { value: string; isPositive: boolean; raw: number };\r\n \r\n // 24H statistics\r\n high24h: number;\r\n low24h: number;\r\n volume24h: number;\r\n return24h: number;\r\n \r\n // Loading and error states\r\n loading: boolean;\r\n error: string | null;\r\n \r\n // Connection status\r\n connected: boolean;\r\n \r\n // Last update timestamp\r\n lastUpdate: number | null;\r\n \r\n // Helper functions\r\n isRealVolume: (volume: number) => boolean;\r\n}\r\n\r\n/**\r\n * Simplified hook for token analytics\r\n * This is a stub version for the NPM package\r\n * Users should provide their own analytics data or implement their own hook\r\n */\r\nexport function useOptimizedTokenAnalytics(\r\n mint: string | undefined,\r\n analyticsData?: any\r\n): EnhancedTokenAnalytics {\r\n const [analytics, setAnalytics] = useState<ComprehensiveAnalytics | null>(null);\r\n const [loading, setLoading] = useState(false);\r\n const [error, setError] = useState<string | null>(null);\r\n const [lastUpdate, setLastUpdate] = useState<number | null>(null);\r\n const [connected, setConnected] = useState(false);\r\n\r\n // Update analytics when provided\r\n useEffect(() => {\r\n if (analyticsData) {\r\n setAnalytics(analyticsData);\r\n setLastUpdate(Date.now());\r\n setConnected(true);\r\n setLoading(false);\r\n }\r\n }, [analyticsData]);\r\n\r\n // Calculate derived values from analytics data\r\n const derivedValues = useMemo(() => {\r\n if (!analytics || !analytics.market) {\r\n return {\r\n currentPrice: 0,\r\n currentMarketCap: 0,\r\n currentVolume: 0,\r\n performance24h: { value: '0.00%', isPositive: false, raw: 0 },\r\n performance7d: { value: '0.00%', isPositive: false, raw: 0 },\r\n performance1m: { value: '0.00%', isPositive: false, raw: 0 },\r\n performanceAllTime: { value: '0.00%', isPositive: false, raw: 0 },\r\n high24h: 0,\r\n low24h: 0,\r\n volume24h: 0,\r\n return24h: 0\r\n };\r\n }\r\n\r\n // Extract current values with safe access\r\n const currentPrice = parseFloat(analytics.market?.price || '0') || 0;\r\n const currentMarketCap = parseFloat(analytics.market?.marketCap || '0') || 0;\r\n \r\n // CRITICAL: Only use real volume, filter out fake 0.01 values\r\n let currentVolume = parseFloat(analytics.volume?.current || '0') || 0;\r\n if (currentVolume <= 0.01) {\r\n // Use current real SOL reserves instead of fake volume\r\n currentVolume = parseFloat(analytics.blockchain?.currentRealSol || '0') || 0;\r\n }\r\n\r\n // Extract performance metrics with safe access\r\n const performance24h = {\r\n value: analytics.performance?.['24H']?.percentage || '0.00%',\r\n isPositive: analytics.performance?.['24H']?.isPositive || false,\r\n raw: analytics.performance?.['24H']?.gain || 0\r\n };\r\n\r\n const performance7d = {\r\n value: analytics.performance?.['7D']?.percentage || '0.00%',\r\n isPositive: analytics.performance?.['7D']?.isPositive || false,\r\n raw: analytics.performance?.['7D']?.gain || 0\r\n };\r\n\r\n const performance1m = {\r\n value: analytics.performance?.['1M']?.percentage || '0.00%',\r\n isPositive: analytics.performance?.['1M']?.isPositive || false,\r\n raw: analytics.performance?.['1M']?.gain || 0\r\n };\r\n\r\n const performanceAllTime = {\r\n value: analytics.performance?.['All Time']?.percentage || '0.00%',\r\n isPositive: analytics.performance?.['All Time']?.isPositive || false,\r\n raw: analytics.performance?.['All Time']?.gain || 0\r\n };\r\n\r\n // Extract 24H statistics with safe access\r\n const high24h = parseFloat(analytics['24H']?.high || '0') || 0;\r\n const low24h = parseFloat(analytics['24H']?.low || '0') || 0;\r\n \r\n // CRITICAL: Only use real volume, filter out fake 0.01 values\r\n let volume24h = parseFloat(analytics.volume?.['24h'] || '0') || 0;\r\n if (volume24h <= 0.01) {\r\n // Use current real SOL reserves instead of fake volume\r\n volume24h = parseFloat(analytics.blockchain?.currentRealSol || '0') || 0;\r\n }\r\n \r\n const return24h = parseFloat(analytics['24H']?.return || '0') || 0;\r\n\r\n return {\r\n currentPrice,\r\n currentMarketCap,\r\n currentVolume,\r\n performance24h,\r\n performance7d,\r\n performance1m,\r\n performanceAllTime,\r\n high24h,\r\n low24h,\r\n volume24h,\r\n return24h\r\n };\r\n }, [analytics]);\r\n\r\n // Helper function to check if volume is real (not fake 0.01)\r\n const isRealVolume = useCallback((volume: number) => volume > 0.01, []);\r\n\r\n const result = {\r\n // Raw analytics data from backend\r\n analytics,\r\n \r\n // Derived values for easy consumption\r\n ...derivedValues,\r\n \r\n // Helper functions\r\n isRealVolume,\r\n \r\n // State management\r\n loading,\r\n error,\r\n connected,\r\n lastUpdate\r\n };\r\n \r\n return result;\r\n}\r\n\r\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\nconst {iterator, toStringTag} = Symbol;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(toStringTag in val) && !(iterator in val);\n}\n\n/**\n * Determine if a value is an empty object (safely handles Buffers)\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an empty object, otherwise false\n */\nconst isEmptyObject = (val) => {\n // Early return for non-objects or Buffers to prevent RangeError\n if (!isObject(val) || isBuffer(val)) {\n return false;\n }\n\n try {\n return Object.keys(val).length === 0 && Object.getPrototypeOf(val) === Object.prototype;\n } catch (e) {\n // Fallback for any other objects that might cause RangeError with Object.keys()\n return false;\n }\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Buffer check\n if (isBuffer(obj)) {\n return;\n }\n\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n if (isBuffer(obj)){\n return null;\n }\n\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless, skipUndefined} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else if (!skipUndefined || !isUndefined(val)) {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object<any, any>} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[iterator];\n\n const _iterator = generator.call(obj);\n\n let result;\n\n while ((result = _iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array<boolean>}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\n\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[toStringTag] === 'FormData' && thing[iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n //Buffer check\n if (isBuffer(source)) {\n return source;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported ? ((token, callbacks) => {\n _global.addEventListener(\"message\", ({source, data}) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n }, false);\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n }\n })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n typeof setImmediate === 'function',\n isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\n\nconst isIterable = (thing) => thing != null && isFunction(thing[iterator]);\n\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isEmptyObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap,\n isIterable\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status ? response.status : null;\n }\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n const msg = error && error.message ? error.message : 'Error';\n\n // Prefer explicit code; otherwise copy the low-level error's code (e.g. ECONNREFUSED)\n const errCode = code == null && error ? error.code : code;\n AxiosError.call(axiosError, msg, errCode, config, request, response);\n\n // Chain the original error on the standard field; non-enumerable to avoid JSON noise\n if (error && axiosError.cause == null) {\n Object.defineProperty(axiosError, 'cause', { value: error, configurable: true });\n }\n\n axiosError.name = (error && error.name) || 'Error';\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (utils.isBoolean(value)) {\n return value.toString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array<String|Number>} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?(object|Function)} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n if (utils.isFunction(options)) {\n options = {\n serialize: options\n };\n } \n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array<any>} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object<string, any> | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data, this.parseReviver);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), {\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n },\n ...options\n });\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isObject(header) && utils.isIterable(header)) {\n let obj = {}, dest, key;\n for (const entry of header) {\n if (!utils.isArray(entry)) {\n throw TypeError('Object iterator must return a key-value pair');\n }\n\n obj[key = entry[0]] = (dest = obj[key]) ?\n (utils.isArray(dest) ? [...dest, entry[1]] : [dest, entry[1]]) : entry[1];\n }\n\n setHeaders(obj, valueOrRewrite)\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n getSetCookie() {\n return this.get(\"set-cookie\") || [];\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true\n };\n\n listener(data);\n }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn(...args);\n }\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if ( passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs)\n }, threshold - passed);\n }\n }\n }\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","import platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ? ((origin, isMSIE) => (url) => {\n url = new URL(url, platform.origin);\n\n return (\n origin.protocol === url.protocol &&\n origin.host === url.host &&\n (isMSIE || origin.port === url.port)\n );\n})(\n new URL(platform.origin),\n platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)\n) : () => true;\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) {\n let isRelativeUrl = !isAbsoluteURL(requestedURL);\n if (baseURL && (isRelativeUrl || allowAbsoluteUrls == false)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, prop, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, prop , caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, prop , caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, prop , caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b , prop) => mergeDeepProperties(headersToObject(a), headersToObject(b),prop, true)\n };\n\n utils.forEach(Object.keys({...config1, ...config2}), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let { data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth } = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url, newConfig.allowAbsoluteUrls), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // browser handles it\n } else if (utils.isFunction(data.getHeaders)) {\n // Node.js FormData (like form-data package)\n const formHeaders = data.getHeaders();\n // Only set safe headers to avoid overwriting security headers\n const allowedHeaders = ['content-type', 'content-length'];\n Object.entries(formHeaders).forEach(([key, val]) => {\n if (allowedHeaders.includes(key.toLowerCase())) {\n headers.set(key, val);\n }\n });\n }\n } \n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError(event) {\n // Browsers deliver a ProgressEvent in XHR onerror\n // (message may be empty; when present, surface it)\n // See https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/error_event\n const msg = event && event.message ? event.message : 'Network Error';\n const err = new AxiosError(msg, AxiosError.ERR_NETWORK, config, request);\n // attach the underlying event for consumers who want details\n err.event = event || null;\n reject(err);\n request = null;\n };\n \n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport utils from '../utils.js';\n\nconst composeSignals = (signals, timeout) => {\n const {length} = (signals = signals ? signals.filter(Boolean) : []);\n\n if (timeout || length) {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (reason) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = reason instanceof Error ? reason : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n timer = null;\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener('abort', onabort);\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = () => utils.asap(unsubscribe);\n\n return signal;\n }\n}\n\nexport default composeSignals;\n","\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize) {\n for await (const chunk of readStream(iterable)) {\n yield* streamChunk(chunk, chunkSize);\n }\n}\n\nconst readStream = async function* (stream) {\n if (stream[Symbol.asyncIterator]) {\n yield* stream;\n return;\n }\n\n const reader = stream.getReader();\n try {\n for (;;) {\n const {done, value} = await reader.read();\n if (done) {\n break;\n }\n yield value;\n }\n } finally {\n await reader.cancel();\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish) => {\n const iterator = readBytes(stream, chunkSize);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n }\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst {isFunction} = utils;\n\nconst globalFetchAPI = (({Request, Response}) => ({\n Request, Response\n}))(utils.global);\n\nconst {\n ReadableStream, TextEncoder\n} = utils.global;\n\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n}\n\nconst factory = (env) => {\n env = utils.merge.call({\n skipUndefined: true\n }, globalFetchAPI, env);\n\n const {fetch: envFetch, Request, Response} = env;\n const isFetchSupported = envFetch ? isFunction(envFetch) : typeof fetch === 'function';\n const isRequestSupported = isFunction(Request);\n const isResponseSupported = isFunction(Response);\n\n if (!isFetchSupported) {\n return false;\n }\n\n const isReadableStreamSupported = isFetchSupported && isFunction(ReadableStream);\n\n const encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Request(str).arrayBuffer())\n );\n\n const supportsRequestStream = isRequestSupported && isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n });\n\n const supportsResponseStream = isResponseSupported && isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n const resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n };\n\n isFetchSupported && ((() => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = (res, config) => {\n let method = res && res[type];\n\n if (method) {\n return method.call(res);\n }\n\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n })());\n\n const getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if (utils.isBlob(body)) {\n return body.size;\n }\n\n if (utils.isSpecCompliantForm(body)) {\n const _request = new Request(platform.origin, {\n method: 'POST',\n body,\n });\n return (await _request.arrayBuffer()).byteLength;\n }\n\n if (utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if (utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if (utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n }\n\n const resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n }\n\n return async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n let _fetch = envFetch || fetch;\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout);\n\n let request = null;\n\n const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => {\n composedSignal.unsubscribe();\n });\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = isRequestSupported && \"credentials\" in Request.prototype;\n\n const resolvedOptions = {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: isCredentialsSupported ? withCredentials : undefined\n };\n\n request = isRequestSupported && new Request(url, resolvedOptions);\n\n let response = await (isRequestSupported ? _fetch(request, fetchOptions) : _fetch(url, resolvedOptions));\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n unsubscribe && unsubscribe();\n }),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && unsubscribe && unsubscribe();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n unsubscribe && unsubscribe();\n\n if (err && err.name === 'TypeError' && /Load failed|fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n }\n}\n\nconst seedCache = new Map();\n\nexport const getFetch = (config) => {\n let env = config ? config.env : {};\n const {fetch, Request, Response} = env;\n const seeds = [\n Request, Response, fetch\n ];\n\n let len = seeds.length, i = len,\n seed, target, map = seedCache;\n\n while (i--) {\n seed = seeds[i];\n target = map.get(seed);\n\n target === undefined && map.set(seed, target = (i ? new Map() : factory(env)))\n\n map = target;\n }\n\n return target;\n};\n\nconst adapter = getFetch();\n\nexport default adapter;\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport * as fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: {\n get: fetchAdapter.getFetch,\n }\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters, config) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter && (utils.isFunction(adapter) || (adapter = adapter.get(config)))) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter, config);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","export const VERSION = \"1.12.2\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\nvalidators.spelling = function spelling(correctSpelling) {\n return (value, opt) => {\n // eslint-disable-next-line no-console\n console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);\n return true;\n }\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig || {};\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy = {};\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.allowAbsoluteUrls\n if (config.allowAbsoluteUrls !== undefined) {\n // do nothing\n } else if (this.defaults.allowAbsoluteUrls !== undefined) {\n config.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls;\n } else {\n config.allowAbsoluteUrls = true;\n }\n\n validator.assertOptions(config, {\n baseUrl: validators.spelling('baseURL'),\n withXsrfToken: validators.spelling('withXSRFToken')\n }, true);\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift(...requestInterceptorChain);\n chain.push(...responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n toAbortSignal() {\n const controller = new AbortController();\n\n const abort = (err) => {\n controller.abort(err);\n };\n\n this.subscribe(abort);\n\n controller.signal.unsubscribe = () => this.unsubscribe(abort);\n\n return controller.signal;\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","import axios from './lib/axios.js';\n\n// This module is intended to unwrap Axios default export as named.\n// Keep top-level export same with static properties\n// so that it can keep same with es module or cjs\nconst {\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n} = axios;\n\nexport {\n axios as default,\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n}\n","/**\r\n * Environment Configuration for Funhi Chart\r\n * \r\n * This file provides configuration for the chart component\r\n * Users can override these values by passing them as props\r\n */\r\n\r\nexport const API_CONFIG = {\r\n // Backend API base URL - users should provide this\r\n BASE_URL: typeof window !== 'undefined' && (window as any).FUNHI_CHART_API_URL \r\n ? (window as any).FUNHI_CHART_API_URL \r\n : process.env.NEXT_PUBLIC_BACKEND_URL || 'https://dev.funhi.com',\r\n\r\n // API request timeout in milliseconds\r\n TIMEOUT: 10000,\r\n\r\n // Retry configuration\r\n MAX_RETRIES: 3,\r\n RETRY_DELAY: 1000,\r\n} as const;\r\n\r\n","/**\r\n * Candle Storage Service\r\n * Handles saving and retrieving candles from database via API\r\n * Replaces localStorage with database storage for persistent candle data\r\n */\r\n\r\nimport axios from 'axios';\r\nimport { API_CONFIG } from '../config/environment';\r\n\r\nexport interface CandleData {\r\n time: number; // Unix timestamp in seconds\r\n open: number;\r\n high: number;\r\n low: number;\r\n close: number;\r\n volume: number;\r\n}\r\n\r\nexport interface SaveCandlesRequest {\r\n mint: string;\r\n candles: CandleData[];\r\n timeFrame?: number; // in seconds, defaults to 60 (1 minute)\r\n}\r\n\r\nexport interface GetCandlesRequest {\r\n mint: string;\r\n timeFrame?: number; // in seconds, defaults to 60 (1 minute)\r\n limit?: number; // max number of candles to retrieve, defaults to 200\r\n}\r\n\r\nexport interface SaveCandleRequest {\r\n mint: string;\r\n candle: CandleData;\r\n timeFrame?: number; // in seconds, defaults to 60 (1 minute)\r\n}\r\n\r\nclass CandleStorageService {\r\n private readonly baseURL = `${API_CONFIG.BASE_URL}/api/ohlcv`;\r\n private savingQueue: Map<string, { candles: CandleData[], timeout: ReturnType<typeof setTimeout> }> = new Map();\r\n private readonly BATCH_DELAY = 5000; // 5 seconds - batch candles before saving\r\n private readonly BATCH_SIZE = 50; // Save when we reach this many candles\r\n\r\n /**\r\n * Save multiple candles to database\r\n * Uses batching to reduce API calls\r\n */\r\n async saveCandles(request: SaveCandlesRequest): Promise<boolean> {\r\n try {\r\n const { mint, candles, timeFrame = 60 } = request;\r\n\r\n if (!mint || !candles || candles.length === 0) {\r\n console.warn('⚠️ [CandleStorage] Invalid save request:', request);\r\n return false;\r\n }\r\n\r\n const response = await axios.post(`${this.baseURL}/candles/save`, {\r\n mint,\r\n candles,\r\n timeFrame\r\n });\r\n\r\n if (response.data.success) {\r\n console.log(`💾 [CandleStorage] Saved ${candles.length} candles for ${mint}`);\r\n return true;\r\n }\r\n\r\n return false;\r\n } catch (error) {\r\n console.error('❌ [CandleStorage] Error saving candles:', error);\r\n return false;\r\n }\r\n }\r\n\r\n /**\r\n * Save a single candle to database\r\n * Batches candles to reduce API calls\r\n */\r\n async saveCandle(request: SaveCandleRequest): Promise<boolean> {\r\n try {\r\n const { mint, candle, timeFrame = 60 } = request;\r\n\r\n if (!mint || !candle) {\r\n console.warn('⚠️ [CandleStorage] Invalid save request:', request);\r\n return false;\r\n }\r\n\r\n // Add to batching queue\r\n const queueKey = `${mint}_${timeFrame}`;\r\n const existingQueue = this.savingQueue.get(queueKey);\r\n\r\n if (existingQueue) {\r\n // Clear existing timeout\r\n clearTimeout(existingQueue.timeout);\r\n \r\n // Add candle to queue\r\n existingQueue.candles.push(candle);\r\n\r\n // If we've reached batch size, save immediately\r\n if (existingQueue.candles.length >= this.BATCH_SIZE) {\r\n await this.flushQueue(queueKey, mint, timeFrame);\r\n } else {\r\n // Otherwise, set new timeout\r\n existingQueue.timeout = setTimeout(() => {\r\n this.flushQueue(queueKey, mint, timeFrame);\r\n }, this.BATCH_DELAY);\r\n }\r\n } else {\r\n // Create new queue entry\r\n const timeout = setTimeout(() => {\r\n this.flushQueue(queueKey, mint, timeFrame);\r\n }, this.BATCH_DELAY);\r\n\r\n this.savingQueue.set(queueKey, {\r\n candles: [candle],\r\n timeout\r\n });\r\n }\r\n\r\n return true;\r\n } catch (error) {\r\n console.error('❌ [CandleStorage] Error queuing candle:', error);\r\n return false;\r\n }\r\n }\r\n\r\n /**\r\n * Flush the batching queue and save to database\r\n */\r\n private async flushQueue(queueKey: string, mint: string, timeFrame: number): Promise<void> {\r\n const queue = this.savingQueue.get(queueKey);\r\n \r\n if (!queue || queue.candles.length === 0) {\r\n return;\r\n }\r\n\r\n // Remove from queue\r\n this.savingQueue.delete(queueKey);\r\n\r\n // Save to database\r\n await this.saveCandles({\r\n mint,\r\n candles: queue.candles,\r\n timeFrame\r\n });\r\n }\r\n\r\n /**\r\n * Get candles from database\r\n */\r\n async getCandles(request: GetCandlesRequest): Promise<CandleData[]> {\r\n try {\r\n const { mint, timeFrame = 60, limit = 50000 } = request;\r\n\r\n if (!mint) {\r\n console.warn('⚠️ [CandleStorage] Invalid get request:', request);\r\n return [];\r\n }\r\n\r\n const response = await axios.get(`${this.baseURL}/candles/${mint}`, {\r\n params: {\r\n timeFrame,\r\n limit\r\n },\r\n // Add timeout to prevent hanging requests\r\n timeout: 8000, // 8 seconds\r\n // Validate response status\r\n validateStatus: (status) => status >= 200 && status < 500\r\n });\r\n\r\n if (response.data.success && response.data.data && response.data.data.candles) {\r\n const candleCount = response.data.data.candles.length;\r\n if (candleCount > 0) {\r\n console.log(`✅ [CandleStorage] Retrieved ${candleCount} candles for ${mint}`);\r\n } else {\r\n console.log(`ℹ️ [CandleStorage] No candles found for ${mint} in database`);\r\n }\r\n return response.data.data.candles;\r\n }\r\n\r\n // Handle warning from backend\r\n if (response.data.warning) {\r\n console.warn(`⚠️ [CandleStorage] ${response.data.warning}`);\r\n }\r\n\r\n return [];\r\n } catch (error: any) {\r\n // Log more detailed error information\r\n if (error.code === 'ECONNABORTED') {\r\n console.error('❌ [CandleStorage] Request timeout getting candles for', request.mint);\r\n } else if (error.response) {\r\n console.error('❌ [CandleStorage] Server error getting candles:', error.response.status, error.response.data);\r\n } else if (error.request) {\r\n console.error('❌ [CandleStorage] Network error getting candles - no response received');\r\n } else {\r\n console.error('❌ [CandleStorage] Error getting candles:', error.message);\r\n }\r\n return [];\r\n }\r\n }\r\n\r\n /**\r\n * Flush all pending queues before component unmount\r\n */\r\n async flushAll(): Promise<void> {\r\n const flushPromises: Promise<void>[] = [];\r\n\r\n for (const [queueKey, queue] of this.savingQueue.entries()) {\r\n clearTimeout(queue.timeout);\r\n const [mint, timeFrameStr] = queueKey.split('_');\r\n const timeFrame = parseInt(timeFrameStr);\r\n flushPromises.push(this.flushQueue(queueKey, mint, timeFrame));\r\n }\r\n\r\n await Promise.all(flushPromises);\r\n }\r\n}\r\n\r\n// Export singleton instance\r\nexport const candleStorageService = new CandleStorageService();\r\n\r\n","/**\r\n * Candle Aggregation Utility\r\n * \r\n * Client-side aggregation of 1-minute candles into larger timeframes\r\n * This provides real-time aggregation without waiting for server responses\r\n */\r\n\r\nexport interface CandleData {\r\n time: number;\r\n open: number;\r\n high: number;\r\n low: number;\r\n close: number;\r\n volume: number;\r\n}\r\n\r\nexport interface TimeFrame {\r\n label: string;\r\n value: string;\r\n seconds: number;\r\n}\r\n\r\nclass CandleAggregation {\r\n private timeframes: Record<string, number> = {\r\n '1m': 60,\r\n '5m': 300,\r\n '15m': 900,\r\n '30m': 1800,\r\n '1h': 3600,\r\n '4h': 14400,\r\n '1d': 86400\r\n };\r\n\r\n /**\r\n * Aggregate 1-minute candles into a larger timeframe\r\n */\r\n aggregateCandles(oneMinuteCandles: CandleData[], targetTimeframe: number): CandleData[] {\r\n try {\r\n // If requesting 1-minute data, return as-is\r\n if (targetTimeframe === 60) {\r\n return oneMinuteCandles;\r\n }\r\n\r\n // Validate input\r\n if (!Array.isArray(oneMinuteCandles) || oneMinuteCandles.length === 0) {\r\n console.warn('⚠️ [CandleAggregation] No candles to aggregate');\r\n return [];\r\n }\r\n\r\n // Sort candles by time ascending\r\n const sortedCandles = [...oneMinuteCandles].sort((a, b) => a.time - b.time);\r\n\r\n // Group candles by target timeframe\r\n const aggregatedCandles: CandleData[] = [];\r\n let currentGroup: CandleData[] = [];\r\n let groupStartTime: number | null = null;\r\n\r\n for (const candle of sortedCandles) {\r\n // Calculate which timeframe bucket this candle belongs to\r\n const bucketTime = Math.floor(candle.time / targetTimeframe) * targetTimeframe;\r\n\r\n if (groupStartTime === null) {\r\n groupStartTime = bucketTime;\r\n }\r\n\r\n if (bucketTime === groupStartTime) {\r\n // Add to current group\r\n currentGroup.push(candle);\r\n } else {\r\n // Process current group and start new one\r\n if (currentGroup.length > 0) {\r\n const aggregated = this.aggregateGroup(currentGroup, groupStartTime);\r\n aggregatedCandles.push(aggregated);\r\n }\r\n\r\n // Start new group\r\n currentGroup = [candle];\r\n groupStartTime = bucketTime;\r\n }\r\n }\r\n\r\n // Process last group\r\n if (currentGroup.length > 0 && groupStartTime !== null) {\r\n const aggregated = this.aggregateGroup(currentGroup, groupStartTime);\r\n aggregatedCandles.push(aggregated);\r\n }\r\n\r\n console.log(`📊 [CandleAggregation] Aggregated ${oneMinuteCandles.length} 1m candles into ${aggregatedCandles.length} ${this.getTimeframeLabel(targetTimeframe)} candles`);\r\n\r\n return aggregatedCandles;\r\n\r\n } catch (error) {\r\n console.error('❌ [CandleAggregation] Error aggregating candles:', error);\r\n return [];\r\n }\r\n }\r\n\r\n /**\r\n * Aggregate a group of candles into a single candle\r\n */\r\n private aggregateGroup(candles: CandleData[], time: number): CandleData {\r\n // Sort by time to ensure proper OHLC calculation\r\n const sorted = [...candles].sort((a, b) => a.time - b.time);\r\n\r\n // Calculate OHLC\r\n const open = sorted[0].open;\r\n const close = sorted[sorted.length - 1].close;\r\n const high = Math.max(...sorted.map(c => c.high));\r\n const low = Math.min(...sorted.map(c => c.low));\r\n const volume = sorted.reduce((sum, c) => sum + (c.volume || 0), 0);\r\n\r\n return {\r\n time,\r\n open,\r\n high,\r\n low,\r\n close,\r\n volume\r\n };\r\n }\r\n\r\n /**\r\n * Get human-readable timeframe label\r\n */\r\n getTimeframeLabel(seconds: number): string {\r\n for (const [label, value] of Object.entries(this.timeframes)) {\r\n if (value === seconds) {\r\n return label;\r\n }\r\n }\r\n return `${seconds}s`;\r\n }\r\n\r\n /**\r\n * Get timeframe in seconds from label\r\n */\r\n getTimeframeSeconds(label: string): number {\r\n return this.timeframes[label] || 60;\r\n }\r\n\r\n /**\r\n * Fill gaps in candles with flat candles (same OHLC)\r\n * This ensures continuous chart rendering\r\n */\r\n fillGaps(candles: CandleData[], timeframe: number): CandleData[] {\r\n try {\r\n if (!Array.isArray(candles) || candles.length < 2) {\r\n return candles;\r\n }\r\n\r\n const sorted = [...candles].sort((a, b) => a.time - b.time);\r\n const filled: CandleData[] = [];\r\n\r\n for (let i = 0; i < sorted.length - 1; i++) {\r\n const current = sorted[i];\r\n const next = sorted[i + 1];\r\n\r\n filled.push(current);\r\n\r\n // Check for gap\r\n const expectedNextTime = current.time + timeframe;\r\n let currentTime = expectedNextTime;\r\n\r\n while (currentTime < next.time) {\r\n // Fill gap with flat candle using last known price\r\n filled.push({\r\n time: currentTime,\r\n open: current.close,\r\n high: current.close,\r\n low: current.close,\r\n close: current.close,\r\n volume: 0\r\n });\r\n\r\n currentTime += timeframe;\r\n }\r\n }\r\n\r\n // Add last candle\r\n filled.push(sorted[sorted.length - 1]);\r\n\r\n if (filled.length > sorted.length) {\r\n console.log(`🔧 [CandleAggregation] Filled ${filled.length - sorted.length} gaps in ${this.getTimeframeLabel(timeframe)} candles`);\r\n }\r\n\r\n return filled;\r\n\r\n } catch (error) {\r\n console.error('❌ [CandleAggregation] Error filling gaps:', error);\r\n return candles;\r\n }\r\n }\r\n\r\n /**\r\n * Get the current incomplete candle for a timeframe\r\n * This is used for real-time updates\r\n */\r\n getCurrentCandle(oneMinuteCandles: CandleData[], targetTimeframe: number): CandleData | null {\r\n try {\r\n if (!Array.isArray(oneMinuteCandles) || oneMinuteCandles.length === 0) {\r\n return null;\r\n }\r\n\r\n const now = Math.floor(Date.now() / 1000);\r\n const currentBucket = Math.floor(now / targetTimeframe) * targetTimeframe;\r\n\r\n // Get all candles in the current bucket\r\n const currentGroup = oneMinuteCandles.filter(c => {\r\n const bucket = Math.floor(c.time / targetTimeframe) * targetTimeframe;\r\n return bucket === currentBucket;\r\n });\r\n\r\n if (currentGroup.length === 0) {\r\n return null;\r\n }\r\n\r\n return this.aggregateGroup(currentGroup, currentBucket);\r\n\r\n } catch (error) {\r\n console.error('❌ [CandleAggregation] Error getting current candle:', error);\r\n return null;\r\n }\r\n }\r\n\r\n /**\r\n * Update real-time candle with new 1-minute candle\r\n * Returns updated array of aggregated candles\r\n */\r\n updateRealtimeCandle(\r\n aggregatedCandles: CandleData[],\r\n newOneMinuteCandle: CandleData,\r\n targetTimeframe: number\r\n ): CandleData[] {\r\n try {\r\n if (!newOneMinuteCandle) {\r\n return aggregatedCandles;\r\n }\r\n\r\n // Calculate which bucket this 1m candle belongs to\r\n const bucketTime = Math.floor(newOneMinuteCandle.time / targetTimeframe) * targetTimeframe;\r\n\r\n // Find if we already have a candle for this bucket\r\n const existingIndex = aggregatedCandles.findIndex(c => c.time === bucketTime);\r\n\r\n if (existingIndex >= 0) {\r\n // Update existing candle\r\n const existing = aggregatedCandles[existingIndex];\r\n const updated: CandleData = {\r\n time: bucketTime,\r\n open: existing.open, // Keep original open\r\n high: Math.max(existing.high, newOneMinuteCandle.high),\r\n low: Math.min(existing.low, newOneMinuteCandle.low),\r\n close: newOneMinuteCandle.close, // Use latest close\r\n volume: existing.volume + (newOneMinuteCandle.volume || 0)\r\n };\r\n\r\n // Replace the candle\r\n const newCandles = [...aggregatedCandles];\r\n newCandles[existingIndex] = updated;\r\n return newCandles;\r\n } else {\r\n // Add new candle\r\n const newCandle: CandleData = {\r\n time: bucketTime,\r\n open: newOneMinuteCandle.open,\r\n high: newOneMinuteCandle.high,\r\n low: newOneMinuteCandle.low,\r\n close: newOneMinuteCandle.close,\r\n volume: newOneMinuteCandle.volume || 0\r\n };\r\n\r\n return [...aggregatedCandles, newCandle].sort((a, b) => a.time - b.time);\r\n }\r\n\r\n } catch (error) {\r\n console.error('❌ [CandleAggregation] Error updating realtime candle:', error);\r\n return aggregatedCandles;\r\n }\r\n }\r\n\r\n /**\r\n * Validate candle data structure\r\n */\r\n isValidCandle(candle: any): candle is CandleData {\r\n return (\r\n candle &&\r\n typeof candle.time === 'number' &&\r\n typeof candle.open === 'number' &&\r\n typeof candle.high === 'number' &&\r\n typeof candle.low === 'number' &&\r\n typeof candle.close === 'number' &&\r\n candle.high >= candle.low &&\r\n candle.high >= candle.open &&\r\n candle.high >= candle.close &&\r\n candle.low <= candle.open &&\r\n candle.low <= candle.close\r\n );\r\n }\r\n\r\n /**\r\n * Clean invalid candles from array\r\n */\r\n cleanCandles(candles: CandleData[]): CandleData[] {\r\n if (!Array.isArray(candles)) {\r\n return [];\r\n }\r\n\r\n const cleaned = candles.filter(c => this.isValidCandle(c));\r\n\r\n if (cleaned.length < candles.length) {\r\n console.warn(`⚠️ [CandleAggregation] Removed ${candles.length - cleaned.length} invalid candles`);\r\n }\r\n\r\n return cleaned;\r\n }\r\n\r\n /**\r\n * Get the minimum number of 1-minute candles needed for a timeframe\r\n */\r\n getRequiredOneMinuteCandles(targetTimeframe: number, targetCount: number = 200): number {\r\n const ratio = targetTimeframe / 60; // How many 1m candles per target candle\r\n return Math.ceil(targetCount * ratio);\r\n }\r\n}\r\n\r\n// Singleton instance\r\nexport const candleAggregation = new CandleAggregation();\r\n\r\n","\"use client\";\r\n\r\nimport React, { useEffect, useRef, useState, useCallback, useMemo } from 'react';\r\nimport { createChart, IChartApi, ISeriesApi, CrosshairMode, Time } from 'lightweight-charts';\r\nimport { useSocket } from '../hooks/useSocket';\r\nimport { useOptimizedTokenAnalytics } from '../hooks/useOptimizedTokenAnalytics';\r\nimport { candleStorageService } from '../services/candleStorage';\r\nimport { candleAggregation } from '../utils/candleAggregation';\r\n\r\n// Types\r\ninterface CandleData {\r\n time: number; // Store as number for easier manipulation\r\n open: number;\r\n high: number;\r\n low: number;\r\n close: number;\r\n volume: number;\r\n}\r\n\r\ninterface TimeFrame {\r\n label: string;\r\n value: string;\r\n seconds: number;\r\n}\r\n\r\nexport interface ChartProps {\r\n mint: string;\r\n ticker?: string;\r\n tokenName?: string;\r\n // Optional: Pass external socket for real-time updates\r\n socket?: any;\r\n isConnected?: boolean;\r\n // Optional: Pass external analytics/market data\r\n currentMarketCap?: number;\r\n analyticsConnected?: boolean;\r\n analyticsLoading?: boolean;\r\n}\r\n\r\n// Funhi Chart - Professional real-time trading chart component\r\nconst FunhiChart: React.FC<ChartProps> = ({ \r\n mint, \r\n ticker, \r\n tokenName,\r\n socket: externalSocket,\r\n isConnected: externalIsConnected,\r\n currentMarketCap: externalMarketCap,\r\n analyticsConnected: externalAnalyticsConnected,\r\n analyticsLoading: externalAnalyticsLoading\r\n}) => {\r\n // Refs\r\n const chartContainerRef = useRef<HTMLDivElement>(null);\r\n const chartRef = useRef<IChartApi | null>(null);\r\n const seriesRef = useRef<ISeriesApi<\"Candlestick\"> | null>(null);\r\n \r\n // State\r\n const [chartData, setChartData] = useState<CandleData[]>([]); // Displayed candles (aggregated if needed)\r\n const [oneMinuteCandles, setOneMinuteCandles] = useState<CandleData[]>([]); // Source 1m candles\r\n const [currentMarketCap, setCurrentMarketCap] = useState<number>(0);\r\n const [loading, setLoading] = useState<boolean>(true);\r\n const [error, setError] = useState<string | null>(null);\r\n \r\n // NOTE: All candle generation logic has been moved to the backend\r\n // The backend now handles creating and saving 1-minute candles\r\n // The frontend only displays data received from the backend\r\n \r\n // Socket - use external if provided, otherwise use internal hook\r\n const internalSocketData = useSocket();\r\n const socket = externalSocket || internalSocketData.socket;\r\n const isConnected = externalIsConnected !== undefined ? externalIsConnected : internalSocketData.isConnected;\r\n \r\n // Real-time analytics data for market cap - use external if provided, otherwise use internal hook\r\n const internalAnalytics = useOptimizedTokenAnalytics(mint);\r\n const realTimeMarketCap = externalMarketCap !== undefined ? externalMarketCap : internalAnalytics.currentMarketCap;\r\n const analyticsConnected = externalAnalyticsConnected !== undefined ? externalAnalyticsConnected : internalAnalytics.connected;\r\n const analyticsLoading = externalAnalyticsLoading !== undefined ? externalAnalyticsLoading : internalAnalytics.loading;\r\n \r\n // Time frames - ALL ENABLED\r\n const timeFrames: TimeFrame[] = useMemo(() => [\r\n { label: '1m', value: '1m', seconds: 60 },\r\n { label: '5m', value: '5m', seconds: 300 },\r\n { label: '15m', value: '15m', seconds: 900 },\r\n { label: '1h', value: '1h', seconds: 3600 },\r\n { label: '4h', value: '4h', seconds: 14400 },\r\n { label: '1d', value: '1d', seconds: 86400 }\r\n ], []);\r\n \r\n const [currentTimeFrame, setCurrentTimeFrame] = useState<TimeFrame>(timeFrames[0]);\r\n \r\n // Format large numbers for Y-axis (6000 -> 6K, 1000000 -> 1M)\r\n const formatMarketCap = useCallback((value: number): string => {\r\n if (value >= 1_000_000_000) {\r\n // Billions: show 2-3 decimal places\r\n return `$${(value / 1_000_000_000).toFixed(value >= 10_000_000_000 ? 2 : 3)}B`;\r\n } else if (value >= 1_000_000) {\r\n // Millions: show 2-3 decimal places\r\n return `$${(value / 1_000_000).toFixed(value >= 10_000_000 ? 2 : 3)}M`;\r\n } else if (value >= 10_000) {\r\n // Thousands (10K+): show 1-2 decimal places\r\n return `$${(value / 1_000).toFixed(value >= 100_000 ? 1 : 2)}K`;\r\n } else if (value >= 1_000) {\r\n // Thousands (1K-10K): show 2 decimal places for precision\r\n return `$${(value / 1_000).toFixed(2)}K`;\r\n } else if (value >= 1) {\r\n // Less than 1K: show full value with 2 decimals\r\n return `$${value.toFixed(2)}`;\r\n }\r\n // Very small values: show up to 4 decimal places\r\n return `$${value.toFixed(4)}`;\r\n }, []);\r\n\r\n // Function to fill gaps in candle data\r\n const fillGapsInCandles = useCallback((candles: CandleData[]): CandleData[] => {\r\n if (candles.length < 2) return candles;\r\n \r\n const sortedCandles = [...candles].sort((a, b) => a.time - b.time);\r\n const filledCandles: CandleData[] = [];\r\n \r\n for (let i = 0; i < sortedCandles.length - 1; i++) {\r\n const currentCandle = sortedCandles[i];\r\n const nextCandle = sortedCandles[i + 1];\r\n \r\n filledCandles.push(currentCandle);\r\n \r\n // Check for gaps between current and next candle\r\n const timeDiff = nextCandle.time - currentCandle.time;\r\n const expectedMinutes = timeDiff / 60;\r\n \r\n // If there's a gap of more than 1 minute, fill it\r\n if (expectedMinutes > 1.5) { // Allow some tolerance for timing\r\n const gapMinutes = Math.floor(expectedMinutes) - 1;\r\n const lastKnownPrice = currentCandle.close;\r\n \r\n for (let j = 1; j <= gapMinutes; j++) {\r\n const gapMinute = currentCandle.time + (j * 60);\r\n filledCandles.push({\r\n time: gapMinute,\r\n open: lastKnownPrice,\r\n high: lastKnownPrice,\r\n low: lastKnownPrice,\r\n close: lastKnownPrice,\r\n volume: 0\r\n });\r\n }\r\n }\r\n }\r\n \r\n // Add the last candle\r\n filledCandles.push(sortedCandles[sortedCandles.length - 1]);\r\n \r\n return filledCandles;\r\n }, []);\r\n \r\n // Load candles from database with retry logic\r\n const loadCandlesFromDatabase = useCallback(async (mint: string, timeFrame: number, retryCount = 0, limit = 50000): Promise<CandleData[]> => {\r\n const MAX_RETRIES = 2;\r\n const RETRY_DELAY = 1000; // 1 second\r\n \r\n try {\r\n console.log(`📊 [Chart] Loading candles from database for ${mint} (timeframe: ${timeFrame}s, limit: ${limit})${retryCount > 0 ? ` (retry ${retryCount})` : ''}`);\r\n \r\n const candles = await candleStorageService.getCandles({\r\n mint,\r\n timeFrame: timeFrame, // Use current timeframe\r\n limit: limit\r\n });\r\n \r\n console.log(`✅ [Chart] Loaded ${candles.length} candles from database for ${mint} (timeframe: ${timeFrame}s)`);\r\n return candles;\r\n } catch (error: any) {\r\n console.error(`❌ [Chart] Error loading candles from database (attempt ${retryCount + 1}):`, error);\r\n \r\n // Retry logic for network errors or timeouts\r\n if (retryCount < MAX_RETRIES && (error.code === 'ECONNABORTED' || error.code === 'ENOTFOUND' || error.message?.includes('timeout'))) {\r\n console.log(`🔄 [Chart] Retrying candle load in ${RETRY_DELAY}ms...`);\r\n await new Promise(resolve => setTimeout(resolve, RETRY_DELAY));\r\n return loadCandlesFromDatabase(mint, timeFrame, retryCount, limit);\r\n }\r\n \r\n // Return empty array if all retries failed or non-retryable error\r\n return [];\r\n }\r\n }, []);\r\n \r\n // NOTE: All candle generation and saving functions removed - backend handles this now\r\n \r\n // Initialize chart\r\n useEffect(() => {\r\n if (!chartContainerRef.current) return;\r\n \r\n // Create chart\r\n const chart = createChart(chartContainerRef.current, {\r\n layout: {\r\n background: { color: '#ffffff' },\r\n textColor: '#333333',\r\n },\r\n grid: {\r\n vertLines: { color: '#f0f0f0' },\r\n horzLines: { color: '#f0f0f0' },\r\n },\r\n crosshair: {\r\n mode: CrosshairMode.Normal,\r\n },\r\n rightPriceScale: {\r\n borderColor: '#cccccc',\r\n },\r\n timeScale: {\r\n borderColor: '#cccccc',\r\n timeVisible: true,\r\n secondsVisible: false,\r\n rightOffset: 12,\r\n barSpacing: 8,\r\n minBarSpacing: 4,\r\n },\r\n height: 384,\r\n localization: {\r\n priceFormatter: (price: number) => formatMarketCap(price),\r\n },\r\n watermark: {\r\n visible: true,\r\n fontSize: 64,\r\n horzAlign: 'center',\r\n vertAlign: 'center',\r\n color: 'rgba(0, 0, 0, 0.03)',\r\n text: ticker ? `${ticker}/SOL` : `${mint.substring(0, 4)}...${mint.substring(mint.length - 4)}/SOL`,\r\n },\r\n });\r\n \r\n chartRef.current = chart;\r\n \r\n // Add candlestick series\r\n const series = chart.addCandlestickSeries({\r\n upColor: '#26a69a',\r\n downColor: '#ef5350',\r\n borderVisible: true,\r\n borderUpColor: '#26a69a',\r\n borderDownColor: '#ef5350',\r\n wickUpColor: '#26a69a',\r\n wickDownColor: '#ef5350',\r\n });\r\n \r\n seriesRef.current = series;\r\n \r\n // CRITICAL: Always load enough 1-minute candles for the current timeframe\r\n // For larger timeframes, we need many more 1m candles to aggregate\r\n const targetCandleCount = 50000; // We want 50000 candles of the current timeframe\r\n const requiredOneMinuteCandles = currentTimeFrame.seconds === 60 ? targetCandleCount : \r\n candleAggregation.getRequiredOneMinuteCandles(currentTimeFrame.seconds, targetCandleCount);\r\n \r\n console.log(`📊 [Chart Init] Loading ${requiredOneMinuteCandles} 1m candles to create ${targetCandleCount} ${currentTimeFrame.label} candles`);\r\n \r\n loadCandlesFromDatabase(mint, 60, 0, requiredOneMinuteCandles).then(existingCandles => {\r\n if (existingCandles.length > 0) {\r\n // Ensure no duplicate timestamps exist\r\n const uniqueCandles = existingCandles.reduce((acc, candle) => {\r\n const existingIndex = acc.findIndex(c => c.time === candle.time);\r\n if (existingIndex >= 0) {\r\n acc[existingIndex] = candle;\r\n } else {\r\n acc.push(candle);\r\n }\r\n return acc;\r\n }, [] as CandleData[]);\r\n \r\n const sortedCandles = uniqueCandles.sort((a, b) => a.time - b.time);\r\n \r\n // Final filtering to ensure no consecutive duplicates\r\n const finalCandles = sortedCandles.filter((candle, index, array) => {\r\n if (index === 0) return true;\r\n return candle.time !== array[index - 1].time;\r\n });\r\n \r\n // Store 1-minute candles (will trigger aggregation effect)\r\n setOneMinuteCandles(finalCandles);\r\n console.log(`✅ [Chart] Loaded ${finalCandles.length} 1m candles from database (will aggregate to ${currentTimeFrame.label})`);\r\n \r\n // CRITICAL: Fill gaps in loaded data immediately\r\n const filledCandles = fillGapsInCandles(finalCandles);\r\n if (filledCandles.length > finalCandles.length) {\r\n console.log(`🔧 [Chart] Filled ${filledCandles.length - finalCandles.length} gaps in loaded data`);\r\n setChartData(filledCandles);\r\n series.setData(filledCandles.map(candle => ({\r\n ...candle,\r\n time: candle.time as Time\r\n })));\r\n }\r\n\r\n // CRITICAL: Request any missing recent candles from other clients\r\n if (socket && isConnected) {\r\n const latestCandleTime = filledCandles[filledCandles.length - 1]?.time || 0;\r\n const currentTime = Math.floor(Date.now() / 1000);\r\n const minutesSinceLastCandle = Math.floor((currentTime - latestCandleTime) / 60);\r\n \r\n if (minutesSinceLastCandle > 0 && minutesSinceLastCandle < 10) {\r\n console.log(`🔍 [Chart] Requesting ${minutesSinceLastCandle} missing recent candles from other clients`);\r\n socket.emit('requestRecentCandles', {\r\n mint,\r\n timeframe: 60,\r\n since: latestCandleTime\r\n });\r\n }\r\n \r\n // CRITICAL: Always request current minute candle from other clients\r\n console.log(`🔍 [Chart] Requesting current minute candle from other clients`);\r\n socket.emit('requestCurrentCandle', {\r\n mint,\r\n timeframe: 60\r\n });\r\n }\r\n \r\n // CRITICAL: Create current minute candle immediately if we don't have one\r\n const currentTime = Math.floor(Date.now() / 1000);\r\n const currentMinute = Math.floor(currentTime / 60) * 60;\r\n const hasCurrentMinuteCandle = filledCandles.some(c => c.time === currentMinute);\r\n \r\n if (!hasCurrentMinuteCandle) {\r\n console.log(`🕯️ [Chart] Creating current minute candle immediately after refresh`);\r\n \r\n // Get last known price from the most recent candle\r\n const lastKnownPrice = filledCandles.length > 0 ? \r\n filledCandles[filledCandles.length - 1].close : \r\n (realTimeMarketCap || 0);\r\n \r\n if (lastKnownPrice > 0) {\r\n const currentCandle: CandleData = {\r\n time: currentMinute,\r\n open: lastKnownPrice,\r\n high: lastKnownPrice,\r\n low: lastKnownPrice,\r\n close: lastKnownPrice,\r\n volume: 0\r\n };\r\n \r\n // NOTE: Backend will create and send current minute candle\r\n // Frontend just displays it when received via WebSocket\r\n console.log(`✅ [FunhiChart] Waiting for current minute candle from backend...`);\r\n }\r\n }\r\n } else {\r\n console.log(`ℹ️ [Chart] No existing candles found in database for ${mint}, waiting for real-time data`);\r\n }\r\n // CRITICAL FIX: Always set loading to false, even if no candles found\r\n setLoading(false);\r\n }).catch(error => {\r\n console.error('❌ [Chart] Error loading candles from database:', error);\r\n setLoading(false);\r\n });\r\n \r\n // Handle resize\r\n const handleResize = () => {\r\n if (chartContainerRef.current) {\r\n chart.applyOptions({ \r\n width: chartContainerRef.current.clientWidth \r\n });\r\n }\r\n };\r\n \r\n window.addEventListener('resize', handleResize);\r\n handleResize();\r\n \r\n return () => {\r\n window.removeEventListener('resize', handleResize);\r\n chart.remove();\r\n };\r\n }, [mint, loadCandlesFromDatabase, formatMarketCap, currentTimeFrame]);\r\n \r\n // Handle time frame changes\r\n const handleTimeFrameChange = useCallback(async (timeFrameValue: string) => {\r\n const newTimeFrame = timeFrames.find(tf => tf.value === timeFrameValue);\r\n if (newTimeFrame && newTimeFrame.value !== currentTimeFrame.value) {\r\n console.log(`🔄 [Chart] Switching timeframe from ${currentTimeFrame.label} to ${newTimeFrame.label}`);\r\n \r\n setCurrentTimeFrame(newTimeFrame);\r\n setLoading(true);\r\n \r\n // Clear current chart data temporarily\r\n setChartData([]);\r\n if (seriesRef.current) {\r\n seriesRef.current.setData([]);\r\n }\r\n \r\n try {\r\n // Check if we need more 1-minute candles for the new timeframe\r\n const targetCandleCount = 50000; // We want 50000 candles in the new timeframe\r\n const requiredOneMinuteCandles = newTimeFrame.seconds === 60 ? targetCandleCount : \r\n candleAggregation.getRequiredOneMinuteCandles(newTimeFrame.seconds, targetCandleCount);\r\n \r\n console.log(`🔄 [Chart] Switching to ${newTimeFrame.label}: need ${requiredOneMinuteCandles} 1m candles, have ${oneMinuteCandles.length}`);\r\n \r\n // Always reload to ensure we have enough data for the new timeframe\r\n if (oneMinuteCandles.length < requiredOneMinuteCandles) {\r\n console.log(`📊 [Chart] Loading ${requiredOneMinuteCandles} 1m candles to create ${targetCandleCount} ${newTimeFrame.label} candles`);\r\n \r\n // Load more 1-minute candles\r\n const candles = await loadCandlesFromDatabase(mint, 60, 0, requiredOneMinuteCandles);\r\n \r\n if (candles.length > 0) {\r\n setOneMinuteCandles(candles); // This will trigger aggregation automatically\r\n console.log(`✅ [Chart] Loaded ${candles.length} 1m candles, will create ~${Math.floor(candles.length * 60 / newTimeFrame.seconds)} ${newTimeFrame.label} candles`);\r\n } else {\r\n console.log(`⚠️ [Chart] No candles loaded, using existing ${oneMinuteCandles.length} 1m candles`);\r\n }\r\n } else {\r\n console.log(`✅ [Chart] Already have enough 1m candles (${oneMinuteCandles.length}), re-aggregating to ${newTimeFrame.label}`);\r\n // Re-aggregation will happen automatically when currentTimeFrame changes\r\n }\r\n } catch (error) {\r\n console.error(`❌ [Chart] Error switching to ${newTimeFrame.label}:`, error);\r\n } finally {\r\n setLoading(false);\r\n }\r\n }\r\n }, [timeFrames, currentTimeFrame, mint, loadCandlesFromDatabase, oneMinuteCandles]);\r\n \r\n // Real-time market cap updates from useOptimizedTokenAnalytics\r\n useEffect(() => {\r\n if (!mint || !seriesRef.current || realTimeMarketCap <= 0) return;\r\n \r\n console.log(`💰 [FunhiChart] Processing real-time market cap update: $${realTimeMarketCap} for ${mint} (${currentTimeFrame.label})`);\r\n \r\n // NOTE: Backend handles candle creation - frontend just updates state\r\n setCurrentMarketCap(realTimeMarketCap);\r\n setLoading(false);\r\n \r\n // Scroll to real-time\r\n if (chartRef.current) {\r\n chartRef.current.timeScale().scrollToRealTime();\r\n }\r\n }, [mint, realTimeMarketCap, currentTimeFrame]);\r\n\r\n // Listen for candles from the backend\r\n useEffect(() => {\r\n if (!socket || !isConnected || !mint) return;\r\n\r\n // Handle current candle updates from backend\r\n const handleCurrentCandleUpdate = (data: { mint: string; timeframe: number; candle: CandleData }) => {\r\n if (data.mint !== mint || data.timeframe !== 60) return;\r\n \r\n console.log(`🕯️ [FunhiChart] Received current candle update from backend:`, data.candle);\r\n \r\n // CRITICAL: Update oneMinuteCandles - this will trigger aggregateAndUpdateChart\r\n // Don't use seriesRef.current.update() as it conflicts with setData()\r\n setOneMinuteCandles(prev => {\r\n const existing = [...prev];\r\n \r\n // Find existing candle with same time\r\n const existingIndex = existing.findIndex(c => c.time === data.candle.time);\r\n \r\n if (existingIndex >= 0) {\r\n // Update existing candle at that position\r\n existing[existingIndex] = data.candle;\r\n console.log(`🔄 [FunhiChart] Updated existing candle at time ${new Date(data.candle.time * 1000).toLocaleTimeString()}`);\r\n } else {\r\n // Add new candle and sort\r\n existing.push(data.candle);\r\n existing.sort((a, b) => a.time - b.time);\r\n console.log(`🆕 [FunhiChart] Added new candle at time ${new Date(data.candle.time * 1000).toLocaleTimeString()}`);\r\n }\r\n \r\n return existing;\r\n });\r\n };\r\n\r\n const handleCandleFromOtherClient = (data: any) => {\r\n if (data.mint === mint && data.candle) {\r\n console.log(`📡 [FunhiChart] Received completed candle from backend: ${new Date(data.candle.time * 1000).toLocaleTimeString()}`);\r\n \r\n // CRITICAL: Add to oneMinuteCandles first (source of truth)\r\n setOneMinuteCandles(prev => {\r\n const existingCandle = prev.find(c => c.time === data.candle.time);\r\n if (existingCandle) {\r\n console.log(`⏭️ [FunhiChart] Skipping duplicate candle`);\r\n return prev;\r\n }\r\n \r\n const newData = [...prev, data.candle].sort((a, b) => a.time - b.time);\r\n console.log(`✅ [FunhiChart] Added completed candle to oneMinuteCandles: ${data.candle.time}`);\r\n return newData;\r\n });\r\n }\r\n };\r\n\r\n const handleRecentCandlesResponse = (data: any) => {\r\n if (data.mint === mint && data.candles && Array.isArray(data.candles)) {\r\n console.log(`📡 [FunhiChart] Received ${data.candles.length} recent candles from backend`);\r\n \r\n setOneMinuteCandles(prev => {\r\n const newCandles = data.candles.filter((newCandle: CandleData) => \r\n !prev.some(existing => existing.time === newCandle.time)\r\n );\r\n \r\n if (newCandles.length > 0) {\r\n const updatedData = [...prev, ...newCandles].sort((a, b) => a.time - b.time);\r\n console.log(`✅ [FunhiChart] Added ${newCandles.length} missing candles to oneMinuteCandles`);\r\n return updatedData;\r\n }\r\n \r\n return prev;\r\n });\r\n }\r\n };\r\n\r\n\r\n // Listen for candles from backend\r\n socket.on('ohlcv:update', handleCandleFromOtherClient);\r\n socket.on('recentCandlesResponse', handleRecentCandlesResponse);\r\n socket.on('currentCandleUpdate', handleCurrentCandleUpdate);\r\n \r\n return () => {\r\n socket.off('ohlcv:update', handleCandleFromOtherClient);\r\n socket.off('recentCandlesResponse', handleRecentCandlesResponse);\r\n socket.off('currentCandleUpdate', handleCurrentCandleUpdate);\r\n };\r\n }, [socket, isConnected, mint]);\r\n\r\n // NOTE: Timer and periodic sync removed - backend handles all candle generation and saving\r\n // The frontend now ONLY receives and displays candles from the backend\r\n \r\n // Function to aggregate and update chart display\r\n const aggregateAndUpdateChart = useCallback(() => {\r\n if (!seriesRef.current || oneMinuteCandles.length === 0) return;\r\n \r\n try {\r\n let displayCandles: CandleData[] = [];\r\n \r\n if (currentTimeFrame.seconds === 60) {\r\n // Display 1-minute candles as-is, limit to 50000\r\n displayCandles = oneMinuteCandles.slice(-50000);\r\n console.log(`📊 [Chart] Displaying ${displayCandles.length} 1m candles (from ${oneMinuteCandles.length} available)`);\r\n } else {\r\n // Aggregate to current timeframe\r\n displayCandles = candleAggregation.aggregateCandles(oneMinuteCandles, currentTimeFrame.seconds);\r\n \r\n console.log(`📊 [Chart] Aggregated ${oneMinuteCandles.length} 1m candles into ${displayCandles.length} ${currentTimeFrame.label} candles BEFORE processing`);\r\n \r\n // CRITICAL FIX: Only show completed candles for larger timeframes\r\n // The current incomplete candle updates in real-time\r\n const now = Math.floor(Date.now() / 1000);\r\n const currentBucket = Math.floor(now / currentTimeFrame.seconds) * currentTimeFrame.seconds;\r\n \r\n // Check if the last candle is the current incomplete bucket\r\n if (displayCandles.length > 0) {\r\n const lastCandle = displayCandles[displayCandles.length - 1];\r\n \r\n if (lastCandle.time === currentBucket) {\r\n // This is the current candle - it updates as 1m candles come in\r\n const currentPeriodCandles = oneMinuteCandles.filter(c => {\r\n const bucket = Math.floor(c.time / currentTimeFrame.seconds) * currentTimeFrame.seconds;\r\n return bucket === currentBucket;\r\n });\r\n \r\n if (currentPeriodCandles.length > 0) {\r\n console.log(`🕯️ [Chart] Showing incomplete ${currentTimeFrame.label} candle with ${currentPeriodCandles.length} 1m candles`);\r\n } else {\r\n // No data yet for this period, remove the candle\r\n displayCandles = displayCandles.slice(0, -1);\r\n console.log(`⏭️ [Chart] Hiding incomplete ${currentTimeFrame.label} candle (no data yet)`);\r\n }\r\n }\r\n }\r\n \r\n // Fill gaps for smooth charting\r\n displayCandles = candleAggregation.fillGaps(displayCandles, currentTimeFrame.seconds);\r\n \r\n // CRITICAL: Limit to last 50000 candles for performance\r\n if (displayCandles.length > 50000) {\r\n displayCandles = displayCandles.slice(-50000);\r\n console.log(`✂️ [Chart] Trimmed to last 50000 ${currentTimeFrame.label} candles`);\r\n }\r\n \r\n console.log(`📊 [Chart] Final display: ${displayCandles.length} ${currentTimeFrame.label} candles`);\r\n }\r\n \r\n // Update chart display\r\n setChartData(displayCandles);\r\n seriesRef.current.setData(displayCandles.map(candle => ({\r\n ...candle,\r\n time: candle.time as Time\r\n })));\r\n \r\n // Scroll to real-time\r\n if (chartRef.current) {\r\n chartRef.current.timeScale().scrollToRealTime();\r\n }\r\n \r\n } catch (error) {\r\n console.error('❌ [Chart] Error aggregating candles:', error);\r\n }\r\n }, [oneMinuteCandles, currentTimeFrame]);\r\n\r\n // CRITICAL: Update chart whenever 1-minute candles or timeframe changes\r\n useEffect(() => {\r\n if (!seriesRef.current || oneMinuteCandles.length === 0) return;\r\n \r\n // Always aggregate and update - the aggregation logic handles timeframe-specific behavior\r\n aggregateAndUpdateChart();\r\n \r\n }, [oneMinuteCandles, currentTimeFrame, aggregateAndUpdateChart]);\r\n \r\n // Loading timeout effect\r\n useEffect(() => {\r\n if ((loading || analyticsLoading) && !chartData.length) {\r\n const timeout = setTimeout(() => {\r\n setLoading(false);\r\n }, 10000); // 10 seconds\r\n \r\n return () => clearTimeout(timeout);\r\n }\r\n }, [loading, analyticsLoading, chartData.length]);\r\n \r\n\r\n \r\n if (error) {\r\n return (\r\n <div className=\"p-4 bg-red-50 border border-red-200 rounded-lg\">\r\n <div className=\"text-red-800 font-medium\">Chart Error</div>\r\n <div className=\"text-red-600 text-sm\">{error}</div>\r\n <button \r\n onClick={() => setError(null)}\r\n className=\"mt-2 px-3 py-1 bg-red-100 text-red-700 rounded text-sm hover:bg-red-200\"\r\n >\r\n Dismiss\r\n </button>\r\n </div>\r\n );\r\n }\r\n \r\n return (\r\n <div className=\"w-full\">\r\n {/* Time Frame Selector and Controls */}\r\n <div className=\"mb-4 flex flex-wrap gap-2 items-center\">\r\n <div className=\"flex flex-wrap gap-2\">\r\n {timeFrames.map((tf) => (\r\n <button\r\n key={tf.value}\r\n onClick={() => handleTimeFrameChange(tf.value)}\r\n className={`\r\n px-3 py-2 rounded-lg text-sm font-medium transition-colors\r\n ${currentTimeFrame.value === tf.value\r\n ? 'bg-blue-600 text-white'\r\n : 'bg-gray-100 text-gray-700 hover:bg-gray-200'\r\n }\r\n `}\r\n >\r\n {tf.label}\r\n </button>\r\n ))}\r\n </div>\r\n \r\n\r\n \r\n {/* Status */}\r\n <div className=\"ml-auto flex items-center gap-2 text-sm\">\r\n <div className={`w-2 h-2 rounded-full ${analyticsConnected ? 'bg-green-500' : 'bg-red-500'}`}></div>\r\n <span className={analyticsConnected ? 'text-green-600' : 'text-red-600'}>\r\n {analyticsConnected ? 'Connected' : 'Disconnected'}\r\n </span>\r\n {(loading || analyticsLoading) && <span className=\"text-blue-600\">• Loading...</span>}\r\n {chartData.length > 0 && (\r\n <span className=\"text-green-600\">• {chartData.length} candles • {formatMarketCap(currentMarketCap)}</span>\r\n )}\r\n </div>\r\n </div>\r\n \r\n {/* Chart Container */}\r\n <div ref={chartContainerRef} className=\"relative w-full h-96\">\r\n {/* Loading Overlay */}\r\n {(loading || analyticsLoading) && (\r\n <div className=\"absolute inset-0 bg-white bg-opacity-75 flex items-center justify-center rounded-lg z-10\">\r\n <div className=\"text-center\">\r\n <div className=\"animate-spin rounded-full h-8 w-8 border-b-2 border-blue-600 mx-auto mb-2\"></div>\r\n <div className=\"text-gray-600\">Loading real-time data...</div>\r\n\r\n </div>\r\n </div>\r\n )}\r\n \r\n {/* No Data State */}\r\n {!loading && !analyticsLoading && chartData.length === 0 && (\r\n <div className=\"absolute inset-0 bg-white bg-opacity-75 flex items-center justify-center rounded-lg z-10\">\r\n <div className=\"text-center\">\r\n <div className=\"text-gray-600 mb-2\">No market data available</div>\r\n <div className=\"text-sm text-gray-500\">Waiting for real-time data...</div>\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n \r\n\r\n </div>\r\n );\r\n};\r\n\r\nexport default FunhiChart;\r\n\r\n"],"names":["size","_a","width","height","Error","equalSizes","first","second","Observable","win","_this","this","_resolutionListener","_onResolutionChanged","_resolutionMediaQueryList","_observers","_window","_installResolutionListener","prototype","dispose","_uninstallResolutionListener","Object","defineProperty","get","devicePixelRatio","enumerable","configurable","subscribe","next","observer","push","unsubscribe","filter","o","dppx","matchMedia","concat","addListener","removeListener","_reinstallResolutionListener","forEach","DevicePixelContentBoxBinding","canvasElement","transformBitmapSize","options","_canvasElement","_bitmapSizeChangedListeners","_suggestedBitmapSize","_suggestedBitmapSizeChangedListeners","_devicePixelRatioObservable","_canvasElementResizeObserver","_canvasElementClientSize","clientWidth","clientHeight","_transformBitmapSize","_allowResizeObserver","allowResizeObserver","_chooseAndInitObserver","_b","disconnect","length","resizeCanvasElement","clientSize","style","_invalidateBitmapSize","subscribeBitmapSizeChanged","listener","unsubscribeBitmapSizeChanged","l","subscribeSuggestedBitmapSizeChanged","unsubscribeSuggestedBitmapSizeChanged","applySuggestedBitmapSize","oldSuggestedSize","_resizeBitmap","_emitSuggestedBitmapSizeChanged","newSize","oldSize","bitmapSize","_emitBitmapSizeChanged","call","_suggestNewBitmapSize","finalNewSize","newSuggestedSize","Promise","resolve","ro","ResizeObserver","entries","every","entry","observe","document","body","box","catch","then","isSupported","_initResizeObserver","_initDevicePixelRatioObservable","canvasElementWindow","createDevicePixelRatioObservable","ratio","value","canvasRects","getClientRects","undefined","canvasRect","Math","round","left","top","predictedBitmapSize","find","target","devicePixelContentBoxSize","entrySize","inlineSize","blockSize","ownerDocument","defaultView","CanvasRenderingTarget2D","context","mediaSize","TypeError","_mediaSize","_bitmapSize","_context","useMediaCoordinateSpace","f","save","setTransform","scale","_horizontalPixelRatio","_verticalPixelRatio","restore","useBitmapCoordinateSpace","horizontalPixelRatio","verticalPixelRatio","tryCreateCanvasRenderingTarget2D","binding","contextOptions","canvasElementClientSize","getContext","e","upColor","downColor","wickVisible","borderVisible","borderColor","borderUpColor","borderDownColor","wickColor","wickUpColor","wickDownColor","r","openVisible","thinBars","h","color","lineStyle","lineWidth","lineType","lineVisible","crosshairMarkerVisible","crosshairMarkerRadius","crosshairMarkerBorderColor","crosshairMarkerBorderWidth","crosshairMarkerBackgroundColor","lastPriceAnimation","pointMarkersVisible","topColor","bottomColor","invertFilledArea","lineColor","a","baseValue","type","price","topFillColor1","topFillColor2","topLineColor","bottomFillColor1","bottomFillColor2","bottomLineColor","base","_","u","title","visible","lastValueVisible","priceLineVisible","priceLineSource","priceLineWidth","priceLineColor","priceLineStyle","baseLineVisible","baseLineWidth","baseLineColor","baseLineStyle","priceFormat","precision","minMove","c","d","t","i","n","setLineDash","v","s","beginPath","moveTo","lineTo","stroke","p","m","b","w","Simple","WithSteps","Curved","Solid","Dotted","Dashed","LargeDashed","SparseDotted","g","khaki","azure","aliceblue","ghostwhite","gold","goldenrod","gainsboro","gray","green","honeydew","floralwhite","lightblue","lightcoral","lemonchiffon","hotpink","lightyellow","greenyellow","lightgoldenrodyellow","limegreen","linen","lightcyan","magenta","maroon","olive","orange","oldlace","mediumblue","transparent","lime","lightpink","mistyrose","moccasin","midnightblue","orchid","mediumorchid","mediumturquoise","orangered","royalblue","powderblue","red","coral","turquoise","white","whitesmoke","wheat","teal","steelblue","bisque","aquamarine","aqua","sienna","silver","springgreen","antiquewhite","burlywood","brown","beige","chocolate","chartreuse","cornflowerblue","cornsilk","crimson","cadetblue","tomato","fuchsia","blue","salmon","blanchedalmond","slateblue","slategray","thistle","tan","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","blueviolet","black","darkmagenta","darkslateblue","darkkhaki","darkorchid","darkorange","darkgreen","darkred","dodgerblue","darkslategray","dimgray","deepskyblue","firebrick","forestgreen","indigo","ivory","lavenderblush","feldspar","indianred","lightgreen","lightgrey","lightskyblue","lightslategray","lightslateblue","snow","lightseagreen","lightsalmon","darksalmon","darkviolet","mediumpurple","mediumaquamarine","skyblue","lavender","lightsteelblue","mediumvioletred","mintcream","navajowhite","navy","olivedrab","palevioletred","violetred","yellow","yellowgreen","lawngreen","pink","paleturquoise","palegoldenrod","darkolivegreen","darkseagreen","darkturquoise","peachpuff","deeppink","violet","palegreen","mediumseagreen","peru","saddlebrown","sandybrown","rosybrown","purple","seagreen","seashell","papayawhip","mediumslateblue","plum","mediumspringgreen","M","x","min","max","S","k","y","C","T","toLowerCase","exec","parseInt","parseFloat","P","R","D","constructor","findIndex","splice","V","hasOwnProperty","includes","Array","isArray","O","isFinite","B","A","I","z","L","E","N","F","W","NaN","j","H","$","U","layout","textColor","q","fontSize","fontFamily","Y","Z","X","K","super","arguments","G","J","tt","floor","to","from","it","nt","st","arc","PI","fill","et","fillStyle","rt","ht","lt","ot","_t","ut","ct","dt","ft","vt","bt","wt","map","gt","Mt","mode","xt","St","kt","yt","Ct","Tt","Pt","Dt","Rt","Vt","Ot","Bt","At","It","zt","Lt","Et","lineCap","strokeStyle","Nt","Ft","Wt","jt","Ht","$t","crosshair","Ut","qt","horzLine","vertLine","Yt","Zt","fillRect","globalCompositeOperation","roundRect","arcTo","Q","closePath","createLinearGradient","addColorStop","Xt","Kt","font","Gt","Jt","Qt","ti","ii","ni","si","ei","ri","hi","li","ai","oi","_i","ui","ci","di","textAlign","textBaseline","fillText","fi","pi","mi","bi","wi","gi","Mi","ceil","xi","Si","ki","yi","Ci","Ti","Pi","Ri","Di","Vi","Oi","Bi","Ai","ticksVisible","Ii","zi","Li","Ei","labelVisible","Ni","labelBackgroundColor","Fi","Wi","ji","Hi","abs","translate","$i","Ui","qi","Yi","Zi","Xi","Ki","Gi","Ji","Qi","at","Normal","Magnet","Hidden","tn","nn","sn","en","rn","Map","hn","ln","an","_n","un","cn","dn","fn","vn","pn","mn","Number","bn","wn","gn","Mn","xn","Sn","kn","yn","Cn","Tn","Pn","Rn","clear","Dn","Vn","On","Bn","isNaN","In","An","set","zn","Ln","En","Nn","Fn","Wn","jn","Hn","$n","Un","qn","Yn","Zn","Xn","Kn","Gn","Jn","Qn","ts","ns","ss","es","toString","slice","rs","hs","format","ls","_s","toFixed","pt","us","cs","pow","replace","String","mt","bezierCurveTo","ds","fs","vs","ps","lineJoin","bs","bind","ws","gs","Ms","xs","Ss","ks","ys","Cs","Ts","Ps","Rs","Ds","Vs","Os","Bs","As","Is","zs","Ls","Es","Ns","Fs","Ws","js","Hs","assign","Us","$s","qs","Ys","Zs","Xs","Ks","Gs","Js","Qs","te","ie","ne","se","ee","re","he","le","pointMarkersRadius","ae","oe","_e","ue","ce","de","fe","ve","pe","me","be","we","ge","Me","xe","Se","ke","ye","Ce","Te","Pe","Re","De","Ve","Oe","atan","Be","Ae","Ie","ze","Le","Ee","Ne","Fe","draw","renderer","We","priceValueBuilder","je","isWhitespace","He","$e","update","bars","barSpacing","visibleRange","time","originalData","barColor","Ue","qe","Ye","Ze","Xe","Ke","Ge","Je","Qe","tr","ir","nr","sr","actualBoundingBoxAscent","actualBoundingBoxDescent","has","er","delete","measureText","rr","hr","lr","ar","_r","ur","cr","dr","vr","pr","mr","br","wr","gr","Mr","Sr","kr","yr","Cr","Tr","Pr","Rr","Dr","Vr","Or","Br","Ar","Ir","zr","Lr","Er","Nr","Fr","performance","now","Wr","jr","Hr","$r","Ur","qr","Yr","Zr","Xr","Kr","Gr","vi","Jr","Qr","th","ih","nh","sqrt","position","sh","eh","rh","hh","ah","oh","_h","uh","dh","fh","above","aboveBar","inBar","below","belowBar","reduce","shape","id","text","ph","mh","bh","seriesLastValueMode","wh","gh","Mh","xh","Sh","trim","kh","yh","Ch","Th","Ph","Rh","Dh","Vh","Oh","Bh","minValue","maxValue","Ah","Ih","zh","Lh","Eh","priceRange","margins","Nh","Fh","axisLabelVisible","Wh","axisLabelColor","axisLabelTextColor","jh","Hh","$h","Uh","qh","Yh","Zh","Bar","Candlestick","Xh","Custom","Area","Baseline","Line","Histogram","Kh","Gh","Jh","Qh","NearestLeft","None","NearestRight","tl","il","nl","sl","el","rl","hl","ll","al","ol","_l","ul","cl","dl","fl","vl","pl","ml","bl","wl","gl","drawBackground","Ml","xl","Sl","zOrder","coordinate","fixedCoordinate","backColor","tickVisible","kl","yl","Cl","Tl","Pl","Rl","Dl","Vl","Ol","updateAllViews","paneViews","timeAxisViews","priceAxisViews","Bl","priceAxisPaneViews","Al","timeAxisPaneViews","Il","autoscaleInfo","hitTest","zl","Ll","El","Nl","Fl","Wl","jl","Hl","$l","Ul","ql","clearTimeout","Yl","Zl","priceScaleId","Xl","Kl","Gl","Jl","Ql","ta","ia","na","sa","ea","ra","indexOf","ha","la","aa","setTimeout","oa","unshift","ua","ca","da","fa","va","autoscaleInfoProvider","pa","ma","ba","wa","ga","Ma","xa","Sa","ka","ya","Ca","Ta","Pa","formatter","Ra","Da","Va","originalTime","Oa","Ba","sort","Aa","Ia","za","La","Ea","Na","Fa","Wa","ja","grid","horzLines","vertLines","Ha","coord","$a","Ua","log10","on","qa","Ya","Za","Xa","Ka","Ga","Ja","Qa","io","entireTextOnly","no","so","eo","Logarithmic","Percentage","IndexedTo100","ho","lo","ao","oo","_o","uo","co","do","fo","vo","po","mo","bo","wo","Mo","xo","So","ko","yo","Co","To","Po","Ro","scaleMargins","bottom","Do","Vo","autoScale","Oo","Bo","invertScale","Ao","Io","zo","Lo","Eo","No","Fo","Wo","jo","Ho","$o","Uo","qo","Yo","Zo","Xo","Ko","Go","Jo","Qo","t_","i_","n_","s_","e_","r_","h_","l_","a_","priceFormatter","percentageFormatter","o_","__","u_","c_","d_","f_","v_","leftPriceScale","p_","rightPriceScale","m_","b_","localization","overlayPriceScales","values","w_","g_","M_","x_","S_","k_","C_","y_","T_","P_","R_","D_","V_","O_","B_","A_","I_","z_","L_","E_","N_","F_","W_","j_","H_","U_","q_","Y_","cacheKey","Z_","X_","K_","G_","J_","Q_","tu","iu","nu","timeWeight","index","weight","su","eu","ru","keys","hu","lu","au","ou","_u","uu","cu","du","fu","vu","pu","mu","bu","wu","gu","Mu","xu","rightOffset","Su","ku","uniformDistribution","yu","Cu","fixLeftEdge","Tu","fixRightEdge","Pu","minBarSpacing","key","Ru","Du","Vu","Ou","Bu","Au","Iu","lockVisibleTimeRangeOnResize","zu","Lu","Eu","Nu","Fu","Wu","ju","Hu","tickMarkMaxCharacterLength","$u","label","Uu","needAlignCoordinate","qu","Yu","Zu","rightBarStaysOnScroll","Xu","Ku","Gu","Ju","RangeError","Qu","tc","nc","sc","ec","rc","hc","lc","timeFormatter","formatHorzItem","handleScroll","handleScale","horzTouchDrag","mouseWheel","pressedMouseMove","vertTouchDrag","axisDoubleClickReset","axisPressedMouseMove","pinch","ac","oc","_c","uc","cc","dc","fc","formatTickmark","updateFormatter","vc","mc","bc","wc","gc","Mc","xc","Sc","kc","horzAlign","vertAlign","fontStyle","OnTouchEnd","OnNextTap","yc","Cc","Tc","Pc","Rc","Dc","Vc","Oc","timeScale","Bc","Ac","watermark","Ic","zc","Lc","Ec","Nc","Fc","Wc","jc","Hc","$c","Uc","qc","Yc","Zc","Xc","Kc","Gc","Jc","Qc","td","nd","sd","ed","rd","hd","ld","ad","od","_d","allowShiftVisibleRangeOnWhitespaceReplacement","shiftVisibleRangeOnNewBar","ud","dd","fd","vd","pd","md","bd","wd","background","Disabled","Continuous","OnDataUpdate","LastBar","LastVisible","VerticalGradient","Year","Month","DayOfMonth","Time","TimeWithSeconds","getUTCFullYear","gd","Md","Date","getUTCMonth","toLocaleString","month","getUTCDate","xd","getUTCHours","getUTCMinutes","getUTCSeconds","Sd","kd","yd","Cd","Td","Pd","Rd","Dd","Vd","getTime","UTC","year","day","Od","Bd","is","setOptions","preprocessData","createConverterToInternalObj","convertHorzItemToInternal","dateFormat","timeVisible","Ad","secondsVisible","locale","tickMarkFormatter","hour12","hour","minute","getUTCMilliseconds","maxTickMarkWeight","fillWeightsForPoints","Id","window","navigator","userAgent","test","platform","zd","sign","as","Ld","Ed","Nd","Fd","Wd","jd","Hd","$d","Ud","qd","Yd","log","Zd","os","Xd","Kd","Gd","Jd","Qd","tf","removeChild","nf","sf","ef","attributionLogo","rf","URL","location","href","hostname","pathname","if","createElement","innerText","innerHTML","toggleAttribute","appendChild","transform","clearRect","hf","lf","af","NEGATIVE_INFINITY","POSITIVE_INFINITY","_f","uf","cf","df","ff","vf","pf","mf","bf","wf","gf","Mf","xf","Sf","kf","yf","Cf","Tf","Pf","Rf","Df","Vf","Of","Bf","Af","If","zf","Lf","Ef","Nf","Ff","Wf","Hf","jf","$f","Uf","qf","Yf","Zf","Xf","Kf","Gf","Jf","removeEventListener","addEventListener","Qf","tv","iv","changedTouches","nv","sv","ev","rv","hv","lv","button","av","ov","touches","_v","uv","documentElement","cv","dv","fv","identifier","passive","vv","pv","mv","bv","wv","composed","contains","composedPath","gv","chrome","preventDefault","Mv","xv","Sv","kv","yv","ms","Cv","Tv","getBoundingClientRect","clientX","clientY","Pv","Rv","sourceCapabilities","firesTouchEvents","pageX","pageY","screenX","screenY","localX","localY","ctrlKey","altKey","shiftKey","metaKey","Dv","startsWith","Vv","Ov","Bv","view","Av","cancelable","timeStamp","Iv","zv","externalId","Lv","cursorStyle","Ev","Nv","Fv","Wv","jv","Hv","$v","Uv","qv","Yv","Zv","Xv","Kv","overflow","Gv","zIndex","Jv","Qv","tp","ip","np","sp","ep","rp","hp","lp","ap","op","_p","up","cp","dp","fp","vp","pp","mp","bp","wp","gp","Mp","xp","Sp","drawImage","kp","rect","alignLabels","yp","cursor","Cp","Tp","Pp","Rp","Dp","Vp","Op","Bp","Ap","Ip","zp","Lp","Ep","Np","Fp","Wp","padding","jp","Hp","$p","Up","qp","Yp","Zp","Xp","Kp","Gp","Jp","Qp","tm","im","nm","sm","rm","hm","lm","am","trackingMode","exitMode","om","isBackground","_m","um","dm","fm","vm","pm","bm","wm","gm","Mm","xm","Sm","km","activeElement","blur","getSelection","removeAllRanges","kineticScroll","ym","Cm","touch","mouse","Tm","Pm","Rm","Dm","Vm","Om","Bm","Am","Im","zm","Lm","Em","Nm","Fm","Wm","jm","Hm","$m","Um","qm","Ym","allowBoldLabels","Zm","userAgentData","brands","some","brand","Xm","Km","Gm","Jm","Qm","tb","ib","nb","classList","add","direction","userSelect","webkitUserSelect","msUserSelect","MozUserSelect","webkitTapHighlightColor","sb","setAttribute","eb","rb","hb","lb","ab","autoSize","ob","ub","cb","fb","cancelAnimationFrame","parentElement","pb","mb","bb","wb","gb","Mb","xb","Sb","kb","yb","setProperty","removeProperty","Cb","Tb","Pb","minimumWidth","minimumHeight","Rb","deltaMode","DOM_DELTA_PAGE","DOM_DELTA_LINE","deltaX","deltaY","Db","Vb","Ob","requestAnimationFrame","pop","Bb","Ab","insertBefore","Ib","zb","Lb","Eb","Nb","Fb","Wb","display","contentRect","Boolean","getOwnPropertySymbols","propertyIsEnumerable","open","high","low","close","customValues","jb","Hb","$b","Ub","qb","Yb","Zb","Xb","Kb","pointData","Gb","Jb","Qb","tw","iw","nw","sw","ew","rw","hw","lw","language","aw","ow","applyOptions","_w","uw","cw","dw","fw","priceToCoordinate","coordinateToPrice","barsInLogicalRange","barsBefore","barsAfter","setData","pw","mw","bw","dataByIndex","seriesType","data","subscribeDataChanged","unsubscribeDataChanged","setMarkers","markers","priceScale","createPriceLine","removePriceLine","attachPrimitive","attached","chart","series","requestUpdate","detachPrimitive","detached","ww","gw","Mw","xw","scrollPosition","scrollToPosition","scrollToRealTime","getVisibleRange","setVisibleRange","getVisibleLogicalRange","setVisibleLogicalRange","resetTimeScale","fitContent","logicalToCoordinate","coordinateToLogical","timeToCoordinate","coordinateToTime","subscribeVisibleTimeRangeChange","unsubscribeVisibleTimeRangeChange","subscribeVisibleLogicalRangeChange","unsubscribeVisibleLogicalRangeChange","subscribeSizeChange","unsubscribeSizeChange","Sw","kw","yw","Cw","Tw","Pw","Rw","Dw","remove","resize","autoSizeActive","addCustomSeries","defaultOptions","Vw","addAreaSeries","addBaselineSeries","addBarSeries","addCandlestickSeries","addHistogramSeries","addLineSeries","removeSeries","Ow","subscribeClick","unsubscribeClick","subscribeCrosshairMove","unsubscribeCrosshairMove","subscribeDblClick","unsubscribeDblClick","takeScreenshot","chartElement","paneSize","setCrosshairPosition","clearCrosshairPosition","Bw","logical","point","hoveredSeries","hoveredObjectId","seriesData","sourceEvent","getElementById","useSocket","socketInstance","socket","useState","isConnected","setIsConnected","isConnecting","setIsConnecting","useEffect","handleConnect","console","handleDisconnect","handleConnectError","error","connected","off","connect","useCallback","subscribeToOHLCV","mint","timeFrame","onInitialData","onUpdate","onNewCandle","warn","emit","unsubscribeFromOHLCV","subscribeToPrice","onPriceUpdate","unsubscribeFromPrice","testConnection","message","timestamp","once","response","useOptimizedTokenAnalytics","analyticsData","analytics","setAnalytics","loading","setLoading","setError","lastUpdate","setLastUpdate","setConnected","derivedValues","useMemo","market","currentPrice","currentMarketCap","currentVolume","performance24h","isPositive","raw","performance7d","performance1m","performanceAllTime","high24h","low24h","volume24h","return24h","marketCap","volume","current","blockchain","currentRealSol","percentage","gain","return","isRealVolume","thisArg","apply","getPrototypeOf","iterator","toStringTag","Symbol","kindOf","cache","create","thing","str","kindOfTest","typeOfTest","isUndefined","isBuffer","val","isFunction","isArrayBuffer","isString","isNumber","isObject","isPlainObject","isDate","isFile","isBlob","isFileList","isURLSearchParams","isReadableStream","isRequest","isResponse","isHeaders","obj","allOwnKeys","getOwnPropertyNames","len","findKey","_key","_global","globalThis","self","global","isContextDefined","isTypedArray","TypedArray","Uint8Array","isHTMLForm","prop","isRegExp","reduceDescriptors","reducer","descriptors","getOwnPropertyDescriptors","reducedDescriptors","descriptor","name","ret","defineProperties","isAsyncFn","_setImmediate","setImmediateSupported","setImmediate","postMessageSupported","postMessage","token","random","callbacks","source","shift","asap","queueMicrotask","process","nextTick","utils$1","isFormData","kind","FormData","append","isArrayBufferView","result","ArrayBuffer","isView","buffer","isBoolean","isEmptyObject","isStream","pipe","merge","caseless","skipUndefined","assignValue","targetKey","extend","stripBOM","content","charCodeAt","inherits","superConstructor","props","toFlatObject","sourceObj","destObj","propFilter","merged","endsWith","searchString","lastIndex","toArray","arr","forEachEntry","_iterator","done","pair","matchAll","regExp","matches","hasOwnProp","freezeMethods","writable","toObjectSet","arrayOrString","delimiter","define","split","toCamelCase","p1","p2","toUpperCase","noop","toFiniteNumber","defaultValue","isSpecCompliantForm","toJSONObject","stack","visit","reducedValue","isThenable","isIterable","AxiosError","code","config","request","captureStackTrace","status","utils","toJSON","description","number","fileName","lineNumber","columnNumber","customProps","axiosError","msg","errCode","cause","isVisitable","removeBrackets","renderKey","path","dots","join","predicates","toFormData","formData","metaTokens","indexes","option","visitor","defaultVisitor","useBlob","Blob","convertValue","toISOString","Buffer","JSON","stringify","isFlatArray","exposedHelpers","build","encode","charMap","encodeURIComponent","match","AxiosURLSearchParams","params","_pairs","buildURL","url","_encode","serialize","serializeFn","serializedParams","hashmarkIndex","encoder","InterceptorManager","handlers","use","fulfilled","rejected","synchronous","runWhen","eject","transitionalDefaults","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","platform$1","isBrowser","classes","URLSearchParams","protocols","hasBrowserEnv","_navigator","hasStandardBrowserEnv","product","hasStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","origin","formDataToJSON","buildPath","isNumericKey","isLast","arrayToObject","parsePropPath","defaults","transitional","adapter","transformRequest","headers","contentType","getContentType","hasJSONContentType","isObjectPayload","setContentType","helpers","isNode","toURLEncodedForm","formSerializer","_FormData","env","rawValue","parser","parse","stringifySafely","transformResponse","JSONRequested","responseType","strictJSONParsing","parseReviver","ERR_BAD_RESPONSE","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","Accept","method","ignoreDuplicateOf","$internals","normalizeHeader","header","normalizeValue","matchHeaderValue","isHeaderNameFilter","AxiosHeaders$1","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","rawHeaders","parsed","line","substring","parseHeaders","dest","tokens","tokensRE","parseTokens","matcher","deleted","deleteHeader","normalize","normalized","char","formatHeader","targets","asStrings","getSetCookie","computed","accessor","accessors","defineAccessor","accessorName","methodName","arg1","arg2","arg3","buildAccessors","transformData","fns","AxiosHeaders","isCancel","__CANCEL__","CanceledError","ERR_CANCELED","settle","reject","ERR_BAD_REQUEST","mapped","headerValue","progressEventReducer","isDownloadStream","freq","bytesNotified","_speedometer","samplesCount","bytes","timestamps","firstSampleTS","head","tail","chunkLength","startedAt","bytesCount","passed","speedometer","lastArgs","timer","threshold","invoke","args","throttle","loaded","total","lengthComputable","progressBytes","rate","progress","estimated","event","progressEventDecorator","throttled","asyncDecorator","isURLSameOrigin","isMSIE","protocol","host","port","cookies","write","expires","domain","secure","cookie","toGMTString","read","RegExp","decodeURIComponent","buildFullPath","baseURL","requestedURL","allowAbsoluteUrls","isRelativeUrl","relativeURL","combineURLs","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","paramsSerializer","timeoutMessage","withCredentials","withXSRFToken","onUploadProgress","onDownloadProgress","decompress","beforeRedirect","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding","configValue","resolveConfig","newConfig","auth","btoa","username","password","unescape","getHeaders","formHeaders","allowedHeaders","xsrfValue","xhrAdapter","XMLHttpRequest","_config","requestData","requestHeaders","onCanceled","uploadThrottled","downloadThrottled","flushUpload","flushDownload","signal","onloadend","responseHeaders","getAllResponseHeaders","err","responseText","statusText","onreadystatechange","readyState","responseURL","onabort","ECONNABORTED","onerror","ERR_NETWORK","ontimeout","timeoutErrorMessage","ETIMEDOUT","setRequestHeader","upload","cancel","abort","aborted","parseProtocol","send","composeSignals","signals","controller","AbortController","reason","streamChunk","chunk","chunkSize","byteLength","end","pos","readStream","async","stream","asyncIterator","reader","getReader","trackStream","onProgress","onFinish","iterable","readBytes","_onFinish","ReadableStream","pull","loadedBytes","enqueue","highWaterMark","globalFetchAPI","Request","Response","TextEncoder","factory","fetch","envFetch","isFetchSupported","isRequestSupported","isResponseSupported","isReadableStreamSupported","encodeText","arrayBuffer","supportsRequestStream","duplexAccessed","hasContentType","duplex","supportsResponseStream","resolvers","res","ERR_NOT_SUPPORT","resolveBodyLength","getContentLength","_request","getBodyLength","fetchOptions","_fetch","composedSignal","toAbortSignal","requestContentLength","contentTypeHeader","flush","isCredentialsSupported","resolvedOptions","credentials","isStreamResponse","responseContentLength","responseData","seedCache","getFetch","seeds","seed","knownAdapters","http","xhr","fetchAdapter.getFetch","renderReason","isResolvedHandle","adapters","nameOrAdapter","rejectedReasons","reasons","state","throwIfCancellationRequested","throwIfRequested","dispatchRequest","VERSION","validators","deprecatedWarnings","validator","version","formatMessage","opt","desc","opts","ERR_DEPRECATED","spelling","correctSpelling","assertOptions","schema","allowUnknown","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","Axios$1","instanceConfig","interceptors","configOrUrl","dummy","boolean","function","baseUrl","withXsrfToken","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","responseInterceptorChain","promise","chain","onFulfilled","onRejected","getUri","Axios","generateHTTPMethod","isForm","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Ok","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","axios","createInstance","defaultConfig","instance","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","Cancel","all","promises","spread","callback","isAxiosError","payload","formToJSON","getAdapter","default","API_CONFIG","BASE_URL","FUNHI_CHART_API_URL","NEXT_PUBLIC_BACKEND_URL","TIMEOUT","MAX_RETRIES","RETRY_DELAY","candleStorageService","savingQueue","BATCH_DELAY","BATCH_SIZE","saveCandles","candles","post","success","saveCandle","candle","queueKey","existingQueue","flushQueue","queue","getCandles","limit","candleCount","warning","flushAll","flushPromises","timeFrameStr","candleAggregation","timeframes","aggregateCandles","oneMinuteCandles","targetTimeframe","sortedCandles","aggregatedCandles","currentGroup","groupStartTime","bucketTime","aggregated","aggregateGroup","getTimeframeLabel","sorted","sum","seconds","getTimeframeSeconds","fillGaps","timeframe","filled","currentTime","getCurrentCandle","currentBucket","updateRealtimeCandle","newOneMinuteCandle","existingIndex","existing","updated","newCandles","newCandle","isValidCandle","cleanCandles","cleaned","getRequiredOneMinuteCandles","targetCount","FunhiChart","ticker","tokenName","externalSocket","externalIsConnected","externalMarketCap","analyticsConnected","externalAnalyticsConnected","analyticsLoading","externalAnalyticsLoading","chartContainerRef","useRef","chartRef","seriesRef","chartData","setChartData","setOneMinuteCandles","setCurrentMarketCap","internalSocketData","internalAnalytics","realTimeMarketCap","timeFrames","currentTimeFrame","setCurrentTimeFrame","formatMarketCap","fillGapsInCandles","filledCandles","currentCandle","nextCandle","expectedMinutes","gapMinutes","lastKnownPrice","gapMinute","loadCandlesFromDatabase","retryCount","createChart","CrosshairMode","targetCandleCount","requiredOneMinuteCandles","existingCandles","uniqueCandles","acc","finalCandles","array","latestCandleTime","minutesSinceLastCandle","since","currentMinute","hasCurrentMinuteCandle","handleResize","handleTimeFrameChange","timeFrameValue","newTimeFrame","handleCurrentCandleUpdate","prev","toLocaleTimeString","handleCandleFromOtherClient","existingCandle","newData","handleRecentCandlesResponse","updatedData","aggregateAndUpdateChart","displayCandles","currentPeriodCandles","React","className","onClick","ref"],"mappings":"oCAAO,SAASA,EAAKC,GACjB,IAAIC,EAAQD,EAAGC,MAAOC,EAASF,EAAGE,OAClC,GAAID,EAAQ,EACR,MAAM,IAAIE,MAAM,0CAEpB,GAAID,EAAS,EACT,MAAM,IAAIC,MAAM,2CAEpB,MAAO,CACHF,MAAOA,EACPC,OAAQA,EAEhB,CACO,SAASE,EAAWC,EAAOC,GAC9B,OAAQD,EAAMJ,QAAUK,EAAOL,OAC1BI,EAAMH,SAAWI,EAAOJ,MACjC,CChBA,IAAIK,EAA4B,WAC5B,SAASA,EAAWC,GAChB,IAAIC,EAAQC,KACZA,KAAKC,oBAAsB,WAAc,OAAOF,EAAMG,sBAAwB,EAC9EF,KAAKG,0BAA4B,KACjCH,KAAKI,WAAa,GAClBJ,KAAKK,QAAUP,EACfE,KAAKM,4BACT,CA+CA,OA9CAT,EAAWU,UAAUC,QAAU,WAC3BR,KAAKS,+BACLT,KAAKK,QAAU,IACnB,EACAK,OAAOC,eAAed,EAAWU,UAAW,QAAS,CACjDK,IAAK,WACD,OAAOZ,KAAKK,QAAQQ,gBACxB,EACAC,YAAY,EACZC,cAAc,IAElBlB,EAAWU,UAAUS,UAAY,SAAUC,GACvC,IAAIlB,EAAQC,KACRkB,EAAW,CAAED,KAAMA,GAEvB,OADAjB,KAAKI,WAAWe,KAAKD,GACd,CACHE,YAAa,WACTrB,EAAMK,WAAaL,EAAMK,WAAWiB,OAAO,SAAUC,GAAK,OAAOA,IAAMJ,CAAU,EACrF,EAER,EACArB,EAAWU,UAAUD,2BAA6B,WAC9C,GAAuC,OAAnCN,KAAKG,0BACL,MAAM,IAAIV,MAAM,4CAEpB,IAAI8B,EAAOvB,KAAKK,QAAQQ,iBACxBb,KAAKG,0BAA4BH,KAAKK,QAAQmB,WAAW,wBAAwBC,OAAOF,EAAM,UAE9FvB,KAAKG,0BAA0BuB,YAAY1B,KAAKC,oBACpD,EACAJ,EAAWU,UAAUE,6BAA+B,WACT,OAAnCT,KAAKG,4BAELH,KAAKG,0BAA0BwB,eAAe3B,KAAKC,qBACnDD,KAAKG,0BAA4B,KAEzC,EACAN,EAAWU,UAAUqB,6BAA+B,WAChD5B,KAAKS,+BACLT,KAAKM,4BACT,EACAT,EAAWU,UAAUL,qBAAuB,WACxC,IAAIH,EAAQC,KACZA,KAAKI,WAAWyB,QAAQ,SAAUX,GAAY,OAAOA,EAASD,KAAKlB,EAAMM,QAAQQ,iBAAmB,GACpGb,KAAK4B,8BACT,EACO/B,CACX,ICtDA,IAAIiC,EAA8C,WAC9C,SAASA,EAA6BC,EAAeC,EAAqBC,GACtE,IAAI3C,EACJU,KAAKkC,eAAiB,KACtBlC,KAAKmC,4BAA8B,GACnCnC,KAAKoC,qBAAuB,KAC5BpC,KAAKqC,qCAAuC,GAE5CrC,KAAKsC,4BAA8B,KAEnCtC,KAAKuC,6BAA+B,KACpCvC,KAAKkC,eAAiBH,EACtB/B,KAAKwC,yBAA2BnD,EAAK,CACjCE,MAAOS,KAAKkC,eAAeO,YAC3BjD,OAAQQ,KAAKkC,eAAeQ,eAEhC1C,KAAK2C,qBAAuBX,QAAiEA,EAAmB,SAAc3C,GAAQ,OAAOA,CAAO,EACpJW,KAAK4C,qBAAgH,QAAxFtD,EAAK2C,aAAyC,EAASA,EAAQY,2BAAwC,IAAPvD,GAAgBA,EAC7IU,KAAK8C,wBAET,CAsLA,OArLAhB,EAA6BvB,UAAUC,QAAU,WAC7C,IAAIlB,EAAIyD,EACR,GAA4B,OAAxB/C,KAAKkC,eACL,MAAM,IAAIzC,MAAM,sBAEyB,QAA5CH,EAAKU,KAAKuC,oCAAiD,IAAPjD,GAAyBA,EAAG0D,aACjFhD,KAAKuC,6BAA+B,KACQ,QAA3CQ,EAAK/C,KAAKsC,mCAAgD,IAAPS,GAAyBA,EAAGvC,UAChFR,KAAKsC,4BAA8B,KACnCtC,KAAKqC,qCAAqCY,OAAS,EACnDjD,KAAKmC,4BAA4Bc,OAAS,EAC1CjD,KAAKkC,eAAiB,IAC1B,EACAxB,OAAOC,eAAemB,EAA6BvB,UAAW,gBAAiB,CAC3EK,IAAK,WACD,GAA4B,OAAxBZ,KAAKkC,eACL,MAAM,IAAIzC,MAAM,sBAEpB,OAAOO,KAAKkC,cAChB,EACApB,YAAY,EACZC,cAAc,IAElBL,OAAOC,eAAemB,EAA6BvB,UAAW,0BAA2B,CACrFK,IAAK,WACD,OAAOZ,KAAKwC,wBAChB,EACA1B,YAAY,EACZC,cAAc,IAElBL,OAAOC,eAAemB,EAA6BvB,UAAW,aAAc,CACxEK,IAAK,WACD,OAAOvB,EAAK,CACRE,MAAOS,KAAK+B,cAAcxC,MAC1BC,OAAQQ,KAAK+B,cAAcvC,QAEnC,EACAsB,YAAY,EACZC,cAAc,IAMlBe,EAA6BvB,UAAU2C,oBAAsB,SAAUC,GACnEnD,KAAKwC,yBAA2BnD,EAAK8D,GACrCnD,KAAK+B,cAAcqB,MAAM7D,MAAQ,GAAGkC,OAAOzB,KAAKwC,yBAAyBjD,MAAO,MAChFS,KAAK+B,cAAcqB,MAAM5D,OAAS,GAAGiC,OAAOzB,KAAKwC,yBAAyBhD,OAAQ,MAClFQ,KAAKqD,uBACT,EACAvB,EAA6BvB,UAAU+C,2BAA6B,SAAUC,GAC1EvD,KAAKmC,4BAA4BhB,KAAKoC,EAC1C,EACAzB,EAA6BvB,UAAUiD,6BAA+B,SAAUD,GAC5EvD,KAAKmC,4BAA8BnC,KAAKmC,4BAA4Bd,OAAO,SAAUoC,GAAK,OAAOA,IAAMF,CAAU,EACrH,EACA7C,OAAOC,eAAemB,EAA6BvB,UAAW,sBAAuB,CACjFK,IAAK,WACD,OAAOZ,KAAKoC,oBAChB,EACAtB,YAAY,EACZC,cAAc,IAElBe,EAA6BvB,UAAUmD,oCAAsC,SAAUH,GACnFvD,KAAKqC,qCAAqClB,KAAKoC,EACnD,EACAzB,EAA6BvB,UAAUoD,sCAAwC,SAAUJ,GACrFvD,KAAKqC,qCAAuCrC,KAAKqC,qCAAqChB,OAAO,SAAUoC,GAAK,OAAOA,IAAMF,CAAU,EACvI,EACAzB,EAA6BvB,UAAUqD,yBAA2B,WAC9D,GAAkC,OAA9B5D,KAAKoC,qBAAT,CAIA,IAAIyB,EAAmB7D,KAAKoC,qBAC5BpC,KAAKoC,qBAAuB,KAC5BpC,KAAK8D,cAAcD,GACnB7D,KAAK+D,gCAAgCF,EAAkB7D,KAAKoC,qBAJ5D,CAKJ,EACAN,EAA6BvB,UAAUuD,cAAgB,SAAUE,GAC7D,IAAIC,EAAUjE,KAAKkE,WACfxE,EAAWuE,EAASD,KAGxBhE,KAAK+B,cAAcxC,MAAQyE,EAAQzE,MACnCS,KAAK+B,cAAcvC,OAASwE,EAAQxE,OACpCQ,KAAKmE,uBAAuBF,EAASD,GACzC,EACAlC,EAA6BvB,UAAU4D,uBAAyB,SAAUF,EAASD,GAC/E,IAAIjE,EAAQC,KACZA,KAAKmC,4BAA4BN,QAAQ,SAAU0B,GAAY,OAAOA,EAASa,KAAKrE,EAAOkE,EAASD,EAAU,EAClH,EACAlC,EAA6BvB,UAAU8D,sBAAwB,SAAUL,GACrE,IAAIH,EAAmB7D,KAAKoC,qBACxBkC,EAAejF,EAAKW,KAAK2C,qBAAqBqB,EAAShE,KAAKwC,2BAC5D+B,EAAmB7E,EAAWM,KAAKkE,WAAYI,GAAgB,KAAOA,EACjD,OAArBT,GAAkD,OAArBU,GAGR,OAArBV,GAAkD,OAArBU,GAC1B7E,EAAWmE,EAAkBU,KAGpCvE,KAAKoC,qBAAuBmC,EAC5BvE,KAAK+D,gCAAgCF,EAAkBU,GAC3D,EACAzC,EAA6BvB,UAAUwD,gCAAkC,SAAUE,EAASD,GACxF,IAAIjE,EAAQC,KACZA,KAAKqC,qCAAqCR,QAAQ,SAAU0B,GAAY,OAAOA,EAASa,KAAKrE,EAAOkE,EAASD,EAAU,EAC3H,EACAlC,EAA6BvB,UAAUuC,uBAAyB,WAC5D,IAAI/C,EAAQC,KACPA,KAAK4C,qBAoFP,IAAI4B,QAAQ,SAAUC,GACzB,IAAIC,EAAK,IAAIC,eAAe,SAAUC,GAClCH,EAAQG,EAAQC,MAAM,SAAUC,GAAS,MAAO,8BAA+BA,CAAO,IACtFJ,EAAG1B,YACP,GACA0B,EAAGK,QAAQC,SAASC,KAAM,CAAEC,IAAK,4BACrC,GACKC,MAAM,WAAc,OAAO,CAAO,GAtF9BC,KAAK,SAAUC,GAChB,OAAOA,EACHtF,EAAMuF,sBACNvF,EAAMwF,iCACd,GARIvF,KAAKuF,iCASb,EAEAzD,EAA6BvB,UAAUgF,gCAAkC,WACrE,IAAIxF,EAAQC,KACZ,GAA4B,OAAxBA,KAAKkC,eAAT,CAIA,IAAIpC,EAAM0F,EAAoBxF,KAAKkC,gBACnC,GAAY,OAARpC,EACA,MAAM,IAAIL,MAAM,2CAEpBO,KAAKsC,4BDpGN,SAA0BxC,GAC7B,OAAO,IAAID,EAAWC,EAC1B,CCkG2C2F,CAAiC3F,GACpEE,KAAKsC,4BAA4BtB,UAAU,WAAc,OAAOjB,EAAMsD,uBAAyB,GAC/FrD,KAAKqD,uBAPL,CAQJ,EACAvB,EAA6BvB,UAAU8C,sBAAwB,WAC3D,IAAI/D,EAAIyD,EACR,GAA4B,OAAxB/C,KAAKkC,eAAT,CAIA,IAAIpC,EAAM0F,EAAoBxF,KAAKkC,gBACnC,GAAY,OAARpC,EAAJ,CAGA,IAAI4F,EAAyG,QAAhG3C,EAAiD,QAA3CzD,EAAKU,KAAKsC,mCAAgD,IAAPhD,OAAgB,EAASA,EAAGqG,aAA0B,IAAP5C,EAAgBA,EAAKjD,EAAIe,iBAC1I+E,EAAc5F,KAAKkC,eAAe2D,iBAClC7B,OAEe8B,IAAnBF,EAAY,GAqDpB,SAA6BG,EAAYL,GACrC,OAAOrG,EAAK,CACRE,MAAOyG,KAAKC,MAAMF,EAAWG,KAAOR,EAAQK,EAAWxG,MAAQmG,GAC3DM,KAAKC,MAAMF,EAAWG,KAAOR,GACjClG,OAAQwG,KAAKC,MAAMF,EAAWI,IAAMT,EAAQK,EAAWvG,OAASkG,GAC5DM,KAAKC,MAAMF,EAAWI,IAAMT,IAExC,CA3DYU,CAAoBR,EAAY,GAAIF,GACpCrG,EAAK,CACDE,MAAOS,KAAKwC,yBAAyBjD,MAAQmG,EAC7ClG,OAAQQ,KAAKwC,yBAAyBhD,OAASkG,IAEvD1F,KAAKqE,sBAAsBL,EAX3B,CAJA,CAgBJ,EAEAlC,EAA6BvB,UAAU+E,oBAAsB,WACzD,IAAIvF,EAAQC,KACgB,OAAxBA,KAAKkC,iBAITlC,KAAKuC,6BAA+B,IAAIoC,eAAe,SAAUC,GAC7D,IAAIE,EAAQF,EAAQyB,KAAK,SAAUvB,GAAS,OAAOA,EAAMwB,SAAWvG,EAAMmC,cAAgB,GAC1F,GAAK4C,GAAUA,EAAMyB,2BAA8BzB,EAAMyB,0BAA0B,GAAnF,CAGA,IAAIC,EAAY1B,EAAMyB,0BAA0B,GAC5CvC,EAAU3E,EAAK,CACfE,MAAOiH,EAAUC,WACjBjH,OAAQgH,EAAUE,YAEtB3G,EAAMsE,sBAAsBL,EAN5B,CAOJ,GACAhE,KAAKuC,6BAA6BwC,QAAQ/E,KAAKkC,eAAgB,CAAEgD,IAAK,6BAC1E,EACOpD,CACX,IAOA,SAAS0D,EAAoBzD,GAIzB,OAAOA,EAAc4E,cAAcC,WACvC,CCtNA,IAAIC,EAAyC,WACzC,SAASA,EAAwBC,EAASC,EAAW7C,GACjD,GAAwB,IAApB6C,EAAUxH,OAAoC,IAArBwH,EAAUvH,OACnC,MAAM,IAAIwH,UAAU,oFAIxB,GAFAhH,KAAKiH,WAAaF,EAEO,IAArB7C,EAAW3E,OAAqC,IAAtB2E,EAAW1E,OACrC,MAAM,IAAIwH,UAAU,gGAExBhH,KAAKkH,YAAchD,EACnBlE,KAAKmH,SAAWL,CACpB,CA+CA,OA9CAD,EAAwBtG,UAAU6G,wBAA0B,SAAUC,GAClE,IAKI,OAJArH,KAAKmH,SAASG,OAEdtH,KAAKmH,SAASI,aAAa,EAAG,EAAG,EAAG,EAAG,EAAG,GAC1CvH,KAAKmH,SAASK,MAAMxH,KAAKyH,sBAAuBzH,KAAK0H,qBAC9CL,EAAE,CACLP,QAAS9G,KAAKmH,SACdJ,UAAW/G,KAAKiH,YAExB,CACR,QACYjH,KAAKmH,SAASQ,SAClB,CACJ,EACAd,EAAwBtG,UAAUqH,yBAA2B,SAAUP,GACnE,IAII,OAHArH,KAAKmH,SAASG,OAEdtH,KAAKmH,SAASI,aAAa,EAAG,EAAG,EAAG,EAAG,EAAG,GACnCF,EAAE,CACLP,QAAS9G,KAAKmH,SACdJ,UAAW/G,KAAKiH,WAChB/C,WAAYlE,KAAKkH,YACjBW,qBAAsB7H,KAAKyH,sBAC3BK,mBAAoB9H,KAAK0H,qBAEjC,CACR,QACY1H,KAAKmH,SAASQ,SAClB,CACJ,EACAjH,OAAOC,eAAekG,EAAwBtG,UAAW,wBAAyB,CAC9EK,IAAK,WACD,OAAOZ,KAAKkH,YAAY3H,MAAQS,KAAKiH,WAAW1H,KACpD,EACAuB,YAAY,EACZC,cAAc,IAElBL,OAAOC,eAAekG,EAAwBtG,UAAW,sBAAuB,CAC5EK,IAAK,WACD,OAAOZ,KAAKkH,YAAY1H,OAASQ,KAAKiH,WAAWzH,MACrD,EACAsB,YAAY,EACZC,cAAc,IAEX8F,CACX,IAiBO,SAASkB,EAAiCC,EAASC,GACtD,IAAIlB,EAAYiB,EAAQE,wBACxB,GAAwB,IAApBnB,EAAUxH,OAAoC,IAArBwH,EAAUvH,OACnC,OAAO,KAEX,IAAI0E,EAAa8D,EAAQ9D,WACzB,GAAyB,IAArBA,EAAW3E,OAAqC,IAAtB2E,EAAW1E,OACrC,OAAO,KAEX,IAAIsH,EAAUkB,EAAQjG,cAAcoG,WAAW,KAAMF,GACrD,OAAgB,OAAZnB,EACO,KAEJ,IAAID,EAAwBC,EAASC,EAAW7C,EAC3D;;;;;;GCxF6H,MAAMkE,EAAE,CAACC,QAAQ,UAAUC,UAAU,UAAUC,aAAY,EAAGC,eAAc,EAAGC,YAAY,UAAUC,cAAc,UAAUC,gBAAgB,UAAUC,UAAU,UAAUC,YAAY,UAAUC,cAAc,WAAWC,EAAE,CAACV,QAAQ,UAAUC,UAAU,UAAUU,aAAY,EAAGC,UAAS,GAAIC,EAAE,CAACC,MAAM,UAAUC,UAAU,EAAEC,UAAU,EAAEC,SAAS,EAAEC,aAAY,EAAGC,wBAAuB,EAAGC,sBAAsB,EAAEC,2BAA2B,GAAGC,2BAA2B,EAAEC,+BAA+B,GAAGC,mBAAmB,EAAEC,qBAAoB,GAAIrG,EAAE,CAACsG,SAAS,2BAA2BC,YAAY,yBAAyBC,kBAAiB,EAAGC,UAAU,UAAUd,UAAU,EAAEC,UAAU,EAAEC,SAAS,EAAEC,aAAY,EAAGC,wBAAuB,EAAGC,sBAAsB,EAAEC,2BAA2B,GAAGC,2BAA2B,EAAEC,+BAA+B,GAAGC,mBAAmB,EAAEC,qBAAoB,GAAIK,EAAE,CAACC,UAAU,CAACC,KAAK,QAAQC,MAAM,GAAGC,cAAc,2BAA2BC,cAAc,2BAA2BC,aAAa,wBAAwBC,iBAAiB,0BAA0BC,iBAAiB,0BAA0BC,gBAAgB,uBAAuBvB,UAAU,EAAED,UAAU,EAAEE,SAAS,EAAEC,aAAY,EAAGC,wBAAuB,EAAGC,sBAAsB,EAAEC,2BAA2B,GAAGC,2BAA2B,EAAEC,+BAA+B,GAAGC,mBAAmB,EAAEC,qBAAoB,GAAIxI,EAAE,CAAC6H,MAAM,UAAU0B,KAAK,GAAGC,EAAE,CAAC3B,MAAM,WAAW4B,EAAE,CAACC,MAAM,GAAGC,SAAQ,EAAGC,kBAAiB,EAAGC,kBAAiB,EAAGC,gBAAgB,EAAEC,eAAe,EAAEC,eAAe,GAAGC,eAAe,EAAEC,iBAAgB,EAAGC,cAAc,EAAEC,cAAc,UAAUC,cAAc,EAAEC,YAAY,CAACvB,KAAK,QAAQwB,UAAU,EAAEC,QAAQ,MAAM,IAAIC,EAAEC,EAAqhBC,EAAnhB,SAAS5E,EAAE4E,EAAEC,GAAG,MAAMC,EAAE,CAAC,EAAE,GAAG,EAAE,CAACF,EAAE5C,UAAU4C,EAAE5C,WAAW,EAAE,CAAC,EAAE4C,EAAE5C,UAAU,EAAE4C,EAAE5C,WAAW,EAAE,CAAC,EAAE4C,EAAE5C,UAAU,EAAE4C,EAAE5C,WAAW,EAAE,CAAC4C,EAAE5C,UAAU,EAAE4C,EAAE5C,YAAY6C,GAAGD,EAAEG,YAAYD,EAAE,CAAC,SAASE,EAAEJ,EAAEC,EAAEC,EAAEG,GAAGL,EAAEM,YAAY,MAAMnE,EAAE6D,EAAE5C,UAAU,EAAE,GAAG,EAAE4C,EAAEO,OAAOL,EAAED,EAAE9D,GAAG6D,EAAEQ,OAAOH,EAAEJ,EAAE9D,GAAG6D,EAAES,QAAQ,CAAC,SAASC,EAAEV,EAAEC,GAAG,IAAID,EAAE,MAAM,IAAIxM,MAAM,oBAAoByM,EAAE,KAAKA,EAAE,IAAI,CAAC,SAASU,EAAEX,GAAG,QAAG,IAASA,EAAE,MAAM,IAAIxM,MAAM,sBAAsB,OAAOwM,CAAC,CAAC,SAASY,EAAEZ,GAAG,GAAG,OAAOA,EAAE,MAAM,IAAIxM,MAAM,iBAAiB,OAAOwM,CAAC,CAAC,SAASa,EAAEb,GAAG,OAAOY,EAAED,EAAEX,GAAG,EAAWA,EAA+EF,IAAIA,EAAE,CAAA,IAAhFE,EAAEc,OAAO,GAAG,SAASd,EAAEA,EAAEe,UAAU,GAAG,YAAYf,EAAEA,EAAEgB,OAAO,GAAG,SAAqB,SAAShB,GAAGA,EAAEA,EAAEiB,MAAM,GAAG,QAAQjB,EAAEA,EAAEkB,OAAO,GAAG,SAASlB,EAAEA,EAAEmB,OAAO,GAAG,SAASnB,EAAEA,EAAEoB,YAAY,GAAG,cAAcpB,EAAEA,EAAEqB,aAAa,GAAG,cAAc,CAAlJ,CAAoJtB,IAAIA,EAAE,CAAA,IAAK,MAAMuB,EAAE,CAACC,MAAM,UAAUC,MAAM,UAAUC,UAAU,UAAUC,WAAW,UAAUC,KAAK,UAAUC,UAAU,UAAUC,UAAU,UAAUC,KAAK,UAAUC,MAAM,UAAUC,SAAS,UAAUC,YAAY,UAAUC,UAAU,UAAUC,WAAW,UAAUC,aAAa,UAAUC,QAAQ,UAAUC,YAAY,UAAUC,YAAY,UAAUC,qBAAqB,UAAUC,UAAU,UAAUC,MAAM,UAAUC,UAAU,UAAUC,QAAQ,OAAOC,OAAO,UAAUC,MAAM,UAAUC,OAAO,UAAUC,QAAQ,UAAUC,WAAW,UAAUC,YAAY,QAAQC,KAAK,OAAOC,UAAU,UAAUC,UAAU,UAAUC,SAAS,UAAUC,aAAa,UAAUC,OAAO,UAAUC,aAAa,UAAUC,gBAAgB,UAAUC,UAAU,UAAUC,UAAU,UAAUC,WAAW,UAAUC,IAAI,OAAOC,MAAM,UAAUC,UAAU,UAAUC,MAAM,OAAOC,WAAW,UAAUC,MAAM,UAAUC,KAAK,UAAUC,UAAU,UAAUC,OAAO,UAAUC,WAAW,UAAUC,KAAK,OAAOC,OAAO,UAAUC,OAAO,UAAUC,YAAY,UAAUC,aAAa,UAAUC,UAAU,UAAUC,MAAM,UAAUC,MAAM,UAAUC,UAAU,UAAUC,WAAW,UAAUC,eAAe,UAAUC,SAAS,UAAUC,QAAQ,UAAUC,UAAU,UAAUC,OAAO,UAAUC,QAAQ,OAAOC,KAAK,OAAOC,OAAO,UAAUC,eAAe,UAAUC,UAAU,UAAUC,UAAU,UAAUC,QAAQ,UAAUC,IAAI,UAAUC,KAAK,OAAOC,SAAS,UAAUC,SAAS,UAAUC,cAAc,UAAUC,SAAS,UAAUC,WAAW,UAAUC,MAAM,OAAOC,YAAY,UAAUC,cAAc,UAAUC,UAAU,UAAUC,WAAW,UAAUC,WAAW,UAAUC,UAAU,UAAUC,QAAQ,UAAUC,WAAW,UAAUC,cAAc,UAAUC,QAAQ,UAAUC,YAAY,UAAUC,UAAU,UAAUC,YAAY,UAAUC,OAAO,UAAUC,MAAM,UAAUC,cAAc,UAAUC,SAAS,UAAUC,UAAU,UAAUC,WAAW,UAAUC,UAAU,UAAUC,aAAa,UAAUC,eAAe,OAAOC,eAAe,UAAUC,KAAK,UAAUC,cAAc,UAAUC,YAAY,UAAUC,WAAW,UAAUC,WAAW,UAAUC,aAAa,UAAUC,iBAAiB,UAAUC,QAAQ,UAAUC,SAAS,UAAUC,eAAe,UAAUC,gBAAgB,UAAUC,UAAU,UAAUC,YAAY,UAAUC,KAAK,UAAUC,UAAU,UAAUC,cAAc,UAAUC,UAAU,UAAUC,OAAO,OAAOC,YAAY,UAAUC,UAAU,UAAUC,KAAK,UAAUC,cAAc,UAAUC,cAAc,UAAUC,eAAe,UAAUC,aAAa,UAAUC,cAAc,UAAUC,UAAU,UAAUC,SAAS,UAAUC,OAAO,UAAUC,UAAU,UAAUC,eAAe,UAAUC,KAAK,UAAUC,YAAY,UAAUC,WAAW,UAAUC,UAAU,UAAUC,OAAO,UAAUC,SAAS,UAAUC,SAAS,UAAUC,WAAW,UAAUC,gBAAgB,UAAUC,KAAK,UAAUC,kBAAkB,WAAW,SAASC,EAAEvK,GAAG,OAAOA,EAAE,EAAE,EAAEA,EAAE,IAAI,IAAIjG,KAAKC,MAAMgG,IAAI,CAAC,CAAC,SAASwK,EAAExK,GAAG,OAAOA,GAAG,GAAGA,EAAE,EAAEjG,KAAK0Q,IAAI1Q,KAAK2Q,IAAI1K,EAAE,GAAG,GAAGjG,KAAKC,MAAM,IAAIgG,GAAG,GAAG,CAAC,MAAM2K,EAAE,gDAAgDC,EAAE,4DAA4DC,EAAE,oEAAoEC,EAAE,yFAAyF,SAASC,EAAE/K,IAAIA,EAAEA,EAAEgL,iBAAiB1J,IAAItB,EAAEsB,EAAEtB,IAAI,CAAC,MAAMC,EAAE6K,EAAEG,KAAKjL,IAAI6K,EAAEI,KAAKjL,GAAG,GAAGC,EAAE,MAAM,CAACsK,EAAEW,SAASjL,EAAE,GAAG,KAAKsK,EAAEW,SAASjL,EAAE,GAAG,KAAKsK,EAAEW,SAASjL,EAAE,GAAG,KAAKuK,EAAEvK,EAAEjJ,OAAO,EAAE,EAAEmU,WAAWlL,EAAE,KAAK,CAAC,CAAC,MAAMA,EAAE2K,EAAEK,KAAKjL,GAAG,GAAGC,EAAE,MAAM,CAACsK,EAAEW,SAASjL,EAAE,GAAG,KAAKsK,EAAEW,SAASjL,EAAE,GAAG,KAAKsK,EAAEW,SAASjL,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,MAAMA,EAAE0K,EAAEM,KAAKjL,GAAG,GAAGC,EAAE,MAAM,CAACsK,EAAE,GAAGW,SAASjL,EAAE,GAAG,KAAKsK,EAAE,GAAGW,SAASjL,EAAE,GAAG,KAAKsK,EAAE,GAAGW,SAASjL,EAAE,GAAG,KAAK,EAAE,CAAC,MAAM,IAAIzM,MAAM,uBAAuBwM,IAAI,CAAC,SAASoL,EAAEpL,GAAG,MAAM,KAAKA,EAAE,GAAG,KAAKA,EAAE,GAAG,KAAKA,EAAE,EAAE,CAAC,SAASqL,EAAErL,GAAG,MAAMC,EAAE8K,EAAE/K,GAAG,MAAM,CAACA,EAAE,OAAOC,EAAE,OAAOA,EAAE,OAAOA,EAAE,MAAMA,EAAEmL,EAAEnL,GAAG,IAAI,QAAQ,QAAQ,CAAC,MAAMqL,EAAE,WAAAC,GAAcxX,KAAKkJ,EAAE,EAAE,CAAC,CAAAzF,CAAEwI,EAAEC,EAAEC,GAAG,MAAMG,EAAE,CAAChL,EAAE2K,EAAEnB,EAAEoB,EAAEnB,GAAE,IAAKoB,GAAGnM,KAAKkJ,EAAE/H,KAAKmL,EAAE,CAAC,CAAAD,CAAEJ,GAAG,MAAMC,EAAElM,KAAKkJ,EAAEuO,UAAWvL,GAAGD,IAAIC,EAAE5K,GAAI4K,GAAE,GAAIlM,KAAKkJ,EAAEwO,OAAOxL,EAAE,EAAE,CAAC,CAAAS,CAAEV,GAAGjM,KAAKkJ,EAAElJ,KAAKkJ,EAAE7H,OAAQ6K,GAAGA,EAAEpB,IAAImB,EAAG,CAAC,CAAAW,CAAEX,EAAEC,EAAEC,GAAG,MAAMG,EAAE,IAAItM,KAAKkJ,GAAGlJ,KAAKkJ,EAAElJ,KAAKkJ,EAAE7H,OAAQ4K,IAAIA,EAAElB,GAAIuB,EAAEzK,QAASyK,GAAGA,EAAEhL,EAAE2K,EAAEC,EAAEC,GAAI,CAAC,CAAAqK,GAAI,OAAOxW,KAAKkJ,EAAEjG,OAAO,CAAC,CAAC,CAAA2T,GAAI5W,KAAKkJ,EAAE,EAAE,EAAE,SAASyO,EAAE1L,KAAKC,GAAG,IAAI,MAAMC,KAAKD,EAAE,IAAI,MAAMA,KAAKC,OAAE,IAASA,EAAED,IAAIxL,OAAOH,UAAUqX,eAAexT,KAAK+H,EAAED,KAAK,CAAC,YAAY,cAAc,aAAa2L,SAAS3L,KAAK,iBAAiBC,EAAED,SAAI,IAASD,EAAEC,IAAI4L,MAAMC,QAAQ5L,EAAED,IAAID,EAAEC,GAAGC,EAAED,GAAGyL,EAAE1L,EAAEC,GAAGC,EAAED,KAAK,OAAOD,CAAC,CAAC,SAAS+L,EAAE/L,GAAG,MAAM,iBAAiBA,GAAGgM,SAAShM,EAAE,CAAC,SAASiM,EAAEjM,GAAG,MAAM,iBAAiBA,GAAGA,EAAE,GAAG,CAAC,CAAC,SAASkM,EAAElM,GAAG,MAAM,iBAAiBA,CAAC,CAAC,SAASmM,EAAEnM,GAAG,MAAM,kBAAkBA,CAAC,CAAC,SAASoM,EAAEpM,GAAG,MAAMC,EAAED,EAAE,IAAIC,GAAG,iBAAiBA,EAAE,OAAOA,EAAE,IAAIC,EAAEG,EAAElE,EAAE,IAAIkE,KAAKH,EAAE2L,MAAMC,QAAQ7L,GAAG,GAAG,CAAA,EAAGA,EAAEA,EAAE0L,eAAetL,KAAKlE,EAAE8D,EAAEI,GAAGH,EAAEG,GAAGlE,GAAG,iBAAiBA,EAAEiQ,EAAEjQ,GAAGA,GAAG,OAAO+D,CAAC,CAAC,SAASmM,EAAErM,GAAG,OAAO,OAAOA,CAAC,CAAC,SAASsM,EAAEtM,GAAG,OAAO,OAAOA,OAAE,EAAOA,CAAC,CAAC,MAAMuM,EAAE,gFAAgF,SAASC,EAAExM,EAAEC,EAAEC,GAAG,YAAO,IAASD,IAAIA,EAAEsM,GAAG,GAAGrM,OAAE,IAASA,EAAE,GAAGA,KAAK,KAAKF,OAAOC,GAAG,CAAC,MAAMwM,EAAE,WAAAlB,CAAYvL,GAAGjM,KAAK6W,EAAE,CAACE,EAAE,EAAEC,EAAE,EAAEK,EAAEsB,IAAIrB,EAAE,GAAGC,EAAE,GAAGI,EAAE,GAAGK,EAAE,GAAGE,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEE,EAAE,EAAEE,EAAE,GAAGxY,KAAKyY,EAAExM,CAAC,CAAC,CAAAyM,GAAI,MAAMzM,EAAEjM,KAAK6W,EAAE3K,EAAElM,KAAK4Y,IAAIzM,EAAEnM,KAAK6Y,IAAI,OAAO5M,EAAEoL,IAAInL,GAAGD,EAAEsL,IAAIpL,IAAIF,EAAEoL,EAAEnL,EAAED,EAAEsL,EAAEpL,EAAEF,EAAEqL,EAAEmB,EAAEvM,EAAEC,GAAGF,EAAEqM,EAAE,IAAI,GAAGpM,EAAED,EAAEiM,EAAEjM,EAAEqM,EAAErM,EAAEkM,EAAEjM,EAAE,GAAGD,EAAE+K,EAAE/K,EAAEmM,EAAElM,EAAE,GAAGD,EAAE+K,EAAE/K,EAAEuM,EAAE,GAAGvM,EAAE0L,EAAE3X,KAAK8Y,IAAI7M,EAAE+L,EAAEhY,KAAK+Y,IAAI/Y,KAAK6W,CAAC,CAAC,CAAAiC,GAAI,OAAO9Y,KAAKyY,EAAEC,IAAIM,OAAOC,SAAS,CAAC,CAAAF,GAAI,OAAO/Y,KAAKyY,EAAES,GAAG,CAAC,CAAAN,GAAI,OAAO5Y,KAAKyY,EAAEC,IAAIM,OAAOG,QAAQ,CAAC,CAAAN,GAAI,OAAO7Y,KAAKyY,EAAEC,IAAIM,OAAOI,UAAU,EAAE,MAAMR,EAAE,WAAApB,GAAcxX,KAAKqZ,EAAE,EAAE,CAAC,CAAAC,CAAErN,GAAGjM,KAAKqZ,EAAEpN,CAAC,CAAC,CAAAsN,CAAEtN,EAAEC,EAAEC,GAAGnM,KAAKqZ,EAAExX,QAASyK,IAAIA,EAAEiN,EAAEtN,EAAEC,EAAEC,EAAG,EAAE,EAAE,MAAM0M,EAAE,CAAAU,CAAEtN,EAAEC,EAAEC,GAAGF,EAAErE,yBAA0BqE,GAAGjM,KAAKwZ,EAAEvN,EAAEC,EAAEC,GAAI,EAAE,MAAM2M,UAAUD,EAAE,WAAArB,GAAciC,SAASC,WAAW1Z,KAAK2Z,EAAE,IAAI,CAAC,CAAAC,CAAE3N,GAAGjM,KAAK2Z,EAAE1N,CAAC,CAAC,CAAAuN,EAAG1S,QAAQmF,EAAEpE,qBAAqBqE,EAAEpE,mBAAmBqE,IAAI,GAAG,OAAOnM,KAAK2Z,GAAG,OAAO3Z,KAAK2Z,EAAEE,GAAG,OAAO,MAAMvN,EAAEtM,KAAK2Z,EAAEE,GAAGzR,EAAEpI,KAAK2Z,EAAE5Q,EAAE/C,KAAK2Q,IAAI,EAAE3Q,KAAK8T,MAAM5N,IAAI,EAAE,EAAEhD,EAAEA,IAAI+C,EAAEM,YAAY,IAAI,IAAI9I,EAAE6I,EAAEyN,GAAG,EAAEtW,GAAG6I,EAAE0N,OAAOvW,EAAE,CAAC,MAAM6I,EAAElE,EAAE6R,GAAGxW,GAAG0G,EAAEnE,KAAKC,MAAMqG,EAAE4N,GAAGhO,GAAGnD,EAAEzH,EAAEgL,EAAE6N,GAAGhO,EAAErB,EAAE5B,EAAEiD,EAAEpD,EAAEkD,EAAEO,OAAOrC,EAAE7I,GAAG2K,EAAEmO,IAAIjQ,EAAE7I,EAAEwJ,EAAE,EAAE,EAAE9E,KAAKqU,GAAG,CAACpO,EAAEqO,QAAQlS,EAAEmS,GAAG,IAAItO,EAAEuO,UAAUpS,EAAEqS,GAAGvR,EAAEd,EAAEsS,GAAGtS,EAAEmS,KAAKtO,EAAEuO,UAAUpS,EAAEuS,GAAGzR,EAAEd,EAAEsS,GAAG,EAAE,SAAS3B,IAAI,MAAM,CAACkB,GAAG,CAAC,CAACC,GAAG,EAAEC,GAAG,EAAES,GAAG,EAAEC,GAAG,IAAIF,GAAG,GAAGF,GAAG,GAAGC,GAAG,EAAEH,GAAG,EAAEV,GAAG,KAAK,CAAC,MAAMX,EAAE,CAACc,KAAK,EAAED,GAAG,GAAG,MAAMV,EAAE,WAAA7B,CAAYvL,EAAEC,GAAGlM,KAAK8a,GAAG,IAAIlC,EAAE5Y,KAAK+a,GAAG,GAAG/a,KAAKgb,GAAG,GAAGhb,KAAKib,IAAG,EAAGjb,KAAKyY,EAAExM,EAAEjM,KAAKkb,GAAGhP,EAAElM,KAAK8a,GAAGxB,EAAEtZ,KAAK+a,GAAG,CAAC,EAAAI,CAAGlP,GAAG,MAAMC,EAAElM,KAAKyY,EAAE2C,KAAKlP,EAAEjJ,SAASjD,KAAK+a,GAAG9X,SAASjD,KAAKgb,GAAG9O,EAAEmP,IAAItC,GAAG/Y,KAAK+a,GAAG/a,KAAKgb,GAAGK,IAAKpP,IAAI,MAAMC,EAAE,IAAI4M,EAAE,OAAO5M,EAAE0N,EAAE3N,GAAGC,CAAE,GAAGlM,KAAK8a,GAAGxB,EAAEtZ,KAAK+a,KAAK/a,KAAKib,IAAG,CAAE,CAAC,EAAAK,GAAK,OAAOtb,KAAKib,KAAKjb,KAAKub,KAAKvb,KAAKib,IAAG,GAAIjb,KAAK8a,EAAE,CAAC,EAAAS,GAAK,MAAMtP,EAAE,IAAIjM,KAAKkb,GAAGxC,IAAI8C,KAAKtP,EAAElM,KAAKyY,EAAE2C,KAAKjP,EAAEnM,KAAKkb,GAAGO,KAAKnP,EAAEtM,KAAKyY,EAAEiD,KAAKxP,EAAErK,QAAO,CAAGqK,EAAE9D,KAAK,IAAIW,EAAE,MAAMG,EAAElJ,KAAKgb,GAAG5S,GAAG3E,EAAEyI,EAAEyP,GAAGxP,GAAG,GAAGF,GAAG,OAAOxI,IAAIyI,EAAE0P,KAAK,YAAY1S,EAAE2Q,GAAG,MAAM,MAAM1P,EAAE0C,EAAEX,EAAE2P,MAAM3S,EAAEyR,GAAGlX,EAAEqY,GAAG5S,EAAEwR,GAAGjX,EAAEiX,GAAGxR,EAAEqR,GAAG9W,EAAEsY,GAAG7S,EAAE+Q,GAAG,GAAGY,GAAGpX,EAAEoX,GAAG3R,EAAE+Q,GAAG,GAAGE,GAAGjO,EAAE8P,KAAKC,GAAGxY,EAAEoX,GAAG1Q,EAAE+R,IAAIhT,EAAEuR,GAAG,QAAQ1R,EAAEtF,EAAE0Y,UAAK,IAASpT,EAAEA,EAAE/I,KAAKyY,EAAE2D,GAAGlT,EAAE+Q,GAAG,GAAGE,GAAGjO,EAAE8P,KAAKK,MAAMnT,EAAE+Q,GAAG,GAAGW,GAAGzO,EAAEjD,EAAE+Q,GAAG,GAAGC,GAAG5N,EAAEgQ,GAAGnQ,GAAGjD,EAAE2Q,GAAGX,CAAE,EAAE,EAAE,MAAMI,UAAUT,EAAE,WAAArB,CAAYvL,GAAGwN,QAAQzZ,KAAKuc,GAAGtQ,CAAC,CAAC,CAAAuN,EAAG1S,QAAQmF,EAAE/H,WAAWgI,EAAErE,qBAAqBsE,EAAErE,mBAAmBwE,IAAI,GAAG,OAAOtM,KAAKuc,GAAG,OAAO,MAAMnU,EAAEpI,KAAKuc,GAAGC,GAAGZ,GAAG7S,EAAE/I,KAAKuc,GAAGE,GAAGb,GAAG,IAAIxT,IAAIW,EAAE,OAAO,MAAMG,EAAElD,KAAKC,MAAMjG,KAAKuc,GAAGrC,GAAG/N,GAAG1I,EAAEuC,KAAKC,MAAMjG,KAAKuc,GAAGpC,GAAG7N,GAAGL,EAAEyQ,QAAQ,OAAOtU,GAAGc,GAAG,IAAI+C,EAAE5C,UAAUrD,KAAK8T,MAAM9Z,KAAKuc,GAAGC,GAAGjC,GAAGpO,GAAGF,EAAE0Q,YAAY3c,KAAKuc,GAAGC,GAAG7E,EAAE1L,EAAEuO,UAAUxa,KAAKuc,GAAGC,GAAG7E,EAAEtQ,EAAE4E,EAAEjM,KAAKuc,GAAGC,GAAGI,IAAI,SAAS3Q,EAAEC,EAAEC,EAAEG,GAAGL,EAAEM,YAAY,MAAMnE,EAAE6D,EAAE5C,UAAU,EAAE,GAAG,EAAE4C,EAAEO,OAAON,EAAE9D,EAAqC,GAAhC6D,EAAEQ,OAAOP,EAAE9D,EAAEkE,GAAGL,EAAES,QAAQ,CAArG,CAAuGT,EAAE/C,EAAE,EAAEgD,EAAE1M,SAASuJ,GAAGtF,GAAG,IAAIwI,EAAE5C,UAAUrD,KAAK8T,MAAM9Z,KAAKuc,GAAGE,GAAGlC,GAAGjO,GAAGL,EAAE0Q,YAAY3c,KAAKuc,GAAGE,GAAG9E,EAAE1L,EAAEuO,UAAUxa,KAAKuc,GAAGE,GAAG9E,EAAEtQ,EAAE4E,EAAEjM,KAAKuc,GAAGE,GAAGG,IAAIvQ,EAAEJ,EAAExI,EAAE,EAAEyI,EAAE3M,OAAO,EAAE,MAAMga,GAAE,WAAA/B,CAAYvL,GAAGjM,KAAKib,IAAG,EAAGjb,KAAK6c,GAAG,CAACL,GAAG,CAACjC,GAAG,EAAEqC,GAAG,EAAEjF,EAAE,GAAGiE,IAAG,GAAIa,GAAG,CAAClC,GAAG,EAAEqC,GAAG,EAAEjF,EAAE,GAAGiE,IAAG,GAAI1B,GAAG,EAAEC,GAAG,GAAGna,KAAK8c,GAAG,IAAIxD,EAAEtZ,KAAK6c,IAAI7c,KAAK+c,GAAG9Q,CAAC,CAAC,EAAAkP,GAAKnb,KAAKib,IAAG,CAAE,CAAC,EAAAK,GAAK,OAAOtb,KAAKib,KAAKjb,KAAKub,KAAKvb,KAAKib,IAAG,GAAIjb,KAAK8c,EAAE,CAAC,EAAAvB,GAAK,MAAMtP,EAAEjM,KAAK+c,GAAGnB,KAAK1P,EAAEW,EAAE7M,KAAK+c,GAAGC,MAAM7Q,EAAED,EAAE+Q,KAAKvE,IAAIwE,UAAU5Q,EAAEtM,KAAK6c,GAAG,GAAG,IAAI1Q,EAAEqP,KAAK,OAAOlP,EAAEmQ,GAAGb,IAAG,OAAQtP,EAAEkQ,GAAGZ,IAAG,GAAItP,EAAEmQ,GAAGb,GAAG3P,GAAGjM,KAAK+c,GAAGI,GAAGjR,GAAGI,EAAEkQ,GAAGZ,GAAG3P,GAAGjM,KAAK+c,GAAGK,KAAK9Q,EAAEmQ,GAAGlC,GAAGpO,EAAEkR,SAAS9d,MAAM+M,EAAEmQ,GAAGG,GAAGzQ,EAAEkR,SAASja,MAAMkJ,EAAEmQ,GAAG9E,EAAExL,EAAEkR,SAASlU,MAAMmD,EAAEkQ,GAAGjC,GAAGpO,EAAEmR,SAAS/d,MAAM+M,EAAEkQ,GAAGI,GAAGzQ,EAAEmR,SAASla,MAAMkJ,EAAEkQ,GAAG7E,EAAExL,EAAEmR,SAASnU,MAAMmD,EAAE4N,GAAGla,KAAK+c,GAAGQ,KAAKjR,EAAE6N,GAAGna,KAAK+c,GAAGS,IAAI,EAAE,SAAShE,GAAEvN,EAAEC,EAAEC,EAAEG,EAAElE,EAAEW,GAAGkD,EAAEwR,SAASvR,EAAEnD,EAAEoD,EAAEG,EAAE,EAAEvD,EAAEA,GAAGkD,EAAEwR,SAASvR,EAAEnD,EAAEoD,EAAE/D,EAAEW,EAAEuD,EAAE,EAAEvD,EAAEA,GAAGkD,EAAEwR,SAASvR,EAAEC,EAAEpD,EAAEX,GAAG6D,EAAEwR,SAASvR,EAAEI,EAAEvD,EAAEoD,EAAEpD,EAAEX,EAAE,CAAC,SAASuR,GAAE1N,EAAEC,EAAEC,EAAEG,EAAElE,EAAEW,GAAGkD,EAAE3E,OAAO2E,EAAEyR,yBAAyB,OAAOzR,EAAEuO,UAAUzR,EAAEkD,EAAEwR,SAASvR,EAAEC,EAAEG,EAAElE,GAAG6D,EAAEtE,SAAS,CAAC,SAASiS,GAAE3N,EAAEC,EAAEC,EAAEG,EAAElE,EAAEW,GAAGkD,EAAEM,YAAYN,EAAE0R,UAAU1R,EAAE0R,UAAUzR,EAAEC,EAAEG,EAAElE,EAAEW,IAAIkD,EAAEQ,OAAOP,EAAEI,EAAEvD,EAAE,GAAGoD,GAAG,IAAIpD,EAAE,IAAIkD,EAAE2R,MAAM1R,EAAEI,EAAEH,EAAED,EAAEI,EAAEH,EAAEpD,EAAE,GAAGA,EAAE,IAAIkD,EAAEQ,OAAOP,EAAEI,EAAEH,EAAE/D,EAAEW,EAAE,IAAI,IAAIA,EAAE,IAAIkD,EAAE2R,MAAM1R,EAAEI,EAAEH,EAAE/D,EAAE8D,EAAEI,EAAEvD,EAAE,GAAGoD,EAAE/D,EAAEW,EAAE,IAAIkD,EAAEQ,OAAOP,EAAEnD,EAAE,GAAGoD,EAAE/D,GAAG,IAAIW,EAAE,IAAIkD,EAAE2R,MAAM1R,EAAEC,EAAE/D,EAAE8D,EAAEC,EAAE/D,EAAEW,EAAE,GAAGA,EAAE,IAAIkD,EAAEQ,OAAOP,EAAEC,EAAEpD,EAAE,IAAI,IAAIA,EAAE,IAAIkD,EAAE2R,MAAM1R,EAAEC,EAAED,EAAEnD,EAAE,GAAGoD,EAAEpD,EAAE,IAAI,CAAC,SAAS8U,GAAE5R,EAAEC,EAAEC,EAAEG,EAAElE,EAAEW,EAAEG,EAAE,EAAEzF,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG0G,EAAE,IAAI,GAAG8B,EAAE3E,QAAQ4B,IAAIiB,GAAGA,IAAIpB,EAAE,OAAO6Q,GAAE3N,EAAEC,EAAEC,EAAEG,EAAElE,EAAE3E,GAAGwI,EAAEuO,UAAUzR,EAAEkD,EAAEqO,YAAYrO,EAAEtE,UAAU,MAAMrG,EAAE4H,EAAE,EAAE,IAAI4B,EAAE8O,GAAE3N,EAAEC,EAAE5K,EAAE6K,EAAE7K,EAAEgL,EAAEpD,EAAEd,EAAEc,GAAG4B,GAAGxJ,EAAEmC,EAAE4X,IAAKpP,GAAG,IAAIA,EAAEA,EAAEA,EAAEnB,KAAM,gBAAgB/B,IAAIkD,EAAEuO,UAAUzR,EAAEkD,EAAEqO,QAAQ,gBAAgBnQ,IAAI8B,EAAE5C,UAAUH,EAAE+C,EAAE0Q,YAAYxS,EAAE8B,EAAE6R,YAAY7R,EAAES,UAAUT,EAAEtE,SAAS,CAAC,SAASkS,GAAG5N,EAAEC,EAAEC,EAAEG,EAAElE,EAAEW,EAAEG,GAAG+C,EAAE3E,OAAO2E,EAAEyR,yBAAyB,OAAO,MAAMja,EAAEwI,EAAE8R,qBAAqB,EAAE,EAAE,EAAE3V,GAAG3E,EAAEua,aAAa,EAAEjV,GAAGtF,EAAEua,aAAa,EAAE9U,GAAG+C,EAAEuO,UAAU/W,EAAEwI,EAAEwR,SAASvR,EAAEC,EAAEG,EAAElE,GAAG6D,EAAEtE,SAAS,CAAC,MAAMsS,GAAG,WAAAzC,CAAYvL,EAAEC,GAAGlM,KAAK4Z,EAAE3N,EAAEC,EAAE,CAAC,CAAA0N,CAAE3N,EAAEC,GAAGlM,KAAKuc,GAAGtQ,EAAEjM,KAAKie,GAAG/R,CAAC,CAAC,EAAAmQ,CAAGpQ,EAAEC,GAAG,OAAOlM,KAAKuc,GAAGX,GAAG3P,EAAEoL,EAAEpL,EAAEqM,EAAErM,EAAEiM,EAAE,CAAC,CAAC,CAAAqB,CAAEtN,EAAEC,EAAEC,EAAEG,GAAG,IAAItM,KAAKuc,GAAGX,IAAI,IAAI5b,KAAKuc,GAAG2B,GAAGjb,OAAO,OAAO,MAAMmF,EAAEpI,KAAKuc,GAAG5E,EAAE5O,EAAE/I,KAAKie,GAAGhS,EAAE/C,EAAE+C,EAAErE,yBAA0BqE,IAAI,MAAM/C,EAAE+C,EAAEnF,QAAQoC,EAAEiV,KAAKjS,EAAEoL,EAAE,MAAM7T,EAAEzD,KAAKoe,GAAGnS,EAAEC,EAAEC,EAAEG,GAAGnC,EAAE1G,EAAE4a,GAAG,OAAO5a,EAAE6a,GAAGT,GAAE3U,EAAEiB,EAAEoU,GAAGpU,EAAEqU,GAAGrU,EAAEsU,GAAGtU,EAAEuU,GAAG3V,EAAEoB,EAAEwU,GAAG,CAACxU,EAAEuQ,GAAG,EAAE,EAAEvQ,EAAEuQ,IAAI3R,GAAG8U,GAAE3U,EAAEiB,EAAEyU,GAAGzU,EAAEqU,GAAGrU,EAAEsU,GAAGtU,EAAEuU,GAAG3V,EAAEoB,EAAEwU,GAAG,CAAC,EAAExU,EAAEuQ,GAAGvQ,EAAEuQ,GAAG,GAAG3R,GAAG/I,KAAKuc,GAAGsC,KAAK3V,EAAEsR,UAAUpS,EAAEc,EAAEuU,SAAStT,EAAEyU,GAAGzU,EAAE2U,GAAG3U,EAAE4U,GAAG5U,EAAEyU,GAAGzU,EAAE6U,KAAKhf,KAAKuc,GAAG0C,KAAK/V,EAAEsR,UAAUtO,EAAE8L,EAAE9O,EAAEuU,SAASha,EAAE6a,GAAGnU,EAAE+U,GAAG/U,EAAEwU,GAAG,EAAExU,EAAEqU,GAAGrU,EAAEwU,GAAGxU,EAAEgV,GAAGhV,EAAEqU,KAAK/a,CAAE,GAAGwI,EAAE7E,0BAA2BN,QAAQmF,MAAM,MAAME,EAAEjD,EAAEkW,GAAGnT,EAAEkS,KAAKjS,EAAEoL,EAAErL,EAAEoT,UAAUnW,EAAEoV,GAAG,QAAQ,OAAOrS,EAAEqT,aAAa,SAASrT,EAAEuO,UAAUpS,EAAE6D,EAAEsT,SAASvf,KAAKuc,GAAG2B,GAAG/R,EAAEqT,IAAIrT,EAAEqS,GAAGrS,EAAEgT,IAAI,EAAEhT,EAAEsT,GAAI,EAAE,CAAC,EAAArB,CAAGnS,EAAEC,EAAEC,EAAEG,GAAG,IAAIlE,EAAE,MAAMtB,QAAQiC,EAAE7E,WAAWgF,EAAEnC,UAAUtD,EAAEoE,qBAAqBsC,EAAErC,mBAAmBxG,GAAG2K,EAAEnB,EAAE9K,KAAKuc,GAAGsC,KAAK7e,KAAKuc,GAAGmD,GAAGxT,EAAE8K,EAAE,EAAEjM,EAAE/K,KAAKuc,GAAGoD,GAAGzT,EAAE6K,EAAE,EAAEhL,EAAEG,EAAEoM,EAAEtY,KAAKie,GAAG2B,GAAG5T,EAAEE,EAAEgM,EAAElY,KAAKie,GAAG4B,GAAGxY,EAAE6E,EAAEiM,EAAE9L,EAAEH,EAAEkM,EAAEzL,EAAE3M,KAAKuc,GAAG2B,GAAGtR,EAAEV,EAAEmL,EAAExK,EAAEV,EAAE2T,GAAG/W,EAAE4D,GAAGG,EAAE9G,KAAK+Z,KAAK5T,EAAE6T,GAAGjX,EAAE4D,IAAIY,EAAEX,EAAEb,EAAEC,EAAEwK,EAAEtK,EAAE6K,EAAE1P,EAAEgF,EAAES,EAAEhC,EAAE2L,EAAEzQ,KAAK2Q,IAAI,EAAE3Q,KAAK8T,MAAMxY,IAAI,IAAIsV,EAAE5Q,KAAKC,MAAMsH,EAAEjM,GAAGsV,EAAE,GAAGH,EAAE,IAAIG,GAAG,GAAG,MAAMC,EAAE9L,EAAE,EAAE/E,KAAK2Q,IAAI,EAAE3Q,KAAK8T,MAAM/O,EAAEZ,IAAI,EAAE2M,EAAE9Q,KAAKC,MAAMuQ,EAAErM,GAAG4M,EAAE/Q,KAAKC,MAAM6E,EAAEX,GAAG6M,EAAE,QAAQ5O,EAAEpI,KAAKie,GAAGgC,UAAK,IAAS7X,EAAEA,EAAEpI,KAAKie,GAAGiC,GAAG7I,EAAErR,KAAKC,MAAM+Q,EAAE1V,GAAG0E,KAAK8T,MAAM,GAAGxY,GAAGgW,EAAEtR,KAAK8T,MAAMzC,EAAEZ,EAAE,EAAEG,EAAE,GAAGW,EAAED,EAAEV,EAAEe,EAAE,UAAUrL,EAAE0L,EAAEL,EAAElU,EAAElE,MAAMwL,EAAEA,EAAEmN,EAAEP,EAAEzO,EAAE3J,MAAMsX,EAAEA,EAAE,IAAIsB,EAAEC,EAAEC,EAAE,OAAOV,GAAGQ,EAAED,EAAEpB,EAAEsB,EAAEF,EAAEnB,EAAEsB,EAAEL,EAAElN,EAAEzD,EAAE0D,IAAIoN,EAAED,EAAEpB,EAAEsB,EAAEF,EAAEnB,EAAEsB,EAAEL,EAAElN,EAAEzD,GAAG,CAACiX,GAAG3G,EAAE0G,GAAG,CAACG,GAAGlH,EAAEwH,GAAGzH,EAAE8H,GAAG5H,EAAEkH,GAAG3H,EAAE4H,GAAG9H,EAAE8D,GAAG,EAAEvQ,EAAEwU,GAAG9H,EAAE0H,GAAGpG,EAAEyG,GAAG1G,EAAE6G,GAAG3G,EAAE4G,GAAGvI,EAAEyI,GAAGhW,EAAE3J,OAAO6f,GAAG,CAACZ,GAAGlH,EAAEhW,EAAE6d,GAAG5H,EAAEjW,EAAEke,GAAGnH,EAAEoH,GAAG5S,GAAG,EAAE,MAAMqN,GAAG,WAAA1C,CAAYvL,GAAGjM,KAAKmgB,GAAG,CAACD,GAAG,EAAEjU,EAAE,OAAO4T,GAAG,EAAED,GAAG,GAAG5f,KAAKogB,GAAG,CAAClC,GAAG,GAAGtC,IAAG,EAAGiD,IAAG,EAAGa,IAAG,EAAGvD,GAAG,GAAGxE,EAAE,OAAOsH,IAAG,EAAGU,IAAG,GAAI3f,KAAKqgB,GAAG,CAACnC,GAAG,GAAGtC,IAAG,EAAGiD,IAAG,EAAGa,IAAG,EAAGvD,GAAG,GAAGxE,EAAE,OAAOsH,IAAG,EAAGU,IAAG,GAAI3f,KAAKib,IAAG,EAAGjb,KAAKsgB,GAAG,IAAIrU,GAAGgO,IAAIja,KAAKogB,GAAGpgB,KAAKmgB,IAAIngB,KAAKugB,GAAG,IAAItU,GAAGgO,IAAIja,KAAKqgB,GAAGrgB,KAAKmgB,GAAG,CAAC,EAAAjC,GAAK,OAAOle,KAAKwgB,KAAKxgB,KAAKogB,GAAGlC,EAAE,CAAC,EAAAgC,GAAK,OAAOlgB,KAAKwgB,KAAKxgB,KAAKmgB,GAAGD,EAAE,CAAC,EAAA/E,GAAKnb,KAAKib,IAAG,CAAE,CAAC,EAAAoB,CAAGpQ,EAAEC,GAAE,GAAI,OAAOlG,KAAK2Q,IAAI3W,KAAKsgB,GAAGjE,GAAGpQ,EAAEC,GAAGlM,KAAKugB,GAAGlE,GAAGpQ,EAAEC,GAAG,CAAC,EAAAuU,GAAK,OAAOzgB,KAAKmgB,GAAGF,IAAI,CAAC,CAAC,EAAAS,CAAGzU,GAAGjM,KAAKmgB,GAAGF,GAAGhU,CAAC,CAAC,EAAA0U,GAAK,OAAO3gB,KAAKwgB,KAAKxgB,KAAKogB,GAAGxE,IAAI5b,KAAKqgB,GAAGzE,EAAE,CAAC,EAAAgF,GAAK,OAAO5gB,KAAKwgB,KAAKxgB,KAAKogB,GAAGxE,EAAE,CAAC,EAAAN,CAAGrP,GAAG,OAAOjM,KAAKwgB,KAAKxgB,KAAKogB,GAAGvB,GAAG7e,KAAKogB,GAAGvB,IAAI5S,EAAEyM,IAAImI,aAAa7gB,KAAKqgB,GAAGxB,GAAG7e,KAAKqgB,GAAGxB,IAAI5S,EAAEyM,IAAImI,aAAa7gB,KAAKsgB,GAAG1G,EAAE5Z,KAAKogB,GAAGpgB,KAAKmgB,IAAIngB,KAAKugB,GAAG3G,EAAE5Z,KAAKqgB,GAAGrgB,KAAKmgB,IAAIngB,KAAKsgB,EAAE,CAAC,EAAAQ,GAAK,OAAO9gB,KAAKwgB,KAAKxgB,KAAKsgB,GAAG1G,EAAE5Z,KAAKogB,GAAGpgB,KAAKmgB,IAAIngB,KAAKugB,GAAG3G,EAAE5Z,KAAKqgB,GAAGrgB,KAAKmgB,IAAIngB,KAAKugB,EAAE,CAAC,EAAAC,GAAKxgB,KAAKib,KAAKjb,KAAKogB,GAAGvB,IAAG,EAAG7e,KAAKqgB,GAAGxB,IAAG,EAAG7e,KAAK+gB,GAAG/gB,KAAKogB,GAAGpgB,KAAKqgB,GAAGrgB,KAAKmgB,IAAI,EAAE,MAAMhG,WAAWD,GAAG,WAAA1C,CAAYvL,EAAEC,EAAEC,GAAGsN,QAAQzZ,KAAK+c,GAAG9Q,EAAEjM,KAAKghB,GAAG9U,EAAElM,KAAKihB,GAAG9U,CAAC,CAAC,EAAA4U,CAAG9U,EAAEC,EAAEC,GAAG,GAAGF,EAAE2P,IAAG,EAAG,IAAI5b,KAAK+c,GAAGrE,IAAI8C,KAAK,OAAO,MAAMlP,EAAEtM,KAAK+c,GAAGrE,IAAI2E,SAAS,IAAI/Q,EAAE4U,aAAa,OAAO,MAAM9Y,EAAEpI,KAAKghB,GAAGnF,KAAK,IAAI7b,KAAK+c,GAAGnB,MAAM5b,KAAKghB,GAAGG,MAAM,OAAO/Y,EAAE,OAAO,MAAMW,EAAEuO,EAAEhL,EAAE8U,sBAAsBjV,EAAEF,EAAElD,EAAEkD,EAAEA,EAAE0L,EAAE5O,EAAEmD,EAAE,MAAMhD,EAAE,EAAE,GAAGlJ,KAAKghB,GAAG3J,IAAIlL,EAAEyT,GAAG1W,EAAEiD,EAAE0T,GAAG3W,EAAE,MAAMzF,EAAEzD,KAAKihB,GAAGjhB,KAAKghB,IAAI7U,EAAE+T,GAAGzc,EAAEyc,GAAGjU,EAAEiS,GAAGle,KAAKghB,GAAGK,GAAG5d,EAAEoX,GAAGzS,GAAG6D,EAAE2P,IAAG,CAAE,EAAE,MAAMrB,GAAG,SAAS,MAAME,GAAG,WAAAjD,GAAcxX,KAAKuc,GAAG,IAAI,CAAC,CAAA3C,CAAE3N,GAAGjM,KAAKuc,GAAGtQ,CAAC,CAAC,CAAAsN,CAAEtN,EAAEC,GAAG,GAAG,OAAOlM,KAAKuc,KAAI,IAAKvc,KAAKuc,GAAGX,IAAI,IAAI5b,KAAKuc,GAAG2B,GAAGjb,OAAO,OAAO,MAAMkJ,EAAEF,EAAE7E,wBAAuB,EAAIN,QAAQmF,MAAMA,EAAEkS,KAAKjS,EAAEoL,EAAEtR,KAAKC,MAAMiG,EAAEoV,GAAGtB,GAAG/T,EAAEY,EAAE7M,KAAKuc,IAAI2B,GAAG3D,OAAQ,GAAGpO,GAAG,EAAE,OAAO,MAAMG,EAAEJ,EAAEqV,GAAGnZ,EAAE+D,EAAE,EAAEG,EAAEvD,EAAEX,EAAE,EAAEc,EAAElJ,KAAKuc,GAAGiF,GAAG,IAAI/d,EAAEzD,KAAKuc,GAAG2D,GAAG/V,EAAEnE,KAAK8T,MAAMrW,EAAEsF,GAAG,GAAGoB,EAAE,GAAG1G,GAAGuC,KAAKyb,IAAI,EAAEtX,GAAGA,EAAEnE,KAAK8T,MAAMrW,EAAEsF,GAAG,IAAIoB,EAAE/B,EAAEc,IAAIzF,GAAGuC,KAAKyb,IAAIvY,GAAGiB,EAAE/B,IAAI+B,EAAEnE,KAAK8T,MAAMrW,EAAEsF,GAAG,IAAI,MAAMzH,EAAE6I,EAAE/B,EAAE0C,EAAE9E,KAAK+Z,KAAK,EAAE7T,EAAE6K,EAAE7K,EAAE8K,EAAE9K,EAAEoM,EAAEpM,EAAEmL,EAAEnL,EAAEgM,GAAGjM,EAAErE,yBAAwB,EAAId,QAAQmF,EAAEpE,qBAAqBsE,EAAErE,mBAAmBwE,MAAM,MAAMlE,EAAEyE,EAAE7M,KAAKuc,IAAItQ,EAAEuO,UAAUpS,EAAE6D,EAAE,MAAMlD,EAAE/C,KAAKC,MAAMkE,EAAEgC,GAAGjD,EAAElD,KAAKC,MAAM,EAAEqG,GAAG7I,EAAEuC,KAAKC,MAAM3E,EAAE6K,GAAGpB,EAAE/E,KAAKC,MAAM6E,EAAEwB,GAAGP,EAAE/F,KAAKC,MAAM,EAAEkG,GAAG,GAAGF,EAAEM,YAAYN,EAAEO,OAAOzD,EAAEG,GAAG+C,EAAEQ,OAAO1D,EAAEgC,EAAEgB,GAAGE,EAAE2R,MAAM7U,EAAEgC,EAAEhC,EAAEgD,EAAEhB,EAAEgB,GAAGE,EAAEQ,OAAOhJ,EAAEsI,EAAEhB,GAAGkB,EAAE2R,MAAMna,EAAEsH,EAAEtH,EAAEsH,EAAEgB,EAAEA,GAAGE,EAAEQ,OAAOhJ,EAAEyF,GAAG+C,EAAEqO,OAAOlS,EAAEyW,GAAG,CAAC,MAAM9V,EAAE/C,KAAKC,MAAMmC,EAAE8X,GAAG/T,GAAG1I,EAAEyF,EAAEiB,EAAEnE,KAAKC,OAAOxC,EAAEyI,EAAE8K,GAAG1K,GAAGL,EAAEuO,UAAUpS,EAAEuP,EAAE,MAAMrW,EAAE0E,KAAK2Q,IAAI,EAAE3Q,KAAK8T,MAAM3N,IAAIrB,EAAE9E,KAAK8T,MAAM,GAAG3N,GAAGF,EAAEwR,SAAS1U,EAAE+B,EAAErH,EAAEnC,EAAE6I,EAAE1G,EAAE,CAAE,GAAGwI,EAAE7E,wBAAuB,EAAIN,QAAQmF,MAAM,MAAME,EAAEU,EAAE7M,KAAKuc,IAAInU,EAAE,EAAE8D,EAAE6K,EAAE7K,EAAE8K,EAAE9K,EAAEoM,EAAEpM,EAAEmL,EAAE,EAAEpL,EAAEkS,KAAKjS,EAAEoL,EAAErL,EAAEoT,UAAU,OAAOpT,EAAEqT,aAAa,SAASrT,EAAEuO,UAAUrO,EAAEwL,EAAE,MAAM5O,EAAEmD,EAAEoV,GAAGxB,GAAG7T,EAAE,QAAQA,EAAEyV,UAAUvX,EAAEmC,EAAElE,EAAEW,GAAGkD,EAAEsT,SAASpT,EAAE+R,GAAG,EAAE,EAAG,EAAE,EAAE,MAAMxD,GAAG,WAAAlD,CAAYvL,EAAEC,EAAEC,GAAGnM,KAAKib,IAAG,EAAGjb,KAAK8c,GAAG,IAAIrC,GAAGza,KAAK6c,GAAG,CAACjB,IAAG,EAAG3P,EAAE,UAAU0L,EAAE,QAAQuG,GAAG,GAAGsD,GAAG,EAAEtB,GAAGvH,IAAIkG,IAAG,GAAI7e,KAAKkb,GAAGjP,EAAEjM,KAAK2hB,GAAGzV,EAAElM,KAAKihB,GAAG9U,CAAC,CAAC,EAAAgP,GAAKnb,KAAKib,IAAG,CAAE,CAAC,EAAAK,GAAK,OAAOtb,KAAKib,KAAKjb,KAAKub,KAAKvb,KAAKib,IAAG,GAAIjb,KAAK8c,GAAGlD,EAAE5Z,KAAK6c,IAAI7c,KAAK8c,EAAE,CAAC,EAAAvB,GAAK,MAAMtP,EAAEjM,KAAK6c,GAAG,GAAG5Q,EAAE2P,IAAG,EAAG,IAAI5b,KAAKkb,GAAGxC,IAAI8C,KAAK,OAAO,MAAMtP,EAAElM,KAAKkb,GAAGxC,IAAI4E,SAAS,IAAIpR,EAAEgV,aAAa,OAAO,MAAM/U,EAAEnM,KAAK2hB,GAAGjG,KAAK,GAAGvP,EAAEgV,KAAK,OAAOlV,EAAEuV,GAAGrV,EAAEqV,KAAK,MAAMlV,EAAEtM,KAAKihB,KAAK,GAAG,OAAO3U,EAAE,OAAOL,EAAEiU,GAAG5T,EAAE4T,GAAG,MAAM9X,EAAE+D,EAAEyV,GAAG5hB,KAAKkb,GAAGO,MAAMxP,EAAEiS,GAAG/R,EAAE0V,GAAGhV,EAAEzE,IAAI6D,EAAE2P,IAAG,EAAG,MAAM7S,EAAEuO,EAAEpL,EAAEkV,sBAAsBnV,EAAEA,EAAElD,EAAEkD,EAAEA,EAAE0L,EAAE5O,EAAEmD,EAAED,EAAE4S,GAAG1S,EAAEuM,IAAImI,YAAY,EAAE,MAAMlG,GAAG,WAAAnD,GAAcxX,KAAK8hB,GAAG,KAAK9hB,KAAK+hB,GAAG,CAAC,CAAC,EAAAC,GAAK,OAAOhiB,KAAK+hB,EAAE,CAAC,EAAAE,CAAGhW,GAAGjM,KAAK+hB,GAAG9V,CAAC,CAAC,EAAA+P,GAAK,OAAOhc,KAAK8hB,EAAE,CAAC,EAAAI,CAAGjW,GAAGjM,KAAK8hB,GAAG7V,CAAC,CAAC,EAAAkW,CAAGlW,GAAG,MAAM,EAAE,CAAC,EAAAmW,GAAK,MAAM,EAAE,CAAC,EAAAxG,GAAK,OAAM,CAAE,EAAE,IAAIyG,IAAI,SAASpW,GAAGA,EAAEA,EAAEqW,OAAO,GAAG,SAASrW,EAAEA,EAAEsW,OAAO,GAAG,SAAStW,EAAEA,EAAEuW,OAAO,GAAG,QAAQ,CAAhF,CAAkFH,KAAKA,GAAG,CAAA,IAAK,MAAMzH,WAAWD,GAAG,WAAAnD,CAAYvL,EAAEC,GAAGuN,QAAQzZ,KAAKyiB,GAAG,KAAKziB,KAAK0iB,GAAG/J,IAAI3Y,KAAK2iB,GAAG,EAAE3iB,KAAK4iB,IAAG,EAAG5iB,KAAK6iB,GAAG,IAAIC,IAAI9iB,KAAK+iB,IAAG,EAAG/iB,KAAKgjB,GAAGrK,IAAI3Y,KAAKijB,GAAGtK,IAAI3Y,KAAKkjB,GAAGvK,IAAI3Y,KAAKmjB,GAAGxK,IAAI3Y,KAAK2hB,GAAG1V,EAAEjM,KAAKojB,GAAGlX,EAAElM,KAAKqjB,GAAG,IAAIhK,EAAEpN,EAAEjM,MAAMA,KAAKsjB,GAAG,EAAErX,EAAEC,IAAIC,IAAI,MAAMG,EAAEJ,IAAI9D,EAAE6D,IAAI,GAAGE,IAAIU,EAAE7M,KAAKyiB,IAAIc,KAAK,MAAM,CAAC1I,GAAGzS,EAAE8X,GAAG5T,GAAG,CAAC,MAAML,EAAEY,EAAEV,EAAE0P,MAAM,MAAM,CAAChB,GAAG1O,EAAEqX,GAAGlX,EAAEL,GAAGiU,GAAG5T,EAAE,GAAnH,CAAqH,IAAOtM,KAAK0iB,GAAE,IAAO1iB,KAAKijB,IAAK,MAAM9W,EAAE,EAAEF,EAAEC,IAAI,KAAK,MAAMC,EAAEnM,KAAK2hB,GAAGjG,KAAK+H,GAAGxX,KAAKK,EAAEJ,IAAI,OAAOC,GAAGuX,OAAOzL,SAAS3L,GAAG,CAACsO,GAAGzO,EAAE+T,GAAG5T,GAAG,MAAzF,CAA8F,IAAOtM,KAAK2iB,GAAE,IAAO3iB,KAAKud,MAAOvd,KAAK2jB,GAAG,IAAIjJ,GAAG1a,KAAKiM,EAAEE,GAAGnM,KAAK4jB,GAAG,IAAIrK,GAAEvZ,KAAK,CAAC,CAAA0Y,GAAI,OAAO1Y,KAAKojB,EAAE,CAAC,EAAAS,CAAG5X,EAAEC,GAAGlM,KAAKkjB,GAAGjX,EAAEjM,KAAKmjB,GAAGjX,CAAC,CAAC,EAAA4X,GAAK9jB,KAAKkjB,GAAGvK,IAAI3Y,KAAKmjB,GAAGxK,GAAG,CAAC,EAAAoL,GAAK,OAAO/jB,KAAKkjB,EAAE,CAAC,EAAAc,GAAK,OAAOhkB,KAAKmjB,EAAE,CAAC,EAAAc,CAAGhY,EAAEC,EAAEC,GAAGnM,KAAK+iB,KAAK/iB,KAAK+iB,IAAG,GAAI/iB,KAAK4iB,IAAG,EAAG5iB,KAAKkkB,GAAGjY,EAAEC,EAAEC,EAAE,CAAC,EAAAsP,GAAK,OAAOzb,KAAK2iB,EAAE,CAAC,EAAApF,GAAK,OAAOvd,KAAKgjB,EAAE,CAAC,EAAAxF,GAAK,OAAOxd,KAAKijB,EAAE,CAAC,EAAArH,GAAK,OAAO5b,KAAK4iB,EAAE,CAAC,EAAAuB,GAAKnkB,KAAK4iB,IAAG,EAAG5iB,KAAKokB,KAAKpkB,KAAK0iB,GAAG/J,IAAI3Y,KAAKgjB,GAAGrK,IAAI3Y,KAAKijB,GAAGtK,IAAI3Y,KAAKyiB,GAAG,KAAKziB,KAAK8jB,IAAI,CAAC,EAAAO,CAAGpY,GAAG,OAAO,OAAOjM,KAAKyiB,GAAG,CAACziB,KAAK4jB,GAAG5jB,KAAKqjB,IAAI,EAAE,CAAC,EAAAlG,CAAGlR,GAAG,OAAOA,IAAIjM,KAAKyiB,IAAIziB,KAAKojB,GAAG/F,SAASpS,OAAO,CAAC,EAAAmS,GAAK,OAAOpd,KAAKojB,GAAG9F,SAASrS,OAAO,CAAC,EAAAqZ,CAAGrY,EAAEC,GAAGlM,KAAK4iB,IAAI5iB,KAAKyiB,KAAKxW,GAAGjM,KAAK6iB,GAAG0B,QAAQ,MAAMpY,EAAE,GAAG,OAAOnM,KAAKyiB,KAAKxW,GAAGE,EAAEhL,KAAKnB,KAAKwkB,GAAGxkB,KAAK6iB,GAAG3W,EAAElM,KAAKsjB,KAAKnX,CAAC,CAAC,EAAAiW,GAAK,OAAOpiB,KAAK4iB,GAAG,CAAC5iB,KAAK2jB,IAAI,EAAE,CAAC,EAAA3G,GAAK,OAAOhd,KAAKyiB,EAAE,CAAC,EAAAgC,GAAKzkB,KAAK4jB,GAAGzI,KAAKnb,KAAK6iB,GAAGhhB,QAASoK,GAAGA,EAAEkP,MAAOnb,KAAK2jB,GAAGxI,KAAKnb,KAAKqjB,GAAGlI,IAAI,CAAC,EAAAuJ,CAAGzY,GAAG,OAAOA,IAAIA,EAAEsX,KAAKpC,KAAKlV,EAAEsX,KAAK,IAAI,CAAC,EAAAW,CAAGjY,EAAEC,EAAEC,GAAGnM,KAAK2kB,GAAG1Y,EAAEC,EAAEC,IAAInM,KAAKykB,IAAI,CAAC,EAAAE,CAAG1Y,EAAEC,EAAEC,GAAG,MAAMG,EAAEtM,KAAKgjB,GAAG5a,EAAEpI,KAAKijB,GAAGla,EAAE/I,KAAK0iB,GAAGxZ,EAAElJ,KAAK2iB,GAAGlf,EAAEzD,KAAKyiB,GAAGtY,EAAEnK,KAAK0kB,GAAGvY,GAAGnM,KAAK2iB,GAAG1W,EAAEjM,KAAKgjB,GAAG4B,MAAM3Y,GAAG0M,IAAI3Y,KAAK2hB,GAAGjG,KAAKY,GAAGrQ,GAAGjM,KAAKyiB,GAAGtW,EAAE,MAAM7K,EAAE,OAAO6I,EAAEA,EAAE0R,KAAK,KAAK,OAAO,OAAO1R,GAAG,OAAO7I,GAAGtB,KAAK0iB,GAAGxW,EAAElM,KAAKijB,GAAG9Y,EAAE8R,GAAG/P,EAAE5K,KAAKtB,KAAK0iB,GAAG/J,IAAI3Y,KAAKijB,GAAGtK,KAAKrM,IAAItM,KAAKgjB,IAAI5a,IAAIpI,KAAKijB,IAAI/Z,IAAIlJ,KAAK2iB,IAAI5Z,IAAI/I,KAAK0iB,IAAIjf,IAAIzD,KAAKyiB,EAAE,CAAC,EAAA2B,GAAK,MAAMnY,EAAEjM,KAAK2hB,GAAGvG,KAAKC,IAAKpP,GAAGA,EAAE4Y,KAAKC,MAAOzjB,OAAOiX,GAAGpM,EAAE,IAAID,EAAEhJ,OAAO,KAAK+C,KAAK2Q,OAAO1K,GAAGjM,KAAK2iB,GAAG,OAAOzW,EAAEA,EAAEyM,GAAG,CAAC,EAAA6L,CAAGvY,EAAEC,EAAEC,GAAG,IAAIG,EAAEL,EAAErL,IAAIsL,GAAG,YAAO,IAASI,IAAIA,EAAE,IAAI6N,GAAGna,KAAKkM,EAAEC,GAAGF,EAAE8Y,IAAI7Y,EAAEI,IAAIA,CAAC,EAAE,SAASuO,GAAG5O,GAAG,MAAM,SAASA,GAAG,UAAUA,CAAC,CAAC,MAAM6O,GAAG,WAAAtD,CAAYvL,GAAGjM,KAAKglB,GAAG,IAAIlC,IAAI9iB,KAAKilB,GAAG,GAAGjlB,KAAKklB,GAAGjZ,CAAC,CAAC,EAAAkZ,CAAGlZ,EAAEC,GAAG,MAAMC,EAAE,SAASF,EAAEC,GAAG,YAAO,IAASD,EAAEC,EAAE,CAACkZ,GAAGpf,KAAK2Q,IAAI1K,EAAEmZ,GAAGlZ,EAAEkZ,IAAIC,GAAGpZ,EAAEoZ,IAAInZ,EAAEmZ,GAAG,CAAxE,CAA0ErlB,KAAKglB,GAAGpkB,IAAIqL,GAAGC,GAAGlM,KAAKglB,GAAGD,IAAI9Y,EAAEE,EAAE,CAAC,EAAAmZ,GAAK,OAAOtlB,KAAKklB,EAAE,CAAC,EAAAK,CAAGtZ,GAAG,MAAMC,EAAElM,KAAKglB,GAAGpkB,IAAIqL,GAAG,YAAO,IAASC,EAAE,CAACkZ,GAAGplB,KAAKklB,IAAI,CAACE,GAAGpf,KAAK2Q,IAAI3W,KAAKklB,GAAGhZ,EAAEkZ,IAAIC,GAAGnZ,EAAEmZ,GAAG,CAAC,EAAAG,GAAKxlB,KAAKylB,KAAKzlB,KAAKilB,GAAG,CAAC,CAACS,GAAG,GAAG,CAAC,EAAAC,CAAG1Z,GAAGjM,KAAKylB,KAAKzlB,KAAKilB,GAAG,CAAC,CAACS,GAAG,EAAExJ,GAAGjQ,GAAG,CAAC,EAAA2Z,CAAG3Z,GAAGjM,KAAK6lB,KAAK7lB,KAAKilB,GAAG9jB,KAAK,CAACukB,GAAG,EAAExJ,GAAGjQ,GAAG,CAAC,EAAAwZ,GAAKzlB,KAAK6lB,KAAK7lB,KAAKilB,GAAG9jB,KAAK,CAACukB,GAAG,GAAG,CAAC,EAAAI,GAAK9lB,KAAKylB,KAAKzlB,KAAKilB,GAAG,CAAC,CAACS,GAAG,GAAG,CAAC,EAAAK,CAAG9Z,GAAGjM,KAAKylB,KAAKzlB,KAAKilB,GAAG9jB,KAAK,CAACukB,GAAG,EAAExJ,GAAGjQ,GAAG,CAAC,EAAA+Z,CAAG/Z,GAAGjM,KAAKylB,KAAKzlB,KAAKilB,GAAG9jB,KAAK,CAACukB,GAAG,EAAExJ,GAAGjQ,GAAG,CAAC,EAAAga,GAAK,OAAOjmB,KAAKilB,EAAE,CAAC,EAAAiB,CAAGja,GAAG,IAAI,MAAMC,KAAKD,EAAEgZ,GAAGjlB,KAAKmmB,GAAGja,GAAGlM,KAAKklB,GAAGlf,KAAK2Q,IAAI3W,KAAKklB,GAAGjZ,EAAEiZ,IAAIjZ,EAAE+Y,GAAGnjB,QAAO,CAAGoK,EAAEC,KAAKlM,KAAKmlB,GAAGjZ,EAAED,EAAG,EAAE,CAAC,SAAOma,GAAK,OAAO,IAAItL,GAAG,EAAE,CAAC,SAAOuL,GAAK,OAAO,IAAIvL,GAAG,EAAE,CAAC,EAAAqL,CAAGla,GAAG,OAAOA,EAAEyZ,IAAI,KAAK,EAAE1lB,KAAKwlB,KAAK,MAAM,KAAK,EAAExlB,KAAK2lB,GAAG1Z,EAAEiQ,IAAI,MAAM,KAAK,EAAElc,KAAK+lB,GAAG9Z,EAAEiQ,IAAI,MAAM,KAAK,EAAElc,KAAKgmB,GAAG/Z,EAAEiQ,IAAI,MAAM,KAAK,EAAElc,KAAK8lB,KAAK,MAAM,KAAK,EAAE9lB,KAAK4lB,GAAG3Z,EAAEiQ,IAAI,MAAM,KAAK,EAAElc,KAAK6lB,KAAK,CAAC,EAAAA,GAAK,MAAM5Z,EAAEjM,KAAKilB,GAAGxN,UAAWxL,GAAG,IAAIA,EAAEyZ,KAAK,IAAKzZ,GAAGjM,KAAKilB,GAAGvN,OAAOzL,EAAE,EAAE,EAAe,SAAS+O,GAAG/O,EAAEC,GAAG,IAAI8L,EAAE/L,GAAG,MAAM,MAAM,IAAIiM,EAAEhM,GAAG,MAAM,IAAIlF,UAAU,kBAAkB,GAAGkF,EAAE,GAAGA,EAAE,GAAG,MAAM,IAAIlF,UAAU,kBAAkB,OAAG,IAAIkF,EAASD,EAAEqa,YAAkB,mBAAmBra,EAAEqa,YAAYC,OAAOra,EAAE,CAAC,MAAM+O,GAAG,WAAAzD,CAAYvL,EAAEC,GAAG,GAAGA,IAAIA,EAAE,GAAG8L,EAAE/L,IAAIiM,EAAEjM,KAAKA,EAAE,KAAKA,EAAE,EAAE,MAAM,IAAIjF,UAAU,gBAAgBhH,KAAKghB,GAAG/U,EAAEjM,KAAKwmB,GAAGta,EAAElM,KAAKymB,IAAI,CAAC,MAAAC,CAAOza,GAAG,MAAMC,EAAED,EAAE,EAAE,IAAI,GAAG,OAAOA,EAAEjG,KAAKyb,IAAIxV,GAAGC,EAAElM,KAAK2mB,GAAG1a,EAAE,CAAC,EAAAwa,GAAK,GAAGzmB,KAAK4mB,GAAG,EAAE5mB,KAAKghB,GAAG,GAAGhhB,KAAKwmB,GAAG,EAAE,CAAC,IAAIva,EAAEjM,KAAKghB,GAAG,KAAK/U,EAAE,GAAGA,GAAG,GAAGjM,KAAK4mB,IAAI,CAAC,CAAC,EAAAD,CAAG1a,GAAG,MAAMC,EAAElM,KAAKghB,GAAGhhB,KAAKwmB,GAAG,IAAIra,EAAEnG,KAAK8T,MAAM7N,GAAGK,EAAE,GAAG,MAAMlE,OAAE,IAASpI,KAAK4mB,GAAG5mB,KAAK4mB,GAAGjO,IAAI,GAAGzM,EAAE,EAAE,CAAC,IAAInD,IAAI/C,KAAKC,MAAMgG,EAAEC,GAAGC,EAAED,GAAG2a,QAAQ7mB,KAAK4mB,IAAI7d,GAAGmD,IAAInD,GAAGmD,EAAEC,GAAG,GAAGG,EAA/oB,IAAopB0O,IAAIjS,EAAE8d,QAAQ7mB,KAAK4mB,IAAI5mB,KAAKwmB,GAAGpe,EAAE,MAAM+D,EAAEnG,KAAKC,MAAMkG,EAAED,GAAGA,EAAE9D,EAAE,IAAIkE,EAArtB,IAA0tB0O,GAAG,EAAE5S,IAAI,OAAO+D,EAAE0a,QAAQ,GAAGva,CAAC,EAAE,MAAM4O,WAAWD,GAAG,WAAAzD,CAAYvL,EAAE,KAAKwN,MAAMxN,EAAE,CAAC,MAAAya,CAAOza,GAAG,MAAM,GAAGwN,MAAMiN,OAAOza,KAAK,EAAE,MAAM6a,GAAG,WAAAtP,CAAYvL,GAAGjM,KAAK+mB,GAAG9a,CAAC,CAAC,MAAAya,CAAOza,GAAG,IAAIC,EAAE,GAAG,OAAOD,EAAE,IAAIC,EAAE,IAAID,GAAGA,GAAGA,EAAE,IAAIC,EAAElM,KAAKgnB,GAAG/a,GAAGA,EAAE,OAAOC,EAAElM,KAAKgnB,GAAG/a,EAAE,KAAK,IAAIA,EAAE,WAAWA,EAAE,IAAIjG,KAAKC,MAAMgG,EAAE,KAAKC,EAAElM,KAAKgnB,GAAG/a,EAAE,KAAK,MAAMA,EAAE,IAAIjG,KAAKC,MAAMgG,EAAE,KAAKC,EAAElM,KAAKgnB,GAAG/a,EAAE,KAAK,IAAI,CAAC,EAAA+a,CAAG/a,GAAG,IAAIC,EAAE,MAAMC,EAAEnG,KAAKihB,IAAI,GAAGjnB,KAAK+mB,IAAI,OAAO7a,GAAGD,EAAEjG,KAAKC,MAAMgG,EAAEE,GAAGA,IAAI,OAAOF,EAAE,EAAEA,EAAE4a,QAAQ7mB,KAAK+mB,IAAIG,QAAQ,SAAS,IAAIC,OAAOlb,GAAGC,EAAEgb,QAAQ,gBAAe,CAAGjb,EAAEC,IAAIA,EAAG,EAAE,SAASkb,GAAGnb,EAAEC,EAAEC,EAAEG,EAAElE,EAAEW,EAAEG,GAAG,GAAG,IAAIgD,EAAEjJ,QAAQqJ,EAAE0N,MAAM9N,EAAEjJ,QAAQqJ,EAAEyN,IAAI,EAAE,OAAO,MAAMjT,QAAQrD,EAAEoE,qBAAqBsC,EAAErC,mBAAmBxG,GAAG2K,EAAEnB,EAAEoB,EAAEI,EAAE0N,MAAM,IAAIjP,EAAEhC,EAAEkD,EAAEnB,GAAGiB,EAAEjB,EAAE,GAAGwB,EAAEyN,GAAGzN,EAAE0N,KAAK,EAAE,CAAC,MAAM9N,EAAE9D,EAAE,EAAE3E,EAAE8I,YAAY,MAAMJ,EAAE,CAAC+N,GAAGpP,EAAEoP,GAAGhO,EAAEiO,GAAGrP,EAAEqP,IAAI7N,EAAE,CAAC4N,GAAGpP,EAAEoP,GAAGhO,EAAEiO,GAAGrP,EAAEqP,IAAI1W,EAAE+I,OAAOL,EAAE+N,GAAG/P,EAAEgC,EAAEgO,GAAG7Y,GAAGmC,EAAEgJ,OAAOH,EAAE4N,GAAG/P,EAAEmC,EAAE6N,GAAG7Y,GAAG4H,EAAE+C,EAAElB,EAAEoB,EAAEG,EAAE,KAAK,CAAC,MAAMlE,EAAE,CAAC8D,EAAEC,KAAKjD,EAAE+C,EAAElB,EAAEgB,EAAEI,GAAG1I,EAAE8I,YAAYxB,EAAEmB,EAAEH,EAAEI,GAAG,IAAIH,EAAED,EAAEtI,EAAE8I,YAAY9I,EAAE+I,OAAO1B,EAAEoP,GAAG/P,EAAEW,EAAEqP,GAAG7Y,GAAG,IAAI,IAAI4H,EAAEoD,EAAE0N,KAAK,EAAE9Q,EAAEoD,EAAEyN,KAAK7Q,EAAE,CAAC8C,EAAEE,EAAEhD,GAAG,MAAMoD,EAAEvD,EAAEkD,EAAED,GAAG,OAAOG,GAAG,KAAK,EAAE1I,EAAEgJ,OAAOT,EAAEkO,GAAG/P,EAAE6B,EAAEmO,GAAG7Y,GAAG,MAAM,KAAK,EAAEmC,EAAEgJ,OAAOT,EAAEkO,GAAG/P,EAAE+B,EAAEhD,EAAE,GAAGiR,GAAG7Y,GAAGgL,IAAIvB,IAAI3C,EAAEkE,EAAEN,GAAGvI,EAAEgJ,OAAOT,EAAEkO,GAAG/P,EAAE+B,EAAEhD,EAAE,GAAGiR,GAAG7Y,IAAImC,EAAEgJ,OAAOT,EAAEkO,GAAG/P,EAAE6B,EAAEmO,GAAG7Y,GAAG,MAAM,KAAK,EAAE,CAAC,MAAM2K,EAAEE,GAAGoP,GAAGrP,EAAEhD,EAAE,EAAEA,GAAGzF,EAAE4jB,cAAcpb,EAAEiO,GAAG/P,EAAE8B,EAAEkO,GAAG7Y,EAAE6K,EAAE+N,GAAG/P,EAAEgC,EAAEgO,GAAG7Y,EAAE0K,EAAEkO,GAAG/P,EAAE6B,EAAEmO,GAAG7Y,GAAG,KAAK,EAAE,IAAI6K,GAAGG,IAAIvB,IAAI3C,EAAEkE,EAAEN,GAAGvI,EAAE+I,OAAOR,EAAEkO,GAAG/P,EAAE6B,EAAEmO,GAAG7Y,GAAG,EAAEyK,IAAIC,GAAGD,IAAIC,GAAG,IAAIG,IAAIjD,EAAE+C,EAAElB,EAAEgB,EAAEC,EAAE,CAAC,CAAC,MAAMmP,GAAG,EAAE,SAASC,GAAGnP,EAAEC,GAAG,MAAM,CAACgO,GAAGjO,EAAEiO,GAAGhO,EAAEgO,GAAGC,GAAGlO,EAAEkO,GAAGjO,EAAEiO,GAAG,CAAC,SAASmB,GAAGrP,EAAEC,GAAG,MAAM,CAACgO,GAAGjO,EAAEiO,GAAGhO,EAAEiO,GAAGlO,EAAEkO,GAAGjO,EAAE,CAAC,SAASqP,GAAGtP,EAAEC,EAAEC,GAAG,MAAMG,EAAEtG,KAAK2Q,IAAI,EAAEzK,EAAE,GAAG9D,EAAEpC,KAAK0Q,IAAIzK,EAAEhJ,OAAO,EAAEkJ,EAAE,GAAG,IAAIpD,EAAEG,EAAE,MAAM,EAAEH,EAAEkD,EAAEC,GAAGhD,EAAEoS,GAAGF,GAAGnP,EAAEE,GAAGF,EAAEK,IAAI6O,IAAI,CAACjB,GAAGnR,EAAEmR,GAAGhR,EAAEgR,GAAGC,GAAGpR,EAAEoR,GAAGjR,EAAEiR,KAAKiB,GAAGnP,EAAEE,GAAGmP,GAAGF,GAAGnP,EAAE7D,GAAG6D,EAAEC,IAAIiP,KAAK,CAAC,SAASM,GAAGxP,EAAEC,EAAEC,EAAEG,EAAElE,GAAG,MAAMtB,QAAQiC,EAAElB,qBAAqBqB,EAAEpB,mBAAmBrE,GAAGyI,EAAEnD,EAAE0D,OAAOrE,EAAE8R,GAAGhR,EAAE+C,EAAExI,GAAGsF,EAAE0D,OAAOH,EAAE4N,GAAGhR,EAAE+C,EAAExI,GAAGsF,EAAE+U,YAAY/U,EAAEyR,UAAUrO,EAAEpD,EAAEuR,MAAM,CAAC,MAAMoB,WAAW7C,EAAE,WAAArB,GAAciC,SAASC,WAAW1Z,KAAK2Z,EAAE,IAAI,CAAC,CAAAC,CAAE3N,GAAGjM,KAAK2Z,EAAE1N,CAAC,CAAC,CAAAuN,CAAEvN,GAAG,IAAIC,EAAE,GAAG,OAAOlM,KAAK2Z,EAAE,OAAO,MAAMM,GAAG9N,EAAE0N,GAAGvN,EAAEgb,GAAGlf,EAAEmS,GAAGxR,EAAE6T,GAAG1T,EAAEqe,GAAG9jB,GAAGzD,KAAK2Z,EAAExP,EAAE,QAAQ+B,EAAElM,KAAK2Z,EAAE6N,UAAK,IAAStb,EAAEA,EAAElM,KAAK2Z,EAAE8N,GAAG,EAAExb,EAAElF,UAAUvH,OAAO,GAAG,OAAO8M,EAAE,OAAO,MAAMhL,EAAE2K,EAAEnF,QAAQxF,EAAEob,QAAQ,OAAOpb,EAAEomB,SAAS,QAAQpmB,EAAE+H,UAAUN,EAAE1B,EAAE/F,EAAE4H,GAAG5H,EAAE+H,UAAU,EAAE+d,GAAGnb,EAAEE,EAAE1I,EAAE6I,EAAElE,EAAEpI,KAAK2nB,GAAGC,KAAK5nB,MAAMyb,GAAGmM,KAAK,KAAKzd,GAAG,EAAE,SAASwR,GAAG1P,EAAEC,EAAEC,GAAG,OAAOnG,KAAK0Q,IAAI1Q,KAAK2Q,IAAI1K,EAAEC,GAAGC,EAAE,CAAC,SAASyP,GAAG3P,EAAEC,EAAEC,GAAG,OAAOD,EAAED,GAAGE,CAAC,CAAC,SAAS0P,GAAG5P,GAAG,MAAMC,EAAElG,KAAK+Z,KAAK9T,GAAG,OAAOC,EAAE,GAAG,EAAEA,EAAE,EAAEA,CAAC,CAAC,MAAM4P,GAAG,EAAA+L,CAAG5b,EAAEC,GAAG,MAAMC,EAAEnM,KAAK8nB,IAAIC,GAAGzb,EAAE0b,GAAG5f,EAAE6f,GAAGlf,EAAEmf,GAAGhf,EAAEif,GAAG1kB,EAAE+jB,GAAGrd,GAAG+B,EAAE,QAAG,IAASlM,KAAKooB,SAAI,IAASjc,GAAGA,EAAE4b,KAAKzb,GAAGH,EAAE6b,KAAK5f,GAAG+D,EAAE8b,KAAKlf,GAAGoD,EAAE+b,KAAKhf,GAAGiD,EAAEqb,KAAKrd,GAAGgC,EAAEgc,KAAK1kB,EAAE,CAAC,MAAM0I,EAAEF,EAAEnF,QAAQiX,qBAAqB,EAAE,EAAE,EAAEta,GAAG,GAAG0I,EAAE6R,aAAa,EAAE1R,GAAG,MAAMnC,EAAE,CAAC,MAAM+B,EAAEyP,GAAGxR,EAAE8B,EAAEnE,mBAAmBrE,EAAE,EAAE,GAAG0I,EAAE6R,aAAa9R,EAAE9D,GAAG+D,EAAE6R,aAAa9R,EAAEnD,EAAE,CAACoD,EAAE6R,aAAa,EAAE9U,GAAGlJ,KAAKooB,GAAGjc,EAAEnM,KAAK8nB,GAAG5b,CAAC,CAAC,OAAOlM,KAAKooB,EAAE,EAAE,MAAMrM,WAAWL,GAAG,WAAAlE,GAAciC,SAASC,WAAW1Z,KAAKqoB,GAAG,IAAIvM,EAAE,CAAC,EAAA6L,CAAG1b,EAAEC,GAAG,OAAOlM,KAAKqoB,GAAGR,GAAG5b,EAAE,CAAC8b,GAAG7b,EAAEoc,GAAGN,GAAG,GAAGC,GAAG,GAAGC,GAAGhc,EAAEqc,GAAGJ,GAAGlc,EAAE/H,WAAW1E,QAAQ,EAAE,SAASyc,GAAGhQ,EAAEC,GAAG,MAAMC,EAAEF,EAAEnF,QAAQqF,EAAEwQ,YAAYzQ,EAAEC,EAAEO,QAAQ,CAAC,MAAMsP,WAAWnD,EAAE,WAAArB,GAAciC,SAASC,WAAW1Z,KAAK2Z,EAAE,IAAI,CAAC,CAAAC,CAAE3N,GAAGjM,KAAK2Z,EAAE1N,CAAC,CAAC,CAAAuN,CAAEvN,GAAG,GAAG,OAAOjM,KAAK2Z,EAAE,OAAO,MAAMM,GAAG/N,EAAE2N,GAAG1N,EAAEmb,GAAGhb,EAAEib,GAAGnf,EAAEmS,GAAGxR,EAAE6T,GAAG1T,EAAEsf,GAAG/kB,GAAGzD,KAAK2Z,EAAE,GAAG,OAAOxN,EAAE,OAAO,MAAMhC,EAAE8B,EAAEnF,QAAQqD,EAAEuS,QAAQ,OAAOvS,EAAEd,UAAUN,EAAEkD,EAAEnE,mBAAmBT,EAAE8C,EAAEjB,GAAGiB,EAAEud,SAAS,QAAQ,MAAMpmB,EAAEtB,KAAKyoB,GAAGb,KAAK5nB,WAAM,IAASoI,GAAGgf,GAAGnb,EAAEC,EAAE9D,EAAE+D,EAAEG,EAAEhL,EAAE2a,IAAIxY,GAAG,SAASwI,EAAEC,EAAEC,EAAEG,EAAElE,GAAG,MAAMP,qBAAqBkB,EAAEjB,mBAAmBoB,EAAEpC,QAAQrD,GAAGwI,EAAE,IAAI9B,EAAE,KAAK,MAAM7I,EAAE0E,KAAK2Q,IAAI,EAAE3Q,KAAK8T,MAAM/Q,IAAI,EAAE,EAAE+B,EAAEqB,EAAEjD,EAAE5H,EAAE,IAAI,IAAI6K,EAAEG,EAAEyN,GAAG,EAAE5N,GAAGG,EAAE0N,OAAO7N,EAAE,CAAC,MAAMG,EAAEJ,EAAEC,GAAG,GAAGG,EAAE,CAAC,MAAMJ,EAAE9D,EAAE6D,EAAEK,GAAGJ,IAAI/B,IAAI1G,EAAE8I,YAAY,OAAOpC,GAAG1G,EAAE6W,OAAO7W,EAAE+W,UAAUtO,EAAE/B,EAAE+B,GAAG,MAAMC,EAAEnG,KAAKC,MAAMqG,EAAE4N,GAAGnR,GAAGzH,EAAEyJ,EAAEuB,EAAE6N,GAAGjR,EAAEzF,EAAE+I,OAAOL,EAAEpB,GAAGtH,EAAE2W,IAAIjO,EAAEpB,EAAED,EAAE,EAAE,EAAE9E,KAAKqU,GAAG,CAAC,CAAC5W,EAAE6W,MAAM,CAAhW,CAAkWrO,EAAEC,EAAEzI,EAAE0I,EAAE7K,EAAE,EAAE,MAAM4a,WAAWF,GAAG,EAAAyM,CAAGxc,EAAEC,GAAG,OAAOA,EAAEyO,EAAE,EAAE,SAASwB,GAAGlQ,EAAEC,EAAEC,EAAEG,EAAElE,EAAE,EAAEW,EAAEmD,EAAEjJ,QAAQ,IAAIiG,EAAEH,EAAEX,EAAE,KAAK,EAAEc,GAAG,CAAC,MAAMH,EAAEG,GAAG,EAAEzF,EAAE2E,EAAEW,EAAEuD,EAAEJ,EAAEzI,GAAG0I,KAAKF,GAAG7D,EAAE3E,EAAE,EAAEyF,GAAGH,EAAE,GAAGG,EAAEH,CAAC,CAAC,OAAOX,CAAC,CAAC,MAAMgU,GAAGD,GAAGyL,KAAK,MAAK,GAAIvL,GAAGF,GAAGyL,KAAK,MAAK,GAAI,SAAStL,GAAGrQ,EAAEC,GAAG,OAAOD,EAAE2O,GAAG1O,CAAC,CAAC,SAASqQ,GAAGtQ,EAAEC,GAAG,OAAOA,EAAED,EAAE2O,EAAE,CAAC,SAAS4B,GAAGvQ,EAAEC,EAAEC,GAAG,MAAMG,EAAEJ,EAAEwc,KAAKtgB,EAAE8D,EAAEgT,KAAKnW,EAAEqT,GAAGnQ,EAAEK,EAAEgQ,IAAIpT,EAAEmT,GAAGpQ,EAAE7D,EAAEmU,IAAI,IAAIpQ,EAAE,MAAM,CAAC6N,KAAKjR,EAAEgR,GAAG7Q,GAAG,IAAIzF,EAAEsF,EAAEoB,EAAEjB,EAAE,OAAOH,EAAE,GAAGA,EAAEkD,EAAEhJ,QAAQgJ,EAAElD,GAAG6R,IAAItO,IAAI7I,EAAEsF,EAAE,GAAGG,EAAE,GAAGA,EAAE+C,EAAEhJ,QAAQgJ,EAAE/C,EAAE,GAAG0R,IAAIxS,IAAI+B,EAAEjB,EAAE,GAAG,CAAC8Q,KAAKvW,EAAEsW,GAAG5P,EAAE,CAAC,MAAMsS,GAAG,WAAAjF,CAAYvL,EAAEC,EAAEC,GAAGnM,KAAK2oB,IAAG,EAAG3oB,KAAK4oB,IAAG,EAAG5oB,KAAK6oB,IAAG,EAAG7oB,KAAK8oB,GAAG,GAAG9oB,KAAK+oB,GAAG,KAAK/oB,KAAKgpB,GAAG/c,EAAEjM,KAAKipB,GAAG/c,EAAElM,KAAKkpB,GAAG/c,CAAC,CAAC,EAAAgP,CAAGlP,GAAGjM,KAAK2oB,IAAG,EAAG,SAAS1c,IAAIjM,KAAK4oB,IAAG,GAAI,YAAY3c,IAAIjM,KAAK6oB,IAAG,EAAG,CAAC,EAAAvN,GAAK,OAAOtb,KAAKgpB,GAAGpN,MAAM5b,KAAKmpB,KAAK,OAAOnpB,KAAK+oB,GAAG,KAAK/oB,KAAKopB,IAAI,IAAI,CAAC,EAAAC,GAAKrpB,KAAK8oB,GAAG9oB,KAAK8oB,GAAGzN,IAAKpP,GAAGvL,OAAO4oB,OAAO5oB,OAAO4oB,OAAO,GAAGrd,GAAGjM,KAAKgpB,GAAGO,KAAKC,GAAGvd,EAAE2O,KAAM,CAAC,EAAA6O,GAAKzpB,KAAK+oB,GAAG,IAAI,CAAC,EAAAI,GAAKnpB,KAAK4oB,KAAK5oB,KAAK0pB,KAAK1pB,KAAK4oB,IAAG,GAAI5oB,KAAK6oB,KAAK7oB,KAAKqpB,KAAKrpB,KAAK6oB,IAAG,GAAI7oB,KAAK2oB,KAAK3oB,KAAK2pB,KAAK3pB,KAAK2oB,IAAG,EAAG,CAAC,EAAAgB,GAAK,MAAM1d,EAAEjM,KAAKgpB,GAAGhN,KAAK9P,EAAElM,KAAKipB,GAAGvN,KAAK,GAAG1b,KAAKypB,KAAKvd,EAAEiV,MAAMlV,EAAEkV,KAAK,OAAO,MAAMhV,EAAED,EAAE0d,KAAK,GAAG,OAAOzd,EAAE,OAAO,GAAG,IAAInM,KAAKgpB,GAAGnE,KAAKgF,KAAK,OAAO,MAAMvd,EAAEtM,KAAKgpB,GAAGnN,KAAK,OAAOvP,IAAItM,KAAK+oB,GAAGvM,GAAGxc,KAAK8oB,GAAG3c,EAAEnM,KAAKkpB,IAAIlpB,KAAK8pB,GAAG7d,EAAEC,EAAEI,EAAE4P,IAAIlc,KAAK+pB,KAAK,EAAE,MAAMnN,WAAWH,GAAG,WAAAjF,CAAYvL,EAAEC,GAAGuN,MAAMxN,EAAEC,GAAE,EAAG,CAAC,EAAA4d,CAAG7d,EAAEC,EAAEC,GAAGD,EAAE8d,GAAGhqB,KAAK8oB,GAAGvQ,EAAEvY,KAAK+oB,KAAK9c,EAAEge,GAAGjqB,KAAK8oB,GAAG3c,EAAEoM,EAAEvY,KAAK+oB,IAAI,CAAC,EAAAmB,CAAGje,EAAEC,GAAG,MAAM,CAAC0O,GAAG3O,EAAE4O,GAAG3O,EAAEgO,GAAGvB,IAAIwB,GAAGxB,IAAI,CAAC,EAAA+Q,GAAK,MAAMzd,EAAEjM,KAAKgpB,GAAGO,KAAKvpB,KAAK8oB,GAAG9oB,KAAKgpB,GAAGnE,KAAKsF,KAAK9O,IAAKnP,IAAI,MAAMC,EAAED,EAAEgQ,GAAG,GAAG,OAAOlc,KAAKoqB,GAAGle,EAAEme,GAAGle,EAAEF,EAAG,EAAE,EAAE,MAAM4Q,WAAWD,GAAG,WAAApF,CAAYvL,EAAEC,GAAGuN,MAAMxN,EAAEC,GAAGlM,KAAKopB,GAAG,IAAIxQ,EAAE5Y,KAAKsqB,GAAG,IAAIvO,GAAG/b,KAAKuqB,GAAG,IAAIrO,GAAGlc,KAAKopB,GAAG9P,EAAE,CAACtZ,KAAKsqB,GAAGtqB,KAAKuqB,IAAI,CAAC,EAAAH,CAAGne,EAAEC,EAAEC,GAAG,OAAOzL,OAAO4oB,OAAO5oB,OAAO4oB,OAAO,CAAA,EAAGtpB,KAAKkqB,GAAGje,EAAEC,IAAIC,EAAEqd,GAAGvd,GAAG,CAAC,EAAA8d,GAAK,MAAM9d,EAAEjM,KAAKgpB,GAAGtQ,IAAI1Y,KAAKsqB,GAAG1Q,EAAE,CAAC2N,GAAGtb,EAAE3C,SAAS2Q,GAAGja,KAAK8oB,GAAGlM,GAAG3Q,EAAE7C,UAAUmR,GAAGtO,EAAE5C,UAAUme,GAAG,KAAKC,GAAGxb,EAAEhC,iBAAiB4P,GAAG7Z,KAAK+oB,GAAGzB,GAAGtnB,KAAKipB,GAAGvN,KAAK8O,OAAOxqB,KAAKuqB,GAAG3Q,EAAE,CAAC2N,GAAGtb,EAAE1C,YAAY0C,EAAE3C,cAAS,EAAO2Q,GAAGja,KAAK8oB,GAAGlM,GAAG3Q,EAAE7C,UAAUmR,GAAGtO,EAAE5C,UAAUwQ,GAAG7Z,KAAK+oB,GAAGzB,GAAGtnB,KAAKipB,GAAGvN,KAAK8O,KAAKhC,GAAGvc,EAAEnC,oBAAoBmC,EAAEwe,oBAAoBxe,EAAE5C,UAAU,EAAE,OAAE,GAAQ,EAAE,MAAMyT,WAAWjE,EAAE,WAAArB,GAAciC,SAASC,WAAW1Z,KAAKuc,GAAG,KAAKvc,KAAK0qB,GAAG,EAAE1qB,KAAK2qB,GAAG,CAAC,CAAC,CAAA/Q,CAAE3N,GAAGjM,KAAKuc,GAAGtQ,CAAC,CAAC,CAAAuN,EAAG1S,QAAQmF,EAAEpE,qBAAqBqE,EAAEpE,mBAAmBqE,IAAI,GAAG,OAAOnM,KAAKuc,IAAI,IAAIvc,KAAKuc,GAAGsI,GAAG5hB,QAAQ,OAAOjD,KAAKuc,GAAG1C,GAAG,OAAU7Z,KAAK0qB,GAAG1qB,KAAK4qB,GAAG1e,GAAGlM,KAAK0qB,IAAI,GAAG1kB,KAAK2Q,IAAI,EAAE3Q,KAAK8T,MAAM5N,IAAI,GAAGlM,KAAK0qB,GAAG,GAAG1qB,KAAK0qB,KAAK1qB,KAAK2qB,GAAG3qB,KAAKuc,GAAGsO,GAAG7kB,KAAK0Q,IAAI1W,KAAK0qB,GAAG1kB,KAAK8T,MAAM5N,IAAIlM,KAAK0qB,GAAG,IAAIpe,EAAE,KAAK,MAAMlE,EAAEpI,KAAK2qB,IAAI3qB,KAAK0qB,IAAI1qB,KAAKuc,GAAGiO,IAAIxkB,KAAK8T,MAAM,IAAI5N,GAAG,IAAI,IAAInD,EAAE/I,KAAKuc,GAAG1C,GAAGG,KAAKjR,EAAE/I,KAAKuc,GAAG1C,GAAGE,KAAKhR,EAAE,CAAC,MAAMG,EAAElJ,KAAKuc,GAAGsI,GAAG9b,GAAGuD,IAAIpD,EAAE4hB,KAAK7e,EAAEuO,UAAUtR,EAAE4hB,GAAGxe,EAAEpD,EAAE4hB,IAAI,MAAMrnB,EAAEuC,KAAK8T,MAAM,GAAG9Z,KAAK2qB,IAAIxgB,EAAEnE,KAAKC,MAAMiD,EAAEgR,GAAGhO,GAAG5K,EAAE6I,EAAE1G,EAAEqH,EAAE9K,KAAK2qB,GAAG5f,EAAEzJ,EAAEwJ,EAAE,EAAEiB,EAAE/F,KAAK0Q,IAAIxN,EAAE6hB,GAAG7hB,EAAE8hB,IAAIhf,EAAEhG,KAAK2Q,IAAIzN,EAAE6hB,GAAG7hB,EAAE8hB,IAAI3jB,EAAErB,KAAKC,MAAM8F,EAAEI,GAAG1I,EAAE4I,EAAErG,KAAKC,MAAM+F,EAAEG,GAAG1I,EAAEkJ,EAAE3G,KAAK2Q,IAAItK,EAAEhF,EAAErH,KAAK2qB,IAAI1e,EAAEwR,SAASnc,EAAE+F,EAAEyD,EAAE6B,GAAG,MAAMC,EAAE5G,KAAK+Z,KAAK,IAAI/f,KAAK0qB,IAAI,GAAGtiB,EAAE,CAAC,GAAGpI,KAAKuc,GAAG0O,GAAG,CAAC,MAAM/e,EAAE/B,EAAEyC,EAAE,IAAIN,EAAEtG,KAAK2Q,IAAItP,EAAErB,KAAKC,MAAMiD,EAAEgiB,GAAG/e,GAAG1I,GAAG2E,EAAEkE,EAAExB,EAAE,EAAE1C,EAAEf,EAAEsF,EAAE,IAAIvE,EAAEf,EAAEsF,EAAE,EAAEL,EAAElE,EAAE0C,EAAE,GAAGmB,EAAEwR,SAASvR,EAAEI,EAAEhL,EAAE4K,EAAE9D,EAAEkE,EAAE,EAAE,CAAC,MAAMJ,EAAE/B,EAAEyC,EAAE,IAAIN,EAAEtG,KAAK2Q,IAAItP,EAAErB,KAAKC,MAAMiD,EAAEiiB,GAAGhf,GAAG1I,GAAG2E,EAAEkE,EAAExB,EAAE,EAAE1C,EAAEf,EAAEsF,EAAE,IAAIvE,EAAEf,EAAEsF,EAAE,EAAEL,EAAElE,EAAE0C,EAAE,GAAGmB,EAAEwR,SAAS1S,EAAE,EAAEuB,EAAEJ,EAAEnB,EAAE3C,EAAEkE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAAse,CAAG3e,GAAG,MAAMC,EAAElG,KAAK8T,MAAM7N,GAAG,OAAOjG,KAAK2Q,IAAIzK,EAAElG,KAAK8T,MAAM,SAAS7N,EAAEC,GAAG,OAAOlG,KAAK8T,MAAM,GAAG7N,EAAEC,EAAE,CAAvC,CAAyCW,EAAE7M,KAAKuc,IAAIiO,GAAGve,IAAI,EAAE,MAAM8Q,WAAWN,GAAG,WAAAjF,CAAYvL,EAAEC,GAAGuN,MAAMxN,EAAEC,GAAE,EAAG,CAAC,EAAA4d,CAAG7d,EAAEC,EAAEC,GAAGD,EAAE8d,GAAGhqB,KAAK8oB,GAAGvQ,EAAEvY,KAAK+oB,KAAK9c,EAAEmf,GAAGprB,KAAK8oB,GAAG3c,EAAEoM,EAAEvY,KAAK+oB,IAAI,CAAC,EAAAsC,CAAGpf,EAAEC,EAAEC,GAAG,MAAM,CAACyO,GAAG3O,EAAEqf,GAAGpf,EAAEgQ,GAAG,GAAGqP,GAAGrf,EAAEgQ,GAAG,GAAGsP,GAAGtf,EAAEgQ,GAAG,GAAGuP,GAAGvf,EAAEgQ,GAAG,GAAGhC,GAAGvB,IAAIuS,GAAGvS,IAAIoS,GAAGpS,IAAIqS,GAAGrS,IAAIwS,GAAGxS,IAAI,CAAC,EAAA+Q,GAAK,MAAMzd,EAAEjM,KAAKgpB,GAAGO,KAAKvpB,KAAK8oB,GAAG9oB,KAAKgpB,GAAGnE,KAAKsF,KAAK9O,IAAKnP,GAAGlM,KAAKoqB,GAAGle,EAAEme,GAAGne,EAAED,GAAI,EAAE,MAAM+Q,WAAWD,GAAG,WAAAvF,GAAciC,SAASC,WAAW1Z,KAAKopB,GAAG,IAAItM,EAAE,CAAC,EAAAsN,CAAGne,EAAEC,EAAEC,GAAG,OAAOzL,OAAO4oB,OAAO5oB,OAAO4oB,OAAO,CAAA,EAAGtpB,KAAKqrB,GAAGpf,EAAEC,EAAEC,IAAIA,EAAEqd,GAAGvd,GAAG,CAAC,EAAA8d,GAAK,MAAM9d,EAAEjM,KAAKgpB,GAAGtQ,IAAI1Y,KAAKopB,GAAGxP,EAAE,CAACiL,GAAG7kB,KAAK8oB,GAAG0B,GAAGxqB,KAAKipB,GAAGvN,KAAK8O,KAAKS,GAAGhf,EAAEjD,YAAY6hB,GAAG5e,EAAEhD,SAAS4Q,GAAG7Z,KAAK+oB,IAAI,EAAE,MAAM9L,WAAWvB,GAAG,WAAAlE,GAAciC,SAASC,WAAW1Z,KAAKqoB,GAAG,IAAIvM,EAAE,CAAC,EAAA6L,CAAG1b,EAAEC,GAAG,MAAMC,EAAEnM,KAAK2Z,EAAE,OAAO3Z,KAAKqoB,GAAGR,GAAG5b,EAAE,CAAC8b,GAAG7b,EAAEwf,GAAG1D,GAAG9b,EAAEyf,GAAG1D,GAAG/b,EAAE0f,GAAG1D,GAAGhc,EAAE2f,GAAG1D,GAAGlc,EAAE/H,WAAW1E,OAAOgoB,GAAGrb,EAAEqb,IAAI,EAAE,MAAMrK,WAAWnB,GAAG,WAAAxE,GAAciC,SAASC,WAAW1Z,KAAK8rB,GAAG,IAAIhQ,EAAE,CAAC,EAAA2M,CAAGxc,EAAEC,GAAG,MAAMC,EAAEnM,KAAK2Z,EAAE,OAAO3Z,KAAK8rB,GAAGjE,GAAG5b,EAAE,CAAC8b,GAAG7b,EAAE6f,GAAG/D,GAAG9b,EAAE6f,GAAG9D,GAAG/b,EAAE8f,GAAG9D,GAAGhc,EAAE8f,GAAG7D,GAAGlc,EAAE/H,WAAW1E,OAAOgoB,GAAGrb,EAAEqb,IAAI,EAAE,MAAMpK,WAAWR,GAAG,WAAApF,CAAYvL,EAAEC,GAAGuN,MAAMxN,EAAEC,GAAGlM,KAAKopB,GAAG,IAAIxQ,EAAE5Y,KAAKisB,GAAG,IAAIhP,GAAGjd,KAAKksB,GAAG,IAAI/O,GAAGnd,KAAKopB,GAAG9P,EAAE,CAACtZ,KAAKisB,GAAGjsB,KAAKksB,IAAI,CAAC,EAAA9B,CAAGne,EAAEC,EAAEC,GAAG,OAAOzL,OAAO4oB,OAAO5oB,OAAO4oB,OAAO,CAAA,EAAGtpB,KAAKkqB,GAAGje,EAAEC,IAAIC,EAAEqd,GAAGvd,GAAG,CAAC,EAAA8d,GAAK,MAAM9d,EAAEjM,KAAKgpB,GAAGnN,KAAK,GAAG,OAAO5P,EAAE,OAAO,MAAMC,EAAElM,KAAKgpB,GAAGtQ,IAAIvM,EAAEnM,KAAKgpB,GAAGhN,KAAKC,GAAG/P,EAAE9B,UAAUE,MAAM2B,EAAEiQ,IAAI5P,EAAEtM,KAAKipB,GAAGvN,KAAK8O,KAAKxqB,KAAKisB,GAAGrS,EAAE,CAACK,GAAGja,KAAK8oB,GAAGvO,GAAGrO,EAAE7C,UAAUuT,GAAG1Q,EAAE9C,UAAUme,GAAGrb,EAAE5C,SAASke,GAAGrb,EAAEsb,IAAG,EAAG5N,GAAG7Z,KAAK+oB,GAAGzB,GAAGhb,IAAItM,KAAKksB,GAAGtS,EAAE,CAACK,GAAGja,KAAK8oB,GAAGvO,GAAGrO,EAAE7C,UAAUuT,GAAG1Q,EAAE9C,UAAUme,GAAGrb,EAAE3C,YAAY2C,EAAE5C,cAAS,EAAOkf,GAAGtc,EAAEpC,oBAAoBoC,EAAEue,oBAAoBve,EAAE7C,UAAU,EAAE,OAAE,EAAOme,GAAGrb,EAAE0N,GAAG7Z,KAAK+oB,GAAGzB,GAAGhb,GAAG,EAAE,MAAMiR,WAAW1E,EAAE,WAAArB,GAAciC,SAASC,WAAW1Z,KAAKuc,GAAG,KAAKvc,KAAK0qB,GAAG,CAAC,CAAC,CAAA9Q,CAAE3N,GAAGjM,KAAKuc,GAAGtQ,CAAC,CAAC,CAAAuN,CAAEvN,GAAG,GAAG,OAAOjM,KAAKuc,IAAI,IAAIvc,KAAKuc,GAAGsI,GAAG5hB,QAAQ,OAAOjD,KAAKuc,GAAG1C,GAAG,OAAO,MAAMhS,qBAAqBqE,GAAGD,EAAKjM,KAAK0qB,GAAG,SAASze,EAAEC,GAAG,GAAGD,GAAG,KAAKA,GAAG,EAAE,OAAOjG,KAAK8T,MAAM,EAAE5N,GAAG,MAAMC,EAAE,EAAE,GAAGnG,KAAKmmB,KAAKnmB,KAAK2Q,IAAI,EAAE1K,GAAG,IAAI,GAAGjG,KAAKqU,IAAI/N,EAAEtG,KAAK8T,MAAM7N,EAAEE,EAAED,GAAG9D,EAAEpC,KAAK8T,MAAM7N,EAAEC,GAAGnD,EAAE/C,KAAK0Q,IAAIpK,EAAElE,GAAG,OAAOpC,KAAK2Q,IAAI3Q,KAAK8T,MAAM5N,GAAGnD,EAAE,CAAhM,CAAkM/I,KAAKuc,GAAGiO,GAAGte,GAAGlM,KAAK0qB,IAAI,GAAG1kB,KAAK8T,MAAM5N,GAAG,GAAGlM,KAAK0qB,GAAG,GAAG1qB,KAAK0qB,KAAK,MAAMve,EAAEnM,KAAKuc,GAAGsI,GAAG7kB,KAAKuc,GAAG6P,IAAIpsB,KAAKqsB,GAAGpgB,EAAEE,EAAEnM,KAAKuc,GAAG1C,IAAI7Z,KAAKuc,GAAG0C,IAAIjf,KAAKssB,GAAGrgB,EAAEE,EAAEnM,KAAKuc,GAAG1C,IAAI,MAAMvN,EAAEtM,KAAKusB,GAAGrgB,KAAKlM,KAAKuc,GAAG0C,IAAIjf,KAAK0qB,GAAG,EAAEpe,IAAItM,KAAKwsB,GAAGvgB,EAAEE,EAAEnM,KAAKuc,GAAG1C,GAAG,CAAC,EAAAwS,CAAGpgB,EAAEC,EAAEC,GAAG,GAAG,OAAOnM,KAAKuc,GAAG,OAAO,MAAMzV,QAAQwF,EAAEzE,qBAAqBO,EAAEN,mBAAmBiB,GAAGkD,EAAE,IAAI/C,EAAE,GAAGzF,EAAEuC,KAAK0Q,IAAI1Q,KAAK8T,MAAM1R,GAAGpC,KAAK8T,MAAM9Z,KAAKuc,GAAGiO,GAAGpiB,IAAI3E,EAAEuC,KAAK2Q,IAAI3Q,KAAK8T,MAAM1R,GAAGpC,KAAK0Q,IAAIjT,EAAEzD,KAAK0qB,KAAK,MAAMvgB,EAAEnE,KAAK8T,MAAM,GAAGrW,GAAG,IAAInC,EAAE,KAAK,IAAI,IAAI2K,EAAEE,EAAE6N,KAAK/N,EAAEE,EAAE4N,GAAG9N,IAAI,CAAC,MAAME,EAAED,EAAED,GAAGE,EAAEsgB,KAAKvjB,IAAIoD,EAAEkO,UAAUrO,EAAEsgB,GAAGvjB,EAAEiD,EAAEsgB,IAAI,MAAM3hB,EAAE9E,KAAKC,MAAMD,KAAK0Q,IAAIvK,EAAE+e,GAAG/e,EAAEgf,IAAIpiB,GAAGgC,EAAE/E,KAAKC,MAAMD,KAAK2Q,IAAIxK,EAAE+e,GAAG/e,EAAEgf,IAAIpiB,GAAGgD,EAAE/F,KAAKC,MAAMkG,EAAE4e,GAAGhiB,GAAGiD,EAAEhG,KAAKC,MAAMkG,EAAE6e,GAAGjiB,GAAG,IAAI1B,EAAErB,KAAKC,MAAMmC,EAAE+D,EAAE+N,IAAI/P,EAAE,MAAMkC,EAAEhF,EAAE5D,EAAE,EAAE,OAAOnC,IAAI+F,EAAErB,KAAK2Q,IAAIrV,EAAE,EAAE+F,GAAGA,EAAErB,KAAK0Q,IAAIrP,EAAEgF,IAAI,MAAMM,EAAEN,EAAEhF,EAAE,EAAEiF,EAAEmR,SAASpW,EAAE0E,EAAEY,EAAE7B,EAAEiB,GAAGO,EAAEmR,SAASpW,EAAE0D,EAAE,EAAE4B,EAAEX,EAAEjB,GAAGzJ,EAAE+K,CAAC,CAAC,CAAC,EAAAkgB,CAAGtgB,GAAG,IAAIC,EAAElG,KAAK8T,MAAM,EAAE7N,GAAGjM,KAAK0qB,IAAI,EAAExe,IAAIA,EAAElG,KAAK8T,MAAM,IAAI9Z,KAAK0qB,GAAG,KAAK,MAAMve,EAAEnG,KAAK2Q,IAAI3Q,KAAK8T,MAAM7N,GAAGC,GAAG,OAAOlM,KAAK0qB,IAAI,EAAEve,EAAEnG,KAAK2Q,IAAI3Q,KAAK8T,MAAM7N,GAAGjG,KAAK8T,MAAM,EAAE7N,IAAIE,CAAC,CAAC,EAAAmgB,CAAGrgB,EAAEC,EAAEC,GAAG,GAAG,OAAOnM,KAAKuc,GAAG,OAAO,MAAMzV,QAAQwF,EAAEzE,qBAAqBO,EAAEN,mBAAmBiB,GAAGkD,EAAE,IAAI/C,EAAE,GAAG,MAAMzF,EAAEzD,KAAKusB,GAAGnkB,GAAG,IAAI+B,EAAE,KAAK,IAAI,IAAI8B,EAAEE,EAAE6N,KAAK/N,EAAEE,EAAE4N,GAAG9N,IAAI,CAAC,MAAME,EAAED,EAAED,GAAGE,EAAEugB,KAAKxjB,IAAIoD,EAAEkO,UAAUrO,EAAEugB,GAAGxjB,EAAEiD,EAAEugB,IAAI,IAAIprB,EAAE0E,KAAKC,MAAMkG,EAAE+N,GAAG9R,GAAGpC,KAAK8T,MAAM,GAAG9Z,KAAK0qB,IAAI,MAAM5f,EAAExJ,EAAEtB,KAAK0qB,GAAG,EAAE3f,EAAE/E,KAAKC,MAAMD,KAAK0Q,IAAIvK,EAAE+e,GAAG/e,EAAEgf,IAAIpiB,GAAGgD,EAAE/F,KAAKC,MAAMD,KAAK2Q,IAAIxK,EAAE+e,GAAG/e,EAAEgf,IAAIpiB,GAAG,GAAG,OAAOoB,IAAI7I,EAAE0E,KAAK2Q,IAAIxM,EAAE,EAAE7I,GAAGA,EAAE0E,KAAK0Q,IAAIpV,EAAEwJ,IAAI9K,KAAKuc,GAAGiO,GAAGpiB,EAAE,EAAE3E,EAAE+V,GAAElN,EAAEhL,EAAEyJ,EAAED,EAAExJ,EAAE,EAAEyK,EAAEhB,EAAE,EAAEtH,OAAO,CAAC,MAAMwI,EAAEnB,EAAExJ,EAAE,EAAEgL,EAAEmR,SAASnc,EAAEyJ,EAAEkB,EAAEF,EAAEhB,EAAE,EAAE,CAACZ,EAAEW,CAAC,CAAC,CAAC,EAAA0hB,CAAGvgB,EAAEC,EAAEC,GAAG,GAAG,OAAOnM,KAAKuc,GAAG,OAAO,MAAMzV,QAAQwF,EAAEzE,qBAAqBO,EAAEN,mBAAmBiB,GAAGkD,EAAE,IAAI/C,EAAE,GAAG,MAAMzF,EAAEzD,KAAKusB,GAAGnkB,GAAG,IAAI,IAAI6D,EAAEE,EAAE6N,KAAK/N,EAAEE,EAAE4N,GAAG9N,IAAI,CAAC,MAAME,EAAED,EAAED,GAAG,IAAI9B,EAAEnE,KAAKC,MAAMD,KAAK0Q,IAAIvK,EAAE+e,GAAG/e,EAAEgf,IAAIpiB,GAAGzH,EAAE0E,KAAKC,MAAMD,KAAK2Q,IAAIxK,EAAE+e,GAAG/e,EAAEgf,IAAIpiB,GAAG+B,EAAE9E,KAAKC,MAAMkG,EAAE+N,GAAG9R,GAAGpC,KAAK8T,MAAM,GAAG9Z,KAAK0qB,IAAI3f,EAAED,EAAE9K,KAAK0qB,GAAG,EAAE,GAAGve,EAAE2e,KAAK5hB,EAAE,CAAC,MAAM+C,EAAEE,EAAE2e,GAAGxe,EAAEkO,UAAUvO,EAAE/C,EAAE+C,CAAC,CAACjM,KAAKuc,GAAG0C,KAAKnU,GAAGrH,EAAE0G,GAAG1G,EAAEsH,GAAGtH,EAAEnC,GAAGmC,GAAG0G,EAAE7I,GAAGgL,EAAEmR,SAAS3S,EAAEX,EAAEY,EAAED,EAAE,EAAExJ,EAAE6I,EAAE,EAAE,CAAC,EAAE,MAAMqT,WAAWT,GAAG,WAAAvF,GAAciC,SAASC,WAAW1Z,KAAKopB,GAAG,IAAI7L,EAAE,CAAC,EAAA6M,CAAGne,EAAEC,EAAEC,GAAG,OAAOzL,OAAO4oB,OAAO5oB,OAAO4oB,OAAO,CAAA,EAAGtpB,KAAKqrB,GAAGpf,EAAEC,EAAEC,IAAIA,EAAEqd,GAAGvd,GAAG,CAAC,EAAA8d,GAAK,MAAM9d,EAAEjM,KAAKgpB,GAAGtQ,IAAI1Y,KAAKopB,GAAGxP,EAAE,CAACiL,GAAG7kB,KAAK8oB,GAAG0B,GAAGxqB,KAAKipB,GAAGvN,KAAK8O,KAAK4B,GAAGngB,EAAE1D,YAAY0W,GAAGhT,EAAEzD,cAAcqR,GAAG7Z,KAAK+oB,IAAI,EAAE,MAAM9K,GAAG,WAAAzG,CAAYvL,EAAEC,GAAGlM,KAAK2sB,GAAG1gB,EAAEjM,KAAKghB,GAAG9U,CAAC,CAAC,CAAAqN,CAAEtN,EAAEC,EAAEC,GAAGnM,KAAK2sB,GAAGC,KAAK3gB,EAAEjM,KAAKghB,GAAG9U,EAAEC,EAAE,EAAE,MAAM+R,WAAWzB,GAAG,WAAAjF,CAAYvL,EAAEC,EAAEC,GAAGsN,MAAMxN,EAAEC,GAAE,GAAIlM,KAAK4jB,GAAGzX,EAAEnM,KAAKopB,GAAG,IAAInL,GAAGje,KAAK4jB,GAAGiJ,WAAY3gB,IAAI,MAAMC,EAAEF,EAAE4P,KAAK,OAAO,OAAO1P,EAAE,KAAKF,EAAE+P,KAAKC,GAAG/P,EAAEC,EAAE+P,GAAI,EAAE,CAAC,EAAA4Q,CAAG7gB,GAAG,OAAOjM,KAAK4jB,GAAGmJ,kBAAkB9gB,EAAE,CAAC,EAAA+gB,CAAG/gB,GAAG,OAAOjM,KAAK4jB,GAAGqJ,aAAahhB,EAAE,CAAC,EAAAyd,GAAK,MAAMzd,EAAEjM,KAAKgpB,GAAGO,KAAKvpB,KAAK8oB,GAAG9oB,KAAKgpB,GAAGnE,KAAKsF,KAAK9O,IAAKnP,GAAGxL,OAAO4oB,OAAO5oB,OAAO4oB,OAAO,CAAC1O,GAAG1O,EAAEme,GAAGnQ,GAAGvB,KAAK1M,EAAEud,GAAGtd,EAAEme,KAAK,CAAC6C,GAAGhhB,EAAEihB,KAAM,CAAC,EAAArD,CAAG7d,EAAEC,GAAGA,EAAE8d,GAAGhqB,KAAK8oB,GAAGvQ,EAAEvY,KAAK+oB,IAAI,CAAC,EAAAgB,GAAK/pB,KAAK4jB,GAAGwJ,OAAO,CAACC,KAAKrtB,KAAK8oB,GAAGzN,IAAI+C,IAAIkP,WAAWttB,KAAKipB,GAAGvN,KAAK8O,KAAK+C,aAAavtB,KAAK+oB,IAAI/oB,KAAKgpB,GAAGtQ,IAAI,EAAE,SAAS0F,GAAGnS,GAAG,MAAM,CAACwK,EAAExK,EAAEiO,GAAGsT,KAAKvhB,EAAE2O,GAAG6S,aAAaxhB,EAAEihB,GAAGQ,SAASzhB,EAAE6e,GAAG,CAAC,MAAMzM,WAAWxF,EAAE,WAAArB,GAAciC,SAASC,WAAW1Z,KAAKuc,GAAG,KAAKvc,KAAK2tB,GAAG,EAAE,CAAC,CAAA/T,CAAE3N,GAAGjM,KAAKuc,GAAGtQ,EAAEjM,KAAK2tB,GAAG,EAAE,CAAC,CAAAnU,EAAG1S,QAAQmF,EAAEpE,qBAAqBqE,EAAEpE,mBAAmBqE,IAAI,GAAG,OAAOnM,KAAKuc,IAAI,IAAIvc,KAAKuc,GAAGtC,GAAGhX,QAAQ,OAAOjD,KAAKuc,GAAG1C,GAAG,OAAO7Z,KAAK2tB,GAAG1qB,QAAQjD,KAAK4tB,GAAG1hB,GAAG,MAAMI,EAAEtG,KAAK2Q,IAAI,EAAE3Q,KAAK8T,MAAM3N,IAAI/D,EAAEpC,KAAKC,MAAMjG,KAAKuc,GAAGsR,GAAG1hB,GAAGnG,KAAK8T,MAAMxN,EAAE,GAAGvD,EAAEX,EAAEkE,EAAE,IAAI,IAAIJ,EAAElM,KAAKuc,GAAG1C,GAAGG,KAAK9N,EAAElM,KAAKuc,GAAG1C,GAAGE,GAAG7N,IAAI,CAAC,MAAMhD,EAAElJ,KAAKuc,GAAGtC,GAAG/N,GAAGzI,EAAEzD,KAAK2tB,GAAGzhB,EAAElM,KAAKuc,GAAG1C,GAAGG,MAAM7P,EAAEnE,KAAKC,MAAMiD,EAAEiR,GAAGhO,GAAG,IAAI7K,EAAEwJ,EAAEmB,EAAEuO,UAAUtR,EAAE4hB,GAAG3gB,GAAG/B,GAAG9G,EAAE6I,EAAEW,EAAE/B,IAAIzH,EAAE8G,EAAE0C,EAAEX,EAAEnE,KAAK8T,MAAMxN,EAAE,GAAGA,GAAGL,EAAEwR,SAASha,EAAEilB,GAAGpnB,EAAEmC,EAAEyb,GAAGzb,EAAEilB,GAAG,EAAE5d,EAAExJ,EAAE,CAAC,CAAC,EAAAssB,CAAG3hB,GAAG,GAAG,OAAOjM,KAAKuc,IAAI,IAAIvc,KAAKuc,GAAGtC,GAAGhX,QAAQ,OAAOjD,KAAKuc,GAAG1C,GAAG,YAAY7Z,KAAK2tB,GAAG,IAAI,MAAMzhB,EAAElG,KAAK+Z,KAAK/f,KAAKuc,GAAGiO,GAAGve,IAAI,EAAE,EAAEjG,KAAK2Q,IAAI,EAAE3Q,KAAK8T,MAAM7N,IAAIE,EAAEnG,KAAKC,MAAMjG,KAAKuc,GAAGiO,GAAGve,GAAGC,EAAElM,KAAK2tB,GAAG,IAAI7V,MAAM9X,KAAKuc,GAAG1C,GAAGE,GAAG/Z,KAAKuc,GAAG1C,GAAGG,MAAM,IAAI,IAAI9N,EAAElM,KAAKuc,GAAG1C,GAAGG,KAAK9N,EAAElM,KAAKuc,GAAG1C,GAAGE,GAAG7N,IAAI,CAAC,MAAMI,EAAEtM,KAAKuc,GAAGtC,GAAG/N,GAAG9D,EAAEpC,KAAKC,MAAMqG,EAAE4N,GAAGjO,GAAG,IAAIlD,EAAEG,EAAE,GAAGiD,EAAE,EAAE,CAAC,MAAMF,GAAGE,EAAE,GAAG,EAAEpD,EAAEX,EAAE6D,EAAE/C,EAAEd,EAAE6D,CAAC,KAAK,CAAC,MAAMA,EAAEE,EAAE,EAAEpD,EAAEX,EAAE6D,EAAE/C,EAAEd,EAAE6D,EAAE,CAAC,CAACjM,KAAK2tB,GAAGzhB,EAAElM,KAAKuc,GAAG1C,GAAGG,MAAM,CAAC0O,GAAG3f,EAAEmW,GAAGhW,EAAE4kB,GAAG1lB,EAAE2lB,GAAGzhB,EAAE4N,GAAGjO,EAAE2O,GAAGtO,EAAEsO,GAAG,CAAC,IAAI,IAAI3O,EAAEjM,KAAKuc,GAAG1C,GAAGG,KAAK,EAAE/N,EAAEjM,KAAKuc,GAAG1C,GAAGE,GAAG9N,IAAI,CAAC,MAAME,EAAEnM,KAAK2tB,GAAG1hB,EAAEjM,KAAKuc,GAAG1C,GAAGG,MAAM1N,EAAEtM,KAAK2tB,GAAG1hB,EAAEjM,KAAKuc,GAAG1C,GAAGG,KAAK,GAAG7N,EAAEyO,KAAKtO,EAAEsO,GAAG,GAAIzO,EAAEuc,GAAGpc,EAAE4S,KAAKhT,EAAE,IAAII,EAAEwhB,GAAGxhB,EAAEyhB,GAAGzhB,EAAE4S,GAAG/S,EAAEuc,GAAGxc,EAAE,EAAEC,EAAEuc,GAAGpc,EAAE4S,GAAGhT,EAAE,EAAG,CAAC,IAAII,EAAEtG,KAAK+Z,KAAK/f,KAAKuc,GAAGiO,GAAGve,GAAG,IAAI,IAAIA,EAAEjM,KAAKuc,GAAG1C,GAAGG,KAAK/N,EAAEjM,KAAKuc,GAAG1C,GAAGE,GAAG9N,IAAI,CAAC,MAAMC,EAAElM,KAAK2tB,GAAG1hB,EAAEjM,KAAKuc,GAAG1C,GAAGG,MAAM9N,EAAEgT,GAAGhT,EAAEwc,KAAKxc,EAAEgT,GAAGhT,EAAEwc,IAAI,MAAMvc,EAAED,EAAEgT,GAAGhT,EAAEwc,GAAG,EAAEpc,EAAEtG,KAAK0Q,IAAIvK,EAAEG,EAAE,CAAC,GAAGJ,EAAE,GAAGI,EAAE,EAAE,IAAI,IAAIL,EAAEjM,KAAKuc,GAAG1C,GAAGG,KAAK/N,EAAEjM,KAAKuc,GAAG1C,GAAGE,GAAG9N,IAAI,CAAC,MAAMC,EAAElM,KAAK2tB,GAAG1hB,EAAEjM,KAAKuc,GAAG1C,GAAGG,MAAM9N,EAAEgT,GAAGhT,EAAEwc,GAAG,EAAEpc,IAAIJ,EAAE4hB,GAAG5hB,EAAE6hB,GAAG7hB,EAAEgT,IAAI,EAAEhT,EAAEwc,IAAI,EAAE,CAAC,EAAE,MAAMpK,WAAW1B,GAAG,WAAApF,GAAciC,SAASC,WAAW1Z,KAAKopB,GAAG,IAAI/K,EAAE,CAAC,EAAA+L,CAAGne,EAAEC,EAAEC,GAAG,OAAOzL,OAAO4oB,OAAO5oB,OAAO4oB,OAAO,CAAA,EAAGtpB,KAAKkqB,GAAGje,EAAEC,IAAIC,EAAEqd,GAAGvd,GAAG,CAAC,EAAA8d,GAAK,MAAM9d,EAAE,CAACgO,GAAGja,KAAK8oB,GAAG0B,GAAGxqB,KAAKipB,GAAGvN,KAAK8O,KAAK3Q,GAAG7Z,KAAK+oB,GAAG8E,GAAG7tB,KAAKgpB,GAAGhN,KAAKC,GAAGjc,KAAKgpB,GAAGtQ,IAAI7N,KAAKgC,EAAE7M,KAAKgpB,GAAGnN,MAAMK,KAAKlc,KAAKopB,GAAGxP,EAAE3N,EAAE,EAAE,MAAMsS,WAAW3B,GAAG,WAAApF,GAAciC,SAASC,WAAW1Z,KAAKopB,GAAG,IAAIlN,EAAE,CAAC,EAAAkO,CAAGne,EAAEC,EAAEC,GAAG,OAAOzL,OAAO4oB,OAAO5oB,OAAO4oB,OAAO,CAAA,EAAGtpB,KAAKkqB,GAAGje,EAAEC,IAAIC,EAAEqd,GAAGvd,GAAG,CAAC,EAAA8d,GAAK,MAAM9d,EAAEjM,KAAKgpB,GAAGtQ,IAAIxM,EAAE,CAAC+N,GAAGja,KAAK8oB,GAAGlM,GAAG3Q,EAAE7C,UAAUme,GAAGtb,EAAE1C,YAAY0C,EAAE3C,cAAS,EAAOiR,GAAGtO,EAAE5C,UAAUmf,GAAGvc,EAAEnC,oBAAoBmC,EAAEwe,oBAAoBxe,EAAE5C,UAAU,EAAE,OAAE,EAAOwQ,GAAG7Z,KAAK+oB,GAAGzB,GAAGtnB,KAAKipB,GAAGvN,KAAK8O,MAAMxqB,KAAKopB,GAAGxP,EAAE1N,EAAE,EAAE,MAAMsS,GAAG,SAAS,MAAMC,GAAG,WAAAjH,CAAYvL,EAAE,IAAIjM,KAAKguB,GAAG,EAAEhuB,KAAKiuB,GAAG,EAAEjuB,KAAKkuB,GAAG,EAAEluB,KAAKmuB,GAAG,CAAA,EAAGnuB,KAAKouB,GAAG,IAAItL,IAAI9iB,KAAKquB,GAAGpiB,CAAC,CAAC,EAAAqiB,GAAKtuB,KAAKguB,GAAG,EAAEhuB,KAAKouB,GAAG7J,QAAQvkB,KAAKiuB,GAAG,EAAEjuB,KAAKkuB,GAAG,EAAEluB,KAAKmuB,GAAG,CAAA,CAAE,CAAC,EAAAnO,CAAG/T,EAAEC,EAAEC,GAAG,OAAOnM,KAAKuuB,GAAGtiB,EAAEC,EAAEC,GAAG5M,KAAK,CAAC,EAAAugB,CAAG7T,EAAEC,EAAEC,GAAG,MAAMG,EAAEtM,KAAKuuB,GAAGtiB,EAAEC,EAAEC,GAAG,QAAQG,EAAEkiB,yBAAyB,IAAIliB,EAAEmiB,0BAA0B,IAAI,CAAC,CAAC,EAAAF,CAAGtiB,EAAEC,EAAEC,GAAG,MAAMG,EAAEH,GAAGqS,GAAGpW,EAAE+e,OAAOjb,GAAGgb,QAAQ5a,EAAE,KAAK,GAAGtM,KAAKouB,GAAGM,IAAItmB,GAAG,OAAOwE,EAAE5M,KAAKouB,GAAGxtB,IAAIwH,IAAIumB,GAAG,GAAG3uB,KAAKguB,KAAKhuB,KAAKquB,GAAG,CAAC,MAAMpiB,EAAEjM,KAAKmuB,GAAGnuB,KAAKkuB,WAAWluB,KAAKmuB,GAAGnuB,KAAKkuB,IAAIluB,KAAKouB,GAAGQ,OAAO3iB,GAAGjM,KAAKkuB,KAAKluB,KAAKguB,IAAI,CAAC/hB,EAAE3E,OAAO2E,EAAEqT,aAAa,SAAS,MAAMvW,EAAEkD,EAAE4iB,YAAYzmB,GAAG,OAAO6D,EAAEtE,UAAU,IAAIoB,EAAExJ,OAAO2M,EAAEjJ,SAASjD,KAAKouB,GAAGrJ,IAAI3c,EAAE,CAACumB,GAAG5lB,EAAE+lB,GAAG9uB,KAAKiuB,KAAKjuB,KAAKmuB,GAAGnuB,KAAKiuB,IAAI7lB,EAAEpI,KAAKguB,KAAKhuB,KAAKiuB,MAAMllB,CAAC,EAAE,MAAM2V,GAAG,WAAAlH,CAAYvL,GAAGjM,KAAK+uB,GAAG,KAAK/uB,KAAK6W,EAAE,KAAK7W,KAAKgvB,GAAG,QAAQhvB,KAAKivB,GAAGhjB,CAAC,CAAC,EAAAijB,CAAGjjB,EAAEC,EAAEC,GAAGnM,KAAK+uB,GAAG9iB,EAAEjM,KAAK6W,EAAE3K,EAAElM,KAAKgvB,GAAG7iB,CAAC,CAAC,CAAAoN,CAAEtN,GAAG,OAAOjM,KAAK6W,GAAG,OAAO7W,KAAK+uB,IAAI/uB,KAAK+uB,GAAGxV,EAAEtN,EAAEjM,KAAK6W,EAAE7W,KAAKivB,GAAGjvB,KAAKgvB,GAAG,EAAE,MAAMrQ,GAAG,WAAAnH,CAAYvL,EAAEC,EAAEC,GAAGnM,KAAKmvB,GAAGljB,EAAEjM,KAAKivB,GAAG,IAAIxQ,GAAG,IAAIze,KAAKovB,GAAGljB,EAAElM,KAAKyY,EAAEtM,EAAEnM,KAAK4Y,GAAE,EAAG5Y,KAAK8c,GAAG,IAAI4B,GAAG1e,KAAKivB,GAAG,CAAC,EAAA3T,GAAK,MAAMrP,EAAEjM,KAAKyY,EAAE4W,GAAGrvB,KAAKovB,IAAI,GAAG,OAAOnjB,EAAE,OAAO,KAAK,MAAMC,EAAED,EAAEqjB,GAAGtvB,KAAKovB,IAAInjB,EAAEsjB,KAAKvvB,KAAKovB,GAAGpT,KAAK,GAAG,OAAO9P,EAAE,OAAO,KAAK,MAAMC,EAAEF,EAAEujB,GAAGtjB,GAAG,GAAG,YAAYC,EAAE,OAAO,KAAK,MAAMG,EAAEtM,KAAKyY,EAAEgX,KAAK,OAAOnjB,EAAE+K,IAAIrX,KAAK4Y,IAAI5Y,KAAK4Y,EAAEtM,EAAE+K,EAAErX,KAAKivB,GAAGX,MAAMtuB,KAAK8c,GAAGoS,GAAGlvB,KAAKmvB,GAAGrO,KAAKxU,EAAEH,GAAGnM,KAAK8c,EAAE,EAAE,MAAM8B,WAAW/F,EAAE,WAAArB,GAAciC,SAASC,WAAW1Z,KAAKuc,GAAG,IAAI,CAAC,CAAA3C,CAAE3N,GAAGjM,KAAKuc,GAAGtQ,CAAC,CAAC,EAAAyjB,CAAGzjB,EAAEC,GAAG,IAAIC,EAAE,KAAK,QAAQA,EAAEnM,KAAKuc,UAAK,IAASpQ,OAAE,EAAOA,EAAEyP,IAAI,OAAO,KAAK,MAAMzB,GAAG7N,EAAEiO,GAAGnS,EAAEunB,GAAG5mB,GAAG/I,KAAKuc,GAAG,OAAOrQ,GAAGI,EAAElE,EAAE,GAAG8D,GAAGI,EAAElE,EAAE,EAAE,CAACwnB,GAAG5vB,KAAKuc,GAAGoT,GAAG5mB,GAAG,IAAI,CAAC,CAAAyQ,EAAG1S,QAAQmF,EAAE/H,WAAWgI,EAAErE,qBAAqBsE,EAAErE,mBAAmBwE,IAAI,GAAG,OAAOtM,KAAKuc,GAAG,OAAO,IAAG,IAAKvc,KAAKuc,GAAGX,GAAG,OAAO,MAAMxT,EAAEpC,KAAKC,MAAMjG,KAAKuc,GAAGpC,GAAG7N,GAAGlE,EAAE,GAAGA,EAAE8D,EAAE1M,SAASyM,EAAEyQ,QAAQ,OAAOzQ,EAAE0Q,YAAY3c,KAAKuc,GAAG5E,EAAE1L,EAAE5C,UAAUrD,KAAK8T,MAAM9Z,KAAKuc,GAAGhC,GAAGpO,GAAG9E,EAAE4E,EAAEjM,KAAKuc,GAAGK,IAAIvQ,EAAEJ,EAAE7D,EAAE,EAAE8D,EAAE3M,OAAO,EAAE,MAAMsf,GAAG,WAAArH,CAAYvL,GAAGjM,KAAK6vB,GAAG,CAAC1V,GAAG,EAAExC,EAAE,mBAAmB4C,GAAG,EAAEqC,GAAG,EAAEhB,IAAG,GAAI5b,KAAK8vB,GAAG,IAAIlR,GAAG5e,KAAKib,IAAG,EAAGjb,KAAKgpB,GAAG/c,EAAEjM,KAAKipB,GAAGhd,EAAEgR,KAAKjd,KAAK8vB,GAAGlW,EAAE5Z,KAAK6vB,GAAG,CAAC,EAAA1U,GAAKnb,KAAKib,IAAG,CAAE,CAAC,EAAAK,GAAK,OAAOtb,KAAKgpB,GAAGpN,MAAM5b,KAAKib,KAAKjb,KAAK+vB,KAAK/vB,KAAKib,IAAG,GAAIjb,KAAK8vB,IAAI,IAAI,EAAE,MAAMhR,WAAWD,GAAG,WAAArH,CAAYvL,GAAGwN,MAAMxN,EAAE,CAAC,EAAA8jB,GAAK/vB,KAAK6vB,GAAGjU,IAAG,EAAG,MAAM3P,EAAEjM,KAAKgpB,GAAGhN,KAAK9P,EAAED,EAAE+jB,KAAKA,GAAG,GAAG,IAAI9jB,GAAG,IAAIA,EAAE,OAAO,MAAMC,EAAEnM,KAAKgpB,GAAGtQ,IAAI,IAAIvM,EAAEX,kBAAkBxL,KAAKgpB,GAAGpN,KAAK,OAAO,MAAMtP,EAAEtM,KAAKgpB,GAAGnN,KAAK,OAAOvP,IAAItM,KAAK6vB,GAAGjU,IAAG,EAAG5b,KAAK6vB,GAAG1V,GAAGlO,EAAEgQ,GAAG3P,EAAE4P,GAAG5P,EAAE4P,IAAIlc,KAAK6vB,GAAGlY,EAAExL,EAAET,cAAc1L,KAAK6vB,GAAGtV,GAAGpO,EAAEV,cAAczL,KAAK6vB,GAAGjT,GAAGzQ,EAAER,cAAc,EAAE,MAAMoT,WAAWlG,EAAE,WAAArB,GAAciC,SAASC,WAAW1Z,KAAKuc,GAAG,IAAI,CAAC,CAAA3C,CAAE3N,GAAGjM,KAAKuc,GAAGtQ,CAAC,CAAC,EAAAkhB,GAAK,OAAOntB,KAAKuc,EAAE,CAAC,CAAA/C,EAAG1S,QAAQmF,EAAEpE,qBAAqBqE,EAAEpE,mBAAmBqE,IAAI,MAAMG,EAAEtM,KAAKuc,GAAG,GAAG,OAAOjQ,EAAE,OAAO,MAAMlE,EAAEpC,KAAK2Q,IAAI,EAAE3Q,KAAK8T,MAAM5N,IAAInD,EAAEX,EAAE,EAAE,EAAEc,EAAElD,KAAKC,MAAMqG,EAAEyhB,GAAGtX,EAAEvK,GAAGnD,EAAEtF,EAAE6I,EAAEyhB,GAAGjX,EAAE3K,EAAEF,EAAEuO,UAAUlO,EAAE2jB,GAAGhkB,EAAEM,YAAY,MAAMpC,EAAEnE,KAAK2Q,IAAI,EAAE,IAAIrK,EAAE4jB,IAAIhkB,EAAED,EAAEmO,IAAIlR,EAAEzF,EAAE0G,EAAE,EAAE,EAAEnE,KAAKqU,IAAG,GAAIpO,EAAEqO,OAAOrO,EAAEuO,UAAUlO,EAAE6jB,GAAGlkB,EAAEM,YAAYN,EAAEmO,IAAIlR,EAAEzF,EAAE6I,EAAEoO,GAAGxO,EAAE,EAAE,EAAElG,KAAKqU,IAAG,GAAIpO,EAAEqO,OAAOrO,EAAE5C,UAAUjB,EAAE6D,EAAE0Q,YAAYrQ,EAAE8jB,GAAGnkB,EAAEM,YAAYN,EAAEmO,IAAIlR,EAAEzF,EAAE6I,EAAEoO,GAAGxO,EAAE9D,EAAE,EAAE,EAAE,EAAEpC,KAAKqU,IAAG,GAAIpO,EAAES,QAAQ,EAAE,MAAMsS,GAAG,CAAC,CAACqR,GAAG,EAAEC,GAAG,IAAIC,GAAG,EAAEC,GAAG,GAAGC,GAAG,IAAIC,GAAG,EAAEC,GAAG,GAAGC,GAAG,IAAI,CAACP,GAAG,IAAIC,GAAG,KAAKC,GAAG,GAAGC,GAAG,GAAGC,GAAG,EAAEC,GAAG,EAAEC,GAAG,GAAGC,GAAG,GAAG,CAACP,GAAG,KAAKC,GAAG,EAAEC,GAAG,GAAGC,GAAG,GAAGC,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEC,GAAG,IAAI,SAAS3R,GAAGhT,EAAEC,EAAEC,EAAEG,GAAG,OAAO,SAASL,EAAEC,GAAG,GAAG,gBAAgBD,EAAE,OAAOA,EAAE,MAAME,EAAE6K,EAAE/K,GAAGK,EAAEH,EAAE,GAAG,MAAM,QAAQA,EAAE,OAAOA,EAAE,OAAOA,EAAE,OAAOD,EAAEI,IAAI,CAA/G,CAAiHL,EAAEE,GAAGG,EAAEH,GAAGD,EAAE,CAAC,SAASgT,GAAGjT,EAAEC,GAAG,MAAMC,EAAEF,EAAE,KAAK,KAAK,IAAIK,EAAE,IAAI,MAAML,KAAK+S,GAAG,GAAG7S,GAAGF,EAAEokB,IAAIlkB,GAAGF,EAAEqkB,GAAG,CAAChkB,EAAEL,EAAE,KAAK,CAACU,OAAE,IAASL,EAAE,6CAA6C,MAAMlE,GAAG+D,EAAEG,EAAE+jB,KAAK/jB,EAAEgkB,GAAGhkB,EAAE+jB,IAAI,MAAM,CAACF,GAAGlR,GAAG/S,EAAE9D,EAAEkE,EAAEmkB,GAAGnkB,EAAEokB,IAAIN,GAAGnR,GAAG/S,EAAE9D,EAAEkE,EAAEqkB,GAAGrkB,EAAEskB,IAAIlW,IAAI3R,EAAEX,EAAEc,EAAEoD,EAAEikB,GAAG9sB,EAAE6I,EAAEkkB,GAAGtnB,GAAGzF,EAAEyF,GAAGH,IAAI,IAAIA,EAAEG,EAAEzF,CAAC,CAAC,MAAM0b,GAAG,WAAA3H,CAAYvL,GAAGjM,KAAK8c,GAAG,IAAIiC,GAAG/e,KAAKib,IAAG,EAAGjb,KAAK6wB,IAAG,EAAG7wB,KAAK8wB,GAAGC,YAAYC,MAAMhxB,KAAKixB,GAAGjxB,KAAK8wB,GAAG,EAAE9wB,KAAKkxB,GAAGjlB,CAAC,CAAC,EAAAklB,GAAKnxB,KAAKixB,GAAGjxB,KAAK8wB,GAAG,EAAE9wB,KAAKmb,IAAI,CAAC,EAAAiW,GAAK,GAAGpxB,KAAKmb,KAAK,IAAInb,KAAKkxB,GAAGxY,IAAI7O,mBAAmB,CAAC,MAAMoC,EAAE8kB,YAAYC,MAAM9kB,EAAElM,KAAKixB,GAAGhlB,EAAE,GAAGC,EAAE,EAAE,YAAYA,EAAE,MAAMlM,KAAKixB,IAAI,OAAOjxB,KAAK8wB,GAAG7kB,EAAEjM,KAAKixB,GAAGhlB,EAAE,IAAI,CAAC,CAAC,EAAAkP,GAAKnb,KAAKib,IAAG,CAAE,CAAC,EAAAoW,GAAKrxB,KAAK6wB,IAAG,CAAE,CAAC,EAAAjV,GAAK,OAAO,IAAI5b,KAAKkxB,GAAGxY,IAAI7O,kBAAkB,CAAC,EAAAynB,GAAK,OAAOtxB,KAAKkxB,GAAGxY,IAAI7O,oBAAoB,KAAK,EAAE,OAAM,EAAG,KAAK,EAAE,OAAM,EAAG,KAAK,EAAE,OAAOknB,YAAYC,OAAOhxB,KAAKixB,GAAG,CAAC,EAAA3V,GAAK,OAAOtb,KAAKib,IAAIjb,KAAKub,KAAKvb,KAAKib,IAAG,EAAGjb,KAAK6wB,IAAG,GAAI7wB,KAAK6wB,KAAK7wB,KAAKuxB,KAAKvxB,KAAK6wB,IAAG,GAAI7wB,KAAK8c,EAAE,CAAC,EAAAvB,GAAKvb,KAAK8c,GAAGlD,EAAE,MAAM,MAAM3N,EAAEjM,KAAKkxB,GAAGjU,KAAKvB,KAAKxP,EAAED,EAAE2d,KAAKzd,EAAEnM,KAAKkxB,GAAGrV,KAAK,GAAG,OAAO3P,GAAG,OAAOC,EAAE,OAAO,MAAMG,EAAEtM,KAAKkxB,GAAGM,IAAG,GAAI,GAAGllB,EAAEmlB,KAAKvlB,EAAEwlB,GAAGplB,EAAE+d,IAAI,OAAO,MAAMjiB,EAAE,CAACqO,EAAExK,EAAEqQ,GAAGhQ,EAAE+d,IAAIvT,EAAE9W,KAAKkxB,GAAGlV,KAAKC,GAAG3P,EAAEuO,GAAG1O,EAAE+P,KAAKnT,EAAEuD,EAAEqL,EAAEzO,EAAElJ,KAAKkxB,GAAGxY,IAAIrP,UAAU5F,EAAEyb,GAAGlf,KAAK2xB,KAAK5oB,GAAG/I,KAAK8c,GAAGlD,EAAE,CAACqW,GAAGlnB,EAAEmnB,GAAGhnB,EAAEinB,GAAG1sB,EAAE0sB,GAAGC,GAAG3sB,EAAE2sB,GAAG1V,GAAGjX,EAAEiX,GAAGqT,GAAG3lB,GAAG,CAAC,EAAAmpB,GAAK,MAAMtlB,EAAEjM,KAAK8c,GAAGqQ,KAAK,GAAG,OAAOlhB,EAAE,CAAC,MAAMC,EAAEgT,GAAGlf,KAAK2xB,KAAK1lB,EAAEgkB,IAAIhkB,EAAEkkB,GAAGjkB,EAAEikB,GAAGlkB,EAAEmkB,GAAGlkB,EAAEkkB,GAAGnkB,EAAEyO,GAAGxO,EAAEwO,EAAE,CAAC,CAAC,EAAAiX,GAAK,OAAO3xB,KAAKsxB,KAAKP,YAAYC,MAAMhxB,KAAK8wB,GAAG,IAAI,EAAE,SAAS1R,GAAGnT,EAAEC,GAAG,OAAO2P,GAAG7V,KAAK0Q,IAAI1Q,KAAK2Q,IAAI1K,EAAE,IAAI,IAAIC,EAAE,CAAC,SAASsT,GAAGvT,EAAEC,GAAG,OAAOD,GAAG,IAAI,YAAY,IAAI,UAAU,OAAOmT,GAAGlT,EAAE,GAAG,IAAI,SAAS,OAAOkT,GAAGlT,EAAE,IAAI,IAAI,SAAS,OAAOkT,GAAGlT,EAAE,IAAI,CAAC,SAAS0lB,GAAG3lB,GAAG,OAAO,SAASA,GAAG,MAAMC,EAAElG,KAAK+Z,KAAK9T,GAAG,OAAOC,EAAE,GAAG,EAAEA,EAAE,EAAEA,CAAC,CAApD,CAAsDkT,GAAGnT,EAAE,GAAG,CAAC,SAASwT,GAAGxT,GAAG,OAAOjG,KAAK2Q,IAAIyI,GAAGnT,EAAE,IAAI,EAAE,CAAC,SAASyT,GAAGzT,EAAEC,EAAEC,GAAG,OAAOD,EAAED,EAAEE,EAAEnG,KAAK+Z,KAAK9T,EAAE,GAAG,CAAC,CAAC,SAAS0T,GAAG1T,EAAEC,EAAEC,EAAEG,EAAElE,GAAG,MAAMW,EAAEyW,GAAG,SAASrT,GAAGjD,GAAGH,EAAE,GAAG,EAAEtF,EAAEwI,EAAE/C,EAAEiB,EAAE+B,EAAEhD,EAAE,OAAOoD,GAAG7I,GAAG6I,GAAG7I,EAAEsF,GAAGX,GAAG+B,GAAG/B,GAAG+B,EAAEpB,CAAC,CAAC,SAAS6W,GAAG3T,EAAEC,EAAEC,EAAEG,GAAG,MAAMlE,GAAGoX,GAAG,UAAUlT,GAAG,GAAG,EAAEH,EAAE0lB,GAAG9oB,GAAG8S,GAAGvP,EAAE,GAAG,GAAG,EAAEH,EAAE0lB,GAAG3lB,EAAEK,YAAYN,GAAGC,EAAEM,OAAOL,EAAE+N,GAAG9R,EAAE+D,EAAEgO,IAAIjO,EAAEO,OAAON,EAAE+N,GAAG/N,EAAEgO,GAAG/R,GAAG8D,EAAEO,OAAON,EAAE+N,GAAG9R,EAAE+D,EAAEgO,IAAIjO,EAAEO,OAAON,EAAE+N,GAAGnR,EAAEoD,EAAEgO,IAAIjO,EAAEO,OAAON,EAAE+N,GAAGnR,EAAEoD,EAAEgO,GAAG/R,GAAG8D,EAAEO,OAAON,EAAE+N,GAAGnR,EAAEoD,EAAEgO,GAAG/R,GAAG8D,EAAEO,OAAON,EAAE+N,GAAGnR,EAAEoD,EAAEgO,MAAMjO,EAAEM,OAAOL,EAAE+N,GAAG9R,EAAE+D,EAAEgO,IAAIjO,EAAEO,OAAON,EAAE+N,GAAG/N,EAAEgO,GAAG/R,GAAG8D,EAAEO,OAAON,EAAE+N,GAAG9R,EAAE+D,EAAEgO,IAAIjO,EAAEO,OAAON,EAAE+N,GAAGnR,EAAEoD,EAAEgO,IAAIjO,EAAEO,OAAON,EAAE+N,GAAGnR,EAAEoD,EAAEgO,GAAG/R,GAAG8D,EAAEO,OAAON,EAAE+N,GAAGnR,EAAEoD,EAAEgO,GAAG/R,GAAG8D,EAAEO,OAAON,EAAE+N,GAAGnR,EAAEoD,EAAEgO,KAAKjO,EAAEoO,MAAM,CAA+C,MAAMwF,WAAWjH,EAAE,WAAArB,GAAciC,SAASC,WAAW1Z,KAAKuc,GAAG,KAAKvc,KAAKivB,GAAG,IAAIxQ,GAAGze,KAAK4Y,GAAE,EAAG5Y,KAAK6Y,EAAE,GAAG7Y,KAAK8xB,GAAG,EAAE,CAAC,CAAAlY,CAAE3N,GAAGjM,KAAKuc,GAAGtQ,CAAC,CAAC,EAAAijB,CAAGjjB,EAAEC,GAAGlM,KAAK4Y,IAAI3M,GAAGjM,KAAK6Y,IAAI3M,IAAIlM,KAAK4Y,EAAE3M,EAAEjM,KAAK6Y,EAAE3M,EAAElM,KAAK8xB,GAAGrZ,EAAExM,EAAEC,GAAGlM,KAAKivB,GAAGX,KAAK,CAAC,EAAAoB,CAAGzjB,EAAEC,GAAG,GAAG,OAAOlM,KAAKuc,IAAI,OAAOvc,KAAKuc,GAAG1C,GAAG,OAAO,KAAK,IAAI,IAAI1N,EAAEnM,KAAKuc,GAAG1C,GAAGG,KAAK7N,EAAEnM,KAAKuc,GAAG1C,GAAGE,GAAG5N,IAAI,CAAC,MAAMG,EAAEtM,KAAKuc,GAAGtC,GAAG9N,GAAG,GAAG8T,GAAG3T,EAAEL,EAAEC,GAAG,MAAM,CAAC0jB,GAAGtjB,EAAEylB,GAAGpC,GAAGrjB,EAAEqjB,GAAG,CAAC,OAAO,IAAI,CAAC,CAAAnW,EAAG1S,QAAQmF,EAAEpE,qBAAqBqE,EAAEpE,mBAAmBqE,GAAGG,EAAElE,GAAG,GAAG,OAAOpI,KAAKuc,IAAI,OAAOvc,KAAKuc,GAAG1C,GAAG,CAAC5N,EAAEqT,aAAa,SAASrT,EAAEkS,KAAKne,KAAK8xB,GAAG,IAAI,IAAIxlB,EAAEtM,KAAKuc,GAAG1C,GAAGG,KAAK1N,EAAEtM,KAAKuc,GAAG1C,GAAGE,GAAGzN,IAAI,CAAC,MAAMlE,EAAEpI,KAAKuc,GAAGtC,GAAG3N,QAAG,IAASlE,EAAE8V,KAAK9V,EAAE8V,GAAGsD,GAAGxhB,KAAKivB,GAAGjP,GAAG/T,EAAE7D,EAAE8V,GAAG8T,IAAI5pB,EAAE8V,GAAG7B,GAAGrc,KAAK4Y,EAAExQ,EAAE8V,GAAGhE,GAAG9R,EAAE8R,GAAG9R,EAAE8V,GAAGsD,GAAG,GAAGxB,GAAG5X,EAAE6D,EAAEC,EAAEC,EAAE,CAAC,CAAC,EAAE,SAAS6T,GAAG/T,EAAEC,EAAEC,EAAEG,GAAGJ,EAAEsO,UAAUvO,EAAE0L,OAAE,IAAS1L,EAAEiS,IAAI,SAASjS,EAAEC,EAAEC,EAAEG,EAAElE,EAAEW,GAAGkD,EAAE3E,OAAO2E,EAAEzE,MAAMY,EAAEW,GAAGkD,EAAEsT,SAASrT,EAAEC,EAAEG,GAAGL,EAAEtE,SAAS,CAAzE,CAA2EuE,EAAED,EAAEiS,GAAG8T,GAAG/lB,EAAEiS,GAAGhE,GAAGjO,EAAEiS,GAAG/D,GAAGhO,EAAEG,GAAG,SAASL,EAAEC,EAAEC,GAAG,GAAG,IAAIF,EAAE4d,GAAT,CAAmB,OAAO5d,EAAEgmB,IAAI,IAAI,YAAY,YAAYrS,IAAG,EAAG1T,EAAEC,EAAEF,EAAE4d,IAAI,IAAI,UAAU,YAAYjK,IAAG,EAAG1T,EAAEC,EAAEF,EAAE4d,IAAI,IAAI,SAAS,YAAY,SAAS5d,EAAEC,EAAEC,GAAG,MAAMG,GAAGkT,GAAG,SAASrT,GAAG,GAAG,EAAEF,EAAEM,YAAYN,EAAEmO,IAAIlO,EAAEgO,GAAGhO,EAAEiO,GAAG7N,EAAEJ,EAAE2lB,GAAG,EAAE,EAAE7rB,KAAKqU,IAAG,GAAIpO,EAAEqO,MAAM,CAA1G,CAA4GpO,EAAEC,EAAEF,EAAE4d,IAAI,IAAI,SAAS,YAAY,SAAS5d,EAAEC,EAAEC,GAAG,MAAMG,EAAEkT,GAAG,SAASrT,GAAG/D,GAAGkE,EAAE,GAAGJ,EAAE2lB,GAAG,EAAE9oB,EAAEmD,EAAEgO,GAAG9R,EAAEc,EAAEgD,EAAEiO,GAAG/R,EAAE6D,EAAEwR,SAAS1U,EAAEG,EAAEoD,EAAEJ,EAAE2lB,GAAGvlB,EAAEJ,EAAE2lB,GAAG,CAArG,CAAuG3lB,EAAEC,EAAEF,EAAE4d,IAAI5d,EAAEgmB,EAArY,CAAuY,CAAna,CAAqahmB,EAAEC,EAAE,SAASD,EAAEC,EAAEC,GAAG,MAAMG,EAAEtG,KAAK2Q,IAAI,EAAE3Q,KAAK8T,MAAM5N,IAAI,EAAE,EAAE,MAAM,CAACgO,GAAGlU,KAAKC,MAAMgG,EAAEiO,GAAGhO,GAAGI,EAAE6N,GAAGlO,EAAEkO,GAAGhO,EAAE0lB,GAAG3lB,EAAE,CAApG,CAAsGD,EAAEE,EAAEG,GAAG,CAAC,SAAS2T,GAAGhU,EAAEC,EAAEC,GAAG,aAAQ,IAASF,EAAEiS,KAAK,SAASjS,EAAEC,EAAEC,EAAEG,EAAElE,EAAEW,GAAG,MAAMG,EAAEoD,EAAE,EAAE,OAAOlE,GAAG6D,GAAG7D,GAAG6D,EAAEE,GAAGpD,GAAGmD,EAAEhD,GAAGH,GAAGmD,EAAEhD,CAAC,CAArE,CAAuE+C,EAAEiS,GAAGhE,GAAGjO,EAAEiS,GAAG/D,GAAGlO,EAAEiS,GAAGsD,GAAGvV,EAAEiS,GAAG7B,GAAGnQ,EAAEC,KAAK,SAASF,EAAEC,EAAEC,GAAG,GAAG,IAAIF,EAAE4d,GAAG,OAAM,EAAG,OAAO5d,EAAEgmB,IAAI,IAAI,YAAY,IAAI,UAAU,OAA/nD,SAAYhmB,EAAEC,EAAEC,EAAEG,EAAElE,EAAEW,GAAG,OAAO4W,GAAGzT,EAAEC,EAAEG,EAAElE,EAAEW,EAAE,CAAylD8W,CAAG,EAAE5T,EAAEiO,GAAGjO,EAAEkO,GAAGlO,EAAE4d,GAAG3d,EAAEC,GAAG,IAAI,SAAS,OAAO,SAASF,EAAEC,EAAEC,EAAEG,EAAElE,GAAG,MAAMW,EAAE,EAAEyW,GAAG,SAASrT,GAAG,EAAEjD,EAAE+C,EAAEK,EAAE7I,EAAEyI,EAAE9D,EAAE,OAAOpC,KAAKksB,KAAKhpB,EAAEA,EAAEzF,EAAEA,IAAIsF,CAAC,CAAvF,CAAyFkD,EAAEiO,GAAGjO,EAAEkO,GAAGlO,EAAE4d,GAAG3d,EAAEC,GAAG,IAAI,SAAS,OAAOwT,GAAG1T,EAAEiO,GAAGjO,EAAEkO,GAAGlO,EAAE4d,GAAG3d,EAAEC,GAAG,CAA5R,CAA8RF,EAAEC,EAAEC,EAAE,CAAC,SAAS+T,GAAGjU,EAAEC,EAAEC,EAAEG,EAAElE,EAAEW,EAAEG,EAAEzF,EAAE0G,GAAG,MAAM7I,EAAE0W,EAAE7L,GAAGA,EAAEA,EAAEsf,GAAG3gB,EAAEkN,EAAE7L,GAAGA,EAAEA,EAAEof,GAAGxgB,EAAEiN,EAAE7L,GAAGA,EAAEA,EAAEqf,GAAGzf,EAAEiM,EAAE9L,EAAE7M,MAAM2G,KAAK2Q,IAAIzK,EAAE7M,KAAK,GAAG,EAAE2M,EAAE4lB,GAAGnuB,EAAE+mB,MAAMze,EAAE1E,EAAE2E,EAAE,EAAE,OAAOC,EAAE4d,GAAG7d,EAAEE,EAAEimB,UAAU,IAAI,QAAQ,OAAOlmB,EAAEkO,GAAGjR,EAAE+S,GAAG3a,EAAE6I,aAAQ,IAAS8B,EAAEiS,KAAKjS,EAAEiS,GAAG/D,GAAGlO,EAAEkO,GAAG9S,EAAE0B,EAAE,GAAGX,IAAI,IAAI,WAAW,OAAO6D,EAAEkO,GAAGjR,EAAE+S,GAAGnR,EAAEX,GAAG9C,EAAEiF,EAAE8lB,QAAG,IAASnmB,EAAEiS,KAAKjS,EAAEiS,GAAG/D,GAAGlO,EAAEkO,GAAG9S,EAAE,GAAGe,EAAEkE,EAAE8lB,IAAI,IAAIhqB,QAAQkE,EAAE8lB,IAAIpmB,EAAEjD,GAAG,IAAI,WAAW,OAAOkD,EAAEkO,GAAGjR,EAAE+S,GAAGlR,EAAEZ,GAAG9C,EAAEiF,EAAE+lB,QAAG,IAASpmB,EAAEiS,KAAKjS,EAAEiS,GAAG/D,GAAGlO,EAAEkO,GAAG9S,EAAE0B,EAAE,GAAGX,EAAEkE,EAAE+lB,IAAI,IAAIjqB,QAAQkE,EAAE+lB,IAAIrmB,EAAEjD,GAAGmD,EAAEimB,QAAQ,CAAC,MAAMhS,GAAG,WAAA3I,CAAYvL,EAAEC,GAAGlM,KAAKib,IAAG,EAAGjb,KAAKsyB,IAAG,EAAGtyB,KAAKuyB,IAAG,EAAGvyB,KAAKwyB,GAAG,KAAKxyB,KAAKyyB,GAAG,KAAKzyB,KAAK8c,GAAG,IAAIgD,GAAG9f,KAAKkxB,GAAGjlB,EAAEjM,KAAK2hB,GAAGzV,EAAElM,KAAKuc,GAAG,CAACtC,GAAG,GAAGJ,GAAG,KAAK,CAAC,EAAAsB,CAAGlP,GAAGjM,KAAKib,IAAG,EAAGjb,KAAKuyB,IAAG,EAAG,SAAStmB,IAAIjM,KAAKsyB,IAAG,EAAGtyB,KAAKyyB,GAAG,KAAK,CAAC,EAAAnX,CAAGrP,GAAG,IAAIjM,KAAKkxB,GAAGtV,KAAK,OAAO,KAAK5b,KAAKib,IAAIjb,KAAK0yB,KAAK,MAAMxmB,EAAElM,KAAK2hB,GAAGjJ,IAAIM,OAAO,OAAOhZ,KAAK8c,GAAGoS,GAAGhjB,EAAEiN,SAASjN,EAAEkN,YAAYpZ,KAAK8c,GAAGlD,EAAE5Z,KAAKuc,IAAIvc,KAAK8c,EAAE,CAAC,EAAA6V,GAAK,GAAG3yB,KAAKuyB,GAAG,CAAC,GAAGvyB,KAAKkxB,GAAG0B,KAAK3vB,OAAO,EAAE,CAAC,MAAMgJ,EAAEjM,KAAK2hB,GAAGjG,KAAK8O,KAAKte,EAAEuT,GAAGxT,GAAGE,EAAE,IAAIylB,GAAG3lB,GAAG,EAAEC,EAAEI,EAAEtM,KAAK6yB,KAAK7yB,KAAKwyB,GAAG,CAACM,MAAMpT,GAAGvT,EAAEG,EAAEymB,SAASzmB,EAAE0mB,OAAOC,MAAMvT,GAAGvT,EAAEG,EAAE4mB,SAAS5mB,EAAE0mB,OAAO,MAAMhzB,KAAKwyB,GAAG,KAAKxyB,KAAKuyB,IAAG,CAAE,CAAC,OAAOvyB,KAAKwyB,EAAE,CAAC,EAAAK,GAAK,OAAO,OAAO7yB,KAAKyyB,KAAKzyB,KAAKyyB,GAAGzyB,KAAKkxB,GAAG0B,KAAKO,OAAM,CAAGlnB,EAAEC,KAAKD,EAAEC,EAAEimB,YAAYlmB,EAAEC,EAAEimB,WAAU,GAAIlmB,GAAI,CAAC+mB,OAAM,EAAGD,UAAS,EAAGG,UAAS,KAAMlzB,KAAKyyB,EAAE,CAAC,EAAAC,GAAK,MAAMzmB,EAAEjM,KAAKkxB,GAAGlV,KAAK9P,EAAElM,KAAK2hB,GAAGjG,KAAKvP,EAAEnM,KAAKkxB,GAAG0B,KAAK5yB,KAAKsyB,KAAKtyB,KAAKuc,GAAGtC,GAAG9N,EAAEkP,IAAKpP,IAAC,CAAI2O,GAAG3O,EAAEuhB,KAAKtT,GAAG,EAAEC,GAAG,EAAE0P,GAAG,EAAEoI,GAAGhmB,EAAEmnB,MAAMzb,EAAE1L,EAAE9C,MAAM4oB,GAAG9lB,EAAE8lB,GAAGpC,GAAG1jB,EAAEonB,GAAGnV,QAAG,KAAWle,KAAKsyB,IAAG,GAAI,MAAMhmB,EAAEtM,KAAK2hB,GAAGjJ,IAAIM,OAAOhZ,KAAKuc,GAAG1C,GAAG,KAAK,MAAMzR,EAAE8D,EAAE0d,KAAK,GAAG,OAAOxhB,EAAE,OAAO,MAAMW,EAAE/I,KAAKkxB,GAAGrV,KAAK,GAAG,OAAO9S,EAAE,OAAO,GAAG,IAAI/I,KAAKuc,GAAGtC,GAAGhX,OAAO,OAAO,IAAIiG,EAAEyP,IAAI,MAAMlV,EAAEgc,GAAGvT,EAAEse,MAAMrgB,EAAE,CAACioB,GAAG3uB,EAAE4uB,GAAG5uB,GAAGzD,KAAKuc,GAAG1C,GAAG2C,GAAGxc,KAAKuc,GAAGtC,GAAG7R,GAAE,GAAI,IAAI,IAAIA,EAAEpI,KAAKuc,GAAG1C,GAAGG,KAAK5R,EAAEpI,KAAKuc,GAAG1C,GAAGE,GAAG3R,IAAI,CAAC,MAAM9G,EAAE6K,EAAE/D,GAAG9G,EAAEksB,OAAOtkB,IAAIiB,EAAEioB,GAAG3uB,EAAE0G,EAAEkoB,GAAG5uB,EAAEyF,EAAE5H,EAAEksB,MAAM,MAAM1iB,EAAE9K,KAAKuc,GAAGtC,GAAG7R,GAAG0C,EAAEoP,GAAGhO,EAAEoQ,GAAGhb,EAAEksB,WAAM,IAASlsB,EAAEgyB,MAAMhyB,EAAEgyB,KAAKrwB,OAAO,IAAI6H,EAAEoT,GAAG,CAAC8T,GAAG1wB,EAAEgyB,KAAKpZ,GAAG,EAAEC,GAAG,EAAEqH,GAAG,EAAEnF,GAAG,IAAI,MAAMtR,EAAE/K,KAAKkxB,GAAGqC,GAAGjyB,EAAEksB,MAAM,OAAOziB,GAAGmV,GAAGpV,EAAExJ,EAAEyJ,EAAEZ,EAAEmC,EAAE6M,SAAS1V,EAAEwI,EAAEC,EAAEnD,EAAEmT,GAAG,CAAClc,KAAKib,IAAG,CAAE,EAAE,MAAMmF,WAAWvB,GAAG,WAAArH,CAAYvL,GAAGwN,MAAMxN,EAAE,CAAC,EAAA8jB,GAAK,MAAM9jB,EAAEjM,KAAK6vB,GAAG5jB,EAAE2P,IAAG,EAAG,MAAM1P,EAAElM,KAAKgpB,GAAGtQ,IAAI,IAAIxM,EAAEf,mBAAmBnL,KAAKgpB,GAAGpN,KAAK,OAAO,MAAMzP,EAAEnM,KAAKgpB,GAAGwI,GAAG,IAAItlB,EAAEd,iBAAiBe,EAAEslB,KAAKxlB,EAAE2P,IAAG,EAAG3P,EAAEkO,GAAGhO,EAAE+T,GAAGjU,EAAE0L,EAAE3X,KAAKgpB,GAAGwK,GAAGrnB,EAAEwL,GAAG1L,EAAEsO,GAAGrO,EAAEb,eAAeY,EAAE2Q,GAAG1Q,EAAEX,eAAe,EAAE,MAAM8U,WAAWnG,GAAG,WAAA1C,CAAYvL,GAAGwN,QAAQzZ,KAAK+c,GAAG9Q,CAAC,CAAC,EAAA8U,CAAG9U,EAAEC,EAAEC,GAAGF,EAAE2P,IAAG,EAAG1P,EAAE0P,IAAG,EAAG,MAAMtP,EAAEtM,KAAK+c,GAAG,IAAIzQ,EAAEsP,KAAK,OAAO,MAAMxT,EAAEkE,EAAEoM,IAAI3P,EAAEX,EAAE8C,iBAAiBhC,EAAE,KAAKoD,EAAEmnB,KAAKhwB,EAAE,IAAI2E,EAAEsrB,oBAAoBvpB,EAAEmC,EAAEklB,IAAG,GAAI,GAAGrnB,EAAEsnB,GAAG,OAAO1oB,IAAIkD,EAAEiS,GAAGle,KAAK2zB,GAAGxpB,EAAEpB,EAAEtF,GAAGwI,EAAE2P,GAAG,IAAI3P,EAAEiS,GAAGjb,SAASiG,GAAGzF,KAAKyI,EAAEgS,GAAGle,KAAK4zB,GAAGzpB,EAAEpB,EAAEG,EAAEzF,GAAGyI,EAAE0P,GAAG1P,EAAEgS,GAAGjb,OAAO,GAAG,MAAM3B,EAAEgL,EAAEknB,GAAGrpB,EAAEwN,GAAG7M,EAAEwM,EAAEhW,GAAG6K,EAAEF,EAAEnB,EAAEmB,EAAEE,EAAE+T,GAAG/V,EAAE+V,GAAGhU,EAAEiQ,GAAG7P,EAAE2Q,KAAKb,GAAGjS,EAAE+V,GAAG5T,EAAE0P,KAAKK,MAAMpQ,EAAEkQ,GAAG7a,EAAE2K,EAAE0L,EAAE7M,EAAEoB,EAAEA,EAAEyL,EAAE7M,EAAEoB,CAAC,CAAC,EAAA0nB,CAAG3nB,EAAEC,EAAEC,EAAEG,GAAG,IAAIlE,EAAE,GAAG,MAAMW,EAAE/I,KAAK+c,GAAG0W,KAAK,OAAOtnB,GAAG,IAAIpD,EAAE9F,SAASmF,GAAG,GAAGW,MAAMmD,GAAGI,IAAIlE,GAAGpI,KAAK+c,GAAGf,KAAK6X,KAAK5nB,EAAE6nB,GAAG7nB,EAAE8nB,IAAI3rB,EAAE4rB,MAAM,CAAC,EAAAL,CAAG1nB,EAAEC,EAAEC,GAAG,OAAOD,EAAEC,EAAEnM,KAAK+c,GAAGf,KAAK6X,KAAK5nB,EAAE8nB,GAAG9nB,EAAE6nB,GAAG7nB,EAAEiS,GAAG,EAAE,EAAE,SAASoC,GAAGrU,EAAEC,EAAEC,EAAEG,GAAG,MAAMlE,EAAEsb,OAAOzL,SAAS/L,GAAGnD,EAAE2a,OAAOzL,SAAS9L,GAAG,OAAO/D,GAAGW,EAAEkD,EAAEC,EAAEC,GAAG/D,GAAGW,EAAEX,EAAE8D,EAAEC,EAAEG,CAAC,CAAC,MAAMiU,GAAG,WAAA/I,CAAYvL,EAAEC,GAAGlM,KAAKi0B,GAAGhoB,EAAEjM,KAAKk0B,GAAGhoB,CAAC,CAAC,EAAAioB,CAAGloB,GAAG,OAAO,OAAOA,GAAIjM,KAAKi0B,KAAKhoB,EAAEgoB,IAAIj0B,KAAKk0B,KAAKjoB,EAAEioB,EAAG,CAAC,EAAAE,GAAK,OAAO,IAAI7T,GAAGvgB,KAAKi0B,GAAGj0B,KAAKk0B,GAAG,CAAC,EAAAG,GAAK,OAAOr0B,KAAKi0B,EAAE,CAAC,EAAAK,GAAK,OAAOt0B,KAAKk0B,EAAE,CAAC,EAAAK,GAAK,OAAOv0B,KAAKk0B,GAAGl0B,KAAKi0B,EAAE,CAAC,EAAA9S,GAAK,OAAOnhB,KAAKk0B,KAAKl0B,KAAKi0B,IAAIvQ,OAAOkB,MAAM5kB,KAAKk0B,KAAKxQ,OAAOkB,MAAM5kB,KAAKi0B,GAAG,CAAC,EAAA/N,CAAGja,GAAG,OAAO,OAAOA,EAAEjM,KAAK,IAAIugB,GAAGD,GAAGta,KAAK0Q,IAAI1W,KAAKq0B,KAAKpoB,EAAEooB,MAAK,KAAM/T,GAAGta,KAAK2Q,IAAI3W,KAAKs0B,KAAKroB,EAAEqoB,KAAK,KAAK,CAAC,EAAAE,CAAGvoB,GAAG,IAAI+L,EAAE/L,GAAG,OAAO,GAAG,IAAIjM,KAAKk0B,GAAGl0B,KAAKi0B,GAAG,OAAO,MAAM/nB,EAAE,IAAIlM,KAAKk0B,GAAGl0B,KAAKi0B,IAAI,IAAI9nB,EAAEnM,KAAKk0B,GAAGhoB,EAAEI,EAAEtM,KAAKi0B,GAAG/nB,EAAEC,GAAGF,EAAEK,GAAGL,EAAEjM,KAAKk0B,GAAGhoB,EAAEC,EAAEnM,KAAKi0B,GAAG/nB,EAAEI,CAAC,CAAC,EAAAmoB,CAAGxoB,GAAG+L,EAAE/L,KAAKjM,KAAKk0B,IAAIjoB,EAAEjM,KAAKi0B,IAAIhoB,EAAE,CAAC,EAAAyoB,GAAK,MAAM,CAACC,SAAS30B,KAAKi0B,GAAGW,SAAS50B,KAAKk0B,GAAG,CAAC,SAAOW,CAAG5oB,GAAG,OAAO,OAAOA,EAAE,KAAK,IAAIsU,GAAGtU,EAAE0oB,SAAS1oB,EAAE2oB,SAAS,EAAE,MAAMpU,GAAG,WAAAhJ,CAAYvL,EAAEC,GAAGlM,KAAK80B,GAAG7oB,EAAEjM,KAAK+0B,GAAG7oB,GAAG,IAAI,CAAC,EAAA8oB,GAAK,OAAOh1B,KAAK80B,EAAE,CAAC,EAAAG,GAAK,OAAOj1B,KAAK+0B,EAAE,CAAC,EAAAL,GAAK,OAAO,OAAO10B,KAAK80B,GAAG,KAAK,CAACI,WAAWl1B,KAAK80B,GAAGJ,KAAKS,QAAQn1B,KAAK+0B,SAAI,EAAO,CAAC,SAAOF,CAAG5oB,GAAG,OAAO,OAAOA,EAAE,KAAK,IAAIuU,GAAGD,GAAGsU,GAAG5oB,EAAEipB,YAAYjpB,EAAEkpB,QAAQ,EAAE,MAAM1U,WAAW5B,GAAG,WAAArH,CAAYvL,EAAEC,GAAGuN,MAAMxN,GAAGjM,KAAKo1B,GAAGlpB,CAAC,CAAC,EAAA6jB,GAAK,MAAM9jB,EAAEjM,KAAK6vB,GAAG5jB,EAAE2P,IAAG,EAAG,MAAM1P,EAAElM,KAAKo1B,GAAG1c,IAAI,IAAI1Y,KAAKgpB,GAAGpN,OAAO1P,EAAE3C,YAAY,OAAO,MAAM4C,EAAEnM,KAAKo1B,GAAGC,KAAK,OAAOlpB,IAAIF,EAAE2P,IAAG,EAAG3P,EAAEkO,GAAGhO,EAAEF,EAAE0L,EAAEzL,EAAE/C,MAAM8C,EAAEsO,GAAGrO,EAAE7C,UAAU4C,EAAE2Q,GAAG1Q,EAAE9C,UAAU6C,EAAE0jB,GAAG3vB,KAAKo1B,GAAG1c,IAAI2a,GAAG,EAAE,MAAM3S,WAAWxG,GAAG,WAAA1C,CAAYvL,EAAEC,GAAGuN,QAAQzZ,KAAKkxB,GAAGjlB,EAAEjM,KAAKo1B,GAAGlpB,CAAC,CAAC,EAAA6U,CAAG9U,EAAEC,EAAEC,GAAGF,EAAE2P,IAAG,EAAG1P,EAAE0P,IAAG,EAAG,MAAMtP,EAAEtM,KAAKo1B,GAAG1c,IAAItQ,EAAEkE,EAAEgpB,iBAAiBvsB,EAAE,KAAKuD,EAAEtB,MAAM9B,EAAElJ,KAAKkxB,GAAG,IAAI9oB,IAAIc,EAAE0S,KAAK,OAAO,MAAMnY,EAAEzD,KAAKo1B,GAAGC,KAAK,GAAG,OAAO5xB,EAAE,OAAOsF,IAAImD,EAAEgS,GAAG5R,EAAEtB,MAAMkB,EAAE0P,IAAG,GAAI1P,EAAEiQ,GAAGjT,EAAE+T,KAAKb,GAAG3Y,EAAEyF,EAAE8S,KAAKK,MAAMpQ,EAAEiS,GAAGle,KAAKu1B,GAAGjpB,EAAEhC,OAAO2B,EAAE2P,IAAG,EAAG,MAAMzR,EAAEmN,EAAEhL,EAAEkpB,gBAAgBlpB,EAAEnD,OAAOgD,EAAEF,EAAE9B,EAAE8B,EAAE,MAAM3K,EAAEgL,EAAEmpB,oBAAoBtrB,EAAE+B,EAAED,EAAE0L,EAAErW,EAAE4K,EAAEyL,EAAErW,EAAE6K,EAAE+T,GAAGzc,CAAC,CAAC,EAAA8xB,CAAGtpB,GAAG,MAAMC,EAAElM,KAAKkxB,GAAGrV,KAAK,OAAO,OAAO3P,EAAE,GAAGlM,KAAKkxB,GAAGlV,KAAKqF,GAAGpV,EAAEC,EAAEgQ,GAAG,EAAE,MAAMyE,GAAG,WAAAnJ,CAAYvL,EAAEC,GAAGlM,KAAKkxB,GAAGjlB,EAAEjM,KAAKojB,GAAGlX,EAAElM,KAAK01B,GAAG,IAAIjV,GAAGxU,EAAEjM,MAAMA,KAAKmvB,GAAG,IAAIzO,GAAGzU,EAAEjM,MAAMA,KAAK21B,GAAG,IAAIhX,GAAG3e,KAAKmvB,GAAGljB,EAAEA,EAAEgR,KAAK,CAAC,EAAA2Y,CAAG3pB,GAAG0L,EAAE3X,KAAKojB,GAAGnX,GAAGjM,KAAKmb,KAAKnb,KAAKkxB,GAAGjU,KAAK4Y,IAAI,CAAC,CAAAnd,GAAI,OAAO1Y,KAAKojB,EAAE,CAAC,EAAA0S,GAAK,OAAO91B,KAAK01B,EAAE,CAAC,EAAAK,GAAK,OAAO/1B,KAAK21B,EAAE,CAAC,EAAAK,GAAK,OAAOh2B,KAAKmvB,EAAE,CAAC,EAAAhU,GAAKnb,KAAK01B,GAAGva,KAAKnb,KAAKmvB,GAAGhU,IAAI,CAAC,EAAAka,GAAK,MAAMppB,EAAEjM,KAAKkxB,GAAGhlB,EAAED,EAAE+P,KAAK,GAAG/P,EAAEgR,KAAKvB,KAAKyF,MAAMjV,EAAEiV,KAAK,OAAO,KAAK,MAAMhV,EAAEF,EAAE4P,KAAK,OAAO,OAAO1P,EAAE,KAAKD,EAAE+P,GAAGjc,KAAKojB,GAAG9Y,MAAM6B,EAAE+P,GAAG,EAAE,MAAM0E,WAAWjG,GAAG,WAAAnD,CAAYvL,GAAGwN,QAAQzZ,KAAK2hB,GAAG1V,CAAC,CAAC,EAAAgR,GAAK,OAAOjd,KAAK2hB,EAAE,EAAE,MAAMb,GAAG,CAACmV,IAAI,CAAChqB,EAAEC,EAAEC,EAAEG,KAAK,IAAIlE,EAAE,MAAMW,EAAEmD,EAAE7D,QAAQa,EAAEgD,EAAE5D,UAAU7E,EAAEoJ,EAAEZ,EAAEE,EAAEG,IAAInC,EAAE2C,EAAErJ,EAAEyY,GAAG,KAAKpP,EAAErJ,EAAEyY,GAAG,IAAI,MAAM,CAAC4O,GAAG,QAAQ1iB,EAAE3E,EAAEkU,SAAI,IAASvP,EAAEA,EAAE+B,EAAEpB,EAAEG,IAAIgtB,YAAY,CAACjqB,EAAEC,EAAEC,EAAEG,KAAK,IAAIlE,EAAEW,EAAEG,EAAE,MAAMzF,EAAEyI,EAAE7D,QAAQ8B,EAAE+B,EAAE5D,UAAUhH,EAAE4K,EAAExD,cAAcoC,EAAEoB,EAAEvD,gBAAgBoC,EAAEmB,EAAErD,YAAYkD,EAAEG,EAAEpD,cAAckD,EAAEa,EAAEZ,EAAEE,EAAEG,IAAIjF,EAAEyF,EAAEd,EAAEkQ,GAAG,KAAKpP,EAAEd,EAAEkQ,GAAG,IAAI,MAAM,CAAC4O,GAAG,QAAQ1iB,EAAE4D,EAAE2L,SAAI,IAASvP,EAAEA,EAAEf,EAAE5D,EAAE0G,EAAEuiB,GAAG,QAAQ3jB,EAAEiD,EAAEmQ,UAAK,IAASpT,EAAEA,EAAE1B,EAAE/F,EAAEwJ,EAAE2hB,GAAG,QAAQvjB,EAAE8C,EAAEmqB,UAAK,IAASjtB,EAAEA,EAAE7B,EAAE0D,EAAEgB,IAAIqqB,OAAO,CAACnqB,EAAEC,EAAEC,EAAEG,KAAK,IAAIlE,EAAE,MAAM,CAAC0iB,GAAG,QAAQ1iB,EAAEyE,EAAEZ,EAAEE,EAAEG,IAAIqL,SAAI,IAASvP,EAAEA,EAAE8D,EAAE/C,QAAQktB,KAAK,CAACpqB,EAAEC,EAAEC,EAAEG,KAAK,IAAIlE,EAAEW,EAAEG,EAAEzF,EAAE,MAAM0G,EAAE0C,EAAEZ,EAAEE,EAAEG,IAAI,MAAM,CAACwe,GAAG,QAAQ1iB,EAAE+B,EAAEwQ,UAAK,IAASvS,EAAEA,EAAE8D,EAAEhC,UAAUyQ,GAAG,QAAQ5R,EAAEoB,EAAEwQ,UAAK,IAAS5R,EAAEA,EAAEmD,EAAEhC,UAAUoe,GAAG,QAAQpf,EAAEiB,EAAEme,UAAK,IAASpf,EAAEA,EAAEgD,EAAEnC,SAASwe,GAAG,QAAQ9kB,EAAE0G,EAAEoe,UAAK,IAAS9kB,EAAEA,EAAEyI,EAAElC,cAAcssB,SAAS,CAACrqB,EAAEC,EAAEC,EAAEG,KAAK,IAAIlE,EAAEW,EAAEG,EAAEzF,EAAE0G,EAAE7I,EAAE,MAAMwJ,EAAE+B,EAAEZ,EAAEE,EAAEG,IAAI,MAAM,CAACwe,GAAGhgB,EAAEoR,GAAG,IAAIhQ,EAAE9B,UAAUE,MAAM4B,EAAEzB,aAAayB,EAAEtB,gBAAgBmhB,GAAG,QAAQ3jB,EAAE0C,EAAEihB,UAAK,IAAS3jB,EAAEA,EAAE8D,EAAEzB,aAAauhB,GAAG,QAAQjjB,EAAE+B,EAAEkhB,UAAK,IAASjjB,EAAEA,EAAEmD,EAAEtB,gBAAgB8gB,GAAG,QAAQxiB,EAAE4B,EAAE4gB,UAAK,IAASxiB,EAAEA,EAAEgD,EAAE3B,cAAcohB,GAAG,QAAQloB,EAAEqH,EAAE6gB,UAAK,IAASloB,EAAEA,EAAEyI,EAAE1B,cAAcohB,GAAG,QAAQzhB,EAAEW,EAAE8gB,UAAK,IAASzhB,EAAEA,EAAE+B,EAAExB,iBAAiBmhB,GAAG,QAAQvqB,EAAEwJ,EAAE+gB,UAAK,IAASvqB,EAAEA,EAAE4K,EAAEvB,mBAAmB4rB,KAAK,CAACtqB,EAAEC,EAAEC,EAAEG,KAAK,IAAIlE,EAAEW,EAAE,MAAMG,EAAE2D,EAAEZ,EAAEE,EAAEG,IAAI,MAAM,CAACwe,GAAG,QAAQ1iB,EAAEc,EAAEyO,SAAI,IAASvP,EAAEA,EAAE8D,EAAE/C,MAAMwR,GAAG,QAAQ5R,EAAEG,EAAEyO,SAAI,IAAS5O,EAAEA,EAAEmD,EAAE/C,QAAQqtB,UAAU,CAACvqB,EAAEC,EAAEC,EAAEG,KAAK,IAAIlE,EAAE,MAAM,CAAC0iB,GAAG,QAAQ1iB,EAAEyE,EAAEZ,EAAEE,EAAEG,IAAIqL,SAAI,IAASvP,EAAEA,EAAE8D,EAAE/C,SAAS,MAAM4X,GAAG,WAAAvJ,CAAYvL,GAAGjM,KAAKy2B,GAAG,CAACxqB,EAAEC,SAAI,IAASA,EAAEA,EAAEgQ,GAAGlc,KAAKkxB,GAAGrM,KAAK6R,GAAGzqB,GAAGjM,KAAKkxB,GAAGjlB,EAAEjM,KAAK22B,GAAG7V,GAAG7U,EAAE2qB,KAAK,CAAC,EAAApN,CAAGvd,EAAEC,GAAG,OAAOlM,KAAK22B,GAAG32B,KAAKy2B,GAAGz2B,KAAKkxB,GAAGxY,IAAIzM,EAAEC,EAAE,EAAE,IAAI8U,IAAI,SAAS/U,GAAGA,EAAEA,EAAE4qB,aAAY,GAAI,cAAc5qB,EAAEA,EAAE6qB,KAAK,GAAG,OAAO7qB,EAAEA,EAAE8qB,aAAa,GAAG,cAAc,CAAnG,CAAqG/V,KAAKA,GAAG,CAAA,IAAK,MAAMC,GAAG,GAAG,MAAME,GAAG,WAAA3J,GAAcxX,KAAKg3B,GAAG,GAAGh3B,KAAKi3B,GAAG,IAAInU,IAAI9iB,KAAKk3B,GAAG,IAAIpU,GAAG,CAAC,EAAAqU,GAAK,OAAOn3B,KAAK6pB,KAAK,EAAE7pB,KAAKg3B,GAAGh3B,KAAKg3B,GAAG/zB,OAAO,GAAG,IAAI,CAAC,EAAAm0B,GAAK,OAAOp3B,KAAK6pB,KAAK,EAAE7pB,KAAKq3B,GAAG,GAAG,IAAI,CAAC,EAAAvS,GAAK,OAAO9kB,KAAK6pB,KAAK,EAAE7pB,KAAKq3B,GAAGr3B,KAAKg3B,GAAG/zB,OAAO,GAAG,IAAI,CAAC,EAAA4mB,GAAK,OAAO7pB,KAAKg3B,GAAG/zB,MAAM,CAAC,EAAAke,GAAK,OAAO,IAAInhB,KAAK6pB,IAAI,CAAC,EAAA6H,CAAGzlB,GAAG,OAAO,OAAOjM,KAAKs3B,GAAGrrB,EAAE,EAAE,CAAC,EAAAyqB,CAAGzqB,GAAG,OAAOjM,KAAKu3B,GAAGtrB,EAAE,CAAC,EAAAsrB,CAAGtrB,EAAEC,EAAE,GAAG,MAAMC,EAAEnM,KAAKs3B,GAAGrrB,EAAEC,GAAG,OAAO,OAAOC,EAAE,KAAKzL,OAAO4oB,OAAO5oB,OAAO4oB,OAAO,CAAA,EAAGtpB,KAAKw3B,GAAGrrB,IAAI,CAACke,GAAGrqB,KAAKq3B,GAAGlrB,IAAI,CAAC,EAAAge,GAAK,OAAOnqB,KAAKg3B,EAAE,CAAC,EAAAS,CAAGxrB,EAAEC,EAAEC,GAAG,GAAGnM,KAAKmhB,KAAK,OAAO,KAAK,IAAI7U,EAAE,KAAK,IAAI,MAAMlE,KAAK+D,EAAGG,EAAE+U,GAAG/U,EAAEtM,KAAK03B,GAAGzrB,EAAEC,EAAE9D,IAAI,OAAOkE,CAAC,CAAC,CAAAsN,CAAE3N,GAAGjM,KAAKk3B,GAAG3S,QAAQvkB,KAAKi3B,GAAG1S,QAAQvkB,KAAKg3B,GAAG/qB,CAAC,CAAC,EAAAorB,CAAGprB,GAAG,OAAOjM,KAAKg3B,GAAG/qB,GAAGoe,EAAE,CAAC,EAAAmN,CAAGvrB,GAAG,OAAOjM,KAAKg3B,GAAG/qB,EAAE,CAAC,EAAAqrB,CAAGrrB,EAAEC,GAAG,MAAMC,EAAEnM,KAAK23B,GAAG1rB,GAAG,GAAG,OAAOE,GAAG,IAAID,EAAE,OAAOA,GAAG,KAAI,EAAG,OAAOlM,KAAK43B,GAAG3rB,GAAG,KAAK,EAAE,OAAOjM,KAAK63B,GAAG5rB,GAAG,QAAQ,MAAM,IAAIjF,UAAU,uBAAuB,OAAOmF,CAAC,CAAC,EAAAyrB,CAAG3rB,GAAG,IAAIC,EAAElM,KAAK83B,GAAG7rB,GAAG,OAAOC,EAAE,IAAIA,GAAG,GAAGA,IAAIlM,KAAKg3B,GAAG/zB,QAAQjD,KAAKq3B,GAAGnrB,GAAGD,EAAEC,EAAE,IAAI,CAAC,EAAA2rB,CAAG5rB,GAAG,MAAMC,EAAElM,KAAK+3B,GAAG9rB,GAAG,OAAOC,IAAIlM,KAAKg3B,GAAG/zB,QAAQgJ,EAAEjM,KAAKq3B,GAAGnrB,GAAGA,EAAE,IAAI,CAAC,EAAAyrB,CAAG1rB,GAAG,MAAMC,EAAElM,KAAK83B,GAAG7rB,GAAG,OAAOC,IAAIlM,KAAKg3B,GAAG/zB,QAAQgJ,EAAEjM,KAAKg3B,GAAG9qB,GAAGme,GAAG,KAAKne,CAAC,CAAC,EAAA4rB,CAAG7rB,GAAG,OAAOmQ,GAAGpc,KAAKg3B,GAAG/qB,EAAC,CAAGA,EAAEC,IAAID,EAAEoe,GAAGne,EAAG,CAAC,EAAA6rB,CAAG9rB,GAAG,OAAOoQ,GAAGrc,KAAKg3B,GAAG/qB,EAAC,CAAGA,EAAEC,IAAID,EAAEoe,GAAGne,EAAG,CAAC,EAAA8rB,CAAG/rB,EAAEC,EAAEC,GAAG,IAAIG,EAAE,KAAK,IAAI,IAAIlE,EAAE6D,EAAE7D,EAAE8D,EAAE9D,IAAI,CAAC,MAAM6D,EAAEjM,KAAKg3B,GAAG5uB,GAAG8T,GAAG/P,GAAGuX,OAAOkB,MAAM3Y,KAAK,OAAOK,EAAEA,EAAE,CAAC2rB,GAAGhsB,EAAEisB,GAAGjsB,IAAIA,EAAEK,EAAE2rB,KAAK3rB,EAAE2rB,GAAGhsB,GAAGA,EAAEK,EAAE4rB,KAAK5rB,EAAE4rB,GAAGjsB,IAAI,CAAC,OAAOK,CAAC,CAAC,EAAAorB,CAAGzrB,EAAEC,EAAEC,GAAG,GAAGnM,KAAKmhB,KAAK,OAAO,KAAK,IAAI7U,EAAE,KAAK,MAAMlE,EAAEyE,EAAE7M,KAAKo3B,MAAMruB,EAAE8D,EAAE7M,KAAK8kB,MAAM5b,EAAElD,KAAK2Q,IAAI1K,EAAE7D,GAAG3E,EAAEuC,KAAK0Q,IAAIxK,EAAEnD,GAAGoB,EAAEnE,KAAK+Z,KAAK7W,EAAE+X,IAAIA,GAAG3f,EAAE0E,KAAK2Q,IAAIxM,EAAEnE,KAAK8T,MAAMrW,EAAEwd,IAAIA,IAAI,CAAC,MAAMhV,EAAEjM,KAAK83B,GAAG5uB,GAAGd,EAAEpI,KAAK+3B,GAAG/xB,KAAK0Q,IAAIjT,EAAE0G,EAAE+B,IAAII,EAAE+U,GAAG/U,EAAEtM,KAAKg4B,GAAG/rB,EAAE7D,EAAE+D,GAAG,CAAC,IAAIrB,EAAE9K,KAAKi3B,GAAGr2B,IAAIuL,QAAG,IAASrB,IAAIA,EAAE,IAAIgY,IAAI9iB,KAAKi3B,GAAGlS,IAAI5Y,EAAErB,IAAI,IAAI,IAAImB,EAAEjG,KAAK2Q,IAAIxM,EAAE,EAAEjB,GAAG+C,EAAE3K,EAAE2K,GAAGgV,GAAG,CAAC,MAAM/U,EAAElG,KAAK8T,MAAM7N,EAAEgV,IAAI,IAAI7Y,EAAE0C,EAAElK,IAAIsL,GAAG,QAAG,IAAS9D,EAAE,CAAC,MAAM6D,EAAEjM,KAAK83B,GAAG5rB,EAAE+U,IAAI3U,EAAEtM,KAAK+3B,IAAI7rB,EAAE,GAAG+U,GAAG,GAAG7Y,EAAEpI,KAAKg4B,GAAG/rB,EAAEK,EAAEH,GAAGrB,EAAEia,IAAI7Y,EAAE9D,EAAE,CAACkE,EAAE+U,GAAG/U,EAAElE,EAAE,CAAC,CAAC,MAAM6D,EAAEjM,KAAK83B,GAAGx2B,GAAG4K,EAAElM,KAAK+3B,GAAGt0B,GAAG6I,EAAE+U,GAAG/U,EAAEtM,KAAKg4B,GAAG/rB,EAAEC,EAAEC,GAAG,CAAC,OAAOG,CAAC,EAAE,SAAS+U,GAAGpV,EAAEC,GAAG,OAAG,OAAOD,EAASC,EAAK,OAAOA,EAASD,EAAQ,CAACgsB,GAAGjyB,KAAK0Q,IAAIzK,EAAEgsB,GAAG/rB,EAAE+rB,IAAIC,GAAGlyB,KAAK2Q,IAAI1K,EAAEisB,GAAGhsB,EAAEgsB,IAAI,CAAC,MAAM5W,GAAG,WAAA9J,CAAYvL,GAAGjM,KAAKm4B,GAAGlsB,CAAC,CAAC,CAAAsN,CAAEtN,EAAEC,EAAEC,GAAGnM,KAAKm4B,GAAGvL,KAAK3gB,EAAE,CAAC,EAAAmsB,CAAGnsB,EAAEC,EAAEC,GAAG,IAAIG,EAAElE,EAAE,QAAQA,GAAGkE,EAAEtM,KAAKm4B,IAAIE,sBAAiB,IAASjwB,GAAGA,EAAEhE,KAAKkI,EAAEL,EAAE,EAAE,MAAMsV,GAAG,WAAA/J,CAAYvL,GAAGjM,KAAKouB,GAAG,KAAKpuB,KAAK4jB,GAAG3X,CAAC,CAAC,EAAAqP,GAAK,IAAIrP,EAAE,MAAMC,EAAElM,KAAK4jB,GAAGiJ,WAAW,GAAG,OAAO3gB,EAAE,OAAO,KAAK,IAAI,QAAQD,EAAEjM,KAAKouB,UAAK,IAASniB,OAAE,EAAOA,EAAEqsB,MAAMpsB,EAAE,OAAOlM,KAAKouB,GAAGmK,GAAG,MAAMpsB,EAAE,IAAImV,GAAGpV,GAAG,OAAOlM,KAAKouB,GAAG,CAACkK,GAAGpsB,EAAEqsB,GAAGpsB,GAAGA,CAAC,CAAC,EAAAqsB,GAAK,IAAIvsB,EAAEC,EAAEC,EAAE,OAAO,QAAQA,EAAE,QAAQD,GAAGD,EAAEjM,KAAK4jB,IAAI6U,cAAS,IAASvsB,OAAE,EAAOA,EAAE9H,KAAK6H,UAAK,IAASE,EAAEA,EAAE,QAAQ,EAAE,SAASqV,GAAGvV,GAAG,IAAIC,EAAEC,EAAEG,EAAElE,EAAEW,EAAE,MAAM,CAACmV,GAAGjS,EAAEqnB,OAAOpT,GAAGjU,EAAEysB,aAAazY,GAAG,QAAQ/T,EAAED,EAAE0sB,uBAAkB,IAASzsB,OAAE,EAAOA,EAAE9H,KAAK6H,GAAG0L,EAAE1L,EAAEgN,YAAYhN,EAAEA,EAAE2sB,YAAYhd,GAAG,QAAQtP,EAAE,QAAQH,EAAEF,EAAEhB,eAAU,IAASkB,OAAE,EAAOA,EAAE/H,KAAK6H,UAAK,IAASK,GAAGA,EAAEuS,GAAG,QAAQ9V,EAAE,QAAQX,EAAE6D,EAAE4sB,mBAAc,IAASzwB,OAAE,EAAOA,EAAEhE,KAAK6H,UAAK,IAASlD,GAAGA,EAAE,CAAC,MAAM4Y,GAAG,WAAAnK,CAAYvL,EAAEC,GAAGlM,KAAK8c,GAAG,IAAIrC,GAAGza,KAAK84B,GAAG7sB,EAAEjM,KAAK+4B,GAAG7sB,CAAC,CAAC,EAAAoP,GAAK,OAAOtb,KAAK8c,GAAGlD,EAAElZ,OAAO4oB,OAAO,CAAC9H,GAAGxhB,KAAK+4B,GAAGvX,MAAMA,GAAGxhB,KAAK84B,MAAM94B,KAAK8c,EAAE,EAAE,MAAM8E,WAAW1H,GAAG,WAAA1C,CAAYvL,EAAEC,GAAGuN,QAAQzZ,KAAK84B,GAAG7sB,EAAEjM,KAAKghB,GAAG9U,CAAC,CAAC,EAAA6U,CAAG9U,EAAEC,EAAEC,GAAG,MAAMG,EAAEkV,GAAGxhB,KAAK84B,IAAI3sB,EAAEF,EAAEK,EAAEL,EAAEA,EAAE0L,EAAErL,EAAEqL,EAAE,MAAMvP,EAAE,EAAE,GAAGpI,KAAKghB,GAAG3J,IAAIlL,EAAEyT,GAAGxX,EAAE+D,EAAE0T,GAAGzX,EAAE+D,EAAE+T,GAAG5T,EAAE4T,GAAG/T,EAAE8T,GAAG3T,EAAE2T,GAAGhU,EAAEiS,GAAG5R,EAAE4R,GAAGjS,EAAE2P,GAAGtP,EAAEsP,GAAG3P,EAAE4S,GAAGvS,EAAEuS,EAAE,EAAE,MAAMgD,GAAG,WAAArK,CAAYvL,EAAEC,GAAGlM,KAAKg5B,GAAG,KAAKh5B,KAAKi5B,GAAG,KAAKj5B,KAAKk5B,GAAG,KAAKl5B,KAAKm5B,GAAG,KAAKn5B,KAAKo5B,GAAG,KAAKp5B,KAAKq5B,GAAGptB,EAAEjM,KAAKkxB,GAAGhlB,CAAC,CAAC,EAAAotB,GAAK,OAAOt5B,KAAKq5B,EAAE,CAAC,EAAA5U,GAAK,IAAIxY,EAAEC,EAAE,QAAQA,GAAGD,EAAEjM,KAAKq5B,IAAIE,sBAAiB,IAASrtB,GAAGA,EAAE9H,KAAK6H,EAAE,CAAC,EAAAoY,GAAK,IAAIpY,EAAEC,EAAEC,EAAEG,EAAE,MAAMlE,EAAE,QAAQ+D,EAAE,QAAQD,GAAGD,EAAEjM,KAAKq5B,IAAIG,iBAAY,IAASttB,OAAE,EAAOA,EAAE9H,KAAK6H,UAAK,IAASE,EAAEA,EAAE,GAAG,IAAI,QAAQG,EAAEtM,KAAKg5B,UAAK,IAAS1sB,OAAE,EAAOA,EAAEgsB,MAAMlwB,EAAE,OAAOpI,KAAKg5B,GAAGT,GAAG,MAAMxvB,EAAEX,EAAEiT,IAAKpP,GAAG,IAAIsV,GAAGtV,IAAK,OAAOjM,KAAKg5B,GAAG,CAACV,GAAGlwB,EAAEmwB,GAAGxvB,GAAGA,CAAC,CAAC,EAAAqZ,GAAK,IAAInW,EAAEC,EAAEC,EAAEG,EAAE,MAAMlE,EAAE,QAAQ+D,EAAE,QAAQD,GAAGD,EAAEjM,KAAKq5B,IAAII,qBAAgB,IAASvtB,OAAE,EAAOA,EAAE9H,KAAK6H,UAAK,IAASE,EAAEA,EAAE,GAAG,IAAI,QAAQG,EAAEtM,KAAKi5B,UAAK,IAAS3sB,OAAE,EAAOA,EAAEgsB,MAAMlwB,EAAE,OAAOpI,KAAKi5B,GAAGV,GAAG,MAAMxvB,EAAE/I,KAAKkxB,GAAGjU,KAAKvB,KAAKxS,EAAEd,EAAEiT,IAAKpP,GAAG,IAAI0V,GAAG1V,EAAElD,IAAK,OAAO/I,KAAKi5B,GAAG,CAACX,GAAGlwB,EAAEmwB,GAAGrvB,GAAGA,CAAC,CAAC,EAAAob,GAAK,IAAIrY,EAAEC,EAAEC,EAAEG,EAAE,MAAMlE,EAAE,QAAQ+D,EAAE,QAAQD,GAAGD,EAAEjM,KAAKq5B,IAAIK,sBAAiB,IAASxtB,OAAE,EAAOA,EAAE9H,KAAK6H,UAAK,IAASE,EAAEA,EAAE,GAAG,IAAI,QAAQG,EAAEtM,KAAKk5B,UAAK,IAAS5sB,OAAE,EAAOA,EAAEgsB,MAAMlwB,EAAE,OAAOpI,KAAKk5B,GAAGX,GAAG,MAAMxvB,EAAE/I,KAAKkxB,GAAGlV,KAAK9S,EAAEd,EAAEiT,IAAKpP,GAAG,IAAI2V,GAAG3V,EAAElD,IAAK,OAAO/I,KAAKk5B,GAAG,CAACZ,GAAGlwB,EAAEmwB,GAAGrvB,GAAGA,CAAC,CAAC,EAAAywB,GAAK,IAAI1tB,EAAEC,EAAEC,EAAEG,EAAE,MAAMlE,EAAE,QAAQ+D,EAAE,QAAQD,GAAGD,EAAEjM,KAAKq5B,IAAIO,0BAAqB,IAAS1tB,OAAE,EAAOA,EAAE9H,KAAK6H,UAAK,IAASE,EAAEA,EAAE,GAAG,IAAI,QAAQG,EAAEtM,KAAKm5B,UAAK,IAAS7sB,OAAE,EAAOA,EAAEgsB,MAAMlwB,EAAE,OAAOpI,KAAKm5B,GAAGZ,GAAG,MAAMxvB,EAAEX,EAAEiT,IAAKpP,GAAG,IAAIsV,GAAGtV,IAAK,OAAOjM,KAAKm5B,GAAG,CAACb,GAAGlwB,EAAEmwB,GAAGxvB,GAAGA,CAAC,CAAC,EAAA8wB,GAAK,IAAI5tB,EAAEC,EAAEC,EAAEG,EAAE,MAAMlE,EAAE,QAAQ+D,EAAE,QAAQD,GAAGD,EAAEjM,KAAKq5B,IAAIS,yBAAoB,IAAS5tB,OAAE,EAAOA,EAAE9H,KAAK6H,UAAK,IAASE,EAAEA,EAAE,GAAG,IAAI,QAAQG,EAAEtM,KAAKo5B,UAAK,IAAS9sB,OAAE,EAAOA,EAAEgsB,MAAMlwB,EAAE,OAAOpI,KAAKo5B,GAAGb,GAAG,MAAMxvB,EAAEX,EAAEiT,IAAKpP,GAAG,IAAIsV,GAAGtV,IAAK,OAAOjM,KAAKo5B,GAAG,CAACd,GAAGlwB,EAAEmwB,GAAGxvB,GAAGA,CAAC,CAAC,EAAAgxB,CAAG9tB,EAAEC,GAAG,IAAIC,EAAEG,EAAElE,EAAE,OAAO,QAAQA,EAAE,QAAQkE,GAAGH,EAAEnM,KAAKq5B,IAAIW,qBAAgB,IAAS1tB,OAAE,EAAOA,EAAElI,KAAK+H,EAAEF,EAAEC,UAAK,IAAS9D,EAAEA,EAAE,IAAI,CAAC,EAAAsnB,CAAGzjB,EAAEC,GAAG,IAAIC,EAAEG,EAAElE,EAAE,OAAO,QAAQA,EAAE,QAAQkE,GAAGH,EAAEnM,KAAKq5B,IAAIY,eAAU,IAAS3tB,OAAE,EAAOA,EAAElI,KAAK+H,EAAEF,EAAEC,UAAK,IAAS9D,EAAEA,EAAE,IAAI,EAAE,SAAS0Z,GAAG7V,EAAEC,EAAEC,EAAEG,GAAGL,EAAEpK,QAASoK,IAAIC,EAAED,GAAGpK,QAASoK,IAAIA,EAAEusB,OAAOrsB,GAAGG,EAAEnL,KAAK8K,EAAG,EAAG,EAAE,CAAC,SAAS8V,GAAG9V,GAAG,OAAOA,EAAEoY,IAAI,CAAC,SAASrC,GAAG/V,GAAG,OAAOA,EAAE0tB,IAAI,CAAC,SAAS1X,GAAGhW,GAAG,OAAOA,EAAE4tB,IAAI,CAAC,MAAM3X,WAAWtB,GAAG,WAAApJ,CAAYvL,EAAEC,EAAEC,EAAEG,EAAElE,GAAGqR,MAAMxN,GAAGjM,KAAKuc,GAAG,IAAI4E,GAAGnhB,KAAK01B,GAAG,IAAItV,GAAGpgB,MAAMA,KAAKk6B,GAAG,GAAGl6B,KAAKm6B,GAAG,IAAIrb,GAAG9e,MAAMA,KAAKo6B,GAAG,KAAKp6B,KAAKq6B,GAAG,KAAKr6B,KAAKs6B,GAAG,GAAGt6B,KAAKu6B,GAAG,GAAGv6B,KAAKw6B,GAAG,KAAKx6B,KAAKy6B,GAAG,GAAGz6B,KAAKojB,GAAGlX,EAAElM,KAAK06B,GAAGvuB,EAAE,MAAMpD,EAAE,IAAIsX,GAAGrgB,MAAMA,KAAK6iB,GAAG,CAAC9Z,GAAG/I,KAAK21B,GAAG,IAAIhX,GAAG5V,EAAE/I,KAAKiM,GAAG,SAASE,GAAG,SAASA,GAAG,aAAaA,IAAInM,KAAKo6B,GAAG,IAAIjb,GAAGnf,OAAOA,KAAK26B,KAAK36B,KAAK46B,GAAGxyB,EAAE,CAAC,CAAAwO,GAAI,OAAO5W,KAAKw6B,IAAIK,aAAa76B,KAAKw6B,GAAG,CAAC,EAAAhH,CAAGvnB,GAAG,OAAOjM,KAAKojB,GAAG9X,gBAAgBW,CAAC,CAAC,EAAAulB,CAAGvlB,GAAG,MAAMC,EAAE,CAACulB,IAAG,GAAItlB,EAAEnM,KAAKgc,KAAK,GAAGhc,KAAKid,KAAKvB,KAAKyF,MAAMhV,EAAEgV,MAAMnhB,KAAKuc,GAAG4E,KAAK,OAAOjV,EAAE,MAAMI,EAAEtM,KAAKid,KAAKvB,KAAKkO,KAAKxhB,EAAEpI,KAAK6b,KAAK,GAAG,OAAOvP,GAAG,OAAOlE,EAAE,OAAO8D,EAAE,IAAInD,EAAEG,EAAE,GAAG+C,EAAE,CAAC,MAAMA,EAAEjM,KAAKuc,GAAG4a,KAAK,GAAG,OAAOlrB,EAAE,OAAOC,EAAEnD,EAAEkD,EAAE/C,EAAE+C,EAAEoe,EAAE,KAAK,CAAC,MAAMpe,EAAEjM,KAAKuc,GAAGgb,GAAGjrB,EAAE4S,MAAK,GAAI,GAAG,OAAOjT,EAAE,OAAOC,EAAE,GAAGnD,EAAE/I,KAAKuc,GAAGma,GAAGzqB,EAAEoe,IAAI,OAAOthB,EAAE,OAAOmD,EAAEhD,EAAE+C,EAAEoe,EAAE,CAAC,MAAM5mB,EAAEsF,EAAEmT,GAAG,GAAG/R,EAAEnK,KAAKupB,KAAKC,GAAGtgB,EAAE,CAACgT,GAAGnT,IAAIzH,EAAE6K,EAAE8P,GAAGxY,EAAE2E,EAAE8T,IAAI,MAAM,CAACuV,IAAG,EAAG5W,GAAGpX,EAAEya,GAAG/R,EAAEkV,GAAG5d,EAAE2E,EAAE8T,IAAI4X,GAAG3nB,EAAE2uB,GAAGr3B,GAAGswB,GAAG5nB,EAAE4uB,GAAGt3B,EAAE2E,EAAE8T,IAAIvE,EAAExN,EAAE2gB,GAAG5K,GAAG5e,EAAE+oB,GAAGnhB,EAAE,CAAC,EAAAqgB,GAAK,OAAO,OAAOvpB,KAAKq6B,KAAKr6B,KAAKq6B,GAAG,IAAItZ,GAAG/gB,OAAOA,KAAKq6B,EAAE,CAAC,CAAA3hB,GAAI,OAAO1Y,KAAKojB,EAAE,CAAC,EAAAwS,CAAG3pB,GAAG,MAAMC,EAAED,EAAE+uB,kBAAa,IAAS9uB,GAAGA,IAAIlM,KAAKojB,GAAG4X,cAAch7B,KAAKid,KAAKge,GAAGj7B,KAAKkM,GAAGyL,EAAE3X,KAAKojB,GAAGnX,QAAG,IAASA,EAAEL,cAAc5L,KAAK26B,KAAK36B,KAAKid,KAAKie,MAAMl7B,KAAKid,KAAKke,GAAGn7B,MAAMA,KAAKid,KAAKme,KAAKp7B,KAAK4jB,GAAGzI,GAAG,UAAU,CAAC,CAAAvB,CAAE3N,EAAEC,GAAGlM,KAAKuc,GAAG3C,EAAE3N,GAAGjM,KAAKq7B,KAAKr7B,KAAK4jB,GAAGzI,GAAG,QAAQnb,KAAKqjB,GAAGlI,GAAG,QAAQ,OAAOnb,KAAKo6B,KAAKluB,GAAGA,EAAEovB,GAAGt7B,KAAKo6B,GAAGhJ,KAAK,IAAInlB,EAAEhJ,QAAQjD,KAAKo6B,GAAGjJ,MAAM,MAAMhlB,EAAEnM,KAAKid,KAAKoS,GAAGrvB,MAAMA,KAAKid,KAAKse,GAAGpvB,GAAGnM,KAAKid,KAAKke,GAAGn7B,MAAMA,KAAKid,KAAKme,KAAKp7B,KAAKid,KAAK4Y,IAAI,CAAC,EAAA2F,CAAGvvB,GAAGjM,KAAKs6B,GAAGruB,EAAEjM,KAAKq7B,KAAK,MAAMnvB,EAAElM,KAAKid,KAAKoS,GAAGrvB,MAAMA,KAAKqjB,GAAGlI,GAAG,QAAQnb,KAAKid,KAAKse,GAAGrvB,GAAGlM,KAAKid,KAAKke,GAAGn7B,MAAMA,KAAKid,KAAKme,KAAKp7B,KAAKid,KAAK4Y,IAAI,CAAC,EAAA4F,GAAK,OAAOz7B,KAAKs6B,EAAE,CAAC,EAAA1H,GAAK,OAAO5yB,KAAKu6B,EAAE,CAAC,EAAAmB,CAAGzvB,GAAG,MAAMC,EAAE,IAAIyU,GAAG3gB,KAAKiM,GAAG,OAAOjM,KAAKk6B,GAAG/4B,KAAK+K,GAAGlM,KAAKid,KAAKke,GAAGn7B,MAAMkM,CAAC,CAAC,EAAAyvB,CAAG1vB,GAAG,MAAMC,EAAElM,KAAKk6B,GAAG0B,QAAQ3vB,IAAG,IAAKC,GAAGlM,KAAKk6B,GAAGxiB,OAAOxL,EAAE,GAAGlM,KAAKid,KAAKke,GAAGn7B,KAAK,CAAC,EAAA42B,GAAK,OAAO52B,KAAK06B,EAAE,CAAC,EAAA7e,GAAK,MAAM5P,EAAEjM,KAAK67B,KAAK,OAAO,OAAO5vB,EAAE,KAAK,CAACiQ,GAAGjQ,EAAEiQ,GAAG,GAAG4f,GAAG7vB,EAAE2O,GAAG,CAAC,EAAAihB,GAAK,MAAM5vB,EAAEjM,KAAKid,KAAKvB,KAAKkO,KAAK,GAAG,OAAO3d,EAAE,OAAO,KAAK,MAAMC,EAAED,EAAEyc,KAAK,OAAO1oB,KAAKuc,GAAGgb,GAAGrrB,EAAE,EAAE,CAAC,EAAA2Y,GAAK,OAAO7kB,KAAKuc,EAAE,CAAC,EAAAgX,CAAGtnB,GAAG,MAAMC,EAAElM,KAAKuc,GAAGma,GAAGzqB,GAAG,OAAO,OAAOC,EAAE,KAAK,QAAQlM,KAAK06B,IAAI,gBAAgB16B,KAAK06B,IAAI,WAAW16B,KAAK06B,GAAG,CAACpP,GAAGpf,EAAEgQ,GAAG,GAAGqP,GAAGrf,EAAEgQ,GAAG,GAAGsP,GAAGtf,EAAEgQ,GAAG,GAAGuP,GAAGvf,EAAEgQ,GAAG,IAAIhQ,EAAEgQ,GAAG,EAAE,CAAC,EAAA6f,CAAG9vB,GAAG,MAAMC,EAAE,GAAG4V,GAAG9hB,KAAKy6B,GAAG1Y,GAAG,MAAM7V,GAAG,MAAMC,EAAEnM,KAAKo6B,GAAG,OAAO,OAAOjuB,GAAGA,EAAEyP,MAAM,OAAO5b,KAAKw6B,IAAIruB,EAAEmlB,OAAOtxB,KAAKw6B,GAAGwB,WAAU,KAAOh8B,KAAKw6B,GAAG,KAAKx6B,KAAKid,KAAKgf,IAAK,EAAE,IAAI9vB,EAAEklB,KAAKnlB,EAAEgwB,QAAQ/vB,GAAGD,GAAGA,CAAC,CAAC,EAAAmY,GAAK,MAAMpY,EAAE,GAAGjM,KAAKV,MAAM2M,EAAE9K,KAAKnB,KAAKm6B,IAAIluB,EAAE9K,KAAKnB,KAAK4jB,GAAG5jB,KAAK01B,GAAG11B,KAAKqjB,IAAI,MAAMnX,EAAElM,KAAKk6B,GAAG7e,IAAKpP,GAAGA,EAAE6pB,MAAO,OAAO7pB,EAAE9K,QAAQ+K,GAAG4V,GAAG9hB,KAAKy6B,GAAG1Y,GAAG,SAAS9V,GAAGA,CAAC,CAAC,EAAAkwB,GAAK,OAAOn8B,KAAKo8B,GAAGra,GAAG,SAAS,CAAC,EAAAsa,CAAGpwB,GAAG,OAAOjM,KAAKo8B,GAAGpa,GAAG/V,EAAE,CAAC,EAAAqwB,CAAGrwB,GAAG,OAAOjM,KAAKo8B,GAAGna,GAAGhW,EAAE,CAAC,EAAAswB,CAAGtwB,EAAEC,GAAG,OAAOlM,KAAKy6B,GAAGpf,IAAKlP,GAAGA,EAAEujB,GAAGzjB,EAAEC,IAAK7K,OAAQ4K,GAAG,OAAOA,EAAG,CAAC,EAAAkW,CAAGlW,GAAG,MAAM,CAACjM,KAAK21B,MAAM31B,KAAKk6B,GAAG7e,IAAKpP,GAAGA,EAAE8pB,MAAO,CAAC,EAAAzR,CAAGrY,EAAEC,GAAG,GAAGA,IAAIlM,KAAK8hB,KAAK9hB,KAAKV,KAAK,MAAM,GAAG,MAAM6M,EAAE,IAAInM,KAAK6iB,IAAI,IAAI,MAAM5W,KAAKjM,KAAKk6B,GAAG/tB,EAAEhL,KAAK8K,EAAE+pB,MAAM,OAAOh2B,KAAKy6B,GAAG54B,QAASoK,IAAIE,EAAEhL,QAAQ8K,EAAEqY,KAAM,GAAGnY,CAAC,CAAC,EAAAiW,GAAK,MAAMnW,EAAE,GAAG,OAAOjM,KAAKy6B,GAAG54B,QAASqK,IAAID,EAAE9K,QAAQ+K,EAAEkW,KAAM,GAAGnW,CAAC,CAAC,EAAA8tB,CAAG9tB,EAAEC,GAAG,QAAG,IAASlM,KAAKojB,GAAGoZ,sBAAsB,CAAC,MAAMrwB,EAAEnM,KAAKojB,GAAGoZ,sBAAqB,KAAO,MAAMrwB,EAAEnM,KAAKy8B,GAAGxwB,EAAEC,GAAG,OAAO,OAAOC,EAAE,KAAKA,EAAEuoB,IAAK,GAAG,OAAOlU,GAAGqU,GAAG1oB,EAAE,CAAC,OAAOnM,KAAKy8B,GAAGxwB,EAAEC,EAAE,CAAC,EAAAwwB,GAAK,OAAO18B,KAAKojB,GAAGxX,YAAYE,OAAO,CAAC,EAAA6wB,GAAK,OAAO38B,KAAK48B,EAAE,CAAC,EAAAnY,GAAK,IAAIxY,EAAEjM,KAAK4jB,GAAGzI,KAAKnb,KAAKqjB,GAAGlI,KAAK,IAAI,MAAMlP,KAAKjM,KAAK6iB,GAAG5W,EAAEkP,KAAK,IAAI,MAAMlP,KAAKjM,KAAKk6B,GAAGjuB,EAAEkP,KAAKnb,KAAK01B,GAAGva,KAAKnb,KAAKm6B,GAAGhf,KAAK,QAAQlP,EAAEjM,KAAKo6B,UAAK,IAASnuB,GAAGA,EAAEkP,KAAKnb,KAAKy6B,GAAG54B,QAASoK,GAAGA,EAAEwY,KAAM,CAAC,EAAAzI,GAAK,OAAOnP,EAAE4M,MAAMuC,KAAK,CAAC,EAAAL,CAAG1P,GAAG,GAAM,SAASjM,KAAK06B,IAAI,SAAS16B,KAAK06B,IAAI,aAAa16B,KAAK06B,KAAK16B,KAAKojB,GAAG5Z,uBAAwB,OAAO,KAAK,MAAM0C,EAAElM,KAAKuc,GAAGma,GAAGzqB,GAAG,OAAG,OAAOC,EAAS,KAAW,CAAC2O,GAAG3O,EAAEgQ,GAAG,GAAGxB,GAAG1a,KAAK68B,KAAK1gB,GAAGnc,KAAK88B,KAAK/gB,GAAG/b,KAAK+8B,KAAKjhB,GAAG9b,KAAKg9B,GAAG/wB,GAAG,CAAC,EAAAwnB,GAAK,OAAOzzB,KAAKojB,GAAGpY,KAAK,CAAC,EAAA4Q,GAAK,OAAO5b,KAAKojB,GAAGnY,OAAO,CAAC,EAAAgyB,CAAGhxB,GAAGjM,KAAKy6B,GAAGt5B,KAAK,IAAI0gB,GAAG5V,EAAEjM,MAAM,CAAC,EAAAk9B,CAAGjxB,GAAGjM,KAAKy6B,GAAGz6B,KAAKy6B,GAAGp5B,OAAQ6K,GAAGA,EAAEotB,OAAOrtB,EAAG,CAAC,EAAAkxB,GAAK,GAAGn9B,KAAK4jB,cAAc1F,IAAI,EAAG,OAAOjS,GAAGjM,KAAK4jB,GAAGkJ,GAAG7gB,EAAE,CAAC,EAAAmxB,GAAK,GAAGp9B,KAAK4jB,cAAc1F,IAAI,EAAG,OAAOjS,GAAGjM,KAAK4jB,GAAGoJ,GAAG/gB,EAAE,CAAC,EAAA3M,GAAK,OAAOub,GAAG7a,KAAKgc,KAAKqhB,KAAK,CAAC,EAAAZ,CAAGxwB,EAAEC,GAAG,IAAIgM,EAAEjM,KAAKiM,EAAEhM,IAAIlM,KAAKuc,GAAG4E,KAAK,OAAO,KAAK,MAAMhV,EAAE,SAASnM,KAAK06B,IAAI,SAAS16B,KAAK06B,IAAI,aAAa16B,KAAK06B,IAAI,cAAc16B,KAAK06B,GAAG,CAAC,GAAG,CAAC,EAAE,GAAGpuB,EAAEtM,KAAKuc,GAAGkb,GAAGxrB,EAAEC,EAAEC,GAAG,IAAI/D,EAAE,OAAOkE,EAAE,IAAIiU,GAAGjU,EAAE2rB,GAAG3rB,EAAE4rB,IAAI,KAAK,GAAG,cAAcl4B,KAAK42B,KAAK,CAAC,MAAM3qB,EAAEjM,KAAKojB,GAAGvY,KAAKqB,EAAE,IAAIqU,GAAGtU,EAAEA,GAAG7D,EAAE,OAAOA,EAAEA,EAAE8d,GAAGha,GAAGA,CAAC,CAAC,IAAInD,EAAE/I,KAAKqjB,GAAGsP,KAAK,OAAO3yB,KAAKy6B,GAAG54B,QAASsK,IAAI,MAAMG,EAAEH,EAAE4tB,GAAG9tB,EAAEC,GAAG,GAAG,MAAMI,OAAE,EAAOA,EAAE4oB,WAAW,CAAC,MAAMjpB,EAAE,IAAIsU,GAAGjU,EAAE4oB,WAAWP,SAASroB,EAAE4oB,WAAWN,UAAUxsB,EAAE,OAAOA,EAAEA,EAAE8d,GAAGja,GAAGA,CAAC,CAAC,IAAI/C,EAAEzF,EAAE0G,EAAE7I,GAAG,MAAMgL,OAAE,EAAOA,EAAE6oB,WAAWjsB,EAAEH,EAAEtF,EAAE6I,EAAE6oB,QAAQpsB,EAAE,CAAC+pB,MAAM9sB,KAAK2Q,IAAI,QAAQxM,EAAE,MAAMjB,OAAE,EAAOA,EAAE4pB,aAAQ,IAAS3oB,EAAEA,EAAE,EAAE1G,EAAEqvB,OAAOG,MAAMjtB,KAAK2Q,IAAI,QAAQrV,EAAE,MAAM4H,OAAE,EAAOA,EAAE+pB,aAAQ,IAAS3xB,EAAEA,EAAE,EAAEmC,EAAEwvB,QAAS,GAAG,IAAIzS,GAAGpY,EAAEW,EAAE,CAAC,EAAA8zB,GAAK,OAAO78B,KAAK06B,IAAI,IAAI,OAAO,IAAI,OAAO,IAAI,WAAW,OAAO16B,KAAKojB,GAAG3Z,sBAAsB,OAAO,CAAC,CAAC,EAAAqzB,GAAK,OAAO98B,KAAK06B,IAAI,IAAI,OAAO,IAAI,OAAO,IAAI,WAAW,CAAC,MAAMzuB,EAAEjM,KAAKojB,GAAG1Z,2BAA2B,GAAG,IAAIuC,EAAEhJ,OAAO,OAAOgJ,CAAC,EAAE,OAAO,IAAI,CAAC,EAAA8wB,GAAK,OAAO/8B,KAAK06B,IAAI,IAAI,OAAO,IAAI,OAAO,IAAI,WAAW,OAAO16B,KAAKojB,GAAGzZ,2BAA2B,OAAO,CAAC,CAAC,EAAAqzB,CAAG/wB,GAAG,OAAOjM,KAAK06B,IAAI,IAAI,OAAO,IAAI,OAAO,IAAI,WAAW,CAAC,MAAMzuB,EAAEjM,KAAKojB,GAAGxZ,+BAA+B,GAAG,IAAIqC,EAAEhJ,OAAO,OAAOgJ,CAAC,EAAE,OAAOjM,KAAKupB,KAAKC,GAAGvd,GAAG6e,EAAE,CAAC,EAAA6P,GAAK,OAAO36B,KAAKojB,GAAGxX,YAAYvB,MAAM,IAAI,SAASrK,KAAK48B,GAAG,CAAClW,OAAO1mB,KAAKojB,GAAGxX,YAAY0xB,WAAW,MAAM,IAAI,SAASt9B,KAAK48B,GAAG,IAAI9V,GAAG9mB,KAAKojB,GAAGxX,YAAYC,WAAW,MAAM,IAAI,UAAU7L,KAAK48B,GAAG,IAAI1hB,GAAGlb,KAAKojB,GAAGxX,YAAYC,WAAW,MAAM,QAAQ,CAAC,MAAMI,EAAEjG,KAAKihB,IAAI,GAAGjnB,KAAKojB,GAAGxX,YAAYC,WAAW7L,KAAK48B,GAAG,IAAI3hB,GAAGhP,EAAEjM,KAAKojB,GAAGxX,YAAYE,QAAQG,EAAE,EAAE,OAAOjM,KAAK8hB,IAAI9hB,KAAK8hB,GAAGyb,IAAI,CAAC,EAAAlC,GAAK,MAAMpvB,EAAEjM,KAAKid,KAAKvB,KAAK,IAAIzP,EAAEuxB,MAAMx9B,KAAKuc,GAAG4E,KAAK,YAAYnhB,KAAKu6B,GAAG,IAAI,MAAMruB,EAAEW,EAAE7M,KAAKuc,GAAG6a,MAAMp3B,KAAKu6B,GAAGv6B,KAAKs6B,GAAGjf,IAAG,CAAGlP,EAAEG,KAAK,MAAMlE,EAAEyE,EAAEZ,EAAEwxB,GAAGtxB,EAAEqhB,MAAK,IAAKzkB,EAAEX,EAAE8D,EAAE,GAAE,EAAG,MAAM,CAACshB,KAAK3gB,EAAE7M,KAAKuc,GAAGgb,GAAGnvB,EAAEW,IAAIshB,GAAG8H,SAAShmB,EAAEgmB,SAASiB,MAAMjnB,EAAEinB,MAAMjqB,MAAMgD,EAAEhD,MAAMkqB,GAAGlnB,EAAEknB,GAAGtB,GAAGzlB,EAAEgnB,KAAKnnB,EAAEmnB,KAAKj0B,KAAK8M,EAAE9M,KAAKq+B,aAAavxB,EAAEuxB,aAAc,EAAE,CAAC,EAAA9C,CAAG3uB,GAAG,OAAOjM,KAAKqjB,GAAG,IAAIlD,GAAGngB,KAAKA,KAAKid,MAAMjd,KAAK06B,IAAI,IAAI,MAAM16B,KAAK4jB,GAAG,IAAI5G,GAAGhd,KAAKA,KAAKid,MAAM,MAAM,IAAI,cAAcjd,KAAK4jB,GAAG,IAAIpG,GAAGxd,KAAKA,KAAKid,MAAM,MAAM,IAAI,OAAOjd,KAAK4jB,GAAG,IAAIrF,GAAGve,KAAKA,KAAKid,MAAM,MAAM,IAAI,SAASjd,KAAK4jB,GAAG,IAAI1F,GAAGle,KAAKA,KAAKid,KAAKrQ,EAAEX,IAAI,MAAM,IAAI,OAAOjM,KAAK4jB,GAAG,IAAI/G,GAAG7c,KAAKA,KAAKid,MAAM,MAAM,IAAI,WAAWjd,KAAK4jB,GAAG,IAAIxG,GAAGpd,KAAKA,KAAKid,MAAM,MAAM,IAAI,YAAYjd,KAAK4jB,GAAG,IAAItF,GAAGte,KAAKA,KAAKid,MAAM,MAAM,QAAQ,MAAMxd,MAAM,iCAAiCO,KAAK06B,IAAI,CAAC,EAAA0B,CAAGnwB,EAAEC,GAAG,MAAMC,EAAE,GAAG,OAAO2V,GAAG9hB,KAAKy6B,GAAGxuB,EAAEC,EAAEC,GAAGA,CAAC,EAAE,MAAMgW,GAAG,WAAA3K,CAAYvL,GAAGjM,KAAKojB,GAAGnX,CAAC,CAAC,EAAA0xB,CAAG1xB,EAAEC,EAAEC,GAAG,IAAIG,EAAEL,EAAE,GAAG,IAAIjM,KAAKojB,GAAG5H,KAAK,OAAOlP,EAAE,MAAMlE,EAAE+D,EAAEoX,KAAKxa,EAAEX,EAAEyT,KAAK,GAAG,OAAO9S,EAAE,OAAOuD,EAAE,MAAMpD,EAAEd,EAAE6T,GAAGhQ,EAAElD,GAAGtF,EAAE0I,EAAEyxB,KAAKv8B,OAAQ4K,GAAGA,aAAaiW,IAAKiR,OAAM,CAAGlnB,EAAEK,KAAK,GAAGH,EAAEmjB,GAAGhjB,KAAKA,EAAEsP,KAAK,OAAO3P,EAAE,MAAM7D,EAAEkE,EAAE0P,KAAKjT,EAAEuD,EAAEuY,KAAK,GAAGzc,EAAE+Y,OAAOpY,EAAE2oB,GAAGxlB,GAAG,OAAOD,EAAE,MAAM/C,EAAEH,EAAE2tB,GAAGxqB,GAAG,GAAG,OAAOhD,EAAE,OAAO+C,EAAE,MAAMxI,EAAEqJ,EAAER,EAAEuP,MAAM,OAAO5P,EAAExK,OAAO,CAAC2G,EAAE6T,GAAG/S,EAAEgT,GAAG,GAAGzY,EAAEyY,KAAM,EAAE,IAAI,GAAG,IAAIzY,EAAER,OAAO,OAAOqJ,EAAE7I,EAAEo6B,KAAI,CAAG5xB,EAAEC,IAAIlG,KAAKyb,IAAIxV,EAAE/C,GAAGlD,KAAKyb,IAAIvV,EAAEhD,IAAK,MAAMiB,EAAE1G,EAAE,GAAG,OAAO6I,EAAElE,EAAEob,GAAGrZ,EAAEpB,GAAGuD,CAAC,EAAE,MAAM8V,WAAWvJ,EAAE,WAAArB,GAAciC,SAASC,WAAW1Z,KAAKuc,GAAG,IAAI,CAAC,CAAA3C,CAAE3N,GAAGjM,KAAKuc,GAAGtQ,CAAC,CAAC,CAAAuN,EAAG1S,QAAQmF,EAAE/H,WAAWgI,EAAErE,qBAAqBsE,EAAErE,mBAAmBwE,IAAI,GAAG,OAAOtM,KAAKuc,GAAG,OAAO,MAAMnU,EAAEpC,KAAK2Q,IAAI,EAAE3Q,KAAK8T,MAAM3N,IAAIF,EAAE5C,UAAUjB,EAAE,SAAS6D,EAAEC,GAAGD,EAAE3E,OAAO2E,EAAE5C,UAAU,GAAG4C,EAAEyV,UAAU,GAAG,IAAIxV,IAAID,EAAEtE,SAAS,CAAxE,CAA0EsE,EAAC,KAAO,MAAMlD,EAAE8D,EAAE7M,KAAKuc,IAAI,GAAGxT,EAAE+0B,GAAG,CAAC7xB,EAAE0Q,YAAY5T,EAAEg1B,GAAG12B,EAAE4E,EAAElD,EAAEi1B,IAAI/xB,EAAEM,YAAY,IAAI,MAAMD,KAAKvD,EAAEk1B,GAAG,CAAC,MAAMl1B,EAAE/C,KAAKC,MAAMqG,EAAE4xB,GAAG/xB,GAAGF,EAAEO,OAAOzD,GAAGX,GAAG6D,EAAEQ,OAAO1D,EAAEmD,EAAE1M,OAAO4I,EAAE,CAAC6D,EAAES,QAAQ,CAAC,GAAG3D,EAAEo1B,GAAG,CAAClyB,EAAE0Q,YAAY5T,EAAEq1B,GAAG/2B,EAAE4E,EAAElD,EAAEs1B,IAAIpyB,EAAEM,YAAY,IAAI,MAAMJ,KAAKpD,EAAEu1B,GAAG,CAAC,MAAMv1B,EAAE/C,KAAKC,MAAMkG,EAAE+xB,GAAG5xB,GAAGL,EAAEO,QAAQpE,EAAEW,GAAGkD,EAAEQ,OAAOP,EAAE3M,MAAM6I,EAAEW,EAAE,CAACkD,EAAES,QAAQ,CAAE,EAAE,EAAE,MAAM+V,GAAG,WAAAjL,CAAYvL,GAAGjM,KAAK8c,GAAG,IAAIsF,GAAGpiB,KAAKib,IAAG,EAAGjb,KAAKyiB,GAAGxW,CAAC,CAAC,EAAAkP,GAAKnb,KAAKib,IAAG,CAAE,CAAC,EAAAK,GAAK,GAAGtb,KAAKib,GAAG,CAAC,MAAMhP,EAAEjM,KAAKyiB,GAAGxF,KAAKvE,IAAI6lB,KAAKryB,EAAE,CAACiyB,GAAGlyB,EAAEuyB,UAAUvzB,QAAQ6yB,GAAG7xB,EAAEwyB,UAAUxzB,QAAQmzB,GAAGnyB,EAAEuyB,UAAUr1B,MAAM40B,GAAG9xB,EAAEwyB,UAAUt1B,MAAMk1B,GAAGpyB,EAAEuyB,UAAUp7B,MAAM46B,GAAG/xB,EAAEwyB,UAAUr7B,MAAMk7B,GAAGt+B,KAAKyiB,GAAGc,KAAKmb,KAAKT,IAAIj+B,KAAKyiB,GAAGxF,KAAKvB,KAAKgjB,MAAM,IAAIrjB,IAAKpP,IAAC,CAAIiyB,GAAGjyB,EAAE0yB,UAAW3+B,KAAK8c,GAAGlD,EAAE1N,GAAGlM,KAAKib,IAAG,CAAE,CAAC,OAAOjb,KAAK8c,EAAE,EAAE,MAAM4F,GAAG,WAAAlL,CAAYvL,GAAGjM,KAAK4jB,GAAG,IAAInB,GAAGxW,EAAE,CAAC,EAAA6pB,GAAK,OAAO91B,KAAK4jB,EAAE,EAAE,MAAMjB,GAAG,CAACic,GAAG,EAAEC,GAAG,MAAM,SAASjc,GAAG3W,EAAEC,GAAG,MAAMC,EAAE,KAAKF,EAAEC,GAAGA,EAAE,OAAOA,EAAE,GAAGC,EAAEA,CAAC,CAAC,SAAS0W,GAAG5W,EAAEC,GAAG,MAAMC,EAAEyW,GAAG3W,EAAEooB,KAAKnoB,GAAGI,EAAEsW,GAAG3W,EAAEqoB,KAAKpoB,GAAG,OAAO,IAAIqU,GAAGpU,EAAEG,EAAE,CAAC,SAASyW,GAAG9W,EAAEC,GAAG,MAAMC,EAAE,KAAKF,EAAEC,GAAGA,EAAE,IAAI,OAAOA,EAAE,GAAGC,EAAEA,CAAC,CAAC,SAAS6W,GAAG/W,EAAEC,GAAG,MAAMC,EAAE4W,GAAG9W,EAAEooB,KAAKnoB,GAAGI,EAAEyW,GAAG9W,EAAEqoB,KAAKpoB,GAAG,OAAO,IAAIqU,GAAGpU,EAAEG,EAAE,CAAC,SAAS2W,GAAGhX,EAAEC,GAAG,MAAMC,EAAEnG,KAAKyb,IAAIxV,GAAG,GAAGE,EAAE,MAAM,OAAO,EAAE,MAAMG,EAAEtG,KAAK84B,MAAM3yB,EAAED,EAAE2yB,IAAI3yB,EAAE0yB,GAAG,OAAO3yB,EAAE,GAAGK,EAAEA,CAAC,CAAC,SAASyyB,GAAG9yB,EAAEC,GAAG,MAAMC,EAAEnG,KAAKyb,IAAIxV,GAAG,GAAGE,EAAE,MAAM,OAAO,EAAE,MAAMG,EAAEtG,KAAKihB,IAAI,GAAG9a,EAAED,EAAE0yB,IAAI1yB,EAAE2yB,GAAG,OAAO5yB,EAAE,GAAGK,EAAEA,CAAC,CAAC,SAAS4W,GAAGjX,EAAEC,GAAG,GAAG,OAAOD,EAAE,OAAO,KAAK,MAAME,EAAE8W,GAAGhX,EAAEooB,KAAKnoB,GAAGI,EAAE2W,GAAGhX,EAAEqoB,KAAKpoB,GAAG,OAAO,IAAIqU,GAAGpU,EAAEG,EAAE,CAAC,SAAS6W,GAAGlX,EAAEC,GAAG,GAAG,OAAOD,EAAE,OAAO,KAAK,MAAME,EAAE4yB,GAAG9yB,EAAEooB,KAAKnoB,GAAGI,EAAEyyB,GAAG9yB,EAAEqoB,KAAKpoB,GAAG,OAAO,IAAIqU,GAAGpU,EAAEG,EAAE,CAAC,SAAS8W,GAAGnX,GAAG,GAAG,OAAOA,EAAE,OAAO0W,GAAG,MAAMzW,EAAElG,KAAKyb,IAAIxV,EAAEqoB,KAAKroB,EAAEooB,MAAM,GAAGnoB,GAAG,GAAGA,EAAE,MAAM,OAAOyW,GAAG,MAAMxW,EAAEnG,KAAK+Z,KAAK/Z,KAAKyb,IAAIzb,KAAK84B,MAAM5yB,KAAKI,EAAEqW,GAAGic,GAAGzyB,EAAE,MAAM,CAACyyB,GAAGtyB,EAAEuyB,GAAG,EAAE74B,KAAKihB,IAAI,GAAG3a,GAAG,CAAC,MAAM+W,GAAG,WAAA7L,CAAYvL,EAAEC,GAAG,GAAGlM,KAAKg/B,GAAG/yB,EAAEjM,KAAKi/B,GAAG/yB,EAAE,SAASD,GAAG,GAAGA,EAAE,EAAE,OAAM,EAAG,IAAI,IAAIC,EAAED,EAAEC,EAAE,EAAEA,GAAG,GAAG,GAAGA,EAAE,IAAI,EAAE,OAAM,EAAG,OAAM,CAAE,CAA9E,CAAgFlM,KAAKg/B,IAAIh/B,KAAKk/B,GAAG,CAAC,EAAE,IAAI,OAAO,CAACl/B,KAAKk/B,GAAG,GAAG,IAAI,IAAIjzB,EAAEjM,KAAKg/B,GAAG,IAAI/yB,GAAG,CAAC,GAAGA,EAAE,GAAG,EAAEjM,KAAKk/B,GAAG/9B,KAAK,GAAG8K,GAAG,MAAM,CAAC,GAAGA,EAAE,GAAG,EAAE,MAAM,IAAIxM,MAAM,mBAAmBO,KAAKk/B,GAAG/9B,KAAK,EAAE,KAAK8K,GAAG,CAAC,CAAC,GAAGjM,KAAKk/B,GAAGj8B,OAAO,IAAI,MAAM,IAAIxD,MAAM,4BAA4B,CAAC,CAAC,CAAC,EAAA0/B,CAAGlzB,EAAEC,EAAEC,GAAG,MAAMG,EAAE,IAAItM,KAAKg/B,GAAG,EAAE,EAAEh/B,KAAKg/B,GAAG,IAAI52B,EAAEpC,KAAKihB,IAAI,GAAGjhB,KAAK2Q,IAAI,EAAE3Q,KAAK+Z,KAAK/Z,KAAK84B,MAAM7yB,EAAEC,MAAMnD,EAAE,EAAEG,EAAElJ,KAAKi/B,GAAG,GAAG,OAAO,CAAC,MAAMhzB,EAAE2P,GAAGxT,EAAEkE,EAAE,QAAQlE,EAAEkE,EAAE,MAAMJ,EAAE0P,GAAGxT,EAAE+D,EAAEjD,EAAE,OAAOzF,EAAEmY,GAAGxT,EAAE,EAAE,OAAO,KAAK6D,GAAGC,GAAGzI,GAAG,MAAM2E,GAAGc,EAAEA,EAAElJ,KAAKi/B,KAAKl2B,EAAE/I,KAAKi/B,GAAGh8B,OAAO,CAAC,GAAGmF,GAAGkE,EAAE,QAAQlE,EAAEkE,GAAGlE,EAAEpC,KAAK2Q,IAAI,EAAEvO,GAAGpI,KAAKk/B,GAAGj8B,OAAO,IAAIQ,EAAE2E,EAAcpC,KAAKyb,IAAIhe,EAAnB,GAAI,OAAuB,IAAIsF,EAAE,EAAEG,EAAElJ,KAAKk/B,GAAG,GAAGtjB,GAAGxT,EAAE+D,EAAEjD,EAAE,QAAQd,EAAEkE,EAAE,OAAOlE,GAAGc,EAAEA,EAAElJ,KAAKk/B,KAAKn2B,EAAE/I,KAAKk/B,GAAGj8B,QAAQ,IAAIQ,EAAM,OAAO2E,CAAC,EAAE,MAAMkb,GAAG,WAAA9L,CAAYvL,EAAEC,EAAEC,EAAEG,GAAGtM,KAAKo/B,GAAG,GAAGp/B,KAAKghB,GAAG/U,EAAEjM,KAAKg/B,GAAG9yB,EAAElM,KAAKq/B,GAAGlzB,EAAEnM,KAAKs/B,GAAGhzB,CAAC,CAAC,EAAA6yB,CAAGlzB,EAAEC,GAAG,GAAGD,EAAEC,EAAE,MAAM,IAAIzM,MAAM,cAAc,MAAM0M,EAAEnM,KAAKghB,GAAG3E,KAAK/P,GAAGL,EAAEC,GAAGlM,KAAKu/B,KAAKpzB,EAAE/D,EAAE,IAAIib,GAAGrjB,KAAKg/B,GAAG,CAAC,EAAE,IAAI,IAAIj2B,EAAE,IAAIsa,GAAGrjB,KAAKg/B,GAAG,CAAC,EAAE,EAAE,MAAM91B,EAAE,IAAIma,GAAGrjB,KAAKg/B,GAAG,CAAC,IAAI,EAAE,IAAIv7B,EAAE,GAAG,OAAOA,EAAEtC,KAAKiH,EAAE+2B,GAAGlzB,EAAEC,EAAEI,GAAGvD,EAAEo2B,GAAGlzB,EAAEC,EAAEI,GAAGpD,EAAEi2B,GAAGlzB,EAAEC,EAAEI,IAAI,SAASL,GAAG,GAAGA,EAAEhJ,OAAO,EAAE,MAAMxD,MAAM,kBAAkB,IAAIyM,EAAED,EAAE,GAAG,IAAI,IAAIE,EAAE,EAAEA,EAAEF,EAAEhJ,SAASkJ,EAAEF,EAAEE,GAAGD,IAAIA,EAAED,EAAEE,IAAI,OAAOD,CAAC,CAAvH,CAAyHzI,EAAE,CAAC,EAAA+7B,GAAK,MAAMvzB,EAAEjM,KAAKghB,GAAG9U,EAAED,EAAE4P,KAAK,GAAG,OAAO3P,EAAE,YAAYlM,KAAKo/B,GAAG,IAAI,MAAMjzB,EAAEF,EAAEoQ,KAAK/P,EAAEtM,KAAKq/B,GAAGlzB,EAAE,EAAED,GAAG9D,EAAEpI,KAAKq/B,GAAG,EAAEnzB,GAAGnD,EAAE/I,KAAKghB,GAAGtI,IAAI+mB,eAAez/B,KAAK0/B,KAAK,EAAE,EAAEx2B,EAAEH,EAAEtF,EAAE0I,EAAE,EAAEpD,EAAEoB,EAAEnE,KAAK2Q,IAAIrK,EAAElE,GAAG9G,EAAE0E,KAAK0Q,IAAIpK,EAAElE,GAAG,GAAG+B,IAAI7I,EAAE,YAAYtB,KAAKo/B,GAAG,IAAI,IAAIt0B,EAAE9K,KAAKm/B,GAAGh1B,EAAE7I,GAAGyJ,EAAEZ,EAAEW,EAAEC,GAAGA,EAAE,EAAED,EAAE,EAAE,MAAMiB,EAAE5B,GAAG7I,EAAE,KAAK,IAAI0K,EAAE,KAAK3E,EAAE,EAAE,IAAI,IAAI8E,EAAEhC,EAAEY,EAAEoB,EAAE7K,EAAE6K,GAAGrB,EAAE,CAAC,MAAMwB,EAAEtM,KAAKs/B,GAAGnzB,EAAED,GAAE,GAAI,OAAOF,GAAGhG,KAAKyb,IAAInV,EAAEN,GAAGhM,KAAKu/B,MAAOjzB,EAAEpD,GAAGoD,EAAE7I,IAAI4D,EAAErH,KAAKo/B,GAAGn8B,QAAQjD,KAAKo/B,GAAG/3B,GAAG62B,GAAG5xB,EAAEtM,KAAKo/B,GAAG/3B,GAAGs4B,GAAG1zB,EAAE2zB,GAAGzzB,IAAInM,KAAKo/B,GAAGj+B,KAAK,CAAC+8B,GAAG5xB,EAAEqzB,GAAG1zB,EAAE2zB,GAAGzzB,KAAK9E,IAAI2E,EAAEM,EAAEL,EAAEvH,OAAOoG,EAAE9K,KAAKm/B,GAAGhzB,EAAEJ,EAAEzK,IAAK,CAACtB,KAAKo/B,GAAGn8B,OAAOoE,CAAC,CAAC,EAAAq3B,GAAK,OAAO1+B,KAAKo/B,EAAE,CAAC,EAAAM,GAAK,OAAO1/B,KAAKghB,GAAG3J,GAAG,CAAC,EAAAkoB,GAAK,OAAOv5B,KAAK+Z,KAAK,IAAI/f,KAAK0/B,KAAK,EAAE,SAASnc,GAAGtX,GAAG,OAAOA,EAAEsa,QAAQsX,KAAI,CAAG5xB,EAAEC,IAAIW,EAAEZ,EAAE+V,MAAMnV,EAAEX,EAAE8V,MAAO,CAAC,IAAIwB,IAAI,SAASvX,GAAGA,EAAEA,EAAEqW,OAAO,GAAG,SAASrW,EAAEA,EAAE4zB,YAAY,GAAG,cAAc5zB,EAAEA,EAAE6zB,WAAW,GAAG,aAAa7zB,EAAEA,EAAE8zB,aAAa,GAAG,cAAc,CAArI,CAAuIvc,KAAKA,GAAG,CAAA,IAAK,MAAMC,GAAG,IAAIvI,GAAGyI,GAAG,IAAI1I,GAAG,IAAI,GAAG,MAAM2I,GAAG,WAAApM,CAAYvL,EAAEC,EAAEC,EAAEG,GAAGtM,KAAKggC,GAAG,EAAEhgC,KAAKigC,GAAG,KAAKjgC,KAAK80B,GAAG,KAAK90B,KAAKkgC,GAAG,KAAKlgC,KAAKmgC,GAAG,CAACC,IAAG,EAAGC,GAAG,MAAMrgC,KAAKsgC,GAAG,EAAEtgC,KAAKugC,GAAG,EAAEvgC,KAAKwgC,GAAG,IAAIjpB,EAAEvX,KAAKygC,GAAG,IAAIlpB,EAAEvX,KAAK0gC,GAAG,GAAG1gC,KAAK2gC,GAAG,KAAK3gC,KAAK4gC,GAAG,KAAK5gC,KAAK6gC,GAAG,KAAK7gC,KAAK8gC,GAAG,KAAK9gC,KAAK48B,GAAGjZ,GAAG3jB,KAAK+gC,GAAG3d,GAAG,MAAMpjB,KAAKghC,GAAG/0B,EAAEjM,KAAKojB,GAAGlX,EAAElM,KAAKihC,GAAG90B,EAAEnM,KAAKkhC,GAAG50B,EAAEtM,KAAKmhC,GAAG,IAAI7d,GAAGtjB,KAAK,IAAIA,KAAKohC,GAAGxZ,KAAK5nB,MAAMA,KAAKqhC,GAAGzZ,KAAK5nB,MAAM,CAAC,EAAAq9B,GAAK,OAAOr9B,KAAKghC,EAAE,CAAC,CAAAtoB,GAAI,OAAO1Y,KAAKojB,EAAE,CAAC,EAAAwS,CAAG3pB,GAAG,GAAG0L,EAAE3X,KAAKojB,GAAGnX,GAAGjM,KAAKu9B,UAAK,IAAStxB,EAAEuP,MAAMxb,KAAKshC,GAAG,CAACtR,GAAG/jB,EAAEuP,YAAO,IAASvP,EAAEs1B,aAAa,CAAC,MAAMr1B,EAAEU,EAAEX,EAAEs1B,aAAap7B,KAAKgG,EAAES,EAAEX,EAAEs1B,aAAaC,QAAQ,GAAGt1B,EAAE,GAAGA,EAAE,EAAE,MAAM,IAAIzM,MAAM,4DAA4DyM,KAAK,GAAGC,EAAE,GAAGA,EAAE,EAAE,MAAM,IAAI1M,MAAM,+DAA+D0M,KAAK,GAAGD,EAAEC,EAAE,EAAE,MAAM,IAAI1M,MAAM,+DAA+DyM,EAAEC,KAAKnM,KAAKyhC,KAAKzhC,KAAK4gC,GAAG,IAAI,CAAC,CAAC,EAAAc,GAAK,OAAO1hC,KAAKojB,GAAGue,SAAS,CAAC,EAAAj9B,GAAK,OAAO,IAAI1E,KAAKojB,GAAG5H,IAAI,CAAC,EAAAqY,GAAK,OAAO,IAAI7zB,KAAKojB,GAAG5H,IAAI,CAAC,EAAAomB,GAAK,OAAO,IAAI5hC,KAAKojB,GAAG5H,IAAI,CAAC,EAAAwU,GAAK,MAAM,CAAC3K,GAAGrlB,KAAKojB,GAAGue,UAAUE,GAAG7hC,KAAKojB,GAAG0e,YAAY9R,GAAGhwB,KAAKojB,GAAG5H,KAAK,CAAC,EAAA8lB,CAAGr1B,GAAG,MAAMC,EAAElM,KAAKgwB,KAAK,IAAI7jB,EAAE,UAAK,IAASF,EAAEoZ,KAAKrlB,KAAKojB,GAAGue,UAAU11B,EAAEoZ,SAAI,IAASpZ,EAAE+jB,KAAKhwB,KAAKojB,GAAG5H,KAAKvP,EAAE+jB,GAAG,IAAI/jB,EAAE+jB,IAAI,IAAI/jB,EAAE+jB,KAAKhwB,KAAKojB,GAAGue,WAAU,GAAI3hC,KAAKmgC,GAAGC,IAAG,GAAI,IAAIl0B,EAAE8jB,IAAI/jB,EAAE+jB,KAAK9jB,EAAE8jB,KAAM,SAAS/jB,EAAEC,GAAG,GAAG,OAAOD,EAAE,OAAM,EAAG,MAAME,EAAE4yB,GAAG9yB,EAAEooB,KAAKnoB,GAAGI,EAAEyyB,GAAG9yB,EAAEqoB,KAAKpoB,GAAG,OAAO+L,SAAS9L,IAAI8L,SAAS3L,EAAE,CAAtG,CAAwGtM,KAAK80B,GAAG90B,KAAK+gC,KAA0B50B,EAAEgX,GAAGnjB,KAAK80B,GAAG90B,KAAK+gC,IAAI,OAAO50B,GAAGnM,KAAK+hC,GAAG51B,IAA9DnM,KAAKojB,GAAGue,WAAU,GAAiD,IAAI11B,EAAE+jB,IAAI/jB,EAAE+jB,KAAK9jB,EAAE8jB,KAAK7jB,EAAE+W,GAAGljB,KAAK80B,GAAG90B,KAAK+gC,IAAI,OAAO50B,GAAGnM,KAAK+hC,GAAG51B,IAAI,MAAMG,EAAEJ,EAAE8jB,KAAKhwB,KAAKojB,GAAG5H,KAAKlP,IAAI,IAAIJ,EAAE8jB,IAAIhwB,KAAK6zB,OAAO7zB,KAAKu9B,KAAKjxB,IAAI,IAAIJ,EAAE8jB,IAAIhwB,KAAK4hC,OAAO5hC,KAAKu9B,UAAK,IAAStxB,EAAE41B,IAAI31B,EAAE21B,KAAK51B,EAAE41B,KAAK7hC,KAAKojB,GAAG0e,YAAY71B,EAAE41B,GAAG7hC,KAAKgiC,MAAMhiC,KAAKygC,GAAG7zB,EAAEV,EAAElM,KAAKgwB,KAAK,CAAC,EAAAiS,GAAK,OAAOjiC,KAAKygC,EAAE,CAAC,CAAAppB,GAAI,OAAOrX,KAAKihC,GAAG9nB,QAAQ,CAAC,EAAAkD,GAAK,OAAOrc,KAAKggC,EAAE,CAAC,EAAAkC,CAAGj2B,GAAGjM,KAAKggC,KAAK/zB,IAAIjM,KAAKggC,GAAG/zB,EAAEjM,KAAKyhC,KAAKzhC,KAAK4gC,GAAG,KAAK,CAAC,EAAAuB,GAAK,GAAGniC,KAAKigC,GAAG,OAAOjgC,KAAKigC,GAAG,MAAMh0B,EAAEjM,KAAKqc,KAAKrc,KAAKoiC,KAAKpiC,KAAKqiC,KAAK,OAAOriC,KAAKigC,GAAGh0B,EAAEA,CAAC,CAAC,EAAA+oB,GAAK,OAAOh1B,KAAKsiC,KAAKtiC,KAAK80B,EAAE,CAAC,EAAAiN,CAAG91B,EAAEC,GAAG,MAAMC,EAAEnM,KAAK80B,IAAI5oB,GAAG,OAAOC,GAAG,OAAOF,GAAG,OAAOE,IAAIA,EAAEgoB,GAAGloB,MAAMjM,KAAK4gC,GAAG,KAAK5gC,KAAK80B,GAAG7oB,EAAE,CAAC,EAAAkV,GAAK,OAAOnhB,KAAKsiC,KAAK,IAAItiC,KAAKggC,KAAKhgC,KAAK80B,IAAI90B,KAAK80B,GAAG3T,IAAI,CAAC,EAAAohB,CAAGt2B,GAAG,OAAOjM,KAAK6hC,KAAK51B,EAAEjM,KAAKqc,KAAK,EAAEpQ,CAAC,CAAC,EAAAgQ,CAAGhQ,EAAEC,GAAG,OAAOlM,KAAK6zB,KAAK5nB,EAAE2W,GAAG3W,EAAEC,GAAGlM,KAAK4hC,OAAO31B,EAAE8W,GAAG9W,EAAEC,IAAIlM,KAAKqhC,GAAGp1B,EAAEC,EAAE,CAAC,EAAA+d,CAAGhe,EAAEC,EAAEC,GAAGnM,KAAKsiC,KAAK,MAAMh2B,EAAEtM,KAAKqiC,KAAKj6B,EAAEyE,EAAE7M,KAAKg1B,MAAMjsB,EAAEX,EAAEisB,KAAKnrB,EAAEd,EAAEksB,KAAK7wB,EAAEzD,KAAKmiC,KAAK,EAAEh4B,EAAEnK,KAAK6hC,KAAKvgC,EAAEmC,GAAGyF,EAAEH,GAAG+B,OAAE,IAASqB,EAAE,EAAEA,EAAE6N,KAAKjP,OAAE,IAASoB,EAAEF,EAAEhJ,OAAOkJ,EAAE4N,GAAGhO,EAAE/L,KAAKwiC,KAAK,IAAI,IAAIr2B,EAAErB,EAAEqB,EAAEpB,EAAEoB,IAAI,CAAC,MAAM/D,EAAE6D,EAAEE,GAAGjD,EAAEd,EAAEyS,GAAG,GAAG+J,MAAM1b,GAAG,SAAS,IAAIzF,EAAEyF,EAAE,OAAO6C,IAAItI,EAAEsI,EAAE3D,EAAEyS,GAAG3O,IAAI,MAAMpB,EAAEwB,EAAEhL,GAAGmC,EAAEsF,GAAGgC,EAAEZ,EAAEW,EAAE9K,KAAKggC,GAAG,EAAEl1B,EAAE1C,EAAE+R,GAAGpP,CAAC,CAAC,CAAC,EAAAqgB,CAAGnf,EAAEC,EAAEC,GAAGnM,KAAKsiC,KAAK,MAAMh2B,EAAEtM,KAAKqiC,KAAKj6B,EAAEyE,EAAE7M,KAAKg1B,MAAMjsB,EAAEX,EAAEisB,KAAKnrB,EAAEd,EAAEksB,KAAK7wB,EAAEzD,KAAKmiC,KAAK,EAAEh4B,EAAEnK,KAAK6hC,KAAKvgC,EAAEmC,GAAGyF,EAAEH,GAAG+B,OAAE,IAASqB,EAAE,EAAEA,EAAE6N,KAAKjP,OAAE,IAASoB,EAAEF,EAAEhJ,OAAOkJ,EAAE4N,GAAGhO,EAAE/L,KAAKwiC,KAAK,IAAI,IAAIr2B,EAAErB,EAAEqB,EAAEpB,EAAEoB,IAAI,CAAC,MAAM/D,EAAE6D,EAAEE,GAAG,IAAIjD,EAAEd,EAAEkjB,GAAG7nB,EAAE2E,EAAEmjB,GAAGzgB,EAAE1C,EAAEojB,GAAGzgB,EAAE3C,EAAEqjB,GAAG,OAAO1f,IAAI7C,EAAE6C,EAAE3D,EAAEkjB,GAAGpf,GAAGzI,EAAEsI,EAAE3D,EAAEmjB,GAAGrf,GAAGpB,EAAEiB,EAAE3D,EAAEojB,GAAGtf,GAAGnB,EAAEgB,EAAE3D,EAAEqjB,GAAGvf,IAAI,IAAIF,EAAEM,EAAEhL,GAAG4H,EAAEH,GAAG1B,EAAE8C,EAAE6B,EAAEhM,KAAKggC,GAAG,EAAEh0B,EAAE5D,EAAE8iB,GAAG7jB,EAAE2E,EAAEM,EAAEhL,GAAGmC,EAAEsF,GAAG1B,EAAE8C,EAAE6B,EAAEhM,KAAKggC,GAAG,EAAEh0B,EAAE5D,EAAE2iB,GAAG1jB,EAAE2E,EAAEM,EAAEhL,GAAGwJ,EAAE/B,GAAG1B,EAAE8C,EAAE6B,EAAEhM,KAAKggC,GAAG,EAAEh0B,EAAE5D,EAAE4iB,GAAG3jB,EAAE2E,EAAEM,EAAEhL,GAAGyJ,EAAEhC,GAAG1B,EAAE8C,EAAE6B,EAAEhM,KAAKggC,GAAG,EAAEh0B,EAAE5D,EAAE+iB,GAAG9jB,CAAC,CAAC,CAAC,EAAAmc,CAAGvX,EAAEC,GAAG,MAAMC,EAAEnM,KAAKohC,GAAGn1B,EAAEC,GAAG,OAAOlM,KAAKyiC,GAAGt2B,EAAED,EAAE,CAAC,EAAAu2B,CAAGx2B,EAAEC,GAAG,IAAIC,EAAEF,EAAE,OAAOjM,KAAK6zB,KAAK1nB,EAAE,SAASF,EAAEC,GAAG,OAAOA,EAAE,IAAID,GAAGA,GAAGA,EAAE,IAAIC,EAAEA,CAAC,CAA1C,CAA4CC,EAAED,GAAGlM,KAAK4hC,OAAOz1B,EAAE,SAASF,EAAEC,GAAG,OAAOD,GAAG,IAAIC,EAAE,IAAID,GAAGA,GAAGA,EAAE,IAAIC,EAAEA,CAAC,CAAjD,CAAmDC,EAAED,IAAIC,CAAC,CAAC,EAAAyxB,GAAK,OAAO59B,KAAK0gC,EAAE,CAAC,EAAAgC,GAAK,GAAG1iC,KAAK2gC,GAAG,OAAO3gC,KAAK2gC,GAAG,IAAI10B,EAAE,GAAG,IAAI,IAAIC,EAAE,EAAEA,EAAElM,KAAK0gC,GAAGz9B,OAAOiJ,IAAI,CAAC,MAAMC,EAAEnM,KAAK0gC,GAAGx0B,GAAG,OAAOC,EAAE6V,MAAM7V,EAAE8V,GAAG/V,EAAE,GAAGD,EAAE9K,KAAKgL,EAAE,CAAC,OAAOF,EAAEsX,GAAGtX,GAAGjM,KAAK2gC,GAAG10B,EAAEjM,KAAK2gC,EAAE,CAAC,EAAAgC,CAAG12B,IAAG,IAAKjM,KAAK0gC,GAAG9E,QAAQ3vB,KAAKjM,KAAK0gC,GAAGv/B,KAAK8K,GAAGjM,KAAKu9B,KAAKv9B,KAAK4iC,KAAK,CAAC,EAAAC,CAAG52B,GAAG,MAAMC,EAAElM,KAAK0gC,GAAG9E,QAAQ3vB,GAAG,IAAG,IAAKC,EAAE,MAAM,IAAIzM,MAAM,mCAAmCO,KAAK0gC,GAAGhpB,OAAOxL,EAAE,GAAG,IAAIlM,KAAK0gC,GAAGz9B,SAASjD,KAAKshC,GAAG,CAACjc,IAAG,IAAKrlB,KAAK+hC,GAAG,OAAO/hC,KAAKu9B,KAAKv9B,KAAK4iC,IAAI,CAAC,EAAA/mB,GAAK,IAAI5P,EAAE,KAAK,IAAI,MAAMC,KAAKlM,KAAK0gC,GAAG,CAAC,MAAMv0B,EAAED,EAAE2P,KAAK,OAAO1P,IAAK,OAAOF,GAAGE,EAAE2vB,GAAG7vB,EAAE6vB,MAAM7vB,EAAEE,EAAG,CAAC,OAAO,OAAOF,EAAE,KAAKA,EAAEiQ,EAAE,CAAC,EAAA2lB,GAAK,OAAO7hC,KAAKojB,GAAG0e,WAAW,CAAC,EAAApD,GAAK,MAAMzyB,EAAE,OAAOjM,KAAK6b,KAAK,GAAG,OAAO7b,KAAK4gC,KAAK30B,GAAGjM,KAAK4gC,GAAGkC,KAAK72B,GAAG,OAAOjM,KAAK4gC,GAAGlC,GAAG1+B,KAAKmhC,GAAG3B,KAAK,MAAMtzB,EAAElM,KAAKmhC,GAAGzC,KAAK,OAAO1+B,KAAK4gC,GAAG,CAAClC,GAAGxyB,EAAE42B,GAAG72B,GAAGjM,KAAKwgC,GAAG5zB,IAAIV,CAAC,CAAC,EAAA62B,GAAK,OAAO/iC,KAAKwgC,EAAE,CAAC,EAAAwC,CAAG/2B,GAAGjM,KAAK6zB,MAAM7zB,KAAK4hC,MAAM,OAAO5hC,KAAK6gC,IAAI,OAAO7gC,KAAKkgC,KAAKlgC,KAAKmhB,OAAOnhB,KAAK6gC,GAAG7gC,KAAKggC,GAAG/zB,EAAEjM,KAAKkgC,GAAGrzB,EAAE7M,KAAKg1B,MAAMZ,MAAM,CAAC,EAAA6O,CAAGh3B,GAAG,GAAGjM,KAAK6zB,MAAM7zB,KAAK4hC,KAAK,OAAO,GAAG,OAAO5hC,KAAK6gC,GAAG,OAAO7gC,KAAKshC,GAAG,CAACjc,IAAG,KAAMpZ,EAAEjM,KAAKggC,GAAG/zB,GAAG,IAAIA,EAAE,GAAG,IAAIC,GAAGlM,KAAK6gC,GAAG,IAAI7gC,KAAKggC,GAAG,KAAK/zB,EAAE,IAAIjM,KAAKggC,GAAG,IAAI,MAAM7zB,EAAEU,EAAE7M,KAAKkgC,IAAI9L,KAAKloB,EAAElG,KAAK2Q,IAAIzK,EAAE,IAAIC,EAAEqoB,GAAGtoB,GAAGlM,KAAK+hC,GAAG51B,EAAE,CAAC,EAAA+2B,GAAKljC,KAAK6zB,MAAM7zB,KAAK4hC,OAAO5hC,KAAK6gC,GAAG,KAAK7gC,KAAKkgC,GAAG,KAAK,CAAC,EAAAiD,CAAGl3B,GAAGjM,KAAK0hC,MAAM,OAAO1hC,KAAK8gC,IAAI,OAAO9gC,KAAKkgC,KAAKlgC,KAAKmhB,OAAOnhB,KAAK8gC,GAAG70B,EAAEjM,KAAKkgC,GAAGrzB,EAAE7M,KAAKg1B,MAAMZ,MAAM,CAAC,EAAAgP,CAAGn3B,GAAG,GAAGjM,KAAK0hC,KAAK,OAAO,GAAG,OAAO1hC,KAAK8gC,GAAG,OAAO,MAAM50B,EAAEW,EAAE7M,KAAKg1B,MAAMT,MAAMv0B,KAAKmiC,KAAK,GAAG,IAAIh2B,EAAEF,EAAEjM,KAAK8gC,GAAG9gC,KAAK6hC,OAAO11B,IAAG,GAAI,MAAMG,EAAEH,EAAED,EAAE9D,EAAEyE,EAAE7M,KAAKkgC,IAAI9L,KAAKhsB,EAAEqsB,GAAGnoB,GAAGtM,KAAK+hC,GAAG35B,GAAE,GAAIpI,KAAK4gC,GAAG,IAAI,CAAC,EAAAyC,GAAKrjC,KAAK0hC,MAAM,OAAO1hC,KAAK8gC,KAAK9gC,KAAK8gC,GAAG,KAAK9gC,KAAKkgC,GAAG,KAAK,CAAC,EAAAvD,GAAK,OAAO38B,KAAK48B,IAAI58B,KAAKu9B,KAAKv9B,KAAK48B,EAAE,CAAC,EAAAvb,CAAGpV,EAAEC,GAAG,OAAOlM,KAAKojB,GAAG5H,MAAM,KAAK,EAAE,OAAOxb,KAAKsjC,GAAG1gB,GAAG3W,EAAEC,IAAI,KAAK,EAAE,OAAOlM,KAAK28B,KAAKjW,OAAO3D,GAAG9W,EAAEC,IAAI,QAAQ,OAAOlM,KAAKu1B,GAAGtpB,GAAG,CAAC,EAAA2zB,CAAG3zB,GAAG,OAAOjM,KAAKojB,GAAG5H,MAAM,KAAK,EAAE,OAAOxb,KAAKsjC,GAAGr3B,GAAG,KAAK,EAAE,OAAOjM,KAAK28B,KAAKjW,OAAOza,GAAG,QAAQ,OAAOjM,KAAKu1B,GAAGtpB,GAAG,CAAC,EAAA6uB,CAAG7uB,GAAG,OAAOjM,KAAKu1B,GAAGtpB,EAAEY,EAAE7M,KAAKujC,MAAM5G,KAAK,CAAC,EAAA5B,CAAG9uB,EAAEC,GAAG,OAAOD,EAAE2W,GAAG3W,EAAEC,GAAGlM,KAAKsjC,GAAGr3B,EAAEwX,GAAG,CAAC,EAAA+f,GAAK,OAAOxjC,KAAK0gC,EAAE,CAAC,EAAA+C,CAAGx3B,GAAGjM,KAAKmgC,GAAG,CAACE,GAAGp0B,EAAEm0B,IAAG,EAAG,CAAC,EAAA3b,GAAKzkB,KAAK0gC,GAAG7+B,QAASoK,GAAGA,EAAEwY,KAAM,CAAC,EAAA8Y,GAAKv9B,KAAK4gC,GAAG,KAAK,MAAM30B,EAAEjM,KAAKujC,KAAK,IAAIr3B,EAAE,IAAI,OAAOD,IAAIC,EAAElG,KAAKC,MAAM,EAAEgG,EAAEywB,OAAO18B,KAAK48B,GAAGjZ,GAAG3jB,KAAK6zB,MAAM7zB,KAAK48B,GAAGnZ,GAAGvX,EAAE,KAAKlM,KAAK4hC,MAAM5hC,KAAK48B,GAAG,IAAI3hB,GAAG,IAAI,GAAG/O,EAAE,KAAK,OAAOD,IAAIjM,KAAK48B,GAAG3wB,EAAE0wB,MAAM38B,KAAKmhC,GAAG,IAAI7d,GAAGtjB,KAAKkM,EAAElM,KAAKohC,GAAGxZ,KAAK5nB,MAAMA,KAAKqhC,GAAGzZ,KAAK5nB,OAAOA,KAAKmhC,GAAG3B,IAAI,CAAC,EAAAoD,GAAK5iC,KAAK2gC,GAAG,IAAI,CAAC,EAAA4C,GAAK,OAAOvjC,KAAK0gC,GAAG,IAAI,IAAI,CAAC,EAAA0B,GAAK,OAAOpiC,KAAK6hC,KAAK7hC,KAAKojB,GAAGme,aAAaC,OAAOxhC,KAAKqc,KAAKrc,KAAKugC,GAAGvgC,KAAKojB,GAAGme,aAAap7B,IAAInG,KAAKqc,KAAKrc,KAAKsgC,EAAE,CAAC,EAAA+B,GAAK,OAAOriC,KAAK6hC,KAAK7hC,KAAKojB,GAAGme,aAAap7B,IAAInG,KAAKqc,KAAKrc,KAAKsgC,GAAGtgC,KAAKojB,GAAGme,aAAaC,OAAOxhC,KAAKqc,KAAKrc,KAAKugC,EAAE,CAAC,EAAA+B,GAAKtiC,KAAKmgC,GAAGC,KAAKpgC,KAAKmgC,GAAGC,IAAG,EAAGpgC,KAAK0jC,KAAK,CAAC,EAAAjC,GAAKzhC,KAAKigC,GAAG,IAAI,CAAC,EAAAoB,CAAGp1B,EAAEC,GAAG,GAAGlM,KAAKsiC,KAAKtiC,KAAKmhB,KAAK,OAAO,EAAElV,EAAEjM,KAAK0E,MAAMuH,EAAEgX,GAAGhX,EAAEjM,KAAK+gC,IAAI90B,EAAE,MAAME,EAAEU,EAAE7M,KAAKg1B,MAAM1oB,EAAEtM,KAAKqiC,MAAMriC,KAAKmiC,KAAK,IAAIl2B,EAAEE,EAAEkoB,MAAMloB,EAAEooB,KAAK,OAAOv0B,KAAKuiC,GAAGj2B,EAAE,CAAC,EAAA80B,CAAGn1B,EAAEC,GAAG,GAAGlM,KAAKsiC,KAAKtiC,KAAKmhB,KAAK,OAAO,EAAE,MAAMhV,EAAEnM,KAAKuiC,GAAGt2B,GAAGK,EAAEO,EAAE7M,KAAKg1B,MAAM5sB,EAAEkE,EAAE+nB,KAAK/nB,EAAEioB,OAAOpoB,EAAEnM,KAAKqiC,OAAOriC,KAAKmiC,KAAK,IAAI,OAAOniC,KAAK0E,KAAKq6B,GAAG32B,EAAEpI,KAAK+gC,IAAI34B,CAAC,CAAC,EAAA45B,GAAKhiC,KAAK4gC,GAAG,KAAK5gC,KAAKmhC,GAAG3B,IAAI,CAAC,EAAAkE,GAAK,MAAMz3B,EAAEjM,KAAKmgC,GAAGE,GAAG,GAAG,OAAOp0B,EAAE,OAAO,IAAIC,EAAE,KAAK,MAAMC,EAAEnM,KAAKwjC,KAAK,IAAIl3B,EAAE,EAAElE,EAAE,EAAE,IAAI,MAAMW,KAAKoD,EAAE,CAAC,IAAIpD,EAAE6S,KAAK,SAAS,MAAMzP,EAAEpD,EAAE8S,KAAK,GAAG,OAAO1P,EAAE,SAAS,MAAMjD,EAAEH,EAAEgxB,GAAG9tB,EAAEyc,KAAKzc,EAAEiT,MAAM,IAAIzb,EAAEyF,GAAGA,EAAE8rB,KAAK,GAAG,OAAOvxB,EAAE,CAAC,OAAOzD,KAAKojB,GAAG5H,MAAM,KAAK,EAAE/X,EAAEyf,GAAGzf,EAAEzD,KAAK+gC,IAAI,MAAM,KAAK,EAAEt9B,EAAEof,GAAGpf,EAAE0I,EAAE+P,IAAI,MAAM,KAAK,EAAEzY,EAAEuf,GAAGvf,EAAE0I,EAAE+P,IAAI,GAAGhQ,EAAE,OAAOA,EAAEzI,EAAEyI,EAAEga,GAAGrZ,EAAEpJ,IAAI,OAAOyF,EAAE,CAAC,MAAM+C,EAAE/C,EAAE+rB,KAAK,OAAOhpB,IAAIK,EAAEtG,KAAK2Q,IAAIrK,EAAEL,EAAE6mB,OAAO1qB,EAAEpC,KAAK2Q,IAAIvO,EAAE6D,EAAEgnB,OAAO,CAAC,CAAC,CAAC,GAAG3mB,IAAItM,KAAKsgC,IAAIl4B,IAAIpI,KAAKugC,KAAKvgC,KAAKsgC,GAAGh0B,EAAEtM,KAAKugC,GAAGn4B,EAAEpI,KAAK4gC,GAAG,KAAK5gC,KAAKyhC,MAAM,OAAOv1B,EAAE,CAAC,GAAGA,EAAEmoB,OAAOnoB,EAAEooB,KAAK,CAAC,MAAMroB,EAAEjM,KAAKujC,KAAKp3B,EAAE,GAAG,OAAOF,GAAGjM,KAAK6zB,MAAM7zB,KAAK4hC,KAAK,EAAE31B,EAAEywB,MAAM18B,KAAK0E,OAAOwH,EAAEiX,GAAGjX,EAAElM,KAAK+gC,KAAK70B,EAAE,IAAIqU,GAAGrU,EAAEmoB,KAAKloB,EAAED,EAAEooB,KAAKnoB,GAAGnM,KAAK0E,OAAOwH,EAAEgX,GAAGhX,EAAElM,KAAK+gC,IAAI,CAAC,GAAG/gC,KAAK0E,KAAK,CAAC,MAAMuH,EAAEkX,GAAGjX,EAAElM,KAAK+gC,IAAI50B,EAAEiX,GAAGnX,GAAG,GAAGlD,EAAEoD,EAAEjD,EAAElJ,KAAK+gC,GAAGh4B,EAAE61B,KAAK11B,EAAE01B,IAAI71B,EAAE81B,KAAK31B,EAAE21B,GAAG,CAAC,MAAMvyB,EAAE,OAAOtM,KAAKkgC,GAAG/c,GAAGnjB,KAAKkgC,GAAGlgC,KAAK+gC,IAAI,KAAK/gC,KAAK+gC,GAAG50B,EAAED,EAAEgX,GAAGjX,EAAEE,GAAG,OAAOG,IAAItM,KAAKkgC,GAAGhd,GAAG5W,EAAEH,GAAG,CAAC,CAACnM,KAAK+hC,GAAG71B,EAAE,MAAM,OAAOlM,KAAK80B,KAAK90B,KAAK+hC,GAAG,IAAIxhB,IAAG,GAAI,KAAKvgB,KAAK+gC,GAAG3d,GAAG,OAAO,IAAIra,EAAEG,EAAElJ,KAAKmgC,GAAGC,IAAG,CAAE,CAAC,EAAAoC,GAAK,OAAOxiC,KAAK6zB,KAAKjR,GAAG5iB,KAAK4hC,KAAK7e,GAAG/iB,KAAK0E,KAAKuH,GAAGgX,GAAGhX,EAAEjM,KAAK+gC,IAAI,IAAI,CAAC,EAAA4C,CAAG13B,EAAEC,EAAEC,GAAG,YAAO,IAASD,QAAG,IAASC,IAAIA,EAAEnM,KAAK28B,MAAMxwB,EAAEua,OAAOza,IAAIC,EAAED,EAAE,CAAC,EAAAspB,CAAGtpB,EAAEC,GAAG,OAAOlM,KAAK2jC,GAAG13B,EAAEjM,KAAKkhC,GAAG0C,eAAe13B,EAAE,CAAC,EAAAo3B,CAAGr3B,EAAEC,GAAG,OAAOlM,KAAK2jC,GAAG13B,EAAEjM,KAAKkhC,GAAG2C,oBAAoB33B,EAAE,EAAE,MAAM2X,GAAG,WAAArM,CAAYvL,EAAEC,GAAGlM,KAAK0gC,GAAG,GAAG1gC,KAAK8jC,GAAG,IAAIhhB,IAAI9iB,KAAKggC,GAAG,EAAEhgC,KAAK+jC,GAAG,EAAE/jC,KAAKgkC,GAAG,IAAIhkC,KAAK2gC,GAAG,KAAK3gC,KAAKikC,GAAG,IAAI1sB,EAAEvX,KAAK+4B,GAAG9sB,EAAEjM,KAAK2hB,GAAGzV,EAAElM,KAAKkkC,GAAG,IAAIxhB,GAAG1iB,MAAM,MAAMmM,EAAED,EAAEwM,IAAI1Y,KAAKmkC,GAAGnkC,KAAKokC,GAAG,OAAOj4B,EAAEk4B,gBAAgBrkC,KAAKskC,GAAGtkC,KAAKokC,GAAG,QAAQj4B,EAAEo4B,iBAAiBvkC,KAAKmkC,GAAGlC,KAAKx+B,EAAEzD,KAAKwkC,GAAG5c,KAAK5nB,KAAKA,KAAKmkC,IAAInkC,MAAMA,KAAKskC,GAAGrC,KAAKx+B,EAAEzD,KAAKwkC,GAAG5c,KAAK5nB,KAAKA,KAAKskC,IAAItkC,MAAMA,KAAKykC,GAAGt4B,EAAE,CAAC,EAAAs4B,CAAGx4B,GAAG,GAAGA,EAAEo4B,gBAAgBrkC,KAAKmkC,GAAGvO,GAAG3pB,EAAEo4B,gBAAgBp4B,EAAEs4B,iBAAiBvkC,KAAKskC,GAAG1O,GAAG3pB,EAAEs4B,iBAAiBt4B,EAAEy4B,eAAe1kC,KAAKmkC,GAAG5G,KAAKv9B,KAAKskC,GAAG/G,MAAMtxB,EAAE04B,mBAAmB,CAAC,MAAMz4B,EAAE4L,MAAMkC,KAAKha,KAAK8jC,GAAGc,UAAU,IAAI,MAAMz4B,KAAKD,EAAE,CAAC,MAAMA,EAAEW,EAAEV,EAAE,GAAG6P,MAAM9P,EAAE0pB,GAAG3pB,EAAE04B,oBAAoB14B,EAAEy4B,cAAcx4B,EAAEqxB,IAAI,CAAC,CAAC,CAAC,EAAAsH,CAAG54B,GAAG,OAAOA,GAAG,IAAI,OAAO,OAAOjM,KAAKmkC,GAAG,IAAI,QAAQ,OAAOnkC,KAAKskC,GAAG,OAAOtkC,KAAK8jC,GAAGpV,IAAIziB,GAAGW,EAAE5M,KAAK8jC,GAAGljC,IAAIqL,IAAI,GAAG+P,KAAK,IAAI,CAAC,CAAApF,GAAI5W,KAAKid,KAAK6nB,KAAKn4B,EAAE3M,MAAMA,KAAKmkC,GAAGlC,KAAKt1B,EAAE3M,MAAMA,KAAKskC,GAAGrC,KAAKt1B,EAAE3M,MAAMA,KAAK0gC,GAAG7+B,QAASoK,IAAIA,EAAE2K,GAAG3K,EAAE2K,GAAI,GAAG5W,KAAKikC,GAAGr3B,GAAG,CAAC,EAAAm4B,GAAK,OAAO/kC,KAAKgkC,EAAE,CAAC,EAAAgB,CAAG/4B,GAAGjM,KAAKgkC,GAAG/3B,CAAC,CAAC,EAAAgR,GAAK,OAAOjd,KAAK2hB,EAAE,CAAC,EAAAH,GAAK,OAAOxhB,KAAK+jC,EAAE,CAAC,EAAA1nB,GAAK,OAAOrc,KAAKggC,EAAE,CAAC,EAAAiF,CAAGh5B,GAAGjM,KAAK+jC,GAAG93B,EAAEjM,KAAKklC,IAAI,CAAC,EAAAhD,CAAGj2B,GAAGjM,KAAKggC,GAAG/zB,EAAEjM,KAAKmkC,GAAGjC,GAAGj2B,GAAGjM,KAAKskC,GAAGpC,GAAGj2B,GAAGjM,KAAK0gC,GAAG7+B,QAASqK,IAAI,GAAGlM,KAAKsvB,GAAGpjB,GAAG,CAAC,MAAMC,EAAED,EAAE8P,KAAK,OAAO7P,GAAGA,EAAE+1B,GAAGj2B,EAAE,CAAE,GAAGjM,KAAKklC,IAAI,CAAC,EAAAtH,GAAK,OAAO59B,KAAK0gC,EAAE,CAAC,EAAApR,CAAGrjB,GAAG,MAAMC,EAAED,EAAE+P,KAAK,OAAO,OAAO9P,GAAGlM,KAAKmkC,KAAKj4B,GAAGlM,KAAKskC,KAAKp4B,CAAC,CAAC,EAAAy2B,CAAG12B,EAAEC,EAAEC,GAAG,MAAMG,OAAE,IAASH,EAAEA,EAAEnM,KAAKmlC,KAAKC,GAAG,EAAEplC,KAAKqlC,GAAGp5B,EAAEC,EAAEI,EAAE,CAAC,EAAAu2B,CAAG52B,GAAG,MAAMC,EAAElM,KAAK0gC,GAAG9E,QAAQ3vB,GAAGU,GAAE,IAAKT,EAAE,yCAAyClM,KAAK0gC,GAAGhpB,OAAOxL,EAAE,GAAG,MAAMC,EAAEU,EAAEZ,EAAE+P,MAAMqhB,KAAK,GAAGr9B,KAAK8jC,GAAGpV,IAAIviB,GAAG,CAAC,MAAMD,EAAEU,EAAE5M,KAAK8jC,GAAGljC,IAAIuL,IAAIG,EAAEJ,EAAE0vB,QAAQ3vB,IAAG,IAAKK,IAAIJ,EAAEwL,OAAOpL,EAAE,GAAG,IAAIJ,EAAEjJ,QAAQjD,KAAK8jC,GAAGlV,OAAOziB,GAAG,CAAC,MAAMG,EAAEL,EAAE+P,KAAK1P,GAAGA,EAAEsxB,KAAKhC,QAAQ3vB,IAAI,GAAGK,EAAEu2B,GAAG52B,GAAG,OAAOK,IAAIA,EAAEs2B,KAAK5iC,KAAKslC,GAAGh5B,IAAItM,KAAK2gC,GAAG,IAAI,CAAC,EAAAnR,CAAGvjB,GAAG,OAAOA,IAAIjM,KAAKmkC,GAAG,OAAOl4B,IAAIjM,KAAKskC,GAAG,QAAQ,SAAS,CAAC,EAAAiB,GAAK,OAAOvlC,KAAKmkC,EAAE,CAAC,EAAAqB,GAAK,OAAOxlC,KAAKskC,EAAE,CAAC,EAAAmB,CAAGx5B,EAAEC,GAAGD,EAAE+2B,GAAG92B,EAAE,CAAC,EAAAw5B,CAAGz5B,EAAEC,GAAGD,EAAEg3B,GAAG/2B,GAAGlM,KAAKklC,IAAI,CAAC,EAAAS,CAAG15B,GAAGA,EAAEi3B,IAAI,CAAC,EAAA0C,CAAG35B,EAAEC,GAAGD,EAAEk3B,GAAGj3B,EAAE,CAAC,EAAA25B,CAAG55B,EAAEC,GAAGD,EAAEm3B,GAAGl3B,GAAGlM,KAAKklC,IAAI,CAAC,EAAAY,CAAG75B,GAAGA,EAAEo3B,IAAI,CAAC,EAAA6B,GAAKllC,KAAK0gC,GAAG7+B,QAASoK,IAAIA,EAAEwY,IAAK,EAAE,CAAC,EAAAlB,GAAK,IAAItX,EAAE,KAAK,OAAOjM,KAAK2hB,GAAGjJ,IAAI6rB,gBAAgBt5B,SAAS,IAAIjL,KAAKskC,GAAG1G,KAAK36B,OAAOgJ,EAAEjM,KAAKskC,GAAGtkC,KAAK2hB,GAAGjJ,IAAI2rB,eAAep5B,SAAS,IAAIjL,KAAKmkC,GAAGvG,KAAK36B,OAAOgJ,EAAEjM,KAAKmkC,GAAG,IAAInkC,KAAK0gC,GAAGz9B,SAASgJ,EAAEjM,KAAK0gC,GAAG,GAAG1kB,MAAM,OAAO/P,IAAIA,EAAEjM,KAAKskC,IAAIr4B,CAAC,CAAC,EAAAsjB,GAAK,IAAItjB,EAAE,KAAK,OAAOjM,KAAK2hB,GAAGjJ,IAAI6rB,gBAAgBt5B,QAAQgB,EAAEjM,KAAKskC,GAAGtkC,KAAK2hB,GAAGjJ,IAAI2rB,eAAep5B,UAAUgB,EAAEjM,KAAKmkC,IAAIl4B,CAAC,CAAC,EAAAq5B,CAAGr5B,GAAG,OAAOA,GAAGA,EAAEy1B,MAAM1hC,KAAK+lC,GAAG95B,EAAE,CAAC,EAAA+5B,CAAG/5B,GAAG,MAAMC,EAAElM,KAAK+4B,GAAGnP,KAAK3d,EAAEq1B,GAAG,CAACjc,IAAG,IAAK,OAAOnZ,GAAGD,EAAEw3B,GAAGv3B,GAAGlM,KAAKklC,IAAI,CAAC,EAAAe,GAAKjmC,KAAK+lC,GAAG/lC,KAAKmkC,IAAInkC,KAAK+lC,GAAG/lC,KAAKskC,GAAG,CAAC,EAAA4B,GAAKlmC,KAAKslC,GAAGtlC,KAAKmkC,IAAInkC,KAAKslC,GAAGtlC,KAAKskC,IAAItkC,KAAK0gC,GAAG7+B,QAASoK,IAAIjM,KAAKsvB,GAAGrjB,IAAIjM,KAAKslC,GAAGr5B,EAAE+P,KAAM,GAAGhc,KAAKklC,KAAKllC,KAAK2hB,GAAGkU,IAAI,CAAC,EAAA6M,GAAK,OAAO,OAAO1iC,KAAK2gC,KAAK3gC,KAAK2gC,GAAGpd,GAAGvjB,KAAK0gC,KAAK1gC,KAAK2gC,EAAE,CAAC,EAAAwF,GAAK,OAAOnmC,KAAKikC,EAAE,CAAC,EAAAmC,GAAK,OAAOpmC,KAAKkkC,EAAE,CAAC,EAAA6B,CAAG95B,GAAG,MAAMC,EAAED,EAAEu3B,KAAK,GAAGt3B,GAAGA,EAAEjJ,OAAO,IAAIjD,KAAK+4B,GAAG5X,KAAK,CAAC,MAAMjV,EAAElM,KAAK+4B,GAAGnP,KAAK,OAAO1d,GAAGD,EAAEw3B,GAAGv3B,EAAE,CAACD,EAAEwY,IAAI,CAAC,EAAA0gB,GAAK,MAAMl5B,EAAEjM,KAAK0iC,KAAK,GAAG,IAAIz2B,EAAEhJ,OAAO,MAAM,CAACojC,GAAG,EAAEjB,GAAG,GAAG,IAAIl5B,EAAE,EAAEC,EAAE,EAAE,IAAI,IAAIG,EAAE,EAAEA,EAAEL,EAAEhJ,OAAOqJ,IAAI,CAAC,MAAMlE,EAAE6D,EAAEK,GAAG0V,KAAK,OAAO5Z,IAAIA,EAAE8D,IAAIA,EAAE9D,GAAGA,EAAE+D,IAAIA,EAAE/D,GAAG,CAAC,MAAM,CAACi+B,GAAGn6B,EAAEk5B,GAAGj5B,EAAE,CAAC,EAAAk5B,CAAGp5B,EAAEC,EAAEC,GAAG,IAAIG,EAAEtM,KAAK6kC,GAAG34B,GAAG,GAAG,OAAOI,IAAIA,EAAEtM,KAAKokC,GAAGl4B,EAAElM,KAAK2hB,GAAGjJ,IAAIisB,qBAAqB3kC,KAAK0gC,GAAGv/B,KAAK8K,IAAI4O,GAAG3O,GAAG,CAAC,MAAMC,EAAEnM,KAAK8jC,GAAGljC,IAAIsL,IAAI,GAAGC,EAAEhL,KAAK8K,GAAGjM,KAAK8jC,GAAG/e,IAAI7Y,EAAEC,EAAE,CAACG,EAAEq2B,GAAG12B,GAAGA,EAAEiW,GAAG5V,GAAGL,EAAEgW,GAAG9V,GAAGnM,KAAKslC,GAAGh5B,GAAGtM,KAAK2gC,GAAG,IAAI,CAAC,EAAA6D,CAAGv4B,EAAEC,EAAEC,GAAGD,EAAE8jB,KAAK7jB,EAAE6jB,IAAIhwB,KAAK+lC,GAAG95B,EAAE,CAAC,EAAAm4B,CAAGn4B,EAAEC,GAAG,MAAMC,EAAEzL,OAAO4oB,OAAO,CAACre,SAAQ,EAAG02B,WAAU,GAAItpB,EAAEnM,IAAII,EAAE,IAAIsX,GAAG3X,EAAEE,EAAEnM,KAAK2hB,GAAGjJ,IAAIM,OAAOhZ,KAAK2hB,GAAGjJ,IAAIgsB,cAAc,OAAOp4B,EAAE41B,GAAGliC,KAAKqc,MAAM/P,CAAC,EAAE,MAAMwX,GAAG,WAAAtM,CAAYvL,EAAEC,EAAEC,EAAE,IAAInM,KAAKguB,GAAG,EAAEhuB,KAAKiuB,GAAG,EAAEjuB,KAAKkuB,GAAG,EAAEluB,KAAKouB,GAAG,IAAItL,IAAI9iB,KAAKmuB,GAAG,IAAIrL,IAAI9iB,KAAKsmC,GAAGr6B,EAAEjM,KAAKumC,GAAGr6B,EAAElM,KAAKquB,GAAGliB,CAAC,CAAC,EAAAq6B,CAAGv6B,GAAG,MAAMC,EAAED,EAAEuhB,KAAKrhB,EAAEnM,KAAKumC,GAAGE,SAASv6B,GAAGI,EAAEtM,KAAKouB,GAAGxtB,IAAIuL,GAAG,QAAG,IAASG,EAAE,OAAOA,EAAEo6B,GAAG,GAAG1mC,KAAKguB,KAAKhuB,KAAKquB,GAAG,CAAC,MAAMpiB,EAAEjM,KAAKmuB,GAAGvtB,IAAIZ,KAAKkuB,IAAIluB,KAAKmuB,GAAGS,OAAO5uB,KAAKkuB,IAAIluB,KAAKouB,GAAGQ,OAAOhiB,EAAEX,IAAIjM,KAAKkuB,KAAKluB,KAAKguB,IAAI,CAAC,MAAM5lB,EAAEpI,KAAKsmC,GAAGr6B,GAAG,OAAOjM,KAAKouB,GAAGrJ,IAAI5Y,EAAE,CAACu6B,GAAGt+B,EAAE0mB,GAAG9uB,KAAKiuB,KAAKjuB,KAAKmuB,GAAGpJ,IAAI/kB,KAAKiuB,GAAG9hB,GAAGnM,KAAKguB,KAAKhuB,KAAKiuB,KAAK7lB,CAAC,EAAE,MAAM2b,GAAG,WAAAvM,CAAYvL,EAAEC,GAAGS,EAAEV,GAAGC,EAAE,2BAA2BlM,KAAK2mC,GAAG16B,EAAEjM,KAAK4mC,GAAG16B,CAAC,CAAC,EAAAwc,GAAK,OAAO1oB,KAAK2mC,EAAE,CAAC,EAAAznB,GAAK,OAAOlf,KAAK4mC,EAAE,CAAC,EAAAC,GAAK,OAAO7mC,KAAK4mC,GAAG5mC,KAAK2mC,GAAG,CAAC,CAAC,EAAAjV,CAAGzlB,GAAG,OAAOjM,KAAK2mC,IAAI16B,GAAGA,GAAGjM,KAAK4mC,EAAE,CAAC,EAAAzS,CAAGloB,GAAG,OAAOjM,KAAK2mC,KAAK16B,EAAEyc,MAAM1oB,KAAK4mC,KAAK36B,EAAEiT,IAAI,EAAE,SAAS8E,GAAG/X,EAAEC,GAAG,OAAO,OAAOD,GAAG,OAAOC,EAAED,IAAIC,EAAED,EAAEkoB,GAAGjoB,EAAE,CAAC,MAAM+X,GAAG,WAAAzM,GAAcxX,KAAK8mC,GAAG,IAAIhkB,IAAI9iB,KAAKouB,GAAG,KAAKpuB,KAAK+mC,IAAG,CAAE,CAAC,EAAAC,CAAG/6B,GAAGjM,KAAK+mC,GAAG96B,EAAEjM,KAAKouB,GAAG,IAAI,CAAC,EAAA6Y,CAAGh7B,EAAEC,GAAGlM,KAAKknC,GAAGh7B,GAAGlM,KAAKouB,GAAG,KAAK,IAAI,IAAIjiB,EAAED,EAAEC,EAAEF,EAAEhJ,SAASkJ,EAAE,CAAC,MAAMD,EAAED,EAAEE,GAAG,IAAIG,EAAEtM,KAAK8mC,GAAGlmC,IAAIsL,EAAEi7B,iBAAY,IAAS76B,IAAIA,EAAE,GAAGtM,KAAK8mC,GAAG/hB,IAAI7Y,EAAEi7B,WAAW76B,IAAIA,EAAEnL,KAAK,CAACimC,MAAMj7B,EAAEqhB,KAAKthB,EAAEshB,KAAK6Z,OAAOn7B,EAAEi7B,WAAWzJ,aAAaxxB,EAAEwxB,cAAc,CAAC,CAAC,EAAA4J,CAAGr7B,EAAEC,GAAG,MAAMC,EAAEnG,KAAK+Z,KAAK7T,EAAED,GAAG,OAAO,OAAOjM,KAAKouB,IAAIpuB,KAAKouB,GAAGmZ,KAAKp7B,IAAInM,KAAKouB,GAAG,CAACsQ,GAAG1+B,KAAKwnC,GAAGr7B,GAAGo7B,GAAGp7B,IAAInM,KAAKouB,GAAGsQ,EAAE,CAAC,EAAAwI,CAAGj7B,GAAG,GAAG,IAAIA,EAAE,YAAYjM,KAAK8mC,GAAGviB,QAAQ,MAAMrY,EAAE,GAAGlM,KAAK8mC,GAAGjlC,QAAO,CAAGsK,EAAEG,KAAKL,GAAGE,EAAE,GAAGi7B,MAAMl7B,EAAE/K,KAAKmL,GAAGH,EAAEuL,OAAO0E,GAAGjQ,EAAEF,EAAGC,GAAGA,EAAEk7B,MAAMn7B,GAAI,IAAK,GAAG,IAAI,MAAMA,KAAKC,EAAElM,KAAK8mC,GAAGlY,OAAO3iB,EAAE,CAAC,EAAAu7B,CAAGv7B,GAAG,IAAIC,EAAE,GAAG,IAAI,MAAMC,KAAK2L,MAAMkC,KAAKha,KAAK8mC,GAAGW,QAAQ5J,KAAI,CAAG5xB,EAAEC,IAAIA,EAAED,GAAI,CAAC,IAAIjM,KAAK8mC,GAAGlmC,IAAIuL,GAAG,SAAS,MAAMG,EAAEJ,EAAEA,EAAE,GAAG,MAAM9D,EAAEkE,EAAErJ,OAAO,IAAI8F,EAAE,EAAE,MAAMG,EAAE0D,EAAE5M,KAAK8mC,GAAGlmC,IAAIuL,IAAI1I,EAAEyF,EAAEjG,OAAO,IAAIkH,EAAE,IAAI7I,GAAE,IAAK,IAAI,IAAI6K,EAAE,EAAEA,EAAE1I,EAAE0I,IAAI,CAAC,MAAM1I,EAAEyF,EAAEiD,GAAGrB,EAAErH,EAAE2jC,MAAM,KAAKr+B,EAAEX,GAAG,CAAC,MAAM6D,EAAEK,EAAEvD,GAAGoD,EAAEF,EAAEm7B,MAAM,KAAKj7B,EAAErB,GAAG,CAACX,EAAEgC,EAAE,KAAK,CAACpD,IAAImD,EAAE/K,KAAK8K,GAAG3K,EAAE6K,EAAEhC,EAAE,GAAG,CAAC,GAAGA,EAAEW,GAAGmB,GAAGnB,EAAExJ,GAAG2K,EAAEC,EAAE/K,KAAKsC,GAAGnC,EAAEwJ,OAAO,GAAG9K,KAAK+mC,GAAG,OAAOz6B,CAAC,CAAC,KAAKvD,EAAEX,EAAEW,IAAImD,EAAE/K,KAAKmL,EAAEvD,GAAG,CAAC,OAAOmD,CAAC,EAAE,MAAMgY,GAAG,WAAA1M,CAAYvL,GAAGjM,KAAK0nC,GAAGz7B,CAAC,CAAC,EAAA07B,GAAK,OAAO,OAAO3nC,KAAK0nC,GAAG,KAAK,IAAI3jB,GAAG/d,KAAK8T,MAAM9Z,KAAK0nC,GAAGhf,MAAM1iB,KAAK+Z,KAAK/f,KAAK0nC,GAAGxoB,MAAM,CAAC,EAAA0oB,GAAK,OAAO5nC,KAAK0nC,EAAE,CAAC,SAAOG,GAAK,OAAO,IAAI3jB,GAAG,KAAK,EAAE,SAASC,GAAGlY,EAAEC,GAAG,OAAOD,EAAEo7B,OAAOn7B,EAAEm7B,OAAOp7B,EAAEC,CAAC,CAAC,MAAMkY,GAAG,WAAA5M,CAAYvL,EAAEC,EAAEC,EAAEG,GAAGtM,KAAK+jC,GAAG,EAAE/jC,KAAK8nC,GAAG,KAAK9nC,KAAK+nC,GAAG,GAAG/nC,KAAK8gC,GAAG,KAAK9gC,KAAK6gC,GAAG,KAAK7gC,KAAKgoC,GAAG,IAAI/jB,GAAGjkB,KAAKioC,GAAG,IAAInlB,IAAI9iB,KAAKkoC,GAAGhkB,GAAG2jB,KAAK7nC,KAAKmoC,IAAG,EAAGnoC,KAAKooC,GAAG,IAAI7wB,EAAEvX,KAAKqoC,GAAG,IAAI9wB,EAAEvX,KAAKsoC,GAAG,IAAI/wB,EAAEvX,KAAKuoC,GAAG,KAAKvoC,KAAKwoC,GAAG,KAAKxoC,KAAKyoC,GAAG,GAAGzoC,KAAKojB,GAAGlX,EAAElM,KAAKkhC,GAAG/0B,EAAEnM,KAAK0oC,GAAGx8B,EAAEy8B,YAAY3oC,KAAK4oC,GAAG18B,EAAEohB,WAAWttB,KAAK2hB,GAAG1V,EAAEjM,KAAKumC,GAAGj6B,EAAEtM,KAAK6oC,KAAK7oC,KAAKgoC,GAAGhB,GAAG96B,EAAE48B,oBAAoB,CAAC,CAAApwB,GAAI,OAAO1Y,KAAKojB,EAAE,CAAC,EAAA2lB,CAAG98B,GAAG0L,EAAE3X,KAAKkhC,GAAGj1B,GAAGjM,KAAKgpC,KAAKhpC,KAAK6oC,IAAI,CAAC,EAAAjT,CAAG3pB,EAAEC,GAAG,IAAIC,EAAEwL,EAAE3X,KAAKojB,GAAGnX,GAAGjM,KAAKojB,GAAG6lB,aAAajpC,KAAKkpC,KAAKlpC,KAAKojB,GAAG+lB,cAAcnpC,KAAKopC,UAAK,IAASn9B,EAAEqhB,YAAYttB,KAAK2hB,GAAGoE,GAAG9Z,EAAEqhB,iBAAY,IAASrhB,EAAE08B,aAAa3oC,KAAK2hB,GAAGqE,GAAG/Z,EAAE08B,kBAAa,IAAS18B,EAAEo9B,eAAerpC,KAAK2hB,GAAGoE,GAAG,QAAQ5Z,EAAEF,EAAEqhB,kBAAa,IAASnhB,EAAEA,EAAEnM,KAAK4oC,IAAI5oC,KAAKgpC,KAAKhpC,KAAK6oC,KAAK7oC,KAAKsoC,GAAG17B,GAAG,CAAC,EAAA6W,CAAGxX,GAAG,IAAIC,EAAEC,EAAE,OAAO,QAAQA,EAAE,QAAQD,EAAElM,KAAK+nC,GAAG97B,UAAK,IAASC,OAAE,EAAOA,EAAEshB,YAAO,IAASrhB,EAAEA,EAAE,IAAI,CAAC,EAAAyV,CAAG3V,GAAG,IAAIC,EAAE,OAAO,QAAQA,EAAElM,KAAK+nC,GAAG97B,UAAK,IAASC,EAAEA,EAAE,IAAI,CAAC,EAAAuxB,CAAGxxB,EAAEC,GAAG,GAAGlM,KAAK+nC,GAAG9kC,OAAO,EAAE,OAAO,KAAK,GAAGjD,KAAKumC,GAAG+C,IAAIr9B,GAAGjM,KAAKumC,GAAG+C,IAAItpC,KAAK+nC,GAAG/nC,KAAK+nC,GAAG9kC,OAAO,GAAGuqB,MAAM,OAAOthB,EAAElM,KAAK+nC,GAAG9kC,OAAO,EAAE,KAAK,MAAMkJ,EAAEiQ,GAAGpc,KAAK+nC,GAAG/nC,KAAKumC,GAAG+C,IAAIr9B,GAAE,CAAGA,EAAEC,IAAIlM,KAAKumC,GAAG+C,IAAIr9B,EAAEuhB,MAAMthB,GAAI,OAAOlM,KAAKumC,GAAG+C,IAAIr9B,GAAGjM,KAAKumC,GAAG+C,IAAItpC,KAAK+nC,GAAG57B,GAAGqhB,MAAMthB,EAAEC,EAAE,KAAKA,CAAC,CAAC,EAAAgV,GAAK,OAAO,IAAInhB,KAAK+jC,IAAI,IAAI/jC,KAAK+nC,GAAG9kC,QAAQ,OAAOjD,KAAK8nC,EAAE,CAAC,EAAAtK,GAAK,OAAOx9B,KAAK+nC,GAAG9kC,OAAO,CAAC,CAAC,EAAA2mB,GAAK,OAAO5pB,KAAKupC,KAAKvpC,KAAKkoC,GAAGP,IAAI,CAAC,EAAA6B,GAAK,OAAOxpC,KAAKupC,KAAKvpC,KAAKkoC,GAAGN,IAAI,CAAC,EAAA6B,GAAK,MAAMx9B,EAAEjM,KAAK4pB,KAAK,GAAG,OAAO3d,EAAE,OAAO,KAAK,MAAMC,EAAE,CAAC8N,KAAK/N,EAAEyc,KAAK3O,GAAG9N,EAAEiT,MAAM,OAAOlf,KAAK0pC,GAAGx9B,EAAE,CAAC,EAAAw9B,CAAGz9B,GAAG,MAAMC,EAAElG,KAAKC,MAAMgG,EAAE+N,MAAM7N,EAAEnG,KAAKC,MAAMgG,EAAE8N,IAAIzN,EAAEO,EAAE7M,KAAK2pC,MAAMvhC,EAAEyE,EAAE7M,KAAK4pC,MAAM,MAAM,CAAC5vB,KAAKnN,EAAE7M,KAAK4hB,GAAG5b,KAAK2Q,IAAIrK,EAAEJ,KAAK6N,GAAGlN,EAAE7M,KAAK4hB,GAAG5b,KAAK0Q,IAAItO,EAAE+D,KAAK,CAAC,EAAA09B,CAAG59B,GAAG,MAAM,CAAC+N,KAAKnN,EAAE7M,KAAKy9B,GAAGxxB,EAAE+N,MAAK,IAAKD,GAAGlN,EAAE7M,KAAKy9B,GAAGxxB,EAAE8N,IAAG,IAAK,CAAC,EAAAyH,GAAK,OAAOxhB,KAAK+jC,EAAE,CAAC,EAAAkB,CAAGh5B,GAAG,IAAIgM,SAAShM,IAAIA,GAAG,EAAE,OAAO,GAAGjM,KAAK+jC,KAAK93B,EAAE,OAAO,MAAMC,EAAElM,KAAKwpC,KAAKr9B,EAAEnM,KAAK+jC,GAAG,GAAG/jC,KAAK+jC,GAAG93B,EAAEjM,KAAKmoC,IAAG,EAAGnoC,KAAKojB,GAAG0mB,8BAA8B,IAAI39B,EAAE,CAAC,MAAMD,EAAElM,KAAK4oC,GAAG38B,EAAEE,EAAEnM,KAAK4oC,GAAG18B,CAAC,CAAC,GAAGlM,KAAKojB,GAAG6lB,aAAa,OAAO/8B,GAAGA,EAAEwc,MAAM,EAAE,CAAC,MAAMxc,EAAEC,EAAEF,EAAEjM,KAAK0oC,IAAI1iC,KAAKC,MAAMiG,EAAElM,KAAK4oC,IAAI,EAAE5oC,KAAKmoC,IAAG,CAAE,CAACnoC,KAAK+pC,KAAK/pC,KAAKgqC,IAAI,CAAC,EAAA1tB,CAAGrQ,GAAG,GAAGjM,KAAKmhB,OAAOjJ,EAAEjM,GAAG,OAAO,EAAE,MAAMC,EAAElM,KAAKiqC,KAAKjqC,KAAK0oC,GAAGz8B,EAAE,OAAOjM,KAAK+jC,IAAI73B,EAAE,IAAIlM,KAAK4oC,GAAG,CAAC,CAAC,EAAA5e,CAAG/d,EAAEC,GAAG,MAAMC,EAAEnM,KAAKiqC,KAAK39B,OAAE,IAASJ,EAAE,EAAEA,EAAE8N,KAAK5R,OAAE,IAAS8D,EAAED,EAAEhJ,OAAOiJ,EAAE6N,GAAG,IAAI,IAAI7N,EAAEI,EAAEJ,EAAE9D,EAAE8D,IAAI,CAAC,MAAMI,EAAEL,EAAEC,GAAG0O,GAAGxS,EAAE+D,EAAEnM,KAAK0oC,GAAGp8B,EAAEvD,EAAE/I,KAAK+jC,IAAI37B,EAAE,IAAIpI,KAAK4oC,GAAG,EAAE38B,EAAEC,GAAGgO,GAAGnR,CAAC,CAAC,CAAC,EAAAmhC,CAAGj+B,GAAG,OAAOjG,KAAK+Z,KAAK/f,KAAKmqC,GAAGl+B,GAAG,CAAC,EAAA+Z,CAAG/Z,GAAGjM,KAAKmoC,IAAG,EAAGnoC,KAAK0oC,GAAGz8B,EAAEjM,KAAKgqC,KAAKhqC,KAAK2hB,GAAGyoB,KAAKpqC,KAAK2hB,GAAGkU,IAAI,CAAC,EAAArL,GAAK,OAAOxqB,KAAK4oC,EAAE,CAAC,EAAA7iB,CAAG9Z,GAAGjM,KAAKqqC,GAAGp+B,GAAGjM,KAAKgqC,KAAKhqC,KAAK2hB,GAAGyoB,KAAKpqC,KAAK2hB,GAAGkU,IAAI,CAAC,EAAAyU,GAAK,OAAOtqC,KAAK0oC,EAAE,CAAC,EAAAhK,GAAK,GAAG1+B,KAAKmhB,KAAK,OAAO,KAAK,GAAG,OAAOnhB,KAAKwoC,GAAG,OAAOxoC,KAAKwoC,GAAG,MAAMv8B,EAAEjM,KAAK4oC,GAAG18B,EAAE,GAAGlM,KAAK2hB,GAAGjJ,IAAIM,OAAOG,SAAS,GAAG,GAAGnZ,KAAKojB,GAAGmnB,4BAA4B,GAAGp+B,EAAEnG,KAAKC,MAAMiG,EAAED,GAAGK,EAAEO,EAAE7M,KAAK4pB,MAAMxhB,EAAEpC,KAAK2Q,IAAIrK,EAAEoc,KAAKpc,EAAEoc,KAAKvc,GAAGpD,EAAE/C,KAAK2Q,IAAIrK,EAAE4S,KAAK5S,EAAE4S,KAAK/S,GAAGjD,EAAElJ,KAAKgoC,GAAGV,GAAGr7B,EAAEC,GAAGzI,EAAEzD,KAAK2pC,KAAKx9B,EAAEhC,EAAEnK,KAAK4pC,KAAKz9B,EAAE7K,EAAEtB,KAAKwqC,KAAK1/B,EAAE9K,KAAKojB,GAAG6lB,aAAa3nC,EAAEyJ,EAAE/K,KAAKojB,GAAG+lB,cAAc7nC,EAAE,IAAIyK,EAAE,EAAE,IAAI,MAAME,KAAK/C,EAAE,CAAC,KAAKd,GAAG6D,EAAEm7B,OAAOn7B,EAAEm7B,OAAOr+B,GAAG,SAAS,IAAIoD,EAAEJ,EAAE/L,KAAKyoC,GAAGxlC,QAAQkJ,EAAEnM,KAAKyoC,GAAG18B,GAAGI,EAAEwyB,MAAM3+B,KAAKsc,GAAGrQ,EAAEm7B,OAAOj7B,EAAEs+B,MAAMzqC,KAAK0qC,GAAGz+B,GAAGE,EAAEk7B,OAAOp7B,EAAEo7B,SAASl7B,EAAE,CAACw+B,qBAAoB,EAAGhM,MAAM3+B,KAAKsc,GAAGrQ,EAAEm7B,OAAOqD,MAAMzqC,KAAK0qC,GAAGz+B,GAAGo7B,OAAOp7B,EAAEo7B,QAAQrnC,KAAKyoC,GAAGtnC,KAAKgL,IAAInM,KAAK4oC,GAAG18B,EAAE,IAAI5K,EAAE6K,EAAEw+B,qBAAoB,EAAGx+B,EAAEw+B,oBAAoB7/B,GAAGmB,EAAEm7B,OAAO3jC,GAAGsH,GAAGkB,EAAEm7B,OAAOj9B,EAAE4B,GAAG,CAAC,OAAO/L,KAAKyoC,GAAGxlC,OAAO8I,EAAE/L,KAAKwoC,GAAGxoC,KAAKyoC,GAAGzoC,KAAKyoC,EAAE,CAAC,EAAAmC,GAAK5qC,KAAKmoC,IAAG,EAAGnoC,KAAK+lB,GAAG/lB,KAAKojB,GAAGkK,YAAYttB,KAAKgmB,GAAGhmB,KAAKojB,GAAGulB,YAAY,CAAC,EAAAkC,CAAG5+B,GAAGjM,KAAKmoC,IAAG,EAAGnoC,KAAK8nC,GAAG77B,EAAEjM,KAAKgqC,KAAKhqC,KAAKkpC,IAAI,CAAC,EAAA4B,CAAG7+B,EAAEC,GAAG,MAAMC,EAAEnM,KAAKmqC,GAAGl+B,GAAGK,EAAEtM,KAAKwqB,KAAKpiB,EAAEkE,EAAEJ,GAAGI,EAAE,IAAItM,KAAK+lB,GAAG3d,GAAGpI,KAAKojB,GAAG2nB,uBAAuB/qC,KAAKgmB,GAAGhmB,KAAKsqC,MAAMn+B,EAAEnM,KAAKmqC,GAAGl+B,IAAI,CAAC,EAAA+2B,CAAG/2B,GAAGjM,KAAK8gC,IAAI9gC,KAAKqjC,KAAK,OAAOrjC,KAAK6gC,IAAI,OAAO7gC,KAAKuoC,KAAKvoC,KAAKmhB,OAAOnhB,KAAK6gC,GAAG50B,EAAEjM,KAAKgrC,MAAM,CAAC,EAAA/H,CAAGh3B,GAAG,GAAG,OAAOjM,KAAKuoC,GAAG,OAAO,MAAMr8B,EAAEyP,GAAG3b,KAAK+jC,GAAG93B,EAAE,EAAEjM,KAAK+jC,IAAI53B,EAAEwP,GAAG3b,KAAK+jC,GAAGl3B,EAAE7M,KAAK6gC,IAAI,EAAE7gC,KAAK+jC,IAAI,IAAI73B,GAAG,IAAIC,GAAGnM,KAAK+lB,GAAG/lB,KAAKuoC,GAAG/d,GAAGte,EAAEC,EAAE,CAAC,EAAA+2B,GAAK,OAAOljC,KAAK6gC,KAAK7gC,KAAK6gC,GAAG,KAAK7gC,KAAKirC,KAAK,CAAC,EAAA9H,CAAGl3B,GAAG,OAAOjM,KAAK8gC,IAAI,OAAO9gC,KAAKuoC,KAAKvoC,KAAKmhB,OAAOnhB,KAAK8gC,GAAG70B,EAAEjM,KAAKgrC,MAAM,CAAC,EAAA5H,CAAGn3B,GAAG,GAAG,OAAOjM,KAAK8gC,GAAG,OAAO,MAAM50B,GAAGlM,KAAK8gC,GAAG70B,GAAGjM,KAAKwqB,KAAKxqB,KAAK0oC,GAAG77B,EAAE7M,KAAKuoC,IAAI+B,GAAGp+B,EAAElM,KAAKmoC,IAAG,EAAGnoC,KAAKgqC,IAAI,CAAC,EAAA3G,GAAK,OAAOrjC,KAAK8gC,KAAK9gC,KAAK8gC,GAAG,KAAK9gC,KAAKirC,KAAK,CAAC,EAAAC,GAAKlrC,KAAKmrC,GAAGnrC,KAAKojB,GAAGulB,YAAY,CAAC,EAAAwC,CAAGl/B,EAAEC,EAAE,KAAK,IAAI+L,SAAShM,GAAG,MAAM,IAAIm/B,WAAW,gDAAgD,IAAInzB,SAAS/L,IAAIA,GAAG,EAAE,MAAM,IAAIk/B,WAAW,+DAA+D,MAAMj/B,EAAEnM,KAAK0oC,GAAGp8B,EAAEykB,YAAYC,MAAMhxB,KAAK2hB,GAAGiE,GAAG,CAACylB,GAAGp/B,IAAIA,EAAEK,GAAGJ,GAAG,EAAEo/B,GAAGljC,IAAI,MAAMW,GAAGX,EAAEkE,GAAGJ,EAAE,OAAOnD,GAAG,EAAEkD,EAAEE,GAAGF,EAAEE,GAAGpD,IAAI,CAAC,EAAAoS,CAAGlP,EAAEC,GAAGlM,KAAKmoC,IAAG,EAAGnoC,KAAK+nC,GAAG97B,EAAEjM,KAAKgoC,GAAGf,GAAGh7B,EAAEC,GAAGlM,KAAKgqC,IAAI,CAAC,EAAAuB,GAAK,OAAOvrC,KAAKooC,EAAE,CAAC,EAAAoD,GAAK,OAAOxrC,KAAKqoC,EAAE,CAAC,EAAAoD,GAAK,OAAOzrC,KAAKsoC,EAAE,CAAC,EAAA2B,GAAK,OAAOjqC,KAAK8nC,IAAI,CAAC,CAAC,EAAA4D,CAAGz/B,GAAG,MAAMC,EAAED,EAAE46B,KAAK7mC,KAAKqqC,GAAGrqC,KAAK+jC,GAAG73B,GAAGlM,KAAK0oC,GAAGz8B,EAAEiT,KAAKlf,KAAKiqC,KAAKjqC,KAAKgqC,KAAKhqC,KAAKmoC,IAAG,EAAGnoC,KAAK2hB,GAAGyoB,KAAKpqC,KAAK2hB,GAAGkU,IAAI,CAAC,EAAA8V,GAAK,MAAM1/B,EAAEjM,KAAK2pC,KAAKz9B,EAAElM,KAAK4pC,KAAK,OAAO39B,GAAG,OAAOC,GAAGlM,KAAK0rC,GAAG,IAAI3nB,GAAG9X,EAAEC,EAAElM,KAAKojB,GAAGulB,aAAa,CAAC,EAAAiD,CAAG3/B,GAAG,MAAMC,EAAE,IAAI6X,GAAG9X,EAAE+N,KAAK/N,EAAE8N,IAAI/Z,KAAK0rC,GAAGx/B,EAAE,CAAC,EAAA2V,CAAG5V,GAAG,YAAO,IAASjM,KAAKkhC,GAAG2K,cAAc7rC,KAAKkhC,GAAG2K,cAAc5/B,EAAEyxB,cAAc19B,KAAKumC,GAAGuF,eAAe7/B,EAAEuhB,KAAK,CAAC,EAAAgd,GAAK,MAAMuB,aAAa9/B,EAAE+/B,YAAY9/B,GAAGlM,KAAK2hB,GAAGjJ,IAAI,QAAQzM,EAAEggC,eAAehgC,EAAEigC,YAAYjgC,EAAEkgC,kBAAkBlgC,EAAEmgC,eAAelgC,EAAEmgC,qBAAqB7e,MAAMthB,EAAEogC,qBAAqB9e,MAAMthB,EAAEggC,YAAYhgC,EAAEqgC,MAAM,CAAC,EAAA5C,GAAK,OAAO,IAAI3pC,KAAK+nC,GAAG9kC,OAAO,KAAK,CAAC,CAAC,EAAA2mC,GAAK,OAAO,IAAI5pC,KAAK+nC,GAAG9kC,OAAO,KAAKjD,KAAK+nC,GAAG9kC,OAAO,CAAC,CAAC,EAAAupC,CAAGvgC,GAAG,OAAOjM,KAAK+jC,GAAG,EAAE93B,GAAGjM,KAAK4oC,EAAE,CAAC,EAAAuB,CAAGl+B,GAAG,MAAMC,EAAElM,KAAKwsC,GAAGvgC,GAAGE,EAAEnM,KAAKiqC,KAAKjqC,KAAK0oC,GAAGx8B,EAAE,OAAOlG,KAAKC,MAAM,IAAIkG,GAAG,GAAG,CAAC,EAAAk+B,CAAGp+B,GAAG,MAAMC,EAAElM,KAAK4oC,GAAG5oC,KAAK4oC,GAAG38B,EAAEjM,KAAK+pC,KAAK79B,IAAIlM,KAAK4oC,KAAK5oC,KAAKmoC,IAAG,EAAGnoC,KAAKysC,KAAK,CAAC,EAAAlD,GAAK,IAAIvpC,KAAKmoC,GAAG,OAAO,GAAGnoC,KAAKmoC,IAAG,EAAGnoC,KAAKmhB,KAAK,YAAYnhB,KAAK0sC,GAAGxoB,GAAG2jB,MAAM,MAAM57B,EAAEjM,KAAKiqC,KAAK/9B,EAAElM,KAAK+jC,GAAG/jC,KAAK4oC,GAAGz8B,EAAEnM,KAAK0oC,GAAGz8B,EAAEK,EAAE,IAAIyX,GAAG5X,EAAED,EAAE,EAAEC,GAAGnM,KAAK0sC,GAAG,IAAIxoB,GAAG5X,GAAG,CAAC,EAAAy9B,GAAK,MAAM99B,EAAEjM,KAAK2sC,KAAK,GAAG3sC,KAAK4oC,GAAG38B,IAAIjM,KAAK4oC,GAAG38B,EAAEjM,KAAKmoC,IAAG,GAAI,IAAInoC,KAAK+jC,GAAG,CAAC,MAAM93B,EAAE,GAAGjM,KAAK+jC,GAAG/jC,KAAK4oC,GAAG38B,IAAIjM,KAAK4oC,GAAG38B,EAAEjM,KAAKmoC,IAAG,EAAG,CAAC,CAAC,EAAAwE,GAAK,OAAO3sC,KAAKojB,GAAG6lB,aAAajpC,KAAKojB,GAAG+lB,cAAc,IAAInpC,KAAK+nC,GAAG9kC,OAAOjD,KAAK+jC,GAAG/jC,KAAK+nC,GAAG9kC,OAAOjD,KAAKojB,GAAGimB,aAAa,CAAC,EAAAW,GAAK,MAAM/9B,EAAEjM,KAAK4sC,KAAK,OAAO3gC,GAAGjM,KAAK0oC,GAAGz8B,IAAIjM,KAAK0oC,GAAGz8B,EAAEjM,KAAKmoC,IAAG,GAAI,MAAMj8B,EAAElM,KAAK6sC,KAAK7sC,KAAK0oC,GAAGx8B,IAAIlM,KAAK0oC,GAAGx8B,EAAElM,KAAKmoC,IAAG,EAAG,CAAC,EAAAyE,GAAK,MAAM3gC,EAAEjM,KAAK2pC,KAAKz9B,EAAElM,KAAK8nC,GAAG,OAAG,OAAO77B,GAAG,OAAOC,EAAS,KAAYD,EAAEC,EAAE,GAAGlM,KAAKojB,GAAG6lB,YAAYjpC,KAAK+jC,GAAG/jC,KAAK4oC,GAAG5iC,KAAK0Q,IAAI,EAAE1W,KAAK+nC,GAAG9kC,QAAQ,CAAC,EAAA4pC,GAAK,OAAO7sC,KAAKojB,GAAG+lB,aAAa,EAAEnpC,KAAK+jC,GAAG/jC,KAAK4oC,GAAG5iC,KAAK0Q,IAAI,EAAE1W,KAAK+nC,GAAG9kC,OAAO,CAAC,EAAA+nC,GAAKhrC,KAAKuoC,GAAG,CAAC/d,GAAGxqB,KAAKwqB,KAAK8f,GAAGtqC,KAAKsqC,KAAK,CAAC,EAAAW,GAAKjrC,KAAKuoC,GAAG,IAAI,CAAC,EAAAmC,CAAGz+B,GAAG,IAAIC,EAAElM,KAAKioC,GAAGrnC,IAAIqL,EAAEo7B,QAAQ,YAAO,IAASn7B,IAAIA,EAAE,IAAI4X,GAAI7X,GAAGjM,KAAK8sC,GAAG7gC,GAAIjM,KAAKumC,IAAIvmC,KAAKioC,GAAGljB,IAAI9Y,EAAEo7B,OAAOn7B,IAAIA,EAAEs6B,GAAGv6B,EAAE,CAAC,EAAA6gC,CAAG7gC,GAAG,OAAOjM,KAAKumC,GAAGwG,eAAe9gC,EAAEjM,KAAKkhC,GAAG,CAAC,EAAAwL,CAAGzgC,GAAG,MAAMC,EAAElM,KAAKkoC,GAAGloC,KAAKkoC,GAAGj8B,EAAE+X,GAAG9X,EAAEy7B,KAAK3nC,KAAKkoC,GAAGP,OAAO3nC,KAAKooC,GAAGx7B,IAAIoX,GAAG9X,EAAE07B,KAAK5nC,KAAKkoC,GAAGN,OAAO5nC,KAAKqoC,GAAGz7B,IAAI5M,KAAKysC,IAAI,CAAC,EAAAA,GAAKzsC,KAAKwoC,GAAG,IAAI,CAAC,EAAAQ,GAAKhpC,KAAKysC,KAAKzsC,KAAKioC,GAAG1jB,OAAO,CAAC,EAAAskB,GAAK7oC,KAAKumC,GAAGyG,gBAAgBhtC,KAAKkhC,GAAG,CAAC,EAAAgI,GAAK,IAAIlpC,KAAKojB,GAAG6lB,YAAY,OAAO,MAAMh9B,EAAEjM,KAAK2pC,KAAK,GAAG,OAAO19B,EAAE,OAAO,MAAMC,EAAElM,KAAK4pB,KAAK,GAAG,OAAO1d,EAAE,OAAO,MAAMC,EAAED,EAAEwc,KAAKzc,EAAE,GAAGE,EAAE,EAAE,CAAC,MAAMF,EAAEjM,KAAK0oC,GAAGv8B,EAAE,EAAEnM,KAAKgmB,GAAG/Z,EAAE,CAACjM,KAAK+pC,IAAI,CAAC,EAAAX,GAAKppC,KAAKgqC,KAAKhqC,KAAK+pC,IAAI,EAAE,MAAM1lB,GAAG,CAAA9K,CAAEtN,EAAEC,EAAEC,GAAGF,EAAE7E,wBAAyB6E,GAAGjM,KAAKwZ,EAAEvN,EAAEC,EAAEC,GAAI,CAAC,EAAAisB,CAAGnsB,EAAEC,EAAEC,GAAGF,EAAE7E,wBAAyB6E,GAAGjM,KAAKitC,GAAGhhC,EAAEC,EAAEC,GAAI,CAAC,EAAA8gC,CAAGhhC,EAAEC,EAAEC,GAAG,EAAE,MAAMmY,WAAWD,GAAG,WAAA7M,CAAYvL,GAAGwN,QAAQzZ,KAAKktC,GAAG,IAAIpqB,IAAI9iB,KAAKuc,GAAGtQ,CAAC,CAAC,CAAAuN,CAAEvN,GAAG,CAAC,EAAAghC,CAAGhhC,GAAG,IAAIjM,KAAKuc,GAAGX,GAAG,OAAO,MAAM9U,QAAQoF,EAAEnF,UAAUoF,GAAGF,EAAE,IAAIK,EAAE,EAAE,IAAI,MAAML,KAAKjM,KAAKuc,GAAG4wB,GAAG,CAAC,GAAG,IAAIlhC,EAAEiS,GAAGjb,OAAO,SAASiJ,EAAEiS,KAAKlS,EAAEqL,EAAE,MAAMlP,EAAEpI,KAAKotC,GAAGlhC,EAAED,EAAEiS,IAAI9V,EAAE+D,EAAE5M,MAAM0M,EAAE6+B,GAAG3+B,EAAE5M,MAAM6I,EAAE6D,EAAE6+B,GAAG,EAAEx+B,GAAGL,EAAEohC,GAAGphC,EAAE6+B,EAAE,CAAC,IAAI1iC,EAAE,EAAE,OAAOpI,KAAKuc,GAAG+wB,IAAI,IAAI,MAAMllC,EAAE,EAAE,MAAM,IAAI,SAASA,EAAEpC,KAAK2Q,KAAKxK,EAAE3M,OAAO8M,GAAG,EAAE,GAAG,MAAM,IAAI,SAASlE,EAAEpC,KAAK2Q,IAAIxK,EAAE3M,OAAO8M,EAAE,GAAGJ,EAAEsO,UAAUxa,KAAKuc,GAAG5E,EAAE,IAAI,MAAM1L,KAAKjM,KAAKuc,GAAG4wB,GAAG,CAACjhC,EAAE5E,OAAO,IAAIgF,EAAE,EAAE,OAAOtM,KAAKuc,GAAGgxB,IAAI,IAAI,OAAOrhC,EAAEmT,UAAU,OAAO/S,EAAEL,EAAEohC,GAAG,EAAE,MAAM,IAAI,SAASnhC,EAAEmT,UAAU,SAAS/S,EAAEH,EAAE5M,MAAM,EAAE,MAAM,IAAI,QAAQ2M,EAAEmT,UAAU,QAAQ/S,EAAEH,EAAE5M,MAAM,EAAE0M,EAAEohC,GAAG,EAAEnhC,EAAEwV,UAAUpV,EAAElE,GAAG8D,EAAEoT,aAAa,MAAMpT,EAAEiS,KAAKlS,EAAEqL,EAAEpL,EAAE1E,MAAMyE,EAAE6+B,GAAG7+B,EAAE6+B,IAAI5+B,EAAEqT,SAAStT,EAAEiS,GAAG,EAAEjS,EAAEuhC,IAAIthC,EAAEvE,UAAUS,GAAG6D,EAAEohC,GAAGphC,EAAE6+B,EAAE,CAAC,CAAC,EAAAsC,CAAGnhC,EAAEC,GAAG,MAAMC,EAAEnM,KAAKytC,GAAGxhC,EAAEkS,MAAM,IAAI7R,EAAEH,EAAEvL,IAAIsL,GAAG,YAAO,IAASI,IAAIA,EAAEL,EAAE4iB,YAAY3iB,GAAG3M,MAAM4M,EAAE4Y,IAAI7Y,EAAEI,IAAIA,CAAC,CAAC,EAAAmhC,CAAGxhC,GAAG,IAAIC,EAAElM,KAAKktC,GAAGtsC,IAAIqL,GAAG,YAAO,IAASC,IAAIA,EAAE,IAAI4W,IAAI9iB,KAAKktC,GAAGnoB,IAAI9Y,EAAEC,IAAIA,CAAC,EAAE,MAAMsY,GAAG,WAAAhN,CAAYvL,GAAGjM,KAAKib,IAAG,EAAGjb,KAAK6c,GAAG,CAACjB,IAAG,EAAGjE,EAAE,GAAGw1B,GAAG,GAAGG,GAAG,SAASC,GAAG,UAAUvtC,KAAK8c,GAAG,IAAIwH,GAAGtkB,KAAK6c,IAAI7c,KAAK+c,GAAG9Q,CAAC,CAAC,EAAAkP,GAAKnb,KAAKib,IAAG,CAAE,CAAC,EAAAK,GAAK,OAAOtb,KAAKib,KAAKjb,KAAKub,KAAKvb,KAAKib,IAAG,GAAIjb,KAAK8c,EAAE,CAAC,EAAAvB,GAAK,MAAMtP,EAAEjM,KAAK+c,GAAGrE,IAAIxM,EAAElM,KAAK6c,GAAG3Q,EAAE0P,GAAG3P,EAAEhB,QAAQiB,EAAE0P,KAAK1P,EAAEyL,EAAE1L,EAAE9C,MAAM+C,EAAEqhC,GAAGthC,EAAEyhC,UAAUxhC,EAAEohC,GAAGrhC,EAAE0hC,UAAUzhC,EAAEihC,GAAG,CAAC,CAACjvB,GAAGjS,EAAEqnB,KAAKhc,EAAEmB,EAAExM,EAAEkN,SAASlN,EAAEmN,WAAWnN,EAAE2hC,WAAWP,GAAG,IAAIphC,EAAEkN,SAASq0B,GAAG,EAAE1C,GAAG,IAAI,EAAE,MAAMrmB,WAAW9J,GAAG,WAAAnD,CAAYvL,EAAEC,GAAGuN,QAAQzZ,KAAKojB,GAAGlX,EAAElM,KAAK4jB,GAAG,IAAIY,GAAGxkB,KAAK,CAAC,EAAAskB,GAAK,MAAM,EAAE,CAAC,EAAAD,GAAK,MAAM,CAACrkB,KAAK4jB,GAAG,CAAC,CAAAlL,GAAI,OAAO1Y,KAAKojB,EAAE,CAAC,EAAAqB,GAAKzkB,KAAK4jB,GAAGzI,IAAI,EAAE,IAAIuJ,GAAGC,GAAGG,GAAGD,GAAGG,IAAI,SAAS/Y,GAAGA,EAAEA,EAAE4hC,WAAW,GAAG,aAAa5hC,EAAEA,EAAE6hC,UAAU,GAAG,WAAW,CAAvE,CAAyEppB,KAAKA,GAAG,CAAA,IAAK,MAAMO,GAAG,WAAAzN,CAAYvL,EAAEC,EAAEC,GAAGnM,KAAK+tC,GAAG,GAAG/tC,KAAKguC,GAAG,GAAGhuC,KAAK+jC,GAAG,EAAE/jC,KAAKiuC,GAAG,KAAKjuC,KAAKkuC,GAAG,IAAI32B,EAAEvX,KAAKmuC,GAAG,IAAI52B,EAAEvX,KAAKouC,GAAG,KAAKpuC,KAAKquC,GAAGpiC,EAAEjM,KAAKojB,GAAGlX,EAAElM,KAAKumC,GAAGp6B,EAAEnM,KAAKsuC,GAAG,IAAI51B,EAAE1Y,MAAMA,KAAK+4B,GAAG,IAAI3U,GAAGpkB,KAAKkM,EAAEqiC,UAAUvuC,KAAKojB,GAAGshB,aAAav4B,GAAGnM,KAAKkb,GAAG,IAAIN,GAAG5a,KAAKkM,EAAEgR,WAAWld,KAAKwuC,GAAG,IAAIrsB,GAAGjW,EAAEgR,WAAWld,KAAKyuC,GAAG,IAAIhqB,GAAGzkB,KAAKkM,EAAEwiC,WAAW1uC,KAAK2uC,KAAK3uC,KAAK+tC,GAAG,GAAG/I,GAAG,KAAKhlC,KAAK4uC,GAAG5uC,KAAK6uC,GAAG,GAAG7uC,KAAK8uC,GAAG9uC,KAAK6uC,GAAG,EAAE,CAAC,EAAA3T,GAAKl7B,KAAK+uC,GAAGj0B,GAAGuL,KAAK,CAAC,EAAAwP,GAAK71B,KAAK+uC,GAAGj0B,GAAGsL,KAAK,CAAC,EAAA6V,GAAKj8B,KAAK+uC,GAAG,IAAIj0B,GAAG,GAAG,CAAC,EAAAqgB,CAAGlvB,GAAG,MAAMC,EAAElM,KAAKgvC,GAAG/iC,GAAGjM,KAAK+uC,GAAG7iC,EAAE,CAAC,EAAA+iC,GAAK,OAAOjvC,KAAKiuC,EAAE,CAAC,EAAAiB,CAAGjjC,GAAG,MAAMC,EAAElM,KAAKiuC,GAAGjuC,KAAKiuC,GAAGhiC,EAAE,OAAOC,GAAGlM,KAAKm7B,GAAGjvB,EAAEijC,IAAI,OAAOljC,GAAGjM,KAAKm7B,GAAGlvB,EAAEkjC,GAAG,CAAC,CAAAz2B,GAAI,OAAO1Y,KAAKojB,EAAE,CAAC,EAAAwS,CAAG3pB,GAAG0L,EAAE3X,KAAKojB,GAAGnX,GAAGjM,KAAK+tC,GAAGlsC,QAASqK,GAAGA,EAAEu4B,GAAGx4B,SAAK,IAASA,EAAEsiC,WAAWvuC,KAAK+4B,GAAGnD,GAAG3pB,EAAEsiC,gBAAW,IAAStiC,EAAEy4B,cAAc1kC,KAAK+4B,GAAGgQ,GAAG98B,EAAEy4B,eAAez4B,EAAEo4B,gBAAgBp4B,EAAEs4B,kBAAkBvkC,KAAKkuC,GAAGthC,IAAI5M,KAAK4uC,GAAG5uC,KAAK6uC,GAAG,GAAG7uC,KAAK8uC,GAAG9uC,KAAK6uC,GAAG,GAAG7uC,KAAKk7B,IAAI,CAAC,EAAAkU,CAAGnjC,EAAEC,GAAG,GAAG,SAASD,EAAE,YAAYjM,KAAK41B,GAAG,CAACyO,eAAen4B,IAAI,GAAG,UAAUD,EAAE,YAAYjM,KAAK41B,GAAG,CAAC2O,gBAAgBr4B,IAAI,MAAMC,EAAEnM,KAAKqvC,GAAGpjC,GAAG,OAAOE,IAAIA,EAAE6P,GAAG4Z,GAAG1pB,GAAGlM,KAAKkuC,GAAGthC,IAAI,CAAC,EAAAyiC,CAAGpjC,GAAG,IAAI,MAAMC,KAAKlM,KAAK+tC,GAAG,CAAC,MAAM5hC,EAAED,EAAE24B,GAAG54B,GAAG,GAAG,OAAOE,EAAE,MAAM,CAAC6Q,GAAG9Q,EAAE8P,GAAG7P,EAAE,CAAC,OAAO,IAAI,CAAC,EAAAuP,GAAK,OAAO1b,KAAK+4B,EAAE,CAAC,EAAAuW,GAAK,OAAOtvC,KAAK+tC,EAAE,CAAC,EAAAwB,GAAK,OAAOvvC,KAAKyuC,EAAE,CAAC,EAAAe,GAAK,OAAOxvC,KAAKkb,EAAE,CAAC,EAAAu0B,GAAK,OAAOzvC,KAAKmuC,EAAE,CAAC,EAAAuB,CAAGzjC,EAAEC,GAAGD,EAAEi2B,GAAGh2B,GAAGlM,KAAKoqC,IAAI,CAAC,EAAAnF,CAAGh5B,GAAGjM,KAAK+jC,GAAG93B,EAAEjM,KAAK+4B,GAAGkM,GAAGjlC,KAAK+jC,IAAI/jC,KAAK+tC,GAAGlsC,QAASqK,GAAGA,EAAE+4B,GAAGh5B,IAAKjM,KAAKoqC,IAAI,CAAC,EAAAuE,CAAG1iC,GAAG,MAAMC,EAAE,IAAI2X,GAAG7jB,KAAK+4B,GAAG/4B,WAAM,IAASiM,EAAEjM,KAAK+tC,GAAGr2B,OAAOzL,EAAE,EAAEC,GAAGlM,KAAK+tC,GAAG5sC,KAAK+K,GAAG,MAAMC,OAAE,IAASF,EAAEjM,KAAK+tC,GAAG9qC,OAAO,EAAEgJ,EAAEK,EAAEwO,GAAGuL,KAAK,OAAO/Z,EAAE6Y,GAAGhZ,EAAE,CAACiZ,GAAG,EAAEC,IAAG,IAAKrlB,KAAK+uC,GAAGziC,GAAGJ,CAAC,CAAC,EAAAu5B,CAAGx5B,EAAEC,EAAEC,GAAGF,EAAEw5B,GAAGv5B,EAAEC,EAAE,CAAC,EAAAu5B,CAAGz5B,EAAEC,EAAEC,GAAGF,EAAEy5B,GAAGx5B,EAAEC,GAAGnM,KAAKo7B,KAAKp7B,KAAK+uC,GAAG/uC,KAAK2vC,GAAG1jC,EAAE,GAAG,CAAC,EAAA05B,CAAG15B,EAAEC,GAAGD,EAAE05B,GAAGz5B,GAAGlM,KAAK+uC,GAAG/uC,KAAK2vC,GAAG1jC,EAAE,GAAG,CAAC,EAAA25B,CAAG35B,EAAEC,EAAEC,GAAGD,EAAEw1B,MAAMz1B,EAAE25B,GAAG15B,EAAEC,EAAE,CAAC,EAAA05B,CAAG55B,EAAEC,EAAEC,GAAGD,EAAEw1B,OAAOz1B,EAAE45B,GAAG35B,EAAEC,GAAGnM,KAAKo7B,KAAKp7B,KAAK+uC,GAAG/uC,KAAK2vC,GAAG1jC,EAAE,IAAI,CAAC,EAAA65B,CAAG75B,EAAEC,GAAGA,EAAEw1B,OAAOz1B,EAAE65B,GAAG55B,GAAGlM,KAAK+uC,GAAG/uC,KAAK2vC,GAAG1jC,EAAE,IAAI,CAAC,EAAA+5B,CAAG/5B,EAAEC,GAAGD,EAAE+5B,GAAG95B,GAAGlM,KAAK+uC,GAAG/uC,KAAK2vC,GAAG1jC,EAAE,GAAG,CAAC,EAAA2jC,CAAG3jC,GAAGjM,KAAK+4B,GAAGiK,GAAG/2B,EAAE,CAAC,EAAA4jC,CAAG5jC,EAAEC,GAAG,MAAMC,EAAEnM,KAAK0b,KAAK,GAAGvP,EAAEgV,MAAM,IAAIjV,EAAE,OAAO,MAAMI,EAAEH,EAAEqV,KAAKvV,EAAEjG,KAAK2Q,IAAI,EAAE3Q,KAAK0Q,IAAIzK,EAAEK,IAAIH,EAAE2+B,GAAG7+B,EAAEC,GAAGlM,KAAKoqC,IAAI,CAAC,EAAA0F,CAAG7jC,GAAGjM,KAAK+vC,GAAG,GAAG/vC,KAAKgwC,GAAG/jC,GAAGjM,KAAKiwC,IAAI,CAAC,EAAAC,CAAGjkC,GAAGjM,KAAK+4B,GAAGkK,GAAGh3B,GAAGjM,KAAKoqC,IAAI,CAAC,EAAA+F,GAAKnwC,KAAK+4B,GAAGmK,KAAKljC,KAAK61B,IAAI,CAAC,EAAAka,CAAG9jC,GAAGjM,KAAK+4B,GAAGoK,GAAGl3B,EAAE,CAAC,EAAA+jC,CAAG/jC,GAAGjM,KAAK+4B,GAAGqK,GAAGn3B,GAAGjM,KAAKoqC,IAAI,CAAC,EAAA6F,GAAKjwC,KAAK+4B,GAAGsK,KAAKrjC,KAAK61B,IAAI,CAAC,EAAAza,GAAK,OAAOpb,KAAKguC,EAAE,CAAC,EAAAoC,CAAGnkC,EAAEC,EAAEC,EAAEG,EAAElE,GAAGpI,KAAKkb,GAAG2I,GAAG5X,EAAEC,GAAG,IAAInD,EAAE4P,IAAIzP,EAAElJ,KAAK+4B,GAAGmR,GAAGj+B,GAAG,MAAMxI,EAAEzD,KAAK+4B,GAAGnP,KAAK,OAAOnmB,IAAIyF,EAAElD,KAAK0Q,IAAI1Q,KAAK2Q,IAAIlT,EAAEilB,KAAKxf,GAAGzF,EAAEyb,OAAO,MAAM/U,EAAEmC,EAAEiX,KAAKjiB,EAAE6I,EAAE0R,KAAK,OAAOva,IAAIyH,EAAEoB,EAAEqZ,GAAGtX,EAAE5K,IAAIyH,EAAE/I,KAAKwuC,GAAG7Q,GAAG50B,EAAEG,EAAEoD,GAAGtM,KAAKkb,GAAG+I,GAAG/a,EAAEH,EAAEuD,GAAGtM,KAAKi8B,KAAK7zB,GAAGpI,KAAKmuC,GAAGvhC,EAAE5M,KAAKkb,GAAGO,KAAK,CAAChF,EAAExK,EAAE6K,EAAE5K,GAAGC,EAAE,CAAC,EAAAkkC,CAAGpkC,EAAEC,EAAEC,GAAG,MAAMG,EAAEH,EAAEoX,KAAKnb,EAAEkE,EAAEuP,KAAK9S,EAAEuD,EAAE2P,GAAGhQ,EAAEY,EAAEzE,IAAIc,EAAElJ,KAAK+4B,GAAG0E,GAAGvxB,GAAE,GAAIzI,EAAEzD,KAAK+4B,GAAGzc,GAAGzP,EAAE3D,IAAIlJ,KAAKowC,GAAG3sC,EAAEsF,EAAE,KAAKoD,GAAE,EAAG,CAAC,EAAAmkC,CAAGrkC,GAAGjM,KAAKwvC,KAAKrrB,KAAKnkB,KAAKi8B,KAAKhwB,GAAGjM,KAAKmuC,GAAGvhC,EAAE,KAAK,KAAK,KAAK,CAAC,EAAAwuB,GAAK,MAAMnvB,EAAEjM,KAAKkb,GAAG8B,KAAK,GAAG,OAAO/Q,EAAE,CAAC,MAAMC,EAAElM,KAAKkb,GAAG6I,KAAK5X,EAAEnM,KAAKkb,GAAG8I,KAAKhkB,KAAKowC,GAAGlkC,EAAEC,EAAE,KAAKF,EAAE,CAACjM,KAAKkb,GAAGuJ,IAAI,CAAC,EAAA8rB,CAAGtkC,EAAEC,EAAEC,GAAG,MAAMG,EAAEtM,KAAK+4B,GAAGtV,GAAG,QAAG,IAASvX,QAAG,IAASC,GAAGnM,KAAK+4B,GAAG5d,GAAGjP,EAAEC,GAAG,MAAM/D,EAAEpI,KAAK+4B,GAAGtV,GAAG,GAAG1a,EAAE/I,KAAK+4B,GAAGkR,KAAK/gC,EAAElJ,KAAK+4B,GAAGnP,KAAK,GAAG,OAAO1gB,GAAG,OAAOoD,GAAG,OAAOlE,EAAE,CAAC,MAAM8D,EAAEhD,EAAEwoB,GAAG3oB,GAAGtF,EAAEzD,KAAKumC,GAAG+C,IAAIh9B,GAAGtM,KAAKumC,GAAG+C,IAAIlhC,GAAG+B,EAAE,OAAO8B,GAAGA,EAAElD,IAAItF,EAAEnC,EAAEtB,KAAK+4B,GAAGrgB,IAAI83B,8CAA8C1lC,EAAEoB,WAAM,IAASC,IAAI7K,IAAItB,KAAK+4B,GAAGrgB,IAAI+3B,0BAA0B,GAAGtmC,IAAIW,EAAE,CAAC,MAAMoB,EAAED,EAAElD,EAAE/I,KAAK+4B,GAAG/S,GAAGhmB,KAAK+4B,GAAGuR,KAAKp+B,EAAE,CAAC,CAAClM,KAAK+4B,GAAG8R,GAAG5+B,EAAE,CAAC,EAAAsvB,CAAGtvB,GAAG,OAAOA,GAAGA,EAAEi6B,IAAI,CAAC,EAAA7W,CAAGpjB,GAAG,MAAMC,EAAElM,KAAK+tC,GAAG1nC,KAAM6F,GAAGA,EAAEw2B,KAAK7qB,SAAS5L,IAAK,YAAO,IAASC,EAAE,KAAKA,CAAC,CAAC,EAAAk+B,GAAKpqC,KAAKyuC,GAAGhqB,KAAKzkB,KAAK+tC,GAAGlsC,QAASoK,GAAGA,EAAEi6B,MAAOlmC,KAAKo7B,IAAI,CAAC,CAAAxkB,GAAI5W,KAAK+tC,GAAGlsC,QAASoK,GAAGA,EAAE2K,KAAM5W,KAAK+tC,GAAG9qC,OAAO,EAAEjD,KAAKojB,GAAGshB,aAAad,oBAAe,EAAO5jC,KAAKojB,GAAGshB,aAAab,yBAAoB,EAAO7jC,KAAKojB,GAAGshB,aAAamH,mBAAc,CAAM,CAAC,EAAA6E,GAAK,OAAO1wC,KAAKsuC,EAAE,CAAC,EAAA7e,GAAK,OAAOzvB,KAAKsuC,GAAG51B,GAAG,CAAC,EAAAosB,GAAK,OAAO9kC,KAAKkuC,EAAE,CAAC,EAAAyC,CAAG1kC,EAAEC,EAAEC,GAAG,MAAMG,EAAEtM,KAAK+tC,GAAG,GAAG3lC,EAAEpI,KAAK4wC,GAAG1kC,EAAED,EAAEK,EAAEH,GAAG,OAAOnM,KAAKguC,GAAG7sC,KAAKiH,GAAG,IAAIpI,KAAKguC,GAAG/qC,OAAOjD,KAAKk7B,KAAKl7B,KAAK61B,KAAKztB,CAAC,CAAC,EAAAyoC,CAAG5kC,GAAG,MAAMC,EAAElM,KAAKqvB,GAAGpjB,GAAGE,EAAEnM,KAAKguC,GAAGpS,QAAQ3vB,GAAGU,GAAE,IAAKR,EAAE,oBAAoBnM,KAAKguC,GAAGt2B,OAAOvL,EAAE,GAAGU,EAAEX,GAAG22B,GAAG52B,GAAGA,EAAE2K,GAAG3K,EAAE2K,GAAG,CAAC,EAAAqkB,CAAGhvB,EAAEC,GAAG,MAAMC,EAAEU,EAAE7M,KAAKqvB,GAAGpjB,IAAIE,EAAE02B,GAAG52B,GAAG,MAAMK,EAAEtM,KAAKqvC,GAAGnjC,GAAG,GAAG,OAAOI,EAAE,CAAC,MAAMA,EAAEL,EAAE+V,KAAK7V,EAAEw2B,GAAG12B,EAAEC,EAAEI,EAAE,KAAK,CAAC,MAAMlE,EAAEkE,EAAE0Q,KAAK7Q,EAAEF,EAAE+V,UAAK,EAAO1V,EAAE0Q,GAAG2lB,GAAG12B,EAAEC,EAAE9D,EAAE,CAAC,CAAC,EAAAujC,GAAK,MAAM1/B,EAAE6O,GAAGsL,KAAKna,EAAEuZ,KAAKxlB,KAAK+uC,GAAG9iC,EAAE,CAAC,EAAA6kC,CAAG7kC,GAAG,MAAMC,EAAE4O,GAAGsL,KAAKla,EAAEyZ,GAAG1Z,GAAGjM,KAAK+uC,GAAG7iC,EAAE,CAAC,EAAA4Z,GAAK,MAAM7Z,EAAE6O,GAAGsL,KAAKna,EAAE6Z,KAAK9lB,KAAK+uC,GAAG9iC,EAAE,CAAC,EAAA8Z,CAAG9Z,GAAG,MAAMC,EAAE4O,GAAGsL,KAAKla,EAAE6Z,GAAG9Z,GAAGjM,KAAK+uC,GAAG7iC,EAAE,CAAC,EAAA8Z,CAAG/Z,GAAG,MAAMC,EAAE4O,GAAGsL,KAAKla,EAAE8Z,GAAG/Z,GAAGjM,KAAK+uC,GAAG7iC,EAAE,CAAC,EAAA0Z,CAAG3Z,GAAG,MAAMC,EAAE4O,GAAGsL,KAAKla,EAAE0Z,GAAG3Z,GAAGjM,KAAK+uC,GAAG7iC,EAAE,CAAC,EAAAuZ,GAAK,MAAMxZ,EAAE6O,GAAGsL,KAAKna,EAAEwZ,KAAKzlB,KAAK+uC,GAAG9iC,EAAE,CAAC,EAAA8kC,GAAK,OAAO/wC,KAAKojB,GAAGmhB,gBAAgBt5B,QAAQ,QAAQ,MAAM,CAAC,EAAA+lC,GAAK,OAAOhxC,KAAK8uC,EAAE,CAAC,CAAA51B,GAAI,OAAOlZ,KAAK4uC,EAAE,CAAC,EAAAxyB,CAAGnQ,GAAG,MAAMC,EAAElM,KAAK8uC,GAAG3iC,EAAEnM,KAAK4uC,GAAG,GAAG1iC,IAAIC,EAAE,OAAOD,EAAE,GAAGD,EAAEjG,KAAK2Q,IAAI,EAAE3Q,KAAK0Q,IAAI,IAAI1Q,KAAKC,MAAM,IAAIgG,KAAK,OAAOjM,KAAKouC,IAAIpuC,KAAKouC,GAAG9lB,KAAKnc,GAAGnM,KAAKouC,GAAG7lB,KAAKrc,EAAElM,KAAKouC,GAAG,CAAC9lB,GAAGnc,EAAEoc,GAAGrc,EAAE+kC,GAAG,IAAInuB,SAAS,CAAC,MAAM5W,EAAElM,KAAKouC,GAAG6C,GAAGrwC,IAAIqL,GAAG,QAAG,IAASC,EAAE,OAAOA,CAAC,CAAC,MAAMI,EAAE,SAASL,EAAEC,EAAEC,GAAG,MAAMG,EAAElE,EAAEW,EAAEG,GAAG8N,EAAE/K,IAAIxI,EAAE0G,EAAE7I,EAAEwJ,GAAGkM,EAAE9K,GAAGnB,EAAE,CAACyL,EAAElK,EAAEH,GAAG1I,EAAE6I,IAAIkK,EAAEpO,EAAE+D,GAAGhC,EAAE/B,IAAIoO,EAAEzN,EAAEoD,GAAG7K,EAAEyH,IAAI0N,EAAEvN,EAAEiD,GAAGrB,EAAE5B,KAAK,MAAM,QAAQ6B,EAAE,OAAOA,EAAE,OAAOA,EAAE,OAAOA,EAAE,KAAK,CAA3J,CAA6JoB,EAAED,EAAED,EAAE,KAAK,OAAOjM,KAAKouC,GAAG6C,GAAGlsB,IAAI9Y,EAAEK,GAAGA,CAAC,CAAC,EAAAqjC,CAAG1jC,EAAEC,GAAG,MAAMC,EAAE,IAAI2O,GAAG5O,GAAG,GAAG,OAAOD,EAAE,CAAC,MAAMK,EAAEtM,KAAK+tC,GAAGnS,QAAQ3vB,GAAGE,EAAEgZ,GAAG7Y,EAAE,CAAC8Y,GAAGlZ,GAAG,CAAC,OAAOC,CAAC,CAAC,EAAA6iC,CAAG/iC,EAAEC,GAAG,YAAO,IAASA,IAAIA,EAAE,GAAGlM,KAAK2vC,GAAG3vC,KAAKqvB,GAAGpjB,GAAGC,EAAE,CAAC,EAAA6iC,CAAG9iC,GAAGjM,KAAKquC,IAAIruC,KAAKquC,GAAGpiC,GAAGjM,KAAK+tC,GAAGlsC,QAASoK,GAAGA,EAAEm6B,KAAKtQ,KAAK3a,KAAM,CAAC,EAAAy1B,CAAG3kC,EAAEC,EAAEC,EAAEG,GAAG,MAAMlE,EAAE,IAAI8Z,GAAGliB,KAAKiM,EAAEC,EAAEC,EAAEG,GAAGvD,OAAE,IAASkD,EAAE+uB,aAAa/uB,EAAE+uB,aAAah7B,KAAK+wC,KAAK,OAAO5kC,EAAEw2B,GAAGv6B,EAAEW,GAAG8R,GAAG9R,IAAIX,EAAEwtB,GAAG3pB,GAAG7D,CAAC,CAAC,EAAAymC,CAAG5iC,GAAG,MAAMC,EAAElM,KAAKojB,GAAGpK,OAAO,MAAM,aAAa9M,EAAEglC,WAAW7mC,KAAK,IAAI4B,EAAEC,EAAEglC,WAAWnnC,SAASmC,EAAEglC,WAAWlnC,YAAYkC,EAAEglC,WAAW/nC,KAAK,EAAE,SAAS+b,GAAGjZ,GAAG,OAAO+L,EAAE/L,KAAKkM,EAAElM,EAAE,CAAC,SAASkZ,GAAGlZ,GAAG,OAAO+L,EAAE/L,EAAE,EAAE,SAASA,GAAGA,EAAEA,EAAEklC,SAAS,GAAG,WAAWllC,EAAEA,EAAEmlC,WAAW,GAAG,aAAanlC,EAAEA,EAAEolC,aAAa,GAAG,cAAc,CAAxG,CAA0G1sB,KAAKA,GAAG,CAAA,IAAK,SAAS1Y,GAAGA,EAAEA,EAAEqlC,QAAQ,GAAG,UAAUrlC,EAAEA,EAAEslC,YAAY,GAAG,aAAa,CAArE,CAAuEzsB,KAAKA,GAAG,CAAA,IAAK,SAAS7Y,GAAGA,EAAEiB,MAAM,QAAQjB,EAAEulC,iBAAiB,UAAU,CAAzD,CAA2D3sB,KAAKA,GAAG,CAAA,IAAK,SAAS5Y,GAAGA,EAAEA,EAAEwlC,KAAK,GAAG,OAAOxlC,EAAEA,EAAEylC,MAAM,GAAG,QAAQzlC,EAAEA,EAAE0lC,WAAW,GAAG,aAAa1lC,EAAEA,EAAE2lC,KAAK,GAAG,OAAO3lC,EAAEA,EAAE4lC,gBAAgB,GAAG,iBAAiB,CAA9I,CAAgJ7sB,KAAKA,GAAG,CAAA,IAAK,MAAMI,GAAGnZ,GAAGA,EAAE6lC,iBAAkc,MAAMxsB,GAAG,WAAA9N,CAAYvL,EAAE,aAAaC,EAAE,WAAWlM,KAAK+xC,GAAG9lC,EAAEjM,KAAKgyC,GAAG9lC,CAAC,CAAC,EAAAs6B,CAAGv6B,GAAG,OAA5f,SAAYA,EAAEC,EAAEC,GAAG,OAAOD,EAAEgb,QAAQ,QAAQ,CAACjb,GAAG+O,GAAGoK,GAAGnZ,GAAG,GAAb,CAAiBA,IAAIib,QAAQ,MAAM,CAACjb,GAAG+O,GAAGoK,GAAGnZ,GAAG,IAAI,GAAjB,CAAqBA,IAAIib,QAAQ,QAAQ,EAAEjb,EAAEC,IAAI,IAAI+lC,KAAKhmC,EAAE6lC,iBAAiB7lC,EAAEimC,cAAc,GAAGC,eAAejmC,EAAE,CAACkmC,MAAM,SAA/E,CAAyFnmC,EAAEE,IAAI+a,QAAQ,OAAO,EAAEjb,EAAEC,IAAI,IAAI+lC,KAAKhmC,EAAE6lC,iBAAiB7lC,EAAEimC,cAAc,GAAGC,eAAejmC,EAAE,CAACkmC,MAAM,UAA/E,CAA0FnmC,EAAEE,IAAI+a,QAAQ,MAAM,CAACjb,GAAG+O,GAAG,CAAC/O,GAAGA,EAAEimC,cAAc,EAApB,CAAuBjmC,GAAG,GAAjC,CAAqCA,IAAIib,QAAQ,MAAM,CAACjb,GAAG+O,GAAG,CAAC/O,GAAGA,EAAEomC,aAAN,CAAoBpmC,GAAG,GAA9B,CAAkCA,GAAG,CAAmFoZ,CAAGpZ,EAAEjM,KAAK+xC,GAAG/xC,KAAKgyC,GAAG,EAAE,MAAMzsB,GAAG,WAAA/N,CAAYvL,GAAGjM,KAAKsyC,GAAGrmC,GAAG,UAAU,CAAC,EAAAu6B,CAAGv6B,GAAG,OAAOjM,KAAKsyC,GAAGprB,QAAQ,KAAKlM,GAAG/O,EAAEsmC,cAAc,IAAIrrB,QAAQ,KAAKlM,GAAG/O,EAAEumC,gBAAgB,IAAItrB,QAAQ,KAAKlM,GAAG/O,EAAEwmC,gBAAgB,GAAG,EAAE,MAAMjtB,GAAG,CAACktB,GAAG,aAAaC,GAAG,WAAWC,GAAG,IAAIC,GAAG,WAAW,MAAMptB,GAAG,WAAAjO,CAAYvL,EAAE,CAAA,GAAI,MAAMC,EAAExL,OAAO4oB,OAAO5oB,OAAO4oB,OAAO,CAAA,EAAG9D,IAAIvZ,GAAGjM,KAAK8yC,GAAG,IAAIxtB,GAAGpZ,EAAEwmC,GAAGxmC,EAAE2mC,IAAI7yC,KAAK+yC,GAAG,IAAIxtB,GAAGrZ,EAAEymC,IAAI3yC,KAAKgzC,GAAG9mC,EAAE0mC,EAAE,CAAC,EAAApM,CAAGv6B,GAAG,MAAM,GAAGjM,KAAK8yC,GAAGtM,GAAGv6B,KAAKjM,KAAKgzC,KAAKhzC,KAAK+yC,GAAGvM,GAAGv6B,IAAI,EAAE,SAASyZ,GAAGzZ,GAAG,OAAO,GAAGA,EAAE,GAAG,GAAG,CAAC,SAAS0Z,GAAG1Z,GAAG,OAAO,GAAGA,EAAE,GAAG,CAAC,MAAM2Z,GAAG,CAAC,CAACqtB,GAAS,IAAQC,GAAG,IAAI,CAACD,GAAGttB,GAAG,GAAGutB,GAAG,IAAI,CAACD,GAAGttB,GAAG,GAAGutB,GAAG,IAAI,CAACD,GAAGttB,GAAG,IAAIutB,GAAG,IAAI,CAACD,GAAGvtB,GAAG,GAAGwtB,GAAG,IAAI,CAACD,GAAGvtB,GAAG,GAAGwtB,GAAG,IAAI,CAACD,GAAGvtB,GAAG,GAAGwtB,GAAG,IAAI,CAACD,GAAGvtB,GAAG,IAAIwtB,GAAG,KAAY,SAASptB,GAAG7Z,EAAEC,GAAG,GAAGD,EAAE6lC,mBAAmB5lC,EAAE4lC,iBAAiB,OAAO,GAAG,GAAG7lC,EAAEimC,gBAAgBhmC,EAAEgmC,cAAc,OAAO,GAAG,GAAGjmC,EAAEomC,eAAenmC,EAAEmmC,aAAa,OAAO,GAAG,IAAI,IAAIlmC,EAAEyZ,GAAG3iB,OAAO,EAAEkJ,GAAG,IAAIA,EAAE,GAAGnG,KAAK8T,MAAM5N,EAAEinC,UAAUvtB,GAAGzZ,GAAG8mC,MAAMjtC,KAAK8T,MAAM7N,EAAEknC,UAAUvtB,GAAGzZ,GAAG8mC,IAAI,OAAOrtB,GAAGzZ,GAAG+mC,GAAG,OAAO,CAAC,CAAC,SAASntB,GAAG9Z,GAAG,IAAIC,EAAED,EAAE,GAAGkM,EAAElM,KAAKC,EAAE+Z,GAAGha,KAAKiZ,GAAGhZ,GAAG,MAAM,IAAIzM,MAAM,oCAAoC,MAAM0M,EAAE,IAAI8lC,KAAKA,KAAKmB,IAAIlnC,EAAEmnC,KAAKnnC,EAAEkmC,MAAM,EAAElmC,EAAEonC,IAAI,EAAE,EAAE,EAAE,IAAI,MAAM,CAACC,GAAGvtC,KAAKC,MAAMkG,EAAEgnC,UAAU,KAAKK,GAAGtnC,EAAE,CAAC,SAAS8Z,GAAG/Z,GAAG,IAAIkZ,GAAGlZ,GAAG,MAAM,IAAIxM,MAAM,uCAAuC,MAAM,CAAC8zC,GAAGtnC,EAAE,CAAC,SAASga,GAAGha,GAAG,MAAMC,EAAE,IAAI+lC,KAAKhmC,GAAG,GAAG2Y,MAAM1Y,EAAEinC,WAAW,MAAM,IAAI1zC,MAAM,uBAAuBwM,iCAAiC,MAAM,CAACqnC,IAAIpnC,EAAEmmC,aAAaD,MAAMlmC,EAAEgmC,cAAc,EAAEmB,KAAKnnC,EAAE4lC,iBAAiB,CAAC,SAAS5rB,GAAGja,GAAGkM,EAAElM,EAAEuhB,QAAQvhB,EAAEuhB,KAAKvH,GAAGha,EAAEuhB,MAAM,CAAC,MAAMimB,GAAG,OAAAxxC,GAAU,OAAOjC,KAAKojB,EAAE,CAAC,UAAAswB,CAAWznC,GAAGjM,KAAKojB,GAAGnX,EAAEjM,KAAKgtC,gBAAgB/gC,EAAEy4B,aAAa,CAAC,cAAAiP,CAAe1nC,GAAG6L,MAAMC,QAAQ9L,GAAG,SAASA,GAAGA,EAAEpK,QAAQqkB,GAAG,CAAzB,CAA2Bja,GAAGia,GAAGja,EAAE,CAAC,4BAAA2nC,CAA6B3nC,GAAG,OAAOY,EAAE,SAASZ,GAAG,OAAO,IAAIA,EAAEhJ,OAAO,KAAKiiB,GAAGjZ,EAAE,GAAGuhB,OAAOrV,EAAElM,EAAE,GAAGuhB,MAAMzH,GAAGC,EAAE,CAAtE,CAAwE/Z,GAAG,CAAC,GAAAq9B,CAAIr9B,GAAG,MAAM,iBAAiBA,GAAG,OAAOA,EAAEA,EAAEsnC,GAAGvzC,KAAKspC,IAAItpC,KAAK6zC,0BAA0B5nC,GAAG,CAAC,QAAAw6B,CAASx6B,GAAG,MAAMC,EAAED,EAAE,YAAO,IAASC,EAAEsnC,GAAG,IAAIvB,KAAK,IAAI/lC,EAAEqnC,IAAIJ,UAAU,IAAIlB,KAAKA,KAAKmB,IAAIlnC,EAAEsnC,GAAGH,KAAKnnC,EAAEsnC,GAAGpB,MAAM,EAAElmC,EAAEsnC,GAAGF,MAAMH,SAAS,CAAC,yBAAAU,CAA0B5nC,GAAG,OAAOkZ,GAAGjZ,EAAED,GAAG+Z,GAAG9Z,GAAGgZ,GAAGhZ,GAAG6Z,GAAG7Z,GAAG6Z,GAAGE,GAAG/Z,IAAI,IAAIA,CAAC,CAAC,eAAA8gC,CAAgB/gC,GAAG,IAAIjM,KAAKojB,GAAG,OAAO,MAAMlX,EAAED,EAAE6nC,WAAW9zC,KAAKojB,GAAGmrB,UAAUwF,YAAY/zC,KAAKg0C,GAAG,IAAIvuB,GAAG,CAACitB,GAAGxmC,EAAEymC,GAAG3yC,KAAKojB,GAAGmrB,UAAU0F,eAAe,WAAW,QAAQrB,GAAG,MAAMC,GAAG5mC,EAAEioC,SAASl0C,KAAKg0C,GAAG,IAAI1uB,GAAGpZ,EAAED,EAAEioC,OAAO,CAAC,cAAApI,CAAe7/B,GAAG,MAAMC,EAAED,EAAE,OAAOjM,KAAKg0C,GAAGxN,GAAG,IAAIyL,KAAK,IAAI/lC,EAAEqnC,IAAI,CAAC,cAAAxG,CAAe9gC,EAAEC,GAAG,MAAMC,EAAE,SAASF,EAAEC,EAAEC,GAAG,OAAOF,GAAG,KAAK,EAAE,KAAK,GAAG,OAAOC,EAAEC,EAAE,EAAE,EAAE,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,OAAOD,EAAE,EAAE,EAAE,KAAK,GAAG,OAAO,EAAE,KAAK,GAAG,OAAO,EAAE,KAAK,GAAG,OAAO,EAAE,CAAlL,CAAoLD,EAAEo7B,OAAOrnC,KAAKojB,GAAGmrB,UAAUwF,YAAY/zC,KAAKojB,GAAGmrB,UAAU0F,gBAAgB3nC,EAAEtM,KAAKojB,GAAGmrB,UAAU,QAAG,IAASjiC,EAAE6nC,kBAAkB,CAAC,MAAM/rC,EAAEkE,EAAE6nC,kBAAkBloC,EAAEyxB,aAAavxB,EAAED,EAAEgoC,QAAQ,GAAG,OAAO9rC,EAAE,OAAOA,CAAC,CAAC,OAAO,SAAS6D,EAAEC,EAAEC,GAAG,MAAMG,EAAE,CAAA,EAAG,OAAOJ,GAAG,KAAK,EAAEI,EAAE+mC,KAAK,UAAU,MAAM,KAAK,EAAE/mC,EAAE8lC,MAAM,QAAQ,MAAM,KAAK,EAAE9lC,EAAEgnC,IAAI,UAAU,MAAM,KAAK,EAAEhnC,EAAE8nC,QAAO,EAAG9nC,EAAE+nC,KAAK,UAAU/nC,EAAEgoC,OAAO,UAAU,MAAM,KAAK,EAAEhoC,EAAE8nC,QAAO,EAAG9nC,EAAE+nC,KAAK,UAAU/nC,EAAEgoC,OAAO,UAAUhoC,EAAE1M,OAAO,UAAU,MAAMwI,OAAE,IAAS6D,EAAEunC,GAAG,IAAIvB,KAAK,IAAIhmC,EAAEsnC,IAAI,IAAItB,KAAKA,KAAKmB,IAAInnC,EAAEunC,GAAGH,KAAKpnC,EAAEunC,GAAGpB,MAAM,EAAEnmC,EAAEunC,GAAGF,MAAM,OAAO,IAAIrB,KAAK7pC,EAAE0pC,iBAAiB1pC,EAAE8pC,cAAc9pC,EAAEiqC,aAAajqC,EAAEmqC,cAAcnqC,EAAEoqC,gBAAgBpqC,EAAEqqC,gBAAgBrqC,EAAEmsC,sBAAsBpC,eAAehmC,EAAEG,EAAE,CAAlgB,CAAogBL,EAAEuhB,KAAKrhB,EAAED,EAAEgoC,OAAO,CAAC,iBAAAM,CAAkBvoC,GAAG,IAAIC,EAAED,EAAEknB,OAAOhP,GAAGlY,EAAE,IAAIo7B,OAAO,OAAOn7B,EAAE,IAAIA,EAAE,KAAKA,EAAE,IAAIA,CAAC,CAAC,oBAAAuoC,CAAqBxoC,EAAEC,IAAI,SAASD,EAAEC,EAAE,GAAG,GAAG,IAAID,EAAEhJ,OAAO,OAAO,IAAIkJ,EAAE,IAAID,EAAE,KAAKD,EAAEC,EAAE,GAAGshB,KAAK+lB,GAAGjnC,EAAE,OAAOH,EAAE,IAAI8lC,KAAK,IAAI9lC,GAAG,KAAK/D,EAAE,EAAE,IAAI,IAAIW,EAAEmD,EAAEnD,EAAEkD,EAAEhJ,SAAS8F,EAAE,CAAC,MAAMmD,EAAED,EAAElD,GAAGG,EAAE,IAAI+oC,KAAK,IAAI/lC,EAAEshB,KAAK+lB,IAAI,OAAOjnC,IAAIJ,EAAEi7B,WAAWrhB,GAAG5c,EAAEoD,IAAIlE,GAAG8D,EAAEshB,KAAK+lB,IAAIpnC,GAAGD,EAAEshB,KAAK+lB,IAAIpnC,EAAED,EAAEshB,KAAK+lB,GAAGjnC,EAAEpD,CAAC,CAAC,GAAG,IAAIgD,GAAGD,EAAEhJ,OAAO,EAAE,CAAC,MAAMiJ,EAAElG,KAAK+Z,KAAK3X,GAAG6D,EAAEhJ,OAAO,IAAIkJ,EAAE,IAAI8lC,KAAK,KAAKhmC,EAAE,GAAGuhB,KAAK+lB,GAAGrnC,IAAID,EAAE,GAAGk7B,WAAWrhB,GAAG,IAAImsB,KAAK,IAAIhmC,EAAE,GAAGuhB,KAAK+lB,IAAIpnC,EAAE,CAAC,CAArY,CAAuYF,EAAEC,EAAE,CAAC,SAAOwoC,CAAGzoC,GAAG,OAAO0L,EAAE,CAAC+sB,aAAa,CAACoP,WAAW,eAAe,MAAM7nC,EAAEA,EAAE,CAAA,EAAG,EAAE,MAAMka,GAAG,oBAAoBwuB,OAAO,SAASvuB,KAAK,QAAQD,IAAIwuB,OAAOC,UAAUC,UAAU59B,cAAc2kB,QAAQ,YAAW,CAAE,CAAC,SAASvV,KAAK,QAAQF,IAAI,mBAAmB2uB,KAAKH,OAAOC,UAAUG,SAAS,CAAC,SAASvuB,GAAGva,GAAG,OAAOA,EAAEA,EAAE,CAAC,CAAC,SAASwa,GAAGxa,EAAEC,GAAG,OAAOD,EAAE+oC,GAAG9oC,EAAE8oC,EAAE,CAAC,SAASruB,GAAG1a,EAAEC,EAAEC,GAAG,MAAMG,GAAGL,EAAE+oC,GAAG9oC,EAAE8oC,KAAK/oC,EAAE2O,GAAG1O,EAAE0O,IAAI,OAAO5U,KAAKivC,KAAK3oC,GAAGtG,KAAK0Q,IAAI1Q,KAAKyb,IAAInV,GAAGH,EAAE,CAAC,MAAM+oC,GAAG,WAAA19B,CAAYvL,EAAEC,EAAEC,EAAEG,GAAGtM,KAAKm1C,GAAG,KAAKn1C,KAAKo1C,GAAG,KAAKp1C,KAAKq1C,GAAG,KAAKr1C,KAAKs1C,GAAG,KAAKt1C,KAAKu1C,GAAG,KAAKv1C,KAAKw1C,GAAG,EAAEx1C,KAAKy1C,GAAG,EAAEz1C,KAAK01C,GAAGzpC,EAAEjM,KAAK21C,GAAGzpC,EAAElM,KAAK41C,GAAGzpC,EAAEnM,KAAKwmB,GAAGla,CAAC,CAAC,EAAAupC,CAAG5pC,EAAEC,GAAG,GAAG,OAAOlM,KAAKm1C,GAAG,CAAC,GAAGn1C,KAAKm1C,GAAGv6B,KAAK1O,EAAE,YAAYlM,KAAKm1C,GAAGH,GAAG/oC,GAAG,GAAGjG,KAAKyb,IAAIzhB,KAAKm1C,GAAGH,GAAG/oC,GAAGjM,KAAKwmB,GAAG,MAAM,CAACxmB,KAAKs1C,GAAGt1C,KAAKq1C,GAAGr1C,KAAKq1C,GAAGr1C,KAAKo1C,GAAGp1C,KAAKo1C,GAAGp1C,KAAKm1C,GAAGn1C,KAAKm1C,GAAG,CAACv6B,GAAG1O,EAAE8oC,GAAG/oC,EAAE,CAAC,EAAAokB,CAAGpkB,EAAEC,GAAG,GAAG,OAAOlM,KAAKm1C,IAAI,OAAOn1C,KAAKo1C,GAAG,OAAO,GAAGlpC,EAAElM,KAAKm1C,GAAGv6B,GAAG,GAAG,OAAO,IAAIzO,EAAE,EAAE,MAAMG,EAAEqa,GAAG3mB,KAAKm1C,GAAGn1C,KAAKo1C,GAAGp1C,KAAK21C,IAAIvtC,EAAEqe,GAAGzmB,KAAKm1C,GAAGn1C,KAAKo1C,IAAIrsC,EAAE,CAACuD,GAAGpD,EAAE,CAACd,GAAG,GAAG+D,GAAG/D,EAAE,OAAOpI,KAAKq1C,GAAG,CAAC,MAAMppC,EAAE0a,GAAG3mB,KAAKo1C,GAAGp1C,KAAKq1C,GAAGr1C,KAAK21C,IAAI,GAAG3vC,KAAKivC,KAAKhpC,KAAKjG,KAAKivC,KAAK3oC,GAAG,CAAC,MAAMJ,EAAEua,GAAGzmB,KAAKo1C,GAAGp1C,KAAKq1C,IAAI,GAAGtsC,EAAE5H,KAAK8K,GAAG/C,EAAE/H,KAAK+K,GAAGC,GAAGD,EAAE,OAAOlM,KAAKs1C,GAAG,CAAC,MAAMrpC,EAAE0a,GAAG3mB,KAAKq1C,GAAGr1C,KAAKs1C,GAAGt1C,KAAK21C,IAAI,GAAG3vC,KAAKivC,KAAKhpC,KAAKjG,KAAKivC,KAAK3oC,GAAG,CAAC,MAAMJ,EAAEua,GAAGzmB,KAAKq1C,GAAGr1C,KAAKs1C,IAAIvsC,EAAE5H,KAAK8K,GAAG/C,EAAE/H,KAAK+K,GAAGC,GAAGD,CAAC,CAAC,CAAC,CAAC,CAAC,IAAIzI,EAAE,EAAE,IAAI,IAAIwI,EAAE,EAAEA,EAAElD,EAAE9F,SAASgJ,EAAExI,GAAGyF,EAAE+C,GAAGE,EAAEpD,EAAEkD,GAAGjG,KAAKyb,IAAIhe,GAAGzD,KAAK01C,KAAK11C,KAAKu1C,GAAG,CAACP,GAAG/oC,EAAE2O,GAAG1O,GAAGlM,KAAKy1C,GAAGhyC,EAAEzD,KAAKw1C,GAAG,SAASvpC,EAAEC,GAAG,MAAMC,EAAEnG,KAAK8vC,IAAI5pC,GAAG,OAAOlG,KAAK8vC,IAAI,EAAE3pC,GAAGF,GAAGE,CAAC,CAA3D,CAA6DnG,KAAKyb,IAAIhe,GAAGzD,KAAK41C,IAAI,CAAC,EAAAtK,CAAGr/B,GAAG,MAAMC,EAAEW,EAAE7M,KAAKu1C,IAAIppC,EAAEF,EAAEC,EAAE0O,GAAG,OAAO1O,EAAE8oC,GAAGh1C,KAAKy1C,IAAIzvC,KAAKihB,IAAIjnB,KAAK41C,GAAGzpC,GAAG,GAAGnG,KAAK8vC,IAAI91C,KAAK41C,GAAG,CAAC,EAAAvK,CAAGp/B,GAAG,OAAO,OAAOjM,KAAKu1C,IAAIv1C,KAAK+1C,GAAG9pC,KAAKjM,KAAKw1C,EAAE,CAAC,EAAAO,CAAG9pC,GAAG,MAAMC,EAAED,EAAEY,EAAE7M,KAAKu1C,IAAI36B,GAAG,OAAO5U,KAAK0Q,IAAIxK,EAAElM,KAAKw1C,GAAG,EAAE,MAAMQ,GAAG,WAAAx+B,CAAYvL,EAAEC,GAAGlM,KAAKi2C,QAAG,EAAOj2C,KAAKk2C,QAAG,EAAOl2C,KAAKm2C,QAAG,EAAOn2C,KAAK4iB,IAAG,EAAG5iB,KAAKo2C,GAAGnqC,EAAEjM,KAAKq2C,GAAGnqC,EAAElM,KAAKs2C,IAAI,CAAC,EAAAn7B,GAAKnb,KAAKs2C,IAAI,CAAC,KAAKt2C,KAAKi2C,IAAIj2C,KAAKo2C,GAAGG,YAAYv2C,KAAKi2C,IAAIj2C,KAAKk2C,IAAIl2C,KAAKo2C,GAAGG,YAAYv2C,KAAKk2C,IAAIl2C,KAAKi2C,QAAG,EAAOj2C,KAAKk2C,QAAG,CAAM,CAAC,EAAAM,GAAK,OAAOx2C,KAAK4iB,KAAK5iB,KAAKy2C,MAAMz2C,KAAKm2C,KAAKn2C,KAAK02C,IAAI,CAAC,EAAAA,GAAK,OAAOr/B,EAAEL,EAAEhX,KAAKq2C,GAAG39B,IAAIM,OAAOC,YAAY,IAAI,OAAO,OAAO,CAAC,EAAAw9B,GAAK,OAAOz2C,KAAKq2C,GAAG39B,IAAIM,OAAO29B,eAAe,CAAC,EAAAC,GAAK,MAAM3qC,EAAE,IAAI4qC,IAAIC,SAASC,MAAM,OAAO9qC,EAAE+qC,SAAS,eAAe/qC,EAAE+qC,SAAS/qC,EAAEgrC,SAAS,EAAE,CAAC,EAAAX,GAAKt2C,KAAKw2C,OAAOx2C,KAAKk3C,KAAKl3C,KAAK4iB,GAAG5iB,KAAKy2C,KAAKz2C,KAAK4iB,KAAK5iB,KAAKm2C,GAAGn2C,KAAK02C,KAAK12C,KAAKk2C,GAAGlxC,SAASmyC,cAAc,SAASn3C,KAAKk2C,GAAGkB,UAAU,gNAAgNp3C,KAAKi2C,GAAGjxC,SAASmyC,cAAc,KAAKn3C,KAAKi2C,GAAGc,KAAK,0EAA0E/2C,KAAK42C,OAAO52C,KAAKi2C,GAAGjrC,MAAM,0BAA0BhL,KAAKi2C,GAAG5iB,GAAG,eAAerzB,KAAKi2C,GAAG3vC,OAAO,SAAStG,KAAKi2C,GAAGoB,UAAU,+kBAA+kBr3C,KAAKi2C,GAAGqB,gBAAgB,YAAY,SAASt3C,KAAKm2C,IAAIn2C,KAAKo2C,GAAGmB,YAAYv3C,KAAKk2C,IAAIl2C,KAAKo2C,GAAGmB,YAAYv3C,KAAKi2C,KAAK,EAAE,SAASrvB,GAAG3a,EAAEE,GAAG,MAAMG,EAAEO,EAAEZ,EAAEtF,eAAewwC,cAAc,UAAUlrC,EAAEsrC,YAAYjrC,GAAG,MAAMlE,GFwM1j/F9B,EExMgk/F,CAAiCrE,QAAQ,CAACY,qBAAoB,GAAI20C,UAAU,CAACvrC,EAAEC,KAAC,CAAK3M,MAAMyG,KAAK2Q,IAAI1K,EAAE1M,MAAM2M,EAAE3M,OAAOC,OAAOwG,KAAK2Q,IAAI1K,EAAEzM,OAAO0M,EAAE1M,WF0Mvu/F,IAAIsC,EE1Mil/FwK,EF0Mri/FhG,EAAOkxC,UAAWlxC,EAAOrE,UAFjF,IAA+BqE,EExM4t/F,OAAO8B,EAAElF,oBAAoBiJ,GAAG/D,CAAC,CAAC,SAAS2e,GAAG9a,GAAG,IAAIC,EAAED,EAAE1M,MAAM,EAAE0M,EAAEzM,OAAO,EAAE,QAAQ0M,EAAED,EAAE9D,WAAW,aAAQ,IAAS+D,GAAGA,EAAEurC,UAAU,EAAE,EAAE,EAAE,EAAE,CAAC,SAASzwB,GAAG/a,EAAEC,EAAEC,EAAEG,GAAGL,EAAEmsB,IAAInsB,EAAEmsB,GAAGlsB,EAAEC,EAAEG,EAAE,CAAC,SAASgb,GAAGrb,EAAEC,EAAEC,EAAEG,GAAGL,EAAEsN,EAAErN,EAAEC,EAAEG,EAAE,CAAC,SAASib,GAAGtb,EAAEC,EAAEC,EAAEG,GAAG,MAAMlE,EAAE6D,EAAEE,EAAEG,GAAG,IAAI,MAAML,KAAK7D,EAAE,CAAC,MAAM+D,EAAEF,EAAEqP,KAAK,OAAOnP,GAAGD,EAAEC,EAAE,CAAC,CAAgI,MAAMsb,GAAG,WAAAjQ,CAAYvL,EAAEC,EAAEC,GAAGnM,KAAK03C,GAAG,EAAE13C,KAAK23C,GAAG,KAAK33C,KAAK43C,GAAG,CAAC19B,GAAGwJ,OAAOm0B,kBAAkB19B,GAAGuJ,OAAOo0B,mBAAmB93C,KAAK+3C,GAAG,EAAE/3C,KAAKg4C,GAAG,KAAKh4C,KAAKi4C,GAAG,CAAC/9B,GAAGwJ,OAAOm0B,kBAAkB19B,GAAGuJ,OAAOo0B,mBAAmB93C,KAAKk4C,GAAG,KAAKl4C,KAAKm4C,IAAG,EAAGn4C,KAAKo4C,GAAG,KAAKp4C,KAAKq4C,GAAG,KAAKr4C,KAAKs4C,IAAG,EAAGt4C,KAAKu4C,IAAG,EAAGv4C,KAAKw4C,IAAG,EAAGx4C,KAAKy4C,GAAG,KAAKz4C,KAAK04C,GAAG,KAAK14C,KAAK24C,GAAG,KAAK34C,KAAK44C,GAAG,KAAK54C,KAAK64C,GAAG,KAAK74C,KAAK84C,GAAG,KAAK94C,KAAK+4C,GAAG,KAAK/4C,KAAKg5C,GAAG,EAAEh5C,KAAKi5C,IAAG,EAAGj5C,KAAKk5C,IAAG,EAAGl5C,KAAKm5C,IAAG,EAAGn5C,KAAKo5C,GAAG,EAAEp5C,KAAKq5C,GAAG,KAAKr5C,KAAKs5C,IAAIjzB,KAAKrmB,KAAKu5C,GAAGttC,IAAIjM,KAAKw5C,GAAGvtC,IAAIjM,KAAKy5C,GAAGxtC,IAAI,GAAGjM,KAAK05C,GAAGztC,GAAG,CAAC,MAAMC,EAAElM,KAAK25C,GAAG1tC,GAAG,KAAKjM,KAAK+3C,GAAG/3C,KAAKg4C,IAAIh4C,KAAK+3C,GAAG,EAAE,CAAC,MAAM6B,GAAGztC,GAAGnM,KAAK65C,GAAGhyB,GAAG5b,GAAGjM,KAAKi4C,IAAI9rC,EAAE,KAAKnM,KAAKw4C,IAAIx4C,KAAK85C,GAAG5tC,EAAElM,KAAK+5C,GAAGC,IAAIh6C,KAAKi6C,IAAI,CAAC,KAAK,CAAC,MAAM/tC,EAAElM,KAAK25C,GAAG1tC,GAAG,KAAKjM,KAAK03C,GAAG13C,KAAK23C,IAAI33C,KAAK03C,GAAG,EAAE,CAAC,MAAMkC,GAAGztC,GAAGnM,KAAK65C,GAAGhyB,GAAG5b,GAAGjM,KAAK43C,IAAIzrC,EAAE,IAAInM,KAAKu4C,IAAIv4C,KAAKk6C,GAAGhuC,EAAElM,KAAK+5C,GAAGI,IAAIn6C,KAAKo6C,IAAI,CAAC,GAAGp6C,KAAKq6C,GAAGpuC,EAAEjM,KAAK+5C,GAAG7tC,EAAElM,KAAKojB,GAAGjX,EAAEnM,KAAKs6C,IAAI,CAAC,CAAA1jC,GAAI,OAAO5W,KAAKy4C,KAAKz4C,KAAKy4C,KAAKz4C,KAAKy4C,GAAG,MAAM,OAAOz4C,KAAK04C,KAAK14C,KAAK04C,KAAK14C,KAAK04C,GAAG,MAAM,OAAO14C,KAAK44C,KAAK54C,KAAK44C,KAAK54C,KAAK44C,GAAG,MAAM,OAAO54C,KAAK64C,KAAK74C,KAAK64C,KAAK74C,KAAK64C,GAAG,MAAM,OAAO74C,KAAK84C,KAAK94C,KAAK84C,KAAK94C,KAAK84C,GAAG,MAAM,OAAO94C,KAAK24C,KAAK34C,KAAK24C,KAAK34C,KAAK24C,GAAG,MAAM34C,KAAKu6C,KAAKv6C,KAAKo6C,IAAI,CAAC,EAAAI,CAAGvuC,GAAGjM,KAAK44C,IAAI54C,KAAK44C,KAAK,MAAM1sC,EAAElM,KAAKy6C,GAAG7yB,KAAK5nB,MAAM,GAAGA,KAAK44C,GAAG,KAAK54C,KAAKq6C,GAAGK,oBAAoB,YAAYxuC,IAAIlM,KAAKq6C,GAAGM,iBAAiB,YAAYzuC,GAAGlM,KAAK05C,GAAGztC,GAAG,OAAO,MAAME,EAAEnM,KAAK25C,GAAG1tC,GAAGjM,KAAKk6C,GAAG/tC,EAAEnM,KAAK+5C,GAAGa,IAAI56C,KAAKs5C,IAAG,CAAE,CAAC,EAAAc,GAAK,OAAOp6C,KAAK23C,IAAI9c,aAAa76B,KAAK23C,IAAI33C,KAAK03C,GAAG,EAAE13C,KAAK23C,GAAG,KAAK33C,KAAK43C,GAAG,CAAC19B,GAAGwJ,OAAOm0B,kBAAkB19B,GAAGuJ,OAAOo0B,kBAAkB,CAAC,EAAAmC,GAAK,OAAOj6C,KAAKg4C,IAAInd,aAAa76B,KAAKg4C,IAAIh4C,KAAK+3C,GAAG,EAAE/3C,KAAKg4C,GAAG,KAAKh4C,KAAKi4C,GAAG,CAAC/9B,GAAGwJ,OAAOm0B,kBAAkB19B,GAAGuJ,OAAOo0B,kBAAkB,CAAC,EAAA2C,CAAGxuC,GAAG,GAAGjM,KAAKm5C,IAAI,OAAOn5C,KAAKq4C,GAAG,OAAO,GAAGr4C,KAAK05C,GAAGztC,GAAG,OAAO,MAAMC,EAAElM,KAAK25C,GAAG1tC,GAAGjM,KAAKk6C,GAAGhuC,EAAElM,KAAK+5C,GAAGc,IAAI76C,KAAKs5C,IAAG,CAAE,CAAC,EAAAwB,CAAG7uC,GAAG,MAAMC,EAAE6b,GAAG9b,EAAE8uC,eAAeluC,EAAE7M,KAAKq5C,KAAK,GAAG,OAAOntC,EAAE,OAAO,GAAGlM,KAAKo5C,GAAGtxB,GAAG7b,GAAG,OAAOjM,KAAK+4C,GAAG,OAAO,GAAG/4C,KAAKk5C,GAAG,OAAOl5C,KAAKi5C,IAAG,EAAG,MAAM9sC,EAAEnM,KAAK65C,GAAGhyB,GAAG3b,GAAGW,EAAE7M,KAAKq4C,MAAM2C,GAAG1uC,EAAE2uC,GAAG7yC,EAAEwxC,GAAG7wC,GAAGoD,EAAE,GAAGnM,KAAKs4C,MAAMvvC,EAAE,GAAG,CAAC,IAAI/I,KAAKs4C,GAAG,CAAC,MAAMrsC,EAAE,GAAGK,EAAEJ,EAAE9D,GAAG6D,IAAIjM,KAAKojB,GAAG83B,KAAK/uC,EAAEF,EAAE7D,IAAIpI,KAAKojB,GAAG+3B,KAAKjvC,GAAGC,IAAInM,KAAKk5C,IAAG,GAAIl5C,KAAKs4C,IAAG,EAAGt4C,KAAKw4C,IAAG,EAAGx4C,KAAKu6C,KAAKv6C,KAAKi6C,IAAI,CAAC,IAAIj6C,KAAKk5C,GAAG,CAAC,MAAM/sC,EAAEnM,KAAK25C,GAAG1tC,EAAEC,GAAGlM,KAAK85C,GAAG3tC,EAAEnM,KAAK+5C,GAAGqB,IAAIzzB,GAAG1b,EAAE,CAAC,CAAC,CAAC,EAAAovC,CAAGpvC,GAAG,GAAG,IAAIA,EAAEqvC,OAAO,OAAO,MAAMpvC,EAAElM,KAAK65C,GAAGhyB,GAAG5b,GAAGY,EAAE7M,KAAKo4C,MAAMwB,GAAGztC,GAAGD,EAAE,GAAGC,GAAG,IAAInM,KAAKu4C,IAAG,EAAGv4C,KAAKo6C,MAAMp6C,KAAKu4C,GAAG,CAAC,MAAMrsC,EAAElM,KAAK25C,GAAG1tC,GAAGjM,KAAKk6C,GAAGhuC,EAAElM,KAAK+5C,GAAGwB,GAAG,CAAC,CAAC,EAAA1B,CAAG5tC,EAAEC,GAAG,MAAMC,EAAEnG,KAAKyb,IAAIvV,EAAEgO,GAAGjO,EAAEiO,IAAI5N,EAAEtG,KAAKyb,IAAIvV,EAAEiO,GAAGlO,EAAEkO,IAAI,MAAM,CAAC6gC,GAAG7uC,EAAE8uC,GAAG3uC,EAAEstC,GAAGztC,EAAEG,EAAE,CAAC,EAAAkvC,CAAGvvC,GAAG,IAAIC,EAAE6b,GAAG9b,EAAE8uC,eAAeluC,EAAE7M,KAAKq5C,KAAK,GAAG,OAAOntC,GAAG,IAAID,EAAEwvC,QAAQx4C,SAASiJ,EAAED,EAAE8uC,eAAe,IAAI,OAAO7uC,EAAE,OAAOlM,KAAKq5C,GAAG,KAAKr5C,KAAKo5C,GAAGtxB,GAAG7b,GAAGjM,KAAKu6C,KAAKv6C,KAAKq4C,GAAG,KAAKr4C,KAAK84C,KAAK94C,KAAK84C,KAAK94C,KAAK84C,GAAG,MAAM,MAAM3sC,EAAEnM,KAAK25C,GAAG1tC,EAAEC,GAAG,GAAGlM,KAAK85C,GAAG3tC,EAAEnM,KAAK+5C,GAAG2B,MAAM17C,KAAK+3C,GAAG/3C,KAAKg4C,IAAIh4C,KAAK+3C,GAAG,EAAE,CAAC,MAAM6B,GAAG3tC,GAAGjM,KAAK65C,GAAGhyB,GAAG3b,GAAGlM,KAAKi4C,IAAIhsC,EAAE,KAAKjM,KAAKw4C,IAAIx4C,KAAK85C,GAAG3tC,EAAEnM,KAAK+5C,GAAGC,IAAIh6C,KAAKi6C,IAAI,MAAMj6C,KAAKw4C,KAAKx4C,KAAK85C,GAAG3tC,EAAEnM,KAAK+5C,GAAG4B,IAAI37C,KAAK+5C,GAAG4B,IAAIh0B,GAAG1b,IAAI,IAAIjM,KAAK+3C,IAAIpwB,GAAG1b,GAAG,IAAIA,EAAEwvC,QAAQx4C,QAAQjD,KAAKm4C,KAAKn4C,KAAKm4C,IAAG,EAAGxwB,GAAG1b,GAAG,CAAC,EAAAutC,CAAGvtC,GAAG,GAAG,IAAIA,EAAEqvC,OAAO,OAAO,MAAMpvC,EAAElM,KAAK25C,GAAG1tC,GAAsJ,GAAhJjM,KAAKo4C,GAAG,KAAKp4C,KAAKm5C,IAAG,EAAGn5C,KAAK64C,KAAK74C,KAAK64C,KAAK74C,KAAK64C,GAAG,MAAMzyB,MAAMpmB,KAAKq6C,GAAG1zC,cAAci1C,gBAAgBlB,oBAAoB,aAAa16C,KAAKu5C,KAAQv5C,KAAK05C,GAAGztC,GAAG,GAAGjM,KAAKk6C,GAAGhuC,EAAElM,KAAK+5C,GAAG8B,MAAM77C,KAAK03C,GAAG13C,KAAK23C,IAAI33C,KAAK03C,GAAG,EAAE,CAAC,MAAMkC,GAAGztC,GAAGnM,KAAK65C,GAAGhyB,GAAG5b,GAAGjM,KAAK43C,IAAIzrC,EAAE,IAAInM,KAAKu4C,IAAIv4C,KAAKk6C,GAAGhuC,EAAElM,KAAK+5C,GAAGI,IAAIn6C,KAAKo6C,IAAI,MAAMp6C,KAAKu4C,IAAIv4C,KAAKk6C,GAAGhuC,EAAElM,KAAK+5C,GAAG+B,GAAG,CAAC,EAAAvB,GAAK,OAAOv6C,KAAKk4C,KAAKrd,aAAa76B,KAAKk4C,IAAIl4C,KAAKk4C,GAAG,KAAK,CAAC,EAAA6D,CAAG9vC,GAAG,GAAG,OAAOjM,KAAKq5C,GAAG,OAAO,MAAMntC,EAAED,EAAE8uC,eAAe,GAAG/6C,KAAKq5C,GAAGntC,EAAE8vC,WAAWh8C,KAAKo5C,GAAGtxB,GAAG7b,GAAG,MAAME,EAAEnM,KAAKq6C,GAAG1zC,cAAci1C,gBAAgB57C,KAAKw4C,IAAG,EAAGx4C,KAAKs4C,IAAG,EAAGt4C,KAAKk5C,IAAG,EAAGl5C,KAAKq4C,GAAGxwB,GAAG3b,GAAGlM,KAAK84C,KAAK94C,KAAK84C,KAAK94C,KAAK84C,GAAG,MAAM,CAAC,MAAM5sC,EAAElM,KAAK86C,GAAGlzB,KAAK5nB,MAAMsM,EAAEtM,KAAKw7C,GAAG5zB,KAAK5nB,MAAMA,KAAK84C,GAAG,KAAK3sC,EAAEuuC,oBAAoB,YAAYxuC,GAAGC,EAAEuuC,oBAAoB,WAAWpuC,IAAIH,EAAEwuC,iBAAiB,YAAYzuC,EAAE,CAAC+vC,SAAQ,IAAK9vC,EAAEwuC,iBAAiB,WAAWruC,EAAE,CAAC2vC,SAAQ,IAAKj8C,KAAKu6C,KAAKv6C,KAAKk4C,GAAGlc,WAAWh8B,KAAKk8C,GAAGt0B,KAAK5nB,KAAKiM,GAAG,IAAI,CAAC,MAAMK,EAAEtM,KAAK25C,GAAG1tC,EAAEC,GAAGlM,KAAK85C,GAAGxtC,EAAEtM,KAAK+5C,GAAGoC,IAAIn8C,KAAKg4C,KAAKh4C,KAAK+3C,GAAG,EAAE/3C,KAAKg4C,GAAGhc,WAAWh8B,KAAKi6C,GAAGryB,KAAK5nB,MAAM,KAAKA,KAAKi4C,GAAGpwB,GAAG3b,GAAG,CAAC,EAAAkwC,CAAGnwC,GAAG,GAAG,IAAIA,EAAEqvC,OAAO,OAAO,MAAMpvC,EAAElM,KAAKq6C,GAAG1zC,cAAci1C,gBAAgBx1B,MAAMla,EAAEyuC,iBAAiB,aAAa36C,KAAKu5C,IAAIv5C,KAAKu4C,IAAG,EAAGv4C,KAAKo4C,GAAGvwB,GAAG5b,GAAGjM,KAAK64C,KAAK74C,KAAK64C,KAAK74C,KAAK64C,GAAG,MAAM,CAAC,MAAM5sC,EAAEjM,KAAKq7C,GAAGzzB,KAAK5nB,MAAMmM,EAAEnM,KAAKw5C,GAAG5xB,KAAK5nB,MAAMA,KAAK64C,GAAG,KAAK3sC,EAAEwuC,oBAAoB,YAAYzuC,GAAGC,EAAEwuC,oBAAoB,UAAUvuC,IAAID,EAAEyuC,iBAAiB,YAAY1uC,GAAGC,EAAEyuC,iBAAiB,UAAUxuC,EAAE,CAAC,GAAGnM,KAAKm5C,IAAG,EAAGn5C,KAAK05C,GAAGztC,GAAG,OAAO,MAAME,EAAEnM,KAAK25C,GAAG1tC,GAAGjM,KAAKk6C,GAAG/tC,EAAEnM,KAAK+5C,GAAGsC,IAAIr8C,KAAK23C,KAAK33C,KAAK03C,GAAG,EAAE13C,KAAK23C,GAAG3b,WAAWh8B,KAAKo6C,GAAGxyB,KAAK5nB,MAAM,KAAKA,KAAK43C,GAAG/vB,GAAG5b,GAAG,CAAC,EAAAquC,GAAKt6C,KAAKq6C,GAAGM,iBAAiB,aAAa36C,KAAKw6C,GAAG5yB,KAAK5nB,OAAOA,KAAKq6C,GAAGM,iBAAiB,cAAc36C,KAAKu6C,GAAG3yB,KAAK5nB,OAAO,CAAC,MAAMiM,EAAEjM,KAAKq6C,GAAG1zC,cAAcuF,EAAED,IAAIjM,KAAK+5C,GAAGuC,KAAKrwC,EAAEswC,UAAUv8C,KAAKq6C,GAAGmC,SAASvwC,EAAEwwC,eAAe,KAAKxwC,EAAE3F,QAAQtG,KAAKq6C,GAAGmC,SAASvwC,EAAE3F,SAAStG,KAAK+5C,GAAGuC,OAAOt8C,KAAK04C,GAAG,KAAKzsC,EAAEyuC,oBAAoB,aAAaxuC,IAAIlM,KAAKy4C,GAAG,KAAKxsC,EAAEyuC,oBAAoB,YAAYxuC,IAAID,EAAE0uC,iBAAiB,YAAYzuC,GAAGD,EAAE0uC,iBAAiB,aAAazuC,EAAE,CAAC+vC,SAAQ,GAAI,CAAC51B,OAAOrmB,KAAK24C,GAAG,KAAK34C,KAAKq6C,GAAGK,oBAAoB,WAAW16C,KAAKy5C,KAAKz5C,KAAKq6C,GAAGM,iBAAiB,WAAW36C,KAAKy5C,KAAKz5C,KAAKq6C,GAAGM,iBAAiB,aAAa36C,KAAK08C,GAAG90B,KAAK5nB,OAAOA,KAAKq6C,GAAGM,iBAAiB,aAAa36C,KAAK+7C,GAAGn0B,KAAK5nB,MAAM,CAACi8C,SAAQ,IAAloK,SAAYhwC,GAAGka,SAAI,IAASwuB,OAAOgI,QAAQ1wC,EAAE0uC,iBAAiB,YAAa1uC,IAAI,GAAG,IAAIA,EAAEqvC,OAAO,OAAOrvC,EAAE2wC,kBAAiB,CAAG,EAAE,CAAygKp1B,CAAGxnB,KAAKq6C,IAAIr6C,KAAKq6C,GAAGM,iBAAiB,YAAY36C,KAAKo8C,GAAGx0B,KAAK5nB,OAAOA,KAAK68C,KAAK78C,KAAKq6C,GAAGM,iBAAiB,YAAW,KAAQ,EAAE,CAACsB,SAAQ,GAAI,CAAC,EAAAY,YAAc78C,KAAK+5C,GAAG+C,SAAI,IAAS98C,KAAK+5C,GAAGgD,SAAI,IAAS/8C,KAAK+5C,GAAGiD,KAAKh9C,KAAKq6C,GAAGM,iBAAiB,aAAc1uC,GAAGjM,KAAKi9C,GAAGhxC,EAAEwvC,SAAU,CAACQ,SAAQ,IAAKj8C,KAAKq6C,GAAGM,iBAAiB,YAAa1uC,IAAI,GAAG,IAAIA,EAAEwvC,QAAQx4C,QAAQ,OAAOjD,KAAK+4C,SAAI,IAAS/4C,KAAK+5C,GAAGgD,GAAG,CAAC,MAAM7wC,EAAEgxC,GAAGjxC,EAAEwvC,QAAQ,GAAGxvC,EAAEwvC,QAAQ,IAAIz7C,KAAKg5C,GAAGh5C,KAAK+5C,GAAGgD,GAAG/8C,KAAK+4C,GAAG7sC,GAAGyb,GAAG1b,EAAE,CAAE,EAAE,CAACgwC,SAAQ,IAAKj8C,KAAKq6C,GAAGM,iBAAiB,WAAY1uC,IAAIjM,KAAKi9C,GAAGhxC,EAAEwvC,QAAS,GAAG,CAAC,EAAAwB,CAAGhxC,GAAG,IAAIA,EAAEhJ,SAASjD,KAAKi5C,IAAG,GAAI,IAAIhtC,EAAEhJ,QAAQjD,KAAKi5C,IAAIj5C,KAAKm4C,GAAGn4C,KAAKm9C,KAAKn9C,KAAKo9C,GAAGnxC,EAAE,CAAC,EAAAmxC,CAAGnxC,GAAG,MAAMC,EAAElM,KAAKq6C,GAAGgD,yBAAyB,CAACn3C,KAAK,EAAEC,IAAI,GAAGnG,KAAK+4C,GAAG,CAAC7+B,IAAIjO,EAAE,GAAGqxC,QAAQpxC,EAAEhG,MAAM+F,EAAE,GAAGqxC,QAAQpxC,EAAEhG,OAAO,EAAEiU,IAAIlO,EAAE,GAAGsxC,QAAQrxC,EAAE/F,KAAK8F,EAAE,GAAGsxC,QAAQrxC,EAAE/F,MAAM,GAAGnG,KAAKg5C,GAAGkE,GAAGjxC,EAAE,GAAGA,EAAE,SAAI,IAASjM,KAAK+5C,GAAG+C,IAAI98C,KAAK+5C,GAAG+C,KAAK98C,KAAKu6C,IAAI,CAAC,EAAA4C,GAAK,OAAOn9C,KAAK+4C,KAAK/4C,KAAK+4C,GAAG,UAAK,IAAS/4C,KAAK+5C,GAAGiD,IAAIh9C,KAAK+5C,GAAGiD,KAAK,CAAC,EAAAN,CAAGzwC,GAAG,GAAGjM,KAAK44C,IAAI54C,KAAK44C,KAAK54C,KAAK05C,GAAGztC,GAAG,OAAO,IAAIjM,KAAKs5C,GAAG,OAAO,MAAMptC,EAAElM,KAAK25C,GAAG1tC,GAAGjM,KAAKk6C,GAAGhuC,EAAElM,KAAK+5C,GAAGyD,IAAIx9C,KAAKs5C,IAAIjzB,IAAI,CAAC,EAAA61B,CAAGjwC,GAAG,MAAMC,EAAE6b,GAAG9b,EAAEwvC,QAAQ5uC,EAAE7M,KAAKq5C,KAAK,GAAG,OAAOntC,EAAE,OAAO,MAAMC,EAAEnM,KAAK25C,GAAG1tC,EAAEC,GAAGlM,KAAK85C,GAAG3tC,EAAEnM,KAAK+5C,GAAG0D,IAAIz9C,KAAKw4C,IAAG,EAAGx4C,KAAKm4C,IAAG,CAAE,CAAC,EAAAuB,CAAGztC,GAAG,OAAOA,EAAEyxC,yBAAoB,IAASzxC,EAAEyxC,mBAAmBC,iBAAiB1xC,EAAEyxC,mBAAmBC,iBAAiB71B,GAAG7b,GAAGjM,KAAKo5C,GAAG,GAAG,CAAC,EAAAU,CAAG7tC,EAAEC,GAAGA,GAAGA,EAAE9H,KAAKpE,KAAK+5C,GAAG9tC,EAAE,CAAC,EAAAiuC,CAAGjuC,EAAEC,GAAGA,GAAGA,EAAE9H,KAAKpE,KAAK+5C,GAAG9tC,EAAE,CAAC,EAAA0tC,CAAG1tC,EAAEC,GAAG,MAAMC,EAAED,GAAGD,EAAEK,EAAEtM,KAAKq6C,GAAGgD,yBAAyB,CAACn3C,KAAK,EAAEC,IAAI,GAAG,MAAM,CAACm3C,QAAQnxC,EAAEmxC,QAAQC,QAAQpxC,EAAEoxC,QAAQK,MAAMzxC,EAAEyxC,MAAMC,MAAM1xC,EAAE0xC,MAAMC,QAAQ3xC,EAAE2xC,QAAQC,QAAQ5xC,EAAE4xC,QAAQC,OAAO7xC,EAAEmxC,QAAQhxC,EAAEpG,KAAK+3C,OAAO9xC,EAAEoxC,QAAQjxC,EAAEnG,IAAI+3C,QAAQjyC,EAAEiyC,QAAQC,OAAOlyC,EAAEkyC,OAAOC,SAASnyC,EAAEmyC,SAASC,QAAQpyC,EAAEoyC,QAAQC,IAAIryC,EAAE5B,KAAKk0C,WAAW,UAAU,gBAAgBtyC,EAAE5B,MAAM,UAAU4B,EAAE5B,KAAKm0C,GAAGvyC,EAAE5B,KAAKo0C,GAAGtyC,EAAE7F,OAAOo4C,GAAGzyC,EAAE0yC,KAAKC,GAAG,KAAK,eAAe3yC,EAAE5B,MAAMsd,GAAG1b,IAAI,EAAE,SAASixC,GAAGjxC,EAAEC,GAAG,MAAMC,EAAEF,EAAEqxC,QAAQpxC,EAAEoxC,QAAQhxC,EAAEL,EAAEsxC,QAAQrxC,EAAEqxC,QAAQ,OAAOv3C,KAAKksB,KAAK/lB,EAAEA,EAAEG,EAAEA,EAAE,CAAC,SAASqb,GAAG1b,GAAGA,EAAE4yC,YAAY5yC,EAAE2wC,gBAAgB,CAAC,SAAS/0B,GAAG5b,GAAG,MAAM,CAACiO,GAAGjO,EAAE2xC,MAAMzjC,GAAGlO,EAAE4xC,MAAM,CAAC,SAAS/1B,GAAG7b,GAAG,OAAOA,EAAE6yC,WAAW/tB,YAAYC,KAAK,CAAC,SAASjJ,GAAG9b,EAAEC,GAAG,IAAI,IAAIC,EAAE,EAAEA,EAAEF,EAAEhJ,SAASkJ,EAAE,GAAGF,EAAEE,GAAG6vC,aAAa9vC,EAAE,OAAOD,EAAEE,GAAG,OAAO,IAAI,CAAC,SAAS6b,GAAG/b,GAAG,MAAM,CAACkjC,GAAGljC,EAAEkjC,GAAG4P,GAAG,CAACpvB,GAAG1jB,EAAE+yC,GAAGC,YAAYC,GAAGjzC,EAAE+yC,GAAGG,YAAY,CAAC,SAASl3B,GAAGhc,EAAEC,EAAEC,GAAG,IAAI,MAAMG,KAAKL,EAAE,CAAC,MAAMA,EAAEK,EAAEgP,KAAK,GAAG,OAAOrP,GAAGA,EAAEyjB,GAAG,CAAC,MAAMtnB,EAAE6D,EAAEyjB,GAAGxjB,EAAEC,GAAG,GAAG,OAAO/D,EAAE,MAAM,CAACs2C,GAAGpyC,EAAEyyC,GAAG32C,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC,SAAS8f,GAAGjc,EAAEC,GAAG,OAAOC,IAAI,IAAIG,EAAElE,EAAEW,EAAEG,EAAE,OAAO,QAAQd,EAAE,QAAQkE,EAAEH,EAAE6P,YAAO,IAAS1P,OAAE,EAAOA,EAAE+wB,YAAO,IAASj1B,EAAEA,EAAE,MAAM8D,EAAE,GAAG,QAAQhD,EAAE,QAAQH,EAAEoD,EAAEkwB,UAAK,IAAStzB,OAAE,EAAOA,EAAE3E,KAAK+H,EAAEF,UAAK,IAAS/C,EAAEA,EAAE,GAAG,CAAC,SAASif,GAAGlc,EAAEC,EAAEC,EAAEG,GAAG,IAAIL,EAAEhJ,OAAO,OAAO,IAAImF,EAAE,EAAE,MAAMW,EAAEoD,EAAE,EAAEjD,EAAE+C,EAAE,GAAGoQ,GAAG/P,GAAE,GAAI,IAAI7I,EAAE,IAAIyI,EAAEnD,GAAGkD,EAAE,GAAGwU,KAAKvX,EAAE,GAAG+C,EAAE,GAAGwU,KAAKvX,EAAE,EAAEH,EAAEtF,EAAEuC,KAAK2Q,IAAI,EAAElT,GAAG,IAAI,IAAIsF,EAAE,EAAEA,EAAEkD,EAAEhJ,OAAO8F,IAAI,CAAC,MAAMG,EAAE+C,EAAElD,GAAGoB,EAAE8B,EAAElD,EAAE,GAAGzH,EAAE6I,EAAEkS,GAAG/P,GAAE,GAAIxB,EAAE5B,EAAEuX,KAAK1V,EAAEZ,EAAEsW,KAAK,GAAG,IAAIvU,EAAEpB,EAAEC,EAAEzJ,EAAEwJ,EAAEC,EAAEzJ,EAAE,CAAC,MAAMgL,EAAEvB,EAAEzJ,EAAE4K,EAAEhD,EAAEwX,GAAGpU,GAAG,MAAMvD,EAAEuD,EAAEJ,EAAE5K,EAAE,EAAE,IAAI,IAAI4K,EAAEnD,EAAE,EAAEA,EAAEoD,IAAI1I,EAAE,EAAE,CAAC,MAAM6I,EAAE,IAAIJ,GAAE,EAAGnD,EAAEA,EAAEoD,EAAEjD,EAAElD,KAAK0Q,IAAIpK,EAAE7I,GAAG,IAAI,IAAI0I,EAAE/D,EAAE+D,EAAEF,EAAEhJ,OAAOkJ,IAAIF,EAAEE,GAAGuU,GAAGzU,EAAEE,GAAGsU,KAAKvU,EAAEhD,GAAGzF,GAAGyF,CAAC,CAAC,MAAMd,EAAEW,EAAEtF,EAAE,IAAIyI,EAAEnB,EAAEzJ,EAAEwJ,EAAEA,GAAGC,EAAEzJ,EAAE,CAAC,CAAC,MAAM8mB,GAAG,WAAA5Q,CAAYtL,EAAEC,EAAEG,EAAElE,GAAGpI,KAAKghB,GAAG,KAAKhhB,KAAKo/C,GAAG,KAAKp/C,KAAKq/C,IAAG,EAAGr/C,KAAKs/C,GAAG,IAAI7gC,GAAG,KAAKze,KAAK8xB,GAAG,KAAK9xB,KAAKu/C,GAAG,EAAEv/C,KAAKw/C,IAAG,EAAGx/C,KAAKy/C,GAAG,KAAKz/C,KAAKw/C,IAAIx/C,KAAKyiB,GAAGi9B,KAAKziC,KAAK4Y,MAAM71B,KAAK2/C,GAAG,KAAK3/C,KAAKw/C,IAAIx/C,KAAKyiB,GAAGi9B,KAAKziC,KAAK4Y,MAAM71B,KAAKyiB,GAAGvW,EAAElM,KAAKojB,GAAGjX,EAAEnM,KAAKihC,GAAG90B,EAAE6M,OAAOhZ,KAAKsuC,GAAGhiC,EAAEtM,KAAK4/C,GAAG,SAASx3C,EAAEpI,KAAK6/C,GAAG33B,GAAG,SAAS9f,GAAGpI,KAAK8/C,GAAG53B,GAAG,MAAM9f,GAAGpI,KAAK+/C,GAAG73B,GAAG,SAAS9f,GAAGpI,KAAKggD,GAAGh7C,SAASmyC,cAAc,OAAOn3C,KAAKggD,GAAG58C,MAAM5D,OAAO,OAAOQ,KAAKggD,GAAG58C,MAAM68C,SAAS,SAASjgD,KAAKggD,GAAG58C,MAAM7D,MAAM,OAAOS,KAAKggD,GAAG58C,MAAM8C,KAAK,IAAIlG,KAAKggD,GAAG58C,MAAM+uB,SAAS,WAAWnyB,KAAKkgD,GAAGt5B,GAAG5mB,KAAKggD,GAAG/zC,EAAE,CAAC1M,MAAM,GAAGC,OAAO,MAAMQ,KAAKkgD,GAAGx8C,oCAAoC1D,KAAKy/C,IAAI,MAAM12C,EAAE/I,KAAKkgD,GAAGn+C,cAAcgH,EAAE3F,MAAM+uB,SAAS,WAAWppB,EAAE3F,MAAM+8C,OAAO,IAAIp3C,EAAE3F,MAAM8C,KAAK,IAAI6C,EAAE3F,MAAM+C,IAAI,IAAInG,KAAKogD,GAAGx5B,GAAG5mB,KAAKggD,GAAG/zC,EAAE,CAAC1M,MAAM,GAAGC,OAAO,MAAMQ,KAAKogD,GAAG18C,oCAAoC1D,KAAK2/C,IAAI,MAAMz2C,EAAElJ,KAAKogD,GAAGr+C,cAAcmH,EAAE9F,MAAM+uB,SAAS,WAAWjpB,EAAE9F,MAAM+8C,OAAO,IAAIj3C,EAAE9F,MAAM8C,KAAK,IAAIgD,EAAE9F,MAAM+C,IAAI,IAAI,MAAM1C,EAAE,CAAC44C,GAAGr8C,KAAKqgD,GAAGz4B,KAAK5nB,MAAMm8C,GAAGn8C,KAAKqgD,GAAGz4B,KAAK5nB,MAAMu7C,GAAGv7C,KAAKsgD,GAAG14B,KAAK5nB,MAAMo7C,GAAGp7C,KAAKsgD,GAAG14B,KAAK5nB,MAAMs8C,GAAGt8C,KAAKugD,GAAG34B,KAAK5nB,MAAM67C,GAAG77C,KAAKwgD,GAAG54B,KAAK5nB,MAAM07C,GAAG17C,KAAKwgD,GAAG54B,KAAK5nB,MAAMm6C,GAAGn6C,KAAKygD,GAAG74B,KAAK5nB,MAAMg6C,GAAGh6C,KAAKygD,GAAG74B,KAAK5nB,MAAM46C,GAAG56C,KAAK0gD,GAAG94B,KAAK5nB,MAAMw9C,GAAGx9C,KAAK2gD,GAAG/4B,KAAK5nB,OAAOA,KAAK4gD,GAAG,IAAIn5B,GAAGznB,KAAKogD,GAAGr+C,cAAc0B,EAAE,CAACy3C,GAAG,KAAKl7C,KAAKojB,GAAG2oB,aAAaK,cAAc+O,GAAG,KAAI,GAAI,CAAC,CAAAvkC,GAAI5W,KAAK4gD,GAAGhqC,IAAI5W,KAAKogD,GAAGz8C,sCAAsC3D,KAAK2/C,IAAI54B,GAAG/mB,KAAKogD,GAAGr+C,eAAe/B,KAAKogD,GAAG5/C,UAAUR,KAAKkgD,GAAGv8C,sCAAsC3D,KAAKy/C,IAAI14B,GAAG/mB,KAAKkgD,GAAGn+C,eAAe/B,KAAKkgD,GAAG1/C,UAAU,OAAOR,KAAKghB,IAAIhhB,KAAKghB,GAAG+hB,KAAKp2B,EAAE3M,MAAMA,KAAKghB,GAAG,IAAI,CAAC,EAAA6/B,GAAK,OAAO7gD,KAAKggD,EAAE,CAAC,CAAA3oC,GAAI,OAAOrX,KAAKihC,GAAG9nB,QAAQ,CAAC,EAAA2nC,GAAK,MAAM70C,EAAEjM,KAAKsuC,GAAG51B,IAAI,OAAO1Y,KAAK8xB,KAAK7lB,EAAEqL,IAAItX,KAAKs/C,GAAGhxB,KAAKtuB,KAAK8xB,GAAG7lB,EAAEqL,GAAGrL,CAAC,CAAC,EAAA80C,GAAK,GAAG,OAAO/gD,KAAKghB,GAAG,OAAO,EAAE,IAAI/U,EAAE,EAAE,MAAMC,EAAElM,KAAK8gD,KAAK30C,EAAEU,EAAE7M,KAAKkgD,GAAGn+C,cAAcoG,WAAW,OAAOgE,EAAE7E,OAAO,MAAMgF,EAAEtM,KAAKghB,GAAG0d,KAAKvyB,EAAEgS,KAAKne,KAAKghD,KAAK10C,EAAErJ,OAAO,IAAIgJ,EAAEjG,KAAK2Q,IAAI3W,KAAKs/C,GAAGt/B,GAAG7T,EAAEG,EAAE,GAAGqzB,IAAI3/B,KAAKs/C,GAAGt/B,GAAG7T,EAAEG,EAAEA,EAAErJ,OAAO,GAAG08B,MAAM,MAAMv3B,EAAEpI,KAAKihD,KAAK,IAAI,IAAI/0C,EAAE9D,EAAEnF,OAAOiJ,KAAK,CAAC,MAAMI,EAAEtM,KAAKs/C,GAAGt/B,GAAG7T,EAAE/D,EAAE8D,GAAGgS,MAAM5R,EAAEL,IAAIA,EAAEK,EAAE,CAAC,MAAMvD,EAAE/I,KAAKghB,GAAGnF,KAAK,GAAG,OAAO9S,GAAG,OAAO/I,KAAKo/C,IAAK,KAAKl2C,EAAElJ,KAAKojB,GAAGlG,WAAW1B,MAAMtS,EAAEmU,SAASpS,SAAS/B,EAAEmU,SAAS6D,aAAc,CAAC,MAAMhV,EAAElM,KAAKghB,GAAGwC,GAAG,EAAEza,GAAGuD,EAAEtM,KAAKghB,GAAGwC,GAAGxjB,KAAKo/C,GAAG5/C,OAAO,EAAEuJ,GAAGkD,EAAEjG,KAAK2Q,IAAI1K,EAAEjM,KAAKs/C,GAAGt/B,GAAG7T,EAAEnM,KAAKghB,GAAGK,GAAGrb,KAAK8T,MAAM9T,KAAK0Q,IAAIxK,EAAEI,IAAI,gBAAgBvD,IAAI/I,KAAKs/C,GAAGt/B,GAAG7T,EAAEnM,KAAKghB,GAAGK,GAAGrb,KAAK+Z,KAAK/Z,KAAK2Q,IAAIzK,EAAEI,IAAI,gBAAgBvD,IAAI,CAAC,IAAIG,EAAEiD,EAAExE,UAAU,MAAMlE,EAAEwI,GAAG,GAAG,OAAOua,GAAGxgB,KAAK+Z,KAAK7T,EAAE6K,EAAE7K,EAAE8K,EAAE9K,EAAEiM,EAAEjM,EAAEkM,EAAE,EAAE3U,GAAG,CAAC,EAAAy9C,CAAGj1C,GAAG,OAAOjM,KAAKo/C,IAAIjzC,EAAEnM,KAAKo/C,GAAGnzC,KAAKjM,KAAKo/C,GAAGnzC,EAAEjM,KAAKw/C,IAAG,EAAGx/C,KAAKkgD,GAAGh9C,oBAAoB+I,GAAGjM,KAAKogD,GAAGl9C,oBAAoB+I,GAAGjM,KAAKw/C,IAAG,EAAGx/C,KAAKggD,GAAG58C,MAAM7D,MAAM,GAAG0M,EAAE1M,UAAUS,KAAKggD,GAAG58C,MAAM5D,OAAO,GAAGyM,EAAEzM,WAAW,CAAC,EAAA2hD,GAAK,OAAOt0C,EAAE7M,KAAKo/C,IAAI7/C,KAAK,CAAC,EAAA2iB,CAAGjW,GAAGjM,KAAKghB,KAAK/U,IAAI,OAAOjM,KAAKghB,IAAIhhB,KAAKghB,GAAG+hB,KAAKp2B,EAAE3M,MAAMA,KAAKghB,GAAG/U,EAAEA,EAAE82B,KAAKt/B,EAAEzD,KAAKwgC,GAAG5Y,KAAK5nB,MAAMA,MAAM,CAAC,EAAAgc,GAAK,OAAOhc,KAAKghB,EAAE,CAAC,EAAAsN,GAAK,MAAMriB,EAAEjM,KAAKyiB,GAAG2+B,KAAKphD,KAAKyiB,GAAGi9B,KAAKziC,KAAK+oB,GAAG/5B,EAAEY,EAAE7M,KAAKgc,MAAM,CAAC,EAAAqlC,CAAGp1C,GAAG,GAAG,OAAOjM,KAAKo/C,GAAG,OAAO,GAAG,IAAInzC,EAAE,CAACjM,KAAKshD,KAAKthD,KAAKkgD,GAAGt8C,2BAA2B,MAAMqI,EAAEK,EAAEtM,KAAKkgD,IAAI,OAAOj0C,IAAIA,EAAErE,yBAA0BqE,IAAIjM,KAAKuhD,GAAGt1C,GAAGjM,KAAKssB,GAAGrgB,EAAG,GAAGjM,KAAKyiB,GAAG++B,GAAGv1C,EAAEjM,KAAK+/C,IAAI//C,KAAKyhD,GAAGx1C,GAAGjM,KAAKyiB,GAAG++B,GAAGv1C,EAAEjM,KAAK6/C,IAAI7/C,KAAK0hD,GAAGz1C,GAAG,CAACjM,KAAKogD,GAAGx8C,2BAA2B,MAAMsI,EAAEI,EAAEtM,KAAKogD,IAAI,OAAOl0C,IAAIA,EAAEtE,yBAAwB,EAAId,QAAQmF,EAAE/H,WAAWgI,MAAMD,EAAEwrC,UAAU,EAAE,EAAEvrC,EAAE3M,MAAM2M,EAAE1M,OAAQ,GAAGQ,KAAK2hD,GAAGz1C,GAAGlM,KAAKyiB,GAAG++B,GAAGt1C,EAAElM,KAAK8/C,IAAI,CAAC,EAAA8B,GAAK,OAAO5hD,KAAKkgD,GAAGh8C,UAAU,CAAC,EAAA29C,CAAG51C,EAAEC,EAAEC,GAAG,MAAMG,EAAEtM,KAAK4hD,KAAKt1C,EAAE/M,MAAM,GAAG+M,EAAE9M,OAAO,GAAGyM,EAAE61C,UAAU9hD,KAAKkgD,GAAGn+C,cAAcmK,EAAEC,EAAE,CAAC,EAAAgP,GAAK,IAAIlP,EAAE,QAAQA,EAAEjM,KAAKghB,UAAK,IAAS/U,GAAGA,EAAEyyB,IAAI,CAAC,EAAA2hB,CAAGp0C,GAAG,GAAG,OAAOjM,KAAKghB,IAAIhhB,KAAKghB,GAAGG,OAAOnhB,KAAKojB,GAAG4oB,YAAYM,qBAAqBhiC,MAAM,OAAO,MAAM4B,EAAElM,KAAKyiB,GAAGi9B,KAAKziC,KAAK9Q,EAAEnM,KAAKyiB,GAAG2+B,KAAKphD,KAAKq/C,IAAG,EAAGnzC,EAAEu5B,GAAGt5B,EAAEnM,KAAKghB,GAAG/U,EAAEgyC,OAAO,CAAC,EAAAqC,CAAGr0C,GAAG,GAAG,OAAOjM,KAAKghB,KAAKhhB,KAAKojB,GAAG4oB,YAAYM,qBAAqBhiC,MAAM,OAAO,MAAM4B,EAAElM,KAAKyiB,GAAGi9B,KAAKziC,KAAK9Q,EAAEnM,KAAKyiB,GAAG2+B,KAAK90C,EAAEtM,KAAKghB,GAAG9U,EAAEw5B,GAAGv5B,EAAEG,EAAEL,EAAEgyC,OAAO,CAAC,EAAAsC,GAAK,GAAG,OAAOvgD,KAAKghB,KAAKhhB,KAAKojB,GAAG4oB,YAAYM,qBAAqBhiC,MAAM,OAAO,MAAM2B,EAAEjM,KAAKyiB,GAAGi9B,KAAKziC,KAAK/Q,EAAElM,KAAKyiB,GAAG2+B,KAAKj1C,EAAEnM,KAAKghB,GAAGhhB,KAAKq/C,KAAKr/C,KAAKq/C,IAAG,EAAGpzC,EAAE05B,GAAGz5B,EAAEC,GAAG,CAAC,EAAAq0C,CAAGv0C,GAAG,GAAG,OAAOjM,KAAKghB,KAAKhhB,KAAKojB,GAAG4oB,YAAYM,qBAAqBhiC,MAAM,OAAO,MAAM4B,EAAElM,KAAKyiB,GAAGi9B,KAAKziC,KAAK9Q,EAAEnM,KAAKyiB,GAAG2+B,KAAKphD,KAAKq/C,IAAG,EAAGnzC,EAAEy5B,GAAGx5B,EAAEnM,KAAKghB,GAAG,CAAC,EAAAy/B,CAAGx0C,GAAGjM,KAAKojB,GAAG4oB,YAAYK,qBAAqB/hC,OAAOtK,KAAKsuB,IAAI,CAAC,EAAAoyB,CAAGz0C,GAAM,OAAOjM,KAAKghB,MAAWhhB,KAAKyiB,GAAGi9B,KAAKziC,KAAKvE,IAAIszB,YAAYM,qBAAqBhiC,OAAOtK,KAAKghB,GAAG6S,MAAM7zB,KAAKghB,GAAG4gB,MAAM5hC,KAAK+hD,GAAG,GAAE,CAAC,EAAApB,CAAG10C,GAAGjM,KAAK+hD,GAAG,EAAE,CAAC,EAAAd,GAAK,MAAMh1C,EAAE,GAAGC,EAAE,OAAOlM,KAAKghB,QAAG,EAAOhhB,KAAKghB,GAAG,MAAM,CAAC7U,IAAI,IAAI,IAAIG,EAAE,EAAEA,EAAEH,EAAElJ,SAASqJ,EAAE,CAAC,MAAMlE,EAAE+D,EAAEG,GAAGgY,GAAGtkB,KAAKyiB,GAAG2+B,KAAKl1C,GAAG,IAAI,IAAIA,EAAE,EAAEA,EAAE9D,EAAEnF,OAAOiJ,IAAID,EAAE9K,KAAKiH,EAAE8D,GAAG,CAAE,EAA1G,CAA4GlM,KAAKyiB,GAAG2+B,KAAK1e,MAAMz2B,CAAC,CAAC,EAAAs1C,EAAIz6C,QAAQmF,EAAE/H,WAAWgI,IAAI,MAAM3M,MAAM4M,EAAE3M,OAAO8M,GAAGJ,EAAE9D,EAAEpI,KAAKyiB,GAAG2+B,KAAKnkC,KAAKlU,EAAEX,EAAE8Q,IAAIhQ,EAAEd,EAAE4oC,KAAKjoC,IAAIG,EAAEyQ,GAAE1N,EAAE,EAAE,EAAEE,EAAEG,EAAEvD,GAAG8Q,GAAG5N,EAAE,EAAE,EAAEE,EAAEG,EAAEvD,EAAEG,EAAE,CAAC,EAAAojB,EAAIxlB,QAAQmF,EAAE/H,WAAWgI,EAAErE,qBAAqBsE,IAAI,GAAG,OAAOnM,KAAKo/C,IAAI,OAAOp/C,KAAKghB,KAAKhhB,KAAKghB,GAAGtI,IAAIlQ,cAAc,OAAOyD,EAAEuO,UAAUxa,KAAKghB,GAAGtI,IAAIjQ,YAAY,MAAM6D,EAAEtG,KAAK2Q,IAAI,EAAE3Q,KAAK8T,MAAM9Z,KAAK8gD,KAAK/pC,EAAE5K,IAAI,IAAI/D,EAAEA,EAAEpI,KAAK4/C,GAAG1zC,EAAE3M,MAAM+M,EAAE,EAAEL,EAAEwR,SAASrV,EAAE,EAAEkE,EAAEJ,EAAE1M,OAAO,CAAC,EAAAiiD,CAAGx1C,GAAG,GAAG,OAAOjM,KAAKo/C,IAAI,OAAOp/C,KAAKghB,GAAG,OAAO,MAAM9U,EAAElM,KAAKghB,GAAG0d,KAAKvyB,EAAEnM,KAAKghB,GAAGtI,IAAIpM,EAAEtM,KAAK8gD,KAAK14C,EAAEpI,KAAK4/C,GAAG5/C,KAAKo/C,GAAG7/C,MAAM+M,EAAE0K,EAAE,EAAE7K,EAAE3D,eAAe2D,EAAE0U,cAAc5U,EAAErE,yBAAwB,EAAId,QAAQmF,EAAEpE,qBAAqBkB,EAAEjB,mBAAmBoB,MAAM+C,EAAEuO,UAAUrO,EAAE1D,YAAY,MAAMhF,EAAEuC,KAAK2Q,IAAI,EAAE3Q,KAAK8T,MAAM5Q,IAAIiB,EAAEnE,KAAK8T,MAAM,GAAG5Q,GAAG5H,EAAE0E,KAAKC,MAAMqG,EAAE0K,EAAEjO,GAAGkD,EAAEM,YAAY,IAAI,MAAMJ,KAAKD,EAAED,EAAE+1C,KAAKh8C,KAAK8T,MAAM1R,EAAEW,GAAG/C,KAAKC,MAAMkG,EAAE+xB,GAAGh1B,GAAGiB,EAAE7I,EAAEmC,GAAGwI,EAAEqO,MAAO,GAAGrO,EAAE7E,wBAAuB,EAAIN,QAAQmF,MAAM,IAAIlD,EAAEkD,EAAEkS,KAAKne,KAAKghD,KAAK/0C,EAAEuO,UAAU,QAAQzR,EAAEoD,EAAE8M,iBAAY,IAASlQ,EAAEA,EAAE/I,KAAKihC,GAAGhoB,UAAUhN,EAAEoT,UAAUrf,KAAK4/C,GAAG,QAAQ,OAAO3zC,EAAEqT,aAAa,SAAS,MAAMpW,EAAElJ,KAAK4/C,GAAG55C,KAAKC,MAAMmC,EAAEkE,EAAE6L,GAAGnS,KAAKC,MAAMmC,EAAEkE,EAAE0K,EAAE1K,EAAE6L,GAAG1U,EAAEyI,EAAEmP,IAAKnP,GAAGlM,KAAKs/C,GAAGx/B,GAAG7T,EAAEC,EAAEyzB,KAAM,IAAI,IAAIxzB,EAAED,EAAEjJ,OAAOkJ,KAAK,CAAC,MAAMG,EAAEJ,EAAEC,GAAGF,EAAEsT,SAASjT,EAAEqzB,GAAGz2B,EAAEoD,EAAE4xB,GAAGz6B,EAAE0I,GAAG,CAAE,EAAE,CAAC,EAAAm1C,GAAK,GAAG,OAAOthD,KAAKo/C,IAAI,OAAOp/C,KAAKghB,GAAG,OAAO,MAAM/U,EAAE,GAAGC,EAAElM,KAAKghB,GAAG0hB,KAAKnc,QAAQpa,EAAEnM,KAAKyiB,GAAG2+B,KAAK90C,EAAEtM,KAAK8gD,KAAK9gD,KAAKghB,KAAK7U,EAAEojB,MAAMvvB,KAAKyiB,GAAG2+B,KAAK1e,KAAK7gC,QAASoK,IAAIE,EAAEmjB,GAAGrjB,IAAIC,EAAE/K,KAAK8K,EAAG,GAAG,MAAM7D,EAAEpI,KAAKghB,GAAG9U,EAAErK,QAASqK,IAAIA,EAAEoY,GAAGnY,EAAE/D,GAAGvG,QAASqK,IAAIA,EAAEwU,GAAG,MAAMxU,EAAEyU,MAAM1U,EAAE9K,KAAK+K,EAAG,EAAG,GAAGD,EAAEpK,QAASoK,GAAGA,EAAEyU,GAAGzU,EAAEiU,OAAQlgB,KAAKghB,GAAGtI,IAAIupC,aAAajiD,KAAKkiD,GAAGj2C,EAAEK,EAAE,CAAC,EAAA41C,CAAGj2C,EAAEC,GAAG,GAAG,OAAOlM,KAAKo/C,GAAG,OAAO,MAAMjzC,EAAEnM,KAAKo/C,GAAG5/C,OAAO,EAAE8M,EAAEL,EAAE5K,OAAQ4K,GAAGA,EAAEiU,MAAM/T,GAAI/D,EAAE6D,EAAE5K,OAAQ4K,GAAGA,EAAEiU,KAAK/T,GAAIG,EAAEuxB,KAAI,CAAG5xB,EAAEC,IAAIA,EAAEgU,KAAKjU,EAAEiU,MAAO9X,EAAEy1B,KAAI,CAAG5xB,EAAEC,IAAID,EAAEiU,KAAKhU,EAAEgU,MAAO,IAAI,MAAM/T,KAAKF,EAAE,CAAC,MAAMA,EAAEjG,KAAK8T,MAAM3N,EAAEkQ,GAAGnQ,GAAG,GAAGI,EAAEH,EAAE+T,KAAK5T,GAAGL,GAAGK,EAAEL,GAAGE,EAAEuU,GAAGzU,GAAGK,EAAEtM,KAAKo/C,GAAG5/C,OAAOyM,GAAGK,EAAEtM,KAAKo/C,GAAG5/C,OAAOyM,GAAGE,EAAEuU,GAAG1gB,KAAKo/C,GAAG5/C,OAAOyM,EAAE,CAACkc,GAAG7b,EAAE,EAAEtM,KAAKo/C,GAAG5/C,OAAO0M,GAAGic,GAAG/f,GAAE,EAAGpI,KAAKo/C,GAAG5/C,OAAO0M,EAAE,CAAC,EAAAw1C,CAAGz1C,GAAG,GAAG,OAAOjM,KAAKo/C,GAAG,OAAO,MAAMlzC,EAAElM,KAAKihD,KAAK90C,EAAEnM,KAAK8gD,KAAKx0C,EAAEtM,KAAK4/C,GAAG,QAAQ,OAAO1zC,EAAErK,QAASqK,IAAOA,EAAE0U,MAAM1U,EAAEoP,GAAGzO,EAAE7M,KAAKghB,KAAKzH,EAAEtN,EAAEE,EAAEnM,KAAKs/C,GAAGhzC,EAAI,EAAE,CAAC,EAAAq1C,CAAG11C,GAAG,GAAG,OAAOjM,KAAKo/C,IAAI,OAAOp/C,KAAKghB,GAAG,OAAO,MAAM9U,EAAElM,KAAKyiB,GAAGi9B,KAAKziC,KAAK9Q,EAAE,GAAGG,EAAEtM,KAAKyiB,GAAG2+B,KAAKh5C,EAAE8D,EAAEsjC,KAAKlrB,GAAGhY,EAAEtM,KAAKghB,IAAI5Y,EAAEnF,QAAQkJ,EAAEhL,KAAKiH,GAAG,MAAMW,EAAE/I,KAAK8gD,KAAK53C,EAAElJ,KAAK4/C,GAAG,QAAQ,OAAOzzC,EAAEtK,QAASqK,IAAIA,EAAErK,QAASqK,IAAIA,EAAEoP,GAAGzO,EAAE7M,KAAKghB,KAAKzH,EAAEtN,EAAElD,EAAE/I,KAAKs/C,GAAGp2C,EAAG,EAAG,EAAE,CAAC,EAAA64C,CAAG91C,GAAGjM,KAAKggD,GAAG58C,MAAM++C,OAAO,IAAIl2C,EAAE,YAAY,SAAS,CAAC,EAAAu0B,GAAK,MAAMv0B,EAAEjM,KAAK+gD,KAAK/gD,KAAKu/C,GAAGtzC,GAAGjM,KAAKyiB,GAAGi9B,KAAKziC,KAAKie,KAAKl7B,KAAKu/C,GAAGtzC,CAAC,CAAC,EAAA+0C,GAAK,OAAOvoC,EAAEzY,KAAKihC,GAAG9nB,SAASnZ,KAAKihC,GAAG7nB,WAAW,EAAE,SAASiP,GAAGpc,EAAEC,GAAG,IAAIC,EAAEG,EAAE,OAAO,QAAQA,EAAE,QAAQH,EAAEF,EAAEkwB,UAAK,IAAShwB,OAAE,EAAOA,EAAE/H,KAAK6H,EAAEC,UAAK,IAASI,EAAEA,EAAE,EAAE,CAAC,SAASgc,GAAGrc,EAAEC,GAAG,IAAIC,EAAEG,EAAE,OAAO,QAAQA,EAAE,QAAQH,EAAEF,EAAEoY,UAAK,IAASlY,OAAE,EAAOA,EAAE/H,KAAK6H,EAAEC,UAAK,IAASI,EAAEA,EAAE,EAAE,CAAC,SAASic,GAAGtc,EAAEC,GAAG,IAAIC,EAAEG,EAAE,OAAO,QAAQA,EAAE,QAAQH,EAAEF,EAAEkW,UAAK,IAAShW,OAAE,EAAOA,EAAE/H,KAAK6H,EAAEC,UAAK,IAASI,EAAEA,EAAE,EAAE,CAAC,SAASkc,GAAGvc,EAAEC,GAAG,IAAIC,EAAEG,EAAE,OAAO,QAAQA,EAAE,QAAQH,EAAEF,EAAE8vB,UAAK,IAAS5vB,OAAE,EAAOA,EAAE/H,KAAK6H,EAAEC,UAAK,IAASI,EAAEA,EAAE,EAAE,CAAC,MAAMmc,GAAG,WAAAjR,CAAYtL,EAAEC,GAAGnM,KAAKo/C,GAAGnzC,EAAE,CAAC1M,MAAM,EAAEC,OAAO,IAAIQ,KAAKoiD,GAAG,KAAKpiD,KAAKqiD,GAAG,KAAKriD,KAAKsiD,GAAG,KAAKtiD,KAAKuiD,GAAG,KAAKviD,KAAKwiD,IAAG,EAAGxiD,KAAKyiD,GAAG,IAAIlrC,EAAEvX,KAAK0iD,GAAG,IAAInrC,EAAEvX,KAAK2iD,GAAG,EAAE3iD,KAAK4iD,IAAG,EAAG5iD,KAAK6iD,GAAG,KAAK7iD,KAAK8iD,IAAG,EAAG9iD,KAAK+iD,GAAG,KAAK/iD,KAAKgjD,GAAG,KAAKhjD,KAAKw/C,IAAG,EAAGx/C,KAAKy/C,GAAG,KAAKz/C,KAAKw/C,IAAI,OAAOx/C,KAAKijD,IAAIjjD,KAAK2hB,KAAKkU,MAAM71B,KAAK2/C,GAAG,KAAK3/C,KAAKw/C,IAAI,OAAOx/C,KAAKijD,IAAIjjD,KAAK2hB,KAAKkU,MAAM71B,KAAKq2C,GAAGnqC,EAAElM,KAAKijD,GAAG92C,EAAEnM,KAAKijD,GAAG9c,KAAK1iC,EAAEzD,KAAKkjD,GAAGt7B,KAAK5nB,MAAMA,MAAK,GAAIA,KAAKmjD,GAAGn+C,SAASmyC,cAAc,MAAMn3C,KAAKmjD,GAAG//C,MAAMggD,QAAQ,IAAIpjD,KAAKmjD,GAAG//C,MAAM+uB,SAAS,WAAW,MAAM7lB,EAAEtH,SAASmyC,cAAc,OAAO7qC,EAAElJ,MAAM7D,MAAM,OAAO+M,EAAElJ,MAAM5D,OAAO,OAAO8M,EAAElJ,MAAM+uB,SAAS,WAAW7lB,EAAElJ,MAAM68C,SAAS,SAASjgD,KAAKqjD,GAAGr+C,SAASmyC,cAAc,MAAMn3C,KAAKqjD,GAAGjgD,MAAMggD,QAAQ,IAAIpjD,KAAKsjD,GAAGt+C,SAASmyC,cAAc,MAAMn3C,KAAKsjD,GAAGlgD,MAAMggD,QAAQ,IAAIpjD,KAAKmjD,GAAG5L,YAAYjrC,GAAGtM,KAAKkgD,GAAGt5B,GAAGta,EAAEL,EAAE,CAAC1M,MAAM,GAAGC,OAAO,MAAMQ,KAAKkgD,GAAGx8C,oCAAoC1D,KAAKy/C,IAAI,MAAMr3C,EAAEpI,KAAKkgD,GAAGn+C,cAAcqG,EAAEhF,MAAM+uB,SAAS,WAAW/pB,EAAEhF,MAAM+8C,OAAO,IAAI/3C,EAAEhF,MAAM8C,KAAK,IAAIkC,EAAEhF,MAAM+C,IAAI,IAAInG,KAAKogD,GAAGx5B,GAAGta,EAAEL,EAAE,CAAC1M,MAAM,GAAGC,OAAO,MAAMQ,KAAKogD,GAAG18C,oCAAoC1D,KAAK2/C,IAAI,MAAM52C,EAAE/I,KAAKogD,GAAGr+C,cAAcgH,EAAE3F,MAAM+uB,SAAS,WAAWppB,EAAE3F,MAAM+8C,OAAO,IAAIp3C,EAAE3F,MAAM8C,KAAK,IAAI6C,EAAE3F,MAAM+C,IAAI,IAAInG,KAAKujD,GAAGv+C,SAASmyC,cAAc,MAAMn3C,KAAKujD,GAAGhM,YAAYv3C,KAAKqjD,IAAIrjD,KAAKujD,GAAGhM,YAAYv3C,KAAKmjD,IAAInjD,KAAKujD,GAAGhM,YAAYv3C,KAAKsjD,IAAItjD,KAAKwjD,KAAKxjD,KAAK4gD,GAAG,IAAIn5B,GAAGznB,KAAKogD,GAAGr+C,cAAc/B,KAAK,CAACk7C,GAAG,IAAI,OAAOl7C,KAAK6iD,KAAK7iD,KAAKq2C,GAAG39B,IAAIqzB,aAAaK,cAAc+O,GAAG,IAAI,OAAOn7C,KAAK6iD,KAAK7iD,KAAKq2C,GAAG39B,IAAIqzB,aAAaE,eAAe,CAAC,CAAAr1B,GAAI,OAAO5W,KAAKoiD,IAAIpiD,KAAKoiD,GAAGxrC,IAAI,OAAO5W,KAAKqiD,IAAIriD,KAAKqiD,GAAGzrC,IAAI5W,KAAKsiD,GAAG,KAAKtiD,KAAKogD,GAAGz8C,sCAAsC3D,KAAK2/C,IAAI54B,GAAG/mB,KAAKogD,GAAGr+C,eAAe/B,KAAKogD,GAAG5/C,UAAUR,KAAKkgD,GAAGv8C,sCAAsC3D,KAAKy/C,IAAI14B,GAAG/mB,KAAKkgD,GAAGn+C,eAAe/B,KAAKkgD,GAAG1/C,UAAU,OAAOR,KAAKijD,IAAIjjD,KAAKijD,GAAG9c,KAAKx5B,EAAE3M,MAAMA,KAAK4gD,GAAGhqC,GAAG,CAAC,EAAAwqC,GAAK,OAAOv0C,EAAE7M,KAAKijD,GAAG,CAAC,EAAAQ,CAAGx3C,GAAG,IAAIC,EAAEC,EAAE,OAAOnM,KAAKijD,IAAIjjD,KAAKijD,GAAG9c,KAAKx5B,EAAE3M,MAAMA,KAAKijD,GAAGh3C,EAAE,OAAOjM,KAAKijD,IAAIjjD,KAAKijD,GAAG9c,KAAK1iC,EAAEglB,GAAGloB,UAAU2iD,GAAGt7B,KAAK5nB,MAAMA,MAAK,GAAIA,KAAKwjD,KAAKxjD,KAAKq2C,GAAGqN,KAAK9nB,QAAQ57B,QAAQA,KAAKq2C,GAAGqN,KAAKzgD,OAAO,GAAGjD,KAAKsiD,GAAG,QAAQp2C,EAAElM,KAAKsiD,UAAK,IAASp2C,EAAEA,EAAE,IAAI8pC,GAAGh2C,KAAKmjD,GAAGnjD,KAAKq2C,IAAIr2C,KAAKsiD,GAAGnnC,OAAO,QAAQhP,EAAEnM,KAAKsiD,UAAK,IAASn2C,GAAGA,EAAE+qC,KAAKl3C,KAAKsiD,GAAG,KAAK,CAAC,EAAA5C,GAAK,OAAO1/C,KAAKq2C,EAAE,CAAC,EAAAwK,GAAK,OAAO7gD,KAAKujD,EAAE,CAAC,EAAAC,GAAK,GAAG,OAAOxjD,KAAKijD,KAAKjjD,KAAK2jD,KAAK,IAAI3jD,KAAK2hB,KAAKvG,KAAKnY,QAAQ,CAAC,GAAG,OAAOjD,KAAKoiD,GAAG,CAAC,MAAMn2C,EAAEjM,KAAKijD,GAAG1d,KAAKvlC,KAAKoiD,GAAGlgC,GAAGrV,EAAEZ,GAAG,CAAC,GAAG,OAAOjM,KAAKqiD,GAAG,CAAC,MAAMp2C,EAAEjM,KAAKijD,GAAGzd,KAAKxlC,KAAKqiD,GAAGngC,GAAGrV,EAAEZ,GAAG,CAAC,CAAC,CAAC,EAAA23C,GAAK,OAAO5jD,KAAKoiD,IAAIpiD,KAAKoiD,GAAGjnC,KAAK,OAAOnb,KAAKqiD,IAAIriD,KAAKqiD,GAAGlnC,IAAI,CAAC,EAAA4pB,GAAK,OAAO,OAAO/kC,KAAKijD,GAAGjjD,KAAKijD,GAAGle,KAAK,CAAC,CAAC,EAAAC,CAAG/4B,GAAGjM,KAAKijD,IAAIjjD,KAAKijD,GAAGje,GAAG/4B,EAAE,CAAC,EAAA2uC,CAAG3uC,GAAG,IAAIjM,KAAKijD,GAAG,OAAOjjD,KAAK6jD,KAAK,MAAM33C,EAAED,EAAE+xC,OAAO7xC,EAAEF,EAAEgyC,OAAOj+C,KAAK8jD,GAAG53C,EAAEC,EAAEF,EAAE,CAAC,EAAAowC,CAAGpwC,GAAGjM,KAAK6jD,KAAK7jD,KAAK+jD,KAAK/jD,KAAK8jD,GAAG73C,EAAE+xC,OAAO/xC,EAAEgyC,OAAOhyC,EAAE,CAAC,EAAA4uC,CAAG5uC,GAAG,IAAIC,EAAE,IAAIlM,KAAKijD,GAAG,OAAOjjD,KAAK6jD,KAAK,MAAM13C,EAAEF,EAAE+xC,OAAO1xC,EAAEL,EAAEgyC,OAAOj+C,KAAK8jD,GAAG33C,EAAEG,EAAEL,GAAG,MAAM7D,EAAEpI,KAAK0vB,GAAGvjB,EAAEG,GAAGtM,KAAKq2C,GAAG2N,GAAG,QAAQ93C,EAAE,MAAM9D,OAAE,EAAOA,EAAE82C,UAAK,IAAShzC,EAAEA,EAAE,MAAMlM,KAAK2hB,KAAKutB,GAAG9mC,GAAG,CAAC+mC,GAAG/mC,EAAE+mC,GAAG4P,GAAG32C,EAAE22C,IAAI,CAAC,EAAAjD,CAAG7vC,GAAG,OAAOjM,KAAKijD,KAAKjjD,KAAK6jD,KAAK7jD,KAAKikD,GAAGh4C,GAAG,CAAC,EAAAkuC,CAAGluC,GAAG,OAAOjM,KAAKijD,IAAIjjD,KAAKkkD,GAAGlkD,KAAK0iD,GAAGz2C,EAAE,CAAC,EAAA+tC,CAAG/tC,GAAGjM,KAAKm6C,GAAGluC,EAAE,CAAC,EAAAsvC,CAAGtvC,GAAGjM,KAAK6jD,KAAK7jD,KAAKmkD,GAAGl4C,GAAGjM,KAAK8jD,GAAG73C,EAAE+xC,OAAO/xC,EAAEgyC,OAAOhyC,EAAE,CAAC,EAAA4vC,CAAG5vC,GAAG,OAAOjM,KAAKijD,KAAKjjD,KAAK6jD,KAAK7jD,KAAK4iD,IAAG,EAAG5iD,KAAKokD,GAAGn4C,GAAG,CAAC,EAAA0vC,CAAG1vC,GAAG,OAAOjM,KAAKijD,IAAIjjD,KAAKikD,GAAGh4C,EAAE,CAAC,EAAAwxC,CAAGxxC,GAAG,GAAGjM,KAAK4iD,IAAG,EAAG,OAAO5iD,KAAK6iD,GAAG,CAAC,MAAM32C,EAAE,CAACuK,EAAExK,EAAE+xC,OAAOlnC,EAAE7K,EAAEgyC,QAAQj+C,KAAKqkD,GAAGn4C,EAAEA,EAAED,EAAE,CAAC,CAAC,EAAAuxC,CAAGvxC,GAAG,OAAOjM,KAAKijD,KAAKjjD,KAAK6jD,KAAK7jD,KAAKijD,GAAGhmC,KAAKiyB,GAAG,MAAMlvC,KAAKskD,KAAK,CAAC,EAAAC,GAAK,OAAOvkD,KAAKyiD,EAAE,CAAC,EAAA+B,GAAK,OAAOxkD,KAAK0iD,EAAE,CAAC,EAAA5F,GAAK98C,KAAK2iD,GAAG,EAAE3iD,KAAK2hB,KAAK8D,IAAI,CAAC,EAAAs3B,CAAG9wC,EAAEC,GAAG,IAAIlM,KAAKq2C,GAAG39B,IAAIszB,YAAYO,MAAM,OAAO,MAAMpgC,EAAE,GAAGD,EAAElM,KAAK2iD,IAAI3iD,KAAK2iD,GAAGz2C,EAAElM,KAAK2hB,KAAKkuB,GAAG5jC,EAAEiO,GAAG/N,EAAE,CAAC,EAAAgwC,CAAGlwC,GAAGjM,KAAK4iD,IAAG,EAAG5iD,KAAK8iD,GAAG,OAAO9iD,KAAK6iD,GAAG7iD,KAAK+jD,KAAK,MAAM73C,EAAElM,KAAK2hB,KAAK6tB,KAAK,OAAOxvC,KAAK6iD,IAAI32C,EAAE0P,OAAO5b,KAAK+iD,GAAG,CAACtsC,EAAEvK,EAAEqR,KAAKzG,EAAE5K,EAAEsR,MAAMxd,KAAK6iD,GAAG,CAACpsC,EAAExK,EAAE+xC,OAAOlnC,EAAE7K,EAAEgyC,QAAQ,CAAC,EAAA7C,CAAGnvC,GAAG,GAAG,OAAOjM,KAAKijD,GAAG,OAAO,MAAM/2C,EAAED,EAAE+xC,OAAO7xC,EAAEF,EAAEgyC,OAAO,GAAG,OAAOj+C,KAAK6iD,GAAG7iD,KAAKmkD,GAAGl4C,OAAO,CAACjM,KAAK8iD,IAAG,EAAG,MAAMx2C,EAAEO,EAAE7M,KAAK+iD,IAAI36C,EAAEkE,EAAEmK,GAAGvK,EAAElM,KAAK6iD,GAAGpsC,GAAG1N,EAAEuD,EAAEwK,GAAG3K,EAAEnM,KAAK6iD,GAAG/rC,GAAG9W,KAAK8jD,GAAG17C,EAAEW,EAAEkD,EAAE,CAAC,CAAC,EAAAyvC,CAAGzvC,GAAG,IAAIjM,KAAK0/C,KAAKhnC,IAAI+rC,aAAaC,WAAW1kD,KAAK8iD,IAAG,GAAI9iD,KAAK2kD,KAAK3kD,KAAKokD,GAAGn4C,EAAE,CAAC,EAAAyjB,CAAGzjB,EAAEC,GAAG,MAAMC,EAAEnM,KAAKijD,GAAG,OAAO,OAAO92C,EAAE,KAAK,SAASF,EAAEC,EAAEC,GAAG,MAAMG,EAAEL,EAAEy2B,KAAKt6B,EAAE,SAAS6D,EAAEC,EAAEC,GAAG,IAAIG,EAAElE,EAAE,IAAIW,EAAEG,EAAE,IAAI,MAAM5H,KAAK2K,EAAE,CAAC,MAAMA,EAAE,QAAQ7D,EAAE,QAAQkE,EAAEhL,EAAEi7B,UAAK,IAASjwB,OAAE,EAAOA,EAAElI,KAAK9C,EAAE4K,EAAEC,UAAK,IAAS/D,EAAEA,EAAE,GAAG,IAAI,MAAM8D,KAAKD,EAAExI,EAAEyI,EAAEusB,UAAUtuB,EAAE,MAAMpB,OAAE,EAAOA,EAAE0vB,SAAS,QAAQh1B,GAAG,QAAQ0G,GAAG,WAAW1G,GAAG,WAAW0G,KAAKpB,EAAEmD,EAAEhD,EAAE5H,EAAE,CAAC,IAAImC,EAAE0G,EAAE,OAAOpB,GAAGG,EAAE,CAAC81C,GAAGj2C,EAAEomC,GAAGjmC,GAAG,IAAI,CAAnS,CAAqSoD,EAAEJ,EAAEC,GAAG,GAAG,SAAS,MAAM/D,OAAE,EAAOA,EAAE42C,GAAGvmB,QAAQ,OAAOzQ,GAAG5f,GAAG,IAAI,MAAMW,KAAKuD,EAAE,CAAC,GAAGlE,GAAGA,EAAE+mC,KAAKpmC,GAAG,WAAWX,EAAE42C,GAAGvmB,SAASrwB,EAAE42C,GAAG4F,aAAa,OAAO58B,GAAG5f,GAAG,MAAMkE,EAAE2b,GAAGlf,EAAEsb,GAAGpY,GAAGC,EAAEC,GAAG,GAAG,OAAOG,EAAE,MAAM,CAAC6iC,GAAGpmC,EAAE21C,GAAGpyC,EAAEoyC,GAAGK,GAAGzyC,EAAEyyC,IAAI,GAAG32C,GAAGA,EAAE+mC,KAAKpmC,GAAG,WAAWX,EAAE42C,GAAGvmB,QAAQrwB,EAAE42C,GAAG4F,aAAa,OAAO58B,GAAG5f,EAAE,CAAC,OAAO,MAAMA,OAAE,EAAOA,EAAE42C,IAAIh3B,GAAG5f,GAAG,IAAI,CAA1oB,CAA4oB+D,EAAEF,EAAEC,EAAE,CAAC,EAAA24C,CAAG34C,EAAEC,GAAGU,EAAE,SAASV,EAAEnM,KAAKoiD,GAAGpiD,KAAKqiD,IAAInB,GAAGj1C,EAAE,CAAC1M,MAAM2M,EAAE1M,OAAOQ,KAAKo/C,GAAG5/C,SAAS,CAAC,EAAAslD,GAAK,OAAO9kD,KAAKo/C,EAAE,CAAC,EAAA8B,CAAGj1C,GAAGE,EAAEnM,KAAKo/C,GAAGnzC,KAAKjM,KAAKo/C,GAAGnzC,EAAEjM,KAAKw/C,IAAG,EAAGx/C,KAAKkgD,GAAGh9C,oBAAoB+I,GAAGjM,KAAKogD,GAAGl9C,oBAAoB+I,GAAGjM,KAAKw/C,IAAG,EAAGx/C,KAAKmjD,GAAG//C,MAAM7D,MAAM0M,EAAE1M,MAAM,KAAKS,KAAKmjD,GAAG//C,MAAM5D,OAAOyM,EAAEzM,OAAO,KAAK,CAAC,EAAAulD,GAAK,MAAM94C,EAAEY,EAAE7M,KAAKijD,IAAIh3C,EAAEq5B,GAAGr5B,EAAEs5B,MAAMt5B,EAAEq5B,GAAGr5B,EAAEu5B,MAAM,IAAI,MAAMt5B,KAAKD,EAAE2xB,KAAK,GAAG3xB,EAAEqjB,GAAGpjB,GAAG,CAAC,MAAMC,EAAED,EAAE8P,KAAK,OAAO7P,GAAGF,EAAEq5B,GAAGn5B,GAAGD,EAAEuY,IAAI,CAAC,CAAC,EAAAm9B,GAAK,OAAO5hD,KAAKkgD,GAAGh8C,UAAU,CAAC,EAAA29C,CAAG51C,EAAEC,EAAEC,GAAG,MAAMG,EAAEtM,KAAK4hD,KAAKt1C,EAAE/M,MAAM,GAAG+M,EAAE9M,OAAO,GAAGyM,EAAE61C,UAAU9hD,KAAKkgD,GAAGn+C,cAAcmK,EAAEC,EAAE,CAAC,EAAAk1C,CAAGp1C,GAAG,GAAG,IAAIA,EAAE,OAAO,GAAG,OAAOjM,KAAKijD,GAAG,OAAO,GAAGh3C,EAAE,GAAGjM,KAAK+kD,KAAK,OAAO/kD,KAAKoiD,IAAIpiD,KAAKoiD,GAAGf,GAAGp1C,GAAG,OAAOjM,KAAKqiD,IAAIriD,KAAKqiD,GAAGhB,GAAGp1C,GAAG,IAAIA,EAAE,CAACjM,KAAKkgD,GAAGt8C,2BAA2B,MAAMqI,EAAEK,EAAEtM,KAAKkgD,IAAI,OAAOj0C,IAAIA,EAAErE,yBAA0BqE,IAAIjM,KAAKuhD,GAAGt1C,EAAG,GAAGjM,KAAKijD,KAAKjjD,KAAKglD,GAAG/4C,EAAEoc,IAAIroB,KAAKilD,GAAGh5C,GAAGjM,KAAKklD,GAAGj5C,GAAGjM,KAAKglD,GAAG/4C,EAAEqc,IAAItoB,KAAKglD,GAAG/4C,EAAEsc,KAAK,CAACvoB,KAAKogD,GAAGx8C,2BAA2B,MAAMsI,EAAEI,EAAEtM,KAAKogD,IAAI,OAAOl0C,IAAIA,EAAEtE,yBAAwB,EAAId,QAAQmF,EAAE/H,WAAWgI,MAAMD,EAAEwrC,UAAU,EAAE,EAAEvrC,EAAE3M,MAAM2M,EAAE1M,OAAQ,GAAGQ,KAAKmlD,GAAGj5C,GAAGlM,KAAKglD,GAAG94C,EAAEsc,IAAI,CAAC,EAAA48B,GAAK,OAAOplD,KAAKoiD,EAAE,CAAC,EAAAiD,GAAK,OAAOrlD,KAAKqiD,EAAE,CAAC,EAAAb,CAAGv1C,EAAEC,GAAGlM,KAAKglD,GAAG/4C,EAAEC,EAAE,CAAC,EAAAg3C,GAAK,OAAOljD,KAAKijD,IAAIjjD,KAAKijD,GAAG9c,KAAKx5B,EAAE3M,MAAMA,KAAKijD,GAAG,IAAI,CAAC,EAAAgB,CAAGh4C,GAAGjM,KAAKkkD,GAAGlkD,KAAKyiD,GAAGx2C,EAAE,CAAC,EAAAi4C,CAAGj4C,EAAEC,GAAG,MAAMC,EAAED,EAAE8xC,OAAO1xC,EAAEJ,EAAE+xC,OAAOhyC,EAAEuK,KAAKvK,EAAEW,EAAE5M,KAAK2hB,KAAKjG,KAAKwuB,GAAG/9B,GAAG,CAACsK,EAAEtK,EAAE2K,EAAExK,GAAGJ,EAAE,CAAC,EAAAq1C,EAAIz6C,QAAQmF,EAAE/H,WAAWgI,IAAI,MAAM3M,MAAM4M,EAAE3M,OAAO8M,GAAGJ,EAAE9D,EAAEpI,KAAK2hB,KAAK5Y,EAAEX,EAAE8Q,IAAIhQ,EAAEd,EAAE4oC,KAAKjoC,IAAIG,EAAEyQ,GAAE1N,EAAE,EAAE,EAAEE,EAAEG,EAAEpD,GAAG2Q,GAAG5N,EAAE,EAAE,EAAEE,EAAEG,EAAEvD,EAAEG,EAAE,CAAC,EAAA+7C,CAAGh5C,GAAG,MAAMC,EAAEW,EAAE7M,KAAKijD,IAAI7c,KAAKtQ,KAAKxa,KAAK,OAAOpP,GAAGA,EAAEqN,EAAEtN,GAAE,EAAG,CAAC,EAAAi5C,CAAGj5C,GAAG,MAAMC,EAAElM,KAAK2hB,KAAK4tB,KAAKvvC,KAAKslD,GAAGr5C,EAAEqc,GAAGtB,GAAG9a,GAAGlM,KAAKslD,GAAGr5C,EAAEqc,GAAGhB,GAAGpb,EAAE,CAAC,EAAAi5C,CAAGl5C,GAAGjM,KAAKslD,GAAGr5C,EAAEqc,GAAGhB,GAAGtnB,KAAK2hB,KAAK6tB,KAAK,CAAC,EAAAwV,CAAG/4C,EAAEC,GAAG,MAAMC,EAAEU,EAAE7M,KAAKijD,IAAIvgB,KAAK,IAAI,MAAMp2B,KAAKH,EAAEnM,KAAKslD,GAAGr5C,EAAEC,EAAE8a,GAAG1a,GAAG,IAAI,MAAMA,KAAKH,EAAEnM,KAAKslD,GAAGr5C,EAAEC,EAAEob,GAAGhb,EAAE,CAAC,EAAAg5C,CAAGr5C,EAAEC,EAAEC,EAAEG,GAAG,MAAMlE,EAAEyE,EAAE7M,KAAKijD,IAAIl6C,EAAEX,EAAE6U,KAAKgyB,KAAK/lC,EAAE,OAAOH,GAAGA,EAAEomC,KAAK7iC,EAAE7I,EAAE,OAAOsF,GAAGG,QAAG,IAASH,EAAEg2C,GAAGh2C,EAAEg2C,GAAGnvB,QAAG,EAAOrI,GAAGrb,EAAGA,GAAGC,EAAED,EAAED,EAAE/C,EAAEzF,GAAI6I,EAAElE,EAAE,CAAC,EAAAu7C,GAAK,GAAG,OAAO3jD,KAAKijD,GAAG,OAAO,MAAMh3C,EAAEjM,KAAKq2C,GAAGnqC,EAAElM,KAAKijD,GAAG1d,KAAK7sB,IAAIzN,QAAQkB,EAAEnM,KAAKijD,GAAGzd,KAAK9sB,IAAIzN,QAAQiB,GAAG,OAAOlM,KAAKoiD,KAAKpiD,KAAKqjD,GAAG9M,YAAYv2C,KAAKoiD,GAAGvB,MAAM7gD,KAAKoiD,GAAGxrC,IAAI5W,KAAKoiD,GAAG,MAAMj2C,GAAG,OAAOnM,KAAKqiD,KAAKriD,KAAKsjD,GAAG/M,YAAYv2C,KAAKqiD,GAAGxB,MAAM7gD,KAAKqiD,GAAGzrC,IAAI5W,KAAKqiD,GAAG,MAAM,MAAM/1C,EAAEL,EAAEgR,KAAKyzB,KAAKxkC,GAAG,OAAOlM,KAAKoiD,KAAKpiD,KAAKoiD,GAAG,IAAIh6B,GAAGpoB,KAAKiM,EAAEyM,IAAIpM,EAAE,QAAQtM,KAAKqjD,GAAG9L,YAAYv3C,KAAKoiD,GAAGvB,OAAO10C,GAAG,OAAOnM,KAAKqiD,KAAKriD,KAAKqiD,GAAG,IAAIj6B,GAAGpoB,KAAKiM,EAAEyM,IAAIpM,EAAE,SAAStM,KAAKsjD,GAAG/L,YAAYv3C,KAAKqiD,GAAGxB,MAAM,CAAC,EAAA0E,CAAGt5C,GAAG,OAAOA,EAAEqyC,IAAIt+C,KAAK4iD,IAAI,OAAO5iD,KAAK6iD,EAAE,CAAC,EAAA2C,CAAGv5C,GAAG,OAAOjG,KAAK2Q,IAAI,EAAE3Q,KAAK0Q,IAAIzK,EAAEjM,KAAKo/C,GAAG7/C,MAAM,GAAG,CAAC,EAAAkmD,CAAGx5C,GAAG,OAAOjG,KAAK2Q,IAAI,EAAE3Q,KAAK0Q,IAAIzK,EAAEjM,KAAKo/C,GAAG5/C,OAAO,GAAG,CAAC,EAAAskD,CAAG73C,EAAEC,EAAEC,GAAGnM,KAAK2hB,KAAKyuB,GAAGpwC,KAAKwlD,GAAGv5C,GAAGjM,KAAKylD,GAAGv5C,GAAGC,EAAEU,EAAE7M,KAAKijD,IAAI,CAAC,EAAAqB,GAAKtkD,KAAK2hB,KAAK2uB,IAAI,CAAC,EAAAqU,GAAK3kD,KAAK8iD,KAAK9iD,KAAK6iD,GAAG,KAAK7iD,KAAKskD,KAAK,CAAC,EAAAD,CAAGp4C,EAAEC,EAAEC,GAAGnM,KAAK6iD,GAAG52C,EAAEjM,KAAK8iD,IAAG,EAAG9iD,KAAK8jD,GAAG53C,EAAEuK,EAAEvK,EAAE4K,EAAE3K,GAAG,MAAMG,EAAEtM,KAAK2hB,KAAK6tB,KAAKxvC,KAAK+iD,GAAG,CAACtsC,EAAEnK,EAAEiR,KAAKzG,EAAExK,EAAEkR,KAAK,CAAC,EAAAmE,GAAK,OAAO3hB,KAAKq2C,GAAGp5B,IAAI,CAAC,EAAAmnC,CAAGn4C,GAAG,IAAIjM,KAAKwiD,GAAG,OAAO,MAAMt2C,EAAElM,KAAK2hB,KAAKxV,EAAEnM,KAAKohD,KAAK,GAAGl1C,EAAE45B,GAAG35B,EAAEA,EAAEoX,MAAMvjB,KAAKuiD,GAAG,KAAKviD,KAAKwiD,IAAG,EAAGt2C,EAAE+jC,KAAK,OAAOjwC,KAAKgjD,GAAG,CAAC,MAAM/2C,EAAE8kB,YAAYC,MAAM7kB,EAAED,EAAEwP,KAAK1b,KAAKgjD,GAAG3yB,GAAGlkB,EAAEm+B,KAAKr+B,GAAGjM,KAAKgjD,GAAG3X,GAAGp/B,IAAIC,EAAE0Z,GAAG5lB,KAAKgjD,GAAG,CAAC,CAAC,EAAAa,GAAK7jD,KAAK6iD,GAAG,IAAI,CAAC,EAAAkB,GAAK,GAAI/jD,KAAKijD,GAAT,CAAmB,GAAGjjD,KAAK2hB,KAAK8D,KAAKzgB,SAAS0gD,gBAAgB1gD,SAASC,MAAMD,SAAS0gD,gBAAgB1gD,SAAS42C,gBAAgB/uC,EAAE7H,SAAS0gD,eAAeC,WAAW,CAAC,MAAM15C,EAAEjH,SAAS4gD,eAAe,OAAO35C,GAAGA,EAAE45C,iBAAiB,EAAE7lD,KAAKijD,GAAG1/B,KAAKpC,MAAMnhB,KAAK2hB,KAAKjG,KAAKyF,IAA1P,CAA8P,CAAC,EAAAgjC,CAAGl4C,GAAG,GAAG,OAAOjM,KAAKijD,GAAG,OAAO,MAAM/2C,EAAElM,KAAK2hB,KAAKxV,EAAED,EAAEwP,KAAK,GAAGvP,EAAEgV,KAAK,OAAO,MAAM7U,EAAEtM,KAAKq2C,GAAG39B,IAAItQ,EAAEkE,EAAEy/B,aAAahjC,EAAEuD,EAAEw5C,cAAc,KAAK19C,EAAE+jC,kBAAkBlgC,EAAEqyC,OAAOl2C,EAAE6jC,gBAAgB7jC,EAAEgkC,gBAAgBngC,EAAEqyC,IAAI,OAAO,MAAMp1C,EAAElJ,KAAKijD,GAAG1/B,KAAK9f,EAAEstB,YAAYC,MAAM,GAAG,OAAOhxB,KAAKuiD,IAAIviD,KAAKulD,GAAGt5C,KAAKjM,KAAKuiD,GAAG,CAAC9rC,EAAExK,EAAEqxC,QAAQxmC,EAAE7K,EAAEsxC,QAAQhK,GAAG9vC,EAAEsiD,GAAG95C,EAAE+xC,OAAOgI,GAAG/5C,EAAEgyC,SAAS,OAAOj+C,KAAKuiD,KAAKviD,KAAKwiD,KAAKxiD,KAAKuiD,GAAG9rC,IAAIxK,EAAEqxC,SAASt9C,KAAKuiD,GAAGzrC,IAAI7K,EAAEsxC,SAAS,CAAC,GAAGtxC,EAAEqyC,IAAIv1C,EAAEk9C,QAAQh6C,EAAEqyC,IAAIv1C,EAAEm9C,MAAM,CAAC,MAAMj6C,EAAEE,EAAEqe,KAAKxqB,KAAKgjD,GAAG,IAAI9N,GAAG,GAAGjpC,EAAE,EAAEA,EAAE,KAAK,GAAGA,GAAGjM,KAAKgjD,GAAGnN,GAAG1pC,EAAEm+B,KAAKtqC,KAAKuiD,GAAGhP,GAAG,MAAMvzC,KAAKgjD,GAAG,KAAK95C,EAAEiY,MAAMjV,EAAE05B,GAAG5lC,KAAKijD,GAAG/5C,EAAE+C,EAAEgyC,QAAQ/xC,EAAE6jC,GAAG9jC,EAAE+xC,QAAQh+C,KAAKwiD,IAAG,CAAE,CAACxiD,KAAKwiD,KAAKt5C,EAAEiY,MAAMjV,EAAE25B,GAAG7lC,KAAKijD,GAAG/5C,EAAE+C,EAAEgyC,QAAQ/xC,EAAE8jC,GAAG/jC,EAAE+xC,QAAQ,OAAOh+C,KAAKgjD,IAAIhjD,KAAKgjD,GAAGnN,GAAG1pC,EAAEm+B,KAAK7mC,GAAG,EAAE,MAAMilB,GAAG,WAAAlR,CAAYtL,EAAEC,EAAEG,EAAElE,EAAEW,GAAG/I,KAAKib,IAAG,EAAGjb,KAAKo/C,GAAGnzC,EAAE,CAAC1M,MAAM,EAAEC,OAAO,IAAIQ,KAAKy/C,GAAG,IAAIz/C,KAAKqhD,GAAG,GAAGrhD,KAAK4/C,GAAG,SAAS1zC,EAAElM,KAAKsuC,GAAGhiC,EAAEokC,GAAG1wC,KAAKojB,GAAGjX,EAAEnM,KAAKmmD,GAAG/9C,EAAEpI,KAAKomD,GAAGr9C,EAAE/I,KAAKggD,GAAGh7C,SAASmyC,cAAc,OAAOn3C,KAAKggD,GAAG58C,MAAM7D,MAAM,OAAOS,KAAKggD,GAAG58C,MAAM5D,OAAO,OAAOQ,KAAKggD,GAAG58C,MAAM68C,SAAS,SAASjgD,KAAKkgD,GAAGt5B,GAAG5mB,KAAKggD,GAAG/zC,EAAE,CAAC1M,MAAM,GAAGC,OAAO,MAAMQ,KAAKkgD,GAAGx8C,oCAAoC1D,KAAKy/C,GAAG,CAAC,CAAA7oC,GAAI5W,KAAKkgD,GAAGv8C,sCAAsC3D,KAAKy/C,IAAI14B,GAAG/mB,KAAKkgD,GAAGn+C,eAAe/B,KAAKkgD,GAAG1/C,SAAS,CAAC,EAAAqgD,GAAK,OAAO7gD,KAAKggD,EAAE,CAAC,EAAA8E,GAAK,OAAO9kD,KAAKo/C,EAAE,CAAC,EAAA8B,CAAGj1C,GAAGE,EAAEnM,KAAKo/C,GAAGnzC,KAAKjM,KAAKo/C,GAAGnzC,EAAEjM,KAAKkgD,GAAGh9C,oBAAoB+I,GAAGjM,KAAKggD,GAAG58C,MAAM7D,MAAM,GAAG0M,EAAE1M,UAAUS,KAAKggD,GAAG58C,MAAM5D,OAAO,GAAGyM,EAAEzM,WAAWQ,KAAKib,IAAG,EAAG,CAAC,EAAAomC,CAAGp1C,GAAG,GAAGA,EAAE,IAAIjM,KAAKib,GAAG,OAAO,GAAG,IAAIjb,KAAKo/C,GAAG7/C,OAAO,IAAIS,KAAKo/C,GAAG5/C,OAAO,OAAOQ,KAAKib,IAAG,EAAGjb,KAAKkgD,GAAGt8C,2BAA2B,MAAMsI,EAAEI,EAAEtM,KAAKkgD,IAAI,OAAOh0C,GAAGA,EAAEtE,yBAA0BqE,IAAIjM,KAAKuhD,GAAGt1C,GAAGjM,KAAKssB,GAAGrgB,EAAG,EAAE,CAAC,EAAA21C,GAAK,OAAO5hD,KAAKkgD,GAAGh8C,UAAU,CAAC,EAAA29C,CAAG51C,EAAEC,EAAEC,GAAG,MAAMG,EAAEtM,KAAK4hD,KAAKt1C,EAAE/M,MAAM,GAAG+M,EAAE9M,OAAO,GAAGyM,EAAE61C,UAAU9hD,KAAKkgD,GAAGn+C,cAAcmK,EAAEC,EAAE,CAAC,EAAAmgB,EAAIxlB,QAAQmF,EAAE/H,WAAWgI,EAAErE,qBAAqBsE,EAAErE,mBAAmBwE,IAAI,IAAItM,KAAKmmD,KAAK,OAAOl6C,EAAEuO,UAAUxa,KAAKojB,GAAGmrB,UAAU9lC,YAAY,MAAML,EAAEpC,KAAK8T,MAAM9Z,KAAKsuC,GAAG51B,IAAI3B,EAAE5K,GAAGpD,EAAE/C,KAAK8T,MAAM9Z,KAAKsuC,GAAG51B,IAAI3B,EAAEzK,GAAGpD,EAAElJ,KAAK4/C,GAAG1zC,EAAE3M,MAAM6I,EAAE,EAAE6D,EAAEwR,SAASvU,EAAE,EAAEd,EAAEW,EAAE,CAAC,EAAAw4C,EAAIz6C,QAAQmF,EAAE/H,WAAWgI,IAAIyN,GAAE1N,EAAE,EAAE,EAAEC,EAAE3M,MAAM2M,EAAE1M,OAAOQ,KAAKomD,KAAK,EAAE,SAASz9B,GAAG1c,GAAG,OAAOC,IAAI,IAAIC,EAAEG,EAAE,OAAO,QAAQA,EAAE,QAAQH,EAAED,EAAEowB,UAAK,IAASnwB,OAAE,EAAOA,EAAE/H,KAAK8H,EAAED,UAAK,IAASK,EAAEA,EAAE,GAAG,CAAC,MAAMsc,GAAGD,GAAG,UAAUE,GAAGF,GAAG,OAAOG,GAAGH,GAAG,UAAU,MAAMI,GAAG,WAAAvR,CAAYtL,EAAEC,GAAGnM,KAAKqmD,GAAG,KAAKrmD,KAAKsmD,GAAG,KAAKtmD,KAAK6W,EAAE,KAAK7W,KAAKumD,IAAG,EAAGvmD,KAAKo/C,GAAGnzC,EAAE,CAAC1M,MAAM,EAAEC,OAAO,IAAIQ,KAAKwmD,GAAG,IAAIjvC,EAAEvX,KAAKs/C,GAAG,IAAI7gC,GAAG,GAAGze,KAAKw/C,IAAG,EAAGx/C,KAAKy/C,GAAG,KAAKz/C,KAAKw/C,IAAIx/C,KAAKq2C,GAAGp5B,KAAK4Y,MAAM71B,KAAK2/C,GAAG,KAAK3/C,KAAKw/C,IAAIx/C,KAAKq2C,GAAGp5B,KAAK4Y,MAAM71B,KAAKq2C,GAAGnqC,EAAElM,KAAKumC,GAAGp6B,EAAEnM,KAAKojB,GAAGlX,EAAEwM,IAAIM,OAAOhZ,KAAKi2C,GAAGjxC,SAASmyC,cAAc,MAAMn3C,KAAKymD,GAAGzhD,SAASmyC,cAAc,MAAMn3C,KAAKymD,GAAGrjD,MAAMggD,QAAQ,IAAIpjD,KAAK0mD,GAAG1hD,SAASmyC,cAAc,MAAMn3C,KAAK0mD,GAAGtjD,MAAMggD,QAAQ,IAAIpjD,KAAKggD,GAAGh7C,SAASmyC,cAAc,MAAMn3C,KAAKggD,GAAG58C,MAAM5D,OAAO,OAAOQ,KAAKggD,GAAG58C,MAAMggD,QAAQ,IAAIpjD,KAAK2mD,GAAG3hD,SAASmyC,cAAc,OAAOn3C,KAAK2mD,GAAGvjD,MAAM7D,MAAM,OAAOS,KAAK2mD,GAAGvjD,MAAM5D,OAAO,OAAOQ,KAAK2mD,GAAGvjD,MAAM+uB,SAAS,WAAWnyB,KAAK2mD,GAAGvjD,MAAM68C,SAAS,SAASjgD,KAAKggD,GAAGzI,YAAYv3C,KAAK2mD,IAAI3mD,KAAKkgD,GAAGt5B,GAAG5mB,KAAK2mD,GAAG16C,EAAE,CAAC1M,MAAM,GAAGC,OAAO,MAAMQ,KAAKkgD,GAAGx8C,oCAAoC1D,KAAKy/C,IAAI,MAAMnzC,EAAEtM,KAAKkgD,GAAGn+C,cAAcuK,EAAElJ,MAAM+uB,SAAS,WAAW7lB,EAAElJ,MAAM+8C,OAAO,IAAI7zC,EAAElJ,MAAM8C,KAAK,IAAIoG,EAAElJ,MAAM+C,IAAI,IAAInG,KAAKogD,GAAGx5B,GAAG5mB,KAAK2mD,GAAG16C,EAAE,CAAC1M,MAAM,GAAGC,OAAO,MAAMQ,KAAKogD,GAAG18C,oCAAoC1D,KAAK2/C,IAAI,MAAMv3C,EAAEpI,KAAKogD,GAAGr+C,cAAcqG,EAAEhF,MAAM+uB,SAAS,WAAW/pB,EAAEhF,MAAM+8C,OAAO,IAAI/3C,EAAEhF,MAAM8C,KAAK,IAAIkC,EAAEhF,MAAM+C,IAAI,IAAInG,KAAKi2C,GAAGsB,YAAYv3C,KAAKymD,IAAIzmD,KAAKi2C,GAAGsB,YAAYv3C,KAAKggD,IAAIhgD,KAAKi2C,GAAGsB,YAAYv3C,KAAK0mD,IAAI1mD,KAAK4mD,KAAK5mD,KAAKq2C,GAAGp5B,KAAK6nB,KAAKrhC,EAAEzD,KAAK4mD,GAAGh/B,KAAK5nB,MAAMA,MAAMA,KAAK4gD,GAAG,IAAIn5B,GAAGznB,KAAKogD,GAAGr+C,cAAc/B,KAAK,CAACk7C,GAAG,KAAI,EAAGC,GAAG,KAAKn7C,KAAKq2C,GAAG39B,IAAIqzB,aAAaE,eAAe,CAAC,CAAAr1B,GAAI5W,KAAK4gD,GAAGhqC,IAAI,OAAO5W,KAAKqmD,IAAIrmD,KAAKqmD,GAAGzvC,IAAI,OAAO5W,KAAKsmD,IAAItmD,KAAKsmD,GAAG1vC,IAAI5W,KAAKogD,GAAGz8C,sCAAsC3D,KAAK2/C,IAAI54B,GAAG/mB,KAAKogD,GAAGr+C,eAAe/B,KAAKogD,GAAG5/C,UAAUR,KAAKkgD,GAAGv8C,sCAAsC3D,KAAKy/C,IAAI14B,GAAG/mB,KAAKkgD,GAAGn+C,eAAe/B,KAAKkgD,GAAG1/C,SAAS,CAAC,EAAAqgD,GAAK,OAAO7gD,KAAKi2C,EAAE,CAAC,EAAA4Q,GAAK,OAAO7mD,KAAKqmD,EAAE,CAAC,EAAAS,GAAK,OAAO9mD,KAAKsmD,EAAE,CAAC,EAAAjK,CAAGpwC,GAAG,GAAGjM,KAAKumD,GAAG,OAAOvmD,KAAKumD,IAAG,EAAG,MAAMr6C,EAAElM,KAAKq2C,GAAGp5B,MAAM/Q,EAAEwP,KAAKyF,MAAMnhB,KAAKq2C,GAAG39B,IAAIszB,YAAYM,qBAAqB9e,MAAMthB,EAAE0jC,GAAG3jC,EAAE+xC,OAAO,CAAC,EAAA7B,CAAGlwC,GAAGjM,KAAKq8C,GAAGpwC,EAAE,CAAC,EAAAqwC,GAAK,MAAMrwC,EAAEjM,KAAKq2C,GAAGp5B,MAAMhR,EAAEyP,KAAKyF,MAAMnhB,KAAKumD,KAAKvmD,KAAKumD,IAAG,EAAGvmD,KAAKq2C,GAAG39B,IAAIszB,YAAYM,qBAAqB9e,MAAMvhB,EAAEkkC,KAAK,CAAC,EAAAoL,CAAGtvC,GAAG,MAAMC,EAAElM,KAAKq2C,GAAGp5B,MAAM/Q,EAAEwP,KAAKyF,MAAMnhB,KAAKq2C,GAAG39B,IAAIszB,YAAYM,qBAAqB9e,MAAMthB,EAAEgkC,GAAGjkC,EAAE+xC,OAAO,CAAC,EAAA5C,CAAGnvC,GAAGjM,KAAKu7C,GAAGtvC,EAAE,CAAC,EAAA4vC,GAAK77C,KAAKumD,IAAG,EAAG,MAAMt6C,EAAEjM,KAAKq2C,GAAGp5B,KAAKhR,EAAEyP,KAAKyF,OAAOnhB,KAAKq2C,GAAG39B,IAAIszB,YAAYM,qBAAqB9e,MAAMvhB,EAAEkkC,IAAI,CAAC,EAAAuL,GAAK17C,KAAK67C,IAAI,CAAC,EAAA1B,GAAKn6C,KAAKq2C,GAAG39B,IAAIszB,YAAYK,qBAAqB7e,MAAMxtB,KAAKq2C,GAAGp5B,KAAK6I,IAAI,CAAC,EAAAk0B,GAAKh6C,KAAKm6C,IAAI,CAAC,EAAAS,GAAK56C,KAAKq2C,GAAGp5B,KAAKvE,IAAIszB,YAAYM,qBAAqB9e,MAAMxtB,KAAK+hD,GAAG,EAAE,CAAC,EAAAvE,GAAKx9C,KAAK+hD,GAAG,EAAE,CAAC,EAAA+C,GAAK,OAAO9kD,KAAKo/C,EAAE,CAAC,EAAA2H,GAAK,OAAO/mD,KAAKwmD,EAAE,CAAC,EAAAQ,CAAG96C,EAAEI,EAAElE,GAAG+D,EAAEnM,KAAKo/C,GAAGlzC,KAAKlM,KAAKo/C,GAAGlzC,EAAElM,KAAKw/C,IAAG,EAAGx/C,KAAKkgD,GAAGh9C,oBAAoBgJ,GAAGlM,KAAKogD,GAAGl9C,oBAAoBgJ,GAAGlM,KAAKw/C,IAAG,EAAGx/C,KAAKggD,GAAG58C,MAAM7D,MAAM,GAAG2M,EAAE3M,UAAUS,KAAKggD,GAAG58C,MAAM5D,OAAO,GAAG0M,EAAE1M,WAAWQ,KAAKwmD,GAAG55C,EAAEV,IAAI,OAAOlM,KAAKqmD,IAAIrmD,KAAKqmD,GAAGnF,GAAGj1C,EAAE,CAAC1M,MAAM+M,EAAE9M,OAAO0M,EAAE1M,UAAU,OAAOQ,KAAKsmD,IAAItmD,KAAKsmD,GAAGpF,GAAGj1C,EAAE,CAAC1M,MAAM6I,EAAE5I,OAAO0M,EAAE1M,SAAS,CAAC,EAAAynD,GAAK,MAAMh7C,EAAEjM,KAAKknD,KAAK,OAAOlhD,KAAK+Z,KAAK9T,EAAE8K,EAAE9K,EAAE+K,EAAE/K,EAAEoL,EAAEpL,EAAEqM,EAAErM,EAAEiM,EAAEjM,EAAEk7C,GAAG,CAAC,EAAAhsC,GAAKnb,KAAKq2C,GAAGp5B,KAAKvB,KAAKgjB,IAAI,CAAC,EAAAkjB,GAAK,OAAO5hD,KAAKkgD,GAAGh8C,UAAU,CAAC,EAAA29C,CAAG51C,EAAEC,EAAEC,GAAG,MAAMG,EAAEtM,KAAK4hD,KAAKt1C,EAAE/M,MAAM,GAAG+M,EAAE9M,OAAO,GAAGyM,EAAE61C,UAAU9hD,KAAKkgD,GAAGn+C,cAAcmK,EAAEC,EAAE,CAAC,EAAAk1C,CAAGp1C,GAAG,GAAG,IAAIA,EAAE,OAAO,GAAG,IAAIA,EAAE,CAACjM,KAAKkgD,GAAGt8C,2BAA2B,MAAMsI,EAAEI,EAAEtM,KAAKkgD,IAAI,OAAOh0C,IAAIA,EAAEtE,yBAA0BqE,IAAIjM,KAAKuhD,GAAGt1C,GAAGjM,KAAKssB,GAAGrgB,GAAGjM,KAAKonD,GAAGl7C,EAAE4c,GAAI,GAAG9oB,KAAKyhD,GAAGv1C,GAAGlM,KAAKonD,GAAGl7C,EAAE0c,KAAK,OAAO5oB,KAAKqmD,IAAIrmD,KAAKqmD,GAAGhF,GAAGp1C,GAAG,OAAOjM,KAAKsmD,IAAItmD,KAAKsmD,GAAGjF,GAAGp1C,EAAE,CAACjM,KAAKogD,GAAGx8C,2BAA2B,MAAMsI,EAAEI,EAAEtM,KAAKogD,IAAI,OAAOl0C,IAAIA,EAAEtE,yBAAwB,EAAId,QAAQmF,EAAE/H,WAAWgI,MAAMD,EAAEwrC,UAAU,EAAE,EAAEvrC,EAAE3M,MAAM2M,EAAE1M,OAAQ,GAAGQ,KAAKqnD,GAAG,IAAIrnD,KAAKq2C,GAAGp5B,KAAK7B,KAAKpb,KAAKq2C,GAAGp5B,KAAKuyB,MAAMtjC,GAAGlM,KAAKonD,GAAGl7C,EAAE2c,IAAI,CAAC,EAAAu+B,CAAGn7C,EAAEC,GAAG,MAAMC,EAAEnM,KAAKq2C,GAAGp5B,KAAK7B,KAAK,IAAI,MAAM9O,KAAKH,EAAEob,GAAGrb,EAAGA,GAAG8a,GAAG9a,EAAED,GAAE,OAAG,GAASK,OAAE,GAAQ,IAAI,MAAMA,KAAKH,EAAEob,GAAGrb,EAAGA,GAAGob,GAAGpb,EAAED,GAAE,OAAG,GAASK,OAAE,EAAO,CAAC,EAAAi1C,EAAIz6C,QAAQmF,EAAE/H,WAAWgI,IAAIyN,GAAE1N,EAAE,EAAE,EAAEC,EAAE3M,MAAM2M,EAAE1M,OAAOQ,KAAKq2C,GAAGp5B,KAAK+zB,KAAK,CAAC,EAAA1kB,EAAIxlB,QAAQmF,EAAE/H,WAAWgI,EAAEpE,mBAAmBqE,IAAI,GAAGnM,KAAKq2C,GAAG39B,IAAI61B,UAAU/lC,cAAc,CAACyD,EAAEuO,UAAUxa,KAAKsnD,KAAK,MAAMh7C,EAAEtG,KAAK2Q,IAAI,EAAE3Q,KAAK8T,MAAM9Z,KAAKknD,KAAKnwC,EAAE5K,IAAIF,EAAEwR,SAAS,EAAE,EAAEvR,EAAE3M,MAAM+M,EAAE,CAAC,CAAC,EAAAm1C,CAAGx1C,GAAG,MAAMC,EAAElM,KAAKq2C,GAAGp5B,KAAKvB,KAAKvP,EAAED,EAAEwyB,KAAK,IAAIvyB,GAAG,IAAIA,EAAElJ,OAAO,OAAO,MAAMqJ,EAAEtM,KAAKumC,GAAGiO,kBAAkBroC,GAAG/D,EAAEpI,KAAKknD,KAAKn+C,EAAEmD,EAAEwM,IAAI3P,EAAEP,eAAeO,EAAE8X,cAAc5U,EAAErE,2BAA4Bd,QAAQmF,EAAEpE,qBAAqBqE,EAAEpE,mBAAmBwE,MAAML,EAAE0Q,YAAY3c,KAAKsnD,KAAKr7C,EAAEuO,UAAUxa,KAAKsnD,KAAK,MAAMv+C,EAAE/C,KAAK2Q,IAAI,EAAE3Q,KAAK8T,MAAM5N,IAAIhD,EAAElD,KAAK8T,MAAM,GAAG5N,GAAGD,EAAEM,YAAY,MAAM9I,EAAEuC,KAAKC,MAAMmC,EAAE4O,EAAE1K,GAAG,IAAI,IAAIA,EAAEH,EAAElJ,OAAOqJ,KAAK,CAAC,MAAMlE,EAAEpC,KAAKC,MAAMkG,EAAEG,GAAGqyB,MAAMzyB,GAAGD,EAAE+1C,KAAK55C,EAAEc,EAAE,EAAEH,EAAEtF,EAAE,CAACwI,EAAEqO,MAAO,GAAGrO,EAAE7E,wBAAuB,EAAIN,QAAQmF,MAAM,MAAMC,EAAE9D,EAAE2O,EAAE3O,EAAE4O,EAAE5O,EAAEkQ,EAAElQ,EAAEiP,EAAE,EAAEpL,EAAEoT,UAAU,SAASpT,EAAEqT,aAAa,SAASrT,EAAEuO,UAAUxa,KAAK8Y,IAAI7M,EAAEkS,KAAKne,KAAKghD,KAAK,IAAI,MAAM54C,KAAK+D,EAAE,GAAG/D,EAAEi/B,OAAO/6B,EAAE,CAAC,MAAMH,EAAE/D,EAAEuiC,oBAAoB3qC,KAAKunD,GAAGt7C,EAAE7D,EAAEu2B,MAAMv2B,EAAEqiC,OAAOriC,EAAEu2B,MAAM1yB,EAAEsT,SAASnX,EAAEqiC,MAAMt+B,EAAED,EAAE,CAAClM,KAAKq2C,GAAG39B,IAAI61B,UAAUiZ,kBAAkBv7C,EAAEkS,KAAKne,KAAKynD,MAAM,IAAI,MAAMr/C,KAAK+D,EAAE,GAAG/D,EAAEi/B,QAAQ/6B,EAAE,CAAC,MAAMH,EAAE/D,EAAEuiC,oBAAoB3qC,KAAKunD,GAAGt7C,EAAE7D,EAAEu2B,MAAMv2B,EAAEqiC,OAAOriC,EAAEu2B,MAAM1yB,EAAEsT,SAASnX,EAAEqiC,MAAMt+B,EAAED,EAAE,CAAE,EAAE,CAAC,EAAAq7C,CAAGt7C,EAAEC,EAAEC,GAAG,MAAMG,EAAEtM,KAAKs/C,GAAGt/B,GAAG/T,EAAEE,GAAG/D,EAAEkE,EAAE,EAAEvD,EAAE/C,KAAK8T,MAAM5N,EAAE9D,GAAG,GAAG,OAAOW,EAAE,EAAEmD,GAAGlG,KAAKyb,IAAI,EAAE1Y,GAAGA,EAAEuD,EAAEtM,KAAKo/C,GAAG7/C,QAAQ2M,GAAGlG,KAAKyb,IAAIzhB,KAAKo/C,GAAG7/C,OAAOwJ,EAAEuD,KAAKJ,CAAC,CAAC,EAAAm7C,CAAGp7C,EAAEC,GAAG,MAAMC,EAAEnM,KAAKknD,KAAK,IAAI,MAAM56C,KAAKL,EAAE,IAAI,MAAMA,KAAKK,EAAE8V,KAAKnW,EAAEqP,KAAK/B,EAAErN,EAAEC,EAAE,CAAC,EAAAm7C,GAAK,OAAOtnD,KAAKq2C,GAAG39B,IAAI61B,UAAU9lC,WAAW,CAAC,CAAAqQ,GAAI,OAAO9Y,KAAKojB,GAAGnK,SAAS,CAAC,CAAAL,GAAI,OAAO5Y,KAAKojB,GAAGjK,QAAQ,CAAC,EAAA6nC,GAAK,OAAOvoC,EAAEzY,KAAK4Y,IAAI5Y,KAAKojB,GAAGhK,WAAW,CAAC,EAAAquC,GAAK,OAAOhvC,EAAEzY,KAAK4Y,IAAI5Y,KAAKojB,GAAGhK,WAAW,OAAO,CAAC,EAAA8tC,GAAK,OAAOlnD,KAAK6W,IAAI7W,KAAK6W,EAAE,CAACE,EAAE,EAAEyB,EAAEG,IAAIL,EAAEK,IAAIT,EAAES,IAAI4I,GAAG5I,IAAI3B,EAAE,EAAEK,EAAEsB,IAAIrB,EAAE,GAAGgK,GAAG,IAAI7C,GAAG0oC,GAAG,IAAI,MAAMl7C,EAAEjM,KAAK6W,EAAE3K,EAAElM,KAAKghD,KAAK,GAAG/0C,EAAEqL,IAAIpL,EAAE,CAAC,MAAMC,EAAEnM,KAAK4Y,IAAI3M,EAAEoL,EAAElL,EAAEF,EAAEqL,EAAEpL,EAAED,EAAEqM,EAAE,EAAEnM,EAAE,GAAGF,EAAEiM,EAAE,EAAE/L,EAAE,GAAGF,EAAEsV,GAAG,EAAEpV,EAAE,GAAGF,EAAEuM,EAAE,EAAEvM,EAAEk7C,GAAG,EAAEh7C,EAAE,GAAGF,EAAEqV,GAAGgN,IAAI,CAAC,OAAOtuB,KAAK6W,CAAC,CAAC,EAAAkrC,CAAG91C,GAAGjM,KAAKggD,GAAG58C,MAAM++C,OAAO,IAAIl2C,EAAE,YAAY,SAAS,CAAC,EAAA26C,GAAK,MAAM36C,EAAEjM,KAAKq2C,GAAGp5B,KAAK/Q,EAAED,EAAEyM,IAAIxM,EAAEm4B,eAAep5B,SAAS,OAAOjL,KAAKqmD,KAAKrmD,KAAKymD,GAAGlQ,YAAYv2C,KAAKqmD,GAAGxF,MAAM7gD,KAAKqmD,GAAGzvC,IAAI5W,KAAKqmD,GAAG,MAAMn6C,EAAEq4B,gBAAgBt5B,SAAS,OAAOjL,KAAKsmD,KAAKtmD,KAAK0mD,GAAGnQ,YAAYv2C,KAAKsmD,GAAGzF,MAAM7gD,KAAKsmD,GAAG1vC,IAAI5W,KAAKsmD,GAAG,MAAM,MAAMn6C,EAAE,CAACukC,GAAG1wC,KAAKq2C,GAAGp5B,KAAKyzB,MAAMpkC,EAAE,IAAIJ,EAAEm4B,eAAe77B,eAAeyD,EAAEyP,KAAKhD,IAAIlQ,cAAcJ,EAAE,IAAI6D,EAAE+kC,KAAK9kC,EAAEm4B,eAAep5B,SAAS,OAAOjL,KAAKqmD,KAAKrmD,KAAKqmD,GAAG,IAAI39B,GAAG,OAAOxc,EAAEC,EAAEG,EAAElE,GAAGpI,KAAKymD,GAAGlP,YAAYv3C,KAAKqmD,GAAGxF,OAAO30C,EAAEq4B,gBAAgBt5B,SAAS,OAAOjL,KAAKsmD,KAAKtmD,KAAKsmD,GAAG,IAAI59B,GAAG,QAAQxc,EAAEC,EAAEG,EAAElE,GAAGpI,KAAK0mD,GAAGnP,YAAYv3C,KAAKsmD,GAAGzF,MAAM,EAAE,MAAM73B,KAAK7C,MAAMyuB,UAAU8S,eAAe9S,UAAU8S,cAAcC,OAAOC,KAAM37C,GAAGA,EAAE47C,MAAMhwC,SAAS,gBAAiBsO,MAAM,QAAQ8C,GAAG,OAAO2rB,gBAAW,IAASA,eAAU,EAAOA,UAAU8S,qBAAgB,IAASz+B,QAAG,EAAOA,GAAG8rB,UAAU,YAAYH,UAAU8S,cAAc3S,SAASH,UAAUC,UAAU59B,cAAc2kB,QAAQ,QAAQ,GAAG,IAAI3S,GAAG,MAAMC,GAAG,WAAA1R,CAAYvL,EAAEC,EAAEC,GAAG,IAAIG,EAAEtM,KAAK8nD,GAAG,GAAG9nD,KAAK+nD,GAAG,EAAE/nD,KAAKggC,GAAG,EAAEhgC,KAAK+jC,GAAG,EAAE/jC,KAAKgoD,GAAG,EAAEhoD,KAAKioD,GAAG,EAAEjoD,KAAKkoD,GAAG,KAAKloD,KAAKmoD,IAAG,EAAGnoD,KAAKyiD,GAAG,IAAIlrC,EAAEvX,KAAK0iD,GAAG,IAAInrC,EAAEvX,KAAKmuC,GAAG,IAAI52B,EAAEvX,KAAKooD,GAAG,KAAKpoD,KAAKqoD,GAAG,KAAKroD,KAAKo2C,GAAGnqC,EAAEjM,KAAKojB,GAAGlX,EAAElM,KAAKumC,GAAGp6B,EAAEnM,KAAKi2C,GAAGjxC,SAASmyC,cAAc,OAAOn3C,KAAKi2C,GAAGqS,UAAUC,IAAI,yBAAyBvoD,KAAKi2C,GAAG7yC,MAAM68C,SAAS,SAASjgD,KAAKi2C,GAAG7yC,MAAMolD,UAAU,MAAMxoD,KAAKi2C,GAAG7yC,MAAM7D,MAAM,OAAOS,KAAKi2C,GAAG7yC,MAAM5D,OAAO,QAAQ8M,EAAEtM,KAAKi2C,IAAI7yC,MAAMqlD,WAAW,OAAOn8C,EAAElJ,MAAMslD,iBAAiB,OAAOp8C,EAAElJ,MAAMulD,aAAa,OAAOr8C,EAAElJ,MAAMwlD,cAAc,OAAOt8C,EAAElJ,MAAMylD,wBAAwB,cAAc7oD,KAAK8oD,GAAG9jD,SAASmyC,cAAc,SAASn3C,KAAK8oD,GAAGC,aAAa,cAAc,KAAK/oD,KAAKi2C,GAAGsB,YAAYv3C,KAAK8oD,IAAI9oD,KAAKgpD,GAAGhpD,KAAKipD,GAAGrhC,KAAK5nB,MAAMmpB,GAAGnpB,KAAKojB,KAAKpjB,KAAKkpD,IAAG,GAAIlpD,KAAK2hB,GAAG,IAAIsD,GAAGjlB,KAAKquC,GAAGzmB,KAAK5nB,MAAMA,KAAKojB,GAAGjX,GAAGnM,KAAKid,KAAKwyB,KAAKhsC,EAAEzD,KAAKmpD,GAAGvhC,KAAK5nB,MAAMA,MAAMA,KAAKopD,GAAG,IAAIrgC,GAAG/oB,KAAKA,KAAKumC,IAAIvmC,KAAK8oD,GAAGvR,YAAYv3C,KAAKopD,GAAGvI,MAAM,MAAMz4C,EAAE8D,EAAEm9C,UAAUrpD,KAAKspD,KAAK,IAAIvgD,EAAE/I,KAAKojB,GAAG7jB,MAAM2J,EAAElJ,KAAKojB,GAAG5jB,OAAO,GAAG4I,GAAG,IAAIW,GAAG,IAAIG,EAAE,CAAC,MAAMgD,EAAED,EAAEoxC,wBAAwBt0C,EAAEA,GAAGmD,EAAE3M,MAAM2J,EAAEA,GAAGgD,EAAE1M,MAAM,CAACQ,KAAK+C,GAAGgG,EAAEG,GAAGlJ,KAAKupD,KAAKt9C,EAAEsrC,YAAYv3C,KAAKi2C,IAAIj2C,KAAKwpD,KAAKxpD,KAAK2hB,GAAGjG,KAAK+vB,KAAKhoC,EAAEzD,KAAK2hB,GAAGuZ,GAAGtT,KAAK5nB,KAAK2hB,IAAI3hB,MAAMA,KAAK2hB,GAAGmjB,KAAKrhC,EAAEzD,KAAK2hB,GAAGuZ,GAAGtT,KAAK5nB,KAAK2hB,IAAI3hB,KAAK,CAAC,EAAAid,GAAK,OAAOjd,KAAK2hB,EAAE,CAAC,CAAAjJ,GAAI,OAAO1Y,KAAKojB,EAAE,CAAC,EAAAsgC,GAAK,OAAO1jD,KAAK8nD,EAAE,CAAC,EAAA2B,GAAK,OAAOzpD,KAAKopD,EAAE,CAAC,CAAAxyC,GAAI5W,KAAKkpD,IAAG,GAAI,IAAIlpD,KAAK+nD,IAAIpT,OAAO+U,qBAAqB1pD,KAAK+nD,IAAI/nD,KAAK2hB,GAAG8tB,KAAK9iC,EAAE3M,MAAMA,KAAK2hB,GAAGjG,KAAK+vB,KAAK9+B,EAAE3M,MAAMA,KAAK2hB,GAAGmjB,KAAKn4B,EAAE3M,MAAMA,KAAK2hB,GAAG/K,IAAI,IAAI,MAAM3K,KAAKjM,KAAK8nD,GAAG9nD,KAAK8oD,GAAGvS,YAAYtqC,EAAE40C,MAAM50C,EAAEs4C,KAAK53C,EAAE3M,MAAMiM,EAAEu4C,KAAK73C,EAAE3M,MAAMiM,EAAE2K,IAAI5W,KAAK8nD,GAAG,GAAGj7C,EAAE7M,KAAKopD,IAAIxyC,IAAI,OAAO5W,KAAKi2C,GAAG0T,eAAe3pD,KAAKi2C,GAAG0T,cAAcpT,YAAYv2C,KAAKi2C,IAAIj2C,KAAKmuC,GAAGv3B,IAAI5W,KAAKyiD,GAAG7rC,IAAI5W,KAAK0iD,GAAG9rC,IAAI5W,KAAK4pD,IAAI,CAAC,EAAA7mD,CAAGmJ,EAAEC,EAAEG,GAAE,GAAI,GAAGtM,KAAKggC,KAAK7zB,GAAGnM,KAAK+jC,KAAK73B,EAAE,OAAO,MAAM9D,EAAE,SAAS8D,GAAG,MAAMC,EAAEnG,KAAK8T,MAAM5N,EAAE3M,OAAO+M,EAAEtG,KAAK8T,MAAM5N,EAAE1M,QAAQ,OAAOyM,EAAE,CAAC1M,MAAM4M,EAAEA,EAAE,EAAE3M,OAAO8M,EAAEA,EAAE,GAAG,CAAnG,CAAqGL,EAAE,CAAC1M,MAAM2M,EAAE1M,OAAO2M,KAAKnM,KAAKggC,GAAG53B,EAAE5I,OAAOQ,KAAK+jC,GAAG37B,EAAE7I,MAAM,MAAMwJ,EAAE/I,KAAKggC,GAAG,KAAK92B,EAAElJ,KAAK+jC,GAAG,KAAKl3B,EAAE7M,KAAKi2C,IAAI7yC,MAAM5D,OAAOuJ,EAAE8D,EAAE7M,KAAKi2C,IAAI7yC,MAAM7D,MAAM2J,EAAElJ,KAAK8oD,GAAG1lD,MAAM5D,OAAOuJ,EAAE/I,KAAK8oD,GAAG1lD,MAAM7D,MAAM2J,EAAEoD,EAAEtM,KAAK6pD,GAAG/uC,GAAGuL,KAAK0K,YAAYC,OAAOhxB,KAAK2hB,GAAGuZ,IAAI,CAAC,EAAAmmB,CAAGp1C,QAAG,IAASA,IAAIA,EAAE6O,GAAGuL,MAAM,IAAI,IAAIna,EAAE,EAAEA,EAAElM,KAAK8nD,GAAG7kD,OAAOiJ,IAAIlM,KAAK8nD,GAAG57C,GAAGm1C,GAAGp1C,EAAEsZ,GAAGrZ,GAAGkZ,IAAIplB,KAAKojB,GAAGmrB,UAAUtjC,SAASjL,KAAKopD,GAAG/H,GAAGp1C,EAAEqZ,KAAK,CAAC,EAAAsQ,CAAG3pB,GAAG,MAAMC,EAAEid,GAAGnpB,KAAKojB,IAAIpjB,KAAK2hB,GAAGiU,GAAG3pB,GAAG,MAAME,EAAEgd,GAAGnpB,KAAKojB,IAAIjX,IAAID,GAAGlM,KAAKkpD,GAAG/8C,GAAGnM,KAAKwpD,KAAKxpD,KAAK8pD,GAAG79C,EAAE,CAAC,EAAAs4C,GAAK,OAAOvkD,KAAKyiD,EAAE,CAAC,EAAA+B,GAAK,OAAOxkD,KAAK0iD,EAAE,CAAC,EAAAjT,GAAK,OAAOzvC,KAAKmuC,EAAE,CAAC,EAAA4b,GAAK,OAAO/pD,KAAKkoD,KAAKloD,KAAK6pD,GAAG7pD,KAAKkoD,GAAGn3B,YAAYC,OAAOhxB,KAAKkoD,GAAG,MAAM,MAAMj8C,EAAEjM,KAAKgqD,GAAG,MAAM99C,EAAElH,SAASmyC,cAAc,UAAUjrC,EAAE3M,MAAM0M,EAAE1M,MAAM2M,EAAE1M,OAAOyM,EAAEzM,OAAO,MAAM2M,EAAEU,EAAEX,EAAE/D,WAAW,OAAO,OAAOnI,KAAKgqD,GAAG79C,GAAGD,CAAC,CAAC,EAAA+9C,CAAGh+C,GAAG,OAAG,SAASA,GAAIjM,KAAKkqD,QAAiB,UAAUj+C,GAAIjM,KAAKmqD,MAAiB,IAAInqD,KAAK8nD,GAAG7kD,OAAc,EAAS4J,EAAE,SAASZ,EAAEjM,KAAK8nD,GAAG,GAAG1C,KAAKplD,KAAK8nD,GAAG,GAAGzC,MAAMlE,KAA1H,CAA8H,CAAC,EAAAiJ,GAAK,OAAOpqD,KAAKojB,GAAGimC,UAAU,OAAOrpD,KAAKooD,EAAE,CAAC,EAAAiC,GAAK,OAAOrqD,KAAKi2C,EAAE,CAAC,EAAA+N,CAAG/3C,GAAGjM,KAAKqoD,GAAGp8C,EAAEjM,KAAKqoD,GAAGroD,KAAKqqD,KAAKjnD,MAAMknD,YAAY,SAASr+C,GAAGjM,KAAKqqD,KAAKjnD,MAAMmnD,eAAe,SAAS,CAAC,EAAAC,GAAK,OAAOxqD,KAAKqoD,EAAE,CAAC,EAAAoC,GAAK,OAAO79C,EAAE5M,KAAK8nD,GAAG,IAAIhD,IAAI,CAAC,EAAAgF,CAAG79C,SAAI,IAASA,EAAEo9C,WAAWrpD,KAAKooD,SAAI,IAASn8C,EAAE1M,YAAO,IAAS0M,EAAEzM,UAAUyM,EAAEo9C,WAAWrpD,KAAKooD,IAAIpoD,KAAKspD,MAAK,IAAKr9C,EAAEo9C,UAAU,OAAOrpD,KAAKooD,IAAIpoD,KAAK4pD,KAAK39C,EAAEo9C,eAAU,IAASp9C,EAAE1M,YAAO,IAAS0M,EAAEzM,QAAQQ,KAAK+C,GAAGkJ,EAAE1M,OAAOS,KAAK+jC,GAAG93B,EAAEzM,QAAQQ,KAAKggC,IAAI,CAAC,EAAAgqB,CAAG99C,GAAG,IAAIC,EAAE,EAAEG,EAAE,EAAE,MAAMlE,EAAEpI,KAAK8nD,GAAG,GAAG/+C,EAAE,CAACkD,EAAEE,KAAK,IAAIG,EAAE,EAAE,IAAI,IAAIlE,EAAE,EAAEA,EAAEpI,KAAK8nD,GAAG7kD,OAAOmF,IAAI,CAAC,MAAMW,EAAE/I,KAAK8nD,GAAG1/C,GAAGc,EAAE2D,EAAE,SAASZ,EAAElD,EAAEq8C,KAAKr8C,EAAEs8C,MAAM5hD,EAAEyF,EAAE04C,KAAK,OAAO11C,GAAGhD,EAAE24C,GAAG31C,EAAEC,EAAEG,GAAGA,GAAG7I,EAAEjE,MAAM,GAAMQ,KAAKkqD,OAAMnhD,EAAE,OAAO,GAAGoD,GAAGU,EAAEzE,EAAEg9C,MAAMxD,KAAKriD,OAAM,IAAI,IAAI0M,EAAE,EAAEA,EAAEjM,KAAK8nD,GAAG7kD,OAAOgJ,IAAI,CAAC,MAAM7D,EAAEpI,KAAK8nD,GAAG77C,GAAGlD,EAAEX,EAAEw5C,KAAK,OAAO11C,GAAG9D,EAAEy5C,GAAG31C,EAAEC,EAAEG,GAAGA,GAAGvD,EAAEvJ,MAAM,CAAI2M,GAAG/D,EAAEw5C,KAAKriD,MAAMS,KAAKmqD,OAAMphD,EAAE,QAAQoD,GAAGA,GAAGU,EAAEzE,EAAEi9C,MAAMzD,KAAKriD,OAAM,MAAM2J,EAAE,CAAC+C,EAAEE,EAAEG,KAAKO,EAAE,SAASZ,EAAEjM,KAAKopD,GAAGvC,KAAK7mD,KAAKopD,GAAGtC,MAAMjF,GAAGh1C,EAAEX,GAAGC,EAAEG,IAAI,GAAGtM,KAAKojB,GAAGmrB,UAAUtjC,QAAQ,CAAC,MAAMgB,EAAEjM,KAAKopD,GAAGxH,KAAK,GAAG,OAAO11C,EAAE,CAAC,IAAIC,EAAE,EAAEnM,KAAKkqD,OAAOhhD,EAAE,OAAOiD,EAAEG,GAAGH,EAAEU,EAAEzE,EAAEg9C,MAAMxD,KAAKriD,OAAOS,KAAKopD,GAAGvH,GAAG31C,EAAEC,EAAEG,GAAGH,GAAGF,EAAE1M,MAAMS,KAAKmqD,MAAMjhD,EAAE,QAAQiD,EAAEG,EAAE,CAACA,GAAGL,EAAEzM,MAAM,CAAC,OAAOyM,EAAE,CAAC1M,MAAM4M,EAAE3M,OAAO8M,GAAG,CAAC,EAAAo+C,GAAK,IAAIx+C,EAAE,EAAEC,EAAE,EAAEG,EAAE,EAAE,IAAI,MAAML,KAAKjM,KAAK8nD,GAAG9nD,KAAKkqD,OAAO/9C,EAAEnG,KAAK2Q,IAAIxK,EAAEU,EAAEZ,EAAEm5C,MAAMrE,KAAK/gD,KAAKojB,GAAGihB,eAAesmB,eAAe3qD,KAAKmqD,OAAO79C,EAAEtG,KAAK2Q,IAAIrK,EAAEO,EAAEZ,EAAEo5C,MAAMtE,KAAK/gD,KAAKojB,GAAGmhB,gBAAgBomB,eAAez+C,GAAGD,EAAE84B,KAAK54B,EAAEqa,GAAGra,GAAGG,EAAEka,GAAGla,GAAG,MAAMlE,EAAEpI,KAAK+jC,GAAGh7B,EAAE/I,KAAKggC,GAAG92B,EAAElD,KAAK2Q,IAAIvO,EAAE+D,EAAEG,EAAE,GAAG7I,EAAEzD,KAAKojB,GAAGmrB,UAAUtjC,QAAQ,IAAId,EAAE1G,EAAEuC,KAAK2Q,IAAI3W,KAAKopD,GAAGnC,KAAKjnD,KAAKojB,GAAGmrB,UAAUqc,eAAe,EAAE,IAAItpD,EAAE6I,GAAG7I,EAAE6I,GAAG7I,EAAE,EAAE,MAAMwJ,EAAE,EAAEX,EAAEY,EAAEhC,EAAE+B,EAAE,EAAE/B,EAAE+B,EAAEiB,EAAEhB,EAAEmB,EAAE,IAAIF,EAAE,EAAE,IAAI,IAAIE,EAAE,EAAEA,EAAElM,KAAK8nD,GAAG7kD,SAASiJ,EAAE,CAAC,MAAM9D,EAAEpI,KAAK8nD,GAAG57C,GAAG9D,EAAEq7C,GAAGzjD,KAAK2hB,GAAG2tB,KAAKpjC,IAAI,IAAInD,EAAE,EAAEtF,EAAE,EAAEA,EAAEyI,IAAIlM,KAAK8nD,GAAG7kD,OAAO,EAAE8H,EAAEiB,EAAEhG,KAAKC,MAAMmC,EAAE28B,KAAKh5B,GAAGhD,EAAE/C,KAAK2Q,IAAIlT,EAAE,GAAGuI,GAAGjD,EAAEX,EAAE84C,GAAGj1C,EAAE,CAAC1M,MAAM2J,EAAE1J,OAAOuJ,KAAK/I,KAAKkqD,MAAM9hD,EAAEy8C,GAAG14C,EAAE,QAAQnM,KAAKmqD,MAAM/hD,EAAEy8C,GAAGv4C,EAAE,SAASlE,EAAEg5C,MAAMphD,KAAK2hB,GAAG+tB,GAAGtnC,EAAEg5C,KAAKr4C,EAAE,CAAC/I,KAAKopD,GAAGpC,GAAG/6C,EAAE,CAAC1M,MAAMkE,EAAEyF,EAAE,EAAE1J,OAAO2K,IAAI1G,EAAE0I,EAAE,EAAE1I,EAAE6I,EAAE,GAAGtM,KAAK2hB,GAAGsjB,GAAG/7B,GAAGlJ,KAAKgoD,KAAK77C,IAAInM,KAAKgoD,GAAG77C,GAAGnM,KAAKioD,KAAK37C,IAAItM,KAAKioD,GAAG37C,EAAE,CAAC,EAAA48C,CAAGj9C,GAAGA,EAAEjM,KAAKi2C,GAAG0E,iBAAiB,QAAQ36C,KAAKgpD,GAAG,CAAC/M,SAAQ,IAAKj8C,KAAKi2C,GAAGyE,oBAAoB,QAAQ16C,KAAKgpD,GAAG,CAAC,EAAA6B,CAAG5+C,GAAG,OAAOA,EAAE6+C,WAAW,KAAK7+C,EAAE8+C,eAAe,OAAO,IAAI,KAAK9+C,EAAE++C,eAAe,OAAO,GAAG,OAAOhiC,GAAG,EAAE2rB,OAAO9zC,iBAAiB,CAAC,CAAC,EAAAooD,CAAGh9C,GAAG,KAAK,IAAIA,EAAEg/C,QAAQjrD,KAAKojB,GAAG2oB,aAAaG,YAAY,IAAIjgC,EAAEi/C,QAAQlrD,KAAKojB,GAAG4oB,YAAYE,YAAY,OAAO,MAAMhgC,EAAElM,KAAK6qD,GAAG5+C,GAAGE,EAAED,EAAED,EAAEg/C,OAAO,IAAI3+C,GAAGJ,EAAED,EAAEi/C,OAAO,IAAI,GAAGj/C,EAAE4yC,YAAY5yC,EAAE2wC,iBAAiB,IAAItwC,GAAGtM,KAAKojB,GAAG4oB,YAAYE,WAAW,CAAC,MAAMhgC,EAAElG,KAAKivC,KAAK3oC,GAAGtG,KAAK0Q,IAAI,EAAE1Q,KAAKyb,IAAInV,IAAIH,EAAEF,EAAEqxC,QAAQt9C,KAAKi2C,GAAGoH,wBAAwBn3C,KAAKlG,KAAKid,KAAK4yB,GAAG1jC,EAAED,EAAE,CAAC,IAAIC,GAAGnM,KAAKojB,GAAG2oB,aAAaG,YAAYlsC,KAAKid,KAAK6yB,OAAO3jC,EAAE,CAAC,EAAA09C,CAAG59C,EAAEC,GAAG,IAAIC,EAAE,MAAMG,EAAEL,EAAEqZ,KAAK,IAAIhZ,GAAGtM,KAAKmrD,KAAK,IAAI7+C,GAAG,IAAIA,IAAItM,KAAKorD,GAAGn/C,GAAGjM,KAAKqrD,GAAGp/C,EAAEC,GAAGlM,KAAKopD,GAAGjuC,KAAKnb,KAAK8nD,GAAGjmD,QAASoK,IAAIA,EAAE23C,IAAK,GAAG,KAAK,QAAQz3C,EAAEnM,KAAKkoD,UAAK,IAAS/7C,OAAE,EAAOA,EAAEmZ,QAAQtlB,KAAKkoD,GAAGhiC,GAAGja,GAAGjM,KAAKmrD,KAAKnrD,KAAKorD,GAAGprD,KAAKkoD,IAAIloD,KAAKqrD,GAAGrrD,KAAKkoD,GAAGh8C,GAAGD,EAAEjM,KAAKkoD,GAAGloD,KAAKkoD,GAAG,OAAOloD,KAAKqhD,GAAGp1C,EAAE,CAAC,EAAAo/C,CAAGp/C,EAAEC,GAAG,IAAI,MAAMC,KAAKF,EAAEga,KAAKjmB,KAAKmmB,GAAGha,EAAED,EAAE,CAAC,EAAAk/C,CAAGn/C,GAAG,MAAMC,EAAElM,KAAK2hB,GAAG2tB,KAAK,IAAI,IAAInjC,EAAE,EAAEA,EAAED,EAAEjJ,OAAOkJ,IAAIF,EAAEsZ,GAAGpZ,GAAGkZ,IAAInZ,EAAEC,GAAG85B,IAAI,CAAC,EAAA9f,CAAGla,EAAEC,GAAG,MAAMC,EAAEnM,KAAK2hB,GAAGjG,KAAK,OAAOzP,EAAEyZ,IAAI,KAAK,EAAEvZ,EAAEw/B,KAAK,MAAM,KAAK,EAAEx/B,EAAEy/B,GAAG3/B,EAAEiQ,IAAI,MAAM,KAAK,EAAE/P,EAAE4Z,GAAG9Z,EAAEiQ,IAAI,MAAM,KAAK,EAAE/P,EAAE6Z,GAAG/Z,EAAEiQ,IAAI,MAAM,KAAK,EAAE/P,EAAEy+B,KAAK,MAAM,KAAK,EAAE3+B,EAAEiQ,GAAGmvB,GAAGn/B,IAAIC,EAAE6Z,GAAG/Z,EAAEiQ,GAAGovB,GAAGp/B,IAAI,CAAC,EAAAmiC,CAAGpiC,GAAG,OAAOjM,KAAKkoD,GAAGloD,KAAKkoD,GAAGhiC,GAAGja,GAAGjM,KAAKkoD,GAAGj8C,EAAEjM,KAAKmoD,KAAKnoD,KAAKmoD,IAAG,EAAGnoD,KAAK+nD,GAAGpT,OAAO2W,sBAAuBr/C,IAAI,GAAGjM,KAAKmoD,IAAG,EAAGnoD,KAAK+nD,GAAG,EAAE,OAAO/nD,KAAKkoD,GAAG,CAAC,MAAMh8C,EAAElM,KAAKkoD,GAAGloD,KAAKkoD,GAAG,KAAKloD,KAAK6pD,GAAG39C,EAAED,GAAG,IAAI,MAAME,KAAKD,EAAE+Z,KAAK,GAAG,IAAI9Z,EAAEuZ,KAAKvZ,EAAE+P,GAAGmvB,GAAGp/B,GAAG,CAACjM,KAAKid,KAAK2I,GAAGzZ,EAAE+P,IAAI,KAAK,CAAC,CAAE,GAAG,CAAC,EAAAivC,GAAKnrD,KAAKupD,IAAI,CAAC,EAAAA,GAAK,MAAMt9C,EAAEjM,KAAK2hB,GAAG2tB,KAAKpjC,EAAED,EAAEhJ,OAAOkJ,EAAEnM,KAAK8nD,GAAG7kD,OAAO,IAAI,IAAIgJ,EAAEC,EAAED,EAAEE,EAAEF,IAAI,CAAC,MAAMA,EAAEW,EAAE5M,KAAK8nD,GAAGyD,OAAOvrD,KAAK8oD,GAAGvS,YAAYtqC,EAAE40C,MAAM50C,EAAEs4C,KAAK53C,EAAE3M,MAAMiM,EAAEu4C,KAAK73C,EAAE3M,MAAMiM,EAAE2K,GAAG,CAAC,IAAI,IAAItK,EAAEH,EAAEG,EAAEJ,EAAEI,IAAI,CAAC,MAAMJ,EAAE,IAAIuc,GAAGzoB,KAAKiM,EAAEK,IAAIJ,EAAEq4C,KAAK9gD,EAAEzD,KAAKwrD,GAAG5jC,KAAK5nB,MAAMA,MAAMkM,EAAEs4C,KAAK/gD,EAAEzD,KAAKyrD,GAAG7jC,KAAK5nB,MAAMA,MAAMA,KAAK8nD,GAAG3mD,KAAK+K,GAAGlM,KAAK8oD,GAAG4C,aAAax/C,EAAE20C,KAAK7gD,KAAKopD,GAAGvI,KAAK,CAAC,IAAI,IAAI10C,EAAE,EAAEA,EAAED,EAAEC,IAAI,CAAC,MAAMD,EAAED,EAAEE,GAAGG,EAAEtM,KAAK8nD,GAAG37C,GAAGG,EAAE80C,OAAOl1C,EAAEI,EAAEm3C,GAAGv3C,GAAGI,EAAEk3C,IAAI,CAACxjD,KAAKwpD,KAAKxpD,KAAK0qD,IAAI,CAAC,EAAAiB,CAAG1/C,EAAEC,EAAEC,GAAG,IAAIG,EAAE,MAAMlE,EAAE,IAAI0a,IAAwF,IAAI/Z,EAAE,GAAvF,OAAOkD,GAAGjM,KAAK2hB,GAAGvG,KAAKvZ,QAASqK,IAAI,MAAMC,EAAED,EAAE2Y,KAAK0S,GAAGtrB,GAAG,OAAOE,GAAG/D,EAAE2c,IAAI7Y,EAAEC,EAAG,GAAY,OAAOF,EAAE,CAAC,MAAMC,EAAE,QAAQI,EAAEtM,KAAK2hB,GAAGjG,KAAKkG,GAAG3V,UAAK,IAASK,OAAE,EAAOA,EAAEoxB,kBAAa,IAASxxB,IAAInD,EAAEmD,EAAE,CAAC,MAAMhD,EAAElJ,KAAKid,KAAKgyB,KAAKxrC,EAAE,OAAOyF,GAAGA,EAAEimC,cAAcjtB,GAAGhZ,EAAEimC,QAAG,EAAOhlC,EAAE,OAAOjB,QAAG,IAASA,EAAE61C,GAAG71C,EAAE61C,GAAGpvB,QAAG,EAAO,MAAM,CAACi8B,GAAG7iD,EAAEshB,GAAG,MAAMpe,EAAEA,OAAE,EAAO4/C,GAAG,MAAM3/C,EAAEA,OAAE,EAAO4/C,GAAGroD,EAAEsoD,GAAG3jD,EAAE4jD,GAAG7hD,EAAE8hD,GAAG,MAAM9/C,EAAEA,OAAE,EAAO,CAAC,EAAAq/C,CAAGv/C,EAAEC,EAAEC,GAAGnM,KAAKyiD,GAAG71C,EAAC,IAAM5M,KAAK2rD,GAAG1/C,EAAEC,EAAEC,GAAI,CAAC,EAAAs/C,CAAGx/C,EAAEC,EAAEC,GAAGnM,KAAK0iD,GAAG91C,EAAC,IAAM5M,KAAK2rD,GAAG1/C,EAAEC,EAAEC,GAAI,CAAC,EAAAg9C,CAAGl9C,EAAEC,EAAEC,GAAGnM,KAAKmuC,GAAGvhC,EAAC,IAAM5M,KAAK2rD,GAAG1/C,EAAEC,EAAEC,GAAI,CAAC,EAAAq9C,GAAK,MAAMv9C,EAAEjM,KAAKojB,GAAGmrB,UAAUtjC,QAAQ,GAAG,OAAOjL,KAAKopD,GAAGvI,KAAKz9C,MAAM8oD,QAAQjgD,CAAC,CAAC,EAAAi+C,GAAK,OAAOlqD,KAAK8nD,GAAG,GAAG1G,KAAK7b,KAAK7sB,IAAIzN,OAAO,CAAC,EAAAk/C,GAAK,OAAOnqD,KAAK8nD,GAAG,GAAG1G,KAAK5b,KAAK9sB,IAAIzN,OAAO,CAAC,EAAAq+C,GAAK,MAAM,mBAAmB3U,SAAS30C,KAAKooD,GAAG,IAAIzjD,eAAgBsH,IAAI,MAAMC,EAAED,EAAE5F,KAAM4F,GAAGA,EAAE3F,SAAStG,KAAKo2C,IAAKlqC,GAAGlM,KAAK+C,GAAGmJ,EAAEigD,YAAY5sD,MAAM2M,EAAEigD,YAAY3sD,OAAQ,GAAGQ,KAAKooD,GAAGrjD,QAAQ/E,KAAKo2C,GAAG,CAAClxC,IAAI,gBAAe,EAAG,CAAC,EAAA0kD,GAAK,OAAO5pD,KAAKooD,IAAIpoD,KAAKooD,GAAGplD,aAAahD,KAAKooD,GAAG,IAAI,EAAE,SAASj/B,GAAGld,GAAG,OAAOmgD,QAAQngD,EAAE8/B,aAAaG,YAAYjgC,EAAE+/B,YAAYE,WAAW,CAAuG,SAAS7iB,GAAGpd,EAAEC,GAAG,IAAIC,EAAE,CAAA,EAAG,IAAI,IAAIG,KAAKL,EAAEvL,OAAOH,UAAUqX,eAAexT,KAAK6H,EAAEK,IAAIJ,EAAE0vB,QAAQtvB,GAAG,IAAIH,EAAEG,GAAGL,EAAEK,IAAI,GAAG,MAAML,GAAG,mBAAmBvL,OAAO2rD,sBAAsB,CAAC,IAAIjkD,EAAE,EAAE,IAAIkE,EAAE5L,OAAO2rD,sBAAsBpgD,GAAG7D,EAAEkE,EAAErJ,OAAOmF,IAAI8D,EAAE0vB,QAAQtvB,EAAElE,IAAI,GAAG1H,OAAOH,UAAU+rD,qBAAqBloD,KAAK6H,EAAEK,EAAElE,MAAM+D,EAAEG,EAAElE,IAAI6D,EAAEK,EAAElE,IAAI,CAAC,OAAO+D,CAAC,CAAC,SAASqd,GAAGvd,EAAEC,EAAEC,EAAEG,GAAG,MAAMlE,EAAE+D,EAAExG,MAAMoD,EAAE,CAACshB,GAAGne,EAAE0O,GAAG3O,EAAEiQ,GAAG,CAAC9T,EAAEA,EAAEA,EAAEA,GAAGwjD,GAAGt/C,GAAG,YAAO,IAASH,EAAEhD,QAAQJ,EAAE4O,EAAExL,EAAEhD,OAAOJ,CAAC,CAAC,SAASwgB,GAAGtd,EAAEC,EAAEC,EAAEG,GAAG,MAAMlE,EAAE+D,EAAExG,MAAMoD,EAAE,CAACshB,GAAGne,EAAE0O,GAAG3O,EAAEiQ,GAAG,CAAC9T,EAAEA,EAAEA,EAAEA,GAAGwjD,GAAGt/C,GAAG,YAAO,IAASH,EAAEjC,YAAYnB,EAAE4R,GAAGxO,EAAEjC,gBAAW,IAASiC,EAAEpC,WAAWhB,EAAEuf,GAAGnc,EAAEpC,eAAU,IAASoC,EAAEnC,cAAcjB,EAAEwf,GAAGpc,EAAEnC,aAAajB,CAAC,CAAC,SAAS0gB,GAAGxd,EAAEC,EAAEC,EAAEG,GAAG,MAAMlE,EAAE+D,EAAExG,MAAMoD,EAAE,CAACshB,GAAGne,EAAE0O,GAAG3O,EAAEiQ,GAAG,CAAC9T,EAAEA,EAAEA,EAAEA,GAAGwjD,GAAGt/C,GAAG,YAAO,IAASH,EAAE1B,eAAe1B,EAAEgjB,GAAG5f,EAAE1B,mBAAc,IAAS0B,EAAEvB,kBAAkB7B,EAAEijB,GAAG7f,EAAEvB,sBAAiB,IAASuB,EAAE5B,gBAAgBxB,EAAE2iB,GAAGvf,EAAE5B,oBAAe,IAAS4B,EAAE3B,gBAAgBzB,EAAE4iB,GAAGxf,EAAE3B,oBAAe,IAAS2B,EAAEzB,mBAAmB3B,EAAE6iB,GAAGzf,EAAEzB,uBAAkB,IAASyB,EAAExB,mBAAmB5B,EAAE8iB,GAAG1f,EAAExB,kBAAkB5B,CAAC,CAAC,SAAS2gB,GAAGzd,EAAEC,EAAEC,EAAEG,GAAG,MAAMlE,EAAE,CAACiiB,GAAGne,EAAE0O,GAAG3O,EAAEiQ,GAAG,CAAC/P,EAAEogD,KAAKpgD,EAAEqgD,KAAKrgD,EAAEsgD,IAAItgD,EAAEugD,OAAOd,GAAGt/C,GAAG,YAAO,IAASH,EAAEhD,QAAQf,EAAEuP,EAAExL,EAAEhD,OAAOf,CAAC,CAAC,SAASuhB,GAAG1d,EAAEC,EAAEC,EAAEG,GAAG,MAAMlE,EAAE,CAACiiB,GAAGne,EAAE0O,GAAG3O,EAAEiQ,GAAG,CAAC/P,EAAEogD,KAAKpgD,EAAEqgD,KAAKrgD,EAAEsgD,IAAItgD,EAAEugD,OAAOd,GAAGt/C,GAAG,YAAO,IAASH,EAAEhD,QAAQf,EAAEuP,EAAExL,EAAEhD,YAAO,IAASgD,EAAE1D,cAAcL,EAAE+T,GAAGhQ,EAAE1D,kBAAa,IAAS0D,EAAEvD,YAAYR,EAAE+tB,GAAGhqB,EAAEvD,WAAWR,CAAC,CAAC,SAASwhB,GAAG3d,EAAEC,EAAEC,EAAEG,EAAElE,GAAG,MAAMW,EAAE6D,EAAExE,EAAFwE,CAAKT,GAAGjD,EAAElD,KAAK2Q,OAAO5N,GAAGtF,EAAEuC,KAAK0Q,OAAO3N,GAAGoB,EAAEpB,EAAEA,EAAE9F,OAAO,GAAG3B,EAAE,CAAC6I,EAAEjB,EAAEzF,EAAE0G,GAAGW,EAAEqB,GAAGqhB,KAAKziB,EAAE5B,MAAM4C,GAAGjB,EAAE,MAAM,CAACuf,GAAGne,EAAE0O,GAAG3O,EAAEiQ,GAAG5a,EAAEsqD,GAAGt/C,EAAE6gB,GAAG9D,GAAGve,EAAE,CAAC,OAAO,UAAU6M,EAAE5L,EAAE,CAAC,SAAS8d,GAAG5d,GAAG,YAAO,IAASA,EAAEiQ,EAAE,CAAC,SAAS4N,GAAG7d,EAAEC,GAAG,YAAO,IAASA,EAAEygD,eAAe1gD,EAAE2gD,GAAG1gD,EAAEygD,cAAc1gD,CAAC,CAAC,SAAS8d,GAAG9d,GAAG,MAAM,CAACC,EAAEC,EAAEG,EAAElE,EAAEW,EAAEG,IAAI,SAAS+C,EAAEC,GAAG,OAAOA,EAAEA,EAAED,QAAG,KAAUE,EAAEF,GAAGsgD,WAAM,IAASpgD,EAAExG,MAAM,IAAIwG,CAAC,CAAvE,CAAyEG,EAAEpD,GAAG4gB,GAAG,CAAClP,GAAG1O,EAAEme,GAAGle,EAAEy/C,GAAGxjD,GAAGkE,GAAGwd,GAAG7d,EAAEC,EAAEC,EAAEG,EAAElE,EAAEW,GAAGuD,EAAE,CAAC,SAAS0d,GAAG/d,GAAG,MAAM,CAACiqB,YAAYnM,GAAGJ,IAAIsM,IAAIlM,GAAGL,IAAI2M,KAAKtM,GAAGR,IAAI+M,SAASvM,GAAGN,IAAI+M,UAAUzM,GAAGP,IAAI+M,KAAKxM,GAAGP,IAAI4M,OAAOrM,GAAGH,KAAK3d,EAAE,CAAC,SAASge,GAAGhe,GAAG,MAAM,CAACoe,GAAG,EAAEwiC,GAAG,IAAI/pC,IAAIgZ,GAAG7vB,EAAE,CAAC,SAASie,GAAGje,EAAEC,GAAG,QAAG,IAASD,GAAG,IAAIA,EAAEhJ,OAAO,MAAM,CAAC6pD,GAAG5gD,EAAEo9B,IAAIr9B,EAAE,GAAG2O,IAAImyC,GAAG7gD,EAAEo9B,IAAIr9B,EAAEA,EAAEhJ,OAAO,GAAG2X,IAAI,CAAC,SAASuP,GAAGle,GAAG,IAAIC,EAAE,OAAOD,EAAEpK,QAASoK,aAAaC,IAAIA,EAAED,EAAE2/C,GAAI,GAAGh/C,EAAEV,EAAE,CAAC,MAAMke,GAAG,WAAA5S,CAAYvL,GAAGjM,KAAKgtD,GAAG,IAAIlqC,IAAI9iB,KAAKitD,GAAG,IAAInqC,IAAI9iB,KAAKktD,GAAG,IAAIpqC,IAAI9iB,KAAKmtD,GAAG,GAAGntD,KAAKumC,GAAGt6B,CAAC,CAAC,CAAA2K,GAAI5W,KAAKgtD,GAAGzoC,QAAQvkB,KAAKitD,GAAG1oC,QAAQvkB,KAAKktD,GAAG3oC,QAAQvkB,KAAKmtD,GAAG,EAAE,CAAC,EAAAC,CAAGnhD,EAAEC,GAAG,IAAIC,EAAE,IAAInM,KAAKgtD,GAAG3tD,KAAKiN,GAAE,EAAG,MAAMlE,EAAEpI,KAAKitD,GAAGrsD,IAAIqL,GAAG,QAAG,IAAS7D,EAAE,GAAG,IAAIpI,KAAKitD,GAAG5tD,KAAK8M,GAAE,EAAGG,GAAE,EAAGtM,KAAKgtD,GAAGzoC,aAAa,IAAI,MAAMrY,KAAKlM,KAAKmtD,GAAGjhD,EAAEmhD,UAAUR,GAAGj+B,OAAO3iB,KAAKK,GAAE,GAAI,IAAIvD,EAAE,GAAG,GAAG,IAAImD,EAAEjJ,OAAO,CAAC,MAAMkJ,EAAED,EAAEmP,IAAKpP,GAAGA,EAAEuhB,MAAOplB,EAAEpI,KAAKumC,GAAGqN,6BAA6B1nC,GAAGhD,EAAE8gB,GAAG/d,EAAE2qB,MAAMnzB,EAAEwI,EAAEkxB,KAAKhzB,EAAE8B,EAAEmxB,KAAKr0B,EAAEmD,EAAEmP,IAAG,CAAGnP,EAAEnD,KAAK,MAAMzH,EAAE8G,EAAE8D,EAAEshB,MAAM1iB,EAAE9K,KAAKumC,GAAG+C,IAAIhoC,GAAG,IAAIyJ,EAAE/K,KAAKgtD,GAAGpsD,IAAIkK,QAAG,IAASC,IAAIA,EAAEkf,GAAG3oB,GAAGtB,KAAKgtD,GAAGjoC,IAAIja,EAAEC,GAAGuB,GAAE,GAAI,MAAMP,EAAE7C,EAAE5H,EAAEyJ,EAAEsf,GAAGne,EAAEC,EAAEpD,GAAGtF,EAAE0G,GAAG,OAAOY,EAAE8hD,GAAG9nC,IAAI9Y,EAAEF,GAAGA,CAAE,EAAE,CAACI,GAAGnM,KAAKstD,KAAKttD,KAAKutD,GAAGthD,EAAElD,GAAG,IAAIG,GAAE,EAAG,GAAGoD,EAAE,CAAC,MAAML,EAAE,GAAGjM,KAAKgtD,GAAGnrD,QAASqK,IAAID,EAAE9K,KAAK,CAACgmC,WAAW,EAAE3Z,KAAKthB,EAAE4vB,GAAGuxB,UAAUnhD,EAAEwxB,aAAavT,GAAGje,EAAE2gD,KAAM,GAAG5gD,EAAE4xB,KAAI,CAAG5xB,EAAEC,IAAIlM,KAAKumC,GAAG+C,IAAIr9B,EAAEuhB,MAAMxtB,KAAKumC,GAAG+C,IAAIp9B,EAAEshB,OAAQtkB,EAAElJ,KAAKwtD,GAAGvhD,EAAE,CAAC,OAAOjM,KAAKytD,GAAGxhD,EAAE/C,EAAE,SAAS+C,EAAEC,EAAEC,GAAG,MAAMG,EAAE4d,GAAGje,EAAEE,GAAG/D,EAAE8hB,GAAGhe,EAAEC,GAAG,QAAG,IAASG,QAAG,IAASlE,EAAE,MAAM,CAACkzB,GAAGhvB,EAAEygD,IAAI3kD,EAAE2kD,IAAIzgD,EAAEwgD,IAAI1kD,EAAE0kD,GAAG,CAArG,CAAuG9sD,KAAKitD,GAAGrsD,IAAIqL,GAAG7D,EAAEpI,KAAKumC,IAAI,CAAC,EAAAsK,CAAG5kC,GAAG,OAAOjM,KAAKotD,GAAGnhD,EAAE,GAAG,CAAC,EAAAyhD,CAAGzhD,EAAEC,GAAG,MAAMC,EAAED,GAAG,SAASD,QAAG,IAASA,EAAE2/C,KAAK3/C,EAAE2/C,GAAG3/C,EAAEuhB,KAAK,CAAxC,CAA0CrhB,GAAGnM,KAAKumC,GAAGoN,eAAeznC,GAAG,MAAMI,EAAEtM,KAAKumC,GAAGqN,6BAA6B,CAAC1nC,GAAtClM,CAA0CkM,EAAEshB,MAAMplB,EAAEpI,KAAKktD,GAAGtsD,IAAIqL,GAAG,QAAG,IAAS7D,GAAGpI,KAAKumC,GAAG+C,IAAIh9B,GAAGtM,KAAKumC,GAAG+C,IAAIlhC,GAAG,MAAM,IAAI3I,MAAM,wCAAwC2I,eAAekE,KAAK,IAAIvD,EAAE/I,KAAKgtD,GAAGpsD,IAAIZ,KAAKumC,GAAG+C,IAAIh9B,IAAI,MAAMpD,OAAE,IAASH,OAAE,IAASA,IAAIA,EAAEkhB,GAAG3d,GAAGtM,KAAKgtD,GAAGjoC,IAAI/kB,KAAKumC,GAAG+C,IAAIh9B,GAAGvD,IAAI,MAAMtF,EAAEumB,GAAG/d,EAAE2qB,MAAMzsB,EAAE8B,EAAEkxB,KAAK77B,EAAE2K,EAAEmxB,KAAKtyB,EAAErH,EAAE6I,EAAEvD,EAAEshB,GAAGne,EAAEC,EAAEy/C,GAAGzhD,EAAE7I,GAAGyH,EAAE8jD,GAAG9nC,IAAI9Y,EAAEnB,GAAG9K,KAAK2tD,GAAG1hD,EAAEnB,GAAG,MAAMC,EAAE,CAACuwB,GAAGzR,GAAG/e,IAAI,IAAI5B,EAAE,OAAOlJ,KAAKytD,GAAGxhD,GAAE,EAAGlB,GAAG,MAAMgB,EAAE,CAACo7B,WAAW,EAAE3Z,KAAKzkB,EAAE+yB,GAAGuxB,UAAUtkD,EAAE20B,aAAavT,GAAGphB,EAAE8jD,KAAK7gD,EAAEoQ,GAAGpc,KAAKmtD,GAAGntD,KAAKumC,GAAG+C,IAAIv9B,EAAEyhB,MAAK,CAAGvhB,EAAEC,IAAIlM,KAAKumC,GAAG+C,IAAIr9B,EAAEuhB,MAAMthB,GAAIlM,KAAKmtD,GAAGz1C,OAAO1L,EAAE,EAAED,GAAG,IAAI,IAAIE,EAAED,EAAEC,EAAEjM,KAAKmtD,GAAGlqD,SAASgJ,EAAEoe,GAAGrqB,KAAKmtD,GAAGlhD,GAAGohD,UAAUphD,GAAG,OAAOjM,KAAKumC,GAAGkO,qBAAqBz0C,KAAKmtD,GAAGnhD,GAAGhM,KAAKytD,GAAGxhD,EAAED,EAAEjB,EAAE,CAAC,EAAA4iD,CAAG1hD,EAAEC,GAAG,IAAIC,EAAEnM,KAAKitD,GAAGrsD,IAAIqL,QAAG,IAASE,IAAIA,EAAE,GAAGnM,KAAKitD,GAAGloC,IAAI9Y,EAAEE,IAAI,MAAMG,EAAE,IAAIH,EAAElJ,OAAOkJ,EAAEA,EAAElJ,OAAO,GAAG,KAAK,OAAOqJ,GAAGtM,KAAKumC,GAAG+C,IAAIp9B,EAAE0O,IAAI5a,KAAKumC,GAAG+C,IAAIh9B,EAAEsO,IAAIiP,GAAG3d,IAAIC,EAAEhL,KAAK+K,GAAG2d,GAAG3d,GAAGC,EAAEA,EAAElJ,OAAO,GAAGiJ,EAAEC,EAAEuL,QAAO,EAAG,GAAG1X,KAAKktD,GAAGnoC,IAAI9Y,EAAEC,EAAE0O,GAAG,CAAC,EAAA2yC,CAAGthD,EAAEC,GAAG,IAAIA,EAAEjJ,QAAQjD,KAAKitD,GAAGloC,IAAI9Y,EAAEC,EAAE7K,OAAOwoB,KAAK7pB,KAAKktD,GAAGnoC,IAAI9Y,EAAEC,EAAEA,EAAEjJ,OAAO,GAAG2X,MAAM5a,KAAKitD,GAAGr+B,OAAO3iB,GAAGjM,KAAKktD,GAAGt+B,OAAO3iB,GAAG,CAAC,EAAAqhD,GAAK,IAAI,MAAMrhD,KAAKjM,KAAKmtD,GAAG,IAAIlhD,EAAEohD,UAAUR,GAAGxtD,MAAMW,KAAKgtD,GAAGp+B,OAAO5uB,KAAKumC,GAAG+C,IAAIr9B,EAAEuhB,MAAM,CAAC,EAAAggC,CAAGvhD,GAAG,IAAIC,GAAE,EAAG,IAAI,IAAIC,EAAE,EAAEA,EAAEnM,KAAKmtD,GAAGlqD,QAAQkJ,EAAEF,EAAEhJ,SAASkJ,EAAE,CAAC,MAAMG,EAAEtM,KAAKmtD,GAAGhhD,GAAG/D,EAAE6D,EAAEE,GAAG,GAAGnM,KAAKumC,GAAG+C,IAAIh9B,EAAEkhB,QAAQxtB,KAAKumC,GAAG+C,IAAIlhC,EAAEolB,MAAM,CAACthB,EAAEC,EAAE,KAAK,CAAC/D,EAAE++B,WAAW76B,EAAE66B,WAAW9c,GAAGjiB,EAAEilD,UAAUlhD,EAAE,CAAC,IAAG,IAAKD,GAAGlM,KAAKmtD,GAAGlqD,SAASgJ,EAAEhJ,SAASiJ,EAAElG,KAAK0Q,IAAI1W,KAAKmtD,GAAGlqD,OAAOgJ,EAAEhJ,UAAS,IAAKiJ,EAAE,OAAM,EAAG,IAAI,IAAIC,EAAED,EAAEC,EAAEF,EAAEhJ,SAASkJ,EAAEke,GAAGpe,EAAEE,GAAGkhD,UAAUlhD,GAAG,OAAOnM,KAAKumC,GAAGkO,qBAAqBxoC,EAAEC,GAAGlM,KAAKmtD,GAAGlhD,EAAEC,CAAC,CAAC,EAAA0hD,GAAK,GAAG,IAAI5tD,KAAKitD,GAAG5tD,KAAK,OAAO,KAAK,IAAI4M,EAAE,EAAE,OAAOjM,KAAKitD,GAAGprD,QAASqK,IAAI,IAAIA,EAAEjJ,SAASgJ,EAAEjG,KAAK2Q,IAAI1K,EAAEC,EAAEA,EAAEjJ,OAAO,GAAGonB,IAAK,GAAGpe,CAAC,CAAC,EAAAwhD,CAAGxhD,EAAEC,EAAEC,GAAG,MAAMG,EAAE,CAACuhD,GAAG,IAAI/qC,IAAIpH,GAAG,CAACuuB,GAAGjqC,KAAK4tD,OAAO,IAAG,IAAK1hD,EAAElM,KAAKitD,GAAGprD,QAAO,CAAGqK,EAAE9D,KAAKkE,EAAEuhD,GAAG9oC,IAAI3c,EAAE,CAAC+kB,GAAGjhB,EAAE4hD,GAAG1lD,IAAI6D,EAAEE,OAAE,GAAS,GAAGnM,KAAKitD,GAAGv+B,IAAIziB,IAAIK,EAAEuhD,GAAG9oC,IAAI9Y,EAAE,CAACkhB,GAAG,GAAG2gC,GAAG3hD,IAAIG,EAAEoP,GAAGqyC,GAAG/tD,KAAKmtD,GAAG7gD,EAAEoP,GAAGsyC,GAAG9hD,MAAM,CAAC,MAAMA,EAAElM,KAAKitD,GAAGrsD,IAAIqL,GAAGK,EAAEuhD,GAAG9oC,IAAI9Y,EAAE,CAACkhB,GAAGjhB,GAAG,GAAG4hD,GAAG3hD,GAAG,CAAC,OAAOG,CAAC,EAAE,SAAS+d,GAAGpe,EAAEC,GAAGD,EAAEoe,GAAGne,EAAED,EAAE4gD,GAAGhrD,QAASoK,IAAIA,EAAEoe,GAAGne,CAAE,EAAE,CAAC,SAASoe,GAAGre,GAAG,MAAMC,EAAE,CAACvG,MAAMsG,EAAEiQ,GAAG,GAAGsR,KAAKvhB,EAAE2/C,IAAI,YAAO,IAAS3/C,EAAE2gD,KAAK1gD,EAAEygD,aAAa1gD,EAAE2gD,IAAI1gD,CAAC,CAAC,SAASqe,GAAGte,GAAG,MAAMC,EAAEoe,GAAGre,GAAG,YAAO,IAASA,EAAE0L,IAAIzL,EAAE/C,MAAM8C,EAAE0L,GAAGzL,CAAC,CAAC,SAASse,GAAGve,GAAG,MAAMC,EAAEoe,GAAGre,GAAG,YAAO,IAASA,EAAE0O,KAAKzO,EAAEhC,UAAU+B,EAAE0O,SAAI,IAAS1O,EAAEqc,KAAKpc,EAAEnC,SAASkC,EAAEqc,SAAI,IAASrc,EAAEsc,KAAKrc,EAAElC,YAAYiC,EAAEsc,IAAIrc,CAAC,CAAC,SAASwe,GAAGze,GAAG,MAAMC,EAAEoe,GAAGre,GAAG,YAAO,IAASA,EAAE8f,KAAK7f,EAAEzB,aAAawB,EAAE8f,SAAI,IAAS9f,EAAE+f,KAAK9f,EAAEtB,gBAAgBqB,EAAE+f,SAAI,IAAS/f,EAAEyf,KAAKxf,EAAE3B,cAAc0B,EAAEyf,SAAI,IAASzf,EAAE0f,KAAKzf,EAAE1B,cAAcyB,EAAE0f,SAAI,IAAS1f,EAAE2f,KAAK1f,EAAExB,iBAAiBuB,EAAE2f,SAAI,IAAS3f,EAAE4f,KAAK3f,EAAEvB,iBAAiBsB,EAAE4f,IAAI3f,CAAC,CAAC,SAASye,GAAG1e,GAAG,MAAMC,EAAE,CAACqgD,KAAKtgD,EAAEiQ,GAAG,GAAGswC,KAAKvgD,EAAEiQ,GAAG,GAAGuwC,IAAIxgD,EAAEiQ,GAAG,GAAGwwC,MAAMzgD,EAAEiQ,GAAG,GAAGsR,KAAKvhB,EAAE2/C,IAAI,YAAO,IAAS3/C,EAAE2gD,KAAK1gD,EAAEygD,aAAa1gD,EAAE2gD,IAAI1gD,CAAC,CAAC,SAAS0e,GAAG3e,GAAG,MAAMC,EAAEye,GAAG1e,GAAG,YAAO,IAASA,EAAE0L,IAAIzL,EAAE/C,MAAM8C,EAAE0L,GAAGzL,CAAC,CAAC,SAAS2e,GAAG5e,GAAG,MAAMC,EAAEye,GAAG1e,IAAI0L,EAAExL,EAAEgQ,GAAG7P,EAAE6pB,GAAG/tB,GAAG6D,EAAE,YAAO,IAASE,IAAID,EAAE/C,MAAMgD,QAAG,IAASG,IAAIJ,EAAEzD,YAAY6D,QAAG,IAASlE,IAAI8D,EAAEtD,UAAUR,GAAG8D,CAAC,CAAC,SAAS4e,GAAG7e,GAAG,MAAM,CAACoqB,KAAK7L,GAAG+L,KAAKhM,GAAG+L,SAAS5L,GAAG8L,UAAUjM,GAAG0L,IAAIrL,GAAGsL,YAAYrL,GAAGuL,OAAOrL,IAAI9e,EAAE,CAAC,SAAS8e,GAAG9e,GAAG,MAAMC,EAAED,EAAE2/C,GAAG,OAAOlrD,OAAO4oB,OAAO5oB,OAAO4oB,OAAO,CAAA,EAAGrd,EAAEkhB,IAAI,CAACK,KAAKthB,GAAG,CAAC,MAAM8e,GAAG,CAAC1N,SAAS,CAACnU,MAAM,UAAU5J,MAAM,EAAE6D,MAAM,EAAE6H,SAAQ,EAAGiW,cAAa,EAAGE,qBAAqB,WAAW/D,SAAS,CAAClU,MAAM,UAAU5J,MAAM,EAAE6D,MAAM,EAAE6H,SAAQ,EAAGiW,cAAa,EAAGE,qBAAqB,WAAW5F,KAAK,GAAGyP,GAAG,CAACwT,UAAU,CAACt1B,MAAM,UAAU/F,MAAM,EAAE6H,SAAQ,GAAIuzB,UAAU,CAACr1B,MAAM,UAAU/F,MAAM,EAAE6H,SAAQ,IAAKigB,GAAG,CAACgmB,WAAW,CAAC7mC,KAAK,QAAQlB,MAAM,WAAW8P,UAAU,UAAUE,SAAS,GAAGC,WAAWZ,EAAEm+B,iBAAgB,GAAIxrB,GAAG,CAACwW,WAAU,EAAGnmB,KAAK,EAAEsmB,aAAY,EAAGmgB,aAAY,EAAGz5C,eAAc,EAAGC,YAAY,UAAUg3B,gBAAe,EAAGx0B,SAAQ,EAAG4V,cAAa,EAAG0gB,aAAa,CAACC,OAAO,GAAGr7B,IAAI,IAAIwkD,aAAa,GAAGv/B,GAAG,CAACud,YAAY,EAAErb,WAAW,EAAE+b,cAAc,GAAGJ,aAAY,EAAGE,cAAa,EAAGW,8BAA6B,EAAGiB,uBAAsB,EAAGviC,eAAc,EAAGC,YAAY,UAAUwC,SAAQ,EAAG8oC,aAAY,EAAGE,gBAAe,EAAGxD,2BAA0B,EAAGD,+CAA8C,EAAG3vB,cAAa,EAAGioB,qBAAoB,EAAG8hB,cAAc,EAAEpD,iBAAgB,GAAIn8B,GAAG,CAACliB,MAAM,mBAAmB8B,SAAQ,EAAGkO,SAAS,GAAGC,WAAWZ,EAAEo1B,UAAU,GAAGta,KAAK,GAAGoa,UAAU,SAASC,UAAU,UAAU,SAASriB,KAAK,MAAM,CAAC/rB,MAAM,EAAEC,OAAO,EAAE6pD,UAAS,EAAGrwC,OAAOkS,GAAGhO,UAAU8N,GAAGuT,KAAKtT,GAAG0Z,mBAAmBjkC,OAAO4oB,OAAO,CAAA,EAAG6B,IAAIkZ,eAAe3jC,OAAO4oB,OAAO5oB,OAAO4oB,OAAO,CAAA,EAAG6B,IAAI,CAAClgB,SAAQ,IAAKs5B,gBAAgB7jC,OAAO4oB,OAAO5oB,OAAO4oB,OAAO,GAAG6B,IAAI,CAAClgB,SAAQ,IAAKsjC,UAAUnjB,GAAGsjB,UAAUrjB,GAAGqZ,aAAa,CAACwP,OAAO/tB,GAAGyuB,UAAUqZ,SAAS,GAAGna,WAAW,cAAc/H,aAAa,CAACG,YAAW,EAAGC,kBAAiB,EAAGF,eAAc,EAAGG,eAAc,GAAIJ,YAAY,CAACM,qBAAqB,CAAC9e,MAAK,EAAGljB,OAAM,GAAI+hC,qBAAqB,CAAC7e,MAAK,EAAGljB,OAAM,GAAI4hC,YAAW,EAAGK,OAAM,GAAIuZ,cAAc,CAACI,OAAM,EAAGD,OAAM,GAAIxB,aAAa,CAACC,SAAS,GAAG,CAAC,MAAMn5B,GAAG,WAAA/T,CAAYvL,EAAEC,GAAGlM,KAAKkuD,GAAGjiD,EAAEjM,KAAKmuD,GAAGjiD,CAAC,CAAC,YAAAkiD,CAAaniD,GAAGjM,KAAKkuD,GAAGjxC,KAAKmyB,GAAGpvC,KAAKmuD,GAAGliD,EAAE,CAAC,OAAAhK,GAAU,OAAOjC,KAAKghB,KAAKtI,GAAG,CAAC,KAAAnZ,GAAQ,OAAOsb,GAAG7a,KAAKmuD,IAAInuD,KAAKkuD,GAAGjE,GAAGjqD,KAAKmuD,IAAI,CAAC,CAAC,EAAAntC,GAAK,OAAOnU,EAAE7M,KAAKkuD,GAAGjxC,KAAKoyB,GAAGrvC,KAAKmuD,KAAKnyC,EAAE,EAAE,SAASwP,GAAGvf,EAAEC,EAAEC,GAAG,MAAMG,EAAE+c,GAAGpd,EAAE,CAAC,OAAO,iBAAiB7D,EAAE1H,OAAO4oB,OAAO,CAACkE,KAAKthB,GAAGI,GAAG,YAAO,IAASH,IAAI/D,EAAEs1B,aAAavxB,GAAG/D,CAAC,CAAC,MAAMqjB,GAAG,CAACtiB,MAAM,UAAUmB,MAAM,EAAElB,UAAU,EAAEC,UAAU,EAAEE,aAAY,EAAG+rB,kBAAiB,EAAGtqB,MAAM,GAAGwqB,eAAe,GAAGC,mBAAmB,IAAI,MAAM/J,GAAG,WAAAlU,CAAYvL,GAAGjM,KAAKo1B,GAAGnpB,CAAC,CAAC,YAAAmiD,CAAaniD,GAAGjM,KAAKo1B,GAAGQ,GAAG3pB,EAAE,CAAC,OAAAhK,GAAU,OAAOjC,KAAKo1B,GAAG1c,GAAG,CAAC,EAAA21C,GAAK,OAAOruD,KAAKo1B,EAAE,EAAE,MAAMzJ,GAAG,WAAAnU,CAAYvL,EAAEC,EAAEC,EAAEG,EAAElE,GAAGpI,KAAKsuD,GAAG,IAAI/2C,EAAEvX,KAAKgpB,GAAG/c,EAAEjM,KAAKuuD,GAAGriD,EAAElM,KAAKwuD,GAAGriD,EAAEnM,KAAKumC,GAAGn+B,EAAEpI,KAAKyuD,GAAGniD,CAAC,CAAC,CAAAsK,GAAI5W,KAAKsuD,GAAG13C,GAAG,CAAC,cAAAgtB,GAAiB,OAAO5jC,KAAKgpB,GAAG2T,IAAI,CAAC,iBAAA+xB,CAAkBziD,GAAG,MAAMC,EAAElM,KAAKgpB,GAAGnN,KAAK,OAAO,OAAO3P,EAAE,KAAKlM,KAAKgpB,GAAGhN,KAAKC,GAAGhQ,EAAEC,EAAEgQ,GAAG,CAAC,iBAAAyyC,CAAkB1iD,GAAG,MAAMC,EAAElM,KAAKgpB,GAAGnN,KAAK,OAAO,OAAO3P,EAAE,KAAKlM,KAAKgpB,GAAGhN,KAAKwH,GAAGvX,EAAEC,EAAEgQ,GAAG,CAAC,kBAAA0yC,CAAmB3iD,GAAG,GAAG,OAAOA,EAAE,OAAO,KAAK,MAAMC,EAAE,IAAIgY,GAAG,IAAIH,GAAG9X,EAAE+N,KAAK/N,EAAE8N,KAAK4tB,KAAKx7B,EAAEnM,KAAKgpB,GAAGnE,KAAK,GAAG1Y,EAAEgV,KAAK,OAAO,KAAK,MAAM7U,EAAEH,EAAEorB,GAAGrrB,EAAEwc,KAAK,GAAGtgB,EAAE+D,EAAEorB,GAAGrrB,EAAEgT,MAAK,GAAInW,EAAE8D,EAAEV,EAAEirB,MAAMluB,EAAE2D,EAAEV,EAAE2Y,MAAM,GAAG,OAAOxY,GAAG,OAAOlE,GAAGkE,EAAE+d,GAAGjiB,EAAEiiB,GAAG,MAAM,CAACwkC,WAAW5iD,EAAE+N,KAAKjR,EAAE+lD,UAAU5lD,EAAE+C,EAAE8N,IAAI,MAAMtW,EAAE,CAACorD,WAAW,OAAOviD,GAAGA,EAAE+d,KAAKthB,EAAEkD,EAAE+N,KAAKjR,EAAEuD,EAAE+d,GAAGthB,EAAE+lD,UAAU,OAAO1mD,GAAGA,EAAEiiB,KAAKnhB,EAAEA,EAAE+C,EAAE8N,GAAG7Q,EAAEd,EAAEiiB,IAAI,OAAO,OAAO/d,GAAG,OAAOlE,IAAI3E,EAAEuW,KAAK1N,EAAEs/C,GAAGnoD,EAAEsW,GAAG3R,EAAEwjD,IAAInoD,CAAC,CAAC,OAAAsrD,CAAQ9iD,GAAGjM,KAAKumC,GAAGvmC,KAAKgpB,GAAG4N,KAAK52B,KAAKuuD,GAAGS,GAAGhvD,KAAKgpB,GAAG/c,GAAGjM,KAAKivD,GAAG,OAAO,CAAC,MAAA7hC,CAAOnhB,GAAGjM,KAAKgpB,GAAG4N,KAAK52B,KAAKuuD,GAAGW,GAAGlvD,KAAKgpB,GAAG/c,GAAGjM,KAAKivD,GAAG,SAAS,CAAC,WAAAE,CAAYljD,EAAEC,GAAG,MAAMC,EAAEnM,KAAKgpB,GAAGnE,KAAK0S,GAAGtrB,EAAEC,GAAG,OAAG,OAAOC,EAAS,KAAY2e,GAAG9qB,KAAKovD,aAARtkC,CAAsB3e,EAAE,CAAC,IAAAkjD,GAAO,MAAMpjD,EAAE6e,GAAG9qB,KAAKovD,cAAc,OAAOpvD,KAAKgpB,GAAGnE,KAAKsF,KAAK9O,IAAKnP,GAAGD,EAAEC,GAAI,CAAC,oBAAAojD,CAAqBrjD,GAAGjM,KAAKsuD,GAAG7qD,EAAEwI,EAAE,CAAC,sBAAAsjD,CAAuBtjD,GAAGjM,KAAKsuD,GAAGjiD,EAAEJ,EAAE,CAAC,UAAAujD,CAAWvjD,GAAGjM,KAAKumC,GAAG,MAAMr6B,EAAED,EAAEoP,IAAKpP,GAAGuf,GAAGvf,EAAEjM,KAAKumC,GAAGsN,0BAA0B5nC,EAAEuhB,MAAMvhB,EAAEuhB,OAAQxtB,KAAKgpB,GAAGwS,GAAGtvB,EAAE,CAAC,OAAAujD,GAAU,OAAOzvD,KAAKgpB,GAAGyS,KAAKpgB,IAAKpP,GAAGuf,GAAGvf,EAAEA,EAAEyxB,kBAAa,GAAS,CAAC,YAAA0wB,CAAaniD,GAAGjM,KAAKgpB,GAAG4M,GAAG3pB,EAAE,CAAC,OAAAhK,GAAU,OAAOoW,EAAErY,KAAKgpB,GAAGtQ,IAAI,CAAC,UAAAg3C,GAAa,OAAO1vD,KAAKwuD,GAAGkB,WAAW1vD,KAAKgpB,GAAGhN,KAAKqhB,KAAK,CAAC,eAAAsyB,CAAgB1jD,GAAG,MAAMC,EAAEyL,EAAEU,EAAEoT,IAAIxf,GAAGE,EAAEnM,KAAKgpB,GAAG0S,GAAGxvB,GAAG,OAAO,IAAIwf,GAAGvf,EAAE,CAAC,eAAAyjD,CAAgB3jD,GAAGjM,KAAKgpB,GAAG2S,GAAG1vB,EAAEoiD,KAAK,CAAC,UAAAe,GAAa,OAAOpvD,KAAKgpB,GAAG4N,IAAI,CAAC,eAAAi5B,CAAgB5jD,GAAGjM,KAAKgpB,GAAGiU,GAAGhxB,GAAGA,EAAE6jD,UAAU7jD,EAAE6jD,SAAS,CAACC,MAAM/vD,KAAKyuD,GAAGuB,OAAOhwD,KAAKiwD,cAAc,IAAIjwD,KAAKgpB,GAAG/L,KAAKie,MAAM,CAAC,eAAAg1B,CAAgBjkD,GAAGjM,KAAKgpB,GAAGkU,GAAGjxB,GAAGA,EAAEkkD,UAAUlkD,EAAEkkD,UAAU,CAAC,EAAAlB,CAAGhjD,GAAGjM,KAAKsuD,GAAG93C,KAAKxW,KAAKsuD,GAAG1hD,EAAEX,EAAE,EAAE,MAAM2f,GAAG,WAAApU,CAAYvL,EAAEC,EAAEC,GAAGnM,KAAKowD,GAAG,IAAI74C,EAAEvX,KAAKqoC,GAAG,IAAI9wB,EAAEvX,KAAKwmD,GAAG,IAAIjvC,EAAEvX,KAAK2hB,GAAG1V,EAAEjM,KAAK+4B,GAAG9sB,EAAEyP,KAAK1b,KAAKopD,GAAGl9C,EAAElM,KAAK+4B,GAAGwS,KAAK9nC,EAAEzD,KAAKqwD,GAAGzoC,KAAK5nB,OAAOA,KAAK+4B,GAAGyS,KAAK/nC,EAAEzD,KAAKswD,GAAG1oC,KAAK5nB,OAAOA,KAAKopD,GAAGrC,KAAKtjD,EAAEzD,KAAKuwD,GAAG3oC,KAAK5nB,OAAOA,KAAKumC,GAAGp6B,CAAC,CAAC,CAAAyK,GAAI5W,KAAK+4B,GAAGwS,KAAK5+B,EAAE3M,MAAMA,KAAK+4B,GAAGyS,KAAK7+B,EAAE3M,MAAMA,KAAKopD,GAAGrC,KAAKp6C,EAAE3M,MAAMA,KAAKowD,GAAGx5C,IAAI5W,KAAKqoC,GAAGzxB,IAAI5W,KAAKwmD,GAAG5vC,GAAG,CAAC,cAAA45C,GAAiB,OAAOxwD,KAAK+4B,GAAGuR,IAAI,CAAC,gBAAAmmB,CAAiBxkD,EAAEC,GAAGA,EAAElM,KAAK+4B,GAAGoS,GAAGl/B,EAAE,KAAKjM,KAAK2hB,GAAGqE,GAAG/Z,EAAE,CAAC,gBAAAykD,GAAmB1wD,KAAK+4B,GAAGmS,IAAI,CAAC,eAAAylB,GAAkB,MAAM1kD,EAAEjM,KAAK+4B,GAAG0Q,KAAK,OAAO,OAAOx9B,EAAE,KAAK,CAAC+N,KAAK/N,EAAE+N,KAAK0jB,aAAa3jB,GAAG9N,EAAE8N,GAAG2jB,aAAa,CAAC,eAAAkzB,CAAgB3kD,GAAG,MAAMC,EAAE,CAAC8N,KAAKha,KAAKumC,GAAGsN,0BAA0B5nC,EAAE+N,MAAMD,GAAG/Z,KAAKumC,GAAGsN,0BAA0B5nC,EAAE8N,KAAK5N,EAAEnM,KAAK+4B,GAAG8Q,GAAG39B,GAAGlM,KAAK2hB,GAAGmvB,GAAG3kC,EAAE,CAAC,sBAAA0kD,GAAyB,MAAM5kD,EAAEjM,KAAK+4B,GAAGyQ,KAAK,OAAO,OAAOv9B,EAAE,KAAK,CAAC+N,KAAK/N,EAAEyc,KAAK3O,GAAG9N,EAAEiT,KAAK,CAAC,sBAAA4xC,CAAuB7kD,GAAGU,EAAEV,EAAE+N,MAAM/N,EAAE8N,GAAG,gDAAgD/Z,KAAK2hB,GAAGmvB,GAAG7kC,EAAE,CAAC,cAAA8kD,GAAiB/wD,KAAK2hB,GAAGmE,IAAI,CAAC,UAAAkrC,GAAahxD,KAAK2hB,GAAGgqB,IAAI,CAAC,mBAAAslB,CAAoBhlD,GAAG,MAAMC,EAAElM,KAAK2hB,GAAGjG,KAAK,OAAOxP,EAAEiV,KAAK,KAAKjV,EAAEoQ,GAAGrQ,EAAE,CAAC,mBAAAilD,CAAoBjlD,GAAG,OAAOjM,KAAK+4B,GAAG5X,KAAK,KAAKnhB,KAAK+4B,GAAGmR,GAAGj+B,EAAE,CAAC,gBAAAklD,CAAiBllD,GAAG,MAAMC,EAAElM,KAAKumC,GAAGsN,0BAA0B5nC,GAAGE,EAAEnM,KAAK+4B,GAAG0E,GAAGvxB,GAAE,GAAI,OAAO,OAAOC,EAAE,KAAKnM,KAAK+4B,GAAGzc,GAAGnQ,EAAE,CAAC,gBAAAilD,CAAiBnlD,GAAG,MAAMC,EAAElM,KAAK2hB,GAAGjG,KAAKvP,EAAED,EAAEg+B,GAAGj+B,GAAGK,EAAEJ,EAAE0V,GAAGzV,GAAG,OAAO,OAAOG,EAAE,KAAKA,EAAEoxB,YAAY,CAAC,KAAAn+B,GAAQ,OAAOS,KAAKopD,GAAGtE,KAAKvlD,KAAK,CAAC,MAAAC,GAAS,OAAOQ,KAAKopD,GAAGtE,KAAKtlD,MAAM,CAAC,+BAAA6xD,CAAgCplD,GAAGjM,KAAKowD,GAAG3sD,EAAEwI,EAAE,CAAC,iCAAAqlD,CAAkCrlD,GAAGjM,KAAKowD,GAAG/jD,EAAEJ,EAAE,CAAC,kCAAAslD,CAAmCtlD,GAAGjM,KAAKqoC,GAAG5kC,EAAEwI,EAAE,CAAC,oCAAAulD,CAAqCvlD,GAAGjM,KAAKqoC,GAAGh8B,EAAEJ,EAAE,CAAC,mBAAAwlD,CAAoBxlD,GAAGjM,KAAKwmD,GAAG/iD,EAAEwI,EAAE,CAAC,qBAAAylD,CAAsBzlD,GAAGjM,KAAKwmD,GAAGn6C,EAAEJ,EAAE,CAAC,YAAAmiD,CAAaniD,GAAGjM,KAAK+4B,GAAGnD,GAAG3pB,EAAE,CAAC,OAAAhK,GAAU,OAAOvB,OAAO4oB,OAAO5oB,OAAO4oB,OAAO,CAAA,EAAGjR,EAAErY,KAAK+4B,GAAGrgB,MAAM,CAAC4U,WAAWttB,KAAK+4B,GAAGvO,MAAM,CAAC,EAAA6lC,GAAKrwD,KAAKowD,GAAG55C,KAAKxW,KAAKowD,GAAGxjD,EAAE5M,KAAK2wD,kBAAkB,CAAC,EAAAL,GAAKtwD,KAAKqoC,GAAG7xB,KAAKxW,KAAKqoC,GAAGz7B,EAAE5M,KAAK6wD,yBAAyB,CAAC,EAAAN,CAAGtkD,GAAGjM,KAAKwmD,GAAG55C,EAAEX,EAAE1M,MAAM0M,EAAEzM,OAAO,EAA8P,SAASssB,GAAG7f,GAAG,OAAO,SAASA,GAAG,GAAGmM,EAAEnM,EAAE+/B,aAAa,CAAC,MAAM9/B,EAAED,EAAE+/B,YAAY//B,EAAE+/B,YAAY,CAACK,qBAAqB,CAAC7e,KAAKthB,EAAE5B,MAAM4B,GAAGogC,qBAAqB,CAAC9e,KAAKthB,EAAE5B,MAAM4B,GAAGggC,WAAWhgC,EAAEqgC,MAAMrgC,EAAE,MAAM,QAAG,IAASD,EAAE+/B,YAAY,CAAC,MAAMM,qBAAqBpgC,EAAEmgC,qBAAqBlgC,GAAGF,EAAE+/B,YAAY5zB,EAAElM,KAAKD,EAAE+/B,YAAYM,qBAAqB,CAAC9e,KAAKthB,EAAE5B,MAAM4B,IAAIkM,EAAEjM,KAAKF,EAAE+/B,YAAYK,qBAAqB,CAAC7e,KAAKrhB,EAAE7B,MAAM6B,GAAG,CAAC,MAAMD,EAAED,EAAE8/B,aAAa3zB,EAAElM,KAAKD,EAAE8/B,aAAa,CAACE,cAAc//B,EAAEkgC,cAAclgC,EAAEggC,WAAWhgC,EAAEigC,iBAAiBjgC,GAAG,CAAlf,CAAofD,GAAGA,CAAC,CAAC,MAAM8f,GAAG,WAAAvU,CAAYvL,EAAEC,EAAEC,GAAGnM,KAAK2xD,GAAG,IAAI7uC,IAAI9iB,KAAK4xD,GAAG,IAAI9uC,IAAI9iB,KAAK6xD,GAAG,IAAIt6C,EAAEvX,KAAK8xD,GAAG,IAAIv6C,EAAEvX,KAAK+xD,GAAG,IAAIx6C,EAAEvX,KAAKgyD,GAAG,IAAI5nC,GAAGle,GAAG,MAAMI,OAAE,IAASH,EAAEkM,EAAEiT,MAAM3T,EAAEU,EAAEiT,MAAMQ,GAAG3f,IAAInM,KAAKumC,GAAGr6B,EAAElM,KAAKkuD,GAAG,IAAIhlC,GAAGjd,EAAEK,EAAEJ,GAAGlM,KAAKkuD,GAAG3J,KAAK9gD,EAAGwI,IAAIjM,KAAK6xD,GAAGr7C,KAAKxW,KAAK6xD,GAAGjlD,EAAE5M,KAAKiyD,GAAGhmD,KAAM,EAAEjM,MAAMA,KAAKkuD,GAAG1J,KAAK/gD,EAAGwI,IAAIjM,KAAK8xD,GAAGt7C,KAAKxW,KAAK8xD,GAAGllD,EAAE5M,KAAKiyD,GAAGhmD,KAAM,EAAEjM,MAAMA,KAAKkuD,GAAGze,KAAKhsC,EAAGwI,IAAIjM,KAAK+xD,GAAGv7C,KAAKxW,KAAK+xD,GAAGnlD,EAAE5M,KAAKiyD,GAAGhmD,KAAM,EAAEjM,MAAM,MAAMoI,EAAEpI,KAAKkuD,GAAGjxC,KAAKjd,KAAKkyD,GAAG,IAAItmC,GAAGxjB,EAAEpI,KAAKkuD,GAAGzE,KAAKzpD,KAAKumC,GAAG,CAAC,MAAA4rB,GAASnyD,KAAKkuD,GAAG3J,KAAK53C,EAAE3M,MAAMA,KAAKkuD,GAAG1J,KAAK73C,EAAE3M,MAAMA,KAAKkuD,GAAGze,KAAK9iC,EAAE3M,MAAMA,KAAKkyD,GAAGt7C,IAAI5W,KAAKkuD,GAAGt3C,IAAI5W,KAAK2xD,GAAGptC,QAAQvkB,KAAK4xD,GAAGrtC,QAAQvkB,KAAK6xD,GAAGj7C,IAAI5W,KAAK8xD,GAAGl7C,IAAI5W,KAAK+xD,GAAGn7C,IAAI5W,KAAKgyD,GAAGp7C,GAAG,CAAC,MAAAw7C,CAAOnmD,EAAEC,EAAEC,GAAGnM,KAAKqyD,kBAAkBryD,KAAKkuD,GAAGnrD,GAAGkJ,EAAEC,EAAEC,EAAE,CAAC,eAAAmmD,CAAgBrmD,EAAEC,GAAG,MAAMC,EAAEW,EAAEb,GAAGK,EAAE5L,OAAO4oB,OAAO5oB,OAAO4oB,OAAO,CAAA,EAAGxe,GAAGqB,EAAEomD,kBAAkB,OAAOvyD,KAAKwyD,GAAG,SAASlmD,EAAEJ,EAAEC,EAAE,CAAC,aAAAsmD,CAAcxmD,GAAG,OAAOjM,KAAKwyD,GAAG,OAAO/uD,EAAEwI,EAAE,CAAC,iBAAAymD,CAAkBzmD,GAAG,OAAOjM,KAAKwyD,GAAG,WAAWroD,EAAE8B,EAAE,CAAC,YAAA0mD,CAAa1mD,GAAG,OAAOjM,KAAKwyD,GAAG,MAAMzpD,EAAEkD,EAAE,CAAC,oBAAA2mD,CAAqB3mD,EAAE,CAAA,GAAI,OAAO,SAASA,QAAG,IAASA,EAAExD,cAAcwD,EAAEvD,cAAcuD,EAAExD,YAAYwD,EAAEtD,gBAAgBsD,EAAExD,kBAAa,IAASwD,EAAErD,YAAYqD,EAAEpD,YAAYoD,EAAErD,UAAUqD,EAAEnD,cAAcmD,EAAErD,UAAU,CAAjL,CAAmLqD,GAAGjM,KAAKwyD,GAAG,cAAcpqD,EAAE6D,EAAE,CAAC,kBAAA4mD,CAAmB5mD,GAAG,OAAOjM,KAAKwyD,GAAG,YAAYlxD,EAAE2K,EAAE,CAAC,aAAA6mD,CAAc7mD,GAAG,OAAOjM,KAAKwyD,GAAG,OAAOtpD,EAAE+C,EAAE,CAAC,YAAA8mD,CAAa9mD,GAAG,MAAMC,EAAEU,EAAE5M,KAAK2xD,GAAG/wD,IAAIqL,IAAIE,EAAEnM,KAAKgyD,GAAGnhB,GAAG3kC,GAAGlM,KAAKkuD,GAAGjxC,KAAK4zB,GAAG3kC,GAAGlM,KAAKgzD,GAAG7mD,GAAGnM,KAAK2xD,GAAG/iC,OAAO3iB,GAAGjM,KAAK4xD,GAAGhjC,OAAO1iB,EAAE,CAAC,EAAA8iD,CAAG/iD,EAAEC,GAAGlM,KAAKgzD,GAAGhzD,KAAKgyD,GAAG5E,GAAGnhD,EAAEC,GAAG,CAAC,EAAAgjD,CAAGjjD,EAAEC,GAAGlM,KAAKgzD,GAAGhzD,KAAKgyD,GAAGtE,GAAGzhD,EAAEC,GAAG,CAAC,cAAA+mD,CAAehnD,GAAGjM,KAAK6xD,GAAGpuD,EAAEwI,EAAE,CAAC,gBAAAinD,CAAiBjnD,GAAGjM,KAAK6xD,GAAGxlD,EAAEJ,EAAE,CAAC,sBAAAknD,CAAuBlnD,GAAGjM,KAAK+xD,GAAGtuD,EAAEwI,EAAE,CAAC,wBAAAmnD,CAAyBnnD,GAAGjM,KAAK+xD,GAAG1lD,EAAEJ,EAAE,CAAC,iBAAAonD,CAAkBpnD,GAAGjM,KAAK8xD,GAAGruD,EAAEwI,EAAE,CAAC,mBAAAqnD,CAAoBrnD,GAAGjM,KAAK8xD,GAAGzlD,EAAEJ,EAAE,CAAC,UAAAyjD,CAAWzjD,GAAG,OAAO,IAAIsf,GAAGvrB,KAAKkuD,GAAGjiD,EAAE,CAAC,SAAAsiC,GAAY,OAAOvuC,KAAKkyD,EAAE,CAAC,YAAA9D,CAAaniD,GAAGjM,KAAKkuD,GAAGt4B,GAAG9J,GAAG7f,GAAG,CAAC,OAAAhK,GAAU,OAAOjC,KAAKkuD,GAAGx1C,GAAG,CAAC,cAAA66C,GAAiB,OAAOvzD,KAAKkuD,GAAGnE,IAAI,CAAC,cAAAsI,GAAiB,OAAOryD,KAAKkuD,GAAG9D,IAAI,CAAC,YAAAoJ,GAAe,OAAOxzD,KAAKkuD,GAAG7D,IAAI,CAAC,QAAAoJ,GAAW,MAAMxnD,EAAEjM,KAAKkuD,GAAGzD,KAAK,MAAM,CAACjrD,OAAOyM,EAAEzM,OAAOD,MAAM0M,EAAE1M,MAAM,CAAC,oBAAAm0D,CAAqBznD,EAAEC,EAAEC,GAAG,MAAMG,EAAEtM,KAAK2xD,GAAG/wD,IAAIuL,GAAG,QAAG,IAASG,EAAE,OAAO,MAAMlE,EAAEpI,KAAKkuD,GAAGjxC,KAAKoS,GAAG/iB,GAAG,OAAOlE,GAAGpI,KAAKkuD,GAAGjxC,KAAKozB,GAAGpkC,EAAEC,EAAE9D,EAAE,CAAC,sBAAAurD,GAAyB3zD,KAAKkuD,GAAGjxC,KAAKqzB,IAAG,EAAG,CAAC,EAAAkiB,CAAGvmD,EAAEC,EAAEC,EAAE,CAAA,EAAGG,IAAl5F,SAAYL,GAAG,QAAG,IAASA,GAAG,WAAWA,EAAE5B,KAAK,OAAO,MAAM6B,EAAED,OAAE,IAASC,EAAEJ,cAAS,IAASI,EAAEL,YAAYK,EAAEL,UAAU,SAASI,GAAG,GAAGA,GAAG,EAAE,OAAO,EAAE,IAAIC,EAAE,EAAE,KAAKA,EAAE,EAAEA,IAAI,CAAC,MAAMC,EAAEnG,KAAKC,MAAMgG,GAAG,GAAGjG,KAAKyb,IAAItV,EAAEF,GAAG,KAAK,OAAOC,EAAED,GAAG,EAAE,CAAC,OAAOC,CAAC,CAAtH,CAAwHA,EAAEJ,SAAS,CAA0pF+f,CAAG1f,EAAEP,aAAa,MAAMxD,EAAEuP,EAAEU,EAAEtN,GAAGsN,EAAEnM,GAAGC,GAAGpD,EAAE/I,KAAKkuD,GAAGjxC,KAAK0zB,GAAG1kC,EAAE7D,EAAEkE,GAAGpD,EAAE,IAAIyiB,GAAG5iB,EAAE/I,KAAKA,KAAKA,KAAKA,KAAKumC,IAAI,OAAOvmC,KAAK2xD,GAAG5sC,IAAI7b,EAAEH,GAAG/I,KAAK4xD,GAAG7sC,IAAIhc,EAAEG,GAAGA,CAAC,CAAC,EAAA8pD,CAAG/mD,GAAG,MAAMC,EAAElM,KAAKkuD,GAAGjxC,KAAK/Q,EAAEqkC,GAAGtkC,EAAEyP,GAAGuuB,GAAGh+B,EAAEyP,GAAGqyC,GAAG9hD,EAAEyP,GAAGsyC,IAAI/hD,EAAE4hD,GAAGhsD,SAAUoK,EAAEC,IAAIA,EAAE0N,EAAE3N,EAAEkhB,GAAGlhB,EAAE6hD,KAAM5hD,EAAEk+B,IAAI,CAAC,EAAAwpB,CAAG3nD,GAAG,OAAOW,EAAE5M,KAAK4xD,GAAGhxD,IAAIqL,GAAG,CAAC,EAAAgmD,CAAGhmD,GAAG,MAAMC,EAAE,IAAI4W,IAAI7W,EAAE8/C,GAAGlqD,QAAO,CAAGoK,EAAEE,KAAK,MAAMG,EAAEH,EAAEyqB,KAAKxuB,EAAE0iB,GAAGxe,EAAHwe,CAAM7e,GAAG,GAAG,WAAWK,EAAEK,EAA94e,SAAYV,GAAG,OAAO,SAASA,GAAG,YAAO,IAASA,EAAEsgD,IAAI,CAAlC,CAAoCtgD,IAAI,SAASA,GAAG,YAAO,IAASA,EAAEtG,KAAK,CAAnC,CAAqCsG,EAAE,CAA2yemd,CAAGhhB,QAAQ,CAAC,MAAM6D,EAAEE,EAAEixB,KAAKzwB,GAAGV,IAAG,IAAKA,EAAE7D,GAAG,CAAC8D,EAAE6Y,IAAI/kB,KAAK4zD,GAAGznD,GAAG/D,EAAG,GAAG,MAAM+D,OAAE,IAASF,EAAE6/C,IAAI9rD,KAAK4xD,GAAGljC,IAAIziB,EAAE6/C,IAAI9rD,KAAK4zD,GAAG3nD,EAAE6/C,SAAI,EAAO,MAAM,CAACt+B,KAAKvhB,EAAE2/C,GAAGiI,QAAQ5nD,EAAEoe,GAAGypC,MAAM7nD,EAAE4/C,GAAGkI,cAAc5nD,EAAE6nD,gBAAgB/nD,EAAE+/C,GAAGiI,WAAW/nD,EAAEgoD,YAAYjoD,EAAEggD,GAAG,EAAmM,SAAShgC,GAAGhgB,EAAEC,GAAG,OAAlN,SAAYD,EAAEC,EAAEC,GAAG,IAAIG,EAAE,GAAG6L,EAAElM,GAAG,CAAC,MAAMC,EAAElH,SAASmvD,eAAeloD,GAAGU,EAAE,OAAOT,EAAE,sCAAsCD,KAAKK,EAAEJ,CAAC,MAAMI,EAAEL,EAAE,MAAM7D,EAAE,IAAI2jB,GAAGzf,EAAEJ,EAAEC,GAAG,OAAOD,EAAEwnC,WAAWtrC,EAAEnG,WAAWmG,CAAC,CAAyB4jB,CAAG/f,EAAE,IAAIwnC,GAAGA,GAAGiB,GAAGxoC,GAAG,CAAkCxL,OAAO4oB,OAAO5oB,OAAO4oB,OAAO,CAAA,EAAGve,GAAGD,GCiC5jtJ,MAAMspD,GAAaC,IACxB,MAAOC,GAAUC,WAAwBF,GAAkB,OACpDG,EAAaC,GAAkBF,EAAAA,UAAS,IACxCG,EAAcC,GAAmBJ,EAAAA,UAAS,GAGjDK,EAAAA,UAAU,KACR,IAAKN,EAGH,OAFAG,GAAe,QACfE,GAAgB,GAIlBA,GAAgB,GAEhB,MAAME,EAAgB,KACpBC,QAAQhf,IAAI,+CACZ2e,GAAe,GACfE,GAAgB,IAGZI,EAAmB,KACvBD,QAAQhf,IAAI,qDACZ2e,GAAe,GACfE,GAAgB,IAGZK,EAAsBC,IAC1BH,QAAQG,MAAM,kCAAmCA,GACjDN,GAAgB,IAclB,OAVIL,EAAOY,YACTT,GAAe,GACfE,GAAgB,IAIlBL,EAAOv1B,GAAG,UAAW81B,GACrBP,EAAOv1B,GAAG,aAAcg2B,GACxBT,EAAOv1B,GAAG,gBAAiBi2B,GAEpB,KACLV,EAAOa,IAAI,UAAWN,GACtBP,EAAOa,IAAI,aAAcJ,GACzBT,EAAOa,IAAI,gBAAiBH,KAE7B,CAACV,IAGJ,MAAMc,EAAUC,EAAAA,YAAY,KAC1BP,QAAQhf,IAAI,mEACX,IAGG9yC,EAAaqyD,EAAAA,YAAY,KAC7BP,QAAQhf,IAAI,sEACX,IAGGwf,EAAmBD,EAAAA,YAAY,CACnCE,EACAC,EAAoB,GACpBC,EACAC,EACAC,KAEA,IAAKrB,GAAQY,UAEX,OADAJ,QAAQc,KAAK,0DACN,EAGT,IAoBE,OAlBAtB,EAAOuB,KAAK,kBAAmB,CAAEN,OAAMC,cAGnCC,GACFnB,EAAOv1B,GAAG,gBAAiB02B,GAIzBC,GACFpB,EAAOv1B,GAAG,eAAgB22B,GAIxBC,GACFrB,EAAOv1B,GAAG,kBAAmB42B,GAG/Bb,QAAQhf,IAAI,kDAAkDyf,MAASC,QAChE,CAET,CAAE,MAAOP,GAEP,OADAH,QAAQG,MAAM,8CAA+CA,IACtD,CACT,GACC,CAACX,IAGEwB,EAAuBT,EAAAA,YAAY,CACvCE,EACAC,EAAoB,GACpBC,EACAC,EACAC,KAEA,IAAKrB,GAAQY,UAAW,OAAO,EAE/B,IAgBE,OAdAZ,EAAOuB,KAAK,oBAAqB,CAAEN,OAAMC,cAGrCC,GACFnB,EAAOa,IAAI,gBAAiBM,GAE1BC,GACFpB,EAAOa,IAAI,eAAgBO,GAEzBC,GACFrB,EAAOa,IAAI,kBAAmBQ,GAGhCb,QAAQhf,IAAI,sDAAsDyf,MAASC,QACpE,CAET,CAAE,MAAOP,GAEP,OADAH,QAAQG,MAAM,kDAAmDA,IAC1D,CACT,GACC,CAACX,IAGEyB,EAAmBV,EAAAA,YAAY,CACnCE,EACAS,KAEA,IAAK1B,GAAQY,UAEX,OADAJ,QAAQc,KAAK,0DACN,EAGT,IAUE,OARAtB,EAAOuB,KAAK,kBAAmB,CAAEN,SAG7BS,GACF1B,EAAOv1B,GAAG,eAAgBi3B,GAG5BlB,QAAQhf,IAAI,kDAAkDyf,MACvD,CAET,CAAE,MAAON,GAEP,OADAH,QAAQG,MAAM,8CAA+CA,IACtD,CACT,GACC,CAACX,IAGE2B,EAAuBZ,EAAAA,YAAY,CACvCE,EACAS,KAEA,IAAK1B,GAAQY,UAAW,OAAO,EAE/B,IAUE,OARAZ,EAAOuB,KAAK,oBAAqB,CAAEN,SAG/BS,GACF1B,EAAOa,IAAI,eAAgBa,GAG7BlB,QAAQhf,IAAI,sDAAsDyf,MAC3D,CAET,CAAE,MAAON,GAEP,OADAH,QAAQG,MAAM,kDAAmDA,IAC1D,CACT,GACC,CAACX,IAGE4B,EAAiBb,cAAac,IAClC,IAAK7B,GAAQY,UAEX,OADAJ,QAAQc,KAAK,kEACN,EAGT,IAWE,OAVAtB,EAAOuB,KAAK,eAAgB,CAC1BM,UACAC,UAAWnkB,KAAKjhB,QAIlBsjC,EAAO+B,KAAK,gBAAkBC,IAC5BxB,QAAQhf,IAAI,yCAA0CwgB,MAGjD,CACT,CAAE,MAAOrB,GAEP,OADAH,QAAQG,MAAM,6CAA8CA,IACrD,CACT,GACC,CAACX,IAEJ,MAAO,CACLA,SACAE,cACAE,eACAU,UACApyD,aACAsyD,mBACAQ,uBACAC,mBACAE,uBACAC,mBC5KE,SAAUK,GACdhB,EACAiB,GAEA,MAAOC,EAAWC,GAAgBnC,EAAAA,SAAwC,OACnEoC,EAASC,GAAcrC,EAAAA,UAAS,IAChCU,EAAO4B,GAAYtC,EAAAA,SAAwB,OAC3CuC,EAAYC,GAAiBxC,EAAAA,SAAwB,OACrDW,EAAW8B,GAAgBzC,EAAAA,UAAS,GAG3CK,EAAAA,UAAU,KACJ4B,IACFE,EAAaF,GACbO,EAAc9kB,KAAKjhB,OACnBgmC,GAAa,GACbJ,GAAW,KAEZ,CAACJ,IAGJ,MAAMS,EAAgBC,EAAAA,QAAQ,KAC5B,IAAKT,IAAcA,EAAUU,OAC3B,MAAO,CACLC,aAAc,EACdC,iBAAkB,EAClBC,cAAe,EACfC,eAAgB,CAAE5xD,MAAO,QAAS6xD,YAAY,EAAOC,IAAK,GAC1DC,cAAe,CAAE/xD,MAAO,QAAS6xD,YAAY,EAAOC,IAAK,GACzDE,cAAe,CAAEhyD,MAAO,QAAS6xD,YAAY,EAAOC,IAAK,GACzDG,mBAAoB,CAAEjyD,MAAO,QAAS6xD,YAAY,EAAOC,IAAK,GAC9DI,QAAS,EACTC,OAAQ,EACRC,UAAW,EACXC,UAAW,GAKf,MAAMZ,EAAehgD,WAAWq/C,EAAUU,QAAQ7sD,OAAS,MAAQ,EAC7D+sD,EAAmBjgD,WAAWq/C,EAAUU,QAAQc,WAAa,MAAQ,EAG3E,IAAIX,EAAgBlgD,WAAWq/C,EAAUyB,QAAQC,SAAW,MAAQ,EAChEb,GAAiB,MAEnBA,EAAgBlgD,WAAWq/C,EAAU2B,YAAYC,gBAAkB,MAAQ,GAI7E,MAAMd,EAAiB,CACrB5xD,MAAO8wD,EAAU1lC,cAAc,QAAQunC,YAAc,QACrDd,WAAYf,EAAU1lC,cAAc,QAAQymC,aAAc,EAC1DC,IAAKhB,EAAU1lC,cAAc,QAAQwnC,MAAQ,GAGzCb,EAAgB,CACpB/xD,MAAO8wD,EAAU1lC,cAAc,OAAOunC,YAAc,QACpDd,WAAYf,EAAU1lC,cAAc,OAAOymC,aAAc,EACzDC,IAAKhB,EAAU1lC,cAAc,OAAOwnC,MAAQ,GAGxCZ,EAAgB,CACpBhyD,MAAO8wD,EAAU1lC,cAAc,OAAOunC,YAAc,QACpDd,WAAYf,EAAU1lC,cAAc,OAAOymC,aAAc,EACzDC,IAAKhB,EAAU1lC,cAAc,OAAOwnC,MAAQ,GAGxCX,EAAqB,CACzBjyD,MAAO8wD,EAAU1lC,cAAc,aAAaunC,YAAc,QAC1Dd,WAAYf,EAAU1lC,cAAc,aAAaymC,aAAc,EAC/DC,IAAKhB,EAAU1lC,cAAc,aAAawnC,MAAQ,GAI9CV,EAAUzgD,WAAWq/C,EAAU,QAAQjK,MAAQ,MAAQ,EACvDsL,EAAS1gD,WAAWq/C,EAAU,QAAQhK,KAAO,MAAQ,EAG3D,IAAIsL,EAAY3gD,WAAWq/C,EAAUyB,SAAS,QAAU,MAAQ,EAC5DH,GAAa,MAEfA,EAAY3gD,WAAWq/C,EAAU2B,YAAYC,gBAAkB,MAAQ,GAKzE,MAAO,CACLjB,eACAC,mBACAC,gBACAC,iBACAG,gBACAC,gBACAC,qBACAC,UACAC,SACAC,YACAC,UAbgB5gD,WAAWq/C,EAAU,QAAQ+B,QAAU,MAAQ,IAehE,CAAC/B,IAGEgC,EAAepD,EAAAA,YAAa6C,GAAmBA,EAAS,IAAM,IAmBpE,MAjBe,CAEbzB,eAGGQ,EAGHwB,eAGA9B,UACA1B,QACAC,YACA4B,aAIJ,CCnNe,SAASlvC,GAAKtE,EAAIo1C,GAC/B,OAAO,WACL,OAAOp1C,EAAGq1C,MAAMD,EAASh/C,UAC3B,CACF,CCAA,MAAM4M,SAACA,IAAY5lB,OAAOH,WACpBq4D,eAACA,IAAkBl4D,QACnBm4D,SAACA,GAAQC,YAAEA,IAAeC,OAE1BC,IAAUC,GAGbv4D,OAAOw4D,OAAO,MAHQC,IACrB,MAAMC,EAAM9yC,GAASliB,KAAK+0D,GAC1B,OAAOF,GAAMG,KAASH,GAAMG,GAAOA,EAAI7yC,MAAM,MAAOtP,iBAFzC,IAACgiD,GAKhB,MAAMI,GAAchvD,IAClBA,EAAOA,EAAK4M,cACJkiD,GAAUH,GAAOG,KAAW9uD,GAGhCivD,GAAajvD,GAAQ8uD,UAAgBA,IAAU9uD,GAS/C0N,QAACA,IAAWD,MASZyhD,GAAcD,GAAW,aAS/B,SAASE,GAASC,GAChB,OAAe,OAARA,IAAiBF,GAAYE,IAA4B,OAApBA,EAAIjiD,cAAyB+hD,GAAYE,EAAIjiD,cACpFkiD,GAAWD,EAAIjiD,YAAYgiD,WAAaC,EAAIjiD,YAAYgiD,SAASC,EACxE,CASA,MAAME,GAAgBN,GAAW,eA2BjC,MAAMO,GAAWN,GAAW,UAQtBI,GAAaJ,GAAW,YASxBO,GAAWP,GAAW,UAStBQ,GAAYX,GAAoB,OAAVA,GAAmC,iBAAVA,EAiB/CY,GAAiBN,IACrB,GAAoB,WAAhBT,GAAOS,GACT,OAAO,EAGT,MAAMl5D,EAAYq4D,GAAea,GACjC,QAAsB,OAAdl5D,GAAsBA,IAAcG,OAAOH,WAAkD,OAArCG,OAAOk4D,eAAer4D,IAA0Bu4D,MAAeW,GAAUZ,MAAYY,IA+BjJO,GAASX,GAAW,QASpBY,GAASZ,GAAW,QASpBa,GAASb,GAAW,QASpBc,GAAad,GAAW,YAsCxBe,GAAoBf,GAAW,oBAE9BgB,GAAkBC,GAAWC,GAAYC,IAAa,CAAC,iBAAkB,UAAW,WAAY,WAAWn/C,IAAIg+C,IA2BtH,SAASx3D,GAAQ44D,EAAKn3C,GAAIo3C,WAACA,GAAa,GAAS,IAE/C,GAAID,QACF,OAGF,IAAIvuD,EACAzI,EAQJ,GALmB,iBAARg3D,IAETA,EAAM,CAACA,IAGL1iD,GAAQ0iD,GAEV,IAAKvuD,EAAI,EAAGzI,EAAIg3D,EAAIx3D,OAAQiJ,EAAIzI,EAAGyI,IACjCoX,EAAGlf,KAAK,KAAMq2D,EAAIvuD,GAAIA,EAAGuuD,OAEtB,CAEL,GAAIjB,GAASiB,GACX,OAIF,MAAMhzB,EAAOizB,EAAah6D,OAAOi6D,oBAAoBF,GAAO/5D,OAAO+mC,KAAKgzB,GAClEG,EAAMnzB,EAAKxkC,OACjB,IAAIqmC,EAEJ,IAAKp9B,EAAI,EAAGA,EAAI0uD,EAAK1uD,IACnBo9B,EAAM7B,EAAKv7B,GACXoX,EAAGlf,KAAK,KAAMq2D,EAAInxB,GAAMA,EAAKmxB,EAEjC,CACF,CAEA,SAASI,GAAQJ,EAAKnxB,GACpB,GAAIkwB,GAASiB,GACX,OAAO,KAGTnxB,EAAMA,EAAIryB,cACV,MAAMwwB,EAAO/mC,OAAO+mC,KAAKgzB,GACzB,IACIK,EADA5uD,EAAIu7B,EAAKxkC,OAEb,KAAOiJ,KAAM,GAEX,GADA4uD,EAAOrzB,EAAKv7B,GACRo9B,IAAQwxB,EAAK7jD,cACf,OAAO6jD,EAGX,OAAO,IACT,CAEA,MAAMC,GAEsB,oBAAfC,WAAmCA,WACvB,oBAATC,KAAuBA,KAA0B,oBAAXtmB,OAAyBA,OAASumB,OAGlFC,GAAoBr0D,IAAayyD,GAAYzyD,IAAYA,IAAYi0D,GAoD3E,MA8HMK,IAAgBC,GAKG,oBAAfC,YAA8B1C,GAAe0C,YAH9CnC,GACEkC,IAAclC,aAAiBkC,IAHrB,IAACA,GAetB,MAiCME,GAAalC,GAAW,mBAWxBzhD,GAAiB,GAAGA,oBAAoB,CAAC6iD,EAAKe,IAAS5jD,EAAexT,KAAKq2D,EAAKe,GAA/D,CAAsE96D,OAAOH,WAS9Fk7D,GAAWpC,GAAW,UAEtBqC,GAAoB,CAACjB,EAAKkB,KAC9B,MAAMC,EAAcl7D,OAAOm7D,0BAA0BpB,GAC/CqB,EAAqB,CAAA,EAE3Bj6D,GAAQ+5D,EAAa,CAACG,EAAYC,KAChC,IAAIC,GAC2C,KAA1CA,EAAMN,EAAQI,EAAYC,EAAMvB,MACnCqB,EAAmBE,GAAQC,GAAOF,KAItCr7D,OAAOw7D,iBAAiBzB,EAAKqB,IAmE/B,MAoCMK,GAAY9C,GAAW,iBAQvB+C,IAAkBC,GAkBE,mBAAjBC,aAlBsCC,GAmB7C7C,GAAWqB,GAAQyB,aAlBfH,GACKC,aAGFC,IAAyBE,GAW7B,SAASz2D,KAAK02D,WAXsBC,GAWV,GAV3B5B,GAAQpgB,iBAAiB,UAAW,EAAEiiB,SAAQvN,WACxCuN,IAAW7B,IAAW1L,IAASoN,IACjCE,GAAU15D,QAAU05D,GAAUE,OAAVF,KAErB,GAEKnT,IACNmT,GAAUx7D,KAAKqoD,GACfuR,GAAQyB,YAAYC,GAAO,OAEKjT,GAAOxtB,WAAWwtB,IAhBlC,IAAE6S,GAAuBE,GAKbE,GAAOE,GAiBzC,MAAMG,GAAiC,oBAAnBC,eAClBA,eAAen1C,KAAKmzC,IAAgC,oBAAZiC,SAA2BA,QAAQC,UAAYb,GAQzF,IAAAc,GAAe,CACbnlD,WACA4hD,iBACAH,YACA2D,WApgBkBhE,IAClB,IAAIiE,EACJ,OAAOjE,IACgB,mBAAbkE,UAA2BlE,aAAiBkE,UAClD3D,GAAWP,EAAMmE,UACY,cAA1BF,EAAOpE,GAAOG,KAEL,WAATiE,GAAqB1D,GAAWP,EAAM7yC,WAAkC,sBAArB6yC,EAAM7yC,cA8fhEi3C,kBAnpBF,SAA2B9D,GACzB,IAAI+D,EAMJ,OAJEA,EAD0B,oBAAhBC,aAAiCA,YAAkB,OACpDA,YAAYC,OAAOjE,GAEnB,GAAUA,EAAU,QAAME,GAAcF,EAAIkE,QAEhDH,CACT,EA4oBE5D,YACAC,YACA+D,UAnmBgBzE,IAAmB,IAAVA,IAA4B,IAAVA,EAomB3CW,YACAC,iBACA8D,cA7kBqBpE,IAErB,IAAKK,GAASL,IAAQD,GAASC,GAC7B,OAAO,EAGT,IACE,OAAmC,IAA5B/4D,OAAO+mC,KAAKgyB,GAAKx2D,QAAgBvC,OAAOk4D,eAAea,KAAS/4D,OAAOH,SAChF,CAAE,MAAO6H,GAEP,OAAO,CACT,GAmkBAiyD,oBACAC,aACAC,cACAC,aACAjB,eACAS,UACAC,UACAC,UACAuB,YACF/B,WAAEA,GACAoE,SA/hBgBrE,GAAQK,GAASL,IAAQC,GAAWD,EAAIsE,MAgiBxD3D,qBACAgB,gBACAjB,cACAt4D,WACAm8D,MAxZF,SAASA,IACP,MAAMC,SAACA,EAAQC,cAAEA,GAAiB/C,GAAiBn7D,OAASA,MAAQ,CAAA,EAC9Dw9D,EAAS,CAAA,EACTW,EAAc,CAAC1E,EAAKnwB,KACxB,MAAM80B,EAAYH,GAAYpD,GAAQ2C,EAAQl0B,IAAQA,EAClDywB,GAAcyD,EAAOY,KAAerE,GAAcN,GACpD+D,EAAOY,GAAaJ,EAAMR,EAAOY,GAAY3E,GACpCM,GAAcN,GACvB+D,EAAOY,GAAaJ,EAAM,CAAA,EAAIvE,GACrB1hD,GAAQ0hD,GACjB+D,EAAOY,GAAa3E,EAAIlzC,QACd23C,GAAkB3E,GAAYE,KACxC+D,EAAOY,GAAa3E,IAIxB,IAAK,IAAIvtD,EAAI,EAAGzI,EAAIiW,UAAUzW,OAAQiJ,EAAIzI,EAAGyI,IAC3CwN,UAAUxN,IAAMrK,GAAQ6X,UAAUxN,GAAIiyD,GAExC,OAAOX,CACT,EAqYEa,OAzXa,CAACl0D,EAAG0C,EAAG6rD,GAAUgC,cAAa,MAC3C74D,GAAQgL,EAAG,CAAC4sD,EAAKnwB,KACXovB,GAAWgB,GAAWD,GACxBtvD,EAAEm/B,GAAO1hB,GAAK6xC,EAAKf,GAEnBvuD,EAAEm/B,GAAOmwB,GAEV,CAACiB,eACGvwD,GAkXP6pB,KA9fYolC,GAAQA,EAAIplC,KACxBolC,EAAIplC,OAASolC,EAAIlyC,QAAQ,qCAAsC,IA8f/Do3C,SAzWgBC,IACc,QAA1BA,EAAQC,WAAW,KACrBD,EAAUA,EAAQh4C,MAAM,IAEnBg4C,GAsWPE,SA1Ve,CAACjnD,EAAaknD,EAAkBC,EAAO/C,KACtDpkD,EAAYjX,UAAYG,OAAOw4D,OAAOwF,EAAiBn+D,UAAWq7D,GAClEpkD,EAAYjX,UAAUiX,YAAcA,EACpC9W,OAAOC,eAAe6W,EAAa,QAAS,CAC1C7R,MAAO+4D,EAAiBn+D,YAE1Bo+D,GAASj+D,OAAO4oB,OAAO9R,EAAYjX,UAAWo+D,IAqV9CC,aAzUmB,CAACC,EAAWC,EAASz9D,EAAQ09D,KAChD,IAAIJ,EACAzyD,EACAsvD,EACJ,MAAMwD,EAAS,CAAA,EAIf,GAFAF,EAAUA,GAAW,CAAA,EAEJ,MAAbD,EAAmB,OAAOC,EAE9B,EAAG,CAGD,IAFAH,EAAQj+D,OAAOi6D,oBAAoBkE,GACnC3yD,EAAIyyD,EAAM17D,OACHiJ,KAAM,GACXsvD,EAAOmD,EAAMzyD,GACP6yD,IAAcA,EAAWvD,EAAMqD,EAAWC,IAAcE,EAAOxD,KACnEsD,EAAQtD,GAAQqD,EAAUrD,GAC1BwD,EAAOxD,IAAQ,GAGnBqD,GAAuB,IAAXx9D,GAAoBu3D,GAAeiG,EACjD,OAASA,KAAex9D,GAAUA,EAAOw9D,EAAWC,KAAaD,IAAcn+D,OAAOH,WAEtF,OAAOu+D,GAmTP9F,UACAK,cACA4F,SAzSe,CAAC7F,EAAK8F,EAAc/sC,KACnCinC,EAAMjyC,OAAOiyC,SACItzD,IAAbqsB,GAA0BA,EAAWinC,EAAIn2D,UAC3CkvB,EAAWinC,EAAIn2D,QAEjBkvB,GAAY+sC,EAAaj8D,OACzB,MAAMk8D,EAAY/F,EAAIx9B,QAAQsjC,EAAc/sC,GAC5C,WAAOgtC,GAAoBA,IAAchtC,GAmSzCitC,QAxRejG,IACf,IAAKA,EAAO,OAAO,KACnB,GAAIphD,GAAQohD,GAAQ,OAAOA,EAC3B,IAAIjtD,EAAIitD,EAAMl2D,OACd,IAAK42D,GAAS3tD,GAAI,OAAO,KACzB,MAAMmzD,EAAM,IAAIvnD,MAAM5L,GACtB,KAAOA,KAAM,GACXmzD,EAAInzD,GAAKitD,EAAMjtD,GAEjB,OAAOmzD,GAgRPC,aArPmB,CAAC7E,EAAKn3C,KACzB,MAEMi8C,GAFY9E,GAAOA,EAAI5B,KAEDz0D,KAAKq2D,GAEjC,IAAI+C,EAEJ,MAAQA,EAAS+B,EAAUt+D,UAAYu8D,EAAOgC,MAAM,CAClD,MAAMC,EAAOjC,EAAO73D,MACpB2d,EAAGlf,KAAKq2D,EAAKgF,EAAK,GAAIA,EAAK,GAC7B,GA4OAC,SAjOe,CAACC,EAAQvG,KACxB,IAAIwG,EACJ,MAAMP,EAAM,GAEZ,KAAwC,QAAhCO,EAAUD,EAAOzoD,KAAKkiD,KAC5BiG,EAAIl+D,KAAKy+D,GAGX,OAAOP,GA0NP9D,cACA3jD,kBACAioD,WAAYjoD,GACZ8jD,qBACAoE,cAjLqBrF,IACrBiB,GAAkBjB,EAAK,CAACsB,EAAYC,KAElC,GAAItC,GAAWe,SAAQ,CAAC,YAAa,SAAU,UAAU7+B,QAAQogC,GAC/D,OAAO,EAGT,MAAMr2D,EAAQ80D,EAAIuB,GAEbtC,GAAW/zD,KAEhBo2D,EAAWj7D,YAAa,EAEpB,aAAci7D,EAChBA,EAAWgE,UAAW,EAInBhE,EAAWh3C,MACdg3C,EAAWh3C,IAAM,KACf,MAAMtlB,MAAM,qCAAwCu8D,EAAO,WA8JjEgE,YAxJkB,CAACC,EAAeC,KAClC,MAAMzF,EAAM,CAAA,EAEN0F,EAAUd,IACdA,EAAIx9D,QAAQ8D,IACV80D,EAAI90D,IAAS,KAMjB,OAFAoS,GAAQkoD,GAAiBE,EAAOF,GAAiBE,EAAOh5C,OAAO84C,GAAeG,MAAMF,IAE7EzF,GA8IP4F,YA1NkBjH,GACXA,EAAIniD,cAAciQ,QAAQ,wBAC/B,SAAkBta,EAAG0zD,EAAIC,GACvB,OAAOD,EAAGE,cAAgBD,CAC5B,GAuNFE,KA5IW,OA6IXC,eA3IqB,CAAC/6D,EAAOg7D,IACb,MAATh7D,GAAiB+d,OAAOzL,SAAStS,GAASA,GAASA,EAAQg7D,EA2IlE9F,WACAK,OAAQH,GACRI,oBACAyF,oBAlIF,SAA6BzH,GAC3B,SAAUA,GAASO,GAAWP,EAAMmE,SAAkC,aAAvBnE,EAAML,KAA+BK,EAAMN,IAC5F,EAiIEgI,aA/HoBpG,IACpB,MAAMqG,EAAQ,IAAIhpD,MAAM,IAElBipD,EAAQ,CAACnE,EAAQ1wD,KAErB,GAAI4tD,GAAS8C,GAAS,CACpB,GAAIkE,EAAMllC,QAAQghC,IAAW,EAC3B,OAIF,GAAIpD,GAASoD,GACX,OAAOA,EAGT,KAAK,WAAYA,GAAS,CACxBkE,EAAM50D,GAAK0wD,EACX,MAAMt2D,EAASyR,GAAQ6kD,GAAU,GAAK,CAAA,EAStC,OAPA/6D,GAAQ+6D,EAAQ,CAACj3D,EAAO2jC,KACtB,MAAM03B,EAAeD,EAAMp7D,EAAOuG,EAAI,IACrCqtD,GAAYyH,KAAkB16D,EAAOgjC,GAAO03B,KAG/CF,EAAM50D,QAAKpG,EAEJQ,CACT,CACF,CAEA,OAAOs2D,GAGT,OAAOmE,EAAMtG,EAAK,IA+FlB0B,aACA8E,WA3FkB9H,GAClBA,IAAUW,GAASX,IAAUO,GAAWP,KAAWO,GAAWP,EAAM/zD,OAASs0D,GAAWP,EAAMh0D,OA2F9Fm3D,aAAcF,GACdU,QACAoE,WA5DkB/H,GAAmB,MAATA,GAAiBO,GAAWP,EAAMN,MCjsBhE,SAASsI,GAAWhL,EAASiL,EAAMC,EAAQC,EAAShL,GAClD72D,MAAM2E,KAAKpE,MAEPP,MAAM8hE,kBACR9hE,MAAM8hE,kBAAkBvhE,KAAMA,KAAKwX,aAEnCxX,KAAK8gE,OAAQ,IAAKrhE,OAASqhE,MAG7B9gE,KAAKm2D,QAAUA,EACfn2D,KAAKg8D,KAAO,aACZoF,IAASphE,KAAKohE,KAAOA,GACrBC,IAAWrhE,KAAKqhE,OAASA,GACzBC,IAAYthE,KAAKshE,QAAUA,GACvBhL,IACFt2D,KAAKs2D,SAAWA,EAChBt2D,KAAKwhE,OAASlL,EAASkL,OAASlL,EAASkL,OAAS,KAEtD,CAEAC,GAAMhD,SAAS0C,GAAY1hE,MAAO,CAChCiiE,OAAQ,WACN,MAAO,CAELvL,QAASn2D,KAAKm2D,QACd6F,KAAMh8D,KAAKg8D,KAEX2F,YAAa3hE,KAAK2hE,YAClBC,OAAQ5hE,KAAK4hE,OAEbC,SAAU7hE,KAAK6hE,SACfC,WAAY9hE,KAAK8hE,WACjBC,aAAc/hE,KAAK+hE,aACnBjB,MAAO9gE,KAAK8gE,MAEZO,OAAQI,GAAMZ,aAAa7gE,KAAKqhE,QAChCD,KAAMphE,KAAKohE,KACXI,OAAQxhE,KAAKwhE,OAEjB,IAGF,MAAMjhE,GAAY4gE,GAAW5gE,UACvBq7D,GAAc,CAAA,EAEpB,CACE,uBACA,iBACA,eACA,YACA,cACA,4BACA,iBACA,mBACA,kBACA,eACA,kBACA,mBAEA/5D,QAAQu/D,IACRxF,GAAYwF,GAAQ,CAACz7D,MAAOy7D,KAG9B1gE,OAAOw7D,iBAAiBiF,GAAYvF,IACpCl7D,OAAOC,eAAeJ,GAAW,eAAgB,CAACoF,OAAO,IAGzDw7D,GAAWnnD,KAAO,CAACi7C,EAAOmM,EAAMC,EAAQC,EAAShL,EAAU0L,KACzD,MAAMC,EAAavhE,OAAOw4D,OAAO34D,IAEjCkhE,GAAM7C,aAAa3J,EAAOgN,EAAY,SAAgBxH,GACpD,OAAOA,IAAQh7D,MAAMc,SACvB,EAAGi7D,GACe,iBAATA,GAGT,MAAM0G,EAAMjN,GAASA,EAAMkB,QAAUlB,EAAMkB,QAAU,QAG/CgM,EAAkB,MAARf,GAAgBnM,EAAQA,EAAMmM,KAAOA,EAYrD,OAXAD,GAAW/8D,KAAK69D,EAAYC,EAAKC,EAASd,EAAQC,EAAShL,GAGvDrB,GAA6B,MAApBgN,EAAWG,OACtB1hE,OAAOC,eAAeshE,EAAY,QAAS,CAAEt8D,MAAOsvD,EAAOl0D,cAAc,IAG3EkhE,EAAWjG,KAAQ/G,GAASA,EAAM+G,MAAS,QAE3CgG,GAAethE,OAAO4oB,OAAO24C,EAAYD,GAElCC,GC5FT,SAASI,GAAYlJ,GACnB,OAAOsI,GAAM1H,cAAcZ,IAAUsI,GAAM1pD,QAAQohD,EACrD,CASA,SAASmJ,GAAeh5B,GACtB,OAAOm4B,GAAMxC,SAAS31B,EAAK,MAAQA,EAAI/iB,MAAM,GAAG,GAAM+iB,CACxD,CAWA,SAASi5B,GAAUC,EAAMl5B,EAAKm5B,GAC5B,OAAKD,EACEA,EAAK/gE,OAAO6nC,GAAKjuB,IAAI,SAAcohD,EAAOvwD,GAG/C,OADAuwD,EAAQ6F,GAAe7F,IACfgG,GAAQv2D,EAAI,IAAMuwD,EAAQ,IAAMA,CAC1C,GAAGiG,KAAKD,EAAO,IAAM,IALHn5B,CAMpB,CAaA,MAAMq5B,GAAalB,GAAM7C,aAAa6C,GAAO,CAAA,EAAI,KAAM,SAAgBjG,GACrE,MAAO,WAAW1mB,KAAK0mB,EACzB,GAyBA,SAASoH,GAAWnI,EAAKoI,EAAU5gE,GACjC,IAAKw/D,GAAM3H,SAASW,GAClB,MAAM,IAAIzzD,UAAU,4BAItB67D,EAAWA,GAAY,IAAA,SAYvB,MAAMC,GATN7gE,EAAUw/D,GAAM7C,aAAa38D,EAAS,CACpC6gE,YAAY,EACZL,MAAM,EACNM,SAAS,IACR,EAAO,SAAiBC,EAAQpG,GAEjC,OAAQ6E,GAAMlI,YAAYqD,EAAOoG,GACnC,IAE2BF,WAErBG,EAAUhhE,EAAQghE,SAAWC,EAC7BT,EAAOxgE,EAAQwgE,KACfM,EAAU9gE,EAAQ8gE,QAElBI,GADQlhE,EAAQmhE,MAAwB,oBAATA,MAAwBA,OACpC3B,GAAMb,oBAAoBiC,GAEnD,IAAKpB,GAAM/H,WAAWuJ,GACpB,MAAM,IAAIj8D,UAAU,8BAGtB,SAASq8D,EAAa19D,GACpB,GAAc,OAAVA,EAAgB,MAAO,GAE3B,GAAI87D,GAAMzH,OAAOr0D,GACf,OAAOA,EAAM29D,cAGf,GAAI7B,GAAM7D,UAAUj4D,GAClB,OAAOA,EAAM2gB,WAGf,IAAK68C,GAAW1B,GAAMvH,OAAOv0D,GAC3B,MAAM,IAAIw7D,GAAW,gDAGvB,OAAIM,GAAM9H,cAAch0D,IAAU87D,GAAMrG,aAAaz1D,GAC5Cw9D,GAA2B,mBAATC,KAAsB,IAAIA,KAAK,CAACz9D,IAAU49D,OAAOvpD,KAAKrU,GAG1EA,CACT,CAYA,SAASu9D,EAAev9D,EAAO2jC,EAAKk5B,GAClC,IAAInD,EAAM15D,EAEV,GAAIA,IAAU68D,GAAyB,iBAAV78D,EAC3B,GAAI87D,GAAMxC,SAAS31B,EAAK,MAEtBA,EAAMw5B,EAAax5B,EAAMA,EAAI/iB,MAAM,MAEnC5gB,EAAQ69D,KAAKC,UAAU99D,QAClB,GACJ87D,GAAM1pD,QAAQpS,IAvGvB,SAAqB05D,GACnB,OAAOoC,GAAM1pD,QAAQsnD,KAASA,EAAIzX,KAAKya,GACzC,CAqGiCqB,CAAY/9D,KACnC87D,GAAMtH,WAAWx0D,IAAU87D,GAAMxC,SAAS31B,EAAK,SAAW+1B,EAAMoC,GAAMrC,QAAQz5D,IAYhF,OATA2jC,EAAMg5B,GAAeh5B,GAErB+1B,EAAIx9D,QAAQ,SAAcu1B,EAAIgQ,IAC1Bq6B,GAAMlI,YAAYniC,IAAc,OAAPA,GAAgByrC,EAASvF,QAEtC,IAAZyF,EAAmBR,GAAU,CAACj5B,GAAMlC,EAAOq7B,GAAqB,OAAZM,EAAmBz5B,EAAMA,EAAM,KACnF+5B,EAAajsC,GAEjB,IACO,EAIX,QAAIirC,GAAY18D,KAIhBk9D,EAASvF,OAAOiF,GAAUC,EAAMl5B,EAAKm5B,GAAOY,EAAa19D,KAElD,EACT,CAEA,MAAMm7D,EAAQ,GAER6C,EAAiBjjE,OAAO4oB,OAAOq5C,GAAY,CAC/CO,iBACAG,eACAhB,iBAyBF,IAAKZ,GAAM3H,SAASW,GAClB,MAAM,IAAIzzD,UAAU,0BAKtB,OA5BA,SAAS48D,EAAMj+D,EAAO68D,GACpB,IAAIf,GAAMlI,YAAY5zD,GAAtB,CAEA,IAA6B,IAAzBm7D,EAAMllC,QAAQj2B,GAChB,MAAMlG,MAAM,kCAAoC+iE,EAAKE,KAAK,MAG5D5B,EAAM3/D,KAAKwE,GAEX87D,GAAM5/D,QAAQ8D,EAAO,SAAcyxB,EAAIkS,IAKtB,OAJEm4B,GAAMlI,YAAYniC,IAAc,OAAPA,IAAgB6rC,EAAQ7+D,KAChEy+D,EAAUzrC,EAAIqqC,GAAM7H,SAAStwB,GAAOA,EAAItV,OAASsV,EAAKk5B,EAAMmB,KAI5DC,EAAMxsC,EAAIorC,EAAOA,EAAK/gE,OAAO6nC,GAAO,CAACA,GAEzC,GAEAw3B,EAAMvV,KAlBwB,CAmBhC,CAMAqY,CAAMnJ,GAECoI,CACT,CChNA,SAASgB,GAAOzK,GACd,MAAM0K,EAAU,CACd,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,MAAO,IACP,MAAO,MAET,OAAOC,mBAAmB3K,GAAKlyC,QAAQ,mBAAoB,SAAkB88C,GAC3E,OAAOF,EAAQE,EACjB,EACF,CAUA,SAASC,GAAqBC,EAAQjiE,GACpCjC,KAAKmkE,OAAS,GAEdD,GAAUtB,GAAWsB,EAAQlkE,KAAMiC,EACrC,CAEA,MAAM1B,GAAY0jE,GAAqB1jE,UC5BvC,SAASsjE,GAAOpK,GACd,OAAOsK,mBAAmBtK,GACxBvyC,QAAQ,QAAS,KACjBA,QAAQ,OAAQ,KAChBA,QAAQ,QAAS,KACjBA,QAAQ,OAAQ,IACpB,CAWe,SAASk9C,GAASC,EAAKH,EAAQjiE,GAE5C,IAAKiiE,EACH,OAAOG,EAGT,MAAMC,EAAUriE,GAAWA,EAAQ4hE,QAAUA,GAEzCpC,GAAM/H,WAAWz3D,KACnBA,EAAU,CACRsiE,UAAWtiE,IAIf,MAAMuiE,EAAcviE,GAAWA,EAAQsiE,UAEvC,IAAIE,EAUJ,GAPEA,EADED,EACiBA,EAAYN,EAAQjiE,GAEpBw/D,GAAMrH,kBAAkB8J,GACzCA,EAAO59C,WACP,IAAI29C,GAAqBC,EAAQjiE,GAASqkB,SAASg+C,GAGnDG,EAAkB,CACpB,MAAMC,EAAgBL,EAAIzoC,QAAQ,MAEZ,IAAlB8oC,IACFL,EAAMA,EAAI99C,MAAM,EAAGm+C,IAErBL,SAAQA,EAAIzoC,QAAQ,KAAc,IAAM,KAAO6oC,CACjD,CAEA,OAAOJ,CACT,CDvBA9jE,GAAU+8D,OAAS,SAAgBtB,EAAMr2D,GACvC3F,KAAKmkE,OAAOhjE,KAAK,CAAC66D,EAAMr2D,GAC1B,EAEApF,GAAU+lB,SAAW,SAAkBq+C,GACrC,MAAML,EAAUK,EAAU,SAASh/D,GACjC,OAAOg/D,EAAQvgE,KAAKpE,KAAM2F,EAAOk+D,GACnC,EAAIA,GAEJ,OAAO7jE,KAAKmkE,OAAO9oD,IAAI,SAAcokD,GACnC,OAAO6E,EAAQ7E,EAAK,IAAM,IAAM6E,EAAQ7E,EAAK,GAC/C,EAAG,IAAIiD,KAAK,IACd,EEnDA,MAAMkC,GACJ,WAAAptD,GACExX,KAAK6kE,SAAW,EAClB,CAUA,GAAAC,CAAIC,EAAWC,EAAU/iE,GAOvB,OANAjC,KAAK6kE,SAAS1jE,KAAK,CACjB4jE,YACAC,WACAC,cAAahjE,GAAUA,EAAQgjE,YAC/BC,QAASjjE,EAAUA,EAAQijE,QAAU,OAEhCllE,KAAK6kE,SAAS5hE,OAAS,CAChC,CASA,KAAAkiE,CAAM9xC,GACArzB,KAAK6kE,SAASxxC,KAChBrzB,KAAK6kE,SAASxxC,GAAM,KAExB,CAOA,KAAA9O,GACMvkB,KAAK6kE,WACP7kE,KAAK6kE,SAAW,GAEpB,CAYA,OAAAhjE,CAAQyhB,GACNm+C,GAAM5/D,QAAQ7B,KAAK6kE,SAAU,SAAwB37D,GACzC,OAANA,GACFoa,EAAGpa,EAEP,EACF,ECjEF,IAAAk8D,GAAe,CACbC,mBAAmB,EACnBC,mBAAmB,EACnBC,qBAAqB,GCDvBC,GAAe,CACbC,WAAW,EACXC,QAAS,CACXC,gBCJ0C,oBAApBA,gBAAkCA,gBAAkB1B,GDK1E5G,SENmC,oBAAbA,SAA2BA,SAAW,KFO5D+F,KGP+B,oBAATA,KAAuBA,KAAO,MHSlDwC,UAAW,CAAC,OAAQ,QAAS,OAAQ,OAAQ,MAAO,SIXtD,MAAMC,GAAkC,oBAAXlxB,QAA8C,oBAAb3vC,SAExD8gE,GAAkC,iBAAdlxB,WAA0BA,gBAAa9uC,EAmB3DigE,GAAwBF,MAC1BC,IAAc,CAAC,cAAe,eAAgB,MAAMlqC,QAAQkqC,GAAWE,SAAW,GAWhFC,GAE2B,oBAAtBC,mBAEPjL,gBAAgBiL,mBACc,mBAAvBjL,KAAKkL,cAIVC,GAASP,IAAiBlxB,OAAOmC,SAASC,MAAQ,uBCvCxDhC,GAAe,0IAEVA,IC2CL,SAASsxB,GAAexD,GACtB,SAASyD,EAAU9D,EAAM78D,EAAOW,EAAQ8gC,GACtC,IAAI40B,EAAOwG,EAAKp7B,KAEhB,GAAa,cAAT40B,EAAsB,OAAO,EAEjC,MAAMuK,EAAe7iD,OAAOzL,UAAU+jD,GAChCwK,EAASp/B,GAASo7B,EAAKv/D,OAG7B,GAFA+4D,GAAQA,GAAQyF,GAAM1pD,QAAQzR,GAAUA,EAAOrD,OAAS+4D,EAEpDwK,EAOF,OANI/E,GAAM5B,WAAWv5D,EAAQ01D,GAC3B11D,EAAO01D,GAAQ,CAAC11D,EAAO01D,GAAOr2D,GAE9BW,EAAO01D,GAAQr2D,GAGT4gE,EAGLjgE,EAAO01D,IAAUyF,GAAM3H,SAASxzD,EAAO01D,MAC1C11D,EAAO01D,GAAQ,IASjB,OANesK,EAAU9D,EAAM78D,EAAOW,EAAO01D,GAAO50B,IAEtCq6B,GAAM1pD,QAAQzR,EAAO01D,MACjC11D,EAAO01D,GA/Cb,SAAuBqD,GACrB,MAAM5E,EAAM,CAAA,EACNhzB,EAAO/mC,OAAO+mC,KAAK43B,GACzB,IAAInzD,EACJ,MAAM0uD,EAAMnzB,EAAKxkC,OACjB,IAAIqmC,EACJ,IAAKp9B,EAAI,EAAGA,EAAI0uD,EAAK1uD,IACnBo9B,EAAM7B,EAAKv7B,GACXuuD,EAAInxB,GAAO+1B,EAAI/1B,GAEjB,OAAOmxB,CACT,CAoCqBgM,CAAcngE,EAAO01D,MAG9BuK,CACV,CAEA,GAAI9E,GAAMtE,WAAW0F,IAAapB,GAAM/H,WAAWmJ,EAASj+D,SAAU,CACpE,MAAM61D,EAAM,CAAA,EAMZ,OAJAgH,GAAMnC,aAAauD,EAAU,CAAC7G,EAAMr2D,KAClC2gE,EA1EN,SAAuBtK,GAKrB,OAAOyF,GAAM/B,SAAS,gBAAiB1D,GAAM3gD,IAAI2oD,GAC3B,OAAbA,EAAM,GAAc,GAAKA,EAAM,IAAMA,EAAM,GAEtD,CAkEgB0C,CAAc1K,GAAOr2D,EAAO80D,EAAK,KAGtCA,CACT,CAEA,OAAO,IACT,CCzDA,MAAMkM,GAAW,CAEfC,aAAcxB,GAEdyB,QAAS,CAAC,MAAO,OAAQ,SAEzBC,iBAAkB,CAAC,SAA0BzX,EAAM0X,GACjD,MAAMC,EAAcD,EAAQE,kBAAoB,GAC1CC,EAAqBF,EAAYprC,QAAQ,qBAAsB,EAC/DurC,EAAkB1F,GAAM3H,SAASzK,GAEnC8X,GAAmB1F,GAAMlG,WAAWlM,KACtCA,EAAO,IAAIgO,SAAShO,IAKtB,GAFmBoS,GAAMtE,WAAW9N,GAGlC,OAAO6X,EAAqB1D,KAAKC,UAAU4C,GAAehX,IAASA,EAGrE,GAAIoS,GAAM9H,cAActK,IACtBoS,GAAMjI,SAASnK,IACfoS,GAAM3D,SAASzO,IACfoS,GAAMxH,OAAO5K,IACboS,GAAMvH,OAAO7K,IACboS,GAAMpH,iBAAiBhL,GAEvB,OAAOA,EAET,GAAIoS,GAAMlE,kBAAkBlO,GAC1B,OAAOA,EAAKsO,OAEd,GAAI8D,GAAMrH,kBAAkB/K,GAE1B,OADA0X,EAAQK,eAAe,mDAAmD,GACnE/X,EAAK/oC,WAGd,IAAI6zC,EAEJ,GAAIgN,EAAiB,CACnB,GAAIH,EAAYprC,QAAQ,sCAAuC,EAC7D,OCvEO,SAA0ByzB,EAAMptD,GAC7C,OAAO2gE,GAAWvT,EAAM,IAAIta,GAAS2wB,QAAQC,gBAAmB,CAC9D1C,QAAS,SAASt9D,EAAO2jC,EAAKk5B,EAAM6E,GAClC,OAAItyB,GAASuyB,QAAU7F,GAAMjI,SAAS7zD,IACpC3F,KAAKs9D,OAAOh0B,EAAK3jC,EAAM2gB,SAAS,YACzB,GAGF+gD,EAAQnE,eAAevK,MAAM34D,KAAM0Z,UAC5C,KACGzX,GAEP,CD2DeslE,CAAiBlY,EAAMrvD,KAAKwnE,gBAAgBlhD,WAGrD,IAAK6zC,EAAasH,GAAMtH,WAAW9K,KAAU2X,EAAYprC,QAAQ,0BAA6B,CAC5F,MAAM6rC,EAAYznE,KAAK0nE,KAAO1nE,KAAK0nE,IAAIrK,SAEvC,OAAOuF,GACLzI,EAAa,CAAC,UAAW9K,GAAQA,EACjCoY,GAAa,IAAIA,EACjBznE,KAAKwnE,eAET,CACF,CAEA,OAAIL,GAAmBD,GACrBH,EAAQK,eAAe,oBAAoB,GAxEjD,SAAyBO,EAAUC,EAAQjD,GACzC,GAAIlD,GAAM7H,SAAS+N,GACjB,IAEE,OADCC,GAAUpE,KAAKqE,OAAOF,GAChBlG,GAAMztC,KAAK2zC,EACpB,CAAE,MAAOv/D,GACP,GAAe,gBAAXA,EAAE4zD,KACJ,MAAM5zD,CAEV,CAGF,OAAQu8D,GAAWnB,KAAKC,WAAWkE,EACrC,CA4DaG,CAAgBzY,IAGlBA,CACT,GAEA0Y,kBAAmB,CAAC,SAA2B1Y,GAC7C,MAAMuX,EAAe5mE,KAAK4mE,cAAgBD,GAASC,aAC7CtB,EAAoBsB,GAAgBA,EAAatB,kBACjD0C,EAAsC,SAAtBhoE,KAAKioE,aAE3B,GAAIxG,GAAMlH,WAAWlL,IAASoS,GAAMpH,iBAAiBhL,GACnD,OAAOA,EAGT,GAAIA,GAAQoS,GAAM7H,SAASvK,KAAWiW,IAAsBtlE,KAAKioE,cAAiBD,GAAgB,CAChG,MACME,IADoBtB,GAAgBA,EAAavB,oBACP2C,EAEhD,IACE,OAAOxE,KAAKqE,MAAMxY,EAAMrvD,KAAKmoE,aAC/B,CAAE,MAAO//D,GACP,GAAI8/D,EAAmB,CACrB,GAAe,gBAAX9/D,EAAE4zD,KACJ,MAAMmF,GAAWnnD,KAAK5R,EAAG+4D,GAAWiH,iBAAkBpoE,KAAM,KAAMA,KAAKs2D,UAEzE,MAAMluD,CACR,CACF,CACF,CAEA,OAAOinD,CACT,GAMAgZ,QAAS,EAETC,eAAgB,aAChBC,eAAgB,eAEhBC,kBAAkB,EAClBC,eAAe,EAEff,IAAK,CACHrK,SAAUtoB,GAAS2wB,QAAQrI,SAC3B+F,KAAMruB,GAAS2wB,QAAQtC,MAGzBsF,eAAgB,SAAwBlH,GACtC,OAAOA,GAAU,KAAOA,EAAS,GACnC,EAEAuF,QAAS,CACP4B,OAAQ,CACNC,OAAU,oCACV,oBAAgB9iE,KAKtB27D,GAAM5/D,QAAQ,CAAC,SAAU,MAAO,OAAQ,OAAQ,MAAO,SAAWgnE,IAChElC,GAASI,QAAQ8B,GAAU,CAAA,IEvJ7B,MAAMC,GAAoBrH,GAAMzB,YAAY,CAC1C,MAAO,gBAAiB,iBAAkB,eAAgB,OAC1D,UAAW,OAAQ,OAAQ,oBAAqB,sBAChD,gBAAiB,WAAY,eAAgB,sBAC7C,UAAW,cAAe,eCL5B,MAAM+I,GAAahQ,OAAO,aAE1B,SAASiQ,GAAgBC,GACvB,OAAOA,GAAU9hD,OAAO8hD,GAAQj1C,OAAO/c,aACzC,CAEA,SAASiyD,GAAevjE,GACtB,OAAc,IAAVA,GAA4B,MAATA,EACdA,EAGF87D,GAAM1pD,QAAQpS,GAASA,EAAM0V,IAAI6tD,IAAkB/hD,OAAOxhB,EACnE,CAgBA,SAASwjE,GAAiBriE,EAASnB,EAAOsjE,EAAQ5nE,EAAQ+nE,GACxD,OAAI3H,GAAM/H,WAAWr4D,GACZA,EAAO+C,KAAKpE,KAAM2F,EAAOsjE,IAG9BG,IACFzjE,EAAQsjE,GAGLxH,GAAM7H,SAASj0D,GAEhB87D,GAAM7H,SAASv4D,IACgB,IAA1BsE,EAAMi2B,QAAQv6B,GAGnBogE,GAAMhG,SAASp6D,GACVA,EAAOyzC,KAAKnvC,QADrB,OANA,EASF,CAsBA,IAAA0jE,GAAA,MACE,WAAA7xD,CAAYuvD,GACVA,GAAW/mE,KAAK+kB,IAAIgiD,EACtB,CAEA,GAAAhiD,CAAIkkD,EAAQK,EAAgBC,GAC1B,MAAMtO,EAAOj7D,KAEb,SAASwpE,EAAUC,EAAQC,EAASC,GAClC,MAAMC,EAAUZ,GAAgBU,GAEhC,IAAKE,EACH,MAAM,IAAInqE,MAAM,0CAGlB,MAAM6pC,EAAMm4B,GAAM5G,QAAQI,EAAM2O,KAE5BtgC,QAAqBxjC,IAAdm1D,EAAK3xB,KAAmC,IAAbqgC,QAAmC7jE,IAAb6jE,IAAwC,IAAd1O,EAAK3xB,MACzF2xB,EAAK3xB,GAAOogC,GAAWR,GAAeO,GAE1C,CAEA,MAAMI,EAAa,CAAC9C,EAAS4C,IAC3BlI,GAAM5/D,QAAQklE,EAAS,CAAC0C,EAAQC,IAAYF,EAAUC,EAAQC,EAASC,IAEzE,GAAIlI,GAAM1H,cAAckP,IAAWA,aAAkBjpE,KAAKwX,YACxDqyD,EAAWZ,EAAQK,QACd,GAAG7H,GAAM7H,SAASqP,KAAYA,EAASA,EAAOj1C,UArEtB,iCAAiC8gB,KAqEmBm0B,EArEVj1C,QAsEvE61C,ED1ESC,KACb,MAAMC,EAAS,CAAA,EACf,IAAIzgC,EACAmwB,EACAvtD,EAsBJ,OApBA49D,GAAcA,EAAW1J,MAAM,MAAMv+D,QAAQ,SAAgBmoE,GAC3D99D,EAAI89D,EAAKpuC,QAAQ,KACjB0N,EAAM0gC,EAAKC,UAAU,EAAG/9D,GAAG8nB,OAAO/c,cAClCwiD,EAAMuQ,EAAKC,UAAU/9D,EAAI,GAAG8nB,QAEvBsV,GAAQygC,EAAOzgC,IAAQw/B,GAAkBx/B,KAIlC,eAARA,EACEygC,EAAOzgC,GACTygC,EAAOzgC,GAAKnoC,KAAKs4D,GAEjBsQ,EAAOzgC,GAAO,CAACmwB,GAGjBsQ,EAAOzgC,GAAOygC,EAAOzgC,GAAOygC,EAAOzgC,GAAO,KAAOmwB,EAAMA,EAE3D,GAEOsQ,GCgDQG,CAAajB,GAASK,QAC5B,GAAI7H,GAAM3H,SAASmP,IAAWxH,GAAMP,WAAW+H,GAAS,CAC7D,IAAckB,EAAM7gC,EAAhBmxB,EAAM,GACV,IAAK,MAAM31D,KAASmkE,EAAQ,CAC1B,IAAKxH,GAAM1pD,QAAQjT,GACjB,MAAMkC,UAAU,gDAGlByzD,EAAInxB,EAAMxkC,EAAM,KAAOqlE,EAAO1P,EAAInxB,IAC/Bm4B,GAAM1pD,QAAQoyD,GAAQ,IAAIA,EAAMrlE,EAAM,IAAM,CAACqlE,EAAMrlE,EAAM,IAAOA,EAAM,EAC3E,CAEA+kE,EAAWpP,EAAK6O,EAClB,MACY,MAAVL,GAAkBO,EAAUF,EAAgBL,EAAQM,GAGtD,OAAOvpE,IACT,CAEA,GAAAY,CAAIqoE,EAAQrB,GAGV,GAFAqB,EAASD,GAAgBC,GAEb,CACV,MAAM3/B,EAAMm4B,GAAM5G,QAAQ76D,KAAMipE,GAEhC,GAAI3/B,EAAK,CACP,MAAM3jC,EAAQ3F,KAAKspC,GAEnB,IAAKs+B,EACH,OAAOjiE,EAGT,IAAe,IAAXiiE,EACF,OApHV,SAAqBxO,GACnB,MAAMgR,EAAS1pE,OAAOw4D,OAAO,MACvBmR,EAAW,mCACjB,IAAIrG,EAEJ,KAAQA,EAAQqG,EAASnzD,KAAKkiD,IAC5BgR,EAAOpG,EAAM,IAAMA,EAAM,GAG3B,OAAOoG,CACT,CA0GiBE,CAAY3kE,GAGrB,GAAI87D,GAAM/H,WAAWkO,GACnB,OAAOA,EAAOxjE,KAAKpE,KAAM2F,EAAO2jC,GAGlC,GAAIm4B,GAAMhG,SAASmM,GACjB,OAAOA,EAAO1wD,KAAKvR,GAGrB,MAAM,IAAIqB,UAAU,yCACtB,CACF,CACF,CAEA,GAAA0nB,CAAIu6C,EAAQsB,GAGV,GAFAtB,EAASD,GAAgBC,GAEb,CACV,MAAM3/B,EAAMm4B,GAAM5G,QAAQ76D,KAAMipE,GAEhC,SAAU3/B,QAAqBxjC,IAAd9F,KAAKspC,IAAwBihC,IAAWpB,GAAiBnpE,EAAMA,KAAKspC,GAAMA,EAAKihC,GAClG,CAEA,OAAO,CACT,CAEA,OAAOtB,EAAQsB,GACb,MAAMtP,EAAOj7D,KACb,IAAIwqE,GAAU,EAEd,SAASC,EAAaf,GAGpB,GAFAA,EAAUV,GAAgBU,GAEb,CACX,MAAMpgC,EAAMm4B,GAAM5G,QAAQI,EAAMyO,IAE5BpgC,GAASihC,IAAWpB,GAAiBlO,EAAMA,EAAK3xB,GAAMA,EAAKihC,YACtDtP,EAAK3xB,GAEZkhC,GAAU,EAEd,CACF,CAQA,OANI/I,GAAM1pD,QAAQkxD,GAChBA,EAAOpnE,QAAQ4oE,GAEfA,EAAaxB,GAGRuB,CACT,CAEA,KAAAjmD,CAAMgmD,GACJ,MAAM9iC,EAAO/mC,OAAO+mC,KAAKznC,MACzB,IAAIkM,EAAIu7B,EAAKxkC,OACTunE,GAAU,EAEd,KAAOt+D,KAAK,CACV,MAAMo9B,EAAM7B,EAAKv7B,GACbq+D,IAAWpB,GAAiBnpE,EAAMA,KAAKspC,GAAMA,EAAKihC,GAAS,YACtDvqE,KAAKspC,GACZkhC,GAAU,EAEd,CAEA,OAAOA,CACT,CAEA,SAAAE,CAAUhkD,GACR,MAAMu0C,EAAOj7D,KACP+mE,EAAU,CAAA,EAsBhB,OApBAtF,GAAM5/D,QAAQ7B,KAAM,CAAC2F,EAAOsjE,KAC1B,MAAM3/B,EAAMm4B,GAAM5G,QAAQkM,EAASkC,GAEnC,GAAI3/B,EAGF,OAFA2xB,EAAK3xB,GAAO4/B,GAAevjE,eACpBs1D,EAAKgO,GAId,MAAM0B,EAAajkD,EAtKzB,SAAsBuiD,GACpB,OAAOA,EAAOj1C,OACX/c,cAAciQ,QAAQ,kBAAmB,CAACpa,EAAG89D,EAAMxR,IAC3CwR,EAAKpK,cAAgBpH,EAElC,CAiKkCyR,CAAa5B,GAAU9hD,OAAO8hD,GAAQj1C,OAE9D22C,IAAe1B,UACVhO,EAAKgO,GAGdhO,EAAK0P,GAAczB,GAAevjE,GAElCohE,EAAQ4D,IAAc,IAGjB3qE,IACT,CAEA,MAAAyB,IAAUqpE,GACR,OAAO9qE,KAAKwX,YAAY/V,OAAOzB,QAAS8qE,EAC1C,CAEA,MAAApJ,CAAOqJ,GACL,MAAMtQ,EAAM/5D,OAAOw4D,OAAO,MAM1B,OAJAuI,GAAM5/D,QAAQ7B,KAAM,CAAC2F,EAAOsjE,KACjB,MAATtjE,IAA2B,IAAVA,IAAoB80D,EAAIwO,GAAU8B,GAAatJ,GAAM1pD,QAAQpS,GAASA,EAAM+8D,KAAK,MAAQ/8D,KAGrG80D,CACT,CAEA,CAAC1B,OAAOF,YACN,OAAOn4D,OAAOkE,QAAQ5E,KAAK0hE,UAAU3I,OAAOF,WAC9C,CAEA,QAAAvyC,GACE,OAAO5lB,OAAOkE,QAAQ5E,KAAK0hE,UAAUrmD,IAAI,EAAE4tD,EAAQtjE,KAAWsjE,EAAS,KAAOtjE,GAAO+8D,KAAK,KAC5F,CAEA,YAAAsI,GACE,OAAOhrE,KAAKY,IAAI,eAAiB,EACnC,CAEA,IAAKm4D,OAAOD,eACV,MAAO,cACT,CAEA,WAAO9+C,CAAKm/C,GACV,OAAOA,aAAiBn5D,KAAOm5D,EAAQ,IAAIn5D,KAAKm5D,EAClD,CAEA,aAAO13D,CAAO9B,KAAUmrE,GACtB,MAAMG,EAAW,IAAIjrE,KAAKL,GAI1B,OAFAmrE,EAAQjpE,QAASyE,GAAW2kE,EAASlmD,IAAIze,IAElC2kE,CACT,CAEA,eAAOC,CAASjC,GACd,MAIMkC,GAJYnrE,KAAK+oE,IAAe/oE,KAAK+oE,IAAc,CACvDoC,UAAW,CAAA,IAGeA,UACtB5qE,EAAYP,KAAKO,UAEvB,SAAS6qE,EAAe1B,GACtB,MAAME,EAAUZ,GAAgBU,GAE3ByB,EAAUvB,MAlOrB,SAAwBnP,EAAKwO,GAC3B,MAAMoC,EAAe5J,GAAMpB,YAAY,IAAM4I,GAE7C,CAAC,MAAO,MAAO,OAAOpnE,QAAQypE,IAC5B5qE,OAAOC,eAAe85D,EAAK6Q,EAAaD,EAAc,CACpD1lE,MAAO,SAAS4lE,EAAMC,EAAMC,GAC1B,OAAOzrE,KAAKsrE,GAAYlnE,KAAKpE,KAAMipE,EAAQsC,EAAMC,EAAMC,EACzD,EACA1qE,cAAc,KAGpB,CAwNQ2qE,CAAenrE,EAAWmpE,GAC1ByB,EAAUvB,IAAW,EAEzB,CAIA,OAFAnI,GAAM1pD,QAAQkxD,GAAUA,EAAOpnE,QAAQupE,GAAkBA,EAAenC,GAEjEjpE,IACT,GCzRa,SAAS2rE,GAAcC,EAAKtV,GACzC,MAAM+K,EAASrhE,MAAQ2mE,GACjB7/D,EAAUwvD,GAAY+K,EACtB0F,EAAU8E,GAAa7xD,KAAKlT,EAAQigE,SAC1C,IAAI1X,EAAOvoD,EAAQuoD,KAQnB,OANAoS,GAAM5/D,QAAQ+pE,EAAK,SAAmBtoD,GACpC+rC,EAAO/rC,EAAGlf,KAAKi9D,EAAQhS,EAAM0X,EAAQ2D,YAAapU,EAAWA,EAASkL,YAAS17D,EACjF,GAEAihE,EAAQ2D,YAEDrb,CACT,CCzBe,SAASyc,GAASnmE,GAC/B,SAAUA,IAASA,EAAMomE,WAC3B,CCUA,SAASC,GAAc7V,EAASkL,EAAQC,GAEtCH,GAAW/8D,KAAKpE,KAAiB,MAAXm2D,EAAkB,WAAaA,EAASgL,GAAW8K,aAAc5K,EAAQC,GAC/FthE,KAAKg8D,KAAO,eACd,CCLe,SAASkQ,GAAOznE,EAAS0nE,EAAQ7V,GAC9C,MAAMoS,EAAiBpS,EAAS+K,OAAOqH,eAClCpS,EAASkL,QAAWkH,IAAkBA,EAAepS,EAASkL,QAGjE2K,EAAO,IAAIhL,GACT,mCAAqC7K,EAASkL,OAC9C,CAACL,GAAWiL,gBAAiBjL,GAAWiH,kBAAkBpiE,KAAK8T,MAAMw8C,EAASkL,OAAS,KAAO,GAC9FlL,EAAS+K,OACT/K,EAASgL,QACThL,IAPF7xD,EAAQ6xD,EAUZ,CJgRAuV,GAAaX,SAAS,CAAC,eAAgB,iBAAkB,SAAU,kBAAmB,aAAc,kBAGpGzJ,GAAM/F,kBAAkBmQ,GAAatrE,UAAW,EAAEoF,SAAQ2jC,KACxD,IAAI+iC,EAAS/iC,EAAI,GAAGk3B,cAAgBl3B,EAAI/iB,MAAM,GAC9C,MAAO,CACL3lB,IAAK,IAAM+E,EACX,GAAAof,CAAIunD,GACFtsE,KAAKqsE,GAAUC,CACjB,KAIJ7K,GAAM3B,cAAc+L,IGnSpBpK,GAAMhD,SAASuN,GAAe7K,GAAY,CACxC4K,YAAY,IEjBP,MAAMQ,GAAuB,CAAChpE,EAAUipE,EAAkBC,EAAO,KACtE,IAAIC,EAAgB,EACpB,MAAMC,ECER,SAAqBC,EAAcl2D,GACjCk2D,EAAeA,GAAgB,GAC/B,MAAMC,EAAQ,IAAI/0D,MAAM80D,GAClBE,EAAa,IAAIh1D,MAAM80D,GAC7B,IAEIG,EAFAC,EAAO,EACPC,EAAO,EAKX,OAFAv2D,OAAc5Q,IAAR4Q,EAAoBA,EAAM,IAEzB,SAAcw2D,GACnB,MAAMl8C,EAAMihB,KAAKjhB,MAEXm8C,EAAYL,EAAWG,GAExBF,IACHA,EAAgB/7C,GAGlB67C,EAAMG,GAAQE,EACdJ,EAAWE,GAAQh8C,EAEnB,IAAI9kB,EAAI+gE,EACJG,EAAa,EAEjB,KAAOlhE,IAAM8gE,GACXI,GAAcP,EAAM3gE,KACpBA,GAAQ0gE,EASV,GANAI,GAAQA,EAAO,GAAKJ,EAEhBI,IAASC,IACXA,GAAQA,EAAO,GAAKL,GAGlB57C,EAAM+7C,EAAgBr2D,EACxB,OAGF,MAAM22D,EAASF,GAAan8C,EAAMm8C,EAElC,OAAOE,EAASrnE,KAAKC,MAAmB,IAAbmnE,EAAoBC,QAAUvnE,CAC3D,CACF,CD9CuBwnE,CAAY,GAAI,KAErC,OEFF,SAAkBhqD,EAAImpD,GACpB,IAEIc,EACAC,EAHApX,EAAY,EACZqX,EAAY,IAAOhB,EAIvB,MAAMiB,EAAS,CAACC,EAAM38C,EAAMihB,KAAKjhB,SAC/BolC,EAAYplC,EACZu8C,EAAW,KACPC,IACF3yC,aAAa2yC,GACbA,EAAQ,MAEVlqD,KAAMqqD,IAqBR,MAAO,CAlBW,IAAIA,KACpB,MAAM38C,EAAMihB,KAAKjhB,MACXq8C,EAASr8C,EAAMolC,EAChBiX,GAAUI,EACbC,EAAOC,EAAM38C,IAEbu8C,EAAWI,EACNH,IACHA,EAAQxxC,WAAW,KACjBwxC,EAAQ,KACRE,EAAOH,IACNE,EAAYJ,MAKP,IAAME,GAAYG,EAAOH,GAGzC,CFjCSK,CAASxlE,IACd,MAAMylE,EAASzlE,EAAEylE,OACXC,EAAQ1lE,EAAE2lE,iBAAmB3lE,EAAE0lE,WAAQhoE,EACvCkoE,EAAgBH,EAASnB,EACzBuB,EAAOtB,EAAaqB,GAG1BtB,EAAgBmB,EAchBtqE,EAZa,CACXsqE,SACAC,QACAI,SAAUJ,EAASD,EAASC,OAAShoE,EACrC+mE,MAAOmB,EACPC,KAAMA,QAAcnoE,EACpBqoE,UAAWF,GAAQH,GAVLD,GAAUC,GAUeA,EAAQD,GAAUI,OAAOnoE,EAChEsoE,MAAOhmE,EACP2lE,iBAA2B,MAATD,EAClB,CAACtB,EAAmB,WAAa,WAAW,KAI7CC,IAGQ4B,GAAyB,CAACP,EAAOQ,KAC5C,MAAMP,EAA4B,MAATD,EAEzB,MAAO,CAAED,GAAWS,EAAU,GAAG,CAC/BP,mBACAD,QACAD,WACES,EAAU,KAGHC,GAAkBjrD,GAAO,IAAIqqD,IAASlM,GAAM3E,KAAK,IAAMx5C,KAAMqqD,IGzC1E,IAAAa,GAAez5B,GAASgxB,sBAAwB,EAAEK,EAAQqI,IAAYpK,IACpEA,EAAM,IAAIxtB,IAAIwtB,EAAKtvB,GAASqxB,QAG1BA,EAAOsI,WAAarK,EAAIqK,UACxBtI,EAAOuI,OAAStK,EAAIsK,OACnBF,GAAUrI,EAAOwI,OAASvK,EAAIuK,OANa,CAS9C,IAAI/3B,IAAI9B,GAASqxB,QACjBrxB,GAASH,WAAa,kBAAkBE,KAAKC,GAASH,UAAUC,YAC9D,KAAM,ECVVg6B,GAAe95B,GAASgxB,sBAGtB,CACE,KAAA+I,CAAM9S,EAAMr2D,EAAOopE,EAASvM,EAAMwM,EAAQC,GACxC,MAAMC,EAAS,CAAClT,EAAO,IAAM+H,mBAAmBp+D,IAEhD87D,GAAM5H,SAASkV,IAAYG,EAAO/tE,KAAK,WAAa,IAAI8wC,KAAK88B,GAASI,eAEtE1N,GAAM7H,SAAS4I,IAAS0M,EAAO/tE,KAAK,QAAUqhE,GAE9Cf,GAAM7H,SAASoV,IAAWE,EAAO/tE,KAAK,UAAY6tE,IAEvC,IAAXC,GAAmBC,EAAO/tE,KAAK,UAE/B6D,SAASkqE,OAASA,EAAOxM,KAAK,KAChC,EAEA,IAAA0M,CAAKpT,GACH,MAAMgI,EAAQh/D,SAASkqE,OAAOlL,MAAM,IAAIqL,OAAO,aAAerT,EAAO,cACrE,OAAQgI,EAAQsL,mBAAmBtL,EAAM,IAAM,IACjD,EAEA,MAAA7R,CAAO6J,GACLh8D,KAAK8uE,MAAM9S,EAAM,GAAI/pB,KAAKjhB,MAAQ,MACpC,GAMF,CACE,KAAA89C,GAAS,EACTM,KAAI,IACK,KAET,MAAAjd,GAAU,GCxBC,SAASod,GAAcC,EAASC,EAAcC,GAC3D,IAAIC,GCHG,8BAA8B76B,KDGF26B,GACnC,OAAID,IAAYG,GAAsC,GAArBD,GEPpB,SAAqBF,EAASI,GAC3C,OAAOA,EACHJ,EAAQtoD,QAAQ,SAAU,IAAM,IAAM0oD,EAAY1oD,QAAQ,OAAQ,IAClEsoD,CACN,CFIWK,CAAYL,EAASC,GAEvBA,CACT,CGhBA,MAAMK,GAAmB3W,GAAUA,aAAiB0S,GAAe,IAAK1S,GAAUA,EAWnE,SAAS4W,GAAYC,EAASC,GAE3CA,EAAUA,GAAW,CAAA,EACrB,MAAM5O,EAAS,CAAA,EAEf,SAAS6O,EAAe5pE,EAAQs2D,EAAQpB,EAAMyC,GAC5C,OAAIwD,GAAM1H,cAAczzD,IAAWm7D,GAAM1H,cAAc6C,GAC9C6E,GAAMzD,MAAM55D,KAAK,CAAC65D,YAAW33D,EAAQs2D,GACnC6E,GAAM1H,cAAc6C,GACtB6E,GAAMzD,MAAM,CAAA,EAAIpB,GACd6E,GAAM1pD,QAAQ6kD,GAChBA,EAAOr2C,QAETq2C,CACT,CAGA,SAASuT,EAAoBhmE,EAAG0C,EAAG2uD,EAAOyC,GACxC,OAAKwD,GAAMlI,YAAY1sD,GAEX40D,GAAMlI,YAAYpvD,QAAvB,EACE+lE,OAAepqE,EAAWqE,EAAGqxD,EAAOyC,GAFpCiS,EAAe/lE,EAAG0C,EAAG2uD,EAAOyC,EAIvC,CAGA,SAASmS,EAAiBjmE,EAAG0C,GAC3B,IAAK40D,GAAMlI,YAAY1sD,GACrB,OAAOqjE,OAAepqE,EAAW+G,EAErC,CAGA,SAASwjE,EAAiBlmE,EAAG0C,GAC3B,OAAK40D,GAAMlI,YAAY1sD,GAEX40D,GAAMlI,YAAYpvD,QAAvB,EACE+lE,OAAepqE,EAAWqE,GAF1B+lE,OAAepqE,EAAW+G,EAIrC,CAGA,SAASyjE,EAAgBnmE,EAAG0C,EAAG2uD,GAC7B,OAAIA,KAAQyU,EACHC,EAAe/lE,EAAG0C,GAChB2uD,KAAQwU,EACVE,OAAepqE,EAAWqE,QAD5B,CAGT,CAEA,MAAMomE,EAAW,CACflM,IAAK+L,EACLvH,OAAQuH,EACR/gB,KAAM+gB,EACNZ,QAASa,EACTvJ,iBAAkBuJ,EAClBtI,kBAAmBsI,EACnBG,iBAAkBH,EAClBhI,QAASgI,EACTI,eAAgBJ,EAChBK,gBAAiBL,EACjBM,cAAeN,EACfxJ,QAASwJ,EACTpI,aAAcoI,EACd/H,eAAgB+H,EAChB9H,eAAgB8H,EAChBO,iBAAkBP,EAClBQ,mBAAoBR,EACpBS,WAAYT,EACZ7H,iBAAkB6H,EAClB5H,cAAe4H,EACfU,eAAgBV,EAChBW,UAAWX,EACXY,UAAWZ,EACXa,WAAYb,EACZc,YAAad,EACbe,WAAYf,EACZgB,iBAAkBhB,EAClB3H,eAAgB4H,EAChBvJ,QAAS,CAAC58D,EAAG0C,EAAI2uD,IAAS2U,EAAoBL,GAAgB3lE,GAAI2lE,GAAgBjjE,GAAG2uD,GAAM,IAS7F,OANAiG,GAAM5/D,QAAQnB,OAAO+mC,KAAK,IAAIuoC,KAAYC,IAAW,SAA4BzU,GAC/E,MAAMwC,EAAQuS,EAAS/U,IAAS2U,EAC1BmB,EAActT,EAAMgS,EAAQxU,GAAOyU,EAAQzU,GAAOA,GACvDiG,GAAMlI,YAAY+X,IAAgBtT,IAAUsS,IAAqBjP,EAAO7F,GAAQ8V,EACnF,GAEOjQ,CACT,CChGA,IAAAkQ,GAAgBlQ,IACd,MAAMmQ,EAAYzB,GAAY,CAAA,EAAI1O,GAElC,IAAIhS,KAAEA,EAAIshB,cAAEA,EAAapI,eAAEA,EAAcD,eAAEA,EAAcvB,QAAEA,EAAO0K,KAAEA,GAASD,EAa7E,GAXAA,EAAUzK,QAAUA,EAAU8E,GAAa7xD,KAAK+sD,GAEhDyK,EAAUnN,IAAMD,GAASmL,GAAciC,EAAUhC,QAASgC,EAAUnN,IAAKmN,EAAU9B,mBAAoBrO,EAAO6C,OAAQ7C,EAAOmP,kBAGzHiB,GACF1K,EAAQhiD,IAAI,gBAAiB,SAC3B2sD,MAAMD,EAAKE,UAAY,IAAM,KAAOF,EAAKG,SAAWC,SAAS9N,mBAAmB0N,EAAKG,WAAa,MAIlGnQ,GAAMtE,WAAW9N,GACnB,GAAIta,GAASgxB,uBAAyBhxB,GAASkxB,+BAC7Cc,EAAQK,oBAAethE,QAClB,GAAI27D,GAAM/H,WAAWrK,EAAKyiB,YAAa,CAE5C,MAAMC,EAAc1iB,EAAKyiB,aAEnBE,EAAiB,CAAC,eAAgB,kBACxCtxE,OAAOkE,QAAQmtE,GAAalwE,QAAQ,EAAEynC,EAAKmwB,MACrCuY,EAAen6D,SAASyxB,EAAIryB,gBAC9B8vD,EAAQhiD,IAAIukB,EAAKmwB,IAGvB,CAOF,GAAI1kB,GAASgxB,wBACX4K,GAAiBlP,GAAM/H,WAAWiX,KAAmBA,EAAgBA,EAAca,IAE/Eb,IAAoC,IAAlBA,GAA2BnC,GAAgBgD,EAAUnN,MAAO,CAEhF,MAAM4N,EAAY1J,GAAkBD,GAAkBuG,GAAQO,KAAK9G,GAE/D2J,GACFlL,EAAQhiD,IAAIwjD,EAAgB0J,EAEhC,CAGF,OAAOT,GC7CT,IAAAU,GAFwD,oBAAnBC,gBAEG,SAAU9Q,GAChD,OAAO,IAAI78D,QAAQ,SAA4BC,EAAS0nE,GACtD,MAAMiG,EAAUb,GAAclQ,GAC9B,IAAIgR,EAAcD,EAAQ/iB,KAC1B,MAAMijB,EAAiBzG,GAAa7xD,KAAKo4D,EAAQrL,SAAS2D,YAC1D,IACI6H,EACAC,EAAiBC,EACjBC,EAAaC,GAHb1K,aAACA,EAAY2I,iBAAEA,EAAgBC,mBAAEA,GAAsBuB,EAK3D,SAAS5S,IACPkT,GAAeA,IACfC,GAAiBA,IAEjBP,EAAQjB,aAAeiB,EAAQjB,YAAY/vE,YAAYmxE,GAEvDH,EAAQQ,QAAUR,EAAQQ,OAAOl4B,oBAAoB,QAAS63B,EAChE,CAEA,IAAIjR,EAAU,IAAI6Q,eAOlB,SAASU,IACP,IAAKvR,EACH,OAGF,MAAMwR,EAAkBjH,GAAa7xD,KACnC,0BAA2BsnD,GAAWA,EAAQyR,yBAahD7G,GAAO,SAAkBvmE,GACvBlB,EAAQkB,GACR65D,GACF,EAAG,SAAiBwT,GAClB7G,EAAO6G,GACPxT,GACF,EAfiB,CACfnQ,KAHoB4Y,GAAiC,SAAjBA,GAA4C,SAAjBA,EACxC3G,EAAQhL,SAA/BgL,EAAQ2R,aAGRzR,OAAQF,EAAQE,OAChB0R,WAAY5R,EAAQ4R,WACpBnM,QAAS+L,EACTzR,SACAC,YAYFA,EAAU,IACZ,CAlCAA,EAAQ/U,KAAK6lB,EAAQvJ,OAAOrI,cAAe4R,EAAQ/N,KAAK,GAGxD/C,EAAQ+G,QAAU+J,EAAQ/J,QAiCtB,cAAe/G,EAEjBA,EAAQuR,UAAYA,EAGpBvR,EAAQ6R,mBAAqB,WACtB7R,GAAkC,IAAvBA,EAAQ8R,aAQD,IAAnB9R,EAAQE,QAAkBF,EAAQ+R,aAAwD,IAAzC/R,EAAQ+R,YAAYz3C,QAAQ,WAKjFI,WAAW62C,EACb,EAIFvR,EAAQgS,QAAU,WACXhS,IAIL6K,EAAO,IAAIhL,GAAW,kBAAmBA,GAAWoS,aAAclS,EAAQC,IAG1EA,EAAU,KACZ,EAGFA,EAAQkS,QAAU,SAAqBpF,GAIlC,MACM4E,EAAM,IAAI7R,GADJiN,GAASA,EAAMjY,QAAUiY,EAAMjY,QAAU,gBACrBgL,GAAWsS,YAAapS,EAAQC,GAEhE0R,EAAI5E,MAAQA,GAAS,KACrBjC,EAAO6G,GACP1R,EAAU,IACb,EAGAA,EAAQoS,UAAY,WAClB,IAAIC,EAAsBvB,EAAQ/J,QAAU,cAAgB+J,EAAQ/J,QAAU,cAAgB,mBAC9F,MAAMzB,EAAewL,EAAQxL,cAAgBxB,GACzCgN,EAAQuB,sBACVA,EAAsBvB,EAAQuB,qBAEhCxH,EAAO,IAAIhL,GACTwS,EACA/M,EAAarB,oBAAsBpE,GAAWyS,UAAYzS,GAAWoS,aACrElS,EACAC,IAGFA,EAAU,IACZ,OAGgBx7D,IAAhBusE,GAA6BC,EAAelL,eAAe,MAGvD,qBAAsB9F,GACxBG,GAAM5/D,QAAQywE,EAAe5Q,SAAU,SAA0BjI,EAAKnwB,GACpEg4B,EAAQuS,iBAAiBvqC,EAAKmwB,EAChC,GAIGgI,GAAMlI,YAAY6Y,EAAQ1B,mBAC7BpP,EAAQoP,kBAAoB0B,EAAQ1B,iBAIlCzI,GAAiC,SAAjBA,IAClB3G,EAAQ2G,aAAemK,EAAQnK,cAI7B4I,KACA4B,EAAmBE,GAAiBpG,GAAqBsE,GAAoB,GAC/EvP,EAAQ3mB,iBAAiB,WAAY83B,IAInC7B,GAAoBtP,EAAQwS,UAC5BtB,EAAiBE,GAAenG,GAAqBqE,GAEvDtP,EAAQwS,OAAOn5B,iBAAiB,WAAY63B,GAE5ClR,EAAQwS,OAAOn5B,iBAAiB,UAAW+3B,KAGzCN,EAAQjB,aAAeiB,EAAQQ,UAGjCL,EAAawB,IACNzS,IAGL6K,GAAQ4H,GAAUA,EAAO1pE,KAAO,IAAI2hE,GAAc,KAAM3K,EAAQC,GAAWyS,GAC3EzS,EAAQ0S,QACR1S,EAAU,OAGZ8Q,EAAQjB,aAAeiB,EAAQjB,YAAYnwE,UAAUuxE,GACjDH,EAAQQ,SACVR,EAAQQ,OAAOqB,QAAU1B,IAAeH,EAAQQ,OAAOj4B,iBAAiB,QAAS43B,KAIrF,MAAM7D,EC1LK,SAAuBrK,GACpC,MAAML,EAAQ,4BAA4B9sD,KAAKmtD,GAC/C,OAAOL,GAASA,EAAM,IAAM,EAC9B,CDuLqBkQ,CAAc9B,EAAQ/N,KAEnCqK,QAAY35B,GAAS6wB,UAAUhqC,QAAQ8yC,GACzCvC,EAAO,IAAIhL,GAAW,wBAA0BuN,EAAW,IAAKvN,GAAWiL,gBAAiB/K,IAM9FC,EAAQ6S,KAAK9B,GAAe,KAC9B,EACF,EEnMA,MAAM+B,GAAiB,CAACC,EAAShM,KAC/B,MAAMplE,OAACA,GAAWoxE,EAAUA,EAAUA,EAAQhzE,OAAO+qD,SAAW,GAEhE,GAAIic,GAAWplE,EAAQ,CACrB,IAEIgxE,EAFAK,EAAa,IAAIC,gBAIrB,MAAMjB,EAAU,SAAUkB,GACxB,IAAKP,EAAS,CACZA,GAAU,EACV7yE,IACA,MAAM4xE,EAAMwB,aAAkB/0E,MAAQ+0E,EAASx0E,KAAKw0E,OACpDF,EAAWN,MAAMhB,aAAe7R,GAAa6R,EAAM,IAAIhH,GAAcgH,aAAevzE,MAAQuzE,EAAI7c,QAAU6c,GAC5G,CACF,EAEA,IAAIxF,EAAQnF,GAAWrsC,WAAW,KAChCwxC,EAAQ,KACR8F,EAAQ,IAAInS,GAAW,WAAWkH,mBAA0BlH,GAAWyS,aACtEvL,GAEH,MAAMjnE,EAAc,KACdizE,IACF7G,GAAS3yC,aAAa2yC,GACtBA,EAAQ,KACR6G,EAAQxyE,QAAQ+wE,IACdA,EAAOxxE,YAAcwxE,EAAOxxE,YAAYkyE,GAAWV,EAAOl4B,oBAAoB,QAAS44B,KAEzFe,EAAU,OAIdA,EAAQxyE,QAAS+wE,GAAWA,EAAOj4B,iBAAiB,QAAS24B,IAE7D,MAAMV,OAACA,GAAU0B,EAIjB,OAFA1B,EAAOxxE,YAAc,IAAMqgE,GAAM3E,KAAK17D,GAE/BwxE,CACT,GC3CW6B,GAAc,UAAWC,EAAOC,GAC3C,IAAI/Z,EAAM8Z,EAAME,WAEhB,GAAkBha,EAAM+Z,EAEtB,kBADMD,GAIR,IACIG,EADAC,EAAM,EAGV,KAAOA,EAAMla,GACXia,EAAMC,EAAMH,QACND,EAAMnuD,MAAMuuD,EAAKD,GACvBC,EAAMD,CAEV,EAQME,GAAaC,gBAAiBC,GAClC,GAAIA,EAAOlc,OAAOmc,eAEhB,kBADOD,GAIT,MAAME,EAASF,EAAOG,YACtB,IACE,OAAS,CACP,MAAM5V,KAACA,EAAI75D,MAAEA,SAAewvE,EAAO/F,OACnC,GAAI5P,EACF,YAEI75D,CACR,CACF,CAAC,cACOwvE,EAAOpB,QACf,CACF,EAEasB,GAAc,CAACJ,EAAQN,EAAWW,EAAYC,KACzD,MAAM1c,EA3BiBmc,gBAAiBQ,EAAUb,GAClD,UAAW,MAAMD,KAASK,GAAWS,SAC5Bf,GAAYC,EAAOC,EAE9B,CAuBmBc,CAAUR,EAAQN,GAEnC,IACInV,EADAqN,EAAQ,EAER6I,EAAattE,IACVo3D,IACHA,GAAO,EACP+V,GAAYA,EAASntE,KAIzB,OAAO,IAAIutE,eAAe,CACxB,UAAMC,CAAKtB,GACT,IACE,MAAM9U,KAACA,EAAI75D,MAAEA,SAAekzD,EAAS53D,OAErC,GAAIu+D,EAGF,OAFDkW,SACCpB,EAAW5nB,QAIb,IAAIkO,EAAMj1D,EAAMivE,WAChB,GAAIU,EAAY,CACd,IAAIO,EAAchJ,GAASjS,EAC3B0a,EAAWO,EACb,CACAvB,EAAWwB,QAAQ,IAAIxa,WAAW31D,GACpC,CAAE,MAAOqtE,GAEP,MADA0C,EAAU1C,GACJA,CACR,CACF,EACAe,OAAOS,IACLkB,EAAUlB,GACH3b,EAASL,WAEjB,CACDud,cAAe,MCxEbrc,WAACA,IAAc+H,GAEfuU,GAAiB,GAAGC,UAASC,eAAS,CAC1CD,UAASC,aADY,CAEnBzU,GAAMvG,SAGVya,eAAEA,GAAcQ,YAAEA,IACd1U,GAAMvG,OAGJpmB,GAAO,CAACxxB,KAAOqqD,KACnB,IACE,QAASrqD,KAAMqqD,EACjB,CAAE,MAAOvlE,GACP,OAAO,CACT,GAGIguE,GAAW1O,IACfA,EAAMjG,GAAMzD,MAAM55D,KAAK,CACrB85D,eAAe,GACd8X,GAAgBtO,GAEnB,MAAO2O,MAAOC,EAAQL,QAAEA,EAAOC,SAAEA,GAAYxO,EACvC6O,EAAmBD,EAAW5c,GAAW4c,GAA6B,mBAAVD,MAC5DG,EAAqB9c,GAAWuc,GAChCQ,EAAsB/c,GAAWwc,GAEvC,IAAKK,EACH,OAAO,EAGT,MAAMG,EAA4BH,GAAoB7c,GAAWic,IAE3DgB,EAAaJ,IAA4C,mBAAhBJ,IACzCxR,EAA0C,IAAIwR,GAAjC/c,GAAQuL,EAAQd,OAAOzK,IACtC4b,MAAO5b,GAAQ,IAAIkC,iBAAiB,IAAI2a,EAAQ7c,GAAKwd,gBADrD,IAAEjS,EAIN,MAAMkS,EAAwBL,GAAsBE,GAA6B5hC,GAAK,KACpF,IAAIgiC,GAAiB,EAErB,MAAMC,EAAiB,IAAId,EAAQlhC,GAASqxB,OAAQ,CAClDnhE,KAAM,IAAI0wE,GACV9M,OAAQ,OACR,UAAImO,GAEF,OADAF,GAAiB,EACV,MACT,IACC/P,QAAQr4C,IAAI,gBAEf,OAAOooD,IAAmBC,IAGtBE,EAAyBR,GAAuBC,GACpD5hC,GAAK,IAAM2sB,GAAMpH,iBAAiB,IAAI6b,EAAS,IAAIjxE,OAE/CiyE,EAAY,CAChBjC,OAAQgC,GAAsB,CAAME,GAAQA,EAAIlyE,OAGlDsxE,GACE,CAAC,OAAQ,cAAe,OAAQ,WAAY,UAAU10E,QAAQwI,KAC3D6sE,EAAU7sE,KAAU6sE,EAAU7sE,GAAQ,CAAC8sE,EAAK9V,KAC3C,IAAIwH,EAASsO,GAAOA,EAAI9sE,GAExB,GAAIw+D,EACF,OAAOA,EAAOzkE,KAAK+yE,GAGrB,MAAM,IAAIhW,GAAW,kBAAkB92D,sBAA0B82D,GAAWiW,gBAAiB/V,OAKnG,MA8BMgW,EAAoBrC,MAAOjO,EAAS9hE,KACxC,MAAMhC,EAASw+D,GAAMf,eAAeqG,EAAQuQ,oBAE5C,OAAiB,MAAVr0E,EAjCa+xE,OAAO/vE,IAC3B,GAAY,MAARA,EACF,OAAO,EAGT,GAAIw8D,GAAMvH,OAAOj1D,GACf,OAAOA,EAAK5F,KAGd,GAAIoiE,GAAMb,oBAAoB37D,GAAO,CACnC,MAAMsyE,EAAW,IAAItB,EAAQlhC,GAASqxB,OAAQ,CAC5CyC,OAAQ,OACR5jE,SAEF,aAAcsyE,EAASX,eAAehC,UACxC,CAEA,OAAInT,GAAMlE,kBAAkBt4D,IAASw8D,GAAM9H,cAAc10D,GAChDA,EAAK2vE,YAGVnT,GAAMrH,kBAAkBn1D,KAC1BA,GAAc,IAGZw8D,GAAM7H,SAAS30D,UACH0xE,EAAW1xE,IAAO2vE,gBADlC,IAQwB4C,CAAcvyE,GAAQhC,GAGhD,OAAO+xE,MAAO3T,IACZ,IAAIgD,IACFA,EAAGwE,OACHA,EAAMxZ,KACNA,EAAIujB,OACJA,EAAMzB,YACNA,EAAW9I,QACXA,EAAOwI,mBACPA,EAAkBD,iBAClBA,EAAgB3I,aAChBA,EAAYlB,QACZA,EAAO2J,gBACPA,EAAkB,cAAa+G,aAC/BA,GACElG,GAAclQ,GAEdqW,EAASpB,GAAYD,MAEzBpO,EAAeA,GAAgBA,EAAe,IAAIhxD,cAAgB,OAElE,IAAI0gE,EAAiBvD,GAAe,CAACxB,EAAQzB,GAAeA,EAAYyG,iBAAkBvP,GAEtF/G,EAAU,KAEd,MAAMlgE,EAAcu2E,GAAkBA,EAAev2E,aAAW,MAC9Du2E,EAAev2E,aAChB,GAED,IAAIy2E,EAEJ,IACE,GACEjH,GAAoBiG,GAAoC,QAAXhO,GAA+B,SAAXA,GACG,KAAnEgP,QAA6BR,EAAkBtQ,EAAS1X,IACzD,CACA,IAMIyoB,EANAP,EAAW,IAAItB,EAAQ5R,EAAK,CAC9BwE,OAAQ,OACR5jE,KAAMoqD,EACN2nB,OAAQ,SASV,GAJIvV,GAAMtE,WAAW9N,KAAUyoB,EAAoBP,EAASxQ,QAAQnmE,IAAI,kBACtEmmE,EAAQK,eAAe0Q,GAGrBP,EAAStyE,KAAM,CACjB,MAAOqwE,EAAYyC,GAAS1J,GAC1BwJ,EACAtL,GAAqBgC,GAAeqC,KAGtCvhB,EAAOgmB,GAAYkC,EAAStyE,KAvKX,MAuKqCqwE,EAAYyC,EACpE,CACF,CAEKtW,GAAM7H,SAAS8W,KAClBA,EAAkBA,EAAkB,UAAY,QAKlD,MAAMsH,EAAyBxB,GAAsB,gBAAiBP,EAAQ11E,UAExE03E,EAAkB,IACnBR,EACH7E,OAAQ+E,EACR9O,OAAQA,EAAOrI,cACfuG,QAASA,EAAQ2D,YAAYhJ,SAC7Bz8D,KAAMoqD,EACN2nB,OAAQ,OACRkB,YAAaF,EAAyBtH,OAAkB5qE,GAG1Dw7D,EAAUkV,GAAsB,IAAIP,EAAQ5R,EAAK4T,GAEjD,IAAI3hB,QAAkBkgB,EAAqBkB,EAAOpW,EAASmW,GAAgBC,EAAOrT,EAAK4T,IAEvF,MAAME,EAAmBlB,IAA4C,WAAjBhP,GAA8C,aAAjBA,GAEjF,GAAIgP,IAA2BpG,GAAuBsH,GAAoB/2E,GAAe,CACvF,MAAMa,EAAU,CAAA,EAEhB,CAAC,SAAU,aAAc,WAAWJ,QAAQ25D,IAC1Cv5D,EAAQu5D,GAAQlF,EAASkF,KAG3B,MAAM4c,EAAwB3W,GAAMf,eAAepK,EAASyQ,QAAQnmE,IAAI,oBAEjE00E,EAAYyC,GAASlH,GAAsBxC,GAChD+J,EACA7L,GAAqBgC,GAAesC,IAAqB,KACtD,GAELva,EAAW,IAAI4f,EACbb,GAAY/e,EAASrxD,KAlNJ,MAkN8BqwE,EAAY,KACzDyC,GAASA,IACT32E,GAAeA,MAEjBa,EAEJ,CAEAgmE,EAAeA,GAAgB,OAE/B,IAAIoQ,QAAqBnB,EAAUzV,GAAM5G,QAAQqc,EAAWjP,IAAiB,QAAQ3R,EAAU+K,GAI/F,OAFC8W,GAAoB/2E,GAAeA,UAEvB,IAAIoD,QAAQ,CAACC,EAAS0nE,KACjCD,GAAOznE,EAAS0nE,EAAQ,CACtB9c,KAAMgpB,EACNtR,QAAS8E,GAAa7xD,KAAKs8C,EAASyQ,SACpCvF,OAAQlL,EAASkL,OACjB0R,WAAY5c,EAAS4c,WACrB7R,SACAC,aAGN,CAAE,MAAO0R,GAGP,GAFA5xE,GAAeA,IAEX4xE,GAAoB,cAAbA,EAAIhX,MAAwB,qBAAqBlnB,KAAKk+B,EAAI7c,SACnE,MAAMz1D,OAAO4oB,OACX,IAAI63C,GAAW,gBAAiBA,GAAWsS,YAAapS,EAAQC,GAChE,CACEc,MAAO4Q,EAAI5Q,OAAS4Q,IAK1B,MAAM7R,GAAWnnD,KAAKg5D,EAAKA,GAAOA,EAAI5R,KAAMC,EAAQC,EACtD,IAIEgX,GAAY,IAAIx1D,IAETy1D,GAAYlX,IACvB,IAAIqG,EAAMrG,EAASA,EAAOqG,IAAM,CAAA,EAChC,MAAM2O,MAACA,EAAKJ,QAAEA,EAAOC,SAAEA,GAAYxO,EAC7B8Q,EAAQ,CACZvC,EAASC,EAAUG,GAGrB,IACEoC,EAAMnyE,EADgB4F,EAAdssE,EAAMv1E,OACAoY,EAAMi9D,GAEtB,KAAOpsE,KACLusE,EAAOD,EAAMtsE,GACb5F,EAAS+U,EAAIza,IAAI63E,QAEN3yE,IAAXQ,GAAwB+U,EAAI0J,IAAI0zD,EAAMnyE,EAAU4F,EAAI,IAAI4W,IAAQszD,GAAQ1O,IAExErsD,EAAM/U,EAGR,OAAOA,GAGOiyE,KCvRhB,MAAMG,GAAgB,CACpBC,KCNa,KDObC,IAAK1G,GACLmE,MAAO,CACLz1E,IAAKi4E,KAITpX,GAAM5/D,QAAQ62E,GAAe,CAACp1D,EAAI3d,KAChC,GAAI2d,EAAI,CACN,IACE5iB,OAAOC,eAAe2iB,EAAI,OAAQ,CAAC3d,SACrC,CAAE,MAAOyC,GAET,CACA1H,OAAOC,eAAe2iB,EAAI,cAAe,CAAC3d,SAC5C,IAGF,MAAMmzE,GAAgBtE,GAAW,KAAKA,IAEhCuE,GAAoBlS,GAAYpF,GAAM/H,WAAWmN,IAAwB,OAAZA,IAAgC,IAAZA,EAEvF,IAAAmS,GACc,CAACA,EAAU3X,KACrB2X,EAAWvX,GAAM1pD,QAAQihE,GAAYA,EAAW,CAACA,GAEjD,MAAM/1E,OAACA,GAAU+1E,EACjB,IAAIC,EACApS,EAEJ,MAAMqS,EAAkB,CAAA,EAExB,IAAK,IAAIhtE,EAAI,EAAGA,EAAIjJ,EAAQiJ,IAAK,CAE/B,IAAImnB,EAIJ,GALA4lD,EAAgBD,EAAS9sE,GAGzB26D,EAAUoS,GAELF,GAAiBE,KACpBpS,EAAU6R,IAAerlD,EAAKlM,OAAO8xD,IAAgBhiE,oBAErCnR,IAAZ+gE,GACF,MAAM,IAAI1F,GAAW,oBAAoB9tC,MAI7C,GAAIwzC,IAAYpF,GAAM/H,WAAWmN,KAAaA,EAAUA,EAAQjmE,IAAIygE,KAClE,MAGF6X,EAAgB7lD,GAAM,IAAMnnB,GAAK26D,CACnC,CAEA,IAAKA,EAAS,CAEZ,MAAMsS,EAAUz4E,OAAOkE,QAAQs0E,GAC5B79D,IAAI,EAAEgY,EAAI+lD,KAAW,WAAW/lD,OACpB,IAAV+lD,EAAkB,sCAAwC,kCAO/D,MAAM,IAAIjY,GACR,yDALMl+D,EACLk2E,EAAQl2E,OAAS,EAAI,YAAck2E,EAAQ99D,IAAIy9D,IAAcpW,KAAK,MAAQ,IAAMoW,GAAaK,EAAQ,IACtG,2BAIA,kBAEJ,CAEA,OAAOtS,GE7DX,SAASwS,GAA6BhY,GAKpC,GAJIA,EAAO8P,aACT9P,EAAO8P,YAAYmI,mBAGjBjY,EAAOuR,QAAUvR,EAAOuR,OAAOqB,QACjC,MAAM,IAAIjI,GAAc,KAAM3K,EAElC,CASe,SAASkY,GAAgBlY,GACtCgY,GAA6BhY,GAE7BA,EAAO0F,QAAU8E,GAAa7xD,KAAKqnD,EAAO0F,SAG1C1F,EAAOhS,KAAOsc,GAAcvnE,KAC1Bi9D,EACAA,EAAOyF,uBAGL,CAAC,OAAQ,MAAO,SAASlrC,QAAQylC,EAAOwH,SAC1CxH,EAAO0F,QAAQK,eAAe,qCAAqC,GAKrE,OAFgB4R,GAAoB3X,EAAOwF,SAAWF,GAASE,QAASxF,EAEjEwF,CAAQxF,GAAQj8D,KAAK,SAA6BkxD,GAYvD,OAXA+iB,GAA6BhY,GAG7B/K,EAASjH,KAAOsc,GAAcvnE,KAC5Bi9D,EACAA,EAAO0G,kBACPzR,GAGFA,EAASyQ,QAAU8E,GAAa7xD,KAAKs8C,EAASyQ,SAEvCzQ,CACT,EAAG,SAA4Bke,GAe7B,OAdK1I,GAAS0I,KACZ6E,GAA6BhY,GAGzBmT,GAAUA,EAAOle,WACnBke,EAAOle,SAASjH,KAAOsc,GAAcvnE,KACnCi9D,EACAA,EAAO0G,kBACPyM,EAAOle,UAETke,EAAOle,SAASyQ,QAAU8E,GAAa7xD,KAAKw6D,EAAOle,SAASyQ,WAIzDviE,QAAQ2nE,OAAOqI,EACxB,EACF,CChFO,MAAMgF,GAAU,SCKjBC,GAAa,CAAA,EAGnB,CAAC,SAAU,UAAW,SAAU,WAAY,SAAU,UAAU53E,QAAQ,CAACwI,EAAM6B,KAC7EutE,GAAWpvE,GAAQ,SAAmB8uD,GACpC,cAAcA,IAAU9uD,GAAQ,KAAO6B,EAAI,EAAI,KAAO,KAAO7B,CAC/D,IAGF,MAAMqvE,GAAqB,CAAA,EAW3BD,GAAW7S,aAAe,SAAsB+S,EAAWC,EAASzjB,GAClE,SAAS0jB,EAAcC,EAAKC,GAC1B,MAAO,WAAaP,GAAU,0BAA6BM,EAAM,IAAOC,GAAQ5jB,EAAU,KAAOA,EAAU,GAC7G,CAGA,MAAO,CAACxwD,EAAOm0E,EAAKE,KAClB,IAAkB,IAAdL,EACF,MAAM,IAAIxY,GACR0Y,EAAcC,EAAK,qBAAuBF,EAAU,OAASA,EAAU,KACvEzY,GAAW8Y,gBAef,OAXIL,IAAYF,GAAmBI,KACjCJ,GAAmBI,IAAO,EAE1BhlB,QAAQc,KACNikB,EACEC,EACA,+BAAiCF,EAAU,8CAK1CD,GAAYA,EAAUh0E,EAAOm0E,EAAKE,GAE7C,EAEAP,GAAWS,SAAW,SAAkBC,GACtC,MAAO,CAACx0E,EAAOm0E,KAEbhlB,QAAQc,KAAK,GAAGkkB,gCAAkCK,MAC3C,EAEX,EAmCA,IAAAR,GAAe,CACbS,cAxBF,SAAuBn4E,EAASo4E,EAAQC,GACtC,GAAuB,iBAAZr4E,EACT,MAAM,IAAIk/D,GAAW,4BAA6BA,GAAWoZ,sBAE/D,MAAM9yC,EAAO/mC,OAAO+mC,KAAKxlC,GACzB,IAAIiK,EAAIu7B,EAAKxkC,OACb,KAAOiJ,KAAM,GAAG,CACd,MAAM4tE,EAAMryC,EAAKv7B,GACXytE,EAAYU,EAAOP,GACzB,GAAIH,EAAW,CACb,MAAMh0E,EAAQ1D,EAAQ63E,GAChBtc,OAAmB13D,IAAVH,GAAuBg0E,EAAUh0E,EAAOm0E,EAAK73E,GAC5D,IAAe,IAAXu7D,EACF,MAAM,IAAI2D,GAAW,UAAY2Y,EAAM,YAActc,EAAQ2D,GAAWoZ,sBAE1E,QACF,CACA,IAAqB,IAAjBD,EACF,MAAM,IAAInZ,GAAW,kBAAoB2Y,EAAK3Y,GAAWqZ,eAE7D,CACF,EAIAf,WAAEA,ICtFF,MAAMA,GAAaE,GAAUF,WAS7B,IAAAgB,GAAA,MACE,WAAAjjE,CAAYkjE,GACV16E,KAAK2mE,SAAW+T,GAAkB,CAAA,EAClC16E,KAAK26E,aAAe,CAClBrZ,QAAS,IAAIsD,GACbtO,SAAU,IAAIsO,GAElB,CAUA,aAAMtD,CAAQsZ,EAAavZ,GACzB,IACE,aAAarhE,KAAKu3E,SAASqD,EAAavZ,EAC1C,CAAE,MAAO2R,GACP,GAAIA,aAAevzE,MAAO,CACxB,IAAIo7E,EAAQ,CAAA,EAEZp7E,MAAM8hE,kBAAoB9hE,MAAM8hE,kBAAkBsZ,GAAUA,EAAQ,IAAIp7E,MAGxE,MAAMqhE,EAAQ+Z,EAAM/Z,MAAQ+Z,EAAM/Z,MAAM55C,QAAQ,QAAS,IAAM,GAC/D,IACO8rD,EAAIlS,MAGEA,IAAU35C,OAAO6rD,EAAIlS,OAAO7B,SAAS6B,EAAM55C,QAAQ,YAAa,OACzE8rD,EAAIlS,OAAS,KAAOA,GAHpBkS,EAAIlS,MAAQA,CAKhB,CAAE,MAAO14D,GAET,CACF,CAEA,MAAM4qE,CACR,CACF,CAEA,QAAAuE,CAASqD,EAAavZ,GAGO,iBAAhBuZ,GACTvZ,EAASA,GAAU,CAAA,GACZgD,IAAMuW,EAEbvZ,EAASuZ,GAAe,CAAA,EAG1BvZ,EAAS0O,GAAY/vE,KAAK2mE,SAAUtF,GAEpC,MAAMuF,aAACA,EAAY4J,iBAAEA,EAAgBzJ,QAAEA,GAAW1F,OAE7Bv7D,IAAjB8gE,GACF+S,GAAUS,cAAcxT,EAAc,CACpCvB,kBAAmBoU,GAAW7S,aAAa6S,GAAWqB,SACtDxV,kBAAmBmU,GAAW7S,aAAa6S,GAAWqB,SACtDvV,oBAAqBkU,GAAW7S,aAAa6S,GAAWqB,WACvD,GAGmB,MAApBtK,IACE/O,GAAM/H,WAAW8W,GACnBnP,EAAOmP,iBAAmB,CACxBjM,UAAWiM,GAGbmJ,GAAUS,cAAc5J,EAAkB,CACxC3M,OAAQ4V,GAAWsB,SACnBxW,UAAWkV,GAAWsB,WACrB,SAK0Bj1E,IAA7Bu7D,EAAOqO,yBAEoC5pE,IAApC9F,KAAK2mE,SAAS+I,kBACvBrO,EAAOqO,kBAAoB1vE,KAAK2mE,SAAS+I,kBAEzCrO,EAAOqO,mBAAoB,GAG7BiK,GAAUS,cAAc/Y,EAAQ,CAC9B2Z,QAASvB,GAAWS,SAAS,WAC7Be,cAAexB,GAAWS,SAAS,mBAClC,GAGH7Y,EAAOwH,QAAUxH,EAAOwH,QAAU7oE,KAAK2mE,SAASkC,QAAU,OAAO5xD,cAGjE,IAAIikE,EAAiBnU,GAAWtF,GAAMzD,MACpC+I,EAAQ4B,OACR5B,EAAQ1F,EAAOwH,SAGjB9B,GAAWtF,GAAM5/D,QACf,CAAC,SAAU,MAAO,OAAQ,OAAQ,MAAO,QAAS,UACjDgnE,WACQ9B,EAAQ8B,KAInBxH,EAAO0F,QAAU8E,GAAapqE,OAAOy5E,EAAgBnU,GAGrD,MAAMoU,EAA0B,GAChC,IAAIC,GAAiC,EACrCp7E,KAAK26E,aAAarZ,QAAQz/D,QAAQ,SAAoCw5E,GACjC,mBAAxBA,EAAYnW,UAA0D,IAAhCmW,EAAYnW,QAAQ7D,KAIrE+Z,EAAiCA,GAAkCC,EAAYpW,YAE/EkW,EAAwBj/C,QAAQm/C,EAAYtW,UAAWsW,EAAYrW,UACrE,GAEA,MAAMsW,EAA2B,GAKjC,IAAIC,EAJJv7E,KAAK26E,aAAarkB,SAASz0D,QAAQ,SAAkCw5E,GACnEC,EAAyBn6E,KAAKk6E,EAAYtW,UAAWsW,EAAYrW,SACnE,GAGA,IACIpK,EADA1uD,EAAI,EAGR,IAAKkvE,EAAgC,CACnC,MAAMI,EAAQ,CAACjC,GAAgB3xD,KAAK5nB,WAAO8F,GAO3C,IANA01E,EAAMt/C,WAAWi/C,GACjBK,EAAMr6E,QAAQm6E,GACd1gB,EAAM4gB,EAAMv4E,OAEZs4E,EAAU/2E,QAAQC,QAAQ48D,GAEnBn1D,EAAI0uD,GACT2gB,EAAUA,EAAQn2E,KAAKo2E,EAAMtvE,KAAMsvE,EAAMtvE,MAG3C,OAAOqvE,CACT,CAEA3gB,EAAMugB,EAAwBl4E,OAE9B,IAAIuuE,EAAYnQ,EAEhB,KAAOn1D,EAAI0uD,GAAK,CACd,MAAM6gB,EAAcN,EAAwBjvE,KACtCwvE,EAAaP,EAAwBjvE,KAC3C,IACEslE,EAAYiK,EAAYjK,EAC1B,CAAE,MAAOvc,GACPymB,EAAWt3E,KAAKpE,KAAMi1D,GACtB,KACF,CACF,CAEA,IACEsmB,EAAUhC,GAAgBn1E,KAAKpE,KAAMwxE,EACvC,CAAE,MAAOvc,GACP,OAAOzwD,QAAQ2nE,OAAOlX,EACxB,CAKA,IAHA/oD,EAAI,EACJ0uD,EAAM0gB,EAAyBr4E,OAExBiJ,EAAI0uD,GACT2gB,EAAUA,EAAQn2E,KAAKk2E,EAAyBpvE,KAAMovE,EAAyBpvE,MAGjF,OAAOqvE,CACT,CAEA,MAAAI,CAAOta,GAGL,OAAO+C,GADUmL,IADjBlO,EAAS0O,GAAY/vE,KAAK2mE,SAAUtF,IACEmO,QAASnO,EAAOgD,IAAKhD,EAAOqO,mBACxCrO,EAAO6C,OAAQ7C,EAAOmP,iBAClD,GAIF/O,GAAM5/D,QAAQ,CAAC,SAAU,MAAO,OAAQ,WAAY,SAA6BgnE,GAE/E+S,GAAMr7E,UAAUsoE,GAAU,SAASxE,EAAKhD,GACtC,OAAOrhE,KAAKshE,QAAQyO,GAAY1O,GAAU,CAAA,EAAI,CAC5CwH,SACAxE,MACAhV,MAAOgS,GAAU,IAAIhS,OAEzB,CACF,GAEAoS,GAAM5/D,QAAQ,CAAC,OAAQ,MAAO,SAAU,SAA+BgnE,GAGrE,SAASgT,EAAmBC,GAC1B,OAAO,SAAoBzX,EAAKhV,EAAMgS,GACpC,OAAOrhE,KAAKshE,QAAQyO,GAAY1O,GAAU,CAAA,EAAI,CAC5CwH,SACA9B,QAAS+U,EAAS,CAChB,eAAgB,uBACd,CAAA,EACJzX,MACAhV,SAEJ,CACF,CAEAusB,GAAMr7E,UAAUsoE,GAAUgT,IAE1BD,GAAMr7E,UAAUsoE,EAAS,QAAUgT,GAAmB,EACxD,GC7OA,MAAME,GAAiB,CACrBC,SAAU,IACVC,mBAAoB,IACpBC,WAAY,IACZC,WAAY,IACZC,GAAI,IACJC,QAAS,IACTC,SAAU,IACVC,4BAA6B,IAC7BC,UAAW,IACXC,aAAc,IACdC,eAAgB,IAChBC,YAAa,IACbC,gBAAiB,IACjBC,OAAQ,IACRC,gBAAiB,IACjBC,iBAAkB,IAClBC,MAAO,IACPC,SAAU,IACVC,YAAa,IACbC,SAAU,IACVC,OAAQ,IACRC,kBAAmB,IACnBC,kBAAmB,IACnBC,WAAY,IACZC,aAAc,IACdC,gBAAiB,IACjBC,UAAW,IACXC,SAAU,IACVC,iBAAkB,IAClBC,cAAe,IACfC,4BAA6B,IAC7BC,eAAgB,IAChBC,SAAU,IACVC,KAAM,IACNC,eAAgB,IAChBC,mBAAoB,IACpBC,gBAAiB,IACjBC,WAAY,IACZC,qBAAsB,IACtBC,oBAAqB,IACrBC,kBAAmB,IACnBC,UAAW,IACXC,mBAAoB,IACpBC,oBAAqB,IACrBC,OAAQ,IACRC,iBAAkB,IAClBC,SAAU,IACVC,gBAAiB,IACjBC,qBAAsB,IACtBC,gBAAiB,IACjBC,4BAA6B,IAC7BC,2BAA4B,IAC5BC,oBAAqB,IACrBC,eAAgB,IAChBC,WAAY,IACZC,mBAAoB,IACpBC,eAAgB,IAChBC,wBAAyB,IACzBC,sBAAuB,IACvBC,oBAAqB,IACrBC,aAAc,IACdC,YAAa,IACbC,8BAA+B,KAGjCp/E,OAAOkE,QAAQm3E,IAAgBl6E,QAAQ,EAAEynC,EAAK3jC,MAC5Co2E,GAAep2E,GAAS2jC,ICrB1B,MAAMy2C,GAnBN,SAASC,EAAeC,GACtB,MAAMn5E,EAAU,IAAI80E,GAAMqE,GACpBC,EAAWt4D,GAAKg0D,GAAMr7E,UAAU+gE,QAASx6D,GAa/C,OAVA26D,GAAMpD,OAAO6hB,EAAUtE,GAAMr7E,UAAWuG,EAAS,CAAC4zD,YAAY,IAG9D+G,GAAMpD,OAAO6hB,EAAUp5E,EAAS,KAAM,CAAC4zD,YAAY,IAGnDwlB,EAAShnB,OAAS,SAAgBwhB,GAChC,OAAOsF,EAAejQ,GAAYkQ,EAAevF,GACnD,EAEOwF,CACT,CAGcF,CAAerZ,IAG7BoZ,GAAMnE,MAAQA,GAGdmE,GAAM/T,cAAgBA,GACtB+T,GAAMI,YC1CN,MAAMA,EACJ,WAAA3oE,CAAY4oE,GACV,GAAwB,mBAAbA,EACT,MAAM,IAAIp5E,UAAU,gCAGtB,IAAIq5E,EAEJrgF,KAAKu7E,QAAU,IAAI/2E,QAAQ,SAAyBC,GAClD47E,EAAiB57E,CACnB,GAEA,MAAMg4D,EAAQz8D,KAGdA,KAAKu7E,QAAQn2E,KAAK2uE,IAChB,IAAKtX,EAAM6jB,WAAY,OAEvB,IAAIp0E,EAAIuwD,EAAM6jB,WAAWr9E,OAEzB,KAAOiJ,KAAM,GACXuwD,EAAM6jB,WAAWp0E,GAAG6nE,GAEtBtX,EAAM6jB,WAAa,OAIrBtgF,KAAKu7E,QAAQn2E,KAAOm7E,IAClB,IAAIC,EAEJ,MAAMjF,EAAU,IAAI/2E,QAAQC,IAC1Bg4D,EAAMz7D,UAAUyD,GAChB+7E,EAAW/7E,IACVW,KAAKm7E,GAMR,OAJAhF,EAAQxH,OAAS,WACftX,EAAMr7D,YAAYo/E,EACpB,EAEOjF,GAGT6E,EAAS,SAAgBjqB,EAASkL,EAAQC,GACpC7E,EAAM+X,SAKV/X,EAAM+X,OAAS,IAAIxI,GAAc7V,EAASkL,EAAQC,GAClD+e,EAAe5jB,EAAM+X,QACvB,EACF,CAKA,gBAAA8E,GACE,GAAIt5E,KAAKw0E,OACP,MAAMx0E,KAAKw0E,MAEf,CAMA,SAAAxzE,CAAUuC,GACJvD,KAAKw0E,OACPjxE,EAASvD,KAAKw0E,QAIZx0E,KAAKsgF,WACPtgF,KAAKsgF,WAAWn/E,KAAKoC,GAErBvD,KAAKsgF,WAAa,CAAC/8E,EAEvB,CAMA,WAAAnC,CAAYmC,GACV,IAAKvD,KAAKsgF,WACR,OAEF,MAAMl5C,EAAQpnC,KAAKsgF,WAAW1kD,QAAQr4B,IACxB,IAAV6jC,GACFpnC,KAAKsgF,WAAW5oE,OAAO0vB,EAAO,EAElC,CAEA,aAAAwwC,GACE,MAAMtD,EAAa,IAAIC,gBAEjBP,EAAShB,IACbsB,EAAWN,MAAMhB,IAOnB,OAJAhzE,KAAKgB,UAAUgzE,GAEfM,EAAW1B,OAAOxxE,YAAc,IAAMpB,KAAKoB,YAAY4yE,GAEhDM,EAAW1B,MACpB,CAMA,aAAOhW,GACL,IAAImX,EACJ,MAAMtX,EAAQ,IAAI0jB,EAAY,SAAkBp0E,GAC9CgoE,EAAShoE,CACX,GACA,MAAO,CACL0wD,QACAsX,SAEJ,GD7EFgM,GAAMjU,SAAWA,GACjBiU,GAAMvG,QAAUA,GAChBuG,GAAMnd,WAAaA,GAGnBmd,GAAM5e,WAAaA,GAGnB4e,GAAMU,OAASV,GAAM/T,cAGrB+T,GAAMW,IAAM,SAAaC,GACvB,OAAOn8E,QAAQk8E,IAAIC,EACrB,EAEAZ,GAAMa,OE9CS,SAAgBC,GAC7B,OAAO,SAAcxhB,GACnB,OAAOwhB,EAASloB,MAAM,KAAM0G,EAC9B,CACF,EF6CA0gB,GAAMe,aG7DS,SAAsBC,GACnC,OAAOtf,GAAM3H,SAASinB,KAAsC,IAAzBA,EAAQD,YAC7C,EH8DAf,GAAMhQ,YAAcA,GAEpBgQ,GAAMlU,aAAeA,GAErBkU,GAAMiB,WAAa7nB,GAASkN,GAAe5E,GAAMlG,WAAWpC,GAAS,IAAIkE,SAASlE,GAASA,GAE3F4mB,GAAMkB,WAAajI,GAEnB+G,GAAMhE,eAAiBA,GAEvBgE,GAAMmB,QAAUnB,GIhFhB,MAAMnE,MACJA,GAAKza,WACLA,GAAU6K,cACVA,GAAaF,SACbA,GAAQqU,YACRA,GAAW3G,QACXA,GAAOkH,IACPA,GAAGD,OACHA,GAAMK,aACNA,GAAYF,OACZA,GAAMhe,WACNA,GAAUiJ,aACVA,GAAYkQ,eACZA,GAAciF,WACdA,GAAUC,WACVA,GAAUlR,YACVA,IACEgQ,GCfSoB,GAAa,CAExBC,SAA4B,oBAAXzsC,QAA2BA,OAAe0sC,oBACtD1sC,OAAe0sC,oBAChBrkB,QAAQ0K,IAAI4Z,yBAA2B,wBAG3CC,QAAS,IAGTC,YAAa,EACbC,YAAa,KCwMR,MAAMC,GAAuB,IAtLpC,MAAA,WAAAlqE,GACmBxX,KAAAwvE,QAAU,GAAG2R,GAAWC,qBACjCphF,KAAA2hF,YAA8F,IAAI7+D,IACzF9iB,KAAA4hF,YAAc,IACd5hF,KAAA6hF,WAAa,EA+KhC,CAzKE,iBAAMC,CAAYxgB,GAChB,IACE,MAAM/L,KAAEA,EAAIwsB,QAAEA,EAAOvsB,UAAEA,EAAY,IAAO8L,EAE1C,IAAK/L,IAASwsB,GAA8B,IAAnBA,EAAQ9+E,OAE/B,OADA6xD,QAAQc,KAAK,2CAA4C0L,IAClD,EAST,eANuBye,GAAMiC,KAAK,GAAGhiF,KAAKwvE,uBAAwB,CAChEja,OACAwsB,UACAvsB,eAGWnG,KAAK4yB,UAChBntB,QAAQhf,IAAI,4BAA4BisC,EAAQ9+E,sBAAsBsyD,MAC/D,EAIX,CAAE,MAAON,GAEP,OADAH,QAAQG,MAAM,0CAA2CA,IAClD,CACT,CACF,CAMA,gBAAMitB,CAAW5gB,GACf,IACE,MAAM/L,KAAEA,EAAI4sB,OAAEA,EAAM3sB,UAAEA,EAAY,IAAO8L,EAEzC,IAAK/L,IAAS4sB,EAEZ,OADArtB,QAAQc,KAAK,2CAA4C0L,IAClD,EAIT,MAAM8gB,EAAW,GAAG7sB,KAAQC,IACtB6sB,EAAgBriF,KAAK2hF,YAAY/gF,IAAIwhF,GAE3C,GAAIC,EAEFxnD,aAAawnD,EAAcha,SAG3Bga,EAAcN,QAAQ5gF,KAAKghF,GAGvBE,EAAcN,QAAQ9+E,QAAUjD,KAAK6hF,iBACjC7hF,KAAKsiF,WAAWF,EAAU7sB,EAAMC,GAGtC6sB,EAAcha,QAAUrsC,WAAW,KACjCh8B,KAAKsiF,WAAWF,EAAU7sB,EAAMC,IAC/Bx1D,KAAK4hF,iBAEL,CAEL,MAAMvZ,EAAUrsC,WAAW,KACzBh8B,KAAKsiF,WAAWF,EAAU7sB,EAAMC,IAC/Bx1D,KAAK4hF,aAER5hF,KAAK2hF,YAAY58D,IAAIq9D,EAAU,CAC7BL,QAAS,CAACI,GACV9Z,WAEJ,CAEA,OAAO,CACT,CAAE,MAAOpT,GAEP,OADAH,QAAQG,MAAM,0CAA2CA,IAClD,CACT,CACF,CAKQ,gBAAMqtB,CAAWF,EAAkB7sB,EAAcC,GACvD,MAAM+sB,EAAQviF,KAAK2hF,YAAY/gF,IAAIwhF,GAE9BG,GAAkC,IAAzBA,EAAMR,QAAQ9+E,SAK5BjD,KAAK2hF,YAAY/yD,OAAOwzD,SAGlBpiF,KAAK8hF,YAAY,CACrBvsB,OACAwsB,QAASQ,EAAMR,QACfvsB,cAEJ,CAKA,gBAAMgtB,CAAWlhB,GACf,IACE,MAAM/L,KAAEA,EAAIC,UAAEA,EAAY,GAAEitB,MAAEA,EAAQ,KAAUnhB,EAEhD,IAAK/L,EAEH,OADAT,QAAQc,KAAK,0CAA2C0L,GACjD,GAGT,MAAMhL,QAAiBypB,GAAMn/E,IAAI,GAAGZ,KAAKwvE,mBAAmBja,IAAQ,CAClE2O,OAAQ,CACN1O,YACAitB,SAGFpa,QAAS,IAETK,eAAiBlH,GAAWA,GAAU,KAAOA,EAAS,MAGxD,GAAIlL,EAASjH,KAAK4yB,SAAW3rB,EAASjH,KAAKA,MAAQiH,EAASjH,KAAKA,KAAK0yB,QAAS,CAC7E,MAAMW,EAAcpsB,EAASjH,KAAKA,KAAK0yB,QAAQ9+E,OAM/C,OALIy/E,EAAc,EAChB5tB,QAAQhf,IAAI,+BAA+B4sC,iBAA2BntB,KAEtET,QAAQhf,IAAI,2CAA2Cyf,iBAElDe,EAASjH,KAAKA,KAAK0yB,OAC5B,CAOA,OAJIzrB,EAASjH,KAAKszB,SAChB7tB,QAAQc,KAAK,sBAAsBU,EAASjH,KAAKszB,WAG5C,EACT,CAAE,MAAO1tB,GAWP,MATmB,iBAAfA,EAAMmM,KACRtM,QAAQG,MAAM,wDAAyDqM,EAAQ/L,MACtEN,EAAMqB,SACfxB,QAAQG,MAAM,kDAAmDA,EAAMqB,SAASkL,OAAQvM,EAAMqB,SAASjH,MAC9F4F,EAAMqM,QACfxM,QAAQG,MAAM,0EAEdH,QAAQG,MAAM,2CAA4CA,EAAMkB,SAE3D,EACT,CACF,CAKA,cAAMysB,GACJ,MAAMC,EAAiC,GAEvC,IAAK,MAAOT,EAAUG,KAAUviF,KAAK2hF,YAAY/8E,UAAW,CAC1Di2B,aAAa0nD,EAAMla,SACnB,MAAO9S,EAAMutB,GAAgBV,EAAShiB,MAAM,KACtC5K,EAAYr+C,SAAS2rE,GAC3BD,EAAc1hF,KAAKnB,KAAKsiF,WAAWF,EAAU7sB,EAAMC,GACrD,OAEMhxD,QAAQk8E,IAAImC,EACpB,GCgHK,MAAME,GAAoB,IAhTjC,MAAA,WAAAvrE,GACUxX,KAAAgjF,WAAqC,CAC3C,KAAM,GACN,KAAM,IACN,MAAO,IACP,MAAO,KACP,KAAM,KACN,KAAM,MACN,KAAM,MAqSV,CA/RE,gBAAAC,CAAiBC,EAAgCC,GAC/C,IAEE,GAAwB,KAApBA,EACF,OAAOD,EAIT,IAAKprE,MAAMC,QAAQmrE,IAAiD,IAA5BA,EAAiBjgF,OAEvD,OADA6xD,QAAQc,KAAK,kDACN,GAIT,MAAMwtB,EAAgB,IAAIF,GAAkBrlD,KAAK,CAAC1zB,EAAG0C,IAAM1C,EAAEqjB,KAAO3gB,EAAE2gB,MAGhE61D,EAAkC,GACxC,IAAIC,EAA6B,GAC7BC,EAAgC,KAEpC,IAAK,MAAMpB,KAAUiB,EAAe,CAElC,MAAMI,EAAax9E,KAAK8T,MAAMqoE,EAAO30D,KAAO21D,GAAmBA,EAM/D,GAJuB,OAAnBI,IACFA,EAAiBC,GAGfA,IAAeD,EAEjBD,EAAaniF,KAAKghF,OACb,CAEL,GAAImB,EAAargF,OAAS,EAAG,CAC3B,MAAMwgF,EAAazjF,KAAK0jF,eAAeJ,EAAcC,GACrDF,EAAkBliF,KAAKsiF,EACzB,CAGAH,EAAe,CAACnB,GAChBoB,EAAiBC,CACnB,CACF,CAGA,GAAIF,EAAargF,OAAS,GAAwB,OAAnBsgF,EAAyB,CACtD,MAAME,EAAazjF,KAAK0jF,eAAeJ,EAAcC,GACrDF,EAAkBliF,KAAKsiF,EACzB,CAIA,OAFA3uB,QAAQhf,IAAI,qCAAqCotC,EAAiBjgF,0BAA0BogF,EAAkBpgF,UAAUjD,KAAK2jF,kBAAkBR,cAExIE,CAET,CAAE,MAAOpuB,GAEP,OADAH,QAAQG,MAAM,mDAAoDA,GAC3D,EACT,CACF,CAKQ,cAAAyuB,CAAe3B,EAAuBv0D,GAE5C,MAAMo2D,EAAS,IAAI7B,GAASlkD,KAAK,CAAC1zB,EAAG0C,IAAM1C,EAAEqjB,KAAO3gB,EAAE2gB,MAGhD++B,EAAOq3B,EAAO,GAAGr3B,KACjBG,EAAQk3B,EAAOA,EAAO3gF,OAAS,GAAGypD,MAClCF,EAAOxmD,KAAK2Q,OAAOitE,EAAOvoE,IAAItP,GAAKA,EAAEygD,OACrCC,EAAMzmD,KAAK0Q,OAAOktE,EAAOvoE,IAAItP,GAAKA,EAAE0gD,MACpCyL,EAAS0rB,EAAOzwD,OAAO,CAAC0wD,EAAK93E,IAAM83E,GAAO93E,EAAEmsD,QAAU,GAAI,GAEhE,MAAO,CACL1qC,OACA++B,OACAC,OACAC,MACAC,QACAwL,SAEJ,CAKA,iBAAAyrB,CAAkBG,GAChB,IAAK,MAAOr5C,EAAO9kC,KAAUjF,OAAOkE,QAAQ5E,KAAKgjF,YAC/C,GAAIr9E,IAAUm+E,EACZ,OAAOr5C,EAGX,MAAO,GAAGq5C,IACZ,CAKA,mBAAAC,CAAoBt5C,GAClB,OAAOzqC,KAAKgjF,WAAWv4C,IAAU,EACnC,CAMA,QAAAu5C,CAASjC,EAAuBkC,GAC9B,IACE,IAAKnsE,MAAMC,QAAQgqE,IAAYA,EAAQ9+E,OAAS,EAC9C,OAAO8+E,EAGT,MAAM6B,EAAS,IAAI7B,GAASlkD,KAAK,CAAC1zB,EAAG0C,IAAM1C,EAAEqjB,KAAO3gB,EAAE2gB,MAChD02D,EAAuB,GAE7B,IAAK,IAAIh4E,EAAI,EAAGA,EAAI03E,EAAO3gF,OAAS,EAAGiJ,IAAK,CAC1C,MAAMisD,EAAUyrB,EAAO13E,GACjBjL,EAAO2iF,EAAO13E,EAAI,GAExBg4E,EAAO/iF,KAAKg3D,GAIZ,IAAIgsB,EADqBhsB,EAAQ3qC,KAAOy2D,EAGxC,KAAOE,EAAcljF,EAAKusB,MAExB02D,EAAO/iF,KAAK,CACVqsB,KAAM22D,EACN53B,KAAM4L,EAAQzL,MACdF,KAAM2L,EAAQzL,MACdD,IAAK0L,EAAQzL,MACbA,MAAOyL,EAAQzL,MACfwL,OAAQ,IAGVisB,GAAeF,CAEnB,CASA,OANAC,EAAO/iF,KAAKyiF,EAAOA,EAAO3gF,OAAS,IAE/BihF,EAAOjhF,OAAS2gF,EAAO3gF,QACzB6xD,QAAQhf,IAAI,iCAAiCouC,EAAOjhF,OAAS2gF,EAAO3gF,kBAAkBjD,KAAK2jF,kBAAkBM,cAGxGC,CAET,CAAE,MAAOjvB,GAEP,OADAH,QAAQG,MAAM,4CAA6CA,GACpD8sB,CACT,CACF,CAMA,gBAAAqC,CAAiBlB,EAAgCC,GAC/C,IACE,IAAKrrE,MAAMC,QAAQmrE,IAAiD,IAA5BA,EAAiBjgF,OACvD,OAAO,KAGT,MAAM+tB,EAAMhrB,KAAK8T,MAAMm4B,KAAKjhB,MAAQ,KAC9BqzD,EAAgBr+E,KAAK8T,MAAMkX,EAAMmyD,GAAmBA,EAGpDG,EAAeJ,EAAiB7hF,OAAO0K,GAC5B/F,KAAK8T,MAAM/N,EAAEyhB,KAAO21D,GAAmBA,IACpCkB,GAGpB,OAA4B,IAAxBf,EAAargF,OACR,KAGFjD,KAAK0jF,eAAeJ,EAAce,EAE3C,CAAE,MAAOpvB,GAEP,OADAH,QAAQG,MAAM,sDAAuDA,GAC9D,IACT,CACF,CAMA,oBAAAqvB,CACEjB,EACAkB,EACApB,GAEA,IACE,IAAKoB,EACH,OAAOlB,EAIT,MAAMG,EAAax9E,KAAK8T,MAAMyqE,EAAmB/2D,KAAO21D,GAAmBA,EAGrEqB,EAAgBnB,EAAkB5rE,UAAU1L,GAAKA,EAAEyhB,OAASg2D,GAElE,GAAIgB,GAAiB,EAAG,CAEtB,MAAMC,EAAWpB,EAAkBmB,GAC7BE,EAAsB,CAC1Bl3D,KAAMg2D,EACNj3B,KAAMk4B,EAASl4B,KACfC,KAAMxmD,KAAK2Q,IAAI8tE,EAASj4B,KAAM+3B,EAAmB/3B,MACjDC,IAAKzmD,KAAK0Q,IAAI+tE,EAASh4B,IAAK83B,EAAmB93B,KAC/CC,MAAO63B,EAAmB73B,MAC1BwL,OAAQusB,EAASvsB,QAAUqsB,EAAmBrsB,QAAU,IAIpDysB,EAAa,IAAItB,GAEvB,OADAsB,EAAWH,GAAiBE,EACrBC,CACT,CAAO,CAEL,MAAMC,EAAwB,CAC5Bp3D,KAAMg2D,EACNj3B,KAAMg4B,EAAmBh4B,KACzBC,KAAM+3B,EAAmB/3B,KACzBC,IAAK83B,EAAmB93B,IACxBC,MAAO63B,EAAmB73B,MAC1BwL,OAAQqsB,EAAmBrsB,QAAU,GAGvC,MAAO,IAAImrB,EAAmBuB,GAAW/mD,KAAK,CAAC1zB,EAAG0C,IAAM1C,EAAEqjB,KAAO3gB,EAAE2gB,KACrE,CAEF,CAAE,MAAOynC,GAEP,OADAH,QAAQG,MAAM,wDAAyDA,GAChEouB,CACT,CACF,CAKA,aAAAwB,CAAc1C,GACZ,OACEA,GACuB,iBAAhBA,EAAO30D,MACS,iBAAhB20D,EAAO51B,MACS,iBAAhB41B,EAAO31B,MACQ,iBAAf21B,EAAO11B,KACU,iBAAjB01B,EAAOz1B,OACdy1B,EAAO31B,MAAQ21B,EAAO11B,KACtB01B,EAAO31B,MAAQ21B,EAAO51B,MACtB41B,EAAO31B,MAAQ21B,EAAOz1B,OACtBy1B,EAAO11B,KAAO01B,EAAO51B,MACrB41B,EAAO11B,KAAO01B,EAAOz1B,KAEzB,CAKA,YAAAo4B,CAAa/C,GACX,IAAKjqE,MAAMC,QAAQgqE,GACjB,MAAO,GAGT,MAAMgD,EAAUhD,EAAQ1gF,OAAO0K,GAAK/L,KAAK6kF,cAAc94E,IAMvD,OAJIg5E,EAAQ9hF,OAAS8+E,EAAQ9+E,QAC3B6xD,QAAQc,KAAK,kCAAkCmsB,EAAQ9+E,OAAS8hF,EAAQ9hF,0BAGnE8hF,CACT,CAKA,2BAAAC,CAA4B7B,EAAyB8B,EAAsB,KACzE,MAAMv/E,EAAQy9E,EAAkB,GAChC,OAAOn9E,KAAK+Z,KAAKklE,EAAcv/E,EACjC,GC3RIw/E,GAAmC,EACvC3vB,OACA4vB,SACAC,YACA9wB,OAAQ+wB,EACR7wB,YAAa8wB,EACbjuB,iBAAkBkuB,EAClBC,mBAAoBC,EACpBC,iBAAkBC,MAGlB,MAAMC,EAAoBC,EAAAA,OAAuB,MAC3CC,EAAWD,EAAAA,OAAyB,MACpCE,EAAYF,EAAAA,OAAyC,OAGpDG,EAAWC,GAAgB1xB,EAAAA,SAAuB,KAClD2uB,EAAkBgD,GAAuB3xB,EAAAA,SAAuB,KAChE8C,EAAkB8uB,GAAuB5xB,EAAAA,SAAiB,IAC1DoC,EAASC,GAAcrC,EAAAA,UAAkB,IACzCU,EAAO4B,GAAYtC,EAAAA,SAAwB,MAO5C6xB,EAAqBhyB,KACrBE,EAAS+wB,GAAkBe,EAAmB9xB,OAC9CE,OAAsC1uD,IAAxBw/E,EAAoCA,EAAsBc,EAAmB5xB,YAG3F6xB,EAAoB9vB,KACpB+vB,OAA0CxgF,IAAtBy/E,EAAkCA,EAAoBc,EAAkBhvB,iBAC5FmuB,OAAoD1/E,IAA/B2/E,EAA2CA,EAA6BY,EAAkBnxB,UAC/GwwB,OAAgD5/E,IAA7B6/E,EAAyCA,EAA2BU,EAAkB1vB,QAGzG4vB,EAA0BrvB,EAAAA,QAAQ,IAAM,CAC5C,CAAEzsB,MAAO,KAAM9kC,MAAO,KAAMm+E,QAAS,IACrC,CAAEr5C,MAAO,KAAM9kC,MAAO,KAAMm+E,QAAS,KACrC,CAAEr5C,MAAO,MAAO9kC,MAAO,MAAOm+E,QAAS,KACvC,CAAEr5C,MAAO,KAAM9kC,MAAO,KAAMm+E,QAAS,MACrC,CAAEr5C,MAAO,KAAM9kC,MAAO,KAAMm+E,QAAS,OACrC,CAAEr5C,MAAO,KAAM9kC,MAAO,KAAMm+E,QAAS,QACpC,KAEI0C,EAAkBC,GAAuBlyB,EAAAA,SAAoBgyB,EAAW,IAGzEG,EAAkBrxB,cAAa1vD,GAC/BA,GAAS,IAEJ,KAAKA,EAAQ,KAAekhB,QAAQlhB,GAAS,KAAiB,EAAI,MAChEA,GAAS,IAEX,KAAKA,EAAQ,KAAWkhB,QAAQlhB,GAAS,IAAa,EAAI,MACxDA,GAAS,IAEX,KAAKA,EAAQ,KAAOkhB,QAAQlhB,GAAS,IAAU,EAAI,MACjDA,GAAS,IAEX,KAAKA,EAAQ,KAAOkhB,QAAQ,MAC1BlhB,GAAS,EAEX,IAAIA,EAAMkhB,QAAQ,KAGpB,IAAIlhB,EAAMkhB,QAAQ,KACxB,IAGG8/D,EAAoBtxB,cAAa0sB,IACrC,GAAIA,EAAQ9+E,OAAS,EAAG,OAAO8+E,EAE/B,MAAMqB,EAAgB,IAAIrB,GAASlkD,KAAK,CAAC1zB,EAAG0C,IAAM1C,EAAEqjB,KAAO3gB,EAAE2gB,MACvDo5D,EAA8B,GAEpC,IAAK,IAAI16E,EAAI,EAAGA,EAAIk3E,EAAcngF,OAAS,EAAGiJ,IAAK,CACjD,MAAM26E,EAAgBzD,EAAcl3E,GAC9B46E,EAAa1D,EAAcl3E,EAAI,GAErC06E,EAAczlF,KAAK0lF,GAGnB,MACME,GADWD,EAAWt5D,KAAOq5D,EAAcr5D,MACd,GAGnC,GAAIu5D,EAAkB,IAAK,CACzB,MAAMC,EAAahhF,KAAK8T,MAAMitE,GAAmB,EAC3CE,EAAiBJ,EAAcn6B,MAErC,IAAK,IAAI9zC,EAAI,EAAGA,GAAKouE,EAAYpuE,IAAK,CACpC,MAAMsuE,EAAYL,EAAcr5D,KAAY,GAAJ5U,EACxCguE,EAAczlF,KAAK,CACjBqsB,KAAM05D,EACN36B,KAAM06B,EACNz6B,KAAMy6B,EACNx6B,IAAKw6B,EACLv6B,MAAOu6B,EACP/uB,OAAQ,GAEZ,CACF,CACF,CAKA,OAFA0uB,EAAczlF,KAAKiiF,EAAcA,EAAcngF,OAAS,IAEjD2jF,GACN,IAGGO,EAA0B9xB,EAAAA,YAAY2f,MAAOzf,EAAcC,EAAmB4xB,EAAa,EAAG3E,EAAQ,OAI1G,IACE3tB,QAAQhf,IAAI,gDAAgDyf,iBAAoBC,cAAsBitB,KAAS2E,EAAa,EAAI,WAAWA,KAAgB,MAE3J,MAAMrF,QAAgBL,GAAqBc,WAAW,CACpDjtB,OACAC,UAAWA,EACXitB,MAAOA,IAIT,OADA3tB,QAAQhf,IAAI,oBAAoBisC,EAAQ9+E,oCAAoCsyD,iBAAoBC,OACzFusB,CACT,CAAE,MAAO9sB,GAIP,OAHAH,QAAQG,MAAM,0DAA0DmyB,EAAa,MAAOnyB,GAGxFmyB,EAlBc,IAkB8B,iBAAfnyB,EAAMmM,MAA0C,cAAfnM,EAAMmM,MAAwBnM,EAAMkB,SAASt+C,SAAS,aACtHi9C,QAAQhf,IAAI,sDACN,IAAItxC,QAAQC,GAAWu3B,WAAWv3B,EAnBxB,MAoBT0iF,EAAwB5xB,EAAMC,EAAW4xB,EAAY3E,IAIvD,EACT,GACC,IAKH7tB,EAAAA,UAAU,KACR,IAAKgxB,EAAkBztB,QAAS,OAGhC,MAAMpI,EAAQs3B,GAAYzB,EAAkBztB,QAAS,CACnDn/C,OAAQ,CACNk4B,WAAY,CAAE/nC,MAAO,WACrB8P,UAAW,WAEbslB,KAAM,CACJE,UAAW,CAAEt1B,MAAO,WACpBq1B,UAAW,CAAEr1B,MAAO,YAEtB+T,UAAW,CACT1B,KAAM8rE,GAAchlE,QAEtBiiB,gBAAiB,CACf97B,YAAa,WAEf8lC,UAAW,CACT9lC,YAAa,UACbsrC,aAAa,EACbE,gBAAgB,EAChBtL,YAAa,GACbrb,WAAY,EACZ+b,cAAe,GAEjB7pC,OAAQ,IACRklC,aAAc,CACZd,eAAiBt5B,GAAkBo8E,EAAgBp8E,IAErDokC,UAAW,CACTzjC,SAAS,EACTkO,SAAU,GACVu0B,UAAW,SACXC,UAAW,SACXxkC,MAAO,sBACPmqB,KAAM6xD,EAAS,GAAGA,QAAe,GAAG5vB,EAAK0U,UAAU,EAAG,QAAQ1U,EAAK0U,UAAU1U,EAAKtyD,OAAS,YAI/F6iF,EAAS3tB,QAAUpI,EAGnB,MAAMC,EAASD,EAAM6C,qBAAqB,CACxCvqD,QAAS,UACTC,UAAW,UACXE,eAAe,EACfE,cAAe,UACfC,gBAAiB,UACjBE,YAAa,UACbC,cAAe,YAGjBi9E,EAAU5tB,QAAUnI,EAIpB,MAAMu3B,EAAoB,IACpBC,EAAwD,KAA7BhB,EAAiB1C,QAAiByD,EACjExE,GAAkBiC,4BAA4BwB,EAAiB1C,QAASyD,GAE1EzyB,QAAQhf,IAAI,2BAA2B0xC,gCAAsEhB,EAAiB/7C,iBAE9H08C,EAAwB5xB,EAAM,GAAI,EAAGiyB,GAA0BpiF,KAAKqiF,IAClE,GAAIA,EAAgBxkF,OAAS,EAAG,CAE9B,MAAMykF,EAAgBD,EAAgBt0D,OAAO,CAACw0D,EAAKxF,KACjD,MAAMqC,EAAgBmD,EAAIlwE,UAAU1L,GAAKA,EAAEyhB,OAAS20D,EAAO30D,MAM3D,OALIg3D,GAAiB,EACnBmD,EAAInD,GAAiBrC,EAErBwF,EAAIxmF,KAAKghF,GAEJwF,GACN,IAEGvE,EAAgBsE,EAAc7pD,KAAK,CAAC1zB,EAAG0C,IAAM1C,EAAEqjB,KAAO3gB,EAAE2gB,MAGxDo6D,EAAexE,EAAc/hF,OAAO,CAAC8gF,EAAQ/6C,EAAOygD,IAC1C,IAAVzgD,GACG+6C,EAAO30D,OAASq6D,EAAMzgD,EAAQ,GAAG5Z,MAI1C04D,EAAoB0B,GACpB9yB,QAAQhf,IAAI,oBAAoB8xC,EAAa3kF,sDAAsDujF,EAAiB/7C,UAGpH,MAAMm8C,EAAgBD,EAAkBiB,GAWxC,GAVIhB,EAAc3jF,OAAS2kF,EAAa3kF,SACtC6xD,QAAQhf,IAAI,qBAAqB8wC,EAAc3jF,OAAS2kF,EAAa3kF,8BACrEgjF,EAAaW,GACb52B,EAAOjB,QAAQ63B,EAAcvrE,IAAI8mE,IAAM,IAClCA,EACH30D,KAAM20D,EAAO30D,UAKb8mC,GAAUE,EAAa,CACzB,MAAMszB,EAAmBlB,EAAcA,EAAc3jF,OAAS,IAAIuqB,MAAQ,EACpE22D,EAAcn+E,KAAK8T,MAAMm4B,KAAKjhB,MAAQ,KACtC+2D,EAAyB/hF,KAAK8T,OAAOqqE,EAAc2D,GAAoB,IAEzEC,EAAyB,GAAKA,EAAyB,KACzDjzB,QAAQhf,IAAI,yBAAyBiyC,+CACrCzzB,EAAOuB,KAAK,uBAAwB,CAClCN,OACA0uB,UAAW,GACX+D,MAAOF,KAKXhzB,QAAQhf,IAAI,kEACZwe,EAAOuB,KAAK,uBAAwB,CAClCN,OACA0uB,UAAW,IAEf,CAGA,MAAME,EAAcn+E,KAAK8T,MAAMm4B,KAAKjhB,MAAQ,KACtCi3D,EAA+C,GAA/BjiF,KAAK8T,MAAMqqE,EAAc,IACzC+D,EAAyBtB,EAAch/B,KAAK77C,GAAKA,EAAEyhB,OAASy6D,GAElE,IAAKC,EAAwB,CAC3BpzB,QAAQhf,IAAI,yEAGW8wC,EAAc3jF,OAAS,EAC5C2jF,EAAcA,EAAc3jF,OAAS,GAAGypD,MACvC45B,GAAqB,GAEH,GAYnBxxB,QAAQhf,IAAI,mEAEhB,CACF,MACEgf,QAAQhf,IAAI,wDAAwDyf,iCAGtEqB,GAAW,KACVzxD,MAAM8vD,IACPH,QAAQG,MAAM,iDAAkDA,GAChE2B,GAAW,KAIb,MAAMuxB,EAAe,KACfvC,EAAkBztB,SACpBpI,EAAM3B,aAAa,CACjB7uD,MAAOqmF,EAAkBztB,QAAQ11D,eAQvC,OAHAkyC,OAAOgG,iBAAiB,SAAUwtC,GAClCA,IAEO,KACLxzC,OAAO+F,oBAAoB,SAAUytC,GACrCp4B,EAAMoC,WAEP,CAACoD,EAAM4xB,EAAyBT,EAAiBF,IAGpD,MAAM4B,EAAwB/yB,cAAY2f,MAAOqT,IAC/C,MAAMC,EAAe/B,EAAWlgF,KAAKiwC,GAAMA,EAAG3wC,QAAU0iF,GACxD,GAAIC,GAAgBA,EAAa3iF,QAAU6gF,EAAiB7gF,MAAO,CACjEmvD,QAAQhf,IAAI,uCAAuC0wC,EAAiB/7C,YAAY69C,EAAa79C,SAE7Fg8C,EAAoB6B,GACpB1xB,GAAW,GAGXqvB,EAAa,IACTF,EAAU5tB,SACZ4tB,EAAU5tB,QAAQpJ,QAAQ,IAG5B,IAEE,MAAMw4B,EAAoB,IACpBC,EAAoD,KAAzBc,EAAaxE,QAAiByD,EAC7DxE,GAAkBiC,4BAA4BsD,EAAaxE,QAASyD,GAKtE,GAHAzyB,QAAQhf,IAAI,2BAA2BwyC,EAAa79C,eAAe+8C,sBAA6CtE,EAAiBjgF,UAG7HigF,EAAiBjgF,OAASukF,EAA0B,CACtD1yB,QAAQhf,IAAI,sBAAsB0xC,0BAAiDD,KAAqBe,EAAa79C,iBAGrH,MAAMs3C,QAAgBoF,EAAwB5xB,EAAM,GAAI,EAAGiyB,GAEvDzF,EAAQ9+E,OAAS,GACnBijF,EAAoBnE,GACpBjtB,QAAQhf,IAAI,oBAAoBisC,EAAQ9+E,mCAAmC+C,KAAK8T,MAAuB,GAAjBioE,EAAQ9+E,OAAcqlF,EAAaxE,YAAYwE,EAAa79C,kBAElJqqB,QAAQhf,IAAI,gDAAgDotC,EAAiBjgF,oBAEjF,MACE6xD,QAAQhf,IAAI,6CAA6CotC,EAAiBjgF,8BAA8BqlF,EAAa79C,QAGzH,CAAE,MAAOwqB,GACPH,QAAQG,MAAM,gCAAgCqzB,EAAa79C,SAAUwqB,EACvE,SACE2B,GAAW,EACb,CACF,GACC,CAAC2vB,EAAYC,EAAkBjxB,EAAM4xB,EAAyBjE,IAGjEtuB,EAAAA,UAAU,MACHW,IAASwwB,EAAU5tB,SAAWmuB,GAAqB,IAExDxxB,QAAQhf,IAAI,4DAA4DwwC,SAAyB/wB,MAASixB,EAAiB/7C,UAG3H07C,EAAoBG,GACpB1vB,GAAW,GAGPkvB,EAAS3tB,SACX2tB,EAAS3tB,QAAQ5pB,YAAYmiB,qBAE9B,CAAC6E,EAAM+wB,EAAmBE,IAG7B5xB,EAAAA,UAAU,KACR,IAAKN,IAAWE,IAAgBe,EAAM,OAGtC,MAAMgzB,EAA6Bl5B,IAC7BA,EAAKkG,OAASA,GAA2B,KAAnBlG,EAAK40B,YAE/BnvB,QAAQhf,IAAI,gEAAiEuZ,EAAK8yB,QAIlF+D,EAAoBsC,IAClB,MAAM/D,EAAW,IAAI+D,GAGfhE,EAAgBC,EAAShtE,UAAU1L,GAAKA,EAAEyhB,OAAS6hC,EAAK8yB,OAAO30D,MAarE,OAXIg3D,GAAiB,GAEnBC,EAASD,GAAiBn1B,EAAK8yB,OAC/BrtB,QAAQhf,IAAI,mDAAmD,IAAI7D,KAAwB,IAAnBod,EAAK8yB,OAAO30D,MAAai7D,0BAGjGhE,EAAStjF,KAAKkuD,EAAK8yB,QACnBsC,EAAS5mD,KAAK,CAAC1zB,EAAG0C,IAAM1C,EAAEqjB,KAAO3gB,EAAE2gB,MACnCsnC,QAAQhf,IAAI,4CAA4C,IAAI7D,KAAwB,IAAnBod,EAAK8yB,OAAO30D,MAAai7D,yBAGrFhE,MAILiE,EAA+Br5B,IAC/BA,EAAKkG,OAASA,GAAQlG,EAAK8yB,SAC7BrtB,QAAQhf,IAAI,2DAA2D,IAAI7D,KAAwB,IAAnBod,EAAK8yB,OAAO30D,MAAai7D,wBAGzGvC,EAAoBsC,IAClB,MAAMG,EAAiBH,EAAKniF,KAAK0F,GAAKA,EAAEyhB,OAAS6hC,EAAK8yB,OAAO30D,MAC7D,GAAIm7D,EAEF,OADA7zB,QAAQhf,IAAI,6CACL0yC,EAGT,MAAMI,EAAU,IAAIJ,EAAMn5B,EAAK8yB,QAAQtkD,KAAK,CAAC1zB,EAAG0C,IAAM1C,EAAEqjB,KAAO3gB,EAAE2gB,MAEjE,OADAsnC,QAAQhf,IAAI,8DAA8DuZ,EAAK8yB,OAAO30D,QAC/Eo7D,MAKPC,EAA+Bx5B,IAC/BA,EAAKkG,OAASA,GAAQlG,EAAK0yB,SAAWjqE,MAAMC,QAAQs3C,EAAK0yB,WAC3DjtB,QAAQhf,IAAI,4BAA4BuZ,EAAK0yB,QAAQ9+E,sCAErDijF,EAAoBsC,IAClB,MAAM7D,EAAat1B,EAAK0yB,QAAQ1gF,OAAQujF,IACrC4D,EAAK5gC,KAAK68B,GAAYA,EAASj3D,OAASo3D,EAAUp3D,OAGrD,GAAIm3D,EAAW1hF,OAAS,EAAG,CACzB,MAAM6lF,EAAc,IAAIN,KAAS7D,GAAY9mD,KAAK,CAAC1zB,EAAG0C,IAAM1C,EAAEqjB,KAAO3gB,EAAE2gB,MAEvE,OADAsnC,QAAQhf,IAAI,wBAAwB6uC,EAAW1hF,8CACxC6lF,CACT,CAEA,OAAON,MAWb,OAJAl0B,EAAOv1B,GAAG,eAAgB2pD,GAC1Bp0B,EAAOv1B,GAAG,wBAAyB8pD,GACnCv0B,EAAOv1B,GAAG,sBAAuBwpD,GAE1B,KACLj0B,EAAOa,IAAI,eAAgBuzB,GAC3Bp0B,EAAOa,IAAI,wBAAyB0zB,GACpCv0B,EAAOa,IAAI,sBAAuBozB,KAEnC,CAACj0B,EAAQE,EAAae,IAMzB,MAAMwzB,EAA0B1zB,EAAAA,YAAY,KAC1C,GAAK0wB,EAAU5tB,SAAuC,IAA5B+qB,EAAiBjgF,OAE3C,IACE,IAAI+lF,EAA+B,GAEnC,GAAiC,KAA7BxC,EAAiB1C,QAEnBkF,EAAiB9F,EAAiB38D,OAAO,KACzCuuC,QAAQhf,IAAI,yBAAyBkzC,EAAe/lF,2BAA2BigF,EAAiBjgF,yBAC3F,CAEL+lF,EAAiBjG,GAAkBE,iBAAiBC,EAAkBsD,EAAiB1C,SAEvFhvB,QAAQhf,IAAI,yBAAyBotC,EAAiBjgF,0BAA0B+lF,EAAe/lF,UAAUujF,EAAiB/7C,mCAI1H,MAAMzZ,EAAMhrB,KAAK8T,MAAMm4B,KAAKjhB,MAAQ,KAC9BqzD,EAAgBr+E,KAAK8T,MAAMkX,EAAMw1D,EAAiB1C,SAAW0C,EAAiB1C,QAGpF,GAAIkF,EAAe/lF,OAAS,EAAG,CAG7B,GAFmB+lF,EAAeA,EAAe/lF,OAAS,GAE3CuqB,OAAS62D,EAAe,CAErC,MAAM4E,EAAuB/F,EAAiB7hF,OAAO0K,GACpC/F,KAAK8T,MAAM/N,EAAEyhB,KAAOg5D,EAAiB1C,SAAW0C,EAAiB1C,UAC9DO,GAGhB4E,EAAqBhmF,OAAS,EAChC6xD,QAAQhf,IAAI,kCAAkC0wC,EAAiB/7C,qBAAqBw+C,EAAqBhmF,sBAGzG+lF,EAAiBA,EAAeziE,MAAM,GAAI,GAC1CuuC,QAAQhf,IAAI,gCAAgC0wC,EAAiB/7C,8BAEjE,CACF,CAGAu+C,EAAiBjG,GAAkBiB,SAASgF,EAAgBxC,EAAiB1C,SAGzEkF,EAAe/lF,OAAS,MAC1B+lF,EAAiBA,EAAeziE,OAAO,KACvCuuC,QAAQhf,IAAI,oCAAoC0wC,EAAiB/7C,kBAGnEqqB,QAAQhf,IAAI,6BAA6BkzC,EAAe/lF,UAAUujF,EAAiB/7C,gBACrF,CAGAw7C,EAAa+C,GACbjD,EAAU5tB,QAAQpJ,QAAQi6B,EAAe3tE,IAAI8mE,IAAM,IAC9CA,EACH30D,KAAM20D,EAAO30D,SAIXs4D,EAAS3tB,SACX2tB,EAAS3tB,QAAQ5pB,YAAYmiB,kBAGjC,CAAE,MAAOuE,GACPH,QAAQG,MAAM,uCAAwCA,EACxD,GACC,CAACiuB,EAAkBsD,IAwBtB,OArBA5xB,EAAAA,UAAU,KACHmxB,EAAU5tB,SAAuC,IAA5B+qB,EAAiBjgF,QAG3C8lF,KAEC,CAAC7F,EAAkBsD,EAAkBuC,IAGxCn0B,EAAAA,UAAU,KACR,IAAK+B,GAAW+uB,KAAsBM,EAAU/iF,OAAQ,CACtD,MAAMolE,EAAUrsC,WAAW,KACzB46B,GAAW,IACV,KAEH,MAAO,IAAM/7B,aAAawtC,EAC5B,GACC,CAAC1R,EAAS+uB,EAAkBM,EAAU/iF,SAIrCgyD,EAEAi0B,EAAA/xC,cAAA,MAAA,CAAKgyC,UAAU,kDACbD,EAAA/xC,cAAA,MAAA,CAAKgyC,UAAU,4BAA0B,eACzCD,EAAA/xC,cAAA,MAAA,CAAKgyC,UAAU,wBAAwBl0B,GACvCi0B,EAAA/xC,cAAA,SAAA,CACEiyC,QAAS,IAAMvyB,EAAS,MACxBsyB,UAAU,2EAAyE,YASzFD,EAAA/xC,cAAA,MAAA,CAAKgyC,UAAU,UAEbD,EAAA/xC,cAAA,MAAA,CAAKgyC,UAAU,0CACbD,EAAA/xC,cAAA,MAAA,CAAKgyC,UAAU,wBACZ5C,EAAWlrE,IAAKi7B,GACf4yC,0BACE5/C,IAAKgN,EAAG3wC,MACRyjF,QAAS,IAAMhB,EAAsB9xC,EAAG3wC,OACxCwjF,UAAW,iGAEP3C,EAAiB7gF,QAAU2wC,EAAG3wC,MAC5B,yBACA,iEAIL2wC,EAAG7L,SAQVy+C,EAAA/xC,cAAA,MAAA,CAAKgyC,UAAU,2CACbD,EAAA/xC,cAAA,MAAA,CAAKgyC,UAAW,yBAAwB3D,EAAqB,eAAiB,gBAC9E0D,EAAA/xC,cAAA,OAAA,CAAMgyC,UAAW3D,EAAqB,iBAAmB,gBACtDA,EAAqB,YAAc,iBAEpC7uB,GAAW+uB,IAAqBwD,EAAA/xC,cAAA,OAAA,CAAMgyC,UAAU,iBAAe,gBAChEnD,EAAU/iF,OAAS,GAClBimF,EAAA/xC,cAAA,OAAA,CAAMgyC,UAAU,uBAAoBnD,EAAU/iF,qBAAmByjF,EAAgBrvB,MAMvF6xB,EAAA/xC,cAAA,MAAA,CAAKkyC,IAAKzD,EAAmBuD,UAAU,yBAEnCxyB,GAAW+uB,IACXwD,EAAA/xC,cAAA,MAAA,CAAKgyC,UAAU,4FACbD,EAAA/xC,cAAA,MAAA,CAAKgyC,UAAU,eACbD,EAAA/xC,cAAA,MAAA,CAAKgyC,UAAU,8EACfD,EAAA/xC,cAAA,MAAA,CAAKgyC,UAAU,iBAAe,gCAOlCxyB,IAAY+uB,GAAyC,IAArBM,EAAU/iF,QAC1CimF,EAAA/xC,cAAA,MAAA,CAAKgyC,UAAU,4FACbD,EAAA/xC,cAAA,MAAA,CAAKgyC,UAAU,eACbD,EAAA/xC,cAAA,MAAA,CAAKgyC,UAAU,sBAAoB,4BACnCD,EAAA/xC,cAAA,MAAA,CAAKgyC,UAAU,yBAAuB","x_google_ignoreList":[0,1,2,3,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56]}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../node_modules/fancy-canvas/size.mjs","../node_modules/fancy-canvas/device-pixel-ratio.mjs","../node_modules/fancy-canvas/canvas-element-bitmap-size.mjs","../node_modules/fancy-canvas/canvas-rendering-target.mjs","../node_modules/lightweight-charts/dist/lightweight-charts.production.mjs","../src/hooks/useSocket.ts","../src/hooks/useOptimizedTokenAnalytics.ts","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/utils.js","../node_modules/axios/lib/core/AxiosError.js","../node_modules/axios/lib/helpers/toFormData.js","../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/defaults/transitional.js","../node_modules/axios/lib/platform/browser/index.js","../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../node_modules/axios/lib/platform/browser/classes/FormData.js","../node_modules/axios/lib/platform/browser/classes/Blob.js","../node_modules/axios/lib/platform/common/utils.js","../node_modules/axios/lib/platform/index.js","../node_modules/axios/lib/helpers/formDataToJSON.js","../node_modules/axios/lib/defaults/index.js","../node_modules/axios/lib/helpers/toURLEncodedForm.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/core/AxiosHeaders.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/cancel/CanceledError.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/helpers/progressEventReducer.js","../node_modules/axios/lib/helpers/speedometer.js","../node_modules/axios/lib/helpers/throttle.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/helpers/resolveConfig.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/helpers/parseProtocol.js","../node_modules/axios/lib/helpers/composeSignals.js","../node_modules/axios/lib/helpers/trackStream.js","../node_modules/axios/lib/adapters/fetch.js","../node_modules/axios/lib/adapters/adapters.js","../node_modules/axios/lib/helpers/null.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/env/data.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/helpers/HttpStatusCode.js","../node_modules/axios/lib/axios.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/isAxiosError.js","../node_modules/axios/index.js","../src/config/environment.ts","../src/services/candleStorage.ts","../src/utils/candleAggregation.ts","../src/components/FunhiChart.tsx"],"sourcesContent":["export function size(_a) {\n var width = _a.width, height = _a.height;\n if (width < 0) {\n throw new Error('Negative width is not allowed for Size');\n }\n if (height < 0) {\n throw new Error('Negative height is not allowed for Size');\n }\n return {\n width: width,\n height: height,\n };\n}\nexport function equalSizes(first, second) {\n return (first.width === second.width) &&\n (first.height === second.height);\n}\n","var Observable = /** @class */ (function () {\n function Observable(win) {\n var _this = this;\n this._resolutionListener = function () { return _this._onResolutionChanged(); };\n this._resolutionMediaQueryList = null;\n this._observers = [];\n this._window = win;\n this._installResolutionListener();\n }\n Observable.prototype.dispose = function () {\n this._uninstallResolutionListener();\n this._window = null;\n };\n Object.defineProperty(Observable.prototype, \"value\", {\n get: function () {\n return this._window.devicePixelRatio;\n },\n enumerable: false,\n configurable: true\n });\n Observable.prototype.subscribe = function (next) {\n var _this = this;\n var observer = { next: next };\n this._observers.push(observer);\n return {\n unsubscribe: function () {\n _this._observers = _this._observers.filter(function (o) { return o !== observer; });\n },\n };\n };\n Observable.prototype._installResolutionListener = function () {\n if (this._resolutionMediaQueryList !== null) {\n throw new Error('Resolution listener is already installed');\n }\n var dppx = this._window.devicePixelRatio;\n this._resolutionMediaQueryList = this._window.matchMedia(\"all and (resolution: \".concat(dppx, \"dppx)\"));\n // IE and some versions of Edge do not support addEventListener/removeEventListener, and we are going to use the deprecated addListener/removeListener\n this._resolutionMediaQueryList.addListener(this._resolutionListener);\n };\n Observable.prototype._uninstallResolutionListener = function () {\n if (this._resolutionMediaQueryList !== null) {\n // IE and some versions of Edge do not support addEventListener/removeEventListener, and we are going to use the deprecated addListener/removeListener\n this._resolutionMediaQueryList.removeListener(this._resolutionListener);\n this._resolutionMediaQueryList = null;\n }\n };\n Observable.prototype._reinstallResolutionListener = function () {\n this._uninstallResolutionListener();\n this._installResolutionListener();\n };\n Observable.prototype._onResolutionChanged = function () {\n var _this = this;\n this._observers.forEach(function (observer) { return observer.next(_this._window.devicePixelRatio); });\n this._reinstallResolutionListener();\n };\n return Observable;\n}());\nexport function createObservable(win) {\n return new Observable(win);\n}\n","import { equalSizes, size } from \"./size.mjs\";\nimport { createObservable as createDevicePixelRatioObservable } from \"./device-pixel-ratio.mjs\";\nvar DevicePixelContentBoxBinding = /** @class */ (function () {\n function DevicePixelContentBoxBinding(canvasElement, transformBitmapSize, options) {\n var _a;\n this._canvasElement = null;\n this._bitmapSizeChangedListeners = [];\n this._suggestedBitmapSize = null;\n this._suggestedBitmapSizeChangedListeners = [];\n // devicePixelRatio approach\n this._devicePixelRatioObservable = null;\n // ResizeObserver approach\n this._canvasElementResizeObserver = null;\n this._canvasElement = canvasElement;\n this._canvasElementClientSize = size({\n width: this._canvasElement.clientWidth,\n height: this._canvasElement.clientHeight,\n });\n this._transformBitmapSize = transformBitmapSize !== null && transformBitmapSize !== void 0 ? transformBitmapSize : (function (size) { return size; });\n this._allowResizeObserver = (_a = options === null || options === void 0 ? void 0 : options.allowResizeObserver) !== null && _a !== void 0 ? _a : true;\n this._chooseAndInitObserver();\n // we MAY leave the constuctor without any bitmap size observation mechanics initialized\n }\n DevicePixelContentBoxBinding.prototype.dispose = function () {\n var _a, _b;\n if (this._canvasElement === null) {\n throw new Error('Object is disposed');\n }\n (_a = this._canvasElementResizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();\n this._canvasElementResizeObserver = null;\n (_b = this._devicePixelRatioObservable) === null || _b === void 0 ? void 0 : _b.dispose();\n this._devicePixelRatioObservable = null;\n this._suggestedBitmapSizeChangedListeners.length = 0;\n this._bitmapSizeChangedListeners.length = 0;\n this._canvasElement = null;\n };\n Object.defineProperty(DevicePixelContentBoxBinding.prototype, \"canvasElement\", {\n get: function () {\n if (this._canvasElement === null) {\n throw new Error('Object is disposed');\n }\n return this._canvasElement;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DevicePixelContentBoxBinding.prototype, \"canvasElementClientSize\", {\n get: function () {\n return this._canvasElementClientSize;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DevicePixelContentBoxBinding.prototype, \"bitmapSize\", {\n get: function () {\n return size({\n width: this.canvasElement.width,\n height: this.canvasElement.height,\n });\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Use this function to change canvas element client size until binding is disposed\n * @param clientSize New client size for bound HTMLCanvasElement\n */\n DevicePixelContentBoxBinding.prototype.resizeCanvasElement = function (clientSize) {\n this._canvasElementClientSize = size(clientSize);\n this.canvasElement.style.width = \"\".concat(this._canvasElementClientSize.width, \"px\");\n this.canvasElement.style.height = \"\".concat(this._canvasElementClientSize.height, \"px\");\n this._invalidateBitmapSize();\n };\n DevicePixelContentBoxBinding.prototype.subscribeBitmapSizeChanged = function (listener) {\n this._bitmapSizeChangedListeners.push(listener);\n };\n DevicePixelContentBoxBinding.prototype.unsubscribeBitmapSizeChanged = function (listener) {\n this._bitmapSizeChangedListeners = this._bitmapSizeChangedListeners.filter(function (l) { return l !== listener; });\n };\n Object.defineProperty(DevicePixelContentBoxBinding.prototype, \"suggestedBitmapSize\", {\n get: function () {\n return this._suggestedBitmapSize;\n },\n enumerable: false,\n configurable: true\n });\n DevicePixelContentBoxBinding.prototype.subscribeSuggestedBitmapSizeChanged = function (listener) {\n this._suggestedBitmapSizeChangedListeners.push(listener);\n };\n DevicePixelContentBoxBinding.prototype.unsubscribeSuggestedBitmapSizeChanged = function (listener) {\n this._suggestedBitmapSizeChangedListeners = this._suggestedBitmapSizeChangedListeners.filter(function (l) { return l !== listener; });\n };\n DevicePixelContentBoxBinding.prototype.applySuggestedBitmapSize = function () {\n if (this._suggestedBitmapSize === null) {\n // nothing to apply\n return;\n }\n var oldSuggestedSize = this._suggestedBitmapSize;\n this._suggestedBitmapSize = null;\n this._resizeBitmap(oldSuggestedSize);\n this._emitSuggestedBitmapSizeChanged(oldSuggestedSize, this._suggestedBitmapSize);\n };\n DevicePixelContentBoxBinding.prototype._resizeBitmap = function (newSize) {\n var oldSize = this.bitmapSize;\n if (equalSizes(oldSize, newSize)) {\n return;\n }\n this.canvasElement.width = newSize.width;\n this.canvasElement.height = newSize.height;\n this._emitBitmapSizeChanged(oldSize, newSize);\n };\n DevicePixelContentBoxBinding.prototype._emitBitmapSizeChanged = function (oldSize, newSize) {\n var _this = this;\n this._bitmapSizeChangedListeners.forEach(function (listener) { return listener.call(_this, oldSize, newSize); });\n };\n DevicePixelContentBoxBinding.prototype._suggestNewBitmapSize = function (newSize) {\n var oldSuggestedSize = this._suggestedBitmapSize;\n var finalNewSize = size(this._transformBitmapSize(newSize, this._canvasElementClientSize));\n var newSuggestedSize = equalSizes(this.bitmapSize, finalNewSize) ? null : finalNewSize;\n if (oldSuggestedSize === null && newSuggestedSize === null) {\n return;\n }\n if (oldSuggestedSize !== null && newSuggestedSize !== null\n && equalSizes(oldSuggestedSize, newSuggestedSize)) {\n return;\n }\n this._suggestedBitmapSize = newSuggestedSize;\n this._emitSuggestedBitmapSizeChanged(oldSuggestedSize, newSuggestedSize);\n };\n DevicePixelContentBoxBinding.prototype._emitSuggestedBitmapSizeChanged = function (oldSize, newSize) {\n var _this = this;\n this._suggestedBitmapSizeChangedListeners.forEach(function (listener) { return listener.call(_this, oldSize, newSize); });\n };\n DevicePixelContentBoxBinding.prototype._chooseAndInitObserver = function () {\n var _this = this;\n if (!this._allowResizeObserver) {\n this._initDevicePixelRatioObservable();\n return;\n }\n isDevicePixelContentBoxSupported()\n .then(function (isSupported) {\n return isSupported ?\n _this._initResizeObserver() :\n _this._initDevicePixelRatioObservable();\n });\n };\n // devicePixelRatio approach\n DevicePixelContentBoxBinding.prototype._initDevicePixelRatioObservable = function () {\n var _this = this;\n if (this._canvasElement === null) {\n // it looks like we are already dead\n return;\n }\n var win = canvasElementWindow(this._canvasElement);\n if (win === null) {\n throw new Error('No window is associated with the canvas');\n }\n this._devicePixelRatioObservable = createDevicePixelRatioObservable(win);\n this._devicePixelRatioObservable.subscribe(function () { return _this._invalidateBitmapSize(); });\n this._invalidateBitmapSize();\n };\n DevicePixelContentBoxBinding.prototype._invalidateBitmapSize = function () {\n var _a, _b;\n if (this._canvasElement === null) {\n // it looks like we are already dead\n return;\n }\n var win = canvasElementWindow(this._canvasElement);\n if (win === null) {\n return;\n }\n var ratio = (_b = (_a = this._devicePixelRatioObservable) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : win.devicePixelRatio;\n var canvasRects = this._canvasElement.getClientRects();\n var newSize = \n // eslint-disable-next-line no-negated-condition\n canvasRects[0] !== undefined ?\n predictedBitmapSize(canvasRects[0], ratio) :\n size({\n width: this._canvasElementClientSize.width * ratio,\n height: this._canvasElementClientSize.height * ratio,\n });\n this._suggestNewBitmapSize(newSize);\n };\n // ResizeObserver approach\n DevicePixelContentBoxBinding.prototype._initResizeObserver = function () {\n var _this = this;\n if (this._canvasElement === null) {\n // it looks like we are already dead\n return;\n }\n this._canvasElementResizeObserver = new ResizeObserver(function (entries) {\n var entry = entries.find(function (entry) { return entry.target === _this._canvasElement; });\n if (!entry || !entry.devicePixelContentBoxSize || !entry.devicePixelContentBoxSize[0]) {\n return;\n }\n var entrySize = entry.devicePixelContentBoxSize[0];\n var newSize = size({\n width: entrySize.inlineSize,\n height: entrySize.blockSize,\n });\n _this._suggestNewBitmapSize(newSize);\n });\n this._canvasElementResizeObserver.observe(this._canvasElement, { box: 'device-pixel-content-box' });\n };\n return DevicePixelContentBoxBinding;\n}());\nexport function bindTo(canvasElement, target) {\n if (target.type === 'device-pixel-content-box') {\n return new DevicePixelContentBoxBinding(canvasElement, target.transform, target.options);\n }\n throw new Error('Unsupported binding target');\n}\nfunction canvasElementWindow(canvasElement) {\n // According to DOM Level 2 Core specification, ownerDocument should never be null for HTMLCanvasElement\n // see https://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#node-ownerDoc\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return canvasElement.ownerDocument.defaultView;\n}\nfunction isDevicePixelContentBoxSupported() {\n return new Promise(function (resolve) {\n var ro = new ResizeObserver(function (entries) {\n resolve(entries.every(function (entry) { return 'devicePixelContentBoxSize' in entry; }));\n ro.disconnect();\n });\n ro.observe(document.body, { box: 'device-pixel-content-box' });\n })\n .catch(function () { return false; });\n}\nfunction predictedBitmapSize(canvasRect, ratio) {\n return size({\n width: Math.round(canvasRect.left * ratio + canvasRect.width * ratio) -\n Math.round(canvasRect.left * ratio),\n height: Math.round(canvasRect.top * ratio + canvasRect.height * ratio) -\n Math.round(canvasRect.top * ratio),\n });\n}\n","/**\n * @experimental\n */\nvar CanvasRenderingTarget2D = /** @class */ (function () {\n function CanvasRenderingTarget2D(context, mediaSize, bitmapSize) {\n if (mediaSize.width === 0 || mediaSize.height === 0) {\n throw new TypeError('Rendering target could only be created on a media with positive width and height');\n }\n this._mediaSize = mediaSize;\n // !Number.isInteger(bitmapSize.width) || !Number.isInteger(bitmapSize.height)\n if (bitmapSize.width === 0 || bitmapSize.height === 0) {\n throw new TypeError('Rendering target could only be created using a bitmap with positive integer width and height');\n }\n this._bitmapSize = bitmapSize;\n this._context = context;\n }\n CanvasRenderingTarget2D.prototype.useMediaCoordinateSpace = function (f) {\n try {\n this._context.save();\n // do not use resetTransform to support old versions of Edge\n this._context.setTransform(1, 0, 0, 1, 0, 0);\n this._context.scale(this._horizontalPixelRatio, this._verticalPixelRatio);\n return f({\n context: this._context,\n mediaSize: this._mediaSize,\n });\n }\n finally {\n this._context.restore();\n }\n };\n CanvasRenderingTarget2D.prototype.useBitmapCoordinateSpace = function (f) {\n try {\n this._context.save();\n // do not use resetTransform to support old versions of Edge\n this._context.setTransform(1, 0, 0, 1, 0, 0);\n return f({\n context: this._context,\n mediaSize: this._mediaSize,\n bitmapSize: this._bitmapSize,\n horizontalPixelRatio: this._horizontalPixelRatio,\n verticalPixelRatio: this._verticalPixelRatio,\n });\n }\n finally {\n this._context.restore();\n }\n };\n Object.defineProperty(CanvasRenderingTarget2D.prototype, \"_horizontalPixelRatio\", {\n get: function () {\n return this._bitmapSize.width / this._mediaSize.width;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CanvasRenderingTarget2D.prototype, \"_verticalPixelRatio\", {\n get: function () {\n return this._bitmapSize.height / this._mediaSize.height;\n },\n enumerable: false,\n configurable: true\n });\n return CanvasRenderingTarget2D;\n}());\nexport { CanvasRenderingTarget2D };\n/**\n * @experimental\n */\nexport function createCanvasRenderingTarget2D(binding, contextOptions) {\n var mediaSize = binding.canvasElementClientSize;\n var bitmapSize = binding.bitmapSize;\n var context = binding.canvasElement.getContext('2d', contextOptions);\n if (context === null) {\n throw new Error('Could not get 2d drawing context from bound canvas element. Has the canvas already been set to a different context mode?');\n }\n return new CanvasRenderingTarget2D(context, mediaSize, bitmapSize);\n}\n/**\n * @experimental\n */\nexport function tryCreateCanvasRenderingTarget2D(binding, contextOptions) {\n var mediaSize = binding.canvasElementClientSize;\n if (mediaSize.width === 0 || mediaSize.height === 0) {\n return null;\n }\n var bitmapSize = binding.bitmapSize;\n if (bitmapSize.width === 0 || bitmapSize.height === 0) {\n return null;\n }\n var context = binding.canvasElement.getContext('2d', contextOptions);\n if (context === null) {\n return null;\n }\n return new CanvasRenderingTarget2D(context, mediaSize, bitmapSize);\n}\n","/*!\n * @license\n * TradingView Lightweight Charts™ v4.2.3\n * Copyright (c) 2025 TradingView, Inc.\n * Licensed under Apache License 2.0 https://www.apache.org/licenses/LICENSE-2.0\n */\nimport{size as t,bindCanvasElementBitmapSizeTo as i,equalSizes as n,tryCreateCanvasRenderingTarget2D as s}from\"fancy-canvas\";const e={upColor:\"#26a69a\",downColor:\"#ef5350\",wickVisible:!0,borderVisible:!0,borderColor:\"#378658\",borderUpColor:\"#26a69a\",borderDownColor:\"#ef5350\",wickColor:\"#737375\",wickUpColor:\"#26a69a\",wickDownColor:\"#ef5350\"},r={upColor:\"#26a69a\",downColor:\"#ef5350\",openVisible:!0,thinBars:!0},h={color:\"#2196f3\",lineStyle:0,lineWidth:3,lineType:0,lineVisible:!0,crosshairMarkerVisible:!0,crosshairMarkerRadius:4,crosshairMarkerBorderColor:\"\",crosshairMarkerBorderWidth:2,crosshairMarkerBackgroundColor:\"\",lastPriceAnimation:0,pointMarkersVisible:!1},l={topColor:\"rgba( 46, 220, 135, 0.4)\",bottomColor:\"rgba( 40, 221, 100, 0)\",invertFilledArea:!1,lineColor:\"#33D778\",lineStyle:0,lineWidth:3,lineType:0,lineVisible:!0,crosshairMarkerVisible:!0,crosshairMarkerRadius:4,crosshairMarkerBorderColor:\"\",crosshairMarkerBorderWidth:2,crosshairMarkerBackgroundColor:\"\",lastPriceAnimation:0,pointMarkersVisible:!1},a={baseValue:{type:\"price\",price:0},topFillColor1:\"rgba(38, 166, 154, 0.28)\",topFillColor2:\"rgba(38, 166, 154, 0.05)\",topLineColor:\"rgba(38, 166, 154, 1)\",bottomFillColor1:\"rgba(239, 83, 80, 0.05)\",bottomFillColor2:\"rgba(239, 83, 80, 0.28)\",bottomLineColor:\"rgba(239, 83, 80, 1)\",lineWidth:3,lineStyle:0,lineType:0,lineVisible:!0,crosshairMarkerVisible:!0,crosshairMarkerRadius:4,crosshairMarkerBorderColor:\"\",crosshairMarkerBorderWidth:2,crosshairMarkerBackgroundColor:\"\",lastPriceAnimation:0,pointMarkersVisible:!1},o={color:\"#26a69a\",base:0},_={color:\"#2196f3\"},u={title:\"\",visible:!0,lastValueVisible:!0,priceLineVisible:!0,priceLineSource:0,priceLineWidth:1,priceLineColor:\"\",priceLineStyle:2,baseLineVisible:!0,baseLineWidth:1,baseLineColor:\"#B2B5BE\",baseLineStyle:0,priceFormat:{type:\"price\",precision:2,minMove:.01}};var c,d;function f(t,i){const n={0:[],1:[t.lineWidth,t.lineWidth],2:[2*t.lineWidth,2*t.lineWidth],3:[6*t.lineWidth,6*t.lineWidth],4:[t.lineWidth,4*t.lineWidth]}[i];t.setLineDash(n)}function v(t,i,n,s){t.beginPath();const e=t.lineWidth%2?.5:0;t.moveTo(n,i+e),t.lineTo(s,i+e),t.stroke()}function p(t,i){if(!t)throw new Error(\"Assertion failed\"+(i?\": \"+i:\"\"))}function m(t){if(void 0===t)throw new Error(\"Value is undefined\");return t}function b(t){if(null===t)throw new Error(\"Value is null\");return t}function w(t){return b(m(t))}!function(t){t[t.Simple=0]=\"Simple\",t[t.WithSteps=1]=\"WithSteps\",t[t.Curved=2]=\"Curved\"}(c||(c={})),function(t){t[t.Solid=0]=\"Solid\",t[t.Dotted=1]=\"Dotted\",t[t.Dashed=2]=\"Dashed\",t[t.LargeDashed=3]=\"LargeDashed\",t[t.SparseDotted=4]=\"SparseDotted\"}(d||(d={}));const g={khaki:\"#f0e68c\",azure:\"#f0ffff\",aliceblue:\"#f0f8ff\",ghostwhite:\"#f8f8ff\",gold:\"#ffd700\",goldenrod:\"#daa520\",gainsboro:\"#dcdcdc\",gray:\"#808080\",green:\"#008000\",honeydew:\"#f0fff0\",floralwhite:\"#fffaf0\",lightblue:\"#add8e6\",lightcoral:\"#f08080\",lemonchiffon:\"#fffacd\",hotpink:\"#ff69b4\",lightyellow:\"#ffffe0\",greenyellow:\"#adff2f\",lightgoldenrodyellow:\"#fafad2\",limegreen:\"#32cd32\",linen:\"#faf0e6\",lightcyan:\"#e0ffff\",magenta:\"#f0f\",maroon:\"#800000\",olive:\"#808000\",orange:\"#ffa500\",oldlace:\"#fdf5e6\",mediumblue:\"#0000cd\",transparent:\"#0000\",lime:\"#0f0\",lightpink:\"#ffb6c1\",mistyrose:\"#ffe4e1\",moccasin:\"#ffe4b5\",midnightblue:\"#191970\",orchid:\"#da70d6\",mediumorchid:\"#ba55d3\",mediumturquoise:\"#48d1cc\",orangered:\"#ff4500\",royalblue:\"#4169e1\",powderblue:\"#b0e0e6\",red:\"#f00\",coral:\"#ff7f50\",turquoise:\"#40e0d0\",white:\"#fff\",whitesmoke:\"#f5f5f5\",wheat:\"#f5deb3\",teal:\"#008080\",steelblue:\"#4682b4\",bisque:\"#ffe4c4\",aquamarine:\"#7fffd4\",aqua:\"#0ff\",sienna:\"#a0522d\",silver:\"#c0c0c0\",springgreen:\"#00ff7f\",antiquewhite:\"#faebd7\",burlywood:\"#deb887\",brown:\"#a52a2a\",beige:\"#f5f5dc\",chocolate:\"#d2691e\",chartreuse:\"#7fff00\",cornflowerblue:\"#6495ed\",cornsilk:\"#fff8dc\",crimson:\"#dc143c\",cadetblue:\"#5f9ea0\",tomato:\"#ff6347\",fuchsia:\"#f0f\",blue:\"#00f\",salmon:\"#fa8072\",blanchedalmond:\"#ffebcd\",slateblue:\"#6a5acd\",slategray:\"#708090\",thistle:\"#d8bfd8\",tan:\"#d2b48c\",cyan:\"#0ff\",darkblue:\"#00008b\",darkcyan:\"#008b8b\",darkgoldenrod:\"#b8860b\",darkgray:\"#a9a9a9\",blueviolet:\"#8a2be2\",black:\"#000\",darkmagenta:\"#8b008b\",darkslateblue:\"#483d8b\",darkkhaki:\"#bdb76b\",darkorchid:\"#9932cc\",darkorange:\"#ff8c00\",darkgreen:\"#006400\",darkred:\"#8b0000\",dodgerblue:\"#1e90ff\",darkslategray:\"#2f4f4f\",dimgray:\"#696969\",deepskyblue:\"#00bfff\",firebrick:\"#b22222\",forestgreen:\"#228b22\",indigo:\"#4b0082\",ivory:\"#fffff0\",lavenderblush:\"#fff0f5\",feldspar:\"#d19275\",indianred:\"#cd5c5c\",lightgreen:\"#90ee90\",lightgrey:\"#d3d3d3\",lightskyblue:\"#87cefa\",lightslategray:\"#789\",lightslateblue:\"#8470ff\",snow:\"#fffafa\",lightseagreen:\"#20b2aa\",lightsalmon:\"#ffa07a\",darksalmon:\"#e9967a\",darkviolet:\"#9400d3\",mediumpurple:\"#9370d8\",mediumaquamarine:\"#66cdaa\",skyblue:\"#87ceeb\",lavender:\"#e6e6fa\",lightsteelblue:\"#b0c4de\",mediumvioletred:\"#c71585\",mintcream:\"#f5fffa\",navajowhite:\"#ffdead\",navy:\"#000080\",olivedrab:\"#6b8e23\",palevioletred:\"#d87093\",violetred:\"#d02090\",yellow:\"#ff0\",yellowgreen:\"#9acd32\",lawngreen:\"#7cfc00\",pink:\"#ffc0cb\",paleturquoise:\"#afeeee\",palegoldenrod:\"#eee8aa\",darkolivegreen:\"#556b2f\",darkseagreen:\"#8fbc8f\",darkturquoise:\"#00ced1\",peachpuff:\"#ffdab9\",deeppink:\"#ff1493\",violet:\"#ee82ee\",palegreen:\"#98fb98\",mediumseagreen:\"#3cb371\",peru:\"#cd853f\",saddlebrown:\"#8b4513\",sandybrown:\"#f4a460\",rosybrown:\"#bc8f8f\",purple:\"#800080\",seagreen:\"#2e8b57\",seashell:\"#fff5ee\",papayawhip:\"#ffefd5\",mediumslateblue:\"#7b68ee\",plum:\"#dda0dd\",mediumspringgreen:\"#00fa9a\"};function M(t){return t<0?0:t>255?255:Math.round(t)||0}function x(t){return t<=0||t>1?Math.min(Math.max(t,0),1):Math.round(1e4*t)/1e4}const S=/^#([0-9a-f])([0-9a-f])([0-9a-f])([0-9a-f])?$/i,k=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})?$/i,y=/^rgb\\(\\s*(-?\\d{1,10})\\s*,\\s*(-?\\d{1,10})\\s*,\\s*(-?\\d{1,10})\\s*\\)$/,C=/^rgba\\(\\s*(-?\\d{1,10})\\s*,\\s*(-?\\d{1,10})\\s*,\\s*(-?\\d{1,10})\\s*,\\s*(-?\\d*\\.?\\d+)\\s*\\)$/;function T(t){(t=t.toLowerCase())in g&&(t=g[t]);{const i=C.exec(t)||y.exec(t);if(i)return[M(parseInt(i[1],10)),M(parseInt(i[2],10)),M(parseInt(i[3],10)),x(i.length<5?1:parseFloat(i[4]))]}{const i=k.exec(t);if(i)return[M(parseInt(i[1],16)),M(parseInt(i[2],16)),M(parseInt(i[3],16)),1]}{const i=S.exec(t);if(i)return[M(17*parseInt(i[1],16)),M(17*parseInt(i[2],16)),M(17*parseInt(i[3],16)),1]}throw new Error(`Cannot parse color: ${t}`)}function P(t){return.199*t[0]+.687*t[1]+.114*t[2]}function R(t){const i=T(t);return{t:`rgb(${i[0]}, ${i[1]}, ${i[2]})`,i:P(i)>160?\"black\":\"white\"}}class D{constructor(){this.h=[]}l(t,i,n){const s={o:t,_:i,u:!0===n};this.h.push(s)}v(t){const i=this.h.findIndex((i=>t===i.o));i>-1&&this.h.splice(i,1)}p(t){this.h=this.h.filter((i=>i._!==t))}m(t,i,n){const s=[...this.h];this.h=this.h.filter((t=>!t.u)),s.forEach((s=>s.o(t,i,n)))}M(){return this.h.length>0}S(){this.h=[]}}function V(t,...i){for(const n of i)for(const i in n)void 0!==n[i]&&Object.prototype.hasOwnProperty.call(n,i)&&![\"__proto__\",\"constructor\",\"prototype\"].includes(i)&&(\"object\"!=typeof n[i]||void 0===t[i]||Array.isArray(n[i])?t[i]=n[i]:V(t[i],n[i]));return t}function O(t){return\"number\"==typeof t&&isFinite(t)}function B(t){return\"number\"==typeof t&&t%1==0}function A(t){return\"string\"==typeof t}function I(t){return\"boolean\"==typeof t}function z(t){const i=t;if(!i||\"object\"!=typeof i)return i;let n,s,e;for(s in n=Array.isArray(i)?[]:{},i)i.hasOwnProperty(s)&&(e=i[s],n[s]=e&&\"object\"==typeof e?z(e):e);return n}function L(t){return null!==t}function E(t){return null===t?void 0:t}const N=\"-apple-system, BlinkMacSystemFont, 'Trebuchet MS', Roboto, Ubuntu, sans-serif\";function F(t,i,n){return void 0===i&&(i=N),`${n=void 0!==n?`${n} `:\"\"}${t}px ${i}`}class W{constructor(t){this.k={C:1,T:5,P:NaN,R:\"\",D:\"\",V:\"\",O:\"\",B:0,A:0,I:0,L:0,N:0},this.F=t}W(){const t=this.k,i=this.j(),n=this.H();return t.P===i&&t.D===n||(t.P=i,t.D=n,t.R=F(i,n),t.L=2.5/12*i,t.B=t.L,t.A=i/12*t.T,t.I=i/12*t.T,t.N=0),t.V=this.$(),t.O=this.U(),this.k}$(){return this.F.W().layout.textColor}U(){return this.F.q()}j(){return this.F.W().layout.fontSize}H(){return this.F.W().layout.fontFamily}}class j{constructor(){this.Y=[]}Z(t){this.Y=t}X(t,i,n){this.Y.forEach((s=>{s.X(t,i,n)}))}}class H{X(t,i,n){t.useBitmapCoordinateSpace((t=>this.K(t,i,n)))}}class $ extends H{constructor(){super(...arguments),this.G=null}J(t){this.G=t}K({context:t,horizontalPixelRatio:i,verticalPixelRatio:n}){if(null===this.G||null===this.G.tt)return;const s=this.G.tt,e=this.G,r=Math.max(1,Math.floor(i))%2/2,h=h=>{t.beginPath();for(let l=s.to-1;l>=s.from;--l){const s=e.it[l],a=Math.round(s.nt*i)+r,o=s.st*n,_=h*n+r;t.moveTo(a,o),t.arc(a,o,_,0,2*Math.PI)}t.fill()};e.et>0&&(t.fillStyle=e.rt,h(e.ht+e.et)),t.fillStyle=e.lt,h(e.ht)}}function U(){return{it:[{nt:0,st:0,ot:0,_t:0}],lt:\"\",rt:\"\",ht:0,et:0,tt:null}}const q={from:0,to:1};class Y{constructor(t,i){this.ut=new j,this.ct=[],this.dt=[],this.ft=!0,this.F=t,this.vt=i,this.ut.Z(this.ct)}bt(t){const i=this.F.wt();i.length!==this.ct.length&&(this.dt=i.map(U),this.ct=this.dt.map((t=>{const i=new $;return i.J(t),i})),this.ut.Z(this.ct)),this.ft=!0}gt(){return this.ft&&(this.Mt(),this.ft=!1),this.ut}Mt(){const t=2===this.vt.W().mode,i=this.F.wt(),n=this.vt.xt(),s=this.F.St();i.forEach(((i,e)=>{var r;const h=this.dt[e],l=i.kt(n);if(t||null===l||!i.yt())return void(h.tt=null);const a=b(i.Ct());h.lt=l.Tt,h.ht=l.ht,h.et=l.Pt,h.it[0]._t=l._t,h.it[0].st=i.Dt().Rt(l._t,a.Vt),h.rt=null!==(r=l.Ot)&&void 0!==r?r:this.F.Bt(h.it[0].st/i.Dt().At()),h.it[0].ot=n,h.it[0].nt=s.It(n),h.tt=q}))}}class Z extends H{constructor(t){super(),this.zt=t}K({context:t,bitmapSize:i,horizontalPixelRatio:n,verticalPixelRatio:s}){if(null===this.zt)return;const e=this.zt.Lt.yt,r=this.zt.Et.yt;if(!e&&!r)return;const h=Math.round(this.zt.nt*n),l=Math.round(this.zt.st*s);t.lineCap=\"butt\",e&&h>=0&&(t.lineWidth=Math.floor(this.zt.Lt.et*n),t.strokeStyle=this.zt.Lt.V,t.fillStyle=this.zt.Lt.V,f(t,this.zt.Lt.Nt),function(t,i,n,s){t.beginPath();const e=t.lineWidth%2?.5:0;t.moveTo(i+e,n),t.lineTo(i+e,s),t.stroke()}(t,h,0,i.height)),r&&l>=0&&(t.lineWidth=Math.floor(this.zt.Et.et*s),t.strokeStyle=this.zt.Et.V,t.fillStyle=this.zt.Et.V,f(t,this.zt.Et.Nt),v(t,l,0,i.width))}}class X{constructor(t){this.ft=!0,this.Ft={Lt:{et:1,Nt:0,V:\"\",yt:!1},Et:{et:1,Nt:0,V:\"\",yt:!1},nt:0,st:0},this.Wt=new Z(this.Ft),this.jt=t}bt(){this.ft=!0}gt(){return this.ft&&(this.Mt(),this.ft=!1),this.Wt}Mt(){const t=this.jt.yt(),i=b(this.jt.Ht()),n=i.$t().W().crosshair,s=this.Ft;if(2===n.mode)return s.Et.yt=!1,void(s.Lt.yt=!1);s.Et.yt=t&&this.jt.Ut(i),s.Lt.yt=t&&this.jt.qt(),s.Et.et=n.horzLine.width,s.Et.Nt=n.horzLine.style,s.Et.V=n.horzLine.color,s.Lt.et=n.vertLine.width,s.Lt.Nt=n.vertLine.style,s.Lt.V=n.vertLine.color,s.nt=this.jt.Yt(),s.st=this.jt.Zt()}}function K(t,i,n,s,e,r){t.fillRect(i+r,n,s-2*r,r),t.fillRect(i+r,n+e-r,s-2*r,r),t.fillRect(i,n,r,e),t.fillRect(i+s-r,n,r,e)}function G(t,i,n,s,e,r){t.save(),t.globalCompositeOperation=\"copy\",t.fillStyle=r,t.fillRect(i,n,s,e),t.restore()}function J(t,i,n,s,e,r){t.beginPath(),t.roundRect?t.roundRect(i,n,s,e,r):(t.lineTo(i+s-r[1],n),0!==r[1]&&t.arcTo(i+s,n,i+s,n+r[1],r[1]),t.lineTo(i+s,n+e-r[2]),0!==r[2]&&t.arcTo(i+s,n+e,i+s-r[2],n+e,r[2]),t.lineTo(i+r[3],n+e),0!==r[3]&&t.arcTo(i,n+e,i,n+e-r[3],r[3]),t.lineTo(i,n+r[0]),0!==r[0]&&t.arcTo(i,n,i+r[0],n,r[0]))}function Q(t,i,n,s,e,r,h=0,l=[0,0,0,0],a=\"\"){if(t.save(),!h||!a||a===r)return J(t,i,n,s,e,l),t.fillStyle=r,t.fill(),void t.restore();const o=h/2;var _;J(t,i+o,n+o,s-h,e-h,(_=-o,l.map((t=>0===t?t:t+_)))),\"transparent\"!==r&&(t.fillStyle=r,t.fill()),\"transparent\"!==a&&(t.lineWidth=h,t.strokeStyle=a,t.closePath(),t.stroke()),t.restore()}function tt(t,i,n,s,e,r,h){t.save(),t.globalCompositeOperation=\"copy\";const l=t.createLinearGradient(0,0,0,e);l.addColorStop(0,r),l.addColorStop(1,h),t.fillStyle=l,t.fillRect(i,n,s,e),t.restore()}class it{constructor(t,i){this.J(t,i)}J(t,i){this.zt=t,this.Xt=i}At(t,i){return this.zt.yt?t.P+t.L+t.B:0}X(t,i,n,s){if(!this.zt.yt||0===this.zt.Kt.length)return;const e=this.zt.V,r=this.Xt.t,h=t.useBitmapCoordinateSpace((t=>{const h=t.context;h.font=i.R;const l=this.Gt(t,i,n,s),a=l.Jt;return l.Qt?Q(h,a.ti,a.ii,a.ni,a.si,r,a.ei,[a.ht,0,0,a.ht],r):Q(h,a.ri,a.ii,a.ni,a.si,r,a.ei,[0,a.ht,a.ht,0],r),this.zt.hi&&(h.fillStyle=e,h.fillRect(a.ri,a.li,a.ai-a.ri,a.oi)),this.zt._i&&(h.fillStyle=i.O,h.fillRect(l.Qt?a.ui-a.ei:0,a.ii,a.ei,a.ci-a.ii)),l}));t.useMediaCoordinateSpace((({context:t})=>{const n=h.di;t.font=i.R,t.textAlign=h.Qt?\"right\":\"left\",t.textBaseline=\"middle\",t.fillStyle=e,t.fillText(this.zt.Kt,n.fi,(n.ii+n.ci)/2+n.pi)}))}Gt(t,i,n,s){var e;const{context:r,bitmapSize:h,mediaSize:l,horizontalPixelRatio:a,verticalPixelRatio:o}=t,_=this.zt.hi||!this.zt.mi?i.T:0,u=this.zt.bi?i.C:0,c=i.L+this.Xt.wi,d=i.B+this.Xt.gi,f=i.A,v=i.I,p=this.zt.Kt,m=i.P,b=n.Mi(r,p),w=Math.ceil(n.xi(r,p)),g=m+c+d,M=i.C+f+v+w+_,x=Math.max(1,Math.floor(o));let S=Math.round(g*o);S%2!=x%2&&(S+=1);const k=u>0?Math.max(1,Math.floor(u*a)):0,y=Math.round(M*a),C=Math.round(_*a),T=null!==(e=this.Xt.Si)&&void 0!==e?e:this.Xt.ki,P=Math.round(T*o)-Math.floor(.5*o),R=Math.floor(P+x/2-S/2),D=R+S,V=\"right\"===s,O=V?l.width-u:u,B=V?h.width-k:k;let A,I,z;return V?(A=B-y,I=B-C,z=O-_-f-u):(A=B+y,I=B+C,z=O+_+f),{Qt:V,Jt:{ii:R,li:P,ci:D,ni:y,si:S,ht:2*a,ei:k,ti:A,ri:B,ai:I,oi:x,ui:h.width},di:{ii:R/o,ci:D/o,fi:z,pi:b}}}}class nt{constructor(t){this.yi={ki:0,t:\"#000\",gi:0,wi:0},this.Ci={Kt:\"\",yt:!1,hi:!0,mi:!1,Ot:\"\",V:\"#FFF\",_i:!1,bi:!1},this.Ti={Kt:\"\",yt:!1,hi:!1,mi:!0,Ot:\"\",V:\"#FFF\",_i:!0,bi:!0},this.ft=!0,this.Pi=new(t||it)(this.Ci,this.yi),this.Ri=new(t||it)(this.Ti,this.yi)}Kt(){return this.Di(),this.Ci.Kt}ki(){return this.Di(),this.yi.ki}bt(){this.ft=!0}At(t,i=!1){return Math.max(this.Pi.At(t,i),this.Ri.At(t,i))}Vi(){return this.yi.Si||0}Oi(t){this.yi.Si=t}Bi(){return this.Di(),this.Ci.yt||this.Ti.yt}Ai(){return this.Di(),this.Ci.yt}gt(t){return this.Di(),this.Ci.hi=this.Ci.hi&&t.W().ticksVisible,this.Ti.hi=this.Ti.hi&&t.W().ticksVisible,this.Pi.J(this.Ci,this.yi),this.Ri.J(this.Ti,this.yi),this.Pi}Ii(){return this.Di(),this.Pi.J(this.Ci,this.yi),this.Ri.J(this.Ti,this.yi),this.Ri}Di(){this.ft&&(this.Ci.hi=!0,this.Ti.hi=!1,this.zi(this.Ci,this.Ti,this.yi))}}class st extends nt{constructor(t,i,n){super(),this.jt=t,this.Li=i,this.Ei=n}zi(t,i,n){if(t.yt=!1,2===this.jt.W().mode)return;const s=this.jt.W().horzLine;if(!s.labelVisible)return;const e=this.Li.Ct();if(!this.jt.yt()||this.Li.Ni()||null===e)return;const r=R(s.labelBackgroundColor);n.t=r.t,t.V=r.i;const h=2/12*this.Li.P();n.wi=h,n.gi=h;const l=this.Ei(this.Li);n.ki=l.ki,t.Kt=this.Li.Fi(l._t,e),t.yt=!0}}const et=/[1-9]/g;class rt{constructor(){this.zt=null}J(t){this.zt=t}X(t,i){if(null===this.zt||!1===this.zt.yt||0===this.zt.Kt.length)return;const n=t.useMediaCoordinateSpace((({context:t})=>(t.font=i.R,Math.round(i.Wi.xi(t,b(this.zt).Kt,et)))));if(n<=0)return;const s=i.ji,e=n+2*s,r=e/2,h=this.zt.Hi;let l=this.zt.ki,a=Math.floor(l-r)+.5;a<0?(l+=Math.abs(0-a),a=Math.floor(l-r)+.5):a+e>h&&(l-=Math.abs(h-(a+e)),a=Math.floor(l-r)+.5);const o=a+e,_=Math.ceil(0+i.C+i.T+i.L+i.P+i.B);t.useBitmapCoordinateSpace((({context:t,horizontalPixelRatio:n,verticalPixelRatio:s})=>{const e=b(this.zt);t.fillStyle=e.t;const r=Math.round(a*n),h=Math.round(0*s),l=Math.round(o*n),u=Math.round(_*s),c=Math.round(2*n);if(t.beginPath(),t.moveTo(r,h),t.lineTo(r,u-c),t.arcTo(r,u,r+c,u,c),t.lineTo(l-c,u),t.arcTo(l,u,l,u-c,c),t.lineTo(l,h),t.fill(),e.hi){const r=Math.round(e.ki*n),l=h,a=Math.round((l+i.T)*s);t.fillStyle=e.V;const o=Math.max(1,Math.floor(n)),_=Math.floor(.5*n);t.fillRect(r-_,l,o,a-l)}})),t.useMediaCoordinateSpace((({context:t})=>{const n=b(this.zt),e=0+i.C+i.T+i.L+i.P/2;t.font=i.R,t.textAlign=\"left\",t.textBaseline=\"middle\",t.fillStyle=n.V;const r=i.Wi.Mi(t,\"Apr0\");t.translate(a+s,e+r),t.fillText(n.Kt,0,0)}))}}class ht{constructor(t,i,n){this.ft=!0,this.Wt=new rt,this.Ft={yt:!1,t:\"#4c525e\",V:\"white\",Kt:\"\",Hi:0,ki:NaN,hi:!0},this.vt=t,this.$i=i,this.Ei=n}bt(){this.ft=!0}gt(){return this.ft&&(this.Mt(),this.ft=!1),this.Wt.J(this.Ft),this.Wt}Mt(){const t=this.Ft;if(t.yt=!1,2===this.vt.W().mode)return;const i=this.vt.W().vertLine;if(!i.labelVisible)return;const n=this.$i.St();if(n.Ni())return;t.Hi=n.Hi();const s=this.Ei();if(null===s)return;t.ki=s.ki;const e=n.Ui(this.vt.xt());t.Kt=n.qi(b(e)),t.yt=!0;const r=R(i.labelBackgroundColor);t.t=r.t,t.V=r.i,t.hi=n.W().ticksVisible}}class lt{constructor(){this.Yi=null,this.Zi=0}Xi(){return this.Zi}Ki(t){this.Zi=t}Dt(){return this.Yi}Gi(t){this.Yi=t}Ji(t){return[]}Qi(){return[]}yt(){return!0}}var at;!function(t){t[t.Normal=0]=\"Normal\",t[t.Magnet=1]=\"Magnet\",t[t.Hidden=2]=\"Hidden\"}(at||(at={}));class ot extends lt{constructor(t,i){super(),this.tn=null,this.nn=NaN,this.sn=0,this.en=!0,this.rn=new Map,this.hn=!1,this.ln=NaN,this.an=NaN,this._n=NaN,this.un=NaN,this.$i=t,this.cn=i,this.dn=new Y(t,this);this.fn=((t,i)=>n=>{const s=i(),e=t();if(n===b(this.tn).vn())return{_t:e,ki:s};{const t=b(n.Ct());return{_t:n.pn(s,t),ki:s}}})((()=>this.nn),(()=>this.an));const n=((t,i)=>()=>{const n=this.$i.St().mn(t()),s=i();return n&&Number.isFinite(s)?{ot:n,ki:s}:null})((()=>this.sn),(()=>this.Yt()));this.bn=new ht(this,t,n),this.wn=new X(this)}W(){return this.cn}gn(t,i){this._n=t,this.un=i}Mn(){this._n=NaN,this.un=NaN}xn(){return this._n}Sn(){return this.un}kn(t,i,n){this.hn||(this.hn=!0),this.en=!0,this.yn(t,i,n)}xt(){return this.sn}Yt(){return this.ln}Zt(){return this.an}yt(){return this.en}Cn(){this.en=!1,this.Tn(),this.nn=NaN,this.ln=NaN,this.an=NaN,this.tn=null,this.Mn()}Pn(t){return null!==this.tn?[this.wn,this.dn]:[]}Ut(t){return t===this.tn&&this.cn.horzLine.visible}qt(){return this.cn.vertLine.visible}Rn(t,i){this.en&&this.tn===t||this.rn.clear();const n=[];return this.tn===t&&n.push(this.Dn(this.rn,i,this.fn)),n}Qi(){return this.en?[this.bn]:[]}Ht(){return this.tn}Vn(){this.wn.bt(),this.rn.forEach((t=>t.bt())),this.bn.bt(),this.dn.bt()}On(t){return t&&!t.vn().Ni()?t.vn():null}yn(t,i,n){this.Bn(t,i,n)&&this.Vn()}Bn(t,i,n){const s=this.ln,e=this.an,r=this.nn,h=this.sn,l=this.tn,a=this.On(n);this.sn=t,this.ln=isNaN(t)?NaN:this.$i.St().It(t),this.tn=n;const o=null!==a?a.Ct():null;return null!==a&&null!==o?(this.nn=i,this.an=a.Rt(i,o)):(this.nn=NaN,this.an=NaN),s!==this.ln||e!==this.an||h!==this.sn||r!==this.nn||l!==this.tn}Tn(){const t=this.$i.wt().map((t=>t.In().An())).filter(L),i=0===t.length?null:Math.max(...t);this.sn=null!==i?i:NaN}Dn(t,i,n){let s=t.get(i);return void 0===s&&(s=new st(this,i,n),t.set(i,s)),s}}function _t(t){return\"left\"===t||\"right\"===t}class ut{constructor(t){this.zn=new Map,this.Ln=[],this.En=t}Nn(t,i){const n=function(t,i){return void 0===t?i:{Fn:Math.max(t.Fn,i.Fn),Wn:t.Wn||i.Wn}}(this.zn.get(t),i);this.zn.set(t,n)}jn(){return this.En}Hn(t){const i=this.zn.get(t);return void 0===i?{Fn:this.En}:{Fn:Math.max(this.En,i.Fn),Wn:i.Wn}}$n(){this.Un(),this.Ln=[{qn:0}]}Yn(t){this.Un(),this.Ln=[{qn:1,Vt:t}]}Zn(t){this.Xn(),this.Ln.push({qn:5,Vt:t})}Un(){this.Xn(),this.Ln.push({qn:6})}Kn(){this.Un(),this.Ln=[{qn:4}]}Gn(t){this.Un(),this.Ln.push({qn:2,Vt:t})}Jn(t){this.Un(),this.Ln.push({qn:3,Vt:t})}Qn(){return this.Ln}ts(t){for(const i of t.Ln)this.ns(i);this.En=Math.max(this.En,t.En),t.zn.forEach(((t,i)=>{this.Nn(i,t)}))}static ss(){return new ut(2)}static es(){return new ut(3)}ns(t){switch(t.qn){case 0:this.$n();break;case 1:this.Yn(t.Vt);break;case 2:this.Gn(t.Vt);break;case 3:this.Jn(t.Vt);break;case 4:this.Kn();break;case 5:this.Zn(t.Vt);break;case 6:this.Xn()}}Xn(){const t=this.Ln.findIndex((t=>5===t.qn));-1!==t&&this.Ln.splice(t,1)}}const ct=\".\";function dt(t,i){if(!O(t))return\"n/a\";if(!B(i))throw new TypeError(\"invalid length\");if(i<0||i>16)throw new TypeError(\"invalid length\");if(0===i)return t.toString();return(\"0000000000000000\"+t.toString()).slice(-i)}class ft{constructor(t,i){if(i||(i=1),O(t)&&B(t)||(t=100),t<0)throw new TypeError(\"invalid base\");this.Li=t,this.rs=i,this.hs()}format(t){const i=t<0?\"−\":\"\";return t=Math.abs(t),i+this.ls(t)}hs(){if(this._s=0,this.Li>0&&this.rs>0){let t=this.Li;for(;t>1;)t/=10,this._s++}}ls(t){const i=this.Li/this.rs;let n=Math.floor(t),s=\"\";const e=void 0!==this._s?this._s:NaN;if(i>1){let r=+(Math.round(t*i)-n*i).toFixed(this._s);r>=i&&(r-=i,n+=1),s=ct+dt(+r.toFixed(this._s)*this.rs,e)}else n=Math.round(n*i)/i,e>0&&(s=ct+dt(0,e));return n.toFixed(0)+s}}class vt extends ft{constructor(t=100){super(t)}format(t){return`${super.format(t)}%`}}class pt{constructor(t){this.us=t}format(t){let i=\"\";return t<0&&(i=\"-\",t=-t),t<995?i+this.cs(t):t<999995?i+this.cs(t/1e3)+\"K\":t<999999995?(t=1e3*Math.round(t/1e3),i+this.cs(t/1e6)+\"M\"):(t=1e6*Math.round(t/1e6),i+this.cs(t/1e9)+\"B\")}cs(t){let i;const n=Math.pow(10,this.us);return i=(t=Math.round(t*n)/n)>=1e-15&&t<1?t.toFixed(this.us).replace(/\\.?0+$/,\"\"):String(t),i.replace(/(\\.[1-9]*)0+$/,((t,i)=>i))}}function mt(t,i,n,s,e,r,h){if(0===i.length||s.from>=i.length||s.to<=0)return;const{context:l,horizontalPixelRatio:a,verticalPixelRatio:o}=t,_=i[s.from];let u=r(t,_),c=_;if(s.to-s.from<2){const i=e/2;l.beginPath();const n={nt:_.nt-i,st:_.st},s={nt:_.nt+i,st:_.st};l.moveTo(n.nt*a,n.st*o),l.lineTo(s.nt*a,s.st*o),h(t,u,n,s)}else{const e=(i,n)=>{h(t,u,c,n),l.beginPath(),u=i,c=n};let d=c;l.beginPath(),l.moveTo(_.nt*a,_.st*o);for(let h=s.from+1;h<s.to;++h){d=i[h];const s=r(t,d);switch(n){case 0:l.lineTo(d.nt*a,d.st*o);break;case 1:l.lineTo(d.nt*a,i[h-1].st*o),s!==u&&(e(s,d),l.lineTo(d.nt*a,i[h-1].st*o)),l.lineTo(d.nt*a,d.st*o);break;case 2:{const[t,n]=Mt(i,h-1,h);l.bezierCurveTo(t.nt*a,t.st*o,n.nt*a,n.st*o,d.nt*a,d.st*o);break}}1!==n&&s!==u&&(e(s,d),l.moveTo(d.nt*a,d.st*o))}(c!==d||c===d&&1===n)&&h(t,u,c,d)}}const bt=6;function wt(t,i){return{nt:t.nt-i.nt,st:t.st-i.st}}function gt(t,i){return{nt:t.nt/i,st:t.st/i}}function Mt(t,i,n){const s=Math.max(0,i-1),e=Math.min(t.length-1,n+1);var r,h;return[(r=t[i],h=gt(wt(t[n],t[s]),bt),{nt:r.nt+h.nt,st:r.st+h.st}),wt(t[n],gt(wt(t[e],t[i]),bt))]}function xt(t,i,n,s,e){const{context:r,horizontalPixelRatio:h,verticalPixelRatio:l}=i;r.lineTo(e.nt*h,t*l),r.lineTo(s.nt*h,t*l),r.closePath(),r.fillStyle=n,r.fill()}class St extends H{constructor(){super(...arguments),this.G=null}J(t){this.G=t}K(t){var i;if(null===this.G)return;const{it:n,tt:s,ds:e,et:r,Nt:h,fs:l}=this.G,a=null!==(i=this.G.vs)&&void 0!==i?i:this.G.ps?0:t.mediaSize.height;if(null===s)return;const o=t.context;o.lineCap=\"butt\",o.lineJoin=\"round\",o.lineWidth=r,f(o,h),o.lineWidth=1,mt(t,n,l,s,e,this.bs.bind(this),xt.bind(null,a))}}function kt(t,i,n){return Math.min(Math.max(t,i),n)}function yt(t,i,n){return i-t<=n}function Ct(t){const i=Math.ceil(t);return i%2==0?i-1:i}class Tt{ws(t,i){const n=this.gs,{Ms:s,xs:e,Ss:r,ks:h,ys:l,vs:a}=i;if(void 0===this.Cs||void 0===n||n.Ms!==s||n.xs!==e||n.Ss!==r||n.ks!==h||n.vs!==a||n.ys!==l){const n=t.context.createLinearGradient(0,0,0,l);if(n.addColorStop(0,s),null!=a){const i=kt(a*t.verticalPixelRatio/l,0,1);n.addColorStop(i,e),n.addColorStop(i,r)}n.addColorStop(1,h),this.Cs=n,this.gs=i}return this.Cs}}class Pt extends St{constructor(){super(...arguments),this.Ts=new Tt}bs(t,i){return this.Ts.ws(t,{Ms:i.Ps,xs:\"\",Ss:\"\",ks:i.Rs,ys:t.bitmapSize.height})}}function Rt(t,i){const n=t.context;n.strokeStyle=i,n.stroke()}class Dt extends H{constructor(){super(...arguments),this.G=null}J(t){this.G=t}K(t){if(null===this.G)return;const{it:i,tt:n,ds:s,fs:e,et:r,Nt:h,Ds:l}=this.G;if(null===n)return;const a=t.context;a.lineCap=\"butt\",a.lineWidth=r*t.verticalPixelRatio,f(a,h),a.lineJoin=\"round\";const o=this.Vs.bind(this);void 0!==e&&mt(t,i,e,n,s,o,Rt),l&&function(t,i,n,s,e){const{horizontalPixelRatio:r,verticalPixelRatio:h,context:l}=t;let a=null;const o=Math.max(1,Math.floor(r))%2/2,_=n*h+o;for(let n=s.to-1;n>=s.from;--n){const s=i[n];if(s){const i=e(t,s);i!==a&&(l.beginPath(),null!==a&&l.fill(),l.fillStyle=i,a=i);const n=Math.round(s.nt*r)+o,u=s.st*h;l.moveTo(n,u),l.arc(n,u,_,0,2*Math.PI)}}l.fill()}(t,i,l,n,o)}}class Vt extends Dt{Vs(t,i){return i.lt}}function Ot(t,i,n,s,e=0,r=i.length){let h=r-e;for(;0<h;){const r=h>>1,l=e+r;s(i[l],n)===t?(e=l+1,h-=r+1):h=r}return e}const Bt=Ot.bind(null,!0),At=Ot.bind(null,!1);function It(t,i){return t.ot<i}function zt(t,i){return i<t.ot}function Lt(t,i,n){const s=i.Os(),e=i.ui(),r=Bt(t,s,It),h=At(t,e,zt);if(!n)return{from:r,to:h};let l=r,a=h;return r>0&&r<t.length&&t[r].ot>=s&&(l=r-1),h>0&&h<t.length&&t[h-1].ot<=e&&(a=h+1),{from:l,to:a}}class Et{constructor(t,i,n){this.Bs=!0,this.As=!0,this.Is=!0,this.zs=[],this.Ls=null,this.Es=t,this.Ns=i,this.Fs=n}bt(t){this.Bs=!0,\"data\"===t&&(this.As=!0),\"options\"===t&&(this.Is=!0)}gt(){return this.Es.yt()?(this.Ws(),null===this.Ls?null:this.js):null}Hs(){this.zs=this.zs.map((t=>Object.assign(Object.assign({},t),this.Es.Us().$s(t.ot))))}qs(){this.Ls=null}Ws(){this.As&&(this.Ys(),this.As=!1),this.Is&&(this.Hs(),this.Is=!1),this.Bs&&(this.Zs(),this.Bs=!1)}Zs(){const t=this.Es.Dt(),i=this.Ns.St();if(this.qs(),i.Ni()||t.Ni())return;const n=i.Xs();if(null===n)return;if(0===this.Es.In().Ks())return;const s=this.Es.Ct();null!==s&&(this.Ls=Lt(this.zs,n,this.Fs),this.Gs(t,i,s.Vt),this.Js())}}class Nt extends Et{constructor(t,i){super(t,i,!0)}Gs(t,i,n){i.Qs(this.zs,E(this.Ls)),t.te(this.zs,n,E(this.Ls))}ie(t,i){return{ot:t,_t:i,nt:NaN,st:NaN}}Ys(){const t=this.Es.Us();this.zs=this.Es.In().ne().map((i=>{const n=i.Vt[3];return this.se(i.ee,n,t)}))}}class Ft extends Nt{constructor(t,i){super(t,i),this.js=new j,this.re=new Pt,this.he=new Vt,this.js.Z([this.re,this.he])}se(t,i,n){return Object.assign(Object.assign({},this.ie(t,i)),n.$s(t))}Js(){const t=this.Es.W();this.re.J({fs:t.lineType,it:this.zs,Nt:t.lineStyle,et:t.lineWidth,vs:null,ps:t.invertFilledArea,tt:this.Ls,ds:this.Ns.St().le()}),this.he.J({fs:t.lineVisible?t.lineType:void 0,it:this.zs,Nt:t.lineStyle,et:t.lineWidth,tt:this.Ls,ds:this.Ns.St().le(),Ds:t.pointMarkersVisible?t.pointMarkersRadius||t.lineWidth/2+2:void 0})}}class Wt extends H{constructor(){super(...arguments),this.zt=null,this.ae=0,this.oe=0}J(t){this.zt=t}K({context:t,horizontalPixelRatio:i,verticalPixelRatio:n}){if(null===this.zt||0===this.zt.In.length||null===this.zt.tt)return;if(this.ae=this._e(i),this.ae>=2){Math.max(1,Math.floor(i))%2!=this.ae%2&&this.ae--}this.oe=this.zt.ue?Math.min(this.ae,Math.floor(i)):this.ae;let s=null;const e=this.oe<=this.ae&&this.zt.le>=Math.floor(1.5*i);for(let r=this.zt.tt.from;r<this.zt.tt.to;++r){const h=this.zt.In[r];s!==h.ce&&(t.fillStyle=h.ce,s=h.ce);const l=Math.floor(.5*this.oe),a=Math.round(h.nt*i),o=a-l,_=this.oe,u=o+_-1,c=Math.min(h.de,h.fe),d=Math.max(h.de,h.fe),f=Math.round(c*n)-l,v=Math.round(d*n)+l,p=Math.max(v-f,this.oe);t.fillRect(o,f,_,p);const m=Math.ceil(1.5*this.ae);if(e){if(this.zt.ve){const i=a-m;let s=Math.max(f,Math.round(h.pe*n)-l),e=s+_-1;e>f+p-1&&(e=f+p-1,s=e-_+1),t.fillRect(i,s,o-i,e-s+1)}const i=a+m;let s=Math.max(f,Math.round(h.me*n)-l),e=s+_-1;e>f+p-1&&(e=f+p-1,s=e-_+1),t.fillRect(u+1,s,i-u,e-s+1)}}}_e(t){const i=Math.floor(t);return Math.max(i,Math.floor(function(t,i){return Math.floor(.3*t*i)}(b(this.zt).le,t)))}}class jt extends Et{constructor(t,i){super(t,i,!1)}Gs(t,i,n){i.Qs(this.zs,E(this.Ls)),t.be(this.zs,n,E(this.Ls))}we(t,i,n){return{ot:t,ge:i.Vt[0],Me:i.Vt[1],xe:i.Vt[2],Se:i.Vt[3],nt:NaN,pe:NaN,de:NaN,fe:NaN,me:NaN}}Ys(){const t=this.Es.Us();this.zs=this.Es.In().ne().map((i=>this.se(i.ee,i,t)))}}class Ht extends jt{constructor(){super(...arguments),this.js=new Wt}se(t,i,n){return Object.assign(Object.assign({},this.we(t,i,n)),n.$s(t))}Js(){const t=this.Es.W();this.js.J({In:this.zs,le:this.Ns.St().le(),ve:t.openVisible,ue:t.thinBars,tt:this.Ls})}}class $t extends St{constructor(){super(...arguments),this.Ts=new Tt}bs(t,i){const n=this.G;return this.Ts.ws(t,{Ms:i.ke,xs:i.ye,Ss:i.Ce,ks:i.Te,ys:t.bitmapSize.height,vs:n.vs})}}class Ut extends Dt{constructor(){super(...arguments),this.Pe=new Tt}Vs(t,i){const n=this.G;return this.Pe.ws(t,{Ms:i.Re,xs:i.Re,Ss:i.De,ks:i.De,ys:t.bitmapSize.height,vs:n.vs})}}class qt extends Nt{constructor(t,i){super(t,i),this.js=new j,this.Ve=new $t,this.Oe=new Ut,this.js.Z([this.Ve,this.Oe])}se(t,i,n){return Object.assign(Object.assign({},this.ie(t,i)),n.$s(t))}Js(){const t=this.Es.Ct();if(null===t)return;const i=this.Es.W(),n=this.Es.Dt().Rt(i.baseValue.price,t.Vt),s=this.Ns.St().le();this.Ve.J({it:this.zs,et:i.lineWidth,Nt:i.lineStyle,fs:i.lineType,vs:n,ps:!1,tt:this.Ls,ds:s}),this.Oe.J({it:this.zs,et:i.lineWidth,Nt:i.lineStyle,fs:i.lineVisible?i.lineType:void 0,Ds:i.pointMarkersVisible?i.pointMarkersRadius||i.lineWidth/2+2:void 0,vs:n,tt:this.Ls,ds:s})}}class Yt extends H{constructor(){super(...arguments),this.zt=null,this.ae=0}J(t){this.zt=t}K(t){if(null===this.zt||0===this.zt.In.length||null===this.zt.tt)return;const{horizontalPixelRatio:i}=t;if(this.ae=function(t,i){if(t>=2.5&&t<=4)return Math.floor(3*i);const n=1-.2*Math.atan(Math.max(4,t)-4)/(.5*Math.PI),s=Math.floor(t*n*i),e=Math.floor(t*i),r=Math.min(s,e);return Math.max(Math.floor(i),r)}(this.zt.le,i),this.ae>=2){Math.floor(i)%2!=this.ae%2&&this.ae--}const n=this.zt.In;this.zt.Be&&this.Ae(t,n,this.zt.tt),this.zt._i&&this.Ie(t,n,this.zt.tt);const s=this.ze(i);(!this.zt._i||this.ae>2*s)&&this.Le(t,n,this.zt.tt)}Ae(t,i,n){if(null===this.zt)return;const{context:s,horizontalPixelRatio:e,verticalPixelRatio:r}=t;let h=\"\",l=Math.min(Math.floor(e),Math.floor(this.zt.le*e));l=Math.max(Math.floor(e),Math.min(l,this.ae));const a=Math.floor(.5*l);let o=null;for(let t=n.from;t<n.to;t++){const n=i[t];n.Ee!==h&&(s.fillStyle=n.Ee,h=n.Ee);const _=Math.round(Math.min(n.pe,n.me)*r),u=Math.round(Math.max(n.pe,n.me)*r),c=Math.round(n.de*r),d=Math.round(n.fe*r);let f=Math.round(e*n.nt)-a;const v=f+l-1;null!==o&&(f=Math.max(o+1,f),f=Math.min(f,v));const p=v-f+1;s.fillRect(f,c,p,_-c),s.fillRect(f,u+1,p,d-u),o=v}}ze(t){let i=Math.floor(1*t);this.ae<=2*i&&(i=Math.floor(.5*(this.ae-1)));const n=Math.max(Math.floor(t),i);return this.ae<=2*n?Math.max(Math.floor(t),Math.floor(1*t)):n}Ie(t,i,n){if(null===this.zt)return;const{context:s,horizontalPixelRatio:e,verticalPixelRatio:r}=t;let h=\"\";const l=this.ze(e);let a=null;for(let t=n.from;t<n.to;t++){const n=i[t];n.Ne!==h&&(s.fillStyle=n.Ne,h=n.Ne);let o=Math.round(n.nt*e)-Math.floor(.5*this.ae);const _=o+this.ae-1,u=Math.round(Math.min(n.pe,n.me)*r),c=Math.round(Math.max(n.pe,n.me)*r);if(null!==a&&(o=Math.max(a+1,o),o=Math.min(o,_)),this.zt.le*e>2*l)K(s,o,u,_-o+1,c-u+1,l);else{const t=_-o+1;s.fillRect(o,u,t,c-u+1)}a=_}}Le(t,i,n){if(null===this.zt)return;const{context:s,horizontalPixelRatio:e,verticalPixelRatio:r}=t;let h=\"\";const l=this.ze(e);for(let t=n.from;t<n.to;t++){const n=i[t];let a=Math.round(Math.min(n.pe,n.me)*r),o=Math.round(Math.max(n.pe,n.me)*r),_=Math.round(n.nt*e)-Math.floor(.5*this.ae),u=_+this.ae-1;if(n.ce!==h){const t=n.ce;s.fillStyle=t,h=t}this.zt._i&&(_+=l,a+=l,u-=l,o-=l),a>o||s.fillRect(_,a,u-_+1,o-a+1)}}}class Zt extends jt{constructor(){super(...arguments),this.js=new Yt}se(t,i,n){return Object.assign(Object.assign({},this.we(t,i,n)),n.$s(t))}Js(){const t=this.Es.W();this.js.J({In:this.zs,le:this.Ns.St().le(),Be:t.wickVisible,_i:t.borderVisible,tt:this.Ls})}}class Xt{constructor(t,i){this.Fe=t,this.Li=i}X(t,i,n){this.Fe.draw(t,this.Li,i,n)}}class Kt extends Et{constructor(t,i,n){super(t,i,!1),this.wn=n,this.js=new Xt(this.wn.renderer(),(i=>{const n=t.Ct();return null===n?null:t.Dt().Rt(i,n.Vt)}))}We(t){return this.wn.priceValueBuilder(t)}je(t){return this.wn.isWhitespace(t)}Ys(){const t=this.Es.Us();this.zs=this.Es.In().ne().map((i=>Object.assign(Object.assign({ot:i.ee,nt:NaN},t.$s(i.ee)),{He:i.$e})))}Gs(t,i){i.Qs(this.zs,E(this.Ls))}Js(){this.wn.update({bars:this.zs.map(Gt),barSpacing:this.Ns.St().le(),visibleRange:this.Ls},this.Es.W())}}function Gt(t){return{x:t.nt,time:t.ot,originalData:t.He,barColor:t.ce}}class Jt extends H{constructor(){super(...arguments),this.zt=null,this.Ue=[]}J(t){this.zt=t,this.Ue=[]}K({context:t,horizontalPixelRatio:i,verticalPixelRatio:n}){if(null===this.zt||0===this.zt.it.length||null===this.zt.tt)return;this.Ue.length||this.qe(i);const s=Math.max(1,Math.floor(n)),e=Math.round(this.zt.Ye*n)-Math.floor(s/2),r=e+s;for(let i=this.zt.tt.from;i<this.zt.tt.to;i++){const h=this.zt.it[i],l=this.Ue[i-this.zt.tt.from],a=Math.round(h.st*n);let o,_;t.fillStyle=h.ce,a<=e?(o=a,_=r):(o=e,_=a-Math.floor(s/2)+s),t.fillRect(l.Os,o,l.ui-l.Os+1,_-o)}}qe(t){if(null===this.zt||0===this.zt.it.length||null===this.zt.tt)return void(this.Ue=[]);const i=Math.ceil(this.zt.le*t)<=1?0:Math.max(1,Math.floor(t)),n=Math.round(this.zt.le*t)-i;this.Ue=new Array(this.zt.tt.to-this.zt.tt.from);for(let i=this.zt.tt.from;i<this.zt.tt.to;i++){const s=this.zt.it[i],e=Math.round(s.nt*t);let r,h;if(n%2){const t=(n-1)/2;r=e-t,h=e+t}else{const t=n/2;r=e-t,h=e+t-1}this.Ue[i-this.zt.tt.from]={Os:r,ui:h,Ze:e,Xe:s.nt*t,ot:s.ot}}for(let t=this.zt.tt.from+1;t<this.zt.tt.to;t++){const n=this.Ue[t-this.zt.tt.from],s=this.Ue[t-this.zt.tt.from-1];n.ot===s.ot+1&&(n.Os-s.ui!==i+1&&(s.Ze>s.Xe?s.ui=n.Os-i-1:n.Os=s.ui+i+1))}let s=Math.ceil(this.zt.le*t);for(let t=this.zt.tt.from;t<this.zt.tt.to;t++){const i=this.Ue[t-this.zt.tt.from];i.ui<i.Os&&(i.ui=i.Os);const n=i.ui-i.Os+1;s=Math.min(n,s)}if(i>0&&s<4)for(let t=this.zt.tt.from;t<this.zt.tt.to;t++){const i=this.Ue[t-this.zt.tt.from];i.ui-i.Os+1>s&&(i.Ze>i.Xe?i.ui-=1:i.Os+=1)}}}class Qt extends Nt{constructor(){super(...arguments),this.js=new Jt}se(t,i,n){return Object.assign(Object.assign({},this.ie(t,i)),n.$s(t))}Js(){const t={it:this.zs,le:this.Ns.St().le(),tt:this.Ls,Ye:this.Es.Dt().Rt(this.Es.W().base,b(this.Es.Ct()).Vt)};this.js.J(t)}}class ti extends Nt{constructor(){super(...arguments),this.js=new Vt}se(t,i,n){return Object.assign(Object.assign({},this.ie(t,i)),n.$s(t))}Js(){const t=this.Es.W(),i={it:this.zs,Nt:t.lineStyle,fs:t.lineVisible?t.lineType:void 0,et:t.lineWidth,Ds:t.pointMarkersVisible?t.pointMarkersRadius||t.lineWidth/2+2:void 0,tt:this.Ls,ds:this.Ns.St().le()};this.js.J(i)}}const ii=/[2-9]/g;class ni{constructor(t=50){this.Ke=0,this.Ge=1,this.Je=1,this.Qe={},this.tr=new Map,this.ir=t}nr(){this.Ke=0,this.tr.clear(),this.Ge=1,this.Je=1,this.Qe={}}xi(t,i,n){return this.sr(t,i,n).width}Mi(t,i,n){const s=this.sr(t,i,n);return((s.actualBoundingBoxAscent||0)-(s.actualBoundingBoxDescent||0))/2}sr(t,i,n){const s=n||ii,e=String(i).replace(s,\"0\");if(this.tr.has(e))return m(this.tr.get(e)).er;if(this.Ke===this.ir){const t=this.Qe[this.Je];delete this.Qe[this.Je],this.tr.delete(t),this.Je++,this.Ke--}t.save(),t.textBaseline=\"middle\";const r=t.measureText(e);return t.restore(),0===r.width&&i.length||(this.tr.set(e,{er:r,rr:this.Ge}),this.Qe[this.Ge]=e,this.Ke++,this.Ge++),r}}class si{constructor(t){this.hr=null,this.k=null,this.lr=\"right\",this.ar=t}_r(t,i,n){this.hr=t,this.k=i,this.lr=n}X(t){null!==this.k&&null!==this.hr&&this.hr.X(t,this.k,this.ar,this.lr)}}class ei{constructor(t,i,n){this.ur=t,this.ar=new ni(50),this.cr=i,this.F=n,this.j=-1,this.Wt=new si(this.ar)}gt(){const t=this.F.dr(this.cr);if(null===t)return null;const i=t.vr(this.cr)?t.pr():this.cr.Dt();if(null===i)return null;const n=t.mr(i);if(\"overlay\"===n)return null;const s=this.F.br();return s.P!==this.j&&(this.j=s.P,this.ar.nr()),this.Wt._r(this.ur.Ii(),s,n),this.Wt}}class ri extends H{constructor(){super(...arguments),this.zt=null}J(t){this.zt=t}wr(t,i){var n;if(!(null===(n=this.zt)||void 0===n?void 0:n.yt))return null;const{st:s,et:e,gr:r}=this.zt;return i>=s-e-7&&i<=s+e+7?{Mr:this.zt,gr:r}:null}K({context:t,bitmapSize:i,horizontalPixelRatio:n,verticalPixelRatio:s}){if(null===this.zt)return;if(!1===this.zt.yt)return;const e=Math.round(this.zt.st*s);e<0||e>i.height||(t.lineCap=\"butt\",t.strokeStyle=this.zt.V,t.lineWidth=Math.floor(this.zt.et*n),f(t,this.zt.Nt),v(t,e,0,i.width))}}class hi{constructor(t){this.Sr={st:0,V:\"rgba(0, 0, 0, 0)\",et:1,Nt:0,yt:!1},this.kr=new ri,this.ft=!0,this.Es=t,this.Ns=t.$t(),this.kr.J(this.Sr)}bt(){this.ft=!0}gt(){return this.Es.yt()?(this.ft&&(this.yr(),this.ft=!1),this.kr):null}}class li extends hi{constructor(t){super(t)}yr(){this.Sr.yt=!1;const t=this.Es.Dt(),i=t.Cr().Cr;if(2!==i&&3!==i)return;const n=this.Es.W();if(!n.baseLineVisible||!this.Es.yt())return;const s=this.Es.Ct();null!==s&&(this.Sr.yt=!0,this.Sr.st=t.Rt(s.Vt,s.Vt),this.Sr.V=n.baseLineColor,this.Sr.et=n.baseLineWidth,this.Sr.Nt=n.baseLineStyle)}}class ai extends H{constructor(){super(...arguments),this.zt=null}J(t){this.zt=t}$e(){return this.zt}K({context:t,horizontalPixelRatio:i,verticalPixelRatio:n}){const s=this.zt;if(null===s)return;const e=Math.max(1,Math.floor(i)),r=e%2/2,h=Math.round(s.Xe.x*i)+r,l=s.Xe.y*n;t.fillStyle=s.Tr,t.beginPath();const a=Math.max(2,1.5*s.Pr)*i;t.arc(h,l,a,0,2*Math.PI,!1),t.fill(),t.fillStyle=s.Rr,t.beginPath(),t.arc(h,l,s.ht*i,0,2*Math.PI,!1),t.fill(),t.lineWidth=e,t.strokeStyle=s.Dr,t.beginPath(),t.arc(h,l,s.ht*i+e/2,0,2*Math.PI,!1),t.stroke()}}const oi=[{Vr:0,Or:.25,Br:4,Ar:10,Ir:.25,zr:0,Lr:.4,Er:.8},{Vr:.25,Or:.525,Br:10,Ar:14,Ir:0,zr:0,Lr:.8,Er:0},{Vr:.525,Or:1,Br:14,Ar:14,Ir:0,zr:0,Lr:0,Er:0}];function _i(t,i,n,s){return function(t,i){if(\"transparent\"===t)return t;const n=T(t),s=n[3];return`rgba(${n[0]}, ${n[1]}, ${n[2]}, ${i*s})`}(t,n+(s-n)*i)}function ui(t,i){const n=t%2600/2600;let s;for(const t of oi)if(n>=t.Vr&&n<=t.Or){s=t;break}p(void 0!==s,\"Last price animation internal logic error\");const e=(n-s.Vr)/(s.Or-s.Vr);return{Rr:_i(i,e,s.Ir,s.zr),Dr:_i(i,e,s.Lr,s.Er),ht:(r=e,h=s.Br,l=s.Ar,h+(l-h)*r)};var r,h,l}class ci{constructor(t){this.Wt=new ai,this.ft=!0,this.Nr=!0,this.Fr=performance.now(),this.Wr=this.Fr-1,this.jr=t}Hr(){this.Wr=this.Fr-1,this.bt()}$r(){if(this.bt(),2===this.jr.W().lastPriceAnimation){const t=performance.now(),i=this.Wr-t;if(i>0)return void(i<650&&(this.Wr+=2600));this.Fr=t,this.Wr=t+2600}}bt(){this.ft=!0}Ur(){this.Nr=!0}yt(){return 0!==this.jr.W().lastPriceAnimation}qr(){switch(this.jr.W().lastPriceAnimation){case 0:return!1;case 1:return!0;case 2:return performance.now()<=this.Wr}}gt(){return this.ft?(this.Mt(),this.ft=!1,this.Nr=!1):this.Nr&&(this.Yr(),this.Nr=!1),this.Wt}Mt(){this.Wt.J(null);const t=this.jr.$t().St(),i=t.Xs(),n=this.jr.Ct();if(null===i||null===n)return;const s=this.jr.Zr(!0);if(s.Xr||!i.Kr(s.ee))return;const e={x:t.It(s.ee),y:this.jr.Dt().Rt(s._t,n.Vt)},r=s.V,h=this.jr.W().lineWidth,l=ui(this.Gr(),r);this.Wt.J({Tr:r,Pr:h,Rr:l.Rr,Dr:l.Dr,ht:l.ht,Xe:e})}Yr(){const t=this.Wt.$e();if(null!==t){const i=ui(this.Gr(),t.Tr);t.Rr=i.Rr,t.Dr=i.Dr,t.ht=i.ht}}Gr(){return this.qr()?performance.now()-this.Fr:2599}}function di(t,i){return Ct(Math.min(Math.max(t,12),30)*i)}function fi(t,i){switch(t){case\"arrowDown\":case\"arrowUp\":return di(i,1);case\"circle\":return di(i,.8);case\"square\":return di(i,.7)}}function vi(t){return function(t){const i=Math.ceil(t);return i%2!=0?i-1:i}(di(t,1))}function pi(t){return Math.max(di(t,.1),3)}function mi(t,i,n){return i?t:n?Math.ceil(t/2):0}function bi(t,i,n,s,e){const r=fi(\"square\",n),h=(r-1)/2,l=t-h,a=i-h;return s>=l&&s<=l+r&&e>=a&&e<=a+r}function wi(t,i,n,s){const e=(fi(\"arrowUp\",s)-1)/2*n.Jr,r=(Ct(s/2)-1)/2*n.Jr;i.beginPath(),t?(i.moveTo(n.nt-e,n.st),i.lineTo(n.nt,n.st-e),i.lineTo(n.nt+e,n.st),i.lineTo(n.nt+r,n.st),i.lineTo(n.nt+r,n.st+e),i.lineTo(n.nt-r,n.st+e),i.lineTo(n.nt-r,n.st)):(i.moveTo(n.nt-e,n.st),i.lineTo(n.nt,n.st+e),i.lineTo(n.nt+e,n.st),i.lineTo(n.nt+r,n.st),i.lineTo(n.nt+r,n.st-e),i.lineTo(n.nt-r,n.st-e),i.lineTo(n.nt-r,n.st)),i.fill()}function gi(t,i,n,s,e,r){return bi(i,n,s,e,r)}class Mi extends H{constructor(){super(...arguments),this.zt=null,this.ar=new ni,this.j=-1,this.H=\"\",this.Qr=\"\"}J(t){this.zt=t}_r(t,i){this.j===t&&this.H===i||(this.j=t,this.H=i,this.Qr=F(t,i),this.ar.nr())}wr(t,i){if(null===this.zt||null===this.zt.tt)return null;for(let n=this.zt.tt.from;n<this.zt.tt.to;n++){const s=this.zt.it[n];if(Si(s,t,i))return{Mr:s.th,gr:s.gr}}return null}K({context:t,horizontalPixelRatio:i,verticalPixelRatio:n},s,e){if(null!==this.zt&&null!==this.zt.tt){t.textBaseline=\"middle\",t.font=this.Qr;for(let s=this.zt.tt.from;s<this.zt.tt.to;s++){const e=this.zt.it[s];void 0!==e.Kt&&(e.Kt.Hi=this.ar.xi(t,e.Kt.ih),e.Kt.At=this.j,e.Kt.nt=e.nt-e.Kt.Hi/2),xi(e,t,i,n)}}}}function xi(t,i,n,s){i.fillStyle=t.V,void 0!==t.Kt&&function(t,i,n,s,e,r){t.save(),t.scale(e,r),t.fillText(i,n,s),t.restore()}(i,t.Kt.ih,t.Kt.nt,t.Kt.st,n,s),function(t,i,n){if(0===t.Ks)return;switch(t.nh){case\"arrowDown\":return void wi(!1,i,n,t.Ks);case\"arrowUp\":return void wi(!0,i,n,t.Ks);case\"circle\":return void function(t,i,n){const s=(fi(\"circle\",n)-1)/2;t.beginPath(),t.arc(i.nt,i.st,s*i.Jr,0,2*Math.PI,!1),t.fill()}(i,n,t.Ks);case\"square\":return void function(t,i,n){const s=fi(\"square\",n),e=(s-1)*i.Jr/2,r=i.nt-e,h=i.st-e;t.fillRect(r,h,s*i.Jr,s*i.Jr)}(i,n,t.Ks)}t.nh}(t,i,function(t,i,n){const s=Math.max(1,Math.floor(i))%2/2;return{nt:Math.round(t.nt*i)+s,st:t.st*n,Jr:i}}(t,n,s))}function Si(t,i,n){return!(void 0===t.Kt||!function(t,i,n,s,e,r){const h=s/2;return e>=t&&e<=t+n&&r>=i-h&&r<=i+h}(t.Kt.nt,t.Kt.st,t.Kt.Hi,t.Kt.At,i,n))||function(t,i,n){if(0===t.Ks)return!1;switch(t.nh){case\"arrowDown\":case\"arrowUp\":return gi(0,t.nt,t.st,t.Ks,i,n);case\"circle\":return function(t,i,n,s,e){const r=2+fi(\"circle\",n)/2,h=t-s,l=i-e;return Math.sqrt(h*h+l*l)<=r}(t.nt,t.st,t.Ks,i,n);case\"square\":return bi(t.nt,t.st,t.Ks,i,n)}}(t,i,n)}function ki(t,i,n,s,e,r,h,l,a){const o=O(n)?n:n.Se,_=O(n)?n:n.Me,u=O(n)?n:n.xe,c=O(i.size)?Math.max(i.size,0):1,d=vi(l.le())*c,f=d/2;switch(t.Ks=d,i.position){case\"inBar\":return t.st=h.Rt(o,a),void(void 0!==t.Kt&&(t.Kt.st=t.st+f+r+.6*e));case\"aboveBar\":return t.st=h.Rt(_,a)-f-s.sh,void 0!==t.Kt&&(t.Kt.st=t.st-f-.6*e,s.sh+=1.2*e),void(s.sh+=d+r);case\"belowBar\":return t.st=h.Rt(u,a)+f+s.eh,void 0!==t.Kt&&(t.Kt.st=t.st+f+r+.6*e,s.eh+=1.2*e),void(s.eh+=d+r)}i.position}class yi{constructor(t,i){this.ft=!0,this.rh=!0,this.hh=!0,this.ah=null,this.oh=null,this.Wt=new Mi,this.jr=t,this.$i=i,this.zt={it:[],tt:null}}bt(t){this.ft=!0,this.hh=!0,\"data\"===t&&(this.rh=!0,this.oh=null)}gt(t){if(!this.jr.yt())return null;this.ft&&this._h();const i=this.$i.W().layout;return this.Wt._r(i.fontSize,i.fontFamily),this.Wt.J(this.zt),this.Wt}uh(){if(this.hh){if(this.jr.dh().length>0){const t=this.$i.St().le(),i=pi(t),n=1.5*vi(t)+2*i,s=this.fh();this.ah={above:mi(n,s.aboveBar,s.inBar),below:mi(n,s.belowBar,s.inBar)}}else this.ah=null;this.hh=!1}return this.ah}fh(){return null===this.oh&&(this.oh=this.jr.dh().reduce(((t,i)=>(t[i.position]||(t[i.position]=!0),t)),{inBar:!1,aboveBar:!1,belowBar:!1})),this.oh}_h(){const t=this.jr.Dt(),i=this.$i.St(),n=this.jr.dh();this.rh&&(this.zt.it=n.map((t=>({ot:t.time,nt:0,st:0,Ks:0,nh:t.shape,V:t.color,th:t.th,gr:t.id,Kt:void 0}))),this.rh=!1);const s=this.$i.W().layout;this.zt.tt=null;const e=i.Xs();if(null===e)return;const r=this.jr.Ct();if(null===r)return;if(0===this.zt.it.length)return;let h=NaN;const l=pi(i.le()),a={sh:l,eh:l};this.zt.tt=Lt(this.zt.it,e,!0);for(let e=this.zt.tt.from;e<this.zt.tt.to;e++){const o=n[e];o.time!==h&&(a.sh=l,a.eh=l,h=o.time);const _=this.zt.it[e];_.nt=i.It(o.time),void 0!==o.text&&o.text.length>0&&(_.Kt={ih:o.text,nt:0,st:0,Hi:0,At:0});const u=this.jr.ph(o.time);null!==u&&ki(_,o,u,a,s.fontSize,l,t,i,r.Vt)}this.ft=!1}}class Ci extends hi{constructor(t){super(t)}yr(){const t=this.Sr;t.yt=!1;const i=this.Es.W();if(!i.priceLineVisible||!this.Es.yt())return;const n=this.Es.Zr(0===i.priceLineSource);n.Xr||(t.yt=!0,t.st=n.ki,t.V=this.Es.mh(n.V),t.et=i.priceLineWidth,t.Nt=i.priceLineStyle)}}class Ti extends nt{constructor(t){super(),this.jt=t}zi(t,i,n){t.yt=!1,i.yt=!1;const s=this.jt;if(!s.yt())return;const e=s.W(),r=e.lastValueVisible,h=\"\"!==s.bh(),l=0===e.seriesLastValueMode,a=s.Zr(!1);if(a.Xr)return;r&&(t.Kt=this.wh(a,r,l),t.yt=0!==t.Kt.length),(h||l)&&(i.Kt=this.gh(a,r,h,l),i.yt=i.Kt.length>0);const o=s.mh(a.V),_=R(o);n.t=_.t,n.ki=a.ki,i.Ot=s.$t().Bt(a.ki/s.Dt().At()),t.Ot=o,t.V=_.i,i.V=_.i}gh(t,i,n,s){let e=\"\";const r=this.jt.bh();return n&&0!==r.length&&(e+=`${r} `),i&&s&&(e+=this.jt.Dt().Mh()?t.xh:t.Sh),e.trim()}wh(t,i,n){return i?n?this.jt.Dt().Mh()?t.Sh:t.xh:t.Kt:\"\"}}function Pi(t,i,n,s){const e=Number.isFinite(i),r=Number.isFinite(n);return e&&r?t(i,n):e||r?e?i:n:s}class Ri{constructor(t,i){this.kh=t,this.yh=i}Ch(t){return null!==t&&(this.kh===t.kh&&this.yh===t.yh)}Th(){return new Ri(this.kh,this.yh)}Ph(){return this.kh}Rh(){return this.yh}Dh(){return this.yh-this.kh}Ni(){return this.yh===this.kh||Number.isNaN(this.yh)||Number.isNaN(this.kh)}ts(t){return null===t?this:new Ri(Pi(Math.min,this.Ph(),t.Ph(),-1/0),Pi(Math.max,this.Rh(),t.Rh(),1/0))}Vh(t){if(!O(t))return;if(0===this.yh-this.kh)return;const i=.5*(this.yh+this.kh);let n=this.yh-i,s=this.kh-i;n*=t,s*=t,this.yh=i+n,this.kh=i+s}Oh(t){O(t)&&(this.yh+=t,this.kh+=t)}Bh(){return{minValue:this.kh,maxValue:this.yh}}static Ah(t){return null===t?null:new Ri(t.minValue,t.maxValue)}}class Di{constructor(t,i){this.Ih=t,this.zh=i||null}Lh(){return this.Ih}Eh(){return this.zh}Bh(){return null===this.Ih?null:{priceRange:this.Ih.Bh(),margins:this.zh||void 0}}static Ah(t){return null===t?null:new Di(Ri.Ah(t.priceRange),t.margins)}}class Vi extends hi{constructor(t,i){super(t),this.Nh=i}yr(){const t=this.Sr;t.yt=!1;const i=this.Nh.W();if(!this.Es.yt()||!i.lineVisible)return;const n=this.Nh.Fh();null!==n&&(t.yt=!0,t.st=n,t.V=i.color,t.et=i.lineWidth,t.Nt=i.lineStyle,t.gr=this.Nh.W().id)}}class Oi extends nt{constructor(t,i){super(),this.jr=t,this.Nh=i}zi(t,i,n){t.yt=!1,i.yt=!1;const s=this.Nh.W(),e=s.axisLabelVisible,r=\"\"!==s.title,h=this.jr;if(!e||!h.yt())return;const l=this.Nh.Fh();if(null===l)return;r&&(i.Kt=s.title,i.yt=!0),i.Ot=h.$t().Bt(l/h.Dt().At()),t.Kt=this.Wh(s.price),t.yt=!0;const a=R(s.axisLabelColor||s.color);n.t=a.t;const o=s.axisLabelTextColor||a.i;t.V=o,i.V=o,n.ki=l}Wh(t){const i=this.jr.Ct();return null===i?\"\":this.jr.Dt().Fi(t,i.Vt)}}class Bi{constructor(t,i){this.jr=t,this.cn=i,this.jh=new Vi(t,this),this.ur=new Oi(t,this),this.Hh=new ei(this.ur,t,t.$t())}$h(t){V(this.cn,t),this.bt(),this.jr.$t().Uh()}W(){return this.cn}qh(){return this.jh}Yh(){return this.Hh}Zh(){return this.ur}bt(){this.jh.bt(),this.ur.bt()}Fh(){const t=this.jr,i=t.Dt();if(t.$t().St().Ni()||i.Ni())return null;const n=t.Ct();return null===n?null:i.Rt(this.cn.price,n.Vt)}}class Ai extends lt{constructor(t){super(),this.$i=t}$t(){return this.$i}}const Ii={Bar:(t,i,n,s)=>{var e;const r=i.upColor,h=i.downColor,l=b(t(n,s)),a=w(l.Vt[0])<=w(l.Vt[3]);return{ce:null!==(e=l.V)&&void 0!==e?e:a?r:h}},Candlestick:(t,i,n,s)=>{var e,r,h;const l=i.upColor,a=i.downColor,o=i.borderUpColor,_=i.borderDownColor,u=i.wickUpColor,c=i.wickDownColor,d=b(t(n,s)),f=w(d.Vt[0])<=w(d.Vt[3]);return{ce:null!==(e=d.V)&&void 0!==e?e:f?l:a,Ne:null!==(r=d.Ot)&&void 0!==r?r:f?o:_,Ee:null!==(h=d.Xh)&&void 0!==h?h:f?u:c}},Custom:(t,i,n,s)=>{var e;return{ce:null!==(e=b(t(n,s)).V)&&void 0!==e?e:i.color}},Area:(t,i,n,s)=>{var e,r,h,l;const a=b(t(n,s));return{ce:null!==(e=a.lt)&&void 0!==e?e:i.lineColor,lt:null!==(r=a.lt)&&void 0!==r?r:i.lineColor,Ps:null!==(h=a.Ps)&&void 0!==h?h:i.topColor,Rs:null!==(l=a.Rs)&&void 0!==l?l:i.bottomColor}},Baseline:(t,i,n,s)=>{var e,r,h,l,a,o;const _=b(t(n,s));return{ce:_.Vt[3]>=i.baseValue.price?i.topLineColor:i.bottomLineColor,Re:null!==(e=_.Re)&&void 0!==e?e:i.topLineColor,De:null!==(r=_.De)&&void 0!==r?r:i.bottomLineColor,ke:null!==(h=_.ke)&&void 0!==h?h:i.topFillColor1,ye:null!==(l=_.ye)&&void 0!==l?l:i.topFillColor2,Ce:null!==(a=_.Ce)&&void 0!==a?a:i.bottomFillColor1,Te:null!==(o=_.Te)&&void 0!==o?o:i.bottomFillColor2}},Line:(t,i,n,s)=>{var e,r;const h=b(t(n,s));return{ce:null!==(e=h.V)&&void 0!==e?e:i.color,lt:null!==(r=h.V)&&void 0!==r?r:i.color}},Histogram:(t,i,n,s)=>{var e;return{ce:null!==(e=b(t(n,s)).V)&&void 0!==e?e:i.color}}};class zi{constructor(t){this.Kh=(t,i)=>void 0!==i?i.Vt:this.jr.In().Gh(t),this.jr=t,this.Jh=Ii[t.Qh()]}$s(t,i){return this.Jh(this.Kh,this.jr.W(),t,i)}}var Li;!function(t){t[t.NearestLeft=-1]=\"NearestLeft\",t[t.None=0]=\"None\",t[t.NearestRight=1]=\"NearestRight\"}(Li||(Li={}));const Ei=30;class Ni{constructor(){this.tl=[],this.il=new Map,this.nl=new Map}sl(){return this.Ks()>0?this.tl[this.tl.length-1]:null}el(){return this.Ks()>0?this.rl(0):null}An(){return this.Ks()>0?this.rl(this.tl.length-1):null}Ks(){return this.tl.length}Ni(){return 0===this.Ks()}Kr(t){return null!==this.hl(t,0)}Gh(t){return this.ll(t)}ll(t,i=0){const n=this.hl(t,i);return null===n?null:Object.assign(Object.assign({},this.al(n)),{ee:this.rl(n)})}ne(){return this.tl}ol(t,i,n){if(this.Ni())return null;let s=null;for(const e of n){s=Fi(s,this._l(t,i,e))}return s}J(t){this.nl.clear(),this.il.clear(),this.tl=t}rl(t){return this.tl[t].ee}al(t){return this.tl[t]}hl(t,i){const n=this.ul(t);if(null===n&&0!==i)switch(i){case-1:return this.cl(t);case 1:return this.dl(t);default:throw new TypeError(\"Unknown search mode\")}return n}cl(t){let i=this.fl(t);return i>0&&(i-=1),i!==this.tl.length&&this.rl(i)<t?i:null}dl(t){const i=this.vl(t);return i!==this.tl.length&&t<this.rl(i)?i:null}ul(t){const i=this.fl(t);return i===this.tl.length||t<this.tl[i].ee?null:i}fl(t){return Bt(this.tl,t,((t,i)=>t.ee<i))}vl(t){return At(this.tl,t,((t,i)=>t.ee>i))}pl(t,i,n){let s=null;for(let e=t;e<i;e++){const t=this.tl[e].Vt[n];Number.isNaN(t)||(null===s?s={ml:t,bl:t}:(t<s.ml&&(s.ml=t),t>s.bl&&(s.bl=t)))}return s}_l(t,i,n){if(this.Ni())return null;let s=null;const e=b(this.el()),r=b(this.An()),h=Math.max(t,e),l=Math.min(i,r),a=Math.ceil(h/Ei)*Ei,o=Math.max(a,Math.floor(l/Ei)*Ei);{const t=this.fl(h),e=this.vl(Math.min(l,a,i));s=Fi(s,this.pl(t,e,n))}let _=this.il.get(n);void 0===_&&(_=new Map,this.il.set(n,_));for(let t=Math.max(a+1,h);t<o;t+=Ei){const i=Math.floor(t/Ei);let e=_.get(i);if(void 0===e){const t=this.fl(i*Ei),s=this.vl((i+1)*Ei-1);e=this.pl(t,s,n),_.set(i,e)}s=Fi(s,e)}{const t=this.fl(o),i=this.vl(l);s=Fi(s,this.pl(t,i,n))}return s}}function Fi(t,i){if(null===t)return i;if(null===i)return t;return{ml:Math.min(t.ml,i.ml),bl:Math.max(t.bl,i.bl)}}class Wi{constructor(t){this.wl=t}X(t,i,n){this.wl.draw(t)}gl(t,i,n){var s,e;null===(e=(s=this.wl).drawBackground)||void 0===e||e.call(s,t)}}class ji{constructor(t){this.tr=null,this.wn=t}gt(){var t;const i=this.wn.renderer();if(null===i)return null;if((null===(t=this.tr)||void 0===t?void 0:t.Ml)===i)return this.tr.xl;const n=new Wi(i);return this.tr={Ml:i,xl:n},n}Sl(){var t,i,n;return null!==(n=null===(i=(t=this.wn).zOrder)||void 0===i?void 0:i.call(t))&&void 0!==n?n:\"normal\"}}function Hi(t){var i,n,s,e,r;return{Kt:t.text(),ki:t.coordinate(),Si:null===(i=t.fixedCoordinate)||void 0===i?void 0:i.call(t),V:t.textColor(),t:t.backColor(),yt:null===(s=null===(n=t.visible)||void 0===n?void 0:n.call(t))||void 0===s||s,hi:null===(r=null===(e=t.tickVisible)||void 0===e?void 0:e.call(t))||void 0===r||r}}class $i{constructor(t,i){this.Wt=new rt,this.kl=t,this.yl=i}gt(){return this.Wt.J(Object.assign({Hi:this.yl.Hi()},Hi(this.kl))),this.Wt}}class Ui extends nt{constructor(t,i){super(),this.kl=t,this.Li=i}zi(t,i,n){const s=Hi(this.kl);n.t=s.t,t.V=s.V;const e=2/12*this.Li.P();n.wi=e,n.gi=e,n.ki=s.ki,n.Si=s.Si,t.Kt=s.Kt,t.yt=s.yt,t.hi=s.hi}}class qi{constructor(t,i){this.Cl=null,this.Tl=null,this.Pl=null,this.Rl=null,this.Dl=null,this.Vl=t,this.jr=i}Ol(){return this.Vl}Vn(){var t,i;null===(i=(t=this.Vl).updateAllViews)||void 0===i||i.call(t)}Pn(){var t,i,n,s;const e=null!==(n=null===(i=(t=this.Vl).paneViews)||void 0===i?void 0:i.call(t))&&void 0!==n?n:[];if((null===(s=this.Cl)||void 0===s?void 0:s.Ml)===e)return this.Cl.xl;const r=e.map((t=>new ji(t)));return this.Cl={Ml:e,xl:r},r}Qi(){var t,i,n,s;const e=null!==(n=null===(i=(t=this.Vl).timeAxisViews)||void 0===i?void 0:i.call(t))&&void 0!==n?n:[];if((null===(s=this.Tl)||void 0===s?void 0:s.Ml)===e)return this.Tl.xl;const r=this.jr.$t().St(),h=e.map((t=>new $i(t,r)));return this.Tl={Ml:e,xl:h},h}Rn(){var t,i,n,s;const e=null!==(n=null===(i=(t=this.Vl).priceAxisViews)||void 0===i?void 0:i.call(t))&&void 0!==n?n:[];if((null===(s=this.Pl)||void 0===s?void 0:s.Ml)===e)return this.Pl.xl;const r=this.jr.Dt(),h=e.map((t=>new Ui(t,r)));return this.Pl={Ml:e,xl:h},h}Bl(){var t,i,n,s;const e=null!==(n=null===(i=(t=this.Vl).priceAxisPaneViews)||void 0===i?void 0:i.call(t))&&void 0!==n?n:[];if((null===(s=this.Rl)||void 0===s?void 0:s.Ml)===e)return this.Rl.xl;const r=e.map((t=>new ji(t)));return this.Rl={Ml:e,xl:r},r}Al(){var t,i,n,s;const e=null!==(n=null===(i=(t=this.Vl).timeAxisPaneViews)||void 0===i?void 0:i.call(t))&&void 0!==n?n:[];if((null===(s=this.Dl)||void 0===s?void 0:s.Ml)===e)return this.Dl.xl;const r=e.map((t=>new ji(t)));return this.Dl={Ml:e,xl:r},r}Il(t,i){var n,s,e;return null!==(e=null===(s=(n=this.Vl).autoscaleInfo)||void 0===s?void 0:s.call(n,t,i))&&void 0!==e?e:null}wr(t,i){var n,s,e;return null!==(e=null===(s=(n=this.Vl).hitTest)||void 0===s?void 0:s.call(n,t,i))&&void 0!==e?e:null}}function Yi(t,i,n,s){t.forEach((t=>{i(t).forEach((t=>{t.Sl()===n&&s.push(t)}))}))}function Zi(t){return t.Pn()}function Xi(t){return t.Bl()}function Ki(t){return t.Al()}class Gi extends Ai{constructor(t,i,n,s,e){super(t),this.zt=new Ni,this.jh=new Ci(this),this.zl=[],this.Ll=new li(this),this.El=null,this.Nl=null,this.Fl=[],this.Wl=[],this.jl=null,this.Hl=[],this.cn=i,this.$l=n;const r=new Ti(this);this.rn=[r],this.Hh=new ei(r,this,t),\"Area\"!==n&&\"Line\"!==n&&\"Baseline\"!==n||(this.El=new ci(this)),this.Ul(),this.ql(e)}S(){null!==this.jl&&clearTimeout(this.jl)}mh(t){return this.cn.priceLineColor||t}Zr(t){const i={Xr:!0},n=this.Dt();if(this.$t().St().Ni()||n.Ni()||this.zt.Ni())return i;const s=this.$t().St().Xs(),e=this.Ct();if(null===s||null===e)return i;let r,h;if(t){const t=this.zt.sl();if(null===t)return i;r=t,h=t.ee}else{const t=this.zt.ll(s.ui(),-1);if(null===t)return i;if(r=this.zt.Gh(t.ee),null===r)return i;h=t.ee}const l=r.Vt[3],a=this.Us().$s(h,{Vt:r}),o=n.Rt(l,e.Vt);return{Xr:!1,_t:l,Kt:n.Fi(l,e.Vt),xh:n.Yl(l),Sh:n.Zl(l,e.Vt),V:a.ce,ki:o,ee:h}}Us(){return null!==this.Nl||(this.Nl=new zi(this)),this.Nl}W(){return this.cn}$h(t){const i=t.priceScaleId;void 0!==i&&i!==this.cn.priceScaleId&&this.$t().Xl(this,i),V(this.cn,t),void 0!==t.priceFormat&&(this.Ul(),this.$t().Kl()),this.$t().Gl(this),this.$t().Jl(),this.wn.bt(\"options\")}J(t,i){this.zt.J(t),this.Ql(),this.wn.bt(\"data\"),this.dn.bt(\"data\"),null!==this.El&&(i&&i.ta?this.El.$r():0===t.length&&this.El.Hr());const n=this.$t().dr(this);this.$t().ia(n),this.$t().Gl(this),this.$t().Jl(),this.$t().Uh()}na(t){this.Fl=t,this.Ql();const i=this.$t().dr(this);this.dn.bt(\"data\"),this.$t().ia(i),this.$t().Gl(this),this.$t().Jl(),this.$t().Uh()}sa(){return this.Fl}dh(){return this.Wl}ea(t){const i=new Bi(this,t);return this.zl.push(i),this.$t().Gl(this),i}ra(t){const i=this.zl.indexOf(t);-1!==i&&this.zl.splice(i,1),this.$t().Gl(this)}Qh(){return this.$l}Ct(){const t=this.ha();return null===t?null:{Vt:t.Vt[3],la:t.ot}}ha(){const t=this.$t().St().Xs();if(null===t)return null;const i=t.Os();return this.zt.ll(i,1)}In(){return this.zt}ph(t){const i=this.zt.Gh(t);return null===i?null:\"Bar\"===this.$l||\"Candlestick\"===this.$l||\"Custom\"===this.$l?{ge:i.Vt[0],Me:i.Vt[1],xe:i.Vt[2],Se:i.Vt[3]}:i.Vt[3]}aa(t){const i=[];Yi(this.Hl,Zi,\"top\",i);const n=this.El;return null!==n&&n.yt()?(null===this.jl&&n.qr()&&(this.jl=setTimeout((()=>{this.jl=null,this.$t().oa()}),0)),n.Ur(),i.unshift(n),i):i}Pn(){const t=[];this._a()||t.push(this.Ll),t.push(this.wn,this.jh,this.dn);const i=this.zl.map((t=>t.qh()));return t.push(...i),Yi(this.Hl,Zi,\"normal\",t),t}ua(){return this.ca(Zi,\"bottom\")}da(t){return this.ca(Xi,t)}fa(t){return this.ca(Ki,t)}va(t,i){return this.Hl.map((n=>n.wr(t,i))).filter((t=>null!==t))}Ji(t){return[this.Hh,...this.zl.map((t=>t.Yh()))]}Rn(t,i){if(i!==this.Yi&&!this._a())return[];const n=[...this.rn];for(const t of this.zl)n.push(t.Zh());return this.Hl.forEach((t=>{n.push(...t.Rn())})),n}Qi(){const t=[];return this.Hl.forEach((i=>{t.push(...i.Qi())})),t}Il(t,i){if(void 0!==this.cn.autoscaleInfoProvider){const n=this.cn.autoscaleInfoProvider((()=>{const n=this.pa(t,i);return null===n?null:n.Bh()}));return Di.Ah(n)}return this.pa(t,i)}ma(){return this.cn.priceFormat.minMove}ba(){return this.wa}Vn(){var t;this.wn.bt(),this.dn.bt();for(const t of this.rn)t.bt();for(const t of this.zl)t.bt();this.jh.bt(),this.Ll.bt(),null===(t=this.El)||void 0===t||t.bt(),this.Hl.forEach((t=>t.Vn()))}Dt(){return b(super.Dt())}kt(t){if(!((\"Line\"===this.$l||\"Area\"===this.$l||\"Baseline\"===this.$l)&&this.cn.crosshairMarkerVisible))return null;const i=this.zt.Gh(t);if(null===i)return null;return{_t:i.Vt[3],ht:this.ga(),Ot:this.Ma(),Pt:this.xa(),Tt:this.Sa(t)}}bh(){return this.cn.title}yt(){return this.cn.visible}ka(t){this.Hl.push(new qi(t,this))}ya(t){this.Hl=this.Hl.filter((i=>i.Ol()!==t))}Ca(){if(this.wn instanceof Kt!=!1)return t=>this.wn.We(t)}Ta(){if(this.wn instanceof Kt!=!1)return t=>this.wn.je(t)}_a(){return!_t(this.Dt().Pa())}pa(t,i){if(!B(t)||!B(i)||this.zt.Ni())return null;const n=\"Line\"===this.$l||\"Area\"===this.$l||\"Baseline\"===this.$l||\"Histogram\"===this.$l?[3]:[2,1],s=this.zt.ol(t,i,n);let e=null!==s?new Ri(s.ml,s.bl):null;if(\"Histogram\"===this.Qh()){const t=this.cn.base,i=new Ri(t,t);e=null!==e?e.ts(i):i}let r=this.dn.uh();return this.Hl.forEach((n=>{const s=n.Il(t,i);if(null==s?void 0:s.priceRange){const t=new Ri(s.priceRange.minValue,s.priceRange.maxValue);e=null!==e?e.ts(t):t}var h,l,a,o;(null==s?void 0:s.margins)&&(h=r,l=s.margins,r={above:Math.max(null!==(a=null==h?void 0:h.above)&&void 0!==a?a:0,l.above),below:Math.max(null!==(o=null==h?void 0:h.below)&&void 0!==o?o:0,l.below)})})),new Di(e,r)}ga(){switch(this.$l){case\"Line\":case\"Area\":case\"Baseline\":return this.cn.crosshairMarkerRadius}return 0}Ma(){switch(this.$l){case\"Line\":case\"Area\":case\"Baseline\":{const t=this.cn.crosshairMarkerBorderColor;if(0!==t.length)return t}}return null}xa(){switch(this.$l){case\"Line\":case\"Area\":case\"Baseline\":return this.cn.crosshairMarkerBorderWidth}return 0}Sa(t){switch(this.$l){case\"Line\":case\"Area\":case\"Baseline\":{const t=this.cn.crosshairMarkerBackgroundColor;if(0!==t.length)return t}}return this.Us().$s(t).ce}Ul(){switch(this.cn.priceFormat.type){case\"custom\":this.wa={format:this.cn.priceFormat.formatter};break;case\"volume\":this.wa=new pt(this.cn.priceFormat.precision);break;case\"percent\":this.wa=new vt(this.cn.priceFormat.precision);break;default:{const t=Math.pow(10,this.cn.priceFormat.precision);this.wa=new ft(t,this.cn.priceFormat.minMove*t)}}null!==this.Yi&&this.Yi.Ra()}Ql(){const t=this.$t().St();if(!t.Da()||this.zt.Ni())return void(this.Wl=[]);const i=b(this.zt.el());this.Wl=this.Fl.map(((n,s)=>{const e=b(t.Va(n.time,!0)),r=e<i?1:-1;return{time:b(this.zt.ll(e,r)).ee,position:n.position,shape:n.shape,color:n.color,id:n.id,th:s,text:n.text,size:n.size,originalTime:n.originalTime}}))}ql(t){switch(this.dn=new yi(this,this.$t()),this.$l){case\"Bar\":this.wn=new Ht(this,this.$t());break;case\"Candlestick\":this.wn=new Zt(this,this.$t());break;case\"Line\":this.wn=new ti(this,this.$t());break;case\"Custom\":this.wn=new Kt(this,this.$t(),m(t));break;case\"Area\":this.wn=new Ft(this,this.$t());break;case\"Baseline\":this.wn=new qt(this,this.$t());break;case\"Histogram\":this.wn=new Qt(this,this.$t());break;default:throw Error(\"Unknown chart style assigned: \"+this.$l)}}ca(t,i){const n=[];return Yi(this.Hl,t,i,n),n}}class Ji{constructor(t){this.cn=t}Oa(t,i,n){let s=t;if(0===this.cn.mode)return s;const e=n.vn(),r=e.Ct();if(null===r)return s;const h=e.Rt(t,r),l=n.Ba().filter((t=>t instanceof Gi)).reduce(((t,s)=>{if(n.vr(s)||!s.yt())return t;const e=s.Dt(),r=s.In();if(e.Ni()||!r.Kr(i))return t;const h=r.Gh(i);if(null===h)return t;const l=w(s.Ct());return t.concat([e.Rt(h.Vt[3],l.Vt)])}),[]);if(0===l.length)return s;l.sort(((t,i)=>Math.abs(t-h)-Math.abs(i-h)));const a=l[0];return s=e.pn(a,r),s}}class Qi extends H{constructor(){super(...arguments),this.zt=null}J(t){this.zt=t}K({context:t,bitmapSize:i,horizontalPixelRatio:n,verticalPixelRatio:s}){if(null===this.zt)return;const e=Math.max(1,Math.floor(n));t.lineWidth=e,function(t,i){t.save(),t.lineWidth%2&&t.translate(.5,.5),i(),t.restore()}(t,(()=>{const r=b(this.zt);if(r.Aa){t.strokeStyle=r.Ia,f(t,r.za),t.beginPath();for(const s of r.La){const r=Math.round(s.Ea*n);t.moveTo(r,-e),t.lineTo(r,i.height+e)}t.stroke()}if(r.Na){t.strokeStyle=r.Fa,f(t,r.Wa),t.beginPath();for(const n of r.ja){const r=Math.round(n.Ea*s);t.moveTo(-e,r),t.lineTo(i.width+e,r)}t.stroke()}}))}}class tn{constructor(t){this.Wt=new Qi,this.ft=!0,this.tn=t}bt(){this.ft=!0}gt(){if(this.ft){const t=this.tn.$t().W().grid,i={Na:t.horzLines.visible,Aa:t.vertLines.visible,Fa:t.horzLines.color,Ia:t.vertLines.color,Wa:t.horzLines.style,za:t.vertLines.style,ja:this.tn.vn().Ha(),La:(this.tn.$t().St().Ha()||[]).map((t=>({Ea:t.coord})))};this.Wt.J(i),this.ft=!1}return this.Wt}}class nn{constructor(t){this.wn=new tn(t)}qh(){return this.wn}}const sn={$a:4,Ua:1e-4};function en(t,i){const n=100*(t-i)/i;return i<0?-n:n}function rn(t,i){const n=en(t.Ph(),i),s=en(t.Rh(),i);return new Ri(n,s)}function hn(t,i){const n=100*(t-i)/i+100;return i<0?-n:n}function ln(t,i){const n=hn(t.Ph(),i),s=hn(t.Rh(),i);return new Ri(n,s)}function an(t,i){const n=Math.abs(t);if(n<1e-15)return 0;const s=Math.log10(n+i.Ua)+i.$a;return t<0?-s:s}function on(t,i){const n=Math.abs(t);if(n<1e-15)return 0;const s=Math.pow(10,n-i.$a)-i.Ua;return t<0?-s:s}function _n(t,i){if(null===t)return null;const n=an(t.Ph(),i),s=an(t.Rh(),i);return new Ri(n,s)}function un(t,i){if(null===t)return null;const n=on(t.Ph(),i),s=on(t.Rh(),i);return new Ri(n,s)}function cn(t){if(null===t)return sn;const i=Math.abs(t.Rh()-t.Ph());if(i>=1||i<1e-15)return sn;const n=Math.ceil(Math.abs(Math.log10(i))),s=sn.$a+n;return{$a:s,Ua:1/Math.pow(10,s)}}class dn{constructor(t,i){if(this.qa=t,this.Ya=i,function(t){if(t<0)return!1;for(let i=t;i>1;i/=10)if(i%10!=0)return!1;return!0}(this.qa))this.Za=[2,2.5,2];else{this.Za=[];for(let t=this.qa;1!==t;){if(t%2==0)this.Za.push(2),t/=2;else{if(t%5!=0)throw new Error(\"unexpected base\");this.Za.push(2,2.5),t/=5}if(this.Za.length>100)throw new Error(\"something wrong with base\")}}}Xa(t,i,n){const s=0===this.qa?0:1/this.qa;let e=Math.pow(10,Math.max(0,Math.ceil(Math.log10(t-i)))),r=0,h=this.Ya[0];for(;;){const t=yt(e,s,1e-14)&&e>s+1e-14,i=yt(e,n*h,1e-14),l=yt(e,1,1e-14);if(!(t&&i&&l))break;e/=h,h=this.Ya[++r%this.Ya.length]}if(e<=s+1e-14&&(e=s),e=Math.max(1,e),this.Za.length>0&&(l=e,a=1,o=1e-14,Math.abs(l-a)<o))for(r=0,h=this.Za[0];yt(e,n*h,1e-14)&&e>s+1e-14;)e/=h,h=this.Za[++r%this.Za.length];var l,a,o;return e}}class fn{constructor(t,i,n,s){this.Ka=[],this.Li=t,this.qa=i,this.Ga=n,this.Ja=s}Xa(t,i){if(t<i)throw new Error(\"high < low\");const n=this.Li.At(),s=(t-i)*this.Qa()/n,e=new dn(this.qa,[2,2.5,2]),r=new dn(this.qa,[2,2,2.5]),h=new dn(this.qa,[2.5,2,2]),l=[];return l.push(e.Xa(t,i,s),r.Xa(t,i,s),h.Xa(t,i,s)),function(t){if(t.length<1)throw Error(\"array is empty\");let i=t[0];for(let n=1;n<t.length;++n)t[n]<i&&(i=t[n]);return i}(l)}io(){const t=this.Li,i=t.Ct();if(null===i)return void(this.Ka=[]);const n=t.At(),s=this.Ga(n-1,i),e=this.Ga(0,i),r=this.Li.W().entireTextOnly?this.no()/2:0,h=r,l=n-1-r,a=Math.max(s,e),o=Math.min(s,e);if(a===o)return void(this.Ka=[]);let _=this.Xa(a,o),u=a%_;u+=u<0?_:0;const c=a>=o?1:-1;let d=null,f=0;for(let n=a-u;n>o;n-=_){const s=this.Ja(n,i,!0);null!==d&&Math.abs(s-d)<this.Qa()||(s<h||s>l||(f<this.Ka.length?(this.Ka[f].Ea=s,this.Ka[f].so=t.eo(n)):this.Ka.push({Ea:s,so:t.eo(n)}),f++,d=s,t.ro()&&(_=this.Xa(n*c,o))))}this.Ka.length=f}Ha(){return this.Ka}no(){return this.Li.P()}Qa(){return Math.ceil(2.5*this.no())}}function vn(t){return t.slice().sort(((t,i)=>b(t.Xi())-b(i.Xi())))}var pn;!function(t){t[t.Normal=0]=\"Normal\",t[t.Logarithmic=1]=\"Logarithmic\",t[t.Percentage=2]=\"Percentage\",t[t.IndexedTo100=3]=\"IndexedTo100\"}(pn||(pn={}));const mn=new vt,bn=new ft(100,1);class wn{constructor(t,i,n,s){this.ho=0,this.lo=null,this.Ih=null,this.ao=null,this.oo={_o:!1,uo:null},this.co=0,this.do=0,this.fo=new D,this.vo=new D,this.po=[],this.mo=null,this.bo=null,this.wo=null,this.Mo=null,this.wa=bn,this.xo=cn(null),this.So=t,this.cn=i,this.ko=n,this.yo=s,this.Co=new fn(this,100,this.To.bind(this),this.Po.bind(this))}Pa(){return this.So}W(){return this.cn}$h(t){if(V(this.cn,t),this.Ra(),void 0!==t.mode&&this.Ro({Cr:t.mode}),void 0!==t.scaleMargins){const i=m(t.scaleMargins.top),n=m(t.scaleMargins.bottom);if(i<0||i>1)throw new Error(`Invalid top margin - expect value between 0 and 1, given=${i}`);if(n<0||n>1)throw new Error(`Invalid bottom margin - expect value between 0 and 1, given=${n}`);if(i+n>1)throw new Error(`Invalid margins - sum of margins must be less than 1, given=${i+n}`);this.Do(),this.bo=null}}Vo(){return this.cn.autoScale}ro(){return 1===this.cn.mode}Mh(){return 2===this.cn.mode}Oo(){return 3===this.cn.mode}Cr(){return{Wn:this.cn.autoScale,Bo:this.cn.invertScale,Cr:this.cn.mode}}Ro(t){const i=this.Cr();let n=null;void 0!==t.Wn&&(this.cn.autoScale=t.Wn),void 0!==t.Cr&&(this.cn.mode=t.Cr,2!==t.Cr&&3!==t.Cr||(this.cn.autoScale=!0),this.oo._o=!1),1===i.Cr&&t.Cr!==i.Cr&&(!function(t,i){if(null===t)return!1;const n=on(t.Ph(),i),s=on(t.Rh(),i);return isFinite(n)&&isFinite(s)}(this.Ih,this.xo)?this.cn.autoScale=!0:(n=un(this.Ih,this.xo),null!==n&&this.Ao(n))),1===t.Cr&&t.Cr!==i.Cr&&(n=_n(this.Ih,this.xo),null!==n&&this.Ao(n));const s=i.Cr!==this.cn.mode;s&&(2===i.Cr||this.Mh())&&this.Ra(),s&&(3===i.Cr||this.Oo())&&this.Ra(),void 0!==t.Bo&&i.Bo!==t.Bo&&(this.cn.invertScale=t.Bo,this.Io()),this.vo.m(i,this.Cr())}zo(){return this.vo}P(){return this.ko.fontSize}At(){return this.ho}Lo(t){this.ho!==t&&(this.ho=t,this.Do(),this.bo=null)}Eo(){if(this.lo)return this.lo;const t=this.At()-this.No()-this.Fo();return this.lo=t,t}Lh(){return this.Wo(),this.Ih}Ao(t,i){const n=this.Ih;(i||null===n&&null!==t||null!==n&&!n.Ch(t))&&(this.bo=null,this.Ih=t)}Ni(){return this.Wo(),0===this.ho||!this.Ih||this.Ih.Ni()}jo(t){return this.Bo()?t:this.At()-1-t}Rt(t,i){return this.Mh()?t=en(t,i):this.Oo()&&(t=hn(t,i)),this.Po(t,i)}te(t,i,n){this.Wo();const s=this.Fo(),e=b(this.Lh()),r=e.Ph(),h=e.Rh(),l=this.Eo()-1,a=this.Bo(),o=l/(h-r),_=void 0===n?0:n.from,u=void 0===n?t.length:n.to,c=this.Ho();for(let n=_;n<u;n++){const e=t[n],h=e._t;if(isNaN(h))continue;let l=h;null!==c&&(l=c(e._t,i));const _=s+o*(l-r),u=a?_:this.ho-1-_;e.st=u}}be(t,i,n){this.Wo();const s=this.Fo(),e=b(this.Lh()),r=e.Ph(),h=e.Rh(),l=this.Eo()-1,a=this.Bo(),o=l/(h-r),_=void 0===n?0:n.from,u=void 0===n?t.length:n.to,c=this.Ho();for(let n=_;n<u;n++){const e=t[n];let h=e.ge,l=e.Me,_=e.xe,u=e.Se;null!==c&&(h=c(e.ge,i),l=c(e.Me,i),_=c(e.xe,i),u=c(e.Se,i));let d=s+o*(h-r),f=a?d:this.ho-1-d;e.pe=f,d=s+o*(l-r),f=a?d:this.ho-1-d,e.de=f,d=s+o*(_-r),f=a?d:this.ho-1-d,e.fe=f,d=s+o*(u-r),f=a?d:this.ho-1-d,e.me=f}}pn(t,i){const n=this.To(t,i);return this.$o(n,i)}$o(t,i){let n=t;return this.Mh()?n=function(t,i){return i<0&&(t=-t),t/100*i+i}(n,i):this.Oo()&&(n=function(t,i){return t-=100,i<0&&(t=-t),t/100*i+i}(n,i)),n}Ba(){return this.po}Uo(){if(this.mo)return this.mo;let t=[];for(let i=0;i<this.po.length;i++){const n=this.po[i];null===n.Xi()&&n.Ki(i+1),t.push(n)}return t=vn(t),this.mo=t,this.mo}qo(t){-1===this.po.indexOf(t)&&(this.po.push(t),this.Ra(),this.Yo())}Zo(t){const i=this.po.indexOf(t);if(-1===i)throw new Error(\"source is not attached to scale\");this.po.splice(i,1),0===this.po.length&&(this.Ro({Wn:!0}),this.Ao(null)),this.Ra(),this.Yo()}Ct(){let t=null;for(const i of this.po){const n=i.Ct();null!==n&&((null===t||n.la<t.la)&&(t=n))}return null===t?null:t.Vt}Bo(){return this.cn.invertScale}Ha(){const t=null===this.Ct();if(null!==this.bo&&(t||this.bo.Xo===t))return this.bo.Ha;this.Co.io();const i=this.Co.Ha();return this.bo={Ha:i,Xo:t},this.fo.m(),i}Ko(){return this.fo}Go(t){this.Mh()||this.Oo()||null===this.wo&&null===this.ao&&(this.Ni()||(this.wo=this.ho-t,this.ao=b(this.Lh()).Th()))}Jo(t){if(this.Mh()||this.Oo())return;if(null===this.wo)return;this.Ro({Wn:!1}),(t=this.ho-t)<0&&(t=0);let i=(this.wo+.2*(this.ho-1))/(t+.2*(this.ho-1));const n=b(this.ao).Th();i=Math.max(i,.1),n.Vh(i),this.Ao(n)}Qo(){this.Mh()||this.Oo()||(this.wo=null,this.ao=null)}t_(t){this.Vo()||null===this.Mo&&null===this.ao&&(this.Ni()||(this.Mo=t,this.ao=b(this.Lh()).Th()))}i_(t){if(this.Vo())return;if(null===this.Mo)return;const i=b(this.Lh()).Dh()/(this.Eo()-1);let n=t-this.Mo;this.Bo()&&(n*=-1);const s=n*i,e=b(this.ao).Th();e.Oh(s),this.Ao(e,!0),this.bo=null}n_(){this.Vo()||null!==this.Mo&&(this.Mo=null,this.ao=null)}ba(){return this.wa||this.Ra(),this.wa}Fi(t,i){switch(this.cn.mode){case 2:return this.s_(en(t,i));case 3:return this.ba().format(hn(t,i));default:return this.Wh(t)}}eo(t){switch(this.cn.mode){case 2:return this.s_(t);case 3:return this.ba().format(t);default:return this.Wh(t)}}Yl(t){return this.Wh(t,b(this.e_()).ba())}Zl(t,i){return t=en(t,i),this.s_(t,mn)}r_(){return this.po}h_(t){this.oo={uo:t,_o:!1}}Vn(){this.po.forEach((t=>t.Vn()))}Ra(){this.bo=null;const t=this.e_();let i=100;null!==t&&(i=Math.round(1/t.ma())),this.wa=bn,this.Mh()?(this.wa=mn,i=100):this.Oo()?(this.wa=new ft(100,1),i=100):null!==t&&(this.wa=t.ba()),this.Co=new fn(this,i,this.To.bind(this),this.Po.bind(this)),this.Co.io()}Yo(){this.mo=null}e_(){return this.po[0]||null}No(){return this.Bo()?this.cn.scaleMargins.bottom*this.At()+this.do:this.cn.scaleMargins.top*this.At()+this.co}Fo(){return this.Bo()?this.cn.scaleMargins.top*this.At()+this.co:this.cn.scaleMargins.bottom*this.At()+this.do}Wo(){this.oo._o||(this.oo._o=!0,this.l_())}Do(){this.lo=null}Po(t,i){if(this.Wo(),this.Ni())return 0;t=this.ro()&&t?an(t,this.xo):t;const n=b(this.Lh()),s=this.Fo()+(this.Eo()-1)*(t-n.Ph())/n.Dh();return this.jo(s)}To(t,i){if(this.Wo(),this.Ni())return 0;const n=this.jo(t),s=b(this.Lh()),e=s.Ph()+s.Dh()*((n-this.Fo())/(this.Eo()-1));return this.ro()?on(e,this.xo):e}Io(){this.bo=null,this.Co.io()}l_(){const t=this.oo.uo;if(null===t)return;let i=null;const n=this.r_();let s=0,e=0;for(const r of n){if(!r.yt())continue;const n=r.Ct();if(null===n)continue;const h=r.Il(t.Os(),t.ui());let l=h&&h.Lh();if(null!==l){switch(this.cn.mode){case 1:l=_n(l,this.xo);break;case 2:l=rn(l,n.Vt);break;case 3:l=ln(l,n.Vt)}if(i=null===i?l:i.ts(b(l)),null!==h){const t=h.Eh();null!==t&&(s=Math.max(s,t.above),e=Math.max(e,t.below))}}}if(s===this.co&&e===this.do||(this.co=s,this.do=e,this.bo=null,this.Do()),null!==i){if(i.Ph()===i.Rh()){const t=this.e_(),n=5*(null===t||this.Mh()||this.Oo()?1:t.ma());this.ro()&&(i=un(i,this.xo)),i=new Ri(i.Ph()-n,i.Rh()+n),this.ro()&&(i=_n(i,this.xo))}if(this.ro()){const t=un(i,this.xo),n=cn(t);if(r=n,h=this.xo,r.$a!==h.$a||r.Ua!==h.Ua){const s=null!==this.ao?un(this.ao,this.xo):null;this.xo=n,i=_n(t,n),null!==s&&(this.ao=_n(s,n))}}this.Ao(i)}else null===this.Ih&&(this.Ao(new Ri(-.5,.5)),this.xo=cn(null));var r,h;this.oo._o=!0}Ho(){return this.Mh()?en:this.Oo()?hn:this.ro()?t=>an(t,this.xo):null}a_(t,i,n){return void 0===i?(void 0===n&&(n=this.ba()),n.format(t)):i(t)}Wh(t,i){return this.a_(t,this.yo.priceFormatter,i)}s_(t,i){return this.a_(t,this.yo.percentageFormatter,i)}}class gn{constructor(t,i){this.po=[],this.o_=new Map,this.ho=0,this.__=0,this.u_=1e3,this.mo=null,this.c_=new D,this.yl=t,this.$i=i,this.d_=new nn(this);const n=i.W();this.f_=this.v_(\"left\",n.leftPriceScale),this.p_=this.v_(\"right\",n.rightPriceScale),this.f_.zo().l(this.m_.bind(this,this.f_),this),this.p_.zo().l(this.m_.bind(this,this.p_),this),this.b_(n)}b_(t){if(t.leftPriceScale&&this.f_.$h(t.leftPriceScale),t.rightPriceScale&&this.p_.$h(t.rightPriceScale),t.localization&&(this.f_.Ra(),this.p_.Ra()),t.overlayPriceScales){const i=Array.from(this.o_.values());for(const n of i){const i=b(n[0].Dt());i.$h(t.overlayPriceScales),t.localization&&i.Ra()}}}w_(t){switch(t){case\"left\":return this.f_;case\"right\":return this.p_}return this.o_.has(t)?m(this.o_.get(t))[0].Dt():null}S(){this.$t().g_().p(this),this.f_.zo().p(this),this.p_.zo().p(this),this.po.forEach((t=>{t.S&&t.S()})),this.c_.m()}M_(){return this.u_}x_(t){this.u_=t}$t(){return this.$i}Hi(){return this.__}At(){return this.ho}S_(t){this.__=t,this.k_()}Lo(t){this.ho=t,this.f_.Lo(t),this.p_.Lo(t),this.po.forEach((i=>{if(this.vr(i)){const n=i.Dt();null!==n&&n.Lo(t)}})),this.k_()}Ba(){return this.po}vr(t){const i=t.Dt();return null===i||this.f_!==i&&this.p_!==i}qo(t,i,n){const s=void 0!==n?n:this.C_().y_+1;this.T_(t,i,s)}Zo(t){const i=this.po.indexOf(t);p(-1!==i,\"removeDataSource: invalid data source\"),this.po.splice(i,1);const n=b(t.Dt()).Pa();if(this.o_.has(n)){const i=m(this.o_.get(n)),s=i.indexOf(t);-1!==s&&(i.splice(s,1),0===i.length&&this.o_.delete(n))}const s=t.Dt();s&&s.Ba().indexOf(t)>=0&&s.Zo(t),null!==s&&(s.Yo(),this.P_(s)),this.mo=null}mr(t){return t===this.f_?\"left\":t===this.p_?\"right\":\"overlay\"}R_(){return this.f_}D_(){return this.p_}V_(t,i){t.Go(i)}O_(t,i){t.Jo(i),this.k_()}B_(t){t.Qo()}A_(t,i){t.t_(i)}I_(t,i){t.i_(i),this.k_()}z_(t){t.n_()}k_(){this.po.forEach((t=>{t.Vn()}))}vn(){let t=null;return this.$i.W().rightPriceScale.visible&&0!==this.p_.Ba().length?t=this.p_:this.$i.W().leftPriceScale.visible&&0!==this.f_.Ba().length?t=this.f_:0!==this.po.length&&(t=this.po[0].Dt()),null===t&&(t=this.p_),t}pr(){let t=null;return this.$i.W().rightPriceScale.visible?t=this.p_:this.$i.W().leftPriceScale.visible&&(t=this.f_),t}P_(t){null!==t&&t.Vo()&&this.L_(t)}E_(t){const i=this.yl.Xs();t.Ro({Wn:!0}),null!==i&&t.h_(i),this.k_()}N_(){this.L_(this.f_),this.L_(this.p_)}F_(){this.P_(this.f_),this.P_(this.p_),this.po.forEach((t=>{this.vr(t)&&this.P_(t.Dt())})),this.k_(),this.$i.Uh()}Uo(){return null===this.mo&&(this.mo=vn(this.po)),this.mo}W_(){return this.c_}j_(){return this.d_}L_(t){const i=t.r_();if(i&&i.length>0&&!this.yl.Ni()){const i=this.yl.Xs();null!==i&&t.h_(i)}t.Vn()}C_(){const t=this.Uo();if(0===t.length)return{H_:0,y_:0};let i=0,n=0;for(let s=0;s<t.length;s++){const e=t[s].Xi();null!==e&&(e<i&&(i=e),e>n&&(n=e))}return{H_:i,y_:n}}T_(t,i,n){let s=this.w_(i);if(null===s&&(s=this.v_(i,this.$i.W().overlayPriceScales)),this.po.push(t),!_t(i)){const n=this.o_.get(i)||[];n.push(t),this.o_.set(i,n)}s.qo(t),t.Gi(s),t.Ki(n),this.P_(s),this.mo=null}m_(t,i,n){i.Cr!==n.Cr&&this.L_(t)}v_(t,i){const n=Object.assign({visible:!0,autoScale:!0},z(i)),s=new wn(t,n,this.$i.W().layout,this.$i.W().localization);return s.Lo(this.At()),s}}class Mn{constructor(t,i,n=50){this.Ke=0,this.Ge=1,this.Je=1,this.tr=new Map,this.Qe=new Map,this.U_=t,this.q_=i,this.ir=n}Y_(t){const i=t.time,n=this.q_.cacheKey(i),s=this.tr.get(n);if(void 0!==s)return s.Z_;if(this.Ke===this.ir){const t=this.Qe.get(this.Je);this.Qe.delete(this.Je),this.tr.delete(m(t)),this.Je++,this.Ke--}const e=this.U_(t);return this.tr.set(n,{Z_:e,rr:this.Ge}),this.Qe.set(this.Ge,n),this.Ke++,this.Ge++,e}}class xn{constructor(t,i){p(t<=i,\"right should be >= left\"),this.X_=t,this.K_=i}Os(){return this.X_}ui(){return this.K_}G_(){return this.K_-this.X_+1}Kr(t){return this.X_<=t&&t<=this.K_}Ch(t){return this.X_===t.Os()&&this.K_===t.ui()}}function Sn(t,i){return null===t||null===i?t===i:t.Ch(i)}class kn{constructor(){this.J_=new Map,this.tr=null,this.Q_=!1}tu(t){this.Q_=t,this.tr=null}iu(t,i){this.nu(i),this.tr=null;for(let n=i;n<t.length;++n){const i=t[n];let s=this.J_.get(i.timeWeight);void 0===s&&(s=[],this.J_.set(i.timeWeight,s)),s.push({index:n,time:i.time,weight:i.timeWeight,originalTime:i.originalTime})}}su(t,i){const n=Math.ceil(i/t);return null!==this.tr&&this.tr.eu===n||(this.tr={Ha:this.ru(n),eu:n}),this.tr.Ha}nu(t){if(0===t)return void this.J_.clear();const i=[];this.J_.forEach(((n,s)=>{t<=n[0].index?i.push(s):n.splice(Bt(n,t,(i=>i.index<t)),1/0)}));for(const t of i)this.J_.delete(t)}ru(t){let i=[];for(const n of Array.from(this.J_.keys()).sort(((t,i)=>i-t))){if(!this.J_.get(n))continue;const s=i;i=[];const e=s.length;let r=0;const h=m(this.J_.get(n)),l=h.length;let a=1/0,o=-1/0;for(let n=0;n<l;n++){const l=h[n],_=l.index;for(;r<e;){const t=s[r],n=t.index;if(!(n<_)){a=n;break}r++,i.push(t),o=n,a=1/0}if(a-_>=t&&_-o>=t)i.push(l),o=_;else if(this.Q_)return s}for(;r<e;r++)i.push(s[r])}return i}}class yn{constructor(t){this.hu=t}lu(){return null===this.hu?null:new xn(Math.floor(this.hu.Os()),Math.ceil(this.hu.ui()))}au(){return this.hu}static ou(){return new yn(null)}}function Cn(t,i){return t.weight>i.weight?t:i}class Tn{constructor(t,i,n,s){this.__=0,this._u=null,this.uu=[],this.Mo=null,this.wo=null,this.cu=new kn,this.du=new Map,this.fu=yn.ou(),this.vu=!0,this.pu=new D,this.mu=new D,this.bu=new D,this.wu=null,this.gu=null,this.Mu=[],this.cn=i,this.yo=n,this.xu=i.rightOffset,this.Su=i.barSpacing,this.$i=t,this.q_=s,this.ku(),this.cu.tu(i.uniformDistribution)}W(){return this.cn}yu(t){V(this.yo,t),this.Cu(),this.ku()}$h(t,i){var n;V(this.cn,t),this.cn.fixLeftEdge&&this.Tu(),this.cn.fixRightEdge&&this.Pu(),void 0!==t.barSpacing&&this.$i.Gn(t.barSpacing),void 0!==t.rightOffset&&this.$i.Jn(t.rightOffset),void 0!==t.minBarSpacing&&this.$i.Gn(null!==(n=t.barSpacing)&&void 0!==n?n:this.Su),this.Cu(),this.ku(),this.bu.m()}mn(t){var i,n;return null!==(n=null===(i=this.uu[t])||void 0===i?void 0:i.time)&&void 0!==n?n:null}Ui(t){var i;return null!==(i=this.uu[t])&&void 0!==i?i:null}Va(t,i){if(this.uu.length<1)return null;if(this.q_.key(t)>this.q_.key(this.uu[this.uu.length-1].time))return i?this.uu.length-1:null;const n=Bt(this.uu,this.q_.key(t),((t,i)=>this.q_.key(t.time)<i));return this.q_.key(t)<this.q_.key(this.uu[n].time)?i?n:null:n}Ni(){return 0===this.__||0===this.uu.length||null===this._u}Da(){return this.uu.length>0}Xs(){return this.Ru(),this.fu.lu()}Du(){return this.Ru(),this.fu.au()}Vu(){const t=this.Xs();if(null===t)return null;const i={from:t.Os(),to:t.ui()};return this.Ou(i)}Ou(t){const i=Math.round(t.from),n=Math.round(t.to),s=b(this.Bu()),e=b(this.Au());return{from:b(this.Ui(Math.max(s,i))),to:b(this.Ui(Math.min(e,n)))}}Iu(t){return{from:b(this.Va(t.from,!0)),to:b(this.Va(t.to,!0))}}Hi(){return this.__}S_(t){if(!isFinite(t)||t<=0)return;if(this.__===t)return;const i=this.Du(),n=this.__;if(this.__=t,this.vu=!0,this.cn.lockVisibleTimeRangeOnResize&&0!==n){const i=this.Su*t/n;this.Su=i}if(this.cn.fixLeftEdge&&null!==i&&i.Os()<=0){const i=n-t;this.xu-=Math.round(i/this.Su)+1,this.vu=!0}this.zu(),this.Lu()}It(t){if(this.Ni()||!B(t))return 0;const i=this.Eu()+this.xu-t;return this.__-(i+.5)*this.Su-1}Qs(t,i){const n=this.Eu(),s=void 0===i?0:i.from,e=void 0===i?t.length:i.to;for(let i=s;i<e;i++){const s=t[i].ot,e=n+this.xu-s,r=this.__-(e+.5)*this.Su-1;t[i].nt=r}}Nu(t){return Math.ceil(this.Fu(t))}Jn(t){this.vu=!0,this.xu=t,this.Lu(),this.$i.Wu(),this.$i.Uh()}le(){return this.Su}Gn(t){this.ju(t),this.Lu(),this.$i.Wu(),this.$i.Uh()}Hu(){return this.xu}Ha(){if(this.Ni())return null;if(null!==this.gu)return this.gu;const t=this.Su,i=5*(this.$i.W().layout.fontSize+4)/8*(this.cn.tickMarkMaxCharacterLength||8),n=Math.round(i/t),s=b(this.Xs()),e=Math.max(s.Os(),s.Os()-n),r=Math.max(s.ui(),s.ui()-n),h=this.cu.su(t,i),l=this.Bu()+n,a=this.Au()-n,o=this.$u(),_=this.cn.fixLeftEdge||o,u=this.cn.fixRightEdge||o;let c=0;for(const t of h){if(!(e<=t.index&&t.index<=r))continue;let n;c<this.Mu.length?(n=this.Mu[c],n.coord=this.It(t.index),n.label=this.Uu(t),n.weight=t.weight):(n={needAlignCoordinate:!1,coord:this.It(t.index),label:this.Uu(t),weight:t.weight},this.Mu.push(n)),this.Su>i/2&&!o?n.needAlignCoordinate=!1:n.needAlignCoordinate=_&&t.index<=l||u&&t.index>=a,c++}return this.Mu.length=c,this.gu=this.Mu,this.Mu}qu(){this.vu=!0,this.Gn(this.cn.barSpacing),this.Jn(this.cn.rightOffset)}Yu(t){this.vu=!0,this._u=t,this.Lu(),this.Tu()}Zu(t,i){const n=this.Fu(t),s=this.le(),e=s+i*(s/10);this.Gn(e),this.cn.rightBarStaysOnScroll||this.Jn(this.Hu()+(n-this.Fu(t)))}Go(t){this.Mo&&this.n_(),null===this.wo&&null===this.wu&&(this.Ni()||(this.wo=t,this.Xu()))}Jo(t){if(null===this.wu)return;const i=kt(this.__-t,0,this.__),n=kt(this.__-b(this.wo),0,this.__);0!==i&&0!==n&&this.Gn(this.wu.le*i/n)}Qo(){null!==this.wo&&(this.wo=null,this.Ku())}t_(t){null===this.Mo&&null===this.wu&&(this.Ni()||(this.Mo=t,this.Xu()))}i_(t){if(null===this.Mo)return;const i=(this.Mo-t)/this.le();this.xu=b(this.wu).Hu+i,this.vu=!0,this.Lu()}n_(){null!==this.Mo&&(this.Mo=null,this.Ku())}Gu(){this.Ju(this.cn.rightOffset)}Ju(t,i=400){if(!isFinite(t))throw new RangeError(\"offset is required and must be finite number\");if(!isFinite(i)||i<=0)throw new RangeError(\"animationDuration (optional) must be finite positive number\");const n=this.xu,s=performance.now();this.$i.Zn({Qu:t=>(t-s)/i>=1,tc:e=>{const r=(e-s)/i;return r>=1?t:n+(t-n)*r}})}bt(t,i){this.vu=!0,this.uu=t,this.cu.iu(t,i),this.Lu()}nc(){return this.pu}sc(){return this.mu}ec(){return this.bu}Eu(){return this._u||0}rc(t){const i=t.G_();this.ju(this.__/i),this.xu=t.ui()-this.Eu(),this.Lu(),this.vu=!0,this.$i.Wu(),this.$i.Uh()}hc(){const t=this.Bu(),i=this.Au();null!==t&&null!==i&&this.rc(new xn(t,i+this.cn.rightOffset))}lc(t){const i=new xn(t.from,t.to);this.rc(i)}qi(t){return void 0!==this.yo.timeFormatter?this.yo.timeFormatter(t.originalTime):this.q_.formatHorzItem(t.time)}$u(){const{handleScroll:t,handleScale:i}=this.$i.W();return!(t.horzTouchDrag||t.mouseWheel||t.pressedMouseMove||t.vertTouchDrag||i.axisDoubleClickReset.time||i.axisPressedMouseMove.time||i.mouseWheel||i.pinch)}Bu(){return 0===this.uu.length?null:0}Au(){return 0===this.uu.length?null:this.uu.length-1}ac(t){return(this.__-1-t)/this.Su}Fu(t){const i=this.ac(t),n=this.Eu()+this.xu-i;return Math.round(1e6*n)/1e6}ju(t){const i=this.Su;this.Su=t,this.zu(),i!==this.Su&&(this.vu=!0,this.oc())}Ru(){if(!this.vu)return;if(this.vu=!1,this.Ni())return void this._c(yn.ou());const t=this.Eu(),i=this.__/this.Su,n=this.xu+t,s=new xn(n-i+1,n);this._c(new yn(s))}zu(){const t=this.uc();if(this.Su<t&&(this.Su=t,this.vu=!0),0!==this.__){const t=.5*this.__;this.Su>t&&(this.Su=t,this.vu=!0)}}uc(){return this.cn.fixLeftEdge&&this.cn.fixRightEdge&&0!==this.uu.length?this.__/this.uu.length:this.cn.minBarSpacing}Lu(){const t=this.cc();null!==t&&this.xu<t&&(this.xu=t,this.vu=!0);const i=this.dc();this.xu>i&&(this.xu=i,this.vu=!0)}cc(){const t=this.Bu(),i=this._u;if(null===t||null===i)return null;return t-i-1+(this.cn.fixLeftEdge?this.__/this.Su:Math.min(2,this.uu.length))}dc(){return this.cn.fixRightEdge?0:this.__/this.Su-Math.min(2,this.uu.length)}Xu(){this.wu={le:this.le(),Hu:this.Hu()}}Ku(){this.wu=null}Uu(t){let i=this.du.get(t.weight);return void 0===i&&(i=new Mn((t=>this.fc(t)),this.q_),this.du.set(t.weight,i)),i.Y_(t)}fc(t){return this.q_.formatTickmark(t,this.yo)}_c(t){const i=this.fu;this.fu=t,Sn(i.lu(),this.fu.lu())||this.pu.m(),Sn(i.au(),this.fu.au())||this.mu.m(),this.oc()}oc(){this.gu=null}Cu(){this.oc(),this.du.clear()}ku(){this.q_.updateFormatter(this.yo)}Tu(){if(!this.cn.fixLeftEdge)return;const t=this.Bu();if(null===t)return;const i=this.Xs();if(null===i)return;const n=i.Os()-t;if(n<0){const t=this.xu-n-1;this.Jn(t)}this.zu()}Pu(){this.Lu(),this.zu()}}class Pn{X(t,i,n){t.useMediaCoordinateSpace((t=>this.K(t,i,n)))}gl(t,i,n){t.useMediaCoordinateSpace((t=>this.vc(t,i,n)))}vc(t,i,n){}}class Rn extends Pn{constructor(t){super(),this.mc=new Map,this.zt=t}K(t){}vc(t){if(!this.zt.yt)return;const{context:i,mediaSize:n}=t;let s=0;for(const t of this.zt.bc){if(0===t.Kt.length)continue;i.font=t.R;const e=this.wc(i,t.Kt);e>n.width?t.Zu=n.width/e:t.Zu=1,s+=t.gc*t.Zu}let e=0;switch(this.zt.Mc){case\"top\":e=0;break;case\"center\":e=Math.max((n.height-s)/2,0);break;case\"bottom\":e=Math.max(n.height-s,0)}i.fillStyle=this.zt.V;for(const t of this.zt.bc){i.save();let s=0;switch(this.zt.xc){case\"left\":i.textAlign=\"left\",s=t.gc/2;break;case\"center\":i.textAlign=\"center\",s=n.width/2;break;case\"right\":i.textAlign=\"right\",s=n.width-1-t.gc/2}i.translate(s,e),i.textBaseline=\"top\",i.font=t.R,i.scale(t.Zu,t.Zu),i.fillText(t.Kt,0,t.Sc),i.restore(),e+=t.gc*t.Zu}}wc(t,i){const n=this.kc(t.font);let s=n.get(i);return void 0===s&&(s=t.measureText(i).width,n.set(i,s)),s}kc(t){let i=this.mc.get(t);return void 0===i&&(i=new Map,this.mc.set(t,i)),i}}class Dn{constructor(t){this.ft=!0,this.Ft={yt:!1,V:\"\",bc:[],Mc:\"center\",xc:\"center\"},this.Wt=new Rn(this.Ft),this.jt=t}bt(){this.ft=!0}gt(){return this.ft&&(this.Mt(),this.ft=!1),this.Wt}Mt(){const t=this.jt.W(),i=this.Ft;i.yt=t.visible,i.yt&&(i.V=t.color,i.xc=t.horzAlign,i.Mc=t.vertAlign,i.bc=[{Kt:t.text,R:F(t.fontSize,t.fontFamily,t.fontStyle),gc:1.2*t.fontSize,Sc:0,Zu:0}])}}class Vn extends lt{constructor(t,i){super(),this.cn=i,this.wn=new Dn(this)}Rn(){return[]}Pn(){return[this.wn]}W(){return this.cn}Vn(){this.wn.bt()}}var On,Bn,An,In,zn;!function(t){t[t.OnTouchEnd=0]=\"OnTouchEnd\",t[t.OnNextTap=1]=\"OnNextTap\"}(On||(On={}));class Ln{constructor(t,i,n){this.yc=[],this.Cc=[],this.__=0,this.Tc=null,this.Pc=new D,this.Rc=new D,this.Dc=null,this.Vc=t,this.cn=i,this.q_=n,this.Oc=new W(this),this.yl=new Tn(this,i.timeScale,this.cn.localization,n),this.vt=new ot(this,i.crosshair),this.Bc=new Ji(i.crosshair),this.Ac=new Vn(this,i.watermark),this.Ic(),this.yc[0].x_(2e3),this.zc=this.Lc(0),this.Ec=this.Lc(1)}Kl(){this.Nc(ut.es())}Uh(){this.Nc(ut.ss())}oa(){this.Nc(new ut(1))}Gl(t){const i=this.Fc(t);this.Nc(i)}Wc(){return this.Tc}jc(t){const i=this.Tc;this.Tc=t,null!==i&&this.Gl(i.Hc),null!==t&&this.Gl(t.Hc)}W(){return this.cn}$h(t){V(this.cn,t),this.yc.forEach((i=>i.b_(t))),void 0!==t.timeScale&&this.yl.$h(t.timeScale),void 0!==t.localization&&this.yl.yu(t.localization),(t.leftPriceScale||t.rightPriceScale)&&this.Pc.m(),this.zc=this.Lc(0),this.Ec=this.Lc(1),this.Kl()}$c(t,i){if(\"left\"===t)return void this.$h({leftPriceScale:i});if(\"right\"===t)return void this.$h({rightPriceScale:i});const n=this.Uc(t);null!==n&&(n.Dt.$h(i),this.Pc.m())}Uc(t){for(const i of this.yc){const n=i.w_(t);if(null!==n)return{Ht:i,Dt:n}}return null}St(){return this.yl}qc(){return this.yc}Yc(){return this.Ac}Zc(){return this.vt}Xc(){return this.Rc}Kc(t,i){t.Lo(i),this.Wu()}S_(t){this.__=t,this.yl.S_(this.__),this.yc.forEach((i=>i.S_(t))),this.Wu()}Ic(t){const i=new gn(this.yl,this);void 0!==t?this.yc.splice(t,0,i):this.yc.push(i);const n=void 0===t?this.yc.length-1:t,s=ut.es();return s.Nn(n,{Fn:0,Wn:!0}),this.Nc(s),i}V_(t,i,n){t.V_(i,n)}O_(t,i,n){t.O_(i,n),this.Jl(),this.Nc(this.Gc(t,2))}B_(t,i){t.B_(i),this.Nc(this.Gc(t,2))}A_(t,i,n){i.Vo()||t.A_(i,n)}I_(t,i,n){i.Vo()||(t.I_(i,n),this.Jl(),this.Nc(this.Gc(t,2)))}z_(t,i){i.Vo()||(t.z_(i),this.Nc(this.Gc(t,2)))}E_(t,i){t.E_(i),this.Nc(this.Gc(t,2))}Jc(t){this.yl.Go(t)}Qc(t,i){const n=this.St();if(n.Ni()||0===i)return;const s=n.Hi();t=Math.max(1,Math.min(t,s)),n.Zu(t,i),this.Wu()}td(t){this.nd(0),this.sd(t),this.ed()}rd(t){this.yl.Jo(t),this.Wu()}hd(){this.yl.Qo(),this.Uh()}nd(t){this.yl.t_(t)}sd(t){this.yl.i_(t),this.Wu()}ed(){this.yl.n_(),this.Uh()}wt(){return this.Cc}ld(t,i,n,s,e){this.vt.gn(t,i);let r=NaN,h=this.yl.Nu(t);const l=this.yl.Xs();null!==l&&(h=Math.min(Math.max(l.Os(),h),l.ui()));const a=s.vn(),o=a.Ct();null!==o&&(r=a.pn(i,o)),r=this.Bc.Oa(r,h,s),this.vt.kn(h,r,s),this.oa(),e||this.Rc.m(this.vt.xt(),{x:t,y:i},n)}ad(t,i,n){const s=n.vn(),e=s.Ct(),r=s.Rt(t,b(e)),h=this.yl.Va(i,!0),l=this.yl.It(b(h));this.ld(l,r,null,n,!0)}od(t){this.Zc().Cn(),this.oa(),t||this.Rc.m(null,null,null)}Jl(){const t=this.vt.Ht();if(null!==t){const i=this.vt.xn(),n=this.vt.Sn();this.ld(i,n,null,t)}this.vt.Vn()}_d(t,i,n){const s=this.yl.mn(0);void 0!==i&&void 0!==n&&this.yl.bt(i,n);const e=this.yl.mn(0),r=this.yl.Eu(),h=this.yl.Xs();if(null!==h&&null!==s&&null!==e){const i=h.Kr(r),l=this.q_.key(s)>this.q_.key(e),a=null!==t&&t>r&&!l,o=this.yl.W().allowShiftVisibleRangeOnWhitespaceReplacement,_=i&&(!(void 0===n)||o)&&this.yl.W().shiftVisibleRangeOnNewBar;if(a&&!_){const i=t-r;this.yl.Jn(this.yl.Hu()-i)}}this.yl.Yu(t)}ia(t){null!==t&&t.F_()}dr(t){const i=this.yc.find((i=>i.Uo().includes(t)));return void 0===i?null:i}Wu(){this.Ac.Vn(),this.yc.forEach((t=>t.F_())),this.Jl()}S(){this.yc.forEach((t=>t.S())),this.yc.length=0,this.cn.localization.priceFormatter=void 0,this.cn.localization.percentageFormatter=void 0,this.cn.localization.timeFormatter=void 0}ud(){return this.Oc}br(){return this.Oc.W()}g_(){return this.Pc}dd(t,i,n){const s=this.yc[0],e=this.fd(i,t,s,n);return this.Cc.push(e),1===this.Cc.length?this.Kl():this.Uh(),e}vd(t){const i=this.dr(t),n=this.Cc.indexOf(t);p(-1!==n,\"Series not found\"),this.Cc.splice(n,1),b(i).Zo(t),t.S&&t.S()}Xl(t,i){const n=b(this.dr(t));n.Zo(t);const s=this.Uc(i);if(null===s){const s=t.Xi();n.qo(t,i,s)}else{const e=s.Ht===n?t.Xi():void 0;s.Ht.qo(t,i,e)}}hc(){const t=ut.ss();t.$n(),this.Nc(t)}pd(t){const i=ut.ss();i.Yn(t),this.Nc(i)}Kn(){const t=ut.ss();t.Kn(),this.Nc(t)}Gn(t){const i=ut.ss();i.Gn(t),this.Nc(i)}Jn(t){const i=ut.ss();i.Jn(t),this.Nc(i)}Zn(t){const i=ut.ss();i.Zn(t),this.Nc(i)}Un(){const t=ut.ss();t.Un(),this.Nc(t)}md(){return this.cn.rightPriceScale.visible?\"right\":\"left\"}bd(){return this.Ec}q(){return this.zc}Bt(t){const i=this.Ec,n=this.zc;if(i===n)return i;if(t=Math.max(0,Math.min(100,Math.round(100*t))),null===this.Dc||this.Dc.Ps!==n||this.Dc.Rs!==i)this.Dc={Ps:n,Rs:i,wd:new Map};else{const i=this.Dc.wd.get(t);if(void 0!==i)return i}const s=function(t,i,n){const[s,e,r,h]=T(t),[l,a,o,_]=T(i),u=[M(s+n*(l-s)),M(e+n*(a-e)),M(r+n*(o-r)),x(h+n*(_-h))];return`rgba(${u[0]}, ${u[1]}, ${u[2]}, ${u[3]})`}(n,i,t/100);return this.Dc.wd.set(t,s),s}Gc(t,i){const n=new ut(i);if(null!==t){const s=this.yc.indexOf(t);n.Nn(s,{Fn:i})}return n}Fc(t,i){return void 0===i&&(i=2),this.Gc(this.dr(t),i)}Nc(t){this.Vc&&this.Vc(t),this.yc.forEach((t=>t.j_().qh().bt()))}fd(t,i,n,s){const e=new Gi(this,t,i,n,s),r=void 0!==t.priceScaleId?t.priceScaleId:this.md();return n.qo(e,r),_t(r)||e.$h(t),e}Lc(t){const i=this.cn.layout;return\"gradient\"===i.background.type?0===t?i.background.topColor:i.background.bottomColor:i.background.color}}function En(t){return!O(t)&&!A(t)}function Nn(t){return O(t)}!function(t){t[t.Disabled=0]=\"Disabled\",t[t.Continuous=1]=\"Continuous\",t[t.OnDataUpdate=2]=\"OnDataUpdate\"}(Bn||(Bn={})),function(t){t[t.LastBar=0]=\"LastBar\",t[t.LastVisible=1]=\"LastVisible\"}(An||(An={})),function(t){t.Solid=\"solid\",t.VerticalGradient=\"gradient\"}(In||(In={})),function(t){t[t.Year=0]=\"Year\",t[t.Month=1]=\"Month\",t[t.DayOfMonth=2]=\"DayOfMonth\",t[t.Time=3]=\"Time\",t[t.TimeWithSeconds=4]=\"TimeWithSeconds\"}(zn||(zn={}));const Fn=t=>t.getUTCFullYear();function Wn(t,i,n){return i.replace(/yyyy/g,(t=>dt(Fn(t),4))(t)).replace(/yy/g,(t=>dt(Fn(t)%100,2))(t)).replace(/MMMM/g,((t,i)=>new Date(t.getUTCFullYear(),t.getUTCMonth(),1).toLocaleString(i,{month:\"long\"}))(t,n)).replace(/MMM/g,((t,i)=>new Date(t.getUTCFullYear(),t.getUTCMonth(),1).toLocaleString(i,{month:\"short\"}))(t,n)).replace(/MM/g,(t=>dt((t=>t.getUTCMonth()+1)(t),2))(t)).replace(/dd/g,(t=>dt((t=>t.getUTCDate())(t),2))(t))}class jn{constructor(t=\"yyyy-MM-dd\",i=\"default\"){this.gd=t,this.Md=i}Y_(t){return Wn(t,this.gd,this.Md)}}class Hn{constructor(t){this.xd=t||\"%h:%m:%s\"}Y_(t){return this.xd.replace(\"%h\",dt(t.getUTCHours(),2)).replace(\"%m\",dt(t.getUTCMinutes(),2)).replace(\"%s\",dt(t.getUTCSeconds(),2))}}const $n={Sd:\"yyyy-MM-dd\",kd:\"%h:%m:%s\",yd:\" \",Cd:\"default\"};class Un{constructor(t={}){const i=Object.assign(Object.assign({},$n),t);this.Td=new jn(i.Sd,i.Cd),this.Pd=new Hn(i.kd),this.Rd=i.yd}Y_(t){return`${this.Td.Y_(t)}${this.Rd}${this.Pd.Y_(t)}`}}function qn(t){return 60*t*60*1e3}function Yn(t){return 60*t*1e3}const Zn=[{Dd:(Xn=1,1e3*Xn),Vd:10},{Dd:Yn(1),Vd:20},{Dd:Yn(5),Vd:21},{Dd:Yn(30),Vd:22},{Dd:qn(1),Vd:30},{Dd:qn(3),Vd:31},{Dd:qn(6),Vd:32},{Dd:qn(12),Vd:33}];var Xn;function Kn(t,i){if(t.getUTCFullYear()!==i.getUTCFullYear())return 70;if(t.getUTCMonth()!==i.getUTCMonth())return 60;if(t.getUTCDate()!==i.getUTCDate())return 50;for(let n=Zn.length-1;n>=0;--n)if(Math.floor(i.getTime()/Zn[n].Dd)!==Math.floor(t.getTime()/Zn[n].Dd))return Zn[n].Vd;return 0}function Gn(t){let i=t;if(A(t)&&(i=Qn(t)),!En(i))throw new Error(\"time must be of type BusinessDay\");const n=new Date(Date.UTC(i.year,i.month-1,i.day,0,0,0,0));return{Od:Math.round(n.getTime()/1e3),Bd:i}}function Jn(t){if(!Nn(t))throw new Error(\"time must be of type isUTCTimestamp\");return{Od:t}}function Qn(t){const i=new Date(t);if(isNaN(i.getTime()))throw new Error(`Invalid date string=${t}, expected format=yyyy-mm-dd`);return{day:i.getUTCDate(),month:i.getUTCMonth()+1,year:i.getUTCFullYear()}}function ts(t){A(t.time)&&(t.time=Qn(t.time))}class is{options(){return this.cn}setOptions(t){this.cn=t,this.updateFormatter(t.localization)}preprocessData(t){Array.isArray(t)?function(t){t.forEach(ts)}(t):ts(t)}createConverterToInternalObj(t){return b(function(t){return 0===t.length?null:En(t[0].time)||A(t[0].time)?Gn:Jn}(t))}key(t){return\"object\"==typeof t&&\"Od\"in t?t.Od:this.key(this.convertHorzItemToInternal(t))}cacheKey(t){const i=t;return void 0===i.Bd?new Date(1e3*i.Od).getTime():new Date(Date.UTC(i.Bd.year,i.Bd.month-1,i.Bd.day)).getTime()}convertHorzItemToInternal(t){return Nn(i=t)?Jn(i):En(i)?Gn(i):Gn(Qn(i));var i}updateFormatter(t){if(!this.cn)return;const i=t.dateFormat;this.cn.timeScale.timeVisible?this.Ad=new Un({Sd:i,kd:this.cn.timeScale.secondsVisible?\"%h:%m:%s\":\"%h:%m\",yd:\" \",Cd:t.locale}):this.Ad=new jn(i,t.locale)}formatHorzItem(t){const i=t;return this.Ad.Y_(new Date(1e3*i.Od))}formatTickmark(t,i){const n=function(t,i,n){switch(t){case 0:case 10:return i?n?4:3:2;case 20:case 21:case 22:case 30:case 31:case 32:case 33:return i?3:2;case 50:return 2;case 60:return 1;case 70:return 0}}(t.weight,this.cn.timeScale.timeVisible,this.cn.timeScale.secondsVisible),s=this.cn.timeScale;if(void 0!==s.tickMarkFormatter){const e=s.tickMarkFormatter(t.originalTime,n,i.locale);if(null!==e)return e}return function(t,i,n){const s={};switch(i){case 0:s.year=\"numeric\";break;case 1:s.month=\"short\";break;case 2:s.day=\"numeric\";break;case 3:s.hour12=!1,s.hour=\"2-digit\",s.minute=\"2-digit\";break;case 4:s.hour12=!1,s.hour=\"2-digit\",s.minute=\"2-digit\",s.second=\"2-digit\"}const e=void 0===t.Bd?new Date(1e3*t.Od):new Date(Date.UTC(t.Bd.year,t.Bd.month-1,t.Bd.day));return new Date(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds()).toLocaleString(n,s)}(t.time,n,i.locale)}maxTickMarkWeight(t){let i=t.reduce(Cn,t[0]).weight;return i>30&&i<50&&(i=30),i}fillWeightsForPoints(t,i){!function(t,i=0){if(0===t.length)return;let n=0===i?null:t[i-1].time.Od,s=null!==n?new Date(1e3*n):null,e=0;for(let r=i;r<t.length;++r){const i=t[r],h=new Date(1e3*i.time.Od);null!==s&&(i.timeWeight=Kn(h,s)),e+=i.time.Od-(n||i.time.Od),n=i.time.Od,s=h}if(0===i&&t.length>1){const i=Math.ceil(e/(t.length-1)),n=new Date(1e3*(t[0].time.Od-i));t[0].timeWeight=Kn(new Date(1e3*t[0].time.Od),n)}}(t,i)}static Id(t){return V({localization:{dateFormat:\"dd MMM 'yy\"}},null!=t?t:{})}}const ns=\"undefined\"!=typeof window;function ss(){return!!ns&&window.navigator.userAgent.toLowerCase().indexOf(\"firefox\")>-1}function es(){return!!ns&&/iPhone|iPad|iPod/.test(window.navigator.platform)}function rs(t){return t+t%2}function hs(t,i){return t.zd-i.zd}function ls(t,i,n){const s=(t.zd-i.zd)/(t.ot-i.ot);return Math.sign(s)*Math.min(Math.abs(s),n)}class as{constructor(t,i,n,s){this.Ld=null,this.Ed=null,this.Nd=null,this.Fd=null,this.Wd=null,this.jd=0,this.Hd=0,this.$d=t,this.Ud=i,this.qd=n,this.rs=s}Yd(t,i){if(null!==this.Ld){if(this.Ld.ot===i)return void(this.Ld.zd=t);if(Math.abs(this.Ld.zd-t)<this.rs)return}this.Fd=this.Nd,this.Nd=this.Ed,this.Ed=this.Ld,this.Ld={ot:i,zd:t}}Vr(t,i){if(null===this.Ld||null===this.Ed)return;if(i-this.Ld.ot>50)return;let n=0;const s=ls(this.Ld,this.Ed,this.Ud),e=hs(this.Ld,this.Ed),r=[s],h=[e];if(n+=e,null!==this.Nd){const t=ls(this.Ed,this.Nd,this.Ud);if(Math.sign(t)===Math.sign(s)){const i=hs(this.Ed,this.Nd);if(r.push(t),h.push(i),n+=i,null!==this.Fd){const t=ls(this.Nd,this.Fd,this.Ud);if(Math.sign(t)===Math.sign(s)){const i=hs(this.Nd,this.Fd);r.push(t),h.push(i),n+=i}}}}let l=0;for(let t=0;t<r.length;++t)l+=h[t]/n*r[t];Math.abs(l)<this.$d||(this.Wd={zd:t,ot:i},this.Hd=l,this.jd=function(t,i){const n=Math.log(i);return Math.log(1*n/-t)/n}(Math.abs(l),this.qd))}tc(t){const i=b(this.Wd),n=t-i.ot;return i.zd+this.Hd*(Math.pow(this.qd,n)-1)/Math.log(this.qd)}Qu(t){return null===this.Wd||this.Zd(t)===this.jd}Zd(t){const i=t-b(this.Wd).ot;return Math.min(i,this.jd)}}class os{constructor(t,i){this.Xd=void 0,this.Kd=void 0,this.Gd=void 0,this.en=!1,this.Jd=t,this.Qd=i,this.tf()}bt(){this.tf()}if(){this.Xd&&this.Jd.removeChild(this.Xd),this.Kd&&this.Jd.removeChild(this.Kd),this.Xd=void 0,this.Kd=void 0}nf(){return this.en!==this.sf()||this.Gd!==this.ef()}ef(){return P(T(this.Qd.W().layout.textColor))>160?\"dark\":\"light\"}sf(){return this.Qd.W().layout.attributionLogo}rf(){const t=new URL(location.href);return t.hostname?\"&utm_source=\"+t.hostname+t.pathname:\"\"}tf(){this.nf()&&(this.if(),this.en=this.sf(),this.en&&(this.Gd=this.ef(),this.Kd=document.createElement(\"style\"),this.Kd.innerText=\"a#tv-attr-logo{--fill:#131722;--stroke:#fff;position:absolute;left:10px;bottom:10px;height:19px;width:35px;margin:0;padding:0;border:0;z-index:3;}a#tv-attr-logo[data-dark]{--fill:#D1D4DC;--stroke:#131722;}\",this.Xd=document.createElement(\"a\"),this.Xd.href=`https://www.tradingview.com/?utm_medium=lwc-link&utm_campaign=lwc-chart${this.rf()}`,this.Xd.title=\"Charting by TradingView\",this.Xd.id=\"tv-attr-logo\",this.Xd.target=\"_blank\",this.Xd.innerHTML='<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 35 19\" width=\"35\" height=\"19\" fill=\"none\"><g fill-rule=\"evenodd\" clip-path=\"url(#a)\" clip-rule=\"evenodd\"><path fill=\"var(--stroke)\" d=\"M2 0H0v10h6v9h21.4l.5-1.3 6-15 1-2.7H23.7l-.5 1.3-.2.6a5 5 0 0 0-7-.9V0H2Zm20 17h4l5.2-13 .8-2h-7l-1 2.5-.2.5-1.5 3.8-.3.7V17Zm-.8-10a3 3 0 0 0 .7-2.7A3 3 0 1 0 16.8 7h4.4ZM14 7V2H2v6h6v9h4V7h2Z\"/><path fill=\"var(--fill)\" d=\"M14 2H2v6h6v9h6V2Zm12 15h-7l6-15h7l-6 15Zm-7-9a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z\"/></g><defs><clipPath id=\"a\"><path fill=\"var(--stroke)\" d=\"M0 0h35v19H0z\"/></clipPath></defs></svg>',this.Xd.toggleAttribute(\"data-dark\",\"dark\"===this.Gd),this.Jd.appendChild(this.Kd),this.Jd.appendChild(this.Xd)))}}function _s(t,n){const s=b(t.ownerDocument).createElement(\"canvas\");t.appendChild(s);const e=i(s,{type:\"device-pixel-content-box\",options:{allowResizeObserver:!1},transform:(t,i)=>({width:Math.max(t.width,i.width),height:Math.max(t.height,i.height)})});return e.resizeCanvasElement(n),e}function us(t){var i;t.width=1,t.height=1,null===(i=t.getContext(\"2d\"))||void 0===i||i.clearRect(0,0,1,1)}function cs(t,i,n,s){t.gl&&t.gl(i,n,s)}function ds(t,i,n,s){t.X(i,n,s)}function fs(t,i,n,s){const e=t(n,s);for(const t of e){const n=t.gt();null!==n&&i(n)}}function vs(t){ns&&void 0!==window.chrome&&t.addEventListener(\"mousedown\",(t=>{if(1===t.button)return t.preventDefault(),!1}))}class ps{constructor(t,i,n){this.hf=0,this.lf=null,this.af={nt:Number.NEGATIVE_INFINITY,st:Number.POSITIVE_INFINITY},this._f=0,this.uf=null,this.cf={nt:Number.NEGATIVE_INFINITY,st:Number.POSITIVE_INFINITY},this.df=null,this.ff=!1,this.vf=null,this.pf=null,this.mf=!1,this.bf=!1,this.wf=!1,this.gf=null,this.Mf=null,this.xf=null,this.Sf=null,this.kf=null,this.yf=null,this.Cf=null,this.Tf=0,this.Pf=!1,this.Rf=!1,this.Df=!1,this.Vf=0,this.Of=null,this.Bf=!es(),this.Af=t=>{this.If(t)},this.zf=t=>{if(this.Lf(t)){const i=this.Ef(t);if(++this._f,this.uf&&this._f>1){const{Nf:n}=this.Ff(ws(t),this.cf);n<30&&!this.wf&&this.Wf(i,this.Hf.jf),this.$f()}}else{const i=this.Ef(t);if(++this.hf,this.lf&&this.hf>1){const{Nf:n}=this.Ff(ws(t),this.af);n<5&&!this.bf&&this.Uf(i,this.Hf.qf),this.Yf()}}},this.Zf=t,this.Hf=i,this.cn=n,this.Xf()}S(){null!==this.gf&&(this.gf(),this.gf=null),null!==this.Mf&&(this.Mf(),this.Mf=null),null!==this.Sf&&(this.Sf(),this.Sf=null),null!==this.kf&&(this.kf(),this.kf=null),null!==this.yf&&(this.yf(),this.yf=null),null!==this.xf&&(this.xf(),this.xf=null),this.Kf(),this.Yf()}Gf(t){this.Sf&&this.Sf();const i=this.Jf.bind(this);if(this.Sf=()=>{this.Zf.removeEventListener(\"mousemove\",i)},this.Zf.addEventListener(\"mousemove\",i),this.Lf(t))return;const n=this.Ef(t);this.Uf(n,this.Hf.Qf),this.Bf=!0}Yf(){null!==this.lf&&clearTimeout(this.lf),this.hf=0,this.lf=null,this.af={nt:Number.NEGATIVE_INFINITY,st:Number.POSITIVE_INFINITY}}$f(){null!==this.uf&&clearTimeout(this.uf),this._f=0,this.uf=null,this.cf={nt:Number.NEGATIVE_INFINITY,st:Number.POSITIVE_INFINITY}}Jf(t){if(this.Df||null!==this.pf)return;if(this.Lf(t))return;const i=this.Ef(t);this.Uf(i,this.Hf.tv),this.Bf=!0}iv(t){const i=Ms(t.changedTouches,b(this.Of));if(null===i)return;if(this.Vf=gs(t),null!==this.Cf)return;if(this.Rf)return;this.Pf=!0;const n=this.Ff(ws(i),b(this.pf)),{nv:s,sv:e,Nf:r}=n;if(this.mf||!(r<5)){if(!this.mf){const t=.5*s,i=e>=t&&!this.cn.ev(),n=t>e&&!this.cn.rv();i||n||(this.Rf=!0),this.mf=!0,this.wf=!0,this.Kf(),this.$f()}if(!this.Rf){const n=this.Ef(t,i);this.Wf(n,this.Hf.hv),bs(t)}}}lv(t){if(0!==t.button)return;const i=this.Ff(ws(t),b(this.vf)),{Nf:n}=i;if(n>=5&&(this.bf=!0,this.Yf()),this.bf){const i=this.Ef(t);this.Uf(i,this.Hf.av)}}Ff(t,i){const n=Math.abs(i.nt-t.nt),s=Math.abs(i.st-t.st);return{nv:n,sv:s,Nf:n+s}}ov(t){let i=Ms(t.changedTouches,b(this.Of));if(null===i&&0===t.touches.length&&(i=t.changedTouches[0]),null===i)return;this.Of=null,this.Vf=gs(t),this.Kf(),this.pf=null,this.yf&&(this.yf(),this.yf=null);const n=this.Ef(t,i);if(this.Wf(n,this.Hf._v),++this._f,this.uf&&this._f>1){const{Nf:t}=this.Ff(ws(i),this.cf);t<30&&!this.wf&&this.Wf(n,this.Hf.jf),this.$f()}else this.wf||(this.Wf(n,this.Hf.uv),this.Hf.uv&&bs(t));0===this._f&&bs(t),0===t.touches.length&&this.ff&&(this.ff=!1,bs(t))}If(t){if(0!==t.button)return;const i=this.Ef(t);if(this.vf=null,this.Df=!1,this.kf&&(this.kf(),this.kf=null),ss()){this.Zf.ownerDocument.documentElement.removeEventListener(\"mouseleave\",this.Af)}if(!this.Lf(t))if(this.Uf(i,this.Hf.cv),++this.hf,this.lf&&this.hf>1){const{Nf:n}=this.Ff(ws(t),this.af);n<5&&!this.bf&&this.Uf(i,this.Hf.qf),this.Yf()}else this.bf||this.Uf(i,this.Hf.dv)}Kf(){null!==this.df&&(clearTimeout(this.df),this.df=null)}fv(t){if(null!==this.Of)return;const i=t.changedTouches[0];this.Of=i.identifier,this.Vf=gs(t);const n=this.Zf.ownerDocument.documentElement;this.wf=!1,this.mf=!1,this.Rf=!1,this.pf=ws(i),this.yf&&(this.yf(),this.yf=null);{const i=this.iv.bind(this),s=this.ov.bind(this);this.yf=()=>{n.removeEventListener(\"touchmove\",i),n.removeEventListener(\"touchend\",s)},n.addEventListener(\"touchmove\",i,{passive:!1}),n.addEventListener(\"touchend\",s,{passive:!1}),this.Kf(),this.df=setTimeout(this.vv.bind(this,t),240)}const s=this.Ef(t,i);this.Wf(s,this.Hf.pv),this.uf||(this._f=0,this.uf=setTimeout(this.$f.bind(this),500),this.cf=ws(i))}mv(t){if(0!==t.button)return;const i=this.Zf.ownerDocument.documentElement;ss()&&i.addEventListener(\"mouseleave\",this.Af),this.bf=!1,this.vf=ws(t),this.kf&&(this.kf(),this.kf=null);{const t=this.lv.bind(this),n=this.If.bind(this);this.kf=()=>{i.removeEventListener(\"mousemove\",t),i.removeEventListener(\"mouseup\",n)},i.addEventListener(\"mousemove\",t),i.addEventListener(\"mouseup\",n)}if(this.Df=!0,this.Lf(t))return;const n=this.Ef(t);this.Uf(n,this.Hf.bv),this.lf||(this.hf=0,this.lf=setTimeout(this.Yf.bind(this),500),this.af=ws(t))}Xf(){this.Zf.addEventListener(\"mouseenter\",this.Gf.bind(this)),this.Zf.addEventListener(\"touchcancel\",this.Kf.bind(this));{const t=this.Zf.ownerDocument,i=t=>{this.Hf.wv&&(t.composed&&this.Zf.contains(t.composedPath()[0])||t.target&&this.Zf.contains(t.target)||this.Hf.wv())};this.Mf=()=>{t.removeEventListener(\"touchstart\",i)},this.gf=()=>{t.removeEventListener(\"mousedown\",i)},t.addEventListener(\"mousedown\",i),t.addEventListener(\"touchstart\",i,{passive:!0})}es()&&(this.xf=()=>{this.Zf.removeEventListener(\"dblclick\",this.zf)},this.Zf.addEventListener(\"dblclick\",this.zf)),this.Zf.addEventListener(\"mouseleave\",this.gv.bind(this)),this.Zf.addEventListener(\"touchstart\",this.fv.bind(this),{passive:!0}),vs(this.Zf),this.Zf.addEventListener(\"mousedown\",this.mv.bind(this)),this.Mv(),this.Zf.addEventListener(\"touchmove\",(()=>{}),{passive:!1})}Mv(){void 0===this.Hf.xv&&void 0===this.Hf.Sv&&void 0===this.Hf.kv||(this.Zf.addEventListener(\"touchstart\",(t=>this.yv(t.touches)),{passive:!0}),this.Zf.addEventListener(\"touchmove\",(t=>{if(2===t.touches.length&&null!==this.Cf&&void 0!==this.Hf.Sv){const i=ms(t.touches[0],t.touches[1])/this.Tf;this.Hf.Sv(this.Cf,i),bs(t)}}),{passive:!1}),this.Zf.addEventListener(\"touchend\",(t=>{this.yv(t.touches)})))}yv(t){1===t.length&&(this.Pf=!1),2!==t.length||this.Pf||this.ff?this.Cv():this.Tv(t)}Tv(t){const i=this.Zf.getBoundingClientRect()||{left:0,top:0};this.Cf={nt:(t[0].clientX-i.left+(t[1].clientX-i.left))/2,st:(t[0].clientY-i.top+(t[1].clientY-i.top))/2},this.Tf=ms(t[0],t[1]),void 0!==this.Hf.xv&&this.Hf.xv(),this.Kf()}Cv(){null!==this.Cf&&(this.Cf=null,void 0!==this.Hf.kv&&this.Hf.kv())}gv(t){if(this.Sf&&this.Sf(),this.Lf(t))return;if(!this.Bf)return;const i=this.Ef(t);this.Uf(i,this.Hf.Pv),this.Bf=!es()}vv(t){const i=Ms(t.touches,b(this.Of));if(null===i)return;const n=this.Ef(t,i);this.Wf(n,this.Hf.Rv),this.wf=!0,this.ff=!0}Lf(t){return t.sourceCapabilities&&void 0!==t.sourceCapabilities.firesTouchEvents?t.sourceCapabilities.firesTouchEvents:gs(t)<this.Vf+500}Wf(t,i){i&&i.call(this.Hf,t)}Uf(t,i){i&&i.call(this.Hf,t)}Ef(t,i){const n=i||t,s=this.Zf.getBoundingClientRect()||{left:0,top:0};return{clientX:n.clientX,clientY:n.clientY,pageX:n.pageX,pageY:n.pageY,screenX:n.screenX,screenY:n.screenY,localX:n.clientX-s.left,localY:n.clientY-s.top,ctrlKey:t.ctrlKey,altKey:t.altKey,shiftKey:t.shiftKey,metaKey:t.metaKey,Dv:!t.type.startsWith(\"mouse\")&&\"contextmenu\"!==t.type&&\"click\"!==t.type,Vv:t.type,Ov:n.target,Bv:t.view,Av:()=>{\"touchstart\"!==t.type&&bs(t)}}}}function ms(t,i){const n=t.clientX-i.clientX,s=t.clientY-i.clientY;return Math.sqrt(n*n+s*s)}function bs(t){t.cancelable&&t.preventDefault()}function ws(t){return{nt:t.pageX,st:t.pageY}}function gs(t){return t.timeStamp||performance.now()}function Ms(t,i){for(let n=0;n<t.length;++n)if(t[n].identifier===i)return t[n];return null}function xs(t){return{Hc:t.Hc,Iv:{gr:t.zv.externalId},Lv:t.zv.cursorStyle}}function Ss(t,i,n){for(const s of t){const t=s.gt();if(null!==t&&t.wr){const e=t.wr(i,n);if(null!==e)return{Bv:s,Iv:e}}}return null}function ks(t,i){return n=>{var s,e,r,h;return(null!==(e=null===(s=n.Dt())||void 0===s?void 0:s.Pa())&&void 0!==e?e:\"\")!==i?[]:null!==(h=null===(r=n.da)||void 0===r?void 0:r.call(n,t))&&void 0!==h?h:[]}}function ys(t,i,n,s){if(!t.length)return;let e=0;const r=n/2,h=t[0].At(s,!0);let l=1===i?r-(t[0].Vi()-h/2):t[0].Vi()-h/2-r;l=Math.max(0,l);for(let r=1;r<t.length;r++){const h=t[r],a=t[r-1],o=a.At(s,!1),_=h.Vi(),u=a.Vi();if(1===i?_>u-o:_<u+o){const s=u-o*i;h.Oi(s);const r=s-i*o/2;if((1===i?r<0:r>n)&&l>0){const s=1===i?-1-r:r-n,h=Math.min(s,l);for(let n=e;n<t.length;n++)t[n].Oi(t[n].Vi()+i*h);l-=h}}else e=r,l=1===i?u-o-_:_-(u+o)}}class Cs{constructor(i,n,s,e){this.Li=null,this.Ev=null,this.Nv=!1,this.Fv=new ni(200),this.Qr=null,this.Wv=0,this.jv=!1,this.Hv=()=>{this.jv||this.tn.$v().$t().Uh()},this.Uv=()=>{this.jv||this.tn.$v().$t().Uh()},this.tn=i,this.cn=n,this.ko=n.layout,this.Oc=s,this.qv=\"left\"===e,this.Yv=ks(\"normal\",e),this.Zv=ks(\"top\",e),this.Xv=ks(\"bottom\",e),this.Kv=document.createElement(\"div\"),this.Kv.style.height=\"100%\",this.Kv.style.overflow=\"hidden\",this.Kv.style.width=\"25px\",this.Kv.style.left=\"0\",this.Kv.style.position=\"relative\",this.Gv=_s(this.Kv,t({width:16,height:16})),this.Gv.subscribeSuggestedBitmapSizeChanged(this.Hv);const r=this.Gv.canvasElement;r.style.position=\"absolute\",r.style.zIndex=\"1\",r.style.left=\"0\",r.style.top=\"0\",this.Jv=_s(this.Kv,t({width:16,height:16})),this.Jv.subscribeSuggestedBitmapSizeChanged(this.Uv);const h=this.Jv.canvasElement;h.style.position=\"absolute\",h.style.zIndex=\"2\",h.style.left=\"0\",h.style.top=\"0\";const l={bv:this.Qv.bind(this),pv:this.Qv.bind(this),av:this.tp.bind(this),hv:this.tp.bind(this),wv:this.ip.bind(this),cv:this.np.bind(this),_v:this.np.bind(this),qf:this.sp.bind(this),jf:this.sp.bind(this),Qf:this.ep.bind(this),Pv:this.rp.bind(this)};this.hp=new ps(this.Jv.canvasElement,l,{ev:()=>!this.cn.handleScroll.vertTouchDrag,rv:()=>!0})}S(){this.hp.S(),this.Jv.unsubscribeSuggestedBitmapSizeChanged(this.Uv),us(this.Jv.canvasElement),this.Jv.dispose(),this.Gv.unsubscribeSuggestedBitmapSizeChanged(this.Hv),us(this.Gv.canvasElement),this.Gv.dispose(),null!==this.Li&&this.Li.Ko().p(this),this.Li=null}lp(){return this.Kv}P(){return this.ko.fontSize}ap(){const t=this.Oc.W();return this.Qr!==t.R&&(this.Fv.nr(),this.Qr=t.R),t}op(){if(null===this.Li)return 0;let t=0;const i=this.ap(),n=b(this.Gv.canvasElement.getContext(\"2d\"));n.save();const s=this.Li.Ha();n.font=this._p(),s.length>0&&(t=Math.max(this.Fv.xi(n,s[0].so),this.Fv.xi(n,s[s.length-1].so)));const e=this.up();for(let i=e.length;i--;){const s=this.Fv.xi(n,e[i].Kt());s>t&&(t=s)}const r=this.Li.Ct();if(null!==r&&null!==this.Ev&&(2!==(h=this.cn.crosshair).mode&&h.horzLine.visible&&h.horzLine.labelVisible)){const i=this.Li.pn(1,r),s=this.Li.pn(this.Ev.height-2,r);t=Math.max(t,this.Fv.xi(n,this.Li.Fi(Math.floor(Math.min(i,s))+.11111111111111,r)),this.Fv.xi(n,this.Li.Fi(Math.ceil(Math.max(i,s))-.11111111111111,r)))}var h;n.restore();const l=t||34;return rs(Math.ceil(i.C+i.T+i.A+i.I+5+l))}cp(t){null!==this.Ev&&n(this.Ev,t)||(this.Ev=t,this.jv=!0,this.Gv.resizeCanvasElement(t),this.Jv.resizeCanvasElement(t),this.jv=!1,this.Kv.style.width=`${t.width}px`,this.Kv.style.height=`${t.height}px`)}dp(){return b(this.Ev).width}Gi(t){this.Li!==t&&(null!==this.Li&&this.Li.Ko().p(this),this.Li=t,t.Ko().l(this.fo.bind(this),this))}Dt(){return this.Li}nr(){const t=this.tn.fp();this.tn.$v().$t().E_(t,b(this.Dt()))}vp(t){if(null===this.Ev)return;if(1!==t){this.pp(),this.Gv.applySuggestedBitmapSize();const t=s(this.Gv);null!==t&&(t.useBitmapCoordinateSpace((t=>{this.mp(t),this.Ie(t)})),this.tn.bp(t,this.Xv),this.wp(t),this.tn.bp(t,this.Yv),this.gp(t))}this.Jv.applySuggestedBitmapSize();const i=s(this.Jv);null!==i&&(i.useBitmapCoordinateSpace((({context:t,bitmapSize:i})=>{t.clearRect(0,0,i.width,i.height)})),this.Mp(i),this.tn.bp(i,this.Zv))}xp(){return this.Gv.bitmapSize}Sp(t,i,n){const s=this.xp();s.width>0&&s.height>0&&t.drawImage(this.Gv.canvasElement,i,n)}bt(){var t;null===(t=this.Li)||void 0===t||t.Ha()}Qv(t){if(null===this.Li||this.Li.Ni()||!this.cn.handleScale.axisPressedMouseMove.price)return;const i=this.tn.$v().$t(),n=this.tn.fp();this.Nv=!0,i.V_(n,this.Li,t.localY)}tp(t){if(null===this.Li||!this.cn.handleScale.axisPressedMouseMove.price)return;const i=this.tn.$v().$t(),n=this.tn.fp(),s=this.Li;i.O_(n,s,t.localY)}ip(){if(null===this.Li||!this.cn.handleScale.axisPressedMouseMove.price)return;const t=this.tn.$v().$t(),i=this.tn.fp(),n=this.Li;this.Nv&&(this.Nv=!1,t.B_(i,n))}np(t){if(null===this.Li||!this.cn.handleScale.axisPressedMouseMove.price)return;const i=this.tn.$v().$t(),n=this.tn.fp();this.Nv=!1,i.B_(n,this.Li)}sp(t){this.cn.handleScale.axisDoubleClickReset.price&&this.nr()}ep(t){if(null===this.Li)return;!this.tn.$v().$t().W().handleScale.axisPressedMouseMove.price||this.Li.Mh()||this.Li.Oo()||this.kp(1)}rp(t){this.kp(0)}up(){const t=[],i=null===this.Li?void 0:this.Li;return(n=>{for(let s=0;s<n.length;++s){const e=n[s].Rn(this.tn.fp(),i);for(let i=0;i<e.length;i++)t.push(e[i])}})(this.tn.fp().Uo()),t}mp({context:t,bitmapSize:i}){const{width:n,height:s}=i,e=this.tn.fp().$t(),r=e.q(),h=e.bd();r===h?G(t,0,0,n,s,r):tt(t,0,0,n,s,r,h)}Ie({context:t,bitmapSize:i,horizontalPixelRatio:n}){if(null===this.Ev||null===this.Li||!this.Li.W().borderVisible)return;t.fillStyle=this.Li.W().borderColor;const s=Math.max(1,Math.floor(this.ap().C*n));let e;e=this.qv?i.width-s:0,t.fillRect(e,0,s,i.height)}wp(t){if(null===this.Ev||null===this.Li)return;const i=this.Li.Ha(),n=this.Li.W(),s=this.ap(),e=this.qv?this.Ev.width-s.T:0;n.borderVisible&&n.ticksVisible&&t.useBitmapCoordinateSpace((({context:t,horizontalPixelRatio:r,verticalPixelRatio:h})=>{t.fillStyle=n.borderColor;const l=Math.max(1,Math.floor(h)),a=Math.floor(.5*h),o=Math.round(s.T*r);t.beginPath();for(const n of i)t.rect(Math.floor(e*r),Math.round(n.Ea*h)-a,o,l);t.fill()})),t.useMediaCoordinateSpace((({context:t})=>{var r;t.font=this._p(),t.fillStyle=null!==(r=n.textColor)&&void 0!==r?r:this.ko.textColor,t.textAlign=this.qv?\"right\":\"left\",t.textBaseline=\"middle\";const h=this.qv?Math.round(e-s.A):Math.round(e+s.T+s.A),l=i.map((i=>this.Fv.Mi(t,i.so)));for(let n=i.length;n--;){const s=i[n];t.fillText(s.so,h,s.Ea+l[n])}}))}pp(){if(null===this.Ev||null===this.Li)return;const t=[],i=this.Li.Uo().slice(),n=this.tn.fp(),s=this.ap();this.Li===n.pr()&&this.tn.fp().Uo().forEach((t=>{n.vr(t)&&i.push(t)}));const e=this.Li;i.forEach((i=>{i.Rn(n,e).forEach((i=>{i.Oi(null),i.Bi()&&t.push(i)}))})),t.forEach((t=>t.Oi(t.ki())));this.Li.W().alignLabels&&this.yp(t,s)}yp(t,i){if(null===this.Ev)return;const n=this.Ev.height/2,s=t.filter((t=>t.ki()<=n)),e=t.filter((t=>t.ki()>n));s.sort(((t,i)=>i.ki()-t.ki())),e.sort(((t,i)=>t.ki()-i.ki()));for(const n of t){const t=Math.floor(n.At(i)/2),s=n.ki();s>-t&&s<t&&n.Oi(t),s>this.Ev.height-t&&s<this.Ev.height+t&&n.Oi(this.Ev.height-t)}ys(s,1,this.Ev.height,i),ys(e,-1,this.Ev.height,i)}gp(t){if(null===this.Ev)return;const i=this.up(),n=this.ap(),s=this.qv?\"right\":\"left\";i.forEach((i=>{if(i.Ai()){i.gt(b(this.Li)).X(t,n,this.Fv,s)}}))}Mp(t){if(null===this.Ev||null===this.Li)return;const i=this.tn.$v().$t(),n=[],s=this.tn.fp(),e=i.Zc().Rn(s,this.Li);e.length&&n.push(e);const r=this.ap(),h=this.qv?\"right\":\"left\";n.forEach((i=>{i.forEach((i=>{i.gt(b(this.Li)).X(t,r,this.Fv,h)}))}))}kp(t){this.Kv.style.cursor=1===t?\"ns-resize\":\"default\"}fo(){const t=this.op();this.Wv<t&&this.tn.$v().$t().Kl(),this.Wv=t}_p(){return F(this.ko.fontSize,this.ko.fontFamily)}}function Ts(t,i){var n,s;return null!==(s=null===(n=t.ua)||void 0===n?void 0:n.call(t,i))&&void 0!==s?s:[]}function Ps(t,i){var n,s;return null!==(s=null===(n=t.Pn)||void 0===n?void 0:n.call(t,i))&&void 0!==s?s:[]}function Rs(t,i){var n,s;return null!==(s=null===(n=t.Ji)||void 0===n?void 0:n.call(t,i))&&void 0!==s?s:[]}function Ds(t,i){var n,s;return null!==(s=null===(n=t.aa)||void 0===n?void 0:n.call(t,i))&&void 0!==s?s:[]}class Vs{constructor(i,n){this.Ev=t({width:0,height:0}),this.Cp=null,this.Tp=null,this.Pp=null,this.Rp=null,this.Dp=!1,this.Vp=new D,this.Op=new D,this.Bp=0,this.Ap=!1,this.Ip=null,this.zp=!1,this.Lp=null,this.Ep=null,this.jv=!1,this.Hv=()=>{this.jv||null===this.Np||this.$i().Uh()},this.Uv=()=>{this.jv||null===this.Np||this.$i().Uh()},this.Qd=i,this.Np=n,this.Np.W_().l(this.Fp.bind(this),this,!0),this.Wp=document.createElement(\"td\"),this.Wp.style.padding=\"0\",this.Wp.style.position=\"relative\";const s=document.createElement(\"div\");s.style.width=\"100%\",s.style.height=\"100%\",s.style.position=\"relative\",s.style.overflow=\"hidden\",this.jp=document.createElement(\"td\"),this.jp.style.padding=\"0\",this.Hp=document.createElement(\"td\"),this.Hp.style.padding=\"0\",this.Wp.appendChild(s),this.Gv=_s(s,t({width:16,height:16})),this.Gv.subscribeSuggestedBitmapSizeChanged(this.Hv);const e=this.Gv.canvasElement;e.style.position=\"absolute\",e.style.zIndex=\"1\",e.style.left=\"0\",e.style.top=\"0\",this.Jv=_s(s,t({width:16,height:16})),this.Jv.subscribeSuggestedBitmapSizeChanged(this.Uv);const r=this.Jv.canvasElement;r.style.position=\"absolute\",r.style.zIndex=\"2\",r.style.left=\"0\",r.style.top=\"0\",this.$p=document.createElement(\"tr\"),this.$p.appendChild(this.jp),this.$p.appendChild(this.Wp),this.$p.appendChild(this.Hp),this.Up(),this.hp=new ps(this.Jv.canvasElement,this,{ev:()=>null===this.Ip&&!this.Qd.W().handleScroll.vertTouchDrag,rv:()=>null===this.Ip&&!this.Qd.W().handleScroll.horzTouchDrag})}S(){null!==this.Cp&&this.Cp.S(),null!==this.Tp&&this.Tp.S(),this.Pp=null,this.Jv.unsubscribeSuggestedBitmapSizeChanged(this.Uv),us(this.Jv.canvasElement),this.Jv.dispose(),this.Gv.unsubscribeSuggestedBitmapSizeChanged(this.Hv),us(this.Gv.canvasElement),this.Gv.dispose(),null!==this.Np&&this.Np.W_().p(this),this.hp.S()}fp(){return b(this.Np)}qp(t){var i,n;null!==this.Np&&this.Np.W_().p(this),this.Np=t,null!==this.Np&&this.Np.W_().l(Vs.prototype.Fp.bind(this),this,!0),this.Up(),this.Qd.Yp().indexOf(this)===this.Qd.Yp().length-1?(this.Pp=null!==(i=this.Pp)&&void 0!==i?i:new os(this.Wp,this.Qd),this.Pp.bt()):(null===(n=this.Pp)||void 0===n||n.if(),this.Pp=null)}$v(){return this.Qd}lp(){return this.$p}Up(){if(null!==this.Np&&(this.Zp(),0!==this.$i().wt().length)){if(null!==this.Cp){const t=this.Np.R_();this.Cp.Gi(b(t))}if(null!==this.Tp){const t=this.Np.D_();this.Tp.Gi(b(t))}}}Xp(){null!==this.Cp&&this.Cp.bt(),null!==this.Tp&&this.Tp.bt()}M_(){return null!==this.Np?this.Np.M_():0}x_(t){this.Np&&this.Np.x_(t)}Qf(t){if(!this.Np)return;this.Kp();const i=t.localX,n=t.localY;this.Gp(i,n,t)}bv(t){this.Kp(),this.Jp(),this.Gp(t.localX,t.localY,t)}tv(t){var i;if(!this.Np)return;this.Kp();const n=t.localX,s=t.localY;this.Gp(n,s,t);const e=this.wr(n,s);this.Qd.Qp(null!==(i=null==e?void 0:e.Lv)&&void 0!==i?i:null),this.$i().jc(e&&{Hc:e.Hc,Iv:e.Iv})}dv(t){null!==this.Np&&(this.Kp(),this.tm(t))}qf(t){null!==this.Np&&this.im(this.Op,t)}jf(t){this.qf(t)}av(t){this.Kp(),this.nm(t),this.Gp(t.localX,t.localY,t)}cv(t){null!==this.Np&&(this.Kp(),this.Ap=!1,this.sm(t))}uv(t){null!==this.Np&&this.tm(t)}Rv(t){if(this.Ap=!0,null===this.Ip){const i={x:t.localX,y:t.localY};this.rm(i,i,t)}}Pv(t){null!==this.Np&&(this.Kp(),this.Np.$t().jc(null),this.hm())}lm(){return this.Vp}am(){return this.Op}xv(){this.Bp=1,this.$i().Un()}Sv(t,i){if(!this.Qd.W().handleScale.pinch)return;const n=5*(i-this.Bp);this.Bp=i,this.$i().Qc(t.nt,n)}pv(t){this.Ap=!1,this.zp=null!==this.Ip,this.Jp();const i=this.$i().Zc();null!==this.Ip&&i.yt()&&(this.Lp={x:i.Yt(),y:i.Zt()},this.Ip={x:t.localX,y:t.localY})}hv(t){if(null===this.Np)return;const i=t.localX,n=t.localY;if(null===this.Ip)this.nm(t);else{this.zp=!1;const s=b(this.Lp),e=s.x+(i-this.Ip.x),r=s.y+(n-this.Ip.y);this.Gp(e,r,t)}}_v(t){0===this.$v().W().trackingMode.exitMode&&(this.zp=!0),this.om(),this.sm(t)}wr(t,i){const n=this.Np;return null===n?null:function(t,i,n){const s=t.Uo(),e=function(t,i,n){var s,e;let r,h;for(const o of t){const t=null!==(e=null===(s=o.va)||void 0===s?void 0:s.call(o,i,n))&&void 0!==e?e:[];for(const i of t)l=i.zOrder,(!(a=null==r?void 0:r.zOrder)||\"top\"===l&&\"top\"!==a||\"normal\"===l&&\"bottom\"===a)&&(r=i,h=o)}var l,a;return r&&h?{zv:r,Hc:h}:null}(s,i,n);if(\"top\"===(null==e?void 0:e.zv.zOrder))return xs(e);for(const r of s){if(e&&e.Hc===r&&\"bottom\"!==e.zv.zOrder&&!e.zv.isBackground)return xs(e);const s=Ss(r.Pn(t),i,n);if(null!==s)return{Hc:r,Bv:s.Bv,Iv:s.Iv};if(e&&e.Hc===r&&\"bottom\"!==e.zv.zOrder&&e.zv.isBackground)return xs(e)}return(null==e?void 0:e.zv)?xs(e):null}(n,t,i)}_m(i,n){b(\"left\"===n?this.Cp:this.Tp).cp(t({width:i,height:this.Ev.height}))}um(){return this.Ev}cp(t){n(this.Ev,t)||(this.Ev=t,this.jv=!0,this.Gv.resizeCanvasElement(t),this.Jv.resizeCanvasElement(t),this.jv=!1,this.Wp.style.width=t.width+\"px\",this.Wp.style.height=t.height+\"px\")}dm(){const t=b(this.Np);t.P_(t.R_()),t.P_(t.D_());for(const i of t.Ba())if(t.vr(i)){const n=i.Dt();null!==n&&t.P_(n),i.Vn()}}xp(){return this.Gv.bitmapSize}Sp(t,i,n){const s=this.xp();s.width>0&&s.height>0&&t.drawImage(this.Gv.canvasElement,i,n)}vp(t){if(0===t)return;if(null===this.Np)return;if(t>1&&this.dm(),null!==this.Cp&&this.Cp.vp(t),null!==this.Tp&&this.Tp.vp(t),1!==t){this.Gv.applySuggestedBitmapSize();const t=s(this.Gv);null!==t&&(t.useBitmapCoordinateSpace((t=>{this.mp(t)})),this.Np&&(this.fm(t,Ts),this.vm(t),this.pm(t),this.fm(t,Ps),this.fm(t,Rs)))}this.Jv.applySuggestedBitmapSize();const i=s(this.Jv);null!==i&&(i.useBitmapCoordinateSpace((({context:t,bitmapSize:i})=>{t.clearRect(0,0,i.width,i.height)})),this.bm(i),this.fm(i,Ds))}wm(){return this.Cp}gm(){return this.Tp}bp(t,i){this.fm(t,i)}Fp(){null!==this.Np&&this.Np.W_().p(this),this.Np=null}tm(t){this.im(this.Vp,t)}im(t,i){const n=i.localX,s=i.localY;t.M()&&t.m(this.$i().St().Nu(n),{x:n,y:s},i)}mp({context:t,bitmapSize:i}){const{width:n,height:s}=i,e=this.$i(),r=e.q(),h=e.bd();r===h?G(t,0,0,n,s,h):tt(t,0,0,n,s,r,h)}vm(t){const i=b(this.Np).j_().qh().gt();null!==i&&i.X(t,!1)}pm(t){const i=this.$i().Yc();this.Mm(t,Ps,cs,i),this.Mm(t,Ps,ds,i)}bm(t){this.Mm(t,Ps,ds,this.$i().Zc())}fm(t,i){const n=b(this.Np).Uo();for(const s of n)this.Mm(t,i,cs,s);for(const s of n)this.Mm(t,i,ds,s)}Mm(t,i,n,s){const e=b(this.Np),r=e.$t().Wc(),h=null!==r&&r.Hc===s,l=null!==r&&h&&void 0!==r.Iv?r.Iv.Mr:void 0;fs(i,(i=>n(i,t,h,l)),s,e)}Zp(){if(null===this.Np)return;const t=this.Qd,i=this.Np.R_().W().visible,n=this.Np.D_().W().visible;i||null===this.Cp||(this.jp.removeChild(this.Cp.lp()),this.Cp.S(),this.Cp=null),n||null===this.Tp||(this.Hp.removeChild(this.Tp.lp()),this.Tp.S(),this.Tp=null);const s=t.$t().ud();i&&null===this.Cp&&(this.Cp=new Cs(this,t.W(),s,\"left\"),this.jp.appendChild(this.Cp.lp())),n&&null===this.Tp&&(this.Tp=new Cs(this,t.W(),s,\"right\"),this.Hp.appendChild(this.Tp.lp()))}xm(t){return t.Dv&&this.Ap||null!==this.Ip}Sm(t){return Math.max(0,Math.min(t,this.Ev.width-1))}km(t){return Math.max(0,Math.min(t,this.Ev.height-1))}Gp(t,i,n){this.$i().ld(this.Sm(t),this.km(i),n,b(this.Np))}hm(){this.$i().od()}om(){this.zp&&(this.Ip=null,this.hm())}rm(t,i,n){this.Ip=t,this.zp=!1,this.Gp(i.x,i.y,n);const s=this.$i().Zc();this.Lp={x:s.Yt(),y:s.Zt()}}$i(){return this.Qd.$t()}sm(t){if(!this.Dp)return;const i=this.$i(),n=this.fp();if(i.z_(n,n.vn()),this.Rp=null,this.Dp=!1,i.ed(),null!==this.Ep){const t=performance.now(),n=i.St();this.Ep.Vr(n.Hu(),t),this.Ep.Qu(t)||i.Zn(this.Ep)}}Kp(){this.Ip=null}Jp(){if(!this.Np)return;if(this.$i().Un(),document.activeElement!==document.body&&document.activeElement!==document.documentElement)b(document.activeElement).blur();else{const t=document.getSelection();null!==t&&t.removeAllRanges()}!this.Np.vn().Ni()&&this.$i().St().Ni()}nm(t){if(null===this.Np)return;const i=this.$i(),n=i.St();if(n.Ni())return;const s=this.Qd.W(),e=s.handleScroll,r=s.kineticScroll;if((!e.pressedMouseMove||t.Dv)&&(!e.horzTouchDrag&&!e.vertTouchDrag||!t.Dv))return;const h=this.Np.vn(),l=performance.now();if(null!==this.Rp||this.xm(t)||(this.Rp={x:t.clientX,y:t.clientY,Od:l,ym:t.localX,Cm:t.localY}),null!==this.Rp&&!this.Dp&&(this.Rp.x!==t.clientX||this.Rp.y!==t.clientY)){if(t.Dv&&r.touch||!t.Dv&&r.mouse){const t=n.le();this.Ep=new as(.2/t,7/t,.997,15/t),this.Ep.Yd(n.Hu(),this.Rp.Od)}else this.Ep=null;h.Ni()||i.A_(this.Np,h,t.localY),i.nd(t.localX),this.Dp=!0}this.Dp&&(h.Ni()||i.I_(this.Np,h,t.localY),i.sd(t.localX),null!==this.Ep&&this.Ep.Yd(n.Hu(),l))}}class Os{constructor(i,n,s,e,r){this.ft=!0,this.Ev=t({width:0,height:0}),this.Hv=()=>this.vp(3),this.qv=\"left\"===i,this.Oc=s.ud,this.cn=n,this.Tm=e,this.Pm=r,this.Kv=document.createElement(\"div\"),this.Kv.style.width=\"25px\",this.Kv.style.height=\"100%\",this.Kv.style.overflow=\"hidden\",this.Gv=_s(this.Kv,t({width:16,height:16})),this.Gv.subscribeSuggestedBitmapSizeChanged(this.Hv)}S(){this.Gv.unsubscribeSuggestedBitmapSizeChanged(this.Hv),us(this.Gv.canvasElement),this.Gv.dispose()}lp(){return this.Kv}um(){return this.Ev}cp(t){n(this.Ev,t)||(this.Ev=t,this.Gv.resizeCanvasElement(t),this.Kv.style.width=`${t.width}px`,this.Kv.style.height=`${t.height}px`,this.ft=!0)}vp(t){if(t<3&&!this.ft)return;if(0===this.Ev.width||0===this.Ev.height)return;this.ft=!1,this.Gv.applySuggestedBitmapSize();const i=s(this.Gv);null!==i&&i.useBitmapCoordinateSpace((t=>{this.mp(t),this.Ie(t)}))}xp(){return this.Gv.bitmapSize}Sp(t,i,n){const s=this.xp();s.width>0&&s.height>0&&t.drawImage(this.Gv.canvasElement,i,n)}Ie({context:t,bitmapSize:i,horizontalPixelRatio:n,verticalPixelRatio:s}){if(!this.Tm())return;t.fillStyle=this.cn.timeScale.borderColor;const e=Math.floor(this.Oc.W().C*n),r=Math.floor(this.Oc.W().C*s),h=this.qv?i.width-e:0;t.fillRect(h,0,e,r)}mp({context:t,bitmapSize:i}){G(t,0,0,i.width,i.height,this.Pm())}}function Bs(t){return i=>{var n,s;return null!==(s=null===(n=i.fa)||void 0===n?void 0:n.call(i,t))&&void 0!==s?s:[]}}const As=Bs(\"normal\"),Is=Bs(\"top\"),zs=Bs(\"bottom\");class Ls{constructor(i,n){this.Rm=null,this.Dm=null,this.k=null,this.Vm=!1,this.Ev=t({width:0,height:0}),this.Om=new D,this.Fv=new ni(5),this.jv=!1,this.Hv=()=>{this.jv||this.Qd.$t().Uh()},this.Uv=()=>{this.jv||this.Qd.$t().Uh()},this.Qd=i,this.q_=n,this.cn=i.W().layout,this.Xd=document.createElement(\"tr\"),this.Bm=document.createElement(\"td\"),this.Bm.style.padding=\"0\",this.Am=document.createElement(\"td\"),this.Am.style.padding=\"0\",this.Kv=document.createElement(\"td\"),this.Kv.style.height=\"25px\",this.Kv.style.padding=\"0\",this.Im=document.createElement(\"div\"),this.Im.style.width=\"100%\",this.Im.style.height=\"100%\",this.Im.style.position=\"relative\",this.Im.style.overflow=\"hidden\",this.Kv.appendChild(this.Im),this.Gv=_s(this.Im,t({width:16,height:16})),this.Gv.subscribeSuggestedBitmapSizeChanged(this.Hv);const s=this.Gv.canvasElement;s.style.position=\"absolute\",s.style.zIndex=\"1\",s.style.left=\"0\",s.style.top=\"0\",this.Jv=_s(this.Im,t({width:16,height:16})),this.Jv.subscribeSuggestedBitmapSizeChanged(this.Uv);const e=this.Jv.canvasElement;e.style.position=\"absolute\",e.style.zIndex=\"2\",e.style.left=\"0\",e.style.top=\"0\",this.Xd.appendChild(this.Bm),this.Xd.appendChild(this.Kv),this.Xd.appendChild(this.Am),this.zm(),this.Qd.$t().g_().l(this.zm.bind(this),this),this.hp=new ps(this.Jv.canvasElement,this,{ev:()=>!0,rv:()=>!this.Qd.W().handleScroll.horzTouchDrag})}S(){this.hp.S(),null!==this.Rm&&this.Rm.S(),null!==this.Dm&&this.Dm.S(),this.Jv.unsubscribeSuggestedBitmapSizeChanged(this.Uv),us(this.Jv.canvasElement),this.Jv.dispose(),this.Gv.unsubscribeSuggestedBitmapSizeChanged(this.Hv),us(this.Gv.canvasElement),this.Gv.dispose()}lp(){return this.Xd}Lm(){return this.Rm}Em(){return this.Dm}bv(t){if(this.Vm)return;this.Vm=!0;const i=this.Qd.$t();!i.St().Ni()&&this.Qd.W().handleScale.axisPressedMouseMove.time&&i.Jc(t.localX)}pv(t){this.bv(t)}wv(){const t=this.Qd.$t();!t.St().Ni()&&this.Vm&&(this.Vm=!1,this.Qd.W().handleScale.axisPressedMouseMove.time&&t.hd())}av(t){const i=this.Qd.$t();!i.St().Ni()&&this.Qd.W().handleScale.axisPressedMouseMove.time&&i.rd(t.localX)}hv(t){this.av(t)}cv(){this.Vm=!1;const t=this.Qd.$t();t.St().Ni()&&!this.Qd.W().handleScale.axisPressedMouseMove.time||t.hd()}_v(){this.cv()}qf(){this.Qd.W().handleScale.axisDoubleClickReset.time&&this.Qd.$t().Kn()}jf(){this.qf()}Qf(){this.Qd.$t().W().handleScale.axisPressedMouseMove.time&&this.kp(1)}Pv(){this.kp(0)}um(){return this.Ev}Nm(){return this.Om}Fm(i,s,e){n(this.Ev,i)||(this.Ev=i,this.jv=!0,this.Gv.resizeCanvasElement(i),this.Jv.resizeCanvasElement(i),this.jv=!1,this.Kv.style.width=`${i.width}px`,this.Kv.style.height=`${i.height}px`,this.Om.m(i)),null!==this.Rm&&this.Rm.cp(t({width:s,height:i.height})),null!==this.Dm&&this.Dm.cp(t({width:e,height:i.height}))}Wm(){const t=this.jm();return Math.ceil(t.C+t.T+t.P+t.L+t.B+t.Hm)}bt(){this.Qd.$t().St().Ha()}xp(){return this.Gv.bitmapSize}Sp(t,i,n){const s=this.xp();s.width>0&&s.height>0&&t.drawImage(this.Gv.canvasElement,i,n)}vp(t){if(0===t)return;if(1!==t){this.Gv.applySuggestedBitmapSize();const i=s(this.Gv);null!==i&&(i.useBitmapCoordinateSpace((t=>{this.mp(t),this.Ie(t),this.$m(i,zs)})),this.wp(i),this.$m(i,As)),null!==this.Rm&&this.Rm.vp(t),null!==this.Dm&&this.Dm.vp(t)}this.Jv.applySuggestedBitmapSize();const i=s(this.Jv);null!==i&&(i.useBitmapCoordinateSpace((({context:t,bitmapSize:i})=>{t.clearRect(0,0,i.width,i.height)})),this.Um([...this.Qd.$t().wt(),this.Qd.$t().Zc()],i),this.$m(i,Is))}$m(t,i){const n=this.Qd.$t().wt();for(const s of n)fs(i,(i=>cs(i,t,!1,void 0)),s,void 0);for(const s of n)fs(i,(i=>ds(i,t,!1,void 0)),s,void 0)}mp({context:t,bitmapSize:i}){G(t,0,0,i.width,i.height,this.Qd.$t().bd())}Ie({context:t,bitmapSize:i,verticalPixelRatio:n}){if(this.Qd.W().timeScale.borderVisible){t.fillStyle=this.qm();const s=Math.max(1,Math.floor(this.jm().C*n));t.fillRect(0,0,i.width,s)}}wp(t){const i=this.Qd.$t().St(),n=i.Ha();if(!n||0===n.length)return;const s=this.q_.maxTickMarkWeight(n),e=this.jm(),r=i.W();r.borderVisible&&r.ticksVisible&&t.useBitmapCoordinateSpace((({context:t,horizontalPixelRatio:i,verticalPixelRatio:s})=>{t.strokeStyle=this.qm(),t.fillStyle=this.qm();const r=Math.max(1,Math.floor(i)),h=Math.floor(.5*i);t.beginPath();const l=Math.round(e.T*s);for(let s=n.length;s--;){const e=Math.round(n[s].coord*i);t.rect(e-h,0,r,l)}t.fill()})),t.useMediaCoordinateSpace((({context:t})=>{const i=e.C+e.T+e.L+e.P/2;t.textAlign=\"center\",t.textBaseline=\"middle\",t.fillStyle=this.$(),t.font=this._p();for(const e of n)if(e.weight<s){const n=e.needAlignCoordinate?this.Ym(t,e.coord,e.label):e.coord;t.fillText(e.label,n,i)}this.Qd.W().timeScale.allowBoldLabels&&(t.font=this.Zm());for(const e of n)if(e.weight>=s){const n=e.needAlignCoordinate?this.Ym(t,e.coord,e.label):e.coord;t.fillText(e.label,n,i)}}))}Ym(t,i,n){const s=this.Fv.xi(t,n),e=s/2,r=Math.floor(i-e)+.5;return r<0?i+=Math.abs(0-r):r+s>this.Ev.width&&(i-=Math.abs(this.Ev.width-(r+s))),i}Um(t,i){const n=this.jm();for(const s of t)for(const t of s.Qi())t.gt().X(i,n)}qm(){return this.Qd.W().timeScale.borderColor}$(){return this.cn.textColor}j(){return this.cn.fontSize}_p(){return F(this.j(),this.cn.fontFamily)}Zm(){return F(this.j(),this.cn.fontFamily,\"bold\")}jm(){null===this.k&&(this.k={C:1,N:NaN,L:NaN,B:NaN,ji:NaN,T:5,P:NaN,R:\"\",Wi:new ni,Hm:0});const t=this.k,i=this._p();if(t.R!==i){const n=this.j();t.P=n,t.R=i,t.L=3*n/12,t.B=3*n/12,t.ji=9*n/12,t.N=0,t.Hm=4*n/12,t.Wi.nr()}return this.k}kp(t){this.Kv.style.cursor=1===t?\"ew-resize\":\"default\"}zm(){const t=this.Qd.$t(),i=t.W();i.leftPriceScale.visible||null===this.Rm||(this.Bm.removeChild(this.Rm.lp()),this.Rm.S(),this.Rm=null),i.rightPriceScale.visible||null===this.Dm||(this.Am.removeChild(this.Dm.lp()),this.Dm.S(),this.Dm=null);const n={ud:this.Qd.$t().ud()},s=()=>i.leftPriceScale.borderVisible&&t.St().W().borderVisible,e=()=>t.bd();i.leftPriceScale.visible&&null===this.Rm&&(this.Rm=new Os(\"left\",i,n,s,e),this.Bm.appendChild(this.Rm.lp())),i.rightPriceScale.visible&&null===this.Dm&&(this.Dm=new Os(\"right\",i,n,s,e),this.Am.appendChild(this.Dm.lp()))}}const Es=!!ns&&!!navigator.userAgentData&&navigator.userAgentData.brands.some((t=>t.brand.includes(\"Chromium\")))&&!!ns&&((null===(Ns=null===navigator||void 0===navigator?void 0:navigator.userAgentData)||void 0===Ns?void 0:Ns.platform)?\"Windows\"===navigator.userAgentData.platform:navigator.userAgent.toLowerCase().indexOf(\"win\")>=0);var Ns;class Fs{constructor(t,i,n){var s;this.Xm=[],this.Km=0,this.ho=0,this.__=0,this.Gm=0,this.Jm=0,this.Qm=null,this.tb=!1,this.Vp=new D,this.Op=new D,this.Rc=new D,this.ib=null,this.nb=null,this.Jd=t,this.cn=i,this.q_=n,this.Xd=document.createElement(\"div\"),this.Xd.classList.add(\"tv-lightweight-charts\"),this.Xd.style.overflow=\"hidden\",this.Xd.style.direction=\"ltr\",this.Xd.style.width=\"100%\",this.Xd.style.height=\"100%\",(s=this.Xd).style.userSelect=\"none\",s.style.webkitUserSelect=\"none\",s.style.msUserSelect=\"none\",s.style.MozUserSelect=\"none\",s.style.webkitTapHighlightColor=\"transparent\",this.sb=document.createElement(\"table\"),this.sb.setAttribute(\"cellspacing\",\"0\"),this.Xd.appendChild(this.sb),this.eb=this.rb.bind(this),Ws(this.cn)&&this.hb(!0),this.$i=new Ln(this.Vc.bind(this),this.cn,n),this.$t().Xc().l(this.lb.bind(this),this),this.ab=new Ls(this,this.q_),this.sb.appendChild(this.ab.lp());const e=i.autoSize&&this.ob();let r=this.cn.width,h=this.cn.height;if(e||0===r||0===h){const i=t.getBoundingClientRect();r=r||i.width,h=h||i.height}this._b(r,h),this.ub(),t.appendChild(this.Xd),this.cb(),this.$i.St().ec().l(this.$i.Kl.bind(this.$i),this),this.$i.g_().l(this.$i.Kl.bind(this.$i),this)}$t(){return this.$i}W(){return this.cn}Yp(){return this.Xm}fb(){return this.ab}S(){this.hb(!1),0!==this.Km&&window.cancelAnimationFrame(this.Km),this.$i.Xc().p(this),this.$i.St().ec().p(this),this.$i.g_().p(this),this.$i.S();for(const t of this.Xm)this.sb.removeChild(t.lp()),t.lm().p(this),t.am().p(this),t.S();this.Xm=[],b(this.ab).S(),null!==this.Xd.parentElement&&this.Xd.parentElement.removeChild(this.Xd),this.Rc.S(),this.Vp.S(),this.Op.S(),this.pb()}_b(i,n,s=!1){if(this.ho===n&&this.__===i)return;const e=function(i){const n=Math.floor(i.width),s=Math.floor(i.height);return t({width:n-n%2,height:s-s%2})}(t({width:i,height:n}));this.ho=e.height,this.__=e.width;const r=this.ho+\"px\",h=this.__+\"px\";b(this.Xd).style.height=r,b(this.Xd).style.width=h,this.sb.style.height=r,this.sb.style.width=h,s?this.mb(ut.es(),performance.now()):this.$i.Kl()}vp(t){void 0===t&&(t=ut.es());for(let i=0;i<this.Xm.length;i++)this.Xm[i].vp(t.Hn(i).Fn);this.cn.timeScale.visible&&this.ab.vp(t.jn())}$h(t){const i=Ws(this.cn);this.$i.$h(t);const n=Ws(this.cn);n!==i&&this.hb(n),this.cb(),this.bb(t)}lm(){return this.Vp}am(){return this.Op}Xc(){return this.Rc}wb(){null!==this.Qm&&(this.mb(this.Qm,performance.now()),this.Qm=null);const t=this.gb(null),i=document.createElement(\"canvas\");i.width=t.width,i.height=t.height;const n=b(i.getContext(\"2d\"));return this.gb(n),i}Mb(t){if(\"left\"===t&&!this.xb())return 0;if(\"right\"===t&&!this.Sb())return 0;if(0===this.Xm.length)return 0;return b(\"left\"===t?this.Xm[0].wm():this.Xm[0].gm()).dp()}kb(){return this.cn.autoSize&&null!==this.ib}yb(){return this.Xd}Qp(t){this.nb=t,this.nb?this.yb().style.setProperty(\"cursor\",t):this.yb().style.removeProperty(\"cursor\")}Cb(){return this.nb}Tb(){return m(this.Xm[0]).um()}bb(t){(void 0!==t.autoSize||!this.ib||void 0===t.width&&void 0===t.height)&&(t.autoSize&&!this.ib&&this.ob(),!1===t.autoSize&&null!==this.ib&&this.pb(),t.autoSize||void 0===t.width&&void 0===t.height||this._b(t.width||this.__,t.height||this.ho))}gb(i){let n=0,s=0;const e=this.Xm[0],r=(t,n)=>{let s=0;for(let e=0;e<this.Xm.length;e++){const r=this.Xm[e],h=b(\"left\"===t?r.wm():r.gm()),l=h.xp();null!==i&&h.Sp(i,n,s),s+=l.height}};if(this.xb()){r(\"left\",0);n+=b(e.wm()).xp().width}for(let t=0;t<this.Xm.length;t++){const e=this.Xm[t],r=e.xp();null!==i&&e.Sp(i,n,s),s+=r.height}if(n+=e.xp().width,this.Sb()){r(\"right\",n);n+=b(e.gm()).xp().width}const h=(t,n,s)=>{b(\"left\"===t?this.ab.Lm():this.ab.Em()).Sp(b(i),n,s)};if(this.cn.timeScale.visible){const t=this.ab.xp();if(null!==i){let n=0;this.xb()&&(h(\"left\",n,s),n=b(e.wm()).xp().width),this.ab.Sp(i,n,s),n+=t.width,this.Sb()&&h(\"right\",n,s)}s+=t.height}return t({width:n,height:s})}Pb(){let i=0,n=0,s=0;for(const t of this.Xm)this.xb()&&(n=Math.max(n,b(t.wm()).op(),this.cn.leftPriceScale.minimumWidth)),this.Sb()&&(s=Math.max(s,b(t.gm()).op(),this.cn.rightPriceScale.minimumWidth)),i+=t.M_();n=rs(n),s=rs(s);const e=this.__,r=this.ho,h=Math.max(e-n-s,0),l=this.cn.timeScale.visible;let a=l?Math.max(this.ab.Wm(),this.cn.timeScale.minimumHeight):0;var o;a=(o=a)+o%2;const _=0+a,u=r<_?0:r-_,c=u/i;let d=0;for(let i=0;i<this.Xm.length;++i){const e=this.Xm[i];e.qp(this.$i.qc()[i]);let r=0,l=0;l=i===this.Xm.length-1?u-d:Math.round(e.M_()*c),r=Math.max(l,2),d+=r,e.cp(t({width:h,height:r})),this.xb()&&e._m(n,\"left\"),this.Sb()&&e._m(s,\"right\"),e.fp()&&this.$i.Kc(e.fp(),r)}this.ab.Fm(t({width:l?h:0,height:a}),l?n:0,l?s:0),this.$i.S_(h),this.Gm!==n&&(this.Gm=n),this.Jm!==s&&(this.Jm=s)}hb(t){t?this.Xd.addEventListener(\"wheel\",this.eb,{passive:!1}):this.Xd.removeEventListener(\"wheel\",this.eb)}Rb(t){switch(t.deltaMode){case t.DOM_DELTA_PAGE:return 120;case t.DOM_DELTA_LINE:return 32}return Es?1/window.devicePixelRatio:1}rb(t){if(!(0!==t.deltaX&&this.cn.handleScroll.mouseWheel||0!==t.deltaY&&this.cn.handleScale.mouseWheel))return;const i=this.Rb(t),n=i*t.deltaX/100,s=-i*t.deltaY/100;if(t.cancelable&&t.preventDefault(),0!==s&&this.cn.handleScale.mouseWheel){const i=Math.sign(s)*Math.min(1,Math.abs(s)),n=t.clientX-this.Xd.getBoundingClientRect().left;this.$t().Qc(n,i)}0!==n&&this.cn.handleScroll.mouseWheel&&this.$t().td(-80*n)}mb(t,i){var n;const s=t.jn();3===s&&this.Db(),3!==s&&2!==s||(this.Vb(t),this.Ob(t,i),this.ab.bt(),this.Xm.forEach((t=>{t.Xp()})),3===(null===(n=this.Qm)||void 0===n?void 0:n.jn())&&(this.Qm.ts(t),this.Db(),this.Vb(this.Qm),this.Ob(this.Qm,i),t=this.Qm,this.Qm=null)),this.vp(t)}Ob(t,i){for(const n of t.Qn())this.ns(n,i)}Vb(t){const i=this.$i.qc();for(let n=0;n<i.length;n++)t.Hn(n).Wn&&i[n].N_()}ns(t,i){const n=this.$i.St();switch(t.qn){case 0:n.hc();break;case 1:n.lc(t.Vt);break;case 2:n.Gn(t.Vt);break;case 3:n.Jn(t.Vt);break;case 4:n.qu();break;case 5:t.Vt.Qu(i)||n.Jn(t.Vt.tc(i))}}Vc(t){null!==this.Qm?this.Qm.ts(t):this.Qm=t,this.tb||(this.tb=!0,this.Km=window.requestAnimationFrame((t=>{if(this.tb=!1,this.Km=0,null!==this.Qm){const i=this.Qm;this.Qm=null,this.mb(i,t);for(const n of i.Qn())if(5===n.qn&&!n.Vt.Qu(t)){this.$t().Zn(n.Vt);break}}})))}Db(){this.ub()}ub(){const t=this.$i.qc(),i=t.length,n=this.Xm.length;for(let t=i;t<n;t++){const t=m(this.Xm.pop());this.sb.removeChild(t.lp()),t.lm().p(this),t.am().p(this),t.S()}for(let s=n;s<i;s++){const i=new Vs(this,t[s]);i.lm().l(this.Bb.bind(this),this),i.am().l(this.Ab.bind(this),this),this.Xm.push(i),this.sb.insertBefore(i.lp(),this.ab.lp())}for(let n=0;n<i;n++){const i=t[n],s=this.Xm[n];s.fp()!==i?s.qp(i):s.Up()}this.cb(),this.Pb()}Ib(t,i,n){var s;const e=new Map;if(null!==t){this.$i.wt().forEach((i=>{const n=i.In().ll(t);null!==n&&e.set(i,n)}))}let r;if(null!==t){const i=null===(s=this.$i.St().Ui(t))||void 0===s?void 0:s.originalTime;void 0!==i&&(r=i)}const h=this.$t().Wc(),l=null!==h&&h.Hc instanceof Gi?h.Hc:void 0,a=null!==h&&void 0!==h.Iv?h.Iv.gr:void 0;return{zb:r,ee:null!=t?t:void 0,Lb:null!=i?i:void 0,Eb:l,Nb:e,Fb:a,Wb:null!=n?n:void 0}}Bb(t,i,n){this.Vp.m((()=>this.Ib(t,i,n)))}Ab(t,i,n){this.Op.m((()=>this.Ib(t,i,n)))}lb(t,i,n){this.Rc.m((()=>this.Ib(t,i,n)))}cb(){const t=this.cn.timeScale.visible?\"\":\"none\";this.ab.lp().style.display=t}xb(){return this.Xm[0].fp().R_().W().visible}Sb(){return this.Xm[0].fp().D_().W().visible}ob(){return\"ResizeObserver\"in window&&(this.ib=new ResizeObserver((t=>{const i=t.find((t=>t.target===this.Jd));i&&this._b(i.contentRect.width,i.contentRect.height)})),this.ib.observe(this.Jd,{box:\"border-box\"}),!0)}pb(){null!==this.ib&&this.ib.disconnect(),this.ib=null}}function Ws(t){return Boolean(t.handleScroll.mouseWheel||t.handleScale.mouseWheel)}function js(t){return function(t){return void 0!==t.open}(t)||function(t){return void 0!==t.value}(t)}function Hs(t,i){var n={};for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&i.indexOf(s)<0&&(n[s]=t[s]);if(null!=t&&\"function\"==typeof Object.getOwnPropertySymbols){var e=0;for(s=Object.getOwnPropertySymbols(t);e<s.length;e++)i.indexOf(s[e])<0&&Object.prototype.propertyIsEnumerable.call(t,s[e])&&(n[s[e]]=t[s[e]])}return n}function $s(t,i,n,s){const e=n.value,r={ee:i,ot:t,Vt:[e,e,e,e],zb:s};return void 0!==n.color&&(r.V=n.color),r}function Us(t,i,n,s){const e=n.value,r={ee:i,ot:t,Vt:[e,e,e,e],zb:s};return void 0!==n.lineColor&&(r.lt=n.lineColor),void 0!==n.topColor&&(r.Ps=n.topColor),void 0!==n.bottomColor&&(r.Rs=n.bottomColor),r}function qs(t,i,n,s){const e=n.value,r={ee:i,ot:t,Vt:[e,e,e,e],zb:s};return void 0!==n.topLineColor&&(r.Re=n.topLineColor),void 0!==n.bottomLineColor&&(r.De=n.bottomLineColor),void 0!==n.topFillColor1&&(r.ke=n.topFillColor1),void 0!==n.topFillColor2&&(r.ye=n.topFillColor2),void 0!==n.bottomFillColor1&&(r.Ce=n.bottomFillColor1),void 0!==n.bottomFillColor2&&(r.Te=n.bottomFillColor2),r}function Ys(t,i,n,s){const e={ee:i,ot:t,Vt:[n.open,n.high,n.low,n.close],zb:s};return void 0!==n.color&&(e.V=n.color),e}function Zs(t,i,n,s){const e={ee:i,ot:t,Vt:[n.open,n.high,n.low,n.close],zb:s};return void 0!==n.color&&(e.V=n.color),void 0!==n.borderColor&&(e.Ot=n.borderColor),void 0!==n.wickColor&&(e.Xh=n.wickColor),e}function Xs(t,i,n,s,e){const r=m(e)(n),h=Math.max(...r),l=Math.min(...r),a=r[r.length-1],o=[a,h,l,a],_=n,{time:u,color:c}=_;return{ee:i,ot:t,Vt:o,zb:s,$e:Hs(_,[\"time\",\"color\"]),V:c}}function Ks(t){return void 0!==t.Vt}function Gs(t,i){return void 0!==i.customValues&&(t.jb=i.customValues),t}function Js(t){return(i,n,s,e,r,h)=>function(t,i){return i?i(t):void 0===(n=t).open&&void 0===n.value;var n}(s,h)?Gs({ot:i,ee:n,zb:e},s):Gs(t(i,n,s,e,r),s)}function Qs(t){return{Candlestick:Js(Zs),Bar:Js(Ys),Area:Js(Us),Baseline:Js(qs),Histogram:Js($s),Line:Js($s),Custom:Js(Xs)}[t]}function te(t){return{ee:0,Hb:new Map,la:t}}function ie(t,i){if(void 0!==t&&0!==t.length)return{$b:i.key(t[0].ot),Ub:i.key(t[t.length-1].ot)}}function ne(t){let i;return t.forEach((t=>{void 0===i&&(i=t.zb)})),m(i)}class se{constructor(t){this.qb=new Map,this.Yb=new Map,this.Zb=new Map,this.Xb=[],this.q_=t}S(){this.qb.clear(),this.Yb.clear(),this.Zb.clear(),this.Xb=[]}Kb(t,i){let n=0!==this.qb.size,s=!1;const e=this.Yb.get(t);if(void 0!==e)if(1===this.Yb.size)n=!1,s=!0,this.qb.clear();else for(const i of this.Xb)i.pointData.Hb.delete(t)&&(s=!0);let r=[];if(0!==i.length){const n=i.map((t=>t.time)),e=this.q_.createConverterToInternalObj(i),h=Qs(t.Qh()),l=t.Ca(),a=t.Ta();r=i.map(((i,r)=>{const o=e(i.time),_=this.q_.key(o);let u=this.qb.get(_);void 0===u&&(u=te(o),this.qb.set(_,u),s=!0);const c=h(o,u.ee,i,n[r],l,a);return u.Hb.set(t,c),c}))}n&&this.Gb(),this.Jb(t,r);let h=-1;if(s){const t=[];this.qb.forEach((i=>{t.push({timeWeight:0,time:i.la,pointData:i,originalTime:ne(i.Hb)})})),t.sort(((t,i)=>this.q_.key(t.time)-this.q_.key(i.time))),h=this.Qb(t)}return this.tw(t,h,function(t,i,n){const s=ie(t,n),e=ie(i,n);if(void 0!==s&&void 0!==e)return{ta:s.Ub>=e.Ub&&s.$b>=e.$b}}(this.Yb.get(t),e,this.q_))}vd(t){return this.Kb(t,[])}iw(t,i){const n=i;!function(t){void 0===t.zb&&(t.zb=t.time)}(n),this.q_.preprocessData(i);const s=this.q_.createConverterToInternalObj([i])(i.time),e=this.Zb.get(t);if(void 0!==e&&this.q_.key(s)<this.q_.key(e))throw new Error(`Cannot update oldest data, last time=${e}, new time=${s}`);let r=this.qb.get(this.q_.key(s));const h=void 0===r;void 0===r&&(r=te(s),this.qb.set(this.q_.key(s),r));const l=Qs(t.Qh()),a=t.Ca(),o=t.Ta(),_=l(s,r.ee,i,n.zb,a,o);r.Hb.set(t,_),this.nw(t,_);const u={ta:Ks(_)};if(!h)return this.tw(t,-1,u);const c={timeWeight:0,time:r.la,pointData:r,originalTime:ne(r.Hb)},d=Bt(this.Xb,this.q_.key(c.time),((t,i)=>this.q_.key(t.time)<i));this.Xb.splice(d,0,c);for(let t=d;t<this.Xb.length;++t)ee(this.Xb[t].pointData,t);return this.q_.fillWeightsForPoints(this.Xb,d),this.tw(t,d,u)}nw(t,i){let n=this.Yb.get(t);void 0===n&&(n=[],this.Yb.set(t,n));const s=0!==n.length?n[n.length-1]:null;null===s||this.q_.key(i.ot)>this.q_.key(s.ot)?Ks(i)&&n.push(i):Ks(i)?n[n.length-1]=i:n.splice(-1,1),this.Zb.set(t,i.ot)}Jb(t,i){0!==i.length?(this.Yb.set(t,i.filter(Ks)),this.Zb.set(t,i[i.length-1].ot)):(this.Yb.delete(t),this.Zb.delete(t))}Gb(){for(const t of this.Xb)0===t.pointData.Hb.size&&this.qb.delete(this.q_.key(t.time))}Qb(t){let i=-1;for(let n=0;n<this.Xb.length&&n<t.length;++n){const s=this.Xb[n],e=t[n];if(this.q_.key(s.time)!==this.q_.key(e.time)){i=n;break}e.timeWeight=s.timeWeight,ee(e.pointData,n)}if(-1===i&&this.Xb.length!==t.length&&(i=Math.min(this.Xb.length,t.length)),-1===i)return-1;for(let n=i;n<t.length;++n)ee(t[n].pointData,n);return this.q_.fillWeightsForPoints(t,i),this.Xb=t,i}sw(){if(0===this.Yb.size)return null;let t=0;return this.Yb.forEach((i=>{0!==i.length&&(t=Math.max(t,i[i.length-1].ee))})),t}tw(t,i,n){const s={ew:new Map,St:{Eu:this.sw()}};if(-1!==i)this.Yb.forEach(((i,e)=>{s.ew.set(e,{$e:i,rw:e===t?n:void 0})})),this.Yb.has(t)||s.ew.set(t,{$e:[],rw:n}),s.St.hw=this.Xb,s.St.lw=i;else{const i=this.Yb.get(t);s.ew.set(t,{$e:i||[],rw:n})}return s}}function ee(t,i){t.ee=i,t.Hb.forEach((t=>{t.ee=i}))}function re(t){const i={value:t.Vt[3],time:t.zb};return void 0!==t.jb&&(i.customValues=t.jb),i}function he(t){const i=re(t);return void 0!==t.V&&(i.color=t.V),i}function le(t){const i=re(t);return void 0!==t.lt&&(i.lineColor=t.lt),void 0!==t.Ps&&(i.topColor=t.Ps),void 0!==t.Rs&&(i.bottomColor=t.Rs),i}function ae(t){const i=re(t);return void 0!==t.Re&&(i.topLineColor=t.Re),void 0!==t.De&&(i.bottomLineColor=t.De),void 0!==t.ke&&(i.topFillColor1=t.ke),void 0!==t.ye&&(i.topFillColor2=t.ye),void 0!==t.Ce&&(i.bottomFillColor1=t.Ce),void 0!==t.Te&&(i.bottomFillColor2=t.Te),i}function oe(t){const i={open:t.Vt[0],high:t.Vt[1],low:t.Vt[2],close:t.Vt[3],time:t.zb};return void 0!==t.jb&&(i.customValues=t.jb),i}function _e(t){const i=oe(t);return void 0!==t.V&&(i.color=t.V),i}function ue(t){const i=oe(t),{V:n,Ot:s,Xh:e}=t;return void 0!==n&&(i.color=n),void 0!==s&&(i.borderColor=s),void 0!==e&&(i.wickColor=e),i}function ce(t){return{Area:le,Line:he,Baseline:ae,Histogram:he,Bar:_e,Candlestick:ue,Custom:de}[t]}function de(t){const i=t.zb;return Object.assign(Object.assign({},t.$e),{time:i})}const fe={vertLine:{color:\"#9598A1\",width:1,style:3,visible:!0,labelVisible:!0,labelBackgroundColor:\"#131722\"},horzLine:{color:\"#9598A1\",width:1,style:3,visible:!0,labelVisible:!0,labelBackgroundColor:\"#131722\"},mode:1},ve={vertLines:{color:\"#D6DCDE\",style:0,visible:!0},horzLines:{color:\"#D6DCDE\",style:0,visible:!0}},pe={background:{type:\"solid\",color:\"#FFFFFF\"},textColor:\"#191919\",fontSize:12,fontFamily:N,attributionLogo:!0},me={autoScale:!0,mode:0,invertScale:!1,alignLabels:!0,borderVisible:!0,borderColor:\"#2B2B43\",entireTextOnly:!1,visible:!1,ticksVisible:!1,scaleMargins:{bottom:.1,top:.2},minimumWidth:0},be={rightOffset:0,barSpacing:6,minBarSpacing:.5,fixLeftEdge:!1,fixRightEdge:!1,lockVisibleTimeRangeOnResize:!1,rightBarStaysOnScroll:!1,borderVisible:!0,borderColor:\"#2B2B43\",visible:!0,timeVisible:!1,secondsVisible:!0,shiftVisibleRangeOnNewBar:!0,allowShiftVisibleRangeOnWhitespaceReplacement:!1,ticksVisible:!1,uniformDistribution:!1,minimumHeight:0,allowBoldLabels:!0},we={color:\"rgba(0, 0, 0, 0)\",visible:!1,fontSize:48,fontFamily:N,fontStyle:\"\",text:\"\",horzAlign:\"center\",vertAlign:\"center\"};function ge(){return{width:0,height:0,autoSize:!1,layout:pe,crosshair:fe,grid:ve,overlayPriceScales:Object.assign({},me),leftPriceScale:Object.assign(Object.assign({},me),{visible:!1}),rightPriceScale:Object.assign(Object.assign({},me),{visible:!0}),timeScale:be,watermark:we,localization:{locale:ns?navigator.language:\"\",dateFormat:\"dd MMM 'yy\"},handleScroll:{mouseWheel:!0,pressedMouseMove:!0,horzTouchDrag:!0,vertTouchDrag:!0},handleScale:{axisPressedMouseMove:{time:!0,price:!0},axisDoubleClickReset:{time:!0,price:!0},mouseWheel:!0,pinch:!0},kineticScroll:{mouse:!1,touch:!0},trackingMode:{exitMode:1}}}class Me{constructor(t,i){this.aw=t,this.ow=i}applyOptions(t){this.aw.$t().$c(this.ow,t)}options(){return this.Li().W()}width(){return _t(this.ow)?this.aw.Mb(this.ow):0}Li(){return b(this.aw.$t().Uc(this.ow)).Dt}}function xe(t,i,n){const s=Hs(t,[\"time\",\"originalTime\"]),e=Object.assign({time:i},s);return void 0!==n&&(e.originalTime=n),e}const Se={color:\"#FF0000\",price:0,lineStyle:2,lineWidth:1,lineVisible:!0,axisLabelVisible:!0,title:\"\",axisLabelColor:\"\",axisLabelTextColor:\"\"};class ke{constructor(t){this.Nh=t}applyOptions(t){this.Nh.$h(t)}options(){return this.Nh.W()}_w(){return this.Nh}}class ye{constructor(t,i,n,s,e){this.uw=new D,this.Es=t,this.cw=i,this.dw=n,this.q_=e,this.fw=s}S(){this.uw.S()}priceFormatter(){return this.Es.ba()}priceToCoordinate(t){const i=this.Es.Ct();return null===i?null:this.Es.Dt().Rt(t,i.Vt)}coordinateToPrice(t){const i=this.Es.Ct();return null===i?null:this.Es.Dt().pn(t,i.Vt)}barsInLogicalRange(t){if(null===t)return null;const i=new yn(new xn(t.from,t.to)).lu(),n=this.Es.In();if(n.Ni())return null;const s=n.ll(i.Os(),1),e=n.ll(i.ui(),-1),r=b(n.el()),h=b(n.An());if(null!==s&&null!==e&&s.ee>e.ee)return{barsBefore:t.from-r,barsAfter:h-t.to};const l={barsBefore:null===s||s.ee===r?t.from-r:s.ee-r,barsAfter:null===e||e.ee===h?h-t.to:h-e.ee};return null!==s&&null!==e&&(l.from=s.zb,l.to=e.zb),l}setData(t){this.q_,this.Es.Qh(),this.cw.pw(this.Es,t),this.mw(\"full\")}update(t){this.Es.Qh(),this.cw.bw(this.Es,t),this.mw(\"update\")}dataByIndex(t,i){const n=this.Es.In().ll(t,i);if(null===n)return null;return ce(this.seriesType())(n)}data(){const t=ce(this.seriesType());return this.Es.In().ne().map((i=>t(i)))}subscribeDataChanged(t){this.uw.l(t)}unsubscribeDataChanged(t){this.uw.v(t)}setMarkers(t){this.q_;const i=t.map((t=>xe(t,this.q_.convertHorzItemToInternal(t.time),t.time)));this.Es.na(i)}markers(){return this.Es.sa().map((t=>xe(t,t.originalTime,void 0)))}applyOptions(t){this.Es.$h(t)}options(){return z(this.Es.W())}priceScale(){return this.dw.priceScale(this.Es.Dt().Pa())}createPriceLine(t){const i=V(z(Se),t),n=this.Es.ea(i);return new ke(n)}removePriceLine(t){this.Es.ra(t._w())}seriesType(){return this.Es.Qh()}attachPrimitive(t){this.Es.ka(t),t.attached&&t.attached({chart:this.fw,series:this,requestUpdate:()=>this.Es.$t().Kl()})}detachPrimitive(t){this.Es.ya(t),t.detached&&t.detached()}mw(t){this.uw.M()&&this.uw.m(t)}}class Ce{constructor(t,i,n){this.ww=new D,this.mu=new D,this.Om=new D,this.$i=t,this.yl=t.St(),this.ab=i,this.yl.nc().l(this.gw.bind(this)),this.yl.sc().l(this.Mw.bind(this)),this.ab.Nm().l(this.xw.bind(this)),this.q_=n}S(){this.yl.nc().p(this),this.yl.sc().p(this),this.ab.Nm().p(this),this.ww.S(),this.mu.S(),this.Om.S()}scrollPosition(){return this.yl.Hu()}scrollToPosition(t,i){i?this.yl.Ju(t,1e3):this.$i.Jn(t)}scrollToRealTime(){this.yl.Gu()}getVisibleRange(){const t=this.yl.Vu();return null===t?null:{from:t.from.originalTime,to:t.to.originalTime}}setVisibleRange(t){const i={from:this.q_.convertHorzItemToInternal(t.from),to:this.q_.convertHorzItemToInternal(t.to)},n=this.yl.Iu(i);this.$i.pd(n)}getVisibleLogicalRange(){const t=this.yl.Du();return null===t?null:{from:t.Os(),to:t.ui()}}setVisibleLogicalRange(t){p(t.from<=t.to,\"The from index cannot be after the to index.\"),this.$i.pd(t)}resetTimeScale(){this.$i.Kn()}fitContent(){this.$i.hc()}logicalToCoordinate(t){const i=this.$i.St();return i.Ni()?null:i.It(t)}coordinateToLogical(t){return this.yl.Ni()?null:this.yl.Nu(t)}timeToCoordinate(t){const i=this.q_.convertHorzItemToInternal(t),n=this.yl.Va(i,!1);return null===n?null:this.yl.It(n)}coordinateToTime(t){const i=this.$i.St(),n=i.Nu(t),s=i.Ui(n);return null===s?null:s.originalTime}width(){return this.ab.um().width}height(){return this.ab.um().height}subscribeVisibleTimeRangeChange(t){this.ww.l(t)}unsubscribeVisibleTimeRangeChange(t){this.ww.v(t)}subscribeVisibleLogicalRangeChange(t){this.mu.l(t)}unsubscribeVisibleLogicalRangeChange(t){this.mu.v(t)}subscribeSizeChange(t){this.Om.l(t)}unsubscribeSizeChange(t){this.Om.v(t)}applyOptions(t){this.yl.$h(t)}options(){return Object.assign(Object.assign({},z(this.yl.W())),{barSpacing:this.yl.le()})}gw(){this.ww.M()&&this.ww.m(this.getVisibleRange())}Mw(){this.mu.M()&&this.mu.m(this.getVisibleLogicalRange())}xw(t){this.Om.m(t.width,t.height)}}function Te(t){if(void 0===t||\"custom\"===t.type)return;const i=t;void 0!==i.minMove&&void 0===i.precision&&(i.precision=function(t){if(t>=1)return 0;let i=0;for(;i<8;i++){const n=Math.round(t);if(Math.abs(n-t)<1e-8)return i;t*=10}return i}(i.minMove))}function Pe(t){return function(t){if(I(t.handleScale)){const i=t.handleScale;t.handleScale={axisDoubleClickReset:{time:i,price:i},axisPressedMouseMove:{time:i,price:i},mouseWheel:i,pinch:i}}else if(void 0!==t.handleScale){const{axisPressedMouseMove:i,axisDoubleClickReset:n}=t.handleScale;I(i)&&(t.handleScale.axisPressedMouseMove={time:i,price:i}),I(n)&&(t.handleScale.axisDoubleClickReset={time:n,price:n})}const i=t.handleScroll;I(i)&&(t.handleScroll={horzTouchDrag:i,vertTouchDrag:i,mouseWheel:i,pressedMouseMove:i})}(t),t}class Re{constructor(t,i,n){this.Sw=new Map,this.kw=new Map,this.yw=new D,this.Cw=new D,this.Tw=new D,this.Pw=new se(i);const s=void 0===n?z(ge()):V(z(ge()),Pe(n));this.q_=i,this.aw=new Fs(t,s,i),this.aw.lm().l((t=>{this.yw.M()&&this.yw.m(this.Rw(t()))}),this),this.aw.am().l((t=>{this.Cw.M()&&this.Cw.m(this.Rw(t()))}),this),this.aw.Xc().l((t=>{this.Tw.M()&&this.Tw.m(this.Rw(t()))}),this);const e=this.aw.$t();this.Dw=new Ce(e,this.aw.fb(),this.q_)}remove(){this.aw.lm().p(this),this.aw.am().p(this),this.aw.Xc().p(this),this.Dw.S(),this.aw.S(),this.Sw.clear(),this.kw.clear(),this.yw.S(),this.Cw.S(),this.Tw.S(),this.Pw.S()}resize(t,i,n){this.autoSizeActive()||this.aw._b(t,i,n)}addCustomSeries(t,i){const n=w(t),s=Object.assign(Object.assign({},_),n.defaultOptions());return this.Vw(\"Custom\",s,i,n)}addAreaSeries(t){return this.Vw(\"Area\",l,t)}addBaselineSeries(t){return this.Vw(\"Baseline\",a,t)}addBarSeries(t){return this.Vw(\"Bar\",r,t)}addCandlestickSeries(t={}){return function(t){void 0!==t.borderColor&&(t.borderUpColor=t.borderColor,t.borderDownColor=t.borderColor),void 0!==t.wickColor&&(t.wickUpColor=t.wickColor,t.wickDownColor=t.wickColor)}(t),this.Vw(\"Candlestick\",e,t)}addHistogramSeries(t){return this.Vw(\"Histogram\",o,t)}addLineSeries(t){return this.Vw(\"Line\",h,t)}removeSeries(t){const i=m(this.Sw.get(t)),n=this.Pw.vd(i);this.aw.$t().vd(i),this.Ow(n),this.Sw.delete(t),this.kw.delete(i)}pw(t,i){this.Ow(this.Pw.Kb(t,i))}bw(t,i){this.Ow(this.Pw.iw(t,i))}subscribeClick(t){this.yw.l(t)}unsubscribeClick(t){this.yw.v(t)}subscribeCrosshairMove(t){this.Tw.l(t)}unsubscribeCrosshairMove(t){this.Tw.v(t)}subscribeDblClick(t){this.Cw.l(t)}unsubscribeDblClick(t){this.Cw.v(t)}priceScale(t){return new Me(this.aw,t)}timeScale(){return this.Dw}applyOptions(t){this.aw.$h(Pe(t))}options(){return this.aw.W()}takeScreenshot(){return this.aw.wb()}autoSizeActive(){return this.aw.kb()}chartElement(){return this.aw.yb()}paneSize(){const t=this.aw.Tb();return{height:t.height,width:t.width}}setCrosshairPosition(t,i,n){const s=this.Sw.get(n);if(void 0===s)return;const e=this.aw.$t().dr(s);null!==e&&this.aw.$t().ad(t,i,e)}clearCrosshairPosition(){this.aw.$t().od(!0)}Vw(t,i,n={},s){Te(n.priceFormat);const e=V(z(u),z(i),n),r=this.aw.$t().dd(t,e,s),h=new ye(r,this,this,this,this.q_);return this.Sw.set(h,r),this.kw.set(r,h),h}Ow(t){const i=this.aw.$t();i._d(t.St.Eu,t.St.hw,t.St.lw),t.ew.forEach(((t,i)=>i.J(t.$e,t.rw))),i.Wu()}Bw(t){return m(this.kw.get(t))}Rw(t){const i=new Map;t.Nb.forEach(((t,n)=>{const s=n.Qh(),e=ce(s)(t);if(\"Custom\"!==s)p(js(e));else{const t=n.Ta();p(!t||!1===t(e))}i.set(this.Bw(n),e)}));const n=void 0!==t.Eb&&this.kw.has(t.Eb)?this.Bw(t.Eb):void 0;return{time:t.zb,logical:t.ee,point:t.Lb,hoveredSeries:n,hoveredObjectId:t.Fb,seriesData:i,sourceEvent:t.Wb}}}function De(t,i,n){let s;if(A(t)){const i=document.getElementById(t);p(null!==i,`Cannot find element in DOM with id=${t}`),s=i}else s=t;const e=new Re(s,i,n);return i.setOptions(e.options()),e}function Ve(t,i){return De(t,new is,is.Id(i))}function Oe(){return is}const Be=Object.assign(Object.assign({},u),_);function Ae(){return\"4.2.3\"}export{In as ColorType,at as CrosshairMode,Bn as LastPriceAnimationMode,d as LineStyle,c as LineType,Li as MismatchDirection,An as PriceLineSource,pn as PriceScaleMode,zn as TickMarkType,On as TrackingModeExitMode,Ve as createChart,De as createChartEx,Be as customSeriesDefaultOptions,Oe as defaultHorzScaleBehavior,En as isBusinessDay,Nn as isUTCTimestamp,Ae as version};\n","import { useCallback, useState, useEffect } from 'react';\r\nimport { Socket } from 'socket.io-client';\r\n\r\ninterface OHLCVCandle {\r\n time: number;\r\n open: number;\r\n high: number;\r\n low: number;\r\n close: number;\r\n volume: number;\r\n}\r\n\r\ninterface OHLCVInitialData {\r\n mint: string;\r\n timeFrame: number;\r\n data: OHLCVCandle[];\r\n timestamp: number;\r\n error?: string;\r\n}\r\n\r\ninterface OHLCVUpdateData {\r\n mint: string;\r\n timeFrame: number;\r\n candle: OHLCVCandle;\r\n timestamp: number;\r\n}\r\n\r\ninterface OHLCVNewCandleData {\r\n mint: string;\r\n timeFrame: number;\r\n candle: OHLCVCandle;\r\n timestamp: number;\r\n}\r\n\r\n/**\r\n * Hook to manage socket connection\r\n * This is a simplified version for the NPM package\r\n * Users should provide their own socket instance via props\r\n */\r\nexport const useSocket = (socketInstance?: Socket | null) => {\r\n const [socket] = useState<Socket | null>(socketInstance || null);\r\n const [isConnected, setIsConnected] = useState(false);\r\n const [isConnecting, setIsConnecting] = useState(false);\r\n\r\n // Track connection state\r\n useEffect(() => {\r\n if (!socket) {\r\n setIsConnected(false);\r\n setIsConnecting(false);\r\n return;\r\n }\r\n\r\n setIsConnecting(true);\r\n\r\n const handleConnect = () => {\r\n console.log('✅ [useSocket] Connected to Socket.IO server');\r\n setIsConnected(true);\r\n setIsConnecting(false);\r\n };\r\n\r\n const handleDisconnect = () => {\r\n console.log('🔌 [useSocket] Disconnected from Socket.IO server');\r\n setIsConnected(false);\r\n setIsConnecting(false);\r\n };\r\n\r\n const handleConnectError = (error: any) => {\r\n console.error('❌ [useSocket] Connection error:', error);\r\n setIsConnecting(false);\r\n };\r\n\r\n // Set initial state\r\n if (socket.connected) {\r\n setIsConnected(true);\r\n setIsConnecting(false);\r\n }\r\n\r\n // Add event listeners\r\n socket.on('connect', handleConnect);\r\n socket.on('disconnect', handleDisconnect);\r\n socket.on('connect_error', handleConnectError);\r\n\r\n return () => {\r\n socket.off('connect', handleConnect);\r\n socket.off('disconnect', handleDisconnect);\r\n socket.off('connect_error', handleConnectError);\r\n };\r\n }, [socket]);\r\n\r\n // Connect function (no-op since connection is managed by provider)\r\n const connect = useCallback(() => {\r\n console.log('🔍 [useSocket] Connect called - connection managed by provider');\r\n }, []);\r\n\r\n // Disconnect function (no-op since connection is managed by provider)\r\n const disconnect = useCallback(() => {\r\n console.log('🔍 [useSocket] Disconnect called - connection managed by provider');\r\n }, []);\r\n\r\n // Subscribe to OHLCV updates\r\n const subscribeToOHLCV = useCallback((\r\n mint: string, \r\n timeFrame: number = 60,\r\n onInitialData?: (data: OHLCVInitialData) => void,\r\n onUpdate?: (data: OHLCVUpdateData) => void,\r\n onNewCandle?: (data: OHLCVNewCandleData) => void\r\n ) => {\r\n if (!socket?.connected) {\r\n console.warn('⚠️ [useSocket] Socket not connected, cannot subscribe');\r\n return false;\r\n }\r\n\r\n try {\r\n // Subscribe to OHLCV updates\r\n socket.emit('ohlcv:subscribe', { mint, timeFrame });\r\n\r\n // Listen for initial data\r\n if (onInitialData) {\r\n socket.on('ohlcv:initial', onInitialData);\r\n }\r\n\r\n // Listen for updates\r\n if (onUpdate) {\r\n socket.on('ohlcv:update', onUpdate);\r\n }\r\n\r\n // Listen for new candles\r\n if (onNewCandle) {\r\n socket.on('ohlcv:newCandle', onNewCandle);\r\n }\r\n\r\n console.log(`📊 [useSocket] Subscribed to OHLCV updates for ${mint} (${timeFrame}s)`);\r\n return true;\r\n\r\n } catch (error) {\r\n console.error('❌ [useSocket] Failed to subscribe to OHLCV:', error);\r\n return false;\r\n }\r\n }, [socket]);\r\n\r\n // Unsubscribe from OHLCV updates\r\n const unsubscribeFromOHLCV = useCallback((\r\n mint: string, \r\n timeFrame: number = 60,\r\n onInitialData?: (data: OHLCVInitialData) => void,\r\n onUpdate?: (data: OHLCVUpdateData) => void,\r\n onNewCandle?: (data: OHLCVNewCandleData) => void\r\n ) => {\r\n if (!socket?.connected) return false;\r\n\r\n try {\r\n // Unsubscribe from OHLCV updates\r\n socket.emit('ohlcv:unsubscribe', { mint, timeFrame });\r\n\r\n // Remove listeners\r\n if (onInitialData) {\r\n socket.off('ohlcv:initial', onInitialData);\r\n }\r\n if (onUpdate) {\r\n socket.off('ohlcv:update', onUpdate);\r\n }\r\n if (onNewCandle) {\r\n socket.off('ohlcv:newCandle', onNewCandle);\r\n }\r\n\r\n console.log(`📊 [useSocket] Unsubscribed from OHLCV updates for ${mint} (${timeFrame}s)`);\r\n return true;\r\n\r\n } catch (error) {\r\n console.error('❌ [useSocket] Failed to unsubscribe from OHLCV:', error);\r\n return false;\r\n }\r\n }, [socket]);\r\n\r\n // Subscribe to price updates\r\n const subscribeToPrice = useCallback((\r\n mint: string,\r\n onPriceUpdate?: (data: any) => void\r\n ) => {\r\n if (!socket?.connected) {\r\n console.warn('⚠️ [useSocket] Socket not connected, cannot subscribe');\r\n return false;\r\n }\r\n\r\n try {\r\n // Subscribe to price updates\r\n socket.emit('price:subscribe', { mint });\r\n\r\n // Listen for price updates\r\n if (onPriceUpdate) {\r\n socket.on('price:update', onPriceUpdate);\r\n }\r\n\r\n console.log(`💰 [useSocket] Subscribed to price updates for ${mint}`);\r\n return true;\r\n\r\n } catch (error) {\r\n console.error('❌ [useSocket] Failed to subscribe to price:', error);\r\n return false;\r\n }\r\n }, [socket]);\r\n\r\n // Unsubscribe from price updates\r\n const unsubscribeFromPrice = useCallback((\r\n mint: string,\r\n onPriceUpdate?: (data: any) => void\r\n ) => {\r\n if (!socket?.connected) return false;\r\n\r\n try {\r\n // Unsubscribe from price updates\r\n socket.emit('price:unsubscribe', { mint });\r\n\r\n // Remove listener\r\n if (onPriceUpdate) {\r\n socket.off('price:update', onPriceUpdate);\r\n }\r\n\r\n console.log(`💰 [useSocket] Unsubscribed from price updates for ${mint}`);\r\n return true;\r\n\r\n } catch (error) {\r\n console.error('❌ [useSocket] Failed to unsubscribe from price:', error);\r\n return false;\r\n }\r\n }, [socket]);\r\n\r\n // Test socket connection\r\n const testConnection = useCallback((message: string) => {\r\n if (!socket?.connected) {\r\n console.warn('⚠️ [useSocket] Socket not connected, cannot send test message');\r\n return false;\r\n }\r\n\r\n try {\r\n socket.emit('test-message', {\r\n message,\r\n timestamp: Date.now()\r\n });\r\n\r\n // Listen for test response\r\n socket.once('test-response', (response) => {\r\n console.log('🧪 [useSocket] Test response received:', response);\r\n });\r\n\r\n return true;\r\n } catch (error) {\r\n console.error('❌ [useSocket] Failed to send test message:', error);\r\n return false;\r\n }\r\n }, [socket]);\r\n\r\n return {\r\n socket,\r\n isConnected,\r\n isConnecting,\r\n connect,\r\n disconnect,\r\n subscribeToOHLCV,\r\n unsubscribeFromOHLCV,\r\n subscribeToPrice,\r\n unsubscribeFromPrice,\r\n testConnection,\r\n };\r\n};\r\n\r\n","import { useState, useEffect, useCallback, useMemo } from 'react';\r\n\r\ninterface ComprehensiveAnalytics {\r\n // Performance metrics\r\n performance: {\r\n '24H': { gain: number; percentage: string; isPositive: boolean };\r\n '7D': { gain: number; percentage: string; isPositive: boolean };\r\n '1M': { gain: number; percentage: string; isPositive: boolean };\r\n 'All Time': { gain: number; percentage: string; isPositive: boolean };\r\n };\r\n \r\n // Market data\r\n market: {\r\n marketValue: string;\r\n price: string;\r\n marketCap: string;\r\n circulating: string;\r\n totalSupply: string;\r\n };\r\n \r\n // 24H statistics\r\n '24H': {\r\n high: string;\r\n low: string;\r\n volume: string;\r\n return: string;\r\n };\r\n \r\n // Volume data\r\n volume: {\r\n current: string;\r\n '24h': string;\r\n unit: string;\r\n };\r\n \r\n // Blockchain data\r\n blockchain: {\r\n currentRealSol: string;\r\n realSolReserves: number;\r\n virtualSolReserves: number;\r\n tokenReserves: number;\r\n };\r\n \r\n // Additional data\r\n additional: {\r\n solUsdPrice: string;\r\n timestamp: number;\r\n };\r\n}\r\n\r\ninterface EnhancedTokenAnalytics {\r\n // Real-time analytics from backend\r\n analytics: ComprehensiveAnalytics | null;\r\n \r\n // Current market data\r\n currentPrice: number;\r\n currentMarketCap: number;\r\n currentVolume: number;\r\n \r\n // Performance metrics (formatted for display)\r\n performance24h: { value: string; isPositive: boolean; raw: number };\r\n performance7d: { value: string; isPositive: boolean; raw: number };\r\n performance1m: { value: string; isPositive: boolean; raw: number };\r\n performanceAllTime: { value: string; isPositive: boolean; raw: number };\r\n \r\n // 24H statistics\r\n high24h: number;\r\n low24h: number;\r\n volume24h: number;\r\n return24h: number;\r\n \r\n // Loading and error states\r\n loading: boolean;\r\n error: string | null;\r\n \r\n // Connection status\r\n connected: boolean;\r\n \r\n // Last update timestamp\r\n lastUpdate: number | null;\r\n \r\n // Helper functions\r\n isRealVolume: (volume: number) => boolean;\r\n}\r\n\r\n/**\r\n * Simplified hook for token analytics\r\n * This is a stub version for the NPM package\r\n * Users should provide their own analytics data or implement their own hook\r\n */\r\nexport function useOptimizedTokenAnalytics(\r\n mint: string | undefined,\r\n analyticsData?: any\r\n): EnhancedTokenAnalytics {\r\n const [analytics, setAnalytics] = useState<ComprehensiveAnalytics | null>(null);\r\n const [loading, setLoading] = useState(false);\r\n const [error, setError] = useState<string | null>(null);\r\n const [lastUpdate, setLastUpdate] = useState<number | null>(null);\r\n const [connected, setConnected] = useState(false);\r\n\r\n // Update analytics when provided\r\n useEffect(() => {\r\n if (analyticsData) {\r\n setAnalytics(analyticsData);\r\n setLastUpdate(Date.now());\r\n setConnected(true);\r\n setLoading(false);\r\n }\r\n }, [analyticsData]);\r\n\r\n // Calculate derived values from analytics data\r\n const derivedValues = useMemo(() => {\r\n if (!analytics || !analytics.market) {\r\n return {\r\n currentPrice: 0,\r\n currentMarketCap: 0,\r\n currentVolume: 0,\r\n performance24h: { value: '0.00%', isPositive: false, raw: 0 },\r\n performance7d: { value: '0.00%', isPositive: false, raw: 0 },\r\n performance1m: { value: '0.00%', isPositive: false, raw: 0 },\r\n performanceAllTime: { value: '0.00%', isPositive: false, raw: 0 },\r\n high24h: 0,\r\n low24h: 0,\r\n volume24h: 0,\r\n return24h: 0\r\n };\r\n }\r\n\r\n // Extract current values with safe access\r\n const currentPrice = parseFloat(analytics.market?.price || '0') || 0;\r\n const currentMarketCap = parseFloat(analytics.market?.marketCap || '0') || 0;\r\n \r\n // CRITICAL: Only use real volume, filter out fake 0.01 values\r\n let currentVolume = parseFloat(analytics.volume?.current || '0') || 0;\r\n if (currentVolume <= 0.01) {\r\n // Use current real SOL reserves instead of fake volume\r\n currentVolume = parseFloat(analytics.blockchain?.currentRealSol || '0') || 0;\r\n }\r\n\r\n // Extract performance metrics with safe access\r\n const performance24h = {\r\n value: analytics.performance?.['24H']?.percentage || '0.00%',\r\n isPositive: analytics.performance?.['24H']?.isPositive || false,\r\n raw: analytics.performance?.['24H']?.gain || 0\r\n };\r\n\r\n const performance7d = {\r\n value: analytics.performance?.['7D']?.percentage || '0.00%',\r\n isPositive: analytics.performance?.['7D']?.isPositive || false,\r\n raw: analytics.performance?.['7D']?.gain || 0\r\n };\r\n\r\n const performance1m = {\r\n value: analytics.performance?.['1M']?.percentage || '0.00%',\r\n isPositive: analytics.performance?.['1M']?.isPositive || false,\r\n raw: analytics.performance?.['1M']?.gain || 0\r\n };\r\n\r\n const performanceAllTime = {\r\n value: analytics.performance?.['All Time']?.percentage || '0.00%',\r\n isPositive: analytics.performance?.['All Time']?.isPositive || false,\r\n raw: analytics.performance?.['All Time']?.gain || 0\r\n };\r\n\r\n // Extract 24H statistics with safe access\r\n const high24h = parseFloat(analytics['24H']?.high || '0') || 0;\r\n const low24h = parseFloat(analytics['24H']?.low || '0') || 0;\r\n \r\n // CRITICAL: Only use real volume, filter out fake 0.01 values\r\n let volume24h = parseFloat(analytics.volume?.['24h'] || '0') || 0;\r\n if (volume24h <= 0.01) {\r\n // Use current real SOL reserves instead of fake volume\r\n volume24h = parseFloat(analytics.blockchain?.currentRealSol || '0') || 0;\r\n }\r\n \r\n const return24h = parseFloat(analytics['24H']?.return || '0') || 0;\r\n\r\n return {\r\n currentPrice,\r\n currentMarketCap,\r\n currentVolume,\r\n performance24h,\r\n performance7d,\r\n performance1m,\r\n performanceAllTime,\r\n high24h,\r\n low24h,\r\n volume24h,\r\n return24h\r\n };\r\n }, [analytics]);\r\n\r\n // Helper function to check if volume is real (not fake 0.01)\r\n const isRealVolume = useCallback((volume: number) => volume > 0.01, []);\r\n\r\n const result = {\r\n // Raw analytics data from backend\r\n analytics,\r\n \r\n // Derived values for easy consumption\r\n ...derivedValues,\r\n \r\n // Helper functions\r\n isRealVolume,\r\n \r\n // State management\r\n loading,\r\n error,\r\n connected,\r\n lastUpdate\r\n };\r\n \r\n return result;\r\n}\r\n\r\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\nconst {iterator, toStringTag} = Symbol;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(toStringTag in val) && !(iterator in val);\n}\n\n/**\n * Determine if a value is an empty object (safely handles Buffers)\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an empty object, otherwise false\n */\nconst isEmptyObject = (val) => {\n // Early return for non-objects or Buffers to prevent RangeError\n if (!isObject(val) || isBuffer(val)) {\n return false;\n }\n\n try {\n return Object.keys(val).length === 0 && Object.getPrototypeOf(val) === Object.prototype;\n } catch (e) {\n // Fallback for any other objects that might cause RangeError with Object.keys()\n return false;\n }\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Buffer check\n if (isBuffer(obj)) {\n return;\n }\n\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n if (isBuffer(obj)){\n return null;\n }\n\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless, skipUndefined} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else if (!skipUndefined || !isUndefined(val)) {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object<any, any>} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[iterator];\n\n const _iterator = generator.call(obj);\n\n let result;\n\n while ((result = _iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array<boolean>}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\n\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[toStringTag] === 'FormData' && thing[iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n //Buffer check\n if (isBuffer(source)) {\n return source;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported ? ((token, callbacks) => {\n _global.addEventListener(\"message\", ({source, data}) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n }, false);\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n }\n })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n typeof setImmediate === 'function',\n isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\n\nconst isIterable = (thing) => thing != null && isFunction(thing[iterator]);\n\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isEmptyObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap,\n isIterable\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status ? response.status : null;\n }\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n const msg = error && error.message ? error.message : 'Error';\n\n // Prefer explicit code; otherwise copy the low-level error's code (e.g. ECONNREFUSED)\n const errCode = code == null && error ? error.code : code;\n AxiosError.call(axiosError, msg, errCode, config, request, response);\n\n // Chain the original error on the standard field; non-enumerable to avoid JSON noise\n if (error && axiosError.cause == null) {\n Object.defineProperty(axiosError, 'cause', { value: error, configurable: true });\n }\n\n axiosError.name = (error && error.name) || 'Error';\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (utils.isBoolean(value)) {\n return value.toString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array<String|Number>} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?(object|Function)} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n if (utils.isFunction(options)) {\n options = {\n serialize: options\n };\n } \n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array<any>} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object<string, any> | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data, this.parseReviver);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), {\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n },\n ...options\n });\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isObject(header) && utils.isIterable(header)) {\n let obj = {}, dest, key;\n for (const entry of header) {\n if (!utils.isArray(entry)) {\n throw TypeError('Object iterator must return a key-value pair');\n }\n\n obj[key = entry[0]] = (dest = obj[key]) ?\n (utils.isArray(dest) ? [...dest, entry[1]] : [dest, entry[1]]) : entry[1];\n }\n\n setHeaders(obj, valueOrRewrite)\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n getSetCookie() {\n return this.get(\"set-cookie\") || [];\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true\n };\n\n listener(data);\n }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn(...args);\n }\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if ( passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs)\n }, threshold - passed);\n }\n }\n }\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","import platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ? ((origin, isMSIE) => (url) => {\n url = new URL(url, platform.origin);\n\n return (\n origin.protocol === url.protocol &&\n origin.host === url.host &&\n (isMSIE || origin.port === url.port)\n );\n})(\n new URL(platform.origin),\n platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)\n) : () => true;\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) {\n let isRelativeUrl = !isAbsoluteURL(requestedURL);\n if (baseURL && (isRelativeUrl || allowAbsoluteUrls == false)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, prop, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, prop , caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, prop , caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, prop , caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b , prop) => mergeDeepProperties(headersToObject(a), headersToObject(b),prop, true)\n };\n\n utils.forEach(Object.keys({...config1, ...config2}), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let { data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth } = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url, newConfig.allowAbsoluteUrls), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // browser handles it\n } else if (utils.isFunction(data.getHeaders)) {\n // Node.js FormData (like form-data package)\n const formHeaders = data.getHeaders();\n // Only set safe headers to avoid overwriting security headers\n const allowedHeaders = ['content-type', 'content-length'];\n Object.entries(formHeaders).forEach(([key, val]) => {\n if (allowedHeaders.includes(key.toLowerCase())) {\n headers.set(key, val);\n }\n });\n }\n } \n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError(event) {\n // Browsers deliver a ProgressEvent in XHR onerror\n // (message may be empty; when present, surface it)\n // See https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/error_event\n const msg = event && event.message ? event.message : 'Network Error';\n const err = new AxiosError(msg, AxiosError.ERR_NETWORK, config, request);\n // attach the underlying event for consumers who want details\n err.event = event || null;\n reject(err);\n request = null;\n };\n \n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport utils from '../utils.js';\n\nconst composeSignals = (signals, timeout) => {\n const {length} = (signals = signals ? signals.filter(Boolean) : []);\n\n if (timeout || length) {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (reason) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = reason instanceof Error ? reason : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n timer = null;\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener('abort', onabort);\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = () => utils.asap(unsubscribe);\n\n return signal;\n }\n}\n\nexport default composeSignals;\n","\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize) {\n for await (const chunk of readStream(iterable)) {\n yield* streamChunk(chunk, chunkSize);\n }\n}\n\nconst readStream = async function* (stream) {\n if (stream[Symbol.asyncIterator]) {\n yield* stream;\n return;\n }\n\n const reader = stream.getReader();\n try {\n for (;;) {\n const {done, value} = await reader.read();\n if (done) {\n break;\n }\n yield value;\n }\n } finally {\n await reader.cancel();\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish) => {\n const iterator = readBytes(stream, chunkSize);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n }\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst {isFunction} = utils;\n\nconst globalFetchAPI = (({Request, Response}) => ({\n Request, Response\n}))(utils.global);\n\nconst {\n ReadableStream, TextEncoder\n} = utils.global;\n\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n}\n\nconst factory = (env) => {\n env = utils.merge.call({\n skipUndefined: true\n }, globalFetchAPI, env);\n\n const {fetch: envFetch, Request, Response} = env;\n const isFetchSupported = envFetch ? isFunction(envFetch) : typeof fetch === 'function';\n const isRequestSupported = isFunction(Request);\n const isResponseSupported = isFunction(Response);\n\n if (!isFetchSupported) {\n return false;\n }\n\n const isReadableStreamSupported = isFetchSupported && isFunction(ReadableStream);\n\n const encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Request(str).arrayBuffer())\n );\n\n const supportsRequestStream = isRequestSupported && isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n });\n\n const supportsResponseStream = isResponseSupported && isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n const resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n };\n\n isFetchSupported && ((() => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = (res, config) => {\n let method = res && res[type];\n\n if (method) {\n return method.call(res);\n }\n\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n })());\n\n const getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if (utils.isBlob(body)) {\n return body.size;\n }\n\n if (utils.isSpecCompliantForm(body)) {\n const _request = new Request(platform.origin, {\n method: 'POST',\n body,\n });\n return (await _request.arrayBuffer()).byteLength;\n }\n\n if (utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if (utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if (utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n }\n\n const resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n }\n\n return async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n let _fetch = envFetch || fetch;\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout);\n\n let request = null;\n\n const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => {\n composedSignal.unsubscribe();\n });\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = isRequestSupported && \"credentials\" in Request.prototype;\n\n const resolvedOptions = {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: isCredentialsSupported ? withCredentials : undefined\n };\n\n request = isRequestSupported && new Request(url, resolvedOptions);\n\n let response = await (isRequestSupported ? _fetch(request, fetchOptions) : _fetch(url, resolvedOptions));\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n unsubscribe && unsubscribe();\n }),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && unsubscribe && unsubscribe();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n unsubscribe && unsubscribe();\n\n if (err && err.name === 'TypeError' && /Load failed|fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n }\n}\n\nconst seedCache = new Map();\n\nexport const getFetch = (config) => {\n let env = config ? config.env : {};\n const {fetch, Request, Response} = env;\n const seeds = [\n Request, Response, fetch\n ];\n\n let len = seeds.length, i = len,\n seed, target, map = seedCache;\n\n while (i--) {\n seed = seeds[i];\n target = map.get(seed);\n\n target === undefined && map.set(seed, target = (i ? new Map() : factory(env)))\n\n map = target;\n }\n\n return target;\n};\n\nconst adapter = getFetch();\n\nexport default adapter;\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport * as fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: {\n get: fetchAdapter.getFetch,\n }\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters, config) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter && (utils.isFunction(adapter) || (adapter = adapter.get(config)))) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter, config);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","export const VERSION = \"1.12.2\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\nvalidators.spelling = function spelling(correctSpelling) {\n return (value, opt) => {\n // eslint-disable-next-line no-console\n console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);\n return true;\n }\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig || {};\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy = {};\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.allowAbsoluteUrls\n if (config.allowAbsoluteUrls !== undefined) {\n // do nothing\n } else if (this.defaults.allowAbsoluteUrls !== undefined) {\n config.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls;\n } else {\n config.allowAbsoluteUrls = true;\n }\n\n validator.assertOptions(config, {\n baseUrl: validators.spelling('baseURL'),\n withXsrfToken: validators.spelling('withXSRFToken')\n }, true);\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift(...requestInterceptorChain);\n chain.push(...responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n toAbortSignal() {\n const controller = new AbortController();\n\n const abort = (err) => {\n controller.abort(err);\n };\n\n this.subscribe(abort);\n\n controller.signal.unsubscribe = () => this.unsubscribe(abort);\n\n return controller.signal;\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","import axios from './lib/axios.js';\n\n// This module is intended to unwrap Axios default export as named.\n// Keep top-level export same with static properties\n// so that it can keep same with es module or cjs\nconst {\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n} = axios;\n\nexport {\n axios as default,\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n}\n","/**\r\n * Environment Configuration for Funhi Chart\r\n * \r\n * This file provides configuration for the chart component\r\n * Users can override these values by passing them as props\r\n */\r\n\r\nexport const API_CONFIG = {\r\n // Backend API base URL - users should provide this\r\n BASE_URL: typeof window !== 'undefined' && (window as any).FUNHI_CHART_API_URL \r\n ? (window as any).FUNHI_CHART_API_URL \r\n : process.env.NEXT_PUBLIC_BACKEND_URL || 'https://dev.funhi.com',\r\n\r\n // API request timeout in milliseconds\r\n TIMEOUT: 10000,\r\n\r\n // Retry configuration\r\n MAX_RETRIES: 3,\r\n RETRY_DELAY: 1000,\r\n} as const;\r\n\r\n","/**\r\n * Candle Storage Service\r\n * Handles saving and retrieving candles from database via API\r\n * Replaces localStorage with database storage for persistent candle data\r\n */\r\n\r\nimport axios from 'axios';\r\nimport { API_CONFIG } from '../config/environment';\r\n\r\nexport interface CandleData {\r\n time: number; // Unix timestamp in seconds\r\n open: number;\r\n high: number;\r\n low: number;\r\n close: number;\r\n volume: number;\r\n}\r\n\r\nexport interface SaveCandlesRequest {\r\n mint: string;\r\n candles: CandleData[];\r\n timeFrame?: number; // in seconds, defaults to 60 (1 minute)\r\n}\r\n\r\nexport interface GetCandlesRequest {\r\n mint: string;\r\n timeFrame?: number; // in seconds, defaults to 60 (1 minute)\r\n limit?: number; // max number of candles to retrieve, defaults to 200\r\n}\r\n\r\nexport interface SaveCandleRequest {\r\n mint: string;\r\n candle: CandleData;\r\n timeFrame?: number; // in seconds, defaults to 60 (1 minute)\r\n}\r\n\r\nclass CandleStorageService {\r\n private readonly baseURL = `${API_CONFIG.BASE_URL}/api/ohlcv`;\r\n private savingQueue: Map<string, { candles: CandleData[], timeout: ReturnType<typeof setTimeout> }> = new Map();\r\n private readonly BATCH_DELAY = 5000; // 5 seconds - batch candles before saving\r\n private readonly BATCH_SIZE = 50; // Save when we reach this many candles\r\n\r\n /**\r\n * Save multiple candles to database\r\n * Uses batching to reduce API calls\r\n */\r\n async saveCandles(request: SaveCandlesRequest): Promise<boolean> {\r\n try {\r\n const { mint, candles, timeFrame = 60 } = request;\r\n\r\n if (!mint || !candles || candles.length === 0) {\r\n console.warn('⚠️ [CandleStorage] Invalid save request:', request);\r\n return false;\r\n }\r\n\r\n const response = await axios.post(`${this.baseURL}/candles/save`, {\r\n mint,\r\n candles,\r\n timeFrame\r\n });\r\n\r\n if (response.data.success) {\r\n console.log(`💾 [CandleStorage] Saved ${candles.length} candles for ${mint}`);\r\n return true;\r\n }\r\n\r\n return false;\r\n } catch (error) {\r\n console.error('❌ [CandleStorage] Error saving candles:', error);\r\n return false;\r\n }\r\n }\r\n\r\n /**\r\n * Save a single candle to database\r\n * Batches candles to reduce API calls\r\n */\r\n async saveCandle(request: SaveCandleRequest): Promise<boolean> {\r\n try {\r\n const { mint, candle, timeFrame = 60 } = request;\r\n\r\n if (!mint || !candle) {\r\n console.warn('⚠️ [CandleStorage] Invalid save request:', request);\r\n return false;\r\n }\r\n\r\n // Add to batching queue\r\n const queueKey = `${mint}_${timeFrame}`;\r\n const existingQueue = this.savingQueue.get(queueKey);\r\n\r\n if (existingQueue) {\r\n // Clear existing timeout\r\n clearTimeout(existingQueue.timeout);\r\n \r\n // Add candle to queue\r\n existingQueue.candles.push(candle);\r\n\r\n // If we've reached batch size, save immediately\r\n if (existingQueue.candles.length >= this.BATCH_SIZE) {\r\n await this.flushQueue(queueKey, mint, timeFrame);\r\n } else {\r\n // Otherwise, set new timeout\r\n existingQueue.timeout = setTimeout(() => {\r\n this.flushQueue(queueKey, mint, timeFrame);\r\n }, this.BATCH_DELAY);\r\n }\r\n } else {\r\n // Create new queue entry\r\n const timeout = setTimeout(() => {\r\n this.flushQueue(queueKey, mint, timeFrame);\r\n }, this.BATCH_DELAY);\r\n\r\n this.savingQueue.set(queueKey, {\r\n candles: [candle],\r\n timeout\r\n });\r\n }\r\n\r\n return true;\r\n } catch (error) {\r\n console.error('❌ [CandleStorage] Error queuing candle:', error);\r\n return false;\r\n }\r\n }\r\n\r\n /**\r\n * Flush the batching queue and save to database\r\n */\r\n private async flushQueue(queueKey: string, mint: string, timeFrame: number): Promise<void> {\r\n const queue = this.savingQueue.get(queueKey);\r\n \r\n if (!queue || queue.candles.length === 0) {\r\n return;\r\n }\r\n\r\n // Remove from queue\r\n this.savingQueue.delete(queueKey);\r\n\r\n // Save to database\r\n await this.saveCandles({\r\n mint,\r\n candles: queue.candles,\r\n timeFrame\r\n });\r\n }\r\n\r\n /**\r\n * Get candles from database\r\n */\r\n async getCandles(request: GetCandlesRequest): Promise<CandleData[]> {\r\n try {\r\n const { mint, timeFrame = 60, limit = 50000 } = request;\r\n\r\n if (!mint) {\r\n console.warn('⚠️ [CandleStorage] Invalid get request:', request);\r\n return [];\r\n }\r\n\r\n const response = await axios.get(`${this.baseURL}/candles/${mint}`, {\r\n params: {\r\n timeFrame,\r\n limit\r\n },\r\n // Add timeout to prevent hanging requests\r\n timeout: 8000, // 8 seconds\r\n // Validate response status\r\n validateStatus: (status) => status >= 200 && status < 500\r\n });\r\n\r\n if (response.data.success && response.data.data && response.data.data.candles) {\r\n const candleCount = response.data.data.candles.length;\r\n if (candleCount > 0) {\r\n console.log(`✅ [CandleStorage] Retrieved ${candleCount} candles for ${mint}`);\r\n } else {\r\n console.log(`ℹ️ [CandleStorage] No candles found for ${mint} in database`);\r\n }\r\n return response.data.data.candles;\r\n }\r\n\r\n // Handle warning from backend\r\n if (response.data.warning) {\r\n console.warn(`⚠️ [CandleStorage] ${response.data.warning}`);\r\n }\r\n\r\n return [];\r\n } catch (error: any) {\r\n // Log more detailed error information\r\n if (error.code === 'ECONNABORTED') {\r\n console.error('❌ [CandleStorage] Request timeout getting candles for', request.mint);\r\n } else if (error.response) {\r\n console.error('❌ [CandleStorage] Server error getting candles:', error.response.status, error.response.data);\r\n } else if (error.request) {\r\n console.error('❌ [CandleStorage] Network error getting candles - no response received');\r\n } else {\r\n console.error('❌ [CandleStorage] Error getting candles:', error.message);\r\n }\r\n return [];\r\n }\r\n }\r\n\r\n /**\r\n * Flush all pending queues before component unmount\r\n */\r\n async flushAll(): Promise<void> {\r\n const flushPromises: Promise<void>[] = [];\r\n\r\n for (const [queueKey, queue] of this.savingQueue.entries()) {\r\n clearTimeout(queue.timeout);\r\n const [mint, timeFrameStr] = queueKey.split('_');\r\n const timeFrame = parseInt(timeFrameStr);\r\n flushPromises.push(this.flushQueue(queueKey, mint, timeFrame));\r\n }\r\n\r\n await Promise.all(flushPromises);\r\n }\r\n}\r\n\r\n// Export singleton instance\r\nexport const candleStorageService = new CandleStorageService();\r\n\r\n","/**\r\n * Candle Aggregation Utility\r\n * \r\n * Client-side aggregation of 1-minute candles into larger timeframes\r\n * This provides real-time aggregation without waiting for server responses\r\n */\r\n\r\nexport interface CandleData {\r\n time: number;\r\n open: number;\r\n high: number;\r\n low: number;\r\n close: number;\r\n volume: number;\r\n}\r\n\r\nexport interface TimeFrame {\r\n label: string;\r\n value: string;\r\n seconds: number;\r\n}\r\n\r\nclass CandleAggregation {\r\n private timeframes: Record<string, number> = {\r\n '1m': 60,\r\n '5m': 300,\r\n '15m': 900,\r\n '30m': 1800,\r\n '1h': 3600,\r\n '4h': 14400,\r\n '1d': 86400\r\n };\r\n\r\n /**\r\n * Aggregate 1-minute candles into a larger timeframe\r\n */\r\n aggregateCandles(oneMinuteCandles: CandleData[], targetTimeframe: number): CandleData[] {\r\n try {\r\n // If requesting 1-minute data, return as-is\r\n if (targetTimeframe === 60) {\r\n return oneMinuteCandles;\r\n }\r\n\r\n // Validate input\r\n if (!Array.isArray(oneMinuteCandles) || oneMinuteCandles.length === 0) {\r\n console.warn('⚠️ [CandleAggregation] No candles to aggregate');\r\n return [];\r\n }\r\n\r\n // Sort candles by time ascending\r\n const sortedCandles = [...oneMinuteCandles].sort((a, b) => a.time - b.time);\r\n\r\n // Group candles by target timeframe\r\n const aggregatedCandles: CandleData[] = [];\r\n let currentGroup: CandleData[] = [];\r\n let groupStartTime: number | null = null;\r\n\r\n for (const candle of sortedCandles) {\r\n // Calculate which timeframe bucket this candle belongs to\r\n const bucketTime = Math.floor(candle.time / targetTimeframe) * targetTimeframe;\r\n\r\n if (groupStartTime === null) {\r\n groupStartTime = bucketTime;\r\n }\r\n\r\n if (bucketTime === groupStartTime) {\r\n // Add to current group\r\n currentGroup.push(candle);\r\n } else {\r\n // Process current group and start new one\r\n if (currentGroup.length > 0) {\r\n const aggregated = this.aggregateGroup(currentGroup, groupStartTime);\r\n aggregatedCandles.push(aggregated);\r\n }\r\n\r\n // Start new group\r\n currentGroup = [candle];\r\n groupStartTime = bucketTime;\r\n }\r\n }\r\n\r\n // Process last group\r\n if (currentGroup.length > 0 && groupStartTime !== null) {\r\n const aggregated = this.aggregateGroup(currentGroup, groupStartTime);\r\n aggregatedCandles.push(aggregated);\r\n }\r\n\r\n console.log(`📊 [CandleAggregation] Aggregated ${oneMinuteCandles.length} 1m candles into ${aggregatedCandles.length} ${this.getTimeframeLabel(targetTimeframe)} candles`);\r\n\r\n return aggregatedCandles;\r\n\r\n } catch (error) {\r\n console.error('❌ [CandleAggregation] Error aggregating candles:', error);\r\n return [];\r\n }\r\n }\r\n\r\n /**\r\n * Aggregate a group of candles into a single candle\r\n */\r\n private aggregateGroup(candles: CandleData[], time: number): CandleData {\r\n // Sort by time to ensure proper OHLC calculation\r\n const sorted = [...candles].sort((a, b) => a.time - b.time);\r\n\r\n // Calculate OHLC\r\n const open = sorted[0].open;\r\n const close = sorted[sorted.length - 1].close;\r\n const high = Math.max(...sorted.map(c => c.high));\r\n const low = Math.min(...sorted.map(c => c.low));\r\n const volume = sorted.reduce((sum, c) => sum + (c.volume || 0), 0);\r\n\r\n return {\r\n time,\r\n open,\r\n high,\r\n low,\r\n close,\r\n volume\r\n };\r\n }\r\n\r\n /**\r\n * Get human-readable timeframe label\r\n */\r\n getTimeframeLabel(seconds: number): string {\r\n for (const [label, value] of Object.entries(this.timeframes)) {\r\n if (value === seconds) {\r\n return label;\r\n }\r\n }\r\n return `${seconds}s`;\r\n }\r\n\r\n /**\r\n * Get timeframe in seconds from label\r\n */\r\n getTimeframeSeconds(label: string): number {\r\n return this.timeframes[label] || 60;\r\n }\r\n\r\n /**\r\n * Fill gaps in candles with flat candles (same OHLC)\r\n * This ensures continuous chart rendering\r\n */\r\n fillGaps(candles: CandleData[], timeframe: number): CandleData[] {\r\n try {\r\n if (!Array.isArray(candles) || candles.length < 2) {\r\n return candles;\r\n }\r\n\r\n const sorted = [...candles].sort((a, b) => a.time - b.time);\r\n const filled: CandleData[] = [];\r\n\r\n for (let i = 0; i < sorted.length - 1; i++) {\r\n const current = sorted[i];\r\n const next = sorted[i + 1];\r\n\r\n filled.push(current);\r\n\r\n // Check for gap\r\n const expectedNextTime = current.time + timeframe;\r\n let currentTime = expectedNextTime;\r\n\r\n while (currentTime < next.time) {\r\n // Fill gap with flat candle using last known price\r\n filled.push({\r\n time: currentTime,\r\n open: current.close,\r\n high: current.close,\r\n low: current.close,\r\n close: current.close,\r\n volume: 0\r\n });\r\n\r\n currentTime += timeframe;\r\n }\r\n }\r\n\r\n // Add last candle\r\n filled.push(sorted[sorted.length - 1]);\r\n\r\n if (filled.length > sorted.length) {\r\n console.log(`🔧 [CandleAggregation] Filled ${filled.length - sorted.length} gaps in ${this.getTimeframeLabel(timeframe)} candles`);\r\n }\r\n\r\n return filled;\r\n\r\n } catch (error) {\r\n console.error('❌ [CandleAggregation] Error filling gaps:', error);\r\n return candles;\r\n }\r\n }\r\n\r\n /**\r\n * Get the current incomplete candle for a timeframe\r\n * This is used for real-time updates\r\n */\r\n getCurrentCandle(oneMinuteCandles: CandleData[], targetTimeframe: number): CandleData | null {\r\n try {\r\n if (!Array.isArray(oneMinuteCandles) || oneMinuteCandles.length === 0) {\r\n return null;\r\n }\r\n\r\n const now = Math.floor(Date.now() / 1000);\r\n const currentBucket = Math.floor(now / targetTimeframe) * targetTimeframe;\r\n\r\n // Get all candles in the current bucket\r\n const currentGroup = oneMinuteCandles.filter(c => {\r\n const bucket = Math.floor(c.time / targetTimeframe) * targetTimeframe;\r\n return bucket === currentBucket;\r\n });\r\n\r\n if (currentGroup.length === 0) {\r\n return null;\r\n }\r\n\r\n return this.aggregateGroup(currentGroup, currentBucket);\r\n\r\n } catch (error) {\r\n console.error('❌ [CandleAggregation] Error getting current candle:', error);\r\n return null;\r\n }\r\n }\r\n\r\n /**\r\n * Update real-time candle with new 1-minute candle\r\n * Returns updated array of aggregated candles\r\n */\r\n updateRealtimeCandle(\r\n aggregatedCandles: CandleData[],\r\n newOneMinuteCandle: CandleData,\r\n targetTimeframe: number\r\n ): CandleData[] {\r\n try {\r\n if (!newOneMinuteCandle) {\r\n return aggregatedCandles;\r\n }\r\n\r\n // Calculate which bucket this 1m candle belongs to\r\n const bucketTime = Math.floor(newOneMinuteCandle.time / targetTimeframe) * targetTimeframe;\r\n\r\n // Find if we already have a candle for this bucket\r\n const existingIndex = aggregatedCandles.findIndex(c => c.time === bucketTime);\r\n\r\n if (existingIndex >= 0) {\r\n // Update existing candle\r\n const existing = aggregatedCandles[existingIndex];\r\n const updated: CandleData = {\r\n time: bucketTime,\r\n open: existing.open, // Keep original open\r\n high: Math.max(existing.high, newOneMinuteCandle.high),\r\n low: Math.min(existing.low, newOneMinuteCandle.low),\r\n close: newOneMinuteCandle.close, // Use latest close\r\n volume: existing.volume + (newOneMinuteCandle.volume || 0)\r\n };\r\n\r\n // Replace the candle\r\n const newCandles = [...aggregatedCandles];\r\n newCandles[existingIndex] = updated;\r\n return newCandles;\r\n } else {\r\n // Add new candle\r\n const newCandle: CandleData = {\r\n time: bucketTime,\r\n open: newOneMinuteCandle.open,\r\n high: newOneMinuteCandle.high,\r\n low: newOneMinuteCandle.low,\r\n close: newOneMinuteCandle.close,\r\n volume: newOneMinuteCandle.volume || 0\r\n };\r\n\r\n return [...aggregatedCandles, newCandle].sort((a, b) => a.time - b.time);\r\n }\r\n\r\n } catch (error) {\r\n console.error('❌ [CandleAggregation] Error updating realtime candle:', error);\r\n return aggregatedCandles;\r\n }\r\n }\r\n\r\n /**\r\n * Validate candle data structure\r\n */\r\n isValidCandle(candle: any): candle is CandleData {\r\n return (\r\n candle &&\r\n typeof candle.time === 'number' &&\r\n typeof candle.open === 'number' &&\r\n typeof candle.high === 'number' &&\r\n typeof candle.low === 'number' &&\r\n typeof candle.close === 'number' &&\r\n candle.high >= candle.low &&\r\n candle.high >= candle.open &&\r\n candle.high >= candle.close &&\r\n candle.low <= candle.open &&\r\n candle.low <= candle.close\r\n );\r\n }\r\n\r\n /**\r\n * Clean invalid candles from array\r\n */\r\n cleanCandles(candles: CandleData[]): CandleData[] {\r\n if (!Array.isArray(candles)) {\r\n return [];\r\n }\r\n\r\n const cleaned = candles.filter(c => this.isValidCandle(c));\r\n\r\n if (cleaned.length < candles.length) {\r\n console.warn(`⚠️ [CandleAggregation] Removed ${candles.length - cleaned.length} invalid candles`);\r\n }\r\n\r\n return cleaned;\r\n }\r\n\r\n /**\r\n * Get the minimum number of 1-minute candles needed for a timeframe\r\n */\r\n getRequiredOneMinuteCandles(targetTimeframe: number, targetCount: number = 200): number {\r\n const ratio = targetTimeframe / 60; // How many 1m candles per target candle\r\n return Math.ceil(targetCount * ratio);\r\n }\r\n}\r\n\r\n// Singleton instance\r\nexport const candleAggregation = new CandleAggregation();\r\n\r\n","\"use client\";\r\n\r\nimport React, { useEffect, useRef, useState, useCallback, useMemo } from 'react';\r\nimport { createChart, IChartApi, ISeriesApi, CrosshairMode, Time } from 'lightweight-charts';\r\nimport { useSocket } from '../hooks/useSocket';\r\nimport { useOptimizedTokenAnalytics } from '../hooks/useOptimizedTokenAnalytics';\r\nimport { candleStorageService } from '../services/candleStorage';\r\nimport { candleAggregation } from '../utils/candleAggregation';\r\n\r\n// Types\r\ninterface CandleData {\r\n time: number; // Store as number for easier manipulation\r\n open: number;\r\n high: number;\r\n low: number;\r\n close: number;\r\n volume: number;\r\n}\r\n\r\ninterface TimeFrame {\r\n label: string;\r\n value: string;\r\n seconds: number;\r\n}\r\n\r\nexport interface ChartProps {\r\n mint: string;\r\n ticker?: string;\r\n tokenName?: string;\r\n // Optional: Pass external socket for real-time updates\r\n socket?: any;\r\n isConnected?: boolean;\r\n // Optional: Pass external analytics/market data\r\n currentMarketCap?: number;\r\n analyticsConnected?: boolean;\r\n analyticsLoading?: boolean;\r\n}\r\n\r\n// Funhi Chart - Professional real-time trading chart component\r\nconst FunhiChart: React.FC<ChartProps> = ({ \r\n mint, \r\n ticker, \r\n tokenName,\r\n socket: externalSocket,\r\n isConnected: externalIsConnected,\r\n currentMarketCap: externalMarketCap,\r\n analyticsConnected: externalAnalyticsConnected,\r\n analyticsLoading: externalAnalyticsLoading\r\n}) => {\r\n // Refs\r\n const chartContainerRef = useRef<HTMLDivElement>(null);\r\n const chartRef = useRef<IChartApi | null>(null);\r\n const seriesRef = useRef<ISeriesApi<\"Candlestick\"> | null>(null);\r\n \r\n // State\r\n const [chartData, setChartData] = useState<CandleData[]>([]); // Displayed candles (aggregated if needed)\r\n const [oneMinuteCandles, setOneMinuteCandles] = useState<CandleData[]>([]); // Source 1m candles\r\n const [currentMarketCap, setCurrentMarketCap] = useState<number>(0);\r\n const [loading, setLoading] = useState<boolean>(true);\r\n const [error, setError] = useState<string | null>(null);\r\n \r\n // CRITICAL: Frontend candle generation with validation (like working ProfessionalTradingChartRedux)\r\n // This prevents outlier candles by using the same validation logic as the working frontend code\r\n \r\n // Socket - use external if provided, otherwise use internal hook\r\n const internalSocketData = useSocket();\r\n const socket = externalSocket || internalSocketData.socket;\r\n const isConnected = externalIsConnected !== undefined ? externalIsConnected : internalSocketData.isConnected;\r\n \r\n // Real-time analytics data for market cap - use external if provided, otherwise use internal hook\r\n const internalAnalytics = useOptimizedTokenAnalytics(mint);\r\n const realTimeMarketCap = externalMarketCap !== undefined ? externalMarketCap : internalAnalytics.currentMarketCap;\r\n const analyticsConnected = externalAnalyticsConnected !== undefined ? externalAnalyticsConnected : internalAnalytics.connected;\r\n const analyticsLoading = externalAnalyticsLoading !== undefined ? externalAnalyticsLoading : internalAnalytics.loading;\r\n \r\n // Time frames - ALL ENABLED\r\n const timeFrames: TimeFrame[] = useMemo(() => [\r\n { label: '1m', value: '1m', seconds: 60 },\r\n { label: '5m', value: '5m', seconds: 300 },\r\n { label: '15m', value: '15m', seconds: 900 },\r\n { label: '1h', value: '1h', seconds: 3600 },\r\n { label: '4h', value: '4h', seconds: 14400 },\r\n { label: '1d', value: '1d', seconds: 86400 }\r\n ], []);\r\n \r\n const [currentTimeFrame, setCurrentTimeFrame] = useState<TimeFrame>(timeFrames[0]);\r\n \r\n // Format large numbers for Y-axis (6000 -> 6K, 1000000 -> 1M)\r\n const formatMarketCap = useCallback((value: number): string => {\r\n if (value >= 1_000_000_000) {\r\n // Billions: show 2-3 decimal places\r\n return `$${(value / 1_000_000_000).toFixed(value >= 10_000_000_000 ? 2 : 3)}B`;\r\n } else if (value >= 1_000_000) {\r\n // Millions: show 2-3 decimal places\r\n return `$${(value / 1_000_000).toFixed(value >= 10_000_000 ? 2 : 3)}M`;\r\n } else if (value >= 10_000) {\r\n // Thousands (10K+): show 1-2 decimal places\r\n return `$${(value / 1_000).toFixed(value >= 100_000 ? 1 : 2)}K`;\r\n } else if (value >= 1_000) {\r\n // Thousands (1K-10K): show 2 decimal places for precision\r\n return `$${(value / 1_000).toFixed(2)}K`;\r\n } else if (value >= 1) {\r\n // Less than 1K: show full value with 2 decimals\r\n return `$${value.toFixed(2)}`;\r\n }\r\n // Very small values: show up to 4 decimal places\r\n return `$${value.toFixed(4)}`;\r\n }, []);\r\n\r\n // Function to fill gaps in candle data\r\n const fillGapsInCandles = useCallback((candles: CandleData[]): CandleData[] => {\r\n if (candles.length < 2) return candles;\r\n \r\n const sortedCandles = [...candles].sort((a, b) => a.time - b.time);\r\n const filledCandles: CandleData[] = [];\r\n \r\n for (let i = 0; i < sortedCandles.length - 1; i++) {\r\n const currentCandle = sortedCandles[i];\r\n const nextCandle = sortedCandles[i + 1];\r\n \r\n filledCandles.push(currentCandle);\r\n \r\n // Check for gaps between current and next candle\r\n const timeDiff = nextCandle.time - currentCandle.time;\r\n const expectedMinutes = timeDiff / 60;\r\n \r\n // If there's a gap of more than 1 minute, fill it\r\n if (expectedMinutes > 1.5) { // Allow some tolerance for timing\r\n const gapMinutes = Math.floor(expectedMinutes) - 1;\r\n const lastKnownPrice = currentCandle.close;\r\n \r\n for (let j = 1; j <= gapMinutes; j++) {\r\n const gapMinute = currentCandle.time + (j * 60);\r\n filledCandles.push({\r\n time: gapMinute,\r\n open: lastKnownPrice,\r\n high: lastKnownPrice,\r\n low: lastKnownPrice,\r\n close: lastKnownPrice,\r\n volume: 0\r\n });\r\n }\r\n }\r\n }\r\n \r\n // Add the last candle\r\n filledCandles.push(sortedCandles[sortedCandles.length - 1]);\r\n \r\n return filledCandles;\r\n }, []);\r\n \r\n // Load candles from database with retry logic\r\n const loadCandlesFromDatabase = useCallback(async (mint: string, timeFrame: number, retryCount = 0, limit = 50000): Promise<CandleData[]> => {\r\n const MAX_RETRIES = 2;\r\n const RETRY_DELAY = 1000; // 1 second\r\n \r\n try {\r\n console.log(`📊 [Chart] Loading candles from database for ${mint} (timeframe: ${timeFrame}s, limit: ${limit})${retryCount > 0 ? ` (retry ${retryCount})` : ''}`);\r\n \r\n const candles = await candleStorageService.getCandles({\r\n mint,\r\n timeFrame: timeFrame, // Use current timeframe\r\n limit: limit\r\n });\r\n \r\n console.log(`✅ [Chart] Loaded ${candles.length} candles from database for ${mint} (timeframe: ${timeFrame}s)`);\r\n return candles;\r\n } catch (error: any) {\r\n console.error(`❌ [Chart] Error loading candles from database (attempt ${retryCount + 1}):`, error);\r\n \r\n // Retry logic for network errors or timeouts\r\n if (retryCount < MAX_RETRIES && (error.code === 'ECONNABORTED' || error.code === 'ENOTFOUND' || error.message?.includes('timeout'))) {\r\n console.log(`🔄 [Chart] Retrying candle load in ${RETRY_DELAY}ms...`);\r\n await new Promise(resolve => setTimeout(resolve, RETRY_DELAY));\r\n return loadCandlesFromDatabase(mint, timeFrame, retryCount, limit);\r\n }\r\n \r\n // Return empty array if all retries failed or non-retryable error\r\n return [];\r\n }\r\n }, []);\r\n \r\n // Save candles to database and emit to other clients\r\n const saveCandlesToDatabase = useCallback((mint: string, candles: CandleData[]) => {\r\n try {\r\n // Use batch save for multiple candles\r\n if (candles.length > 0) {\r\n candleStorageService.saveCandles({\r\n mint,\r\n candles,\r\n timeFrame: 60 // 1 minute in seconds\r\n });\r\n console.log(`💾 [FunhiChart] Queued ${candles.length} candles for database save`);\r\n \r\n // CRITICAL: Emit completed candles to other clients via socket\r\n if (socket && isConnected) {\r\n candles.forEach(candle => {\r\n socket.emit('storeCompletedCandle', {\r\n mint,\r\n timeframe: 60,\r\n candle\r\n });\r\n console.log(`📡 [FunhiChart] Emitted completed candle to other clients: ${new Date(candle.time * 1000).toLocaleTimeString()}`);\r\n });\r\n }\r\n }\r\n } catch (error) {\r\n console.error('❌ [FunhiChart] Error saving candles to database:', error);\r\n }\r\n }, [socket, isConnected]);\r\n \r\n // CRITICAL: Function to create proper 1-minute candles from real-time data (with validation)\r\n const createOrUpdateMinuteCandle = useCallback((price: number, timestamp: number) => {\r\n // ✅ FRONTEND VALIDATION: Validate price data (like working frontend)\r\n if (!price || !Number.isFinite(price) || price <= 0) {\r\n console.warn(`⚠️ [FunhiChart] Invalid price for ${mint}: ${price}, skipping candle update`);\r\n return null;\r\n }\r\n \r\n // ✅ FRONTEND VALIDATION: Check for extreme outliers (like working frontend)\r\n const currentMinuteCandle = currentMinuteCandleRef.current;\r\n if (currentMinuteCandle && currentMinuteCandle.close > 0) {\r\n const priceChange = Math.abs(price - currentMinuteCandle.close) / currentMinuteCandle.close;\r\n if (priceChange > 5) { // More than 500% change (like working frontend)\r\n console.warn(`⚠️ [FunhiChart] Extreme price change detected for ${mint}: ${(priceChange * 100).toFixed(1)}% (${currentMinuteCandle.close} -> ${price}), using last known price`);\r\n // Use last known price instead of rejecting (like working frontend)\r\n price = currentMinuteCandle.close;\r\n }\r\n }\r\n \r\n // ✅ FRONTEND VALIDATION: Check for reasonable price range (like working frontend)\r\n if (price < 0.01 || price > 10000000000) { // $0.01 to $10B (like working frontend)\r\n console.warn(`⚠️ [FunhiChart] Price out of reasonable range for ${mint}: $${price}, using last known price`);\r\n if (currentMinuteCandle && currentMinuteCandle.close > 0) {\r\n price = currentMinuteCandle.close;\r\n } else {\r\n return null; // No fallback available\r\n }\r\n }\r\n \r\n const currentChartDataLength = chartDataLengthRef.current;\r\n const currentLastCandleTime = lastCandleTimeRef.current;\r\n const currentTime = Math.floor(timestamp / 1000);\r\n const minuteStart = Math.floor(currentTime / 60) * 60;\r\n \r\n // If this is a new minute, create a new candle\r\n if (minuteStart !== currentLastCandleTime) {\r\n // If we have a previous candle, add it to 1-minute candles (will trigger aggregation)\r\n if (currentMinuteCandle) {\r\n setOneMinuteCandles(prev => {\r\n const newData = [...prev, currentMinuteCandle];\r\n \r\n // Keep only last 1000 1-minute candles for performance (enough for all timeframes)\r\n if (newData.length > 1000) {\r\n newData.splice(0, newData.length - 1000);\r\n }\r\n \r\n // Save to database\r\n saveCandlesToDatabase(mint, [currentMinuteCandle]);\r\n \r\n return newData;\r\n });\r\n }\r\n \r\n // Create new candle for current minute\r\n const newCandle: CandleData = {\r\n time: minuteStart,\r\n open: price,\r\n high: price,\r\n low: price,\r\n close: price,\r\n volume: 0\r\n };\r\n \r\n setCurrentMinuteCandle(newCandle);\r\n setLastCandleTime(minuteStart);\r\n lastCandleTimeRef.current = minuteStart;\r\n currentMinuteCandleRef.current = newCandle;\r\n \r\n // Add to 1-minute candles for first candle\r\n if (currentChartDataLength === 0) {\r\n setOneMinuteCandles([newCandle]);\r\n saveCandlesToDatabase(mint, [newCandle]);\r\n }\r\n \r\n return newCandle;\r\n } else {\r\n // Update existing candle for current minute\r\n if (currentMinuteCandle) {\r\n const updatedCandle: CandleData = {\r\n ...currentMinuteCandle,\r\n high: Math.max(currentMinuteCandle.high, price),\r\n low: Math.min(currentMinuteCandle.low, price),\r\n close: price\r\n };\r\n \r\n setCurrentMinuteCandle(updatedCandle);\r\n currentMinuteCandleRef.current = updatedCandle;\r\n \r\n // Update the 1-minute candle in the array (will trigger aggregation)\r\n setOneMinuteCandles(prev => {\r\n const filtered = prev.filter(c => c.time !== updatedCandle.time);\r\n return [...filtered, updatedCandle].sort((a, b) => a.time - b.time);\r\n });\r\n \r\n return updatedCandle;\r\n } else {\r\n // Fallback: Create a new candle if none exists\r\n const fallbackCandle: CandleData = {\r\n time: minuteStart,\r\n open: price,\r\n high: price,\r\n low: price,\r\n close: price,\r\n volume: 0\r\n };\r\n \r\n setCurrentMinuteCandle(fallbackCandle);\r\n setLastCandleTime(minuteStart);\r\n lastCandleTimeRef.current = minuteStart;\r\n currentMinuteCandleRef.current = fallbackCandle;\r\n \r\n // Add to 1-minute candles (will trigger aggregation)\r\n setOneMinuteCandles(prev => {\r\n const candlesToStore = currentChartDataLength === 0 ? [fallbackCandle] : [...prev, fallbackCandle];\r\n return candlesToStore.sort((a, b) => a.time - b.time);\r\n });\r\n \r\n return fallbackCandle;\r\n }\r\n }\r\n \r\n return null;\r\n }, [mint, saveCandlesToDatabase]);\r\n \r\n // CRITICAL: Add state for current minute candle aggregation (like working frontend)\r\n const [currentMinuteCandle, setCurrentMinuteCandle] = useState<CandleData | null>(null);\r\n const [lastCandleTime, setLastCandleTime] = useState<number>(0);\r\n \r\n // Use ref to track current chart data length for the callback\r\n const chartDataLengthRef = useRef<number>(0);\r\n \r\n // Use ref to track current lastCandleTime for the callback\r\n const lastCandleTimeRef = useRef<number>(0);\r\n \r\n // Use ref to track current minute candle for the callback\r\n const currentMinuteCandleRef = useRef<CandleData | null>(null);\r\n \r\n // Timer to force new candle every minute\r\n const minuteTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\r\n \r\n // Refs to track current values for the timer function\r\n const currentMarketCapRef = useRef<number>(0);\r\n const chartDataRef = useRef<CandleData[]>([]);\r\n const lastProcessedTimestampRef = useRef<number>(0);\r\n const isInitializedRef = useRef<boolean>(false);\r\n \r\n // Update refs when state changes\r\n useEffect(() => {\r\n chartDataLengthRef.current = chartData.length;\r\n }, [chartData]);\r\n \r\n useEffect(() => {\r\n lastCandleTimeRef.current = lastCandleTime;\r\n }, [lastCandleTime]);\r\n \r\n useEffect(() => {\r\n currentMinuteCandleRef.current = currentMinuteCandle;\r\n }, [currentMinuteCandle]);\r\n \r\n useEffect(() => {\r\n currentMarketCapRef.current = currentMarketCap;\r\n }, [currentMarketCap]);\r\n \r\n useEffect(() => {\r\n chartDataRef.current = chartData;\r\n }, [chartData]);\r\n \r\n // Real-time market cap updates from useOptimizedTokenAnalytics\r\n useEffect(() => {\r\n if (!mint || !seriesRef.current || realTimeMarketCap <= 0) return;\r\n \r\n console.log(`💰 [FunhiChart] Processing real-time market cap update: $${realTimeMarketCap} for ${mint} (${currentTimeFrame.label})`);\r\n \r\n const timestamp = Date.now();\r\n \r\n // CRITICAL: Always create 1-minute candles (source of truth)\r\n // Then aggregate to current timeframe for display\r\n const oneMinuteCandle = createOrUpdateMinuteCandle(realTimeMarketCap, timestamp);\r\n \r\n if (oneMinuteCandle) {\r\n // Update state with market cap\r\n setCurrentMarketCap(realTimeMarketCap);\r\n setLoading(false);\r\n \r\n // If we're viewing a timeframe other than 1m, we need to aggregate\r\n if (currentTimeFrame.seconds !== 60) {\r\n // Get all current 1-minute candles and aggregate them\r\n // This happens automatically when chartData updates\r\n console.log(`🔄 [FunhiChart] Real-time update for ${currentTimeFrame.label} will be aggregated from 1m candles`);\r\n }\r\n \r\n // Scroll to real-time\r\n if (chartRef.current) {\r\n chartRef.current.timeScale().scrollToRealTime();\r\n }\r\n }\r\n }, [mint, realTimeMarketCap, createOrUpdateMinuteCandle, currentTimeFrame]);\r\n \r\n // Initialize chart\r\n useEffect(() => {\r\n if (!chartContainerRef.current) return;\r\n \r\n // Create chart\r\n const chart = createChart(chartContainerRef.current, {\r\n layout: {\r\n background: { color: '#ffffff' },\r\n textColor: '#333333',\r\n },\r\n grid: {\r\n vertLines: { color: '#f0f0f0' },\r\n horzLines: { color: '#f0f0f0' },\r\n },\r\n crosshair: {\r\n mode: CrosshairMode.Normal,\r\n },\r\n rightPriceScale: {\r\n borderColor: '#cccccc',\r\n },\r\n timeScale: {\r\n borderColor: '#cccccc',\r\n timeVisible: true,\r\n secondsVisible: false,\r\n rightOffset: 12,\r\n barSpacing: 8,\r\n minBarSpacing: 4,\r\n },\r\n height: 384,\r\n localization: {\r\n priceFormatter: (price: number) => formatMarketCap(price),\r\n },\r\n watermark: {\r\n visible: true,\r\n fontSize: 64,\r\n horzAlign: 'center',\r\n vertAlign: 'center',\r\n color: 'rgba(0, 0, 0, 0.03)',\r\n text: ticker ? `${ticker}/SOL` : `${mint.substring(0, 4)}...${mint.substring(mint.length - 4)}/SOL`,\r\n },\r\n });\r\n \r\n chartRef.current = chart;\r\n \r\n // Add candlestick series\r\n const series = chart.addCandlestickSeries({\r\n upColor: '#26a69a',\r\n downColor: '#ef5350',\r\n borderVisible: true,\r\n borderUpColor: '#26a69a',\r\n borderDownColor: '#ef5350',\r\n wickUpColor: '#26a69a',\r\n wickDownColor: '#ef5350',\r\n });\r\n \r\n seriesRef.current = series;\r\n \r\n // CRITICAL: Always load enough 1-minute candles for the current timeframe\r\n // For larger timeframes, we need many more 1m candles to aggregate\r\n const targetCandleCount = 50000; // We want 50000 candles of the current timeframe\r\n const requiredOneMinuteCandles = currentTimeFrame.seconds === 60 ? targetCandleCount : \r\n candleAggregation.getRequiredOneMinuteCandles(currentTimeFrame.seconds, targetCandleCount);\r\n \r\n console.log(`📊 [Chart Init] Loading ${requiredOneMinuteCandles} 1m candles to create ${targetCandleCount} ${currentTimeFrame.label} candles`);\r\n \r\n loadCandlesFromDatabase(mint, 60, 0, requiredOneMinuteCandles).then(existingCandles => {\r\n if (existingCandles.length > 0) {\r\n // Ensure no duplicate timestamps exist\r\n const uniqueCandles = existingCandles.reduce((acc, candle) => {\r\n const existingIndex = acc.findIndex(c => c.time === candle.time);\r\n if (existingIndex >= 0) {\r\n acc[existingIndex] = candle;\r\n } else {\r\n acc.push(candle);\r\n }\r\n return acc;\r\n }, [] as CandleData[]);\r\n \r\n const sortedCandles = uniqueCandles.sort((a, b) => a.time - b.time);\r\n \r\n // Final filtering to ensure no consecutive duplicates\r\n const finalCandles = sortedCandles.filter((candle, index, array) => {\r\n if (index === 0) return true;\r\n return candle.time !== array[index - 1].time;\r\n });\r\n \r\n // Store 1-minute candles (will trigger aggregation effect)\r\n setOneMinuteCandles(finalCandles);\r\n console.log(`✅ [Chart] Loaded ${finalCandles.length} 1m candles from database (will aggregate to ${currentTimeFrame.label})`);\r\n \r\n // CRITICAL: Fill gaps in loaded data immediately\r\n const filledCandles = fillGapsInCandles(finalCandles);\r\n if (filledCandles.length > finalCandles.length) {\r\n console.log(`🔧 [Chart] Filled ${filledCandles.length - finalCandles.length} gaps in loaded data`);\r\n setChartData(filledCandles);\r\n series.setData(filledCandles.map(candle => ({\r\n ...candle,\r\n time: candle.time as Time\r\n })));\r\n }\r\n\r\n // CRITICAL: Request any missing recent candles from other clients\r\n if (socket && isConnected) {\r\n const latestCandleTime = filledCandles[filledCandles.length - 1]?.time || 0;\r\n const currentTime = Math.floor(Date.now() / 1000);\r\n const minutesSinceLastCandle = Math.floor((currentTime - latestCandleTime) / 60);\r\n \r\n if (minutesSinceLastCandle > 0 && minutesSinceLastCandle < 10) {\r\n console.log(`🔍 [Chart] Requesting ${minutesSinceLastCandle} missing recent candles from other clients`);\r\n socket.emit('requestRecentCandles', {\r\n mint,\r\n timeframe: 60,\r\n since: latestCandleTime\r\n });\r\n }\r\n \r\n // CRITICAL: Always request current minute candle from other clients\r\n console.log(`🔍 [Chart] Requesting current minute candle from other clients`);\r\n socket.emit('requestCurrentCandle', {\r\n mint,\r\n timeframe: 60\r\n });\r\n }\r\n \r\n // CRITICAL: Create current minute candle immediately if we don't have one\r\n const currentTime = Math.floor(Date.now() / 1000);\r\n const currentMinute = Math.floor(currentTime / 60) * 60;\r\n const hasCurrentMinuteCandle = filledCandles.some(c => c.time === currentMinute);\r\n \r\n if (!hasCurrentMinuteCandle) {\r\n console.log(`🕯️ [Chart] Creating current minute candle immediately after refresh`);\r\n \r\n // Get last known price from the most recent candle\r\n const lastKnownPrice = filledCandles.length > 0 ? \r\n filledCandles[filledCandles.length - 1].close : \r\n (realTimeMarketCap || 0);\r\n \r\n if (lastKnownPrice > 0) {\r\n const currentCandle: CandleData = {\r\n time: currentMinute,\r\n open: lastKnownPrice,\r\n high: lastKnownPrice,\r\n low: lastKnownPrice,\r\n close: lastKnownPrice,\r\n volume: 0\r\n };\r\n \r\n // NOTE: Backend will create and send current minute candle\r\n // Frontend just displays it when received via WebSocket\r\n console.log(`✅ [FunhiChart] Waiting for current minute candle from backend...`);\r\n }\r\n }\r\n } else {\r\n console.log(`ℹ️ [Chart] No existing candles found in database for ${mint}, waiting for real-time data`);\r\n }\r\n // CRITICAL FIX: Always set loading to false, even if no candles found\r\n setLoading(false);\r\n }).catch(error => {\r\n console.error('❌ [Chart] Error loading candles from database:', error);\r\n setLoading(false);\r\n });\r\n \r\n // Handle resize\r\n const handleResize = () => {\r\n if (chartContainerRef.current) {\r\n chart.applyOptions({ \r\n width: chartContainerRef.current.clientWidth \r\n });\r\n }\r\n };\r\n \r\n window.addEventListener('resize', handleResize);\r\n handleResize();\r\n \r\n return () => {\r\n window.removeEventListener('resize', handleResize);\r\n chart.remove();\r\n };\r\n }, [mint, loadCandlesFromDatabase, formatMarketCap, currentTimeFrame]);\r\n \r\n // Handle time frame changes\r\n const handleTimeFrameChange = useCallback(async (timeFrameValue: string) => {\r\n const newTimeFrame = timeFrames.find(tf => tf.value === timeFrameValue);\r\n if (newTimeFrame && newTimeFrame.value !== currentTimeFrame.value) {\r\n console.log(`🔄 [Chart] Switching timeframe from ${currentTimeFrame.label} to ${newTimeFrame.label}`);\r\n \r\n setCurrentTimeFrame(newTimeFrame);\r\n setLoading(true);\r\n \r\n // Clear current chart data temporarily\r\n setChartData([]);\r\n if (seriesRef.current) {\r\n seriesRef.current.setData([]);\r\n }\r\n \r\n try {\r\n // Check if we need more 1-minute candles for the new timeframe\r\n const targetCandleCount = 50000; // We want 50000 candles in the new timeframe\r\n const requiredOneMinuteCandles = newTimeFrame.seconds === 60 ? targetCandleCount : \r\n candleAggregation.getRequiredOneMinuteCandles(newTimeFrame.seconds, targetCandleCount);\r\n \r\n console.log(`🔄 [Chart] Switching to ${newTimeFrame.label}: need ${requiredOneMinuteCandles} 1m candles, have ${oneMinuteCandles.length}`);\r\n \r\n // Always reload to ensure we have enough data for the new timeframe\r\n if (oneMinuteCandles.length < requiredOneMinuteCandles) {\r\n console.log(`📊 [Chart] Loading ${requiredOneMinuteCandles} 1m candles to create ${targetCandleCount} ${newTimeFrame.label} candles`);\r\n \r\n // Load more 1-minute candles\r\n const candles = await loadCandlesFromDatabase(mint, 60, 0, requiredOneMinuteCandles);\r\n \r\n if (candles.length > 0) {\r\n setOneMinuteCandles(candles); // This will trigger aggregation automatically\r\n console.log(`✅ [Chart] Loaded ${candles.length} 1m candles, will create ~${Math.floor(candles.length * 60 / newTimeFrame.seconds)} ${newTimeFrame.label} candles`);\r\n } else {\r\n console.log(`⚠️ [Chart] No candles loaded, using existing ${oneMinuteCandles.length} 1m candles`);\r\n }\r\n } else {\r\n console.log(`✅ [Chart] Already have enough 1m candles (${oneMinuteCandles.length}), re-aggregating to ${newTimeFrame.label}`);\r\n // Re-aggregation will happen automatically when currentTimeFrame changes\r\n }\r\n } catch (error) {\r\n console.error(`❌ [Chart] Error switching to ${newTimeFrame.label}:`, error);\r\n } finally {\r\n setLoading(false);\r\n }\r\n }\r\n }, [timeFrames, currentTimeFrame, mint, loadCandlesFromDatabase, oneMinuteCandles]);\r\n \r\n // Real-time market cap updates from useOptimizedTokenAnalytics\r\n useEffect(() => {\r\n if (!mint || !seriesRef.current || realTimeMarketCap <= 0) return;\r\n \r\n console.log(`💰 [FunhiChart] Processing real-time market cap update: $${realTimeMarketCap} for ${mint} (${currentTimeFrame.label})`);\r\n \r\n const timestamp = Date.now();\r\n \r\n // CRITICAL: Always create 1-minute candles (source of truth) with frontend validation\r\n // Then aggregate to current timeframe for display\r\n const oneMinuteCandle = createOrUpdateMinuteCandle(realTimeMarketCap, timestamp);\r\n \r\n if (oneMinuteCandle) {\r\n // Update state with market cap\r\n setCurrentMarketCap(realTimeMarketCap);\r\n setLoading(false);\r\n \r\n // If we're viewing a timeframe other than 1m, we need to aggregate\r\n if (currentTimeFrame.seconds !== 60) {\r\n // Get all current 1-minute candles and aggregate them\r\n // This happens automatically when chartData updates\r\n console.log(`🔄 [FunhiChart] Real-time update for ${currentTimeFrame.label} will be aggregated from 1m candles`);\r\n }\r\n \r\n // Scroll to real-time\r\n if (chartRef.current) {\r\n chartRef.current.timeScale().scrollToRealTime();\r\n }\r\n }\r\n }, [mint, realTimeMarketCap, createOrUpdateMinuteCandle, currentTimeFrame]);\r\n\r\n // Listen for candles from the backend\r\n useEffect(() => {\r\n if (!socket || !isConnected || !mint) return;\r\n\r\n // Handle current candle updates from backend (with frontend validation)\r\n const handleCurrentCandleUpdate = (data: { mint: string; timeframe: number; candle: CandleData }) => {\r\n if (data.mint !== mint || data.timeframe !== 60) return;\r\n \r\n console.log(`🕯️ [FunhiChart] Received current candle update from backend:`, data.candle);\r\n \r\n // ✅ FRONTEND VALIDATION: Validate backend candle data (like working frontend)\r\n if (!data.candle || !Number.isFinite(data.candle.close) || data.candle.close <= 0) {\r\n console.warn(`⚠️ [FunhiChart] Invalid candle data from backend for ${mint}, skipping`);\r\n return;\r\n }\r\n \r\n // ✅ FRONTEND VALIDATION: Check for extreme outliers (like working frontend)\r\n const currentMinuteCandle = currentMinuteCandleRef.current;\r\n if (currentMinuteCandle && currentMinuteCandle.close > 0) {\r\n const priceChange = Math.abs(data.candle.close - currentMinuteCandle.close) / currentMinuteCandle.close;\r\n if (priceChange > 5) { // More than 500% change (like working frontend)\r\n console.warn(`⚠️ [FunhiChart] Extreme price change in backend data for ${mint}: ${(priceChange * 100).toFixed(1)}% (${currentMinuteCandle.close} -> ${data.candle.close}), using last known price`);\r\n // Use last known price instead of backend data (like working frontend)\r\n data.candle = {\r\n ...data.candle,\r\n open: currentMinuteCandle.close,\r\n high: currentMinuteCandle.close,\r\n low: currentMinuteCandle.close,\r\n close: currentMinuteCandle.close\r\n };\r\n }\r\n }\r\n \r\n // ✅ FRONTEND VALIDATION: Check for reasonable price range (like working frontend)\r\n if (data.candle.close < 0.01 || data.candle.close > 10000000000) { // $0.01 to $10B (like working frontend)\r\n console.warn(`⚠️ [FunhiChart] Price out of reasonable range in backend data for ${mint}: $${data.candle.close}, using last known price`);\r\n if (currentMinuteCandle && currentMinuteCandle.close > 0) {\r\n data.candle = {\r\n ...data.candle,\r\n open: currentMinuteCandle.close,\r\n high: currentMinuteCandle.close,\r\n low: currentMinuteCandle.close,\r\n close: currentMinuteCandle.close\r\n };\r\n } else {\r\n return; // No fallback available\r\n }\r\n }\r\n \r\n // CRITICAL: Update oneMinuteCandles - this will trigger aggregateAndUpdateChart\r\n // Don't use seriesRef.current.update() as it conflicts with setData()\r\n setOneMinuteCandles(prev => {\r\n const existing = [...prev];\r\n \r\n // Find existing candle with same time\r\n const existingIndex = existing.findIndex(c => c.time === data.candle.time);\r\n \r\n if (existingIndex >= 0) {\r\n // Update existing candle at that position\r\n existing[existingIndex] = data.candle;\r\n console.log(`🔄 [FunhiChart] Updated existing candle at time ${new Date(data.candle.time * 1000).toLocaleTimeString()}`);\r\n } else {\r\n // Add new candle and sort\r\n existing.push(data.candle);\r\n existing.sort((a, b) => a.time - b.time);\r\n console.log(`🆕 [FunhiChart] Added new candle at time ${new Date(data.candle.time * 1000).toLocaleTimeString()}`);\r\n }\r\n \r\n return existing;\r\n });\r\n };\r\n\r\n const handleCandleFromOtherClient = (data: any) => {\r\n if (data.mint === mint && data.candle) {\r\n console.log(`📡 [FunhiChart] Received completed candle from backend: ${new Date(data.candle.time * 1000).toLocaleTimeString()}`);\r\n \r\n // CRITICAL: Add to oneMinuteCandles first (source of truth)\r\n setOneMinuteCandles(prev => {\r\n const existingCandle = prev.find(c => c.time === data.candle.time);\r\n if (existingCandle) {\r\n console.log(`⏭️ [FunhiChart] Skipping duplicate candle`);\r\n return prev;\r\n }\r\n \r\n const newData = [...prev, data.candle].sort((a, b) => a.time - b.time);\r\n console.log(`✅ [FunhiChart] Added completed candle to oneMinuteCandles: ${data.candle.time}`);\r\n return newData;\r\n });\r\n }\r\n };\r\n\r\n const handleRecentCandlesResponse = (data: any) => {\r\n if (data.mint === mint && data.candles && Array.isArray(data.candles)) {\r\n console.log(`📡 [FunhiChart] Received ${data.candles.length} recent candles from backend`);\r\n \r\n setOneMinuteCandles(prev => {\r\n const newCandles = data.candles.filter((newCandle: CandleData) => \r\n !prev.some(existing => existing.time === newCandle.time)\r\n );\r\n \r\n if (newCandles.length > 0) {\r\n const updatedData = [...prev, ...newCandles].sort((a, b) => a.time - b.time);\r\n console.log(`✅ [FunhiChart] Added ${newCandles.length} missing candles to oneMinuteCandles`);\r\n return updatedData;\r\n }\r\n \r\n return prev;\r\n });\r\n }\r\n };\r\n\r\n\r\n // Listen for candles from backend\r\n socket.on('ohlcv:update', handleCandleFromOtherClient);\r\n socket.on('recentCandlesResponse', handleRecentCandlesResponse);\r\n socket.on('currentCandleUpdate', handleCurrentCandleUpdate);\r\n \r\n return () => {\r\n socket.off('ohlcv:update', handleCandleFromOtherClient);\r\n socket.off('recentCandlesResponse', handleRecentCandlesResponse);\r\n socket.off('currentCandleUpdate', handleCurrentCandleUpdate);\r\n };\r\n }, [socket, isConnected, mint]);\r\n\r\n // NOTE: Timer and periodic sync removed - backend handles all candle generation and saving\r\n // The frontend now ONLY receives and displays candles from the backend\r\n \r\n // Function to aggregate and update chart display\r\n const aggregateAndUpdateChart = useCallback(() => {\r\n if (!seriesRef.current || oneMinuteCandles.length === 0) return;\r\n \r\n try {\r\n let displayCandles: CandleData[] = [];\r\n \r\n if (currentTimeFrame.seconds === 60) {\r\n // Display 1-minute candles as-is, limit to 50000\r\n displayCandles = oneMinuteCandles.slice(-50000);\r\n console.log(`📊 [Chart] Displaying ${displayCandles.length} 1m candles (from ${oneMinuteCandles.length} available)`);\r\n } else {\r\n // Aggregate to current timeframe\r\n displayCandles = candleAggregation.aggregateCandles(oneMinuteCandles, currentTimeFrame.seconds);\r\n \r\n console.log(`📊 [Chart] Aggregated ${oneMinuteCandles.length} 1m candles into ${displayCandles.length} ${currentTimeFrame.label} candles BEFORE processing`);\r\n \r\n // CRITICAL FIX: Only show completed candles for larger timeframes\r\n // The current incomplete candle updates in real-time\r\n const now = Math.floor(Date.now() / 1000);\r\n const currentBucket = Math.floor(now / currentTimeFrame.seconds) * currentTimeFrame.seconds;\r\n \r\n // Check if the last candle is the current incomplete bucket\r\n if (displayCandles.length > 0) {\r\n const lastCandle = displayCandles[displayCandles.length - 1];\r\n \r\n if (lastCandle.time === currentBucket) {\r\n // This is the current candle - it updates as 1m candles come in\r\n const currentPeriodCandles = oneMinuteCandles.filter(c => {\r\n const bucket = Math.floor(c.time / currentTimeFrame.seconds) * currentTimeFrame.seconds;\r\n return bucket === currentBucket;\r\n });\r\n \r\n if (currentPeriodCandles.length > 0) {\r\n console.log(`🕯️ [Chart] Showing incomplete ${currentTimeFrame.label} candle with ${currentPeriodCandles.length} 1m candles`);\r\n } else {\r\n // No data yet for this period, remove the candle\r\n displayCandles = displayCandles.slice(0, -1);\r\n console.log(`⏭️ [Chart] Hiding incomplete ${currentTimeFrame.label} candle (no data yet)`);\r\n }\r\n }\r\n }\r\n \r\n // Fill gaps for smooth charting\r\n displayCandles = candleAggregation.fillGaps(displayCandles, currentTimeFrame.seconds);\r\n \r\n // CRITICAL: Limit to last 50000 candles for performance\r\n if (displayCandles.length > 50000) {\r\n displayCandles = displayCandles.slice(-50000);\r\n console.log(`✂️ [Chart] Trimmed to last 50000 ${currentTimeFrame.label} candles`);\r\n }\r\n \r\n console.log(`📊 [Chart] Final display: ${displayCandles.length} ${currentTimeFrame.label} candles`);\r\n }\r\n \r\n // Update chart display\r\n setChartData(displayCandles);\r\n seriesRef.current.setData(displayCandles.map(candle => ({\r\n ...candle,\r\n time: candle.time as Time\r\n })));\r\n \r\n // Scroll to real-time\r\n if (chartRef.current) {\r\n chartRef.current.timeScale().scrollToRealTime();\r\n }\r\n \r\n } catch (error) {\r\n console.error('❌ [Chart] Error aggregating candles:', error);\r\n }\r\n }, [oneMinuteCandles, currentTimeFrame]);\r\n\r\n // Function to force a new candle every minute (like working frontend)\r\n const forceNewMinuteCandle = useCallback(() => {\r\n const now = Math.floor(Date.now() / 1000);\r\n const currentMinute = Math.floor(now / 60) * 60;\r\n const lastCandleTime = lastCandleTimeRef.current;\r\n \r\n // CRITICAL FIX: Only create new candle if we're moving to a NEW minute\r\n // Prevent duplicate candles for the same minute\r\n if (currentMinute === lastCandleTime) {\r\n console.log(`⏭️ [FunhiChart] Skipping - already have candle for minute ${new Date(currentMinute * 1000).toLocaleTimeString()}`);\r\n return;\r\n }\r\n \r\n // CRITICAL FIX: Don't create candles for past minutes on refresh\r\n // Only create candles for current or future minutes\r\n const secondsIntoCurrentMinute = now % 60;\r\n if (secondsIntoCurrentMinute > 30) {\r\n // If we're more than 30 seconds into the current minute, \r\n // we should have already created this candle\r\n console.log(`⏭️ [FunhiChart] Skipping - too late in current minute (${secondsIntoCurrentMinute}s), should have candle already`);\r\n return;\r\n }\r\n \r\n const currentMarketCapValue = currentMarketCapRef.current;\r\n const currentCandle = currentMinuteCandleRef.current;\r\n const currentChartData = chartDataRef.current;\r\n \r\n // Get last known price from previous candle or use current market cap\r\n const lastKnownPrice = currentCandle?.close || \r\n (currentChartData.length > 0 ? currentChartData[currentChartData.length - 1].close : null) || \r\n currentMarketCapValue;\r\n \r\n // CRITICAL FIX: Don't create candles with 0 values - use last known price\r\n if (!lastKnownPrice || lastKnownPrice === 0) {\r\n console.log(`⚠️ [FunhiChart] No price data available for new candle at ${new Date(currentMinute * 1000).toLocaleTimeString()}`);\r\n return;\r\n }\r\n \r\n // Finalize the previous candle if it exists and hasn't been added to chart yet\r\n if (currentCandle && currentCandle.time < currentMinute) {\r\n // CRITICAL FIX: Don't finalize candles that are too recent (less than 1 minute old)\r\n const candleAge = now - currentCandle.time;\r\n if (candleAge < 60) {\r\n console.log(`⏭️ [FunhiChart] Skipping finalization - candle too recent (${candleAge}s old)`);\r\n } else {\r\n console.log(`✅ [FunhiChart] Finalizing candle for ${new Date(currentCandle.time * 1000).toLocaleTimeString()} with close: $${currentCandle.close.toFixed(2)}`);\r\n \r\n // Make sure the previous candle is in the 1-minute candles\r\n setOneMinuteCandles(prev => {\r\n const hasCurrentCandle = prev.some(c => c.time === currentCandle.time);\r\n if (!hasCurrentCandle) {\r\n const updatedData = [...prev, currentCandle].sort((a, b) => a.time - b.time);\r\n \r\n // Save the finalized candle to database\r\n saveCandlesToDatabase(mint, [currentCandle]);\r\n \r\n return updatedData;\r\n }\r\n return prev;\r\n });\r\n }\r\n }\r\n \r\n // CRITICAL FIX: Fill any gaps between last candle and current minute\r\n // This prevents gaps when price updates are sparse\r\n if (lastCandleTime > 0 && currentMinute - lastCandleTime > 60) {\r\n const gapMinutes = Math.floor((currentMinute - lastCandleTime) / 60) - 1;\r\n console.log(`🔧 [FunhiChart] Filling ${gapMinutes} minute gap(s) between candles`);\r\n \r\n const gapCandles: CandleData[] = [];\r\n for (let i = 1; i <= gapMinutes; i++) {\r\n const gapMinute = lastCandleTime + (i * 60);\r\n gapCandles.push({\r\n time: gapMinute,\r\n open: lastKnownPrice,\r\n high: lastKnownPrice,\r\n low: lastKnownPrice,\r\n close: lastKnownPrice,\r\n volume: 0\r\n });\r\n }\r\n \r\n if (gapCandles.length > 0) {\r\n setOneMinuteCandles(prev => {\r\n const updatedData = [...prev, ...gapCandles].sort((a, b) => a.time - b.time);\r\n \r\n // Save gap candles to database and emit to other clients\r\n saveCandlesToDatabase(mint, gapCandles);\r\n \r\n return updatedData;\r\n });\r\n }\r\n }\r\n \r\n // Create new candle for the current minute using last known price\r\n const newCandle: CandleData = {\r\n time: currentMinute,\r\n open: currentMarketCapValue || lastKnownPrice,\r\n high: currentMarketCapValue || lastKnownPrice,\r\n low: currentMarketCapValue || lastKnownPrice,\r\n close: currentMarketCapValue || lastKnownPrice,\r\n volume: 0\r\n };\r\n \r\n console.log(`🕯️ [FunhiChart] Creating new candle for ${new Date(currentMinute * 1000).toLocaleTimeString()} with price: $${newCandle.open.toFixed(2)}`);\r\n \r\n setCurrentMinuteCandle(newCandle);\r\n setLastCandleTime(currentMinute);\r\n lastCandleTimeRef.current = currentMinute;\r\n currentMinuteCandleRef.current = newCandle;\r\n \r\n // Add new candle to 1-minute candles (will trigger aggregation)\r\n setOneMinuteCandles(prev => {\r\n const newData = [...prev, newCandle];\r\n \r\n // Remove duplicates and sort\r\n const uniqueData = newData.reduce((acc, candle) => {\r\n const existingIndex = acc.findIndex(c => c.time === candle.time);\r\n if (existingIndex >= 0) {\r\n acc[existingIndex] = candle;\r\n } else {\r\n acc.push(candle);\r\n }\r\n return acc;\r\n }, [] as CandleData[]);\r\n \r\n return uniqueData.sort((a, b) => a.time - b.time);\r\n });\r\n }, [mint, saveCandlesToDatabase]);\r\n \r\n // Set up timer to force new candle every minute (like working frontend)\r\n useEffect(() => {\r\n if (!mint) return;\r\n \r\n // CRITICAL FIX: Add delay to ensure chart is fully loaded before starting timer\r\n const setupTimer = () => {\r\n // Calculate delay to next minute boundary for precise timing\r\n const now = Math.floor(Date.now() / 1000);\r\n const secondsToNextMinute = 60 - (now % 60);\r\n const delayMs = secondsToNextMinute * 1000;\r\n \r\n console.log(`⏱️ [FunhiChart] Setting up minute timer, next candle in ${secondsToNextMinute} seconds`);\r\n \r\n // CRITICAL FIX: Don't run forceNewMinuteCandle immediately on refresh\r\n // Only set up the timer to run at the next minute boundary\r\n const initialTimeout = setTimeout(() => {\r\n console.log(`🕯️ [FunhiChart] Minute boundary reached, creating new candle`);\r\n forceNewMinuteCandle();\r\n \r\n // Then start regular 60-second interval\r\n minuteTimerRef.current = setInterval(() => {\r\n console.log(`🕯️ [FunhiChart] Regular minute timer triggered`);\r\n forceNewMinuteCandle();\r\n }, 60000);\r\n }, delayMs);\r\n \r\n return initialTimeout;\r\n };\r\n \r\n // Wait 2 seconds before setting up timer to ensure chart is loaded\r\n const setupDelay = setTimeout(() => {\r\n const initialTimeout = setupTimer();\r\n \r\n // Store the timeout reference for cleanup\r\n minuteTimerRef.current = initialTimeout as any;\r\n }, 2000);\r\n \r\n return () => {\r\n // Clear setup delay\r\n clearTimeout(setupDelay);\r\n \r\n // Clear timer if it was set\r\n if (minuteTimerRef.current) {\r\n if (typeof minuteTimerRef.current === 'number') {\r\n clearTimeout(minuteTimerRef.current);\r\n } else {\r\n clearInterval(minuteTimerRef.current);\r\n }\r\n minuteTimerRef.current = null;\r\n }\r\n };\r\n }, [mint, forceNewMinuteCandle]);\r\n\r\n // CRITICAL: Update chart whenever 1-minute candles or timeframe changes\r\n useEffect(() => {\r\n if (!seriesRef.current || oneMinuteCandles.length === 0) return;\r\n \r\n // Always aggregate and update - the aggregation logic handles timeframe-specific behavior\r\n aggregateAndUpdateChart();\r\n \r\n }, [oneMinuteCandles, currentTimeFrame, aggregateAndUpdateChart]);\r\n \r\n // Loading timeout effect\r\n useEffect(() => {\r\n if ((loading || analyticsLoading) && !chartData.length) {\r\n const timeout = setTimeout(() => {\r\n setLoading(false);\r\n }, 10000); // 10 seconds\r\n \r\n return () => clearTimeout(timeout);\r\n }\r\n }, [loading, analyticsLoading, chartData.length]);\r\n \r\n\r\n \r\n if (error) {\r\n return (\r\n <div className=\"p-4 bg-red-50 border border-red-200 rounded-lg\">\r\n <div className=\"text-red-800 font-medium\">Chart Error</div>\r\n <div className=\"text-red-600 text-sm\">{error}</div>\r\n <button \r\n onClick={() => setError(null)}\r\n className=\"mt-2 px-3 py-1 bg-red-100 text-red-700 rounded text-sm hover:bg-red-200\"\r\n >\r\n Dismiss\r\n </button>\r\n </div>\r\n );\r\n }\r\n \r\n return (\r\n <div className=\"w-full\">\r\n {/* Time Frame Selector and Controls */}\r\n <div className=\"mb-4 flex flex-wrap gap-2 items-center\">\r\n <div className=\"flex flex-wrap gap-2\">\r\n {timeFrames.map((tf) => (\r\n <button\r\n key={tf.value}\r\n onClick={() => handleTimeFrameChange(tf.value)}\r\n className={`\r\n px-3 py-2 rounded-lg text-sm font-medium transition-colors\r\n ${currentTimeFrame.value === tf.value\r\n ? 'bg-blue-600 text-white'\r\n : 'bg-gray-100 text-gray-700 hover:bg-gray-200'\r\n }\r\n `}\r\n >\r\n {tf.label}\r\n </button>\r\n ))}\r\n </div>\r\n \r\n\r\n \r\n {/* Status */}\r\n <div className=\"ml-auto flex items-center gap-2 text-sm\">\r\n <div className={`w-2 h-2 rounded-full ${analyticsConnected ? 'bg-green-500' : 'bg-red-500'}`}></div>\r\n <span className={analyticsConnected ? 'text-green-600' : 'text-red-600'}>\r\n {analyticsConnected ? 'Connected' : 'Disconnected'}\r\n </span>\r\n {(loading || analyticsLoading) && <span className=\"text-blue-600\">• Loading...</span>}\r\n {chartData.length > 0 && (\r\n <span className=\"text-green-600\">• {chartData.length} candles • {formatMarketCap(currentMarketCap)}</span>\r\n )}\r\n </div>\r\n </div>\r\n \r\n {/* Chart Container */}\r\n <div ref={chartContainerRef} className=\"relative w-full h-96\">\r\n {/* Loading Overlay */}\r\n {(loading || analyticsLoading) && (\r\n <div className=\"absolute inset-0 bg-white bg-opacity-75 flex items-center justify-center rounded-lg z-10\">\r\n <div className=\"text-center\">\r\n <div className=\"animate-spin rounded-full h-8 w-8 border-b-2 border-blue-600 mx-auto mb-2\"></div>\r\n <div className=\"text-gray-600\">Loading real-time data...</div>\r\n\r\n </div>\r\n </div>\r\n )}\r\n \r\n {/* No Data State */}\r\n {!loading && !analyticsLoading && chartData.length === 0 && (\r\n <div className=\"absolute inset-0 bg-white bg-opacity-75 flex items-center justify-center rounded-lg z-10\">\r\n <div className=\"text-center\">\r\n <div className=\"text-gray-600 mb-2\">No market data available</div>\r\n <div className=\"text-sm text-gray-500\">Waiting for real-time data...</div>\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n \r\n\r\n </div>\r\n );\r\n};\r\n\r\nexport default FunhiChart;\r\n\r\n"],"names":["size","_a","width","height","Error","equalSizes","first","second","Observable","win","_this","this","_resolutionListener","_onResolutionChanged","_resolutionMediaQueryList","_observers","_window","_installResolutionListener","prototype","dispose","_uninstallResolutionListener","Object","defineProperty","get","devicePixelRatio","enumerable","configurable","subscribe","next","observer","push","unsubscribe","filter","o","dppx","matchMedia","concat","addListener","removeListener","_reinstallResolutionListener","forEach","DevicePixelContentBoxBinding","canvasElement","transformBitmapSize","options","_canvasElement","_bitmapSizeChangedListeners","_suggestedBitmapSize","_suggestedBitmapSizeChangedListeners","_devicePixelRatioObservable","_canvasElementResizeObserver","_canvasElementClientSize","clientWidth","clientHeight","_transformBitmapSize","_allowResizeObserver","allowResizeObserver","_chooseAndInitObserver","_b","disconnect","length","resizeCanvasElement","clientSize","style","_invalidateBitmapSize","subscribeBitmapSizeChanged","listener","unsubscribeBitmapSizeChanged","l","subscribeSuggestedBitmapSizeChanged","unsubscribeSuggestedBitmapSizeChanged","applySuggestedBitmapSize","oldSuggestedSize","_resizeBitmap","_emitSuggestedBitmapSizeChanged","newSize","oldSize","bitmapSize","_emitBitmapSizeChanged","call","_suggestNewBitmapSize","finalNewSize","newSuggestedSize","Promise","resolve","ro","ResizeObserver","entries","every","entry","observe","document","body","box","catch","then","isSupported","_initResizeObserver","_initDevicePixelRatioObservable","canvasElementWindow","createDevicePixelRatioObservable","ratio","value","canvasRects","getClientRects","undefined","canvasRect","Math","round","left","top","predictedBitmapSize","find","target","devicePixelContentBoxSize","entrySize","inlineSize","blockSize","ownerDocument","defaultView","CanvasRenderingTarget2D","context","mediaSize","TypeError","_mediaSize","_bitmapSize","_context","useMediaCoordinateSpace","f","save","setTransform","scale","_horizontalPixelRatio","_verticalPixelRatio","restore","useBitmapCoordinateSpace","horizontalPixelRatio","verticalPixelRatio","tryCreateCanvasRenderingTarget2D","binding","contextOptions","canvasElementClientSize","getContext","e","upColor","downColor","wickVisible","borderVisible","borderColor","borderUpColor","borderDownColor","wickColor","wickUpColor","wickDownColor","r","openVisible","thinBars","h","color","lineStyle","lineWidth","lineType","lineVisible","crosshairMarkerVisible","crosshairMarkerRadius","crosshairMarkerBorderColor","crosshairMarkerBorderWidth","crosshairMarkerBackgroundColor","lastPriceAnimation","pointMarkersVisible","topColor","bottomColor","invertFilledArea","lineColor","a","baseValue","type","price","topFillColor1","topFillColor2","topLineColor","bottomFillColor1","bottomFillColor2","bottomLineColor","base","_","u","title","visible","lastValueVisible","priceLineVisible","priceLineSource","priceLineWidth","priceLineColor","priceLineStyle","baseLineVisible","baseLineWidth","baseLineColor","baseLineStyle","priceFormat","precision","minMove","c","d","t","i","n","setLineDash","v","s","beginPath","moveTo","lineTo","stroke","p","m","b","w","Simple","WithSteps","Curved","Solid","Dotted","Dashed","LargeDashed","SparseDotted","g","khaki","azure","aliceblue","ghostwhite","gold","goldenrod","gainsboro","gray","green","honeydew","floralwhite","lightblue","lightcoral","lemonchiffon","hotpink","lightyellow","greenyellow","lightgoldenrodyellow","limegreen","linen","lightcyan","magenta","maroon","olive","orange","oldlace","mediumblue","transparent","lime","lightpink","mistyrose","moccasin","midnightblue","orchid","mediumorchid","mediumturquoise","orangered","royalblue","powderblue","red","coral","turquoise","white","whitesmoke","wheat","teal","steelblue","bisque","aquamarine","aqua","sienna","silver","springgreen","antiquewhite","burlywood","brown","beige","chocolate","chartreuse","cornflowerblue","cornsilk","crimson","cadetblue","tomato","fuchsia","blue","salmon","blanchedalmond","slateblue","slategray","thistle","tan","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","blueviolet","black","darkmagenta","darkslateblue","darkkhaki","darkorchid","darkorange","darkgreen","darkred","dodgerblue","darkslategray","dimgray","deepskyblue","firebrick","forestgreen","indigo","ivory","lavenderblush","feldspar","indianred","lightgreen","lightgrey","lightskyblue","lightslategray","lightslateblue","snow","lightseagreen","lightsalmon","darksalmon","darkviolet","mediumpurple","mediumaquamarine","skyblue","lavender","lightsteelblue","mediumvioletred","mintcream","navajowhite","navy","olivedrab","palevioletred","violetred","yellow","yellowgreen","lawngreen","pink","paleturquoise","palegoldenrod","darkolivegreen","darkseagreen","darkturquoise","peachpuff","deeppink","violet","palegreen","mediumseagreen","peru","saddlebrown","sandybrown","rosybrown","purple","seagreen","seashell","papayawhip","mediumslateblue","plum","mediumspringgreen","M","x","min","max","S","k","y","C","T","toLowerCase","exec","parseInt","parseFloat","P","R","D","constructor","findIndex","splice","V","hasOwnProperty","includes","Array","isArray","O","isFinite","B","A","I","z","L","E","N","F","W","NaN","j","H","$","U","layout","textColor","q","fontSize","fontFamily","Y","Z","X","K","super","arguments","G","J","tt","floor","to","from","it","nt","st","arc","PI","fill","et","fillStyle","rt","ht","lt","ot","_t","ut","ct","dt","ft","vt","bt","wt","map","gt","Mt","mode","xt","St","kt","yt","Ct","Tt","Pt","Dt","Rt","Vt","Ot","Bt","At","It","zt","Lt","Et","lineCap","strokeStyle","Nt","Ft","Wt","jt","Ht","$t","crosshair","Ut","qt","horzLine","vertLine","Yt","Zt","fillRect","globalCompositeOperation","roundRect","arcTo","Q","closePath","createLinearGradient","addColorStop","Xt","Kt","font","Gt","Jt","Qt","ti","ii","ni","si","ei","ri","hi","li","ai","oi","_i","ui","ci","di","textAlign","textBaseline","fillText","fi","pi","mi","bi","wi","gi","Mi","ceil","xi","Si","ki","yi","Ci","Ti","Pi","Ri","Di","Vi","Oi","Bi","Ai","ticksVisible","Ii","zi","Li","Ei","labelVisible","Ni","labelBackgroundColor","Fi","Wi","ji","Hi","abs","translate","$i","Ui","qi","Yi","Zi","Xi","Ki","Gi","Ji","Qi","at","Normal","Magnet","Hidden","tn","nn","sn","en","rn","Map","hn","ln","an","_n","un","cn","dn","fn","vn","pn","mn","Number","bn","wn","gn","Mn","xn","Sn","kn","yn","Cn","Tn","Pn","Rn","clear","Dn","Vn","On","Bn","isNaN","In","An","set","zn","Ln","En","Nn","Fn","Wn","jn","Hn","$n","Un","qn","Yn","Zn","Xn","Kn","Gn","Jn","Qn","ts","ns","ss","es","toString","slice","rs","hs","format","ls","_s","toFixed","pt","us","cs","pow","replace","String","mt","bezierCurveTo","ds","fs","vs","ps","lineJoin","bs","bind","ws","gs","Ms","xs","Ss","ks","ys","Cs","Ts","Ps","Rs","Ds","Vs","Os","Bs","As","Is","zs","Ls","Es","Ns","Fs","Ws","js","Hs","assign","Us","$s","qs","Ys","Zs","Xs","Ks","Gs","Js","Qs","te","ie","ne","se","ee","re","he","le","pointMarkersRadius","ae","oe","_e","ue","ce","de","fe","ve","pe","me","be","we","ge","Me","xe","Se","ke","ye","Ce","Te","Pe","Re","De","Ve","Oe","atan","Be","Ae","Ie","ze","Le","Ee","Ne","Fe","draw","renderer","We","priceValueBuilder","je","isWhitespace","He","$e","update","bars","barSpacing","visibleRange","time","originalData","barColor","Ue","qe","Ye","Ze","Xe","Ke","Ge","Je","Qe","tr","ir","nr","sr","actualBoundingBoxAscent","actualBoundingBoxDescent","has","er","delete","measureText","rr","hr","lr","ar","_r","ur","cr","dr","vr","pr","mr","br","wr","gr","Mr","Sr","kr","yr","Cr","Tr","Pr","Rr","Dr","Vr","Or","Br","Ar","Ir","zr","Lr","Er","Nr","Fr","performance","now","Wr","jr","Hr","$r","Ur","qr","Yr","Zr","Xr","Kr","Gr","vi","Jr","Qr","th","ih","nh","sqrt","position","sh","eh","rh","hh","ah","oh","_h","uh","dh","fh","above","aboveBar","inBar","below","belowBar","reduce","shape","id","text","ph","mh","bh","seriesLastValueMode","wh","gh","Mh","xh","Sh","trim","kh","yh","Ch","Th","Ph","Rh","Dh","Vh","Oh","Bh","minValue","maxValue","Ah","Ih","zh","Lh","Eh","priceRange","margins","Nh","Fh","axisLabelVisible","Wh","axisLabelColor","axisLabelTextColor","jh","Hh","$h","Uh","qh","Yh","Zh","Bar","Candlestick","Xh","Custom","Area","Baseline","Line","Histogram","Kh","Gh","Jh","Qh","NearestLeft","None","NearestRight","tl","il","nl","sl","el","rl","hl","ll","al","ol","_l","ul","cl","dl","fl","vl","pl","ml","bl","wl","gl","drawBackground","Ml","xl","Sl","zOrder","coordinate","fixedCoordinate","backColor","tickVisible","kl","yl","Cl","Tl","Pl","Rl","Dl","Vl","Ol","updateAllViews","paneViews","timeAxisViews","priceAxisViews","Bl","priceAxisPaneViews","Al","timeAxisPaneViews","Il","autoscaleInfo","hitTest","zl","Ll","El","Nl","Fl","Wl","jl","Hl","$l","Ul","ql","clearTimeout","Yl","Zl","priceScaleId","Xl","Kl","Gl","Jl","Ql","ta","ia","na","sa","ea","ra","indexOf","ha","la","aa","setTimeout","oa","unshift","ua","ca","da","fa","va","autoscaleInfoProvider","pa","ma","ba","wa","ga","Ma","xa","Sa","ka","ya","Ca","Ta","Pa","formatter","Ra","Da","Va","originalTime","Oa","Ba","sort","Aa","Ia","za","La","Ea","Na","Fa","Wa","ja","grid","horzLines","vertLines","Ha","coord","$a","Ua","log10","on","qa","Ya","Za","Xa","Ka","Ga","Ja","Qa","io","entireTextOnly","no","so","eo","Logarithmic","Percentage","IndexedTo100","ho","lo","ao","oo","_o","uo","co","do","fo","vo","po","mo","bo","wo","Mo","xo","So","ko","yo","Co","To","Po","Ro","scaleMargins","bottom","Do","Vo","autoScale","Oo","Bo","invertScale","Ao","Io","zo","Lo","Eo","No","Fo","Wo","jo","Ho","$o","Uo","qo","Yo","Zo","Xo","Ko","Go","Jo","Qo","t_","i_","n_","s_","e_","r_","h_","l_","a_","priceFormatter","percentageFormatter","o_","__","u_","c_","d_","f_","v_","leftPriceScale","p_","rightPriceScale","m_","b_","localization","overlayPriceScales","values","w_","g_","M_","x_","S_","k_","C_","y_","T_","P_","R_","D_","V_","O_","B_","A_","I_","z_","L_","E_","N_","F_","W_","j_","H_","U_","q_","Y_","cacheKey","Z_","X_","K_","G_","J_","Q_","tu","iu","nu","timeWeight","index","weight","su","eu","ru","keys","hu","lu","au","ou","_u","uu","cu","du","fu","vu","pu","mu","bu","wu","gu","Mu","xu","rightOffset","Su","ku","uniformDistribution","yu","Cu","fixLeftEdge","Tu","fixRightEdge","Pu","minBarSpacing","key","Ru","Du","Vu","Ou","Bu","Au","Iu","lockVisibleTimeRangeOnResize","zu","Lu","Eu","Nu","Fu","Wu","ju","Hu","tickMarkMaxCharacterLength","$u","label","Uu","needAlignCoordinate","qu","Yu","Zu","rightBarStaysOnScroll","Xu","Ku","Gu","Ju","RangeError","Qu","tc","nc","sc","ec","rc","hc","lc","timeFormatter","formatHorzItem","handleScroll","handleScale","horzTouchDrag","mouseWheel","pressedMouseMove","vertTouchDrag","axisDoubleClickReset","axisPressedMouseMove","pinch","ac","oc","_c","uc","cc","dc","fc","formatTickmark","updateFormatter","vc","mc","bc","wc","gc","Mc","xc","Sc","kc","horzAlign","vertAlign","fontStyle","OnTouchEnd","OnNextTap","yc","Cc","Tc","Pc","Rc","Dc","Vc","Oc","timeScale","Bc","Ac","watermark","Ic","zc","Lc","Ec","Nc","Fc","Wc","jc","Hc","$c","Uc","qc","Yc","Zc","Xc","Kc","Gc","Jc","Qc","td","nd","sd","ed","rd","hd","ld","ad","od","_d","allowShiftVisibleRangeOnWhitespaceReplacement","shiftVisibleRangeOnNewBar","ud","dd","fd","vd","pd","md","bd","wd","background","Disabled","Continuous","OnDataUpdate","LastBar","LastVisible","VerticalGradient","Year","Month","DayOfMonth","Time","TimeWithSeconds","getUTCFullYear","gd","Md","Date","getUTCMonth","toLocaleString","month","getUTCDate","xd","getUTCHours","getUTCMinutes","getUTCSeconds","Sd","kd","yd","Cd","Td","Pd","Rd","Dd","Vd","getTime","UTC","year","day","Od","Bd","is","setOptions","preprocessData","createConverterToInternalObj","convertHorzItemToInternal","dateFormat","timeVisible","Ad","secondsVisible","locale","tickMarkFormatter","hour12","hour","minute","getUTCMilliseconds","maxTickMarkWeight","fillWeightsForPoints","Id","window","navigator","userAgent","test","platform","zd","sign","as","Ld","Ed","Nd","Fd","Wd","jd","Hd","$d","Ud","qd","Yd","log","Zd","os","Xd","Kd","Gd","Jd","Qd","tf","removeChild","nf","sf","ef","attributionLogo","rf","URL","location","href","hostname","pathname","if","createElement","innerText","innerHTML","toggleAttribute","appendChild","transform","clearRect","hf","lf","af","NEGATIVE_INFINITY","POSITIVE_INFINITY","_f","uf","cf","df","ff","vf","pf","mf","bf","wf","gf","Mf","xf","Sf","kf","yf","Cf","Tf","Pf","Rf","Df","Vf","Of","Bf","Af","If","zf","Lf","Ef","Nf","Ff","Wf","Hf","jf","$f","Uf","qf","Yf","Zf","Xf","Kf","Gf","Jf","removeEventListener","addEventListener","Qf","tv","iv","changedTouches","nv","sv","ev","rv","hv","lv","button","av","ov","touches","_v","uv","documentElement","cv","dv","fv","identifier","passive","vv","pv","mv","bv","wv","composed","contains","composedPath","gv","chrome","preventDefault","Mv","xv","Sv","kv","yv","ms","Cv","Tv","getBoundingClientRect","clientX","clientY","Pv","Rv","sourceCapabilities","firesTouchEvents","pageX","pageY","screenX","screenY","localX","localY","ctrlKey","altKey","shiftKey","metaKey","Dv","startsWith","Vv","Ov","Bv","view","Av","cancelable","timeStamp","Iv","zv","externalId","Lv","cursorStyle","Ev","Nv","Fv","Wv","jv","Hv","$v","Uv","qv","Yv","Zv","Xv","Kv","overflow","Gv","zIndex","Jv","Qv","tp","ip","np","sp","ep","rp","hp","lp","ap","op","_p","up","cp","dp","fp","vp","pp","mp","bp","wp","gp","Mp","xp","Sp","drawImage","kp","rect","alignLabels","yp","cursor","Cp","Tp","Pp","Rp","Dp","Vp","Op","Bp","Ap","Ip","zp","Lp","Ep","Np","Fp","Wp","padding","jp","Hp","$p","Up","qp","Yp","Zp","Xp","Kp","Gp","Jp","Qp","tm","im","nm","sm","rm","hm","lm","am","trackingMode","exitMode","om","isBackground","_m","um","dm","fm","vm","pm","bm","wm","gm","Mm","xm","Sm","km","activeElement","blur","getSelection","removeAllRanges","kineticScroll","ym","Cm","touch","mouse","Tm","Pm","Rm","Dm","Vm","Om","Bm","Am","Im","zm","Lm","Em","Nm","Fm","Wm","jm","Hm","$m","Um","qm","Ym","allowBoldLabels","Zm","userAgentData","brands","some","brand","Xm","Km","Gm","Jm","Qm","tb","ib","nb","classList","add","direction","userSelect","webkitUserSelect","msUserSelect","MozUserSelect","webkitTapHighlightColor","sb","setAttribute","eb","rb","hb","lb","ab","autoSize","ob","ub","cb","fb","cancelAnimationFrame","parentElement","pb","mb","bb","wb","gb","Mb","xb","Sb","kb","yb","setProperty","removeProperty","Cb","Tb","Pb","minimumWidth","minimumHeight","Rb","deltaMode","DOM_DELTA_PAGE","DOM_DELTA_LINE","deltaX","deltaY","Db","Vb","Ob","requestAnimationFrame","pop","Bb","Ab","insertBefore","Ib","zb","Lb","Eb","Nb","Fb","Wb","display","contentRect","Boolean","getOwnPropertySymbols","propertyIsEnumerable","open","high","low","close","customValues","jb","Hb","$b","Ub","qb","Yb","Zb","Xb","Kb","pointData","Gb","Jb","Qb","tw","iw","nw","sw","ew","rw","hw","lw","language","aw","ow","applyOptions","_w","uw","cw","dw","fw","priceToCoordinate","coordinateToPrice","barsInLogicalRange","barsBefore","barsAfter","setData","pw","mw","bw","dataByIndex","seriesType","data","subscribeDataChanged","unsubscribeDataChanged","setMarkers","markers","priceScale","createPriceLine","removePriceLine","attachPrimitive","attached","chart","series","requestUpdate","detachPrimitive","detached","ww","gw","Mw","xw","scrollPosition","scrollToPosition","scrollToRealTime","getVisibleRange","setVisibleRange","getVisibleLogicalRange","setVisibleLogicalRange","resetTimeScale","fitContent","logicalToCoordinate","coordinateToLogical","timeToCoordinate","coordinateToTime","subscribeVisibleTimeRangeChange","unsubscribeVisibleTimeRangeChange","subscribeVisibleLogicalRangeChange","unsubscribeVisibleLogicalRangeChange","subscribeSizeChange","unsubscribeSizeChange","Sw","kw","yw","Cw","Tw","Pw","Rw","Dw","remove","resize","autoSizeActive","addCustomSeries","defaultOptions","Vw","addAreaSeries","addBaselineSeries","addBarSeries","addCandlestickSeries","addHistogramSeries","addLineSeries","removeSeries","Ow","subscribeClick","unsubscribeClick","subscribeCrosshairMove","unsubscribeCrosshairMove","subscribeDblClick","unsubscribeDblClick","takeScreenshot","chartElement","paneSize","setCrosshairPosition","clearCrosshairPosition","Bw","logical","point","hoveredSeries","hoveredObjectId","seriesData","sourceEvent","getElementById","useSocket","socketInstance","socket","useState","isConnected","setIsConnected","isConnecting","setIsConnecting","useEffect","handleConnect","console","handleDisconnect","handleConnectError","error","connected","off","connect","useCallback","subscribeToOHLCV","mint","timeFrame","onInitialData","onUpdate","onNewCandle","warn","emit","unsubscribeFromOHLCV","subscribeToPrice","onPriceUpdate","unsubscribeFromPrice","testConnection","message","timestamp","once","response","useOptimizedTokenAnalytics","analyticsData","analytics","setAnalytics","loading","setLoading","setError","lastUpdate","setLastUpdate","setConnected","derivedValues","useMemo","market","currentPrice","currentMarketCap","currentVolume","performance24h","isPositive","raw","performance7d","performance1m","performanceAllTime","high24h","low24h","volume24h","return24h","marketCap","volume","current","blockchain","currentRealSol","percentage","gain","return","isRealVolume","thisArg","apply","getPrototypeOf","iterator","toStringTag","Symbol","kindOf","cache","create","thing","str","kindOfTest","typeOfTest","isUndefined","isBuffer","val","isFunction","isArrayBuffer","isString","isNumber","isObject","isPlainObject","isDate","isFile","isBlob","isFileList","isURLSearchParams","isReadableStream","isRequest","isResponse","isHeaders","obj","allOwnKeys","getOwnPropertyNames","len","findKey","_key","_global","globalThis","self","global","isContextDefined","isTypedArray","TypedArray","Uint8Array","isHTMLForm","prop","isRegExp","reduceDescriptors","reducer","descriptors","getOwnPropertyDescriptors","reducedDescriptors","descriptor","name","ret","defineProperties","isAsyncFn","_setImmediate","setImmediateSupported","setImmediate","postMessageSupported","postMessage","token","random","callbacks","source","shift","asap","queueMicrotask","process","nextTick","utils$1","isFormData","kind","FormData","append","isArrayBufferView","result","ArrayBuffer","isView","buffer","isBoolean","isEmptyObject","isStream","pipe","merge","caseless","skipUndefined","assignValue","targetKey","extend","stripBOM","content","charCodeAt","inherits","superConstructor","props","toFlatObject","sourceObj","destObj","propFilter","merged","endsWith","searchString","lastIndex","toArray","arr","forEachEntry","_iterator","done","pair","matchAll","regExp","matches","hasOwnProp","freezeMethods","writable","toObjectSet","arrayOrString","delimiter","define","split","toCamelCase","p1","p2","toUpperCase","noop","toFiniteNumber","defaultValue","isSpecCompliantForm","toJSONObject","stack","visit","reducedValue","isThenable","isIterable","AxiosError","code","config","request","captureStackTrace","status","utils","toJSON","description","number","fileName","lineNumber","columnNumber","customProps","axiosError","msg","errCode","cause","isVisitable","removeBrackets","renderKey","path","dots","join","predicates","toFormData","formData","metaTokens","indexes","option","visitor","defaultVisitor","useBlob","Blob","convertValue","toISOString","Buffer","JSON","stringify","isFlatArray","exposedHelpers","build","encode","charMap","encodeURIComponent","match","AxiosURLSearchParams","params","_pairs","buildURL","url","_encode","serialize","serializeFn","serializedParams","hashmarkIndex","encoder","InterceptorManager","handlers","use","fulfilled","rejected","synchronous","runWhen","eject","transitionalDefaults","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","platform$1","isBrowser","classes","URLSearchParams","protocols","hasBrowserEnv","_navigator","hasStandardBrowserEnv","product","hasStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","origin","formDataToJSON","buildPath","isNumericKey","isLast","arrayToObject","parsePropPath","defaults","transitional","adapter","transformRequest","headers","contentType","getContentType","hasJSONContentType","isObjectPayload","setContentType","helpers","isNode","toURLEncodedForm","formSerializer","_FormData","env","rawValue","parser","parse","stringifySafely","transformResponse","JSONRequested","responseType","strictJSONParsing","parseReviver","ERR_BAD_RESPONSE","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","Accept","method","ignoreDuplicateOf","$internals","normalizeHeader","header","normalizeValue","matchHeaderValue","isHeaderNameFilter","AxiosHeaders$1","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","rawHeaders","parsed","line","substring","parseHeaders","dest","tokens","tokensRE","parseTokens","matcher","deleted","deleteHeader","normalize","normalized","char","formatHeader","targets","asStrings","getSetCookie","computed","accessor","accessors","defineAccessor","accessorName","methodName","arg1","arg2","arg3","buildAccessors","transformData","fns","AxiosHeaders","isCancel","__CANCEL__","CanceledError","ERR_CANCELED","settle","reject","ERR_BAD_REQUEST","mapped","headerValue","progressEventReducer","isDownloadStream","freq","bytesNotified","_speedometer","samplesCount","bytes","timestamps","firstSampleTS","head","tail","chunkLength","startedAt","bytesCount","passed","speedometer","lastArgs","timer","threshold","invoke","args","throttle","loaded","total","lengthComputable","progressBytes","rate","progress","estimated","event","progressEventDecorator","throttled","asyncDecorator","isURLSameOrigin","isMSIE","protocol","host","port","cookies","write","expires","domain","secure","cookie","toGMTString","read","RegExp","decodeURIComponent","buildFullPath","baseURL","requestedURL","allowAbsoluteUrls","isRelativeUrl","relativeURL","combineURLs","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","paramsSerializer","timeoutMessage","withCredentials","withXSRFToken","onUploadProgress","onDownloadProgress","decompress","beforeRedirect","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding","configValue","resolveConfig","newConfig","auth","btoa","username","password","unescape","getHeaders","formHeaders","allowedHeaders","xsrfValue","xhrAdapter","XMLHttpRequest","_config","requestData","requestHeaders","onCanceled","uploadThrottled","downloadThrottled","flushUpload","flushDownload","signal","onloadend","responseHeaders","getAllResponseHeaders","err","responseText","statusText","onreadystatechange","readyState","responseURL","onabort","ECONNABORTED","onerror","ERR_NETWORK","ontimeout","timeoutErrorMessage","ETIMEDOUT","setRequestHeader","upload","cancel","abort","aborted","parseProtocol","send","composeSignals","signals","controller","AbortController","reason","streamChunk","chunk","chunkSize","byteLength","end","pos","readStream","async","stream","asyncIterator","reader","getReader","trackStream","onProgress","onFinish","iterable","readBytes","_onFinish","ReadableStream","pull","loadedBytes","enqueue","highWaterMark","globalFetchAPI","Request","Response","TextEncoder","factory","fetch","envFetch","isFetchSupported","isRequestSupported","isResponseSupported","isReadableStreamSupported","encodeText","arrayBuffer","supportsRequestStream","duplexAccessed","hasContentType","duplex","supportsResponseStream","resolvers","res","ERR_NOT_SUPPORT","resolveBodyLength","getContentLength","_request","getBodyLength","fetchOptions","_fetch","composedSignal","toAbortSignal","requestContentLength","contentTypeHeader","flush","isCredentialsSupported","resolvedOptions","credentials","isStreamResponse","responseContentLength","responseData","seedCache","getFetch","seeds","seed","knownAdapters","http","xhr","fetchAdapter.getFetch","renderReason","isResolvedHandle","adapters","nameOrAdapter","rejectedReasons","reasons","state","throwIfCancellationRequested","throwIfRequested","dispatchRequest","VERSION","validators","deprecatedWarnings","validator","version","formatMessage","opt","desc","opts","ERR_DEPRECATED","spelling","correctSpelling","assertOptions","schema","allowUnknown","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","Axios$1","instanceConfig","interceptors","configOrUrl","dummy","boolean","function","baseUrl","withXsrfToken","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","responseInterceptorChain","promise","chain","onFulfilled","onRejected","getUri","Axios","generateHTTPMethod","isForm","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Ok","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","axios","createInstance","defaultConfig","instance","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","Cancel","all","promises","spread","callback","isAxiosError","payload","formToJSON","getAdapter","default","API_CONFIG","BASE_URL","FUNHI_CHART_API_URL","NEXT_PUBLIC_BACKEND_URL","TIMEOUT","MAX_RETRIES","RETRY_DELAY","candleStorageService","savingQueue","BATCH_DELAY","BATCH_SIZE","saveCandles","candles","post","success","saveCandle","candle","queueKey","existingQueue","flushQueue","queue","getCandles","limit","candleCount","warning","flushAll","flushPromises","timeFrameStr","candleAggregation","timeframes","aggregateCandles","oneMinuteCandles","targetTimeframe","sortedCandles","aggregatedCandles","currentGroup","groupStartTime","bucketTime","aggregated","aggregateGroup","getTimeframeLabel","sorted","sum","seconds","getTimeframeSeconds","fillGaps","timeframe","filled","currentTime","getCurrentCandle","currentBucket","updateRealtimeCandle","newOneMinuteCandle","existingIndex","existing","updated","newCandles","newCandle","isValidCandle","cleanCandles","cleaned","getRequiredOneMinuteCandles","targetCount","FunhiChart","ticker","tokenName","externalSocket","externalIsConnected","externalMarketCap","analyticsConnected","externalAnalyticsConnected","analyticsLoading","externalAnalyticsLoading","chartContainerRef","useRef","chartRef","seriesRef","chartData","setChartData","setOneMinuteCandles","setCurrentMarketCap","internalSocketData","internalAnalytics","realTimeMarketCap","timeFrames","currentTimeFrame","setCurrentTimeFrame","formatMarketCap","fillGapsInCandles","filledCandles","currentCandle","nextCandle","expectedMinutes","gapMinutes","lastKnownPrice","gapMinute","loadCandlesFromDatabase","retryCount","saveCandlesToDatabase","toLocaleTimeString","createOrUpdateMinuteCandle","currentMinuteCandle","currentMinuteCandleRef","priceChange","currentChartDataLength","chartDataLengthRef","currentLastCandleTime","lastCandleTimeRef","minuteStart","prev","newData","setCurrentMinuteCandle","setLastCandleTime","updatedCandle","filtered","fallbackCandle","lastCandleTime","minuteTimerRef","currentMarketCapRef","chartDataRef","createChart","CrosshairMode","targetCandleCount","requiredOneMinuteCandles","existingCandles","uniqueCandles","acc","finalCandles","array","latestCandleTime","minutesSinceLastCandle","since","currentMinute","hasCurrentMinuteCandle","handleResize","handleTimeFrameChange","timeFrameValue","newTimeFrame","handleCurrentCandleUpdate","handleCandleFromOtherClient","existingCandle","handleRecentCandlesResponse","updatedData","aggregateAndUpdateChart","displayCandles","currentPeriodCandles","forceNewMinuteCandle","secondsIntoCurrentMinute","currentMarketCapValue","currentChartData","candleAge","hasCurrentCandle","gapCandles","uniqueData","setupDelay","initialTimeout","secondsToNextMinute","delayMs","setInterval","setupTimer","clearInterval","React","className","onClick","ref"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56]}
|