(self.webpackChunktradingview = self.webpackChunktradingview || []).push([
    [70517], {
        491751: o => {
            o.exports = {
                "common-tooltip": "common-tooltip-EJBD96zX",
                "common-tooltip--hidden": "common-tooltip--hidden-EJBD96zX",
                "common-tooltip--horizontal": "common-tooltip--horizontal-EJBD96zX",
                "common-tooltip--farther": "common-tooltip--farther-EJBD96zX",
                "common-tooltip--vertical": "common-tooltip--vertical-EJBD96zX",
                "common-tooltip-farther": "common-tooltip-farther-EJBD96zX",
                "common-tooltip--direction_normal": "common-tooltip--direction_normal-EJBD96zX",
                "common-tooltip__body": "common-tooltip__body-EJBD96zX",
                "common-tooltip__button-container": "common-tooltip__button-container-EJBD96zX",
                "common-tooltip__body--no-buttons": "common-tooltip__body--no-buttons-EJBD96zX",
                "common-tooltip__button": "common-tooltip__button-EJBD96zX",
                "common-tooltip--direction_reversed": "common-tooltip--direction_reversed-EJBD96zX",
                "common-tooltip__ear-holder": "common-tooltip__ear-holder-EJBD96zX",
                "common-tooltip__ear-holder--below": "common-tooltip__ear-holder--below-EJBD96zX",
                "common-tooltip__ear-holder--above": "common-tooltip__ear-holder--above-EJBD96zX",
                "common-tooltip__ear-holder--before": "common-tooltip__ear-holder--before-EJBD96zX",
                "common-tooltip__ear-holder--after": "common-tooltip__ear-holder--after-EJBD96zX",
                "common-tooltip__body--with-hotkey": "common-tooltip__body--with-hotkey-EJBD96zX",
                "common-tooltip__body--width_wide": "common-tooltip__body--width_wide-EJBD96zX",
                "common-tooltip__body--width_narrow": "common-tooltip__body--width_narrow-EJBD96zX",
                "common-tooltip__body--no-padding": "common-tooltip__body--no-padding-EJBD96zX",
                "common-tooltip__hotkey-block": "common-tooltip__hotkey-block-EJBD96zX",
                "common-tooltip__hotkey-block--divider": "common-tooltip__hotkey-block--divider-EJBD96zX",
                "common-tooltip__hotkey-text": "common-tooltip__hotkey-text-EJBD96zX",
                "common-tooltip__hotkey-button": "common-tooltip__hotkey-button-EJBD96zX",
                "common-tooltip__plus-sign": "common-tooltip__plus-sign-EJBD96zX"
            }
        },
        960095: (o, r, e) => {
            "use strict";
            e.d(r, {
                colorsPalette: () => g
            });
            const l = JSON.parse('{"color-white":"#ffffff","color-black":"#000000","color-transparent":"#00000000","color-cold-gray-50":"#F8F9FD","color-cold-gray-100":"#F0F3FA","color-cold-gray-150":"#E0E3EB","color-cold-gray-200":"#D1D4DC","color-cold-gray-250":"#C1C4CD","color-cold-gray-300":"#B2B5BE","color-cold-gray-350":"#A3A6AF","color-cold-gray-400":"#9598A1","color-cold-gray-450":"#868993","color-cold-gray-500":"#787B86","color-cold-gray-550":"#6A6D78","color-cold-gray-600":"#5D606B","color-cold-gray-650":"#50535E","color-cold-gray-700":"#434651","color-cold-gray-750":"#363A45","color-cold-gray-800":"#2A2E39","color-cold-gray-850":"#1E222D","color-cold-gray-900":"#131722","color-cold-gray-950":"#0C0E15","color-ripe-red-50":"#FFEBEC","color-ripe-red-100":"#FCCBCD","color-ripe-red-200":"#FAA1A4","color-ripe-red-300":"#F77C80","color-ripe-red-400":"#F7525F","color-ripe-red-500":"#F23645","color-ripe-red-600":"#CC2F3C","color-ripe-red-700":"#B22833","color-ripe-red-800":"#991F29","color-ripe-red-900":"#801922","color-ripe-red-a100":"#FF8080","color-ripe-red-a200":"#FF5252","color-ripe-red-a400":"#FF3333","color-ripe-red-a600":"#CC2929","color-ripe-red-a700":"#802028","color-ripe-red-a800":"#4D191D","color-ripe-red-a900":"#331F20","color-tan-orange-50":"#FFF3E0","color-tan-orange-100":"#FFE0B2","color-tan-orange-200":"#FFCC80","color-tan-orange-300":"#ffb74d","color-tan-orange-400":"#FFA726","color-tan-orange-500":"#FF9800","color-tan-orange-600":"#FB8C00","color-tan-orange-700":"#F57C00","color-tan-orange-800":"#EF6C00","color-tan-orange-900":"#e65100","color-tan-orange-a200":"#ffab40","color-tan-orange-a400":"#FF9100","color-tan-orange-a600":"#CC7014","color-tan-orange-a700":"#8C541C","color-tan-orange-a800":"#593A1B","color-tan-orange-a900":"#33261A","color-iguana-green-100":"#C8E6C9","color-iguana-green-200":"#A5D6A7","color-iguana-green-300":"#81c784","color-iguana-green-400":"#66BB6A","color-iguana-green-500":"#4caf50","color-iguana-green-600":"#43a047","color-iguana-green-700":"#388e3c","color-iguana-green-800":"#2E7D32","color-iguana-green-900":"#1B5E20","color-iguana-green-a400":"#00E676","color-iguana-green-a700":"#00c853","color-banana-yellow-100":"#FFF9C4","color-banana-yellow-200":"#FFF59D","color-banana-yellow-300":"#FFF176","color-banana-yellow-400":"#ffee58","color-banana-yellow-500":"#ffeb3b","color-banana-yellow-600":"#fdd835","color-banana-yellow-700":"#fbc02d","color-banana-yellow-800":"#f9a825","color-banana-yellow-900":"#F57F17","color-banana-yellow-a400":"#ffea00","color-banana-yellow-a700":"#EEDA01","color-tv-blue-50":"#E3EFFD","color-tv-blue-100":"#BBD9FB","color-tv-blue-200":"#90BFF9","color-tv-blue-300":"#5B9CF6","color-tv-blue-400":"#3179F5","color-tv-blue-500":"#2962FF","color-tv-blue-600":"#1E53E5","color-tv-blue-700":"#1848CC","color-tv-blue-800":"#143EB3","color-tv-blue-900":"#0C3299","color-tv-blue-a100":"#82b1ff","color-tv-blue-a200":"#448aff","color-tv-blue-a400":"#2979ff","color-tv-blue-a600":"#2962FF","color-tv-blue-a700":"#143A87","color-tv-blue-a800":"#142E61","color-tv-blue-a900":"#132042","color-deep-blue-50":"#EDE7F6","color-deep-blue-100":"#D1C4E9","color-deep-blue-200":"#B39DDB","color-deep-blue-300":"#9575cd","color-deep-blue-400":"#7e57c2","color-deep-blue-500":"#673ab7","color-deep-blue-700":"#512da8","color-deep-blue-800":"#4527A0","color-deep-blue-900":"#311B92","color-deep-blue-a100":"#b388ff","color-deep-blue-a200":"#7C4DFF","color-deep-blue-a400":"#651FFF","color-deep-blue-a700":"#6200EA","color-minty-green-50":"#DAF2EE","color-minty-green-100":"#ACE5DC","color-minty-green-200":"#70CCBD","color-minty-green-300":"#42BDA8","color-minty-green-400":"#22AB94","color-minty-green-500":"#089981","color-minty-green-600":"#06806B","color-minty-green-700":"#056656","color-minty-green-800":"#004D40","color-minty-green-900":"#00332A","color-minty-green-a400":"#2BD9BC","color-minty-green-a600":"#24B29B","color-minty-green-a700":"#1B7667","color-minty-green-a800":"#10443B","color-minty-green-a900":"#082621","color-grapes-purple-50":"#F3E5F5","color-grapes-purple-100":"#E1BEE7","color-grapes-purple-200":"#CE93D8","color-grapes-purple-300":"#ba68c8","color-grapes-purple-400":"#ab47bc","color-grapes-purple-500":"#9c27b0","color-grapes-purple-600":"#8e24aa","color-grapes-purple-700":"#7b1fa2","color-grapes-purple-800":"#6A1B9A","color-grapes-purple-900":"#4A148C","color-grapes-purple-a100":"#EA80FC","color-grapes-purple-a200":"#E040FB","color-grapes-purple-a400":"#D500F9","color-grapes-purple-a700":"#aa00ff","color-berry-pink-100":"#F8BBD0","color-berry-pink-200":"#f48fb1","color-berry-pink-300":"#f06292","color-berry-pink-400":"#ec407a","color-berry-pink-500":"#e91e63","color-berry-pink-600":"#D81B60","color-berry-pink-700":"#C2185B","color-berry-pink-800":"#AD1457","color-berry-pink-900":"#880E4F","color-berry-pink-a100":"#ff80ab","color-berry-pink-a200":"#ff4081","color-berry-pink-a400":"#f50057","color-berry-pink-a700":"#c51162","color-sky-blue-50":"#E0F7FA","color-sky-blue-100":"#B2EBF2","color-sky-blue-200":"#80DEEA","color-sky-blue-300":"#4dd0e1","color-sky-blue-400":"#26c6da","color-sky-blue-500":"#00bcd4","color-sky-blue-600":"#00acc1","color-sky-blue-700":"#0097A7","color-sky-blue-800":"#00838F","color-sky-blue-900":"#006064","color-sky-blue-a400":"#00e5ff","color-sky-blue-a700":"#00B8D4","color-deep-blue-600":"#5E35B1","color-forest-green-50":"#DAF2E6","color-forest-green-100":"#ACE5C9","color-forest-green-200":"#70CC9E","color-forest-green-300":"#42BD7F","color-forest-green-400":"#22AB67","color-forest-green-500":"#089950","color-forest-green-600":"#068043","color-forest-green-700":"#056636","color-forest-green-800":"#004D27","color-forest-green-900":"#1A3326","color-facebook":"#1877F2","color-deep-facebook":"#1564CA","color-twitter":"#1DA1F2","color-deep-twitter":"#188CD3","color-youtube":"#FF0000","color-linkedin":"#007BB5","color-seeking-alpha-brand":"#ff7200"}'),
                t = JSON.parse('{"color-header-bg":"color-white","color-body-bg":"color-white","color-body-secondary-bg":"color-cold-gray-100","color-bg-primary":"color-white","color-bg-primary-hover":"color-cold-gray-100","color-bg-secondary":"color-white","color-bg-highlight":"color-cold-gray-50","color-bg-scroll-buttons":"color-cold-gray-100","color-legacy-bg-scroll-buttons":"color-cold-gray-850","color-legacy-bg-widget":"color-white","color-text-primary":"color-cold-gray-900","color-text-secondary":"color-cold-gray-550","color-text-tertiary":"color-cold-gray-400","color-text-disabled":"color-cold-gray-300","color-accent-content":"color-cold-gray-900","color-box-shadow":"color-cold-gray-300","color-divider":"color-cold-gray-150","color-divider-hover":"color-cold-gray-100","color-divider-secondary":"color-cold-gray-100","color-active-hover-text":"color-cold-gray-900","color-alert-text":"color-cold-gray-900","color-border-table":"color-cold-gray-100","color-brand":"color-tv-blue-500","color-brand-active":"color-tv-blue-700","color-brand-hover":"color-tv-blue-600","color-chart-page-bg":"color-cold-gray-150","color-common-tooltip-bg":"color-cold-gray-800","color-danger":"color-ripe-red-400","color-danger-hover":"color-ripe-red-500","color-danger-active":"color-ripe-red-600","color-depthrenderer-stroke-style":"color-cold-gray-100","color-halal":"color-iguana-green-400","color-continuous":"color-cold-gray-500","color-tv-calculated-pair":"color-grapes-purple-400","color-highlight-new":"color-tan-orange-50","color-input-bg":"color-white","color-input-publish-bg":"color-white","color-link":"color-tv-blue-500","color-link-hover":"color-tv-blue-600","color-link-active":"color-tv-blue-700","color-list-nth-child-bg":"color-cold-gray-50","color-pane-bg":"color-white","color-pane-secondary-bg":"color-cold-gray-100","color-popup-menu-item-hover-bg":"color-cold-gray-100","color-popup-menu-separator":"color-cold-gray-150","color-primary-symbol":"color-sky-blue-500","color-screener-description":"color-cold-gray-650","color-success":"color-minty-green-500","color-success-hover":"color-minty-green-600","color-success-active":"color-minty-green-700","color-toolbar-button-text":"color-cold-gray-900","color-toolbar-button-text-hover":"color-cold-gray-900","color-toolbar-button-text-active":"color-tv-blue-500","color-toolbar-button-text-active-hover":"color-tv-blue-600","color-toolbar-button-background-hover":"color-cold-gray-100","color-toolbar-button-background-secondary-hover":"color-cold-gray-150","color-toolbar-button-background-active":"color-tv-blue-50","color-toolbar-button-background-active-hover":"color-tv-blue-100","color-toolbar-toggle-button-background-active":"color-tv-blue-500","color-toolbar-toggle-button-background-active-hover":"color-tv-blue-600","color-toolbar-toggle-button-icon":"color-cold-gray-200","color-toolbar-interactive-element-text-normal":"color-cold-gray-900","color-toolbar-opened-element-bg":"color-cold-gray-100","color-toolbar-divider-background":"color-cold-gray-150","color-popup-background":"color-white","color-popup-element-text":"color-cold-gray-900","color-popup-element-text-hover":"color-cold-gray-900","color-popup-element-background-hover":"color-cold-gray-100","color-popup-element-secondary-text":"color-cold-gray-500","color-popup-element-hint-text":"color-cold-gray-400","color-popup-element-text-active":"color-white","color-popup-element-background-active":"color-tv-blue-500","color-popup-element-toolbox-text":"color-cold-gray-500","color-popup-element-toolbox-text-hover":"color-cold-gray-900","color-popup-element-toolbox-text-active-hover":"color-tv-blue-200","color-popup-element-toolbox-background-hover":"color-cold-gray-150","color-popup-element-toolbox-background-active-hover":"color-tv-blue-700","color-tooltip-bg":"color-cold-gray-800","color-tv-dialog-caption":"color-cold-gray-650","color-tv-dropdown-item-hover-bg":"color-cold-gray-100","color-underlined-text":"color-cold-gray-550","color-widget-pages-bg":"color-white","color-warning":"color-tan-orange-500","color-growing":"color-minty-green-500","color-falling":"color-ripe-red-500","color-forex-icon":"color-cold-gray-750","color-list-item-active-bg":"color-tv-blue-400","color-list-item-hover-bg":"color-tv-blue-50","color-list-item-text":"color-cold-gray-800","color-price-axis-label-back":"color-cold-gray-150","color-price-axis-label-text":"color-cold-gray-650","color-price-axis-gear":"color-cold-gray-900","color-price-axis-gear-hover":"color-black","color-price-axis-highlight":"color-cold-gray-150","color-bid":"color-tv-blue-500","color-border":"color-cold-gray-150","color-border-chat-fields":"color-cold-gray-250","color-border-hover":"color-cold-gray-250","color-button-hover-bg":"color-cold-gray-150","color-depthrenderer-fill-style":"color-cold-gray-650","color-disabled-border-and-color":"color-cold-gray-150","color-disabled-input":"color-cold-gray-150","color-empty-container-message":"color-cold-gray-550","color-icons":"color-cold-gray-550","color-input-textarea-readonly":"color-cold-gray-650","color-input-placeholder-text":"color-cold-gray-350","color-item-active-blue":"color-tv-blue-50","color-item-hover-active-bg":"color-tv-blue-100","color-item-hover-bg":"color-tv-blue-100","color-item-hover-blue":"color-tv-blue-100","color-item-selected-blue":"color-tv-blue-50","color-item-active-text":"color-white","color-item-active-bg":"color-tv-blue-500","color-list-item":"color-cold-gray-550","color-news-highlight":"color-tv-blue-100","color-placeholder":"color-cold-gray-350","color-row-hover-active-bg":"color-cold-gray-100","color-sb-scrollbar-body-bg":"color-cold-gray-200","color-section-separator-border":"color-cold-gray-300","color-separator-table-chat":"color-cold-gray-150","color-tag-active-bg":"color-cold-gray-200","color-tag-hover-bg":"color-cold-gray-150","color-text-regular":"color-cold-gray-700","color-tv-button-checked":"color-cold-gray-550","color-scroll-bg":"color-cold-gray-400","color-scroll-border":"color-cold-gray-100","color-widget-border":"color-cold-gray-100","color-scroll-buttons-arrow":"color-white","color-control-intent-default":"color-cold-gray-200","color-control-intent-success":"color-minty-green-500","color-control-intent-primary":"color-tv-blue-500","color-control-intent-warning":"color-tan-orange-500","color-control-intent-danger":"color-ripe-red-500","color-goto-label-background":"color-cold-gray-800","color-pre-market":"color-tan-orange-600","color-pre-market-bg":"color-tan-orange-400","color-post-market":"color-tv-blue-500","color-post-market-bg":"color-tv-blue-400","color-market-open":"color-minty-green-500","color-market-open-bg":"color-minty-green-400","color-market-closed":"color-cold-gray-400","color-market-holiday":"color-cold-gray-400","color-market-expired":"color-ripe-red-500","color-invalid-symbol":"color-ripe-red-400","color-invalid-symbol-hover":"color-ripe-red-700","color-delisted-symbol":"color-ripe-red-600","color-delisted-symbol-hover":"color-ripe-red-800","color-replay-mode":"color-tv-blue-500","color-replay-mode-point-select":"color-cold-gray-350","color-replay-mode-icon":"color-white","color-replay-mode-hover":"color-tv-blue-600","color-notaccurate-mode":"color-berry-pink-600","color-delay-mode":"color-tan-orange-700","color-delay-mode-bg":"color-tan-orange-400","color-eod-mode":"color-grapes-purple-700","color-eod-mode-bg":"color-grapes-purple-400","color-data-problem":"color-ripe-red-600","color-data-problem-bg":"color-ripe-red-400","color-data-problem-hover":"color-ripe-red-700","color-list-item-bg-highlighted":"color-tv-blue-50","color-list-item-bg-selected":"color-tv-blue-100","color-list-item-bg-highlighted-hover":"color-tv-blue-100","color-list-item-bg-selected-hover":"color-tv-blue-200","color-screener-header-bg":"color-white","color-screener-header-bg-hover":"color-cold-gray-100","color-marker-flagged":"color-ripe-red-400","color-marker-flagged-hovered":"color-ripe-red-600","color-ask":"color-ripe-red-400","color-sell":"color-ripe-red-400","color-buy":"color-tv-blue-500","color-neutral":"color-cold-gray-550","color-pro":"color-minty-green-400","color-pro-hover":"color-minty-green-600","color-pro-plus":"color-tv-blue-500","color-pro-plus-hover":"color-tv-blue-600","color-pro-premium":"color-tan-orange-500","color-pro-premium-hover":"color-tan-orange-700","color-trial":"color-cold-gray-550","color-trial-hover":"color-cold-gray-550","color-mod":"color-ripe-red-400","color-mod-hover":"color-ripe-red-600","color-ad":"color-tan-orange-500","color-broker-featured":"color-minty-green-400","color-broker-featured-hover":"color-minty-green-600","color-alert-status-active":"color-minty-green-400","color-alert-status-stopped":"color-ripe-red-500","color-alert-status-triggered":"color-tan-orange-500","color-overlay":"color-cold-gray-400","color-search-button-hover":"color-cold-gray-150","color-boost-button-content-selected":"color-tv-blue-600","color-boost-button-content-hover":"color-cold-gray-900","color-boost-button-bg-hover":"color-cold-gray-150","color-boost-button-border-hover":"color-cold-gray-150","color-boost-button-border-default":"color-cold-gray-150","color-common-tooltip-text":"color-cold-gray-100","color-replay-data-mode":"color-ripe-red-400","color-legacy-success":"color-minty-green-300","color-collapse-tabs-border":"color-cold-gray-100","color-site-widget-hover":"color-cold-gray-50","color-attention":"color-banana-yellow-700","color-x-twitter-content":"color-cold-gray-900","color-card-border":"color-cold-gray-150","color-card-border-hover":"color-cold-gray-300","color-background-special-primary":"color-white","color-stroke-special-primary":"color-cold-gray-150","color-selection-bg":"color-tv-blue-100","color-default-gray":"color-cold-gray-550","color-featured-broker-badge-bg":"color-cold-gray-900","color-featured-broker-badge-bg-hover":"color-cold-gray-800","color-featured-broker-badge-text":"color-white"}');
            var c = e(650151);
            const n = { ...l,
                    ...t
                },
                a = {},
                i = Object.keys(n).length,
                d = /^#(([a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i;

            function s(o, r = [], e = n) {
                const l = e[o];
                if (!l) return null;
                if (d.test(l)) return l;
                const t = l;
                return r.push(o), -1 !== r.indexOf(t) ? (console.warn("Colors definitions cycled"), l) : r.length > i ? (console.warn("Too many variables-link in HEX-color search: " + r[0]), null) : s(t, r, e)
            }
            Object.keys(n).forEach((o => {
                const r = s(o);
                a[o] = (0, c.ensureNotNull)(r)
            }));
            const g = a
        },
        499994: (o, r, e) => {
            "use strict";
            e.d(r, {
                getTooltipData: () => t,
                setTooltipData: () => c
            });
            const l = new WeakMap;

            function t(o, r) {
                const e = l.get(o);
                return e instanceof Function ? e(r) : e && e[r]
            }

            function c(o, r, e) {
                if (e instanceof Function) return void l.set(o, e);
                const t = l.get(o),
                    c = void 0 === t || t instanceof Function ? {} : t;
                c[r] = e, l.set(o, c)
            }
        },
        779527: (o, r, e) => {
            "use strict";
            e.d(r, {
                getDataFromTarget: () => m,
                getTooltip: () => b,
                hideTooltip: () => h,
                setStyle: () => u,
                showTooltip: () => y
            });
            var l = e(650151),
                t = e(715050),
                c = e(881025),
                n = (e(466281), e(228609)),
                a = e(750139),
                i = e(638456),
                d = e(529111),
                s = e(499994),
                g = e(604286),
                p = e(491751);

            function m(o) {
                const r = function(o) {
                        const r = o.hasAttribute("data-tooltip") ? o.getAttribute("data-tooltip") : o.getAttribute("title");
                        return r && ((0, s.setTooltipData)(o, "text", r), o.removeAttribute("title")), (0, s.getTooltipData)(o, "text") || ""
                    }(o),
                    e = o.getBoundingClientRect(),
                    l = {
                        h: e.height,
                        w: e.width,
                        x: e.left,
                        y: e.top
                    },
                    t = o.getAttribute("data-color-theme") || "",
                    c = o.classList.contains("common-tooltip-html"),
                    n = parseInt(o.getAttribute("data-tooltip-delay") || ""),
                    a = parseInt(o.getAttribute("data-tooltip-debounce") || "");
                let i = {
                    type: "none"
                };
                return r && (i = {
                    type: c ? "html" : "text",
                    data: r
                }), {
                    above: o.classList.contains("common-tooltip-above"),
                    below: o.classList.contains("common-tooltip-below"),
                    otl: o.classList.contains("common-tooltip-otl"),
                    otr: o.classList.contains("common-tooltip-otr"),
                    vertical: o.classList.contains("common-tooltip-vertical"),
                    hotkey: o.getAttribute("data-tooltip-hotkey"),
                    narrow: o.classList.contains("common-tooltip-narrow"),
                    wide: o.classList.contains("common-tooltip-wide"),
                    colorTheme: t,
                    tooltipDelay: n,
                    tooltipDebounce: a,
                    rect: l,
                    content: i,
                    target: o
                }
            }

            function b(o) {
                const r = (0, l.ensureNotNull)(k).cloneNode(!0),
                    e = x(r),
                    {
                        content: t
                    } = o;
                switch (t.type) {
                    case "element":
                        e.innerHTML = "", e.appendChild(t.data);
                        break;
                    case "html":
                        e.innerHTML = t.data;
                        break;
                    case "text":
                        if (o.hotkey) {
                            const o = (0, l.ensureNotNull)(E).cloneNode(!0);
                            o.innerText = t.data, e.appendChild(o)
                        } else e.innerText = t.data
                }
                if (o.hotkey) {
                    const r = "none" !== t.type,
                        c = (0, l.ensureNotNull)(F).cloneNode(!0),
                        n = (0, g.hotKeyDeserialize)(o.hotkey),
                        a = n.keys.map((o => `<span class="${p["common-tooltip__hotkey-button"]}">${o}</span>`));
                    c.innerHTML = function(o, r) {
                        const e = /{\d}|{hotkey_\d}/gi;
                        return o.replace(e, (o => {
                            const e = Number(o.match(/\d/));
                            return r[e]
                        }))
                    }(n.text, a).replace(/\s\+\s/g, `<span class="${p["common-tooltip__plus-sign"]}">+</span>`), e.classList.add(p["common-tooltip__body--with-hotkey"]), r && c.classList.add(p["common-tooltip__hotkey-block--divider"]), e.appendChild(c)
                }
                return r.addEventListener("contextmenu", n.preventDefault), r
            }

            function u(o, r) {
                const e = r.rect;
                if (!e) return;
                (0,
                    d.setTooltipColorTheme)(o, r.colorTheme || "default"), r.addClass && o.classList.add(r.addClass);
                const l = x(o),
                    t = o.querySelector(`.${p["common-tooltip__button-container"]}`);
                l.classList.toggle(p["common-tooltip__body--width_wide"], Boolean(r.wide)), l.classList.toggle(p["common-tooltip__body--no-padding"], Boolean(r.noPadding)), l.classList.toggle(p["common-tooltip__body--width_narrow"], Boolean(r.narrow)), l.classList.toggle(p["common-tooltip__body--no-buttons"], !0), l.style.left = v(0), l.style.width = v(l.clientWidth + (Boolean(r.noPadding) ? 0 : 2));
                const n = document.body.clientWidth,
                    s = i.CheckMobile.iOS() || i.CheckMobile.Android() || (0, i.supportTouch)() && (0, i.isMac)() ? window.innerHeight : document.body.clientHeight,
                    g = r.vertical,
                    m = r.extendMargin || g && e.w < 20 || !g && e.h < 20;
                o.classList.toggle(p["common-tooltip--farther"], m), o.classList.toggle(p["common-tooltip--vertical"], g), o.classList.toggle(p["common-tooltip--horizontal"], !g);
                const b = function(o) {
                        return o.querySelector(`.${p["common-tooltip__ear-holder"]}`)
                    }(o),
                    u = o.offsetHeight;
                if (g) {
                    const i = 10,
                        d = s - 10,
                        g = 12,
                        m = i + g,
                        y = d - g,
                        h = (0, a.clamp)(e.y + e.h / 2, m, y) - u / 2,
                        f = h + u;
                    o.style.left = v(e.x + e.w), o.style.top = v(h), h < i ? l.style.top = t.style.top = v(i - h) : f > d && (l.style.top = t.style.top = v(d - f));
                    const {
                        right: _
                    } = (o.querySelector(":last-child") || l).getBoundingClientRect(), w = _ + 10 > n;
                    o.classList.toggle(p["common-tooltip--direction_reversed"], w), o.classList.toggle(p["common-tooltip--direction_normal"], !w);
                    let k = w ? "after" : "before";
                    (0, c.isRtl)() ? (k = r.otr ? "after" : k, k = r.otl ? "before" : k) : (k = r.otr ? "before" : k, k = r.otl ? "after" : k), b.classList.toggle(p["common-tooltip__ear-holder--before"], "before" === k), b.classList.toggle(p["common-tooltip__ear-holder--after"], "after" === k), "after" === k && (o.style.left = "auto", o.style.right = v(n - e.x))
                } else {
                    const c = e.x - (l.offsetWidth - e.w) / 2,
                        a = n - o.offsetWidth - 20 <= 0 ? (n - o.offsetWidth) / 2 : 10,
                        i = n - a - o.offsetWidth,
                        d = Math.max(a, Math.min(c, i));
                    o.style.left = v(d);
                    const g = i < c;
                    o.classList.toggle(p["common-tooltip--direction_reversed"], g), o.classList.toggle(p["common-tooltip--direction_normal"], !g);
                    const m = function(o, r, e, l) {
                        if (o.above) return B(r, l) ? "above" : "below";
                        if (o.below) return function(o, r, e) {
                            return e.y + e.h + r + 10 < o
                        }(r, e, l) ? "below" : "above";
                        return B(e, l) ? "above" : "below"
                    }(r, s, u, e);
                    "above" === m ? o.style.bottom = v(s - e.y) : o.style.top = v(e.y + e.h), b.classList.add("above" === m ? p["common-tooltip__ear-holder--above"] : p["common-tooltip__ear-holder--below"]);
                    const {
                        left: y
                    } = l.getBoundingClientRect();
                    let h = Math.trunc(e.x + e.w / 2 - (y + l.clientWidth / 2));
                    o.style.left = v(d + h), o.style.width = v(l.clientWidth + t.clientWidth), h = g ? Math.max(0, h) : Math.min(0, h), t.style.left = v(-h), l.style.left = v(-h)
                }
            }

            function y(o) {
                o.classList.toggle(p["common-tooltip--hidden"], !1)
            }

            function h(o) {
                o.classList.toggle(p["common-tooltip--hidden"], !0)
            }

            function v(o) {
                return `${Math.floor(o)}px`
            }
            const f = `\n\t<div id="common-tooltip-wrapper" class="${p["common-tooltip"]}">\n\t\t<div class="${p["common-tooltip__ear-holder"]}" >\n\t\t\t<div class="${p["common-tooltip__body"]} js-tooltip-body"></div>\n\t\t</div>\n\t\t<div class="${p["common-tooltip__button-container"]}"></div>\n\t</div>\n`,
                _ = `\n\t<div class="${p["common-tooltip__hotkey-block"]}"></div>\n`,
                w = `\n\t<div class="${p["common-tooltip__hotkey-text"]}"></div>\n`,
                k = (0, t.parseHtmlElement)(f),
                F = (0, t.parseHtmlElement)(_),
                E = (0, t.parseHtmlElement)(w);

            function x(o) {
                return o.querySelector(`.${p["common-tooltip__body"]}`)
            }

            function B(o, r) {
                return 10 + o < r.y
            }
        },
        630112: (o, r, e) => {
            "use strict";
            e.d(r, {
                empty: () => n,
                setTooltip: () => a
            });
            const l = "tooltip-root-element";
            let t;

            function c() {
                const o = document.getElementById(l);
                o ? t = o : (t = document.createElement("div"), t.id = l, document.body.appendChild(t))
            }

            function n() {
                t && (t.innerHTML = "")
            }

            function a(o) {
                n(), t && t.appendChild(o)
            }
            "interactive" === document.readyState ? c() : document.addEventListener("DOMContentLoaded", c)
        },
        112539: (o, r, e) => {
            "use strict";
            e.d(r, {
                clearSchedule: () => n,
                scheduleHide: () => i,
                scheduleRemove: () => a,
                scheduleRender: () => d
            });
            let l = 0,
                t = 0,
                c = 0;

            function n() {
                clearTimeout(l), clearTimeout(t), clearTimeout(c)
            }

            function a(o, r) {
                c = setTimeout(o, r)
            }

            function i(o, r) {
                t = setTimeout(o, r)
            }

            function d(o, r) {
                l = setTimeout(o, r)
            }
        },
        529111: (o, r, e) => {
            "use strict";
            e.d(r, {
                setTooltipColorTheme: () => c
            });
            const l = {
                    default: "",
                    white: "theme-white",
                    chart: "theme-chart",
                    "round-shadow": "theme-round-shadow"
                },
                t = Object.keys(l);

            function c(o, r) {
                const e = t.includes(r) ? l[r] : "";
                o.classList.remove(...t.map((o => l[o])).filter((o => !!o))), e && !o.classList.contains(e) && o.classList.add(e)
            }
        },
        345848: (o, r, e) => {
            "use strict";
            e.d(r, {
                trackEvent: () => n
            });
            e(251954);
            var l = e(764829);
            const t = (0, e(338619).getLogger)("Common.TrackEvent");
            let c = !1;
            const n = (o, r, e) => {
                if (c) return;
                let n = (o ? o + ":" : "") + r;
                e && (n += " " + e), t.logNormal(n), l.enabled("widget") || !window._UNIT_TESTS && window.gtag && window.gtag("event", r, {
                    event_category: o,
                    event_label: e
                })
            };
            "undefined" != typeof window && (window.TradingView = window.TradingView || {}, window.TradingView.trackEvent = n)
        },
        397566: (o, r, e) => {
            "use strict";
            e.d(r, {
                NumericFormatter: () => c
            });
            var l = e(676323),
                t = e(96900);
            class c {
                constructor(o = {}) {
                    this._options = o
                }
                format(o, r) {
                    if (!Number.isFinite(o)) return String(o);
                    const {
                        ignoreLocaleNumberFormat: e,
                        precision: n,
                        minPrecision: a
                    } = this._options, i = (0, t.getNumberFormat)(e || (null == r ? void 0 : r.ignoreLocaleNumberFormat));
                    return void 0 === n ? c._formatNoEImpl(o, i, n, a) : (0, l.formatNumber)(o, i, n, void 0, a)
                }
                parse(o, r) {
                    const {
                        ignoreLocaleNumberFormat: e,
                        precision: c
                    } = this._options, n = (0, t.getNumberFormat)(e || (null == r ? void 0 : r.ignoreLocaleNumberFormat));
                    let a = (0, l.parseNumber)(o, n);
                    return Number.isFinite(a) ? (c && (a = +a.toFixed(c)), {
                        res: !0,
                        value: a
                    }) : {
                        res: !1
                    }
                }
                static formatNoE(o, r) {
                    return this._formatNoEImpl(o, r)
                }
                static _formatNoEImpl(o, r, e, t) {
                    return Number.isFinite(o) ? (r = null != r ? r : {
                        groupingSeparator: "",
                        decimalSign: "."
                    }, (0, l.formatNumber)(o, r, e, !0, t)) : String(o)
                }
            }
        },
        197439: (o, r, e) => {
            "use strict";
            e.d(r, {
                makeSymbolPageUrl: () => u,
                makeTemplateSymbolUrl: () => m
            });
            var l = e(705526),
                t = e(986830),
                c = e(924225),
                n = e(889267),
                a = e(519073);

            function i(o) {
                const r = { ...o
                };
                if ("spread" === r.type || "expression" === r.type) {
                    const o = r.shortName && d(r.shortName),
                        e = r.proName && d(r.proName);
                    r.type = void 0, r.shortName = o, r.proName = e
                }
                return r
            }

            function d(o) {
                var r;
                return null === (r = (0, n.tokenize)(o).find((o => "symbol" === o.type))) || void 0 === r ? void 0 : r.value
            }

            function s(o) {
                const r = {
                    shortName: o.shortName,
                    exchange: o.exchange,
                    proName: o.proName,
                    type: o.type,
                    typespecs: o.typespecs,
                    root: o.root
                };
                return r.proName && r.proName.includes(":") && ([r.exchange, r.shortName] = r.proName.split(":")), r
            }

            function g(o, r) {
                const e = encodeURIComponent(r.shortName || ""),
                    l = encodeURIComponent(r.exchange || ""),
                    t = encodeURIComponent(r.proName || ""),
                    c = encodeURIComponent(r.root || "");
                return o.replace("{tvexchange}", l).replace("{tvsymbol}", e).replace("{tvprosymbol}", t).replace("{tvroot}", c)
            }

            function p(o, r = "") {
                const e = s(o),
                    {
                        type: l,
                        typespecs: t,
                        shortName: c,
                        proName: n,
                        exchange: i,
                        root: d
                    } = e;
                return void 0 === c && void 0 === n ? (console.warn("Params missed"), "/") : l || t ? "commodity" === l && t && t.includes("cfd") ? "/symbols/{tvsymbol}/?exchange={tvexchange}" : !d || !t || "futures" !== l || t.includes("continuous") && (null == c ? void 0 : c.endsWith("1!")) || t.includes("exchange-continuous") ? i && ("forex" === l || t && (0, a.hasCryptoTypespec)(t)) ? "/symbols/{tvsymbol}/?exchange={tvexchange}" : i ? `/symbols/{tvexchange}-{tvsymbol}/${r}` : `/symbols/{tvsymbol}/${r}` : `/symbols/{tvexchange}-{tvroot}1!/${r}?contract={tvsymbol}` : i ? `/symbols/{tvexchange}-{tvsymbol}/${r}` : `/symbols/{tvsymbol}/${r}`
            }

            function m(o, r) {
                let e = o;
                if (!/{tvsymbol}|{tvexchange}|{tvprosymbol}/.test(o)) {
                    let l = "tvprosymbol";
                    void 0 === r.proName && (l = "tvsymbol"), e = `${o}?tvwidgetsymbol={${l}}`
                }
                const l = g(e, s(i(r)));
                if (!(0, c.isSafeUrl)(l)) throw new Error(`The symbol URL ${l} is not allowed.`);
                return l
            }

            function b(o, r, e, c) {
                const n = (window.locale_domains ? (0, t.determineBaseUrl)(window.locale_domains, c) : window.location.origin) + g(o, s(i(r)));
                return e ? (0, l.addUtmToUrl)(n, e) : n
            }

            function u(o, r, e, l) {
                const t = i(o);
                return b(p(t, l), t, r, e)
            }
        },
        257288: (o, r, e) => {
            "use strict";
            e.d(r, {
                getTranslatedSymbolDescription: () => c
            });
            var l = e(444372);

            function t(o) {
                const r = `#${o}-symbol-description`,
                    t = l.t(r, void 0, e(956316));
                return t === r ? null : t
            }

            function c(o) {
                if (void 0 !== o.pro_name) {
                    const r = t(o.pro_name);
                    if (null !== r) return r;
                    if (void 0 !== o.short_name) {
                        const r = t(o.short_name);
                        if (null !== r) return r
                    }
                }
                return "en" !== o.language && void 0 !== o.local_description && o.language === window.language || "en" === o.language && void 0 !== o.local_description && o.language === window.language ? o.local_description : o.description || ""
            }
        },
        715050: (o, r, e) => {
            "use strict";
            e.d(r, {
                parseHtmlElement: () => t
            });
            const l = new WeakMap;

            function t(o, r) {
                const e = function(o, r) {
                        let e, t;
                        return e = null == r ? document.documentElement : 9 === r.nodeType ? r.documentElement : r, l && (t = l.get(e)), t || (t = e.ownerDocument.createRange(), t.selectNodeContents(e), l && l.set(e, t)), t.createContextualFragment(o)
                    }(o, r),
                    t = e.firstElementChild;
                return null !== t && e.removeChild(t), t
            }
        },
        433524: (o, r, e) => {
            "use strict";
            e.d(r, {
                decodeHTMLEntities: () => i,
                htmlEscape: () => d
            });
            const l = /[<"'&>]/g,
                t = o => `&#${o.charCodeAt(0)};`,
                c = {
                    "&lt;": "<",
                    "&gt;": ">",
                    "&quot;": '"',
                    "&apos;": "'",
                    "&amp;": "&",
                    "&#60;": "<",
                    "&#62;": ">",
                    "&#34;": '"',
                    "&#39;": "'",
                    "&#039;": "'",
                    "&#38;": "&"
                },
                n = Object.assign({}, ...Object.entries(c).map((([o, r]) => ({
                    [r]: o
                })))),
                a = new RegExp(Object.keys(c).join("|"), "g");
            new RegExp(Object.keys(n).join("|"), "g");

            function i(o) {
                return o.replace(a, (o => c[o] || o))
            }

            function d(o) {
                return o.replace(l, t)
            }
        }
    }
]);