@streamapp/stream 0.0.1

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.
Files changed (144) hide show
  1. package/README.md +24 -0
  2. package/bin/stream.mjs +89 -0
  3. package/package.json +34 -0
  4. package/resources/app/dist-panel/panel-boards.js +6 -0
  5. package/resources/app/dist-panel/panel-detail.css +1 -0
  6. package/resources/app/dist-panel/panel-detail.js +2141 -0
  7. package/resources/app/dist-panel/panel-manage.css +1 -0
  8. package/resources/app/dist-panel/panel-manage.js +2246 -0
  9. package/resources/app/dist-panel/panel-movie.css +1 -0
  10. package/resources/app/dist-panel/panel-movie.js +2268 -0
  11. package/resources/app/dist-panel/panel-research.css +1 -0
  12. package/resources/app/dist-panel/panel-research.js +316 -0
  13. package/resources/app/dist-panel/panel.css +1 -0
  14. package/resources/app/dist-panel/panel.js +463 -0
  15. package/resources/dsh-engine-lock/package-lock.json +9032 -0
  16. package/resources/extension/.output/chrome-mv3/assets/popup-C2NUZZQW.css +2 -0
  17. package/resources/extension/.output/chrome-mv3/background.js +1 -0
  18. package/resources/extension/.output/chrome-mv3/chunks/popup-BeBts9v2.js +50 -0
  19. package/resources/extension/.output/chrome-mv3/icon/128.png +0 -0
  20. package/resources/extension/.output/chrome-mv3/icon/16.png +0 -0
  21. package/resources/extension/.output/chrome-mv3/icon/32.png +0 -0
  22. package/resources/extension/.output/chrome-mv3/icon/48.png +0 -0
  23. package/resources/extension/.output/chrome-mv3/icon/96.png +0 -0
  24. package/resources/extension/.output/chrome-mv3/manifest.json +1 -0
  25. package/resources/extension/.output/chrome-mv3/popup.html +21 -0
  26. package/resources/packages/1lou/1lou-search.recipe.json +102 -0
  27. package/resources/packages/1lou/README.md +7 -0
  28. package/resources/packages/1lou/package.json +15 -0
  29. package/resources/packages/Douyin_TikTok_Download_API/README.md +23 -0
  30. package/resources/packages/Douyin_TikTok_Download_API/activate.ts +14 -0
  31. package/resources/packages/Douyin_TikTok_Download_API/adapter/adapter.ts +321 -0
  32. package/resources/packages/Douyin_TikTok_Download_API/adapter/danmaku.ts +21 -0
  33. package/resources/packages/Douyin_TikTok_Download_API/adapter/executor.ts +75 -0
  34. package/resources/packages/Douyin_TikTok_Download_API/adapter/normalize.ts +20 -0
  35. package/resources/packages/Douyin_TikTok_Download_API/manifests.yaml +521 -0
  36. package/resources/packages/Douyin_TikTok_Download_API/package.json +32 -0
  37. package/resources/packages/alist/README.md +14 -0
  38. package/resources/packages/alist/activate.ts +12 -0
  39. package/resources/packages/alist/adapter.ts +74 -0
  40. package/resources/packages/alist/manifests.yaml +76 -0
  41. package/resources/packages/alist/mounts.ts +120 -0
  42. package/resources/packages/alist/package.json +24 -0
  43. package/resources/packages/alist/presets.ts +53 -0
  44. package/resources/packages/alist/provision.ts +84 -0
  45. package/resources/packages/baidu/baidu-share.recipe.json +93 -0
  46. package/resources/packages/baidu/package.json +16 -0
  47. package/resources/packages/baidu-search/baidu-search.recipe.json +129 -0
  48. package/resources/packages/baidu-search/package.json +25 -0
  49. package/resources/packages/brave/brave-search.recipe.json +129 -0
  50. package/resources/packages/brave/package.json +25 -0
  51. package/resources/packages/browser/README.md +3 -0
  52. package/resources/packages/browser/adapter.ts +44 -0
  53. package/resources/packages/browser/manifests.yaml +20 -0
  54. package/resources/packages/browser/package.json +13 -0
  55. package/resources/packages/bt0/README.md +7 -0
  56. package/resources/packages/bt0/bt0-search.recipe.json +69 -0
  57. package/resources/packages/bt0/bt0-tlist.recipe.json +74 -0
  58. package/resources/packages/bt0/package.json +15 -0
  59. package/resources/packages/btbtla/README.md +6 -0
  60. package/resources/packages/btbtla/btbtla-detail.recipe.json +76 -0
  61. package/resources/packages/btbtla/btbtla-search.recipe.json +74 -0
  62. package/resources/packages/btbtla/package.json +15 -0
  63. package/resources/packages/builtin/README.md +8 -0
  64. package/resources/packages/builtin/manifests.yaml +487 -0
  65. package/resources/packages/builtin/package.json +14 -0
  66. package/resources/packages/douyin/README.md +39 -0
  67. package/resources/packages/douyin/douyin-collection.recipe.json +127 -0
  68. package/resources/packages/douyin/douyin-search.recipe.json +163 -0
  69. package/resources/packages/douyin/package.json +16 -0
  70. package/resources/packages/firecrawl/firecrawl-create-key.recipe.json +81 -0
  71. package/resources/packages/firecrawl/firecrawl-read-key.recipe.json +56 -0
  72. package/resources/packages/firecrawl/package.json +16 -0
  73. package/resources/packages/google/google-search.recipe.json +127 -0
  74. package/resources/packages/google/package.json +24 -0
  75. package/resources/packages/groq/groq-create-key.recipe.json +67 -0
  76. package/resources/packages/groq/package.json +16 -0
  77. package/resources/packages/huggingface/README.md +7 -0
  78. package/resources/packages/huggingface/huggingface-spaces.recipe.json +73 -0
  79. package/resources/packages/huggingface/package.json +15 -0
  80. package/resources/packages/imdb/imdb-chart.recipe.json +75 -0
  81. package/resources/packages/imdb/package.json +15 -0
  82. package/resources/packages/index.ts +15 -0
  83. package/resources/packages/iqiyi/README.md +10 -0
  84. package/resources/packages/iqiyi/iqiyi-cn-album.recipe.json +80 -0
  85. package/resources/packages/iqiyi/iqiyi-cn-search.recipe.json +71 -0
  86. package/resources/packages/iqiyi/package.json +15 -0
  87. package/resources/packages/lizhi/README.md +35 -0
  88. package/resources/packages/lizhi/lizhi-user.recipe.json +80 -0
  89. package/resources/packages/lizhi/package.json +15 -0
  90. package/resources/packages/manmanbuy/README.md +16 -0
  91. package/resources/packages/manmanbuy/manmanbuy-search.recipe.json +115 -0
  92. package/resources/packages/manmanbuy/package.json +15 -0
  93. package/resources/packages/mineru/README.md +38 -0
  94. package/resources/packages/mineru/package.json +28 -0
  95. package/resources/packages/pansou/README.md +14 -0
  96. package/resources/packages/pansou/activate.ts +11 -0
  97. package/resources/packages/pansou/adapter.ts +94 -0
  98. package/resources/packages/pansou/manifests.yaml +50 -0
  99. package/resources/packages/pansou/package.json +27 -0
  100. package/resources/packages/qq/package.json +15 -0
  101. package/resources/packages/qq/qq-send.recipe.json +104 -0
  102. package/resources/packages/quark/package.json +16 -0
  103. package/resources/packages/quark/quark-share.recipe.json +40 -0
  104. package/resources/packages/reddit/package.json +15 -0
  105. package/resources/packages/reddit/reddit-sub.recipe.json +77 -0
  106. package/resources/packages/replay/README.md +7 -0
  107. package/resources/packages/replay/package.json +13 -0
  108. package/resources/packages/rsshub/README.md +16 -0
  109. package/resources/packages/rsshub/manifests.yaml +107 -0
  110. package/resources/packages/rsshub/package.json +21 -0
  111. package/resources/packages/telegram/package.json +15 -0
  112. package/resources/packages/telegram/telegram-search.recipe.json +125 -0
  113. package/resources/packages/tencent/README.md +11 -0
  114. package/resources/packages/tencent/package.json +15 -0
  115. package/resources/packages/tencent/tencent-cn-episode.recipe.json +98 -0
  116. package/resources/packages/toubiec/README.md +38 -0
  117. package/resources/packages/toubiec/package.json +15 -0
  118. package/resources/packages/toubiec/toubiec-download.recipe.json +58 -0
  119. package/resources/packages/toubiec/toubiec-playlist.recipe.json +49 -0
  120. package/resources/packages/toubiec/toubiec-search.recipe.json +80 -0
  121. package/resources/packages/voiceprint/README.md +31 -0
  122. package/resources/packages/voiceprint/package.json +36 -0
  123. package/resources/packages/wikipedia/package.json +15 -0
  124. package/resources/packages/wikipedia/wikipedia-award-list.recipe.json +102 -0
  125. package/resources/packages/xhs/README.md +32 -0
  126. package/resources/packages/xhs/package.json +21 -0
  127. package/resources/packages/xhs/xhs-detail.recipe.json +129 -0
  128. package/resources/packages/xhs/xhs-home.recipe.json +144 -0
  129. package/resources/packages/xhs/xhs-like.recipe.json +96 -0
  130. package/resources/packages/xhs/xhs-search.recipe.json +138 -0
  131. package/resources/packages/xueqiu/README.md +9 -0
  132. package/resources/packages/xueqiu/package.json +16 -0
  133. package/resources/packages/xueqiu/xueqiu-detail.recipe.json +92 -0
  134. package/resources/packages/xueqiu/xueqiu-user.recipe.json +75 -0
  135. package/resources/packages/zhipu/package.json +16 -0
  136. package/resources/packages/zhipu/zhipu-create-key.recipe.json +74 -0
  137. package/resources/packages/zuna/README.md +31 -0
  138. package/resources/packages/zuna/package.json +15 -0
  139. package/resources/packages/zuna/zuna-album.recipe.json +46 -0
  140. package/resources/packages/zuna/zuna-download.recipe.json +53 -0
  141. package/resources/packages/zuna/zuna-playlist.recipe.json +46 -0
  142. package/resources/packages/zuna/zuna-search.recipe.json +96 -0
  143. package/resources/server.mjs +238876 -0
  144. package/resources/sidequest.jobs.js +1 -0
