(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[36683],{24654:e=>{"use strict";e.exports=function(e){for(var t=[],n=e.length,i=0;i=55296&&r<=56319&&n>i+1){var o=e.charCodeAt(i+1);o>=56320&&o<=57343&&(r=1024*(r-55296)+o-56320+65536,i+=1)}r<128?t.push(r):r<2048?(t.push(r>>6|192),t.push(63&r|128)):r<55296||r>=57344&&r<65536?(t.push(r>>12|224),t.push(r>>6&63|128),t.push(63&r|128)):r>=65536&&r<=1114111?(t.push(r>>18|240),t.push(r>>12&63|128),t.push(r>>6&63|128),t.push(63&r|128)):t.push(239,191,189)}return new Uint8Array(t).buffer}},9995:(e,t,n)=>{var i=n(939340);e.exports=function(e){return e=i(e^=e>>>16,2246822507),e=i(e^=e>>>13,3266489909),(e^=e>>>16)>>>0}},939340:e=>{"use strict";e.exports=Math.imul||function(e,t){var n=65535&e,i=65535&t;return n*i+((e>>>16&65535)*i+n*(t>>>16&65535)<<16>>>0)|0}},855385:(e,t,n)=>{var i=n(939340),r=n(9995),o=n(24654),s=new Uint32Array([3432918353,461845907]);function a(e,t){return e<>>32-t}e.exports=function(e,t){if(t=t?0|t:0,"string"==typeof e&&(e=o(e)),!(e instanceof ArrayBuffer))throw new TypeError("Expected key to be ArrayBuffer or string");var n=new Uint32Array([t]);return function(e,t){for(var n=e.byteLength/4|0,r=new Uint32Array(e,0,n),o=0;o{"use strict";n.r(t),n.d(t,{environment:()=>o,getEnvironmentByHost:()=>r,isDebug:()=>c,isLocal:()=>s,isProd:()=>a});const i=new Set(["battle","staging","test","local"]);function r(e){return-1!==["i18n.tradingview.com","partial.tradingview.com","www.tradingview.com","wwwcn.tradingview.com"].indexOf(e)||-1!==["d33t3vvu2t2yu5.cloudfront.net","dwq4do82y8xi7.cloudfront.net","s.tradingview.com","s3.tradingview.com"].indexOf(e)||e.match(/^[a-z]{2}\.tradingview\.com/)||e.match(/prod-[^.]+.tradingview.com/)?"battle":e.includes("tradingview.com")||e.includes("staging")?"staging":"local"}function o(){const e=self.environment;return function(e){i.has(e)||console.warn("Invalid environment "+e)}(e),e}function s(){return"local"===o()}function a(){return"battle"===o()}function c(){return!a()}},125226:(e,t,n)=>{"use strict";n.r(t),n.d(t,{FeatureToggle:()=>u,isFeatureEnabled:()=>w,onFeaturesStateChanged:()=>c});var i=n(49437),r=n(547465),o=n(855385),s=n.n(o);n(638456);const a=new r.Delegate,c=()=>a,l="forcefeaturetoggle.";const u=new class{enableFeature(e){i.TVLocalStorage.setItem(l+e,"true"),a.fire(e)}disableFeature(e){i.TVLocalStorage.setItem(l+e,"false"),a.fire(e)}resetFeature(e){i.TVLocalStorage.removeItem(l+e),a.fire(e)}onFeaturesStateChanged(){return a}};window.TradingView.FeatureToggle=u;const g="featuretoggle_seed";function d(e){try{const t=s()(e+function(){ if(window.user&&window.user.id)return window.user.id;const e=i.TVLocalStorage.getItem(g);if(null!==e)return e;const t=Math.floor(1e6*Math.random());return i.TVLocalStorage.setItem(g,`${t}`),t}()),n=new DataView(t);return n.getUint32(0,!0)/4294967296}catch(e){return.5}}function h(e,t){if(e[t]&&-1===e[t])return!1;if("true"===i.TVLocalStorage.getItem(l+t)||window.is_authenticated&&"true"===window.user?.settings?.[l+t])return!0;if("false"===i.TVLocalStorage.getItem(l+t)||window.is_authenticated&&"false"===window.user?.settings?.[l+t])return!1;if(!e[t])return!1;if(1===e[t])return!0;return d(t)<=e[t]}const w=(f=window.featureToggleState||{},window.TradingView.onWidget?.()||Promise.all([n.e(80349),n.e(34604)]).then(n.bind(n,180349)).then((e=>{e.pushStreamMultiplexer.on("featuretoggle",(e=>{const t=h(f,e.name);f[e.name]=e.state,t!==h(f,e.name)&&a.fire(e.name)}))})),h.bind(null,f));var f;window.TradingView.isFeatureEnabled=w},251954:(e,t,n)=>{"use strict";n.d(t,{emit:()=>u,emitOnce:()=>g,on:()=>c,subscribe:()=>l,unsubscribe:()=>a});var i=n(547465);const r={},o=[],s={};function a(e,t,n){r[e].unsubscribe(n,t)}function c(e,t,n){l(e,t,n)}function l(e,t,n,o){r.hasOwnProperty(e)||(r[e]=new i.Delegate),s[e]?t.call(n):r[e].subscribe(n,t,o)}function u(e,...t){const n=[e].concat(t);o.forEach((e=>{e.apply(null,n)})),r.hasOwnProperty(e)&&r[e].fire.apply(r[e],t)}function g(e){s[e]&&console.warn(`Something went wrong: emitOnce called multiple times with same event (${e})`),s[e]=!0,u.apply(null,arguments)}},49437:(e,t,n)=>{"use strict";const{getLogger:i}=n(735566),r=i("TVLocalStorage");var o=function(){try{this.isAvailable=!0,this.localStorage=window.localStorage,this.localStorage.setItem("tvlocalstorage.available","true")}catch(e){delete this.isAvailable,delete this.localStorage}this._updateLength();try{this._report()}catch(e){}};o.prototype._report=function(){if(this.isAvailable){const e=10,t=[];for(let e=0;et.length-e.length));const n=t.slice(0,e);t.sort(((e,t)=>t.key.length-e.key.length));const i=t.slice(0,e);r.logNormal(`Total amount of keys in Local Storage: ${this.length}`),r.logNormal(`Top ${e} keys with longest values: ${JSON.stringify(n)}`),r.logNormal(`Top ${e} longest key names: ${JSON.stringify(i)}`);try{navigator.storage.estimate().then((e=>{r.logNormal(`Storage estimate: ${JSON.stringify(e)}`)}))}catch(e){}}},o.prototype.length=0,o.prototype.isAvailable=!1,o.prototype.localStorage={"tvlocalstorage.available":"false"},o.prototype._updateLength=function(){if(this.isAvailable)this.length=this.localStorage.length;else{var e,t=0;for(e in this.localStorage)this.localStorage.hasOwnProperty(e)&&t++;this.length=t}},o.prototype.key=function(e){return this.isAvailable?this.localStorage.key(e):Object.keys(this.localStorage)[e]},o.prototype.getItem=function(e){return this.isAvailable?this.localStorage.getItem(e):void 0===this.localStorage[e]?null:this.localStorage[e]},o.prototype.setItem=function(e,t){ this.isAvailable?this.localStorage.setItem(e,t):this.localStorage[e]=t,this._updateLength()},o.prototype.removeItem=function(e){this.isAvailable?this.localStorage.removeItem(e):delete this.localStorage[e],this._updateLength()},o.prototype.clear=function(){this.isAvailable?this.localStorage.clear():this.localStorage={},this._updateLength()},window.TVLocalStorage=new o,e.exports.TVLocalStorage=window.TVLocalStorage},314802:(e,t,n)=>{"use strict";n.d(t,{isOnMobileAppPage:()=>r,urlWithMobileAppParams:()=>o});var i=n(639247);function r(e,t=!1){const{searchParams:n}=new URL(String(location));let r="true"===n.get("mobileapp_new"),o="true"===n.get("mobileapp");if(!t){const e=i.get("tv_app")||"";r||=["android","android_nps"].includes(e),o||="ios"===e}return!("new"!==e&&"any"!==e||!r)||!("new"===e||!o)}function o(e,t=!1){if(r("new",t)){const t=new URL(e,location.href);t.searchParams.set("mobileapp_new","true"),e=t.toString()}if(r("old",t)){const t=new URL(e,location.href);t.searchParams.set("mobileapp","true"),e=t.toString()}return e}},638456:(e,t,n)=>{"use strict";n.r(t),n.d(t,{CheckMobile:()=>d,appVersion:()=>g,checkPageType:()=>f,desktopAppVersion:()=>u,isChrome:()=>p,isDesktopApp:()=>c,isEdge:()=>b,isFF:()=>m,isLinux:()=>a,isMac:()=>o,isSafari:()=>v,isSymphonyEmbed:()=>l,isWindows:()=>s,onGoPro:()=>y,onMainPage:()=>_,onWidget:()=>h,supportTouch:()=>w});var i=n(23482);const r=window.TradingView=window.TradingView||{};function o(){return i.isMac}function s(){return i.isWindows}function a(){return i.isLinux}function c(){return/TVDesktop/i.test(navigator.userAgent)}function l(){return r.isSymphony||!1}function u(){const e=navigator.userAgent.match(/TVDesktop\/([^\s]+)/);return e&&e[1]}function g(){const e=navigator.userAgent.match(/TradingView\/([^\s]+)/);return e&&e[1]}const d={Android:()=>i.isAndroid,BlackBerry:()=>i.isBlackBerry,iOS:()=>i.isIOS,Opera:()=>i.isOperaMini,isIPad:()=>i.isIPad,any:()=>i.isAnyMobile};function h(){const e=["^widgetembed/?$","^cmewidgetembed/?$","^([0-9a-zA-Z-]+)/widgetembed/?$","^([0-9a-zA-Z-]+)/widgetstatic/?$","^([0-9a-zA-Z-]+)?/?mediumwidgetembed/?$","^twitter-chart/?$","^embed/([0-9a-zA-Z]{8})/?$","^widgetpopup/?$","^extension/?$","^idea-popup/?$","^hotlistswidgetembed/?$","^([0-9a-zA-Z-]+)/hotlistswidgetembed/?$","^marketoverviewwidgetembed/?$","^([0-9a-zA-Z-]+)/marketoverviewwidgetembed/?$","^eventswidgetembed/?$","^tickerswidgetembed/?$","^forexcrossrateswidgetembed/?$","^forexheatmapwidgetembed/?$","^marketquoteswidgetembed/?$","^screenerwidget/?$","^cryptomktscreenerwidget/?$","^([0-9a-zA-Z-]+)/cryptomktscreenerwidget/?$","^([0-9a-zA-Z-]+)/marketquoteswidgetembed/?$","^technical-analysis-widget-embed/$","^singlequotewidgetembed/?$","^([0-9a-zA-Z-]+)/singlequotewidgetembed/?$","^embed-widget/([0-9a-zA-Z-]+)/(([0-9a-zA-Z-]+)/)?$"],t=window.location.pathname.replace(/^\//,"");let n;for(let i=e.length-1;i>=0;i--)if(n=new RegExp(e[i]),n.test(t))return!0;return!1}function w(){return i.mobiletouch||i.touch||i.isAnyMobile}function f(e){ return new URLSearchParams(window.location.search).get("page_type")===e}r.isMobile=d,r.onWidget=h;const p=i.isChrome,m=i.isFF,b=i.isEdge,v=i.isSafari;function y(){return"/pricing/"===window.location.pathname}function _(){return"/"===window.location.pathname}},469449:(e,t,n)=>{"use strict";n.r(t),n.d(t,{SnowplowEmbedWidgetTracker:()=>d,getTrackerInstance:()=>g});var i=n(162226),r=n(188526),o=n(54845);const s={host:"_unknown",path:""};function a(e){if(e)try{const t=new URL(e);return{host:t.hostname||t.host||"_unknown",path:t.pathname}}catch{return}}function c(){return a(function(){const e=window.initData?.hashSettings?.["page-uri"];if(e)return"https://"+e}())||a(document.referrer)||a(location.ancestorOrigins?.[0])||s}function l(e){const t=c();return{host:t.host,path:t.path,widget_id:e}}let u=null;function g(){if(null===u){const e=(0,r.getSettings)();void 0!==e&&(u=new d(e,{widget_tv_link_click:i.widget_tv_link_click,widgets_without_websocket:i.widgets_without_websocket,widget_load_meta_info:i.widget_load_meta_info}))}return u}class d extends o.SnowplowTrackerBase{trackWidgetTVLinkClick(e){this._trackSelfDescribingEvent("widget_tv_link_click",e)}trackWidgetPageView(e){setTimeout((()=>{const t={...l(e),event_name:"page_view"};this._trackSelfDescribingEvent("widgets_without_websocket",t)}),0)}trackWidgetLoadMetaInfo(e){const t={...e,...l(e.widget_id),event_name:"widget_load_meta_info"};this._trackSelfDescribingEvent("widget_load_meta_info",t)}}},547465:(e,t,n)=>{"use strict";n.r(t),n.d(t,{Delegate:()=>o});const i=(0,n(735566).getLogger)("Common.Delegate");function r(e){return!e.singleShot}class o{constructor(){this.fire=this._fireImpl.bind(this),this._listeners=[]}subscribe(e,t,n){this._listeners.push({object:e,member:t,singleShot:!!n,skip:!1})}unsubscribe(e,t){for(let n=0;n=0;--t){const n=this._listeners[t];n.object===e&&(n.skip=!0,this._listeners.splice(t,1))}}destroy(){this._listeners=[]}_fireImpl(...e){const t=this._listeners;this._listeners=this._listeners.filter(r);const n=t.length;for(let r=0;r{"use strict";function i(e,t,n,i,r){let o="";if(i=i?"; path="+i:"",r=r?"; domain="+r:"",n){const e=new Date;e.setTime(e.getTime()+24*n*60*60*1e3),o="; expires="+e.toUTCString()}else o="";document.cookie=e+"="+t+o+r+i}function r(e){const t=e+"=",n=document.cookie.split(";");for(let e=0;er,set:()=>i})}}]);