diff --git a/charting_library/ar-tv-chart.9df149da.html b/charting_library/ar-tv-chart.e16a61a3.html similarity index 99% rename from charting_library/ar-tv-chart.9df149da.html rename to charting_library/ar-tv-chart.e16a61a3.html index 19a741c7..c7927fce 100644 --- a/charting_library/ar-tv-chart.9df149da.html +++ b/charting_library/ar-tv-chart.e16a61a3.html @@ -1 +1 @@ -
\ No newline at end of file +
\ No newline at end of file diff --git a/charting_library/bundles/library.5e4de6f63fd663aa30f2.js b/charting_library/bundles/library.82060f30e329cfb5852a.js similarity index 73% rename from charting_library/bundles/library.5e4de6f63fd663aa30f2.js rename to charting_library/bundles/library.82060f30e329cfb5852a.js index 573aba29..4f8838d0 100644 --- a/charting_library/bundles/library.5e4de6f63fd663aa30f2.js +++ b/charting_library/bundles/library.82060f30e329cfb5852a.js @@ -21,97 +21,97 @@ var t=U;t<0&&(t=0),t>e&&(t=e),W.setValue(z[t].chartWidget)}}function Ue(){for(va });var i=new Set;e.charts.forEach((function(e){e.chartId&&i.add(e.chartId)})),e.charts.forEach((function(e){if(!e.chartId){var t=We((function(e){return i.has(e)}));i.add(t),e.chartId=t}})),K=lt(e.layout||"s");for(var s=0;s1},applyIndicatorToAllCharts:function(e,t,i,s){k(Ie(),e,t,i,s)},setActive:rt, inlineChartsCount:q.readonly(),revertToInline:function(){je(null);for(var e=0;e0||e.status()===T.STATUS_INVALID_SYMBOL||e.status()===T.STATUS_NO_BARS)pt();else{var i=e.dataEvents(),s=function(){pt(),i.barReceived().unsubscribe(null,s),i.completed().unsubscribe(null,s),i.error().unsubscribe(null,s)};i.barReceived().subscribe(null,s),i.completed().subscribe(null,s),i.error().subscribe(null,s)}}))}})),a()){var _t=u.tool.setValue;u.tool.setValue=function(){A.selectedSources.value()&&A.activeChartWidget.value().model().lineBeingCreated()&&A.activeChartWidget.value().model().cancelCreatingLine(),_t.apply(u.tool,arguments)}}Promise.all(z.map((function(e){return S(e.chartWidget.modelCreated()).promise}))).then((function(){ -return Promise.all(z.map((function(e){return S(e.chartWidget.model().mainSeries().dataEvents().symbolResolved()).promise})))})).then((function(){window.saver&&window.is_authenticated&&B.widgetOptions.justCloned&&window.saver.saveChartSilently()})).catch(C.logError.bind(C))}}).call(this,i("aIyQ"))},"/YGI":function(e,t,i){"use strict";i.r(t);var s,r=i("0YCj"),n=i.n(r);!function(e){e.StudyCannotBeChild="cannot_be_child",e.StubWasRemoved="stub_was_removed",e.CannotGetMetainfo="cannot_get_metainfo",e.Cancelled="cancelled",e.Unknown="unknown"}(s||(s={}));var o=i("txPx");i.d(t,"StudyInserter",(function(){return l}));const a=Object(o.getLogger)("Chart.Studies.StudyInserter");class l{constructor(e,t,i){this._parentSource=void 0,this._propsState=void 0,this._preferredPriceScale=void 0,this._allowChangeCurrency=!1,this._allowChangeUnit=!1,this._paneSize=void 0,this._forceOverlay=!1,this._studyMetaInfoRepository=t,this._inserterImpl=i,this._studyDescriptor=e}setParentSource(e){this._parentSource=e||void 0}setPaneSize(e){this._paneSize=e}setPreferredPriceScale(e){this._preferredPriceScale=e}setAllowChangeCurrency(e){this._allowChangeCurrency=e}setAllowChangeUnit(e){this._allowChangeUnit=e}setForceOverlay(e){this._forceOverlay=e}setPropertiesState(e){this._propsState=e}setTargetPriceScaleMode(e){this._targetPriceScaleMode=e}async insert(e,t){const i=void 0!==(r=this._inserterImpl).createStub&&void 0!==r.removeStub?this._inserterImpl.createStub():null;var r;let n,o=!0;try{n=await this._studyMetaInfoRepository.findById(this._studyDescriptor)}catch(u){return a.logWarn("Cannot get study "+JSON.stringify(this._studyDescriptor)),Promise.reject(s.CannotGetMetainfo)}finally{null!==i&&(o=this._inserterImpl.removeStub(i))}if(!o)return Promise.reject(s.StubWasRemoved);if(void 0!==t&&t.cancelled)return Promise.reject(s.Cancelled);if(!this._canApplyStudyToParent(n))return Promise.reject(s.StudyCannotBeChild);const l=Object.assign({},n.defaults.inputs),c=void 0!==e?await e(l,n.inputs,n):{};if(void 0!==t&&t.cancelled)return Promise.reject(s.Cancelled);const h=this._insertStudy(n,c);return null===h?Promise.reject(s.Unknown):h}_insertStudy(e,t){return this._inserterImpl.createStudy(e,t,null,this._propsState,this._forceOverlay,this._parentSource,this._preferredPriceScale,this._allowChangeCurrency,this._allowChangeUnit,this._paneSize,this._targetPriceScaleMode)}_canApplyStudyToParent(e){return void 0===this._parentSource||n.a.canBeChild(e)}}},"/b+7":function(e,t){ -e.exports=''},"/bs+":function(e,t,i){"use strict";i.d(t,"a",(function(){return r})),i.d(t,"b",(function(){return n}));var s=i("E6p6");function r(e,t,i){if(i.isDays())return t;if(e.moveTo(1e3*t),i.isIntraday()){const i=e.indexOfBar(1e3*t);if(i<0)throw new Error(t+" is out of the instrument session ");return e.endOfBar(i)/1e3}return e.startOfBar(s.SessionStage.LASTBAR_SESSION)/1e3}function n(e,t,i){if(i.isDays())return t;const s=1e3*t-1;if(e.moveTo(s),i.isIntraday()){const i=e.indexOfBar(s);if(i<0)throw new Error(t+" is out of the instrument session ");return e.startOfBar(i)/1e3}return t=e.startOfBar(0)/1e3}},"/hKg":function(e,t,i){"use strict";i.r(t),i.d(t,"PaneRendererCandles",(function(){return l}));var s=i("Eyy1"),r=i("VdBB"),n=i("gAom"),o=i("Zp/P"),a=i("ExCE");class l extends a.a{constructor(e){super(),this._barSpacing=1,this._barWidth=1,this._borderVisible=!1,this._barBorderWidth=1,this._wickVisible=!1,this._bodyVisible=!0,this._borderColor=void 0,this._wickColor=void 0,this._hittest=void 0,e&&this.setData(e)}setData(e){this._bars=e.bars,this._barSpacing=e.barSpacing,this._borderVisible=e.borderVisible,this._bodyVisible=e.bodyVisible,this._wickVisible=e.wickVisible,this._borderColor=e.borderColor,this._wickColor=e.wickColor,this._hittest=e.hittest}hitTest(e){return this._wickVisible||this._borderVisible||this._bodyVisible?super.hitTest(e):null}draw(e,t){if(0===this._bars.length)return;const i=t.pixelRatio;if(this._barWidth=Object(o.optimalCandlestickWidth)(this._barSpacing,i),this._barWidth>=2){Math.floor(i)%2!=this._barWidth%2&&this._barWidth--}this._wickVisible&&this._drawWicks(e,i),this._borderVisible&&this._drawBorder(e,i),this._bodyVisible&&this._drawCandles(e,i)}_getTolerance(){return Object(o.interactionTolerance)().series+this._barBorderWidth/2}_getBarSpacing(){return this._barSpacing}_getHitTest(){return this._hittest||new r.HitTestResult(r.HitTestResult.REGULAR)}_isPointAtBar(e,t,i){const s=this._bodyVisible||this._borderVisible,r=this._wickVisible;if(!s&&!r)return!1;if(s){const s=r?Math.min(e.high,e.low):Math.min(e.open,e.close),n=r?Math.max(e.high,e.low):Math.max(e.open,e.close);return s-i<=t&&t<=n+i}{const s=Math.min(e.open,e.close),r=Math.max(e.open,e.close);return e.high-i<=t&&t<=s+i||r-i<=t&&t<=e.low+i}}_drawWicks(e,t){const i=this._bars;let r="",n=Math.min(Math.floor(t),Math.floor(this._barSpacing*t)) -;n=Math.max(Math.floor(t),Math.min(n,this._barWidth));const o=Math.floor(.5*n);let a=null;for(const l of i){const i=l.wickColor?l.wickColor:Object(s.ensureDefined)(this._wickColor);i!==r&&(e.fillStyle=i,r=i);const c=Math.round(Math.min(l.open,l.close)*t),h=Math.round(Math.max(l.open,l.close)*t),u=Math.round(l.high*t),d=Math.round(l.low*t);let p=Math.round(t*l.time)-o;const _=p+n-1;null!==a&&(p=Math.max(a+1,p),p=Math.min(p,_));const m=_-p+1;e.fillRect(p,u,m,c-u),e.fillRect(p,h+1,m,d-h),a=_}}_calculateBorderWidth(e){let t=Math.floor(1*e);this._barWidth<=2*t&&(t=Math.floor(.5*(this._barWidth-1)));const i=Math.max(Math.floor(e),t);return this._barWidth<=2*i?Math.max(Math.floor(e),Math.floor(1*e)):i}_drawBorder(e,t){let i="";const r=this._calculateBorderWidth(t);let o=null;for(const a of this._bars){if(a.borderColor!==i&&(e.fillStyle=a.borderColor?a.borderColor:Object(s.ensureDefined)(this._borderColor),i=a.borderColor),this._bodyVisible&&a.hollow)continue;let l=Math.round(a.time*t)-Math.floor(.5*this._barWidth);const c=l+this._barWidth-1,h=Math.round(Math.min(a.open,a.close)*t),u=Math.round(Math.max(a.open,a.close)*t);if(null!==o&&(l=Math.max(o+1,l),l=Math.min(l,c)),this._barSpacing*t>2*r)Object(n.fillRectInnerBorder)(e,l,h,c-l+1,u-h+1,r);else{const t=c-l+1;e.fillRect(l,h,t,u-h+1)}o=c}}_drawCandles(e,t){let i="";const s=this._calculateBorderWidth(t);for(const r of this._bars){if(this._borderVisible&&this._barWidth<=2*s&&!r.hollow)continue;let o=Math.round(Math.min(r.open,r.close)*t),a=Math.round(Math.max(r.open,r.close)*t),l=Math.round(r.time*t)-Math.floor(.5*this._barWidth),c=l+this._barWidth-1;if(r.color!==i){const t=r.color;e.fillStyle=t,i=t}if(r.hollow)e.fillStyle=r.color,Object(n.fillRectInnerBorder)(e,l,o,c-l+1,a-o+1,s);else{if(this._borderVisible&&(l+=s,o+=s,c-=s,a-=s),o>a)continue;e.fillRect(l,o,c-l+1,a-o+1)}}}}},"/kal":function(e,t){e.exports=''},"/tGj":function(e,t,i){"use strict";function s(e){return e.symbolSource()===e}i.r(t),i.d(t,"isSymbolSource",(function(){return s}))},"/z0S":function(e,t,i){"use strict";i.d(t,"a",(function(){return r}));var s=i("Kxc7");function r(e,t){s.enabled("saveload_requires_authentication")?window.runOrSignIn(e,t):e()}},"08i5":function(e,t,i){"use strict";var s,r;i.r(t),i.d(t,"AlertStatus",(function(){return s})),i.d(t,"Direction",(function(){return r})),function(e){e[e.Waiting=0]="Waiting",e[e.Success=1]="Success",e[e.Failure=2]="Failure"}(s||(s={})),function(e){e[e.Up=1]="Up",e[e.Down=2]="Down"}(r||(r={}))},"0F0w":function(e,t,i){"use strict";i.r(t);var s=i("aIyQ"),r=i.n(s),n=i("Eyy1"),o=i("hY0g"),a=i.n(o),l=i("e3/o"),c=i("txPx");const h=Object(c.getLogger)("ChartApi.AbstractSession");var u=i("ogJP");i.d(t,"ChartSession",(function(){ -return d}));Object(c.getLogger)("ChartSession");class d extends class{constructor(e,t,i){this._isConnected=new a.a(!1),this._state=0,this._isConnectForbidden=!1,this._sessionId="",this._sessionIdChanged=new r.a,this._chartApi=e,this._sessionPrefix=t,this._shouldReconnectAfterCriticalError=i}destroy(){this._logNormal("Destroying session"),this._isConnected.unsubscribe(),this.disconnect(),this._sessionIdChanged.destroy(),delete this._chartApi,this._logNormal("Session has been destroyed")}isConnected(){return this._isConnected}sessionId(){return this._sessionId}onSessionIdChanged(){return this._sessionIdChanged}connect(){0===this._state&&(Object(n.assert)(!this._isConnectForbidden,"Cannot call connect because it is forbidden at this moment"),this._setSessionId(`${this._sessionPrefix}_${Object(l.randomHash)()}`),this._logNormal("Connecting session - wait until transport stay connected"),this._state=1,this._chartApi.createSession(this._sessionId,this))}disconnect(){0!==this._state&&(Object(n.assert)(""!==this._sessionId,"sessionId must not be invalid"),this._logNormal("Disconnecting session..."),this._forbidConnectWhile(()=>{this._chartApi.connected()&&this._sendRemoveSession(),this._processDestroyingOnServer()}))}onMessage(e){switch(e.method){case"connected":return void this._onChartApiConnected();case"disconnected":return void this._onChartApiDisconnected();case"critical_error":const t=String(e.params[0]),i=String(e.params[1]);return void this._onCriticalError(t,i)}this._onMessage(e)}_getChartApi(){return this._chartApi}_generateLogMessage(e){return`[${this._sessionId}] ${e}`}_onCriticalError(e,t){this._logError(`Critical error. Reason=${e}, info=${t}.`),this._forbidConnectWhile(()=>{this._processDestroyingOnServer()}),this._shouldReconnectAfterCriticalError?(this._logNormal("Reconnecting after critical error..."),this.connect()):this._logNormal("Reconnecting after critical error skipped")}_onChartApiConnected(){Object(n.assert)(1===this._state,"Session is not registered"),this._logNormal("Transport is connected. Creating session on the server"),this._sendCreateSession(),this._state=2,this._isConnected.setValue(!0)}_onChartApiDisconnected(){this._logNormal("Transport is disconnected. Reconnecting..."),this._forbidConnectWhile(()=>{this._processDestroyingOnServer()}),this.connect()}_setSessionId(e){const t=this._sessionId;this._logNormal(`Changing sessionId: old=${t}, new=${e}`),this._sessionId=e,this._sessionIdChanged.fire(e,t)}_logNormal(e){h.logNormal(this._generateLogMessage(e))}_logError(e){h.logError(this._generateLogMessage(e))}_processDestroyingOnServer(){this._state=0,this._isConnected.setValue(!1),this._chartApi.removeSession(this._sessionId),this._setSessionId("")}_forbidConnectWhile(e){this._isConnectForbidden=!0,e(),this._isConnectForbidden=!1}}{constructor(e,t=!1){super(e,"cs",!1),this._sessionDisabled=!1,this._handler=null,this._criticalError=new r.a,this._disableStatistics=t}destroy(){this._criticalError.destroy(),this._handler=null,super.destroy()}serverTimeOffset(){ -return this._getChartApi().serverTimeOffset()}switchTimezone(e){return this._getChartApi().switchTimezone(this.sessionId(),e)}defaultResolutions(){return this._getChartApi().defaultResolutions()}availableCurrencies(){return this._getChartApi().availableCurrencies()}availableUnits(){return this._getChartApi().availableUnits()}resolveSymbol(e,t,i){return this._getChartApi().resolveSymbol(this.sessionId(),e,t,i)}requestFirstBarTime(e,t,i){return this._getChartApi().requestFirstBarTime(this.sessionId(),e,t,i)}createSeries(e,t,i,s,r,n,o){return this._getChartApi().createSeries(this.sessionId(),e,t,i,s,r,n,o)}modifySeries(e,t,i,s,r,n){return this._getChartApi().modifySeries(this.sessionId(),e,t,i,s,r,n)}removeSeries(e,t){return!!this.isConnected().value()&&this._getChartApi().removeSeries(this.sessionId(),e,t)}requestMoreData(e,t,i){return"number"==typeof e?this._getChartApi().requestMoreData(this.sessionId(),e):this._getChartApi().requestMoreData(this.sessionId(),e,t,i)}requestMoreTickmarks(e,t,i){return Object(u.isNumber)(e)?this._getChartApi().requestMoreTickmarks(this.sessionId(),e):this._getChartApi().requestMoreTickmarks(this.sessionId(),e,t,i)}requestMetadata(e,t){(()=>{this._getChartApi().requestMetadata(this.sessionId(),e,t)})()}isCanCreateStudy(e){return this._getChartApi().isCanCreateStudy(e)}createStudy(e,t,i,s,r,n,o){return this._getChartApi().createStudy(this.sessionId(),e,t,i,s,r,n,o)}rebindStudy(e,t,i,s,r,n,o){return this._getChartApi().rebindStudy(this.sessionId(),e,t,i,s,r,n,o)}modifyStudy(e,t,i,s){return this._getChartApi().modifyStudy(this.sessionId(),e,t,i,s)}removeStudy(e,t,i){return this._getChartApi().removeStudy(this.sessionId(),e,t,i)}createPointset(e,t,i,s,r,n){return this._getChartApi().createPointset(this.sessionId(),e,t,i,s,r,n)}modifyPointset(e,t,i,s){return this._getChartApi().modifyPointset(this.sessionId(),e,t,i,s)}removePointset(e){return this._getChartApi().removePointset(this.sessionId(),e)}setVisibleTimeRange(e,t,i,s,r){this._getChartApi().setVisibleTimeRange(this.sessionId(),e,t,i,s,r)}criticalError(){return this._criticalError}connect(e=null){null!==e&&(this._handler=e),super.connect()}setHandler(e){this._handler=e}connected(){return this.isConnected().value()&&!this._sessionDisabled}disable(){this._sessionDisabled=!0}chartApi(){return this._getChartApi()}_sendCreateSession(){Object.keys(this).forEach(e=>{/^(s|st|symbol_)\d+$/.test(e)&&delete this[e]}),this._getChartApi().chartCreateSession(this.sessionId(),this._disableStatistics)}_sendRemoveSession(){this._getChartApi().chartDeleteSession(this.sessionId())}_onMessage(e){this._handler&&this._handler(e)}_onCriticalError(e,t){this._criticalError.fire(e,t),super._onCriticalError(e,t)}}},"0Pxc":function(e,t,i){"use strict";var s=i("aO4+").Point,r=i("GEp6").distanceToLine,n=i("hfHJ"),o=n.rotationMatrix,a=n.scalingMatrix,l=n.translationMatrix,c=n.transformPoint,h=i("Ss5c").LineDataSource,u=i("Ocx9").DefaultProperty,d=i("j3hX").LineToolColorsProperty;class p extends h{constructor(e,t){super(e,t||p.createProperties()), -this.version=p.version,i.e("lt-pane-views").then(i.t.bind(null,"dKqZ",7)).then(({ArcPaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}startChanging(e,t){if(super.startChanging(e,t),0===e||1===e){var i=this.pointToScreenPoint(this._points[0])[0],n=this.pointToScreenPoint(this._points[1])[0],o=this.pointToScreenPoint(this._points[2])[0];this._dist=r(i,n,o).distance;var a=n.subtract(i),l=new s(-a.y,a.x),c=i.add(n).scaled(.5);o.subtract(c).dotProduct(l)<0&&(this._dist=-this._dist)}}pointsCount(){return 3}name(){return"Arc"}hasEditableCoordinates(){return!1}setPoint(e,t){var i=Object.assign({},t),n=this.pointToScreenPoint(this._points[0])[0],h=this.pointToScreenPoint(this._points[1])[0],u=this.pointToScreenPoint(this._points[2])[0];switch(e){case 0:n=this.pointToScreenPoint(i)[0];var d=h.subtract(n),p=n.add(h).scaled(.5);m=(m=new s(-d.y,d.x)).normalized(),u=p.add(m.scaled(this._dist)),u=this.screenPointToPoint(u),this._points[0]=i,this._points[2]=u;break;case 1:var _=r(n,h,u).distance;d=(h=this.pointToScreenPoint(i)[0]).subtract(n),p=n.add(h).scaled(.5);m=(m=new s(-d.y,d.x)).normalized(),u=p.add(m.scaled(this._dist)),u=this.screenPointToPoint(u),this._points[1]=i,this._points[2]=u;break;case 2:i=this.pointToScreenPoint(i)[0];var m;_=r(n,h,i).distance,d=h.subtract(n),p=n.add(h).scaled(.5);m=(m=new s(-d.y,d.x)).normalized(),u=p.add(m.scaled(_));var f=p.add(m.scaled(-_)),g=d.length(),v=d.x/g,b=d.y/g,S=Math.acos(v);b<0&&(S=-S);var y=l(-p.x,-p.y);i=c(y,i);var w=c(y,u);y=o(-S),i=c(y,i),w=c(y,w),y=a(1,g/(2*_)),i=c(y,i),w=c(y,w);var C=i.y*w.y>=0?new s(u.x,u.y):new s(f.x,f.y);C=this.screenPointToPoint(C),this._points[2]=C}this.normalizePoints()}migrateVersion(e,t,i){if(1===e&&2===this._points.length){var s=(2*this._points[0].price+3*this._points[1].price)/5;this._points.append({price:s,index:this._points[1].index})}if(1===e&&2===this._timePoint.length){var r={price:s=(2*this._timePoint[0].price+3*this._timePoint[1].price)/5,offset:this._timePoint[1].offset,time_t:this._timePoint[1].time_t};this._timePoint.append(r)}}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(33),i.e("lt-property-pages-with-definitions")]).then(i.bind(null,"Zd1D"))).GeneralFiguresDefinitionsViewModel}static createProperties(e){var t=new u("linetoolarc",e);return p._configureProperties(t),t}static _configureProperties(e){h._configureProperties(e),e.addChild("linesColors",new d([e.color]))}}p.version=2,t.LineToolArc=p},"0YCj":function(e,t,i){"use strict";(function(e,t){i("Eyy1").assert;var s=i("txPx").getLogger("Chart.Study.MetaInfo"),r=i("9iCb").applyOverridesToStudyDefaults,n=null;function o(e){TradingView.merge(this,{palettes:{},inputs:[],plots:[],graphics:{},defaults:{}}),TradingView.merge(this,e);var t=e.fullId||e.id;TradingView.merge(this,o.parseIdString(t)),this.name=this.id}o.VERSION_STUDY_ARG_SOURCE=41,o.METAINFO_FORMAT_VERSION_SOS_V2=42,o.VERSION_PINE_PROTECT_TV_4164=43,o.CURRENT_METAINFO_FORMAT_VERSION=52,o.VERSION_NEW_STUDY_PRECISION_FORMAT=46,o.CHILD_STUDY_ALLOWED_PLOT_TYPES=["line"], -o.canPlotBeSourceOfChildStudy=function(e){return o.CHILD_STUDY_ALLOWED_PLOT_TYPES.includes(e)},o.CHILD_STUDY_EXCLUDE_IDS=["CorrelationCoefficient@tv-basicstudies","Correlation - Log@tv-basicstudies-1"],o.CHILD_STUDY_PARENT_EXCLUDE_IDS=[],o.FilledArea={},o.FilledArea.TYPE_PLOTS="plot_plot",o.FilledArea.TYPE_HLINES="hline_hline",o.versionOf=function(e){var t="_metainfoVersion"in e&&isNumber(e._metainfoVersion)?e._metainfoVersion:0;return t<0&&s.logError("Metainfo format version cannot be negative: "+t),t},o.parseIdString=function(e){var t={};if(-1===e.indexOf("@"))t.shortId=e,t.packageId="tv-basicstudies",t.id=e+"@"+t.packageId,t.version=1;else{var i=e.split("@");t.shortId=i[0];var s=i[1].split("-");if(3===s.length)t.packageId=s.slice(0,2).join("-"),t.id=t.shortId+"@"+t.packageId,t.version=s[2];else if(1===s.length&&"decisionbar"===s[0])t.packageId="les-"+s[0],t.id=t.shortId+"@"+t.packageId,t.version=1;else{if(1!==s.length)throw new Error("unexpected study id:"+e);t.packageId="tv-"+s[0],t.id=t.shortId+"@"+t.packageId,t.version=1}}if(t.fullId=t.id+"-"+t.version,"tv-scripting"===t.packageId){var r=t.shortId;if(0===r.indexOf("Script$")||0===r.indexOf("StrategyScript$")){var n=r.indexOf("_");t.productId=n>=0?r.substring(0,n):t.packageId}else t.productId=t.packageId}else t.productId=t.packageId;return t},o.getPackageName=function(e){return(/^[^@]+@([^-]+-[^-]+)/.exec(e||"")||[0,"tv-basicstudies"])[1]},o.cutDollarHash=function(e){var t=e.indexOf("$"),i=e.indexOf("@");return-1===t?e:e.substr(0,t)+(i>=0?e.substr(i):"")},o.hasUserIdSuffix=function(e){return/^USER;[\d\w]+;\d+$/.test(e)},o.isStandardPine=function(e){return/^(Strategy)?Script\$STD;.*@tv-scripting$/.test(e)},o.getSourceIdByInputs=function(e,t){if(!Array.isArray(e)||!t)return null;for(var i=0;i0){var l=a.replace(/^[^\$]+/,i);s.inputs[n.id].setValue(l)}}}},o.patchChildStudyMetaInfoState=function(e){e.state&&function e(t){if("object"==typeof t)for(var i in t)"string"==typeof t[i]&&/^[^\$]+\$\d+$/.test(t[i])?t[i]=t[i].replace(/^[^\$]+/,"{pid}"):e(t[i])}(e.state.inputs),e.state.isChildStudy=!0},o.prototype.parseValue=function(e,t){return"bool"===e?TradingView.parseBool(t):t},o.prototype.defaultInputs=function(){for(var e=[],t=0;t0?e[0].id:null}, -o.prototype.createDefaults=function(){if(this.defaults){var e=TradingView.clone(this.defaults);e.precision="default";var t=o.getStudyPropertyRootName(this);defaults.create(t,e)}},o.prototype.removeDefaults=function(){defaults.remove(o.getStudyPropertyRootName(this))},o.findStudyMetaInfoByDescription=function(e,t){if(e){for(var i=0;i{this._setVisibility(e)},this._chartWidgetCollection=e} -show(){const e=this._chartWidgetCollection,t=e.activeChartWidget.value();return t.generalPropertiesDefinitions().then(s=>Promise.all([i.e("redux"),i.e("react"),i.e(1),i.e(2),i.e(3),i.e(6),i.e(7),i.e(8),i.e(9),i.e(11),i.e(13),i.e(15),i.e(16),i.e(19),i.e(20),i.e(21),i.e(23),i.e(28),i.e(30),i.e(31),i.e(34),i.e(39),i.e(46),i.e(53),i.e(70),i.e(90),i.e(0),i.e(5),i.e(4),i.e(10),i.e(12),i.e(17),i.e(29),i.e(25),i.e(26),i.e(27),i.e(33),i.e(36),i.e(51),i.e("general-chart-properties-dialog")]).then(i.bind(null,"PI1I")).then(i=>{var r,n;const o=new i.GeneralChartPropertiesDialogRenderer({chartWidgetCollection:e,propertyPages:s,activePageId:this._activePageId,model:t.model()});return null===(r=this._dialog)||void 0===r||r.hide(),null===(n=this._dialog)||void 0===n||n.visible().unsubscribe(this._subscribe),this._dialog=o,o.visible().subscribe(this._subscribe),o.show(),this._activePageId=void 0,o}))}hide(){var e;null===(e=this._dialog)||void 0===e||e.hide()}isVisible(){return this.visible().value()}focusOnText(){}setActivePage(e){this._activePageId=e}}},"0qMc":function(e,t,i){"use strict";i.r(t),i.d(t,"lineToolsLocalizedNames",(function(){return r}));i("YFKU");var s=i("+GxX");const r={LineTool5PointsPattern:window.t("XABCD Pattern"),LineToolABCD:window.t("ABCD Pattern"),LineToolArc:window.t("Arc"),LineToolArrow:window.t("Arrow"),LineToolArrowMarkDown:window.t("Arrow Mark Down"),LineToolArrowMarkLeft:window.t("Arrow Mark Left"),LineToolArrowMarkRight:window.t("Arrow Mark Right"),LineToolArrowMarkUp:window.t("Arrow Mark Up"),LineToolBalloon:window.t("Balloon"),LineToolBarsPattern:window.t("Bars Pattern"),LineToolBezierCubic:window.t("Double Curve"),LineToolBezierQuadro:window.t("Curve"),LineToolBrush:window.t("Brush"),LineToolCallout:window.t("Callout"),LineToolCircleLines:window.t("Cyclic Lines"),LineToolCypherPattern:window.t("Cypher Pattern"),LineToolDateAndPriceRange:window.t("Date and Price Range"),LineToolDateRange:window.t("Date Range"),LineToolDisjointAngle:window.t("Disjoint Channel"),LineToolElliottCorrection:window.t("Elliott Correction Wave (ABC)"),LineToolElliottDoubleCombo:window.t("Elliott Double Combo Wave (WXY)"),LineToolElliottImpulse:window.t("Elliott Impulse Wave (12345)"),LineToolElliottTriangle:window.t("Elliott Triangle Wave (ABCDE)"),LineToolElliottTripleCombo:window.t("Elliott Triple Combo Wave (WXYXZ)"),LineToolEllipse:window.t("Ellipse"),LineToolExtended:window.t("Extended Line"),LineToolFibChannel:window.t("Fib Channel"),LineToolFibCircles:window.t("Fib Circles"),LineToolFibRetracement:window.t("Fib Retracement"),LineToolFibSpeedResistanceArcs:window.t("Fib Speed Resistance Arcs"),LineToolFibSpeedResistanceFan:window.t("Fib Speed Resistance Fan"),LineToolFibSpiral:window.t("Fib Spiral"),LineToolFibTimeZone:window.t("Fib Time Zone"),LineToolFibWedge:window.t("Fib Wedge"),LineToolFlagMark:window.t("Flag Mark"),LineToolImage:window.t("Image"),LineToolFlatBottom:window.t("Flat Top/Bottom"),LineToolAnchoredVWAP:window.t("Anchored VWAP"),LineToolGannComplex:window.t("Gann Square"), -LineToolGannFixed:window.t("Gann Square Fixed"),LineToolGannFan:window.t("Gann Fan"),LineToolGannSquare:window.t("Gann Box"),LineToolHeadAndShoulders:window.t("Head and Shoulders"),LineToolHorzLine:window.t("Horizontal Line"),LineToolHorzRay:window.t("Horizontal Ray"),LineToolIcon:window.t("Icon"),LineToolInsidePitchfork:window.t("Inside Pitchfork"),LineToolNote:window.t("Note"),LineToolNoteAbsolute:window.t("Anchored Note"),LineToolSignpost:window.t("Signpost"),LineToolParallelChannel:window.t("Parallel Channel"),LineToolPitchfan:window.t("Pitchfan"),LineToolPitchfork:window.t("Pitchfork"),LineToolPolyline:window.t("Polyline"),LineToolPath:window.t("Path"),LineToolPrediction:window.t("Forecast"),LineToolPriceLabel:window.t("Price Label"),LineToolArrowMarker:window.t("Arrow Marker"),LineToolPriceRange:window.t("Price Range"),LineToolProjection:window.t("Projection"),LineToolRay:window.t("Ray"),LineToolRectangle:window.t("Rectangle"),LineToolRegressionTrend:window.t("Regression Trend"),LineToolRiskRewardLong:window.t("Long Position"),LineToolRiskRewardShort:window.t("Short Position"),LineToolFixedRangeVolumeProfile:window.t("Fixed Range Volume Profile"),LineToolRotatedRectangle:window.t("Rotated Rectangle"),LineToolSchiffPitchfork:window.t("Modified Schiff Pitchfork"),LineToolSchiffPitchfork2:window.t("Schiff Pitchfork"),LineToolSineLine:window.t("Sine Line"),LineToolText:window.t("Text",{context:"tool"}),LineToolTextAbsolute:window.t("Anchored Text"),LineToolThreeDrivers:window.t("Three Drives Pattern"),LineToolTimeCycles:window.t("Time Cycles"),LineToolTrendAngle:window.t("Trend Angle"),LineToolTrendBasedFibExtension:window.t("Trend-Based Fib Extension"),LineToolTrendBasedFibTime:window.t("Trend-Based Fib Time"),LineToolTrendLine:window.t("Trend Line"),LineToolInfoLine:window.t("Info Line"),LineToolTriangle:window.t("Triangle"),LineToolTrianglePattern:window.t("Triangle Pattern"),LineToolVertLine:window.t("Vertical Line"),LineToolCrossLine:window.t("Cross Line"),LineToolHighlighter:window.t("Highlighter"),LineToolPriceNote:window.t("Price Note")};Object(s.isFeatureEnabled)("remove-line-tool-ghost-feed")||(r.LineToolGhostFeed=window.t("Ghost Feed"))},"1AAW":function(e,t,i){"use strict";i.d(t,"a",(function(){return n}));var s=i("hY0g"),r=i.n(s);function n(e,...t){const i=(...t)=>e(...t.map(e=>e.value())),s=new r.a(i(...t)),n=()=>s.setValue(i(...t)),o=t.map(e=>e.spawn());for(const r of o)r.subscribe(n);return s.readonly().spawn(()=>o.forEach(e=>e.destroy()))}},"1IXQ":function(e,t,i){"use strict";i("jJ9X");var s=i("aO4+").Point,r=i("/3z9"),n=i("qFKp").CheckMobile,o=i("7KDR"),a=o.Action,l=o.Separator,c=i("H0vP").InvalidationLevel,h=i("ikwP"),u=h.getContext2D,d=h.hardResizeCanvas,p=h.clearRect,_=i("gAom").clearRectWithGradient,m=h.fillRect,f=i("S8xo").MouseEventHandler,g=i("YmeR").ActionBinder,v=i("T6Of").LimitedPrecisionNumericFormatter,b=i("HZKX").createLinesAction,S=i("EsvI").themes,y=i("3/8U").axesHighlightColor,w=i("xzdg").PriceAxisWidgetBase,C=i("Kxc7"),P=window.t("Merge All Scales Into One");class x extends w{ -constructor(e,t,i,s,r,n,o,a){super(e,t,i,r,n,s),this._axisInfo=o,this._backgroundBasedTheme=a,this._offset=0,this.restoreDefaultCursor(),this.update(),this._mouseEventHandler=new f(this._topCanvasBinding.canvas,this,{treatVertTouchDragAsPageScroll:!1,treatHorzTouchDragAsPageScroll:!0}),this.contextMenu=null,this.actions=null,this._highlighted=!1}destroy(){null!==this.actions&&this.actions.reset&&this.actions.reset.destroy(),this._mouseEventHandler.destroy(),super.destroy()}dataSourceAtPoint(e,t){var i=this._grouppedSources(),r=i.sources.concat(Array.from(i.topLevelSources)).concat(this._pane.state().customSources()),n=null,o=null;if(!this._priceScale)return null;function a(e,t){var i=o?o.result():0;e.result()>i&&(o=e,n=t)}for(var l=new s(e,t),c=this._pane.state(),h=r.length-1;h>=0;--h){var u=r[h],d=u.priceAxisViews(c,this._priceScale);if(d&&0!==d.length)for(var p=d.length-1;p>=0;--p){var _=d[p].renderer();if(null!==_&&void 0!==_.hitTest){var m=_.hitTest(l,this._size.w,this._isLeft?"left":"right");null!==m&&a(m,u)}}}return n}_initActions(e){if(this._pane.hasState()&&null===this.actions){this.actions={};var t=this,s=this._pane.chart().model();this.actions.reset=new a({label:window.t("Reset Price Scale"),icon:i("LdoW"),shortcut:"Alt+R",shortcutHint:r.humanReadableHash(r.Modifiers.Alt+82),statName:"ResetScale",onExecute:x.prototype.reset.bind(this)}),this.actions.setAutoScale=new a({label:window.t("Auto (Fits Data To Screen)"),checkable:!0,checked:!0,statName:"ToggleAutoScale",onExecute:function(){s.togglePriceScaleAutoScaleMode(t.priceScale()),t._updateScalesActions()}}),this.actions.setPercentage=new a({label:window.t("Percent",{context:"scale_menu"}),checkable:!0,checked:this.priceScale().isPercentage(),statName:"TogglePercantage",onExecute:function(){s.togglePriceScalePercentageScaleMode(t.priceScale()),t._updateScalesActions()}}),this.actions.setIndexedTo100=new a({label:window.t("Indexed to 100",{context:"scale_menu"}),checkable:!0,checked:this.priceScale().isIndexedTo100(),statName:"ToggleIndexedTo100",onExecute:function(){s.togglePriceScaleIndexedTo100ScaleMode(t.priceScale()),t._updateScalesActions()}}),this.actions.setLog=new a({label:window.t("Logarithmic",{context:"scale_menu"}),checkable:!0,checked:this.priceScale().isLog(),statName:"ToggleLogScale",onExecute:function(){s.togglePriceScaleLogScaleMode(t.priceScale()),t._updateScalesActions()}}),this.actions.setRegular=new a({label:window.t("Regular",{context:"scale_menu"}),checkable:!0,checked:this.priceScale().isRegular(),statName:"ToggleRegularScale",onExecute:function(){s.setPriceScaleRegularScaleMode(t.priceScale()),t._updateScalesActions()}}),this.actions.alignLabels=new a({label:window.t("No Overlapping Labels",{context:"scale_menu"}),checkable:!0,checked:!1,statName:"TogglePreciseLabels"}),this.actions.alignLabels.binding=new g(this.actions.alignLabels,this.priceScale().properties().alignLabels,this._pane.chart().model(),"No Overlapping Labels"),this.actions.invertScale=new a({label:window.t("Invert Scale",{context:"scale_menu"}),checkable:!0, -checked:this.priceScale().isInverted(),statName:"Invert Scale",onExecute:function(){s.invertPriceScale(t.priceScale()),t._updateScalesActions()}}),this._updateScalesActions()}}_logAction(){return this._isMainSeriesAxis()?this._pane.chart().actions().logSeriesScale:this.actions.setLog}_percentageAction(){return this._isMainSeriesAxis()?this._pane.chart().actions().percentSeriesScale:this.actions.setPercentage}_indexedTo100Action(){return this._isMainSeriesAxis()?this._pane.chart().actions().indexedTo100SeriesScale:this.actions.setIndexedTo100}_autoScaleAction(){return this._isMainSeriesAxis()?this._pane.chart().actions().autoSeriesScale:this.actions.setAutoScale}_regularScaleAction(){return this._isMainSeriesAxis()?this._pane.chart().actions().regularSeriesScale:this.actions.setRegular}_lockScaleAction(){var e=this._pane.chart().actions().lockSeriesScale,t=M(this.priceScale(),this._pane.chart().model().model().mainSeriesScaleRatio());return e.update({hint:t}),e}_invertAction(){return this._isMainSeriesAxis()?this._pane.chart().actions().invertSeriesScale:this.actions.invertScale}_isMainSeriesAxis(){return this.priceScale().hasMainSeries()}_updateMainSeriesScalesActions(){this._isMainSeriesAxis()&&null!==this.actions&&this._updateScalesActions()}_updateScalesActions(){var e=this.priceScale(),t=this._isMainSeriesAxis(),i=e.mainSource().properties(),s=t&&e.isLockScale(),r=t&&i.style.value()===TradingView.Series.STYLE_PNF;this.actions.setRegular.update({checked:e.isRegular(),disabled:s||r}),this.actions.setPercentage.update({checked:e.isPercentage(),disabled:s||r}),this.actions.setIndexedTo100.update({checked:e.isIndexedTo100(),disabled:s||r}),this.actions.setLog.update({checked:e.isLog(),disabled:s||r}),this.actions.setAutoScale.update({checked:e.isAutoScale(),disabled:e.properties().autoScaleDisabled.value()})}_createMergeScalesAction(){var e=this._pane.chart().actions(),t=this._pane.chart().model().model().priceScaleSlotsCount();if(t.left+t.right===1)return 0===t.left?e.moveScaleToLeft:e.moveScaleToRight;var i=[];return i.push(e.mergeLeftScalesAction),i.push(e.mergeRightScalesAction),new a({label:P,subItems:i})}getContextMenuActions(){this._initActions();var e=this._pane.chart().actions(),t=[];if(t.push(this.actions.reset,new l,this._autoScaleAction()),this._isMainSeriesAxis()&&t.push(this._lockScaleAction()),t.push(e.scaleSeriesOnly,this._invertAction(),new l,this._regularScaleAction(),this._percentageAction(),this._indexedTo100Action(),this._logAction(),new l),n.any()||(t.push(this._createMergeScalesAction()),t.push(new l)),!C.enabled("fundamental_widget")){t.push(new a({label:window.t("Labels"),subItems:[e.showSymbolLabelsAction,e.showSeriesLastValue,null,null,e.showHighLowPriceLabels,e.showAverageClosePriceLabel,null,e.showStudyPlotNamesAction,e.showStudyLastValue,null,null,this.actions.alignLabels].filter(Boolean)}))}return t.push(b(this._pane.chart())),this._options.countdownEnabled&&t.push(e.showCountdown),this._options.currencyConversionEnabled&&t.push(e.showCurrency), -this._options.unitConversionEnabled&&t.push(e.showUnit),this._pane.chart().model().crossHairSource().isMenuEnabled()&&t.push(e.addPlusButton),!TradingView.onWidget()&&C.enabled("show_chart_property_page")&&C.enabled("chart_property_page_scales")&&e.scalesProperties&&t.push(new l,e.scalesProperties),t}_sameSideSources(){var e=this._pane.state().sourcesByGroup();return this._isLeft?e.leftPriceScalesSources():e.rightPriceScalesSources()}_grouppedSources(){var e=this._pane,t=e.chart().model(),i=this._sameSideSources().slice(),s=e.state(),r=this.priceScale(),n=new Set,o=t.lineBeingEdited()||t.lineBeingCreated();if(o&&n.add(o),t.sourcesBeingMoved().forEach((function(e){n.add(e)})),t.selection().allSources().forEach((function(e){n.add(e)})),t.hoveredSource()&&n.add(t.hoveredSource()),r===s.defaultPriceScale())for(var a=this._pane.state().dataSources(),l=0;l0&&this._hightlightBackground(e,c,this.priceScale().mainSource(),t);var h=a.model().crossHairSource();h.startMeasurePoint()&&this._hightlightBackground(e,h.measurePoints(),this.priceScale().mainSource(),t)}drawBorder(e,t){e.save(),e.fillStyle=this.lineColor();var i,s=Math.max(1,Math.floor(this.rendererOptions().borderSize*t)) -;i=this._isLeft?Math.floor(this._size.w*t)-s:0,e.fillRect(i,0,s,Math.ceil(this._size.h*t)+1),e.restore()}drawBackLabels(e,t){e.save();for(var i=this.backLabels(),s=this.rendererOptions(),r=this._isLeft?"right":"left",n=0;n=l)&&(n={value:l,view:a})}})),r.view&&s.push(r.view),n.view&&s.push(n.view),s}_isFromSameSide(e){return(this._isLeft?this._pane.state().leftPriceScales():this._pane.state().rightPriceScales()).includes(e)}_addViewsOrMaxMin(e,t){var i=this._pane.state(),s=this.priceScale();if(s!==i.defaultPriceScale()&&(e=e.filter(function(e){return i.isOverlay(e)||this._isFromSameSide(e.priceScale())}.bind(this))),0!==e.length)if(1===e.length){var r=e[0].priceAxisViews(i,s);r&&r.length&&t.push(r)}else t.push(this._minMaxViews(e))}drawCrossHairLabel(e,t){e.save();var i=this._pane.chart().model().model(),s=this._pane.state(),r=this.priceScale(),n=[],o=this._pane.state(),a=this.priceScale()===s.defaultPriceScale(),l=i.lineBeingEdited()||i.lineBeingCreated();l&&(l.priceScale()===r||a&&s.isOverlay(l))&&((h=l.priceAxisViews(o,r))&&h.length&&n.push(h));this._addViewsOrMaxMin(i.sourcesBeingMoved(),n),this._addViewsOrMaxMin(i.selection().allSources(),n);var c=i.hoveredSource();if(c){var h,u=s.customSources().includes(c)?r:c.priceScale();if(!i.selection().isSelected(c)&&(this._isFromSameSide(u)||a&&s.isOverlay(c)))(h=i.hoveredSource().priceAxisViews(o,r))&&h.length&&n.push(h)}(h=i.crossHairSource().priceAxisViews(o,r))&&h.length&&n.push(h);var d=this.rendererOptions(),p=this._isLeft?"right":"left";n.forEach((function(i){i.forEach((function(i){e.save(),i.renderer().draw(e,d,this._widthCache,this._size.w,p,t),e.restore()}),this)}),this),e.restore()}hardResetCanvas(){null!==this._size&&(d(this._canvasBinding,this._size),d(this._topCanvasBinding,this._size))}_isMainPane(){return this._pane.state().containsMainSeries()}paint(e){if(this._isVisible&&e!==c.None){if(e>c.Cursor){var t=u(this._canvasBinding.canvas);this._alignLabels(),this.drawBackground(t,this._canvasBinding.pixelRatio),this.drawBorder(t,this._canvasBinding.pixelRatio),this._pane.hasState()&&(this._updateCurrencyLabel(),this._drawTickMarks(t,this._canvasBinding.pixelRatio),this.drawBackLabels(t,this._canvasBinding.pixelRatio))}if(this._pane.hasState()){var i=u(this._topCanvasBinding.canvas),s=this._topCanvasBinding.pixelRatio;i.clearRect(0,0,Math.ceil(this._size.w*s)+1,Math.ceil(this._size.h*s)+1),this.drawCrossHairLabel(i,s)}}}restoreDefaultCursor(){this.setCursor("")}setCursor(e){var t="";"grabbing"!==e&&"ns-resize"!==e||(t="price-axis--cursor-"+e), -this._currentCursorClassName!==t&&(this._currentCursorClassName&&this._cell.classList.remove(this._currentCursorClassName),t&&this._cell.classList.add(t),this._currentCursorClassName=t,this._cell.style.cursor)}axisInfo(){return this._axisInfo}setHighlighted(e){this._highlighted!==e&&(this._highlighted=e)}}function T(e){var t=new v(e);return function(e,i){return isNumber(i)&&!e.isLog()?t.format(i):""}}var M=T(4);e.exports={PriceAxisWidget:x,scaleRatioForContextMenuTransformer:T}},"1Ky4":function(e,t,i){"use strict";i.r(t),i.d(t,"StudyPlotBarsPaneView",(function(){return a}));var s=i("Zy3/"),r=i("vq8G"),n=i("29fS"),o=i("ehkz");class a extends o.a{renderer(){if(!this._study.properties().ohlcPlots[this._plotName].visible.value())return null;this._invalidated&&(this._updateImpl(),this._invalidated=!1);const e={bars:this._bars,barSpacing:this._model.timeScale().barSpacing(),dontDrawOpen:this._series.properties().barStyle.dontDrawOpen.value(),thinBars:this._series.properties().barStyle.thinBars.value()},t=new s.CompositeRenderer;return t.append(new n.PaneRendererBars(e)),this._model.selection().isSelected(this._study)&&this._isMarkersEnabled&&this._selectionData&&t.append(new r.SelectionRenderer(this._selectionData)),t}}},"1Wlv":function(e,t,i){"use strict";(function(e){var s=i("Yj6H").PriceScaleBase,r=i("7ktv").PriceDataSource,n=i("kcTO").PriceFormatter,o=i("GH0z").PercentageFormatter,a=i("Qb4w").PriceRange,l=i("e3/o").randomHash,c=i("3ClC").isStudy,h=i("lTLF").PriceTickMarkBuilder,u=i("TTFo"),d=u.fromPercent,p=u.toPercent,_=u.fromIndexedTo100,m=u.toIndexedTo100,f=u.fromLog,g=u.toLog,v=new o,b=new n(100,1);class S extends s{constructor(t,i){super(i),this._scalesProperties=t,this.m_scrollStartPoint=null;var s=this;this._modeChanged=new e,this._properties.isInverted.listeners().subscribe(this,S.prototype._onIsInvertedChanged),this._properties.listeners().subscribe(null,(function(){if(s.mainSource()&&s.mainSource().model()){var e=s.mainSource().model().paneForSource(s.mainSource());s.mainSource().model().updatePane(e)}})),this._scalesProperties.listeners().subscribe(this,(function(){this._marksCache=null})),this.setId(l())}id(){return this._id}setId(e){this._id=e}_convertPriceRangeFromLog(e){if(null===e)return null;var t=f(e.minValue()),i=f(e.maxValue());return new a(t,i)}_convertPriceRangeToLog(e){if(null===e)return null;var t=g(e.minValue()),i=g(e.maxValue());return new a(t,i)}_canConvertPriceRangeFromLog(e){if(null===e)return!1;var t=f(e.minValue()),i=f(e.maxValue());return isFinite(t)&&isFinite(i)}mode(){return{autoScale:this._properties.autoScale.value(),lockScale:this._properties.lockScale.value(),percentage:this._properties.percentage.value(),indexedTo100:this._properties.indexedTo100.value(),log:this._properties.log.value()}}setMode(e){var t={},i=this.mode(),s=this._properties.state(),r=null;void 0!==e.autoScale&&e.autoScale!==s.autoScale&&(t.autoScale=e.autoScale,this._setAutoScaleValueWithDependentProperties(e.autoScale)),void 0!==e.lockScale&&e.lockScale!==s.lockScale&&(t.lockScale=e.lockScale, -this._setLockScaleValueWithDependentProperties(e.lockScale)),void 0!==e.percentage&&e.percentage!==s.percentage&&(t.percentage=e.percentage,this._setPercentageValueWithDependentProperties(e.percentage),this._invalidatedForRange.isValid=!1),void 0!==e.indexedTo100&&e.indexedTo100!==s.indexedTo100&&(t.indexedTo100=e.indexedTo100,this._setIndexedTo100ValueWithDependentProperties(e.indexedTo100),this._invalidatedForRange.isValid=!1),void 0!==e.log&&e.log!==s.log&&(t.log=e.log,this._setLogValueWithDependentProperties(e.log)),s.log&&!this._properties.log.value()&&(this._canConvertPriceRangeFromLog(this.m_priceRange)?null!==(r=this._convertPriceRangeFromLog(this.m_priceRange))&&this.setPriceRange(r):this.properties().autoScale.setValue(!0)),!s.log&&this._properties.log.value()&&null!==(r=this._convertPriceRangeToLog(this.m_priceRange))&&this.setPriceRange(r),s.autoScale!==this._properties.autoScale.value()&&this._properties.autoScale.listeners().fire(this._properties.autoScale),s.autoScaleDisabled!==this._properties.autoScaleDisabled.value()&&this._properties.autoScaleDisabled.listeners().fire(this._properties.autoScaleDisabled),s.lockScale!==this._properties.lockScale.value()&&this._properties.lockScale.listeners().fire(this._properties.lockScale),s.percentage!==this._properties.percentage.value()&&(this._properties.percentage.listeners().fire(this._properties.percentage),this.updateFormatter()),s.indexedTo100!==this._properties.indexedTo100.value()&&(this._properties.indexedTo100.listeners().fire(this._properties.indexedTo100),this.updateFormatter()),s.percentageDisabled!==this._properties.percentageDisabled.value()&&this._properties.percentageDisabled.listeners().fire(this._properties.percentageDisabled),s.log!==this._properties.log.value()&&this._properties.log.listeners().fire(this._properties.log),s.logDisabled!==this._properties.logDisabled.value()&&this._properties.logDisabled.listeners().fire(this._properties.logDisabled),void 0===t.log&&void 0===t.percentage&&void 0===t.lockScale&&void 0===t.autoScale&&void 0===t.indexedTo100||this._modeChanged.fire(i,this.mode())}modeChanged(){return this._modeChanged}fontSize(){return this._scalesProperties.fontSize.value()}isEmpty(){return this._makeSureItIsValid(),0===this.m_height||!this.m_priceRange||this.m_priceRange.isEmpty()}priceToCoordinate(e,t){return this.isPercentage()?e=p(e,t):this.isIndexedTo100()&&(e=m(e,t)),this._logicalToCoordinate(e,t)}pointsArrayToCoordinates(e,t){this._makeSureItIsValid();var i=this.bottomPixelMargin(),s=this.priceRange().minValue(),r=this.priceRange().maxValue(),n=this.internalHeight()-1,o=this.isInverted(),a=n/(r-s);if(this.isPercentage())for(var l=0;l'},"2+aH":function(e,t,i){"use strict";i.r(t);var s=i("Eyy1"),r=i("aO4+"),n=i("fgLi"),o=i("hY0g"),a=i.n(o),l=i("HGP3"),c=i("KcY8");class h extends c.a{constructor(e,t,i){super(),this._source=e,this._priceScale=t,this._priceProvider=i}setHitTestData(e){this._hitTestData=e}additionalPadding(e){return 0}_updateRendererData(e,t,i){e.visible=!1,t.visible=!1;const s=this._priceScale.mainSource(),r=null!==s?s.firstValue():null;if(!this._isVisible()||this._priceScale.isEmpty()||null===r)return;const n=this._priceProvider(this._priceScale);if(null===n)return;i.background=this._bgColor(),i.textColor=this.generateTextColor(i.background);const o=this.additionalPadding(this._priceScale.fontSize());i.additionalPaddingTop=o,i.additionalPaddingBottom=o,i.coordinate=this._priceScale.priceToCoordinate(n,r),e.text=this._priceScale.formatPrice(n,r),e.visible=!0,t.visible=!0,t.hitTestData=this._hitTestData}}const u={normalBgColor:l.a["color-cold-gray-750"],hoveredBgColor:l.a["color-cold-gray-600"]},d={normalBgColor:l.a["color-cold-gray-900"],hoveredBgColor:l.a["color-cold-gray-650"]};class p extends h{additionalPadding(e){return 2/12*e}_isVisible(){return this._source.visible&&null!==this._source.pane}_bgColor(){return this._getThemedColors().normalBgColor}_updateRendererData(e,t,i){const s=t.visible;super._updateRendererData(e,t,i),this._source.isHovered()?t.backgroung=this._getThemedColors().hoveredBgColor:t.backgroung=void 0,s||(t.visible=s)}_getThemedColors(){return this._source.model().isDark()?u:d}}class _ extends h{_isVisible(){return null!==this._source.measurePane()}_bgColor(){ -return this._source.model().isDark()?"#1E88E5":"#2196F3"}}var m=i("mMWL"),f=(i("YFKU"),i("FQhm")),g=i("KtbP"),v=i("JWMC"),b=(i("7KDR"),i("5VQP")),S=(i("Kxc7"),i("/tGj"));function y(e){const t=e.priceScale();return null===t?0:t.isPercentage()||t.isIndexedTo100()?2:1}class w extends g.PanePriceAxisView{constructor(e,t,i,s,r){super(e,t,s),this._crossHairMenuCachedState=null,this._hasActions=!1,this._tooltipText=null,this._gaOrigin="CH menu",this._crosshairPriceAxisView=e,e.setPaneRendererLabelIcon(0),this._crosshair=t,this._scale=i,this._options=r}_updateImpl(e,t){super._updateImpl(e,t);const i=this._crosshair.y,s=this._chartModel.properties().scalesProperties.fontSize.value(),r=this._chartModel.timeScale().width(),n=this._crosshair.model().priceAxisRendererOptions(),o=s+2*this._crosshairPriceAxisView.additionalPadding(s)+n.paddingTop+n.paddingBottom,a=o,l=i-o/2,c=r-a,h=this._crosshair.pane,u=this._mainDataSourceOnPane(),d=u&&u.symbolSource(),p=!!d&&(d.isConvertedToOtherCurrency()||d.isConvertedToOtherUnit());if(null!==u){const e=y(u),t=u.idForAlert(),i=this._crossHairMenuCachedState;null!==i&&i.id===t&&i.priceScale===e&&i.isCurrencyOrUnitConverted===p||(this._updateTooltipAndActionsAvaliability(u,e,p),this._crossHairMenuCachedState={id:t,priceScale:e,isCurrencyOrUnitConverted:p})}const _=null!==u&&Object(S.isSymbolSource)(u)?u.symbol():null,m=Boolean(_)||!1;this._crosshairPriceAxisView.setPaneLabelVisible(m);const f=null!==h&&0!==h.leftPriceScales().length&&m,g=null!==h&&0!==h.rightPriceScales().length&&m,v=r-a/2,b=this._tooltipText?{text:this._tooltipText,rect:{x:v,y:l,w:0,h:0}}:void 0;this._data={left:f,right:g,xl:0,xr:c,y:l,containerWidth:a,containerHeight:o,clickHandler:this._handleClick.bind(this),tooltip:b},this._crosshairPriceAxisView.setHitTestData(this._data)}_priceScale(){return this._scale}_updateTooltipAndActionsAvaliability(e,t,i){this._tooltipText=null,this._hasActions=!1;if(!(1===t))return;const s=!i&&!1;let r=0;s&&r++;let n=0;1===r&&(s?(n=1,this._tooltipText=window.t("Add Alert")):this._tooltipText=window.t("Add Horizontal Line")),this._crosshairPriceAxisView.setPaneRendererLabelIcon(n),this._hasActions=0!==r}_handleClick(e,t,i){Object(v.trackEvent)(this._gaOrigin,"click");const s=this._mainDataSourceOnPane(),r=null!==s&&Object(S.isSymbolSource)(s)?s.symbol():null,n={pageX:i.pageX,pageY:i.pageY,clientX:i.clientX,clientY:i.clientY,screenX:i.screenX,screenY:i.screenY,price:this._crosshair.price,symbol:r};f.emit("onPlusClick",n)}_getMenuItems(e){return Promise.resolve([])}_createAlertMenuItems(e){return Promise.resolve([])}_createTradingMenuItems(){return Promise.resolve([])}_createAddHorizontalLineMenuItem(){return[]}_getActionAddAlert(e){return null}_getActionAddHorizontalLine(e){return null}_getValue(e,t){const i=e.priceScale(),s=e.firstValue();if(null===i||null===s)return null;return i.isPercentage()||i.isIndexedTo100()?null:i.coordinateToPrice(t,s)}_formatValue(e,t){return t.formatter().format(e)}_addAlert(e,t){}_addHorizontalLineTool(e,t){}_showContextMenu(e,t,i,r){const n="left"===r;setTimeout(()=>{ -b.ContextMenuManager.createMenu(e).then(e=>{e.show((e,t)=>{const r=Object(s.ensureDefined)(this._data),o=Object(s.ensureNotNull)(i.view).innerHeight,a=n?r.xl:r.xr,l=i.localX-a,c={left:i.clientX-l,right:i.clientX-l+r.containerWidth,top:i.clientY-r.containerHeight/2,bottom:i.clientY+r.containerHeight/2};return{clientX:n?c.left:c.right-e,clientY:o=0&&Object(I.drawVerticalLine)(e,n,0,l),r&&o>=0&&Object(I.drawHorizontalLine)(e,o,0,a),this._data.drawCenter&&(e.beginPath(),e.arc(n,o,Math.round(3*i),0,2*Math.PI,!0),e.fillStyle=this._data.color,e.fill()),e.restore()}}var O=i("CW80");class A{constructor(e,t,i){this._rendererData={},this._renderer=new L(this._rendererData),this._source=e,this._pane=t,this._horzVisible=i}update(){}renderer(e,t){const i=this._source.visible&&this._source.areLinesVisible&&!this._source.linesShouldBeHidden(),s=Object(m.lockTimeAxis)().value(),r=this._rendererData;if(!i||null===this._pane)return null;r.horzLinesVisible=i&&this._horzVisible,r.vertLinesVisible=i||s;const n=this._source.model(),o=this._source.properties(),a=this._source.selectBarMode().value()&&this._source.isOnHoveredChartWidget(),l=n.currentTool(),c=Object(x.lastEventIsTouch)()&&(Object(O.isLineToolName)(l)||Object(m.toolIsMeasure)(l))&&!a;let h;h=c?n.isDark()?"#1E88E5":"#2196F3":o.childs().color.value();const u=o.childs().transparency.value();return!c&&u>0&&(h=Object(C.generateColor)(h,u)),r.color=h,r.lineWidth=o.childs().width.value(),r.lineStyle=o.childs().style.value(),r.drawCenter=c&&this._pane===this._source.pane,r.w=this._pane.width(),r.h=this._pane.height(),r.x=void 0!==this._source.lockedX&&isFinite(this._source.lockedX)&&this._source.lockedX||this._source.x,r.y=this._source.y,a&&(r.vertLinesVisible=!0,r.lineStyle=P.LINESTYLE_SOLID,r.lineWidth=2,r.color="#ff0000"),this._renderer}}var E=i("IjC5");class k{constructor(e){this._renderer=new E.RectangleRenderer,this._rectangle=null,this._crosshair=e}update(){const e=this._crosshair.selection();null!==e&&null!==this._crosshair.pane?this._rectangle=this._crosshair.pane.logicalRectToPixels(e):this._rectangle=null}renderer(e,t){if(!this._rectangle)return null;const i=this._crosshair.model().isDark(),s={ -backcolor:i?"rgba(21, 101, 192, 0.3)":"rgba(33, 150, 243, 0.3)",color:i?"rgba(21, 101, 192, 0.8)":"rgba(33, 150, 243, 0.8)",fillBackground:!0,linewidth:1,points:[this._rectangle.min,this._rectangle.max],extendLeft:!1,extendRight:!1};return this._renderer.setData(s),this._renderer}}var D=i("Ialn"),V=i("GH0z"),B=i("5C6T"),R=i("nda6"),N=i("pJOz"),j=i("qgcf"),F=i("Zy3/"),W=i("a7Ha"),H=i("zDbI");const z=window.t("{0} bars"),U=new R.TimeSpanFormatter;class G{constructor(e,t){this._pipFormatter=null,this._lastSymbolInfo=null,this._horzTrenRenderer=new N.TrendLineRenderer,this._vertTrenRenderer=new N.TrendLineRenderer,this._bgRenderer=new E.RectangleRenderer,this._labelRenderer=new j.TextRenderer,this._p1=null,this._p2=null,this._label=null,this._source=e,this._pane=t}update(){const[e,t]=this._source.measurePoints();if(void 0===t)return this._p1=null,void(this._p2=null);const i=Object(s.ensureNotNull)(this._source.measurePane()),n=e.price,o=t.price,a=t.price-n,l=t.index-e.index,c=Object(D.forceLTRStr)(""+l),h=Object(s.ensureNotNull)(i.mainDataSource());let u=Object(s.ensureNotNull)(h.formatter()).format(a);if(Math.abs(n)>1e-8){const e=a/Math.abs(n);u+=" ("+(new V.PercentageFormatter).format(100*e)+")"}const d=Object(D.forceLTRStr)(u);this._label=d+"\n"+z.format(c);const p=Object(s.ensureNotNull)(h.firstValue()),_=this._source.model().timeScale().indexToCoordinate(e.index),m=this._source.model().timeScale().indexToCoordinate(t.index),f=i.defaultPriceScale().priceToCoordinate(n,p),g=i.defaultPriceScale().priceToCoordinate(o,p);this._p1=new r.Point(_,f),this._p2=new r.Point(m,g);const v=this._source.model().timeScale().indexToUserTime(e.index),b=this._source.model().timeScale().indexToUserTime(t.index);let S=null;if(null!==v&&null!==b){const e=this._pane.model().mainSeries().symbolInfo();null!==e&&e!==this._lastSymbolInfo&&(this._pipFormatter=new B.PipFormatter(e.pricescale,e.minmov,e.type,e.minmove2),this._lastSymbolInfo=e),S=(b.valueOf()-v.valueOf())/1e3}const y=this._pipFormatter?this._pipFormatter.format(a):null,w=null!==y?" , "+y:"",C=null!==S?U.format(S):null,x=null!==C?", "+Object(D.startWithLTR)(C):"";this._label=Object(D.forceLTRStr)(d+w)+"\n"+z.format(c)+x;const T=o=50?W.LineEnd.Arrow:W.LineEnd.Normal};this._horzTrenRenderer.setData(s)}{const e=Math.round(O.x),t=new r.Point(e,this._p1.y),i=new r.Point(e,this._p2.y),s={points:[t,i],color:M,linewidth:1,linestyle:P.LINESTYLE_SOLID,extendleft:!1,extendright:!1,leftend:W.LineEnd.Normal,rightend:Math.abs(t.y-i.y)>=50?W.LineEnd.Arrow:W.LineEnd.Normal} -;this._vertTrenRenderer.setData(s)}const A={x:0,y:10},E=.5*(this._p1.x+this._p2.x),k=this._p2.y,R=new r.Point(E,k),N=(F=Object(s.ensureNotNull)(this._label),{points:[R],text:F,color:"#FFFFFF",horzAlign:"center",vertAlign:"middle",font:H.CHART_FONT_FAMILY,offsetX:A.x,offsetY:A.y,bold:!1,italic:!1,fontsize:12,padding:8,highlightBorder:!1,backgroundColor:I,backgroundTransparency:10,backgroundVertInflate:5,backgroundHorzInflate:5,backgroundRoundRect:4});var F;this._labelRenderer.setData(N);const G=this._labelRenderer.measure(),q=Object(j.calculateLabelPosition)(G,this._p1,this._p2,A,this._pane.height());this._labelRenderer.setPoints([q])}renderer(){if(null===this._p1||null===this._p2)return null;const e=new F.CompositeRenderer;return e.append(this._bgRenderer),e.append(this._horzTrenRenderer),e.append(this._vertTrenRenderer),e.append(this._labelRenderer),e}}var q=i("cPgM");class Y extends q.ScaledPaneRenderer{constructor(e){super(),this._data=e}hitTest(e){return null}_drawImpl(e){e.translate(this._data.x-this._data.width/2,this._data.y-this._data.height/2),e.strokeStyle="rgba(153,153,153,.3)",e.lineWidth=2,e.beginPath(),this._drawShackle(e),e.stroke(),e.closePath(),e.strokeStyle="rgba(153,153,153,.7)",e.lineWidth=1,e.beginPath(),e.rect(0,this._data.height-this._data.bodyHeight+.5,this._data.width,this._data.bodyHeight),e.closePath(),e.stroke(),e.translate(0,-1),e.strokeStyle="#777",e.beginPath(),this._drawShackle(e),e.stroke(),e.closePath(),e.fillStyle="rgba(255,255,255,.7)",e.beginPath(),e.rect(1,this._data.height-this._data.bodyHeight+1.5,this._data.width-2,this._data.bodyHeight-2),e.fill(),e.beginPath(),e.rect(.5,this._data.height-this._data.bodyHeight+1,this._data.width-1,this._data.bodyHeight-1),e.stroke(),e.closePath(),e.fillStyle="#777",e.fillRect(this._data.width/2-.5,this._data.height-this._data.bodyHeight/2,1,2)}_drawShackle(e){const t=(this._data.width-3)/2,i=this._data.height-this._data.bodyHeight;e.moveTo(1.5,t),e.arc(this._data.width/2,t,t,Math.PI,2*Math.PI),i>t&&(e.moveTo(1.5,t),e.lineTo(1.5,i),e.moveTo(this._data.width-1.5,t),e.lineTo(this._data.width-1.5,i))}}class K{constructor(e,t,i){this._horzVisible=!1,this._source=e,this._pane=t,this._axis=i||"x"}update(){}renderer(e,t){const i=this._source.visible&&this._source.areLinesVisible,r=Object(m.lockTimeAxis)().value(),n=i&&this._horzVisible,o=i||r;if("y"===this._axis&&!n||!o)return null;const a="y"===this._axis?this._pane.width()-4.5:Object(s.ensureDefined)(this._source.lockedX)+1,l="y"===this._axis?this._source.y:this._pane.height()-5.5-1;return new Y({x:a,y:l,width:9,height:11,bodyHeight:7})}}var J=i("qFKp"),Z=i("aIyQ"),X=i.n(Z),$=i("GDWD"),Q=i("ivNn"),ee=i("4miz");const te=window.t("n/a");class ie extends ee.b{constructor(e){super(),this._invalidated=!0,this._dateItem=new ee.a(window.t("Date"),""),this._timeItem=new ee.a(window.t("Time"),""),this._model=e,this._items.push(this._dateItem),this._items.push(this._timeItem)}update(){this._invalidated=!0}items(){return this._invalidated&&(this._updateImpl(),this._invalidated=!1),this._items}_updateImpl(){ -const e=this._model.mainSeries().isDWM();if(this._timeItem.setVisible(!e),this._timeItem.setValue(te),this._dateItem.setValue(te),this._model.timeScale().isEmpty())return;let t=this._model.crossHairSource().appliedIndex();if(!Object(Q.isNumber)(t)){const e=this._model.mainSeries().data().last();if(null===e)return;t=e.index}const i=this._model.timeScale().indexToUserTime(t);null!==i&&(this._dateItem.setValue(this._model.dateFormatter().format(i)),e||this._timeItem.setValue(this._model.timeFormatter().format(i)))}}var se=i("cgFQ");class re extends se.a{constructor(e,t,i=!1){super(e),this._indexProvider=t,this._highlighted=i}_getBgColor(){const e=this._model.isDark();return this._highlighted?e?"#1E88E5":"#2196F3":e?l.a["color-cold-gray-750"]:l.a["color-cold-gray-900"]}_getIndex(){return this._model.crossHairSource().visible?this._indexProvider():null}}i.d(t,"Crosshair",(function(){return oe}));const ne={menuEnabled:!1,menuForMainSourceOnly:!1,disableTradingMenuActions:!1,disableDrawHorizLineMenuAction:!1};class oe extends n.DataSource{constructor(e,t,i){super(),this.pane=null,this.price=NaN,this.index=NaN,this.visible=!0,this.areLinesVisible=!0,this.x=NaN,this.y=NaN,this._measuringStarted=new X.a,this._measurePane=null,this._startMeasurePoint=null,this._endMeasurePoint=null,this._lastValidMeasurePoint=null,this._isOnHoveredChartWidget=!1,this._selectBarMode=new a.a(!1),this._selectionPane=null,this._selectionView=new k(this),this._selectionStartPoint=null,this._measurePaneView=null,this._timeLockPaneView=null,this._priceAxisViews=new Map,this._panePriceAxisViews=new Map,this._startMeasurePriceAxisViews=new Map,this._endMeasurePriceAxisViews=new Map,this._originX=NaN,this._originY=NaN,this._subscribed=!1,this._movedDelegate=new X.a,this._barSelectedDelegate=new X.a,this._model=e,this._options=Object.assign({},ne,i||{}),this._linesShouldBeHidden=this._model.readOnly(),this._dataWindowView=new ie(e),this.setSelectionEnabled(!1);const r=e=>t=>t===Object(s.ensureNotNull)(this._measurePane).defaultPriceScale()?e():null;this._currentPosPriceProvider=e=>{const t=Object(s.ensureNotNull)(this.pane);if(e===t.defaultPriceScale())return this.price;const i=Object(s.ensureNotNull)(t.defaultPriceScale().mainSource()).firstValue();if(null===i)return null;const r=t.defaultPriceScale().priceToCoordinate(this.price,i),n=Object(s.ensureNotNull)(e.mainSource()).firstValue();return null===n?null:e.coordinateToPrice(r,n)},this._startMeasurePriceProvider=r(()=>Object(s.ensureNotNull)(this._startMeasurePoint).price),this._endMeasurePriceProvider=r(()=>Object(s.ensureNotNull)(this._lastMeasurePoint()).price),this._properties=t;this._timeAxisView=new re(e,()=>this.appliedIndex(),!1),this._startMeasureTimeAxisView=new re(e,()=>Object(s.ensureNotNull)(this._startMeasurePoint).index,!0),this._endMeasureTimeAxisView=new re(e,()=>Object(s.ensureNotNull)(this._lastMeasurePoint()).index,!0),e.readOnly()||m.cursorTool.subscribe(e=>this.areLinesVisible="arrow"!==e,{callWithLast:!0})}moved(){return this._movedDelegate}originX(){return this._originX} -originY(){return this._originY}saveOriginCoords(e,t){this._originX=e,this._originY=t}clearOriginCoords(){this._originX=NaN,this._originY=NaN}currentPoint(){return new r.Point(this.x,this.y)}model(){return this._model}appliedIndex(){return Number.isFinite(this.lockedIndex)&&this.lockedIndex||this.index}startMeasurePoint(){return this._startMeasurePoint||null}endMeasurePoint(){return this._endMeasurePoint||null}measurePane(){return this._measurePane||null}startMeasuring(e,t){this._startMeasurePoint=e,this._measurePane=t,this._measuringStarted.fire()}finishMeasure(e){this._endMeasurePoint=e}clearMeasure(){delete this._measurePane,delete this._startMeasurePoint,delete this._endMeasurePoint,delete this._lastValidMeasurePoint,this._model.lightUpdate()}measuringStarted(){return this._measuringStarted}measurePoints(){this.updateAllViews();const e=[Object(s.ensureNotNull)(this._startMeasurePoint)],t=this._lastMeasurePoint();return null!==t&&e.push(t),e}startSelection(e){this._selectionStartPoint=this.currentLogicalPoint(),this._selectionPane=e}clearSelection(){this._selectionStartPoint=null,this._selectionPane=null}selection(){return this._selectionStartPoint?{p1:this._selectionStartPoint,p2:this.currentLogicalPoint()}:null}currentLogicalPoint(){return{index:this.appliedIndex(),price:this.price}}selectBarMode(){return this._selectBarMode}toggleSelectBarMode(){this._setSelectBarModeState(!this._selectBarMode.value())}onBarSelected(){return this._barSelectedDelegate}trySelectCurrentBar(){if(!this._model.mainSeries().bars().contains(this.index))return;const e=this._model.timeScale().indexToTimePoint(this.index);null!==e&&(this._setSelectBarModeState(!1),this._barSelectedDelegate.fire(e))}isOnHoveredChartWidget(){return this._isOnHoveredChartWidget}setOnHoveredChartWidget(e){this._isOnHoveredChartWidget=e}clearPosition(){this.visible=!1,this.index=NaN,this.price=NaN,this.x=NaN,this.y=NaN,this.pane=null,this.clearOriginCoords()}setPosition(e,t,i){return this._subscribed||(this._model.mainSeries().onRestarted().subscribe(this,this.clearMeasure),this._subscribed=!0),this.setLockedPosition(i),this.visible=!0,this._tryToUpdateViews(e,t,i)}setLinesShouldBeHidden(e){this._linesShouldBeHidden=e}linesShouldBeHidden(){return this._linesShouldBeHidden}handleContextMenuEvent(e){this._selectBarMode.value()&&this._setSelectBarModeState(!1)}properties(){return this._properties}priceAxisViews(e,t){const i=[];return this._selectBarMode.value()&&this._isOnHoveredChartWidget||this.pane!==e||i.push(this._createPriceAxisViewOnDemand(this._priceAxisViews,this._panePriceAxisViews,e,t,this._currentPosPriceProvider,p,!0)[0]),this._startMeasurePoint&&i.push(this._createPriceAxisViewOnDemand(this._startMeasurePriceAxisViews,null,e,t,this._startMeasurePriceProvider,_)[0]),this._lastMeasurePoint()&&i.push(this._createPriceAxisViewOnDemand(this._endMeasurePriceAxisViews,null,e,t,this._endMeasurePriceProvider,_)[0]),i}timeAxisViews(){const e=[];return this._linesShouldBeHidden||!this.visible&&!Object(m.lockTimeAxis)().value()||e.push(this._timeAxisView), -this._startMeasurePoint&&e.push(this._startMeasureTimeAxisView),this._lastMeasurePoint()&&e.push(this._endMeasureTimeAxisView),e}paneViews(e){if(void 0===e)return null;const t=this._selectBarMode.value()&&this._isOnHoveredChartWidget,i=e===this.pane&&!t,s=[new A(this,e,i)];if(e===this._selectionPane&&s.push(this._selectionView),e===this._measurePane&&(null===this._measurePaneView&&(this._measurePaneView=new G(this,e)),this._measurePaneView.update(),s.push(this._measurePaneView)),$.addPlusButtonProperty.value()){const i=e===this.pane,r=!J.CheckMobile.any()||window.screen.width>=320,n=m.tool.value(),o=Object(O.isLineToolName)(n),a=this._model.customSourceMovingHitTestData(),l=null!==this._model.lineBeingEdited()||null!==this._model.lineBeingCreated()||this._model.sourcesBeingMoved().length>0||null!==a&&a.beingMoved||Object(m.toolIsMeasure)(n);if(i&&this._isOnHoveredChartWidget&&!t&&r&&!o&&!l){const t=e.mainDataSource();if(null!==t){const i=t.priceScale();if(null!==i){const t=this._createPriceAxisViewOnDemand(this._priceAxisViews,this._panePriceAxisViews,e,i,this._currentPosPriceProvider,p,!0)[1];null!==t&&s.push(t)}}}}return Object(m.lockTimeAxis)().value()&&(null===this._timeLockPaneView&&(this._timeLockPaneView=new K(this,e)),s.push(this._timeLockPaneView)),s}dataWindowView(){return this._dataWindowView}updateAllViews(){this._priceAxisViews.forEach(e=>{e.forEach(e=>e.update())}),this._panePriceAxisViews.forEach(e=>{e.forEach(e=>e.update())}),this._startMeasurePoint&&(this._startMeasurePriceAxisViews.forEach(e=>{e.forEach(e=>e.update())}),this._startMeasureTimeAxisView.update()),this._lastMeasurePoint()&&(this._endMeasurePriceAxisViews.forEach(e=>{e.forEach(e=>e.update())}),this._endMeasureTimeAxisView.update()),this._timeAxisView.update(),this._selectionView.update(),this._dataWindowView.update()}setLockedPosition(e){delete this.lockedIndex,delete this.lockedX,e!==this._measurePane&&Object(m.lockTimeAxis)().value()&&(this.lockedIndex=this._model.timeScale().points().roughIndex(m.lockTimeAxisTime.value()),null!==this.lockedIndex&&(this.lockedX=this._model.timeScale().indexToCoordinate(this.lockedIndex)))}isMenuEnabled(){return this._options.menuEnabled}isHoveredEnabled(){return $.addPlusButtonProperty.value()}isHovered(){return this._model.hoveredSource()===this}_lastMeasurePoint(){return this._endMeasurePoint?this._endMeasurePoint:(null!==this.pane&&this._measurePane===this.pane&&(this._lastValidMeasurePoint={price:this._model.magnet().align(this.price,this.index,this.pane),index:this.index}),this._lastValidMeasurePoint||null)}_createPriceAxisViewOnDemand(e,t,i,r,n,o,a=!1){let l=e.get(i),c=null!==t?t.get(i):void 0;void 0===l&&(l=new Map,e.set(i,l),this._options.menuEnabled&&null!==t&&(c=new Map,t.set(i,c)),a&&i.onDestroyed().subscribe(this,()=>this._onPaneDestroyed(i)));let h=l.get(r);if(void 0===h){if(h=new o(this,r,n),l.set(r,h),void 0!==c){const e=new w(h,this,r,this._model,this._options);c.set(r,e)}a&&r.lastSourceRemoved().subscribe(this,()=>this._onPriceScaleCleared(r))}let u=null -;return void 0!==c&&(u=Object(s.ensureDefined)(c.get(r))),[h,u]}_onPaneDestroyed(e){e.onDestroyed().unsubscribeAll(this),this._priceAxisViews.delete(e),this._panePriceAxisViews.delete(e),this._startMeasurePriceAxisViews.delete(e),this._endMeasurePriceAxisViews.delete(e)}_onPriceScaleCleared(e){e.lastSourceRemoved().unsubscribeAll(this),this._priceAxisViews.forEach(t=>t.delete(e)),this._panePriceAxisViews.forEach(t=>t.delete(e)),this._startMeasurePriceAxisViews.forEach(t=>t.delete(e)),this._endMeasurePriceAxisViews.forEach(t=>t.delete(e))}_tryToUpdateViews(e,t,i){if(this._tryToUpdateData(e,t,i)){this.updateAllViews();const e=this._model.timeScale().points().roughTime(this.index);return null!==e&&this._movedDelegate.fire({time:e,price:this.price}),!0}return!1}_tryToUpdateData(e,t,i){const r=this.x,n=this.y,o=this.price,a=this.index,l=this.pane,c=this._priceScaleByPane(i);if(this.index=e,this.x=isNaN(e)?NaN:this._model.timeScale().indexToCoordinate(e),null!==c&&null!==i){this.pane=i,this.price=t;const e=Object(s.ensureNotNull)(i.mainDataSource()).firstValue();this.y=null===e?NaN:c.priceToCoordinate(t,e)}else this.pane=null,this.price=NaN,this.y=NaN;return r!==this.x||n!==this.y||a!==this.index||o!==this.price||l!==this.pane}_priceScaleByPane(e){return e&&!e.defaultPriceScale().isEmpty()?e.defaultPriceScale():null}_setSelectBarModeState(e){this._selectBarMode.setValue(e),this._model.lightUpdate()}}},"22xp":function(e,t,i){"use strict";i.r(t);var s=i("Eyy1"),r=(i("YFKU"),i("9uLv")),n=i("txPx"),o=i("//lZ"),a=i("aIyQ"),l=i.n(a),c=i("Kxc7"),h=i("Hr11"),u=i("ogJP"),d=i("FIi8"),p=i("ZJKN");class _{constructor(e,t){Object(s.assert)(e<=t,"The left value should be greater than or equal to the right value"),this._left=e,this._right=t}left(){return this._left}right(){return this._right}length(){return this._right-this._left+1}contains(e){return this._left<=e&&e<=this._right}equals(e){return this._left===e.left()&&this._right===e.right()}static compare(e,t){return null===e||null===t?e===t:e.equals(t)}}const m=Object(n.getLogger)("Chart.TimePoints");class f{constructor(){this._zoffset=0,this._items=[]}clear(){this._zoffset=0,this._items=[]}size(){return this._items.length}firstIndex(){return this._offsetToIndex(0)}lastIndex(){return this._offsetToIndex(this._items.length-1)}merge(e,t,i){if(0===i.length)return m.logError("merge: 'values' does not contain any time points"),[];if(t>this._zoffset&&e+t>0)return m.logError("merge: when the first time point index is updated, we should fill the time points starting from the first one"),[];if(0===this._items.length)return this._items=i,this._zoffset=t,[{change:"rebuild",index:this._validOffsetToIndex(0)}];const s=e+this._zoffset;if(s<0){const r=Math.abs(s);if(i.lengththis._items.length){const e=o-this._items.length;for(let t=n;tthis._items[this._items.length-1])return t?this._validOffsetToIndex(this._items.length-1):null;for(let i=0;io){const i=e-o;if(i<500&&null!=t)return t(l,i);return l+i*c}return null}roughIndex(e,t=null){const i=this._items;if(!i.length||i.length<2)return null;const s=i.length-1,r=this._validOffsetToIndex(0),n=this._validOffsetToIndex(s),o=i[0],a=i[s];if(e>=o&&e<=a)return this.closestIndexLeft(e);const l=(a-o)/(n-r);if(ea){const i=e-a;let s=Math.trunc(i/l);if(s<500&&null!==t){const i=t(a,e);i.success&&(s=i.result)}return n+s}return null}closestIndexLeft(e){const t=this._items;if(!t.length)return null;if(Number.isNaN(e))return null;let i=t.length-1;if(e>=t[i])return this._validOffsetToIndex(i);let s=0;const r=t[s];if(es+1;){const r=s+i>>1,n=t[r];if(n>e)i=r;else{if(!(n{this.setRightOffset(e.value())}),this._options.preserveBarSpacing&&(this._barSpacing=this._scalesProperties.childs().barSpacing.value()||6),this._barSpacingChanged.subscribe(this,this._maxRightOffsetOnChanged),this._widthChanged.subscribe(this,this._maxRightOffsetOnChanged)}destroy(){this._barSpacingChanged.unsubscribeAll(this),this._barSpacingChanged.destroy(),this._widthChanged.unsubscribeAll(this),this._widthChanged.destroy()}isEmpty(){return 0===this._width||0===this._points.size()}update(e,t,i,s){this._visibleBarsInvalidated=!0,i.length>0&&this._points.merge(e,t,i),this._tickMarks.merge(s),this._correctOffset()}addTail(e,t,i){this._tickMarks.removeTail(t);const r=e.params,n=Object(s.ensureDefined)(this._tickMarks.maxIndex)+(i?0:1);for(let s=0;s0&&(i*=this._width/e.width)),this._tryToUpdateBarSpacing(this._barSpacing,i),this._correctOffset()}marks(){if(this.isEmpty())return null;const e=this._barSpacing,t=5*((this._scalesProperties.childs().fontSize.value()||0)+4),i=Math.round(t/e),r=Object(s.ensureNotNull)(this.visibleBarsStrictRange()),n=Math.max(r.firstBar(),r.firstBar()-i),o=Math.max(r.lastBar(),r.lastBar()-i),a=this._tickMarks.build(e,t),l=[];for(const s of a){if(!(n<=s.index&&s.index<=o))continue;const e=this._tickMarks.indexToTime(s.index);null!==e&&l.push({coord:this.indexToCoordinate(s.index),label:this.formatLabel(e,s.span),span:s.span,major:s.label>=C.DAY_SPAN})}return l}visibleBarsStrictRange(){return this._visibleBarsInvalidated&&(this._visibleBarsInvalidated=!1,this._updateVisibleBars()),this._visibleBars.strictRange()}visibleBarsStrictRangeChanged(){return this._visibleBarsChanged}logicalRangeChanged(){return this._logicalRangeChanged}tickMarks(){return this._tickMarks}points(){return this._points}width(){return this._width}setWidth(e,t){if(!Number.isFinite(e)||e<=0)L.logWarn("setWidth: invalid argument: "+e);else if(this._width!==e){if(this._visibleBarsInvalidated=!0,(t||this._options.lockVisibleTimeRangeOnResize)&&this._width){const t=this._barSpacing*e/this._width;this._tryToUpdateBarSpacing(this._barSpacing,t)}if(null!==this._leftEdgeIndex){if(Object(s.ensureNotNull)(this.visibleBarsStrictRange()).firstBar()<=this._leftEdgeIndex){const t=this._width-e;this._rightOffset-=Math.round(t/this._barSpacing)+1}}this._width=e,this._widthChanged.fire(e),this._correctOffset(),this._requestMoreData()}}setLeftEdgeFix(e){this._leftEdgeIndex=e;const t=this.visibleBarsStrictRange();if(null===t)return;const i=t.firstBar()-e;if(i<0){const e=this._rightOffset-i-1;this.scrollToOffsetAnimated(e,500)}}indexToCoordinate(e){if(this.isEmpty())return 0;if(!Object(u.isInteger)(e))return 0;const t=this.baseIndex()+this._rightOffset-e;return this._width-(t+.5)*this._barSpacing-1}indexToUserTime(e){return this._tickMarks.indexToTime(e)}timePointToIndex(e){return this._points.indexOf(e,!0)}indexToTimePoint(e){return this._points.valueAt(e)}timeToCoordinate(e){const t=this._points.closestIndexLeft(e);if(null===t)return null -;const i=Object(s.ensureNotNull)(this._points.valueAt(t)),r=this.indexToCoordinate(t);if(r<=0||r>=this._width)return null;const n=this.barSpacing(),o=this.baseIndex(),a=r+(e-i)/(Object(s.ensureNotNull)(this._points.valueAt(o))-Object(s.ensureNotNull)(this._points.valueAt(o-1)))*n+1;return a<=0||a>=this._width?null:a}barIndexesToCoordinates(e){const t=this.baseIndex();for(const i of e){const e=i.time,s=t+this._rightOffset-e,r=this._width-(s+.5)*this._barSpacing-1;i.time=r,i.exactTime=r}}timedValuesToCoordinates(e){const t=this.baseIndex()+this._rightOffset,i=this._width-t*this._barSpacing-.5*this._barSpacing-1;for(const s of e)s.x=i+s.x*this._barSpacing}indexesToCoordinates(e,t){if(this.isEmpty())return;void 0===t&&(t=e.length);const i=this.baseIndex()+this._rightOffset,s=this._width-i*this._barSpacing-.5*this._barSpacing-1,r=this._barSpacing,n=e;for(let o=0;o{void 0!==t&&t(),this._requestMoreData()};if(e){const e=this._rightOffset,t=this.maxRightOffset();t>0&&i>t&&(i=t);const n=this._model;Object(o.doAnimate)({from:e,to:i,duration:1e3,easing:r.easingFunc.easeInOutQuint,onComplete:s,onStep:(e,t)=>{this._visibleBarsInvalidated=!0,this._rightOffset=t,this._correctOffset(),n.recalculateAllPanes(),n.lightUpdate(),n.recalcVisibleRangeStudies()}})}else this._visibleBarsInvalidated=!0,this._rightOffset=i,this._correctOffset(),s()}scrollToOffsetAnimated(e,t){if(!isFinite(e))throw new RangeError("offset is required and must be finite number");const i=void 0===t?400:t;if(!isFinite(i)||i<=0)throw new RangeError("animationDuration (optional) must be finite positive number");const s=this._rightOffset,r=Date.now(),n=()=>{this._visibleBarsInvalidated=!0;const t=(Date.now()-r)/i;if(t>=1)return this._rightOffset=e,this._correctOffset(),this._visibleBarsInvalidated=!0,this._model.recalculateAllPanes(),void this._model.lightUpdate();this._rightOffset=s+(e-s)*t,this._correctOffset(),this._model.recalculateAllPanes(),setTimeout(n,20)};n()}defaultRightOffsetProperty(){return this._defaultRightOffsetProperty}rightOffsetDefaultValue(){return 10}barSpacing(){return this._barSpacing}setBarSpacing(e){Number.isFinite(e)?(e=this.getValidBarSpacing(e),this._tryToUpdateBarSpacing(this._barSpacing,e)&&(this._correctOffset(),this._options.preserveBarSpacing&&(Object(y.saveDefaultProperties)(!0),this._scalesProperties.childs().barSpacing.setValue(this._barSpacing),Object(y.saveDefaultProperties)(!1)))):L.logWarn("setBarSpacing: invalid argument: "+e)}barSpacingChanged(){return this._barSpacingChanged}getValidBarSpacing(e){return null==e&&(e=this.barSpacing()),ethis.maxBarSpacing()?this.maxBarSpacing():e}isValidBarSpacing(e){return e>=this.minBarSpacing()&&e<=this.maxBarSpacing()}preserveBarSpacing(){ -return this._options.preserveBarSpacing}normalizeBarIndex(e){let t=0,i=0;const r=this.baseIndex(),n=Object(s.ensureNotNull)(this._points.firstIndex());return er?(t=Object(s.ensureNotNull)(this._points.valueAt(r)),i=e-r):(t=Object(s.ensureNotNull)(this._points.valueAt(e)),i=0),{time_t:t,offset:i}}denormalizeTimePoint(e){const t=this._points.indexOf(e.time_t,!1);if(null!==t)return t+e.offset}rightOffset(){return this._rightOffset}minRightOffset(){const e=this.points().firstIndex(),t=this._baseIndex;if(null===e||null===t)return null;if(null!==this._leftEdgeIndex){const e=this.width()/this._barSpacing;return this._leftEdgeIndex-t+e-1}return e-t-1+I}maxRightOffset(){return this.width()/this._barSpacing-I}maxRightOffsetChanged(){return this._maxRightOffsetChanged}onReset(){return this._resetDelegate}scrollStartPoint(){return this._scrollStartPoint}baseIndex(){return this._baseIndex||0}zoom(e,t,i){if(!Number.isFinite(e)||!Number.isFinite(t))return void L.logWarn(`zoom: invalid arguments: ${e}, ${t}, ${i}`);const s=this.coordinateToIndex(e),r=this.barSpacing(),n=r+t*(r/10);this.setBarSpacing(n);(void 0!==i?!i:this._options.rightBarStaysOnScroll)||this.setRightOffset(this.rightOffset()-.5+(s-this._coordinateToFloatIndex(e))),this._requestMoreData()}zoomToBarsRange(e,t){if(t<=e)return;const i=this.baseIndex();this._rightOffset=t-i;const s=O.get(this._model.mainSeries().style())||.6,r=Math.max(t-e+s,I);this.setBarSpacing(this.width()/r),this._visibleBarsInvalidated=!0,this._requestMoreData()}coordinateToIndex(e){return Math.ceil(this._coordinateToFloatIndex(e))}canZoomIn(){return this.barSpacing()this._options.minBarSpacing}minBarSpacing(){return this._options.minBarSpacing}maxBarSpacing(){return M?this.width():50}resetRightOffset(){this.setRightOffset(this._defaultRightOffsetProperty.value())}reset(){this._visibleBarsInvalidated=!0,this._points=new f,this._scrollStartPoint=null,this._scaleStartPoint=null,this._clearCommonTransitionsStartState(),this._tickMarks.reset(),this._leftEdgeIndex=null,this._resetDelegate.fire(),this.disconnect()}disconnect(){this._requestingMoreData=!1,this._requestedTickmarksCount=0,this._endOfData=!1}setBaseIndex(e){Number.isFinite(e)?(this._visibleBarsInvalidated=!0,this._baseIndex=e,this._correctOffset()):L.logDebug("setBaseIndex: invalid argument: "+e)}setRightOffset(e){Number.isFinite(e)?(this._visibleBarsInvalidated=!0,this._rightOffset=e,this._correctOffset()):L.logWarn("setRightOffset: invalid argument: "+e)}correctBarSpacing(){this.isEmpty()||this.points().size()this.formatLabelImpl(e,t)),this._formattedBySpan.set(t,i)),i.format(new Date(e))}formatLabelImpl(e,t){if(!(e&&e instanceof Date))return"incorrect time";const i=this._model.mainSeries().isDWM();return te&&(this._rightOffset=e,this._visibleBarsInvalidated=!0);const t=this.minRightOffset();null!==t&&this._rightOffset]/g,r=e=>`&#${e.charCodeAt(0)};`;function n(e){return e.replace(s,r)}function o(e=""){return e.replace(/(<([^>]+)>)/gi,"")}function a(e=""){return e.replace(/\s+/g,"")}function l(e=""){return e.replace(/\b\w/g,e=>e.toUpperCase())}},"29fS":function(e,t,i){"use strict";i.r(t),i.d(t,"PaneRendererBars",(function(){return n}));var s=i("Zp/P"),r=i("ExCE");class n extends r.a{constructor(e){super(),this._bars=e.bars,this._barSpacing=e.barSpacing,this._dontDrawOpen=e.dontDrawOpen,this._thinBars=e.thinBars}draw(e,t){e.save();const i=t.pixelRatio;if(this._barWidth=this._calcBarWidth(i),this._barWidth>=2){Math.max(1,Math.floor(i))%2!=this._barWidth%2&&this._barWidth--}this._barLineWidth=this._thinBars?Math.min(this._barWidth,Math.floor(i)):this._barWidth;let s=null -;const r=this._barLineWidth<=this._barWidth&&this._barSpacing>=Math.floor(1.5*t.pixelRatio);for(const n of this._bars){s!==n.color&&(e.fillStyle=n.color,s=n.color);const t=Math.floor(.5*this._barLineWidth),o=Math.round(n.time*i),a=o-t,l=this._barLineWidth,c=a+l-1,h=Math.min(n.high,n.low),u=Math.max(n.high,n.low),d=Math.round(h*i)-t,p=Math.round(u*i)+t,_=Math.max(p-d,this._barLineWidth);e.fillRect(a,d,l,_);const m=Math.ceil(1.5*this._barWidth);if(r){const s=o-m,r=o+m,h=Math.min(a-s,r-c);if(!this._dontDrawOpen){let r=Math.max(d,Math.round(n.open*i)-t),o=r+l-1;o>d+_-1&&(o=d+_-1,r=o-l+1),e.fillRect(s,r,h,o-r+1)}let u=Math.max(d,Math.round(n.close*i)-t),p=u+l-1;p>d+_-1&&(p=d+_-1,u=p-l+1),e.fillRect(c+1,u,h,p-u+1)}}e.restore()}_getTolerance(){const e=this._calcBarWidth(1),t=this._thinBars?Math.min(e,1):e;return Object(s.interactionTolerance)().series+t/2}_getBarSpacing(){return this._barSpacing}_calcBarWidth(e){const t=Math.floor(e);return Math.max(t,Math.floor(Object(s.optimalBarWidth)(this._barSpacing,e)))}}},"2EnG":function(e,t,i){"use strict";i.r(t),i.d(t,"StandardPivotPointsImageCache",(function(){return n}));var s=i("ikwP"),r=i("Eyy1");class n{constructor(e,t,i,r){this._priceAxisFontSize=11,this._prices=[],this._labelWidth=0,this._paneRenderParams=e,this._recreateCanvasAndContext(new s.Size(0,0)),this.reset({font:t,fontSize:i,backColors:r})}destroy(){delete this._canvas,delete this._cache}canvas(){return this._canvas}reset(e){this._renderParams=e,this._prices=[],this._cache.font=e.fontSize+"px "+e.font,this._labelWidth=["P","S1","R1","S2","R2","S3","R3","S4","R4","S5","R5","/"].reduce((e,t)=>{const i=this._cache.measureText(t).width;return Math.max(i,e)},0)}rowHeight(){return this._priceAxisFontSize+4}labelRectByIndex(e){return{left:0,top:Math.round(this._topByIndex(e)),width:Math.round(this._labelWidth+4),height:Math.round(this._renderParams.fontSize+8)}}setPrices(e){let t=!1;const i=(e,t)=>{const i=void 0===e,s=void 0===t;return(!i&&!s||i===s)&&Object(r.ensureDefined)(e).formatted===Object(r.ensureDefined)(t).formatted};if(e.length!==this._prices.length)t=!0;else for(let s=0;s{this._cache.translate(.5,.5),this._cache.font=this._renderParams.fontSize+"px "+this._renderParams.font,this._cache.textBaseline="middle";for(let e=0;e0?_(e):function(e,t){return c.a.hasEodSymbols(e.full_name)||t===a.STATUS_EOD}(e,t)?(i.push("EOD"),i):i;var s}class f{constructor(e,t,i){this._dataUpdatedModeStatus=new n.a(null),this._symbolInfo=Object(o.a)(e.getter,e.onChange),this._status=Object(o.a)(t.getter,t.onChange),this._symbolInfo.subscribe(this._update.bind(this)),this._status.subscribe(this._update.bind(this)),this._resetSubscription=i,this._resetSubscription.subscribe(this,this._resetStatus)}destroy(){this._symbolInfo.destroy(),this._status.destroy(),this._resetSubscription.unsubscribeAll(this)}status(){return this._dataUpdatedModeStatus.readonly()}symbolName(){const e=this._symbolInfo.value();return null!==e?e.name:""}time(){const e=this._symbolInfo.value(),t=null!==e&&e.delay&&e.delay>0?e.delay:900;return Math.round(t/60)}listedExchange(){const e=this._symbolInfo.value();return null!==e?e.listed_exchange:""}async description(){const e=this._symbolInfo.value();if(null===e)return"";let t={};try{t=Object(s.ensureNotNull)(await async function(e){return null}())}catch(i){p.logWarn("Cannot get exchange "+Object(d.a)(i))}return t.description||e.listed_exchange}exchange(){const e=this._symbolInfo.value();return null!==e?e.exchange:""}_resetStatus(){this._dataUpdatedModeStatus.setValue(null)}_update(){const e=this._symbolInfo.value();if(null===e)return void this._dataUpdatedModeStatus.setValue(null);const t=this._status.value();if("string"==typeof t)return void this._dataUpdatedModeStatus.setValue(null);if(t===a.STATUS_LOADING||t===a.STATUS_RESOLVING)return;const i=m(e,t);0!==i.length?this._dataUpdatedModeStatus.setValue(i):this._dataUpdatedModeStatus.setValue(null)}}},"2WC2":function(e,t,i){"use strict";var s=i("Eyy1"),r=i("aO4+"),n=i("f6yo"),o=i("VdBB");function a(e,t,i){const s=e.get(t);return void 0!==s?s:(e.set(t,i),i)}function l(e,t,i,s){const r=a(e,t,new Map);return a(r,i,s)}class c{constructor(){this._map=new Map,this._size=0}size(){return this._size}clear(){this._map.clear(),this._size=0}}var h=i("gBDZ");class u extends c{constructor(e){super(),this._maxSize=e,this._keysQueue=[]}get(e){if(!e.text||!e.fontSize||!e.align)return null;const t=e.fontSize,i=e.text,s=e.align,r=l(this._map,t,s,new Map);let n=r.get(i);return void 0!==n||(this._size>=this._maxSize?this._deleteFirstKey():++this._size, -this._keysQueue.push([t,i,s]),n=new h.b(e.text,e.bold,e.italic,e.font,e.fontSize,e.align),r.set(i,n)),n}_deleteFirstKey(){const e=this._keysQueue.shift(),t=e[0],i=e[1],s=this._map.get(t);s.delete(i),0===s.size&&this._map.delete(t)}}var d=i("zDbI"),p=i("ikwP");i.d(t,"b",(function(){return _})),i.d(t,"c",(function(){return m})),i.d(t,"a",(function(){return f}));class _{constructor(e,t={skipRenderingOptimizations:!1}){this._height=void 0!==e.height?e.height:e.width,this._width=void 0!==e.width?e.width:e.height,this._items=[],this._barSpacing=0,this._textCache=t.textCache||new u(5e3),this._drawOperation=t.skipRenderingOptimizations?this._drawWithoutOptimizations.bind(this):this._drawWithOptimizations.bind(this),this._color=e.color,this._borderColor=e.borderColor,this._vertOffset=e.vertOffset||0,e.text&&(this._text=e.text,this._fontSize=e.fontSize,this._textColor=e.textColor,this._textAlign=e.textAlign||"center"),void 0!==e.items&&void 0!==e.barSpacing&&this.setData(e.items,e.barSpacing)}draw(e,t){this._preDrawInit(),this._drawOperation(e,t)}hitTest(e){const t=o.HitTestResult.REGULAR;let i=null;for(const s of this._items){if(!s)continue;const r=this._calcBoundingBox(s);if(r&&Object(n.pointInBox)(e,r)){const e={tooltip:this._getTooltip(s,r)};i=new o.HitTestResult(t,e)}}return i}setData(e,t){this._setBaseData(e,t)}_calcBoundingBox(e){const t=e.vertOffset,i=this._getTextCache(e);if(!i)return;const s=i.textImageWidth,n=i.textImageHeight,o=s/2,a=e.y+t+e.textVertOffset,l=t>0?0:-n,c=t>0?n:0,h=new r.Point(e.x-o,a+l),u=new r.Point(e.x+o,a+c);return Object(r.box)(h,u)}_unionBox(e,t){const i=Math.min(e.min.x,t.min.x),s=Math.max(e.max.x,t.max.x),n=Math.min(e.min.y,t.min.y),o=Math.max(e.max.y,t.max.y),a=new r.Point(i,n),l=new r.Point(s,o);return Object(r.box)(a,l)}_getTooltip(e,t){if(e.tooltip)return{content:{type:"text",data:e.tooltip},tooltipDelay:200,extendMargin:!0,rect:{x:t.min.x,y:t.min.y,w:Math.abs(t.max.x-t.min.x),h:Math.abs(t.max.y-t.min.y)}}}_setBaseData(e,t){this._items.length=0,this._barSpacing=t;for(const i of e){const e=void 0===i.width?Object(s.ensureDefined)(this._width):i.width,t=void 0===i.height?Object(s.ensureDefined)(this._height):i.height,r=void 0===i.vertOffset?this._vertOffset:i.vertOffset,n=r>0?t:-t;this._items.push(Object.assign({width:e,height:t,vertOffset:r,textVertOffset:n,shapeWidth:0,shapeHeight:0,stepX:0,stepY:0},i))}}_drawItemText(e,t,i){const s=this._getTextCache(i);if(null===s)return;const r=i.x,n=i.vertOffset,o=i.y+n+i.textVertOffset;let a;a=i.style&&void 0!==i.style.textColor?i.style.textColor:this._textColor,s.paintTo(e,t,a,r,o,h.a.Center,n>0?h.c.Top:h.c.Bottom)}_drawWithOptimizations(e,t){let i,s,r=null,n=!1;for(const o of this._items)o.style&&void 0!==o.style.color?(i=o.style.color,s=o.style.borderColor):(i=this._color,s=this._borderColor),r!==i&&(r=i,n&&this._endPath(e),this._startPath(e,t,i,s)),this._drawItemShape(e,t,o),n=!0;n&&this._endPath(e);for(const o of this._items)this._drawItemText(e,t,o)}_drawWithoutOptimizations(e,t){let i,r;for(const n of this._items){ -const o=Object(s.ensureDefined)(n.style);i=Object(s.ensureDefined)(o.color),r=o.borderColor,this._startPath(e,t,i,r),this._drawItemShape(e,t,n),this._endPath(e),this._drawItemText(e,t,n)}}_drawItemShape(e,t,i){Object(p.drawScaled)(e,t.pixelRatio,()=>this._drawItemShapeUsingCSSPixels(e,i))}_drawItemShapeUsingCSSPixels(e,t){}_preDrawInit(){}_startPath(e,t,i,s){}_endPath(e){}_getTextCache(e){const t=e.text||this._text,i=e.fontSize||this._fontSize,s=e.textAlign||this._textAlign;return this._textCache.get({text:t,bold:!1,italic:!1,font:d.CHART_FONT_FAMILY,fontSize:i,align:s})}}class m extends _{_startPath(e,t,i,s){e.beginPath(),e.lineWidth=this._lineWidth(t),e.lineCap="butt",e.strokeStyle=i}_endPath(e){e.stroke()}_lineWidth(e){return Math.max(1,Math.floor(2*e.pixelRatio))}}class f extends _{_startPath(e,t,i,s){e.beginPath(),e.lineWidth=this._lineWidth(t),e.lineCap="butt",e.fillStyle=i,e.strokeStyle=s}_endPath(e){e.fill(),e.stroke()}_lineWidth(e){return Math.max(1,Math.floor(e.pixelRatio))}}},"2bPF":function(e,t,i){"use strict";var s=i("Ss5c").LineDataSource,r=i("7KDR").Action,n=i("Ocx9").DefaultProperty,o=i("k9/m").PlotRowSearchMode,a=i("Ye2/").LineToolBarsPatternMode;class l extends s{constructor(e,t){var s=t||l.createProperties();super(e,s),s.mirrored.listeners().subscribe(this,l.prototype.mirror),s.flipped.listeners().subscribe(this,l.prototype.flip),this._scaleCoeff=1,this.version=l.version,this._pattern=[],this._properties.mode.listeners().subscribe(this,l.prototype.onModeChanged),i.e("lt-pane-views").then(i.t.bind(null,"c6sA",7)).then(({BarsPatternPaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}isSynchronizable(){return!1}onModeChanged(){var e=this.patternPriceDiff();e*=this._pressCoeff,this._points[1].price=this._timePoint[1].price=this._points[0].price+e}additionalActions(e){var t=this;return[new r({checked:this.properties().mirrored.value(),checkable:!0,label:window.t("Mirrored"),payload:{target:this},onExecute:function(t){var i=t.getPayload().target;e.setProperty(i.properties().mirrored,!i.properties().mirrored.value(),"Bats Pattern Mirroring"),i.updateAllViews(),i._model.updateSource(i)}}),new r({checked:this.properties().flipped.value(),checkable:!0,label:window.t("Flipped"),payload:{target:this},onExecute:function(t){var i=t.getPayload().target;e.setProperty(i.properties().flipped,!i.properties().flipped.value(),"Bats Pattern Flipping"),i.updateAllViews(),i._model.updateSource(i)}}),new r({checkable:!0,label:window.t("Restore Size"),onExecute:function(i){var s=t.points()[0],r=t.patternPriceDiff(),n=s.price+r,o=s.index+t._pattern.length-1;e.startChangingLinetool(t,{price:n,index:o},1,{}),e.changeLinePoint({price:n,index:o},{}),e.endChangingLinetool()}})]}pointsCount(){return 2}_preparePoint(e,t){e=this._alignPointToRangeOfActualData(e);var i=this._model.mainSeries();this.properties().mode.value()===a.Bars?e.price=i.bars().valueAt(e.index)[TradingView.HIGH_PLOT]:e.price=i.bars().valueAt(e.index)[TradingView.CLOSE_PLOT] -;var r=this.priceScale(),n=this.ownerSource().firstValue(),o=.05*r.height(),l=r.priceToCoordinate(e.price,n)-o;return e.price=r.coordinateToPrice(l,n),s.prototype._preparePoint.call(this,e,t)}state(e){var t=s.prototype.state.call(this,e);return t.pattern=this._pattern,t}restoreData(e){e.pattern&&(this._pattern=e.pattern)}name(){return"Bars Pattern"}hasEditableCoordinates(){return!1}cloneData(e){this._pattern=TradingView.clone(e._pattern)}mirror(){for(var e=this._pattern,t=e[0][TradingView.HIGH_PLOT],i=Math.min(e[0][TradingView.LOW_PLOT],e[0][TradingView.HIGH_PLOT]),s=Math.max(e[0][TradingView.LOW_PLOT],e[0][TradingView.HIGH_PLOT]),r=1;rthis.points()[1].index&&(this._points[0].price=this._points[1].price),this._pattern=[];for(var c=a;c<=l;c++){ -var h=this._model.mainSeries().data().valueAt(c);this._pattern.push(TradingView.clone(h))}if(this._pattern.length>0){var u=this.patternPriceDiff();this._points[1].price=this._points[0].price+u,this._points[1].index=this._points[0].index+(l-a),this.normalizePoints(),this.createServerPoints()}}return i}setPoint(e,t,i){1===e&&t.index<=this._points[0].index&&(t.index=this._points[0].index+1),0===e&&t.index>=this._points[1].index&&(t.index=this._points[1].index-1),super.setPoint(e,t,i)}migrateVersion(e,t,i){if(1===e&&this._pattern.length>0){var s=this.patternPriceDiff();2===this._timePoint.length&&(this._timePoint[1].price=this._timePoint[0].price+s),2===this._points.length&&(this._points[1].price=this._points[0].price+s)}}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(33),i.e("lt-property-pages-with-definitions")]).then(i.bind(null,"8ioM"))).BarsPatternDefinitionsViewModel}static createProperties(e){var t=new n("linetoolbarspattern",e);return l._configureProperties(t),t}static _configureProperties(e){s._configureProperties(e),e.addExclusion("mirrored"),e.addExclusion("flipped")}}l.version=2,t.LineToolBarsPattern=l},"2cgs":function(e,t,i){"use strict";var s=i("ocLq");JSServer.studyLibrary=[{name:"Accumulation/Distribution",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Accumulation/Distribution",shortDescription:"Accum/Dist",is_price_study:!1,inputs:[],id:"Accumulation/Distribution@tv-basicstudies-1",scriptIdPart:"",name:"Accumulation/Distribution",format:{type:"volume"}},constructor:function(){this.f_0=function(e,t,i,r){return s.Std.or(s.Std.and(s.Std.eq(e,t),s.Std.eq(e,i)),s.Std.eq(t,i))?0:(2*e-i-t)/(t-i)*r},this.main=function(e,t){this._context=e,this._input=t;var i=this.f_0(s.Std.close(this._context),s.Std.high(this._context),s.Std.low(this._context),s.Std.volume(this._context));return[s.Std.cum(i,this._context)]}}},{name:"Accumulative Swing Index",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:10}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"ASI",histogramBase:0,joinPoints:!1}},description:"Accumulative Swing Index",shortDescription:"ASI",is_price_study:!1,inputs:[{id:"in_0",name:"Limit Move Value",defval:10,type:"float",min:.1,max:1e5}],id:"Accumulative Swing Index@tv-basicstudies-1",scriptIdPart:"",name:"Accumulative Swing Index",format:{type:"volume"}},constructor:function(){this.f_0=function(e,t){ -var i=t.new_var(s.Std.open(t)),r=t.new_var(s.Std.high(t)),n=t.new_var(s.Std.low(t)),o=t.new_var(s.Std.close(t)),a=s.Std.abs(r-o.get(1)),l=s.Std.abs(n-o.get(1)),c=s.Std.abs(r-n),h=s.Std.abs(o.get(1)-i.get(1)),u=s.Std.max(a,l),d=s.Std.iff(a>=s.Std.max(l,c),a-.5*l+.25*h,s.Std.iff(l>=s.Std.max(a,c),l-.5*a+.25*h,c+.25*h));return s.Std.iff(0===d,0,(o-o.get(1)+.5*(o-i)+.25*(o.get(1)-i.get(1)))/d*u/e*50)},this.f_1=function(e,t){var i=this.f_0(e,t);return s.Std.cum(i,t)},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0);return[this.f_1(i,this._context)]}}},{name:"Advance/Decline",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:10}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Advance/Decline",shortDescription:"AD",is_price_study:!1,inputs:[{id:"in_0",name:"length",defval:10,type:"integer",min:1,max:2e3}],id:"Advance/Decline@tv-basicstudies-1",scriptIdPart:"",name:"Advance/Decline",format:{precision:2,type:"price"}},constructor:function(){this.f_0=function(e,t){return s.Std.gt(e,t)},this.f_1=function(e,t){return s.Std.lt(e,t)},this.f_2=function(e,t){return 0===t?e:e/t},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=this.f_0(s.Std.close(this._context),s.Std.open(this._context)),n=this._context.new_var(r),o=s.Std.sum(n,i,this._context),a=this.f_1(s.Std.close(this._context),s.Std.open(this._context)),l=this._context.new_var(a),c=s.Std.sum(l,i,this._context);return[this.f_2(o,c)]}}},{name:"Arnaud Legoux Moving Average",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:9,in_1:.85,in_2:6}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Arnaud Legoux Moving Average",shortDescription:"ALMA",is_price_study:!0,inputs:[{id:"in_0",name:"Window Size",defval:9,type:"integer",min:0,max:5e3},{id:"in_1",name:"Offset",defval:.85,type:"float",min:-1e12,max:1e12},{id:"in_2",name:"Sigma",defval:6,type:"float",min:-1e12,max:1e12}],id:"Arnaud Legoux Moving Average@tv-basicstudies-1",scriptIdPart:"",name:"Arnaud Legoux Moving Average",format:{type:"inherit"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=s.Std.close(this._context),r=this._input(0),n=this._input(1),o=this._input(2),a=this._context.new_var(i);return[s.Std.alma(a,r,n,o)]}}},{name:"Aroon",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#FB8C00"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:14}},plots:[{id:"plot_0",type:"line"},{id:"plot_1", -type:"line"}],styles:{plot_0:{title:"Upper",histogramBase:0,joinPoints:!1},plot_1:{title:"Lower",histogramBase:0,joinPoints:!1}},description:"Aroon",shortDescription:"Aroon",is_price_study:!1,inputs:[{id:"in_0",name:"length",defval:14,type:"integer",min:1,max:2e3}],id:"Aroon@tv-basicstudies-1",scriptIdPart:"",name:"Aroon",format:{precision:2,type:"percent"}},constructor:function(){this.f_0=function(e,t){return 100*(e+t)/t},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=s.Std.high(this._context),n=i+1,o=this._context.new_var(r),a=s.Std.highestbars(o,n,this._context),l=this.f_0(a,i),c=s.Std.low(this._context),h=this._context.new_var(c),u=s.Std.lowestbars(h,n,this._context);return[l,this.f_0(u,i)]}}},{name:"Average Price",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,id:"AveragePrice@tv-basicstudies-1",scriptIdPart:"",name:"Average Price",description:"Average Price",shortDescription:"Average Price",is_price_study:!0,plots:[{id:"plot_0",type:"line"}],defaults:{styles:{plot_0:{linestyle:0,visible:!0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,color:"#2196F3"}},inputs:{}},styles:{plot_0:{title:"Plot"}},inputs:[],format:{type:"inherit"}},constructor:function(){this.main=function(e,t){return this._context=e,this._input=t,[s.Std.ohlc4(this._context)]}}},{name:"Average Directional Index",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#FF5252"}},inputs:{in_0:14,in_1:14}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"ADX",histogramBase:0,joinPoints:!1,isHidden:!1}},description:"Average Directional Index",shortDescription:"ADX",is_price_study:!1,inputs:[{id:"in_0",name:"ADX Smoothing",defval:14,type:"integer",min:-1e12,max:1e12},{id:"in_1",name:"DI Length",defval:14,type:"integer",min:-1e12,max:1e12}],id:"average_directional_Index@tv-basicstudies-1",scriptIdPart:"",name:"Average Directional Index",format:{precision:2,type:"price"}},constructor:function(){this.f_0=function(e){var t=this._context.new_var(s.Std.high(this._context)),i=s.Std.change(t),r=this._context.new_var(s.Std.low(this._context)),n=-s.Std.change(r),o=this._context.new_var(s.Std.tr(void 0,this._context)),a=s.Std.rma(o,e,this._context),l=this._context.new_var(s.Std.and(s.Std.gt(i,n),s.Std.gt(i,0))?i:0),c=s.Std.fixnan(100*s.Std.rma(l,e,this._context)/a,this._context),h=this._context.new_var(s.Std.and(s.Std.gt(n,i),s.Std.gt(n,0))?n:0);return[c,s.Std.fixnan(100*s.Std.rma(h,e,this._context)/a,this._context)]},this.f_1=function(e,t){var i=this.f_0(e),r=i[0],n=i[1],o=r+n,a=this._context.new_var(s.Std.abs(r-n)/(s.Std.eq(o,0)?1:o));return[100*s.Std.rma(a,t,this._context)]},this.main=function(e,t){return this._context=e,this._input=t,this._context.setMinimumAdditionalDepth(this._input(0)+this._input(1)),this.f_1(this._input(0),this._input(1))}}},{name:"Average True Range",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1, -defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#B71C1C"}},inputs:{in_0:14}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Average True Range",shortDescription:"ATR",is_price_study:!1,inputs:[{id:"in_0",name:"length",defval:14,type:"integer",min:1,max:2e3}],id:"Average True Range@tv-basicstudies-1",scriptIdPart:"",name:"Average True Range",format:{type:"inherit"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=s.Std.tr(this._context),n=this._context.new_var(r);return[s.Std.rma(n,i,this._context)]}}},{name:"Awesome Oscillator",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:1,trackPrice:!1,transparency:0,visible:!0,color:"#000080"}},palettes:{palette_0:{colors:{0:{color:"#F44336",width:1,style:0},1:{color:"#009688",width:1,style:0}}}},inputs:{}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",palette:"palette_0",target:"plot_0",type:"colorer"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Awesome Oscillator",shortDescription:"AO",is_price_study:!1,palettes:{palette_0:{colors:{0:{name:"Color 0"},1:{name:"Color 1"}}}},inputs:[],id:"Awesome Oscillator@tv-basicstudies-1",scriptIdPart:"",name:"Awesome Oscillator",format:{type:"inherit"}},constructor:function(){this.f_0=function(e,t){return e-t},this.f_1=function(e){return s.Std.le(e,0)?0:1},this.main=function(e,t){this._context=e,this._input=t;var i=s.Std.hl2(this._context),r=this._context.new_var(i),n=s.Std.sma(r,5,this._context),o=this._context.new_var(i),a=s.Std.sma(o,34,this._context),l=this.f_0(n,a),c=l,h=this._context.new_var(l),u=s.Std.change(h);return[c,this.f_1(u)]}}},{name:"Balance of Power",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#FF5252"}},inputs:{}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Balance of Power",shortDescription:"Balance of Power",is_price_study:!1,inputs:[],id:"Balance of Power@tv-basicstudies-1",scriptIdPart:"",name:"Balance of Power",format:{precision:2,type:"price"}},constructor:function(){this.f_0=function(e,t,i,s){return(e-t)/(i-s)},this.main=function(e,t){return this._context=e,this._input=t,[this.f_0(s.Std.close(this._context),s.Std.open(this._context),s.Std.high(this._context),s.Std.low(this._context))]}}},{name:"Bollinger Bands",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#FF6D00"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},plot_2:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}}, -filledAreasStyle:{fill_0:{color:"#2196F3",transparency:95,visible:!0}},inputs:{in_0:20,in_1:2}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"},{id:"plot_2",type:"line"}],styles:{plot_0:{title:"Median",histogramBase:0,joinPoints:!1},plot_1:{title:"Upper",histogramBase:0,joinPoints:!1},plot_2:{title:"Lower",histogramBase:0,joinPoints:!1}},description:"Bollinger Bands",shortDescription:"BB",is_price_study:!0,filledAreas:[{id:"fill_0",objAId:"plot_1",objBId:"plot_2",type:"plot_plot",title:"Plots Background"}],inputs:[{id:"in_0",name:"length",defval:20,type:"integer",min:1,max:1e4},{id:"in_1",name:"mult",defval:2,type:"float",min:.001,max:50}],id:"Bollinger Bands@tv-basicstudies-1",scriptIdPart:"",name:"Bollinger Bands",format:{type:"inherit"}},constructor:function(){this.f_0=function(e,t){return e*t},this.f_1=function(e,t){return e+t},this.f_2=function(e,t){return e-t},this.main=function(e,t){this._context=e,this._input=t;var i=s.Std.close(this._context),r=this._input(0),n=this._input(1),o=this._context.new_var(i),a=s.Std.sma(o,r,this._context),l=this._context.new_var(i),c=s.Std.stdev(l,r,this._context),h=this.f_0(n,c);return[a,this.f_1(a,h),this.f_2(a,h)]}}},{name:"Bollinger Bands %B",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#26A69A"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:1},{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:0}],filledAreasStyle:{fill_0:{color:"#26A69A",transparency:90,visible:!0}},inputs:{in_0:20,in_1:2}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Bollinger Bands %B",shortDescription:"BB %B",is_price_study:!1,bands:[{id:"hline_0",name:"UpperLimit"},{id:"hline_1",name:"LowerLimit"}],filledAreas:[{id:"fill_0",objAId:"hline_0",objBId:"hline_1",type:"hline_hline",title:"Hlines Background"}],inputs:[{id:"in_0",name:"length",defval:20,type:"integer",min:1,max:1e4},{id:"in_1",name:"mult",defval:2,type:"float",min:.001,max:50}],id:"Bollinger Bands %B@tv-basicstudies-1",scriptIdPart:"",name:"Bollinger Bands %B",format:{precision:2,type:"price"}},constructor:function(){this.f_0=function(e,t){return e*t},this.f_1=function(e,t){return e+t},this.f_2=function(e,t){return e-t},this.f_3=function(e,t,i){return(e-t)/(i-t)},this.main=function(e,t){this._context=e,this._input=t;var i=s.Std.close(this._context),r=this._input(0),n=this._input(1),o=this._context.new_var(i),a=s.Std.sma(o,r,this._context),l=this._context.new_var(i),c=s.Std.stdev(l,r,this._context),h=this.f_0(n,c),u=this.f_1(a,h),d=this.f_2(a,h);return[this.f_3(i,d,u)]}}},{name:"Bollinger Bands Width",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#FF6D00"}},inputs:{in_0:20,in_1:2}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0, -joinPoints:!1}},description:"Bollinger Bands Width",shortDescription:"BBW",is_price_study:!1,inputs:[{id:"in_0",name:"length",defval:20,type:"integer",min:1,max:1e4},{id:"in_1",name:"mult",defval:2,type:"float",min:.001,max:50}],id:"Bollinger Bands Width@tv-basicstudies-1",scriptIdPart:"",name:"Bollinger Bands Width",format:{precision:2,type:"price"}},constructor:function(){this.f_0=function(e,t){return e*t},this.f_1=function(e,t){return e+t},this.f_2=function(e,t){return e-t},this.f_3=function(e,t,i){return(e-t)/i},this.main=function(e,t){this._context=e,this._input=t;var i=s.Std.close(this._context),r=this._input(0),n=this._input(1),o=this._context.new_var(i),a=s.Std.sma(o,r,this._context),l=this._context.new_var(i),c=s.Std.stdev(l,r,this._context),h=this.f_0(n,c),u=this.f_1(a,h),d=this.f_2(a,h);return[this.f_3(u,d,a)]}}},{name:"Chaikin Money Flow",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#43A047"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:0}],inputs:{in_0:20}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Chaikin Money Flow",shortDescription:"CMF",is_price_study:!1,bands:[{id:"hline_0",name:"Zero"}],inputs:[{id:"in_0",name:"length",defval:20,type:"integer",min:1,max:2e3}],id:"Chaikin Money Flow@tv-basicstudies-1",scriptIdPart:"",name:"Chaikin Money Flow",format:{precision:2,type:"price"}},constructor:function(){this.f_0=function(e,t,i,r){return s.Std.or(s.Std.and(s.Std.eq(e,t),s.Std.eq(e,i)),s.Std.eq(t,i))?0:(2*e-i-t)/(t-i)*r},this.f_1=function(e,t){return e/t},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=this.f_0(s.Std.close(this._context),s.Std.high(this._context),s.Std.low(this._context),s.Std.volume(this._context)),n=this._context.new_var(r),o=s.Std.sum(n,i,this._context),a=s.Std.volume(this._context),l=this._context.new_var(a),c=s.Std.sum(l,i,this._context);return[this.f_1(o,c)]}}},{name:"Chaikin Oscillator",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#EC407A"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:0}],inputs:{in_0:3,in_1:10}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Chaikin Oscillator",shortDescription:"Chaikin Osc",is_price_study:!1,bands:[{id:"hline_0",name:"Zero"}],inputs:[{id:"in_0",name:"short",defval:3,type:"integer",min:1,max:2e3},{id:"in_1",name:"long",defval:10,type:"integer",min:1,max:2e3}],id:"Chaikin Oscillator@tv-basicstudies-1",scriptIdPart:"",name:"Chaikin Oscillator",format:{type:"volume"}},constructor:function(){this.f_0=function(e,t){return e-t},this.main=function(e,t){this._context=e,this._input=t -;var i=this._input(0),r=this._input(1),n=s.Std.accdist(this._context),o=this._context.new_var(n),a=s.Std.ema(o,i,this._context),l=this._context.new_var(n),c=s.Std.ema(l,r,this._context);return[this.f_0(a,c)]}}},{name:"Chaikin Volatility",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,is_price_study:!1,id:"Chaikin Volatility@tv-basicstudies-1",scriptIdPart:"",name:"Chaikin Volatility",description:"Chaikin Volatility",shortDescription:"Chaikin Volatility",plots:[{id:"plot_0",type:"line"}],defaults:{styles:{plot_0:{linestyle:0,visible:!0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,color:"#AB47BC"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:0}],inputs:{periods:10,rocLookback:10}},styles:{plot_0:{title:"Plot"}},bands:[{id:"hline_0",name:"Zero"}],inputs:[{id:"periods",type:"integer",name:"Periods"},{id:"rocLookback",type:"integer",name:"Rate of Change Lookback"}],format:{type:"volume"}},constructor:function(){this.init=function(e,t){this._context=e,this._input=t,this.period=this._input(0),this.rocLookback=this._input(1)},this.main=function(e,t){this._context=e,this._input=t,this._context.setMinimumAdditionalDepth(this.period+this.rocLookback);var i=this._context.new_var(s.Std.high(this._context)-s.Std.low(this._context)),r=this._context.new_var(s.Std.ema(i,this.period,this._context));return[s.Std.roc(r,this.rocLookback)]}}},{name:"Chande Kroll Stop",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#FF6D00"}},inputs:{in_0:10,in_1:1,in_2:9}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"}],styles:{plot_0:{title:"Long",histogramBase:0,joinPoints:!1},plot_1:{title:"Short",histogramBase:0,joinPoints:!1}},description:"Chande Kroll Stop",shortDescription:"Chande Kroll Stop",is_price_study:!0,inputs:[{id:"in_0",name:"p",defval:10,type:"integer",min:1,max:4999},{id:"in_1",name:"x",defval:1,type:"integer",min:1,max:1e12},{id:"in_2",name:"q",defval:9,type:"integer",min:1,max:1e12}],id:"Chande Kroll Stop@tv-basicstudies-1",scriptIdPart:"",name:"Chande Kroll Stop",format:{type:"inherit"}},constructor:function(){this.f_0=function(e,t,i){return e-t*i},this.f_1=function(e,t,i){return e+t*i},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=this._input(1),n=this._input(2),o=s.Std.high(this._context),a=this._context.new_var(o),l=s.Std.highest(a,i,this._context),c=s.Std.atr(i,this._context),h=this.f_0(l,r,c),u=this._context.new_var(o),d=s.Std.lowest(u,i,this._context),p=this.f_1(d,r,c),_=this._context.new_var(h),m=s.Std.highest(_,n,this._context),f=this._context.new_var(p);return[s.Std.lowest(f,n,this._context),m]}}},{name:"Chande Momentum Oscillator",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1, -transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:9}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Chande Momentum Oscillator",shortDescription:"ChandeMO",is_price_study:!1,inputs:[{id:"in_0",name:"length",defval:9,type:"integer",min:1,max:2e3}],id:"Chande Momentum Oscillator@tv-basicstudies-1",scriptIdPart:"",name:"Chande Momentum Oscillator",format:{type:"price",precision:2}},constructor:function(){this.f_0=function(e){return s.Std.ge(e,0)?e:0},this.f_1=function(e){return s.Std.ge(e,0)?0:-e},this.f_2=function(e,t){return 100*e/t},this.f_3=function(e,t){return this.f_2(e-t,e+t)},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=s.Std.close(this._context),n=this._context.new_var(r),o=s.Std.change(n),a=this.f_0(o),l=this.f_1(o),c=this._context.new_var(a),h=s.Std.sum(c,i,this._context),u=this._context.new_var(l),d=s.Std.sum(u,i,this._context);return[this.f_3(h,d)]}}},{name:"Chop Zone",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:5,trackPrice:!1,transparency:0,visible:!0,color:"#000080"}},palettes:{palette_0:{colors:{0:{color:"#26C6DA",width:1,style:0},1:{color:"#43A047",width:1,style:0},2:{color:"#A5D6A7",width:1,style:0},3:{color:"#009688",width:1,style:0},4:{color:"#D50000",width:1,style:0},5:{color:"#E91E63",width:1,style:0},6:{color:"#FF6D00",width:1,style:0},7:{color:"#FFB74D",width:1,style:0},8:{color:"#FDD835",width:1,style:0}}}},inputs:{}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",palette:"palette_0",target:"plot_0",type:"colorer"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1,isHidden:!1}},description:"Chop Zone",shortDescription:"Chop Zone",is_price_study:!1,palettes:{palette_0:{colors:{0:{name:"Color 0"},1:{name:"Color 1"},2:{name:"Color 2"},3:{name:"Color 3"},4:{name:"Color 4"},5:{name:"Color 5"},6:{name:"Color 6"},7:{name:"Color 7"},8:{name:"Color 8"}},valToIndex:{0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8}}},inputs:[],id:"chop_zone@tv-basicstudies-1",scriptIdPart:"",name:"Chop Zone",format:{precision:0,type:"price"}},constructor:function(){this.f_0=function(){var e=s.Std.close(this._context),t=s.Std.hlc3(this._context),i=this._context.new_var(s.Std.high(this._context)),r=s.Std.highest(i,30,this._context),n=s.Std.lowest(i,30,this._context),o=25/(r-n)*n,a=this._context.new_var(e),l=this._context.new_var(s.Std.ema(a,34,this._context)),c=(l.get(1)-l.get(0))/t*o,h=s.Std.sqrt(1+c*c),u=s.Std.round(180*s.Std.acos(1/h)/3.141592653589793),d=s.Std.iff(s.Std.gt(c,0),-u,u),p=s.Std.and(s.Std.gt(d,-2.14),s.Std.le(d,-.71))?7:8,_=s.Std.and(s.Std.gt(d,-3.57),s.Std.le(d,-2.14))?6:p,m=s.Std.and(s.Std.gt(d,-5),s.Std.le(d,-3.57))?5:_,f=s.Std.le(d,-5)?4:m,g=s.Std.and(s.Std.lt(d,2.14),s.Std.ge(d,.71))?3:f,v=s.Std.and(s.Std.lt(d,3.57),s.Std.ge(d,2.14))?2:g,b=s.Std.and(s.Std.lt(d,5),s.Std.ge(d,3.57))?1:v;return[1,s.Std.ge(d,5)?0:b]},this.main=function(e,t){return this._context=e,this._input=t,this.f_0()}}},{name:"Choppiness Index", -metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:61.8},{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:38.2}],filledAreasStyle:{fill_0:{color:"#2196F3",transparency:90,visible:!0}},inputs:{in_0:14}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Choppiness Index",shortDescription:"CHOP",is_price_study:!1,bands:[{id:"hline_0",name:"UpperLimit"},{id:"hline_1",name:"LowerLimit"}],filledAreas:[{id:"fill_0",objAId:"hline_0",objBId:"hline_1",type:"hline_hline",title:"Hlines Background"}],inputs:[{id:"in_0",name:"length",defval:14,type:"integer",min:1,max:2e3}],id:"Choppiness Index@tv-basicstudies-1",scriptIdPart:"",name:"Choppiness Index",format:{type:"price",precision:2}},constructor:function(){this.f_0=function(e,t,i,r){return 100*s.Std.log10(e/(t-i))/r},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=s.Std.atr(1,this._context),n=this._context.new_var(r),o=s.Std.sum(n,i,this._context),a=s.Std.high(this._context),l=this._context.new_var(a),c=s.Std.highest(l,i,this._context),h=s.Std.low(this._context),u=this._context.new_var(h),d=s.Std.lowest(u,i,this._context),p=s.Std.log10(i);return[this.f_0(o,c,d,p)]}}},{name:"Commodity Channel Index",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:100},{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:-100}],filledAreasStyle:{fill_0:{color:"#2196F3",transparency:90,visible:!0}},inputs:{in_0:20}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Commodity Channel Index",shortDescription:"CCI",is_price_study:!1,bands:[{id:"hline_0",name:"UpperLimit"},{id:"hline_1",name:"LowerLimit"}],filledAreas:[{id:"fill_0",objAId:"hline_0",objBId:"hline_1",type:"hline_hline",title:"Hlines Background"}],inputs:[{id:"in_0",name:"length",defval:20,type:"integer",min:1,max:2e3}],id:"Commodity Channel Index@tv-basicstudies-1",scriptIdPart:"",name:"Commodity Channel Index",format:{precision:2,type:"price"}},constructor:function(){this.f_0=function(e,t,i){return(e-t)/(.015*i)},this.main=function(e,t){this._context=e,this._input=t;var i=s.Std.hlc3(this._context),r=this._input(0),n=this._context.new_var(i),o=s.Std.sma(n,r,this._context),a=this._context.new_var(i),l=s.Std.dev(a,r,this._context);return[this.f_0(i,o,l)]}}},{name:"Connors RSI",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:70},{color:"#787B86", -linestyle:2,linewidth:1,visible:!0,value:30}],filledAreasStyle:{fill_0:{color:"#2196F3",transparency:90,visible:!0}},inputs:{in_0:3,in_1:2,in_2:100}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"CRSI",histogramBase:0,joinPoints:!1}},description:"Connors RSI",shortDescription:"CRSI",is_price_study:!1,bands:[{id:"hline_0",name:"UpperLimit"},{id:"hline_1",name:"LowerLimit"}],filledAreas:[{id:"fill_0",objAId:"hline_0",objBId:"hline_1",type:"hline_hline",title:"Hlines Background"}],inputs:[{id:"in_0",name:"RSI Length",defval:3,type:"integer",min:1},{id:"in_1",name:"UpDown Length",defval:2,type:"integer",min:1},{id:"in_2",name:"ROC Length",defval:100,type:"integer",min:1}],id:"Connors RSI@tv-basicstudies-1",scriptIdPart:"",name:"Connors RSI",format:{precision:2,type:"price"}},constructor:function(){var e;this.f_1=function(e,t,i){var r=i.new_var(s.Std.max(s.Std.change(e),0));return s.Std.rma(r,t,i)},this.f_2=function(e,t,i){var r=i.new_var(-s.Std.min(s.Std.change(e),0));return s.Std.rma(r,t,i)},this.f_3=(e=0,function(t){var i=t.get(0),r=t.get(1);return e=i===r?0:i>r?s.Std.nz(e)<=0?1:s.Std.nz(e)+1:s.Std.nz(e)>=0?-1:s.Std.nz(e)-1,this._context.new_var(e)}),this.main=function(e,t){this._context=e,this._input=t;var i=s.Std.close(this._context),r=this._context.new_var(i),n=this._input(0),o=this._input(1),a=this._input(2);this._context.setMinimumAdditionalDepth(a);var l=s.Std.rsi(this.f_1(r,n,this._context),this.f_2(r,n,this._context)),c=this.f_3(r),h=s.Std.rsi(this.f_1(c,o,this._context),this.f_2(c,o,this._context)),u=this._context.new_var(s.Std.roc(r,1)),d=s.Std.percentrank(u,a);return[s.Std.avg(l,h,d)]}}},{name:"Coppock Curve",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:10,in_1:14,in_2:11}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Coppock Curve",shortDescription:"Coppock Curve",is_price_study:!1,inputs:[{id:"in_0",name:"WMA Length",defval:10,type:"integer",min:-1e12,max:5e3},{id:"in_1",name:"Long RoC Length",defval:14,type:"integer",min:1,max:4999},{id:"in_2",name:"Short RoC Length",defval:11,type:"integer",min:1,max:4999}],id:"Coppock Curve@tv-basicstudies-1",scriptIdPart:"",name:"Coppock Curve",format:{type:"inherit"}},constructor:function(){this.f_0=function(e,t){return e+t},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=this._input(1),n=this._input(2);this._context.setMinimumAdditionalDepth(i+Math.max(r,n));var o=s.Std.close(this._context),a=this._context.new_var(o),l=s.Std.roc(a,r),c=this._context.new_var(o),h=s.Std.roc(c,n),u=this.f_0(l,h),d=this._context.new_var(u);return[s.Std.wma(d,i,this._context)]}}},{name:"Correlation Coeff",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:4,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:"AAPL", -in_1:20}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Correlation Coefficient",shortDescription:"CC",is_price_study:!1,inputs:[{id:"in_0",name:"sym",defval:"AAPL",type:"symbol"},{id:"in_1",name:"length",defval:20,type:"integer",min:1,max:2e3}],id:"Correlation Coeff@tv-basicstudies-1",scriptIdPart:"",name:"Correlation Coeff",format:{precision:2,type:"price"}},constructor:function(){this.init=function(e,t){this._context=e,this._input=t,this._context.new_sym(this._input(0),s.Std.period(this._context))},this.main=function(e,t){this._context=e,this._input=t;var i=this._context.new_unlimited_var(this._context.symbol.time),r=(this._input(0),s.Std.period(this._context),s.Std.close(this._context)),n=this._input(1);this._context.select_sym(1);var o=this._context.new_unlimited_var(this._context.symbol.time),a=s.Std.close(this._context),l=this._context.new_unlimited_var(a);this._context.select_sym(0);var c=l.adopt(o,i,0),h=this._context.new_var(r),u=this._context.new_var(c);return[s.Std.correlation(h,u,n,this._context)]}}},{name:"Correlation - Log",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,is_price_study:!1,id:"Correlation - Log@tv-basicstudies-1",scriptIdPart:"",name:"Correlation - Log",description:"Correlation - Log",shortDescription:"Correlation - Log",plots:[{id:"plot_0",type:"line"}],defaults:{styles:{plot_0:{linestyle:0,visible:!0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,color:"#2196F3"}},inputs:{instrument:"INTC",instrument2:"AMZN",periods:25}},styles:{plot_0:{title:"Plot"}},inputs:[{id:"instrument",name:"Instrument 1",type:"symbol",defval:"INTC"},{id:"instrument2",name:"Instrument 2",type:"symbol",defval:"AMZN"},{id:"periods",name:"Periods",type:"integer",defval:25}],format:{precision:2,type:"price"}},constructor:function(){this.init=function(e,t){this._context=e,this._input=t,this._context.new_sym(this._input(0),s.Std.period(this._context)),this._context.new_sym(this._input(1),s.Std.period(this._context)),this.period=this._input(2)},this.correlationLog=function(e,t,i,r){var n=s.Std.sma(e,i,r),o=s.Std.sma(t,i,r),a=r.new_var(e.get()*t.get());return(s.Std.sma(a,i,r)-n*o)/Math.sqrt(s.Std.variance2(e,n,i)*s.Std.variance2(t,o,i))},this.main=function(e,t){this._context=e,this._input=t,this._context.select_sym(1);var i=this._context.new_var(this._context.symbol.time);this._context.select_sym(2);var r=this._context.new_var(s.Std.close(this._context)),n=this._context.new_var(s.Std.log(r.get()/r.get(1))),o=this._context.new_var(this._context.symbol.time);this._context.select_sym(1);var a=this._context.new_var(s.Std.close(this._context)),l=this._context.new_var(s.Std.log(a.get()/a.get(1))),c=this._context.new_var(n.adopt(o,i,0));return[this.correlationLog(l,c,this.period,this._context)]}}},{name:"Detrended Price Oscillator",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#43A047"}},bands:[{ -color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:0}],inputs:{in_0:21,in_1:!1}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"DPO",histogramBase:0,joinPoints:!1,isHidden:!1}},description:"Detrended Price Oscillator",shortDescription:"DPO",is_price_study:!1,is_hidden_study:!1,id:"detrended_price_oscillator@tv-basicstudies-1",bands:[{id:"hline_0",name:"Zero",isHidden:!1}],inputs:[{id:"in_0",name:"Period",defval:21,type:"integer",min:1,max:1e12},{id:"in_1",name:"isCentered",defval:!1,type:"bool"}],scriptIdPart:"",name:"Detrended Price Oscillator",format:{type:"price",precision:2}},constructor:function(){this.f_0=function(){var e=this._input(0),t=this._input(1),i=Math.floor(e/2+1);this._context.setMinimumAdditionalDepth(e+i);var r=this._context.new_var(s.Std.close(this._context)),n=this._context.new_var(s.Std.sma(r,e,this._context)),o=this._context.new_var(s.Std.close(this._context)).get(i)-n,a=s.Std.close(this._context)-n.get(i);return[t?o:a,t?-i:0]},this.main=function(e,t){this._context=e,this._input=t;var i=this.f_0();return[{value:i[0],offset:i[1]}]}}},{name:"Directional Movement Index",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#FF6D00"},plot_2:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#F50057"}},inputs:{in_0:14,in_1:14}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"},{id:"plot_2",type:"line"}],styles:{plot_0:{title:"+DI",histogramBase:0,joinPoints:!1},plot_1:{title:"-DI",histogramBase:0,joinPoints:!1},plot_2:{title:"ADX",histogramBase:0,joinPoints:!1}},description:"Directional Movement",shortDescription:"DMI",is_price_study:!1,inputs:[{id:"in_0",name:"DI Length",defval:14,type:"integer",min:1,max:2e3},{id:"in_1",name:"ADX Smoothing",defval:14,type:"integer",min:1,max:50}],id:"Directional Movement Index@tv-basicstudies-1",scriptIdPart:"",name:"Directional Movement Index",format:{precision:4,type:"price"}},constructor:function(){this.f_0=function(e){return-e},this.f_1=function(e,t){return s.Std.and(s.Std.gt(e,t),s.Std.gt(e,0))?e:0},this.f_2=function(e,t){return 100*e/t},this.f_3=function(e,t){return e+t},this.f_4=function(e,t,i){return s.Std.abs(e-t)/(s.Std.eq(i,0)?1:i)},this.f_5=function(e){return 100*e},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=this._input(1);this._context.setMinimumAdditionalDepth(i+r) -;var n=s.Std.high(this._context),o=this._context.new_var(n),a=s.Std.change(o),l=s.Std.low(this._context),c=this._context.new_var(l),h=s.Std.change(c),u=this.f_0(h),d=s.Std.tr(this._context),p=this._context.new_var(d),_=s.Std.rma(p,i,this._context),m=this.f_1(a,u),f=this._context.new_var(m),g=s.Std.rma(f,i,this._context),v=this.f_2(g,_),b=s.Std.fixnan(v,this._context),S=this.f_1(u,a),y=this._context.new_var(S),w=s.Std.rma(y,i,this._context),C=this.f_2(w,_),P=s.Std.fixnan(C,this._context),x=this.f_3(b,P),T=this.f_4(b,P,x),M=this._context.new_var(T),I=s.Std.rma(M,r,this._context);return[b,P,this.f_5(I)]}}},{name:"Donchian Channels",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},plot_2:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#FF6D00"}},filledAreasStyle:{fill_0:{color:"#2196F3",transparency:95,visible:!0}},inputs:{in_0:20}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"},{id:"plot_2",type:"line"}],styles:{plot_0:{title:"Lower",histogramBase:0,joinPoints:!1},plot_1:{title:"Upper",histogramBase:0,joinPoints:!1},plot_2:{title:"Basis",histogramBase:0,joinPoints:!1}},description:"Donchian Channels",shortDescription:"DC",is_price_study:!0,filledAreas:[{id:"fill_0",objAId:"plot_1",objBId:"plot_0",type:"plot_plot",title:"Plots Background"}],inputs:[{id:"in_0",name:"length",defval:20,type:"integer",min:1,max:2e3}],id:"Donchian Channels@tv-basicstudies-1",scriptIdPart:"",name:"Donchian Channels",format:{type:"inherit"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=s.Std.low(this._context),n=this._context.new_var(r),o=s.Std.lowest(n,i,this._context),a=s.Std.high(this._context),l=this._context.new_var(a),c=s.Std.highest(l,i,this._context);return[o,c,s.Std.avg(c,o)]}}},{name:"Double Exponential Moving Average",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#43A047"}},inputs:{in_0:9}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Double EMA",shortDescription:"DEMA",is_price_study:!0,inputs:[{id:"in_0",name:"length",defval:9,type:"integer",min:1,max:1e4}],id:"Double Exponential Moving Average@tv-basicstudies-1",scriptIdPart:"",name:"Double Exponential Moving Average",format:{type:"inherit"}},constructor:function(){this.f_0=function(e,t){return 2*e-t},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0);this._context.setMinimumAdditionalDepth(2*i);var r=s.Std.close(this._context),n=this._context.new_var(r),o=s.Std.ema(n,i,this._context),a=this._context.new_var(o),l=s.Std.ema(a,i,this._context);return[this.f_0(o,l)]}}},{name:"Ease of Movement",metainfo:{ -_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#43A047"}},inputs:{in_0:1e4,in_1:14}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Ease Of Movement",shortDescription:"EOM",is_price_study:!1,inputs:[{id:"in_0",name:"Divisor",defval:1e4,type:"integer",min:1,max:1e9},{id:"in_1",name:"length",defval:14,type:"integer",min:1,max:2e3}],id:"Ease of Movement@tv-basicstudies-1",scriptIdPart:"",name:"Ease of Movement",format:{type:"volume"}},constructor:function(){this.f_0=function(e,t,i,s,r){return e*t*(i-s)/r},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=this._input(1),n=s.Std.hl2(this._context),o=this._context.new_var(n),a=s.Std.change(o),l=this.f_0(i,a,s.Std.high(this._context),s.Std.low(this._context),s.Std.volume(this._context)),c=this._context.new_var(l);return[s.Std.sma(c,r,this._context)]}}},{name:"Elders Force Index",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#F44336"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:0}],inputs:{in_0:13}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Elder's Force Index",shortDescription:"EFI",is_price_study:!1,bands:[{id:"hline_0",name:"Zero"}],inputs:[{id:"in_0",name:"length",defval:13,type:"integer",min:1,max:2e3}],id:"Elders Force Index@tv-basicstudies-1",scriptIdPart:"",name:"Elders Force Index",format:{type:"volume"}},constructor:function(){this.f_0=function(e,t){return e*t},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=s.Std.close(this._context),n=this._context.new_var(r),o=s.Std.change(n),a=this.f_0(o,s.Std.volume(this._context)),l=this._context.new_var(a);return[s.Std.ema(l,i,this._context)]}}},{name:"EMA Cross",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#FF6D00"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#43A047"},plot_2:{linestyle:0,linewidth:4,plottype:3,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:9,in_1:26}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"},{id:"plot_2",type:"line"}],styles:{plot_0:{title:"Short",histogramBase:0,joinPoints:!1},plot_1:{title:"Long",histogramBase:0,joinPoints:!1},plot_2:{title:"Crosses",histogramBase:0,joinPoints:!1}},description:"EMA Cross",shortDescription:"EMA Cross",is_price_study:!0,inputs:[{id:"in_0",name:"Short",defval:9,type:"integer",min:1,max:2e3},{id:"in_1",name:"Long",defval:26,type:"integer",min:1,max:2e3}],id:"EMA Cross@tv-basicstudies-1",scriptIdPart:"",name:"EMA Cross",format:{type:"inherit"}},constructor:function(){ -this.f_0=function(e,t){return e?t:s.Std.na()},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=this._input(1),n=s.Std.close(this._context),o=this._context.new_var(n),a=s.Std.ema(o,i,this._context),l=this._context.new_var(n),c=s.Std.ema(l,r,this._context),h=a,u=c,d=s.Std.cross(a,c,this._context);return[h,u,this.f_0(d,a)]}}},{name:"Envelopes",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#FF6D00"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},plot_2:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},filledAreasStyle:{fill_0:{color:"#2196F3",transparency:95,visible:!0}},inputs:{in_0:20,in_1:10,in_2:10,in_3:"Simple",in_4:"close"}},plots:[{id:"plot_1",type:"line"},{id:"plot_0",type:"line"},{id:"plot_2",type:"line"}],styles:{plot_0:{title:"Average",histogramBase:0,joinPoints:!1},plot_1:{title:"Upper",histogramBase:0,joinPoints:!1},plot_2:{title:"Lower",histogramBase:0,joinPoints:!1}},description:"Envelopes",shortDescription:"Envelopes",is_price_study:!0,filledAreas:[{id:"fill_0",objAId:"plot_1",objBId:"plot_2",type:"plot_plot",title:"Plots Background"}],inputs:[{id:"in_0",name:"Length",defval:20,type:"integer",min:1,max:2e3},{id:"in_1",name:"Upper Percentage",defval:2,type:"float",min:0},{id:"in_2",name:"Lower Percentage",defval:2,type:"float",min:0},{id:"in_3",name:"Method",type:"text",defval:"Simple",options:["Simple","Exponential","Weighted"]},{id:"in_4",name:"Source",defval:"close",type:"source",options:["open","high","low","close","hl2","hlc3","ohlc4"]}],id:"Envelope@tv-basicstudies-1",scriptIdPart:"",name:"Envelopes",format:{type:"inherit"}},constructor:function(){this.f_0=function(e,t){return e*(1+t)},this.f_1=function(e,t){return e*(1-t)},this.main=function(e,t){this._context=e,this._input=t;var i=this._context.new_var(s.Std[this._input(4)](this._context)),r=s.Std.sma(i,this._input(0),this._context);return"Exponential"===this._input(3)?r=s.Std.ema(i,this._input(0),this._context):"Weighted"===this._input(3)&&(r=s.Std.wma(i,this._input(0),this._context)),[this.f_0(r,this._input(1)/100),r,this.f_1(r,this._input(2)/100)]}}},{name:"Standard Error",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,is_price_study:!1,id:"Standard Error@tv-basicstudies-1",scriptIdPart:"",name:"Standard Error",description:"Standard Error",shortDescription:"Standard Error",plots:[{id:"plot_0",type:"line"}],defaults:{styles:{plot_0:{linestyle:0,visible:!0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,color:"#FF6D00"}},inputs:{length:14}},styles:{plot_0:{title:"Plot"}},inputs:[{id:"length",type:"integer",name:"Length"}],format:{precision:2,type:"price"}},constructor:function(){this.init=function(e,t){this._context=e,this._input=t,this.period=this._input(0)},this.main=function(e,t){this._context=e,this._input=t -;for(var i,r,n=this._context.new_var(s.Std.close(this._context)),o=0,a=0,l=0;l0?1:3,i=s.Std.change(this._context.new_var(e));return t-(s.Std.le(i,0)?0:1)},this.main=function(e,t){this._context=e,this._input=t;var i=s.Std[this._input(2)](this._context),r=this._input(0),n=this._input(1),o=this._input(3);this._context.setMinimumAdditionalDepth(Math.max(r,n)+o);var a=this._context.new_var(i),l=s.Std.ema(a,r,this._context),c=this._context.new_var(i),h=s.Std.ema(c,n,this._context),u=this.f_0(l,h),d=this._context.new_var(u),p=s.Std.ema(d,o,this._context),_=this.f_0(u,p);return[_,u,p,this.f_1(_)]}}},{name:"Moving Average Exponential",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1, -plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:9,in_1:"close",in_2:0}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Moving Average Exponential",shortDescription:"EMA",is_price_study:!0,inputs:[{id:"in_0",name:"Length",defval:9,type:"integer",min:1,max:1e4},{id:"in_1",name:"Source",defval:"close",type:"source",options:["open","high","low","close","hl2","hlc3","ohlc4"]},{id:"in_2",name:"Offset",defval:0,type:"integer",min:-1e4,max:1e4}],id:"Moving Average Exponential@tv-basicstudies-1",scriptIdPart:"",name:"Moving Average Exponential",format:{type:"inherit"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=s.Std[this._input(1)](this._context),r=this._input(0),n=this._input(2),o=this._context.new_var(i);return[{value:s.Std.ema(o,r,this._context),offset:n}]}}},{name:"Moving Average Weighted",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:9,in_1:"close",in_2:0}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Moving Average Weighted",shortDescription:"WMA",is_price_study:!0,inputs:[{id:"in_0",name:"Length",defval:9,type:"integer",min:1,max:2e3},{id:"in_1",name:"Source",defval:"close",type:"source",options:["open","high","low","close","hl2","hlc3","ohlc4"]},{id:"in_2",name:"Offset",defval:0,type:"integer",min:-1e4,max:1e4}],id:"Moving Average Weighted@tv-basicstudies-1",scriptIdPart:"",name:"Moving Average Weighted",format:{type:"inherit"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=s.Std[this._input(1)](this._context),r=this._input(0),n=this._input(2),o=this._context.new_var(i);return[{value:s.Std.wma(o,r,this._context),offset:n}]}}},{name:"Moving Average Double",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,id:"Moving Average Double@tv-basicstudies-1",scriptIdPart:"",name:"Moving Average Double",description:"Moving Average Double",shortDescription:"Moving Average Double",is_price_study:!0,plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"}],defaults:{styles:{plot_0:{linestyle:0,visible:!0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,color:"#FF6D00"},plot_1:{linestyle:0,visible:!0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,color:"#2196F3"}},inputs:{firstPeriods:14,secondPeriods:21,method:"Simple"}},styles:{plot_0:{title:"Plot 1"},plot_1:{title:"Plot 2"}},inputs:[{id:"firstPeriods",name:"1st Period",type:"integer",defval:14,min:1,max:1e4},{id:"secondPeriods",name:"2nd Period",type:"integer",defval:21,min:1,max:1e4},{id:"method",name:"Method",type:"text",defval:"Simple",options:["Simple","Exponential","Weighted"]}],format:{type:"inherit"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i,r,n=this._context.new_var(s.Std.close(this._context)) -;return"Exponential"===this._input(2)?(i=s.Std.ema(n,this._input(0),this._context),r=s.Std.ema(n,this._input(1),this._context)):"Weighted"===this._input(2)?(i=s.Std.wma(n,this._input(0),this._context),r=s.Std.wma(n,this._input(1),this._context)):(i=s.Std.sma(n,this._input(0),this._context),r=s.Std.sma(n,this._input(1),this._context)),[i,r]}}},{name:"Moving Average Triple",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,is_price_study:!0,id:"Moving Average Triple@tv-basicstudies-1",scriptIdPart:"",name:"Moving Average Triple",description:"Moving Average Triple",shortDescription:"Moving Average Triple",plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"},{id:"plot_2",type:"line"}],defaults:{styles:{plot_0:{linestyle:0,visible:!0,linewidth:1,plottype:0,transparency:0,trackPrice:!1,color:"#FF6D00"},plot_1:{linestyle:0,visible:!0,linewidth:1,transparency:0,plottype:0,trackPrice:!1,color:"#2196F3"},plot_2:{linestyle:0,visible:!0,linewidth:1,transparency:0,plottype:0,trackPrice:!1,color:"#26C6DA"}},inputs:{firstPeriods:14,secondPeriods:21,thirdPeriods:35,method:"Simple"}},styles:{plot_0:{title:"Plot 1"},plot_1:{title:"Plot 2"},plot_2:{title:"Plot 3"}},inputs:[{id:"firstPeriods",name:"1st Period",type:"integer",defval:14,min:1,max:1e4},{id:"secondPeriods",name:"2nd Period",type:"integer",defval:21,min:1,max:1e4},{id:"thirdPeriods",name:"3rd Period",type:"integer",defval:35,min:1,max:1e4},{id:"method",name:"Method",type:"text",defval:"Simple",options:["Simple","Exponential","Weighted"]}],format:{type:"inherit"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i,r,n,o=this._context.new_var(s.Std.close(this._context));return"Exponential"===this._input(3)?(i=s.Std.ema(o,this._input(0),this._context),r=s.Std.ema(o,this._input(1),this._context),n=s.Std.ema(o,this._input(2),this._context)):"Weighted"===this._input(3)?(i=s.Std.wma(o,this._input(0),this._context),r=s.Std.wma(o,this._input(1),this._context),n=s.Std.wma(o,this._input(2),this._context)):(i=s.Std.sma(o,this._input(0),this._context),r=s.Std.sma(o,this._input(1),this._context),n=s.Std.sma(o,this._input(2),this._context)),[i,r,n]}}},{name:"Moving Average Adaptive",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,is_price_study:!0,id:"Moving Average Adaptive@tv-basicstudies-1",scriptIdPart:"",name:"Moving Average Adaptive",description:"Moving Average Adaptive",shortDescription:"Moving Average Adaptive",plots:[{id:"plot_0",type:"line"}],defaults:{styles:{plot_0:{linestyle:0,visible:!0,linewidth:1,plottype:0,transparency:0,trackPrice:!1,color:"#AB47BC"}},inputs:{periods:10}},styles:{plot_0:{title:"Plot 1"}},inputs:[{id:"periods",name:"Period",type:"integer",defval:10,min:1,max:1e4}],format:{type:"inherit"}},constructor:function(){this.init=function(e,t){this._context=e,this._input=t,this.periods=this._input(0),this.amaPrev=NaN},this.ama=function(e,t){ -var i=this.periods,r=e.get(),n=s.Std.stdev(t,i,this._context),o=s.Std.log(r/e.get(i))/(n*Math.sqrt(i)),a=.1*Math.abs(o),l=(r-this.amaPrev)*a+this.amaPrev;return this.amaPrev=isNaN(l)?r:l,l},this.main=function(e,t){this._context=e,this._input=t;var i=this._context.new_var(s.Std.close(this._context)),r=this._context.new_var(s.Std.log(i.get()/i.get(1)));return[this.ama(i,r)]}}},{name:"Moving Average Hamming",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,is_price_study:!0,id:"Moving Average Hamming@tv-basicstudies-1",scriptIdPart:"",name:"Moving Average Hamming",description:"Moving Average Hamming",shortDescription:"Moving Average Hamming",plots:[{id:"plot_0",type:"line"}],defaults:{styles:{plot_0:{linestyle:0,visible:!0,linewidth:1,plottype:0,transparency:0,trackPrice:!1,color:"#4CAF50"}},inputs:{periods:10}},styles:{plot_0:{title:"Plot 1"}},inputs:[{id:"periods",name:"Period",type:"integer",defval:10,min:1,max:1e4}],format:{type:"inherit"}},constructor:function(){this.init=function(e,t){this._context=e,this._input=t,this.periods=this._input(0);for(var i=[],s=0,r=1;r<=this.periods;++r){var n=Math.sin((1+r)/this.periods*Math.PI/2);i.unshift(n),s+=n}this.hmaFactors=i,this.hmaFactorsSum=s},this.hma=function(e){for(var t=this.periods,i=0,s=0;sthis._context.new_var(r).get(1)?1:0,[100*s.Std.sma(this._context.new_var(i),this.rollingPeriod,this._context)]}}},{name:"Net Volume",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Net Volume",shortDescription:"Net Volume",is_price_study:!1,inputs:[],id:"Net Volume@tv-basicstudies-1",scriptIdPart:"",name:"Net Volume",format:{type:"volume"}},constructor:function(){this.f_0=function(e,t,i){return s.Std.gt(e,0)?t:s.Std.lt(i,0)?-t:0*t},this.main=function(e,t){this._context=e,this._input=t;var i=s.Std.close(this._context),r=this._context.new_var(i),n=s.Std.change(r) -;return[this.f_0(n,s.Std.volume(this._context),n)]}}},{name:"On Balance Volume",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"On Balance Volume",shortDescription:"OBV",is_price_study:!1,inputs:[],id:"On Balance Volume@tv-basicstudies-1",scriptIdPart:"",name:"On Balance Volume",format:{type:"volume"}},constructor:function(){this.f_0=function(e,t,i){return s.Std.gt(e,0)?t:s.Std.lt(i,0)?-t:0*t},this.main=function(e,t){this._context=e,this._input=t;var i=s.Std.close(this._context),r=this._context.new_var(i),n=s.Std.change(r),o=this.f_0(n,s.Std.volume(this._context),n);return[s.Std.cum(o,this._context)]}}},{name:"Parabolic SAR",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:3,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:.02,in_1:.02,in_2:.2}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Parabolic SAR",shortDescription:"SAR",is_price_study:!0,inputs:[{id:"in_0",name:"start",defval:.02,type:"float",min:-1e12,max:1e12},{id:"in_1",name:"increment",defval:.02,type:"float",min:-1e12,max:1e12},{id:"in_2",name:"maximum",defval:.2,type:"float",min:-1e12,max:1e12}],id:"Parabolic SAR@tv-basicstudies-1",scriptIdPart:"",name:"Parabolic SAR",format:{type:"inherit"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=this._input(1),n=this._input(2);return[s.Std.sar(i,r,n,this._context)]}}},{name:"Price Channel",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#F50057"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#F50057"},plot_2:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:20,in_1:0}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"},{id:"plot_2",type:"line"}],styles:{plot_0:{title:"Highprice Line",histogramBase:0,joinPoints:!1},plot_1:{title:"Lowprice Line",histogramBase:0,joinPoints:!1},plot_2:{title:"Centerprice Line",histogramBase:0,joinPoints:!1}},description:"Price Channel",shortDescription:"PC",is_price_study:!0,inputs:[{id:"in_0",name:"Length",defval:20,type:"integer",min:1,max:2e3},{id:"in_1",name:"Offset Length",defval:0,type:"integer",min:1,max:2e3}],id:"Price Channel@tv-basicstudies-1",scriptIdPart:"",name:"Price Channel",format:{type:"inherit"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t -;var i=s.Std.high(this._context),r=this._context.new_var(i),n=s.Std.low(this._context),o=this._context.new_var(n),a=this._input(0),l=this._input(1),c=s.Std.highest(r,a,this._context),h=s.Std.lowest(o,a,this._context);return[{value:c,offset:l},{value:h,offset:l},{value:s.Std.avg(c,h),offset:l}]}}},{name:"Price Oscillator",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#009688"}},inputs:{in_0:10,in_1:21}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Price Oscillator",shortDescription:"PPO",is_price_study:!1,inputs:[{id:"in_0",name:"shortlen",defval:10,type:"integer",min:1,max:2e3},{id:"in_1",name:"longlen",defval:21,type:"integer",min:1,max:2e3}],id:"Price Oscillator@tv-basicstudies-1",scriptIdPart:"",name:"Price Oscillator",format:{type:"price",precision:2}},constructor:function(){this.f_0=function(e,t){return(e-t)/t*100},this.main=function(e,t){this._context=e,this._input=t;var i=s.Std.close(this._context),r=this._input(0),n=this._input(1),o=this._context.new_var(i),a=s.Std.sma(o,r,this._context),l=this._context.new_var(i),c=s.Std.sma(l,n,this._context);return[this.f_0(a,c)]}}},{name:"Price Volume Trend",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"PVT",histogramBase:0,joinPoints:!1,isHidden:!1}},description:"Price Volume Trend",shortDescription:"PVT",is_price_study:!1,is_hidden_study:!1,id:"price_volume_trend@tv-basicstudies-1",inputs:[],scriptIdPart:"",name:"Price Volume Trend",format:{type:"volume"}},constructor:function(){this.f_0=function(){var e=this._context.new_var(s.Std.close(this._context));return[s.Std.cum(s.Std.change(e)/e.get(1)*s.Std.volume(this._context),this._context)]},this.main=function(e,t){return this._context=e,this._input=t,[this.f_0()[0]]}}},{name:"Rate Of Change",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:0}],inputs:{in_0:9}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"ROC",histogramBase:0,joinPoints:!1,isHidden:!1}},description:"Rate Of Change",shortDescription:"ROC",is_price_study:!1,bands:[{id:"hline_0",name:"Zero Line",isHidden:!1}],inputs:[{id:"in_0",name:"length",defval:9,type:"integer",min:1,max:1e12}],id:"rate_of_change@tv-basicstudies-1",scriptIdPart:"",name:"Rate Of Change",format:{precision:2,type:"price"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=this._context.new_var(s.Std.close(this._context)),r=this._input(0);return[100*(i.get(0)-i.get(r))/i.get(r)]}}},{name:"Relative Strength Index",metainfo:{ -_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#7E57C2"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:70},{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:30}],filledAreasStyle:{fill_0:{color:"#7E57C2",transparency:90,visible:!0}},inputs:{in_0:14}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Relative Strength Index",shortDescription:"RSI",is_price_study:!1,bands:[{id:"hline_0",name:"UpperLimit"},{id:"hline_1",name:"LowerLimit"}],filledAreas:[{id:"fill_0",objAId:"hline_0",objBId:"hline_1",type:"hline_hline",title:"Hlines Background"}],inputs:[{id:"in_0",name:"Length",defval:14,type:"integer",min:1,max:2e3}],id:"Relative Strength Index@tv-basicstudies-1",scriptIdPart:"",name:"Relative Strength Index",format:{precision:2,type:"price"}},constructor:function(){this.f_0=function(e){return s.Std.max(e,0)},this.f_1=function(e){return-s.Std.min(e,0)},this.f_2=function(e,t){return s.Std.eq(e,0)?100:s.Std.eq(t,0)?0:100-100/(1+t/e)},this.main=function(e,t){this._context=e,this._input=t;var i=s.Std.close(this._context),r=this._input(0),n=this._context.new_var(i),o=s.Std.change(n),a=this.f_0(o),l=this._context.new_var(a),c=s.Std.rma(l,r,this._context),h=this.f_1(o),u=this._context.new_var(h),d=s.Std.rma(u,r,this._context);return[this.f_2(d,c)]}}},{name:"Relative Vigor Index",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#009688"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#F44336"}},inputs:{in_0:10}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"}],styles:{plot_0:{title:"RVGI",histogramBase:0,joinPoints:!1},plot_1:{title:"Signal",histogramBase:0,joinPoints:!1}},description:"Relative Vigor Index",shortDescription:"RVGI",is_price_study:!1,inputs:[{id:"in_0",name:"Length",defval:10,type:"integer",min:1,max:2e3}],id:"Relative Vigor Index@tv-basicstudies-1",scriptIdPart:"",name:"Relative Vigor Index",format:{precision:4,type:"price"}},constructor:function(){this.f_0=function(e,t){return e-t},this.f_1=function(e,t){return e/t},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=this.f_0(s.Std.close(this._context),s.Std.open(this._context)),n=this._context.new_var(r),o=s.Std.swma(n,this._context),a=this._context.new_var(o),l=s.Std.sum(a,i,this._context),c=this.f_0(s.Std.high(this._context),s.Std.low(this._context)),h=this._context.new_var(c),u=s.Std.swma(h,this._context),d=this._context.new_var(u),p=s.Std.sum(d,i,this._context),_=this.f_1(l,p),m=this._context.new_var(_);return[_,s.Std.swma(m,this._context)]}}},{name:"Relative Volatility Index",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0, -trackPrice:!1,transparency:0,visible:!0,color:"#7E57C2"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:80},{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:20}],filledAreasStyle:{fill_0:{color:"#7E57C2",transparency:90,visible:!0}},inputs:{in_0:10}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Relative Volatility Index",shortDescription:"RVI",is_price_study:!1,bands:[{id:"hline_0",name:"UpperLimit"},{id:"hline_1",name:"LowerLimit"}],filledAreas:[{id:"fill_0",objAId:"hline_0",objBId:"hline_1",type:"hline_hline",title:"Hlines Background"}],inputs:[{id:"in_0",name:"length",defval:10,type:"integer",min:1,max:2e3}],id:"Relative Volatility Index@tv-basicstudies-1",scriptIdPart:"",name:"Relative Volatility Index",format:{precision:2,type:"price"}},constructor:function(){this.f_0=function(e,t){return s.Std.le(e,0)?0:t},this.f_1=function(e,t){return s.Std.gt(e,0)?0:t},this.f_2=function(e,t){return e/(e+t)*100},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0);this._context.setMinimumAdditionalDepth(i+12);var r=s.Std.close(this._context),n=this._context.new_var(r),o=s.Std.stdev(n,i,this._context),a=this._context.new_var(r),l=s.Std.change(a),c=this.f_0(l,o),h=this._context.new_var(c),u=s.Std.ema(h,14,this._context),d=this.f_1(l,o),p=this._context.new_var(d),_=s.Std.ema(p,14,this._context);return[this.f_2(u,_)]}}},{name:"SMI Ergodic Indicator/Oscillator",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#FF6D00"},plot_2:{linestyle:0,linewidth:1,plottype:1,trackPrice:!1,transparency:0,visible:!0,color:"#FF5252"}},inputs:{in_0:5,in_1:20,in_2:5}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"},{id:"plot_2",type:"line"}],styles:{plot_0:{title:"Indicator",histogramBase:0,joinPoints:!1},plot_1:{title:"Signal",histogramBase:0,joinPoints:!1},plot_2:{title:"Oscillator",histogramBase:0,joinPoints:!1}},description:"SMI Ergodic Indicator/Oscillator",shortDescription:"SMIIO",is_price_study:!1,inputs:[{id:"in_0",name:"shortlen",defval:5,type:"integer",min:1,max:2e3},{id:"in_1",name:"longlen",defval:20,type:"integer",min:1,max:2e3},{id:"in_2",name:"siglen",defval:5,type:"integer",min:1,max:2e3}],id:"SMI Ergodic Indicator/Oscillator@tv-basicstudies-1",scriptIdPart:"",name:"SMI Ergodic Indicator/Oscillator",format:{type:"inherit"}},constructor:function(){this.f_0=function(e,t){return e-t},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=this._input(1),n=this._input(2);this._context.setMinimumAdditionalDepth(i+r+n);var o=s.Std.close(this._context),a=this._context.new_var(o),l=s.Std.tsi(a,i,r,this._context),c=this._context.new_var(l),h=s.Std.ema(c,n,this._context);return[l,h,this.f_0(l,h)]}}},{name:"Smoothed Moving Average",metainfo:{_metainfoVersion:52, -isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#673AB7"}},inputs:{in_0:7,in_1:"close"}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1,isHidden:!1}},description:"Smoothed Moving Average",shortDescription:"SMMA",is_price_study:!0,inputs:[{id:"in_0",name:"Length",defval:7,type:"integer",min:1,max:1e12},{id:"in_1",name:"Source",defval:"close",type:"source",options:["open","high","low","close","hl2","hlc3","ohlc4"]}],id:"smoothed_moving_average@tv-basicstudies-1",scriptIdPart:"",name:"Smoothed Moving Average",format:{type:"inherit"}},constructor:function(){this.f_0=function(){var e=this._input(0),t=s.Std[this._input(1)](this._context),i=this._context.new_var(t),r=s.Std.sma(i,e,this._context),n=this._context.new_var(),o=(n.get(1)*(e-1)+t)/e;return n.set(s.Std.na(n.get(1))?r:o),[n.get(0)]},this.main=function(e,t){return this._context=e,this._input=t,this.f_0()}}},{name:"Standard Deviation",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,id:"Standard Deviation@tv-basicstudies-1",scriptIdPart:"",name:"Standard Deviation",description:"Standard Deviation",shortDescription:"Standard Deviation",is_price_study:!1,plots:[{id:"plot_0",type:"line"}],defaults:{styles:{plot_0:{linestyle:0,visible:!0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,color:"#009688"}},inputs:{periods:5,deviations:1}},styles:{plot_0:{title:"Plot"}},inputs:[{id:"periods",name:"Periods",type:"integer"},{id:"deviations",name:"Deviations",type:"float"}],format:{precision:2,type:"price"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=this._input(1),n=this._context.new_var(s.Std.close(this._context));return[s.Std.stdev(n,i,this._context)*r]}}},{name:"Stochastic",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#FF6D00"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:80},{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:20}],filledAreasStyle:{fill_0:{color:"#2196F3",transparency:90,visible:!0}},inputs:{in_0:14,in_1:1,in_2:3}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"}],styles:{plot_0:{title:"%K",histogramBase:0,joinPoints:!1},plot_1:{title:"%D",histogramBase:0,joinPoints:!1}},description:"Stochastic",shortDescription:"Stoch",is_price_study:!1,bands:[{id:"hline_0",name:"UpperLimit"},{id:"hline_1",name:"LowerLimit"}],filledAreas:[{id:"fill_0",objAId:"hline_0",objBId:"hline_1",type:"hline_hline",title:"Hlines Background"}],inputs:[{id:"in_0",name:"K",defval:14,type:"integer",min:1,max:1e4},{id:"in_1",name:"D",defval:1,type:"integer",min:1,max:1e4},{id:"in_2",name:"smooth",defval:3,type:"integer",min:1,max:1e4}], -id:"Stochastic@tv-basicstudies-1",scriptIdPart:"",name:"Stochastic",format:{precision:2,type:"price"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=this._input(1),n=this._input(2);this._context.setMinimumAdditionalDepth(i+r+n);var o=s.Std.close(this._context),a=s.Std.high(this._context),l=s.Std.low(this._context),c=this._context.new_var(o),h=this._context.new_var(a),u=this._context.new_var(l),d=s.Std.stoch(c,h,u,i,this._context),p=this._context.new_var(d),_=s.Std.sma(p,r,this._context),m=this._context.new_var(_);return[_,s.Std.sma(m,n,this._context)]}}},{name:"Stochastic RSI",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#FF6D00"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:80},{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:20}],filledAreasStyle:{fill_0:{color:"#2196F3",transparency:90,visible:!0}},inputs:{in_0:14,in_1:14,in_2:3,in_3:3}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"}],styles:{plot_0:{title:"%K",histogramBase:0,joinPoints:!1},plot_1:{title:"%D",histogramBase:0,joinPoints:!1}},description:"Stochastic RSI",shortDescription:"Stoch RSI",is_price_study:!1,bands:[{id:"hline_0",name:"UpperLimit"},{id:"hline_1",name:"LowerLimit"}],filledAreas:[{id:"fill_0",objAId:"hline_0",objBId:"hline_1",type:"hline_hline",title:"Hlines Background"}],inputs:[{id:"in_0",name:"lengthRSI",defval:14,type:"integer",min:1,max:1e4},{id:"in_1",name:"lengthStoch",defval:14,type:"integer",min:1,max:1e4},{id:"in_2",name:"smoothK",defval:3,type:"integer",min:1,max:1e4},{id:"in_3",name:"smoothD",defval:3,type:"integer",min:1,max:1e4}],id:"Stochastic RSI@tv-basicstudies-1",scriptIdPart:"",name:"Stochastic RSI",format:{precision:2,type:"price"}},constructor:function(){this.f_1=function(e,t,i){var r=i.new_var(s.Std.max(s.Std.change(e),0));return s.Std.rma(r,t,i)},this.f_2=function(e,t,i){var r=i.new_var(-s.Std.min(s.Std.change(e),0));return s.Std.rma(r,t,i)},this.main=function(e,t){this._context=e,this._input=t;var i=s.Std.close(this._context),r=this._input(0),n=this._input(1),o=this._input(2),a=this._input(3);e.setMinimumAdditionalDepth(r+n+o+a);var l=this._context.new_var(i),c=s.Std.rsi(this.f_1(l,r,this._context),this.f_2(l,r,this._context)),h=this._context.new_var(c),u=this._context.new_var(c),d=this._context.new_var(c),p=s.Std.stoch(h,u,d,n,this._context),_=this._context.new_var(p),m=s.Std.sma(_,o,this._context),f=this._context.new_var(m);return[m,s.Std.sma(f,a,this._context)]}}},{name:"TRIX",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#F44336"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:0}],inputs:{in_0:18}},plots:[{id:"plot_0", -type:"line"}],styles:{plot_0:{title:"TRIX",histogramBase:0,joinPoints:!1}},description:"TRIX",shortDescription:"TRIX",is_price_study:!1,bands:[{id:"hline_0",name:"Zero"}],inputs:[{id:"in_0",name:"length",defval:18,type:"integer",min:1,max:2e3}],id:"TRIX@tv-basicstudies-1",scriptIdPart:"",name:"TRIX",format:{precision:2,type:"price"}},constructor:function(){this.f_0=function(e){return s.Std.log(e)},this.f_1=function(e){return 1e4*e},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0);e.setMinimumAdditionalDepth(3*i);var r=this.f_0(s.Std.close(this._context)),n=this._context.new_var(r),o=s.Std.ema(n,i,this._context),a=this._context.new_var(o),l=s.Std.ema(a,i,this._context),c=this._context.new_var(l),h=s.Std.ema(c,i,this._context),u=this._context.new_var(h),d=s.Std.change(u);return[this.f_1(d)]}}},{name:"Triple EMA",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:9}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Triple EMA",shortDescription:"TEMA",is_price_study:!0,inputs:[{id:"in_0",name:"length",defval:9,type:"integer",min:1,max:1e4}],id:"Triple EMA@tv-basicstudies-1",scriptIdPart:"",name:"Triple EMA",format:{type:"inherit"}},constructor:function(){this.f_0=function(e,t,i){return 3*(e-t)+i},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0);this._context.setMinimumAdditionalDepth(3*i);var r=s.Std.close(this._context),n=this._context.new_var(r),o=s.Std.ema(n,i,this._context),a=this._context.new_var(o),l=s.Std.ema(a,i,this._context),c=this._context.new_var(l),h=s.Std.ema(c,i,this._context);return[this.f_0(o,l,h)]}}},{name:"True Strength Indicator",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#E91E63"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:0}],inputs:{in_0:25,in_1:13,in_2:13}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1},plot_1:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"True Strength Indicator",shortDescription:"True Strength Indicator",is_price_study:!1,bands:[{id:"hline_0",name:"Zero"}],inputs:[{id:"in_0",name:"long",defval:25,type:"integer",min:1,max:4999},{id:"in_1",name:"short",defval:13,type:"integer",min:1,max:4999},{id:"in_2",name:"siglen",defval:13,type:"integer",min:1,max:4999}],id:"True Strength Indicator@tv-basicstudies-1",scriptIdPart:"",name:"True Strength Indicator",format:{precision:4,type:"price"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=this._input(1),n=this._input(2) -;this._context.setMinimumAdditionalDepth(this._input(0)+this._input(1)+this._input(2));var o=s.Std.close(this._context),a=this._context.new_var(o),l=s.Std.tsi(a,r,i,this._context),c=this._context.new_var(l);return[l,s.Std.ema(c,n,this._context)]}}},{name:"Trend Strength Index",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,is_price_study:!1,id:"Trend Strength Index@tv-basicstudies-1",scriptIdPart:"",name:"Trend Strength Index",description:"Trend Strength Index",shortDescription:"Trend Strength Index",plots:[{id:"plot_0",type:"line"}],defaults:{styles:{plot_0:{linestyle:0,visible:!0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,color:"#FF5252"}},inputs:{periods:14}},styles:{plot_0:{title:"Plot"}},inputs:[{id:"periods",type:"integer",name:"Periods"}],format:{type:"inherit"}},constructor:function(){this.init=function(e,t){this._context=e,this._input=t,this.period=this._input(0),this.invertedPeriod=1/this.period,this.sumX=(this.period-1)*this.period/2,this.sumXX=(this.period-1)*this.period*(2*this.period-1)/6,this.invertedPeriodSumXSumX=this.invertedPeriod*this.sumX*this.sumX},this.trendStrengthIndex=function(){for(var e=this._context.new_var(s.Std.close(this._context)),t=s.Std.sum(e,this.period,this._context),i=0,r=0,n=0;n0?1:-1:a/(l=Math.sqrt(l))},this.main=function(e,t){return this._context=e,this._input=t,[this.trendStrengthIndex()]}}},{name:"Typical Price",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,id:"TypicalPrice@tv-basicstudies-1",scriptIdPart:"",name:"Typical Price",description:"Typical Price",shortDescription:"Typical Price",is_price_study:!0,plots:[{id:"plot_0",type:"line"}],defaults:{styles:{plot_0:{linestyle:0,visible:!0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,color:"#FF6D00"}},inputs:{}},styles:{plot_0:{title:"Plot"}},inputs:[],format:{type:"inherit"}},constructor:function(){this.main=function(e,t){return this._context=e,this._input=t,[s.Std.hlc3(this._context)]}}},{name:"Ultimate Oscillator",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#F44336"}},inputs:{in_0:7,in_1:14,in_2:28}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"UO",histogramBase:0,joinPoints:!1,isHidden:!1}},description:"Ultimate Oscillator",shortDescription:"UO",is_price_study:!1,inputs:[{id:"in_0",name:"length7",defval:7,type:"integer",min:1,max:1e12},{id:"in_1",name:"length14",defval:14,type:"integer",min:1,max:1e12},{id:"in_2",name:"length28",defval:28,type:"integer",min:1,max:1e12}],id:"ultimate_oscillator@tv-basicstudies-1",scriptIdPart:"",name:"Ultimate Oscillator",format:{precision:2,type:"price"}},constructor:function(){this.f_0=function(e,t,i){var r=this._context.new_var(e),n=this._context.new_var(t) -;return[s.Std.sum(r,i,this._context)/s.Std.sum(n,i,this._context)]},this.f_1=function(){var e=this._input(0),t=this._input(1),i=this._input(2),r=this._context.new_var(s.Std.close(this._context)),n=s.Std.max(s.Std.high(this._context),r.get(1)),o=this._context.new_var(s.Std.close(this._context)),a=s.Std.min(s.Std.low(this._context),o.get(1)),l=s.Std.close(this._context)-a,c=n-a,h=this.f_0(l,c,e),u=this.f_0(l,c,t),d=this.f_0(l,c,i);return[100*(4*h[0]+2*u[0]+d[0])/7]},this.main=function(e,t){return this._context=e,this._input=t,this.f_1()}}},{name:"Volatility Close-to-Close",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,is_price_study:!1,id:"Volatility Close-to-Close@tv-basicstudies-1",scriptIdPart:"",name:"Volatility Close-to-Close",description:"Volatility Close-to-Close",shortDescription:"Volatility Close-to-Close",plots:[{id:"plot_0",type:"line"}],defaults:{styles:{plot_0:{linestyle:0,visible:!0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,color:"#2196F3"}},inputs:{periods:10,daysPerYear:252}},styles:{plot_0:{title:"Plot"}},inputs:[{id:"periods",name:"Periods",type:"integer",defval:10},{id:"daysPerYear",name:"Days Per Year",type:"integer",defval:252}],format:{precision:2,type:"percent"}},constructor:function(){this.init=function(e,t){this._context=e,this._input=t,this.period=this._input(0),this.daysPerYear=this._input(1)},this.stdev=function(e,t,i){var r=this.variance(e,t,i);return s.Std.sqrt(r)},this.variance=function(e,t,i){var r=s.Std.sma(e,t,i);return this.variance2(e,r,t)},this.variance2=function(e,t,i){var s,r,n=0;for(s=0;s0&&(a=.12*this.square(e.get()-r.get(1))/this.marketClosedPercentage+.88*a/(1-this.marketClosedPercentage)),a/=o,a*=this.secondsPerYear;var l=this._context.new_var(a);return 100*Math.sqrt(s.Std.sum(l,this.period,this._context)/this.period)},this.main=function(e,t){return this._context=e,this._input=t,[this.volatilityOHLC()]}}},{name:"Volatility Index",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,is_price_study:!0,id:"Volatility Index@tv-basicstudies-1",scriptIdPart:"",name:"Volatility Index",description:"Volatility Index",shortDescription:"Volatility Index",plots:[{id:"plot_0",type:"line"}],defaults:{styles:{plot_0:{linestyle:0,visible:!0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,color:"#FF5252"}},inputs:{periods:10,atrMult:3,method:"Wilder Smoothing"}},styles:{plot_0:{title:"Plot"}},inputs:[{id:"periods",name:"Periods",type:"integer"},{id:"atrMult",name:"ATR Mult",type:"float"},{id:"method",name:"Method",type:"text",defval:"Exponential",options:["Exponential","Wilder Smoothing"]}],format:{type:"inherit"}},constructor:function(){ -this.init=function(e,t){this._context=e,this._input=t,this.period=this._input(0),this.atrMult=this._input(1),this.maMethod=this._input(2),this.nextsar=null,this.position=null,this.sic=null,this.bars=[],this.count=0,this.lastSar=null,this._context.setMinimumAdditionalDepth("Exponential"===this.maMethod?2*this.period+2:this.period)},this.highest=function(e,t){for(var i=this.bars.length-this.period,s=this.bars[i],r=i+1;rs&&(s=this.bars[r]);return s},this.computeATR=function(){var e=s.Std.high(this._context)-s.Std.low(this._context),t=s.Std.high(this._context)-this.bars[this.bars.length-2],i=this.bars[this.bars.length-2]-s.Std.low(this._context);return this.tr=Math.max(e,t,i),"Exponential"===this.maMethod?this.atr=s.Std.ema(this._context.new_var(this.tr),this.period,this._context):this.atr=this.tr/this.period+(1-1/this.period)*this.atr,this.atr*this.atrMult},this.calculateVolatility=function(){if(s.Std.close(this._context)===this.bars[this.bars.length-1])return this.lastSar;if(this.bars.push(s.Std.close(this._context)),1===this.count)this.atr=s.Std.high(this._context)-s.Std.low(this._context),this.sic=s.Std.close(this._context);else if(this.countthis.sic&&(this.sic=s.Std.close(this._context))}else if(this.count===this.period){e=s.Std.high(this._context)-s.Std.low(this._context),t=s.Std.high(this._context)-this.bars[this.bars.length-2],i=this.bars[this.bars.length-2]-s.Std.low(this._context);this.atr+=Math.max(e,t,i),this.atr*=1/this.period,s.Std.close(this._context)>this.sic&&(this.sic=s.Std.close(this._context)),this.position="LONG",this.nextsar=this.sic-this.atr*this.atrMult}else{var r=this.nextsar;"LONG"===this.position?s.Std.close(this._context)r?(this.position="LONG",this.sic=s.Std.close(this._context),this.nextsar=this.sic-this.computeATR()):(this.position="SHORT",this.sic=Math.min(s.Std.close(this._context),this.sic),this.nextsar=this.sic+this.computeATR())),this.lastSar=r}return this.count++,r},this.main=function(e,t){return this._context=e,this._input=t,this._context.select_sym(0),[this.calculateVolatility()]}}},{name:"VWAP",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:0,transparency:0,visible:!0,color:"#2196F3"}}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"VWAP",histogramBase:0,joinPoints:!1,isHidden:!1}},description:"VWAP",shortDescription:"VWAP",is_price_study:!0,inputs:[],id:"VWAP@tv-basicstudies-1",scriptIdPart:"",name:"VWAP",format:{type:"inherit"} -},constructor:function(){this.f_1=function(e){e.hist=null,e.add_hist()},this.init=function(e,t){this._isNewSession=null},this.main=function(e,t){this._context=e,this._input=t;var i=e.new_var(),r=e.new_var(),n=this._context.symbol.time;return n&&(null===this._isNewSession&&(this._isNewSession=s.Std.createNewSessionCheck(e)),this._isNewSession(n)&&(this.f_1(i),this.f_1(r))),i.set(s.Std.nz(i.get(1))+s.Std.hlc3(this._context)*s.Std.volume(this._context)),r.set(s.Std.nz(r.get(1))+s.Std.volume(this._context)),[i.get(0)/r.get(0)]}}},{name:"VWMA",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:20}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"VWMA",shortDescription:"VWMA",is_price_study:!0,inputs:[{id:"in_0",name:"len",defval:20,type:"integer",min:1,max:1e4}],id:"VWMA@tv-basicstudies-1",scriptIdPart:"",name:"VWMA",format:{type:"inherit"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=s.Std.close(this._context),r=this._input(0),n=this._context.new_var(i);return[s.Std.vwma(n,r,this._context)]}}},{name:"Volume Oscillator",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:0}],inputs:{in_0:5,in_1:10}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Volume Oscillator",shortDescription:"Volume Osc",is_price_study:!1,bands:[{id:"hline_0",name:"Zero"}],inputs:[{id:"in_0",name:"shortlen",defval:5,type:"integer",min:1,max:4999},{id:"in_1",name:"longlen",defval:10,type:"integer",min:1,max:4999}],id:"Volume Oscillator@tv-basicstudies-1",scriptIdPart:"",name:"Volume Oscillator",format:{precision:2,type:"percent"}},constructor:function(){this.f_0=function(e,t){return 100*(e-t)/t},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=this._input(1),n=s.Std.volume(this._context),o=this._context.new_var(n),a=s.Std.ema(o,i,this._context),l=this._context.new_var(n),c=s.Std.ema(l,r,this._context);return[this.f_0(a,c)]}}},{name:"Vortex Indicator",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#E91E63"}},inputs:{in_0:14}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"}],styles:{plot_0:{title:"VI +",histogramBase:0,joinPoints:!1,isHidden:!1},plot_1:{title:"VI -",histogramBase:0,joinPoints:!1,isHidden:!1}},description:"Vortex Indicator",shortDescription:"VI",is_price_study:!1,is_hidden_study:!1,id:"vortex_indicator@tv-basicstudies-1",inputs:[{id:"in_0",name:"Period", -defval:14,type:"integer",min:2,max:1e12}],scriptIdPart:"",name:"Vortex Indicator",format:{precision:4,type:"price"}},constructor:function(){this.f_0=function(){var e=this._input(0),t=this._context.new_var(s.Std.low(this._context)),i=this._context.new_var(s.Std.abs(s.Std.high(this._context)-t.get(1))),r=s.Std.sum(i,e,this._context),n=this._context.new_var(s.Std.high(this._context)),o=this._context.new_var(s.Std.abs(s.Std.low(this._context)-n.get(1))),a=s.Std.sum(o,e,this._context),l=this._context.new_var(s.Std.atr(1,this._context)),c=s.Std.sum(l,e,this._context);return[r/c,a/c]},this.main=function(e,t){return this._context=e,this._input=t,this.f_0()}}},{name:"Willams %R",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#7E57C2"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:-20},{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:-80}],filledAreasStyle:{fill_0:{color:"#7E57C2",transparency:90,visible:!0}},inputs:{in_0:14}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Williams %R",shortDescription:"%R",is_price_study:!1,bands:[{id:"hline_0",name:"UpperLimit"},{id:"hline_1",name:"LowerLimit"}],filledAreas:[{id:"fill_0",objAId:"hline_0",objBId:"hline_1",type:"hline_hline",title:"Hlines Background"}],inputs:[{id:"in_0",name:"length",defval:14,type:"integer",min:1,max:2e3}],id:"Willams %R@tv-basicstudies-1",scriptIdPart:"",name:"Willams %R",format:{precision:2,type:"price"}},constructor:function(){this.f_0=function(e,t,i){return 100*(e-t)/(t-i)},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=s.Std.high(this._context),n=this._context.new_var(r),o=s.Std.highest(n,i,this._context),a=s.Std.low(this._context),l=this._context.new_var(a),c=s.Std.lowest(l,i,this._context);return[this.f_0(s.Std.close(this._context),o,c)]}}},{name:"Williams Alligator",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#E91E63"},plot_2:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#66BB6A"}},inputs:{in_0:21,in_1:13,in_2:8}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"},{id:"plot_2",type:"line"}],styles:{plot_0:{title:"Jaw",histogramBase:0,joinPoints:!1},plot_1:{title:"Teeth",histogramBase:0,joinPoints:!1},plot_2:{title:"Lips",histogramBase:0,joinPoints:!1}},description:"Williams Alligator",shortDescription:"Alligator",is_price_study:!0,inputs:[{id:"in_0",name:"jawLength",defval:21,type:"integer",min:1,max:2e3},{id:"in_1",name:"teethLength",defval:13,type:"integer",min:1,max:2e3},{id:"in_2",name:"lipsLength",defval:8,type:"integer",min:1,max:2e3}],id:"Williams Alligator@tv-basicstudies-1",scriptIdPart:"", -name:"Williams Alligator",format:{type:"inherit"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=this._input(1),n=this._input(2),o=s.Std.hl2(this._context),a=this._context.new_var(o),l=s.Std.ema(a,i,this._context),c=this._context.new_var(o),h=s.Std.ema(c,r,this._context),u=this._context.new_var(o);return[{value:l,offset:8},{value:h,offset:5},{value:s.Std.ema(u,n,this._context),offset:3}]}}},{name:"Williams Fractals",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,defaults:{styles:{plot_0:{plottype:"shape_triangle_down",visible:!0,location:"BelowBar",transparency:0,color:"#F44336"},plot_1:{plottype:"shape_triangle_up",visible:!0,location:"AboveBar",transparency:0,color:"#009688"}},inputs:{in_0:2}},plots:[{id:"plot_0",type:"shapes"},{id:"plot_1",type:"shapes"}],styles:{plot_0:{title:"Down fractals",isHidden:!1},plot_1:{title:"Up fractals",isHidden:!1}},description:"Williams Fractal",shortDescription:"Fractals",is_price_study:!0,is_hidden_study:!1,id:"Williams Fractals@tv-basicstudies-1",inputs:[{id:"in_0",name:"Periods",defval:2,type:"integer",min:2,max:1e12}],scriptIdPart:"",name:"Williams Fractals",isCustomIndicator:!0,format:{type:"inherit"}},constructor:function(){this.f_0=function(){for(var e=this._input(0),t=this._context.new_var(s.Std.high(this._context)),i=!0,r=!0,n=!0,o=!0,a=!0,l=!0,c=1;c<=e;c++)i=s.Std.and(i,s.Std.lt(t.get(e-c),t.get(e))),r=s.Std.and(r,s.Std.lt(t.get(e+c),t.get(e))),n=s.Std.and(n,s.Std.and(s.Std.le(t.get(e+1),t.get(e)),s.Std.lt(t.get(e+c+1),t.get(e)))),o=s.Std.and(o,s.Std.and(s.Std.le(t.get(e+1),t.get(e)),s.Std.and(s.Std.le(t.get(e+2),t.get(e)),s.Std.lt(t.get(e+c+2),t.get(e))))),a=s.Std.and(a,s.Std.and(s.Std.le(t.get(e+1),t.get(e)),s.Std.and(s.Std.le(t.get(e+2),t.get(e)),s.Std.and(s.Std.le(t.get(e+3),t.get(e)),s.Std.lt(t.get(e+c+3),t.get(e)))))),l=s.Std.and(l,s.Std.and(s.Std.le(t.get(e+1),t.get(e)),s.Std.and(s.Std.le(t.get(e+2),t.get(e)),s.Std.and(s.Std.le(t.get(e+3),t.get(e)),s.Std.and(s.Std.le(t.get(e+4),t.get(e)),s.Std.lt(t.get(e+c+4),t.get(e)))))));var h=s.Std.or(r,s.Std.or(n,s.Std.or(o,s.Std.or(a,l)))),u=s.Std.and(i,h),d=this._context.new_var(s.Std.low(this._context)),p=1,_=1,m=1,f=1,g=1,v=1;for(c=1;c<=e;c++)p=s.Std.and(p,s.Std.gt(d.get(e-c),d.get(e))),_=s.Std.and(_,s.Std.gt(d.get(e+c),d.get(e))),m=s.Std.and(m,s.Std.and(s.Std.ge(d.get(e+1),d.get(e)),s.Std.gt(d.get(e+c+1),d.get(e)))),f=s.Std.and(f,s.Std.and(s.Std.ge(d.get(e+1),d.get(e)),s.Std.and(s.Std.ge(d.get(e+2),d.get(e)),s.Std.gt(d.get(e+c+2),d.get(e))))),g=s.Std.and(g,s.Std.and(s.Std.ge(d.get(e+1),d.get(e)),s.Std.and(s.Std.ge(d.get(e+2),d.get(e)),s.Std.and(s.Std.ge(d.get(e+3),d.get(e)),s.Std.gt(d.get(e+c+3),d.get(e)))))),v=s.Std.and(v,s.Std.and(s.Std.ge(d.get(e+1),d.get(e)),s.Std.and(s.Std.ge(d.get(e+2),d.get(e)),s.Std.and(s.Std.ge(d.get(e+3),d.get(e)),s.Std.and(s.Std.ge(d.get(e+4),d.get(e)),s.Std.gt(d.get(e+c+4),d.get(e)))))));var b=s.Std.or(_,s.Std.or(m,s.Std.or(f,s.Std.or(g,v))));return[s.Std.and(p,b),u]},this.main=function(e,t){this._context=e,this._input=t -;var i=this.f_0();return[{value:i[0],offset:-this._input(0)},{value:i[1],offset:-this._input(0)}]}}},{name:"Guppy Multiple Moving Average",metainfo:{isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,description:"Guppy Multiple Moving Average",shortDescription:"GMMA",is_price_study:!0,id:"Guppy Multiple Moving Average@tv-basicstudies-1",_metainfoVersion:52,format:{type:"inherit"},defaults:{inputs:{traderEMA1Length:3,traderEMA2Length:5,traderEMA3Length:8,traderEMA4Length:10,traderEMA5Length:12,traderEMA6Length:15,investorEMA1Length:30,investorEMA2Length:35,investorEMA3Length:40,investorEMA4Length:45,investorEMA5Length:50,investorEMA6Length:60},styles:{traderEMA1:{color:"#00FFFF",linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:15,visible:!0},traderEMA2:{color:"#00FFFF",linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:12,visible:!0},traderEMA5:{color:"#FF0000",linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:3,visible:!0},investorEMA6:{color:"#FF0000",linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0},traderEMA3:{color:"#00FFFF",linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:9,visible:!0},traderEMA4:{color:"#00FFFF",linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:6,visible:!0},traderEMA5:{color:"#00FFFF",linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:3,visible:!0},traderEMA6:{color:"#00FFFF",linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0},investorEMA1:{color:"#FF0000",linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:15,visible:!0},investorEMA2:{color:"#FF0000",linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:12,visible:!0},investorEMA3:{color:"#FF0000",linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:9,visible:!0},investorEMA4:{color:"#FF0000",linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:6,visible:!0}}},inputs:[{defval:3,id:"traderEMA1Length",max:1e3,min:1,name:"Trader EMA 1 length",type:"integer"},{defval:5,id:"traderEMA2Length",max:1e3,min:1,name:"Trader EMA 2 length",type:"integer"},{defval:8,id:"traderEMA3Length",max:1e3,min:1,name:"Trader EMA 3 length",type:"integer"},{defval:10,id:"traderEMA4Length",max:1e3,min:1,name:"Trader EMA 4 length",type:"integer"},{defval:12,id:"traderEMA5Length",max:1e3,min:1,name:"Trader EMA 5 length",type:"integer"},{defval:15,id:"traderEMA6Length",max:1e3,min:1,name:"Trader EMA 6 length",type:"integer"},{defval:30,id:"investorEMA1Length",max:1e3,min:1,name:"Investor EMA 1 length",type:"integer"},{defval:35,id:"investorEMA2Length",max:1e3,min:1,name:"Investor EMA 2 length",type:"integer"},{defval:40,id:"investorEMA3Length",max:1e3,min:1,name:"Investor EMA 3 length",type:"integer"},{defval:45,id:"investorEMA4Length",max:1e3,min:1,name:"Investor EMA 4 length",type:"integer"},{defval:50,id:"investorEMA5Length",max:1e3,min:1,name:"Investor EMA 5 length",type:"integer"},{defval:60,id:"investorEMA6Length",max:1e3,min:1,name:"Investor EMA 6 length",type:"integer"}],plots:[{id:"traderEMA1",type:"line"},{ -id:"traderEMA2",type:"line"},{id:"traderEMA3",type:"line"},{id:"traderEMA4",type:"line"},{id:"traderEMA5",type:"line"},{id:"traderEMA6",type:"line"},{id:"investorEMA1",type:"line"},{id:"investorEMA2",type:"line"},{id:"investorEMA3",type:"line"},{id:"investorEMA4",type:"line"},{id:"traderEMA5",type:"line"},{id:"investorEMA6",type:"line"}],styles:{traderEMA1:{histogramBase:0,isHidden:!1,joinPoints:!1,title:"Trader EMA 1"},traderEMA2:{histogramBase:0,isHidden:!1,joinPoints:!1,title:"Trader EMA 2"},traderEMA3:{histogramBase:0,isHidden:!1,joinPoints:!1,title:"Trader EMA 3"},traderEMA4:{histogramBase:0,isHidden:!1,joinPoints:!1,title:"Trader EMA 4"},traderEMA5:{histogramBase:0,isHidden:!1,joinPoints:!1,title:"Trader EMA 5"},traderEMA6:{histogramBase:0,isHidden:!1,joinPoints:!1,title:"Trader EMA 6"},investorEMA1:{histogramBase:0,isHidden:!1,joinPoints:!1,title:"Investor EMA 1"},investorEMA2:{histogramBase:0,isHidden:!1,joinPoints:!1,title:"Investor EMA 2"},investorEMA3:{histogramBase:0,isHidden:!1,joinPoints:!1,title:"Investor EMA 3"},investorEMA4:{histogramBase:0,isHidden:!1,joinPoints:!1,title:"Investor EMA 4"},investorEMA5:{histogramBase:0,isHidden:!1,joinPoints:!1,title:"Investor EMA 5"},investorEMA6:{histogramBase:0,isHidden:!1,joinPoints:!1,title:"Investor EMA 6"}}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=this._context.new_var(s.Std.close(this._context)),r=this._input(0),n=this._input(1),o=this._input(2),a=this._input(3),l=this._input(4),c=this._input(5),h=s.Std.ema(i,r,this._context),u=s.Std.ema(i,n,this._context),d=s.Std.ema(i,o,this._context),p=s.Std.ema(i,a,this._context),_=s.Std.ema(i,l,this._context),m=s.Std.ema(i,c,this._context),f=this._input(6),g=this._input(7),v=this._input(8),b=this._input(9),S=this._input(10),y=this._input(11);return[h,u,d,p,_,m,s.Std.ema(i,f,this._context),s.Std.ema(i,g,this._context),s.Std.ema(i,v,this._context),s.Std.ema(i,b,this._context),s.Std.ema(i,S,this._context),s.Std.ema(i,y,this._context)]}}}]},"2h0C":function(e,t,i){var s=i("txPx").getLogger("Chart.PropertyPage.Binding");function r(e,t,i,r,n,o){e?(this._control=e,this._property=t,this._applyOnFly=i,this._undoModel=r,this._undoText=n,this._doesNotAffectSave=!1,t&&(this._formatters=[],this._changed=!1,this.setValue(t.value()),t.subscribe(this,this.propertyChanged))):s.logDebug("Missing control")}r.prototype.addFormatter=function(e){this._formatters.push(e),this.setValue(this._property.value())},r.prototype._formatValue=function(e){return this._formatters.reduce((function(e,t){return t(e)}),e)},r.prototype._setValueToProperty=function(e){this._setter?this._setter.call(this,e):this.setValueToProperty(e)},r.prototype._attachToControl=function(e,t){var i=this;t?e.on("keyup change input",(function(e){var t=i.value();i._setValueToProperty(t),i.setValue(t)})):(e.keypress((function(e){if(i._changed=!0,13===e.which){var t=i.value();i._setValueToProperty(t),i.setValue(t)}})),e.focusout((function(e){var t=i.value();i.changed()&&(i._setValueToProperty(t),i.setValue(t))})),e.change((function(e){ -var t=i.value();$(e.target).is(".ticker")?(void 0!==i._changeTimerId&&clearTimeout(i._changeTimerId),i._changeTimerId=setTimeout((function(){i._setValueToProperty(t)}),250)):i._setValueToProperty(t),i.setValue(t)})))},r.prototype.control=function(){return this._control},r.prototype.changed=function(){return this._changed},r.prototype.setValueToProperty=function(e){this._undoModel.setProperty(this._property,e,this._undoText,this._doesNotAffectSave),this._changed=!1},r.prototype.property=function(){return this._property},r.prototype.propertyChanged=function(e){this.setValue(e.value())},r.prototype.destroy=function(){this._property&&this._property.unsubscribe(this,this.propertyChanged)},r.prototype.disableAffectingSave=function(){this._doesNotAffectSave=!0},t.Binding=r},"2ijp":function(e,t,i){"use strict";i.d(t,"a",(function(){return n}));var s=i("l4sv"),r=i("8Uy/");class n{constructor(){this._lineRendererData={y:0,color:"rgba(0, 0, 0, 0)",linewidth:1,linestyle:r.LINESTYLE_SOLID,visible:!1},this._lineRenderer=new s.HorizontalLineRenderer,this._invalidated=!0,this._lineRenderer.setData(this._lineRendererData)}update(){this._invalidated=!0}renderer(){return this._invalidated&&(this._updateImpl(),this._invalidated=!1),this._lineRenderer}}},"2jXJ":function(e,t,i){"use strict";i.r(t),i.d(t,"supportedLineTools",(function(){return s}));const s={cursor:{name:"cursor",onlySelectable:!0},dot:{name:"dot",onlySelectable:!0},arrow_cursor:{name:"arrow",onlySelectable:!0},eraser:{name:"eraser",onlySelectable:!0},measure:{name:"measure",onlySelectable:!0},zoom:{name:"zoom",onlySelectable:!0},brush:{name:"LineToolBrush"},highlighter:{name:"LineToolHighlighter"},text:{name:"LineToolText"},anchored_text:{name:"LineToolTextAbsolute"},note:{name:"LineToolNote"},anchored_note:{name:"LineToolNoteAbsolute"},signpost:{name:"LineToolSignpost"},callout:{name:"LineToolCallout"},balloon:{name:"LineToolBalloon"},arrow_up:{name:"LineToolArrowMarkUp"},arrow_down:{name:"LineToolArrowMarkDown"},arrow_left:{name:"LineToolArrowMarkLeft"},arrow_right:{name:"LineToolArrowMarkRight"},price_label:{name:"LineToolPriceLabel"},price_note:{name:"LineToolPriceNote"},arrow_marker:{name:"LineToolArrowMarker"},flag:{name:"LineToolFlagMark"},vertical_line:{name:"LineToolVertLine"},horizontal_line:{name:"LineToolHorzLine"},cross_line:{name:"LineToolCrossLine"},horizontal_ray:{name:"LineToolHorzRay"},trend_line:{name:"LineToolTrendLine"},info_line:{name:"LineToolInfoLine"},trend_angle:{name:"LineToolTrendAngle"},arrow:{name:"LineToolArrow"},ray:{name:"LineToolRay"},extended:{name:"LineToolExtended"},parallel_channel:{name:"LineToolParallelChannel"},disjoint_angle:{name:"LineToolDisjointAngle"},flat_bottom:{name:"LineToolFlatBottom"},pitchfork:{name:"LineToolPitchfork"},schiff_pitchfork_modified:{name:"LineToolSchiffPitchfork"},schiff_pitchfork:{name:"LineToolSchiffPitchfork2"},inside_pitchfork:{name:"LineToolInsidePitchfork"},pitchfan:{name:"LineToolPitchfan"},gannbox:{name:"LineToolGannSquare"},gannbox_square:{name:"LineToolGannComplex"},gannbox_fixed:{ -name:"LineToolGannFixed"},gannbox_fan:{name:"LineToolGannFan"},fib_retracement:{name:"LineToolFibRetracement"},fib_trend_ext:{name:"LineToolTrendBasedFibExtension"},fib_speed_resist_fan:{name:"LineToolFibSpeedResistanceFan"},fib_timezone:{name:"LineToolFibTimeZone"},fib_trend_time:{name:"LineToolTrendBasedFibTime"},fib_circles:{name:"LineToolFibCircles"},fib_spiral:{name:"LineToolFibSpiral"},fib_speed_resist_arcs:{name:"LineToolFibSpeedResistanceArcs"},fib_wedge:{name:"LineToolFibWedge"},fib_channel:{name:"LineToolFibChannel"},xabcd_pattern:{name:"LineTool5PointsPattern"},cypher_pattern:{name:"LineToolCypherPattern"},abcd_pattern:{name:"LineToolABCD"},triangle_pattern:{name:"LineToolTrianglePattern"},"3divers_pattern":{name:"LineToolThreeDrivers"},head_and_shoulders:{name:"LineToolHeadAndShoulders"},elliott_impulse_wave:{name:"LineToolElliottImpulse"},elliott_triangle_wave:{name:"LineToolElliottTriangle"},elliott_triple_combo:{name:"LineToolElliottTripleCombo"},elliott_correction:{name:"LineToolElliottCorrection"},elliott_double_combo:{name:"LineToolElliottDoubleCombo"},cyclic_lines:{name:"LineToolCircleLines"},time_cycles:{name:"LineToolTimeCycles"},sine_line:{name:"LineToolSineLine"},long_position:{name:"LineToolRiskRewardLong"},short_position:{name:"LineToolRiskRewardShort"},forecast:{name:"LineToolPrediction"},date_range:{name:"LineToolDateRange"},price_range:{name:"LineToolPriceRange"},date_and_price_range:{name:"LineToolDateAndPriceRange"},bars_pattern:{name:"LineToolBarsPattern"},ghost_feed:{name:"LineToolGhostFeed"},projection:{name:"LineToolProjection"},rectangle:{name:"LineToolRectangle"},rotated_rectangle:{name:"LineToolRotatedRectangle"},ellipse:{name:"LineToolEllipse"},triangle:{name:"LineToolTriangle"},polyline:{name:"LineToolPolyline"},path:{name:"LineToolPath"},curve:{name:"LineToolBezierQuadro"},double_curve:{name:"LineToolBezierCubic"},arc:{name:"LineToolArc"},icon:{name:"LineToolIcon"}}},"2kV1":function(e,t,i){"use strict";i.r(t),i.d(t,"StudyStatusView",(function(){return r}));var s=i("nBJD");class r extends s.a{constructor(e){super(e.statusProvider({}))}color(){return this._statusProvider.color()}getSplitTitle(){return this._statusProvider.getSplitTitle()}update(){this._text=this._statusProvider.text()}}},"2uTr":function(e,t,i){"use strict";function s(e){return e+"…"}i.r(t),i.d(t,"appendEllipsis",(function(){return s}))},"3/8U":function(e,t,i){"use strict";function s(e){return"dark"===e?"rgba(30,136,229,0.25)":"rgba(33,150,243,0.25)"}i.r(t),i.d(t,"axesHighlightColor",(function(){return s}))},"38az":function(e,t,i){"use strict";var s=i("k9/m").PlotRowSearchMode,r=i("Tmoa").rgbaFromInteger;function n(){this.backColorers=[]}function o(e){n.call(this),this._series=e}function a(e,t){n.call(this),this._study=e,this._plotIndex=t}n.prototype.barStyle=function(e,t,i){for(var s={},r=this.backColorers.length-1;r>=0;r--)this.backColorers[r].applyBarStyle(e,t,s,i);return this.applyBarStyle(e,t,s,i),s},n.prototype.pushBackBarColorer=function(e){this.backColorers.push(e)}, -n.prototype.applyBarStyle=function(e,t,i){throw new Error("This function is supposed to be reimplemented in a subclass")},inherit(o,n),o.upColor=function(e,t){switch(e.style.value()){case TradingView.Series.STYLE_LINE:return e.lineStyle.color.value();case TradingView.Series.STYLE_AREA:return e.areaStyle.linecolor.value();case TradingView.Series.STYLE_BARS:return e.barStyle.upColor.value();case TradingView.Series.STYLE_CANDLES:return e.candleStyle.upColor.value();case TradingView.Series.STYLE_HOLLOW_CANDLES:return e.hollowCandleStyle.upColor.value();case TradingView.Series.STYLE_HEIKEN_ASHI:return e.haStyle.upColor.value();case TradingView.Series.STYLE_BASELINE:return e.baselineStyle.topLineColor.value();case TradingView.Series.STYLE_HILO:return e.hiloStyle.color.value()}throw new Error("Unknown series style")},o.downColor=function(e,t){switch(e.style.value()){case TradingView.Series.STYLE_LINE:return e.lineStyle.color.value();case TradingView.Series.STYLE_AREA:return e.areaStyle.linecolor.value();case TradingView.Series.STYLE_BARS:return e.barStyle.downColor.value();case TradingView.Series.STYLE_CANDLES:return e.candleStyle.downColor.value();case TradingView.Series.STYLE_HOLLOW_CANDLES:return e.hollowCandleStyle.downColor.value();case TradingView.Series.STYLE_HEIKEN_ASHI:return e.haStyle.downColor.value();case TradingView.Series.STYLE_BASELINE:return e.baselineStyle.bottomLineColor.value();case TradingView.Series.STYLE_HILO:return e.hiloStyle.color.value()}throw new Error("Unknown series style")},o.prototype._applyLineStyle=function(e,t,i,s,r){i.barColor=o.upColor(r)},o.prototype._applyAreaStyle=function(e,t,i,s,r){i.barColor=o.upColor(r)},o.prototype._applyBarStyle=function(e,t,i,s,r){var n=o.upColor(r),a=o.downColor(r),l=this.findBar(e,!1,s);if(r.barStyle.barColorsOnPrevClose.value()){var c=this.findPrevBar(e,!1,s);i.barColor=c[TradingView.CLOSE_PLOT]<=l[TradingView.CLOSE_PLOT]?n:a,i.barBorderColor=c[TradingView.CLOSE_PLOT]<=l[TradingView.CLOSE_PLOT]?n:a}else i.barColor=l[TradingView.OPEN_PLOT]<=l[TradingView.CLOSE_PLOT]?n:a,i.barBorderColor=l[TradingView.OPEN_PLOT]<=l[TradingView.CLOSE_PLOT]?n:a},o.prototype._applyCandleStyle=function(e,t,i,s,r){var n,a=o.upColor(r,t),l=o.downColor(r,t),c=r.candleStyle.borderUpColor?r.candleStyle.borderUpColor.value():r.candleStyle.borderColor.value(),h=r.candleStyle.borderDownColor?r.candleStyle.borderDownColor.value():r.candleStyle.borderColor.value(),u=r.candleStyle.wickUpColor?r.candleStyle.wickUpColor.value():r.candleStyle.wickColor.value(),d=r.candleStyle.wickDownColor?r.candleStyle.wickDownColor.value():r.candleStyle.wickColor.value(),p=this.findBar(e,!1,s);r.candleStyle.barColorsOnPrevClose.value()?n=this.findPrevBar(e,!1,s)[TradingView.CLOSE_PLOT]<=p[TradingView.CLOSE_PLOT]:n=p[TradingView.OPEN_PLOT]<=p[TradingView.CLOSE_PLOT];i.barColor=n?a:l,i.barBorderColor=n?c:h,i.barWickColor=n?u:d},o.prototype._applyHollowCandleStyle=function(e,t,i,s,r){ -var n=o.upColor(r,t),a=o.downColor(r,t),l=r.hollowCandleStyle.borderUpColor?r.hollowCandleStyle.borderUpColor.value():r.hollowCandleStyle.borderColor.value(),c=r.hollowCandleStyle.borderDownColor?r.hollowCandleStyle.borderDownColor.value():r.hollowCandleStyle.borderColor.value(),h=r.hollowCandleStyle.wickUpColor?r.hollowCandleStyle.wickUpColor.value():r.hollowCandleStyle.wickColor.value(),u=r.hollowCandleStyle.wickDownColor?r.hollowCandleStyle.wickDownColor.value():r.hollowCandleStyle.wickColor.value(),d=this.findBar(e,!1,s);this.findPrevBar(e,!1,s)[TradingView.CLOSE_PLOT]<=d[TradingView.CLOSE_PLOT]?(i.barColor=n,i.barBorderColor=l,i.barWickColor=h):(i.barColor=a,i.barBorderColor=c,i.barWickColor=u),i.isBarHollow=d[TradingView.OPEN_PLOT]<=d[TradingView.CLOSE_PLOT]},o.prototype._applyHAStyle=function(e,t,i,s,r){var n,a=o.upColor(r,t),l=o.downColor(r,t),c=r.haStyle.borderUpColor.value(),h=r.haStyle.borderDownColor.value(),u=r.haStyle.wickUpColor.value(),d=r.haStyle.wickDownColor.value(),p=this.findBar(e,t,s);r.haStyle.barColorsOnPrevClose.value()?n=this.findPrevBar(e,t,s)[TradingView.CLOSE_PLOT]<=p[TradingView.CLOSE_PLOT]:n=p[TradingView.OPEN_PLOT]<=p[TradingView.CLOSE_PLOT];i.barColor=n?a:l,i.barBorderColor=n?c:h,i.barWickColor=n?u:d},o.prototype._applyBaseLineStyle=function(e,t,i,s,r){var n=this.findBar(e,t,s),a=r.baselineStyle,l=this._series.priceScale(),c=Math.round(l.height()*(Math.abs(100-a.baseLevelPercentage.value())/100)),h=this._series.firstValue(),u=l.coordinateToPrice(c,h);n[TradingView.CLOSE_PLOT]>u?i.barColor=o.upColor(r,t):i.barColor=o.downColor(r,t)},o.prototype._applyHiLoStyle=function(e,t,i,s,r){i.barColor=o.upColor(r,t),i.barBorderColor=r.hiloStyle.borderColor.value()},o.prototype.applyBarStyle=function(e,t,i,s){i||(i={}),i.barColor=null,i.barBorderColor=null,i.barWickColor=null,i.isBarHollow=null,i.isBarUp=null,i.upColor=null,i.downColor=null,i.isTwoColorBar=null,i.isMergedBar=null;var r=this._series.properties();switch(r.style.value()){case TradingView.Series.STYLE_LINE:this._applyLineStyle(e,t,i,s,r);break;case TradingView.Series.STYLE_AREA:this._applyAreaStyle(e,t,i,s,r);break;case TradingView.Series.STYLE_BARS:this._applyBarStyle(e,t,i,s,r);break;case TradingView.Series.STYLE_CANDLES:this._applyCandleStyle(e,t,i,s,r);break;case TradingView.Series.STYLE_HOLLOW_CANDLES:this._applyHollowCandleStyle(e,t,i,s,r);break;case TradingView.Series.STYLE_HEIKEN_ASHI:this._applyHAStyle(e,t,i,s,r);break;case TradingView.Series.STYLE_BASELINE:this._applyBaseLineStyle(e,t,i,s,r);break;case TradingView.Series.STYLE_HILO:this._applyHiLoStyle(e,t,i,s,r)}return i},o.prototype.getSeriesBars=function(e){return e?this._series.nsBars():this._series.bars()},o.prototype._findBarFieldValue=function(e,t,i){var s=this.getSeriesBars(i).valueAt(e);if(null!==s)return s[t]},o.prototype.findBar=function(e,t,i){return i?i.value:this.getSeriesBars(t).valueAt(e)||[]},o.prototype.findPrevBar=function(e,t,i){if(i&&i.previousValue)return i.previousValue;var r=this._series.bars().search(e-1,s.NearestLeft,TradingView.CLOSE_PLOT) -;return null!==r?r.value:[]},inherit(a,n),a.prototype.getBars=function(){return this._study.series().bars()},a.prototype.firstColoredBar=function(e){for(var t=e,i=0;ie+l)return i;var c=s.styles[a.id];if(c.visible&&!c.visible.value())return i;var h=o.valueAt(e-l);if(null===h)return i;var u=h[this._plotIndex+1];if(null==u)return i;if(u=Math.round(u),n.isRGB)i.barColor=r(u),i.upColor=i.barColor,i.downColor=i.barColor;else{var d=n.plots[this._plotIndex].palette,p=s.palettes[d],_=n.palettes[d].valToIndex?n.palettes[d].valToIndex[u]:u,m=p.colors[_].color.value();i.barColor=m,i.upColor=m.color,i.downColor=m.color}return i},t.SeriesBarColorer=o,t.StudyBarColorer=a},"3ClC":function(e,t,i){"use strict";i.r(t);var s=i("0YCj"),r=i.n(s),n=i("GVHu"),o=i("PL0c"),a=i("cKqi"),l=i("YzC7"),c=i("TMWk"),h=i("8sOK");class u extends n.Study{constructor(e,t,i,s){super(e,t,i,s),this.properties().styles.vol_ma.visible.listeners().subscribe(this,()=>this.invalidateTitleCache())}base(){return 1}destroy(){this.properties().styles.vol_ma.visible.listeners().unsubscribeAll(this),super.destroy()}_titleInputs(){const e={symbolsForDisplay:!0,skipHiddenInputs:!0,fakeInputsForDisplay:!0,asObject:!1};return this.properties().styles.vol_ma.visible.value()?this.inputs(e):this.inputs(Object.assign(Object.assign({},e),{skippedInputs:["length"]}))}}var d=i("Eyy1"),p=i("Qb4w");class _ extends n.Study{priceRange(e,t){let i=!1;this.graphics().hhists().forEach((e,t)=>{i=i||this.properties().child("graphics").child("hhists").child(t).child("showValues").value()});const s=function(e,t,i,s){let r=null;return e.forEach((e,s)=>{e.forEach(e=>{e.firstBarTime<=i&&e.lastBarTime>=t&&(null===r?r={low:{l:e.priceLow,h:e.priceHigh},high:{h:e.priceHigh}}:(e.priceLow0?1:-1,n=i.y+i.vertOffset-r*Math.round(this._heightEnsured/2);let o;o=i.style&&void 0!==i.style.color?i.style.color:this._color,this._charCache.paintTo(e,t,o,s,n,m.a.Center,i.vertOffset>0?m.c.Top:m.c.Bottom)}_startPath(e,t,i,s){}_endPath(e){}}var g=i("GSwP");i.d(t,"StudyPlotCharsPaneView",(function(){return v}));class v extends g.a{renderer(){const e=this._study.properties().styles[this._plotName];if(!e.visible||!e.visible.value())return null;if(!this._scalesReady())return null;const t=this._model.timeScale();this._invalidated&&(this._updateImpl(),this._invalidated=!1);const i={},a=this._getTranspValue(),l=t.barSpacing();let c;if(e.size){const t=e.size.value();c=this._calculateShapeHeight(50,t)}else c=Math.round(l);const h=e.location.value(),u=Object(r.generateColor)(e.color.value(),a),d=this._calculateVerticalOffset(h,c);i.items=this.items(),i.barSpacing=l,i.char=e.char.value(),i.height=c,i.vertOffset=d,i.color=u;const p=new n.CompositeRenderer,_=e.text?e.text.value():void 0;if(void 0!==_&&""!==_.trim()){let t=_.trim().replace(/\\n/gm,"\n");t=Object(s.cleanButAmpersand)(t,!0),i.text=t,i.fontSize=12;const n=e.textColor?e.textColor.value():void 0 -;i.textColor=n?Object(r.generateColor)(n,a):u}return p.append(new f(i)),this._model.selection().isSelected(this._study)&&this._isMarkersEnabled&&null!==this._selectionData&&(this._selectionData.vertOffset=d,p.append(new o.SelectionRenderer(this._selectionData))),p}}},"3UA0":function(e,t){e.exports.tzData={"America/New_York":{time:[-2717668562,-1633298400,-1615154400,-1601848800,-1583704800,-1570399200,-1551650400,-1536530400,-1523224800,-1504476e3,-1491775200,-1473026400,-1459720800,-1441576800,-1428271200,-1410127200,-1396821600,-1378677600,-1365372e3,-1347228e3,-1333922400,-1315173600,-1301868e3,-1283724e3,-1270418400,-1252274400,-1238968800,-1220824800,-1207519200,-1189375200,-1176069600,-1157320800,-114462e4,-1125871200,-1112565600,-1094421600,-1081116e3,-1062972e3,-1049666400,-1031522400,-1018216800,-1000072800,-986767200,-968018400,-955317600,-936568800,-923263200,-905119200,-891813600,-880236e3,-76941e4,-765410400,-747266400,-733960800,-715816800,-702511200,-684367200,-671061600,-652917600,-639612e3,-620863200,-608162400,-589413600,-576108e3,-557964e3,-544658400,-526514400,-513208800,-495064800,-481759200,-463615200,-447285600,-431560800,-415836e3,-400111200,-384386400,-368661600,-352936800,-337212e3,-321487200,-305762400,-289432800,-273708e3,-257983200,-242258400,-226533600,-210808800,-195084e3,-179359200,-163634400,-147909600,-13158e4,-11646e4,-100130400,-84405600,-68680800,-52956e3,-37231200,-21506400,-5781600,9943200,25668e3,41392800,57722400,73447200,89172e3,104896800,120621600,126669600,152071200,162352800,183520800,199245600,215575200,230695200,247024800,262749600,278474400,294199200,309924e3,325648800,341373600,357098400,372823200,388548e3,404877600,419997600,436327200,452052e3,467776800,483501600,499226400,514951200,530676e3,544586400,562125600,576036e3,59418e4,607485600,625629600,638935200,657079200,670989600,688528800,702439200,719978400,733888800,752032800,765338400,783482400,796788e3,814932e3,828842400,846381600,860292e3,877831200,891741600,909280800,923191200,941335200,954640800,972784800,986090400,1004234400,1018144800,1035684e3,1049594400,1067133600,1081044e3,1099188e3,1112493600,1130637600,1143943200,1162087200,1173578400,1194141600,1205028e3,1225591200,1236477600,1257040800,1268532e3,1289095200,1299981600,1320544800,1331431200,1351994400,1362880800,1383444e3,1394330400,1414893600,142578e4,1446343200,1457834400,1478397600,1489284e3,1509847200,1520733600,1541296800,1552183200,1572746400,1583632800,1604196e3,1615687200,1636250400,1647136800,16677e5,1678586400,1699149600,1710036e3,1730599200,1741485600,1762048800,1772935200,1793498400,1804989600,1825552800,1836439200,1857002400,1867888800,1888452e3,1899338400,1919901600,1930788e3], +return Promise.all(z.map((function(e){return S(e.chartWidget.model().mainSeries().dataEvents().symbolResolved()).promise})))})).then((function(){window.saver&&window.is_authenticated&&B.widgetOptions.justCloned&&window.saver.saveChartSilently()})).catch(C.logError.bind(C))}}).call(this,i("aIyQ"))},"/YGI":function(e,t,i){"use strict";i.r(t);var s,r=i("0YCj"),n=i.n(r);!function(e){e.StudyCannotBeChild="cannot_be_child",e.StubWasRemoved="stub_was_removed",e.CannotGetMetainfo="cannot_get_metainfo",e.Cancelled="cancelled",e.Unknown="unknown"}(s||(s={}));var o=i("txPx");i.d(t,"StudyInserter",(function(){return l}));const a=Object(o.getLogger)("Chart.Studies.StudyInserter");class l{constructor(e,t,i){this._parentSource=void 0,this._propsState=void 0,this._preferredPriceScale=void 0,this._allowChangeCurrency=!1,this._allowChangeUnit=!1,this._paneSize=void 0,this._forceOverlay=!1,this._studyMetaInfoRepository=t,this._inserterImpl=i,this._studyDescriptor=e}setParentSource(e){this._parentSource=e||void 0}setPaneSize(e){this._paneSize=e}setPreferredPriceScale(e){this._preferredPriceScale=e}setAllowChangeCurrency(e){this._allowChangeCurrency=e}setAllowChangeUnit(e){this._allowChangeUnit=e}setForceOverlay(e){this._forceOverlay=e}setPropertiesState(e){this._propsState=e}setTargetPriceScaleMode(e){this._targetPriceScaleMode=e}async insert(e,t){const i=void 0!==(r=this._inserterImpl).createStub&&void 0!==r.removeStub?this._inserterImpl.createStub():null;var r;let n,o=!0;try{n=await this._studyMetaInfoRepository.findById(this._studyDescriptor)}catch(u){return a.logWarn("Cannot get study "+JSON.stringify(this._studyDescriptor)),Promise.reject(s.CannotGetMetainfo)}finally{null!==i&&(o=this._inserterImpl.removeStub(i))}if(!o)return Promise.reject(s.StubWasRemoved);if(void 0!==t&&t.cancelled)return Promise.reject(s.Cancelled);if(!this._canApplyStudyToParent(n))return Promise.reject(s.StudyCannotBeChild);const l=Object.assign({},n.defaults.inputs),c=void 0!==e?await e(l,n.inputs,n):{};if(void 0!==t&&t.cancelled)return Promise.reject(s.Cancelled);const h=this._insertStudy(n,c);return null===h?Promise.reject(s.Unknown):h}_insertStudy(e,t){return this._inserterImpl.createStudy(e,t,null,this._propsState,this._forceOverlay,this._parentSource,this._preferredPriceScale,this._allowChangeCurrency,this._allowChangeUnit,this._paneSize,this._targetPriceScaleMode)}_canApplyStudyToParent(e){return void 0===this._parentSource||n.a.canBeChild(e)}}},"/bs+":function(e,t,i){"use strict";i.d(t,"a",(function(){return r})),i.d(t,"b",(function(){return n}));var s=i("E6p6");function r(e,t,i){if(i.isDays())return t;if(e.moveTo(1e3*t),i.isIntraday()){const i=e.indexOfBar(1e3*t);if(i<0)throw new Error(t+" is out of the instrument session ");return e.endOfBar(i)/1e3}return e.startOfBar(s.SessionStage.LASTBAR_SESSION)/1e3}function n(e,t,i){if(i.isDays())return t;const s=1e3*t-1;if(e.moveTo(s),i.isIntraday()){const i=e.indexOfBar(s);if(i<0)throw new Error(t+" is out of the instrument session ");return e.startOfBar(i)/1e3}return t=e.startOfBar(0)/1e3}}, +"/hKg":function(e,t,i){"use strict";i.r(t),i.d(t,"PaneRendererCandles",(function(){return l}));var s=i("Eyy1"),r=i("VdBB"),n=i("gAom"),o=i("Zp/P"),a=i("ExCE");class l extends a.a{constructor(e){super(),this._barSpacing=1,this._barWidth=1,this._borderVisible=!1,this._barBorderWidth=1,this._wickVisible=!1,this._bodyVisible=!0,this._borderColor=void 0,this._wickColor=void 0,this._hittest=void 0,e&&this.setData(e)}setData(e){this._bars=e.bars,this._barSpacing=e.barSpacing,this._borderVisible=e.borderVisible,this._bodyVisible=e.bodyVisible,this._wickVisible=e.wickVisible,this._borderColor=e.borderColor,this._wickColor=e.wickColor,this._hittest=e.hittest}hitTest(e){return this._wickVisible||this._borderVisible||this._bodyVisible?super.hitTest(e):null}draw(e,t){if(0===this._bars.length)return;const i=t.pixelRatio;if(this._barWidth=Object(o.optimalCandlestickWidth)(this._barSpacing,i),this._barWidth>=2){Math.floor(i)%2!=this._barWidth%2&&this._barWidth--}this._wickVisible&&this._drawWicks(e,i),this._borderVisible&&this._drawBorder(e,i),this._bodyVisible&&this._drawCandles(e,i)}_getTolerance(){return Object(o.interactionTolerance)().series+this._barBorderWidth/2}_getBarSpacing(){return this._barSpacing}_getHitTest(){return this._hittest||new r.HitTestResult(r.HitTestResult.REGULAR)}_isPointAtBar(e,t,i){const s=this._bodyVisible||this._borderVisible,r=this._wickVisible;if(!s&&!r)return!1;if(s){const s=r?Math.min(e.high,e.low):Math.min(e.open,e.close),n=r?Math.max(e.high,e.low):Math.max(e.open,e.close);return s-i<=t&&t<=n+i}{const s=Math.min(e.open,e.close),r=Math.max(e.open,e.close);return e.high-i<=t&&t<=s+i||r-i<=t&&t<=e.low+i}}_drawWicks(e,t){const i=this._bars;let r="",n=Math.min(Math.floor(t),Math.floor(this._barSpacing*t));n=Math.max(Math.floor(t),Math.min(n,this._barWidth));const o=Math.floor(.5*n);let a=null;for(const l of i){const i=l.wickColor?l.wickColor:Object(s.ensureDefined)(this._wickColor);i!==r&&(e.fillStyle=i,r=i);const c=Math.round(Math.min(l.open,l.close)*t),h=Math.round(Math.max(l.open,l.close)*t),u=Math.round(l.high*t),d=Math.round(l.low*t);let p=Math.round(t*l.time)-o;const _=p+n-1;null!==a&&(p=Math.max(a+1,p),p=Math.min(p,_));const m=_-p+1;e.fillRect(p,u,m,c-u),e.fillRect(p,h+1,m,d-h),a=_}}_calculateBorderWidth(e){let t=Math.floor(1*e);this._barWidth<=2*t&&(t=Math.floor(.5*(this._barWidth-1)));const i=Math.max(Math.floor(e),t);return this._barWidth<=2*i?Math.max(Math.floor(e),Math.floor(1*e)):i}_drawBorder(e,t){let i="";const r=this._calculateBorderWidth(t);let o=null;for(const a of this._bars){if(a.borderColor!==i&&(e.fillStyle=a.borderColor?a.borderColor:Object(s.ensureDefined)(this._borderColor),i=a.borderColor),this._bodyVisible&&a.hollow)continue;let l=Math.round(a.time*t)-Math.floor(.5*this._barWidth);const c=l+this._barWidth-1,h=Math.round(Math.min(a.open,a.close)*t),u=Math.round(Math.max(a.open,a.close)*t);if(null!==o&&(l=Math.max(o+1,l),l=Math.min(l,c)),this._barSpacing*t>2*r)Object(n.fillRectInnerBorder)(e,l,h,c-l+1,u-h+1,r);else{const t=c-l+1;e.fillRect(l,h,t,u-h+1)}o=c}}_drawCandles(e,t){ +let i="";const s=this._calculateBorderWidth(t);for(const r of this._bars){if(this._borderVisible&&this._barWidth<=2*s&&!r.hollow)continue;let o=Math.round(Math.min(r.open,r.close)*t),a=Math.round(Math.max(r.open,r.close)*t),l=Math.round(r.time*t)-Math.floor(.5*this._barWidth),c=l+this._barWidth-1;if(r.color!==i){const t=r.color;e.fillStyle=t,i=t}if(r.hollow)e.fillStyle=r.color,Object(n.fillRectInnerBorder)(e,l,o,c-l+1,a-o+1,s);else{if(this._borderVisible&&(l+=s,o+=s,c-=s,a-=s),o>a)continue;e.fillRect(l,o,c-l+1,a-o+1)}}}}},"/kal":function(e,t){e.exports=''},"/tGj":function(e,t,i){"use strict";function s(e){return e.symbolSource()===e}i.r(t),i.d(t,"isSymbolSource",(function(){return s}))},"/z0S":function(e,t,i){"use strict";i.d(t,"a",(function(){return r}));var s=i("Kxc7");function r(e,t){s.enabled("saveload_requires_authentication")?window.runOrSignIn(e,t):e()}},"08i5":function(e,t,i){"use strict";var s,r;i.r(t),i.d(t,"AlertStatus",(function(){return s})),i.d(t,"Direction",(function(){return r})),function(e){e[e.Waiting=0]="Waiting",e[e.Success=1]="Success",e[e.Failure=2]="Failure"}(s||(s={})),function(e){e[e.Up=1]="Up",e[e.Down=2]="Down"}(r||(r={}))},"0F0w":function(e,t,i){"use strict";i.r(t);var s=i("aIyQ"),r=i.n(s),n=i("Eyy1"),o=i("hY0g"),a=i.n(o),l=i("e3/o"),c=i("txPx");const h=Object(c.getLogger)("ChartApi.AbstractSession");var u=i("ogJP");i.d(t,"ChartSession",(function(){return d}));Object(c.getLogger)("ChartSession");class d extends class{constructor(e,t,i){this._isConnected=new a.a(!1),this._state=0,this._isConnectForbidden=!1,this._sessionId="",this._sessionIdChanged=new r.a,this._chartApi=e,this._sessionPrefix=t,this._shouldReconnectAfterCriticalError=i}destroy(){this._logNormal("Destroying session"),this._isConnected.unsubscribe(),this.disconnect(),this._sessionIdChanged.destroy(),delete this._chartApi,this._logNormal("Session has been destroyed")}isConnected(){return this._isConnected}sessionId(){return this._sessionId}onSessionIdChanged(){return this._sessionIdChanged}connect(){0===this._state&&(Object(n.assert)(!this._isConnectForbidden,"Cannot call connect because it is forbidden at this moment"),this._setSessionId(`${this._sessionPrefix}_${Object(l.randomHash)()}`),this._logNormal("Connecting session - wait until transport stay connected"),this._state=1,this._chartApi.createSession(this._sessionId,this))}disconnect(){0!==this._state&&(Object(n.assert)(""!==this._sessionId,"sessionId must not be invalid"),this._logNormal("Disconnecting session..."),this._forbidConnectWhile(()=>{this._chartApi.connected()&&this._sendRemoveSession(),this._processDestroyingOnServer()}))}onMessage(e){switch(e.method){case"connected":return void this._onChartApiConnected() +;case"disconnected":return void this._onChartApiDisconnected();case"critical_error":const t=String(e.params[0]),i=String(e.params[1]);return void this._onCriticalError(t,i)}this._onMessage(e)}_getChartApi(){return this._chartApi}_generateLogMessage(e){return`[${this._sessionId}] ${e}`}_onCriticalError(e,t){this._logError(`Critical error. Reason=${e}, info=${t}.`),this._forbidConnectWhile(()=>{this._processDestroyingOnServer()}),this._shouldReconnectAfterCriticalError?(this._logNormal("Reconnecting after critical error..."),this.connect()):this._logNormal("Reconnecting after critical error skipped")}_onChartApiConnected(){Object(n.assert)(1===this._state,"Session is not registered"),this._logNormal("Transport is connected. Creating session on the server"),this._sendCreateSession(),this._state=2,this._isConnected.setValue(!0)}_onChartApiDisconnected(){this._logNormal("Transport is disconnected. Reconnecting..."),this._forbidConnectWhile(()=>{this._processDestroyingOnServer()}),this.connect()}_setSessionId(e){const t=this._sessionId;this._logNormal(`Changing sessionId: old=${t}, new=${e}`),this._sessionId=e,this._sessionIdChanged.fire(e,t)}_logNormal(e){h.logNormal(this._generateLogMessage(e))}_logError(e){h.logError(this._generateLogMessage(e))}_processDestroyingOnServer(){this._state=0,this._isConnected.setValue(!1),this._chartApi.removeSession(this._sessionId),this._setSessionId("")}_forbidConnectWhile(e){this._isConnectForbidden=!0,e(),this._isConnectForbidden=!1}}{constructor(e,t=!1){super(e,"cs",!1),this._sessionDisabled=!1,this._handler=null,this._criticalError=new r.a,this._disableStatistics=t}destroy(){this._criticalError.destroy(),this._handler=null,super.destroy()}serverTimeOffset(){return this._getChartApi().serverTimeOffset()}switchTimezone(e){return this._getChartApi().switchTimezone(this.sessionId(),e)}defaultResolutions(){return this._getChartApi().defaultResolutions()}availableCurrencies(){return this._getChartApi().availableCurrencies()}availableUnits(){return this._getChartApi().availableUnits()}resolveSymbol(e,t,i){return this._getChartApi().resolveSymbol(this.sessionId(),e,t,i)}requestFirstBarTime(e,t,i){return this._getChartApi().requestFirstBarTime(this.sessionId(),e,t,i)}createSeries(e,t,i,s,r,n,o){return this._getChartApi().createSeries(this.sessionId(),e,t,i,s,r,n,o)}modifySeries(e,t,i,s,r,n){return this._getChartApi().modifySeries(this.sessionId(),e,t,i,s,r,n)}removeSeries(e,t){return!!this.isConnected().value()&&this._getChartApi().removeSeries(this.sessionId(),e,t)}requestMoreData(e,t,i){return"number"==typeof e?this._getChartApi().requestMoreData(this.sessionId(),e):this._getChartApi().requestMoreData(this.sessionId(),e,t,i)}requestMoreTickmarks(e,t,i){return Object(u.isNumber)(e)?this._getChartApi().requestMoreTickmarks(this.sessionId(),e):this._getChartApi().requestMoreTickmarks(this.sessionId(),e,t,i)}requestMetadata(e,t){(()=>{this._getChartApi().requestMetadata(this.sessionId(),e,t)})()}isCanCreateStudy(e){return this._getChartApi().isCanCreateStudy(e)}createStudy(e,t,i,s,r,n,o){ +return this._getChartApi().createStudy(this.sessionId(),e,t,i,s,r,n,o)}rebindStudy(e,t,i,s,r,n,o){return this._getChartApi().rebindStudy(this.sessionId(),e,t,i,s,r,n,o)}modifyStudy(e,t,i,s){return this._getChartApi().modifyStudy(this.sessionId(),e,t,i,s)}removeStudy(e,t,i){return this._getChartApi().removeStudy(this.sessionId(),e,t,i)}createPointset(e,t,i,s,r,n){return this._getChartApi().createPointset(this.sessionId(),e,t,i,s,r,n)}modifyPointset(e,t,i,s){return this._getChartApi().modifyPointset(this.sessionId(),e,t,i,s)}removePointset(e){return this._getChartApi().removePointset(this.sessionId(),e)}setVisibleTimeRange(e,t,i,s,r){this._getChartApi().setVisibleTimeRange(this.sessionId(),e,t,i,s,r)}criticalError(){return this._criticalError}connect(e=null){null!==e&&(this._handler=e),super.connect()}setHandler(e){this._handler=e}connected(){return this.isConnected().value()&&!this._sessionDisabled}disable(){this._sessionDisabled=!0}chartApi(){return this._getChartApi()}_sendCreateSession(){Object.keys(this).forEach(e=>{/^(s|st|symbol_)\d+$/.test(e)&&delete this[e]}),this._getChartApi().chartCreateSession(this.sessionId(),this._disableStatistics)}_sendRemoveSession(){this._getChartApi().chartDeleteSession(this.sessionId())}_onMessage(e){this._handler&&this._handler(e)}_onCriticalError(e,t){this._criticalError.fire(e,t),super._onCriticalError(e,t)}}},"0Pxc":function(e,t,i){"use strict";var s=i("aO4+").Point,r=i("GEp6").distanceToLine,n=i("hfHJ"),o=n.rotationMatrix,a=n.scalingMatrix,l=n.translationMatrix,c=n.transformPoint,h=i("Ss5c").LineDataSource,u=i("Ocx9").DefaultProperty,d=i("j3hX").LineToolColorsProperty;class p extends h{constructor(e,t){super(e,t||p.createProperties()),this.version=p.version,i.e("lt-pane-views").then(i.t.bind(null,"dKqZ",7)).then(({ArcPaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}startChanging(e,t){if(super.startChanging(e,t),0===e||1===e){var i=this.pointToScreenPoint(this._points[0])[0],n=this.pointToScreenPoint(this._points[1])[0],o=this.pointToScreenPoint(this._points[2])[0];this._dist=r(i,n,o).distance;var a=n.subtract(i),l=new s(-a.y,a.x),c=i.add(n).scaled(.5);o.subtract(c).dotProduct(l)<0&&(this._dist=-this._dist)}}pointsCount(){return 3}name(){return"Arc"}hasEditableCoordinates(){return!1}setPoint(e,t){var i=Object.assign({},t),n=this.pointToScreenPoint(this._points[0])[0],h=this.pointToScreenPoint(this._points[1])[0],u=this.pointToScreenPoint(this._points[2])[0];switch(e){case 0:n=this.pointToScreenPoint(i)[0];var d=h.subtract(n),p=n.add(h).scaled(.5);m=(m=new s(-d.y,d.x)).normalized(),u=p.add(m.scaled(this._dist)),u=this.screenPointToPoint(u),this._points[0]=i,this._points[2]=u;break;case 1:var _=r(n,h,u).distance;d=(h=this.pointToScreenPoint(i)[0]).subtract(n),p=n.add(h).scaled(.5);m=(m=new s(-d.y,d.x)).normalized(),u=p.add(m.scaled(this._dist)),u=this.screenPointToPoint(u),this._points[1]=i,this._points[2]=u;break;case 2:i=this.pointToScreenPoint(i)[0];var m;_=r(n,h,i).distance,d=h.subtract(n),p=n.add(h).scaled(.5);m=(m=new s(-d.y,d.x)).normalized(), +u=p.add(m.scaled(_));var f=p.add(m.scaled(-_)),g=d.length(),v=d.x/g,b=d.y/g,S=Math.acos(v);b<0&&(S=-S);var y=l(-p.x,-p.y);i=c(y,i);var w=c(y,u);y=o(-S),i=c(y,i),w=c(y,w),y=a(1,g/(2*_)),i=c(y,i),w=c(y,w);var C=i.y*w.y>=0?new s(u.x,u.y):new s(f.x,f.y);C=this.screenPointToPoint(C),this._points[2]=C}this.normalizePoints()}migrateVersion(e,t,i){if(1===e&&2===this._points.length){var s=(2*this._points[0].price+3*this._points[1].price)/5;this._points.append({price:s,index:this._points[1].index})}if(1===e&&2===this._timePoint.length){var r={price:s=(2*this._timePoint[0].price+3*this._timePoint[1].price)/5,offset:this._timePoint[1].offset,time_t:this._timePoint[1].time_t};this._timePoint.append(r)}}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(33),i.e("lt-property-pages-with-definitions")]).then(i.bind(null,"Zd1D"))).GeneralFiguresDefinitionsViewModel}static createProperties(e){var t=new u("linetoolarc",e);return p._configureProperties(t),t}static _configureProperties(e){h._configureProperties(e),e.addChild("linesColors",new d([e.color]))}}p.version=2,t.LineToolArc=p},"0YCj":function(e,t,i){"use strict";(function(e,t){i("Eyy1").assert;var s=i("txPx").getLogger("Chart.Study.MetaInfo"),r=i("9iCb").applyOverridesToStudyDefaults,n=null;function o(e){TradingView.merge(this,{palettes:{},inputs:[],plots:[],graphics:{},defaults:{}}),TradingView.merge(this,e);var t=e.fullId||e.id;TradingView.merge(this,o.parseIdString(t)),this.name=this.id}o.VERSION_STUDY_ARG_SOURCE=41,o.METAINFO_FORMAT_VERSION_SOS_V2=42,o.VERSION_PINE_PROTECT_TV_4164=43,o.CURRENT_METAINFO_FORMAT_VERSION=52,o.VERSION_NEW_STUDY_PRECISION_FORMAT=46,o.CHILD_STUDY_ALLOWED_PLOT_TYPES=["line"],o.canPlotBeSourceOfChildStudy=function(e){return o.CHILD_STUDY_ALLOWED_PLOT_TYPES.includes(e)},o.CHILD_STUDY_EXCLUDE_IDS=["CorrelationCoefficient@tv-basicstudies","Correlation - Log@tv-basicstudies-1"],o.CHILD_STUDY_PARENT_EXCLUDE_IDS=[],o.FilledArea={},o.FilledArea.TYPE_PLOTS="plot_plot",o.FilledArea.TYPE_HLINES="hline_hline",o.versionOf=function(e){var t="_metainfoVersion"in e&&isNumber(e._metainfoVersion)?e._metainfoVersion:0;return t<0&&s.logError("Metainfo format version cannot be negative: "+t),t},o.parseIdString=function(e){var t={};if(-1===e.indexOf("@"))t.shortId=e,t.packageId="tv-basicstudies",t.id=e+"@"+t.packageId,t.version=1;else{var i=e.split("@");t.shortId=i[0];var s=i[1].split("-");if(3===s.length)t.packageId=s.slice(0,2).join("-"),t.id=t.shortId+"@"+t.packageId,t.version=s[2];else if(1===s.length&&"decisionbar"===s[0])t.packageId="les-"+s[0],t.id=t.shortId+"@"+t.packageId,t.version=1;else{if(1!==s.length)throw new Error("unexpected study id:"+e);t.packageId="tv-"+s[0],t.id=t.shortId+"@"+t.packageId,t.version=1}}if(t.fullId=t.id+"-"+t.version,"tv-scripting"===t.packageId){var r=t.shortId;if(0===r.indexOf("Script$")||0===r.indexOf("StrategyScript$")){var n=r.indexOf("_");t.productId=n>=0?r.substring(0,n):t.packageId}else t.productId=t.packageId}else t.productId=t.packageId;return t},o.getPackageName=function(e){ +return(/^[^@]+@([^-]+-[^-]+)/.exec(e||"")||[0,"tv-basicstudies"])[1]},o.cutDollarHash=function(e){var t=e.indexOf("$"),i=e.indexOf("@");return-1===t?e:e.substr(0,t)+(i>=0?e.substr(i):"")},o.hasUserIdSuffix=function(e){return/^USER;[\d\w]+;\d+$/.test(e)},o.isStandardPine=function(e){return/^(Strategy)?Script\$STD;.*@tv-scripting$/.test(e)},o.getSourceIdByInputs=function(e,t){if(!Array.isArray(e)||!t)return null;for(var i=0;i0){var l=a.replace(/^[^\$]+/,i);s.inputs[n.id].setValue(l)}}}},o.patchChildStudyMetaInfoState=function(e){e.state&&function e(t){if("object"==typeof t)for(var i in t)"string"==typeof t[i]&&/^[^\$]+\$\d+$/.test(t[i])?t[i]=t[i].replace(/^[^\$]+/,"{pid}"):e(t[i])}(e.state.inputs),e.state.isChildStudy=!0},o.prototype.parseValue=function(e,t){return"bool"===e?TradingView.parseBool(t):t},o.prototype.defaultInputs=function(){for(var e=[],t=0;t0?e[0].id:null},o.prototype.createDefaults=function(){if(this.defaults){var e=TradingView.clone(this.defaults);e.precision="default";var t=o.getStudyPropertyRootName(this);defaults.create(t,e)}},o.prototype.removeDefaults=function(){defaults.remove(o.getStudyPropertyRootName(this))},o.findStudyMetaInfoByDescription=function(e,t){if(e){for(var i=0;i{this._setVisibility(e)},this._chartWidgetCollection=e}show(){const e=this._chartWidgetCollection,t=e.activeChartWidget.value();return t.generalPropertiesDefinitions().then(s=>Promise.all([i.e("redux"),i.e("react"),i.e(1),i.e(2),i.e(3),i.e(6),i.e(7),i.e(8),i.e(9),i.e(11),i.e(13),i.e(15),i.e(16),i.e(19),i.e(20),i.e(21),i.e(23),i.e(28),i.e(30),i.e(31),i.e(34),i.e(39),i.e(46),i.e(53),i.e(70),i.e(90),i.e(0),i.e(5),i.e(4),i.e(10),i.e(12),i.e(17),i.e(29),i.e(25),i.e(26),i.e(27),i.e(33),i.e(36),i.e(51),i.e("general-chart-properties-dialog")]).then(i.bind(null,"PI1I")).then(i=>{var r,n;const o=new i.GeneralChartPropertiesDialogRenderer({chartWidgetCollection:e,propertyPages:s,activePageId:this._activePageId,model:t.model()});return null===(r=this._dialog)||void 0===r||r.hide(),null===(n=this._dialog)||void 0===n||n.visible().unsubscribe(this._subscribe),this._dialog=o,o.visible().subscribe(this._subscribe),o.show(),this._activePageId=void 0,o}))}hide(){var e;null===(e=this._dialog)||void 0===e||e.hide()}isVisible(){return this.visible().value()}focusOnText(){}setActivePage(e){this._activePageId=e}}},"0qMc":function(e,t,i){"use strict";i.r(t),i.d(t,"lineToolsLocalizedNames",(function(){return r}));i("YFKU");var s=i("+GxX");const r={LineTool5PointsPattern:window.t("XABCD Pattern"),LineToolABCD:window.t("ABCD Pattern"),LineToolArc:window.t("Arc"), +LineToolArrow:window.t("Arrow"),LineToolArrowMarkDown:window.t("Arrow Mark Down"),LineToolArrowMarkLeft:window.t("Arrow Mark Left"),LineToolArrowMarkRight:window.t("Arrow Mark Right"),LineToolArrowMarkUp:window.t("Arrow Mark Up"),LineToolBalloon:window.t("Balloon"),LineToolBarsPattern:window.t("Bars Pattern"),LineToolBezierCubic:window.t("Double Curve"),LineToolBezierQuadro:window.t("Curve"),LineToolBrush:window.t("Brush"),LineToolCallout:window.t("Callout"),LineToolCircleLines:window.t("Cyclic Lines"),LineToolCypherPattern:window.t("Cypher Pattern"),LineToolDateAndPriceRange:window.t("Date and Price Range"),LineToolDateRange:window.t("Date Range"),LineToolDisjointAngle:window.t("Disjoint Channel"),LineToolElliottCorrection:window.t("Elliott Correction Wave (ABC)"),LineToolElliottDoubleCombo:window.t("Elliott Double Combo Wave (WXY)"),LineToolElliottImpulse:window.t("Elliott Impulse Wave (12345)"),LineToolElliottTriangle:window.t("Elliott Triangle Wave (ABCDE)"),LineToolElliottTripleCombo:window.t("Elliott Triple Combo Wave (WXYXZ)"),LineToolEllipse:window.t("Ellipse"),LineToolExtended:window.t("Extended Line"),LineToolFibChannel:window.t("Fib Channel"),LineToolFibCircles:window.t("Fib Circles"),LineToolFibRetracement:window.t("Fib Retracement"),LineToolFibSpeedResistanceArcs:window.t("Fib Speed Resistance Arcs"),LineToolFibSpeedResistanceFan:window.t("Fib Speed Resistance Fan"),LineToolFibSpiral:window.t("Fib Spiral"),LineToolFibTimeZone:window.t("Fib Time Zone"),LineToolFibWedge:window.t("Fib Wedge"),LineToolFlagMark:window.t("Flag Mark"),LineToolImage:window.t("Image"),LineToolFlatBottom:window.t("Flat Top/Bottom"),LineToolAnchoredVWAP:window.t("Anchored VWAP"),LineToolGannComplex:window.t("Gann Square"),LineToolGannFixed:window.t("Gann Square Fixed"),LineToolGannFan:window.t("Gann Fan"),LineToolGannSquare:window.t("Gann Box"),LineToolHeadAndShoulders:window.t("Head and Shoulders"),LineToolHorzLine:window.t("Horizontal Line"),LineToolHorzRay:window.t("Horizontal Ray"),LineToolIcon:window.t("Icon"),LineToolInsidePitchfork:window.t("Inside Pitchfork"),LineToolNote:window.t("Note"),LineToolNoteAbsolute:window.t("Anchored Note"),LineToolSignpost:window.t("Signpost"),LineToolParallelChannel:window.t("Parallel Channel"),LineToolPitchfan:window.t("Pitchfan"),LineToolPitchfork:window.t("Pitchfork"),LineToolPolyline:window.t("Polyline"),LineToolPath:window.t("Path"),LineToolPrediction:window.t("Forecast"),LineToolPriceLabel:window.t("Price Label"),LineToolArrowMarker:window.t("Arrow Marker"),LineToolPriceRange:window.t("Price Range"),LineToolProjection:window.t("Projection"),LineToolRay:window.t("Ray"),LineToolRectangle:window.t("Rectangle"),LineToolRegressionTrend:window.t("Regression Trend"),LineToolRiskRewardLong:window.t("Long Position"),LineToolRiskRewardShort:window.t("Short Position"),LineToolFixedRangeVolumeProfile:window.t("Fixed Range Volume Profile"),LineToolRotatedRectangle:window.t("Rotated Rectangle"),LineToolSchiffPitchfork:window.t("Modified Schiff Pitchfork"), +LineToolSchiffPitchfork2:window.t("Schiff Pitchfork"),LineToolSineLine:window.t("Sine Line"),LineToolText:window.t("Text",{context:"tool"}),LineToolTextAbsolute:window.t("Anchored Text"),LineToolThreeDrivers:window.t("Three Drives Pattern"),LineToolTimeCycles:window.t("Time Cycles"),LineToolTrendAngle:window.t("Trend Angle"),LineToolTrendBasedFibExtension:window.t("Trend-Based Fib Extension"),LineToolTrendBasedFibTime:window.t("Trend-Based Fib Time"),LineToolTrendLine:window.t("Trend Line"),LineToolInfoLine:window.t("Info Line"),LineToolTriangle:window.t("Triangle"),LineToolTrianglePattern:window.t("Triangle Pattern"),LineToolVertLine:window.t("Vertical Line"),LineToolCrossLine:window.t("Cross Line"),LineToolHighlighter:window.t("Highlighter"),LineToolPriceNote:window.t("Price Note")};Object(s.isFeatureEnabled)("remove-line-tool-ghost-feed")||(r.LineToolGhostFeed=window.t("Ghost Feed"))},"1AAW":function(e,t,i){"use strict";i.d(t,"a",(function(){return n}));var s=i("hY0g"),r=i.n(s);function n(e,...t){const i=(...t)=>e(...t.map(e=>e.value())),s=new r.a(i(...t)),n=()=>s.setValue(i(...t)),o=t.map(e=>e.spawn());for(const r of o)r.subscribe(n);return s.readonly().spawn(()=>o.forEach(e=>e.destroy()))}},"1IXQ":function(e,t,i){"use strict";i("jJ9X");var s=i("aO4+").Point,r=i("/3z9"),n=i("qFKp").CheckMobile,o=i("7KDR"),a=o.Action,l=o.Separator,c=i("H0vP").InvalidationLevel,h=i("ikwP"),u=h.getContext2D,d=h.hardResizeCanvas,p=h.clearRect,_=i("gAom").clearRectWithGradient,m=h.fillRect,f=i("S8xo").MouseEventHandler,g=i("YmeR").ActionBinder,v=i("T6Of").LimitedPrecisionNumericFormatter,b=i("HZKX").createLinesAction,S=i("EsvI").themes,y=i("3/8U").axesHighlightColor,w=i("xzdg").PriceAxisWidgetBase,C=i("Kxc7"),P=window.t("Merge All Scales Into One");class x extends w{constructor(e,t,i,s,r,n,o,a){super(e,t,i,r,n,s),this._axisInfo=o,this._backgroundBasedTheme=a,this._offset=0,this.restoreDefaultCursor(),this.update(),this._mouseEventHandler=new f(this._topCanvasBinding.canvas,this,{treatVertTouchDragAsPageScroll:!1,treatHorzTouchDragAsPageScroll:!0}),this.contextMenu=null,this.actions=null,this._highlighted=!1}destroy(){null!==this.actions&&this.actions.reset&&this.actions.reset.destroy(),this._mouseEventHandler.destroy(),super.destroy()}dataSourceAtPoint(e,t){var i=this._grouppedSources(),r=i.sources.concat(Array.from(i.topLevelSources)).concat(this._pane.state().customSources()),n=null,o=null;if(!this._priceScale)return null;function a(e,t){var i=o?o.result():0;e.result()>i&&(o=e,n=t)}for(var l=new s(e,t),c=this._pane.state(),h=r.length-1;h>=0;--h){var u=r[h],d=u.priceAxisViews(c,this._priceScale);if(d&&0!==d.length)for(var p=d.length-1;p>=0;--p){var _=d[p].renderer();if(null!==_&&void 0!==_.hitTest){var m=_.hitTest(l,this._size.w,this._isLeft?"left":"right");null!==m&&a(m,u)}}}return n}_initActions(e){if(this._pane.hasState()&&null===this.actions){this.actions={};var t=this,s=this._pane.chart().model();this.actions.reset=new a({label:window.t("Reset Price Scale"),icon:i("LdoW"),shortcut:"Alt+R", +shortcutHint:r.humanReadableHash(r.Modifiers.Alt+82),statName:"ResetScale",onExecute:x.prototype.reset.bind(this)}),this.actions.setAutoScale=new a({label:window.t("Auto (Fits Data To Screen)"),checkable:!0,checked:!0,statName:"ToggleAutoScale",onExecute:function(){s.togglePriceScaleAutoScaleMode(t.priceScale()),t._updateScalesActions()}}),this.actions.setPercentage=new a({label:window.t("Percent",{context:"scale_menu"}),checkable:!0,checked:this.priceScale().isPercentage(),statName:"TogglePercantage",onExecute:function(){s.togglePriceScalePercentageScaleMode(t.priceScale()),t._updateScalesActions()}}),this.actions.setIndexedTo100=new a({label:window.t("Indexed to 100",{context:"scale_menu"}),checkable:!0,checked:this.priceScale().isIndexedTo100(),statName:"ToggleIndexedTo100",onExecute:function(){s.togglePriceScaleIndexedTo100ScaleMode(t.priceScale()),t._updateScalesActions()}}),this.actions.setLog=new a({label:window.t("Logarithmic",{context:"scale_menu"}),checkable:!0,checked:this.priceScale().isLog(),statName:"ToggleLogScale",onExecute:function(){s.togglePriceScaleLogScaleMode(t.priceScale()),t._updateScalesActions()}}),this.actions.setRegular=new a({label:window.t("Regular",{context:"scale_menu"}),checkable:!0,checked:this.priceScale().isRegular(),statName:"ToggleRegularScale",onExecute:function(){s.setPriceScaleRegularScaleMode(t.priceScale()),t._updateScalesActions()}}),this.actions.alignLabels=new a({label:window.t("No Overlapping Labels",{context:"scale_menu"}),checkable:!0,checked:!1,statName:"TogglePreciseLabels"}),this.actions.alignLabels.binding=new g(this.actions.alignLabels,this.priceScale().properties().alignLabels,this._pane.chart().model(),"No Overlapping Labels"),this.actions.invertScale=new a({label:window.t("Invert Scale",{context:"scale_menu"}),checkable:!0,checked:this.priceScale().isInverted(),statName:"Invert Scale",onExecute:function(){s.invertPriceScale(t.priceScale()),t._updateScalesActions()}}),this._updateScalesActions()}}_logAction(){return this._isMainSeriesAxis()?this._pane.chart().actions().logSeriesScale:this.actions.setLog}_percentageAction(){return this._isMainSeriesAxis()?this._pane.chart().actions().percentSeriesScale:this.actions.setPercentage}_indexedTo100Action(){return this._isMainSeriesAxis()?this._pane.chart().actions().indexedTo100SeriesScale:this.actions.setIndexedTo100}_autoScaleAction(){return this._isMainSeriesAxis()?this._pane.chart().actions().autoSeriesScale:this.actions.setAutoScale}_regularScaleAction(){return this._isMainSeriesAxis()?this._pane.chart().actions().regularSeriesScale:this.actions.setRegular}_lockScaleAction(){var e=this._pane.chart().actions().lockSeriesScale,t=M(this.priceScale(),this._pane.chart().model().model().mainSeriesScaleRatio());return e.update({hint:t}),e}_invertAction(){return this._isMainSeriesAxis()?this._pane.chart().actions().invertSeriesScale:this.actions.invertScale}_isMainSeriesAxis(){return this.priceScale().hasMainSeries()}_updateMainSeriesScalesActions(){ +this._isMainSeriesAxis()&&null!==this.actions&&this._updateScalesActions()}_updateScalesActions(){var e=this.priceScale(),t=this._isMainSeriesAxis(),i=e.mainSource().properties(),s=t&&e.isLockScale(),r=t&&i.style.value()===TradingView.Series.STYLE_PNF;this.actions.setRegular.update({checked:e.isRegular(),disabled:s||r}),this.actions.setPercentage.update({checked:e.isPercentage(),disabled:s||r}),this.actions.setIndexedTo100.update({checked:e.isIndexedTo100(),disabled:s||r}),this.actions.setLog.update({checked:e.isLog(),disabled:s||r}),this.actions.setAutoScale.update({checked:e.isAutoScale(),disabled:e.properties().autoScaleDisabled.value()})}_createMergeScalesAction(){var e=this._pane.chart().actions(),t=this._pane.chart().model().model().priceScaleSlotsCount();if(t.left+t.right===1)return 0===t.left?e.moveScaleToLeft:e.moveScaleToRight;var i=[];return i.push(e.mergeLeftScalesAction),i.push(e.mergeRightScalesAction),new a({label:P,subItems:i})}getContextMenuActions(){this._initActions();var e=this._pane.chart().actions(),t=[];if(t.push(this.actions.reset,new l,this._autoScaleAction()),this._isMainSeriesAxis()&&t.push(this._lockScaleAction()),t.push(e.scaleSeriesOnly,this._invertAction(),new l,this._regularScaleAction(),this._percentageAction(),this._indexedTo100Action(),this._logAction(),new l),n.any()||(t.push(this._createMergeScalesAction()),t.push(new l)),!C.enabled("fundamental_widget")){t.push(new a({label:window.t("Labels"),subItems:[e.showSymbolLabelsAction,e.showSeriesLastValue,null,null,e.showHighLowPriceLabels,e.showAverageClosePriceLabel,null,e.showStudyPlotNamesAction,e.showStudyLastValue,null,null,this.actions.alignLabels].filter(Boolean)}))}return t.push(b(this._pane.chart())),this._options.countdownEnabled&&t.push(e.showCountdown),this._options.currencyConversionEnabled&&t.push(e.showCurrency),this._options.unitConversionEnabled&&t.push(e.showUnit),this._pane.chart().model().crossHairSource().isMenuEnabled()&&t.push(e.addPlusButton),!TradingView.onWidget()&&C.enabled("show_chart_property_page")&&C.enabled("chart_property_page_scales")&&e.scalesProperties&&t.push(new l,e.scalesProperties),t}_sameSideSources(){var e=this._pane.state().sourcesByGroup();return this._isLeft?e.leftPriceScalesSources():e.rightPriceScalesSources()}_grouppedSources(){var e=this._pane,t=e.chart().model(),i=this._sameSideSources().slice(),s=e.state(),r=this.priceScale(),n=new Set,o=t.lineBeingEdited()||t.lineBeingCreated();if(o&&n.add(o),t.sourcesBeingMoved().forEach((function(e){n.add(e)})),t.selection().allSources().forEach((function(e){n.add(e)})),t.hoveredSource()&&n.add(t.hoveredSource()),r===s.defaultPriceScale())for(var a=this._pane.state().dataSources(),l=0;l0&&this._hightlightBackground(e,c,this.priceScale().mainSource(),t);var h=a.model().crossHairSource();h.startMeasurePoint()&&this._hightlightBackground(e,h.measurePoints(),this.priceScale().mainSource(),t)}drawBorder(e,t){e.save(),e.fillStyle=this.lineColor();var i,s=Math.max(1,Math.floor(this.rendererOptions().borderSize*t));i=this._isLeft?Math.floor(this._size.w*t)-s:0,e.fillRect(i,0,s,Math.ceil(this._size.h*t)+1),e.restore()}drawBackLabels(e,t){e.save();for(var i=this.backLabels(),s=this.rendererOptions(),r=this._isLeft?"right":"left",n=0;n=l)&&(n={value:l,view:a})}})),r.view&&s.push(r.view),n.view&&s.push(n.view),s}_isFromSameSide(e){return(this._isLeft?this._pane.state().leftPriceScales():this._pane.state().rightPriceScales()).includes(e)}_addViewsOrMaxMin(e,t){var i=this._pane.state(),s=this.priceScale();if(s!==i.defaultPriceScale()&&(e=e.filter(function(e){return i.isOverlay(e)||this._isFromSameSide(e.priceScale())}.bind(this))),0!==e.length)if(1===e.length){var r=e[0].priceAxisViews(i,s);r&&r.length&&t.push(r)}else t.push(this._minMaxViews(e))}drawCrossHairLabel(e,t){e.save() +;var i=this._pane.chart().model().model(),s=this._pane.state(),r=this.priceScale(),n=[],o=this._pane.state(),a=this.priceScale()===s.defaultPriceScale(),l=i.lineBeingEdited()||i.lineBeingCreated();l&&(l.priceScale()===r||a&&s.isOverlay(l))&&((h=l.priceAxisViews(o,r))&&h.length&&n.push(h));this._addViewsOrMaxMin(i.sourcesBeingMoved(),n),this._addViewsOrMaxMin(i.selection().allSources(),n);var c=i.hoveredSource();if(c){var h,u=s.customSources().includes(c)?r:c.priceScale();if(!i.selection().isSelected(c)&&(this._isFromSameSide(u)||a&&s.isOverlay(c)))(h=i.hoveredSource().priceAxisViews(o,r))&&h.length&&n.push(h)}(h=i.crossHairSource().priceAxisViews(o,r))&&h.length&&n.push(h);var d=this.rendererOptions(),p=this._isLeft?"right":"left";n.forEach((function(i){i.forEach((function(i){e.save(),i.renderer().draw(e,d,this._widthCache,this._size.w,p,t),e.restore()}),this)}),this),e.restore()}hardResetCanvas(){null!==this._size&&(d(this._canvasBinding,this._size),d(this._topCanvasBinding,this._size))}_isMainPane(){return this._pane.state().containsMainSeries()}paint(e){if(this._isVisible&&e!==c.None){if(e>c.Cursor){var t=u(this._canvasBinding.canvas);this._alignLabels(),this.drawBackground(t,this._canvasBinding.pixelRatio),this.drawBorder(t,this._canvasBinding.pixelRatio),this._pane.hasState()&&(this._updateCurrencyLabel(),this._drawTickMarks(t,this._canvasBinding.pixelRatio),this.drawBackLabels(t,this._canvasBinding.pixelRatio))}if(this._pane.hasState()){var i=u(this._topCanvasBinding.canvas),s=this._topCanvasBinding.pixelRatio;i.clearRect(0,0,Math.ceil(this._size.w*s)+1,Math.ceil(this._size.h*s)+1),this.drawCrossHairLabel(i,s)}}}restoreDefaultCursor(){this.setCursor("")}setCursor(e){var t="";"grabbing"!==e&&"ns-resize"!==e||(t="price-axis--cursor-"+e),this._currentCursorClassName!==t&&(this._currentCursorClassName&&this._cell.classList.remove(this._currentCursorClassName),t&&this._cell.classList.add(t),this._currentCursorClassName=t,this._cell.style.cursor)}axisInfo(){return this._axisInfo}setHighlighted(e){this._highlighted!==e&&(this._highlighted=e)}}function T(e){var t=new v(e);return function(e,i){return isNumber(i)&&!e.isLog()?t.format(i):""}}var M=T(4);e.exports={PriceAxisWidget:x,scaleRatioForContextMenuTransformer:T}},"1Ky4":function(e,t,i){"use strict";i.r(t),i.d(t,"StudyPlotBarsPaneView",(function(){return a}));var s=i("Zy3/"),r=i("vq8G"),n=i("29fS"),o=i("ehkz");class a extends o.a{renderer(){if(!this._study.properties().ohlcPlots[this._plotName].visible.value())return null;this._invalidated&&(this._updateImpl(),this._invalidated=!1);const e={bars:this._bars,barSpacing:this._model.timeScale().barSpacing(),dontDrawOpen:this._series.properties().barStyle.dontDrawOpen.value(),thinBars:this._series.properties().barStyle.thinBars.value()},t=new s.CompositeRenderer;return t.append(new n.PaneRendererBars(e)),this._model.selection().isSelected(this._study)&&this._isMarkersEnabled&&this._selectionData&&t.append(new r.SelectionRenderer(this._selectionData)),t}}},"1Wlv":function(e,t,i){"use strict";(function(e){ +var s=i("Yj6H").PriceScaleBase,r=i("7ktv").PriceDataSource,n=i("kcTO").PriceFormatter,o=i("GH0z").PercentageFormatter,a=i("Qb4w").PriceRange,l=i("e3/o").randomHash,c=i("3ClC").isStudy,h=i("lTLF").PriceTickMarkBuilder,u=i("TTFo"),d=u.fromPercent,p=u.toPercent,_=u.fromIndexedTo100,m=u.toIndexedTo100,f=u.fromLog,g=u.toLog,v=new o,b=new n(100,1);class S extends s{constructor(t,i){super(i),this._scalesProperties=t,this.m_scrollStartPoint=null;var s=this;this._modeChanged=new e,this._properties.isInverted.listeners().subscribe(this,S.prototype._onIsInvertedChanged),this._properties.listeners().subscribe(null,(function(){if(s.mainSource()&&s.mainSource().model()){var e=s.mainSource().model().paneForSource(s.mainSource());s.mainSource().model().updatePane(e)}})),this._scalesProperties.listeners().subscribe(this,(function(){this._marksCache=null})),this.setId(l())}id(){return this._id}setId(e){this._id=e}_convertPriceRangeFromLog(e){if(null===e)return null;var t=f(e.minValue()),i=f(e.maxValue());return new a(t,i)}_convertPriceRangeToLog(e){if(null===e)return null;var t=g(e.minValue()),i=g(e.maxValue());return new a(t,i)}_canConvertPriceRangeFromLog(e){if(null===e)return!1;var t=f(e.minValue()),i=f(e.maxValue());return isFinite(t)&&isFinite(i)}mode(){return{autoScale:this._properties.autoScale.value(),lockScale:this._properties.lockScale.value(),percentage:this._properties.percentage.value(),indexedTo100:this._properties.indexedTo100.value(),log:this._properties.log.value()}}setMode(e){var t={},i=this.mode(),s=this._properties.state(),r=null;void 0!==e.autoScale&&e.autoScale!==s.autoScale&&(t.autoScale=e.autoScale,this._setAutoScaleValueWithDependentProperties(e.autoScale)),void 0!==e.lockScale&&e.lockScale!==s.lockScale&&(t.lockScale=e.lockScale,this._setLockScaleValueWithDependentProperties(e.lockScale)),void 0!==e.percentage&&e.percentage!==s.percentage&&(t.percentage=e.percentage,this._setPercentageValueWithDependentProperties(e.percentage),this._invalidatedForRange.isValid=!1),void 0!==e.indexedTo100&&e.indexedTo100!==s.indexedTo100&&(t.indexedTo100=e.indexedTo100,this._setIndexedTo100ValueWithDependentProperties(e.indexedTo100),this._invalidatedForRange.isValid=!1),void 0!==e.log&&e.log!==s.log&&(t.log=e.log,this._setLogValueWithDependentProperties(e.log)),s.log&&!this._properties.log.value()&&(this._canConvertPriceRangeFromLog(this.m_priceRange)?null!==(r=this._convertPriceRangeFromLog(this.m_priceRange))&&this.setPriceRange(r):this.properties().autoScale.setValue(!0)),!s.log&&this._properties.log.value()&&null!==(r=this._convertPriceRangeToLog(this.m_priceRange))&&this.setPriceRange(r),s.autoScale!==this._properties.autoScale.value()&&this._properties.autoScale.listeners().fire(this._properties.autoScale),s.autoScaleDisabled!==this._properties.autoScaleDisabled.value()&&this._properties.autoScaleDisabled.listeners().fire(this._properties.autoScaleDisabled),s.lockScale!==this._properties.lockScale.value()&&this._properties.lockScale.listeners().fire(this._properties.lockScale), +s.percentage!==this._properties.percentage.value()&&(this._properties.percentage.listeners().fire(this._properties.percentage),this.updateFormatter()),s.indexedTo100!==this._properties.indexedTo100.value()&&(this._properties.indexedTo100.listeners().fire(this._properties.indexedTo100),this.updateFormatter()),s.percentageDisabled!==this._properties.percentageDisabled.value()&&this._properties.percentageDisabled.listeners().fire(this._properties.percentageDisabled),s.log!==this._properties.log.value()&&this._properties.log.listeners().fire(this._properties.log),s.logDisabled!==this._properties.logDisabled.value()&&this._properties.logDisabled.listeners().fire(this._properties.logDisabled),void 0===t.log&&void 0===t.percentage&&void 0===t.lockScale&&void 0===t.autoScale&&void 0===t.indexedTo100||this._modeChanged.fire(i,this.mode())}modeChanged(){return this._modeChanged}fontSize(){return this._scalesProperties.fontSize.value()}isEmpty(){return this._makeSureItIsValid(),0===this.m_height||!this.m_priceRange||this.m_priceRange.isEmpty()}priceToCoordinate(e,t){return this.isPercentage()?e=p(e,t):this.isIndexedTo100()&&(e=m(e,t)),this._logicalToCoordinate(e,t)}pointsArrayToCoordinates(e,t){this._makeSureItIsValid();var i=this.bottomPixelMargin(),s=this.priceRange().minValue(),r=this.priceRange().maxValue(),n=this.internalHeight()-1,o=this.isInverted(),a=n/(r-s);if(this.isPercentage())for(var l=0;l{b.ContextMenuManager.createMenu(e).then(e=>{e.show((e,t)=>{const r=Object(s.ensureDefined)(this._data),o=Object(s.ensureNotNull)(i.view).innerHeight,a=n?r.xl:r.xr,l=i.localX-a,c={left:i.clientX-l,right:i.clientX-l+r.containerWidth,top:i.clientY-r.containerHeight/2,bottom:i.clientY+r.containerHeight/2};return{clientX:n?c.left:c.right-e,clientY:o=0&&Object(I.drawVerticalLine)(e,n,0,l),r&&o>=0&&Object(I.drawHorizontalLine)(e,o,0,a),this._data.drawCenter&&(e.beginPath(),e.arc(n,o,Math.round(3*i),0,2*Math.PI,!0),e.fillStyle=this._data.color,e.fill()),e.restore()}}var O=i("CW80");class A{constructor(e,t,i){this._rendererData={},this._renderer=new L(this._rendererData),this._source=e,this._pane=t,this._horzVisible=i}update(){}renderer(e,t){const i=this._source.visible&&this._source.areLinesVisible&&!this._source.linesShouldBeHidden(),s=Object(m.lockTimeAxis)().value(),r=this._rendererData;if(!i||null===this._pane)return null;r.horzLinesVisible=i&&this._horzVisible,r.vertLinesVisible=i||s;const n=this._source.model(),o=this._source.properties(),a=this._source.selectBarMode().value()&&this._source.isOnHoveredChartWidget(),l=n.currentTool(),c=Object(x.lastEventIsTouch)()&&(Object(O.isLineToolName)(l)||Object(m.toolIsMeasure)(l))&&!a;let h;h=c?n.isDark()?"#1E88E5":"#2196F3":o.childs().color.value();const u=o.childs().transparency.value();return!c&&u>0&&(h=Object(C.generateColor)(h,u)),r.color=h,r.lineWidth=o.childs().width.value(),r.lineStyle=o.childs().style.value(),r.drawCenter=c&&this._pane===this._source.pane,r.w=this._pane.width(),r.h=this._pane.height(),r.x=void 0!==this._source.lockedX&&isFinite(this._source.lockedX)&&this._source.lockedX||this._source.x,r.y=this._source.y,a&&(r.vertLinesVisible=!0,r.lineStyle=P.LINESTYLE_SOLID,r.lineWidth=2,r.color="#ff0000"),this._renderer}}var E=i("IjC5");class k{constructor(e){this._renderer=new E.RectangleRenderer,this._rectangle=null,this._crosshair=e}update(){const e=this._crosshair.selection();null!==e&&null!==this._crosshair.pane?this._rectangle=this._crosshair.pane.logicalRectToPixels(e):this._rectangle=null}renderer(e,t){if(!this._rectangle)return null;const i=this._crosshair.model().isDark(),s={backcolor:i?"rgba(21, 101, 192, 0.3)":"rgba(33, 150, 243, 0.3)",color:i?"rgba(21, 101, 192, 0.8)":"rgba(33, 150, 243, 0.8)",fillBackground:!0,linewidth:1,points:[this._rectangle.min,this._rectangle.max],extendLeft:!1,extendRight:!1};return this._renderer.setData(s),this._renderer}}var D=i("Ialn"),V=i("GH0z"),B=i("5C6T"),R=i("nda6"),N=i("pJOz"),j=i("qgcf"),F=i("Zy3/"),W=i("a7Ha"),H=i("zDbI");const z=window.t("{0} bars"),U=new R.TimeSpanFormatter;class G{constructor(e,t){this._pipFormatter=null,this._lastSymbolInfo=null,this._horzTrenRenderer=new N.TrendLineRenderer,this._vertTrenRenderer=new N.TrendLineRenderer,this._bgRenderer=new E.RectangleRenderer,this._labelRenderer=new j.TextRenderer,this._p1=null,this._p2=null,this._label=null,this._source=e,this._pane=t}update(){const[e,t]=this._source.measurePoints();if(void 0===t)return this._p1=null,void(this._p2=null);const i=Object(s.ensureNotNull)(this._source.measurePane()),n=e.price,o=t.price,a=t.price-n,l=t.index-e.index,c=Object(D.forceLTRStr)(""+l),h=Object(s.ensureNotNull)(i.mainDataSource()) +;let u=Object(s.ensureNotNull)(h.formatter()).format(a);if(Math.abs(n)>1e-8){const e=a/Math.abs(n);u+=" ("+(new V.PercentageFormatter).format(100*e)+")"}const d=Object(D.forceLTRStr)(u);this._label=d+"\n"+z.format(c);const p=Object(s.ensureNotNull)(h.firstValue()),_=this._source.model().timeScale().indexToCoordinate(e.index),m=this._source.model().timeScale().indexToCoordinate(t.index),f=i.defaultPriceScale().priceToCoordinate(n,p),g=i.defaultPriceScale().priceToCoordinate(o,p);this._p1=new r.Point(_,f),this._p2=new r.Point(m,g);const v=this._source.model().timeScale().indexToUserTime(e.index),b=this._source.model().timeScale().indexToUserTime(t.index);let S=null;if(null!==v&&null!==b){const e=this._pane.model().mainSeries().symbolInfo();null!==e&&e!==this._lastSymbolInfo&&(this._pipFormatter=new B.PipFormatter(e.pricescale,e.minmov,e.type,e.minmove2),this._lastSymbolInfo=e),S=(b.valueOf()-v.valueOf())/1e3}const y=this._pipFormatter?this._pipFormatter.format(a):null,w=null!==y?" , "+y:"",C=null!==S?U.format(S):null,x=null!==C?", "+Object(D.startWithLTR)(C):"";this._label=Object(D.forceLTRStr)(d+w)+"\n"+z.format(c)+x;const T=o=50?W.LineEnd.Arrow:W.LineEnd.Normal};this._horzTrenRenderer.setData(s)}{const e=Math.round(O.x),t=new r.Point(e,this._p1.y),i=new r.Point(e,this._p2.y),s={points:[t,i],color:M,linewidth:1,linestyle:P.LINESTYLE_SOLID,extendleft:!1,extendright:!1,leftend:W.LineEnd.Normal,rightend:Math.abs(t.y-i.y)>=50?W.LineEnd.Arrow:W.LineEnd.Normal};this._vertTrenRenderer.setData(s)}const A={x:0,y:10},E=.5*(this._p1.x+this._p2.x),k=this._p2.y,R=new r.Point(E,k),N=(F=Object(s.ensureNotNull)(this._label),{points:[R],text:F,color:"#FFFFFF",horzAlign:"center",vertAlign:"middle",font:H.CHART_FONT_FAMILY,offsetX:A.x,offsetY:A.y,bold:!1,italic:!1,fontsize:12,padding:8,highlightBorder:!1,backgroundColor:I,backgroundTransparency:10,backgroundVertInflate:5,backgroundHorzInflate:5,backgroundRoundRect:4});var F;this._labelRenderer.setData(N);const G=this._labelRenderer.measure(),q=Object(j.calculateLabelPosition)(G,this._p1,this._p2,A,this._pane.height());this._labelRenderer.setPoints([q])}renderer(){if(null===this._p1||null===this._p2)return null;const e=new F.CompositeRenderer;return e.append(this._bgRenderer),e.append(this._horzTrenRenderer),e.append(this._vertTrenRenderer),e.append(this._labelRenderer),e}}var q=i("cPgM");class Y extends q.ScaledPaneRenderer{constructor(e){super(),this._data=e}hitTest(e){return null}_drawImpl(e){e.translate(this._data.x-this._data.width/2,this._data.y-this._data.height/2), +e.strokeStyle="rgba(153,153,153,.3)",e.lineWidth=2,e.beginPath(),this._drawShackle(e),e.stroke(),e.closePath(),e.strokeStyle="rgba(153,153,153,.7)",e.lineWidth=1,e.beginPath(),e.rect(0,this._data.height-this._data.bodyHeight+.5,this._data.width,this._data.bodyHeight),e.closePath(),e.stroke(),e.translate(0,-1),e.strokeStyle="#777",e.beginPath(),this._drawShackle(e),e.stroke(),e.closePath(),e.fillStyle="rgba(255,255,255,.7)",e.beginPath(),e.rect(1,this._data.height-this._data.bodyHeight+1.5,this._data.width-2,this._data.bodyHeight-2),e.fill(),e.beginPath(),e.rect(.5,this._data.height-this._data.bodyHeight+1,this._data.width-1,this._data.bodyHeight-1),e.stroke(),e.closePath(),e.fillStyle="#777",e.fillRect(this._data.width/2-.5,this._data.height-this._data.bodyHeight/2,1,2)}_drawShackle(e){const t=(this._data.width-3)/2,i=this._data.height-this._data.bodyHeight;e.moveTo(1.5,t),e.arc(this._data.width/2,t,t,Math.PI,2*Math.PI),i>t&&(e.moveTo(1.5,t),e.lineTo(1.5,i),e.moveTo(this._data.width-1.5,t),e.lineTo(this._data.width-1.5,i))}}class K{constructor(e,t,i){this._horzVisible=!1,this._source=e,this._pane=t,this._axis=i||"x"}update(){}renderer(e,t){const i=this._source.visible&&this._source.areLinesVisible,r=Object(m.lockTimeAxis)().value(),n=i&&this._horzVisible,o=i||r;if("y"===this._axis&&!n||!o)return null;const a="y"===this._axis?this._pane.width()-4.5:Object(s.ensureDefined)(this._source.lockedX)+1,l="y"===this._axis?this._source.y:this._pane.height()-5.5-1;return new Y({x:a,y:l,width:9,height:11,bodyHeight:7})}}var J=i("qFKp"),Z=i("aIyQ"),X=i.n(Z),$=i("GDWD"),Q=i("ivNn"),ee=i("4miz");const te=window.t("n/a");class ie extends ee.b{constructor(e){super(),this._invalidated=!0,this._dateItem=new ee.a(window.t("Date"),""),this._timeItem=new ee.a(window.t("Time"),""),this._model=e,this._items.push(this._dateItem),this._items.push(this._timeItem)}update(){this._invalidated=!0}items(){return this._invalidated&&(this._updateImpl(),this._invalidated=!1),this._items}_updateImpl(){const e=this._model.mainSeries().isDWM();if(this._timeItem.setVisible(!e),this._timeItem.setValue(te),this._dateItem.setValue(te),this._model.timeScale().isEmpty())return;let t=this._model.crossHairSource().appliedIndex();if(!Object(Q.isNumber)(t)){const e=this._model.mainSeries().data().last();if(null===e)return;t=e.index}const i=this._model.timeScale().indexToUserTime(t);null!==i&&(this._dateItem.setValue(this._model.dateFormatter().format(i)),e||this._timeItem.setValue(this._model.timeFormatter().format(i)))}}var se=i("cgFQ");class re extends se.a{constructor(e,t,i=!1){super(e),this._indexProvider=t,this._highlighted=i}_getBgColor(){const e=this._model.isDark();return this._highlighted?e?"#1E88E5":"#2196F3":e?l.a["color-cold-gray-750"]:l.a["color-cold-gray-900"]}_getIndex(){return this._model.crossHairSource().visible?this._indexProvider():null}}i.d(t,"Crosshair",(function(){return oe}));const ne={menuEnabled:!1,menuForMainSourceOnly:!1,disableTradingMenuActions:!1,disableDrawHorizLineMenuAction:!1};class oe extends n.DataSource{constructor(e,t,i){ +super(),this.pane=null,this.price=NaN,this.index=NaN,this.visible=!0,this.areLinesVisible=!0,this.x=NaN,this.y=NaN,this._measuringStarted=new X.a,this._measurePane=null,this._startMeasurePoint=null,this._endMeasurePoint=null,this._lastValidMeasurePoint=null,this._isOnHoveredChartWidget=!1,this._selectBarMode=new a.a(!1),this._selectionPane=null,this._selectionView=new k(this),this._selectionStartPoint=null,this._measurePaneView=null,this._timeLockPaneView=null,this._priceAxisViews=new Map,this._panePriceAxisViews=new Map,this._startMeasurePriceAxisViews=new Map,this._endMeasurePriceAxisViews=new Map,this._originX=NaN,this._originY=NaN,this._subscribed=!1,this._movedDelegate=new X.a,this._barSelectedDelegate=new X.a,this._model=e,this._options=Object.assign({},ne,i||{}),this._linesShouldBeHidden=this._model.readOnly(),this._dataWindowView=new ie(e),this.setSelectionEnabled(!1);const r=e=>t=>t===Object(s.ensureNotNull)(this._measurePane).defaultPriceScale()?e():null;this._currentPosPriceProvider=e=>{const t=Object(s.ensureNotNull)(this.pane);if(e===t.defaultPriceScale())return this.price;const i=Object(s.ensureNotNull)(t.defaultPriceScale().mainSource()).firstValue();if(null===i)return null;const r=t.defaultPriceScale().priceToCoordinate(this.price,i),n=Object(s.ensureNotNull)(e.mainSource()).firstValue();return null===n?null:e.coordinateToPrice(r,n)},this._startMeasurePriceProvider=r(()=>Object(s.ensureNotNull)(this._startMeasurePoint).price),this._endMeasurePriceProvider=r(()=>Object(s.ensureNotNull)(this._lastMeasurePoint()).price),this._properties=t;this._timeAxisView=new re(e,()=>this.appliedIndex(),!1),this._startMeasureTimeAxisView=new re(e,()=>Object(s.ensureNotNull)(this._startMeasurePoint).index,!0),this._endMeasureTimeAxisView=new re(e,()=>Object(s.ensureNotNull)(this._lastMeasurePoint()).index,!0),e.readOnly()||m.cursorTool.subscribe(e=>this.areLinesVisible="arrow"!==e,{callWithLast:!0})}moved(){return this._movedDelegate}originX(){return this._originX}originY(){return this._originY}saveOriginCoords(e,t){this._originX=e,this._originY=t}clearOriginCoords(){this._originX=NaN,this._originY=NaN}currentPoint(){return new r.Point(this.x,this.y)}model(){return this._model}appliedIndex(){return Number.isFinite(this.lockedIndex)&&this.lockedIndex||this.index}startMeasurePoint(){return this._startMeasurePoint||null}endMeasurePoint(){return this._endMeasurePoint||null}measurePane(){return this._measurePane||null}startMeasuring(e,t){this._startMeasurePoint=e,this._measurePane=t,this._measuringStarted.fire()}finishMeasure(e){this._endMeasurePoint=e}clearMeasure(){delete this._measurePane,delete this._startMeasurePoint,delete this._endMeasurePoint,delete this._lastValidMeasurePoint,this._model.lightUpdate()}measuringStarted(){return this._measuringStarted}measurePoints(){this.updateAllViews();const e=[Object(s.ensureNotNull)(this._startMeasurePoint)],t=this._lastMeasurePoint();return null!==t&&e.push(t),e}startSelection(e){this._selectionStartPoint=this.currentLogicalPoint(),this._selectionPane=e}clearSelection(){ +this._selectionStartPoint=null,this._selectionPane=null}selection(){return this._selectionStartPoint?{p1:this._selectionStartPoint,p2:this.currentLogicalPoint()}:null}currentLogicalPoint(){return{index:this.appliedIndex(),price:this.price}}selectBarMode(){return this._selectBarMode}toggleSelectBarMode(){this._setSelectBarModeState(!this._selectBarMode.value())}onBarSelected(){return this._barSelectedDelegate}trySelectCurrentBar(){if(!this._model.mainSeries().bars().contains(this.index))return;const e=this._model.timeScale().indexToTimePoint(this.index);null!==e&&(this._setSelectBarModeState(!1),this._barSelectedDelegate.fire(e))}isOnHoveredChartWidget(){return this._isOnHoveredChartWidget}setOnHoveredChartWidget(e){this._isOnHoveredChartWidget=e}clearPosition(){this.visible=!1,this.index=NaN,this.price=NaN,this.x=NaN,this.y=NaN,this.pane=null,this.clearOriginCoords()}setPosition(e,t,i){return this._subscribed||(this._model.mainSeries().onRestarted().subscribe(this,this.clearMeasure),this._subscribed=!0),this.setLockedPosition(i),this.visible=!0,this._tryToUpdateViews(e,t,i)}setLinesShouldBeHidden(e){this._linesShouldBeHidden=e}linesShouldBeHidden(){return this._linesShouldBeHidden}handleContextMenuEvent(e){this._selectBarMode.value()&&this._setSelectBarModeState(!1)}properties(){return this._properties}priceAxisViews(e,t){const i=[];return this._selectBarMode.value()&&this._isOnHoveredChartWidget||this.pane!==e||i.push(this._createPriceAxisViewOnDemand(this._priceAxisViews,this._panePriceAxisViews,e,t,this._currentPosPriceProvider,p,!0)[0]),this._startMeasurePoint&&i.push(this._createPriceAxisViewOnDemand(this._startMeasurePriceAxisViews,null,e,t,this._startMeasurePriceProvider,_)[0]),this._lastMeasurePoint()&&i.push(this._createPriceAxisViewOnDemand(this._endMeasurePriceAxisViews,null,e,t,this._endMeasurePriceProvider,_)[0]),i}timeAxisViews(){const e=[];return this._linesShouldBeHidden||!this.visible&&!Object(m.lockTimeAxis)().value()||e.push(this._timeAxisView),this._startMeasurePoint&&e.push(this._startMeasureTimeAxisView),this._lastMeasurePoint()&&e.push(this._endMeasureTimeAxisView),e}paneViews(e){if(void 0===e)return null;const t=this._selectBarMode.value()&&this._isOnHoveredChartWidget,i=e===this.pane&&!t,s=[new A(this,e,i)];if(e===this._selectionPane&&s.push(this._selectionView),e===this._measurePane&&(null===this._measurePaneView&&(this._measurePaneView=new G(this,e)),this._measurePaneView.update(),s.push(this._measurePaneView)),$.addPlusButtonProperty.value()){const i=e===this.pane,r=!J.CheckMobile.any()||window.screen.width>=320,n=m.tool.value(),o=Object(O.isLineToolName)(n),a=this._model.customSourceMovingHitTestData(),l=null!==this._model.lineBeingEdited()||null!==this._model.lineBeingCreated()||this._model.sourcesBeingMoved().length>0||null!==a&&a.beingMoved||Object(m.toolIsMeasure)(n);if(i&&this._isOnHoveredChartWidget&&!t&&r&&!o&&!l){const t=e.mainDataSource();if(null!==t){const i=t.priceScale();if(null!==i){ +const t=this._createPriceAxisViewOnDemand(this._priceAxisViews,this._panePriceAxisViews,e,i,this._currentPosPriceProvider,p,!0)[1];null!==t&&s.push(t)}}}}return Object(m.lockTimeAxis)().value()&&(null===this._timeLockPaneView&&(this._timeLockPaneView=new K(this,e)),s.push(this._timeLockPaneView)),s}dataWindowView(){return this._dataWindowView}updateAllViews(){this._priceAxisViews.forEach(e=>{e.forEach(e=>e.update())}),this._panePriceAxisViews.forEach(e=>{e.forEach(e=>e.update())}),this._startMeasurePoint&&(this._startMeasurePriceAxisViews.forEach(e=>{e.forEach(e=>e.update())}),this._startMeasureTimeAxisView.update()),this._lastMeasurePoint()&&(this._endMeasurePriceAxisViews.forEach(e=>{e.forEach(e=>e.update())}),this._endMeasureTimeAxisView.update()),this._timeAxisView.update(),this._selectionView.update(),this._dataWindowView.update()}setLockedPosition(e){delete this.lockedIndex,delete this.lockedX,e!==this._measurePane&&Object(m.lockTimeAxis)().value()&&(this.lockedIndex=this._model.timeScale().points().roughIndex(m.lockTimeAxisTime.value()),null!==this.lockedIndex&&(this.lockedX=this._model.timeScale().indexToCoordinate(this.lockedIndex)))}isMenuEnabled(){return this._options.menuEnabled}isHoveredEnabled(){return $.addPlusButtonProperty.value()}isHovered(){return this._model.hoveredSource()===this}_lastMeasurePoint(){return this._endMeasurePoint?this._endMeasurePoint:(null!==this.pane&&this._measurePane===this.pane&&(this._lastValidMeasurePoint={price:this._model.magnet().align(this.price,this.index,this.pane),index:this.index}),this._lastValidMeasurePoint||null)}_createPriceAxisViewOnDemand(e,t,i,r,n,o,a=!1){let l=e.get(i),c=null!==t?t.get(i):void 0;void 0===l&&(l=new Map,e.set(i,l),this._options.menuEnabled&&null!==t&&(c=new Map,t.set(i,c)),a&&i.onDestroyed().subscribe(this,()=>this._onPaneDestroyed(i)));let h=l.get(r);if(void 0===h){if(h=new o(this,r,n),l.set(r,h),void 0!==c){const e=new w(h,this,r,this._model,this._options);c.set(r,e)}a&&r.lastSourceRemoved().subscribe(this,()=>this._onPriceScaleCleared(r))}let u=null;return void 0!==c&&(u=Object(s.ensureDefined)(c.get(r))),[h,u]}_onPaneDestroyed(e){e.onDestroyed().unsubscribeAll(this),this._priceAxisViews.delete(e),this._panePriceAxisViews.delete(e),this._startMeasurePriceAxisViews.delete(e),this._endMeasurePriceAxisViews.delete(e)}_onPriceScaleCleared(e){e.lastSourceRemoved().unsubscribeAll(this),this._priceAxisViews.forEach(t=>t.delete(e)),this._panePriceAxisViews.forEach(t=>t.delete(e)),this._startMeasurePriceAxisViews.forEach(t=>t.delete(e)),this._endMeasurePriceAxisViews.forEach(t=>t.delete(e))}_tryToUpdateViews(e,t,i){if(this._tryToUpdateData(e,t,i)){this.updateAllViews();const e=this._model.timeScale().points().roughTime(this.index);return null!==e&&this._movedDelegate.fire({time:e,price:this.price}),!0}return!1}_tryToUpdateData(e,t,i){const r=this.x,n=this.y,o=this.price,a=this.index,l=this.pane,c=this._priceScaleByPane(i);if(this.index=e,this.x=isNaN(e)?NaN:this._model.timeScale().indexToCoordinate(e),null!==c&&null!==i){this.pane=i,this.price=t +;const e=Object(s.ensureNotNull)(i.mainDataSource()).firstValue();this.y=null===e?NaN:c.priceToCoordinate(t,e)}else this.pane=null,this.price=NaN,this.y=NaN;return r!==this.x||n!==this.y||a!==this.index||o!==this.price||l!==this.pane}_priceScaleByPane(e){return e&&!e.defaultPriceScale().isEmpty()?e.defaultPriceScale():null}_setSelectBarModeState(e){this._selectBarMode.setValue(e),this._model.lightUpdate()}}},"22xp":function(e,t,i){"use strict";i.r(t);var s=i("Eyy1"),r=(i("YFKU"),i("9uLv")),n=i("txPx"),o=i("//lZ"),a=i("aIyQ"),l=i.n(a),c=i("Kxc7"),h=i("Hr11"),u=i("ogJP"),d=i("FIi8"),p=i("ZJKN");class _{constructor(e,t){Object(s.assert)(e<=t,"The left value should be greater than or equal to the right value"),this._left=e,this._right=t}left(){return this._left}right(){return this._right}length(){return this._right-this._left+1}contains(e){return this._left<=e&&e<=this._right}equals(e){return this._left===e.left()&&this._right===e.right()}static compare(e,t){return null===e||null===t?e===t:e.equals(t)}}const m=Object(n.getLogger)("Chart.TimePoints");class f{constructor(){this._zoffset=0,this._items=[]}clear(){this._zoffset=0,this._items=[]}size(){return this._items.length}firstIndex(){return this._offsetToIndex(0)}lastIndex(){return this._offsetToIndex(this._items.length-1)}merge(e,t,i){if(0===i.length)return m.logError("merge: 'values' does not contain any time points"),[];if(t>this._zoffset&&e+t>0)return m.logError("merge: when the first time point index is updated, we should fill the time points starting from the first one"),[];if(0===this._items.length)return this._items=i,this._zoffset=t,[{change:"rebuild",index:this._validOffsetToIndex(0)}];const s=e+this._zoffset;if(s<0){const r=Math.abs(s);if(i.lengththis._items.length){const e=o-this._items.length;for(let t=n;tthis._items[this._items.length-1])return t?this._validOffsetToIndex(this._items.length-1):null;for(let i=0;io){const i=e-o;if(i<500&&null!=t)return t(l,i);return l+i*c}return null}roughIndex(e,t=null){const i=this._items;if(!i.length||i.length<2)return null;const s=i.length-1,r=this._validOffsetToIndex(0),n=this._validOffsetToIndex(s),o=i[0],a=i[s];if(e>=o&&e<=a)return this.closestIndexLeft(e);const l=(a-o)/(n-r);if(ea){const i=e-a;let s=Math.trunc(i/l);if(s<500&&null!==t){const i=t(a,e);i.success&&(s=i.result)}return n+s}return null}closestIndexLeft(e){const t=this._items;if(!t.length)return null;if(Number.isNaN(e))return null;let i=t.length-1;if(e>=t[i])return this._validOffsetToIndex(i);let s=0;const r=t[s];if(es+1;){const r=s+i>>1,n=t[r];if(n>e)i=r;else{if(!(n{this.setRightOffset(e.value())}),this._options.preserveBarSpacing&&(this._barSpacing=this._scalesProperties.childs().barSpacing.value()||6),this._barSpacingChanged.subscribe(this,this._maxRightOffsetOnChanged),this._widthChanged.subscribe(this,this._maxRightOffsetOnChanged)}destroy(){this._barSpacingChanged.unsubscribeAll(this),this._barSpacingChanged.destroy(),this._widthChanged.unsubscribeAll(this),this._widthChanged.destroy()}isEmpty(){return 0===this._width||0===this._points.size()}update(e,t,i,s){this._visibleBarsInvalidated=!0,i.length>0&&this._points.merge(e,t,i),this._tickMarks.merge(s),this._correctOffset()}addTail(e,t,i){this._tickMarks.removeTail(t);const r=e.params,n=Object(s.ensureDefined)(this._tickMarks.maxIndex)+(i?0:1);for(let s=0;s0&&(i*=this._width/e.width)),this._tryToUpdateBarSpacing(this._barSpacing,i),this._correctOffset()}marks(){if(this.isEmpty())return null +;const e=this._barSpacing,t=5*((this._scalesProperties.childs().fontSize.value()||0)+4),i=Math.round(t/e),r=Object(s.ensureNotNull)(this.visibleBarsStrictRange()),n=Math.max(r.firstBar(),r.firstBar()-i),o=Math.max(r.lastBar(),r.lastBar()-i),a=this._tickMarks.build(e,t),l=[];for(const s of a){if(!(n<=s.index&&s.index<=o))continue;const e=this._tickMarks.indexToTime(s.index);null!==e&&l.push({coord:this.indexToCoordinate(s.index),label:this.formatLabel(e,s.span),span:s.span,major:s.label>=C.DAY_SPAN})}return l}visibleBarsStrictRange(){return this._visibleBarsInvalidated&&(this._visibleBarsInvalidated=!1,this._updateVisibleBars()),this._visibleBars.strictRange()}visibleBarsStrictRangeChanged(){return this._visibleBarsChanged}logicalRangeChanged(){return this._logicalRangeChanged}tickMarks(){return this._tickMarks}points(){return this._points}width(){return this._width}setWidth(e,t){if(!Number.isFinite(e)||e<=0)L.logWarn("setWidth: invalid argument: "+e);else if(this._width!==e){if(this._visibleBarsInvalidated=!0,(t||this._options.lockVisibleTimeRangeOnResize)&&this._width){const t=this._barSpacing*e/this._width;this._tryToUpdateBarSpacing(this._barSpacing,t)}if(null!==this._leftEdgeIndex){if(Object(s.ensureNotNull)(this.visibleBarsStrictRange()).firstBar()<=this._leftEdgeIndex){const t=this._width-e;this._rightOffset-=Math.round(t/this._barSpacing)+1}}this._width=e,this._widthChanged.fire(e),this._correctOffset(),this._requestMoreData()}}setLeftEdgeFix(e){this._leftEdgeIndex=e;const t=this.visibleBarsStrictRange();if(null===t)return;const i=t.firstBar()-e;if(i<0){const e=this._rightOffset-i-1;this.scrollToOffsetAnimated(e,500)}}indexToCoordinate(e){if(this.isEmpty())return 0;if(!Object(u.isInteger)(e))return 0;const t=this.baseIndex()+this._rightOffset-e;return this._width-(t+.5)*this._barSpacing-1}indexToUserTime(e){return this._tickMarks.indexToTime(e)}timePointToIndex(e){return this._points.indexOf(e,!0)}indexToTimePoint(e){return this._points.valueAt(e)}timeToCoordinate(e){const t=this._points.closestIndexLeft(e);if(null===t)return null;const i=Object(s.ensureNotNull)(this._points.valueAt(t)),r=this.indexToCoordinate(t);if(r<=0||r>=this._width)return null;const n=this.barSpacing(),o=this.baseIndex(),a=r+(e-i)/(Object(s.ensureNotNull)(this._points.valueAt(o))-Object(s.ensureNotNull)(this._points.valueAt(o-1)))*n+1;return a<=0||a>=this._width?null:a}barIndexesToCoordinates(e){const t=this.baseIndex();for(const i of e){const e=i.time,s=t+this._rightOffset-e,r=this._width-(s+.5)*this._barSpacing-1;i.time=r,i.exactTime=r}}timedValuesToCoordinates(e){const t=this.baseIndex()+this._rightOffset,i=this._width-t*this._barSpacing-.5*this._barSpacing-1;for(const s of e)s.x=i+s.x*this._barSpacing}indexesToCoordinates(e,t){if(this.isEmpty())return;void 0===t&&(t=e.length);const i=this.baseIndex()+this._rightOffset,s=this._width-i*this._barSpacing-.5*this._barSpacing-1,r=this._barSpacing,n=e;for(let o=0;o{void 0!==t&&t(),this._requestMoreData()};if(e){const e=this._rightOffset,t=this.maxRightOffset();t>0&&i>t&&(i=t);const n=this._model;Object(o.doAnimate)({from:e,to:i,duration:1e3,easing:r.easingFunc.easeInOutQuint,onComplete:s,onStep:(e,t)=>{this._visibleBarsInvalidated=!0,this._rightOffset=t,this._correctOffset(),n.recalculateAllPanes(),n.lightUpdate(),n.recalcVisibleRangeStudies()}})}else this._visibleBarsInvalidated=!0,this._rightOffset=i,this._correctOffset(),s()}scrollToOffsetAnimated(e,t){if(!isFinite(e))throw new RangeError("offset is required and must be finite number");const i=void 0===t?400:t;if(!isFinite(i)||i<=0)throw new RangeError("animationDuration (optional) must be finite positive number");const s=this._rightOffset,r=Date.now(),n=()=>{this._visibleBarsInvalidated=!0;const t=(Date.now()-r)/i;if(t>=1)return this._rightOffset=e,this._correctOffset(),this._visibleBarsInvalidated=!0,this._model.recalculateAllPanes(),void this._model.lightUpdate();this._rightOffset=s+(e-s)*t,this._correctOffset(),this._model.recalculateAllPanes(),setTimeout(n,20)};n()}defaultRightOffsetProperty(){return this._defaultRightOffsetProperty}rightOffsetDefaultValue(){return 10}barSpacing(){return this._barSpacing}setBarSpacing(e){Number.isFinite(e)?(e=this.getValidBarSpacing(e),this._tryToUpdateBarSpacing(this._barSpacing,e)&&(this._correctOffset(),this._options.preserveBarSpacing&&(Object(y.saveDefaultProperties)(!0),this._scalesProperties.childs().barSpacing.setValue(this._barSpacing),Object(y.saveDefaultProperties)(!1)))):L.logWarn("setBarSpacing: invalid argument: "+e)}barSpacingChanged(){return this._barSpacingChanged}getValidBarSpacing(e){return null==e&&(e=this.barSpacing()),ethis.maxBarSpacing()?this.maxBarSpacing():e}isValidBarSpacing(e){return e>=this.minBarSpacing()&&e<=this.maxBarSpacing()}preserveBarSpacing(){return this._options.preserveBarSpacing}normalizeBarIndex(e){let t=0,i=0;const r=this.baseIndex(),n=Object(s.ensureNotNull)(this._points.firstIndex());return er?(t=Object(s.ensureNotNull)(this._points.valueAt(r)),i=e-r):(t=Object(s.ensureNotNull)(this._points.valueAt(e)),i=0),{time_t:t,offset:i}}denormalizeTimePoint(e){const t=this._points.indexOf(e.time_t,!1);if(null!==t)return t+e.offset}rightOffset(){return this._rightOffset}minRightOffset(){const e=this.points().firstIndex(),t=this._baseIndex;if(null===e||null===t)return null;if(null!==this._leftEdgeIndex){const e=this.width()/this._barSpacing;return this._leftEdgeIndex-t+e-1}return e-t-1+I}maxRightOffset(){return this.width()/this._barSpacing-I}maxRightOffsetChanged(){return this._maxRightOffsetChanged}onReset(){return this._resetDelegate}scrollStartPoint(){return this._scrollStartPoint}baseIndex(){return this._baseIndex||0}zoom(e,t,i){ +if(!Number.isFinite(e)||!Number.isFinite(t))return void L.logWarn(`zoom: invalid arguments: ${e}, ${t}, ${i}`);const s=this.coordinateToIndex(e),r=this.barSpacing(),n=r+t*(r/10);this.setBarSpacing(n);(void 0!==i?!i:this._options.rightBarStaysOnScroll)||this.setRightOffset(this.rightOffset()-.5+(s-this._coordinateToFloatIndex(e))),this._requestMoreData()}zoomToBarsRange(e,t){if(t<=e)return;const i=this.baseIndex();this._rightOffset=t-i;const s=O.get(this._model.mainSeries().style())||.6,r=Math.max(t-e+s,I);this.setBarSpacing(this.width()/r),this._visibleBarsInvalidated=!0,this._requestMoreData()}coordinateToIndex(e){return Math.ceil(this._coordinateToFloatIndex(e))}canZoomIn(){return this.barSpacing()this._options.minBarSpacing}minBarSpacing(){return this._options.minBarSpacing}maxBarSpacing(){return M?this.width():50}resetRightOffset(){this.setRightOffset(this._defaultRightOffsetProperty.value())}reset(){this._visibleBarsInvalidated=!0,this._points=new f,this._scrollStartPoint=null,this._scaleStartPoint=null,this._clearCommonTransitionsStartState(),this._tickMarks.reset(),this._leftEdgeIndex=null,this._resetDelegate.fire(),this.disconnect()}disconnect(){this._requestingMoreData=!1,this._requestedTickmarksCount=0,this._endOfData=!1}setBaseIndex(e){Number.isFinite(e)?(this._visibleBarsInvalidated=!0,this._baseIndex=e,this._correctOffset()):L.logDebug("setBaseIndex: invalid argument: "+e)}setRightOffset(e){Number.isFinite(e)?(this._visibleBarsInvalidated=!0,this._rightOffset=e,this._correctOffset()):L.logWarn("setRightOffset: invalid argument: "+e)}correctBarSpacing(){this.isEmpty()||this.points().size()this.formatLabelImpl(e,t)),this._formattedBySpan.set(t,i)),i.format(new Date(e))}formatLabelImpl(e,t){if(!(e&&e instanceof Date))return"incorrect time";const i=this._model.mainSeries().isDWM();return te&&(this._rightOffset=e,this._visibleBarsInvalidated=!0);const t=this.minRightOffset();null!==t&&this._rightOffset]/g,r=e=>`&#${e.charCodeAt(0)};`;function n(e){return e.replace(s,r)}function o(e=""){return e.replace(/(<([^>]+)>)/gi,"")}function a(e=""){return e.replace(/\s+/g,"")}function l(e=""){return e.replace(/\b\w/g,e=>e.toUpperCase())}},"29fS":function(e,t,i){"use strict";i.r(t),i.d(t,"PaneRendererBars",(function(){return n}));var s=i("Zp/P"),r=i("ExCE");class n extends r.a{constructor(e){super(),this._bars=e.bars,this._barSpacing=e.barSpacing,this._dontDrawOpen=e.dontDrawOpen,this._thinBars=e.thinBars}draw(e,t){e.save();const i=t.pixelRatio;if(this._barWidth=this._calcBarWidth(i),this._barWidth>=2){Math.max(1,Math.floor(i))%2!=this._barWidth%2&&this._barWidth--}this._barLineWidth=this._thinBars?Math.min(this._barWidth,Math.floor(i)):this._barWidth;let s=null;const r=this._barLineWidth<=this._barWidth&&this._barSpacing>=Math.floor(1.5*t.pixelRatio);for(const n of this._bars){s!==n.color&&(e.fillStyle=n.color,s=n.color);const t=Math.floor(.5*this._barLineWidth),o=Math.round(n.time*i),a=o-t,l=this._barLineWidth,c=a+l-1,h=Math.min(n.high,n.low),u=Math.max(n.high,n.low),d=Math.round(h*i)-t,p=Math.round(u*i)+t,_=Math.max(p-d,this._barLineWidth);e.fillRect(a,d,l,_);const m=Math.ceil(1.5*this._barWidth);if(r){const s=o-m,r=o+m,h=Math.min(a-s,r-c);if(!this._dontDrawOpen){let r=Math.max(d,Math.round(n.open*i)-t),o=r+l-1;o>d+_-1&&(o=d+_-1,r=o-l+1),e.fillRect(s,r,h,o-r+1)}let u=Math.max(d,Math.round(n.close*i)-t),p=u+l-1;p>d+_-1&&(p=d+_-1,u=p-l+1),e.fillRect(c+1,u,h,p-u+1)}}e.restore()}_getTolerance(){const e=this._calcBarWidth(1),t=this._thinBars?Math.min(e,1):e;return Object(s.interactionTolerance)().series+t/2}_getBarSpacing(){return this._barSpacing} +_calcBarWidth(e){const t=Math.floor(e);return Math.max(t,Math.floor(Object(s.optimalBarWidth)(this._barSpacing,e)))}}},"2EnG":function(e,t,i){"use strict";i.r(t),i.d(t,"StandardPivotPointsImageCache",(function(){return n}));var s=i("ikwP"),r=i("Eyy1");class n{constructor(e,t,i,r){this._priceAxisFontSize=11,this._prices=[],this._labelWidth=0,this._paneRenderParams=e,this._recreateCanvasAndContext(new s.Size(0,0)),this.reset({font:t,fontSize:i,backColors:r})}destroy(){delete this._canvas,delete this._cache}canvas(){return this._canvas}reset(e){this._renderParams=e,this._prices=[],this._cache.font=e.fontSize+"px "+e.font,this._labelWidth=["P","S1","R1","S2","R2","S3","R3","S4","R4","S5","R5","/"].reduce((e,t)=>{const i=this._cache.measureText(t).width;return Math.max(i,e)},0)}rowHeight(){return this._priceAxisFontSize+4}labelRectByIndex(e){return{left:0,top:Math.round(this._topByIndex(e)),width:Math.round(this._labelWidth+4),height:Math.round(this._renderParams.fontSize+8)}}setPrices(e){let t=!1;const i=(e,t)=>{const i=void 0===e,s=void 0===t;return(!i&&!s||i===s)&&Object(r.ensureDefined)(e).formatted===Object(r.ensureDefined)(t).formatted};if(e.length!==this._prices.length)t=!0;else for(let s=0;s{this._cache.translate(.5,.5),this._cache.font=this._renderParams.fontSize+"px "+this._renderParams.font,this._cache.textBaseline="middle";for(let e=0;e0?_(e):function(e,t){return c.a.hasEodSymbols(e.full_name)||t===a.STATUS_EOD}(e,t)?(i.push("EOD"),i):i;var s}class f{constructor(e,t,i){ +this._dataUpdatedModeStatus=new n.a(null),this._symbolInfo=Object(o.a)(e.getter,e.onChange),this._status=Object(o.a)(t.getter,t.onChange),this._symbolInfo.subscribe(this._update.bind(this)),this._status.subscribe(this._update.bind(this)),this._resetSubscription=i,this._resetSubscription.subscribe(this,this._resetStatus)}destroy(){this._symbolInfo.destroy(),this._status.destroy(),this._resetSubscription.unsubscribeAll(this)}status(){return this._dataUpdatedModeStatus.readonly()}symbolName(){const e=this._symbolInfo.value();return null!==e?e.name:""}time(){const e=this._symbolInfo.value(),t=null!==e&&e.delay&&e.delay>0?e.delay:900;return Math.round(t/60)}listedExchange(){const e=this._symbolInfo.value();return null!==e?e.listed_exchange:""}async description(){const e=this._symbolInfo.value();if(null===e)return"";let t={};try{t=Object(s.ensureNotNull)(await async function(e){return null}())}catch(i){p.logWarn("Cannot get exchange "+Object(d.a)(i))}return t.description||e.listed_exchange}exchange(){const e=this._symbolInfo.value();return null!==e?e.exchange:""}_resetStatus(){this._dataUpdatedModeStatus.setValue(null)}_update(){const e=this._symbolInfo.value();if(null===e)return void this._dataUpdatedModeStatus.setValue(null);const t=this._status.value();if("string"==typeof t)return void this._dataUpdatedModeStatus.setValue(null);if(t===a.STATUS_LOADING||t===a.STATUS_RESOLVING)return;const i=m(e,t);0!==i.length?this._dataUpdatedModeStatus.setValue(i):this._dataUpdatedModeStatus.setValue(null)}}},"2WC2":function(e,t,i){"use strict";var s=i("Eyy1"),r=i("aO4+"),n=i("f6yo"),o=i("VdBB");function a(e,t,i){const s=e.get(t);return void 0!==s?s:(e.set(t,i),i)}function l(e,t,i,s){const r=a(e,t,new Map);return a(r,i,s)}class c{constructor(){this._map=new Map,this._size=0}size(){return this._size}clear(){this._map.clear(),this._size=0}}var h=i("gBDZ");class u extends c{constructor(e){super(),this._maxSize=e,this._keysQueue=[]}get(e){if(!e.text||!e.fontSize||!e.align)return null;const t=e.fontSize,i=e.text,s=e.align,r=l(this._map,t,s,new Map);let n=r.get(i);return void 0!==n||(this._size>=this._maxSize?this._deleteFirstKey():++this._size,this._keysQueue.push([t,i,s]),n=new h.b(e.text,e.bold,e.italic,e.font,e.fontSize,e.align),r.set(i,n)),n}_deleteFirstKey(){const e=this._keysQueue.shift(),t=e[0],i=e[1],s=this._map.get(t);s.delete(i),0===s.size&&this._map.delete(t)}}var d=i("zDbI"),p=i("ikwP");i.d(t,"b",(function(){return _})),i.d(t,"c",(function(){return m})),i.d(t,"a",(function(){return f}));class _{constructor(e,t={skipRenderingOptimizations:!1}){this._height=void 0!==e.height?e.height:e.width,this._width=void 0!==e.width?e.width:e.height,this._items=[],this._barSpacing=0,this._textCache=t.textCache||new u(5e3),this._drawOperation=t.skipRenderingOptimizations?this._drawWithoutOptimizations.bind(this):this._drawWithOptimizations.bind(this),this._color=e.color,this._borderColor=e.borderColor,this._vertOffset=e.vertOffset||0,e.text&&(this._text=e.text,this._fontSize=e.fontSize,this._textColor=e.textColor, +this._textAlign=e.textAlign||"center"),void 0!==e.items&&void 0!==e.barSpacing&&this.setData(e.items,e.barSpacing)}draw(e,t){this._preDrawInit(),this._drawOperation(e,t)}hitTest(e){const t=o.HitTestResult.REGULAR;let i=null;for(const s of this._items){if(!s)continue;const r=this._calcBoundingBox(s);if(r&&Object(n.pointInBox)(e,r)){const e={tooltip:this._getTooltip(s,r)};i=new o.HitTestResult(t,e)}}return i}setData(e,t){this._setBaseData(e,t)}_calcBoundingBox(e){const t=e.vertOffset,i=this._getTextCache(e);if(!i)return;const s=i.textImageWidth,n=i.textImageHeight,o=s/2,a=e.y+t+e.textVertOffset,l=t>0?0:-n,c=t>0?n:0,h=new r.Point(e.x-o,a+l),u=new r.Point(e.x+o,a+c);return Object(r.box)(h,u)}_unionBox(e,t){const i=Math.min(e.min.x,t.min.x),s=Math.max(e.max.x,t.max.x),n=Math.min(e.min.y,t.min.y),o=Math.max(e.max.y,t.max.y),a=new r.Point(i,n),l=new r.Point(s,o);return Object(r.box)(a,l)}_getTooltip(e,t){if(e.tooltip)return{content:{type:"text",data:e.tooltip},tooltipDelay:200,extendMargin:!0,rect:{x:t.min.x,y:t.min.y,w:Math.abs(t.max.x-t.min.x),h:Math.abs(t.max.y-t.min.y)}}}_setBaseData(e,t){this._items.length=0,this._barSpacing=t;for(const i of e){const e=void 0===i.width?Object(s.ensureDefined)(this._width):i.width,t=void 0===i.height?Object(s.ensureDefined)(this._height):i.height,r=void 0===i.vertOffset?this._vertOffset:i.vertOffset,n=r>0?t:-t;this._items.push(Object.assign({width:e,height:t,vertOffset:r,textVertOffset:n,shapeWidth:0,shapeHeight:0,stepX:0,stepY:0},i))}}_drawItemText(e,t,i){const s=this._getTextCache(i);if(null===s)return;const r=i.x,n=i.vertOffset,o=i.y+n+i.textVertOffset;let a;a=i.style&&void 0!==i.style.textColor?i.style.textColor:this._textColor,s.paintTo(e,t,a,r,o,h.a.Center,n>0?h.c.Top:h.c.Bottom)}_drawWithOptimizations(e,t){let i,s,r=null,n=!1;for(const o of this._items)o.style&&void 0!==o.style.color?(i=o.style.color,s=o.style.borderColor):(i=this._color,s=this._borderColor),r!==i&&(r=i,n&&this._endPath(e),this._startPath(e,t,i,s)),this._drawItemShape(e,t,o),n=!0;n&&this._endPath(e);for(const o of this._items)this._drawItemText(e,t,o)}_drawWithoutOptimizations(e,t){let i,r;for(const n of this._items){const o=Object(s.ensureDefined)(n.style);i=Object(s.ensureDefined)(o.color),r=o.borderColor,this._startPath(e,t,i,r),this._drawItemShape(e,t,n),this._endPath(e),this._drawItemText(e,t,n)}}_drawItemShape(e,t,i){Object(p.drawScaled)(e,t.pixelRatio,()=>this._drawItemShapeUsingCSSPixels(e,i))}_drawItemShapeUsingCSSPixels(e,t){}_preDrawInit(){}_startPath(e,t,i,s){}_endPath(e){}_getTextCache(e){const t=e.text||this._text,i=e.fontSize||this._fontSize,s=e.textAlign||this._textAlign;return this._textCache.get({text:t,bold:!1,italic:!1,font:d.CHART_FONT_FAMILY,fontSize:i,align:s})}}class m extends _{_startPath(e,t,i,s){e.beginPath(),e.lineWidth=this._lineWidth(t),e.lineCap="butt",e.strokeStyle=i}_endPath(e){e.stroke()}_lineWidth(e){return Math.max(1,Math.floor(2*e.pixelRatio))}}class f extends _{_startPath(e,t,i,s){e.beginPath(),e.lineWidth=this._lineWidth(t),e.lineCap="butt",e.fillStyle=i,e.strokeStyle=s} +_endPath(e){e.fill(),e.stroke()}_lineWidth(e){return Math.max(1,Math.floor(e.pixelRatio))}}},"2bPF":function(e,t,i){"use strict";var s=i("Ss5c").LineDataSource,r=i("7KDR").Action,n=i("Ocx9").DefaultProperty,o=i("k9/m").PlotRowSearchMode,a=i("Ye2/").LineToolBarsPatternMode;class l extends s{constructor(e,t){var s=t||l.createProperties();super(e,s),s.mirrored.listeners().subscribe(this,l.prototype.mirror),s.flipped.listeners().subscribe(this,l.prototype.flip),this._scaleCoeff=1,this.version=l.version,this._pattern=[],this._properties.mode.listeners().subscribe(this,l.prototype.onModeChanged),i.e("lt-pane-views").then(i.t.bind(null,"c6sA",7)).then(({BarsPatternPaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}isSynchronizable(){return!1}onModeChanged(){var e=this.patternPriceDiff();e*=this._pressCoeff,this._points[1].price=this._timePoint[1].price=this._points[0].price+e}additionalActions(e){var t=this;return[new r({checked:this.properties().mirrored.value(),checkable:!0,label:window.t("Mirrored"),payload:{target:this},onExecute:function(t){var i=t.getPayload().target;e.setProperty(i.properties().mirrored,!i.properties().mirrored.value(),"Bats Pattern Mirroring"),i.updateAllViews(),i._model.updateSource(i)}}),new r({checked:this.properties().flipped.value(),checkable:!0,label:window.t("Flipped"),payload:{target:this},onExecute:function(t){var i=t.getPayload().target;e.setProperty(i.properties().flipped,!i.properties().flipped.value(),"Bats Pattern Flipping"),i.updateAllViews(),i._model.updateSource(i)}}),new r({checkable:!0,label:window.t("Restore Size"),onExecute:function(i){var s=t.points()[0],r=t.patternPriceDiff(),n=s.price+r,o=s.index+t._pattern.length-1;e.startChangingLinetool(t,{price:n,index:o},1,{}),e.changeLinePoint({price:n,index:o},{}),e.endChangingLinetool()}})]}pointsCount(){return 2}_preparePoint(e,t){e=this._alignPointToRangeOfActualData(e);var i=this._model.mainSeries();this.properties().mode.value()===a.Bars?e.price=i.bars().valueAt(e.index)[TradingView.HIGH_PLOT]:e.price=i.bars().valueAt(e.index)[TradingView.CLOSE_PLOT];var r=this.priceScale(),n=this.ownerSource().firstValue(),o=.05*r.height(),l=r.priceToCoordinate(e.price,n)-o;return e.price=r.coordinateToPrice(l,n),s.prototype._preparePoint.call(this,e,t)}state(e){var t=s.prototype.state.call(this,e);return t.pattern=this._pattern,t}restoreData(e){e.pattern&&(this._pattern=e.pattern)}name(){return"Bars Pattern"}hasEditableCoordinates(){return!1}cloneData(e){this._pattern=TradingView.clone(e._pattern)}mirror(){for(var e=this._pattern,t=e[0][TradingView.HIGH_PLOT],i=Math.min(e[0][TradingView.LOW_PLOT],e[0][TradingView.HIGH_PLOT]),s=Math.max(e[0][TradingView.LOW_PLOT],e[0][TradingView.HIGH_PLOT]),r=1;rthis.points()[1].index&&(this._points[0].price=this._points[1].price),this._pattern=[];for(var c=a;c<=l;c++){var h=this._model.mainSeries().data().valueAt(c);this._pattern.push(TradingView.clone(h))}if(this._pattern.length>0){var u=this.patternPriceDiff();this._points[1].price=this._points[0].price+u,this._points[1].index=this._points[0].index+(l-a),this.normalizePoints(),this.createServerPoints()}}return i}setPoint(e,t,i){1===e&&t.index<=this._points[0].index&&(t.index=this._points[0].index+1),0===e&&t.index>=this._points[1].index&&(t.index=this._points[1].index-1),super.setPoint(e,t,i)}migrateVersion(e,t,i){if(1===e&&this._pattern.length>0){var s=this.patternPriceDiff();2===this._timePoint.length&&(this._timePoint[1].price=this._timePoint[0].price+s),2===this._points.length&&(this._points[1].price=this._points[0].price+s)}}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(33),i.e("lt-property-pages-with-definitions")]).then(i.bind(null,"8ioM"))).BarsPatternDefinitionsViewModel}static createProperties(e){ +var t=new n("linetoolbarspattern",e);return l._configureProperties(t),t}static _configureProperties(e){s._configureProperties(e),e.addExclusion("mirrored"),e.addExclusion("flipped")}}l.version=2,t.LineToolBarsPattern=l},"2cgs":function(e,t,i){"use strict";var s=i("ocLq");JSServer.studyLibrary=[{name:"Accumulation/Distribution",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Accumulation/Distribution",shortDescription:"Accum/Dist",is_price_study:!1,inputs:[],id:"Accumulation/Distribution@tv-basicstudies-1",scriptIdPart:"",name:"Accumulation/Distribution",format:{type:"volume"}},constructor:function(){this.f_0=function(e,t,i,r){return s.Std.or(s.Std.and(s.Std.eq(e,t),s.Std.eq(e,i)),s.Std.eq(t,i))?0:(2*e-i-t)/(t-i)*r},this.main=function(e,t){this._context=e,this._input=t;var i=this.f_0(s.Std.close(this._context),s.Std.high(this._context),s.Std.low(this._context),s.Std.volume(this._context));return[s.Std.cum(i,this._context)]}}},{name:"Accumulative Swing Index",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:10}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"ASI",histogramBase:0,joinPoints:!1}},description:"Accumulative Swing Index",shortDescription:"ASI",is_price_study:!1,inputs:[{id:"in_0",name:"Limit Move Value",defval:10,type:"float",min:.1,max:1e5}],id:"Accumulative Swing Index@tv-basicstudies-1",scriptIdPart:"",name:"Accumulative Swing Index",format:{type:"volume"}},constructor:function(){this.f_0=function(e,t){var i=t.new_var(s.Std.open(t)),r=t.new_var(s.Std.high(t)),n=t.new_var(s.Std.low(t)),o=t.new_var(s.Std.close(t)),a=s.Std.abs(r-o.get(1)),l=s.Std.abs(n-o.get(1)),c=s.Std.abs(r-n),h=s.Std.abs(o.get(1)-i.get(1)),u=s.Std.max(a,l),d=s.Std.iff(a>=s.Std.max(l,c),a-.5*l+.25*h,s.Std.iff(l>=s.Std.max(a,c),l-.5*a+.25*h,c+.25*h));return s.Std.iff(0===d,0,(o-o.get(1)+.5*(o-i)+.25*(o.get(1)-i.get(1)))/d*u/e*50)},this.f_1=function(e,t){var i=this.f_0(e,t);return s.Std.cum(i,t)},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0);return[this.f_1(i,this._context)]}}},{name:"Advance/Decline",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:10}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Advance/Decline",shortDescription:"AD",is_price_study:!1,inputs:[{id:"in_0",name:"length",defval:10,type:"integer",min:1,max:2e3}],id:"Advance/Decline@tv-basicstudies-1",scriptIdPart:"",name:"Advance/Decline",format:{precision:2,type:"price"}}, +constructor:function(){this.f_0=function(e,t){return s.Std.gt(e,t)},this.f_1=function(e,t){return s.Std.lt(e,t)},this.f_2=function(e,t){return 0===t?e:e/t},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=this.f_0(s.Std.close(this._context),s.Std.open(this._context)),n=this._context.new_var(r),o=s.Std.sum(n,i,this._context),a=this.f_1(s.Std.close(this._context),s.Std.open(this._context)),l=this._context.new_var(a),c=s.Std.sum(l,i,this._context);return[this.f_2(o,c)]}}},{name:"Arnaud Legoux Moving Average",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:9,in_1:.85,in_2:6}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Arnaud Legoux Moving Average",shortDescription:"ALMA",is_price_study:!0,inputs:[{id:"in_0",name:"Window Size",defval:9,type:"integer",min:0,max:5e3},{id:"in_1",name:"Offset",defval:.85,type:"float",min:-1e12,max:1e12},{id:"in_2",name:"Sigma",defval:6,type:"float",min:-1e12,max:1e12}],id:"Arnaud Legoux Moving Average@tv-basicstudies-1",scriptIdPart:"",name:"Arnaud Legoux Moving Average",format:{type:"inherit"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=s.Std.close(this._context),r=this._input(0),n=this._input(1),o=this._input(2),a=this._context.new_var(i);return[s.Std.alma(a,r,n,o)]}}},{name:"Aroon",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#FB8C00"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:14}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"}],styles:{plot_0:{title:"Upper",histogramBase:0,joinPoints:!1},plot_1:{title:"Lower",histogramBase:0,joinPoints:!1}},description:"Aroon",shortDescription:"Aroon",is_price_study:!1,inputs:[{id:"in_0",name:"length",defval:14,type:"integer",min:1,max:2e3}],id:"Aroon@tv-basicstudies-1",scriptIdPart:"",name:"Aroon",format:{precision:2,type:"percent"}},constructor:function(){this.f_0=function(e,t){return 100*(e+t)/t},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=s.Std.high(this._context),n=i+1,o=this._context.new_var(r),a=s.Std.highestbars(o,n,this._context),l=this.f_0(a,i),c=s.Std.low(this._context),h=this._context.new_var(c),u=s.Std.lowestbars(h,n,this._context);return[l,this.f_0(u,i)]}}},{name:"Average Price",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,id:"AveragePrice@tv-basicstudies-1",scriptIdPart:"",name:"Average Price",description:"Average Price",shortDescription:"Average Price",is_price_study:!0,plots:[{id:"plot_0",type:"line"}],defaults:{styles:{plot_0:{linestyle:0,visible:!0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,color:"#2196F3"}},inputs:{}},styles:{plot_0:{ +title:"Plot"}},inputs:[],format:{type:"inherit"}},constructor:function(){this.main=function(e,t){return this._context=e,this._input=t,[s.Std.ohlc4(this._context)]}}},{name:"Average Directional Index",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#FF5252"}},inputs:{in_0:14,in_1:14}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"ADX",histogramBase:0,joinPoints:!1,isHidden:!1}},description:"Average Directional Index",shortDescription:"ADX",is_price_study:!1,inputs:[{id:"in_0",name:"ADX Smoothing",defval:14,type:"integer",min:-1e12,max:1e12},{id:"in_1",name:"DI Length",defval:14,type:"integer",min:-1e12,max:1e12}],id:"average_directional_Index@tv-basicstudies-1",scriptIdPart:"",name:"Average Directional Index",format:{precision:2,type:"price"}},constructor:function(){this.f_0=function(e){var t=this._context.new_var(s.Std.high(this._context)),i=s.Std.change(t),r=this._context.new_var(s.Std.low(this._context)),n=-s.Std.change(r),o=this._context.new_var(s.Std.tr(void 0,this._context)),a=s.Std.rma(o,e,this._context),l=this._context.new_var(s.Std.and(s.Std.gt(i,n),s.Std.gt(i,0))?i:0),c=s.Std.fixnan(100*s.Std.rma(l,e,this._context)/a,this._context),h=this._context.new_var(s.Std.and(s.Std.gt(n,i),s.Std.gt(n,0))?n:0);return[c,s.Std.fixnan(100*s.Std.rma(h,e,this._context)/a,this._context)]},this.f_1=function(e,t){var i=this.f_0(e),r=i[0],n=i[1],o=r+n,a=this._context.new_var(s.Std.abs(r-n)/(s.Std.eq(o,0)?1:o));return[100*s.Std.rma(a,t,this._context)]},this.main=function(e,t){return this._context=e,this._input=t,this._context.setMinimumAdditionalDepth(this._input(0)+this._input(1)),this.f_1(this._input(0),this._input(1))}}},{name:"Average True Range",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#B71C1C"}},inputs:{in_0:14}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Average True Range",shortDescription:"ATR",is_price_study:!1,inputs:[{id:"in_0",name:"length",defval:14,type:"integer",min:1,max:2e3}],id:"Average True Range@tv-basicstudies-1",scriptIdPart:"",name:"Average True Range",format:{type:"inherit"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=s.Std.tr(this._context),n=this._context.new_var(r);return[s.Std.rma(n,i,this._context)]}}},{name:"Awesome Oscillator",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:1,trackPrice:!1,transparency:0,visible:!0,color:"#000080"}},palettes:{palette_0:{colors:{0:{color:"#F44336",width:1,style:0},1:{color:"#009688",width:1,style:0}}}},inputs:{}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",palette:"palette_0",target:"plot_0",type:"colorer"}],styles:{plot_0:{title:"Plot",histogramBase:0, +joinPoints:!1}},description:"Awesome Oscillator",shortDescription:"AO",is_price_study:!1,palettes:{palette_0:{colors:{0:{name:"Color 0"},1:{name:"Color 1"}}}},inputs:[],id:"Awesome Oscillator@tv-basicstudies-1",scriptIdPart:"",name:"Awesome Oscillator",format:{type:"inherit"}},constructor:function(){this.f_0=function(e,t){return e-t},this.f_1=function(e){return s.Std.le(e,0)?0:1},this.main=function(e,t){this._context=e,this._input=t;var i=s.Std.hl2(this._context),r=this._context.new_var(i),n=s.Std.sma(r,5,this._context),o=this._context.new_var(i),a=s.Std.sma(o,34,this._context),l=this.f_0(n,a),c=l,h=this._context.new_var(l),u=s.Std.change(h);return[c,this.f_1(u)]}}},{name:"Balance of Power",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#FF5252"}},inputs:{}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Balance of Power",shortDescription:"Balance of Power",is_price_study:!1,inputs:[],id:"Balance of Power@tv-basicstudies-1",scriptIdPart:"",name:"Balance of Power",format:{precision:2,type:"price"}},constructor:function(){this.f_0=function(e,t,i,s){return(e-t)/(i-s)},this.main=function(e,t){return this._context=e,this._input=t,[this.f_0(s.Std.close(this._context),s.Std.open(this._context),s.Std.high(this._context),s.Std.low(this._context))]}}},{name:"Bollinger Bands",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#FF6D00"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},plot_2:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},filledAreasStyle:{fill_0:{color:"#2196F3",transparency:95,visible:!0}},inputs:{in_0:20,in_1:2}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"},{id:"plot_2",type:"line"}],styles:{plot_0:{title:"Median",histogramBase:0,joinPoints:!1},plot_1:{title:"Upper",histogramBase:0,joinPoints:!1},plot_2:{title:"Lower",histogramBase:0,joinPoints:!1}},description:"Bollinger Bands",shortDescription:"BB",is_price_study:!0,filledAreas:[{id:"fill_0",objAId:"plot_1",objBId:"plot_2",type:"plot_plot",title:"Plots Background"}],inputs:[{id:"in_0",name:"length",defval:20,type:"integer",min:1,max:1e4},{id:"in_1",name:"mult",defval:2,type:"float",min:.001,max:50}],id:"Bollinger Bands@tv-basicstudies-1",scriptIdPart:"",name:"Bollinger Bands",format:{type:"inherit"}},constructor:function(){this.f_0=function(e,t){return e*t},this.f_1=function(e,t){return e+t},this.f_2=function(e,t){return e-t},this.main=function(e,t){this._context=e,this._input=t;var i=s.Std.close(this._context),r=this._input(0),n=this._input(1),o=this._context.new_var(i),a=s.Std.sma(o,r,this._context),l=this._context.new_var(i),c=s.Std.stdev(l,r,this._context),h=this.f_0(n,c);return[a,this.f_1(a,h),this.f_2(a,h)]} +}},{name:"Bollinger Bands %B",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#26A69A"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:1},{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:0}],filledAreasStyle:{fill_0:{color:"#26A69A",transparency:90,visible:!0}},inputs:{in_0:20,in_1:2}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Bollinger Bands %B",shortDescription:"BB %B",is_price_study:!1,bands:[{id:"hline_0",name:"UpperLimit"},{id:"hline_1",name:"LowerLimit"}],filledAreas:[{id:"fill_0",objAId:"hline_0",objBId:"hline_1",type:"hline_hline",title:"Hlines Background"}],inputs:[{id:"in_0",name:"length",defval:20,type:"integer",min:1,max:1e4},{id:"in_1",name:"mult",defval:2,type:"float",min:.001,max:50}],id:"Bollinger Bands %B@tv-basicstudies-1",scriptIdPart:"",name:"Bollinger Bands %B",format:{precision:2,type:"price"}},constructor:function(){this.f_0=function(e,t){return e*t},this.f_1=function(e,t){return e+t},this.f_2=function(e,t){return e-t},this.f_3=function(e,t,i){return(e-t)/(i-t)},this.main=function(e,t){this._context=e,this._input=t;var i=s.Std.close(this._context),r=this._input(0),n=this._input(1),o=this._context.new_var(i),a=s.Std.sma(o,r,this._context),l=this._context.new_var(i),c=s.Std.stdev(l,r,this._context),h=this.f_0(n,c),u=this.f_1(a,h),d=this.f_2(a,h);return[this.f_3(i,d,u)]}}},{name:"Bollinger Bands Width",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#FF6D00"}},inputs:{in_0:20,in_1:2}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Bollinger Bands Width",shortDescription:"BBW",is_price_study:!1,inputs:[{id:"in_0",name:"length",defval:20,type:"integer",min:1,max:1e4},{id:"in_1",name:"mult",defval:2,type:"float",min:.001,max:50}],id:"Bollinger Bands Width@tv-basicstudies-1",scriptIdPart:"",name:"Bollinger Bands Width",format:{precision:2,type:"price"}},constructor:function(){this.f_0=function(e,t){return e*t},this.f_1=function(e,t){return e+t},this.f_2=function(e,t){return e-t},this.f_3=function(e,t,i){return(e-t)/i},this.main=function(e,t){this._context=e,this._input=t;var i=s.Std.close(this._context),r=this._input(0),n=this._input(1),o=this._context.new_var(i),a=s.Std.sma(o,r,this._context),l=this._context.new_var(i),c=s.Std.stdev(l,r,this._context),h=this.f_0(n,c),u=this.f_1(a,h),d=this.f_2(a,h);return[this.f_3(u,d,a)]}}},{name:"Chaikin Money Flow",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#43A047"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:0}],inputs:{in_0:20}},plots:[{id:"plot_0",type:"line"}], +styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Chaikin Money Flow",shortDescription:"CMF",is_price_study:!1,bands:[{id:"hline_0",name:"Zero"}],inputs:[{id:"in_0",name:"length",defval:20,type:"integer",min:1,max:2e3}],id:"Chaikin Money Flow@tv-basicstudies-1",scriptIdPart:"",name:"Chaikin Money Flow",format:{precision:2,type:"price"}},constructor:function(){this.f_0=function(e,t,i,r){return s.Std.or(s.Std.and(s.Std.eq(e,t),s.Std.eq(e,i)),s.Std.eq(t,i))?0:(2*e-i-t)/(t-i)*r},this.f_1=function(e,t){return e/t},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=this.f_0(s.Std.close(this._context),s.Std.high(this._context),s.Std.low(this._context),s.Std.volume(this._context)),n=this._context.new_var(r),o=s.Std.sum(n,i,this._context),a=s.Std.volume(this._context),l=this._context.new_var(a),c=s.Std.sum(l,i,this._context);return[this.f_1(o,c)]}}},{name:"Chaikin Oscillator",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#EC407A"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:0}],inputs:{in_0:3,in_1:10}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Chaikin Oscillator",shortDescription:"Chaikin Osc",is_price_study:!1,bands:[{id:"hline_0",name:"Zero"}],inputs:[{id:"in_0",name:"short",defval:3,type:"integer",min:1,max:2e3},{id:"in_1",name:"long",defval:10,type:"integer",min:1,max:2e3}],id:"Chaikin Oscillator@tv-basicstudies-1",scriptIdPart:"",name:"Chaikin Oscillator",format:{type:"volume"}},constructor:function(){this.f_0=function(e,t){return e-t},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=this._input(1),n=s.Std.accdist(this._context),o=this._context.new_var(n),a=s.Std.ema(o,i,this._context),l=this._context.new_var(n),c=s.Std.ema(l,r,this._context);return[this.f_0(a,c)]}}},{name:"Chaikin Volatility",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,is_price_study:!1,id:"Chaikin Volatility@tv-basicstudies-1",scriptIdPart:"",name:"Chaikin Volatility",description:"Chaikin Volatility",shortDescription:"Chaikin Volatility",plots:[{id:"plot_0",type:"line"}],defaults:{styles:{plot_0:{linestyle:0,visible:!0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,color:"#AB47BC"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:0}],inputs:{periods:10,rocLookback:10}},styles:{plot_0:{title:"Plot"}},bands:[{id:"hline_0",name:"Zero"}],inputs:[{id:"periods",type:"integer",name:"Periods"},{id:"rocLookback",type:"integer",name:"Rate of Change Lookback"}],format:{type:"volume"}},constructor:function(){this.init=function(e,t){this._context=e,this._input=t,this.period=this._input(0),this.rocLookback=this._input(1)},this.main=function(e,t){this._context=e,this._input=t,this._context.setMinimumAdditionalDepth(this.period+this.rocLookback) +;var i=this._context.new_var(s.Std.high(this._context)-s.Std.low(this._context)),r=this._context.new_var(s.Std.ema(i,this.period,this._context));return[s.Std.roc(r,this.rocLookback)]}}},{name:"Chande Kroll Stop",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#FF6D00"}},inputs:{in_0:10,in_1:1,in_2:9}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"}],styles:{plot_0:{title:"Long",histogramBase:0,joinPoints:!1},plot_1:{title:"Short",histogramBase:0,joinPoints:!1}},description:"Chande Kroll Stop",shortDescription:"Chande Kroll Stop",is_price_study:!0,inputs:[{id:"in_0",name:"p",defval:10,type:"integer",min:1,max:4999},{id:"in_1",name:"x",defval:1,type:"integer",min:1,max:1e12},{id:"in_2",name:"q",defval:9,type:"integer",min:1,max:1e12}],id:"Chande Kroll Stop@tv-basicstudies-1",scriptIdPart:"",name:"Chande Kroll Stop",format:{type:"inherit"}},constructor:function(){this.f_0=function(e,t,i){return e-t*i},this.f_1=function(e,t,i){return e+t*i},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=this._input(1),n=this._input(2),o=s.Std.high(this._context),a=this._context.new_var(o),l=s.Std.highest(a,i,this._context),c=s.Std.atr(i,this._context),h=this.f_0(l,r,c),u=this._context.new_var(o),d=s.Std.lowest(u,i,this._context),p=this.f_1(d,r,c),_=this._context.new_var(h),m=s.Std.highest(_,n,this._context),f=this._context.new_var(p);return[s.Std.lowest(f,n,this._context),m]}}},{name:"Chande Momentum Oscillator",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:9}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Chande Momentum Oscillator",shortDescription:"ChandeMO",is_price_study:!1,inputs:[{id:"in_0",name:"length",defval:9,type:"integer",min:1,max:2e3}],id:"Chande Momentum Oscillator@tv-basicstudies-1",scriptIdPart:"",name:"Chande Momentum Oscillator",format:{type:"price",precision:2}},constructor:function(){this.f_0=function(e){return s.Std.ge(e,0)?e:0},this.f_1=function(e){return s.Std.ge(e,0)?0:-e},this.f_2=function(e,t){return 100*e/t},this.f_3=function(e,t){return this.f_2(e-t,e+t)},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=s.Std.close(this._context),n=this._context.new_var(r),o=s.Std.change(n),a=this.f_0(o),l=this.f_1(o),c=this._context.new_var(a),h=s.Std.sum(c,i,this._context),u=this._context.new_var(l),d=s.Std.sum(u,i,this._context);return[this.f_3(h,d)]}}},{name:"Chop Zone",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:5,trackPrice:!1,transparency:0,visible:!0,color:"#000080"}},palettes:{palette_0:{ +colors:{0:{color:"#26C6DA",width:1,style:0},1:{color:"#43A047",width:1,style:0},2:{color:"#A5D6A7",width:1,style:0},3:{color:"#009688",width:1,style:0},4:{color:"#D50000",width:1,style:0},5:{color:"#E91E63",width:1,style:0},6:{color:"#FF6D00",width:1,style:0},7:{color:"#FFB74D",width:1,style:0},8:{color:"#FDD835",width:1,style:0}}}},inputs:{}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",palette:"palette_0",target:"plot_0",type:"colorer"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1,isHidden:!1}},description:"Chop Zone",shortDescription:"Chop Zone",is_price_study:!1,palettes:{palette_0:{colors:{0:{name:"Color 0"},1:{name:"Color 1"},2:{name:"Color 2"},3:{name:"Color 3"},4:{name:"Color 4"},5:{name:"Color 5"},6:{name:"Color 6"},7:{name:"Color 7"},8:{name:"Color 8"}},valToIndex:{0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8}}},inputs:[],id:"chop_zone@tv-basicstudies-1",scriptIdPart:"",name:"Chop Zone",format:{precision:0,type:"price"}},constructor:function(){this.f_0=function(){var e=s.Std.close(this._context),t=s.Std.hlc3(this._context),i=this._context.new_var(s.Std.high(this._context)),r=s.Std.highest(i,30,this._context),n=s.Std.lowest(i,30,this._context),o=25/(r-n)*n,a=this._context.new_var(e),l=this._context.new_var(s.Std.ema(a,34,this._context)),c=(l.get(1)-l.get(0))/t*o,h=s.Std.sqrt(1+c*c),u=s.Std.round(180*s.Std.acos(1/h)/3.141592653589793),d=s.Std.iff(s.Std.gt(c,0),-u,u),p=s.Std.and(s.Std.gt(d,-2.14),s.Std.le(d,-.71))?7:8,_=s.Std.and(s.Std.gt(d,-3.57),s.Std.le(d,-2.14))?6:p,m=s.Std.and(s.Std.gt(d,-5),s.Std.le(d,-3.57))?5:_,f=s.Std.le(d,-5)?4:m,g=s.Std.and(s.Std.lt(d,2.14),s.Std.ge(d,.71))?3:f,v=s.Std.and(s.Std.lt(d,3.57),s.Std.ge(d,2.14))?2:g,b=s.Std.and(s.Std.lt(d,5),s.Std.ge(d,3.57))?1:v;return[1,s.Std.ge(d,5)?0:b]},this.main=function(e,t){return this._context=e,this._input=t,this.f_0()}}},{name:"Choppiness Index",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:61.8},{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:38.2}],filledAreasStyle:{fill_0:{color:"#2196F3",transparency:90,visible:!0}},inputs:{in_0:14}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Choppiness Index",shortDescription:"CHOP",is_price_study:!1,bands:[{id:"hline_0",name:"UpperLimit"},{id:"hline_1",name:"LowerLimit"}],filledAreas:[{id:"fill_0",objAId:"hline_0",objBId:"hline_1",type:"hline_hline",title:"Hlines Background"}],inputs:[{id:"in_0",name:"length",defval:14,type:"integer",min:1,max:2e3}],id:"Choppiness Index@tv-basicstudies-1",scriptIdPart:"",name:"Choppiness Index",format:{type:"price",precision:2}},constructor:function(){this.f_0=function(e,t,i,r){return 100*s.Std.log10(e/(t-i))/r},this.main=function(e,t){this._context=e,this._input=t +;var i=this._input(0),r=s.Std.atr(1,this._context),n=this._context.new_var(r),o=s.Std.sum(n,i,this._context),a=s.Std.high(this._context),l=this._context.new_var(a),c=s.Std.highest(l,i,this._context),h=s.Std.low(this._context),u=this._context.new_var(h),d=s.Std.lowest(u,i,this._context),p=s.Std.log10(i);return[this.f_0(o,c,d,p)]}}},{name:"Commodity Channel Index",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:100},{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:-100}],filledAreasStyle:{fill_0:{color:"#2196F3",transparency:90,visible:!0}},inputs:{in_0:20}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Commodity Channel Index",shortDescription:"CCI",is_price_study:!1,bands:[{id:"hline_0",name:"UpperLimit"},{id:"hline_1",name:"LowerLimit"}],filledAreas:[{id:"fill_0",objAId:"hline_0",objBId:"hline_1",type:"hline_hline",title:"Hlines Background"}],inputs:[{id:"in_0",name:"length",defval:20,type:"integer",min:1,max:2e3}],id:"Commodity Channel Index@tv-basicstudies-1",scriptIdPart:"",name:"Commodity Channel Index",format:{precision:2,type:"price"}},constructor:function(){this.f_0=function(e,t,i){return(e-t)/(.015*i)},this.main=function(e,t){this._context=e,this._input=t;var i=s.Std.hlc3(this._context),r=this._input(0),n=this._context.new_var(i),o=s.Std.sma(n,r,this._context),a=this._context.new_var(i),l=s.Std.dev(a,r,this._context);return[this.f_0(i,o,l)]}}},{name:"Connors RSI",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:70},{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:30}],filledAreasStyle:{fill_0:{color:"#2196F3",transparency:90,visible:!0}},inputs:{in_0:3,in_1:2,in_2:100}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"CRSI",histogramBase:0,joinPoints:!1}},description:"Connors RSI",shortDescription:"CRSI",is_price_study:!1,bands:[{id:"hline_0",name:"UpperLimit"},{id:"hline_1",name:"LowerLimit"}],filledAreas:[{id:"fill_0",objAId:"hline_0",objBId:"hline_1",type:"hline_hline",title:"Hlines Background"}],inputs:[{id:"in_0",name:"RSI Length",defval:3,type:"integer",min:1},{id:"in_1",name:"UpDown Length",defval:2,type:"integer",min:1},{id:"in_2",name:"ROC Length",defval:100,type:"integer",min:1}],id:"Connors RSI@tv-basicstudies-1",scriptIdPart:"",name:"Connors RSI",format:{precision:2,type:"price"}},constructor:function(){var e;this.f_1=function(e,t,i){var r=i.new_var(s.Std.max(s.Std.change(e),0));return s.Std.rma(r,t,i)},this.f_2=function(e,t,i){var r=i.new_var(-s.Std.min(s.Std.change(e),0));return s.Std.rma(r,t,i)},this.f_3=(e=0,function(t){var i=t.get(0),r=t.get(1) +;return e=i===r?0:i>r?s.Std.nz(e)<=0?1:s.Std.nz(e)+1:s.Std.nz(e)>=0?-1:s.Std.nz(e)-1,this._context.new_var(e)}),this.main=function(e,t){this._context=e,this._input=t;var i=s.Std.close(this._context),r=this._context.new_var(i),n=this._input(0),o=this._input(1),a=this._input(2);this._context.setMinimumAdditionalDepth(a);var l=s.Std.rsi(this.f_1(r,n,this._context),this.f_2(r,n,this._context)),c=this.f_3(r),h=s.Std.rsi(this.f_1(c,o,this._context),this.f_2(c,o,this._context)),u=this._context.new_var(s.Std.roc(r,1)),d=s.Std.percentrank(u,a);return[s.Std.avg(l,h,d)]}}},{name:"Coppock Curve",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:10,in_1:14,in_2:11}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Coppock Curve",shortDescription:"Coppock Curve",is_price_study:!1,inputs:[{id:"in_0",name:"WMA Length",defval:10,type:"integer",min:-1e12,max:5e3},{id:"in_1",name:"Long RoC Length",defval:14,type:"integer",min:1,max:4999},{id:"in_2",name:"Short RoC Length",defval:11,type:"integer",min:1,max:4999}],id:"Coppock Curve@tv-basicstudies-1",scriptIdPart:"",name:"Coppock Curve",format:{type:"inherit"}},constructor:function(){this.f_0=function(e,t){return e+t},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=this._input(1),n=this._input(2);this._context.setMinimumAdditionalDepth(i+Math.max(r,n));var o=s.Std.close(this._context),a=this._context.new_var(o),l=s.Std.roc(a,r),c=this._context.new_var(o),h=s.Std.roc(c,n),u=this.f_0(l,h),d=this._context.new_var(u);return[s.Std.wma(d,i,this._context)]}}},{name:"Correlation Coeff",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:4,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:"AAPL",in_1:20}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Correlation Coefficient",shortDescription:"CC",is_price_study:!1,inputs:[{id:"in_0",name:"sym",defval:"AAPL",type:"symbol"},{id:"in_1",name:"length",defval:20,type:"integer",min:1,max:2e3}],id:"Correlation Coeff@tv-basicstudies-1",scriptIdPart:"",name:"Correlation Coeff",format:{precision:2,type:"price"}},constructor:function(){this.init=function(e,t){this._context=e,this._input=t,this._context.new_sym(this._input(0),s.Std.period(this._context))},this.main=function(e,t){this._context=e,this._input=t;var i=this._context.new_unlimited_var(this._context.symbol.time),r=(this._input(0),s.Std.period(this._context),s.Std.close(this._context)),n=this._input(1);this._context.select_sym(1);var o=this._context.new_unlimited_var(this._context.symbol.time),a=s.Std.close(this._context),l=this._context.new_unlimited_var(a);this._context.select_sym(0);var c=l.adopt(o,i,0),h=this._context.new_var(r),u=this._context.new_var(c) +;return[s.Std.correlation(h,u,n,this._context)]}}},{name:"Correlation - Log",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,is_price_study:!1,id:"Correlation - Log@tv-basicstudies-1",scriptIdPart:"",name:"Correlation - Log",description:"Correlation - Log",shortDescription:"Correlation - Log",plots:[{id:"plot_0",type:"line"}],defaults:{styles:{plot_0:{linestyle:0,visible:!0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,color:"#2196F3"}},inputs:{instrument:"INTC",instrument2:"AMZN",periods:25}},styles:{plot_0:{title:"Plot"}},inputs:[{id:"instrument",name:"Instrument 1",type:"symbol",defval:"INTC"},{id:"instrument2",name:"Instrument 2",type:"symbol",defval:"AMZN"},{id:"periods",name:"Periods",type:"integer",defval:25}],format:{precision:2,type:"price"}},constructor:function(){this.init=function(e,t){this._context=e,this._input=t,this._context.new_sym(this._input(0),s.Std.period(this._context)),this._context.new_sym(this._input(1),s.Std.period(this._context)),this.period=this._input(2)},this.correlationLog=function(e,t,i,r){var n=s.Std.sma(e,i,r),o=s.Std.sma(t,i,r),a=r.new_var(e.get()*t.get());return(s.Std.sma(a,i,r)-n*o)/Math.sqrt(s.Std.variance2(e,n,i)*s.Std.variance2(t,o,i))},this.main=function(e,t){this._context=e,this._input=t,this._context.select_sym(1);var i=this._context.new_var(this._context.symbol.time);this._context.select_sym(2);var r=this._context.new_var(s.Std.close(this._context)),n=this._context.new_var(s.Std.log(r.get()/r.get(1))),o=this._context.new_var(this._context.symbol.time);this._context.select_sym(1);var a=this._context.new_var(s.Std.close(this._context)),l=this._context.new_var(s.Std.log(a.get()/a.get(1))),c=this._context.new_var(n.adopt(o,i,0));return[this.correlationLog(l,c,this.period,this._context)]}}},{name:"Detrended Price Oscillator",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#43A047"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:0}],inputs:{in_0:21,in_1:!1}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"DPO",histogramBase:0,joinPoints:!1,isHidden:!1}},description:"Detrended Price Oscillator",shortDescription:"DPO",is_price_study:!1,is_hidden_study:!1,id:"detrended_price_oscillator@tv-basicstudies-1",bands:[{id:"hline_0",name:"Zero",isHidden:!1}],inputs:[{id:"in_0",name:"Period",defval:21,type:"integer",min:1,max:1e12},{id:"in_1",name:"isCentered",defval:!1,type:"bool"}],scriptIdPart:"",name:"Detrended Price Oscillator",format:{type:"price",precision:2}},constructor:function(){this.f_0=function(){var e=this._input(0),t=this._input(1),i=Math.floor(e/2+1);this._context.setMinimumAdditionalDepth(e+i);var r=this._context.new_var(s.Std.close(this._context)),n=this._context.new_var(s.Std.sma(r,e,this._context)),o=this._context.new_var(s.Std.close(this._context)).get(i)-n,a=s.Std.close(this._context)-n.get(i);return[t?o:a,t?-i:0]},this.main=function(e,t){this._context=e,this._input=t;var i=this.f_0() +;return[{value:i[0],offset:i[1]}]}}},{name:"Directional Movement Index",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#FF6D00"},plot_2:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#F50057"}},inputs:{in_0:14,in_1:14}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"},{id:"plot_2",type:"line"}],styles:{plot_0:{title:"+DI",histogramBase:0,joinPoints:!1},plot_1:{title:"-DI",histogramBase:0,joinPoints:!1},plot_2:{title:"ADX",histogramBase:0,joinPoints:!1}},description:"Directional Movement",shortDescription:"DMI",is_price_study:!1,inputs:[{id:"in_0",name:"DI Length",defval:14,type:"integer",min:1,max:2e3},{id:"in_1",name:"ADX Smoothing",defval:14,type:"integer",min:1,max:50}],id:"Directional Movement Index@tv-basicstudies-1",scriptIdPart:"",name:"Directional Movement Index",format:{precision:4,type:"price"}},constructor:function(){this.f_0=function(e){return-e},this.f_1=function(e,t){return s.Std.and(s.Std.gt(e,t),s.Std.gt(e,0))?e:0},this.f_2=function(e,t){return 100*e/t},this.f_3=function(e,t){return e+t},this.f_4=function(e,t,i){return s.Std.abs(e-t)/(s.Std.eq(i,0)?1:i)},this.f_5=function(e){return 100*e},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=this._input(1);this._context.setMinimumAdditionalDepth(i+r);var n=s.Std.high(this._context),o=this._context.new_var(n),a=s.Std.change(o),l=s.Std.low(this._context),c=this._context.new_var(l),h=s.Std.change(c),u=this.f_0(h),d=s.Std.tr(this._context),p=this._context.new_var(d),_=s.Std.rma(p,i,this._context),m=this.f_1(a,u),f=this._context.new_var(m),g=s.Std.rma(f,i,this._context),v=this.f_2(g,_),b=s.Std.fixnan(v,this._context),S=this.f_1(u,a),y=this._context.new_var(S),w=s.Std.rma(y,i,this._context),C=this.f_2(w,_),P=s.Std.fixnan(C,this._context),x=this.f_3(b,P),T=this.f_4(b,P,x),M=this._context.new_var(T),I=s.Std.rma(M,r,this._context);return[b,P,this.f_5(I)]}}},{name:"Donchian Channels",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},plot_2:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#FF6D00"}},filledAreasStyle:{fill_0:{color:"#2196F3",transparency:95,visible:!0}},inputs:{in_0:20}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"},{id:"plot_2",type:"line"}],styles:{plot_0:{title:"Lower",histogramBase:0,joinPoints:!1},plot_1:{title:"Upper",histogramBase:0,joinPoints:!1},plot_2:{title:"Basis",histogramBase:0,joinPoints:!1}},description:"Donchian Channels",shortDescription:"DC",is_price_study:!0,filledAreas:[{id:"fill_0",objAId:"plot_1",objBId:"plot_0", +type:"plot_plot",title:"Plots Background"}],inputs:[{id:"in_0",name:"length",defval:20,type:"integer",min:1,max:2e3}],id:"Donchian Channels@tv-basicstudies-1",scriptIdPart:"",name:"Donchian Channels",format:{type:"inherit"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=s.Std.low(this._context),n=this._context.new_var(r),o=s.Std.lowest(n,i,this._context),a=s.Std.high(this._context),l=this._context.new_var(a),c=s.Std.highest(l,i,this._context);return[o,c,s.Std.avg(c,o)]}}},{name:"Double Exponential Moving Average",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#43A047"}},inputs:{in_0:9}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Double EMA",shortDescription:"DEMA",is_price_study:!0,inputs:[{id:"in_0",name:"length",defval:9,type:"integer",min:1,max:1e4}],id:"Double Exponential Moving Average@tv-basicstudies-1",scriptIdPart:"",name:"Double Exponential Moving Average",format:{type:"inherit"}},constructor:function(){this.f_0=function(e,t){return 2*e-t},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0);this._context.setMinimumAdditionalDepth(2*i);var r=s.Std.close(this._context),n=this._context.new_var(r),o=s.Std.ema(n,i,this._context),a=this._context.new_var(o),l=s.Std.ema(a,i,this._context);return[this.f_0(o,l)]}}},{name:"Ease of Movement",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#43A047"}},inputs:{in_0:1e4,in_1:14}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Ease Of Movement",shortDescription:"EOM",is_price_study:!1,inputs:[{id:"in_0",name:"Divisor",defval:1e4,type:"integer",min:1,max:1e9},{id:"in_1",name:"length",defval:14,type:"integer",min:1,max:2e3}],id:"Ease of Movement@tv-basicstudies-1",scriptIdPart:"",name:"Ease of Movement",format:{type:"volume"}},constructor:function(){this.f_0=function(e,t,i,s,r){return e*t*(i-s)/r},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=this._input(1),n=s.Std.hl2(this._context),o=this._context.new_var(n),a=s.Std.change(o),l=this.f_0(i,a,s.Std.high(this._context),s.Std.low(this._context),s.Std.volume(this._context)),c=this._context.new_var(l);return[s.Std.sma(c,r,this._context)]}}},{name:"Elders Force Index",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#F44336"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:0}],inputs:{in_0:13}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Elder's Force Index",shortDescription:"EFI",is_price_study:!1,bands:[{ +id:"hline_0",name:"Zero"}],inputs:[{id:"in_0",name:"length",defval:13,type:"integer",min:1,max:2e3}],id:"Elders Force Index@tv-basicstudies-1",scriptIdPart:"",name:"Elders Force Index",format:{type:"volume"}},constructor:function(){this.f_0=function(e,t){return e*t},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=s.Std.close(this._context),n=this._context.new_var(r),o=s.Std.change(n),a=this.f_0(o,s.Std.volume(this._context)),l=this._context.new_var(a);return[s.Std.ema(l,i,this._context)]}}},{name:"EMA Cross",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#FF6D00"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#43A047"},plot_2:{linestyle:0,linewidth:4,plottype:3,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:9,in_1:26}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"},{id:"plot_2",type:"line"}],styles:{plot_0:{title:"Short",histogramBase:0,joinPoints:!1},plot_1:{title:"Long",histogramBase:0,joinPoints:!1},plot_2:{title:"Crosses",histogramBase:0,joinPoints:!1}},description:"EMA Cross",shortDescription:"EMA Cross",is_price_study:!0,inputs:[{id:"in_0",name:"Short",defval:9,type:"integer",min:1,max:2e3},{id:"in_1",name:"Long",defval:26,type:"integer",min:1,max:2e3}],id:"EMA Cross@tv-basicstudies-1",scriptIdPart:"",name:"EMA Cross",format:{type:"inherit"}},constructor:function(){this.f_0=function(e,t){return e?t:s.Std.na()},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=this._input(1),n=s.Std.close(this._context),o=this._context.new_var(n),a=s.Std.ema(o,i,this._context),l=this._context.new_var(n),c=s.Std.ema(l,r,this._context),h=a,u=c,d=s.Std.cross(a,c,this._context);return[h,u,this.f_0(d,a)]}}},{name:"Envelopes",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#FF6D00"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},plot_2:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},filledAreasStyle:{fill_0:{color:"#2196F3",transparency:95,visible:!0}},inputs:{in_0:20,in_1:10,in_2:10,in_3:"Simple",in_4:"close"}},plots:[{id:"plot_1",type:"line"},{id:"plot_0",type:"line"},{id:"plot_2",type:"line"}],styles:{plot_0:{title:"Average",histogramBase:0,joinPoints:!1},plot_1:{title:"Upper",histogramBase:0,joinPoints:!1},plot_2:{title:"Lower",histogramBase:0,joinPoints:!1}},description:"Envelopes",shortDescription:"Envelopes",is_price_study:!0,filledAreas:[{id:"fill_0",objAId:"plot_1",objBId:"plot_2",type:"plot_plot",title:"Plots Background"}],inputs:[{id:"in_0",name:"Length",defval:20,type:"integer",min:1,max:2e3},{id:"in_1",name:"Upper Percentage",defval:2,type:"float",min:0},{id:"in_2",name:"Lower Percentage",defval:2,type:"float", +min:0},{id:"in_3",name:"Method",type:"text",defval:"Simple",options:["Simple","Exponential","Weighted"]},{id:"in_4",name:"Source",defval:"close",type:"source",options:["open","high","low","close","hl2","hlc3","ohlc4"]}],id:"Envelope@tv-basicstudies-1",scriptIdPart:"",name:"Envelopes",format:{type:"inherit"}},constructor:function(){this.f_0=function(e,t){return e*(1+t)},this.f_1=function(e,t){return e*(1-t)},this.main=function(e,t){this._context=e,this._input=t;var i=this._context.new_var(s.Std[this._input(4)](this._context)),r=s.Std.sma(i,this._input(0),this._context);return"Exponential"===this._input(3)?r=s.Std.ema(i,this._input(0),this._context):"Weighted"===this._input(3)&&(r=s.Std.wma(i,this._input(0),this._context)),[this.f_0(r,this._input(1)/100),r,this.f_1(r,this._input(2)/100)]}}},{name:"Standard Error",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,is_price_study:!1,id:"Standard Error@tv-basicstudies-1",scriptIdPart:"",name:"Standard Error",description:"Standard Error",shortDescription:"Standard Error",plots:[{id:"plot_0",type:"line"}],defaults:{styles:{plot_0:{linestyle:0,visible:!0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,color:"#FF6D00"}},inputs:{length:14}},styles:{plot_0:{title:"Plot"}},inputs:[{id:"length",type:"integer",name:"Length"}],format:{precision:2,type:"price"}},constructor:function(){this.init=function(e,t){this._context=e,this._input=t,this.period=this._input(0)},this.main=function(e,t){this._context=e,this._input=t;for(var i,r,n=this._context.new_var(s.Std.close(this._context)),o=0,a=0,l=0;l0?1:3,i=s.Std.change(this._context.new_var(e));return t-(s.Std.le(i,0)?0:1)},this.main=function(e,t){this._context=e,this._input=t;var i=s.Std[this._input(2)](this._context),r=this._input(0),n=this._input(1),o=this._input(3);this._context.setMinimumAdditionalDepth(Math.max(r,n)+o);var a=this._context.new_var(i),l=s.Std.ema(a,r,this._context),c=this._context.new_var(i),h=s.Std.ema(c,n,this._context),u=this.f_0(l,h),d=this._context.new_var(u),p=s.Std.ema(d,o,this._context),_=this.f_0(u,p);return[_,u,p,this.f_1(_)]}}},{name:"Moving Average Exponential",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:9,in_1:"close",in_2:0}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Moving Average Exponential",shortDescription:"EMA",is_price_study:!0,inputs:[{id:"in_0",name:"Length",defval:9,type:"integer",min:1,max:1e4},{id:"in_1",name:"Source",defval:"close",type:"source",options:["open","high","low","close","hl2","hlc3","ohlc4"]},{id:"in_2",name:"Offset",defval:0,type:"integer",min:-1e4,max:1e4}],id:"Moving Average Exponential@tv-basicstudies-1",scriptIdPart:"",name:"Moving Average Exponential",format:{type:"inherit"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=s.Std[this._input(1)](this._context),r=this._input(0),n=this._input(2),o=this._context.new_var(i);return[{value:s.Std.ema(o,r,this._context),offset:n}]}}},{name:"Moving Average Weighted",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:9,in_1:"close",in_2:0}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Moving Average Weighted",shortDescription:"WMA", +is_price_study:!0,inputs:[{id:"in_0",name:"Length",defval:9,type:"integer",min:1,max:2e3},{id:"in_1",name:"Source",defval:"close",type:"source",options:["open","high","low","close","hl2","hlc3","ohlc4"]},{id:"in_2",name:"Offset",defval:0,type:"integer",min:-1e4,max:1e4}],id:"Moving Average Weighted@tv-basicstudies-1",scriptIdPart:"",name:"Moving Average Weighted",format:{type:"inherit"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=s.Std[this._input(1)](this._context),r=this._input(0),n=this._input(2),o=this._context.new_var(i);return[{value:s.Std.wma(o,r,this._context),offset:n}]}}},{name:"Moving Average Double",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,id:"Moving Average Double@tv-basicstudies-1",scriptIdPart:"",name:"Moving Average Double",description:"Moving Average Double",shortDescription:"Moving Average Double",is_price_study:!0,plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"}],defaults:{styles:{plot_0:{linestyle:0,visible:!0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,color:"#FF6D00"},plot_1:{linestyle:0,visible:!0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,color:"#2196F3"}},inputs:{firstPeriods:14,secondPeriods:21,method:"Simple"}},styles:{plot_0:{title:"Plot 1"},plot_1:{title:"Plot 2"}},inputs:[{id:"firstPeriods",name:"1st Period",type:"integer",defval:14,min:1,max:1e4},{id:"secondPeriods",name:"2nd Period",type:"integer",defval:21,min:1,max:1e4},{id:"method",name:"Method",type:"text",defval:"Simple",options:["Simple","Exponential","Weighted"]}],format:{type:"inherit"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i,r,n=this._context.new_var(s.Std.close(this._context));return"Exponential"===this._input(2)?(i=s.Std.ema(n,this._input(0),this._context),r=s.Std.ema(n,this._input(1),this._context)):"Weighted"===this._input(2)?(i=s.Std.wma(n,this._input(0),this._context),r=s.Std.wma(n,this._input(1),this._context)):(i=s.Std.sma(n,this._input(0),this._context),r=s.Std.sma(n,this._input(1),this._context)),[i,r]}}},{name:"Moving Average Triple",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,is_price_study:!0,id:"Moving Average Triple@tv-basicstudies-1",scriptIdPart:"",name:"Moving Average Triple",description:"Moving Average Triple",shortDescription:"Moving Average Triple",plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"},{id:"plot_2",type:"line"}],defaults:{styles:{plot_0:{linestyle:0,visible:!0,linewidth:1,plottype:0,transparency:0,trackPrice:!1,color:"#FF6D00"},plot_1:{linestyle:0,visible:!0,linewidth:1,transparency:0,plottype:0,trackPrice:!1,color:"#2196F3"},plot_2:{linestyle:0,visible:!0,linewidth:1,transparency:0,plottype:0,trackPrice:!1,color:"#26C6DA"}},inputs:{firstPeriods:14,secondPeriods:21,thirdPeriods:35,method:"Simple"}},styles:{plot_0:{title:"Plot 1"},plot_1:{title:"Plot 2"},plot_2:{title:"Plot 3"}},inputs:[{id:"firstPeriods",name:"1st Period",type:"integer",defval:14,min:1,max:1e4},{id:"secondPeriods",name:"2nd Period", +type:"integer",defval:21,min:1,max:1e4},{id:"thirdPeriods",name:"3rd Period",type:"integer",defval:35,min:1,max:1e4},{id:"method",name:"Method",type:"text",defval:"Simple",options:["Simple","Exponential","Weighted"]}],format:{type:"inherit"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i,r,n,o=this._context.new_var(s.Std.close(this._context));return"Exponential"===this._input(3)?(i=s.Std.ema(o,this._input(0),this._context),r=s.Std.ema(o,this._input(1),this._context),n=s.Std.ema(o,this._input(2),this._context)):"Weighted"===this._input(3)?(i=s.Std.wma(o,this._input(0),this._context),r=s.Std.wma(o,this._input(1),this._context),n=s.Std.wma(o,this._input(2),this._context)):(i=s.Std.sma(o,this._input(0),this._context),r=s.Std.sma(o,this._input(1),this._context),n=s.Std.sma(o,this._input(2),this._context)),[i,r,n]}}},{name:"Moving Average Adaptive",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,is_price_study:!0,id:"Moving Average Adaptive@tv-basicstudies-1",scriptIdPart:"",name:"Moving Average Adaptive",description:"Moving Average Adaptive",shortDescription:"Moving Average Adaptive",plots:[{id:"plot_0",type:"line"}],defaults:{styles:{plot_0:{linestyle:0,visible:!0,linewidth:1,plottype:0,transparency:0,trackPrice:!1,color:"#AB47BC"}},inputs:{periods:10}},styles:{plot_0:{title:"Plot 1"}},inputs:[{id:"periods",name:"Period",type:"integer",defval:10,min:1,max:1e4}],format:{type:"inherit"}},constructor:function(){this.init=function(e,t){this._context=e,this._input=t,this.periods=this._input(0),this.amaPrev=NaN},this.ama=function(e,t){var i=this.periods,r=e.get(),n=s.Std.stdev(t,i,this._context),o=s.Std.log(r/e.get(i))/(n*Math.sqrt(i)),a=.1*Math.abs(o),l=(r-this.amaPrev)*a+this.amaPrev;return this.amaPrev=isNaN(l)?r:l,l},this.main=function(e,t){this._context=e,this._input=t;var i=this._context.new_var(s.Std.close(this._context)),r=this._context.new_var(s.Std.log(i.get()/i.get(1)));return[this.ama(i,r)]}}},{name:"Moving Average Hamming",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,is_price_study:!0,id:"Moving Average Hamming@tv-basicstudies-1",scriptIdPart:"",name:"Moving Average Hamming",description:"Moving Average Hamming",shortDescription:"Moving Average Hamming",plots:[{id:"plot_0",type:"line"}],defaults:{styles:{plot_0:{linestyle:0,visible:!0,linewidth:1,plottype:0,transparency:0,trackPrice:!1,color:"#4CAF50"}},inputs:{periods:10}},styles:{plot_0:{title:"Plot 1"}},inputs:[{id:"periods",name:"Period",type:"integer",defval:10,min:1,max:1e4}],format:{type:"inherit"}},constructor:function(){this.init=function(e,t){this._context=e,this._input=t,this.periods=this._input(0);for(var i=[],s=0,r=1;r<=this.periods;++r){var n=Math.sin((1+r)/this.periods*Math.PI/2);i.unshift(n),s+=n}this.hmaFactors=i,this.hmaFactorsSum=s},this.hma=function(e){for(var t=this.periods,i=0,s=0;sthis._context.new_var(r).get(1)?1:0,[100*s.Std.sma(this._context.new_var(i),this.rollingPeriod,this._context)]}}},{name:"Net Volume",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Net Volume",shortDescription:"Net Volume",is_price_study:!1,inputs:[],id:"Net Volume@tv-basicstudies-1",scriptIdPart:"",name:"Net Volume",format:{type:"volume"}},constructor:function(){this.f_0=function(e,t,i){return s.Std.gt(e,0)?t:s.Std.lt(i,0)?-t:0*t},this.main=function(e,t){this._context=e,this._input=t;var i=s.Std.close(this._context),r=this._context.new_var(i),n=s.Std.change(r);return[this.f_0(n,s.Std.volume(this._context),n)]}}},{name:"On Balance Volume",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"On Balance Volume",shortDescription:"OBV",is_price_study:!1,inputs:[],id:"On Balance Volume@tv-basicstudies-1",scriptIdPart:"",name:"On Balance Volume",format:{type:"volume"}},constructor:function(){this.f_0=function(e,t,i){return s.Std.gt(e,0)?t:s.Std.lt(i,0)?-t:0*t},this.main=function(e,t){this._context=e,this._input=t;var i=s.Std.close(this._context),r=this._context.new_var(i),n=s.Std.change(r),o=this.f_0(n,s.Std.volume(this._context),n);return[s.Std.cum(o,this._context)]}}},{name:"Parabolic SAR",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:3,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:.02,in_1:.02,in_2:.2}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Parabolic SAR",shortDescription:"SAR",is_price_study:!0,inputs:[{id:"in_0",name:"start",defval:.02,type:"float",min:-1e12,max:1e12},{id:"in_1",name:"increment",defval:.02,type:"float",min:-1e12, +max:1e12},{id:"in_2",name:"maximum",defval:.2,type:"float",min:-1e12,max:1e12}],id:"Parabolic SAR@tv-basicstudies-1",scriptIdPart:"",name:"Parabolic SAR",format:{type:"inherit"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=this._input(1),n=this._input(2);return[s.Std.sar(i,r,n,this._context)]}}},{name:"Price Channel",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#F50057"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#F50057"},plot_2:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:20,in_1:0}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"},{id:"plot_2",type:"line"}],styles:{plot_0:{title:"Highprice Line",histogramBase:0,joinPoints:!1},plot_1:{title:"Lowprice Line",histogramBase:0,joinPoints:!1},plot_2:{title:"Centerprice Line",histogramBase:0,joinPoints:!1}},description:"Price Channel",shortDescription:"PC",is_price_study:!0,inputs:[{id:"in_0",name:"Length",defval:20,type:"integer",min:1,max:2e3},{id:"in_1",name:"Offset Length",defval:0,type:"integer",min:1,max:2e3}],id:"Price Channel@tv-basicstudies-1",scriptIdPart:"",name:"Price Channel",format:{type:"inherit"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=s.Std.high(this._context),r=this._context.new_var(i),n=s.Std.low(this._context),o=this._context.new_var(n),a=this._input(0),l=this._input(1),c=s.Std.highest(r,a,this._context),h=s.Std.lowest(o,a,this._context);return[{value:c,offset:l},{value:h,offset:l},{value:s.Std.avg(c,h),offset:l}]}}},{name:"Price Oscillator",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#009688"}},inputs:{in_0:10,in_1:21}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Price Oscillator",shortDescription:"PPO",is_price_study:!1,inputs:[{id:"in_0",name:"shortlen",defval:10,type:"integer",min:1,max:2e3},{id:"in_1",name:"longlen",defval:21,type:"integer",min:1,max:2e3}],id:"Price Oscillator@tv-basicstudies-1",scriptIdPart:"",name:"Price Oscillator",format:{type:"price",precision:2}},constructor:function(){this.f_0=function(e,t){return(e-t)/t*100},this.main=function(e,t){this._context=e,this._input=t;var i=s.Std.close(this._context),r=this._input(0),n=this._input(1),o=this._context.new_var(i),a=s.Std.sma(o,r,this._context),l=this._context.new_var(i),c=s.Std.sma(l,n,this._context);return[this.f_0(a,c)]}}},{name:"Price Volume Trend",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"PVT",histogramBase:0, +joinPoints:!1,isHidden:!1}},description:"Price Volume Trend",shortDescription:"PVT",is_price_study:!1,is_hidden_study:!1,id:"price_volume_trend@tv-basicstudies-1",inputs:[],scriptIdPart:"",name:"Price Volume Trend",format:{type:"volume"}},constructor:function(){this.f_0=function(){var e=this._context.new_var(s.Std.close(this._context));return[s.Std.cum(s.Std.change(e)/e.get(1)*s.Std.volume(this._context),this._context)]},this.main=function(e,t){return this._context=e,this._input=t,[this.f_0()[0]]}}},{name:"Rate Of Change",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:0}],inputs:{in_0:9}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"ROC",histogramBase:0,joinPoints:!1,isHidden:!1}},description:"Rate Of Change",shortDescription:"ROC",is_price_study:!1,bands:[{id:"hline_0",name:"Zero Line",isHidden:!1}],inputs:[{id:"in_0",name:"length",defval:9,type:"integer",min:1,max:1e12}],id:"rate_of_change@tv-basicstudies-1",scriptIdPart:"",name:"Rate Of Change",format:{precision:2,type:"price"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=this._context.new_var(s.Std.close(this._context)),r=this._input(0);return[100*(i.get(0)-i.get(r))/i.get(r)]}}},{name:"Relative Strength Index",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#7E57C2"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:70},{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:30}],filledAreasStyle:{fill_0:{color:"#7E57C2",transparency:90,visible:!0}},inputs:{in_0:14}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Relative Strength Index",shortDescription:"RSI",is_price_study:!1,bands:[{id:"hline_0",name:"UpperLimit"},{id:"hline_1",name:"LowerLimit"}],filledAreas:[{id:"fill_0",objAId:"hline_0",objBId:"hline_1",type:"hline_hline",title:"Hlines Background"}],inputs:[{id:"in_0",name:"Length",defval:14,type:"integer",min:1,max:2e3}],id:"Relative Strength Index@tv-basicstudies-1",scriptIdPart:"",name:"Relative Strength Index",format:{precision:2,type:"price"}},constructor:function(){this.f_0=function(e){return s.Std.max(e,0)},this.f_1=function(e){return-s.Std.min(e,0)},this.f_2=function(e,t){return s.Std.eq(e,0)?100:s.Std.eq(t,0)?0:100-100/(1+t/e)},this.main=function(e,t){this._context=e,this._input=t;var i=s.Std.close(this._context),r=this._input(0),n=this._context.new_var(i),o=s.Std.change(n),a=this.f_0(o),l=this._context.new_var(a),c=s.Std.rma(l,r,this._context),h=this.f_1(o),u=this._context.new_var(h),d=s.Std.rma(u,r,this._context);return[this.f_2(d,c)]}}},{name:"Relative Vigor Index",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{ +plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#009688"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#F44336"}},inputs:{in_0:10}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"}],styles:{plot_0:{title:"RVGI",histogramBase:0,joinPoints:!1},plot_1:{title:"Signal",histogramBase:0,joinPoints:!1}},description:"Relative Vigor Index",shortDescription:"RVGI",is_price_study:!1,inputs:[{id:"in_0",name:"Length",defval:10,type:"integer",min:1,max:2e3}],id:"Relative Vigor Index@tv-basicstudies-1",scriptIdPart:"",name:"Relative Vigor Index",format:{precision:4,type:"price"}},constructor:function(){this.f_0=function(e,t){return e-t},this.f_1=function(e,t){return e/t},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=this.f_0(s.Std.close(this._context),s.Std.open(this._context)),n=this._context.new_var(r),o=s.Std.swma(n,this._context),a=this._context.new_var(o),l=s.Std.sum(a,i,this._context),c=this.f_0(s.Std.high(this._context),s.Std.low(this._context)),h=this._context.new_var(c),u=s.Std.swma(h,this._context),d=this._context.new_var(u),p=s.Std.sum(d,i,this._context),_=this.f_1(l,p),m=this._context.new_var(_);return[_,s.Std.swma(m,this._context)]}}},{name:"Relative Volatility Index",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#7E57C2"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:80},{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:20}],filledAreasStyle:{fill_0:{color:"#7E57C2",transparency:90,visible:!0}},inputs:{in_0:10}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Relative Volatility Index",shortDescription:"RVI",is_price_study:!1,bands:[{id:"hline_0",name:"UpperLimit"},{id:"hline_1",name:"LowerLimit"}],filledAreas:[{id:"fill_0",objAId:"hline_0",objBId:"hline_1",type:"hline_hline",title:"Hlines Background"}],inputs:[{id:"in_0",name:"length",defval:10,type:"integer",min:1,max:2e3}],id:"Relative Volatility Index@tv-basicstudies-1",scriptIdPart:"",name:"Relative Volatility Index",format:{precision:2,type:"price"}},constructor:function(){this.f_0=function(e,t){return s.Std.le(e,0)?0:t},this.f_1=function(e,t){return s.Std.gt(e,0)?0:t},this.f_2=function(e,t){return e/(e+t)*100},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0);this._context.setMinimumAdditionalDepth(i+12);var r=s.Std.close(this._context),n=this._context.new_var(r),o=s.Std.stdev(n,i,this._context),a=this._context.new_var(r),l=s.Std.change(a),c=this.f_0(l,o),h=this._context.new_var(c),u=s.Std.ema(h,14,this._context),d=this.f_1(l,o),p=this._context.new_var(d),_=s.Std.ema(p,14,this._context);return[this.f_2(u,_)]}}},{name:"SMI Ergodic Indicator/Oscillator",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1, +plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#FF6D00"},plot_2:{linestyle:0,linewidth:1,plottype:1,trackPrice:!1,transparency:0,visible:!0,color:"#FF5252"}},inputs:{in_0:5,in_1:20,in_2:5}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"},{id:"plot_2",type:"line"}],styles:{plot_0:{title:"Indicator",histogramBase:0,joinPoints:!1},plot_1:{title:"Signal",histogramBase:0,joinPoints:!1},plot_2:{title:"Oscillator",histogramBase:0,joinPoints:!1}},description:"SMI Ergodic Indicator/Oscillator",shortDescription:"SMIIO",is_price_study:!1,inputs:[{id:"in_0",name:"shortlen",defval:5,type:"integer",min:1,max:2e3},{id:"in_1",name:"longlen",defval:20,type:"integer",min:1,max:2e3},{id:"in_2",name:"siglen",defval:5,type:"integer",min:1,max:2e3}],id:"SMI Ergodic Indicator/Oscillator@tv-basicstudies-1",scriptIdPart:"",name:"SMI Ergodic Indicator/Oscillator",format:{type:"inherit"}},constructor:function(){this.f_0=function(e,t){return e-t},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=this._input(1),n=this._input(2);this._context.setMinimumAdditionalDepth(i+r+n);var o=s.Std.close(this._context),a=this._context.new_var(o),l=s.Std.tsi(a,i,r,this._context),c=this._context.new_var(l),h=s.Std.ema(c,n,this._context);return[l,h,this.f_0(l,h)]}}},{name:"Smoothed Moving Average",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#673AB7"}},inputs:{in_0:7,in_1:"close"}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1,isHidden:!1}},description:"Smoothed Moving Average",shortDescription:"SMMA",is_price_study:!0,inputs:[{id:"in_0",name:"Length",defval:7,type:"integer",min:1,max:1e12},{id:"in_1",name:"Source",defval:"close",type:"source",options:["open","high","low","close","hl2","hlc3","ohlc4"]}],id:"smoothed_moving_average@tv-basicstudies-1",scriptIdPart:"",name:"Smoothed Moving Average",format:{type:"inherit"}},constructor:function(){this.f_0=function(){var e=this._input(0),t=s.Std[this._input(1)](this._context),i=this._context.new_var(t),r=s.Std.sma(i,e,this._context),n=this._context.new_var(),o=(n.get(1)*(e-1)+t)/e;return n.set(s.Std.na(n.get(1))?r:o),[n.get(0)]},this.main=function(e,t){return this._context=e,this._input=t,this.f_0()}}},{name:"Standard Deviation",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,id:"Standard Deviation@tv-basicstudies-1",scriptIdPart:"",name:"Standard Deviation",description:"Standard Deviation",shortDescription:"Standard Deviation",is_price_study:!1,plots:[{id:"plot_0",type:"line"}],defaults:{styles:{plot_0:{linestyle:0,visible:!0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,color:"#009688"}},inputs:{periods:5,deviations:1}},styles:{plot_0:{title:"Plot"}},inputs:[{id:"periods",name:"Periods",type:"integer"},{id:"deviations",name:"Deviations", +type:"float"}],format:{precision:2,type:"price"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=this._input(1),n=this._context.new_var(s.Std.close(this._context));return[s.Std.stdev(n,i,this._context)*r]}}},{name:"Stochastic",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#FF6D00"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:80},{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:20}],filledAreasStyle:{fill_0:{color:"#2196F3",transparency:90,visible:!0}},inputs:{in_0:14,in_1:1,in_2:3}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"}],styles:{plot_0:{title:"%K",histogramBase:0,joinPoints:!1},plot_1:{title:"%D",histogramBase:0,joinPoints:!1}},description:"Stochastic",shortDescription:"Stoch",is_price_study:!1,bands:[{id:"hline_0",name:"UpperLimit"},{id:"hline_1",name:"LowerLimit"}],filledAreas:[{id:"fill_0",objAId:"hline_0",objBId:"hline_1",type:"hline_hline",title:"Hlines Background"}],inputs:[{id:"in_0",name:"K",defval:14,type:"integer",min:1,max:1e4},{id:"in_1",name:"D",defval:1,type:"integer",min:1,max:1e4},{id:"in_2",name:"smooth",defval:3,type:"integer",min:1,max:1e4}],id:"Stochastic@tv-basicstudies-1",scriptIdPart:"",name:"Stochastic",format:{precision:2,type:"price"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=this._input(1),n=this._input(2);this._context.setMinimumAdditionalDepth(i+r+n);var o=s.Std.close(this._context),a=s.Std.high(this._context),l=s.Std.low(this._context),c=this._context.new_var(o),h=this._context.new_var(a),u=this._context.new_var(l),d=s.Std.stoch(c,h,u,i,this._context),p=this._context.new_var(d),_=s.Std.sma(p,r,this._context),m=this._context.new_var(_);return[_,s.Std.sma(m,n,this._context)]}}},{name:"Stochastic RSI",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#FF6D00"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:80},{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:20}],filledAreasStyle:{fill_0:{color:"#2196F3",transparency:90,visible:!0}},inputs:{in_0:14,in_1:14,in_2:3,in_3:3}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"}],styles:{plot_0:{title:"%K",histogramBase:0,joinPoints:!1},plot_1:{title:"%D",histogramBase:0,joinPoints:!1}},description:"Stochastic RSI",shortDescription:"Stoch RSI",is_price_study:!1,bands:[{id:"hline_0",name:"UpperLimit"},{id:"hline_1",name:"LowerLimit"}],filledAreas:[{id:"fill_0",objAId:"hline_0",objBId:"hline_1",type:"hline_hline",title:"Hlines Background"}],inputs:[{id:"in_0",name:"lengthRSI", +defval:14,type:"integer",min:1,max:1e4},{id:"in_1",name:"lengthStoch",defval:14,type:"integer",min:1,max:1e4},{id:"in_2",name:"smoothK",defval:3,type:"integer",min:1,max:1e4},{id:"in_3",name:"smoothD",defval:3,type:"integer",min:1,max:1e4}],id:"Stochastic RSI@tv-basicstudies-1",scriptIdPart:"",name:"Stochastic RSI",format:{precision:2,type:"price"}},constructor:function(){this.f_1=function(e,t,i){var r=i.new_var(s.Std.max(s.Std.change(e),0));return s.Std.rma(r,t,i)},this.f_2=function(e,t,i){var r=i.new_var(-s.Std.min(s.Std.change(e),0));return s.Std.rma(r,t,i)},this.main=function(e,t){this._context=e,this._input=t;var i=s.Std.close(this._context),r=this._input(0),n=this._input(1),o=this._input(2),a=this._input(3);e.setMinimumAdditionalDepth(r+n+o+a);var l=this._context.new_var(i),c=s.Std.rsi(this.f_1(l,r,this._context),this.f_2(l,r,this._context)),h=this._context.new_var(c),u=this._context.new_var(c),d=this._context.new_var(c),p=s.Std.stoch(h,u,d,n,this._context),_=this._context.new_var(p),m=s.Std.sma(_,o,this._context),f=this._context.new_var(m);return[m,s.Std.sma(f,a,this._context)]}}},{name:"TRIX",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#F44336"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:0}],inputs:{in_0:18}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"TRIX",histogramBase:0,joinPoints:!1}},description:"TRIX",shortDescription:"TRIX",is_price_study:!1,bands:[{id:"hline_0",name:"Zero"}],inputs:[{id:"in_0",name:"length",defval:18,type:"integer",min:1,max:2e3}],id:"TRIX@tv-basicstudies-1",scriptIdPart:"",name:"TRIX",format:{precision:2,type:"price"}},constructor:function(){this.f_0=function(e){return s.Std.log(e)},this.f_1=function(e){return 1e4*e},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0);e.setMinimumAdditionalDepth(3*i);var r=this.f_0(s.Std.close(this._context)),n=this._context.new_var(r),o=s.Std.ema(n,i,this._context),a=this._context.new_var(o),l=s.Std.ema(a,i,this._context),c=this._context.new_var(l),h=s.Std.ema(c,i,this._context),u=this._context.new_var(h),d=s.Std.change(u);return[this.f_1(d)]}}},{name:"Triple EMA",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:9}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Triple EMA",shortDescription:"TEMA",is_price_study:!0,inputs:[{id:"in_0",name:"length",defval:9,type:"integer",min:1,max:1e4}],id:"Triple EMA@tv-basicstudies-1",scriptIdPart:"",name:"Triple EMA",format:{type:"inherit"}},constructor:function(){this.f_0=function(e,t,i){return 3*(e-t)+i},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0);this._context.setMinimumAdditionalDepth(3*i) +;var r=s.Std.close(this._context),n=this._context.new_var(r),o=s.Std.ema(n,i,this._context),a=this._context.new_var(o),l=s.Std.ema(a,i,this._context),c=this._context.new_var(l),h=s.Std.ema(c,i,this._context);return[this.f_0(o,l,h)]}}},{name:"True Strength Indicator",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#E91E63"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:0}],inputs:{in_0:25,in_1:13,in_2:13}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1},plot_1:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"True Strength Indicator",shortDescription:"True Strength Indicator",is_price_study:!1,bands:[{id:"hline_0",name:"Zero"}],inputs:[{id:"in_0",name:"long",defval:25,type:"integer",min:1,max:4999},{id:"in_1",name:"short",defval:13,type:"integer",min:1,max:4999},{id:"in_2",name:"siglen",defval:13,type:"integer",min:1,max:4999}],id:"True Strength Indicator@tv-basicstudies-1",scriptIdPart:"",name:"True Strength Indicator",format:{precision:4,type:"price"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=this._input(1),n=this._input(2);this._context.setMinimumAdditionalDepth(this._input(0)+this._input(1)+this._input(2));var o=s.Std.close(this._context),a=this._context.new_var(o),l=s.Std.tsi(a,r,i,this._context),c=this._context.new_var(l);return[l,s.Std.ema(c,n,this._context)]}}},{name:"Trend Strength Index",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,is_price_study:!1,id:"Trend Strength Index@tv-basicstudies-1",scriptIdPart:"",name:"Trend Strength Index",description:"Trend Strength Index",shortDescription:"Trend Strength Index",plots:[{id:"plot_0",type:"line"}],defaults:{styles:{plot_0:{linestyle:0,visible:!0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,color:"#FF5252"}},inputs:{periods:14}},styles:{plot_0:{title:"Plot"}},inputs:[{id:"periods",type:"integer",name:"Periods"}],format:{type:"inherit"}},constructor:function(){this.init=function(e,t){this._context=e,this._input=t,this.period=this._input(0),this.invertedPeriod=1/this.period,this.sumX=(this.period-1)*this.period/2,this.sumXX=(this.period-1)*this.period*(2*this.period-1)/6,this.invertedPeriodSumXSumX=this.invertedPeriod*this.sumX*this.sumX},this.trendStrengthIndex=function(){for(var e=this._context.new_var(s.Std.close(this._context)),t=s.Std.sum(e,this.period,this._context),i=0,r=0,n=0;n0?1:-1:a/(l=Math.sqrt(l))},this.main=function(e,t){return this._context=e,this._input=t,[this.trendStrengthIndex()]}}},{name:"Typical Price",metainfo:{ +_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,id:"TypicalPrice@tv-basicstudies-1",scriptIdPart:"",name:"Typical Price",description:"Typical Price",shortDescription:"Typical Price",is_price_study:!0,plots:[{id:"plot_0",type:"line"}],defaults:{styles:{plot_0:{linestyle:0,visible:!0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,color:"#FF6D00"}},inputs:{}},styles:{plot_0:{title:"Plot"}},inputs:[],format:{type:"inherit"}},constructor:function(){this.main=function(e,t){return this._context=e,this._input=t,[s.Std.hlc3(this._context)]}}},{name:"Ultimate Oscillator",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#F44336"}},inputs:{in_0:7,in_1:14,in_2:28}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"UO",histogramBase:0,joinPoints:!1,isHidden:!1}},description:"Ultimate Oscillator",shortDescription:"UO",is_price_study:!1,inputs:[{id:"in_0",name:"length7",defval:7,type:"integer",min:1,max:1e12},{id:"in_1",name:"length14",defval:14,type:"integer",min:1,max:1e12},{id:"in_2",name:"length28",defval:28,type:"integer",min:1,max:1e12}],id:"ultimate_oscillator@tv-basicstudies-1",scriptIdPart:"",name:"Ultimate Oscillator",format:{precision:2,type:"price"}},constructor:function(){this.f_0=function(e,t,i){var r=this._context.new_var(e),n=this._context.new_var(t);return[s.Std.sum(r,i,this._context)/s.Std.sum(n,i,this._context)]},this.f_1=function(){var e=this._input(0),t=this._input(1),i=this._input(2),r=this._context.new_var(s.Std.close(this._context)),n=s.Std.max(s.Std.high(this._context),r.get(1)),o=this._context.new_var(s.Std.close(this._context)),a=s.Std.min(s.Std.low(this._context),o.get(1)),l=s.Std.close(this._context)-a,c=n-a,h=this.f_0(l,c,e),u=this.f_0(l,c,t),d=this.f_0(l,c,i);return[100*(4*h[0]+2*u[0]+d[0])/7]},this.main=function(e,t){return this._context=e,this._input=t,this.f_1()}}},{name:"Volatility Close-to-Close",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,is_price_study:!1,id:"Volatility Close-to-Close@tv-basicstudies-1",scriptIdPart:"",name:"Volatility Close-to-Close",description:"Volatility Close-to-Close",shortDescription:"Volatility Close-to-Close",plots:[{id:"plot_0",type:"line"}],defaults:{styles:{plot_0:{linestyle:0,visible:!0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,color:"#2196F3"}},inputs:{periods:10,daysPerYear:252}},styles:{plot_0:{title:"Plot"}},inputs:[{id:"periods",name:"Periods",type:"integer",defval:10},{id:"daysPerYear",name:"Days Per Year",type:"integer",defval:252}],format:{precision:2,type:"percent"}},constructor:function(){this.init=function(e,t){this._context=e,this._input=t,this.period=this._input(0),this.daysPerYear=this._input(1)},this.stdev=function(e,t,i){var r=this.variance(e,t,i);return s.Std.sqrt(r)},this.variance=function(e,t,i){var r=s.Std.sma(e,t,i);return this.variance2(e,r,t)},this.variance2=function(e,t,i){var s,r,n=0;for(s=0;s0&&(a=.12*this.square(e.get()-r.get(1))/this.marketClosedPercentage+.88*a/(1-this.marketClosedPercentage)),a/=o,a*=this.secondsPerYear;var l=this._context.new_var(a);return 100*Math.sqrt(s.Std.sum(l,this.period,this._context)/this.period)},this.main=function(e,t){return this._context=e,this._input=t,[this.volatilityOHLC()]}}},{name:"Volatility Index",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,is_price_study:!0,id:"Volatility Index@tv-basicstudies-1",scriptIdPart:"",name:"Volatility Index",description:"Volatility Index",shortDescription:"Volatility Index",plots:[{id:"plot_0",type:"line"}],defaults:{styles:{plot_0:{linestyle:0,visible:!0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,color:"#FF5252"}},inputs:{periods:10,atrMult:3,method:"Wilder Smoothing"}},styles:{plot_0:{title:"Plot"}},inputs:[{id:"periods",name:"Periods",type:"integer"},{id:"atrMult",name:"ATR Mult",type:"float"},{id:"method",name:"Method",type:"text",defval:"Exponential",options:["Exponential","Wilder Smoothing"]}],format:{type:"inherit"}},constructor:function(){this.init=function(e,t){this._context=e,this._input=t,this.period=this._input(0),this.atrMult=this._input(1),this.maMethod=this._input(2),this.nextsar=null,this.position=null,this.sic=null,this.bars=[],this.count=0,this.lastSar=null,this._context.setMinimumAdditionalDepth("Exponential"===this.maMethod?2*this.period+2:this.period)},this.highest=function(e,t){for(var i=this.bars.length-this.period,s=this.bars[i],r=i+1;rs&&(s=this.bars[r]);return s},this.computeATR=function(){var e=s.Std.high(this._context)-s.Std.low(this._context),t=s.Std.high(this._context)-this.bars[this.bars.length-2],i=this.bars[this.bars.length-2]-s.Std.low(this._context);return this.tr=Math.max(e,t,i),"Exponential"===this.maMethod?this.atr=s.Std.ema(this._context.new_var(this.tr),this.period,this._context):this.atr=this.tr/this.period+(1-1/this.period)*this.atr,this.atr*this.atrMult},this.calculateVolatility=function(){if(s.Std.close(this._context)===this.bars[this.bars.length-1])return this.lastSar;if(this.bars.push(s.Std.close(this._context)),1===this.count)this.atr=s.Std.high(this._context)-s.Std.low(this._context),this.sic=s.Std.close(this._context);else if(this.countthis.sic&&(this.sic=s.Std.close(this._context))}else if(this.count===this.period){e=s.Std.high(this._context)-s.Std.low(this._context),t=s.Std.high(this._context)-this.bars[this.bars.length-2],i=this.bars[this.bars.length-2]-s.Std.low(this._context);this.atr+=Math.max(e,t,i),this.atr*=1/this.period,s.Std.close(this._context)>this.sic&&(this.sic=s.Std.close(this._context)),this.position="LONG",this.nextsar=this.sic-this.atr*this.atrMult}else{var r=this.nextsar;"LONG"===this.position?s.Std.close(this._context)r?(this.position="LONG",this.sic=s.Std.close(this._context),this.nextsar=this.sic-this.computeATR()):(this.position="SHORT",this.sic=Math.min(s.Std.close(this._context),this.sic),this.nextsar=this.sic+this.computeATR())),this.lastSar=r}return this.count++,r},this.main=function(e,t){return this._context=e,this._input=t,this._context.select_sym(0),[this.calculateVolatility()]}}},{name:"VWAP",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:0,transparency:0,visible:!0,color:"#2196F3"}}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"VWAP",histogramBase:0,joinPoints:!1,isHidden:!1}},description:"VWAP",shortDescription:"VWAP",is_price_study:!0,inputs:[],id:"VWAP@tv-basicstudies-1",scriptIdPart:"",name:"VWAP",format:{type:"inherit"}},constructor:function(){this.f_1=function(e){e.hist=null,e.add_hist()},this.init=function(e,t){this._isNewSession=null},this.main=function(e,t){this._context=e,this._input=t;var i=e.new_var(),r=e.new_var(),n=this._context.symbol.time;return n&&(null===this._isNewSession&&(this._isNewSession=s.Std.createNewSessionCheck(e)),this._isNewSession(n)&&(this.f_1(i),this.f_1(r))),i.set(s.Std.nz(i.get(1))+s.Std.hlc3(this._context)*s.Std.volume(this._context)),r.set(s.Std.nz(r.get(1))+s.Std.volume(this._context)),[i.get(0)/r.get(0)]}}},{name:"VWMA",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},inputs:{in_0:20}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"VWMA",shortDescription:"VWMA",is_price_study:!0,inputs:[{id:"in_0",name:"len",defval:20,type:"integer",min:1,max:1e4}],id:"VWMA@tv-basicstudies-1",scriptIdPart:"",name:"VWMA",format:{type:"inherit"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=s.Std.close(this._context),r=this._input(0),n=this._context.new_var(i);return[s.Std.vwma(n,r,this._context)]}}},{name:"Volume Oscillator",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{ +linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:0}],inputs:{in_0:5,in_1:10}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Volume Oscillator",shortDescription:"Volume Osc",is_price_study:!1,bands:[{id:"hline_0",name:"Zero"}],inputs:[{id:"in_0",name:"shortlen",defval:5,type:"integer",min:1,max:4999},{id:"in_1",name:"longlen",defval:10,type:"integer",min:1,max:4999}],id:"Volume Oscillator@tv-basicstudies-1",scriptIdPart:"",name:"Volume Oscillator",format:{precision:2,type:"percent"}},constructor:function(){this.f_0=function(e,t){return 100*(e-t)/t},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=this._input(1),n=s.Std.volume(this._context),o=this._context.new_var(n),a=s.Std.ema(o,i,this._context),l=this._context.new_var(n),c=s.Std.ema(l,r,this._context);return[this.f_0(a,c)]}}},{name:"Vortex Indicator",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#E91E63"}},inputs:{in_0:14}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"}],styles:{plot_0:{title:"VI +",histogramBase:0,joinPoints:!1,isHidden:!1},plot_1:{title:"VI -",histogramBase:0,joinPoints:!1,isHidden:!1}},description:"Vortex Indicator",shortDescription:"VI",is_price_study:!1,is_hidden_study:!1,id:"vortex_indicator@tv-basicstudies-1",inputs:[{id:"in_0",name:"Period",defval:14,type:"integer",min:2,max:1e12}],scriptIdPart:"",name:"Vortex Indicator",format:{precision:4,type:"price"}},constructor:function(){this.f_0=function(){var e=this._input(0),t=this._context.new_var(s.Std.low(this._context)),i=this._context.new_var(s.Std.abs(s.Std.high(this._context)-t.get(1))),r=s.Std.sum(i,e,this._context),n=this._context.new_var(s.Std.high(this._context)),o=this._context.new_var(s.Std.abs(s.Std.low(this._context)-n.get(1))),a=s.Std.sum(o,e,this._context),l=this._context.new_var(s.Std.atr(1,this._context)),c=s.Std.sum(l,e,this._context);return[r/c,a/c]},this.main=function(e,t){return this._context=e,this._input=t,this.f_0()}}},{name:"Willams %R",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#7E57C2"}},bands:[{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:-20},{color:"#787B86",linestyle:2,linewidth:1,visible:!0,value:-80}],filledAreasStyle:{fill_0:{color:"#7E57C2",transparency:90,visible:!0}},inputs:{in_0:14}},plots:[{id:"plot_0",type:"line"}],styles:{plot_0:{title:"Plot",histogramBase:0,joinPoints:!1}},description:"Williams %R",shortDescription:"%R",is_price_study:!1,bands:[{id:"hline_0",name:"UpperLimit"},{id:"hline_1",name:"LowerLimit"}],filledAreas:[{id:"fill_0",objAId:"hline_0",objBId:"hline_1", +type:"hline_hline",title:"Hlines Background"}],inputs:[{id:"in_0",name:"length",defval:14,type:"integer",min:1,max:2e3}],id:"Willams %R@tv-basicstudies-1",scriptIdPart:"",name:"Willams %R",format:{precision:2,type:"price"}},constructor:function(){this.f_0=function(e,t,i){return 100*(e-t)/(t-i)},this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=s.Std.high(this._context),n=this._context.new_var(r),o=s.Std.highest(n,i,this._context),a=s.Std.low(this._context),l=this._context.new_var(a),c=s.Std.lowest(l,i,this._context);return[this.f_0(s.Std.close(this._context),o,c)]}}},{name:"Williams Alligator",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,defaults:{styles:{plot_0:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#2196F3"},plot_1:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#E91E63"},plot_2:{linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0,color:"#66BB6A"}},inputs:{in_0:21,in_1:13,in_2:8}},plots:[{id:"plot_0",type:"line"},{id:"plot_1",type:"line"},{id:"plot_2",type:"line"}],styles:{plot_0:{title:"Jaw",histogramBase:0,joinPoints:!1},plot_1:{title:"Teeth",histogramBase:0,joinPoints:!1},plot_2:{title:"Lips",histogramBase:0,joinPoints:!1}},description:"Williams Alligator",shortDescription:"Alligator",is_price_study:!0,inputs:[{id:"in_0",name:"jawLength",defval:21,type:"integer",min:1,max:2e3},{id:"in_1",name:"teethLength",defval:13,type:"integer",min:1,max:2e3},{id:"in_2",name:"lipsLength",defval:8,type:"integer",min:1,max:2e3}],id:"Williams Alligator@tv-basicstudies-1",scriptIdPart:"",name:"Williams Alligator",format:{type:"inherit"}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=this._input(0),r=this._input(1),n=this._input(2),o=s.Std.hl2(this._context),a=this._context.new_var(o),l=s.Std.ema(a,i,this._context),c=this._context.new_var(o),h=s.Std.ema(c,r,this._context),u=this._context.new_var(o);return[{value:l,offset:8},{value:h,offset:5},{value:s.Std.ema(u,n,this._context),offset:3}]}}},{name:"Williams Fractals",metainfo:{_metainfoVersion:52,isTVScript:!1,isTVScriptStub:!1,defaults:{styles:{plot_0:{plottype:"shape_triangle_down",visible:!0,location:"BelowBar",transparency:0,color:"#F44336"},plot_1:{plottype:"shape_triangle_up",visible:!0,location:"AboveBar",transparency:0,color:"#009688"}},inputs:{in_0:2}},plots:[{id:"plot_0",type:"shapes"},{id:"plot_1",type:"shapes"}],styles:{plot_0:{title:"Down fractals",isHidden:!1},plot_1:{title:"Up fractals",isHidden:!1}},description:"Williams Fractal",shortDescription:"Fractals",is_price_study:!0,is_hidden_study:!1,id:"Williams Fractals@tv-basicstudies-1",inputs:[{id:"in_0",name:"Periods",defval:2,type:"integer",min:2,max:1e12}],scriptIdPart:"",name:"Williams Fractals",isCustomIndicator:!0,format:{type:"inherit"}},constructor:function(){this.f_0=function(){ +for(var e=this._input(0),t=this._context.new_var(s.Std.high(this._context)),i=!0,r=!0,n=!0,o=!0,a=!0,l=!0,c=1;c<=e;c++)i=s.Std.and(i,s.Std.lt(t.get(e-c),t.get(e))),r=s.Std.and(r,s.Std.lt(t.get(e+c),t.get(e))),n=s.Std.and(n,s.Std.and(s.Std.le(t.get(e+1),t.get(e)),s.Std.lt(t.get(e+c+1),t.get(e)))),o=s.Std.and(o,s.Std.and(s.Std.le(t.get(e+1),t.get(e)),s.Std.and(s.Std.le(t.get(e+2),t.get(e)),s.Std.lt(t.get(e+c+2),t.get(e))))),a=s.Std.and(a,s.Std.and(s.Std.le(t.get(e+1),t.get(e)),s.Std.and(s.Std.le(t.get(e+2),t.get(e)),s.Std.and(s.Std.le(t.get(e+3),t.get(e)),s.Std.lt(t.get(e+c+3),t.get(e)))))),l=s.Std.and(l,s.Std.and(s.Std.le(t.get(e+1),t.get(e)),s.Std.and(s.Std.le(t.get(e+2),t.get(e)),s.Std.and(s.Std.le(t.get(e+3),t.get(e)),s.Std.and(s.Std.le(t.get(e+4),t.get(e)),s.Std.lt(t.get(e+c+4),t.get(e)))))));var h=s.Std.or(r,s.Std.or(n,s.Std.or(o,s.Std.or(a,l)))),u=s.Std.and(i,h),d=this._context.new_var(s.Std.low(this._context)),p=1,_=1,m=1,f=1,g=1,v=1;for(c=1;c<=e;c++)p=s.Std.and(p,s.Std.gt(d.get(e-c),d.get(e))),_=s.Std.and(_,s.Std.gt(d.get(e+c),d.get(e))),m=s.Std.and(m,s.Std.and(s.Std.ge(d.get(e+1),d.get(e)),s.Std.gt(d.get(e+c+1),d.get(e)))),f=s.Std.and(f,s.Std.and(s.Std.ge(d.get(e+1),d.get(e)),s.Std.and(s.Std.ge(d.get(e+2),d.get(e)),s.Std.gt(d.get(e+c+2),d.get(e))))),g=s.Std.and(g,s.Std.and(s.Std.ge(d.get(e+1),d.get(e)),s.Std.and(s.Std.ge(d.get(e+2),d.get(e)),s.Std.and(s.Std.ge(d.get(e+3),d.get(e)),s.Std.gt(d.get(e+c+3),d.get(e)))))),v=s.Std.and(v,s.Std.and(s.Std.ge(d.get(e+1),d.get(e)),s.Std.and(s.Std.ge(d.get(e+2),d.get(e)),s.Std.and(s.Std.ge(d.get(e+3),d.get(e)),s.Std.and(s.Std.ge(d.get(e+4),d.get(e)),s.Std.gt(d.get(e+c+4),d.get(e)))))));var b=s.Std.or(_,s.Std.or(m,s.Std.or(f,s.Std.or(g,v))));return[s.Std.and(p,b),u]},this.main=function(e,t){this._context=e,this._input=t;var i=this.f_0();return[{value:i[0],offset:-this._input(0)},{value:i[1],offset:-this._input(0)}]}}},{name:"Guppy Multiple Moving Average",metainfo:{isTVScript:!1,isTVScriptStub:!1,is_hidden_study:!1,description:"Guppy Multiple Moving Average",shortDescription:"GMMA",is_price_study:!0,id:"Guppy Multiple Moving Average@tv-basicstudies-1",_metainfoVersion:52,format:{type:"inherit"},defaults:{inputs:{traderEMA1Length:3,traderEMA2Length:5,traderEMA3Length:8,traderEMA4Length:10,traderEMA5Length:12,traderEMA6Length:15,investorEMA1Length:30,investorEMA2Length:35,investorEMA3Length:40,investorEMA4Length:45,investorEMA5Length:50,investorEMA6Length:60},styles:{traderEMA1:{color:"#00FFFF",linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:15,visible:!0},traderEMA2:{color:"#00FFFF",linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:12,visible:!0},traderEMA5:{color:"#FF0000",linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:3,visible:!0},investorEMA6:{color:"#FF0000",linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0},traderEMA3:{color:"#00FFFF",linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:9,visible:!0},traderEMA4:{color:"#00FFFF",linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:6, +visible:!0},traderEMA5:{color:"#00FFFF",linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:3,visible:!0},traderEMA6:{color:"#00FFFF",linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:0,visible:!0},investorEMA1:{color:"#FF0000",linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:15,visible:!0},investorEMA2:{color:"#FF0000",linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:12,visible:!0},investorEMA3:{color:"#FF0000",linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:9,visible:!0},investorEMA4:{color:"#FF0000",linestyle:0,linewidth:1,plottype:0,trackPrice:!1,transparency:6,visible:!0}}},inputs:[{defval:3,id:"traderEMA1Length",max:1e3,min:1,name:"Trader EMA 1 length",type:"integer"},{defval:5,id:"traderEMA2Length",max:1e3,min:1,name:"Trader EMA 2 length",type:"integer"},{defval:8,id:"traderEMA3Length",max:1e3,min:1,name:"Trader EMA 3 length",type:"integer"},{defval:10,id:"traderEMA4Length",max:1e3,min:1,name:"Trader EMA 4 length",type:"integer"},{defval:12,id:"traderEMA5Length",max:1e3,min:1,name:"Trader EMA 5 length",type:"integer"},{defval:15,id:"traderEMA6Length",max:1e3,min:1,name:"Trader EMA 6 length",type:"integer"},{defval:30,id:"investorEMA1Length",max:1e3,min:1,name:"Investor EMA 1 length",type:"integer"},{defval:35,id:"investorEMA2Length",max:1e3,min:1,name:"Investor EMA 2 length",type:"integer"},{defval:40,id:"investorEMA3Length",max:1e3,min:1,name:"Investor EMA 3 length",type:"integer"},{defval:45,id:"investorEMA4Length",max:1e3,min:1,name:"Investor EMA 4 length",type:"integer"},{defval:50,id:"investorEMA5Length",max:1e3,min:1,name:"Investor EMA 5 length",type:"integer"},{defval:60,id:"investorEMA6Length",max:1e3,min:1,name:"Investor EMA 6 length",type:"integer"}],plots:[{id:"traderEMA1",type:"line"},{id:"traderEMA2",type:"line"},{id:"traderEMA3",type:"line"},{id:"traderEMA4",type:"line"},{id:"traderEMA5",type:"line"},{id:"traderEMA6",type:"line"},{id:"investorEMA1",type:"line"},{id:"investorEMA2",type:"line"},{id:"investorEMA3",type:"line"},{id:"investorEMA4",type:"line"},{id:"traderEMA5",type:"line"},{id:"investorEMA6",type:"line"}],styles:{traderEMA1:{histogramBase:0,isHidden:!1,joinPoints:!1,title:"Trader EMA 1"},traderEMA2:{histogramBase:0,isHidden:!1,joinPoints:!1,title:"Trader EMA 2"},traderEMA3:{histogramBase:0,isHidden:!1,joinPoints:!1,title:"Trader EMA 3"},traderEMA4:{histogramBase:0,isHidden:!1,joinPoints:!1,title:"Trader EMA 4"},traderEMA5:{histogramBase:0,isHidden:!1,joinPoints:!1,title:"Trader EMA 5"},traderEMA6:{histogramBase:0,isHidden:!1,joinPoints:!1,title:"Trader EMA 6"},investorEMA1:{histogramBase:0,isHidden:!1,joinPoints:!1,title:"Investor EMA 1"},investorEMA2:{histogramBase:0,isHidden:!1,joinPoints:!1,title:"Investor EMA 2"},investorEMA3:{histogramBase:0,isHidden:!1,joinPoints:!1,title:"Investor EMA 3"},investorEMA4:{histogramBase:0,isHidden:!1,joinPoints:!1,title:"Investor EMA 4"},investorEMA5:{histogramBase:0,isHidden:!1,joinPoints:!1,title:"Investor EMA 5"},investorEMA6:{histogramBase:0,isHidden:!1,joinPoints:!1, +title:"Investor EMA 6"}}},constructor:function(){this.main=function(e,t){this._context=e,this._input=t;var i=this._context.new_var(s.Std.close(this._context)),r=this._input(0),n=this._input(1),o=this._input(2),a=this._input(3),l=this._input(4),c=this._input(5),h=s.Std.ema(i,r,this._context),u=s.Std.ema(i,n,this._context),d=s.Std.ema(i,o,this._context),p=s.Std.ema(i,a,this._context),_=s.Std.ema(i,l,this._context),m=s.Std.ema(i,c,this._context),f=this._input(6),g=this._input(7),v=this._input(8),b=this._input(9),S=this._input(10),y=this._input(11);return[h,u,d,p,_,m,s.Std.ema(i,f,this._context),s.Std.ema(i,g,this._context),s.Std.ema(i,v,this._context),s.Std.ema(i,b,this._context),s.Std.ema(i,S,this._context),s.Std.ema(i,y,this._context)]}}}]},"2h0C":function(e,t,i){var s=i("txPx").getLogger("Chart.PropertyPage.Binding");function r(e,t,i,r,n,o){e?(this._control=e,this._property=t,this._applyOnFly=i,this._undoModel=r,this._undoText=n,this._doesNotAffectSave=!1,t&&(this._formatters=[],this._changed=!1,this.setValue(t.value()),t.subscribe(this,this.propertyChanged))):s.logDebug("Missing control")}r.prototype.addFormatter=function(e){this._formatters.push(e),this.setValue(this._property.value())},r.prototype._formatValue=function(e){return this._formatters.reduce((function(e,t){return t(e)}),e)},r.prototype._setValueToProperty=function(e){this._setter?this._setter.call(this,e):this.setValueToProperty(e)},r.prototype._attachToControl=function(e,t){var i=this;t?e.on("keyup change input",(function(e){var t=i.value();i._setValueToProperty(t),i.setValue(t)})):(e.keypress((function(e){if(i._changed=!0,13===e.which){var t=i.value();i._setValueToProperty(t),i.setValue(t)}})),e.focusout((function(e){var t=i.value();i.changed()&&(i._setValueToProperty(t),i.setValue(t))})),e.change((function(e){var t=i.value();$(e.target).is(".ticker")?(void 0!==i._changeTimerId&&clearTimeout(i._changeTimerId),i._changeTimerId=setTimeout((function(){i._setValueToProperty(t)}),250)):i._setValueToProperty(t),i.setValue(t)})))},r.prototype.control=function(){return this._control},r.prototype.changed=function(){return this._changed},r.prototype.setValueToProperty=function(e){this._undoModel.setProperty(this._property,e,this._undoText,this._doesNotAffectSave),this._changed=!1},r.prototype.property=function(){return this._property},r.prototype.propertyChanged=function(e){this.setValue(e.value())},r.prototype.destroy=function(){this._property&&this._property.unsubscribe(this,this.propertyChanged)},r.prototype.disableAffectingSave=function(){this._doesNotAffectSave=!0},t.Binding=r},"2ijp":function(e,t,i){"use strict";i.d(t,"a",(function(){return n}));var s=i("l4sv"),r=i("8Uy/");class n{constructor(){this._lineRendererData={y:0,color:"rgba(0, 0, 0, 0)",linewidth:1,linestyle:r.LINESTYLE_SOLID,visible:!1},this._lineRenderer=new s.HorizontalLineRenderer,this._invalidated=!0,this._lineRenderer.setData(this._lineRendererData)}update(){this._invalidated=!0}renderer(){return this._invalidated&&(this._updateImpl(),this._invalidated=!1),this._lineRenderer}}}, +"2jXJ":function(e,t,i){"use strict";i.r(t),i.d(t,"supportedLineTools",(function(){return s}));const s={cursor:{name:"cursor",onlySelectable:!0},dot:{name:"dot",onlySelectable:!0},arrow_cursor:{name:"arrow",onlySelectable:!0},eraser:{name:"eraser",onlySelectable:!0},measure:{name:"measure",onlySelectable:!0},zoom:{name:"zoom",onlySelectable:!0},brush:{name:"LineToolBrush"},highlighter:{name:"LineToolHighlighter"},text:{name:"LineToolText"},anchored_text:{name:"LineToolTextAbsolute"},note:{name:"LineToolNote"},anchored_note:{name:"LineToolNoteAbsolute"},signpost:{name:"LineToolSignpost"},callout:{name:"LineToolCallout"},balloon:{name:"LineToolBalloon"},arrow_up:{name:"LineToolArrowMarkUp"},arrow_down:{name:"LineToolArrowMarkDown"},arrow_left:{name:"LineToolArrowMarkLeft"},arrow_right:{name:"LineToolArrowMarkRight"},price_label:{name:"LineToolPriceLabel"},price_note:{name:"LineToolPriceNote"},arrow_marker:{name:"LineToolArrowMarker"},flag:{name:"LineToolFlagMark"},vertical_line:{name:"LineToolVertLine"},horizontal_line:{name:"LineToolHorzLine"},cross_line:{name:"LineToolCrossLine"},horizontal_ray:{name:"LineToolHorzRay"},trend_line:{name:"LineToolTrendLine"},info_line:{name:"LineToolInfoLine"},trend_angle:{name:"LineToolTrendAngle"},arrow:{name:"LineToolArrow"},ray:{name:"LineToolRay"},extended:{name:"LineToolExtended"},parallel_channel:{name:"LineToolParallelChannel"},disjoint_angle:{name:"LineToolDisjointAngle"},flat_bottom:{name:"LineToolFlatBottom"},pitchfork:{name:"LineToolPitchfork"},schiff_pitchfork_modified:{name:"LineToolSchiffPitchfork"},schiff_pitchfork:{name:"LineToolSchiffPitchfork2"},inside_pitchfork:{name:"LineToolInsidePitchfork"},pitchfan:{name:"LineToolPitchfan"},gannbox:{name:"LineToolGannSquare"},gannbox_square:{name:"LineToolGannComplex"},gannbox_fixed:{name:"LineToolGannFixed"},gannbox_fan:{name:"LineToolGannFan"},fib_retracement:{name:"LineToolFibRetracement"},fib_trend_ext:{name:"LineToolTrendBasedFibExtension"},fib_speed_resist_fan:{name:"LineToolFibSpeedResistanceFan"},fib_timezone:{name:"LineToolFibTimeZone"},fib_trend_time:{name:"LineToolTrendBasedFibTime"},fib_circles:{name:"LineToolFibCircles"},fib_spiral:{name:"LineToolFibSpiral"},fib_speed_resist_arcs:{name:"LineToolFibSpeedResistanceArcs"},fib_wedge:{name:"LineToolFibWedge"},fib_channel:{name:"LineToolFibChannel"},xabcd_pattern:{name:"LineTool5PointsPattern"},cypher_pattern:{name:"LineToolCypherPattern"},abcd_pattern:{name:"LineToolABCD"},triangle_pattern:{name:"LineToolTrianglePattern"},"3divers_pattern":{name:"LineToolThreeDrivers"},head_and_shoulders:{name:"LineToolHeadAndShoulders"},elliott_impulse_wave:{name:"LineToolElliottImpulse"},elliott_triangle_wave:{name:"LineToolElliottTriangle"},elliott_triple_combo:{name:"LineToolElliottTripleCombo"},elliott_correction:{name:"LineToolElliottCorrection"},elliott_double_combo:{name:"LineToolElliottDoubleCombo"},cyclic_lines:{name:"LineToolCircleLines"},time_cycles:{name:"LineToolTimeCycles"},sine_line:{name:"LineToolSineLine"},long_position:{name:"LineToolRiskRewardLong"},short_position:{ +name:"LineToolRiskRewardShort"},forecast:{name:"LineToolPrediction"},date_range:{name:"LineToolDateRange"},price_range:{name:"LineToolPriceRange"},date_and_price_range:{name:"LineToolDateAndPriceRange"},bars_pattern:{name:"LineToolBarsPattern"},ghost_feed:{name:"LineToolGhostFeed"},projection:{name:"LineToolProjection"},rectangle:{name:"LineToolRectangle"},rotated_rectangle:{name:"LineToolRotatedRectangle"},ellipse:{name:"LineToolEllipse"},triangle:{name:"LineToolTriangle"},polyline:{name:"LineToolPolyline"},path:{name:"LineToolPath"},curve:{name:"LineToolBezierQuadro"},double_curve:{name:"LineToolBezierCubic"},arc:{name:"LineToolArc"},icon:{name:"LineToolIcon"}}},"2kV1":function(e,t,i){"use strict";i.r(t),i.d(t,"StudyStatusView",(function(){return r}));var s=i("nBJD");class r extends s.a{constructor(e){super(e.statusProvider({}))}color(){return this._statusProvider.color()}getSplitTitle(){return this._statusProvider.getSplitTitle()}update(){this._text=this._statusProvider.text()}}},"2uTr":function(e,t,i){"use strict";function s(e){return e+"…"}i.r(t),i.d(t,"appendEllipsis",(function(){return s}))},"3/8U":function(e,t,i){"use strict";function s(e){return"dark"===e?"rgba(30,136,229,0.25)":"rgba(33,150,243,0.25)"}i.r(t),i.d(t,"axesHighlightColor",(function(){return s}))},"38az":function(e,t,i){"use strict";var s=i("k9/m").PlotRowSearchMode,r=i("Tmoa").rgbaFromInteger;function n(){this.backColorers=[]}function o(e){n.call(this),this._series=e}function a(e,t){n.call(this),this._study=e,this._plotIndex=t}n.prototype.barStyle=function(e,t,i){for(var s={},r=this.backColorers.length-1;r>=0;r--)this.backColorers[r].applyBarStyle(e,t,s,i);return this.applyBarStyle(e,t,s,i),s},n.prototype.pushBackBarColorer=function(e){this.backColorers.push(e)},n.prototype.applyBarStyle=function(e,t,i){throw new Error("This function is supposed to be reimplemented in a subclass")},inherit(o,n),o.upColor=function(e,t){switch(e.style.value()){case TradingView.Series.STYLE_LINE:return e.lineStyle.color.value();case TradingView.Series.STYLE_AREA:return e.areaStyle.linecolor.value();case TradingView.Series.STYLE_BARS:return e.barStyle.upColor.value();case TradingView.Series.STYLE_CANDLES:return e.candleStyle.upColor.value();case TradingView.Series.STYLE_HOLLOW_CANDLES:return e.hollowCandleStyle.upColor.value();case TradingView.Series.STYLE_HEIKEN_ASHI:return e.haStyle.upColor.value();case TradingView.Series.STYLE_BASELINE:return e.baselineStyle.topLineColor.value();case TradingView.Series.STYLE_HILO:return e.hiloStyle.color.value()}throw new Error("Unknown series style")},o.downColor=function(e,t){switch(e.style.value()){case TradingView.Series.STYLE_LINE:return e.lineStyle.color.value();case TradingView.Series.STYLE_AREA:return e.areaStyle.linecolor.value();case TradingView.Series.STYLE_BARS:return e.barStyle.downColor.value();case TradingView.Series.STYLE_CANDLES:return e.candleStyle.downColor.value();case TradingView.Series.STYLE_HOLLOW_CANDLES:return e.hollowCandleStyle.downColor.value();case TradingView.Series.STYLE_HEIKEN_ASHI: +return e.haStyle.downColor.value();case TradingView.Series.STYLE_BASELINE:return e.baselineStyle.bottomLineColor.value();case TradingView.Series.STYLE_HILO:return e.hiloStyle.color.value()}throw new Error("Unknown series style")},o.prototype._applyLineStyle=function(e,t,i,s,r){i.barColor=o.upColor(r)},o.prototype._applyAreaStyle=function(e,t,i,s,r){i.barColor=o.upColor(r)},o.prototype._applyBarStyle=function(e,t,i,s,r){var n=o.upColor(r),a=o.downColor(r),l=this.findBar(e,!1,s);if(r.barStyle.barColorsOnPrevClose.value()){var c=this.findPrevBar(e,!1,s);i.barColor=c[TradingView.CLOSE_PLOT]<=l[TradingView.CLOSE_PLOT]?n:a,i.barBorderColor=c[TradingView.CLOSE_PLOT]<=l[TradingView.CLOSE_PLOT]?n:a}else i.barColor=l[TradingView.OPEN_PLOT]<=l[TradingView.CLOSE_PLOT]?n:a,i.barBorderColor=l[TradingView.OPEN_PLOT]<=l[TradingView.CLOSE_PLOT]?n:a},o.prototype._applyCandleStyle=function(e,t,i,s,r){var n,a=o.upColor(r,t),l=o.downColor(r,t),c=r.candleStyle.borderUpColor?r.candleStyle.borderUpColor.value():r.candleStyle.borderColor.value(),h=r.candleStyle.borderDownColor?r.candleStyle.borderDownColor.value():r.candleStyle.borderColor.value(),u=r.candleStyle.wickUpColor?r.candleStyle.wickUpColor.value():r.candleStyle.wickColor.value(),d=r.candleStyle.wickDownColor?r.candleStyle.wickDownColor.value():r.candleStyle.wickColor.value(),p=this.findBar(e,!1,s);r.candleStyle.barColorsOnPrevClose.value()?n=this.findPrevBar(e,!1,s)[TradingView.CLOSE_PLOT]<=p[TradingView.CLOSE_PLOT]:n=p[TradingView.OPEN_PLOT]<=p[TradingView.CLOSE_PLOT];i.barColor=n?a:l,i.barBorderColor=n?c:h,i.barWickColor=n?u:d},o.prototype._applyHollowCandleStyle=function(e,t,i,s,r){var n=o.upColor(r,t),a=o.downColor(r,t),l=r.hollowCandleStyle.borderUpColor?r.hollowCandleStyle.borderUpColor.value():r.hollowCandleStyle.borderColor.value(),c=r.hollowCandleStyle.borderDownColor?r.hollowCandleStyle.borderDownColor.value():r.hollowCandleStyle.borderColor.value(),h=r.hollowCandleStyle.wickUpColor?r.hollowCandleStyle.wickUpColor.value():r.hollowCandleStyle.wickColor.value(),u=r.hollowCandleStyle.wickDownColor?r.hollowCandleStyle.wickDownColor.value():r.hollowCandleStyle.wickColor.value(),d=this.findBar(e,!1,s);this.findPrevBar(e,!1,s)[TradingView.CLOSE_PLOT]<=d[TradingView.CLOSE_PLOT]?(i.barColor=n,i.barBorderColor=l,i.barWickColor=h):(i.barColor=a,i.barBorderColor=c,i.barWickColor=u),i.isBarHollow=d[TradingView.OPEN_PLOT]<=d[TradingView.CLOSE_PLOT]},o.prototype._applyHAStyle=function(e,t,i,s,r){var n,a=o.upColor(r,t),l=o.downColor(r,t),c=r.haStyle.borderUpColor.value(),h=r.haStyle.borderDownColor.value(),u=r.haStyle.wickUpColor.value(),d=r.haStyle.wickDownColor.value(),p=this.findBar(e,t,s);r.haStyle.barColorsOnPrevClose.value()?n=this.findPrevBar(e,t,s)[TradingView.CLOSE_PLOT]<=p[TradingView.CLOSE_PLOT]:n=p[TradingView.OPEN_PLOT]<=p[TradingView.CLOSE_PLOT];i.barColor=n?a:l,i.barBorderColor=n?c:h,i.barWickColor=n?u:d},o.prototype._applyBaseLineStyle=function(e,t,i,s,r){ +var n=this.findBar(e,t,s),a=r.baselineStyle,l=this._series.priceScale(),c=Math.round(l.height()*(Math.abs(100-a.baseLevelPercentage.value())/100)),h=this._series.firstValue(),u=l.coordinateToPrice(c,h);n[TradingView.CLOSE_PLOT]>u?i.barColor=o.upColor(r,t):i.barColor=o.downColor(r,t)},o.prototype._applyHiLoStyle=function(e,t,i,s,r){i.barColor=o.upColor(r,t),i.barBorderColor=r.hiloStyle.borderColor.value()},o.prototype.applyBarStyle=function(e,t,i,s){i||(i={}),i.barColor=null,i.barBorderColor=null,i.barWickColor=null,i.isBarHollow=null,i.isBarUp=null,i.upColor=null,i.downColor=null,i.isTwoColorBar=null,i.isMergedBar=null;var r=this._series.properties();switch(r.style.value()){case TradingView.Series.STYLE_LINE:this._applyLineStyle(e,t,i,s,r);break;case TradingView.Series.STYLE_AREA:this._applyAreaStyle(e,t,i,s,r);break;case TradingView.Series.STYLE_BARS:this._applyBarStyle(e,t,i,s,r);break;case TradingView.Series.STYLE_CANDLES:this._applyCandleStyle(e,t,i,s,r);break;case TradingView.Series.STYLE_HOLLOW_CANDLES:this._applyHollowCandleStyle(e,t,i,s,r);break;case TradingView.Series.STYLE_HEIKEN_ASHI:this._applyHAStyle(e,t,i,s,r);break;case TradingView.Series.STYLE_BASELINE:this._applyBaseLineStyle(e,t,i,s,r);break;case TradingView.Series.STYLE_HILO:this._applyHiLoStyle(e,t,i,s,r)}return i},o.prototype.getSeriesBars=function(e){return e?this._series.nsBars():this._series.bars()},o.prototype._findBarFieldValue=function(e,t,i){var s=this.getSeriesBars(i).valueAt(e);if(null!==s)return s[t]},o.prototype.findBar=function(e,t,i){return i?i.value:this.getSeriesBars(t).valueAt(e)||[]},o.prototype.findPrevBar=function(e,t,i){if(i&&i.previousValue)return i.previousValue;var r=this._series.bars().search(e-1,s.NearestLeft,TradingView.CLOSE_PLOT);return null!==r?r.value:[]},inherit(a,n),a.prototype.getBars=function(){return this._study.series().bars()},a.prototype.firstColoredBar=function(e){for(var t=e,i=0;ie+l)return i;var c=s.styles[a.id];if(c.visible&&!c.visible.value())return i;var h=o.valueAt(e-l);if(null===h)return i;var u=h[this._plotIndex+1];if(null==u)return i;if(u=Math.round(u),n.isRGB)i.barColor=r(u),i.upColor=i.barColor,i.downColor=i.barColor;else{var d=n.plots[this._plotIndex].palette,p=s.palettes[d],_=n.palettes[d].valToIndex?n.palettes[d].valToIndex[u]:u,m=p.colors[_].color.value();i.barColor=m,i.upColor=m.color,i.downColor=m.color}return i},t.SeriesBarColorer=o,t.StudyBarColorer=a},"3ClC":function(e,t,i){ +"use strict";i.r(t);var s=i("0YCj"),r=i.n(s),n=i("GVHu"),o=i("PL0c"),a=i("cKqi"),l=i("YzC7"),c=i("TMWk"),h=i("8sOK");class u extends n.Study{constructor(e,t,i,s){super(e,t,i,s),this.properties().styles.vol_ma.visible.listeners().subscribe(this,()=>this.invalidateTitleCache())}base(){return 1}destroy(){this.properties().styles.vol_ma.visible.listeners().unsubscribeAll(this),super.destroy()}_titleInputs(){const e={symbolsForDisplay:!0,skipHiddenInputs:!0,fakeInputsForDisplay:!0,asObject:!1};return this.properties().styles.vol_ma.visible.value()?this.inputs(e):this.inputs(Object.assign(Object.assign({},e),{skippedInputs:["length"]}))}}var d=i("Eyy1"),p=i("Qb4w");class _ extends n.Study{priceRange(e,t){let i=!1;this.graphics().hhists().forEach((e,t)=>{i=i||this.properties().child("graphics").child("hhists").child(t).child("showValues").value()});const s=function(e,t,i,s){let r=null;return e.forEach((e,s)=>{e.forEach(e=>{e.firstBarTime<=i&&e.lastBarTime>=t&&(null===r?r={low:{l:e.priceLow,h:e.priceHigh},high:{h:e.priceHigh}}:(e.priceLow0?1:-1,n=i.y+i.vertOffset-r*Math.round(this._heightEnsured/2);let o;o=i.style&&void 0!==i.style.color?i.style.color:this._color,this._charCache.paintTo(e,t,o,s,n,m.a.Center,i.vertOffset>0?m.c.Top:m.c.Bottom)}_startPath(e,t,i,s){}_endPath(e){}}var g=i("GSwP");i.d(t,"StudyPlotCharsPaneView",(function(){return v}));class v extends g.a{renderer(){const e=this._study.properties().styles[this._plotName];if(!e.visible||!e.visible.value())return null;if(!this._scalesReady())return null;const t=this._model.timeScale();this._invalidated&&(this._updateImpl(),this._invalidated=!1);const i={},a=this._getTranspValue(),l=t.barSpacing();let c;if(e.size){const t=e.size.value();c=this._calculateShapeHeight(50,t)}else c=Math.round(l);const h=e.location.value(),u=Object(r.generateColor)(e.color.value(),a),d=this._calculateVerticalOffset(h,c);i.items=this.items(),i.barSpacing=l,i.char=e.char.value(),i.height=c,i.vertOffset=d,i.color=u;const p=new n.CompositeRenderer,_=e.text?e.text.value():void 0;if(void 0!==_&&""!==_.trim()){let t=_.trim().replace(/\\n/gm,"\n");t=Object(s.cleanButAmpersand)(t,!0),i.text=t,i.fontSize=12;const n=e.textColor?e.textColor.value():void 0;i.textColor=n?Object(r.generateColor)(n,a):u}return p.append(new f(i)),this._model.selection().isSelected(this._study)&&this._isMarkersEnabled&&null!==this._selectionData&&(this._selectionData.vertOffset=d,p.append(new o.SelectionRenderer(this._selectionData))),p}}},"3UA0":function(e,t){e.exports.tzData={"America/New_York":{ +time:[-2717668562,-1633298400,-1615154400,-1601848800,-1583704800,-1570399200,-1551650400,-1536530400,-1523224800,-1504476e3,-1491775200,-1473026400,-1459720800,-1441576800,-1428271200,-1410127200,-1396821600,-1378677600,-1365372e3,-1347228e3,-1333922400,-1315173600,-1301868e3,-1283724e3,-1270418400,-1252274400,-1238968800,-1220824800,-1207519200,-1189375200,-1176069600,-1157320800,-114462e4,-1125871200,-1112565600,-1094421600,-1081116e3,-1062972e3,-1049666400,-1031522400,-1018216800,-1000072800,-986767200,-968018400,-955317600,-936568800,-923263200,-905119200,-891813600,-880236e3,-76941e4,-765410400,-747266400,-733960800,-715816800,-702511200,-684367200,-671061600,-652917600,-639612e3,-620863200,-608162400,-589413600,-576108e3,-557964e3,-544658400,-526514400,-513208800,-495064800,-481759200,-463615200,-447285600,-431560800,-415836e3,-400111200,-384386400,-368661600,-352936800,-337212e3,-321487200,-305762400,-289432800,-273708e3,-257983200,-242258400,-226533600,-210808800,-195084e3,-179359200,-163634400,-147909600,-13158e4,-11646e4,-100130400,-84405600,-68680800,-52956e3,-37231200,-21506400,-5781600,9943200,25668e3,41392800,57722400,73447200,89172e3,104896800,120621600,126669600,152071200,162352800,183520800,199245600,215575200,230695200,247024800,262749600,278474400,294199200,309924e3,325648800,341373600,357098400,372823200,388548e3,404877600,419997600,436327200,452052e3,467776800,483501600,499226400,514951200,530676e3,544586400,562125600,576036e3,59418e4,607485600,625629600,638935200,657079200,670989600,688528800,702439200,719978400,733888800,752032800,765338400,783482400,796788e3,814932e3,828842400,846381600,860292e3,877831200,891741600,909280800,923191200,941335200,954640800,972784800,986090400,1004234400,1018144800,1035684e3,1049594400,1067133600,1081044e3,1099188e3,1112493600,1130637600,1143943200,1162087200,1173578400,1194141600,1205028e3,1225591200,1236477600,1257040800,1268532e3,1289095200,1299981600,1320544800,1331431200,1351994400,1362880800,1383444e3,1394330400,1414893600,142578e4,1446343200,1457834400,1478397600,1489284e3,1509847200,1520733600,1541296800,1552183200,1572746400,1583632800,1604196e3,1615687200,1636250400,1647136800,16677e5,1678586400,1699149600,1710036e3,1730599200,1741485600,1762048800,1772935200,1793498400,1804989600,1825552800,1836439200,1857002400,1867888800,1888452e3,1899338400,1919901600,1930788e3], offset:[-17762,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3,-14400,-18e3]},"America/Los_Angeles":{ time:[-2717668378,-1633298400,-1615154400,-1601848800,-1583704800,-880236e3,-769420800,-765410400,-687995940,-662680800,-620866800,-608162400,-589417200,-576108e3,-557967600,-544658400,-526518e3,-513208800,-495068400,-481759200,-463618800,-450309600,-431564400,-418255200,-400114800,-386805600,-368665200,-355356e3,-337215600,-323906400,-305766e3,-292456800,-273711600,-261007200,-242262e3,-226533600,-210812400,-195084e3,-179362800,-163634400,-147913200,-13158e4,-116463600,-100130400,-84405600,-68680800,-52956e3,-37231200,-21506400,-5781600,9943200,25668e3,41392800,57722400,73447200,89172e3,104896800,120621600,126669600,152071200,162352800,183520800,199245600,215575200,230695200,247024800,262749600,278474400,294199200,309924e3,325648800,341373600,357098400,372823200,388548e3,404877600,419997600,436327200,452052e3,467776800,483501600,499226400,514951200,530676e3,544586400,562125600,576036e3,59418e4,607485600,625629600,638935200,657079200,670989600,688528800,702439200,719978400,733888800,752032800,765338400,783482400,796788e3,814932e3,828842400,846381600,860292e3,877831200,891741600,909280800,923191200,941335200,954640800,972784800,986090400,1004234400,1018144800,1035684e3,1049594400,1067133600,1081044e3,1099188e3,1112493600,1130637600,1143943200,1162087200,1173578400,1194141600,1205028e3,1225591200,1236477600,1257040800,1268532e3,1289095200,1299981600,1320544800,1331431200,1351994400,1362880800,1383444e3,1394330400,1414893600,142578e4,1446343200,1457834400,1478397600,1489284e3,1509847200,1520733600,1541296800,1552183200,1572746400,1583632800,1604196e3,1615687200,1636250400,1647136800,16677e5,1678586400,1699149600,1710036e3,1730599200,1741485600,1762048800,1772935200,1793498400,1804989600,1825552800,1836439200,1857002400,1867888800,1888452e3,1899338400,1919901600,1930788e3],offset:[-28378,-28800,-25200,-28800,-25200,-28800,-25200,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800,-25200,-28800]},"America/Chicago":{ time:[-2717668236,-1633298400,-1615154400,-1601848800,-1583704800,-1563746400,-1551650400,-1538949600,-1520200800,-1504476e3,-1491775200,-1473026400,-1459720800,-1441576800,-1428271200,-1410127200,-1396821600,-1378677600,-1365372e3,-1347228e3,-1333922400,-1315173600,-1301868e3,-1283724e3,-1270418400,-1252274400,-1238968800,-1220824800,-1207519200,-1189375200,-1176069600,-1157320800,-114462e4,-1125871200,-1112565600,-1094421600,-1081116e3,-1067810400,-1045432800,-1031522400,-1018216800,-1000072800,-986767200,-968018400,-955317600,-936568800,-923263200,-905119200,-891813600,-880236e3,-769413600,-765410400,-747266400,-733960800,-715816800,-702511200,-684367200,-671061600,-652917600,-639612e3,-620863200,-608162400,-589413600,-576108e3,-557964e3,-544658400,-526514400,-513208800,-495064800,-481759200,-463615200,-447285600,-431560800,-415836e3,-400111200,-384386400,-368661600,-352936800,-337212e3,-321487200,-305762400,-289432800,-273708e3,-257983200,-242258400,-226533600,-210808800,-195084e3,-179359200,-163634400,-147909600,-13158e4,-11646e4,-100130400,-84405600,-68680800,-52956e3,-37231200,-21506400,-5781600,9943200,25668e3,41392800,57722400,73447200,89172e3,104896800,120621600,126669600,152071200,162352800,183520800,199245600,215575200,230695200,247024800,262749600,278474400,294199200,309924e3,325648800,341373600,357098400,372823200,388548e3,404877600,419997600,436327200,452052e3,467776800,483501600,499226400,514951200,530676e3,544586400,562125600,576036e3,59418e4,607485600,625629600,638935200,657079200,670989600,688528800,702439200,719978400,733888800,752032800,765338400,783482400,796788e3,814932e3,828842400,846381600,860292e3,877831200,891741600,909280800,923191200,941335200,954640800,972784800,986090400,1004234400,1018144800,1035684e3,1049594400,1067133600,1081044e3,1099188e3,1112493600,1130637600,1143943200,1162087200,1173578400,1194141600,1205028e3,1225591200,1236477600,1257040800,1268532e3,1289095200,1299981600,1320544800,1331431200,1351994400,1362880800,1383444e3,1394330400,1414893600,142578e4,1446343200,1457834400,1478397600,1489284e3,1509847200,1520733600,1541296800,1552183200,1572746400,1583632800,1604196e3,1615687200,1636250400,1647136800,16677e5,1678586400,1699149600,1710036e3,1730599200,1741485600,1762048800,1772935200,1793498400,1804989600,1825552800,1836439200,1857002400,1867888800,1888452e3,1899338400,1919901600,1930788e3], @@ -544,15 +544,15 @@ return b(e)&&e.isNaN()}static isIgnoredObjListOfNaNables(e){if(!Object(k.isArray i.d(t,"volumeProfileVisibleRangeStudyItem",(function(){return z}));class W{constructor(){this._histPos=-1,this._hist=new Float64Array(2e3),this._times=new Float64Array(2e3)}addHist(e){if(this._histPos>=0){const t=this._times[this._histPos];Object(s.assert)(t<=e,"History order violation"),this._histPos+=t===e?0:1}else this._histPos+=1;if(this._histPos===this._hist.length){const e=new Float64Array(2*this._hist.length);e.set(this._hist),this._hist=e;const t=new Float64Array(this._hist.length);t.set(this._times),this._times=t}this._hist[this._histPos]=NaN,this._times[this._histPos]=e}removeLastIfNaN(){Number.isNaN(this.get(0))&&(this._histPos-=1)}get(e){Object(s.assert)(0===e);const t=this._histPos-e;return this._hist[t]}getLeftOrEqual(e){const t=Object(F.upperbound)(this._times,e,(e,t)=>e6e3&&r.Std.error('Histogram is too large, please reduce "Row Size" input.')}_getRowsLayout(e,t){return"Number Of Rows"===e?new a(t):new l(t)}}{constructor(){super(...arguments),this._rowsLayout="Number Of Rows",this._rowSize=24,this._volume="Up/Down",this._firstBarTime=0,this._lastBarTime=0,this._vaVolumePercent=70,this._anInt=0,this._eraseCmds=[]}nextGraphicsObjId(){return++this._anInt}pushEraseObjCmd(e,t){this._eraseCmds.push(new L(e,t))}popEraseCmds(){const e=this._eraseCmds;return this._eraseCmds=[],e}init(e,t){this._studyDataUpdate=new N(!0),this._hists=new u,this._pocLines=new S,this._valueAreaHists=new u;const i=new M;i.getObjsContainer("hhists").push(new I("histBars2",this._hists)),i.getObjsContainer("hhists").push(new I("histBarsVA",this._valueAreaHists)),i.getObjsContainer("horizlines").push(new I("pocLines",this._pocLines)),this._studyDataUpdate.init(i),this._rowsLayout=t(0),this._rowSize=t(1),this._volume=t(2),this._firstBarTime=t(3),this._lastBarTime=t(4),this._vaVolumePercent=t(5),this.verifyRowSizeInput(this._rowSize,this._rowsLayout),this._originalResolution=n.Interval.parse(e.symbol.interval+e.symbol.resolution);const o=this._lastBarTime+this._originalResolution.inMilliseconds(this._lastBarTime);0===this._firstBarTime&&0===this._lastBarTime?this._basicResolution=this._originalResolution:this._basicResolution=this.findBasicResolutionForFromTo(this._originalResolution,this._firstBarTime,o,Object(s.ensureDefined)(e.symbol.info)),this._hasSecondarySymbol=!this._originalResolution.isEqualTo(this._basicResolution),this._hasSecondarySymbol&&e.new_sym(e.symbol.tickerid,this._basicResolution.value());const a=this._getRowsLayout(this._rowsLayout,this._rowSize);this._vbPCheckHaveVolumeExpr=new j(this),this._volumeByPriceExpr=new T(function(e){switch(e){case"Up/Down": return 2;case"Total":return 1;default:r.Std.error("Invalid study argument value: "+e)}}(this._volume),e,this,this._firstBarTime,o,this._hists,this._pocLines,this._valueAreaHists,this._vaVolumePercent,a,6e3),this._volumeByPriceExpr.setIdsGeneratorProxy(this),this._developingPocSeries=new W,this._developingVAHighSeries=new W,this._developingVALowSeries=new W}main(e,t,i){this._hasSecondarySymbol&&e.select_sym(1),this._timeSeries=e.new_unlimited_var(),this._openSeries=e.new_unlimited_var(),this._highSeries=e.new_unlimited_var(),this._lowSeries=e.new_unlimited_var(),this._closeSeries=e.new_unlimited_var(),this._volumeSeries=e.new_unlimited_var();const n={type:"composite",data:[]};if(i&&i.period===this._basicResolution.value()&&(this._timeSeries.set(r.Std.time(e)),this._openSeries.set(r.Std.open(e)),this._highSeries.set(r.Std.high(e)),this._lowSeries.set(r.Std.low(e)),this._closeSeries.set(r.Std.close(e)),this._volumeSeries.set(r.Std.volume(e)),this._developingPocSeries.addHist(r.Std.time(e)),this._developingVAHighSeries.addHist(r.Std.time(e)),this._developingVALowSeries.addHist(r.Std.time(e)),this._vbPCheckHaveVolumeExpr.update(0,e.symbol.isLastBar),this._volumeByPriceExpr.update(0),this._developingPocSeries.removeLastIfNaN(),this._developingVAHighSeries.removeLastIfNaN(),this._developingVALowSeries.removeLastIfNaN(),e.symbol.isLastBar)){this._studyDataUpdate.setEraseCmds(this.popEraseCmds()),this._studyDataUpdate.update();const e=this._studyDataUpdate.getUpdate();e.json&&n.data.push({nonseries:!0,type:"study_graphics",data:e.json}),e.jsonUpdate&&n.data.push({nonseries:!0,type:"study_graphics",data:e.jsonUpdate})}if(this._hasSecondarySymbol&&e.select_sym(0),i&&i.period===this._originalResolution.value()){Object(s.assert)(e.symbol.time===i.time);const t=i.time,r=t+this._originalResolution.inMilliseconds(t)-1;if(t&&t>=this._firstBarTime){const e=this._developingPocSeries.getLeftOrEqual(r),t=this._developingVAHighSeries.getLeftOrEqual(r),i=this._developingVALowSeries.getLeftOrEqual(r);n.data.push([e,t,i])}else n.data.push([NaN,NaN,NaN])}return n}time(){return this._timeSeries}open(){return this._openSeries}high(){return this._highSeries}low(){return this._lowSeries}close(){return this._closeSeries}volume(){return this._volumeSeries}developingPoc(){return this._developingPocSeries}developingVAHigh(){return this._developingVAHighSeries}developingVALow(){return this._developingVALowSeries}}const z={constructor:H,name:"Volume Profile Visible Range",metainfo:{_metainfoVersion:51,id:"VbPVisible@tv-basicstudies-49",description:"Volume Profile Visible Range",shortDescription:"VPVR",format:{type:"volume"},is_price_study:!0,linkedToSeries:!0,palettes:{},inputs:[{id:"rowsLayout",name:"Rows Layout",defval:"Number Of Rows",options:["Number Of Rows","Ticks Per Row"],type:"text"},{id:"rows",name:"Row Size",defval:24,max:1e6,min:1,type:"integer"},{id:"volume",name:"Volume",defval:"Up/Down",options:["Up/Down","Total"],type:"text"},{id:"first_visible_bar_time",name:"First Visible Bar Time",defval:0,isHidden:!0,max:253370764800, min:-253370764800,type:"time"},{id:"last_visible_bar_time",name:"Last Visible Bar Time",defval:0,isHidden:!0,max:253370764800,min:-253370764800,type:"time"},{id:"vaVolume",name:"Value Area Volume",defval:70,max:100,min:0,type:"integer"}],plots:[{id:"developingPoc",type:"line"},{id:"developingVAHigh",type:"line"},{id:"developingVALow",type:"line"}],graphics:{hhists:{histBars2:{location:h.b.Relative,title:"Volume Profile",titles:["Up Volume","Down Volume"]},histBarsVA:{location:h.b.Relative,title:"Value Area",titles:["Value Area Up","Value Area Down"]}},horizlines:{pocLines:{name:"POC",showPrice:!0}}},defaults:{graphics:{hhists:{histBars2:{colors:["#1592e6","#fbc123"],direction:h.a.RightToLeft,percentWidth:30,showValues:!1,transparencies:[76,76],valuesColor:"#424242",visible:!0},histBarsVA:{colors:["#1592e6","#fbc123"],direction:h.a.RightToLeft,percentWidth:30,showValues:!1,transparencies:[30,30],valuesColor:"#424242",visible:!0}},horizlines:{pocLines:{color:"#ff0000",style:0,visible:!0,width:2}}},inputs:{first_visible_bar_time:0,last_visible_bar_time:0,rows:24,rowsLayout:"Number Of Rows",vaVolume:70,volume:"Up/Down"},styles:{developingPoc:{color:"#ff0000",linestyle:0,linewidth:1,plottype:9,trackPrice:!1,transparency:0,visible:!1},developingVAHigh:{color:"#0000ff",linestyle:0,linewidth:1,plottype:9,trackPrice:!1,transparency:0,visible:!1},developingVALow:{color:"#0000ff",linestyle:0,linewidth:1,plottype:9,trackPrice:!1,transparency:0,visible:!1}}},styles:{developingPoc:{histogramBase:0,title:"Developing Poc"},developingVAHigh:{histogramBase:0,title:"Developing VA High"},developingVALow:{histogramBase:0,title:"Developing VA Low"}}}}},l4sv:function(e,t,i){"use strict";i.r(t),i.d(t,"HorizontalLineRenderer",(function(){return a}));var s=i("VdBB"),r=i("jFln"),n=i("gAom"),o=i("Zp/P");class a{constructor(){this._data=null,this._hitTest=new s.HitTestResult(s.HitTestResult.REGULAR)}setData(e){this._data=e}setHitTest(e){this._hitTest=e}hitTest(e){if(null===this._data||!1===this._data.visible)return null;const t=Object(o.interactionTolerance)().line,i=Math.abs(e.y-this._data.y)<=t+this._data.linewidth/2,s=void 0===this._data.left||this._data.left-e.x<=t,r=void 0===this._data.right||e.x-this._data.right<=t;return i&&s&&r?this._hitTest:null}draw(e,t){if(null===this._data)return;if(!1===this._data.visible)return;if(this._data.y<-this._data.linewidth/2||this._data.y>t.cssHeight+this._data.linewidth/2)return;const i=t.pixelRatio;e.lineCap="butt",e.strokeStyle=this._data.color,e.lineWidth=Math.max(1,Math.floor(this._data.linewidth*i)),void 0!==this._data.linestyle&&Object(r.setLineStyle)(e,this._data.linestyle);const s=void 0!==this._data.left?Math.max(this._data.left,0):0,o=void 0!==this._data.right?Math.min(this._data.right,t.cssWidth):t.cssWidth,a=Math.round(this._data.y*i),l=Math.floor(s*i),c=Math.ceil(o*i);Object(n.drawHorizontalLine)(e,a,l,c)}}},l7mP:function(e,t,i){"use strict";i.r(t),i.d(t,"getImageOfChart",(function(){return r})),i.d(t,"getImageOfChartSilently",(function(){return n})) -;const s=()=>Promise.all([i.e("react"),i.e(3),i.e(13),i.e(18),i.e(62),i.e(87),i.e(12),i.e("take-chart-image-dialog-impl")]).then(i.bind(null,"fMMV"));function r(e,t={},i){s().then(s=>{s.getImageOfChart(e,t,i)})}function n(e,t={},i){s().then(s=>{s.getImageOfChartSilently(e,t,i)})}},lA7n:function(e,t,i){"use strict";i.r(t);var s=i("Kxc7"),r=i("ulZB");class n extends r.b{constructor(e,t){super(e,t,"FAVORITE_CHARTS_CHANGED","loadChartDialog.favorites",{})}}var o=i("zUrt"),a=i("FBuY"),l=i("Vdly"),c=i("/z0S"),h=i("sQaR");i.d(t,"LoadChartService",(function(){return u}));class u extends h.a{constructor(e=null){super(),this._favoriteChartsService=new n(a.TVXWindowEvents,l),this._chartWidgetCollection=null,this._promise=null,this._dialog=null,this._subscribe=e=>{this._setVisibility(e)},this._getChartEntry=e=>({id:e.id,url:e.url,title:e.name,symbol:e.short_symbol,interval:e.interval,toolsCount:0,modified:e.modified_iso,active:()=>this._isActiveChart(e.id),openAction:()=>o.backend.loadChart(e),deleteAction:()=>new Promise(t=>{o.backend.removeChart(e.image_url,()=>{this._deleteChart(e.id),t()})}),favoriteAction:this._updateFavorites}),this._updateFavorites=e=>this._favoriteChartsService.set(e),this._isActiveChart=e=>null!==this._chartWidgetCollection&&e===this._chartWidgetCollection.metaInfo.id.value(),this._deleteChart=e=>{this._isActiveChart(e)&&(s.enabled("saveload_storage_customization")?null!==this._chartWidgetCollection&&this._chartWidgetCollection.clearChartMetaInfo():location.href="/chart/"+location.search)},this._chartWidgetCollection=e}showLoadDialog(){Object(c.a)(this._showLoadDialog.bind(this),{source:"Load chart",sourceMeta:"Chart"})}show(){this.showLoadDialog()}hide(){var e,t;null===(e=this._dialog)||void 0===e||e.hide(),null===(t=this._dialog)||void 0===t||t.visible().unsubscribe(this._subscribe)}_showLoadDialog(){(s.enabled("saveload_requires_authentication")&&!window.is_authenticated?Promise.resolve([]):new Promise(e=>{o.backend.getCharts(t=>{e(t)})})).then(e=>e.map(this._getChartEntry)).then(e=>{const t=this._promise=Promise.all([i.e("redux"),i.e("react"),i.e(1),i.e(2),i.e(3),i.e(6),i.e(7),i.e(8),i.e(9),i.e(11),i.e(20),i.e(35),i.e(41),i.e(64),i.e(85),i.e(0),i.e(5),i.e(4),i.e(10),i.e(14),i.e(29),i.e(37),i.e(56),i.e("load-chart-dialog")]).then(i.bind(null,"EgWQ")).then(i=>{if(this._promise===t){this._dialog&&(this._dialog.hide(),this._dialog.visible().unsubscribe(this._subscribe));const t={charts:e,favoriteChartsService:this._favoriteChartsService,chartWidgetCollection:this._chartWidgetCollection};this._dialog=new i.LoadChartDialogRenderer(t),this._dialog.visible().subscribe(this._subscribe),this._dialog.show()}})})}}},lAUz:function(e,t,i){"use strict";i.r(t);var s=i("Eyy1"),r=i("aO4+"),n=i("ogJP"),o=i("Tmoa"),a=i("k9/m"),l=i("Kxc7"),c=i("Zy3/");class h{constructor(e){this._data=e}draw(e,t){}drawBackground(e,t){e.save();const i=this._data,s=t.pixelRatio;let r=null;const n=Math.round(this._data.w*s);for(let o=0;o0){i.items[o-1].index===t.index-1&&null!==r&&(l=r+1)}const c=a+n,h=c-l+1;e.fillRect(l,Math.round(i.y*s),h,Math.round(i.h*s)),r=c}e.restore()}hitTest(e){return null}}var u=i("23IT"),d=i("i6cO"),p=i("UAFa");i.d(t,"StudyBackgroundPaneView",(function(){return _}));class _{constructor(e,t,i,r){this._items=[],this._invalidated=!0,this._isMarkersEnabled=l.enabled("source_selection_markers"),this._study=e,this._series=t,this._model=i,this._plotName=r;const n=this._study.metaInfo().plots;for(let o=0;o0?(i-=c,l+=c):(i+=c,l-=c);const h=this._study.getMinFirstBarIndexForPlot(this._plotName);if(h>l)return;i=Math.max(h,i);const u=this._study.data().rangeIterator(i,l);for(;u.hasNext();){const e=u.next();let i=e.index;const a=e.value;i+=c;const l=new r.Point(Math.floor(i)-.5,NaN);let h=Object(n.isNumber)(t)?t:50;h=Math.min(h,100),h=Math.max(h,0);const p=this._colorProvider.getPlotPointStyle(a);void 0!==p.colors[d.ColorerType.Background]&&(l.color=Object(o.generateColor)(Object(s.ensureDefined)(p.colors[d.ColorerType.Background]),h)),l.index=i,this._items.push(l)}this._model.timeScale().timedValuesToCoordinates(this._items)}}},lCO3:function(e,t,i){"use strict";i.r(t),i.d(t,"Version",(function(){return r}));var s=i("Eyy1");class r{constructor(e,t){this._major=e,this._minor=t}major(){return this._major}minor(){return this._minor}isZero(){return 0===this._major&&0===this._minor}toString(){return this._major+"."+this._minor}compareTo(e){ -return this._majore._major?1:this._minore._minor?1:0}isLess(e){return this.compareTo(e)<0}isLessOrEqual(e){return this.compareTo(e)<=0}isEqual(e){return 0===this.compareTo(e)}isGreater(e){return this.compareTo(e)>0}isGreaterOrEqual(e){return this.compareTo(e)>=0}static parse(e){if(e instanceof r)return new r(e.major(),e.minor());if("number"==typeof e)return Object(s.assert)(Math.floor(e)===e,"Version should not be a float number"),new r(e,0);if("string"==typeof e){const t=e.split(".");if(1===t.length){const i=parseInt(t[0],10);return Object(s.assert)(!isNaN(i),"Bad version string: "+e),new r(i,0)}if(2===t.length){const i=parseInt(t[0],10);Object(s.assert)(!isNaN(i),"Bad version string: "+e);const n=parseInt(t[1],10);return Object(s.assert)(!isNaN(n),"Bad version string: "+e),new r(i,n)}throw new Error("Bad version string (one dot expected): "+e)}throw new Error("Bad version: "+e)}}r.ZERO=new r(0,0)},lJvs:function(e,t,i){"use strict";var s=i("aO4+").Point,r=i("vAx0").ESDPaneView,n=i("fTGZ").BarsMarksContainer,o=i("mMWL"),a=i("FQhm"),l=i("ttUj").Tooltip,c=i("zDbI").CHART_FONT_FAMILY;class h extends r{constructor(e,t){super(e,t,void 0,void 0),this.source=t,this.stylesCache={},this.templatesCache={},this._lollipops={},this._createLollipops()}_createLollipops(){var e=this.source._model.timeScale(),t=r.prototype._getY.call(this.source),i=this.source._model.lastHittestData(),n=this;Object.keys(this.source._marks).forEach((function(r){var o=this.source._marks[r],a=o.id,c=o.index;null!==c&&(n._lollipops[a]={id:a,basePoint:new s(e.indexToCoordinate(c)+1,t),hovered:i&&i.id===a||a===n.getLastClickedLollipopId(),barY:null,label:o.label,color:o.color,items:o.tooltip,tooltip:n._lollipops.hasOwnProperty(a)?n._lollipops[a].tooltip:new l,visible:!0})}),this)}clearCaches(){this.closeTooltips(),this.clearLastClicked(),this._lollipops={}}update(){this._createLollipops(),this._invalidated=!1}renderer(){return this.update(),r.prototype.renderer.call(this)}_generateTemplateStyle(e,t,i){var s=e+t+i;if(!(s in this.stylesCache)){var r="default"!==e,n={strokeStyle:t,lineWidth:1,fillStyle:"white",barLine:{lineStyle:CanvasEx.LINESTYLE_DASHED},lollipop:{width:32,height:96,circleHeight:16,radius:12,lineWidth:1.5,fillStyle:r?t:"white",fillCircle:r,strokeStyle:"#E2745B",text:{label:i,strokeStyle:r?"white":t,font:"normal 12px "+c}}};this.stylesCache[s]=n}return this.stylesCache[s]}getTemplate(e,t){var i=e+t.color+t.label;return i in this.templatesCache||(this.templatesCache[i]=this.createTemplate(this._generateTemplateStyle(e,t.color,t.label))),this.templatesCache[i]}getStyle(e,t){return this._generateTemplateStyle(e,t.color,t.label)}createText(e,t){"string"==typeof e.items?t.addTextLine(e.items):Array.isArray(e.items)&&e.items.forEach((function(e){t.addTextLine(e)}))}hasTooltip(e){return!!e.tooltip&&e.tooltip.length}}e.exports=class extends n{constructor(e){super(e),this.toolname="UserDefinedTimescaleMarks";var t=this;o.hideMarksOnBars().subscribe(this,(function(){ -t._properties.visible.setValue(!o.hideMarksOnBars().value())})),this._paneView=new h(e,this),this._requestedPointsets=new Set}_initialize(e){this._properties.visible.setValue(!0)}userEditEnabled(){return!1}_plateViewData(e){return{text:e.text}}onClicked(e){a.emit("onTimescaleMarkClick",e.id)}clearMarks(){var e=this._model.chartApi();if(e.connected()){var t=this;Object.keys(this._marks).forEach((function(i){var s=t._getPointsetId(i);e.removePointset(s)}))}this._requestedPointsets.clear(),super.clearMarks(),this._paneView.clearCaches(),this.onNeedRepaint.fire()}_getData(e){var t=this._model.mainSeries().symbolInfo();if(t){var i=this.roundRange(this._rangeDifference(e)),s=this,r=this._model.mainSeries(),n=r.seriesSource().symbolInstanceId(),o=r.properties().interval.value();ChartApiInstance.getTimescaleMarks(t,i.start,i.end,(function(t){var i=s._model.chartApi();t.forEach((function(e){e.index=null;var t=e.id,r=s._getPointsetId(t),a=s._marks[t];if(a&&null!==a.index&&(a.tickmark===e.tickmark?e.index=a.index:s._requestedPointsets.has(r)&&i.connected()&&(i.removePointset(r),s._requestedPointsets.delete(r))),s._marks[t]=e,null===e.index&&i.connected()){s._requestedPointsets.add(r);var l=[[e.tickmark,0]];i.createPointset(r,"turnaround",n,o,l,(function(e){s._onPointsetData(e)}))}}),s),s._loadedRange=s._rangeUnion(e,s._loadedRange),s.onNeedRepaint.fire()}),o)}}_getPointsetId(e){return"pointsetMark_"+e}_onPointsetData(e){var t=e.params.customId.split("_")[1],i=this._marks[t],s=e.params.plots;i&&1===s.length&&(i.index=s[0].value[0])}updatePlateData(e,t){return t.barWidth=this.barWidth(),t.text=e.text,t.tooltipMargin=-1*Math.max(e.minSize/2,.4*this.barWidth()),t}hasContextMenu(){return!1}paneViews(){return this._properties.visible.value()?[this._paneView]:[]}onClickOutside(){this._paneView.onClickOutside()}}},"lNN+":function(e,t,i){"use strict";i.r(t),i.d(t,"LineToolTrianglePattern",(function(){return o}));var s=i("Ocx9"),r=i("Ss5c"),n=i("j3hX");class o extends r.LineDataSource{constructor(e,t){const s=t||o.createProperties();super(e,s),i.e("lt-pane-views").then(i.bind(null,"Jej9")).then(t=>{this._setPaneViews([new t.LineToolTrianglePatternPaneView(this,e)])})}pointsCount(){return 4}name(){return"Triangle Pattern"}properties(){return super.properties()}static createProperties(e){const t=new s.DefaultProperty("linetooltrianglepattern",e);return o._configureProperties(t),t}_getPropertyDefinitionsViewModelClass(){return Promise.all([i.e(33),i.e("lt-property-pages-with-definitions")]).then(i.bind(null,"/HOw")).then(e=>e.PatternWithBackgroundDefinitionViewModel)}static _configureProperties(e){r.LineDataSource._configureProperties(e),e.addChild("linesColors",new n.LineToolColorsProperty([e.childs().color])),e.addChild("textsColors",new n.LineToolColorsProperty([e.childs().textcolor])),e.addChild("backgroundsColors",new n.LineToolColorsProperty([e.childs().backgroundColor]))}}},lReN:function(e,t,i){"use strict";i.r(t),i.d(t,"LineToolsGroupControllerApi",(function(){return o}));var s=i("s1Gx"),r=i("Eyy1"),n=i("CW80");class o{ -constructor(e,t){this._controller=e,this._model=t}createGroupFromSelection(){return this._controller.createGroupFromSelection().id}removeGroup(e){const t=Object(r.ensureDefined)(this._groupById(e));this._controller.removeGroup(t)}groups(){return this._controller.groups().map(e=>e.id)}shapesInGroup(e){const t=Object(r.ensureDefined)(this._groupById(e));return Object(s.sortSources)(t.lineTools()).map(e=>e.id())}excludeShapeFromGroup(e,t){const i=Object(r.ensureDefined)(this._groupById(e)),s=Object(r.ensureNotNull)(this._model.dataSourceForId(t));Object(r.assert)(Object(n.isLineTool)(s),"Passed shapeId is not a line tool"),this._controller.excludeLineToolFromGroup(i,s)}availableZOrderOperations(e){const t=Object(r.ensureDefined)(this._groupById(e));return this._controller.availableZOrderOperations(t)}bringToFront(e){const t=Object(r.ensureDefined)(this._groupById(e));this._controller.bringToFront(t)}bringForward(e){const t=Object(r.ensureDefined)(this._groupById(e));this._controller.bringForward(t)}sendBackward(e){const t=Object(r.ensureDefined)(this._groupById(e));this._controller.sendBackward(t)}sendToBack(e){const t=Object(r.ensureDefined)(this._groupById(e));this._controller.sendToBack(t)}insertAfter(e,t){const i=Object(r.ensureDefined)(this._groupById(e)),s=Object(r.ensureNotNull)(this._groupById(t)||this._model.dataSourceForId(t));this._controller.insertAfter(i,s)}insertBefore(e,t){const i=Object(r.ensureDefined)(this._groupById(e)),s=Object(r.ensureNotNull)(this._groupById(t)||this._model.dataSourceForId(t));this._controller.insertBefore(i,s)}groupVisibility(e){return Object(r.ensureDefined)(this._groupById(e)).visibility()}setGroupVisibility(e,t){const i=Object(r.ensureDefined)(this._groupById(e));this._controller.setGroupVisibility(i,t)}groupLock(e){return Object(r.ensureDefined)(this._groupById(e)).locked()}setGroupLock(e,t){const i=Object(r.ensureDefined)(this._groupById(e));this._controller.setGroupLock(i,t)}getGroupName(e){return Object(r.ensureDefined)(this._groupById(e)).name()}setGroupName(e,t){const i=Object(r.ensureDefined)(this._groupById(e));this._controller.setGroupName(i,t)}canBeGroupped(e){const t=e.map(e=>Object(r.ensureNotNull)(this._model.dataSourceForId(e)));return!t.some(e=>!Object(n.isLineTool)(e))&&this._controller.canBeGroupped(t)}_groupById(e){return this._controller.groups().find(t=>t.id===e)}}},lTLF:function(e,t,i){"use strict";i.r(t);var s=i("Hr11");class r{constructor(e,t){if(this._base=e,this._integralDividers=t,Object(s.isBaseDecimal)(this._base))this._fractionalDividers=[2,2.5,2];else{this._fractionalDividers=[];for(let e=this._base;1!==e;){if(e%2==0)this._fractionalDividers.push(2),e/=2;else{if(e%5!=0)throw new Error("unexpected base");this._fractionalDividers.push(2),this._fractionalDividers.push(2.5),e/=5}if(this._fractionalDividers.length>100)throw new Error("something wrong with base")}}}tickSpan(e,t,i){const r=0===this._base?0:1/this._base;let n=Math.pow(10,Math.max(0,Math.ceil(Object(s.log10)(e-t)))),o=0,a=this._integralDividers[0];for(;;){ -const e=Object(s.greaterOrEqual)(n,r,1e-14)&&n>r+1e-14,t=Object(s.greaterOrEqual)(n,i*a,1e-14),l=Object(s.greaterOrEqual)(n,1,1e-14);if(!(e&&t&&l))break;n/=a,a=this._integralDividers[++o%this._integralDividers.length]}if(n<=r+1e-14&&(n=r),n=Math.max(1,n),this._fractionalDividers.length>0&&Object(s.equal)(n,1,1e-14))for(o=0,a=this._fractionalDividers[0];Object(s.greaterOrEqual)(n,i*a,1e-14)&&n>r+1e-14;)n/=a,a=this._fractionalDividers[++o%this._fractionalDividers.length];return n}}i.d(t,"PriceTickMarkBuilder",(function(){return n}));class n{constructor(e,t,i,s){this._marks=null,this._priceScale=e,this._base=t,this._coordinateToLogicalFunc=i,this._logicalToCoordinateFunc=s}base(){return this._base}setBase(e){if(e<0)throw new Error("base < 0");this._base=e}tickSpan(e,t,i=0){if(ei&&(c=h);const u=a.tickSpan(e,t,n);u>i&&(c=Math.min(c,u));const d=l.tickSpan(e,t,n);return d>i&&(c=Math.min(c,d)),c>0?c:e-t}rebuildTickMarks(){this._marks=null}marks(){return null===this._marks&&(this._marks=this._rebuildTickMarksImpl()),this._marks}_fontHeight(){return this._priceScale.fontSize()}_tickMarkHeight(){return Math.ceil(2.5*this._fontHeight())}_rebuildTickMarksImpl(){const e=this._priceScale,t=[],i=e.mainSource();if(e.isEmpty()||null===i)return{withoutEndingZerosIfPossible:[],full:[]};let s=i.firstValue();null===s&&(s=0);const r=e.height(),n=this._coordinateToLogicalFunc(r-1,s),o=this._coordinateToLogicalFunc(0,s),a=Math.max(n,o),l=Math.min(n,o);if(a===l)return{withoutEndingZerosIfPossible:[],full:[]};let c=this.tickSpan(a,l),h=a%c;h+=h<0?c:0;const u=a>=l?1:-1;let d=null;const p=e.formatter(),_=[];let m=!1,f=NaN;for(let g=a-h;g>l;g-=c){g===f&&(c=this.tickSpan(a,l,c)),f=g;const i=this._logicalToCoordinateFunc(g,s);if(null!==d&&Math.abs(i-d)=3600&&(o=f(Math.floor(n/3600))),n%=3600;const a=f(Math.floor(n/60));n%=60;const l=f(Math.floor(n));return null!==o?`${o}:${a}:${l}`:`${a}:${l}`}_updateRendererData(e,t,i){e.visible=!1,t.visible=!1;const s=this._source.properties();if(12===s.style.value())return;if(this._options.visibleOnHistoryOnly){const e=this._model.timeScale().visibleBarsStrictRange(),t=this._source.data().last();if(null===e||null===t||e.contains(t.index))return}const r=this._model.properties().scalesProperties;let n=r.showSeriesLastValue.value(),o=this._isCountdownEnabled()&&-1!==g.indexOf(s.style.value())&&s.showCountdown.value(),a=this._options.showSymbolLabel&&r.showSymbolLabels.value();const l=r.seriesLastValueMode.value()===m.PriceAxisLastValueMode.LastPriceAndPercentageValue,c=this._source.lastValueData(void 0,this._options.alwaysShowGlobalLast);if(c.noData)return;const h=8===s.style.value();if((n||o||a)&&h&&s.haStyle.showRealLastPrice.value()){const e=this._source.lastValueData(void 0,!1),t=this._source.lastValueData(void 0,!0);e.noData||t.noData||e.index!==t.index||(n=!1,o=!1,a=!1)}if(n||o){const t=this._axisFirstLineText(c,n);e.text=t,i.textColor=this.generateTextColor(i.background),e.textColor=i.textColor;const s=this._source.priceScale().isPercentage(),r=n&&l?s?c.formattedPriceAbsolute:c.formattedPricePercentage:"";e.secondLine=r,i.secondLineTextColor=i.textColor;const a=o?this._countdownText():"";this._previousCountdown=a,e.thirdLine=a,i.thirdLineTextColor=Object(u.generateColor)(i.textColor,25),0===t.length&&0===r.length&&0===a.length||(e.visible=!0)}a&&(t.text=this._paneText(a),t.visible=t.text.length>0),i.background=this._source.priceLineColor(c.color),i.coordinate=c.coordinate,i.floatCoordinate=c.floatCoordinate}_paneText(e){let t="";const i=this._source.symbolInfo();if(v)t+=i?i.exchange+" ":"";else if(e){let e=i&&Object(a.symbolCurrentContract)(i)||this._source.getSymbolName();e.length>40&&(e=e.substr(0,37)+"..."),t+=e+" "}return t.trim()}_axisFirstLineText(e,t){return t?e.text:""}_currentTime(){return Date.now()+1e3*this._source.serverTimeOffset()}}var y=i("TmNs"),w=i("k9/m");class C extends S{lastPrice(){return this._getSource().data().lastProjectionPrice}_updateRendererData(e,t,i){e.visible=!1,t.visible=!1;const s=this._getModel(),r=this._getSource(),n=r.priceScale(),o=s.timeScale(),a=this.lastPrice();if(o.isEmpty()||n.isEmpty()||void 0===a)return;const l=o.visibleBarsStrictRange();if(null===l)return;const c=l.firstBar(),d=l.lastBar(),p=r.data(),_=p.search(d,w.PlotRowSearchMode.NearestLeft);if(null===_)return;const f=r.nearestIndex(c,w.PlotRowSearchMode.NearestRight);if(void 0===f)return -;const g=r.model().properties().scalesProperties,v=Object(h.ensureNotNull)(p.valueAt(f))[TradingView.CLOSE_PLOT];let b=i.background,S=g.showSeriesLastValue.value(),y=!1,C=!1,P=!1;const x=r.lastValueData(TradingView.CLOSE_PLOT,!1),T=r.properties();if(8===T.style.value()&&T.haStyle.showRealLastPrice.value()){const e=r.lastValueData(TradingView.CLOSE_PLOT,!0);if(e.noData||e.color===i.background||(b=e.color),!e.noData&&!x.noData){const t=e.index===x.index;y=t&&g.showSymbolLabels.value(),C=g.seriesLastValueMode.value()===m.PriceAxisLastValueMode.LastPriceAndPercentageValue,S=S&&t,P=t&&this._isCountdownEnabled()&&T.showCountdown.value()}}else{b=r.barColorer().barStyle(_.index,!0).barColor}if(i.background=b,i.textColor=this.generateTextColor(b),i.secondLineTextColor=i.textColor,i.thirdLineTextColor=Object(u.generateColor)(i.textColor,25),i.coordinate=n.priceToCoordinate(a,v),e.visible=S||P,!x.noData){x.text=n.formatPrice(a,v),x.formattedPriceAbsolute=n.formatPriceAbsolute(a),x.formattedPricePercentage=n.formatPricePercentage(a,v),e.text=this._axisFirstLineText(x,S);const i=r.priceScale().isPercentage();e.secondLine=S&&C?i?x.formattedPriceAbsolute:x.formattedPricePercentage:"",e.thirdLine=P?this._countdownText():"",t.text=this._paneText(y)}t.visible=y}}var P=i("KtbP"),x=i("YFKU"),T=i("2ijp"),M=i("HGP3"),I=i("8Uy/");const L={light:{lineStyle:I.LINESTYLE_DOTTED,lineWidth:1,textColor:M.a["color-cold-gray-900"],backgroundColor:M.a["color-tv-blue-50"],lineColor:M.a["color-cold-gray-500"]},dark:{lineStyle:I.LINESTYLE_DOTTED,lineWidth:1,textColor:M.a["color-white"],backgroundColor:M.a["color-tv-blue-a800"],lineColor:M.a["color-cold-gray-500"]}};function O(e){return e?L.dark:L.light}class A extends T.a{constructor(e,t,i){super(),this._model=e,this._isVisible=t,this._getValue=i}_updateImpl(){const e=this._lineRendererData;if(e.visible=!1,!this._isVisible.value())return;const t=this._model.mainSeries(),i=t.priceScale(),s=t.firstValue(),r=this._getValue();if(null===s||null===r)return;const n=O(this._model.isDark());e.visible=!0,e.y=i.priceToCoordinate(r,s),e.linestyle=n.lineStyle,e.linewidth=n.lineWidth,e.color=n.lineColor}}class E extends p.a{constructor(e,t,i,s){super(),this._model=e,this._label=t,this._isVisible=i,this._getValue=s}_updateRendererData(e,t,i){if(e.visible=!1,t.visible=!1,!this._isVisible.value())return;const s=this._model.mainSeries(),r=s.priceScale(),n=s.firstValue(),o=this._getValue();if(null===n||null===o)return;const a=O(this._model.isDark());e.visible=!0,t.visible=!0,e.text=r.formatPriceAbsolute(o),t.text=this._label,i.coordinate=r.priceToCoordinate(o,n),i.background=a.backgroundColor,i.textColor=a.textColor}}class k extends y.PriceLineAxisView{constructor(e,t,i){super(),this._model=e,this._isLineVisible=t,this._getValue=i}_isVisible(){return this._isLineVisible.value()}_lineWidth(){return O(this._model.isDark()).lineWidth}_lineStyle(){return O(this._model.isDark()).lineStyle}_priceLineColor(e){return O(this._model.isDark()).lineColor}_value(){ -const e=this._model.mainSeries(),t=e.priceScale(),i=e.firstValue(),s=this._getValue();if(null===i||null===s)return{noData:!0};const r=t.priceToCoordinate(s,i);return{noData:!1,floatCoordinate:r,coordinate:r,color:"",formattedPricePercentage:"",formattedPriceAbsolute:"",text:"",index:0}}}const D=Object(x.t)("High"),V=Object(x.t)("Low"),B=Object(x.t)("Avg");function R(e,t,i,s,r,n){const o=new A(e,r,n),a=new E(e,i,s,n);return{paneView:o,panePriceAxisView:new P.PanePriceAxisView(a,t,e),priceAxisView:a,priceLineAxisView:new k(e,r,n)}}var N=i("C2K+"),j=i("WPIy"),F=i("aIyQ"),W=i.n(F),H=i("ogJP"),z=i("xDuj");i.d(t,"SeriesBase",(function(){return q}));const U=_.enabled("price_scale_always_last_bar_value"),G={countdownEnabled:!0};class q extends s.PriceDataSource{constructor(e,t,i){super(e),this.extendedHours=new o.a,this.requestingIntradayWhenNotSupported=new W.a,this.requestingResolutionWhenNotSupported=new W.a,this._paneView=null,this._priceStep=null,this._symbolInfo=null,this._isPrePostMarketPricesForbiddenProperty=new o.a(!0),this._highLowAvgPriceCache=new Map,this._prevClosePriceAxisView=null,this._priceScaleChanged=new W.a,this._priceScaleAboutToBeChanged=new W.a,this._currency=null,this._unit=null,this._base=100,this._pointValue=1,this._formatter=new l.PriceFormatter(this._base),this._ignoreMinMoveFormatter=new l.PriceFormatter(this._base),this._ignoreMinMovePriceStep=null,this._lastBarCloseTime=null,this._quotesProvider=new c.a,this._quotesProvider.quotesUpdate().subscribe(this,this._onQuotesUpdate),this._setProperties(t),this._options=Object(H.merge)(Object(H.clone)(G),i);const s=new S(this,e,{alwaysShowGlobalLast:!0,showCountdown:i.countdownEnabled});this._priceAxisView=s;let r=null;U||(r=new S(this,e,{visibleOnHistoryOnly:!0,showSymbolLabel:!1,showCountdown:!1,alwaysShowGlobalLast:!1})),this._priceLinePriceAxisView=new y.SeriesPriceLineAxisView(this),this._priceLineAxisViews=[this._priceLinePriceAxisView];const n=new C(this,e,{showCountdown:i.countdownEnabled});this._priceAxisViews=[s,n],null!==r&&this._priceAxisViews.push(r),this._panePriceAxisView=new P.PanePriceAxisView(s,this,e),this._historyPricePanePriceAxisView=null!==r?new P.PanePriceAxisView(r,this,e):null,this._projectionPriceAxisView=new P.PanePriceAxisView(n,this,e),this._labelPaneViews=[this._panePriceAxisView,this._projectionPriceAxisView],null!==this._historyPricePanePriceAxisView&&this._labelPaneViews.push(this._historyPricePanePriceAxisView),this._highLowAvgPaneViews=[],this._createHighLowAvgViews()}destroy(){this._quotesProvider.quotesUpdate().unsubscribeAll(this),this._model.timeScale().visibleBarsStrictRangeChanged().unsubscribeAll(this)}quotesProvider(){return this._quotesProvider}labelPaneViews(){return this._labelPaneViews}clearHighLowAvgPriceCache(){this._highLowAvgPriceCache.clear()}priceScaleChanged(){return this._priceScaleChanged}priceScaleAboutToBeChanged(){return this._priceScaleAboutToBeChanged}symbolInfo(){return this._symbolInfo}symbolResolved(){return this.dataEvents().symbolResolved()}formatter(e=!0){ +;const s=()=>Promise.all([i.e("react"),i.e(3),i.e(13),i.e(18),i.e(62),i.e(87),i.e(12),i.e("take-chart-image-dialog-impl")]).then(i.bind(null,"fMMV"));function r(e,t={},i){s().then(s=>{s.getImageOfChart(e,t,i)})}function n(e,t={},i){s().then(s=>{s.getImageOfChartSilently(e,t,i)})}},l7y7:function(e,t){e.exports=''},lA7n:function(e,t,i){"use strict";i.r(t);var s=i("Kxc7"),r=i("ulZB");class n extends r.b{constructor(e,t){super(e,t,"FAVORITE_CHARTS_CHANGED","loadChartDialog.favorites",{})}}var o=i("zUrt"),a=i("FBuY"),l=i("Vdly"),c=i("/z0S"),h=i("sQaR");i.d(t,"LoadChartService",(function(){return u}));class u extends h.a{constructor(e=null){super(),this._favoriteChartsService=new n(a.TVXWindowEvents,l),this._chartWidgetCollection=null,this._promise=null,this._dialog=null,this._subscribe=e=>{this._setVisibility(e)},this._getChartEntry=e=>({id:e.id,url:e.url,title:e.name,symbol:e.short_symbol,interval:e.interval,toolsCount:0,modified:e.modified_iso,active:()=>this._isActiveChart(e.id),openAction:()=>o.backend.loadChart(e),deleteAction:()=>new Promise(t=>{o.backend.removeChart(e.image_url,()=>{this._deleteChart(e.id),t()})}),favoriteAction:this._updateFavorites}),this._updateFavorites=e=>this._favoriteChartsService.set(e),this._isActiveChart=e=>null!==this._chartWidgetCollection&&e===this._chartWidgetCollection.metaInfo.id.value(),this._deleteChart=e=>{this._isActiveChart(e)&&(s.enabled("saveload_storage_customization")?null!==this._chartWidgetCollection&&this._chartWidgetCollection.clearChartMetaInfo():location.href="/chart/"+location.search)},this._chartWidgetCollection=e}showLoadDialog(){Object(c.a)(this._showLoadDialog.bind(this),{source:"Load chart",sourceMeta:"Chart"})}show(){this.showLoadDialog()}hide(){var e,t;null===(e=this._dialog)||void 0===e||e.hide(),null===(t=this._dialog)||void 0===t||t.visible().unsubscribe(this._subscribe)}_showLoadDialog(){(s.enabled("saveload_requires_authentication")&&!window.is_authenticated?Promise.resolve([]):new Promise(e=>{o.backend.getCharts(t=>{e(t)})})).then(e=>e.map(this._getChartEntry)).then(e=>{const t=this._promise=Promise.all([i.e("redux"),i.e("react"),i.e(1),i.e(2),i.e(3),i.e(6),i.e(7),i.e(8),i.e(9),i.e(11),i.e(20),i.e(35),i.e(41),i.e(64),i.e(85),i.e(0),i.e(5),i.e(4),i.e(10),i.e(14),i.e(29),i.e(37),i.e(56),i.e("load-chart-dialog")]).then(i.bind(null,"EgWQ")).then(i=>{if(this._promise===t){this._dialog&&(this._dialog.hide(),this._dialog.visible().unsubscribe(this._subscribe));const t={charts:e,favoriteChartsService:this._favoriteChartsService,chartWidgetCollection:this._chartWidgetCollection};this._dialog=new i.LoadChartDialogRenderer(t),this._dialog.visible().subscribe(this._subscribe),this._dialog.show()}})})}}},lAUz:function(e,t,i){"use strict";i.r(t);var s=i("Eyy1"),r=i("aO4+"),n=i("ogJP"),o=i("Tmoa"),a=i("k9/m"),l=i("Kxc7"),c=i("Zy3/");class h{constructor(e){this._data=e} +draw(e,t){}drawBackground(e,t){e.save();const i=this._data,s=t.pixelRatio;let r=null;const n=Math.round(this._data.w*s);for(let o=0;o0){i.items[o-1].index===t.index-1&&null!==r&&(l=r+1)}const c=a+n,h=c-l+1;e.fillRect(l,Math.round(i.y*s),h,Math.round(i.h*s)),r=c}e.restore()}hitTest(e){return null}}var u=i("23IT"),d=i("i6cO"),p=i("UAFa");i.d(t,"StudyBackgroundPaneView",(function(){return _}));class _{constructor(e,t,i,r){this._items=[],this._invalidated=!0,this._isMarkersEnabled=l.enabled("source_selection_markers"),this._study=e,this._series=t,this._model=i,this._plotName=r;const n=this._study.metaInfo().plots;for(let o=0;o0?(i-=c,l+=c):(i+=c,l-=c);const h=this._study.getMinFirstBarIndexForPlot(this._plotName);if(h>l)return;i=Math.max(h,i);const u=this._study.data().rangeIterator(i,l);for(;u.hasNext();){const e=u.next();let i=e.index;const a=e.value;i+=c;const l=new r.Point(Math.floor(i)-.5,NaN);let h=Object(n.isNumber)(t)?t:50;h=Math.min(h,100),h=Math.max(h,0);const p=this._colorProvider.getPlotPointStyle(a);void 0!==p.colors[d.ColorerType.Background]&&(l.color=Object(o.generateColor)(Object(s.ensureDefined)(p.colors[d.ColorerType.Background]),h)),l.index=i,this._items.push(l)}this._model.timeScale().timedValuesToCoordinates(this._items)}}},lCO3:function(e,t,i){"use strict";i.r(t),i.d(t,"Version",(function(){return r}));var s=i("Eyy1");class r{constructor(e,t){this._major=e,this._minor=t}major(){return this._major} +minor(){return this._minor}isZero(){return 0===this._major&&0===this._minor}toString(){return this._major+"."+this._minor}compareTo(e){return this._majore._major?1:this._minore._minor?1:0}isLess(e){return this.compareTo(e)<0}isLessOrEqual(e){return this.compareTo(e)<=0}isEqual(e){return 0===this.compareTo(e)}isGreater(e){return this.compareTo(e)>0}isGreaterOrEqual(e){return this.compareTo(e)>=0}static parse(e){if(e instanceof r)return new r(e.major(),e.minor());if("number"==typeof e)return Object(s.assert)(Math.floor(e)===e,"Version should not be a float number"),new r(e,0);if("string"==typeof e){const t=e.split(".");if(1===t.length){const i=parseInt(t[0],10);return Object(s.assert)(!isNaN(i),"Bad version string: "+e),new r(i,0)}if(2===t.length){const i=parseInt(t[0],10);Object(s.assert)(!isNaN(i),"Bad version string: "+e);const n=parseInt(t[1],10);return Object(s.assert)(!isNaN(n),"Bad version string: "+e),new r(i,n)}throw new Error("Bad version string (one dot expected): "+e)}throw new Error("Bad version: "+e)}}r.ZERO=new r(0,0)},lJvs:function(e,t,i){"use strict";var s=i("aO4+").Point,r=i("vAx0").ESDPaneView,n=i("fTGZ").BarsMarksContainer,o=i("mMWL"),a=i("FQhm"),l=i("ttUj").Tooltip,c=i("zDbI").CHART_FONT_FAMILY;class h extends r{constructor(e,t){super(e,t,void 0,void 0),this.source=t,this.stylesCache={},this.templatesCache={},this._lollipops={},this._createLollipops()}_createLollipops(){var e=this.source._model.timeScale(),t=r.prototype._getY.call(this.source),i=this.source._model.lastHittestData(),n=this;Object.keys(this.source._marks).forEach((function(r){var o=this.source._marks[r],a=o.id,c=o.index;null!==c&&(n._lollipops[a]={id:a,basePoint:new s(e.indexToCoordinate(c)+1,t),hovered:i&&i.id===a||a===n.getLastClickedLollipopId(),barY:null,label:o.label,color:o.color,items:o.tooltip,tooltip:n._lollipops.hasOwnProperty(a)?n._lollipops[a].tooltip:new l,visible:!0})}),this)}clearCaches(){this.closeTooltips(),this.clearLastClicked(),this._lollipops={}}update(){this._createLollipops(),this._invalidated=!1}renderer(){return this.update(),r.prototype.renderer.call(this)}_generateTemplateStyle(e,t,i){var s=e+t+i;if(!(s in this.stylesCache)){var r="default"!==e,n={strokeStyle:t,lineWidth:1,fillStyle:"white",barLine:{lineStyle:CanvasEx.LINESTYLE_DASHED},lollipop:{width:32,height:96,circleHeight:16,radius:12,lineWidth:1.5,fillStyle:r?t:"white",fillCircle:r,strokeStyle:"#E2745B",text:{label:i,strokeStyle:r?"white":t,font:"normal 12px "+c}}};this.stylesCache[s]=n}return this.stylesCache[s]}getTemplate(e,t){var i=e+t.color+t.label;return i in this.templatesCache||(this.templatesCache[i]=this.createTemplate(this._generateTemplateStyle(e,t.color,t.label))),this.templatesCache[i]}getStyle(e,t){return this._generateTemplateStyle(e,t.color,t.label)}createText(e,t){"string"==typeof e.items?t.addTextLine(e.items):Array.isArray(e.items)&&e.items.forEach((function(e){t.addTextLine(e)}))}hasTooltip(e){return!!e.tooltip&&e.tooltip.length}}e.exports=class extends n{constructor(e){super(e), +this.toolname="UserDefinedTimescaleMarks";var t=this;o.hideMarksOnBars().subscribe(this,(function(){t._properties.visible.setValue(!o.hideMarksOnBars().value())})),this._paneView=new h(e,this),this._requestedPointsets=new Set}_initialize(e){this._properties.visible.setValue(!0)}userEditEnabled(){return!1}_plateViewData(e){return{text:e.text}}onClicked(e){a.emit("onTimescaleMarkClick",e.id)}clearMarks(){var e=this._model.chartApi();if(e.connected()){var t=this;Object.keys(this._marks).forEach((function(i){var s=t._getPointsetId(i);e.removePointset(s)}))}this._requestedPointsets.clear(),super.clearMarks(),this._paneView.clearCaches(),this.onNeedRepaint.fire()}_getData(e){var t=this._model.mainSeries().symbolInfo();if(t){var i=this.roundRange(this._rangeDifference(e)),s=this,r=this._model.mainSeries(),n=r.seriesSource().symbolInstanceId(),o=r.properties().interval.value();ChartApiInstance.getTimescaleMarks(t,i.start,i.end,(function(t){var i=s._model.chartApi();t.forEach((function(e){e.index=null;var t=e.id,r=s._getPointsetId(t),a=s._marks[t];if(a&&null!==a.index&&(a.tickmark===e.tickmark?e.index=a.index:s._requestedPointsets.has(r)&&i.connected()&&(i.removePointset(r),s._requestedPointsets.delete(r))),s._marks[t]=e,null===e.index&&i.connected()){s._requestedPointsets.add(r);var l=[[e.tickmark,0]];i.createPointset(r,"turnaround",n,o,l,(function(e){s._onPointsetData(e)}))}}),s),s._loadedRange=s._rangeUnion(e,s._loadedRange),s.onNeedRepaint.fire()}),o)}}_getPointsetId(e){return"pointsetMark_"+e}_onPointsetData(e){var t=e.params.customId.split("_")[1],i=this._marks[t],s=e.params.plots;i&&1===s.length&&(i.index=s[0].value[0])}updatePlateData(e,t){return t.barWidth=this.barWidth(),t.text=e.text,t.tooltipMargin=-1*Math.max(e.minSize/2,.4*this.barWidth()),t}hasContextMenu(){return!1}paneViews(){return this._properties.visible.value()?[this._paneView]:[]}onClickOutside(){this._paneView.onClickOutside()}}},"lNN+":function(e,t,i){"use strict";i.r(t),i.d(t,"LineToolTrianglePattern",(function(){return o}));var s=i("Ocx9"),r=i("Ss5c"),n=i("j3hX");class o extends r.LineDataSource{constructor(e,t){const s=t||o.createProperties();super(e,s),i.e("lt-pane-views").then(i.bind(null,"Jej9")).then(t=>{this._setPaneViews([new t.LineToolTrianglePatternPaneView(this,e)])})}pointsCount(){return 4}name(){return"Triangle Pattern"}properties(){return super.properties()}static createProperties(e){const t=new s.DefaultProperty("linetooltrianglepattern",e);return o._configureProperties(t),t}_getPropertyDefinitionsViewModelClass(){return Promise.all([i.e(33),i.e("lt-property-pages-with-definitions")]).then(i.bind(null,"/HOw")).then(e=>e.PatternWithBackgroundDefinitionViewModel)}static _configureProperties(e){r.LineDataSource._configureProperties(e),e.addChild("linesColors",new n.LineToolColorsProperty([e.childs().color])),e.addChild("textsColors",new n.LineToolColorsProperty([e.childs().textcolor])),e.addChild("backgroundsColors",new n.LineToolColorsProperty([e.childs().backgroundColor]))}}},lReN:function(e,t,i){"use strict";i.r(t), +i.d(t,"LineToolsGroupControllerApi",(function(){return o}));var s=i("s1Gx"),r=i("Eyy1"),n=i("CW80");class o{constructor(e,t){this._controller=e,this._model=t}createGroupFromSelection(){return this._controller.createGroupFromSelection().id}removeGroup(e){const t=Object(r.ensureDefined)(this._groupById(e));this._controller.removeGroup(t)}groups(){return this._controller.groups().map(e=>e.id)}shapesInGroup(e){const t=Object(r.ensureDefined)(this._groupById(e));return Object(s.sortSources)(t.lineTools()).map(e=>e.id())}excludeShapeFromGroup(e,t){const i=Object(r.ensureDefined)(this._groupById(e)),s=Object(r.ensureNotNull)(this._model.dataSourceForId(t));Object(r.assert)(Object(n.isLineTool)(s),"Passed shapeId is not a line tool"),this._controller.excludeLineToolFromGroup(i,s)}availableZOrderOperations(e){const t=Object(r.ensureDefined)(this._groupById(e));return this._controller.availableZOrderOperations(t)}bringToFront(e){const t=Object(r.ensureDefined)(this._groupById(e));this._controller.bringToFront(t)}bringForward(e){const t=Object(r.ensureDefined)(this._groupById(e));this._controller.bringForward(t)}sendBackward(e){const t=Object(r.ensureDefined)(this._groupById(e));this._controller.sendBackward(t)}sendToBack(e){const t=Object(r.ensureDefined)(this._groupById(e));this._controller.sendToBack(t)}insertAfter(e,t){const i=Object(r.ensureDefined)(this._groupById(e)),s=Object(r.ensureNotNull)(this._groupById(t)||this._model.dataSourceForId(t));this._controller.insertAfter(i,s)}insertBefore(e,t){const i=Object(r.ensureDefined)(this._groupById(e)),s=Object(r.ensureNotNull)(this._groupById(t)||this._model.dataSourceForId(t));this._controller.insertBefore(i,s)}groupVisibility(e){return Object(r.ensureDefined)(this._groupById(e)).visibility()}setGroupVisibility(e,t){const i=Object(r.ensureDefined)(this._groupById(e));this._controller.setGroupVisibility(i,t)}groupLock(e){return Object(r.ensureDefined)(this._groupById(e)).locked()}setGroupLock(e,t){const i=Object(r.ensureDefined)(this._groupById(e));this._controller.setGroupLock(i,t)}getGroupName(e){return Object(r.ensureDefined)(this._groupById(e)).name()}setGroupName(e,t){const i=Object(r.ensureDefined)(this._groupById(e));this._controller.setGroupName(i,t)}canBeGroupped(e){const t=e.map(e=>Object(r.ensureNotNull)(this._model.dataSourceForId(e)));return!t.some(e=>!Object(n.isLineTool)(e))&&this._controller.canBeGroupped(t)}_groupById(e){return this._controller.groups().find(t=>t.id===e)}}},lTLF:function(e,t,i){"use strict";i.r(t);var s=i("Hr11");class r{constructor(e,t){if(this._base=e,this._integralDividers=t,Object(s.isBaseDecimal)(this._base))this._fractionalDividers=[2,2.5,2];else{this._fractionalDividers=[];for(let e=this._base;1!==e;){if(e%2==0)this._fractionalDividers.push(2),e/=2;else{if(e%5!=0)throw new Error("unexpected base");this._fractionalDividers.push(2),this._fractionalDividers.push(2.5),e/=5}if(this._fractionalDividers.length>100)throw new Error("something wrong with base")}}}tickSpan(e,t,i){const r=0===this._base?0:1/this._base +;let n=Math.pow(10,Math.max(0,Math.ceil(Object(s.log10)(e-t)))),o=0,a=this._integralDividers[0];for(;;){const e=Object(s.greaterOrEqual)(n,r,1e-14)&&n>r+1e-14,t=Object(s.greaterOrEqual)(n,i*a,1e-14),l=Object(s.greaterOrEqual)(n,1,1e-14);if(!(e&&t&&l))break;n/=a,a=this._integralDividers[++o%this._integralDividers.length]}if(n<=r+1e-14&&(n=r),n=Math.max(1,n),this._fractionalDividers.length>0&&Object(s.equal)(n,1,1e-14))for(o=0,a=this._fractionalDividers[0];Object(s.greaterOrEqual)(n,i*a,1e-14)&&n>r+1e-14;)n/=a,a=this._fractionalDividers[++o%this._fractionalDividers.length];return n}}i.d(t,"PriceTickMarkBuilder",(function(){return n}));class n{constructor(e,t,i,s){this._marks=null,this._priceScale=e,this._base=t,this._coordinateToLogicalFunc=i,this._logicalToCoordinateFunc=s}base(){return this._base}setBase(e){if(e<0)throw new Error("base < 0");this._base=e}tickSpan(e,t,i=0){if(ei&&(c=h);const u=a.tickSpan(e,t,n);u>i&&(c=Math.min(c,u));const d=l.tickSpan(e,t,n);return d>i&&(c=Math.min(c,d)),c>0?c:e-t}rebuildTickMarks(){this._marks=null}marks(){return null===this._marks&&(this._marks=this._rebuildTickMarksImpl()),this._marks}_fontHeight(){return this._priceScale.fontSize()}_tickMarkHeight(){return Math.ceil(2.5*this._fontHeight())}_rebuildTickMarksImpl(){const e=this._priceScale,t=[],i=e.mainSource();if(e.isEmpty()||null===i)return{withoutEndingZerosIfPossible:[],full:[]};let s=i.firstValue();null===s&&(s=0);const r=e.height(),n=this._coordinateToLogicalFunc(r-1,s),o=this._coordinateToLogicalFunc(0,s),a=Math.max(n,o),l=Math.min(n,o);if(a===l)return{withoutEndingZerosIfPossible:[],full:[]};let c=this.tickSpan(a,l),h=a%c;h+=h<0?c:0;const u=a>=l?1:-1;let d=null;const p=e.formatter(),_=[];let m=!1,f=NaN;for(let g=a-h;g>l;g-=c){g===f&&(c=this.tickSpan(a,l,c)),f=g;const i=this._logicalToCoordinateFunc(g,s);if(null!==d&&Math.abs(i-d)=3600&&(o=f(Math.floor(n/3600))),n%=3600;const a=f(Math.floor(n/60));n%=60;const l=f(Math.floor(n));return null!==o?`${o}:${a}:${l}`:`${a}:${l}`}_updateRendererData(e,t,i){e.visible=!1,t.visible=!1;const s=this._source.properties();if(12===s.style.value())return;if(this._options.visibleOnHistoryOnly){const e=this._model.timeScale().visibleBarsStrictRange(),t=this._source.data().last();if(null===e||null===t||e.contains(t.index))return}const r=this._model.properties().scalesProperties;let n=r.showSeriesLastValue.value(),o=this._isCountdownEnabled()&&-1!==g.indexOf(s.style.value())&&s.showCountdown.value(),a=this._options.showSymbolLabel&&r.showSymbolLabels.value();const l=r.seriesLastValueMode.value()===m.PriceAxisLastValueMode.LastPriceAndPercentageValue,c=this._source.lastValueData(void 0,this._options.alwaysShowGlobalLast);if(c.noData)return;const h=8===s.style.value();if((n||o||a)&&h&&s.haStyle.showRealLastPrice.value()){const e=this._source.lastValueData(void 0,!1),t=this._source.lastValueData(void 0,!0);e.noData||t.noData||e.index!==t.index||(n=!1,o=!1,a=!1)}if(n||o){const t=this._axisFirstLineText(c,n);e.text=t,i.textColor=this.generateTextColor(i.background),e.textColor=i.textColor;const s=this._source.priceScale().isPercentage(),r=n&&l?s?c.formattedPriceAbsolute:c.formattedPricePercentage:"";e.secondLine=r,i.secondLineTextColor=i.textColor;const a=o?this._countdownText():"";this._previousCountdown=a,e.thirdLine=a,i.thirdLineTextColor=Object(u.generateColor)(i.textColor,25),0===t.length&&0===r.length&&0===a.length||(e.visible=!0)}a&&(t.text=this._paneText(a),t.visible=t.text.length>0),i.background=this._source.priceLineColor(c.color),i.coordinate=c.coordinate,i.floatCoordinate=c.floatCoordinate}_paneText(e){let t="";const i=this._source.symbolInfo();if(v)t+=i?i.exchange+" ":"";else if(e){let e=i&&Object(a.symbolCurrentContract)(i)||this._source.getSymbolName();e.length>40&&(e=e.substr(0,37)+"..."),t+=e+" "}return t.trim()}_axisFirstLineText(e,t){return t?e.text:""}_currentTime(){return Date.now()+1e3*this._source.serverTimeOffset()}}var y=i("TmNs"),w=i("k9/m");class C extends S{lastPrice(){return this._getSource().data().lastProjectionPrice}_updateRendererData(e,t,i){e.visible=!1,t.visible=!1;const s=this._getModel(),r=this._getSource(),n=r.priceScale(),o=s.timeScale(),a=this.lastPrice();if(o.isEmpty()||n.isEmpty()||void 0===a)return;const l=o.visibleBarsStrictRange();if(null===l)return;const c=l.firstBar(),d=l.lastBar(),p=r.data(),_=p.search(d,w.PlotRowSearchMode.NearestLeft);if(null===_)return +;const f=r.nearestIndex(c,w.PlotRowSearchMode.NearestRight);if(void 0===f)return;const g=r.model().properties().scalesProperties,v=Object(h.ensureNotNull)(p.valueAt(f))[TradingView.CLOSE_PLOT];let b=i.background,S=g.showSeriesLastValue.value(),y=!1,C=!1,P=!1;const x=r.lastValueData(TradingView.CLOSE_PLOT,!1),T=r.properties();if(8===T.style.value()&&T.haStyle.showRealLastPrice.value()){const e=r.lastValueData(TradingView.CLOSE_PLOT,!0);if(e.noData||e.color===i.background||(b=e.color),!e.noData&&!x.noData){const t=e.index===x.index;y=t&&g.showSymbolLabels.value(),C=g.seriesLastValueMode.value()===m.PriceAxisLastValueMode.LastPriceAndPercentageValue,S=S&&t,P=t&&this._isCountdownEnabled()&&T.showCountdown.value()}}else{b=r.barColorer().barStyle(_.index,!0).barColor}if(i.background=b,i.textColor=this.generateTextColor(b),i.secondLineTextColor=i.textColor,i.thirdLineTextColor=Object(u.generateColor)(i.textColor,25),i.coordinate=n.priceToCoordinate(a,v),e.visible=S||P,!x.noData){x.text=n.formatPrice(a,v),x.formattedPriceAbsolute=n.formatPriceAbsolute(a),x.formattedPricePercentage=n.formatPricePercentage(a,v),e.text=this._axisFirstLineText(x,S);const i=r.priceScale().isPercentage();e.secondLine=S&&C?i?x.formattedPriceAbsolute:x.formattedPricePercentage:"",e.thirdLine=P?this._countdownText():"",t.text=this._paneText(y)}t.visible=y}}var P=i("KtbP"),x=i("YFKU"),T=i("2ijp"),M=i("HGP3"),I=i("8Uy/");const L={light:{lineStyle:I.LINESTYLE_DOTTED,lineWidth:1,textColor:M.a["color-cold-gray-900"],backgroundColor:M.a["color-tv-blue-50"],lineColor:M.a["color-cold-gray-500"]},dark:{lineStyle:I.LINESTYLE_DOTTED,lineWidth:1,textColor:M.a["color-white"],backgroundColor:M.a["color-tv-blue-a800"],lineColor:M.a["color-cold-gray-500"]}};function O(e){return e?L.dark:L.light}class A extends T.a{constructor(e,t,i){super(),this._model=e,this._isVisible=t,this._getValue=i}_updateImpl(){const e=this._lineRendererData;if(e.visible=!1,!this._isVisible.value())return;const t=this._model.mainSeries(),i=t.priceScale(),s=t.firstValue(),r=this._getValue();if(null===s||null===r)return;const n=O(this._model.isDark());e.visible=!0,e.y=i.priceToCoordinate(r,s),e.linestyle=n.lineStyle,e.linewidth=n.lineWidth,e.color=n.lineColor}}class E extends p.a{constructor(e,t,i,s){super(),this._model=e,this._label=t,this._isVisible=i,this._getValue=s}_updateRendererData(e,t,i){if(e.visible=!1,t.visible=!1,!this._isVisible.value())return;const s=this._model.mainSeries(),r=s.priceScale(),n=s.firstValue(),o=this._getValue();if(null===n||null===o)return;const a=O(this._model.isDark());e.visible=!0,t.visible=!0,e.text=r.formatPriceAbsolute(o),t.text=this._label,i.coordinate=r.priceToCoordinate(o,n),i.background=a.backgroundColor,i.textColor=a.textColor}}class k extends y.PriceLineAxisView{constructor(e,t,i){super(),this._model=e,this._isLineVisible=t,this._getValue=i}_isVisible(){return this._isLineVisible.value()}_lineWidth(){return O(this._model.isDark()).lineWidth}_lineStyle(){return O(this._model.isDark()).lineStyle}_priceLineColor(e){return O(this._model.isDark()).lineColor +}_value(){const e=this._model.mainSeries(),t=e.priceScale(),i=e.firstValue(),s=this._getValue();if(null===i||null===s)return{noData:!0};const r=t.priceToCoordinate(s,i);return{noData:!1,floatCoordinate:r,coordinate:r,color:"",formattedPricePercentage:"",formattedPriceAbsolute:"",text:"",index:0}}}const D=Object(x.t)("High"),V=Object(x.t)("Low"),B=Object(x.t)("Avg");function R(e,t,i,s,r,n){const o=new A(e,r,n),a=new E(e,i,s,n);return{paneView:o,panePriceAxisView:new P.PanePriceAxisView(a,t,e),priceAxisView:a,priceLineAxisView:new k(e,r,n)}}var N=i("C2K+"),j=i("WPIy"),F=i("aIyQ"),W=i.n(F),H=i("ogJP"),z=i("xDuj");i.d(t,"SeriesBase",(function(){return q}));const U=_.enabled("price_scale_always_last_bar_value"),G={countdownEnabled:!0};class q extends s.PriceDataSource{constructor(e,t,i){super(e),this.extendedHours=new o.a,this.requestingIntradayWhenNotSupported=new W.a,this.requestingResolutionWhenNotSupported=new W.a,this._paneView=null,this._priceStep=null,this._symbolInfo=null,this._isPrePostMarketPricesForbiddenProperty=new o.a(!0),this._highLowAvgPriceCache=new Map,this._prevClosePriceAxisView=null,this._priceScaleChanged=new W.a,this._priceScaleAboutToBeChanged=new W.a,this._currency=null,this._unit=null,this._base=100,this._pointValue=1,this._formatter=new l.PriceFormatter(this._base),this._ignoreMinMoveFormatter=new l.PriceFormatter(this._base),this._ignoreMinMovePriceStep=null,this._lastBarCloseTime=null,this._quotesProvider=new c.a,this._quotesProvider.quotesUpdate().subscribe(this,this._onQuotesUpdate),this._setProperties(t),this._options=Object(H.merge)(Object(H.clone)(G),i);const s=new S(this,e,{alwaysShowGlobalLast:!0,showCountdown:i.countdownEnabled});this._priceAxisView=s;let r=null;U||(r=new S(this,e,{visibleOnHistoryOnly:!0,showSymbolLabel:!1,showCountdown:!1,alwaysShowGlobalLast:!1})),this._priceLinePriceAxisView=new y.SeriesPriceLineAxisView(this),this._priceLineAxisViews=[this._priceLinePriceAxisView];const n=new C(this,e,{showCountdown:i.countdownEnabled});this._priceAxisViews=[s,n],null!==r&&this._priceAxisViews.push(r),this._panePriceAxisView=new P.PanePriceAxisView(s,this,e),this._historyPricePanePriceAxisView=null!==r?new P.PanePriceAxisView(r,this,e):null,this._projectionPriceAxisView=new P.PanePriceAxisView(n,this,e),this._labelPaneViews=[this._panePriceAxisView,this._projectionPriceAxisView],null!==this._historyPricePanePriceAxisView&&this._labelPaneViews.push(this._historyPricePanePriceAxisView),this._highLowAvgPaneViews=[],this._createHighLowAvgViews()}destroy(){this._quotesProvider.quotesUpdate().unsubscribeAll(this),this._model.timeScale().visibleBarsStrictRangeChanged().unsubscribeAll(this)}quotesProvider(){return this._quotesProvider}labelPaneViews(){return this._labelPaneViews}clearHighLowAvgPriceCache(){this._highLowAvgPriceCache.clear()}priceScaleChanged(){return this._priceScaleChanged}priceScaleAboutToBeChanged(){return this._priceScaleAboutToBeChanged}symbolInfo(){return this._symbolInfo}symbolResolved(){return this.dataEvents().symbolResolved()}formatter(e=!0){ return e?this._formatter:this._ignoreMinMoveFormatter}priceStep(e=!0){return e?this._priceStep:this._ignoreMinMovePriceStep}prevClose(){if(this.priceScale().isEmpty()||this.data().isEmpty())return null;const e=this.quotes(),t=this.firstValue();if(null===e||null===t)return null;const i=e.prev_close_price;return void 0===i?null:{coordinate:this.priceScale().priceToCoordinate(i,t),floatCoordinate:this.priceScale().priceToCoordinate(i,t),text:this.priceScale().formatPrice(i,t)}}hasClosePrice(){return 12!==this.properties().style.value()}nearestValue(e,t,i){const s=this.nearestData(e,i);return s?s.value[t]:void 0}autoScaleInfo(e,t){const i=this.priceRange(e,t);if(null===this._paneView)return{range:i};const s=this._paneView;return{range:i,topPixelMargin:s.topPixelMargin?s.topPixelMargin():void 0,bottomPixelMargin:s.bottomPixelMargin?s.bottomPixelMargin():void 0}}isPrePostMarketPricesForbiddenProperty(){return this._isPrePostMarketPricesForbiddenProperty}quotes(){return this.data().isEmpty()?null:this._quotesProvider.quotes()}base(){return this._base}pointValue(){return this._pointValue}barCloseTime(){return this._lastBarCloseTime}setSymbol(e){return this.properties().symbol.setValue(e)}currency(){return this.properties().currencyId.value()||null}setCurrency(e){this.properties().currencyId.setValue(e)}isConvertedToOtherCurrency(){return Object(a.isConvertedToOtherCurrency)(this.symbolInfo())}unit(){return this.properties().unitId.value()||null}setUnit(e){this.properties().unitId.setValue(e)}isConvertedToOtherUnit(){return Object(a.isConvertedToOtherUnit)(this.symbolInfo())}symbolSource(){return this}title(){return this.symbolTitle()}symbolTitle(e,t){let i=this.properties().symbol.value();const s=this.symbolInfo();return null!==s&&(i=Object(a.symbolTitle)(s,e)),t?i:`${i}, ${Object(z.translatedIntervalString)(this.properties().interval.value())}`}valuesProvider(){return new N.a(this,this.model())}statusProvider(e){return new j.a(this,this._model.properties().scalesProperties.textColor,this.properties().statusViewStyle,e)}open(e){const t=this.data().valueAt(e);return t&&t[1]}high(e){const t=this.data().valueAt(e);return t&&t[2]}low(e){const t=this.data().valueAt(e);return t&&t[3]}close(e){const t=this.data().valueAt(e);return t&&t[4]}moveItem(e,t,i){if(10===this.style()&&0===t){const t=this.priceScale(),i=this.properties().baselineStyle,s=t.height(),r=100-e.y/s*100,n=r<0?0:Math.round(10*r)/10;i.baseLevelPercentage.setValue(Math.max(Math.min(n,100),0))}}_isExtendedHoursAllowed(){return Boolean(this._symbolInfo&&this._symbolInfo.has_extended_hours)}_recreateFormatter(){this._formatter=Object(a.createSeriesFormatter)(this.symbolInfo(),this.properties().minTick.value()),this._ignoreMinMoveFormatter=Object(a.createSeriesFormatter)(this.symbolInfo(),this.properties().minTick.value(),!0),this.priceScale()&&this.priceScale().updateFormatter(),this._formatterChanged.fire()}_recreatePriceStep(){const{minMove:e,priceScale:t}=Object(a.getSeriesPriceFormattingState)(this.symbolInfo()),i=e/t;this._ignoreMinMovePriceStep=1/t, this._priceStep!==i&&(this._priceStep=i,this._priceStepChanged.fire())}_recreatePriceFormattingDependencies(){this._recreateFormatter(),this._recreatePriceStep()}_updateIsPrePostMarketPricesForbiddenProperty(){const e=!this.isDWM()&&this.extendedHours.value()||!this._isExtendedHoursAllowed();this._isPrePostMarketPricesForbiddenProperty.setValue(e)}_changeCurrency(){this.setSymbolIntervalCurrencyDelayed(),this.model().checkLineToolSelection(),this._currencyChanged.fire()}_changeUnit(){this.setSymbolIntervalCurrencyDelayed(),this.model().checkLineToolSelection(),this._unitChanged.fire()}_checkCurrencyWillChanged(e){return this._currency!==e}_checkUnitWillChanged(e){return this._unit!==e}_createHighLowAvgViews(){const e=this.properties().highLowAvgPrice,t=this._getHighLowAvgPrice.bind(this),i=function(e,t,i,s){const r=i.childs(),n=R(e,t,D,r.highLowPriceLabelsVisible,r.highLowPriceLinesVisible,()=>s(0)),o=R(e,t,V,r.highLowPriceLabelsVisible,r.highLowPriceLinesVisible,()=>s(1)),a=R(e,t,B,r.averageClosePriceLabelVisible,r.averageClosePriceLineVisible,()=>s(2));return{paneViews:[n.paneView,o.paneView,a.paneView],panePriceAxisViews:[n.panePriceAxisView,o.panePriceAxisView,a.panePriceAxisView],priceAxisViews:[n.priceAxisView,o.priceAxisView,a.priceAxisView],priceLineAxisViews:[n.priceLineAxisView,o.priceLineAxisView,a.priceLineAxisView]}}(this._model,this,e,t);this._highLowAvgPaneViews.push(...i.paneViews),this._labelPaneViews.push(...i.panePriceAxisViews),this._priceAxisViews.push(...i.priceAxisViews),this._priceLineAxisViews.push(...i.priceLineAxisViews)}_getHighLowAvgPrice(e){if(!this._highLowAvgPriceCache.has(e)){const t=this._model.timeScale().visibleBarsStrictRange();if(null===t)return null;const i=this._model.mainSeries().bars(),s=t.firstBar(),n=t.lastBar();if(2===e){const e=function(e,t,i){const s=Object(r.barFunction)("close");let n=0,o=0;for(let r=t;r<=i;r++){const t=e.valueAt(r);null!==t&&(n+=s(t),o++)}return o?n/o:null}(i,s,n);if(null===e)return null;this._highLowAvgPriceCache.set(2,e)}else{const e=function(e,t,i){return e.minMaxOnRangeCached(t,i,[{name:"low",offset:0},{name:"high",offset:0}])}(i,s,n);if(null===e)return null;this._highLowAvgPriceCache.set(1,e.min),this._highLowAvgPriceCache.set(0,e.max)}}return this._highLowAvgPriceCache.get(e)}}},"lW/c":function(e,t,i){"use strict";i.r(t);i("YFKU");var s=i("hY0g"),r=i.n(s),n=i("HySD");class o{constructor(e){this._document=e,this.isFullscreen=new r.a;const t=()=>{const e=["fullscreenElement","webkitFullscreenElement","mozFullscreenElement","mozFullScreenElement","msFullscreenElement"];for(let t=0;t{this.isVisible.setValue(!e[r])},i(),e.addEventListener(t,i,!1);break}}this.destroy=()=>{i&&(e.removeEventListener(t,i,!1),i=null)}}}var l=i("mNbo"),c=i("Eyy1"),h=i("qFKp");i.d(t,"Root",(function(){return u}));class u{constructor(e){this._updateDocumentHeight=e=>{"visual"===this._viewportType&&this._window.document.documentElement.style.setProperty("height",e+"px","important")},this._window=e,this._fullscreenApi=new o(e.document),this._viewportType=h.isChrome||Object(l.a)("any")||!this._window.visualViewport?"quirks":"visual","visual"===this._viewportType?this._viewport=Object(c.ensureDefined)(this._window.visualViewport):this._viewport=this._window;const t=this._layoutSizeSensor=this._window.document.createElement("div");t.id="layout-size-sensor",t.style.position="fixed",t.style.top="0",t.style.left="0",t.style.right="0",t.style.bottom="0",t.style.pointerEvents="none",t.style.visibility="hidden",this._initFullscreen()}allocate(){this.free();const e=this._window.document,t=e.createElement("div");t.classList.add("js-rootresizer__contents"),t.style.position="relative",t.style.width="100%",t.style.height="100%",e.body.insertAdjacentElement("afterbegin",t),e.body.insertAdjacentElement("afterbegin",this._layoutSizeSensor),this._visibilityApi=new a(this._window.document);const i={alive:new r.a(!0),fullscreenable:new r.a(!0),container:new r.a(t),width:new r.a,height:new r.a,availWidth:new r.a,availHeight:new r.a,visible:this._visibilityApi.isVisible,fullscreen:this._fullscreenApi.isFullscreen,remove:()=>{i.alive.setValue(!1)},attach:()=>{i.alive.setValue(!1),this._window.close()},requestFullscreen:()=>{this._requestFullscreen()},exitFullscreen:()=>{this._exitFullscreen()}};return i.alive.subscribe(e=>{e||i!==this._area||this.free()}),this._area=i,this._resizeHandler=()=>{const e=this._width(i)||800,t=this._height(i)||600;i.availHeight.setValue(t),i.availWidth.setValue(e),i.height.setValue(t),i.width.setValue(e)},this._area.height.subscribe(this._updateDocumentHeight,{callWithLast:!0}),this._resizeHandler(),this._viewport.addEventListener("resize",this._resizeHandler),new n.ResizerDetacherState(i).bridge()}free(){if(this._resizeHandler&&(this._viewport.removeEventListener("resize",this._resizeHandler),this._resizeHandler=void 0),this._visibilityApi&&(this._visibilityApi.destroy(),this._visibilityApi=void 0),this._area){const e=this._area;this._area=void 0,e.height.unsubscribe(this._updateDocumentHeight),e.alive.setValue(!1);const t=e.container.value(),i=null==t?void 0:t.parentElement;i&&(i.removeChild(t),i.removeChild(this._layoutSizeSensor))}}_height(e){if("visual"===this._viewportType)return this._layoutSizeSensor.clientHeight @@ -614,120 +614,120 @@ const t=Object(s.ensureNotNull)(this._model().paneForSource(e)),i=r.get(t)||[];i this._hittest=new o.HitTestResult(o.HitTestResult.MOVEPOINT)}setData(e){this._data=e}setHitTest(e){this._hittest=e}draw(e,t){const i=this._data;if(null===i)return;if("points"in i&&i.points.length<2)return;if("floatPoints"in i&&i.floatPoints.length<2)return;const s=t.pixelRatio;e.lineCap="butt",e.strokeStyle=i.color,e.lineWidth=Math.max(1,Math.floor(i.linewidth*s)),Object(a.setLineStyle)(e,i.linestyle);const r="floatPoints"in i?i.floatPoints:i.points,n=r[0],o=r[1];let l=[];i.overlayLineEndings?l=[n.clone(),o.clone()]:this._drawEnds(e,[n,o],i.linewidth,s);const h=this._extendAndClipLineSegment(n,o,t);null!==h&&i.linewidth>0&&(h[0].x===h[1].x?Object(c.drawVerticalLine)(e,Math.round(h[0].x*s),h[0].y*s,h[1].y*s):h[0].y===h[1].y?Object(c.drawHorizontalLine)(e,Math.round(h[0].y*s),h[0].x*s,h[1].x*s):Object(a.drawLine)(e,h[0].x*s,h[0].y*s,h[1].x*s,h[1].y*s)),i.overlayLineEndings&&this._drawEnds(e,l,i.linewidth,s)}hitTest(e,t){const i=this._data;if(null===i)return null;if("points"in i&&i.points.length<2)return null;if("floatPoints"in i&&i.floatPoints.length<2)return null;const s=Object(l.interactionTolerance)().line,n="floatPoints"in i?i.floatPoints:i.points,o=n[0],a=n[1],c=this._extendAndClipLineSegment(o,a,t);if(null!==c){if(Object(r.distanceToSegment)(c[0],c[1],e).distance<=s)return this._hittest}return null}_extendAndClipLineSegment(e,t,i){const r=Object(s.ensureNotNull)(this._data);return Object(l.extendAndClipLineSegment)(e,t,i.cssWidth,i.cssHeight,r.extendleft,r.extendright)}_drawEnds(e,t,i,r){const o=t[0],a=t[1],l=Object(s.ensureNotNull)(this._data);switch(l.leftend){case n.LineEnd.Arrow:u(a,o,e,i,r);break;case n.LineEnd.Circle:h(o,e,i,Object(s.ensureDefined)(l.endstyle),r)}switch(l.rightend){case n.LineEnd.Arrow:u(o,a,e,i,r);break;case n.LineEnd.Circle:h(a,e,i,Object(s.ensureDefined)(l.endstyle),r)}}}},pKDv:function(e,t,i){"use strict";i.r(t),i.d(t,"LineToolABCD",(function(){return a}));var s=i("Eyy1"),r=i("Ocx9"),n=i("Ss5c"),o=i("j3hX");class a extends n.LineDataSource{constructor(e,t){const s=t||a.createProperties();super(e,s),i.e("lt-pane-views").then(i.bind(null,"bFMU")).then(t=>{this._setPaneViews([new t.ABCDPaneView(this,e)])})}pointsCount(){return 4}name(){return"ABCD Pattern"}properties(){return super.properties()}static createProperties(e){const t=new r.DefaultProperty("linetoolabcd",e);return a._configureProperties(t),t}_getPropertyDefinitionsViewModelClass(){return Promise.all([i.e(33),i.e("lt-property-pages-with-definitions")]).then(i.bind(null,"aMeN")).then(e=>e.PatternWithoutBackgroundDefinitionsViewModel)}static _configureProperties(e){n.LineDataSource._configureProperties(e),e.addChild("linesColors",new o.LineToolColorsProperty([Object(s.ensureDefined)(e.child("color"))])),e.addChild("textsColors",new o.LineToolColorsProperty([Object(s.ensureDefined)(e.child("textcolor"))]))}}},pOzK:function(e,t,i){"use strict";i.r(t),i.d(t,"SetPriceScaleModeCommand",(function(){return n}));var s=i("Ocx9"),r=i("RDU5");class n extends r.UndoCommand{constructor(e,t,i,s){super(i),this._newMode=e, this._priceScaleId=t.id(),this._model=s,this._oldMode=t.mode()}redo(){this._applyMode(this._newMode)}undo(){this._applyMode(this._oldMode)}_applyMode(e){const t=this._findPriceScaleById();null!==t&&(Object(s.saveDefaultProperties)(!0),t.setMode(e),Object(s.saveDefaultProperties)(!1),this._model&&(this._model.recalculateAllPanes(),this._model.lightUpdate()))}_findPriceScaleById(){const e=this._model.panes();for(let t=0;tm(e)===i):t.isSeconds()?Boolean(o.linking.seconds.value()):t.isTicks()?Boolean(o.linking.ticks.value()):t.isIntraday()?Boolean(o.linking.intraday.value()):t.isDWM()}function g(e){s.Interval.isValid(e)&&(s.Interval.isRange(e)?n.setValue("chart.lastUsedRangeResolution",e):n.setValue("chart.lastUsedTimeBasedResolution",e))}function v(e){const t=n.getValue("chart.lastUsedRangeResolution");if(void 0!==t&&s.Interval.isRange(t))return t;let i="100R";for(const r of e){const e=s.Interval.parse(r);if(e.isRange()){const t=e.value();if("100R"===t)return t;i=t}}return i}function b(e){const t=n.getValue("chart.lastUsedTimeBasedResolution");if(void 0!==t&&s.Interval.isTimeBased(t))return t;let i="1D";for(const r of e){const e=s.Interval.parse(r);if(e.isTimeBased()){const t=e.value();if("1D"===t)return t;i=t}}return i}function S(e){return e?"100R":"1D"}function y(e,t,i){const n=r.isRangeStyle(e),o=s.Interval.isRange(t);return!n&&o?b(i):n&&!o?v(i):t}function w(e){return s.Interval.isRange(e)?"1":e}function C(e){const t=s.Interval.parse(e),i=P(t.kind()),r=t.multiplier();return t.isValid()&&r<=i}function P(e){const t=d[e];return Number.isNaN(t)?1:t}function x(e){return P(s.Interval.kind(e))}function T(e){const t=M(n.getJSON(e,[]));return l()(t.filter(C).map(m))}function M(e){return Array.isArray(e)?e:Object.keys(e).map(s.Interval.normalize).filter(c.notNull)}function I(...e){let t=[].concat(...e);return t=l()(t.filter(C).map(m)),L(t)}function L(e){return e.sort(A)}function O(e){const t=s.Interval.parse(e),i=t.multiplier()||1;return t.isMinuteHours()?[s.SpecialResolutionKind.Hours,i/60]:[t.kind(),i]}function A(e,t){const[i,s]=O(e),[r,n]=O(t);return i!==r?p[i]-p[r]:s-n}function E(){return[]}function k(e){const{multiplier:t,shortKind:i}=D(e);return`${t}${i}`}function D(e,t){const i=s.Interval.parse(e);let r=i.multiplier(),n=i.kind();if(!i.isValid()){if(t)return null;throw new TypeError("Can't translate invalid interval")}return i.isMinuteHours()&&(r=Math.floor(r/60),n=s.SpecialResolutionKind.Hours),{multiplier:r.toString(),shortKind:V(n),hint:`${r} ${V(n,r)}`,mayOmitMultiplier:i.isDWM()&&1===r,mayOmitShortKind:i.isMinutes()&&!i.isMinuteHours()}}function V(e,t){if(!t)return _[e];switch(e){case s.ResolutionKind.Ticks:return window.t("tick",{plural:"ticks",count:t});case s.ResolutionKind.Days:return window.t("day",{plural:"days",count:t});case s.ResolutionKind.Weeks:return window.t("week",{plural:"weeks",count:t});case s.ResolutionKind.Months:return window.t("month",{plural:"months",count:t});case s.ResolutionKind.Seconds:return window.t("second",{plural:"seconds",count:t});case s.ResolutionKind.Minutes:return window.t("minute",{plural:"minutes",count:t});case s.SpecialResolutionKind.Hours:return window.t("hour",{plural:"hours",count:t});case s.ResolutionKind.Range:return window.t("range",{plural:"ranges",count:t});default:return e}}function B(){return u.a.enabled("seconds_resolution")}function R(){return u.a.enabled("tick_resolution")}},"pQ+n":function(e,t,i){"use strict";function s(e,t){ -const i=new Set,s=t=>{e.children(t,!1).forEach(e=>{i.has(e)||(i.add(e),s(e))})};return t.forEach(s),t.filter(e=>!i.has(e)).map(t=>function e(t,i){let s=[];const r=t.children(i,!1);for(let n=0;ne.concat(t),[])}i.d(t,"a",(function(){return s}))},pZll:function(e,t,i){"use strict";i.r(t);var s=i("eqEH");const r={id:"SymbolSearchUIService"};var n=i("u5Q5");class o{bindToInput(e,t){return Object(n.bindToInput)(e,t)}}var a=i("PT1i"),l=i("h24c");class c{constructor(){this._symbolGetter=null,this._deferredItems=[],this._symbolSearchActive=!1}setSymbolGetter(e){this._symbolGetter=e,this._deferredItems.forEach(t=>{this._bindToInputImpl(e,t.input,t.options)}),this._deferredItems=[]}bindToInput(e,t){return null===this._symbolGetter?this._deferredItems.push({input:e,options:t}):this._bindToInputImpl(this._symbolGetter,e,t),Promise.resolve({destroy:()=>{},acceptTypeIn:()=>{}})}_bindToInputImpl(e,t,i){const s=$(t);let r=(e,t)=>{};const n=()=>{s.blur(),this._symbolSearchActive||(this._symbolSearchActive=!0,i.currentSymbol=s.val(),e.getSymbol(i).then(e=>{s.blur(),s.trigger("accept-symbol",[e.symbol]),i.callback&&i.callback(e.symbol,e.interval),i.syncWithChartWidget&&!Object(l.skipAccept)(e.symbol,e.interval)&&r(e.symbol,e.interval),!0===i.clearAfterAccept?s.val(""):(""===s.val()&&i.onEmptyApply&&i.onEmptyApply(),s.val(e.symbol)),this._symbolSearchActive=!1}).catch(()=>{s.blur(),this._symbolSearchActive=!1}))},o=e=>{e.preventDefault(),n()};if(i.syncWithChartWidget){Object(l.syncSymbolSearch)(s,!0),a.linking.seriesShortSymbol.subscribe(()=>{Object(l.syncSymbolSearch)(s,!0)});let e=!1;r=(t,i)=>{e=!(t||i),t&&a.linking.symbol.setValue(t),i&&Object(l.setLinkingResolution)(i)},i.syncOnBlur&&s.on("blur",()=>{e&&(Object(l.syncSymbolSearch)(s,!0),e=!1)})}s.focus(n),s.keypress(o),s.keydown(o)}}function h(){return Object(s.service)(r)}i.d(t,"symbolSearchUIService",(function(){return h})),Object(s.hasService)(r)||(window.initData&&window.initData.is_mobile_new?Object(s.registerService)(r,new c):Object(s.registerService)(r,new o))},pvsv:function(e,t,i){"use strict";function s(e,t){Promise.all([i.e("react"),i.e(1),i.e(3),i.e(6),i.e(62),i.e(95),i.e(0),i.e(5),i.e("symbol-info-dialog-impl")]).then(i.t.bind(null,"1Z/g",7)).then(i=>{i.showSymbolInfoDialog(e,t)})}i.r(t),i.d(t,"showSymbolInfoDialog",(function(){return s}))},qE4g:function(e,t,i){"use strict";i.r(t);var s=i("hbEN"),r=i("aO4+"),n=i("f6yo"),o=i("Kxc7"),a=i("oV8k"),l=i("VdBB"),c=i("9uLv"),h=i("Tmoa"),u=i("//lZ"),d=i("gAom"),p=i("ikwP"),_=i("eJTA");const m=i("/b+7");var f=i("zDbI").CHART_FONT_FAMILY -;const g=o.enabled("adaptive_logo"),v=o.enabled("small_no_display"),b=o.enabled("38914"),S="Ch{0}ar{1}t{2}by{3}{4}".format("",""," "," ","TradingView"),y="po{0}wer{1}ed{2}by{3}{4}".format("",""," "," ","TradingView"),w="by{3}{4}".format("",""," "," ","TradingView"),C=b?w:y,P=navigator.userAgent.toLowerCase().indexOf("firefox")>-1,x=P&&navigator.userAgent.toLowerCase().indexOf("windows")>-1,T=navigator.userAgent.toLowerCase().indexOf("chrome")>-1&&-1===navigator.userAgent.toLowerCase().indexOf("edge"),M=window.urlParams||{};window.initData;function I(e,t,i){const s=Object(p.createDisconnectedBoundCanvas)(document,new p.Size(t,i));return Object(p.getPrescaledContext2D)(s.canvas).drawImage(e,0,0,t,i),s}function L(e){return!g||e>500}M.no_referral_id&&enable(M.referral_id||"","aggressive");class O{constructor({layout:e="site_branding",symbol:t="",model:i,onReadyCallback:s}){this._model=i,this._image=null,this._imageReady=!1,this._needDisplayImage=!1,this._imageWidth=22,this._imageHeight=13,this._layout=e,this._symbol=t,this.showAnimatedBranding=o.enabled("show_animated_logo")||"widget_branding"===this._layout,this.show=!0,this.width=100,this.height=14,this._bottomShift=0,this._brandCircleSize=32,this._animatedWidth=this._brandCircleSize,this._animatedOpacity=0,this.width=this.showAnimatedBranding?this._brandCircleSize:100,this.height=14,this._fillColor=c.color.brandNew,this._colorOldBlue=c.color.brandNew2,this._colorOldGray=c.color.black30,this._strokeColor=c.color.black255,this._brandCircleShadowColor=c.color.black0,this._strokeWidth=4,this._fontSize=this.showAnimatedBranding?11:14,this._font="px "+f,this._txt="TradingView",this._onReadyCallback=s,this._upscaleRatio=T?1:2,this._verticalTextShift=P?this.showAnimatedBranding?2:4:0,this._strokeCanv=null,this._fillCanv=null,this._init()}_init(){this._checkLayout(),this.show&&(this._updateStrokeColor(),this.showAnimatedBranding?(this._loadImage(m,"tvLogo"),this._createFillText()):this._loadImage(m,"tvLogo"),this._model.properties().paneProperties.background.subscribe(this,this._updateStrokeColor),this._model.onChartThemeLoaded().subscribe(this,this._updateStrokeColor))}_updateStrokeColor(){const e=Object(h.getLuminance)(this._model.properties().paneProperties.background.value());this._strokeCanv=null,this._fillCanv=null,e>.2?(this._brandCircleColor=c.color.black255,this._animatedColorBg=c.color.black255,this._brandCircleShadowOpacity=.09,this._strokeOpacity=.8):(this._brandCircleColor=c.color.black27,this._animatedColorBg=c.color.black27,this._brandCircleShadowOpacity=.09,this._strokeOpacity=.1)}_loadImage(e,t){if(this._needDisplayImage){this._image={canvas:new Image},this.showAnimatedBranding&&(this._imageWhite={canvas:new Image});var i=e.replace(/fill="#[\da-f]{6}"/i,'fill="#FFFFFF"');this._image.canvas.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(e),this.showAnimatedBranding&&(this._imageWhite.canvas.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(i)),this._image.canvas.addEventListener("load",()=>{ -x&&(this._image=I(this._image.canvas,this._imageWidth,this._imageHeight)),this._imageReady=!0,"function"==typeof this._onReadyCallback&&this._onReadyCallback()})}}_checkLayout(){switch(this._layout){case"widget_branding":case"widget_referral_branding":case"widget_custom_branding":case"fundamental_branding":case"fundamental_custom_branding":case"library_custom_branding":case"library_branding":case"site_branding":this.show=!0;break;case"widget_custom_no_powered_branding":case"fundamental_custom_no_powered_branding":case"library_custom_no_powered_branding":this.show=!1}switch(this._layout){case"library_branding":this._needDisplayImage=!0,this._txt=window.t(S);break;case"library_custom_branding":this._txt=window.t(C)}}_drawTextStroke(e){if(!this._strokeCanv){this._strokeCanv=Object(p.createDisconnectedBoundCanvas)(document,new p.Size(0,0));let e=Object(p.getPretransformedContext2D)(this._strokeCanv);const t=Math.round(this._strokeWidth*this._upscaleRatio);e.font=this._fontSize*this._upscaleRatio+this._font,this._textWidth=e.measureText(this._txt).width+2;let i=this._textWidth+2*t,s=(this._fontSize+2*t)*this._upscaleRatio;i%2==0&&(i+=1,s+=1),this._strokeCanv.resizeCanvas({width:i,height:s}),e=Object(p.getPretransformedContext2D)(this._strokeCanv),e.textBaseline="top",e.textAlign="start",e.font=this._fontSize*this._upscaleRatio+this._font,e.strokeStyle=this._strokeColor,e.lineWidth=this._strokeWidth*this._upscaleRatio,e.lineJoin="round",e.strokeText(this._txt,t,this._verticalTextShift)}e.save(),e.globalAlpha=this._strokeOpacity,e.drawImage(this._strokeCanv.canvas,0,0,this._strokeCanv.canvas.width,this._strokeCanv.canvas.height,0,0,this._strokeCanv.canvas.width/this._upscaleRatio/this._strokeCanv.pixelRatio,this._strokeCanv.canvas.height/this._upscaleRatio/this._strokeCanv.pixelRatio),e.restore()}_drawTextFill(e){this._createFillText(),e.save(),e.drawImage(this._fillCanv.canvas,0,0,this._fillCanv.canvas.width,this._fillCanv.canvas.height,0,0,this._fillCanv.canvas.width/this._upscaleRatio/this._fillCanv.pixelRatio,this._fillCanv.canvas.height/this._upscaleRatio/this._fillCanv.pixelRatio),e.restore()}_createFillText(){if(null!==this._fillCanv)return;this._fillCanv=Object(p.createDisconnectedBoundCanvas)(document,new p.Size(0,0));let e=Object(p.getPretransformedContext2D)(this._fillCanv);const t=Math.round(this._strokeWidth*this._upscaleRatio);e.font=this._fontSize*this._upscaleRatio+this._font,void 0===this._textWidth&&(this._textWidth=Math.round(e.measureText(this._txt).width)+2),this._setSizeFillTextCanvas(t),e=Object(p.getPretransformedContext2D)(this._fillCanv),e.textBaseline="top",e.textAlign="start",e.font=this._fontSize*this._upscaleRatio+this._font,e.fillStyle=this._fillColor,e.fillText(this._txt,t,this._verticalTextShift)}_updateFillTextWithColor(e){const t=Math.round(this._strokeWidth*this._upscaleRatio);this._setSizeFillTextCanvas(t);const i=Object(p.getPretransformedContext2D)(this._fillCanv);i.clearRect(0,0,this._fillCanv.canvas.width,this._fillCanv.canvas.height),i.textBaseline="top",i.textAlign="start", -i.font=this._fontSize*this._upscaleRatio+this._font,i.fillStyle=e,i.fillText(this._txt,t,this._verticalTextShift)}_setSizeFillTextCanvas(e){let t=this._textWidth+2*e,i=(this._fontSize+2*e)*this._upscaleRatio;t%2==0&&(t+=1,i+=1),this._fillCanv.resizeCanvas({width:t,height:i})}_drawFillTextCropWidth(e,t,i){this._fillCanv?this._updateFillTextWithColor(i):this._createFillText(),e.save(),e.drawImage(this._fillCanv.canvas,0,0,t*this._upscaleRatio*this._fillCanv.pixelRatio,this._fillCanv.canvas.height,0,0,t,this._fillCanv.canvas.height/this._upscaleRatio/this._fillCanv.pixelRatio),e.restore()}_drawBgCircle(e){e.save(),e.beginPath(),e.fillStyle=this._brandCircleShadowColor,e.globalAlpha=this._brandCircleShadowOpacity,e.arc(this._imageWidth/2,this._imageHeight/2,this._brandCircleSize/2+1,0,2*Math.PI),e.fill(),e.closePath(),e.restore(),e.save(),e.beginPath(),e.fillStyle=this._brandCircleColor,e.arc(this._imageWidth/2,this._imageHeight/2,this._brandCircleSize/2,0,2*Math.PI,!1),e.fill(),e.closePath(),e.restore()}_drawFillRectWithRoundedCorner(e,t,i,s,r,n,o){e.save(),Object(d.drawRoundRect)(e,t-1,i-1,s+2,r+2,n),e.globalAlpha=this._brandCircleShadowOpacity,e.fillStyle=this._brandCircleShadowColor,e.fill(),e.closePath(),e.restore(),e.save(),Object(d.drawRoundRect)(e,t,i,s,r,n),e.fillStyle=o,e.fill(),e.closePath(),e.restore()}_drawImageWithColor(e){e.save(),e.globalAlpha=this._animatedOpacity,e.drawImage(this._imageWhite.canvas,0,-.5,this._imageWidth,this._imageHeight),e.restore(),e.save(),e.globalAlpha=1-this._animatedOpacity,e.drawImage(this._image.canvas,0,-.5,this._imageWidth,this._imageHeight),e.restore()}destroy(){this._model.properties().paneProperties.background.unsubscribeAll(this),this._model.onChartThemeLoaded().unsubscribeAll(this)}bottomShift(){return this._bottomShift}hasAnimation(){return this.showAnimatedBranding}minimizedAnimationWidth(){return this._brandCircleSize}maximizedAnimationWidth(){return this._createFillText(),this._fillCanv.canvas.width/this._upscaleRatio/this._fillCanv.pixelRatio+this._brandCircleSize-3}animatedDrawStep(e,t){this._animatedWidth=t;const i=this._animatedWidthr&&(e.translate(this._imageWidth/2+s,.5),this._drawFillTextCropWidth(e,this._animatedWidth-r,this._animatedColorText)),e.restore(),this.width=this._animatedWidth,this.height=this._brandCircleSize,this._bottomShift=this._brandCircleSize-this._imageHeight}}else if("widget_custom_branding"===this._layout||"fundamental_custom_branding"===this._layout){const t="12px "+f;e.font=t;const i=e.measureText(this._txt).width+2;this.width=i+e.measureText("TradingView").width+2,e.save(),e.globalAlpha=.7,e.fillStyle=this._colorOldGray,e.fillText(this._txt,0,12),e.fillStyle=this._colorOldBlue,e.fillText("TradingView",i,12),e.restore()}else if(function(e){return!v||e>480}(t))if(this._needDisplayImage&&this._imageReady){e.save();const i=(this._brandCircleSize-this._imageWidth)/2;e.translate(i,0),this._drawBgCircle(e),e.drawImage(this._image,0,-.5,this._imageWidth,this._imageHeight);const s=12+(T?-.5:0);e.translate(this._imageWidth+s,-.5);const r=L(t);r&&(this._drawTextStroke(e),this._drawTextFill(e)),e.restore(),this.width=this._imageWidth+i,this.width+=r?s+this._strokeCanv.canvas.width/this._upscaleRatio/this._strokeCanv.pixelRatio:i,this.height=this._brandCircleSize,this._bottomShift=this._brandCircleSize-this._imageHeight}else{e.save(),e.translate(T?-.5:0,-.5);const i=L(t);i&&(this._drawTextStroke(e),this._drawTextFill(e)),e.restore(),i&&(this.width=this._strokeCanv.canvas.width/this._upscaleRatio/this._strokeCanv.pixelRatio)}}}class A{constructor({layout:e="site_branding",src:t,onReadyCallback:i}){this._img=new Image,this._ready=!1,this.show=!1,this.width=0,this.height=0,this._layout=e,this._src=t,this._onReadyCallback=i,this._init()}_init(){this._checkLayout(),this.show&&(this._img.src=this._src,this._img.addEventListener("load",()=>{this.width=Math.round(this._img.width),this.height=Math.round(this._img.height),x&&(this._img=I(this._img,this.width,this.height).canvas),this._ready=!0,"function"==typeof this._onReadyCallback&&this._onReadyCallback()}))}_checkLayout(){switch(this._layout){case"widget_custom_branding":case"widget_custom_no_powered_branding":case"fundamental_custom_branding":case"fundamental_custom_no_powered_branding":case"library_custom_branding":case"library_custom_no_powered_branding":this.show=!0;break;case"site_branding":case"widget_branding":case"widget_referral_branding":case"fundamental_branding":case"library_branding":this.show=!1}}draw(e){this._ready&&e.drawImage(this._img,0,0,this.width,this.height)}}class E extends a.a{constructor(e,t,i,r){super(e,t),this._mainSeries=this._model.mainSeries(),this._canvasWidth=0,this._showAllowance=i,this._showForPro=r,this._paneHeight=0,this._left=13,this._bottom=16,this._layout="site_branding",this._needToShow=!0,this._customLogoSrc="",this._customLogoLink="",this._checkLayout(),"widget_custom_branding"!==this._layout&&"fundamental_custom_branding"!==this._layout||(this._left=8,this._bottom=5);const n=()=>{this._needToShow?this._showBranding=!0:this._showBranding=!1} -;this._resizeHandlerDelayed=Object(s.default)(n,200),n(),window.addEventListener("resize",this._resizeHandlerDelayed),this._monitorCanvas=Object(p.createDisconnectedBoundCanvas)(document,new p.Size(0,0)),this._monitorCanvas.subscribeCanvasConfigured(()=>{this._init()}),this._model.isSnapshot()?this._init():(this._mainSeries.dataEvents().symbolResolved().subscribe(this,this._init),null!==this._mainSeries.symbolInfo()&&this._init()),this._cubicBezier=new c.CubicBezier(.4,.01,.22,1),this._renderer={draw:this.draw.bind(this),hitTest:this.hitTest.bind(this)}}destroy(){window.removeEventListener("resize",this._resizeHandlerDelayed),this._mainSeries.dataEvents().symbolResolved().unsubscribeAll(this),this._powBy&&this._powBy.destroy()}_init(){const e=this._mainSeries.symbolInfo()||{};this._powBy&&this._powBy.destroy(),this._powBy=new O({layout:this._layout,symbol:e.name,model:this._model,onReadyCallback:()=>this._model.fullUpdate()}),this._custom=new A({layout:this._layout,src:this._customLogoSrc,onReadyCallback:()=>this._model.fullUpdate()}),this._openAnimation=null,this._closeAnimation=null}_checkLayout(){if(o.enabled("widget"))0;else if(o.enabled("charting_library")||o.enabled("trading_terminal")){const e=JSON.parse(M.logo)||{};e.image?(this._customLogoSrc=e.image,this._customLogoLink=e.link,this._needToShow=o.enabled("widget_logo"),o.enabled("link_to_tradingview")?this._layout="library_custom_branding":this._layout="library_custom_no_powered_branding"):(this._layout="library_branding",this._needToShow=o.enabled("widget_logo"))}else this._layout="site_branding"}_startOpenAnimation(){null===this._openAnimation&&(null!==this._closeAnimation&&(this._closeAnimation.stop(),this._closeAnimation=null),this._openAnimation=Object(u.doAnimate)({from:this._currentStateForAnimation(),to:this._openedStateForAnimation(),duration:200,easing:this._cubicBezier.easingFunc,onStep:this._animatedDrawStep.bind(this)}))}_openLink(){if("site_branding"===this._layout)return!1;return window.open(this.tvUrl(),"_blank").opener=null,!0}_toggleOpenAnimatedOrOpenLink(){null!==this._openAnimation&&this._openAnimation.completed()?this._openLink()||this._startCloseAnimation():this._startOpenAnimation()}_startCloseAnimation(){null===this._closeAnimation&&(null!==this._openAnimation&&(this._openAnimation.stop(),this._openAnimation=null),this._closeAnimation=Object(u.doAnimate)({from:this._currentStateForAnimation(),to:this._closedStateForAnimation(),duration:200,easing:this._cubicBezier.easingFunc,onStep:this._animatedDrawStep.bind(this)}))}onClickOutside(){this._hasAnimation()&&this._startCloseAnimation()}_currentStateForAnimation(){return this._powBy.width}_closedStateForAnimation(){return this._powBy.minimizedAnimationWidth()}_openedStateForAnimation(){return this._powBy.maximizedAnimationWidth()}_animatedDrawStep(e,t){this._powBy.animatedDrawStep(e,t),this._model.lightUpdate()}_hasAnimation(){return this._powBy.hasAnimation()}updateAllViews(){}updateViewsForPane(e){}priceScale(){return null}priceAxisViews(){return[]}hasContextMenu(){return!1}hitTest(e){ -return!this._showBranding||o.enabled("logo_without_link")?null:this._powBy&&"widget_custom_no_powered_branding"!==this._layout&&"fundamental_custom_no_powered_branding"!==this._layout&&Object(n.pointInBox)(e,Object(r.box)(new r.Point(this._left,this._paneHeight-Math.max(this._powBy.height,void 0!==this._custom?this._custom.height:0)-this._bottom),new r.Point(this._left+Math.max(this._powBy.width,void 0!==this._custom?this._custom.width:0),this._paneHeight-this._bottom)))?new l.HitTestResult(l.HitTestResult.CUSTOM,{hideCrosshairLinesOnHover:!0,clickHandler:()=>{this._openLink()},tapHandler:()=>{this._hasAnimation()?this._toggleOpenAnimatedOrOpenLink():this._openLink()},mouseEnterHandler:()=>{this._hasAnimation()&&this._startOpenAnimation()},mouseLeaveHandler:()=>{this._hasAnimation()&&this._startCloseAnimation()}}):null}tvUrl(){let e="https://www.tradingview.com/";if(this._customLogoLink)return this._customLogoLink;if("library_branding"===this._layout||"library_custom_branding"===this._layout){let t;switch(!0){case o.enabled("charting_library"):t="library";break;case o.enabled("trading_terminal"):t="trading-terminal"}return e+="/"===e[e.length-1]?"?":"&",e+="utm_source="+window.location.origin+"&utm_medium=library"+(t?"&utm_campaign="+t:""),e}return e}draw(e,t){if(!this._showBranding)return;let i=0;M.utm=!0,Object(p.drawScaled)(e,t.pixelRatio,()=>{e.translate(-.5,-.5),this._powBy&&this._powBy.show&&(i=this._powBy.height-this._powBy.bottomShift(),e.save(),e.translate(this._left,this._paneHeight-this._bottom-i),this._powBy.draw(e,t,this._canvasWidth),e.restore()),this._custom&&this._custom.show&&(e.save(),e.translate(this._left,this._paneHeight-this._bottom-i-this._custom.height),this._custom.draw(e,t),e.restore())})}renderer(e,t){return this._paneHeight=e,this._canvasWidth=t,this._renderer}paneViews(e){if(TradingView.printing)return[];if(!this._showAllowance())return[];if("site_branding"===this._layout&&!this._showForPro&&window.user&&window.user.is_pro)return[];const t=o.enabled("move_logo_to_main_pane");return t&&e.isMainPane()||!t&&e.isLast()||e.isMaximized()?[{renderer:this.renderer.bind(this)}]:[]}labelPaneViews(e){return[]}}function k(e,t){function i(t){const i=e.getAll();if(1===i.length)return!0;const s=i[0].model();return s&&s.model()===t}e.addCustomSource("branding",(e,s)=>new E(e,s,i.bind(null,s),t))}i.d(t,"addBrandingSource",(function(){return k}))},qJq3:function(e,t,i){"use strict";(function(e,s,r){TradingView.DEFAULT_BAR_COUNT=300,TradingView.TIME_PLOT=0,TradingView.OPEN_PLOT=1,TradingView.HIGH_PLOT=2,TradingView.LOW_PLOT=3,TradingView.CLOSE_PLOT=4,TradingView.ADT_PLOT=6,TradingView.STYLE_PLOT=7 -;var n=i("Eyy1").assert,o=i("Eyy1").ensureNotNull,a=i("lUQk").SeriesBase,l=i("tBG4").SeriesStatusView,c=i("cXAR").SeriesDataWindowView,h=i("gWck").SeriesLegendView,u=i("x0JF"),d=u.SeriesAreaPaneView,p=u.SeriesLinePaneView,_=u.SeriesHollowCandlesPaneView,m=u.SeriesCandlesPaneView,f=u.SeriesBarsPaneView,g=u.SeriesHeikenAshiPaneView,v=u.SeriesBaselinePaneView,b=i("9Jkk").SeriesHiLoPaneView,S=i("biIa").SeriesWaterlinePaneView,y=i("Kxc7"),w=i("BZtw").SeriesDataSource,C=i("ZJKN").BarsRange,P=i("38az").SeriesBarColorer,x=i("XPit").SeriesData,T=i("XPit").barFunction,M=i("k9/m"),I=M.PlotRowSearchMode,L=M.mergeMinMax,O=i("okVO").SyncModel,A=i("JWMC").trackEvent,E=i("txPx").getLogger("Chart.Series"),k=i("dfhE"),D=i("n5al"),V=i("pPtI"),B=V.getServerInterval,R=V.getResolutionByChartStyle,N=i("LxhU").Interval,j=i("WkOR").areEqualSymbols,F=i("WkOR").includesEqualSymbol,W=i("z+Sa").SeriesHorizontalBaseLinePaneView,H=i("Z8aO").SeriesPriceLinePaneView,z=i("FIi8").deepExtend,U=i("5fI3").encodeExtendedSymbolOrGetSimpleSymbolString,G=i("FQhm"),q=(i("qFKp").CheckMobile.any(),i("YWnQ").permissionDenied),Y=!y.enabled("hide_series_legend_item"),K=i("aKms").MarketStatusModel,J=i("2S76").DataUpdatedModeModel,Z=i("DsEq").DataProblemModel,X=i("hY0g"),$=i("uDHo").TIMEFRAMETYPE,Q=i("H0vP").InvalidationMask,ee=y.enabled("display_data_mode");class te extends a{constructor(t,s,r,n){var o=i("OK+B");s.removeProperty("currencyId"),super(t,s,r),this._boxSizeValue=new X,this._tagsChanged=new e,this._symbolIntervalChanged=new e,this._intervalChanged=new e,this._extendedHoursChanged=new e,this.chartWidgetInitialized=new e,this._onStyleChanged=new e,this._onStatusChanged=new e,this._onRestarted=new e,this.requestingIntradayWhenNotSupported=new e,this.requestingResolutionWhenNotSupported=new e,this._onInReplayStateChanged=new e,this._replayExitedDueUnsupportedInterval=new e,this._replayExitedDueUnavailableForUserInterval=new e,this._onTimeFrameApplied=new e,this.m_model=t,this._chartApi=t._chartApi,this.m_data=null,this._prevChartStyle=s.style.value(),this._seriesSource=new w(t._chartApi,"s",n);var a=this._seriesSource.dataEvents();a.symbolResolved().subscribe(this,this._onSymbolResolved),a.symbolError().subscribe(this,this._onSymbolError),a.seriesTimeFrame().subscribe(this,this._onSeriesTimeFrame),a.seriesError().subscribe(this,this._onSeriesError),a.loading().subscribe(this,this._onSeriesLoading),a.completed().subscribe(this,this._onSeriesCompleted),a.dataUpdated().subscribe(this,this._onDataUpdated),a.barReceived().subscribe(this,this._onBarReceived),this.createPaneView(),this._dataWindowView=new c(this,t),this._legendView=new h(this,t),this._statusView=new l(this,this._model.properties().scalesProperties.textColor,this.properties().statusViewStyle),this._symbolInfo=null,this._prevSymbolInfo=null,this._status=te.STATUS_OFFLINE,this._syncModel=null,this._replaySubscriber=null,this._isReplayResolutionAvailableForUser=null,this._haStyle={studyId:D.chartStyleStudyId(te.STYLE_HEIKEN_ASHI,!0)},this._renkoStyle={studyId:D.chartStyleStudyId(te.STYLE_RENKO,!0)}, -this._pbStyle={studyId:D.chartStyleStudyId(te.STYLE_PB,!0)},this._kagiStyle={studyId:D.chartStyleStudyId(te.STYLE_KAGI,!0)},this._pnfStyle={studyId:D.chartStyleStudyId(te.STYLE_PNF,!0)},this._rangeStyle={studyId:D.chartStyleStudyId(te.STYLE_RANGE,!0)},this._properties.addExclusion&&(this._properties.addExclusion("visible"),this._properties.addExclusion("currencyId")),this._predictBars=0,this._futureBarsPaneView=null,this._properties.showInDataWindow.listeners().subscribe(t,o.prototype.fullUpdate),this._loading=!0,this._seriesLoaded=!1,this.properties().minTick.listeners().subscribe(this,te.prototype._recreateFormatter);var u=this;this.properties().minTick.listeners().subscribe(null,(function(){u.m_model.fullUpdate()})),this._priceLineView=null,this._baseHorizontalLineView=new W(this),this._gotoDateResultCleared=!1,this._gotoDateView=null,this.bindStyleChange(),this.bindJapChartsInputs(),this._createIsDWMProperty(),this.createExtendedHoursProperty(),this.extendedHours.listeners().subscribe(this,(function(e){this._extendedHoursChanged.fire(e),this.restart()})),a.extendedHoursNotPermitted().subscribe(this,(function(){this._properties.extendedHours.setValue(!1)})),this._symbolIntervalChanged.subscribe(this,this.checkInterval),this.properties().showCountdown.listeners().subscribe(this,te.prototype._onChangeShowCountdown),this._onChangeShowCountdown(this.properties().showCountdown),this._recreatePriceFormattingDependencies(),this._isDWMCached=null,this.properties().lineStyle.priceSource.listeners().subscribe(this,this._updateBarFunction),this.properties().areaStyle.priceSource.listeners().subscribe(this,this._updateBarFunction),this.properties().baselineStyle.priceSource.listeners().subscribe(this,this._updateBarFunction),this._updateBarFunction(),this._marketStatusModel=new K(this._quotesProvider,this._properties.symbol.listeners()),this._dataUpdatedModeModel=ee?new J({getter:this.symbolInfo.bind(this),onChange:a.symbolResolved()},{getter:this.status.bind(this),onChange:this._onStatusChanged},this._properties.symbol.listeners()):null,this._dataProblemModel=new Z(this._quotesProvider,this._properties.symbol.listeners())}isLoading(){return this._loading}isSymbolInvalid(){return this._status===te.STATUS_INVALID_SYMBOL}styleStudyInfos(){return{haStyle:this._haStyle,renkoStyle:this._renkoStyle,pbStyle:this._pbStyle,kagiStyle:this._kagiStyle,pnfStyle:this._pnfStyle,rangeStyle:this._rangeStyle}}styleStudyInfo(e){return this.styleStudyInfos()[e]}priceLineColor(e){return this.properties().priceLineColor.value()||e}endOfData(){return this._endOfData}serverTimeOffset(){return this._chartApi.serverTimeOffset()}_onChangeShowCountdown(e){var t=this;e.value()?this._countdownUpdateTimer=this.m_model.setInterval((function(){t._priceAxisView.updateCountdown()}),500):(this.m_model.clearInterval(this._countdownUpdateTimer),delete this._countdownUpdateTimer)}lastValueData(e,t,i){var s={noData:!0};if(this.m_model.timeScale().isEmpty()||this.priceScale().isEmpty()||this.data().isEmpty())return s -;var r,n,o=this.m_model.timeScale().visibleBarsStrictRange();if(null===o)return s;if(t){var a=this.data().bars().last();if(null===a)return s;r=a.value,n=a.index}else{var l=this.data().bars().search(o.lastBar(),I.NearestLeft);if(null===l)return s;r=this.data().bars().valueAt(l.index),n=l.index}var c={noData:!1},h=void 0!==e?r[e]:this._barFunction(r);i&&(c.price=h);var u=this.firstValue();c.text=this.priceScale().formatPrice(h,u),c.formattedPriceAbsolute=this.priceScale().formatPriceAbsolute(h),c.formattedPricePercentage=this.priceScale().formatPricePercentage(h,u);var d=this.barColorer().barStyle(n,!1);return c.color=d.barColor,c.floatCoordinate=this.priceScale().priceToCoordinate(h,u),c.coordinate=c.floatCoordinate,c.index=n,c}_createIsDWMProperty(){this._isDWMProperty=new s(this.isDWM()),this._onRestarted.subscribe(this,(function(){this._isDWMProperty.setValue(this.isDWM())}))}isDWMProperty(){return this._isDWMProperty}model(){return this.m_model}fixLastBar(e){0}clearData(){n(null===this.m_data,"Cannot clear loaded data"),this._seriesSource.clearData()}data(){return this.m_data||this._seriesSource.data()}isPulse(){return this._symbolInfo&&this._symbolInfo.resolutions.length>0}onTagsChanged(){return this._tagsChanged}onSymbolIntervalChanged(){return this._symbolIntervalChanged}onIntervalChanged(){return this._intervalChanged}onStatusChanged(){return this._onStatusChanged}onStyleChanged(){return this._onStyleChanged}onRestarted(){return this._onRestarted}boxSizeValue(){return this._boxSizeValue}status(){return this._status}isDWM(){if(null!==this._isDWMCached)return this._isDWMCached;var e=N.parse(this._properties.interval.value());if(e.isDWM())this._isDWMCached=!0;else{var t=e.isSeconds()?e.multiplier():60*e.multiplier();this._isDWMCached=!(t<216e3)}return this._isDWMCached}createPaneView(){this._paneView=null,this._projectionBarsPaneView=null,this._waterlineView=null,this._priceLineView=this.hasClosePrice()?new H(this):null;var e=this._properties.style.value();switch(e){case te.STYLE_BARS:this._paneView=new f(this,this.m_model);break;case te.STYLE_CANDLES:this._paneView=new m(this,this.m_model);break;case te.STYLE_LINE:this._paneView=new p(this,this.m_model);break;case te.STYLE_AREA:this._paneView=new d(this,this.m_model);break;case te.STYLE_HEIKEN_ASHI:this._paneView=new g(this,this.m_model);break;case te.STYLE_HOLLOW_CANDLES:this._paneView=new _(this,this.m_model);break;case te.STYLE_BASELINE:this._paneView=new v(this,this.m_model),this._waterlineView=new S(this);break;case te.STYLE_HILO:this._paneView=new b(this,this.m_model)}if(null===this._paneView)throw Error("Unknown chart style assigned: "+e)}_clearStylePlot(e,t){if(0!==e.size()){var i=t||o(e.firstIndex()),s=o(e.lastIndex())+1;e.range(i,s).each((function(e,t){t[TradingView.STYLE_PLOT]=null}))}}invalidateBarStylesCache(e){E.logDebug("Invalidate style cache starting from "+e),this._clearStylePlot(this.bars(),e),this._clearStylePlot(this.nsBars())}invalidateBarColorerCache(){delete this._barColorerCache,this.invalidateBarStylesCache()}barColorer(){ -if(this._barColorerCache)return this._barColorerCache;for(var e=null,t=this.m_model.dataSources().length-1;t>=0;t--){var i=this.m_model.dataSources()[t];if(i.metaInfo&&TradingView.isInherited(i.constructor,TradingView.Study)&&i.hasBarColorer()&&i.properties().visible.value()){var s=i.barColorer();null===e?e=s:e.pushBackBarColorer(s)}}return null===e?e=new P(this):e.pushBackBarColorer(new P(this)),this._barColorerCache=e,this._barColorerCache}properties(){return this._properties}_barsState(e){var t=e.state();return t.data.forEach((function(e){e.value.splice(7,1)})),t}state(e){var t={type:this===this.m_model.mainSeries()?"MainSeries":TradingView.className(this.constructor),id:this.id(),state:this.properties().state(),zorder:this.zorder(),haStyle:this._haStyle,renkoStyle:this._renkoStyle,pbStyle:this._pbStyle,kagiStyle:this._kagiStyle,pnfStyle:this._pnfStyle,rangeStyle:this._rangeStyle};return this._symbolInfo&&this._symbolInfo.ticker&&(t.state.symbol=this._symbolInfo.ticker),e&&(t.bars=this._barsState(this.bars()),t.nsBars=this._barsState(this.nsBars()),t.symbolInfo=this._symbolInfo,t.rtPrice=this.data().lastProjectionPrice),t.boxSize=this.data().boxSize,t.reversalAmount=this.data().reversalAmount,t}restoreState(e,t){t&&this._setStatus(te.STATUS_SNAPSHOT),this._properties.mergeAndFire(e.state),this._prevChartStyle=this.properties().style.value(),this.createPaneView(),t&&this.restoreData(e.bars,e.nsBars,e.symbolInfo,e.rtPrice,e.boxSize,e.reversalAmount)}hasStateForAlert(){return!1}stateForAlert(){throw new Error("Not implemented")}idForAlert(){return a.prototype.idForAlert.call(this)}restoreData(e,t,i,s,r,n){this._status=te.STATUS_SNAPSHOT,this.m_data=new x,this.m_data.m_bars.restoreState(e),this.m_data.m_nsBars.restoreState(t),this.updateSymbolInfo(i,!1),this.m_data.lastProjectionPrice=s,this.m_data.boxSize=r,r||(this.properties().style.value()===te.STYLE_PNF?this.m_data.boxSize=this.properties().pnfStyle.inputs.boxSize.value():this.properties().style.value()===te.STYLE_RENKO&&(this.m_data.boxSize=this.properties().renkoStyle.inputs.boxSize.value())),this.m_data.reversalAmount=n,n||this.properties().style.value()===te.STYLE_KAGI&&(this.m_data.reversalAmount=this.properties().kagiStyle.inputs.reversalAmount.value()),this._loading=!1}_setProperties(e){e.timeframe||e.merge({timeframe:""}),e.shortName||e.merge({shortName:""}),e.currencyId||e.addChild("currencyId",new s(null)),e.unitId||e.addChild("unitId",new s(null)),this._properties=e,this._properties.symbol.listeners().subscribe(this,te.prototype.changeSymbol),this._properties.interval.listeners().subscribe(this,te.prototype.changeInterval),this._properties.currencyId.listeners().subscribe(this,te.prototype._changeCurrency),this._properties.unitId.listeners().subscribe(this,te.prototype._changeUnit),this._properties.timeframe.listeners().subscribe(this,te.prototype.changeTimeFrame),this._properties.listeners().subscribe(this,te.prototype.changeProperties)}changeSymbol(){this.setSymbolIntervalCurrencyDelayed(),this.m_model.checkLineToolSelection()}changeInterval(){ -this.setSymbolIntervalCurrencyDelayed()}changeTimeFrame(){A("GUI","Change timeframe")}changeProperties(e){e!==this._properties.symbol&&e!==this._properties.interval&&e!==this._properties.timeframe&&(this._tagsChanged.fire(),this.createPaneView(),this.updateAllViews(),this.m_model.updateSource(this),G.emit("series_properties_changed",this._id))}seriesSource(){return this._seriesSource}_onSymbolResolved(e){this.updateSymbolInfo(e,!1),this.m_model.updateSource(this),this.m_model.realignLineTools(),TradingView.onWidget()||(A("Symbol",e.listed_exchange,e.name),A("Symbol Type",e.type,e.listed_exchange));var t=this.symbolInfo().minmov/this.symbolInfo().pricescale,i=this.properties();i.style.value()===te.STYLE_RENKO&&i.renkoStyle.inputs.boxSize.value()e.update()),this._labelPaneViews.forEach(e=>e.update()),this._priceAxisViews.forEach(e=>e.update()),this._priceLineAxisViews.forEach(e=>e.update()),this._futureBarsPaneView&&this._futureBarsPaneView.update(),this._projectionBarsPaneView&&this._projectionBarsPaneView.update(),null!==this._waterlineView&&this._waterlineView.update(), -null!==this._priceLineView&&this._priceLineView.update(),null!==this._gotoDateView&&this._gotoDateView.update(),this._baseHorizontalLineView.update();var e=this._model.activeStrategySource().value();null!==e&&e.updateAllViews()}_setStatus(e){this._status=e,this._statusView.update(),this.m_model.updateSource(this),this._onStatusChanged.fire()}requestMoreData(e){if((this._status===te.STATUS_READY||this._status===te.STATUS_PULSE||this._status===te.STATUS_DELAYED||this._status===te.STATUS_DELAYED_STREAMING||this._status===te.STATUS_EOD||this._status===te.STATUS_REPLAY)&&!this.m_model.timeScale().isEmpty()){var t=this.m_model.timeScale().visibleBarsStrictRange();if(null!==t&&0!==this.bars().size()){var i=t.lastBar()-o(this.data().last()).index;if(this._predictBars{this._gotoDateResultCleared||(this._gotoDateView=new t(this,e),this.m_model.updateSource(this))})}clearGotoDateResult(e){this._gotoDateView=null,this._gotoDateResultCleared=!0}syncModel(){if(!this._syncModel){var e=this.symbolInfo(),t=this.interval();if(!e||!t)return null;this._syncModel=new O(e,t)}return this._syncModel}getSourceIcon(){return{type:"loadSvg",svgId:"series."+this.properties().style.value()}}isStyleSupported(e){return!0}isIntervalSupported(e){return!0}isStyleSupportedForReplay(e){return D.isTimeBasedStyle(e)}isInReplay(){return null!==this._replaySubscriber}onTimeFrameApplied(){return this._onTimeFrameApplied}onInReplayStateChanged(){throw new Error("Not implemented")}replayExitedDueUnsupportedInterval(){throw new Error("Not implemented")}replayExitedDueUnavailableForUserInterval(){throw new Error("Not implemented")}switchToReplay(e,t){throw new Error("Not implemented")}switchToRealtime(){ -throw new Error("Not implemented")}_removeReplaySubscriber(){throw new Error("Not implemented")}_onBeforeModifySeries(e,t){0}_getTelemetryAdditionalData(e,t){t=void 0===t||t;var i={symbol:this.actualSymbol()};return t&&(i.resolution=this.interval()),void 0!==e&&(i.reason=e),i}_sendTelemetryReport(e,t,i){void 0===i&&(i=this._getTelemetryAdditionalData());var s=Object.assign(t,{additional:i});(void 0).sendChartReport(e,s)}_sendTelemetryCounter(e,t){this._sendTelemetryReport(e,{count:1},t)}destroy(){this._replayExitedDueUnsupportedInterval.destroy(),this._replayExitedDueUnavailableForUserInterval.destroy(),this._quotesProvider.quotesUpdate().unsubscribeAll(this),this._quotesProvider.destroy(),this.clearGotoDateResult(),this._legendView.destroy(),this._marketStatusModel.destroy(),null!==this._dataUpdatedModeModel&&this._dataUpdatedModeModel.destroy(),this._dataProblemModel.destroy(),this._paneView&&this._paneView.destroy&&this._paneView.destroy(),this._onTimeFrameApplied.destroy(),this._seriesSource.destroy(),super.destroy()}dataEvents(){return this._seriesSource.dataEvents()}moveData(e){return this._seriesSource.moveData(e)}}Object.assign(te,k),TradingView.Series=te,t.Series=te}).call(this,i("aIyQ"),i("tc+8"),i("Qb4w").PriceRange)},qXYw:function(e,t,i){"use strict";i.r(t);var s=i("n5al"),r=i("ivNn"),n=i("YFKU"),o=i("qFKp"),a=i("Tmoa"),l=i("Ialn"),c=i("GH0z"),h=i("6I19"),u=i("k9/m"),d=i("CW80"),p=i("mMWL"),_=i("7qT/"),m=i("38az");const f=o.CheckMobile.any(),g=f&&!0,v=new c.PercentageFormatter,b=Object(n.t)("n/a"),S=`${b} (${b}%)`;i.d(t,"OverlayLegendValuesProvider",(function(){return y}));class y extends class{constructor(e,t){this._study=e,this._model=t,this._emptyValues=[{title:Object(n.t)("Open"),visible:!1,value:"",index:0,id:""},{title:Object(n.t)("High"),visible:!1,value:"",index:1,id:""},{title:Object(n.t)("Low"),visible:!1,value:"",index:2,id:""},{title:Object(n.t)("Close"),visible:!1,value:"",index:3,id:""},{title:"",visible:!1,value:"",index:4,id:""},{title:"",visible:!1,value:"",index:5,id:""},{title:Object(n.t)("Change"),visible:!1,value:"",index:6,id:""}]}getItems(){return this._emptyValues}getValues(e){const t=this._emptyValues.map(e=>Object.assign({},e));if(this._model.timeScale().isEmpty())return t;if(0===this._study.data().size())return t;const i=this._showLastPriceAndChangeOnly();if(Object(r.isNumber)(e)||(i?e=this._study.data().lastIndex():(e=this._model.crossHairSource().appliedIndex(),Object(r.isNumber)(e)||(e=this._study.data().lastIndex()))),null===e||!Object(r.isNumber)(e))return t;const s=this._study.data().search(e,u.PlotRowSearchMode.NearestLeft,1),n=Object(h.c)(this._model.paneForSource(this._study));if(null===s||null===n)return t;const o=s.index,c=s.value,d=c[1],p=c[2],_=c[3],f=c[4];if(null==d||null==p||null==_||null==f)return t;t[0].value=b,t[1].value=b,t[2].value=b,t[3].value=b,t[6].value=S;for(const r of t)r.visible=!i;const y=t[4];y.visible=!1;const w=this._study.formatter(),C=this._changesData(f,d,o,i);if(void 0!==C.values){ -const e=Object(l.forceLTRStr)(`${w.format(C.values.change,!0)} (${v.format(C.values.percentChange,!0)})`);t[6].value=e}i?(t[5].value=w.format(f),t[5].visible=!0,t[6].visible=!0):(t[0].value=w.format(d),t[1].value=w.format(p),t[2].value=w.format(_),t[3].value=w.format(f),y.value=w.format(this._study.barFunction()(c)),t[5].visible=!1);let P=null;if(i&&!g)P=void 0===C.values||C.values.change>=0?m.SeriesBarColorer.upColor(this._study.properties()):m.SeriesBarColorer.downColor(this._study.properties());else{const e=this._study.barColorer().barStyle(o,!1),t=null!=e.barBorderColor?e.barBorderColor:e.barColor;P=Object(h.b)(n,t)}P=Object(a.resetTransparency)(Object(h.b)(n,P));for(const r of t)r.color=P;return t}_showLastPriceAndChangeOnly(){return f&&(null===this._model.crossHairSource().pane||Object(d.isLineToolName)(p.tool.value())||null!==this._model.lineBeingEdited())}_changesData(e,t,i,s){if(s&&!g){const e=this._study.quotes();if(null!==e)return{values:{change:e.change,percentChange:e.change_percent},priceDirection:{basedOnCurrentBar:e.change>=0?0:1,basedOnPrevClose:e.change>=0?0:1}}}else{const s=this._study.data().search(i-1,u.PlotRowSearchMode.NearestLeft,1),r=s&&s.value[4]||null;if(null!==r)return{values:{change:e-r,percentChange:Object(_.a)(r,e)},priceDirection:{basedOnCurrentBar:e>=t?0:1,basedOnPrevClose:e>=r?0:1}}}return{priceDirection:{basedOnCurrentBar:e>=t?0:1,basedOnPrevClose:e>=t?0:1}}}}{constructor(e,t){super(e,t),this._showBarChange=t.properties().paneProperties.legendProperties.showBarChange,this._showSeriesOHLC=t.properties().paneProperties.legendProperties.showSeriesOHLC,this._seriesStyle=e.properties().childs().style}getValues(e){const t=super.getValues(e);if(!this._showLastPriceAndChangeOnly()){const e=Object(s.isPriceSourceStyle)(this._seriesStyle.value()),i=this._showSeriesOHLC.value(),r=i&&!e,n=i&&e;t[0].visible=r,t[1].visible=r,t[2].visible=r,t[3].visible=r,t[6].visible=this._showBarChange.value(),t[4].visible=n}return t}}},qcGP:function(e,t,i){"use strict";var s=i("Ss5c").LineDataSource,r=i("Ocx9").DefaultProperty,n=i("mMWL");class o extends s{constructor(e,t){super(e,t||o.createProperties()),this._priceAxisViews.push(this.createPriceAxisView(3)),i.e("lt-pane-views").then(i.t.bind(null,"9FRF",7)).then(({ParallelChannelPaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}calculatePriceDiff(){var e=this.points();if(3===e.length){var t=e[0],i=e[1],s=e[2],r=this._findPriceOffset(t,i,s);null!==r&&isFinite(r)&&(this._priceOffset=r)}}_findPriceOffset(e,t,i){var s=this.priceScale();if(null===s||e.index===t.index)return null;if(s.isLog()){var r=this._model.timeScale();if(r.isEmpty())return null;var n=this.ownerSource().firstValue(),o=r.indexToCoordinate(e.index),a=r.indexToCoordinate(t.index),l=s.priceToCoordinate(e.price,n),c=s.priceToCoordinate(t.price,n),h=l+(m=(c-l)/(a-o))*(r.indexToCoordinate(i.index)-o),u=s.priceToCoordinate(i.price,n)-h,d=(n=this.ownerSource().firstValue(),.5*(l+c)),p=s.coordinateToPrice(d,n),_=d+u;return s.coordinateToPrice(_,n)-p} -var m=(t.price-e.price)/(t.index-e.index),f=e.price+m*(i.index-e.index);return i.price-f}setLastPoint(e,t){t&&t.shift()&&2===this.points().length&&this._snapPoint45Degree(e,this.points()[0]),super.setLastPoint(e),this.calculatePriceDiff()}restorePoints(e,t,i){super.restorePoints(e,t,i),e&&e.length>=3&&(this._priceOffset=e[2].price-e[0].price)}setPoint(e,t,i){if(i&&i.shift())switch(e){case 0:case 1:this._snapPoint45Degree(t,this._points[1-e]);break;case 2:case 3:this._snapPoint45Degree(t,{index:this._points[3-e].index,price:this._points[3-e].price+this._priceOffset})}var s=!1;switch(e){case 0:case 1:super.setPoint(e,t,i);break;case 2:case 3:this._points[e-2].index=t.index,this._points[e-2].price=t.price-this._priceOffset;break;case 4:this._points[2]=t,this.calculatePriceDiff(),s=!0;break;case 5:var r=this._findPriceOffset(this._points[0],this._points[1],t);null!==r&&isFinite(r)&&(this._points[0].price+=r,this._points[1].price+=r,this._priceOffset-=r,s=!0)}if(e%2==0&&this._correctThirdPoint(),s&&this.linkKey){for(var o=[],a=0;a'},qgcf:function(e,t,i){"use strict";i.r(t),i.d(t,"calculateLabelPosition",(function(){return p})),i.d(t,"wordWrap",(function(){return f})),i.d(t,"TextRenderer",(function(){return I}));var s=i("aO4+"),r=i("Eyy1"),n=i("f6yo"),o=i("Ialn"),a=i("VdBB"),l=i("gAom"),c=i("jFln"),h=i("ogJP"),u=i("ikwP"),d=i("8Uy/");function p(e,t,i,r,n){const o=.5*(t.x+i.x);let a=i.y;return t.y>i.y?(a-=e.height/2+r.y,a=Math.max(e.height/2,a)):(a+=e.height/2+r.y,a=Math.min(n-e.height/2,a)),new s.Point(o,a)}let _;function m(){const e=document.createElement("canvas");e.width=0,e.height=0,_=Object(r.ensureNotNull)(e.getContext("2d"))}function f(e,t,i){_||m(),i=Object(h.isString)(i)?parseInt(i):i,e+="";const s=!Object(h.isNumber)(i)||!isFinite(i)||i<=0?e.split(/[^\S' '\r\n]*(?:\r\n|\r|\n|$)/):e.split(/[^\S\r\n]*(?:\r\n|\r|\n|$)/);if(s[s.length-1]||s.pop(),!Object(h.isNumber)(i)||!isFinite(i)||i<=0)return s;_.font=t;const r=[];for(let n=0;n0&&_.measureText(o.slice(0,3*--e-1).join("")).width>i;);if(e>0)r.push(o.slice(0,3*e-1).join("")),o.splice(0,3*e);else{const e=o[0]+(o[1]||"");if(a=1===a?1:~~(i/_.measureText(e).width*e.length),_.measureText(e.substr(0,a)).width<=i)for(;_.measureText(e.substr(0,a+1)).width<=i;)a++;else for(;a>1&&_.measureText(e.substr(0,--a)).width>i;);a<1&&(a=1),r.push(e.substr(0,a)),o[0]=e.substr(a),o[1]=""}if(_.measureText(o.join("")).width<=i){r.push(o.join(""));break}}}return r}function g(e,t,i){if(0===i)return e.clone();const r=(e.x-t.x)*Math.cos(i)-(e.y-t.y)*Math.sin(i)+t.x,n=(e.x-t.x)*Math.sin(i)+(e.y-t.y)*Math.cos(i)+t.y;return new s.Point(r,n)}function v(e,t){return t+2*C(e)+2*y(e)}function b(e,t){return x(e)*t+P(e)*(t-1)+2*w(e)+2*S(e)}function S(e){ -return void 0!==e.boxPaddingVert?e.boxPaddingVert*M(e):void 0!==e.boxPadding?e.boxPadding*M(e):x(e)/3}function y(e){return void 0!==e.boxPaddingHorz?e.boxPaddingHorz*M(e):void 0!==e.boxPadding?e.boxPadding*M(e):x(e)/3}function w(e){return(e.backgroundVertInflate||0)*M(e)}function C(e){return(e.backgroundHorzInflate||0)*M(e)}function P(e){return(e.padding||0)*M(e)}function x(e){return Math.ceil(T(e)*M(e))}function T(e){return e.fontsize||e.fontSize||30}function M(e){const t=Math.min(1,Math.max(.2,Math.min(e.scaleX||1,e.scaleY||1)));if(1===t)return t;const i=T(e);return Math.ceil(t*i)/i}class I{constructor(e,t){this._data=null,this._internalData=null,this._boxSize=null,this._linesInfo=null,this._fontInfo=null,this._hittest=t||new a.HitTestResult(a.HitTestResult.MOVEPOINT,{areaName:a.AreaName.Text}),void 0!==e&&this.setData(e)}setData(e){e.horzTextAlign||(e.horzTextAlign=e.horzAlign),function(e,t){if(null===e||null===t)return null===e==(null===t);if(void 0===e.points!=(void 0===t.points))return!1;if(void 0!==e.points&&void 0!==t.points){if(e.points.length!==t.points.length)return!1;for(let r=0;re.fillText(l,_,f)),f+=n+g;e.restore()}_getLinesMaxWidth(e){if(_||m(),_.textBaseline="alphabetic",_.font=this.fontStyle(),null!==this._data&&this._data.wordWrapWidth&&!this._data.forceCalculateMaxLineWidth)return this._data.wordWrapWidth*M(this._data);let t=0;for(const i of e)t=Math.max(t,_.measureText(i).width);return t}_getInternalData(){if(null!==this._internalData)return this._internalData;const e=Object(r.ensureNotNull)(this._data),t=this._getBoxSize(),i=t.boxWidth,s=t.boxHeight,n=Object(r.ensureDefined)(e.points)[0];let a=n.y;switch(e.vertAlign){case"bottom":a-=s+e.offsetY;break;case"middle":a-=s/2;break;case"top":a+=e.offsetY}let l=n.x;const c=y(e),h=S(e),u=C(e)+c;let d;const p=a+(w(e)+h)+x(e)/2;let _;switch(e.horzAlign){case"left":l+=e.offsetX;break;case"center":l-=i/2;break;case"right":l-=i+e.offsetX}switch(Object(r.ensureDefined)(e.horzTextAlign)){case"left":_="start",d=l+u,Object(o.isRtl)()&&(e.forceTextAlign?_="left":(d=l+i-u,_="right"));break;case"center":_="center",d=l+i/2;break;case"right":_="end", -d=l+i-u,Object(o.isRtl)()&&e.forceTextAlign&&(_="right")}return{boxLeft:l,boxTop:a,boxWidth:i,boxHeight:s,textStart:d-l,textTop:p-a,textAlign:_,textBaseLine:"middle"}}_getLinesInfo(){if(null===this._linesInfo){const e=Object(r.ensureNotNull)(this._data);let t=this.wordWrap(e.text,e.wordWrapWidth);if(void 0!==e.maxHeight){const i=function(e){const t=Object(r.ensureDefined)(e.maxHeight),i=x(e),s=P(e);return Math.floor((t+s)/(i+s))}(e);t.length>i&&(t=t.slice(0,i))}this._linesInfo={linesMaxWidth:this._getLinesMaxWidth(t),lines:t}}return this._linesInfo}_getFontInfo(){if(null===this._fontInfo){const e=Object(r.ensureNotNull)(this._data),t=x(e),i=(e.bold?"bold ":"")+(e.italic?"italic ":"")+t+"px "+e.font;this._fontInfo={fontStyle:i,fontSize:t}}return this._fontInfo}_getBoxSize(){if(null===this._boxSize){const e=this._getLinesInfo(),t=Object(r.ensureNotNull)(this._data);this._boxSize={boxWidth:v(t,e.linesMaxWidth),boxHeight:b(t,e.lines.length)}}return this._boxSize}_getRotationPoint(){const{boxLeft:e,boxTop:t,boxWidth:i,boxHeight:n}=this._getInternalData(),{horzAlign:o,vertAlign:a}=Object(r.ensureNotNull)(this._data);let l,c;switch(o){case"center":l=e+i/2;break;case"left":l=e;break;case"right":l=e+i}switch(a){case"middle":c=t+n/2;break;case"top":c=t;break;case"bottom":c=t+n}return new s.Point(l,c)}}},qocr:function(e,t,i){"use strict";function s(e,t=!1){("attachEvent"in document?"complete"===document.readyState:"loading"!==document.readyState)?t?setTimeout(()=>e(),1):e():document.addEventListener("DOMContentLoaded",()=>e())}i.d(t,"a",(function(){return s}));new Promise(e=>{s(e)})},qySK:function(e,t,i){"use strict";i.d(t,"b",(function(){return h})),i.d(t,"a",(function(){return u}));var s=i("Eyy1"),r=i("JmuD"),n=i("KG+6"),o=i("fFKx"),a=i("SqfW"),l=i("7Fue"),c=i("xWfy");function h(e){if(!Object(r.isObject)(e))throw new Error("Graphics commands should be wrapped in an object");if(Object(r.hasProperty)(e,"create"),Object(r.hasProperty)(e,"erase")){const t=e.erase;Object(s.assert)(Array.isArray(t),"Collection of erase commands should be array");for(const e of t){if(!Object(r.isObject)(e)||!Object(r.hasProperty)(e,"action"))throw new Error("Command should be an object with 'action' property");Object(s.assert)("all"===e.action||"one"===e.action,"Erase command action should be 'all' or 'one'")}}return e}class u{constructor(){this._indexes=[],this._horizlines=new Map,this._vertlines=new Map,this._lines=new Map,this._hlines=new Map,this._textmarks=new Map,this._shapemarks=new Map,this._backgrounds=new Map,this._polygons=new Map,this._trendchannels=new Map,this._hhists=new Map,this._dwglabels=new Map,this._dwgboxes=new Map,this._dwglines=new Map,this._dwgtables=new Map,this._dwgtablecells=new Map,this._hhistsByTimePointIndex=new Map}horizlines(){return this._horizlines}vertlines(){return this._vertlines}lines(){return this._lines}hlines(){return this._hlines}textmarks(){return this._textmarks}shapemarks(){return this._shapemarks}backgrounds(){return this._backgrounds}polygons(){return this._polygons}trendchannels(){ -return this._trendchannels}hhists(){return this._hhists}dwglabels(){return this._dwglabels}dwglines(){return this._dwglines}dwgboxes(){return this._dwgboxes}dwgtables(){return this._dwgtables}dwgtablecells(){return this._dwgtablecells}hhistsByTimePointIndex(){return this._hhistsByTimePointIndex}clear(){this._indexes=[],this._clearPrimitives()}extract(){const e=e=>e.extract(),t={indexes:this._indexes,horizlines:p(this._horizlines,e),vertlines:p(this._vertlines,e),lines:p(this._lines,e),hlines:p(this._hlines,e),textmarks:p(this._textmarks,e),shapemarks:p(this._shapemarks,e),backgrounds:p(this._backgrounds,e),polygons:p(this._polygons,e),trendchannels:p(this._trendchannels,e),hhists:p(this._hhists,e),dwglabels:p(this._dwglabels,e),dwglines:p(this._dwglines,e),dwgboxes:p(this._dwgboxes,e),dwgtables:p(this._dwgtables,e),dwgtablecells:p(this._dwgtablecells,e)};return this._hhistsByTimePointIndex=new Map,new c.a("data",t)}replaceIndexesTo(e){this._indexes=e;const t=e=>e.replaceIndexesTo(this._indexes);this._horizlines.forEach(t),this._vertlines.forEach(t),this._lines.forEach(t),this._hlines.forEach(t),this._textmarks.forEach(t),this._shapemarks.forEach(t),this._backgrounds.forEach(t),this._polygons.forEach(t),this._trendchannels.forEach(t),this._hhists.forEach(t),this._dwglabels.forEach(t),this._dwgboxes.forEach(t),this._dwglines.forEach(t),this._dwgtables.forEach(t),this._dwgtablecells.forEach(t),this._hhistsByTimePointIndex=Object(l.b)(this._hhists)}processCommands(e,t){void 0!==e.erase&&this._processEraseCommands(e.erase),void 0!==e.create&&this._processCreateCommands(e.create,t)}_processCreateCommands(e,t){for(const i in e){if(!e.hasOwnProperty(i))continue;const r=i;switch(Object(s.assert)(r in t,`There is a '${r}' in study response, but it doesn't present in graphics info!`),r){case"hhists":_(this._hhists,e[r],t[r],this._indexes,n.c);break;case"horizlines":_(this._horizlines,e[r],t[r],this._indexes,o.b);break;case"vertlines":_(this._vertlines,e[r],t[r],this._indexes,a.b)}}this._hhistsByTimePointIndex=Object(l.b)(this._hhists)}_processEraseCommands(e){for(const t of e)if("all"===t.action)this._clearPrimitives();else{const e=e=>e.deleteById(t.id);switch(t.type){case"horizlines":this._horizlines.forEach(e);break;case"vertlines":this._vertlines.forEach(e);break;case"lines":this._lines.forEach(e);break;case"hlines":this._hlines.forEach(e);break;case"textmarks":this._textmarks.forEach(e);break;case"shapemarks":this._shapemarks.forEach(e);break;case"backgrounds":this._backgrounds.forEach(e);break;case"polygons":this._polygons.forEach(e);break;case"trendchannels":this._trendchannels.forEach(e);break;case"hhists":this._hhists.forEach(e);break;case"dwglabels":this._dwglabels.forEach(e);break;case"dwglines":this._dwglines.forEach(e);break;case"dwgboxes":this._dwgboxes.forEach(e);break;case"dwgtables":this._dwgtables.forEach(e);break;case"dwgtablecells":this._dwgtablecells.forEach(e)}}this._hhistsByTimePointIndex=Object(l.b)(this._hhists)}_clearPrimitives(){this._horizlines.clear(),this._vertlines.clear(),this._lines.clear(), -this._hlines.clear(),this._textmarks.clear(),this._shapemarks.clear(),this._backgrounds.clear(),this._polygons.clear(),this._trendchannels.clear(),this._hhists.clear(),this._dwglabels.clear(),this._dwgboxes.clear(),this._dwglines.clear(),this._dwgtables.clear(),this._dwgtablecells.clear(),this._hhistsByTimePointIndex=new Map}}class d{constructor(e,t){this._primitivesDataById=new Map,this._primitiveById=new Map,this._materializePrimitive=e,this._indexes=t}forEach(e,t){this._primitiveById.forEach(i=>{e.call(t,i,i,this)})}has(e){let t=!1;return this._primitiveById.forEach(i=>{t=t||i===e}),t}get size(){return this._primitiveById.size}[Symbol.iterator](){throw new Error("Not implemented")}entries(){throw new Error("Not implemented")}keys(){throw new Error("Not implemented")}values(){throw new Error("Not implemented")}hasId(e){return this._primitiveById.has(e)}addData(e){this._primitivesDataById.set(e.id,e),this._tryMaterialize(e)}deleteById(e){this._primitiveById.delete(e),this._primitivesDataById.delete(e)}clear(){this._primitivesDataById.clear(),this._primitiveById.clear()}replaceIndexesTo(e){this._indexes=e,this._primitiveById.clear(),this._primitivesDataById.forEach(this._tryMaterialize,this)}extract(){const e=new Set(this._primitivesDataById.values());return this._primitivesDataById=new Map,this._primitiveById.clear(),e}_tryMaterialize(e){const t=this._materializePrimitive(e,this._indexes);null!==t&&(Object(s.assert)(!this._primitiveById.has(e.id),"primitive with specified id should not exist"),this._primitiveById.set(e.id,t))}}function p(e,t){const i=new Map;return e.forEach((e,s)=>i.set(s,t(e))),i}function _(e,t,i,r,n){if(void 0!==t)for(const o of t){const t=o.styleId;void 0!==i&&Object(s.assert)(t in i,"Every style used by graphics primitive should be declared in study metainfo");let a=e.get(t);void 0===a&&(a=new d(n,r),e.set(t,a)),o.data.forEach(a.addData.bind(a))}}},rCHB:function(e,t,i){"use strict";var s;i.r(t),i.d(t,"LineToolPitchforkStyle",(function(){return s})),function(e){e[e.Original=0]="Original",e[e.Schiff=1]="Schiff",e[e.Inside=2]="Inside",e[e.Schiff2=3]="Schiff2"}(s||(s={}))},rL76:function(e,t,i){e.exports={labelwidth:"19px",labelheight:"19px",bordersize:"2px",bottommargin:"5px",gearheight:"15px",gearwidth:"15px","price-axis-stub":"price-axis-stub-1DJMiIgd",wrapper:"wrapper-1DJMiIgd",label:"label-1DJMiIgd",symbol:"symbol-1DJMiIgd",gear:"gear-1DJMiIgd","fixed-gear":"fixed-gear-1DJMiIgd","fixed-symbol":"fixed-symbol-1DJMiIgd"}},rQHv:function(e,t,i){"use strict";var s=i("IiTo"),r={};e.exports=function(e,t,i){var n,o,a={},l=r[i]||"out_of_session",c=!1,h=i,u=t,d=null;function p(){var e={};e.symbolname=h,e.status="ok",e.values={},e.values.current_session=l,r[h]=l,TradingView.ChartapiMessagerInstances[u].onQuotesData([u].concat([e]))}function _(){if(n)if(o)l="out_of_session";else{var e=s.isTradingNow((new Date).getTime(),n)?"market":"out_of_session";e!==l&&(l=e,p())}}return e(i,null,(function(e){c||function(e){n=new s.SessionInfo(e.timezone,e.session,e.holidays,e.corrections),o=e.expired, -d=setInterval(_,6e4),_(),p()}(e)}),(function(){})),a.stop=function(){c=!0,d&&clearInterval(d)},a.marketStatus=function(){return l},a}},rY0k:function(e,t,i){"use strict";var s=i("xDuj").translatedIntervalString,r=i("hOqT").getTranslatedSymbolDescription,n=i("zDbI").CHART_FONT_FAMILY,o=i("di4O"),a=o.watermarkProperty,l=o.restoreWatermarkPropertyDefaults,c=i("ikwP").drawScaled;t.Watermark=function(e,t){var i={},o=a();function h(e,t){var s=e.font;return i.hasOwnProperty(s)||(i[s]={}),i[s].hasOwnProperty(t)||(i[s][t]=e.measureText(t).width),i[s][t]}o.listeners().subscribe(this,(function(){e.updateSource(this)})),this.destroy=function(){o.listeners().unsubscribeAll(this)},this.properties=function(){return o},this.restorePropertiesDefaults=function(){l()};var u={renderer:function(e,i){return{draw:function(a,l){c(a,l.pixelRatio,(function(){var l=t.symbolInfo();a.fillStyle=o.color.value();var c,u=l.name;/QUANDL/.test(l.exchange)&&((c=u.split(/\//)).length&&(u=c[c.length-1]));for(var d={description:l.description,short_description:l.short_description,pro_name:l.pro_name,short_name:l.name,local_description:l.local_description,language:l.language},p=[{text:u?u+", "+s(t.interval()):"",font:"96px "+n,lineHeight:117,vertOffset:0},{text:r(d)||"",font:"48px "+n,lineHeight:58,vertOffset:5}],_=0,m=0;mi?i/f:1,_+=v.lineHeight*v.zoom}}var g=Math.max((e-_)/2,0);for(m=0;me.zorder()-t.zorder())}function o(e){return e.zorder()>=s}},s9sR:function(e,t,i){"use strict";i.r(t),i.d(t,"SetResolutionUndoCommand",(function(){return o}));var s=i("RDU5"),r=i("LxhU"),n=i("n5al");class o extends s.UndoCommand{constructor(e,t,i,s){super(s),this._property=e,this._value=t,this._prevValue=e.value(),this._chartWidget=i}redo(){this._chartWidget.screen.show(),this._property.setValue(this._value),this._handleResolution(this._value)}undo(){this._chartWidget.screen.show(),this._property.setValue(this._prevValue),this._handleResolution(this._prevValue)}_handleResolution(e){const t=this._chartWidget.model().mainSeries().properties(),i=t.style.value(),s=Object(n.isRangeStyle)(i),o=r.Interval.isRange(e);!s&&o?t.style.setValue(11):s&&!o&&t.style.setValue(Object(n.getLastUsedStyle)())}}},sEk5:function(e,t,i){"use strict" -;var s=i("fTGZ").BarsMarksContainer,r=i("mMWL"),n=i("CCPt").UserDefinedBarsMarksTooltip;e.exports=class extends s{constructor(e){super(e),this.toolname="UserDefinedBarsMarks";var t=this;r.hideMarksOnBars().subscribe(this,(function(){t._properties.visible.setValue(!r.hideMarksOnBars().value())}))}_initialize(e){this._properties.visible.setValue(!0)}userEditEnabled(){return!1}_plateViewData(e){var t={text:e.text};return"object"==typeof e.color&&(t.theme="user_defined_theme",t.overridedTheme={},t.overridedTheme.border=e.color.border,t.overridedTheme.background=e.color.background),t}onClicked(e){var t=e.id;this._marks[t].onClicked()}clearMarks(){super.clearMarks(),this.onNeedRepaint.fire()}_getData(e){var t=this._model.mainSeries().symbolInfo();if(t){var i=this.roundRange(this._rangeDifference(e)),s=this,r=this._model.mainSeries().properties().interval.value();ChartApiInstance.getMarks(t,i.start,i.end,(function(t){t.forEach((function(e){s._marks[e.id]=e}),s),s._loadedRange=s._rangeUnion(e,s._loadedRange),s.onNeedRepaint.fire()}),r)}}_createTooltip(){return new n}updatePlateData(e,t){return t.barWidth=this.barWidth(),t.text=e.text,t.tooltipMargin=-1*Math.max(e.minSize/2,.4*this.barWidth()),t}hasContextMenu(){return!1}calcIsActualCurrency(){this._isActualCurrency=!0}calcIsActualUnit(){this._isActualUnit=!0}}},sJA2:function(e,t,i){"use strict";i.r(t),i.d(t,"ThemesApi",(function(){return n}));var s=i("EsvI"),r=i("oiZD");class n{constructor(e){this._opts=e}isStdTheme(){const e=this._opts.chartWidgetCollection.getAll().every(e=>Object(s.isStdTheme)(Object(s.extractThemeFromModel)(e.model())));return Promise.resolve(e)}async setStdTheme(e,t=!0,i){await Object(s.loadTheme)(e,!0,!1,this._opts.chartWidgetCollection,t,i)}setStdThemeForLayout(e,t=!0){Object(r.setTheme)(e),t&&Object(s.syncTheme)()}getCurrentThemeName(){return Object(s.getCurrentTheme)().name}}},sQaR:function(e,t,i){"use strict";i.d(t,"a",(function(){return n}));var s=i("hY0g"),r=i.n(s);class n{constructor(){this._container=document.createElement("div"),this._visibility=new r.a(!1)}visible(){return this._visibility.readonly()}_setVisibility(e){this._visibility.setValue(e)}}},t2ex:function(e,t,i){"use strict";var s=i("5rJj"),r=i("Ss5c").LineDataSource,n=i("j3hX"),o=n.LineToolWidthsProperty,a=n.LineToolColorsProperty;class l extends r{constructor(e,t){super(e,t||l.createProperties()),this.version=l.version,this._properties._stateVersion=1,i.e("lt-pane-views").then(i.t.bind(null,"R7Bt",7)).then(({FibRetracementPaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}levelsCount(){return l.LevelsCount}pointsCount(){return 2}name(){return"Fib Retracement"}migrateVersion(e,t,i){1===e&&this.properties().extendLines.setValue(!0)}processErase(e,t){var i="level"+t,s=this.properties()[i].visible;e.setProperty(s,!1,"Erase level line")}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(33),i.e("lt-property-pages-with-definitions")]).then(i.bind(null,"17v9"))).FibDrawingsWith24LevelsDefinitionsViewModel}static createProperties(e){ -var t=new s("linetoolfibretracement",e,!1,{range:[1,24],names:["coeff","color","visible"]});return l._configureProperties(t),t}static _configureProperties(e){r._configureProperties(e);for(var t=[e.child("trendline").child("linewidth"),e.child("levelsStyle").child("linewidth")],i=[e.child("trendline").child("color")],s=1;s<=l.LevelsCount;s++)i.push(e.child("level"+s).child("color"));e.addChild("linesColors",new a(i)),e.addChild("linesWidths",new o(t))}fibLevelsBasedOnLogScale(){return this.properties().fibLevelsBasedOnLogScale.value()&&this.priceScale().isLog()}}l.version=2,l.LevelsCount=24,t.LineToolFibRetracement=l},tBG4:function(e,t,i){"use strict";i.r(t),i.d(t,"SeriesStatusView",(function(){return n}));var s=i("nBJD"),r=i("WPIy");class n extends s.a{constructor(e,t,i){super(new r.a(e,t,i)),this._invalidated=!0,this._series=e,this._series.onRestarted().subscribe(this,this.update),this._series.dataEvents().symbolResolved().subscribe(this,this.update),this._series.dataEvents().completed().subscribe(this,this.update),this._series.boxSizeValue().subscribe(this.update.bind(this)),i.childs().symbolTextSource.listeners().subscribe(this,this.update)}getSeriesPrecision(){let e=4;const t=this._series.symbolInfo();return t&&t.pricescale&&(e=Math.round(Math.log(t.pricescale)/Math.log(10))),e}round(e){const t=this.getSeriesPrecision(),i=Math.round(e*Math.pow(10,t))/Math.pow(10,t);return i?i.toString():""}update(){this._invalidated=!0}text(){return this._updateImpl(),super.text()}color(){return this._updateImpl(),super.color()}bold(){return this._updateImpl(),super.bold()}size(){return this._updateImpl(),super.size()}getSplitTitle(){return this._updateImpl(),this._statusProvider.getSplitTitle()}_updateImpl(){this._invalidated&&(this._bold=this._statusProvider.bold(),this._size=this._statusProvider.size(),this._text=this._statusProvider.text(),this._invalidated=!1)}}},tDUI:function(e,t,i){"use strict";(function(e){var s=i("Eyy1").ensureNotNull,r=i("Ss5c").LineDataSource,n=i("gMtF").LineToolRiskRewardPriceAxisView,o=i("mMWL"),a=i("Ocx9").DefaultProperty,l=i("zXvd").NumericFormatter,c=i("wGNx").RiskRewardPointIndex,h=i("H007"),u=h.RiskRewordEntryPriceProperty,d=h.RiskRewordStopPriceProperty,p=h.RiskRewardTargetPriceProperty,_=i("ogJP").isNumber,m=i("k9/m").PlotRowSearchMode;class f extends r{constructor(t,s){var r=s;if(super(t,r),!s.stopLevel&&!s.profitLevel){var o=t.timeScale().visibleBarsStrictRange(),a=o.firstBar(),h=o.lastBar(),_=t.mainSeries().priceRange(a,h),m=t.mainSeries().priceScale();if(m.isLog()){var g=m.logicalToPrice(_.minValue()),v=m.logicalToPrice(_.maxValue());_=new e(g,v)}if(_&&!_.isEmpty()){var b=Math.round(.2*_.length()*t.mainSeries().base());r.merge({stopLevel:b,profitLevel:b})}}var S=this;r.stopLevel.listeners().subscribe(this,this.recalculate),r.stopLevel.listeners().subscribe(null,(function(){S.properties().stopPrice._listeners.fire(S.properties().stopPrice)})),r.profitLevel.listeners().subscribe(this,this.recalculate),r.profitLevel.listeners().subscribe(null,(function(){ -S.properties().targetPrice._listeners.fire(S.properties().targetPrice)})),r.addChild("entryPrice",new u(this)),r.addChild("stopPrice",new d(this)),r.addChild("targetPrice",new p(this)),r.addProperty("riskSize",250),r.addProperty("qty",0),r.addProperty("amountTarget",r.accountSize.value()),r.addProperty("amountStop",r.accountSize.value()),this._riskInPercentsFormatter=new l(2),this._riskInMoneyFormatter=new l,r.risk.subscribe(this,this._recalculateRiskSize),r.accountSize.subscribe(this,this._recalculateRiskSize),r.riskDisplayMode.subscribe(this,this._recalculateRisk),r.riskDisplayMode.subscribe(this,this._recalculateRiskSize),r.entryPrice.subscribe(this,this._recalculateRiskSize),r.stopPrice.subscribe(this,this._recalculateRiskSize),r.profitLevel.subscribe(this,this._recalculateRiskSize),r.profitLevel.subscribe(this,this.syncPriceLevels.bind(this)),r.stopLevel.subscribe(this,this._recalculateRiskSize),r.stopLevel.subscribe(this,this.syncPriceLevels.bind(this)),r.qty.subscribe(this,this._recalculateRiskSize),this.pointAdded().subscribe(this,e=>{switch(e){case c.Entry:case c.Close:this._recalculateRiskSize()}}),this.pointChanged().subscribe(this,e=>{switch(e){case c.Entry:case c.Close:this._recalculateRiskSize()}}),"percents"===r.riskDisplayMode.value()&&r.risk.value()>100&&r.riskDisplayMode.setValueSilently("money"),this._syncStateExclusions=["points","entryPrice","stopPrice","targetPrice","stopLevel","profitLevel","riskSize","qty","amountTarget","amountStop","risk","accountSize"],this.version=f.version,this._entryPriceAxisView=new n(this,{colorProperty:r.linecolor,priceProperty:r.entryPrice}),this._stopPriceAxisView=new n(this,{colorProperty:r.stopBackground,priceProperty:r.stopPrice}),this._profitPriceAxisView=new n(this,{colorProperty:r.profitBackground,priceProperty:r.targetPrice}),i.e("lt-pane-views").then(i.t.bind(null,"u+oH",7)).then(({RiskRewardPaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}riskFormatter(e){return"percents"===e?this._riskInPercentsFormatter:this._riskInMoneyFormatter}getRiskStep(e){return"percents"===e?.01:1}_roundValue(e){return parseFloat(e.toFixed(2))}hasEditableCoordinates(){return!1}_recalculateRisk(){var e=this.properties(),t=e.riskDisplayMode.value(),i=e.riskSize.value(),s=e.accountSize.value(),r=e.risk.value();r="percents"===t?this._roundValue(i/s*100):this._roundValue(s/100*r),this._riskInChange=!0,e.risk.setValue(this.riskFormatter(t).format(r)),this._riskInChange=!1}_recalculateRiskSize(){if(!this._riskInChange){var e=this.properties(),t=e.risk.value(),i=e.riskDisplayMode.value(),s=e.accountSize.value();"percents"===i?e.riskSize.setValue(t/100*s):t>s?(e.risk.setValue(s),e.riskSize.setValue(s)):e.riskSize.setValue(t)}}lastBarData(){var e=this._model.mainSeries().bars().firstIndex(),t=this._model.mainSeries().bars().lastIndex();if(null===e||null===t||isNaN(e)||isNaN(t))return null;var i=this.points();if(4===i.length){var s=i[c.ActualClose];return s.index=1){var s=[];if(s.push(this._points[0]),n={price:(n=this._points[0]).price,index:this._getClosePointIndex(n.index)},s.push(n),this._points[1]&&s.push(this._points[1]),this._points[2]&&s.push(this._points[2]),this._points=s,this._timePoint.length>=1){var r=[],n=this._timePoint[0];r.push(n);var o={price:n.price,time_t:n.time_t,offset:this._getClosePointIndex(n.offset)};r.push(o),this._timePoint[1]&&s.push(this._points[1]),this._timePoint[2]&&s.push(this._points[2]),this._timePoint=r}}}checkAlert(){this.recalculate()}priceAxisViews(e,t){return this.isSourceHidden()||t!==this.priceScale()||this._model.paneForSource(this)!==e?null:[this._entryPriceAxisView,this._stopPriceAxisView,this._profitPriceAxisView]}updateAllViews(){this.isActualSymbol()&&this._properties.visible.value()&&(o.hideAllDrawings().value()&&this.userEditEnabled()||(super.updateAllViews(),this._entryPriceAxisView.update(),this._stopPriceAxisView.update(),this._profitPriceAxisView.update()))}restoreExternalState(e){(e=Object.assign({},e),this.isActualSymbol())||_(e.entryPrice)&&(this._timePoint[0].price=e.entryPrice,delete e.entryPrice);this.properties().merge(e)}_changeEntryPoint(e){var t=this.properties().stopPrice.value(),i=this.properties().targetPrice.value(),s=1/this._model.mainSeries().base(),r=Math.min(t,i)+s,n=Math.max(t,i)-s;e.price=Math.max(r,Math.min(n,this._roundPrice(e.price))),super.setPoint(0,e),this.properties().stopPrice.setValue(t),this.properties().targetPrice.setValue(i)}setPoint(e,t,i){if(this.isActualSymbol()){switch(this._muteSyncLineStyle(),e){case 0:this._changeEntryPoint(t);break;case 2:this.properties().stopPrice.setValue(this.preparseStopPrice(t.price));break;case 3:this.properties().targetPrice.setValue(this.preparseProfitPrice(t.price));break;case 1:t.price=this._roundPrice(t.price),super.setPoint(1,t),this.recalculate()}this._unmuteSyncLineStyleWithoutApplyingChanges(),this.syncPriceLevels()}}getPoint(e){switch(e){case 0:return this._points[0];case 1:return{index:this._points[1].index,price:this._points[0].price};case 2:return{index:this._points[0].index,price:this.stopPrice()};case 3:return{index:this._points[0].index,price:this.profitPrice()}}return null}setPoints(e){this._muteSyncLineStyle(),super.setPoints(e),this.recalculate(),this._unmuteSyncLineStyleWithoutApplyingChanges(),this.syncPriceLevels()}syncPriceLevels(){if(this.linkKey){var e=this.properties(),t={entryPrice:e.entryPrice.value(),stopLevel:e.stopLevel.value(),profitLevel:e.profitLevel.value()};o.changeLineStyle({linkKey:this.linkKey,state:t,model:this._model})}}pointsCount(){return 1}name(){return"Risk/Reward"}addPoint(e){e.price=this._roundPrice(e.price),super.addPoint(e,null,!0);var t={price:e.price,index:this._getClosePointIndex(e.index)};super._addPointIntenal(t,null,!0);var i=this.calculateActualEntry(e,t) -;i&&(super._addPointIntenal(i,null,!0),(t=this.findClosePoint(i,t))&&super._addPointIntenal(t,null,!0));return this._lastPoint=null,this.normalizePoints(),this.createServerPoints(),!0}setOwnerSource(e){super.setOwnerSource(e),this._model.mainSeries().symbolInfo()&&(this._recalculateAmount(),this._recalculateQty())}_roundPrice(e){var t=this._model.mainSeries().base();return Math.round(e*t)/t}recalculate(){if(0!==this.points().length){var e=this.properties().targetPrice.value(),t=this.properties().stopPrice.value(),i=[this._points[0],this._points[1]],s=this.calculateActualEntry(this.points()[0],this.points()[1]);if(s){i.push(s);var r=this.findClosePoint(s,this.points()[1]);r&&i.push(r)}this._points=i,e!==this.properties().targetPrice.value()&&this.properties().targetPrice._listeners.fire(this.properties().targetPrice),t!==this.properties().stopPrice.value()&&this.properties().stopPrice._listeners.fire(this.properties().stopPrice)}}start(){super.start(),this.recalculate()}startMoving(e,t,i){e.logical.price=this._roundPrice(e.logical.price),super.startMoving(e,t,i)}move(e,t,i){e.logical.price=this._roundPrice(e.logical.price),super.move(e,t,i),this.recalculate(),this._entryPriceAxisView.update()}_correctPoints(e){return!!this.isActualSymbol()&&r.prototype._correctPoints.call(this,[e[0],e[1]])}entryPrice(){return this.points()[0].price}findClosePoint(e,t){for(var i=this._model.mainSeries().bars(),r=s(i.firstIndex()),n=Math.max(e.index,r),o=s(i.lastIndex()),a=Math.min(o,t.index),l=n;l<=a;l++){var c=i.valueAt(l);if(null!==c){var h=this.checkStopPrice(c);if(null!=h)return{index:l,price:h}}}return null}calculateActualEntry(e,t){var i=this._model.mainSeries().bars();if(i.isEmpty())return null;for(var r=s(i.firstIndex()),n=Math.max(e.index,r),o=e.price,a=s(i.lastIndex()),l=Math.min(a,t.index),c=n;c<=l;c++){var h=i.valueAt(c);if(null!==h&&h[TradingView.HIGH_PLOT]>=o&&h[TradingView.LOW_PLOT]<=o)return{index:c,price:o}}return null}axisPoints(){if(!this._points[c.ActualEntry])return[];var e=this._points[c.ActualEntry],t=null;if(4===this._points.length)t=this._points[c.ActualClose];else{var i=this.lastBarData();if(!i)return[];t={index:i.index,price:i.closePrice}}return[e,t]}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(33),i.e("lt-property-pages-with-definitions")]).then(i.bind(null,"RYNR"))).RiskRewardDefinitionsViewModel}template(){var e=this.properties(),t=r.prototype.template.call(this);return t.stopLevel=e.stopLevel.value(),t.profitLevel=e.profitLevel.value(),t}_applyTemplateImpl(e){delete e.targetPrice,delete e.stopPrice,delete e.entryPrice,super._applyTemplateImpl(e);var t=this.properties();void 0!==e.stopLevel&&t.stopLevel.setValue(e.stopLevel),void 0!==e.profitLevel&&t.profitLevel.setValue(e.profitLevel)}getOrderTemplate(){return null}_propertiesStateExclusions(){return["entryPrice","stopPrice","targetPrice"]}static _configureProperties(e){r._configureProperties(e),e.addExclusion("stopLevel"),e.addExclusion("profitLevel"),e.addExclusion("stopPrice"),e.addExclusion("targetPrice"), -e.addExclusion("entryPrice")}_roundQty(e){var t=this._model.mainSeries().symbolInfo();return"bitcoin"===t.type||"crypto"===t.type||"futures"===t.type?Math.round(1e3*e)/1e3:Math.floor(e)}_getClosePointIndex(e){var t=this._model.timeScale(),i=Math.round(t.width()/t.barSpacing());return e+Math.max(3,Math.round(.15*i))}}f.version=2;class g extends f{constructor(e,t){super(e,t||g.createProperties());var i=this.properties();i.entryPrice.subscribe(this,this._recalculateQty),i.stopPrice.subscribe(this,this._recalculateQty),i.riskSize.subscribe(this,this._recalculateQty),i.entryPrice.subscribe(this,this._recalculateAmount),i.profitLevel.subscribe(this,this._recalculateAmount),i.stopLevel.subscribe(this,this._recalculateAmount),i.accountSize.subscribe(this,this._recalculateAmount),i.riskSize.subscribe(this,this._recalculateAmount),i.qty.subscribe(this,this._recalculateAmount)}_recalculateQty(){if(0!==this.points().length){var e=this.properties(),t=e.entryPrice.value(),i=e.stopPrice.value(),s=e.riskSize.value(),r=this._model.mainSeries().pointValue(),n=this._roundQty(s/(Math.abs(i-t)*r));e.qty.setValue(n)}}_recalculateAmount(){if(0!==this.points().length){var e=this.properties(),t=e.accountSize.value(),i=e.entryPrice.value(),s=e.qty.value(),r=e.stopPrice.value(),n=e.targetPrice.value(),o=this._model.mainSeries().pointValue(),a=this._roundValue(t+(i-n)*s*o),l=this._roundValue(t-(r-i)*s*o);e.amountTarget.setValue(a),e.amountStop.setValue(l)}}name(){return"Risk/Reward short"}stopPrice(){return this.entryPrice()+this.properties().stopLevel.value()/this._model.mainSeries().base()}profitPrice(){return this.entryPrice()-this.properties().profitLevel.value()/this._model.mainSeries().base()}calculatePL(e){return this.entryPrice()-e}preparseStopPrice(e){e=this._roundPrice(e);var t=this.entryPrice()+1/this._model.mainSeries().base();return Math.max(e,t)}preparseProfitPrice(e){e=this._roundPrice(e);var t=this.entryPrice()-1/this._model.mainSeries().base();return Math.min(e,t)}checkStopPrice(e){var t=this.stopPrice(),i=this.profitPrice();return e[TradingView.HIGH_PLOT]>=t?this.stopPrice():e[TradingView.LOW_PLOT]<=i?this.profitPrice():null}_orderSide(){throw new Error("not supported")}static createProperties(e){var t=new a("linetoolriskrewardshort",e);return g._configureProperties(t),t}static _configureProperties(e){f._configureProperties(e)}}class v extends f{constructor(e,t){super(e,t||v.createProperties());var i=this.properties();i.entryPrice.subscribe(this,this._recalculateQty),i.stopPrice.subscribe(this,this._recalculateQty),i.riskSize.subscribe(this,this._recalculateQty),i.entryPrice.subscribe(this,this._recalculateAmount),i.profitLevel.subscribe(this,this._recalculateAmount),i.stopLevel.subscribe(this,this._recalculateAmount),i.accountSize.subscribe(this,this._recalculateAmount),i.riskSize.subscribe(this,this._recalculateAmount),i.qty.subscribe(this,this._recalculateAmount)}_recalculateQty(){if(0!==this.points().length){ -var e=this.properties(),t=e.entryPrice.value(),i=e.stopPrice.value(),s=e.riskSize.value(),r=this._model.mainSeries().pointValue(),n=this._roundQty(s/(Math.abs(t-i)*r));e.qty.setValue(n)}}_recalculateAmount(){if(0!==this.points().length){var e=this.properties(),t=e.accountSize.value(),i=e.entryPrice.value(),s=e.qty.value(),r=e.stopPrice.value(),n=e.targetPrice.value(),o=this._model.mainSeries().pointValue(),a=this._roundValue(t+(n-i)*s*o),l=this._roundValue(t-(i-r)*s*o);e.amountTarget.setValue(a),e.amountStop.setValue(l)}}stopPrice(){return this.entryPrice()-this.properties().stopLevel.value()/this._model.mainSeries().base()}profitPrice(){return this.entryPrice()+this.properties().profitLevel.value()/this._model.mainSeries().base()}calculatePL(e){return e-this.entryPrice()}preparseStopPrice(e){e=this._roundPrice(e);var t=this.entryPrice()-1/this._model.mainSeries().base();return Math.min(e,t)}preparseProfitPrice(e){e=this._roundPrice(e);var t=this.entryPrice()+1/this._model.mainSeries().base();return Math.max(e,t)}checkStopPrice(e){var t=this.stopPrice(),i=this.profitPrice();return e[TradingView.LOW_PLOT]<=t?this.stopPrice():e[TradingView.HIGH_PLOT]>=i?this.profitPrice():null}name(){return"Risk/Reward long"}_orderSide(){throw new Error("not supported")}static createProperties(e){var t=new a("linetoolriskrewardlong",e);return v._configureProperties(t),t}static _configureProperties(e){f._configureProperties(e)}}t.LineToolRiskRewardLong=v,t.LineToolRiskRewardShort=g}).call(this,i("Qb4w").PriceRange)},tG6Q:function(e,t,i){"use strict";var s=i("Ss5c").LineDataSource,r=i("Ocx9").DefaultProperty;class n extends s{constructor(e,t){super(e,t||n.createProperties()),i.e("lt-pane-views").then(i.t.bind(null,"GS+0",7)).then(({LineToolCircleLinesPaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}pointsCount(){return 2}name(){return"Cyclic Lines"}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(33),i.e("lt-property-pages-with-definitions")]).then(i.bind(null,"LX4V"))).CyclicAndSineLinesPatternDefinitionsViewModel}static createProperties(e){var t=new r("linetoolcirclelines",e);return n._configureProperties(t),t}static _configureProperties(e){s._configureProperties(e)}}t.LineToolCircleLines=n},tWVy:function(e,t,i){"use strict";i.d(t,"a",(function(){return r})),i.d(t,"b",(function(){return n}));var s=i("aIyQ");const r=new(i.n(s).a);function n(){r.fire()}},"tc+8":function(e,t,i){"use strict";(function(t){var s=i("ogJP").isFunction;function r(e){if(this._listeners=new t,this._childs=[],this._muteChildChanges=!1,void 0!==e)if(this.isPrimitiveType(e))this._value=e;else for(var i in e)this.addProperty(i,e[i])}r.prototype.merge=function(e,t){var i=null;if(t)var s=(i=[]).length;if(void 0===e)return i;if(this.isPrimitiveType(e))return t&&this._value!==e&&i.push(this),this._value=e,i;if(Array.isArray(e))for(var r=0;rs&&i.push(this),i},r.prototype.mergeAndFire=function(e){var t=this.merge(e,!0);this._muteChildChanges=!0,t.forEach((function(e){e._muteChildChanges=!0})),t.forEach((function(e){e._muteChildChanges=!1,e.listeners().fire(e)})),this._muteChildChanges=!1,t.length>0&&this.listeners().fire(this)},r.prototype.state=function(e){var t=s(this.value)?this.value():void 0;void 0===t&&(t={});for(var i=0;i=0},r.prototype.addChild=function(e,t){this[e]&&this[e].unsubscribe(this,this.childChanged),this[e]=t,-1===this._childs.indexOf(e)&&this._childs.push(e),t.subscribe(this,this.childChanged)},r.prototype.childChanged=function(e,t){this._muteChildChanges||this.listeners().fire(this)},r.prototype.subscribe=function(e,t){this.listeners().subscribe(e,t,!1)},r.prototype.unsubscribe=function(e,t){this.listeners().unsubscribe(e,t)},r.prototype.unsubscribeAll=function(e){this.listeners().unsubscribeAll(e)},r.prototype.childs=function(){return this},e.exports=r}).call(this,i("aIyQ"))},teHb:function(e,t,i){"use strict";i.r(t),i.d(t,"ratioStudyItem",(function(){return n}));var s=i("7dm8");class r extends s.a{_doCalculation(e,t,i,s){return e*t/(i*s)}}const n={name:"Ratio",metainfo:{_metainfoVersion:15,defaults:s.b,plots:s.d,styles:s.e,description:"Ratio",shortDescription:"Ratio",is_price_study:!1,inputs:s.c,id:"Ratio@tv-basicstudies-1"},constructor:r}},tqok:function(e,t,i){"use strict";i.d(t,"a",(function(){return s}));const s=-2e6},ttUj:function(e,t,i){"use strict";i.r(t),i.d(t,"Tooltip",(function(){return d}));i("oWyD");var s=i("Ialn"),r=i("ULlu"),n=i("3t3b"),o=i("MbIA");function a(e){return"string"==typeof e&&0!==e.trim().length}function l(e,t,i=!1,n=!1){if(e.hasOwnProperty("text")){var o=n&&Object(s.forceLTRStr)(e.text)||e.text -;if(e.hasOwnProperty("color")&&i){const i=document.createElement("span");i.style.cssText="color: "+e.color,r.html(i,o),t.appendChild(i)}else r.html(t,o)}else{var a=n&&Object(s.forceLTRStr)(e)||e;r.html(t,a)}return t}function c(e,t){if(Array.isArray(e)&&2===e.length){const i=document.createElement("dl");i.appendChild(l(e[0],document.createElement("dt"))),i.appendChild(l(e[1],document.createElement("dd"),!0,!0)),t.appendChild(i)}else if(e.hasOwnProperty("br")&&e.br)t.appendChild(document.createElement("br"));else{const i=document.createElement("dl");i.appendChild(l(e,document.createElement("dt"))),t.appendChild(i),e.hasOwnProperty("listItem")&&i.classList.add("list-item")}}function h(e,t){var i=Object(s.forceLTRStr)(e.text);e.attr=e.attr||{};const n=document.createElement("a");r.attr(n,"href",e.href),r.addClass(n,e.class),r.attr(n,e.attr.name,e.attr.value),r.html(n,i),t.appendChild(n)}function u(e,t,i=""){if("string"==typeof e){var a=Object(s.forceLTRStr)(e);const i=document.createElement("h2");r.html(i,a),t.appendChild(i)}else if(e.hasOwnProperty("lines"))for(let s=0;se-t);if(s.length<=1)t=i[s[0]];else{t=[];for(let e=s.length;e--;){const r=i[s[e]];for(let e=r.length;e--;)t.push(r[e])}}}this._tooltipContent.innerHTML="";for(let e=t.length;e--;){const i=t[e];let s="";i.hasOwnProperty("importance")?("string"==typeof i.importance&&("earnings"===i.importance?s="--importance-earnings":"splits"===i.importance?s="--importance-splits":"dividends"===i.importance?s="--importance-dividends":"list"===i.importance&&(s="--importance-list")),0===i.importance?s="--importance-normal":i.importance>0&&(s="--importance-high")):o||(s="--importance-none");let a="tv-chart-events-source__tooltip__item";s&&(a+=" "+a+s);const l=document.createElement("div");r.attr(l,"class",a),o&&(l.style.borderLeftColor=o),u(i,l,n),this._tooltipContent.appendChild(l)}this._tooltipItems=e}"bottom"===this._direction&&(this._tooltip.style.bottom=Math.round(c-i-r.contentHeight(this._tooltipContent)+10)+"px")}hide(){this._tooltipShown&&(this._tooltip.parentElement&&this._tooltip.parentElement.removeChild(this._tooltip),this._tooltipShown=!1)}isOpened(){return this._tooltipShown}getElem(){return this._tooltip}}},txPx:function(e,t,i){"use strict";i.r(t),i.d(t,"LOGLEVEL",(function(){return n})),i.d(t,"getLogLevel",(function(){return _})),i.d(t,"isHighRateEnabled",(function(){return m})),i.d(t,"setLogLevel",(function(){return f})),i.d(t,"getRawLogHistory",(function(){return g})),i.d(t,"serializeLogHistoryEntry",(function(){return v})),i.d(t,"getLogHistory",(function(){return b})),i.d(t,"getLogger",(function(){return y})),i.d(t,"loggingOn",(function(){return C})),i.d(t,"loggingOff",(function(){return P}));const s="undefined"!=typeof window?window:{};let r=!1;try{localStorage.getItem(""),r=!0}catch(T){}var n;!function(e){e[e.ERROR=1]="ERROR",e[e.WARNING=2]="WARNING", -e[e.INFO=3]="INFO",e[e.NORMAL=4]="NORMAL",e[e.DEBUG=5]="DEBUG"}(n||(n={}));let o=0;const a=[];let l=null,c=null,h=null,u=NaN,d=n.WARNING,p=!1;function _(){return d}function m(){return p}function f(e){e=Math.max(n.ERROR,Math.min(n.DEBUG,e)),d=e,x()}function g(e,t){let i=a.reduce((e,t)=>e.concat(t),[]);return i.sort((e,t)=>e.id-t.id),void 0!==t&&(i=i.filter(e=>e.subSystemId===t)),"number"==typeof e&&(i=i.slice(-e)),i}function v(e){return new Date(e.timestamp).toISOString()+":"+e.subSystemId+":"+e.message.replace(/"/g,"'")}function b(e,t){return function(e,t){let i,s=0,r=0;for(i=e.length-1;i>=1&&(s+=8*(1+encodeURIComponent(e[i]).length),!(i-1>0&&(r=8*(1+encodeURIComponent(e[i-1]).length),s+r>t)));i--);return e.slice(i)}(g(e,t).map(v),75497472)}function S(e,t,i,s){if(t===c&&s.id===h)return;const r=new Date;if(e<=n.NORMAL&&function(e,t,i,s,r){const n={id:o,message:String(t),subSystemId:s,timestamp:Number(e)};o+=1,i.push(n),void 0!==r&&i.length>r&&i.splice(0,1)}(r,t,i,s.id,s.maxCount),e<=d&&(!s.highRate||m())&&(!l||s.id.match(l))){const i=r.toISOString()+":"+s.id+":"+t;switch(e){case n.DEBUG:console.debug(i);break;case n.INFO:case n.NORMAL:s.color?console.log("%c"+i,"color: "+s.color):console.log(i);break;case n.WARNING:console.warn(i);break;case n.ERROR:console.error(i)}c=t,h=s.id,u&&clearTimeout(u),u=setTimeout(()=>{c=null,h=null,u=NaN},1e3)}}function y(e,t={}){const i=[];a.push(i);const s=Object.assign(t,{id:e});function r(e){return t=>S(e,t,i,s)}return{logDebug:r(n.DEBUG),logError:r(n.ERROR),logInfo:r(n.INFO),logNormal:r(n.NORMAL),logWarn:r(n.WARNING)}}const w=y("logger"),C=s.lon=(e,t)=>{f(n.DEBUG),w.logNormal("Debug logging enabled"),p=Boolean(e),l=t||null,x()},P=s.loff=()=>{f(n.INFO),w.logInfo("Debug logging disabled")};function x(){try{r&&(localStorage.setItem("tv.logger.logHighRate",String(p)),localStorage.setItem("tv.logger.loglevel",String(d)))}catch(e){w.logWarn(`Cannot save logger state (level: ${d}, high-rate: ${p}) to localStorage: ${e.message}`)}}!function(){p=!!r&&"true"===localStorage.getItem("tv.logger.logHighRate");let e=parseInt(r&&localStorage.getItem("tv.logger.loglevel")||"");Number.isNaN(e)&&(e=n.WARNING),f(e),w.logNormal(`Init with settings - level: ${d}, high-rate: ${p}`)}(),s.performance&&s.performance.now?w.logNormal("Sync logger and perf times, now is "+s.performance.now()):w.logWarn("Perf time is not available")},tzRX:function(e,t){e.exports=''},"u+0B":function(e,t,i){"use strict";i.d(t,"a",(function(){return r}));const s=/[2-9]/g;class r{ -constructor(e=50){this._actualSize=0,this._usageTick=1,this._oldestTick=1,this._tick2Labels={},this._cache={},this._maxSize=e}reset(){this._actualSize=0,this._cache={},this._usageTick=1,this._oldestTick=1,this._tick2Labels={}}measureText(e,t,i){return this._getMetrics(e,t,i).width}yMidCorrection(e,t,i){const s=this._getMetrics(e,t,i);return((s.actualBoundingBoxAscent||0)-(s.actualBoundingBoxDescent||0))/2}_getMetrics(e,t,i){const r=i||s,n=String(t).replace(r,"0");if(this._cache[n])return this._cache[n].metrics;if(this._actualSize===this._maxSize){const e=this._tick2Labels[this._oldestTick];delete this._tick2Labels[this._oldestTick],delete this._cache[e],this._oldestTick++,this._actualSize--}e.save(),e.textBaseline="middle";const o=e.measureText(n);return e.restore(),0===o.width&&t.length||(this._cache[n]={metrics:o,tick:this._usageTick},this._tick2Labels[this._usageTick]=n,this._actualSize++,this._usageTick++),o}}},u0yd:function(e,t,i){"use strict";var s=i("Zp/P").coordinateIsValid,r=i("gyZD").PaneRendererLine;t.PaneRendererArea=TradingView.PaneRendererArea=class extends r{constructor(e){e.forceLineColor=!1,super(e),this.color1=e.color1,this.color2=e.color2,this.bottom=e.bottom,this.isSeries=!!e.isSeries,this._simpleMode=e.simpleMode}_drawImpl(e){if(0!==this.items.length){e.translate(-.5,-.5),e.lineCap="butt",e.strokeStyle=this.lineColor,e.lineWidth=this.lineWidth,e.lineStyle=this.lineStyle,e.lineWidth=1;for(var t=0;t=0&&!s(this.items[i].y);)i--;if(!(t>i)){for(var r={},n=this.items,o=t;o<=i;o++){var a=n[o];if(h=a.style?a.style.color:this.lineColor,oi.bindToInput(e,t))}function p(e){Object(a.setLastUsedResolution)(e),l.linking.interval.setValue(e)}let _=null;function m(e){if(!Object(r.globalKeypressMatches)(e))return!1;e.preventDefault() -;const t=String.fromCharCode(e.charCode);return function(e){return/[\d,]/.test(e)}(t)&&n.enabled("show_interval_dialog_on_key_press")?Object(o.showChangeIntervalDialog)({callback:p,ownerDocument:e.target&&e.target.ownerDocument},t):n.enabled("symbol_search_hot_key")&&(g({defaultValue:t,selectSearchOnInit:!1,source:"keyboard"}),Object(h.trackEvent)("GUI","SS","hotkey")),!0}function f(){s.pushBackListener("symbolEdit",m)}function g(e){const t=_=Object(c.a)().then(i=>{t===_&&i.showDefaultSearchDialog(e)});return t}function v(e){return u().then(t=>t.setSearchRequestDelay(e))}},uDHo:function(e,t,i){"use strict";var s,r;function n(e,t){return"period-back"===e.type&&"period-back"===t.type?e.value===t.value:"time-range"===e.type&&"time-range"===t.type&&(e.from===t.from&&e.to===t.to)}i.r(t),i.d(t,"Helpers",(function(){return s})),i.d(t,"TIMEFRAMETYPE",(function(){return r})),i.d(t,"areEqualTimeFrames",(function(){return n})),function(e){e.extractErrorReason=function(e){return e.params[1]}}(s||(s={})),function(e){e.PeriodBack="period-back",e.TimeRange="time-range"}(r||(r={}))},ufwo:function(e,t,i){"use strict";i.r(t),i.d(t,"rangesAreEqual",(function(){return n}));var s=i("uDHo"),r=i("LxhU");function n(e,t){return!!r.Interval.isEqual(e.res,t.res)&&Object(s.areEqualTimeFrames)(e.val,t.val)}},ulZB:function(e,t,i){"use strict";i.d(t,"a",(function(){return n})),i.d(t,"b",(function(){return o}));var s=i("aIyQ"),r=i.n(s);class n{constructor(e,t,i,s,n){this._onChange=new r.a,this._handleChange=()=>{this._onChange.fire(this.get())},this._crossTabEvents=e,this._jsonKeyValueStore=t,this.CROSSTAB_EVENT_NAME=i,this.JSON_STORE_KEY=s,this.defaultStoreValue=this._serialize(n),this._subscribe()}get(){const e=this._jsonKeyValueStore.getJSON(this.JSON_STORE_KEY,this.defaultStoreValue);return this._deserialize(e)}set(e,t){const i=this._serialize(e);this._jsonKeyValueStore.setJSON(this.JSON_STORE_KEY,i,t),this._crossTabEvents.emit(this.CROSSTAB_EVENT_NAME),this._onChange.fire(e)}getOnChange(){return this._onChange}destroy(){this._unsubscribe(),this._onChange.destroy(),delete this._onChange}_subscribe(){this._crossTabEvents.on(this.CROSSTAB_EVENT_NAME,this._handleChange),this._jsonKeyValueStore.onSync.subscribe(this,this._handleChange)}_unsubscribe(){this._crossTabEvents.off(this.CROSSTAB_EVENT_NAME,this._handleChange),this._jsonKeyValueStore.onSync.unsubscribe(this,this._handleChange)}}class o extends n{_serialize(e){return e}_deserialize(e){return e}}},"v+eZ":function(e,t,i){"use strict";i.r(t);var s=i("txPx"),r=i("25b6");function n(e,t){e.preventDefault();const i=e.clipboardData;t.text&&i.setData("text/plain",t.text),t.html&&i.setData("text/html",t.html)}var o=i("Eyy1");const a=Object(s.getLogger)("Clipboard");class l{constructor(e){this._e=e}write(e){this._e&&0===this._e.eventPhase&&(a.logWarn("Cannot use an already dispatched ClipboardEvent for writing"),this._e=null);const t=this._toRaw(e);if(!(t.files.length>0))try{return this._e?n(this._e,t):function(e){let t=!1;const i=i=>{i.stopImmediatePropagation(),n(i,e),t=!0};try{ -document.addEventListener("copy",i,!0),document.execCommand("copy")}finally{document.removeEventListener("copy",i,!0)}if(!t)throw new Error("Could not copy data to clipboard")}(t),Promise.resolve()}catch(i){a.logDebug("Could not write using ClipboardEvent: "+i.message)}return this._writeUsingApi(t)}async _writeUsingApi(e){if(!navigator.clipboard||!navigator.clipboard.write||!window.ClipboardItem)throw new DOMException("ClipboardApi is not supported","NotSupportedError");const t={};for(const i of e.files)t[i.type]=i;return e.text&&(t["text/plain"]=e.text),e.html&&(t["text/html"]=e.html),navigator.clipboard.write([new window.ClipboardItem(t)])}_toRaw(e){const t={files:[]};t.text=e.text,void 0!==e.app?t.html=this._serializeAppData(e.app,e.text):e.html&&(t.html=e.html);for(const i of e.files||[])t.files.push(i);return t}_serializeAppData(e,t){return`${t?Object(r.b)(t.slice(0,256)):"📈"}`}}class c{constructor(e){this._e=e}async read(){this._e&&0===this._e.eventPhase&&(a.logWarn("Cannot use an already dispatched ClipboardEvent for reading"),this._e=null);const e=this._e?this._readUsingEvent(this._e):await this._readUsingApi();return this._fromRaw(e)}_readUsingEvent(e){const t=Object(o.ensure)(e.clipboardData);e.preventDefault();const i={files:[]};for(let s=0;s0&&(t.files=e.files),t}_parseAppData(e){if(-1===e.slice(0,1024).indexOf("data-tradingview-clip"))return;const t=(new DOMParser).parseFromString(e,"text/html").querySelector("[data-tradingview-clip]");return t?t.getAttribute("data-tradingview-clip")||"":void 0}_readBlobAsText(e){return new Promise((t,i)=>{const s=new FileReader;s.onloadend=()=>{t(s.result)},s.onerror=()=>{i(s.error)},s.readAsText(e)})}}var h=i("d700");function u(e){const t=e.target;return null!==t&&1===t.nodeType&&Object(h.b)(t)}function d(e){const t=e.target;if(null===t)return!1;const i=(t.ownerDocument||t).getSelection();return null!==i&&!i.isCollapsed}i.d(t,"ChartClipboardHandler",(function(){return p}));class p extends class{constructor(e){this._callbacks=Object.assign({},e),this._boundOnCopy=this._onCopyEv.bind(this), -this._boundOnCut=this._onCutEv.bind(this),this._boundOnPaste=this._onPasteEv.bind(this)}listen(){document.addEventListener("copy",this._boundOnCopy),document.addEventListener("cut",this._boundOnCut),document.addEventListener("paste",this._boundOnPaste)}async peek(){if("granted"!==(await navigator.permissions.query({name:"clipboard-read"})).state)throw new Error("clipboard-read is not granted");return new c(null).read()}uiRequestCopy(e){this._callbacks.copyRequested&&this._callbacks.copyRequested(new l(null),e)}uiRequestCut(e){this._callbacks.cutRequested&&this._callbacks.cutRequested(new l(null),e)}uiRequestPaste(e){this._callbacks.pasteRequested&&this._callbacks.pasteRequested(new c(null),e)}destroy(){document.removeEventListener("copy",this._boundOnCopy),document.removeEventListener("cut",this._boundOnCut),document.removeEventListener("paste",this._boundOnPaste)}_onCopyEv(e){e.defaultPrevented||this._callbacks.copyRequested&&this._callbacks.copyRequested(new l(e))}_onCutEv(e){e.defaultPrevented||this._callbacks.cutRequested&&this._callbacks.cutRequested(new l(e))}_onPasteEv(e){e.defaultPrevented||this._callbacks.pasteRequested&&this._callbacks.pasteRequested(new c(e))}}{_onCopyEv(e){if(!u(e)&&!d(e))return super._onCopyEv(e)}_onCutEv(e){if(!u(e)&&!d(e))return super._onCutEv(e)}_onPasteEv(e){if(!u(e))return super._onPasteEv(e)}}},v5F8:function(e,t,i){"use strict";var s=i("5rJj"),r=i("aDyP").LineToolPitchfork;class n extends r{constructor(e,t){super(e,t||n.createProperties())}name(){return"Modified Schiff Pitchfork"}static createProperties(e){var t=new s("linetoolschiffpitchfork",e,!1,{range:[0,8]});return n._configureProperties(t),t}static _configureProperties(e){r._configureProperties(e)}}t.LineToolSchiffPitchfork=n},vAx0:function(e,t,i){"use strict";var s=i("aO4+").Point,r=i("f6yo").pointInCircle,n=i("VdBB").HitTestResult,o=i("Zy3/").CompositeRenderer,a=i("ttUj").Tooltip,l=(i("GH0z").PercentageFormatter,i("55Xp").roundToFirstValuable,i("LxhU").Interval,i("jCNj").utc_to_cal),c=i("jCNj").get_timezone,h=i("3t3b").dateFormatProperty,u=i("gQ5K").DateFormatter,d=i("ikwP"),p=d.Size,_=d.createDisconnectedCanvas,m=d.getPrescaledContext2D,f=i("cPgM").ScaledPaneRenderer,g=i("z+cS").VerticalLineRenderer,v=i("zDbI").CHART_FONT_FAMILY;class b extends f{constructor(e){super(),this.data=e,this._hittest=new n(n.CUSTOM,e)}hitTest(e){return r(e,this.data.circlePoint,this.data.style.lollipop.radius)?this._hittest:null}_drawImpl(e){var t=this.data.template;e.drawImage(t,this.data.basePoint.x-(.5+this.data.style.lollipop.width/2<<0)+.5,this.data.basePoint.y-this.data.style.lollipop.height+.5,this.data.templateSize.w,this.data.templateSize.h)}}class S extends f{constructor(e,t){super(),this._data=e,this._paneView=t,this.textRenderer=new y(e.style.lollipop.importance)}_drawImpl(e){this._data.createText(this._data,this.textRenderer),this._paneView.getLastClickedLollipopId()===this._data.id?this._data.tooltip.show({items:[this.textRenderer],x:this._data.basePoint.x, -y:this._data.basePoint.y-this._data.style.lollipop.circleHeight-10-2*this._data.style.lollipop.radius*(this._data.stack?this._data.stack:0),wrapElement:e.canvas.parentNode,leftBorderColor:this._data.color}):this._data.tooltip.hide()}hitTest(e){return null}}class y{constructor(e){this.lines=[],this.fontHeight=12,this.font=this.fontHeight+"px "+v,this.lineSpacing=8,this.fillStyle="black",e&&(this.importance=e)}draw(e,t){for(var i=t.y,s=0;sl&&t{e!==r.permissionDenied&&this.hide()}),e.seriesError().subscribe(this,()=>{Object(s.enabled)("hide_loading_screen_on_series_error")&&this.hide()}),e.completed().subscribe(this,this.hide)}_show(){const e=this._cw.properties().childs().paneProperties.childs().background.value();this._shield.style.background=e,this._element.classList.add("fade")}_hide(){this._showed=!1,this._element.classList.remove("fade")}}},vq8G:function(e,t,i){"use strict";i.r(t),i.d(t,"SelectionRenderer",(function(){return o}));var s=i("VdBB"),r=i("//lt"),n=i("f6yo");class o{constructor(e){this._data=e||null}setData(e){this._data=e}draw(e,t){if(null===this._data||!this._data.visible)return;const i=t.pixelRatio;e.strokeStyle=void 0!==this._data.color?this._data.color:"#1E88E5",e.lineCap="butt";const s=Math.max(1,Math.floor(i));e.lineWidth=s;const r=this._data.vertOffset||0;for(let o=0;oObject(n.pointInBox)(t,e))}_drawMarker(e,t,i,s,r){let n=Math.round(3.5*r*2);n%2!=s%2&&(n+=1);let o=Math.round(n+2*(.5*s+.75*r));o%2!=s%2&&(o+=1);const a=Math.round(t.x*r),l=Math.round((t.y+i)*r),c=s%2/2;e.beginPath(),e.arc(a+c,l+c,o/2,0,2*Math.PI,!0),e.closePath(),e.fill(),e.beginPath(),e.arc(a+c,l+c,n/2,0,2*Math.PI,!0),e.closePath(),e.stroke()}}},vu5c:function(e,t,i){"use strict";function s(e,t){const i=()=>{e.completed().unsubscribe(null,s), -t(!1)},s=()=>{e.error().unsubscribe(null,i),t(!0)};e.completed().subscribe(null,i,!0),e.error().subscribe(null,s,!0)}i.r(t),i.d(t,"onSeriesCompletedOrErrorReceived",(function(){return s}))},vwKG:function(e,t,i){"use strict";i.r(t),i.d(t,"showTooManyStudiesNotice",(function(){return r}));var s=i("brCa");function r(e){"number"!=typeof e&&(e=TradingView.STUDY_COUNT_LIMIT),Object(s.showNoticeDialog)({title:window.t("Warning"),content:window.t("Studies limit exceeded: {0} studies per layout.\nPlease, remove some studies.").format(e)})}},w4Ji:function(e,t,i){"use strict";function s(e){const t=new Map;return e.plots.forEach((e,i)=>{t.set(e.id,e=>e[i+1])}),t}function r(e,t){return null==e[t]}i.r(t),i.d(t,"studyPlotFunctionMap",(function(){return s})),i.d(t,"studyEmptyPlotValuePredicate",(function(){return r}))},w9cH:function(e,t,i){"use strict";function s(e){if(e instanceof Error)return e.stack||e.message;try{return e.outerHTML.slice(0,1024)}catch(t){}try{if(void 0!==e)return JSON.stringify(e).slice(0,1024)}catch(i){}return String(e)}function r(){window.__tv_js_errors||(window.__tv_js_errors=[]),window.addEventListener("error",e=>{const t=(new Date).toISOString();window.__tv_js_errors.push(`${t} ${e.message||"JS error"}. ${e.filename||""}, line ${e.lineno}, col ${e.colno}.\nError: `+s(e.error))},!1),window.addEventListener("unhandledrejection",e=>{const t=(new Date).toISOString();window.__tv_js_errors.push(t+" Unhandled rejection.\nReason: "+s(e.reason))},!1),document.addEventListener("securitypolicyviolation",e=>{var t,i;const r=(new Date).toISOString(),n="report"===e.disposition?"CSP report-only":"CSP violation";window.__tv_js_errors.push(`${r} ${n}: ${e.violatedDirective||e.effectiveDirective}. ${e.sourceFile||""}, line ${null!==(t=e.lineno)&&void 0!==t?t:e.lineNumber}, col ${null!==(i=e.colno)&&void 0!==i?i:e.columnNumber}.\nBlocked URI: ${e.blockedURL||e.blockedURI}\nSample: ${e.sample}\nTarget: `+s(e.target))},!1)}i.r(t),i.d(t,"install",(function(){return r}))},wGNx:function(e,t,i){"use strict";var s;i.r(t),i.d(t,"RiskRewardPointIndex",(function(){return s})),function(e){e[e.Entry=0]="Entry",e[e.Close=1]="Close",e[e.ActualEntry=2]="ActualEntry",e[e.ActualClose=3]="ActualClose"}(s||(s={}))},wOSo:function(e,t,i){"use strict";i.d(t,"a",(function(){return a}));var s=i("IWXC"),r=i("aIyQ"),n=i.n(r),o=i("e3/o");class a{constructor(){this._quotes=null,this._quoteSessionSymbol=null,this._quoteSessionClientId="",this._quotesUpdate=new n.a,this._quoteSymbolChanged=new n.a}setQuotesSessionSymbol(e){this._quoteSessionSymbol!==e&&(this._quoteSessionClientId||(this._quoteSessionClientId="series-"+Object(o.guid)()),this._unsubscribeQuoteSession(),this._quotes=null,e&&(this._quoteSessionSymbol=e,Object(s.getQuoteSessionInstance)("full").subscribe(this._quoteSessionClientId,this._quoteSessionSymbol,this._onUpdate.bind(this))),this._quoteSymbolChanged.fire())}quotesUpdate(){return this._quotesUpdate}quoteSymbolChanged(){return this._quoteSymbolChanged}quotes(){return this._quotes}destroy(){ -this._unsubscribeQuoteSession()}_onUpdate(e,t){this._quotes=e&&e.values||null,t&&t.values&&this._quotesUpdate.fire(e,t)}_unsubscribeQuoteSession(){this._quoteSessionSymbol&&(Object(s.getQuoteSessionInstance)("full").unsubscribe(this._quoteSessionClientId,this._quoteSessionSymbol),this._quoteSessionSymbol=null,this._quotes=null)}}},wVAQ:function(e,t,i){"use strict";i.r(t),i.d(t,"fetch",(function(){return r}));var s=i("txPx");Object(s.getLogger)("Fetch");function r(e,t,i={}){return window.fetch(e,t)}},wYrq:function(e,t,i){"use strict";i.r(t);var s=i("Eyy1"),r=i("aO4+"),n=i("eJTA"),o=i("Kxc7"),a=i("Hr11"),l=i("ogJP"),c=i("Tmoa"),h=i("dOnf");var u=i("VdBB"),d=i("u0yd"),p=i("Zy3/"),_=i("gyZD"),m=i("Zp8I"),f=i("k9/m"),g=i("o2pV"),v=i("vq8G"),b=i("i6cO"),S=i("Zp/P");class y{constructor(e){this._data=e}draw(e,t){const i=this._data,s=t.pixelRatio,r=Math.max(1,Math.floor(s))%2?.5:0,n=i.vertOffset||0,o=i.lineColor||i.color,a=i.lineWidth||i.height/2;let c="",h=!1;for(const u of i.items){const t=u.x,i=u.y+n;if(Object(l.isNaN)(t)||Object(l.isNaN)(i))continue;let d,p;null!=u.style?(d=u.style.color,p=u.style.width):(d=o,p=a),d!==c&&(c=d,h&&e.fill(),e.beginPath(),e.fillStyle=d);const _=Math.round(t*s)+r,m=Math.round(i*s)+r,f=Math.round(p*s)+r;e.moveTo(_+f,m),e.arc(_,m,f,0,2*Math.PI,!1),h=!0}h&&e.fill()}hitTest(e){const t=this._data,i=t.lineWidth||t.height/2,s=t.vertOffset||0,n=Object(S.interactionTolerance)().series+i;for(const o of t.items){if(!o)continue;if(new r.Point(o.x,o.y+s).subtract(e).length()+i<=n)return new u.HitTestResult(u.HitTestResult.REGULAR)}return null}}class w{constructor(e){this._data=null,this._precalculatedCache=[],this.setData(e)}setData(e){this._data=e,this._precalculatedCache=[]}draw(e,t){if(null===this._data||0===this._data.items.length)return;const i=t.pixelRatio;this._precalculatedCache.length||this._fillPrecalculatedCache(i);const s=Math.max(1,Math.floor(i)),r=Math.round(this._data.histogramBase*i)-Math.floor(s/2),n=r+s,o=this._data.lineColor;for(let a=0;a=i&&t<=s){const t=r.y;if(e.y>=Math.min(t,this._data.histogramBase)&&e.y<=Math.max(t,this._data.histogramBase))return new u.HitTestResult(u.HitTestResult.REGULAR)}}return null}_fillPrecalculatedCache(e){if(null===this._data||0===this._data.items.length)return void(this._precalculatedCache=[]);const t=Math.ceil(this._data.barSpacing*e)<=1?0:Math.max(1,Math.floor(e)),i=Math.round(this._data.barSpacing*e)-t;this._precalculatedCache=new Array(this._data.items.length);for(let r=0;ri.center?i.right=e.left-t-1:e.left=i.right+t+1))}let s=Math.ceil(this._data.barSpacing*e);for(let r=0;r0&&s<4)for(let r=0;rs&&(e.roundedCenter>e.center?e.right-=1:e.left+=1)}}}var C=i("GEp6");class P{constructor(e){this._data=e}draw(e,t){var i,s,r,n;const o=t.pixelRatio;let a="",c=!1;for(const h of this._data.items){if(Object(l.isNaN)(h.x)||Object(l.isNaN)(h.y))continue;const t=null!==(s=null===(i=h.style)||void 0===i?void 0:i.color)&&void 0!==s?s:this._data.lineColor,u=Math.max(1,Math.floor((null!==(n=null===(r=h.style)||void 0===r?void 0:r.width)&&void 0!==n?n:this._data.lineWidth)*o));t!==a&&(a=t,c&&e.fill(),e.beginPath(),e.fillStyle=t);let d=3*u;d%2!=u%2&&(d+=1);const p=Math.round(Math.round(h.x*o)-d/2),_=Math.round(Math.round(h.y*o)-d/2),m=p+Math.floor(d/2-u/2),f=_+Math.floor(d/2-u/2);e.rect(p,f,d,u),e.rect(m,_,u,d),c=!0}c&&e.fill()}hitTest(e){const t=Object(S.interactionTolerance)().series+this._data.lineWidth/2;let i,s,n,o;for(let a=1;a{const t=Object(n.rgbToHsl)(Object(n.parseRgb)(e)),i=t[0]+.05;return t[0]=i-Math.floor(i),Object(n.rgbToHexString)(Object(n.hslToRgb)(t))},L=function(e,t){const i=new Map;return function(...s){const r=""+(t?t.apply(null,s):s[0]);if(!i.has(r)){const t=e.apply(this,s) -;return i.set(r,t),t}return i.get(r)}}(I);class O{constructor(e,t,i,s){this._histogramBase=null,this._items=[],this._selectionData=null,this._lineColor="",this._lineWidth=1,this._color1="",this._color2="",this._invalidated=!1,this._isMarkersEnabled=o.enabled("source_selection_markers"),this._study=e,this._series=t,this._model=i,this._plotName=s,this._plotIndex=e.metaInfo().plots.findIndex(e=>e.id===s),this._colorProvider=Object(M.createStudyPlotColorProvider)(e.metaInfo(),e.properties(),s),this._selectionIndexer=new g.SelectionIndexes(i.timeScale())}items(){return this._items}update(){this._invalidated=!0}renderer(){const e=this._study.properties().styles[this._plotName];if(!e.visible.value())return null;if(!this._study.priceScale())return null;this._invalidated&&(this._updateImpl(),this._invalidated=!1);const t={};t.barSpacing=this._model.timeScale().barSpacing(),t.items=this._items,t.histogramBase=this._histogramBase?this._histogramBase:Object(s.ensureNotNull)(this._study.priceScale()).height(),t.lineIndex=0,t.lineStyle=e.linestyle.value(),t.lineColor=this._lineColor,t.lineWidth=this._lineWidth,t.lineWidth=Object(l.isNumber)(t.lineWidth)?t.lineWidth:1,t.color1=this._color1,t.color2=this._color2,t.bottom=t.histogramBase,t.simpleMode=this._colorProvider.singleColor();const i=new p.CompositeRenderer,r=!!e.joinPoints&&e.joinPoints.value();switch(e.plottype.value()){case T.LineStudyPlotStyle.Line:case T.LineStudyPlotStyle.LineWithBreaks:i.append(new _.PaneRendererLine(t));break;case T.LineStudyPlotStyle.Area:case T.LineStudyPlotStyle.AreaWithBreaks:i.append(new d.PaneRendererArea(t));break;case T.LineStudyPlotStyle.Histogram:i.append(new x(t));break;case T.LineStudyPlotStyle.Columns:i.append(new w(t));break;case T.LineStudyPlotStyle.Cross:if(i.append(new P(t)),r){const e=Object(h.deepCopy)(t);e.lineWidth=1,e.forceLineWidth=!0,i.append(new _.PaneRendererLine(e))}break;case T.LineStudyPlotStyle.Circles:if(i.append(new y(t)),r){const e=Object(h.deepCopy)(t);e.lineWidth=1,e.ignorePaletteLineWidth=!0,i.append(new _.PaneRendererLine(e))}break;case T.LineStudyPlotStyle.StepLine:{const e=new m.PaneRendererStepLine;e.setData(t),i.append(e);break}default:i.append(new _.PaneRendererLine(t))}return this._model.selection().isSelected(this._study)&&this._isMarkersEnabled&&this._selectionData&&i.append(new v.SelectionRenderer(this._selectionData)),i}_getTranspValue(){const e=this._study.properties(),t=e.styles[this._plotName];let i=0;const s=this._study.metaInfo();return"Volume@tv-basicstudies"===s.id&&s.version<=46&&"transparency"in e?(i=e.transparency.value(),i=Object(l.isNumber)(i)?i:0,i):(t.transparency&&(i=t.transparency.value(),i=Object(l.isNumber)(i)?i:0),i)}_updateImpl(){var e,t,i,n,o;this._histogramBase=null,this._items=[];const l=this._study.priceScale();if(this._model.timeScale().isEmpty()||null===l||l.isEmpty())return;const h=this._model.timeScale().visibleBarsStrictRange();if(null===h)return -;let d=null!==(e=this._series.nearestIndex(h.firstBar()-1,f.PlotRowSearchMode.NearestLeft))&&void 0!==e?e:this._series.bars().firstIndex(),p=null!==(t=this._series.nearestIndex(h.lastBar()+1,f.PlotRowSearchMode.NearestRight))&&void 0!==t?t:this._series.bars().lastIndex();if(null===d||null===p)return;const _=this._study.offset(this._plotName);_>0?(d-=_,p+=_):(d+=_,p-=_);const m=this._study.getMinFirstBarIndexForPlot(this._plotName);if(m>p)return;d=Math.max(m,d);const g=this._study.properties().styles[this._plotName],v=g.plottype.value(),S=[T.LineStudyPlotStyle.Line,T.LineStudyPlotStyle.Area,T.LineStudyPlotStyle.Circles,T.LineStudyPlotStyle.Cross].indexOf(v)>=0,y=this._study.data(),w=this._study.firstValue();if(null===w)return;const C=y.rangeIterator(d,p),P=this._study.priceScale();if(null===P)return;const x=Object(a.clamp)(this._getTranspValue(),0,100),M=new Map,O=(e,t)=>{let i=M.get(e);void 0===i&&(i=new Map,M.set(e,i));let s=i.get(t);if(void 0===s){const r=!this._plotName||"vol"!==this._plotName;s=Object(c.generateColor)(e,t,r),i.set(t,s)}return s};let A=NaN;const E=Object(b.createEmptyStyle)();for(;C.hasNext();){const e=C.next();let t=e.index;const o=e.value;t+=_,t=Math.floor(t);let a=o[this._plotIndex+1];const l=null==a;if(a=l?NaN:a,S&&l)continue;const h=new r.Point(t,Object(s.ensure)(a));h.timePointIndex=t;if(this._colorProvider.isColorDefined()&&(h.style={color:O(g.color.value(),100),width:g.linewidth.value(),style:g.linestyle.value()},null!=a)){const e=this._colorProvider.getPlotPointStyle(o,E),t=e.colors[b.ColorerType.Main];void 0!==t&&(h.style.color=Object(c.isHexColor)(t)?O(t,x):t),h.style.width=null!==(i=e.lineWidth)&&void 0!==i?i:h.style.width,h.style.style=null!==(n=e.lineStyle)&&void 0!==n?n:h.style.style}S||isNaN(A)||A===t-1||this._items.push(new r.Point(t-1,NaN)),A=t,this._items.push(h)}if(P.pointsArrayToCoordinates(this._items,w),this._model.timeScale().timedValuesToCoordinates(this._items),g.histogramBase&&(this._histogramBase=P.priceToCoordinate(g.histogramBase.value(),w)),this._model.selection().isSelected(this._study)){const e=this._selectionIndexer.indexes();this._selectionData={points:[],bgColors:[],visible:!0,hittestResult:u.HitTestResult.REGULAR,barSpacing:this._model.timeScale().barSpacing()};const t=Object(s.ensureNotNull)(this._model.paneForSource(this._study)).height();for(let i=0;i1?h(e[r],t.slice(1),i):(e[r]&&e[r].setValue?e[r].setValue(i):e[r]=i,!0))}function u(e){i||m.logWarn("Path `"+e+"` does not exist.")}}function b(e,t,i,s){window.__defaultsOverrides&&v(e,t,i,window.__defaultsOverrides,s)}function S(){var e=/^linetool.+/;Object.keys(TradingView.defaultProperties).forEach((function(t){e.test(t)&&b(TradingView.defaultProperties[t],null,!1,t)}))}function y(e,t){return t?function(e,t){var i=g(e);if(!window._UNIT_TESTS){var s=TradingView.clone(TVSettings.getJSON(e,null));if(function(e){var t=new Set(["linetoolregressiontrend"]);return e.startsWith("study_")||t.has(e)}(e)&&s&&function(e){if(!e)return!1;e=e.toString();var t=new RegExp("\\d+").exec(e);return null!==t&&t[0]===e}(s.version)){var r=s.inputs,n=t.updateStudyInputs(s.id,s.version,"last",r,null);s.inputs=n;var o=t.updateStudyState(s,s);s=o}TradingView.merge(i,s)}return i}(e,t):function(e){var t=g(e);if(!window._UNIT_TESTS){var i=TradingView.clone(TVSettings.getJSON(e,null));i&&TradingView.merge(t,i)}return t}(e)}y.create=function(e,t){if(t){var i=g(e);TradingView.defaultProperties[e]=Object.assign(t,i)}},y.remove=function(e){TradingView.defaultProperties[e]=void 0},TradingView.saveDefaults=function(e,t){ -TVSettings.setJSON(e,t)},TradingView.factoryDefaults=g,window.applyDefaultOverridesToLinetools=S,window.applyDefaultsOverrides=b,window.applyPropertiesOverrides=v,window.defaults=y,t.applyDefaultOverridesToLinetools=S,t.applyDefaultsOverrides=b,t.applyPropertiesOverrides=v,t.defaults=y,t.factoryDefaults=g,t.saveDefaults=TradingView.saveDefaults},wamh:function(e,t,i){"use strict";i.r(t),i.d(t,"ChangeToolBarsThemeUndoCommand",(function(){return o}));var s=i("EsvI"),r=i("oiZD"),n=i("RDU5");class o extends n.UndoCommand{constructor(e,t,i=!0){super("Apply Toolbars Theme"),this._prevThemeName=e,this._themeName=t,this._syncState=i}undo(){Object(s.isStdThemeName)(this._prevThemeName)&&(Object(r.setTheme)(this._prevThemeName),this._syncState&&Object(s.syncTheme)())}redo(){Object(s.isStdThemeName)(this._themeName.toLowerCase())&&(Object(r.setTheme)(this._themeName.toLowerCase()),this._syncState&&Object(s.syncTheme)())}}},wi9r:function(e,t,i){"use strict";(function(e){var t=i("e3/o").randomHash;function s(e){this._chartApi=e,this._sessionid="qs_"+t(),this._sessionstarted=!1}s.prototype.destroy=function(){this._sessionstarted&&(this._chartApi.quoteDeleteSession(this._sessionid),this._sessionid=null,this._sessionstarted=!1)},s.prototype.connected=function(){return this._chartApi.connected()},s.prototype.connect=function(e){this._globalHandler=e,this._chartApi.createSession(this._sessionid,this),this._chartApi.connect()},s.prototype.disconnect=function(){this._chartApi.disconnect()},s.prototype.quoteAddSymbols=function(e,t){e=[].concat(e),t&&t.forcePermission&&(e=e.concat({flags:["force_permission"]})),this._chartApi.quoteAddSymbols(this._sessionid,e)},s.prototype.quoteRemoveSymbols=function(e){this._chartApi.quoteRemoveSymbols(this._sessionid,e)},s.prototype.quoteFastSymbols=function(e){this._chartApi.quoteFastSymbols(this._sessionid,e)},s.prototype.quoteSetFields=function(e){this._chartApi.quoteSetFields(this._sessionid,e)},s.prototype.onMessage=function(e){switch(e.method){case"connected":this._sessionstarted||(this._chartApi.quoteCreateSession(this._sessionid),this._sessionstarted=!0);break;case"disconnected":this._sessionstarted=!1}this._globalHandler(e)},s.prototype.quoteHibernateAll=function(e){this._chartApi.quoteHibernateAll(this._sessionid)},TradingView.QuoteSession=s,e&&e.exports&&(e.exports=s)}).call(this,i("YuTi")(e))},wiuq:function(e,t,i){"use strict";i.r(t),i.d(t,"LineToolArrowMarker",(function(){return a}));var s=i("Ss5c"),r=i("Ocx9"),n=i("tc+8"),o=i.n(n);class a extends s.LineDataSource{constructor(e,t){super(e,t||a.createProperties()),i.e("lt-pane-views").then(i.bind(null,"Qa6j")).then(({ArrowMarkerPaneView:e})=>{this._setPaneViews([new e(this,this.model())])})}pointsCount(){return 2}name(){return"Trend Line"}static createProperties(e){const t=new r.DefaultProperty("linetoolarrowmarker",e);return a._configureProperties(t),t}_getPropertyDefinitionsViewModelClass(){return Promise.all([i.e(33),i.e("lt-property-pages-with-definitions")]).then(i.bind(null,"FxV7")).then(e=>e.ArrowMarkerDefinitionsViewModel)} -static _configureProperties(e){s.LineDataSource._configureProperties(e),e.hasChild("text")||e.addChild("text",new o.a("")),e.addExclusion("text")}}},wjVR:function(e,t,i){"use strict";i.r(t);var s=i("Eyy1"),r=i("qFKp"),n=i("jofe"),o=i("FQhm"),a=i("sQaR");let l;class c extends a.a{constructor(){super(),this._dialog=null,this._subscribe=e=>{this._setVisibility(e)}}show(){this._load().then(e=>e.show())}hide(){var e;null===(e=this._dialog)||void 0===e||e.hide()}static getInstance(){return l||(l=new c),l}_load(){return Promise.all([i.e("redux"),i.e("react"),i.e(1),i.e(2),i.e(3),i.e(6),i.e(7),i.e(8),i.e(9),i.e(11),i.e(13),i.e(16),i.e(20),i.e(22),i.e(24),i.e(35),i.e(42),i.e(50),i.e(64),i.e(72),i.e(78),i.e(0),i.e(5),i.e(4),i.e(10),i.e(14),i.e(12),i.e(29),i.e(38),i.e(65),i.e(56),i.e("object-tree-dialog")]).then(i.bind(null,"xNz2")).then(e=>{var t,i;return null===(t=this._dialog)||void 0===t||t.hide(),null===(i=this._dialog)||void 0===i||i.visible().unsubscribe(this._subscribe),this._dialog=new e.ObjectTreeDialogRenderer,this._dialog.visible().subscribe(this._subscribe),this._dialog})}}var h=i("ogJP"),u=i("dDSx");var d=i("CW80"),p=i("3ClC"),_=i("H0vP"),m=i("mkn5"),f=i("eJTA"),g=i("Hr11"),v=i("S8xo"),b=i("ikwP");i("bc0y");class S{constructor(e,t,i){this._handleEl=null,this._startY=0,this._deltaY=0,this._totalHeight=0,this._totalStretch=0,this._prevStretchA=0,this._minPaneHeight=0,this._maxPaneHeight=0,this._pixelStretchFactor=0,this._colorCache={lineColor:"",backgroundColor:"",color:""},this._chart=e,this._paneA=e.paneWidgets()[t],this._paneB=e.paneWidgets()[i],this._row=document.createElement("tr"),this._row.style.height="1px",this._cell=document.createElement("td"),this._row.appendChild(this._cell),this._cell.classList.add("pane-separator"),this._cell.setAttribute("colspan","3"),this._cell.style.background=this._color(),this._cell.addEventListener("click",()=>{});const s=document.createElement("div");s.classList.add("handle"),this._cell.appendChild(s),this._mouseEventHandler=new v.MouseEventHandler(s,this,{treatVertTouchDragAsPageScroll:!1,treatHorzTouchDragAsPageScroll:!0}),this._handleEl=s}destroy(){this._mouseEventHandler.destroy(),this._row.parentElement&&this._row.parentElement.removeChild(this._row)}getElement(){return this._row}hide(){this._row.classList.add("js-hidden")}show(){this._row.classList.remove("js-hidden")}mouseDownEvent(e){this._mouseDownOrTouchStartEvent(e)}touchStartEvent(e){this._mouseDownOrTouchStartEvent(e)}pressedMouseMoveEvent(e){this._pressedMouseOrTouchMoveEvent(e)}touchMoveEvent(e){this._pressedMouseOrTouchMoveEvent(e)}mouseUpEvent(e){this._mouseUpOrTouchEndEvent(e)}touchEndEvent(e){this._mouseUpOrTouchEndEvent(e)}update(){this._cell.style.background=this._color().toString()}paint(){}image(){const e=this._paneA.leftPriceAxisesContainer().getWidth(),t=this._paneA.width(),i=this._paneA.rightPriceAxisesContainer().getWidth(),s=this._color(),r=Object(b.createDisconnectedCanvas)(document,new b.Size(e,1)),n=Object(b.getPrescaledContext2D)(r);n.fillStyle=s,n.fillRect(0,0,e,1) -;const o=Object(b.createDisconnectedCanvas)(document,new b.Size(t,1)),a=Object(b.getPrescaledContext2D)(o);a.fillStyle=s,a.fillRect(0,0,t,1);const l=Object(b.createDisconnectedCanvas)(document,new b.Size(i,1)),c=Object(b.getPrescaledContext2D)(l);return c.fillStyle=s,c.fillRect(0,0,i,1),{type:"separator",leftAxis:{content:r.toDataURL(),canvas:r,contentWidth:e,contentHeight:1},rightAxis:{content:l.toDataURL(),canvas:l,contentWidth:i,contentHeight:1},content:o.toDataURL(),canvas:o,contentWidth:t,contentHeight:1}}static height(){return 1}_mouseDownOrTouchStartEvent(e){this._startY=e.pageY,this._deltaY=0,this._totalHeight=this._paneA.height()+this._paneB.height(),this._totalStretch=this._paneA.state().stretchFactor()+this._paneB.state().stretchFactor(),this._prevStretchA=this._paneA.state().stretchFactor(),this._minPaneHeight=30,this._maxPaneHeight=this._totalHeight-this._minPaneHeight,this._pixelStretchFactor=this._totalStretch/this._totalHeight,Object(s.ensureNotNull)(this._handleEl).classList.add("i-active")}_pressedMouseOrTouchMoveEvent(e){this._deltaY=e.pageY-this._startY;const t=this._paneA.height(),i=Object(g.clamp)(t+this._deltaY,this._minPaneHeight,this._maxPaneHeight)*this._pixelStretchFactor,s=this._totalStretch-i;this._paneA.state().setStretchFactor(i),this._paneB.state().setStretchFactor(s),this._chart.adjustSize(),this._paneA.height()!==t&&(this._startY=e.pageY),this._chart.model().model().fullUpdate()}_mouseUpOrTouchEndEvent(e){this._chart.model().addPaneStretchFactorUndoCommand(this._paneA.state(),this._paneB.state(),this._prevStretchA,this._paneA.state().stretchFactor()),this._startY=0,this._deltaY=0,this._totalHeight=0,this._totalStretch=0,this._minPaneHeight=0,this._maxPaneHeight=0,this._pixelStretchFactor=0,Object(s.ensureNotNull)(this._handleEl).classList.remove("i-active")}_color(){const e=this._chart.properties().childs().scalesProperties.childs().lineColor.value(),t=this._chart.model().model().backgroundColor().value();if(this._colorCache.lineColor!==e||this._colorCache.backgroundColor!==t){const i=Object(f.parseRgba)(t),s=Object(f.parseRgba)(e),r=0===i[3]&&0===s[3]?"rgba(0,0,0,0)":Object(f.rgbaToString)(Object(f.blendRgba)(i,s));this._colorCache={lineColor:e,backgroundColor:t,color:r}}return this._colorCache.color}}var y=i("mMWL"),w=i("KnF9"),C=i("VaSN"),P=i("aIyQ"),x=i.n(P),T=i("hY0g"),M=i.n(T),I=i("Tmoa"),L=i("EsvI");const O={moving:"wait_finishing",wait_finishing:"stop",stop:"moving"};class A{constructor(e){this._chartModel=null,this._currentDistance=0,this._deferredFinishTimeout=0,this._finishingTimeout=0,this._moveType="",this._startTime=0,this._state="stop",this._movingTimeout=0,this._chart=e,this._chart.withModel(this,()=>{this._chartModel=this._chart.model()})}destroy(){clearTimeout(this._movingTimeout)}move(e){if(null!==this._chartModel&&"stop"===this._state&&this._chartModel.beginUndoMacro(1===e?"Move Left":"Move Right"),this._state=O.stop,this._moveType="animated",this._deferredFinishTimeout&&(clearTimeout(this._deferredFinishTimeout),this._deferredFinishTimeout=0), -this._finishingTimeout&&(clearTimeout(this._finishingTimeout),this._finishingTimeout=0),this._startTime=Date.now(),0===this._movingTimeout){const t=this._startTime,i=10,s=()=>{this.moveStep(t,0,50*e,1e3),this._movingTimeout=setTimeout(s,i)};this._movingTimeout=setTimeout(s,i)}}moveStep(e,t,i,s){if(null!==this._chartModel&&!this._chartModel.timeScale().isEmpty()){const r=Date.now();r1||!isFinite(n))&&(n=1);const o=1-Math.pow(1-n,3);return this._currentDistance=(i-t)*o+t,this._chartModel.scrollChart(this._currentDistance),n}}moveByBar(e){if(null!==this._chartModel){const t=this._chartModel.timeScale();if(t.isEmpty())return;if("stop"===this._state&&this._chartModel.beginUndoMacro(1===e?"Move Left":"Move Right"),null!==t.visibleBarsStrictRange()){const e=t.indexToCoordinate(t.visibleBarsStrictRange().lastBar())+t.barSpacing()/2;Math.abs(t.width()-e)>t.barSpacing()/6&&this._chartModel.scrollChart(t.width()-e)}if(this._state=O.stop,this._moveType="by_bar",this._startTime=Date.now(),!this._movingTimeout){let t=0,i=150;const s=400,r=()=>{this._moveByBarStep(e),t++,i>100&&(i-=t/5*20),this._movingTimeout=setTimeout(r,i)};this._movingTimeout=setTimeout(r,s),this._moveByBarStep(e)}}}stopMove(){"by_bar"===this._moveType?this.stopMoveByBar():this._stopMove()}stopMoveByBar(){"moving"===this._state&&(clearTimeout(this._movingTimeout),this._movingTimeout=0,this._state=O.wait_finishing,this._moveType="",this._movingTimeout=0,this._currentDistance=0,null!==this._chartModel&&this._chartModel.endUndoMacro())}_finishMove(){clearTimeout(this._movingTimeout),this._movingTimeout=0,this._deferredFinishTimeout=0;const e=this._currentDistance,t=Date.now(),i=()=>{const s=this.moveStep(t,e,0,700);s&&s<1?this._finishingTimeout=setTimeout(i,10):null!==this._chartModel&&(this._state=O.wait_finishing,this._moveType="",this._movingTimeout=0,this._currentDistance=0,this._chartModel.endUndoMacro())};this._finishingTimeout=setTimeout(i,10)}_stopMove(){"moving"===this._state&&(this._state=O.moving,Date.now()-this._startTime<200?this._deferredFinishTimeout=setTimeout(this._finishMove.bind(this),200-(Date.now()-this._startTime)):this._finishMove())}_moveByBarStep(e){if(null!==this._chartModel){if(this._chartModel.timeScale().isEmpty())return;this._chartModel.scrollChartByBar(e)}}}var E=i("m/3z"),k=i("Kxc7");class D{constructor(){this._totalDeltaX=0,this._totalDeltaY=0,this._prevWheelTime=0}processWheel(e){e.timeStamp-this._prevWheelTime>100&&this._reset(),this._totalDeltaX+=e.deltaX,this._totalDeltaY+=e.deltaY,this._prevWheelTime=e.timeStamp;const t={deltaX:e.deltaX,deltaY:e.deltaY};return 0===this._totalDeltaX||0===this._totalDeltaY||(Math.abs(this._totalDeltaX)>=Math.abs(3*this._totalDeltaY)&&(t.deltaY=0),Math.abs(this._totalDeltaY)>=Math.abs(3*this._totalDeltaX)&&(t.deltaX=0)),t}_reset(){this._totalDeltaX=0,this._totalDeltaY=0}}var V=i("n5al"),B=i("pPtI");i("brCa");class R{constructor(){this._draggingSource=null,this._activeTouchPanes=new Set,this._scrollingPane=null,this._pinchingPane=null}onPaneDestroyed(e){ -this._activeTouchPanes.delete(e),this._scrollingPane===e&&(this._scrollingPane=null),this._pinchingPane===e&&(this._pinchingPane=null)}startTouch(e){this._activeTouchPanes.add(e)}endTouch(e){this._activeTouchPanes.delete(e)}hasTouchesOnOtherPanes(e){return this._activeTouchPanes.size>1||1===this._activeTouchPanes.size&&!this._activeTouchPanes.has(e)}trySetDraggingSource(e,t){return!this.hasTouchesOnOtherPanes(t)&&(Object(s.assert)(null===this._draggingSource||this._draggingSource===e),this._draggingSource=e,!0)}clearDraggingSource(){null!==this._draggingSource&&(this._draggingSource=null)}draggingSource(){return this._draggingSource}setScrollingPane(e){Object(s.assert)(null===e||null===this._scrollingPane),this._scrollingPane=e}scrollingPane(){return this._scrollingPane}setPinchingPane(e){Object(s.assert)(null===e||null===this._pinchingPane),this._pinchingPane=e}pinchingPane(){return this._pinchingPane}}i.d(t,"ChartWidgetBase",(function(){return W}));const N=Object(k.enabled)("chart_content_overrides_by_defaults"),j={addToWatchlistEnabled:!0,showFinancialsEnabled:!1,sourceSelectionEnabled:!0,propertyPagesEnabled:!0,paneContextMenuEnabled:!0,priceScaleContextMenuEnabled:!0,currencyConversionEnabled:!1,unitConversionEnabled:!1,goToDateEnabled:!1,marketStatusWidgetEnabled:!0,chartWarningWidgetEnabled:!0,dataProblemWidgetEnabled:!0,paneControlsEnabled:!0,isSymbolAvailable:e=>Promise.resolve(!0),legendWidgetEnabled:!0,chartEventsEnabled:!0,esdEnabled:!1,croppedTickMarks:!0,countdownEnabled:!0,useKineticScroll:r.CheckMobile.any(),handleScale:{mouseWheel:!0,pinch:!0,axisPressedMouseMove:{time:!0,price:!0}},handleScroll:{mouseWheel:!0,pressedMouseMove:!0,horzTouchDrag:!0,vertTouchDrag:!0}};function F(e,t,i,s=0){const r=t.mainSeries().syncModel(),n=e.mainSeries().syncModel();let o=i;if(null!==r&&null!==n){const t=e.createSyncPoint(r,n);0!==s&&(i=r.projectTime(i,s)),o=t.sourceTimeToTargetTime(i)}return e.timeScale().points().roughIndex(o,n&&n.distance.bind(n))}class W{constructor(e,t,i){this.activePaneWidget=null,this._model=null,this._paneWidgets=[],this._maximizedPaneWidget=null,this._timeAxisWidget=null,this._paneSeparators=[],this._controlBarNavigation=null,this._lineToolsSynchronizer=null,this._modelCreated=new x.a,this._isDestroyed=!1,this._customLegendWidgetsFactoryMap=new Map,this._backgroundTopTheme=new M.a("light"),this._backgroundBasedTheme=new M.a("light"),this._backgroundBottomTheme=new M.a("light"),this._lhsAxesWidth=0,this._rhsAxesWidth=0,this._lhsPriceAxisWidthChanged=new x.a,this._rhsPriceAxisWidthChanged=new x.a,this._mainDiv=null,this._parent=null,this._elTooltipDiv=null,this._hotkeysListener=null,this._mouseWheelHelper=null,this._onWheelBound=null,this._justActivated=!1,this._inited=!1,this._containsData=!1,this._initialLoading=!1,this._defTimeframe=void 0,this._removeMaximizeHotkey=null,this._metaInfoRepository=null,this._invalidationMask=null,this._drawPlanned=!1,this._drawRafId=0,this._inLoadingState=!1,this._timingsMeter=null,this._tagsChanged=new x.a,this._redraw=new x.a, -this._updateThemedColorBound=this._updateThemedColor.bind(this),this._saveChartService=null,this._objectTreeDialogController=null,this._chartPaintedPromise=null,this._noExchangeSubscrptionWarning=null,this._paneWidgetsSharedState=new R,this._id=t,this._layoutId=i,this._options=Object(h.merge)(Object(h.clone)(j),e),this._options.customLegendWidgetFactories&&(this._customLegendWidgetsFactoryMap=this._options.customLegendWidgetFactories),this._subscribeToDrawingState(),this.withModel(this,()=>{const e=this.model().model();e.backgroundTopColor().subscribe(this._updateThemedColorBound),e.backgroundColor().subscribe(this._updateThemedColorBound)}),this._scrollHelper=new A(this),this._objectTreeDialogController=c.getInstance()}destroy(){var e,t;null===(e=this._lineToolsSynchronizer)||void 0===e||e.destroy(),null===(t=this._noExchangeSubscrptionWarning)||void 0===t||t.destroy(),null!==this._model&&(this._model.model().backgroundTopColor().unsubscribe(this._updateThemedColorBound),this._model.model().backgroundColor().unsubscribe(this._updateThemedColorBound),this._model.destroy()),this._customLegendWidgetsFactoryMap.clear(),this._scrollHelper.destroy(),this._isDestroyed=!0}id(){return this._id}layoutId(){return this._layoutId}getPriceAxisWidthChangedByName(e){return"left"===e?this._lhsPriceAxisWidthChanged:this._rhsPriceAxisWidthChanged}getPriceAxisMaxWidthByName(e){return"left"===e?this._lhsAxesWidth:this._rhsAxesWidth}timeAxisHeight(){return null!==this._timeAxisWidget?this._timeAxisWidget.size.h:0}withModel(e,t){this.model()?t.call(e):this.modelCreated().subscribe(e,t,!0)}images(e){window.TradingView.printing=!0;const t=this.model().selection().allSources();this.model().selectionMacro(e=>e.clearSelection());const i=(t,i)=>{t.paint(i,this.onWidget());const s={showCollapsedLegend:Boolean(null==e?void 0:e.showCollapsedLegend),status:null==e?void 0:e.status};return t.getScreenshotData(s)},s=[];if(null!==this._maximizedPaneWidget){const e=this._paneWidgets.indexOf(this._maximizedPaneWidget);s.push(i(this._maximizedPaneWidget,_.InvalidationMask.light().invalidateForPane(e)))}else for(let o=0;o{t.forEach(t=>{e.addSourceToSelection(t)})}),this.model().model().lightUpdate();const n=this.mainSeriesQuotesAndMetainfo();return{panes:s,timeAxis:r,colors:{text:this.properties().childs().scalesProperties.childs().textColor.value(),bg:this.properties().childs().paneProperties.childs().background.value(),scales:this.properties().childs().scalesProperties.childs().lineColor.value()},meta:n.meta,ohlc:n.ohlc,quotes:n.quotes}}setSaveChartService(e){this._saveChartService=e,null!==this._lineToolsSynchronizer&&this._lineToolsSynchronizer.setSaveChartService(e)} -mainSeriesQuotesAndMetainfo(){let e,t,i;const s=this._model&&this._model.mainSeries();if(s){const r=e=>null==e?"":s.formatter().format(e,void 0,void 0,!0,!1)+"",n=e=>null==e?"":e+"";e={resolution:s.interval(),symbol:s.symbol()};const o=s.symbolInfo();o&&(e.symbol=o.full_name,e.description=o.description,e.exchange=o.exchange);const a=s.bars().last();null!==a&&(t=a.value.slice(1,5).map(r));const l=s.quotes();l&&(i={change:r(l.change),changePercent:n(l.change_percent),last:r(l.last_price)})}return{meta:e,ohlc:t,quotes:i}}updateCrossHairPositionIfNeeded(){if(this._model){const e=y.tool.value();if(this._model.model().setCurrentTool(e),Object(C.lastEventIsTouch)()){const e=this._maximizedPaneWidget||this._paneWidgets[0];if(e.hasState()&&(this._isLineToolModeExceptBrush()||this.selectBarMode().value()||Object(y.toolIsMeasure)(y.tool.value()))){const t=e.state(),i=.5*this._model.model().timeScale().width(),s=.5*t.defaultPriceScale().height();this._model.model().setAndSaveCurrentPosition(i,s,t)}}this._model&&Object(C.lastEventIsTouch)()&&this._model.model().crossHairSource().updateAllViews()}}trackingModePaneWidget(){if(!Object(C.lastEventIsTouch)())return null;for(const e of this.paneWidgets())if(e.trackingModeEnabled())return e;return null}startTrackingMode(){if(Object(C.lastEventIsTouch)()){this.exitTrackingMode(),this.updateCrossHairPositionIfNeeded();const e=this._maximizedPaneWidget||this._paneWidgets[0],t=this.model().model().crossHairSource().currentPoint();e.startTrackingMode(t,t)}}exitTrackingMode(){Object(C.lastEventIsTouch)()&&this.paneWidgets().some(e=>e.trackingModeEnabled())&&(this.paneWidgets().forEach(e=>e.exitTrackingMode()),this.model().model().clearCurrentPosition())}onToolChanged(){this.selectBarMode().value()&&this.toggleSelectBarMode(),this.exitTrackingMode()}setInLoadingState(e){this._inLoadingState=e}paint(e){const t=null!=e?e:_.InvalidationMask.full();t.validationActions().forEach(e=>e()),this._paneWidgets.forEach((e,i)=>{null!==this._maximizedPaneWidget&&this._maximizedPaneWidget!==e||e.paint(t.invalidateForPane(i),!1)}),this._timeAxisWidget&&this._timeAxisWidget.paint(t.invalidateForTimeScale()),this._redraw.fire()}maximizedPaneWidget(){return this._maximizedPaneWidget}isMaximizedPane(){return null!==this._maximizedPaneWidget}unsetActivePaneWidget(){this.activePaneWidget=null}setActivePaneWidget(e){this.activePaneWidget=e}onPaneWidgetDestroyed(e){this.activePaneWidget===e&&(this.activePaneWidget=null)}backgroundTopTheme(){return this._backgroundTopTheme.readonly()}backgroundBasedTheme(){return this._backgroundBasedTheme.readonly()}backgroundBottomTheme(){return this._backgroundBottomTheme.readonly()}lineToolsAndGroupsDTO(){return Object(s.ensureNotNull)(this._lineToolsSynchronizer).prepareDTO()}resetLineToolsInvalidated(e,t){Object(s.ensureNotNull)(this._lineToolsSynchronizer).resetInvalidated(e,t)}applyAlertIdByExternalSource(e,t){var i;null===(i=this._lineToolsSynchronizer)||void 0===i||i.applyAlertIdByExternalSource(e,t)}deleteAlertByExternalSource(e,t){var i -;null===(i=this._lineToolsSynchronizer)||void 0===i||i.deleteAlertByExternalSource(e)}shouldBeSavedEvenIfHidden(){return this.model().model().shouldBeSavedEvenIfHidden()}showObjectsTreeDialog(){var e;null===(e=this._objectTreeDialogController)||void 0===e||e.show()}addCustomWidgetToLegend(e,t){this._customLegendWidgetsFactoryMap.set(e,t);for(const i of this.paneWidgets())i.addCustomWidgetToLegend(e,t)}applyIndicatorsToAllChartsAvailable(){if(!this.chartWidgetCollection().applyIndicatorsToAllChartsAvailable())return!1;for(const e of this.model().model().panes()){if(e.sourcesByGroup().all().some(e=>Object(p.isStudy)(e)&&!Object(p.isESDStudy)(e)))return!0}return!1}pasteImageAsLineTool(e){(this.activePaneWidget||this._paneWidgets[0]).pasteImageAsLineTool(e)}restoreState(e,t,i){this.adjustSize();Object(s.ensureNotNull)(this._model).restoreState(this._content,t,i);this._setActions()}addCompareAsOverlay(e){const t=this.model();return Object(s.ensureDefined)(this._options.isSymbolAvailable)(e).then(i=>{if(!i)return null;const s=t.createStudyInserter({type:"java",studyId:"Overlay@tv-basicstudies"});return s.setForceOverlay(!0),s.setPreferredPriceScale("as-series"),s.setTargetPriceScaleMode({percentage:!0}),s.insert(async()=>({symbol:e}))})}scrollHelper(){return this._scrollHelper}adjustSize(e){var t;let i=0;const s=null===this._model?null:this._model.model().priceScaleSlotsCount(),r=new Uint32Array(null===s?0:s.left),n=new Uint32Array(null===s?0:s.right),a=Object(b.getCanvasDevicePixelRatio)(document.body),l=(e,t)=>e+t,c=(e,t)=>{t.forEach((t,i)=>{e[i]=Math.max(e[i],t)})};for(const o of this._paneWidgets)if(!this._maximizedPaneWidget||this._maximizedPaneWidget===o){const e=o.leftPriceAxisesContainer().optimalWidths(),t=o.rightPriceAxisesContainer().optimalWidths();c(r,e),c(n,t),i+=o.stretchFactor()}const h=r.reduce(l,0),u=n.reduce(l,0),d=this._width(),p=this._height(),_=Math.max(d-h-u,0),m=this._paneSeparators.length,f=S.height(),g=this.isMaximizedPane()?0:f*m,v=null!==this._timeAxisWidget?this._timeAxisWidget.optimalHeight():0,y=p-v>=61;let w=y?v:0;w%2&&(w+=1);const C=g+w,P=p0){const e=new S(this,s-1,s);this._paneSeparators.push(e),this._timeAxisWidget?this._elMainTable.insertBefore(e.getElement(),this._timeAxisWidget.getElement()):this._elMainTable.appendChild(e.getElement())}this._timeAxisWidget?this._elMainTable.insertBefore(i.getElement(),this._timeAxisWidget.getElement()):this._elMainTable.appendChild(i.getElement())}for(let s=0;s{this._controlBarNavigation=new e.ControlBarNavigation(this,Object(s.ensureNotNull)(this._mainDiv),this._options.controlBar),this._model&&this.adjustSize()}),this._options.handleScale.mouseWheel||this._options.handleScroll.mouseWheel){this._mouseWheelHelper=new D;const e=this._onMousewheel.bind(this);this._onWheelBound=e,this._mainDiv.addEventListener("wheel",e,{passive:!1})}this.resize(),this._justActivated=!1,this.withModel(this,()=>{r.appendChild(n),n.addEventListener("mousedown",this._beginRequestActive.bind(this)),n.addEventListener("mouseup",this._endRequestActive.bind(this)),n.addEventListener("touchstart",this._beginRequestActive.bind(this)), -n.addEventListener("touchmove",this._endRequestActive.bind(this)),n.addEventListener("touchend",this._endRequestActive.bind(this)),n.addEventListener("click",this._requestActive.bind(this))}),this._inited&&(null!==this._timeAxisWidget&&(this._timeAxisWidget.destroy(),this._timeAxisWidget=null),this._paneWidgets.forEach(e=>{e.destroy()}),this._paneWidgets.length=0,this._paneSeparators.forEach(e=>{e.destroy()}),this._paneSeparators.length=0,this._update(_.InvalidationMask.full()))}_makeDefaultModel(){let e;if(this._content&&this._content.timeScale.points){const t=this._content.timeScale.points.items[0];e={startDate:t}}if(!Object(s.ensureNotNull)(this._metaInfoRepository).getInternalMetaInfoArray())throw new Error("Cannot create chart model: studies metainfo is absent");const t=()=>{this._drawPlanned=!1,this._drawRafId=0,this._inLoadingState||(this._invalidationMask&&(this._update(this._invalidationMask),this._invalidationMask=null),null!==this._chartPaintedPromise&&(this._chartPaintedPromise.resolve(),this._chartPaintedPromise=null))},i=()=>{const i={readOnly:this.readOnly(),isSnapshot:!!this._containsData,timeScale:this._options.timeScale,crossHair:this._options.crossHair,esdEnabled:this._options.esdEnabled,countdownEnabled:this._options.countdownEnabled,currencyConversionEnabled:this._options.currencyConversionEnabled,unitConversionEnabled:this._options.unitConversionEnabled};void 0!==this._options.watermarkEnabled&&(i.watermarkEnabled=this._options.watermarkEnabled),void 0!==this._options.shiftVisibleRangeOnNewBar&&(i.shiftVisibleRangeOnNewBar=this._options.shiftVisibleRangeOnNewBar);const r=function(e,t,i,s,r,n,o,a,l){const c=new u.ChartUndoModel(e,t,i,s,r,n,o,a,l);return c.model().fullUpdate(),c}(this._chartSession,e=>{if(!(e instanceof _.InvalidationMask))throw new Error("Invalid mask");null!==this._invalidationMask?this._invalidationMask.merge(e):this._invalidationMask=e,this._drawPlanned||(this._drawPlanned=!0,this._options.visible.when(()=>{const e=!document.hidden,i=this.screen&&this.screen.isShown();null!==this._timingsMeter&&e&&!i&&this._timingsMeter.startWaitingDraw();const r=Object(s.ensureNotNull)(Object(s.ensureNotNull)(this._parent).ownerDocument.defaultView);this._drawRafId=r.requestAnimationFrame(t)}))},this.properties(),e,Object(s.ensureNotNull)(this._metaInfoRepository),this,this._options.undoHistory,this._options.barsMarksContainersFactory,i);return this._createSessions(r.model()),r};Object(k.enabled)("lean_chart_load")?this._model=this._model||i():this._model=i(),this._createVolumeIfNeeded();if(this._content){let e={};N&&this._initialLoading&&(e={symbol:this._defSymbol,interval:this._defInterval,style:this._defStyle}),this.restoreState(this._content,this._containsData,e),N&&this._defSymbol&&this.model().model().recalculatePriceRangeOnce()}else this._setActions();return this._createLineToolsSynchronizerIfNeeded(),(()=>{const e=Object(s.ensureNotNull)(this._model);e.onTagsChanged().subscribe(this,()=>this.onModelTagsChanged()),this._initBackgroundColor(),this._updateGui(), -this._modelCreated.fire(e),this._tagsChanged.fire();const t=e.mainSeries();this._defTimeframe&&t.setDefaultTimeframe(this._defTimeframe),e.lineCancelled().subscribe(this,()=>this.onLineCancelled()),t.dataEvents().symbolNotPermitted().subscribe(null,e=>{t.properties().symbol.setValue(e)}),t.properties().style.unsubscribe(this,this._onChartStyleChanged),t.properties().style.subscribe(this,this._onChartStyleChanged),t.dataEvents().completed().subscribe(this,()=>this._addPerfMark("SeriesCompleted"),!0),t.dataEvents().barReceived().subscribe(this,()=>this._addPerfMark("SeriesFirstDataReceived"),!0);this._options.handleSessionErrors&&(t.dataEvents().chartTypeNotPermitted().subscribe(null,()=>{t.properties().interval.setValue("D")}),t.dataEvents().intradaySpreadNotPermitted().subscribe(null,()=>{t.properties().interval.setValue("D")}),t.dataEvents().customIntervalNotPermitted().subscribe(null,()=>{t.properties().interval.setValue(Object(B.getDefaultResolution)(Object(V.isRangeStyle)(t.properties().style.value())))}),t.dataEvents().intradayExchangeNotPermitted().subscribe(null,()=>{t.properties().interval.setValue("D")})),this._options.handleSessionErrors&&(t.requestingIntradayWhenNotSupported.subscribe(null,()=>{t.properties().interval.setValue("D")}),t.requestingResolutionWhenNotSupported.subscribe(null,e=>{t.properties().interval.setValue(e)}))})()}_subscribeToDrawingState(){if(this._options.readOnly)return;Object(y.init)();const e=(e,t)=>{if(null===this._model)return;const i=this._model.model();e.model!==i&&t(i,this._model)},t=(e,t)=>e.dataSources().find(e=>Object(d.isLineTool)(e)&&e.getLinkKey()===t)||null;y.createdLineTool.subscribe(null,t=>{e(t,(e,i)=>{const r=Object(s.ensureNotNull)(e.paneForSource(e.mainSeries()));let n,o=null;if(void 0===t.pointPositionPercents){if(o=F(e,t.model,t.point.timeStamp),null===o)return;n=t.point.price}else{const i=t.pointPositionPercents.x*e.timeScale().width(),s=e.mainSeries().priceScale(),r=t.pointPositionPercents.y*s.height(),a=e.mainSeries().firstValue();if(null===a)return;o=e.timeScale().coordinateToIndex(i),n=s.coordinateToPrice(r,a)}const a={index:Object(s.ensureNotNull)(o),price:n},l=i.createLineTool(r,a,t.linetool,t.properties,t.linkKey,e.mainSeries(),!0);null!==l&&!Boolean(this.model().lineBeingCreated())&&t.finalState&&l.restoreExternalPoints(t.finalState,{indexesChanged:!0,pricesChanged:!0})})}),y.continuedLineTool.subscribe(null,t=>{e(t,(e,i)=>{const s=F(e,t.model,t.point.timeStamp);if(null===s)return;const r={index:s,price:t.point.price},n=e.lineBeingCreated();if(null===n)return;i.continueExternalLine(r,null===t.envState?void 0:t.envState,!!t.finalState)&&t.finalState&&n.restoreExternalPoints(t.finalState,{indexesChanged:!0,pricesChanged:!0})})}),y.cancelledLineTool.subscribe(null,t=>{e(t,(e,t)=>{e.cancelCreatingLine()})}),y.beenSetLineToolLastPoint.subscribe(null,t=>{e(t,(e,i)=>{const s=e.lineBeingCreated();if(null===s||s.getLinkKey()!==t.linkKey)return;const r=F(e,t.model,t.point.timeStamp);if(null===r)return;const n={index:r,price:t.point.price};s.setLastPoint(n), -s.updateAllViews(),e.lightUpdate()})}),y.startedMovingLineTool.subscribe(null,i=>{e(i,(e,s)=>{const r=i.linkKeys.map(t.bind(null,e)).filter(h.notNull);if(r.length){const t=F(e,i.model,i.point.timeStamp);if(null===t)return;const s={index:t,price:i.point.price},n=void 0!==i.itemIndex?i.itemIndex:null;e.startMovingSources(r,{logical:s},n,i.pointPositionPercents,null===i.envState?void 0:i.envState,!0)}})}),y.movedLineTool.subscribe(null,t=>{e(t,(e,i)=>{if(!e.sourcesBeingMoved().filter(e=>(e=>t.linkKeys.some(t=>e.getLinkKey()===t))(e)).length)return;const s=F(e,t.model,t.point.timeStamp);if(null===s)return;const r={index:s,price:t.point.price};e.moveSources({logical:r},t.pointPositionPercents,null===t.envState?void 0:t.envState,!0)})}),y.finishedMovingLineTool.subscribe(null,t=>{e(t,(e,i)=>{const s=e.sourcesBeingMoved();if(0===s.length)return;s.forEach(i=>{const s=(e=>{for(let i=0;i{e(i,(e,s)=>{const r=t(e,i.linkKey);if(null!==r){const t=r.getPoint(i.pointIndex),s=t?t.index:F(e,i.model,i.point.timeStamp);if(null===s)return;if(r.isActualSymbol()&&r.isActualCurrency()&&r.isActualUnit()){const t={index:s,price:i.point.price};e.startChangingLinetool(r,t,i.pointIndex,null===i.envState?void 0:i.envState,!0)}}})}),y.changedLineTool.subscribe(null,t=>{e(t,(e,i)=>{const r=e.lineBeingEdited();if(null===r||r.getLinkKey()!==t.linkKey)return;let n=null;if(n=t.changes.indexesChanged?F(e,t.model,t.point.timeStamp):Object(s.ensureNotNull)(e.linePointBeingChanged()).index,null!==n&&r.isActualSymbol()&&r.isActualCurrency()&&r.isActualUnit()){const i={index:n,price:t.point.price};e.changeLinePoint(i,void 0,!0)}})}),y.finishedChangingLineTool.subscribe(null,i=>{e(i,(e,s)=>{const r=t(e,i.linkKey);null!==r&&r.isActualSymbol()&&r.isActualCurrency()&&r.isActualUnit()&&null!==e.lineBeingEdited()&&e.endChangingLinetool(!!i.finalState,!0),null!==r&&i.finalState&&r.restoreExternalPoints(i.finalState,i.changes)})}),y.removedLineTool.subscribe(null,i=>{e(i,(e,s)=>{const r=t(e,i.linkKey);null!==r&&s.removeSource(r,!1)})}),y.finishedLineTool.subscribe(null,i=>{e(i,(e,s)=>{const r=t(e,i.linkKey);null!==r&&Object(d.isLineDrawnWithPressedButton)(r.toolname)&&r.finish()})}),y.changedLineStyle.subscribe(null,i=>{e(i,(e,s)=>{const r=t(e,i.linkKey);null!==r&&(r.restoreExternalState(i.state),r.propertiesChanged(!0))})}),y.restoredLineToolState.subscribe(null,i=>{e(i,(e,s)=>{const r=t(e,i.linkKey);if(null!==r){const t=Object.assign({},i.state);t.indexes=i.state.points.map(t=>({index:F(e,i.model,t.time_t),price:t.price})),e.restoreLineToolState(r,t)}})}),y.restoredLineTool.subscribe(null,t=>{e(t,(e,i)=>{e.restoreSource(t.state.restorePane,t.state.paneIndex,t.state.paneState,t.state.sourceState,null)})}), -y.copiedLineTool.subscribe(null,t=>{e(t,(e,i)=>{const r=Object(s.ensureNotNull)(e.paneForSource(e.mainSeries()));let n;if(t.pointPositionPercents){const e={index:0,price:0};if(n=i.createLineTool(r,e,t.linetool,null,t.linkKey,void 0,!0),null===n)return;n.restorePositionPercents(Object(s.ensureDefined)(t.pointPositionPercents))}else{const o=t.points.map(i=>({index:Object(s.ensureNotNull)(F(e,t.model,i.timeStamp)),price:i.price})),a=o[0];if(n=i.createLineTool(r,a,t.linetool,null,t.linkKey,void 0,!0),null===n)return;if(e.lineBeingCreated())for(let e=1;er)){var o,a=this.m_series.bars().range(i,r),l=this.m_series.priceScale(),c=this.m_series.barColorer(),h={};if(a.each((function(i,s){var r,n={};(n.time=Math.round(i),e(s,n))&&(h.value=s,r=s[TradingView.STYLE_PLOT]?s[TradingView.STYLE_PLOT]:c.barStyle(i,!1,h),s[TradingView.STYLE_PLOT]=r,h.previousValue=s,n.color=r.barColor,n.borderColor=r.barBorderColor,n.wickColor=r.barWickColor,n.hollow=r.isBarHollow,t.m_bars.push(n))}),this),0!==this.m_bars.length&&(o=this.m_series.firstValue(),l.barPricesToCoordinates(this.m_bars,o)),this.m_model.timeScale().barIndexesToCoordinates(this.m_bars),this.m_model.selection().isSelected(this.m_series)){var u=this._selectionIndexer.indexes();this._selectionData={points:[],bgColors:[],visible:!0};var d=this.m_model.paneForSource(this.m_series).height();this._selectionData.hittestResult=n.REGULAR;for(var p=0;po.setValue(n())),o.subscribe(null,()=>r.setValue("Chart.ShowMarketOpenStatus",o.value()))},x5Tw:function(e,t,i){"use strict";i.r(t),i.d(t,"setupChartEventHint",(function(){return h}));var s=i("Eyy1"),r=(i("YFKU"),i("Vdly")),n=i("mMWL"),o=i("e92V"),a=i("qFKp"),l=i("/3z9"),c=i("Kxc7");function h(e,t=!1){if(!c.enabled("popup_hints"))return;const h=e.getContainer();let u=null,d=null;function p(e,t,r){if(u)u.show(e,r?void 0:_.bind(null,t));else{const o=n.tool.value();Promise.all([i.e("react"),i.e(93),i.e("chart-event-hint")]).then(i.bind(null,"PN5r")).then(i=>{u=new i.ChartEventHintRenderer(Object(s.ensureNotNull)(h)),o===n.tool.value()&&u.show(e,r?void 0:_.bind(null,t))})}}function _(e){r.setValue(e,!0,{forceFlush:!0}),Object(s.ensureNotNull)(u).destroy(),null!==d&&d(),u=null}n.tool.subscribe((function(){if(Boolean(r.getBool("hint.touchPainting")))return;const e=n.tool.value();Object(o.isStudyLineToolName)(e)&&"LineToolRegressionTrend"!==e&&!a.CheckMobile.any()?p(window.t("Click to set a point"),"hint.touchPainting"):a.CheckMobile.any()&&!Object(o.isLineDrawnWithPressedButton)(e)&&Object(o.isLineToolName)(e)?p(window.t("Move the point to position the anchor then tap to place"),"hint.touchPainting"):u&&u.hide()})),n.createdLineTool.subscribe(null,(function(){const e=n.tool.value();"LineToolPath"!==e||Boolean(r.getBool("hint.finishBuildPathByDblClick"))?"LineToolPolyline"!==e||Boolean(r.getBool("hint.finishBuildPolylineByDblClick"))||p(window.t("Double-click to finish Polyline"),"hint.finishBuildPolylineByDblClick"):p(window.t("Double-click to finish Path"),"hint.finishBuildPathByDblClick")})),n.finishedLineTool.subscribe(null,(function(){if(u){const e=n.tool.value();"LineToolPath"===e?_("hint.finishBuildPathByDblClick"):"LineToolPolyline"===e&&_("hint.finishBuildPolylineByDblClick")}})),t||a.CheckMobile.any()||Boolean(r.getBool("hint.startFocusedZoom"))||(d=function(e,t){let i=!1;const s=r=>{r?(i&&t(r),e.onZoom().unsubscribe(null,s)):i||(t(r),i=!0)};return e.onZoom().subscribe(null,s),()=>e.onZoom().unsubscribe(null,s)}(e,(function(e){if(Boolean(r.getBool("hint.startFocusedZoom")))return;if(e)u&&(d=null,_("hint.startFocusedZoom"));else{const e=l.isMacKeyboard?"⌘":"Ctrl";p(window.t("Press and hold {0} while zooming to maintain the chart position").format(e),"hint.startFocusedZoom")}})))}},x8jL:function(e,t,i){"use strict";i.r(t);var s=i("Eyy1"),r=i("MY2c"),n=i("bOGh"),o=i("RDU5");class a extends o.UndoCommand{constructor(e,t,i){super(i),this._wv=e,this._newValue=t,this._oldValue=e.value()}redo(){this._wv.setValue(this._newValue)}undo(){ -this._wv.setValue(this._oldValue)}}var l=i("txPx"),c=i("aIyQ"),h=i.n(c);i.d(t,"createUndoHistory",(function(){return d}));const u=Object(l.getLogger)("Common.UndoHistory");function d(){const e=[],t=new r.a,i=new r.a,o=new h.a;function l(s){if(e.length>0)e[e.length-1].addCommand(s);else{i.clear();const e=t.head(),r=e&&e.text();e&&e.canMerge(s)?e.merge(s):t.push(s);const n=s.text();""!==n&&n!==r&&u.logNormal("DO: "+n)}s.executeOnPush()&&s.redo(),e.length||o.fire(c())}function c(){const e=t.head(),s=i.head();return{enableUndo:!t.isEmpty(),undoText:void 0===e?void 0:e.text(),enableRedo:!i.isEmpty(),redoText:void 0===s?void 0:s.text()}}return{beginUndoMacro:function(t){const i=new n.a(t);return e.push(i),i},clearStack:function(){t.clear(),i.clear(),o.fire(c())},createUndoCheckpoint:function(){return{lastActualCommand:t.isEmpty()?null:t.head()}},endUndoMacro:function(){const t=Object(s.ensureDefined)(e.pop());t.isEmpty()||l(t)},pushUndoCommand:l,redo:function(){if(i.isEmpty())return!1;const e=i.pop();return!!e&&(e.redo(),t.push(e),u.logNormal("REDO: "+e.text()),o.fire(c()),!0)},redoStack:function(){return i},setWatchedValue:function(e,t,i){if(e.value()!==t){const s=new a(e,t,i);l(s),s.redo()}},undo:function(){if(t.isEmpty())return!1;const e=t.pop();return!!e&&(e.undo(),i.push(e),u.logNormal("UNDO: "+e.text()),o.fire(c()),!0)},undoStack:function(){return t},undoToCheckpoint:function(e){for(;!t.isEmpty()&&e.lastActualCommand!==t.head();)t.pop().undo();i.clear(),o.fire(c())},state:c,onChange:function(){return o}}}},xDuj:function(e,t,i){"use strict";i.r(t),i.d(t,"translatedIntervalString",(function(){return r}));i("YFKU");var s=i("pPtI");function r(e){const t=Object(s.getTranslatedResolutionModel)(e,!0);return null===t?e:t.multiplier+(t.mayOmitShortKind?"":t.shortKind)}},xWfy:function(e,t,i){"use strict";i.d(t,"a",(function(){return a})),i.d(t,"b",(function(){return u})),i.d(t,"c",(function(){return d})),i.d(t,"d",(function(){return p}));var s=i("tqok"),r=i("fFKx"),n=i("SqfW"),o=i("7Fue");class a{constructor(e,t){if(this._indexes=[],this._horizlines=new Map,this._vertlines=new Map,this._lines=new Map,this._hlines=new Map,this._textmarks=new Map,this._shapemarks=new Map,this._backgrounds=new Map,this._polygons=new Map,this._trendchannels=new Map,this._hhists=new Map,this._dwglabels=new Map,this._dwglines=new Map,this._dwgboxes=new Map,this._dwgtables=new Map,this._dwgtablecells=new Map,"data"===e){const e=t;this._indexes=e.indexes,this._vertlines=l(e.vertlines,this._indexes,n.b),this._horizlines=l(e.horizlines,this._indexes,r.b)}else if("state"===e){const e=t;this._indexes=e.indexes||[],this._vertlines=c(e.vertlines,this._indexes,n.b),this._horizlines=c(e.horizlines,this._indexes,r.b)}this._hhistsByTimePointIndex=Object(o.b)(this._hhists)}horizlines(){return this._horizlines}vertlines(){return this._vertlines}lines(){return this._lines}hlines(){return this._hlines}textmarks(){return this._textmarks}shapemarks(){return this._shapemarks}backgrounds(){return this._backgrounds}polygons(){return this._polygons}trendchannels(){ -return this._trendchannels}hhists(){return this._hhists}dwglabels(){return this._dwglabels}dwglines(){return this._dwglines}dwgboxes(){return this._dwgboxes}dwgtables(){return this._dwgtables}dwgtablecells(){return this._dwgtablecells}hhistsByTimePointIndex(){return this._hhistsByTimePointIndex}}function l(e,t,i){const s=new Map;return e.forEach((e,r)=>{const n=s.get(r)||new Set;e.forEach(e=>{const s=i(e,t);null!==s&&n.add(s)}),s.set(r,n)}),s}function c(e,t,i){const s=new Map;if(void 0===e)return s;for(const r of e){const e=r.styleId,n=s.get(e)||new Set;r.data.forEach(e=>{const s=i(e,t);null!==s&&n.add(s)}),s.set(e,n)}return s}function h(e,t,i,s){const r=[];return e.forEach((e,n)=>{e.forEach(e=>{!function(e,t,i){let s=null;for(const r of e)r.styleId===t&&(s=r);null===s&&(s={styleId:t,data:[]},e.push(s)),s.data.push(i)}(r,n,s(e,t(e),i))})}),r.length>0?r:void 0}function u(){return new a}function d(e){return new a("state",e)}function p(e){const t=function(e){const t=new Set;e.horizlines().forEach((e,i)=>{e.forEach(e=>{t.add(e.startIndex),t.add(e.endIndex)})}),e.vertlines().forEach((e,i)=>{e.forEach(e=>{t.add(e.index)})}),e.lines().forEach((e,i)=>{e.forEach(e=>{t.add(e.startIndex),t.add(e.endIndex)})}),e.textmarks().forEach((e,i)=>{e.forEach(e=>{t.add(e.time)})}),e.shapemarks().forEach((e,i)=>{e.forEach(e=>{t.add(e.time)})}),e.backgrounds().forEach((e,i)=>{e.forEach(e=>{t.add(null!==e.start?e.start:s.a),t.add(e.stop)})}),e.polygons().forEach((e,i)=>{e.forEach(e=>{e.points.forEach(e=>{t.add(e.index)})})}),e.trendchannels().forEach((e,i)=>{e.forEach(e=>{t.add(e.startIndex),t.add(e.endIndex)})}),e.hhists().forEach((e,i)=>{e.forEach(e=>{t.add(e.firstBarTime),t.add(e.lastBarTime)})}),e.dwglabels().forEach((e,i)=>{e.forEach(e=>{t.add(e.x)})}),e.dwglines().forEach((e,i)=>{e.forEach(e=>{t.add(e.x1),t.add(e.x2)})}),e.dwgboxes().forEach((e,i)=>{e.forEach(e=>{t.add(e.left),t.add(e.right)})});const i=Array.from(t);return i.sort((e,t)=>e-t),i}(e),i={indexes:t};let o=0;const a=()=>++o;return i.vertlines=h(e.vertlines(),a,t,n.a),i.horizlines=h(e.horizlines(),a,t,r.a),i}},xdS3:function(e,t,i){},xnA2:function(e,t,i){"use strict";var s=i("Ss5c").LineDataSource,r=i("5rJj"),n=i("j3hX").LineToolColorsProperty;class o extends s{constructor(e,t){super(e,t||o.createProperties()),this.version=o.version,i.e("lt-pane-views").then(i.t.bind(null,"CR3a",7)).then(({FibChannelPaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}levelsCount(){return o.LevelsCount}migrateVersion(e,t,i){i.properties.removeProperty("reverse")}pointsCount(){return 3}name(){return"Fib Channel"}processErase(e,t){var i="level"+t,s=this.properties()[i].visible;e.setProperty(s,!1,"Erase level line")}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(33),i.e("lt-property-pages-with-definitions")]).then(i.bind(null,"17v9"))).FibDrawingsWith24LevelsDefinitionsViewModel}static createProperties(e){var t=new r("linetoolfibchannel",e,!1,{range:[1,24],names:["coeff","color","visible"]});return o._configureProperties(t),t}static _configureProperties(e){ -s._configureProperties(e);var t=[];for(let i=1;i<=o.LevelsCount;i++)t.push(e.child("level"+i).child("color"));e.addChild("linesColors",new n(t)),e.addExclusion("linesColors")}}o.LevelsCount=24,o.version=2,t.LineToolFibChannel=o},xo8u:function(e,t,i){"use strict";i.d(t,"a",(function(){return o}));var s=i("Eyy1"),r=i("RDU5"),n=i("n5al");class o extends r.UndoCommand{constructor(e,t,i,r){super(r),this._newSourcesCurrencies=new Map,this._oldSourcesCurrencies=new Map,this._showFade=!1,this._chartWidget=i;const o=i.model().mainSeries();for(const a of e.seriesLikeSources()){if(!a.isVisible())continue;const e=t||Object(n.symbolOriginalCurrency)(Object(s.ensureNotNull)(a.symbolInfo()));this._newSourcesCurrencies.set(a.id(),e),this._oldSourcesCurrencies.set(a.id(),a.currency()),this._showFade=this._showFade||a===o&&a.currency()!==e}}redo(){this._applyCurrencies(this._newSourcesCurrencies)}undo(){this._applyCurrencies(this._oldSourcesCurrencies)}_applyCurrencies(e){this._showFade&&this._chartWidget.screen.show();const t=this._chartWidget.model().model();e.forEach((e,i)=>{Object(s.ensureNotNull)(t.dataSourceForId(i)).setCurrency(e)}),this._chartWidget.model().selectionMacro(e=>{e.clearSelection()})}}},xrEm:function(e,t,i){},xt3Q:function(e,t,i){"use strict";i.r(t),i.d(t,"TradingViewApiBase",(function(){return s}));class s{constructor(e){this._studyTemplatesDrawer=null;const{chartApiInstance:t,chartWidgetCollection:i,studyMarket:s,financialsDialog:r,saveChartService:n,loadChartService:o}=e;this._chartWidgetCollection=i,this._studyMarket=s,this._financialsDialog=r,this._saveChartService=n,this._loadChartLayoutDialog=o,this._intervalsService=null}dialogs(){return{Indicators:this._studyMarket,Financials:this._financialsDialog,Compare:null,ObjectsTree:null,ChartProperties:this._chartWidgetCollection.getChartPropertiesDialogRenderer(),ChartLayoutSaveAs:this._saveChartService.getSaveAsController(),ChartLayoutRename:this._saveChartService.getRenameController(),ChartLayoutCreate:this._saveChartService.getCreateController(),ChartLayoutLoad:this._loadChartLayoutDialog}}studyTemplatesDrawerApi(){throw new Error("not implemented")}intervalsService(){throw new Error("not implemented")}}},"xz+e":function(e,t,i){"use strict";var s=i("Ss5c").LineDataSource,r=i("7KDR").Action,n=i("Ocx9").DefaultProperty,o=i("j3hX").LineToolColorsProperty,a=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14],l=[{value:a[0],title:window.t("Supermillennium")},{value:a[1],title:window.t("Millennium")},{value:a[2],title:window.t("Submillennium")},{value:a[3],title:window.t("Grand Supercycle")},{value:a[4],title:window.t("Supercycle")},{value:a[5],title:window.t("Cycle")},{value:a[6],title:window.t("Primary")},{value:a[7],title:window.t("Intermediate")},{value:a[8],title:window.t("Minor",{context:"wave"})},{value:a[9],title:window.t("Minute",{context:"wave"})},{value:a[10],title:window.t("Minuette")},{value:a[11],title:window.t("Subminuette")},{value:a[12],title:window.t("Micro")},{value:a[13],title:window.t("Submicro")},{value:a[14],title:window.t("Minuscule")}];class c extends s{ -constructor(e,t){super(e,t||c.createProperties()),this.version=c.version,i.e("lt-pane-views").then(i.t.bind(null,"Ht/7",7)).then(({ElliottLabelsPaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}static migrateState(e){var t={0:11,1:10,2:9,3:8,4:7,5:6,6:5,7:4,8:3},i={0:11,1:8};"LineToolElliottSubminuette"===e.type&&(e.type="LineToolElliottImpulse",e.state.degree=t[e.state.wavesize]),"LineToolElliottMinor"===e.type&&(e.type="LineToolElliottImpulse",e.state.degree=t[e.state.wavesize]),"LineToolElliottCircle"===e.type&&(e.type="LineToolElliottImpulse",e.state.degree=t[e.state.wavesize]),"LineToolElliottMinorRetr"===e.type&&(e.type="LineToolElliottCorrection",e.state.degree=i[e.state.wavesize]),"LineToolElliottMajorRetr"===e.type&&(e.type="LineToolElliottCorrection",e.state.degree=i[e.state.wavesize])}migrateVersion(e,t,i){if(i.properties.hasChild("background")&&i.properties.removeProperty("background"),i.properties.hasChild("backgroundColor")&&i.properties.removeProperty("backgroundColor"),i.properties.hasChild("showBackground")&&i.properties.removeProperty("showBackground"),1===e){var s=Object.assign({},this._timePoint[0]);this._timePoint.unshift(s),this._points.length>0&&(s=Object.assign({},this._points[0]),this._points.unshift(s))}}applyTemplate(e){delete e.background,delete e.backgroundColor,delete e.showBackground,super.applyTemplate(e)}name(){return"Elliott Labels"}additionalActions(e){var t=this;return[new r({label:window.t("Degree"),subItems:a.map((function(i){var s=l.filter((function(e){return e.value===i}))[0];return new r({label:s.title,checkable:!0,checked:t.properties().degree.value()===i,onExecute:function(){e.setProperty(t.properties().degree,i,"Change Elliott Degree")}})}))})]}label(e){var t=a.length-this.properties().degree.value()-1,i=Math.floor(t/3);return{group:i,bold:!!(i%2),decoration:["","brackets","circle"][t%3],label:this.labelsGroup()[i][e]}}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(33),i.e("lt-property-pages-with-definitions")]).then(i.bind(null,"UHSU"))).ElliottPatternDefinitionsViewModel}availableDegreesValues(){return l}static createProperties(e){var t=new n("linetoolelliott",e);return c._configureProperties(t),t}static _configureProperties(e){s._configureProperties(e),e.addChild("linesColors",new o([e.color])),e.addExclusion("linesColors")}}c.version=4;class h extends c{pointsCount(){return 6}static _configureProperties(e){c._configureProperties(e)}}class u extends h{constructor(e,t){super(e,t||u.createProperties())}name(){return"Elliott Impulse Wave (12345)"}labelsGroup(){return u._labelsGroups}static createProperties(e){var t=new n("linetoolelliottimpulse",e);return u._configureProperties(t),t}static _configureProperties(e){h._configureProperties(e)}}u._labelsGroups=[["0","1","2","3","4","5"],["0","i","ii","iii","iv","v"],["0","1","2","3","4","5"],["0","I","II","III","IV","V"],["0","1","2","3","4","5"]];class d extends h{constructor(e,t){super(e,t||d.createProperties())}name(){return"Elliott Triangle Wave (ABCDE)"}labelsGroup(){ -return d._labelsGroups}static createProperties(e){var t=new n("linetoolelliotttriangle",e);return d._configureProperties(t),t}static _configureProperties(e){h._configureProperties(e)}}d._labelsGroups=[["0","A","B","C","D","E"],["0","a","b","c","d","e"],["0","A","B","C","D","E"],["0","a","b","c","d","e"],["0","A","B","C","D","E"]];class p extends h{constructor(e,t){super(e,t||p.createProperties())}name(){return"Elliott Triple Combo Wave (WXYXZ)"}labelsGroup(){return p._labelsGroups}static createProperties(e){var t=new n("linetoolelliotttriplecombo",e);return p._configureProperties(t),t}static _configureProperties(e){h._configureProperties(e)}}p._labelsGroups=[["0","W","X","Y","X","Z"],["0","w","x","y","x","z"],["0","W","X","Y","X","Z"],["0","w","x","y","x","z"],["0","W","X","Y","X","Z"]];class _ extends c{pointsCount(){return 4}static _configureProperties(e){c._configureProperties(e)}}class m extends _{constructor(e,t){super(e,t||m.createProperties())}name(){return"Elliott Correction Wave (ABC)"}labelsGroup(){return m._labelsGroups}static createProperties(e){var t=new n("linetoolelliottcorrection",e);return m._configureProperties(t),t}static _configureProperties(e){_._configureProperties(e)}}m._labelsGroups=[["0","A","B","C"],["0","a","b","c"],["0","A","B","C"],["0","a","b","c"],["0","A","B","C"]];class f extends _{constructor(e,t){super(e,t||f.createProperties())}name(){return"Elliott Double Combo Wave (WXY)"}labelsGroup(){return f._labelsGroups}static createProperties(e){var t=new n("linetoolelliottdoublecombo",e);return f._configureProperties(t),t}static _configureProperties(e){_._configureProperties(e)}}f._labelsGroups=[["0","W","X","Y"],["0","w","x","y"],["0","W","X","Y"],["0","w","x","y"],["0","W","X","Y"]],t.LineToolElliott=c,t.LineToolElliottImpulse=u,t.LineToolElliottTriangle=d,t.LineToolElliottTripleCombo=p,t.LineToolElliottCorrection=m,t.LineToolElliottDoubleCombo=f},xzdg:function(e,t,i){"use strict";i.r(t);var s=i("Eyy1"),r=i("YFKU"),n=i("ikwP"),o=i("ogJP"),a=i("jFln"),l=i("u+0B"),c=i("XlJ7"),h=i("JWMC"),u=i("zDbI"),d=i("CPmC"),p=i("gAom"),_=i("Hr11"),m=i("+cnz"),f=i("CxTi");class g{constructor(){this._width=null,this._currencyInfo=null,this._unitInfo=null,this._fontSize=0,this._currencyAndUnitLabelsWrapper=document.createElement("div"),this._currencyAndUnitLabelsWrapper.className=f["price-axis-currency-label-wrapper"],this._controlsContainer=document.createElement("table"),this._controlsContainer.className=f["price-axis-currency-label"],this._currencyAndUnitLabelsWrapper.appendChild(this._controlsContainer),this._currencyLabelTr=document.createElement("tr"),this._currencyLabelTr.className=f["price-axis-currency-label-dropdown"],this._currencyLabelTr.classList.add("apply-common-tooltip"),Object(d.b)(this._currencyLabelTr,"text",e=>this._currencyTooltipContent());const e=document.createElement("td");this._currencyText=document.createElement("span"),this._currencyText.className=f["price-axis-currency-label-text"],e.appendChild(this._currencyText),this._currencyLabelTr.appendChild(e) -;const t=document.createElement("td");this._currencyArrowDown=document.createElement("span"),this._currencyArrowDown.className=f["price-axis-currency-label-arrow-down"],this._currencyArrowDown.innerHTML=m,t.appendChild(this._currencyArrowDown),this._currencyLabelTr.appendChild(t),this._unitLabelTr=document.createElement("tr"),this._unitLabelTr.className=f["price-axis-currency-label-dropdown"],this._unitLabelTr.classList.add("apply-common-tooltip"),Object(d.b)(this._unitLabelTr,"text",e=>this._unitTooltipContent());const i=document.createElement("td");this._unitText=document.createElement("span"),this._unitText.className=f["price-axis-currency-label-text"],i.appendChild(this._unitText),this._unitLabelTr.appendChild(i);const s=document.createElement("td");this._unitArrowDown=document.createElement("span"),this._unitArrowDown.className=f["price-axis-currency-label-arrow-down"],this._unitArrowDown.innerHTML=m,s.appendChild(this._unitArrowDown),this._unitLabelTr.appendChild(s),this._controlsContainer.appendChild(this._currencyLabelTr),this._controlsContainer.appendChild(this._unitLabelTr),this.hideCurrency(),this.hideUnit()}element(){return this._currencyAndUnitLabelsWrapper}currencyLabelElement(){return this._currencyLabelTr}unitLabelElement(){return this._unitLabelTr}isVisible(){return this.currencyLabelVisible()||this.unitLabelVisible()}width(){if(null!==this._width)return this._width;let e=0;if(this.currencyLabelVisible()){const t=this._currencyLabelTr.getBoundingClientRect();e=Math.max(e,t.right-t.left+1+8)}if(this.unitLabelVisible()){const t=this._unitLabelTr.getBoundingClientRect();e=Math.max(e,t.right-t.left+1+8)}return this._width=e,e}drawLabel(e,t,i,s){if(!this.isVisible())return;const r=this.currencyLabelVisible()?this._currencyText.textContent||"":this._unitText.textContent||"",o=this._unitText.textContent||"";e.font=Object(c.makeFont)(this._fontSize,u.CHART_FONT_FAMILY);const a=new l.a,h=2*Number(f.css_value_currency_label_text_horizontal_padding)+Math.max(a.measureText(e,r),a.measureText(e,o)),d=a.yMidCorrection(e,r),m=a.yMidCorrection(e,o),g=Math.round(t/2*i),v=Object(_.ceiledEven)(h*i/2),b=this._controlsContainer.style,S=Math.round(this.labelTop()*i),y=Math.round(this.labelBottom()*i),w=y-S,C=Math.round(Number(f.css_value_currency_label_radius)*i);Object(p.drawRoundRect)(e,g-v,S,2*v,w,C),e.fillStyle=b.backgroundColor,e.fill();const P=Math.max(1,Math.floor(i));e.lineWidth=P,e.strokeStyle=s?f.css_value_border_color_dark:f.css_value_border_color_light,Object(p.drawRoundRect)(e,g-v+P/2,S+P/2,2*v-P,w-P,C),e.stroke();const x=S+(y-S-1)/2,T=this._isMultiLine();T&&Object(p.drawHorizontalLine)(e,Math.floor(x+P/2),g-v,g+v);const M=this._oneLineHeight()/2*i,I=T?Math.ceil(x-M):x,L=Math.ceil(x+M);e.fillStyle=b.color,e.textBaseline="middle",e.textAlign="center",Object(n.drawScaled)(e,i,()=>e.fillText(r,g/i,(I+d)/i)),T&&Object(n.drawScaled)(e,i,()=>e.fillText(o,g/i,(L+m)/i))}showCurrency(){this._currencyLabelTr.classList.remove("js-hidden"),this._width=null,this._updateMultiLine(),this._updateVisibility()}hideCurrency(){ -this._currencyLabelTr.classList.add("js-hidden"),this._width=null,this._updateMultiLine(),this._updateVisibility()}showUnit(){this._unitLabelTr.classList.remove("js-hidden"),this._width=null,this._updateMultiLine(),this._updateVisibility()}hideUnit(){this._unitLabelTr.classList.add("js-hidden"),this._width=null,this._updateMultiLine(),this._updateVisibility()}currencyLabelVisible(){return!this._currencyLabelTr.classList.contains("js-hidden")}unitLabelVisible(){return!this._unitLabelTr.classList.contains("js-hidden")}setCurrencyInfo(e){if(null!==this._currencyInfo&&this._currencyInfo.selectedCurrency===e.selectedCurrency&&this._currencyInfo.readOnly===e.readOnly&&this._currencyInfo.originalCurrencies.size===e.originalCurrencies.size)return this._currencyInfo=e,!1;this._currencyInfo=e;const t=null===e.selectedCurrency?Object(r.t)("Mixed"):Object(s.ensureDefined)(e.displayedValues.get(e.selectedCurrency));return this._currencyText.textContent!==t&&(this._currencyText.textContent=t,this._width=null),this._currencyArrowDown.classList.contains("js-hidden")!==e.readOnly&&(this._currencyArrowDown.classList.toggle("js-hidden",e.readOnly),this._currencyLabelTr.classList.toggle(f.readonly,e.readOnly),this._width=null),!0}setUnitInfo(e){if(null!==this._unitInfo&&this._unitInfo.selectedUnit===e.selectedUnit&&0===this._unitInfo.availableGroups.size==(0===e.availableGroups.size)&&this._unitInfo.originalUnits.size===e.originalUnits.size)return this._unitInfo=e,!1;this._unitInfo=e;const t=null===e.selectedUnit?Object(r.t)("Mixed"):Object(s.ensureDefined)(e.names.get(e.selectedUnit));return this._unitText.textContent!==t&&(this._unitText.textContent=t,this._width=null),this._unitArrowDown.classList.contains("js-hidden")!==(0===e.availableGroups.size)&&(this._unitArrowDown.classList.toggle("js-hidden",0===e.availableGroups.size),this._unitLabelTr.classList.toggle(f.readonly,0===e.availableGroups.size),this._width=null),!0}updateColors(e,t){const i=this._controlsContainer.style;i.background=e,i.color=t}currencyInfo(){return this._currencyInfo}unitInfo(){return this._unitInfo}setFontSize(e){this._fontSize!==e&&(this._fontSize=e,this._currencyLabelTr.style.fontSize=e+"px",this._unitLabelTr.style.fontSize=e+"px",this._width=null,this._setLineHeight(this._oneLineHeight()))}labelTop(){return Number(f.css_value_currency_label_top)}labelBottom(){const e=this.labelTop(),t=this._oneLineHeight();let i=e+t;return this._isMultiLine()&&(i+=t+1),i}_currencyTooltipContent(){const e=this._currencyInfo;return null===e?"":null===e.selectedCurrency?Array.from(e.currencies).map(t=>Object(s.ensureDefined)(e.displayedValues.get(t))).join(", "):""}_unitTooltipContent(){const e=this._unitInfo;return null===e?"":null===e.selectedUnit?Array.from(e.units).map(t=>Object(s.ensureDefined)(e.names.get(t))).join(", "):e.descriptions.get(e.selectedUnit)||""}_setLineHeight(e){this._currencyLabelTr.style.lineHeight=e+"px",this._unitLabelTr.style.lineHeight=e+"px"}_updateMultiLine(){this._controlsContainer.classList.toggle(f.multiline,this._isMultiLine())} -_updateVisibility(){this._currencyAndUnitLabelsWrapper.classList.toggle("js-hidden",!this.isVisible())}_oneLineHeight(){return 7+this._fontSize}_isMultiLine(){return this.unitLabelVisible()&&this.currencyLabelVisible()}}async function v(e,t,s){const[r,n]=await Promise.all([Promise.all([i.e("react"),i.e(1),i.e(2),i.e(3),i.e(6),i.e(7),i.e(8),i.e(9),i.e(23),i.e(24),i.e(41),i.e(68),i.e(86),i.e(0),i.e(5),i.e(4),i.e(37),i.e("currency-label-menu")]).then(i.bind(null,"9agd")),t()]);return r.showUnitConversion(e,s,n)}var b=i("S8xo"),S=i("5VQP");i.d(t,"PriceAxisWidgetBase",(function(){return w}));const y={contextMenuEnabled:!0,currencyConversionEnabled:!1,unitConversionEnabled:!1,countdownEnabled:!0,contextMenu:{general:!0,source:!0},pressedMouseMoveScale:!0,croppedTickMarks:!0};class w{constructor(e,t,i,s,r,a){this._priceScale=null,this._widthCache=new l.a(500),this._color=null,this._fontSize=null,this._currencyFontSize=0,this._currencyLabelWidth=null,this._isVisible=!0,this._updateTimeout=null,this._currencyMenu=null,this._currencyMenuEnabled=!0,this._currencyMenuEventHandler=null,this._unitMenu=null,this._unitMenuEnabled=!0,this._unitMenuEventHandler=null,this._prevOptimalWidth=0,this._size=new n.Size(-1,-1),this._currentCursorClassName="",this._mouseDown=!1,this._destroyed=!1,this._pane=e,this._undoModel=t,this._properties=i,this._isLeft="left"===s,this._options=Object(o.merge)(Object(o.clone)(y),r),this._rendererOptionsProvider=a,this._cell=document.createElement("div"),this._cell.className="price-axis",this._cell.style.width="25px",this._cell.style.left="0",this._canvasConfiguredHandler=()=>{this._undoModel.model().lightUpdate()},this._canvasBinding=Object(n.createBoundCanvas)(this._cell,new n.Size(16,16)),this._canvasBinding.subscribeCanvasConfigured(this._canvasConfiguredHandler);const c=this._canvasBinding.canvas;c.style.position="absolute",c.style.zIndex="1",c.style.left="0",c.style.top="0",this._topCanvasConfiguredHandler=()=>this._undoModel.model().lightUpdate(),this._topCanvasBinding=Object(n.createBoundCanvas)(this._cell,new n.Size(16,16)),this._topCanvasBinding.subscribeCanvasConfigured(this._topCanvasConfiguredHandler);const h=this._topCanvasBinding.canvas;if(h.style.position="absolute",h.style.zIndex="2",h.style.left="0",h.style.top="0",this._options.currencyConversionEnabled||this._options.unitConversionEnabled){this._currencyLabel=new g,this._cell.appendChild(this._currencyLabel.element());const e=()=>this._currencyMenuEnabled=null===this._currencyMenu||!this._currencyMenu.isOpened(),t=()=>this._showCurrenciesContextMenu();this._currencyMenuEventHandler=new b.MouseEventHandler(this._currencyLabel.currencyLabelElement(),{touchStartEvent:e,mouseDownEvent:e,mouseClickEvent:t,tapEvent:t});const i=()=>this._unitMenuEnabled=null===this._unitMenu||!this._unitMenu.isOpened(),s=()=>this._showUnitsContextMenu();this._unitMenuEventHandler=new b.MouseEventHandler(this._currencyLabel.unitLabelElement(),{touchStartEvent:i,mouseDownEvent:i,mouseClickEvent:s,tapEvent:s})}else this._currencyLabel=null -;this._properties.childs().fontSize.subscribe(this,this._onFontSizeChanged)}getElement(){return this._cell}onOptimalWidthNeedToBeRecalculated(e){const t=this.optimalWidth();(this._prevOptimalWidth{this._undoModel.model().fullUpdate(),this._updateTimeout=null},100)),this._prevOptimalWidth=t}optimalWidth(){var e;if(!this.isVisible())return 0;let t=0;const i=this.rendererOptions();if(this._pane.hasState()){const i=Object(n.getContext2D)(this._canvasBinding.canvas);Object(a.setFont)(i,this.baseFont());const s=this.backLabels(!0);for(let e=s.length;e--;){if(!s[e].isAxisLabelVisible())continue;const r=this._widthCache.measureText(i,s[e].text());t=Math.max(t,r);const n=s[e].secondLineText();n&&(t=Math.max(t,this._widthCache.measureText(i,n)));const o=s[e].thirdLineText();o&&(t=Math.max(t,this._widthCache.measureText(i,o)))}const r=this.priceScale(),o=r.marks(!0);o.length>0&&(t=Math.max(t,this._widthCache.measureText(i,o[0].label),this._widthCache.measureText(i,o[o.length-1].label)));const l=(null===(e=r.mainSource())||void 0===e?void 0:e.firstValue())||null;if(null!==l){const e=r.coordinateToPrice(1,l),s=r.coordinateToPrice(this._size.h-2,l);t=Math.max(t,this._widthCache.measureText(i,r.formatPrice(Math.floor(Math.min(e,s))+.11111111111111,l)),this._widthCache.measureText(i,r.formatPrice(Math.ceil(Math.max(e,s))-.11111111111111,l)))}}let r=0;this._isCurrencyLabelVisible()&&(null===this._currencyLabelWidth&&(this._currencyLabelWidth=Object(s.ensureNotNull)(this._currencyLabel).width()),r=this._currencyLabelWidth);const o=t||34;let l=Math.max(r,Math.ceil(i.borderSize+i.tickLength+i.paddingInner+i.paddingOuter+o+4));return l+=l%2,l}getImage(){const e=this._size,t=Object(n.createDisconnectedCanvas)(document,e);if(Object(n.getPrescaledContext2D)(t).drawImage(this._canvasBinding.canvas,0,0,e.w,e.h),null!==this._currencyLabel&&this._currencyLabel.isVisible()){const i=this._undoModel.model().isDark();this._currencyLabel.drawLabel(Object(n.getContext2D)(t),e.w,Object(n.getCanvasDevicePixelRatio)(t),i)}return t}priceScale(){return Object(s.ensureNotNull)(this._priceScale)}setPriceScale(e){this._priceScale!==e&&(null!==this._priceScale&&this._priceScale.onMarksChanged().unsubscribe(this,this.onOptimalWidthNeedToBeRecalculated),this._priceScale=e,null!==e&&e.onMarksChanged().subscribe(this,this.onOptimalWidthNeedToBeRecalculated))}isVisible(){return this._isVisible}setVisible(e){(e=!!e)!==this._isVisible&&(this._cell.style.display=e?"table-cell":"none",this._isVisible=e)}destroy(){null!==this._currencyMenu&&(this._currencyMenu.close(),this._currencyMenu=null),null!==this._currencyMenuEventHandler&&this._currencyMenuEventHandler.destroy(),null!==this._unitMenu&&(this._unitMenu.close(),this._unitMenu=null),null!==this._unitMenuEventHandler&&this._unitMenuEventHandler.destroy(),this._topCanvasBinding.unsubscribeCanvasConfigured(this._topCanvasConfiguredHandler),this._topCanvasBinding.destroy(), -this._canvasBinding.unsubscribeCanvasConfigured(this._canvasConfiguredHandler),this._canvasBinding.destroy(),null!==this._priceScale&&this._priceScale.onMarksChanged().unsubscribe(this,this.onOptimalWidthNeedToBeRecalculated),this._priceScale=null,this._updateTimeout&&(clearTimeout(this._updateTimeout),this._updateTimeout=null),this._properties.childs().fontSize.unsubscribe(this,this._onFontSizeChanged),this._destroyed=!0}backgroundColor(){return this._pane.state().model().backgroundColor().value()}backgroundTopColor(){return this._pane.state().model().backgroundTopColor().value()}lineColor(){return this._properties.childs().lineColor.value()}textColor(){return this._properties.childs().textColor.value()}fontSize(){return this._properties.childs().fontSize.value()}baseFont(){return Object(c.makeFont)(this.fontSize(),u.CHART_FONT_FAMILY,"")}rendererOptions(){let e=this._rendererOptionsProvider.options();return this._color===e.color&&this._fontSize===e.fontSize||(this._color=e.color),this._fontSize!==e.fontSize&&(this._widthCache.reset(),this._fontSize=e.fontSize,this._currencyLabelWidth=null,this._currencyFontSize=0,this._updateCurrencyLabelFont(),this.onOptimalWidthNeedToBeRecalculated()),e}mouseEnterEvent(e){this._mouseEnterOrTouchStartEvent(e)}mouseMoveEvent(e){this._mouseOrTouchMoveEvent(e)}mouseDownEvent(e){this._mouseDownOrTouchStartEvent(e)}touchStartEvent(e){this._mouseOrTouchMoveEvent(e),this._mouseEnterOrTouchStartEvent(e),this._mouseDownOrTouchStartEvent(e)}pressedMouseMoveEvent(e){this._pressedMouseOrTouchMoveEvent(e)}touchMoveEvent(e){this._pressedMouseOrTouchMoveEvent(e)}mouseDownOutsideEvent(){if(!this._zoomAvailable()||!this._pane.hasState())return;const e=this._pane.state(),t=this.priceScale();this._mouseDown&&(this._mouseDown=!1,this._undoModel.endScalePrice(e,t),this.restoreDefaultCursor())}mouseUpEvent(e){this._mouseUpOrTouchEndEvent(e)}touchEndEvent(e){this._mouseLeaveOrTouchEndEvent(e),this._mouseUpOrTouchEndEvent(e)}mouseClickEvent(e){this._mouseClickOrTapEvent(e)}tapEvent(e){this._mouseClickOrTapEvent(e)}mouseLeaveEvent(e){this._mouseLeaveOrTouchEndEvent(e)}mouseDoubleClickEvent(e){this._mouseDoubleClickOrDoubleTapEvent(e)}doubleTapEvent(e){this._mouseDoubleClickOrDoubleTapEvent(e)}contextMenuEvent(e){this._contextMenuOrTouchContextMenuEvent(e)}touchContextMenuEvent(e){this._contextMenuOrTouchContextMenuEvent(e)}reset(){const e=this._pane.state(),t=this.priceScale();this._undoModel.resetPriceScale(e,t),this.onOptimalWidthNeedToBeRecalculated(!0)}sizeReady(){return this.getWidth()>=this.optimalWidth()&&null===this._updateTimeout}_isCurrencyLabelVisible(){return null!==this._currencyLabel&&this._currencyLabel.isVisible()}_updateCurrencyLabel(){if(null!==this._currencyLabel){if(this._options.currencyConversionEnabled){const e=this.priceScale().currency(this._undoModel.model().availableCurrencies());null!==e&&this._properties.childs().showCurrency.value()?(this._currencyLabel.showCurrency(),this._currencyLabel.updateColors(this.backgroundTopColor(),this.textColor()), -this._currencyLabel.setCurrencyInfo(e)&&(this._currencyLabelWidth=null,this.onOptimalWidthNeedToBeRecalculated())):this._currencyLabel.hideCurrency()}if(this._options.unitConversionEnabled){const e=this.priceScale().unit(this._undoModel.model().availableUnits());null!==e&&this._properties.childs().showUnit.value()?(this._currencyLabel.showUnit(),this._currencyLabel.updateColors(this.backgroundTopColor(),this.textColor()),this._currencyLabel.setUnitInfo(e)&&(this._currencyLabelWidth=null,this.onOptimalWidthNeedToBeRecalculated())):this._currencyLabel.hideUnit()}this._updateCurrencyLabelFont()}}_updateCurrencyLabelFont(){if(null===this._currencyLabel)return;const e=this.fontSize();e!==this._currencyFontSize&&(this._currencyLabel.setFontSize(e),this._currencyFontSize=e,this._currencyLabelWidth=null,this.onOptimalWidthNeedToBeRecalculated())}_alignLabels(){let e=this._size.h/2;const t=[],i=this.priceScale(),s=i.orderedSources().slice(),r=this._pane.state(),n=this.rendererOptions();if(i===r.defaultPriceScale()){const e=r.priceDataSources();for(let t=0;t!e.ignoreAlignment()&&e.isVisible());if(!i.length)continue;t.push(...i),o===n&&(e=i[0].floatCoordinate())}}const a=t.filter(t=>t.floatCoordinate()<=e),l=t.filter(t=>t.floatCoordinate()>e);a.sort((e,t)=>t.floatCoordinate()-e.floatCoordinate()),a.length>0&&l.length>0&&l.push(a[0]),l.sort((e,t)=>e.floatCoordinate()-t.floatCoordinate());for(const c of t)c.setFixedCoordinate(c.coordinate());if(i.properties().childs().alignLabels.value()){for(let e=1;eo-s&&t.setFixedCoordinate(o-s)}for(let e=1;e{if(this._options.croppedTickMarks)return{visible:!0,yCorrection:this._widthCache.yMidCorrection(e,t.label)};const i=t.coord-d/2,s=t.coord+d/2,r=!(s>this._size.h||ithis._size.h||i{for(let s=i.length;s--;){if(!_[s].visible)continue;const r=i[s] -;e.fillText(r.label,l/t,r.coord+_[s].yCorrection)}}),e.restore()}_hasAlertLabel(){return!1}_showCurrenciesContextMenu(){if(!this._currencyMenuEnabled)return;Object(h.trackEvent)("GUI","Currency conversion");v(Object(r.t)("Currencies"),()=>async function(e,t,s){return(await Promise.all([i.e("react"),i.e(1),i.e(2),i.e(3),i.e(6),i.e(7),i.e(8),i.e(9),i.e(23),i.e(24),i.e(41),i.e(68),i.e(86),i.e(0),i.e(5),i.e(4),i.e(37),i.e("currency-label-menu")]).then(i.bind(null,"aWqZ"))).currencyActions(e,t,s)}(this._undoModel,Object(s.ensureNotNull)(this._currencyLabel).currencyInfo(),this.priceScale()),Object(s.ensureNotNull)(this._currencyLabel).currencyLabelElement()).then(e=>{this._destroyed?e.close():this._currencyMenu=e})}_showUnitsContextMenu(){if(!this._unitMenuEnabled)return;Object(h.trackEvent)("GUI","Unit conversion");v(Object(r.t)("Units"),()=>async function(e,t,s){return(await Promise.all([i.e("react"),i.e(1),i.e(2),i.e(3),i.e(6),i.e(7),i.e(8),i.e(9),i.e(23),i.e(24),i.e(41),i.e(68),i.e(86),i.e(0),i.e(5),i.e(4),i.e(37),i.e("currency-label-menu")]).then(i.bind(null,"hpdS"))).unitActions(e,t,s)}(this._undoModel,Object(s.ensureNotNull)(this._currencyLabel).unitInfo(),this.priceScale()),Object(s.ensureNotNull)(this._currencyLabel).unitLabelElement()).then(e=>{this._destroyed?e.close():this._unitMenu=e})}_onFontSizeChanged(){this._currencyLabelWidth=null,this._currencyFontSize=0,this._updateCurrencyLabelFont(),this.onOptimalWidthNeedToBeRecalculated()}_mouseOrTouchMoveEvent(e){if(!this._priceScale)return;this.dataSourceAtPoint(e.localX,e.localY)?this._setCursorClassName("pointer"):this._setResizeCursor()}_mouseDownOrTouchStartEvent(e){if(!this._zoomAvailable())return;const t=this._pane.state();this._mouseDown=!0,this._undoModel.startScalePrice(t,this.priceScale(),e.localY)}_mouseEnterOrTouchStartEvent(e){this._setResizeCursor()}_pressedMouseOrTouchMoveEvent(e){if(!this._zoomAvailable())return;const t=this._pane.state(),i=this.priceScale();this._undoModel.scalePriceTo(t,i,e.localY)}_mouseUpOrTouchEndEvent(e){if(!this._zoomAvailable())return;const t=this._pane.state(),i=this.priceScale();this._mouseDown=!1,this._undoModel.endScalePrice(t,i),this.restoreDefaultCursor()}_mouseClickOrTapEvent(e){const t=this.dataSourceAtPoint(e.localX,e.localY);t&&this._undoModel.selectionMacro(e=>{e.selection().isSelected(t)||(e.clearSelection(),e.addSourceToSelection(t))})}_mouseLeaveOrTouchEndEvent(e){this._setCursorClassName("")}_mouseDoubleClickOrDoubleTapEvent(e){const t=this.dataSourceAtPoint(e.localX,e.localY);t?this._pane.processDoubleClickOnSource(t):(this.reset(),Object(h.trackEvent)("GUI","Double click price scale"))}_contextMenuOrTouchContextMenuEvent(e){if(this._options.contextMenuEnabled){const t=this.dataSourceAtPoint(e.localX,e.localY);if(null!==t&&this._options.contextMenu.source){return void this._undoModel.model().selectionMacro(i=>{i.selection().isSelected(t)||(i.clearSelection(),i.addSourceToSelection(t)),this._pane.showContextMenuForSelection(e)})} -this._options.contextMenu.general&&S.ContextMenuManager.createMenu(this.getContextMenuActions(),{statName:"PriceScaleContextMenu"}).then(t=>t.show(e))}}_setResizeCursor(){const e=this.priceScale();e.isPercentage()||e.isIndexedTo100()?this._setCursorClassName(""):this._zoomAvailable()&&this._setCursorClassName("ns-resize")}_setCursorClassName(e){let t="";e&&(t="price-axis--cursor-"+e),this._currentCursorClassName!==t&&(this._currentCursorClassName&&this._cell.classList.remove(this._currentCursorClassName),t&&this._cell.classList.add(t),this._currentCursorClassName=t)}_zoomAvailable(){return!this.priceScale().isEmpty()&&this._undoModel.model().zoomEnabled()&&this._options.pressedMouseMoveScale}}},"y/Xm":function(e,t,i){"use strict";i.r(t),i.d(t,"StudyOverlayBase",(function(){return y}));var s=i("Eyy1"),r=i("qFKp"),n=i("GVHu"),o=i("XPit"),a=i("n5al"),l=i("tc+8"),c=i.n(l),h=i("5fI3"),u=i("Kxc7"),d=i("wOSo"),p=i("BZtw"),_=i("pPtI"),m=i("k9/m");const f=r.CheckMobile.any()&&!1,g=u.enabled("uppercase_instrument_names"),v=u.enabled("study_overlay_compare_legend_option"),b=u.enabled("secondary_series_extend_time_scale");function S(e,t){return null==e[t]}class y extends n.Study{constructor(e,t,i,s){t.hasChild("currencyId")||t.addChild("currencyId",new c.a(null)),t.hasChild("unitId")||t.addChild("unitId",new c.a(null)),super(e,t,i,s),this._seriesSource=null,this.m_data=new m.PlotList(Object(o.seriesPlotFunctionMap)(),S),this._quotesProvider=new d.a,f&&this._quotesProvider.quotesUpdate().subscribe(this,this._onQuotesUpdate),this.properties().childs().currencyId.subscribe(this,this._onCurrencyChanged),this.properties().childs().unitId.subscribe(this,this._onUnitChanged),this.properties().childs().allowExtendTimeScale.subscribe(this,this._onAllowExtendTimeScaleChanged),this._onAllowExtendTimeScaleChanged()}symbol(){const e=this.properties().childs().inputs.childs().symbol.value(),t=this.symbolInfo(),i=t?t.name:e;return g?i.toUpperCase():i}setSymbol(e){this._properties.inputs.symbol.setValue(e)}symbolInfo(){if(!this._resolvedSymbols)return null;const e=this._properties.inputs.symbol.value();return e&&this._resolvedSymbols[this._resolvedSymbolKey(e)]||null}data(){return null===this._seriesSource?super.data():this._seriesSource.data().bars()}symbolResolved(){return this.symbolsResolved()}quotes(){return this._quotesProvider.quotes()}currency(){return this._properties.currencyId.value()||null}setCurrency(e){this._properties.currencyId.setValue(e)}isConvertedToOtherCurrency(){return Object(a.isConvertedToOtherCurrency)(this.symbolInfo())}unit(){return this._properties.unitId.value()||null}setUnit(e){this._properties.unitId.setValue(e)}isConvertedToOtherUnit(){return Object(a.isConvertedToOtherUnit)(this.symbolInfo())}symbolSource(){return this}state(e,t){const i=super.state(e,t);return i}symbolTitle(e,t){return this.title(!0,{},!1,e)}title(e,t,i,s){const r=this._titleInParts(e,t,i,s).join(", ");return g?r.toUpperCase():r}titleInParts(e,t,i,s){const r=this._titleInParts(e,t,i,s).join(", ");return[g?r.toUpperCase():r]}isStarted(){ -return null===this._seriesSource?super.isStarted():this._seriesSource.isStarted()}sourceId(){return null===this._seriesSource?super.sourceId():Object(s.ensureNotNull)(this._seriesSource.instanceId())}moveData(e){null===this._seriesSource?super.moveData(e):this._seriesSource.moveData(e)}_resolvedSymbolKey(e,t,i){const s=null!=t?t:this.currency(),r=null!=i?i:this.unit();return e+(null===s?"":"_#_"+s)+(null===r?"":"_#_"+r)}_addSymbolToMap(e,t){var i,s;const r=this._resolvedSymbolKey(e,null!==(i=Object(a.symbolCurrency)(t))&&void 0!==i?i:void 0,null!==(s=Object(a.symbolUnit)(t))&&void 0!==s?s:void 0);this._resolvedSymbols[r]=t}_onCurrencyChanged(){this.isStarted()&&this._tryChangeInputs(),this._currencyChanged.fire()}_onUnitChanged(){this.isStarted()&&this._tryChangeInputs(),this._unitChanged.fire()}_getSymbolObject(e){const t=super._getSymbolObject(e),i=this.currency();null!==i&&(t["currency-id"]=i);const s=this.unit();return null!==s&&(t["unit-id"]=s),t}_onSymbolResolved(e,t){super._onSymbolResolved(e,t),f&&this._setQuotesSymbol(e),this.setCurrency(Object(a.symbolCurrency)(t)),this.setUnit(Object(a.symbolUnit)(t)),this.model().realignLineTools()}_setQuotesSymbol(e){const t=this.symbolInfo(),i=Object(a.extractSymbolNameFromSymbolInfo)(t,e);this._quotesProvider.setQuotesSessionSymbol(i)}_createStudyOnServer(){null===this._seriesSource?super._createStudyOnServer():this._modifyStudyOnServer(Object(s.ensureDefined)(this._inputs))}_modifyStudyOnServer(e){null===this._seriesSource?super._modifyStudyOnServer(e):(this._seriesSource.modifySeries(Object(h.decodeExtendedSymbol)(e.symbol),Object(_.getServerInterval)(this._series.properties().interval.value())),this._seriesSource.isStarted()||this._seriesSource.start())}_stopStudyOnServer(){null===this._seriesSource?super._stopStudyOnServer():this._seriesSource.stop()}_titleInParts(e,t,i,s){const r=this.properties().childs().inputs.childs().symbol.value(),n=this.symbolInfo();let o;if(n){if(o=n.name,v){const e=this._model.mainSeries().properties().statusViewStyle.symbolTextSource.value();"description"===e?o=n.description:"ticker-and-description"===e&&(o=`${n.name}, ${n.description}`)}if(!s&&n.exchange&&0!==n.exchange.length)return[o,[n.exchange]]}else o=r;return[o]}_onAllowExtendTimeScaleChanged(){const e=this.isStarted();if(e&&this.stop(!0),b&&this.properties().childs().allowExtendTimeScale.value()){this._seriesSource=new p.SeriesDataSource(this._model.chartApi(),"st_o_");const e=this._seriesSource.dataEvents();e.seriesError().subscribe(this,e=>{this._onStudyError(e)}),e.loading().subscribe(this,this._onStudyLoading),e.completed().subscribe(this,(e,t)=>{this._onStudyCompleted(t)}),e.dataUpdated().subscribe(this,()=>{const e=this._model.paneForSource(this);this._model.recalculatePane(e),this._updateSources(),this.priceRangeReady()||this._enablePriceRangeReady()})}else{if(null!==this._seriesSource){const e=this._seriesSource.dataEvents();e.seriesError().unsubscribeAll(this),e.loading().unsubscribeAll(this),e.completed().unsubscribeAll(this),e.dataUpdated().unsubscribeAll(this), -this._seriesSource.destroy()}this._seriesSource=null}e&&this.start(!0)}}},yMne:function(e,t,i){"use strict";i.d(t,"b",(function(){return r})),i.d(t,"a",(function(){return n}));var s=i("J2xC");const r=parseInt(s["css-value-header-toolbar-height"]),n=3},yUly:function(e,t,i){"use strict";var s=i("Ss5c").LineDataSource,r=i("5rJj"),n=i("j3hX"),o=n.LineToolWidthsProperty,a=n.LineToolColorsProperty;class l extends s{constructor(e,t){super(e,t||l.createProperties()),this.version=l.version,i.e("lt-pane-views").then(i.t.bind(null,"SvjA",7)).then(({TrendBasedFibTimePaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}levelsCount(){return l.LevelsCount}pointsCount(){return 3}name(){return"Trend-Based Fib Time"}migrateVersion(e,t,i){}processErase(e,t){var i="level"+t,s=this.properties()[i].visible;e.setProperty(s,!1,"Erase level line")}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(33),i.e("lt-property-pages-with-definitions")]).then(i.bind(null,"u52p"))).TrendBasedFibTimeDefinitionsViewModel}static createProperties(e){var t=new r("linetooltrendbasedfibtime",e,!1,{range:[1,11]});return l._configureProperties(t),t}static _configureProperties(e){s._configureProperties(e);for(var t=[e.child("trendline").child("linewidth")],i=[e.child("trendline").child("color")],r=1;r<=l.LevelsCount;r++)t.push(e.child("level"+r).child("linewidth")),i.push(e.child("level"+r).child("color"));e.addChild("linesColors",new a(i)),e.addChild("linesWidths",new o(t))}}l.LevelsCount=11,l.version=1,t.LineToolTrendBasedFibTime=l},yfAl:function(e,t,i){"use strict";i.r(t);var s=i("aO4+"),r=i("Eyy1"),n=i("txPx"),o=i("aIyQ"),a=i.n(o),l=i("e3/o"),c=i("Y7w9"),h=i("GxN8"),u=i("7ktv"),d=i("MWAT"),p=i("CW80"),_=i("s1Gx");const m=new Map([["trading",e=>Object(p.isTrading)(e)],["drawing",e=>Object(p.isLineTool)(e)&&!Object(p.isTrading)(e)&&!e.isPhantom()],["drawingsForAllSymbols",e=>Object(p.isLineTool)(e)&&!Object(p.isTrading)(e)&&!e.isPhantom()],["phantom",e=>Object(p.isLineTool)(e)&&e.isPhantom()],["restRowSources",e=>!Object(p.isLineTool)(e)&&!Object(p.isTrading)(e)],["leftPriceScale",(e,t)=>"left"===g(e,t)],["rightPriceScale",(e,t)=>"right"===g(e,t)],["overlayPriceScale",(e,t)=>"overlay"===g(e,t)]]),f=new Map([["trading","visibleSorted"],["drawing","visibleSorted"],["drawingsForAllSymbols","allSorted"],["phantom","visibleSorted"],["restRowSources","visibleSorted"],["leftPriceScale","visibleSorted"],["rightPriceScale","visibleSorted"],["overlayPriceScale","visibleSorted"]]);function g(e,t){const i=e.priceScale();return null===i?"overlay":t.priceScalePosition(i)}class v{constructor(e){this._groupedSources=new Map,this._sources=null,this._pane=e}clear(){this._groupedSources.clear(),this._sources=null}destroy(){this.clear()}all(){return this._groupedSources.has("visibleSorted")||this._sortSources(),Object(r.ensureDefined)(this._groupedSources.get("visibleSorted"))}allIncludingHidden(){return this._groupedSources.has("allSorted")||this._sortSources(),Object(r.ensureDefined)(this._groupedSources.get("allSorted"))} -allExceptSpecialSources(){if(!this._groupedSources.has("exceptSpecial")){const e=this.allIncludingHidden().filter(e=>e.zorder()<_.specialZOrderBase);this._groupedSources.set("exceptSpecial",e)}return Object(r.ensureDefined)(this._groupedSources.get("exceptSpecial"))}tradingSources(){return this._getSourcesByGroupType("trading")}lineSources(){return this._getSourcesByGroupType("drawing")}lineSourcesForAllSymbols(){return this._getSourcesByGroupType("drawingsForAllSymbols")}phantomSources(){return this._getSourcesByGroupType("phantom")}allExceptLineAndTradingSources(){return this._getSourcesByGroupType("restRowSources")}hitTestSources(){if(!this._groupedSources.has("hitTest")){const e=this.allExceptLineAndTradingSources().concat(this.lineSources());this._groupedSources.set("hitTest",e)}return Object(r.ensureDefined)(this._groupedSources.get("hitTest"))}generalSources(){if(!this._groupedSources.has("general")){const e=this.allExceptLineAndTradingSources().concat(this.lineSources());this._groupedSources.set("general",Object(_.sortSources)(e))}return Object(r.ensureDefined)(this._groupedSources.get("general"))}leftPriceScalesSources(){return this._getSourcesByGroupType("leftPriceScale")}rightPriceScalesSources(){return this._getSourcesByGroupType("rightPriceScale")}overlayPriceScaleSources(){return this._getSourcesByGroupType("overlayPriceScale")}_getSourcesByGroupType(e){const t=Object(r.ensureDefined)(f.get(e));return this._groupedSources.has(t)?this._groupedSources.has(e)||this._groupSources(e):(this._sortSources(),this._groupSources(e)),Object(r.ensureDefined)(this._groupedSources.get(e))}_sortSources(){null===this._sources&&(this._sources=this._pane.dataSources());const e=Object(_.sortSources)(this._sources),t=e.filter(e=>!Object(p.isLineTool)(e)||e.isActualSymbol()&&e.isActualCurrency()&&e.isActualUnit());this._groupedSources.set("allSorted",e),this._groupedSources.set("visibleSorted",t)}_groupSources(e){const t=Object(r.ensureDefined)(f.get(e)),i=m.get(e);if(void 0!==i){const s=Object(r.ensureDefined)(this._groupedSources.get(t)).filter(e=>i(e,this._pane));this._groupedSources.set(e,s)}}}var b=i("1Wlv"),S=i("FaJS"),y=i("Qb4w");i.d(t,"PaneBase",(function(){return P}));const w=Object(n.getLogger)("Chart.Pane");function C(e,t,i){e.setMargins({top:t,bottom:i})}class P{constructor(e,t,i,s){this.m_dataSources=[],this._sourceAlertSubscriptions=new Map,this.m_mainDataSource=null,this._cachedOrderedSources=new v(this),this._sourcesById=new Map,this._dataSourcesCollectionChanged=new a.a,this._sourcePropertiesChanged=new a.a,this._sourcesZOrderChanged=new a.a,this._tagsChanged=new a.a,this._stretchFactor=1e3,this._isInInsertManyDataSourcesState=!1,this._lastLineDataSourceZOrder=null,this._rightPriceScales=[],this._leftPriceScales=[],this._lockedPriceScale=null,this._currentPriceScaleRatio=null,this._onPriceScalesChanged=new a.a,this._isRecalculatingScales=!1,this._priceDataSources=[],this._bulkActionsActive=0, -this._priceScaleSelectionStrategy=Object(d.createPriceScaleSelectionStrategy)(i.properties().priceScaleSelectionStrategyName.value()),this._id=null!=s?s:Object(l.randomHashN)(6)}id(){return this._id}bulkActionMacro(e){this._bulkActionsActive+=1,e(),this._bulkActionsActive-=1,0===this._bulkActionsActive&&this._dataSourcesCollectionChanged.fire()}sourcesByGroup(){return this._cachedOrderedSources}dataSourceForId(e){return this._sourcesById.get(e)||null}changeSourceId(e,t){Object(r.assert)(this.hasDataSource(e)),this._sourcesById.delete(e.id()),e.setId(t),this._sourcesById.set(t,e)}movePriceScale(e,t,i){const s=this.priceScalePosition(e);if(s!==t)this.removePriceScale(e),this._placePriceScale(e,t,i),e.invalidateMargins(),this._invalidateSourcesCache();else if(void 0!==i&&"overlay"!==s){const t="left"===s?this._leftPriceScales:this._rightPriceScales,r=t.indexOf(e);t.splice(r,1),t.splice(i,0,e)}}isEmpty(){return null===this.m_mainDataSource}recalculatePriceScale(e){if(!e)return;const t=e.sourcesForAutoscale();if((e.isAutoScale()||e.priceRangeShouldBeRecalculatedOnce())&&t&&t.length>0&&!this.timeScale().isEmpty()){const t=this.timeScale().visibleBarsStrictRange();e.recalculatePriceRange(t)}e.updateAllViews()}onSourceTagsChanged(){this._tagsChanged.fire()}getZOrderMinMax(){const e=this.sourcesByGroup().all();if(0===e.length)return{minZOrder:0,maxZOrder:0};let t=1/0,i=-1/0;for(const s of e)if(!Object(_.isSpeciallyZOrderedSource)(s)){const e=s.zorder();t=Math.min(t,e),i=Math.max(i,e)}return{minZOrder:t,maxZOrder:i}}insertDataSource(e,t,i){t||(t=this.findSuitableScale(e)),this._addSourceToCollections(e);let s=!1;(e===this.model().mainSeries()||null===this.m_mainDataSource)&&(this.m_mainDataSource=e,s=!0),t.addDataSource(e,this._isInInsertManyDataSourcesState),e.setPriceScale(t),t.invalidateMargins(),e.onTagsChanged&&e.onTagsChanged().subscribe(this,this.onSourceTagsChanged),e.setZorder(i),s&&this._processMainSourceChange(),this._tagsChanged.fire(),e instanceof u.PriceDataSource&&this.recalculatePriceScale(t),this._invalidateSourcesCache()}addDataSource(e,t,i){let s=e.zorder();i||(Object(p.isLineTool)(e)?(s=null!==this._lastLineDataSourceZOrder?this._lastLineDataSourceZOrder:this._newZOrderForLineTool(),this._isInInsertManyDataSourcesState&&(this._lastLineDataSourceZOrder=s)):s=this.getZOrderMinMax().minZOrder-1),this.insertDataSource(e,t,s)}removeDataSource(e,t,i){const s=this.m_dataSources.indexOf(e);if(-1===s)return void w.logDebug("removeDataSource: invalid data source");this._removeSourceFromCollections(s,!!i),e!==this.m_mainDataSource||t||(this.m_mainDataSource=null);const r=e.priceScale();this._removeSourceFromPriceScale(e),e.onTagsChanged&&e.onTagsChanged().unsubscribe(this,this.onSourceTagsChanged),e instanceof u.PriceDataSource&&!t&&this._processMainSourceChange(),this._tagsChanged.fire(),r&&e instanceof u.PriceDataSource&&this.recalculatePriceScale(r),this._invalidateSourcesCache()}hasDataSource(e){return this._sourcesById.has(e.id())}dataSources(){return this.m_dataSources}priceDataSources(){ -return this._priceDataSources}replaceSource(e,t,i){const s=this.m_mainDataSource===e,r=e.zorder();this.insertDataSource(t,i,r),this.removeDataSource(e,s),this._sourcesById.set(t.id(),t),s&&(this.m_mainDataSource=t,this._processMainSourceChange())}isOverlay(e){const t=e.priceScale();return null===t||"overlay"===this.priceScalePosition(t)}updateAllViews(){for(const e of this.m_dataSources)e.updateAllViews();for(const e of this.model().customSources())e.updateViewsForPane(this)}priceScalePosition(e){return this._leftPriceScales.includes(e)?"left":this._rightPriceScales.includes(e)?"right":"overlay"}createPriceScaleAtPosition(e,t){const i=this.properties().childs().axisProperties.state();i.autoScale=!0;const s=new b.PriceScale(this.model().properties().scalesProperties,i);return s.setHeight(this.height()),C(s,this._defaultTopMargin(),this._defaultBottomMargin()),this._placePriceScale(s,e,t),s}removePriceScale(e){e.modeChanged().unsubscribeAll(this),e.priceRangeChanged().unsubscribeAll(this),e.internalHeightChanged().unsubscribeAll(this),e===this._lockedPriceScale&&(this._lockedPriceScale=null,this._currentPriceScaleRatio=null);const t=this._leftPriceScales.indexOf(e);-1!==t&&(this._leftPriceScales[t].invalidateMargins(),this._leftPriceScales.splice(t,1));const i=this._rightPriceScales.indexOf(e);if(-1!==i&&(this._rightPriceScales[i].invalidateMargins(),this._rightPriceScales.splice(i,1)),null===e.mainSource()){const t=e.dataSources().length;0!==t&&w.logError("Invalid priceScale state: empty mainSource but non-empty data sources="+t)}this._onPriceScalesChanged.fire()}move(e,t,i){const s=e.priceScale();this._removeSourceFromPriceScale(e),t.addDataSource(e),e.setPriceScale(t),t.invalidateMargins(),this._processMainSourceChange(),this._invalidateSourcesCache(),e.isIncludedInAutoScale()&&(null!==s&&this.recalculatePriceScale(s),this.recalculatePriceScale(t)),this._onPriceScalesChanged.fire()}setZOrder(e,t){e.setZorder(t),this._invalidateSourcesCache(),0===this._bulkActionsActive&&this._dataSourcesCollectionChanged.fire()}setZOrders(e){e.forEach((e,t)=>{t.setZorder(e)}),this._invalidateSourcesCache(),0===this._bulkActionsActive&&this._dataSourcesCollectionChanged.fire(),this.model().lightUpdate()}containsMainSeries(){return this._sourcesById.has(this.model().mainSeries().id())}applyPriceScaleRatio(e,t){var i;null!==this._lockedPriceScale&&this._lockedPriceScale!==e||this._currentPriceScaleRatio===t||!this.isMainPane()||null===this._lockedPriceScale&&e!==(null===(i=this.mainDataSource())||void 0===i?void 0:i.priceScale())||(this._setNewPriceRangeByScaleRatio(e,t,this._mainSourceVisiblePriceRange(e),!0,!0),null!==this._lockedPriceScale?this._tryToApplyNewPriceScaleRatio():e.isLog()||this.model().mainSeriesScaleRatioPropertyOnChanged())}sendToBack(e){this._batchReorder(e,0,c.moveBefore)}bringToFront(e){const t=this.sourcesByGroup().allExceptSpecialSources().length-1;this._batchReorder(e,t,c.moveAfter)}sendBackward(e){const t=this.sourcesByGroup().allIncludingHidden(),i=t.indexOf(e[0]);if(0===i)this.bringToFront(e);else{ -const s=t[i-1];this.insertBefore(e,s)}}bringForward(e){const t=this.sourcesByGroup().allExceptSpecialSources(),i=t.indexOf(e[e.length-1]);if(i===t.length-1)this.sendToBack(e);else{const s=t[i+1];this.insertAfter(e,s)}}insertAfter(e,t){const i=this.sourcesByGroup().allIncludingHidden().indexOf(t);this._batchReorder(e,i,c.moveAfter)}insertBefore(e,t){const i=this.sourcesByGroup().allIncludingHidden().indexOf(t);this._batchReorder(e,i,c.moveBefore)}priceScaleSelectionStrategy(){return this._priceScaleSelectionStrategy}findTargetPriceAxisViews(e,t,i,s){if(Object(h.a)(e)&&this.model().paneForSource(e)!==this)return[];const r=e.priceScale();if(t===r)return i;if(null===r)return[];if("overlay"===this.priceScalePosition(r))return t===this.defaultPriceScale()?i:[];const n=this.priceScalePosition(t);if(n!==this.priceScalePosition(r))return[];const o="left"===n?this.leftPriceScales():this.rightPriceScales();return o.indexOf(t)(e.paneViews(this)||[]).some(e=>{const r=e.renderer(t,i);return r&&r.doesIntersectWithBox&&r.doesIntersectWithBox(s)}))}logicalRectToPixels(e){const t=this.defaultPriceScale(),i=this.timeScale(),n=Object(r.ensureNotNull)(Object(r.ensureNotNull)(t.mainSource()).firstValue()),o=t.priceToCoordinate(e.p1.price,n),a=i.indexToCoordinate(e.p1.index),l=t.priceToCoordinate(e.p2.price,n),c=i.indexToCoordinate(e.p2.index),h=new s.Point(Math.min(a,c),Math.min(o,l)),u=new s.Point(Math.max(a,c),Math.max(o,l));return Object(s.box)(h,u)}clipboardLineToolOwnerSource(e){const t=this.dataSourceForId(e);if(null!==t){const e=t.ownerSource();if(null!==e&&null!==e.firstValue())return e}const i=this.mainDataSource();if(null!==i&&null!==i.firstValue())return i;for(const s of this.dataSources())if(s instanceof u.PriceDataSource&&null!==s.firstValue())return s;return null}realignLineTools(){let e=!1;for(const t of this.m_dataSources)Object(p.isLineTool)(t)&&(t.calcIsActualSymbol(),t.updateAllViews(),e=!0);return this._invalidateSourcesCache(),e}startScalePrice(e,t){e.startScale(t)}scalePriceTo(e,t){e.scaleTo(t),this.updateAllViews()}endScalePrice(e){e.endScale()}resetPriceScale(e){const t=this.timeScale().visibleBarsStrictRange();e.isLockScale()||e.setMode({autoScale:!0}),e.recalculatePriceRange(t), -this.updateAllViews()}restorePriceScaleState(e,t){e.restoreState(t),this.updateAllViews()}_addSourceToCollections(e,t){this.m_dataSources.push(e),this._sourcesById.set(e.id(),e),this._invalidateSourcesCache(),t||0!==this._bulkActionsActive||this._dataSourcesCollectionChanged.fire();const i=()=>{this._sourcePropertiesChanged.fire(e)};e.properties().subscribe(this,i),e.zOrderChanged().subscribe(this,t=>this._sourcesZOrderChanged.fire(e,t)),Object(p.isLineTool)(e)&&(e.normalizedPointsChanged().subscribe(this,i),e.hasAlert.subscribe(i)),e instanceof u.PriceDataSource&&(e.currencyChanged().subscribe(this,()=>this._invalidateSourcesCache()),e.unitChanged().subscribe(this,()=>this._invalidateSourcesCache()),this._priceDataSources.push(e)),this._sourceAlertSubscriptions.set(e.id(),i),e.isMultiPaneAvailable()&&this.model().addMultiPaneSource(e)}_removeSourceFromCollections(e,t){const i=this.m_dataSources[e];i.properties().unsubscribeAll(this),i.zOrderChanged().unsubscribeAll(this),this.m_dataSources.splice(e,1),this._sourcesById.delete(i.id());const s=i.id();if(this._sourceAlertSubscriptions.has(s)&&(i.hasAlert.unsubscribe(this._sourceAlertSubscriptions.get(s)),this._sourceAlertSubscriptions.delete(s)),this._invalidateSourcesCache(),t||0!==this._bulkActionsActive||this._dataSourcesCollectionChanged.fire(),i instanceof u.PriceDataSource){i.currencyChanged().unsubscribeAll(this),i.unitChanged().unsubscribeAll(this);const e=this._priceDataSources.indexOf(i);Object(r.assert)(-1!==e),this._priceDataSources.splice(e,1)}i.isMultiPaneAvailable()&&this.model().removeMultiPaneSource(i)}_recalculatePriceScaleByScaleRatio(e){this.isMainPane()&&e===this._lockedPriceScale&&(null!==this._currentPriceScaleRatio?this._applyOldScaleRatioToPriceScale():this._tryToApplyNewPriceScaleRatio())}_defaultBottomMargin(){return.01*this.properties().childs().bottomMargin.value()}_defaultTopMargin(){return.01*this.properties().childs().topMargin.value()}_updateMargins(){const e=this._defaultTopMargin(),t=this._defaultBottomMargin();for(const i of this._leftPriceScales)C(i,e,t);for(const i of this._rightPriceScales)C(i,e,t);for(const i of this.m_dataSources)if(this.isOverlay(i)){const s=i.priceScale();null!==s&&(C(s,e,t),this.recalculatePriceScale(s))}for(const i of this._leftPriceScales)this.recalculatePriceScale(i);for(const i of this._rightPriceScales)this.recalculatePriceScale(i);this.updateAllViews()}_batchReorder(e,t,i){i(this.sourcesByGroup().allIncludingHidden(),e,t).forEach((e,t)=>e.setZorder(t+1)),this._invalidateSourcesCache(),this._dataSourcesCollectionChanged.fire(),this.model().fullUpdate()}_placePriceScale(e,t,i){if("overlay"===t)return void e.invalidateMargins();const s="left"===t?this._leftPriceScales:this._rightPriceScales,n=void 0===i?s.length:i;s.splice(n,0,e),e.modeChanged().subscribe(this,this._onPriceScaleModeChanged.bind(this,e)),e.internalHeightChanged().subscribe(this,this._recalculatePriceScaleByScaleRatio.bind(this,e)),e.priceRangeChanged().subscribe(this,this._recalculateTimeScaleByScaleRatio.bind(this,e)), -e.priceRangeChanged().subscribe(this,this._onPriceScaleSetMinMaxPriceRange.bind(this,e)),e.isLockScale()&&(Object(r.assert)(null===this._lockedPriceScale),this._lockedPriceScale=e,this._currentPriceScaleRatio=null),e.invalidateMargins(),this._onPriceScalesChanged.fire()}_onPriceScaleModeChanged(e,t,i){if(i.lockScale&&(this._lockedPriceScale!==e&&null!==this._lockedPriceScale&&this._lockedPriceScale.setMode({lockScale:!1}),this._lockedPriceScale=e,this._currentPriceScaleRatio=Object(S.scaleRatio)(this.timeScale(),e)),t.lockScale&&!i.lockScale&&(this._lockedPriceScale=null,this._currentPriceScaleRatio=null),t.percentage===i.percentage&&t.indexedTo100===i.indexedTo100)return;const s=this.timeScale().visibleBarsStrictRange();null!==s&&(e.recalculatePriceRange(s),e.updateAllViews())}_applyOldScaleRatioToPriceScale(){this._isRecalculatingScales||null===this._currentPriceScaleRatio||null===this._lockedPriceScale||(this._isRecalculatingScales=!0,this._setNewPriceRangeByScaleRatio(this._lockedPriceScale,this._currentPriceScaleRatio,this._mainSourceVisiblePriceRange(this._lockedPriceScale)),this._isRecalculatingScales=!1)}_setNewPriceRangeByScaleRatio(e,t,i,s,r){const n=Object(S.priceRangeByScaleRatio)(e,this.timeScale().barSpacing(),t);e.setPriceRange(null!==n?n:i,s,r)}_applyOldScaleRatioToTimeScale(){this._isRecalculatingScales||null===this._currentPriceScaleRatio||(this._isRecalculatingScales=!0,this._setNewBarSpacingByScaleRatio(),this._isRecalculatingScales=!1)}_tryToApplyNewPriceScaleRatio(){const e=Object(r.ensureNotNull)(this._lockedPriceScale),t=Object(S.scaleRatio)(this.timeScale(),e);this._currentPriceScaleRatio===t||e.isLog()||(this._currentPriceScaleRatio=t,this.model().mainSeriesScaleRatioPropertyOnChanged())}_recalculateTimeScaleByScaleRatio(e){e===this._lockedPriceScale&&(null!==this._currentPriceScaleRatio?this._applyOldScaleRatioToTimeScale():this._tryToApplyNewPriceScaleRatio())}_setNewBarSpacingByScaleRatio(){const e=this.timeScale().getValidBarSpacing(Object(S.barSpacingByScaleRatio)(Object(r.ensureNotNull)(this._lockedPriceScale),this._currentPriceScaleRatio));this.timeScale().isValidBarSpacing(e)&&this.timeScale().setBarSpacing(e)}_mainSourceVisiblePriceRange(e){const t=this.timeScale().visibleBarsStrictRange();return null!==t?Object(r.ensureNotNull)(Object(r.ensureNotNull)(e.mainSource()).priceRange(t.firstBar(),t.lastBar())):new y.PriceRange(-.5,.5)}_setMinMaxPriceRange(){const e=Object(r.ensureNotNull)(this._lockedPriceScale),t=Object(S.priceRangeByScaleRatio)(e,this.timeScale().maxBarSpacing(),this._currentPriceScaleRatio),i=Object(S.priceRangeByScaleRatio)(e,this.timeScale().minBarSpacing(),this._currentPriceScaleRatio);null!==t&&e.setMaxPriceRange(t),null!==i&&e.setMinPriceRange(i)}_onPriceScaleSetMinMaxPriceRange(e){e===this._lockedPriceScale&&this._setMinMaxPriceRange()}_removeSourceFromPriceScale(e){const t=e.priceScale();if(t&&t.dataSources().indexOf(e)>=0&&t.removeDataSource(e),t&&null===t.mainSource()){const e=t.dataSources().length -;0!==e&&w.logError("Invalid priceScale state: empty mainSource but non-empty data sources="+e),this.removePriceScale(t)}}}},yi8X:function(e,t,i){"use strict";i.r(t),i.d(t,"LineToolInfoLine",(function(){return n}));var s=i("Ocx9"),r=i("WPQD");class n extends r.LineToolTrendLine{constructor(e,t){super(e,t||n.createProperties())}pointsCount(){return 2}name(){return"Info Line"}static createProperties(e){const t=new s.DefaultProperty("linetoolinfoline",e);return n._configureProperties(t),t}static _configureProperties(e){r.LineToolTrendLine._configureProperties(e)}}},"z+Sa":function(e,t,i){"use strict";i.r(t),i.d(t,"SeriesHorizontalBaseLinePaneView",(function(){return r}));var s=i("k4w6");class r extends s.a{constructor(e){super(e)}_updateImpl(){this._lineRendererData.visible=!1;const e=this._series.priceScale().mode();if(!e.percentage&&!e.indexedTo100)return;const t=this._series.firstValue();null!==t&&(this._lineRendererData.visible=!0,this._lineRendererData.y=this._series.priceScale().priceToCoordinate(t,t),this._lineRendererData.color=this._series.properties().baseLineColor.value())}}},"z+cS":function(e,t,i){"use strict";i.r(t),i.d(t,"VerticalLineRenderer",(function(){return a}));var s=i("VdBB"),r=i("jFln"),n=i("gAom"),o=i("Zp/P");class a{constructor(){this._data=null,this._hitTest=null}setData(e){this._data=e}setHitTest(e){this._hitTest=e}hitTest(e){if(null===this._data)return null;const t=Object(o.interactionTolerance)().line,i=this._hitTest||new s.HitTestResult(s.HitTestResult.MOVEPOINT),r=Math.abs(e.x-this._data.x)<=t+this._data.linewidth/2,n=void 0===this._data.top||this._data.top-e.y<=t,a=void 0===this._data.bottom||e.y-this._data.bottom<=t;return r&&n&&a?i:null}draw(e,t){if(null===this._data)return;if(this._data.linewidth<=0)return;if(this._data.x<-this._data.linewidth/2||this._data.x>t.cssWidth+this._data.linewidth/2)return;const i=t.pixelRatio;e.lineCap="butt",e.strokeStyle=this._data.color,e.lineWidth=Math.max(1,Math.floor(this._data.linewidth*i)),void 0!==this._data.linestyle&&Object(r.setLineStyle)(e,this._data.linestyle);const s=void 0!==this._data.top?Math.max(this._data.top,0):0,o=void 0!==this._data.bottom?Math.min(this._data.bottom,t.cssHeight):t.cssHeight,a=Math.round(this._data.x*i),l=Math.floor(s*i),c=Math.ceil(o*i);Object(n.drawVerticalLine)(e,a,l,c)}}},"z61+":function(e,t,i){"use strict";var s=i("Eyy1"),r=i("0YCj"),n=i.n(r),o=i("23IT"),a=i("ogJP"),l=i("txPx");const c=["first_visible_bar_time","last_visible_bar_time"];function h(e){return!e.groupId&&!e.isHidden&&!c.includes(e.id)}var u=i("Ecpn");i.d(t,"a",(function(){return p}));const d=Object(l.getLogger)("Platform.GUI.PropertyDialog.Indicators.MetaInfo");class p{constructor(e){this._metaInfo=e}hasUserEditableInputs(){return this._metaInfo.inputs.some(h)}getUserEditableInputs(){return this._metaInfo.inputs.filter(h)}hasUserEditableProperties(){return n.a.isScriptStrategy(this._metaInfo)}hasUserEditableStyles(){const e=this._metaInfo -;return e.plots.length>0||void 0!==e.bands||void 0!==e.filledAreas||Object(u.a)(e.shortId)||n.a.isScriptStrategy(this._metaInfo)||Object.values(e.graphics).some(e=>void 0!==e)}getUserEditablePlots(){const e=new Set,t=this._metaInfo;return t.plots.filter(i=>{if(Object(o.isColorerPlot)(i)||Object(o.isTextColorerPlot)(i)||Object(o.isDataOffsetPlot)(i)||Object(o.isOhlcColorerPlot)(i)||Object(o.isAlertConditionPlot)(i))return!1;if(Object(o.isOhlcPlot)(i)){const r=i.target;if(e.has(r))return!1;e.add(r);const n=Object(s.ensureDefined)(t.ohlcPlots);return!Object(s.ensureDefined)(n[r]).isHidden}{const e=t.styles?t.styles[i.id]:void 0;return void 0===e||!e.isHidden}})}hasUserEditableOptions(){return this.hasUserEditableInputs()||this.hasUserEditableProperties()||this.hasUserEditableStyles()}getStrategyProperties(){const e=this._metaInfo,t=e.inputs.filter(m),i=Object.assign({},_);for(const s of t){const t=s.internalID;i[t]=s,_.hasOwnProperty(t)||d.logWarn(`Unknown strategy input internal id ${t} in ${e.fullId}`)}return Object(a.clone)(i)}}const _={currency:void 0,backtest_fill_limits_assumption:void 0,calc_on_every_tick:void 0,calc_on_order_fills:void 0,commission_value:void 0,commission_type:void 0,initial_capital:void 0,pyramiding:void 0,slippage:void 0,default_qty_type:void 0,default_qty_value:void 0,margin_long:void 0,margin_short:void 0};function m(e){return"strategy_props"===e.groupId}},"z8/4":function(e,t,i){"use strict";i.r(t),i.d(t,"OverlayLegendView",(function(){return n}));var s=i("JjUe"),r=i("qXYw");class n extends s.OverlayDataWindowView{constructor(e,t){super(e,t),this._additional=null,this._showBarChange=t.properties().paneProperties.legendProperties.showBarChange,this._showSeriesOHLC=t.properties().paneProperties.legendProperties.showSeriesOHLC,this._studyOverlay=e,this._showBarChange.subscribe(this,this.update),this._showSeriesOHLC.subscribe(this,this.update)}isValuesVisible(){return this._showSeriesOHLC.value()||this._showBarChange.value()}additional(){return this._additional}destroy(){this._showBarChange.unsubscribeAll(this),this._showSeriesOHLC.unsubscribeAll(this)}_updateImpl(){super._updateImpl()}_createValuesProvider(e,t){return new r.OverlayLegendValuesProvider(e,t)}}},zDbI:function(e,t,i){"use strict";i.r(t),i.d(t,"CHART_FONT_FAMILY",(function(){return r}));var s=i("mNbo");const r=Object(s.a)("old")?"system-ui, -apple-system":"'Trebuchet MS', Roboto, Ubuntu, sans-serif"},zL3Q:function(e,t,i){"use strict";i.d(t,"a",(function(){return _})),i.d(t,"b",(function(){return m}));var s=i("hY0g"),r=i.n(s),n=i("4o++"),o=i("mMWL"),a=i("CW80"),l=i("m/3z");const c=new r.a(!1),h=new r.a(n.MagnetMode.WeakMagnet),u=Object(l.b)(),d=Object(l.c)();function p(){const e=u.value();if(d.value()&&(o.isToolEditingNow.value()||o.isToolCreatingNow.value()))return void c.setValue(!1);const t=o.tool.value(),i=e&&(Object(a.isLineToolName)(t)||o.isToolEditingNow.value()||Object(o.toolIsMeasure)(t)),s=Object(o.properties)().childs().magnet.value() -;h.setValue(!s&&i?n.MagnetMode.StrongMagnet:Object(o.properties)().childs().magnetMode.value()),c.setValue(i?!s:s)}function _(){return c}function m(){return h}Object(o.runOnDrawingStateReady)(()=>{Object(o.properties)().childs().magnet.subscribe(null,p),Object(o.properties)().childs().magnetMode.subscribe(null,p),u.subscribe(p),d.subscribe(p),o.tool.subscribe(p),o.isToolEditingNow.subscribe(p),p()})},zM7N:function(e,t,i){"use strict";i.d(t,"c",(function(){return c})),i.d(t,"b",(function(){return h})),i.d(t,"e",(function(){return u})),i.d(t,"d",(function(){return d}));var s=i("YFKU"),r=i("eJTA"),n=i("/McG"),o=i("8pII"),a=i("FZIs");function l(){return{[a.a.Light]:JSON.parse(JSON.stringify(n)),[a.a.Dark]:JSON.parse(JSON.stringify(o))}}function c(){return[a.a.Light,a.a.Dark]}function h(e){return l()[e]}function u(e){return{[a.a.Light]:s.t("Light",{context:"colorThemeName"}),[a.a.Dark]:s.t("Dark",{context:"colorThemeName"})}[e]||e}function d(e){const t=l();return c().some(i=>p(t[i],e))}function p(e,t){let i=e.content===t.content;return function(e={},t){try{!function e(t,i,s){for(const r in t)if(t.hasOwnProperty(r)){const n=i.concat(r);if("object"==typeof t[r])e(t[r],n,s);else if(s(n,t[r]))throw new Error("exit")}}(e,[],t)}catch(i){return}}(e.content,(e,s)=>{const n=function(e,t={}){let i=t;for(let s=0;s{this._setPaneViews([new e(this,this._model)])})}hLevelsCount(){return o.HLevelsCount}vLevelsCount(){return o.VLevelsCount}pointsCount(){return 2}name(){return"Fib Speed Resistance Fan"}processErase(e,t){ -var i="h"===t.type?"hlevel"+t.index:"vlevel"+t.index,s=this.properties()[i].visible;e.setProperty(s,!1,"Erase level line")}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(33),i.e("lt-property-pages-with-definitions")]).then(i.bind(null,"2PB4"))).FibSpeedResistanceFanDefinitionsViewModel}static createProperties(e){void 0!==e&&void 0===e.reverse&&(e.reverse=!0);var t=new r("linetoolfibspeedresistancefan",e,!1,{range:[1,7],prefixes:["h","v"],names:["coeff","color","visible"]});return o._configureProperties(t),t}static _configureProperties(e){s._configureProperties(e);var t=[e.child("grid").child("color")];for(let i=1;i<=o.HLevelsCount;i++)t.push(e.child("hlevel"+i).child("color"));for(let i=1;i<=o.VLevelsCount;i++)t.push(e.child("vlevel"+i).child("color"));e.addChild("linesColors",new n(t)),e.addExclusion("linesColors")}}o.HLevelsCount=7,o.VLevelsCount=7,t.LineToolFibSpeedResistanceFan=o},ziJ5:function(e,t,i){"use strict";(function(e){var s=i("QIuV").LineToolTrading,r=i("Ss5c").LineDataSource,n=i("RTYN").PositionAveragePriceAxisView,o=i("jkoZ"),a=i("Ocx9").DefaultProperty,l=i("kcTO").PriceFormatter,c=i("s1Gx").sortSourcesPreOrdered.LineToolPosition;function h(e){return null==e?e="":e+="",e}class u{constructor(e){this._line=e,this._data={bodyText:"position",quantityText:"0"},this._closeEnabled=!0,this._direction="buy",this._profitState="neutral"}setDirection(e){return this._direction=e,this._line.updateAllViewsAndRedraw(),this}setProfitState(e){return this._profitState=e,this._line.updateAllViewsAndRedraw(),this}getPrice(){return this._line.points().length>0?this._line.points()[0].price:this._line._timePoint.length>0?this._line._timePoint[0].price:void 0}setPrice(e){if(this._line.points().length>0){var t=this._line.points()[0];t.price=e,this._line._points[0]=t,this._line.normalizePoints(),this._line.updateAllViewsAndRedraw()}return this._line._timePoint.length>0&&(this._line._timePoint[0].price=e),this}getText(){return this._data.bodyText}setText(e){return this._data.bodyText=e||"",this._line.updateAllViewsAndRedraw(),this}setTooltip(e){return this._line.properties().tooltip.setValue(h(e)),this}getTooltip(){return this._line.properties().tooltip.value()}setProtectTooltip(e){return this._line.properties().protectTooltip.setValue(h(e)),this}getProtectTooltip(){return this._line.properties().protectTooltip.value()}setCloseTooltip(e){return this._line.properties().closeTooltip.setValue(h(e)),this}getCloseTooltip(){return this._line.properties().closeTooltip.value()}setReverseTooltip(e){return this._line.properties().reverseTooltip.setValue(h(e)),this}getReverseTooltip(){return this._line.properties().reverseTooltip.value()}getQuantity(){return this._data.quantityText}setQuantity(e){return this._data.quantityText=e||"",this._line.updateAllViewsAndRedraw(),this}getExtendLeft(){var e=this._line.properties().extendLeft.value();return"inherit"===e?this._line._model.properties().tradingProperties.extendLeft.value():e}setExtendLeft(e){return this._line.properties().extendLeft.setValue(e),this} -getLineLength(){var e=this._line.properties().lineLength.value();return"inherit"===e?this._line._model.properties().tradingProperties.lineLength.value():e}setLineLength(e){return this._line.properties().lineLength.setValue(Math.max(0,Math.min(e,100))),this}getLineColor(){var e=this._line.properties();return("buy"===this._direction?e.lineBuyColor:e.lineSellColor).value()}setLineColor(e){return"buy"===this._direction?this.setLineBuyColor(e):this.setLineSellColor(e),this}setLineBuyColor(e){return this._line.properties().lineBuyColor.setValue(e),this}setLineSellColor(e){return this._line.properties().lineSellColor.setValue(e),this}getLineStyle(){var e=this._line.properties().lineStyle.value();return"inherit"===e?this._line._model.properties().tradingProperties.lineStyle.value():e}setLineStyle(e){return this._line.properties().lineStyle.setValue(e),this}getLineWidth(){var e=this._line.properties().lineWidth.value();return"inherit"===e?this._line._model.properties().tradingProperties.lineWidth.value():e}setLineWidth(e){return this._line.properties().lineWidth.setValue(e),this}getBodyBorderColor(){var e=this._line.properties();return("buy"===this._direction?e.bodyBorderBuyColor:e.bodyBorderSellColor).value()}setBodyBorderColor(e){return"buy"===this._direction?this.setBodyBorderBuyColor(e):this.setBodyBorderSellColor(e),this}setBodyBorderBuyColor(e){return this._line.properties().bodyBorderBuyColor.setValue(e),this}setBodyBorderSellColor(e){return this._line.properties().bodyBorderSellColor.setValue(e),this}getBodyBackgroundColor(){return o.getColorFromProperties(this._line.properties().bodyBackgroundColor,this._line.properties().bodyBackgroundTransparency)}setBodyBackgroundColor(e){return o.setColorToProperties(e,this._line.properties().bodyBackgroundColor,this._line.properties().bodyBackgroundTransparency),this}getBodyTextColor(){var e=this._line.properties();return("positive"===this._profitState?e.bodyTextPositiveColor:"negative"===this._profitState?e.bodyTextNegativeColor:e.bodyTextNeutralColor).value()}setBodyTextColor(e){return"positive"===this._profitState?this.setBodyTextPositiveColor(e):"negative"===this._profitState?this.setBodyTextNegativeColor(e):this.setBodyTextNeutralColor(e),this}setBodyTextPositiveColor(e){return this._line.properties().bodyTextPositiveColor.setValue(e),this}setBodyTextNegativeColor(e){return this._line.properties().bodyTextNegativeColor.setValue(e),this}setBodyTextNeutralColor(e){return this._line.properties().bodyTextNeutralColor.setValue(e),this}getBodyFont(){return o.getFontFromProperties(this._line.properties().bodyFontFamily,this._line.properties().bodyFontSize,this._line.properties().bodyFontBold,this._line.properties().bodyFontItalic)}setBodyFont(e){return o.setFontToProperties(e,this._line.properties().bodyFontFamily,this._line.properties().bodyFontSize,this._line.properties().bodyFontBold,this._line.properties().bodyFontItalic),this}getQuantityBorderColor(){var e=this._line.properties();return("buy"===this._direction?e.quantityBorderBuyColor:e.quantityBorderSellColor).value()} -setQuantityBorderColor(e){return"buy"===this._direction?this.setQuantityBorderBuyColor(e):this.setQuantityBorderSellColor(e),this}setQuantityBorderBuyColor(e){return this._line.properties().quantityBorderBuyColor.setValue(e),this}setQuantityBorderSellColor(e){return this._line.properties().quantityBorderSellColor.setValue(e),this}getQuantityBackgroundColor(){var e=this._line.properties();return("buy"===this._direction?e.quantityBackgroundBuyColor:e.quantityBackgroundSellColor).value()}setQuantityBackgroundColor(e){return"buy"===this._direction?this.setQuantityBackgroundBuyColor(e):this.setQuantityBackgroundSellColor(e),this}setQuantityBackgroundBuyColor(e){return this._line.properties().quantityBackgroundBuyColor.setValue(e),this}setQuantityBackgroundSellColor(e){return this._line.properties().quantityBackgroundSellColor.setValue(e),this}getQuantityTextColor(){return o.getColorFromProperties(this._line.properties().quantityTextColor,this._line.properties().quantityTextTransparency)}setQuantityTextColor(e){return o.setColorToProperties(e,this._line.properties().quantityTextColor,this._line.properties().quantityTextTransparency),this}getQuantityFont(){return o.getFontFromProperties(this._line.properties().quantityFontFamily,this._line.properties().quantityFontSize,this._line.properties().quantityFontBold,this._line.properties().quantityFontItalic)}setQuantityFont(e){return o.setFontToProperties(e,this._line.properties().quantityFontFamily,this._line.properties().quantityFontSize,this._line.properties().quantityFontBold,this._line.properties().quantityFontItalic),this}getReverseButtonBorderColor(){var e=this._line.properties();return("buy"===this._direction?e.reverseButtonBorderBuyColor:e.reverseButtonBorderSellColor).value()}setReverseButtonBorderColor(e){return"buy"===this._direction?this.setReverseButtonBorderBuyColor(e):this.setReverseButtonBorderSellColor(e),this}setReverseButtonBorderBuyColor(e){return this._line.properties().reverseButtonBorderBuyColor.setValue(e),this}setReverseButtonBorderSellColor(e){return this._line.properties().reverseButtonBorderSellColor.setValue(e),this}getReverseButtonBackgroundColor(){return o.getColorFromProperties(this._line.properties().reverseButtonBackgroundColor,this._line.properties().reverseButtonBackgroundTransparency)}setReverseButtonBackgroundColor(e){return o.setColorToProperties(e,this._line.properties().reverseButtonBackgroundColor,this._line.properties().reverseButtonBackgroundTransparency),this}getReverseButtonIconColor(){var e=this._line.properties();return("buy"===this._direction?e.reverseButtonIconBuyColor:e.reverseButtonIconSellColor).value()}setReverseButtonIconColor(e){return"buy"===this._direction?this.setReverseButtonIconBuyColor(e):this.setReverseButtonIconSellColor(e),this}setReverseButtonIconBuyColor(e){return this._line.properties().reverseButtonIconBuyColor.setValue(e),this}setReverseButtonIconSellColor(e){return this._line.properties().reverseButtonIconSellColor.setValue(e),this}getCloseButtonBorderColor(){var e=this._line.properties() -;return("buy"===this._direction?e.closeButtonBorderBuyColor:e.closeButtonBorderSellColor).value()}setCloseButtonBorderColor(e){return"buy"===this._direction?this.setCloseButtonBorderBuyColor(e):this.setCloseButtonBorderSellColor(e),this}setCloseButtonBorderBuyColor(e){return this._line.properties().closeButtonBorderBuyColor.setValue(e),this}setCloseButtonBorderSellColor(e){return this._line.properties().closeButtonBorderSellColor.setValue(e),this}getCloseButtonBackgroundColor(){return o.getColorFromProperties(this._line.properties().closeButtonBackgroundColor,this._line.properties().closeButtonBackgroundTransparency)}setCloseButtonBackgroundColor(e){return o.setColorToProperties(e,this._line.properties().closeButtonBackgroundColor,this._line.properties().closeButtonBackgroundTransparency),this}getCloseButtonIconColor(){var e=this._line.properties();return("buy"===this._direction?e.closeButtonIconBuyColor:e.closeButtonIconSellColor).value()}setCloseButtonIconColor(e){return"buy"===this._direction?this.setCloseButtonIconBuyColor(e):this.setCloseButtonIconSellColor(e),this}setCloseButtonIconBuyColor(e){return this._line.properties().closeButtonIconBuyColor.setValue(e),this}setCloseButtonIconSellColor(e){return this._line.properties().closeButtonIconSellColor.setValue(e),this}block(){this._blocked=!0,this._line.updateAllViewsAndRedraw()}unblock(){this._blocked=!1,this._line.updateAllViewsAndRedraw()}isFunction(e){return"function"==typeof e}onReverse(e,t){return t?this.isFunction(t)&&(this._onReverseData=e,this._onReverseCallback=t):this.isFunction(e)&&(this._onReverseCallback=e),this}callOnReverse(){this.isFunction(this._onReverseCallback)&&this._onReverseCallback.call(this,this._onReverseData)}isOnReverseCallbackPresent(){return this.isFunction(this._onReverseCallback)}onClose(e,t){return t?this.isFunction(t)&&(this._onCloseData=e,this._onCloseCallback=t):this.isFunction(e)&&(this._onCloseCallback=e),this}setCloseEnabled(e){return this._closeEnabled===e||(this._closeEnabled=e,this._onCloseCallback&&this._line.updateAllViewsAndRedraw()),this}isCloseEnabled(){return this._closeEnabled}callOnClose(){this.isFunction(this._onCloseCallback)&&this._closeEnabled&&this._onCloseCallback.call(this,this._onCloseData)}isOnCloseCallbackPresent(){return this._closeEnabled&&this.isFunction(this._onCloseCallback)}onModify(e,t){return t?this.isFunction(t)&&(this._onModifyData=e,this._onModifyCallback=t):this.isFunction(e)&&(this._onModifyCallback=e),this}callOnModify(){this.isFunction(this._onModifyCallback)&&this._onModifyCallback.call(this,this._onModifyData)}onContextMenu(e,t){return t?this.isFunction(t)&&(this._onContextMenuData=e,this._onContextMenuCallback=t):this.isFunction(e)&&(this._onContextMenuCallback=e),this}shouldShowContextMenu(){return this.isFunction(this._onContextMenuCallback)}callOnContextMenu(){if(this.isFunction(this._onContextMenuCallback))return this._onContextMenuCallback.call(this,this._onContextMenuData)}remove(){this._line._model.removeSource(this._line),delete this._line}}class d extends s{constructor(e,t){ -super(e,t||d.createProperties()),this._adapter=new u(this),i.e("lt-pane-views").then(i.t.bind(null,"GzSs",7)).then(({PositionPaneView:e})=>{this._setPaneViews([new e(this,this._model)])});var s=e.mainSeries().symbolInfo(),r=null!==s?s.pricescale:100,n=null!==s&&s.fractional?s.minmov:1,o=null!==s&&s.fractional,a=null!==s?s.minmove2:void 0;this._formatter=new l(r,n,o,a)}zorder(){return c}setPoint(e,t,i){this._points[e]=t,this.normalizePoints()}addPoint(e,t){return this._points.push(e),this._lastPoint=null,this.normalizePoints(),this.createServerPoints(),!0}name(){return"Position"}createPriceAxisView(e){return this._priceAxisView=new n(this,{pointIndex:e,backgroundPropertyGetter:()=>this._adapter.getLineColor()}),this._priceAxisView}paneViews(){return TradingView.printing&&!e.enabled("snapshot_trading_drawings")?null:this._model.properties().tradingProperties.showPositions.value()?r.prototype.paneViews.call(this):null}priceAxisViews(t,i){return TradingView.printing&&!e.enabled("snapshot_trading_drawings")?null:this._model.properties().tradingProperties.showPositions.value()?r.prototype.priceAxisViews.call(this,t,i):null}hasContextMenu(){return this._adapter.shouldShowContextMenu()}contextMenuItems(){return this._adapter.callOnContextMenu()}formatter(){return this._formatter}static createProperties(e){var t=new a("linetoolposition",e,!1,!1);return d._configureProperties(t),t}static _configureProperties(e){s._configureProperties(e)}}t.LineToolPosition=d}).call(this,i("Kxc7"))},zqZp:function(e,t,i){"use strict";var s=i("Ss5c").LineDataSource,r=i("Ocx9").DefaultProperty,n=i("j3hX").LineToolColorsProperty;class o extends s{constructor(e,t){super(e,t||o.createProperties()),i.e("lt-pane-views").then(i.t.bind(null,"Ni7V",7)).then(({PriceLabelPaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}pointsCount(){return 1}name(){return"Price Label"}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(33),i.e("lt-property-pages-with-definitions")]).then(i.bind(null,"hQgR"))).PriceLabelDefinitionsViewModel}static createProperties(e){var t=new r("linetoolpricelabel",e);return o._configureProperties(t),t}static _configureProperties(e){s._configureProperties(e),e.addChild("linesColors",new n([e.childs().borderColor])),e.addChild("textsColors",new n([e.childs().color]))}}t.LineToolPriceLabel=o}},[["/G2Z","runtime","vendors"]]]); \ No newline at end of file +const i=new Set,s=t=>{e.children(t,!1).forEach(e=>{i.has(e)||(i.add(e),s(e))})};return t.forEach(s),t.filter(e=>!i.has(e)).map(t=>function e(t,i){let s=[];const r=t.children(i,!1);for(let n=0;ne.concat(t),[])}i.d(t,"a",(function(){return s}))},pZll:function(e,t,i){"use strict";i.r(t);var s=i("eqEH");const r={id:"SymbolSearchUIService"};var n=i("u5Q5");class o{bindToInput(e,t){return Object(n.bindToInput)(e,t)}}var a=i("PT1i"),l=i("h24c");class c{constructor(){this._symbolGetter=null,this._deferredItems=[],this._symbolSearchActive=!1}setSymbolGetter(e){this._symbolGetter=e,this._deferredItems.forEach(t=>{this._bindToInputImpl(e,t.input,t.options)}),this._deferredItems=[]}bindToInput(e,t){return null===this._symbolGetter?this._deferredItems.push({input:e,options:t}):this._bindToInputImpl(this._symbolGetter,e,t),Promise.resolve({destroy:()=>{},acceptTypeIn:()=>{}})}_bindToInputImpl(e,t,i){const s=$(t);let r=(e,t)=>{};const n=()=>{s.blur(),this._symbolSearchActive||(this._symbolSearchActive=!0,i.currentSymbol=s.val(),e.getSymbol(i).then(e=>{s.blur(),s.trigger("accept-symbol",[e.symbol]),i.callback&&i.callback(e.symbol,e.interval),i.syncWithChartWidget&&!Object(l.skipAccept)(e.symbol,e.interval)&&r(e.symbol,e.interval),!0===i.clearAfterAccept?s.val(""):(""===s.val()&&i.onEmptyApply&&i.onEmptyApply(),s.val(e.symbol)),this._symbolSearchActive=!1}).catch(()=>{s.blur(),this._symbolSearchActive=!1}))},o=e=>{e.preventDefault(),n()};if(i.syncWithChartWidget){Object(l.syncSymbolSearch)(s,!0),a.linking.seriesShortSymbol.subscribe(()=>{Object(l.syncSymbolSearch)(s,!0)});let e=!1;r=(t,i)=>{e=!(t||i),t&&a.linking.symbol.setValue(t),i&&Object(l.setLinkingResolution)(i)},i.syncOnBlur&&s.on("blur",()=>{e&&(Object(l.syncSymbolSearch)(s,!0),e=!1)})}s.focus(n),s.keypress(o),s.keydown(o)}}function h(){return Object(s.service)(r)}i.d(t,"symbolSearchUIService",(function(){return h})),Object(s.hasService)(r)||(window.initData&&window.initData.is_mobile_new?Object(s.registerService)(r,new c):Object(s.registerService)(r,new o))},pvsv:function(e,t,i){"use strict";function s(e,t){Promise.all([i.e("react"),i.e(1),i.e(3),i.e(6),i.e(62),i.e(95),i.e(0),i.e(5),i.e("symbol-info-dialog-impl")]).then(i.t.bind(null,"1Z/g",7)).then(i=>{i.showSymbolInfoDialog(e,t)})}i.r(t),i.d(t,"showSymbolInfoDialog",(function(){return s}))},qE4g:function(e,t,i){"use strict";i.r(t);var s=i("hbEN"),r=i("aO4+"),n=i("f6yo"),o=i("Kxc7"),a=i("oV8k"),l=i("VdBB"),c=i("9uLv"),h=i("Tmoa"),u=i("//lZ"),d=i("gAom"),p=i("ikwP");const _=i("l7y7");var m=i("zDbI").CHART_FONT_FAMILY +;const f=o.enabled("adaptive_logo"),g=o.enabled("small_no_display"),v=o.enabled("38914"),b="Ch{0}ar{1}t{2}by{3}{4}".format("",""," "," ","TradingView"),S="po{0}wer{1}ed{2}by{3}{4}".format("",""," "," ","TradingView"),y="by{3}{4}".format("",""," "," ","TradingView"),w=v?y:S,C=navigator.userAgent.toLowerCase().indexOf("firefox")>-1,P=C&&navigator.userAgent.toLowerCase().indexOf("windows")>-1,x=navigator.userAgent.toLowerCase().indexOf("chrome")>-1&&-1===navigator.userAgent.toLowerCase().indexOf("edge"),T=window.urlParams||{};window.initData;function M(e,t,i){const s=Object(p.createDisconnectedBoundCanvas)(document,new p.Size(t,i));return Object(p.getPrescaledContext2D)(s.canvas).drawImage(e,0,0,t,i),s}function I(e){return!f||e>500}T.no_referral_id&&enable(T.referral_id||"","aggressive");class L{constructor({layout:e="site_branding",symbol:t="",model:i,onReadyCallback:s}){this._model=i,this._image=null,this._imageReady=!1,this._needDisplayImage=!1,this._imageWidth=22,this._imageHeight=13,this._layout=e,this._symbol=t,this.showAnimatedBranding=o.enabled("show_animated_logo")||"widget_branding"===this._layout,this.show=!0,this.width=100,this.height=14,this._bottomShift=0,this._brandCircleSize=32,this._animatedWidth=this._brandCircleSize,this._animatedOpacity=0,this.width=this.showAnimatedBranding?this._brandCircleSize:100,this.height=14,this._fillColor=c.color.brandNew,this._colorOldBlue=c.color.brandNew2,this._colorOldGray=c.color.black30,this._strokeColor=c.color.black255,this._brandCircleShadowColor=c.color.black0,this._strokeWidth=4,this._fontSize=this.showAnimatedBranding?11:14,this._font="px "+m,this._txt="TradingView",this._onReadyCallback=s,this._upscaleRatio=x?1:2,this._verticalTextShift=C?this.showAnimatedBranding?2:4:0,this._strokeCanv=null,this._fillCanv=null,this._init()}_init(){this._checkLayout(),this.show&&(this._updateStrokeColor(),this.showAnimatedBranding?(this._loadImage(_,"tvLogo"),this._createFillText()):this._loadImage(_,"tvLogo"),this._model.properties().paneProperties.background.subscribe(this,this._updateStrokeColor),this._model.onChartThemeLoaded().subscribe(this,this._updateStrokeColor))}_updateStrokeColor(){const e=Object(h.getLuminance)(this._model.properties().paneProperties.background.value());this._strokeCanv=null,this._fillCanv=null,e>.2?(this._brandCircleColor=c.color.black255,this._animatedColorBg=c.color.black255,this._brandCircleShadowOpacity=.09,this._strokeOpacity=.8):(this._brandCircleColor=c.color.black27,this._animatedColorBg=c.color.black27,this._brandCircleShadowOpacity=.09,this._strokeOpacity=.1)}_loadImage(e,t){this._needDisplayImage&&(this._image={canvas:new Image},this._image.canvas.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(e),this._image.canvas.addEventListener("load",()=>{P&&(this._image=M(this._image.canvas,this._imageWidth,this._imageHeight)),this._imageReady=!0,"function"==typeof this._onReadyCallback&&this._onReadyCallback()}))}_checkLayout(){switch(this._layout){case"widget_branding":case"widget_referral_branding":case"widget_custom_branding": +case"fundamental_branding":case"fundamental_custom_branding":case"library_custom_branding":case"library_branding":case"site_branding":this.show=!0;break;case"widget_custom_no_powered_branding":case"fundamental_custom_no_powered_branding":case"library_custom_no_powered_branding":this.show=!1}switch(this._layout){case"library_branding":this._needDisplayImage=!0,this._txt=window.t(b);break;case"library_custom_branding":this._txt=window.t(w)}}_drawTextStroke(e){if(!this._strokeCanv){this._strokeCanv=Object(p.createDisconnectedBoundCanvas)(document,new p.Size(0,0));let e=Object(p.getPretransformedContext2D)(this._strokeCanv);const t=Math.round(this._strokeWidth*this._upscaleRatio);e.font=this._fontSize*this._upscaleRatio+this._font,this._textWidth=e.measureText(this._txt).width+2;let i=this._textWidth+2*t,s=(this._fontSize+2*t)*this._upscaleRatio;i%2==0&&(i+=1,s+=1),this._strokeCanv.resizeCanvas({width:i,height:s}),e=Object(p.getPretransformedContext2D)(this._strokeCanv),e.textBaseline="top",e.textAlign="start",e.font=this._fontSize*this._upscaleRatio+this._font,e.strokeStyle=this._strokeColor,e.lineWidth=this._strokeWidth*this._upscaleRatio,e.lineJoin="round",e.strokeText(this._txt,t,this._verticalTextShift)}e.save(),e.globalAlpha=this._strokeOpacity,e.drawImage(this._strokeCanv.canvas,0,0,this._strokeCanv.canvas.width,this._strokeCanv.canvas.height,0,0,this._strokeCanv.canvas.width/this._upscaleRatio/this._strokeCanv.pixelRatio,this._strokeCanv.canvas.height/this._upscaleRatio/this._strokeCanv.pixelRatio),e.restore()}_drawTextFill(e){this._createFillText(),e.save(),e.drawImage(this._fillCanv.canvas,0,0,this._fillCanv.canvas.width,this._fillCanv.canvas.height,0,0,this._fillCanv.canvas.width/this._upscaleRatio/this._fillCanv.pixelRatio,this._fillCanv.canvas.height/this._upscaleRatio/this._fillCanv.pixelRatio),e.restore()}_createFillText(){if(null!==this._fillCanv)return;this._fillCanv=Object(p.createDisconnectedBoundCanvas)(document,new p.Size(0,0));let e=Object(p.getPretransformedContext2D)(this._fillCanv);const t=Math.round(this._strokeWidth*this._upscaleRatio);e.font=this._fontSize*this._upscaleRatio+this._font,void 0===this._textWidth&&(this._textWidth=Math.round(e.measureText(this._txt).width)+2),this._setSizeFillTextCanvas(t),e=Object(p.getPretransformedContext2D)(this._fillCanv),e.textBaseline="top",e.textAlign="start",e.font=this._fontSize*this._upscaleRatio+this._font,e.fillStyle=this._fillColor,e.fillText(this._txt,t,this._verticalTextShift)}_updateFillTextWithColor(e){const t=Math.round(this._strokeWidth*this._upscaleRatio);this._setSizeFillTextCanvas(t);const i=Object(p.getPretransformedContext2D)(this._fillCanv);i.clearRect(0,0,this._fillCanv.canvas.width,this._fillCanv.canvas.height),i.textBaseline="top",i.textAlign="start",i.font=this._fontSize*this._upscaleRatio+this._font,i.fillStyle=e,i.fillText(this._txt,t,this._verticalTextShift)}_setSizeFillTextCanvas(e){let t=this._textWidth+2*e,i=(this._fontSize+2*e)*this._upscaleRatio;t%2==0&&(t+=1,i+=1),this._fillCanv.resizeCanvas({width:t,height:i})} +_drawFillTextCropWidth(e,t,i){this._fillCanv?this._updateFillTextWithColor(i):this._createFillText(),e.save(),e.drawImage(this._fillCanv.canvas,0,0,t*this._upscaleRatio*this._fillCanv.pixelRatio,this._fillCanv.canvas.height,0,0,t,this._fillCanv.canvas.height/this._upscaleRatio/this._fillCanv.pixelRatio),e.restore()}_drawBgCircle(e){e.save(),e.beginPath(),e.fillStyle=this._brandCircleShadowColor,e.globalAlpha=this._brandCircleShadowOpacity,e.arc(this._imageWidth/2,this._imageHeight/2,this._brandCircleSize/2+1,0,2*Math.PI),e.fill(),e.closePath(),e.restore(),e.save(),e.beginPath(),e.fillStyle=this._brandCircleColor,e.arc(this._imageWidth/2,this._imageHeight/2,this._brandCircleSize/2,0,2*Math.PI,!1),e.fill(),e.closePath(),e.restore()}_drawFillRectWithRoundedCorner(e,t,i,s,r,n,o){e.save(),Object(d.drawRoundRect)(e,t-1,i-1,s+2,r+2,n),e.globalAlpha=this._brandCircleShadowOpacity,e.fillStyle=this._brandCircleShadowColor,e.fill(),e.closePath(),e.restore(),e.save(),Object(d.drawRoundRect)(e,t,i,s,r,n),e.fillStyle=o,e.fill(),e.closePath(),e.restore()}_drawImageWithColor(e){e.save(),e.globalAlpha=1-this._animatedOpacity,e.drawImage(this._image.canvas,0,-.5,this._imageWidth,this._imageHeight),e.restore()}destroy(){this._model.properties().paneProperties.background.unsubscribeAll(this),this._model.onChartThemeLoaded().unsubscribeAll(this)}bottomShift(){return this._bottomShift}hasAnimation(){return this.showAnimatedBranding}minimizedAnimationWidth(){return this._brandCircleSize}maximizedAnimationWidth(){return this._createFillText(),this._fillCanv.canvas.width/this._upscaleRatio/this._fillCanv.pixelRatio+this._brandCircleSize-3}animatedDrawStep(e,t){this._animatedWidth=t}draw(e,t){if(this.showAnimatedBranding){if(this._needDisplayImage&&this._imageReady){e.save();const t=(this._brandCircleSize-this._imageWidth)/2,i=(this._brandCircleSize-this._imageHeight)/2;e.translate(-t,-i),this._drawFillRectWithRoundedCorner(e,0,0,this._animatedWidth,this._brandCircleSize,this._brandCircleSize/2,this._animatedColorBg),e.translate(t,i),this._drawImageWithColor(e);const s=12+(x?-.5:0),r=this._imageWidth+s;this._animatedWidth>r&&(e.translate(this._imageWidth/2+s,.5),this._drawFillTextCropWidth(e,this._animatedWidth-r,this._animatedColorText)),e.restore(),this.width=this._animatedWidth,this.height=this._brandCircleSize,this._bottomShift=this._brandCircleSize-this._imageHeight}}else if("widget_custom_branding"===this._layout||"fundamental_custom_branding"===this._layout){const t="12px "+m;e.font=t;const i=e.measureText(this._txt).width+2;this.width=i+e.measureText("TradingView").width+2,e.save(),e.globalAlpha=.7,e.fillStyle=this._colorOldGray,e.fillText(this._txt,0,12),e.fillStyle=this._colorOldBlue,e.fillText("TradingView",i,12),e.restore()}else if(function(e){return!g||e>480}(t))if(this._needDisplayImage&&this._imageReady){e.save();const i=(this._brandCircleSize-this._imageWidth)/2;e.translate(i,0),this._drawBgCircle(e),e.drawImage(this._image,0,-.5,this._imageWidth,this._imageHeight);const s=12+(x?-.5:0);e.translate(this._imageWidth+s,-.5) +;const r=I(t);r&&(this._drawTextStroke(e),this._drawTextFill(e)),e.restore(),this.width=this._imageWidth+i,this.width+=r?s+this._strokeCanv.canvas.width/this._upscaleRatio/this._strokeCanv.pixelRatio:i,this.height=this._brandCircleSize,this._bottomShift=this._brandCircleSize-this._imageHeight}else{e.save(),e.translate(x?-.5:0,-.5);const i=I(t);i&&(this._drawTextStroke(e),this._drawTextFill(e)),e.restore(),i&&(this.width=this._strokeCanv.canvas.width/this._upscaleRatio/this._strokeCanv.pixelRatio)}}}class O{constructor({layout:e="site_branding",src:t,onReadyCallback:i}){this._img=new Image,this._ready=!1,this.show=!1,this.width=0,this.height=0,this._layout=e,this._src=t,this._onReadyCallback=i,this._init()}_init(){this._checkLayout(),this.show&&(this._img.src=this._src,this._img.addEventListener("load",()=>{this.width=Math.round(this._img.width),this.height=Math.round(this._img.height),P&&(this._img=M(this._img,this.width,this.height).canvas),this._ready=!0,"function"==typeof this._onReadyCallback&&this._onReadyCallback()}))}_checkLayout(){switch(this._layout){case"widget_custom_branding":case"widget_custom_no_powered_branding":case"fundamental_custom_branding":case"fundamental_custom_no_powered_branding":case"library_custom_branding":case"library_custom_no_powered_branding":this.show=!0;break;case"site_branding":case"widget_branding":case"widget_referral_branding":case"fundamental_branding":case"library_branding":this.show=!1}}draw(e){this._ready&&e.drawImage(this._img,0,0,this.width,this.height)}}class A extends a.a{constructor(e,t,i,r){super(e,t),this._mainSeries=this._model.mainSeries(),this._canvasWidth=0,this._showAllowance=i,this._showForPro=r,this._paneHeight=0,this._left=13,this._bottom=16,this._layout="site_branding",this._needToShow=!0,this._customLogoSrc="",this._customLogoLink="",this._checkLayout(),"widget_custom_branding"!==this._layout&&"fundamental_custom_branding"!==this._layout||(this._left=8,this._bottom=5);const n=()=>{this._needToShow?this._showBranding=!0:this._showBranding=!1};this._resizeHandlerDelayed=Object(s.default)(n,200),n(),window.addEventListener("resize",this._resizeHandlerDelayed),this._monitorCanvas=Object(p.createDisconnectedBoundCanvas)(document,new p.Size(0,0)),this._monitorCanvas.subscribeCanvasConfigured(()=>{this._init()}),this._model.isSnapshot()?this._init():(this._mainSeries.dataEvents().symbolResolved().subscribe(this,this._init),null!==this._mainSeries.symbolInfo()&&this._init()),this._cubicBezier=new c.CubicBezier(.4,.01,.22,1),this._renderer={draw:this.draw.bind(this),hitTest:this.hitTest.bind(this)}}destroy(){window.removeEventListener("resize",this._resizeHandlerDelayed),this._mainSeries.dataEvents().symbolResolved().unsubscribeAll(this),this._powBy&&this._powBy.destroy()}_init(){const e=this._mainSeries.symbolInfo()||{};this._powBy&&this._powBy.destroy(),this._powBy=new L({layout:this._layout,symbol:e.name,model:this._model,onReadyCallback:()=>this._model.fullUpdate()}),this._custom=new O({layout:this._layout,src:this._customLogoSrc, +onReadyCallback:()=>this._model.fullUpdate()}),this._openAnimation=null,this._closeAnimation=null}_checkLayout(){if(o.enabled("widget"))0;else if(o.enabled("charting_library")||o.enabled("trading_terminal")){const e=JSON.parse(T.logo)||{};e.image?(this._customLogoSrc=e.image,this._customLogoLink=e.link,this._needToShow=o.enabled("widget_logo"),o.enabled("link_to_tradingview")?this._layout="library_custom_branding":this._layout="library_custom_no_powered_branding"):(this._layout="library_branding",this._needToShow=o.enabled("widget_logo"))}else this._layout="site_branding"}_startOpenAnimation(){null===this._openAnimation&&(null!==this._closeAnimation&&(this._closeAnimation.stop(),this._closeAnimation=null),this._openAnimation=Object(u.doAnimate)({from:this._currentStateForAnimation(),to:this._openedStateForAnimation(),duration:200,easing:this._cubicBezier.easingFunc,onStep:this._animatedDrawStep.bind(this)}))}_openLink(){if("site_branding"===this._layout)return!1;return window.open(this.tvUrl(),"_blank").opener=null,!0}_toggleOpenAnimatedOrOpenLink(){null!==this._openAnimation&&this._openAnimation.completed()?this._openLink()||this._startCloseAnimation():this._startOpenAnimation()}_startCloseAnimation(){null===this._closeAnimation&&(null!==this._openAnimation&&(this._openAnimation.stop(),this._openAnimation=null),this._closeAnimation=Object(u.doAnimate)({from:this._currentStateForAnimation(),to:this._closedStateForAnimation(),duration:200,easing:this._cubicBezier.easingFunc,onStep:this._animatedDrawStep.bind(this)}))}onClickOutside(){this._hasAnimation()&&this._startCloseAnimation()}_currentStateForAnimation(){return this._powBy.width}_closedStateForAnimation(){return this._powBy.minimizedAnimationWidth()}_openedStateForAnimation(){return this._powBy.maximizedAnimationWidth()}_animatedDrawStep(e,t){this._powBy.animatedDrawStep(e,t),this._model.lightUpdate()}_hasAnimation(){return this._powBy.hasAnimation()}updateAllViews(){}updateViewsForPane(e){}priceScale(){return null}priceAxisViews(){return[]}hasContextMenu(){return!1}hitTest(e){return!this._showBranding||o.enabled("logo_without_link")?null:this._powBy&&"widget_custom_no_powered_branding"!==this._layout&&"fundamental_custom_no_powered_branding"!==this._layout&&Object(n.pointInBox)(e,Object(r.box)(new r.Point(this._left,this._paneHeight-Math.max(this._powBy.height,void 0!==this._custom?this._custom.height:0)-this._bottom),new r.Point(this._left+Math.max(this._powBy.width,void 0!==this._custom?this._custom.width:0),this._paneHeight-this._bottom)))?new l.HitTestResult(l.HitTestResult.CUSTOM,{hideCrosshairLinesOnHover:!0,clickHandler:()=>{this._openLink()},tapHandler:()=>{this._hasAnimation()?this._toggleOpenAnimatedOrOpenLink():this._openLink()},mouseEnterHandler:()=>{this._hasAnimation()&&this._startOpenAnimation()},mouseLeaveHandler:()=>{this._hasAnimation()&&this._startCloseAnimation()}}):null}tvUrl(){let e="https://www.tradingview.com/";if(this._customLogoLink)return this._customLogoLink +;if("library_branding"===this._layout||"library_custom_branding"===this._layout){let t;switch(!0){case o.enabled("charting_library"):t="library";break;case o.enabled("trading_terminal"):t="trading-terminal"}return e+="/"===e[e.length-1]?"?":"&",e+="utm_source="+window.location.origin+"&utm_medium=library"+(t?"&utm_campaign="+t:""),e}return e}draw(e,t){if(!this._showBranding)return;let i=0;T.utm=!0,Object(p.drawScaled)(e,t.pixelRatio,()=>{e.translate(-.5,-.5),this._powBy&&this._powBy.show&&(i=this._powBy.height-this._powBy.bottomShift(),e.save(),e.translate(this._left,this._paneHeight-this._bottom-i),this._powBy.draw(e,t,this._canvasWidth),e.restore()),this._custom&&this._custom.show&&(e.save(),e.translate(this._left,this._paneHeight-this._bottom-i-this._custom.height),this._custom.draw(e,t),e.restore())})}renderer(e,t){return this._paneHeight=e,this._canvasWidth=t,this._renderer}paneViews(e){if(TradingView.printing)return[];if(!this._showAllowance())return[];if("site_branding"===this._layout&&!this._showForPro&&window.user&&window.user.is_pro)return[];const t=o.enabled("move_logo_to_main_pane");return t&&e.isMainPane()||!t&&e.isLast()||e.isMaximized()?[{renderer:this.renderer.bind(this)}]:[]}labelPaneViews(e){return[]}}function E(e,t){function i(t){const i=e.getAll();if(1===i.length)return!0;const s=i[0].model();return s&&s.model()===t}e.addCustomSource("branding",(e,s)=>new A(e,s,i.bind(null,s),t))}i.d(t,"addBrandingSource",(function(){return E}))},qJq3:function(e,t,i){"use strict";(function(e,s,r){TradingView.DEFAULT_BAR_COUNT=300,TradingView.TIME_PLOT=0,TradingView.OPEN_PLOT=1,TradingView.HIGH_PLOT=2,TradingView.LOW_PLOT=3,TradingView.CLOSE_PLOT=4,TradingView.ADT_PLOT=6,TradingView.STYLE_PLOT=7;var n=i("Eyy1").assert,o=i("Eyy1").ensureNotNull,a=i("lUQk").SeriesBase,l=i("tBG4").SeriesStatusView,c=i("cXAR").SeriesDataWindowView,h=i("gWck").SeriesLegendView,u=i("x0JF"),d=u.SeriesAreaPaneView,p=u.SeriesLinePaneView,_=u.SeriesHollowCandlesPaneView,m=u.SeriesCandlesPaneView,f=u.SeriesBarsPaneView,g=u.SeriesHeikenAshiPaneView,v=u.SeriesBaselinePaneView,b=i("9Jkk").SeriesHiLoPaneView,S=i("biIa").SeriesWaterlinePaneView,y=i("Kxc7"),w=i("BZtw").SeriesDataSource,C=i("ZJKN").BarsRange,P=i("38az").SeriesBarColorer,x=i("XPit").SeriesData,T=i("XPit").barFunction,M=i("k9/m"),I=M.PlotRowSearchMode,L=M.mergeMinMax,O=i("okVO").SyncModel,A=i("JWMC").trackEvent,E=i("txPx").getLogger("Chart.Series"),k=i("dfhE"),D=i("n5al"),V=i("pPtI"),B=V.getServerInterval,R=V.getResolutionByChartStyle,N=i("LxhU").Interval,j=i("WkOR").areEqualSymbols,F=i("WkOR").includesEqualSymbol,W=i("z+Sa").SeriesHorizontalBaseLinePaneView,H=i("Z8aO").SeriesPriceLinePaneView,z=i("FIi8").deepExtend,U=i("5fI3").encodeExtendedSymbolOrGetSimpleSymbolString,G=i("FQhm"),q=(i("qFKp").CheckMobile.any(),i("YWnQ").permissionDenied),Y=!y.enabled("hide_series_legend_item"),K=i("aKms").MarketStatusModel,J=i("2S76").DataUpdatedModeModel,Z=i("DsEq").DataProblemModel,X=i("hY0g"),$=i("uDHo").TIMEFRAMETYPE,Q=i("H0vP").InvalidationMask,ee=y.enabled("display_data_mode") +;class te extends a{constructor(t,s,r,n){var o=i("OK+B");s.removeProperty("currencyId"),super(t,s,r),this._boxSizeValue=new X,this._tagsChanged=new e,this._symbolIntervalChanged=new e,this._intervalChanged=new e,this._extendedHoursChanged=new e,this.chartWidgetInitialized=new e,this._onStyleChanged=new e,this._onStatusChanged=new e,this._onRestarted=new e,this.requestingIntradayWhenNotSupported=new e,this.requestingResolutionWhenNotSupported=new e,this._onInReplayStateChanged=new e,this._replayExitedDueUnsupportedInterval=new e,this._replayExitedDueUnavailableForUserInterval=new e,this._onTimeFrameApplied=new e,this.m_model=t,this._chartApi=t._chartApi,this.m_data=null,this._prevChartStyle=s.style.value(),this._seriesSource=new w(t._chartApi,"s",n);var a=this._seriesSource.dataEvents();a.symbolResolved().subscribe(this,this._onSymbolResolved),a.symbolError().subscribe(this,this._onSymbolError),a.seriesTimeFrame().subscribe(this,this._onSeriesTimeFrame),a.seriesError().subscribe(this,this._onSeriesError),a.loading().subscribe(this,this._onSeriesLoading),a.completed().subscribe(this,this._onSeriesCompleted),a.dataUpdated().subscribe(this,this._onDataUpdated),a.barReceived().subscribe(this,this._onBarReceived),this.createPaneView(),this._dataWindowView=new c(this,t),this._legendView=new h(this,t),this._statusView=new l(this,this._model.properties().scalesProperties.textColor,this.properties().statusViewStyle),this._symbolInfo=null,this._prevSymbolInfo=null,this._status=te.STATUS_OFFLINE,this._syncModel=null,this._replaySubscriber=null,this._isReplayResolutionAvailableForUser=null,this._haStyle={studyId:D.chartStyleStudyId(te.STYLE_HEIKEN_ASHI,!0)},this._renkoStyle={studyId:D.chartStyleStudyId(te.STYLE_RENKO,!0)},this._pbStyle={studyId:D.chartStyleStudyId(te.STYLE_PB,!0)},this._kagiStyle={studyId:D.chartStyleStudyId(te.STYLE_KAGI,!0)},this._pnfStyle={studyId:D.chartStyleStudyId(te.STYLE_PNF,!0)},this._rangeStyle={studyId:D.chartStyleStudyId(te.STYLE_RANGE,!0)},this._properties.addExclusion&&(this._properties.addExclusion("visible"),this._properties.addExclusion("currencyId")),this._predictBars=0,this._futureBarsPaneView=null,this._properties.showInDataWindow.listeners().subscribe(t,o.prototype.fullUpdate),this._loading=!0,this._seriesLoaded=!1,this.properties().minTick.listeners().subscribe(this,te.prototype._recreateFormatter);var u=this;this.properties().minTick.listeners().subscribe(null,(function(){u.m_model.fullUpdate()})),this._priceLineView=null,this._baseHorizontalLineView=new W(this),this._gotoDateResultCleared=!1,this._gotoDateView=null,this.bindStyleChange(),this.bindJapChartsInputs(),this._createIsDWMProperty(),this.createExtendedHoursProperty(),this.extendedHours.listeners().subscribe(this,(function(e){this._extendedHoursChanged.fire(e),this.restart()})),a.extendedHoursNotPermitted().subscribe(this,(function(){this._properties.extendedHours.setValue(!1)})),this._symbolIntervalChanged.subscribe(this,this.checkInterval), +this.properties().showCountdown.listeners().subscribe(this,te.prototype._onChangeShowCountdown),this._onChangeShowCountdown(this.properties().showCountdown),this._recreatePriceFormattingDependencies(),this._isDWMCached=null,this.properties().lineStyle.priceSource.listeners().subscribe(this,this._updateBarFunction),this.properties().areaStyle.priceSource.listeners().subscribe(this,this._updateBarFunction),this.properties().baselineStyle.priceSource.listeners().subscribe(this,this._updateBarFunction),this._updateBarFunction(),this._marketStatusModel=new K(this._quotesProvider,this._properties.symbol.listeners()),this._dataUpdatedModeModel=ee?new J({getter:this.symbolInfo.bind(this),onChange:a.symbolResolved()},{getter:this.status.bind(this),onChange:this._onStatusChanged},this._properties.symbol.listeners()):null,this._dataProblemModel=new Z(this._quotesProvider,this._properties.symbol.listeners())}isLoading(){return this._loading}isSymbolInvalid(){return this._status===te.STATUS_INVALID_SYMBOL}styleStudyInfos(){return{haStyle:this._haStyle,renkoStyle:this._renkoStyle,pbStyle:this._pbStyle,kagiStyle:this._kagiStyle,pnfStyle:this._pnfStyle,rangeStyle:this._rangeStyle}}styleStudyInfo(e){return this.styleStudyInfos()[e]}priceLineColor(e){return this.properties().priceLineColor.value()||e}endOfData(){return this._endOfData}serverTimeOffset(){return this._chartApi.serverTimeOffset()}_onChangeShowCountdown(e){var t=this;e.value()?this._countdownUpdateTimer=this.m_model.setInterval((function(){t._priceAxisView.updateCountdown()}),500):(this.m_model.clearInterval(this._countdownUpdateTimer),delete this._countdownUpdateTimer)}lastValueData(e,t,i){var s={noData:!0};if(this.m_model.timeScale().isEmpty()||this.priceScale().isEmpty()||this.data().isEmpty())return s;var r,n,o=this.m_model.timeScale().visibleBarsStrictRange();if(null===o)return s;if(t){var a=this.data().bars().last();if(null===a)return s;r=a.value,n=a.index}else{var l=this.data().bars().search(o.lastBar(),I.NearestLeft);if(null===l)return s;r=this.data().bars().valueAt(l.index),n=l.index}var c={noData:!1},h=void 0!==e?r[e]:this._barFunction(r);i&&(c.price=h);var u=this.firstValue();c.text=this.priceScale().formatPrice(h,u),c.formattedPriceAbsolute=this.priceScale().formatPriceAbsolute(h),c.formattedPricePercentage=this.priceScale().formatPricePercentage(h,u);var d=this.barColorer().barStyle(n,!1);return c.color=d.barColor,c.floatCoordinate=this.priceScale().priceToCoordinate(h,u),c.coordinate=c.floatCoordinate,c.index=n,c}_createIsDWMProperty(){this._isDWMProperty=new s(this.isDWM()),this._onRestarted.subscribe(this,(function(){this._isDWMProperty.setValue(this.isDWM())}))}isDWMProperty(){return this._isDWMProperty}model(){return this.m_model}fixLastBar(e){0}clearData(){n(null===this.m_data,"Cannot clear loaded data"),this._seriesSource.clearData()}data(){return this.m_data||this._seriesSource.data()}isPulse(){return this._symbolInfo&&this._symbolInfo.resolutions.length>0}onTagsChanged(){return this._tagsChanged}onSymbolIntervalChanged(){ +return this._symbolIntervalChanged}onIntervalChanged(){return this._intervalChanged}onStatusChanged(){return this._onStatusChanged}onStyleChanged(){return this._onStyleChanged}onRestarted(){return this._onRestarted}boxSizeValue(){return this._boxSizeValue}status(){return this._status}isDWM(){if(null!==this._isDWMCached)return this._isDWMCached;var e=N.parse(this._properties.interval.value());if(e.isDWM())this._isDWMCached=!0;else{var t=e.isSeconds()?e.multiplier():60*e.multiplier();this._isDWMCached=!(t<216e3)}return this._isDWMCached}createPaneView(){this._paneView=null,this._projectionBarsPaneView=null,this._waterlineView=null,this._priceLineView=this.hasClosePrice()?new H(this):null;var e=this._properties.style.value();switch(e){case te.STYLE_BARS:this._paneView=new f(this,this.m_model);break;case te.STYLE_CANDLES:this._paneView=new m(this,this.m_model);break;case te.STYLE_LINE:this._paneView=new p(this,this.m_model);break;case te.STYLE_AREA:this._paneView=new d(this,this.m_model);break;case te.STYLE_HEIKEN_ASHI:this._paneView=new g(this,this.m_model);break;case te.STYLE_HOLLOW_CANDLES:this._paneView=new _(this,this.m_model);break;case te.STYLE_BASELINE:this._paneView=new v(this,this.m_model),this._waterlineView=new S(this);break;case te.STYLE_HILO:this._paneView=new b(this,this.m_model)}if(null===this._paneView)throw Error("Unknown chart style assigned: "+e)}_clearStylePlot(e,t){if(0!==e.size()){var i=t||o(e.firstIndex()),s=o(e.lastIndex())+1;e.range(i,s).each((function(e,t){t[TradingView.STYLE_PLOT]=null}))}}invalidateBarStylesCache(e){E.logDebug("Invalidate style cache starting from "+e),this._clearStylePlot(this.bars(),e),this._clearStylePlot(this.nsBars())}invalidateBarColorerCache(){delete this._barColorerCache,this.invalidateBarStylesCache()}barColorer(){if(this._barColorerCache)return this._barColorerCache;for(var e=null,t=this.m_model.dataSources().length-1;t>=0;t--){var i=this.m_model.dataSources()[t];if(i.metaInfo&&TradingView.isInherited(i.constructor,TradingView.Study)&&i.hasBarColorer()&&i.properties().visible.value()){var s=i.barColorer();null===e?e=s:e.pushBackBarColorer(s)}}return null===e?e=new P(this):e.pushBackBarColorer(new P(this)),this._barColorerCache=e,this._barColorerCache}properties(){return this._properties}_barsState(e){var t=e.state();return t.data.forEach((function(e){e.value.splice(7,1)})),t}state(e){var t={type:this===this.m_model.mainSeries()?"MainSeries":TradingView.className(this.constructor),id:this.id(),state:this.properties().state(),zorder:this.zorder(),haStyle:this._haStyle,renkoStyle:this._renkoStyle,pbStyle:this._pbStyle,kagiStyle:this._kagiStyle,pnfStyle:this._pnfStyle,rangeStyle:this._rangeStyle};return this._symbolInfo&&this._symbolInfo.ticker&&(t.state.symbol=this._symbolInfo.ticker),e&&(t.bars=this._barsState(this.bars()),t.nsBars=this._barsState(this.nsBars()),t.symbolInfo=this._symbolInfo,t.rtPrice=this.data().lastProjectionPrice),t.boxSize=this.data().boxSize,t.reversalAmount=this.data().reversalAmount,t}restoreState(e,t){t&&this._setStatus(te.STATUS_SNAPSHOT), +this._properties.mergeAndFire(e.state),this._prevChartStyle=this.properties().style.value(),this.createPaneView(),t&&this.restoreData(e.bars,e.nsBars,e.symbolInfo,e.rtPrice,e.boxSize,e.reversalAmount)}hasStateForAlert(){return!1}stateForAlert(){throw new Error("Not implemented")}idForAlert(){return a.prototype.idForAlert.call(this)}restoreData(e,t,i,s,r,n){this._status=te.STATUS_SNAPSHOT,this.m_data=new x,this.m_data.m_bars.restoreState(e),this.m_data.m_nsBars.restoreState(t),this.updateSymbolInfo(i,!1),this.m_data.lastProjectionPrice=s,this.m_data.boxSize=r,r||(this.properties().style.value()===te.STYLE_PNF?this.m_data.boxSize=this.properties().pnfStyle.inputs.boxSize.value():this.properties().style.value()===te.STYLE_RENKO&&(this.m_data.boxSize=this.properties().renkoStyle.inputs.boxSize.value())),this.m_data.reversalAmount=n,n||this.properties().style.value()===te.STYLE_KAGI&&(this.m_data.reversalAmount=this.properties().kagiStyle.inputs.reversalAmount.value()),this._loading=!1}_setProperties(e){e.timeframe||e.merge({timeframe:""}),e.shortName||e.merge({shortName:""}),e.currencyId||e.addChild("currencyId",new s(null)),e.unitId||e.addChild("unitId",new s(null)),this._properties=e,this._properties.symbol.listeners().subscribe(this,te.prototype.changeSymbol),this._properties.interval.listeners().subscribe(this,te.prototype.changeInterval),this._properties.currencyId.listeners().subscribe(this,te.prototype._changeCurrency),this._properties.unitId.listeners().subscribe(this,te.prototype._changeUnit),this._properties.timeframe.listeners().subscribe(this,te.prototype.changeTimeFrame),this._properties.listeners().subscribe(this,te.prototype.changeProperties)}changeSymbol(){this.setSymbolIntervalCurrencyDelayed(),this.m_model.checkLineToolSelection()}changeInterval(){this.setSymbolIntervalCurrencyDelayed()}changeTimeFrame(){A("GUI","Change timeframe")}changeProperties(e){e!==this._properties.symbol&&e!==this._properties.interval&&e!==this._properties.timeframe&&(this._tagsChanged.fire(),this.createPaneView(),this.updateAllViews(),this.m_model.updateSource(this),G.emit("series_properties_changed",this._id))}seriesSource(){return this._seriesSource}_onSymbolResolved(e){this.updateSymbolInfo(e,!1),this.m_model.updateSource(this),this.m_model.realignLineTools(),TradingView.onWidget()||(A("Symbol",e.listed_exchange,e.name),A("Symbol Type",e.type,e.listed_exchange));var t=this.symbolInfo().minmov/this.symbolInfo().pricescale,i=this.properties();i.style.value()===te.STYLE_RENKO&&i.renkoStyle.inputs.boxSize.value()e.update()),this._labelPaneViews.forEach(e=>e.update()),this._priceAxisViews.forEach(e=>e.update()),this._priceLineAxisViews.forEach(e=>e.update()),this._futureBarsPaneView&&this._futureBarsPaneView.update(),this._projectionBarsPaneView&&this._projectionBarsPaneView.update(),null!==this._waterlineView&&this._waterlineView.update(),null!==this._priceLineView&&this._priceLineView.update(),null!==this._gotoDateView&&this._gotoDateView.update(),this._baseHorizontalLineView.update();var e=this._model.activeStrategySource().value();null!==e&&e.updateAllViews()}_setStatus(e){this._status=e,this._statusView.update(),this.m_model.updateSource(this),this._onStatusChanged.fire()}requestMoreData(e){if((this._status===te.STATUS_READY||this._status===te.STATUS_PULSE||this._status===te.STATUS_DELAYED||this._status===te.STATUS_DELAYED_STREAMING||this._status===te.STATUS_EOD||this._status===te.STATUS_REPLAY)&&!this.m_model.timeScale().isEmpty()){var t=this.m_model.timeScale().visibleBarsStrictRange();if(null!==t&&0!==this.bars().size()){var i=t.lastBar()-o(this.data().last()).index;if(this._predictBars{this._gotoDateResultCleared||(this._gotoDateView=new t(this,e),this.m_model.updateSource(this))})}clearGotoDateResult(e){this._gotoDateView=null,this._gotoDateResultCleared=!0}syncModel(){if(!this._syncModel){var e=this.symbolInfo(),t=this.interval();if(!e||!t)return null;this._syncModel=new O(e,t)}return this._syncModel}getSourceIcon(){return{type:"loadSvg",svgId:"series."+this.properties().style.value()}}isStyleSupported(e){return!0}isIntervalSupported(e){return!0}isStyleSupportedForReplay(e){return D.isTimeBasedStyle(e)}isInReplay(){return null!==this._replaySubscriber}onTimeFrameApplied(){return this._onTimeFrameApplied}onInReplayStateChanged(){throw new Error("Not implemented")}replayExitedDueUnsupportedInterval(){throw new Error("Not implemented")}replayExitedDueUnavailableForUserInterval(){throw new Error("Not implemented")}switchToReplay(e,t){throw new Error("Not implemented")}switchToRealtime(){throw new Error("Not implemented")}_removeReplaySubscriber(){throw new Error("Not implemented")}_onBeforeModifySeries(e,t){0}_getTelemetryAdditionalData(e,t){t=void 0===t||t;var i={symbol:this.actualSymbol()};return t&&(i.resolution=this.interval()),void 0!==e&&(i.reason=e),i}_sendTelemetryReport(e,t,i){void 0===i&&(i=this._getTelemetryAdditionalData());var s=Object.assign(t,{additional:i});(void 0).sendChartReport(e,s)}_sendTelemetryCounter(e,t){this._sendTelemetryReport(e,{count:1},t)}destroy(){this._replayExitedDueUnsupportedInterval.destroy(),this._replayExitedDueUnavailableForUserInterval.destroy(),this._quotesProvider.quotesUpdate().unsubscribeAll(this),this._quotesProvider.destroy(),this.clearGotoDateResult(),this._legendView.destroy(),this._marketStatusModel.destroy(),null!==this._dataUpdatedModeModel&&this._dataUpdatedModeModel.destroy(),this._dataProblemModel.destroy(),this._paneView&&this._paneView.destroy&&this._paneView.destroy(),this._onTimeFrameApplied.destroy(),this._seriesSource.destroy(),super.destroy()}dataEvents(){return this._seriesSource.dataEvents()}moveData(e){return this._seriesSource.moveData(e)}}Object.assign(te,k),TradingView.Series=te,t.Series=te +}).call(this,i("aIyQ"),i("tc+8"),i("Qb4w").PriceRange)},qXYw:function(e,t,i){"use strict";i.r(t);var s=i("n5al"),r=i("ivNn"),n=i("YFKU"),o=i("qFKp"),a=i("Tmoa"),l=i("Ialn"),c=i("GH0z"),h=i("6I19"),u=i("k9/m"),d=i("CW80"),p=i("mMWL"),_=i("7qT/"),m=i("38az");const f=o.CheckMobile.any(),g=f&&!0,v=new c.PercentageFormatter,b=Object(n.t)("n/a"),S=`${b} (${b}%)`;i.d(t,"OverlayLegendValuesProvider",(function(){return y}));class y extends class{constructor(e,t){this._study=e,this._model=t,this._emptyValues=[{title:Object(n.t)("Open"),visible:!1,value:"",index:0,id:""},{title:Object(n.t)("High"),visible:!1,value:"",index:1,id:""},{title:Object(n.t)("Low"),visible:!1,value:"",index:2,id:""},{title:Object(n.t)("Close"),visible:!1,value:"",index:3,id:""},{title:"",visible:!1,value:"",index:4,id:""},{title:"",visible:!1,value:"",index:5,id:""},{title:Object(n.t)("Change"),visible:!1,value:"",index:6,id:""}]}getItems(){return this._emptyValues}getValues(e){const t=this._emptyValues.map(e=>Object.assign({},e));if(this._model.timeScale().isEmpty())return t;if(0===this._study.data().size())return t;const i=this._showLastPriceAndChangeOnly();if(Object(r.isNumber)(e)||(i?e=this._study.data().lastIndex():(e=this._model.crossHairSource().appliedIndex(),Object(r.isNumber)(e)||(e=this._study.data().lastIndex()))),null===e||!Object(r.isNumber)(e))return t;const s=this._study.data().search(e,u.PlotRowSearchMode.NearestLeft,1),n=Object(h.c)(this._model.paneForSource(this._study));if(null===s||null===n)return t;const o=s.index,c=s.value,d=c[1],p=c[2],_=c[3],f=c[4];if(null==d||null==p||null==_||null==f)return t;t[0].value=b,t[1].value=b,t[2].value=b,t[3].value=b,t[6].value=S;for(const r of t)r.visible=!i;const y=t[4];y.visible=!1;const w=this._study.formatter(),C=this._changesData(f,d,o,i);if(void 0!==C.values){const e=Object(l.forceLTRStr)(`${w.format(C.values.change,!0)} (${v.format(C.values.percentChange,!0)})`);t[6].value=e}i?(t[5].value=w.format(f),t[5].visible=!0,t[6].visible=!0):(t[0].value=w.format(d),t[1].value=w.format(p),t[2].value=w.format(_),t[3].value=w.format(f),y.value=w.format(this._study.barFunction()(c)),t[5].visible=!1);let P=null;if(i&&!g)P=void 0===C.values||C.values.change>=0?m.SeriesBarColorer.upColor(this._study.properties()):m.SeriesBarColorer.downColor(this._study.properties());else{const e=this._study.barColorer().barStyle(o,!1),t=null!=e.barBorderColor?e.barBorderColor:e.barColor;P=Object(h.b)(n,t)}P=Object(a.resetTransparency)(Object(h.b)(n,P));for(const r of t)r.color=P;return t}_showLastPriceAndChangeOnly(){return f&&(null===this._model.crossHairSource().pane||Object(d.isLineToolName)(p.tool.value())||null!==this._model.lineBeingEdited())}_changesData(e,t,i,s){if(s&&!g){const e=this._study.quotes();if(null!==e)return{values:{change:e.change,percentChange:e.change_percent},priceDirection:{basedOnCurrentBar:e.change>=0?0:1,basedOnPrevClose:e.change>=0?0:1}}}else{const s=this._study.data().search(i-1,u.PlotRowSearchMode.NearestLeft,1),r=s&&s.value[4]||null;if(null!==r)return{values:{change:e-r, +percentChange:Object(_.a)(r,e)},priceDirection:{basedOnCurrentBar:e>=t?0:1,basedOnPrevClose:e>=r?0:1}}}return{priceDirection:{basedOnCurrentBar:e>=t?0:1,basedOnPrevClose:e>=t?0:1}}}}{constructor(e,t){super(e,t),this._showBarChange=t.properties().paneProperties.legendProperties.showBarChange,this._showSeriesOHLC=t.properties().paneProperties.legendProperties.showSeriesOHLC,this._seriesStyle=e.properties().childs().style}getValues(e){const t=super.getValues(e);if(!this._showLastPriceAndChangeOnly()){const e=Object(s.isPriceSourceStyle)(this._seriesStyle.value()),i=this._showSeriesOHLC.value(),r=i&&!e,n=i&&e;t[0].visible=r,t[1].visible=r,t[2].visible=r,t[3].visible=r,t[6].visible=this._showBarChange.value(),t[4].visible=n}return t}}},qcGP:function(e,t,i){"use strict";var s=i("Ss5c").LineDataSource,r=i("Ocx9").DefaultProperty,n=i("mMWL");class o extends s{constructor(e,t){super(e,t||o.createProperties()),this._priceAxisViews.push(this.createPriceAxisView(3)),i.e("lt-pane-views").then(i.t.bind(null,"9FRF",7)).then(({ParallelChannelPaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}calculatePriceDiff(){var e=this.points();if(3===e.length){var t=e[0],i=e[1],s=e[2],r=this._findPriceOffset(t,i,s);null!==r&&isFinite(r)&&(this._priceOffset=r)}}_findPriceOffset(e,t,i){var s=this.priceScale();if(null===s||e.index===t.index)return null;if(s.isLog()){var r=this._model.timeScale();if(r.isEmpty())return null;var n=this.ownerSource().firstValue(),o=r.indexToCoordinate(e.index),a=r.indexToCoordinate(t.index),l=s.priceToCoordinate(e.price,n),c=s.priceToCoordinate(t.price,n),h=l+(m=(c-l)/(a-o))*(r.indexToCoordinate(i.index)-o),u=s.priceToCoordinate(i.price,n)-h,d=(n=this.ownerSource().firstValue(),.5*(l+c)),p=s.coordinateToPrice(d,n),_=d+u;return s.coordinateToPrice(_,n)-p}var m=(t.price-e.price)/(t.index-e.index),f=e.price+m*(i.index-e.index);return i.price-f}setLastPoint(e,t){t&&t.shift()&&2===this.points().length&&this._snapPoint45Degree(e,this.points()[0]),super.setLastPoint(e),this.calculatePriceDiff()}restorePoints(e,t,i){super.restorePoints(e,t,i),e&&e.length>=3&&(this._priceOffset=e[2].price-e[0].price)}setPoint(e,t,i){if(i&&i.shift())switch(e){case 0:case 1:this._snapPoint45Degree(t,this._points[1-e]);break;case 2:case 3:this._snapPoint45Degree(t,{index:this._points[3-e].index,price:this._points[3-e].price+this._priceOffset})}var s=!1;switch(e){case 0:case 1:super.setPoint(e,t,i);break;case 2:case 3:this._points[e-2].index=t.index,this._points[e-2].price=t.price-this._priceOffset;break;case 4:this._points[2]=t,this.calculatePriceDiff(),s=!0;break;case 5:var r=this._findPriceOffset(this._points[0],this._points[1],t);null!==r&&isFinite(r)&&(this._points[0].price+=r,this._points[1].price+=r,this._priceOffset-=r,s=!0)}if(e%2==0&&this._correctThirdPoint(),s&&this.linkKey){for(var o=[],a=0;a'},qgcf:function(e,t,i){"use strict";i.r(t),i.d(t,"calculateLabelPosition",(function(){return p})),i.d(t,"wordWrap",(function(){return f})),i.d(t,"TextRenderer",(function(){return I})) +;var s=i("aO4+"),r=i("Eyy1"),n=i("f6yo"),o=i("Ialn"),a=i("VdBB"),l=i("gAom"),c=i("jFln"),h=i("ogJP"),u=i("ikwP"),d=i("8Uy/");function p(e,t,i,r,n){const o=.5*(t.x+i.x);let a=i.y;return t.y>i.y?(a-=e.height/2+r.y,a=Math.max(e.height/2,a)):(a+=e.height/2+r.y,a=Math.min(n-e.height/2,a)),new s.Point(o,a)}let _;function m(){const e=document.createElement("canvas");e.width=0,e.height=0,_=Object(r.ensureNotNull)(e.getContext("2d"))}function f(e,t,i){_||m(),i=Object(h.isString)(i)?parseInt(i):i,e+="";const s=!Object(h.isNumber)(i)||!isFinite(i)||i<=0?e.split(/[^\S' '\r\n]*(?:\r\n|\r|\n|$)/):e.split(/[^\S\r\n]*(?:\r\n|\r|\n|$)/);if(s[s.length-1]||s.pop(),!Object(h.isNumber)(i)||!isFinite(i)||i<=0)return s;_.font=t;const r=[];for(let n=0;n0&&_.measureText(o.slice(0,3*--e-1).join("")).width>i;);if(e>0)r.push(o.slice(0,3*e-1).join("")),o.splice(0,3*e);else{const e=o[0]+(o[1]||"");if(a=1===a?1:~~(i/_.measureText(e).width*e.length),_.measureText(e.substr(0,a)).width<=i)for(;_.measureText(e.substr(0,a+1)).width<=i;)a++;else for(;a>1&&_.measureText(e.substr(0,--a)).width>i;);a<1&&(a=1),r.push(e.substr(0,a)),o[0]=e.substr(a),o[1]=""}if(_.measureText(o.join("")).width<=i){r.push(o.join(""));break}}}return r}function g(e,t,i){if(0===i)return e.clone();const r=(e.x-t.x)*Math.cos(i)-(e.y-t.y)*Math.sin(i)+t.x,n=(e.x-t.x)*Math.sin(i)+(e.y-t.y)*Math.cos(i)+t.y;return new s.Point(r,n)}function v(e,t){return t+2*C(e)+2*y(e)}function b(e,t){return x(e)*t+P(e)*(t-1)+2*w(e)+2*S(e)}function S(e){return void 0!==e.boxPaddingVert?e.boxPaddingVert*M(e):void 0!==e.boxPadding?e.boxPadding*M(e):x(e)/3}function y(e){return void 0!==e.boxPaddingHorz?e.boxPaddingHorz*M(e):void 0!==e.boxPadding?e.boxPadding*M(e):x(e)/3}function w(e){return(e.backgroundVertInflate||0)*M(e)}function C(e){return(e.backgroundHorzInflate||0)*M(e)}function P(e){return(e.padding||0)*M(e)}function x(e){return Math.ceil(T(e)*M(e))}function T(e){return e.fontsize||e.fontSize||30}function M(e){const t=Math.min(1,Math.max(.2,Math.min(e.scaleX||1,e.scaleY||1)));if(1===t)return t;const i=T(e);return Math.ceil(t*i)/i}class I{constructor(e,t){this._data=null,this._internalData=null,this._boxSize=null,this._linesInfo=null,this._fontInfo=null,this._hittest=t||new a.HitTestResult(a.HitTestResult.MOVEPOINT,{areaName:a.AreaName.Text}),void 0!==e&&this.setData(e)}setData(e){e.horzTextAlign||(e.horzTextAlign=e.horzAlign),function(e,t){if(null===e||null===t)return null===e==(null===t);if(void 0===e.points!=(void 0===t.points))return!1;if(void 0!==e.points&&void 0!==t.points){if(e.points.length!==t.points.length)return!1;for(let r=0;re.fillText(l,_,f)),f+=n+g;e.restore()}_getLinesMaxWidth(e){if(_||m(),_.textBaseline="alphabetic",_.font=this.fontStyle(),null!==this._data&&this._data.wordWrapWidth&&!this._data.forceCalculateMaxLineWidth)return this._data.wordWrapWidth*M(this._data);let t=0;for(const i of e)t=Math.max(t,_.measureText(i).width);return t}_getInternalData(){if(null!==this._internalData)return this._internalData;const e=Object(r.ensureNotNull)(this._data),t=this._getBoxSize(),i=t.boxWidth,s=t.boxHeight,n=Object(r.ensureDefined)(e.points)[0];let a=n.y;switch(e.vertAlign){case"bottom":a-=s+e.offsetY;break;case"middle":a-=s/2;break;case"top":a+=e.offsetY}let l=n.x;const c=y(e),h=S(e),u=C(e)+c;let d;const p=a+(w(e)+h)+x(e)/2;let _;switch(e.horzAlign){case"left":l+=e.offsetX;break;case"center":l-=i/2;break;case"right":l-=i+e.offsetX}switch(Object(r.ensureDefined)(e.horzTextAlign)){case"left":_="start",d=l+u,Object(o.isRtl)()&&(e.forceTextAlign?_="left":(d=l+i-u,_="right"));break;case"center":_="center",d=l+i/2;break;case"right":_="end",d=l+i-u,Object(o.isRtl)()&&e.forceTextAlign&&(_="right")}return{boxLeft:l,boxTop:a,boxWidth:i,boxHeight:s,textStart:d-l,textTop:p-a,textAlign:_,textBaseLine:"middle"}}_getLinesInfo(){if(null===this._linesInfo){const e=Object(r.ensureNotNull)(this._data);let t=this.wordWrap(e.text,e.wordWrapWidth);if(void 0!==e.maxHeight){const i=function(e){const t=Object(r.ensureDefined)(e.maxHeight),i=x(e),s=P(e);return Math.floor((t+s)/(i+s))}(e);t.length>i&&(t=t.slice(0,i))}this._linesInfo={linesMaxWidth:this._getLinesMaxWidth(t),lines:t}}return this._linesInfo}_getFontInfo(){if(null===this._fontInfo){const e=Object(r.ensureNotNull)(this._data),t=x(e),i=(e.bold?"bold ":"")+(e.italic?"italic ":"")+t+"px "+e.font;this._fontInfo={fontStyle:i,fontSize:t}}return this._fontInfo}_getBoxSize(){if(null===this._boxSize){const e=this._getLinesInfo(),t=Object(r.ensureNotNull)(this._data);this._boxSize={boxWidth:v(t,e.linesMaxWidth),boxHeight:b(t,e.lines.length)}}return this._boxSize}_getRotationPoint(){const{boxLeft:e,boxTop:t,boxWidth:i,boxHeight:n}=this._getInternalData(),{horzAlign:o,vertAlign:a}=Object(r.ensureNotNull)(this._data);let l,c;switch(o){case"center":l=e+i/2;break +;case"left":l=e;break;case"right":l=e+i}switch(a){case"middle":c=t+n/2;break;case"top":c=t;break;case"bottom":c=t+n}return new s.Point(l,c)}}},qocr:function(e,t,i){"use strict";function s(e,t=!1){("attachEvent"in document?"complete"===document.readyState:"loading"!==document.readyState)?t?setTimeout(()=>e(),1):e():document.addEventListener("DOMContentLoaded",()=>e())}i.d(t,"a",(function(){return s}));new Promise(e=>{s(e)})},qySK:function(e,t,i){"use strict";i.d(t,"b",(function(){return h})),i.d(t,"a",(function(){return u}));var s=i("Eyy1"),r=i("JmuD"),n=i("KG+6"),o=i("fFKx"),a=i("SqfW"),l=i("7Fue"),c=i("xWfy");function h(e){if(!Object(r.isObject)(e))throw new Error("Graphics commands should be wrapped in an object");if(Object(r.hasProperty)(e,"create"),Object(r.hasProperty)(e,"erase")){const t=e.erase;Object(s.assert)(Array.isArray(t),"Collection of erase commands should be array");for(const e of t){if(!Object(r.isObject)(e)||!Object(r.hasProperty)(e,"action"))throw new Error("Command should be an object with 'action' property");Object(s.assert)("all"===e.action||"one"===e.action,"Erase command action should be 'all' or 'one'")}}return e}class u{constructor(){this._indexes=[],this._horizlines=new Map,this._vertlines=new Map,this._lines=new Map,this._hlines=new Map,this._textmarks=new Map,this._shapemarks=new Map,this._backgrounds=new Map,this._polygons=new Map,this._trendchannels=new Map,this._hhists=new Map,this._dwglabels=new Map,this._dwgboxes=new Map,this._dwglines=new Map,this._dwgtables=new Map,this._dwgtablecells=new Map,this._hhistsByTimePointIndex=new Map}horizlines(){return this._horizlines}vertlines(){return this._vertlines}lines(){return this._lines}hlines(){return this._hlines}textmarks(){return this._textmarks}shapemarks(){return this._shapemarks}backgrounds(){return this._backgrounds}polygons(){return this._polygons}trendchannels(){return this._trendchannels}hhists(){return this._hhists}dwglabels(){return this._dwglabels}dwglines(){return this._dwglines}dwgboxes(){return this._dwgboxes}dwgtables(){return this._dwgtables}dwgtablecells(){return this._dwgtablecells}hhistsByTimePointIndex(){return this._hhistsByTimePointIndex}clear(){this._indexes=[],this._clearPrimitives()}extract(){const e=e=>e.extract(),t={indexes:this._indexes,horizlines:p(this._horizlines,e),vertlines:p(this._vertlines,e),lines:p(this._lines,e),hlines:p(this._hlines,e),textmarks:p(this._textmarks,e),shapemarks:p(this._shapemarks,e),backgrounds:p(this._backgrounds,e),polygons:p(this._polygons,e),trendchannels:p(this._trendchannels,e),hhists:p(this._hhists,e),dwglabels:p(this._dwglabels,e),dwglines:p(this._dwglines,e),dwgboxes:p(this._dwgboxes,e),dwgtables:p(this._dwgtables,e),dwgtablecells:p(this._dwgtablecells,e)};return this._hhistsByTimePointIndex=new Map,new c.a("data",t)}replaceIndexesTo(e){this._indexes=e;const t=e=>e.replaceIndexesTo(this._indexes);this._horizlines.forEach(t),this._vertlines.forEach(t),this._lines.forEach(t),this._hlines.forEach(t),this._textmarks.forEach(t),this._shapemarks.forEach(t), +this._backgrounds.forEach(t),this._polygons.forEach(t),this._trendchannels.forEach(t),this._hhists.forEach(t),this._dwglabels.forEach(t),this._dwgboxes.forEach(t),this._dwglines.forEach(t),this._dwgtables.forEach(t),this._dwgtablecells.forEach(t),this._hhistsByTimePointIndex=Object(l.b)(this._hhists)}processCommands(e,t){void 0!==e.erase&&this._processEraseCommands(e.erase),void 0!==e.create&&this._processCreateCommands(e.create,t)}_processCreateCommands(e,t){for(const i in e){if(!e.hasOwnProperty(i))continue;const r=i;switch(Object(s.assert)(r in t,`There is a '${r}' in study response, but it doesn't present in graphics info!`),r){case"hhists":_(this._hhists,e[r],t[r],this._indexes,n.c);break;case"horizlines":_(this._horizlines,e[r],t[r],this._indexes,o.b);break;case"vertlines":_(this._vertlines,e[r],t[r],this._indexes,a.b)}}this._hhistsByTimePointIndex=Object(l.b)(this._hhists)}_processEraseCommands(e){for(const t of e)if("all"===t.action)this._clearPrimitives();else{const e=e=>e.deleteById(t.id);switch(t.type){case"horizlines":this._horizlines.forEach(e);break;case"vertlines":this._vertlines.forEach(e);break;case"lines":this._lines.forEach(e);break;case"hlines":this._hlines.forEach(e);break;case"textmarks":this._textmarks.forEach(e);break;case"shapemarks":this._shapemarks.forEach(e);break;case"backgrounds":this._backgrounds.forEach(e);break;case"polygons":this._polygons.forEach(e);break;case"trendchannels":this._trendchannels.forEach(e);break;case"hhists":this._hhists.forEach(e);break;case"dwglabels":this._dwglabels.forEach(e);break;case"dwglines":this._dwglines.forEach(e);break;case"dwgboxes":this._dwgboxes.forEach(e);break;case"dwgtables":this._dwgtables.forEach(e);break;case"dwgtablecells":this._dwgtablecells.forEach(e)}}this._hhistsByTimePointIndex=Object(l.b)(this._hhists)}_clearPrimitives(){this._horizlines.clear(),this._vertlines.clear(),this._lines.clear(),this._hlines.clear(),this._textmarks.clear(),this._shapemarks.clear(),this._backgrounds.clear(),this._polygons.clear(),this._trendchannels.clear(),this._hhists.clear(),this._dwglabels.clear(),this._dwgboxes.clear(),this._dwglines.clear(),this._dwgtables.clear(),this._dwgtablecells.clear(),this._hhistsByTimePointIndex=new Map}}class d{constructor(e,t){this._primitivesDataById=new Map,this._primitiveById=new Map,this._materializePrimitive=e,this._indexes=t}forEach(e,t){this._primitiveById.forEach(i=>{e.call(t,i,i,this)})}has(e){let t=!1;return this._primitiveById.forEach(i=>{t=t||i===e}),t}get size(){return this._primitiveById.size}[Symbol.iterator](){throw new Error("Not implemented")}entries(){throw new Error("Not implemented")}keys(){throw new Error("Not implemented")}values(){throw new Error("Not implemented")}hasId(e){return this._primitiveById.has(e)}addData(e){this._primitivesDataById.set(e.id,e),this._tryMaterialize(e)}deleteById(e){this._primitiveById.delete(e),this._primitivesDataById.delete(e)}clear(){this._primitivesDataById.clear(),this._primitiveById.clear()}replaceIndexesTo(e){this._indexes=e,this._primitiveById.clear(), +this._primitivesDataById.forEach(this._tryMaterialize,this)}extract(){const e=new Set(this._primitivesDataById.values());return this._primitivesDataById=new Map,this._primitiveById.clear(),e}_tryMaterialize(e){const t=this._materializePrimitive(e,this._indexes);null!==t&&(Object(s.assert)(!this._primitiveById.has(e.id),"primitive with specified id should not exist"),this._primitiveById.set(e.id,t))}}function p(e,t){const i=new Map;return e.forEach((e,s)=>i.set(s,t(e))),i}function _(e,t,i,r,n){if(void 0!==t)for(const o of t){const t=o.styleId;void 0!==i&&Object(s.assert)(t in i,"Every style used by graphics primitive should be declared in study metainfo");let a=e.get(t);void 0===a&&(a=new d(n,r),e.set(t,a)),o.data.forEach(a.addData.bind(a))}}},rCHB:function(e,t,i){"use strict";var s;i.r(t),i.d(t,"LineToolPitchforkStyle",(function(){return s})),function(e){e[e.Original=0]="Original",e[e.Schiff=1]="Schiff",e[e.Inside=2]="Inside",e[e.Schiff2=3]="Schiff2"}(s||(s={}))},rL76:function(e,t,i){e.exports={labelwidth:"19px",labelheight:"19px",bordersize:"2px",bottommargin:"5px",gearheight:"15px",gearwidth:"15px","price-axis-stub":"price-axis-stub-1DJMiIgd",wrapper:"wrapper-1DJMiIgd",label:"label-1DJMiIgd",symbol:"symbol-1DJMiIgd",gear:"gear-1DJMiIgd","fixed-gear":"fixed-gear-1DJMiIgd","fixed-symbol":"fixed-symbol-1DJMiIgd"}},rQHv:function(e,t,i){"use strict";var s=i("IiTo"),r={};e.exports=function(e,t,i){var n,o,a={},l=r[i]||"out_of_session",c=!1,h=i,u=t,d=null;function p(){var e={};e.symbolname=h,e.status="ok",e.values={},e.values.current_session=l,r[h]=l,TradingView.ChartapiMessagerInstances[u].onQuotesData([u].concat([e]))}function _(){if(n)if(o)l="out_of_session";else{var e=s.isTradingNow((new Date).getTime(),n)?"market":"out_of_session";e!==l&&(l=e,p())}}return e(i,null,(function(e){c||function(e){n=new s.SessionInfo(e.timezone,e.session,e.holidays,e.corrections),o=e.expired,d=setInterval(_,6e4),_(),p()}(e)}),(function(){})),a.stop=function(){c=!0,d&&clearInterval(d)},a.marketStatus=function(){return l},a}},rY0k:function(e,t,i){"use strict";var s=i("xDuj").translatedIntervalString,r=i("hOqT").getTranslatedSymbolDescription,n=i("zDbI").CHART_FONT_FAMILY,o=i("di4O"),a=o.watermarkProperty,l=o.restoreWatermarkPropertyDefaults,c=i("ikwP").drawScaled;t.Watermark=function(e,t){var i={},o=a();function h(e,t){var s=e.font;return i.hasOwnProperty(s)||(i[s]={}),i[s].hasOwnProperty(t)||(i[s][t]=e.measureText(t).width),i[s][t]}o.listeners().subscribe(this,(function(){e.updateSource(this)})),this.destroy=function(){o.listeners().unsubscribeAll(this)},this.properties=function(){return o},this.restorePropertiesDefaults=function(){l()};var u={renderer:function(e,i){return{draw:function(a,l){c(a,l.pixelRatio,(function(){var l=t.symbolInfo();a.fillStyle=o.color.value();var c,u=l.name;/QUANDL/.test(l.exchange)&&((c=u.split(/\//)).length&&(u=c[c.length-1]));for(var d={description:l.description,short_description:l.short_description,pro_name:l.pro_name,short_name:l.name,local_description:l.local_description,language:l.language},p=[{ +text:u?u+", "+s(t.interval()):"",font:"96px "+n,lineHeight:117,vertOffset:0},{text:r(d)||"",font:"48px "+n,lineHeight:58,vertOffset:5}],_=0,m=0;mi?i/f:1,_+=v.lineHeight*v.zoom}}var g=Math.max((e-_)/2,0);for(m=0;me.zorder()-t.zorder())}function o(e){return e.zorder()>=s}},s9sR:function(e,t,i){"use strict";i.r(t),i.d(t,"SetResolutionUndoCommand",(function(){return o}));var s=i("RDU5"),r=i("LxhU"),n=i("n5al");class o extends s.UndoCommand{constructor(e,t,i,s){super(s),this._property=e,this._value=t,this._prevValue=e.value(),this._chartWidget=i}redo(){this._chartWidget.screen.show(),this._property.setValue(this._value),this._handleResolution(this._value)}undo(){this._chartWidget.screen.show(),this._property.setValue(this._prevValue),this._handleResolution(this._prevValue)}_handleResolution(e){const t=this._chartWidget.model().mainSeries().properties(),i=t.style.value(),s=Object(n.isRangeStyle)(i),o=r.Interval.isRange(e);!s&&o?t.style.setValue(11):s&&!o&&t.style.setValue(Object(n.getLastUsedStyle)())}}},sEk5:function(e,t,i){"use strict";var s=i("fTGZ").BarsMarksContainer,r=i("mMWL"),n=i("CCPt").UserDefinedBarsMarksTooltip;e.exports=class extends s{constructor(e){super(e),this.toolname="UserDefinedBarsMarks";var t=this;r.hideMarksOnBars().subscribe(this,(function(){t._properties.visible.setValue(!r.hideMarksOnBars().value())}))}_initialize(e){this._properties.visible.setValue(!0)}userEditEnabled(){return!1}_plateViewData(e){var t={text:e.text};return"object"==typeof e.color&&(t.theme="user_defined_theme",t.overridedTheme={},t.overridedTheme.border=e.color.border,t.overridedTheme.background=e.color.background),t}onClicked(e){var t=e.id;this._marks[t].onClicked()}clearMarks(){super.clearMarks(),this.onNeedRepaint.fire()}_getData(e){var t=this._model.mainSeries().symbolInfo();if(t){var i=this.roundRange(this._rangeDifference(e)),s=this,r=this._model.mainSeries().properties().interval.value();ChartApiInstance.getMarks(t,i.start,i.end,(function(t){t.forEach((function(e){s._marks[e.id]=e}),s),s._loadedRange=s._rangeUnion(e,s._loadedRange),s.onNeedRepaint.fire()}),r)}}_createTooltip(){return new n}updatePlateData(e,t){return t.barWidth=this.barWidth(),t.text=e.text, +t.tooltipMargin=-1*Math.max(e.minSize/2,.4*this.barWidth()),t}hasContextMenu(){return!1}calcIsActualCurrency(){this._isActualCurrency=!0}calcIsActualUnit(){this._isActualUnit=!0}}},sJA2:function(e,t,i){"use strict";i.r(t),i.d(t,"ThemesApi",(function(){return n}));var s=i("EsvI"),r=i("oiZD");class n{constructor(e){this._opts=e}isStdTheme(){const e=this._opts.chartWidgetCollection.getAll().every(e=>Object(s.isStdTheme)(Object(s.extractThemeFromModel)(e.model())));return Promise.resolve(e)}async setStdTheme(e,t=!0,i){await Object(s.loadTheme)(e,!0,!1,this._opts.chartWidgetCollection,t,i)}setStdThemeForLayout(e,t=!0){Object(r.setTheme)(e),t&&Object(s.syncTheme)()}getCurrentThemeName(){return Object(s.getCurrentTheme)().name}}},sQaR:function(e,t,i){"use strict";i.d(t,"a",(function(){return n}));var s=i("hY0g"),r=i.n(s);class n{constructor(){this._container=document.createElement("div"),this._visibility=new r.a(!1)}visible(){return this._visibility.readonly()}_setVisibility(e){this._visibility.setValue(e)}}},t2ex:function(e,t,i){"use strict";var s=i("5rJj"),r=i("Ss5c").LineDataSource,n=i("j3hX"),o=n.LineToolWidthsProperty,a=n.LineToolColorsProperty;class l extends r{constructor(e,t){super(e,t||l.createProperties()),this.version=l.version,this._properties._stateVersion=1,i.e("lt-pane-views").then(i.t.bind(null,"R7Bt",7)).then(({FibRetracementPaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}levelsCount(){return l.LevelsCount}pointsCount(){return 2}name(){return"Fib Retracement"}migrateVersion(e,t,i){1===e&&this.properties().extendLines.setValue(!0)}processErase(e,t){var i="level"+t,s=this.properties()[i].visible;e.setProperty(s,!1,"Erase level line")}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(33),i.e("lt-property-pages-with-definitions")]).then(i.bind(null,"17v9"))).FibDrawingsWith24LevelsDefinitionsViewModel}static createProperties(e){var t=new s("linetoolfibretracement",e,!1,{range:[1,24],names:["coeff","color","visible"]});return l._configureProperties(t),t}static _configureProperties(e){r._configureProperties(e);for(var t=[e.child("trendline").child("linewidth"),e.child("levelsStyle").child("linewidth")],i=[e.child("trendline").child("color")],s=1;s<=l.LevelsCount;s++)i.push(e.child("level"+s).child("color"));e.addChild("linesColors",new a(i)),e.addChild("linesWidths",new o(t))}fibLevelsBasedOnLogScale(){return this.properties().fibLevelsBasedOnLogScale.value()&&this.priceScale().isLog()}}l.version=2,l.LevelsCount=24,t.LineToolFibRetracement=l},tBG4:function(e,t,i){"use strict";i.r(t),i.d(t,"SeriesStatusView",(function(){return n}));var s=i("nBJD"),r=i("WPIy");class n extends s.a{constructor(e,t,i){super(new r.a(e,t,i)),this._invalidated=!0,this._series=e,this._series.onRestarted().subscribe(this,this.update),this._series.dataEvents().symbolResolved().subscribe(this,this.update),this._series.dataEvents().completed().subscribe(this,this.update),this._series.boxSizeValue().subscribe(this.update.bind(this)),i.childs().symbolTextSource.listeners().subscribe(this,this.update)} +getSeriesPrecision(){let e=4;const t=this._series.symbolInfo();return t&&t.pricescale&&(e=Math.round(Math.log(t.pricescale)/Math.log(10))),e}round(e){const t=this.getSeriesPrecision(),i=Math.round(e*Math.pow(10,t))/Math.pow(10,t);return i?i.toString():""}update(){this._invalidated=!0}text(){return this._updateImpl(),super.text()}color(){return this._updateImpl(),super.color()}bold(){return this._updateImpl(),super.bold()}size(){return this._updateImpl(),super.size()}getSplitTitle(){return this._updateImpl(),this._statusProvider.getSplitTitle()}_updateImpl(){this._invalidated&&(this._bold=this._statusProvider.bold(),this._size=this._statusProvider.size(),this._text=this._statusProvider.text(),this._invalidated=!1)}}},tDUI:function(e,t,i){"use strict";(function(e){var s=i("Eyy1").ensureNotNull,r=i("Ss5c").LineDataSource,n=i("gMtF").LineToolRiskRewardPriceAxisView,o=i("mMWL"),a=i("Ocx9").DefaultProperty,l=i("zXvd").NumericFormatter,c=i("wGNx").RiskRewardPointIndex,h=i("H007"),u=h.RiskRewordEntryPriceProperty,d=h.RiskRewordStopPriceProperty,p=h.RiskRewardTargetPriceProperty,_=i("ogJP").isNumber,m=i("k9/m").PlotRowSearchMode;class f extends r{constructor(t,s){var r=s;if(super(t,r),!s.stopLevel&&!s.profitLevel){var o=t.timeScale().visibleBarsStrictRange(),a=o.firstBar(),h=o.lastBar(),_=t.mainSeries().priceRange(a,h),m=t.mainSeries().priceScale();if(m.isLog()){var g=m.logicalToPrice(_.minValue()),v=m.logicalToPrice(_.maxValue());_=new e(g,v)}if(_&&!_.isEmpty()){var b=Math.round(.2*_.length()*t.mainSeries().base());r.merge({stopLevel:b,profitLevel:b})}}var S=this;r.stopLevel.listeners().subscribe(this,this.recalculate),r.stopLevel.listeners().subscribe(null,(function(){S.properties().stopPrice._listeners.fire(S.properties().stopPrice)})),r.profitLevel.listeners().subscribe(this,this.recalculate),r.profitLevel.listeners().subscribe(null,(function(){S.properties().targetPrice._listeners.fire(S.properties().targetPrice)})),r.addChild("entryPrice",new u(this)),r.addChild("stopPrice",new d(this)),r.addChild("targetPrice",new p(this)),r.addProperty("riskSize",250),r.addProperty("qty",0),r.addProperty("amountTarget",r.accountSize.value()),r.addProperty("amountStop",r.accountSize.value()),this._riskInPercentsFormatter=new l(2),this._riskInMoneyFormatter=new l,r.risk.subscribe(this,this._recalculateRiskSize),r.accountSize.subscribe(this,this._recalculateRiskSize),r.riskDisplayMode.subscribe(this,this._recalculateRisk),r.riskDisplayMode.subscribe(this,this._recalculateRiskSize),r.entryPrice.subscribe(this,this._recalculateRiskSize),r.stopPrice.subscribe(this,this._recalculateRiskSize),r.profitLevel.subscribe(this,this._recalculateRiskSize),r.profitLevel.subscribe(this,this.syncPriceLevels.bind(this)),r.stopLevel.subscribe(this,this._recalculateRiskSize),r.stopLevel.subscribe(this,this.syncPriceLevels.bind(this)),r.qty.subscribe(this,this._recalculateRiskSize),this.pointAdded().subscribe(this,e=>{switch(e){case c.Entry:case c.Close:this._recalculateRiskSize()}}),this.pointChanged().subscribe(this,e=>{switch(e){case c.Entry: +case c.Close:this._recalculateRiskSize()}}),"percents"===r.riskDisplayMode.value()&&r.risk.value()>100&&r.riskDisplayMode.setValueSilently("money"),this._syncStateExclusions=["points","entryPrice","stopPrice","targetPrice","stopLevel","profitLevel","riskSize","qty","amountTarget","amountStop","risk","accountSize"],this.version=f.version,this._entryPriceAxisView=new n(this,{colorProperty:r.linecolor,priceProperty:r.entryPrice}),this._stopPriceAxisView=new n(this,{colorProperty:r.stopBackground,priceProperty:r.stopPrice}),this._profitPriceAxisView=new n(this,{colorProperty:r.profitBackground,priceProperty:r.targetPrice}),i.e("lt-pane-views").then(i.t.bind(null,"u+oH",7)).then(({RiskRewardPaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}riskFormatter(e){return"percents"===e?this._riskInPercentsFormatter:this._riskInMoneyFormatter}getRiskStep(e){return"percents"===e?.01:1}_roundValue(e){return parseFloat(e.toFixed(2))}hasEditableCoordinates(){return!1}_recalculateRisk(){var e=this.properties(),t=e.riskDisplayMode.value(),i=e.riskSize.value(),s=e.accountSize.value(),r=e.risk.value();r="percents"===t?this._roundValue(i/s*100):this._roundValue(s/100*r),this._riskInChange=!0,e.risk.setValue(this.riskFormatter(t).format(r)),this._riskInChange=!1}_recalculateRiskSize(){if(!this._riskInChange){var e=this.properties(),t=e.risk.value(),i=e.riskDisplayMode.value(),s=e.accountSize.value();"percents"===i?e.riskSize.setValue(t/100*s):t>s?(e.risk.setValue(s),e.riskSize.setValue(s)):e.riskSize.setValue(t)}}lastBarData(){var e=this._model.mainSeries().bars().firstIndex(),t=this._model.mainSeries().bars().lastIndex();if(null===e||null===t||isNaN(e)||isNaN(t))return null;var i=this.points();if(4===i.length){var s=i[c.ActualClose];return s.index=1){var s=[];if(s.push(this._points[0]),n={price:(n=this._points[0]).price,index:this._getClosePointIndex(n.index)},s.push(n),this._points[1]&&s.push(this._points[1]),this._points[2]&&s.push(this._points[2]),this._points=s,this._timePoint.length>=1){var r=[],n=this._timePoint[0];r.push(n);var o={price:n.price,time_t:n.time_t,offset:this._getClosePointIndex(n.offset)};r.push(o),this._timePoint[1]&&s.push(this._points[1]),this._timePoint[2]&&s.push(this._points[2]),this._timePoint=r}}}checkAlert(){this.recalculate()}priceAxisViews(e,t){return this.isSourceHidden()||t!==this.priceScale()||this._model.paneForSource(this)!==e?null:[this._entryPriceAxisView,this._stopPriceAxisView,this._profitPriceAxisView]}updateAllViews(){this.isActualSymbol()&&this._properties.visible.value()&&(o.hideAllDrawings().value()&&this.userEditEnabled()||(super.updateAllViews(),this._entryPriceAxisView.update(),this._stopPriceAxisView.update(),this._profitPriceAxisView.update()))}restoreExternalState(e){ +(e=Object.assign({},e),this.isActualSymbol())||_(e.entryPrice)&&(this._timePoint[0].price=e.entryPrice,delete e.entryPrice);this.properties().merge(e)}_changeEntryPoint(e){var t=this.properties().stopPrice.value(),i=this.properties().targetPrice.value(),s=1/this._model.mainSeries().base(),r=Math.min(t,i)+s,n=Math.max(t,i)-s;e.price=Math.max(r,Math.min(n,this._roundPrice(e.price))),super.setPoint(0,e),this.properties().stopPrice.setValue(t),this.properties().targetPrice.setValue(i)}setPoint(e,t,i){if(this.isActualSymbol()){switch(this._muteSyncLineStyle(),e){case 0:this._changeEntryPoint(t);break;case 2:this.properties().stopPrice.setValue(this.preparseStopPrice(t.price));break;case 3:this.properties().targetPrice.setValue(this.preparseProfitPrice(t.price));break;case 1:t.price=this._roundPrice(t.price),super.setPoint(1,t),this.recalculate()}this._unmuteSyncLineStyleWithoutApplyingChanges(),this.syncPriceLevels()}}getPoint(e){switch(e){case 0:return this._points[0];case 1:return{index:this._points[1].index,price:this._points[0].price};case 2:return{index:this._points[0].index,price:this.stopPrice()};case 3:return{index:this._points[0].index,price:this.profitPrice()}}return null}setPoints(e){this._muteSyncLineStyle(),super.setPoints(e),this.recalculate(),this._unmuteSyncLineStyleWithoutApplyingChanges(),this.syncPriceLevels()}syncPriceLevels(){if(this.linkKey){var e=this.properties(),t={entryPrice:e.entryPrice.value(),stopLevel:e.stopLevel.value(),profitLevel:e.profitLevel.value()};o.changeLineStyle({linkKey:this.linkKey,state:t,model:this._model})}}pointsCount(){return 1}name(){return"Risk/Reward"}addPoint(e){e.price=this._roundPrice(e.price),super.addPoint(e,null,!0);var t={price:e.price,index:this._getClosePointIndex(e.index)};super._addPointIntenal(t,null,!0);var i=this.calculateActualEntry(e,t);i&&(super._addPointIntenal(i,null,!0),(t=this.findClosePoint(i,t))&&super._addPointIntenal(t,null,!0));return this._lastPoint=null,this.normalizePoints(),this.createServerPoints(),!0}setOwnerSource(e){super.setOwnerSource(e),this._model.mainSeries().symbolInfo()&&(this._recalculateAmount(),this._recalculateQty())}_roundPrice(e){var t=this._model.mainSeries().base();return Math.round(e*t)/t}recalculate(){if(0!==this.points().length){var e=this.properties().targetPrice.value(),t=this.properties().stopPrice.value(),i=[this._points[0],this._points[1]],s=this.calculateActualEntry(this.points()[0],this.points()[1]);if(s){i.push(s);var r=this.findClosePoint(s,this.points()[1]);r&&i.push(r)}this._points=i,e!==this.properties().targetPrice.value()&&this.properties().targetPrice._listeners.fire(this.properties().targetPrice),t!==this.properties().stopPrice.value()&&this.properties().stopPrice._listeners.fire(this.properties().stopPrice)}}start(){super.start(),this.recalculate()}startMoving(e,t,i){e.logical.price=this._roundPrice(e.logical.price),super.startMoving(e,t,i)}move(e,t,i){e.logical.price=this._roundPrice(e.logical.price),super.move(e,t,i),this.recalculate(),this._entryPriceAxisView.update()}_correctPoints(e){ +return!!this.isActualSymbol()&&r.prototype._correctPoints.call(this,[e[0],e[1]])}entryPrice(){return this.points()[0].price}findClosePoint(e,t){for(var i=this._model.mainSeries().bars(),r=s(i.firstIndex()),n=Math.max(e.index,r),o=s(i.lastIndex()),a=Math.min(o,t.index),l=n;l<=a;l++){var c=i.valueAt(l);if(null!==c){var h=this.checkStopPrice(c);if(null!=h)return{index:l,price:h}}}return null}calculateActualEntry(e,t){var i=this._model.mainSeries().bars();if(i.isEmpty())return null;for(var r=s(i.firstIndex()),n=Math.max(e.index,r),o=e.price,a=s(i.lastIndex()),l=Math.min(a,t.index),c=n;c<=l;c++){var h=i.valueAt(c);if(null!==h&&h[TradingView.HIGH_PLOT]>=o&&h[TradingView.LOW_PLOT]<=o)return{index:c,price:o}}return null}axisPoints(){if(!this._points[c.ActualEntry])return[];var e=this._points[c.ActualEntry],t=null;if(4===this._points.length)t=this._points[c.ActualClose];else{var i=this.lastBarData();if(!i)return[];t={index:i.index,price:i.closePrice}}return[e,t]}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(33),i.e("lt-property-pages-with-definitions")]).then(i.bind(null,"RYNR"))).RiskRewardDefinitionsViewModel}template(){var e=this.properties(),t=r.prototype.template.call(this);return t.stopLevel=e.stopLevel.value(),t.profitLevel=e.profitLevel.value(),t}_applyTemplateImpl(e){delete e.targetPrice,delete e.stopPrice,delete e.entryPrice,super._applyTemplateImpl(e);var t=this.properties();void 0!==e.stopLevel&&t.stopLevel.setValue(e.stopLevel),void 0!==e.profitLevel&&t.profitLevel.setValue(e.profitLevel)}getOrderTemplate(){return null}_propertiesStateExclusions(){return["entryPrice","stopPrice","targetPrice"]}static _configureProperties(e){r._configureProperties(e),e.addExclusion("stopLevel"),e.addExclusion("profitLevel"),e.addExclusion("stopPrice"),e.addExclusion("targetPrice"),e.addExclusion("entryPrice")}_roundQty(e){var t=this._model.mainSeries().symbolInfo();return"bitcoin"===t.type||"crypto"===t.type||"futures"===t.type?Math.round(1e3*e)/1e3:Math.floor(e)}_getClosePointIndex(e){var t=this._model.timeScale(),i=Math.round(t.width()/t.barSpacing());return e+Math.max(3,Math.round(.15*i))}}f.version=2;class g extends f{constructor(e,t){super(e,t||g.createProperties());var i=this.properties();i.entryPrice.subscribe(this,this._recalculateQty),i.stopPrice.subscribe(this,this._recalculateQty),i.riskSize.subscribe(this,this._recalculateQty),i.entryPrice.subscribe(this,this._recalculateAmount),i.profitLevel.subscribe(this,this._recalculateAmount),i.stopLevel.subscribe(this,this._recalculateAmount),i.accountSize.subscribe(this,this._recalculateAmount),i.riskSize.subscribe(this,this._recalculateAmount),i.qty.subscribe(this,this._recalculateAmount)}_recalculateQty(){if(0!==this.points().length){var e=this.properties(),t=e.entryPrice.value(),i=e.stopPrice.value(),s=e.riskSize.value(),r=this._model.mainSeries().pointValue(),n=this._roundQty(s/(Math.abs(i-t)*r));e.qty.setValue(n)}}_recalculateAmount(){if(0!==this.points().length){ +var e=this.properties(),t=e.accountSize.value(),i=e.entryPrice.value(),s=e.qty.value(),r=e.stopPrice.value(),n=e.targetPrice.value(),o=this._model.mainSeries().pointValue(),a=this._roundValue(t+(i-n)*s*o),l=this._roundValue(t-(r-i)*s*o);e.amountTarget.setValue(a),e.amountStop.setValue(l)}}name(){return"Risk/Reward short"}stopPrice(){return this.entryPrice()+this.properties().stopLevel.value()/this._model.mainSeries().base()}profitPrice(){return this.entryPrice()-this.properties().profitLevel.value()/this._model.mainSeries().base()}calculatePL(e){return this.entryPrice()-e}preparseStopPrice(e){e=this._roundPrice(e);var t=this.entryPrice()+1/this._model.mainSeries().base();return Math.max(e,t)}preparseProfitPrice(e){e=this._roundPrice(e);var t=this.entryPrice()-1/this._model.mainSeries().base();return Math.min(e,t)}checkStopPrice(e){var t=this.stopPrice(),i=this.profitPrice();return e[TradingView.HIGH_PLOT]>=t?this.stopPrice():e[TradingView.LOW_PLOT]<=i?this.profitPrice():null}_orderSide(){throw new Error("not supported")}static createProperties(e){var t=new a("linetoolriskrewardshort",e);return g._configureProperties(t),t}static _configureProperties(e){f._configureProperties(e)}}class v extends f{constructor(e,t){super(e,t||v.createProperties());var i=this.properties();i.entryPrice.subscribe(this,this._recalculateQty),i.stopPrice.subscribe(this,this._recalculateQty),i.riskSize.subscribe(this,this._recalculateQty),i.entryPrice.subscribe(this,this._recalculateAmount),i.profitLevel.subscribe(this,this._recalculateAmount),i.stopLevel.subscribe(this,this._recalculateAmount),i.accountSize.subscribe(this,this._recalculateAmount),i.riskSize.subscribe(this,this._recalculateAmount),i.qty.subscribe(this,this._recalculateAmount)}_recalculateQty(){if(0!==this.points().length){var e=this.properties(),t=e.entryPrice.value(),i=e.stopPrice.value(),s=e.riskSize.value(),r=this._model.mainSeries().pointValue(),n=this._roundQty(s/(Math.abs(t-i)*r));e.qty.setValue(n)}}_recalculateAmount(){if(0!==this.points().length){var e=this.properties(),t=e.accountSize.value(),i=e.entryPrice.value(),s=e.qty.value(),r=e.stopPrice.value(),n=e.targetPrice.value(),o=this._model.mainSeries().pointValue(),a=this._roundValue(t+(n-i)*s*o),l=this._roundValue(t-(i-r)*s*o);e.amountTarget.setValue(a),e.amountStop.setValue(l)}}stopPrice(){return this.entryPrice()-this.properties().stopLevel.value()/this._model.mainSeries().base()}profitPrice(){return this.entryPrice()+this.properties().profitLevel.value()/this._model.mainSeries().base()}calculatePL(e){return e-this.entryPrice()}preparseStopPrice(e){e=this._roundPrice(e);var t=this.entryPrice()-1/this._model.mainSeries().base();return Math.min(e,t)}preparseProfitPrice(e){e=this._roundPrice(e);var t=this.entryPrice()+1/this._model.mainSeries().base();return Math.max(e,t)}checkStopPrice(e){var t=this.stopPrice(),i=this.profitPrice();return e[TradingView.LOW_PLOT]<=t?this.stopPrice():e[TradingView.HIGH_PLOT]>=i?this.profitPrice():null}name(){return"Risk/Reward long"}_orderSide(){throw new Error("not supported")} +static createProperties(e){var t=new a("linetoolriskrewardlong",e);return v._configureProperties(t),t}static _configureProperties(e){f._configureProperties(e)}}t.LineToolRiskRewardLong=v,t.LineToolRiskRewardShort=g}).call(this,i("Qb4w").PriceRange)},tG6Q:function(e,t,i){"use strict";var s=i("Ss5c").LineDataSource,r=i("Ocx9").DefaultProperty;class n extends s{constructor(e,t){super(e,t||n.createProperties()),i.e("lt-pane-views").then(i.t.bind(null,"GS+0",7)).then(({LineToolCircleLinesPaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}pointsCount(){return 2}name(){return"Cyclic Lines"}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(33),i.e("lt-property-pages-with-definitions")]).then(i.bind(null,"LX4V"))).CyclicAndSineLinesPatternDefinitionsViewModel}static createProperties(e){var t=new r("linetoolcirclelines",e);return n._configureProperties(t),t}static _configureProperties(e){s._configureProperties(e)}}t.LineToolCircleLines=n},tWVy:function(e,t,i){"use strict";i.d(t,"a",(function(){return r})),i.d(t,"b",(function(){return n}));var s=i("aIyQ");const r=new(i.n(s).a);function n(){r.fire()}},"tc+8":function(e,t,i){"use strict";(function(t){var s=i("ogJP").isFunction;function r(e){if(this._listeners=new t,this._childs=[],this._muteChildChanges=!1,void 0!==e)if(this.isPrimitiveType(e))this._value=e;else for(var i in e)this.addProperty(i,e[i])}r.prototype.merge=function(e,t){var i=null;if(t)var s=(i=[]).length;if(void 0===e)return i;if(this.isPrimitiveType(e))return t&&this._value!==e&&i.push(this),this._value=e,i;if(Array.isArray(e))for(var r=0;rs&&i.push(this),i},r.prototype.mergeAndFire=function(e){var t=this.merge(e,!0);this._muteChildChanges=!0,t.forEach((function(e){e._muteChildChanges=!0})),t.forEach((function(e){e._muteChildChanges=!1,e.listeners().fire(e)})),this._muteChildChanges=!1,t.length>0&&this.listeners().fire(this)},r.prototype.state=function(e){var t=s(this.value)?this.value():void 0;void 0===t&&(t={});for(var i=0;i=0},r.prototype.addChild=function(e,t){this[e]&&this[e].unsubscribe(this,this.childChanged),this[e]=t,-1===this._childs.indexOf(e)&&this._childs.push(e),t.subscribe(this,this.childChanged)},r.prototype.childChanged=function(e,t){this._muteChildChanges||this.listeners().fire(this)},r.prototype.subscribe=function(e,t){this.listeners().subscribe(e,t,!1)},r.prototype.unsubscribe=function(e,t){this.listeners().unsubscribe(e,t)},r.prototype.unsubscribeAll=function(e){this.listeners().unsubscribeAll(e)},r.prototype.childs=function(){return this},e.exports=r}).call(this,i("aIyQ"))},teHb:function(e,t,i){"use strict";i.r(t),i.d(t,"ratioStudyItem",(function(){return n}));var s=i("7dm8");class r extends s.a{_doCalculation(e,t,i,s){return e*t/(i*s)}}const n={name:"Ratio",metainfo:{_metainfoVersion:15,defaults:s.b,plots:s.d,styles:s.e,description:"Ratio",shortDescription:"Ratio",is_price_study:!1,inputs:s.c,id:"Ratio@tv-basicstudies-1"},constructor:r}},tqok:function(e,t,i){"use strict";i.d(t,"a",(function(){return s}));const s=-2e6},ttUj:function(e,t,i){"use strict";i.r(t),i.d(t,"Tooltip",(function(){return d}));i("oWyD");var s=i("Ialn"),r=i("ULlu"),n=i("3t3b"),o=i("MbIA");function a(e){return"string"==typeof e&&0!==e.trim().length}function l(e,t,i=!1,n=!1){if(e.hasOwnProperty("text")){var o=n&&Object(s.forceLTRStr)(e.text)||e.text;if(e.hasOwnProperty("color")&&i){const i=document.createElement("span");i.style.cssText="color: "+e.color,r.html(i,o),t.appendChild(i)}else r.html(t,o)}else{var a=n&&Object(s.forceLTRStr)(e)||e;r.html(t,a)}return t}function c(e,t){if(Array.isArray(e)&&2===e.length){const i=document.createElement("dl");i.appendChild(l(e[0],document.createElement("dt"))),i.appendChild(l(e[1],document.createElement("dd"),!0,!0)),t.appendChild(i)}else if(e.hasOwnProperty("br")&&e.br)t.appendChild(document.createElement("br"));else{const i=document.createElement("dl");i.appendChild(l(e,document.createElement("dt"))),t.appendChild(i),e.hasOwnProperty("listItem")&&i.classList.add("list-item")}}function h(e,t){var i=Object(s.forceLTRStr)(e.text);e.attr=e.attr||{};const n=document.createElement("a");r.attr(n,"href",e.href),r.addClass(n,e.class),r.attr(n,e.attr.name,e.attr.value),r.html(n,i),t.appendChild(n)}function u(e,t,i=""){if("string"==typeof e){var a=Object(s.forceLTRStr)(e);const i=document.createElement("h2");r.html(i,a),t.appendChild(i)}else if(e.hasOwnProperty("lines"))for(let s=0;se-t) +;if(s.length<=1)t=i[s[0]];else{t=[];for(let e=s.length;e--;){const r=i[s[e]];for(let e=r.length;e--;)t.push(r[e])}}}this._tooltipContent.innerHTML="";for(let e=t.length;e--;){const i=t[e];let s="";i.hasOwnProperty("importance")?("string"==typeof i.importance&&("earnings"===i.importance?s="--importance-earnings":"splits"===i.importance?s="--importance-splits":"dividends"===i.importance?s="--importance-dividends":"list"===i.importance&&(s="--importance-list")),0===i.importance?s="--importance-normal":i.importance>0&&(s="--importance-high")):o||(s="--importance-none");let a="tv-chart-events-source__tooltip__item";s&&(a+=" "+a+s);const l=document.createElement("div");r.attr(l,"class",a),o&&(l.style.borderLeftColor=o),u(i,l,n),this._tooltipContent.appendChild(l)}this._tooltipItems=e}"bottom"===this._direction&&(this._tooltip.style.bottom=Math.round(c-i-r.contentHeight(this._tooltipContent)+10)+"px")}hide(){this._tooltipShown&&(this._tooltip.parentElement&&this._tooltip.parentElement.removeChild(this._tooltip),this._tooltipShown=!1)}isOpened(){return this._tooltipShown}getElem(){return this._tooltip}}},txPx:function(e,t,i){"use strict";i.r(t),i.d(t,"LOGLEVEL",(function(){return n})),i.d(t,"getLogLevel",(function(){return _})),i.d(t,"isHighRateEnabled",(function(){return m})),i.d(t,"setLogLevel",(function(){return f})),i.d(t,"getRawLogHistory",(function(){return g})),i.d(t,"serializeLogHistoryEntry",(function(){return v})),i.d(t,"getLogHistory",(function(){return b})),i.d(t,"getLogger",(function(){return y})),i.d(t,"loggingOn",(function(){return C})),i.d(t,"loggingOff",(function(){return P}));const s="undefined"!=typeof window?window:{};let r=!1;try{localStorage.getItem(""),r=!0}catch(T){}var n;!function(e){e[e.ERROR=1]="ERROR",e[e.WARNING=2]="WARNING",e[e.INFO=3]="INFO",e[e.NORMAL=4]="NORMAL",e[e.DEBUG=5]="DEBUG"}(n||(n={}));let o=0;const a=[];let l=null,c=null,h=null,u=NaN,d=n.WARNING,p=!1;function _(){return d}function m(){return p}function f(e){e=Math.max(n.ERROR,Math.min(n.DEBUG,e)),d=e,x()}function g(e,t){let i=a.reduce((e,t)=>e.concat(t),[]);return i.sort((e,t)=>e.id-t.id),void 0!==t&&(i=i.filter(e=>e.subSystemId===t)),"number"==typeof e&&(i=i.slice(-e)),i}function v(e){return new Date(e.timestamp).toISOString()+":"+e.subSystemId+":"+e.message.replace(/"/g,"'")}function b(e,t){return function(e,t){let i,s=0,r=0;for(i=e.length-1;i>=1&&(s+=8*(1+encodeURIComponent(e[i]).length),!(i-1>0&&(r=8*(1+encodeURIComponent(e[i-1]).length),s+r>t)));i--);return e.slice(i)}(g(e,t).map(v),75497472)}function S(e,t,i,s){if(t===c&&s.id===h)return;const r=new Date;if(e<=n.NORMAL&&function(e,t,i,s,r){const n={id:o,message:String(t),subSystemId:s,timestamp:Number(e)};o+=1,i.push(n),void 0!==r&&i.length>r&&i.splice(0,1)}(r,t,i,s.id,s.maxCount),e<=d&&(!s.highRate||m())&&(!l||s.id.match(l))){const i=r.toISOString()+":"+s.id+":"+t;switch(e){case n.DEBUG:console.debug(i);break;case n.INFO:case n.NORMAL:s.color?console.log("%c"+i,"color: "+s.color):console.log(i);break;case n.WARNING:console.warn(i);break;case n.ERROR:console.error(i)}c=t, +h=s.id,u&&clearTimeout(u),u=setTimeout(()=>{c=null,h=null,u=NaN},1e3)}}function y(e,t={}){const i=[];a.push(i);const s=Object.assign(t,{id:e});function r(e){return t=>S(e,t,i,s)}return{logDebug:r(n.DEBUG),logError:r(n.ERROR),logInfo:r(n.INFO),logNormal:r(n.NORMAL),logWarn:r(n.WARNING)}}const w=y("logger"),C=s.lon=(e,t)=>{f(n.DEBUG),w.logNormal("Debug logging enabled"),p=Boolean(e),l=t||null,x()},P=s.loff=()=>{f(n.INFO),w.logInfo("Debug logging disabled")};function x(){try{r&&(localStorage.setItem("tv.logger.logHighRate",String(p)),localStorage.setItem("tv.logger.loglevel",String(d)))}catch(e){w.logWarn(`Cannot save logger state (level: ${d}, high-rate: ${p}) to localStorage: ${e.message}`)}}!function(){p=!!r&&"true"===localStorage.getItem("tv.logger.logHighRate");let e=parseInt(r&&localStorage.getItem("tv.logger.loglevel")||"");Number.isNaN(e)&&(e=n.WARNING),f(e),w.logNormal(`Init with settings - level: ${d}, high-rate: ${p}`)}(),s.performance&&s.performance.now?w.logNormal("Sync logger and perf times, now is "+s.performance.now()):w.logWarn("Perf time is not available")},tzRX:function(e,t){e.exports=''},"u+0B":function(e,t,i){"use strict";i.d(t,"a",(function(){return r}));const s=/[2-9]/g;class r{constructor(e=50){this._actualSize=0,this._usageTick=1,this._oldestTick=1,this._tick2Labels={},this._cache={},this._maxSize=e}reset(){this._actualSize=0,this._cache={},this._usageTick=1,this._oldestTick=1,this._tick2Labels={}}measureText(e,t,i){return this._getMetrics(e,t,i).width}yMidCorrection(e,t,i){const s=this._getMetrics(e,t,i);return((s.actualBoundingBoxAscent||0)-(s.actualBoundingBoxDescent||0))/2}_getMetrics(e,t,i){const r=i||s,n=String(t).replace(r,"0");if(this._cache[n])return this._cache[n].metrics;if(this._actualSize===this._maxSize){const e=this._tick2Labels[this._oldestTick];delete this._tick2Labels[this._oldestTick],delete this._cache[e],this._oldestTick++,this._actualSize--}e.save(),e.textBaseline="middle";const o=e.measureText(n);return e.restore(),0===o.width&&t.length||(this._cache[n]={metrics:o,tick:this._usageTick},this._tick2Labels[this._usageTick]=n,this._actualSize++,this._usageTick++),o}}},u0yd:function(e,t,i){"use strict";var s=i("Zp/P").coordinateIsValid,r=i("gyZD").PaneRendererLine;t.PaneRendererArea=TradingView.PaneRendererArea=class extends r{constructor(e){e.forceLineColor=!1,super(e),this.color1=e.color1,this.color2=e.color2,this.bottom=e.bottom,this.isSeries=!!e.isSeries,this._simpleMode=e.simpleMode}_drawImpl(e){if(0!==this.items.length){ +e.translate(-.5,-.5),e.lineCap="butt",e.strokeStyle=this.lineColor,e.lineWidth=this.lineWidth,e.lineStyle=this.lineStyle,e.lineWidth=1;for(var t=0;t=0&&!s(this.items[i].y);)i--;if(!(t>i)){for(var r={},n=this.items,o=t;o<=i;o++){var a=n[o];if(h=a.style?a.style.color:this.lineColor,oi.bindToInput(e,t))}function p(e){Object(a.setLastUsedResolution)(e),l.linking.interval.setValue(e)}let _=null;function m(e){if(!Object(r.globalKeypressMatches)(e))return!1;e.preventDefault();const t=String.fromCharCode(e.charCode);return function(e){return/[\d,]/.test(e)}(t)&&n.enabled("show_interval_dialog_on_key_press")?Object(o.showChangeIntervalDialog)({callback:p,ownerDocument:e.target&&e.target.ownerDocument},t):n.enabled("symbol_search_hot_key")&&(g({defaultValue:t,selectSearchOnInit:!1,source:"keyboard"}),Object(h.trackEvent)("GUI","SS","hotkey")),!0}function f(){s.pushBackListener("symbolEdit",m)}function g(e){const t=_=Object(c.a)().then(i=>{t===_&&i.showDefaultSearchDialog(e)});return t}function v(e){return u().then(t=>t.setSearchRequestDelay(e))}},uDHo:function(e,t,i){"use strict";var s,r;function n(e,t){return"period-back"===e.type&&"period-back"===t.type?e.value===t.value:"time-range"===e.type&&"time-range"===t.type&&(e.from===t.from&&e.to===t.to)}i.r(t),i.d(t,"Helpers",(function(){return s})),i.d(t,"TIMEFRAMETYPE",(function(){return r})),i.d(t,"areEqualTimeFrames",(function(){return n})),function(e){e.extractErrorReason=function(e){return e.params[1]}}(s||(s={})),function(e){e.PeriodBack="period-back",e.TimeRange="time-range"}(r||(r={}))},ufwo:function(e,t,i){"use strict";i.r(t),i.d(t,"rangesAreEqual",(function(){return n}));var s=i("uDHo"),r=i("LxhU");function n(e,t){return!!r.Interval.isEqual(e.res,t.res)&&Object(s.areEqualTimeFrames)(e.val,t.val)} +},ulZB:function(e,t,i){"use strict";i.d(t,"a",(function(){return n})),i.d(t,"b",(function(){return o}));var s=i("aIyQ"),r=i.n(s);class n{constructor(e,t,i,s,n){this._onChange=new r.a,this._handleChange=()=>{this._onChange.fire(this.get())},this._crossTabEvents=e,this._jsonKeyValueStore=t,this.CROSSTAB_EVENT_NAME=i,this.JSON_STORE_KEY=s,this.defaultStoreValue=this._serialize(n),this._subscribe()}get(){const e=this._jsonKeyValueStore.getJSON(this.JSON_STORE_KEY,this.defaultStoreValue);return this._deserialize(e)}set(e,t){const i=this._serialize(e);this._jsonKeyValueStore.setJSON(this.JSON_STORE_KEY,i,t),this._crossTabEvents.emit(this.CROSSTAB_EVENT_NAME),this._onChange.fire(e)}getOnChange(){return this._onChange}destroy(){this._unsubscribe(),this._onChange.destroy(),delete this._onChange}_subscribe(){this._crossTabEvents.on(this.CROSSTAB_EVENT_NAME,this._handleChange),this._jsonKeyValueStore.onSync.subscribe(this,this._handleChange)}_unsubscribe(){this._crossTabEvents.off(this.CROSSTAB_EVENT_NAME,this._handleChange),this._jsonKeyValueStore.onSync.unsubscribe(this,this._handleChange)}}class o extends n{_serialize(e){return e}_deserialize(e){return e}}},"v+eZ":function(e,t,i){"use strict";i.r(t);var s=i("txPx"),r=i("25b6");function n(e,t){e.preventDefault();const i=e.clipboardData;t.text&&i.setData("text/plain",t.text),t.html&&i.setData("text/html",t.html)}var o=i("Eyy1");const a=Object(s.getLogger)("Clipboard");class l{constructor(e){this._e=e}write(e){this._e&&0===this._e.eventPhase&&(a.logWarn("Cannot use an already dispatched ClipboardEvent for writing"),this._e=null);const t=this._toRaw(e);if(!(t.files.length>0))try{return this._e?n(this._e,t):function(e){let t=!1;const i=i=>{i.stopImmediatePropagation(),n(i,e),t=!0};try{document.addEventListener("copy",i,!0),document.execCommand("copy")}finally{document.removeEventListener("copy",i,!0)}if(!t)throw new Error("Could not copy data to clipboard")}(t),Promise.resolve()}catch(i){a.logDebug("Could not write using ClipboardEvent: "+i.message)}return this._writeUsingApi(t)}async _writeUsingApi(e){if(!navigator.clipboard||!navigator.clipboard.write||!window.ClipboardItem)throw new DOMException("ClipboardApi is not supported","NotSupportedError");const t={};for(const i of e.files)t[i.type]=i;return e.text&&(t["text/plain"]=e.text),e.html&&(t["text/html"]=e.html),navigator.clipboard.write([new window.ClipboardItem(t)])}_toRaw(e){const t={files:[]};t.text=e.text,void 0!==e.app?t.html=this._serializeAppData(e.app,e.text):e.html&&(t.html=e.html);for(const i of e.files||[])t.files.push(i);return t}_serializeAppData(e,t){return`${t?Object(r.b)(t.slice(0,256)):"📈"}`}}class c{constructor(e){this._e=e}async read(){this._e&&0===this._e.eventPhase&&(a.logWarn("Cannot use an already dispatched ClipboardEvent for reading"),this._e=null);const e=this._e?this._readUsingEvent(this._e):await this._readUsingApi();return this._fromRaw(e)}_readUsingEvent(e){const t=Object(o.ensure)(e.clipboardData) +;e.preventDefault();const i={files:[]};for(let s=0;s0&&(t.files=e.files),t}_parseAppData(e){if(-1===e.slice(0,1024).indexOf("data-tradingview-clip"))return;const t=(new DOMParser).parseFromString(e,"text/html").querySelector("[data-tradingview-clip]");return t?t.getAttribute("data-tradingview-clip")||"":void 0}_readBlobAsText(e){return new Promise((t,i)=>{const s=new FileReader;s.onloadend=()=>{t(s.result)},s.onerror=()=>{i(s.error)},s.readAsText(e)})}}var h=i("d700");function u(e){const t=e.target;return null!==t&&1===t.nodeType&&Object(h.b)(t)}function d(e){const t=e.target;if(null===t)return!1;const i=(t.ownerDocument||t).getSelection();return null!==i&&!i.isCollapsed}i.d(t,"ChartClipboardHandler",(function(){return p}));class p extends class{constructor(e){this._callbacks=Object.assign({},e),this._boundOnCopy=this._onCopyEv.bind(this),this._boundOnCut=this._onCutEv.bind(this),this._boundOnPaste=this._onPasteEv.bind(this)}listen(){document.addEventListener("copy",this._boundOnCopy),document.addEventListener("cut",this._boundOnCut),document.addEventListener("paste",this._boundOnPaste)}async peek(){if("granted"!==(await navigator.permissions.query({name:"clipboard-read"})).state)throw new Error("clipboard-read is not granted");return new c(null).read()}uiRequestCopy(e){this._callbacks.copyRequested&&this._callbacks.copyRequested(new l(null),e)}uiRequestCut(e){this._callbacks.cutRequested&&this._callbacks.cutRequested(new l(null),e)}uiRequestPaste(e){this._callbacks.pasteRequested&&this._callbacks.pasteRequested(new c(null),e)}destroy(){document.removeEventListener("copy",this._boundOnCopy),document.removeEventListener("cut",this._boundOnCut),document.removeEventListener("paste",this._boundOnPaste)}_onCopyEv(e){e.defaultPrevented||this._callbacks.copyRequested&&this._callbacks.copyRequested(new l(e))}_onCutEv(e){e.defaultPrevented||this._callbacks.cutRequested&&this._callbacks.cutRequested(new l(e))}_onPasteEv(e){e.defaultPrevented||this._callbacks.pasteRequested&&this._callbacks.pasteRequested(new c(e))}}{_onCopyEv(e){if(!u(e)&&!d(e))return super._onCopyEv(e)}_onCutEv(e){if(!u(e)&&!d(e))return super._onCutEv(e)}_onPasteEv(e){ +if(!u(e))return super._onPasteEv(e)}}},v5F8:function(e,t,i){"use strict";var s=i("5rJj"),r=i("aDyP").LineToolPitchfork;class n extends r{constructor(e,t){super(e,t||n.createProperties())}name(){return"Modified Schiff Pitchfork"}static createProperties(e){var t=new s("linetoolschiffpitchfork",e,!1,{range:[0,8]});return n._configureProperties(t),t}static _configureProperties(e){r._configureProperties(e)}}t.LineToolSchiffPitchfork=n},vAx0:function(e,t,i){"use strict";var s=i("aO4+").Point,r=i("f6yo").pointInCircle,n=i("VdBB").HitTestResult,o=i("Zy3/").CompositeRenderer,a=i("ttUj").Tooltip,l=(i("GH0z").PercentageFormatter,i("55Xp").roundToFirstValuable,i("LxhU").Interval,i("jCNj").utc_to_cal),c=i("jCNj").get_timezone,h=i("3t3b").dateFormatProperty,u=i("gQ5K").DateFormatter,d=i("ikwP"),p=d.Size,_=d.createDisconnectedCanvas,m=d.getPrescaledContext2D,f=i("cPgM").ScaledPaneRenderer,g=i("z+cS").VerticalLineRenderer,v=i("zDbI").CHART_FONT_FAMILY;class b extends f{constructor(e){super(),this.data=e,this._hittest=new n(n.CUSTOM,e)}hitTest(e){return r(e,this.data.circlePoint,this.data.style.lollipop.radius)?this._hittest:null}_drawImpl(e){var t=this.data.template;e.drawImage(t,this.data.basePoint.x-(.5+this.data.style.lollipop.width/2<<0)+.5,this.data.basePoint.y-this.data.style.lollipop.height+.5,this.data.templateSize.w,this.data.templateSize.h)}}class S extends f{constructor(e,t){super(),this._data=e,this._paneView=t,this.textRenderer=new y(e.style.lollipop.importance)}_drawImpl(e){this._data.createText(this._data,this.textRenderer),this._paneView.getLastClickedLollipopId()===this._data.id?this._data.tooltip.show({items:[this.textRenderer],x:this._data.basePoint.x,y:this._data.basePoint.y-this._data.style.lollipop.circleHeight-10-2*this._data.style.lollipop.radius*(this._data.stack?this._data.stack:0),wrapElement:e.canvas.parentNode,leftBorderColor:this._data.color}):this._data.tooltip.hide()}hitTest(e){return null}}class y{constructor(e){this.lines=[],this.fontHeight=12,this.font=this.fontHeight+"px "+v,this.lineSpacing=8,this.fillStyle="black",e&&(this.importance=e)}draw(e,t){for(var i=t.y,s=0;sl&&t{e!==r.permissionDenied&&this.hide()}), +e.seriesError().subscribe(this,()=>{Object(s.enabled)("hide_loading_screen_on_series_error")&&this.hide()}),e.completed().subscribe(this,this.hide)}_show(){const e=this._cw.properties().childs().paneProperties.childs().background.value();this._shield.style.background=e,this._element.classList.add("fade")}_hide(){this._showed=!1,this._element.classList.remove("fade")}}},vq8G:function(e,t,i){"use strict";i.r(t),i.d(t,"SelectionRenderer",(function(){return o}));var s=i("VdBB"),r=i("//lt"),n=i("f6yo");class o{constructor(e){this._data=e||null}setData(e){this._data=e}draw(e,t){if(null===this._data||!this._data.visible)return;const i=t.pixelRatio;e.strokeStyle=void 0!==this._data.color?this._data.color:"#1E88E5",e.lineCap="butt";const s=Math.max(1,Math.floor(i));e.lineWidth=s;const r=this._data.vertOffset||0;for(let o=0;oObject(n.pointInBox)(t,e))}_drawMarker(e,t,i,s,r){let n=Math.round(3.5*r*2);n%2!=s%2&&(n+=1);let o=Math.round(n+2*(.5*s+.75*r));o%2!=s%2&&(o+=1);const a=Math.round(t.x*r),l=Math.round((t.y+i)*r),c=s%2/2;e.beginPath(),e.arc(a+c,l+c,o/2,0,2*Math.PI,!0),e.closePath(),e.fill(),e.beginPath(),e.arc(a+c,l+c,n/2,0,2*Math.PI,!0),e.closePath(),e.stroke()}}},vu5c:function(e,t,i){"use strict";function s(e,t){const i=()=>{e.completed().unsubscribe(null,s),t(!1)},s=()=>{e.error().unsubscribe(null,i),t(!0)};e.completed().subscribe(null,i,!0),e.error().subscribe(null,s,!0)}i.r(t),i.d(t,"onSeriesCompletedOrErrorReceived",(function(){return s}))},vwKG:function(e,t,i){"use strict";i.r(t),i.d(t,"showTooManyStudiesNotice",(function(){return r}));var s=i("brCa");function r(e){"number"!=typeof e&&(e=TradingView.STUDY_COUNT_LIMIT),Object(s.showNoticeDialog)({title:window.t("Warning"),content:window.t("Studies limit exceeded: {0} studies per layout.\nPlease, remove some studies.").format(e)})}},w4Ji:function(e,t,i){"use strict";function s(e){const t=new Map;return e.plots.forEach((e,i)=>{t.set(e.id,e=>e[i+1])}),t}function r(e,t){return null==e[t]}i.r(t),i.d(t,"studyPlotFunctionMap",(function(){return s})),i.d(t,"studyEmptyPlotValuePredicate",(function(){return r}))},w9cH:function(e,t,i){"use strict";function s(e){if(e instanceof Error)return e.stack||e.message;try{return e.outerHTML.slice(0,1024)}catch(t){}try{if(void 0!==e)return JSON.stringify(e).slice(0,1024)}catch(i){}return String(e)}function r(){window.__tv_js_errors||(window.__tv_js_errors=[]),window.addEventListener("error",e=>{const t=(new Date).toISOString() +;window.__tv_js_errors.push(`${t} ${e.message||"JS error"}. ${e.filename||""}, line ${e.lineno}, col ${e.colno}.\nError: `+s(e.error))},!1),window.addEventListener("unhandledrejection",e=>{const t=(new Date).toISOString();window.__tv_js_errors.push(t+" Unhandled rejection.\nReason: "+s(e.reason))},!1),document.addEventListener("securitypolicyviolation",e=>{var t,i;const r=(new Date).toISOString(),n="report"===e.disposition?"CSP report-only":"CSP violation";window.__tv_js_errors.push(`${r} ${n}: ${e.violatedDirective||e.effectiveDirective}. ${e.sourceFile||""}, line ${null!==(t=e.lineno)&&void 0!==t?t:e.lineNumber}, col ${null!==(i=e.colno)&&void 0!==i?i:e.columnNumber}.\nBlocked URI: ${e.blockedURL||e.blockedURI}\nSample: ${e.sample}\nTarget: `+s(e.target))},!1)}i.r(t),i.d(t,"install",(function(){return r}))},wGNx:function(e,t,i){"use strict";var s;i.r(t),i.d(t,"RiskRewardPointIndex",(function(){return s})),function(e){e[e.Entry=0]="Entry",e[e.Close=1]="Close",e[e.ActualEntry=2]="ActualEntry",e[e.ActualClose=3]="ActualClose"}(s||(s={}))},wOSo:function(e,t,i){"use strict";i.d(t,"a",(function(){return a}));var s=i("IWXC"),r=i("aIyQ"),n=i.n(r),o=i("e3/o");class a{constructor(){this._quotes=null,this._quoteSessionSymbol=null,this._quoteSessionClientId="",this._quotesUpdate=new n.a,this._quoteSymbolChanged=new n.a}setQuotesSessionSymbol(e){this._quoteSessionSymbol!==e&&(this._quoteSessionClientId||(this._quoteSessionClientId="series-"+Object(o.guid)()),this._unsubscribeQuoteSession(),this._quotes=null,e&&(this._quoteSessionSymbol=e,Object(s.getQuoteSessionInstance)("full").subscribe(this._quoteSessionClientId,this._quoteSessionSymbol,this._onUpdate.bind(this))),this._quoteSymbolChanged.fire())}quotesUpdate(){return this._quotesUpdate}quoteSymbolChanged(){return this._quoteSymbolChanged}quotes(){return this._quotes}destroy(){this._unsubscribeQuoteSession()}_onUpdate(e,t){this._quotes=e&&e.values||null,t&&t.values&&this._quotesUpdate.fire(e,t)}_unsubscribeQuoteSession(){this._quoteSessionSymbol&&(Object(s.getQuoteSessionInstance)("full").unsubscribe(this._quoteSessionClientId,this._quoteSessionSymbol),this._quoteSessionSymbol=null,this._quotes=null)}}},wVAQ:function(e,t,i){"use strict";i.r(t),i.d(t,"fetch",(function(){return r}));var s=i("txPx");Object(s.getLogger)("Fetch");function r(e,t,i={}){return window.fetch(e,t)}},wYrq:function(e,t,i){"use strict";i.r(t);var s=i("Eyy1"),r=i("aO4+"),n=i("eJTA"),o=i("Kxc7"),a=i("Hr11"),l=i("ogJP"),c=i("Tmoa"),h=i("dOnf");var u=i("VdBB"),d=i("u0yd"),p=i("Zy3/"),_=i("gyZD"),m=i("Zp8I"),f=i("k9/m"),g=i("o2pV"),v=i("vq8G"),b=i("i6cO"),S=i("Zp/P");class y{constructor(e){this._data=e}draw(e,t){const i=this._data,s=t.pixelRatio,r=Math.max(1,Math.floor(s))%2?.5:0,n=i.vertOffset||0,o=i.lineColor||i.color,a=i.lineWidth||i.height/2;let c="",h=!1;for(const u of i.items){const t=u.x,i=u.y+n;if(Object(l.isNaN)(t)||Object(l.isNaN)(i))continue;let d,p;null!=u.style?(d=u.style.color,p=u.style.width):(d=o,p=a),d!==c&&(c=d,h&&e.fill(),e.beginPath(),e.fillStyle=d) +;const _=Math.round(t*s)+r,m=Math.round(i*s)+r,f=Math.round(p*s)+r;e.moveTo(_+f,m),e.arc(_,m,f,0,2*Math.PI,!1),h=!0}h&&e.fill()}hitTest(e){const t=this._data,i=t.lineWidth||t.height/2,s=t.vertOffset||0,n=Object(S.interactionTolerance)().series+i;for(const o of t.items){if(!o)continue;if(new r.Point(o.x,o.y+s).subtract(e).length()+i<=n)return new u.HitTestResult(u.HitTestResult.REGULAR)}return null}}class w{constructor(e){this._data=null,this._precalculatedCache=[],this.setData(e)}setData(e){this._data=e,this._precalculatedCache=[]}draw(e,t){if(null===this._data||0===this._data.items.length)return;const i=t.pixelRatio;this._precalculatedCache.length||this._fillPrecalculatedCache(i);const s=Math.max(1,Math.floor(i)),r=Math.round(this._data.histogramBase*i)-Math.floor(s/2),n=r+s,o=this._data.lineColor;for(let a=0;a=i&&t<=s){const t=r.y;if(e.y>=Math.min(t,this._data.histogramBase)&&e.y<=Math.max(t,this._data.histogramBase))return new u.HitTestResult(u.HitTestResult.REGULAR)}}return null}_fillPrecalculatedCache(e){if(null===this._data||0===this._data.items.length)return void(this._precalculatedCache=[]);const t=Math.ceil(this._data.barSpacing*e)<=1?0:Math.max(1,Math.floor(e)),i=Math.round(this._data.barSpacing*e)-t;this._precalculatedCache=new Array(this._data.items.length);for(let r=0;ri.center?i.right=e.left-t-1:e.left=i.right+t+1))}let s=Math.ceil(this._data.barSpacing*e);for(let r=0;r0&&s<4)for(let r=0;rs&&(e.roundedCenter>e.center?e.right-=1:e.left+=1)}}}var C=i("GEp6");class P{constructor(e){this._data=e}draw(e,t){var i,s,r,n;const o=t.pixelRatio;let a="",c=!1;for(const h of this._data.items){if(Object(l.isNaN)(h.x)||Object(l.isNaN)(h.y))continue;const t=null!==(s=null===(i=h.style)||void 0===i?void 0:i.color)&&void 0!==s?s:this._data.lineColor,u=Math.max(1,Math.floor((null!==(n=null===(r=h.style)||void 0===r?void 0:r.width)&&void 0!==n?n:this._data.lineWidth)*o));t!==a&&(a=t,c&&e.fill(),e.beginPath(),e.fillStyle=t);let d=3*u;d%2!=u%2&&(d+=1) +;const p=Math.round(Math.round(h.x*o)-d/2),_=Math.round(Math.round(h.y*o)-d/2),m=p+Math.floor(d/2-u/2),f=_+Math.floor(d/2-u/2);e.rect(p,f,d,u),e.rect(m,_,u,d),c=!0}c&&e.fill()}hitTest(e){const t=Object(S.interactionTolerance)().series+this._data.lineWidth/2;let i,s,n,o;for(let a=1;a{const t=Object(n.rgbToHsl)(Object(n.parseRgb)(e)),i=t[0]+.05;return t[0]=i-Math.floor(i),Object(n.rgbToHexString)(Object(n.hslToRgb)(t))},L=function(e,t){const i=new Map;return function(...s){const r=""+(t?t.apply(null,s):s[0]);if(!i.has(r)){const t=e.apply(this,s);return i.set(r,t),t}return i.get(r)}}(I);class O{constructor(e,t,i,s){this._histogramBase=null,this._items=[],this._selectionData=null,this._lineColor="",this._lineWidth=1,this._color1="",this._color2="",this._invalidated=!1,this._isMarkersEnabled=o.enabled("source_selection_markers"),this._study=e,this._series=t,this._model=i,this._plotName=s,this._plotIndex=e.metaInfo().plots.findIndex(e=>e.id===s),this._colorProvider=Object(M.createStudyPlotColorProvider)(e.metaInfo(),e.properties(),s),this._selectionIndexer=new g.SelectionIndexes(i.timeScale())}items(){return this._items}update(){this._invalidated=!0}renderer(){const e=this._study.properties().styles[this._plotName];if(!e.visible.value())return null;if(!this._study.priceScale())return null;this._invalidated&&(this._updateImpl(),this._invalidated=!1);const t={};t.barSpacing=this._model.timeScale().barSpacing(),t.items=this._items,t.histogramBase=this._histogramBase?this._histogramBase:Object(s.ensureNotNull)(this._study.priceScale()).height(),t.lineIndex=0,t.lineStyle=e.linestyle.value(),t.lineColor=this._lineColor,t.lineWidth=this._lineWidth, +t.lineWidth=Object(l.isNumber)(t.lineWidth)?t.lineWidth:1,t.color1=this._color1,t.color2=this._color2,t.bottom=t.histogramBase,t.simpleMode=this._colorProvider.singleColor();const i=new p.CompositeRenderer,r=!!e.joinPoints&&e.joinPoints.value();switch(e.plottype.value()){case T.LineStudyPlotStyle.Line:case T.LineStudyPlotStyle.LineWithBreaks:i.append(new _.PaneRendererLine(t));break;case T.LineStudyPlotStyle.Area:case T.LineStudyPlotStyle.AreaWithBreaks:i.append(new d.PaneRendererArea(t));break;case T.LineStudyPlotStyle.Histogram:i.append(new x(t));break;case T.LineStudyPlotStyle.Columns:i.append(new w(t));break;case T.LineStudyPlotStyle.Cross:if(i.append(new P(t)),r){const e=Object(h.deepCopy)(t);e.lineWidth=1,e.forceLineWidth=!0,i.append(new _.PaneRendererLine(e))}break;case T.LineStudyPlotStyle.Circles:if(i.append(new y(t)),r){const e=Object(h.deepCopy)(t);e.lineWidth=1,e.ignorePaletteLineWidth=!0,i.append(new _.PaneRendererLine(e))}break;case T.LineStudyPlotStyle.StepLine:{const e=new m.PaneRendererStepLine;e.setData(t),i.append(e);break}default:i.append(new _.PaneRendererLine(t))}return this._model.selection().isSelected(this._study)&&this._isMarkersEnabled&&this._selectionData&&i.append(new v.SelectionRenderer(this._selectionData)),i}_getTranspValue(){const e=this._study.properties(),t=e.styles[this._plotName];let i=0;const s=this._study.metaInfo();return"Volume@tv-basicstudies"===s.id&&s.version<=46&&"transparency"in e?(i=e.transparency.value(),i=Object(l.isNumber)(i)?i:0,i):(t.transparency&&(i=t.transparency.value(),i=Object(l.isNumber)(i)?i:0),i)}_updateImpl(){var e,t,i,n,o;this._histogramBase=null,this._items=[];const l=this._study.priceScale();if(this._model.timeScale().isEmpty()||null===l||l.isEmpty())return;const h=this._model.timeScale().visibleBarsStrictRange();if(null===h)return;let d=null!==(e=this._series.nearestIndex(h.firstBar()-1,f.PlotRowSearchMode.NearestLeft))&&void 0!==e?e:this._series.bars().firstIndex(),p=null!==(t=this._series.nearestIndex(h.lastBar()+1,f.PlotRowSearchMode.NearestRight))&&void 0!==t?t:this._series.bars().lastIndex();if(null===d||null===p)return;const _=this._study.offset(this._plotName);_>0?(d-=_,p+=_):(d+=_,p-=_);const m=this._study.getMinFirstBarIndexForPlot(this._plotName);if(m>p)return;d=Math.max(m,d);const g=this._study.properties().styles[this._plotName],v=g.plottype.value(),S=[T.LineStudyPlotStyle.Line,T.LineStudyPlotStyle.Area,T.LineStudyPlotStyle.Circles,T.LineStudyPlotStyle.Cross].indexOf(v)>=0,y=this._study.data(),w=this._study.firstValue();if(null===w)return;const C=y.rangeIterator(d,p),P=this._study.priceScale();if(null===P)return;const x=Object(a.clamp)(this._getTranspValue(),0,100),M=new Map,O=(e,t)=>{let i=M.get(e);void 0===i&&(i=new Map,M.set(e,i));let s=i.get(t);if(void 0===s){const r=!this._plotName||"vol"!==this._plotName;s=Object(c.generateColor)(e,t,r),i.set(t,s)}return s};let A=NaN;const E=Object(b.createEmptyStyle)();for(;C.hasNext();){const e=C.next();let t=e.index;const o=e.value;t+=_,t=Math.floor(t);let a=o[this._plotIndex+1];const l=null==a +;if(a=l?NaN:a,S&&l)continue;const h=new r.Point(t,Object(s.ensure)(a));h.timePointIndex=t;if(this._colorProvider.isColorDefined()&&(h.style={color:O(g.color.value(),100),width:g.linewidth.value(),style:g.linestyle.value()},null!=a)){const e=this._colorProvider.getPlotPointStyle(o,E),t=e.colors[b.ColorerType.Main];void 0!==t&&(h.style.color=Object(c.isHexColor)(t)?O(t,x):t),h.style.width=null!==(i=e.lineWidth)&&void 0!==i?i:h.style.width,h.style.style=null!==(n=e.lineStyle)&&void 0!==n?n:h.style.style}S||isNaN(A)||A===t-1||this._items.push(new r.Point(t-1,NaN)),A=t,this._items.push(h)}if(P.pointsArrayToCoordinates(this._items,w),this._model.timeScale().timedValuesToCoordinates(this._items),g.histogramBase&&(this._histogramBase=P.priceToCoordinate(g.histogramBase.value(),w)),this._model.selection().isSelected(this._study)){const e=this._selectionIndexer.indexes();this._selectionData={points:[],bgColors:[],visible:!0,hittestResult:u.HitTestResult.REGULAR,barSpacing:this._model.timeScale().barSpacing()};const t=Object(s.ensureNotNull)(this._model.paneForSource(this._study)).height();for(let i=0;i1?h(e[r],t.slice(1),i):(e[r]&&e[r].setValue?e[r].setValue(i):e[r]=i,!0))}function u(e){i||m.logWarn("Path `"+e+"` does not exist.")}}function b(e,t,i,s){window.__defaultsOverrides&&v(e,t,i,window.__defaultsOverrides,s)}function S(){var e=/^linetool.+/;Object.keys(TradingView.defaultProperties).forEach((function(t){e.test(t)&&b(TradingView.defaultProperties[t],null,!1,t)}))}function y(e,t){return t?function(e,t){var i=g(e);if(!window._UNIT_TESTS){var s=TradingView.clone(TVSettings.getJSON(e,null));if(function(e){var t=new Set(["linetoolregressiontrend"]);return e.startsWith("study_")||t.has(e)}(e)&&s&&function(e){if(!e)return!1;e=e.toString();var t=new RegExp("\\d+").exec(e);return null!==t&&t[0]===e}(s.version)){var r=s.inputs,n=t.updateStudyInputs(s.id,s.version,"last",r,null);s.inputs=n;var o=t.updateStudyState(s,s);s=o}TradingView.merge(i,s)}return i}(e,t):function(e){var t=g(e);if(!window._UNIT_TESTS){var i=TradingView.clone(TVSettings.getJSON(e,null));i&&TradingView.merge(t,i)}return t}(e)}y.create=function(e,t){if(t){var i=g(e);TradingView.defaultProperties[e]=Object.assign(t,i)}},y.remove=function(e){TradingView.defaultProperties[e]=void 0},TradingView.saveDefaults=function(e,t){TVSettings.setJSON(e,t)},TradingView.factoryDefaults=g,window.applyDefaultOverridesToLinetools=S,window.applyDefaultsOverrides=b,window.applyPropertiesOverrides=v,window.defaults=y,t.applyDefaultOverridesToLinetools=S,t.applyDefaultsOverrides=b,t.applyPropertiesOverrides=v,t.defaults=y,t.factoryDefaults=g,t.saveDefaults=TradingView.saveDefaults},wamh:function(e,t,i){"use strict";i.r(t),i.d(t,"ChangeToolBarsThemeUndoCommand",(function(){return o}));var s=i("EsvI"),r=i("oiZD"),n=i("RDU5");class o extends n.UndoCommand{constructor(e,t,i=!0){super("Apply Toolbars Theme"),this._prevThemeName=e,this._themeName=t,this._syncState=i}undo(){Object(s.isStdThemeName)(this._prevThemeName)&&(Object(r.setTheme)(this._prevThemeName),this._syncState&&Object(s.syncTheme)())}redo(){Object(s.isStdThemeName)(this._themeName.toLowerCase())&&(Object(r.setTheme)(this._themeName.toLowerCase()),this._syncState&&Object(s.syncTheme)())}}},wi9r:function(e,t,i){"use strict";(function(e){var t=i("e3/o").randomHash;function s(e){ +this._chartApi=e,this._sessionid="qs_"+t(),this._sessionstarted=!1}s.prototype.destroy=function(){this._sessionstarted&&(this._chartApi.quoteDeleteSession(this._sessionid),this._sessionid=null,this._sessionstarted=!1)},s.prototype.connected=function(){return this._chartApi.connected()},s.prototype.connect=function(e){this._globalHandler=e,this._chartApi.createSession(this._sessionid,this),this._chartApi.connect()},s.prototype.disconnect=function(){this._chartApi.disconnect()},s.prototype.quoteAddSymbols=function(e,t){e=[].concat(e),t&&t.forcePermission&&(e=e.concat({flags:["force_permission"]})),this._chartApi.quoteAddSymbols(this._sessionid,e)},s.prototype.quoteRemoveSymbols=function(e){this._chartApi.quoteRemoveSymbols(this._sessionid,e)},s.prototype.quoteFastSymbols=function(e){this._chartApi.quoteFastSymbols(this._sessionid,e)},s.prototype.quoteSetFields=function(e){this._chartApi.quoteSetFields(this._sessionid,e)},s.prototype.onMessage=function(e){switch(e.method){case"connected":this._sessionstarted||(this._chartApi.quoteCreateSession(this._sessionid),this._sessionstarted=!0);break;case"disconnected":this._sessionstarted=!1}this._globalHandler(e)},s.prototype.quoteHibernateAll=function(e){this._chartApi.quoteHibernateAll(this._sessionid)},TradingView.QuoteSession=s,e&&e.exports&&(e.exports=s)}).call(this,i("YuTi")(e))},wiuq:function(e,t,i){"use strict";i.r(t),i.d(t,"LineToolArrowMarker",(function(){return a}));var s=i("Ss5c"),r=i("Ocx9"),n=i("tc+8"),o=i.n(n);class a extends s.LineDataSource{constructor(e,t){super(e,t||a.createProperties()),i.e("lt-pane-views").then(i.bind(null,"Qa6j")).then(({ArrowMarkerPaneView:e})=>{this._setPaneViews([new e(this,this.model())])})}pointsCount(){return 2}name(){return"Trend Line"}static createProperties(e){const t=new r.DefaultProperty("linetoolarrowmarker",e);return a._configureProperties(t),t}_getPropertyDefinitionsViewModelClass(){return Promise.all([i.e(33),i.e("lt-property-pages-with-definitions")]).then(i.bind(null,"FxV7")).then(e=>e.ArrowMarkerDefinitionsViewModel)}static _configureProperties(e){s.LineDataSource._configureProperties(e),e.hasChild("text")||e.addChild("text",new o.a("")),e.addExclusion("text")}}},wjVR:function(e,t,i){"use strict";i.r(t);var s=i("Eyy1"),r=i("qFKp"),n=i("jofe"),o=i("FQhm"),a=i("sQaR");let l;class c extends a.a{constructor(){super(),this._dialog=null,this._subscribe=e=>{this._setVisibility(e)}}show(){this._load().then(e=>e.show())}hide(){var e;null===(e=this._dialog)||void 0===e||e.hide()}static getInstance(){return l||(l=new c),l}_load(){return Promise.all([i.e("redux"),i.e("react"),i.e(1),i.e(2),i.e(3),i.e(6),i.e(7),i.e(8),i.e(9),i.e(11),i.e(13),i.e(16),i.e(20),i.e(22),i.e(24),i.e(35),i.e(42),i.e(50),i.e(64),i.e(72),i.e(78),i.e(0),i.e(5),i.e(4),i.e(10),i.e(14),i.e(12),i.e(29),i.e(38),i.e(65),i.e(56),i.e("object-tree-dialog")]).then(i.bind(null,"xNz2")).then(e=>{var t,i;return null===(t=this._dialog)||void 0===t||t.hide(),null===(i=this._dialog)||void 0===i||i.visible().unsubscribe(this._subscribe), +this._dialog=new e.ObjectTreeDialogRenderer,this._dialog.visible().subscribe(this._subscribe),this._dialog})}}var h=i("ogJP"),u=i("dDSx");var d=i("CW80"),p=i("3ClC"),_=i("H0vP"),m=i("mkn5"),f=i("eJTA"),g=i("Hr11"),v=i("S8xo"),b=i("ikwP");i("bc0y");class S{constructor(e,t,i){this._handleEl=null,this._startY=0,this._deltaY=0,this._totalHeight=0,this._totalStretch=0,this._prevStretchA=0,this._minPaneHeight=0,this._maxPaneHeight=0,this._pixelStretchFactor=0,this._colorCache={lineColor:"",backgroundColor:"",color:""},this._chart=e,this._paneA=e.paneWidgets()[t],this._paneB=e.paneWidgets()[i],this._row=document.createElement("tr"),this._row.style.height="1px",this._cell=document.createElement("td"),this._row.appendChild(this._cell),this._cell.classList.add("pane-separator"),this._cell.setAttribute("colspan","3"),this._cell.style.background=this._color(),this._cell.addEventListener("click",()=>{});const s=document.createElement("div");s.classList.add("handle"),this._cell.appendChild(s),this._mouseEventHandler=new v.MouseEventHandler(s,this,{treatVertTouchDragAsPageScroll:!1,treatHorzTouchDragAsPageScroll:!0}),this._handleEl=s}destroy(){this._mouseEventHandler.destroy(),this._row.parentElement&&this._row.parentElement.removeChild(this._row)}getElement(){return this._row}hide(){this._row.classList.add("js-hidden")}show(){this._row.classList.remove("js-hidden")}mouseDownEvent(e){this._mouseDownOrTouchStartEvent(e)}touchStartEvent(e){this._mouseDownOrTouchStartEvent(e)}pressedMouseMoveEvent(e){this._pressedMouseOrTouchMoveEvent(e)}touchMoveEvent(e){this._pressedMouseOrTouchMoveEvent(e)}mouseUpEvent(e){this._mouseUpOrTouchEndEvent(e)}touchEndEvent(e){this._mouseUpOrTouchEndEvent(e)}update(){this._cell.style.background=this._color().toString()}paint(){}image(){const e=this._paneA.leftPriceAxisesContainer().getWidth(),t=this._paneA.width(),i=this._paneA.rightPriceAxisesContainer().getWidth(),s=this._color(),r=Object(b.createDisconnectedCanvas)(document,new b.Size(e,1)),n=Object(b.getPrescaledContext2D)(r);n.fillStyle=s,n.fillRect(0,0,e,1);const o=Object(b.createDisconnectedCanvas)(document,new b.Size(t,1)),a=Object(b.getPrescaledContext2D)(o);a.fillStyle=s,a.fillRect(0,0,t,1);const l=Object(b.createDisconnectedCanvas)(document,new b.Size(i,1)),c=Object(b.getPrescaledContext2D)(l);return c.fillStyle=s,c.fillRect(0,0,i,1),{type:"separator",leftAxis:{content:r.toDataURL(),canvas:r,contentWidth:e,contentHeight:1},rightAxis:{content:l.toDataURL(),canvas:l,contentWidth:i,contentHeight:1},content:o.toDataURL(),canvas:o,contentWidth:t,contentHeight:1}}static height(){return 1}_mouseDownOrTouchStartEvent(e){this._startY=e.pageY,this._deltaY=0,this._totalHeight=this._paneA.height()+this._paneB.height(),this._totalStretch=this._paneA.state().stretchFactor()+this._paneB.state().stretchFactor(),this._prevStretchA=this._paneA.state().stretchFactor(),this._minPaneHeight=30,this._maxPaneHeight=this._totalHeight-this._minPaneHeight,this._pixelStretchFactor=this._totalStretch/this._totalHeight, +Object(s.ensureNotNull)(this._handleEl).classList.add("i-active")}_pressedMouseOrTouchMoveEvent(e){this._deltaY=e.pageY-this._startY;const t=this._paneA.height(),i=Object(g.clamp)(t+this._deltaY,this._minPaneHeight,this._maxPaneHeight)*this._pixelStretchFactor,s=this._totalStretch-i;this._paneA.state().setStretchFactor(i),this._paneB.state().setStretchFactor(s),this._chart.adjustSize(),this._paneA.height()!==t&&(this._startY=e.pageY),this._chart.model().model().fullUpdate()}_mouseUpOrTouchEndEvent(e){this._chart.model().addPaneStretchFactorUndoCommand(this._paneA.state(),this._paneB.state(),this._prevStretchA,this._paneA.state().stretchFactor()),this._startY=0,this._deltaY=0,this._totalHeight=0,this._totalStretch=0,this._minPaneHeight=0,this._maxPaneHeight=0,this._pixelStretchFactor=0,Object(s.ensureNotNull)(this._handleEl).classList.remove("i-active")}_color(){const e=this._chart.properties().childs().scalesProperties.childs().lineColor.value(),t=this._chart.model().model().backgroundColor().value();if(this._colorCache.lineColor!==e||this._colorCache.backgroundColor!==t){const i=Object(f.parseRgba)(t),s=Object(f.parseRgba)(e),r=0===i[3]&&0===s[3]?"rgba(0,0,0,0)":Object(f.rgbaToString)(Object(f.blendRgba)(i,s));this._colorCache={lineColor:e,backgroundColor:t,color:r}}return this._colorCache.color}}var y=i("mMWL"),w=i("KnF9"),C=i("VaSN"),P=i("aIyQ"),x=i.n(P),T=i("hY0g"),M=i.n(T),I=i("Tmoa"),L=i("EsvI");const O={moving:"wait_finishing",wait_finishing:"stop",stop:"moving"};class A{constructor(e){this._chartModel=null,this._currentDistance=0,this._deferredFinishTimeout=0,this._finishingTimeout=0,this._moveType="",this._startTime=0,this._state="stop",this._movingTimeout=0,this._chart=e,this._chart.withModel(this,()=>{this._chartModel=this._chart.model()})}destroy(){clearTimeout(this._movingTimeout)}move(e){if(null!==this._chartModel&&"stop"===this._state&&this._chartModel.beginUndoMacro(1===e?"Move Left":"Move Right"),this._state=O.stop,this._moveType="animated",this._deferredFinishTimeout&&(clearTimeout(this._deferredFinishTimeout),this._deferredFinishTimeout=0),this._finishingTimeout&&(clearTimeout(this._finishingTimeout),this._finishingTimeout=0),this._startTime=Date.now(),0===this._movingTimeout){const t=this._startTime,i=10,s=()=>{this.moveStep(t,0,50*e,1e3),this._movingTimeout=setTimeout(s,i)};this._movingTimeout=setTimeout(s,i)}}moveStep(e,t,i,s){if(null!==this._chartModel&&!this._chartModel.timeScale().isEmpty()){const r=Date.now();r1||!isFinite(n))&&(n=1);const o=1-Math.pow(1-n,3);return this._currentDistance=(i-t)*o+t,this._chartModel.scrollChart(this._currentDistance),n}}moveByBar(e){if(null!==this._chartModel){const t=this._chartModel.timeScale();if(t.isEmpty())return;if("stop"===this._state&&this._chartModel.beginUndoMacro(1===e?"Move Left":"Move Right"),null!==t.visibleBarsStrictRange()){const e=t.indexToCoordinate(t.visibleBarsStrictRange().lastBar())+t.barSpacing()/2;Math.abs(t.width()-e)>t.barSpacing()/6&&this._chartModel.scrollChart(t.width()-e)}if(this._state=O.stop, +this._moveType="by_bar",this._startTime=Date.now(),!this._movingTimeout){let t=0,i=150;const s=400,r=()=>{this._moveByBarStep(e),t++,i>100&&(i-=t/5*20),this._movingTimeout=setTimeout(r,i)};this._movingTimeout=setTimeout(r,s),this._moveByBarStep(e)}}}stopMove(){"by_bar"===this._moveType?this.stopMoveByBar():this._stopMove()}stopMoveByBar(){"moving"===this._state&&(clearTimeout(this._movingTimeout),this._movingTimeout=0,this._state=O.wait_finishing,this._moveType="",this._movingTimeout=0,this._currentDistance=0,null!==this._chartModel&&this._chartModel.endUndoMacro())}_finishMove(){clearTimeout(this._movingTimeout),this._movingTimeout=0,this._deferredFinishTimeout=0;const e=this._currentDistance,t=Date.now(),i=()=>{const s=this.moveStep(t,e,0,700);s&&s<1?this._finishingTimeout=setTimeout(i,10):null!==this._chartModel&&(this._state=O.wait_finishing,this._moveType="",this._movingTimeout=0,this._currentDistance=0,this._chartModel.endUndoMacro())};this._finishingTimeout=setTimeout(i,10)}_stopMove(){"moving"===this._state&&(this._state=O.moving,Date.now()-this._startTime<200?this._deferredFinishTimeout=setTimeout(this._finishMove.bind(this),200-(Date.now()-this._startTime)):this._finishMove())}_moveByBarStep(e){if(null!==this._chartModel){if(this._chartModel.timeScale().isEmpty())return;this._chartModel.scrollChartByBar(e)}}}var E=i("m/3z"),k=i("Kxc7");class D{constructor(){this._totalDeltaX=0,this._totalDeltaY=0,this._prevWheelTime=0}processWheel(e){e.timeStamp-this._prevWheelTime>100&&this._reset(),this._totalDeltaX+=e.deltaX,this._totalDeltaY+=e.deltaY,this._prevWheelTime=e.timeStamp;const t={deltaX:e.deltaX,deltaY:e.deltaY};return 0===this._totalDeltaX||0===this._totalDeltaY||(Math.abs(this._totalDeltaX)>=Math.abs(3*this._totalDeltaY)&&(t.deltaY=0),Math.abs(this._totalDeltaY)>=Math.abs(3*this._totalDeltaX)&&(t.deltaX=0)),t}_reset(){this._totalDeltaX=0,this._totalDeltaY=0}}var V=i("n5al"),B=i("pPtI");i("brCa");class R{constructor(){this._draggingSource=null,this._activeTouchPanes=new Set,this._scrollingPane=null,this._pinchingPane=null}onPaneDestroyed(e){this._activeTouchPanes.delete(e),this._scrollingPane===e&&(this._scrollingPane=null),this._pinchingPane===e&&(this._pinchingPane=null)}startTouch(e){this._activeTouchPanes.add(e)}endTouch(e){this._activeTouchPanes.delete(e)}hasTouchesOnOtherPanes(e){return this._activeTouchPanes.size>1||1===this._activeTouchPanes.size&&!this._activeTouchPanes.has(e)}trySetDraggingSource(e,t){return!this.hasTouchesOnOtherPanes(t)&&(Object(s.assert)(null===this._draggingSource||this._draggingSource===e),this._draggingSource=e,!0)}clearDraggingSource(){null!==this._draggingSource&&(this._draggingSource=null)}draggingSource(){return this._draggingSource}setScrollingPane(e){Object(s.assert)(null===e||null===this._scrollingPane),this._scrollingPane=e}scrollingPane(){return this._scrollingPane}setPinchingPane(e){Object(s.assert)(null===e||null===this._pinchingPane),this._pinchingPane=e}pinchingPane(){return this._pinchingPane}}i.d(t,"ChartWidgetBase",(function(){return W})) +;const N=Object(k.enabled)("chart_content_overrides_by_defaults"),j={addToWatchlistEnabled:!0,showFinancialsEnabled:!1,sourceSelectionEnabled:!0,propertyPagesEnabled:!0,paneContextMenuEnabled:!0,priceScaleContextMenuEnabled:!0,currencyConversionEnabled:!1,unitConversionEnabled:!1,goToDateEnabled:!1,marketStatusWidgetEnabled:!0,chartWarningWidgetEnabled:!0,dataProblemWidgetEnabled:!0,paneControlsEnabled:!0,isSymbolAvailable:e=>Promise.resolve(!0),legendWidgetEnabled:!0,chartEventsEnabled:!0,esdEnabled:!1,croppedTickMarks:!0,countdownEnabled:!0,useKineticScroll:r.CheckMobile.any(),handleScale:{mouseWheel:!0,pinch:!0,axisPressedMouseMove:{time:!0,price:!0}},handleScroll:{mouseWheel:!0,pressedMouseMove:!0,horzTouchDrag:!0,vertTouchDrag:!0}};function F(e,t,i,s=0){const r=t.mainSeries().syncModel(),n=e.mainSeries().syncModel();let o=i;if(null!==r&&null!==n){const t=e.createSyncPoint(r,n);0!==s&&(i=r.projectTime(i,s)),o=t.sourceTimeToTargetTime(i)}return e.timeScale().points().roughIndex(o,n&&n.distance.bind(n))}class W{constructor(e,t,i){this.activePaneWidget=null,this._model=null,this._paneWidgets=[],this._maximizedPaneWidget=null,this._timeAxisWidget=null,this._paneSeparators=[],this._controlBarNavigation=null,this._lineToolsSynchronizer=null,this._modelCreated=new x.a,this._isDestroyed=!1,this._customLegendWidgetsFactoryMap=new Map,this._backgroundTopTheme=new M.a("light"),this._backgroundBasedTheme=new M.a("light"),this._backgroundBottomTheme=new M.a("light"),this._lhsAxesWidth=0,this._rhsAxesWidth=0,this._lhsPriceAxisWidthChanged=new x.a,this._rhsPriceAxisWidthChanged=new x.a,this._mainDiv=null,this._parent=null,this._elTooltipDiv=null,this._hotkeysListener=null,this._mouseWheelHelper=null,this._onWheelBound=null,this._justActivated=!1,this._inited=!1,this._containsData=!1,this._initialLoading=!1,this._defTimeframe=void 0,this._removeMaximizeHotkey=null,this._metaInfoRepository=null,this._invalidationMask=null,this._drawPlanned=!1,this._drawRafId=0,this._inLoadingState=!1,this._timingsMeter=null,this._tagsChanged=new x.a,this._redraw=new x.a,this._updateThemedColorBound=this._updateThemedColor.bind(this),this._saveChartService=null,this._objectTreeDialogController=null,this._chartPaintedPromise=null,this._noExchangeSubscrptionWarning=null,this._paneWidgetsSharedState=new R,this._id=t,this._layoutId=i,this._options=Object(h.merge)(Object(h.clone)(j),e),this._options.customLegendWidgetFactories&&(this._customLegendWidgetsFactoryMap=this._options.customLegendWidgetFactories),this._subscribeToDrawingState(),this.withModel(this,()=>{const e=this.model().model();e.backgroundTopColor().subscribe(this._updateThemedColorBound),e.backgroundColor().subscribe(this._updateThemedColorBound)}),this._scrollHelper=new A(this),this._objectTreeDialogController=c.getInstance()}destroy(){var e,t;null===(e=this._lineToolsSynchronizer)||void 0===e||e.destroy(),null===(t=this._noExchangeSubscrptionWarning)||void 0===t||t.destroy(),null!==this._model&&(this._model.model().backgroundTopColor().unsubscribe(this._updateThemedColorBound), +this._model.model().backgroundColor().unsubscribe(this._updateThemedColorBound),this._model.destroy()),this._customLegendWidgetsFactoryMap.clear(),this._scrollHelper.destroy(),this._isDestroyed=!0}id(){return this._id}layoutId(){return this._layoutId}getPriceAxisWidthChangedByName(e){return"left"===e?this._lhsPriceAxisWidthChanged:this._rhsPriceAxisWidthChanged}getPriceAxisMaxWidthByName(e){return"left"===e?this._lhsAxesWidth:this._rhsAxesWidth}timeAxisHeight(){return null!==this._timeAxisWidget?this._timeAxisWidget.size.h:0}withModel(e,t){this.model()?t.call(e):this.modelCreated().subscribe(e,t,!0)}images(e){window.TradingView.printing=!0;const t=this.model().selection().allSources();this.model().selectionMacro(e=>e.clearSelection());const i=(t,i)=>{t.paint(i,this.onWidget());const s={showCollapsedLegend:Boolean(null==e?void 0:e.showCollapsedLegend),status:null==e?void 0:e.status};return t.getScreenshotData(s)},s=[];if(null!==this._maximizedPaneWidget){const e=this._paneWidgets.indexOf(this._maximizedPaneWidget);s.push(i(this._maximizedPaneWidget,_.InvalidationMask.light().invalidateForPane(e)))}else for(let o=0;o{t.forEach(t=>{e.addSourceToSelection(t)})}),this.model().model().lightUpdate();const n=this.mainSeriesQuotesAndMetainfo();return{panes:s,timeAxis:r,colors:{text:this.properties().childs().scalesProperties.childs().textColor.value(),bg:this.properties().childs().paneProperties.childs().background.value(),scales:this.properties().childs().scalesProperties.childs().lineColor.value()},meta:n.meta,ohlc:n.ohlc,quotes:n.quotes}}setSaveChartService(e){this._saveChartService=e,null!==this._lineToolsSynchronizer&&this._lineToolsSynchronizer.setSaveChartService(e)}mainSeriesQuotesAndMetainfo(){let e,t,i;const s=this._model&&this._model.mainSeries();if(s){const r=e=>null==e?"":s.formatter().format(e,void 0,void 0,!0,!1)+"",n=e=>null==e?"":e+"";e={resolution:s.interval(),symbol:s.symbol()};const o=s.symbolInfo();o&&(e.symbol=o.full_name,e.description=o.description,e.exchange=o.exchange);const a=s.bars().last();null!==a&&(t=a.value.slice(1,5).map(r));const l=s.quotes();l&&(i={change:r(l.change),changePercent:n(l.change_percent),last:r(l.last_price)})}return{meta:e,ohlc:t,quotes:i}}updateCrossHairPositionIfNeeded(){if(this._model){const e=y.tool.value();if(this._model.model().setCurrentTool(e),Object(C.lastEventIsTouch)()){const e=this._maximizedPaneWidget||this._paneWidgets[0];if(e.hasState()&&(this._isLineToolModeExceptBrush()||this.selectBarMode().value()||Object(y.toolIsMeasure)(y.tool.value()))){const t=e.state(),i=.5*this._model.model().timeScale().width(),s=.5*t.defaultPriceScale().height() +;this._model.model().setAndSaveCurrentPosition(i,s,t)}}this._model&&Object(C.lastEventIsTouch)()&&this._model.model().crossHairSource().updateAllViews()}}trackingModePaneWidget(){if(!Object(C.lastEventIsTouch)())return null;for(const e of this.paneWidgets())if(e.trackingModeEnabled())return e;return null}startTrackingMode(){if(Object(C.lastEventIsTouch)()){this.exitTrackingMode(),this.updateCrossHairPositionIfNeeded();const e=this._maximizedPaneWidget||this._paneWidgets[0],t=this.model().model().crossHairSource().currentPoint();e.startTrackingMode(t,t)}}exitTrackingMode(){Object(C.lastEventIsTouch)()&&this.paneWidgets().some(e=>e.trackingModeEnabled())&&(this.paneWidgets().forEach(e=>e.exitTrackingMode()),this.model().model().clearCurrentPosition())}onToolChanged(){this.selectBarMode().value()&&this.toggleSelectBarMode(),this.exitTrackingMode()}setInLoadingState(e){this._inLoadingState=e}paint(e){const t=null!=e?e:_.InvalidationMask.full();t.validationActions().forEach(e=>e()),this._paneWidgets.forEach((e,i)=>{null!==this._maximizedPaneWidget&&this._maximizedPaneWidget!==e||e.paint(t.invalidateForPane(i),!1)}),this._timeAxisWidget&&this._timeAxisWidget.paint(t.invalidateForTimeScale()),this._redraw.fire()}maximizedPaneWidget(){return this._maximizedPaneWidget}isMaximizedPane(){return null!==this._maximizedPaneWidget}unsetActivePaneWidget(){this.activePaneWidget=null}setActivePaneWidget(e){this.activePaneWidget=e}onPaneWidgetDestroyed(e){this.activePaneWidget===e&&(this.activePaneWidget=null)}backgroundTopTheme(){return this._backgroundTopTheme.readonly()}backgroundBasedTheme(){return this._backgroundBasedTheme.readonly()}backgroundBottomTheme(){return this._backgroundBottomTheme.readonly()}lineToolsAndGroupsDTO(){return Object(s.ensureNotNull)(this._lineToolsSynchronizer).prepareDTO()}resetLineToolsInvalidated(e,t){Object(s.ensureNotNull)(this._lineToolsSynchronizer).resetInvalidated(e,t)}applyAlertIdByExternalSource(e,t){var i;null===(i=this._lineToolsSynchronizer)||void 0===i||i.applyAlertIdByExternalSource(e,t)}deleteAlertByExternalSource(e,t){var i;null===(i=this._lineToolsSynchronizer)||void 0===i||i.deleteAlertByExternalSource(e)}shouldBeSavedEvenIfHidden(){return this.model().model().shouldBeSavedEvenIfHidden()}showObjectsTreeDialog(){var e;null===(e=this._objectTreeDialogController)||void 0===e||e.show()}addCustomWidgetToLegend(e,t){this._customLegendWidgetsFactoryMap.set(e,t);for(const i of this.paneWidgets())i.addCustomWidgetToLegend(e,t)}applyIndicatorsToAllChartsAvailable(){if(!this.chartWidgetCollection().applyIndicatorsToAllChartsAvailable())return!1;for(const e of this.model().model().panes()){if(e.sourcesByGroup().all().some(e=>Object(p.isStudy)(e)&&!Object(p.isESDStudy)(e)))return!0}return!1}pasteImageAsLineTool(e){(this.activePaneWidget||this._paneWidgets[0]).pasteImageAsLineTool(e)}restoreState(e,t,i){this.adjustSize();Object(s.ensureNotNull)(this._model).restoreState(this._content,t,i);this._setActions()}addCompareAsOverlay(e){const t=this.model() +;return Object(s.ensureDefined)(this._options.isSymbolAvailable)(e).then(i=>{if(!i)return null;const s=t.createStudyInserter({type:"java",studyId:"Overlay@tv-basicstudies"});return s.setForceOverlay(!0),s.setPreferredPriceScale("as-series"),s.setTargetPriceScaleMode({percentage:!0}),s.insert(async()=>({symbol:e}))})}scrollHelper(){return this._scrollHelper}adjustSize(e){var t;let i=0;const s=null===this._model?null:this._model.model().priceScaleSlotsCount(),r=new Uint32Array(null===s?0:s.left),n=new Uint32Array(null===s?0:s.right),a=Object(b.getCanvasDevicePixelRatio)(document.body),l=(e,t)=>e+t,c=(e,t)=>{t.forEach((t,i)=>{e[i]=Math.max(e[i],t)})};for(const o of this._paneWidgets)if(!this._maximizedPaneWidget||this._maximizedPaneWidget===o){const e=o.leftPriceAxisesContainer().optimalWidths(),t=o.rightPriceAxisesContainer().optimalWidths();c(r,e),c(n,t),i+=o.stretchFactor()}const h=r.reduce(l,0),u=n.reduce(l,0),d=this._width(),p=this._height(),_=Math.max(d-h-u,0),m=this._paneSeparators.length,f=S.height(),g=this.isMaximizedPane()?0:f*m,v=null!==this._timeAxisWidget?this._timeAxisWidget.optimalHeight():0,y=p-v>=61;let w=y?v:0;w%2&&(w+=1);const C=g+w,P=p0){const e=new S(this,s-1,s);this._paneSeparators.push(e),this._timeAxisWidget?this._elMainTable.insertBefore(e.getElement(),this._timeAxisWidget.getElement()):this._elMainTable.appendChild(e.getElement())}this._timeAxisWidget?this._elMainTable.insertBefore(i.getElement(),this._timeAxisWidget.getElement()):this._elMainTable.appendChild(i.getElement())}for(let s=0;s{this._controlBarNavigation=new e.ControlBarNavigation(this,Object(s.ensureNotNull)(this._mainDiv),this._options.controlBar),this._model&&this.adjustSize()}),this._options.handleScale.mouseWheel||this._options.handleScroll.mouseWheel){this._mouseWheelHelper=new D;const e=this._onMousewheel.bind(this);this._onWheelBound=e,this._mainDiv.addEventListener("wheel",e,{passive:!1})}this.resize(),this._justActivated=!1,this.withModel(this,()=>{r.appendChild(n),n.addEventListener("mousedown",this._beginRequestActive.bind(this)),n.addEventListener("mouseup",this._endRequestActive.bind(this)),n.addEventListener("touchstart",this._beginRequestActive.bind(this)),n.addEventListener("touchmove",this._endRequestActive.bind(this)),n.addEventListener("touchend",this._endRequestActive.bind(this)),n.addEventListener("click",this._requestActive.bind(this))}),this._inited&&(null!==this._timeAxisWidget&&(this._timeAxisWidget.destroy(),this._timeAxisWidget=null),this._paneWidgets.forEach(e=>{e.destroy()}),this._paneWidgets.length=0,this._paneSeparators.forEach(e=>{e.destroy()}),this._paneSeparators.length=0,this._update(_.InvalidationMask.full()))}_makeDefaultModel(){let e;if(this._content&&this._content.timeScale.points){const t=this._content.timeScale.points.items[0];e={startDate:t}}if(!Object(s.ensureNotNull)(this._metaInfoRepository).getInternalMetaInfoArray())throw new Error("Cannot create chart model: studies metainfo is absent");const t=()=>{this._drawPlanned=!1,this._drawRafId=0,this._inLoadingState||(this._invalidationMask&&(this._update(this._invalidationMask), +this._invalidationMask=null),null!==this._chartPaintedPromise&&(this._chartPaintedPromise.resolve(),this._chartPaintedPromise=null))},i=()=>{const i={readOnly:this.readOnly(),isSnapshot:!!this._containsData,timeScale:this._options.timeScale,crossHair:this._options.crossHair,esdEnabled:this._options.esdEnabled,countdownEnabled:this._options.countdownEnabled,currencyConversionEnabled:this._options.currencyConversionEnabled,unitConversionEnabled:this._options.unitConversionEnabled};void 0!==this._options.watermarkEnabled&&(i.watermarkEnabled=this._options.watermarkEnabled),void 0!==this._options.shiftVisibleRangeOnNewBar&&(i.shiftVisibleRangeOnNewBar=this._options.shiftVisibleRangeOnNewBar);const r=function(e,t,i,s,r,n,o,a,l){const c=new u.ChartUndoModel(e,t,i,s,r,n,o,a,l);return c.model().fullUpdate(),c}(this._chartSession,e=>{if(!(e instanceof _.InvalidationMask))throw new Error("Invalid mask");null!==this._invalidationMask?this._invalidationMask.merge(e):this._invalidationMask=e,this._drawPlanned||(this._drawPlanned=!0,this._options.visible.when(()=>{const e=!document.hidden,i=this.screen&&this.screen.isShown();null!==this._timingsMeter&&e&&!i&&this._timingsMeter.startWaitingDraw();const r=Object(s.ensureNotNull)(Object(s.ensureNotNull)(this._parent).ownerDocument.defaultView);this._drawRafId=r.requestAnimationFrame(t)}))},this.properties(),e,Object(s.ensureNotNull)(this._metaInfoRepository),this,this._options.undoHistory,this._options.barsMarksContainersFactory,i);return this._createSessions(r.model()),r};Object(k.enabled)("lean_chart_load")?this._model=this._model||i():this._model=i(),this._createVolumeIfNeeded();if(this._content){let e={};N&&this._initialLoading&&(e={symbol:this._defSymbol,interval:this._defInterval,style:this._defStyle}),this.restoreState(this._content,this._containsData,e),N&&this._defSymbol&&this.model().model().recalculatePriceRangeOnce()}else this._setActions();return this._createLineToolsSynchronizerIfNeeded(),(()=>{const e=Object(s.ensureNotNull)(this._model);e.onTagsChanged().subscribe(this,()=>this.onModelTagsChanged()),this._initBackgroundColor(),this._updateGui(),this._modelCreated.fire(e),this._tagsChanged.fire();const t=e.mainSeries();this._defTimeframe&&t.setDefaultTimeframe(this._defTimeframe),e.lineCancelled().subscribe(this,()=>this.onLineCancelled()),t.dataEvents().symbolNotPermitted().subscribe(null,e=>{t.properties().symbol.setValue(e)}),t.properties().style.unsubscribe(this,this._onChartStyleChanged),t.properties().style.subscribe(this,this._onChartStyleChanged),t.dataEvents().completed().subscribe(this,()=>this._addPerfMark("SeriesCompleted"),!0),t.dataEvents().barReceived().subscribe(this,()=>this._addPerfMark("SeriesFirstDataReceived"),!0);this._options.handleSessionErrors&&(t.dataEvents().chartTypeNotPermitted().subscribe(null,()=>{t.properties().interval.setValue("D")}),t.dataEvents().intradaySpreadNotPermitted().subscribe(null,()=>{t.properties().interval.setValue("D")}),t.dataEvents().customIntervalNotPermitted().subscribe(null,()=>{ +t.properties().interval.setValue(Object(B.getDefaultResolution)(Object(V.isRangeStyle)(t.properties().style.value())))}),t.dataEvents().intradayExchangeNotPermitted().subscribe(null,()=>{t.properties().interval.setValue("D")})),this._options.handleSessionErrors&&(t.requestingIntradayWhenNotSupported.subscribe(null,()=>{t.properties().interval.setValue("D")}),t.requestingResolutionWhenNotSupported.subscribe(null,e=>{t.properties().interval.setValue(e)}))})()}_subscribeToDrawingState(){if(this._options.readOnly)return;Object(y.init)();const e=(e,t)=>{if(null===this._model)return;const i=this._model.model();e.model!==i&&t(i,this._model)},t=(e,t)=>e.dataSources().find(e=>Object(d.isLineTool)(e)&&e.getLinkKey()===t)||null;y.createdLineTool.subscribe(null,t=>{e(t,(e,i)=>{const r=Object(s.ensureNotNull)(e.paneForSource(e.mainSeries()));let n,o=null;if(void 0===t.pointPositionPercents){if(o=F(e,t.model,t.point.timeStamp),null===o)return;n=t.point.price}else{const i=t.pointPositionPercents.x*e.timeScale().width(),s=e.mainSeries().priceScale(),r=t.pointPositionPercents.y*s.height(),a=e.mainSeries().firstValue();if(null===a)return;o=e.timeScale().coordinateToIndex(i),n=s.coordinateToPrice(r,a)}const a={index:Object(s.ensureNotNull)(o),price:n},l=i.createLineTool(r,a,t.linetool,t.properties,t.linkKey,e.mainSeries(),!0);null!==l&&!Boolean(this.model().lineBeingCreated())&&t.finalState&&l.restoreExternalPoints(t.finalState,{indexesChanged:!0,pricesChanged:!0})})}),y.continuedLineTool.subscribe(null,t=>{e(t,(e,i)=>{const s=F(e,t.model,t.point.timeStamp);if(null===s)return;const r={index:s,price:t.point.price},n=e.lineBeingCreated();if(null===n)return;i.continueExternalLine(r,null===t.envState?void 0:t.envState,!!t.finalState)&&t.finalState&&n.restoreExternalPoints(t.finalState,{indexesChanged:!0,pricesChanged:!0})})}),y.cancelledLineTool.subscribe(null,t=>{e(t,(e,t)=>{e.cancelCreatingLine()})}),y.beenSetLineToolLastPoint.subscribe(null,t=>{e(t,(e,i)=>{const s=e.lineBeingCreated();if(null===s||s.getLinkKey()!==t.linkKey)return;const r=F(e,t.model,t.point.timeStamp);if(null===r)return;const n={index:r,price:t.point.price};s.setLastPoint(n),s.updateAllViews(),e.lightUpdate()})}),y.startedMovingLineTool.subscribe(null,i=>{e(i,(e,s)=>{const r=i.linkKeys.map(t.bind(null,e)).filter(h.notNull);if(r.length){const t=F(e,i.model,i.point.timeStamp);if(null===t)return;const s={index:t,price:i.point.price},n=void 0!==i.itemIndex?i.itemIndex:null;e.startMovingSources(r,{logical:s},n,i.pointPositionPercents,null===i.envState?void 0:i.envState,!0)}})}),y.movedLineTool.subscribe(null,t=>{e(t,(e,i)=>{if(!e.sourcesBeingMoved().filter(e=>(e=>t.linkKeys.some(t=>e.getLinkKey()===t))(e)).length)return;const s=F(e,t.model,t.point.timeStamp);if(null===s)return;const r={index:s,price:t.point.price};e.moveSources({logical:r},t.pointPositionPercents,null===t.envState?void 0:t.envState,!0)})}),y.finishedMovingLineTool.subscribe(null,t=>{e(t,(e,i)=>{const s=e.sourcesBeingMoved();if(0===s.length)return;s.forEach(i=>{const s=(e=>{ +for(let i=0;i{e(i,(e,s)=>{const r=t(e,i.linkKey);if(null!==r){const t=r.getPoint(i.pointIndex),s=t?t.index:F(e,i.model,i.point.timeStamp);if(null===s)return;if(r.isActualSymbol()&&r.isActualCurrency()&&r.isActualUnit()){const t={index:s,price:i.point.price};e.startChangingLinetool(r,t,i.pointIndex,null===i.envState?void 0:i.envState,!0)}}})}),y.changedLineTool.subscribe(null,t=>{e(t,(e,i)=>{const r=e.lineBeingEdited();if(null===r||r.getLinkKey()!==t.linkKey)return;let n=null;if(n=t.changes.indexesChanged?F(e,t.model,t.point.timeStamp):Object(s.ensureNotNull)(e.linePointBeingChanged()).index,null!==n&&r.isActualSymbol()&&r.isActualCurrency()&&r.isActualUnit()){const i={index:n,price:t.point.price};e.changeLinePoint(i,void 0,!0)}})}),y.finishedChangingLineTool.subscribe(null,i=>{e(i,(e,s)=>{const r=t(e,i.linkKey);null!==r&&r.isActualSymbol()&&r.isActualCurrency()&&r.isActualUnit()&&null!==e.lineBeingEdited()&&e.endChangingLinetool(!!i.finalState,!0),null!==r&&i.finalState&&r.restoreExternalPoints(i.finalState,i.changes)})}),y.removedLineTool.subscribe(null,i=>{e(i,(e,s)=>{const r=t(e,i.linkKey);null!==r&&s.removeSource(r,!1)})}),y.finishedLineTool.subscribe(null,i=>{e(i,(e,s)=>{const r=t(e,i.linkKey);null!==r&&Object(d.isLineDrawnWithPressedButton)(r.toolname)&&r.finish()})}),y.changedLineStyle.subscribe(null,i=>{e(i,(e,s)=>{const r=t(e,i.linkKey);null!==r&&(r.restoreExternalState(i.state),r.propertiesChanged(!0))})}),y.restoredLineToolState.subscribe(null,i=>{e(i,(e,s)=>{const r=t(e,i.linkKey);if(null!==r){const t=Object.assign({},i.state);t.indexes=i.state.points.map(t=>({index:F(e,i.model,t.time_t),price:t.price})),e.restoreLineToolState(r,t)}})}),y.restoredLineTool.subscribe(null,t=>{e(t,(e,i)=>{e.restoreSource(t.state.restorePane,t.state.paneIndex,t.state.paneState,t.state.sourceState,null)})}),y.copiedLineTool.subscribe(null,t=>{e(t,(e,i)=>{const r=Object(s.ensureNotNull)(e.paneForSource(e.mainSeries()));let n;if(t.pointPositionPercents){const e={index:0,price:0};if(n=i.createLineTool(r,e,t.linetool,null,t.linkKey,void 0,!0),null===n)return;n.restorePositionPercents(Object(s.ensureDefined)(t.pointPositionPercents))}else{const o=t.points.map(i=>({index:Object(s.ensureNotNull)(F(e,t.model,i.timeStamp)),price:i.price})),a=o[0];if(n=i.createLineTool(r,a,t.linetool,null,t.linkKey,void 0,!0),null===n)return;if(e.lineBeingCreated())for(let e=1;er)){var o,a=this.m_series.bars().range(i,r),l=this.m_series.priceScale(),c=this.m_series.barColorer(),h={};if(a.each((function(i,s){var r,n={};(n.time=Math.round(i),e(s,n))&&(h.value=s,r=s[TradingView.STYLE_PLOT]?s[TradingView.STYLE_PLOT]:c.barStyle(i,!1,h),s[TradingView.STYLE_PLOT]=r,h.previousValue=s,n.color=r.barColor,n.borderColor=r.barBorderColor,n.wickColor=r.barWickColor,n.hollow=r.isBarHollow,t.m_bars.push(n))}),this), +0!==this.m_bars.length&&(o=this.m_series.firstValue(),l.barPricesToCoordinates(this.m_bars,o)),this.m_model.timeScale().barIndexesToCoordinates(this.m_bars),this.m_model.selection().isSelected(this.m_series)){var u=this._selectionIndexer.indexes();this._selectionData={points:[],bgColors:[],visible:!0};var d=this.m_model.paneForSource(this.m_series).height();this._selectionData.hittestResult=n.REGULAR;for(var p=0;po.setValue(n())),o.subscribe(null,()=>r.setValue("Chart.ShowMarketOpenStatus",o.value()))},x5Tw:function(e,t,i){"use strict";i.r(t),i.d(t,"setupChartEventHint",(function(){return h}));var s=i("Eyy1"),r=(i("YFKU"),i("Vdly")),n=i("mMWL"),o=i("e92V"),a=i("qFKp"),l=i("/3z9"),c=i("Kxc7");function h(e,t=!1){if(!c.enabled("popup_hints"))return;const h=e.getContainer() +;let u=null,d=null;function p(e,t,r){if(u)u.show(e,r?void 0:_.bind(null,t));else{const o=n.tool.value();Promise.all([i.e("react"),i.e(93),i.e("chart-event-hint")]).then(i.bind(null,"PN5r")).then(i=>{u=new i.ChartEventHintRenderer(Object(s.ensureNotNull)(h)),o===n.tool.value()&&u.show(e,r?void 0:_.bind(null,t))})}}function _(e){r.setValue(e,!0,{forceFlush:!0}),Object(s.ensureNotNull)(u).destroy(),null!==d&&d(),u=null}n.tool.subscribe((function(){if(Boolean(r.getBool("hint.touchPainting")))return;const e=n.tool.value();Object(o.isStudyLineToolName)(e)&&"LineToolRegressionTrend"!==e&&!a.CheckMobile.any()?p(window.t("Click to set a point"),"hint.touchPainting"):a.CheckMobile.any()&&!Object(o.isLineDrawnWithPressedButton)(e)&&Object(o.isLineToolName)(e)?p(window.t("Move the point to position the anchor then tap to place"),"hint.touchPainting"):u&&u.hide()})),n.createdLineTool.subscribe(null,(function(){const e=n.tool.value();"LineToolPath"!==e||Boolean(r.getBool("hint.finishBuildPathByDblClick"))?"LineToolPolyline"!==e||Boolean(r.getBool("hint.finishBuildPolylineByDblClick"))||p(window.t("Double-click to finish Polyline"),"hint.finishBuildPolylineByDblClick"):p(window.t("Double-click to finish Path"),"hint.finishBuildPathByDblClick")})),n.finishedLineTool.subscribe(null,(function(){if(u){const e=n.tool.value();"LineToolPath"===e?_("hint.finishBuildPathByDblClick"):"LineToolPolyline"===e&&_("hint.finishBuildPolylineByDblClick")}})),t||a.CheckMobile.any()||Boolean(r.getBool("hint.startFocusedZoom"))||(d=function(e,t){let i=!1;const s=r=>{r?(i&&t(r),e.onZoom().unsubscribe(null,s)):i||(t(r),i=!0)};return e.onZoom().subscribe(null,s),()=>e.onZoom().unsubscribe(null,s)}(e,(function(e){if(Boolean(r.getBool("hint.startFocusedZoom")))return;if(e)u&&(d=null,_("hint.startFocusedZoom"));else{const e=l.isMacKeyboard?"⌘":"Ctrl";p(window.t("Press and hold {0} while zooming to maintain the chart position").format(e),"hint.startFocusedZoom")}})))}},x8jL:function(e,t,i){"use strict";i.r(t);var s=i("Eyy1"),r=i("MY2c"),n=i("bOGh"),o=i("RDU5");class a extends o.UndoCommand{constructor(e,t,i){super(i),this._wv=e,this._newValue=t,this._oldValue=e.value()}redo(){this._wv.setValue(this._newValue)}undo(){this._wv.setValue(this._oldValue)}}var l=i("txPx"),c=i("aIyQ"),h=i.n(c);i.d(t,"createUndoHistory",(function(){return d}));const u=Object(l.getLogger)("Common.UndoHistory");function d(){const e=[],t=new r.a,i=new r.a,o=new h.a;function l(s){if(e.length>0)e[e.length-1].addCommand(s);else{i.clear();const e=t.head(),r=e&&e.text();e&&e.canMerge(s)?e.merge(s):t.push(s);const n=s.text();""!==n&&n!==r&&u.logNormal("DO: "+n)}s.executeOnPush()&&s.redo(),e.length||o.fire(c())}function c(){const e=t.head(),s=i.head();return{enableUndo:!t.isEmpty(),undoText:void 0===e?void 0:e.text(),enableRedo:!i.isEmpty(),redoText:void 0===s?void 0:s.text()}}return{beginUndoMacro:function(t){const i=new n.a(t);return e.push(i),i},clearStack:function(){t.clear(),i.clear(),o.fire(c())},createUndoCheckpoint:function(){return{lastActualCommand:t.isEmpty()?null:t.head()}}, +endUndoMacro:function(){const t=Object(s.ensureDefined)(e.pop());t.isEmpty()||l(t)},pushUndoCommand:l,redo:function(){if(i.isEmpty())return!1;const e=i.pop();return!!e&&(e.redo(),t.push(e),u.logNormal("REDO: "+e.text()),o.fire(c()),!0)},redoStack:function(){return i},setWatchedValue:function(e,t,i){if(e.value()!==t){const s=new a(e,t,i);l(s),s.redo()}},undo:function(){if(t.isEmpty())return!1;const e=t.pop();return!!e&&(e.undo(),i.push(e),u.logNormal("UNDO: "+e.text()),o.fire(c()),!0)},undoStack:function(){return t},undoToCheckpoint:function(e){for(;!t.isEmpty()&&e.lastActualCommand!==t.head();)t.pop().undo();i.clear(),o.fire(c())},state:c,onChange:function(){return o}}}},xDuj:function(e,t,i){"use strict";i.r(t),i.d(t,"translatedIntervalString",(function(){return r}));i("YFKU");var s=i("pPtI");function r(e){const t=Object(s.getTranslatedResolutionModel)(e,!0);return null===t?e:t.multiplier+(t.mayOmitShortKind?"":t.shortKind)}},xWfy:function(e,t,i){"use strict";i.d(t,"a",(function(){return a})),i.d(t,"b",(function(){return u})),i.d(t,"c",(function(){return d})),i.d(t,"d",(function(){return p}));var s=i("tqok"),r=i("fFKx"),n=i("SqfW"),o=i("7Fue");class a{constructor(e,t){if(this._indexes=[],this._horizlines=new Map,this._vertlines=new Map,this._lines=new Map,this._hlines=new Map,this._textmarks=new Map,this._shapemarks=new Map,this._backgrounds=new Map,this._polygons=new Map,this._trendchannels=new Map,this._hhists=new Map,this._dwglabels=new Map,this._dwglines=new Map,this._dwgboxes=new Map,this._dwgtables=new Map,this._dwgtablecells=new Map,"data"===e){const e=t;this._indexes=e.indexes,this._vertlines=l(e.vertlines,this._indexes,n.b),this._horizlines=l(e.horizlines,this._indexes,r.b)}else if("state"===e){const e=t;this._indexes=e.indexes||[],this._vertlines=c(e.vertlines,this._indexes,n.b),this._horizlines=c(e.horizlines,this._indexes,r.b)}this._hhistsByTimePointIndex=Object(o.b)(this._hhists)}horizlines(){return this._horizlines}vertlines(){return this._vertlines}lines(){return this._lines}hlines(){return this._hlines}textmarks(){return this._textmarks}shapemarks(){return this._shapemarks}backgrounds(){return this._backgrounds}polygons(){return this._polygons}trendchannels(){return this._trendchannels}hhists(){return this._hhists}dwglabels(){return this._dwglabels}dwglines(){return this._dwglines}dwgboxes(){return this._dwgboxes}dwgtables(){return this._dwgtables}dwgtablecells(){return this._dwgtablecells}hhistsByTimePointIndex(){return this._hhistsByTimePointIndex}}function l(e,t,i){const s=new Map;return e.forEach((e,r)=>{const n=s.get(r)||new Set;e.forEach(e=>{const s=i(e,t);null!==s&&n.add(s)}),s.set(r,n)}),s}function c(e,t,i){const s=new Map;if(void 0===e)return s;for(const r of e){const e=r.styleId,n=s.get(e)||new Set;r.data.forEach(e=>{const s=i(e,t);null!==s&&n.add(s)}),s.set(e,n)}return s}function h(e,t,i,s){const r=[];return e.forEach((e,n)=>{e.forEach(e=>{!function(e,t,i){let s=null;for(const r of e)r.styleId===t&&(s=r);null===s&&(s={styleId:t,data:[]},e.push(s)),s.data.push(i)}(r,n,s(e,t(e),i))})}), +r.length>0?r:void 0}function u(){return new a}function d(e){return new a("state",e)}function p(e){const t=function(e){const t=new Set;e.horizlines().forEach((e,i)=>{e.forEach(e=>{t.add(e.startIndex),t.add(e.endIndex)})}),e.vertlines().forEach((e,i)=>{e.forEach(e=>{t.add(e.index)})}),e.lines().forEach((e,i)=>{e.forEach(e=>{t.add(e.startIndex),t.add(e.endIndex)})}),e.textmarks().forEach((e,i)=>{e.forEach(e=>{t.add(e.time)})}),e.shapemarks().forEach((e,i)=>{e.forEach(e=>{t.add(e.time)})}),e.backgrounds().forEach((e,i)=>{e.forEach(e=>{t.add(null!==e.start?e.start:s.a),t.add(e.stop)})}),e.polygons().forEach((e,i)=>{e.forEach(e=>{e.points.forEach(e=>{t.add(e.index)})})}),e.trendchannels().forEach((e,i)=>{e.forEach(e=>{t.add(e.startIndex),t.add(e.endIndex)})}),e.hhists().forEach((e,i)=>{e.forEach(e=>{t.add(e.firstBarTime),t.add(e.lastBarTime)})}),e.dwglabels().forEach((e,i)=>{e.forEach(e=>{t.add(e.x)})}),e.dwglines().forEach((e,i)=>{e.forEach(e=>{t.add(e.x1),t.add(e.x2)})}),e.dwgboxes().forEach((e,i)=>{e.forEach(e=>{t.add(e.left),t.add(e.right)})});const i=Array.from(t);return i.sort((e,t)=>e-t),i}(e),i={indexes:t};let o=0;const a=()=>++o;return i.vertlines=h(e.vertlines(),a,t,n.a),i.horizlines=h(e.horizlines(),a,t,r.a),i}},xdS3:function(e,t,i){},xnA2:function(e,t,i){"use strict";var s=i("Ss5c").LineDataSource,r=i("5rJj"),n=i("j3hX").LineToolColorsProperty;class o extends s{constructor(e,t){super(e,t||o.createProperties()),this.version=o.version,i.e("lt-pane-views").then(i.t.bind(null,"CR3a",7)).then(({FibChannelPaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}levelsCount(){return o.LevelsCount}migrateVersion(e,t,i){i.properties.removeProperty("reverse")}pointsCount(){return 3}name(){return"Fib Channel"}processErase(e,t){var i="level"+t,s=this.properties()[i].visible;e.setProperty(s,!1,"Erase level line")}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(33),i.e("lt-property-pages-with-definitions")]).then(i.bind(null,"17v9"))).FibDrawingsWith24LevelsDefinitionsViewModel}static createProperties(e){var t=new r("linetoolfibchannel",e,!1,{range:[1,24],names:["coeff","color","visible"]});return o._configureProperties(t),t}static _configureProperties(e){s._configureProperties(e);var t=[];for(let i=1;i<=o.LevelsCount;i++)t.push(e.child("level"+i).child("color"));e.addChild("linesColors",new n(t)),e.addExclusion("linesColors")}}o.LevelsCount=24,o.version=2,t.LineToolFibChannel=o},xo8u:function(e,t,i){"use strict";i.d(t,"a",(function(){return o}));var s=i("Eyy1"),r=i("RDU5"),n=i("n5al");class o extends r.UndoCommand{constructor(e,t,i,r){super(r),this._newSourcesCurrencies=new Map,this._oldSourcesCurrencies=new Map,this._showFade=!1,this._chartWidget=i;const o=i.model().mainSeries();for(const a of e.seriesLikeSources()){if(!a.isVisible())continue;const e=t||Object(n.symbolOriginalCurrency)(Object(s.ensureNotNull)(a.symbolInfo()));this._newSourcesCurrencies.set(a.id(),e),this._oldSourcesCurrencies.set(a.id(),a.currency()),this._showFade=this._showFade||a===o&&a.currency()!==e}}redo(){ +this._applyCurrencies(this._newSourcesCurrencies)}undo(){this._applyCurrencies(this._oldSourcesCurrencies)}_applyCurrencies(e){this._showFade&&this._chartWidget.screen.show();const t=this._chartWidget.model().model();e.forEach((e,i)=>{Object(s.ensureNotNull)(t.dataSourceForId(i)).setCurrency(e)}),this._chartWidget.model().selectionMacro(e=>{e.clearSelection()})}}},xrEm:function(e,t,i){},xt3Q:function(e,t,i){"use strict";i.r(t),i.d(t,"TradingViewApiBase",(function(){return s}));class s{constructor(e){this._studyTemplatesDrawer=null;const{chartApiInstance:t,chartWidgetCollection:i,studyMarket:s,financialsDialog:r,saveChartService:n,loadChartService:o}=e;this._chartWidgetCollection=i,this._studyMarket=s,this._financialsDialog=r,this._saveChartService=n,this._loadChartLayoutDialog=o,this._intervalsService=null}dialogs(){return{Indicators:this._studyMarket,Financials:this._financialsDialog,Compare:null,ObjectsTree:null,ChartProperties:this._chartWidgetCollection.getChartPropertiesDialogRenderer(),ChartLayoutSaveAs:this._saveChartService.getSaveAsController(),ChartLayoutRename:this._saveChartService.getRenameController(),ChartLayoutCreate:this._saveChartService.getCreateController(),ChartLayoutLoad:this._loadChartLayoutDialog}}studyTemplatesDrawerApi(){throw new Error("not implemented")}intervalsService(){throw new Error("not implemented")}}},"xz+e":function(e,t,i){"use strict";var s=i("Ss5c").LineDataSource,r=i("7KDR").Action,n=i("Ocx9").DefaultProperty,o=i("j3hX").LineToolColorsProperty,a=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14],l=[{value:a[0],title:window.t("Supermillennium")},{value:a[1],title:window.t("Millennium")},{value:a[2],title:window.t("Submillennium")},{value:a[3],title:window.t("Grand Supercycle")},{value:a[4],title:window.t("Supercycle")},{value:a[5],title:window.t("Cycle")},{value:a[6],title:window.t("Primary")},{value:a[7],title:window.t("Intermediate")},{value:a[8],title:window.t("Minor",{context:"wave"})},{value:a[9],title:window.t("Minute",{context:"wave"})},{value:a[10],title:window.t("Minuette")},{value:a[11],title:window.t("Subminuette")},{value:a[12],title:window.t("Micro")},{value:a[13],title:window.t("Submicro")},{value:a[14],title:window.t("Minuscule")}];class c extends s{constructor(e,t){super(e,t||c.createProperties()),this.version=c.version,i.e("lt-pane-views").then(i.t.bind(null,"Ht/7",7)).then(({ElliottLabelsPaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}static migrateState(e){var t={0:11,1:10,2:9,3:8,4:7,5:6,6:5,7:4,8:3},i={0:11,1:8};"LineToolElliottSubminuette"===e.type&&(e.type="LineToolElliottImpulse",e.state.degree=t[e.state.wavesize]),"LineToolElliottMinor"===e.type&&(e.type="LineToolElliottImpulse",e.state.degree=t[e.state.wavesize]),"LineToolElliottCircle"===e.type&&(e.type="LineToolElliottImpulse",e.state.degree=t[e.state.wavesize]),"LineToolElliottMinorRetr"===e.type&&(e.type="LineToolElliottCorrection",e.state.degree=i[e.state.wavesize]),"LineToolElliottMajorRetr"===e.type&&(e.type="LineToolElliottCorrection",e.state.degree=i[e.state.wavesize])}migrateVersion(e,t,i){ +if(i.properties.hasChild("background")&&i.properties.removeProperty("background"),i.properties.hasChild("backgroundColor")&&i.properties.removeProperty("backgroundColor"),i.properties.hasChild("showBackground")&&i.properties.removeProperty("showBackground"),1===e){var s=Object.assign({},this._timePoint[0]);this._timePoint.unshift(s),this._points.length>0&&(s=Object.assign({},this._points[0]),this._points.unshift(s))}}applyTemplate(e){delete e.background,delete e.backgroundColor,delete e.showBackground,super.applyTemplate(e)}name(){return"Elliott Labels"}additionalActions(e){var t=this;return[new r({label:window.t("Degree"),subItems:a.map((function(i){var s=l.filter((function(e){return e.value===i}))[0];return new r({label:s.title,checkable:!0,checked:t.properties().degree.value()===i,onExecute:function(){e.setProperty(t.properties().degree,i,"Change Elliott Degree")}})}))})]}label(e){var t=a.length-this.properties().degree.value()-1,i=Math.floor(t/3);return{group:i,bold:!!(i%2),decoration:["","brackets","circle"][t%3],label:this.labelsGroup()[i][e]}}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(33),i.e("lt-property-pages-with-definitions")]).then(i.bind(null,"UHSU"))).ElliottPatternDefinitionsViewModel}availableDegreesValues(){return l}static createProperties(e){var t=new n("linetoolelliott",e);return c._configureProperties(t),t}static _configureProperties(e){s._configureProperties(e),e.addChild("linesColors",new o([e.color])),e.addExclusion("linesColors")}}c.version=4;class h extends c{pointsCount(){return 6}static _configureProperties(e){c._configureProperties(e)}}class u extends h{constructor(e,t){super(e,t||u.createProperties())}name(){return"Elliott Impulse Wave (12345)"}labelsGroup(){return u._labelsGroups}static createProperties(e){var t=new n("linetoolelliottimpulse",e);return u._configureProperties(t),t}static _configureProperties(e){h._configureProperties(e)}}u._labelsGroups=[["0","1","2","3","4","5"],["0","i","ii","iii","iv","v"],["0","1","2","3","4","5"],["0","I","II","III","IV","V"],["0","1","2","3","4","5"]];class d extends h{constructor(e,t){super(e,t||d.createProperties())}name(){return"Elliott Triangle Wave (ABCDE)"}labelsGroup(){return d._labelsGroups}static createProperties(e){var t=new n("linetoolelliotttriangle",e);return d._configureProperties(t),t}static _configureProperties(e){h._configureProperties(e)}}d._labelsGroups=[["0","A","B","C","D","E"],["0","a","b","c","d","e"],["0","A","B","C","D","E"],["0","a","b","c","d","e"],["0","A","B","C","D","E"]];class p extends h{constructor(e,t){super(e,t||p.createProperties())}name(){return"Elliott Triple Combo Wave (WXYXZ)"}labelsGroup(){return p._labelsGroups}static createProperties(e){var t=new n("linetoolelliotttriplecombo",e);return p._configureProperties(t),t}static _configureProperties(e){h._configureProperties(e)}}p._labelsGroups=[["0","W","X","Y","X","Z"],["0","w","x","y","x","z"],["0","W","X","Y","X","Z"],["0","w","x","y","x","z"],["0","W","X","Y","X","Z"]];class _ extends c{pointsCount(){return 4} +static _configureProperties(e){c._configureProperties(e)}}class m extends _{constructor(e,t){super(e,t||m.createProperties())}name(){return"Elliott Correction Wave (ABC)"}labelsGroup(){return m._labelsGroups}static createProperties(e){var t=new n("linetoolelliottcorrection",e);return m._configureProperties(t),t}static _configureProperties(e){_._configureProperties(e)}}m._labelsGroups=[["0","A","B","C"],["0","a","b","c"],["0","A","B","C"],["0","a","b","c"],["0","A","B","C"]];class f extends _{constructor(e,t){super(e,t||f.createProperties())}name(){return"Elliott Double Combo Wave (WXY)"}labelsGroup(){return f._labelsGroups}static createProperties(e){var t=new n("linetoolelliottdoublecombo",e);return f._configureProperties(t),t}static _configureProperties(e){_._configureProperties(e)}}f._labelsGroups=[["0","W","X","Y"],["0","w","x","y"],["0","W","X","Y"],["0","w","x","y"],["0","W","X","Y"]],t.LineToolElliott=c,t.LineToolElliottImpulse=u,t.LineToolElliottTriangle=d,t.LineToolElliottTripleCombo=p,t.LineToolElliottCorrection=m,t.LineToolElliottDoubleCombo=f},xzdg:function(e,t,i){"use strict";i.r(t);var s=i("Eyy1"),r=i("YFKU"),n=i("ikwP"),o=i("ogJP"),a=i("jFln"),l=i("u+0B"),c=i("XlJ7"),h=i("JWMC"),u=i("zDbI"),d=i("CPmC"),p=i("gAom"),_=i("Hr11"),m=i("+cnz"),f=i("CxTi");class g{constructor(){this._width=null,this._currencyInfo=null,this._unitInfo=null,this._fontSize=0,this._currencyAndUnitLabelsWrapper=document.createElement("div"),this._currencyAndUnitLabelsWrapper.className=f["price-axis-currency-label-wrapper"],this._controlsContainer=document.createElement("table"),this._controlsContainer.className=f["price-axis-currency-label"],this._currencyAndUnitLabelsWrapper.appendChild(this._controlsContainer),this._currencyLabelTr=document.createElement("tr"),this._currencyLabelTr.className=f["price-axis-currency-label-dropdown"],this._currencyLabelTr.classList.add("apply-common-tooltip"),Object(d.b)(this._currencyLabelTr,"text",e=>this._currencyTooltipContent());const e=document.createElement("td");this._currencyText=document.createElement("span"),this._currencyText.className=f["price-axis-currency-label-text"],e.appendChild(this._currencyText),this._currencyLabelTr.appendChild(e);const t=document.createElement("td");this._currencyArrowDown=document.createElement("span"),this._currencyArrowDown.className=f["price-axis-currency-label-arrow-down"],this._currencyArrowDown.innerHTML=m,t.appendChild(this._currencyArrowDown),this._currencyLabelTr.appendChild(t),this._unitLabelTr=document.createElement("tr"),this._unitLabelTr.className=f["price-axis-currency-label-dropdown"],this._unitLabelTr.classList.add("apply-common-tooltip"),Object(d.b)(this._unitLabelTr,"text",e=>this._unitTooltipContent());const i=document.createElement("td");this._unitText=document.createElement("span"),this._unitText.className=f["price-axis-currency-label-text"],i.appendChild(this._unitText),this._unitLabelTr.appendChild(i);const s=document.createElement("td");this._unitArrowDown=document.createElement("span"), +this._unitArrowDown.className=f["price-axis-currency-label-arrow-down"],this._unitArrowDown.innerHTML=m,s.appendChild(this._unitArrowDown),this._unitLabelTr.appendChild(s),this._controlsContainer.appendChild(this._currencyLabelTr),this._controlsContainer.appendChild(this._unitLabelTr),this.hideCurrency(),this.hideUnit()}element(){return this._currencyAndUnitLabelsWrapper}currencyLabelElement(){return this._currencyLabelTr}unitLabelElement(){return this._unitLabelTr}isVisible(){return this.currencyLabelVisible()||this.unitLabelVisible()}width(){if(null!==this._width)return this._width;let e=0;if(this.currencyLabelVisible()){const t=this._currencyLabelTr.getBoundingClientRect();e=Math.max(e,t.right-t.left+1+8)}if(this.unitLabelVisible()){const t=this._unitLabelTr.getBoundingClientRect();e=Math.max(e,t.right-t.left+1+8)}return this._width=e,e}drawLabel(e,t,i,s){if(!this.isVisible())return;const r=this.currencyLabelVisible()?this._currencyText.textContent||"":this._unitText.textContent||"",o=this._unitText.textContent||"";e.font=Object(c.makeFont)(this._fontSize,u.CHART_FONT_FAMILY);const a=new l.a,h=2*Number(f.css_value_currency_label_text_horizontal_padding)+Math.max(a.measureText(e,r),a.measureText(e,o)),d=a.yMidCorrection(e,r),m=a.yMidCorrection(e,o),g=Math.round(t/2*i),v=Object(_.ceiledEven)(h*i/2),b=this._controlsContainer.style,S=Math.round(this.labelTop()*i),y=Math.round(this.labelBottom()*i),w=y-S,C=Math.round(Number(f.css_value_currency_label_radius)*i);Object(p.drawRoundRect)(e,g-v,S,2*v,w,C),e.fillStyle=b.backgroundColor,e.fill();const P=Math.max(1,Math.floor(i));e.lineWidth=P,e.strokeStyle=s?f.css_value_border_color_dark:f.css_value_border_color_light,Object(p.drawRoundRect)(e,g-v+P/2,S+P/2,2*v-P,w-P,C),e.stroke();const x=S+(y-S-1)/2,T=this._isMultiLine();T&&Object(p.drawHorizontalLine)(e,Math.floor(x+P/2),g-v,g+v);const M=this._oneLineHeight()/2*i,I=T?Math.ceil(x-M):x,L=Math.ceil(x+M);e.fillStyle=b.color,e.textBaseline="middle",e.textAlign="center",Object(n.drawScaled)(e,i,()=>e.fillText(r,g/i,(I+d)/i)),T&&Object(n.drawScaled)(e,i,()=>e.fillText(o,g/i,(L+m)/i))}showCurrency(){this._currencyLabelTr.classList.remove("js-hidden"),this._width=null,this._updateMultiLine(),this._updateVisibility()}hideCurrency(){this._currencyLabelTr.classList.add("js-hidden"),this._width=null,this._updateMultiLine(),this._updateVisibility()}showUnit(){this._unitLabelTr.classList.remove("js-hidden"),this._width=null,this._updateMultiLine(),this._updateVisibility()}hideUnit(){this._unitLabelTr.classList.add("js-hidden"),this._width=null,this._updateMultiLine(),this._updateVisibility()}currencyLabelVisible(){return!this._currencyLabelTr.classList.contains("js-hidden")}unitLabelVisible(){return!this._unitLabelTr.classList.contains("js-hidden")}setCurrencyInfo(e){if(null!==this._currencyInfo&&this._currencyInfo.selectedCurrency===e.selectedCurrency&&this._currencyInfo.readOnly===e.readOnly&&this._currencyInfo.originalCurrencies.size===e.originalCurrencies.size)return this._currencyInfo=e,!1;this._currencyInfo=e +;const t=null===e.selectedCurrency?Object(r.t)("Mixed"):Object(s.ensureDefined)(e.displayedValues.get(e.selectedCurrency));return this._currencyText.textContent!==t&&(this._currencyText.textContent=t,this._width=null),this._currencyArrowDown.classList.contains("js-hidden")!==e.readOnly&&(this._currencyArrowDown.classList.toggle("js-hidden",e.readOnly),this._currencyLabelTr.classList.toggle(f.readonly,e.readOnly),this._width=null),!0}setUnitInfo(e){if(null!==this._unitInfo&&this._unitInfo.selectedUnit===e.selectedUnit&&0===this._unitInfo.availableGroups.size==(0===e.availableGroups.size)&&this._unitInfo.originalUnits.size===e.originalUnits.size)return this._unitInfo=e,!1;this._unitInfo=e;const t=null===e.selectedUnit?Object(r.t)("Mixed"):Object(s.ensureDefined)(e.names.get(e.selectedUnit));return this._unitText.textContent!==t&&(this._unitText.textContent=t,this._width=null),this._unitArrowDown.classList.contains("js-hidden")!==(0===e.availableGroups.size)&&(this._unitArrowDown.classList.toggle("js-hidden",0===e.availableGroups.size),this._unitLabelTr.classList.toggle(f.readonly,0===e.availableGroups.size),this._width=null),!0}updateColors(e,t){const i=this._controlsContainer.style;i.background=e,i.color=t}currencyInfo(){return this._currencyInfo}unitInfo(){return this._unitInfo}setFontSize(e){this._fontSize!==e&&(this._fontSize=e,this._currencyLabelTr.style.fontSize=e+"px",this._unitLabelTr.style.fontSize=e+"px",this._width=null,this._setLineHeight(this._oneLineHeight()))}labelTop(){return Number(f.css_value_currency_label_top)}labelBottom(){const e=this.labelTop(),t=this._oneLineHeight();let i=e+t;return this._isMultiLine()&&(i+=t+1),i}_currencyTooltipContent(){const e=this._currencyInfo;return null===e?"":null===e.selectedCurrency?Array.from(e.currencies).map(t=>Object(s.ensureDefined)(e.displayedValues.get(t))).join(", "):""}_unitTooltipContent(){const e=this._unitInfo;return null===e?"":null===e.selectedUnit?Array.from(e.units).map(t=>Object(s.ensureDefined)(e.names.get(t))).join(", "):e.descriptions.get(e.selectedUnit)||""}_setLineHeight(e){this._currencyLabelTr.style.lineHeight=e+"px",this._unitLabelTr.style.lineHeight=e+"px"}_updateMultiLine(){this._controlsContainer.classList.toggle(f.multiline,this._isMultiLine())}_updateVisibility(){this._currencyAndUnitLabelsWrapper.classList.toggle("js-hidden",!this.isVisible())}_oneLineHeight(){return 7+this._fontSize}_isMultiLine(){return this.unitLabelVisible()&&this.currencyLabelVisible()}}async function v(e,t,s){const[r,n]=await Promise.all([Promise.all([i.e("react"),i.e(1),i.e(2),i.e(3),i.e(6),i.e(7),i.e(8),i.e(9),i.e(23),i.e(24),i.e(41),i.e(68),i.e(86),i.e(0),i.e(5),i.e(4),i.e(37),i.e("currency-label-menu")]).then(i.bind(null,"9agd")),t()]);return r.showUnitConversion(e,s,n)}var b=i("S8xo"),S=i("5VQP");i.d(t,"PriceAxisWidgetBase",(function(){return w}));const y={contextMenuEnabled:!0,currencyConversionEnabled:!1,unitConversionEnabled:!1,countdownEnabled:!0,contextMenu:{general:!0,source:!0},pressedMouseMoveScale:!0,croppedTickMarks:!0};class w{ +constructor(e,t,i,s,r,a){this._priceScale=null,this._widthCache=new l.a(500),this._color=null,this._fontSize=null,this._currencyFontSize=0,this._currencyLabelWidth=null,this._isVisible=!0,this._updateTimeout=null,this._currencyMenu=null,this._currencyMenuEnabled=!0,this._currencyMenuEventHandler=null,this._unitMenu=null,this._unitMenuEnabled=!0,this._unitMenuEventHandler=null,this._prevOptimalWidth=0,this._size=new n.Size(-1,-1),this._currentCursorClassName="",this._mouseDown=!1,this._destroyed=!1,this._pane=e,this._undoModel=t,this._properties=i,this._isLeft="left"===s,this._options=Object(o.merge)(Object(o.clone)(y),r),this._rendererOptionsProvider=a,this._cell=document.createElement("div"),this._cell.className="price-axis",this._cell.style.width="25px",this._cell.style.left="0",this._canvasConfiguredHandler=()=>{this._undoModel.model().lightUpdate()},this._canvasBinding=Object(n.createBoundCanvas)(this._cell,new n.Size(16,16)),this._canvasBinding.subscribeCanvasConfigured(this._canvasConfiguredHandler);const c=this._canvasBinding.canvas;c.style.position="absolute",c.style.zIndex="1",c.style.left="0",c.style.top="0",this._topCanvasConfiguredHandler=()=>this._undoModel.model().lightUpdate(),this._topCanvasBinding=Object(n.createBoundCanvas)(this._cell,new n.Size(16,16)),this._topCanvasBinding.subscribeCanvasConfigured(this._topCanvasConfiguredHandler);const h=this._topCanvasBinding.canvas;if(h.style.position="absolute",h.style.zIndex="2",h.style.left="0",h.style.top="0",this._options.currencyConversionEnabled||this._options.unitConversionEnabled){this._currencyLabel=new g,this._cell.appendChild(this._currencyLabel.element());const e=()=>this._currencyMenuEnabled=null===this._currencyMenu||!this._currencyMenu.isOpened(),t=()=>this._showCurrenciesContextMenu();this._currencyMenuEventHandler=new b.MouseEventHandler(this._currencyLabel.currencyLabelElement(),{touchStartEvent:e,mouseDownEvent:e,mouseClickEvent:t,tapEvent:t});const i=()=>this._unitMenuEnabled=null===this._unitMenu||!this._unitMenu.isOpened(),s=()=>this._showUnitsContextMenu();this._unitMenuEventHandler=new b.MouseEventHandler(this._currencyLabel.unitLabelElement(),{touchStartEvent:i,mouseDownEvent:i,mouseClickEvent:s,tapEvent:s})}else this._currencyLabel=null;this._properties.childs().fontSize.subscribe(this,this._onFontSizeChanged)}getElement(){return this._cell}onOptimalWidthNeedToBeRecalculated(e){const t=this.optimalWidth();(this._prevOptimalWidth{this._undoModel.model().fullUpdate(),this._updateTimeout=null},100)),this._prevOptimalWidth=t}optimalWidth(){var e;if(!this.isVisible())return 0;let t=0;const i=this.rendererOptions();if(this._pane.hasState()){const i=Object(n.getContext2D)(this._canvasBinding.canvas);Object(a.setFont)(i,this.baseFont());const s=this.backLabels(!0);for(let e=s.length;e--;){if(!s[e].isAxisLabelVisible())continue;const r=this._widthCache.measureText(i,s[e].text());t=Math.max(t,r);const n=s[e].secondLineText() +;n&&(t=Math.max(t,this._widthCache.measureText(i,n)));const o=s[e].thirdLineText();o&&(t=Math.max(t,this._widthCache.measureText(i,o)))}const r=this.priceScale(),o=r.marks(!0);o.length>0&&(t=Math.max(t,this._widthCache.measureText(i,o[0].label),this._widthCache.measureText(i,o[o.length-1].label)));const l=(null===(e=r.mainSource())||void 0===e?void 0:e.firstValue())||null;if(null!==l){const e=r.coordinateToPrice(1,l),s=r.coordinateToPrice(this._size.h-2,l);t=Math.max(t,this._widthCache.measureText(i,r.formatPrice(Math.floor(Math.min(e,s))+.11111111111111,l)),this._widthCache.measureText(i,r.formatPrice(Math.ceil(Math.max(e,s))-.11111111111111,l)))}}let r=0;this._isCurrencyLabelVisible()&&(null===this._currencyLabelWidth&&(this._currencyLabelWidth=Object(s.ensureNotNull)(this._currencyLabel).width()),r=this._currencyLabelWidth);const o=t||34;let l=Math.max(r,Math.ceil(i.borderSize+i.tickLength+i.paddingInner+i.paddingOuter+o+4));return l+=l%2,l}getImage(){const e=this._size,t=Object(n.createDisconnectedCanvas)(document,e);if(Object(n.getPrescaledContext2D)(t).drawImage(this._canvasBinding.canvas,0,0,e.w,e.h),null!==this._currencyLabel&&this._currencyLabel.isVisible()){const i=this._undoModel.model().isDark();this._currencyLabel.drawLabel(Object(n.getContext2D)(t),e.w,Object(n.getCanvasDevicePixelRatio)(t),i)}return t}priceScale(){return Object(s.ensureNotNull)(this._priceScale)}setPriceScale(e){this._priceScale!==e&&(null!==this._priceScale&&this._priceScale.onMarksChanged().unsubscribe(this,this.onOptimalWidthNeedToBeRecalculated),this._priceScale=e,null!==e&&e.onMarksChanged().subscribe(this,this.onOptimalWidthNeedToBeRecalculated))}isVisible(){return this._isVisible}setVisible(e){(e=!!e)!==this._isVisible&&(this._cell.style.display=e?"table-cell":"none",this._isVisible=e)}destroy(){null!==this._currencyMenu&&(this._currencyMenu.close(),this._currencyMenu=null),null!==this._currencyMenuEventHandler&&this._currencyMenuEventHandler.destroy(),null!==this._unitMenu&&(this._unitMenu.close(),this._unitMenu=null),null!==this._unitMenuEventHandler&&this._unitMenuEventHandler.destroy(),this._topCanvasBinding.unsubscribeCanvasConfigured(this._topCanvasConfiguredHandler),this._topCanvasBinding.destroy(),this._canvasBinding.unsubscribeCanvasConfigured(this._canvasConfiguredHandler),this._canvasBinding.destroy(),null!==this._priceScale&&this._priceScale.onMarksChanged().unsubscribe(this,this.onOptimalWidthNeedToBeRecalculated),this._priceScale=null,this._updateTimeout&&(clearTimeout(this._updateTimeout),this._updateTimeout=null),this._properties.childs().fontSize.unsubscribe(this,this._onFontSizeChanged),this._destroyed=!0}backgroundColor(){return this._pane.state().model().backgroundColor().value()}backgroundTopColor(){return this._pane.state().model().backgroundTopColor().value()}lineColor(){return this._properties.childs().lineColor.value()}textColor(){return this._properties.childs().textColor.value()}fontSize(){return this._properties.childs().fontSize.value()}baseFont(){ +return Object(c.makeFont)(this.fontSize(),u.CHART_FONT_FAMILY,"")}rendererOptions(){let e=this._rendererOptionsProvider.options();return this._color===e.color&&this._fontSize===e.fontSize||(this._color=e.color),this._fontSize!==e.fontSize&&(this._widthCache.reset(),this._fontSize=e.fontSize,this._currencyLabelWidth=null,this._currencyFontSize=0,this._updateCurrencyLabelFont(),this.onOptimalWidthNeedToBeRecalculated()),e}mouseEnterEvent(e){this._mouseEnterOrTouchStartEvent(e)}mouseMoveEvent(e){this._mouseOrTouchMoveEvent(e)}mouseDownEvent(e){this._mouseDownOrTouchStartEvent(e)}touchStartEvent(e){this._mouseOrTouchMoveEvent(e),this._mouseEnterOrTouchStartEvent(e),this._mouseDownOrTouchStartEvent(e)}pressedMouseMoveEvent(e){this._pressedMouseOrTouchMoveEvent(e)}touchMoveEvent(e){this._pressedMouseOrTouchMoveEvent(e)}mouseDownOutsideEvent(){if(!this._zoomAvailable()||!this._pane.hasState())return;const e=this._pane.state(),t=this.priceScale();this._mouseDown&&(this._mouseDown=!1,this._undoModel.endScalePrice(e,t),this.restoreDefaultCursor())}mouseUpEvent(e){this._mouseUpOrTouchEndEvent(e)}touchEndEvent(e){this._mouseLeaveOrTouchEndEvent(e),this._mouseUpOrTouchEndEvent(e)}mouseClickEvent(e){this._mouseClickOrTapEvent(e)}tapEvent(e){this._mouseClickOrTapEvent(e)}mouseLeaveEvent(e){this._mouseLeaveOrTouchEndEvent(e)}mouseDoubleClickEvent(e){this._mouseDoubleClickOrDoubleTapEvent(e)}doubleTapEvent(e){this._mouseDoubleClickOrDoubleTapEvent(e)}contextMenuEvent(e){this._contextMenuOrTouchContextMenuEvent(e)}touchContextMenuEvent(e){this._contextMenuOrTouchContextMenuEvent(e)}reset(){const e=this._pane.state(),t=this.priceScale();this._undoModel.resetPriceScale(e,t),this.onOptimalWidthNeedToBeRecalculated(!0)}sizeReady(){return this.getWidth()>=this.optimalWidth()&&null===this._updateTimeout}_isCurrencyLabelVisible(){return null!==this._currencyLabel&&this._currencyLabel.isVisible()}_updateCurrencyLabel(){if(null!==this._currencyLabel){if(this._options.currencyConversionEnabled){const e=this.priceScale().currency(this._undoModel.model().availableCurrencies());null!==e&&this._properties.childs().showCurrency.value()?(this._currencyLabel.showCurrency(),this._currencyLabel.updateColors(this.backgroundTopColor(),this.textColor()),this._currencyLabel.setCurrencyInfo(e)&&(this._currencyLabelWidth=null,this.onOptimalWidthNeedToBeRecalculated())):this._currencyLabel.hideCurrency()}if(this._options.unitConversionEnabled){const e=this.priceScale().unit(this._undoModel.model().availableUnits());null!==e&&this._properties.childs().showUnit.value()?(this._currencyLabel.showUnit(),this._currencyLabel.updateColors(this.backgroundTopColor(),this.textColor()),this._currencyLabel.setUnitInfo(e)&&(this._currencyLabelWidth=null,this.onOptimalWidthNeedToBeRecalculated())):this._currencyLabel.hideUnit()}this._updateCurrencyLabelFont()}}_updateCurrencyLabelFont(){if(null===this._currencyLabel)return;const e=this.fontSize();e!==this._currencyFontSize&&(this._currencyLabel.setFontSize(e),this._currencyFontSize=e,this._currencyLabelWidth=null, +this.onOptimalWidthNeedToBeRecalculated())}_alignLabels(){let e=this._size.h/2;const t=[],i=this.priceScale(),s=i.orderedSources().slice(),r=this._pane.state(),n=this.rendererOptions();if(i===r.defaultPriceScale()){const e=r.priceDataSources();for(let t=0;t!e.ignoreAlignment()&&e.isVisible());if(!i.length)continue;t.push(...i),o===n&&(e=i[0].floatCoordinate())}}const a=t.filter(t=>t.floatCoordinate()<=e),l=t.filter(t=>t.floatCoordinate()>e);a.sort((e,t)=>t.floatCoordinate()-e.floatCoordinate()),a.length>0&&l.length>0&&l.push(a[0]),l.sort((e,t)=>e.floatCoordinate()-t.floatCoordinate());for(const c of t)c.setFixedCoordinate(c.coordinate());if(i.properties().childs().alignLabels.value()){for(let e=1;eo-s&&t.setFixedCoordinate(o-s)}for(let e=1;e{if(this._options.croppedTickMarks)return{visible:!0,yCorrection:this._widthCache.yMidCorrection(e,t.label)};const i=t.coord-d/2,s=t.coord+d/2,r=!(s>this._size.h||ithis._size.h||i{for(let s=i.length;s--;){if(!_[s].visible)continue;const r=i[s];e.fillText(r.label,l/t,r.coord+_[s].yCorrection)}}),e.restore()}_hasAlertLabel(){return!1}_showCurrenciesContextMenu(){if(!this._currencyMenuEnabled)return;Object(h.trackEvent)("GUI","Currency conversion");v(Object(r.t)("Currencies"),()=>async function(e,t,s){return(await Promise.all([i.e("react"),i.e(1),i.e(2),i.e(3),i.e(6),i.e(7),i.e(8),i.e(9),i.e(23),i.e(24),i.e(41),i.e(68),i.e(86),i.e(0),i.e(5),i.e(4),i.e(37),i.e("currency-label-menu")]).then(i.bind(null,"aWqZ"))).currencyActions(e,t,s)}(this._undoModel,Object(s.ensureNotNull)(this._currencyLabel).currencyInfo(),this.priceScale()),Object(s.ensureNotNull)(this._currencyLabel).currencyLabelElement()).then(e=>{this._destroyed?e.close():this._currencyMenu=e})}_showUnitsContextMenu(){if(!this._unitMenuEnabled)return;Object(h.trackEvent)("GUI","Unit conversion") +;v(Object(r.t)("Units"),()=>async function(e,t,s){return(await Promise.all([i.e("react"),i.e(1),i.e(2),i.e(3),i.e(6),i.e(7),i.e(8),i.e(9),i.e(23),i.e(24),i.e(41),i.e(68),i.e(86),i.e(0),i.e(5),i.e(4),i.e(37),i.e("currency-label-menu")]).then(i.bind(null,"hpdS"))).unitActions(e,t,s)}(this._undoModel,Object(s.ensureNotNull)(this._currencyLabel).unitInfo(),this.priceScale()),Object(s.ensureNotNull)(this._currencyLabel).unitLabelElement()).then(e=>{this._destroyed?e.close():this._unitMenu=e})}_onFontSizeChanged(){this._currencyLabelWidth=null,this._currencyFontSize=0,this._updateCurrencyLabelFont(),this.onOptimalWidthNeedToBeRecalculated()}_mouseOrTouchMoveEvent(e){if(!this._priceScale)return;this.dataSourceAtPoint(e.localX,e.localY)?this._setCursorClassName("pointer"):this._setResizeCursor()}_mouseDownOrTouchStartEvent(e){if(!this._zoomAvailable())return;const t=this._pane.state();this._mouseDown=!0,this._undoModel.startScalePrice(t,this.priceScale(),e.localY)}_mouseEnterOrTouchStartEvent(e){this._setResizeCursor()}_pressedMouseOrTouchMoveEvent(e){if(!this._zoomAvailable())return;const t=this._pane.state(),i=this.priceScale();this._undoModel.scalePriceTo(t,i,e.localY)}_mouseUpOrTouchEndEvent(e){if(!this._zoomAvailable())return;const t=this._pane.state(),i=this.priceScale();this._mouseDown=!1,this._undoModel.endScalePrice(t,i),this.restoreDefaultCursor()}_mouseClickOrTapEvent(e){const t=this.dataSourceAtPoint(e.localX,e.localY);t&&this._undoModel.selectionMacro(e=>{e.selection().isSelected(t)||(e.clearSelection(),e.addSourceToSelection(t))})}_mouseLeaveOrTouchEndEvent(e){this._setCursorClassName("")}_mouseDoubleClickOrDoubleTapEvent(e){const t=this.dataSourceAtPoint(e.localX,e.localY);t?this._pane.processDoubleClickOnSource(t):(this.reset(),Object(h.trackEvent)("GUI","Double click price scale"))}_contextMenuOrTouchContextMenuEvent(e){if(this._options.contextMenuEnabled){const t=this.dataSourceAtPoint(e.localX,e.localY);if(null!==t&&this._options.contextMenu.source){return void this._undoModel.model().selectionMacro(i=>{i.selection().isSelected(t)||(i.clearSelection(),i.addSourceToSelection(t)),this._pane.showContextMenuForSelection(e)})}this._options.contextMenu.general&&S.ContextMenuManager.createMenu(this.getContextMenuActions(),{statName:"PriceScaleContextMenu"}).then(t=>t.show(e))}}_setResizeCursor(){const e=this.priceScale();e.isPercentage()||e.isIndexedTo100()?this._setCursorClassName(""):this._zoomAvailable()&&this._setCursorClassName("ns-resize")}_setCursorClassName(e){let t="";e&&(t="price-axis--cursor-"+e),this._currentCursorClassName!==t&&(this._currentCursorClassName&&this._cell.classList.remove(this._currentCursorClassName),t&&this._cell.classList.add(t),this._currentCursorClassName=t)}_zoomAvailable(){return!this.priceScale().isEmpty()&&this._undoModel.model().zoomEnabled()&&this._options.pressedMouseMoveScale}}},"y/Xm":function(e,t,i){"use strict";i.r(t),i.d(t,"StudyOverlayBase",(function(){return y})) +;var s=i("Eyy1"),r=i("qFKp"),n=i("GVHu"),o=i("XPit"),a=i("n5al"),l=i("tc+8"),c=i.n(l),h=i("5fI3"),u=i("Kxc7"),d=i("wOSo"),p=i("BZtw"),_=i("pPtI"),m=i("k9/m");const f=r.CheckMobile.any()&&!1,g=u.enabled("uppercase_instrument_names"),v=u.enabled("study_overlay_compare_legend_option"),b=u.enabled("secondary_series_extend_time_scale");function S(e,t){return null==e[t]}class y extends n.Study{constructor(e,t,i,s){t.hasChild("currencyId")||t.addChild("currencyId",new c.a(null)),t.hasChild("unitId")||t.addChild("unitId",new c.a(null)),super(e,t,i,s),this._seriesSource=null,this.m_data=new m.PlotList(Object(o.seriesPlotFunctionMap)(),S),this._quotesProvider=new d.a,f&&this._quotesProvider.quotesUpdate().subscribe(this,this._onQuotesUpdate),this.properties().childs().currencyId.subscribe(this,this._onCurrencyChanged),this.properties().childs().unitId.subscribe(this,this._onUnitChanged),this.properties().childs().allowExtendTimeScale.subscribe(this,this._onAllowExtendTimeScaleChanged),this._onAllowExtendTimeScaleChanged()}symbol(){const e=this.properties().childs().inputs.childs().symbol.value(),t=this.symbolInfo(),i=t?t.name:e;return g?i.toUpperCase():i}setSymbol(e){this._properties.inputs.symbol.setValue(e)}symbolInfo(){if(!this._resolvedSymbols)return null;const e=this._properties.inputs.symbol.value();return e&&this._resolvedSymbols[this._resolvedSymbolKey(e)]||null}data(){return null===this._seriesSource?super.data():this._seriesSource.data().bars()}symbolResolved(){return this.symbolsResolved()}quotes(){return this._quotesProvider.quotes()}currency(){return this._properties.currencyId.value()||null}setCurrency(e){this._properties.currencyId.setValue(e)}isConvertedToOtherCurrency(){return Object(a.isConvertedToOtherCurrency)(this.symbolInfo())}unit(){return this._properties.unitId.value()||null}setUnit(e){this._properties.unitId.setValue(e)}isConvertedToOtherUnit(){return Object(a.isConvertedToOtherUnit)(this.symbolInfo())}symbolSource(){return this}state(e,t){const i=super.state(e,t);return i}symbolTitle(e,t){return this.title(!0,{},!1,e)}title(e,t,i,s){const r=this._titleInParts(e,t,i,s).join(", ");return g?r.toUpperCase():r}titleInParts(e,t,i,s){const r=this._titleInParts(e,t,i,s).join(", ");return[g?r.toUpperCase():r]}isStarted(){return null===this._seriesSource?super.isStarted():this._seriesSource.isStarted()}sourceId(){return null===this._seriesSource?super.sourceId():Object(s.ensureNotNull)(this._seriesSource.instanceId())}moveData(e){null===this._seriesSource?super.moveData(e):this._seriesSource.moveData(e)}_resolvedSymbolKey(e,t,i){const s=null!=t?t:this.currency(),r=null!=i?i:this.unit();return e+(null===s?"":"_#_"+s)+(null===r?"":"_#_"+r)}_addSymbolToMap(e,t){var i,s;const r=this._resolvedSymbolKey(e,null!==(i=Object(a.symbolCurrency)(t))&&void 0!==i?i:void 0,null!==(s=Object(a.symbolUnit)(t))&&void 0!==s?s:void 0);this._resolvedSymbols[r]=t}_onCurrencyChanged(){this.isStarted()&&this._tryChangeInputs(),this._currencyChanged.fire()}_onUnitChanged(){this.isStarted()&&this._tryChangeInputs(), +this._unitChanged.fire()}_getSymbolObject(e){const t=super._getSymbolObject(e),i=this.currency();null!==i&&(t["currency-id"]=i);const s=this.unit();return null!==s&&(t["unit-id"]=s),t}_onSymbolResolved(e,t){super._onSymbolResolved(e,t),f&&this._setQuotesSymbol(e),this.setCurrency(Object(a.symbolCurrency)(t)),this.setUnit(Object(a.symbolUnit)(t)),this.model().realignLineTools()}_setQuotesSymbol(e){const t=this.symbolInfo(),i=Object(a.extractSymbolNameFromSymbolInfo)(t,e);this._quotesProvider.setQuotesSessionSymbol(i)}_createStudyOnServer(){null===this._seriesSource?super._createStudyOnServer():this._modifyStudyOnServer(Object(s.ensureDefined)(this._inputs))}_modifyStudyOnServer(e){null===this._seriesSource?super._modifyStudyOnServer(e):(this._seriesSource.modifySeries(Object(h.decodeExtendedSymbol)(e.symbol),Object(_.getServerInterval)(this._series.properties().interval.value())),this._seriesSource.isStarted()||this._seriesSource.start())}_stopStudyOnServer(){null===this._seriesSource?super._stopStudyOnServer():this._seriesSource.stop()}_titleInParts(e,t,i,s){const r=this.properties().childs().inputs.childs().symbol.value(),n=this.symbolInfo();let o;if(n){if(o=n.name,v){const e=this._model.mainSeries().properties().statusViewStyle.symbolTextSource.value();"description"===e?o=n.description:"ticker-and-description"===e&&(o=`${n.name}, ${n.description}`)}if(!s&&n.exchange&&0!==n.exchange.length)return[o,[n.exchange]]}else o=r;return[o]}_onAllowExtendTimeScaleChanged(){const e=this.isStarted();if(e&&this.stop(!0),b&&this.properties().childs().allowExtendTimeScale.value()){this._seriesSource=new p.SeriesDataSource(this._model.chartApi(),"st_o_");const e=this._seriesSource.dataEvents();e.seriesError().subscribe(this,e=>{this._onStudyError(e)}),e.loading().subscribe(this,this._onStudyLoading),e.completed().subscribe(this,(e,t)=>{this._onStudyCompleted(t)}),e.dataUpdated().subscribe(this,()=>{const e=this._model.paneForSource(this);this._model.recalculatePane(e),this._updateSources(),this.priceRangeReady()||this._enablePriceRangeReady()})}else{if(null!==this._seriesSource){const e=this._seriesSource.dataEvents();e.seriesError().unsubscribeAll(this),e.loading().unsubscribeAll(this),e.completed().unsubscribeAll(this),e.dataUpdated().unsubscribeAll(this),this._seriesSource.destroy()}this._seriesSource=null}e&&this.start(!0)}}},yMne:function(e,t,i){"use strict";i.d(t,"b",(function(){return r})),i.d(t,"a",(function(){return n}));var s=i("J2xC");const r=parseInt(s["css-value-header-toolbar-height"]),n=3},yUly:function(e,t,i){"use strict";var s=i("Ss5c").LineDataSource,r=i("5rJj"),n=i("j3hX"),o=n.LineToolWidthsProperty,a=n.LineToolColorsProperty;class l extends s{constructor(e,t){super(e,t||l.createProperties()),this.version=l.version,i.e("lt-pane-views").then(i.t.bind(null,"SvjA",7)).then(({TrendBasedFibTimePaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}levelsCount(){return l.LevelsCount}pointsCount(){return 3}name(){return"Trend-Based Fib Time"}migrateVersion(e,t,i){}processErase(e,t){ +var i="level"+t,s=this.properties()[i].visible;e.setProperty(s,!1,"Erase level line")}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(33),i.e("lt-property-pages-with-definitions")]).then(i.bind(null,"u52p"))).TrendBasedFibTimeDefinitionsViewModel}static createProperties(e){var t=new r("linetooltrendbasedfibtime",e,!1,{range:[1,11]});return l._configureProperties(t),t}static _configureProperties(e){s._configureProperties(e);for(var t=[e.child("trendline").child("linewidth")],i=[e.child("trendline").child("color")],r=1;r<=l.LevelsCount;r++)t.push(e.child("level"+r).child("linewidth")),i.push(e.child("level"+r).child("color"));e.addChild("linesColors",new a(i)),e.addChild("linesWidths",new o(t))}}l.LevelsCount=11,l.version=1,t.LineToolTrendBasedFibTime=l},yfAl:function(e,t,i){"use strict";i.r(t);var s=i("aO4+"),r=i("Eyy1"),n=i("txPx"),o=i("aIyQ"),a=i.n(o),l=i("e3/o"),c=i("Y7w9"),h=i("GxN8"),u=i("7ktv"),d=i("MWAT"),p=i("CW80"),_=i("s1Gx");const m=new Map([["trading",e=>Object(p.isTrading)(e)],["drawing",e=>Object(p.isLineTool)(e)&&!Object(p.isTrading)(e)&&!e.isPhantom()],["drawingsForAllSymbols",e=>Object(p.isLineTool)(e)&&!Object(p.isTrading)(e)&&!e.isPhantom()],["phantom",e=>Object(p.isLineTool)(e)&&e.isPhantom()],["restRowSources",e=>!Object(p.isLineTool)(e)&&!Object(p.isTrading)(e)],["leftPriceScale",(e,t)=>"left"===g(e,t)],["rightPriceScale",(e,t)=>"right"===g(e,t)],["overlayPriceScale",(e,t)=>"overlay"===g(e,t)]]),f=new Map([["trading","visibleSorted"],["drawing","visibleSorted"],["drawingsForAllSymbols","allSorted"],["phantom","visibleSorted"],["restRowSources","visibleSorted"],["leftPriceScale","visibleSorted"],["rightPriceScale","visibleSorted"],["overlayPriceScale","visibleSorted"]]);function g(e,t){const i=e.priceScale();return null===i?"overlay":t.priceScalePosition(i)}class v{constructor(e){this._groupedSources=new Map,this._sources=null,this._pane=e}clear(){this._groupedSources.clear(),this._sources=null}destroy(){this.clear()}all(){return this._groupedSources.has("visibleSorted")||this._sortSources(),Object(r.ensureDefined)(this._groupedSources.get("visibleSorted"))}allIncludingHidden(){return this._groupedSources.has("allSorted")||this._sortSources(),Object(r.ensureDefined)(this._groupedSources.get("allSorted"))}allExceptSpecialSources(){if(!this._groupedSources.has("exceptSpecial")){const e=this.allIncludingHidden().filter(e=>e.zorder()<_.specialZOrderBase);this._groupedSources.set("exceptSpecial",e)}return Object(r.ensureDefined)(this._groupedSources.get("exceptSpecial"))}tradingSources(){return this._getSourcesByGroupType("trading")}lineSources(){return this._getSourcesByGroupType("drawing")}lineSourcesForAllSymbols(){return this._getSourcesByGroupType("drawingsForAllSymbols")}phantomSources(){return this._getSourcesByGroupType("phantom")}allExceptLineAndTradingSources(){return this._getSourcesByGroupType("restRowSources")}hitTestSources(){if(!this._groupedSources.has("hitTest")){const e=this.allExceptLineAndTradingSources().concat(this.lineSources()) +;this._groupedSources.set("hitTest",e)}return Object(r.ensureDefined)(this._groupedSources.get("hitTest"))}generalSources(){if(!this._groupedSources.has("general")){const e=this.allExceptLineAndTradingSources().concat(this.lineSources());this._groupedSources.set("general",Object(_.sortSources)(e))}return Object(r.ensureDefined)(this._groupedSources.get("general"))}leftPriceScalesSources(){return this._getSourcesByGroupType("leftPriceScale")}rightPriceScalesSources(){return this._getSourcesByGroupType("rightPriceScale")}overlayPriceScaleSources(){return this._getSourcesByGroupType("overlayPriceScale")}_getSourcesByGroupType(e){const t=Object(r.ensureDefined)(f.get(e));return this._groupedSources.has(t)?this._groupedSources.has(e)||this._groupSources(e):(this._sortSources(),this._groupSources(e)),Object(r.ensureDefined)(this._groupedSources.get(e))}_sortSources(){null===this._sources&&(this._sources=this._pane.dataSources());const e=Object(_.sortSources)(this._sources),t=e.filter(e=>!Object(p.isLineTool)(e)||e.isActualSymbol()&&e.isActualCurrency()&&e.isActualUnit());this._groupedSources.set("allSorted",e),this._groupedSources.set("visibleSorted",t)}_groupSources(e){const t=Object(r.ensureDefined)(f.get(e)),i=m.get(e);if(void 0!==i){const s=Object(r.ensureDefined)(this._groupedSources.get(t)).filter(e=>i(e,this._pane));this._groupedSources.set(e,s)}}}var b=i("1Wlv"),S=i("FaJS"),y=i("Qb4w");i.d(t,"PaneBase",(function(){return P}));const w=Object(n.getLogger)("Chart.Pane");function C(e,t,i){e.setMargins({top:t,bottom:i})}class P{constructor(e,t,i,s){this.m_dataSources=[],this._sourceAlertSubscriptions=new Map,this.m_mainDataSource=null,this._cachedOrderedSources=new v(this),this._sourcesById=new Map,this._dataSourcesCollectionChanged=new a.a,this._sourcePropertiesChanged=new a.a,this._sourcesZOrderChanged=new a.a,this._tagsChanged=new a.a,this._stretchFactor=1e3,this._isInInsertManyDataSourcesState=!1,this._lastLineDataSourceZOrder=null,this._rightPriceScales=[],this._leftPriceScales=[],this._lockedPriceScale=null,this._currentPriceScaleRatio=null,this._onPriceScalesChanged=new a.a,this._isRecalculatingScales=!1,this._priceDataSources=[],this._bulkActionsActive=0,this._priceScaleSelectionStrategy=Object(d.createPriceScaleSelectionStrategy)(i.properties().priceScaleSelectionStrategyName.value()),this._id=null!=s?s:Object(l.randomHashN)(6)}id(){return this._id}bulkActionMacro(e){this._bulkActionsActive+=1,e(),this._bulkActionsActive-=1,0===this._bulkActionsActive&&this._dataSourcesCollectionChanged.fire()}sourcesByGroup(){return this._cachedOrderedSources}dataSourceForId(e){return this._sourcesById.get(e)||null}changeSourceId(e,t){Object(r.assert)(this.hasDataSource(e)),this._sourcesById.delete(e.id()),e.setId(t),this._sourcesById.set(t,e)}movePriceScale(e,t,i){const s=this.priceScalePosition(e);if(s!==t)this.removePriceScale(e),this._placePriceScale(e,t,i),e.invalidateMargins(),this._invalidateSourcesCache();else if(void 0!==i&&"overlay"!==s){const t="left"===s?this._leftPriceScales:this._rightPriceScales,r=t.indexOf(e) +;t.splice(r,1),t.splice(i,0,e)}}isEmpty(){return null===this.m_mainDataSource}recalculatePriceScale(e){if(!e)return;const t=e.sourcesForAutoscale();if((e.isAutoScale()||e.priceRangeShouldBeRecalculatedOnce())&&t&&t.length>0&&!this.timeScale().isEmpty()){const t=this.timeScale().visibleBarsStrictRange();e.recalculatePriceRange(t)}e.updateAllViews()}onSourceTagsChanged(){this._tagsChanged.fire()}getZOrderMinMax(){const e=this.sourcesByGroup().all();if(0===e.length)return{minZOrder:0,maxZOrder:0};let t=1/0,i=-1/0;for(const s of e)if(!Object(_.isSpeciallyZOrderedSource)(s)){const e=s.zorder();t=Math.min(t,e),i=Math.max(i,e)}return{minZOrder:t,maxZOrder:i}}insertDataSource(e,t,i){t||(t=this.findSuitableScale(e)),this._addSourceToCollections(e);let s=!1;(e===this.model().mainSeries()||null===this.m_mainDataSource)&&(this.m_mainDataSource=e,s=!0),t.addDataSource(e,this._isInInsertManyDataSourcesState),e.setPriceScale(t),t.invalidateMargins(),e.onTagsChanged&&e.onTagsChanged().subscribe(this,this.onSourceTagsChanged),e.setZorder(i),s&&this._processMainSourceChange(),this._tagsChanged.fire(),e instanceof u.PriceDataSource&&this.recalculatePriceScale(t),this._invalidateSourcesCache()}addDataSource(e,t,i){let s=e.zorder();i||(Object(p.isLineTool)(e)?(s=null!==this._lastLineDataSourceZOrder?this._lastLineDataSourceZOrder:this._newZOrderForLineTool(),this._isInInsertManyDataSourcesState&&(this._lastLineDataSourceZOrder=s)):s=this.getZOrderMinMax().minZOrder-1),this.insertDataSource(e,t,s)}removeDataSource(e,t,i){const s=this.m_dataSources.indexOf(e);if(-1===s)return void w.logDebug("removeDataSource: invalid data source");this._removeSourceFromCollections(s,!!i),e!==this.m_mainDataSource||t||(this.m_mainDataSource=null);const r=e.priceScale();this._removeSourceFromPriceScale(e),e.onTagsChanged&&e.onTagsChanged().unsubscribe(this,this.onSourceTagsChanged),e instanceof u.PriceDataSource&&!t&&this._processMainSourceChange(),this._tagsChanged.fire(),r&&e instanceof u.PriceDataSource&&this.recalculatePriceScale(r),this._invalidateSourcesCache()}hasDataSource(e){return this._sourcesById.has(e.id())}dataSources(){return this.m_dataSources}priceDataSources(){return this._priceDataSources}replaceSource(e,t,i){const s=this.m_mainDataSource===e,r=e.zorder();this.insertDataSource(t,i,r),this.removeDataSource(e,s),this._sourcesById.set(t.id(),t),s&&(this.m_mainDataSource=t,this._processMainSourceChange())}isOverlay(e){const t=e.priceScale();return null===t||"overlay"===this.priceScalePosition(t)}updateAllViews(){for(const e of this.m_dataSources)e.updateAllViews();for(const e of this.model().customSources())e.updateViewsForPane(this)}priceScalePosition(e){return this._leftPriceScales.includes(e)?"left":this._rightPriceScales.includes(e)?"right":"overlay"}createPriceScaleAtPosition(e,t){const i=this.properties().childs().axisProperties.state();i.autoScale=!0;const s=new b.PriceScale(this.model().properties().scalesProperties,i);return s.setHeight(this.height()),C(s,this._defaultTopMargin(),this._defaultBottomMargin()), +this._placePriceScale(s,e,t),s}removePriceScale(e){e.modeChanged().unsubscribeAll(this),e.priceRangeChanged().unsubscribeAll(this),e.internalHeightChanged().unsubscribeAll(this),e===this._lockedPriceScale&&(this._lockedPriceScale=null,this._currentPriceScaleRatio=null);const t=this._leftPriceScales.indexOf(e);-1!==t&&(this._leftPriceScales[t].invalidateMargins(),this._leftPriceScales.splice(t,1));const i=this._rightPriceScales.indexOf(e);if(-1!==i&&(this._rightPriceScales[i].invalidateMargins(),this._rightPriceScales.splice(i,1)),null===e.mainSource()){const t=e.dataSources().length;0!==t&&w.logError("Invalid priceScale state: empty mainSource but non-empty data sources="+t)}this._onPriceScalesChanged.fire()}move(e,t,i){const s=e.priceScale();this._removeSourceFromPriceScale(e),t.addDataSource(e),e.setPriceScale(t),t.invalidateMargins(),this._processMainSourceChange(),this._invalidateSourcesCache(),e.isIncludedInAutoScale()&&(null!==s&&this.recalculatePriceScale(s),this.recalculatePriceScale(t)),this._onPriceScalesChanged.fire()}setZOrder(e,t){e.setZorder(t),this._invalidateSourcesCache(),0===this._bulkActionsActive&&this._dataSourcesCollectionChanged.fire()}setZOrders(e){e.forEach((e,t)=>{t.setZorder(e)}),this._invalidateSourcesCache(),0===this._bulkActionsActive&&this._dataSourcesCollectionChanged.fire(),this.model().lightUpdate()}containsMainSeries(){return this._sourcesById.has(this.model().mainSeries().id())}applyPriceScaleRatio(e,t){var i;null!==this._lockedPriceScale&&this._lockedPriceScale!==e||this._currentPriceScaleRatio===t||!this.isMainPane()||null===this._lockedPriceScale&&e!==(null===(i=this.mainDataSource())||void 0===i?void 0:i.priceScale())||(this._setNewPriceRangeByScaleRatio(e,t,this._mainSourceVisiblePriceRange(e),!0,!0),null!==this._lockedPriceScale?this._tryToApplyNewPriceScaleRatio():e.isLog()||this.model().mainSeriesScaleRatioPropertyOnChanged())}sendToBack(e){this._batchReorder(e,0,c.moveBefore)}bringToFront(e){const t=this.sourcesByGroup().allExceptSpecialSources().length-1;this._batchReorder(e,t,c.moveAfter)}sendBackward(e){const t=this.sourcesByGroup().allIncludingHidden(),i=t.indexOf(e[0]);if(0===i)this.bringToFront(e);else{const s=t[i-1];this.insertBefore(e,s)}}bringForward(e){const t=this.sourcesByGroup().allExceptSpecialSources(),i=t.indexOf(e[e.length-1]);if(i===t.length-1)this.sendToBack(e);else{const s=t[i+1];this.insertAfter(e,s)}}insertAfter(e,t){const i=this.sourcesByGroup().allIncludingHidden().indexOf(t);this._batchReorder(e,i,c.moveAfter)}insertBefore(e,t){const i=this.sourcesByGroup().allIncludingHidden().indexOf(t);this._batchReorder(e,i,c.moveBefore)}priceScaleSelectionStrategy(){return this._priceScaleSelectionStrategy}findTargetPriceAxisViews(e,t,i,s){if(Object(h.a)(e)&&this.model().paneForSource(e)!==this)return[];const r=e.priceScale();if(t===r)return i;if(null===r)return[];if("overlay"===this.priceScalePosition(r))return t===this.defaultPriceScale()?i:[];const n=this.priceScalePosition(t);if(n!==this.priceScalePosition(r))return[] +;const o="left"===n?this.leftPriceScales():this.rightPriceScales();return o.indexOf(t)(e.paneViews(this)||[]).some(e=>{const r=e.renderer(t,i);return r&&r.doesIntersectWithBox&&r.doesIntersectWithBox(s)}))}logicalRectToPixels(e){const t=this.defaultPriceScale(),i=this.timeScale(),n=Object(r.ensureNotNull)(Object(r.ensureNotNull)(t.mainSource()).firstValue()),o=t.priceToCoordinate(e.p1.price,n),a=i.indexToCoordinate(e.p1.index),l=t.priceToCoordinate(e.p2.price,n),c=i.indexToCoordinate(e.p2.index),h=new s.Point(Math.min(a,c),Math.min(o,l)),u=new s.Point(Math.max(a,c),Math.max(o,l));return Object(s.box)(h,u)}clipboardLineToolOwnerSource(e){const t=this.dataSourceForId(e);if(null!==t){const e=t.ownerSource();if(null!==e&&null!==e.firstValue())return e}const i=this.mainDataSource();if(null!==i&&null!==i.firstValue())return i;for(const s of this.dataSources())if(s instanceof u.PriceDataSource&&null!==s.firstValue())return s;return null}realignLineTools(){let e=!1;for(const t of this.m_dataSources)Object(p.isLineTool)(t)&&(t.calcIsActualSymbol(),t.updateAllViews(),e=!0);return this._invalidateSourcesCache(),e}startScalePrice(e,t){e.startScale(t)}scalePriceTo(e,t){e.scaleTo(t),this.updateAllViews()}endScalePrice(e){e.endScale()}resetPriceScale(e){const t=this.timeScale().visibleBarsStrictRange();e.isLockScale()||e.setMode({autoScale:!0}),e.recalculatePriceRange(t),this.updateAllViews()}restorePriceScaleState(e,t){e.restoreState(t),this.updateAllViews()}_addSourceToCollections(e,t){this.m_dataSources.push(e),this._sourcesById.set(e.id(),e),this._invalidateSourcesCache(),t||0!==this._bulkActionsActive||this._dataSourcesCollectionChanged.fire();const i=()=>{this._sourcePropertiesChanged.fire(e)};e.properties().subscribe(this,i),e.zOrderChanged().subscribe(this,t=>this._sourcesZOrderChanged.fire(e,t)),Object(p.isLineTool)(e)&&(e.normalizedPointsChanged().subscribe(this,i),e.hasAlert.subscribe(i)),e instanceof u.PriceDataSource&&(e.currencyChanged().subscribe(this,()=>this._invalidateSourcesCache()),e.unitChanged().subscribe(this,()=>this._invalidateSourcesCache()),this._priceDataSources.push(e)),this._sourceAlertSubscriptions.set(e.id(),i),e.isMultiPaneAvailable()&&this.model().addMultiPaneSource(e)} +_removeSourceFromCollections(e,t){const i=this.m_dataSources[e];i.properties().unsubscribeAll(this),i.zOrderChanged().unsubscribeAll(this),this.m_dataSources.splice(e,1),this._sourcesById.delete(i.id());const s=i.id();if(this._sourceAlertSubscriptions.has(s)&&(i.hasAlert.unsubscribe(this._sourceAlertSubscriptions.get(s)),this._sourceAlertSubscriptions.delete(s)),this._invalidateSourcesCache(),t||0!==this._bulkActionsActive||this._dataSourcesCollectionChanged.fire(),i instanceof u.PriceDataSource){i.currencyChanged().unsubscribeAll(this),i.unitChanged().unsubscribeAll(this);const e=this._priceDataSources.indexOf(i);Object(r.assert)(-1!==e),this._priceDataSources.splice(e,1)}i.isMultiPaneAvailable()&&this.model().removeMultiPaneSource(i)}_recalculatePriceScaleByScaleRatio(e){this.isMainPane()&&e===this._lockedPriceScale&&(null!==this._currentPriceScaleRatio?this._applyOldScaleRatioToPriceScale():this._tryToApplyNewPriceScaleRatio())}_defaultBottomMargin(){return.01*this.properties().childs().bottomMargin.value()}_defaultTopMargin(){return.01*this.properties().childs().topMargin.value()}_updateMargins(){const e=this._defaultTopMargin(),t=this._defaultBottomMargin();for(const i of this._leftPriceScales)C(i,e,t);for(const i of this._rightPriceScales)C(i,e,t);for(const i of this.m_dataSources)if(this.isOverlay(i)){const s=i.priceScale();null!==s&&(C(s,e,t),this.recalculatePriceScale(s))}for(const i of this._leftPriceScales)this.recalculatePriceScale(i);for(const i of this._rightPriceScales)this.recalculatePriceScale(i);this.updateAllViews()}_batchReorder(e,t,i){i(this.sourcesByGroup().allIncludingHidden(),e,t).forEach((e,t)=>e.setZorder(t+1)),this._invalidateSourcesCache(),this._dataSourcesCollectionChanged.fire(),this.model().fullUpdate()}_placePriceScale(e,t,i){if("overlay"===t)return void e.invalidateMargins();const s="left"===t?this._leftPriceScales:this._rightPriceScales,n=void 0===i?s.length:i;s.splice(n,0,e),e.modeChanged().subscribe(this,this._onPriceScaleModeChanged.bind(this,e)),e.internalHeightChanged().subscribe(this,this._recalculatePriceScaleByScaleRatio.bind(this,e)),e.priceRangeChanged().subscribe(this,this._recalculateTimeScaleByScaleRatio.bind(this,e)),e.priceRangeChanged().subscribe(this,this._onPriceScaleSetMinMaxPriceRange.bind(this,e)),e.isLockScale()&&(Object(r.assert)(null===this._lockedPriceScale),this._lockedPriceScale=e,this._currentPriceScaleRatio=null),e.invalidateMargins(),this._onPriceScalesChanged.fire()}_onPriceScaleModeChanged(e,t,i){if(i.lockScale&&(this._lockedPriceScale!==e&&null!==this._lockedPriceScale&&this._lockedPriceScale.setMode({lockScale:!1}),this._lockedPriceScale=e,this._currentPriceScaleRatio=Object(S.scaleRatio)(this.timeScale(),e)),t.lockScale&&!i.lockScale&&(this._lockedPriceScale=null,this._currentPriceScaleRatio=null),t.percentage===i.percentage&&t.indexedTo100===i.indexedTo100)return;const s=this.timeScale().visibleBarsStrictRange();null!==s&&(e.recalculatePriceRange(s),e.updateAllViews())}_applyOldScaleRatioToPriceScale(){ +this._isRecalculatingScales||null===this._currentPriceScaleRatio||null===this._lockedPriceScale||(this._isRecalculatingScales=!0,this._setNewPriceRangeByScaleRatio(this._lockedPriceScale,this._currentPriceScaleRatio,this._mainSourceVisiblePriceRange(this._lockedPriceScale)),this._isRecalculatingScales=!1)}_setNewPriceRangeByScaleRatio(e,t,i,s,r){const n=Object(S.priceRangeByScaleRatio)(e,this.timeScale().barSpacing(),t);e.setPriceRange(null!==n?n:i,s,r)}_applyOldScaleRatioToTimeScale(){this._isRecalculatingScales||null===this._currentPriceScaleRatio||(this._isRecalculatingScales=!0,this._setNewBarSpacingByScaleRatio(),this._isRecalculatingScales=!1)}_tryToApplyNewPriceScaleRatio(){const e=Object(r.ensureNotNull)(this._lockedPriceScale),t=Object(S.scaleRatio)(this.timeScale(),e);this._currentPriceScaleRatio===t||e.isLog()||(this._currentPriceScaleRatio=t,this.model().mainSeriesScaleRatioPropertyOnChanged())}_recalculateTimeScaleByScaleRatio(e){e===this._lockedPriceScale&&(null!==this._currentPriceScaleRatio?this._applyOldScaleRatioToTimeScale():this._tryToApplyNewPriceScaleRatio())}_setNewBarSpacingByScaleRatio(){const e=this.timeScale().getValidBarSpacing(Object(S.barSpacingByScaleRatio)(Object(r.ensureNotNull)(this._lockedPriceScale),this._currentPriceScaleRatio));this.timeScale().isValidBarSpacing(e)&&this.timeScale().setBarSpacing(e)}_mainSourceVisiblePriceRange(e){const t=this.timeScale().visibleBarsStrictRange();return null!==t?Object(r.ensureNotNull)(Object(r.ensureNotNull)(e.mainSource()).priceRange(t.firstBar(),t.lastBar())):new y.PriceRange(-.5,.5)}_setMinMaxPriceRange(){const e=Object(r.ensureNotNull)(this._lockedPriceScale),t=Object(S.priceRangeByScaleRatio)(e,this.timeScale().maxBarSpacing(),this._currentPriceScaleRatio),i=Object(S.priceRangeByScaleRatio)(e,this.timeScale().minBarSpacing(),this._currentPriceScaleRatio);null!==t&&e.setMaxPriceRange(t),null!==i&&e.setMinPriceRange(i)}_onPriceScaleSetMinMaxPriceRange(e){e===this._lockedPriceScale&&this._setMinMaxPriceRange()}_removeSourceFromPriceScale(e){const t=e.priceScale();if(t&&t.dataSources().indexOf(e)>=0&&t.removeDataSource(e),t&&null===t.mainSource()){const e=t.dataSources().length;0!==e&&w.logError("Invalid priceScale state: empty mainSource but non-empty data sources="+e),this.removePriceScale(t)}}}},yi8X:function(e,t,i){"use strict";i.r(t),i.d(t,"LineToolInfoLine",(function(){return n}));var s=i("Ocx9"),r=i("WPQD");class n extends r.LineToolTrendLine{constructor(e,t){super(e,t||n.createProperties())}pointsCount(){return 2}name(){return"Info Line"}static createProperties(e){const t=new s.DefaultProperty("linetoolinfoline",e);return n._configureProperties(t),t}static _configureProperties(e){r.LineToolTrendLine._configureProperties(e)}}},"z+Sa":function(e,t,i){"use strict";i.r(t),i.d(t,"SeriesHorizontalBaseLinePaneView",(function(){return r}));var s=i("k4w6");class r extends s.a{constructor(e){super(e)}_updateImpl(){this._lineRendererData.visible=!1;const e=this._series.priceScale().mode();if(!e.percentage&&!e.indexedTo100)return +;const t=this._series.firstValue();null!==t&&(this._lineRendererData.visible=!0,this._lineRendererData.y=this._series.priceScale().priceToCoordinate(t,t),this._lineRendererData.color=this._series.properties().baseLineColor.value())}}},"z+cS":function(e,t,i){"use strict";i.r(t),i.d(t,"VerticalLineRenderer",(function(){return a}));var s=i("VdBB"),r=i("jFln"),n=i("gAom"),o=i("Zp/P");class a{constructor(){this._data=null,this._hitTest=null}setData(e){this._data=e}setHitTest(e){this._hitTest=e}hitTest(e){if(null===this._data)return null;const t=Object(o.interactionTolerance)().line,i=this._hitTest||new s.HitTestResult(s.HitTestResult.MOVEPOINT),r=Math.abs(e.x-this._data.x)<=t+this._data.linewidth/2,n=void 0===this._data.top||this._data.top-e.y<=t,a=void 0===this._data.bottom||e.y-this._data.bottom<=t;return r&&n&&a?i:null}draw(e,t){if(null===this._data)return;if(this._data.linewidth<=0)return;if(this._data.x<-this._data.linewidth/2||this._data.x>t.cssWidth+this._data.linewidth/2)return;const i=t.pixelRatio;e.lineCap="butt",e.strokeStyle=this._data.color,e.lineWidth=Math.max(1,Math.floor(this._data.linewidth*i)),void 0!==this._data.linestyle&&Object(r.setLineStyle)(e,this._data.linestyle);const s=void 0!==this._data.top?Math.max(this._data.top,0):0,o=void 0!==this._data.bottom?Math.min(this._data.bottom,t.cssHeight):t.cssHeight,a=Math.round(this._data.x*i),l=Math.floor(s*i),c=Math.ceil(o*i);Object(n.drawVerticalLine)(e,a,l,c)}}},"z61+":function(e,t,i){"use strict";var s=i("Eyy1"),r=i("0YCj"),n=i.n(r),o=i("23IT"),a=i("ogJP"),l=i("txPx");const c=["first_visible_bar_time","last_visible_bar_time"];function h(e){return!e.groupId&&!e.isHidden&&!c.includes(e.id)}var u=i("Ecpn");i.d(t,"a",(function(){return p}));const d=Object(l.getLogger)("Platform.GUI.PropertyDialog.Indicators.MetaInfo");class p{constructor(e){this._metaInfo=e}hasUserEditableInputs(){return this._metaInfo.inputs.some(h)}getUserEditableInputs(){return this._metaInfo.inputs.filter(h)}hasUserEditableProperties(){return n.a.isScriptStrategy(this._metaInfo)}hasUserEditableStyles(){const e=this._metaInfo;return e.plots.length>0||void 0!==e.bands||void 0!==e.filledAreas||Object(u.a)(e.shortId)||n.a.isScriptStrategy(this._metaInfo)||Object.values(e.graphics).some(e=>void 0!==e)}getUserEditablePlots(){const e=new Set,t=this._metaInfo;return t.plots.filter(i=>{if(Object(o.isColorerPlot)(i)||Object(o.isTextColorerPlot)(i)||Object(o.isDataOffsetPlot)(i)||Object(o.isOhlcColorerPlot)(i)||Object(o.isAlertConditionPlot)(i))return!1;if(Object(o.isOhlcPlot)(i)){const r=i.target;if(e.has(r))return!1;e.add(r);const n=Object(s.ensureDefined)(t.ohlcPlots);return!Object(s.ensureDefined)(n[r]).isHidden}{const e=t.styles?t.styles[i.id]:void 0;return void 0===e||!e.isHidden}})}hasUserEditableOptions(){return this.hasUserEditableInputs()||this.hasUserEditableProperties()||this.hasUserEditableStyles()}getStrategyProperties(){const e=this._metaInfo,t=e.inputs.filter(m),i=Object.assign({},_);for(const s of t){const t=s.internalID;i[t]=s, +_.hasOwnProperty(t)||d.logWarn(`Unknown strategy input internal id ${t} in ${e.fullId}`)}return Object(a.clone)(i)}}const _={currency:void 0,backtest_fill_limits_assumption:void 0,calc_on_every_tick:void 0,calc_on_order_fills:void 0,commission_value:void 0,commission_type:void 0,initial_capital:void 0,pyramiding:void 0,slippage:void 0,default_qty_type:void 0,default_qty_value:void 0,margin_long:void 0,margin_short:void 0};function m(e){return"strategy_props"===e.groupId}},"z8/4":function(e,t,i){"use strict";i.r(t),i.d(t,"OverlayLegendView",(function(){return n}));var s=i("JjUe"),r=i("qXYw");class n extends s.OverlayDataWindowView{constructor(e,t){super(e,t),this._additional=null,this._showBarChange=t.properties().paneProperties.legendProperties.showBarChange,this._showSeriesOHLC=t.properties().paneProperties.legendProperties.showSeriesOHLC,this._studyOverlay=e,this._showBarChange.subscribe(this,this.update),this._showSeriesOHLC.subscribe(this,this.update)}isValuesVisible(){return this._showSeriesOHLC.value()||this._showBarChange.value()}additional(){return this._additional}destroy(){this._showBarChange.unsubscribeAll(this),this._showSeriesOHLC.unsubscribeAll(this)}_updateImpl(){super._updateImpl()}_createValuesProvider(e,t){return new r.OverlayLegendValuesProvider(e,t)}}},zDbI:function(e,t,i){"use strict";i.r(t),i.d(t,"CHART_FONT_FAMILY",(function(){return r}));var s=i("mNbo");const r=Object(s.a)("old")?"system-ui, -apple-system":"'Trebuchet MS', Roboto, Ubuntu, sans-serif"},zL3Q:function(e,t,i){"use strict";i.d(t,"a",(function(){return _})),i.d(t,"b",(function(){return m}));var s=i("hY0g"),r=i.n(s),n=i("4o++"),o=i("mMWL"),a=i("CW80"),l=i("m/3z");const c=new r.a(!1),h=new r.a(n.MagnetMode.WeakMagnet),u=Object(l.b)(),d=Object(l.c)();function p(){const e=u.value();if(d.value()&&(o.isToolEditingNow.value()||o.isToolCreatingNow.value()))return void c.setValue(!1);const t=o.tool.value(),i=e&&(Object(a.isLineToolName)(t)||o.isToolEditingNow.value()||Object(o.toolIsMeasure)(t)),s=Object(o.properties)().childs().magnet.value();h.setValue(!s&&i?n.MagnetMode.StrongMagnet:Object(o.properties)().childs().magnetMode.value()),c.setValue(i?!s:s)}function _(){return c}function m(){return h}Object(o.runOnDrawingStateReady)(()=>{Object(o.properties)().childs().magnet.subscribe(null,p),Object(o.properties)().childs().magnetMode.subscribe(null,p),u.subscribe(p),d.subscribe(p),o.tool.subscribe(p),o.isToolEditingNow.subscribe(p),p()})},zM7N:function(e,t,i){"use strict";i.d(t,"c",(function(){return c})),i.d(t,"b",(function(){return h})),i.d(t,"e",(function(){return u})),i.d(t,"d",(function(){return d}));var s=i("YFKU"),r=i("eJTA"),n=i("/McG"),o=i("8pII"),a=i("FZIs");function l(){return{[a.a.Light]:JSON.parse(JSON.stringify(n)),[a.a.Dark]:JSON.parse(JSON.stringify(o))}}function c(){return[a.a.Light,a.a.Dark]}function h(e){return l()[e]}function u(e){return{[a.a.Light]:s.t("Light",{context:"colorThemeName"}),[a.a.Dark]:s.t("Dark",{context:"colorThemeName"})}[e]||e}function d(e){const t=l();return c().some(i=>p(t[i],e))}function p(e,t){ +let i=e.content===t.content;return function(e={},t){try{!function e(t,i,s){for(const r in t)if(t.hasOwnProperty(r)){const n=i.concat(r);if("object"==typeof t[r])e(t[r],n,s);else if(s(n,t[r]))throw new Error("exit")}}(e,[],t)}catch(i){return}}(e.content,(e,s)=>{const n=function(e,t={}){let i=t;for(let s=0;s{this._setPaneViews([new e(this,this._model)])})}hLevelsCount(){return o.HLevelsCount}vLevelsCount(){return o.VLevelsCount}pointsCount(){return 2}name(){return"Fib Speed Resistance Fan"}processErase(e,t){var i="h"===t.type?"hlevel"+t.index:"vlevel"+t.index,s=this.properties()[i].visible;e.setProperty(s,!1,"Erase level line")}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(33),i.e("lt-property-pages-with-definitions")]).then(i.bind(null,"2PB4"))).FibSpeedResistanceFanDefinitionsViewModel}static createProperties(e){void 0!==e&&void 0===e.reverse&&(e.reverse=!0);var t=new r("linetoolfibspeedresistancefan",e,!1,{range:[1,7],prefixes:["h","v"],names:["coeff","color","visible"]});return o._configureProperties(t),t}static _configureProperties(e){s._configureProperties(e);var t=[e.child("grid").child("color")];for(let i=1;i<=o.HLevelsCount;i++)t.push(e.child("hlevel"+i).child("color"));for(let i=1;i<=o.VLevelsCount;i++)t.push(e.child("vlevel"+i).child("color"));e.addChild("linesColors",new n(t)),e.addExclusion("linesColors")}}o.HLevelsCount=7,o.VLevelsCount=7,t.LineToolFibSpeedResistanceFan=o},ziJ5:function(e,t,i){"use strict";(function(e){ +var s=i("QIuV").LineToolTrading,r=i("Ss5c").LineDataSource,n=i("RTYN").PositionAveragePriceAxisView,o=i("jkoZ"),a=i("Ocx9").DefaultProperty,l=i("kcTO").PriceFormatter,c=i("s1Gx").sortSourcesPreOrdered.LineToolPosition;function h(e){return null==e?e="":e+="",e}class u{constructor(e){this._line=e,this._data={bodyText:"position",quantityText:"0"},this._closeEnabled=!0,this._direction="buy",this._profitState="neutral"}setDirection(e){return this._direction=e,this._line.updateAllViewsAndRedraw(),this}setProfitState(e){return this._profitState=e,this._line.updateAllViewsAndRedraw(),this}getPrice(){return this._line.points().length>0?this._line.points()[0].price:this._line._timePoint.length>0?this._line._timePoint[0].price:void 0}setPrice(e){if(this._line.points().length>0){var t=this._line.points()[0];t.price=e,this._line._points[0]=t,this._line.normalizePoints(),this._line.updateAllViewsAndRedraw()}return this._line._timePoint.length>0&&(this._line._timePoint[0].price=e),this}getText(){return this._data.bodyText}setText(e){return this._data.bodyText=e||"",this._line.updateAllViewsAndRedraw(),this}setTooltip(e){return this._line.properties().tooltip.setValue(h(e)),this}getTooltip(){return this._line.properties().tooltip.value()}setProtectTooltip(e){return this._line.properties().protectTooltip.setValue(h(e)),this}getProtectTooltip(){return this._line.properties().protectTooltip.value()}setCloseTooltip(e){return this._line.properties().closeTooltip.setValue(h(e)),this}getCloseTooltip(){return this._line.properties().closeTooltip.value()}setReverseTooltip(e){return this._line.properties().reverseTooltip.setValue(h(e)),this}getReverseTooltip(){return this._line.properties().reverseTooltip.value()}getQuantity(){return this._data.quantityText}setQuantity(e){return this._data.quantityText=e||"",this._line.updateAllViewsAndRedraw(),this}getExtendLeft(){var e=this._line.properties().extendLeft.value();return"inherit"===e?this._line._model.properties().tradingProperties.extendLeft.value():e}setExtendLeft(e){return this._line.properties().extendLeft.setValue(e),this}getLineLength(){var e=this._line.properties().lineLength.value();return"inherit"===e?this._line._model.properties().tradingProperties.lineLength.value():e}setLineLength(e){return this._line.properties().lineLength.setValue(Math.max(0,Math.min(e,100))),this}getLineColor(){var e=this._line.properties();return("buy"===this._direction?e.lineBuyColor:e.lineSellColor).value()}setLineColor(e){return"buy"===this._direction?this.setLineBuyColor(e):this.setLineSellColor(e),this}setLineBuyColor(e){return this._line.properties().lineBuyColor.setValue(e),this}setLineSellColor(e){return this._line.properties().lineSellColor.setValue(e),this}getLineStyle(){var e=this._line.properties().lineStyle.value();return"inherit"===e?this._line._model.properties().tradingProperties.lineStyle.value():e}setLineStyle(e){return this._line.properties().lineStyle.setValue(e),this}getLineWidth(){var e=this._line.properties().lineWidth.value() +;return"inherit"===e?this._line._model.properties().tradingProperties.lineWidth.value():e}setLineWidth(e){return this._line.properties().lineWidth.setValue(e),this}getBodyBorderColor(){var e=this._line.properties();return("buy"===this._direction?e.bodyBorderBuyColor:e.bodyBorderSellColor).value()}setBodyBorderColor(e){return"buy"===this._direction?this.setBodyBorderBuyColor(e):this.setBodyBorderSellColor(e),this}setBodyBorderBuyColor(e){return this._line.properties().bodyBorderBuyColor.setValue(e),this}setBodyBorderSellColor(e){return this._line.properties().bodyBorderSellColor.setValue(e),this}getBodyBackgroundColor(){return o.getColorFromProperties(this._line.properties().bodyBackgroundColor,this._line.properties().bodyBackgroundTransparency)}setBodyBackgroundColor(e){return o.setColorToProperties(e,this._line.properties().bodyBackgroundColor,this._line.properties().bodyBackgroundTransparency),this}getBodyTextColor(){var e=this._line.properties();return("positive"===this._profitState?e.bodyTextPositiveColor:"negative"===this._profitState?e.bodyTextNegativeColor:e.bodyTextNeutralColor).value()}setBodyTextColor(e){return"positive"===this._profitState?this.setBodyTextPositiveColor(e):"negative"===this._profitState?this.setBodyTextNegativeColor(e):this.setBodyTextNeutralColor(e),this}setBodyTextPositiveColor(e){return this._line.properties().bodyTextPositiveColor.setValue(e),this}setBodyTextNegativeColor(e){return this._line.properties().bodyTextNegativeColor.setValue(e),this}setBodyTextNeutralColor(e){return this._line.properties().bodyTextNeutralColor.setValue(e),this}getBodyFont(){return o.getFontFromProperties(this._line.properties().bodyFontFamily,this._line.properties().bodyFontSize,this._line.properties().bodyFontBold,this._line.properties().bodyFontItalic)}setBodyFont(e){return o.setFontToProperties(e,this._line.properties().bodyFontFamily,this._line.properties().bodyFontSize,this._line.properties().bodyFontBold,this._line.properties().bodyFontItalic),this}getQuantityBorderColor(){var e=this._line.properties();return("buy"===this._direction?e.quantityBorderBuyColor:e.quantityBorderSellColor).value()}setQuantityBorderColor(e){return"buy"===this._direction?this.setQuantityBorderBuyColor(e):this.setQuantityBorderSellColor(e),this}setQuantityBorderBuyColor(e){return this._line.properties().quantityBorderBuyColor.setValue(e),this}setQuantityBorderSellColor(e){return this._line.properties().quantityBorderSellColor.setValue(e),this}getQuantityBackgroundColor(){var e=this._line.properties();return("buy"===this._direction?e.quantityBackgroundBuyColor:e.quantityBackgroundSellColor).value()}setQuantityBackgroundColor(e){return"buy"===this._direction?this.setQuantityBackgroundBuyColor(e):this.setQuantityBackgroundSellColor(e),this}setQuantityBackgroundBuyColor(e){return this._line.properties().quantityBackgroundBuyColor.setValue(e),this}setQuantityBackgroundSellColor(e){return this._line.properties().quantityBackgroundSellColor.setValue(e),this}getQuantityTextColor(){ +return o.getColorFromProperties(this._line.properties().quantityTextColor,this._line.properties().quantityTextTransparency)}setQuantityTextColor(e){return o.setColorToProperties(e,this._line.properties().quantityTextColor,this._line.properties().quantityTextTransparency),this}getQuantityFont(){return o.getFontFromProperties(this._line.properties().quantityFontFamily,this._line.properties().quantityFontSize,this._line.properties().quantityFontBold,this._line.properties().quantityFontItalic)}setQuantityFont(e){return o.setFontToProperties(e,this._line.properties().quantityFontFamily,this._line.properties().quantityFontSize,this._line.properties().quantityFontBold,this._line.properties().quantityFontItalic),this}getReverseButtonBorderColor(){var e=this._line.properties();return("buy"===this._direction?e.reverseButtonBorderBuyColor:e.reverseButtonBorderSellColor).value()}setReverseButtonBorderColor(e){return"buy"===this._direction?this.setReverseButtonBorderBuyColor(e):this.setReverseButtonBorderSellColor(e),this}setReverseButtonBorderBuyColor(e){return this._line.properties().reverseButtonBorderBuyColor.setValue(e),this}setReverseButtonBorderSellColor(e){return this._line.properties().reverseButtonBorderSellColor.setValue(e),this}getReverseButtonBackgroundColor(){return o.getColorFromProperties(this._line.properties().reverseButtonBackgroundColor,this._line.properties().reverseButtonBackgroundTransparency)}setReverseButtonBackgroundColor(e){return o.setColorToProperties(e,this._line.properties().reverseButtonBackgroundColor,this._line.properties().reverseButtonBackgroundTransparency),this}getReverseButtonIconColor(){var e=this._line.properties();return("buy"===this._direction?e.reverseButtonIconBuyColor:e.reverseButtonIconSellColor).value()}setReverseButtonIconColor(e){return"buy"===this._direction?this.setReverseButtonIconBuyColor(e):this.setReverseButtonIconSellColor(e),this}setReverseButtonIconBuyColor(e){return this._line.properties().reverseButtonIconBuyColor.setValue(e),this}setReverseButtonIconSellColor(e){return this._line.properties().reverseButtonIconSellColor.setValue(e),this}getCloseButtonBorderColor(){var e=this._line.properties();return("buy"===this._direction?e.closeButtonBorderBuyColor:e.closeButtonBorderSellColor).value()}setCloseButtonBorderColor(e){return"buy"===this._direction?this.setCloseButtonBorderBuyColor(e):this.setCloseButtonBorderSellColor(e),this}setCloseButtonBorderBuyColor(e){return this._line.properties().closeButtonBorderBuyColor.setValue(e),this}setCloseButtonBorderSellColor(e){return this._line.properties().closeButtonBorderSellColor.setValue(e),this}getCloseButtonBackgroundColor(){return o.getColorFromProperties(this._line.properties().closeButtonBackgroundColor,this._line.properties().closeButtonBackgroundTransparency)}setCloseButtonBackgroundColor(e){return o.setColorToProperties(e,this._line.properties().closeButtonBackgroundColor,this._line.properties().closeButtonBackgroundTransparency),this}getCloseButtonIconColor(){var e=this._line.properties() +;return("buy"===this._direction?e.closeButtonIconBuyColor:e.closeButtonIconSellColor).value()}setCloseButtonIconColor(e){return"buy"===this._direction?this.setCloseButtonIconBuyColor(e):this.setCloseButtonIconSellColor(e),this}setCloseButtonIconBuyColor(e){return this._line.properties().closeButtonIconBuyColor.setValue(e),this}setCloseButtonIconSellColor(e){return this._line.properties().closeButtonIconSellColor.setValue(e),this}block(){this._blocked=!0,this._line.updateAllViewsAndRedraw()}unblock(){this._blocked=!1,this._line.updateAllViewsAndRedraw()}isFunction(e){return"function"==typeof e}onReverse(e,t){return t?this.isFunction(t)&&(this._onReverseData=e,this._onReverseCallback=t):this.isFunction(e)&&(this._onReverseCallback=e),this}callOnReverse(){this.isFunction(this._onReverseCallback)&&this._onReverseCallback.call(this,this._onReverseData)}isOnReverseCallbackPresent(){return this.isFunction(this._onReverseCallback)}onClose(e,t){return t?this.isFunction(t)&&(this._onCloseData=e,this._onCloseCallback=t):this.isFunction(e)&&(this._onCloseCallback=e),this}setCloseEnabled(e){return this._closeEnabled===e||(this._closeEnabled=e,this._onCloseCallback&&this._line.updateAllViewsAndRedraw()),this}isCloseEnabled(){return this._closeEnabled}callOnClose(){this.isFunction(this._onCloseCallback)&&this._closeEnabled&&this._onCloseCallback.call(this,this._onCloseData)}isOnCloseCallbackPresent(){return this._closeEnabled&&this.isFunction(this._onCloseCallback)}onModify(e,t){return t?this.isFunction(t)&&(this._onModifyData=e,this._onModifyCallback=t):this.isFunction(e)&&(this._onModifyCallback=e),this}callOnModify(){this.isFunction(this._onModifyCallback)&&this._onModifyCallback.call(this,this._onModifyData)}onContextMenu(e,t){return t?this.isFunction(t)&&(this._onContextMenuData=e,this._onContextMenuCallback=t):this.isFunction(e)&&(this._onContextMenuCallback=e),this}shouldShowContextMenu(){return this.isFunction(this._onContextMenuCallback)}callOnContextMenu(){if(this.isFunction(this._onContextMenuCallback))return this._onContextMenuCallback.call(this,this._onContextMenuData)}remove(){this._line._model.removeSource(this._line),delete this._line}}class d extends s{constructor(e,t){super(e,t||d.createProperties()),this._adapter=new u(this),i.e("lt-pane-views").then(i.t.bind(null,"GzSs",7)).then(({PositionPaneView:e})=>{this._setPaneViews([new e(this,this._model)])});var s=e.mainSeries().symbolInfo(),r=null!==s?s.pricescale:100,n=null!==s&&s.fractional?s.minmov:1,o=null!==s&&s.fractional,a=null!==s?s.minmove2:void 0;this._formatter=new l(r,n,o,a)}zorder(){return c}setPoint(e,t,i){this._points[e]=t,this.normalizePoints()}addPoint(e,t){return this._points.push(e),this._lastPoint=null,this.normalizePoints(),this.createServerPoints(),!0}name(){return"Position"}createPriceAxisView(e){return this._priceAxisView=new n(this,{pointIndex:e,backgroundPropertyGetter:()=>this._adapter.getLineColor()}),this._priceAxisView}paneViews(){ +return TradingView.printing&&!e.enabled("snapshot_trading_drawings")?null:this._model.properties().tradingProperties.showPositions.value()?r.prototype.paneViews.call(this):null}priceAxisViews(t,i){return TradingView.printing&&!e.enabled("snapshot_trading_drawings")?null:this._model.properties().tradingProperties.showPositions.value()?r.prototype.priceAxisViews.call(this,t,i):null}hasContextMenu(){return this._adapter.shouldShowContextMenu()}contextMenuItems(){return this._adapter.callOnContextMenu()}formatter(){return this._formatter}static createProperties(e){var t=new a("linetoolposition",e,!1,!1);return d._configureProperties(t),t}static _configureProperties(e){s._configureProperties(e)}}t.LineToolPosition=d}).call(this,i("Kxc7"))},zqZp:function(e,t,i){"use strict";var s=i("Ss5c").LineDataSource,r=i("Ocx9").DefaultProperty,n=i("j3hX").LineToolColorsProperty;class o extends s{constructor(e,t){super(e,t||o.createProperties()),i.e("lt-pane-views").then(i.t.bind(null,"Ni7V",7)).then(({PriceLabelPaneView:e})=>{this._setPaneViews([new e(this,this._model)])})}pointsCount(){return 1}name(){return"Price Label"}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(33),i.e("lt-property-pages-with-definitions")]).then(i.bind(null,"hQgR"))).PriceLabelDefinitionsViewModel}static createProperties(e){var t=new r("linetoolpricelabel",e);return o._configureProperties(t),t}static _configureProperties(e){s._configureProperties(e),e.addChild("linesColors",new n([e.childs().borderColor])),e.addChild("textsColors",new n([e.childs().color]))}}t.LineToolPriceLabel=o}},[["/G2Z","runtime","vendors"]]]); \ No newline at end of file diff --git a/charting_library/charting_library.cjs.js b/charting_library/charting_library.cjs.js index 53bad660..a7621dae 100644 --- a/charting_library/charting_library.cjs.js +++ b/charting_library/charting_library.cjs.js @@ -1 +1 @@ -"use strict";function e(t,i){const n=Object.assign({},t);for(const o in i)"object"!=typeof t[o]||null===t[o]||Array.isArray(t[o])?void 0!==i[o]&&(n[o]=i[o]):n[o]=e(t[o],i[o]);return n}Object.defineProperty(exports,"__esModule",{value:!0});const t={mobile:{disabled_features:["left_toolbar","header_widget","timeframes_toolbar","edit_buttons_in_legend","context_menus","control_bar","border_around_the_chart"],enabled_features:[]}},i={width:800,height:500,interval:"1D",timezone:"Etc/UTC",container:"",library_path:"",locale:"en",widgetbar:{details:!1,watchlist:!1,watchlist_settings:{default_symbols:[]}},overrides:{"mainSeriesProperties.showCountdown":!1},studies_overrides:{},trading_customization:{position:{},order:{}},brokerConfig:{configFlags:{}},fullscreen:!1,autosize:!1,disabled_features:[],enabled_features:[],debug:!1,logo:{},time_frames:[{text:"5y",resolution:"1W"},{text:"1y",resolution:"1W"},{text:"6m",resolution:"120"},{text:"3m",resolution:"60"},{text:"1m",resolution:"30"},{text:"5d",resolution:"5"},{text:"1d",resolution:"1"}],client_id:"0",user_id:"0",charts_storage_api_version:"1.0",favorites:{intervals:[],chartTypes:[]}};function n(){return"CL v20.033 (internal id 9df149da @ 2021-11-17T10:20:51.511Z)"}const o=class{constructor(n){if(this._id=`tradingview_${(1048576*(1+Math.random())|0).toString(16).substring(1)}`,this._ready=!1,this._readyHandlers=[],this._onWindowResize=this._autoResizeChart.bind(this),!n.datafeed)throw new Error("Datafeed is not defined");if(this._options=e(i,n),n.preset){const e=t[n.preset];e?(void 0!==this._options.disabled_features?this._options.disabled_features=this._options.disabled_features.concat(e.disabled_features):this._options.disabled_features=e.disabled_features,void 0!==this._options.enabled_features?this._options.enabled_features=this._options.enabled_features.concat(e.enabled_features):this._options.enabled_features=e.enabled_features):console.warn("Unknown preset: `"+n.preset+"`")}"Dark"===this._options.theme&&void 0===this._options.loading_screen&&(this._options.loading_screen={backgroundColor:"#131722"}),this._create()}onChartReady(e){this._ready?e.call(this):this._readyHandlers.push(e)}headerReady(){return this._innerWindowLoaded.then((()=>this._innerWindow().headerReady()))}onGrayedObjectClicked(e){this._innerAPI().onGrayedObjectClicked(e)}onShortcut(e,t){this._innerWindow().createShortcutAction(e,t)}subscribe(e,t){this._innerAPI().subscribe(e,t)}unsubscribe(e,t){this._innerAPI().unsubscribe(e,t)}chart(e){return this._innerAPI().chart(e)}getLanguage(){return this._options.locale}setSymbol(e,t,i){this._innerAPI().changeSymbol(e,t,i)}remove(){window.removeEventListener("resize",this._onWindowResize),this._readyHandlers.splice(0,this._readyHandlers.length),delete window[this._id],this._iFrame.parentNode&&this._iFrame.parentNode.removeChild(this._iFrame)}closePopupsAndDialogs(){this._innerAPI().closePopupsAndDialogs()}selectLineTool(e){this._innerAPI().selectLineTool(e)}selectedLineTool(){return this._innerAPI().selectedLineTool()}save(e){this._innerAPI().saveChart(e)}load(e,t){this._innerAPI().loadChart({json:e,extendedData:t})}getSavedCharts(e){this._innerAPI().getSavedCharts(e)}loadChartFromServer(e){this._innerAPI().loadChartFromServer(e)}saveChartToServer(e,t,i){this._innerAPI().saveChartToServer(e,t,i)}removeChartFromServer(e,t){this._innerAPI().removeChartFromServer(e,t)}onContextMenu(e){this._innerAPI().onContextMenu(e)}createButton(e){return this._innerWindow().createButton(e)}showNoticeDialog(e){this._innerAPI().showNoticeDialog(e)}showConfirmDialog(e){this._innerAPI().showConfirmDialog(e)}showLoadChartDialog(){this._innerAPI().showLoadChartDialog()}showSaveAsChartDialog(){this._innerAPI().showSaveAsChartDialog()}symbolInterval(){return this._innerAPI().getSymbolInterval()}mainSeriesPriceFormatter(){return this._innerAPI().mainSeriesPriceFormatter()}getIntervals(){return this._innerAPI().getIntervals()}getStudiesList(){return this._innerAPI().getStudiesList()}addCustomCSSFile(e){this._innerWindow().addCustomCSSFile(e)}applyOverrides(t){this._options=e(this._options,{overrides:t}),this._innerWindow().applyOverrides(t)}applyStudiesOverrides(e){this._innerWindow().applyStudiesOverrides(e)}watchList(){return this._innerAPI().watchlist()}activeChart(){return this._innerAPI().activeChart()}chartsCount(){return this._innerAPI().chartsCount()}layout(){return this._innerAPI().layout()}setLayout(e){this._innerAPI().setLayout(e)}layoutName(){return this._innerAPI().layoutName()}changeTheme(e,t){this._innerWindow().changeTheme(e,t)}getTheme(){return this._innerWindow().getTheme()}takeScreenshot(){this._innerAPI().takeScreenshot()}lockAllDrawingTools(){return this._innerAPI().lockAllDrawingTools()}hideAllDrawingTools(){return this._innerAPI().hideAllDrawingTools()}drawOnAllCharts(e){this._innerAPI().drawOnAllCharts(e)}magnetEnabled(){return this._innerAPI().magnetEnabled()}magnetMode(){return this._innerAPI().magnetMode()}undoRedoState(){return this._innerAPI().undoRedoState()}setIntervalLinkingEnabled(e){this._innerAPI().setIntervalLinkingEnabled(e)}setTimeFrame(e){this._innerAPI().setTimeFrame(e)}symbolSync(){return this._innerAPI().symbolSync()}intervalSync(){return this._innerAPI().intervalSync()}crosshairSync(){return this._innerAPI().crosshairSync()}timeSync(){return this._innerAPI().timeSync()}getAllFeatures(){return this._innerWindow().getAllFeatures()}clearUndoHistory(){return this._innerAPI().clearUndoHistory()}undo(){return this._innerAPI().undo()}redo(){return this._innerAPI().redo()}startFullscreen(){this._innerAPI().startFullscreen()}exitFullscreen(){this._innerAPI().exitFullscreen()}takeClientScreenshot(e){return this._innerAPI().takeClientScreenshot(e)}_innerAPI(){return this._innerWindow().tradingViewApi}_innerWindow(){return this._iFrame.contentWindow}_autoResizeChart(){this._options.fullscreen&&(this._iFrame.style.height=window.innerHeight+"px")}_create(){const e=this._render();this._options.container_id&&console.warn("`container_id` is now deprecated. Please use `container` instead to either still pass a string or an `HTMLElement`.");const t=this._options.container_id||this._options.container,i="string"==typeof t?document.getElementById(t):t;if(null===i)throw new Error(`There is no such element - #${this._options.container}`);i.innerHTML=e,this._iFrame=i.querySelector(`#${this._id}`);const n=this._iFrame;(this._options.autosize||this._options.fullscreen)&&(n.style.width="100%",this._options.fullscreen||(n.style.height="100%")),window.addEventListener("resize",this._onWindowResize),this._onWindowResize(),this._innerWindowLoaded=new Promise((e=>{const t=()=>{n.removeEventListener("load",t,!1),e()};n.addEventListener("load",t,!1)})),this._innerWindowLoaded.then((()=>{this._innerWindow().widgetReady((()=>{this._ready=!0;for(const t of this._readyHandlers)try{t.call(this)}catch(e){console.error(e)}this._innerWindow().initializationFinished()}))}))}_render(){const e=window;if(e[this._id]={datafeed:this._options.datafeed,customFormatters:this._options.custom_formatters||this._options.customFormatters,brokerFactory:this._options.broker_factory||this._options.brokerFactory,overrides:this._options.overrides,studiesOverrides:this._options.studies_overrides,tradingCustomization:this._options.trading_customization,disabledFeatures:this._options.disabled_features,enabledFeatures:this._options.enabled_features,brokerConfig:this._options.broker_config||this._options.brokerConfig,restConfig:this._options.restConfig,favorites:this._options.favorites,logo:this._options.logo,numeric_formatting:this._options.numeric_formatting,rss_news_feed:this._options.rss_news_feed,newsProvider:this._options.news_provider,loadLastChart:this._options.load_last_chart,saveLoadAdapter:this._options.save_load_adapter,loading_screen:this._options.loading_screen,settingsAdapter:this._options.settings_adapter,getCustomIndicators:this._options.custom_indicators_getter,additionalSymbolInfoFields:this._options.additional_symbol_info_fields,headerWidgetButtonsMode:this._options.header_widget_buttons_mode},this._options.saved_data)e[this._id].chartContent={json:this._options.saved_data},this._options.saved_data_meta_info&&(e[this._id].chartContentExtendedData=this._options.saved_data_meta_info);else if(!this._options.load_last_chart&&!this._options.symbol)throw new Error("Symbol is not defined: either 'symbol' or 'load_last_chart' option must be set");const t=(this._options.library_path||"")+`${encodeURIComponent(this._options.locale)}-tv-chart.9df149da.html#symbol=`+encodeURIComponent(this._options.symbol||"")+"&interval="+encodeURIComponent(this._options.interval)+(this._options.timeframe?"&timeframe="+encodeURIComponent(this._options.timeframe):"")+(this._options.toolbar_bg?"&toolbarbg="+encodeURIComponent(this._options.toolbar_bg.replace("#","")):"")+(this._options.studies_access?"&studiesAccess="+encodeURIComponent(JSON.stringify(this._options.studies_access)):"")+"&widgetbar="+encodeURIComponent(JSON.stringify(this._options.widgetbar))+(this._options.drawings_access?"&drawingsAccess="+encodeURIComponent(JSON.stringify(this._options.drawings_access)):"")+"&timeFrames="+encodeURIComponent(JSON.stringify(this._options.time_frames))+"&locale="+encodeURIComponent(this._options.locale)+"&uid="+encodeURIComponent(this._id)+"&clientId="+encodeURIComponent(String(this._options.client_id))+"&userId="+encodeURIComponent(String(this._options.user_id))+(this._options.charts_storage_url?"&chartsStorageUrl="+encodeURIComponent(this._options.charts_storage_url):"")+(this._options.charts_storage_api_version?"&chartsStorageVer="+encodeURIComponent(this._options.charts_storage_api_version):"")+(this._options.custom_css_url?"&customCSS="+encodeURIComponent(this._options.custom_css_url):"")+(this._options.auto_save_delay?"&autoSaveDelay="+encodeURIComponent(String(this._options.auto_save_delay)):"")+"&debug="+encodeURIComponent(String(this._options.debug))+(this._options.snapshot_url?"&snapshotUrl="+encodeURIComponent(this._options.snapshot_url):"")+(this._options.timezone?"&timezone="+encodeURIComponent(this._options.timezone):"")+(this._options.study_count_limit?"&studyCountLimit="+encodeURIComponent(String(this._options.study_count_limit)):"")+(this._options.symbol_search_request_delay?"&ssreqdelay="+encodeURIComponent(String(this._options.symbol_search_request_delay)):"")+(this._options.compare_symbols?"&compareSymbols="+encodeURIComponent(JSON.stringify(this._options.compare_symbols)):"")+(this._options.theme?"&theme="+encodeURIComponent(String(this._options.theme)):"")+(this._options.header_widget_buttons_mode?"&header_widget_buttons_mode="+encodeURIComponent(String(this._options.header_widget_buttons_mode)):"")+(this._options.time_scale?"&time_scale="+encodeURIComponent(JSON.stringify(this._options.time_scale)):"");return''}};window.TradingView=window.TradingView||{},window.TradingView.version=n,exports.version=n,exports.widget=o; +"use strict";function e(t,i){const n=Object.assign({},t);for(const o in i)"object"!=typeof t[o]||null===t[o]||Array.isArray(t[o])?void 0!==i[o]&&(n[o]=i[o]):n[o]=e(t[o],i[o]);return n}Object.defineProperty(exports,"__esModule",{value:!0});const t={mobile:{disabled_features:["left_toolbar","header_widget","timeframes_toolbar","edit_buttons_in_legend","context_menus","control_bar","border_around_the_chart"],enabled_features:[]}},i={width:800,height:500,interval:"1D",timezone:"Etc/UTC",container:"",library_path:"",locale:"en",widgetbar:{details:!1,watchlist:!1,watchlist_settings:{default_symbols:[]}},overrides:{"mainSeriesProperties.showCountdown":!1},studies_overrides:{},trading_customization:{position:{},order:{}},brokerConfig:{configFlags:{}},fullscreen:!1,autosize:!1,disabled_features:[],enabled_features:[],debug:!1,logo:{},time_frames:[{text:"5y",resolution:"1W"},{text:"1y",resolution:"1W"},{text:"6m",resolution:"120"},{text:"3m",resolution:"60"},{text:"1m",resolution:"30"},{text:"5d",resolution:"5"},{text:"1d",resolution:"1"}],client_id:"0",user_id:"0",charts_storage_api_version:"1.0",favorites:{intervals:[],chartTypes:[]}};function n(){return"CL v20.034 (internal id e16a61a3 @ 2022-01-24T10:49:41.818Z)"}const o=class{constructor(n){if(this._id=`tradingview_${(1048576*(1+Math.random())|0).toString(16).substring(1)}`,this._ready=!1,this._readyHandlers=[],this._onWindowResize=this._autoResizeChart.bind(this),!n.datafeed)throw new Error("Datafeed is not defined");if(this._options=e(i,n),n.preset){const e=t[n.preset];e?(void 0!==this._options.disabled_features?this._options.disabled_features=this._options.disabled_features.concat(e.disabled_features):this._options.disabled_features=e.disabled_features,void 0!==this._options.enabled_features?this._options.enabled_features=this._options.enabled_features.concat(e.enabled_features):this._options.enabled_features=e.enabled_features):console.warn("Unknown preset: `"+n.preset+"`")}"Dark"===this._options.theme&&void 0===this._options.loading_screen&&(this._options.loading_screen={backgroundColor:"#131722"}),this._create()}onChartReady(e){this._ready?e.call(this):this._readyHandlers.push(e)}headerReady(){return this._innerWindowLoaded.then((()=>this._innerWindow().headerReady()))}onGrayedObjectClicked(e){this._innerAPI().onGrayedObjectClicked(e)}onShortcut(e,t){this._innerWindow().createShortcutAction(e,t)}subscribe(e,t){this._innerAPI().subscribe(e,t)}unsubscribe(e,t){this._innerAPI().unsubscribe(e,t)}chart(e){return this._innerAPI().chart(e)}getLanguage(){return this._options.locale}setSymbol(e,t,i){this._innerAPI().changeSymbol(e,t,i)}remove(){window.removeEventListener("resize",this._onWindowResize),this._readyHandlers.splice(0,this._readyHandlers.length),delete window[this._id],this._iFrame.parentNode&&this._iFrame.parentNode.removeChild(this._iFrame)}closePopupsAndDialogs(){this._innerAPI().closePopupsAndDialogs()}selectLineTool(e){this._innerAPI().selectLineTool(e)}selectedLineTool(){return this._innerAPI().selectedLineTool()}save(e){this._innerAPI().saveChart(e)}load(e,t){this._innerAPI().loadChart({json:e,extendedData:t})}getSavedCharts(e){this._innerAPI().getSavedCharts(e)}loadChartFromServer(e){this._innerAPI().loadChartFromServer(e)}saveChartToServer(e,t,i){this._innerAPI().saveChartToServer(e,t,i)}removeChartFromServer(e,t){this._innerAPI().removeChartFromServer(e,t)}onContextMenu(e){this._innerAPI().onContextMenu(e)}createButton(e){return this._innerWindow().createButton(e)}showNoticeDialog(e){this._innerAPI().showNoticeDialog(e)}showConfirmDialog(e){this._innerAPI().showConfirmDialog(e)}showLoadChartDialog(){this._innerAPI().showLoadChartDialog()}showSaveAsChartDialog(){this._innerAPI().showSaveAsChartDialog()}symbolInterval(){return this._innerAPI().getSymbolInterval()}mainSeriesPriceFormatter(){return this._innerAPI().mainSeriesPriceFormatter()}getIntervals(){return this._innerAPI().getIntervals()}getStudiesList(){return this._innerAPI().getStudiesList()}addCustomCSSFile(e){this._innerWindow().addCustomCSSFile(e)}applyOverrides(t){this._options=e(this._options,{overrides:t}),this._innerWindow().applyOverrides(t)}applyStudiesOverrides(e){this._innerWindow().applyStudiesOverrides(e)}watchList(){return this._innerAPI().watchlist()}activeChart(){return this._innerAPI().activeChart()}chartsCount(){return this._innerAPI().chartsCount()}layout(){return this._innerAPI().layout()}setLayout(e){this._innerAPI().setLayout(e)}layoutName(){return this._innerAPI().layoutName()}changeTheme(e,t){this._innerWindow().changeTheme(e,t)}getTheme(){return this._innerWindow().getTheme()}takeScreenshot(){this._innerAPI().takeScreenshot()}lockAllDrawingTools(){return this._innerAPI().lockAllDrawingTools()}hideAllDrawingTools(){return this._innerAPI().hideAllDrawingTools()}drawOnAllCharts(e){this._innerAPI().drawOnAllCharts(e)}magnetEnabled(){return this._innerAPI().magnetEnabled()}magnetMode(){return this._innerAPI().magnetMode()}undoRedoState(){return this._innerAPI().undoRedoState()}setIntervalLinkingEnabled(e){this._innerAPI().setIntervalLinkingEnabled(e)}setTimeFrame(e){this._innerAPI().setTimeFrame(e)}symbolSync(){return this._innerAPI().symbolSync()}intervalSync(){return this._innerAPI().intervalSync()}crosshairSync(){return this._innerAPI().crosshairSync()}timeSync(){return this._innerAPI().timeSync()}getAllFeatures(){return this._innerWindow().getAllFeatures()}clearUndoHistory(){return this._innerAPI().clearUndoHistory()}undo(){return this._innerAPI().undo()}redo(){return this._innerAPI().redo()}startFullscreen(){this._innerAPI().startFullscreen()}exitFullscreen(){this._innerAPI().exitFullscreen()}takeClientScreenshot(e){return this._innerAPI().takeClientScreenshot(e)}_innerAPI(){return this._innerWindow().tradingViewApi}_innerWindow(){return this._iFrame.contentWindow}_autoResizeChart(){this._options.fullscreen&&(this._iFrame.style.height=window.innerHeight+"px")}_create(){const e=this._render();this._options.container_id&&console.warn("`container_id` is now deprecated. Please use `container` instead to either still pass a string or an `HTMLElement`.");const t=this._options.container_id||this._options.container,i="string"==typeof t?document.getElementById(t):t;if(null===i)throw new Error(`There is no such element - #${this._options.container}`);i.innerHTML=e,this._iFrame=i.querySelector(`#${this._id}`);const n=this._iFrame;(this._options.autosize||this._options.fullscreen)&&(n.style.width="100%",this._options.fullscreen||(n.style.height="100%")),window.addEventListener("resize",this._onWindowResize),this._onWindowResize(),this._innerWindowLoaded=new Promise((e=>{const t=()=>{n.removeEventListener("load",t,!1),e()};n.addEventListener("load",t,!1)})),this._innerWindowLoaded.then((()=>{this._innerWindow().widgetReady((()=>{this._ready=!0;for(const t of this._readyHandlers)try{t.call(this)}catch(e){console.error(e)}this._innerWindow().initializationFinished()}))}))}_render(){const e=window;if(e[this._id]={datafeed:this._options.datafeed,customFormatters:this._options.custom_formatters||this._options.customFormatters,brokerFactory:this._options.broker_factory||this._options.brokerFactory,overrides:this._options.overrides,studiesOverrides:this._options.studies_overrides,tradingCustomization:this._options.trading_customization,disabledFeatures:this._options.disabled_features,enabledFeatures:this._options.enabled_features,brokerConfig:this._options.broker_config||this._options.brokerConfig,restConfig:this._options.restConfig,favorites:this._options.favorites,logo:this._options.logo,numeric_formatting:this._options.numeric_formatting,rss_news_feed:this._options.rss_news_feed,newsProvider:this._options.news_provider,loadLastChart:this._options.load_last_chart,saveLoadAdapter:this._options.save_load_adapter,loading_screen:this._options.loading_screen,settingsAdapter:this._options.settings_adapter,getCustomIndicators:this._options.custom_indicators_getter,additionalSymbolInfoFields:this._options.additional_symbol_info_fields,headerWidgetButtonsMode:this._options.header_widget_buttons_mode},this._options.saved_data)e[this._id].chartContent={json:this._options.saved_data},this._options.saved_data_meta_info&&(e[this._id].chartContentExtendedData=this._options.saved_data_meta_info);else if(!this._options.load_last_chart&&!this._options.symbol)throw new Error("Symbol is not defined: either 'symbol' or 'load_last_chart' option must be set");const t=(this._options.library_path||"")+`${encodeURIComponent(this._options.locale)}-tv-chart.e16a61a3.html#symbol=`+encodeURIComponent(this._options.symbol||"")+"&interval="+encodeURIComponent(this._options.interval)+(this._options.timeframe?"&timeframe="+encodeURIComponent(this._options.timeframe):"")+(this._options.toolbar_bg?"&toolbarbg="+encodeURIComponent(this._options.toolbar_bg.replace("#","")):"")+(this._options.studies_access?"&studiesAccess="+encodeURIComponent(JSON.stringify(this._options.studies_access)):"")+"&widgetbar="+encodeURIComponent(JSON.stringify(this._options.widgetbar))+(this._options.drawings_access?"&drawingsAccess="+encodeURIComponent(JSON.stringify(this._options.drawings_access)):"")+"&timeFrames="+encodeURIComponent(JSON.stringify(this._options.time_frames))+"&locale="+encodeURIComponent(this._options.locale)+"&uid="+encodeURIComponent(this._id)+"&clientId="+encodeURIComponent(String(this._options.client_id))+"&userId="+encodeURIComponent(String(this._options.user_id))+(this._options.charts_storage_url?"&chartsStorageUrl="+encodeURIComponent(this._options.charts_storage_url):"")+(this._options.charts_storage_api_version?"&chartsStorageVer="+encodeURIComponent(this._options.charts_storage_api_version):"")+(this._options.custom_css_url?"&customCSS="+encodeURIComponent(this._options.custom_css_url):"")+(this._options.auto_save_delay?"&autoSaveDelay="+encodeURIComponent(String(this._options.auto_save_delay)):"")+"&debug="+encodeURIComponent(String(this._options.debug))+(this._options.snapshot_url?"&snapshotUrl="+encodeURIComponent(this._options.snapshot_url):"")+(this._options.timezone?"&timezone="+encodeURIComponent(this._options.timezone):"")+(this._options.study_count_limit?"&studyCountLimit="+encodeURIComponent(String(this._options.study_count_limit)):"")+(this._options.symbol_search_request_delay?"&ssreqdelay="+encodeURIComponent(String(this._options.symbol_search_request_delay)):"")+(this._options.compare_symbols?"&compareSymbols="+encodeURIComponent(JSON.stringify(this._options.compare_symbols)):"")+(this._options.theme?"&theme="+encodeURIComponent(String(this._options.theme)):"")+(this._options.header_widget_buttons_mode?"&header_widget_buttons_mode="+encodeURIComponent(String(this._options.header_widget_buttons_mode)):"")+(this._options.time_scale?"&time_scale="+encodeURIComponent(JSON.stringify(this._options.time_scale)):"");return''}};window.TradingView=window.TradingView||{},window.TradingView.version=n,exports.version=n,exports.widget=o; diff --git a/charting_library/charting_library.esm.js b/charting_library/charting_library.esm.js index f1f74636..5c5e280e 100644 --- a/charting_library/charting_library.esm.js +++ b/charting_library/charting_library.esm.js @@ -1 +1 @@ -function e(t,i){const n=Object.assign({},t);for(const o in i)"object"!=typeof t[o]||null===t[o]||Array.isArray(t[o])?void 0!==i[o]&&(n[o]=i[o]):n[o]=e(t[o],i[o]);return n}const t={mobile:{disabled_features:["left_toolbar","header_widget","timeframes_toolbar","edit_buttons_in_legend","context_menus","control_bar","border_around_the_chart"],enabled_features:[]}},i={width:800,height:500,interval:"1D",timezone:"Etc/UTC",container:"",library_path:"",locale:"en",widgetbar:{details:!1,watchlist:!1,watchlist_settings:{default_symbols:[]}},overrides:{"mainSeriesProperties.showCountdown":!1},studies_overrides:{},trading_customization:{position:{},order:{}},brokerConfig:{configFlags:{}},fullscreen:!1,autosize:!1,disabled_features:[],enabled_features:[],debug:!1,logo:{},time_frames:[{text:"5y",resolution:"1W"},{text:"1y",resolution:"1W"},{text:"6m",resolution:"120"},{text:"3m",resolution:"60"},{text:"1m",resolution:"30"},{text:"5d",resolution:"5"},{text:"1d",resolution:"1"}],client_id:"0",user_id:"0",charts_storage_api_version:"1.0",favorites:{intervals:[],chartTypes:[]}};function n(){return"CL v20.033 (internal id 9df149da @ 2021-11-17T10:20:51.511Z)"}const o=class{constructor(n){if(this._id=`tradingview_${(1048576*(1+Math.random())|0).toString(16).substring(1)}`,this._ready=!1,this._readyHandlers=[],this._onWindowResize=this._autoResizeChart.bind(this),!n.datafeed)throw new Error("Datafeed is not defined");if(this._options=e(i,n),n.preset){const e=t[n.preset];e?(void 0!==this._options.disabled_features?this._options.disabled_features=this._options.disabled_features.concat(e.disabled_features):this._options.disabled_features=e.disabled_features,void 0!==this._options.enabled_features?this._options.enabled_features=this._options.enabled_features.concat(e.enabled_features):this._options.enabled_features=e.enabled_features):console.warn("Unknown preset: `"+n.preset+"`")}"Dark"===this._options.theme&&void 0===this._options.loading_screen&&(this._options.loading_screen={backgroundColor:"#131722"}),this._create()}onChartReady(e){this._ready?e.call(this):this._readyHandlers.push(e)}headerReady(){return this._innerWindowLoaded.then((()=>this._innerWindow().headerReady()))}onGrayedObjectClicked(e){this._innerAPI().onGrayedObjectClicked(e)}onShortcut(e,t){this._innerWindow().createShortcutAction(e,t)}subscribe(e,t){this._innerAPI().subscribe(e,t)}unsubscribe(e,t){this._innerAPI().unsubscribe(e,t)}chart(e){return this._innerAPI().chart(e)}getLanguage(){return this._options.locale}setSymbol(e,t,i){this._innerAPI().changeSymbol(e,t,i)}remove(){window.removeEventListener("resize",this._onWindowResize),this._readyHandlers.splice(0,this._readyHandlers.length),delete window[this._id],this._iFrame.parentNode&&this._iFrame.parentNode.removeChild(this._iFrame)}closePopupsAndDialogs(){this._innerAPI().closePopupsAndDialogs()}selectLineTool(e){this._innerAPI().selectLineTool(e)}selectedLineTool(){return this._innerAPI().selectedLineTool()}save(e){this._innerAPI().saveChart(e)}load(e,t){this._innerAPI().loadChart({json:e,extendedData:t})}getSavedCharts(e){this._innerAPI().getSavedCharts(e)}loadChartFromServer(e){this._innerAPI().loadChartFromServer(e)}saveChartToServer(e,t,i){this._innerAPI().saveChartToServer(e,t,i)}removeChartFromServer(e,t){this._innerAPI().removeChartFromServer(e,t)}onContextMenu(e){this._innerAPI().onContextMenu(e)}createButton(e){return this._innerWindow().createButton(e)}showNoticeDialog(e){this._innerAPI().showNoticeDialog(e)}showConfirmDialog(e){this._innerAPI().showConfirmDialog(e)}showLoadChartDialog(){this._innerAPI().showLoadChartDialog()}showSaveAsChartDialog(){this._innerAPI().showSaveAsChartDialog()}symbolInterval(){return this._innerAPI().getSymbolInterval()}mainSeriesPriceFormatter(){return this._innerAPI().mainSeriesPriceFormatter()}getIntervals(){return this._innerAPI().getIntervals()}getStudiesList(){return this._innerAPI().getStudiesList()}addCustomCSSFile(e){this._innerWindow().addCustomCSSFile(e)}applyOverrides(t){this._options=e(this._options,{overrides:t}),this._innerWindow().applyOverrides(t)}applyStudiesOverrides(e){this._innerWindow().applyStudiesOverrides(e)}watchList(){return this._innerAPI().watchlist()}activeChart(){return this._innerAPI().activeChart()}chartsCount(){return this._innerAPI().chartsCount()}layout(){return this._innerAPI().layout()}setLayout(e){this._innerAPI().setLayout(e)}layoutName(){return this._innerAPI().layoutName()}changeTheme(e,t){this._innerWindow().changeTheme(e,t)}getTheme(){return this._innerWindow().getTheme()}takeScreenshot(){this._innerAPI().takeScreenshot()}lockAllDrawingTools(){return this._innerAPI().lockAllDrawingTools()}hideAllDrawingTools(){return this._innerAPI().hideAllDrawingTools()}drawOnAllCharts(e){this._innerAPI().drawOnAllCharts(e)}magnetEnabled(){return this._innerAPI().magnetEnabled()}magnetMode(){return this._innerAPI().magnetMode()}undoRedoState(){return this._innerAPI().undoRedoState()}setIntervalLinkingEnabled(e){this._innerAPI().setIntervalLinkingEnabled(e)}setTimeFrame(e){this._innerAPI().setTimeFrame(e)}symbolSync(){return this._innerAPI().symbolSync()}intervalSync(){return this._innerAPI().intervalSync()}crosshairSync(){return this._innerAPI().crosshairSync()}timeSync(){return this._innerAPI().timeSync()}getAllFeatures(){return this._innerWindow().getAllFeatures()}clearUndoHistory(){return this._innerAPI().clearUndoHistory()}undo(){return this._innerAPI().undo()}redo(){return this._innerAPI().redo()}startFullscreen(){this._innerAPI().startFullscreen()}exitFullscreen(){this._innerAPI().exitFullscreen()}takeClientScreenshot(e){return this._innerAPI().takeClientScreenshot(e)}_innerAPI(){return this._innerWindow().tradingViewApi}_innerWindow(){return this._iFrame.contentWindow}_autoResizeChart(){this._options.fullscreen&&(this._iFrame.style.height=window.innerHeight+"px")}_create(){const e=this._render();this._options.container_id&&console.warn("`container_id` is now deprecated. Please use `container` instead to either still pass a string or an `HTMLElement`.");const t=this._options.container_id||this._options.container,i="string"==typeof t?document.getElementById(t):t;if(null===i)throw new Error(`There is no such element - #${this._options.container}`);i.innerHTML=e,this._iFrame=i.querySelector(`#${this._id}`);const n=this._iFrame;(this._options.autosize||this._options.fullscreen)&&(n.style.width="100%",this._options.fullscreen||(n.style.height="100%")),window.addEventListener("resize",this._onWindowResize),this._onWindowResize(),this._innerWindowLoaded=new Promise((e=>{const t=()=>{n.removeEventListener("load",t,!1),e()};n.addEventListener("load",t,!1)})),this._innerWindowLoaded.then((()=>{this._innerWindow().widgetReady((()=>{this._ready=!0;for(const t of this._readyHandlers)try{t.call(this)}catch(e){console.error(e)}this._innerWindow().initializationFinished()}))}))}_render(){const e=window;if(e[this._id]={datafeed:this._options.datafeed,customFormatters:this._options.custom_formatters||this._options.customFormatters,brokerFactory:this._options.broker_factory||this._options.brokerFactory,overrides:this._options.overrides,studiesOverrides:this._options.studies_overrides,tradingCustomization:this._options.trading_customization,disabledFeatures:this._options.disabled_features,enabledFeatures:this._options.enabled_features,brokerConfig:this._options.broker_config||this._options.brokerConfig,restConfig:this._options.restConfig,favorites:this._options.favorites,logo:this._options.logo,numeric_formatting:this._options.numeric_formatting,rss_news_feed:this._options.rss_news_feed,newsProvider:this._options.news_provider,loadLastChart:this._options.load_last_chart,saveLoadAdapter:this._options.save_load_adapter,loading_screen:this._options.loading_screen,settingsAdapter:this._options.settings_adapter,getCustomIndicators:this._options.custom_indicators_getter,additionalSymbolInfoFields:this._options.additional_symbol_info_fields,headerWidgetButtonsMode:this._options.header_widget_buttons_mode},this._options.saved_data)e[this._id].chartContent={json:this._options.saved_data},this._options.saved_data_meta_info&&(e[this._id].chartContentExtendedData=this._options.saved_data_meta_info);else if(!this._options.load_last_chart&&!this._options.symbol)throw new Error("Symbol is not defined: either 'symbol' or 'load_last_chart' option must be set");const t=(this._options.library_path||"")+`${encodeURIComponent(this._options.locale)}-tv-chart.9df149da.html#symbol=`+encodeURIComponent(this._options.symbol||"")+"&interval="+encodeURIComponent(this._options.interval)+(this._options.timeframe?"&timeframe="+encodeURIComponent(this._options.timeframe):"")+(this._options.toolbar_bg?"&toolbarbg="+encodeURIComponent(this._options.toolbar_bg.replace("#","")):"")+(this._options.studies_access?"&studiesAccess="+encodeURIComponent(JSON.stringify(this._options.studies_access)):"")+"&widgetbar="+encodeURIComponent(JSON.stringify(this._options.widgetbar))+(this._options.drawings_access?"&drawingsAccess="+encodeURIComponent(JSON.stringify(this._options.drawings_access)):"")+"&timeFrames="+encodeURIComponent(JSON.stringify(this._options.time_frames))+"&locale="+encodeURIComponent(this._options.locale)+"&uid="+encodeURIComponent(this._id)+"&clientId="+encodeURIComponent(String(this._options.client_id))+"&userId="+encodeURIComponent(String(this._options.user_id))+(this._options.charts_storage_url?"&chartsStorageUrl="+encodeURIComponent(this._options.charts_storage_url):"")+(this._options.charts_storage_api_version?"&chartsStorageVer="+encodeURIComponent(this._options.charts_storage_api_version):"")+(this._options.custom_css_url?"&customCSS="+encodeURIComponent(this._options.custom_css_url):"")+(this._options.auto_save_delay?"&autoSaveDelay="+encodeURIComponent(String(this._options.auto_save_delay)):"")+"&debug="+encodeURIComponent(String(this._options.debug))+(this._options.snapshot_url?"&snapshotUrl="+encodeURIComponent(this._options.snapshot_url):"")+(this._options.timezone?"&timezone="+encodeURIComponent(this._options.timezone):"")+(this._options.study_count_limit?"&studyCountLimit="+encodeURIComponent(String(this._options.study_count_limit)):"")+(this._options.symbol_search_request_delay?"&ssreqdelay="+encodeURIComponent(String(this._options.symbol_search_request_delay)):"")+(this._options.compare_symbols?"&compareSymbols="+encodeURIComponent(JSON.stringify(this._options.compare_symbols)):"")+(this._options.theme?"&theme="+encodeURIComponent(String(this._options.theme)):"")+(this._options.header_widget_buttons_mode?"&header_widget_buttons_mode="+encodeURIComponent(String(this._options.header_widget_buttons_mode)):"")+(this._options.time_scale?"&time_scale="+encodeURIComponent(JSON.stringify(this._options.time_scale)):"");return''}};window.TradingView=window.TradingView||{},window.TradingView.version=n;export{n as version,o as widget}; +function e(t,i){const n=Object.assign({},t);for(const o in i)"object"!=typeof t[o]||null===t[o]||Array.isArray(t[o])?void 0!==i[o]&&(n[o]=i[o]):n[o]=e(t[o],i[o]);return n}const t={mobile:{disabled_features:["left_toolbar","header_widget","timeframes_toolbar","edit_buttons_in_legend","context_menus","control_bar","border_around_the_chart"],enabled_features:[]}},i={width:800,height:500,interval:"1D",timezone:"Etc/UTC",container:"",library_path:"",locale:"en",widgetbar:{details:!1,watchlist:!1,watchlist_settings:{default_symbols:[]}},overrides:{"mainSeriesProperties.showCountdown":!1},studies_overrides:{},trading_customization:{position:{},order:{}},brokerConfig:{configFlags:{}},fullscreen:!1,autosize:!1,disabled_features:[],enabled_features:[],debug:!1,logo:{},time_frames:[{text:"5y",resolution:"1W"},{text:"1y",resolution:"1W"},{text:"6m",resolution:"120"},{text:"3m",resolution:"60"},{text:"1m",resolution:"30"},{text:"5d",resolution:"5"},{text:"1d",resolution:"1"}],client_id:"0",user_id:"0",charts_storage_api_version:"1.0",favorites:{intervals:[],chartTypes:[]}};function n(){return"CL v20.034 (internal id e16a61a3 @ 2022-01-24T10:49:41.818Z)"}const o=class{constructor(n){if(this._id=`tradingview_${(1048576*(1+Math.random())|0).toString(16).substring(1)}`,this._ready=!1,this._readyHandlers=[],this._onWindowResize=this._autoResizeChart.bind(this),!n.datafeed)throw new Error("Datafeed is not defined");if(this._options=e(i,n),n.preset){const e=t[n.preset];e?(void 0!==this._options.disabled_features?this._options.disabled_features=this._options.disabled_features.concat(e.disabled_features):this._options.disabled_features=e.disabled_features,void 0!==this._options.enabled_features?this._options.enabled_features=this._options.enabled_features.concat(e.enabled_features):this._options.enabled_features=e.enabled_features):console.warn("Unknown preset: `"+n.preset+"`")}"Dark"===this._options.theme&&void 0===this._options.loading_screen&&(this._options.loading_screen={backgroundColor:"#131722"}),this._create()}onChartReady(e){this._ready?e.call(this):this._readyHandlers.push(e)}headerReady(){return this._innerWindowLoaded.then((()=>this._innerWindow().headerReady()))}onGrayedObjectClicked(e){this._innerAPI().onGrayedObjectClicked(e)}onShortcut(e,t){this._innerWindow().createShortcutAction(e,t)}subscribe(e,t){this._innerAPI().subscribe(e,t)}unsubscribe(e,t){this._innerAPI().unsubscribe(e,t)}chart(e){return this._innerAPI().chart(e)}getLanguage(){return this._options.locale}setSymbol(e,t,i){this._innerAPI().changeSymbol(e,t,i)}remove(){window.removeEventListener("resize",this._onWindowResize),this._readyHandlers.splice(0,this._readyHandlers.length),delete window[this._id],this._iFrame.parentNode&&this._iFrame.parentNode.removeChild(this._iFrame)}closePopupsAndDialogs(){this._innerAPI().closePopupsAndDialogs()}selectLineTool(e){this._innerAPI().selectLineTool(e)}selectedLineTool(){return this._innerAPI().selectedLineTool()}save(e){this._innerAPI().saveChart(e)}load(e,t){this._innerAPI().loadChart({json:e,extendedData:t})}getSavedCharts(e){this._innerAPI().getSavedCharts(e)}loadChartFromServer(e){this._innerAPI().loadChartFromServer(e)}saveChartToServer(e,t,i){this._innerAPI().saveChartToServer(e,t,i)}removeChartFromServer(e,t){this._innerAPI().removeChartFromServer(e,t)}onContextMenu(e){this._innerAPI().onContextMenu(e)}createButton(e){return this._innerWindow().createButton(e)}showNoticeDialog(e){this._innerAPI().showNoticeDialog(e)}showConfirmDialog(e){this._innerAPI().showConfirmDialog(e)}showLoadChartDialog(){this._innerAPI().showLoadChartDialog()}showSaveAsChartDialog(){this._innerAPI().showSaveAsChartDialog()}symbolInterval(){return this._innerAPI().getSymbolInterval()}mainSeriesPriceFormatter(){return this._innerAPI().mainSeriesPriceFormatter()}getIntervals(){return this._innerAPI().getIntervals()}getStudiesList(){return this._innerAPI().getStudiesList()}addCustomCSSFile(e){this._innerWindow().addCustomCSSFile(e)}applyOverrides(t){this._options=e(this._options,{overrides:t}),this._innerWindow().applyOverrides(t)}applyStudiesOverrides(e){this._innerWindow().applyStudiesOverrides(e)}watchList(){return this._innerAPI().watchlist()}activeChart(){return this._innerAPI().activeChart()}chartsCount(){return this._innerAPI().chartsCount()}layout(){return this._innerAPI().layout()}setLayout(e){this._innerAPI().setLayout(e)}layoutName(){return this._innerAPI().layoutName()}changeTheme(e,t){this._innerWindow().changeTheme(e,t)}getTheme(){return this._innerWindow().getTheme()}takeScreenshot(){this._innerAPI().takeScreenshot()}lockAllDrawingTools(){return this._innerAPI().lockAllDrawingTools()}hideAllDrawingTools(){return this._innerAPI().hideAllDrawingTools()}drawOnAllCharts(e){this._innerAPI().drawOnAllCharts(e)}magnetEnabled(){return this._innerAPI().magnetEnabled()}magnetMode(){return this._innerAPI().magnetMode()}undoRedoState(){return this._innerAPI().undoRedoState()}setIntervalLinkingEnabled(e){this._innerAPI().setIntervalLinkingEnabled(e)}setTimeFrame(e){this._innerAPI().setTimeFrame(e)}symbolSync(){return this._innerAPI().symbolSync()}intervalSync(){return this._innerAPI().intervalSync()}crosshairSync(){return this._innerAPI().crosshairSync()}timeSync(){return this._innerAPI().timeSync()}getAllFeatures(){return this._innerWindow().getAllFeatures()}clearUndoHistory(){return this._innerAPI().clearUndoHistory()}undo(){return this._innerAPI().undo()}redo(){return this._innerAPI().redo()}startFullscreen(){this._innerAPI().startFullscreen()}exitFullscreen(){this._innerAPI().exitFullscreen()}takeClientScreenshot(e){return this._innerAPI().takeClientScreenshot(e)}_innerAPI(){return this._innerWindow().tradingViewApi}_innerWindow(){return this._iFrame.contentWindow}_autoResizeChart(){this._options.fullscreen&&(this._iFrame.style.height=window.innerHeight+"px")}_create(){const e=this._render();this._options.container_id&&console.warn("`container_id` is now deprecated. Please use `container` instead to either still pass a string or an `HTMLElement`.");const t=this._options.container_id||this._options.container,i="string"==typeof t?document.getElementById(t):t;if(null===i)throw new Error(`There is no such element - #${this._options.container}`);i.innerHTML=e,this._iFrame=i.querySelector(`#${this._id}`);const n=this._iFrame;(this._options.autosize||this._options.fullscreen)&&(n.style.width="100%",this._options.fullscreen||(n.style.height="100%")),window.addEventListener("resize",this._onWindowResize),this._onWindowResize(),this._innerWindowLoaded=new Promise((e=>{const t=()=>{n.removeEventListener("load",t,!1),e()};n.addEventListener("load",t,!1)})),this._innerWindowLoaded.then((()=>{this._innerWindow().widgetReady((()=>{this._ready=!0;for(const t of this._readyHandlers)try{t.call(this)}catch(e){console.error(e)}this._innerWindow().initializationFinished()}))}))}_render(){const e=window;if(e[this._id]={datafeed:this._options.datafeed,customFormatters:this._options.custom_formatters||this._options.customFormatters,brokerFactory:this._options.broker_factory||this._options.brokerFactory,overrides:this._options.overrides,studiesOverrides:this._options.studies_overrides,tradingCustomization:this._options.trading_customization,disabledFeatures:this._options.disabled_features,enabledFeatures:this._options.enabled_features,brokerConfig:this._options.broker_config||this._options.brokerConfig,restConfig:this._options.restConfig,favorites:this._options.favorites,logo:this._options.logo,numeric_formatting:this._options.numeric_formatting,rss_news_feed:this._options.rss_news_feed,newsProvider:this._options.news_provider,loadLastChart:this._options.load_last_chart,saveLoadAdapter:this._options.save_load_adapter,loading_screen:this._options.loading_screen,settingsAdapter:this._options.settings_adapter,getCustomIndicators:this._options.custom_indicators_getter,additionalSymbolInfoFields:this._options.additional_symbol_info_fields,headerWidgetButtonsMode:this._options.header_widget_buttons_mode},this._options.saved_data)e[this._id].chartContent={json:this._options.saved_data},this._options.saved_data_meta_info&&(e[this._id].chartContentExtendedData=this._options.saved_data_meta_info);else if(!this._options.load_last_chart&&!this._options.symbol)throw new Error("Symbol is not defined: either 'symbol' or 'load_last_chart' option must be set");const t=(this._options.library_path||"")+`${encodeURIComponent(this._options.locale)}-tv-chart.e16a61a3.html#symbol=`+encodeURIComponent(this._options.symbol||"")+"&interval="+encodeURIComponent(this._options.interval)+(this._options.timeframe?"&timeframe="+encodeURIComponent(this._options.timeframe):"")+(this._options.toolbar_bg?"&toolbarbg="+encodeURIComponent(this._options.toolbar_bg.replace("#","")):"")+(this._options.studies_access?"&studiesAccess="+encodeURIComponent(JSON.stringify(this._options.studies_access)):"")+"&widgetbar="+encodeURIComponent(JSON.stringify(this._options.widgetbar))+(this._options.drawings_access?"&drawingsAccess="+encodeURIComponent(JSON.stringify(this._options.drawings_access)):"")+"&timeFrames="+encodeURIComponent(JSON.stringify(this._options.time_frames))+"&locale="+encodeURIComponent(this._options.locale)+"&uid="+encodeURIComponent(this._id)+"&clientId="+encodeURIComponent(String(this._options.client_id))+"&userId="+encodeURIComponent(String(this._options.user_id))+(this._options.charts_storage_url?"&chartsStorageUrl="+encodeURIComponent(this._options.charts_storage_url):"")+(this._options.charts_storage_api_version?"&chartsStorageVer="+encodeURIComponent(this._options.charts_storage_api_version):"")+(this._options.custom_css_url?"&customCSS="+encodeURIComponent(this._options.custom_css_url):"")+(this._options.auto_save_delay?"&autoSaveDelay="+encodeURIComponent(String(this._options.auto_save_delay)):"")+"&debug="+encodeURIComponent(String(this._options.debug))+(this._options.snapshot_url?"&snapshotUrl="+encodeURIComponent(this._options.snapshot_url):"")+(this._options.timezone?"&timezone="+encodeURIComponent(this._options.timezone):"")+(this._options.study_count_limit?"&studyCountLimit="+encodeURIComponent(String(this._options.study_count_limit)):"")+(this._options.symbol_search_request_delay?"&ssreqdelay="+encodeURIComponent(String(this._options.symbol_search_request_delay)):"")+(this._options.compare_symbols?"&compareSymbols="+encodeURIComponent(JSON.stringify(this._options.compare_symbols)):"")+(this._options.theme?"&theme="+encodeURIComponent(String(this._options.theme)):"")+(this._options.header_widget_buttons_mode?"&header_widget_buttons_mode="+encodeURIComponent(String(this._options.header_widget_buttons_mode)):"")+(this._options.time_scale?"&time_scale="+encodeURIComponent(JSON.stringify(this._options.time_scale)):"");return''}};window.TradingView=window.TradingView||{},window.TradingView.version=n;export{n as version,o as widget}; diff --git a/charting_library/charting_library.js b/charting_library/charting_library.js index b4970384..ca9a2fb8 100644 --- a/charting_library/charting_library.js +++ b/charting_library/charting_library.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TradingView={})}(this,(function(e){"use strict";function t(e,i){const n=Object.assign({},e);for(const o in i)"object"!=typeof e[o]||null===e[o]||Array.isArray(e[o])?void 0!==i[o]&&(n[o]=i[o]):n[o]=t(e[o],i[o]);return n}const i={mobile:{disabled_features:["left_toolbar","header_widget","timeframes_toolbar","edit_buttons_in_legend","context_menus","control_bar","border_around_the_chart"],enabled_features:[]}},n={width:800,height:500,interval:"1D",timezone:"Etc/UTC",container:"",library_path:"",locale:"en",widgetbar:{details:!1,watchlist:!1,watchlist_settings:{default_symbols:[]}},overrides:{"mainSeriesProperties.showCountdown":!1},studies_overrides:{},trading_customization:{position:{},order:{}},brokerConfig:{configFlags:{}},fullscreen:!1,autosize:!1,disabled_features:[],enabled_features:[],debug:!1,logo:{},time_frames:[{text:"5y",resolution:"1W"},{text:"1y",resolution:"1W"},{text:"6m",resolution:"120"},{text:"3m",resolution:"60"},{text:"1m",resolution:"30"},{text:"5d",resolution:"5"},{text:"1d",resolution:"1"}],client_id:"0",user_id:"0",charts_storage_api_version:"1.0",favorites:{intervals:[],chartTypes:[]}};function o(){return"CL v20.033 (internal id 9df149da @ 2021-11-17T10:20:51.511Z)"}const s=class{constructor(e){if(this._id=`tradingview_${(1048576*(1+Math.random())|0).toString(16).substring(1)}`,this._ready=!1,this._readyHandlers=[],this._onWindowResize=this._autoResizeChart.bind(this),!e.datafeed)throw new Error("Datafeed is not defined");if(this._options=t(n,e),e.preset){const t=i[e.preset];t?(void 0!==this._options.disabled_features?this._options.disabled_features=this._options.disabled_features.concat(t.disabled_features):this._options.disabled_features=t.disabled_features,void 0!==this._options.enabled_features?this._options.enabled_features=this._options.enabled_features.concat(t.enabled_features):this._options.enabled_features=t.enabled_features):console.warn("Unknown preset: `"+e.preset+"`")}"Dark"===this._options.theme&&void 0===this._options.loading_screen&&(this._options.loading_screen={backgroundColor:"#131722"}),this._create()}onChartReady(e){this._ready?e.call(this):this._readyHandlers.push(e)}headerReady(){return this._innerWindowLoaded.then((()=>this._innerWindow().headerReady()))}onGrayedObjectClicked(e){this._innerAPI().onGrayedObjectClicked(e)}onShortcut(e,t){this._innerWindow().createShortcutAction(e,t)}subscribe(e,t){this._innerAPI().subscribe(e,t)}unsubscribe(e,t){this._innerAPI().unsubscribe(e,t)}chart(e){return this._innerAPI().chart(e)}getLanguage(){return this._options.locale}setSymbol(e,t,i){this._innerAPI().changeSymbol(e,t,i)}remove(){window.removeEventListener("resize",this._onWindowResize),this._readyHandlers.splice(0,this._readyHandlers.length),delete window[this._id],this._iFrame.parentNode&&this._iFrame.parentNode.removeChild(this._iFrame)}closePopupsAndDialogs(){this._innerAPI().closePopupsAndDialogs()}selectLineTool(e){this._innerAPI().selectLineTool(e)}selectedLineTool(){return this._innerAPI().selectedLineTool()}save(e){this._innerAPI().saveChart(e)}load(e,t){this._innerAPI().loadChart({json:e,extendedData:t})}getSavedCharts(e){this._innerAPI().getSavedCharts(e)}loadChartFromServer(e){this._innerAPI().loadChartFromServer(e)}saveChartToServer(e,t,i){this._innerAPI().saveChartToServer(e,t,i)}removeChartFromServer(e,t){this._innerAPI().removeChartFromServer(e,t)}onContextMenu(e){this._innerAPI().onContextMenu(e)}createButton(e){return this._innerWindow().createButton(e)}showNoticeDialog(e){this._innerAPI().showNoticeDialog(e)}showConfirmDialog(e){this._innerAPI().showConfirmDialog(e)}showLoadChartDialog(){this._innerAPI().showLoadChartDialog()}showSaveAsChartDialog(){this._innerAPI().showSaveAsChartDialog()}symbolInterval(){return this._innerAPI().getSymbolInterval()}mainSeriesPriceFormatter(){return this._innerAPI().mainSeriesPriceFormatter()}getIntervals(){return this._innerAPI().getIntervals()}getStudiesList(){return this._innerAPI().getStudiesList()}addCustomCSSFile(e){this._innerWindow().addCustomCSSFile(e)}applyOverrides(e){this._options=t(this._options,{overrides:e}),this._innerWindow().applyOverrides(e)}applyStudiesOverrides(e){this._innerWindow().applyStudiesOverrides(e)}watchList(){return this._innerAPI().watchlist()}activeChart(){return this._innerAPI().activeChart()}chartsCount(){return this._innerAPI().chartsCount()}layout(){return this._innerAPI().layout()}setLayout(e){this._innerAPI().setLayout(e)}layoutName(){return this._innerAPI().layoutName()}changeTheme(e,t){this._innerWindow().changeTheme(e,t)}getTheme(){return this._innerWindow().getTheme()}takeScreenshot(){this._innerAPI().takeScreenshot()}lockAllDrawingTools(){return this._innerAPI().lockAllDrawingTools()}hideAllDrawingTools(){return this._innerAPI().hideAllDrawingTools()}drawOnAllCharts(e){this._innerAPI().drawOnAllCharts(e)}magnetEnabled(){return this._innerAPI().magnetEnabled()}magnetMode(){return this._innerAPI().magnetMode()}undoRedoState(){return this._innerAPI().undoRedoState()}setIntervalLinkingEnabled(e){this._innerAPI().setIntervalLinkingEnabled(e)}setTimeFrame(e){this._innerAPI().setTimeFrame(e)}symbolSync(){return this._innerAPI().symbolSync()}intervalSync(){return this._innerAPI().intervalSync()}crosshairSync(){return this._innerAPI().crosshairSync()}timeSync(){return this._innerAPI().timeSync()}getAllFeatures(){return this._innerWindow().getAllFeatures()}clearUndoHistory(){return this._innerAPI().clearUndoHistory()}undo(){return this._innerAPI().undo()}redo(){return this._innerAPI().redo()}startFullscreen(){this._innerAPI().startFullscreen()}exitFullscreen(){this._innerAPI().exitFullscreen()}takeClientScreenshot(e){return this._innerAPI().takeClientScreenshot(e)}_innerAPI(){return this._innerWindow().tradingViewApi}_innerWindow(){return this._iFrame.contentWindow}_autoResizeChart(){this._options.fullscreen&&(this._iFrame.style.height=window.innerHeight+"px")}_create(){const e=this._render();this._options.container_id&&console.warn("`container_id` is now deprecated. Please use `container` instead to either still pass a string or an `HTMLElement`.");const t=this._options.container_id||this._options.container,i="string"==typeof t?document.getElementById(t):t;if(null===i)throw new Error(`There is no such element - #${this._options.container}`);i.innerHTML=e,this._iFrame=i.querySelector(`#${this._id}`);const n=this._iFrame;(this._options.autosize||this._options.fullscreen)&&(n.style.width="100%",this._options.fullscreen||(n.style.height="100%")),window.addEventListener("resize",this._onWindowResize),this._onWindowResize(),this._innerWindowLoaded=new Promise((e=>{const t=()=>{n.removeEventListener("load",t,!1),e()};n.addEventListener("load",t,!1)})),this._innerWindowLoaded.then((()=>{this._innerWindow().widgetReady((()=>{this._ready=!0;for(const t of this._readyHandlers)try{t.call(this)}catch(e){console.error(e)}this._innerWindow().initializationFinished()}))}))}_render(){const e=window;if(e[this._id]={datafeed:this._options.datafeed,customFormatters:this._options.custom_formatters||this._options.customFormatters,brokerFactory:this._options.broker_factory||this._options.brokerFactory,overrides:this._options.overrides,studiesOverrides:this._options.studies_overrides,tradingCustomization:this._options.trading_customization,disabledFeatures:this._options.disabled_features,enabledFeatures:this._options.enabled_features,brokerConfig:this._options.broker_config||this._options.brokerConfig,restConfig:this._options.restConfig,favorites:this._options.favorites,logo:this._options.logo,numeric_formatting:this._options.numeric_formatting,rss_news_feed:this._options.rss_news_feed,newsProvider:this._options.news_provider,loadLastChart:this._options.load_last_chart,saveLoadAdapter:this._options.save_load_adapter,loading_screen:this._options.loading_screen,settingsAdapter:this._options.settings_adapter,getCustomIndicators:this._options.custom_indicators_getter,additionalSymbolInfoFields:this._options.additional_symbol_info_fields,headerWidgetButtonsMode:this._options.header_widget_buttons_mode},this._options.saved_data)e[this._id].chartContent={json:this._options.saved_data},this._options.saved_data_meta_info&&(e[this._id].chartContentExtendedData=this._options.saved_data_meta_info);else if(!this._options.load_last_chart&&!this._options.symbol)throw new Error("Symbol is not defined: either 'symbol' or 'load_last_chart' option must be set");const t=(this._options.library_path||"")+`${encodeURIComponent(this._options.locale)}-tv-chart.9df149da.html#symbol=`+encodeURIComponent(this._options.symbol||"")+"&interval="+encodeURIComponent(this._options.interval)+(this._options.timeframe?"&timeframe="+encodeURIComponent(this._options.timeframe):"")+(this._options.toolbar_bg?"&toolbarbg="+encodeURIComponent(this._options.toolbar_bg.replace("#","")):"")+(this._options.studies_access?"&studiesAccess="+encodeURIComponent(JSON.stringify(this._options.studies_access)):"")+"&widgetbar="+encodeURIComponent(JSON.stringify(this._options.widgetbar))+(this._options.drawings_access?"&drawingsAccess="+encodeURIComponent(JSON.stringify(this._options.drawings_access)):"")+"&timeFrames="+encodeURIComponent(JSON.stringify(this._options.time_frames))+"&locale="+encodeURIComponent(this._options.locale)+"&uid="+encodeURIComponent(this._id)+"&clientId="+encodeURIComponent(String(this._options.client_id))+"&userId="+encodeURIComponent(String(this._options.user_id))+(this._options.charts_storage_url?"&chartsStorageUrl="+encodeURIComponent(this._options.charts_storage_url):"")+(this._options.charts_storage_api_version?"&chartsStorageVer="+encodeURIComponent(this._options.charts_storage_api_version):"")+(this._options.custom_css_url?"&customCSS="+encodeURIComponent(this._options.custom_css_url):"")+(this._options.auto_save_delay?"&autoSaveDelay="+encodeURIComponent(String(this._options.auto_save_delay)):"")+"&debug="+encodeURIComponent(String(this._options.debug))+(this._options.snapshot_url?"&snapshotUrl="+encodeURIComponent(this._options.snapshot_url):"")+(this._options.timezone?"&timezone="+encodeURIComponent(this._options.timezone):"")+(this._options.study_count_limit?"&studyCountLimit="+encodeURIComponent(String(this._options.study_count_limit)):"")+(this._options.symbol_search_request_delay?"&ssreqdelay="+encodeURIComponent(String(this._options.symbol_search_request_delay)):"")+(this._options.compare_symbols?"&compareSymbols="+encodeURIComponent(JSON.stringify(this._options.compare_symbols)):"")+(this._options.theme?"&theme="+encodeURIComponent(String(this._options.theme)):"")+(this._options.header_widget_buttons_mode?"&header_widget_buttons_mode="+encodeURIComponent(String(this._options.header_widget_buttons_mode)):"")+(this._options.time_scale?"&time_scale="+encodeURIComponent(JSON.stringify(this._options.time_scale)):"");return''}};window.TradingView=window.TradingView||{},window.TradingView.version=o,e.version=o,e.widget=s,Object.defineProperty(e,"__esModule",{value:!0})})); +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TradingView={})}(this,(function(e){"use strict";function t(e,i){const n=Object.assign({},e);for(const o in i)"object"!=typeof e[o]||null===e[o]||Array.isArray(e[o])?void 0!==i[o]&&(n[o]=i[o]):n[o]=t(e[o],i[o]);return n}const i={mobile:{disabled_features:["left_toolbar","header_widget","timeframes_toolbar","edit_buttons_in_legend","context_menus","control_bar","border_around_the_chart"],enabled_features:[]}},n={width:800,height:500,interval:"1D",timezone:"Etc/UTC",container:"",library_path:"",locale:"en",widgetbar:{details:!1,watchlist:!1,watchlist_settings:{default_symbols:[]}},overrides:{"mainSeriesProperties.showCountdown":!1},studies_overrides:{},trading_customization:{position:{},order:{}},brokerConfig:{configFlags:{}},fullscreen:!1,autosize:!1,disabled_features:[],enabled_features:[],debug:!1,logo:{},time_frames:[{text:"5y",resolution:"1W"},{text:"1y",resolution:"1W"},{text:"6m",resolution:"120"},{text:"3m",resolution:"60"},{text:"1m",resolution:"30"},{text:"5d",resolution:"5"},{text:"1d",resolution:"1"}],client_id:"0",user_id:"0",charts_storage_api_version:"1.0",favorites:{intervals:[],chartTypes:[]}};function o(){return"CL v20.034 (internal id e16a61a3 @ 2022-01-24T10:49:41.818Z)"}const s=class{constructor(e){if(this._id=`tradingview_${(1048576*(1+Math.random())|0).toString(16).substring(1)}`,this._ready=!1,this._readyHandlers=[],this._onWindowResize=this._autoResizeChart.bind(this),!e.datafeed)throw new Error("Datafeed is not defined");if(this._options=t(n,e),e.preset){const t=i[e.preset];t?(void 0!==this._options.disabled_features?this._options.disabled_features=this._options.disabled_features.concat(t.disabled_features):this._options.disabled_features=t.disabled_features,void 0!==this._options.enabled_features?this._options.enabled_features=this._options.enabled_features.concat(t.enabled_features):this._options.enabled_features=t.enabled_features):console.warn("Unknown preset: `"+e.preset+"`")}"Dark"===this._options.theme&&void 0===this._options.loading_screen&&(this._options.loading_screen={backgroundColor:"#131722"}),this._create()}onChartReady(e){this._ready?e.call(this):this._readyHandlers.push(e)}headerReady(){return this._innerWindowLoaded.then((()=>this._innerWindow().headerReady()))}onGrayedObjectClicked(e){this._innerAPI().onGrayedObjectClicked(e)}onShortcut(e,t){this._innerWindow().createShortcutAction(e,t)}subscribe(e,t){this._innerAPI().subscribe(e,t)}unsubscribe(e,t){this._innerAPI().unsubscribe(e,t)}chart(e){return this._innerAPI().chart(e)}getLanguage(){return this._options.locale}setSymbol(e,t,i){this._innerAPI().changeSymbol(e,t,i)}remove(){window.removeEventListener("resize",this._onWindowResize),this._readyHandlers.splice(0,this._readyHandlers.length),delete window[this._id],this._iFrame.parentNode&&this._iFrame.parentNode.removeChild(this._iFrame)}closePopupsAndDialogs(){this._innerAPI().closePopupsAndDialogs()}selectLineTool(e){this._innerAPI().selectLineTool(e)}selectedLineTool(){return this._innerAPI().selectedLineTool()}save(e){this._innerAPI().saveChart(e)}load(e,t){this._innerAPI().loadChart({json:e,extendedData:t})}getSavedCharts(e){this._innerAPI().getSavedCharts(e)}loadChartFromServer(e){this._innerAPI().loadChartFromServer(e)}saveChartToServer(e,t,i){this._innerAPI().saveChartToServer(e,t,i)}removeChartFromServer(e,t){this._innerAPI().removeChartFromServer(e,t)}onContextMenu(e){this._innerAPI().onContextMenu(e)}createButton(e){return this._innerWindow().createButton(e)}showNoticeDialog(e){this._innerAPI().showNoticeDialog(e)}showConfirmDialog(e){this._innerAPI().showConfirmDialog(e)}showLoadChartDialog(){this._innerAPI().showLoadChartDialog()}showSaveAsChartDialog(){this._innerAPI().showSaveAsChartDialog()}symbolInterval(){return this._innerAPI().getSymbolInterval()}mainSeriesPriceFormatter(){return this._innerAPI().mainSeriesPriceFormatter()}getIntervals(){return this._innerAPI().getIntervals()}getStudiesList(){return this._innerAPI().getStudiesList()}addCustomCSSFile(e){this._innerWindow().addCustomCSSFile(e)}applyOverrides(e){this._options=t(this._options,{overrides:e}),this._innerWindow().applyOverrides(e)}applyStudiesOverrides(e){this._innerWindow().applyStudiesOverrides(e)}watchList(){return this._innerAPI().watchlist()}activeChart(){return this._innerAPI().activeChart()}chartsCount(){return this._innerAPI().chartsCount()}layout(){return this._innerAPI().layout()}setLayout(e){this._innerAPI().setLayout(e)}layoutName(){return this._innerAPI().layoutName()}changeTheme(e,t){this._innerWindow().changeTheme(e,t)}getTheme(){return this._innerWindow().getTheme()}takeScreenshot(){this._innerAPI().takeScreenshot()}lockAllDrawingTools(){return this._innerAPI().lockAllDrawingTools()}hideAllDrawingTools(){return this._innerAPI().hideAllDrawingTools()}drawOnAllCharts(e){this._innerAPI().drawOnAllCharts(e)}magnetEnabled(){return this._innerAPI().magnetEnabled()}magnetMode(){return this._innerAPI().magnetMode()}undoRedoState(){return this._innerAPI().undoRedoState()}setIntervalLinkingEnabled(e){this._innerAPI().setIntervalLinkingEnabled(e)}setTimeFrame(e){this._innerAPI().setTimeFrame(e)}symbolSync(){return this._innerAPI().symbolSync()}intervalSync(){return this._innerAPI().intervalSync()}crosshairSync(){return this._innerAPI().crosshairSync()}timeSync(){return this._innerAPI().timeSync()}getAllFeatures(){return this._innerWindow().getAllFeatures()}clearUndoHistory(){return this._innerAPI().clearUndoHistory()}undo(){return this._innerAPI().undo()}redo(){return this._innerAPI().redo()}startFullscreen(){this._innerAPI().startFullscreen()}exitFullscreen(){this._innerAPI().exitFullscreen()}takeClientScreenshot(e){return this._innerAPI().takeClientScreenshot(e)}_innerAPI(){return this._innerWindow().tradingViewApi}_innerWindow(){return this._iFrame.contentWindow}_autoResizeChart(){this._options.fullscreen&&(this._iFrame.style.height=window.innerHeight+"px")}_create(){const e=this._render();this._options.container_id&&console.warn("`container_id` is now deprecated. Please use `container` instead to either still pass a string or an `HTMLElement`.");const t=this._options.container_id||this._options.container,i="string"==typeof t?document.getElementById(t):t;if(null===i)throw new Error(`There is no such element - #${this._options.container}`);i.innerHTML=e,this._iFrame=i.querySelector(`#${this._id}`);const n=this._iFrame;(this._options.autosize||this._options.fullscreen)&&(n.style.width="100%",this._options.fullscreen||(n.style.height="100%")),window.addEventListener("resize",this._onWindowResize),this._onWindowResize(),this._innerWindowLoaded=new Promise((e=>{const t=()=>{n.removeEventListener("load",t,!1),e()};n.addEventListener("load",t,!1)})),this._innerWindowLoaded.then((()=>{this._innerWindow().widgetReady((()=>{this._ready=!0;for(const t of this._readyHandlers)try{t.call(this)}catch(e){console.error(e)}this._innerWindow().initializationFinished()}))}))}_render(){const e=window;if(e[this._id]={datafeed:this._options.datafeed,customFormatters:this._options.custom_formatters||this._options.customFormatters,brokerFactory:this._options.broker_factory||this._options.brokerFactory,overrides:this._options.overrides,studiesOverrides:this._options.studies_overrides,tradingCustomization:this._options.trading_customization,disabledFeatures:this._options.disabled_features,enabledFeatures:this._options.enabled_features,brokerConfig:this._options.broker_config||this._options.brokerConfig,restConfig:this._options.restConfig,favorites:this._options.favorites,logo:this._options.logo,numeric_formatting:this._options.numeric_formatting,rss_news_feed:this._options.rss_news_feed,newsProvider:this._options.news_provider,loadLastChart:this._options.load_last_chart,saveLoadAdapter:this._options.save_load_adapter,loading_screen:this._options.loading_screen,settingsAdapter:this._options.settings_adapter,getCustomIndicators:this._options.custom_indicators_getter,additionalSymbolInfoFields:this._options.additional_symbol_info_fields,headerWidgetButtonsMode:this._options.header_widget_buttons_mode},this._options.saved_data)e[this._id].chartContent={json:this._options.saved_data},this._options.saved_data_meta_info&&(e[this._id].chartContentExtendedData=this._options.saved_data_meta_info);else if(!this._options.load_last_chart&&!this._options.symbol)throw new Error("Symbol is not defined: either 'symbol' or 'load_last_chart' option must be set");const t=(this._options.library_path||"")+`${encodeURIComponent(this._options.locale)}-tv-chart.e16a61a3.html#symbol=`+encodeURIComponent(this._options.symbol||"")+"&interval="+encodeURIComponent(this._options.interval)+(this._options.timeframe?"&timeframe="+encodeURIComponent(this._options.timeframe):"")+(this._options.toolbar_bg?"&toolbarbg="+encodeURIComponent(this._options.toolbar_bg.replace("#","")):"")+(this._options.studies_access?"&studiesAccess="+encodeURIComponent(JSON.stringify(this._options.studies_access)):"")+"&widgetbar="+encodeURIComponent(JSON.stringify(this._options.widgetbar))+(this._options.drawings_access?"&drawingsAccess="+encodeURIComponent(JSON.stringify(this._options.drawings_access)):"")+"&timeFrames="+encodeURIComponent(JSON.stringify(this._options.time_frames))+"&locale="+encodeURIComponent(this._options.locale)+"&uid="+encodeURIComponent(this._id)+"&clientId="+encodeURIComponent(String(this._options.client_id))+"&userId="+encodeURIComponent(String(this._options.user_id))+(this._options.charts_storage_url?"&chartsStorageUrl="+encodeURIComponent(this._options.charts_storage_url):"")+(this._options.charts_storage_api_version?"&chartsStorageVer="+encodeURIComponent(this._options.charts_storage_api_version):"")+(this._options.custom_css_url?"&customCSS="+encodeURIComponent(this._options.custom_css_url):"")+(this._options.auto_save_delay?"&autoSaveDelay="+encodeURIComponent(String(this._options.auto_save_delay)):"")+"&debug="+encodeURIComponent(String(this._options.debug))+(this._options.snapshot_url?"&snapshotUrl="+encodeURIComponent(this._options.snapshot_url):"")+(this._options.timezone?"&timezone="+encodeURIComponent(this._options.timezone):"")+(this._options.study_count_limit?"&studyCountLimit="+encodeURIComponent(String(this._options.study_count_limit)):"")+(this._options.symbol_search_request_delay?"&ssreqdelay="+encodeURIComponent(String(this._options.symbol_search_request_delay)):"")+(this._options.compare_symbols?"&compareSymbols="+encodeURIComponent(JSON.stringify(this._options.compare_symbols)):"")+(this._options.theme?"&theme="+encodeURIComponent(String(this._options.theme)):"")+(this._options.header_widget_buttons_mode?"&header_widget_buttons_mode="+encodeURIComponent(String(this._options.header_widget_buttons_mode)):"")+(this._options.time_scale?"&time_scale="+encodeURIComponent(JSON.stringify(this._options.time_scale)):"");return''}};window.TradingView=window.TradingView||{},window.TradingView.version=o,e.version=o,e.widget=s,Object.defineProperty(e,"__esModule",{value:!0})})); diff --git a/charting_library/charting_library.standalone.js b/charting_library/charting_library.standalone.js index 38d8b962..c6d21e60 100644 --- a/charting_library/charting_library.standalone.js +++ b/charting_library/charting_library.standalone.js @@ -1 +1 @@ -var TradingView=function(e){"use strict";function t(e,i){const n=Object.assign({},e);for(const o in i)"object"!=typeof e[o]||null===e[o]||Array.isArray(e[o])?void 0!==i[o]&&(n[o]=i[o]):n[o]=t(e[o],i[o]);return n}const i={mobile:{disabled_features:["left_toolbar","header_widget","timeframes_toolbar","edit_buttons_in_legend","context_menus","control_bar","border_around_the_chart"],enabled_features:[]}},n={width:800,height:500,interval:"1D",timezone:"Etc/UTC",container:"",library_path:"",locale:"en",widgetbar:{details:!1,watchlist:!1,watchlist_settings:{default_symbols:[]}},overrides:{"mainSeriesProperties.showCountdown":!1},studies_overrides:{},trading_customization:{position:{},order:{}},brokerConfig:{configFlags:{}},fullscreen:!1,autosize:!1,disabled_features:[],enabled_features:[],debug:!1,logo:{},time_frames:[{text:"5y",resolution:"1W"},{text:"1y",resolution:"1W"},{text:"6m",resolution:"120"},{text:"3m",resolution:"60"},{text:"1m",resolution:"30"},{text:"5d",resolution:"5"},{text:"1d",resolution:"1"}],client_id:"0",user_id:"0",charts_storage_api_version:"1.0",favorites:{intervals:[],chartTypes:[]}};function o(){return"CL v20.033 (internal id 9df149da @ 2021-11-17T10:20:51.511Z)"}const s=class{constructor(e){if(this._id=`tradingview_${(1048576*(1+Math.random())|0).toString(16).substring(1)}`,this._ready=!1,this._readyHandlers=[],this._onWindowResize=this._autoResizeChart.bind(this),!e.datafeed)throw new Error("Datafeed is not defined");if(this._options=t(n,e),e.preset){const t=i[e.preset];t?(void 0!==this._options.disabled_features?this._options.disabled_features=this._options.disabled_features.concat(t.disabled_features):this._options.disabled_features=t.disabled_features,void 0!==this._options.enabled_features?this._options.enabled_features=this._options.enabled_features.concat(t.enabled_features):this._options.enabled_features=t.enabled_features):console.warn("Unknown preset: `"+e.preset+"`")}"Dark"===this._options.theme&&void 0===this._options.loading_screen&&(this._options.loading_screen={backgroundColor:"#131722"}),this._create()}onChartReady(e){this._ready?e.call(this):this._readyHandlers.push(e)}headerReady(){return this._innerWindowLoaded.then((()=>this._innerWindow().headerReady()))}onGrayedObjectClicked(e){this._innerAPI().onGrayedObjectClicked(e)}onShortcut(e,t){this._innerWindow().createShortcutAction(e,t)}subscribe(e,t){this._innerAPI().subscribe(e,t)}unsubscribe(e,t){this._innerAPI().unsubscribe(e,t)}chart(e){return this._innerAPI().chart(e)}getLanguage(){return this._options.locale}setSymbol(e,t,i){this._innerAPI().changeSymbol(e,t,i)}remove(){window.removeEventListener("resize",this._onWindowResize),this._readyHandlers.splice(0,this._readyHandlers.length),delete window[this._id],this._iFrame.parentNode&&this._iFrame.parentNode.removeChild(this._iFrame)}closePopupsAndDialogs(){this._innerAPI().closePopupsAndDialogs()}selectLineTool(e){this._innerAPI().selectLineTool(e)}selectedLineTool(){return this._innerAPI().selectedLineTool()}save(e){this._innerAPI().saveChart(e)}load(e,t){this._innerAPI().loadChart({json:e,extendedData:t})}getSavedCharts(e){this._innerAPI().getSavedCharts(e)}loadChartFromServer(e){this._innerAPI().loadChartFromServer(e)}saveChartToServer(e,t,i){this._innerAPI().saveChartToServer(e,t,i)}removeChartFromServer(e,t){this._innerAPI().removeChartFromServer(e,t)}onContextMenu(e){this._innerAPI().onContextMenu(e)}createButton(e){return this._innerWindow().createButton(e)}showNoticeDialog(e){this._innerAPI().showNoticeDialog(e)}showConfirmDialog(e){this._innerAPI().showConfirmDialog(e)}showLoadChartDialog(){this._innerAPI().showLoadChartDialog()}showSaveAsChartDialog(){this._innerAPI().showSaveAsChartDialog()}symbolInterval(){return this._innerAPI().getSymbolInterval()}mainSeriesPriceFormatter(){return this._innerAPI().mainSeriesPriceFormatter()}getIntervals(){return this._innerAPI().getIntervals()}getStudiesList(){return this._innerAPI().getStudiesList()}addCustomCSSFile(e){this._innerWindow().addCustomCSSFile(e)}applyOverrides(e){this._options=t(this._options,{overrides:e}),this._innerWindow().applyOverrides(e)}applyStudiesOverrides(e){this._innerWindow().applyStudiesOverrides(e)}watchList(){return this._innerAPI().watchlist()}activeChart(){return this._innerAPI().activeChart()}chartsCount(){return this._innerAPI().chartsCount()}layout(){return this._innerAPI().layout()}setLayout(e){this._innerAPI().setLayout(e)}layoutName(){return this._innerAPI().layoutName()}changeTheme(e,t){this._innerWindow().changeTheme(e,t)}getTheme(){return this._innerWindow().getTheme()}takeScreenshot(){this._innerAPI().takeScreenshot()}lockAllDrawingTools(){return this._innerAPI().lockAllDrawingTools()}hideAllDrawingTools(){return this._innerAPI().hideAllDrawingTools()}drawOnAllCharts(e){this._innerAPI().drawOnAllCharts(e)}magnetEnabled(){return this._innerAPI().magnetEnabled()}magnetMode(){return this._innerAPI().magnetMode()}undoRedoState(){return this._innerAPI().undoRedoState()}setIntervalLinkingEnabled(e){this._innerAPI().setIntervalLinkingEnabled(e)}setTimeFrame(e){this._innerAPI().setTimeFrame(e)}symbolSync(){return this._innerAPI().symbolSync()}intervalSync(){return this._innerAPI().intervalSync()}crosshairSync(){return this._innerAPI().crosshairSync()}timeSync(){return this._innerAPI().timeSync()}getAllFeatures(){return this._innerWindow().getAllFeatures()}clearUndoHistory(){return this._innerAPI().clearUndoHistory()}undo(){return this._innerAPI().undo()}redo(){return this._innerAPI().redo()}startFullscreen(){this._innerAPI().startFullscreen()}exitFullscreen(){this._innerAPI().exitFullscreen()}takeClientScreenshot(e){return this._innerAPI().takeClientScreenshot(e)}_innerAPI(){return this._innerWindow().tradingViewApi}_innerWindow(){return this._iFrame.contentWindow}_autoResizeChart(){this._options.fullscreen&&(this._iFrame.style.height=window.innerHeight+"px")}_create(){const e=this._render();this._options.container_id&&console.warn("`container_id` is now deprecated. Please use `container` instead to either still pass a string or an `HTMLElement`.");const t=this._options.container_id||this._options.container,i="string"==typeof t?document.getElementById(t):t;if(null===i)throw new Error(`There is no such element - #${this._options.container}`);i.innerHTML=e,this._iFrame=i.querySelector(`#${this._id}`);const n=this._iFrame;(this._options.autosize||this._options.fullscreen)&&(n.style.width="100%",this._options.fullscreen||(n.style.height="100%")),window.addEventListener("resize",this._onWindowResize),this._onWindowResize(),this._innerWindowLoaded=new Promise((e=>{const t=()=>{n.removeEventListener("load",t,!1),e()};n.addEventListener("load",t,!1)})),this._innerWindowLoaded.then((()=>{this._innerWindow().widgetReady((()=>{this._ready=!0;for(const t of this._readyHandlers)try{t.call(this)}catch(e){console.error(e)}this._innerWindow().initializationFinished()}))}))}_render(){const e=window;if(e[this._id]={datafeed:this._options.datafeed,customFormatters:this._options.custom_formatters||this._options.customFormatters,brokerFactory:this._options.broker_factory||this._options.brokerFactory,overrides:this._options.overrides,studiesOverrides:this._options.studies_overrides,tradingCustomization:this._options.trading_customization,disabledFeatures:this._options.disabled_features,enabledFeatures:this._options.enabled_features,brokerConfig:this._options.broker_config||this._options.brokerConfig,restConfig:this._options.restConfig,favorites:this._options.favorites,logo:this._options.logo,numeric_formatting:this._options.numeric_formatting,rss_news_feed:this._options.rss_news_feed,newsProvider:this._options.news_provider,loadLastChart:this._options.load_last_chart,saveLoadAdapter:this._options.save_load_adapter,loading_screen:this._options.loading_screen,settingsAdapter:this._options.settings_adapter,getCustomIndicators:this._options.custom_indicators_getter,additionalSymbolInfoFields:this._options.additional_symbol_info_fields,headerWidgetButtonsMode:this._options.header_widget_buttons_mode},this._options.saved_data)e[this._id].chartContent={json:this._options.saved_data},this._options.saved_data_meta_info&&(e[this._id].chartContentExtendedData=this._options.saved_data_meta_info);else if(!this._options.load_last_chart&&!this._options.symbol)throw new Error("Symbol is not defined: either 'symbol' or 'load_last_chart' option must be set");const t=(this._options.library_path||"")+`${encodeURIComponent(this._options.locale)}-tv-chart.9df149da.html#symbol=`+encodeURIComponent(this._options.symbol||"")+"&interval="+encodeURIComponent(this._options.interval)+(this._options.timeframe?"&timeframe="+encodeURIComponent(this._options.timeframe):"")+(this._options.toolbar_bg?"&toolbarbg="+encodeURIComponent(this._options.toolbar_bg.replace("#","")):"")+(this._options.studies_access?"&studiesAccess="+encodeURIComponent(JSON.stringify(this._options.studies_access)):"")+"&widgetbar="+encodeURIComponent(JSON.stringify(this._options.widgetbar))+(this._options.drawings_access?"&drawingsAccess="+encodeURIComponent(JSON.stringify(this._options.drawings_access)):"")+"&timeFrames="+encodeURIComponent(JSON.stringify(this._options.time_frames))+"&locale="+encodeURIComponent(this._options.locale)+"&uid="+encodeURIComponent(this._id)+"&clientId="+encodeURIComponent(String(this._options.client_id))+"&userId="+encodeURIComponent(String(this._options.user_id))+(this._options.charts_storage_url?"&chartsStorageUrl="+encodeURIComponent(this._options.charts_storage_url):"")+(this._options.charts_storage_api_version?"&chartsStorageVer="+encodeURIComponent(this._options.charts_storage_api_version):"")+(this._options.custom_css_url?"&customCSS="+encodeURIComponent(this._options.custom_css_url):"")+(this._options.auto_save_delay?"&autoSaveDelay="+encodeURIComponent(String(this._options.auto_save_delay)):"")+"&debug="+encodeURIComponent(String(this._options.debug))+(this._options.snapshot_url?"&snapshotUrl="+encodeURIComponent(this._options.snapshot_url):"")+(this._options.timezone?"&timezone="+encodeURIComponent(this._options.timezone):"")+(this._options.study_count_limit?"&studyCountLimit="+encodeURIComponent(String(this._options.study_count_limit)):"")+(this._options.symbol_search_request_delay?"&ssreqdelay="+encodeURIComponent(String(this._options.symbol_search_request_delay)):"")+(this._options.compare_symbols?"&compareSymbols="+encodeURIComponent(JSON.stringify(this._options.compare_symbols)):"")+(this._options.theme?"&theme="+encodeURIComponent(String(this._options.theme)):"")+(this._options.header_widget_buttons_mode?"&header_widget_buttons_mode="+encodeURIComponent(String(this._options.header_widget_buttons_mode)):"")+(this._options.time_scale?"&time_scale="+encodeURIComponent(JSON.stringify(this._options.time_scale)):"");return''}};return window.TradingView=window.TradingView||{},window.TradingView.version=o,e.version=o,e.widget=s,e}({}); +var TradingView=function(e){"use strict";function t(e,i){const n=Object.assign({},e);for(const o in i)"object"!=typeof e[o]||null===e[o]||Array.isArray(e[o])?void 0!==i[o]&&(n[o]=i[o]):n[o]=t(e[o],i[o]);return n}const i={mobile:{disabled_features:["left_toolbar","header_widget","timeframes_toolbar","edit_buttons_in_legend","context_menus","control_bar","border_around_the_chart"],enabled_features:[]}},n={width:800,height:500,interval:"1D",timezone:"Etc/UTC",container:"",library_path:"",locale:"en",widgetbar:{details:!1,watchlist:!1,watchlist_settings:{default_symbols:[]}},overrides:{"mainSeriesProperties.showCountdown":!1},studies_overrides:{},trading_customization:{position:{},order:{}},brokerConfig:{configFlags:{}},fullscreen:!1,autosize:!1,disabled_features:[],enabled_features:[],debug:!1,logo:{},time_frames:[{text:"5y",resolution:"1W"},{text:"1y",resolution:"1W"},{text:"6m",resolution:"120"},{text:"3m",resolution:"60"},{text:"1m",resolution:"30"},{text:"5d",resolution:"5"},{text:"1d",resolution:"1"}],client_id:"0",user_id:"0",charts_storage_api_version:"1.0",favorites:{intervals:[],chartTypes:[]}};function o(){return"CL v20.034 (internal id e16a61a3 @ 2022-01-24T10:49:41.818Z)"}const s=class{constructor(e){if(this._id=`tradingview_${(1048576*(1+Math.random())|0).toString(16).substring(1)}`,this._ready=!1,this._readyHandlers=[],this._onWindowResize=this._autoResizeChart.bind(this),!e.datafeed)throw new Error("Datafeed is not defined");if(this._options=t(n,e),e.preset){const t=i[e.preset];t?(void 0!==this._options.disabled_features?this._options.disabled_features=this._options.disabled_features.concat(t.disabled_features):this._options.disabled_features=t.disabled_features,void 0!==this._options.enabled_features?this._options.enabled_features=this._options.enabled_features.concat(t.enabled_features):this._options.enabled_features=t.enabled_features):console.warn("Unknown preset: `"+e.preset+"`")}"Dark"===this._options.theme&&void 0===this._options.loading_screen&&(this._options.loading_screen={backgroundColor:"#131722"}),this._create()}onChartReady(e){this._ready?e.call(this):this._readyHandlers.push(e)}headerReady(){return this._innerWindowLoaded.then((()=>this._innerWindow().headerReady()))}onGrayedObjectClicked(e){this._innerAPI().onGrayedObjectClicked(e)}onShortcut(e,t){this._innerWindow().createShortcutAction(e,t)}subscribe(e,t){this._innerAPI().subscribe(e,t)}unsubscribe(e,t){this._innerAPI().unsubscribe(e,t)}chart(e){return this._innerAPI().chart(e)}getLanguage(){return this._options.locale}setSymbol(e,t,i){this._innerAPI().changeSymbol(e,t,i)}remove(){window.removeEventListener("resize",this._onWindowResize),this._readyHandlers.splice(0,this._readyHandlers.length),delete window[this._id],this._iFrame.parentNode&&this._iFrame.parentNode.removeChild(this._iFrame)}closePopupsAndDialogs(){this._innerAPI().closePopupsAndDialogs()}selectLineTool(e){this._innerAPI().selectLineTool(e)}selectedLineTool(){return this._innerAPI().selectedLineTool()}save(e){this._innerAPI().saveChart(e)}load(e,t){this._innerAPI().loadChart({json:e,extendedData:t})}getSavedCharts(e){this._innerAPI().getSavedCharts(e)}loadChartFromServer(e){this._innerAPI().loadChartFromServer(e)}saveChartToServer(e,t,i){this._innerAPI().saveChartToServer(e,t,i)}removeChartFromServer(e,t){this._innerAPI().removeChartFromServer(e,t)}onContextMenu(e){this._innerAPI().onContextMenu(e)}createButton(e){return this._innerWindow().createButton(e)}showNoticeDialog(e){this._innerAPI().showNoticeDialog(e)}showConfirmDialog(e){this._innerAPI().showConfirmDialog(e)}showLoadChartDialog(){this._innerAPI().showLoadChartDialog()}showSaveAsChartDialog(){this._innerAPI().showSaveAsChartDialog()}symbolInterval(){return this._innerAPI().getSymbolInterval()}mainSeriesPriceFormatter(){return this._innerAPI().mainSeriesPriceFormatter()}getIntervals(){return this._innerAPI().getIntervals()}getStudiesList(){return this._innerAPI().getStudiesList()}addCustomCSSFile(e){this._innerWindow().addCustomCSSFile(e)}applyOverrides(e){this._options=t(this._options,{overrides:e}),this._innerWindow().applyOverrides(e)}applyStudiesOverrides(e){this._innerWindow().applyStudiesOverrides(e)}watchList(){return this._innerAPI().watchlist()}activeChart(){return this._innerAPI().activeChart()}chartsCount(){return this._innerAPI().chartsCount()}layout(){return this._innerAPI().layout()}setLayout(e){this._innerAPI().setLayout(e)}layoutName(){return this._innerAPI().layoutName()}changeTheme(e,t){this._innerWindow().changeTheme(e,t)}getTheme(){return this._innerWindow().getTheme()}takeScreenshot(){this._innerAPI().takeScreenshot()}lockAllDrawingTools(){return this._innerAPI().lockAllDrawingTools()}hideAllDrawingTools(){return this._innerAPI().hideAllDrawingTools()}drawOnAllCharts(e){this._innerAPI().drawOnAllCharts(e)}magnetEnabled(){return this._innerAPI().magnetEnabled()}magnetMode(){return this._innerAPI().magnetMode()}undoRedoState(){return this._innerAPI().undoRedoState()}setIntervalLinkingEnabled(e){this._innerAPI().setIntervalLinkingEnabled(e)}setTimeFrame(e){this._innerAPI().setTimeFrame(e)}symbolSync(){return this._innerAPI().symbolSync()}intervalSync(){return this._innerAPI().intervalSync()}crosshairSync(){return this._innerAPI().crosshairSync()}timeSync(){return this._innerAPI().timeSync()}getAllFeatures(){return this._innerWindow().getAllFeatures()}clearUndoHistory(){return this._innerAPI().clearUndoHistory()}undo(){return this._innerAPI().undo()}redo(){return this._innerAPI().redo()}startFullscreen(){this._innerAPI().startFullscreen()}exitFullscreen(){this._innerAPI().exitFullscreen()}takeClientScreenshot(e){return this._innerAPI().takeClientScreenshot(e)}_innerAPI(){return this._innerWindow().tradingViewApi}_innerWindow(){return this._iFrame.contentWindow}_autoResizeChart(){this._options.fullscreen&&(this._iFrame.style.height=window.innerHeight+"px")}_create(){const e=this._render();this._options.container_id&&console.warn("`container_id` is now deprecated. Please use `container` instead to either still pass a string or an `HTMLElement`.");const t=this._options.container_id||this._options.container,i="string"==typeof t?document.getElementById(t):t;if(null===i)throw new Error(`There is no such element - #${this._options.container}`);i.innerHTML=e,this._iFrame=i.querySelector(`#${this._id}`);const n=this._iFrame;(this._options.autosize||this._options.fullscreen)&&(n.style.width="100%",this._options.fullscreen||(n.style.height="100%")),window.addEventListener("resize",this._onWindowResize),this._onWindowResize(),this._innerWindowLoaded=new Promise((e=>{const t=()=>{n.removeEventListener("load",t,!1),e()};n.addEventListener("load",t,!1)})),this._innerWindowLoaded.then((()=>{this._innerWindow().widgetReady((()=>{this._ready=!0;for(const t of this._readyHandlers)try{t.call(this)}catch(e){console.error(e)}this._innerWindow().initializationFinished()}))}))}_render(){const e=window;if(e[this._id]={datafeed:this._options.datafeed,customFormatters:this._options.custom_formatters||this._options.customFormatters,brokerFactory:this._options.broker_factory||this._options.brokerFactory,overrides:this._options.overrides,studiesOverrides:this._options.studies_overrides,tradingCustomization:this._options.trading_customization,disabledFeatures:this._options.disabled_features,enabledFeatures:this._options.enabled_features,brokerConfig:this._options.broker_config||this._options.brokerConfig,restConfig:this._options.restConfig,favorites:this._options.favorites,logo:this._options.logo,numeric_formatting:this._options.numeric_formatting,rss_news_feed:this._options.rss_news_feed,newsProvider:this._options.news_provider,loadLastChart:this._options.load_last_chart,saveLoadAdapter:this._options.save_load_adapter,loading_screen:this._options.loading_screen,settingsAdapter:this._options.settings_adapter,getCustomIndicators:this._options.custom_indicators_getter,additionalSymbolInfoFields:this._options.additional_symbol_info_fields,headerWidgetButtonsMode:this._options.header_widget_buttons_mode},this._options.saved_data)e[this._id].chartContent={json:this._options.saved_data},this._options.saved_data_meta_info&&(e[this._id].chartContentExtendedData=this._options.saved_data_meta_info);else if(!this._options.load_last_chart&&!this._options.symbol)throw new Error("Symbol is not defined: either 'symbol' or 'load_last_chart' option must be set");const t=(this._options.library_path||"")+`${encodeURIComponent(this._options.locale)}-tv-chart.e16a61a3.html#symbol=`+encodeURIComponent(this._options.symbol||"")+"&interval="+encodeURIComponent(this._options.interval)+(this._options.timeframe?"&timeframe="+encodeURIComponent(this._options.timeframe):"")+(this._options.toolbar_bg?"&toolbarbg="+encodeURIComponent(this._options.toolbar_bg.replace("#","")):"")+(this._options.studies_access?"&studiesAccess="+encodeURIComponent(JSON.stringify(this._options.studies_access)):"")+"&widgetbar="+encodeURIComponent(JSON.stringify(this._options.widgetbar))+(this._options.drawings_access?"&drawingsAccess="+encodeURIComponent(JSON.stringify(this._options.drawings_access)):"")+"&timeFrames="+encodeURIComponent(JSON.stringify(this._options.time_frames))+"&locale="+encodeURIComponent(this._options.locale)+"&uid="+encodeURIComponent(this._id)+"&clientId="+encodeURIComponent(String(this._options.client_id))+"&userId="+encodeURIComponent(String(this._options.user_id))+(this._options.charts_storage_url?"&chartsStorageUrl="+encodeURIComponent(this._options.charts_storage_url):"")+(this._options.charts_storage_api_version?"&chartsStorageVer="+encodeURIComponent(this._options.charts_storage_api_version):"")+(this._options.custom_css_url?"&customCSS="+encodeURIComponent(this._options.custom_css_url):"")+(this._options.auto_save_delay?"&autoSaveDelay="+encodeURIComponent(String(this._options.auto_save_delay)):"")+"&debug="+encodeURIComponent(String(this._options.debug))+(this._options.snapshot_url?"&snapshotUrl="+encodeURIComponent(this._options.snapshot_url):"")+(this._options.timezone?"&timezone="+encodeURIComponent(this._options.timezone):"")+(this._options.study_count_limit?"&studyCountLimit="+encodeURIComponent(String(this._options.study_count_limit)):"")+(this._options.symbol_search_request_delay?"&ssreqdelay="+encodeURIComponent(String(this._options.symbol_search_request_delay)):"")+(this._options.compare_symbols?"&compareSymbols="+encodeURIComponent(JSON.stringify(this._options.compare_symbols)):"")+(this._options.theme?"&theme="+encodeURIComponent(String(this._options.theme)):"")+(this._options.header_widget_buttons_mode?"&header_widget_buttons_mode="+encodeURIComponent(String(this._options.header_widget_buttons_mode)):"")+(this._options.time_scale?"&time_scale="+encodeURIComponent(JSON.stringify(this._options.time_scale)):"");return''}};return window.TradingView=window.TradingView||{},window.TradingView.version=o,e.version=o,e.widget=s,e}({}); diff --git a/charting_library/cs-tv-chart.9df149da.html b/charting_library/cs-tv-chart.e16a61a3.html similarity index 99% rename from charting_library/cs-tv-chart.9df149da.html rename to charting_library/cs-tv-chart.e16a61a3.html index 6ca0d02f..9065768b 100644 --- a/charting_library/cs-tv-chart.9df149da.html +++ b/charting_library/cs-tv-chart.e16a61a3.html @@ -1 +1 @@ -
\ No newline at end of file +
\ No newline at end of file diff --git a/charting_library/da_DK-tv-chart.9df149da.html b/charting_library/da_DK-tv-chart.e16a61a3.html similarity index 99% rename from charting_library/da_DK-tv-chart.9df149da.html rename to charting_library/da_DK-tv-chart.e16a61a3.html index f08e324d..909c4d4d 100644 --- a/charting_library/da_DK-tv-chart.9df149da.html +++ b/charting_library/da_DK-tv-chart.e16a61a3.html @@ -1 +1 @@ -
\ No newline at end of file +
\ No newline at end of file diff --git a/charting_library/de-tv-chart.9df149da.html b/charting_library/de-tv-chart.e16a61a3.html similarity index 99% rename from charting_library/de-tv-chart.9df149da.html rename to charting_library/de-tv-chart.e16a61a3.html index 68bf8426..3a952e3b 100644 --- a/charting_library/de-tv-chart.9df149da.html +++ b/charting_library/de-tv-chart.e16a61a3.html @@ -1 +1 @@ -
\ No newline at end of file +
\ No newline at end of file diff --git a/charting_library/el-tv-chart.9df149da.html b/charting_library/el-tv-chart.e16a61a3.html similarity index 99% rename from charting_library/el-tv-chart.9df149da.html rename to charting_library/el-tv-chart.e16a61a3.html index a9b96f34..388725a6 100644 --- a/charting_library/el-tv-chart.9df149da.html +++ b/charting_library/el-tv-chart.e16a61a3.html @@ -1 +1 @@ -
\ No newline at end of file +
\ No newline at end of file diff --git a/charting_library/en-tv-chart.9df149da.html b/charting_library/en-tv-chart.e16a61a3.html similarity index 99% rename from charting_library/en-tv-chart.9df149da.html rename to charting_library/en-tv-chart.e16a61a3.html index a590d4c4..707c8c8a 100644 --- a/charting_library/en-tv-chart.9df149da.html +++ b/charting_library/en-tv-chart.e16a61a3.html @@ -1 +1 @@ -
\ No newline at end of file +
\ No newline at end of file diff --git a/charting_library/es-tv-chart.9df149da.html b/charting_library/es-tv-chart.e16a61a3.html similarity index 99% rename from charting_library/es-tv-chart.9df149da.html rename to charting_library/es-tv-chart.e16a61a3.html index 6f84f8ae..64aba8fd 100644 --- a/charting_library/es-tv-chart.9df149da.html +++ b/charting_library/es-tv-chart.e16a61a3.html @@ -1 +1 @@ -
\ No newline at end of file +
\ No newline at end of file diff --git a/charting_library/et_EE-tv-chart.9df149da.html b/charting_library/et_EE-tv-chart.e16a61a3.html similarity index 99% rename from charting_library/et_EE-tv-chart.9df149da.html rename to charting_library/et_EE-tv-chart.e16a61a3.html index ae123c12..17014195 100644 --- a/charting_library/et_EE-tv-chart.9df149da.html +++ b/charting_library/et_EE-tv-chart.e16a61a3.html @@ -1 +1 @@ -
\ No newline at end of file +
\ No newline at end of file diff --git a/charting_library/fa-tv-chart.9df149da.html b/charting_library/fa-tv-chart.e16a61a3.html similarity index 99% rename from charting_library/fa-tv-chart.9df149da.html rename to charting_library/fa-tv-chart.e16a61a3.html index 97aec5e0..537d5c82 100644 --- a/charting_library/fa-tv-chart.9df149da.html +++ b/charting_library/fa-tv-chart.e16a61a3.html @@ -1 +1 @@ -
\ No newline at end of file +
\ No newline at end of file diff --git a/charting_library/fr-tv-chart.9df149da.html b/charting_library/fr-tv-chart.e16a61a3.html similarity index 99% rename from charting_library/fr-tv-chart.9df149da.html rename to charting_library/fr-tv-chart.e16a61a3.html index 5193f1b8..5185a8f1 100644 --- a/charting_library/fr-tv-chart.9df149da.html +++ b/charting_library/fr-tv-chart.e16a61a3.html @@ -1 +1 @@ -
\ No newline at end of file +
\ No newline at end of file diff --git a/charting_library/he_IL-tv-chart.9df149da.html b/charting_library/he_IL-tv-chart.e16a61a3.html similarity index 99% rename from charting_library/he_IL-tv-chart.9df149da.html rename to charting_library/he_IL-tv-chart.e16a61a3.html index 395a1bcc..80907920 100644 --- a/charting_library/he_IL-tv-chart.9df149da.html +++ b/charting_library/he_IL-tv-chart.e16a61a3.html @@ -1 +1 @@ -
\ No newline at end of file +
\ No newline at end of file diff --git a/charting_library/hu_HU-tv-chart.9df149da.html b/charting_library/hu_HU-tv-chart.e16a61a3.html similarity index 99% rename from charting_library/hu_HU-tv-chart.9df149da.html rename to charting_library/hu_HU-tv-chart.e16a61a3.html index 8284aab4..76aeaf94 100644 --- a/charting_library/hu_HU-tv-chart.9df149da.html +++ b/charting_library/hu_HU-tv-chart.e16a61a3.html @@ -1 +1 @@ -
\ No newline at end of file +
\ No newline at end of file diff --git a/charting_library/id_ID-tv-chart.9df149da.html b/charting_library/id_ID-tv-chart.e16a61a3.html similarity index 99% rename from charting_library/id_ID-tv-chart.9df149da.html rename to charting_library/id_ID-tv-chart.e16a61a3.html index b35857e6..b8bc3364 100644 --- a/charting_library/id_ID-tv-chart.9df149da.html +++ b/charting_library/id_ID-tv-chart.e16a61a3.html @@ -1 +1 @@ -
\ No newline at end of file +
\ No newline at end of file diff --git a/charting_library/it-tv-chart.9df149da.html b/charting_library/it-tv-chart.e16a61a3.html similarity index 99% rename from charting_library/it-tv-chart.9df149da.html rename to charting_library/it-tv-chart.e16a61a3.html index 6d153264..9a010c3f 100644 --- a/charting_library/it-tv-chart.9df149da.html +++ b/charting_library/it-tv-chart.e16a61a3.html @@ -1 +1 @@ -
\ No newline at end of file +
\ No newline at end of file diff --git a/charting_library/ja-tv-chart.9df149da.html b/charting_library/ja-tv-chart.e16a61a3.html similarity index 99% rename from charting_library/ja-tv-chart.9df149da.html rename to charting_library/ja-tv-chart.e16a61a3.html index 636e430c..24f65e41 100644 --- a/charting_library/ja-tv-chart.9df149da.html +++ b/charting_library/ja-tv-chart.e16a61a3.html @@ -1 +1 @@ -
\ No newline at end of file +
\ No newline at end of file diff --git a/charting_library/ko-tv-chart.9df149da.html b/charting_library/ko-tv-chart.e16a61a3.html similarity index 99% rename from charting_library/ko-tv-chart.9df149da.html rename to charting_library/ko-tv-chart.e16a61a3.html index 51a17b4e..33f03eb9 100644 --- a/charting_library/ko-tv-chart.9df149da.html +++ b/charting_library/ko-tv-chart.e16a61a3.html @@ -1 +1 @@ -
\ No newline at end of file +
\ No newline at end of file diff --git a/charting_library/ms_MY-tv-chart.9df149da.html b/charting_library/ms_MY-tv-chart.e16a61a3.html similarity index 99% rename from charting_library/ms_MY-tv-chart.9df149da.html rename to charting_library/ms_MY-tv-chart.e16a61a3.html index 2ff891a9..0b7ea6a7 100644 --- a/charting_library/ms_MY-tv-chart.9df149da.html +++ b/charting_library/ms_MY-tv-chart.e16a61a3.html @@ -1 +1 @@ -
\ No newline at end of file +
\ No newline at end of file diff --git a/charting_library/nl_NL-tv-chart.9df149da.html b/charting_library/nl_NL-tv-chart.e16a61a3.html similarity index 99% rename from charting_library/nl_NL-tv-chart.9df149da.html rename to charting_library/nl_NL-tv-chart.e16a61a3.html index 79b5aa00..4a392281 100644 --- a/charting_library/nl_NL-tv-chart.9df149da.html +++ b/charting_library/nl_NL-tv-chart.e16a61a3.html @@ -1 +1 @@ -
\ No newline at end of file +
\ No newline at end of file diff --git a/charting_library/no-tv-chart.9df149da.html b/charting_library/no-tv-chart.e16a61a3.html similarity index 99% rename from charting_library/no-tv-chart.9df149da.html rename to charting_library/no-tv-chart.e16a61a3.html index 2d9a4c92..98e8792b 100644 --- a/charting_library/no-tv-chart.9df149da.html +++ b/charting_library/no-tv-chart.e16a61a3.html @@ -1 +1 @@ -
\ No newline at end of file +
\ No newline at end of file diff --git a/charting_library/package.json b/charting_library/package.json index 3994561f..e665ad1a 100644 --- a/charting_library/package.json +++ b/charting_library/package.json @@ -1,6 +1,6 @@ { "private": true, - "description": "CL v20.033 (internal id 9df149da @ 2021-11-17T10:20:51.511Z)", + "description": "CL v20.034 (internal id e16a61a3 @ 2022-01-24T10:49:41.818Z)", "type": "module", "main": "charting_library.cjs.js", "module": "charting_library.esm.js", diff --git a/charting_library/pl-tv-chart.9df149da.html b/charting_library/pl-tv-chart.e16a61a3.html similarity index 99% rename from charting_library/pl-tv-chart.9df149da.html rename to charting_library/pl-tv-chart.e16a61a3.html index b5899c62..9f2c56b3 100644 --- a/charting_library/pl-tv-chart.9df149da.html +++ b/charting_library/pl-tv-chart.e16a61a3.html @@ -1 +1 @@ -
\ No newline at end of file +
\ No newline at end of file diff --git a/charting_library/pt-tv-chart.9df149da.html b/charting_library/pt-tv-chart.e16a61a3.html similarity index 99% rename from charting_library/pt-tv-chart.9df149da.html rename to charting_library/pt-tv-chart.e16a61a3.html index 576c7d0e..fea91f13 100644 --- a/charting_library/pt-tv-chart.9df149da.html +++ b/charting_library/pt-tv-chart.e16a61a3.html @@ -1 +1 @@ -
\ No newline at end of file +
\ No newline at end of file diff --git a/charting_library/ro-tv-chart.9df149da.html b/charting_library/ro-tv-chart.e16a61a3.html similarity index 99% rename from charting_library/ro-tv-chart.9df149da.html rename to charting_library/ro-tv-chart.e16a61a3.html index 8987486d..67f5f8f8 100644 --- a/charting_library/ro-tv-chart.9df149da.html +++ b/charting_library/ro-tv-chart.e16a61a3.html @@ -1 +1 @@ -
\ No newline at end of file +
\ No newline at end of file diff --git a/charting_library/ru-tv-chart.9df149da.html b/charting_library/ru-tv-chart.e16a61a3.html similarity index 99% rename from charting_library/ru-tv-chart.9df149da.html rename to charting_library/ru-tv-chart.e16a61a3.html index 4b2f7a0a..8c155d1d 100644 --- a/charting_library/ru-tv-chart.9df149da.html +++ b/charting_library/ru-tv-chart.e16a61a3.html @@ -1 +1 @@ -
\ No newline at end of file +
\ No newline at end of file diff --git a/charting_library/sk_SK-tv-chart.9df149da.html b/charting_library/sk_SK-tv-chart.e16a61a3.html similarity index 99% rename from charting_library/sk_SK-tv-chart.9df149da.html rename to charting_library/sk_SK-tv-chart.e16a61a3.html index 72229b76..2c2e3d7d 100644 --- a/charting_library/sk_SK-tv-chart.9df149da.html +++ b/charting_library/sk_SK-tv-chart.e16a61a3.html @@ -1 +1 @@ -
\ No newline at end of file +
\ No newline at end of file diff --git a/charting_library/sv-tv-chart.9df149da.html b/charting_library/sv-tv-chart.e16a61a3.html similarity index 99% rename from charting_library/sv-tv-chart.9df149da.html rename to charting_library/sv-tv-chart.e16a61a3.html index b828ce9f..12c3a9c6 100644 --- a/charting_library/sv-tv-chart.9df149da.html +++ b/charting_library/sv-tv-chart.e16a61a3.html @@ -1 +1 @@ -
\ No newline at end of file +
\ No newline at end of file diff --git a/charting_library/th-tv-chart.9df149da.html b/charting_library/th-tv-chart.e16a61a3.html similarity index 99% rename from charting_library/th-tv-chart.9df149da.html rename to charting_library/th-tv-chart.e16a61a3.html index bff61b36..50c669c4 100644 --- a/charting_library/th-tv-chart.9df149da.html +++ b/charting_library/th-tv-chart.e16a61a3.html @@ -1 +1 @@ -
\ No newline at end of file +
\ No newline at end of file diff --git a/charting_library/tr-tv-chart.9df149da.html b/charting_library/tr-tv-chart.e16a61a3.html similarity index 99% rename from charting_library/tr-tv-chart.9df149da.html rename to charting_library/tr-tv-chart.e16a61a3.html index 6576cc5d..d6c75055 100644 --- a/charting_library/tr-tv-chart.9df149da.html +++ b/charting_library/tr-tv-chart.e16a61a3.html @@ -1 +1 @@ -
\ No newline at end of file +
\ No newline at end of file diff --git a/charting_library/vi-tv-chart.9df149da.html b/charting_library/vi-tv-chart.e16a61a3.html similarity index 99% rename from charting_library/vi-tv-chart.9df149da.html rename to charting_library/vi-tv-chart.e16a61a3.html index 3d015b86..16b862d1 100644 --- a/charting_library/vi-tv-chart.9df149da.html +++ b/charting_library/vi-tv-chart.e16a61a3.html @@ -1 +1 @@ -
\ No newline at end of file +
\ No newline at end of file diff --git a/charting_library/zh-tv-chart.9df149da.html b/charting_library/zh-tv-chart.e16a61a3.html similarity index 99% rename from charting_library/zh-tv-chart.9df149da.html rename to charting_library/zh-tv-chart.e16a61a3.html index 7ee8cc79..28e5cd02 100644 --- a/charting_library/zh-tv-chart.9df149da.html +++ b/charting_library/zh-tv-chart.e16a61a3.html @@ -1 +1 @@ -
\ No newline at end of file +
\ No newline at end of file diff --git a/charting_library/zh_TW-tv-chart.9df149da.html b/charting_library/zh_TW-tv-chart.e16a61a3.html similarity index 99% rename from charting_library/zh_TW-tv-chart.9df149da.html rename to charting_library/zh_TW-tv-chart.e16a61a3.html index e3dd1569..59badf04 100644 --- a/charting_library/zh_TW-tv-chart.9df149da.html +++ b/charting_library/zh_TW-tv-chart.e16a61a3.html @@ -1 +1 @@ -
\ No newline at end of file +
\ No newline at end of file