@@ -0,0 +1,6 @@
1
+ var __streamBoardPanels=(function(T){"use strict";var Ee=T=>{throw TypeError(T)};var Ai=(T,S,N)=>S.has(T)||Ee("Cannot "+N);var z=(T,S,N)=>(Ai(T,S,"read from private field"),N?N.call(T):S.get(T)),Y=(T,S,N)=>S.has(T)?Ee("Cannot add the same private member more than once"):S instanceof WeakSet?S.add(T):S.set(T,N),W=(T,S,N,Ot)=>(Ai(T,S,"write to private field"),Ot?Ot.call(T,N):S.set(T,N),N),Ft=(T,S,N)=>(Ai(T,S,"access private method"),N);var Ce,mt,pt,vt,gt,nt,Wt,A,K,j;function S(n){var t=n.width,i=n.height;if(t<0)throw new Error("Negative width is not allowed for Size");if(i<0)throw new Error("Negative height is not allowed for Size");return{width:t,height:i}}function N(n,t){return n.width===t.width&&n.height===t.height}var Ot=(function(){function n(t){var i=this;this._resolutionListener=function(){return i._onResolutionChanged()},this._resolutionMediaQueryList=null,this._observers=[],this._window=t,this._installResolutionListener()}return n.prototype.dispose=function(){this._uninstallResolutionListener(),this._window=null},Object.defineProperty(n.prototype,"value",{get:function(){return this._window.devicePixelRatio},enumerable:!1,configurable:!0}),n.prototype.subscribe=function(t){var i=this,s={next:t};return this._observers.push(s),{unsubscribe:function(){i._observers=i._observers.filter(function(e){return e!==s})}}},n.prototype._installResolutionListener=function(){if(this._resolutionMediaQueryList!==null)throw new Error("Resolution listener is already installed");var t=this._window.devicePixelRatio;this._resolutionMediaQueryList=this._window.matchMedia("all and (resolution: ".concat(t,"dppx)")),this._resolutionMediaQueryList.addListener(this._resolutionListener)},n.prototype._uninstallResolutionListener=function(){this._resolutionMediaQueryList!==null&&(this._resolutionMediaQueryList.removeListener(this._resolutionListener),this._resolutionMediaQueryList=null)},n.prototype._reinstallResolutionListener=function(){this._uninstallResolutionListener(),this._installResolutionListener()},n.prototype._onResolutionChanged=function(){var t=this;this._observers.forEach(function(i){return i.next(t._window.devicePixelRatio)}),this._reinstallResolutionListener()},n})();function Pe(n){return new Ot(n)}var Te=(function(){function n(t,i,s){var e;this._canvasElement=null,this._bitmapSizeChangedListeners=[],this._suggestedBitmapSize=null,this._suggestedBitmapSizeChangedListeners=[],this._devicePixelRatioObservable=null,this._canvasElementResizeObserver=null,this._canvasElement=t,this._canvasElementClientSize=S({width:this._canvasElement.clientWidth,height:this._canvasElement.clientHeight}),this._transformBitmapSize=i??(function(h){return h}),this._allowResizeObserver=(e=s==null?void 0:s.allowResizeObserver)!==null&&e!==void 0?e:!0,this._chooseAndInitObserver()}return n.prototype.dispose=function(){var t,i;if(this._canvasElement===null)throw new Error("Object is disposed");(t=this._canvasElementResizeObserver)===null||t===void 0||t.disconnect(),this._canvasElementResizeObserver=null,(i=this._devicePixelRatioObservable)===null||i===void 0||i.dispose(),this._devicePixelRatioObservable=null,this._suggestedBitmapSizeChangedListeners.length=0,this._bitmapSizeChangedListeners.length=0,this._canvasElement=null},Object.defineProperty(n.prototype,"canvasElement",{get:function(){if(this._canvasElement===null)throw new Error("Object is disposed");return this._canvasElement},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"canvasElementClientSize",{get:function(){return this._canvasElementClientSize},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"bitmapSize",{get:function(){return S({width:this.canvasElement.width,height:this.canvasElement.height})},enumerable:!1,configurable:!0}),n.prototype.resizeCanvasElement=function(t){this._canvasElementClientSize=S(t),this.canvasElement.style.width="".concat(this._canvasElementClientSize.width,"px"),this.canvasElement.style.height="".concat(this._canvasElementClientSize.height,"px"),this._invalidateBitmapSize()},n.prototype.subscribeBitmapSizeChanged=function(t){this._bitmapSizeChangedListeners.push(t)},n.prototype.unsubscribeBitmapSizeChanged=function(t){this._bitmapSizeChangedListeners=this._bitmapSizeChangedListeners.filter(function(i){return i!==t})},Object.defineProperty(n.prototype,"suggestedBitmapSize",{get:function(){return this._suggestedBitmapSize},enumerable:!1,configurable:!0}),n.prototype.subscribeSuggestedBitmapSizeChanged=function(t){this._suggestedBitmapSizeChangedListeners.push(t)},n.prototype.unsubscribeSuggestedBitmapSizeChanged=function(t){this._suggestedBitmapSizeChangedListeners=this._suggestedBitmapSizeChangedListeners.filter(function(i){return i!==t})},n.prototype.applySuggestedBitmapSize=function(){if(this._suggestedBitmapSize!==null){var t=this._suggestedBitmapSize;this._suggestedBitmapSize=null,this._resizeBitmap(t),this._emitSuggestedBitmapSizeChanged(t,this._suggestedBitmapSize)}},n.prototype._resizeBitmap=function(t){var i=this.bitmapSize;N(i,t)||(this.canvasElement.width=t.width,this.canvasElement.height=t.height,this._emitBitmapSizeChanged(i,t))},n.prototype._emitBitmapSizeChanged=function(t,i){var s=this;this._bitmapSizeChangedListeners.forEach(function(e){return e.call(s,t,i)})},n.prototype._suggestNewBitmapSize=function(t){var i=this._suggestedBitmapSize,s=S(this._transformBitmapSize(t,this._canvasElementClientSize)),e=N(this.bitmapSize,s)?null:s;i===null&&e===null||i!==null&&e!==null&&N(i,e)||(this._suggestedBitmapSize=e,this._emitSuggestedBitmapSizeChanged(i,e))},n.prototype._emitSuggestedBitmapSizeChanged=function(t,i){var s=this;this._suggestedBitmapSizeChangedListeners.forEach(function(e){return e.call(s,t,i)})},n.prototype._chooseAndInitObserver=function(){var t=this;if(!this._allowResizeObserver){this._initDevicePixelRatioObservable();return}Ne().then(function(i){return i?t._initResizeObserver():t._initDevicePixelRatioObservable()})},n.prototype._initDevicePixelRatioObservable=function(){var t=this;if(this._canvasElement!==null){var i=ji(this._canvasElement);if(i===null)throw new Error("No window is associated with the canvas");this._devicePixelRatioObservable=Pe(i),this._devicePixelRatioObservable.subscribe(function(){return t._invalidateBitmapSize()}),this._invalidateBitmapSize()}},n.prototype._invalidateBitmapSize=function(){var t,i;if(this._canvasElement!==null){var s=ji(this._canvasElement);if(s!==null){var e=(i=(t=this._devicePixelRatioObservable)===null||t===void 0?void 0:t.value)!==null&&i!==void 0?i:s.devicePixelRatio,h=this._canvasElement.getClientRects(),r=h[0]!==void 0?ze(h[0],e):S({width:this._canvasElementClientSize.width*e,height:this._canvasElementClientSize.height*e});this._suggestNewBitmapSize(r)}}},n.prototype._initResizeObserver=function(){var t=this;this._canvasElement!==null&&(this._canvasElementResizeObserver=new ResizeObserver(function(i){var s=i.find(function(r){return r.target===t._canvasElement});if(!(!s||!s.devicePixelContentBoxSize||!s.devicePixelContentBoxSize[0])){var e=s.devicePixelContentBoxSize[0],h=S({width:e.inlineSize,height:e.blockSize});t._suggestNewBitmapSize(h)}}),this._canvasElementResizeObserver.observe(this._canvasElement,{box:"device-pixel-content-box"}))},n})();function ke(n,t){return new Te(n,t.transform,t.options)}function ji(n){return n.ownerDocument.defaultView}function Ne(){return new Promise(function(n){var t=new ResizeObserver(function(i){n(i.every(function(s){return"devicePixelContentBoxSize"in s})),t.disconnect()});t.observe(document.body,{box:"device-pixel-content-box"})}).catch(function(){return!1})}function ze(n,t){return S({width:Math.round(n.left*t+n.width*t)-Math.round(n.left*t),height:Math.round(n.top*t+n.height*t)-Math.round(n.top*t)})}var Le=(function(){function n(t,i,s){if(i.width===0||i.height===0)throw new TypeError("Rendering target could only be created on a media with positive width and height");if(this._mediaSize=i,s.width===0||s.height===0)throw new TypeError("Rendering target could only be created using a bitmap with positive integer width and height");this._bitmapSize=s,this._context=t}return n.prototype.useMediaCoordinateSpace=function(t){try{return this._context.save(),this._context.setTransform(1,0,0,1,0,0),this._context.scale(this._horizontalPixelRatio,this._verticalPixelRatio),t({context:this._context,mediaSize:this._mediaSize})}finally{this._context.restore()}},n.prototype.useBitmapCoordinateSpace=function(t){try{return this._context.save(),this._context.setTransform(1,0,0,1,0,0),t({context:this._context,mediaSize:this._mediaSize,bitmapSize:this._bitmapSize,horizontalPixelRatio:this._horizontalPixelRatio,verticalPixelRatio:this._verticalPixelRatio})}finally{this._context.restore()}},Object.defineProperty(n.prototype,"_horizontalPixelRatio",{get:function(){return this._bitmapSize.width/this._mediaSize.width},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"_verticalPixelRatio",{get:function(){return this._bitmapSize.height/this._mediaSize.height},enumerable:!1,configurable:!0}),n})();function X(n,t){var i=n.canvasElementClientSize;if(i.width===0||i.height===0)return null;var s=n.bitmapSize;if(s.width===0||s.height===0)return null;var e=n.canvasElement.getContext("2d",t);return e===null?null:new Le(e,i,s)}/*!
2
+ * @license
3
+ * TradingView Lightweight Charts™ v5.2.1
4
+ * Copyright (c) 2026 TradingView, Inc.
5
+ * Licensed under Apache License 2.0 https://www.apache.org/licenses/LICENSE-2.0
6
+ */const Ji={title:"",visible:!0,hitTestTolerance:3,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 Ui,Xi;function H(n,t){const i=(function(s,e){switch(s){case 0:default:return[];case 1:return[e,e];case 2:return[2*e,2*e];case 3:return[6*e,6*e];case 4:return[e,4*e]}})(t,n.lineWidth);return n.setLineDash(i),i}function Hi(n,t,i,s){n.beginPath();const e=n.lineWidth%2?.5:0;n.moveTo(i,t+e),n.lineTo(s,t+e),n.stroke()}function L(n,t){if(!n)throw new Error("Assertion failed"+(t?": "+t:""))}function B(n){if(n===void 0)throw new Error("Value is undefined");return n}function b(n){if(n===null)throw new Error("Value is null");return n}function q(n){return b(B(n))}(function(n){n[n.Simple=0]="Simple",n[n.WithSteps=1]="WithSteps",n[n.Curved=2]="Curved"})(Ui||(Ui={})),(function(n){n[n.Solid=0]="Solid",n[n.Dotted=1]="Dotted",n[n.Dashed=2]="Dashed",n[n.LargeDashed=3]="LargeDashed",n[n.SparseDotted=4]="SparseDotted"})(Xi||(Xi={}));class k{constructor(){this.t=[]}i(t,i,s){const e={h:t,l:i,o:s===!0};this.t.push(e)}_(t){const i=this.t.findIndex((s=>t===s.h));i>-1&&this.t.splice(i,1)}u(t){this.t=this.t.filter((i=>i.l!==t))}p(t,i,s){const e=[...this.t];this.t=this.t.filter((h=>!h.o)),e.forEach((h=>h.h(t,i,s)))}v(){return this.t.length>0}m(){this.t=[]}}function F(n,...t){for(const i of t)for(const s in i)i[s]!==void 0&&Object.prototype.hasOwnProperty.call(i,s)&&!["__proto__","constructor","prototype"].includes(s)&&(typeof i[s]!="object"||n[s]===void 0||Array.isArray(i[s])?n[s]=i[s]:F(n[s],i[s]));return n}function Z(n){return typeof n=="number"&&isFinite(n)}function Mt(n){return typeof n=="number"&&n%1==0}function yt(n){return typeof n=="string"}function Dt(n){return typeof n=="boolean"}function V(n){const t=n;if(!t||typeof t!="object")return t;let i,s,e;for(s in i=Array.isArray(t)?[]:{},t)t.hasOwnProperty(s)&&(e=t[s],i[s]=e&&typeof e=="object"?V(e):e);return i}function Zi(n){return n!==null}function ci(n){return n===null?void 0:n}const ts="-apple-system, BlinkMacSystemFont, 'Trebuchet MS', Roboto, Ubuntu, sans-serif";function xt(n,t,i){return t===void 0&&(t=ts),`${i=i!==void 0?`${i} `:""}${n}px ${t}`}class Ie{constructor(t){this.M={S:1,C:5,P:NaN,k:"",T:"",R:"",D:"",I:0,V:0,B:0,A:0,L:0},this.O=t}N(){const t=this.M,i=this.F(),s=this.W();return t.P===i&&t.T===s||(t.P=i,t.T=s,t.k=xt(i,s),t.A=.20833333333333334*i,t.I=t.A,t.V=i/12*t.C,t.B=i/12*t.C,t.L=0),t.R=this.H(),t.D=this.U(),this.M}H(){return this.O.N().layout.textColor}U(){return this.O.$()}F(){return this.O.N().layout.fontSize}W(){return this.O.N().layout.fontFamily}}function di(n){return n<0?0:n>255?255:Math.round(n)||0}function is(n){return .199*n[0]+.687*n[1]+.114*n[2]}class Re{constructor(t,i){this.j=new Map,this.q=t,i&&(this.j=i)}Y(t,i){if(t==="transparent")return t;const s=this.K(t),e=s[3];return`rgba(${s[0]}, ${s[1]}, ${s[2]}, ${i*e})`}G(t){const i=this.K(t);return{Z:`rgb(${i[0]}, ${i[1]}, ${i[2]})`,X:is(i)>160?"black":"white"}}J(t){return is(this.K(t))}tt(t,i,s){const[e,h,r,o]=this.K(t),[l,a,u,c]=this.K(i),d=[di(e+s*(l-e)),di(h+s*(a-h)),di(r+s*(u-r)),(f=o+s*(c-o),f<=0||f>1?Math.min(Math.max(f,0),1):Math.round(1e4*f)/1e4)];var f;return`rgba(${d[0]}, ${d[1]}, ${d[2]}, ${d[3]})`}K(t){const i=this.j.get(t);if(i)return i;const s=(function(r){const o=document.createElement("div");o.style.display="none",document.body.appendChild(o),o.style.color=r;const l=window.getComputedStyle(o).color;return document.body.removeChild(o),l})(t),e=s.match(/^rgba?\s*\((\d+),\s*(\d+),\s*(\d+)(?:,\s*(\d*\.?\d+))?\)$/);if(!e){if(this.q.length)for(const r of this.q){const o=r(t);if(o)return this.j.set(t,o),o}throw new Error(`Failed to parse color: ${t}`)}const h=[parseInt(e[1],10),parseInt(e[2],10),parseInt(e[3],10),e[4]?parseFloat(e[4]):1];return this.j.set(t,h),h}}class Be{constructor(){this.it=[]}nt(t){this.it=t}st(t,i,s){this.it.forEach((e=>{e.st(t,i,s)}))}}class ht{st(t,i,s){t.useBitmapCoordinateSpace((e=>this.et(e,i,s)))}}class Fe extends ht{constructor(){super(...arguments),this.rt=null}ht(t){this.rt=t}et({context:t,horizontalPixelRatio:i,verticalPixelRatio:s}){if(this.rt===null||this.rt.lt===null)return;const e=this.rt.lt,h=this.rt,r=Math.max(1,Math.floor(i))%2/2,o=l=>{t.beginPath();for(let a=e.to-1;a>=e.from;--a){const u=h.ot[a],c=Math.round(u._t*i)+r,d=u.ut*s,f=l*s+r;t.moveTo(c,d),t.arc(c,d,f,0,2*Math.PI)}t.fill()};h.ct>0&&(t.fillStyle=h.dt,o(h.ft+h.ct)),t.fillStyle=h.vt,o(h.ft)}}function We(){return{ot:[{_t:0,ut:0,wt:0,Mt:0}],vt:"",dt:"",ft:0,ct:0,lt:null}}const Oe={from:0,to:1};class De{constructor(t,i,s){this.gt=new Be,this.bt=[],this.St=[],this.xt=!0,this.O=t,this.Ct=i,this.yt=s,this.gt.nt(this.bt)}Pt(t){this.kt(),this.xt=!0}Tt(){return this.xt&&(this.Rt(),this.xt=!1),this.gt}kt(){const t=this.yt.Dt();t.length!==this.bt.length&&(this.St=t.map(We),this.bt=this.St.map((i=>{const s=new Fe;return s.ht(i),s})),this.gt.nt(this.bt))}Rt(){const t=this.Ct.N().mode===2||!this.Ct.It(),i=this.yt.Vt(),s=this.Ct.Bt(),e=this.O.Et();this.kt(),i.forEach(((h,r)=>{const o=this.St[r],l=h.At(s),a=h.Lt();!t&&l!==null&&h.It()&&a!==null?(o.vt=l.zt,o.ft=l.ft,o.ct=l.Ot,o.ot[0].Mt=l.Mt,o.ot[0].ut=h.Ft().Nt(l.Mt,a.Wt),o.dt=l.Ht??this.O.Ut(o.ot[0].ut/h.Ft().$t()),o.ot[0].wt=s,o.ot[0]._t=e.jt(s),o.lt=Oe):o.lt=null}))}}class Ke extends ht{constructor(t){super(),this.qt=t}et({context:t,bitmapSize:i,horizontalPixelRatio:s,verticalPixelRatio:e}){if(this.qt===null)return;const h=this.qt.Yt.It,r=this.qt.Kt.It;if(!h&&!r)return;const o=Math.round(this.qt._t*s),l=Math.round(this.qt.ut*e);t.lineCap="butt",h&&o>=0&&(t.lineWidth=Math.floor(this.qt.Yt.ct*s),t.strokeStyle=this.qt.Yt.R,t.fillStyle=this.qt.Yt.R,H(t,this.qt.Yt.Gt),(function(a,u,c,d){a.beginPath();const f=a.lineWidth%2?.5:0;a.moveTo(u+f,c),a.lineTo(u+f,d),a.stroke()})(t,o,0,i.height)),r&&l>=0&&(t.lineWidth=Math.floor(this.qt.Kt.ct*e),t.strokeStyle=this.qt.Kt.R,t.fillStyle=this.qt.Kt.R,H(t,this.qt.Kt.Gt),Hi(t,l,0,i.width))}}class $e{constructor(t,i){this.xt=!0,this.Zt={Yt:{ct:1,Gt:0,R:"",It:!1},Kt:{ct:1,Gt:0,R:"",It:!1},_t:0,ut:0},this.Xt=new Ke(this.Zt),this.Jt=t,this.yt=i}Pt(){this.xt=!0}Tt(t){return this.xt&&(this.Rt(),this.xt=!1),this.Xt}Rt(){const t=this.Jt.It(),i=this.yt.Qt().N().crosshair,s=this.Zt;if(i.mode===2)return s.Kt.It=!1,void(s.Yt.It=!1);s.Kt.It=t&&this.Jt.ti(this.yt),s.Yt.It=t&&this.Jt.ii(),s.Kt.ct=i.horzLine.width,s.Kt.Gt=i.horzLine.style,s.Kt.R=i.horzLine.color,s.Yt.ct=i.vertLine.width,s.Yt.Gt=i.vertLine.style,s.Yt.R=i.vertLine.color,s._t=this.Jt.ni(),s.ut=this.Jt.si()}}function Kt(n,t,i,s,e,h){n.save(),n.globalCompositeOperation="copy",n.fillStyle=h,n.fillRect(t,i,s,e),n.restore()}function ss(n,t,i,s,e,h){n.beginPath(),n.roundRect?n.roundRect(t,i,s,e,h):(n.lineTo(t+s-h[1],i),h[1]!==0&&n.arcTo(t+s,i,t+s,i+h[1],h[1]),n.lineTo(t+s,i+e-h[2]),h[2]!==0&&n.arcTo(t+s,i+e,t+s-h[2],i+e,h[2]),n.lineTo(t+h[3],i+e),h[3]!==0&&n.arcTo(t,i+e,t,i+e-h[3],h[3]),n.lineTo(t,i+h[0]),h[0]!==0&&n.arcTo(t,i,t+h[0],i,h[0]))}function es(n,t,i,s,e,h,r=0,o=[0,0,0,0],l=""){if(n.save(),!r||!l||l===h)return ss(n,t,i,s,e,o),n.fillStyle=h,n.fill(),void n.restore();const a=r/2;var u;ss(n,t+a,i+a,s-r,e-r,(u=-a,o.map((c=>c===0?c:c+u)))),h!=="transparent"&&(n.fillStyle=h,n.fill()),l!=="transparent"&&(n.lineWidth=r,n.strokeStyle=l,n.closePath(),n.stroke()),n.restore()}function ns(n,t,i,s,e,h,r){n.save(),n.globalCompositeOperation="copy";const o=n.createLinearGradient(0,0,0,e);o.addColorStop(0,h),o.addColorStop(1,r),n.fillStyle=o,n.fillRect(t,i,s,e),n.restore()}let hs=class{constructor(t,i){this.ht(t,i)}ht(t,i){this.qt=t,this.ei=i}$t(t,i){return this.qt.It?t.P+t.A+t.I:0}st(t,i,s,e){if(!this.qt.It||this.qt.ri.length===0)return;const h=this.qt.R,r=this.ei.Z,o=t.useBitmapCoordinateSpace((l=>{const a=l.context;a.font=i.k;const u=this.hi(l,i,s,e),c=u.ai;return u.li?es(a,c.oi,c._i,c.ui,c.ci,r,c.di,[c.ft,0,0,c.ft],r):es(a,c.fi,c._i,c.ui,c.ci,r,c.di,[0,c.ft,c.ft,0],r),this.qt.pi&&(a.fillStyle=h,a.fillRect(c.fi,c.mi,c.wi-c.fi,c.Mi)),this.qt.gi&&(a.fillStyle=i.D,a.fillRect(u.li?c.bi-c.di:0,c._i,c.di,c.Si-c._i)),u}));t.useMediaCoordinateSpace((({context:l})=>{const a=o.xi;l.font=i.k,l.textAlign=o.li?"right":"left",l.textBaseline="middle",l.fillStyle=h,l.fillText(this.qt.ri,a.Ci,(a._i+a.Si)/2+a.yi)}))}hi(t,i,s,e){const{context:h,bitmapSize:r,mediaSize:o,horizontalPixelRatio:l,verticalPixelRatio:a}=t,u=this.qt.pi||!this.qt.Pi?i.C:0,c=this.qt.ki?i.S:0,d=i.A+this.ei.Ti,f=i.I+this.ei.Ri,m=i.V,p=i.B,g=this.qt.ri,v=i.P,w=s.Di(h,g),y=Math.ceil(s.Ii(h,g)),M=v+d+f,x=i.S+m+p+y+u,_=Math.max(1,Math.floor(a));let C=Math.round(M*a);C%2!=_%2&&(C+=1);const E=c>0?Math.max(1,Math.floor(c*l)):0,P=Math.round(x*l),$=Math.round(u*l),J=this.ei.Vi??this.ei.Bi??this.ei.Ei,U=Math.round(J*a)-Math.floor(.5*a),wt=Math.floor(U+_/2-C/2),Rt=wt+C,bt=e==="right",ui=bt?o.width-c:c,Bt=bt?r.width-E:E;let Yi,qi,Gi;return bt?(Yi=Bt-P,qi=Bt-$,Gi=ui-u-m-c):(Yi=Bt+P,qi=Bt+$,Gi=ui+u+m),{li:bt,ai:{_i:wt,mi:U,Si:Rt,ui:P,ci:C,ft:2*l,di:E,oi:Yi,fi:Bt,wi:qi,Mi:_,bi:r.width},xi:{_i:wt/a,Si:Rt/a,Ci:Gi,yi:w}}}},$t=class{constructor(t){this.Ai={Ei:0,Z:"#000",Ri:0,Ti:0},this.Li={ri:"",It:!1,pi:!0,Pi:!1,Ht:"",R:"#FFF",gi:!1,ki:!1},this.zi={ri:"",It:!1,pi:!1,Pi:!0,Ht:"",R:"#FFF",gi:!0,ki:!0},this.xt=!0,this.Oi=new(t||hs)(this.Li,this.Ai),this.Ni=new(t||hs)(this.zi,this.Ai)}ri(){return this.Fi(),this.Li.ri}Ei(){return this.Fi(),this.Ai.Ei}Pt(){this.xt=!0}$t(t,i=!1){return Math.max(this.Oi.$t(t,i),this.Ni.$t(t,i))}Wi(){return this.Ai.Vi??null}Hi(){return this.Ai.Vi??this.Ai.Bi??this.Ei()}Ui(t){this.Ai.Bi=t??void 0}$i(){return this.Fi(),this.Li.It||this.zi.It}ji(){return this.Fi(),this.Li.It}Tt(t){return this.Fi(),this.Li.pi=this.Li.pi&&t.N().ticksVisible,this.zi.pi=this.zi.pi&&t.N().ticksVisible,this.Oi.ht(this.Li,this.Ai),this.Ni.ht(this.zi,this.Ai),this.Oi}qi(){return this.Fi(),this.Oi.ht(this.Li,this.Ai),this.Ni.ht(this.zi,this.Ai),this.Ni}Fi(){this.xt&&(this.Li.pi=!0,this.zi.pi=!1,this.Yi(this.Li,this.zi,this.Ai))}};class Ve extends $t{constructor(t,i,s){super(),this.Jt=t,this.Ki=i,this.Gi=s}Yi(t,i,s){if(t.It=!1,this.Jt.N().mode===2)return;const e=this.Jt.N().horzLine;if(!e.labelVisible)return;const h=this.Ki.Lt();if(!this.Jt.It()||this.Ki.Zi()||h===null)return;const r=this.Ki.Xi().G(e.labelBackgroundColor);s.Z=r.Z,t.R=r.X;const o=2/12*this.Ki.P();s.Ti=o,s.Ri=o;const l=this.Gi(this.Ki);s.Ei=l.Ei,t.ri=this.Ki.Ji(l.Mt,h),t.It=!0}}const Qe=/[1-9]/g;class rs{constructor(){this.qt=null}ht(t){this.qt=t}st(t,i){if(this.qt===null||this.qt.It===!1||this.qt.ri.length===0)return;const s=t.useMediaCoordinateSpace((({context:d})=>(d.font=i.k,Math.round(i.Qi.Ii(d,b(this.qt).ri,Qe)))));if(s<=0)return;const e=i.tn,h=s+2*e,r=h/2,o=this.qt.nn;let l=this.qt.Ei,a=Math.floor(l-r)+.5;a<0?(l+=Math.abs(0-a),a=Math.floor(l-r)+.5):a+h>o&&(l-=Math.abs(o-(a+h)),a=Math.floor(l-r)+.5);const u=a+h,c=Math.ceil(0+i.S+i.C+i.A+i.P+i.I);t.useBitmapCoordinateSpace((({context:d,horizontalPixelRatio:f,verticalPixelRatio:m})=>{const p=b(this.qt);d.fillStyle=p.Z;const g=Math.round(a*f),v=Math.round(0*m),w=Math.round(u*f),y=Math.round(c*m),M=Math.round(2*f);if(d.beginPath(),d.moveTo(g,v),d.lineTo(g,y-M),d.arcTo(g,y,g+M,y,M),d.lineTo(w-M,y),d.arcTo(w,y,w,y-M,M),d.lineTo(w,v),d.fill(),p.pi){const x=Math.round(p.Ei*f),_=v,C=Math.round((_+i.C)*m);d.fillStyle=p.R;const E=Math.max(1,Math.floor(f)),P=Math.floor(.5*f);d.fillRect(x-P,_,E,C-_)}})),t.useMediaCoordinateSpace((({context:d})=>{const f=b(this.qt),m=0+i.S+i.C+i.A+i.P/2;d.font=i.k,d.textAlign="left",d.textBaseline="middle",d.fillStyle=f.R;const p=i.Qi.Di(d,"Apr0");d.translate(a+e,m+p),d.fillText(f.ri,0,0)}))}}class Ye{constructor(t,i,s){this.xt=!0,this.Xt=new rs,this.Zt={It:!1,Z:"#4c525e",R:"white",ri:"",nn:0,Ei:NaN,pi:!0},this.Ct=t,this.sn=i,this.Gi=s}Pt(){this.xt=!0}Tt(){return this.xt&&(this.Rt(),this.xt=!1),this.Xt.ht(this.Zt),this.Xt}Rt(){const t=this.Zt;if(t.It=!1,this.Ct.N().mode===2)return;const i=this.Ct.N().vertLine;if(!i.labelVisible)return;const s=this.sn.Et();if(s.Zi())return;t.nn=s.nn();const e=this.Gi();if(e===null)return;t.Ei=e.Ei;const h=s.en(this.Ct.Bt());t.ri=s.rn(b(h)),t.It=!0;const r=this.sn.Xi().G(i.labelBackgroundColor);t.Z=r.Z,t.R=r.X,t.pi=s.N().ticksVisible}}class os{constructor(){this.hn=null,this.an=0}ln(){return this.an}_n(t){this.an=t}Ft(){return this.hn}un(t){this.hn=t}cn(t){return[]}dn(){return[]}It(){return!0}}var ls;(function(n){n[n.Normal=0]="Normal",n[n.Magnet=1]="Magnet",n[n.Hidden=2]="Hidden",n[n.MagnetOHLC=3]="MagnetOHLC"})(ls||(ls={}));class qe extends os{constructor(t,i){super(),this.yt=null,this.fn=NaN,this.pn=0,this.vn=!1,this.mn=new Map,this.wn=!1,this.Mn=new WeakMap,this.gn=new WeakMap,this.bn=NaN,this.Sn=NaN,this.xn=NaN,this.Cn=NaN,this.sn=t,this.yn=i,this.Pn=((e,h)=>r=>{const o=h(),l=e();if(r===b(this.yt).kn())return{Mt:l,Ei:o};{const a=b(r.Lt());return{Mt:r.Tn(o,a),Ei:o}}})((()=>this.fn),(()=>this.Sn));const s=((e,h)=>()=>{const r=this.sn.Et().Rn(e()),o=h();return r&&Number.isFinite(o)?{wt:r,Ei:o}:null})((()=>this.pn),(()=>this.ni()));this.Dn=new Ye(this,t,s)}N(){return this.yn}In(t,i){this.xn=t,this.Cn=i}Vn(){this.xn=NaN,this.Cn=NaN}Bn(){return this.xn}En(){return this.Cn}An(t,i,s){this.wn||(this.wn=!0),this.vn=!0,this.Ln(t,i,s)}Bt(){return this.pn}ni(){return this.bn}si(){return this.Sn}It(){return this.vn}zn(){this.vn=!1,this.On(),this.fn=NaN,this.bn=NaN,this.Sn=NaN,this.yt=null,this.Vn(),this.Nn()}Fn(t){if(!this.yn.doNotSnapToHiddenSeriesIndices)return t;const i=this.sn,s=i.Et();let e=null,h=null;for(const a of i.Wn()){const u=a.Un().Hn(t,-1);if(u){if(u.$n===t)return t;(e===null||u.$n>e)&&(e=u.$n)}const c=a.Un().Hn(t,1);if(c){if(c.$n===t)return t;(h===null||c.$n<h)&&(h=c.$n)}}const r=[e,h].filter(Zi);if(r.length===0)return t;const o=s.jt(t),l=r.map((a=>Math.abs(o-s.jt(a))));return r[l.indexOf(Math.min(...l))]}jn(t){let i=this.Mn.get(t);i||(i=new $e(this,t),this.Mn.set(t,i));let s=this.gn.get(t);return s||(s=new De(this.sn,this,t),this.gn.set(t,s)),[i,s]}ti(t){return t===this.yt&&this.yn.horzLine.visible}ii(){return this.yn.vertLine.visible}qn(t,i){this.vn&&this.yt===t||this.mn.clear();const s=[];return this.yt===t&&s.push(this.Yn(this.mn,i,this.Pn)),s}dn(){return this.vn?[this.Dn]:[]}Kn(){return this.yt}Nn(){this.sn.Gn().forEach((t=>{var i,s;(i=this.Mn.get(t))==null||i.Pt(),(s=this.gn.get(t))==null||s.Pt()})),this.mn.forEach((t=>t.Pt())),this.Dn.Pt()}Zn(t){return t&&!t.kn().Zi()?t.kn():null}Ln(t,i,s){this.Xn(t,i,s)&&this.Nn()}Xn(t,i,s){const e=this.bn,h=this.Sn,r=this.fn,o=this.pn,l=this.yt,a=this.Zn(s);this.pn=t,this.bn=isNaN(t)?NaN:this.sn.Et().jt(t),this.yt=s;const u=a!==null?a.Lt():null;return a!==null&&u!==null?(this.fn=i,this.Sn=a.Nt(i,u)):(this.fn=NaN,this.Sn=NaN),e!==this.bn||h!==this.Sn||o!==this.pn||r!==this.fn||l!==this.yt}On(){const t=this.sn.Jn().map((s=>s.Un().Qn())).filter(Zi),i=t.length===0?null:Math.max(...t);this.pn=i!==null?i:NaN}Yn(t,i,s){let e=t.get(i);return e===void 0&&(e=new Ve(this,i,s),t.set(i,e)),e}}function Vt(n){return n==="left"||n==="right"}class I{constructor(t){this.ts=new Map,this.ns=[],this.ss=t}es(t,i){const s=(function(e,h){return e===void 0?h:{rs:Math.max(e.rs,h.rs),hs:e.hs||h.hs}})(this.ts.get(t),i);this.ts.set(t,s)}ls(){return this.ss}_s(t){const i=this.ts.get(t);return i===void 0?{rs:this.ss}:{rs:Math.max(this.ss,i.rs),hs:i.hs}}us(){this.cs(),this.ns=[{ds:0}]}fs(t){this.cs(),this.ns=[{ds:1,Wt:t}]}ps(t){this.vs(),this.ns.push({ds:5,Wt:t})}cs(){this.vs(),this.ns.push({ds:6})}ws(){this.cs(),this.ns=[{ds:4}]}Ms(t){this.cs(),this.ns.push({ds:2,Wt:t})}gs(t){this.cs(),this.ns.push({ds:3,Wt:t})}bs(){return this.ns}Ss(t){for(const i of t.ns)this.xs(i);this.ss=Math.max(this.ss,t.ss),t.ts.forEach(((i,s)=>{this.es(s,i)}))}static Cs(){return new I(2)}static ys(){return new I(3)}xs(t){switch(t.ds){case 0:this.us();break;case 1:this.fs(t.Wt);break;case 2:this.Ms(t.Wt);break;case 3:this.gs(t.Wt);break;case 4:this.ws();break;case 5:this.ps(t.Wt);break;case 6:this.vs()}}vs(){const t=this.ns.findIndex((i=>i.ds===5));t!==-1&&this.ns.splice(t,1)}}class as{formatTickmarks(t){return t.map((i=>this.format(i)))}}const us=".";function Q(n,t){if(!Z(n))return"n/a";if(!Mt(t))throw new TypeError("invalid length");if(t<0||t>16)throw new TypeError("invalid length");return t===0?n.toString():("0000000000000000"+n.toString()).slice(-t)}class Qt extends as{constructor(t,i){if(super(),i||(i=1),Z(t)&&Mt(t)||(t=100),t<0)throw new TypeError("invalid base");this.Ki=t,this.Ps=i,this.ks()}format(t){const i=t<0?"−":"";return t=Math.abs(t),i+this.Ts(t)}ks(){if(this.Rs=0,this.Ki>0&&this.Ps>0){let t=this.Ki;for(;t>1;)t/=10,this.Rs++}}Ts(t){const i=this.Ki/this.Ps;let s=Math.floor(t),e="";const h=this.Rs!==void 0?this.Rs:NaN;if(i>1){let r=+(Math.round(t*i)-s*i).toFixed(this.Rs);r>=i&&(r-=i,s+=1),e=us+Q(+r.toFixed(this.Rs)*this.Ps,h)}else s=Math.round(s*i)/i,h>0&&(e=us+Q(0,h));return s.toFixed(0)+e}}class cs extends Qt{constructor(t=100){super(t)}format(t){return`${super.format(t)}%`}}class Ge extends as{constructor(t){super(),this.Ds=t}format(t){let i="";return t<0&&(i="-",t=-t),t<995?i+this.Is(t):t<999995?i+this.Is(t/1e3)+"K":t<999999995?(t=1e3*Math.round(t/1e3),i+this.Is(t/1e6)+"M"):(t=1e6*Math.round(t/1e6),i+this.Is(t/1e9)+"B")}Is(t){let i;const s=Math.pow(10,this.Ds);return i=(t=Math.round(t*s)/s)>=1e-15&&t<1?t.toFixed(this.Ds).replace(/\.?0+$/,""):String(t),i.replace(/(\.[1-9]*)0+$/,((e,h)=>h))}}const Ae=/[2-9]/g;class _t{constructor(t=50){this.Vs=0,this.Bs=1,this.Es=1,this.As={},this.Ls=new Map,this.zs=t}Os(){this.Vs=0,this.Ls.clear(),this.Bs=1,this.Es=1,this.As={}}Ii(t,i,s){return this.Ns(t,i,s).width}Di(t,i,s){const e=this.Ns(t,i,s);return((e.actualBoundingBoxAscent||0)-(e.actualBoundingBoxDescent||0))/2}Ns(t,i,s){const e=s||Ae,h=String(i).replace(e,"0");if(this.Ls.has(h))return B(this.Ls.get(h)).Fs;if(this.Vs===this.zs){const o=this.As[this.Es];delete this.As[this.Es],this.Ls.delete(o),this.Es++,this.Vs--}t.save(),t.textBaseline="middle";const r=t.measureText(h);return t.restore(),r.width===0&&i.length||(this.Ls.set(h,{Fs:r,Ws:this.Bs}),this.As[this.Bs]=h,this.Vs++,this.Bs++),r}}class je{constructor(t){this.Hs=null,this.M=null,this.Us="right",this.$s=t}js(t,i,s){this.Hs=t,this.M=i,this.Us=s}st(t){this.M!==null&&this.Hs!==null&&this.Hs.st(t,this.M,this.$s,this.Us)}}class ds{constructor(t,i,s){this.qs=t,this.$s=new _t(50),this.Ys=i,this.O=s,this.F=-1,this.Xt=new je(this.$s)}Tt(){const t=this.O.Ks(this.Ys);if(t===null)return null;const i=t.Gs(this.Ys)?t.Zs():this.Ys.Ft();if(i===null)return null;const s=t.Xs(i);if(s==="overlay")return null;const e=this.O.Js();return e.P!==this.F&&(this.F=e.P,this.$s.Os()),this.Xt.js(this.qs.qi(),e,s),this.Xt}}class Je extends ht{constructor(){super(...arguments),this.qt=null}ht(t){this.qt=t}Qs(t,i){var r;if(!((r=this.qt)!=null&&r.It))return null;const{ut:s,ct:e,te:h}=this.qt;return i>=s-e-7&&i<=s+e+7?{ie:this.qt,ne:Math.abs(i-s),se:2,ee:"price-line",te:h}:null}et({context:t,bitmapSize:i,horizontalPixelRatio:s,verticalPixelRatio:e}){if(this.qt===null||this.qt.It===!1)return;const h=Math.round(this.qt.ut*e);h<0||h>i.height||(t.lineCap="butt",t.strokeStyle=this.qt.R,t.lineWidth=Math.floor(this.qt.ct*s),H(t,this.qt.Gt),Hi(t,h,0,i.width))}}class fi{constructor(t){this.re={ut:0,R:"rgba(0, 0, 0, 0)",ct:1,Gt:0,It:!1},this.he=new Je,this.xt=!0,this.ae=t,this.le=t.Qt(),this.he.ht(this.re)}Pt(){this.xt=!0}Tt(){return this.ae.It()?(this.xt&&(this.oe(),this.xt=!1),this.he):null}}class Ue extends fi{constructor(t){super(t)}oe(){this.re.It=!1;const t=this.ae.Ft(),i=t._e()._e;if(i!==2&&i!==3)return;const s=this.ae.N();if(!s.baseLineVisible||!this.ae.It())return;const e=this.ae.Lt();e!==null&&(this.re.It=!0,this.re.ut=t.Nt(e.Wt,e.Wt),this.re.R=s.baseLineColor,this.re.ct=s.baseLineWidth,this.re.Gt=s.baseLineStyle)}}class Xe extends ht{constructor(){super(...arguments),this.qt=null}ht(t){this.qt=t}ue(){return this.qt}et({context:t,horizontalPixelRatio:i,verticalPixelRatio:s}){const e=this.qt;if(e===null)return;const h=Math.max(1,Math.floor(i)),r=h%2/2,o=Math.round(e.ce.x*i)+r,l=e.ce.y*s;t.fillStyle=e.de,t.beginPath();const a=Math.max(2,1.5*e.fe)*i;t.arc(o,l,a,0,2*Math.PI,!1),t.fill(),t.fillStyle=e.pe,t.beginPath(),t.arc(o,l,e.ft*i,0,2*Math.PI,!1),t.fill(),t.lineWidth=h,t.strokeStyle=e.ve,t.beginPath(),t.arc(o,l,e.ft*i+h/2,0,2*Math.PI,!1),t.stroke()}}const He=[{me:0,we:.25,Me:4,ge:10,be:.25,Se:0,xe:.4,Ce:.8},{me:.25,we:.525,Me:10,ge:14,be:0,Se:0,xe:.8,Ce:0},{me:.525,we:1,Me:14,ge:14,be:0,Se:0,xe:0,Ce:0}];class Ze{constructor(t){this.Xt=new Xe,this.xt=!0,this.ye=!0,this.Pe=performance.now(),this.ke=this.Pe-1,this.Te=t}Re(){this.ke=this.Pe-1,this.Pt()}De(){if(this.Pt(),this.Te.N().lastPriceAnimation===2){const t=performance.now(),i=this.ke-t;if(i>0)return void(i<650&&(this.ke+=2600));this.Pe=t,this.ke=t+2600}}Pt(){this.xt=!0}Ie(){this.ye=!0}It(){return this.Te.N().lastPriceAnimation!==0}Ve(){switch(this.Te.N().lastPriceAnimation){case 0:return!1;case 1:return!0;case 2:return performance.now()<=this.ke}}Tt(){return this.xt?(this.Rt(),this.xt=!1,this.ye=!1):this.ye&&(this.Be(),this.ye=!1),this.Xt}Rt(){this.Xt.ht(null);const t=this.Te.Qt().Et(),i=t.Ee(),s=this.Te.Lt();if(i===null||s===null)return;const e=this.Te.Ae(!0);if(e.Le||!i.ze(e.$n))return;const h={x:t.jt(e.$n),y:this.Te.Ft().Nt(e.Mt,s.Wt)},r=e.R,o=this.Te.N().lineWidth,l=this.Oe(this.Ne(),r);this.Xt.ht({de:r,fe:o,pe:l.pe,ve:l.ve,ft:l.ft,ce:h})}Be(){const t=this.Xt.ue();if(t!==null){const i=this.Oe(this.Ne(),t.de);t.pe=i.pe,t.ve=i.ve,t.ft=i.ft}}Ne(){return this.Ve()?performance.now()-this.Pe:2599}Fe(t,i,s,e){const h=s+(e-s)*i;return this.Te.Qt().Xi().Y(t,h)}Oe(t,i){const s=t%2600/2600;let e;for(const a of He)if(s>=a.me&&s<=a.we){e=a;break}L(e!==void 0,"Last price animation internal logic error");const h=(s-e.me)/(e.we-e.me);return{pe:this.Fe(i,h,e.be,e.Se),ve:this.Fe(i,h,e.xe,e.Ce),ft:(r=h,o=e.Me,l=e.ge,o+(l-o)*r)};var r,o,l}}class tn extends fi{constructor(t){super(t)}oe(){const t=this.re;t.It=!1;const i=this.ae.N();if(!i.priceLineVisible||!this.ae.It())return;const s=this.ae.Ae(i.priceLineSource===0);s.Le||(t.It=!0,t.ut=s.Ei,t.R=this.ae.We(s.R),t.ct=i.priceLineWidth,t.Gt=i.priceLineStyle)}}class sn extends $t{constructor(t){super(),this.Jt=t}Yi(t,i,s){t.It=!1,i.It=!1;const e=this.Jt;if(!e.It())return;const h=e.N(),r=h.lastValueVisible,o=e.He()!=="",l=h.seriesLastValueMode===0,a=e.Ae(!1);if(a.Le)return;r&&(t.ri=this.Ue(a,r,l),t.It=t.ri.length!==0),(o||l)&&(i.ri=this.$e(a,r,o,l),i.It=i.ri.length>0);const u=e.We(a.R),c=this.Jt.Qt().Xi().G(u);s.Z=c.Z,s.Ei=a.Ei,i.Ht=e.Qt().Ut(a.Ei/e.Ft().$t()),t.Ht=u,t.R=c.X,i.R=c.X}$e(t,i,s,e){let h="";const r=this.Jt.He();return s&&r.length!==0&&(h+=`${r} `),i&&e&&(h+=this.Jt.Ft().je()?t.qe:t.Ye),h.trim()}Ue(t,i,s){return i?s?this.Jt.Ft().je()?t.Ye:t.qe:t.ri:""}}function fs(n,t,i,s){const e=Number.isFinite(t),h=Number.isFinite(i);return e&&h?n(t,i):e||h?e?t:i:s}class R{constructor(t,i){this.Ke=t,this.Ge=i}Ze(t){return t!==null&&this.Ke===t.Ke&&this.Ge===t.Ge}Xe(){return new R(this.Ke,this.Ge)}Je(){return this.Ke}Qe(){return this.Ge}tr(){return this.Ge-this.Ke}Zi(){return this.Ge===this.Ke||Number.isNaN(this.Ge)||Number.isNaN(this.Ke)}Ss(t){return t===null?this:new R(fs(Math.min,this.Je(),t.Je(),-1/0),fs(Math.max,this.Qe(),t.Qe(),1/0))}ir(t){if(!Z(t)||this.Ge-this.Ke===0)return;const i=.5*(this.Ge+this.Ke);let s=this.Ge-i,e=this.Ke-i;s*=t,e*=t,this.Ge=i+s,this.Ke=i+e}nr(t){Z(t)&&(this.Ge+=t,this.Ke+=t)}sr(){return{minValue:this.Ke,maxValue:this.Ge}}static er(t){return t===null?null:new R(t.minValue,t.maxValue)}}class Yt{constructor(t,i){this.rr=t,this.hr=i||null}ar(){return this.rr}lr(){return this.hr}sr(){return{priceRange:this.rr===null?null:this.rr.sr(),margins:this.hr||void 0}}static er(t){return t===null?null:new Yt(R.er(t.priceRange),t.margins)}}const en=[2,4,8,16,32,64,128,256,512],nn="Custom series with conflation reducer must have a priceValueBuilder method";class hn extends fi{constructor(t,i){super(t),this._r=i}oe(){const t=this.re;t.It=!1;const i=this._r.N();if(!this.ae.It()||!i.lineVisible)return;const s=this._r.ur();s!==null&&(t.It=!0,t.ut=s,t.R=i.color,t.ct=i.lineWidth,t.Gt=i.lineStyle,t.te=this._r.N().id)}}class rn extends $t{constructor(t,i){super(),this.Te=t,this._r=i}Yi(t,i,s){t.It=!1,i.It=!1;const e=this._r.N(),h=e.axisLabelVisible,r=e.title!=="",o=this.Te;if(!h||!o.It())return;const l=this._r.ur();if(l===null)return;r&&(i.ri=e.title,i.It=!0),i.Ht=o.Qt().Ut(l/o.Ft().$t()),t.ri=this.cr(e.price),t.It=!0;const a=this.Te.Qt().Xi().G(e.axisLabelColor||e.color);s.Z=a.Z;const u=e.axisLabelTextColor||a.X;t.R=u,i.R=u,s.Ei=l}cr(t){const i=this.Te.Lt();return i===null?"":this.Te.Ft().Ji(t,i.Wt)}}class on{constructor(t,i){this.Te=t,this.yn=i,this.dr=new hn(t,this),this.qs=new rn(t,this),this.pr=new ds(this.qs,t,t.Qt())}vr(t){F(this.yn,t),this.Pt(),this.Te.Qt().mr()}N(){return this.yn}wr(){return this.dr}Mr(){return this.pr}gr(){return this.qs}Pt(){this.dr.Pt(),this.qs.Pt()}ur(){const t=this.Te,i=t.Ft();if(t.Qt().Et().Zi()||i.Zi())return null;const s=t.Lt();return s===null?null:i.Nt(this.yn.price,s.Wt)}}class ln{constructor(){this.br=new WeakMap}Sr(t,i,s){const e=1/i*s;if(t>=e)return 1;const h=e/t,r=Math.pow(2,Math.floor(Math.log2(h)));return Math.min(r,512)}Cr(t,i,s,e=!1,h){if(t.length===0||i<=1)return t;const r=this.yr(i);if(r<=1)return t;const o=this.Pr(t);let l=o.kr.get(r);return l!==void 0||(l=this.Tr(t,r,s,e,h,o.kr),o.kr.set(r,l)),l}Rr(t,i,s,e,h=!1,r){if(s<1||t.length===0)return t;const o=this.Pr(t),l=o.kr.get(s);if(!l)return this.Cr(t,s,e,h,r);const a=this.Dr(t,i,s,l,h,e,r);return o.kr.set(s,a),a}yr(t){if(t<=2)return 2;for(const i of en)if(t<=i)return i;return 512}Ir(t){if(t.length===0)return 0;const i=t[0],s=t[t.length-1];return 31*t.length+17*i.$n+13*s.$n}Tr(t,i,s,e=!1,h,r=new Map){if(i===2)return this.Vr(t,2,s,e,h);const o=i/2;let l=r.get(o);return l||(l=this.Tr(t,o,s,e,h,r),r.set(o,l)),this.Br(l,s,e,h)}Vr(t,i,s,e=!1,h){const r=this.Er(t,i,s,e,h);return this.Ar(r,e)}Br(t,i,s=!1,e){const h=this.Er(t,2,i,s,e);return this.Ar(h,s)}Er(t,i,s,e=!1,h){const r=[];for(let o=0;o<t.length;o+=i)if(t.length-o>=i){const l=this.Lr(t[o],t[o+1],s,e,h);l.zr=!1,r.push(l)}else if(r.length===0)r.push(this.Or(t[o],!0));else{const l=r[r.length-1];r[r.length-1]=this.Nr(l,t[o],s,e,h)}return r}Fr(t,i){return(t??1)+(i??1)}Lr(t,i,s,e=!1,h){if(!e||!s||!h){const a=t.Wt[1]>i.Wt[1]?t.Wt[1]:i.Wt[1],u=t.Wt[2]<i.Wt[2]?t.Wt[2]:i.Wt[2];return{Wr:t.$n,Hr:i.$n,Ur:t.wt,$r:i.wt,jr:t.Wt[0],qr:a,Yr:u,Kr:i.Wt[3],Gr:this.Fr(t.Gr,i.Gr),Zr:void 0,zr:!1}}const r=s(this.Xr(t,h),this.Xr(i,h)),o=h(r),l=o.length?o[o.length-1]:0;return{Wr:t.$n,Hr:i.$n,Ur:t.wt,$r:i.wt,jr:t.Wt[0],qr:Math.max(t.Wt[1],l),Yr:Math.min(t.Wt[2],l),Kr:l,Gr:this.Fr(t.Gr,i.Gr),Zr:r,zr:!1}}Nr(t,i,s,e=!1,h){if(!e||!s||!h)return{Wr:t.Wr,Hr:i.$n,Ur:t.Ur,$r:i.wt,jr:t.jr,qr:t.qr>i.Wt[1]?t.qr:i.Wt[1],Yr:t.Yr<i.Wt[2]?t.Yr:i.Wt[2],Kr:i.Wt[3],Gr:t.Gr+(i.Gr??1),Zr:t.Zr,zr:!1};const r=t.Zr,o=this.Xr(i,h),l=r?{data:r,index:t.Wr,originalTime:t.Ur,time:t.Ur,priceValues:h(r)}:null,a=l?s(l,o):o.data,u=l?h(a):o.priceValues,c=u.length?u[u.length-1]:0;return{Wr:t.Wr,Hr:i.$n,Ur:t.Ur,$r:i.wt,jr:t.jr,qr:Math.max(t.qr,c),Yr:Math.min(t.Yr,c),Kr:c,Gr:t.Gr+(i.Gr??1),Zr:a,zr:!1}}Jr(t,i,s,e,h,r,o=!1,l){const a=i===e?h:t[i];if(s-i==1)return this.Or(a,!0);const u=i+1===e?h:t[i+1];let c=this.Lr(a,u,r,o,l);for(let d=i+2;d<s;d++){const f=d===e?h:t[d];c=this.Nr(c,f,r,o,l)}return c}Xr(t,i){const s=t.ue??{};return{data:t.ue,index:t.$n,originalTime:t.Qr,time:t.wt,priceValues:i(s)}}th(t,i=!1){const s=i===!0,e=!!t.Zr;return{$n:t.Wr,wt:t.Ur,Qr:t.Ur,Wt:[s?t.Kr:t.jr,t.qr,t.Yr,t.Kr],Gr:t.Gr,ue:s?e?t.Zr:{wt:t.Ur}:void 0}}Ar(t,i=!1){return t.map((s=>this.th(s,i)))}Dr(t,i,s,e,h=!1,r,o){if(e.length===0)return e;const l=t.length-1,a=Math.floor(l/s)*s;if(Math.min(a+s,t.length)-a<s&&t.length>s){const u=t.slice();return u[u.length-1]=i,this.Cr(u,s,r,h,o)}if(Math.floor((l-1)/s)===Math.floor(l/s)||e.length===1){const u=Math.min(a+s,t.length),c=u-a;if(c<=0)return e;const d=c===1?this.Or(a===l?i:t[a],!0):this.Jr(t,a,u,l,i,r,h,o);return e[e.length-1]=this.th(d,h),e}{const u=t.slice();return u[u.length-1]=i,this.Cr(u,s,r,h,o)}}Or(t,i=!1){return{Wr:t.$n,Hr:t.$n,Ur:t.wt,$r:t.wt,jr:t.Wt[0],qr:t.Wt[1],Yr:t.Wt[2],Kr:t.Wt[3],Gr:t.Gr??1,Zr:t.ue,zr:i}}Pr(t){const i=this.ih(t),s=this.Ir(t);return i.nh!==s&&(i.kr.clear(),i.nh=s),i}ih(t){let i=this.br.get(t);return i===void 0&&(i={nh:this.Ir(t),kr:new Map},this.br.set(t,i)),i}}class an extends os{constructor(t){super(),this.sn=t}Qt(){return this.sn}}const un={Bar:(n,t,i,s)=>{const e=t.upColor,h=t.downColor,r=b(n(i,s)),o=q(r.Wt[0])<=q(r.Wt[3]);return{sh:r.R??(o?e:h)}},Candlestick:(n,t,i,s)=>{const e=t.upColor,h=t.downColor,r=t.borderUpColor,o=t.borderDownColor,l=t.wickUpColor,a=t.wickDownColor,u=b(n(i,s)),c=q(u.Wt[0])<=q(u.Wt[3]);return{sh:u.R??(c?e:h),eh:u.Ht??(c?r:o),rh:u.hh??(c?l:a)}},Custom:(n,t,i,s)=>({sh:b(n(i,s)).R??t.color}),Area:(n,t,i,s)=>{const e=b(n(i,s));return{sh:e.vt??t.lineColor,vt:e.vt??t.lineColor,ah:e.ah??t.topColor,oh:e.oh??t.bottomColor}},Baseline:(n,t,i,s)=>{const e=b(n(i,s));return{sh:e.Wt[3]>=t.baseValue.price?t.topLineColor:t.bottomLineColor,_h:e._h??t.topLineColor,uh:e.uh??t.bottomLineColor,dh:e.dh??t.topFillColor1,fh:e.fh??t.topFillColor2,ph:e.ph??t.bottomFillColor1,mh:e.mh??t.bottomFillColor2}},Line:(n,t,i,s)=>{const e=b(n(i,s));return{sh:e.R??t.color,vt:e.R??t.color}},Histogram:(n,t,i,s)=>({sh:b(n(i,s)).R??t.color})};class cn{constructor(t){this.wh=(i,s)=>s!==void 0?s.Wt:this.Te.Un().Mh(i),this.Te=t,this.gh=un[t.bh()]}Sh(t,i){return this.gh(this.wh,this.Te.N(),t,i)}}function ms(n,t,i,s,e=0,h=t.length){let r=h-e;for(;0<r;){const o=r>>1,l=e+o;s(t[l],i)===n?(e=l+1,r-=o+1):r=o}return e}const tt=ms.bind(null,!0),mi=ms.bind(null,!1);var ps;(function(n){n[n.NearestLeft=-1]="NearestLeft",n[n.None=0]="None",n[n.NearestRight=1]="NearestRight"})(ps||(ps={}));const G=30;class dn{constructor(){this.xh=[],this.Ch=new Map,this.yh=new Map,this.Ph=[]}kh(){return this.Th()>0?this.xh[this.xh.length-1]:null}Rh(){return this.Th()>0?this.Dh(0):null}Qn(){return this.Th()>0?this.Dh(this.xh.length-1):null}Th(){return this.xh.length}Zi(){return this.Th()===0}ze(t){return this.Ih(t,0)!==null}Mh(t){return this.Hn(t)}Hn(t,i=0){const s=this.Ih(t,i);return s===null?null:{...this.Vh(s),$n:this.Dh(s)}}Bh(){return this.xh}Eh(t,i,s){if(this.Zi())return null;let e=null;for(const h of s)e=qt(e,this.Ah(t,i,h));return e}ht(t){this.yh.clear(),this.Ch.clear(),this.xh=t,this.Ph=t.map((i=>i.$n))}Lh(){return this.Ph}Dh(t){return this.xh[t].$n}Vh(t){return this.xh[t]}Ih(t,i){const s=this.zh(t);if(s===null&&i!==0)switch(i){case-1:return this.Oh(t);case 1:return this.Nh(t);default:throw new TypeError("Unknown search mode")}return s}Oh(t){let i=this.Fh(t);return i>0&&(i-=1),i!==this.xh.length&&this.Dh(i)<t?i:null}Nh(t){const i=this.Wh(t);return i!==this.xh.length&&t<this.Dh(i)?i:null}zh(t){const i=this.Fh(t);return i===this.xh.length||t<this.xh[i].$n?null:i}Fh(t){return tt(this.xh,t,((i,s)=>i.$n<s))}Wh(t){return mi(this.xh,t,((i,s)=>i.$n>s))}Hh(t,i,s){let e=null;for(let h=t;h<i;h++){const r=this.xh[h].Wt[s];Number.isNaN(r)||(e===null?e={Uh:r,$h:r}:(r<e.Uh&&(e.Uh=r),r>e.$h&&(e.$h=r)))}return e}Ah(t,i,s){if(this.Zi())return null;let e=null;const h=b(this.Rh()),r=b(this.Qn()),o=Math.max(t,h),l=Math.min(i,r),a=Math.ceil(o/G)*G,u=Math.max(a,Math.floor(l/G)*G);{const d=this.Fh(o),f=this.Wh(Math.min(l,a,i));e=qt(e,this.Hh(d,f,s))}let c=this.Ch.get(s);c===void 0&&(c=new Map,this.Ch.set(s,c));for(let d=Math.max(a+1,o);d<u;d+=G){const f=Math.floor(d/G);let m=c.get(f);if(m===void 0){const p=this.Fh(f*G),g=this.Wh((f+1)*G-1);m=this.Hh(p,g,s),c.set(f,m)}e=qt(e,m)}{const d=this.Fh(u),f=this.Wh(l);e=qt(e,this.Hh(d,f,s))}return e}}function qt(n,t){return n===null?t:t===null?n:{Uh:Math.min(n.Uh,t.Uh),$h:Math.max(n.$h,t.$h)}}function pi(){return new dn}const Gt={setLineStyle:H};class fn{constructor(t){this.jh=t}st(t,i,s){this.jh.draw(t,Gt)}qh(t,i,s){var e,h;(h=(e=this.jh).drawBackground)==null||h.call(e,t,Gt)}}class mn{constructor(t){this.Ls=null,this.Yh=t}Tt(){var s;const t=this.Yh.renderer();if(t===null)return null;if(((s=this.Ls)==null?void 0:s.Kh)===t)return this.Ls.Gh;const i=new fn(t);return this.Ls={Kh:t,Gh:i},i}Zh(){var t,i;return((i=(t=this.Yh).zOrder)==null?void 0:i.call(t))??"normal"}}class vs{constructor(t){this.Xh=null,this.Jh=t}Qh(){return this.Jh}Nn(){var t,i;(i=(t=this.Jh).updateAllViews)==null||i.call(t)}jn(){var s,e,h;const t=((e=(s=this.Jh).paneViews)==null?void 0:e.call(s))??[];if(((h=this.Xh)==null?void 0:h.Kh)===t)return this.Xh.Gh;const i=t.map((r=>new mn(r)));return this.Xh={Kh:t,Gh:i},i}Qs(t,i){var s,e;return((e=(s=this.Jh).hitTest)==null?void 0:e.call(s,t,i))??null}}let pn=class extends vs{cn(){return[]}};class vn{constructor(t){this.jh=t}st(t,i,s){this.jh.draw(t,Gt)}qh(t,i,s){var e,h;(h=(e=this.jh).drawBackground)==null||h.call(e,t,Gt)}}class gs{constructor(t){this.Ls=null,this.Yh=t}Tt(){var s;const t=this.Yh.renderer();if(t===null)return null;if(((s=this.Ls)==null?void 0:s.Kh)===t)return this.Ls.Gh;const i=new vn(t);return this.Ls={Kh:t,Gh:i},i}Zh(){var t,i;return((i=(t=this.Yh).zOrder)==null?void 0:i.call(t))??"normal"}}function ws(n){var t,i,s;return{ri:n.text(),Ei:n.coordinate(),Vi:(t=n.fixedCoordinate)==null?void 0:t.call(n),R:n.textColor(),Z:n.backColor(),It:((i=n.visible)==null?void 0:i.call(n))??!0,pi:((s=n.tickVisible)==null?void 0:s.call(n))??!0}}class gn{constructor(t,i){this.Xt=new rs,this.ta=t,this.ia=i}Tt(){return this.Xt.ht({nn:this.ia.nn(),...ws(this.ta)}),this.Xt}}class wn extends $t{constructor(t,i){super(),this.ta=t,this.Ki=i}Yi(t,i,s){const e=ws(this.ta);s.Z=e.Z,t.R=e.R;const h=2/12*this.Ki.P();s.Ti=h,s.Ri=h,s.Ei=e.Ei,s.Vi=e.Vi,t.ri=e.ri,t.It=e.It,t.pi=e.pi}}class bn extends vs{constructor(t,i){super(t),this.na=null,this.sa=null,this.ea=null,this.ra=null,this.Te=i}dn(){var e,h,r;const t=((h=(e=this.Jh).timeAxisViews)==null?void 0:h.call(e))??[];if(((r=this.na)==null?void 0:r.Kh)===t)return this.na.Gh;const i=this.Te.Qt().Et(),s=t.map((o=>new gn(o,i)));return this.na={Kh:t,Gh:s},s}qn(){var e,h,r;const t=((h=(e=this.Jh).priceAxisViews)==null?void 0:h.call(e))??[];if(((r=this.sa)==null?void 0:r.Kh)===t)return this.sa.Gh;const i=this.Te.Ft(),s=t.map((o=>new wn(o,i)));return this.sa={Kh:t,Gh:s},s}ha(){var s,e,h;const t=((e=(s=this.Jh).priceAxisPaneViews)==null?void 0:e.call(s))??[];if(((h=this.ea)==null?void 0:h.Kh)===t)return this.ea.Gh;const i=t.map((r=>new gs(r)));return this.ea={Kh:t,Gh:i},i}aa(){var s,e,h;const t=((e=(s=this.Jh).timeAxisPaneViews)==null?void 0:e.call(s))??[];if(((h=this.ra)==null?void 0:h.Kh)===t)return this.ra.Gh;const i=t.map((r=>new gs(r)));return this.ra={Kh:t,Gh:i},i}la(t,i){var s,e;return((e=(s=this.Jh).autoscaleInfo)==null?void 0:e.call(s,t,i))??null}}function At(n,t,i,s){n.forEach((e=>{t(e).forEach((h=>{h.Zh()===i&&s.push(h)}))}))}function jt(n){return n.jn()}function Mn(n){return n.ha()}function yn(n){return n.aa()}const xn=["Area","Line","Baseline"];class Jt extends an{constructor(t,i,s,e,h){super(t),this.qt=pi(),this.dr=new tn(this),this.oa=[],this._a=new Ue(this),this.ua=null,this.ca=null,this.da=null,this.fa=[],this.pa=new ln,this.va=new Map,this.ma=null,this.yn=s,this.wa=i;const r=new sn(this);if(this.mn=[r],this.pr=new ds(r,this,t),xn.includes(this.wa)&&(this.ua=new Ze(this)),this.Ma(),this.Yh=e(this,this.Qt(),h),this.wa==="Custom"){const o=this.Yh;o.ga&&this.ba(o.ga)}}m(){this.da!==null&&clearTimeout(this.da)}We(t){return this.yn.priceLineColor||t}Ae(t){const i={Le:!0},s=this.Ft();if(this.Qt().Et().Zi()||s.Zi()||this.qt.Zi())return i;const e=this.Qt().Et().Ee(),h=this.Lt();if(e===null||h===null)return i;let r,o;if(t){const c=this.qt.kh();if(c===null)return i;r=c,o=c.$n}else{const c=this.qt.Hn(e.bi(),-1);if(c===null||(r=this.qt.Mh(c.$n),r===null))return i;o=c.$n}const l=r.Wt[3],a=this.Sa().Sh(o,{Wt:r}),u=s.Nt(l,h.Wt);return{Le:!1,Mt:l,ri:s.Ji(l,h.Wt),qe:s.xa(l),Ye:s.Ca(l,h.Wt),R:a.sh,Ei:u,$n:o}}Sa(){return this.ca!==null||(this.ca=new cn(this)),this.ca}N(){return this.yn}vr(t){const i=this.Qt(),{priceScaleId:s,visible:e,priceFormat:h}=t;s!==void 0&&s!==this.yn.priceScaleId&&i.ya(this,s),e!==void 0&&e!==this.yn.visible&&i.Pa();const r=t.conflationThresholdFactor!==void 0;F(this.yn,t),Object.prototype.hasOwnProperty.call(t,"autoscaleInfoProvider")&&t.autoscaleInfoProvider===void 0&&(this.yn.autoscaleInfoProvider=void 0),r&&(this.va.clear(),this.Qt().mr()),h!==void 0&&(this.Ma(),i.ka()),i.Ta(this),i.Ra(),this.Yh.Pt("options")}ht(t,i){this.qt.ht(t),this.va.clear();const s=this.Qt().Et().N();s.enableConflation&&s.precomputeConflationOnInit&&this.Da(s.precomputeConflationPriority),this.Ia(),this.ua!==null&&(i&&i.Va?this.ua.De():t.length===0&&this.ua.Re());const e=this.Qt().Ks(this);this.Qt().Ba(e),this.Qt().Ta(this),this.Qt().Ra(),this.Qt().mr()}Ia(){this.Yh.Pt("data")}Ea(t){const i=new on(this,t);return this.oa.push(i),this.Qt().Ta(this),i}Aa(t){const i=this.oa.indexOf(t);i!==-1&&this.oa.splice(i,1),this.Qt().Ta(this)}La(){return this.oa}bh(){return this.wa}Lt(){const t=this.za();return t===null?null:{Wt:t.Wt[3],Oa:t.wt}}za(){const t=this.Qt().Et().Ee();if(t===null)return null;const i=t.Na();return this.qt.Hn(i,1)}Un(){return this.qt}ba(t){this.ma=t,this.va.clear()}Fa(){return!!this.Qt().Et().N().enableConflation&&this.Wa()>1}Rr(t){if(!this.Fa())return;const i=this.Wa();if(!this.va.has(i))return;const s=this.wa==="Custom",e=s&&this.ma||void 0,h=s&&this.Yh.Ha?l=>{const a=l,u=this.Yh.Ha(a);return Array.isArray(u)?u:[typeof u=="number"?u:0]}:void 0,r=this.pa.Rr(this.qt.Bh(),t,i,e,s,h),o=pi();o.ht(r),this.va.set(i,o)}Ua(){const t=this.Qt().Et().N().enableConflation;if(this.wa==="Custom"&&this.ma===null)return this.qt;if(!t)return this.qt;const i=this.Wa(),s=this.va.get(i);return s||(this.$a(i),this.va.get(i)??this.qt)}ja(t){const i=this.qt.Mh(t);return i===null?null:this.wa==="Bar"||this.wa==="Candlestick"||this.wa==="Custom"?{jr:i.Wt[0],qr:i.Wt[1],Yr:i.Wt[2],Kr:i.Wt[3]}:i.Wt[3]}qa(t){const i=[];At(this.fa,jt,"top",i);const s=this.ua;return s!==null&&s.It()&&(this.da===null&&s.Ve()&&(this.da=setTimeout((()=>{this.da=null,this.Qt().Ya()}),0)),s.Ie(),i.unshift(s)),i}jn(){const t=[];this.Ka()||t.push(this._a),t.push(this.Yh,this.dr);const i=this.oa.map((s=>s.wr()));return t.push(...i),At(this.fa,jt,"normal",t),t}Ga(){var h,r;const t=((r=(h=this.Yh).Ga)==null?void 0:r.call(h))??null;if(t===null)return null;const i=[];this.Ka()||i.push(this._a),i.push(...t.Za),At(this.fa,jt,"normal",i);const s=[];s.push(...t.qa,this.dr);const e=this.oa.map((o=>o.wr()));return s.push(...e),{Za:i,qa:s}}Xa(){return this.Ja(jt,"bottom")}Qa(t){return this.Ja(Mn,t)}tl(t){return this.Ja(yn,t)}il(t,i){return this.fa.map((s=>s.Qs(t,i))).filter((s=>s!==null))}cn(){return[this.pr,...this.oa.map((t=>t.Mr()))]}qn(t,i){if(i!==this.hn&&!this.Ka())return[];const s=[...this.mn];for(const e of this.oa)s.push(e.gr());return this.fa.forEach((e=>{s.push(...e.qn())})),s}dn(){const t=[];return this.fa.forEach((i=>{t.push(...i.dn())})),t}la(t,i){if(this.yn.autoscaleInfoProvider!==void 0){const s=this.yn.autoscaleInfoProvider((()=>{const e=this.nl(t,i);return e===null?null:e.sr()}));return Yt.er(s)}return this.nl(t,i)}Kh(){const t=this.yn.priceFormat;return t.base??1/t.minMove}sl(){return this.el}Nn(){var t;this.Yh.Pt();for(const i of this.mn)i.Pt();for(const i of this.oa)i.Pt();this.dr.Pt(),this._a.Pt(),(t=this.ua)==null||t.Pt(),this.fa.forEach((i=>i.Nn()))}Ft(){return b(super.Ft())}At(t){if(!((this.wa==="Line"||this.wa==="Area"||this.wa==="Baseline")&&this.yn.crosshairMarkerVisible))return null;const i=this.qt.Mh(t);return i===null?null:{Mt:i.Wt[3],ft:this.rl(),Ht:this.hl(),Ot:this.al(),zt:this.ll(t)}}He(){return this.yn.title}It(){return this.yn.visible}ol(t){this.fa.push(new bn(t,this))}_l(t){this.fa=this.fa.filter((i=>i.Qh()!==t))}ul(){if(this.wa==="Custom")return t=>this.Yh.Ha(t)}cl(){if(this.wa==="Custom")return t=>this.Yh.dl(t)}fl(){return this.qt.Lh()}Ka(){return!Vt(this.Ft().pl())}nl(t,i){if(!Mt(t)||!Mt(i)||this.qt.Zi())return null;const s=this.wa==="Line"||this.wa==="Area"||this.wa==="Baseline"||this.wa==="Histogram"?[3]:[2,1],e=this.qt.Eh(t,i,s);let h=e!==null?new R(e.Uh,e.$h):null,r=null;if(this.bh()==="Histogram"){const o=this.yn.base,l=new R(o,o);h=h!==null?h.Ss(l):l}return this.fa.forEach((o=>{const l=o.la(t,i);if(l!=null&&l.priceRange){const a=new R(l.priceRange.minValue,l.priceRange.maxValue);h=h!==null?h.Ss(a):a}l!=null&&l.margins&&(r=l.margins)})),new Yt(h,r)}rl(){switch(this.wa){case"Line":case"Area":case"Baseline":return this.yn.crosshairMarkerRadius}return 0}hl(){switch(this.wa){case"Line":case"Area":case"Baseline":{const t=this.yn.crosshairMarkerBorderColor;if(t.length!==0)return t}}return null}al(){switch(this.wa){case"Line":case"Area":case"Baseline":return this.yn.crosshairMarkerBorderWidth}return 0}ll(t){switch(this.wa){case"Line":case"Area":case"Baseline":{const i=this.yn.crosshairMarkerBackgroundColor;if(i.length!==0)return i}}return this.Sa().Sh(t).sh}Ma(){switch(this.yn.priceFormat.type){case"custom":{const t=this.yn.priceFormat.formatter;this.el={format:t,formatTickmarks:this.yn.priceFormat.tickmarksFormatter??(i=>i.map(t))};break}case"volume":this.el=new Ge(this.yn.priceFormat.precision);break;case"percent":this.el=new cs(this.yn.priceFormat.precision);break;default:{const t=Math.pow(10,this.yn.priceFormat.precision);this.el=new Qt(t,this.yn.priceFormat.minMove*t)}}this.hn!==null&&this.hn.vl()}Ja(t,i){const s=[];return At(this.fa,t,i,s),s}Wa(){const{ml:t,wl:i,Ml:s}=this.gl();return this.pa.Sr(t,i,s)}gl(){const t=this.Qt().Et(),i=t.ml(),s=window.devicePixelRatio||1,e=t.N().conflationThresholdFactor;return{ml:i,wl:s,Ml:this.yn.conflationThresholdFactor??e??1}}bl(t){const i=this.qt.Bh();let s;if(this.wa==="Custom"&&this.ma!==null){const h=this.ul();if(!h)throw new Error(nn);s=this.pa.Cr(i,t,this.ma,!0,(r=>h(r)))}else s=this.pa.Cr(i,t);const e=pi();return e.ht(s),e}$a(t){const i=this.bl(t);this.va.set(t,i)}Da(t){var s;if(this.wa==="Custom"&&(this.ma===null||!this.ul()))return;this.va.clear();const i=this.Qt().Et().Sl();for(const e of i){const h=()=>{this.xl(e)},r=typeof window=="object"&&window||typeof self=="object"&&self;(s=r==null?void 0:r.yl)!=null&&s.Cl?r.yl.Cl((()=>{h()}),{se:t}):Promise.resolve().then((()=>h()))}}xl(t){if(this.va.has(t)||this.qt.Bh().length===0)return;const i=this.bl(t);this.va.set(t,i)}}const _n=[3],Sn=[0,1,2,3];class Cn{constructor(t){this.yn=t}Pl(t,i,s){let e=t;if(this.yn.mode===0)return e;const h=s.kn(),r=h.Lt();if(r===null)return e;const o=h.Nt(t,r),l=s.kl().filter((u=>u instanceof Jt)).reduce(((u,c)=>{if(s.Gs(c)||!c.It())return u;const d=c.Ft(),f=c.Un();if(d.Zi()||!f.ze(i))return u;const m=f.Mh(i);if(m===null)return u;const p=q(c.Lt()),g=this.yn.mode===3?Sn:_n;return u.concat(g.map((v=>d.Nt(m.Wt[v],p.Wt))))}),[]);if(l.length===0)return e;l.sort(((u,c)=>Math.abs(u-o)-Math.abs(c-o)));const a=l[0];return e=h.Tn(a,r),e}}function St(n,t,i){return Math.min(Math.max(n,t),i)}function Ut(n,t,i){return t-n<=i}function Xt(n){const t=Math.ceil(n);return t%2==0?t-1:t}class En extends ht{constructor(){super(...arguments),this.qt=null}ht(t){this.qt=t}et({context:t,bitmapSize:i,horizontalPixelRatio:s,verticalPixelRatio:e}){if(this.qt===null)return;const h=Math.max(1,Math.floor(s));t.lineWidth=h,(function(r,o){r.save(),r.lineWidth%2&&r.translate(.5,.5),o(),r.restore()})(t,(()=>{const r=b(this.qt);if(r.Tl){t.strokeStyle=r.Rl,H(t,r.Dl),t.beginPath();for(const o of r.Il){const l=Math.round(o.Vl*s);t.moveTo(l,-h),t.lineTo(l,i.height+h)}t.stroke()}if(r.Bl){t.strokeStyle=r.El,H(t,r.Al),t.beginPath();for(const o of r.Ll){const l=Math.round(o.Vl*e);t.moveTo(-h,l),t.lineTo(i.width+h,l)}t.stroke()}}))}}class Pn{constructor(t){this.Xt=new En,this.xt=!0,this.yt=t}Pt(){this.xt=!0}Tt(){if(this.xt){const t=this.yt.Qt().N().grid,i={Bl:t.horzLines.visible,Tl:t.vertLines.visible,El:t.horzLines.color,Rl:t.vertLines.color,Al:t.horzLines.style,Dl:t.vertLines.style,Ll:this.yt.kn().zl(),Il:(this.yt.Qt().Et().zl()||[]).map((s=>({Vl:s.coord})))};this.Xt.ht(i),this.xt=!1}return this.Xt}}class Tn{constructor(t){this.Yh=new Pn(t)}wr(){return this.Yh}}const vi={Ol:4,Nl:1e-4};function rt(n,t){const i=100*(n-t)/t;return t<0?-i:i}function kn(n,t){const i=rt(n.Je(),t),s=rt(n.Qe(),t);return new R(i,s)}function Ct(n,t){const i=100*(n-t)/t+100;return t<0?-i:i}function Nn(n,t){const i=Ct(n.Je(),t),s=Ct(n.Qe(),t);return new R(i,s)}function Ht(n,t){const i=Math.abs(n);if(i<1e-15)return 0;const s=Math.log10(i+t.Nl)+t.Ol;return n<0?-s:s}function Et(n,t){const i=Math.abs(n);if(i<1e-15)return 0;const s=Math.pow(10,i-t.Ol)-t.Nl;return n<0?-s:s}function Pt(n,t){if(n===null)return null;const i=Ht(n.Je(),t),s=Ht(n.Qe(),t);return new R(i,s)}function ot(n,t){if(n===null)return null;const i=Et(n.Je(),t),s=Et(n.Qe(),t);return new R(i,s)}function gi(n){if(n===null)return vi;const t=Math.abs(n.Qe()-n.Je());if(t>=1||t<1e-15)return vi;const i=Math.ceil(Math.abs(Math.log10(t))),s=vi.Ol+i;return{Ol:s,Nl:1/Math.pow(10,s)}}class wi{constructor(t,i){if(this.Fl=t,this.Wl=i,(function(s){if(s<0)return!1;if(s>1e18)return!0;for(let e=s;e>1;e/=10)if(e%10!=0)return!1;return!0})(this.Fl))this.Hl=[2,2.5,2];else{this.Hl=[];for(let s=this.Fl;s!==1;){if(s%2==0)this.Hl.push(2),s/=2;else{if(s%5!=0)throw new Error("unexpected base");this.Hl.push(2,2.5),s/=5}if(this.Hl.length>100)throw new Error("something wrong with base")}}}Ul(t,i,s){const e=this.Fl===0?0:1/this.Fl;let h=Math.pow(10,Math.max(0,Math.ceil(Math.log10(t-i)))),r=0,o=this.Wl[0];for(;;){const c=Ut(h,e,1e-14)&&h>e+1e-14,d=Ut(h,s*o,1e-14),f=Ut(h,1,1e-14);if(!(c&&d&&f))break;h/=o,o=this.Wl[++r%this.Wl.length]}if(h<=e+1e-14&&(h=e),h=Math.max(1,h),this.Hl.length>0&&(l=h,a=1,u=1e-14,Math.abs(l-a)<u))for(r=0,o=this.Hl[0];Ut(h,s*o,1e-14)&&h>e+1e-14;)h/=o,o=this.Hl[++r%this.Hl.length];var l,a,u;return h}}class bs{constructor(t,i,s,e){this.$l=[],this.Ki=t,this.Fl=i,this.jl=s,this.ql=e}Ul(t,i){if(t<i)throw new Error("high < low");const s=this.Ki.$t(),e=(t-i)*this.Yl()/s,h=new wi(this.Fl,[2,2.5,2]),r=new wi(this.Fl,[2,2,2.5]),o=new wi(this.Fl,[2.5,2,2]),l=[];return l.push(h.Ul(t,i,e),r.Ul(t,i,e),o.Ul(t,i,e)),(function(a){if(a.length<1)throw Error("array is empty");let u=a[0];for(let c=1;c<a.length;++c)a[c]<u&&(u=a[c]);return u})(l)}Kl(){const t=this.Ki,i=t.Lt();if(i===null)return void(this.$l=[]);const s=t.$t(),e=this.jl(s-1,i),h=this.jl(0,i),r=this.Ki.N().entireTextOnly?this.Gl()/2:0,o=r,l=s-1-r,a=Math.max(e,h),u=Math.min(e,h);if(a===u)return void(this.$l=[]);const c=this.Ul(a,u);if(this.Zl(i,c,a,u,o,l),t.Xl()&&this.Jl(c,u,a)){const m=this.Ki.Ql();this.io(i,c,o,l,m,2*m)}const d=this.$l.map((m=>m.no)),f=this.Ki.so(d);for(let m=0;m<this.$l.length;m++)this.$l[m].eo=f[m]}zl(){return this.$l}Gl(){return this.Ki.P()}Yl(){return Math.ceil(this.Gl()*this.Ki.N().tickMarkDensity)}Zl(t,i,s,e,h,r){const o=this.$l,l=this.Ki;let a=s%i;a+=a<0?i:0;const u=s>=e?1:-1;let c=null,d=0;for(let f=s-a;f>e;f-=i){const m=this.ql(f,t,!0);c!==null&&Math.abs(m-c)<this.Yl()||m<h||m>r||(d<o.length?(o[d].Vl=m,o[d].eo=l.ro(f),o[d].no=f):o.push({Vl:m,eo:l.ro(f),no:f}),d++,c=m,l.ho()&&(i=this.Ul(f*u,e)))}o.length=d}io(t,i,s,e,h,r){const o=this.$l,l=this.ao(t,s,h,r),a=this.ao(t,e,-r,-h),u=this.ql(0,t,!0)-this.ql(i,t,!0);o.length>0&&o[0].Vl-l.Vl<u/2&&o.shift(),o.length>0&&a.Vl-o[o.length-1].Vl<u/2&&o.pop(),o.unshift(l),o.push(a)}ao(t,i,s,e){const h=(s+e)/2,r=this.jl(i+s,t),o=this.jl(i+e,t),l=Math.min(r,o),a=Math.max(r,o),u=Math.max(.1,this.Ul(a,l)),c=this.jl(i+h,t),d=c-c%u,f=this.ql(d,t,!0);return{eo:this.Ki.ro(d),Vl:f,no:d}}Jl(t,i,s){let e=q(this.Ki.ar());return this.Ki.ho()&&(e=ot(e,this.Ki.lo())),e.Je()-i<t&&s-e.Qe()<t}}function Ms(n){return n.slice().sort(((t,i)=>b(t.ln())-b(i.ln())))}var ys;(function(n){n[n.Normal=0]="Normal",n[n.Logarithmic=1]="Logarithmic",n[n.Percentage=2]="Percentage",n[n.IndexedTo100=3]="IndexedTo100"})(ys||(ys={}));const xs=new cs,_s=new Qt(100,1);class zn{constructor(t,i,s,e,h){this.oo=0,this._o=null,this.rr=null,this.uo=null,this.co={do:!1,fo:null},this.po=!1,this.vo=0,this.mo=0,this.wo=new k,this.Mo=new k,this.bo=[],this.So=null,this.xo=null,this.Co=null,this.yo=null,this.Po=null,this.el=_s,this.ko=gi(null),this.To=t,this.yn=i,this.Ro=s,this.Do=e,this.Io=h,this.Vo=new bs(this,100,this.Bo.bind(this),this.Eo.bind(this))}pl(){return this.To}N(){return this.yn}vr(t){if(F(this.yn,t),this.vl(),t.mode!==void 0&&this.Ao({_e:t.mode}),t.scaleMargins!==void 0){const i=B(t.scaleMargins.top),s=B(t.scaleMargins.bottom);if(i<0||i>1)throw new Error(`Invalid top margin - expect value between 0 and 1, given=${i}`);if(s<0||s>1)throw new Error(`Invalid bottom margin - expect value between 0 and 1, given=${s}`);if(i+s>1)throw new Error(`Invalid margins - sum of margins must be less than 1, given=${i+s}`);this.Lo(),this.Co=null}}zo(){return this.yn.autoScale}Oo(){return this.po}ho(){return this.yn.mode===1}je(){return this.yn.mode===2}No(){return this.yn.mode===3}lo(){return this.ko}_e(){return{hs:this.yn.autoScale,Fo:this.yn.invertScale,_e:this.yn.mode}}Ao(t){const i=this._e();let s=null;t.hs!==void 0&&(this.yn.autoScale=t.hs),t._e!==void 0&&(this.yn.mode=t._e,t._e!==2&&t._e!==3||(this.yn.autoScale=!0),this.co.do=!1),i._e===1&&t._e!==i._e&&((function(h,r){if(h===null)return!1;const o=Et(h.Je(),r),l=Et(h.Qe(),r);return isFinite(o)&&isFinite(l)})(this.rr,this.ko)?(s=ot(this.rr,this.ko),s!==null&&this.Wo(s)):this.yn.autoScale=!0),t._e===1&&t._e!==i._e&&(s=Pt(this.rr,this.ko),s!==null&&this.Wo(s));const e=i._e!==this.yn.mode;e&&(i._e===2||this.je())&&this.vl(),e&&(i._e===3||this.No())&&this.vl(),t.Fo!==void 0&&i.Fo!==t.Fo&&(this.yn.invertScale=t.Fo,this.Ho()),this.Mo.p(i,this._e())}Uo(){return this.Mo}P(){return this.Ro.fontSize}$t(){return this.oo}$o(t){this.oo!==t&&(this.oo=t,this.Lo(),this.Co=null)}jo(){if(this._o)return this._o;const t=this.$t()-this.qo()-this.Yo();return this._o=t,t}ar(){return this.Ko(),this.rr}Wo(t,i){const s=this.rr;(i||s===null&&t!==null||s!==null&&!s.Ze(t))&&(this.Co=null,this.rr=t)}Go(t){this.Wo(t),this.Zo(t!==null)}Zi(){return this.Ko(),this.oo===0||!this.rr||this.rr.Zi()}Xo(t){return this.Fo()?t:this.$t()-1-t}Nt(t,i){return this.je()?t=rt(t,i):this.No()&&(t=Ct(t,i)),this.Eo(t,i)}Jo(t,i,s){this.Ko();const e=this.Yo(),h=b(this.ar()),r=h.Je(),o=h.Qe(),l=this.jo()-1,a=this.Fo(),u=l/(o-r),c=s===void 0?0:s.from,d=s===void 0?t.length:s.to,f=this.Qo();for(let m=c;m<d;m++){const p=t[m],g=p.Mt;if(isNaN(g))continue;let v=g;f!==null&&(v=f(p.Mt,i));const w=e+u*(v-r),y=a?w:this.oo-1-w;p.ut=y}}t_(t,i,s){this.Ko();const e=this.Yo(),h=b(this.ar()),r=h.Je(),o=h.Qe(),l=this.jo()-1,a=this.Fo(),u=l/(o-r),c=s===void 0?0:s.from,d=s===void 0?t.length:s.to,f=this.Qo();for(let m=c;m<d;m++){const p=t[m];let g=p.jr,v=p.qr,w=p.Yr,y=p.Kr;f!==null&&(g=f(p.jr,i),v=f(p.qr,i),w=f(p.Yr,i),y=f(p.Kr,i));let M=e+u*(g-r),x=a?M:this.oo-1-M;p.i_=x,M=e+u*(v-r),x=a?M:this.oo-1-M,p.n_=x,M=e+u*(w-r),x=a?M:this.oo-1-M,p.s_=x,M=e+u*(y-r),x=a?M:this.oo-1-M,p.e_=x}}Tn(t,i){const s=this.Bo(t,i);return this.r_(s,i)}r_(t,i){let s=t;return this.je()?s=(function(e,h){return h<0&&(e=-e),e/100*h+h})(s,i):this.No()&&(s=(function(e,h){return e-=100,h<0&&(e=-e),e/100*h+h})(s,i)),s}kl(){return this.bo}Dt(){return this.xo||(this.xo=Ms(this.bo)),this.xo}h_(t){this.bo.indexOf(t)===-1&&(this.bo.push(t),this.vl(),this.a_())}l_(t){const i=this.bo.indexOf(t);if(i===-1)throw new Error("source is not attached to scale");this.bo.splice(i,1),this.bo.length===0&&(this.Ao({hs:!0}),this.Wo(null)),this.vl(),this.a_()}Lt(){let t=null;for(const i of this.bo){const s=i.Lt();s!==null&&(t===null||s.Oa<t.Oa)&&(t=s)}return t===null?null:t.Wt}Fo(){return this.yn.invertScale}zl(){const t=this.Lt()===null;if(this.Co!==null&&(t||this.Co.o_===t))return this.Co.zl;this.Vo.Kl();const i=this.Vo.zl();return this.Co={zl:i,o_:t},this.wo.p(),i}__(){return this.wo}u_(t){this.je()||this.No()||this.yo===null&&this.uo===null&&(this.Zi()||(this.yo=this.oo-t,this.uo=b(this.ar()).Xe()))}c_(t){if(this.je()||this.No()||this.yo===null)return;this.Ao({hs:!1}),(t=this.oo-t)<0&&(t=0);let i=(this.yo+.2*(this.oo-1))/(t+.2*(this.oo-1));const s=b(this.uo).Xe();i=Math.max(i,.1),s.ir(i),this.Wo(s)}d_(){this.je()||this.No()||(this.yo=null,this.uo=null)}f_(t){this.zo()||this.Po===null&&this.uo===null&&(this.Zi()||(this.Po=t,this.uo=b(this.ar()).Xe()))}p_(t){if(this.zo()||this.Po===null)return;const i=b(this.ar()).tr()/(this.jo()-1);let s=t-this.Po;this.Fo()&&(s*=-1);const e=s*i,h=b(this.uo).Xe();h.nr(e),this.Wo(h,!0),this.Co=null}v_(){this.zo()||this.Po!==null&&(this.Po=null,this.uo=null)}sl(){return this.el||this.vl(),this.el}Ji(t,i){switch(this.yn.mode){case 2:return this.m_(rt(t,i));case 3:return this.sl().format(Ct(t,i));default:return this.cr(t)}}ro(t){switch(this.yn.mode){case 2:return this.m_(t);case 3:return this.sl().format(t);default:return this.cr(t)}}so(t){switch(this.yn.mode){case 2:return this.w_(t);case 3:return this.sl().formatTickmarks(t);default:return this.M_(t)}}xa(t){return this.cr(t,b(this.So).sl())}Ca(t,i){return t=rt(t,i),this.m_(t,xs)}g_(){return this.bo}b_(t){this.co={fo:t,do:!1}}Nn(){this.bo.forEach((t=>t.Nn()))}Xl(){return this.yn.ensureEdgeTickMarksVisible&&this.zo()}Ql(){return this.P()/2}vl(){this.Co=null;let t=1/0;this.So=null;for(const s of this.bo)s.ln()<t&&(t=s.ln(),this.So=s);let i=100;this.So!==null&&(i=Math.round(this.So.Kh())),this.el=_s,this.je()?(this.el=xs,i=100):this.No()?(this.el=new Qt(100,1),i=100):this.So!==null&&(this.el=this.So.sl()),this.Vo=new bs(this,i,this.Bo.bind(this),this.Eo.bind(this)),this.Vo.Kl()}a_(){this.xo=null}S_(){return this.So===null||this.je()||this.No()?1:1/this.So.Kh()}Xi(){return this.Io}Zo(t){this.po=t}qo(){return this.Fo()?this.yn.scaleMargins.bottom*this.$t()+this.mo:this.yn.scaleMargins.top*this.$t()+this.vo}Yo(){return this.Fo()?this.yn.scaleMargins.top*this.$t()+this.vo:this.yn.scaleMargins.bottom*this.$t()+this.mo}Ko(){this.co.do||(this.co.do=!0,this.x_())}Lo(){this._o=null}Eo(t,i){if(this.Ko(),this.Zi())return 0;t=this.ho()&&t?Ht(t,this.ko):t;const s=b(this.ar()),e=this.Yo()+(this.jo()-1)*(t-s.Je())/s.tr();return this.Xo(e)}Bo(t,i){if(this.Ko(),this.Zi())return 0;const s=this.Xo(t),e=b(this.ar()),h=e.Je()+e.tr()*((s-this.Yo())/(this.jo()-1));return this.ho()?Et(h,this.ko):h}Ho(){this.Co=null,this.Vo.Kl()}x_(){if(this.Oo()&&!this.zo())return;const t=this.co.fo;if(t===null)return;let i=null;const s=this.g_();let e=0,h=0;for(const l of s){if(!l.It())continue;const a=l.Lt();if(a===null)continue;const u=l.la(t.Na(),t.bi());let c=u&&u.ar();if(c!==null){switch(this.yn.mode){case 1:c=Pt(c,this.ko);break;case 2:c=kn(c,a.Wt);break;case 3:c=Nn(c,a.Wt)}if(i=i===null?c:i.Ss(b(c)),u!==null){const d=u.lr();d!==null&&(e=Math.max(e,d.above),h=Math.max(h,d.below))}}}if(this.Xl()&&(e=Math.max(e,this.Ql()),h=Math.max(h,this.Ql())),e===this.vo&&h===this.mo||(this.vo=e,this.mo=h,this.Co=null,this.Lo()),i!==null){if(i.Je()===i.Qe()){const l=5*this.S_();this.ho()&&(i=ot(i,this.ko)),i=new R(i.Je()-l,i.Qe()+l),this.ho()&&(i=Pt(i,this.ko))}if(this.ho()){const l=ot(i,this.ko),a=gi(l);if(r=a,o=this.ko,r.Ol!==o.Ol||r.Nl!==o.Nl){const u=this.uo!==null?ot(this.uo,this.ko):null;this.ko=a,i=Pt(l,a),u!==null&&(this.uo=Pt(u,a))}}this.Wo(i)}else this.rr===null&&(this.Wo(new R(-.5,.5)),this.ko=gi(null));var r,o}Qo(){return this.je()?rt:this.No()?Ct:this.ho()?t=>Ht(t,this.ko):null}C_(t,i,s){return i===void 0?(s===void 0&&(s=this.sl()),s.format(t)):i(t)}y_(t,i,s){return i===void 0?(s===void 0&&(s=this.sl()),s.formatTickmarks(t)):i(t)}cr(t,i){return this.C_(t,this.Do.priceFormatter,i)}M_(t,i){const s=this.Do.priceFormatter;return this.y_(t,this.Do.tickmarksPriceFormatter??(s?e=>e.map(s):void 0),i)}m_(t,i){return this.C_(t,this.Do.percentageFormatter,i)}w_(t,i){const s=this.Do.percentageFormatter;return this.y_(t,this.Do.tickmarksPercentageFormatter??(s?e=>e.map(s):void 0),i)}}function Ss(n){return n instanceof Jt}class bi{constructor(t,i){this.bo=[],this.P_=new Map,this.oo=0,this.k_=0,this.T_=1,this.xo=null,this.R_=null,this.D_=!1,this.I_=new k,this.fa=[],this.ia=t,this.sn=i,this.V_=new Tn(this);const s=i.N();this.B_=this.E_("left",s.leftPriceScale),this.A_=this.E_("right",s.rightPriceScale),this.B_.Uo().i(this.L_.bind(this,this.B_),this),this.A_.Uo().i(this.L_.bind(this,this.A_),this),this.z_(s)}z_(t){if(t.leftPriceScale&&this.B_.vr(t.leftPriceScale),t.rightPriceScale&&this.A_.vr(t.rightPriceScale),t.localization&&(this.B_.vl(),this.A_.vl()),t.overlayPriceScales){const i=Array.from(this.P_.values());for(const s of i){const e=b(s[0].Ft());e.vr(t.overlayPriceScales),t.localization&&e.vl()}}}O_(t){switch(t){case"left":return this.B_;case"right":return this.A_}return this.P_.has(t)?B(this.P_.get(t))[0].Ft():null}m(){this.Qt().N_().u(this),this.B_.Uo().u(this),this.A_.Uo().u(this),this.bo.forEach((t=>{t.m&&t.m()})),this.fa=this.fa.filter((t=>{const i=t.Qh();return i.detached&&i.detached(),!1})),this.I_.p()}F_(){return this.T_}W_(t){this.T_=t}Qt(){return this.sn}nn(){return this.k_}$t(){return this.oo}H_(t){this.k_=t,this.U_()}$o(t){this.oo=t,this.B_.$o(t),this.A_.$o(t),this.bo.forEach((i=>{if(this.Gs(i)){const s=i.Ft();s!==null&&s.$o(t)}})),this.U_()}j_(t){this.D_=t}q_(){return this.D_}Y_(){return this.bo.filter(Ss)}kl(){return this.bo}Gs(t){const i=t.Ft();return i===null||this.B_!==i&&this.A_!==i}h_(t,i,s){this.K_(t,i,s?t.ln():this.bo.length)}l_(t,i){const s=this.bo.indexOf(t);L(s!==-1,"removeDataSource: invalid data source"),this.bo.splice(s,1),i||this.bo.forEach(((r,o)=>r._n(o)));const e=b(t.Ft()).pl();if(this.P_.has(e)){const r=B(this.P_.get(e)),o=r.indexOf(t);o!==-1&&(r.splice(o,1),r.length===0&&this.P_.delete(e))}const h=t.Ft();h&&h.kl().indexOf(t)>=0&&(h.l_(t),this.G_(h)),this.Z_()}Xs(t){return t===this.B_?"left":t===this.A_?"right":"overlay"}X_(){return this.B_}J_(){return this.A_}Q_(t,i){t.u_(i)}tu(t,i){t.c_(i),this.U_()}iu(t){t.d_()}nu(t,i){t.f_(i)}su(t,i){t.p_(i),this.U_()}eu(t){t.v_()}U_(){this.bo.forEach((t=>{t.Nn()}))}kn(){const[t,i]=this.ru();let s=null;return t.N().visible&&t.kl().length!==0?s=t:i.N().visible&&i.kl().length!==0?s=i:this.bo.length!==0&&(s=this.bo[0].Ft()),s===null&&(s=this.Zs()??t),s}Zs(){const[t,i]=this.ru();return t.N().visible?t:i.N().visible?i:null}G_(t){t!==null&&t.zo()&&this.hu(t)}au(t){const i=this.ia.Ee();t.Ao({hs:!0}),i!==null&&t.b_(i),this.U_()}lu(){this.hu(this.B_),this.hu(this.A_)}ou(){this.G_(this.B_),this.G_(this.A_),this.bo.forEach((t=>{this.Gs(t)&&this.G_(t.Ft())})),this.U_(),this.sn.mr()}Dt(){return this.xo===null&&(this.xo=Ms(this.bo)),this.xo}_u(){var r;const t=this.Dt(),i=(r=this.sn.cu())==null?void 0:r.uu,s=this.sn.N().hoveredSeriesOnTop,e=this.R_;if(e!==null&&e.Kh===t&&e.du===i&&e.fu===s)return e.pu;const h=(function(o,l,a){if(!a)return o;const u=o.indexOf(l);if(u===-1||u===o.length-1)return o;const c=[];for(let d=0;d<o.length;d++)d!==u&&c.push(o[d]);return c.push(o[u]),c})(t,i,s);return this.R_={Kh:t,du:i,fu:s,pu:h},h}vu(t,i){i=St(i,0,this.bo.length-1);const s=this.bo.indexOf(t);L(s!==-1,"setSeriesOrder: invalid data source"),this.bo.splice(s,1),this.bo.splice(i,0,t),this.bo.forEach(((e,h)=>e._n(h))),this.Z_();for(const e of[this.B_,this.A_])e.a_(),e.vl();this.sn.mr()}Vt(){return this.Dt().filter(Ss)}mu(){return this.I_}wu(){return this.V_}ol(t){this.fa.push(new pn(t))}_l(t){this.fa=this.fa.filter((i=>i.Qh()!==t)),t.detached&&t.detached(),this.sn.mr()}Mu(){return this.fa}il(t,i){return this.fa.map((s=>s.Qs(t,i))).filter((s=>s!==null))}hu(t){const i=t.g_();if(i&&i.length>0&&!this.ia.Zi()){const s=this.ia.Ee();s!==null&&t.b_(s)}t.Nn()}K_(t,i,s){let e=this.O_(i);if(e===null&&(e=this.E_(i,this.sn.N().overlayPriceScales)),this.bo.splice(s,0,t),!Vt(i)){const h=this.P_.get(i)||[];h.push(t),this.P_.set(i,h)}t._n(s),e.h_(t),t.un(e),this.G_(e),this.Z_()}Z_(){this.xo=null,this.R_=null}ru(){return this.sn.N().defaultVisiblePriceScaleId==="left"?[this.B_,this.A_]:[this.A_,this.B_]}L_(t,i,s){i._e!==s._e&&this.hu(t)}E_(t,i){const s={visible:!0,autoScale:!0,...V(i)},e=new zn(t,s,this.sn.N().layout,this.sn.N().localization,this.sn.Xi());return e.$o(this.$t()),e}}function Mi(n,t){return t===null||n.se===2&&t.se!==2||(t.se!==2||n.se===2)&&n.ne!==t.ne&&n.ne<t.ne}function Cs(n){return{te:n.te,ie:n.ie}}function Ln(n){return{ne:n.distance??0,se:n.hitTestPriority??(n.itemType==="marker"?2:0),ee:n.itemType??"primitive",gu:n.cursorStyle,te:n.externalId}}function Zt(n){return{uu:n.uu,bu:Cs(n.Su),gu:n.Su.gu,ee:n.Su.ee??"primitive"}}function In(n,t,i,s){var h;let e=null;for(const r of n){let o=((h=r.Qs)==null?void 0:h.call(r,t,i,s))??null;if(o===null){const l=r.Tt(s);o=l!==null&&l.Qs?l.Qs(t,i):null}if(o!==null){const l={xu:r,Su:o};(e===null||Mi(l.Su,e.Su))&&(e=l)}}return e}function Rn(n){return n.jn!==void 0}function Es(n,t,i){const s=[n,...n.Dt()].reverse(),e=(function(o,l,a){var p;let u,c,d;for(const g of o){const v=((p=g.il)==null?void 0:p.call(g,l,a))??[];for(const w of v){const y=Ln(w);f=w.zOrder,m=u==null?void 0:u.zOrder,(!m||f==="top"&&m!=="top"||f==="normal"&&m==="bottom"||w.zOrder===(u==null?void 0:u.zOrder)&&c!==void 0&&Mi(y,c)||w.zOrder===(u==null?void 0:u.zOrder)&&c===void 0)&&(u=w,c=y,d=g)}}var f,m;return u&&d&&c?{Su:c,Cu:u,uu:d}:null})(s,t,i);if((e==null?void 0:e.Cu.zOrder)==="top")return Zt(e);let h=null,r=null;for(const o of s){if(e&&e.uu===o&&e.Cu.zOrder!=="bottom"&&!e.Cu.isBackground)return h??Zt(e);if(Rn(o)){const l=In(o.jn(n),t,i,n);if(l!==null){const a={uu:o,xu:l.xu,bu:Cs(l.Su),gu:l.Su.gu,ee:l.Su.ee??"primitive"};(h===null||Mi(l.Su,r))&&(h=a,r=l.Su)}}if(e&&e.uu===o&&e.Cu.zOrder!=="bottom"&&e.Cu.isBackground)return h??Zt(e)}return h!==null?h:e!=null&&e.Cu?Zt(e):null}class Bn{constructor(t,i,s=50){this.Vs=0,this.Bs=1,this.Es=1,this.Ls=new Map,this.As=new Map,this.yu=t,this.Pu=i,this.zs=s}ku(t){const i=t.time,s=this.Pu.cacheKey(i),e=this.Ls.get(s);if(e!==void 0)return e.Tu;if(this.Vs===this.zs){const r=this.As.get(this.Es);this.As.delete(this.Es),this.Ls.delete(B(r)),this.Es++,this.Vs--}const h=this.yu(t);return this.Ls.set(s,{Tu:h,Ws:this.Bs}),this.As.set(this.Bs,s),this.Vs++,this.Bs++,h}}class lt{constructor(t,i){L(t<=i,"right should be >= left"),this.Ru=t,this.Du=i}Na(){return this.Ru}bi(){return this.Du}Iu(){return this.Du-this.Ru+1}ze(t){return this.Ru<=t&&t<=this.Du}Ze(t){return this.Ru===t.Na()&&this.Du===t.bi()}}function Ps(n,t){return n===null||t===null?n===t:n.Ze(t)}class Fn{constructor(){this.Vu=new Map,this.Ls=null,this.Bu=!1}Eu(t){this.Bu=t,this.Ls=null}Au(t,i){this.Lu(i),this.Ls=null;for(let s=i;s<t.length;++s){const e=t[s];let h=this.Vu.get(e.timeWeight);h===void 0&&(h=[],this.Vu.set(e.timeWeight,h)),h.push({index:s,time:e.time,weight:e.timeWeight,originalTime:e.originalTime})}}zu(t,i,s,e,h){const r=Math.ceil(i/t);return this.Ls!==null&&this.Ls.Ou===r&&h===this.Ls.Nu&&s===this.Ls.Fu||(this.Ls={Nu:h,Fu:s,zl:this.Wu(r,s,e),Ou:r}),this.Ls.zl}Lu(t){if(t===0)return void this.Vu.clear();const i=[];this.Vu.forEach(((s,e)=>{t<=s[0].index?i.push(e):s.splice(tt(s,t,(h=>h.index<t)),1/0)}));for(const s of i)this.Vu.delete(s)}Wu(t,i,s){let e=[];const h=r=>!i||s.has(r.index);for(const r of Array.from(this.Vu.keys()).sort(((o,l)=>l-o))){if(!this.Vu.get(r))continue;const o=e;e=[];const l=o.length;let a=0;const u=B(this.Vu.get(r)),c=u.length;let d=1/0,f=-1/0;for(let m=0;m<c;m++){const p=u[m],g=p.index;for(;a<l;){const v=o[a],w=v.index;if(!(w<g&&h(v))){d=w;break}a++,e.push(v),f=w,d=1/0}if(d-g>=t&&g-f>=t&&h(p))e.push(p),f=g;else if(this.Bu)return o}for(;a<l;a++)h(o[a])&&e.push(o[a])}return e}}class at{constructor(t){this.Hu=t}Uu(){return this.Hu===null?null:new lt(Math.floor(this.Hu.Na()),Math.ceil(this.Hu.bi()))}$u(){return this.Hu}static ju(){return new at(null)}}function Wn(n,t){return n.weight>t.weight?n:t}class On{constructor(t,i,s,e){this.k_=0,this.qu=null,this.Yu=[],this.Po=null,this.yo=null,this.Ku=new Fn,this.Gu=new Map,this.Zu=at.ju(),this.Xu=!0,this.Ju=new k,this.Qu=new k,this.tc=new k,this.nc=null,this.sc=null,this.ec=new Map,this.rc=-1,this.hc=[],this.ac=1,this.yn=i,this.Do=s,this.lc=i.rightOffset,this.oc=i.barSpacing,this.sn=t,this._c(i),this.Pu=e,this.uc(),this.Ku.Eu(i.uniformDistribution),this.cc(),this.dc()}N(){return this.yn}fc(t){F(this.Do,t),this.vc(),this.uc()}vr(t,i){F(this.yn,t),this.yn.fixLeftEdge&&this.mc(),this.yn.fixRightEdge&&this.wc(),t.barSpacing!==void 0&&this.sn.Ms(t.barSpacing),t.rightOffset!==void 0&&this.sn.gs(t.rightOffset),this._c(t),t.minBarSpacing===void 0&&t.maxBarSpacing===void 0||this.sn.Ms(t.barSpacing??this.oc),t.ignoreWhitespaceIndices!==void 0&&t.ignoreWhitespaceIndices!==this.yn.ignoreWhitespaceIndices&&this.dc(),this.vc(),this.uc(),t.enableConflation===void 0&&t.conflationThresholdFactor===void 0||this.cc(),this.tc.p()}Rn(t){var i;return((i=this.Yu[t])==null?void 0:i.time)??null}en(t){return this.Yu[t]??null}Mc(t,i){if(this.Yu.length<1)return null;if(this.Pu.key(t)>this.Pu.key(this.Yu[this.Yu.length-1].time))return i?this.Yu.length-1:null;const s=tt(this.Yu,this.Pu.key(t),((e,h)=>this.Pu.key(e.time)<h));return this.Pu.key(t)<this.Pu.key(this.Yu[s].time)?i?s:null:s}Zi(){return this.k_===0||this.Yu.length===0||this.qu===null}gc(){return this.Yu.length>0}Ee(){return this.bc(),this.Zu.Uu()}Sc(){return this.bc(),this.Zu.$u()}xc(){const t=this.Ee();if(t===null)return null;const i={from:t.Na(),to:t.bi()};return this.Cc(i)}Cc(t){const i=Math.round(t.from),s=Math.round(t.to),e=b(this.yc()),h=b(this.Pc());return{from:b(this.en(Math.max(e,i))),to:b(this.en(Math.min(h,s)))}}kc(t){return{from:b(this.Mc(t.from,!0)),to:b(this.Mc(t.to,!0))}}nn(){return this.k_}H_(t){if(!isFinite(t)||t<=0||this.k_===t)return;const i=this.Sc(),s=this.k_;if(this.k_=t,this.Xu=!0,this.yn.lockVisibleTimeRangeOnResize&&s!==0){const e=this.oc*t/s;this.oc=e}if(this.yn.fixLeftEdge&&i!==null&&i.Na()<=0){const e=s-t;this.lc-=Math.round(e/this.oc)+1,this.Xu=!0}this.Tc(),this.Rc()}jt(t){if(this.Zi()||!Mt(t))return 0;const i=this.Dc()+this.lc-t;return this.k_-(i+.5)*this.oc-1}Ic(t,i){const s=this.Dc(),e=i===void 0?0:i.from,h=i===void 0?t.length:i.to;for(let r=e;r<h;r++){const o=t[r].wt,l=s+this.lc-o,a=this.k_-(l+.5)*this.oc-1;t[r]._t=a}}Vc(t,i){const s=Math.ceil(this.Bc(t));return i&&this.yn.ignoreWhitespaceIndices&&!this.Ec(s)?this.Ac(s):s}gs(t){this.Xu=!0,this.lc=t,this.Rc(),this.sn.Lc(),this.sn.mr()}ml(){return this.oc}Ms(t){const i=this.oc;if(this.zc(t),this.yn.rightOffsetPixels!==void 0&&i!==0){const s=this.lc*i/this.oc;this.lc=s}this.Rc(),this.sn.Lc(),this.sn.mr()}Oc(){return this.lc}zl(){if(this.Zi())return null;if(this.sc!==null)return this.sc;const t=this.oc,i=5*(this.sn.N().layout.fontSize+4)/8*(this.yn.tickMarkMaxCharacterLength||8),s=Math.round(i/t),e=b(this.Ee()),h=Math.max(e.Na(),e.Na()-s),r=Math.max(e.bi(),e.bi()-s),o=this.Ku.zu(t,i,this.yn.ignoreWhitespaceIndices,this.ec,this.rc),l=this.yc()+s,a=this.Pc()-s,u=this.Nc(),c=this.yn.fixLeftEdge||u,d=this.yn.fixRightEdge||u;let f=0;for(const m of o){if(!(h<=m.index&&m.index<=r))continue;let p;f<this.hc.length?(p=this.hc[f],p.coord=this.jt(m.index),p.label=this.Fc(m),p.weight=m.weight):(p={needAlignCoordinate:!1,coord:this.jt(m.index),label:this.Fc(m),weight:m.weight},this.hc.push(p)),this.oc>i/2&&!u?p.needAlignCoordinate=!1:p.needAlignCoordinate=c&&m.index<=l||d&&m.index>=a,f++}return this.hc.length=f,this.sc=this.hc,this.hc}Wc(){let t;this.Xu=!0,this.Ms(this.yn.barSpacing),t=this.yn.rightOffsetPixels!==void 0?this.yn.rightOffsetPixels/this.ml():this.yn.rightOffset,this.gs(t)}Hc(t){this.Xu=!0,this.qu=t,this.Rc(),this.mc()}Uc(t,i){const s=this.Bc(t),e=this.ml(),h=e+i*(e/10);this.Ms(h),this.yn.rightBarStaysOnScroll||this.gs(this.Oc()+(s-this.Bc(t)))}u_(t){this.Po&&this.v_(),this.yo===null&&this.nc===null&&(this.Zi()||(this.yo=t,this.$c()))}c_(t){if(this.nc===null)return;const i=St(this.k_-t,0,this.k_),s=St(this.k_-b(this.yo),0,this.k_);i!==0&&s!==0&&this.Ms(this.nc.ml*i/s)}d_(){this.yo!==null&&(this.yo=null,this.jc())}f_(t){this.Po===null&&this.nc===null&&(this.Zi()||(this.Po=t,this.$c()))}p_(t){if(this.Po===null)return;const i=(this.Po-t)/this.ml();this.lc=b(this.nc).Oc+i,this.Xu=!0,this.Rc()}v_(){this.Po!==null&&(this.Po=null,this.jc())}qc(){this.Yc(this.yn.rightOffset)}Yc(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 s=this.lc,e=performance.now();this.sn.ps({Kc:h=>(h-e)/i>=1,Gc:h=>{const r=(h-e)/i;return r>=1?t:s+(t-s)*r}})}Pt(t,i){this.Xu=!0,this.Yu=t,this.Ku.Au(t,i),this.Rc()}Zc(){return this.Ju}Xc(){return this.Qu}Jc(){return this.tc}Dc(){return this.qu||0}Qc(t,i){const s=t.Iu(),e=i&&this.yn.rightOffsetPixels||0;this.zc((this.k_-e)/s),this.lc=t.bi()-this.Dc(),i&&(this.lc=e?e/this.ml():this.yn.rightOffset),this.Rc(),this.Xu=!0,this.sn.Lc(),this.sn.mr()}td(){const t=this.yc(),i=this.Pc();if(t===null||i===null)return;const s=!this.yn.rightOffsetPixels&&this.yn.rightOffset||0;this.Qc(new lt(t,i+s),!0)}nd(t){const i=new lt(t.from,t.to);this.Qc(i)}rn(t){return this.Do.timeFormatter!==void 0?this.Do.timeFormatter(t.originalTime):this.Pu.formatHorzItem(t.time)}dc(){if(!this.yn.ignoreWhitespaceIndices)return;this.ec.clear();const t=this.sn.Jn();for(const i of t)for(const s of i.fl())this.ec.set(s,!0);this.rc++}sd(){return this.ac}Sl(){const t=1/(window.devicePixelRatio||1),i=this.yn.minBarSpacing;if(i>=t)return[1];const s=[1];let e=2;for(;e<=512;)i<t/e&&s.push(e),e*=2;return s}Nc(){const t=this.sn.N().handleScroll,i=this.sn.N().handleScale;return!(t.horzTouchDrag||t.mouseWheel||t.pressedMouseMove||t.vertTouchDrag||i.axisDoubleClickReset.time||i.axisPressedMouseMove.time||i.mouseWheel||i.pinch)}yc(){return this.Yu.length===0?null:0}Pc(){return this.Yu.length===0?null:this.Yu.length-1}ed(t){return(this.k_-1-t)/this.oc}Bc(t){const i=this.ed(t),s=this.Dc()+this.lc-i;return Math.round(1e6*s)/1e6}zc(t){const i=this.oc;this.oc=t,this.Tc(),i!==this.oc&&(this.Xu=!0,this.rd(),this.cc())}bc(){if(!this.Xu)return;if(this.Xu=!1,this.Zi())return void this.hd(at.ju());const t=this.Dc(),i=this.k_/this.oc,s=this.lc+t,e=new lt(s-i+1,s);this.hd(new at(e))}Tc(){const t=St(this.oc,this.ad(),this.ld());this.oc!==t&&(this.oc=t,this.Xu=!0)}ld(){return this.yn.maxBarSpacing>0?this.yn.maxBarSpacing:.5*this.k_}ad(){return this.yn.fixLeftEdge&&this.yn.fixRightEdge&&this.Yu.length!==0?this.k_/this.Yu.length:this.yn.minBarSpacing}cc(){if(!this.yn.enableConflation)return void(this.ac=1);const t=1/(window.devicePixelRatio||1)*(this.yn.conflationThresholdFactor??1);if(this.oc>=t)return void(this.ac=1);const i=t/this.oc,s=Math.pow(2,Math.floor(Math.log2(i)));this.ac=Math.min(s,512)}Rc(){const t=this.od();t!==null&&this.lc<t&&(this.lc=t,this.Xu=!0);const i=this._d();this.lc>i&&(this.lc=i,this.Xu=!0)}od(){const t=this.yc(),i=this.qu;return t===null||i===null?null:t-i-1+(this.yn.fixLeftEdge?this.k_/this.oc:Math.min(2,this.Yu.length))}_d(){return this.yn.fixRightEdge?0:this.k_/this.oc-Math.min(2,this.Yu.length)}$c(){this.nc={ml:this.ml(),Oc:this.Oc()}}jc(){this.nc=null}Fc(t){let i=this.Gu.get(t.weight);return i===void 0&&(i=new Bn((s=>this.ud(s)),this.Pu),this.Gu.set(t.weight,i)),i.ku(t)}ud(t){return this.Pu.formatTickmark(t,this.Do)}hd(t){const i=this.Zu;this.Zu=t,Ps(i.Uu(),this.Zu.Uu())||this.Ju.p(),Ps(i.$u(),this.Zu.$u())||this.Qu.p(),this.rd()}rd(){this.sc=null}vc(){this.rd(),this.Gu.clear()}uc(){this.Pu.updateFormatter(this.Do)}mc(){if(!this.yn.fixLeftEdge)return;const t=this.yc();if(t===null)return;const i=this.Ee();if(i===null)return;const s=i.Na()-t;if(s<0){const e=this.lc-s-1;this.gs(e)}this.Tc()}wc(){this.Rc(),this.Tc()}Ec(t){return!this.yn.ignoreWhitespaceIndices||this.ec.get(t)||!1}Ac(t){const i=(function*(e){const h=Math.round(e),r=h<e;let o=1;for(;;)r?(yield h+o,yield h-o):(yield h-o,yield h+o),o++})(t),s=this.Pc();for(;s;){const e=i.next().value;if(this.ec.get(e))return e;if(e<0||e>s)break}return t}_c(t){if(t.rightOffsetPixels!==void 0){const i=t.rightOffsetPixels/(t.barSpacing||this.oc);this.sn.gs(i)}}}var Ts,ks,Ns,ti,zs;(function(n){n[n.OnTouchEnd=0]="OnTouchEnd",n[n.OnNextTap=1]="OnNextTap"})(Ts||(Ts={}));class Dn{constructor(t,i,s){this.dd=[],this.fd=[],this.pd=null,this.k_=0,this.vd=null,this.md=new k,this.wd=new k,this.Md=null,this.gd=t,this.yn=i,this.Pu=s,this.Io=new Re(this.yn.layout.colorParsers),this.bd=new Ie(this),this.ia=new On(this,i.timeScale,this.yn.localization,s),this.Ct=new qe(this,i.crosshair),this.Sd=new Cn(i.crosshair),i.addDefaultPane&&(this.xd(0),this.dd[0].W_(2)),this.Cd=this.yd(0),this.Pd=this.yd(1)}ka(){this.kd(I.ys())}mr(){this.kd(I.Cs())}Ya(){this.kd(new I(1))}Ta(t){const i=this.Td(t);this.kd(i)}cu(){return this.vd}Rd(t){var s,e,h,r,o,l,a,u,c;if(((s=this.vd)==null?void 0:s.uu)===(t==null?void 0:t.uu)&&((h=(e=this.vd)==null?void 0:e.bu)==null?void 0:h.te)===((r=t==null?void 0:t.bu)==null?void 0:r.te)&&((l=(o=this.vd)==null?void 0:o.bu)==null?void 0:l.ie)===((a=t==null?void 0:t.bu)==null?void 0:a.ie)&&((u=this.vd)==null?void 0:u.gu)===(t==null?void 0:t.gu)&&((c=this.vd)==null?void 0:c.ee)===(t==null?void 0:t.ee))return;const i=this.vd;this.vd=t,i!==null&&this.Ta(i.uu),t!==null&&t.uu!==(i==null?void 0:i.uu)&&this.Ta(t.uu)}N(){return this.yn}vr(t){F(this.yn,t),this.dd.forEach((i=>i.z_(t))),t.timeScale!==void 0&&this.ia.vr(t.timeScale),t.localization!==void 0&&this.ia.fc(t.localization),(t.leftPriceScale||t.rightPriceScale)&&this.md.p(),this.Cd=this.yd(0),this.Pd=this.yd(1),this.ka()}Dd(t,i,s=0){const e=this.dd[s];if(e===void 0)return;if(t==="left")return F(this.yn,{leftPriceScale:i}),e.z_({leftPriceScale:i}),this.md.p(),void this.ka();if(t==="right")return F(this.yn,{rightPriceScale:i}),e.z_({rightPriceScale:i}),this.md.p(),void this.ka();const h=this.Id(t,s);h!==null&&(h.Ft.vr(i),this.md.p())}Id(t,i){const s=this.dd[i];if(s===void 0)return null;const e=s.O_(t);return e!==null?{Kn:s,Ft:e}:null}Et(){return this.ia}Gn(){return this.dd}Vd(){return this.Ct}Bd(){return this.wd}Ed(t,i){t.$o(i),this.Lc()}H_(t){this.k_=t,this.ia.H_(this.k_),this.dd.forEach((i=>i.H_(t))),this.Lc()}Ad(t){this.dd.length!==1&&(L(t>=0&&t<this.dd.length,"Invalid pane index"),this.dd.splice(t,1),this.ka())}Ld(t,i){if(this.dd.length<2)return;L(t>=0&&t<this.dd.length,"Invalid pane index");const s=this.dd[t],e=this.dd.reduce(((c,d)=>c+d.F_()),0),h=this.dd.reduce(((c,d)=>c+d.$t()),0),r=h-30*(this.dd.length-1);i=Math.min(r,Math.max(30,i));const o=e/h,l=s.$t();s.W_(i*o);let a=i-l,u=this.dd.length-1;for(const c of this.dd)if(c!==s){const d=Math.min(r,Math.max(30,c.$t()-a/u));a-=c.$t()-d,u-=1;const f=d*o;c.W_(f)}this.ka()}zd(t,i){L(t>=0&&t<this.dd.length&&i>=0&&i<this.dd.length,"Invalid pane index");const s=this.dd[t],e=this.dd[i];this.dd[t]=e,this.dd[i]=s,this.ka()}Od(t,i){if(L(t>=0&&t<this.dd.length&&i>=0&&i<this.dd.length,"Invalid pane index"),t===i)return;const[s]=this.dd.splice(t,1);this.dd.splice(i,0,s),this.ka()}Q_(t,i,s){t.Q_(i,s)}tu(t,i,s){t.tu(i,s),this.Ra(),this.kd(this.Nd(t,2))}iu(t,i){t.iu(i),this.kd(this.Nd(t,2))}nu(t,i,s){i.zo()||t.nu(i,s)}su(t,i,s){i.zo()||(t.su(i,s),this.Ra(),this.kd(this.Nd(t,2)))}eu(t,i){i.zo()||(t.eu(i),this.kd(this.Nd(t,2)))}au(t,i){t.au(i),this.kd(this.Nd(t,2))}Fd(t){this.ia.u_(t)}Wd(t,i){const s=this.Et();if(s.Zi()||i===0)return;const e=s.nn();t=Math.max(1,Math.min(t,e)),s.Uc(t,i),this.Lc()}Hd(t){this.Ud(0),this.$d(t),this.jd()}qd(t){this.ia.c_(t),this.Lc()}Yd(){this.ia.d_(),this.mr()}Ud(t){this.ia.f_(t)}$d(t){this.ia.p_(t),this.Lc()}jd(){this.ia.v_(),this.mr()}Jn(){return this.fd}Wn(){return this.pd===null&&(this.pd=this.fd.filter((t=>t.It()))),this.pd}Pa(){this.pd=null}Kd(t,i,s,e,h){this.Ct.In(t,i);let r=NaN,o=this.ia.Vc(t,!0);const l=this.ia.Ee();l!==null&&(o=Math.min(Math.max(l.Na(),o),l.bi())),o=this.Ct.Fn(o);const a=e.kn(),u=a.Lt();if(u!==null&&(r=a.Tn(i,u)),r=this.Sd.Pl(r,o,e),this.Ct.An(o,r,e),this.Ya(),!h){const c=Es(e,t,i);this.Rd(c&&{uu:c.uu,bu:c.bu,gu:c.gu||null,ee:c.ee}),this.wd.p(this.Ct.Bt(),{x:t,y:i},s)}}Gd(t,i,s){const e=s.kn(),h=e.Lt(),r=e.Nt(t,b(h)),o=this.ia.Mc(i,!0),l=this.ia.jt(b(o));this.Kd(l,r,null,s,!0)}Zd(t){this.Vd().zn(),this.Ya(),t||this.wd.p(null,null,null)}Ra(){const t=this.Ct.Kn();if(t!==null){const i=this.Ct.Bn(),s=this.Ct.En();this.Kd(i,s,null,t)}this.Ct.Nn()}Xd(t,i,s){const e=this.ia.Rn(0);i!==void 0&&s!==void 0&&this.ia.Pt(i,s);const h=this.ia.Rn(0),r=this.ia.Dc(),o=this.ia.Ee();if(o!==null&&e!==null&&h!==null){const l=o.ze(r),a=this.Pu.key(e)>this.Pu.key(h),u=t!==null&&t>r&&!a,c=this.ia.N().allowShiftVisibleRangeOnWhitespaceReplacement,d=l&&(s!==void 0||c)&&this.ia.N().shiftVisibleRangeOnNewBar;if(u&&!d){const f=t-r;this.ia.gs(this.ia.Oc()-f)}}this.ia.Hc(t)}Ba(t){t!==null&&t.ou()}Ks(t){if((function(s){return s instanceof bi})(t))return t;const i=this.dd.find((s=>s.Dt().includes(t)));return i===void 0?null:i}Lc(){this.dd.forEach((t=>t.ou())),this.Ra()}m(){this.dd.forEach((t=>t.m())),this.dd.length=0,this.yn.localization.priceFormatter=void 0,this.yn.localization.percentageFormatter=void 0,this.yn.localization.timeFormatter=void 0}Jd(){return this.bd}Js(){return this.bd.N()}N_(){return this.md}Qd(t,i){const s=this.xd(i);this.tf(t,s),this.fd.push(t),this.Pa(),this.fd.length===1?this.ka():this.mr()}if(t){const i=this.Ks(t),s=this.fd.indexOf(t);L(s!==-1,"Series not found");const e=b(i);this.fd.splice(s,1),e.l_(t),t.m&&t.m(),this.Pa(),this.ia.dc(),this.nf(e)}ya(t,i){const s=b(this.Ks(t));s.l_(t,!0),s.h_(t,i,!0)}td(){const t=I.Cs();t.us(),this.kd(t)}sf(t){const i=I.Cs();i.fs(t),this.kd(i)}ws(){const t=I.Cs();t.ws(),this.kd(t)}Ms(t){const i=I.Cs();i.Ms(t),this.kd(i)}gs(t){const i=I.Cs();i.gs(t),this.kd(i)}ps(t){const i=I.Cs();i.ps(t),this.kd(i)}cs(){const t=I.Cs();t.cs(),this.kd(t)}ef(){const t=this.yn.defaultVisiblePriceScaleId,i=this.yn.leftPriceScale.visible;return i!==this.yn.rightPriceScale.visible?i?"left":"right":t}rf(t,i){if(L(i>=0,"Index should be greater or equal to 0"),i===this.hf(t))return;const s=b(this.Ks(t));s.l_(t);const e=this.xd(i);this.tf(t,e);let h=!1;s.kl().length===0&&(h=this.nf(s)),h||this.ka()}af(){return this.Pd}$(){return this.Cd}Ut(t){const i=this.Pd,s=this.Cd;if(i===s)return i;if(t=Math.max(0,Math.min(100,Math.round(100*t))),this.Md===null||this.Md.ah!==s||this.Md.oh!==i)this.Md={ah:s,oh:i,lf:new Map};else{const h=this.Md.lf.get(t);if(h!==void 0)return h}const e=this.Io.tt(s,i,t/100);return this.Md.lf.set(t,e),e}_f(t){return this.dd.indexOf(t)}Xi(){return this.Io}uf(){return this.cf()}cf(t){const i=new bi(this.ia,this);this.dd.push(i);const s=t??this.dd.length-1,e=I.ys();return e.es(s,{rs:0,hs:!0}),this.kd(e),i}xd(t){return L(t>=0,"Index should be greater or equal to 0"),(t=Math.min(this.dd.length,t))<this.dd.length?this.dd[t]:this.cf(t)}hf(t){return this.dd.findIndex((i=>i.Y_().includes(t)))}Nd(t,i){const s=new I(i);if(t!==null){const e=this.dd.indexOf(t);s.es(e,{rs:i})}return s}Td(t,i){return i===void 0&&(i=2),this.Nd(this.Ks(t),i)}kd(t){this.gd&&this.gd(t),this.dd.forEach((i=>i.wu().wr().Pt()))}tf(t,i){const s=t.N().priceScaleId,e=s!==void 0?s:this.ef();i.h_(t,e),Vt(e)||t.vr(t.N())}yd(t){const i=this.yn.layout;return i.background.type==="gradient"?t===0?i.background.topColor:i.background.bottomColor:i.background.color}nf(t){return!t.q_()&&t.kl().length===0&&this.dd.length>1&&(this.dd.splice(this._f(t),1),this.ka(),!0)}}function Ls(n){if(n>=1)return 0;let t=0;for(;t<8;t++){const i=Math.round(n);if(Math.abs(i-n)<1e-8)return t;n*=10}return t}function yi(n){return!Z(n)&&!yt(n)}function Is(n){return Z(n)}(function(n){n[n.Disabled=0]="Disabled",n[n.Continuous=1]="Continuous",n[n.OnDataUpdate=2]="OnDataUpdate"})(ks||(ks={})),(function(n){n[n.LastBar=0]="LastBar",n[n.LastVisible=1]="LastVisible"})(Ns||(Ns={})),(function(n){n.Solid="solid",n.VerticalGradient="gradient"})(ti||(ti={})),(function(n){n[n.Year=0]="Year",n[n.Month=1]="Month",n[n.DayOfMonth=2]="DayOfMonth",n[n.Time=3]="Time",n[n.TimeWithSeconds=4]="TimeWithSeconds"})(zs||(zs={}));const Rs=n=>n.getUTCFullYear();function Kn(n,t,i){return t.replace(/yyyy/g,(s=>Q(Rs(s),4))(n)).replace(/yy/g,(s=>Q(Rs(s)%100,2))(n)).replace(/MMMM/g,((s,e)=>new Date(s.getUTCFullYear(),s.getUTCMonth(),1).toLocaleString(e,{month:"long"}))(n,i)).replace(/MMM/g,((s,e)=>new Date(s.getUTCFullYear(),s.getUTCMonth(),1).toLocaleString(e,{month:"short"}))(n,i)).replace(/MM/g,(s=>Q((e=>e.getUTCMonth()+1)(s),2))(n)).replace(/dd/g,(s=>Q((e=>e.getUTCDate())(s),2))(n))}class Bs{constructor(t="yyyy-MM-dd",i="default"){this.df=t,this.ff=i}ku(t){return Kn(t,this.df,this.ff)}}class $n{constructor(t){this.pf=t||"%h:%m:%s"}ku(t){return this.pf.replace("%h",Q(t.getUTCHours(),2)).replace("%m",Q(t.getUTCMinutes(),2)).replace("%s",Q(t.getUTCSeconds(),2))}}const Vn={vf:"yyyy-MM-dd",mf:"%h:%m:%s",wf:" ",Mf:"default"};class Qn{constructor(t={}){const i={...Vn,...t};this.gf=new Bs(i.vf,i.Mf),this.bf=new $n(i.mf),this.Sf=i.wf}ku(t){return`${this.gf.ku(t)}${this.Sf}${this.bf.ku(t)}`}}function ii(n){return 60*n*60*1e3}function xi(n){return 60*n*1e3}const si=[{xf:(Fs=1,1e3*Fs),Cf:10},{xf:xi(1),Cf:20},{xf:xi(5),Cf:21},{xf:xi(30),Cf:22},{xf:ii(1),Cf:30},{xf:ii(3),Cf:31},{xf:ii(6),Cf:32},{xf:ii(12),Cf:33}];var Fs;function Ws(n,t){if(n.getUTCFullYear()!==t.getUTCFullYear())return 70;if(n.getUTCMonth()!==t.getUTCMonth())return 60;if(n.getUTCDate()!==t.getUTCDate())return 50;for(let i=si.length-1;i>=0;--i)if(Math.floor(t.getTime()/si[i].xf)!==Math.floor(n.getTime()/si[i].xf))return si[i].Cf;return 0}function _i(n){let t=n;if(yt(n)&&(t=Si(n)),!yi(t))throw new Error("time must be of type BusinessDay");const i=new Date(Date.UTC(t.year,t.month-1,t.day,0,0,0,0));return{yf:Math.round(i.getTime()/1e3),Pf:t}}function Os(n){if(!Is(n))throw new Error("time must be of type isUTCTimestamp");return{yf:n}}function Si(n){const t=new Date(n);if(isNaN(t.getTime()))throw new Error(`Invalid date string=${n}, expected format=yyyy-mm-dd`);return{day:t.getUTCDate(),month:t.getUTCMonth()+1,year:t.getUTCFullYear()}}function Ds(n){yt(n.time)&&(n.time=Si(n.time))}class Ks{options(){return this.yn}setOptions(t){this.yn=t,this.updateFormatter(t.localization)}preprocessData(t){Array.isArray(t)?(function(i){i.forEach(Ds)})(t):Ds(t)}createConverterToInternalObj(t){return b((function(i){return i.length===0?null:yi(i[0].time)||yt(i[0].time)?_i:Os})(t))}key(t){return typeof t=="object"&&"yf"in t?t.yf:this.key(this.convertHorzItemToInternal(t))}cacheKey(t){const i=t;return i.Pf===void 0?new Date(1e3*i.yf).getTime():new Date(Date.UTC(i.Pf.year,i.Pf.month-1,i.Pf.day)).getTime()}convertHorzItemToInternal(t){return Is(i=t)?Os(i):yi(i)?_i(i):_i(Si(i));var i}updateFormatter(t){if(!this.yn)return;const i=t.dateFormat;this.yn.timeScale.timeVisible?this.kf=new Qn({vf:i,mf:this.yn.timeScale.secondsVisible?"%h:%m:%s":"%h:%m",wf:" ",Mf:t.locale}):this.kf=new Bs(i,t.locale)}formatHorzItem(t){const i=t;return this.kf.ku(new Date(1e3*i.yf))}formatTickmark(t,i){const s=(function(h,r,o){switch(h){case 0:case 10:return r?o?4:3:2;case 20:case 21:case 22:case 30:case 31:case 32:case 33:return r?3:2;case 50:return 2;case 60:return 1;case 70:return 0}})(t.weight,this.yn.timeScale.timeVisible,this.yn.timeScale.secondsVisible),e=this.yn.timeScale;if(e.tickMarkFormatter!==void 0){const h=e.tickMarkFormatter(t.originalTime,s,i.locale);if(h!==null)return h}return(function(h,r,o){const l={};switch(r){case 0:l.year="numeric";break;case 1:l.month="short";break;case 2:l.day="numeric";break;case 3:l.hour12=!1,l.hour="2-digit",l.minute="2-digit";break;case 4:l.hour12=!1,l.hour="2-digit",l.minute="2-digit",l.second="2-digit"}const a=h.Pf===void 0?new Date(1e3*h.yf):new Date(Date.UTC(h.Pf.year,h.Pf.month-1,h.Pf.day));return new Date(a.getUTCFullYear(),a.getUTCMonth(),a.getUTCDate(),a.getUTCHours(),a.getUTCMinutes(),a.getUTCSeconds(),a.getUTCMilliseconds()).toLocaleString(o,l)})(t.time,s,i.locale)}maxTickMarkWeight(t){let i=t.reduce(Wn,t[0]).weight;return i>30&&i<50&&(i=30),i}fillWeightsForPoints(t,i){(function(s,e=0){if(s.length===0)return;let h=e===0?null:s[e-1].time.yf,r=h!==null?new Date(1e3*h):null,o=0;for(let l=e;l<s.length;++l){const a=s[l],u=new Date(1e3*a.time.yf);r!==null&&(a.timeWeight=Ws(u,r)),o+=a.time.yf-(h||a.time.yf),h=a.time.yf,r=u}if(e===0&&s.length>1){const l=Math.ceil(o/(s.length-1)),a=new Date(1e3*(s[0].time.yf-l));s[0].timeWeight=Ws(new Date(1e3*s[0].time.yf),a)}})(t,i)}static Tf(t){return F({localization:{dateFormat:"dd MMM 'yy"}},t??{})}}const ut=typeof window<"u";function $s(){return!!ut&&window.navigator.userAgent.toLowerCase().indexOf("firefox")>-1}function Ci(){return!!ut&&/iPhone|iPad|iPod/.test(window.navigator.platform)}function Yn(n,t){switch(n){case"custom":return t!==void 0?"custom-object":"series";case"price-line":return"custom-price-line";case"marker":return"series-marker";case"primitive":return"primitive";default:return"series"}}function Ei(n){return n+n%2}function qn(n){ut&&window.chrome!==void 0&&n.addEventListener("mousedown",(t=>{if(t.button===1)return t.preventDefault(),!1}))}class ei{constructor(t,i,s){this.Rf=0,this.Df=null,this.If={_t:Number.NEGATIVE_INFINITY,ut:Number.POSITIVE_INFINITY},this.Vf=0,this.Bf=null,this.Ef={_t:Number.NEGATIVE_INFINITY,ut:Number.POSITIVE_INFINITY},this.Af=null,this.Lf=!1,this.zf=null,this.Of=null,this.Nf=!1,this.Ff=!1,this.Wf=!1,this.Hf=null,this.Uf=null,this.$f=null,this.jf=null,this.qf=null,this.Yf=null,this.Kf=null,this.Gf=0,this.Zf=!1,this.Xf=!1,this.Jf=!1,this.Qf=0,this.tp=null,this.ip=!Ci(),this.np=e=>{this.sp(e)},this.ep=e=>{if(this.rp(e)){const h=this.hp(e);if(++this.Vf,this.Bf&&this.Vf>1){const{ap:r}=this.lp(O(e),this.Ef);r<30&&!this.Wf&&this.op(h,this.up._p),this.cp()}}else{const h=this.hp(e);if(++this.Rf,this.Df&&this.Rf>1){const{ap:r}=this.lp(O(e),this.If);r<5&&!this.Ff&&this.dp(h,this.up.fp),this.pp()}}},this.vp=t,this.up=i,this.yn=s,this.mp()}m(){this.Hf!==null&&(this.Hf(),this.Hf=null),this.Uf!==null&&(this.Uf(),this.Uf=null),this.jf!==null&&(this.jf(),this.jf=null),this.qf!==null&&(this.qf(),this.qf=null),this.Yf!==null&&(this.Yf(),this.Yf=null),this.$f!==null&&(this.$f(),this.$f=null),this.wp(),this.pp()}Mp(t){this.jf&&this.jf();const i=this.gp.bind(this);if(this.jf=()=>{this.vp.removeEventListener("mousemove",i)},this.vp.addEventListener("mousemove",i),this.rp(t))return;const s=this.hp(t);this.dp(s,this.up.bp),this.ip=!0}pp(){this.Df!==null&&clearTimeout(this.Df),this.Rf=0,this.Df=null,this.If={_t:Number.NEGATIVE_INFINITY,ut:Number.POSITIVE_INFINITY}}cp(){this.Bf!==null&&clearTimeout(this.Bf),this.Vf=0,this.Bf=null,this.Ef={_t:Number.NEGATIVE_INFINITY,ut:Number.POSITIVE_INFINITY}}gp(t){if(this.Jf||this.Of!==null||this.rp(t))return;const i=this.hp(t);this.dp(i,this.up.Sp),this.ip=!0}xp(t){const i=Pi(t.changedTouches,b(this.tp));if(i===null||(this.Qf=ni(t),this.Kf!==null)||this.Xf)return;this.Zf=!0;const s=this.lp(O(i),b(this.Of)),{Cp:e,yp:h,ap:r}=s;if(this.Nf||!(r<5)){if(!this.Nf){const o=.5*e,l=h>=o&&!this.yn.Pp(),a=o>h&&!this.yn.kp();l||a||(this.Xf=!0),this.Nf=!0,this.Wf=!0,this.wp(),this.cp()}if(!this.Xf){const o=this.hp(t,i);this.op(o,this.up.Tp),ct(t)}}}Rp(t){if(t.button!==0)return;const i=this.lp(O(t),b(this.zf)),{ap:s}=i;if(s>=5&&(this.Ff=!0,this.pp()),this.Ff){const e=this.hp(t);this.dp(e,this.up.Dp)}}lp(t,i){const s=Math.abs(i._t-t._t),e=Math.abs(i.ut-t.ut);return{Cp:s,yp:e,ap:s+e}}Ip(t){let i=Pi(t.changedTouches,b(this.tp));if(i===null&&t.touches.length===0&&(i=t.changedTouches[0]),i===null)return;this.tp=null,this.Qf=ni(t),this.wp(),this.Of=null,this.Yf&&(this.Yf(),this.Yf=null);const s=this.hp(t,i);if(this.op(s,this.up.Vp),++this.Vf,this.Bf&&this.Vf>1){const{ap:e}=this.lp(O(i),this.Ef);e<30&&!this.Wf&&this.op(s,this.up._p),this.cp()}else this.Wf||(this.op(s,this.up.Bp),this.up.Bp&&ct(t));this.Vf===0&&ct(t),t.touches.length===0&&this.Lf&&(this.Lf=!1,ct(t))}sp(t){if(t.button!==0)return;const i=this.hp(t);if(this.zf=null,this.Jf=!1,this.qf&&(this.qf(),this.qf=null),$s()&&this.vp.ownerDocument.documentElement.removeEventListener("mouseleave",this.np),!this.rp(t))if(this.dp(i,this.up.Ep),++this.Rf,this.Df&&this.Rf>1){const{ap:s}=this.lp(O(t),this.If);s<5&&!this.Ff&&this.dp(i,this.up.fp),this.pp()}else this.Ff||this.dp(i,this.up.Ap)}wp(){this.Af!==null&&(clearTimeout(this.Af),this.Af=null)}Lp(t){if(this.tp!==null)return;const i=t.changedTouches[0];this.tp=i.identifier,this.Qf=ni(t);const s=this.vp.ownerDocument.documentElement;this.Wf=!1,this.Nf=!1,this.Xf=!1,this.Of=O(i),this.Yf&&(this.Yf(),this.Yf=null);{const h=this.xp.bind(this),r=this.Ip.bind(this);this.Yf=()=>{s.removeEventListener("touchmove",h),s.removeEventListener("touchend",r)},s.addEventListener("touchmove",h,{passive:!1}),s.addEventListener("touchend",r,{passive:!1}),this.wp(),this.Af=setTimeout(this.zp.bind(this,t),240)}const e=this.hp(t,i);this.op(e,this.up.Op),this.Bf||(this.Vf=0,this.Bf=setTimeout(this.cp.bind(this),500),this.Ef=O(i))}Np(t){if(t.button!==0)return;const i=this.vp.ownerDocument.documentElement;$s()&&i.addEventListener("mouseleave",this.np),this.Ff=!1,this.zf=O(t),this.qf&&(this.qf(),this.qf=null);{const e=this.Rp.bind(this),h=this.sp.bind(this);this.qf=()=>{i.removeEventListener("mousemove",e),i.removeEventListener("mouseup",h)},i.addEventListener("mousemove",e),i.addEventListener("mouseup",h)}if(this.Jf=!0,this.rp(t))return;const s=this.hp(t);this.dp(s,this.up.Fp),this.Df||(this.Rf=0,this.Df=setTimeout(this.pp.bind(this),500),this.If=O(t))}mp(){this.vp.addEventListener("mouseenter",this.Mp.bind(this)),this.vp.addEventListener("touchcancel",this.wp.bind(this));{const t=this.vp.ownerDocument,i=s=>{this.up.Wp&&(s.composed&&this.vp.contains(s.composedPath()[0])||s.target&&this.vp.contains(s.target)||this.up.Wp())};this.Uf=()=>{t.removeEventListener("touchstart",i)},this.Hf=()=>{t.removeEventListener("mousedown",i)},t.addEventListener("mousedown",i),t.addEventListener("touchstart",i,{passive:!0})}Ci()&&(this.$f=()=>{this.vp.removeEventListener("dblclick",this.ep)},this.vp.addEventListener("dblclick",this.ep)),this.vp.addEventListener("mouseleave",this.Hp.bind(this)),this.vp.addEventListener("touchstart",this.Lp.bind(this),{passive:!0}),qn(this.vp),this.vp.addEventListener("mousedown",this.Np.bind(this)),this.Up(),this.vp.addEventListener("touchmove",(()=>{}),{passive:!1})}Up(){this.up.$p===void 0&&this.up.jp===void 0&&this.up.qp===void 0||(this.vp.addEventListener("touchstart",(t=>this.Yp(t.touches)),{passive:!0}),this.vp.addEventListener("touchmove",(t=>{if(t.touches.length===2&&this.Kf!==null&&this.up.jp!==void 0){const i=Vs(t.touches[0],t.touches[1])/this.Gf;this.up.jp(this.Kf,i),ct(t)}}),{passive:!1}),this.vp.addEventListener("touchend",(t=>{this.Yp(t.touches)})))}Yp(t){t.length===1&&(this.Zf=!1),t.length!==2||this.Zf||this.Lf?this.Kp():this.Gp(t)}Gp(t){const i=this.vp.getBoundingClientRect()||{left:0,top:0};this.Kf={_t:(t[0].clientX-i.left+(t[1].clientX-i.left))/2,ut:(t[0].clientY-i.top+(t[1].clientY-i.top))/2},this.Gf=Vs(t[0],t[1]),this.up.$p!==void 0&&this.up.$p(),this.wp()}Kp(){this.Kf!==null&&(this.Kf=null,this.up.qp!==void 0&&this.up.qp())}Hp(t){if(this.jf&&this.jf(),this.rp(t)||!this.ip)return;const i=this.hp(t);this.dp(i,this.up.Zp),this.ip=!Ci()}zp(t){const i=Pi(t.touches,b(this.tp));if(i===null)return;const s=this.hp(t,i);this.op(s,this.up.Xp),this.Wf=!0,this.Lf=!0}rp(t){return t.sourceCapabilities&&t.sourceCapabilities.firesTouchEvents!==void 0?t.sourceCapabilities.firesTouchEvents:ni(t)<this.Qf+500}op(t,i){i&&i.call(this.up,t)}dp(t,i){i&&i.call(this.up,t)}hp(t,i){const s=i||t,e=this.vp.getBoundingClientRect()||{left:0,top:0};return{clientX:s.clientX,clientY:s.clientY,pageX:s.pageX,pageY:s.pageY,screenX:s.screenX,screenY:s.screenY,localX:s.clientX-e.left,localY:s.clientY-e.top,ctrlKey:t.ctrlKey,altKey:t.altKey,shiftKey:t.shiftKey,metaKey:t.metaKey,Jp:!t.type.startsWith("mouse")&&t.type!=="contextmenu"&&t.type!=="click",Qp:t.type,tv:s.target,xu:t.view,iv:()=>{t.type!=="touchstart"&&ct(t)}}}}function Vs(n,t){const i=n.clientX-t.clientX,s=n.clientY-t.clientY;return Math.sqrt(i*i+s*s)}function ct(n){n.cancelable&&n.preventDefault()}function O(n){return{_t:n.pageX,ut:n.pageY}}function ni(n){return n.timeStamp||performance.now()}function Pi(n,t){for(let i=0;i<n.length;++i)if(n[i].identifier===t)return n[i];return null}class Gn{constructor(t,i,s){this.nv=null,this.sv=null,this.ev=!0,this.rv=null,this.hv=t,this.av=t.lv()[i],this.ov=t.lv()[s],this._v=document.createElement("tr"),this._v.style.height="1px",this.uv=document.createElement("td"),this.uv.style.position="relative",this.uv.style.padding="0",this.uv.style.margin="0",this.uv.setAttribute("colspan","3"),this.cv(),this._v.appendChild(this.uv),this.ev=this.hv.N().layout.panes.enableResize,this.ev?this.dv():(this.nv=null,this.sv=null)}m(){this.sv!==null&&this.sv.m()}fv(){return this._v}pv(){return S({width:this.av.pv().width,height:1})}vv(){return S({width:this.av.vv().width,height:1*window.devicePixelRatio})}mv(t,i,s){const e=this.vv();t.fillStyle=this.hv.N().layout.panes.separatorColor,t.fillRect(i,s,e.width,e.height)}Pt(){this.cv(),this.hv.N().layout.panes.enableResize!==this.ev&&(this.ev=this.hv.N().layout.panes.enableResize,this.ev?this.dv():(this.nv!==null&&(this.uv.removeChild(this.nv.wv),this.uv.removeChild(this.nv.Mv),this.nv=null),this.sv!==null&&(this.sv.m(),this.sv=null)))}dv(){const t=document.createElement("div"),i=t.style;i.position="fixed",i.display="none",i.zIndex="49",i.top="0",i.left="0",i.width="100%",i.height="100%",i.cursor="row-resize",this.uv.appendChild(t);const s=document.createElement("div"),e=s.style;e.position="absolute",e.zIndex="50",e.top="-4px",e.height="9px",e.width="100%",e.backgroundColor="",e.cursor="row-resize",this.uv.appendChild(s);const h={bp:this.gv.bind(this),Zp:this.bv.bind(this),Fp:this.Sv.bind(this),Op:this.Sv.bind(this),Dp:this.xv.bind(this),Tp:this.xv.bind(this),Ep:this.Cv.bind(this),Vp:this.Cv.bind(this)};this.sv=new ei(s,h,{Pp:()=>!1,kp:()=>!0}),this.nv={Mv:s,wv:t}}cv(){this.uv.style.background=this.hv.N().layout.panes.separatorColor}gv(t){this.nv!==null&&(this.nv.Mv.style.backgroundColor=this.hv.N().layout.panes.separatorHoverColor)}bv(t){this.nv!==null&&this.rv===null&&(this.nv.Mv.style.backgroundColor="")}Sv(t){if(this.nv===null)return;const i=this.av.yv().F_()+this.ov.yv().F_(),s=i/(this.av.pv().height+this.ov.pv().height),e=30*s;i<=2*e||(this.rv={Pv:t.pageY,kv:this.av.yv().F_(),Tv:i-e,Rv:i,Dv:s,Iv:e},this.nv.wv.style.display="block")}xv(t){const i=this.rv;if(i===null)return;const s=(t.pageY-i.Pv)*i.Dv,e=St(i.kv+s,i.Iv,i.Tv);this.av.yv().W_(e),this.ov.yv().W_(i.Rv-e),this.hv.Qt().ka()}Cv(t){this.rv!==null&&this.nv!==null&&(this.rv=null,this.nv.wv.style.display="none")}}function Ti(n,t){return n.Vv-t.Vv}function ki(n,t,i){const s=(n.Vv-t.Vv)/(n.wt-t.wt);return Math.sign(s)*Math.min(Math.abs(s),i)}class An{constructor(t,i,s,e){this.Bv=null,this.Ev=null,this.Av=null,this.Lv=null,this.zv=null,this.Ov=0,this.Nv=0,this.Fv=t,this.Wv=i,this.Hv=s,this.Ps=e}Uv(t,i){if(this.Bv!==null){if(this.Bv.wt===i)return void(this.Bv.Vv=t);if(Math.abs(this.Bv.Vv-t)<this.Ps)return}this.Lv=this.Av,this.Av=this.Ev,this.Ev=this.Bv,this.Bv={wt:i,Vv:t}}me(t,i){if(this.Bv===null||this.Ev===null||i-this.Bv.wt>50)return;let s=0;const e=ki(this.Bv,this.Ev,this.Wv),h=Ti(this.Bv,this.Ev),r=[e],o=[h];if(s+=h,this.Av!==null){const a=ki(this.Ev,this.Av,this.Wv);if(Math.sign(a)===Math.sign(e)){const u=Ti(this.Ev,this.Av);if(r.push(a),o.push(u),s+=u,this.Lv!==null){const c=ki(this.Av,this.Lv,this.Wv);if(Math.sign(c)===Math.sign(e)){const d=Ti(this.Av,this.Lv);r.push(c),o.push(d),s+=d}}}}let l=0;for(let a=0;a<r.length;++a)l+=o[a]/s*r[a];Math.abs(l)<this.Fv||(this.zv={Vv:t,wt:i},this.Nv=l,this.Ov=(function(a,u){const c=Math.log(u);return Math.log(1*c/-a)/c})(Math.abs(l),this.Hv))}Gc(t){const i=b(this.zv),s=t-i.wt;return i.Vv+this.Nv*(Math.pow(this.Hv,s)-1)/Math.log(this.Hv)}Kc(t){return this.zv===null||this.$v(t)===this.Ov}$v(t){const i=t-b(this.zv).wt;return Math.min(i,this.Ov)}}class jn{constructor(t,i){this.jv=void 0,this.qv=void 0,this.Yv=void 0,this.vn=!1,this.Kv=t,this.Gv=i,this.Zv()}Pt(){this.Zv()}Xv(){this.jv&&this.Kv.removeChild(this.jv),this.qv&&this.Kv.removeChild(this.qv),this.jv=void 0,this.qv=void 0}Jv(){return this.vn!==this.Qv()||this.Yv!==this.tm()}tm(){return this.Gv.Qt().Xi().J(this.Gv.N().layout.textColor)>160?"dark":"light"}Qv(){return this.Gv.N().layout.attributionLogo}im(){const t=new URL(location.href);return t.hostname?"&utm_source="+t.hostname+t.pathname:""}Zv(){this.Jv()&&(this.Xv(),this.vn=this.Qv(),this.vn&&(this.Yv=this.tm(),this.qv=document.createElement("style"),this.qv.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.jv=document.createElement("a"),this.jv.href=`https://www.tradingview.com/?utm_medium=lwc-link&utm_campaign=lwc-chart${this.im()}`,this.jv.title="Charting by TradingView",this.jv.id="tv-attr-logo",this.jv.target="_blank",this.jv.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" 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.jv.toggleAttribute("data-dark",this.Yv==="dark"),this.Kv.appendChild(this.qv),this.Kv.appendChild(this.jv)))}}function it(n,t){const i=b(n.ownerDocument).createElement("canvas");n.appendChild(i);const s=ke(i,{options:{allowResizeObserver:!0},transform:(e,h)=>({width:Math.max(e.width,h.width),height:Math.max(e.height,h.height)})});return s.resizeCanvasElement(t),s}function st(n){var t;n.width=1,n.height=1,(t=n.getContext("2d"))==null||t.clearRect(0,0,1,1)}function hi(n,t,i,s){n.qh&&n.qh(t,i,s)}function Tt(n,t,i,s){n.st(t,i,s)}function Ni(n,t,i,s){Qs(n(i,s),t,s)}function Qs(n,t,i){for(const s of n){const e=s.Tt(i);e!==null&&t(e)}}function zi(n,t){return i=>{var s,e;return(function(h){return h.Ft!==void 0})(i)?(((s=i.Ft())==null?void 0:s.pl())??"")!==t?[]:((e=i.Qa)==null?void 0:e.call(i,n))??[]:[]}}function Ys(n,t,i,s){if(!n.length)return;let e=0;const h=n[0].$t(s,!0);let r=t===1?i/2-(n[0].Hi()-h/2):n[0].Hi()-h/2-i/2;r=Math.max(0,r);for(let o=1;o<n.length;o++){const l=n[o],a=n[o-1],u=a.$t(s,!1),c=l.Hi(),d=a.Hi();if(t===1?c>d-u:c<d+u){const f=d-u*t;l.Ui(f);const m=f-t*u/2;if((t===1?m<0:m>i)&&r>0){const p=t===1?-1-m:m-i,g=Math.min(p,r);for(let v=e;v<n.length;v++)n[v].Ui(n[v].Hi()+t*g);r-=g}}else e=o,r=t===1?d-u-c:c-(d+u)}}class qs{constructor(t,i,s,e){this.Ki=null,this.nm=null,this.sm=!1,this.rm=new _t(200),this.hm=null,this.am=0,this.lm=!1,this.om=()=>{this.lm||this.yt._m().Qt().mr()},this.um=()=>{this.lm||this.yt._m().Qt().mr()},this.yt=t,this.yn=i,this.Ro=i.layout,this.bd=s,this.dm=e==="left",this.fm=zi("normal",e),this.pm=zi("top",e),this.vm=zi("bottom",e),this.uv=document.createElement("div"),this.uv.style.height="100%",this.uv.style.overflow="hidden",this.uv.style.width="25px",this.uv.style.left="0",this.uv.style.position="relative",this.wm=it(this.uv,S({width:16,height:16})),this.wm.subscribeSuggestedBitmapSizeChanged(this.om);const h=this.wm.canvasElement;h.style.position="absolute",h.style.zIndex="1",h.style.left="0",h.style.top="0",this.Mm=it(this.uv,S({width:16,height:16})),this.Mm.subscribeSuggestedBitmapSizeChanged(this.um);const r=this.Mm.canvasElement;r.style.position="absolute",r.style.zIndex="2",r.style.left="0",r.style.top="0";const o={Fp:this.Sv.bind(this),Op:this.Sv.bind(this),Dp:this.xv.bind(this),Tp:this.xv.bind(this),Wp:this.gm.bind(this),Ep:this.Cv.bind(this),Vp:this.Cv.bind(this),fp:this.bm.bind(this),_p:this.bm.bind(this),bp:this.Sm.bind(this),Zp:this.bv.bind(this)};this.sv=new ei(this.Mm.canvasElement,o,{Pp:()=>!this.yn.handleScroll.vertTouchDrag,kp:()=>!0})}m(){this.sv.m(),this.Mm.unsubscribeSuggestedBitmapSizeChanged(this.um),st(this.Mm.canvasElement),this.Mm.dispose(),this.wm.unsubscribeSuggestedBitmapSizeChanged(this.om),st(this.wm.canvasElement),this.wm.dispose(),this.Ki!==null&&this.Ki.__().u(this),this.Ki=null}fv(){return this.uv}P(){return this.Ro.fontSize}xm(){const t=this.bd.N();return this.hm!==t.k&&(this.rm.Os(),this.hm=t.k),t}Cm(){if(this.Ki===null)return 0;let t=0;const i=this.xm(),s=b(this.wm.canvasElement.getContext("2d",{colorSpace:this.yt._m().N().layout.colorSpace}));s.save();const e=this.Ki.zl();s.font=this.ym(),e.length>0&&(t=Math.max(this.rm.Ii(s,e[0].eo),this.rm.Ii(s,e[e.length-1].eo)));const h=this.Pm();for(let a=h.length;a--;){const u=this.rm.Ii(s,h[a].ri());u>t&&(t=u)}const r=this.Ki.Lt();if(r!==null&&this.nm!==null&&(o=this.yn.crosshair).mode!==2&&o.horzLine.visible&&o.horzLine.labelVisible){const a=this.Ki.Tn(1,r),u=this.Ki.Tn(this.nm.height-2,r);t=Math.max(t,this.rm.Ii(s,this.Ki.Ji(Math.floor(Math.min(a,u))+.11111111111111,r)),this.rm.Ii(s,this.Ki.Ji(Math.ceil(Math.max(a,u))-.11111111111111,r)))}var o;s.restore();const l=t||34;return Ei(Math.ceil(i.S+i.C+i.V+i.B+5+l))}km(t){this.nm!==null&&N(this.nm,t)||(this.nm=t,this.lm=!0,this.wm.resizeCanvasElement(t),this.Mm.resizeCanvasElement(t),this.lm=!1,this.uv.style.width=`${t.width}px`,this.uv.style.height=`${t.height}px`)}Tm(){return b(this.nm).width}un(t){this.Ki!==t&&(this.Ki!==null&&this.Ki.__().u(this),this.Ki=t,t.__().i(this.wo.bind(this),this))}Ft(){return this.Ki}Os(){const t=this.yt.yv();this.yt._m().Qt().au(t,b(this.Ft()))}Rm(t){if(this.nm===null)return;const i={colorSpace:this.yt._m().N().layout.colorSpace};if(t!==1){this.Dm(),this.wm.applySuggestedBitmapSize();const e=X(this.wm,i);e!==null&&(e.useBitmapCoordinateSpace((h=>{this.Im(h),this.Vm(h)})),this.yt.Bm(e,this.vm),this.Em(e),this.yt.Bm(e,this.fm),this.Am(e))}this.Mm.applySuggestedBitmapSize();const s=X(this.Mm,i);s!==null&&(s.useBitmapCoordinateSpace((({context:e,bitmapSize:h})=>{e.clearRect(0,0,h.width,h.height)})),this.Lm(s),this.yt.Bm(s,this.pm))}vv(){return this.wm.bitmapSize}mv(t,i,s,e){const h=this.vv();if(h.width>0&&h.height>0&&(t.drawImage(this.wm.canvasElement,i,s),e)){const r=this.Mm.canvasElement;t.drawImage(r,i,s)}}Pt(){var t;(t=this.Ki)==null||t.zl()}Sv(t){if(this.Ki===null||this.Ki.Zi()||!this.yn.handleScale.axisPressedMouseMove.price)return;const i=this.yt._m().Qt(),s=this.yt.yv();this.sm=!0,i.Q_(s,this.Ki,t.localY)}xv(t){if(this.Ki===null||!this.yn.handleScale.axisPressedMouseMove.price)return;const i=this.yt._m().Qt(),s=this.yt.yv(),e=this.Ki;i.tu(s,e,t.localY)}gm(){if(this.Ki===null||!this.yn.handleScale.axisPressedMouseMove.price)return;const t=this.yt._m().Qt(),i=this.yt.yv(),s=this.Ki;this.sm&&(this.sm=!1,t.iu(i,s))}Cv(t){if(this.Ki===null||!this.yn.handleScale.axisPressedMouseMove.price)return;const i=this.yt._m().Qt(),s=this.yt.yv();this.sm=!1,i.iu(s,this.Ki)}bm(t){this.yn.handleScale.axisDoubleClickReset.price&&this.Os()}Sm(t){this.Ki!==null&&(!this.yt._m().Qt().N().handleScale.axisPressedMouseMove.price||this.Ki.je()||this.Ki.No()||this.zm(1))}bv(t){this.zm(0)}Pm(){const t=[],i=this.Ki===null?void 0:this.Ki;return(s=>{for(let e=0;e<s.length;++e){const h=s[e].qn(this.yt.yv(),i);for(let r=0;r<h.length;r++)t.push(h[r])}})(this.yt.yv().Dt()),t}Im({context:t,bitmapSize:i}){const{width:s,height:e}=i,h=this.yt.yv().Qt(),r=h.$(),o=h.af();r===o?Kt(t,0,0,s,e,r):ns(t,0,0,s,e,r,o)}Vm({context:t,bitmapSize:i,horizontalPixelRatio:s}){if(this.nm===null||this.Ki===null||!this.Ki.N().borderVisible)return;t.fillStyle=this.Ki.N().borderColor;const e=Math.max(1,Math.floor(this.xm().S*s));let h;h=this.dm?i.width-e:0,t.fillRect(h,0,e,i.height)}Em(t){if(this.nm===null||this.Ki===null)return;const i=this.Ki.zl(),s=this.Ki.N(),e=this.xm(),h=this.dm?this.nm.width-e.C:0;s.borderVisible&&s.ticksVisible&&t.useBitmapCoordinateSpace((({context:r,horizontalPixelRatio:o,verticalPixelRatio:l})=>{r.fillStyle=s.borderColor;const a=Math.max(1,Math.floor(l)),u=Math.floor(.5*l),c=Math.round(e.C*o);r.beginPath();for(const d of i)r.rect(Math.floor(h*o),Math.round(d.Vl*l)-u,c,a);r.fill()})),t.useMediaCoordinateSpace((({context:r})=>{r.font=this.ym(),r.fillStyle=s.textColor??this.Ro.textColor,r.textAlign=this.dm?"right":"left",r.textBaseline="middle";const o=this.dm?Math.round(h-e.V):Math.round(h+e.C+e.V),l=i.map((a=>this.rm.Di(r,a.eo)));for(let a=i.length;a--;){const u=i[a];r.fillText(u.eo,o,u.Vl+l[a])}}))}Dm(){if(this.nm===null||this.Ki===null)return;let t=this.nm.height/2;const i=[],s=this.Ki.Dt().slice(),e=this.yt.yv(),h=this.xm();this.Ki===e.Zs()&&this.yt.yv().Dt().forEach((l=>{e.Gs(l)&&s.push(l)}));const r=this.Ki.kl()[0],o=this.Ki;s.forEach((l=>{const a=l.qn(e,o);a.forEach((u=>{u.$i()&&u.Wi()===null&&(u.Ui(null),i.push(u))})),r===l&&a.length>0&&(t=a[0].Ei())})),this.Ki.N().alignLabels&&this.Om(i,h,t)}Om(t,i,s){if(this.nm===null)return;const e=t.filter((r=>r.Ei()<=s)),h=t.filter((r=>r.Ei()>s));e.sort(((r,o)=>o.Ei()-r.Ei())),e.length&&h.length&&h.push(e[0]),h.sort(((r,o)=>r.Ei()-o.Ei()));for(const r of t){const o=Math.floor(r.$t(i)/2),l=r.Ei();l>-o&&l<o&&r.Ui(o),l>this.nm.height-o&&l<this.nm.height+o&&r.Ui(this.nm.height-o)}Ys(e,1,this.nm.height,i),Ys(h,-1,this.nm.height,i)}Am(t){if(this.nm===null)return;const i=this.Pm(),s=this.xm(),e=this.dm?"right":"left";i.forEach((h=>{h.ji()&&h.Tt(b(this.Ki)).st(t,s,this.rm,e)}))}Lm(t){if(this.nm===null||this.Ki===null)return;const i=this.yt._m().Qt(),s=[],e=this.yt.yv(),h=i.Vd().qn(e,this.Ki);h.length&&s.push(h);const r=this.xm(),o=this.dm?"right":"left";s.forEach((l=>{l.forEach((a=>{a.Tt(b(this.Ki)).st(t,r,this.rm,o)}))}))}zm(t){this.uv.style.cursor=t===1?"ns-resize":"default"}wo(){const t=this.Cm();this.am<t&&this.yt._m().Qt().ka(),this.am=t}ym(){return xt(this.Ro.fontSize,this.Ro.fontFamily)}}function Jn(n,t){var i;return((i=n.Xa)==null?void 0:i.call(n,t))??[]}function Li(n,t){var i;return((i=n.jn)==null?void 0:i.call(n,t))??[]}function Gs(n,t){var i;return((i=n.cn)==null?void 0:i.call(n,t))??[]}function Un(n,t){var i;return((i=n.qa)==null?void 0:i.call(n,t))??[]}class Ii{constructor(t,i){this.nm=S({width:0,height:0}),this.Nm=null,this.Fm=null,this.Wm=null,this.Hm=null,this.Um=!1,this.$m=new k,this.jm=new k,this.qm=0,this.Ym=!1,this.Km=null,this.Gm=!1,this.Zm=null,this.Xm=null,this.lm=!1,this.om=()=>{this.lm||this.Jm===null||this.sn().mr()},this.um=()=>{this.lm||this.Jm===null||this.sn().mr()},this.Gv=t,this.Jm=i,this.Jm.mu().i(this.Qm.bind(this),this,!0),this.tw=document.createElement("td"),this.tw.style.padding="0",this.tw.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.iw=document.createElement("td"),this.iw.style.padding="0",this.nw=document.createElement("td"),this.nw.style.padding="0",this.tw.appendChild(s),this.wm=it(s,S({width:16,height:16})),this.wm.subscribeSuggestedBitmapSizeChanged(this.om);const e=this.wm.canvasElement;e.style.position="absolute",e.style.zIndex="1",e.style.left="0",e.style.top="0",this.Mm=it(s,S({width:16,height:16})),this.Mm.subscribeSuggestedBitmapSizeChanged(this.um);const h=this.Mm.canvasElement;h.style.position="absolute",h.style.zIndex="2",h.style.left="0",h.style.top="0",this._v=document.createElement("tr"),this._v.appendChild(this.iw),this._v.appendChild(this.tw),this._v.appendChild(this.nw),this.sw(),this.sv=new ei(this.Mm.canvasElement,this,{Pp:()=>this.Km===null&&!this.Gv.N().handleScroll.vertTouchDrag,kp:()=>this.Km===null&&!this.Gv.N().handleScroll.horzTouchDrag})}m(){this.Nm!==null&&this.Nm.m(),this.Fm!==null&&this.Fm.m(),this.Wm=null,this.Mm.unsubscribeSuggestedBitmapSizeChanged(this.um),st(this.Mm.canvasElement),this.Mm.dispose(),this.wm.unsubscribeSuggestedBitmapSizeChanged(this.om),st(this.wm.canvasElement),this.wm.dispose(),this.Jm!==null&&(this.Jm.mu().u(this),this.Jm.m()),this.sv.m()}yv(){return b(this.Jm)}ew(t){var i;this.Jm!==null&&this.Jm.mu().u(this),this.Jm=t,this.Jm!==null&&this.Jm.mu().i(Ii.prototype.Qm.bind(this),this,!0),this.sw(),this.Gv.lv().indexOf(this)===this.Gv.lv().length-1?(this.Wm=this.Wm??new jn(this.tw,this.Gv),this.Wm.Pt()):((i=this.Wm)==null||i.Xv(),this.Wm=null)}_m(){return this.Gv}fv(){return this._v}sw(){if(this.Jm!==null&&(this.rw(),this.sn().Jn().length!==0)){if(this.Nm!==null){const t=this.Jm.X_();this.Nm.un(b(t))}if(this.Fm!==null){const t=this.Jm.J_();this.Fm.un(b(t))}}}hw(){this.Nm!==null&&this.Nm.Pt(),this.Fm!==null&&this.Fm.Pt()}F_(){return this.Jm!==null?this.Jm.F_():0}W_(t){this.Jm&&this.Jm.W_(t)}bp(t){if(!this.Jm)return;this.aw();const i=t.localX,s=t.localY;this.lw(i,s,t)}Fp(t){this.aw(),this.ow(),this.lw(t.localX,t.localY,t)}Sp(t){if(!this.Jm)return;this.aw();const i=t.localX,s=t.localY;this.lw(i,s,t)}Ap(t){this.Jm!==null&&(this.aw(),this.lw(t.localX,t.localY,t),this._w(t))}fp(t){this.Jm!==null&&this.uw(this.jm,t)}_p(t){this.fp(t)}Dp(t){this.aw(),this.cw(t),this.lw(t.localX,t.localY,t)}Ep(t){this.Jm!==null&&(this.aw(),this.Ym=!1,this.dw(t))}Bp(t){this.Jm!==null&&this._w(t)}Xp(t){if(this.Ym=!0,this.Km===null){const i={x:t.localX,y:t.localY};this.fw(i,i,t)}}Zp(t){this.Jm!==null&&(this.aw(),this.Jm.Qt().Rd(null),this.pw())}mw(){return this.$m}ww(){return this.jm}$p(){this.qm=1,this.sn().cs()}jp(t,i){if(!this.Gv.N().handleScale.pinch)return;const s=5*(i-this.qm);this.qm=i,this.sn().Wd(t._t,s)}Op(t){this.Ym=!1,this.Gm=this.Km!==null,this.ow();const i=this.sn().Vd();this.Km!==null&&i.It()&&(this.Zm={x:i.ni(),y:i.si()},this.Km={x:t.localX,y:t.localY})}Tp(t){if(this.Jm===null)return;const i=t.localX,s=t.localY;if(this.Km===null)this.cw(t);else{this.Gm=!1;const e=b(this.Zm),h=e.x+(i-this.Km.x),r=e.y+(s-this.Km.y);this.lw(h,r,t)}}Vp(t){this._m().N().trackingMode.exitMode===0&&(this.Gm=!0),this.Mw(),this.dw(t)}Qs(t,i){const s=this.Jm;return s===null?null:Es(s,t,i)}gw(t,i){b(i==="left"?this.Nm:this.Fm).km(S({width:t,height:this.nm.height}))}pv(){return this.nm}km(t){N(this.nm,t)||(this.nm=t,this.lm=!0,this.wm.resizeCanvasElement(t),this.Mm.resizeCanvasElement(t),this.lm=!1,this.tw.style.width=t.width+"px",this.tw.style.height=t.height+"px")}bw(){const t=b(this.Jm);t.G_(t.X_()),t.G_(t.J_());for(const i of t.kl())if(t.Gs(i)){const s=i.Ft();s!==null&&t.G_(s),i.Nn()}for(const i of t.Mu())i.Nn()}vv(){return this.wm.bitmapSize}mv(t,i,s,e){const h=this.vv();if(h.width>0&&h.height>0&&(t.drawImage(this.wm.canvasElement,i,s),e)){const r=this.Mm.canvasElement;t!==null&&t.drawImage(r,i,s)}}Rm(t){if(t===0||this.Jm===null)return;t>1&&this.bw(),this.Nm!==null&&this.Nm.Rm(t),this.Fm!==null&&this.Fm.Rm(t);const i={colorSpace:this.Gv.N().layout.colorSpace};if(t!==1){this.wm.applySuggestedBitmapSize();const e=X(this.wm,i);e!==null&&(e.useBitmapCoordinateSpace((h=>{this.Im(h)})),this.Jm&&(this.Sw(e,Jn),this.xw(e),this.Sw(e,Li),this.Sw(e,Gs)))}this.Mm.applySuggestedBitmapSize();const s=X(this.Mm,i);s!==null&&(s.useBitmapCoordinateSpace((({context:e,bitmapSize:h})=>{e.clearRect(0,0,h.width,h.height)})),this.Cw(s),this.Sw(s,Un),this.Sw(s,Gs))}yw(){return this.Nm}Pw(){return this.Fm}Bm(t,i){this.Sw(t,i)}Qm(){this.Jm!==null&&this.Jm.mu().u(this),this.Jm=null}_w(t){this.uw(this.$m,t)}uw(t,i){const s=i.localX,e=i.localY;t.v()&&t.p(this.sn().Et().Vc(s),{x:s,y:e},i)}Im({context:t,bitmapSize:i}){const{width:s,height:e}=i,h=this.sn(),r=h.$(),o=h.af();r===o?Kt(t,0,0,s,e,o):ns(t,0,0,s,e,r,o)}xw(t){const i=b(this.Jm),s=i.wu().wr().Tt(i);s!==null&&s.st(t,!1)}Cw(t){this.kw(t,Li,Tt,this.sn().Vd())}Sw(t,i){const s=b(this.Jm),e=i===Li?this.Tw():null,h=e===null?null:this.Rw(e,s),r=s.Mu();if(h===null||e===null){const a=s._u();return this.Dw(t,i,hi,r,a),void this.Dw(t,i,Tt,r,a)}const o=s.Dt(),l=a=>a===e?h.Za:void 0;this.Dw(t,i,hi,r,o,l),this.Dw(t,i,Tt,r,o,l),this.kw(t,i,hi,e,h.qa),this.kw(t,i,Tt,e,h.qa)}Dw(t,i,s,e,h,r){for(const o of e)this.kw(t,i,s,o);if(r!==void 0)for(const o of h)this.kw(t,i,s,o,r(o));else for(const o of h)this.kw(t,i,s,o)}Tw(){var s;const t=b(this.Jm),i=(s=t.Qt().cu())==null?void 0:s.uu;if(!t.Qt().N().hoveredSeriesOnTop||i===void 0)return null;for(const e of t.Dt())if(e===i)return e;return null}Rw(t,i){var e;const s=((e=t.Ga)==null?void 0:e.call(t,i))??null;return s===null||s.qa.length===0?null:s}kw(t,i,s,e,h){const r=b(this.Jm),o=r.Qt().cu(),l=o!==null&&o.uu===e,a=o!==null&&l&&o.bu!==void 0?o.bu.ie:void 0,u=c=>s(c,t,l,a);h===void 0?Ni(i,u,e,r):Qs(h,u,r)}rw(){if(this.Jm===null)return;const t=this.Gv,i=this.Jm.X_().N().visible,s=this.Jm.J_().N().visible;i||this.Nm===null||(this.iw.removeChild(this.Nm.fv()),this.Nm.m(),this.Nm=null),s||this.Fm===null||(this.nw.removeChild(this.Fm.fv()),this.Fm.m(),this.Fm=null);const e=t.Qt().Jd();i&&this.Nm===null&&(this.Nm=new qs(this,t.N(),e,"left"),this.iw.appendChild(this.Nm.fv())),s&&this.Fm===null&&(this.Fm=new qs(this,t.N(),e,"right"),this.nw.appendChild(this.Fm.fv()))}Iw(t){return t.Jp&&this.Ym||this.Km!==null}lw(t,i,s){t=Math.max(0,Math.min(t,this.nm.width-1)),i=Math.max(0,Math.min(i,this.nm.height-1)),this.sn().Kd(t,i,s,b(this.Jm))}pw(){this.sn().Zd()}Mw(){this.Gm&&(this.Km=null,this.pw())}fw(t,i,s){this.Km=t,this.Gm=!1,this.lw(i.x,i.y,s);const e=this.sn().Vd();this.Zm={x:e.ni(),y:e.si()}}sn(){return this.Gv.Qt()}dw(t){if(!this.Um)return;const i=this.sn(),s=this.yv();if(i.eu(s,s.kn()),this.Hm=null,this.Um=!1,i.jd(),this.Xm!==null){const e=performance.now(),h=i.Et();this.Xm.me(h.Oc(),e),this.Xm.Kc(e)||i.ps(this.Xm)}}aw(){this.Km=null}ow(){if(this.Jm){if(this.sn().cs(),document.activeElement!==document.body&&document.activeElement!==document.documentElement)b(document.activeElement).blur();else{const t=document.getSelection();t!==null&&t.removeAllRanges()}!this.Jm.kn().Zi()&&this.sn().Et().Zi()}}cw(t){if(this.Jm===null)return;const i=this.sn(),s=i.Et();if(s.Zi())return;const e=this.Gv.N(),h=e.handleScroll,r=e.kineticScroll;if((!h.pressedMouseMove||t.Jp)&&(!h.horzTouchDrag&&!h.vertTouchDrag||!t.Jp))return;const o=this.Jm.kn(),l=performance.now();if(this.Hm!==null||this.Iw(t)||(this.Hm={x:t.clientX,y:t.clientY,yf:l,Vw:t.localX,Bw:t.localY}),this.Hm!==null&&!this.Um&&(this.Hm.x!==t.clientX||this.Hm.y!==t.clientY)){if(t.Jp&&r.touch||!t.Jp&&r.mouse){const a=s.ml();this.Xm=new An(.2/a,7/a,.997,15/a),this.Xm.Uv(s.Oc(),this.Hm.yf)}else this.Xm=null;o.Zi()||i.nu(this.Jm,o,t.localY),i.Ud(t.localX),this.Um=!0}this.Um&&(o.Zi()||i.su(this.Jm,o,t.localY),i.$d(t.localX),this.Xm!==null&&this.Xm.Uv(s.Oc(),l))}}class As{constructor(t,i,s,e,h){this.xt=!0,this.nm=S({width:0,height:0}),this.om=()=>this.Rm(3),this.dm=t==="left",this.bd=s.Jd,this.yn=i,this.Ew=e,this.Aw=h,this.uv=document.createElement("div"),this.uv.style.width="25px",this.uv.style.height="100%",this.uv.style.overflow="hidden",this.wm=it(this.uv,S({width:16,height:16})),this.wm.subscribeSuggestedBitmapSizeChanged(this.om)}m(){this.wm.unsubscribeSuggestedBitmapSizeChanged(this.om),st(this.wm.canvasElement),this.wm.dispose()}fv(){return this.uv}pv(){return this.nm}km(t){N(this.nm,t)||(this.nm=t,this.wm.resizeCanvasElement(t),this.uv.style.width=`${t.width}px`,this.uv.style.height=`${t.height}px`,this.xt=!0)}Rm(t){if(t<3&&!this.xt||this.nm.width===0||this.nm.height===0)return;this.xt=!1,this.wm.applySuggestedBitmapSize();const i=X(this.wm,{colorSpace:this.yn.layout.colorSpace});i!==null&&i.useBitmapCoordinateSpace((s=>{this.Im(s),this.Vm(s)}))}vv(){return this.wm.bitmapSize}mv(t,i,s){const e=this.vv();e.width>0&&e.height>0&&t.drawImage(this.wm.canvasElement,i,s)}Vm({context:t,bitmapSize:i,horizontalPixelRatio:s,verticalPixelRatio:e}){if(!this.Ew())return;t.fillStyle=this.yn.timeScale.borderColor;const h=Math.floor(this.bd.N().S*s),r=Math.floor(this.bd.N().S*e),o=this.dm?i.width-h:0;t.fillRect(o,0,h,r)}Im({context:t,bitmapSize:i}){Kt(t,0,0,i.width,i.height,this.Aw())}}function Ri(n){return t=>{var i;return((i=t.tl)==null?void 0:i.call(t,n))??[]}}const Xn=Ri("normal"),Hn=Ri("top"),Zn=Ri("bottom");class th{constructor(t,i){this.Lw=null,this.zw=null,this.M=null,this.Ow=!1,this.nm=S({width:0,height:0}),this.Nw=new k,this.rm=new _t(5),this.lm=!1,this.om=()=>{this.lm||this.Gv.Qt().mr()},this.um=()=>{this.lm||this.Gv.Qt().mr()},this.Gv=t,this.Pu=i,this.yn=t.N().layout,this.jv=document.createElement("tr"),this.Fw=document.createElement("td"),this.Fw.style.padding="0",this.Ww=document.createElement("td"),this.Ww.style.padding="0",this.uv=document.createElement("td"),this.uv.style.height="25px",this.uv.style.padding="0",this.Hw=document.createElement("div"),this.Hw.style.width="100%",this.Hw.style.height="100%",this.Hw.style.position="relative",this.Hw.style.overflow="hidden",this.uv.appendChild(this.Hw),this.wm=it(this.Hw,S({width:16,height:16})),this.wm.subscribeSuggestedBitmapSizeChanged(this.om);const s=this.wm.canvasElement;s.style.position="absolute",s.style.zIndex="1",s.style.left="0",s.style.top="0",this.Mm=it(this.Hw,S({width:16,height:16})),this.Mm.subscribeSuggestedBitmapSizeChanged(this.um);const e=this.Mm.canvasElement;e.style.position="absolute",e.style.zIndex="2",e.style.left="0",e.style.top="0",this.jv.appendChild(this.Fw),this.jv.appendChild(this.uv),this.jv.appendChild(this.Ww),this.Uw(),this.Gv.Qt().N_().i(this.Uw.bind(this),this),this.sv=new ei(this.Mm.canvasElement,this,{Pp:()=>!0,kp:()=>!this.Gv.N().handleScroll.horzTouchDrag})}m(){this.sv.m(),this.Lw!==null&&this.Lw.m(),this.zw!==null&&this.zw.m(),this.Mm.unsubscribeSuggestedBitmapSizeChanged(this.um),st(this.Mm.canvasElement),this.Mm.dispose(),this.wm.unsubscribeSuggestedBitmapSizeChanged(this.om),st(this.wm.canvasElement),this.wm.dispose()}fv(){return this.jv}$w(){return this.Lw}jw(){return this.zw}Fp(t){if(this.Ow)return;this.Ow=!0;const i=this.Gv.Qt();!i.Et().Zi()&&this.Gv.N().handleScale.axisPressedMouseMove.time&&i.Fd(t.localX)}Op(t){this.Fp(t)}Wp(){const t=this.Gv.Qt();!t.Et().Zi()&&this.Ow&&(this.Ow=!1,this.Gv.N().handleScale.axisPressedMouseMove.time&&t.Yd())}Dp(t){const i=this.Gv.Qt();!i.Et().Zi()&&this.Gv.N().handleScale.axisPressedMouseMove.time&&i.qd(t.localX)}Tp(t){this.Dp(t)}Ep(){this.Ow=!1;const t=this.Gv.Qt();t.Et().Zi()&&!this.Gv.N().handleScale.axisPressedMouseMove.time||t.Yd()}Vp(){this.Ep()}fp(){this.Gv.N().handleScale.axisDoubleClickReset.time&&this.Gv.Qt().ws()}_p(){this.fp()}bp(){this.Gv.Qt().N().handleScale.axisPressedMouseMove.time&&this.zm(1)}Zp(){this.zm(0)}pv(){return this.nm}qw(){return this.Nw}Yw(t,i,s){N(this.nm,t)||(this.nm=t,this.lm=!0,this.wm.resizeCanvasElement(t),this.Mm.resizeCanvasElement(t),this.lm=!1,this.uv.style.width=`${t.width}px`,this.uv.style.height=`${t.height}px`,this.Nw.p(t)),this.Lw!==null&&this.Lw.km(S({width:i,height:t.height})),this.zw!==null&&this.zw.km(S({width:s,height:t.height}))}Kw(){const t=this.Gw();return Math.ceil(t.S+t.C+t.P+t.A+t.I+t.Zw)}Pt(){this.Gv.Qt().Et().zl()}vv(){return this.wm.bitmapSize}mv(t,i,s,e){const h=this.vv();if(h.width>0&&h.height>0&&(t.drawImage(this.wm.canvasElement,i,s),e)){const r=this.Mm.canvasElement;t.drawImage(r,i,s)}}Rm(t){if(t===0)return;const i={colorSpace:this.yn.colorSpace};if(t!==1){this.wm.applySuggestedBitmapSize();const e=X(this.wm,i);e!==null&&(e.useBitmapCoordinateSpace((h=>{this.Im(h),this.Vm(h),this.Xw(e,Zn)})),this.Em(e),this.Xw(e,Xn)),this.Lw!==null&&this.Lw.Rm(t),this.zw!==null&&this.zw.Rm(t)}this.Mm.applySuggestedBitmapSize();const s=X(this.Mm,i);s!==null&&(s.useBitmapCoordinateSpace((({context:e,bitmapSize:h})=>{e.clearRect(0,0,h.width,h.height)})),this.Jw([...this.Gv.Qt().Jn(),this.Gv.Qt().Vd()],s),this.Xw(s,Hn))}Xw(t,i){const s=this.Gv.Qt().Jn();for(const e of s)Ni(i,(h=>hi(h,t,!1,void 0)),e,void 0);for(const e of s)Ni(i,(h=>Tt(h,t,!1,void 0)),e,void 0)}Im({context:t,bitmapSize:i}){Kt(t,0,0,i.width,i.height,this.Gv.Qt().af())}Vm({context:t,bitmapSize:i,verticalPixelRatio:s}){if(this.Gv.N().timeScale.borderVisible){t.fillStyle=this.Qw();const e=Math.max(1,Math.floor(this.Gw().S*s));t.fillRect(0,0,i.width,e)}}Em(t){const i=this.Gv.Qt().Et(),s=i.zl();if(!s||s.length===0)return;const e=this.Pu.maxTickMarkWeight(s),h=this.Gw(),r=i.N();r.borderVisible&&r.ticksVisible&&t.useBitmapCoordinateSpace((({context:o,horizontalPixelRatio:l,verticalPixelRatio:a})=>{o.strokeStyle=this.Qw(),o.fillStyle=this.Qw();const u=Math.max(1,Math.floor(l)),c=Math.floor(.5*l);o.beginPath();const d=Math.round(h.C*a);for(let f=s.length;f--;){const m=Math.round(s[f].coord*l);o.rect(m-c,0,u,d)}o.fill()})),t.useMediaCoordinateSpace((({context:o})=>{const l=h.S+h.C+h.A+h.P/2;o.textAlign="center",o.textBaseline="middle",o.fillStyle=this.H(),o.font=this.ym();for(const a of s)if(a.weight<e){const u=a.needAlignCoordinate?this.tM(o,a.coord,a.label):a.coord;o.fillText(a.label,u,l)}this.Gv.N().timeScale.allowBoldLabels&&(o.font=this.iM());for(const a of s)if(a.weight>=e){const u=a.needAlignCoordinate?this.tM(o,a.coord,a.label):a.coord;o.fillText(a.label,u,l)}}))}tM(t,i,s){const e=this.rm.Ii(t,s),h=e/2,r=Math.floor(i-h)+.5;return r<0?i+=Math.abs(0-r):r+e>this.nm.width&&(i-=Math.abs(this.nm.width-(r+e))),i}Jw(t,i){const s=this.Gw();for(const e of t)for(const h of e.dn())h.Tt().st(i,s)}Qw(){return this.Gv.N().timeScale.borderColor}H(){return this.yn.textColor}F(){return this.yn.fontSize}ym(){return xt(this.F(),this.yn.fontFamily)}iM(){return xt(this.F(),this.yn.fontFamily,"bold")}Gw(){this.M===null&&(this.M={S:1,L:NaN,A:NaN,I:NaN,tn:NaN,C:5,P:NaN,k:"",Qi:new _t,Zw:0});const t=this.M,i=this.ym();if(t.k!==i){const s=this.F();t.P=s,t.k=i,t.A=3*s/12,t.I=3*s/12,t.tn=9*s/12,t.L=0,t.Zw=4*s/12,t.Qi.Os()}return this.M}zm(t){this.uv.style.cursor=t===1?"ew-resize":"default"}Uw(){const t=this.Gv.Qt(),i=t.N();i.leftPriceScale.visible||this.Lw===null||(this.Fw.removeChild(this.Lw.fv()),this.Lw.m(),this.Lw=null),i.rightPriceScale.visible||this.zw===null||(this.Ww.removeChild(this.zw.fv()),this.zw.m(),this.zw=null);const s={Jd:this.Gv.Qt().Jd()},e=()=>i.leftPriceScale.borderVisible&&t.Et().N().borderVisible,h=()=>t.af();i.leftPriceScale.visible&&this.Lw===null&&(this.Lw=new As("left",i,s,e,h),this.Fw.appendChild(this.Lw.fv())),i.rightPriceScale.visible&&this.zw===null&&(this.zw=new As("right",i,s,e,h),this.Ww.appendChild(this.zw.fv()))}}const ih=!!ut&&!!navigator.userAgentData&&navigator.userAgentData.brands.some((n=>n.brand.includes("Chromium")))&&!!ut&&((Ce=navigator==null?void 0:navigator.userAgentData)!=null&&Ce.platform?navigator.userAgentData.platform==="Windows":navigator.userAgent.toLowerCase().indexOf("win")>=0);class sh{constructor(t,i,s){var e;this.nM=[],this.sM=[],this.eM=0,this.oo=0,this.k_=0,this.rM=0,this.hM=0,this.aM=null,this.lM=!1,this.$m=new k,this.jm=new k,this.wd=new k,this.oM=null,this._M=null,this.Kv=t,this.yn=i,this.Pu=s,this.jv=document.createElement("div"),this.jv.classList.add("tv-lightweight-charts"),this.jv.style.overflow="hidden",this.jv.style.direction="ltr",this.jv.style.width="100%",this.jv.style.height="100%",(e=this.jv).style.userSelect="none",e.style.webkitUserSelect="none",e.style.msUserSelect="none",e.style.MozUserSelect="none",e.style.webkitTapHighlightColor="transparent",this.uM=document.createElement("table"),this.uM.setAttribute("cellspacing","0"),this.jv.appendChild(this.uM),this.cM=this.dM.bind(this),Bi(this.yn)&&this.fM(!0),this.sn=new Dn(this.gd.bind(this),this.yn,s),this.Qt().Bd().i(this.pM.bind(this),this),this.vM=new th(this,this.Pu),this.uM.appendChild(this.vM.fv());const h=i.autoSize&&this.mM();let r=this.yn.width,o=this.yn.height;if(h||r===0||o===0){const l=t.getBoundingClientRect();r=r||l.width,o=o||l.height}this.wM(r,o),this.MM(),t.appendChild(this.jv),this.gM(),this.sn.Et().Jc().i(this.sn.ka.bind(this.sn),this),this.sn.N_().i(this.sn.ka.bind(this.sn),this)}Qt(){return this.sn}N(){return this.yn}lv(){return this.nM}bM(){return this.vM}m(){this.fM(!1),this.eM!==0&&window.cancelAnimationFrame(this.eM),this.sn.Bd().u(this),this.sn.Et().Jc().u(this),this.sn.N_().u(this),this.sn.m();for(const t of this.nM)this.uM.removeChild(t.fv()),t.mw().u(this),t.ww().u(this),t.m();this.nM=[];for(const t of this.sM)this.SM(t);this.sM=[],b(this.vM).m(),this.jv.parentElement!==null&&this.jv.parentElement.removeChild(this.jv),this.wd.m(),this.$m.m(),this.jm.m(),this.xM()}wM(t,i,s=!1){if(this.oo===i&&this.k_===t)return;const e=(function(o){const l=Math.floor(o.width),a=Math.floor(o.height);return S({width:l-l%2,height:a-a%2})})(S({width:t,height:i}));this.oo=e.height,this.k_=e.width;const h=this.oo+"px",r=this.k_+"px";if(this.CM()||(b(this.jv).style.height=h,b(this.jv).style.width=r),this.uM.style.height=h,this.uM.style.width=r,s){this.eM!==0&&(window.cancelAnimationFrame(this.eM),this.eM=0),this.lM=!1;const o=I.ys();this.aM!==null&&(o.Ss(this.aM),this.aM=null),this.yM(o,performance.now())}else this.sn.ka()}Rm(t){t===void 0&&(t=I.ys());for(let i=0;i<this.nM.length;i++)this.nM[i].Rm(t._s(i).rs);this.yn.timeScale.visible&&this.vM.Rm(t.ls())}vr(t){var e;const i=Bi(this.yn);this.sn.vr(t);const s=Bi(this.yn);s!==i&&this.fM(s),(e=t.layout)!=null&&e.panes&&this.PM(),this.gM(),this.kM(t)}mw(){return this.$m}ww(){return this.jm}Bd(){return this.wd}TM(t=!1){this.aM!==null&&(this.yM(this.aM,performance.now()),this.aM=null);const i=this.RM(null),s=document.createElement("canvas");s.width=i.width,s.height=i.height;const e=b(s.getContext("2d"));return this.RM(e,t),s}DM(t){return t==="left"&&!this.IM()||t==="right"&&!this.VM()||this.nM.length===0?0:b(t==="left"?this.nM[0].yw():this.nM[0].Pw()).Tm()}CM(){return this.yn.autoSize&&this.oM!==null}Mv(){return this.jv}BM(t){this._M=t,this._M?this.Mv().style.setProperty("cursor",t):this.Mv().style.removeProperty("cursor")}EM(){return this._M}AM(t){return B(this.nM[t]).pv()}PM(){this.sM.forEach((t=>{t.Pt()}))}kM(t){(t.autoSize!==void 0||!this.oM||t.width===void 0&&t.height===void 0)&&(t.autoSize&&!this.oM&&this.mM(),t.autoSize===!1&&this.oM!==null&&this.xM(),t.autoSize||t.width===void 0&&t.height===void 0||this.wM(t.width||this.k_,t.height||this.oo))}RM(t,i){let s=0,e=0;const h=this.nM[0],r=(l,a)=>{let u=0;for(let c=0;c<this.nM.length;c++){const d=this.nM[c],f=b(l==="left"?d.yw():d.Pw()),m=f.vv();if(t!==null&&f.mv(t,a,u,i),u+=m.height,c<this.nM.length-1){const p=this.sM[c],g=p.vv();t!==null&&p.mv(t,a,u),u+=g.height}}};this.IM()&&(r("left",0),s+=b(h.yw()).vv().width);for(let l=0;l<this.nM.length;l++){const a=this.nM[l],u=a.vv();if(t!==null&&a.mv(t,s,e,i),e+=u.height,l<this.nM.length-1){const c=this.sM[l],d=c.vv();t!==null&&c.mv(t,s,e),e+=d.height}}s+=h.vv().width,this.VM()&&(r("right",s),s+=b(h.Pw()).vv().width);const o=(l,a,u)=>{b(l==="left"?this.vM.$w():this.vM.jw()).mv(b(t),a,u)};if(this.yn.timeScale.visible){const l=this.vM.vv();if(t!==null){let a=0;this.IM()&&(o("left",a,e),a=b(h.yw()).vv().width),this.vM.mv(t,a,e,i),a+=l.width,this.VM()&&o("right",a,e)}e+=l.height}return S({width:s,height:e})}LM(){let t=0,i=0,s=0;for(const g of this.nM)this.IM()&&(i=Math.max(i,b(g.yw()).Cm(),this.yn.leftPriceScale.minimumWidth)),this.VM()&&(s=Math.max(s,b(g.Pw()).Cm(),this.yn.rightPriceScale.minimumWidth)),t+=g.F_();i=Ei(i),s=Ei(s);const e=this.k_,h=this.oo,r=Math.max(e-i-s,0),o=1*this.sM.length,l=this.yn.timeScale.visible;let a=l?Math.max(this.vM.Kw(),this.yn.timeScale.minimumHeight):0;var u;a=(u=a)+u%2;const c=o+a,d=h<c?0:h-c,f=d/t;let m=0;const p=window.devicePixelRatio||1;for(let g=0;g<this.nM.length;++g){const v=this.nM[g];v.ew(this.sn.Gn()[g]);let w=0,y=0;y=g===this.nM.length-1?Math.ceil((d-m)*p)/p:Math.round(v.F_()*f*p)/p,w=Math.max(y,2),m+=w,v.km(S({width:r,height:w})),this.IM()&&v.gw(i,"left"),this.VM()&&v.gw(s,"right"),v.yv()&&this.sn.Ed(v.yv(),w)}this.vM.Yw(S({width:l?r:0,height:a}),l?i:0,l?s:0),this.sn.H_(r),this.rM!==i&&(this.rM=i),this.hM!==s&&(this.hM=s)}fM(t){t?this.jv.addEventListener("wheel",this.cM,{passive:!1}):this.jv.removeEventListener("wheel",this.cM)}zM(t){switch(t.deltaMode){case t.DOM_DELTA_PAGE:return 120;case t.DOM_DELTA_LINE:return 32}return ih?1/window.devicePixelRatio:1}dM(t){if(!(t.deltaX!==0&&this.yn.handleScroll.mouseWheel||t.deltaY!==0&&this.yn.handleScale.mouseWheel))return;const i=this.zM(t),s=i*t.deltaX/100,e=-i*t.deltaY/100;if(t.cancelable&&t.preventDefault(),e!==0&&this.yn.handleScale.mouseWheel){const h=Math.sign(e)*Math.min(1,Math.abs(e)),r=t.clientX-this.jv.getBoundingClientRect().left;this.Qt().Wd(r,h)}s!==0&&this.yn.handleScroll.mouseWheel&&this.Qt().Hd(-80*s)}yM(t,i){var e;const s=t.ls();s===3&&this.OM(),s!==3&&s!==2||(this.NM(t),this.FM(t,i),this.vM.Pt(),this.nM.forEach((h=>{h.hw()})),((e=this.aM)==null?void 0:e.ls())===3&&(this.aM.Ss(t),this.OM(),this.NM(this.aM),this.FM(this.aM,i),t=this.aM,this.aM=null)),this.Rm(t)}FM(t,i){for(const s of t.bs())this.xs(s,i)}NM(t){const i=this.sn.Gn();for(let s=0;s<i.length;s++)t._s(s).hs&&i[s].lu()}xs(t,i){const s=this.sn.Et();switch(t.ds){case 0:s.td();break;case 1:s.nd(t.Wt);break;case 2:s.Ms(t.Wt);break;case 3:s.gs(t.Wt);break;case 4:s.Wc();break;case 5:t.Wt.Kc(i)||s.gs(t.Wt.Gc(i))}}gd(t){this.aM!==null?this.aM.Ss(t):this.aM=t,this.lM||(this.lM=!0,this.eM=window.requestAnimationFrame((i=>{if(this.lM=!1,this.eM=0,this.aM!==null){const s=this.aM;this.aM=null,this.yM(s,i);for(const e of s.bs())if(e.ds===5&&!e.Wt.Kc(i)){this.Qt().ps(e.Wt);break}}})))}OM(){this.MM()}SM(t){this.uM.removeChild(t.fv()),t.m()}MM(){const t=this.sn.Gn(),i=t.length,s=this.nM.length;for(let e=i;e<s;e++){const h=B(this.nM.pop());this.uM.removeChild(h.fv()),h.mw().u(this),h.ww().u(this),h.m();const r=this.sM.pop();r!==void 0&&this.SM(r)}for(let e=s;e<i;e++){const h=new Ii(this,t[e]);if(h.mw().i(this.WM.bind(this,h),this),h.ww().i(this.HM.bind(this,h),this),this.nM.push(h),e>0){const r=new Gn(this,e-1,e);this.sM.push(r),this.uM.insertBefore(r.fv(),this.vM.fv())}this.uM.insertBefore(h.fv(),this.vM.fv())}for(let e=0;e<i;e++){const h=t[e],r=this.nM[e];r.yv()!==h?r.ew(h):r.sw()}this.gM(),this.LM()}UM(t,i,s,e){var u;const h=new Map;t!==null&&this.sn.Jn().forEach((c=>{const d=c.Un().Hn(t);d!==null&&h.set(c,d)}));let r;if(t!==null){const c=(u=this.sn.Et().en(t))==null?void 0:u.originalTime;c!==void 0&&(r=c)}const o=this.Qt().cu(),l=this.$M(e),a=(function(c,d){var w;const f=c!==null&&c.uu instanceof Jt?c.uu:void 0,m=(w=c==null?void 0:c.bu)==null?void 0:w.te,p=d!==void 0&&d!==-1?d:void 0;return c===null||c.ee===void 0?{jM:f,qM:m}:{jM:f,qM:m,YM:{ds:c.ee,KM:(g=c.uu,v=c.ee,g instanceof bi?"pane-primitive":v==="marker"||v==="primitive"?"series-primitive":"series"),GM:Yn(c.ee,m),Y_:f,ZM:m,XM:p}};var g,v})(o,l);return{Qr:r,$n:t??void 0,JM:i??void 0,XM:l!==-1?l:void 0,jM:a.jM,QM:h,qM:a.qM,YM:a.YM,tg:s??void 0}}$M(t){let i=-1;if(t)i=this.nM.indexOf(t);else{const s=this.Qt().Vd().Kn();s!==null&&(i=this.Qt().Gn().indexOf(s))}return i}WM(t,i,s,e){this.$m.p((()=>this.UM(i,s,e,t)))}HM(t,i,s,e){this.jm.p((()=>this.UM(i,s,e,t)))}pM(t,i,s){var e;this.BM(((e=this.Qt().cu())==null?void 0:e.gu)??null),this.wd.p((()=>this.UM(t,i,s)))}gM(){const t=this.yn.timeScale.visible?"":"none";this.vM.fv().style.display=t}IM(){return this.nM[0].yv().X_().N().visible}VM(){return this.nM[0].yv().J_().N().visible}mM(){return"ResizeObserver"in window&&(this.oM=new ResizeObserver((t=>{const i=t[t.length-1];if(!i)return;const s=i.contentRect.width,e=i.contentRect.height;this.wM(s,e,!0)})),this.oM.observe(this.Kv,{box:"border-box"}),!0)}xM(){this.oM!==null&&this.oM.disconnect(),this.oM=null}}function Bi(n){return!!(n.handleScroll.mouseWheel||n.handleScale.mouseWheel)}function eh(n){return n.open===void 0&&n.value===void 0}function nh(n){return(function(t){return t.open!==void 0})(n)||(function(t){return t.value!==void 0})(n)}function js(n,t,i,s){const e=i.value,h={$n:t,wt:n,Wt:[e,e,e,e],Qr:s};return i.color!==void 0&&(h.R=i.color),h}function hh(n,t,i,s){const e=i.value,h={$n:t,wt:n,Wt:[e,e,e,e],Qr:s};return i.lineColor!==void 0&&(h.vt=i.lineColor),i.topColor!==void 0&&(h.ah=i.topColor),i.bottomColor!==void 0&&(h.oh=i.bottomColor),h}function rh(n,t,i,s){const e=i.value,h={$n:t,wt:n,Wt:[e,e,e,e],Qr:s};return i.topLineColor!==void 0&&(h._h=i.topLineColor),i.bottomLineColor!==void 0&&(h.uh=i.bottomLineColor),i.topFillColor1!==void 0&&(h.dh=i.topFillColor1),i.topFillColor2!==void 0&&(h.fh=i.topFillColor2),i.bottomFillColor1!==void 0&&(h.ph=i.bottomFillColor1),i.bottomFillColor2!==void 0&&(h.mh=i.bottomFillColor2),h}function oh(n,t,i,s){const e={$n:t,wt:n,Wt:[i.open,i.high,i.low,i.close],Qr:s};return i.color!==void 0&&(e.R=i.color),e}function lh(n,t,i,s){const e={$n:t,wt:n,Wt:[i.open,i.high,i.low,i.close],Qr:s};return i.color!==void 0&&(e.R=i.color),i.borderColor!==void 0&&(e.Ht=i.borderColor),i.wickColor!==void 0&&(e.hh=i.wickColor),e}function ah(n,t,i,s,e){const h=B(e)(i),r=Math.max(...h),o=Math.min(...h),l=h[h.length-1],a=[l,r,o,l],{time:u,color:c,...d}=i;return{$n:t,wt:n,Wt:a,Qr:s,ue:d,R:c}}function dt(n){return n.Wt!==void 0}function Js(n,t){return t.customValues!==void 0&&(n.ig=t.customValues),n}function et(n){return(t,i,s,e,h,r)=>(function(o,l){return l?l(o):eh(o)})(s,r)?Js({wt:t,$n:i,Qr:e},s):Js(n(t,i,s,e,h),s)}function Us(n){return{Candlestick:et(lh),Bar:et(oh),Area:et(hh),Baseline:et(rh),Histogram:et(js),Line:et(js),Custom:et(ah)}[n]}function Xs(n){return{$n:0,ng:new Map,Oa:n}}function Hs(n,t){if(n!==void 0&&n.length!==0)return{sg:t.key(n[0].wt),eg:t.key(n[n.length-1].wt)}}function Zs(n){let t;return n.forEach((i=>{t===void 0&&(t=i.Qr)})),B(t)}class uh{constructor(t){this.rg=new Map,this.hg=new Map,this.ag=new Map,this.lg=[],this.Pu=t}m(){this.rg.clear(),this.hg.clear(),this.ag.clear(),this.lg=[]}og(t,i){let s=this.rg.size!==0,e=!1;const h=this.hg.get(t);if(h!==void 0)if(this.hg.size===1)s=!1,e=!0,this.rg.clear();else for(const l of this.lg)l.pointData.ng.delete(t)&&(e=!0);let r=[];if(i.length!==0){const l=i.map((f=>f.time)),a=this.Pu.createConverterToInternalObj(i),u=Us(t.bh()),c=t.ul(),d=t.cl();r=i.map(((f,m)=>{const p=a(f.time),g=this.Pu.key(p);let v=this.rg.get(g);v===void 0&&(v=Xs(p),this.rg.set(g,v),e=!0);const w=u(p,v.$n,f,l[m],c,d);return v.ng.set(t,w),w}))}s&&this._g(),this.ug(t,r);let o=-1;if(e){const l=[];this.rg.forEach((a=>{l.push({timeWeight:0,time:a.Oa,pointData:a,originalTime:Zs(a.ng)})})),l.sort(((a,u)=>this.Pu.key(a.time)-this.Pu.key(u.time))),o=this.cg(l)}return this.dg(t,o,(function(l,a,u){const c=Hs(l,u),d=Hs(a,u);if(c!==void 0&&d!==void 0)return{fg:!1,Va:c.eg>=d.eg&&c.sg>=d.sg}})(this.hg.get(t),h,this.Pu))}if(t){return this.og(t,[])}pg(t,i,s){if(s&&t.Fa())throw new Error("Historical updates are not supported when conflation is enabled. Conflation requires data to be processed in order.");const e=i;(function(v){v.Qr===void 0&&(v.Qr=v.time)})(e),this.Pu.preprocessData(i);const h=this.Pu.createConverterToInternalObj([i])(i.time),r=this.ag.get(t);if(!s&&r!==void 0&&this.Pu.key(h)<this.Pu.key(r))throw new Error(`Cannot update oldest data, last time=${r}, new time=${h}`);let o=this.rg.get(this.Pu.key(h));if(s&&o===void 0)throw new Error("Cannot update non-existing data point when historicalUpdate is true");const l=o===void 0;o===void 0&&(o=Xs(h),this.rg.set(this.Pu.key(h),o));const a=Us(t.bh()),u=t.ul(),c=t.cl(),d=a(h,o.$n,i,e.Qr,u,c),f=!s&&!l&&r!==void 0&&this.Pu.key(h)===this.Pu.key(r);o.ng.set(t,d),s?this.vg(t,d,o.$n):f&&t.Fa()&&dt(d)?(t.Rr(d),this.mg(t,d)):this.mg(t,d);const m={Va:dt(d),fg:s};if(!l)return this.dg(t,-1,m);const p={timeWeight:0,time:o.Oa,pointData:o,originalTime:Zs(o.ng)},g=tt(this.lg,this.Pu.key(p.time),((v,w)=>this.Pu.key(v.time)<w));this.lg.splice(g,0,p);for(let v=g;v<this.lg.length;++v)ri(this.lg[v].pointData,v);return this.Pu.fillWeightsForPoints(this.lg,g),this.dg(t,g,m)}wg(t,i){const s=this.hg.get(t);if(s===void 0||i<=0)return[[],this.Mg()];i=Math.min(i,s.length);const e=s.splice(-i).reverse();s.length===0?this.ag.delete(t):this.ag.set(t,s[s.length-1].wt);for(const h of e){const r=this.rg.get(this.Pu.key(h.wt));if(r&&(r.ng.delete(t),r.ng.size===0)){this.rg.delete(this.Pu.key(r.Oa)),this.lg.splice(r.$n,1);for(let o=r.$n;o<this.lg.length;++o)ri(this.lg[o].pointData,o)}}return[e,this.dg(t,this.lg.length-1,{fg:!1,Va:!1})]}mg(t,i){let s=this.hg.get(t);s===void 0&&(s=[],this.hg.set(t,s));const e=s.length!==0?s[s.length-1]:null;e===null||this.Pu.key(i.wt)>this.Pu.key(e.wt)?dt(i)&&s.push(i):dt(i)?s[s.length-1]=i:s.splice(-1,1),this.ag.set(t,i.wt)}vg(t,i,s){const e=this.hg.get(t);if(e===void 0)return;const h=tt(e,s,((r,o)=>r.$n<o));dt(i)?e[h]=i:e.splice(h,1)}ug(t,i){i.length!==0?(this.hg.set(t,i.filter(dt)),this.ag.set(t,i[i.length-1].wt)):(this.hg.delete(t),this.ag.delete(t))}_g(){for(const t of this.lg)t.pointData.ng.size===0&&this.rg.delete(this.Pu.key(t.time))}cg(t){let i=-1;for(let s=0;s<this.lg.length&&s<t.length;++s){const e=this.lg[s],h=t[s];if(this.Pu.key(e.time)!==this.Pu.key(h.time)){i=s;break}h.timeWeight=e.timeWeight,ri(h.pointData,s)}if(i===-1&&this.lg.length!==t.length&&(i=Math.min(this.lg.length,t.length)),i===-1)return-1;for(let s=i;s<t.length;++s)ri(t[s].pointData,s);return this.Pu.fillWeightsForPoints(t,i),this.lg=t,i}gg(){if(this.hg.size===0)return null;let t=0;return this.hg.forEach((i=>{i.length!==0&&(t=Math.max(t,i[i.length-1].$n))})),t}dg(t,i,s){const e=this.Mg();if(i!==-1)this.hg.forEach(((h,r)=>{e.Y_.set(r,{ue:h,bg:r===t?s:void 0})})),this.hg.has(t)||e.Y_.set(t,{ue:[],bg:s}),e.Et.Sg=this.lg,e.Et.xg=i;else{const h=this.hg.get(t);e.Y_.set(t,{ue:h||[],bg:s})}return e}Mg(){return{Y_:new Map,Et:{Dc:this.gg()}}}}function ri(n,t){n.$n=t,n.ng.forEach((i=>{i.$n=t}))}function ch(n,t){return n._t<t}function dh(n,t){return t<n._t}function Fi(n,t,i,s){return tt(n,t,ch,i,s)}function Wi(n,t,i,s){return mi(n,t,dh,i,s)}function oi(n,t,i){return{ne:n,se:t,ee:i}}function te(n,t,i,s){return n>=t-s&&n<=i+s}function kt(n,t,i,s,e,h){const r=e-i,o=h-s;if(r===0&&o===0)return Math.hypot(n-i,t-s);const l=((n-i)*r+(t-s)*o)/(r*r+o*o),a=Math.max(0,Math.min(1,l)),u=i+r*a,c=s+o*a;return Math.hypot(n-u,t-c)}const Oi=[0,0];function fh(n,t,i){return t===void 0||t.wt!==n.wt-1?n._t-i/2:(t._t+n._t)/2}function mh(n,t,i){return t===void 0||t.wt!==n.wt+1?n._t+i/2:(n._t+t._t)/2}function ph(n,t,i,s,e,h,r){if(t===null||t.from>=t.to||n.length===0)return null;const o=e/2+h,l=Fi(n,i-o,t.from,t.to),a=Wi(n,i+o,l,t.to);if(l>=a)return null;let u=Number.POSITIVE_INFINITY;for(let c=l;c<a;c++){const d=n[c],f=c>t.from?n[c-1]:void 0,m=c<t.to-1?n[c+1]:void 0,p=fh(d,f,e)-h,g=mh(d,m,e)+h;if(i<p||i>g)continue;r(d,Oi);const v=Oi[0],w=Oi[1],y=Math.min(v,w),M=Math.max(v,w),x=y-h,_=M+h;if(s>=y&&s<=M)u=Math.min(u,0);else if(s>=x&&s<=_){const C=Math.min(Math.abs(s-y),Math.abs(M-s));u=Math.min(u,C)}}return Number.isFinite(u)?oi(u,0,"series-range"):null}function vh(n,t){return n.wt<t}function gh(n,t){return t<n.wt}function ie(n,t,i){const s=t.Na(),e=t.bi(),h=tt(n,s,vh),r=mi(n,e,gh);if(!i)return{from:h,to:r};let o=h,l=r;return h>0&&h<n.length&&n[h].wt>=s&&(o=h-1),r>0&&r<n.length&&n[r-1].wt<=e&&(l=r+1),{from:o,to:l}}class se{constructor(t,i,s){this.Cg=!0,this.yg=!0,this.Pg=!0,this.kg=[],this.Tg=null,this.Rg=-1,this.ae=t,this.le=i,this.Dg=s}Pt(t){this.Cg=!0,t==="data"&&(this.yg=!0),t==="options"&&(this.Pg=!0)}Tt(){return this.ae.It()?(this.Ig(),this.Tg===null?null:this.Vg):null}Qs(t,i){return this.ae.It()?(this.Ig(),this.Tg===null?null:this.Bg(t,i)):null}Bg(t,i){return null}Eg(){this.kg=this.kg.map((t=>({...t,...this.ae.Sa().Sh(t.wt)})))}Ag(){this.Tg=null}Ig(){const t=this.le.Et(),i=t.N().enableConflation?t.sd():0;i!==this.Rg&&(this.yg=!0,this.Rg=i),this.yg&&(this.Lg(),this.yg=!1),this.Pg&&(this.Eg(),this.Pg=!1),this.Cg&&(this.zg(),this.Cg=!1)}zg(){const t=this.ae.Ft(),i=this.le.Et();if(this.Ag(),i.Zi()||t.Zi())return;const s=i.Ee();if(s===null||this.ae.Un().Th()===0)return;const e=this.ae.Lt();e!==null&&(this.Tg=ie(this.kg,s,this.Dg),this.Og(t,i,e.Wt),this.Ng())}}class wh{constructor(t,i){this.Fg=t,this.Ki=i}st(t,i,s){this.Fg.draw(t,this.Ki,i,s)}}function bh(n){switch(n){case"point":return 2;case"range":return 0;default:return 1}}class Mh extends se{constructor(t,i,s){super(t,i,!1),this.Yh=s,this.Fg=this.Yh.renderer(),this.Vg=new wh(this.Fg,(e=>this.Wg(e)))}get ga(){return this.Yh.conflationReducer}Ha(t){return this.Yh.priceValueBuilder(t)}dl(t){return this.Yh.isWhitespace(t)}Bg(t,i){var r,o;const s=(o=(r=this.Fg).hitTest)==null?void 0:o.call(r,t,i,(l=>this.Wg(l)));if(s!=null)return{ne:(e=s).distance,se:bh(e.type),ee:"custom",gu:e.cursorStyle,te:e.objectId,ie:e.hitTestData};var e;const h=ph(this.kg,this.Tg,t,i,this.le.Et().ml(),this.ae.N().hitTestTolerance,((l,a)=>{const u=l.Hg;let c=NaN,d=NaN;if(u!==void 0&&!this.Yh.isWhitespace(u))for(const f of this.Yh.priceValueBuilder(u)){const m=this.Wg(f);m!==null&&(c=Number.isNaN(c)?m:Math.min(c,m),d=Number.isNaN(d)?m:Math.max(d,m))}a[0]=c,a[1]=d}));return h===null?null:{...h,ee:"custom"}}Lg(){const t=this.ae.Sa();this.kg=this.ae.Ua().Bh().map((i=>({wt:i.$n,_t:NaN,...t.Sh(i.$n),Hg:i.ue})))}Og(t,i){i.Ic(this.kg,ci(this.Tg))}Ng(){this.Yh.update({bars:this.kg.map(yh),barSpacing:this.le.Et().ml(),visibleRange:this.Tg,conflationFactor:this.le.Et().sd()},this.ae.N())}Wg(t){const i=this.ae.Lt();return i===null?null:this.ae.Ft().Nt(t,i.Wt)}}function yh(n){return{x:n._t,time:n.wt,originalData:n.Hg,barColor:n.sh}}const xh={color:"#2196f3"},_h=(n,t,i)=>{const s=q(i);return new Mh(n,t,s)};function Di(n){const t={value:n.Wt[3],time:n.Qr};return n.ig!==void 0&&(t.customValues=n.ig),t}function ee(n){const t=Di(n);return n.R!==void 0&&(t.color=n.R),t}function Sh(n){const t=Di(n);return n.vt!==void 0&&(t.lineColor=n.vt),n.ah!==void 0&&(t.topColor=n.ah),n.oh!==void 0&&(t.bottomColor=n.oh),t}function Ch(n){const t=Di(n);return n._h!==void 0&&(t.topLineColor=n._h),n.uh!==void 0&&(t.bottomLineColor=n.uh),n.dh!==void 0&&(t.topFillColor1=n.dh),n.fh!==void 0&&(t.topFillColor2=n.fh),n.ph!==void 0&&(t.bottomFillColor1=n.ph),n.mh!==void 0&&(t.bottomFillColor2=n.mh),t}function ne(n){const t={open:n.Wt[0],high:n.Wt[1],low:n.Wt[2],close:n.Wt[3],time:n.Qr};return n.ig!==void 0&&(t.customValues=n.ig),t}function Eh(n){const t=ne(n);return n.R!==void 0&&(t.color=n.R),t}function Ph(n){const t=ne(n),{R:i,Ht:s,hh:e}=n;return i!==void 0&&(t.color=i),s!==void 0&&(t.borderColor=s),e!==void 0&&(t.wickColor=e),t}function li(n){return{Area:Sh,Line:ee,Baseline:Ch,Histogram:ee,Bar:Eh,Candlestick:Ph,Custom:Th}[n]}function Th(n){const t=n.Qr;return{...n.ue,time:t}}const kh={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,doNotSnapToHiddenSeriesIndices:!1},Nh={vertLines:{color:"#D6DCDE",style:0,visible:!0},horzLines:{color:"#D6DCDE",style:0,visible:!0}},zh={background:{type:"solid",color:"#FFFFFF"},textColor:"#191919",fontSize:12,fontFamily:ts,panes:{enableResize:!0,separatorColor:"#E0E3EB",separatorHoverColor:"rgba(178, 181, 189, 0.2)"},attributionLogo:!0,colorSpace:"srgb",colorParsers:[]},Ki={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,ensureEdgeTickMarksVisible:!1,tickMarkDensity:2.5},Lh={rightOffset:0,barSpacing:6,minBarSpacing:.5,maxBarSpacing:0,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,ignoreWhitespaceIndices:!1,enableConflation:!1,conflationThresholdFactor:1,precomputeConflationOnInit:!1,precomputeConflationPriority:"background"};function he(){return{addDefaultPane:!0,hoveredSeriesOnTop:!0,width:0,height:0,autoSize:!1,layout:zh,crosshair:kh,grid:Nh,overlayPriceScales:{...Ki},leftPriceScale:{...Ki,visible:!1},rightPriceScale:{...Ki,visible:!0},defaultVisiblePriceScaleId:"right",timeScale:Lh,localization:{locale:ut?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 re{constructor(t,i,s){this.hv=t,this.Ug=i,this.$g=s??0}applyOptions(t){this.hv.Qt().Dd(this.Ug,t,this.$g)}options(){return this.Ki().N()}width(){return Vt(this.Ug)?this.hv.DM(this.Ug):0}setVisibleRange(t){this.setAutoScale(!1),this.Ki().Go(new R(t.from,t.to))}getVisibleRange(){let t,i,s=this.Ki().ar();if(s===null)return null;if(this.Ki().ho()){const e=this.Ki().S_(),h=Ls(e);s=ot(s,this.Ki().lo()),t=Number((Math.round(s.Je()/e)*e).toFixed(h)),i=Number((Math.round(s.Qe()/e)*e).toFixed(h))}else t=s.Je(),i=s.Qe();return{from:t,to:i}}setAutoScale(t){this.applyOptions({autoScale:t})}Ki(){return b(this.hv.Qt().Id(this.Ug,this.$g)).Ft}}class Ih{constructor(t,i,s,e){this.hv=t,this.yt=s,this.jg=i,this.qg=e}getHeight(){return this.yt.$t()}setHeight(t){const i=this.hv.Qt(),s=i._f(this.yt);i.Ld(s,t)}getStretchFactor(){return this.yt.F_()}setStretchFactor(t){this.yt.W_(t),this.hv.Qt().ka()}paneIndex(){return this.hv.Qt()._f(this.yt)}moveTo(t){const i=this.paneIndex();i!==t&&(L(t>=0&&t<this.hv.lv().length,"Invalid pane index"),this.hv.Qt().Od(i,t))}getSeries(){return this.yt.Y_().map((t=>this.jg(t)))??[]}getHTMLElement(){const t=this.hv.lv();return t&&t.length!==0&&t[this.paneIndex()]?t[this.paneIndex()].fv():null}attachPrimitive(t){this.yt.ol(t),t.attached&&t.attached({chart:this.qg,requestUpdate:()=>this.yt.Qt().ka()})}detachPrimitive(t){this.yt._l(t)}priceScale(t){if(this.yt.O_(t)===null)throw new Error(`Cannot find price scale with id: ${t}`);return new re(this.hv,t,this.paneIndex())}setPreserveEmptyPane(t){this.yt.j_(t)}preserveEmptyPane(){return this.yt.q_()}addCustomSeries(t,i={},s=0){return this.qg.addCustomSeries(t,i,s)}addSeries(t,i={}){return this.qg.addSeries(t,i,this.paneIndex())}}const Rh={color:"#FF0000",price:0,lineStyle:2,lineWidth:1,lineVisible:!0,axisLabelVisible:!0,title:"",axisLabelColor:"",axisLabelTextColor:""};class oe{constructor(t){this._r=t}applyOptions(t){this._r.vr(t)}options(){return this._r.N()}Yg(){return this._r}}class Bh{constructor(t,i,s,e,h,r){this.Kg=new k,this.ae=t,this.Gg=i,this.Zg=s,this.Pu=h,this.qg=e,this.Xg=r}m(){this.Kg.m()}priceFormatter(){return this.ae.sl()}priceToCoordinate(t){const i=this.ae.Lt();return i===null?null:this.ae.Ft().Nt(t,i.Wt)}coordinateToPrice(t){const i=this.ae.Lt();return i===null?null:this.ae.Ft().Tn(t,i.Wt)}barsInLogicalRange(t){if(t===null)return null;const i=new at(new lt(t.from,t.to)).Uu(),s=this.ae.Un();if(s.Zi())return null;const e=s.Hn(i.Na(),1),h=s.Hn(i.bi(),-1),r=b(s.Rh()),o=b(s.Qn());if(e!==null&&h!==null&&e.$n>h.$n)return{barsBefore:t.from-r,barsAfter:o-t.to};const l={barsBefore:e===null||e.$n===r?t.from-r:e.$n-r,barsAfter:h===null||h.$n===o?o-t.to:o-h.$n};return e!==null&&h!==null&&(l.from=e.Qr,l.to=h.Qr),l}setData(t){this.Pu,this.ae.bh(),this.Gg.Jg(this.ae,t),this.Qg("full")}update(t,i=!1){this.ae.bh(),this.Gg.tb(this.ae,t,i),this.Qg("update")}pop(t=1){const i=this.Gg.ib(this.ae,t);i.length!==0&&this.Qg("update");const s=li(this.seriesType());return i.map((e=>s(e)))}dataByIndex(t,i){const s=this.ae.Un().Hn(t,i);return s===null?null:li(this.seriesType())(s)}data(){const t=li(this.seriesType());return this.ae.Un().Bh().map((i=>t(i)))}subscribeDataChanged(t){this.Kg.i(t)}unsubscribeDataChanged(t){this.Kg._(t)}applyOptions(t){this.ae.vr(t)}options(){return V(this.ae.N())}priceScale(){return this.Zg.priceScale(this.ae.Ft().pl(),this.getPane().paneIndex())}createPriceLine(t){const i=F(V(Rh),t),s=this.ae.Ea(i);return new oe(s)}removePriceLine(t){this.ae.Aa(t.Yg())}priceLines(){return this.ae.La().map((t=>new oe(t)))}seriesType(){return this.ae.bh()}lastValueData(t){const i=this.ae.Ae(t);return i.Le?{noData:!0}:{noData:!1,price:i.Mt,color:i.R}}attachPrimitive(t){this.ae.ol(t),t.attached&&t.attached({chart:this.qg,series:this,requestUpdate:()=>this.ae.Qt().ka(),horzScaleBehavior:this.Pu})}detachPrimitive(t){this.ae._l(t),t.detached&&t.detached(),this.ae.Qt().ka()}getPane(){const t=this.ae,i=b(this.ae.Qt().Ks(t));return this.Xg(i)}moveToPane(t){this.ae.Qt().rf(this.ae,t)}seriesOrder(){const t=this.ae.Qt().Ks(this.ae);return t===null?-1:t.Y_().indexOf(this.ae)}setSeriesOrder(t){const i=this.ae.Qt().Ks(this.ae);i!==null&&i.vu(this.ae,t)}Qg(t){this.Kg.v()&&this.Kg.p(t)}}class Fh{constructor(t,i,s){this.nb=new k,this.Qu=new k,this.Nw=new k,this.sn=t,this.ia=t.Et(),this.vM=i,this.ia.Zc().i(this.sb.bind(this)),this.ia.Xc().i(this.eb.bind(this)),this.vM.qw().i(this.rb.bind(this)),this.Pu=s}m(){this.ia.Zc().u(this),this.ia.Xc().u(this),this.vM.qw().u(this),this.nb.m(),this.Qu.m(),this.Nw.m()}scrollPosition(){return this.ia.Oc()}scrollToPosition(t,i){i?this.ia.Yc(t,1e3):this.sn.gs(t)}scrollToRealTime(){this.ia.qc()}getVisibleRange(){const t=this.ia.xc();return t===null?null:{from:t.from.originalTime,to:t.to.originalTime}}setVisibleRange(t){const i={from:this.Pu.convertHorzItemToInternal(t.from),to:this.Pu.convertHorzItemToInternal(t.to)},s=this.ia.kc(i);this.sn.sf(s)}getVisibleLogicalRange(){const t=this.ia.Sc();return t===null?null:{from:t.Na(),to:t.bi()}}setVisibleLogicalRange(t){L(t.from<=t.to,"The from index cannot be after the to index."),this.sn.sf(t)}resetTimeScale(){this.sn.ws()}fitContent(){this.sn.td()}logicalToCoordinate(t){const i=this.sn.Et();return i.Zi()?null:i.jt(t)}coordinateToLogical(t){return this.ia.Zi()?null:this.ia.Vc(t)}timeToIndex(t,i){const s=this.Pu.convertHorzItemToInternal(t);return this.ia.Mc(s,i)}timeToCoordinate(t){const i=this.timeToIndex(t,!1);return i===null?null:this.ia.jt(i)}coordinateToTime(t){const i=this.sn.Et(),s=i.Vc(t),e=i.en(s);return e===null?null:e.originalTime}width(){return this.vM.pv().width}height(){return this.vM.pv().height}subscribeVisibleTimeRangeChange(t){this.nb.i(t)}unsubscribeVisibleTimeRangeChange(t){this.nb._(t)}subscribeVisibleLogicalRangeChange(t){this.Qu.i(t)}unsubscribeVisibleLogicalRangeChange(t){this.Qu._(t)}subscribeSizeChange(t){this.Nw.i(t)}unsubscribeSizeChange(t){this.Nw._(t)}applyOptions(t){this.ia.vr(t)}options(){return{...V(this.ia.N()),barSpacing:this.ia.ml()}}sb(){this.nb.v()&&this.nb.p(this.getVisibleRange())}eb(){this.Qu.v()&&this.Qu.p(this.getVisibleLogicalRange())}rb(t){this.Nw.p(t.width,t.height)}}function le(n){return(function(t){if(Dt(t.handleScale)){const s=t.handleScale;t.handleScale={axisDoubleClickReset:{time:s,price:s},axisPressedMouseMove:{time:s,price:s},mouseWheel:s,pinch:s}}else if(t.handleScale!==void 0){const{axisPressedMouseMove:s,axisDoubleClickReset:e}=t.handleScale;Dt(s)&&(t.handleScale.axisPressedMouseMove={time:s,price:s}),Dt(e)&&(t.handleScale.axisDoubleClickReset={time:e,price:e})}const i=t.handleScroll;Dt(i)&&(t.handleScroll={horzTouchDrag:i,vertTouchDrag:i,mouseWheel:i,pressedMouseMove:i})})(n),n}class Wh{constructor(t,i,s){this.hb=new Map,this.ab=new Map,this.lb=new k,this.ob=new k,this._b=new k,this.dd=new WeakMap,this.ub=new uh(i);const e=s===void 0?V(he()):F(V(he()),le(s));this.cb=i,this.hv=new sh(t,e,i),this.hv.mw().i((r=>{this.lb.v()&&this.lb.p(this.fb(r()))}),this),this.hv.ww().i((r=>{this.ob.v()&&this.ob.p(this.fb(r()))}),this),this.hv.Bd().i((r=>{this._b.v()&&this._b.p(this.fb(r()))}),this);const h=this.hv.Qt();this.pb=new Fh(h,this.hv.bM(),this.cb)}remove(){this.hv.mw().u(this),this.hv.ww().u(this),this.hv.Bd().u(this),this.pb.m(),this.hv.m(),this.hb.clear(),this.ab.clear(),this.lb.m(),this.ob.m(),this._b.m(),this.ub.m()}resize(t,i,s){this.autoSizeActive()||this.hv.wM(t,i,s)}addCustomSeries(t,i={},s=0){const e=(h=>({type:"Custom",isBuiltIn:!1,defaultOptions:{...xh,...h.defaultOptions()},mb:_h,wb:h}))(q(t));return this.Mb(e,i,s)}addSeries(t,i={},s=0){return this.Mb(t,i,s)}removeSeries(t){const i=B(this.hb.get(t)),s=this.ub.if(i);this.hv.Qt().if(i),this.gb(s),this.hb.delete(t),this.ab.delete(i)}Jg(t,i){this.gb(this.ub.og(t,i))}tb(t,i,s){this.gb(this.ub.pg(t,i,s))}ib(t,i){const[s,e]=this.ub.wg(t,i);return s.length!==0&&this.gb(e),s}subscribeClick(t){this.lb.i(t)}unsubscribeClick(t){this.lb._(t)}subscribeCrosshairMove(t){this._b.i(t)}unsubscribeCrosshairMove(t){this._b._(t)}subscribeDblClick(t){this.ob.i(t)}unsubscribeDblClick(t){this.ob._(t)}priceScale(t,i=0){return new re(this.hv,t,i)}timeScale(){return this.pb}applyOptions(t){this.hv.vr(le(t))}options(){return this.hv.N()}takeScreenshot(t=!1,i=!1){let s,e;try{i||(s=this.hv.Qt().N().crosshair.mode,this.hv.vr({crosshair:{mode:2}})),e=this.hv.TM(t)}finally{i||s===void 0||this.hv.Qt().vr({crosshair:{mode:s}})}return e}addPane(t=!1){const i=this.hv.Qt().uf();return i.j_(t),this.bb(i)}removePane(t){this.hv.Qt().Ad(t)}swapPanes(t,i){this.hv.Qt().zd(t,i)}autoSizeActive(){return this.hv.CM()}chartElement(){return this.hv.Mv()}panes(){return this.hv.Qt().Gn().map((t=>this.bb(t)))}paneSize(t=0){const i=this.hv.AM(t);return{height:i.height,width:i.width}}setCrosshairPosition(t,i,s){const e=this.hb.get(s);if(e===void 0)return;const h=this.hv.Qt().Ks(e);h!==null&&this.hv.Qt().Gd(t,i,h)}clearCrosshairPosition(){this.hv.Qt().Zd(!0)}horzBehaviour(){return this.cb}Mb(t,i={},s=0){L(t.mb!==void 0),(function(l){if(l===void 0||l.type==="custom")return;const a=l;a.minMove!==void 0&&a.precision===void 0&&(a.precision=Ls(a.minMove))})(i.priceFormat),t.type==="Candlestick"&&(function(l){l.borderColor!==void 0&&(l.borderUpColor=l.borderColor,l.borderDownColor=l.borderColor),l.wickColor!==void 0&&(l.wickUpColor=l.wickColor,l.wickDownColor=l.wickColor)})(i);const e=F(V(Ji),V(t.defaultOptions),i),h=t.mb,r=new Jt(this.hv.Qt(),t.type,e,h,t.wb);this.hv.Qt().Qd(r,s);const o=new Bh(r,this,this,this,this.cb,(l=>this.bb(l)));return this.hb.set(o,r),this.ab.set(r,o),o}gb(t){const i=this.hv.Qt();for(const s of t.Y_.keys())s.Ia();i.Xd(t.Et.Dc,t.Et.Sg,t.Et.xg),t.Y_.forEach(((s,e)=>e.ht(s.ue,s.bg))),i.Et().dc(),i.Lc()}Sb(t){return B(this.ab.get(t))}xb(t){return t!==void 0&&this.ab.has(t)?this.Sb(t):void 0}fb(t){const i=new Map;t.QM.forEach(((h,r)=>{const o=r.bh(),l=li(o)(h);if(o!=="Custom")L(nh(l));else{const a=r.cl();L(!a||a(l)===!1)}i.set(this.Sb(r),l)}));const s=this.xb(t.jM),e=t.YM===void 0?void 0:{type:t.YM.ds,sourceKind:t.YM.KM,objectKind:t.YM.GM,series:this.xb(t.YM.Y_),objectId:t.YM.ZM,paneIndex:t.YM.XM};return{time:t.Qr,logical:t.$n,point:t.JM,paneIndex:t.XM,hoveredInfo:e,hoveredSeries:s,hoveredObjectId:t.qM,seriesData:i,sourceEvent:t.tg}}bb(t){let i=this.dd.get(t);return i||(i=new Ih(this.hv,(s=>this.Sb(s)),t,this),this.dd.set(t,i)),i}}function Oh(n){if(yt(n)){const t=document.getElementById(n);return L(t!==null,`Cannot find element in DOM with id=${n}`),t}return n}function Dh(n,t,i){const s=Oh(n),e=new Wh(s,t,i);return t.setOptions(e.options()),e}function ae(n,t){return Dh(n,new Ks,Ks.Tf(t))}function Nt(n,t,i,s){return Math.hypot(i-n,s-t)}function Kh(n,t,i,s,e,h,r,o=0){if(t.length===0||s.from>=t.length||s.to<=0)return;const{context:l,horizontalPixelRatio:a,verticalPixelRatio:u}=n,c=t[s.from];let d=h(n,c),f=c;if(s.to-s.from<2){const m=e/2;l.beginPath();const p={_t:c._t-m,ut:c.ut},g={_t:c._t+m,ut:c.ut};l.moveTo(p._t*a,p.ut*u),l.lineTo(g._t*a,g.ut*u),r(n,d,p,g)}else{const m=o>0;let p=0;const g=(w,y)=>{if(r(n,d,f,y),l.beginPath(),d=w,f=y,m){const M=p%o;l.lineDashOffset=M,p=M}};let v=f;l.beginPath(),l.moveTo(c._t*a,c.ut*u);for(let w=s.from+1;w<s.to;++w){v=t[w];const y=v._t*a,M=v.ut*u,x=h(n,v);switch(i){case 0:if(l.lineTo(y,M),m){const _=t[w-1],C=_._t*a,E=_.ut*u;p+=Nt(C,E,y,M)}break;case 1:{const _=t[w-1],C=_.ut*u;l.lineTo(y,C),m&&(p+=Math.abs(v._t-_._t)*a),x!==d&&(g(x,v),l.lineTo(y,C)),l.lineTo(y,M),m&&(p+=Math.abs(v.ut-_.ut)*u);break}case 2:{const[_,C]=Vi(t,w-1,w),E=_._t*a,P=_.ut*u,$=C._t*a,J=C.ut*u;if(l.bezierCurveTo(E,P,$,J,y,M),m){const U=t[w-1],wt=U._t*a,Rt=U.ut*u,bt=Nt(wt,Rt,y,M),ui=Nt(wt,Rt,E,P)+Nt(E,P,$,J)+Nt($,J,y,M);p+=(bt+ui)/2}break}}i!==1&&x!==d&&(g(x,v),l.moveTo(y,M))}(f!==v||f===v&&i===1)&&r(n,d,f,v),m&&(l.lineDashOffset=0)}}const ue=6;function $i(n,t){return{_t:n._t-t._t,ut:n.ut-t.ut}}function ce(n,t){return{_t:n._t/t,ut:n.ut/t}}function Vi(n,t,i){const s=Math.max(0,t-1),e=Math.min(n.length-1,i+1);var h,r;return[(h=n[t],r=ce($i(n[i],n[s]),ue),{_t:h._t+r._t,ut:h.ut+r.ut}),$i(n[i],ce($i(n[e],n[t]),ue))]}function $h(n,t){const i=n.context;i.strokeStyle=t,i.stroke()}class Vh extends ht{constructor(){super(...arguments),this.rt=null}ht(t){this.rt=t}et(t){if(this.rt===null)return;const{ot:i,lt:s,Cb:e,yb:h,ct:r,Gt:o,Pb:l}=this.rt;if(s===null)return;const a=t.context;a.lineCap="butt",a.lineWidth=r*t.verticalPixelRatio;const u=H(a,o);a.lineJoin="round";const c=this.kb.bind(this),d=(function(f){return f.reduce(((m,p)=>m+p),0)})(u);h!==void 0&&Kh(t,i,h,s,e,c,$h,d),l&&(function(f,m,p,g,v){if(g.to-g.from<=0)return;const{horizontalPixelRatio:w,verticalPixelRatio:y,context:M}=f;let x=null;const _=Math.max(1,Math.floor(w))%2/2,C=p*y+_;for(let E=g.to-1;E>=g.from;--E){const P=m[E];if(P){const $=v(f,P);$!==x&&(x!==null&&M.fill(),M.beginPath(),M.fillStyle=$,x=$);const J=Math.round(P._t*w)+_,U=P.ut*y;M.moveTo(J,U),M.arc(J,U,C,0,2*Math.PI)}}M.fill()})(t,i,l,s,c)}}class Qh extends Vh{kb(t,i){return i.vt}}function de(n,t,i,s,e){const h=1-e;return h*h*h*n+3*h*h*e*t+3*h*e*e*i+e*e*e*s}function Yh(n,t,i,s,e){if(i===2){const[h,r]=Vi(s,e-1,e);return[Math.min(n._t,t._t,h._t,r._t),Math.max(n._t,t._t,h._t,r._t)]}return[Math.min(n._t,t._t),Math.max(n._t,t._t)]}function qh(n,t,i,s,e,h,r,o){switch(e){case 1:{const l=kt(n,t,i._t,i.ut,s._t,i.ut),a=kt(n,t,s._t,i.ut,s._t,s.ut),u=Math.min(l,a);return u<=o?u:null}case 2:{const[l,a]=Vi(h,r-1,r),u=(function(c,d,f){let m=Number.POSITIVE_INFINITY,p=f[0];for(let g=1;g<=12;g++){const v=g/12,w={_t:de(f[0]._t,f[1]._t,f[2]._t,f[3]._t,v),ut:de(f[0].ut,f[1].ut,f[2].ut,f[3].ut,v)};m=Math.min(m,kt(c,d,p._t,p.ut,w._t,w.ut)),p=w}return m})(n,t,[i,l,a,s]);return u<=o?u:null}default:{const l=kt(n,t,i._t,i.ut,s._t,s.ut);return l<=o?l:null}}}class Gh extends se{constructor(t,i){super(t,i,!0)}Og(t,i,s){i.Ic(this.kg,ci(this.Tg)),t.Jo(this.kg,s,ci(this.Tg))}Tb(t,i){return{wt:t,Mt:i,_t:NaN,ut:NaN}}Lg(){const t=this.ae.Sa();this.kg=this.ae.Ua().Bh().map((i=>{let s;if((i.Gr??1)>1){const e=i.Wt[1],h=i.Wt[2],r=i.Wt[3];s=Math.abs(e-r)>Math.abs(h-r)?e:h}else s=i.Wt[3];return this.Rb(i.$n,s,t)}))}}class Ah extends Gh{Bg(t,i){const s=this.ae.N();return(function(e,h,r,o,l,a,u,c=0,d=0){if(h===null||h.from>=h.to||e.length===0)return null;const f=Math.max(a/2,u??0)+d;let m=Number.POSITIVE_INFINITY;if(u!==void 0){const M=u+d,x=Fi(e,r-M,h.from,h.to),_=Wi(e,r+M,x,h.to);for(let C=x;C<_;C++){const E=e[C];if(!te(r,E._t,E._t,u+d))continue;const P=Math.hypot(r-E._t,o-E.ut);P<=u+d&&(m=Math.min(m,P))}}if(h.to-h.from<2){const M=e[h.from],x=Math.max(c/2,f),_=kt(r,o,M._t-x,M.ut,M._t+x,M.ut);return _<=f&&(m=Math.min(m,_)),Number.isFinite(m)?oi(m,2,"series-point"):null}let p=Number.POSITIVE_INFINITY;const g=Fi(e,r-f,h.from,h.to),v=Wi(e,r+f,g,h.to),w=Math.max(h.from+1,g),y=Math.min(h.to,v+1);for(let M=w;M<y;M++){const x=e[M-1],_=e[M],[C,E]=Yh(x,_,l,e,M);if(!te(r,C,E,f))continue;const P=qh(r,o,x,_,l,e,M,f);P!==null&&(p=Math.min(p,P))}return Number.isFinite(m)?oi(m,2,"series-point"):Number.isFinite(p)?oi(p,1,"series-line"):null})(this.kg,this.Tg,t,i,s.lineType,s.lineVisible?s.lineWidth:1,s.pointMarkersVisible?s.pointMarkersRadius||s.lineWidth/2+2:void 0,this.le.Et().ml(),s.hitTestTolerance)}}class jh extends Ah{constructor(){super(...arguments),this.Vg=new Qh}Rb(t,i,s){return{...this.Tb(t,i),...s.Sh(t)}}Ng(){const t=this.ae.N(),i={ot:this.kg,Gt:t.lineStyle,yb:t.lineVisible?t.lineType:void 0,ct:t.lineWidth,Pb:t.pointMarkersVisible?t.pointMarkersRadius||t.lineWidth/2+2:void 0,lt:this.Tg,Cb:this.le.Et().ml()};this.Vg.ht(i)}}const fe={type:"Line",isBuiltIn:!0,defaultOptions:{color:"#2196f3",lineStyle:0,lineWidth:3,lineType:0,lineVisible:!0,crosshairMarkerVisible:!0,crosshairMarkerRadius:4,crosshairMarkerBorderColor:"",crosshairMarkerBorderWidth:2,crosshairMarkerBackgroundColor:"",lastPriceAnimation:0,pointMarkersVisible:!1},mb:(n,t)=>new jh(n,t)};class Jh{constructor(t,i){this.ae=t,this.Jh=i,this.CS()}detach(){this.ae.detachPrimitive(this.Jh)}getSeries(){return this.ae}applyOptions(t){this.Jh&&this.Jh.vr&&this.Jh.vr(t)}CS(){this.ae.attachPrimitive(this.Jh)}}const Uh={autoScale:!0,zOrder:"normal"};function me(n,t){return Xt(Math.min(Math.max(n,12),30)*t)}function ft(n,t){const i=n==="circle"?.8:n==="square"?.7:1;return Xt(Math.max(t,12)*i)}function pe(n){return(function(t){const i=Math.ceil(t);return i%2!=0?i-1:i})(me(n,1))}function ve(n){return Math.max(me(n,.1),3)}function ge(n,t,i){return t?n:i?Math.ceil(n/2):0}function we(n,t,i,s){const e=(ft("arrowUp",s)-1)/2*i.YS,h=(Xt(s/2)-1)/2*i.YS;t.beginPath(),n?(t.moveTo(i._t-e,i.ut),t.lineTo(i._t,i.ut-e),t.lineTo(i._t+e,i.ut),t.lineTo(i._t+h,i.ut),t.lineTo(i._t+h,i.ut+e),t.lineTo(i._t-h,i.ut+e),t.lineTo(i._t-h,i.ut)):(t.moveTo(i._t-e,i.ut),t.lineTo(i._t,i.ut+e),t.lineTo(i._t+e,i.ut),t.lineTo(i._t+h,i.ut),t.lineTo(i._t+h,i.ut-e),t.lineTo(i._t-h,i.ut-e),t.lineTo(i._t-h,i.ut)),t.fill()}function be(n,t,i,s,e,h){const r=(ft("arrowUp",s)-1)/2,o=(Xt(s/2)-1)/2;return e>=t-o-2&&e<=t+o+2&&h>=(n?i:i-r)-2&&h<=(n?i+r:i)+2?!0:(()=>{if(e<t-r-3||e>t+r+3||h<(n?i-r-3:i)||h>(n?i:i+r+3))return!1;const l=Math.abs(e-t);return Math.abs(h-i)+3>=l/2})()}class Xh{constructor(){this.qt=null,this.$s=new _t,this.F=-1,this.W="",this.hm="",this.KS="normal"}ht(t){this.qt=t}js(t,i,s){this.F===t&&this.W===i||(this.F=t,this.W=i,this.hm=xt(t,i),this.$s.Os()),this.KS=s}Qs(t,i){if(this.qt===null||this.qt.lt===null)return null;for(let s=this.qt.lt.from;s<this.qt.lt.to;s++){const e=this.qt.ot[s];if(e&&Zh(e,t,i))return{zOrder:"normal",externalId:e.te??"",itemType:"marker"}}return null}draw(t){this.KS!=="aboveSeries"&&t.useBitmapCoordinateSpace((i=>{this.et(i)}))}drawBackground(t){this.KS==="aboveSeries"&&t.useBitmapCoordinateSpace((i=>{this.et(i)}))}et({context:t,horizontalPixelRatio:i,verticalPixelRatio:s}){if(this.qt!==null&&this.qt.lt!==null){t.textBaseline="middle",t.font=this.hm;for(let e=this.qt.lt.from;e<this.qt.lt.to;e++){const h=this.qt.ot[e];h.ri!==void 0&&(h.ri.nn=this.$s.Ii(t,h.ri.GS),h.ri.$t=this.F,h.ri._t=h._t-h.ri.nn/2),Hh(h,t,i,s)}}}}function Hh(n,t,i,s){t.fillStyle=n.R,n.ri!==void 0&&(function(e,h,r,o,l,a){e.save(),e.scale(l,a),e.fillText(h,r,o),e.restore()})(t,n.ri.GS,n.ri._t,n.ri.ut,i,s),(function(e,h,r){if(e.Th!==0){switch(e.ZS){case"arrowDown":return void we(!1,h,r,e.Th);case"arrowUp":return void we(!0,h,r,e.Th);case"circle":return void(function(o,l,a){const u=(ft("circle",a)-1)/2;o.beginPath(),o.arc(l._t,l.ut,u*l.YS,0,2*Math.PI,!1),o.fill()})(h,r,e.Th);case"square":return void(function(o,l,a){const u=ft("square",a),c=(u-1)*l.YS/2,d=l._t-c,f=l.ut-c;o.fillRect(d,f,u*l.YS,u*l.YS)})(h,r,e.Th)}e.ZS}})(n,t,(function(e,h,r){const o=Math.max(1,Math.floor(h))%2/2;return{_t:Math.round(e._t*h)+o,ut:e.ut*r,YS:h}})(n,i,s))}function Zh(n,t,i){return!(n.ri===void 0||!(function(s,e,h,r,o,l){const a=r/2;return o>=s&&o<=s+h&&l>=e-a&&l<=e+a})(n.ri._t,n.ri.ut,n.ri.nn,n.ri.$t,t,i))||(function(s,e,h){if(s.Th===0)return!1;switch(s.ZS){case"arrowDown":return be(!0,s._t,s.ut,s.Th,e,h);case"arrowUp":return be(!1,s._t,s.ut,s.Th,e,h);case"circle":return(function(r,o,l,a,u){const c=2+ft("circle",l)/2,d=r-a,f=o-u;return Math.sqrt(d*d+f*f)<=c})(s._t,s.ut,s.Th,e,h);case"square":return(function(r,o,l,a,u){const c=ft("square",l),d=(c-1)/2,f=r-d,m=o-d;return a>=f&&a<=f+c&&u>=m&&u<=m+c})(s._t,s.ut,s.Th,e,h)}})(n,t,i)}function Me(n){return n==="atPriceTop"||n==="atPriceBottom"||n==="atPriceMiddle"}function tr(n,t,i,s,e,h,r,o){const l=(function(m,p,g){if(Me(p.position)&&p.price!==void 0)return p.price;if("value"in(v=m)&&typeof v.value=="number")return m.value;var v;if((function(w){return"open"in w&&"high"in w&&"low"in w&&"close"in w})(m)){if(p.position==="inBar")return m.close;if(p.position==="aboveBar")return g?m.low:m.high;if(p.position==="belowBar")return g?m.high:m.low}})(i,t,r.priceScale().options().invertScale);if(l===void 0)return;const a=Me(t.position),u=o.timeScale(),c=Z(t.size)?Math.max(t.size,0):1,d=pe(u.options().barSpacing)*c,f=d/2;switch(n.Th=d,t.position){case"inBar":case"atPriceMiddle":return n.ut=b(r.priceToCoordinate(l)),void(n.ri!==void 0&&(n.ri.ut=n.ut+f+h+.6*e));case"aboveBar":case"atPriceTop":{const m=a?0:s.XS;return n.ut=b(r.priceToCoordinate(l))-f-m,n.ri!==void 0&&(n.ri.ut=n.ut-f-.6*e,s.XS+=1.2*e),void(a||(s.XS+=d+h))}case"belowBar":case"atPriceBottom":{const m=a?0:s.JS;return n.ut=b(r.priceToCoordinate(l))+f+m,n.ri!==void 0&&(n.ri.ut=n.ut+f+h+.6*e,s.JS+=1.2*e),void(a||(s.JS+=d+h))}}}class ir{constructor(t,i,s){this.QS=[],this.xt=!0,this.tx=!0,this.Xt=new Xh,this.Te=t,this.Gv=i,this.qt={ot:[],lt:null},this.yn=s}renderer(){if(!this.Te.options().visible)return null;this.xt&&this.Ig();const t=this.Gv.options().layout;return this.Xt.js(t.fontSize,t.fontFamily,this.yn.zOrder),this.Xt.ht(this.qt),this.Xt}ix(t){this.QS=t,this.Pt("data")}Pt(t){this.xt=!0,t==="data"&&(this.tx=!0)}nx(t){this.xt=!0,this.yn=t}zOrder(){return this.yn.zOrder==="aboveSeries"?"top":this.yn.zOrder}Ig(){const t=this.Gv.timeScale(),i=this.QS;this.tx&&(this.qt.ot=i.map((a=>({wt:a.time,_t:0,ut:0,Th:0,ZS:a.shape,R:a.color,te:a.id,sx:a.sx,ri:void 0}))),this.tx=!1);const s=this.Gv.options().layout;this.qt.lt=null;const e=t.getVisibleLogicalRange();if(e===null)return;const h=new lt(Math.floor(e.from),Math.ceil(e.to));if(this.Te.dataByIndex(0,1)===null||this.qt.ot.length===0)return;let r=NaN;const o=ve(t.options().barSpacing),l={XS:o,JS:o};this.qt.lt=ie(this.qt.ot,h,!0);for(let a=this.qt.lt.from;a<this.qt.lt.to;a++){const u=i[a];u.time!==r&&(l.XS=o,l.JS=o,r=u.time);const c=this.qt.ot[a];c._t=b(t.logicalToCoordinate(u.time)),u.text!==void 0&&u.text.length>0&&(c.ri={GS:u.text,_t:0,ut:0,nn:0,$t:0});const d=this.Te.dataByIndex(u.time,0);d!==null&&tr(c,u,d,l,s.fontSize,o,this.Te,this.Gv)}this.xt=!1}}function ye(n){return{...Uh,...n}}class sr{constructor(t){this.Yh=null,this.QS=[],this.hx=[],this.lx=null,this.Te=null,this.Gv=null,this.ox=!0,this._x=null,this.ux=null,this.vx=null,this.mx=!0,this.yn=ye(t)}attached(t){this.wx(),this.Gv=t.chart,this.Te=t.series,this.Yh=new ir(this.Te,b(this.Gv),this.yn),this.jS=t.requestUpdate,this.Te.subscribeDataChanged((i=>this.Qg(i))),this.mx=!0,this.DS()}DS(){this.jS&&this.jS()}detached(){this.Te&&this.lx&&this.Te.unsubscribeDataChanged(this.lx),this.Gv=null,this.Te=null,this.Yh=null,this.lx=null}ix(t){this.mx=!0,this.QS=t,this.wx(),this.ox=!0,this.ux=null,this.DS()}Mx(){return this.QS}paneViews(){return this.Yh?[this.Yh]:[]}updateAllViews(){this.gx()}hitTest(t,i){var s;return this.Yh?((s=this.Yh.renderer())==null?void 0:s.Qs(t,i))??null:null}autoscaleInfo(t,i){if(this.yn.autoScale&&this.Yh){const s=this.bx();if(s)return{priceRange:null,margins:s}}return null}vr(t){this.yn=ye({...this.yn,...t}),this.DS&&this.DS()}bx(){const t=b(this.Gv).timeScale().options().barSpacing;if(this.ox||t!==this.vx){if(this.vx=t,this.QS.length>0){const i=ve(t),s=1.5*pe(t)+2*i,e=this.Sx();this._x={above:ge(s,e.aboveBar,e.inBar),below:ge(s,e.belowBar,e.inBar)}}else this._x=null;this.ox=!1}return this._x}Sx(){return this.ux===null&&(this.ux=this.QS.reduce(((t,i)=>(t[i.position]||(t[i.position]=!0),t)),{inBar:!1,aboveBar:!1,belowBar:!1,atPriceTop:!1,atPriceBottom:!1,atPriceMiddle:!1})),this.ux}wx(){var e;if(!this.mx||!this.Gv||!this.Te)return;const t=this.Gv.timeScale(),i=(e=this.Te)==null?void 0:e.data();if(t.getVisibleLogicalRange()==null||!this.Te||i.length===0)return void(this.hx=[]);const s=t.timeToIndex(b(i[0].time),!0);this.hx=this.QS.map(((h,r)=>{const o=t.timeToIndex(h.time,!0),l=o<s?1:-1,a=b(this.Te).dataByIndex(o,l),u={time:t.timeToIndex(b(a).time,!1),position:h.position,shape:h.shape,color:h.color,id:h.id,sx:r,text:h.text,size:h.size,price:h.price,Qr:h.time};if(h.position==="atPriceTop"||h.position==="atPriceBottom"||h.position==="atPriceMiddle"){if(h.price===void 0)throw new Error(`Price is required for position ${h.position}`);return{...u,position:h.position,price:h.price}}return{...u,position:h.position,price:h.price}})),this.mx=!1}gx(t){this.Yh&&(this.wx(),this.Yh.ix(this.hx),this.Yh.nx(this.yn),this.Yh.Pt(t))}Qg(t){this.mx=!0,this.DS()}}class er extends Jh{constructor(t,i,s){super(t,i),s&&this.setMarkers(s)}setMarkers(t){this.Jh.ix(t)}markers(){return this.Jh.Mx()}}function nr(n,t,i){const s=new er(n,new sr({}));return t&&s.setMarkers(t),s}({...Ji});const xe=["#3b82f6","#10b981","#f59e0b","#ef4444","#8b5cf6","#06b6d4","#f97316","#84cc16"];function zt(n){return n==="light"?{text:"#374151",grid:"#e5e7eb",series:xe}:{text:"#a0a0b8",grid:"#2f2f45",series:xe}}class Lt extends HTMLElement{constructor(){super(...arguments);Y(this,nt);Y(this,mt,[]);Y(this,pt,{});Y(this,vt,"dark");Y(this,gt,!1)}get frames(){return z(this,mt)}set frames(i){W(this,mt,i??[]),Ft(this,nt,Wt).call(this)}get options(){return z(this,pt)}set options(i){W(this,pt,i??{}),Ft(this,nt,Wt).call(this)}get theme(){return z(this,vt)}set theme(i){W(this,vt,i),Ft(this,nt,Wt).call(this)}connectedCallback(){Ft(this,nt,Wt).call(this)}disconnectedCallback(){this.dispose()}dispose(){}error(i,s){const e=document.createElement("div");e.style.cssText="display:flex;height:100%;align-items:center;justify-content:center;font-size:12px;color:#f87171;padding:8px;text-align:center",e.textContent=s,i.appendChild(e)}}mt=new WeakMap,pt=new WeakMap,vt=new WeakMap,gt=new WeakMap,nt=new WeakSet,Wt=function(){z(this,gt)||!this.isConnected||(W(this,gt,!0),queueMicrotask(()=>{if(W(this,gt,!1),!!this.isConnected){this.dispose(),this.textContent="";try{this.renderInto(this,z(this,mt),z(this,pt),z(this,vt))}catch(i){this.textContent=`面板渲染失败:${i instanceof Error?i.message:String(i)}`,this.style.color="#f87171"}}}))};function _e(n){const t=[];for(const i of n){const s=i.fields.find(e=>e.type==="time");if(!s)return null;for(const e of i.fields){if(e.type!=="number")continue;const h=i.name?`${i.name}:${e.name}`:e.name,r=[];for(let o=0;o<s.values.length;o++){const l=s.values[o],a=e.values[o];typeof l=="number"&&typeof a=="number"&&r.push({time:l/1e3,value:a})}t.push({label:h,points:r})}}return t}class hr extends Lt{constructor(){super(...arguments);Y(this,A,null)}dispose(){var i;(i=z(this,A))==null||i.remove(),W(this,A,null)}renderInto(i,s,e,h){const r=_e(s);if(!r)return this.error(i,"时序面板缺少 time 列");const o=zt(h),l=document.createElement("div");l.style.cssText="display:flex;flex-wrap:wrap;gap:8px;font-size:11px;padding:4px 8px";const a=document.createElement("div");a.dataset.chart="timeseries",a.style.cssText="width:100%;height:calc(100% - 24px)",i.appendChild(l),i.appendChild(a),a.clientWidth>0&&a.clientHeight>0&&(W(this,A,ae(a,{autoSize:!0,layout:{background:{type:ti.Solid,color:"transparent"},textColor:o.text},grid:{vertLines:{color:o.grid},horzLines:{color:o.grid}},rightPriceScale:{mode:e.logScale?1:0}})),r.forEach((u,c)=>{z(this,A).addSeries(fe,{color:o.series[c%o.series.length],lineWidth:2}).setData(u.points)}),z(this,A).timeScale().fitContent()),r.forEach((u,c)=>{const d=document.createElement("span");d.style.color=o.series[c%o.series.length],d.textContent=`— ${u.label}`,l.appendChild(d)})}}A=new WeakMap;function rr(n,t){if(t===null)return"—";switch(n.type){case"number":return typeof t=="number"?Number(t.toPrecision(4)).toString():String(t);case"time":{const i=new Date(t),s=e=>String(e).padStart(2,"0");return`${i.getFullYear()}-${s(i.getMonth()+1)}-${s(i.getDate())} ${s(i.getHours())}:${s(i.getMinutes())}`}case"bool":return t?"✓":"✗";default:return String(t)}}class or extends Lt{constructor(){super(...arguments);Y(this,K,null)}renderInto(i,s,e,h){var a;const r=zt(h),o=typeof e.pageSize=="number"&&e.pageSize>0?e.pageSize:1/0,l=document.createElement("div");l.style.cssText=`height:100%;overflow:auto;font-size:12px;color:${r.text}`,i.appendChild(l);for(const u of s){if(u.name&&s.length>1){const y=document.createElement("div");y.style.cssText="padding:6px 8px 2px;font-weight:600",y.textContent=u.name,l.appendChild(y)}const c=((a=u.fields[0])==null?void 0:a.values.length)??0;let d=[...Array(c).keys()];const f=z(this,K)?u.fields.find(y=>y.name===z(this,K).col):void 0;if(f&&z(this,K)){const y=z(this,K).dir;d.sort((M,x)=>{const _=f.values[M],C=f.values[x];return _===null?1:C===null?-1:(_<C?-1:_>C?1:0)*y})}const m=d.slice(0,o),p=document.createElement("table");p.style.cssText="width:100%;border-collapse:collapse";const g=document.createElement("thead"),v=document.createElement("tr");for(const y of u.fields){const M=document.createElement("th");M.textContent=y.name,M.style.cssText=`position:sticky;top:0;text-align:left;padding:4px 8px;border-bottom:1px solid ${r.grid};cursor:pointer;background:inherit`,M.onclick=()=>{var x;W(this,K,((x=z(this,K))==null?void 0:x.col)===y.name&&z(this,K).dir===1?{col:y.name,dir:-1}:{col:y.name,dir:1}),this.frames=this.frames},v.appendChild(M)}g.appendChild(v);const w=document.createElement("tbody");for(const y of m){const M=document.createElement("tr");for(const x of u.fields){const _=document.createElement("td");_.textContent=rr(x,x.values[y]??null),_.style.cssText=`padding:3px 8px;border-bottom:1px solid ${r.grid}`,M.appendChild(_)}w.appendChild(M)}if(p.appendChild(g),p.appendChild(w),l.appendChild(p),m.length<c){const y=document.createElement("div");y.style.cssText="padding:4px 8px;opacity:.7",y.textContent=`前 ${m.length} 行,共 ${c} 行`,l.appendChild(y)}}}}K=new WeakMap;function lr(n,t,i){return n>=0?`rgba(239,68,68,${.15+.7*(i>0?n/i:0)})`:`rgba(59,130,246,${.15+.7*(t<0?n/t:0)})`}class ar extends Lt{renderInto(t,i,s,e){const h=zt(e),r=i[0],o=r==null?void 0:r.fields.find(v=>v.name==="x"&&v.type==="string"),l=r==null?void 0:r.fields.find(v=>v.name==="y"&&v.type==="string"),a=r==null?void 0:r.fields.find(v=>v.name==="value"&&v.type==="number");if(!r||!o||!l||!a)return this.error(t,"热力图需要 x/y/value 三列(string/string/number)");const u=[...new Set(o.values.filter(v=>typeof v=="string"))],c=[...new Set(l.values.filter(v=>typeof v=="string"))],d=new Map;for(let v=0;v<a.values.length;v++)d.set(JSON.stringify([o.values[v],l.values[v]]),a.values[v]);const f=a.values.filter(v=>typeof v=="number"),m=Math.min(0,...f),p=Math.max(0,...f),g=document.createElement("div");g.style.cssText=`display:grid;grid-template-columns:auto repeat(${u.length},1fr);gap:1px;font-size:10px;color:${h.text};height:100%;overflow:auto;padding:6px`,g.appendChild(document.createElement("span"));for(const v of u){const w=document.createElement("span");w.textContent=v,w.style.cssText="text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap",g.appendChild(w)}for(const v of c){const w=document.createElement("span");w.textContent=v,w.style.cssText="overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:4px",g.appendChild(w);for(const y of u){const M=d.get(JSON.stringify([y,v]))??null,x=document.createElement("div");x.dataset.cell="1",x.title=`${y} / ${v}${M===null?"":` = ${Number(M.toPrecision(4))}`}`,x.style.cssText=`min-height:18px;border-radius:2px;background:${M===null?"transparent":lr(M,m,p)}`,g.appendChild(x)}}t.appendChild(g)}}const ai="http://www.w3.org/2000/svg",Qi=100,It=100,D=8;class ur extends Lt{renderInto(t,i,s,e){const h=zt(e),r=i.map(w=>{const y=w.fields.filter(C=>C.type==="number");if(y.length<2)return null;const[M,x]=y,_=[];for(let C=0;C<M.values.length;C++){const E=M.values[C],P=x.values[C];typeof E=="number"&&typeof P=="number"&&_.push([E,P])}return{label:w.name??`${M.name}/${x.name}`,pts:_}});if(r.some(w=>w===null)||r.length===0)return this.error(t,"散点面板需要每帧至少两个 number 列");const o=r.flatMap(w=>w.pts),l=o.map(w=>w[0]),a=o.map(w=>w[1]),[u,c]=[Math.min(...l),Math.max(...l)],[d,f]=[Math.min(...a),Math.max(...a)],m=w=>D+(c===u?.5:(w-u)/(c-u))*(Qi-2*D),p=w=>It-D-(f===d?.5:(w-d)/(f-d))*(It-2*D),g=document.createElement("div");g.style.cssText=`display:flex;gap:8px;font-size:11px;padding:4px 8px;color:${h.text}`;const v=document.createElementNS(ai,"svg");v.setAttribute("viewBox",`0 0 ${Qi} ${It}`),v.setAttribute("preserveAspectRatio","none"),v.style.cssText="width:100%;height:calc(100% - 24px)",[.25,.5,.75].forEach(w=>{const y=document.createElementNS(ai,"line");y.setAttribute("x1",String(D)),y.setAttribute("x2",String(Qi-D)),y.setAttribute("y1",String(D+w*(It-2*D))),y.setAttribute("y2",String(D+w*(It-2*D))),y.setAttribute("stroke",h.grid),y.setAttribute("stroke-width","0.3"),v.appendChild(y)}),r.forEach((w,y)=>{const M=h.series[y%h.series.length],x=document.createElement("span");x.style.color=M,x.textContent=`● ${w.label}`,g.appendChild(x);for(const[_,C]of w.pts){const E=document.createElementNS(ai,"circle");E.setAttribute("cx",String(m(_))),E.setAttribute("cy",String(p(C))),E.setAttribute("r","1.2"),E.setAttribute("fill",M),E.setAttribute("fill-opacity","0.85");const P=document.createElementNS(ai,"title");P.textContent=`(${_}, ${C})`,E.appendChild(P),v.appendChild(E)}}),t.appendChild(g),t.appendChild(v)}}class cr extends Lt{constructor(){super(...arguments);Y(this,j,null)}dispose(){var i;(i=z(this,j))==null||i.remove(),W(this,j,null)}renderInto(i,s,e,h){const r=s.find(f=>f.name==="markers"),o=s.filter(f=>f!==r),l=_e(o);if(!l||l.length===0)return this.error(i,"回测面板需要至少一条曲线帧(time + number 列)");const a=zt(h),u=[];if(r){const f=r.fields.find(g=>g.type==="time"),m=r.fields.find(g=>g.name==="text"),p=r.fields.find(g=>g.name==="shape");for(let g=0;g<((f==null?void 0:f.values.length)??0);g++){const v=f.values[g];if(typeof v!="number")continue;const w=String((p==null?void 0:p.values[g])??"");u.push({time:v/1e3,text:String((m==null?void 0:m.values[g])??""),shape:w==="buy"?"arrowUp":w==="sell"?"arrowDown":"circle",position:w==="buy"?"belowBar":"aboveBar",color:w==="buy"?"#10b981":w==="sell"?"#ef4444":"#f59e0b"})}}const c=document.createElement("div");if(c.style.cssText=`display:flex;flex-wrap:wrap;gap:8px;font-size:11px;padding:4px 8px;color:${a.text}`,l.forEach((f,m)=>{const p=document.createElement("span");p.style.color=a.series[m%a.series.length],p.textContent=`— ${f.label}`,c.appendChild(p)}),u.length>0){const f=document.createElement("span");f.textContent=`◆ ${u.length} markers`,c.appendChild(f)}const d=document.createElement("div");if(d.dataset.chart="backtest",d.style.cssText="width:100%;height:calc(100% - 24px)",i.appendChild(c),i.appendChild(d),d.clientWidth>0&&d.clientHeight>0){W(this,j,ae(d,{autoSize:!0,layout:{background:{type:ti.Solid,color:"transparent"},textColor:a.text},grid:{vertLines:{color:a.grid},horzLines:{color:a.grid}}}));const f=l.map((m,p)=>{const g=z(this,j).addSeries(fe,{color:a.series[p%a.series.length],lineWidth:2});return g.setData(m.points),g});u.length>0&&f[0]&&nr(f[0],u.sort((m,p)=>m.time-p.time)),z(this,j).timeScale().fitContent()}}}j=new WeakMap;const Se=[["stream-panel-timeseries",hr],["stream-panel-table",or],["stream-panel-heatmap",ar],["stream-panel-scatter",ur],["stream-panel-backtest",cr]];function dr(){for(const[n,t]of Se)customElements.get(n)||customElements.define(n,t)}const fr=Se.map(([n])=>n);dr();const mr=fr;return T.elements=mr,Object.defineProperty(T,Symbol.toStringTag,{value:"Module"}),T})({});