Release v31.1.0 (from 6b804c486857f27920cf761aa7eb6e29d9bb6362)

This commit is contained in:
jenkins
2026-04-08 18:26:06 +00:00
parent c8eebb69a4
commit aa70f376c9
16 changed files with 512 additions and 418 deletions

View File

@@ -4,9 +4,33 @@
<!-- markdownlint-disable no-emphasis-as-heading -->
<!-- markdownlint-disable no-inline-html -->
<!-- markdownlint-disable code-block-style -->
## Version 31.1.0
*Date: Wed Apr 08 2026*
**New Features**
- **Added CSP nonce support for widget bootstrap scripts and same-origin iframe loading.** The new [`nonce`](https:/www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.ChartingLibraryWidgetOptions#nonce) widget constructor property applies a Content Security Policy (CSP) nonce to TradingView-owned bootstrap scripts and runtime-created style/script tags inside the library iframe. When `nonce` is omitted, the library attempts to infer the nonce from `window.__tvCspNonce` or a host-page `<script nonce>`. Script nonce propagation is supported. However, strict nonce-based `style-src` CSP is not currently supported, and library styles still require `style-src 'unsafe-inline'`. This property also works with the [`iframe_loading_same_origin`](https:/www.tradingview.com/charting-library-docs/latest/customization/Featuresets#iframe_loading_same_origin) featureset. In this case, the `sameorigin.html` response can provide its own nonce by setting `window.__tvCspNonce`, which takes precedence over the parent-side value.
- **Added globally shared mode for drawings.** This feature allows users to synchronize drawings across all layouts for the same symbol.
The update also adds a "New drawings sync globally" button to the [drawing toolbar](https:/www.tradingview.com/charting-library-docs/latest/ui_elements/drawings#drawing-toolbar).
**Improvements**
- **Extended save/load adapter API for separate drawings storage.** The [`saveLineToolsAndGroups`](https:/www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.IExternalSaveLoadAdapter#savelinetoolsandgroups) method now receives an optional `context` argument containing metadata (`sharingMode`, `symbol`, `requestId`). The [`loadLineToolsAndGroups`](https:/www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.IExternalSaveLoadAdapter#loadlinetoolsandgroups) request context is exposed through [`LineToolsAndGroupsLoadRequestContext`](https:/www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.LineToolsAndGroupsLoadRequestContext). For more information, see [Saving drawings separately](https:/www.tradingview.com/charting-library-docs/latest/saving_loading/saving_drawings_separately).
- **Added UI support for multiple exit levels on the chart.** The Take Profit and Stop Loss buttons now reappear on the parent order after the initial brackets are placed. This allows users to add [multiple exit levels](https:/www.tradingview.com/charting-library-docs/latest/trading_terminal/trading-concepts/brackets#multiple-exit-levels) directly from the chart. (Trading Platform only)
**Bug Fixes**
- **Fixed an error in the broker sample implementation when placing a Stop Loss order.** (Trading Platform only)
- **Fixed delayed chart refresh when applying trading property overrides.** The chart now updates immediately when applying overrides to `tradingProperties.showOrders` and `tradingProperties.showPositions`, without requiring user interaction. (Trading Platform only)
- **Fixed an issue where adding orders with exit levels caused a `ReferenceError TradedItemType is not defined`.** (Trading Platform only)
---
## Version 31.0.0
*Date: Thu Mar 05 2026*
*Date: Fri Mar 06 2026*
**New Features**
@@ -62,7 +86,7 @@ The [Introduction](https:/www.tradingview.com/charting-library-docs/latest/intro
**New Features**
- **Added the `legend_bar_change_colors_based_on_value` featureset.** When enabled, bar change values in the legend are colored based on their value (positive, negative, or zero). Applies only to non-OHLC chart types.
- **Added the `legend_bar_change_colors_based_on_value` featureset.** When enabled, bar change values in the legend are dynamically colored. For non-OHLC chart types, the color depends on the value (positive, negative, or zero). For OHLC chart types, the library uses the series' own color scheme.
- **Added the `applyOverrides` method to the `IChartWidgetApi` interface.** Unlike [`IChartingLibraryWidget.applyOverrides`](https:/www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.IChartingLibraryWidget#applyoverrides), which applies overrides to **all charts**, this new method allows applying overrides to **specific chart instances**.
Refer to [Apply overrides](https:/www.tradingview.com/charting-library-docs/latest/ui_elements/Chart#apply-overrides) for usage example.
@@ -233,6 +257,16 @@ Old styles like `'ctrl+shift+/'` or `['ctrl', 'shift', '/']` are deprecated. Use
---
## Version 29.6.0
*Date: Wed Aug 13 2025*
**Improvements**
- **Added a `label` property to `StudyOrDrawingAddedToChartEventParams`.** The [`label`](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.StudyOrDrawingAddedToChartEventParams/#label) property contains the indicator's name as defined in the [`description`](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.RawStudyMetaInfo/#description) field of its [metainfo](https://www.tradingview.com/charting-library-docs/latest/custom_studies/metainfo/).
---
## Version 29.5.0
*Date: Tue Aug 05 2025*

View File

@@ -1 +0,0 @@
"use strict";(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[2757],{34962:(e,o,r)=>{r.d(o,{ChartStorageExternalAdapter:()=>a});class a{constructor(e){this._externalAdapter=e,this._externalAdapter.saveLineToolsAndGroups&&this._externalAdapter.loadLineToolsAndGroups||console.warn("saveLineToolsAndGroups and loadLineToolsAndGroups are required in the SaveLoad Adapter when `saveload_separate_drawings_storage` featureset is enabled.")}async saveLineToolsAndGroups(e,o,r,a,t){if(!this._externalAdapter.saveLineToolsAndGroups)throw new Error("saveLineToolsAndGroups should be implemented within the SaveLoad Adapter when `saveload_separate_drawings_storage` featureset is enabled.");if(void 0===e)throw new Error("Cannot save line tools without a layout");return await this._externalAdapter.saveLineToolsAndGroups(e,o,r),{chartId:o,content:"",layoutId:e,savedDto:r,sharingMode:a}}async loadLineToolsAndGroups(e,o,r){if(!this._externalAdapter.loadLineToolsAndGroups)throw new Error("loadLineToolsAndGroups should be implemented within the SaveLoad Adapter when `saveload_separate_drawings_storage` featureset is enabled.");const a={};"mainSeriesLineTools"===r.requestType&&(a.symbol=r.symbol);return await this._externalAdapter.loadLineToolsAndGroups(e,o,r.requestType,a)}removeLineTools(e,o,r,a){throw new Error("Method not implemented.")}getLayoutDrawingsSizeInfo(e,o){throw new Error("Method not implemented.")}getUserGlobalDrawingsSizeInfo(e){throw new Error("Method not implemented.")}}}}]);

View File

@@ -0,0 +1 @@
"use strict";(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[2757],{34962:(e,o,r)=>{r.d(o,{ChartStorageExternalAdapter:()=>s});class s{constructor(e){this._externalAdapter=e,this._externalAdapter.saveLineToolsAndGroups&&this._externalAdapter.loadLineToolsAndGroups||console.warn("saveLineToolsAndGroups and loadLineToolsAndGroups are required in the SaveLoad Adapter when `saveload_separate_drawings_storage` featureset is enabled.")}async saveLineToolsAndGroups(e,o,r,s,a){if(!this._externalAdapter.saveLineToolsAndGroups)throw new Error("saveLineToolsAndGroups should be implemented within the SaveLoad Adapter when `saveload_separate_drawings_storage` featureset is enabled.");if(void 0===e)throw new Error("Cannot save line tools without a layout");const t={sharingMode:s,requestId:`${e}:${o}`,symbol:r.symbol};return await this._externalAdapter.saveLineToolsAndGroups(e,o,r,t),{chartId:o,content:"",layoutId:e,savedDto:r,sharingMode:s}}async loadLineToolsAndGroups(e,o,r){if(!this._externalAdapter.loadLineToolsAndGroups)throw new Error("loadLineToolsAndGroups should be implemented within the SaveLoad Adapter when `saveload_separate_drawings_storage` featureset is enabled.");const s={};s.sharingMode=r.sharingMode,"seriesSourceId"in r&&(s.seriesSourceId=r.seriesSourceId),"mainSeriesLineTools"===r.requestType&&(s.symbol=r.symbol);return await this._externalAdapter.loadLineToolsAndGroups(e,o,r.requestType,s)}removeLineTools(e,o,r,s){throw new Error("Method not implemented.")}getLayoutDrawingsSizeInfo(e,o){throw new Error("Method not implemented.")}getUserGlobalDrawingsSizeInfo(e){throw new Error("Method not implemented.")}}}}]);

View File

@@ -0,0 +1 @@
"use strict";(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[1102],{14683:(e,t,o)=>{o.r(t),o.d(t,{CustomThemesApi:()=>c});var r=o(26028),n=o(43763);class c{async applyCustomThemes(e){const t=(0,n.getChartingLibraryGlobalContext)(),o=t.tradingViewApi.themes().getCurrentThemeName();(0,r.overrideStandardThemes)(e),await t.tradingViewApi.themes().setStdTheme(o,void 0,!0)}async resetCustomThemes(){const e=(0,n.getChartingLibraryGlobalContext)(),t=e.tradingViewApi.themes().getCurrentThemeName();(0,r.restoreStandardThemes)(),await e.tradingViewApi.themes().setStdTheme(t,void 0,!0)}}},26028:(e,t,o)=>{o.d(t,{overrideStandardThemes:()=>h,restoreStandardThemes:()=>g});var r=o(22872),n=o(28507),c=o(40520),a=o(47097),i=o(30614);const s={};for(const[e,t]of Object.entries(i))s[t]=e;function l(e,t){const o=s[e];if(void 0!==o)return function(e,t){const o=/([a-z]+[\-a-z+]+-[a-z]+)-?([0-9]+)?/.exec(e);if(null===o)return;const r=o[1],n=parseInt(o[2])/50-1;switch(r){case"color-tv-blue":return t.color1[n];case"color-cold-gray":return t.color2[n];case"color-ripe-red":return t.color3[n];case"color-minty-green":return t.color4[n];case"color-tan-orange":return t.color5[n];case"color-grapes-purple":return t.color6[n];case"color-banana-yellow":return t.color7[n];case"color-white":return t.white;case"color-black":return t.black}}(o,t)}var d=o(43763);const u="theme-custom",m="custom-theme-styles";function h(e){p(a.StdTheme.Light,e[a.StdTheme.Light]),p(a.StdTheme.Dark,e[a.StdTheme.Dark]),window.requestAnimationFrame((()=>{!function(){const e=window.document.documentElement.classList;e.contains(u)||e.add(u)}(),function(e){const t=function(){const e=(0,d.getChartingLibraryGlobalContext)().document;let t=e.getElementById(m);t||(t=function(){const e=(0,d.getChartingLibraryGlobalContext)(),t=e.document,o=t.createElement("style");o.id=m,void 0!==e.cspNonce&&o.setAttribute("nonce",e.cspNonce);return o}(),e.head.appendChild(t));return t}(),o=[f(":root",a.StdTheme.Light,e[a.StdTheme.Light]),f(".theme-dark:root",a.StdTheme.Dark,e[a.StdTheme.Dark])].join("\n\n");t.textContent=o}(e)}))}function g(){(0,n.restoreStdThemes)(),window.requestAnimationFrame((()=>{!function(){const e=(0,d.getChartingLibraryGlobalContext)().document.getElementById(m);e&&e.remove()}(),window.document.documentElement.classList.remove(u)}))}const b={color1:"tv-blue",color2:"cold-gray",color3:"ripe-red",color4:"minty-green",color5:"tan-orange",color6:"grapes-purple",color7:"banana-yellow",black:"black",white:"white"};function f(e,t,o){const r=[];for(const[e,t]of Object.entries(o)){const n=b[e];if(Array.isArray(t))for(let t=0;t<o[e].length;t++)r.push(`--color-${n}-${50*(t+1)}: ${o[e][t]};`);else r.push(`--color-${n}: ${o[e]};`)}return`${e} {\n${r.sort().join("\n")}\n}`}function p(e,t){const o=(0,c.getStdTheme)(e);(0,n.overrideStdTheme)(e,function e(o){for(const[n,c]of Object.entries(o))if((0,r.isObject)(c))e(c);else if("string"==typeof c){let e=l(c,t);"backgroundGradientStartColor"===n&&(e=l(o.backgroundGradientEndColor,t)),void 0!==e&&(o[n]=e)}return o}(o))}}}]);

View File

@@ -1 +0,0 @@
"use strict";(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[1102],{14683:(e,t,r)=>{r.r(t),r.d(t,{CustomThemesApi:()=>a});var o=r(26028),n=r(43763);class a{async applyCustomThemes(e){const t=(0,n.getChartingLibraryGlobalContext)(),r=t.tradingViewApi.themes().getCurrentThemeName();(0,o.overrideStandardThemes)(e),await t.tradingViewApi.themes().setStdTheme(r,void 0,!0)}async resetCustomThemes(){const e=(0,n.getChartingLibraryGlobalContext)(),t=e.tradingViewApi.themes().getCurrentThemeName();(0,o.restoreStandardThemes)(),await e.tradingViewApi.themes().setStdTheme(t,void 0,!0)}}},26028:(e,t,r)=>{r.d(t,{overrideStandardThemes:()=>h,restoreStandardThemes:()=>g});var o=r(22872),n=r(28507),a=r(40520),c=r(47097),i=r(30614);const s={};for(const[e,t]of Object.entries(i))s[t]=e;function l(e,t){const r=s[e];if(void 0!==r)return function(e,t){const r=/([a-z]+[\-a-z+]+-[a-z]+)-?([0-9]+)?/.exec(e);if(null===r)return;const o=r[1],n=parseInt(r[2])/50-1;switch(o){case"color-tv-blue":return t.color1[n];case"color-cold-gray":return t.color2[n];case"color-ripe-red":return t.color3[n];case"color-minty-green":return t.color4[n];case"color-tan-orange":return t.color5[n];case"color-grapes-purple":return t.color6[n];case"color-banana-yellow":return t.color7[n];case"color-white":return t.white;case"color-black":return t.black}}(r,t)}var d=r(43763);const m="theme-custom",u="custom-theme-styles";function h(e){w(c.StdTheme.Light,e[c.StdTheme.Light]),w(c.StdTheme.Dark,e[c.StdTheme.Dark]),window.requestAnimationFrame((()=>{!function(){const e=window.document.documentElement.classList;e.contains(m)||e.add(m)}(),function(e){const t=function(){const e=(0,d.getChartingLibraryGlobalContext)().document;let t=e.getElementById(u);t||(t=function(){const e=(0,d.getChartingLibraryGlobalContext)().document,t=e.createElement("style");return t.id=u,t}(),e.head.appendChild(t));return t}(),r=[b(":root",c.StdTheme.Light,e[c.StdTheme.Light]),b(".theme-dark:root",c.StdTheme.Dark,e[c.StdTheme.Dark])].join("\n\n");t.textContent=r}(e)}))}function g(){(0,n.restoreStdThemes)(),window.requestAnimationFrame((()=>{!function(){const e=(0,d.getChartingLibraryGlobalContext)().document.getElementById(u);e&&e.remove()}(),window.document.documentElement.classList.remove(m)}))}const f={color1:"tv-blue",color2:"cold-gray",color3:"ripe-red",color4:"minty-green",color5:"tan-orange",color6:"grapes-purple",color7:"banana-yellow",black:"black",white:"white"};function b(e,t,r){const o=[];for(const[e,t]of Object.entries(r)){const n=f[e];if(Array.isArray(t))for(let t=0;t<r[e].length;t++)o.push(`--color-${n}-${50*(t+1)}: ${r[e][t]};`);else o.push(`--color-${n}: ${r[e]};`)}return`${e} {\n${o.sort().join("\n")}\n}`}function w(e,t){const r=(0,a.getStdTheme)(e);(0,n.overrideStdTheme)(e,function e(r){for(const[n,a]of Object.entries(r))if((0,o.isObject)(a))e(a);else if("string"==typeof a){let e=l(a,t);"backgroundGradientStartColor"===n&&(e=l(r.backgroundGradientEndColor,t)),void 0!==e&&(r[n]=e)}return r}(r))}}}]);

View File

@@ -17,7 +17,7 @@ icon:h.icon,isActive:o&&e===u,appearAsDisabled:m,label:n.createElement("div",{cl
removeAllLabel:W.t(null,void 0,o(7786)),alwaysRemoveLockedDrawings:yt.deleteLockedLineToolsProperty.value()};const e=this._activeChartWidget.actions();return{removeAllDrawingsLabel:e.paneRemoveAllDrawingTools.getState().label,removeAllStudiesLabel:e.paneRemoveAllStudies.getState().label,removeAllLabel:e.paneRemoveAllStudiesDrawingTools.getState().label,alwaysRemoveLockedDrawings:yt.deleteLockedLineToolsProperty.value()}},this._activeChartWidget=this.props.chartWidgetCollection.activeChartWidget.value(),this.state=this._getActualState()}componentDidMount(){this.props.chartWidgetCollection.activeChartWidget.subscribe(this._handleActiveChartWidgetChanged,{callWithLast:!0})}componentWillUnmount(){this._activeChartWidget&&this._unsubscribeToModelChanges(this._activeChartWidget),this.props.chartWidgetCollection.activeChartWidget.unsubscribe(this._handleActiveChartWidgetChanged)}render(){const e=this.props.isSmallTablet?Ft:void 0,t=this.props.isSmallTablet?vt.menuItemSwitcherMobileTheme:bt.DEFAULT_MENU_ITEM_SWITCHER_THEME,i=this.props.isSmallTablet?At.wrapper:void 0,{removeAllDrawingsLabel:a,removeAllStudiesLabel:l,removeAllLabel:s,alwaysRemoveLockedDrawings:r}=this.state;return n.createElement(fe,{buttonIcon:v.lineToolsInfo[this.props.toolName].icon,buttonTitle:a,onClickButton:this._handleRemoveToolClick,dropdownTooltip:W.t(null,void 0,o(27940)),isSmallTablet:this.props.isSmallTablet,"data-name":this.props.toolName,onArrowClick:this._handleArrowClick,openDropdownByClick:It},n.createElement(ht.AccessibleMenuItem,{"data-name":"remove-drawing-tools",label:a,onClick:this._handleRemoveDrawings,theme:e}),n.createElement(ht.AccessibleMenuItem,{"data-name":"remove-studies",label:l,onClick:this._handleRemoveStudies,theme:e}),n.createElement(ht.AccessibleMenuItem,{"data-name":"remove-all",label:s,onClick:this._handleRemoveAll,theme:e}),n.createElement(n.Fragment,null,n.createElement(rt.PopupMenuSeparator,null),n.createElement(bt.MenuItemSwitcher,{checked:r,onChange:this._handleAlwaysRemoveLockedDrawings,label:W.t(null,void 0,o(81466)),value:"alwaysRemoveLockedDrawingsSwitcher",theme:t,className:i})))}_handleArrowClick(){Wt("menu")}_subscribeToModelChanges(e){e.withModel(this,(()=>{this._handleCollectionChanged(),e.model().model().dataSourceCollectionChanged().subscribe(this,this._handleCollectionChanged)}))}_unsubscribeToModelChanges(e){e.hasModel()&&e.model().model().dataSourceCollectionChanged().unsubscribe(this,this._handleCollectionChanged),e.modelCreated().unsubscribeAll(this)}}function Dt(e){(0,Et.trackEvent)("GUI","Chart Left Toolbar",e)}function Wt(e){0}var Lt=o(60135),Rt=o(16430),Bt=o(95296);const Vt=n.createContext({hideMode:"drawings",isActive:!1});function Ot(e){const{hideMode:t,option:{label:o,dataName:i,getBoxedValue:a},isSmallTablet:l,onClick:s}=e,{hideMode:r,isActive:c}=(0,n.useContext)(Vt),u=a?.();return"all"===t||u?n.createElement(ht.AccessibleMenuItem,{label:o,isActive:r===t&&c,onClick:function(){s(t,(0,Rt.toggleHideMode)(t))},"data-name":i,theme:l?Ft:void 0}):n.createElement(n.Fragment,null)}const Pt={drawings:{
active:U.drawingToolsIcons.hideAllDrawingToolsActive,inactive:U.drawingToolsIcons.hideAllDrawingTools},indicators:{active:U.drawingToolsIcons.hideAllIndicatorsActive,inactive:U.drawingToolsIcons.hideAllIndicators},positions:{active:U.drawingToolsIcons.hideAllPositionsToolsActive,inactive:U.drawingToolsIcons.hideAllPositionsTools},all:{active:U.drawingToolsIcons.hideAllDrawingsActive,inactive:U.drawingToolsIcons.hideAllDrawings}};function Ht(e){const{isSmallTablet:t}=e,[{isActive:i,hideMode:l},s]=(0,n.useState)((()=>({isActive:!1,hideMode:(0,Rt.getSavedHideMode)()})));(0,n.useEffect)((()=>(Bt.hideStateChange.subscribe(null,s),()=>{Bt.hideStateChange.unsubscribe(null,s)})),[]);const r=v.lineToolsInfo.hideAllDrawings,{trackLabel:c,tooltip:u,dataName:d}=(0,a.ensureDefined)((0,Rt.getHideOptions)().get(l)),h=Pt[l][i?"active":"inactive"],m=i?u.active:u.inactive;return n.createElement(fe,{buttonIcon:h,buttonTitle:m,buttonHotKey:r.hotKey,dropdownTooltip:Lt.t(null,void 0,o(86099)),onClickButton:function(){(0,Rt.toggleHideMode)(l),jt(c,!i),zt(i?"on":"off")},isSmallTablet:t,isActive:i,checkable:!0,"data-name":"hide-all","data-type":d,onArrowClick:function(){zt("menu")}},n.createElement(Vt.Provider,{value:{isActive:i,hideMode:l}},Array.from((0,Rt.getHideOptions)()).map((([e,o])=>n.createElement(Ot,{key:e,hideMode:e,option:o,isSmallTablet:t,onClick:p})))));function p(e,t){jt((0,a.ensureDefined)((0,Rt.getHideOptions)().get(e)).trackLabel,t)}}function jt(e,t){(0,Et.trackEvent)("GUI","Chart Left Toolbar",`${e} ${t?"on":"off"}`)}function zt(e){0}var Ut=o(65346),Qt=o(28864);const Gt=W.t(null,void 0,o(86132));class qt extends n.PureComponent{constructor(){super(...arguments),this._instance=null,this._promise=null,this._bindedForceUpdate=()=>this.forceUpdate(),this._handleClick=()=>{null!==this._instance&&(this._instance.isVisible()?(this._instance.hideAndSaveSettingsValue(),this._trackClick(!1)):(this._instance.showAndSaveSettingsValue(),this._trackClick(!0)))}}componentDidMount(){const e=this._promise=(0,a.ensureNotNull)((0,Ut.getFavoriteDrawingToolbarPromise)());e.then((t=>{this._promise===e&&(this._instance=t,this._instance.canBeShown().subscribe(this._bindedForceUpdate),this._instance.visibility().subscribe(this._bindedForceUpdate),this.forceUpdate())}))}componentWillUnmount(){this._promise=null,null!==this._instance&&(this._instance.canBeShown().unsubscribe(this._bindedForceUpdate),this._instance.visibility().unsubscribe(this._bindedForceUpdate),this._instance=null)}render(){return null!==this._instance&&this._instance.canBeShown().value()?n.createElement(I,{id:this.props.id,icon:Qt,isActive:this._instance.isVisible(),onClick:this._handleClick,tooltip:Gt}):null}_trackClick(e){0}}var Zt=o(9583),Jt=o(69111),Kt=o(71539);const $t={[Zt.MagnetMode.WeakMagnet]:{id:Zt.MagnetMode.WeakMagnet,name:"weakMagnet",icon:U.drawingToolsIcons.magnet,localizedName:W.t(null,void 0,o(97039))},[Zt.MagnetMode.StrongMagnet]:{id:Zt.MagnetMode.StrongMagnet,name:"strongMagnet",icon:U.drawingToolsIcons.strongMagnet,localizedName:W.t(null,void 0,o(49116))}
},Xt=(0,pe.mergeThemes)(vt.menuItemSwitcherMobileTheme,{label:Kt.switcherLabel}),Yt=(0,pe.mergeThemes)(bt.DEFAULT_MENU_ITEM_SWITCHER_THEME,{label:Kt.switcherLabel});function eo(e){const{isSmallTablet:t}=e,i=(0,gt.useWatchedValueReadonly)({watchedValue:(0,Jt.magnetEnabled)()}),a=(0,gt.useWatchedValueReadonly)({watchedValue:(0,Jt.magnetMode)()}),l=(0,gt.useWatchedValueReadonly)({watchedValue:(0,Jt.magnetSnapsToIndicators)()});return n.createElement("div",{className:Kt.toolButtonMagnet},n.createElement(fe,{"data-name":"magnet-button",buttonIcon:$t[a].icon,buttonTitle:v.lineToolsInfo.magnet.localizedName,dropdownTooltip:W.t(null,void 0,o(51937)),isActive:i,onClickButton:function(){const e=!i;(0,Et.trackEvent)("GUI","Chart Left Toolbar","magnet mode "+(e?"on":"off")),!1;(0,Jt.setIsMagnetEnabled)(e)},buttonHotKey:v.lineToolsInfo.magnet.hotKey,checkable:!0,isSmallTablet:t,onArrowClick:function(){0}},Object.values($t).map((({id:e,name:o,localizedName:l,icon:r})=>n.createElement(ht.AccessibleMenuItem,{key:e,className:t?Kt.toolButtonMagnet__menuItem:void 0,"data-name":o,icon:r,isActive:i&&a===e,label:l,onClick:s,onClickArg:e}))),n.createElement(n.Fragment,null,n.createElement(rt.PopupMenuSeparator,null),n.createElement(bt.MenuItemSwitcher,{key:"snap-to-indicators",checked:l,onChange:function(e){(0,Et.trackEvent)("GUI","Chart Left Toolbar","magnet snaps "+(e?"on":"off")),!1;(0,Jt.setMagnetSnapsToIndicators)(e)},label:W.t(null,void 0,o(5793)),value:"snapToIndicatorsSwitcher",theme:t?Xt:Yt,disabled:!i}))),!1);function s(e){void 0!==e&&((0,Et.trackEvent)("GUI","Magnet mode",e===Zt.MagnetMode.WeakMagnet?"Weak":"Strong"),(0,Jt.setMagnetMode)(e))}}var to;!function(e){e.Screenshot="drawing-toolbar-screenshot",e.FavoriteDrawings="drawing-toolbar-favorite-drawings",e.ObjectTree="drawing-toolbar-object-tree"}(to||(to={}));var oo=o(53530),no=o(63484),io=o(20054),ao=o(11508),lo=o(2739),so=o(89318);const ro=so,co="http://www.w3.org/2000/svg";function uo(e){const{direction:t,theme:o=so}=e;return n.createElement("svg",{xmlns:co,width:"9",height:"27",viewBox:"0 0 9 27",className:l(o.container,"right"===t?o.mirror:null),onContextMenu:no.preventDefault},n.createElement("g",{fill:"none",fillRule:"evenodd"},n.createElement("path",{className:o.background,d:"M4.5.5a4 4 0 0 1 4 4v18a4 4 0 1 1-8 0v-18a4 4 0 0 1 4-4z"}),n.createElement("path",{className:o.arrow,d:"M5.5 10l-2 3.5 2 3.5"})))}var ho=o(73064),mo=o(24498),po=o(63937);const bo=(0,pe.mergeThemes)(ro,po),vo={hide:W.t(null,void 0,o(77552)),show:W.t(null,void 0,o(44310))},go=(0,n.forwardRef)(((e,t)=>{const{toolbarVisible:o,"data-name":i}=e,a=(0,ho.useFunctionalRefObject)(t);return n.createElement("button",{"data-tooltip-show-on-focus":"true",...mo.MouseClickAutoBlurHandler.attributes(),ref:a,type:"button","aria-label":o?vo.hide:vo.show,"data-tooltip":o?vo.hide:vo.show,className:l(bo.toggleButton,"apply-common-tooltip common-tooltip-vertical",!o&&bo.collapsed,bo.accessible),onClick:function(){w.isDrawingToolbarVisible.setValue(!w.isDrawingToolbarVisible.value())},"data-name":i,
"data-value":o?"visible":"collapsed"},n.createElement(uo,{direction:o?"left":"right",theme:o?void 0:bo}))}));var fo=o(17896),wo=o(73873),Co=o(54466);const xo={chartWidgetCollection:o(21896).any.isRequired};var To=o(77907),_o=o(76086);const Eo=(0,u.isFeaturesetEnabled)("right_toolbar"),ko=(0,u.isFeaturesetEnabled)("keep_object_tree_widget_in_right_toolbar"),So=((0,u.isFeaturesetEnabled)("saveload_separate_drawings_storage"),(0,p.onWidget)()),Fo=new m.Delegate,yo=Et.trackEvent.bind(null,"GUI","Chart Left Toolbar"),Mo=(e,t)=>yo(`${e} ${t?"on":"off"}`);class Ao extends n.PureComponent{constructor(e){super(e),this._grayedTools={},this._handleMeasureClick=()=>{Io("measure")},this._handleZoomInClick=()=>{Io("zoom in")},this._handleDrawingClick=e=>{Mo("drawing mode",e),Io("drawing mode",e?"on":"off")},this._handleLockClick=e=>{Mo("lock all drawing",e),Io("lock",e?"on":"off")},this._handleSyncClick=e=>{Mo("sync",e),Io("sync",e?"on":"off")},this._handleObjectsTreeClick=()=>{this._activeChartWidget().showObjectsTreeDialog(),Io("object tree")},this._handleMouseOver=e=>{(0,oo.hoverMouseEventFilter)(e)&&this.setState({isHovered:!0})},this._handleMouseOut=e=>{(0,oo.hoverMouseEventFilter)(e)&&this.setState({isHovered:!1})},this._handleChangeVisibility=e=>{this.setState({isVisible:e})},this._handleEsc=()=>{d.resetToCursor(!0)},this._handleWidgetbarSettled=e=>{this.setState({isWidgetbarVisible:Boolean(window.widgetbar?.visible().value()),widgetbarSettled:e})},this._handleWidgetbarVisible=e=>{this.setState({isWidgetbarVisible:e})},d.init(),this._toolsFilter=new g(this.props.drawingsAccess),this._filteredLineTools=f.lineTools.reduce(((e,t)=>{const{id:o,title:n,trackLabel:i}=t,a=e=>(0,f.isLineToolOption)(e)||this._toolsFilter.isToolEnabled(v.lineToolsInfo[e.name].localizedName),l=[];return(0,f.isLineToolsGroupWithSections)(t)?t.sections.forEach((e=>{const t=e.items.filter(a);t.length&&l.push({title:e.title},...t)})):l.push(...t.items.filter(a)),l.length&&e.push({id:o,title:n,trackLabel:i,items:l}),e}),[]),this._filteredLineTools.forEach((e=>{e.items.forEach((e=>{"name"in e&&(this._grayedTools[e.name]=this._toolsFilter.isToolGrayed(v.lineToolsInfo[e.name].localizedName))}))})),this.state={isHovered:!1,isVisible:w.isDrawingToolbarVisible.value(),isWidgetbarVisible:Boolean(window.widgetbar?.visible().value()),widgetbarSettled:void 0!==window.widgetbar},this._features={favoriting:!this.props.readOnly&&!So&&(0,u.isFeaturesetEnabled)("items_favoriting"),multicharts:(0,u.isFeaturesetEnabled)("support_multicharts"),tools:!So||!0},this._registry={chartWidgetCollection:this.props.chartWidgetCollection},this._negotiateResizer()}componentDidMount(){w.isDrawingToolbarVisible.subscribe(this._handleChangeVisibility),y.globalCloseDelegate.subscribe(this,this._handleGlobalClose),this._tool=d.tool.spawn(),this._tool.subscribe(this._updateHotkeys.bind(this)),this._initHotkeys(),this.props.widgetbarSettled&&(this.props.widgetbarSettled.subscribe(this,this._handleWidgetbarSettled),
"data-value":o?"visible":"collapsed"},n.createElement(uo,{direction:o?"left":"right",theme:o?void 0:bo}))}));var fo=o(17896),wo=o(73873),Co=o(54466);const xo={chartWidgetCollection:o(21896).any.isRequired};var To=o(77907),_o=o(76086);(0,u.isFeaturesetEnabled)("saveload_separate_drawings_storage");const Eo=(0,u.isFeaturesetEnabled)("right_toolbar"),ko=(0,u.isFeaturesetEnabled)("keep_object_tree_widget_in_right_toolbar"),So=((0,u.isFeaturesetEnabled)("saveload_separate_drawings_storage"),(0,p.onWidget)()),Fo=new m.Delegate,yo=Et.trackEvent.bind(null,"GUI","Chart Left Toolbar"),Mo=(e,t)=>yo(`${e} ${t?"on":"off"}`);class Ao extends n.PureComponent{constructor(e){super(e),this._grayedTools={},this._handleMeasureClick=()=>{Io("measure")},this._handleZoomInClick=()=>{Io("zoom in")},this._handleDrawingClick=e=>{Mo("drawing mode",e),Io("drawing mode",e?"on":"off")},this._handleLockClick=e=>{Mo("lock all drawing",e),Io("lock",e?"on":"off")},this._handleSyncClick=e=>{Mo("sync",e),Io("sync",e?"on":"off")},this._handleObjectsTreeClick=()=>{this._activeChartWidget().showObjectsTreeDialog(),Io("object tree")},this._handleMouseOver=e=>{(0,oo.hoverMouseEventFilter)(e)&&this.setState({isHovered:!0})},this._handleMouseOut=e=>{(0,oo.hoverMouseEventFilter)(e)&&this.setState({isHovered:!1})},this._handleChangeVisibility=e=>{this.setState({isVisible:e})},this._handleEsc=()=>{d.resetToCursor(!0)},this._handleWidgetbarSettled=e=>{this.setState({isWidgetbarVisible:Boolean(window.widgetbar?.visible().value()),widgetbarSettled:e})},this._handleWidgetbarVisible=e=>{this.setState({isWidgetbarVisible:e})},d.init(),this._toolsFilter=new g(this.props.drawingsAccess),this._filteredLineTools=f.lineTools.reduce(((e,t)=>{const{id:o,title:n,trackLabel:i}=t,a=e=>(0,f.isLineToolOption)(e)||this._toolsFilter.isToolEnabled(v.lineToolsInfo[e.name].localizedName),l=[];return(0,f.isLineToolsGroupWithSections)(t)?t.sections.forEach((e=>{const t=e.items.filter(a);t.length&&l.push({title:e.title},...t)})):l.push(...t.items.filter(a)),l.length&&e.push({id:o,title:n,trackLabel:i,items:l}),e}),[]),this._filteredLineTools.forEach((e=>{e.items.forEach((e=>{"name"in e&&(this._grayedTools[e.name]=this._toolsFilter.isToolGrayed(v.lineToolsInfo[e.name].localizedName))}))})),this.state={isHovered:!1,isVisible:w.isDrawingToolbarVisible.value(),isWidgetbarVisible:Boolean(window.widgetbar?.visible().value()),widgetbarSettled:void 0!==window.widgetbar},this._features={favoriting:!this.props.readOnly&&!So&&(0,u.isFeaturesetEnabled)("items_favoriting"),multicharts:(0,u.isFeaturesetEnabled)("support_multicharts"),tools:!So||!0},this._registry={chartWidgetCollection:this.props.chartWidgetCollection},this._negotiateResizer()}componentDidMount(){w.isDrawingToolbarVisible.subscribe(this._handleChangeVisibility),y.globalCloseDelegate.subscribe(this,this._handleGlobalClose),this._tool=d.tool.spawn(),this._tool.subscribe(this._updateHotkeys.bind(this)),this._initHotkeys(),this.props.widgetbarSettled&&(this.props.widgetbarSettled.subscribe(this,this._handleWidgetbarSettled),
p.CheckMobile.any()&&window.widgetbar?.visible().subscribe(this._handleWidgetbarVisible))}componentWillUnmount(){window.widgetbar?.visible().unsubscribe(this._handleWidgetbarVisible),w.isDrawingToolbarVisible.unsubscribe(this._handleChangeVisibility),y.globalCloseDelegate.unsubscribe(this,this._handleGlobalClose),this._tool.destroy(),this._hotkeys.destroy()}componentDidUpdate(e,t){const{isVisible:o,widgetbarSettled:n}=this.state;o!==t.isVisible&&(h.emit("toggle_sidebar",!o),c.setValue("ChartDrawingToolbarWidget.visible",o),this._negotiateResizer()),t.widgetbarSettled!==n&&n&&p.CheckMobile.any()&&window.widgetbar?.visible().subscribe(this._handleWidgetbarVisible)}render(){const{bgColor:e,chartWidgetCollection:t,readOnly:o}=this.props,{isHovered:i,isVisible:a}=this.state,s={backgroundColor:e&&`#${e}`};let c;c=n.createElement(go,{toolbarVisible:a,"data-name":"toolbar-drawing-toggle-button"});const h=()=>!!this._features.tools&&!(!(0,u.isFeaturesetEnabled)("show_object_tree")||ko&&!Eo);return n.createElement(To.RegistryProvider,{validation:xo,value:this._registry},n.createElement(ao.CloseDelegateContext.Provider,{value:Fo},n.createElement(fo.DrawerManager,null,n.createElement(Co.MatchMedia,{rule:wo.DialogBreakpoints.TabletSmall},(e=>n.createElement(lo.Toolbar,{id:"drawing-toolbar",className:l(_o.drawingToolbar,{[_o.isHidden]:!a}),style:s,onClick:this.props.onClick,onContextMenu:no.preventDefaultForContextMenu,orientation:"vertical"},n.createElement(S,{onScroll:this._handleGlobalClose,isVisibleFade:r.mobiletouch,isVisibleButtons:!r.mobiletouch&&i,isVisibleScrollbar:!1,onMouseOver:this._handleMouseOver,onMouseOut:this._handleMouseOut},n.createElement("div",{className:_o.inner},!o&&n.createElement("div",{className:_o.group,style:s},this._filteredLineTools.map((o=>n.createElement(_t,{key:o.id,"data-name":o.id,chartWidgetCollection:t,favoriting:this._features.favoriting&&!("linetool-group-cursors"===o.id&&(0,b.isOnMobileAppPage)("any")),grayedTools:this._grayedTools,dropdownTooltip:o.title,lineTools:o.items,isSmallTablet:e,trackLabel:o.trackLabel}))),this._toolsFilter.isToolEnabled("Font Icons")&&n.createElement(ot,{"data-name":"linetool-group-font-icons",isGrayed:this._grayedTools["Font Icons"],isSmallTablet:e})),!o&&n.createElement("div",{className:_o.group,style:s},n.createElement(lt,{toolName:"measure",onClick:this._handleMeasureClick}),n.createElement(lt,{toolName:"zoom",onClick:this._handleZoomInClick}),n.createElement(st,{chartWidgetCollection:t})),!o&&n.createElement("div",{className:_o.group,style:s},n.createElement(eo,{isSmallTablet:e}),this._features.tools&&n.createElement(at,{property:d.properties().childs().stayInDrawingMode,saveDefaultOnChange:!0,toolName:"drawginmode",onClick:this._handleDrawingClick}),this._features.tools&&n.createElement(at,{property:d.lockDrawings(),toolName:"lockAllDrawings",onClick:this._handleLockClick}),this._features.tools&&n.createElement(Ht,{isSmallTablet:e}),!1),!o&&this._features.tools&&n.createElement("div",{className:_o.group,style:s},n.createElement(Nt,{chartWidgetCollection:t,
isSmallTablet:e,toolName:"removeAllDrawingTools"})),n.createElement("div",{className:_o.fill,style:s}),!o&&(this._features.tools||!1)&&n.createElement("div",{className:l(_o.group,_o.lastGroup),style:s},!1,this._features.tools&&this._features.favoriting&&n.createElement(qt,{id:to.FavoriteDrawings}),h()&&n.createElement(N,{id:to.ObjectTree,action:this._handleObjectsTreeClick,toolName:"showObjectsTree"}))))))),c)))}_activeChartWidget(){return this.props.chartWidgetCollection.activeChartWidget.value()}_negotiateResizer(){const e=io.TOOLBAR_WIDTH_COLLAPSED;this.props.resizerBridge.negotiateWidth(this.state.isVisible?io.TOOLBAR_WIDTH_EXPANDED:e)}_handleGlobalClose(){Fo.fire()}_updateHotkeys(){this._hotkeys.promote()}_initHotkeys(){this._hotkeys=F.createGroup({desc:"Drawing Toolbar"}),this._hotkeys.add({desc:"Reset",hotkey:27,handler:()=>this._handleEsc(),isDisabled:()=>d.toolIsCursor(d.tool.value())})}}function Io(e,t){0}class No{constructor(e,t){this._component=null,this._handleRef=e=>{this._component=e},this._container=e,i.render(n.createElement(Ao,{...t,ref:this._handleRef}),this._container)}destroy(){i.unmountComponentAtNode(this._container)}getComponent(){return(0,a.ensureNotNull)(this._component)}}},77907:(e,t,o)=>{"use strict";o.d(t,{RegistryProvider:()=>r,registryContextType:()=>c,validateRegistry:()=>s});var n=o(79474),i=o(21896),a=o.n(i);const l=n.createContext({});function s(e,t){a().checkPropTypes(t,e,"context","RegistryContext")}function r(e){const{validation:t,value:o}=e;return s(o,t),n.createElement(l.Provider,{value:o},e.children)}function c(){return l}},1631:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 10" width="20" height="10"><path fill="none" stroke="currentColor" stroke-width="1.5" d="M2 1l8 8 8-8"/></svg>'},75240:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="28" height="28"><path fill="currentColor" fill-rule="evenodd" d="M4.31 14.5a1.07 1.07 0 0 1 0-1.5L13 4.3c.42-.41 1.1-.41 1.52 0l.99 1c.42.42.41 1.11-.02 1.53l-5.38 5.12h12.83c.6 0 1.07.48 1.07 1.07v1.43c0 .6-.48 1.07-1.07 1.07H10.1l5.38 5.13c.44.41.45 1.1.02 1.53l-1 .99c-.41.42-1.1.42-1.5 0L4.3 14.5Zm7.97 9.38-8.67-8.67c-.81-.8-.82-2.12 0-2.93l8.68-8.67c.8-.81 2.12-.82 2.92 0l1 .99c.82.82.8 2.16-.04 2.96l-3.57 3.4h10.33c1.14 0 2.07.93 2.07 2.07v1.43c0 1.15-.93 2.07-2.07 2.07H12.6l3.57 3.4c.84.8.86 2.14.03 2.97l-.99.99c-.8.8-2.12.8-2.93 0Z"/></svg>'},60407:e=>{
e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="28" height="28"><path fill="currentColor" d="M4.87 4.52a.5.5 0 0 1 .61.35L6.91 10h5.47l1.03-4.67c.14-.63 1.04-.63 1.18 0L15.62 10h5.47l1.43-5.13a.5.5 0 0 1 .96.26L22.13 10H25a.5.5 0 0 1 0 1h-3.15l-.83 3H25a.5.5 0 0 1 0 1h-4.26l-2.15 7.75c-.17.6-1.03.58-1.16-.03L15.7 15h-3.42l-1.72 7.72c-.13.6-1 .63-1.16.03L7.26 15H3a.5.5 0 1 1 0-1h3.98l-.83-3H3a.5.5 0 1 1 0-1h2.87L4.52 5.13a.5.5 0 0 1 .35-.61ZM7.19 11l.83 3h3.47l.66-3H7.2Zm5.99 0-.67 3h2.98l-.67-3h-1.64Zm1.42-1L14 7.3l-.6 2.7h1.2Zm1.25 1 .66 3h3.47l.83-3h-4.96Zm3.85 4h-2.97l1.32 5.94L19.7 15Zm-8.43 0H8.3l1.65 5.94L11.27 15Z"/></svg>'},4827:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="28" height="28" fill="none"><path stroke="currentColor" d="M7.5 24v-5.5m0 0s2.7-1.1 4.5-1c2.1.12 2.9 1.88 5 2 1.8.1 4.5-1 4.5-1v-6m-14 6v-6m0 0v-6s2.7-1.1 4.5-1c2.1.12 2.9 1.88 5 2 1.8.1 4.5-1 4.5-1v6m-14 0s2.7-1.1 4.5-1c2.1.12 2.9 1.88 5 2 1.8.1 4.5-1 4.5-1"/></svg>'},28923:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="28" height="28"><path fill="currentColor" d="M14.08 3.73c.1.16.1.37 0 .54a9.4 9.4 0 0 0 3.35 13.26 9.9 9.9 0 0 0 6.49 1.18.5.5 0 0 1 .5.76 10.67 10.67 0 0 1-3.83 3.64 10.91 10.91 0 0 1-14.28-3.3A10.44 10.44 0 0 1 8.69 5.56a10.86 10.86 0 0 1 4.9-2.06.5.5 0 0 1 .49.22Zm8.3 15.61v.5c-1.91 0-3.8-.5-5.45-1.44a10.64 10.64 0 0 1-3.95-3.97 10.4 10.4 0 0 1-.3-9.72 9.6 9.6 0 0 0-6.37 5.39 9.39 9.39 0 0 0 .83 9.14 9.7 9.7 0 0 0 3.6 3.17 9.92 9.92 0 0 0 12.21-2.59c-.19.02-.38.02-.57.02v-.5Z"/></svg>'},44030:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="28" height="28"><path fill="currentColor" fill-rule="evenodd" d="M6 11.69C6 7.46 9.56 4 14 4c4.44 0 8 3.46 8 7.69 0 2.63-1.2 4.93-3.25 6.31H14.5v-5H18v-1h-8v1h3.5v5H9.14A8.06 8.06 0 0 1 6 11.69Zm2 6.67a9.1 9.1 0 0 1-3-6.67C5 6.87 9.05 3 14 3s9 3.87 9 8.69a8.51 8.51 0 0 1-3 6.62V22h-2v3h-8v-3H8v-3.64ZM11 22v2h6v-2h-6Zm-2-1v-2h10v2H9Z"/></svg>'},83287:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="28" height="28"><path fill="currentColor" d="M6 14.5C6 9.78 9.78 6 14.5 6c4.72 0 8.5 3.78 8.5 8.5 0 4.72-3.78 8.5-8.5 8.5A8.46 8.46 0 0 1 6 14.5ZM14.5 5A9.46 9.46 0 0 0 5 14.5c0 5.28 4.22 9.5 9.5 9.5s9.5-4.22 9.5-9.5S19.78 5 14.5 5ZM14 16V9h1v6h4v1h-5Z"/></svg>'},79970:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="28" height="28"><path fill="currentColor" d="M6 14.5C6 9.78 9.78 6 14.5 6c4.72 0 8.5 3.78 8.5 8.5 0 4.72-3.78 8.5-8.5 8.5A8.46 8.46 0 0 1 6 14.5ZM14.5 5A9.46 9.46 0 0 0 5 14.5c0 5.28 4.22 9.5 9.5 9.5s9.5-4.22 9.5-9.5S19.78 5 14.5 5ZM12 12a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm4 1a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm-6 4-.43.26v.01l.03.03a3.55 3.55 0 0 0 .3.4 5.7 5.7 0 0 0 9.22 0 5.42 5.42 0 0 0 .28-.4l.02-.03v-.01L19 17l-.43-.26v.02a2.45 2.45 0 0 1-.24.32c-.17.21-.43.5-.78.79a4.71 4.71 0 0 1-6.88-.8 4.32 4.32 0 0 1-.23-.31l-.01-.02L10 17Z"/></svg>'},48013:e=>{

View File

@@ -1,9 +1,9 @@
(()=>{"use strict";var e,a,c,d,f,b={},t={};function o(e){var a=t[e];if(void 0!==a)return a.exports;var c=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(c.exports,c,c.exports,o),c.loaded=!0,c.exports}o.m=b,o.c=t,o._plural={ar:(e,a=6,c=(0==e?0:1==e?1:2==e?2:e%100>=3&&e%100<=10?3:e%100>=11&&e%100<=99?4:5))=>null==e?0:+c,cs:(e,a=3,c=(1==e?0:e>=2&&e<=4?1:2))=>null==e?0:+c,ru:(e,a=3,c=(e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2))=>null==e?0:+c,ro:(e,a=3,c=(1==e?0:e%100>19||e%100==0&&0!=e?2:1))=>null==e?0:+c,pl:(e,a=3,c=(1==e?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2))=>null==e?0:+c,pt:(e,a=2,c=1!=e)=>null==e?0:+c,de:(e,a=2,c=1!=e)=>null==e?0:+c,en:(e,a=2,c=1!=e)=>null==e?0:+c,es:(e,a=2,c=1!=e)=>null==e?0:+c,sv:(e,a=2,c=1!=e)=>null==e?0:+c,it:(e,a=2,c=1!=e)=>null==e?0:+c,tr:(e,a=2,c=1!=e)=>null==e?0:+c,el:(e,a=2,c=1!=e)=>null==e?0:+c,fr:(e,a=2,c=e>1)=>null==e?0:+c,fa:(e,a=1,c=0)=>null==e?0:+c,ja:(e,a=1,c=0)=>null==e?0:+c,ko:(e,a=1,c=0)=>null==e?0:+c,th:(e,a=1,c=0)=>null==e?0:+c,vi:(e,a=1,c=0)=>null==e?0:+c,zh:(e,a=1,c=0)=>null==e?0:+c,he_IL:(e,a=4,c=(1==e?0:2==e?1:e>10&&e%10==0?2:3))=>null==e?0:+c,ca_ES:(e,a=2,c=1!=e)=>null==e?0:+c,nl_NL:(e,a=2,c=1!=e)=>null==e?0:+c,hu_HU:(e,a=2,c=1!=e)=>null==e?0:+c,id_ID:(e,a=1,c=0)=>null==e?0:+c,ms_MY:(e,a=1,c=0)=>null==e?0:+c,zh_TW:(e,a=1,c=0)=>null==e?0:+c},e=[],o.O=(a,c,d,f)=>{if(!c){var b=1/0;for(r=0;r<e.length;r++){for(var[c,d,f]=e[r],t=!0,l=0;l<c.length;l++)(!1&f||b>=f)&&Object.keys(o.O).every((e=>o.O[e](c[l])))?c.splice(l--,1):(t=!1,f<b&&(b=f));if(t){e.splice(r--,1);var n=d();void 0!==n&&(a=n)}}return a}f=f||0;for(var r=e.length;r>0&&e[r-1][2]>f;r--)e[r]=e[r-1];e[r]=[c,d,f]},o.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return o.d(a,{a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,o.t=function(e,d){if(1&d&&(e=this(e)),8&d)return e;if("object"==typeof e&&e){if(4&d&&e.__esModule)return e;if(16&d&&"function"==typeof e.then)return e}var f=Object.create(null);o.r(f);var b={};a=a||[null,c({}),c([]),c(c)];for(var t=2&d&&e;"object"==typeof t&&!~a.indexOf(t);t=c(t))Object.getOwnPropertyNames(t).forEach((a=>b[a]=()=>e[a]));return b.default=()=>e,o.d(f,b),f},o.d=(e,a)=>{for(var c in a)o.o(a,c)&&!o.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((a,c)=>(o.f[c](e,a),a)),[])),
o.u=e=>570===e?"__LANG__.570.591a5e2f8b3214b45616.js":1277===e?"__LANG__.1277.9cbc100ad85bd59585b3.js":4335===e?"__LANG__.4335.2420a360b3a8a9a71226.js":8805===e?"__LANG__.8805.3ef2d7025f7a7ce13a75.js":3171===e?"__LANG__.3171.76e9f2e99f62fd95f63d.js":9234===e?"__LANG__.9234.04f0db05f6d3ba0a1239.js":4852===e?"__LANG__.4852.e5e79b775655e8697521.js":1872===e?"__LANG__.1872.2cec5eecc65b52017416.js":1253===e?"__LANG__.1253.5c3b1fe0e30db1e35868.js":3428===e?"__LANG__.3428.82cb72d0cb957d543840.js":1980===e?"__LANG__.1980.f8823c1d8a7f68a31b8e.js":4020===e?"__LANG__.4020.05df87af4655a958fc96.js":591===e?"__LANG__.591.2698c829e5f1705e8537.js":866===e?"__LANG__.866.149c9bed49f8f73a189f.js":2671===e?"__LANG__.2671.398ce9621f3b60bfa8d8.js":1982===e?"__LANG__.1982.ce8e9908f56095481f6c.js":3529===e?"__LANG__.3529.a0a55c0ba76e3c873690.js":5802===e?"__LANG__.5802.422554e116e3f7932197.js":528===e?"__LANG__.528.9d3b52518f79b3fb4b42.js":695===e?"__LANG__.695.d7ff6f21ee7a0b7eb1c1.js":3675===e?"__LANG__.3675.39690d1eb7b0fdcc8d00.js":5095===e?"__LANG__.5095.70e5ed3271ae1ae4105c.js":9752===e?"__LANG__.9752.2fbab3d7a30687919357.js":3631===e?"__LANG__.3631.057059c01682b2f72b1e.js":6640===e?"__LANG__.6640.1a4db2de6ec32ec1b542.js":2742===e?"__LANG__.2742.c66ca9626fccaaa62969.js":3269===e?"__LANG__.3269.8208cb2fba06b3196ace.js":5680===e?"__LANG__.5680.91f58db2f2855e2d34d7.js":5078===e?"__LANG__.5078.6d6440126b5fb22e2eb0.js":4996===e?"__LANG__.4996.f4cb8dc6ba8c8160769e.js":2012===e?"__LANG__.2012.82f43f744b2f9f883077.js":5753===e?"__LANG__.5753.3811e0759388344fafa1.js":1949===e?"__LANG__.1949.135864ce18a6c9adbaab.js":4802===e?"__LANG__.4802.06981be4eb763db937c1.js":8594===e?"__LANG__.8594.88482d64b789c02035a4.js":3254===e?"__LANG__.3254.2278890884dc131f00d4.js":6358===e?"__LANG__.6358.204675b3d99d4de9a750.js":8015===e?"__LANG__.8015.405582bfbb1ebf92f5e5.js":1830===e?"__LANG__.1830.c7c2a6623e9a5eda9820.js":6484===e?"__LANG__.6484.e7bdb3252e08e059cc0a.js":8776===e?"__LANG__.8776.c31f497ca12ce78bd608.js":7566===e?"__LANG__.7566.b2188de374962156a805.js":9813===e?"__LANG__.9813.6e7c28bb8c8fe9ea94d4.js":8899===e?"__LANG__.8899.8d156507e9e2ba7ccff6.js":3606===e?"__LANG__.3606.068a8ef89b3619a5fe5f.js":6775===e?"__LANG__.6775.112167f5fd808a405e8d.js":3107===e?"__LANG__.3107.1d68d923227de32d3e3c.js":8263===e?"__LANG__.8263.2b0b50190288769b9079.js":7018===e?"__LANG__.7018.b983b08bbf4a726561b1.js":4012===e?"__LANG__.4012.6c826e1698874dcf7ae0.js":9618===e?"__LANG__.9618.983bf521bfe52bb9fb65.js":5577===e?"__LANG__.5577.a25678e7813d0e2071d8.js":9343===e?"__LANG__.9343.7ca21e64f592b5be0505.js":2510===e?"__LANG__.2510.7c2cce4f42cfff90aef0.js":9272===e?"__LANG__.9272.b872bdb88ffd7b35aadc.js":5538===e?"__LANG__.5538.4d2b882321b3f16afa7e.js":2967===e?"__LANG__.2967.2bc2f59b51c68f8a6ef6.js":1170===e?"__LANG__.1170.1572aa43f5a25539a730.js":4487===e?"__LANG__.4487.c13b1c0fb49e1c3c6884.js":9694===e?"__LANG__.9694.80d6b122280f05ae5193.js":5879===e?"__LANG__.5879.fc1296143e242eff5fbe.js":6960===e?"__LANG__.6960.e48e71dea1db3d928f8d.js":5523===e?"__LANG__.5523.c1f6f046dcc54713ccc1.js":3789===e?"__LANG__.3789.75a20260afb1e4f2105f.js":5150===e?"__LANG__.5150.aa468bd7ca952c0a92b9.js":6759===e?"__LANG__.6759.1fe3013c95e410589020.js":2817===e?"__LANG__.2817.ab839d99a3345ce6bc8c.js":7820===e?"__LANG__.7820.319ca58593e74dedbef7.js":({
59:"line-tool-volume-profile",243:"line-tool-arc",269:"chart-text-editor-renderer",317:"line-tool-pitchfork",470:"line-tool-trend-based-fib-time",505:"line-tool-ellipse",625:"general-chart-properties-dialog",643:"line-tool-callout",688:"line-tool-inside-pitchfork",762:"chart-floating-tooltip",774:"line-tool-sticker",788:"line-tool-trend-based-fib-extension",889:"drawing-toolbar",927:"line-tool-ghost-feed",969:"error-renderer",993:"line-tool-bezier-cubic",1100:"line-tool-regression-trend",1102:"custom-themes-api",1197:"line-tool-date-and-price-range",1328:"series-icons-map",1375:"price-scale-mode-buttons-renderer",1495:"lt-pane-views",1596:"line-tool-fib-speed-resistance-fan",1632:"line-tool-triangle-pattern",1662:"line-tool-horizontal-ray",1668:"study-pane-views",1672:"lollipop-tooltip-renderer",1686:"custom-intervals-add-dialog",1758:"line-tool-cyclic-lines",1774:"favorite-drawings-api",1826:"line-tool-vertical-line",1877:"line-tool-bezier-quadro",1911:"line-tool-flag-mark",1939:"line-tool-schiff-pitchfork2",1977:"line-tool-triangle",2060:"source-properties-editor",2086:"line-tool-gann-complex",2186:"line-tool-prediction",2347:"add-compare-dialog",2465:"line-tool-pitch-fan",2501:"line-tool-5points-patterns",2628:"line-tool-anchored-vwap",2706:"simple-dialog",2757:"chart-storage-external-adapter",2943:"react-popper",3039:"new-confirm-inputs-dialog",3114:"line-tool-icon",3119:"line-tool-head-and-shoulders",3124:"line-tool-rectangle",3164:"line-tool-price-range",3180:"chart-screenshot-hint",3234:"study-inputs-pane-views",3340:"delete-locked-line-confirm-dialog-content",3397:"line-tool-price-label",3496:"line-tool-path",3524:"line-tool-signpost",3528:"take-chart-image-impl",3604:"line-tool-position",3616:"ichart-storage",3765:"line-tool-three-drivers",3885:"currency-label-menu-events",3968:"symbol-info-dialog-impl",4013:"line-tool-price-note",4137:"line-tool-fib-retracement",4158:"line-tool-cross-line",4165:"line-tool-circle",4364:"context-menu-renderer",4409:"line-tool-trend-line",4453:"load-chart-dialog",4468:"line-tool-rotated-rectangle",4588:"line-tool-fib-timezone",4878:"line-tool-fib-channel",4890:"line-tool-bars-pattern",4952:"object-tree-dialog",4984:"line-tool-fib-circles",5146:"header-toolbar",5237:"new-edit-object-dialog",5381:"chart-bottom-toolbar",5439:"general-property-page",5588:"chart-widget-gui",5628:"snackbar-manager",5634:"line-tool-arrow-mark",5648:"line-tool-risk-reward",5652:"hammerjs",5734:"line-tool-poly-line",5834:"user-defined-bars-marks-tooltip",5917:"line-tool-text-note",5922:"favorite-indicators",5947:"line-tool-gann-square",6040:"line-tool-comment",6066:"study-template-dialog",6070:"line-tool-fib-speed-resistance-arcs",6088:"line-tools-synchronizer",6237:"line-tool-abcd",6250:"line-tool-parallel-channel",6409:"line-tool-gann-fan",6439:"study-market",6650:"table-view-dialog",6739:"line-tool-fib-wedge",6772:"change-interval-dialog",6800:"line-tool-info-line",6852:"line-tool-horizontal-line",6882:"tablecontext-menu",7052:"line-tool-trend-angle",7234:"line-tool-fib-spiral",7336:"compare-model",
7390:"line-tool-time-cycles",7479:"line-tool-brush",7538:"studies",7567:"library-studies",7588:"chart-event-hint",7607:"line-tool-disjoint-channel",7637:"line-tool-sine-line",7692:"line-tool-image",7715:"line-tool-ray",7723:"chart-actions-provider",7860:"line-tool-arrow",7877:"insert-image-dialog",8042:"line-tool-extended",8072:"line-tool-text",8255:"chart-floating-tooltip-activation-hint",8297:"currency-label-menu",8304:"lt-icons-atlas",8336:"line-tool-flat-bottom",8358:"series-pane-views",8381:"study-property-pages-with-definitions",8456:"global-search-dialog",8481:"symbol-search-dialog",8483:"line-tool-order",8507:"get-error-card",8526:"export-data",8557:"line-tool-note",8689:"restricted-toolset",8697:"line-tool-emoji",8718:"go-to-date-dialog-impl",9075:"line-tool-arrow-marker",9134:"line-tool-projection",9215:"line-tool-gann-fixed",9328:"lt-property-pages-with-definitions",9467:"line-tool-schiff-pitchfork",9671:"show-theme-save-dialog",9722:"floating-toolbars",9766:"line-tools-icons",9843:"line-tool-table",9902:"lt-stickers-atlas",9917:"line-tool-date-range",9948:"chart-storage-library-http",9974:"line-tool-balloon"}[e]||e)+"."+{30:"2fa9cb8d5351cd4483ca",46:"c8feb1c05416558532d3",59:"d050b545467d2b512927",130:"1ef50f10947303f4b5be",144:"4a7e7ba1d7853630aeaf",162:"32dbd4a137d0ff84e348",221:"7170cde7daa9c507ccba",227:"eb513ff7b42909f4eb5d",243:"b6f3d464709bde3dfa9e",269:"a3a661287608e2046b5b",291:"2ae9e1b0279247739267",294:"4efb0e96e0aaf4b8e8a9",311:"947f88643d737f1f3163",317:"f85e10ced031fa0ee509",355:"fcd973032fe9c4c92f2a",470:"a2210691b4b336908b42",471:"d85533b184c8b5243a47",505:"f974306c414099940d26",625:"eb4695e451587b7d070f",643:"f1e01668f60fb54604e2",688:"7f9f82cc1d1ae2483997",701:"5c8cf0e755714627c1bd",762:"f2fc565d7b519d7eb7b4",774:"b001b321cae83271d55f",779:"4eec9138a97bf5ff8a8a",788:"00b6c141d4104d1e6ec9",814:"a548c0e023edef3a66be",889:"67bf565f0305ed49b410",927:"b62e2b47653c9041c2e5",969:"9f9b7d34384c90cc9e2b",993:"e0c75e49318c12457e8c",1049:"e2c08f47e1ae806cda40",1100:"52c0cfe7826099c2738c",1102:"346da64f8e2ba8cad2d8",1139:"8df5074d2045042c47d5",1160:"4abd2964867f34433fda",1178:"9975e60ad194761f7f79",1197:"341a65b0258e8b989553",1290:"cc0beb75d5c6234ccf30",1328:"8e84fc2f5c72f942ead7",1375:"f13a3a655c13acd35c6c",1448:"ce92492e62161027e5d9",1495:"1dbf3cb92267de844347",1582:"456dbf59e1ef43ba50a9",1596:"8874fc6e2017e857d7f8",1632:"96d7b59be6ef6920626a",1644:"ba5f2fa6f2f71b2964ed",1662:"8ea091adc80e402c8d98",1668:"201d1f55fb5946a769cf",1672:"15ad53bd17dee76bde6b",1681:"890334aa5a1cc78f12c8",1686:"ed0d73dba0224060a420",1707:"f878ba5fe294b456fea8",1709:"6327c9aa0ad86b19381a",1758:"e92aadea932e8dba887c",1774:"40fd2d49b36912038fb3",1826:"8ccb37a8cabbe8c23325",1829:"eb0f7607dcf825a91647",1877:"48e97dd4de341f29981b",1911:"1a583a950733a8c3fdd6",1912:"89fd2d49dcba3d9f1d89",1939:"5e740261f8523fbd138b",1941:"631c993dbe61d5c14c7b",1954:"77c67883d38458a791e2",1977:"2bf18a7d580a748e4504",2060:"b6437510acc6aaaa5a71",2064:"94883075f89a8532740d",2086:"d6a657ecb7e9f47e9193",2141:"eb13b4c8c5d6f8c974e6",
2186:"8ef4477b5bda285653d6",2198:"750e533f0473b15ee71f",2347:"d8cb4d9a5a4117a0969f",2414:"7faa47c56c1398ded8bf",2428:"c57b4cba6ae1ac836d88",2465:"4223a2b60be26c08fb8c",2501:"4c7f0b4e13b98ed09064",2593:"a0d006cc7ade41db259d",2628:"8cd4aa120b571105c804",2706:"612b5c8c9997497c7f74",2735:"7eab52281e783e355392",2736:"0a918284704d00f41592",2757:"82747b06414a42e667f1",2827:"3dbdc7dfbdee37f1c3d8",2939:"b3e877505b7cb96a6280",2943:"f1401a5a71bc8b81ec54",2961:"4c55794a27daa4682a99",2972:"4a366373ade0d3de432f",3039:"7bfab0080e1f707ca05e",3114:"cdd65a5fee9e5c225e9b",3119:"8cfc8d83ca3eff3976fe",3124:"34880a6528a72c99fac8",3159:"cdaf66285c552ed15449",3164:"61d7e8d3f0f4b78de75b",3180:"5c4d03dd13908cfd6e28",3214:"7abd96d3003cd203cd9d",3234:"1e8721862d8c0f69fab5",3252:"b15464023b08ffe1beb9",3296:"7ff50cfcf184c045016e",3340:"f2cc76744251f3ec5f71",3397:"1e825851cf311a3eefb8",3458:"986cdb43efe9b43a6694",3496:"85c5a4ac32c7ceb5a9e3",3524:"7fa7419491187c071c30",3528:"0d82ffa1d842c5350e2f",3604:"a62358ae54542d7751b1",3616:"01505a2a9dae06d73900",3732:"0d37ada42e476388ba7a",3765:"7400bff65498c029ab2c",3804:"4a37422c4efea5304e70",3819:"795510104e24f8b33be3",3827:"1bfeed0638c7004da2bf",3885:"a956fbab8ea9c790ff98",3895:"0df8ce27da8893f92fba",3899:"57921e170e1dbaee2757",3920:"756e6d12567e734fbf35",3946:"9d95111f4d6d5b4bfe5c",3968:"2f21baa368bc25a999d2",4013:"73ef0a5f80fb390ca5d4",4073:"8e5398e13add4358ccba",4109:"dc0705ef1b25a72158fb",4132:"d7a5098cfe3f5313a12f",4137:"c9025ae1fdc62d9281a3",4158:"bb8b92afbe9d3207804e",4165:"488e6ea280fe4cbb4227",4216:"54d4d95b7993f7c0b4ba",4219:"c12659f88cbd515f488c",4364:"231f68cf827f87909e70",4409:"9941c9f06153882d0f0c",4453:"31dc0391519bad5251c0",4468:"3be4e56e6b73c5993da5",4500:"07bbda722a7ec99d5ede",4551:"331f3a5ca2a8d6f1edda",4588:"2554627c1c850e4179dc",4592:"e736bfae871c23e01528",4610:"78f2ff49045541415d31",4640:"33223c06f4a77ba1c6a1",4738:"5b4bc1abd60e2020f55e",4853:"2ebb67191f87461d20cb",4878:"b1541db3900ee0b7b82f",4890:"2204e6279c312c7ed8bd",4952:"658ec3c8de9659003d0b",4984:"030de94364a666c8e5e0",5043:"e41eec222ce5db053524",5088:"34bb4369a115814b7dba",5132:"8cc02686a1aa1828539b",5146:"65f119286cd4c428cb88",5163:"10a6aff584b74a2973b5",5211:"6d1a57f3764333fa2606",5237:"1ef64942a9d85088f33c",5343:"e7518ef32dad263f4904",5376:"f35d93865bb9ab222801",5381:"e7d2c20dad2cf19ea187",5439:"00f2705e77940c8ecf77",5447:"702ef619e6717259eb51",5578:"c3cde3416a11a47bac18",5588:"8cb98dfbcaace7b87662",5628:"2601d5a642684d47fd88",5634:"892ccd8b3c3077af9691",5648:"caee4ad6d4f2f6ae7815",5652:"1a6f21c5bfc02a9faa6b",5715:"e0d6b9e8ee70304e8947",5734:"716142b43c49de38739d",5834:"565464bbd738ae737964",5866:"84f5575d87c01a50aa94",5868:"4c44a17ac98e42ce82e3",5917:"6f88208be47b51ab983b",5921:"36ab3209f53a5a558787",5922:"cfdd3ae8c9b3af03d172",5947:"bc4c99fd1755477e4952",5997:"743b06f7b2f9a5b69c05",6040:"1c2cc379b6a2800a8168",6062:"7d9be7a0f710818d24d5",6066:"b18191943afecc4364a0",6070:"150a047051ae32371ba2",6088:"b73dbe55995e755aea6c",6115:"488992e1500c145751bd",6230:"2ae1ede36f30e917aa8a",6237:"a56dafade8fed1194ad0",
7390:"line-tool-time-cycles",7479:"line-tool-brush",7538:"studies",7567:"library-studies",7588:"chart-event-hint",7607:"line-tool-disjoint-channel",7637:"line-tool-sine-line",7692:"line-tool-image",7715:"line-tool-ray",7723:"chart-actions-provider",7860:"line-tool-arrow",7877:"insert-image-dialog",8042:"line-tool-extended",8072:"line-tool-text",8255:"chart-floating-tooltip-activation-hint",8297:"currency-label-menu",8304:"lt-icons-atlas",8336:"line-tool-flat-bottom",8358:"series-pane-views",8381:"study-property-pages-with-definitions",8456:"global-search-dialog",8481:"symbol-search-dialog",8483:"line-tool-order",8507:"get-error-card",8526:"export-data",8557:"line-tool-note",8689:"restricted-toolset",8697:"line-tool-emoji",8718:"go-to-date-dialog-impl",9075:"line-tool-arrow-marker",9134:"line-tool-projection",9215:"line-tool-gann-fixed",9328:"lt-property-pages-with-definitions",9467:"line-tool-schiff-pitchfork",9671:"show-theme-save-dialog",9722:"floating-toolbars",9766:"line-tools-icons",9843:"line-tool-table",9902:"lt-stickers-atlas",9917:"line-tool-date-range",9948:"chart-storage-library-http",9974:"line-tool-balloon"}[e]||e)+"."+{30:"2fa9cb8d5351cd4483ca",46:"c8feb1c05416558532d3",59:"d050b545467d2b512927",130:"1ef50f10947303f4b5be",144:"4a7e7ba1d7853630aeaf",162:"32dbd4a137d0ff84e348",221:"7170cde7daa9c507ccba",227:"eb513ff7b42909f4eb5d",243:"b6f3d464709bde3dfa9e",269:"a3a661287608e2046b5b",291:"2ae9e1b0279247739267",294:"4efb0e96e0aaf4b8e8a9",311:"947f88643d737f1f3163",317:"f85e10ced031fa0ee509",355:"fcd973032fe9c4c92f2a",470:"a2210691b4b336908b42",471:"d85533b184c8b5243a47",505:"f974306c414099940d26",625:"eb4695e451587b7d070f",643:"f1e01668f60fb54604e2",688:"7f9f82cc1d1ae2483997",701:"5c8cf0e755714627c1bd",762:"f2fc565d7b519d7eb7b4",774:"b001b321cae83271d55f",779:"4eec9138a97bf5ff8a8a",788:"00b6c141d4104d1e6ec9",814:"a548c0e023edef3a66be",889:"487ad30180aac6425170",927:"b62e2b47653c9041c2e5",969:"9f9b7d34384c90cc9e2b",993:"e0c75e49318c12457e8c",1049:"e2c08f47e1ae806cda40",1100:"52c0cfe7826099c2738c",1102:"02f9de42d938387e4ecb",1139:"8df5074d2045042c47d5",1160:"4abd2964867f34433fda",1178:"9975e60ad194761f7f79",1197:"341a65b0258e8b989553",1290:"cc0beb75d5c6234ccf30",1328:"8e84fc2f5c72f942ead7",1375:"f13a3a655c13acd35c6c",1448:"ce92492e62161027e5d9",1495:"1dbf3cb92267de844347",1582:"456dbf59e1ef43ba50a9",1596:"8874fc6e2017e857d7f8",1632:"96d7b59be6ef6920626a",1644:"ba5f2fa6f2f71b2964ed",1662:"8ea091adc80e402c8d98",1668:"201d1f55fb5946a769cf",1672:"15ad53bd17dee76bde6b",1681:"890334aa5a1cc78f12c8",1686:"ed0d73dba0224060a420",1707:"f878ba5fe294b456fea8",1709:"6327c9aa0ad86b19381a",1758:"e92aadea932e8dba887c",1774:"40fd2d49b36912038fb3",1826:"8ccb37a8cabbe8c23325",1829:"eb0f7607dcf825a91647",1877:"48e97dd4de341f29981b",1911:"1a583a950733a8c3fdd6",1912:"89fd2d49dcba3d9f1d89",1939:"5e740261f8523fbd138b",1941:"631c993dbe61d5c14c7b",1954:"77c67883d38458a791e2",1977:"2bf18a7d580a748e4504",2060:"b6437510acc6aaaa5a71",2064:"94883075f89a8532740d",2086:"d6a657ecb7e9f47e9193",2141:"eb13b4c8c5d6f8c974e6",
2186:"8ef4477b5bda285653d6",2198:"750e533f0473b15ee71f",2347:"d8cb4d9a5a4117a0969f",2414:"7faa47c56c1398ded8bf",2428:"c57b4cba6ae1ac836d88",2465:"4223a2b60be26c08fb8c",2501:"4c7f0b4e13b98ed09064",2593:"a0d006cc7ade41db259d",2628:"8cd4aa120b571105c804",2706:"612b5c8c9997497c7f74",2735:"7eab52281e783e355392",2736:"0a918284704d00f41592",2757:"ba6f4d4e26b45bcac0b1",2827:"3dbdc7dfbdee37f1c3d8",2939:"b3e877505b7cb96a6280",2943:"f1401a5a71bc8b81ec54",2961:"4c55794a27daa4682a99",2972:"4a366373ade0d3de432f",3039:"7bfab0080e1f707ca05e",3114:"cdd65a5fee9e5c225e9b",3119:"8cfc8d83ca3eff3976fe",3124:"34880a6528a72c99fac8",3159:"cdaf66285c552ed15449",3164:"61d7e8d3f0f4b78de75b",3180:"5c4d03dd13908cfd6e28",3214:"7abd96d3003cd203cd9d",3234:"1e8721862d8c0f69fab5",3252:"b15464023b08ffe1beb9",3296:"7ff50cfcf184c045016e",3340:"f2cc76744251f3ec5f71",3397:"1e825851cf311a3eefb8",3458:"986cdb43efe9b43a6694",3496:"85c5a4ac32c7ceb5a9e3",3524:"7fa7419491187c071c30",3528:"0d82ffa1d842c5350e2f",3604:"a62358ae54542d7751b1",3616:"01505a2a9dae06d73900",3732:"0d37ada42e476388ba7a",3765:"7400bff65498c029ab2c",3804:"4a37422c4efea5304e70",3819:"795510104e24f8b33be3",3827:"1bfeed0638c7004da2bf",3885:"a956fbab8ea9c790ff98",3895:"0df8ce27da8893f92fba",3899:"57921e170e1dbaee2757",3920:"756e6d12567e734fbf35",3946:"9d95111f4d6d5b4bfe5c",3968:"2f21baa368bc25a999d2",4013:"73ef0a5f80fb390ca5d4",4073:"8e5398e13add4358ccba",4109:"dc0705ef1b25a72158fb",4132:"d7a5098cfe3f5313a12f",4137:"c9025ae1fdc62d9281a3",4158:"bb8b92afbe9d3207804e",4165:"488e6ea280fe4cbb4227",4216:"54d4d95b7993f7c0b4ba",4219:"c12659f88cbd515f488c",4364:"231f68cf827f87909e70",4409:"9941c9f06153882d0f0c",4453:"31dc0391519bad5251c0",4468:"3be4e56e6b73c5993da5",4500:"07bbda722a7ec99d5ede",4551:"331f3a5ca2a8d6f1edda",4588:"2554627c1c850e4179dc",4592:"e736bfae871c23e01528",4610:"78f2ff49045541415d31",4640:"33223c06f4a77ba1c6a1",4738:"5b4bc1abd60e2020f55e",4853:"2ebb67191f87461d20cb",4878:"b1541db3900ee0b7b82f",4890:"2204e6279c312c7ed8bd",4952:"658ec3c8de9659003d0b",4984:"030de94364a666c8e5e0",5043:"e41eec222ce5db053524",5088:"34bb4369a115814b7dba",5132:"8cc02686a1aa1828539b",5146:"65f119286cd4c428cb88",5163:"10a6aff584b74a2973b5",5211:"6d1a57f3764333fa2606",5237:"1ef64942a9d85088f33c",5343:"e7518ef32dad263f4904",5376:"f35d93865bb9ab222801",5381:"e7d2c20dad2cf19ea187",5439:"00f2705e77940c8ecf77",5447:"702ef619e6717259eb51",5578:"c3cde3416a11a47bac18",5588:"8cb98dfbcaace7b87662",5628:"2601d5a642684d47fd88",5634:"892ccd8b3c3077af9691",5648:"caee4ad6d4f2f6ae7815",5652:"1a6f21c5bfc02a9faa6b",5715:"e0d6b9e8ee70304e8947",5734:"716142b43c49de38739d",5834:"565464bbd738ae737964",5866:"84f5575d87c01a50aa94",5868:"4c44a17ac98e42ce82e3",5917:"6f88208be47b51ab983b",5921:"36ab3209f53a5a558787",5922:"cfdd3ae8c9b3af03d172",5947:"bc4c99fd1755477e4952",5997:"743b06f7b2f9a5b69c05",6040:"1c2cc379b6a2800a8168",6062:"7d9be7a0f710818d24d5",6066:"b18191943afecc4364a0",6070:"150a047051ae32371ba2",6088:"b73dbe55995e755aea6c",6115:"488992e1500c145751bd",6230:"2ae1ede36f30e917aa8a",6237:"a56dafade8fed1194ad0",
6245:"963fc0660e52cbcaa954",6250:"0c24f45fb04b078e135c",6266:"c04d70a32e83ae70f75d",6409:"9c3659b5ee1222e607ae",6439:"729537f5342acf77e3b6",6468:"15ea6659cb8c8abacd52",6472:"cf9d281563330c04d0fa",6491:"bdfcc30787a2e20e46b3",6498:"8592d5db8d4f8d82c733",6548:"a4d5739ad9383332b08d",6639:"b4dc99fcb86c4300b7e5",6650:"5deda7aa013a9a9e3bea",6651:"8d8d51643ffdc935edcb",6687:"358cf3d639458be9f9e5",6703:"02c05843ec68d88e0c6a",6739:"e5e1d8a855c392af0ad4",6772:"24f7384ab444246a5414",6790:"51266649aca714f9be2c",6800:"0e115ba2cfbd1d61a8a7",6826:"3f857f69a1e309571702",6852:"35142e4ad4c3e0580775",6853:"b9b4070055fb3240e7ab",6868:"6164a264e58ca9350a54",6882:"7595d37a69771e4ae6ba",7039:"54344a24513f1ee7b352",7052:"bc30b6a04530c51f9eb5",7085:"eb31384001d239e75d31",7107:"450b6c2868ce35e5140f",7120:"283f3e90245d0ff96572",7201:"7c3c3c46b563c23277b0",7234:"0597e4e67b0f740ae093",7296:"93b156787c0050b575e6",7336:"fe4212df34b2149285c2",7351:"80a21b9c79a42d232455",7356:"50530f3eb2c4ef6a2e8e",7390:"c105b03140939f3c9ad9",7440:"9eac5359cc409aba4f24",7479:"96d9ad2234a604886367",7538:"d3644172b68dc9a61cf7",7557:"ef508d5b6d5e1d6e5ffd",7567:"e679a72306d004e60fc1",7588:"4848efe3a2e6b115d7db",7607:"203f8c8808b6d706f7d4",7637:"c9e935eaf274ae7f9099",7649:"8008bd2a08ea49c7f51c",7670:"501cb3554b37f5652cf0",7686:"89a63b85b5f056c283f9",7692:"8b7e41f3c7cf53801421",7715:"4dd53ab9db041c3fc0ad",7723:"afa31956b3099bae21eb",7839:"115c31123f6e0f9ccb60",7860:"212cf2a3c7d435e65991",7877:"b75cd3059f56a02e281a",7922:"6adb664e868f9cc79051",8042:"220c826a24e3fbd4eebc",8072:"f3fa5d0c28f625129960",8090:"cfe597f98f885112502c",8144:"7b829a7b3798417bca73",8215:"8279af2e53988b81985c",8255:"3aa042821e4b30721ff1",8281:"d27e1133a03c186312d7",8297:"55e9cde04495046e7dcf",8304:"1d92fe24e45a2f876e15",8336:"98fcf07a12a7c3341e42",8358:"a88e5aa0c12424e6488f",8378:"5bbde6302729dd2368f7",8381:"9c9de31077f18c1bec20",8393:"9ed40bb122300d045fb7",8456:"a7fcbc8baf60e107ee3e",8481:"fad5d4654e0fe57a6951",8483:"8d583e371659cf366b52",8492:"5d89b4e16aa6e76893a5",8507:"5010d3abf37bef3e94e2",8526:"0ec0ce0fecaf32a6e8a8",8557:"6e53fe29d7e3ecd0c498",8566:"d445a65a8a27daeadbdc",8689:"a6970ce7e772b1c4482c",8697:"28e115d425391e5c40c8",8718:"4d312a08340931ff14e5",8795:"8dfccf7d3d49e6d748ba",8832:"cc6b49ae19d0b6a435c7",8859:"ae2af6f78341c0095774",8915:"4a992773e59904838243",8977:"bd2795e7afd4a3c15885",9075:"d23e60382cec71a016e5",9086:"5aa57b4b2fd150754e08",9134:"85884c6d73e66063297f",9215:"b1dec7654fbeef6a8561",9224:"77483f580cd886f48d56",9231:"4204a5fac8e98c5f5a63",9328:"483765ac81b75ace14a8",9365:"2045dd91bcd70de5eced",9389:"7cb37f176c843bba3db2",9414:"05a031ae5034ceb9ddf9",9437:"542c80bd78c28e07fadb",9467:"3e6ffb2c9cb1bef9837b",9510:"fc4560bbba93982c1fa8",9671:"d7e400ffc1533d851191",9722:"93ffcf787fa1839c9c4e",9766:"77538b67a97d5fe45acb",9843:"1439ead288854c7b89df",9853:"0e69a4f665a6167cde4c",9876:"875c1d2ceebe4c5970bf",9902:"e0a9cdbaced14ad61e87",9917:"8a7779e6c54b6a3d9c22",9921:"b3488759b97d457746ea",9942:"50dfcbe35a22e6aa1cfc",9948:"9800a54f04272bae50bb",9974:"d4f39b099f9647e01ac0"}[e]+".js",
o.miniCssF=e=>e+"."+{30:"b16e7a9e58b5275e8a61",46:"f773884575fdfc5433a8",130:"39e6202ba00cf6f84f33",162:"84454d9522365162b47f",221:"a35afd2176ea6f1cf8db",227:"e853387b629051486a5f",291:"127a37945162e426eb86",701:"9515eeb06dd8e381efe7",779:"89b41c884d5213432809",814:"d9b617031ddcb9f1c25c",1049:"3418d3509b4f6a41c2eb",1290:"08690e001ee3781b56a0",1448:"8d5f6c1de12d0422a8c5",1582:"0c60a2665496872c6cc1",1644:"ec13e683352881af5b51",1681:"0e72d744c5d55b6e5d5e",1707:"35fc60bac7bba7427820",1709:"e507a68f9b2c3dd8e614",1941:"1c566e13022689467386",1954:"e5232e0eb892021a5cad",2198:"00a4d0f1e70d631f2bf4",2414:"6707a4012bf5cd2d92e6",2593:"6a08fc3d7286497dfb5c",2735:"d3a42cd87bec87c05a65",2939:"ec653068b1f00a084451",2972:"502a2bfaa4b3396033c4",3159:"fbb750fd312778403036",3214:"85a354988ef1aba52418",3252:"e764dd9f961674c26dbd",3296:"a9f9476cfccebb241395",3458:"0dacb9bf3649da7e2a0b",3732:"e2e2ad7de327b6a9266d",3804:"994a27332cd6fb7d9250",3819:"86d4f770693fe6935bba",3827:"462c31c13499a0784494",3899:"bb51b63e079c12f34d9d",3946:"9831f80c5744716ce514",4109:"5717fc4c71baf434e469",4132:"c569a94bcc8046e5a213",4219:"b1fdfb8c01fa2ccc3563",4500:"388f05210735cc1ee824",4551:"f2e1edd6097be38e73da",4738:"35abd4ee78e32cf5a7a3",4853:"e21e82febf357ba86937",5043:"49b83eeebe4037b3d646",5163:"e1674dfa9ac985a719c1",5211:"005052e314b2de339c3c",5376:"10fd79bdcf7d87919e93",5447:"7dc6934517a43943af31",5578:"362fa6a7ab1f3e3b06c4",5715:"8b652352c5fa37697ca2",5866:"9ce134321e5f7ed1c4ad",5868:"f2bfcd7ac472b20ccb6e",5921:"8577632fdab29ee53ddf",6062:"a8b17c5d88bfc065c1d7",6115:"8c676008fe023aafde82",6230:"5ba1147cb550df9ba4f3",6245:"7c8021aaa4581206bf5d",6266:"227359fe461ff7db045b",6468:"3e4f89ce6749c1e5f8df",6472:"8fe6a787670a4a8ef383",6491:"f7b41dc264cb7e26121d",6498:"21ffdee2969cfed1b72c",6548:"e2379c2aa5979ecf2230",6639:"d806fb47537c11ca4025",6651:"7b0d640d46a06eec0b92",6687:"bfb3f04bc4010c693f88",6703:"0e16235e5ae33fed0e07",6826:"93dcc1b2d5c90a094af9",6853:"1871485f1e39c0f64252",6868:"2fb5f6f3eb739c16078d",7039:"2020d73e26d49ab4f152",7085:"e8cb5e4798d2a95fd51a",7120:"d8e66f4c4d6c2e5e9e51",7201:"856237a997401ac1c0fa",7296:"cffada78ccaf26c745ae",7351:"9647614598c792ad80d5",7356:"d7b61a30f5198481f009",7649:"ae1ef6aa1cbb9375826c",7839:"d07537d540b3e3d8d655",7922:"9a63d1db88d74be3cc39",8090:"4cf624bc12fb215eb8bc",8144:"0d02e1ba77b96107cce3",8215:"195dfa404a6748f8552c",8281:"2fa554ca87b7a7154b73",8378:"1d61421a66a0d3b041b4",8393:"a198551e966ecc931695",8566:"5b77c805ba0a2936e5c4",8795:"cb87b5ad48ef1ad33f5c",8832:"12d58de6648f38713fd0",8859:"8cf4920520e0c10d4845",9086:"99898a3b8bbfa6046421",9224:"16c0fd7539d08ad5ffd3",9231:"4c4149f8d99af1a4bf36",9389:"18a88ac7f1dc31fa83da",9414:"d278866501c1e0a129fb",9437:"2948ab6dbdff9ed7521d",9853:"48675d8a0d36b76a65b8",9876:"4db113a94ddabe52ea7c",9921:"20b38d82ac83e5de7b36",9942:"7fb8be8c332650e84371"}[e]+".css",o.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),o.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),d={},
f="tradingview:",o.l=(e,a,c,b)=>{if(d[e])d[e].push(a);else{var t,l;if(void 0!==c)for(var n=document.getElementsByTagName("script"),r=0;r<n.length;r++){var i=n[r];if(i.getAttribute("src")==e||i.getAttribute("data-webpack")==f+c){t=i;break}}t||(l=!0,(t=document.createElement("script")).charset="utf-8",t.timeout=120,o.nc&&t.setAttribute("nonce",o.nc),t.setAttribute("data-webpack",f+c),t.src=e,0!==t.src.indexOf(window.location.origin+"/")&&(t.crossOrigin="anonymous")),d[e]=[a];var s=(a,c)=>{t.onerror=t.onload=null,clearTimeout(_);var f=d[e];if(delete d[e],t.parentNode&&t.parentNode.removeChild(t),f&&f.forEach((e=>e(c))),a)return a(c)},_=setTimeout(s.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=s.bind(null,t.onerror),t.onload=s.bind(null,t.onload),l&&document.head.appendChild(t)}},o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{var e;o.g.importScripts&&(e=o.g.location+"");var a=o.g.document;if(!e&&a&&(a.currentScript&&"SCRIPT"===a.currentScript.tagName.toUpperCase()&&(e=a.currentScript.src),!e)){var c=a.getElementsByTagName("script");if(c.length)for(var d=c.length-1;d>-1&&(!e||!/^http(s?):/.test(e));)e=c[d--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),o.p=e})(),o.g.location&&o.p.startsWith(o.g.location.origin)&&(o.p=o.p.slice(o.g.location.origin.length)),(()=>{const e=o.u;o.u=a=>e(a).replace("__LANG__",o.g.language)})(),o.p=o.g.WEBPACK_PUBLIC_PATH||o.p;var l=o.e,n=Object.create(null);function r(e,a){return l(e).catch((function(){return new Promise((function(c){var d=function(){self.removeEventListener("online",d,!1),!1===navigator.onLine?self.addEventListener("online",d,!1):c(a<2?r(e,a+1):l(e))};setTimeout(d,a*a*1e3)}))}))}o.e=function(e){if(!n[e]){n[e]=r(e,0);var a=function(){delete n[e]};n[e].then(a,a)}return n[e]},(()=>{if("undefined"!=typeof document){var e=e=>new Promise(((a,c)=>{var d=o.miniCssF(e),f=o.p+d;if(((e,a)=>{for(var c=document.getElementsByTagName("link"),d=0;d<c.length;d++){var f=(t=c[d]).getAttribute("data-href")||t.getAttribute("href");if("stylesheet"===t.rel&&(f===e||f===a))return t}var b=document.getElementsByTagName("style");for(d=0;d<b.length;d++){var t;if((f=(t=b[d]).getAttribute("data-href"))===e||f===a)return t}})(d,f))return a();((e,a,c,d,f)=>{var b=document.createElement("link");b.rel="stylesheet",b.type="text/css",b.onerror=b.onload=c=>{if(b.onerror=b.onload=null,"load"===c.type)d();else{var t=c&&("load"===c.type?"missing":c.type),o=c&&c.target&&c.target.href||a,l=new Error("Loading CSS chunk "+e+" failed.\n("+o+")");l.code="CSS_CHUNK_LOAD_FAILED",l.type=t,l.request=o,b.parentNode&&b.parentNode.removeChild(b),f(l)}},b.href=a,0!==b.href.indexOf(window.location.origin+"/")&&(b.crossOrigin="anonymous"),c?c.parentNode.insertBefore(b,c.nextSibling):document.head.appendChild(b)})(e,f,null,a,c)})),a={
9121:0};o.f.miniCss=(c,d)=>{a[c]?d.push(a[c]):0!==a[c]&&{30:1,46:1,130:1,162:1,221:1,227:1,291:1,701:1,779:1,814:1,1049:1,1290:1,1448:1,1582:1,1644:1,1681:1,1707:1,1709:1,1941:1,1954:1,2198:1,2414:1,2593:1,2735:1,2939:1,2972:1,3159:1,3214:1,3252:1,3296:1,3458:1,3732:1,3804:1,3819:1,3827:1,3899:1,3946:1,4109:1,4132:1,4219:1,4500:1,4551:1,4738:1,4853:1,5043:1,5163:1,5211:1,5376:1,5447:1,5578:1,5715:1,5866:1,5868:1,5921:1,6062:1,6115:1,6230:1,6245:1,6266:1,6468:1,6472:1,6491:1,6498:1,6548:1,6639:1,6651:1,6687:1,6703:1,6826:1,6853:1,6868:1,7039:1,7085:1,7120:1,7201:1,7296:1,7351:1,7356:1,7649:1,7839:1,7922:1,8090:1,8144:1,8215:1,8281:1,8378:1,8393:1,8566:1,8795:1,8832:1,8859:1,9086:1,9224:1,9231:1,9389:1,9414:1,9437:1,9853:1,9876:1,9921:1,9942:1}[c]&&d.push(a[c]=e(c).then((()=>{a[c]=0}),(e=>{throw delete a[c],e})))}}})(),o.i18next=(e,a={},c,d=o.g.language)=>{if(null===e){if(Array.isArray(c))return c[void 0===a.count?0:o._plural[d](a.count)].replace(/{(\w+)}/g,((e,c)=>void 0!==(a.replace||a)[c]?(a.replace||a)[c]:e));if("object"==typeof c){if(o.g.customTranslateFunction){const e=o.g.customTranslateFunction(c.en[o._plural.en(a.count)],c.en[0],c[o.g.language]?c[o.g.language][o._plural[o.g.language](a.count)]:void 0);if(null!==e)return e.replace(/{(\w+)}/g,((e,c)=>void 0!==(a.replace||a)[c]?(a.replace||a)[c]:e))}return c[o.g.language]?o.i18next(null,a,c[o.g.language]):o.i18next(null,a,c.en,"en")}}else if(c&&e){const d=`${e}${a.context?`_${a.context}`:""}`;if(c[d])return o.i18next(null,a,c[d])}return"number"==typeof e?e.toString():"string"!=typeof e?"":e},(()=>{var e={9121:0,2116:0};o.f.j=(a,c)=>{var d=o.o(e,a)?e[a]:void 0;if(0!==d)if(d)c.push(d[2]);else if(/^(1(6(2|44|81)|70[79]|049|290|30|448|582|941|954)|2(9(1|39|72)|116|198|21|27|414|593|735)|3(2(14|52|96)|8(04|19|27|99)|0|159|458|732|946)|4(109|132|219|500|551|6|738|853)|5(86[68]|043|163|211|376|447|578|715|921)|6(2(30|45|66)|4(68|72|91|98)|6(39|51|87)|8(26|53|68)|062|115|548|703)|7(0(1|39|85)|35[16]|(64|7|83)9|120|201|296|922)|8(14(|4)|090|215|281|378|393|566|795|832|859)|9((12|23|92)1|086|224|389|414|437|853|876|942))$/.test(a))e[a]=0;else{var f=new Promise(((c,f)=>d=e[a]=[c,f]));c.push(d[2]=f);var b=o.p+o.u(a),t=new Error;o.l(b,(c=>{if(o.o(e,a)&&(0!==(d=e[a])&&(e[a]=void 0),d)){var f=c&&("load"===c.type?"missing":c.type),b=c&&c.target&&c.target.src;t.message="Loading chunk "+a+" failed.\n("+f+": "+b+")",t.name="ChunkLoadError",t.type=f,t.request=b,d[1](t)}}),"chunk-"+a,a)}},o.O.j=a=>0===e[a];var a=(a,c)=>{var d,f,[b,t,l]=c,n=0;if(b.some((a=>0!==e[a]))){for(d in t)o.o(t,d)&&(o.m[d]=t[d]);if(l)var r=l(o)}for(a&&a(c);n<b.length;n++)f=b[n],o.o(e,f)&&e[f]&&e[f][0](),e[f]=0;return o.O(r)},c=self.webpackChunktradingview=self.webpackChunktradingview||[];c.forEach(a.bind(null,0)),c.push=a.bind(null,c.push.bind(c))})(),(()=>{const{miniCssF:e}=o;o.miniCssF=a=>self.document&&"rtl"===self.document.dir?e(a).replace(/\.css$/,".rtl.css"):e(a)})()})();
9121:0};o.f.miniCss=(c,d)=>{a[c]?d.push(a[c]):0!==a[c]&&{30:1,46:1,130:1,162:1,221:1,227:1,291:1,701:1,779:1,814:1,1049:1,1290:1,1448:1,1582:1,1644:1,1681:1,1707:1,1709:1,1941:1,1954:1,2198:1,2414:1,2593:1,2735:1,2939:1,2972:1,3159:1,3214:1,3252:1,3296:1,3458:1,3732:1,3804:1,3819:1,3827:1,3899:1,3946:1,4109:1,4132:1,4219:1,4500:1,4551:1,4738:1,4853:1,5043:1,5163:1,5211:1,5376:1,5447:1,5578:1,5715:1,5866:1,5868:1,5921:1,6062:1,6115:1,6230:1,6245:1,6266:1,6468:1,6472:1,6491:1,6498:1,6548:1,6639:1,6651:1,6687:1,6703:1,6826:1,6853:1,6868:1,7039:1,7085:1,7120:1,7201:1,7296:1,7351:1,7356:1,7649:1,7839:1,7922:1,8090:1,8144:1,8215:1,8281:1,8378:1,8393:1,8566:1,8795:1,8832:1,8859:1,9086:1,9224:1,9231:1,9389:1,9414:1,9437:1,9853:1,9876:1,9921:1,9942:1}[c]&&d.push(a[c]=e(c).then((()=>{a[c]=0}),(e=>{throw delete a[c],e})))}}})(),o.i18next=(e,a={},c,d=o.g.language)=>{if(null===e){if(Array.isArray(c))return c[void 0===a.count?0:o._plural[d](a.count)].replace(/{(\w+)}/g,((e,c)=>void 0!==(a.replace||a)[c]?(a.replace||a)[c]:e));if("object"==typeof c){if(o.g.customTranslateFunction){const e=o.g.customTranslateFunction(c.en[o._plural.en(a.count)],c.en[0],c[o.g.language]?c[o.g.language][o._plural[o.g.language](a.count)]:void 0);if(null!==e)return e.replace(/{(\w+)}/g,((e,c)=>void 0!==(a.replace||a)[c]?(a.replace||a)[c]:e))}return c[o.g.language]?o.i18next(null,a,c[o.g.language]):o.i18next(null,a,c.en,"en")}}else if(c&&e){const d=`${e}${a.context?`_${a.context}`:""}`;if(c[d])return o.i18next(null,a,c[d])}return"number"==typeof e?e.toString():"string"!=typeof e?"":e},(()=>{var e={9121:0,2116:0};o.f.j=(a,c)=>{var d=o.o(e,a)?e[a]:void 0;if(0!==d)if(d)c.push(d[2]);else if(/^(1(6(2|44|81)|70[79]|049|290|30|448|582|941|954)|2(9(1|39|72)|116|198|21|27|414|593|735)|3(2(14|52|96)|8(04|19|27|99)|0|159|458|732|946)|4(109|132|219|500|551|6|738|853)|5(86[68]|043|163|211|376|447|578|715|921)|6(2(30|45|66)|4(68|72|91|98)|6(39|51|87)|8(26|53|68)|062|115|548|703)|7(0(1|39|85)|35[16]|(64|7|83)9|120|201|296|922)|8(14(|4)|090|215|281|378|393|566|795|832|859)|9((12|23|92)1|086|224|389|414|437|853|876|942))$/.test(a))e[a]=0;else{var f=new Promise(((c,f)=>d=e[a]=[c,f]));c.push(d[2]=f);var b=o.p+o.u(a),t=new Error;o.l(b,(c=>{if(o.o(e,a)&&(0!==(d=e[a])&&(e[a]=void 0),d)){var f=c&&("load"===c.type?"missing":c.type),b=c&&c.target&&c.target.src;t.message="Loading chunk "+a+" failed.\n("+f+": "+b+")",t.name="ChunkLoadError",t.type=f,t.request=b,d[1](t)}}),"chunk-"+a,a)}},o.O.j=a=>0===e[a];var a=(a,c)=>{var d,f,[b,t,l]=c,n=0;if(b.some((a=>0!==e[a]))){for(d in t)o.o(t,d)&&(o.m[d]=t[d]);if(l)var r=l(o)}for(a&&a(c);n<b.length;n++)f=b[n],o.o(e,f)&&e[f]&&e[f][0](),e[f]=0;return o.O(r)},c=self.webpackChunktradingview=self.webpackChunktradingview||[];c.forEach(a.bind(null,0)),c.push=a.bind(null,c.push.bind(c))})(),o.nc=void 0,(()=>{const{miniCssF:e}=o;o.miniCssF=a=>self.document&&"rtl"===self.document.dir?e(a).replace(/\.css$/,".rtl.css"):e(a)})()})();

File diff suppressed because one or more lines are too long

View File

@@ -83,6 +83,11 @@ export declare const enum SearchInitiationPoint {
Compare = "compare",
IndicatorInputs = "indicatorInputs"
}
export declare const enum SharingMode {
NotShared = 0,
SharedInLayout = 1,
GloballyShared = 2
}
export declare const enum Status {
Offline = 0,
Resolving = 1,
@@ -563,6 +568,7 @@ export declare enum StandardFormatterName {
LocalDate = "localDate",
LocalDateOrDateTime = "localDateOrDateTime",
Percentage = "percentage",
ColoredPercentage = "coloredPercentage",
Pips = "pips",
Profit = "profit",
ProfitInInstrumentCurrency = "profitInInstrumentCurrency",
@@ -4710,6 +4716,41 @@ export interface ChartingLibraryWidgetOptions {
* * If you would like to host the library on a separate origin to the page containing the chart then please view the following guide: [Hosting the library on a separate origin](https://www.tradingview.com/charting-library-docs/latest/configuration/Hosting-Library-Cross-Origin).
*/
library_path?: string;
/**
* A cryptographic nonce (number used once) for Content Security Policy (CSP)
* compliance. When provided, the library applies this nonce to all `<script>`
* and `<style>` elements it creates inside its iframe, enabling the library to
* work on pages with a strict `script-src` or `style-src` CSP directive
* that uses nonce-based allowlisting (e.g., `script-src 'nonce-abc123'`).
* Script nonce propagation is supported. Strict nonce-based `style-src`
* CSP is not currently supported; library styles still require
* `style-src 'unsafe-inline'`.
*
* If omitted, the library attempts to infer a nonce automatically by:
* 1. Checking `window.__tvCspNonce` on the host page.
* 2. Scanning the host page for any `<script>` element with a `nonce` attribute.
*
* **Important:** The nonce value must match the nonce served in your
* server's `Content-Security-Policy` header for the current response. Nonces
* must be unique per page load and should be cryptographically random
* (at least 128 bits of entropy, base64-encoded).
*
* **Same-origin loading ([`iframe_loading_same_origin`](https://www.tradingview.com/charting-library-docs/latest/customization/Featuresets#iframe_loading_same_origin.md)):** If you use
* same-origin loading via `sameorigin.html`, set `window.__tvCspNonce`
* in a server-rendered inline script within that HTML file so the library
* iframe can pick up the correct nonce before it loads its bundles.
*
* @example
* ```js
* new TradingView.widget({
* // ... other options
* nonce: 'server-generated-nonce-value',
* });
* ```
*
* @see {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/nonce | MDN: nonce attribute}
*/
nonce?: string;
/**
* Locale to be used by the library. See [Localization](https://www.tradingview.com/charting-library-docs/latest/configuration/Localization) section for details.
*
@@ -13025,15 +13066,16 @@ export interface IExternalSaveLoadAdapter {
* Save drawings and drawing groups associated with a chart layout.
*
* @param layoutId The chart layout ID
* @param chartId The chart ID
* @param chartId The chart ID within the layout
* @param state The drawings and drawing groups state
* @param context Optional save context with explicit sharing semantics
*/
saveLineToolsAndGroups(layoutId: string | undefined, chartId: string | number, state: LineToolsAndGroupsState): Promise<void>;
saveLineToolsAndGroups(layoutId: string | undefined, chartId: string | number, state: LineToolsAndGroupsState, context?: SaveLineToolsContext): Promise<void>;
/**
* Load drawings and drawing groups associated with a chart layout.
*
* @param layoutId The chart layout ID
* @param chartId The chart ID
* @param layoutId The current chart layout ID
* @param chartId The chart ID within the layout
* @param requestType Type of load request
* @param requestContext Additional information for the request
*
@@ -16070,6 +16112,10 @@ export interface LineToolState {
export interface LineToolsAndGroupsLoadRequestContext {
/** The name / identifier of the symbol displayed as the main series on the chart. */
symbol?: string;
/** Optional sharing mode for the current load request. */
sharingMode?: SharingMode;
/** Optional main series source id associated with this load request. */
seriesSourceId?: string;
}
/**
* Represents the state of drawings and groups
@@ -19854,6 +19900,17 @@ export interface SaveChartToServerOptions {
/** Default chart name */
defaultChartName?: string;
}
/**
* Additional information for the {@link IExternalSaveLoadAdapter.saveLineToolsAndGroups} request.
*/
export interface SaveLineToolsContext {
/** The sharing mode for the current save request. The library uses this property to determine how to handle the saved data, and your adapter uses it to route the data to the correct storage destination. */
sharingMode: SharingMode;
/** A unique identifier for the save request that can be used for debugging and logging purposes. */
requestId: string;
/** The name or identifier of the symbol displayed as the main series on the chart. Use this value to determine where or how to save the data. */
symbol?: string;
}
export interface SaveLoadChartRecord {
/** Unique id for chart */
id: string | number;
@@ -20648,6 +20705,9 @@ export interface StandardFormattersDependenciesMapping {
[StandardFormatterName.Percentage]: [
valueProperty: string
];
[StandardFormatterName.ColoredPercentage]: [
valueProperty: string
];
[StandardFormatterName.MarginPercent]: [
valueProperty: string
];
@@ -29775,7 +29835,9 @@ export type ChartingLibraryFeatureset =
*/
"long_press_floating_tooltip" |
/**
* Enables dynamic coloring of bar change values in the legend based on their value (positive, negative, or zero). Applies only to non-OHLC chart types.
* Enables dynamic coloring of bar change values in the legend.
* For non-OHLC chart types, values are colored based on their value (positive, negative, or zero).
* For OHLC chart types, the library uses the specific color settings of the series.
* @default false
*/
"legend_bar_change_colors_based_on_value" |

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,6 +1,6 @@
{
"private": true,
"description": "CL v31.0.0 (internal id 028f81fbf6fef55e9694e5df4bd5106cc04c188a @ 2026-03-05T20:44:53.566Z)",
"description": "CL v31.1.0 (internal id 6b804c486857f27920cf761aa7eb6e29d9bb6362 @ 2026-04-08T18:06:35.118Z)",
"type": "module",
"main": "charting_library.cjs.js",
"module": "charting_library.esm.js",

View File

@@ -1,6 +1,5 @@
<!--
Used as the source of the library's iframe when the iframe_loading_same_origin feature is enabled.
See CL-2137.
-->
<!DOCTYPE html>
<html lang="en">
@@ -8,11 +7,9 @@ See CL-2137.
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>sameorigin.html</title>
<script>
window.addEventListener('load', () => {
window.dispatchEvent(new Event('sameOriginLoad'));
});
</script>
<!-- Suggested server-side nonce injection for same-origin CSP:
<script nonce="{{ csp_nonce }}">window.__tvCspNonce = '{{ csp_nonce }}';</script>
-->
</head>
<body>
</body>

View File

@@ -23,6 +23,6 @@
},
"homepage": "https://www.tradingview.com/charting-library-docs",
"name": "charting_library",
"version": "31.0.0",
"version": "31.1.0",
"types": "charting_library.d.ts"
}