@iccandle/widget-web-trading 0.3.5 → 0.3.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/web-trading-widget.cjs +13 -13
- package/dist/web-trading-widget.d.ts +4 -0
- package/dist/web-trading-widget.js +1819 -1795
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
(function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode(`@font-face{font-family:GIP;src:url(/gip-font/GIP-Thin.woff2) format("woff2");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:GIP;src:url(/gip-font/GIP-UltraLight.woff2) format("woff2");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:GIP;src:url(/gip-font/GIP-Light.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:GIP;src:url(/gip-font/GIP-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:GIP;src:url(/gip-font/GIP-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:GIP;src:url(/gip-font/GIP-SemiBold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:GIP;src:url(/gip-font/GIP-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:GIP;src:url(/gip-font/GIP-ExtraBold.woff2) format("woff2");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:GIP;src:url(/gip-font/GIP-Black.woff2) format("woff2");font-weight:900;font-style:normal;font-display:swap}:root{--background: white;--foreground: #020817;--card: #ffffff;--card-foreground: #020817;--popover: #ffffff;--popover-foreground: #020817;--primary-foreground: #f8fafc;--secondary-foreground: #f8fafc;--muted: hsl(210 40% 96.1%);--muted-foreground: hsl(215.4 16.3% 46.9%);--accent: #fff4e6;--destructive: hsl(0 84.2% 60.2%);--destructive-foreground: hsl(210 40% 98%);--border: hsl(216 8.2% 88%);--input: hsl(214.3 31.8% 91.4%);--radius: .5rem;--gray-0: #ffffff;--gray-1: #f5f2f0;--gray-2: #e9eaec;--gray-3: #dee0e3;--gray-6: hsl(224 8.4% 64.9%);--gray-7: hsl(222.9, 12.2%, 54.9%);--gray-8: hsl(224.2, 7.8%, 48%);--gray-9: hsl(226, 8%, 33%);--gray-10: #464a53;--gray-11: #333333;--gray-12: #1f2228;--gray-13: #14151a;--gray-25: #fcfcfd;--cobalt-50: #eff8ff;--cobalt-100: #dceefc;--cobalt-200: #a9d6ff;--cobalt-300: #75bcff;--cobalt-400: #4ea5ff;--cobalt-500: #3596fc;--cobalt-600: #1f77f1;--cobalt-700: #0f5fd6;--cobalt-800: #0a47aa;--cobalt-900: #073379}.dark{--background: #101010;--foreground: #ededed;--card: #141414;--card-foreground: #ededed;--popover: #141414;--popover-foreground: #ededed;--primary-foreground: #f8fafc;--primary-1: #2d1a0a;--secondary-foreground: #f8fafc;--muted: hsl(217.2 32.6% 17.5%);--muted-foreground: hsl(215 20.2% 65.1%);--accent: #101010;--accent-foreground: #ededed;--destructive-foreground: #ededed;--border: #2e2e2e;--input: hsl(217.2 32.6% 17.5%);--gray-0: #14151a;--gray-1: #1f2228;--gray-2: #333333;--gray-3: #2e2e2e;--gray-6: hsl(224 8.4% 64.9%);--gray-7: hsl(222.9, 12.2%, 54.9%);--gray-8: hsl(224.2, 7.8%, 48%);--gray-9: hsl(226, 8%, 70%);--gray-10: #dee0e3;--gray-11: #e9eaec;--gray-12: #f5f2f0;--gray-13: #ffffff;--gray-25: #0a0a0a}.web-trading-widget-icon{display:block;flex-shrink:0}.web-trading-widget-icon--xs{width:.75rem;height:.75rem}.web-trading-widget-icon--sm{width:.875rem;height:.875rem}.web-trading-widget-icon--md{width:1rem;height:1rem}.web-trading-widget-text-muted{color:#64748b}.dark .web-trading-widget-text-muted{color:#94a3b8}.web-trading-widget-text-buy{color:#2563eb}.dark .web-trading-widget-text-buy{color:#60a5fa}.web-trading-widget-text-sell{color:#dc2626}.dark .web-trading-widget-text-sell{color:#f87171}.web-trading-widget-text-profit-positive{color:#2563eb}.dark .web-trading-widget-text-profit-positive{color:#60a5fa}.web-trading-widget-text-profit-negative{color:#dc2626}.dark .web-trading-widget-text-profit-negative{color:#f87171}.web-trading-widget-icon-btn{flex-shrink:0;color:#64748b;background:transparent;border:none;cursor:pointer;padding:0}.web-trading-widget-icon-btn:hover{color:var(--foreground)}.web-trading-widget-advanced__scan-limit-wrap{position:absolute;left:50%;top:.75rem;z-index:10;transform:translate(-50%)}.web-trading-widget-advanced__scan-limit-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .75rem;font-size:.75rem;line-height:1rem;border-radius:.375rem;background-color:#ef4444;color:#f8fafc;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.web-trading-widget-advanced__scan-limit-badge-title{font-weight:600}.web-trading-widget-advanced__scan-limit-badge-count{opacity:.8}.web-trading-widget-advanced__container{height:100%;width:100%}.web-trading-widget-root{display:flex;flex-direction:column;height:100%;width:100%;min-height:0;overflow:hidden}.web-trading-widget-trading-layout{display:flex;height:100%;width:100%;flex-direction:column;overflow:hidden;font-family:GIP,sans-serif}.web-trading-widget-trading-layout__body{display:flex;min-height:0;flex:1;flex-direction:column;overflow:hidden}@media(min-width:1024px){.web-trading-widget-trading-layout__body{flex-direction:row}}.web-trading-widget-trading-layout__chart-area{position:relative;display:flex;min-height:0;min-width:0;flex:1;flex-direction:column;overflow:hidden}@media(max-width:1023px){.web-trading-widget-trading-layout__chart-area{flex:1 1 auto;min-height:40vh}}.web-trading-widget-trading-layout__host-chart-slot{position:relative;flex:1 1 auto;min-height:0;min-width:0;height:100%;width:100%}.web-trading-widget-trading-layout__chart-slot{position:relative;min-height:0;flex:1;overflow:hidden}.web-trading-widget-trading-layout--news{position:relative;display:flex;height:100%;width:100%;min-height:0;flex-direction:column;overflow:hidden}.web-trading-widget-trading-layout--news .web-trading-widget-trading-layout__chart-slot{position:relative;display:block;min-height:0;flex:1;overflow:hidden;isolation:isolate}.web-trading-widget-trading-layout--news .web-trading-widget-trading-layout__news-body{position:relative;display:block;min-height:0;height:100%;width:100%;overflow:hidden}.web-trading-widget-trading-layout--news .web-trading-widget-new-order-overlay-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;pointer-events:none;overflow:visible}.web-trading-widget-trading-layout--news .web-trading-widget-new-order-overlay-layer>.web-trading-widget-new-order-overlay{pointer-events:auto}.web-trading-widget-trading-layout--news .web-trading-widget-new-order-overlay{position:absolute;z-index:20;flex:none;align-self:auto;max-width:calc(100% - 2rem)}.web-trading-widget-trading-layout--news .web-trading-widget-new-order-overlay--draggable{top:auto;right:auto;display:block;width:-moz-max-content;width:max-content;height:-moz-max-content;height:max-content}.web-trading-widget-trading-layout--news .web-trading-widget-new-order-overlay--exec-panel>.web-trading-widget-market-panel--modal{width:340px;max-width:100%;flex:none}.web-trading-widget-side-panel{position:relative;display:flex;width:100%;flex-shrink:0;flex-direction:column;overflow:hidden;border-color:var(--border);border-top-width:1px;border-top-style:solid;max-height:42vh;min-height:240px}@media(max-width:1023px){.web-trading-widget-side-panel{height:auto;flex:0 1 auto;max-height:26vh;min-height:132px}.web-trading-widget-side-panel--with-scan{height:42vh;max-height:42vh;min-height:240px}}@media(min-width:1024px){.web-trading-widget-side-panel{height:100%;max-height:none;min-height:0;border-top-width:0;border-left-width:1px;border-left-style:solid;width:min(100%,340px);max-width:340px;flex:none}.web-trading-widget-side-panel--with-scan{min-width:min(340px,40%);max-width:50%;flex:1 1 50%;width:auto}}.web-trading-widget-side-panel__empty{display:flex;height:100%;min-height:200px;align-items:center;justify-content:center;padding:1rem;text-align:center;font-size:.875rem;line-height:1.25rem;color:#64748b}.dark .web-trading-widget-side-panel__empty{color:#94a3b8}.web-trading-widget-side-panel__scan-layout{display:flex;height:100%;min-height:0;flex-direction:column}.web-trading-widget-side-panel__tablist{margin:.5rem;display:flex;width:calc(100% - 1rem);flex-shrink:0;gap:.25rem;border-radius:.5rem;border:1px solid #e5e7eb;padding:.25rem}.dark .web-trading-widget-side-panel__tablist{border-color:#ffffff1a;background-color:#161616}@media(min-width:640px){.web-trading-widget-side-panel__tablist{margin:.75rem;width:calc(100% - 1.5rem)}}.web-trading-widget-side-panel__tab{flex:1;border-bottom:2px solid transparent;padding:.625rem .75rem;font-size:.75rem;line-height:1rem;font-weight:500;transition:color .15s,border-color .15s,background-color .15s;background:transparent;cursor:pointer;color:#6b7280}.web-trading-widget-side-panel__tab:hover{color:#111827}.dark .web-trading-widget-side-panel__tab{color:#ffffff80}.dark .web-trading-widget-side-panel__tab:hover{color:#fffc}@media(min-width:640px){.web-trading-widget-side-panel__tab{font-size:.875rem;line-height:1.25rem}}.web-trading-widget-side-panel__tab--active{border-bottom-color:var(--primary-6);background-color:#fff4e6;color:var(--foreground)}.dark .web-trading-widget-side-panel__tab--active{border-bottom-color:var(--primary-6);background-color:#2a2a2a;color:#fff}.web-trading-widget-side-panel__panels{position:relative;min-height:0;flex:1}.web-trading-widget-side-panel__tabpanel{height:100%;overflow-y:auto}.web-trading-widget-side-panel__tabpanel--scan{position:absolute;top:0;right:0;bottom:0;left:0}.web-trading-widget-side-panel__iframe{height:100%;width:100%;border:0}.web-trading-widget-side-panel__scroll{min-height:0;flex:1;overflow-y:auto}.web-trading-widget-new-order-overlay{pointer-events:auto;position:absolute;width:-moz-fit-content;width:fit-content;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:1}.web-trading-widget-new-order-overlay--dragging{z-index:50}.web-trading-widget-new-order-overlay--news:not(.web-trading-widget-new-order-overlay--draggable){top:1rem;right:1rem;left:auto;z-index:20}.web-trading-widget-new-order-overlay--draggable{top:auto;right:auto}.web-trading-widget-new-order-overlay--exec-panel{display:block;width:-moz-max-content;width:max-content;height:-moz-max-content;height:max-content}.web-trading-widget-new-order-overlay--side-panel{width:min(100%,360px);max-height:calc(100% - 2rem);overflow:auto;border:1px solid var(--border);border-radius:.375rem;background-color:var(--background);box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.web-trading-widget-new-order-overlay--side-panel .web-trading-widget-market-panel{border:none;box-shadow:none}.web-trading-widget-mini-order{-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow:hidden;border-radius:.125rem;border:1px solid color-mix(in srgb,var(--border) 60%,transparent);background-color:var(--background);box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.dark .web-trading-widget-mini-order{border-color:#ffffff14;background-color:#161616}.web-trading-widget-mini-order--expanded{width:340px}.web-trading-widget-mini-order--collapsed{width:-moz-fit-content;width:fit-content}.web-trading-widget-mini-order__row{display:flex;height:28px;align-items:stretch}.web-trading-widget-mini-order__drag-handle{display:flex;width:18px;flex-shrink:0;touch-action:none;align-items:center;justify-content:center;border-right:1px solid color-mix(in srgb,var(--border) 60%,transparent);color:#64748b;transition:color .15s;background:transparent;border-top:none;border-left:none;border-bottom:none;cursor:grab;padding:0}.web-trading-widget-mini-order__drag-handle:hover{color:var(--foreground)}.web-trading-widget-mini-order__drag-handle--grabbing{cursor:grabbing}.dark .web-trading-widget-mini-order__drag-handle{border-right-color:#ffffff0f;color:#fff6}.dark .web-trading-widget-mini-order__drag-handle:hover{color:#fffc}.web-trading-widget-mini-order__side-btn{display:flex;min-width:0;flex:1;align-items:stretch;overflow:hidden;transition:opacity .15s;border:none;padding:0;cursor:pointer}.web-trading-widget-mini-order__side-btn:disabled{opacity:.45;cursor:not-allowed}.web-trading-widget-mini-order__side-btn--sell{background-color:#d94a4a}.web-trading-widget-mini-order__side-btn--sell:hover:not(:disabled){background-color:#c94444}.web-trading-widget-mini-order__side-btn--sell:active:not(:disabled){background-color:#b83d3d}.web-trading-widget-mini-order__side-btn--buy{background-color:#3b82f6}.web-trading-widget-mini-order__side-btn--buy:hover:not(:disabled){background-color:#3575e6}.web-trading-widget-mini-order__side-btn--buy:active:not(:disabled){background-color:#2f6ad6}.web-trading-widget-mini-order__price{display:flex;min-width:0;flex:1;align-items:center;justify-content:center;padding:0 .375rem;font-size:12px;font-weight:400;font-variant-numeric:tabular-nums;line-height:1;color:#fffffff2}.web-trading-widget-mini-order__label{display:flex;width:40px;flex-shrink:0;align-items:center;justify-content:center;font-size:10px;font-weight:600;line-height:1;letter-spacing:.05em;color:#fff}.web-trading-widget-mini-order__label--sell{border-left:1px solid rgba(255,255,255,.15)}.web-trading-widget-mini-order__label--buy{border-right:1px solid rgba(255,255,255,.15)}.web-trading-widget-mini-order__volume{display:flex;width:80px;flex-shrink:0;align-items:stretch;border-left:1px solid color-mix(in srgb,var(--border) 60%,transparent);border-right:1px solid color-mix(in srgb,var(--border) 60%,transparent);background-color:color-mix(in srgb,hsl(210 40% 96.1%) 30%,transparent)}.dark .web-trading-widget-mini-order__volume{border-left-color:#ffffff0f;border-right-color:#ffffff0f;background-color:#1e1e1e}.web-trading-widget-mini-order__volume-btn{display:flex;height:100%;width:1.25rem;flex-shrink:0;align-items:center;justify-content:center;color:#64748b;transition:color .15s;background:transparent;border:none;cursor:pointer;padding:0}.web-trading-widget-mini-order__volume-btn:hover:not(:disabled){color:var(--foreground)}.web-trading-widget-mini-order__volume-btn:disabled{opacity:.4;cursor:not-allowed}.dark .web-trading-widget-mini-order__volume-btn{color:#fff6}.dark .web-trading-widget-mini-order__volume-btn:hover:not(:disabled){color:#fffc}.web-trading-widget-mini-order__volume-input{height:100%;min-width:0;flex:1;border:0;background:transparent;text-align:center;font-size:11px;font-weight:400;font-variant-numeric:tabular-nums;line-height:1;color:var(--foreground);outline:none}.web-trading-widget-mini-order__volume-input:disabled{opacity:.5}.dark .web-trading-widget-mini-order__volume-input{color:#fff}.web-trading-widget-mini-order__toggle{display:flex;width:22px;flex-shrink:0;align-items:center;justify-content:center;border-left:1px solid color-mix(in srgb,var(--border) 60%,transparent);color:#64748b;transition:color .15s;background:transparent;border-top:none;border-right:none;border-bottom:none;cursor:pointer;padding:0}.web-trading-widget-mini-order__toggle:hover{color:var(--foreground)}.dark .web-trading-widget-mini-order__toggle{border-left-color:#ffffff0f;color:#fff6}.dark .web-trading-widget-mini-order__toggle:hover{color:#fffc}.web-trading-widget-market-panel{width:100%;border-radius:.125rem;background-color:var(--background)}.web-trading-widget-market-panel--modal{width:340px;border:1px solid var(--border);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.web-trading-widget-market-panel--collapsed .web-trading-widget-market-panel__header{border-bottom:none}.web-trading-widget-market-panel__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;border-bottom:1px solid var(--border);padding:.25rem .75rem .25rem .5rem}.web-trading-widget-market-panel__drag-handle{display:flex;width:1.75rem;flex-shrink:0;touch-action:none;align-items:center;justify-content:center;align-self:stretch;border-right:1px solid var(--border);color:#64748b;transition:color .15s;background:transparent;border-top:none;border-left:none;border-bottom:none;cursor:grab;padding:0}.web-trading-widget-market-panel__drag-handle:hover{color:var(--foreground)}.web-trading-widget-market-panel__drag-handle--grabbing{cursor:grabbing}.web-trading-widget-market-panel__select-trigger{height:2rem;flex:1;border:0;background-color:transparent;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 0 center;padding-left:0;padding-right:1.25rem;font-size:.875rem;line-height:1.25rem;font-weight:500;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;color:inherit}.web-trading-widget-market-panel__select-trigger:focus{outline:none;box-shadow:none}.web-trading-widget-market-panel__header-actions{display:flex;flex-shrink:0;align-items:center;gap:.25rem}.web-trading-widget-market-panel__header-btn{color:#64748b;background:transparent;border:none;cursor:pointer;padding:0}.web-trading-widget-market-panel__header-btn:hover{color:var(--foreground)}.web-trading-widget-market-panel__accordion{width:100%}.web-trading-widget-market-panel__accordion-item{border-bottom:1px solid var(--border)}.web-trading-widget-market-panel__accordion-trigger{display:flex;width:100%;align-items:center;justify-content:space-between;border:none;background:transparent;cursor:pointer;color:inherit;padding:.625rem .75rem;font-size:.875rem;line-height:1.25rem;font-weight:500}.web-trading-widget-market-panel__accordion-trigger:hover{text-decoration:none}.web-trading-widget-market-panel__accordion-trigger>svg{flex-shrink:0;transition:transform .2s}.web-trading-widget-market-panel__accordion-trigger[data-state=open]>svg,.web-trading-widget-market-panel__accordion-trigger--open>svg{transform:rotate(180deg)}.web-trading-widget-market-panel__accordion-content{display:flex;flex-direction:column;gap:.75rem;padding:0 .75rem .75rem}.web-trading-widget-market-panel__grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.web-trading-widget-market-panel__field{display:flex;flex-direction:column;gap:.25rem}.web-trading-widget-market-panel__field-label{font-size:.75rem;line-height:1rem;color:#64748b}.dark .web-trading-widget-market-panel__field-label{color:#94a3b8}.web-trading-widget-market-panel__select-full{height:2.25rem;width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border-radius:.375rem;border:1px solid var(--input);background-color:transparent;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding:0 2rem 0 .75rem;font-size:.875rem;line-height:1.25rem;color:inherit}.web-trading-widget-market-panel__select-full:focus{outline:none;box-shadow:0 0 0 1px var(--border)}.dark .web-trading-widget-market-panel__select-full{border-color:var(--gray-3)}.web-trading-widget-market-panel__input{display:flex;height:2.25rem;width:100%;border-radius:.375rem;border:1px solid var(--input);background-color:transparent;padding:.25rem .75rem;font-size:.875rem;line-height:1.25rem;color:inherit}.web-trading-widget-market-panel__input:focus-visible{outline:none;box-shadow:0 0 0 1px var(--border)}.dark .web-trading-widget-market-panel__input{border-color:var(--gray-3)}.web-trading-widget-market-panel__footer{padding:.75rem}.web-trading-widget-market-panel__quotes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;background-color:#f0f9ff;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;font-weight:500;color:#dc2626}.dark .web-trading-widget-market-panel__quotes{background-color:#1c1c1c}.web-trading-widget-market-panel__quotes-ask{text-align:right}.web-trading-widget-market-panel__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.web-trading-widget-market-panel__sell-btn{height:2.5rem;width:100%;border:none;border-radius:0;background-color:#ea4c4c;font-size:.875rem;line-height:1.25rem;font-weight:600;color:#fff;cursor:pointer}.web-trading-widget-market-panel__sell-btn:hover:not(:disabled){background-color:#c74141}.web-trading-widget-market-panel__buy-btn{height:2.5rem;width:100%;border:none;border-radius:0;background-color:#3183ff;font-size:.875rem;line-height:1.25rem;font-weight:600;color:#fff;cursor:pointer}.web-trading-widget-market-panel__buy-btn:hover:not(:disabled){background-color:#296fd9}.web-trading-widget-market-panel__place-btn{height:2.5rem;width:100%;border:none;border-radius:0;font-size:.875rem;line-height:1.25rem;font-weight:600;cursor:pointer}.web-trading-widget-market-panel__place-btn--buy{background-color:#2563eb;color:#fff}.web-trading-widget-market-panel__place-btn--buy:hover:not(:disabled){background-color:#1d4ed8}.web-trading-widget-market-panel__place-btn--sell{background-color:#ef4444;color:#fff}.web-trading-widget-market-panel__place-btn--sell:hover:not(:disabled){background-color:#ed2c2c}.web-trading-widget-market-panel__sell-btn:disabled,.web-trading-widget-market-panel__buy-btn:disabled,.web-trading-widget-market-panel__place-btn:disabled{opacity:.5;cursor:not-allowed}.web-trading-widget-detail-panel{width:100%;border-radius:.125rem;border-bottom:1px solid var(--border);background-color:var(--background)}.web-trading-widget-detail-panel__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;border-bottom:1px solid var(--border);padding:.5rem .75rem}.web-trading-widget-detail-panel__title{font-size:.875rem;line-height:1.375;text-transform:capitalize}.web-trading-widget-detail-panel__title--buy{color:#2563eb}.web-trading-widget-detail-panel__title--sell{color:#dc2626}.web-trading-widget-detail-panel__title--position{color:#2563eb;text-transform:none}.web-trading-widget-detail-panel__body{display:flex;flex-direction:column;gap:.75rem;padding:.75rem}.web-trading-widget-detail-panel__input-muted{background-color:color-mix(in srgb,hsl(210 40% 96.1%) 50%,transparent)}.dark .web-trading-widget-detail-panel__input-muted{background-color:color-mix(in srgb,hsl(217.2 32.6% 17.5%) 50%,transparent)}.web-trading-widget-detail-panel__btn-full{height:2.5rem;width:100%;border-radius:.375rem;border:1px solid var(--input);background-color:transparent;font-size:.875rem;line-height:1.25rem;font-weight:500;color:var(--foreground);cursor:pointer}.web-trading-widget-detail-panel__btn-full:hover:not(:disabled){opacity:.8}.web-trading-widget-detail-panel__btn-full:disabled{cursor:not-allowed;opacity:.5}.dark .web-trading-widget-detail-panel__btn-full{border-color:#ffffff1a}.web-trading-widget-detail-panel__action-btn{height:auto;min-height:2.5rem;width:100%;white-space:normal;padding-top:.5rem;padding-bottom:.5rem;text-align:left;font-size:.875rem;line-height:1.25rem;font-weight:600;color:#fff;background-color:#f97316;border:none;border-radius:.375rem;cursor:pointer}.web-trading-widget-detail-panel__action-btn:hover:not(:disabled){background-color:#ea580c}.web-trading-widget-confirmation{width:100%;border-radius:.125rem;background-color:var(--background)}.web-trading-widget-confirmation__close-row{display:flex;justify-content:flex-end;padding:.5rem}.web-trading-widget-confirmation__close-btn{color:#2563eb;background:transparent;border:none;cursor:pointer;padding:0}.web-trading-widget-confirmation__close-btn:hover{color:#1d4ed8}.web-trading-widget-confirmation__body{display:flex;flex-direction:column;gap:.75rem;padding:0 1rem 1rem}.web-trading-widget-confirmation__summary{font-size:.875rem;line-height:1.375;color:var(--foreground)}.web-trading-widget-confirmation__ticket,.web-trading-widget-confirmation__side{font-weight:500}.web-trading-widget-confirmation__side--sell{color:#dc2626}.web-trading-widget-confirmation__side--buy{color:#2563eb}.web-trading-widget-confirmation__price{font-size:.875rem;line-height:1.25rem;color:#64748b}.dark .web-trading-widget-confirmation__price{color:#94a3b8}.web-trading-widget-confirmation__status{font-size:1rem;line-height:1.5rem;font-weight:500;color:#16a34a}.web-trading-widget-confirmation__ok-btn{height:2.5rem;width:100%;background-color:#2563eb;color:#fff;border:none;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer}.web-trading-widget-confirmation__ok-btn:hover:not(:disabled){background-color:#1d4ed8}.web-trading-widget-account-modal{display:flex;flex-direction:column;gap:1rem}@media(min-width:640px){.web-trading-widget-account-modal{max-width:28rem}}.web-trading-widget-account-modal__loading{font-size:.875rem;line-height:1.25rem;color:#64748b}.dark .web-trading-widget-account-modal__loading{color:#94a3b8}.web-trading-widget-account-modal__error{font-size:.875rem;line-height:1.25rem;color:#ef4444}.web-trading-widget-account-modal__select{height:2.5rem;width:100%}.web-trading-widget-badge{display:inline-flex;align-items:center;border-radius:.375rem;border:1px solid transparent;padding:.125rem .625rem;font-size:.75rem;line-height:1rem;font-weight:600}.web-trading-widget-badge--destructive{background-color:#ef4444;color:#f8fafc}.web-trading-widget-badge--secondary{background-color:var(--secondary);color:var(--secondary-foreground)}.web-trading-widget-badge--outline{border-color:var(--border);color:var(--foreground)}.web-trading-widget-dialog{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:1rem}.web-trading-widget-dialog__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background-color:color-mix(in srgb,var(--background) 80%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.web-trading-widget-dialog__content{position:relative;z-index:1;width:100%;max-width:32rem;border-radius:1rem;border:1px solid var(--border);background-color:var(--background);padding:1.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.web-trading-widget-dialog__header{display:flex;flex-direction:column;gap:.375rem;border-bottom:1px solid var(--border);padding-bottom:1rem;margin-bottom:1rem}.web-trading-widget-dialog__title{margin:0;font-size:1.125rem;line-height:1.75rem;font-weight:600;color:var(--foreground)}.web-trading-widget-dialog__description{margin:0;font-size:.875rem;line-height:1.25rem;color:#64748b}.dark .web-trading-widget-dialog__description{color:#94a3b8}.web-trading-widget-dialog__footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:1rem}.web-trading-widget-btn{display:inline-flex;align-items:center;justify-content:center;height:2.25rem;border-radius:.375rem;border:1px solid transparent;padding:0 1rem;font-size:.875rem;line-height:1.25rem;font-weight:500;cursor:pointer;transition:opacity .15s,background-color .15s}.web-trading-widget-btn:hover:not(:disabled){opacity:.9}.web-trading-widget-btn:disabled{cursor:not-allowed;opacity:.5}.web-trading-widget-btn--primary{background-color:var(--primary);color:var(--primary-foreground)}.web-trading-widget-btn--outline{border-color:var(--input);background-color:transparent;color:var(--foreground)}.dark .web-trading-widget-btn--outline{border-color:#ffffff1a}.web-trading-widget-toast-viewport{position:fixed;right:1rem;top:1rem;z-index:100;display:flex;width:min(24rem,calc(100vw - 2rem));flex-direction:column;gap:.5rem;pointer-events:none}.web-trading-widget-toast{pointer-events:auto;border-radius:.5rem;border:1px solid var(--border);background-color:var(--background);padding:.75rem 1rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.web-trading-widget-toast--destructive{border-color:#ef4444;background-color:#ef4444;color:#f8fafc}.web-trading-widget-toast__title{margin:0;font-size:.875rem;line-height:1.25rem;font-weight:600}.web-trading-widget-toast__description{margin:.25rem 0 0;font-size:.875rem;line-height:1.25rem}.web-trading-widget-stepper{display:flex;flex-direction:column;gap:.25rem}.web-trading-widget-stepper__header{display:flex;align-items:center;justify-content:space-between;gap:.25rem}.web-trading-widget-stepper__label{font-size:.75rem;line-height:1rem;color:#64748b}.dark .web-trading-widget-stepper__label{color:#94a3b8}.web-trading-widget-stepper__clear{color:#64748b;background:transparent;border:none;cursor:pointer;padding:0}.web-trading-widget-stepper__clear:hover:not(:disabled){color:var(--foreground)}.web-trading-widget-stepper__clear:disabled{opacity:.4}.web-trading-widget-stepper__control{display:flex;align-items:center;overflow:hidden;border-radius:.375rem;border:1px solid hsl(214.3 31.8% 91.4%);background-color:var(--background)}.dark .web-trading-widget-stepper__control{border-color:#1e293b}.web-trading-widget-stepper__control--disabled{opacity:.6}.web-trading-widget-stepper__btn{display:flex;height:2.25rem;width:2.25rem;flex-shrink:0;align-items:center;justify-content:center;border:none;background:transparent;cursor:pointer;padding:0}.web-trading-widget-stepper__btn--minus{border-right:1px solid hsl(214.3 31.8% 91.4%)}.web-trading-widget-stepper__btn--plus{border-left:1px solid hsl(214.3 31.8% 91.4%)}.dark .web-trading-widget-stepper__btn--minus,.dark .web-trading-widget-stepper__btn--plus{border-color:#1e293b}.web-trading-widget-stepper__btn:hover:not(:disabled){background-color:#f1f5f9}.dark .web-trading-widget-stepper__btn:hover:not(:disabled){background-color:#1e293b}.web-trading-widget-stepper__btn:disabled{opacity:.4;cursor:not-allowed}.web-trading-widget-stepper__input{height:2.25rem;min-width:0;flex:1;border:0;background:transparent;padding:0 .5rem;text-align:center;font-size:.875rem;line-height:1.25rem;outline:none}.web-trading-widget-stepper__input:focus-visible{outline:none}.web-trading-widget-stepper__input:disabled{cursor:not-allowed}.web-trading-widget-terminal-resize-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;cursor:row-resize;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.web-trading-widget-terminal{position:relative;z-index:1;display:flex;flex-shrink:0;flex-direction:column;overflow:hidden;border-top:1px solid var(--border);background-color:var(--background);font-size:.75rem;line-height:1rem;color:var(--foreground)}.dark .web-trading-widget-terminal{background-color:#000;color:#fff}@media(max-width:1023px){.web-trading-widget-terminal:not(.web-trading-widget-terminal--embedded){max-height:26vh}}.web-trading-widget-terminal__resize-bar-wrap{display:flex;flex-shrink:0;align-items:stretch;border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent)}.dark .web-trading-widget-terminal__resize-bar-wrap{border-bottom-color:#ffffff1a}.web-trading-widget-terminal__resize-bar{display:flex;min-height:20px;flex:1;cursor:row-resize;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;justify-content:center;padding-top:.125rem;padding-bottom:.125rem}.web-trading-widget-terminal__resize-icon{color:#64748b}.dark .web-trading-widget-terminal__resize-icon{color:#ffffff80}.web-trading-widget-terminal__header-scroll{flex-shrink:0;overflow-x:auto}.web-trading-widget-terminal__toolbar{display:flex;flex-shrink:0;align-items:center;border-bottom:1px solid var(--border)}.dark .web-trading-widget-terminal__toolbar{border-bottom-color:#ffffff1a}.web-trading-widget-terminal__tab-bar{display:flex;flex-shrink:0;align-items:stretch;border-bottom:1px solid var(--border)}.dark .web-trading-widget-terminal__tab-bar{border-bottom-color:#ffffff1a}.web-trading-widget-terminal__tab-btn{flex-shrink:0;height:2rem;padding:0 .75rem;font-size:.75rem;line-height:1rem;white-space:nowrap;border:none;border-bottom:2px solid transparent;background:transparent;color:#64748b;cursor:pointer;transition:color .15s,border-color .15s}.web-trading-widget-terminal__tab-btn:hover{color:var(--foreground)}.dark .web-trading-widget-terminal__tab-btn{color:#fff9}.dark .web-trading-widget-terminal__tab-btn:hover{color:#fff}.web-trading-widget-terminal__tab-btn--active{border-bottom-color:var(--primary);color:var(--foreground)}.dark .web-trading-widget-terminal__tab-btn--active{color:#fff}.web-trading-widget-terminal__deals-wrap{display:flex;min-height:0;flex:1;flex-direction:column;overflow:hidden}.web-trading-widget-terminal__deals-table{width:100%;min-width:1100px;table-layout:fixed;border-collapse:collapse}.web-trading-widget-terminal__deals-footer{display:flex;align-items:center;justify-content:center;min-width:1100px;padding:.75rem 1rem;border-top:1px solid var(--border)}.dark .web-trading-widget-terminal__deals-footer{border-top-color:#ffffff1a}.web-trading-widget-terminal__deals-detail-btn{font-size:.75rem;font-weight:500;color:var(--primary);text-decoration:none;padding:.25rem .75rem;border-radius:var(--radius);transition:background-color .15s}.web-trading-widget-terminal__deals-detail-btn:hover{background-color:color-mix(in srgb,var(--primary) 10%,transparent)}.web-trading-widget-terminal__deals-row{border-bottom:1px solid var(--border)}.dark .web-trading-widget-terminal__deals-row{border-bottom-color:#ffffff1a}.web-trading-widget-terminal__skeleton-row{border-bottom:1px solid var(--border)}.dark .web-trading-widget-terminal__skeleton-row{border-bottom-color:#ffffff1a}.web-trading-widget-terminal__skeleton-bar{height:.75rem;width:4rem;border-radius:.25rem;background-color:color-mix(in srgb,var(--border) 60%,transparent);animation:web-trading-widget-skeleton-pulse 1.4s ease-in-out infinite}.web-trading-widget-terminal__skeleton-bar--wide{width:8rem}@keyframes web-trading-widget-skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}.web-trading-widget-terminal__toolbar-actions{display:flex;margin-left:auto;align-items:center;justify-content:flex-end;gap:.5rem;padding-right:.75rem}.web-trading-widget-terminal__close-all-btn{margin-left:.5rem;height:2rem;border-radius:.125rem;padding:0 .75rem;font-size:.75rem;line-height:1rem;color:#dc2626;background:transparent;border:none;cursor:pointer;transition:opacity .15s}.web-trading-widget-terminal__close-all-btn:hover:not(:disabled){opacity:.6}.web-trading-widget-terminal__close-all-btn:disabled{cursor:not-allowed;opacity:.5}.dark .web-trading-widget-terminal__close-all-btn{color:#f87171}.web-trading-widget-terminal__refetch-btn{display:inline-flex;align-items:center;gap:.375rem;margin-left:.5rem;height:2rem;border-radius:.125rem;padding:0 .75rem;font-size:.75rem;line-height:1rem;color:var(--foreground);background:transparent;border:none;cursor:pointer;transition:opacity .15s}.web-trading-widget-terminal__refetch-btn:hover:not(:disabled){opacity:.6}.web-trading-widget-terminal__refetch-btn:disabled{cursor:not-allowed;opacity:.5}.web-trading-widget-terminal__refetch-icon--spinning{animation:web-trading-widget-refetch-spin 1s linear infinite}@keyframes web-trading-widget-refetch-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.web-trading-widget-terminal__toolbar-profit{font-size:.75rem;line-height:1rem;font-weight:500;font-variant-numeric:tabular-nums;color:var(--foreground)}.dark .web-trading-widget-terminal__toolbar-profit{color:#fff}.web-trading-widget-terminal__body-scroll{min-height:0;flex:1;overflow:auto}.web-trading-widget-terminal__table{width:100%;min-width:1060px;table-layout:fixed;border-collapse:collapse}.web-trading-widget-terminal__cell{padding:.375rem .5rem}.web-trading-widget-terminal__cell--left{text-align:left}.web-trading-widget-terminal__cell--right{text-align:right}.web-trading-widget-terminal__cell--nowrap{white-space:nowrap}.web-trading-widget-terminal__cell--truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.web-trading-widget-terminal__cell--capitalize{text-transform:capitalize}.web-trading-widget-terminal__cell--close{width:2rem;padding:.375rem .25rem}.web-trading-widget-terminal__head-row{color:#64748b}.dark .web-trading-widget-terminal__head-row{color:#ffffffb3}.web-trading-widget-terminal__head-cell{font-weight:400;white-space:nowrap}.web-trading-widget-terminal-col--symbol{width:88px}.web-trading-widget-terminal-col--ticket{width:72px}.web-trading-widget-terminal-col--time{width:148px}.web-trading-widget-terminal-col--type{width:56px}.web-trading-widget-terminal-col--volume{width:88px}.web-trading-widget-terminal-col--price{width:80px}.web-trading-widget-terminal-col--sl,.web-trading-widget-terminal-col--tp{width:72px}.web-trading-widget-terminal-col--price2{width:80px}.web-trading-widget-terminal-col--swap{width:100px}.web-trading-widget-terminal-col--profit{width:88px}.web-trading-widget-terminal-col--close{width:2rem}.web-trading-widget-terminal__row{cursor:pointer;border-bottom:1px solid var(--border)}.web-trading-widget-terminal__row:hover{background-color:color-mix(in srgb,hsl(210 40% 96.1%) 30%,transparent)}.dark .web-trading-widget-terminal__row{border-bottom-color:#ffffff1a}.dark .web-trading-widget-terminal__row:hover{background-color:#ffffff0d}.web-trading-widget-terminal__row--selected{background-color:#f0f9ff}.dark .web-trading-widget-terminal__row--selected{background-color:#ffffff1a}.web-trading-widget-terminal__empty-cell{padding-top:2rem;padding-bottom:2rem;text-align:center;color:#64748b}.dark .web-trading-widget-terminal__empty-cell{color:#ffffff80}.web-trading-widget-terminal__empty-inner{display:flex;flex-direction:column;align-items:center;gap:.75rem}.web-trading-widget-terminal__empty-text{color:#64748b}.dark .web-trading-widget-terminal__empty-text{color:#ffffffb3}.web-trading-widget-terminal__create-btn{background-color:var(--primary);padding:.375rem 1rem;color:#fff;transition:background-color .15s;border:none;cursor:pointer}.web-trading-widget-terminal__create-btn:hover{background-color:color-mix(in srgb,var(--primary) 90%,transparent)}.dark .web-trading-widget-terminal__create-btn{background-color:#333638;color:var(--primary)}.web-trading-widget-terminal__row-close-btn{display:inline-flex;height:1.5rem;width:1.5rem;align-items:center;justify-content:center;border-radius:.125rem;color:#64748b;transition:color .15s,background-color .15s;background:transparent;border:none;cursor:pointer;padding:0}.web-trading-widget-terminal__row-close-btn:hover:not(:disabled){background-color:#fef2f2;color:#dc2626}.web-trading-widget-terminal__row-close-btn:disabled{cursor:not-allowed;opacity:.5}.dark .web-trading-widget-terminal__row-close-btn{color:#ffffff80}.dark .web-trading-widget-terminal__row-close-btn:hover:not(:disabled){background-color:#ef444433;color:#f87171}.web-trading-widget-terminal__stats{flex-shrink:0;border-top:1px solid var(--border);color:#64748b}.dark .web-trading-widget-terminal__stats{border-top-color:#ffffff1a;color:#fffc}.web-trading-widget-terminal__stats-row{display:flex;flex-wrap:wrap;align-items:center;-moz-column-gap:1.5rem;column-gap:1.5rem;row-gap:.25rem}.web-trading-widget-terminal__stats-row--tabular{font-variant-numeric:tabular-nums}.web-trading-widget-terminal__stats-profit{margin-left:auto;color:var(--foreground)}.dark .web-trading-widget-terminal__stats-profit{color:#fff}.web-trading-widget-market-watch-resize-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;cursor:col-resize;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.web-trading-widget-market-watch{position:relative;z-index:1;display:flex;height:100%;flex-shrink:0;background-color:var(--background)}.web-trading-widget-market-watch__resize-rail{display:flex;width:1rem;flex-shrink:0;flex-direction:column;align-items:center;border-left:1px solid var(--border);background-color:var(--background)}.web-trading-widget-market-watch__resize-handle{display:flex;min-height:48px;width:100%;flex:1;cursor:col-resize;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;justify-content:center}.web-trading-widget-market-watch__resize-icon{color:#64748b}.dark .web-trading-widget-market-watch__resize-icon{color:#ffffff80}.web-trading-widget-market-watch__content{display:flex;min-width:0;flex:1;flex-direction:column}.web-trading-widget-market-watch__search-wrap{border-bottom:1px solid var(--border);padding:.5rem}.web-trading-widget-market-watch__search-field{position:relative}.web-trading-widget-market-watch__search-icon{pointer-events:none;position:absolute;left:.5rem;top:50%;transform:translateY(-50%);color:#64748b}.web-trading-widget-market-watch__search-input{height:2rem;padding-left:2rem;font-size:.75rem;line-height:1rem}.web-trading-widget-market-watch__list{min-height:0;flex:1;overflow-y:auto}.web-trading-widget-market-watch__table{width:100%;border-collapse:collapse;font-size:.75rem;line-height:1rem}.web-trading-widget-market-watch__thead{position:sticky;top:0;z-index:1;background-color:var(--background)}.web-trading-widget-market-watch__head-row{border-bottom:1px solid var(--border);color:#64748b}.web-trading-widget-market-watch__th{padding:.375rem .5rem;font-weight:500}.web-trading-widget-market-watch__th--left{text-align:left}.web-trading-widget-market-watch__th--right{text-align:right}.web-trading-widget-market-watch__row{cursor:pointer;border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent)}.web-trading-widget-market-watch__row:hover{background-color:color-mix(in srgb,hsl(210 40% 96.1%) 40%,transparent)}.web-trading-widget-market-watch__row--active{background-color:#f0f9ff}.dark .web-trading-widget-market-watch__row--active{background-color:#0ea5e966}.web-trading-widget-market-watch__td{padding:.375rem .5rem}.web-trading-widget-market-watch__td--symbol{font-weight:500}.web-trading-widget-market-watch__td--quote{text-align:right;font-variant-numeric:tabular-nums}.web-trading-widget-market-watch__quote--neutral{color:var(--foreground)}.web-trading-widget-market-watch__quote--muted{color:#64748b}.dark .web-trading-widget-market-watch__quote--muted{color:#94a3b8}.web-trading-widget-news-orders-overlay-root{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;overflow:visible;pointer-events:none}.web-trading-widget-news-orders-overlay-root .web-trading-widget-news-orders-overlay__trigger,.web-trading-widget-news-orders-overlay-root .web-trading-widget-news-orders__panel{pointer-events:auto}.web-trading-widget-news-orders__panel{position:absolute;left:0;right:0;bottom:0;z-index:50;display:flex;width:100%;min-height:0;flex-direction:column;overflow:hidden;pointer-events:auto;border-top:1px solid var(--border);background-color:var(--background);box-shadow:0 -8px 24px #0000002e}.dark .web-trading-widget-news-orders__panel{background-color:#000;box-shadow:0 -8px 24px #00000073}.web-trading-widget-news-orders__panel-resize-bar-wrap{display:flex;width:100%;flex-shrink:0;align-items:stretch;border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent)}.dark .web-trading-widget-news-orders__panel-resize-bar-wrap{border-bottom-color:#ffffff1a}.web-trading-widget-news-orders__panel-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;gap:.75rem;border-bottom:1px solid var(--border);padding:.625rem .75rem}.web-trading-widget-news-orders__panel-title{margin:0;font-size:.9375rem;font-weight:600;line-height:1.25;color:var(--foreground)}.web-trading-widget-news-orders__panel-close{display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:#64748b;cursor:pointer;padding:.25rem}.web-trading-widget-news-orders__panel-close:hover{color:var(--foreground)}.dark .web-trading-widget-news-orders__panel-close{color:#ffffff8c}.dark .web-trading-widget-news-orders__panel-close:hover{color:#fff}.web-trading-widget-news-orders__panel-body{display:flex;min-height:0;flex:1;flex-direction:column;overflow:hidden}.web-trading-widget-news-orders__panel-body .web-trading-widget-terminal--embedded{flex:1;min-height:0;height:100%}.web-trading-widget-news-orders__table{display:flex;min-height:0;flex:1;flex-direction:column;overflow:hidden;font-size:.75rem;line-height:1rem;color:var(--foreground)}.web-trading-widget-news-orders__table .web-trading-widget-terminal__header-scroll{flex-shrink:0;overflow-x:auto}.web-trading-widget-news-orders__table .web-trading-widget-terminal__body-scroll{min-height:0;flex:1;overflow:auto}.web-trading-widget-news-orders-overlay__trigger{position:absolute;left:1rem;bottom:1rem;z-index:40;pointer-events:auto;display:inline-flex;align-items:center;gap:.5rem;border-radius:9999px;border:1px solid var(--border);background-color:var(--background);padding:.5rem .875rem;font-size:.8125rem;font-weight:600;line-height:1;color:var(--foreground);box-shadow:0 4px 12px #0000001f;cursor:pointer}.web-trading-widget-news-orders-overlay__trigger:hover{background-color:var(--muted)}.dark .web-trading-widget-news-orders-overlay__trigger{background-color:#141414;box-shadow:0 4px 12px #0006}.web-trading-widget-news-orders-overlay__badge{display:inline-flex;min-width:1.25rem;align-items:center;justify-content:center;border-radius:9999px;background-color:var(--primary);padding:.125rem .375rem;font-size:.6875rem;font-weight:600;color:var(--primary-foreground)}`)),document.head.appendChild(e)}}catch(r){console.error("vite-plugin-css-injected-by-js",r)}})();
|
|
2
|
-
"use strict";var Ul=Object.defineProperty;var ro=e=>{throw TypeError(e)};var Il=(e,t,n)=>t in e?Ul(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Je=(e,t,n)=>Il(e,typeof t!="symbol"?t+"":t,n),_i=(e,t,n)=>t.has(e)||ro("Cannot "+n);var w=(e,t,n)=>(_i(e,t,"read from private field"),n?n.call(e):t.get(e)),ee=(e,t,n)=>t.has(e)?ro("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),B=(e,t,n,r)=>(_i(e,t,"write to private field"),r?r.call(e,n):t.set(e,n),n),ue=(e,t,n)=>(_i(e,t,"access private method"),n);var _r=(e,t,n,r)=>({set _(i){B(e,t,i,n)},get _(){return w(e,t,r)}});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react/jsx-runtime"),p=require("react");function Fl(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const Ie=Fl(p),Bl=["en","zh","vi","th","ko","ja","mn","ru"],Fr="en";function ri(e){if(!e)return Fr;const t=e.toLowerCase().split("-")[0];return Bl.includes(t)?t:Fr}const Wl={en:"en",zh:"zh",vi:"vi",th:"th",ko:"ko",ja:"ja",mn:"en",ru:"ru"};function $l(e){return Wl[e]}const Vl={symbol:"Symbol",back:"Back",continue:"Continue",error:"Error",selectTradingAccount:"Select trading account",selectAccountDescription:"Choose an account to continue trading on the chart.",loadingAccounts:"Loading accounts…",noTradingAccounts:"No trading accounts available.",selectAccount:"Select account",createAccount:"Create account",ticket:"Ticket",serverTime:"Server time",type:"Type",volume:"Volume",price:"Price",stopLossShort:"S / L",takeProfitShort:"T / P",swap:"Swap",profit:"Profit",comment:"Comment",close:"Close",balance:"Balance",equity:"Equity",margin:"Margin",freeMargin:"Free margin",level:"Level",trade:"Trade",history:"History",terminalPanelTabs:"Terminal panel tabs",closeAll:"Close all",closing:"Closing…",refresh:"Refresh",refreshing:"Refreshing…",refreshDealHistory:"Refresh deal history",notAvailable:"N/A",closePositionTicket:"Close position #{ticket}",closePosition:"Close position",deleteOrderTicket:"Delete order #{ticket}",deleteOrder:"Delete order",resizeTerminalPanel:"Resize terminal panel",loading:"Loading…",noPositions:"You don't have any positions",createNewOrder:"Create New Order",chartSidePanel:"Chart side panel",scanResult:"Scan Result",openTerminal:"Open terminal",orders:"Orders",terminal:"Terminal",closeTerminalPanel:"Close terminal panel",buy:"Buy",sell:"Sell",balanceType:"Balance",credit:"Credit",deal:"Deal",login:"Login",action:"Action",entry:"Entry",time:"Time",localTime:"Local time",entryIn:"IN",entryOut:"OUT",selectAccountForDeals:"Select an account to view deal history",noDealsFound:"No deals found",seeFullDealHistory:"See full deal history",unknownAction:"Action {action}",failedClosePosition:"Failed to close position.",positionClosed:"Position #{ticket} closed at {price}.",closePositionNotConfigured:"Close position is not configured.",onePositionClosed:"1 position closed.",positionsClosed:"{count} positions closed.",failedClosePositions:"Failed to close positions.",closedFailedSummary:"Closed {closed}, failed {failed}.",failedDeleteOrder:"Failed to delete order.",orderDeleted:"Order #{ticket} deleted.",positionUpdated:"Position #{ticket} updated.",stopLoss:"Stop Loss",takeProfit:"Take Profit",stopPrice:"Stop Price",limitPrice:"Limit Price",volumeSetting:"Volume Setting",riskManagement:"Risk Management",expiration:"Expiration",orderExecutionType:"Order execution type",orderExpirationType:"Order expiration type",expirationTime:"Expiration time",expirationDay:"Expiration day",placed:"Placed",closeConfirmation:"Close confirmation",closePositionPanel:"Close position panel",closeOrderPanel:"Close order panel",minimizeToQuickOrder:"Minimize to quick order panel",moveQuickOrderPanel:"Move quick order panel",decreaseVolume:"Decrease volume",increaseVolume:"Increase volume",expandQuickOrderPanel:"Expand quick order panel",collapseQuickOrderPanel:"Collapse quick order panel",searchSymbol:"Search symbol",bid:"Bid",ask:"Ask",lots:"Lots",orderPrice:"Order Price",sellByMarket:"Sell by Market",buyByMarket:"Buy by Market",placeOrder:"Place {label}",selectAccountToTrade:"Select a trading account to start placing orders.",executionMarket:"Market Execution",executionBuyLimit:"Buy Limit",executionSellLimit:"Sell Limit",executionBuyStop:"Buy Stop",executionSellStop:"Sell Stop",executionBuyStopLimit:"Buy Stop Limit",executionSellStopLimit:"Sell Stop Limit",expirationGtc:"GTC",expirationToday:"Today",expirationSpecified:"Specified",expirationSpecifiedDay:"Specified Day",ok:"OK",orderAtPrice:"at {price}",modify:"Modify",failedModifyPosition:"Failed to modify position.",failedModifyOrder:"Failed to modify order.",positionClosedSimple:"Position #{ticket} closed.",orderUpdated:"Order #{ticket} updated.",closePositionDetail:"Close #{ticket} {type} {volume} {symbol} {openPrice} at {closePrice} with Profit {profit}",deleteOrderDetail:"Delete #{ticket} {typeLabel} {volume} {symbol} at {price}",pleaseSelectTradingAccount:"Please select a trading account.",pleaseSetLimitPrice:"Please set a limit price for this order.",pleaseSetOrderPrice:"Please set an order price for pending orders.",pleaseSetStopPrice:"Please set a stop price for stop limit orders.",pleaseSetExpirationDate:"Please set an expiration date for this order.",pleaseSetStopAndLimitPrices:"Please set both stop and limit prices.",failedPlaceOrder:"Failed to place order.",orderNotAccepted:"Order was not accepted.",newOrder:"New Order",selectYourTradingAccount:"Select your trading account",switchingAccount:"Switching account…",activeAccount:"Active"},Hl={WebTrading:Vl},zl={symbol:"代码",back:"返回",continue:"继续",error:"错误",selectTradingAccount:"选择交易账户",selectAccountDescription:"选择一个账户以继续在图表上交易。",loadingAccounts:"正在加载账户…",noTradingAccounts:"暂无可用交易账户。",selectAccount:"选择账户",createAccount:"创建账户",ticket:"订单号",serverTime:"服务器时间",type:"类型",volume:"交易量",price:"价格",stopLossShort:"止损",takeProfitShort:"止盈",swap:"隔夜利息",profit:"利润",comment:"备注",close:"关闭",balance:"余额",equity:"净值",margin:"保证金",freeMargin:"可用保证金",level:"等级",trade:"交易",history:"历史",terminalPanelTabs:"终端面板标签",closeAll:"全部关闭",closing:"正在关闭…",refresh:"刷新",refreshing:"正在刷新…",refreshDealHistory:"刷新交易历史",notAvailable:"不适用",closePositionTicket:"关闭仓位 #{ticket}",closePosition:"关闭仓位",deleteOrderTicket:"删除订单 #{ticket}",deleteOrder:"删除订单",resizeTerminalPanel:"调整终端面板大小",loading:"正在加载…",noPositions:"您当前没有任何仓位",createNewOrder:"创建新订单",chartSidePanel:"图表侧边栏",scanResult:"扫描结果",openTerminal:"打开终端",orders:"订单",terminal:"终端",closeTerminalPanel:"关闭终端面板",buy:"买入",sell:"卖出",balanceType:"余额",credit:"信用额",deal:"成交",login:"登录",action:"操作",entry:"入场",time:"时间",localTime:"本地时间",entryIn:"入",entryOut:"出",selectAccountForDeals:"选择一个账户查看交易历史",noDealsFound:"未找到交易记录",seeFullDealHistory:"查看完整交易历史",unknownAction:"操作 {action}",failedClosePosition:"关闭仓位失败。",positionClosed:"仓位 #{ticket} 已在 {price} 关闭。",closePositionNotConfigured:"关闭仓位功能未配置。",onePositionClosed:"已关闭 1 个仓位。",positionsClosed:"已关闭 {count} 个仓位。",failedClosePositions:"关闭仓位失败。",closedFailedSummary:"已关闭 {closed} 个,失败 {failed} 个。",failedDeleteOrder:"删除订单失败。",orderDeleted:"订单 #{ticket} 已删除。",positionUpdated:"仓位 #{ticket} 已更新。",stopLoss:"止损",takeProfit:"止盈",stopPrice:"止损价格",limitPrice:"限价",volumeSetting:"交易量设置",riskManagement:"风险管理",expiration:"到期时间",orderExecutionType:"订单执行类型",orderExpirationType:"订单到期类型",expirationTime:"到期时间",expirationDay:"到期日期",placed:"已提交",closeConfirmation:"关闭确认",closePositionPanel:"关闭仓位面板",closeOrderPanel:"关闭订单面板",minimizeToQuickOrder:"最小化到快速下单面板",moveQuickOrderPanel:"移动快速下单面板",decreaseVolume:"减少交易量",increaseVolume:"增加交易量",expandQuickOrderPanel:"展开快速下单面板",collapseQuickOrderPanel:"收起快速下单面板",searchSymbol:"搜索交易品种",bid:"卖价",ask:"买价",lots:"手数",orderPrice:"订单价格",sellByMarket:"按市价卖出",buyByMarket:"按市价买入",placeOrder:"下单 {label}",selectAccountToTrade:"请选择一个交易账户以开始下单。",executionMarket:"市价执行",executionBuyLimit:"买入限价",executionSellLimit:"卖出限价",executionBuyStop:"买入止损",executionSellStop:"卖出止损",executionBuyStopLimit:"买入止损限价",executionSellStopLimit:"卖出止损限价",expirationGtc:"永久有效",expirationToday:"今天",expirationSpecified:"指定时间",expirationSpecifiedDay:"指定日期",ok:"确定",orderAtPrice:"于 {price}",modify:"修改",failedModifyPosition:"修改仓位失败。",failedModifyOrder:"修改订单失败。",positionClosedSimple:"仓位 #{ticket} 已关闭。",orderUpdated:"订单 #{ticket} 已更新。",closePositionDetail:"关闭 #{ticket} {type} {volume} {symbol} {openPrice} 于 {closePrice},利润为 {profit}",deleteOrderDetail:"删除 #{ticket} {typeLabel} {volume} {symbol} 于 {price}",pleaseSelectTradingAccount:"请选择一个交易账户。",pleaseSetLimitPrice:"请为此订单设置限价。",pleaseSetOrderPrice:"请为挂单设置订单价格。",pleaseSetStopPrice:"请为止损限价单设置止损价格。",pleaseSetExpirationDate:"请为此订单设置到期日期。",pleaseSetStopAndLimitPrices:"请同时设置止损价格和限价。",failedPlaceOrder:"下单失败。",orderNotAccepted:"订单未被接受。",newOrder:"新订单",selectYourTradingAccount:"选择您的交易账户",switchingAccount:"正在切换账户…",activeAccount:"活跃"},ql={WebTrading:zl},Kl={symbol:"Ký hiệu",back:"Quay lại",continue:"Tiếp tục",error:"Lỗi",selectTradingAccount:"Chọn tài khoản giao dịch",selectAccountDescription:"Chọn một tài khoản để tiếp tục giao dịch trên biểu đồ.",loadingAccounts:"Đang tải tài khoản…",noTradingAccounts:"Không có tài khoản giao dịch nào khả dụng.",selectAccount:"Chọn tài khoản",createAccount:"Tạo tài khoản",ticket:"Mã lệnh",serverTime:"Thời gian máy chủ",type:"Loại",volume:"Khối lượng",price:"Giá",stopLossShort:"S / L",takeProfitShort:"T / P",swap:"Phí qua đêm",profit:"Lợi nhuận",comment:"Ghi chú",close:"Đóng",balance:"Số dư",equity:"Vốn chủ sở hữu",margin:"Ký quỹ",freeMargin:"Ký quỹ khả dụng",level:"Mức",trade:"Giao dịch",history:"Lịch sử",terminalPanelTabs:"Các tab bảng điều khiển",closeAll:"Đóng tất cả",closing:"Đang đóng…",refresh:"Làm mới",refreshing:"Đang làm mới…",refreshDealHistory:"Làm mới lịch sử giao dịch",notAvailable:"Không có",closePositionTicket:"Đóng vị thế #{ticket}",closePosition:"Đóng vị thế",deleteOrderTicket:"Xóa lệnh #{ticket}",deleteOrder:"Xóa lệnh",resizeTerminalPanel:"Thay đổi kích thước bảng điều khiển",loading:"Đang tải…",noPositions:"Bạn không có vị thế nào",createNewOrder:"Tạo lệnh mới",chartSidePanel:"Bảng bên biểu đồ",scanResult:"Kết quả quét",openTerminal:"Mở bảng giao dịch",orders:"Lệnh",terminal:"Bảng giao dịch",closeTerminalPanel:"Đóng bảng giao dịch",buy:"Mua",sell:"Bán",balanceType:"Số dư",credit:"Tín dụng",deal:"Giao dịch",login:"Đăng nhập",action:"Hành động",entry:"Vào lệnh",time:"Thời gian",localTime:"Giờ địa phương",entryIn:"Vào",entryOut:"Ra",selectAccountForDeals:"Chọn một tài khoản để xem lịch sử giao dịch",noDealsFound:"Không tìm thấy giao dịch nào",seeFullDealHistory:"Xem toàn bộ lịch sử giao dịch",unknownAction:"Hành động {action}",failedClosePosition:"Không thể đóng vị thế.",positionClosed:"Vị thế #{ticket} đã được đóng tại {price}.",closePositionNotConfigured:"Chức năng đóng vị thế chưa được cấu hình.",onePositionClosed:"Đã đóng 1 vị thế.",positionsClosed:"Đã đóng {count} vị thế.",failedClosePositions:"Không thể đóng các vị thế.",closedFailedSummary:"Đã đóng {closed}, thất bại {failed}.",failedDeleteOrder:"Không thể xóa lệnh.",orderDeleted:"Lệnh #{ticket} đã được xóa.",positionUpdated:"Vị thế #{ticket} đã được cập nhật.",stopLoss:"Cắt lỗ",takeProfit:"Chốt lời",stopPrice:"Giá dừng",limitPrice:"Giá giới hạn",volumeSetting:"Cài đặt khối lượng",riskManagement:"Quản lý rủi ro",expiration:"Hết hạn",orderExecutionType:"Loại khớp lệnh",orderExpirationType:"Loại hết hạn của lệnh",expirationTime:"Thời gian hết hạn",expirationDay:"Ngày hết hạn",placed:"Đã đặt",closeConfirmation:"Xác nhận đóng",closePositionPanel:"Bảng đóng vị thế",closeOrderPanel:"Bảng đóng lệnh",minimizeToQuickOrder:"Thu nhỏ thành bảng đặt lệnh nhanh",moveQuickOrderPanel:"Di chuyển bảng đặt lệnh nhanh",decreaseVolume:"Giảm khối lượng",increaseVolume:"Tăng khối lượng",expandQuickOrderPanel:"Mở rộng bảng đặt lệnh nhanh",collapseQuickOrderPanel:"Thu gọn bảng đặt lệnh nhanh",searchSymbol:"Tìm kiếm mã giao dịch",bid:"Giá bán",ask:"Giá mua",lots:"Lot",orderPrice:"Giá đặt lệnh",sellByMarket:"Bán theo giá thị trường",buyByMarket:"Mua theo giá thị trường",placeOrder:"Đặt {label}",selectAccountToTrade:"Chọn một tài khoản giao dịch để bắt đầu đặt lệnh.",executionMarket:"Khớp lệnh thị trường",executionBuyLimit:"Buy Limit",executionSellLimit:"Sell Limit",executionBuyStop:"Buy Stop",executionSellStop:"Sell Stop",executionBuyStopLimit:"Buy Stop Limit",executionSellStopLimit:"Sell Stop Limit",expirationGtc:"GTC",expirationToday:"Hôm nay",expirationSpecified:"Chỉ định",expirationSpecifiedDay:"Ngày chỉ định",ok:"OK",orderAtPrice:"tại {price}",modify:"Chỉnh sửa",failedModifyPosition:"Không thể chỉnh sửa vị thế.",failedModifyOrder:"Không thể chỉnh sửa lệnh.",positionClosedSimple:"Vị thế #{ticket} đã được đóng.",orderUpdated:"Lệnh #{ticket} đã được cập nhật.",closePositionDetail:"Đóng #{ticket} {type} {volume} {symbol} từ {openPrice} tại {closePrice} với lợi nhuận {profit}",deleteOrderDetail:"Xóa #{ticket} {typeLabel} {volume} {symbol} tại {price}",pleaseSelectTradingAccount:"Vui lòng chọn một tài khoản giao dịch.",pleaseSetLimitPrice:"Vui lòng đặt giá giới hạn cho lệnh này.",pleaseSetOrderPrice:"Vui lòng đặt giá cho các lệnh chờ.",pleaseSetStopPrice:"Vui lòng đặt giá dừng cho các lệnh stop limit.",pleaseSetExpirationDate:"Vui lòng đặt ngày hết hạn cho lệnh này.",pleaseSetStopAndLimitPrices:"Vui lòng đặt cả giá dừng và giá giới hạn.",failedPlaceOrder:"Không thể đặt lệnh.",orderNotAccepted:"Lệnh không được chấp nhận.",newOrder:"Lệnh mới",selectYourTradingAccount:"Chọn tài khoản giao dịch của bạn",switchingAccount:"Đang chuyển tài khoản…",activeAccount:"Đang hoạt động"},Gl={WebTrading:Kl},Ql={symbol:"สัญลักษณ์",back:"กลับ",continue:"ดำเนินการต่อ",error:"ข้อผิดพลาด",selectTradingAccount:"เลือกบัญชีซื้อขาย",selectAccountDescription:"เลือกบัญชีเพื่อดำเนินการซื้อขายบนกราฟต่อ",loadingAccounts:"กำลังโหลดบัญชี…",noTradingAccounts:"ไม่มีบัญชีซื้อขายที่ใช้งานได้",selectAccount:"เลือกบัญชี",createAccount:"สร้างบัญชี",ticket:"หมายเลขคำสั่ง",serverTime:"เวลาของเซิร์ฟเวอร์",type:"ประเภท",volume:"ปริมาณ",price:"ราคา",stopLossShort:"S / L",takeProfitShort:"T / P",swap:"สวอป",profit:"กำไร",comment:"หมายเหตุ",close:"ปิด",balance:"ยอดคงเหลือ",equity:"ส่วนของผู้ถือหุ้น",margin:"มาร์จิ้น",freeMargin:"มาร์จิ้นคงเหลือ",level:"ระดับ",trade:"ซื้อขาย",history:"ประวัติ",terminalPanelTabs:"แท็บแผงเทอร์มินัล",closeAll:"ปิดทั้งหมด",closing:"กำลังปิด…",refresh:"รีเฟรช",refreshing:"กำลังรีเฟรช…",refreshDealHistory:"รีเฟรชประวัติการซื้อขาย",notAvailable:"ไม่มีข้อมูล",closePositionTicket:"ปิดสถานะ #{ticket}",closePosition:"ปิดสถานะ",deleteOrderTicket:"ลบคำสั่ง #{ticket}",deleteOrder:"ลบคำสั่ง",resizeTerminalPanel:"ปรับขนาดแผงเทอร์มินัล",loading:"กำลังโหลด…",noPositions:"คุณไม่มีสถานะใด ๆ",createNewOrder:"สร้างคำสั่งใหม่",chartSidePanel:"แผงด้านข้างกราฟ",scanResult:"ผลการสแกน",openTerminal:"เปิดเทอร์มินัล",orders:"คำสั่งซื้อขาย",terminal:"เทอร์มินัล",closeTerminalPanel:"ปิดแผงเทอร์มินัล",buy:"ซื้อ",sell:"ขาย",balanceType:"ยอดคงเหลือ",credit:"เครดิต",deal:"ดีล",login:"เข้าสู่ระบบ",action:"การดำเนินการ",entry:"รายการ",time:"เวลา",localTime:"เวลาท้องถิ่น",entryIn:"เข้า",entryOut:"ออก",selectAccountForDeals:"เลือกบัญชีเพื่อดูประวัติการซื้อขาย",noDealsFound:"ไม่พบรายการซื้อขาย",seeFullDealHistory:"ดูประวัติการซื้อขายทั้งหมด",unknownAction:"การดำเนินการ {action}",failedClosePosition:"ไม่สามารถปิดสถานะได้",positionClosed:"สถานะ #{ticket} ถูกปิดที่ราคา {price}",closePositionNotConfigured:"ยังไม่ได้ตั้งค่าการปิดสถานะ",onePositionClosed:"ปิดสถานะแล้ว 1 รายการ",positionsClosed:"ปิดสถานะแล้ว {count} รายการ",failedClosePositions:"ไม่สามารถปิดสถานะได้",closedFailedSummary:"ปิดแล้ว {closed} รายการ ล้มเหลว {failed} รายการ",failedDeleteOrder:"ไม่สามารถลบคำสั่งได้",orderDeleted:"ลบคำสั่ง #{ticket} แล้ว",positionUpdated:"สถานะ #{ticket} ได้รับการอัปเดตแล้ว",stopLoss:"หยุดขาดทุน",takeProfit:"ทำกำไร",stopPrice:"ราคาหยุด",limitPrice:"ราคาจำกัด",volumeSetting:"การตั้งค่าปริมาณ",riskManagement:"การจัดการความเสี่ยง",expiration:"วันหมดอายุ",orderExecutionType:"ประเภทการดำเนินการคำสั่ง",orderExpirationType:"ประเภทวันหมดอายุของคำสั่ง",expirationTime:"เวลาหมดอายุ",expirationDay:"วันหมดอายุ",placed:"ส่งแล้ว",closeConfirmation:"ยืนยันการปิด",closePositionPanel:"แผงปิดสถานะ",closeOrderPanel:"แผงปิดคำสั่ง",minimizeToQuickOrder:"ย่อเป็นแผงคำสั่งด่วน",moveQuickOrderPanel:"ย้ายแผงคำสั่งด่วน",decreaseVolume:"ลดปริมาณ",increaseVolume:"เพิ่มปริมาณ",expandQuickOrderPanel:"ขยายแผงคำสั่งด่วน",collapseQuickOrderPanel:"ยุบแผงคำสั่งด่วน",searchSymbol:"ค้นหาสัญลักษณ์",bid:"ราคาขาย",ask:"ราคาซื้อ",lots:"ล็อต",orderPrice:"ราคาคำสั่ง",sellByMarket:"ขายตามราคาตลาด",buyByMarket:"ซื้อตามราคาตลาด",placeOrder:"ส่งคำสั่ง {label}",selectAccountToTrade:"เลือกบัญชีซื้อขายเพื่อเริ่มส่งคำสั่ง",executionMarket:"ดำเนินการตามราคาตลาด",executionBuyLimit:"Buy Limit",executionSellLimit:"Sell Limit",executionBuyStop:"Buy Stop",executionSellStop:"Sell Stop",executionBuyStopLimit:"Buy Stop Limit",executionSellStopLimit:"Sell Stop Limit",expirationGtc:"GTC",expirationToday:"วันนี้",expirationSpecified:"กำหนดเอง",expirationSpecifiedDay:"วันที่กำหนด",ok:"ตกลง",orderAtPrice:"ที่ราคา {price}",modify:"แก้ไข",failedModifyPosition:"ไม่สามารถแก้ไขสถานะได้",failedModifyOrder:"ไม่สามารถแก้ไขคำสั่งได้",positionClosedSimple:"สถานะ #{ticket} ถูกปิดแล้ว",orderUpdated:"คำสั่ง #{ticket} ได้รับการอัปเดตแล้ว",closePositionDetail:"ปิด #{ticket} {type} {volume} {symbol} {openPrice} ที่ {closePrice} ด้วยกำไร {profit}",deleteOrderDetail:"ลบ #{ticket} {typeLabel} {volume} {symbol} ที่ราคา {price}",pleaseSelectTradingAccount:"กรุณาเลือกบัญชีซื้อขาย",pleaseSetLimitPrice:"กรุณากำหนดราคาจำกัดสำหรับคำสั่งนี้",pleaseSetOrderPrice:"กรุณากำหนดราคาสำหรับคำสั่งรอดำเนินการ",pleaseSetStopPrice:"กรุณากำหนดราคาหยุดสำหรับคำสั่ง Stop Limit",pleaseSetExpirationDate:"กรุณากำหนดวันหมดอายุสำหรับคำสั่งนี้",pleaseSetStopAndLimitPrices:"กรุณากำหนดทั้งราคาหยุดและราคาจำกัด",failedPlaceOrder:"ไม่สามารถส่งคำสั่งได้",orderNotAccepted:"คำสั่งไม่ได้รับการยอมรับ",newOrder:"คำสั่งใหม่",selectYourTradingAccount:"เลือกบัญชีซื้อขายของคุณ",switchingAccount:"กำลังสลับบัญชี…",activeAccount:"ใช้งานอยู่"},Zl={WebTrading:Ql},Yl={symbol:"심볼",back:"뒤로",continue:"계속",error:"오류",selectTradingAccount:"거래 계좌 선택",selectAccountDescription:"차트에서 거래를 계속하려면 계좌를 선택하세요.",loadingAccounts:"계좌를 불러오는 중…",noTradingAccounts:"사용 가능한 거래 계좌가 없습니다.",selectAccount:"계좌 선택",createAccount:"계좌 생성",ticket:"티켓",serverTime:"서버 시간",type:"유형",volume:"거래량",price:"가격",stopLossShort:"손절가",takeProfitShort:"이익실현가",swap:"스왑",profit:"수익",comment:"메모",close:"닫기",balance:"잔액",equity:"순자산",margin:"증거금",freeMargin:"사용 가능 증거금",level:"수준",trade:"거래",history:"내역",terminalPanelTabs:"터미널 패널 탭",closeAll:"모두 닫기",closing:"닫는 중…",refresh:"새로고침",refreshing:"새로고침 중…",refreshDealHistory:"거래 내역 새로고침",notAvailable:"해당 없음",closePositionTicket:"포지션 닫기 #{ticket}",closePosition:"포지션 닫기",deleteOrderTicket:"주문 삭제 #{ticket}",deleteOrder:"주문 삭제",resizeTerminalPanel:"터미널 패널 크기 조정",loading:"불러오는 중…",noPositions:"보유 중인 포지션이 없습니다",createNewOrder:"새 주문 생성",chartSidePanel:"차트 사이드 패널",scanResult:"스캔 결과",openTerminal:"터미널 열기",orders:"주문",terminal:"터미널",closeTerminalPanel:"터미널 패널 닫기",buy:"매수",sell:"매도",balanceType:"잔액",credit:"크레딧",deal:"거래",login:"로그인",action:"작업",entry:"진입",time:"시간",localTime:"현지 시간",entryIn:"진입",entryOut:"청산",selectAccountForDeals:"거래 내역을 보려면 계좌를 선택하세요",noDealsFound:"거래 내역이 없습니다",seeFullDealHistory:"전체 거래 내역 보기",unknownAction:"작업 {action}",failedClosePosition:"포지션을 닫지 못했습니다.",positionClosed:"포지션 #{ticket}이(가) {price}에 청산되었습니다.",closePositionNotConfigured:"포지션 닫기가 구성되지 않았습니다.",onePositionClosed:"1개의 포지션이 청산되었습니다.",positionsClosed:"{count}개의 포지션이 청산되었습니다.",failedClosePositions:"포지션을 닫지 못했습니다.",closedFailedSummary:"{closed}개 청산, {failed}개 실패.",failedDeleteOrder:"주문을 삭제하지 못했습니다.",orderDeleted:"주문 #{ticket}이(가) 삭제되었습니다.",positionUpdated:"포지션 #{ticket}이(가) 업데이트되었습니다.",stopLoss:"손절",takeProfit:"이익실현",stopPrice:"스톱 가격",limitPrice:"지정가",volumeSetting:"거래량 설정",riskManagement:"위험 관리",expiration:"만료",orderExecutionType:"주문 실행 유형",orderExpirationType:"주문 만료 유형",expirationTime:"만료 시간",expirationDay:"만료 날짜",placed:"접수됨",closeConfirmation:"청산 확인",closePositionPanel:"포지션 닫기 패널",closeOrderPanel:"주문 닫기 패널",minimizeToQuickOrder:"빠른 주문 패널로 최소화",moveQuickOrderPanel:"빠른 주문 패널 이동",decreaseVolume:"거래량 감소",increaseVolume:"거래량 증가",expandQuickOrderPanel:"빠른 주문 패널 확장",collapseQuickOrderPanel:"빠른 주문 패널 축소",searchSymbol:"심볼 검색",bid:"매도호가",ask:"매수호가",lots:"랏",orderPrice:"주문 가격",sellByMarket:"시장가 매도",buyByMarket:"시장가 매수",placeOrder:"{label} 주문",selectAccountToTrade:"주문을 시작하려면 거래 계좌를 선택하세요.",executionMarket:"시장가 실행",executionBuyLimit:"매수 지정가",executionSellLimit:"매도 지정가",executionBuyStop:"매수 스톱",executionSellStop:"매도 스톱",executionBuyStopLimit:"매수 스톱 지정가",executionSellStopLimit:"매도 스톱 지정가",expirationGtc:"GTC",expirationToday:"오늘",expirationSpecified:"지정",expirationSpecifiedDay:"지정일",ok:"확인",orderAtPrice:"{price}에서",modify:"수정",failedModifyPosition:"포지션을 수정하지 못했습니다.",failedModifyOrder:"주문을 수정하지 못했습니다.",positionClosedSimple:"포지션 #{ticket}이(가) 청산되었습니다.",orderUpdated:"주문 #{ticket}이(가) 업데이트되었습니다.",closePositionDetail:"#{ticket} {type} {volume} {symbol} {openPrice}를 {closePrice}에서 청산, 수익 {profit}",deleteOrderDetail:"#{ticket} {typeLabel} {volume} {symbol}을 {price}에서 삭제",pleaseSelectTradingAccount:"거래 계좌를 선택하세요.",pleaseSetLimitPrice:"이 주문의 지정가를 설정하세요.",pleaseSetOrderPrice:"대기 주문의 가격을 설정하세요.",pleaseSetStopPrice:"스톱 지정가 주문의 스톱 가격을 설정하세요.",pleaseSetExpirationDate:"이 주문의 만료일을 설정하세요.",pleaseSetStopAndLimitPrices:"스톱 가격과 지정가를 모두 설정하세요.",failedPlaceOrder:"주문을 접수하지 못했습니다.",orderNotAccepted:"주문이 승인되지 않았습니다.",newOrder:"새 주문",selectYourTradingAccount:"거래 계좌 선택",switchingAccount:"계좌 전환 중…",activeAccount:"활성화됨"},Jl={WebTrading:Yl},Xl={symbol:"シンボル",back:"戻る",continue:"続行",error:"エラー",selectTradingAccount:"取引口座を選択",selectAccountDescription:"チャートで取引を続けるための口座を選択してください。",loadingAccounts:"口座を読み込み中…",noTradingAccounts:"利用可能な取引口座がありません。",selectAccount:"口座を選択",createAccount:"口座を作成",ticket:"チケット",serverTime:"サーバー時間",type:"タイプ",volume:"数量",price:"価格",stopLossShort:"損切り",takeProfitShort:"利確",swap:"スワップ",profit:"利益",comment:"コメント",close:"閉じる",balance:"残高",equity:"有効証拠金",margin:"証拠金",freeMargin:"余剰証拠金",level:"レベル",trade:"取引",history:"履歴",terminalPanelTabs:"ターミナルパネルのタブ",closeAll:"すべて閉じる",closing:"閉じています…",refresh:"更新",refreshing:"更新中…",refreshDealHistory:"取引履歴を更新",notAvailable:"該当なし",closePositionTicket:"ポジションを閉じる #{ticket}",closePosition:"ポジションを閉じる",deleteOrderTicket:"注文を削除 #{ticket}",deleteOrder:"注文を削除",resizeTerminalPanel:"ターミナルパネルのサイズを変更",loading:"読み込み中…",noPositions:"保有中のポジションはありません",createNewOrder:"新規注文を作成",chartSidePanel:"チャートサイドパネル",scanResult:"スキャン結果",openTerminal:"ターミナルを開く",orders:"注文",terminal:"ターミナル",closeTerminalPanel:"ターミナルパネルを閉じる",buy:"買い",sell:"売り",balanceType:"残高",credit:"クレジット",deal:"取引",login:"ログイン",action:"操作",entry:"エントリー",time:"時間",localTime:"現地時間",entryIn:"入場",entryOut:"出場",selectAccountForDeals:"取引履歴を表示するには口座を選択してください",noDealsFound:"取引履歴が見つかりません",seeFullDealHistory:"すべての取引履歴を表示",unknownAction:"操作 {action}",failedClosePosition:"ポジションを閉じられませんでした。",positionClosed:"ポジション #{ticket} は {price} で決済されました。",closePositionNotConfigured:"ポジションを閉じる機能が設定されていません。",onePositionClosed:"1件のポジションが決済されました。",positionsClosed:"{count}件のポジションが決済されました。",failedClosePositions:"ポジションを閉じられませんでした。",closedFailedSummary:"{closed}件決済、{failed}件失敗しました。",failedDeleteOrder:"注文を削除できませんでした。",orderDeleted:"注文 #{ticket} が削除されました。",positionUpdated:"ポジション #{ticket} が更新されました。",stopLoss:"損切り",takeProfit:"利確",stopPrice:"ストップ価格",limitPrice:"指値価格",volumeSetting:"数量設定",riskManagement:"リスク管理",expiration:"有効期限",orderExecutionType:"注文執行タイプ",orderExpirationType:"注文の有効期限タイプ",expirationTime:"有効期限時間",expirationDay:"有効期限日",placed:"発注済み",closeConfirmation:"決済確認",closePositionPanel:"ポジション決済パネル",closeOrderPanel:"注文決済パネル",minimizeToQuickOrder:"クイック注文パネルに最小化",moveQuickOrderPanel:"クイック注文パネルを移動",decreaseVolume:"数量を減らす",increaseVolume:"数量を増やす",expandQuickOrderPanel:"クイック注文パネルを展開",collapseQuickOrderPanel:"クイック注文パネルを折りたたむ",searchSymbol:"シンボルを検索",bid:"売値",ask:"買値",lots:"ロット",orderPrice:"注文価格",sellByMarket:"成行売り",buyByMarket:"成行買い",placeOrder:"{label}を発注",selectAccountToTrade:"注文を開始するには取引口座を選択してください。",executionMarket:"成行執行",executionBuyLimit:"買い指値",executionSellLimit:"売り指値",executionBuyStop:"買い逆指値",executionSellStop:"売り逆指値",executionBuyStopLimit:"買い逆指値指値",executionSellStopLimit:"売り逆指値指値",expirationGtc:"GTC",expirationToday:"今日",expirationSpecified:"指定",expirationSpecifiedDay:"指定日",ok:"OK",orderAtPrice:"{price}で",modify:"変更",failedModifyPosition:"ポジションを変更できませんでした。",failedModifyOrder:"注文を変更できませんでした。",positionClosedSimple:"ポジション #{ticket} が決済されました。",orderUpdated:"注文 #{ticket} が更新されました。",closePositionDetail:"#{ticket} {type} {volume} {symbol} {openPrice} を {closePrice} で決済、利益 {profit}",deleteOrderDetail:"#{ticket} {typeLabel} {volume} {symbol} を {price} で削除",pleaseSelectTradingAccount:"取引口座を選択してください。",pleaseSetLimitPrice:"この注文の指値価格を設定してください。",pleaseSetOrderPrice:"保留注文の価格を設定してください。",pleaseSetStopPrice:"逆指値指値注文のストップ価格を設定してください。",pleaseSetExpirationDate:"この注文の有効期限を設定してください。",pleaseSetStopAndLimitPrices:"ストップ価格と指値価格の両方を設定してください。",failedPlaceOrder:"注文を発注できませんでした。",orderNotAccepted:"注文は受け付けられませんでした。",newOrder:"新規注文",selectYourTradingAccount:"取引口座を選択",switchingAccount:"口座を切り替え中…",activeAccount:"有効"},ed={WebTrading:Xl},td={symbol:"Симбол",back:"Буцах",continue:"Үргэлжлүүлэх",error:"Алдаа",selectTradingAccount:"Арилжааны данс сонгох",selectAccountDescription:"График дээр арилжаагаа үргэлжлүүлэхийн тулд данс сонгоно уу.",loadingAccounts:"Дансуудыг ачаалж байна…",noTradingAccounts:"Боломжтой арилжааны данс алга.",selectAccount:"Данс сонгох",createAccount:"Данс үүсгэх",ticket:"Тасалбар",serverTime:"Серверийн цаг",type:"Төрөл",volume:"Хэмжээ",price:"Үнэ",stopLossShort:"S/L",takeProfitShort:"T/P",swap:"Своп",profit:"Ашиг",comment:"Тайлбар",close:"Хаах",balance:"Үлдэгдэл",equity:"Equity",margin:"Маржин",freeMargin:"Free маржин",level:"Түвшин",trade:"Арилжаа",history:"Түүх",terminalPanelTabs:"Терминалын самбарын табууд",closeAll:"Бүгдийг хаах",closing:"Хааж байна…",refresh:"Сэргээх",refreshing:"Сэргээж байна…",refreshDealHistory:"Хэлцлийн түүхийг сэргээх",notAvailable:"Байхгүй",closePositionTicket:"Позици хаах #{ticket}",closePosition:"Позици хаах",deleteOrderTicket:"Захиалга устгах #{ticket}",deleteOrder:"Захиалга устгах",resizeTerminalPanel:"Терминалын самбарын хэмжээг өөрчлөх",loading:"Ачаалж байна…",noPositions:"Танд нээлттэй позици алга",createNewOrder:"Шинэ захиалга үүсгэх",chartSidePanel:"Графикийн хажуугийн самбар",scanResult:"Сканны үр дүн",openTerminal:"Терминал нээх",orders:"Захиалгууд",terminal:"Терминал",closeTerminalPanel:"Терминалын самбарыг хаах",buy:"Худалдан авах",sell:"Зарах",balanceType:"Үлдэгдэл",credit:"Кредит",deal:"Хэлцэл",login:"Нэвтрэх",action:"Үйлдэл",entry:"Нэвтрэлт",time:"Цаг",localTime:"Орон нутгийн цаг",entryIn:"ОРСОН",entryOut:"ГАРСАН",selectAccountForDeals:"Хэлцлийн түүхийг харахын тулд данс сонгоно уу",noDealsFound:"Хэлцэл олдсонгүй",seeFullDealHistory:"Бүтэн хэлцлийн түүхийг харах",unknownAction:"Үйлдэл {action}",failedClosePosition:"Позици хааж чадсангүй.",positionClosed:"Позици #{ticket} {price} үнээр хаагдлаа.",closePositionNotConfigured:"Позици хаах тохиргоо хийгдээгүй байна.",onePositionClosed:"1 позици хаагдлаа.",positionsClosed:"{count} позици хаагдлаа.",failedClosePositions:"Позициудыг хааж чадсангүй.",closedFailedSummary:"{closed} хаагдсан, {failed} амжилтгүй.",failedDeleteOrder:"Захиалга устгаж чадсангүй.",orderDeleted:"Захиалга #{ticket} устгагдлаа.",positionUpdated:"Позици #{ticket} шинэчлэгдлээ.",stopLoss:"Стоп-лосс",takeProfit:"Тейк-профит",stopPrice:"Стоп үнэ",limitPrice:"Лимит үнэ",volumeSetting:"Хэмжээний тохиргоо",riskManagement:"Эрсдэлийн удирдлага",expiration:"Хүчинтэй хугацаа",orderExecutionType:"Захиалга гүйцэтгэх төрөл",orderExpirationType:"Захиалгын хугацааны төрөл",expirationTime:"Дуусах цаг",expirationDay:"Дуусах өдөр",placed:"Илгээгдсэн",closeConfirmation:"Хаах баталгаажуулалт",closePositionPanel:"Позици хаах самбар",closeOrderPanel:"Захиалга хаах самбар",minimizeToQuickOrder:"Хурдан захиалгын самбар болгон жижигрүүлэх",moveQuickOrderPanel:"Хурдан захиалгын самбарыг зөөх",decreaseVolume:"Хэмжээг багасгах",increaseVolume:"Хэмжээг нэмэх",expandQuickOrderPanel:"Хурдан захиалгын самбарыг дэлгэх",collapseQuickOrderPanel:"Хурдан захиалгын самбарыг хумих",searchSymbol:"Симбол хайх",bid:"Bid",ask:"Ask",lots:"Лот",orderPrice:"Захиалгын үнэ",sellByMarket:"Зах зээлийн үнээр зарах",buyByMarket:"Зах зээлийн үнээр худалдаж авах",placeOrder:"{label} байрлуулах",selectAccountToTrade:"Захиалга байршуулж эхлэхийн тулд арилжааны данс сонгоно уу.",executionMarket:"Зах зээлийн гүйцэтгэл",executionBuyLimit:"Худалдан авах лимит",executionSellLimit:"Зарах лимит",executionBuyStop:"Худалдан авах стоп",executionSellStop:"Зарах стоп",executionBuyStopLimit:"Худалдан авах стоп лимит",executionSellStopLimit:"Зарах стоп лимит",expirationGtc:"GTC",expirationToday:"Өнөөдөр",expirationSpecified:"Тодорхой хугацаа",expirationSpecifiedDay:"Тодорхой өдөр",ok:"OK",orderAtPrice:"{price} үнээр",modify:"Засах",failedModifyPosition:"Позици өөрчилж чадсангүй.",failedModifyOrder:"Захиалга өөрчилж чадсангүй.",positionClosedSimple:"Позици #{ticket} хаагдлаа.",orderUpdated:"Захиалга #{ticket} шинэчлэгдлээ.",closePositionDetail:"#{ticket} {type} {volume} {symbol} {openPrice}-ийг {closePrice} үнээр хааж, {profit} ашигтай болсон",deleteOrderDetail:"#{ticket} {typeLabel} {volume} {symbol}-ийг {price} үнээр устгах",pleaseSelectTradingAccount:"Арилжааны данс сонгоно уу.",pleaseSetLimitPrice:"Энэ захиалгад лимит үнэ оруулна уу.",pleaseSetOrderPrice:"Хүлээгдэж буй захиалгад үнэ оруулна уу.",pleaseSetStopPrice:"Стоп лимит захиалгад стоп үнэ оруулна уу.",pleaseSetExpirationDate:"Энэ захиалгад дуусах хугацаа оруулна уу.",pleaseSetStopAndLimitPrices:"Стоп болон лимит үнийг хоёуланг нь оруулна уу.",failedPlaceOrder:"Захиалга байршуулж чадсангүй.",orderNotAccepted:"Захиалгыг зөвшөөрсөнгүй.",newOrder:"Шинэ захиалга",selectYourTradingAccount:"Арилжааны дансаа сонгоно уу",switchingAccount:"Данс сольж байна…",activeAccount:"Идэвхтэй"},nd={WebTrading:td},rd={symbol:"Символ",back:"Назад",continue:"Продолжить",error:"Ошибка",selectTradingAccount:"Выберите торговый счет",selectAccountDescription:"Выберите счет, чтобы продолжить торговлю на графике.",loadingAccounts:"Загрузка счетов…",noTradingAccounts:"Нет доступных торговых счетов.",selectAccount:"Выбрать счет",createAccount:"Создать счет",ticket:"Тикет",serverTime:"Время сервера",type:"Тип",volume:"Объем",price:"Цена",stopLossShort:"S / L",takeProfitShort:"T / P",swap:"Своп",profit:"Прибыль",comment:"Комментарий",close:"Закрыть",balance:"Баланс",equity:"Собственный капитал",margin:"Маржа",freeMargin:"Свободная маржа",level:"Уровень",trade:"Торговля",history:"История",terminalPanelTabs:"Вкладки панели терминала",closeAll:"Закрыть все",closing:"Закрытие…",refresh:"Обновить",refreshing:"Обновление…",refreshDealHistory:"Обновить историю сделок",notAvailable:"Н/Д",closePositionTicket:"Закрыть позицию #{ticket}",closePosition:"Закрыть позицию",deleteOrderTicket:"Удалить ордер #{ticket}",deleteOrder:"Удалить ордер",resizeTerminalPanel:"Изменить размер панели терминала",loading:"Загрузка…",noPositions:"У вас нет открытых позиций",createNewOrder:"Создать новый ордер",chartSidePanel:"Боковая панель графика",scanResult:"Результат сканирования",openTerminal:"Открыть терминал",orders:"Ордеры",terminal:"Терминал",closeTerminalPanel:"Закрыть панель терминала",buy:"Покупка",sell:"Продажа",balanceType:"Баланс",credit:"Кредит",deal:"Сделка",login:"Вход",action:"Действие",entry:"Вход",time:"Время",localTime:"Местное время",entryIn:"ВХОД",entryOut:"ВЫХОД",selectAccountForDeals:"Выберите счет для просмотра истории сделок",noDealsFound:"Сделки не найдены",seeFullDealHistory:"Посмотреть полную историю сделок",unknownAction:"Действие {action}",failedClosePosition:"Не удалось закрыть позицию.",positionClosed:"Позиция #{ticket} закрыта по цене {price}.",closePositionNotConfigured:"Функция закрытия позиции не настроена.",onePositionClosed:"Закрыта 1 позиция.",positionsClosed:"Закрыто {count} позиций.",failedClosePositions:"Не удалось закрыть позиции.",closedFailedSummary:"Закрыто {closed}, не удалось {failed}.",failedDeleteOrder:"Не удалось удалить ордер.",orderDeleted:"Ордер #{ticket} удален.",positionUpdated:"Позиция #{ticket} обновлена.",stopLoss:"Стоп-лосс",takeProfit:"Тейк-профит",stopPrice:"Стоп-цена",limitPrice:"Лимитная цена",volumeSetting:"Настройка объема",riskManagement:"Управление рисками",expiration:"Срок действия",orderExecutionType:"Тип исполнения ордера",orderExpirationType:"Тип истечения ордера",expirationTime:"Время истечения",expirationDay:"Дата истечения",placed:"Размещено",closeConfirmation:"Подтверждение закрытия",closePositionPanel:"Панель закрытия позиции",closeOrderPanel:"Панель закрытия ордера",minimizeToQuickOrder:"Свернуть в панель быстрого ордера",moveQuickOrderPanel:"Переместить панель быстрого ордера",decreaseVolume:"Уменьшить объем",increaseVolume:"Увеличить объем",expandQuickOrderPanel:"Развернуть панель быстрого ордера",collapseQuickOrderPanel:"Свернуть панель быстрого ордера",searchSymbol:"Поиск символа",bid:"Цена Bid",ask:"Цена Ask",lots:"Лоты",orderPrice:"Цена ордера",sellByMarket:"Продать по рынку",buyByMarket:"Купить по рынку",placeOrder:"Разместить {label}",selectAccountToTrade:"Выберите торговый счет для размещения ордеров.",executionMarket:"Рыночное исполнение",executionBuyLimit:"Лимит на покупку",executionSellLimit:"Лимит на продажу",executionBuyStop:"Стоп на покупку",executionSellStop:"Стоп на продажу",executionBuyStopLimit:"Стоп-лимит на покупку",executionSellStopLimit:"Стоп-лимит на продажу",expirationGtc:"GTC",expirationToday:"Сегодня",expirationSpecified:"Указанный",expirationSpecifiedDay:"Указанный день",ok:"OK",orderAtPrice:"по цене {price}",modify:"Изменить",failedModifyPosition:"Не удалось изменить позицию.",failedModifyOrder:"Не удалось изменить ордер.",positionClosedSimple:"Позиция #{ticket} закрыта.",orderUpdated:"Ордер #{ticket} обновлен.",closePositionDetail:"Закрытие #{ticket} {type} {volume} {symbol} {openPrice} по {closePrice} с прибылью {profit}",deleteOrderDetail:"Удалить #{ticket} {typeLabel} {volume} {symbol} по цене {price}",pleaseSelectTradingAccount:"Пожалуйста, выберите торговый счет.",pleaseSetLimitPrice:"Пожалуйста, задайте лимитную цену для этого ордера.",pleaseSetOrderPrice:"Пожалуйста, задайте цену для отложенных ордеров.",pleaseSetStopPrice:"Пожалуйста, задайте стоп-цену для стоп-лимитных ордеров.",pleaseSetExpirationDate:"Пожалуйста, задайте дату истечения для этого ордера.",pleaseSetStopAndLimitPrices:"Пожалуйста, задайте и стоп-цену, и лимитную цену.",failedPlaceOrder:"Не удалось разместить ордер.",orderNotAccepted:"Ордер не был принят.",newOrder:"Новый ордер",selectYourTradingAccount:"Выберите свой торговый счет",switchingAccount:"Переключение счета…",activeAccount:"Активен"},id={WebTrading:rd},io={en:Hl,zh:ql,vi:Gl,th:Zl,ko:Jl,ja:ed,mn:nd,ru:id};function so(e,t){const n=t.split(".");let r=e;for(const i of n){if(!r||typeof r!="object"||!(i in r))return;r=r[i]}return typeof r=="string"?r:void 0}function sd(e,t){return t?e.replace(/\{(\w+)\}/g,(n,r)=>t[r]!=null?String(t[r]):`{${r}}`):e}function Gn(e,t,n){const r=so(io[e],t)??so(io.en,t)??t;return sd(r,n)}const Za=p.createContext({language:Fr,t:(e,t)=>Gn(Fr,e,t)});function Ya({language:e,children:t}){const n=p.useMemo(()=>{const r=ri(e);return{language:r,t:(i,s)=>Gn(r,i,s)}},[e]);return c.jsx(Za.Provider,{value:n,children:t})}function Te(){return p.useContext(Za)}function ht(...e){return e.filter(Boolean).join(" ")}function od({open:e,children:t,className:n,onPointerDownOutside:r,onEscapeKeyDown:i}){return e?c.jsxs("div",{className:"web-trading-widget-dialog",role:"dialog","aria-modal":"true",children:[c.jsx("div",{className:"web-trading-widget-dialog__overlay",onPointerDown:s=>r==null?void 0:r(s.nativeEvent)}),c.jsx("div",{className:ht("web-trading-widget-dialog__content",n),children:t})]}):null}function ad({className:e,...t}){return c.jsx("div",{className:ht("web-trading-widget-dialog__header",e),...t})}function cd({className:e,...t}){return c.jsx("h2",{className:ht("web-trading-widget-dialog__title",e),...t})}function ld({className:e,...t}){return c.jsx("p",{className:ht("web-trading-widget-dialog__description",e),...t})}function dd({className:e,...t}){return c.jsx("div",{className:ht("web-trading-widget-dialog__footer",e),...t})}function Ja({open:e,isAccountsLoading:t,accountOptions:n,onConfirm:r,backUrl:i,createAccountUrl:s}){var m;const{t:o}=Te(),[a,l]=p.useState(""),d=a||((m=n[0])==null?void 0:m.login)||"",u=!t&&n.length>0&&d!=="",f=!t&&n.length===0;return c.jsxs(od,{open:e,className:"web-trading-widget-account-modal",onPointerDownOutside:h=>h.preventDefault(),onEscapeKeyDown:h=>h.preventDefault(),children:[c.jsxs(ad,{children:[c.jsx(cd,{children:o("WebTrading.selectTradingAccount")}),c.jsx(ld,{children:o("WebTrading.selectAccountDescription")})]}),t?c.jsx("p",{className:"web-trading-widget-account-modal__loading",children:o("WebTrading.loadingAccounts")}):n.length===0?c.jsx("p",{className:"web-trading-widget-account-modal__error",children:o("WebTrading.noTradingAccounts")}):c.jsx("select",{value:d,className:"web-trading-widget-account-modal__select web-trading-widget-market-panel__select-full","aria-label":o("WebTrading.selectAccount"),onChange:h=>l(h.target.value),children:n.map(h=>c.jsxs("option",{value:h.login,children:[h.label," (",h.balance.toFixed(2)," ",h.currency,")"]},h.login))}),c.jsx(dd,{children:f?c.jsxs(c.Fragment,{children:[i?c.jsx("a",{href:i,className:"web-trading-widget-btn web-trading-widget-btn--outline",children:o("WebTrading.back")}):null,s?c.jsx("a",{href:s,className:"web-trading-widget-btn web-trading-widget-btn--primary",children:o("WebTrading.createAccount")}):null]}):c.jsx("button",{type:"button",className:"web-trading-widget-btn web-trading-widget-btn--primary",disabled:!u,onClick:()=>r(d),children:o("WebTrading.continue")})})]})}var ud={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const fd=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),tt=(e,t)=>{const n=p.forwardRef(({color:r="currentColor",size:i=24,strokeWidth:s=2,absoluteStrokeWidth:o,children:a,...l},d)=>p.createElement("svg",{ref:d,...ud,width:i,height:i,stroke:r,strokeWidth:o?Number(s)*24/Number(i):s,className:`lucide lucide-${fd(e)}`,...l},[...t.map(([u,f])=>p.createElement(u,f)),...(Array.isArray(a)?a:[a])||[]]));return n.displayName=`${e}`,n},Br=tt("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]),hd=tt("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]),md=tt("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]),$i=tt("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]),Xa=tt("GripHorizontal",[["circle",{cx:"12",cy:"9",r:"1",key:"124mty"}],["circle",{cx:"19",cy:"9",r:"1",key:"1ruzo2"}],["circle",{cx:"5",cy:"9",r:"1",key:"1a8b28"}],["circle",{cx:"12",cy:"15",r:"1",key:"1e56xg"}],["circle",{cx:"19",cy:"15",r:"1",key:"1a92ep"}],["circle",{cx:"5",cy:"15",r:"1",key:"5r1jwy"}]]),ec=tt("GripVertical",[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]]),pd=tt("ListOrdered",[["line",{x1:"10",x2:"21",y1:"6",y2:"6",key:"76qw6h"}],["line",{x1:"10",x2:"21",y1:"12",y2:"12",key:"16nom4"}],["line",{x1:"10",x2:"21",y1:"18",y2:"18",key:"u3jurt"}],["path",{d:"M4 6h1v4",key:"cnovpq"}],["path",{d:"M4 10h2",key:"16xx2s"}],["path",{d:"M6 18H4c0-1 2-2 2-3s-1-1.5-2-1",key:"m9a95d"}]]),gd=tt("Minimize2",[["polyline",{points:"4 14 10 14 10 20",key:"11kfnr"}],["polyline",{points:"20 10 14 10 14 4",key:"rlmsce"}],["line",{x1:"14",x2:"21",y1:"10",y2:"3",key:"o5lafz"}],["line",{x1:"3",x2:"10",y1:"21",y2:"14",key:"1atl0r"}]]),yd=tt("Minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]),bd=tt("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]),_d=tt("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]),Bt=tt("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),wd={[-11]:["Pacific/Fakaofo"],[-10]:["Pacific/Honolulu"],[-9]:["America/Anchorage","America/Juneau"],[-8]:["America/Los_Angeles","America/Vancouver"],[-7]:["US/Mountain"],[-6]:["America/Chicago","America/El_Salvador"],[-5]:["America/New_York","America/Lima","America/Bogota"],[-4]:["America/Caracas","America/Santiago","America/Toronto"],[-3]:["America/Argentina/Buenos_Aires","America/Sao_Paulo"],0:["Europe/London","Atlantic/Reykjavik","Africa/Casablanca","Africa/Tunis","Africa/Lagos"],1:["Europe/Amsterdam","Europe/Berlin","Europe/Madrid","Europe/Paris"],2:["Europe/Athens","Africa/Cairo","Africa/Johannesburg"],3:["Europe/Moscow","Asia/Riyadh","Asia/Qatar"],3.5:["Asia/Tehran"],4:["Asia/Dubai","Asia/Muscat"],4.5:[],5:["Asia/Karachi"],5.5:["Asia/Kolkata","Asia/Colombo"],5.75:["Asia/Kathmandu"],6:["Asia/Dhaka","Asia/Almaty"],6.5:["Asia/Yangon"],7:["Asia/Bangkok","Asia/Jakarta"],8:["Asia/Shanghai","Asia/Singapore","Asia/Hong_Kong","Asia/Kuala_Lumpur"],9:["Asia/Tokyo","Asia/Seoul"],9.5:["Australia/Adelaide"],10:["Australia/Sydney","Australia/Brisbane"],11:["Pacific/Norfolk"],12:["Pacific/Auckland"]};function vd(){const e=-new Date().getTimezoneOffset()/60,t=wd[e];return t&&t.length>0?t[0]:"Etc/UTC"}const un="tv:latest-symbol",tc="web-trading-last-account-login",_t=[{ticker:"EUR_JPY",display_name:"EURJPY",logo_urls:["https://cdn.iccandle.ai/web-assets/EUR.svg","https://cdn.iccandle.ai/web-assets/JPY.svg"],description:"EUR JPY",type:"forex",session:"1700-1700",pricescale:1e3,resolve_symbol:"EURJPY"},{ticker:"GBP_JPY",display_name:"GBPJPY",logo_urls:["https://cdn.iccandle.ai/web-assets/GBP.svg","https://cdn.iccandle.ai/web-assets/JPY.svg"],description:"GBP JPY",type:"forex",session:"1700-1700",pricescale:1e3,resolve_symbol:"GBPJPY"},{ticker:"AUD_JPY",display_name:"AUDJPY",logo_urls:["https://cdn.iccandle.ai/web-assets/AUD.svg","https://cdn.iccandle.ai/web-assets/JPY.svg"],description:"AUD JPY",type:"forex",session:"1700-1700",pricescale:1e3,resolve_symbol:"AUDJPY"},{ticker:"NZD_JPY",display_name:"NZDJPY",logo_urls:["https://cdn.iccandle.ai/web-assets/NZD.svg","https://cdn.iccandle.ai/web-assets/JPY.svg"],description:"NZD JPY",type:"forex",session:"1700-1700",pricescale:1e3,resolve_symbol:"NZDJPY"},{ticker:"CAD_JPY",display_name:"CADJPY",logo_urls:["https://cdn.iccandle.ai/web-assets/CAD.svg","https://cdn.iccandle.ai/web-assets/JPY.svg"],description:"CAD JPY",type:"forex",session:"1700-1700",pricescale:1e3,resolve_symbol:"CADJPY"},{ticker:"CHF_JPY",display_name:"CHFJPY",logo_urls:["https://cdn.iccandle.ai/web-assets/CHF.svg","https://cdn.iccandle.ai/web-assets/JPY.svg"],description:"CHF JPY",type:"forex",session:"1700-1700",pricescale:1e3,resolve_symbol:"CHFJPY"},{ticker:"USD_JPY",display_name:"USDJPY",logo_urls:["https://cdn.iccandle.ai/web-assets/USD.svg","https://cdn.iccandle.ai/web-assets/JPY.svg"],description:"USD JPY",type:"forex",session:"1700-1700",pricescale:1e3,resolve_symbol:"USDJPY"},{ticker:"EUR_USD",display_name:"EURUSD",logo_urls:["https://cdn.iccandle.ai/web-assets/EUR.svg","https://cdn.iccandle.ai/web-assets/USD.svg"],description:"EUR USD",type:"forex",session:"1700-1700",pricescale:1e5,resolve_symbol:"EURUSD"},{ticker:"AUD_USD",display_name:"AUDUSD",logo_urls:["https://cdn.iccandle.ai/web-assets/AUD.svg","https://cdn.iccandle.ai/web-assets/USD.svg"],description:"AUD USD",type:"forex",session:"1700-1700",pricescale:1e5,resolve_symbol:"AUDUSD"},{ticker:"NZD_USD",display_name:"NZDUSD",logo_urls:["https://cdn.iccandle.ai/web-assets/NZD.svg","https://cdn.iccandle.ai/web-assets/USD.svg"],description:"NZD USD",type:"forex",session:"1700-1700",pricescale:1e5,resolve_symbol:"NZDUSD"},{ticker:"USD_CHF",display_name:"USDCHF",logo_urls:["https://cdn.iccandle.ai/web-assets/USD.svg","https://cdn.iccandle.ai/web-assets/CHF.svg"],description:"USD CHF",type:"forex",session:"1700-1700",pricescale:1e5,resolve_symbol:"USDCHF"},{ticker:"USD_CAD",display_name:"USDCAD",logo_urls:["https://cdn.iccandle.ai/web-assets/USD.svg","https://cdn.iccandle.ai/web-assets/CAD.svg"],description:"USD CAD",type:"forex",session:"1700-1700",pricescale:1e5,resolve_symbol:"USDCAD"},{ticker:"GBP_AUD",display_name:"GBPAUD",logo_urls:["https://cdn.iccandle.ai/web-assets/GBP.svg","https://cdn.iccandle.ai/web-assets/AUD.svg"],description:"GBP AUD",type:"forex",session:"1700-1700",pricescale:1e5,resolve_symbol:"GBPAUD"},{ticker:"GBP_CAD",display_name:"GBPCAD",logo_urls:["https://cdn.iccandle.ai/web-assets/GBP.svg","https://cdn.iccandle.ai/web-assets/CAD.svg"],description:"GBP CAD",type:"forex",session:"1700-1700",pricescale:1e5,resolve_symbol:"GBPCAD"},{ticker:"GBP_CHF",display_name:"GBPCHF",logo_urls:["https://cdn.iccandle.ai/web-assets/GBP.svg","https://cdn.iccandle.ai/web-assets/CHF.svg"],description:"GBP CHF",type:"forex",session:"1700-1700",pricescale:1e5,resolve_symbol:"GBPCHF"},{ticker:"GBP_NZD",display_name:"GBPNZD",logo_urls:["https://cdn.iccandle.ai/web-assets/GBP.svg","https://cdn.iccandle.ai/web-assets/NZD.svg"],description:"GBP NZD",type:"forex",session:"1700-1700",pricescale:1e5,resolve_symbol:"GBPNZD"},{ticker:"GBP_USD",display_name:"GBPUSD",logo_urls:["https://cdn.iccandle.ai/web-assets/GBP.svg","https://cdn.iccandle.ai/web-assets/USD.svg"],description:"GBP USD",type:"forex",session:"1700-1700",pricescale:1e5,resolve_symbol:"GBPUSD"},{ticker:"NZD_CAD",display_name:"NZDCAD",logo_urls:["https://cdn.iccandle.ai/web-assets/NZD.svg","https://cdn.iccandle.ai/web-assets/CAD.svg"],description:"NZD CAD",type:"forex",session:"1700-1700",pricescale:1e5,resolve_symbol:"NZDCAD"},{ticker:"EUR_CAD",display_name:"EURCAD",logo_urls:["https://cdn.iccandle.ai/web-assets/EUR.svg","https://cdn.iccandle.ai/web-assets/CAD.svg"],description:"EUR CAD",type:"forex",session:"1700-1700",pricescale:1e5,resolve_symbol:"EURCAD"},{ticker:"EUR_AUD",display_name:"EURAUD",logo_urls:["https://cdn.iccandle.ai/web-assets/EUR.svg","https://cdn.iccandle.ai/web-assets/AUD.svg"],description:"EUR AUD",type:"forex",session:"1700-1700",pricescale:1e5,resolve_symbol:"EURAUD"},{ticker:"XAU_USD",display_name:"XAUUSD",logo_urls:["https://cdn.iccandle.ai/web-assets/XAU.svg"],description:"Gold",type:"commodity",session:"1700-1700",pricescale:1e3,resolve_symbol:"XAUUSD"},{ticker:"BCO_USD",display_name:"BCOUSD",logo_urls:["https://cdn.iccandle.ai/web-assets/BCO.svg"],description:"Brent Crude Oil",type:"commodity",session:"1700-1700",pricescale:1e3,resolve_symbol:"SpotBrent"},{ticker:"SPX500_USD",display_name:"S&P500",logo_urls:["https://cdn.iccandle.ai/web-assets/SPX500.svg"],description:"S&P 500",type:"indices",session:"1700-1700",pricescale:10,resolve_symbol:"SP500"},{ticker:"NAS100_USD",display_name:"NASDAQ100",logo_urls:["https://cdn.iccandle.ai/web-assets/NAS100.svg"],description:"NASDAQ 100",type:"indices",session:"1700-1700",pricescale:10,resolve_symbol:"NAS100"},{ticker:"US30_USD",display_name:"US30",logo_urls:["https://cdn.iccandle.ai/web-assets/US30.svg"],description:"US Wall St 30",type:"indices",session:"1700-1700",pricescale:10,resolve_symbol:"US30"},{ticker:"BTCUSDT",display_name:"BTCUSDT",logo_urls:["https://cdn.iccandle.ai/web-assets/BTC.svg"],description:"BTCUSDT",type:"crypto",session:"24x7",pricescale:100,resolve_symbol:"BTCUSD"},{ticker:"ETHUSDT",display_name:"ETHUSDT",logo_urls:["https://cdn.iccandle.ai/web-assets/ETH.svg"],description:"ETHUSDT",type:"crypto",session:"24x7",pricescale:100,resolve_symbol:"ETHUSD"},{ticker:"XRPUSDT",display_name:"XRPUSDT",logo_urls:["https://cdn.iccandle.ai/web-assets/XRP.svg"],description:"XRPUSDT",type:"crypto",session:"24x7",pricescale:1e4,resolve_symbol:"XRPUSD"},{ticker:"SOLUSDT",display_name:"SOLUSDT",logo_urls:["https://cdn.iccandle.ai/web-assets/SOL.svg"],description:"SOLUSDT",type:"crypto",session:"24x7",pricescale:100,resolve_symbol:"SOLUSD"},{ticker:"ADAUSDT",display_name:"ADAUSDT",logo_urls:["https://cdn.iccandle.ai/web-assets/ADA.svg"],description:"ADAUSDT",type:"crypto",session:"24x7",pricescale:1e4,resolve_symbol:"ADAUSD"},{ticker:"AVAUSDT",display_name:"AVAUSDT",logo_urls:["https://cdn.iccandle.ai/web-assets/AVA.svg"],description:"AVAUSDT",type:"crypto",session:"24x7",pricescale:1e4,resolve_symbol:"AVAUSD"},{ticker:"AVAXUSDT",display_name:"AVAXUSDT",logo_urls:["https://cdn.iccandle.ai/web-assets/AVAX.svg"],description:"AVAXUSDT",type:"crypto",session:"24x7",pricescale:100,resolve_symbol:"AVAXUSD"},{ticker:"BNBUSDT",display_name:"BNBUSDT",logo_urls:["https://cdn.iccandle.ai/web-assets/BNB.svg"],description:"BNBUSDT",type:"crypto",session:"24x7",pricescale:100,resolve_symbol:"BNBUSD"},{ticker:"DOGEUSDT",display_name:"DOGEUSDT",logo_urls:["https://cdn.iccandle.ai/web-assets/DOGE.svg"],description:"DOGEUSDT",type:"crypto",session:"24x7",pricescale:1e5,resolve_symbol:"DOGUSD"},{ticker:"DOTUSDT",display_name:"DOTUSDT",logo_urls:["https://cdn.iccandle.ai/web-assets/DOT.svg"],description:"DOTUSDT",type:"crypto",session:"24x7",pricescale:1e3,resolve_symbol:"DOTUSD"},{ticker:"TRXUSDT",display_name:"TRXUSDT",logo_urls:["https://cdn.iccandle.ai/web-assets/TRX.svg"],description:"TRXUSDT",type:"crypto",session:"24x7",pricescale:1e4,resolve_symbol:"TRXUSD"},{ticker:"AAPL",display_name:"AAPL",logo_urls:["https://cdn.iccandle.ai/web-assets/AAPL.svg"],description:"Apple Inc.",type:"stock",session:"24x7",pricescale:100,resolve_symbol:"AAPL"},{ticker:"AMZN",display_name:"AMZN",logo_urls:["https://cdn.iccandle.ai/web-assets/AMZN.svg"],description:"Amazon.Com Inc",type:"stock",session:"24x7",pricescale:100,resolve_symbol:"AMZN"},{ticker:"BRK.B",display_name:"BRK.B",logo_urls:["https://cdn.iccandle.ai/web-assets/BRK.B.svg"],description:"BERKSHIRE HATHAWAY Class B",type:"stock",session:"24x7",pricescale:100,resolve_symbol:"BRKB"},{ticker:"GOOGL",display_name:"GOOGL",logo_urls:["https://cdn.iccandle.ai/web-assets/GOOGL.svg"],description:"Alphabet Inc. Class A Common Stock",type:"stock",session:"24x7",pricescale:100,resolve_symbol:"GOOGL"},{ticker:"KO",display_name:"KO",logo_urls:["https://cdn.iccandle.ai/web-assets/KO.svg"],description:"Coca-Cola Company",type:"stock",session:"24x7",pricescale:100,resolve_symbol:"KO"},{ticker:"META",display_name:"META",logo_urls:["https://cdn.iccandle.ai/web-assets/META.svg"],description:"Meta Platforms, Inc. Class A Common Stock",type:"stock",session:"24x7",pricescale:100,resolve_symbol:"META"},{ticker:"MSFT",display_name:"MSFT",logo_urls:["https://cdn.iccandle.ai/web-assets/MSFT.svg"],description:"Microsoft Corp",type:"stock",session:"24x7",pricescale:100,resolve_symbol:"MSFT"},{ticker:"NFLX",display_name:"NFLX",logo_urls:["https://cdn.iccandle.ai/web-assets/NFLX.svg"],description:"NetFlix Inc",type:"stock",session:"24x7",pricescale:100,resolve_symbol:"NFLX"},{ticker:"NKE",display_name:"NKE",logo_urls:["https://cdn.iccandle.ai/web-assets/NKE.svg"],description:"Nike, Inc.",type:"stock",session:"24x7",pricescale:100,resolve_symbol:"NKE"},{ticker:"NVDA",display_name:"NVDA",logo_urls:["https://cdn.iccandle.ai/web-assets/NVDA.svg"],description:"Nvidia Corp",type:"stock",session:"24x7",pricescale:100,resolve_symbol:"NVDA"},{ticker:"TME",display_name:"TME",logo_urls:["https://cdn.iccandle.ai/web-assets/TME.svg"],description:"Tencent Music Entertainment Group American Depositary Shares, each representing two Class A Ordinary Shares",type:"stock",session:"24x7",pricescale:100,resolve_symbol:"TME"},{ticker:"TSLA",display_name:"TSLA",logo_urls:["https://cdn.iccandle.ai/web-assets/TSLA.svg"],description:"Tesla, Inc. Common Stock",type:"stock",session:"24x7",pricescale:100,resolve_symbol:"TSLA"},{ticker:"XAG_USD",display_name:"XAGUSD",logo_urls:["https://cdn.iccandle.ai/web-assets/XAG.svg"],description:"Silver",type:"commodity",session:"1700-1700",pricescale:1e3,resolve_symbol:"XAGUSD"},{ticker:"XCU_USD",display_name:"XCUUSD",logo_urls:["https://cdn.iccandle.ai/web-assets/XCU.svg"],description:"Copper",type:"commodity",session:"1700-1700",pricescale:1e3,resolve_symbol:"XCUUSD"}];function Sd(e){const t=Math.round(Math.log10(e));return Number.isFinite(t)&&t>0?t:5}function Ps(e){const t=Ne(e).toUpperCase();if(t)return _t.find(n=>{var r,i;return((r=n.resolve_symbol)==null?void 0:r.toUpperCase())===t||((i=n.display_name)==null?void 0:i.toUpperCase())===t||n.ticker.replace(/_/g,"").toUpperCase()===t})}function Td(e){const t=Ps(e);return t!=null&&t.pricescale?Sd(t.pricescale):5}function nc(e,t){if(t)for(const r of["digits","Digits"]){const i=t[r];if(i!=null&&i!==""){const s=Number(i);if(Number.isFinite(s))return Math.round(s)}}const n=Ne(e).toUpperCase();return n.includes("XAU")||n.includes("GOLD")?2:n.includes("JPY")?3:5}function xd(e){const t=Ps(e);switch(t==null?void 0:t.type){case"commodity":return 100;case"crypto":case"indices":case"stock":return 1;case"forex":default:return 1e5}}const kd=.1;function rc(e,t,n){return e==="buy"?n-t:t-n}function Pd(e,t,n,r){const i=rc(e,t,n);if(!(!Number.isFinite(i)||i===0)&&!(!Number.isFinite(r)||Math.abs(r)<kd))return r/i}const Cs="USD";function or(e){return Ne(e).toUpperCase()}function ii(e){const t=or(e);return t.length>=6?t.slice(3):Cs}function Os(e){if(e!==Cs&&e==="JPY")return"USDJPY"}function Cd(e,t,n,r,i){const s=ii(e),o=Os(s);if(!o)return;if(or(e)===o){const d=t==="buy"?n:r;return d>0?d:void 0}const a=i[o];if(!a)return;const l=(a.bid+a.ask)/2;return l>0?l:void 0}function Od(e,t,n,r,i,s,o={}){const a=e==="buy"?n:r;let d=(e==="buy"?a-t:t-a)*i*xd(s);const u=ii(s),f=Cd(s,e,n,r,o);if(f!==void 0)d/=f;else if(u!==Cs)return null;return Math.round(d*100)/100}function Ed(e){const t=new Set;for(const n of e){const r=Os(ii(n));r&&or(n)!==r&&t.add(r)}return[...t]}function Ad(e,t){const n=or(e);if(n===t)return!0;const r=Os(ii(e));return r===t&&n!==r}function Ld(e,t,n,r,i){if(!Ad(e.symbol,t))return e;const s=or(e.symbol)===t,o=s?n:e.marketBid??e.currentPrice,a=s?r:e.marketAsk??e.currentPrice,l=e.type==="buy"?o:a,d=e.profitPerPriceUnit!==void 0?Math.round(rc(e.type,e.openPrice,l)*e.profitPerPriceUnit*100)/100:Od(e.type,e.openPrice,o,a,e.volumeLots,e.symbol,i);return{...e,currentPrice:l,marketBid:o,marketAsk:a,profit:d??e.profit}}function Ne(e){const t=e.trim();return t?t.replace(/m$/i,""):""}function si(e){return Ne(e)||"—"}const He={BUY:0,SELL:1,BUY_LIMIT:2,SELL_LIMIT:3,BUY_STOP:4,SELL_STOP:5,BUY_STOP_LIMIT:6,SELL_STOP_LIMIT:7},Wr=[{mode:"market",label:"Market Execution",orderType:null,isMarket:!0},{mode:"buy_limit",label:"Buy Limit",orderType:He.BUY_LIMIT,isMarket:!1},{mode:"sell_limit",label:"Sell Limit",orderType:He.SELL_LIMIT,isMarket:!1},{mode:"buy_stop",label:"Buy Stop",orderType:He.BUY_STOP,isMarket:!1},{mode:"sell_stop",label:"Sell Stop",orderType:He.SELL_STOP,isMarket:!1},{mode:"buy_stop_limit",label:"Buy Stop Limit",orderType:He.BUY_STOP_LIMIT,isMarket:!1},{mode:"sell_stop_limit",label:"Sell Stop Limit",orderType:He.SELL_STOP_LIMIT,isMarket:!1}];function oi(e){return Wr.find(t=>t.mode===e)??Wr[0]}function ai(e){return oi(e).isMarket}function Vi(e,t){const n=oi(e);return n.orderType!==null?n.orderType:t==="buy"?He.BUY:He.SELL}function $r(e){return e%2===1?"sell":"buy"}function Es(e){return e>=He.BUY_LIMIT&&e<=He.SELL_STOP_LIMIT}function As(e){return e===He.BUY_STOP_LIMIT||e===He.SELL_STOP_LIMIT}function ic(e){return e==="buy_stop_limit"||e==="sell_stop_limit"}const We={GTC:0,TODAY:1,SPECIFIED:2,SPECIFIED_DAY:3},sc=[{value:We.GTC,label:"GTC"},{value:We.TODAY,label:"Today"},{value:We.SPECIFIED,label:"Specified"},{value:We.SPECIFIED_DAY,label:"Specified Day"}];function Ls(e){return e===We.SPECIFIED}function Ns(e){return e===We.SPECIFIED_DAY}const Vr={market:"WebTrading.executionMarket",buy_limit:"WebTrading.executionBuyLimit",sell_limit:"WebTrading.executionSellLimit",buy_stop:"WebTrading.executionBuyStop",sell_stop:"WebTrading.executionSellStop",buy_stop_limit:"WebTrading.executionBuyStopLimit",sell_stop_limit:"WebTrading.executionSellStopLimit"},oc={[We.GTC]:"WebTrading.expirationGtc",[We.TODAY]:"WebTrading.expirationToday",[We.SPECIFIED]:"WebTrading.expirationSpecified",[We.SPECIFIED_DAY]:"WebTrading.expirationSpecifiedDay"};function Nd(e){return e.map(t=>({login:t.login,label:t.label,balance:t.tradeStat.balance,currency:t.currency}))}function Dd(){if(typeof window>"u")return null;const e=localStorage.getItem(tc);return(e==null?void 0:e.trim())||null}function oo(e){if(typeof window>"u")return;const t=e.trim();t&&localStorage.setItem(tc,t)}function Rd(e,t){var n;return t&&e.some(r=>r.login===t)?t:((n=e[0])==null?void 0:n.login)??""}function Ds(e,t=_t){return t.find(n=>n.ticker===e)}function jd(e,t=_t){var i;const n=Ne(e).toUpperCase();if(!n)return null;const r=t.find(s=>{var o;return Ne(s.resolve_symbol??"").toUpperCase()===n||((o=s.display_name)==null?void 0:o.toUpperCase())===n||s.ticker.replace(/_/g,"").toUpperCase()===n||s.ticker.toUpperCase()===n});return r?r.ticker:((i=Ps(e))==null?void 0:i.ticker)??null}function ar(e,t=_t){const n=Ds(e,t),r=(n==null?void 0:n.resolve_symbol)??e.replace(/_/g,"");return Ne(r).toUpperCase()}function ci(e,t=_t){const n=Ds(e,t);return n!=null&&n.resolve_symbol?n.resolve_symbol:e.replace(/_/g,"")}function wt(e){const t=Math.round(Math.log10(e));return String(Number.isFinite(t)&&t>0?t:5)}function vt(e,t=_t){const n=Ds(e,t);return(n==null?void 0:n.pricescale)??1e5}function pe(e,t){return e.toFixed(t)}function Dn(e){return 1/10**e}function Rs(e,t){return e===null||t===null?null:(e+t)/2}function Le(e){const t=e.trim();if(!t)return;const n=Number(t);if(!(!Number.isFinite(n)||n<=0))return n}function ac(e,t,n){if(Ls(e)){if(!t.trim())return;const r=Date.parse(t);return Number.isFinite(r)?Math.floor(r/1e3):void 0}if(Ns(e)){if(!n.trim())return;const r=Date.parse(`${n}T23:59:59`);return Number.isFinite(r)?Math.floor(r/1e3):void 0}}function li(e,t,n){return e===We.GTC||e===We.TODAY?!0:ac(e,t,n)!==void 0}const Md={},ao=e=>{let t;const n=new Set,r=(u,f)=>{const m=typeof u=="function"?u(t):u;if(!Object.is(m,t)){const h=t;t=f??(typeof m!="object"||m===null)?m:Object.assign({},t,m),n.forEach(b=>b(t,h))}},i=()=>t,l={setState:r,getState:i,getInitialState:()=>d,subscribe:u=>(n.add(u),()=>n.delete(u)),destroy:()=>{(Md?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},d=t=e(r,i,l);return l},Ud=e=>e?ao(e):ao;function Id(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var wr={exports:{}},wi={},vr={exports:{}},vi={};/**
|
|
1
|
+
(function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode(`@font-face{font-family:GIP;src:url(/gip-font/GIP-Thin.woff2) format("woff2");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:GIP;src:url(/gip-font/GIP-UltraLight.woff2) format("woff2");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:GIP;src:url(/gip-font/GIP-Light.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:GIP;src:url(/gip-font/GIP-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:GIP;src:url(/gip-font/GIP-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:GIP;src:url(/gip-font/GIP-SemiBold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:GIP;src:url(/gip-font/GIP-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:GIP;src:url(/gip-font/GIP-ExtraBold.woff2) format("woff2");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:GIP;src:url(/gip-font/GIP-Black.woff2) format("woff2");font-weight:900;font-style:normal;font-display:swap}:root{--background: white;--foreground: #020817;--card: #ffffff;--card-foreground: #020817;--popover: #ffffff;--popover-foreground: #020817;--primary-foreground: #f8fafc;--secondary-foreground: #f8fafc;--muted: hsl(210 40% 96.1%);--muted-foreground: hsl(215.4 16.3% 46.9%);--accent: #fff4e6;--destructive: hsl(0 84.2% 60.2%);--destructive-foreground: hsl(210 40% 98%);--border: hsl(216 8.2% 88%);--input: hsl(214.3 31.8% 91.4%);--radius: .5rem;--gray-0: #ffffff;--gray-1: #f5f2f0;--gray-2: #e9eaec;--gray-3: #dee0e3;--gray-6: hsl(224 8.4% 64.9%);--gray-7: hsl(222.9, 12.2%, 54.9%);--gray-8: hsl(224.2, 7.8%, 48%);--gray-9: hsl(226, 8%, 33%);--gray-10: #464a53;--gray-11: #333333;--gray-12: #1f2228;--gray-13: #14151a;--gray-25: #fcfcfd;--cobalt-50: #eff8ff;--cobalt-100: #dceefc;--cobalt-200: #a9d6ff;--cobalt-300: #75bcff;--cobalt-400: #4ea5ff;--cobalt-500: #3596fc;--cobalt-600: #1f77f1;--cobalt-700: #0f5fd6;--cobalt-800: #0a47aa;--cobalt-900: #073379}.dark{--background: #101010;--foreground: #ededed;--card: #141414;--card-foreground: #ededed;--popover: #141414;--popover-foreground: #ededed;--primary-foreground: #f8fafc;--primary-1: #2d1a0a;--secondary-foreground: #f8fafc;--muted: hsl(217.2 32.6% 17.5%);--muted-foreground: hsl(215 20.2% 65.1%);--accent: #101010;--accent-foreground: #ededed;--destructive-foreground: #ededed;--border: #2e2e2e;--input: hsl(217.2 32.6% 17.5%);--gray-0: #14151a;--gray-1: #1f2228;--gray-2: #333333;--gray-3: #2e2e2e;--gray-6: hsl(224 8.4% 64.9%);--gray-7: hsl(222.9, 12.2%, 54.9%);--gray-8: hsl(224.2, 7.8%, 48%);--gray-9: hsl(226, 8%, 70%);--gray-10: #dee0e3;--gray-11: #e9eaec;--gray-12: #f5f2f0;--gray-13: #ffffff;--gray-25: #0a0a0a}.web-trading-widget-icon{display:block;flex-shrink:0}.web-trading-widget-icon--xs{width:.75rem;height:.75rem}.web-trading-widget-icon--sm{width:.875rem;height:.875rem}.web-trading-widget-icon--md{width:1rem;height:1rem}.web-trading-widget-text-muted{color:#64748b}.dark .web-trading-widget-text-muted{color:#94a3b8}.web-trading-widget-text-buy{color:#2563eb}.dark .web-trading-widget-text-buy{color:#60a5fa}.web-trading-widget-text-sell{color:#dc2626}.dark .web-trading-widget-text-sell{color:#f87171}.web-trading-widget-text-profit-positive{color:#2563eb}.dark .web-trading-widget-text-profit-positive{color:#60a5fa}.web-trading-widget-text-profit-negative{color:#dc2626}.dark .web-trading-widget-text-profit-negative{color:#f87171}.web-trading-widget-icon-btn{flex-shrink:0;color:#64748b;background:transparent;border:none;cursor:pointer;padding:0}.web-trading-widget-icon-btn:hover{color:var(--foreground)}.web-trading-widget-advanced__scan-limit-wrap{position:absolute;left:50%;top:.75rem;z-index:10;transform:translate(-50%)}.web-trading-widget-advanced__scan-limit-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .75rem;font-size:.75rem;line-height:1rem;border-radius:.375rem;background-color:#ef4444;color:#f8fafc;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.web-trading-widget-advanced__scan-limit-badge-title{font-weight:600}.web-trading-widget-advanced__scan-limit-badge-count{opacity:.8}.web-trading-widget-advanced__container{height:100%;width:100%}.web-trading-widget-root{display:flex;flex-direction:column;height:100%;width:100%;min-height:0;overflow:hidden}.web-trading-widget-trading-layout{display:flex;height:100%;width:100%;flex-direction:column;overflow:hidden;font-family:GIP,sans-serif}.web-trading-widget-trading-layout__body{display:flex;min-height:0;flex:1;flex-direction:column;overflow:hidden}@media(min-width:1024px){.web-trading-widget-trading-layout__body{flex-direction:row}}.web-trading-widget-trading-layout__chart-area{position:relative;display:flex;min-height:0;min-width:0;flex:1;flex-direction:column;overflow:hidden}@media(max-width:1023px){.web-trading-widget-trading-layout__chart-area{flex:1 1 auto;min-height:40vh}}.web-trading-widget-trading-layout__host-chart-slot{position:relative;flex:1 1 auto;min-height:0;min-width:0;height:100%;width:100%}.web-trading-widget-trading-layout__chart-slot{position:relative;min-height:0;flex:1;overflow:hidden}.web-trading-widget-trading-layout--news{position:relative;display:flex;height:100%;width:100%;min-height:0;flex-direction:column;overflow:hidden}.web-trading-widget-trading-layout--news .web-trading-widget-trading-layout__chart-slot{position:relative;display:block;min-height:0;flex:1;overflow:hidden;isolation:isolate}.web-trading-widget-trading-layout--news .web-trading-widget-trading-layout__news-body{position:relative;display:block;min-height:0;height:100%;width:100%;overflow:hidden}.web-trading-widget-trading-layout--news .web-trading-widget-new-order-overlay-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;pointer-events:none;overflow:visible}.web-trading-widget-trading-layout--news .web-trading-widget-new-order-overlay-layer>.web-trading-widget-new-order-overlay{pointer-events:auto}.web-trading-widget-trading-layout--news .web-trading-widget-new-order-overlay{position:absolute;z-index:20;flex:none;align-self:auto;max-width:calc(100% - 2rem)}.web-trading-widget-trading-layout--news .web-trading-widget-new-order-overlay--draggable{top:auto;right:auto;display:block;width:-moz-max-content;width:max-content;height:-moz-max-content;height:max-content}.web-trading-widget-trading-layout--news .web-trading-widget-new-order-overlay--exec-panel>.web-trading-widget-market-panel--modal{width:340px;max-width:100%;flex:none}.web-trading-widget-side-panel{position:relative;display:flex;width:100%;flex-shrink:0;flex-direction:column;overflow:hidden;border-color:var(--border);border-top-width:1px;border-top-style:solid;max-height:42vh;min-height:240px}@media(max-width:1023px){.web-trading-widget-side-panel{height:auto;flex:0 1 auto;max-height:26vh;min-height:132px}.web-trading-widget-side-panel--with-scan{height:42vh;max-height:42vh;min-height:240px}}@media(min-width:1024px){.web-trading-widget-side-panel{height:100%;max-height:none;min-height:0;border-top-width:0;border-left-width:1px;border-left-style:solid;width:min(100%,340px);max-width:340px;flex:none}.web-trading-widget-side-panel--with-scan{min-width:min(340px,40%);max-width:50%;flex:1 1 50%;width:auto}}.web-trading-widget-side-panel__empty{display:flex;height:100%;min-height:200px;align-items:center;justify-content:center;padding:1rem;text-align:center;font-size:.875rem;line-height:1.25rem;color:#64748b}.dark .web-trading-widget-side-panel__empty{color:#94a3b8}.web-trading-widget-side-panel__scan-layout{display:flex;height:100%;min-height:0;flex-direction:column}.web-trading-widget-side-panel__tablist{margin:.5rem;display:flex;width:calc(100% - 1rem);flex-shrink:0;gap:.25rem;border-radius:.5rem;border:1px solid #e5e7eb;padding:.25rem}.dark .web-trading-widget-side-panel__tablist{border-color:#ffffff1a;background-color:#161616}@media(min-width:640px){.web-trading-widget-side-panel__tablist{margin:.75rem;width:calc(100% - 1.5rem)}}.web-trading-widget-side-panel__tab{flex:1;border-bottom:2px solid transparent;padding:.625rem .75rem;font-size:.75rem;line-height:1rem;font-weight:500;transition:color .15s,border-color .15s,background-color .15s;background:transparent;cursor:pointer;color:#6b7280}.web-trading-widget-side-panel__tab:hover{color:#111827}.dark .web-trading-widget-side-panel__tab{color:#ffffff80}.dark .web-trading-widget-side-panel__tab:hover{color:#fffc}@media(min-width:640px){.web-trading-widget-side-panel__tab{font-size:.875rem;line-height:1.25rem}}.web-trading-widget-side-panel__tab--active{border-bottom-color:var(--primary-6);background-color:#fff4e6;color:var(--foreground)}.dark .web-trading-widget-side-panel__tab--active{border-bottom-color:var(--primary-6);background-color:#2a2a2a;color:#fff}.web-trading-widget-side-panel__panels{position:relative;min-height:0;flex:1}.web-trading-widget-side-panel__tabpanel{height:100%;overflow-y:auto}.web-trading-widget-side-panel__tabpanel--scan{position:absolute;top:0;right:0;bottom:0;left:0}.web-trading-widget-side-panel__iframe{height:100%;width:100%;border:0}.web-trading-widget-side-panel__scroll{min-height:0;flex:1;overflow-y:auto}.web-trading-widget-new-order-overlay{pointer-events:auto;position:absolute;width:-moz-fit-content;width:fit-content;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:1}.web-trading-widget-new-order-overlay--dragging{z-index:50}.web-trading-widget-new-order-overlay--news:not(.web-trading-widget-new-order-overlay--draggable){top:1rem;right:1rem;left:auto;z-index:20}.web-trading-widget-new-order-overlay--draggable{top:auto;right:auto}.web-trading-widget-new-order-overlay--exec-panel{display:block;width:-moz-max-content;width:max-content;height:-moz-max-content;height:max-content}.web-trading-widget-new-order-overlay--side-panel{width:min(100%,360px);max-height:calc(100% - 2rem);overflow:auto;border:1px solid var(--border);border-radius:.375rem;background-color:var(--background);box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.web-trading-widget-new-order-overlay--side-panel .web-trading-widget-market-panel{border:none;box-shadow:none}.web-trading-widget-mini-order{-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow:hidden;border-radius:.125rem;border:1px solid color-mix(in srgb,var(--border) 60%,transparent);background-color:var(--background);box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.dark .web-trading-widget-mini-order{border-color:#ffffff14;background-color:#161616}.web-trading-widget-mini-order--expanded{width:340px}.web-trading-widget-mini-order--collapsed{width:-moz-fit-content;width:fit-content}.web-trading-widget-mini-order__row{display:flex;height:28px;align-items:stretch}.web-trading-widget-mini-order__drag-handle{display:flex;width:18px;flex-shrink:0;touch-action:none;align-items:center;justify-content:center;border-right:1px solid color-mix(in srgb,var(--border) 60%,transparent);color:#64748b;transition:color .15s;background:transparent;border-top:none;border-left:none;border-bottom:none;cursor:grab;padding:0}.web-trading-widget-mini-order__drag-handle:hover{color:var(--foreground)}.web-trading-widget-mini-order__drag-handle--grabbing{cursor:grabbing}.dark .web-trading-widget-mini-order__drag-handle{border-right-color:#ffffff0f;color:#fff6}.dark .web-trading-widget-mini-order__drag-handle:hover{color:#fffc}.web-trading-widget-mini-order__side-btn{display:flex;min-width:0;flex:1;align-items:stretch;overflow:hidden;transition:opacity .15s;border:none;padding:0;cursor:pointer}.web-trading-widget-mini-order__side-btn:disabled{opacity:.45;cursor:not-allowed}.web-trading-widget-mini-order__side-btn--sell{background-color:#d94a4a}.web-trading-widget-mini-order__side-btn--sell:hover:not(:disabled){background-color:#c94444}.web-trading-widget-mini-order__side-btn--sell:active:not(:disabled){background-color:#b83d3d}.web-trading-widget-mini-order__side-btn--buy{background-color:#3b82f6}.web-trading-widget-mini-order__side-btn--buy:hover:not(:disabled){background-color:#3575e6}.web-trading-widget-mini-order__side-btn--buy:active:not(:disabled){background-color:#2f6ad6}.web-trading-widget-mini-order__price{display:flex;min-width:0;flex:1;align-items:center;justify-content:center;padding:0 .375rem;font-size:12px;font-weight:400;font-variant-numeric:tabular-nums;line-height:1;color:#fffffff2}.web-trading-widget-mini-order__label{display:flex;width:40px;flex-shrink:0;align-items:center;justify-content:center;font-size:10px;font-weight:600;line-height:1;letter-spacing:.05em;color:#fff}.web-trading-widget-mini-order__label--sell{border-left:1px solid rgba(255,255,255,.15)}.web-trading-widget-mini-order__label--buy{border-right:1px solid rgba(255,255,255,.15)}.web-trading-widget-mini-order__volume{display:flex;width:80px;flex-shrink:0;align-items:stretch;border-left:1px solid color-mix(in srgb,var(--border) 60%,transparent);border-right:1px solid color-mix(in srgb,var(--border) 60%,transparent);background-color:color-mix(in srgb,hsl(210 40% 96.1%) 30%,transparent)}.dark .web-trading-widget-mini-order__volume{border-left-color:#ffffff0f;border-right-color:#ffffff0f;background-color:#1e1e1e}.web-trading-widget-mini-order__volume-btn{display:flex;height:100%;width:1.25rem;flex-shrink:0;align-items:center;justify-content:center;color:#64748b;transition:color .15s;background:transparent;border:none;cursor:pointer;padding:0}.web-trading-widget-mini-order__volume-btn:hover:not(:disabled){color:var(--foreground)}.web-trading-widget-mini-order__volume-btn:disabled{opacity:.4;cursor:not-allowed}.dark .web-trading-widget-mini-order__volume-btn{color:#fff6}.dark .web-trading-widget-mini-order__volume-btn:hover:not(:disabled){color:#fffc}.web-trading-widget-mini-order__volume-input{height:100%;min-width:0;flex:1;border:0;background:transparent;text-align:center;font-size:11px;font-weight:400;font-variant-numeric:tabular-nums;line-height:1;color:var(--foreground);outline:none}.web-trading-widget-mini-order__volume-input:disabled{opacity:.5}.dark .web-trading-widget-mini-order__volume-input{color:#fff}.web-trading-widget-mini-order__toggle{display:flex;width:22px;flex-shrink:0;align-items:center;justify-content:center;border-left:1px solid color-mix(in srgb,var(--border) 60%,transparent);color:#64748b;transition:color .15s;background:transparent;border-top:none;border-right:none;border-bottom:none;cursor:pointer;padding:0}.web-trading-widget-mini-order__toggle:hover{color:var(--foreground)}.dark .web-trading-widget-mini-order__toggle{border-left-color:#ffffff0f;color:#fff6}.dark .web-trading-widget-mini-order__toggle:hover{color:#fffc}.web-trading-widget-market-panel{width:100%;border-radius:.125rem;background-color:var(--background)}.web-trading-widget-market-panel--modal{width:340px;border:1px solid var(--border);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.web-trading-widget-market-panel--collapsed .web-trading-widget-market-panel__header{border-bottom:none}.web-trading-widget-market-panel__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;border-bottom:1px solid var(--border);padding:.25rem .75rem .25rem .5rem}.web-trading-widget-market-panel__drag-handle{display:flex;width:1.75rem;flex-shrink:0;touch-action:none;align-items:center;justify-content:center;align-self:stretch;border-right:1px solid var(--border);color:#64748b;transition:color .15s;background:transparent;border-top:none;border-left:none;border-bottom:none;cursor:grab;padding:0}.web-trading-widget-market-panel__drag-handle:hover{color:var(--foreground)}.web-trading-widget-market-panel__drag-handle--grabbing{cursor:grabbing}.web-trading-widget-market-panel__select-trigger{height:2rem;flex:1;border:0;background-color:transparent;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 0 center;padding-left:0;padding-right:1.25rem;font-size:.875rem;line-height:1.25rem;font-weight:500;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;color:inherit}.web-trading-widget-market-panel__select-trigger:focus{outline:none;box-shadow:none}.web-trading-widget-market-panel__header-actions{display:flex;flex-shrink:0;align-items:center;gap:.25rem}.web-trading-widget-market-panel__header-btn{color:#64748b;background:transparent;border:none;cursor:pointer;padding:0}.web-trading-widget-market-panel__header-btn:hover{color:var(--foreground)}.web-trading-widget-market-panel__accordion{width:100%}.web-trading-widget-market-panel__accordion-item{border-bottom:1px solid var(--border)}.web-trading-widget-market-panel__accordion-trigger{display:flex;width:100%;align-items:center;justify-content:space-between;border:none;background:transparent;cursor:pointer;color:inherit;padding:.625rem .75rem;font-size:.875rem;line-height:1.25rem;font-weight:500}.web-trading-widget-market-panel__accordion-trigger:hover{text-decoration:none}.web-trading-widget-market-panel__accordion-trigger>svg{flex-shrink:0;transition:transform .2s}.web-trading-widget-market-panel__accordion-trigger[data-state=open]>svg,.web-trading-widget-market-panel__accordion-trigger--open>svg{transform:rotate(180deg)}.web-trading-widget-market-panel__accordion-content{display:flex;flex-direction:column;gap:.75rem;padding:0 .75rem .75rem}.web-trading-widget-market-panel__grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.web-trading-widget-market-panel__field{display:flex;flex-direction:column;gap:.25rem}.web-trading-widget-market-panel__field-label{font-size:.75rem;line-height:1rem;color:#64748b}.dark .web-trading-widget-market-panel__field-label{color:#94a3b8}.web-trading-widget-market-panel__select-full{height:2.25rem;width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border-radius:.375rem;border:1px solid var(--input);background-color:transparent;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding:0 2rem 0 .75rem;font-size:.875rem;line-height:1.25rem;color:inherit}.web-trading-widget-market-panel__select-full:focus{outline:none;box-shadow:0 0 0 1px var(--border)}.dark .web-trading-widget-market-panel__select-full{border-color:var(--gray-3)}.web-trading-widget-market-panel__input{display:flex;height:2.25rem;width:100%;border-radius:.375rem;border:1px solid var(--input);background-color:transparent;padding:.25rem .75rem;font-size:.875rem;line-height:1.25rem;color:inherit}.web-trading-widget-market-panel__input:focus-visible{outline:none;box-shadow:0 0 0 1px var(--border)}.dark .web-trading-widget-market-panel__input{border-color:var(--gray-3)}.web-trading-widget-market-panel__footer{padding:.75rem}.web-trading-widget-market-panel__quotes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;background-color:#f0f9ff;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;font-weight:500;color:#dc2626}.dark .web-trading-widget-market-panel__quotes{background-color:#1c1c1c}.web-trading-widget-market-panel__quotes-ask{text-align:right}.web-trading-widget-market-panel__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.web-trading-widget-market-panel__sell-btn{height:2.5rem;width:100%;border:none;border-radius:0;background-color:#ea4c4c;font-size:.875rem;line-height:1.25rem;font-weight:600;color:#fff;cursor:pointer}.web-trading-widget-market-panel__sell-btn:hover:not(:disabled){background-color:#c74141}.web-trading-widget-market-panel__buy-btn{height:2.5rem;width:100%;border:none;border-radius:0;background-color:#3183ff;font-size:.875rem;line-height:1.25rem;font-weight:600;color:#fff;cursor:pointer}.web-trading-widget-market-panel__buy-btn:hover:not(:disabled){background-color:#296fd9}.web-trading-widget-market-panel__place-btn{height:2.5rem;width:100%;border:none;border-radius:0;font-size:.875rem;line-height:1.25rem;font-weight:600;cursor:pointer}.web-trading-widget-market-panel__place-btn--buy{background-color:#2563eb;color:#fff}.web-trading-widget-market-panel__place-btn--buy:hover:not(:disabled){background-color:#1d4ed8}.web-trading-widget-market-panel__place-btn--sell{background-color:#ef4444;color:#fff}.web-trading-widget-market-panel__place-btn--sell:hover:not(:disabled){background-color:#ed2c2c}.web-trading-widget-market-panel__sell-btn:disabled,.web-trading-widget-market-panel__buy-btn:disabled,.web-trading-widget-market-panel__place-btn:disabled{opacity:.5;cursor:not-allowed}.web-trading-widget-detail-panel{width:100%;border-radius:.125rem;border-bottom:1px solid var(--border);background-color:var(--background)}.web-trading-widget-detail-panel__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;border-bottom:1px solid var(--border);padding:.5rem .75rem}.web-trading-widget-detail-panel__title{font-size:.875rem;line-height:1.375;text-transform:capitalize}.web-trading-widget-detail-panel__title--buy{color:#2563eb}.web-trading-widget-detail-panel__title--sell{color:#dc2626}.web-trading-widget-detail-panel__title--position{color:#2563eb;text-transform:none}.web-trading-widget-detail-panel__body{display:flex;flex-direction:column;gap:.75rem;padding:.75rem}.web-trading-widget-detail-panel__input-muted{background-color:color-mix(in srgb,hsl(210 40% 96.1%) 50%,transparent)}.dark .web-trading-widget-detail-panel__input-muted{background-color:color-mix(in srgb,hsl(217.2 32.6% 17.5%) 50%,transparent)}.web-trading-widget-detail-panel__btn-full{height:2.5rem;width:100%;border-radius:.375rem;border:1px solid var(--input);background-color:transparent;font-size:.875rem;line-height:1.25rem;font-weight:500;color:var(--foreground);cursor:pointer}.web-trading-widget-detail-panel__btn-full:hover:not(:disabled){opacity:.8}.web-trading-widget-detail-panel__btn-full:disabled{cursor:not-allowed;opacity:.5}.dark .web-trading-widget-detail-panel__btn-full{border-color:#ffffff1a}.web-trading-widget-detail-panel__action-btn{height:auto;min-height:2.5rem;width:100%;white-space:normal;padding-top:.5rem;padding-bottom:.5rem;text-align:left;font-size:.875rem;line-height:1.25rem;font-weight:600;color:#fff;background-color:#f97316;border:none;border-radius:.375rem;cursor:pointer}.web-trading-widget-detail-panel__action-btn:hover:not(:disabled){background-color:#ea580c}.web-trading-widget-confirmation{width:100%;border-radius:.125rem;background-color:var(--background)}.web-trading-widget-confirmation__close-row{display:flex;justify-content:flex-end;padding:.5rem}.web-trading-widget-confirmation__close-btn{color:#2563eb;background:transparent;border:none;cursor:pointer;padding:0}.web-trading-widget-confirmation__close-btn:hover{color:#1d4ed8}.web-trading-widget-confirmation__body{display:flex;flex-direction:column;gap:.75rem;padding:0 1rem 1rem}.web-trading-widget-confirmation__summary{font-size:.875rem;line-height:1.375;color:var(--foreground)}.web-trading-widget-confirmation__ticket,.web-trading-widget-confirmation__side{font-weight:500}.web-trading-widget-confirmation__side--sell{color:#dc2626}.web-trading-widget-confirmation__side--buy{color:#2563eb}.web-trading-widget-confirmation__price{font-size:.875rem;line-height:1.25rem;color:#64748b}.dark .web-trading-widget-confirmation__price{color:#94a3b8}.web-trading-widget-confirmation__status{font-size:1rem;line-height:1.5rem;font-weight:500;color:#16a34a}.web-trading-widget-confirmation__ok-btn{height:2.5rem;width:100%;background-color:#2563eb;color:#fff;border:none;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer}.web-trading-widget-confirmation__ok-btn:hover:not(:disabled){background-color:#1d4ed8}.web-trading-widget-account-modal{display:flex;flex-direction:column;gap:1rem}@media(min-width:640px){.web-trading-widget-account-modal{max-width:28rem}}.web-trading-widget-account-modal__loading{font-size:.875rem;line-height:1.25rem;color:#64748b}.dark .web-trading-widget-account-modal__loading{color:#94a3b8}.web-trading-widget-account-modal__error{font-size:.875rem;line-height:1.25rem;color:#ef4444}.web-trading-widget-account-modal__select{height:2.5rem;width:100%}.web-trading-widget-badge{display:inline-flex;align-items:center;border-radius:.375rem;border:1px solid transparent;padding:.125rem .625rem;font-size:.75rem;line-height:1rem;font-weight:600}.web-trading-widget-badge--destructive{background-color:#ef4444;color:#f8fafc}.web-trading-widget-badge--secondary{background-color:var(--secondary);color:var(--secondary-foreground)}.web-trading-widget-badge--outline{border-color:var(--border);color:var(--foreground)}.web-trading-widget-dialog{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:1rem}.web-trading-widget-dialog__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background-color:color-mix(in srgb,var(--background) 80%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.web-trading-widget-dialog__content{position:relative;z-index:1;width:100%;max-width:32rem;border-radius:1rem;border:1px solid var(--border);background-color:var(--background);padding:1.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.web-trading-widget-dialog__header{display:flex;flex-direction:column;gap:.375rem;border-bottom:1px solid var(--border);padding-bottom:1rem;margin-bottom:1rem}.web-trading-widget-dialog__title{margin:0;font-size:1.125rem;line-height:1.75rem;font-weight:600;color:var(--foreground)}.web-trading-widget-dialog__description{margin:0;font-size:.875rem;line-height:1.25rem;color:#64748b}.dark .web-trading-widget-dialog__description{color:#94a3b8}.web-trading-widget-dialog__footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:1rem}.web-trading-widget-btn{display:inline-flex;align-items:center;justify-content:center;height:2.25rem;border-radius:.375rem;border:1px solid transparent;padding:0 1rem;font-size:.875rem;line-height:1.25rem;font-weight:500;cursor:pointer;transition:opacity .15s,background-color .15s}.web-trading-widget-btn:hover:not(:disabled){opacity:.9}.web-trading-widget-btn:disabled{cursor:not-allowed;opacity:.5}.web-trading-widget-btn--primary{background-color:var(--primary);color:var(--primary-foreground)}.web-trading-widget-btn--outline{border-color:var(--input);background-color:transparent;color:var(--foreground)}.dark .web-trading-widget-btn--outline{border-color:#ffffff1a}.web-trading-widget-toast-viewport{position:fixed;right:1rem;top:1rem;z-index:100;display:flex;width:min(24rem,calc(100vw - 2rem));flex-direction:column;gap:.5rem;pointer-events:none}.web-trading-widget-toast{pointer-events:auto;display:flex;align-items:flex-start;gap:.5rem;border-radius:.5rem;border:1px solid var(--border);background-color:var(--background);padding:.75rem 1rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.web-trading-widget-toast__content{flex:1 1 auto;min-width:0}.web-trading-widget-toast__close{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;margin:-.125rem -.25rem 0 0;padding:0;border:none;border-radius:.25rem;background:transparent;color:currentColor;opacity:.6;cursor:pointer;transition:opacity .15s ease,background-color .15s ease}.web-trading-widget-toast__close:hover{opacity:1;background-color:#00000014}.web-trading-widget-toast__close:focus-visible{outline:2px solid var(--ring, currentColor);outline-offset:1px;opacity:1}.web-trading-widget-toast--destructive{border-color:#ef4444;background-color:#ef4444;color:#f8fafc}.web-trading-widget-toast__title{margin:0;font-size:.875rem;line-height:1.25rem;font-weight:600}.web-trading-widget-toast__description{font-size:.875rem;line-height:1.25rem}.web-trading-widget-stepper{display:flex;flex-direction:column;gap:.25rem}.web-trading-widget-stepper__header{display:flex;align-items:center;justify-content:space-between;gap:.25rem}.web-trading-widget-stepper__label{font-size:.75rem;line-height:1rem;color:#64748b}.dark .web-trading-widget-stepper__label{color:#94a3b8}.web-trading-widget-stepper__clear{color:#64748b;background:transparent;border:none;cursor:pointer;padding:0}.web-trading-widget-stepper__clear:hover:not(:disabled){color:var(--foreground)}.web-trading-widget-stepper__clear:disabled{opacity:.4}.web-trading-widget-stepper__control{display:flex;align-items:center;overflow:hidden;border-radius:.375rem;border:1px solid hsl(214.3 31.8% 91.4%);background-color:var(--background)}.dark .web-trading-widget-stepper__control{border-color:#1e293b}.web-trading-widget-stepper__control--disabled{opacity:.6}.web-trading-widget-stepper__btn{display:flex;height:2.25rem;width:2.25rem;flex-shrink:0;align-items:center;justify-content:center;border:none;background:transparent;cursor:pointer;padding:0}.web-trading-widget-stepper__btn--minus{border-right:1px solid hsl(214.3 31.8% 91.4%)}.web-trading-widget-stepper__btn--plus{border-left:1px solid hsl(214.3 31.8% 91.4%)}.dark .web-trading-widget-stepper__btn--minus,.dark .web-trading-widget-stepper__btn--plus{border-color:#1e293b}.web-trading-widget-stepper__btn:hover:not(:disabled){background-color:#f1f5f9}.dark .web-trading-widget-stepper__btn:hover:not(:disabled){background-color:#1e293b}.web-trading-widget-stepper__btn:disabled{opacity:.4;cursor:not-allowed}.web-trading-widget-stepper__input{height:2.25rem;min-width:0;flex:1;border:0;background:transparent;padding:0 .5rem;text-align:center;font-size:.875rem;line-height:1.25rem;outline:none}.web-trading-widget-stepper__input:focus-visible{outline:none}.web-trading-widget-stepper__input:disabled{cursor:not-allowed}.web-trading-widget-terminal-resize-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;cursor:row-resize;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.web-trading-widget-terminal{position:relative;z-index:1;display:flex;flex-shrink:0;flex-direction:column;overflow:hidden;border-top:1px solid var(--border);background-color:var(--background);font-size:.75rem;line-height:1rem;color:var(--foreground)}.dark .web-trading-widget-terminal{background-color:#000;color:#fff}@media(max-width:1023px){.web-trading-widget-terminal:not(.web-trading-widget-terminal--embedded){max-height:26vh}}.web-trading-widget-terminal__resize-bar-wrap{display:flex;flex-shrink:0;align-items:stretch;border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent)}.dark .web-trading-widget-terminal__resize-bar-wrap{border-bottom-color:#ffffff1a}.web-trading-widget-terminal__resize-bar{display:flex;min-height:20px;flex:1;cursor:row-resize;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;justify-content:center;padding-top:.125rem;padding-bottom:.125rem}.web-trading-widget-terminal__resize-icon{color:#64748b}.dark .web-trading-widget-terminal__resize-icon{color:#ffffff80}.web-trading-widget-terminal__header-scroll{flex-shrink:0;overflow-x:auto}.web-trading-widget-terminal__toolbar{display:flex;flex-shrink:0;align-items:center;border-bottom:1px solid var(--border)}.dark .web-trading-widget-terminal__toolbar{border-bottom-color:#ffffff1a}.web-trading-widget-terminal__tab-bar{display:flex;flex-shrink:0;align-items:stretch;border-bottom:1px solid var(--border)}.dark .web-trading-widget-terminal__tab-bar{border-bottom-color:#ffffff1a}.web-trading-widget-terminal__tab-btn{flex-shrink:0;height:2rem;padding:0 .75rem;font-size:.75rem;line-height:1rem;white-space:nowrap;border:none;border-bottom:2px solid transparent;background:transparent;color:#64748b;cursor:pointer;transition:color .15s,border-color .15s}.web-trading-widget-terminal__tab-btn:hover{color:var(--foreground)}.dark .web-trading-widget-terminal__tab-btn{color:#fff9}.dark .web-trading-widget-terminal__tab-btn:hover{color:#fff}.web-trading-widget-terminal__tab-btn--active{border-bottom-color:var(--primary);color:var(--foreground)}.dark .web-trading-widget-terminal__tab-btn--active{color:#fff}.web-trading-widget-terminal__deals-wrap{display:flex;min-height:0;flex:1;flex-direction:column;overflow:hidden}.web-trading-widget-terminal__deals-table{width:100%;min-width:1100px;table-layout:fixed;border-collapse:collapse}.web-trading-widget-terminal__deals-footer{display:flex;align-items:center;justify-content:center;min-width:1100px;padding:.75rem 1rem;border-top:1px solid var(--border)}.dark .web-trading-widget-terminal__deals-footer{border-top-color:#ffffff1a}.web-trading-widget-terminal__deals-detail-btn{font-size:.75rem;font-weight:500;color:var(--primary);text-decoration:none;padding:.25rem .75rem;border-radius:var(--radius);transition:background-color .15s}.web-trading-widget-terminal__deals-detail-btn:hover{background-color:color-mix(in srgb,var(--primary) 10%,transparent)}.web-trading-widget-terminal__deals-row{border-bottom:1px solid var(--border)}.dark .web-trading-widget-terminal__deals-row{border-bottom-color:#ffffff1a}.web-trading-widget-terminal__skeleton-row{border-bottom:1px solid var(--border)}.dark .web-trading-widget-terminal__skeleton-row{border-bottom-color:#ffffff1a}.web-trading-widget-terminal__skeleton-bar{height:.75rem;width:4rem;border-radius:.25rem;background-color:color-mix(in srgb,var(--border) 60%,transparent);animation:web-trading-widget-skeleton-pulse 1.4s ease-in-out infinite}.web-trading-widget-terminal__skeleton-bar--wide{width:8rem}@keyframes web-trading-widget-skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}.web-trading-widget-terminal__toolbar-actions{display:flex;margin-left:auto;align-items:center;justify-content:flex-end;gap:.5rem;padding-right:.75rem}.web-trading-widget-terminal__close-all-btn{margin-left:.5rem;height:2rem;border-radius:.125rem;padding:0 .75rem;font-size:.75rem;line-height:1rem;color:#dc2626;background:transparent;border:none;cursor:pointer;transition:opacity .15s}.web-trading-widget-terminal__close-all-btn:hover:not(:disabled){opacity:.6}.web-trading-widget-terminal__close-all-btn:disabled{cursor:not-allowed;opacity:.5}.dark .web-trading-widget-terminal__close-all-btn{color:#f87171}.web-trading-widget-terminal__refetch-btn{display:inline-flex;align-items:center;gap:.375rem;margin-left:.5rem;height:2rem;border-radius:.125rem;padding:0 .75rem;font-size:.75rem;line-height:1rem;color:var(--foreground);background:transparent;border:none;cursor:pointer;transition:opacity .15s}.web-trading-widget-terminal__refetch-btn:hover:not(:disabled){opacity:.6}.web-trading-widget-terminal__refetch-btn:disabled{cursor:not-allowed;opacity:.5}.web-trading-widget-terminal__refetch-icon--spinning{animation:web-trading-widget-refetch-spin 1s linear infinite}@keyframes web-trading-widget-refetch-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.web-trading-widget-terminal__toolbar-profit{font-size:.75rem;line-height:1rem;font-weight:500;font-variant-numeric:tabular-nums;color:var(--foreground)}.dark .web-trading-widget-terminal__toolbar-profit{color:#fff}.web-trading-widget-terminal__body-scroll{min-height:0;flex:1;overflow:auto}.web-trading-widget-terminal__table{width:100%;min-width:1060px;table-layout:fixed;border-collapse:collapse}.web-trading-widget-terminal__cell{padding:.375rem .5rem}.web-trading-widget-terminal__cell--left{text-align:left}.web-trading-widget-terminal__cell--right{text-align:right}.web-trading-widget-terminal__cell--nowrap{white-space:nowrap}.web-trading-widget-terminal__cell--truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.web-trading-widget-terminal__cell--capitalize{text-transform:capitalize}.web-trading-widget-terminal__cell--close{width:2rem;padding:.375rem .25rem}.web-trading-widget-terminal__head-row{color:#64748b}.dark .web-trading-widget-terminal__head-row{color:#ffffffb3}.web-trading-widget-terminal__head-cell{font-weight:400;white-space:nowrap}.web-trading-widget-terminal-col--symbol{width:88px}.web-trading-widget-terminal-col--ticket{width:72px}.web-trading-widget-terminal-col--time{width:148px}.web-trading-widget-terminal-col--type{width:56px}.web-trading-widget-terminal-col--volume{width:88px}.web-trading-widget-terminal-col--price{width:80px}.web-trading-widget-terminal-col--sl,.web-trading-widget-terminal-col--tp{width:72px}.web-trading-widget-terminal-col--price2{width:80px}.web-trading-widget-terminal-col--swap{width:100px}.web-trading-widget-terminal-col--profit{width:88px}.web-trading-widget-terminal-col--close{width:2rem}.web-trading-widget-terminal__row{cursor:pointer;border-bottom:1px solid var(--border)}.web-trading-widget-terminal__row:hover{background-color:color-mix(in srgb,hsl(210 40% 96.1%) 30%,transparent)}.dark .web-trading-widget-terminal__row{border-bottom-color:#ffffff1a}.dark .web-trading-widget-terminal__row:hover{background-color:#ffffff0d}.web-trading-widget-terminal__row--selected{background-color:#f0f9ff}.dark .web-trading-widget-terminal__row--selected{background-color:#ffffff1a}.web-trading-widget-terminal__empty-cell{padding-top:2rem;padding-bottom:2rem;text-align:center;color:#64748b}.dark .web-trading-widget-terminal__empty-cell{color:#ffffff80}.web-trading-widget-terminal__empty-inner{display:flex;flex-direction:column;align-items:center;gap:.75rem}.web-trading-widget-terminal__empty-text{color:#64748b}.dark .web-trading-widget-terminal__empty-text{color:#ffffffb3}.web-trading-widget-terminal__create-btn{background-color:var(--primary);padding:.375rem 1rem;color:#fff;transition:background-color .15s;border:none;cursor:pointer}.web-trading-widget-terminal__create-btn:hover{background-color:color-mix(in srgb,var(--primary) 90%,transparent)}.dark .web-trading-widget-terminal__create-btn{background-color:#333638;color:var(--primary)}.web-trading-widget-terminal__row-close-btn{display:inline-flex;height:1.5rem;width:1.5rem;align-items:center;justify-content:center;border-radius:.125rem;color:#64748b;transition:color .15s,background-color .15s;background:transparent;border:none;cursor:pointer;padding:0}.web-trading-widget-terminal__row-close-btn:hover:not(:disabled){background-color:#fef2f2;color:#dc2626}.web-trading-widget-terminal__row-close-btn:disabled{cursor:not-allowed;opacity:.5}.dark .web-trading-widget-terminal__row-close-btn{color:#ffffff80}.dark .web-trading-widget-terminal__row-close-btn:hover:not(:disabled){background-color:#ef444433;color:#f87171}.web-trading-widget-terminal__stats{flex-shrink:0;border-top:1px solid var(--border);color:#64748b}.dark .web-trading-widget-terminal__stats{border-top-color:#ffffff1a;color:#fffc}.web-trading-widget-terminal__stats-row{display:flex;flex-wrap:wrap;align-items:center;-moz-column-gap:1.5rem;column-gap:1.5rem;row-gap:.25rem}.web-trading-widget-terminal__stats-row--tabular{font-variant-numeric:tabular-nums}.web-trading-widget-terminal__stats-profit{margin-left:auto;color:var(--foreground)}.dark .web-trading-widget-terminal__stats-profit{color:#fff}.web-trading-widget-market-watch-resize-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;cursor:col-resize;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.web-trading-widget-market-watch{position:relative;z-index:1;display:flex;height:100%;flex-shrink:0;background-color:var(--background)}.web-trading-widget-market-watch__resize-rail{display:flex;width:1rem;flex-shrink:0;flex-direction:column;align-items:center;border-left:1px solid var(--border);background-color:var(--background)}.web-trading-widget-market-watch__resize-handle{display:flex;min-height:48px;width:100%;flex:1;cursor:col-resize;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;justify-content:center}.web-trading-widget-market-watch__resize-icon{color:#64748b}.dark .web-trading-widget-market-watch__resize-icon{color:#ffffff80}.web-trading-widget-market-watch__content{display:flex;min-width:0;flex:1;flex-direction:column}.web-trading-widget-market-watch__search-wrap{border-bottom:1px solid var(--border);padding:.5rem}.web-trading-widget-market-watch__search-field{position:relative}.web-trading-widget-market-watch__search-icon{pointer-events:none;position:absolute;left:.5rem;top:50%;transform:translateY(-50%);color:#64748b}.web-trading-widget-market-watch__search-input{height:2rem;padding-left:2rem;font-size:.75rem;line-height:1rem}.web-trading-widget-market-watch__list{min-height:0;flex:1;overflow-y:auto}.web-trading-widget-market-watch__table{width:100%;border-collapse:collapse;font-size:.75rem;line-height:1rem}.web-trading-widget-market-watch__thead{position:sticky;top:0;z-index:1;background-color:var(--background)}.web-trading-widget-market-watch__head-row{border-bottom:1px solid var(--border);color:#64748b}.web-trading-widget-market-watch__th{padding:.375rem .5rem;font-weight:500}.web-trading-widget-market-watch__th--left{text-align:left}.web-trading-widget-market-watch__th--right{text-align:right}.web-trading-widget-market-watch__row{cursor:pointer;border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent)}.web-trading-widget-market-watch__row:hover{background-color:color-mix(in srgb,hsl(210 40% 96.1%) 40%,transparent)}.web-trading-widget-market-watch__row--active{background-color:#f0f9ff}.dark .web-trading-widget-market-watch__row--active{background-color:#0ea5e966}.web-trading-widget-market-watch__td{padding:.375rem .5rem}.web-trading-widget-market-watch__td--symbol{font-weight:500}.web-trading-widget-market-watch__td--quote{text-align:right;font-variant-numeric:tabular-nums}.web-trading-widget-market-watch__quote--neutral{color:var(--foreground)}.web-trading-widget-market-watch__quote--muted{color:#64748b}.dark .web-trading-widget-market-watch__quote--muted{color:#94a3b8}.web-trading-widget-news-orders-overlay-root{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;overflow:visible;pointer-events:none}.web-trading-widget-news-orders-overlay-root .web-trading-widget-news-orders-overlay__trigger,.web-trading-widget-news-orders-overlay-root .web-trading-widget-news-orders__panel{pointer-events:auto}.web-trading-widget-news-orders__panel{position:absolute;left:0;right:0;bottom:0;z-index:50;display:flex;width:100%;min-height:0;flex-direction:column;overflow:hidden;pointer-events:auto;border-top:1px solid var(--border);background-color:var(--background);box-shadow:0 -8px 24px #0000002e}.dark .web-trading-widget-news-orders__panel{background-color:#000;box-shadow:0 -8px 24px #00000073}.web-trading-widget-news-orders__panel-resize-bar-wrap{display:flex;width:100%;flex-shrink:0;align-items:stretch;border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent)}.dark .web-trading-widget-news-orders__panel-resize-bar-wrap{border-bottom-color:#ffffff1a}.web-trading-widget-news-orders__panel-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;gap:.75rem;border-bottom:1px solid var(--border);padding:.625rem .75rem}.web-trading-widget-news-orders__panel-title{margin:0;font-size:.9375rem;font-weight:600;line-height:1.25;color:var(--foreground)}.web-trading-widget-news-orders__panel-close{display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:#64748b;cursor:pointer;padding:.25rem}.web-trading-widget-news-orders__panel-close:hover{color:var(--foreground)}.dark .web-trading-widget-news-orders__panel-close{color:#ffffff8c}.dark .web-trading-widget-news-orders__panel-close:hover{color:#fff}.web-trading-widget-news-orders__panel-body{display:flex;min-height:0;flex:1;flex-direction:column;overflow:hidden}.web-trading-widget-news-orders__panel-body .web-trading-widget-terminal--embedded{flex:1;min-height:0;height:100%}.web-trading-widget-news-orders__table{display:flex;min-height:0;flex:1;flex-direction:column;overflow:hidden;font-size:.75rem;line-height:1rem;color:var(--foreground)}.web-trading-widget-news-orders__table .web-trading-widget-terminal__header-scroll{flex-shrink:0;overflow-x:auto}.web-trading-widget-news-orders__table .web-trading-widget-terminal__body-scroll{min-height:0;flex:1;overflow:auto}.web-trading-widget-news-orders-overlay__trigger{position:absolute;left:1rem;bottom:1rem;z-index:40;pointer-events:auto;display:inline-flex;align-items:center;gap:.5rem;border-radius:9999px;border:1px solid var(--border);background-color:var(--background);padding:.5rem .875rem;font-size:.8125rem;font-weight:600;line-height:1;color:var(--foreground);box-shadow:0 4px 12px #0000001f;cursor:pointer}.web-trading-widget-news-orders-overlay__trigger:hover{background-color:var(--muted)}.dark .web-trading-widget-news-orders-overlay__trigger{background-color:#141414;box-shadow:0 4px 12px #0006}.web-trading-widget-news-orders-overlay__badge{display:inline-flex;min-width:1.25rem;align-items:center;justify-content:center;border-radius:9999px;background-color:var(--primary);padding:.125rem .375rem;font-size:.6875rem;font-weight:600;color:var(--primary-foreground)}`)),document.head.appendChild(e)}}catch(r){console.error("vite-plugin-css-injected-by-js",r)}})();
|
|
2
|
+
"use strict";var Ml=Object.defineProperty;var ro=e=>{throw TypeError(e)};var Ul=(e,t,n)=>t in e?Ml(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Je=(e,t,n)=>Ul(e,typeof t!="symbol"?t+"":t,n),wi=(e,t,n)=>t.has(e)||ro("Cannot "+n);var _=(e,t,n)=>(wi(e,t,"read from private field"),n?n.call(e):t.get(e)),ee=(e,t,n)=>t.has(e)?ro("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),B=(e,t,n,r)=>(wi(e,t,"write to private field"),r?r.call(e,n):t.set(e,n),n),ue=(e,t,n)=>(wi(e,t,"access private method"),n);var wr=(e,t,n,r)=>({set _(i){B(e,t,i,n)},get _(){return _(e,t,r)}});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react/jsx-runtime"),p=require("react");function Il(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const Ie=Il(p),Fl=["en","zh","vi","th","ko","ja","mn","ru"],Fr="en";function ri(e){if(!e)return Fr;const t=e.toLowerCase().split("-")[0];return Fl.includes(t)?t:Fr}const Bl={en:"en",zh:"zh",vi:"vi",th:"th",ko:"ko",ja:"ja",mn:"en",ru:"ru"};function Wl(e){return Bl[e]}const $l={symbol:"Symbol",back:"Back",continue:"Continue",error:"Error",selectTradingAccount:"Select trading account",selectAccountDescription:"Choose an account to continue trading on the chart.",loadingAccounts:"Loading accounts…",noTradingAccounts:"No trading accounts available.",selectAccount:"Select account",createAccount:"Create account",ticket:"Ticket",serverTime:"Server time",type:"Type",volume:"Volume",price:"Price",stopLossShort:"S / L",takeProfitShort:"T / P",swap:"Swap",profit:"Profit",comment:"Comment",close:"Close",balance:"Balance",equity:"Equity",margin:"Margin",freeMargin:"Free margin",level:"Level",trade:"Trade",history:"History",terminalPanelTabs:"Terminal panel tabs",closeAll:"Close all",closing:"Closing…",refresh:"Refresh",refreshing:"Refreshing…",refreshDealHistory:"Refresh deal history",notAvailable:"N/A",closePositionTicket:"Close position #{ticket}",closePosition:"Close position",deleteOrderTicket:"Delete order #{ticket}",deleteOrder:"Delete order",resizeTerminalPanel:"Resize terminal panel",loading:"Loading…",noPositions:"You don't have any positions",createNewOrder:"Create New Order",chartSidePanel:"Chart side panel",scanResult:"Scan Result",openTerminal:"Open terminal",orders:"Orders",terminal:"Terminal",closeTerminalPanel:"Close terminal panel",buy:"Buy",sell:"Sell",balanceType:"Balance",credit:"Credit",deal:"Deal",login:"Login",action:"Action",entry:"Entry",time:"Time",localTime:"Local time",entryIn:"IN",entryOut:"OUT",selectAccountForDeals:"Select an account to view deal history",noDealsFound:"No deals found",seeFullDealHistory:"See full deal history",unknownAction:"Action {action}",failedClosePosition:"Failed to close position.",positionClosed:"Position #{ticket} closed at {price}.",closePositionNotConfigured:"Close position is not configured.",onePositionClosed:"1 position closed.",positionsClosed:"{count} positions closed.",failedClosePositions:"Failed to close positions.",closedFailedSummary:"Closed {closed}, failed {failed}.",failedDeleteOrder:"Failed to delete order.",orderDeleted:"Order #{ticket} deleted.",positionUpdated:"Position #{ticket} updated.",stopLoss:"Stop Loss",takeProfit:"Take Profit",stopPrice:"Stop Price",limitPrice:"Limit Price",volumeSetting:"Volume Setting",riskManagement:"Risk Management",expiration:"Expiration",orderExecutionType:"Order execution type",orderExpirationType:"Order expiration type",expirationTime:"Expiration time",expirationDay:"Expiration day",placed:"Placed",closeConfirmation:"Close confirmation",closePositionPanel:"Close position panel",closeOrderPanel:"Close order panel",minimizeToQuickOrder:"Minimize to quick order panel",moveQuickOrderPanel:"Move quick order panel",decreaseVolume:"Decrease volume",increaseVolume:"Increase volume",expandQuickOrderPanel:"Expand quick order panel",collapseQuickOrderPanel:"Collapse quick order panel",searchSymbol:"Search symbol",bid:"Bid",ask:"Ask",lots:"Lots",orderPrice:"Order Price",sellByMarket:"Sell by Market",buyByMarket:"Buy by Market",placeOrder:"Place {label}",selectAccountToTrade:"Select a trading account to start placing orders.",executionMarket:"Market Execution",executionBuyLimit:"Buy Limit",executionSellLimit:"Sell Limit",executionBuyStop:"Buy Stop",executionSellStop:"Sell Stop",executionBuyStopLimit:"Buy Stop Limit",executionSellStopLimit:"Sell Stop Limit",expirationGtc:"GTC",expirationToday:"Today",expirationSpecified:"Specified",expirationSpecifiedDay:"Specified Day",ok:"OK",orderAtPrice:"at {price}",modify:"Modify",failedModifyPosition:"Failed to modify position.",failedModifyOrder:"Failed to modify order.",positionClosedSimple:"Position #{ticket} closed.",orderUpdated:"Order #{ticket} updated.",closePositionDetail:"Close #{ticket} {type} {volume} {symbol} {openPrice} at {closePrice} with Profit {profit}",deleteOrderDetail:"Delete #{ticket} {typeLabel} {volume} {symbol} at {price}",pleaseSelectTradingAccount:"Please select a trading account.",pleaseSetLimitPrice:"Please set a limit price for this order.",pleaseSetOrderPrice:"Please set an order price for pending orders.",pleaseSetStopPrice:"Please set a stop price for stop limit orders.",pleaseSetExpirationDate:"Please set an expiration date for this order.",pleaseSetStopAndLimitPrices:"Please set both stop and limit prices.",failedPlaceOrder:"Failed to place order.",orderNotAccepted:"Order was not accepted.",newOrder:"New Order",selectYourTradingAccount:"Select your trading account",switchingAccount:"Switching account…",activeAccount:"Active"},Vl={WebTrading:$l},Hl={symbol:"代码",back:"返回",continue:"继续",error:"错误",selectTradingAccount:"选择交易账户",selectAccountDescription:"选择一个账户以继续在图表上交易。",loadingAccounts:"正在加载账户…",noTradingAccounts:"暂无可用交易账户。",selectAccount:"选择账户",createAccount:"创建账户",ticket:"订单号",serverTime:"服务器时间",type:"类型",volume:"交易量",price:"价格",stopLossShort:"止损",takeProfitShort:"止盈",swap:"隔夜利息",profit:"利润",comment:"备注",close:"关闭",balance:"余额",equity:"净值",margin:"保证金",freeMargin:"可用保证金",level:"等级",trade:"交易",history:"历史",terminalPanelTabs:"终端面板标签",closeAll:"全部关闭",closing:"正在关闭…",refresh:"刷新",refreshing:"正在刷新…",refreshDealHistory:"刷新交易历史",notAvailable:"不适用",closePositionTicket:"关闭仓位 #{ticket}",closePosition:"关闭仓位",deleteOrderTicket:"删除订单 #{ticket}",deleteOrder:"删除订单",resizeTerminalPanel:"调整终端面板大小",loading:"正在加载…",noPositions:"您当前没有任何仓位",createNewOrder:"创建新订单",chartSidePanel:"图表侧边栏",scanResult:"扫描结果",openTerminal:"打开终端",orders:"订单",terminal:"终端",closeTerminalPanel:"关闭终端面板",buy:"买入",sell:"卖出",balanceType:"余额",credit:"信用额",deal:"成交",login:"登录",action:"操作",entry:"入场",time:"时间",localTime:"本地时间",entryIn:"入",entryOut:"出",selectAccountForDeals:"选择一个账户查看交易历史",noDealsFound:"未找到交易记录",seeFullDealHistory:"查看完整交易历史",unknownAction:"操作 {action}",failedClosePosition:"关闭仓位失败。",positionClosed:"仓位 #{ticket} 已在 {price} 关闭。",closePositionNotConfigured:"关闭仓位功能未配置。",onePositionClosed:"已关闭 1 个仓位。",positionsClosed:"已关闭 {count} 个仓位。",failedClosePositions:"关闭仓位失败。",closedFailedSummary:"已关闭 {closed} 个,失败 {failed} 个。",failedDeleteOrder:"删除订单失败。",orderDeleted:"订单 #{ticket} 已删除。",positionUpdated:"仓位 #{ticket} 已更新。",stopLoss:"止损",takeProfit:"止盈",stopPrice:"止损价格",limitPrice:"限价",volumeSetting:"交易量设置",riskManagement:"风险管理",expiration:"到期时间",orderExecutionType:"订单执行类型",orderExpirationType:"订单到期类型",expirationTime:"到期时间",expirationDay:"到期日期",placed:"已提交",closeConfirmation:"关闭确认",closePositionPanel:"关闭仓位面板",closeOrderPanel:"关闭订单面板",minimizeToQuickOrder:"最小化到快速下单面板",moveQuickOrderPanel:"移动快速下单面板",decreaseVolume:"减少交易量",increaseVolume:"增加交易量",expandQuickOrderPanel:"展开快速下单面板",collapseQuickOrderPanel:"收起快速下单面板",searchSymbol:"搜索交易品种",bid:"卖价",ask:"买价",lots:"手数",orderPrice:"订单价格",sellByMarket:"按市价卖出",buyByMarket:"按市价买入",placeOrder:"下单 {label}",selectAccountToTrade:"请选择一个交易账户以开始下单。",executionMarket:"市价执行",executionBuyLimit:"买入限价",executionSellLimit:"卖出限价",executionBuyStop:"买入止损",executionSellStop:"卖出止损",executionBuyStopLimit:"买入止损限价",executionSellStopLimit:"卖出止损限价",expirationGtc:"永久有效",expirationToday:"今天",expirationSpecified:"指定时间",expirationSpecifiedDay:"指定日期",ok:"确定",orderAtPrice:"于 {price}",modify:"修改",failedModifyPosition:"修改仓位失败。",failedModifyOrder:"修改订单失败。",positionClosedSimple:"仓位 #{ticket} 已关闭。",orderUpdated:"订单 #{ticket} 已更新。",closePositionDetail:"关闭 #{ticket} {type} {volume} {symbol} {openPrice} 于 {closePrice},利润为 {profit}",deleteOrderDetail:"删除 #{ticket} {typeLabel} {volume} {symbol} 于 {price}",pleaseSelectTradingAccount:"请选择一个交易账户。",pleaseSetLimitPrice:"请为此订单设置限价。",pleaseSetOrderPrice:"请为挂单设置订单价格。",pleaseSetStopPrice:"请为止损限价单设置止损价格。",pleaseSetExpirationDate:"请为此订单设置到期日期。",pleaseSetStopAndLimitPrices:"请同时设置止损价格和限价。",failedPlaceOrder:"下单失败。",orderNotAccepted:"订单未被接受。",newOrder:"新订单",selectYourTradingAccount:"选择您的交易账户",switchingAccount:"正在切换账户…",activeAccount:"活跃"},zl={WebTrading:Hl},ql={symbol:"Ký hiệu",back:"Quay lại",continue:"Tiếp tục",error:"Lỗi",selectTradingAccount:"Chọn tài khoản giao dịch",selectAccountDescription:"Chọn một tài khoản để tiếp tục giao dịch trên biểu đồ.",loadingAccounts:"Đang tải tài khoản…",noTradingAccounts:"Không có tài khoản giao dịch nào khả dụng.",selectAccount:"Chọn tài khoản",createAccount:"Tạo tài khoản",ticket:"Mã lệnh",serverTime:"Thời gian máy chủ",type:"Loại",volume:"Khối lượng",price:"Giá",stopLossShort:"S / L",takeProfitShort:"T / P",swap:"Phí qua đêm",profit:"Lợi nhuận",comment:"Ghi chú",close:"Đóng",balance:"Số dư",equity:"Vốn chủ sở hữu",margin:"Ký quỹ",freeMargin:"Ký quỹ khả dụng",level:"Mức",trade:"Giao dịch",history:"Lịch sử",terminalPanelTabs:"Các tab bảng điều khiển",closeAll:"Đóng tất cả",closing:"Đang đóng…",refresh:"Làm mới",refreshing:"Đang làm mới…",refreshDealHistory:"Làm mới lịch sử giao dịch",notAvailable:"Không có",closePositionTicket:"Đóng vị thế #{ticket}",closePosition:"Đóng vị thế",deleteOrderTicket:"Xóa lệnh #{ticket}",deleteOrder:"Xóa lệnh",resizeTerminalPanel:"Thay đổi kích thước bảng điều khiển",loading:"Đang tải…",noPositions:"Bạn không có vị thế nào",createNewOrder:"Tạo lệnh mới",chartSidePanel:"Bảng bên biểu đồ",scanResult:"Kết quả quét",openTerminal:"Mở bảng giao dịch",orders:"Lệnh",terminal:"Bảng giao dịch",closeTerminalPanel:"Đóng bảng giao dịch",buy:"Mua",sell:"Bán",balanceType:"Số dư",credit:"Tín dụng",deal:"Giao dịch",login:"Đăng nhập",action:"Hành động",entry:"Vào lệnh",time:"Thời gian",localTime:"Giờ địa phương",entryIn:"Vào",entryOut:"Ra",selectAccountForDeals:"Chọn một tài khoản để xem lịch sử giao dịch",noDealsFound:"Không tìm thấy giao dịch nào",seeFullDealHistory:"Xem toàn bộ lịch sử giao dịch",unknownAction:"Hành động {action}",failedClosePosition:"Không thể đóng vị thế.",positionClosed:"Vị thế #{ticket} đã được đóng tại {price}.",closePositionNotConfigured:"Chức năng đóng vị thế chưa được cấu hình.",onePositionClosed:"Đã đóng 1 vị thế.",positionsClosed:"Đã đóng {count} vị thế.",failedClosePositions:"Không thể đóng các vị thế.",closedFailedSummary:"Đã đóng {closed}, thất bại {failed}.",failedDeleteOrder:"Không thể xóa lệnh.",orderDeleted:"Lệnh #{ticket} đã được xóa.",positionUpdated:"Vị thế #{ticket} đã được cập nhật.",stopLoss:"Cắt lỗ",takeProfit:"Chốt lời",stopPrice:"Giá dừng",limitPrice:"Giá giới hạn",volumeSetting:"Cài đặt khối lượng",riskManagement:"Quản lý rủi ro",expiration:"Hết hạn",orderExecutionType:"Loại khớp lệnh",orderExpirationType:"Loại hết hạn của lệnh",expirationTime:"Thời gian hết hạn",expirationDay:"Ngày hết hạn",placed:"Đã đặt",closeConfirmation:"Xác nhận đóng",closePositionPanel:"Bảng đóng vị thế",closeOrderPanel:"Bảng đóng lệnh",minimizeToQuickOrder:"Thu nhỏ thành bảng đặt lệnh nhanh",moveQuickOrderPanel:"Di chuyển bảng đặt lệnh nhanh",decreaseVolume:"Giảm khối lượng",increaseVolume:"Tăng khối lượng",expandQuickOrderPanel:"Mở rộng bảng đặt lệnh nhanh",collapseQuickOrderPanel:"Thu gọn bảng đặt lệnh nhanh",searchSymbol:"Tìm kiếm mã giao dịch",bid:"Giá bán",ask:"Giá mua",lots:"Lot",orderPrice:"Giá đặt lệnh",sellByMarket:"Bán theo giá thị trường",buyByMarket:"Mua theo giá thị trường",placeOrder:"Đặt {label}",selectAccountToTrade:"Chọn một tài khoản giao dịch để bắt đầu đặt lệnh.",executionMarket:"Khớp lệnh thị trường",executionBuyLimit:"Buy Limit",executionSellLimit:"Sell Limit",executionBuyStop:"Buy Stop",executionSellStop:"Sell Stop",executionBuyStopLimit:"Buy Stop Limit",executionSellStopLimit:"Sell Stop Limit",expirationGtc:"GTC",expirationToday:"Hôm nay",expirationSpecified:"Chỉ định",expirationSpecifiedDay:"Ngày chỉ định",ok:"OK",orderAtPrice:"tại {price}",modify:"Chỉnh sửa",failedModifyPosition:"Không thể chỉnh sửa vị thế.",failedModifyOrder:"Không thể chỉnh sửa lệnh.",positionClosedSimple:"Vị thế #{ticket} đã được đóng.",orderUpdated:"Lệnh #{ticket} đã được cập nhật.",closePositionDetail:"Đóng #{ticket} {type} {volume} {symbol} từ {openPrice} tại {closePrice} với lợi nhuận {profit}",deleteOrderDetail:"Xóa #{ticket} {typeLabel} {volume} {symbol} tại {price}",pleaseSelectTradingAccount:"Vui lòng chọn một tài khoản giao dịch.",pleaseSetLimitPrice:"Vui lòng đặt giá giới hạn cho lệnh này.",pleaseSetOrderPrice:"Vui lòng đặt giá cho các lệnh chờ.",pleaseSetStopPrice:"Vui lòng đặt giá dừng cho các lệnh stop limit.",pleaseSetExpirationDate:"Vui lòng đặt ngày hết hạn cho lệnh này.",pleaseSetStopAndLimitPrices:"Vui lòng đặt cả giá dừng và giá giới hạn.",failedPlaceOrder:"Không thể đặt lệnh.",orderNotAccepted:"Lệnh không được chấp nhận.",newOrder:"Lệnh mới",selectYourTradingAccount:"Chọn tài khoản giao dịch của bạn",switchingAccount:"Đang chuyển tài khoản…",activeAccount:"Đang hoạt động"},Kl={WebTrading:ql},Gl={symbol:"สัญลักษณ์",back:"กลับ",continue:"ดำเนินการต่อ",error:"ข้อผิดพลาด",selectTradingAccount:"เลือกบัญชีซื้อขาย",selectAccountDescription:"เลือกบัญชีเพื่อดำเนินการซื้อขายบนกราฟต่อ",loadingAccounts:"กำลังโหลดบัญชี…",noTradingAccounts:"ไม่มีบัญชีซื้อขายที่ใช้งานได้",selectAccount:"เลือกบัญชี",createAccount:"สร้างบัญชี",ticket:"หมายเลขคำสั่ง",serverTime:"เวลาของเซิร์ฟเวอร์",type:"ประเภท",volume:"ปริมาณ",price:"ราคา",stopLossShort:"S / L",takeProfitShort:"T / P",swap:"สวอป",profit:"กำไร",comment:"หมายเหตุ",close:"ปิด",balance:"ยอดคงเหลือ",equity:"ส่วนของผู้ถือหุ้น",margin:"มาร์จิ้น",freeMargin:"มาร์จิ้นคงเหลือ",level:"ระดับ",trade:"ซื้อขาย",history:"ประวัติ",terminalPanelTabs:"แท็บแผงเทอร์มินัล",closeAll:"ปิดทั้งหมด",closing:"กำลังปิด…",refresh:"รีเฟรช",refreshing:"กำลังรีเฟรช…",refreshDealHistory:"รีเฟรชประวัติการซื้อขาย",notAvailable:"ไม่มีข้อมูล",closePositionTicket:"ปิดสถานะ #{ticket}",closePosition:"ปิดสถานะ",deleteOrderTicket:"ลบคำสั่ง #{ticket}",deleteOrder:"ลบคำสั่ง",resizeTerminalPanel:"ปรับขนาดแผงเทอร์มินัล",loading:"กำลังโหลด…",noPositions:"คุณไม่มีสถานะใด ๆ",createNewOrder:"สร้างคำสั่งใหม่",chartSidePanel:"แผงด้านข้างกราฟ",scanResult:"ผลการสแกน",openTerminal:"เปิดเทอร์มินัล",orders:"คำสั่งซื้อขาย",terminal:"เทอร์มินัล",closeTerminalPanel:"ปิดแผงเทอร์มินัล",buy:"ซื้อ",sell:"ขาย",balanceType:"ยอดคงเหลือ",credit:"เครดิต",deal:"ดีล",login:"เข้าสู่ระบบ",action:"การดำเนินการ",entry:"รายการ",time:"เวลา",localTime:"เวลาท้องถิ่น",entryIn:"เข้า",entryOut:"ออก",selectAccountForDeals:"เลือกบัญชีเพื่อดูประวัติการซื้อขาย",noDealsFound:"ไม่พบรายการซื้อขาย",seeFullDealHistory:"ดูประวัติการซื้อขายทั้งหมด",unknownAction:"การดำเนินการ {action}",failedClosePosition:"ไม่สามารถปิดสถานะได้",positionClosed:"สถานะ #{ticket} ถูกปิดที่ราคา {price}",closePositionNotConfigured:"ยังไม่ได้ตั้งค่าการปิดสถานะ",onePositionClosed:"ปิดสถานะแล้ว 1 รายการ",positionsClosed:"ปิดสถานะแล้ว {count} รายการ",failedClosePositions:"ไม่สามารถปิดสถานะได้",closedFailedSummary:"ปิดแล้ว {closed} รายการ ล้มเหลว {failed} รายการ",failedDeleteOrder:"ไม่สามารถลบคำสั่งได้",orderDeleted:"ลบคำสั่ง #{ticket} แล้ว",positionUpdated:"สถานะ #{ticket} ได้รับการอัปเดตแล้ว",stopLoss:"หยุดขาดทุน",takeProfit:"ทำกำไร",stopPrice:"ราคาหยุด",limitPrice:"ราคาจำกัด",volumeSetting:"การตั้งค่าปริมาณ",riskManagement:"การจัดการความเสี่ยง",expiration:"วันหมดอายุ",orderExecutionType:"ประเภทการดำเนินการคำสั่ง",orderExpirationType:"ประเภทวันหมดอายุของคำสั่ง",expirationTime:"เวลาหมดอายุ",expirationDay:"วันหมดอายุ",placed:"ส่งแล้ว",closeConfirmation:"ยืนยันการปิด",closePositionPanel:"แผงปิดสถานะ",closeOrderPanel:"แผงปิดคำสั่ง",minimizeToQuickOrder:"ย่อเป็นแผงคำสั่งด่วน",moveQuickOrderPanel:"ย้ายแผงคำสั่งด่วน",decreaseVolume:"ลดปริมาณ",increaseVolume:"เพิ่มปริมาณ",expandQuickOrderPanel:"ขยายแผงคำสั่งด่วน",collapseQuickOrderPanel:"ยุบแผงคำสั่งด่วน",searchSymbol:"ค้นหาสัญลักษณ์",bid:"ราคาขาย",ask:"ราคาซื้อ",lots:"ล็อต",orderPrice:"ราคาคำสั่ง",sellByMarket:"ขายตามราคาตลาด",buyByMarket:"ซื้อตามราคาตลาด",placeOrder:"ส่งคำสั่ง {label}",selectAccountToTrade:"เลือกบัญชีซื้อขายเพื่อเริ่มส่งคำสั่ง",executionMarket:"ดำเนินการตามราคาตลาด",executionBuyLimit:"Buy Limit",executionSellLimit:"Sell Limit",executionBuyStop:"Buy Stop",executionSellStop:"Sell Stop",executionBuyStopLimit:"Buy Stop Limit",executionSellStopLimit:"Sell Stop Limit",expirationGtc:"GTC",expirationToday:"วันนี้",expirationSpecified:"กำหนดเอง",expirationSpecifiedDay:"วันที่กำหนด",ok:"ตกลง",orderAtPrice:"ที่ราคา {price}",modify:"แก้ไข",failedModifyPosition:"ไม่สามารถแก้ไขสถานะได้",failedModifyOrder:"ไม่สามารถแก้ไขคำสั่งได้",positionClosedSimple:"สถานะ #{ticket} ถูกปิดแล้ว",orderUpdated:"คำสั่ง #{ticket} ได้รับการอัปเดตแล้ว",closePositionDetail:"ปิด #{ticket} {type} {volume} {symbol} {openPrice} ที่ {closePrice} ด้วยกำไร {profit}",deleteOrderDetail:"ลบ #{ticket} {typeLabel} {volume} {symbol} ที่ราคา {price}",pleaseSelectTradingAccount:"กรุณาเลือกบัญชีซื้อขาย",pleaseSetLimitPrice:"กรุณากำหนดราคาจำกัดสำหรับคำสั่งนี้",pleaseSetOrderPrice:"กรุณากำหนดราคาสำหรับคำสั่งรอดำเนินการ",pleaseSetStopPrice:"กรุณากำหนดราคาหยุดสำหรับคำสั่ง Stop Limit",pleaseSetExpirationDate:"กรุณากำหนดวันหมดอายุสำหรับคำสั่งนี้",pleaseSetStopAndLimitPrices:"กรุณากำหนดทั้งราคาหยุดและราคาจำกัด",failedPlaceOrder:"ไม่สามารถส่งคำสั่งได้",orderNotAccepted:"คำสั่งไม่ได้รับการยอมรับ",newOrder:"คำสั่งใหม่",selectYourTradingAccount:"เลือกบัญชีซื้อขายของคุณ",switchingAccount:"กำลังสลับบัญชี…",activeAccount:"ใช้งานอยู่"},Ql={WebTrading:Gl},Zl={symbol:"심볼",back:"뒤로",continue:"계속",error:"오류",selectTradingAccount:"거래 계좌 선택",selectAccountDescription:"차트에서 거래를 계속하려면 계좌를 선택하세요.",loadingAccounts:"계좌를 불러오는 중…",noTradingAccounts:"사용 가능한 거래 계좌가 없습니다.",selectAccount:"계좌 선택",createAccount:"계좌 생성",ticket:"티켓",serverTime:"서버 시간",type:"유형",volume:"거래량",price:"가격",stopLossShort:"손절가",takeProfitShort:"이익실현가",swap:"스왑",profit:"수익",comment:"메모",close:"닫기",balance:"잔액",equity:"순자산",margin:"증거금",freeMargin:"사용 가능 증거금",level:"수준",trade:"거래",history:"내역",terminalPanelTabs:"터미널 패널 탭",closeAll:"모두 닫기",closing:"닫는 중…",refresh:"새로고침",refreshing:"새로고침 중…",refreshDealHistory:"거래 내역 새로고침",notAvailable:"해당 없음",closePositionTicket:"포지션 닫기 #{ticket}",closePosition:"포지션 닫기",deleteOrderTicket:"주문 삭제 #{ticket}",deleteOrder:"주문 삭제",resizeTerminalPanel:"터미널 패널 크기 조정",loading:"불러오는 중…",noPositions:"보유 중인 포지션이 없습니다",createNewOrder:"새 주문 생성",chartSidePanel:"차트 사이드 패널",scanResult:"스캔 결과",openTerminal:"터미널 열기",orders:"주문",terminal:"터미널",closeTerminalPanel:"터미널 패널 닫기",buy:"매수",sell:"매도",balanceType:"잔액",credit:"크레딧",deal:"거래",login:"로그인",action:"작업",entry:"진입",time:"시간",localTime:"현지 시간",entryIn:"진입",entryOut:"청산",selectAccountForDeals:"거래 내역을 보려면 계좌를 선택하세요",noDealsFound:"거래 내역이 없습니다",seeFullDealHistory:"전체 거래 내역 보기",unknownAction:"작업 {action}",failedClosePosition:"포지션을 닫지 못했습니다.",positionClosed:"포지션 #{ticket}이(가) {price}에 청산되었습니다.",closePositionNotConfigured:"포지션 닫기가 구성되지 않았습니다.",onePositionClosed:"1개의 포지션이 청산되었습니다.",positionsClosed:"{count}개의 포지션이 청산되었습니다.",failedClosePositions:"포지션을 닫지 못했습니다.",closedFailedSummary:"{closed}개 청산, {failed}개 실패.",failedDeleteOrder:"주문을 삭제하지 못했습니다.",orderDeleted:"주문 #{ticket}이(가) 삭제되었습니다.",positionUpdated:"포지션 #{ticket}이(가) 업데이트되었습니다.",stopLoss:"손절",takeProfit:"이익실현",stopPrice:"스톱 가격",limitPrice:"지정가",volumeSetting:"거래량 설정",riskManagement:"위험 관리",expiration:"만료",orderExecutionType:"주문 실행 유형",orderExpirationType:"주문 만료 유형",expirationTime:"만료 시간",expirationDay:"만료 날짜",placed:"접수됨",closeConfirmation:"청산 확인",closePositionPanel:"포지션 닫기 패널",closeOrderPanel:"주문 닫기 패널",minimizeToQuickOrder:"빠른 주문 패널로 최소화",moveQuickOrderPanel:"빠른 주문 패널 이동",decreaseVolume:"거래량 감소",increaseVolume:"거래량 증가",expandQuickOrderPanel:"빠른 주문 패널 확장",collapseQuickOrderPanel:"빠른 주문 패널 축소",searchSymbol:"심볼 검색",bid:"매도호가",ask:"매수호가",lots:"랏",orderPrice:"주문 가격",sellByMarket:"시장가 매도",buyByMarket:"시장가 매수",placeOrder:"{label} 주문",selectAccountToTrade:"주문을 시작하려면 거래 계좌를 선택하세요.",executionMarket:"시장가 실행",executionBuyLimit:"매수 지정가",executionSellLimit:"매도 지정가",executionBuyStop:"매수 스톱",executionSellStop:"매도 스톱",executionBuyStopLimit:"매수 스톱 지정가",executionSellStopLimit:"매도 스톱 지정가",expirationGtc:"GTC",expirationToday:"오늘",expirationSpecified:"지정",expirationSpecifiedDay:"지정일",ok:"확인",orderAtPrice:"{price}에서",modify:"수정",failedModifyPosition:"포지션을 수정하지 못했습니다.",failedModifyOrder:"주문을 수정하지 못했습니다.",positionClosedSimple:"포지션 #{ticket}이(가) 청산되었습니다.",orderUpdated:"주문 #{ticket}이(가) 업데이트되었습니다.",closePositionDetail:"#{ticket} {type} {volume} {symbol} {openPrice}를 {closePrice}에서 청산, 수익 {profit}",deleteOrderDetail:"#{ticket} {typeLabel} {volume} {symbol}을 {price}에서 삭제",pleaseSelectTradingAccount:"거래 계좌를 선택하세요.",pleaseSetLimitPrice:"이 주문의 지정가를 설정하세요.",pleaseSetOrderPrice:"대기 주문의 가격을 설정하세요.",pleaseSetStopPrice:"스톱 지정가 주문의 스톱 가격을 설정하세요.",pleaseSetExpirationDate:"이 주문의 만료일을 설정하세요.",pleaseSetStopAndLimitPrices:"스톱 가격과 지정가를 모두 설정하세요.",failedPlaceOrder:"주문을 접수하지 못했습니다.",orderNotAccepted:"주문이 승인되지 않았습니다.",newOrder:"새 주문",selectYourTradingAccount:"거래 계좌 선택",switchingAccount:"계좌 전환 중…",activeAccount:"활성화됨"},Yl={WebTrading:Zl},Jl={symbol:"シンボル",back:"戻る",continue:"続行",error:"エラー",selectTradingAccount:"取引口座を選択",selectAccountDescription:"チャートで取引を続けるための口座を選択してください。",loadingAccounts:"口座を読み込み中…",noTradingAccounts:"利用可能な取引口座がありません。",selectAccount:"口座を選択",createAccount:"口座を作成",ticket:"チケット",serverTime:"サーバー時間",type:"タイプ",volume:"数量",price:"価格",stopLossShort:"損切り",takeProfitShort:"利確",swap:"スワップ",profit:"利益",comment:"コメント",close:"閉じる",balance:"残高",equity:"有効証拠金",margin:"証拠金",freeMargin:"余剰証拠金",level:"レベル",trade:"取引",history:"履歴",terminalPanelTabs:"ターミナルパネルのタブ",closeAll:"すべて閉じる",closing:"閉じています…",refresh:"更新",refreshing:"更新中…",refreshDealHistory:"取引履歴を更新",notAvailable:"該当なし",closePositionTicket:"ポジションを閉じる #{ticket}",closePosition:"ポジションを閉じる",deleteOrderTicket:"注文を削除 #{ticket}",deleteOrder:"注文を削除",resizeTerminalPanel:"ターミナルパネルのサイズを変更",loading:"読み込み中…",noPositions:"保有中のポジションはありません",createNewOrder:"新規注文を作成",chartSidePanel:"チャートサイドパネル",scanResult:"スキャン結果",openTerminal:"ターミナルを開く",orders:"注文",terminal:"ターミナル",closeTerminalPanel:"ターミナルパネルを閉じる",buy:"買い",sell:"売り",balanceType:"残高",credit:"クレジット",deal:"取引",login:"ログイン",action:"操作",entry:"エントリー",time:"時間",localTime:"現地時間",entryIn:"入場",entryOut:"出場",selectAccountForDeals:"取引履歴を表示するには口座を選択してください",noDealsFound:"取引履歴が見つかりません",seeFullDealHistory:"すべての取引履歴を表示",unknownAction:"操作 {action}",failedClosePosition:"ポジションを閉じられませんでした。",positionClosed:"ポジション #{ticket} は {price} で決済されました。",closePositionNotConfigured:"ポジションを閉じる機能が設定されていません。",onePositionClosed:"1件のポジションが決済されました。",positionsClosed:"{count}件のポジションが決済されました。",failedClosePositions:"ポジションを閉じられませんでした。",closedFailedSummary:"{closed}件決済、{failed}件失敗しました。",failedDeleteOrder:"注文を削除できませんでした。",orderDeleted:"注文 #{ticket} が削除されました。",positionUpdated:"ポジション #{ticket} が更新されました。",stopLoss:"損切り",takeProfit:"利確",stopPrice:"ストップ価格",limitPrice:"指値価格",volumeSetting:"数量設定",riskManagement:"リスク管理",expiration:"有効期限",orderExecutionType:"注文執行タイプ",orderExpirationType:"注文の有効期限タイプ",expirationTime:"有効期限時間",expirationDay:"有効期限日",placed:"発注済み",closeConfirmation:"決済確認",closePositionPanel:"ポジション決済パネル",closeOrderPanel:"注文決済パネル",minimizeToQuickOrder:"クイック注文パネルに最小化",moveQuickOrderPanel:"クイック注文パネルを移動",decreaseVolume:"数量を減らす",increaseVolume:"数量を増やす",expandQuickOrderPanel:"クイック注文パネルを展開",collapseQuickOrderPanel:"クイック注文パネルを折りたたむ",searchSymbol:"シンボルを検索",bid:"売値",ask:"買値",lots:"ロット",orderPrice:"注文価格",sellByMarket:"成行売り",buyByMarket:"成行買い",placeOrder:"{label}を発注",selectAccountToTrade:"注文を開始するには取引口座を選択してください。",executionMarket:"成行執行",executionBuyLimit:"買い指値",executionSellLimit:"売り指値",executionBuyStop:"買い逆指値",executionSellStop:"売り逆指値",executionBuyStopLimit:"買い逆指値指値",executionSellStopLimit:"売り逆指値指値",expirationGtc:"GTC",expirationToday:"今日",expirationSpecified:"指定",expirationSpecifiedDay:"指定日",ok:"OK",orderAtPrice:"{price}で",modify:"変更",failedModifyPosition:"ポジションを変更できませんでした。",failedModifyOrder:"注文を変更できませんでした。",positionClosedSimple:"ポジション #{ticket} が決済されました。",orderUpdated:"注文 #{ticket} が更新されました。",closePositionDetail:"#{ticket} {type} {volume} {symbol} {openPrice} を {closePrice} で決済、利益 {profit}",deleteOrderDetail:"#{ticket} {typeLabel} {volume} {symbol} を {price} で削除",pleaseSelectTradingAccount:"取引口座を選択してください。",pleaseSetLimitPrice:"この注文の指値価格を設定してください。",pleaseSetOrderPrice:"保留注文の価格を設定してください。",pleaseSetStopPrice:"逆指値指値注文のストップ価格を設定してください。",pleaseSetExpirationDate:"この注文の有効期限を設定してください。",pleaseSetStopAndLimitPrices:"ストップ価格と指値価格の両方を設定してください。",failedPlaceOrder:"注文を発注できませんでした。",orderNotAccepted:"注文は受け付けられませんでした。",newOrder:"新規注文",selectYourTradingAccount:"取引口座を選択",switchingAccount:"口座を切り替え中…",activeAccount:"有効"},Xl={WebTrading:Jl},ed={symbol:"Симбол",back:"Буцах",continue:"Үргэлжлүүлэх",error:"Алдаа",selectTradingAccount:"Арилжааны данс сонгох",selectAccountDescription:"График дээр арилжаагаа үргэлжлүүлэхийн тулд данс сонгоно уу.",loadingAccounts:"Дансуудыг ачаалж байна…",noTradingAccounts:"Боломжтой арилжааны данс алга.",selectAccount:"Данс сонгох",createAccount:"Данс үүсгэх",ticket:"Тасалбар",serverTime:"Серверийн цаг",type:"Төрөл",volume:"Хэмжээ",price:"Үнэ",stopLossShort:"S/L",takeProfitShort:"T/P",swap:"Своп",profit:"Ашиг",comment:"Тайлбар",close:"Хаах",balance:"Үлдэгдэл",equity:"Equity",margin:"Маржин",freeMargin:"Free маржин",level:"Түвшин",trade:"Арилжаа",history:"Түүх",terminalPanelTabs:"Терминалын самбарын табууд",closeAll:"Бүгдийг хаах",closing:"Хааж байна…",refresh:"Сэргээх",refreshing:"Сэргээж байна…",refreshDealHistory:"Хэлцлийн түүхийг сэргээх",notAvailable:"Байхгүй",closePositionTicket:"Позици хаах #{ticket}",closePosition:"Позици хаах",deleteOrderTicket:"Захиалга устгах #{ticket}",deleteOrder:"Захиалга устгах",resizeTerminalPanel:"Терминалын самбарын хэмжээг өөрчлөх",loading:"Ачаалж байна…",noPositions:"Танд нээлттэй позици алга",createNewOrder:"Шинэ захиалга үүсгэх",chartSidePanel:"Графикийн хажуугийн самбар",scanResult:"Сканны үр дүн",openTerminal:"Терминал нээх",orders:"Захиалгууд",terminal:"Терминал",closeTerminalPanel:"Терминалын самбарыг хаах",buy:"Худалдан авах",sell:"Зарах",balanceType:"Үлдэгдэл",credit:"Кредит",deal:"Хэлцэл",login:"Нэвтрэх",action:"Үйлдэл",entry:"Нэвтрэлт",time:"Цаг",localTime:"Орон нутгийн цаг",entryIn:"ОРСОН",entryOut:"ГАРСАН",selectAccountForDeals:"Хэлцлийн түүхийг харахын тулд данс сонгоно уу",noDealsFound:"Хэлцэл олдсонгүй",seeFullDealHistory:"Бүтэн хэлцлийн түүхийг харах",unknownAction:"Үйлдэл {action}",failedClosePosition:"Позици хааж чадсангүй.",positionClosed:"Позици #{ticket} {price} үнээр хаагдлаа.",closePositionNotConfigured:"Позици хаах тохиргоо хийгдээгүй байна.",onePositionClosed:"1 позици хаагдлаа.",positionsClosed:"{count} позици хаагдлаа.",failedClosePositions:"Позициудыг хааж чадсангүй.",closedFailedSummary:"{closed} хаагдсан, {failed} амжилтгүй.",failedDeleteOrder:"Захиалга устгаж чадсангүй.",orderDeleted:"Захиалга #{ticket} устгагдлаа.",positionUpdated:"Позици #{ticket} шинэчлэгдлээ.",stopLoss:"Стоп-лосс",takeProfit:"Тейк-профит",stopPrice:"Стоп үнэ",limitPrice:"Лимит үнэ",volumeSetting:"Хэмжээний тохиргоо",riskManagement:"Эрсдэлийн удирдлага",expiration:"Хүчинтэй хугацаа",orderExecutionType:"Захиалга гүйцэтгэх төрөл",orderExpirationType:"Захиалгын хугацааны төрөл",expirationTime:"Дуусах цаг",expirationDay:"Дуусах өдөр",placed:"Илгээгдсэн",closeConfirmation:"Хаах баталгаажуулалт",closePositionPanel:"Позици хаах самбар",closeOrderPanel:"Захиалга хаах самбар",minimizeToQuickOrder:"Хурдан захиалгын самбар болгон жижигрүүлэх",moveQuickOrderPanel:"Хурдан захиалгын самбарыг зөөх",decreaseVolume:"Хэмжээг багасгах",increaseVolume:"Хэмжээг нэмэх",expandQuickOrderPanel:"Хурдан захиалгын самбарыг дэлгэх",collapseQuickOrderPanel:"Хурдан захиалгын самбарыг хумих",searchSymbol:"Симбол хайх",bid:"Bid",ask:"Ask",lots:"Лот",orderPrice:"Захиалгын үнэ",sellByMarket:"Зах зээлийн үнээр зарах",buyByMarket:"Зах зээлийн үнээр худалдаж авах",placeOrder:"{label} байрлуулах",selectAccountToTrade:"Захиалга байршуулж эхлэхийн тулд арилжааны данс сонгоно уу.",executionMarket:"Зах зээлийн гүйцэтгэл",executionBuyLimit:"Худалдан авах лимит",executionSellLimit:"Зарах лимит",executionBuyStop:"Худалдан авах стоп",executionSellStop:"Зарах стоп",executionBuyStopLimit:"Худалдан авах стоп лимит",executionSellStopLimit:"Зарах стоп лимит",expirationGtc:"GTC",expirationToday:"Өнөөдөр",expirationSpecified:"Тодорхой хугацаа",expirationSpecifiedDay:"Тодорхой өдөр",ok:"OK",orderAtPrice:"{price} үнээр",modify:"Засах",failedModifyPosition:"Позици өөрчилж чадсангүй.",failedModifyOrder:"Захиалга өөрчилж чадсангүй.",positionClosedSimple:"Позици #{ticket} хаагдлаа.",orderUpdated:"Захиалга #{ticket} шинэчлэгдлээ.",closePositionDetail:"#{ticket} {type} {volume} {symbol} {openPrice}-ийг {closePrice} үнээр хааж, {profit} ашигтай болсон",deleteOrderDetail:"#{ticket} {typeLabel} {volume} {symbol}-ийг {price} үнээр устгах",pleaseSelectTradingAccount:"Арилжааны данс сонгоно уу.",pleaseSetLimitPrice:"Энэ захиалгад лимит үнэ оруулна уу.",pleaseSetOrderPrice:"Хүлээгдэж буй захиалгад үнэ оруулна уу.",pleaseSetStopPrice:"Стоп лимит захиалгад стоп үнэ оруулна уу.",pleaseSetExpirationDate:"Энэ захиалгад дуусах хугацаа оруулна уу.",pleaseSetStopAndLimitPrices:"Стоп болон лимит үнийг хоёуланг нь оруулна уу.",failedPlaceOrder:"Захиалга байршуулж чадсангүй.",orderNotAccepted:"Захиалгыг зөвшөөрсөнгүй.",newOrder:"Шинэ захиалга",selectYourTradingAccount:"Арилжааны дансаа сонгоно уу",switchingAccount:"Данс сольж байна…",activeAccount:"Идэвхтэй"},td={WebTrading:ed},nd={symbol:"Символ",back:"Назад",continue:"Продолжить",error:"Ошибка",selectTradingAccount:"Выберите торговый счет",selectAccountDescription:"Выберите счет, чтобы продолжить торговлю на графике.",loadingAccounts:"Загрузка счетов…",noTradingAccounts:"Нет доступных торговых счетов.",selectAccount:"Выбрать счет",createAccount:"Создать счет",ticket:"Тикет",serverTime:"Время сервера",type:"Тип",volume:"Объем",price:"Цена",stopLossShort:"S / L",takeProfitShort:"T / P",swap:"Своп",profit:"Прибыль",comment:"Комментарий",close:"Закрыть",balance:"Баланс",equity:"Собственный капитал",margin:"Маржа",freeMargin:"Свободная маржа",level:"Уровень",trade:"Торговля",history:"История",terminalPanelTabs:"Вкладки панели терминала",closeAll:"Закрыть все",closing:"Закрытие…",refresh:"Обновить",refreshing:"Обновление…",refreshDealHistory:"Обновить историю сделок",notAvailable:"Н/Д",closePositionTicket:"Закрыть позицию #{ticket}",closePosition:"Закрыть позицию",deleteOrderTicket:"Удалить ордер #{ticket}",deleteOrder:"Удалить ордер",resizeTerminalPanel:"Изменить размер панели терминала",loading:"Загрузка…",noPositions:"У вас нет открытых позиций",createNewOrder:"Создать новый ордер",chartSidePanel:"Боковая панель графика",scanResult:"Результат сканирования",openTerminal:"Открыть терминал",orders:"Ордеры",terminal:"Терминал",closeTerminalPanel:"Закрыть панель терминала",buy:"Покупка",sell:"Продажа",balanceType:"Баланс",credit:"Кредит",deal:"Сделка",login:"Вход",action:"Действие",entry:"Вход",time:"Время",localTime:"Местное время",entryIn:"ВХОД",entryOut:"ВЫХОД",selectAccountForDeals:"Выберите счет для просмотра истории сделок",noDealsFound:"Сделки не найдены",seeFullDealHistory:"Посмотреть полную историю сделок",unknownAction:"Действие {action}",failedClosePosition:"Не удалось закрыть позицию.",positionClosed:"Позиция #{ticket} закрыта по цене {price}.",closePositionNotConfigured:"Функция закрытия позиции не настроена.",onePositionClosed:"Закрыта 1 позиция.",positionsClosed:"Закрыто {count} позиций.",failedClosePositions:"Не удалось закрыть позиции.",closedFailedSummary:"Закрыто {closed}, не удалось {failed}.",failedDeleteOrder:"Не удалось удалить ордер.",orderDeleted:"Ордер #{ticket} удален.",positionUpdated:"Позиция #{ticket} обновлена.",stopLoss:"Стоп-лосс",takeProfit:"Тейк-профит",stopPrice:"Стоп-цена",limitPrice:"Лимитная цена",volumeSetting:"Настройка объема",riskManagement:"Управление рисками",expiration:"Срок действия",orderExecutionType:"Тип исполнения ордера",orderExpirationType:"Тип истечения ордера",expirationTime:"Время истечения",expirationDay:"Дата истечения",placed:"Размещено",closeConfirmation:"Подтверждение закрытия",closePositionPanel:"Панель закрытия позиции",closeOrderPanel:"Панель закрытия ордера",minimizeToQuickOrder:"Свернуть в панель быстрого ордера",moveQuickOrderPanel:"Переместить панель быстрого ордера",decreaseVolume:"Уменьшить объем",increaseVolume:"Увеличить объем",expandQuickOrderPanel:"Развернуть панель быстрого ордера",collapseQuickOrderPanel:"Свернуть панель быстрого ордера",searchSymbol:"Поиск символа",bid:"Цена Bid",ask:"Цена Ask",lots:"Лоты",orderPrice:"Цена ордера",sellByMarket:"Продать по рынку",buyByMarket:"Купить по рынку",placeOrder:"Разместить {label}",selectAccountToTrade:"Выберите торговый счет для размещения ордеров.",executionMarket:"Рыночное исполнение",executionBuyLimit:"Лимит на покупку",executionSellLimit:"Лимит на продажу",executionBuyStop:"Стоп на покупку",executionSellStop:"Стоп на продажу",executionBuyStopLimit:"Стоп-лимит на покупку",executionSellStopLimit:"Стоп-лимит на продажу",expirationGtc:"GTC",expirationToday:"Сегодня",expirationSpecified:"Указанный",expirationSpecifiedDay:"Указанный день",ok:"OK",orderAtPrice:"по цене {price}",modify:"Изменить",failedModifyPosition:"Не удалось изменить позицию.",failedModifyOrder:"Не удалось изменить ордер.",positionClosedSimple:"Позиция #{ticket} закрыта.",orderUpdated:"Ордер #{ticket} обновлен.",closePositionDetail:"Закрытие #{ticket} {type} {volume} {symbol} {openPrice} по {closePrice} с прибылью {profit}",deleteOrderDetail:"Удалить #{ticket} {typeLabel} {volume} {symbol} по цене {price}",pleaseSelectTradingAccount:"Пожалуйста, выберите торговый счет.",pleaseSetLimitPrice:"Пожалуйста, задайте лимитную цену для этого ордера.",pleaseSetOrderPrice:"Пожалуйста, задайте цену для отложенных ордеров.",pleaseSetStopPrice:"Пожалуйста, задайте стоп-цену для стоп-лимитных ордеров.",pleaseSetExpirationDate:"Пожалуйста, задайте дату истечения для этого ордера.",pleaseSetStopAndLimitPrices:"Пожалуйста, задайте и стоп-цену, и лимитную цену.",failedPlaceOrder:"Не удалось разместить ордер.",orderNotAccepted:"Ордер не был принят.",newOrder:"Новый ордер",selectYourTradingAccount:"Выберите свой торговый счет",switchingAccount:"Переключение счета…",activeAccount:"Активен"},rd={WebTrading:nd},io={en:Vl,zh:zl,vi:Kl,th:Ql,ko:Yl,ja:Xl,mn:td,ru:rd};function so(e,t){const n=t.split(".");let r=e;for(const i of n){if(!r||typeof r!="object"||!(i in r))return;r=r[i]}return typeof r=="string"?r:void 0}function id(e,t){return t?e.replace(/\{(\w+)\}/g,(n,r)=>t[r]!=null?String(t[r]):`{${r}}`):e}function Gn(e,t,n){const r=so(io[e],t)??so(io.en,t)??t;return id(r,n)}const Qa=p.createContext({language:Fr,t:(e,t)=>Gn(Fr,e,t)});function Za({language:e,children:t}){const n=p.useMemo(()=>{const r=ri(e);return{language:r,t:(i,s)=>Gn(r,i,s)}},[e]);return c.jsx(Qa.Provider,{value:n,children:t})}function Te(){return p.useContext(Qa)}function ht(...e){return e.filter(Boolean).join(" ")}function sd({open:e,children:t,className:n,onPointerDownOutside:r,onEscapeKeyDown:i}){return e?c.jsxs("div",{className:"web-trading-widget-dialog",role:"dialog","aria-modal":"true",children:[c.jsx("div",{className:"web-trading-widget-dialog__overlay",onPointerDown:s=>r==null?void 0:r(s.nativeEvent)}),c.jsx("div",{className:ht("web-trading-widget-dialog__content",n),children:t})]}):null}function od({className:e,...t}){return c.jsx("div",{className:ht("web-trading-widget-dialog__header",e),...t})}function ad({className:e,...t}){return c.jsx("h2",{className:ht("web-trading-widget-dialog__title",e),...t})}function cd({className:e,...t}){return c.jsx("p",{className:ht("web-trading-widget-dialog__description",e),...t})}function ld({className:e,...t}){return c.jsx("div",{className:ht("web-trading-widget-dialog__footer",e),...t})}function Ya({open:e,isAccountsLoading:t,accountOptions:n,onConfirm:r,backUrl:i,createAccountUrl:s}){var m;const{t:o}=Te(),[a,l]=p.useState(""),d=a||((m=n[0])==null?void 0:m.login)||"",u=!t&&n.length>0&&d!=="",f=!t&&n.length===0;return c.jsxs(sd,{open:e,className:"web-trading-widget-account-modal",onPointerDownOutside:h=>h.preventDefault(),onEscapeKeyDown:h=>h.preventDefault(),children:[c.jsxs(od,{children:[c.jsx(ad,{children:o("WebTrading.selectTradingAccount")}),c.jsx(cd,{children:o("WebTrading.selectAccountDescription")})]}),t?c.jsx("p",{className:"web-trading-widget-account-modal__loading",children:o("WebTrading.loadingAccounts")}):n.length===0?c.jsx("p",{className:"web-trading-widget-account-modal__error",children:o("WebTrading.noTradingAccounts")}):c.jsx("select",{value:d,className:"web-trading-widget-account-modal__select web-trading-widget-market-panel__select-full","aria-label":o("WebTrading.selectAccount"),onChange:h=>l(h.target.value),children:n.map(h=>c.jsxs("option",{value:h.login,children:[h.label," (",h.balance.toFixed(2)," ",h.currency,")"]},h.login))}),c.jsx(ld,{children:f?c.jsxs(c.Fragment,{children:[i?c.jsx("a",{href:i,className:"web-trading-widget-btn web-trading-widget-btn--outline",children:o("WebTrading.back")}):null,s?c.jsx("a",{href:s,className:"web-trading-widget-btn web-trading-widget-btn--primary",children:o("WebTrading.createAccount")}):null]}):c.jsx("button",{type:"button",className:"web-trading-widget-btn web-trading-widget-btn--primary",disabled:!u,onClick:()=>r(d),children:o("WebTrading.continue")})})]})}var dd={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const ud=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),tt=(e,t)=>{const n=p.forwardRef(({color:r="currentColor",size:i=24,strokeWidth:s=2,absoluteStrokeWidth:o,children:a,...l},d)=>p.createElement("svg",{ref:d,...dd,width:i,height:i,stroke:r,strokeWidth:o?Number(s)*24/Number(i):s,className:`lucide lucide-${ud(e)}`,...l},[...t.map(([u,f])=>p.createElement(u,f)),...(Array.isArray(a)?a:[a])||[]]));return n.displayName=`${e}`,n},Br=tt("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]),fd=tt("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]),hd=tt("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]),$i=tt("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]),Ja=tt("GripHorizontal",[["circle",{cx:"12",cy:"9",r:"1",key:"124mty"}],["circle",{cx:"19",cy:"9",r:"1",key:"1ruzo2"}],["circle",{cx:"5",cy:"9",r:"1",key:"1a8b28"}],["circle",{cx:"12",cy:"15",r:"1",key:"1e56xg"}],["circle",{cx:"19",cy:"15",r:"1",key:"1a92ep"}],["circle",{cx:"5",cy:"15",r:"1",key:"5r1jwy"}]]),Xa=tt("GripVertical",[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]]),md=tt("ListOrdered",[["line",{x1:"10",x2:"21",y1:"6",y2:"6",key:"76qw6h"}],["line",{x1:"10",x2:"21",y1:"12",y2:"12",key:"16nom4"}],["line",{x1:"10",x2:"21",y1:"18",y2:"18",key:"u3jurt"}],["path",{d:"M4 6h1v4",key:"cnovpq"}],["path",{d:"M4 10h2",key:"16xx2s"}],["path",{d:"M6 18H4c0-1 2-2 2-3s-1-1.5-2-1",key:"m9a95d"}]]),pd=tt("Minimize2",[["polyline",{points:"4 14 10 14 10 20",key:"11kfnr"}],["polyline",{points:"20 10 14 10 14 4",key:"rlmsce"}],["line",{x1:"14",x2:"21",y1:"10",y2:"3",key:"o5lafz"}],["line",{x1:"3",x2:"10",y1:"21",y2:"14",key:"1atl0r"}]]),gd=tt("Minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]),yd=tt("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]),bd=tt("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]),Ft=tt("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),wd={[-11]:["Pacific/Fakaofo"],[-10]:["Pacific/Honolulu"],[-9]:["America/Anchorage","America/Juneau"],[-8]:["America/Los_Angeles","America/Vancouver"],[-7]:["US/Mountain"],[-6]:["America/Chicago","America/El_Salvador"],[-5]:["America/New_York","America/Lima","America/Bogota"],[-4]:["America/Caracas","America/Santiago","America/Toronto"],[-3]:["America/Argentina/Buenos_Aires","America/Sao_Paulo"],0:["Europe/London","Atlantic/Reykjavik","Africa/Casablanca","Africa/Tunis","Africa/Lagos"],1:["Europe/Amsterdam","Europe/Berlin","Europe/Madrid","Europe/Paris"],2:["Europe/Athens","Africa/Cairo","Africa/Johannesburg"],3:["Europe/Moscow","Asia/Riyadh","Asia/Qatar"],3.5:["Asia/Tehran"],4:["Asia/Dubai","Asia/Muscat"],4.5:[],5:["Asia/Karachi"],5.5:["Asia/Kolkata","Asia/Colombo"],5.75:["Asia/Kathmandu"],6:["Asia/Dhaka","Asia/Almaty"],6.5:["Asia/Yangon"],7:["Asia/Bangkok","Asia/Jakarta"],8:["Asia/Shanghai","Asia/Singapore","Asia/Hong_Kong","Asia/Kuala_Lumpur"],9:["Asia/Tokyo","Asia/Seoul"],9.5:["Australia/Adelaide"],10:["Australia/Sydney","Australia/Brisbane"],11:["Pacific/Norfolk"],12:["Pacific/Auckland"]};function _d(){const e=-new Date().getTimezoneOffset()/60,t=wd[e];return t&&t.length>0?t[0]:"Etc/UTC"}const un="tv:latest-symbol",ec="web-trading-last-account-login",Bt=[{ticker:"EUR_JPY",display_name:"EURJPY",logo_urls:["https://cdn.iccandle.ai/web-assets/EUR.svg","https://cdn.iccandle.ai/web-assets/JPY.svg"],description:"EUR JPY",type:"forex",session:"1700-1700",pricescale:1e3,resolve_symbol:"EURJPY"},{ticker:"GBP_JPY",display_name:"GBPJPY",logo_urls:["https://cdn.iccandle.ai/web-assets/GBP.svg","https://cdn.iccandle.ai/web-assets/JPY.svg"],description:"GBP JPY",type:"forex",session:"1700-1700",pricescale:1e3,resolve_symbol:"GBPJPY"},{ticker:"AUD_JPY",display_name:"AUDJPY",logo_urls:["https://cdn.iccandle.ai/web-assets/AUD.svg","https://cdn.iccandle.ai/web-assets/JPY.svg"],description:"AUD JPY",type:"forex",session:"1700-1700",pricescale:1e3,resolve_symbol:"AUDJPY"},{ticker:"NZD_JPY",display_name:"NZDJPY",logo_urls:["https://cdn.iccandle.ai/web-assets/NZD.svg","https://cdn.iccandle.ai/web-assets/JPY.svg"],description:"NZD JPY",type:"forex",session:"1700-1700",pricescale:1e3,resolve_symbol:"NZDJPY"},{ticker:"CAD_JPY",display_name:"CADJPY",logo_urls:["https://cdn.iccandle.ai/web-assets/CAD.svg","https://cdn.iccandle.ai/web-assets/JPY.svg"],description:"CAD JPY",type:"forex",session:"1700-1700",pricescale:1e3,resolve_symbol:"CADJPY"},{ticker:"CHF_JPY",display_name:"CHFJPY",logo_urls:["https://cdn.iccandle.ai/web-assets/CHF.svg","https://cdn.iccandle.ai/web-assets/JPY.svg"],description:"CHF JPY",type:"forex",session:"1700-1700",pricescale:1e3,resolve_symbol:"CHFJPY"},{ticker:"USD_JPY",display_name:"USDJPY",logo_urls:["https://cdn.iccandle.ai/web-assets/USD.svg","https://cdn.iccandle.ai/web-assets/JPY.svg"],description:"USD JPY",type:"forex",session:"1700-1700",pricescale:1e3,resolve_symbol:"USDJPY"},{ticker:"EUR_USD",display_name:"EURUSD",logo_urls:["https://cdn.iccandle.ai/web-assets/EUR.svg","https://cdn.iccandle.ai/web-assets/USD.svg"],description:"EUR USD",type:"forex",session:"1700-1700",pricescale:1e5,resolve_symbol:"EURUSD"},{ticker:"AUD_USD",display_name:"AUDUSD",logo_urls:["https://cdn.iccandle.ai/web-assets/AUD.svg","https://cdn.iccandle.ai/web-assets/USD.svg"],description:"AUD USD",type:"forex",session:"1700-1700",pricescale:1e5,resolve_symbol:"AUDUSD"},{ticker:"NZD_USD",display_name:"NZDUSD",logo_urls:["https://cdn.iccandle.ai/web-assets/NZD.svg","https://cdn.iccandle.ai/web-assets/USD.svg"],description:"NZD USD",type:"forex",session:"1700-1700",pricescale:1e5,resolve_symbol:"NZDUSD"},{ticker:"USD_CHF",display_name:"USDCHF",logo_urls:["https://cdn.iccandle.ai/web-assets/USD.svg","https://cdn.iccandle.ai/web-assets/CHF.svg"],description:"USD CHF",type:"forex",session:"1700-1700",pricescale:1e5,resolve_symbol:"USDCHF"},{ticker:"USD_CAD",display_name:"USDCAD",logo_urls:["https://cdn.iccandle.ai/web-assets/USD.svg","https://cdn.iccandle.ai/web-assets/CAD.svg"],description:"USD CAD",type:"forex",session:"1700-1700",pricescale:1e5,resolve_symbol:"USDCAD"},{ticker:"GBP_AUD",display_name:"GBPAUD",logo_urls:["https://cdn.iccandle.ai/web-assets/GBP.svg","https://cdn.iccandle.ai/web-assets/AUD.svg"],description:"GBP AUD",type:"forex",session:"1700-1700",pricescale:1e5,resolve_symbol:"GBPAUD"},{ticker:"GBP_CAD",display_name:"GBPCAD",logo_urls:["https://cdn.iccandle.ai/web-assets/GBP.svg","https://cdn.iccandle.ai/web-assets/CAD.svg"],description:"GBP CAD",type:"forex",session:"1700-1700",pricescale:1e5,resolve_symbol:"GBPCAD"},{ticker:"GBP_CHF",display_name:"GBPCHF",logo_urls:["https://cdn.iccandle.ai/web-assets/GBP.svg","https://cdn.iccandle.ai/web-assets/CHF.svg"],description:"GBP CHF",type:"forex",session:"1700-1700",pricescale:1e5,resolve_symbol:"GBPCHF"},{ticker:"GBP_NZD",display_name:"GBPNZD",logo_urls:["https://cdn.iccandle.ai/web-assets/GBP.svg","https://cdn.iccandle.ai/web-assets/NZD.svg"],description:"GBP NZD",type:"forex",session:"1700-1700",pricescale:1e5,resolve_symbol:"GBPNZD"},{ticker:"GBP_USD",display_name:"GBPUSD",logo_urls:["https://cdn.iccandle.ai/web-assets/GBP.svg","https://cdn.iccandle.ai/web-assets/USD.svg"],description:"GBP USD",type:"forex",session:"1700-1700",pricescale:1e5,resolve_symbol:"GBPUSD"},{ticker:"NZD_CAD",display_name:"NZDCAD",logo_urls:["https://cdn.iccandle.ai/web-assets/NZD.svg","https://cdn.iccandle.ai/web-assets/CAD.svg"],description:"NZD CAD",type:"forex",session:"1700-1700",pricescale:1e5,resolve_symbol:"NZDCAD"},{ticker:"EUR_CAD",display_name:"EURCAD",logo_urls:["https://cdn.iccandle.ai/web-assets/EUR.svg","https://cdn.iccandle.ai/web-assets/CAD.svg"],description:"EUR CAD",type:"forex",session:"1700-1700",pricescale:1e5,resolve_symbol:"EURCAD"},{ticker:"EUR_AUD",display_name:"EURAUD",logo_urls:["https://cdn.iccandle.ai/web-assets/EUR.svg","https://cdn.iccandle.ai/web-assets/AUD.svg"],description:"EUR AUD",type:"forex",session:"1700-1700",pricescale:1e5,resolve_symbol:"EURAUD"},{ticker:"XAU_USD",display_name:"XAUUSD",logo_urls:["https://cdn.iccandle.ai/web-assets/XAU.svg"],description:"Gold",type:"commodity",session:"1700-1700",pricescale:1e3,resolve_symbol:"XAUUSD"},{ticker:"BCO_USD",display_name:"BCOUSD",logo_urls:["https://cdn.iccandle.ai/web-assets/BCO.svg"],description:"Brent Crude Oil",type:"commodity",session:"1700-1700",pricescale:1e3,resolve_symbol:"SpotBrent"},{ticker:"SPX500_USD",display_name:"S&P500",logo_urls:["https://cdn.iccandle.ai/web-assets/SPX500.svg"],description:"S&P 500",type:"indices",session:"1700-1700",pricescale:10,resolve_symbol:"SP500"},{ticker:"NAS100_USD",display_name:"NASDAQ100",logo_urls:["https://cdn.iccandle.ai/web-assets/NAS100.svg"],description:"NASDAQ 100",type:"indices",session:"1700-1700",pricescale:10,resolve_symbol:"NAS100"},{ticker:"US30_USD",display_name:"US30",logo_urls:["https://cdn.iccandle.ai/web-assets/US30.svg"],description:"US Wall St 30",type:"indices",session:"1700-1700",pricescale:10,resolve_symbol:"US30"},{ticker:"BTCUSDT",display_name:"BTCUSDT",logo_urls:["https://cdn.iccandle.ai/web-assets/BTC.svg"],description:"BTCUSDT",type:"crypto",session:"24x7",pricescale:100,resolve_symbol:"BTCUSD"},{ticker:"ETHUSDT",display_name:"ETHUSDT",logo_urls:["https://cdn.iccandle.ai/web-assets/ETH.svg"],description:"ETHUSDT",type:"crypto",session:"24x7",pricescale:100,resolve_symbol:"ETHUSD"},{ticker:"XRPUSDT",display_name:"XRPUSDT",logo_urls:["https://cdn.iccandle.ai/web-assets/XRP.svg"],description:"XRPUSDT",type:"crypto",session:"24x7",pricescale:1e4,resolve_symbol:"XRPUSD"},{ticker:"SOLUSDT",display_name:"SOLUSDT",logo_urls:["https://cdn.iccandle.ai/web-assets/SOL.svg"],description:"SOLUSDT",type:"crypto",session:"24x7",pricescale:100,resolve_symbol:"SOLUSD"},{ticker:"ADAUSDT",display_name:"ADAUSDT",logo_urls:["https://cdn.iccandle.ai/web-assets/ADA.svg"],description:"ADAUSDT",type:"crypto",session:"24x7",pricescale:1e4,resolve_symbol:"ADAUSD"},{ticker:"AVAUSDT",display_name:"AVAUSDT",logo_urls:["https://cdn.iccandle.ai/web-assets/AVA.svg"],description:"AVAUSDT",type:"crypto",session:"24x7",pricescale:1e4,resolve_symbol:"AVAUSD"},{ticker:"AVAXUSDT",display_name:"AVAXUSDT",logo_urls:["https://cdn.iccandle.ai/web-assets/AVAX.svg"],description:"AVAXUSDT",type:"crypto",session:"24x7",pricescale:100,resolve_symbol:"AVAXUSD"},{ticker:"BNBUSDT",display_name:"BNBUSDT",logo_urls:["https://cdn.iccandle.ai/web-assets/BNB.svg"],description:"BNBUSDT",type:"crypto",session:"24x7",pricescale:100,resolve_symbol:"BNBUSD"},{ticker:"DOGEUSDT",display_name:"DOGEUSDT",logo_urls:["https://cdn.iccandle.ai/web-assets/DOGE.svg"],description:"DOGEUSDT",type:"crypto",session:"24x7",pricescale:1e5,resolve_symbol:"DOGUSD"},{ticker:"DOTUSDT",display_name:"DOTUSDT",logo_urls:["https://cdn.iccandle.ai/web-assets/DOT.svg"],description:"DOTUSDT",type:"crypto",session:"24x7",pricescale:1e3,resolve_symbol:"DOTUSD"},{ticker:"TRXUSDT",display_name:"TRXUSDT",logo_urls:["https://cdn.iccandle.ai/web-assets/TRX.svg"],description:"TRXUSDT",type:"crypto",session:"24x7",pricescale:1e4,resolve_symbol:"TRXUSD"},{ticker:"AAPL",display_name:"AAPL",logo_urls:["https://cdn.iccandle.ai/web-assets/AAPL.svg"],description:"Apple Inc.",type:"stock",session:"24x7",pricescale:100,resolve_symbol:"AAPL"},{ticker:"AMZN",display_name:"AMZN",logo_urls:["https://cdn.iccandle.ai/web-assets/AMZN.svg"],description:"Amazon.Com Inc",type:"stock",session:"24x7",pricescale:100,resolve_symbol:"AMZN"},{ticker:"BRK.B",display_name:"BRK.B",logo_urls:["https://cdn.iccandle.ai/web-assets/BRK.B.svg"],description:"BERKSHIRE HATHAWAY Class B",type:"stock",session:"24x7",pricescale:100,resolve_symbol:"BRKB"},{ticker:"GOOGL",display_name:"GOOGL",logo_urls:["https://cdn.iccandle.ai/web-assets/GOOGL.svg"],description:"Alphabet Inc. Class A Common Stock",type:"stock",session:"24x7",pricescale:100,resolve_symbol:"GOOGL"},{ticker:"KO",display_name:"KO",logo_urls:["https://cdn.iccandle.ai/web-assets/KO.svg"],description:"Coca-Cola Company",type:"stock",session:"24x7",pricescale:100,resolve_symbol:"KO"},{ticker:"META",display_name:"META",logo_urls:["https://cdn.iccandle.ai/web-assets/META.svg"],description:"Meta Platforms, Inc. Class A Common Stock",type:"stock",session:"24x7",pricescale:100,resolve_symbol:"META"},{ticker:"MSFT",display_name:"MSFT",logo_urls:["https://cdn.iccandle.ai/web-assets/MSFT.svg"],description:"Microsoft Corp",type:"stock",session:"24x7",pricescale:100,resolve_symbol:"MSFT"},{ticker:"NFLX",display_name:"NFLX",logo_urls:["https://cdn.iccandle.ai/web-assets/NFLX.svg"],description:"NetFlix Inc",type:"stock",session:"24x7",pricescale:100,resolve_symbol:"NFLX"},{ticker:"NKE",display_name:"NKE",logo_urls:["https://cdn.iccandle.ai/web-assets/NKE.svg"],description:"Nike, Inc.",type:"stock",session:"24x7",pricescale:100,resolve_symbol:"NKE"},{ticker:"NVDA",display_name:"NVDA",logo_urls:["https://cdn.iccandle.ai/web-assets/NVDA.svg"],description:"Nvidia Corp",type:"stock",session:"24x7",pricescale:100,resolve_symbol:"NVDA"},{ticker:"TME",display_name:"TME",logo_urls:["https://cdn.iccandle.ai/web-assets/TME.svg"],description:"Tencent Music Entertainment Group American Depositary Shares, each representing two Class A Ordinary Shares",type:"stock",session:"24x7",pricescale:100,resolve_symbol:"TME"},{ticker:"TSLA",display_name:"TSLA",logo_urls:["https://cdn.iccandle.ai/web-assets/TSLA.svg"],description:"Tesla, Inc. Common Stock",type:"stock",session:"24x7",pricescale:100,resolve_symbol:"TSLA"},{ticker:"XAG_USD",display_name:"XAGUSD",logo_urls:["https://cdn.iccandle.ai/web-assets/XAG.svg"],description:"Silver",type:"commodity",session:"1700-1700",pricescale:1e3,resolve_symbol:"XAGUSD"},{ticker:"XCU_USD",display_name:"XCUUSD",logo_urls:["https://cdn.iccandle.ai/web-assets/XCU.svg"],description:"Copper",type:"commodity",session:"1700-1700",pricescale:1e3,resolve_symbol:"XCUUSD"}];function vd(e){const t=Math.round(Math.log10(e));return Number.isFinite(t)&&t>0?t:5}function Ps(e){const t=Ne(e).toUpperCase();if(t)return Bt.find(n=>{var r,i;return((r=n.resolve_symbol)==null?void 0:r.toUpperCase())===t||((i=n.display_name)==null?void 0:i.toUpperCase())===t||n.ticker.replace(/_/g,"").toUpperCase()===t})}function Sd(e){const t=Ps(e);return t!=null&&t.pricescale?vd(t.pricescale):5}function tc(e,t){if(t)for(const r of["digits","Digits"]){const i=t[r];if(i!=null&&i!==""){const s=Number(i);if(Number.isFinite(s))return Math.round(s)}}const n=Ne(e).toUpperCase();return n.includes("XAU")||n.includes("GOLD")?2:n.includes("JPY")?3:5}function Td(e){const t=Ps(e);switch(t==null?void 0:t.type){case"commodity":return 100;case"crypto":case"indices":case"stock":return 1;case"forex":default:return 1e5}}const xd=.1;function nc(e,t,n){return e==="buy"?n-t:t-n}function kd(e,t,n,r){const i=nc(e,t,n);if(!(!Number.isFinite(i)||i===0)&&!(!Number.isFinite(r)||Math.abs(r)<xd))return r/i}const Cs="USD";function or(e){return Ne(e).toUpperCase()}function ii(e){const t=or(e);return t.length>=6?t.slice(3):Cs}function Os(e){if(e!==Cs&&e==="JPY")return"USDJPY"}function Pd(e,t,n,r,i){const s=ii(e),o=Os(s);if(!o)return;if(or(e)===o){const d=t==="buy"?n:r;return d>0?d:void 0}const a=i[o];if(!a)return;const l=(a.bid+a.ask)/2;return l>0?l:void 0}function Cd(e,t,n,r,i,s,o={}){const a=e==="buy"?n:r;let d=(e==="buy"?a-t:t-a)*i*Td(s);const u=ii(s),f=Pd(s,e,n,r,o);if(f!==void 0)d/=f;else if(u!==Cs)return null;return Math.round(d*100)/100}function Od(e){const t=new Set;for(const n of e){const r=Os(ii(n));r&&or(n)!==r&&t.add(r)}return[...t]}function Ed(e,t){const n=or(e);if(n===t)return!0;const r=Os(ii(e));return r===t&&n!==r}function Ad(e,t,n,r,i){if(!Ed(e.symbol,t))return e;const s=or(e.symbol)===t,o=s?n:e.marketBid??e.currentPrice,a=s?r:e.marketAsk??e.currentPrice,l=e.type==="buy"?o:a,d=e.profitPerPriceUnit!==void 0?Math.round(nc(e.type,e.openPrice,l)*e.profitPerPriceUnit*100)/100:Cd(e.type,e.openPrice,o,a,e.volumeLots,e.symbol,i);return{...e,currentPrice:l,marketBid:o,marketAsk:a,profit:d??e.profit}}function Ne(e){const t=e.trim();return t?t.replace(/m$/i,""):""}function si(e){return Ne(e)||"—"}const He={BUY:0,SELL:1,BUY_LIMIT:2,SELL_LIMIT:3,BUY_STOP:4,SELL_STOP:5,BUY_STOP_LIMIT:6,SELL_STOP_LIMIT:7},Wr=[{mode:"market",label:"Market Execution",orderType:null,isMarket:!0},{mode:"buy_limit",label:"Buy Limit",orderType:He.BUY_LIMIT,isMarket:!1},{mode:"sell_limit",label:"Sell Limit",orderType:He.SELL_LIMIT,isMarket:!1},{mode:"buy_stop",label:"Buy Stop",orderType:He.BUY_STOP,isMarket:!1},{mode:"sell_stop",label:"Sell Stop",orderType:He.SELL_STOP,isMarket:!1},{mode:"buy_stop_limit",label:"Buy Stop Limit",orderType:He.BUY_STOP_LIMIT,isMarket:!1},{mode:"sell_stop_limit",label:"Sell Stop Limit",orderType:He.SELL_STOP_LIMIT,isMarket:!1}];function oi(e){return Wr.find(t=>t.mode===e)??Wr[0]}function ai(e){return oi(e).isMarket}function Vi(e,t){const n=oi(e);return n.orderType!==null?n.orderType:t==="buy"?He.BUY:He.SELL}function $r(e){return e%2===1?"sell":"buy"}function Es(e){return e>=He.BUY_LIMIT&&e<=He.SELL_STOP_LIMIT}function As(e){return e===He.BUY_STOP_LIMIT||e===He.SELL_STOP_LIMIT}function rc(e){return e==="buy_stop_limit"||e==="sell_stop_limit"}const We={GTC:0,TODAY:1,SPECIFIED:2,SPECIFIED_DAY:3},ic=[{value:We.GTC,label:"GTC"},{value:We.TODAY,label:"Today"},{value:We.SPECIFIED,label:"Specified"},{value:We.SPECIFIED_DAY,label:"Specified Day"}];function Ls(e){return e===We.SPECIFIED}function Ns(e){return e===We.SPECIFIED_DAY}const Vr={market:"WebTrading.executionMarket",buy_limit:"WebTrading.executionBuyLimit",sell_limit:"WebTrading.executionSellLimit",buy_stop:"WebTrading.executionBuyStop",sell_stop:"WebTrading.executionSellStop",buy_stop_limit:"WebTrading.executionBuyStopLimit",sell_stop_limit:"WebTrading.executionSellStopLimit"},sc={[We.GTC]:"WebTrading.expirationGtc",[We.TODAY]:"WebTrading.expirationToday",[We.SPECIFIED]:"WebTrading.expirationSpecified",[We.SPECIFIED_DAY]:"WebTrading.expirationSpecifiedDay"};function Ld(e){return e.map(t=>({login:t.login,label:t.label,balance:t.tradeStat.balance,currency:t.currency}))}function Nd(){if(typeof window>"u")return null;const e=localStorage.getItem(ec);return(e==null?void 0:e.trim())||null}function oo(e){if(typeof window>"u")return;const t=e.trim();t&&localStorage.setItem(ec,t)}function Dd(e,t){var n;return t&&e.some(r=>r.login===t)?t:((n=e[0])==null?void 0:n.login)??""}function Ds(e,t=Bt){return t.find(n=>n.ticker===e)}function Rd(e,t=Bt){var i;const n=Ne(e).toUpperCase();if(!n)return null;const r=t.find(s=>{var o;return Ne(s.resolve_symbol??"").toUpperCase()===n||((o=s.display_name)==null?void 0:o.toUpperCase())===n||s.ticker.replace(/_/g,"").toUpperCase()===n||s.ticker.toUpperCase()===n});return r?r.ticker:((i=Ps(e))==null?void 0:i.ticker)??null}function ar(e,t=Bt){const n=Ds(e,t),r=(n==null?void 0:n.resolve_symbol)??e.replace(/_/g,"");return Ne(r).toUpperCase()}function ci(e,t=Bt){const n=Ds(e,t);return n!=null&&n.resolve_symbol?n.resolve_symbol:e.replace(/_/g,"")}function wt(e){const t=Math.round(Math.log10(e));return String(Number.isFinite(t)&&t>0?t:5)}function _t(e,t=Bt){const n=Ds(e,t);return(n==null?void 0:n.pricescale)??1e5}function pe(e,t){return e.toFixed(t)}function Dn(e){return 1/10**e}function Rs(e,t){return e===null||t===null?null:(e+t)/2}function Le(e){const t=e.trim();if(!t)return;const n=Number(t);if(!(!Number.isFinite(n)||n<=0))return n}function oc(e,t,n){if(Ls(e)){if(!t.trim())return;const r=Date.parse(t);return Number.isFinite(r)?Math.floor(r/1e3):void 0}if(Ns(e)){if(!n.trim())return;const r=Date.parse(`${n}T23:59:59`);return Number.isFinite(r)?Math.floor(r/1e3):void 0}}function li(e,t,n){return e===We.GTC||e===We.TODAY?!0:oc(e,t,n)!==void 0}const jd={},ao=e=>{let t;const n=new Set,r=(u,f)=>{const m=typeof u=="function"?u(t):u;if(!Object.is(m,t)){const h=t;t=f??(typeof m!="object"||m===null)?m:Object.assign({},t,m),n.forEach(b=>b(t,h))}},i=()=>t,l={setState:r,getState:i,getInitialState:()=>d,subscribe:u=>(n.add(u),()=>n.delete(u)),destroy:()=>{(jd?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},d=t=e(r,i,l);return l},Md=e=>e?ao(e):ao;function Ud(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var _r={exports:{}},_i={},vr={exports:{}},vi={};/**
|
|
3
3
|
* @license React
|
|
4
4
|
* use-sync-external-store-shim.production.js
|
|
5
5
|
*
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*
|
|
8
8
|
* This source code is licensed under the MIT license found in the
|
|
9
9
|
* LICENSE file in the root directory of this source tree.
|
|
10
|
-
*/var co;function
|
|
10
|
+
*/var co;function Id(){if(co)return vi;co=1;var e=p;function t(f,m){return f===m&&(f!==0||1/f===1/m)||f!==f&&m!==m}var n=typeof Object.is=="function"?Object.is:t,r=e.useState,i=e.useEffect,s=e.useLayoutEffect,o=e.useDebugValue;function a(f,m){var h=m(),b=r({inst:{value:h,getSnapshot:m}}),v=b[0].inst,w=b[1];return s(function(){v.value=h,v.getSnapshot=m,l(v)&&w({inst:v})},[f,h,m]),i(function(){return l(v)&&w({inst:v}),f(function(){l(v)&&w({inst:v})})},[f]),o(h),h}function l(f){var m=f.getSnapshot;f=f.value;try{var h=m();return!n(f,h)}catch{return!0}}function d(f,m){return m()}var u=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?d:a;return vi.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:u,vi}var Si={};/**
|
|
11
11
|
* @license React
|
|
12
12
|
* use-sync-external-store-shim.development.js
|
|
13
13
|
*
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*
|
|
16
16
|
* This source code is licensed under the MIT license found in the
|
|
17
17
|
* LICENSE file in the root directory of this source tree.
|
|
18
|
-
*/var lo;function
|
|
18
|
+
*/var lo;function Fd(){return lo||(lo=1,process.env.NODE_ENV!=="production"&&(function(){function e(h,b){return h===b&&(h!==0||1/h===1/b)||h!==h&&b!==b}function t(h,b){u||i.startTransition===void 0||(u=!0,console.error("You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release."));var v=b();if(!f){var w=b();s(v,w)||(console.error("The result of getSnapshot should be cached to avoid an infinite loop"),f=!0)}w=o({inst:{value:v,getSnapshot:b}});var g=w[0].inst,T=w[1];return l(function(){g.value=v,g.getSnapshot=b,n(g)&&T({inst:g})},[h,v,b]),a(function(){return n(g)&&T({inst:g}),h(function(){n(g)&&T({inst:g})})},[h]),d(v),v}function n(h){var b=h.getSnapshot;h=h.value;try{var v=b();return!s(h,v)}catch{return!0}}function r(h,b){return b()}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var i=p,s=typeof Object.is=="function"?Object.is:e,o=i.useState,a=i.useEffect,l=i.useLayoutEffect,d=i.useDebugValue,u=!1,f=!1,m=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?r:t;Si.useSyncExternalStore=i.useSyncExternalStore!==void 0?i.useSyncExternalStore:m,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())})()),Si}var uo;function ac(){return uo||(uo=1,process.env.NODE_ENV==="production"?vr.exports=Id():vr.exports=Fd()),vr.exports}/**
|
|
19
19
|
* @license React
|
|
20
20
|
* use-sync-external-store-shim/with-selector.production.js
|
|
21
21
|
*
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
*
|
|
24
24
|
* This source code is licensed under the MIT license found in the
|
|
25
25
|
* LICENSE file in the root directory of this source tree.
|
|
26
|
-
*/var fo;function
|
|
26
|
+
*/var fo;function Bd(){if(fo)return _i;fo=1;var e=p,t=ac();function n(d,u){return d===u&&(d!==0||1/d===1/u)||d!==d&&u!==u}var r=typeof Object.is=="function"?Object.is:n,i=t.useSyncExternalStore,s=e.useRef,o=e.useEffect,a=e.useMemo,l=e.useDebugValue;return _i.useSyncExternalStoreWithSelector=function(d,u,f,m,h){var b=s(null);if(b.current===null){var v={hasValue:!1,value:null};b.current=v}else v=b.current;b=a(function(){function g(C){if(!T){if(T=!0,x=C,C=m(C),h!==void 0&&v.hasValue){var E=v.value;if(h(E,C))return y=E}return y=C}if(E=y,r(x,C))return E;var k=m(C);return h!==void 0&&h(E,k)?(x=C,E):(x=C,y=k)}var T=!1,x,y,O=f===void 0?null:f;return[function(){return g(u())},O===null?void 0:function(){return g(O())}]},[u,f,m,h]);var w=i(d,b[0],b[1]);return o(function(){v.hasValue=!0,v.value=w},[w]),l(w),w},_i}var Ti={};/**
|
|
27
27
|
* @license React
|
|
28
28
|
* use-sync-external-store-shim/with-selector.development.js
|
|
29
29
|
*
|
|
@@ -31,21 +31,21 @@
|
|
|
31
31
|
*
|
|
32
32
|
* This source code is licensed under the MIT license found in the
|
|
33
33
|
* LICENSE file in the root directory of this source tree.
|
|
34
|
-
*/var ho;function $d(){return ho||(ho=1,process.env.NODE_ENV!=="production"&&(function(){function e(d,u){return d===u&&(d!==0||1/d===1/u)||d!==d&&u!==u}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var t=p,n=cc(),r=typeof Object.is=="function"?Object.is:e,i=n.useSyncExternalStore,s=t.useRef,o=t.useEffect,a=t.useMemo,l=t.useDebugValue;Ti.useSyncExternalStoreWithSelector=function(d,u,f,m,h){var b=s(null);if(b.current===null){var v={hasValue:!1,value:null};b.current=v}else v=b.current;b=a(function(){function g(C){if(!T){if(T=!0,x=C,C=m(C),h!==void 0&&v.hasValue){var E=v.value;if(h(E,C))return y=E}return y=C}if(E=y,r(x,C))return E;var k=m(C);return h!==void 0&&h(E,k)?(x=C,E):(x=C,y=k)}var T=!1,x,y,O=f===void 0?null:f;return[function(){return g(u())},O===null?void 0:function(){return g(O())}]},[u,f,m,h]);var _=i(d,b[0],b[1]);return o(function(){v.hasValue=!0,v.value=_},[_]),l(_),_},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())})()),Ti}var mo;function Vd(){return mo||(mo=1,process.env.NODE_ENV==="production"?wr.exports=Wd():wr.exports=$d()),wr.exports}var Hd=Vd();const zd=Id(Hd),lc={},{useDebugValue:qd}=p,{useSyncExternalStoreWithSelector:Kd}=zd;let po=!1;const Gd=e=>e;function Qd(e,t=Gd,n){(lc?"production":void 0)!=="production"&&n&&!po&&(console.warn("[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937"),po=!0);const r=Kd(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return qd(r),r}const go=e=>{(lc?"production":void 0)!=="production"&&typeof e!="function"&&console.warn("[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.");const t=typeof e=="function"?Ud(e):e,n=(r,i)=>Qd(t,r,i);return Object.assign(n,t),n},di=e=>e?go(e):go,yo={source:null,symbolKey:null,entryPrice:null,stopLoss:"",takeProfit:"",side:null,showEntryLine:!1,volumeLots:.01,digits:2,priceStep:.01},ne=di(e=>({...yo,setDraft:t=>e(n=>({source:t.source,symbolKey:t.symbolKey!==void 0?t.symbolKey:n.symbolKey,entryPrice:t.entryPrice!==void 0?t.entryPrice:n.entryPrice,stopLoss:t.stopLoss??n.stopLoss,takeProfit:t.takeProfit??n.takeProfit,side:t.side!==void 0?t.side:n.side,showEntryLine:t.showEntryLine??n.showEntryLine,volumeLots:t.volumeLots??n.volumeLots,digits:t.digits??n.digits,priceStep:t.priceStep??n.priceStep})),setOrderSide:({side:t,entryPrice:n})=>e({side:t,entryPrice:n,showEntryLine:!0}),setStopLoss:t=>e({stopLoss:t}),setTakeProfit:t=>e({takeProfit:t}),setVolumeLots:t=>e({volumeLots:t}),clearEntryLinePreview:()=>e({side:null,entryPrice:null,showEntryLine:!1}),clearDraft:()=>e({...yo})}));function xi(e,t){return e.toFixed(t)}function Zd({symbolTicker:e,bid:t,ask:n,defaultVolumeLots:r,volumeStep:i,minVolumeLots:s,isSubmitting:o,isAccountsLoading:a,selectedLogin:l,isDragging:d,sidePanelTab:u="trade",onDragHandlePointerDown:f,onExpandedChange:m,onExpand:h,onPlaceOrder:b}){const{t:v}=Te(),[_,g]=p.useState(String(r)),[T,x]=p.useState(null),[y,O]=p.useState(u),C=ne(A=>A.setOrderSide),E=ne(A=>A.setVolumeLots);u!==y&&(O(u),x(null));const k=T??u==="scan";p.useEffect(()=>{m()},[k,m]);const U=()=>{const A=!k;A&&h(),x(A)},F=Number(wt(vt(e))),H=t!==null?pe(t,F):"—",L=n!==null?pe(n,F):"—",K=!o&&!a&&l!==""&&(t!==null&&n!==null),re=A=>{const W=Number(_),R=Number.isFinite(W)&&W>0?W:r,G=Math.max(s,R+A*i),ae=xi(G,2);g(ae),E(G)},P=()=>{const A=Number(_);if(!Number.isFinite(A)||A<=0){g(xi(r,2)),E(r);return}const W=Math.max(s,A),R=xi(W,2);g(R),E(W)},D=A=>{t===null||n===null||C({side:A,entryPrice:A==="buy"?n:t})},j=A=>{if(t===null||n===null||!l)return;const W=Number(_),R=Math.max(s,Number.isFinite(W)&&W>0?W:r);C({side:A,entryPrice:A==="buy"?n:t}),b({login:l,side:A,volumeLots:R,bid:t,ask:n})};return c.jsx("div",{className:`web-trading-widget-mini-order${k?" web-trading-widget-mini-order--expanded":" web-trading-widget-mini-order--collapsed"}`,children:c.jsxs("div",{className:"web-trading-widget-mini-order__row",children:[c.jsx("button",{type:"button","aria-label":v("WebTrading.moveQuickOrderPanel"),onPointerDown:f,className:`web-trading-widget-mini-order__drag-handle${d?" web-trading-widget-mini-order__drag-handle--grabbing":""}`,children:c.jsx(ec,{className:"web-trading-widget-icon web-trading-widget-icon--sm",strokeWidth:2})}),k?c.jsxs(c.Fragment,{children:[c.jsxs("button",{type:"button",disabled:!K,className:"web-trading-widget-mini-order__side-btn web-trading-widget-mini-order__side-btn--sell",onMouseDown:()=>D("sell"),onClick:()=>j("sell"),children:[c.jsx("span",{className:"web-trading-widget-mini-order__price",children:H}),c.jsx("span",{className:"web-trading-widget-mini-order__label web-trading-widget-mini-order__label--sell",children:v("WebTrading.sell").toUpperCase()})]}),c.jsxs("div",{className:"web-trading-widget-mini-order__volume",children:[c.jsx("button",{type:"button","aria-label":v("WebTrading.decreaseVolume"),disabled:!K,className:"web-trading-widget-mini-order__volume-btn",onClick:()=>re(-1),children:c.jsx(Br,{className:"web-trading-widget-icon web-trading-widget-icon--xs",strokeWidth:2.5})}),c.jsx("input",{type:"text",inputMode:"decimal",value:_,disabled:!K,onChange:A=>g(A.target.value),onBlur:P,className:"web-trading-widget-mini-order__volume-input"}),c.jsx("button",{type:"button","aria-label":v("WebTrading.increaseVolume"),disabled:!K,className:"web-trading-widget-mini-order__volume-btn",onClick:()=>re(1),children:c.jsx($i,{className:"web-trading-widget-icon web-trading-widget-icon--xs",strokeWidth:2.5})})]}),c.jsxs("button",{type:"button",disabled:!K,className:"web-trading-widget-mini-order__side-btn web-trading-widget-mini-order__side-btn--buy",onMouseDown:()=>D("buy"),onClick:()=>j("buy"),children:[c.jsx("span",{className:"web-trading-widget-mini-order__label web-trading-widget-mini-order__label--buy",children:v("WebTrading.buy").toUpperCase()}),c.jsx("span",{className:"web-trading-widget-mini-order__price",children:L})]})]}):null,c.jsx("button",{type:"button","aria-label":v(k?"WebTrading.collapseQuickOrderPanel":"WebTrading.expandQuickOrderPanel"),"aria-expanded":k,className:"web-trading-widget-mini-order__toggle",onClick:U,children:k?c.jsx(hd,{className:"web-trading-widget-icon web-trading-widget-icon--sm",strokeWidth:2.5}):c.jsx(md,{className:"web-trading-widget-icon web-trading-widget-icon--sm",strokeWidth:2.5})})]})})}const Yd="web-trading-widget-mini-exec-panel-position",dc={x:56,y:96};function bo(e,t){const n=t==null?void 0:t.offsetParent;if(!t||!n)return e;const r=Math.max(0,n.clientWidth-t.offsetWidth),i=Math.max(0,n.clientHeight-t.offsetHeight);return{x:Math.min(r,Math.max(0,e.x)),y:Math.min(i,Math.max(0,e.y))}}function _o(e,t){e.style.left=`${t.x}px`,e.style.top=`${t.y}px`}function Jd(e,t){const n=t==null?void 0:t.offsetParent;return!t||!n?null:{x:e==="top-right"?Math.max(0,n.clientWidth-t.offsetWidth-16):dc.x,y:16}}function Xd(e){if(typeof window>"u")return null;try{const t=window.localStorage.getItem(e);if(!t)return null;const n=JSON.parse(t);if(typeof n.x=="number"&&typeof n.y=="number")return{x:n.x,y:n.y}}catch{}return null}function wo(e,t){try{e.hasPointerCapture(t)&&e.releasePointerCapture(t)}catch{}}function uc(e){const t=(e==null?void 0:e.storageKey)??Yd,n=(e==null?void 0:e.defaultPosition)??dc,r=e==null?void 0:e.defaultAlign,i=(e==null?void 0:e.isActive)??!0,s=p.useRef(null),[o,a]=p.useState(n),[l,d]=p.useState(!1),u=p.useRef(n),f=p.useRef(null);p.useEffect(()=>{u.current=o},[o]);const m=p.useCallback(v=>{const _=s.current,g=bo(v,_);u.current=g,a(g),_&&_o(_,g)},[]),h=p.useCallback(()=>{m(u.current)},[m]);p.useEffect(()=>{if(!i)return;const v=Xd(t);if(v){m(v);return}const _=r?Jd(r,s.current):null;m(_??u.current)},[m,r,i,t]);const b=p.useCallback(v=>{v.preventDefault(),v.stopPropagation();const _=v.currentTarget,g=s.current;if(!g)return;const T=v.pointerId;_.setPointerCapture(T);const x=v.clientX,y=v.clientY,O=u.current;d(!0),document.body.style.cursor="grabbing",document.body.style.userSelect="none";const C=(U,F)=>{const H=bo({x:O.x+(U-x),y:O.y+(F-y)},g);u.current=H,_o(g,H)},E=U=>{if(U.pointerId===T){wo(_,T),_.removeEventListener("pointermove",k),_.removeEventListener("pointerup",E),_.removeEventListener("pointercancel",E),f.current=null,d(!1),a(u.current),document.body.style.cursor="",document.body.style.userSelect="";try{window.localStorage.setItem(t,JSON.stringify(u.current))}catch{}}},k=U=>{U.pointerId===T&&(U.preventDefault(),C(U.clientX,U.clientY))};_.addEventListener("pointermove",k),_.addEventListener("pointerup",E),_.addEventListener("pointercancel",E),f.current=()=>{wo(_,T),_.removeEventListener("pointermove",k),_.removeEventListener("pointerup",E),_.removeEventListener("pointercancel",E),document.body.style.cursor="",document.body.style.userSelect="",d(!1)}},[t]);return p.useEffect(()=>{const v=()=>{m(u.current)};return window.addEventListener("resize",v),()=>{var _;window.removeEventListener("resize",v),(_=f.current)==null||_.call(f),f.current=null,document.body.style.cursor="",document.body.style.userSelect=""}},[m]),{panelRef:s,position:o,isDragging:l,onDragStart:b,reclamp:h}}const fc=200,eu=201,tu=202,nu=203,ru=204,hc=0,iu=2,mc=0;function cr(e){const t=Number(e.trim());if(!Number.isFinite(t))throw new Error("Invalid trading account login.");return t}function js(e){return Math.round(e*1e4)}function su(e){return e>=2&&e<=7}function ou(e){return{Action:ru,Order:Number(e.orderTicket),Login:cr(e.login),Symbol:e.symbol.replace(/m$/i,""),Type:e.orderType}}function au(e){return{Action:tu,Login:cr(e.login),Symbol:e.symbol.replace(/m$/i,""),Position:Number(e.positionTicket),Digits:e.digits,Comment:e.comment??"",...e.priceSL!==void 0?{PriceSL:e.priceSL}:{},...e.priceTP!==void 0?{PriceTP:e.priceTP}:{}}}function cu(e){return{Action:nu,Order:Number(e.orderTicket),Login:cr(e.login),Symbol:e.symbol.replace(/m$/i,""),Type:e.orderType,Volume:js(e.volumeLots),Digits:e.digits,TypeTime:e.typeTime,Comment:e.comment??"order modify",PriceOrder:e.priceOrder,...e.priceSL!==void 0?{PriceSL:e.priceSL}:{},...e.priceTP!==void 0?{PriceTP:e.priceTP}:{},...e.priceTrigger!==void 0?{PriceTrigger:e.priceTrigger}:{}}}function lu(e){const t=e.positionSide==="buy"?1:0;return{Action:fc,Login:cr(e.login),Symbol:e.symbol.replace(/m$/i,""),Type:t,TypeFill:hc,Volume:js(e.volumeLots),Digits:e.digits,TypeTime:mc,Comment:e.comment??"",Position:Number(e.positionTicket)}}function du(e){const t=!su(e.orderType);return{Action:t?fc:eu,Login:cr(e.login),Symbol:e.symbol,Type:e.orderType,TypeFill:t?hc:iu,Volume:js(e.volumeLots),Digits:e.digits,TypeTime:e.typeTime??mc,Comment:e.comment,...e.priceOrder!==void 0?{PriceOrder:e.priceOrder}:{},...e.priceSL!==void 0?{PriceSL:e.priceSL}:{},...e.priceTP!==void 0?{PriceTP:e.priceTP}:{},...e.priceTrigger!==void 0?{PriceTrigger:e.priceTrigger}:{},...e.timeExpiration!==void 0?{TimeExpiration:e.timeExpiration}:{}}}function uu(e){return{async sendRequest(t){return e.post("/api/dealer/send_request",t,{headers:{"Content-Type":"application/json"}})},async getPositions(t){return t.trim()?e.get(`/api/trade/position/page?login=${encodeURIComponent(t)}&offset=0&total=50`):null},async getOrders(t){return t.trim()?e.get(`/api/trade/order/page?login=${encodeURIComponent(t)}&offset=0&total=10`):null},async getDealsTotal(t,n,r){return t.trim()?e.get(`/api/trade/deal/total?login=${encodeURIComponent(t)}&from=${n}&to=${r}`):null},async getDeals(t,n,r,i,s){return t.trim()?e.get(`/api/trade/deal/page?login=${encodeURIComponent(t)}&from=${n}&to=${r}&offset=${i}&total=${s}`):null}}}const fu=new Set(["10009","10008"]);function pt(e){if(e===void 0||e==="")return;const t=Number(e);return Number.isFinite(t)?t:void 0}function hu(e){const t=pt(e);return t===void 0?.01:t/1e4}function mu(e){var t;return(t=e.find(n=>n.answer))==null?void 0:t.answer}function pu(e){var t,n,r,i;for(const s of e){const o=((t=s.result)==null?void 0:t.Retcode)??((n=s.answer)==null?void 0:n.ResultRetcode);if(o)return{retcode:String(o),price:pt(((r=s.result)==null?void 0:r.Price)??((i=s.answer)==null?void 0:i.ResultPrice))}}return{retcode:""}}function $n(e){return fu.has(e)}function Fn(e,t){var T,x,y;if(!e||typeof e!="object")return null;const r=e.data;if(!(r!=null&&r.length))return null;const i=mu(r),{retcode:s,price:o}=pu(r),a=$n(s),l=(i==null?void 0:i.ResultDeal)||(i==null?void 0:i.ResultOrder)||(i==null?void 0:i.Order),d=((T=i==null?void 0:i.Symbol)==null?void 0:T.trim())||t.symbol,u=Ne(d),f=pt(i==null?void 0:i.Type),m=f!==void 0?f%2===0?"buy":"sell":t.side,h=pt(i==null?void 0:i.ResultPrice)??pt(i==null?void 0:i.PriceOrder)??o??t.openPrice,b=pt(i==null?void 0:i.ResultMarketBid),v=pt(i==null?void 0:i.ResultMarketAsk),_=m==="buy"?b??h:v??h,g=Td(u);return{ticket:String(l||Math.floor(Date.now()/1e3)),login:((x=i==null?void 0:i.Login)==null?void 0:x.trim())||t.login,symbol:u,displaySymbol:si(u),side:m,volumeLots:hu(i==null?void 0:i.Volume)||t.volumeLots,openPrice:h,currentPrice:_,stopLoss:pt(i==null?void 0:i.PriceSL),takeProfit:pt(i==null?void 0:i.PriceTP),comment:((y=i==null?void 0:i.Comment)==null?void 0:y.trim())||t.comment,digits:Math.round(g),retcode:s,isSuccess:a,marketBid:b,marketAsk:v}}function gu(e){return e.type==="buy"?e.marketBid??e.currentPrice:e.marketAsk??e.currentPrice}function yu(e,t){return{async submitOrder(n){const r=n.login.trim();if(!r)return{success:!1,message:"Please select a trading account."};const i=Math.max(.01,n.volumeLots),s=ci(n.symbolTicker,t),o=Number(wt(vt(n.symbolTicker,t))),a=ai(n.executionMode),l=As(n.orderType),d=n.typeTime;if(!a&&n.priceOrder===void 0)return{success:!1,message:l?"Please set a limit price for this order.":"Please set an order price for pending orders."};if(l&&n.priceTrigger===void 0)return{success:!1,message:"Please set a stop price for stop limit orders."};if(!a&&!li(d,n.expirationDateTime??"",n.expirationDay??""))return{success:!1,message:"Please set an expiration date for this order."};const u=a?n.side==="buy"?n.ask:n.bid:n.priceOrder??(n.side==="buy"?n.ask:n.bid),f=a?void 0:ac(d,n.expirationDateTime??"",n.expirationDay??"");try{const m=du({login:r,symbol:s,volumeLots:i,orderType:n.orderType,digits:o,comment:n.comment.trim(),priceOrder:Es(n.orderType)?n.priceOrder:void 0,priceTrigger:l?n.priceTrigger:void 0,priceSL:n.stopLoss,priceTP:n.takeProfit,typeTime:a?void 0:d,timeExpiration:f}),h=await e.sendRequest(m),b=Fn(h,{login:r,symbol:s,side:$r(n.orderType),volumeLots:i,openPrice:u,digits:o,comment:n.comment.trim()});return b!=null&&b.isSuccess?{success:!0,ticket:b.ticket,side:b.side,volumeLots:b.volumeLots,displaySymbol:b.displaySymbol,price:b.openPrice}:{success:!1,message:h&&typeof h=="object"&&"message"in h&&typeof h.message=="string"?h.message:"Order was not accepted by the dealer."}}catch(m){return{success:!1,message:m instanceof Error?m.message:"Failed to place order."}}},async closePosition(n){try{const r=gu(n),i=lu({login:n.login,symbol:n.symbol,positionTicket:n.ticket,volumeLots:n.volumeLots,positionSide:n.type,digits:n.digits,comment:n.comment.trim()}),s=await e.sendRequest(i),o=Fn(s,{login:n.login,symbol:n.symbol,side:n.type==="buy"?"sell":"buy",volumeLots:n.volumeLots,openPrice:r,digits:n.digits,comment:n.comment.trim()});return o&&!$n(o.retcode)?{success:!1,message:`Close failed (retcode ${o.retcode}).`}:{success:!0}}catch(r){return{success:!1,message:r instanceof Error?r.message:"Failed to close position."}}},async deleteOrder(n){try{const r=ou({login:n.login,orderTicket:n.ticket,symbol:n.symbol,orderType:n.orderType}),i=await e.sendRequest(r),s=Fn(i,{login:n.login,symbol:n.symbol,side:n.side,volumeLots:n.volumeLots,openPrice:n.orderPrice,digits:n.digits,comment:n.comment});return s&&!$n(s.retcode)?{success:!1,message:`Delete failed (retcode ${s.retcode}).`}:{success:!0}}catch(r){return{success:!1,message:r instanceof Error?r.message:"Failed to delete order."}}},async modifyOrder(n,r){try{const i=cu({login:n.login,orderTicket:n.ticket,symbol:n.symbol,orderType:n.orderType,volumeLots:r.volumeLots,digits:n.digits,priceOrder:r.priceOrder,priceTrigger:r.priceTrigger,priceSL:r.stopLoss,priceTP:r.takeProfit,typeTime:n.typeTime,comment:r.comment.trim()||"order modify"}),s=await e.sendRequest(i),o=Fn(s,{login:n.login,symbol:n.symbol,side:n.side,volumeLots:r.volumeLots,openPrice:r.priceOrder,digits:n.digits,comment:r.comment.trim()});return o&&!$n(o.retcode)?{success:!1,message:`Modify failed (retcode ${o.retcode}).`}:{success:!0}}catch(i){return{success:!1,message:i instanceof Error?i.message:"Failed to modify order."}}},async modifyPosition(n,r){try{const i=au({login:n.login,positionTicket:n.ticket,symbol:n.symbol,digits:n.digits,priceSL:r.stopLoss,priceTP:r.takeProfit,comment:r.comment.trim()}),s=await e.sendRequest(i),o=Fn(s,{login:n.login,symbol:n.symbol,side:n.type,volumeLots:n.volumeLots,openPrice:n.openPrice,digits:n.digits,comment:r.comment.trim()});return o&&!$n(o.retcode)?{success:!1,message:`Modify failed (retcode ${o.retcode}).`}:{success:!0}}catch(i){return{success:!1,message:i instanceof Error?i.message:"Failed to modify position."}}}}}function pc(e,t){return function(){return e.apply(t,arguments)}}const{toString:bu}=Object.prototype,{getPrototypeOf:kn}=Object,{iterator:lr,toStringTag:gc}=Symbol,Hr=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),Qn=(e,t)=>{let n=e;const r=[];for(;n!=null&&n!==Object.prototype;){if(r.indexOf(n)!==-1)return!1;if(r.push(n),Hr(n,t))return!0;n=kn(n)}return!1},_u=(e,t)=>e!=null&&Qn(e,t)?e[t]:void 0,Ms=(e=>t=>{const n=bu.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),ot=e=>(e=e.toLowerCase(),t=>Ms(t)===e),ui=e=>t=>typeof t===e,{isArray:rn}=Array,Pn=ui("undefined");function Rn(e){return e!==null&&!Pn(e)&&e.constructor!==null&&!Pn(e.constructor)&&ze(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const yc=ot("ArrayBuffer");function wu(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&yc(e.buffer),t}const vu=ui("string"),ze=ui("function"),bc=ui("number"),jn=e=>e!==null&&typeof e=="object",Su=e=>e===!0||e===!1,Ar=e=>{if(!jn(e))return!1;const t=kn(e);return(t===null||t===Object.prototype||kn(t)===null)&&!Qn(e,gc)&&!Qn(e,lr)},Tu=e=>{if(!jn(e)||Rn(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},xu=ot("Date"),ku=ot("File"),Pu=e=>!!(e&&typeof e.uri<"u"),Cu=e=>e&&typeof e.getParts<"u",Ou=ot("Blob"),Eu=ot("FileList"),Au=e=>jn(e)&&ze(e.pipe);function Lu(){return typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}}const vo=Lu(),So=typeof vo.FormData<"u"?vo.FormData:void 0,Nu=e=>{if(!e)return!1;if(So&&e instanceof So)return!0;const t=kn(e);if(!t||t===Object.prototype||!ze(e.append))return!1;const n=Ms(e);return n==="formdata"||n==="object"&&ze(e.toString)&&e.toString()==="[object FormData]"},Du=ot("URLSearchParams"),[Ru,ju,Mu,Uu]=["ReadableStream","Request","Response","Headers"].map(ot),Iu=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function dr(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let r,i;if(typeof e!="object"&&(e=[e]),rn(e))for(r=0,i=e.length;r<i;r++)t.call(null,e[r],r,e);else{if(Rn(e))return;const s=n?Object.getOwnPropertyNames(e):Object.keys(e),o=s.length;let a;for(r=0;r<o;r++)a=s[r],t.call(null,e[a],a,e)}}function _c(e,t){if(Rn(e))return null;t=t.toLowerCase();const n=Object.keys(e);let r=n.length,i;for(;r-- >0;)if(i=n[r],t===i.toLowerCase())return i;return null}const Wt=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,wc=e=>!Pn(e)&&e!==Wt;function Hi(...e){const{caseless:t,skipUndefined:n}=wc(this)&&this||{},r={},i=(s,o)=>{if(o==="__proto__"||o==="constructor"||o==="prototype")return;const a=t&&typeof o=="string"&&_c(r,o)||o,l=Hr(r,a)?r[a]:void 0;Ar(l)&&Ar(s)?r[a]=Hi(l,s):Ar(s)?r[a]=Hi({},s):rn(s)?r[a]=s.slice():(!n||!Pn(s))&&(r[a]=s)};for(let s=0,o=e.length;s<o;s++){const a=e[s];if(!a||Rn(a)||(dr(a,i),typeof a!="object"||rn(a)))continue;const l=Object.getOwnPropertySymbols(a);for(let d=0;d<l.length;d++){const u=l[d];Zu.call(a,u)&&i(a[u],u)}}return r}const Fu=(e,t,n,{allOwnKeys:r}={})=>(dr(t,(i,s)=>{n&&ze(i)?Object.defineProperty(e,s,{__proto__:null,value:pc(i,n),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(e,s,{__proto__:null,value:i,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:r}),e),Bu=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),Wu=(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),Object.defineProperty(e.prototype,"constructor",{__proto__:null,value:e,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(e,"super",{__proto__:null,value:t.prototype}),n&&Object.assign(e.prototype,n)},$u=(e,t,n,r)=>{let i,s,o;const a={};if(t=t||{},e==null)return t;do{for(i=Object.getOwnPropertyNames(e),s=i.length;s-- >0;)o=i[s],(!r||r(o,e,t))&&!a[o]&&(t[o]=e[o],a[o]=!0);e=n!==!1&&kn(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},Vu=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return r!==-1&&r===n},Hu=e=>{if(!e)return null;if(rn(e))return e;let t=e.length;if(!bc(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},zu=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&kn(Uint8Array)),qu=(e,t)=>{const r=(e&&e[lr]).call(e);let i;for(;(i=r.next())&&!i.done;){const s=i.value;t.call(e,s[0],s[1])}},Ku=(e,t)=>{let n;const r=[];for(;(n=e.exec(t))!==null;)r.push(n);return r},Gu=ot("HTMLFormElement"),Qu=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,r,i){return r.toUpperCase()+i}),{propertyIsEnumerable:Zu}=Object.prototype,Yu=ot("RegExp"),vc=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};dr(n,(i,s)=>{let o;(o=t(i,s,e))!==!1&&(r[s]=o||i)}),Object.defineProperties(e,r)},Ju=e=>{vc(e,(t,n)=>{if(ze(e)&&["arguments","caller","callee"].includes(n))return!1;const r=e[n];if(ze(r)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},Xu=(e,t)=>{const n={},r=i=>{i.forEach(s=>{n[s]=!0})};return rn(e)?r(e):r(String(e).split(t)),n},ef=()=>{},tf=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function nf(e){return!!(e&&ze(e.append)&&e[gc]==="FormData"&&e[lr])}const rf=e=>{const t=new WeakSet,n=r=>{if(jn(r)){if(t.has(r))return;if(Rn(r))return r;if(!("toJSON"in r)){t.add(r);const i=rn(r)?[]:{};return dr(r,(s,o)=>{const a=n(s);!Pn(a)&&(i[o]=a)}),t.delete(r),i}}return r};return n(e)},sf=ot("AsyncFunction"),of=e=>e&&(jn(e)||ze(e))&&ze(e.then)&&ze(e.catch),Sc=((e,t)=>e?setImmediate:t?((n,r)=>(Wt.addEventListener("message",({source:i,data:s})=>{i===Wt&&s===n&&r.length&&r.shift()()},!1),i=>{r.push(i),Wt.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",ze(Wt.postMessage)),af=typeof queueMicrotask<"u"?queueMicrotask.bind(Wt):typeof process<"u"&&process.nextTick||Sc,Tc=e=>e!=null&&ze(e[lr]),cf=e=>e!=null&&Qn(e,lr)&&Tc(e),S={isArray:rn,isArrayBuffer:yc,isBuffer:Rn,isFormData:Nu,isArrayBufferView:wu,isString:vu,isNumber:bc,isBoolean:Su,isObject:jn,isPlainObject:Ar,isEmptyObject:Tu,isReadableStream:Ru,isRequest:ju,isResponse:Mu,isHeaders:Uu,isUndefined:Pn,isDate:xu,isFile:ku,isReactNativeBlob:Pu,isReactNative:Cu,isBlob:Ou,isRegExp:Yu,isFunction:ze,isStream:Au,isURLSearchParams:Du,isTypedArray:zu,isFileList:Eu,forEach:dr,merge:Hi,extend:Fu,trim:Iu,stripBOM:Bu,inherits:Wu,toFlatObject:$u,kindOf:Ms,kindOfTest:ot,endsWith:Vu,toArray:Hu,forEachEntry:qu,matchAll:Ku,isHTMLForm:Gu,hasOwnProperty:Hr,hasOwnProp:Hr,hasOwnInPrototypeChain:Qn,getSafeProp:_u,reduceDescriptors:vc,freezeMethods:Ju,toObjectSet:Xu,toCamelCase:Qu,noop:ef,toFiniteNumber:tf,findKey:_c,global:Wt,isContextDefined:wc,isSpecCompliantForm:nf,toJSONObject:rf,isAsyncFn:sf,isThenable:of,setImmediate:Sc,asap:af,isIterable:Tc,isSafeIterable:cf},lf=S.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),df=e=>{const t={};let n,r,i;return e&&e.split(`
|
|
35
|
-
`).forEach(function(o){i=o.indexOf(":"),n=o.substring(0,i).trim().toLowerCase(),r=o.substring(i+1).trim(),!(!n||t[n]&&
|
|
36
|
-
`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...n){const r=new this(t);return n.forEach(i=>r.set(i)),r}static accessor(t){const r=(this[To]=this[To]={accessors:{}}).accessors,i=this.prototype;function s(o){const a=Bn(o);r[a]||(_f(i,o),r[a]=!0)}return S.isArray(t)?t.forEach(s):s(t),this}};Fe.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);S.reduceDescriptors(Fe.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(r){this[n]=r}}});S.freezeMethods(Fe);const wf="[REDACTED ****]";function vf(e){if(S.hasOwnProp(e,"toJSON"))return!0;let t=Object.getPrototypeOf(e);for(;t&&t!==Object.prototype;){if(S.hasOwnProp(t,"toJSON"))return!0;t=Object.getPrototypeOf(t)}return!1}function Sf(e,t){const n=new Set(t.map(s=>String(s).toLowerCase())),r=[],i=s=>{if(s===null||typeof s!="object"||S.isBuffer(s))return s;if(r.indexOf(s)!==-1)return;s instanceof Fe&&(s=s.toJSON()),r.push(s);let o;if(S.isArray(s))o=[],s.forEach((a,l)=>{const d=i(a);S.isUndefined(d)||(o[l]=d)});else{if(!S.isPlainObject(s)&&vf(s))return r.pop(),s;o=Object.create(null);for(const[a,l]of Object.entries(s)){const d=n.has(a.toLowerCase())?wf:i(l);S.isUndefined(d)||(o[a]=d)}}return r.pop(),o};return i(e)}let I=class kc extends Error{static from(t,n,r,i,s,o){const a=new kc(t.message,n||t.code,r,i,s);return Object.defineProperty(a,"cause",{__proto__:null,value:t,writable:!0,enumerable:!1,configurable:!0}),a.name=t.name,t.status!=null&&a.status==null&&(a.status=t.status),o&&Object.assign(a,o),a}constructor(t,n,r,i,s){super(t),Object.defineProperty(this,"message",{__proto__:null,value:t,enumerable:!0,writable:!0,configurable:!0}),this.name="AxiosError",this.isAxiosError=!0,n&&(this.code=n),r&&(this.config=r),i&&(this.request=i),s&&(this.response=s,this.status=s.status)}toJSON(){const t=this.config,n=t&&S.hasOwnProp(t,"redact")?t.redact:void 0,r=S.isArray(n)&&n.length>0?Sf(t,n):S.toJSONObject(t);return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:r,code:this.code,status:this.status}}};I.ERR_BAD_OPTION_VALUE="ERR_BAD_OPTION_VALUE";I.ERR_BAD_OPTION="ERR_BAD_OPTION";I.ECONNABORTED="ECONNABORTED";I.ETIMEDOUT="ETIMEDOUT";I.ECONNREFUSED="ECONNREFUSED";I.ERR_NETWORK="ERR_NETWORK";I.ERR_FR_TOO_MANY_REDIRECTS="ERR_FR_TOO_MANY_REDIRECTS";I.ERR_DEPRECATED="ERR_DEPRECATED";I.ERR_BAD_RESPONSE="ERR_BAD_RESPONSE";I.ERR_BAD_REQUEST="ERR_BAD_REQUEST";I.ERR_CANCELED="ERR_CANCELED";I.ERR_NOT_SUPPORT="ERR_NOT_SUPPORT";I.ERR_INVALID_URL="ERR_INVALID_URL";I.ERR_FORM_DATA_DEPTH_EXCEEDED="ERR_FORM_DATA_DEPTH_EXCEEDED";const Tf=null,Pc=100;function zi(e){return S.isPlainObject(e)||S.isArray(e)}function Cc(e){return S.endsWith(e,"[]")?e.slice(0,-2):e}function Pi(e,t,n){return e?e.concat(t).map(function(i,s){return i=Cc(i),!n&&s?"["+i+"]":i}).join(n?".":""):t}function xf(e){return S.isArray(e)&&!e.some(zi)}const kf=S.toFlatObject(S,{},null,function(t){return/^is[A-Z]/.test(t)});function fi(e,t,n){if(!S.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=S.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(T,x){return!S.isUndefined(x[T])});const r=n.metaTokens,i=n.visitor||b,s=n.dots,o=n.indexes,a=n.Blob||typeof Blob<"u"&&Blob,l=n.maxDepth===void 0?Pc:n.maxDepth,d=a&&S.isSpecCompliantForm(t),u=[];if(!S.isFunction(i))throw new TypeError("visitor must be a function");function f(g){if(g===null)return"";if(S.isDate(g))return g.toISOString();if(S.isBoolean(g))return g.toString();if(!d&&S.isBlob(g))throw new I("Blob is not supported. Use a Buffer instead.");if(S.isArrayBuffer(g)||S.isTypedArray(g)){if(d&&typeof a=="function")return new a([g]);if(typeof Buffer<"u")return Buffer.from(g);throw new I("Blob is not supported. Use a Buffer instead.",I.ERR_NOT_SUPPORT)}return g}function m(g){if(g>l)throw new I("Object is too deeply nested ("+g+" levels). Max depth: "+l,I.ERR_FORM_DATA_DEPTH_EXCEEDED)}function h(g,T){if(l===1/0)return JSON.stringify(g);const x=[];return JSON.stringify(g,function(O,C){if(!S.isObject(C))return C;for(;x.length&&x[x.length-1]!==this;)x.pop();return x.push(C),m(T+x.length-1),C})}function b(g,T,x){let y=g;if(S.isReactNative(t)&&S.isReactNativeBlob(g))return t.append(Pi(x,T,s),f(g)),!1;if(g&&!x&&typeof g=="object"){if(S.endsWith(T,"{}"))T=r?T:T.slice(0,-2),g=h(g,1);else if(S.isArray(g)&&xf(g)||(S.isFileList(g)||S.endsWith(T,"[]"))&&(y=S.toArray(g)))return T=Cc(T),y.forEach(function(C,E){!(S.isUndefined(C)||C===null)&&t.append(o===!0?Pi([T],E,s):o===null?T:T+"[]",f(C))}),!1}return zi(g)?!0:(t.append(Pi(x,T,s),f(g)),!1)}const v=Object.assign(kf,{defaultVisitor:b,convertValue:f,isVisitable:zi});function _(g,T,x=0){if(!S.isUndefined(g)){if(m(x),u.indexOf(g)!==-1)throw new Error("Circular reference detected in "+T.join("."));u.push(g),S.forEach(g,function(O,C){(!(S.isUndefined(O)||O===null)&&i.call(t,O,S.isString(C)?C.trim():C,T,v))===!0&&_(O,T?T.concat(C):[C],x+1)}),u.pop()}}if(!S.isObject(e))throw new TypeError("data must be an object");return _(e),t}function xo(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"};return encodeURIComponent(e).replace(/[!'()~]|%20/g,function(r){return t[r]})}function Is(e,t){this._pairs=[],e&&fi(e,this,t)}const Oc=Is.prototype;Oc.append=function(t,n){this._pairs.push([t,n])};Oc.toString=function(t){const n=t?r=>t.call(this,r,xo):xo;return this._pairs.map(function(i){return n(i[0])+"="+n(i[1])},"").join("&")};function Pf(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function Ec(e,t,n){if(!t)return e;e=e||"";const r=S.isFunction(n)?{serialize:n}:n,i=S.getSafeProp(r,"encode")||Pf,s=S.getSafeProp(r,"serialize");let o;if(s?o=s(t,r):o=S.isURLSearchParams(t)?t.toString():new Is(t,r).toString(i),o){const a=e.indexOf("#");a!==-1&&(e=e.slice(0,a)),e+=(e.indexOf("?")===-1?"?":"&")+o}return e}class ko{constructor(){this.handlers=[]}use(t,n,r){return this.handlers.push({fulfilled:t,rejected:n,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){S.forEach(this.handlers,function(r){r!==null&&t(r)})}}const Fs={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0,advertiseZstdAcceptEncoding:!1,validateStatusUndefinedResolves:!0},Cf=typeof URLSearchParams<"u"?URLSearchParams:Is,Of=typeof FormData<"u"?FormData:null,Ef=typeof Blob<"u"?Blob:null,Af={isBrowser:!0,classes:{URLSearchParams:Cf,FormData:Of,Blob:Ef},protocols:["http","https","file","blob","url","data"]},Bs=typeof window<"u"&&typeof document<"u",qi=typeof navigator=="object"&&navigator||void 0,Lf=Bs&&(!qi||["ReactNative","NativeScript","NS"].indexOf(qi.product)<0),Nf=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",Df=Bs&&window.location.href||"http://localhost",Rf=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Bs,hasStandardBrowserEnv:Lf,hasStandardBrowserWebWorkerEnv:Nf,navigator:qi,origin:Df},Symbol.toStringTag,{value:"Module"})),De={...Rf,...Af};function jf(e,t){return fi(e,new De.classes.URLSearchParams,{visitor:function(n,r,i,s){return De.isNode&&S.isBuffer(n)?(this.append(r,n.toString("base64")),!1):s.defaultVisitor.apply(this,arguments)},...t})}const Po=Pc;function Ac(e){if(e>Po)throw new I("FormData field is too deeply nested ("+e+" levels). Max depth: "+Po,I.ERR_FORM_DATA_DEPTH_EXCEEDED)}function Mf(e){const t=[],n=/\w+|\[(\w*)]/g;let r;for(;(r=n.exec(e))!==null;)Ac(t.length),t.push(r[0]==="[]"?"":r[1]||r[0]);return t}function Uf(e){const t={},n=Object.keys(e);let r;const i=n.length;let s;for(r=0;r<i;r++)s=n[r],t[s]=e[s];return t}function Lc(e){function t(n,r,i,s){Ac(s);let o=n[s++];if(o==="__proto__")return!0;const a=Number.isFinite(+o),l=s>=n.length;return o=!o&&S.isArray(i)?i.length:o,l?(S.hasOwnProp(i,o)?i[o]=S.isArray(i[o])?i[o].concat(r):[i[o],r]:i[o]=r,!a):((!S.hasOwnProp(i,o)||!S.isObject(i[o]))&&(i[o]=[]),t(n,r,i[o],s)&&S.isArray(i[o])&&(i[o]=Uf(i[o])),!a)}if(S.isFormData(e)&&S.isFunction(e.entries)){const n={};return S.forEachEntry(e,(r,i)=>{t(Mf(r),i,n,0)}),n}return null}const cn=(e,t)=>e!=null&&S.hasOwnProp(e,t)?e[t]:void 0;function If(e,t,n){if(S.isString(e))try{return(t||JSON.parse)(e),S.trim(e)}catch(r){if(r.name!=="SyntaxError")throw r}return(n||JSON.stringify)(e)}const ur={transitional:Fs,adapter:["xhr","http","fetch"],transformRequest:[function(t,n){const r=n.getContentType()||"",i=r.indexOf("application/json")>-1,s=S.isObject(t);if(s&&S.isHTMLForm(t)&&(t=new FormData(t)),S.isFormData(t))return i?JSON.stringify(Lc(t)):t;if(S.isArrayBuffer(t)||S.isBuffer(t)||S.isStream(t)||S.isFile(t)||S.isBlob(t)||S.isReadableStream(t))return t;if(S.isArrayBufferView(t))return t.buffer;if(S.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let a;if(s){const l=cn(this,"formSerializer");if(r.indexOf("application/x-www-form-urlencoded")>-1)return jf(t,l).toString();if((a=S.isFileList(t))||r.indexOf("multipart/form-data")>-1){const d=cn(this,"env"),u=d&&d.FormData;return fi(a?{"files[]":t}:t,u&&new u,l)}}return s||i?(n.setContentType("application/json",!1),If(t)):t}],transformResponse:[function(t){const n=cn(this,"transitional")||ur.transitional,r=n&&n.forcedJSONParsing,i=cn(this,"responseType"),s=i==="json";if(S.isResponse(t)||S.isReadableStream(t))return t;if(t&&S.isString(t)&&(r&&!i||s)){const a=!(n&&n.silentJSONParsing)&&s;try{return JSON.parse(t,cn(this,"parseReviver"))}catch(l){if(a)throw l.name==="SyntaxError"?I.from(l,I.ERR_BAD_RESPONSE,this,null,cn(this,"response")):l}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:De.classes.FormData,Blob:De.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};S.forEach(["delete","get","head","post","put","patch","query"],e=>{ur.headers[e]={}});function Ci(e,t){const n=this||ur,r=t||n,i=Fe.from(r.headers);let s=r.data;return S.forEach(e,function(a){s=a.call(n,s,i.normalize(),t?t.status:void 0)}),i.normalize(),s}function Nc(e){return!!(e&&e.__CANCEL__)}let fr=class extends I{constructor(t,n,r){super(t??"canceled",I.ERR_CANCELED,n,r),this.name="CanceledError",this.__CANCEL__=!0}};function Dc(e,t,n){const r=n.config.validateStatus;!n.status||!r||r(n.status)?e(n):t(new I("Request failed with status code "+n.status,n.status>=400&&n.status<500?I.ERR_BAD_REQUEST:I.ERR_BAD_RESPONSE,n.config,n.request,n))}function Ff(e){const t=/^([-+\w]{1,25}):(?:\/\/)?/.exec(e);return t&&t[1]||""}function Bf(e,t){e=e||10;const n=new Array(e),r=new Array(e);let i=0,s=0,o;return t=t!==void 0?t:1e3,function(l){const d=Date.now(),u=r[s];o||(o=d),n[i]=l,r[i]=d;let f=s,m=0;for(;f!==i;)m+=n[f++],f=f%e;if(i=(i+1)%e,i===s&&(s=(s+1)%e),d-o<t)return;const h=u&&d-u;return h?Math.round(m*1e3/h):void 0}}function Wf(e,t){let n=0,r=1e3/t,i,s;const o=(d,u=Date.now())=>{n=u,i=null,s&&(clearTimeout(s),s=null),e(...d)};return[(...d)=>{const u=Date.now(),f=u-n;f>=r?o(d,u):(i=d,s||(s=setTimeout(()=>{s=null,o(i)},r-f)))},()=>i&&o(i)]}const zr=(e,t,n=3)=>{let r=0;const i=Bf(50,250);return Wf(s=>{if(!s||typeof s.loaded!="number")return;const o=s.loaded,a=s.lengthComputable?s.total:void 0,l=a!=null?Math.min(o,a):o,d=Math.max(0,l-r),u=i(d);r=Math.max(r,l);const f={loaded:l,total:a,progress:a?l/a:void 0,bytes:d,rate:u||void 0,estimated:u&&a?(a-l)/u:void 0,event:s,lengthComputable:a!=null,[t?"download":"upload"]:!0};e(f)},n)},Co=(e,t)=>{const n=e!=null;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},Oo=e=>(...t)=>S.asap(()=>e(...t)),$f=De.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,De.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(De.origin),De.navigator&&/(msie|trident)/i.test(De.navigator.userAgent)):()=>!0,Vf=De.hasStandardBrowserEnv?{write(e,t,n,r,i,s,o){if(typeof document>"u")return;const a=[`${e}=${encodeURIComponent(t)}`];S.isNumber(n)&&a.push(`expires=${new Date(n).toUTCString()}`),S.isString(r)&&a.push(`path=${r}`),S.isString(i)&&a.push(`domain=${i}`),s===!0&&a.push("secure"),S.isString(o)&&a.push(`SameSite=${o}`),document.cookie=a.join("; ")},read(e){if(typeof document>"u")return null;const t=document.cookie.split(";");for(let n=0;n<t.length;n++){const r=t[n].replace(/^\s+/,""),i=r.indexOf("=");if(i!==-1&&r.slice(0,i)===e)try{return decodeURIComponent(r.slice(i+1))}catch{return r.slice(i+1)}}return null},remove(e){this.write(e,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}};function Hf(e){return typeof e!="string"?!1:/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function zf(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}const qf=/^https?:(?!\/\/)/i,Kf=/[\t\n\r]/g;function Gf(e){let t=0;for(;t<e.length&&e.charCodeAt(t)<=32;)t++;return e.slice(t)}function Qf(e){return Gf(e).replace(Kf,"")}function Eo(e,t){if(typeof e=="string"&&qf.test(Qf(e)))throw new I('Invalid URL: missing "//" after protocol',I.ERR_INVALID_URL,t)}function Rc(e,t,n,r){Eo(t,r);let i=!Hf(t);return e&&(i||n===!1)?(Eo(e,r),zf(e,t)):t}const Ao=e=>e instanceof Fe?{...e}:e;function sn(e,t){e=e||{},t=t||{};const n=Object.create(null);Object.defineProperty(n,"hasOwnProperty",{__proto__:null,value:Object.prototype.hasOwnProperty,enumerable:!1,writable:!0,configurable:!0});function r(u,f,m,h){return S.isPlainObject(u)&&S.isPlainObject(f)?S.merge.call({caseless:h},u,f):S.isPlainObject(f)?S.merge({},f):S.isArray(f)?f.slice():f}function i(u,f,m,h){if(S.isUndefined(f)){if(!S.isUndefined(u))return r(void 0,u,m,h)}else return r(u,f,m,h)}function s(u,f){if(!S.isUndefined(f))return r(void 0,f)}function o(u,f){if(S.isUndefined(f)){if(!S.isUndefined(u))return r(void 0,u)}else return r(void 0,f)}function a(u){const f=S.hasOwnProp(t,"transitional")?t.transitional:void 0;if(!S.isUndefined(f))if(S.isPlainObject(f)){if(S.hasOwnProp(f,u))return f[u]}else return;const m=S.hasOwnProp(e,"transitional")?e.transitional:void 0;if(S.isPlainObject(m)&&S.hasOwnProp(m,u))return m[u]}function l(u,f,m){if(S.hasOwnProp(t,m))return r(u,f);if(S.hasOwnProp(e,m))return r(void 0,u)}const d={url:s,method:s,data:s,baseURL:o,transformRequest:o,transformResponse:o,paramsSerializer:o,timeout:o,timeoutMessage:o,withCredentials:o,withXSRFToken:o,adapter:o,responseType:o,xsrfCookieName:o,xsrfHeaderName:o,onUploadProgress:o,onDownloadProgress:o,decompress:o,maxContentLength:o,maxBodyLength:o,beforeRedirect:o,transport:o,httpAgent:o,httpsAgent:o,cancelToken:o,socketPath:o,allowedSocketPaths:o,responseEncoding:o,validateStatus:l,headers:(u,f,m)=>i(Ao(u),Ao(f),m,!0)};return S.forEach(Object.keys({...e,...t}),function(f){if(f==="__proto__"||f==="constructor"||f==="prototype")return;const m=S.hasOwnProp(d,f)?d[f]:i,h=S.hasOwnProp(e,f)?e[f]:void 0,b=S.hasOwnProp(t,f)?t[f]:void 0,v=m(h,b,f);S.isUndefined(v)&&m!==l||(n[f]=v)}),S.hasOwnProp(t,"validateStatus")&&S.isUndefined(t.validateStatus)&&a("validateStatusUndefinedResolves")===!1&&(S.hasOwnProp(e,"validateStatus")?n.validateStatus=r(void 0,e.validateStatus):delete n.validateStatus),n}const Zf=["content-type","content-length"];function Yf(e,t,n){if(n!=="content-only"){e.set(t);return}Object.entries(t||{}).forEach(([r,i])=>{Zf.includes(r.toLowerCase())&&e.set(r,i)})}const Jf=e=>encodeURIComponent(e).replace(/%([0-9A-F]{2})/gi,(t,n)=>String.fromCharCode(parseInt(n,16)));function jc(e){const t=sn({},e),n=m=>S.hasOwnProp(t,m)?t[m]:void 0,r=n("data");let i=n("withXSRFToken");const s=n("xsrfHeaderName"),o=n("xsrfCookieName");let a=n("headers");const l=n("auth"),d=n("baseURL"),u=n("allowAbsoluteUrls"),f=n("url");if(t.headers=a=Fe.from(a),t.url=Ec(Rc(d,f,u,t),n("params"),n("paramsSerializer")),l){const m=S.getSafeProp(l,"username")||"",h=S.getSafeProp(l,"password")||"";try{a.set("Authorization","Basic "+btoa(m+":"+(h?Jf(h):"")))}catch(b){throw I.from(b,I.ERR_BAD_OPTION_VALUE,e)}}if(S.isFormData(r)&&(De.hasStandardBrowserEnv||De.hasStandardBrowserWebWorkerEnv||S.isReactNative(r)?a.setContentType(void 0):S.isFunction(r.getHeaders)&&Yf(a,r.getHeaders(),n("formDataHeaderPolicy"))),De.hasStandardBrowserEnv&&(S.isFunction(i)&&(i=i(t)),i===!0||i==null&&$f(t.url))){const h=s&&o&&Vf.read(o);h&&a.set(s,h)}return t}const Xf=typeof XMLHttpRequest<"u",eh=Xf&&function(e){return new Promise(function(n,r){const i=jc(e);let s=i.data;const o=Fe.from(i.headers).normalize();let{responseType:a,onUploadProgress:l,onDownloadProgress:d}=i,u,f,m,h,b;function v(){h&&h(),b&&b(),i.cancelToken&&i.cancelToken.unsubscribe(u),i.signal&&i.signal.removeEventListener("abort",u)}let _=new XMLHttpRequest;_.open(i.method.toUpperCase(),i.url,!0),_.timeout=i.timeout;function g(){if(!_)return;const x=Fe.from("getAllResponseHeaders"in _&&_.getAllResponseHeaders()),O={data:!a||a==="text"||a==="json"?_.responseText:_.response,status:_.status,statusText:_.statusText,headers:x,config:e,request:_};Dc(function(E){n(E),v()},function(E){r(E),v()},O),_=null}"onloadend"in _?_.onloadend=g:_.onreadystatechange=function(){!_||_.readyState!==4||_.status===0&&!(_.responseURL&&_.responseURL.startsWith("file:"))||setTimeout(g)},_.onabort=function(){_&&(r(new I("Request aborted",I.ECONNABORTED,e,_)),v(),_=null)},_.onerror=function(y){const O=y&&y.message?y.message:"Network Error",C=new I(O,I.ERR_NETWORK,e,_);C.event=y||null,r(C),v(),_=null},_.ontimeout=function(){let y=i.timeout?"timeout of "+i.timeout+"ms exceeded":"timeout exceeded";const O=i.transitional||Fs;i.timeoutErrorMessage&&(y=i.timeoutErrorMessage),r(new I(y,O.clarifyTimeoutError?I.ETIMEDOUT:I.ECONNABORTED,e,_)),v(),_=null},s===void 0&&o.setContentType(null),"setRequestHeader"in _&&S.forEach(xc(o),function(y,O){_.setRequestHeader(O,y)}),S.isUndefined(i.withCredentials)||(_.withCredentials=!!i.withCredentials),a&&a!=="json"&&(_.responseType=i.responseType),d&&([m,b]=zr(d,!0),_.addEventListener("progress",m)),l&&_.upload&&([f,h]=zr(l),_.upload.addEventListener("progress",f),_.upload.addEventListener("loadend",h)),(i.cancelToken||i.signal)&&(u=x=>{_&&(r(!x||x.type?new fr(null,e,_):x),_.abort(),v(),_=null)},i.cancelToken&&i.cancelToken.subscribe(u),i.signal&&(i.signal.aborted?u():i.signal.addEventListener("abort",u)));const T=Ff(i.url);if(T&&!De.protocols.includes(T)){r(new I("Unsupported protocol "+T+":",I.ERR_BAD_REQUEST,e)),v();return}_.send(s||null)})},th=(e,t)=>{if(e=e?e.filter(Boolean):[],!t&&!e.length)return;const n=new AbortController;let r=!1;const i=function(l){if(!r){r=!0,o();const d=l instanceof Error?l:this.reason;n.abort(d instanceof I?d:new fr(d instanceof Error?d.message:d))}};let s=t&&setTimeout(()=>{s=null,i(new I(`timeout of ${t}ms exceeded`,I.ETIMEDOUT))},t);const o=()=>{e&&(s&&clearTimeout(s),s=null,e.forEach(l=>{l.unsubscribe?l.unsubscribe(i):l.removeEventListener("abort",i)}),e=null)};e.forEach(l=>l.addEventListener("abort",i,{once:!0}));const{signal:a}=n;return a.unsubscribe=()=>S.asap(o),a},nh=function*(e,t){let n=e.byteLength;if(n<t){yield e;return}let r=0,i;for(;r<n;)i=r+t,yield e.slice(r,i),r=i},rh=async function*(e,t){for await(const n of ih(e))yield*nh(n,t)},ih=async function*(e){if(e[Symbol.asyncIterator]){yield*e;return}const t=e.getReader();try{for(;;){const{done:n,value:r}=await t.read();if(n)break;yield r}}finally{await t.cancel()}},Lo=(e,t,n,r)=>{const i=rh(e,t);let s=0,o,a=l=>{o||(o=!0,r&&r(l))};return new ReadableStream({async pull(l){try{const{done:d,value:u}=await i.next();if(d){a(),l.close();return}let f=u.byteLength;if(n){let m=s+=f;n(m)}l.enqueue(new Uint8Array(u))}catch(d){throw a(d),d}},cancel(l){return a(l),i.return()}},{highWaterMark:2})},qr=e=>e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102,sh=(e,t,n)=>t+2<n&&qr(e.charCodeAt(t+1))&&qr(e.charCodeAt(t+2));function oh(e){if(!e||typeof e!="string"||!e.startsWith("data:"))return 0;const t=e.indexOf(",");if(t<0)return 0;const n=e.slice(5,t),r=e.slice(t+1);if(/;base64/i.test(n)){let o=r.length;const a=r.length;for(let h=0;h<a;h++)if(r.charCodeAt(h)===37&&h+2<a){const b=r.charCodeAt(h+1),v=r.charCodeAt(h+2);qr(b)&&qr(v)&&(o-=2,h+=2)}let l=0,d=a-1;const u=h=>h>=2&&r.charCodeAt(h-2)===37&&r.charCodeAt(h-1)===51&&(r.charCodeAt(h)===68||r.charCodeAt(h)===100);d>=0&&(r.charCodeAt(d)===61?(l++,d--):u(d)&&(l++,d-=3)),l===1&&d>=0&&(r.charCodeAt(d)===61||u(d))&&l++;const m=Math.floor(o/4)*3-(l||0);return m>0?m:0}let s=0;for(let o=0,a=r.length;o<a;o++){const l=r.charCodeAt(o);if(l===37&&sh(r,o,a))s+=1,o+=2;else if(l<128)s+=1;else if(l<2048)s+=2;else if(l>=55296&&l<=56319&&o+1<a){const d=r.charCodeAt(o+1);d>=56320&&d<=57343?(s+=4,o++):s+=3}else s+=3}return s}const Ws="1.18.1",No=64*1024,{isFunction:Sr}=S,ah=e=>encodeURIComponent(e).replace(/%([0-9A-F]{2})/gi,(t,n)=>String.fromCharCode(parseInt(n,16))),Do=e=>{if(!S.isString(e))return e;try{return decodeURIComponent(e)}catch{return e}},Ro=(e,...t)=>{try{return!!e(...t)}catch{return!1}},ch=e=>{const t=e.indexOf("://");let n=e;return t!==-1&&(n=n.slice(t+3)),n.includes("@")||n.includes(":")},lh=e=>{const t=S.global!==void 0&&S.global!==null?S.global:globalThis,{ReadableStream:n,TextEncoder:r}=t;e=S.merge.call({skipUndefined:!0},{Request:t.Request,Response:t.Response},e);const{fetch:i,Request:s,Response:o}=e,a=i?Sr(i):typeof fetch=="function",l=Sr(s),d=Sr(o);if(!a)return!1;const u=a&&Sr(n),f=a&&(typeof r=="function"?(g=>T=>g.encode(T))(new r):async g=>new Uint8Array(await new s(g).arrayBuffer())),m=l&&u&&Ro(()=>{let g=!1;const T=new s(De.origin,{body:new n,method:"POST",get duplex(){return g=!0,"half"}}),x=T.headers.has("Content-Type");return T.body!=null&&T.body.cancel(),g&&!x}),h=d&&u&&Ro(()=>S.isReadableStream(new o("").body)),b={stream:h&&(g=>g.body)};a&&["text","arrayBuffer","blob","formData","stream"].forEach(g=>{!b[g]&&(b[g]=(T,x)=>{let y=T&&T[g];if(y)return y.call(T);throw new I(`Response type '${g}' is not supported`,I.ERR_NOT_SUPPORT,x)})});const v=async g=>{if(g==null)return 0;if(S.isBlob(g))return g.size;if(S.isSpecCompliantForm(g))return(await new s(De.origin,{method:"POST",body:g}).arrayBuffer()).byteLength;if(S.isArrayBufferView(g)||S.isArrayBuffer(g))return g.byteLength;if(S.isURLSearchParams(g)&&(g=g+""),S.isString(g))return(await f(g)).byteLength},_=async(g,T)=>{const x=S.toFiniteNumber(g.getContentLength());return x??v(T)};return async g=>{let{url:T,method:x,data:y,signal:O,cancelToken:C,timeout:E,onDownloadProgress:k,onUploadProgress:U,responseType:F,headers:H,withCredentials:L="same-origin",fetchOptions:Q,maxContentLength:K,maxBodyLength:re}=jc(g);const P=S.isNumber(K)&&K>-1,D=S.isNumber(re)&&re>-1,j=N=>S.hasOwnProp(g,N)?g[N]:void 0;let A=i||fetch;F=F?(F+"").toLowerCase():"text";let W=th([O,C&&C.toAbortSignal()],E),R=null;const G=W&&W.unsubscribe&&(()=>{W.unsubscribe()});let ae,ce=null;const ie=()=>new I("Request body larger than maxBodyLength limit",I.ERR_BAD_REQUEST,g,R);try{let N;const Z=j("auth");if(Z){const Y=S.getSafeProp(Z,"username")||"",_e=S.getSafeProp(Z,"password")||"";N={username:Y,password:_e}}if(ch(T)){const Y=new URL(T,De.origin);if(!N&&(Y.username||Y.password)){const _e=Do(Y.username),je=Do(Y.password);N={username:_e,password:je}}(Y.username||Y.password)&&(Y.username="",Y.password="",T=Y.href)}if(N&&(H.delete("authorization"),H.set("Authorization","Basic "+btoa(ah((N.username||"")+":"+(N.password||""))))),P&&typeof T=="string"&&T.startsWith("data:")&&oh(T)>K)throw new I("maxContentLength size of "+K+" exceeded",I.ERR_BAD_RESPONSE,g,R);if(D&&x!=="get"&&x!=="head"){const Y=await v(y);if(typeof Y=="number"&&isFinite(Y)&&(ae=Y,Y>re))throw ie()}const te=D&&(S.isReadableStream(y)||S.isStream(y)),ve=(Y,_e,je)=>Lo(Y,No,Ze=>{if(D&&Ze>re)throw ce=ie();_e&&_e(Ze)},je);if(m&&x!=="get"&&x!=="head"&&(U||te)){if(ae=ae??await _(H,y),ae!==0||te){let Y=new s(T,{method:"POST",body:y,duplex:"half"}),_e;if(S.isFormData(y)&&(_e=Y.headers.get("content-type"))&&H.setContentType(_e),Y.body){const[je,Ze]=U&&Co(ae,zr(Oo(U)))||[];y=ve(Y.body,je,Ze)}}}else if(te&&!l&&u&&x!=="get"&&x!=="head")y=ve(y);else if(te&&l&&!m&&x!=="get"&&x!=="head")throw new I("Stream request bodies are not supported by the current fetch implementation",I.ERR_NOT_SUPPORT,g,R);S.isString(L)||(L=L?"include":"omit");const Re=l&&"credentials"in s.prototype;if(S.isFormData(y)){const Y=H.getContentType();Y&&/^multipart\/form-data/i.test(Y)&&!/boundary=/i.test(Y)&&H.delete("content-type")}H.set("User-Agent","axios/"+Ws,!1);const be={...Q,signal:W,method:x.toUpperCase(),headers:xc(H.normalize()),body:y,duplex:"half",credentials:Re?L:void 0};R=l&&new s(T,be);let Pe=await(l?A(R,Q):A(T,be));const Ce=Fe.from(Pe.headers);if(P){const Y=S.toFiniteNumber(Ce.getContentLength());if(Y!=null&&Y>K)throw new I("maxContentLength size of "+K+" exceeded",I.ERR_BAD_RESPONSE,g,R)}const V=h&&(F==="stream"||F==="response");if(h&&Pe.body&&(k||P||V&&G)){const Y={};["status","statusText","headers"].forEach(it=>{Y[it]=Pe[it]});const _e=S.toFiniteNumber(Ce.getContentLength()),[je,Ze]=k&&Co(_e,zr(Oo(k),!0))||[];let an=0;const Un=it=>{if(P&&(an=it,an>K))throw new I("maxContentLength size of "+K+" exceeded",I.ERR_BAD_RESPONSE,g,R);je&&je(it)};Pe=new o(Lo(Pe.body,No,Un,()=>{Ze&&Ze(),G&&G()}),Y)}F=F||"text";let we=await b[S.findKey(b,F)||"text"](Pe,g);if(P&&!h&&!V){let Y;if(we!=null&&(typeof we.byteLength=="number"?Y=we.byteLength:typeof we.size=="number"?Y=we.size:typeof we=="string"&&(Y=typeof r=="function"?new r().encode(we).byteLength:we.length)),typeof Y=="number"&&Y>K)throw new I("maxContentLength size of "+K+" exceeded",I.ERR_BAD_RESPONSE,g,R)}return!V&&G&&G(),await new Promise((Y,_e)=>{Dc(Y,_e,{data:we,headers:Fe.from(Pe.headers),status:Pe.status,statusText:Pe.statusText,config:g,request:R})})}catch(N){if(G&&G(),W&&W.aborted&&W.reason instanceof I){const Z=W.reason;throw Z.config=g,R&&(Z.request=R),N!==Z&&Object.defineProperty(Z,"cause",{__proto__:null,value:N,writable:!0,enumerable:!1,configurable:!0}),Z}if(ce)throw R&&!ce.request&&(ce.request=R),ce;if(N instanceof I)throw R&&!N.request&&(N.request=R),N;if(N&&N.name==="TypeError"&&/Load failed|fetch/i.test(N.message)){const Z=new I("Network Error",I.ERR_NETWORK,g,R,N&&N.response);throw Object.defineProperty(Z,"cause",{__proto__:null,value:N.cause||N,writable:!0,enumerable:!1,configurable:!0}),Z}throw I.from(N,N&&N.code,g,R,N&&N.response)}}},dh=new Map,Mc=e=>{let t=e&&e.env||{};const{fetch:n,Request:r,Response:i}=t,s=[r,i,n];let o=s.length,a=o,l,d,u=dh;for(;a--;)l=s[a],d=u.get(l),d===void 0&&u.set(l,d=a?new Map:lh(t)),u=d;return d};Mc();const $s={http:Tf,xhr:eh,fetch:{get:Mc}};S.forEach($s,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{__proto__:null,value:t})}catch{}Object.defineProperty(e,"adapterName",{__proto__:null,value:t})}});const jo=e=>`- ${e}`,uh=e=>S.isFunction(e)||e===null||e===!1;function fh(e,t){e=S.isArray(e)?e:[e];const{length:n}=e;let r,i;const s={};for(let o=0;o<n;o++){r=e[o];let a;if(i=r,!uh(r)&&(i=$s[(a=String(r)).toLowerCase()],i===void 0))throw new I(`Unknown adapter '${a}'`);if(i&&(S.isFunction(i)||(i=i.get(t))))break;s[a||"#"+o]=i}if(!i){const o=Object.entries(s).map(([l,d])=>`adapter ${l} `+(d===!1?"is not supported by the environment":"is not available in the build"));let a=n?o.length>1?`since :
|
|
34
|
+
*/var ho;function Wd(){return ho||(ho=1,process.env.NODE_ENV!=="production"&&(function(){function e(d,u){return d===u&&(d!==0||1/d===1/u)||d!==d&&u!==u}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var t=p,n=ac(),r=typeof Object.is=="function"?Object.is:e,i=n.useSyncExternalStore,s=t.useRef,o=t.useEffect,a=t.useMemo,l=t.useDebugValue;Ti.useSyncExternalStoreWithSelector=function(d,u,f,m,h){var b=s(null);if(b.current===null){var v={hasValue:!1,value:null};b.current=v}else v=b.current;b=a(function(){function g(C){if(!T){if(T=!0,x=C,C=m(C),h!==void 0&&v.hasValue){var E=v.value;if(h(E,C))return y=E}return y=C}if(E=y,r(x,C))return E;var k=m(C);return h!==void 0&&h(E,k)?(x=C,E):(x=C,y=k)}var T=!1,x,y,O=f===void 0?null:f;return[function(){return g(u())},O===null?void 0:function(){return g(O())}]},[u,f,m,h]);var w=i(d,b[0],b[1]);return o(function(){v.hasValue=!0,v.value=w},[w]),l(w),w},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())})()),Ti}var mo;function $d(){return mo||(mo=1,process.env.NODE_ENV==="production"?_r.exports=Bd():_r.exports=Wd()),_r.exports}var Vd=$d();const Hd=Ud(Vd),cc={},{useDebugValue:zd}=p,{useSyncExternalStoreWithSelector:qd}=Hd;let po=!1;const Kd=e=>e;function Gd(e,t=Kd,n){(cc?"production":void 0)!=="production"&&n&&!po&&(console.warn("[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937"),po=!0);const r=qd(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return zd(r),r}const go=e=>{(cc?"production":void 0)!=="production"&&typeof e!="function"&&console.warn("[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.");const t=typeof e=="function"?Md(e):e,n=(r,i)=>Gd(t,r,i);return Object.assign(n,t),n},di=e=>e?go(e):go,yo={source:null,symbolKey:null,entryPrice:null,stopLoss:"",takeProfit:"",side:null,showEntryLine:!1,volumeLots:.01,digits:2,priceStep:.01},ne=di(e=>({...yo,setDraft:t=>e(n=>({source:t.source,symbolKey:t.symbolKey!==void 0?t.symbolKey:n.symbolKey,entryPrice:t.entryPrice!==void 0?t.entryPrice:n.entryPrice,stopLoss:t.stopLoss??n.stopLoss,takeProfit:t.takeProfit??n.takeProfit,side:t.side!==void 0?t.side:n.side,showEntryLine:t.showEntryLine??n.showEntryLine,volumeLots:t.volumeLots??n.volumeLots,digits:t.digits??n.digits,priceStep:t.priceStep??n.priceStep})),setOrderSide:({side:t,entryPrice:n})=>e({side:t,entryPrice:n,showEntryLine:!0}),setStopLoss:t=>e({stopLoss:t}),setTakeProfit:t=>e({takeProfit:t}),setVolumeLots:t=>e({volumeLots:t}),clearEntryLinePreview:()=>e({side:null,entryPrice:null,showEntryLine:!1}),clearDraft:()=>e({...yo})}));function xi(e,t){return e.toFixed(t)}function Qd({symbolTicker:e,bid:t,ask:n,defaultVolumeLots:r,volumeStep:i,minVolumeLots:s,isSubmitting:o,isAccountsLoading:a,selectedLogin:l,isDragging:d,sidePanelTab:u="trade",onDragHandlePointerDown:f,onExpandedChange:m,onExpand:h,onPlaceOrder:b}){const{t:v}=Te(),[w,g]=p.useState(String(r)),[T,x]=p.useState(null),[y,O]=p.useState(u),C=ne(A=>A.setOrderSide),E=ne(A=>A.setVolumeLots);u!==y&&(O(u),x(null));const k=T??u==="scan";p.useEffect(()=>{m()},[k,m]);const U=()=>{const A=!k;A&&h(),x(A)},F=Number(wt(_t(e))),H=t!==null?pe(t,F):"—",L=n!==null?pe(n,F):"—",K=!o&&!a&&l!==""&&(t!==null&&n!==null),re=A=>{const W=Number(w),R=Number.isFinite(W)&&W>0?W:r,G=Math.max(s,R+A*i),ae=xi(G,2);g(ae),E(G)},P=()=>{const A=Number(w);if(!Number.isFinite(A)||A<=0){g(xi(r,2)),E(r);return}const W=Math.max(s,A),R=xi(W,2);g(R),E(W)},D=A=>{t===null||n===null||C({side:A,entryPrice:A==="buy"?n:t})},j=A=>{if(t===null||n===null||!l)return;const W=Number(w),R=Math.max(s,Number.isFinite(W)&&W>0?W:r);C({side:A,entryPrice:A==="buy"?n:t}),b({login:l,side:A,volumeLots:R,bid:t,ask:n})};return c.jsx("div",{className:`web-trading-widget-mini-order${k?" web-trading-widget-mini-order--expanded":" web-trading-widget-mini-order--collapsed"}`,children:c.jsxs("div",{className:"web-trading-widget-mini-order__row",children:[c.jsx("button",{type:"button","aria-label":v("WebTrading.moveQuickOrderPanel"),onPointerDown:f,className:`web-trading-widget-mini-order__drag-handle${d?" web-trading-widget-mini-order__drag-handle--grabbing":""}`,children:c.jsx(Xa,{className:"web-trading-widget-icon web-trading-widget-icon--sm",strokeWidth:2})}),k?c.jsxs(c.Fragment,{children:[c.jsxs("button",{type:"button",disabled:!K,className:"web-trading-widget-mini-order__side-btn web-trading-widget-mini-order__side-btn--sell",onMouseDown:()=>D("sell"),onClick:()=>j("sell"),children:[c.jsx("span",{className:"web-trading-widget-mini-order__price",children:H}),c.jsx("span",{className:"web-trading-widget-mini-order__label web-trading-widget-mini-order__label--sell",children:v("WebTrading.sell").toUpperCase()})]}),c.jsxs("div",{className:"web-trading-widget-mini-order__volume",children:[c.jsx("button",{type:"button","aria-label":v("WebTrading.decreaseVolume"),disabled:!K,className:"web-trading-widget-mini-order__volume-btn",onClick:()=>re(-1),children:c.jsx(Br,{className:"web-trading-widget-icon web-trading-widget-icon--xs",strokeWidth:2.5})}),c.jsx("input",{type:"text",inputMode:"decimal",value:w,disabled:!K,onChange:A=>g(A.target.value),onBlur:P,className:"web-trading-widget-mini-order__volume-input"}),c.jsx("button",{type:"button","aria-label":v("WebTrading.increaseVolume"),disabled:!K,className:"web-trading-widget-mini-order__volume-btn",onClick:()=>re(1),children:c.jsx($i,{className:"web-trading-widget-icon web-trading-widget-icon--xs",strokeWidth:2.5})})]}),c.jsxs("button",{type:"button",disabled:!K,className:"web-trading-widget-mini-order__side-btn web-trading-widget-mini-order__side-btn--buy",onMouseDown:()=>D("buy"),onClick:()=>j("buy"),children:[c.jsx("span",{className:"web-trading-widget-mini-order__label web-trading-widget-mini-order__label--buy",children:v("WebTrading.buy").toUpperCase()}),c.jsx("span",{className:"web-trading-widget-mini-order__price",children:L})]})]}):null,c.jsx("button",{type:"button","aria-label":v(k?"WebTrading.collapseQuickOrderPanel":"WebTrading.expandQuickOrderPanel"),"aria-expanded":k,className:"web-trading-widget-mini-order__toggle",onClick:U,children:k?c.jsx(fd,{className:"web-trading-widget-icon web-trading-widget-icon--sm",strokeWidth:2.5}):c.jsx(hd,{className:"web-trading-widget-icon web-trading-widget-icon--sm",strokeWidth:2.5})})]})})}const Zd="web-trading-widget-mini-exec-panel-position",lc={x:56,y:96};function bo(e,t){const n=t==null?void 0:t.offsetParent;if(!t||!n)return e;const r=Math.max(0,n.clientWidth-t.offsetWidth),i=Math.max(0,n.clientHeight-t.offsetHeight);return{x:Math.min(r,Math.max(0,e.x)),y:Math.min(i,Math.max(0,e.y))}}function wo(e,t){e.style.left=`${t.x}px`,e.style.top=`${t.y}px`}function Yd(e,t){const n=t==null?void 0:t.offsetParent;return!t||!n?null:{x:e==="top-right"?Math.max(0,n.clientWidth-t.offsetWidth-16):lc.x,y:16}}function Jd(e){if(typeof window>"u")return null;try{const t=window.localStorage.getItem(e);if(!t)return null;const n=JSON.parse(t);if(typeof n.x=="number"&&typeof n.y=="number")return{x:n.x,y:n.y}}catch{}return null}function _o(e,t){try{e.hasPointerCapture(t)&&e.releasePointerCapture(t)}catch{}}function dc(e){const t=(e==null?void 0:e.storageKey)??Zd,n=(e==null?void 0:e.defaultPosition)??lc,r=e==null?void 0:e.defaultAlign,i=(e==null?void 0:e.isActive)??!0,s=p.useRef(null),[o,a]=p.useState(n),[l,d]=p.useState(!1),u=p.useRef(n),f=p.useRef(null);p.useEffect(()=>{u.current=o},[o]);const m=p.useCallback(v=>{const w=s.current,g=bo(v,w);u.current=g,a(g),w&&wo(w,g)},[]),h=p.useCallback(()=>{m(u.current)},[m]);p.useEffect(()=>{if(!i)return;const v=Jd(t);if(v){m(v);return}const w=r?Yd(r,s.current):null;m(w??u.current)},[m,r,i,t]);const b=p.useCallback(v=>{v.preventDefault(),v.stopPropagation();const w=v.currentTarget,g=s.current;if(!g)return;const T=v.pointerId;w.setPointerCapture(T);const x=v.clientX,y=v.clientY,O=u.current;d(!0),document.body.style.cursor="grabbing",document.body.style.userSelect="none";const C=(U,F)=>{const H=bo({x:O.x+(U-x),y:O.y+(F-y)},g);u.current=H,wo(g,H)},E=U=>{if(U.pointerId===T){_o(w,T),w.removeEventListener("pointermove",k),w.removeEventListener("pointerup",E),w.removeEventListener("pointercancel",E),f.current=null,d(!1),a(u.current),document.body.style.cursor="",document.body.style.userSelect="";try{window.localStorage.setItem(t,JSON.stringify(u.current))}catch{}}},k=U=>{U.pointerId===T&&(U.preventDefault(),C(U.clientX,U.clientY))};w.addEventListener("pointermove",k),w.addEventListener("pointerup",E),w.addEventListener("pointercancel",E),f.current=()=>{_o(w,T),w.removeEventListener("pointermove",k),w.removeEventListener("pointerup",E),w.removeEventListener("pointercancel",E),document.body.style.cursor="",document.body.style.userSelect="",d(!1)}},[t]);return p.useEffect(()=>{const v=()=>{m(u.current)};return window.addEventListener("resize",v),()=>{var w;window.removeEventListener("resize",v),(w=f.current)==null||w.call(f),f.current=null,document.body.style.cursor="",document.body.style.userSelect=""}},[m]),{panelRef:s,position:o,isDragging:l,onDragStart:b,reclamp:h}}const uc=200,Xd=201,eu=202,tu=203,nu=204,fc=0,ru=2,hc=0;function cr(e){const t=Number(e.trim());if(!Number.isFinite(t))throw new Error("Invalid trading account login.");return t}function js(e){return Math.round(e*1e4)}function iu(e){return e>=2&&e<=7}function su(e){return{Action:nu,Order:Number(e.orderTicket),Login:cr(e.login),Symbol:e.symbol.replace(/m$/i,""),Type:e.orderType}}function ou(e){return{Action:eu,Login:cr(e.login),Symbol:e.symbol.replace(/m$/i,""),Position:Number(e.positionTicket),Digits:e.digits,Comment:e.comment??"",...e.priceSL!==void 0?{PriceSL:e.priceSL}:{},...e.priceTP!==void 0?{PriceTP:e.priceTP}:{}}}function au(e){return{Action:tu,Order:Number(e.orderTicket),Login:cr(e.login),Symbol:e.symbol.replace(/m$/i,""),Type:e.orderType,Volume:js(e.volumeLots),Digits:e.digits,TypeTime:e.typeTime,Comment:e.comment??"order modify",PriceOrder:e.priceOrder,...e.priceSL!==void 0?{PriceSL:e.priceSL}:{},...e.priceTP!==void 0?{PriceTP:e.priceTP}:{},...e.priceTrigger!==void 0?{PriceTrigger:e.priceTrigger}:{}}}function cu(e){const t=e.positionSide==="buy"?1:0;return{Action:uc,Login:cr(e.login),Symbol:e.symbol.replace(/m$/i,""),Type:t,TypeFill:fc,Volume:js(e.volumeLots),Digits:e.digits,TypeTime:hc,Comment:e.comment??"",Position:Number(e.positionTicket)}}function lu(e){const t=!iu(e.orderType);return{Action:t?uc:Xd,Login:cr(e.login),Symbol:e.symbol,Type:e.orderType,TypeFill:t?fc:ru,Volume:js(e.volumeLots),Digits:e.digits,TypeTime:e.typeTime??hc,Comment:e.comment,...e.priceOrder!==void 0?{PriceOrder:e.priceOrder}:{},...e.priceSL!==void 0?{PriceSL:e.priceSL}:{},...e.priceTP!==void 0?{PriceTP:e.priceTP}:{},...e.priceTrigger!==void 0?{PriceTrigger:e.priceTrigger}:{},...e.timeExpiration!==void 0?{TimeExpiration:e.timeExpiration}:{}}}function du(e){return{async sendRequest(t){return e.post("/api/dealer/send_request",t,{headers:{"Content-Type":"application/json"}})},async getPositions(t){return t.trim()?e.get(`/api/trade/position/page?login=${encodeURIComponent(t)}&offset=0&total=50`):null},async getOrders(t){return t.trim()?e.get(`/api/trade/order/page?login=${encodeURIComponent(t)}&offset=0&total=10`):null},async getDealsTotal(t,n,r){return t.trim()?e.get(`/api/trade/deal/total?login=${encodeURIComponent(t)}&from=${n}&to=${r}`):null},async getDeals(t,n,r,i,s){return t.trim()?e.get(`/api/trade/deal/page?login=${encodeURIComponent(t)}&from=${n}&to=${r}&offset=${i}&total=${s}`):null}}}const uu=new Set(["10009","10008"]);function pt(e){if(e===void 0||e==="")return;const t=Number(e);return Number.isFinite(t)?t:void 0}function fu(e){const t=pt(e);return t===void 0?.01:t/1e4}function hu(e){var t;return(t=e.find(n=>n.answer))==null?void 0:t.answer}function mu(e){var t,n,r,i;for(const s of e){const o=((t=s.result)==null?void 0:t.Retcode)??((n=s.answer)==null?void 0:n.ResultRetcode);if(o)return{retcode:String(o),price:pt(((r=s.result)==null?void 0:r.Price)??((i=s.answer)==null?void 0:i.ResultPrice))}}return{retcode:""}}function $n(e){return uu.has(e)}function Fn(e,t){var T,x,y;if(!e||typeof e!="object")return null;const r=e.data;if(!(r!=null&&r.length))return null;const i=hu(r),{retcode:s,price:o}=mu(r),a=$n(s),l=(i==null?void 0:i.ResultDeal)||(i==null?void 0:i.ResultOrder)||(i==null?void 0:i.Order),d=((T=i==null?void 0:i.Symbol)==null?void 0:T.trim())||t.symbol,u=Ne(d),f=pt(i==null?void 0:i.Type),m=f!==void 0?f%2===0?"buy":"sell":t.side,h=pt(i==null?void 0:i.ResultPrice)??pt(i==null?void 0:i.PriceOrder)??o??t.openPrice,b=pt(i==null?void 0:i.ResultMarketBid),v=pt(i==null?void 0:i.ResultMarketAsk),w=m==="buy"?b??h:v??h,g=Sd(u);return{ticket:String(l||Math.floor(Date.now()/1e3)),login:((x=i==null?void 0:i.Login)==null?void 0:x.trim())||t.login,symbol:u,displaySymbol:si(u),side:m,volumeLots:fu(i==null?void 0:i.Volume)||t.volumeLots,openPrice:h,currentPrice:w,stopLoss:pt(i==null?void 0:i.PriceSL),takeProfit:pt(i==null?void 0:i.PriceTP),comment:((y=i==null?void 0:i.Comment)==null?void 0:y.trim())||t.comment,digits:Math.round(g),retcode:s,isSuccess:a,marketBid:b,marketAsk:v}}function pu(e){return e.type==="buy"?e.marketBid??e.currentPrice:e.marketAsk??e.currentPrice}function gu(e,t){return{async submitOrder(n){const r=n.login.trim();if(!r)return{success:!1,message:"Please select a trading account."};const i=Math.max(.01,n.volumeLots),s=ci(n.symbolTicker,t),o=Number(wt(_t(n.symbolTicker,t))),a=ai(n.executionMode),l=As(n.orderType),d=n.typeTime;if(!a&&n.priceOrder===void 0)return{success:!1,message:l?"Please set a limit price for this order.":"Please set an order price for pending orders."};if(l&&n.priceTrigger===void 0)return{success:!1,message:"Please set a stop price for stop limit orders."};if(!a&&!li(d,n.expirationDateTime??"",n.expirationDay??""))return{success:!1,message:"Please set an expiration date for this order."};const u=a?n.side==="buy"?n.ask:n.bid:n.priceOrder??(n.side==="buy"?n.ask:n.bid),f=a?void 0:oc(d,n.expirationDateTime??"",n.expirationDay??"");try{const m=lu({login:r,symbol:s,volumeLots:i,orderType:n.orderType,digits:o,comment:n.comment.trim(),priceOrder:Es(n.orderType)?n.priceOrder:void 0,priceTrigger:l?n.priceTrigger:void 0,priceSL:n.stopLoss,priceTP:n.takeProfit,typeTime:a?void 0:d,timeExpiration:f}),h=await e.sendRequest(m),b=Fn(h,{login:r,symbol:s,side:$r(n.orderType),volumeLots:i,openPrice:u,digits:o,comment:n.comment.trim()});return b!=null&&b.isSuccess?{success:!0,ticket:b.ticket,side:b.side,volumeLots:b.volumeLots,displaySymbol:b.displaySymbol,price:b.openPrice}:{success:!1,message:h&&typeof h=="object"&&"message"in h&&typeof h.message=="string"?h.message:"Order was not accepted by the dealer."}}catch(m){return{success:!1,message:m instanceof Error?m.message:"Failed to place order."}}},async closePosition(n){try{const r=pu(n),i=cu({login:n.login,symbol:n.symbol,positionTicket:n.ticket,volumeLots:n.volumeLots,positionSide:n.type,digits:n.digits,comment:n.comment.trim()}),s=await e.sendRequest(i),o=Fn(s,{login:n.login,symbol:n.symbol,side:n.type==="buy"?"sell":"buy",volumeLots:n.volumeLots,openPrice:r,digits:n.digits,comment:n.comment.trim()});return o&&!$n(o.retcode)?{success:!1,message:`Close failed (retcode ${o.retcode}).`}:{success:!0}}catch(r){return{success:!1,message:r instanceof Error?r.message:"Failed to close position."}}},async deleteOrder(n){try{const r=su({login:n.login,orderTicket:n.ticket,symbol:n.symbol,orderType:n.orderType}),i=await e.sendRequest(r),s=Fn(i,{login:n.login,symbol:n.symbol,side:n.side,volumeLots:n.volumeLots,openPrice:n.orderPrice,digits:n.digits,comment:n.comment});return s&&!$n(s.retcode)?{success:!1,message:`Delete failed (retcode ${s.retcode}).`}:{success:!0}}catch(r){return{success:!1,message:r instanceof Error?r.message:"Failed to delete order."}}},async modifyOrder(n,r){try{const i=au({login:n.login,orderTicket:n.ticket,symbol:n.symbol,orderType:n.orderType,volumeLots:r.volumeLots,digits:n.digits,priceOrder:r.priceOrder,priceTrigger:r.priceTrigger,priceSL:r.stopLoss,priceTP:r.takeProfit,typeTime:n.typeTime,comment:r.comment.trim()||"order modify"}),s=await e.sendRequest(i),o=Fn(s,{login:n.login,symbol:n.symbol,side:n.side,volumeLots:r.volumeLots,openPrice:r.priceOrder,digits:n.digits,comment:r.comment.trim()});return o&&!$n(o.retcode)?{success:!1,message:`Modify failed (retcode ${o.retcode}).`}:{success:!0}}catch(i){return{success:!1,message:i instanceof Error?i.message:"Failed to modify order."}}},async modifyPosition(n,r){try{const i=ou({login:n.login,positionTicket:n.ticket,symbol:n.symbol,digits:n.digits,priceSL:r.stopLoss,priceTP:r.takeProfit,comment:r.comment.trim()}),s=await e.sendRequest(i),o=Fn(s,{login:n.login,symbol:n.symbol,side:n.type,volumeLots:n.volumeLots,openPrice:n.openPrice,digits:n.digits,comment:r.comment.trim()});return o&&!$n(o.retcode)?{success:!1,message:`Modify failed (retcode ${o.retcode}).`}:{success:!0}}catch(i){return{success:!1,message:i instanceof Error?i.message:"Failed to modify position."}}}}}function mc(e,t){return function(){return e.apply(t,arguments)}}const{toString:yu}=Object.prototype,{getPrototypeOf:kn}=Object,{iterator:lr,toStringTag:pc}=Symbol,Hr=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),Qn=(e,t)=>{let n=e;const r=[];for(;n!=null&&n!==Object.prototype;){if(r.indexOf(n)!==-1)return!1;if(r.push(n),Hr(n,t))return!0;n=kn(n)}return!1},bu=(e,t)=>e!=null&&Qn(e,t)?e[t]:void 0,Ms=(e=>t=>{const n=yu.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),ot=e=>(e=e.toLowerCase(),t=>Ms(t)===e),ui=e=>t=>typeof t===e,{isArray:rn}=Array,Pn=ui("undefined");function Rn(e){return e!==null&&!Pn(e)&&e.constructor!==null&&!Pn(e.constructor)&&ze(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const gc=ot("ArrayBuffer");function wu(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&gc(e.buffer),t}const _u=ui("string"),ze=ui("function"),yc=ui("number"),jn=e=>e!==null&&typeof e=="object",vu=e=>e===!0||e===!1,Ar=e=>{if(!jn(e))return!1;const t=kn(e);return(t===null||t===Object.prototype||kn(t)===null)&&!Qn(e,pc)&&!Qn(e,lr)},Su=e=>{if(!jn(e)||Rn(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},Tu=ot("Date"),xu=ot("File"),ku=e=>!!(e&&typeof e.uri<"u"),Pu=e=>e&&typeof e.getParts<"u",Cu=ot("Blob"),Ou=ot("FileList"),Eu=e=>jn(e)&&ze(e.pipe);function Au(){return typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}}const vo=Au(),So=typeof vo.FormData<"u"?vo.FormData:void 0,Lu=e=>{if(!e)return!1;if(So&&e instanceof So)return!0;const t=kn(e);if(!t||t===Object.prototype||!ze(e.append))return!1;const n=Ms(e);return n==="formdata"||n==="object"&&ze(e.toString)&&e.toString()==="[object FormData]"},Nu=ot("URLSearchParams"),[Du,Ru,ju,Mu]=["ReadableStream","Request","Response","Headers"].map(ot),Uu=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function dr(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let r,i;if(typeof e!="object"&&(e=[e]),rn(e))for(r=0,i=e.length;r<i;r++)t.call(null,e[r],r,e);else{if(Rn(e))return;const s=n?Object.getOwnPropertyNames(e):Object.keys(e),o=s.length;let a;for(r=0;r<o;r++)a=s[r],t.call(null,e[a],a,e)}}function bc(e,t){if(Rn(e))return null;t=t.toLowerCase();const n=Object.keys(e);let r=n.length,i;for(;r-- >0;)if(i=n[r],t===i.toLowerCase())return i;return null}const Wt=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,wc=e=>!Pn(e)&&e!==Wt;function Hi(...e){const{caseless:t,skipUndefined:n}=wc(this)&&this||{},r={},i=(s,o)=>{if(o==="__proto__"||o==="constructor"||o==="prototype")return;const a=t&&typeof o=="string"&&bc(r,o)||o,l=Hr(r,a)?r[a]:void 0;Ar(l)&&Ar(s)?r[a]=Hi(l,s):Ar(s)?r[a]=Hi({},s):rn(s)?r[a]=s.slice():(!n||!Pn(s))&&(r[a]=s)};for(let s=0,o=e.length;s<o;s++){const a=e[s];if(!a||Rn(a)||(dr(a,i),typeof a!="object"||rn(a)))continue;const l=Object.getOwnPropertySymbols(a);for(let d=0;d<l.length;d++){const u=l[d];Qu.call(a,u)&&i(a[u],u)}}return r}const Iu=(e,t,n,{allOwnKeys:r}={})=>(dr(t,(i,s)=>{n&&ze(i)?Object.defineProperty(e,s,{__proto__:null,value:mc(i,n),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(e,s,{__proto__:null,value:i,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:r}),e),Fu=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),Bu=(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),Object.defineProperty(e.prototype,"constructor",{__proto__:null,value:e,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(e,"super",{__proto__:null,value:t.prototype}),n&&Object.assign(e.prototype,n)},Wu=(e,t,n,r)=>{let i,s,o;const a={};if(t=t||{},e==null)return t;do{for(i=Object.getOwnPropertyNames(e),s=i.length;s-- >0;)o=i[s],(!r||r(o,e,t))&&!a[o]&&(t[o]=e[o],a[o]=!0);e=n!==!1&&kn(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},$u=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return r!==-1&&r===n},Vu=e=>{if(!e)return null;if(rn(e))return e;let t=e.length;if(!yc(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},Hu=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&kn(Uint8Array)),zu=(e,t)=>{const r=(e&&e[lr]).call(e);let i;for(;(i=r.next())&&!i.done;){const s=i.value;t.call(e,s[0],s[1])}},qu=(e,t)=>{let n;const r=[];for(;(n=e.exec(t))!==null;)r.push(n);return r},Ku=ot("HTMLFormElement"),Gu=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,r,i){return r.toUpperCase()+i}),{propertyIsEnumerable:Qu}=Object.prototype,Zu=ot("RegExp"),_c=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};dr(n,(i,s)=>{let o;(o=t(i,s,e))!==!1&&(r[s]=o||i)}),Object.defineProperties(e,r)},Yu=e=>{_c(e,(t,n)=>{if(ze(e)&&["arguments","caller","callee"].includes(n))return!1;const r=e[n];if(ze(r)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},Ju=(e,t)=>{const n={},r=i=>{i.forEach(s=>{n[s]=!0})};return rn(e)?r(e):r(String(e).split(t)),n},Xu=()=>{},ef=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function tf(e){return!!(e&&ze(e.append)&&e[pc]==="FormData"&&e[lr])}const nf=e=>{const t=new WeakSet,n=r=>{if(jn(r)){if(t.has(r))return;if(Rn(r))return r;if(!("toJSON"in r)){t.add(r);const i=rn(r)?[]:{};return dr(r,(s,o)=>{const a=n(s);!Pn(a)&&(i[o]=a)}),t.delete(r),i}}return r};return n(e)},rf=ot("AsyncFunction"),sf=e=>e&&(jn(e)||ze(e))&&ze(e.then)&&ze(e.catch),vc=((e,t)=>e?setImmediate:t?((n,r)=>(Wt.addEventListener("message",({source:i,data:s})=>{i===Wt&&s===n&&r.length&&r.shift()()},!1),i=>{r.push(i),Wt.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",ze(Wt.postMessage)),of=typeof queueMicrotask<"u"?queueMicrotask.bind(Wt):typeof process<"u"&&process.nextTick||vc,Sc=e=>e!=null&&ze(e[lr]),af=e=>e!=null&&Qn(e,lr)&&Sc(e),S={isArray:rn,isArrayBuffer:gc,isBuffer:Rn,isFormData:Lu,isArrayBufferView:wu,isString:_u,isNumber:yc,isBoolean:vu,isObject:jn,isPlainObject:Ar,isEmptyObject:Su,isReadableStream:Du,isRequest:Ru,isResponse:ju,isHeaders:Mu,isUndefined:Pn,isDate:Tu,isFile:xu,isReactNativeBlob:ku,isReactNative:Pu,isBlob:Cu,isRegExp:Zu,isFunction:ze,isStream:Eu,isURLSearchParams:Nu,isTypedArray:Hu,isFileList:Ou,forEach:dr,merge:Hi,extend:Iu,trim:Uu,stripBOM:Fu,inherits:Bu,toFlatObject:Wu,kindOf:Ms,kindOfTest:ot,endsWith:$u,toArray:Vu,forEachEntry:zu,matchAll:qu,isHTMLForm:Ku,hasOwnProperty:Hr,hasOwnProp:Hr,hasOwnInPrototypeChain:Qn,getSafeProp:bu,reduceDescriptors:_c,freezeMethods:Yu,toObjectSet:Ju,toCamelCase:Gu,noop:Xu,toFiniteNumber:ef,findKey:bc,global:Wt,isContextDefined:wc,isSpecCompliantForm:tf,toJSONObject:nf,isAsyncFn:rf,isThenable:sf,setImmediate:vc,asap:of,isIterable:Sc,isSafeIterable:af},cf=S.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),lf=e=>{const t={};let n,r,i;return e&&e.split(`
|
|
35
|
+
`).forEach(function(o){i=o.indexOf(":"),n=o.substring(0,i).trim().toLowerCase(),r=o.substring(i+1).trim(),!(!n||t[n]&&cf[n])&&(n==="set-cookie"?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)}),t};function df(e){let t=0,n=e.length;for(;t<n;){const r=e.charCodeAt(t);if(r!==9&&r!==32)break;t+=1}for(;n>t;){const r=e.charCodeAt(n-1);if(r!==9&&r!==32)break;n-=1}return t===0&&n===e.length?e:e.slice(t,n)}const uf=new RegExp("[\\u0000-\\u0008\\u000a-\\u001f\\u007f]+","g"),ff=new RegExp("[^\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+","g");function Us(e,t){return S.isArray(e)?e.map(n=>Us(n,t)):df(String(e).replace(t,""))}const hf=e=>Us(e,uf),mf=e=>Us(e,ff);function Tc(e){const t=Object.create(null);return S.forEach(e.toJSON(),(n,r)=>{t[r]=mf(n)}),t}const To=Symbol("internals");function Bn(e){return e&&String(e).trim().toLowerCase()}function Lr(e){return e===!1||e==null?e:S.isArray(e)?e.map(Lr):hf(String(e))}function pf(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}const gf=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function ki(e,t,n,r,i){if(S.isFunction(r))return r.call(this,t,n);if(i&&(t=n),!!S.isString(t)){if(S.isString(r))return t.indexOf(r)!==-1;if(S.isRegExp(r))return r.test(t)}}function yf(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,r)=>n.toUpperCase()+r)}function bf(e,t){const n=S.toCamelCase(" "+t);["get","set","has"].forEach(r=>{Object.defineProperty(e,r+n,{__proto__:null,value:function(i,s,o){return this[r].call(this,t,i,s,o)},configurable:!0})})}let Fe=class{constructor(t){t&&this.set(t)}set(t,n,r){const i=this;function s(a,l,d){const u=Bn(l);if(!u)return;const f=S.findKey(i,u);(!f||i[f]===void 0||d===!0||d===void 0&&i[f]!==!1)&&(i[f||l]=Lr(a))}const o=(a,l)=>S.forEach(a,(d,u)=>s(d,u,l));if(S.isPlainObject(t)||t instanceof this.constructor)o(t,n);else if(S.isString(t)&&(t=t.trim())&&!gf(t))o(lf(t),n);else if(S.isObject(t)&&S.isSafeIterable(t)){let a=Object.create(null),l,d;for(const u of t){if(!S.isArray(u))throw new TypeError("Object iterator must return a key-value pair");d=u[0],S.hasOwnProp(a,d)?(l=a[d],a[d]=S.isArray(l)?[...l,u[1]]:[l,u[1]]):a[d]=u[1]}o(a,n)}else t!=null&&s(n,t,r);return this}get(t,n){if(t=Bn(t),t){const r=S.findKey(this,t);if(r){const i=this[r];if(!n)return i;if(n===!0)return pf(i);if(S.isFunction(n))return n.call(this,i,r);if(S.isRegExp(n))return n.exec(i);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=Bn(t),t){const r=S.findKey(this,t);return!!(r&&this[r]!==void 0&&(!n||ki(this,this[r],r,n)))}return!1}delete(t,n){const r=this;let i=!1;function s(o){if(o=Bn(o),o){const a=S.findKey(r,o);a&&(!n||ki(r,r[a],a,n))&&(delete r[a],i=!0)}}return S.isArray(t)?t.forEach(s):s(t),i}clear(t){const n=Object.keys(this);let r=n.length,i=!1;for(;r--;){const s=n[r];(!t||ki(this,this[s],s,t,!0))&&(delete this[s],i=!0)}return i}normalize(t){const n=this,r={};return S.forEach(this,(i,s)=>{const o=S.findKey(r,s);if(o){n[o]=Lr(i),delete n[s];return}const a=t?yf(s):String(s).trim();a!==s&&delete n[s],n[a]=Lr(i),r[a]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const n=Object.create(null);return S.forEach(this,(r,i)=>{r!=null&&r!==!1&&(n[i]=t&&S.isArray(r)?r.join(", "):r)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,n])=>t+": "+n).join(`
|
|
36
|
+
`)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...n){const r=new this(t);return n.forEach(i=>r.set(i)),r}static accessor(t){const r=(this[To]=this[To]={accessors:{}}).accessors,i=this.prototype;function s(o){const a=Bn(o);r[a]||(bf(i,o),r[a]=!0)}return S.isArray(t)?t.forEach(s):s(t),this}};Fe.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);S.reduceDescriptors(Fe.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(r){this[n]=r}}});S.freezeMethods(Fe);const wf="[REDACTED ****]";function _f(e){if(S.hasOwnProp(e,"toJSON"))return!0;let t=Object.getPrototypeOf(e);for(;t&&t!==Object.prototype;){if(S.hasOwnProp(t,"toJSON"))return!0;t=Object.getPrototypeOf(t)}return!1}function vf(e,t){const n=new Set(t.map(s=>String(s).toLowerCase())),r=[],i=s=>{if(s===null||typeof s!="object"||S.isBuffer(s))return s;if(r.indexOf(s)!==-1)return;s instanceof Fe&&(s=s.toJSON()),r.push(s);let o;if(S.isArray(s))o=[],s.forEach((a,l)=>{const d=i(a);S.isUndefined(d)||(o[l]=d)});else{if(!S.isPlainObject(s)&&_f(s))return r.pop(),s;o=Object.create(null);for(const[a,l]of Object.entries(s)){const d=n.has(a.toLowerCase())?wf:i(l);S.isUndefined(d)||(o[a]=d)}}return r.pop(),o};return i(e)}let I=class xc extends Error{static from(t,n,r,i,s,o){const a=new xc(t.message,n||t.code,r,i,s);return Object.defineProperty(a,"cause",{__proto__:null,value:t,writable:!0,enumerable:!1,configurable:!0}),a.name=t.name,t.status!=null&&a.status==null&&(a.status=t.status),o&&Object.assign(a,o),a}constructor(t,n,r,i,s){super(t),Object.defineProperty(this,"message",{__proto__:null,value:t,enumerable:!0,writable:!0,configurable:!0}),this.name="AxiosError",this.isAxiosError=!0,n&&(this.code=n),r&&(this.config=r),i&&(this.request=i),s&&(this.response=s,this.status=s.status)}toJSON(){const t=this.config,n=t&&S.hasOwnProp(t,"redact")?t.redact:void 0,r=S.isArray(n)&&n.length>0?vf(t,n):S.toJSONObject(t);return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:r,code:this.code,status:this.status}}};I.ERR_BAD_OPTION_VALUE="ERR_BAD_OPTION_VALUE";I.ERR_BAD_OPTION="ERR_BAD_OPTION";I.ECONNABORTED="ECONNABORTED";I.ETIMEDOUT="ETIMEDOUT";I.ECONNREFUSED="ECONNREFUSED";I.ERR_NETWORK="ERR_NETWORK";I.ERR_FR_TOO_MANY_REDIRECTS="ERR_FR_TOO_MANY_REDIRECTS";I.ERR_DEPRECATED="ERR_DEPRECATED";I.ERR_BAD_RESPONSE="ERR_BAD_RESPONSE";I.ERR_BAD_REQUEST="ERR_BAD_REQUEST";I.ERR_CANCELED="ERR_CANCELED";I.ERR_NOT_SUPPORT="ERR_NOT_SUPPORT";I.ERR_INVALID_URL="ERR_INVALID_URL";I.ERR_FORM_DATA_DEPTH_EXCEEDED="ERR_FORM_DATA_DEPTH_EXCEEDED";const Sf=null,kc=100;function zi(e){return S.isPlainObject(e)||S.isArray(e)}function Pc(e){return S.endsWith(e,"[]")?e.slice(0,-2):e}function Pi(e,t,n){return e?e.concat(t).map(function(i,s){return i=Pc(i),!n&&s?"["+i+"]":i}).join(n?".":""):t}function Tf(e){return S.isArray(e)&&!e.some(zi)}const xf=S.toFlatObject(S,{},null,function(t){return/^is[A-Z]/.test(t)});function fi(e,t,n){if(!S.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=S.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(T,x){return!S.isUndefined(x[T])});const r=n.metaTokens,i=n.visitor||b,s=n.dots,o=n.indexes,a=n.Blob||typeof Blob<"u"&&Blob,l=n.maxDepth===void 0?kc:n.maxDepth,d=a&&S.isSpecCompliantForm(t),u=[];if(!S.isFunction(i))throw new TypeError("visitor must be a function");function f(g){if(g===null)return"";if(S.isDate(g))return g.toISOString();if(S.isBoolean(g))return g.toString();if(!d&&S.isBlob(g))throw new I("Blob is not supported. Use a Buffer instead.");if(S.isArrayBuffer(g)||S.isTypedArray(g)){if(d&&typeof a=="function")return new a([g]);if(typeof Buffer<"u")return Buffer.from(g);throw new I("Blob is not supported. Use a Buffer instead.",I.ERR_NOT_SUPPORT)}return g}function m(g){if(g>l)throw new I("Object is too deeply nested ("+g+" levels). Max depth: "+l,I.ERR_FORM_DATA_DEPTH_EXCEEDED)}function h(g,T){if(l===1/0)return JSON.stringify(g);const x=[];return JSON.stringify(g,function(O,C){if(!S.isObject(C))return C;for(;x.length&&x[x.length-1]!==this;)x.pop();return x.push(C),m(T+x.length-1),C})}function b(g,T,x){let y=g;if(S.isReactNative(t)&&S.isReactNativeBlob(g))return t.append(Pi(x,T,s),f(g)),!1;if(g&&!x&&typeof g=="object"){if(S.endsWith(T,"{}"))T=r?T:T.slice(0,-2),g=h(g,1);else if(S.isArray(g)&&Tf(g)||(S.isFileList(g)||S.endsWith(T,"[]"))&&(y=S.toArray(g)))return T=Pc(T),y.forEach(function(C,E){!(S.isUndefined(C)||C===null)&&t.append(o===!0?Pi([T],E,s):o===null?T:T+"[]",f(C))}),!1}return zi(g)?!0:(t.append(Pi(x,T,s),f(g)),!1)}const v=Object.assign(xf,{defaultVisitor:b,convertValue:f,isVisitable:zi});function w(g,T,x=0){if(!S.isUndefined(g)){if(m(x),u.indexOf(g)!==-1)throw new Error("Circular reference detected in "+T.join("."));u.push(g),S.forEach(g,function(O,C){(!(S.isUndefined(O)||O===null)&&i.call(t,O,S.isString(C)?C.trim():C,T,v))===!0&&w(O,T?T.concat(C):[C],x+1)}),u.pop()}}if(!S.isObject(e))throw new TypeError("data must be an object");return w(e),t}function xo(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"};return encodeURIComponent(e).replace(/[!'()~]|%20/g,function(r){return t[r]})}function Is(e,t){this._pairs=[],e&&fi(e,this,t)}const Cc=Is.prototype;Cc.append=function(t,n){this._pairs.push([t,n])};Cc.toString=function(t){const n=t?r=>t.call(this,r,xo):xo;return this._pairs.map(function(i){return n(i[0])+"="+n(i[1])},"").join("&")};function kf(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function Oc(e,t,n){if(!t)return e;e=e||"";const r=S.isFunction(n)?{serialize:n}:n,i=S.getSafeProp(r,"encode")||kf,s=S.getSafeProp(r,"serialize");let o;if(s?o=s(t,r):o=S.isURLSearchParams(t)?t.toString():new Is(t,r).toString(i),o){const a=e.indexOf("#");a!==-1&&(e=e.slice(0,a)),e+=(e.indexOf("?")===-1?"?":"&")+o}return e}class ko{constructor(){this.handlers=[]}use(t,n,r){return this.handlers.push({fulfilled:t,rejected:n,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){S.forEach(this.handlers,function(r){r!==null&&t(r)})}}const Fs={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0,advertiseZstdAcceptEncoding:!1,validateStatusUndefinedResolves:!0},Pf=typeof URLSearchParams<"u"?URLSearchParams:Is,Cf=typeof FormData<"u"?FormData:null,Of=typeof Blob<"u"?Blob:null,Ef={isBrowser:!0,classes:{URLSearchParams:Pf,FormData:Cf,Blob:Of},protocols:["http","https","file","blob","url","data"]},Bs=typeof window<"u"&&typeof document<"u",qi=typeof navigator=="object"&&navigator||void 0,Af=Bs&&(!qi||["ReactNative","NativeScript","NS"].indexOf(qi.product)<0),Lf=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",Nf=Bs&&window.location.href||"http://localhost",Df=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Bs,hasStandardBrowserEnv:Af,hasStandardBrowserWebWorkerEnv:Lf,navigator:qi,origin:Nf},Symbol.toStringTag,{value:"Module"})),De={...Df,...Ef};function Rf(e,t){return fi(e,new De.classes.URLSearchParams,{visitor:function(n,r,i,s){return De.isNode&&S.isBuffer(n)?(this.append(r,n.toString("base64")),!1):s.defaultVisitor.apply(this,arguments)},...t})}const Po=kc;function Ec(e){if(e>Po)throw new I("FormData field is too deeply nested ("+e+" levels). Max depth: "+Po,I.ERR_FORM_DATA_DEPTH_EXCEEDED)}function jf(e){const t=[],n=/\w+|\[(\w*)]/g;let r;for(;(r=n.exec(e))!==null;)Ec(t.length),t.push(r[0]==="[]"?"":r[1]||r[0]);return t}function Mf(e){const t={},n=Object.keys(e);let r;const i=n.length;let s;for(r=0;r<i;r++)s=n[r],t[s]=e[s];return t}function Ac(e){function t(n,r,i,s){Ec(s);let o=n[s++];if(o==="__proto__")return!0;const a=Number.isFinite(+o),l=s>=n.length;return o=!o&&S.isArray(i)?i.length:o,l?(S.hasOwnProp(i,o)?i[o]=S.isArray(i[o])?i[o].concat(r):[i[o],r]:i[o]=r,!a):((!S.hasOwnProp(i,o)||!S.isObject(i[o]))&&(i[o]=[]),t(n,r,i[o],s)&&S.isArray(i[o])&&(i[o]=Mf(i[o])),!a)}if(S.isFormData(e)&&S.isFunction(e.entries)){const n={};return S.forEachEntry(e,(r,i)=>{t(jf(r),i,n,0)}),n}return null}const cn=(e,t)=>e!=null&&S.hasOwnProp(e,t)?e[t]:void 0;function Uf(e,t,n){if(S.isString(e))try{return(t||JSON.parse)(e),S.trim(e)}catch(r){if(r.name!=="SyntaxError")throw r}return(n||JSON.stringify)(e)}const ur={transitional:Fs,adapter:["xhr","http","fetch"],transformRequest:[function(t,n){const r=n.getContentType()||"",i=r.indexOf("application/json")>-1,s=S.isObject(t);if(s&&S.isHTMLForm(t)&&(t=new FormData(t)),S.isFormData(t))return i?JSON.stringify(Ac(t)):t;if(S.isArrayBuffer(t)||S.isBuffer(t)||S.isStream(t)||S.isFile(t)||S.isBlob(t)||S.isReadableStream(t))return t;if(S.isArrayBufferView(t))return t.buffer;if(S.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let a;if(s){const l=cn(this,"formSerializer");if(r.indexOf("application/x-www-form-urlencoded")>-1)return Rf(t,l).toString();if((a=S.isFileList(t))||r.indexOf("multipart/form-data")>-1){const d=cn(this,"env"),u=d&&d.FormData;return fi(a?{"files[]":t}:t,u&&new u,l)}}return s||i?(n.setContentType("application/json",!1),Uf(t)):t}],transformResponse:[function(t){const n=cn(this,"transitional")||ur.transitional,r=n&&n.forcedJSONParsing,i=cn(this,"responseType"),s=i==="json";if(S.isResponse(t)||S.isReadableStream(t))return t;if(t&&S.isString(t)&&(r&&!i||s)){const a=!(n&&n.silentJSONParsing)&&s;try{return JSON.parse(t,cn(this,"parseReviver"))}catch(l){if(a)throw l.name==="SyntaxError"?I.from(l,I.ERR_BAD_RESPONSE,this,null,cn(this,"response")):l}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:De.classes.FormData,Blob:De.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};S.forEach(["delete","get","head","post","put","patch","query"],e=>{ur.headers[e]={}});function Ci(e,t){const n=this||ur,r=t||n,i=Fe.from(r.headers);let s=r.data;return S.forEach(e,function(a){s=a.call(n,s,i.normalize(),t?t.status:void 0)}),i.normalize(),s}function Lc(e){return!!(e&&e.__CANCEL__)}let fr=class extends I{constructor(t,n,r){super(t??"canceled",I.ERR_CANCELED,n,r),this.name="CanceledError",this.__CANCEL__=!0}};function Nc(e,t,n){const r=n.config.validateStatus;!n.status||!r||r(n.status)?e(n):t(new I("Request failed with status code "+n.status,n.status>=400&&n.status<500?I.ERR_BAD_REQUEST:I.ERR_BAD_RESPONSE,n.config,n.request,n))}function If(e){const t=/^([-+\w]{1,25}):(?:\/\/)?/.exec(e);return t&&t[1]||""}function Ff(e,t){e=e||10;const n=new Array(e),r=new Array(e);let i=0,s=0,o;return t=t!==void 0?t:1e3,function(l){const d=Date.now(),u=r[s];o||(o=d),n[i]=l,r[i]=d;let f=s,m=0;for(;f!==i;)m+=n[f++],f=f%e;if(i=(i+1)%e,i===s&&(s=(s+1)%e),d-o<t)return;const h=u&&d-u;return h?Math.round(m*1e3/h):void 0}}function Bf(e,t){let n=0,r=1e3/t,i,s;const o=(d,u=Date.now())=>{n=u,i=null,s&&(clearTimeout(s),s=null),e(...d)};return[(...d)=>{const u=Date.now(),f=u-n;f>=r?o(d,u):(i=d,s||(s=setTimeout(()=>{s=null,o(i)},r-f)))},()=>i&&o(i)]}const zr=(e,t,n=3)=>{let r=0;const i=Ff(50,250);return Bf(s=>{if(!s||typeof s.loaded!="number")return;const o=s.loaded,a=s.lengthComputable?s.total:void 0,l=a!=null?Math.min(o,a):o,d=Math.max(0,l-r),u=i(d);r=Math.max(r,l);const f={loaded:l,total:a,progress:a?l/a:void 0,bytes:d,rate:u||void 0,estimated:u&&a?(a-l)/u:void 0,event:s,lengthComputable:a!=null,[t?"download":"upload"]:!0};e(f)},n)},Co=(e,t)=>{const n=e!=null;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},Oo=e=>(...t)=>S.asap(()=>e(...t)),Wf=De.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,De.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(De.origin),De.navigator&&/(msie|trident)/i.test(De.navigator.userAgent)):()=>!0,$f=De.hasStandardBrowserEnv?{write(e,t,n,r,i,s,o){if(typeof document>"u")return;const a=[`${e}=${encodeURIComponent(t)}`];S.isNumber(n)&&a.push(`expires=${new Date(n).toUTCString()}`),S.isString(r)&&a.push(`path=${r}`),S.isString(i)&&a.push(`domain=${i}`),s===!0&&a.push("secure"),S.isString(o)&&a.push(`SameSite=${o}`),document.cookie=a.join("; ")},read(e){if(typeof document>"u")return null;const t=document.cookie.split(";");for(let n=0;n<t.length;n++){const r=t[n].replace(/^\s+/,""),i=r.indexOf("=");if(i!==-1&&r.slice(0,i)===e)try{return decodeURIComponent(r.slice(i+1))}catch{return r.slice(i+1)}}return null},remove(e){this.write(e,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}};function Vf(e){return typeof e!="string"?!1:/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function Hf(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}const zf=/^https?:(?!\/\/)/i,qf=/[\t\n\r]/g;function Kf(e){let t=0;for(;t<e.length&&e.charCodeAt(t)<=32;)t++;return e.slice(t)}function Gf(e){return Kf(e).replace(qf,"")}function Eo(e,t){if(typeof e=="string"&&zf.test(Gf(e)))throw new I('Invalid URL: missing "//" after protocol',I.ERR_INVALID_URL,t)}function Dc(e,t,n,r){Eo(t,r);let i=!Vf(t);return e&&(i||n===!1)?(Eo(e,r),Hf(e,t)):t}const Ao=e=>e instanceof Fe?{...e}:e;function sn(e,t){e=e||{},t=t||{};const n=Object.create(null);Object.defineProperty(n,"hasOwnProperty",{__proto__:null,value:Object.prototype.hasOwnProperty,enumerable:!1,writable:!0,configurable:!0});function r(u,f,m,h){return S.isPlainObject(u)&&S.isPlainObject(f)?S.merge.call({caseless:h},u,f):S.isPlainObject(f)?S.merge({},f):S.isArray(f)?f.slice():f}function i(u,f,m,h){if(S.isUndefined(f)){if(!S.isUndefined(u))return r(void 0,u,m,h)}else return r(u,f,m,h)}function s(u,f){if(!S.isUndefined(f))return r(void 0,f)}function o(u,f){if(S.isUndefined(f)){if(!S.isUndefined(u))return r(void 0,u)}else return r(void 0,f)}function a(u){const f=S.hasOwnProp(t,"transitional")?t.transitional:void 0;if(!S.isUndefined(f))if(S.isPlainObject(f)){if(S.hasOwnProp(f,u))return f[u]}else return;const m=S.hasOwnProp(e,"transitional")?e.transitional:void 0;if(S.isPlainObject(m)&&S.hasOwnProp(m,u))return m[u]}function l(u,f,m){if(S.hasOwnProp(t,m))return r(u,f);if(S.hasOwnProp(e,m))return r(void 0,u)}const d={url:s,method:s,data:s,baseURL:o,transformRequest:o,transformResponse:o,paramsSerializer:o,timeout:o,timeoutMessage:o,withCredentials:o,withXSRFToken:o,adapter:o,responseType:o,xsrfCookieName:o,xsrfHeaderName:o,onUploadProgress:o,onDownloadProgress:o,decompress:o,maxContentLength:o,maxBodyLength:o,beforeRedirect:o,transport:o,httpAgent:o,httpsAgent:o,cancelToken:o,socketPath:o,allowedSocketPaths:o,responseEncoding:o,validateStatus:l,headers:(u,f,m)=>i(Ao(u),Ao(f),m,!0)};return S.forEach(Object.keys({...e,...t}),function(f){if(f==="__proto__"||f==="constructor"||f==="prototype")return;const m=S.hasOwnProp(d,f)?d[f]:i,h=S.hasOwnProp(e,f)?e[f]:void 0,b=S.hasOwnProp(t,f)?t[f]:void 0,v=m(h,b,f);S.isUndefined(v)&&m!==l||(n[f]=v)}),S.hasOwnProp(t,"validateStatus")&&S.isUndefined(t.validateStatus)&&a("validateStatusUndefinedResolves")===!1&&(S.hasOwnProp(e,"validateStatus")?n.validateStatus=r(void 0,e.validateStatus):delete n.validateStatus),n}const Qf=["content-type","content-length"];function Zf(e,t,n){if(n!=="content-only"){e.set(t);return}Object.entries(t||{}).forEach(([r,i])=>{Qf.includes(r.toLowerCase())&&e.set(r,i)})}const Yf=e=>encodeURIComponent(e).replace(/%([0-9A-F]{2})/gi,(t,n)=>String.fromCharCode(parseInt(n,16)));function Rc(e){const t=sn({},e),n=m=>S.hasOwnProp(t,m)?t[m]:void 0,r=n("data");let i=n("withXSRFToken");const s=n("xsrfHeaderName"),o=n("xsrfCookieName");let a=n("headers");const l=n("auth"),d=n("baseURL"),u=n("allowAbsoluteUrls"),f=n("url");if(t.headers=a=Fe.from(a),t.url=Oc(Dc(d,f,u,t),n("params"),n("paramsSerializer")),l){const m=S.getSafeProp(l,"username")||"",h=S.getSafeProp(l,"password")||"";try{a.set("Authorization","Basic "+btoa(m+":"+(h?Yf(h):"")))}catch(b){throw I.from(b,I.ERR_BAD_OPTION_VALUE,e)}}if(S.isFormData(r)&&(De.hasStandardBrowserEnv||De.hasStandardBrowserWebWorkerEnv||S.isReactNative(r)?a.setContentType(void 0):S.isFunction(r.getHeaders)&&Zf(a,r.getHeaders(),n("formDataHeaderPolicy"))),De.hasStandardBrowserEnv&&(S.isFunction(i)&&(i=i(t)),i===!0||i==null&&Wf(t.url))){const h=s&&o&&$f.read(o);h&&a.set(s,h)}return t}const Jf=typeof XMLHttpRequest<"u",Xf=Jf&&function(e){return new Promise(function(n,r){const i=Rc(e);let s=i.data;const o=Fe.from(i.headers).normalize();let{responseType:a,onUploadProgress:l,onDownloadProgress:d}=i,u,f,m,h,b;function v(){h&&h(),b&&b(),i.cancelToken&&i.cancelToken.unsubscribe(u),i.signal&&i.signal.removeEventListener("abort",u)}let w=new XMLHttpRequest;w.open(i.method.toUpperCase(),i.url,!0),w.timeout=i.timeout;function g(){if(!w)return;const x=Fe.from("getAllResponseHeaders"in w&&w.getAllResponseHeaders()),O={data:!a||a==="text"||a==="json"?w.responseText:w.response,status:w.status,statusText:w.statusText,headers:x,config:e,request:w};Nc(function(E){n(E),v()},function(E){r(E),v()},O),w=null}"onloadend"in w?w.onloadend=g:w.onreadystatechange=function(){!w||w.readyState!==4||w.status===0&&!(w.responseURL&&w.responseURL.startsWith("file:"))||setTimeout(g)},w.onabort=function(){w&&(r(new I("Request aborted",I.ECONNABORTED,e,w)),v(),w=null)},w.onerror=function(y){const O=y&&y.message?y.message:"Network Error",C=new I(O,I.ERR_NETWORK,e,w);C.event=y||null,r(C),v(),w=null},w.ontimeout=function(){let y=i.timeout?"timeout of "+i.timeout+"ms exceeded":"timeout exceeded";const O=i.transitional||Fs;i.timeoutErrorMessage&&(y=i.timeoutErrorMessage),r(new I(y,O.clarifyTimeoutError?I.ETIMEDOUT:I.ECONNABORTED,e,w)),v(),w=null},s===void 0&&o.setContentType(null),"setRequestHeader"in w&&S.forEach(Tc(o),function(y,O){w.setRequestHeader(O,y)}),S.isUndefined(i.withCredentials)||(w.withCredentials=!!i.withCredentials),a&&a!=="json"&&(w.responseType=i.responseType),d&&([m,b]=zr(d,!0),w.addEventListener("progress",m)),l&&w.upload&&([f,h]=zr(l),w.upload.addEventListener("progress",f),w.upload.addEventListener("loadend",h)),(i.cancelToken||i.signal)&&(u=x=>{w&&(r(!x||x.type?new fr(null,e,w):x),w.abort(),v(),w=null)},i.cancelToken&&i.cancelToken.subscribe(u),i.signal&&(i.signal.aborted?u():i.signal.addEventListener("abort",u)));const T=If(i.url);if(T&&!De.protocols.includes(T)){r(new I("Unsupported protocol "+T+":",I.ERR_BAD_REQUEST,e)),v();return}w.send(s||null)})},eh=(e,t)=>{if(e=e?e.filter(Boolean):[],!t&&!e.length)return;const n=new AbortController;let r=!1;const i=function(l){if(!r){r=!0,o();const d=l instanceof Error?l:this.reason;n.abort(d instanceof I?d:new fr(d instanceof Error?d.message:d))}};let s=t&&setTimeout(()=>{s=null,i(new I(`timeout of ${t}ms exceeded`,I.ETIMEDOUT))},t);const o=()=>{e&&(s&&clearTimeout(s),s=null,e.forEach(l=>{l.unsubscribe?l.unsubscribe(i):l.removeEventListener("abort",i)}),e=null)};e.forEach(l=>l.addEventListener("abort",i,{once:!0}));const{signal:a}=n;return a.unsubscribe=()=>S.asap(o),a},th=function*(e,t){let n=e.byteLength;if(n<t){yield e;return}let r=0,i;for(;r<n;)i=r+t,yield e.slice(r,i),r=i},nh=async function*(e,t){for await(const n of rh(e))yield*th(n,t)},rh=async function*(e){if(e[Symbol.asyncIterator]){yield*e;return}const t=e.getReader();try{for(;;){const{done:n,value:r}=await t.read();if(n)break;yield r}}finally{await t.cancel()}},Lo=(e,t,n,r)=>{const i=nh(e,t);let s=0,o,a=l=>{o||(o=!0,r&&r(l))};return new ReadableStream({async pull(l){try{const{done:d,value:u}=await i.next();if(d){a(),l.close();return}let f=u.byteLength;if(n){let m=s+=f;n(m)}l.enqueue(new Uint8Array(u))}catch(d){throw a(d),d}},cancel(l){return a(l),i.return()}},{highWaterMark:2})},qr=e=>e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102,ih=(e,t,n)=>t+2<n&&qr(e.charCodeAt(t+1))&&qr(e.charCodeAt(t+2));function sh(e){if(!e||typeof e!="string"||!e.startsWith("data:"))return 0;const t=e.indexOf(",");if(t<0)return 0;const n=e.slice(5,t),r=e.slice(t+1);if(/;base64/i.test(n)){let o=r.length;const a=r.length;for(let h=0;h<a;h++)if(r.charCodeAt(h)===37&&h+2<a){const b=r.charCodeAt(h+1),v=r.charCodeAt(h+2);qr(b)&&qr(v)&&(o-=2,h+=2)}let l=0,d=a-1;const u=h=>h>=2&&r.charCodeAt(h-2)===37&&r.charCodeAt(h-1)===51&&(r.charCodeAt(h)===68||r.charCodeAt(h)===100);d>=0&&(r.charCodeAt(d)===61?(l++,d--):u(d)&&(l++,d-=3)),l===1&&d>=0&&(r.charCodeAt(d)===61||u(d))&&l++;const m=Math.floor(o/4)*3-(l||0);return m>0?m:0}let s=0;for(let o=0,a=r.length;o<a;o++){const l=r.charCodeAt(o);if(l===37&&ih(r,o,a))s+=1,o+=2;else if(l<128)s+=1;else if(l<2048)s+=2;else if(l>=55296&&l<=56319&&o+1<a){const d=r.charCodeAt(o+1);d>=56320&&d<=57343?(s+=4,o++):s+=3}else s+=3}return s}const Ws="1.18.1",No=64*1024,{isFunction:Sr}=S,oh=e=>encodeURIComponent(e).replace(/%([0-9A-F]{2})/gi,(t,n)=>String.fromCharCode(parseInt(n,16))),Do=e=>{if(!S.isString(e))return e;try{return decodeURIComponent(e)}catch{return e}},Ro=(e,...t)=>{try{return!!e(...t)}catch{return!1}},ah=e=>{const t=e.indexOf("://");let n=e;return t!==-1&&(n=n.slice(t+3)),n.includes("@")||n.includes(":")},ch=e=>{const t=S.global!==void 0&&S.global!==null?S.global:globalThis,{ReadableStream:n,TextEncoder:r}=t;e=S.merge.call({skipUndefined:!0},{Request:t.Request,Response:t.Response},e);const{fetch:i,Request:s,Response:o}=e,a=i?Sr(i):typeof fetch=="function",l=Sr(s),d=Sr(o);if(!a)return!1;const u=a&&Sr(n),f=a&&(typeof r=="function"?(g=>T=>g.encode(T))(new r):async g=>new Uint8Array(await new s(g).arrayBuffer())),m=l&&u&&Ro(()=>{let g=!1;const T=new s(De.origin,{body:new n,method:"POST",get duplex(){return g=!0,"half"}}),x=T.headers.has("Content-Type");return T.body!=null&&T.body.cancel(),g&&!x}),h=d&&u&&Ro(()=>S.isReadableStream(new o("").body)),b={stream:h&&(g=>g.body)};a&&["text","arrayBuffer","blob","formData","stream"].forEach(g=>{!b[g]&&(b[g]=(T,x)=>{let y=T&&T[g];if(y)return y.call(T);throw new I(`Response type '${g}' is not supported`,I.ERR_NOT_SUPPORT,x)})});const v=async g=>{if(g==null)return 0;if(S.isBlob(g))return g.size;if(S.isSpecCompliantForm(g))return(await new s(De.origin,{method:"POST",body:g}).arrayBuffer()).byteLength;if(S.isArrayBufferView(g)||S.isArrayBuffer(g))return g.byteLength;if(S.isURLSearchParams(g)&&(g=g+""),S.isString(g))return(await f(g)).byteLength},w=async(g,T)=>{const x=S.toFiniteNumber(g.getContentLength());return x??v(T)};return async g=>{let{url:T,method:x,data:y,signal:O,cancelToken:C,timeout:E,onDownloadProgress:k,onUploadProgress:U,responseType:F,headers:H,withCredentials:L="same-origin",fetchOptions:Q,maxContentLength:K,maxBodyLength:re}=Rc(g);const P=S.isNumber(K)&&K>-1,D=S.isNumber(re)&&re>-1,j=N=>S.hasOwnProp(g,N)?g[N]:void 0;let A=i||fetch;F=F?(F+"").toLowerCase():"text";let W=eh([O,C&&C.toAbortSignal()],E),R=null;const G=W&&W.unsubscribe&&(()=>{W.unsubscribe()});let ae,ce=null;const ie=()=>new I("Request body larger than maxBodyLength limit",I.ERR_BAD_REQUEST,g,R);try{let N;const Z=j("auth");if(Z){const Y=S.getSafeProp(Z,"username")||"",we=S.getSafeProp(Z,"password")||"";N={username:Y,password:we}}if(ah(T)){const Y=new URL(T,De.origin);if(!N&&(Y.username||Y.password)){const we=Do(Y.username),je=Do(Y.password);N={username:we,password:je}}(Y.username||Y.password)&&(Y.username="",Y.password="",T=Y.href)}if(N&&(H.delete("authorization"),H.set("Authorization","Basic "+btoa(oh((N.username||"")+":"+(N.password||""))))),P&&typeof T=="string"&&T.startsWith("data:")&&sh(T)>K)throw new I("maxContentLength size of "+K+" exceeded",I.ERR_BAD_RESPONSE,g,R);if(D&&x!=="get"&&x!=="head"){const Y=await v(y);if(typeof Y=="number"&&isFinite(Y)&&(ae=Y,Y>re))throw ie()}const te=D&&(S.isReadableStream(y)||S.isStream(y)),ve=(Y,we,je)=>Lo(Y,No,Ze=>{if(D&&Ze>re)throw ce=ie();we&&we(Ze)},je);if(m&&x!=="get"&&x!=="head"&&(U||te)){if(ae=ae??await w(H,y),ae!==0||te){let Y=new s(T,{method:"POST",body:y,duplex:"half"}),we;if(S.isFormData(y)&&(we=Y.headers.get("content-type"))&&H.setContentType(we),Y.body){const[je,Ze]=U&&Co(ae,zr(Oo(U)))||[];y=ve(Y.body,je,Ze)}}}else if(te&&!l&&u&&x!=="get"&&x!=="head")y=ve(y);else if(te&&l&&!m&&x!=="get"&&x!=="head")throw new I("Stream request bodies are not supported by the current fetch implementation",I.ERR_NOT_SUPPORT,g,R);S.isString(L)||(L=L?"include":"omit");const Re=l&&"credentials"in s.prototype;if(S.isFormData(y)){const Y=H.getContentType();Y&&/^multipart\/form-data/i.test(Y)&&!/boundary=/i.test(Y)&&H.delete("content-type")}H.set("User-Agent","axios/"+Ws,!1);const be={...Q,signal:W,method:x.toUpperCase(),headers:Tc(H.normalize()),body:y,duplex:"half",credentials:Re?L:void 0};R=l&&new s(T,be);let Pe=await(l?A(R,Q):A(T,be));const Ce=Fe.from(Pe.headers);if(P){const Y=S.toFiniteNumber(Ce.getContentLength());if(Y!=null&&Y>K)throw new I("maxContentLength size of "+K+" exceeded",I.ERR_BAD_RESPONSE,g,R)}const V=h&&(F==="stream"||F==="response");if(h&&Pe.body&&(k||P||V&&G)){const Y={};["status","statusText","headers"].forEach(it=>{Y[it]=Pe[it]});const we=S.toFiniteNumber(Ce.getContentLength()),[je,Ze]=k&&Co(we,zr(Oo(k),!0))||[];let an=0;const Un=it=>{if(P&&(an=it,an>K))throw new I("maxContentLength size of "+K+" exceeded",I.ERR_BAD_RESPONSE,g,R);je&&je(it)};Pe=new o(Lo(Pe.body,No,Un,()=>{Ze&&Ze(),G&&G()}),Y)}F=F||"text";let _e=await b[S.findKey(b,F)||"text"](Pe,g);if(P&&!h&&!V){let Y;if(_e!=null&&(typeof _e.byteLength=="number"?Y=_e.byteLength:typeof _e.size=="number"?Y=_e.size:typeof _e=="string"&&(Y=typeof r=="function"?new r().encode(_e).byteLength:_e.length)),typeof Y=="number"&&Y>K)throw new I("maxContentLength size of "+K+" exceeded",I.ERR_BAD_RESPONSE,g,R)}return!V&&G&&G(),await new Promise((Y,we)=>{Nc(Y,we,{data:_e,headers:Fe.from(Pe.headers),status:Pe.status,statusText:Pe.statusText,config:g,request:R})})}catch(N){if(G&&G(),W&&W.aborted&&W.reason instanceof I){const Z=W.reason;throw Z.config=g,R&&(Z.request=R),N!==Z&&Object.defineProperty(Z,"cause",{__proto__:null,value:N,writable:!0,enumerable:!1,configurable:!0}),Z}if(ce)throw R&&!ce.request&&(ce.request=R),ce;if(N instanceof I)throw R&&!N.request&&(N.request=R),N;if(N&&N.name==="TypeError"&&/Load failed|fetch/i.test(N.message)){const Z=new I("Network Error",I.ERR_NETWORK,g,R,N&&N.response);throw Object.defineProperty(Z,"cause",{__proto__:null,value:N.cause||N,writable:!0,enumerable:!1,configurable:!0}),Z}throw I.from(N,N&&N.code,g,R,N&&N.response)}}},lh=new Map,jc=e=>{let t=e&&e.env||{};const{fetch:n,Request:r,Response:i}=t,s=[r,i,n];let o=s.length,a=o,l,d,u=lh;for(;a--;)l=s[a],d=u.get(l),d===void 0&&u.set(l,d=a?new Map:ch(t)),u=d;return d};jc();const $s={http:Sf,xhr:Xf,fetch:{get:jc}};S.forEach($s,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{__proto__:null,value:t})}catch{}Object.defineProperty(e,"adapterName",{__proto__:null,value:t})}});const jo=e=>`- ${e}`,dh=e=>S.isFunction(e)||e===null||e===!1;function uh(e,t){e=S.isArray(e)?e:[e];const{length:n}=e;let r,i;const s={};for(let o=0;o<n;o++){r=e[o];let a;if(i=r,!dh(r)&&(i=$s[(a=String(r)).toLowerCase()],i===void 0))throw new I(`Unknown adapter '${a}'`);if(i&&(S.isFunction(i)||(i=i.get(t))))break;s[a||"#"+o]=i}if(!i){const o=Object.entries(s).map(([l,d])=>`adapter ${l} `+(d===!1?"is not supported by the environment":"is not available in the build"));let a=n?o.length>1?`since :
|
|
37
37
|
`+o.map(jo).join(`
|
|
38
|
-
`):" "+jo(o[0]):"as no adapter specified";throw new I("There is no suitable adapter to dispatch the request "+a,I.ERR_NOT_SUPPORT)}return i}const
|
|
38
|
+
`):" "+jo(o[0]):"as no adapter specified";throw new I("There is no suitable adapter to dispatch the request "+a,I.ERR_NOT_SUPPORT)}return i}const Mc={getAdapter:uh,adapters:$s};function Oi(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new fr(null,e)}function Mo(e){return Oi(e),e.headers=Fe.from(e.headers),e.data=Ci.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),Mc.getAdapter(e.adapter||ur.adapter,e)(e).then(function(r){Oi(e),e.response=r;try{r.data=Ci.call(e,e.transformResponse,r)}finally{delete e.response}return r.headers=Fe.from(r.headers),r},function(r){if(!Lc(r)&&(Oi(e),r&&r.response)){e.response=r.response;try{r.response.data=Ci.call(e,e.transformResponse,r.response)}finally{delete e.response}r.response.headers=Fe.from(r.response.headers)}return Promise.reject(r)})}const hi={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{hi[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}});const Uo={};hi.transitional=function(t,n,r){function i(s,o){return"[Axios v"+Ws+"] Transitional option '"+s+"'"+o+(r?". "+r:"")}return(s,o,a)=>{if(t===!1)throw new I(i(o," has been removed"+(n?" in "+n:"")),I.ERR_DEPRECATED);return n&&!Uo[o]&&(Uo[o]=!0,console.warn(i(o," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(s,o,a):!0}};hi.spelling=function(t){return(n,r)=>(console.warn(`${r} is likely a misspelling of ${t}`),!0)};function fh(e,t,n){if(typeof e!="object"||e===null)throw new I("options must be an object",I.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let i=r.length;for(;i-- >0;){const s=r[i],o=Object.prototype.hasOwnProperty.call(t,s)?t[s]:void 0;if(o){const a=e[s],l=a===void 0||o(a,s,e);if(l!==!0)throw new I("option "+s+" must be "+l,I.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new I("Unknown option "+s,I.ERR_BAD_OPTION)}}const Nr={assertOptions:fh,validators:hi},Me=Nr.validators;let Xt=class{constructor(t){this.defaults=t||{},this.interceptors={request:new ko,response:new ko}}async request(t,n){try{return await this._request(t,n)}catch(r){if(r instanceof Error){let i={};Error.captureStackTrace?Error.captureStackTrace(i):i=new Error;const s=(()=>{if(!i.stack)return"";const o=i.stack.indexOf(`
|
|
39
39
|
`);return o===-1?"":i.stack.slice(o+1)})();try{if(!r.stack)r.stack=s;else if(s){const o=s.indexOf(`
|
|
40
40
|
`),a=o===-1?-1:s.indexOf(`
|
|
41
41
|
`,o+1),l=a===-1?"":s.slice(a+1);String(r.stack).endsWith(l)||(r.stack+=`
|
|
42
|
-
`+s)}}catch{}}throw r}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=sn(this.defaults,n);const{transitional:r,paramsSerializer:i,headers:s}=n;r!==void 0&&Nr.assertOptions(r,{silentJSONParsing:Me.transitional(Me.boolean),forcedJSONParsing:Me.transitional(Me.boolean),clarifyTimeoutError:Me.transitional(Me.boolean),legacyInterceptorReqResOrdering:Me.transitional(Me.boolean),advertiseZstdAcceptEncoding:Me.transitional(Me.boolean),validateStatusUndefinedResolves:Me.transitional(Me.boolean)},!1),i!=null&&(S.isFunction(i)?n.paramsSerializer={serialize:i}:Nr.assertOptions(i,{encode:Me.function,serialize:Me.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),Nr.assertOptions(n,{baseUrl:Me.spelling("baseURL"),withXsrfToken:Me.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let o=s&&S.merge(s.common,s[n.method]);s&&S.forEach(["delete","get","head","post","put","patch","query","common"],b=>{delete s[b]}),n.headers=Fe.concat(o,s);const a=[];let l=!0;this.interceptors.request.forEach(function(v){if(typeof v.runWhen=="function"&&v.runWhen(n)===!1)return;l=l&&v.synchronous;const _=n.transitional||Fs;_&&_.legacyInterceptorReqResOrdering?a.unshift(v.fulfilled,v.rejected):a.push(v.fulfilled,v.rejected)});const d=[];this.interceptors.response.forEach(function(v){d.push(v.fulfilled,v.rejected)});let u,f=0,m;if(!l){const b=[Mo.bind(this),void 0];for(b.unshift(...a),b.push(...d),m=b.length,u=Promise.resolve(n);f<m;)u=u.then(b[f++],b[f++]);return u}m=a.length;let h=n;for(;f<m;){const b=a[f++],v=a[f++];try{h=b(h)}catch(_){v.call(this,_);break}}try{u=Mo.call(this,h)}catch(b){return Promise.reject(b)}for(f=0,m=d.length;f<m;)u=u.then(d[f++],d[f++]);return u}getUri(t){t=sn(this.defaults,t);const n=Rc(t.baseURL,t.url,t.allowAbsoluteUrls,t);return Ec(n,t.params,t.paramsSerializer)}};S.forEach(["delete","get","head","options"],function(t){Xt.prototype[t]=function(n,r){return this.request(sn(r||{},{method:t,url:n,data:r&&S.hasOwnProp(r,"data")?r.data:void 0}))}});S.forEach(["post","put","patch","query"],function(t){function n(r){return function(s,o,a){return this.request(sn(a||{},{method:t,headers:r?{"Content-Type":"multipart/form-data"}:{},url:s,data:o}))}}Xt.prototype[t]=n(),t!=="query"&&(Xt.prototype[t+"Form"]=n(!0))});let mh=class Ic{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let n;this.promise=new Promise(function(s){n=s});const r=this;this.promise.then(i=>{if(!r._listeners)return;let s=r._listeners.length;for(;s-- >0;)r._listeners[s](i);r._listeners=null}),this.promise.then=i=>{let s;const o=new Promise(a=>{r.subscribe(a),s=a}).then(i);return o.cancel=function(){r.unsubscribe(s)},o},t(function(s,o,a){r.reason||(r.reason=new fr(s,o,a),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const t=new AbortController,n=r=>{t.abort(r)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new Ic(function(i){t=i}),cancel:t}}};function ph(e){return function(n){return e.apply(null,n)}}function gh(e){return S.isObject(e)&&e.isAxiosError===!0}const Ki={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(Ki).forEach(([e,t])=>{Ki[t]=e});function Fc(e){const t=new Xt(e),n=pc(Xt.prototype.request,t);return S.extend(n,Xt.prototype,t,{allOwnKeys:!0}),S.extend(n,t,null,{allOwnKeys:!0}),n.create=function(i){return Fc(sn(e,i))},n}const Se=Fc(ur);Se.Axios=Xt;Se.CanceledError=fr;Se.CancelToken=mh;Se.isCancel=Nc;Se.VERSION=Ws;Se.toFormData=fi;Se.AxiosError=I;Se.Cancel=Se.CanceledError;Se.all=function(t){return Promise.all(t)};Se.spread=ph;Se.isAxiosError=gh;Se.mergeConfig=sn;Se.AxiosHeaders=Fe;Se.formToJSON=e=>Lc(S.isHTMLForm(e)?new FormData(e):e);Se.getAdapter=Uc.getAdapter;Se.HttpStatusCode=Ki;Se.default=Se;const{Axios:Iy,AxiosError:Fy,CanceledError:By,isCancel:Wy,CancelToken:$y,VERSION:Vy,all:Hy,Cancel:zy,isAxiosError:Bc,spread:qy,toFormData:Ky,AxiosHeaders:Gy,HttpStatusCode:Qy,formToJSON:Zy,getAdapter:Yy,mergeConfig:Jy,create:Xy}=Se,yh="Bearer ",Wc="web-trading-token";function bh(){return typeof window>"u"?null:localStorage.getItem(Wc)}function Cn(e){return e.replace(/\/$/,"")}function Io(e){const t=Cn(e);async function n(r){const i=bh();return(await Se({...r,baseURL:t,headers:{...r.headers??{},...i?{Authorization:`${yh}${i}`}:{}}})).data}return{get(r,i){return n({...i,url:r,method:"get"})},post(r,i,s){return n({...s,url:r,method:"post",data:i})}}}function Fo(e){return!e.isDemo&&!e.isArchive&&!!e.tradeStat}function _h(e){const t=e.filter(n=>Fo(n)&&n.platformType==="mt5");return t.length>0?t:e.filter(Fo)}function wh(e){const t=e,n=(t==null?void 0:t.accounts)??[];return _h(n).map(r=>{var i,s,o,a,l;return{id:r.id,login:String(r.login),label:`${r.displayTitle} · ${r.login}`,currency:r.currency,tradeStat:{balance:((i=r.tradeStat)==null?void 0:i.balance)??0,equity:((s=r.tradeStat)==null?void 0:s.equity)??0,margin:((o=r.tradeStat)==null?void 0:o.margin)??0,marginFree:((a=r.tradeStat)==null?void 0:a.marginFree)??0,marginLevel:(l=r.tradeStat)==null?void 0:l.marginLevel}}})}function vh(e){try{const t=new URL(Cn(e));return t.hostname.includes("webtrade.")?(t.hostname=t.hostname.replace("webtrade.","api."),t.origin):(t.hostname.startsWith("webtrade")&&(t.hostname=t.hostname.replace(/^webtrade/,"api")),t.origin)}catch{return Cn(e)}}function Sh(e){try{const t=new URL(Cn(e));return t.hostname.includes("opheleo")?"wss://ticks.opheleo.com":(t.protocol=t.protocol==="https:"?"wss:":"ws:",t.origin)}catch{return""}}function Th(e){const t=Cn(e),n=Io(t),r=vh(t),i=Io(r),s=uu(n),o=_t;return{baseUrl:t,platformApiBase:r,tickWebSocketUrl:Sh(t),dealer:s,trading:yu(s,o),async getAccounts(){const a=await i.get("/account-config/api/v1");return wh(a)}}}const $c=p.createContext(null);function Vc({baseUrl:e,children:t}){const n=p.useMemo(()=>Th(e),[e]);return c.jsx($c.Provider,{value:n,children:t})}function nt(){const e=p.useContext($c);if(!e)throw new Error("useWidgetApiClient must be used within WidgetApiProvider");return e}function Hc(){return nt().tickWebSocketUrl}const xh="wss://ticks.opheleo.com";function Vs(e){const[t,n]=p.useState(null),r=Hc();return p.useEffect(()=>{n(null);const i=ci(e).toUpperCase();let s=null,o=!1;const a=r||xh,l=()=>{s=new WebSocket(a),s.onopen=()=>{if(o){s==null||s.close(1e3,"Unmounted");return}s==null||s.send(JSON.stringify({action:"select_symbol",symbol:i}))},s.onmessage=d=>{var u;try{const f=JSON.parse(d.data);if(((u=f.symbol)==null?void 0:u.trim().toUpperCase())!==i)return;const h=Number(f.bid),b=Number(f.ask);if(!Number.isFinite(h)||!Number.isFinite(b))return;n({bid:h,ask:b})}catch{}},s.onclose=()=>{o||setTimeout(l,3e3)}};return l(),()=>{o=!0,s==null||s.close(1e3,"Unmounted")}},[e,r]),t}function kh(e,t){const n=Number(e),r=Number(t);return Number.isFinite(n)&&Number.isFinite(r)&&n!==r?n-r:e.localeCompare(t,void 0,{numeric:!0})}function Ph(e,t){return e.openTimeMs!==t.openTimeMs?e.openTimeMs-t.openTimeMs:kh(e.ticket,t.ticket)}function Bo(e){return[...e].sort(Ph)}function Wo(e){return Ne(e).toUpperCase()}const le=di(e=>({positions:[],orders:[],liveQuotes:{},selectedLogin:"",selectedPositionTicket:null,selectedOrderTicket:null,setSelectedLogin:t=>{e({selectedLogin:t})},setSelectedPositionTicket:t=>{e(n=>({selectedPositionTicket:t,selectedOrderTicket:t!==null?null:n.selectedOrderTicket}))},setSelectedOrderTicket:t=>{e(n=>({selectedOrderTicket:t,selectedPositionTicket:t!==null?null:n.selectedPositionTicket}))},setPositions:t=>{e({positions:Bo(t)})},setOrders:t=>{e({orders:Bo(t)})},removePosition:t=>{e(n=>({positions:n.positions.filter(r=>r.ticket!==t),selectedPositionTicket:n.selectedPositionTicket===t?null:n.selectedPositionTicket}))},removeOrder:t=>{e(n=>({orders:n.orders.filter(r=>r.ticket!==t),selectedOrderTicket:n.selectedOrderTicket===t?null:n.selectedOrderTicket}))},updateQuotes:(t,n,r)=>{const i=Wo(t);e(s=>{const o={...s.liveQuotes,[i]:{bid:n,ask:r}};return{liveQuotes:o,positions:s.positions.map(a=>Ld(a,i,n,r,o)),orders:s.orders.map(a=>{if(Wo(a.symbol)!==i)return a;const l=a.side==="buy"?n:r;return{...a,currentPrice:l,marketBid:n,marketAsk:r}})}})},clearPositions:()=>{e({positions:[],orders:[],liveQuotes:{}})}}));function Ch({symbolTicker:e,symbols:t,sidePanelTab:n,orderState:r,backUrl:i,createAccountUrl:s}){const o=Vs(e),{panelRef:a,position:l,isDragging:d,onDragStart:u,reclamp:f}=uc(),{panel:m,isSubmitting:h,defaultVolumeLots:b,volumeStep:v,minVolumeLots:_,accountOptions:g,selectedLogin:T,isAccountsLoading:x,hasConfirmedAccount:y,needsAccountSelection:O,confirmAccountSelection:C,placeMarketOrder:E}=r,k=ne(P=>P.setDraft),U=ne(P=>P.clearDraft),F=le(P=>P.selectedPositionTicket),H=le(P=>P.selectedOrderTicket),L=F!==null||H!==null,Q=Number(wt(vt(e))),K=Dn(Q);p.useEffect(()=>{if(y&&!L){if(m==="closed"||m==="confirmation"){U();return}k({source:"new-order",symbolKey:ar(e,t),entryPrice:null,side:null,showEntryLine:!1,stopLoss:"",takeProfit:"",volumeLots:b,digits:Q,priceStep:K})}},[U,b,Q,y,L,m,K,k,e,t]);const re=P=>{E({symbolTicker:e,login:P.login,executionMode:"market",side:P.side,orderType:P.side==="buy"?He.BUY:He.SELL,volumeLots:P.volumeLots,stopLoss:"",takeProfit:"",priceOrder:"",priceTrigger:"",comment:"",typeTime:We.GTC,expirationDateTime:"",expirationDay:"",bid:P.bid,ask:P.ask})};return c.jsxs(c.Fragment,{children:[c.jsx(Ja,{open:O,isAccountsLoading:x,accountOptions:g,onConfirm:C,backUrl:i,createAccountUrl:s}),y&&c.jsx("div",{ref:a,style:{left:l.x,top:l.y},className:`web-trading-widget-new-order-overlay${d?" web-trading-widget-new-order-overlay--dragging":""}`,children:c.jsx(Zd,{symbolTicker:e,bid:(o==null?void 0:o.bid)??null,ask:(o==null?void 0:o.ask)??null,defaultVolumeLots:b,volumeStep:v,minVolumeLots:_,isSubmitting:h,isAccountsLoading:x,selectedLogin:T,isDragging:d,sidePanelTab:n,onDragHandlePointerDown:u,onExpandedChange:f,onExpand:f,onPlaceOrder:re})})]})}const Oh="wss://ticks.opheleo.com";function Eh(e,t){const n=new Set;for(const r of e){const i=Ne(r.symbol).toUpperCase();i&&n.add(i)}for(const r of t){const i=Ne(r.symbol).toUpperCase();i&&n.add(i)}for(const r of Ed([...n]))n.add(r);return[...n].sort().join("|")}function Ah(e){return Eh(e.positions,e.orders)}function Lh(){const e=le(Ah),t=le(r=>r.updateQuotes),n=Hc();p.useEffect(()=>{if(!e)return;const r=e.split("|"),i=new Map;let s=!1;const o=n||Oh,a=l=>{const d=new WebSocket(o);i.set(l,d),d.onopen=()=>{if(s){d.close(1e3,"Unmounted");return}d.send(JSON.stringify({action:"select_symbol",symbol:l}))},d.onmessage=u=>{var f;try{const m=JSON.parse(u.data),h=(f=m.symbol)==null?void 0:f.trim().toUpperCase();if(!h||h!==l)return;const b=Number(m.bid),v=Number(m.ask);if(!Number.isFinite(b)||!Number.isFinite(v))return;t(h,b,v)}catch{}},d.onclose=()=>{i.delete(l),s||setTimeout(()=>a(l),3e3)}};for(const l of r)a(l);return()=>{s=!0;for(const l of i.values())l.close(1e3,"Unmounted");i.clear()}},[e,n,t])}function zc(){return Lh(),null}const Gi=(e,t,n)=>{if(!e)return t;try{const r=e.activeChart().symbol(),i=n.find(s=>s.display_name===r||s.ticker===r);if(i)return ar(i.ticker,n)}catch{}return t},qc={buy:"#2563eb",sell:"#dc2626"},Ei={positive:"#2563eb",negative:"#dc2626",neutral:"#94a3b8"},Kn={linewidth:1,linestyle:2,fontsize:11},ln={linewidth:Kn.linewidth,linestyle:Kn.linestyle},Kc={stopLoss:"#f97316",takeProfit:"#22c55e"},Gc=e=>qc[e],Qi=(e,t)=>e==="entry"?t!=null?Gc(t):qc.sell:Kc[e],$o=(e,t)=>{if(e==="entry")return Qi(e,t.side);const{side:n,entryPrice:r,linePrice:i,volumeLots:s}=t;if(n!=null&&r!==null&&r!==void 0&&i!==void 0&&s!==void 0){const o=Qc(n,r,i,s);return Zc(o)}return Kc[e]},Qc=(e,t,n,r)=>(e==="buy"?n-t:t-n)*r*100,Nh=(e,t)=>!Number.isFinite(t)||t<=0?0:Math.round(e/t),Dh=e=>{const t=Qc(e.side,e.entryPrice,e.linePrice,e.volumeLots),n=e.side==="buy"?e.linePrice-e.entryPrice:e.entryPrice-e.linePrice,r=Nh(n,e.priceStep),i=e.kind==="takeProfit"?"TP":"SL",s=`${t.toFixed(2)} USD`,o=`${r} points`;return`${i} ${s}, ${o}`},Rh=(e,t)=>e.toFixed(t),Zc=e=>e>0?Ei.positive:e<0?Ei.negative:Ei.neutral,jh=e=>{const t=`${e.side.toUpperCase()} ${e.volumeLots.toFixed(2)}, `,n=`${e.profit.toFixed(2)} USD`;return`${t}${n}`},Ai=e=>{const t=Gc(e.side),n=Zc(e.profit);return{text:jh(e),linecolor:t,textcolor:n,linewidth:Kn.linewidth,linestyle:Kn.linestyle,fontsize:Kn.fontsize,showPrice:!0,horzLabelsAlign:"left"}},Li=e=>Le(e),Mh=e=>e==="entry"||e==="stopLoss"||e==="takeProfit",Uh=["entry","stopLoss","takeProfit"],Ih=32,Vo=(e,t,n)=>{const{source:r,symbolKey:i}=ne.getState();if(r===null)return!1;const s=Gi(e,t,n);return i===s},Ni=e=>{e.setUserEditEnabled(!1),e.setSelectionEnabled(!1)},Ho=(e,t,n)=>{if(e==="entry")return Rh(t,n.digits);const{entryPrice:r,side:i}=n;return i!==null&&r!==null?Dh({kind:e,side:i,entryPrice:r,linePrice:t,volumeLots:n.volumeLots,priceStep:n.priceStep}):`${e==="takeProfit"?"TP":"SL"} ${pe(t,n.digits)}`},Fh=({chartWidget:e,symbolTicker:t,symbols:n})=>{const r=ne(P=>P.source),i=ne(P=>P.entryPrice),s=ne(P=>P.stopLoss),o=ne(P=>P.takeProfit),a=ne(P=>P.side),l=ne(P=>P.showEntryLine),d=ne(P=>P.volumeLots),u=ne(P=>P.digits),f=ne(P=>P.priceStep),m=ne(P=>P.setStopLoss),h=ne(P=>P.setTakeProfit),b=p.useMemo(()=>ar(t,n),[t,n]),v=p.useRef(b);p.useEffect(()=>{v.current=b},[b]);const _=p.useRef({}),g=p.useRef(null),T=p.useRef(null),x=p.useRef(null),y=p.useRef(!1),O=p.useRef({entryPrice:i,stopLoss:s,takeProfit:o,side:a,showEntryLine:l,volumeLots:d,digits:u,priceStep:f});p.useEffect(()=>{O.current={entryPrice:i,stopLoss:s,takeProfit:o,side:a,showEntryLine:l,volumeLots:d,digits:u,priceStep:f}},[u,i,f,l,a,s,o,d]);const C=p.useCallback(P=>{if(!e)return;const D=_.current[P];if(D){try{e.activeChart().removeEntity(D)}catch{}delete _.current[P]}},[e]),E=p.useCallback(()=>{for(const P of Uh)C(P);_.current={}},[C]),k=p.useCallback((P,D,j,A)=>{const W=Qi(D,A.side),R=$o(D,{side:A.side,entryPrice:A.entryPrice,linePrice:j,volumeLots:A.volumeLots});P.setProperties({text:Ho(D,j,A),linecolor:W,textcolor:R,showPrice:!0,horzLabelsAlign:"left",...D==="entry"?ln:{}})},[]),U=p.useCallback(async(P,D,j)=>{var ce;if(!e)return;if(D===void 0){C(P);return}if(T.current===P)return;const A=e.activeChart(),W=Qi(P,j.side),R=$o(P,{side:j.side,entryPrice:j.entryPrice,linePrice:D,volumeLots:j.volumeLots}),G=Ho(P,D,j),ae=_.current[P];if(ae)try{const ie=A.getShapeById(ae);P==="entry"&&Ni(ie);const N=(ce=ie.getPoints()[0])==null?void 0:ce.price;if(N!==void 0&&Math.abs(N-D)<j.priceStep/2){ie.setProperties({text:G,linecolor:W,textcolor:R,showPrice:!0,horzLabelsAlign:"left",...P==="entry"?ln:{}});return}const Z=ie.getPoints();if(Z.length>0){y.current=!0,ie.setPoints(Z.map(te=>({...te,price:D}))),y.current=!1,ie.setProperties({text:G,linecolor:W,textcolor:R,showPrice:!0,horzLabelsAlign:"left",...P==="entry"?ln:{}});return}}catch{delete _.current[P]}try{const ie=A.getVisibleRange(),N=await A.createShape({time:ie.from,price:D},{shape:"horizontal_line",text:G,disableSave:!0,lock:P==="entry",disableSelection:P==="entry",overrides:{linecolor:W,textcolor:R,linewidth:P==="entry"?ln.linewidth:2,...P==="entry"?{linestyle:ln.linestyle}:{},showPrice:!0,horzLabelsAlign:"left"}});if(P==="entry")try{A.getShapeById(N).setProperties(ln)}catch{}if(P==="entry"&&!O.current.showEntryLine){try{A.removeEntity(N)}catch{}return}if(P==="entry")try{Ni(A.getShapeById(N))}catch{}_.current[P]=N}catch{}},[e,C]),F=p.useCallback(async P=>{if(!Vo(e,v.current,n)){E();return}const D=Li(P.stopLoss),j=Li(P.takeProfit);P.showEntryLine&&P.entryPrice!==null?await U("entry",P.entryPrice,P):await U("entry",void 0,P),await U("stopLoss",D,P),await U("takeProfit",j,P)},[e,E,n,U]),H=p.useCallback(()=>{e&&(E(),Vo(e,v.current,n)&&F(O.current))},[e,E,n,F]),L=p.useRef(H);p.useEffect(()=>{L.current=H},[H]);const Q=p.useCallback(()=>{g.current!==null&&clearTimeout(g.current),g.current=setTimeout(()=>{g.current=null,L.current()},Ih)},[]),K=p.useRef(Q);p.useEffect(()=>{K.current=Q},[Q]);const re=r!==null&&(l||s.trim()!==""||o.trim()!=="");p.useEffect(()=>{if(!e||!re)return;const P=(D,j)=>{var G,ae,ce;const A=(G=Object.entries(_.current).find(([,ie])=>ie===D))==null?void 0:G[0];if(!A||!Mh(A))return;const R=e.activeChart().getAllShapes().filter(ie=>ie.name==="horizontal_line").some(ie=>ie.id===D);if(A==="entry"){if((j==="move"||j==="points_changed")&&R){const ie=O.current;if(ie.entryPrice!==null)try{const N=e.activeChart().getShapeById(D),Z=(ae=N.getPoints()[0])==null?void 0:ae.price;if(Z!==void 0&&Math.abs(Z-ie.entryPrice)>=ie.priceStep/2){const te=N.getPoints();te.length>0&&N.setPoints(te.map(ve=>({...ve,price:ie.entryPrice})))}Ni(N)}catch{}}return}if(j==="remove"&&R){T.current=null,A==="stopLoss"&&m(""),A==="takeProfit"&&h(""),delete _.current[A];return}if(!(j!=="move"&&j!=="points_changed"&&!R)&&!y.current)try{const ie=e.activeChart().getShapeById(D),N=(ce=ie.getPoints()[0])==null?void 0:ce.price;if(!Number.isFinite(N)||N<=0)return;const Z=O.current,te=A==="stopLoss"?Z.stopLoss:Z.takeProfit,ve=Li(te),Re=ve!==void 0&&Math.abs(ve-N)<Z.priceStep/2;if(j==="points_changed"&&R){T.current=A,k(ie,A,N,Z),x.current!==null&&clearTimeout(x.current),x.current=setTimeout(()=>{T.current=null;const Ce=pe(N,O.current.digits);A==="stopLoss"?m(Ce):h(Ce)},120);return}if(x.current!==null&&(clearTimeout(x.current),x.current=null),T.current=null,Re){k(ie,A,N,Z);return}const be=pe(N,Z.digits),Pe=A==="stopLoss"?{...Z,stopLoss:be}:{...Z,takeProfit:be};A==="stopLoss"?m(be):h(be),k(ie,A,N,Pe)}catch{T.current=null}};try{e.subscribe("drawing_event",P)}catch{}return()=>{T.current=null,x.current!==null&&(clearTimeout(x.current),x.current=null);try{e.unsubscribe("drawing_event",P)}catch{}}},[e,re,m,h,k]),p.useEffect(()=>{if(!e)return;if(r===null){E();return}let P=!1;try{e.onChartReady(()=>{P||F(O.current)})}catch{}return()=>{P=!0}},[e,E,r,i,s,o,a,l,d,u,f,F]),p.useEffect(()=>{if(!e||r===null)return;let P=!1,D=null,j=!1;const A=()=>{P||(j=!0,K.current())},W=()=>{P||!j||(j=!1,K.current())};try{e.onChartReady(()=>{if(!P)try{D=e.activeChart(),D.onSymbolChanged().subscribe(null,A),D.onDataLoaded().subscribe(null,W)}catch{}})}catch{}return()=>{if(P=!0,g.current!==null&&(clearTimeout(g.current),g.current=null),D)try{D.onSymbolChanged().unsubscribe(null,A),D.onDataLoaded().unsubscribe(null,W)}catch{}}},[e,r]),p.useEffect(()=>{if(!e||r===null)return;let P=!1;try{e.onChartReady(()=>{P||K.current()})}catch{}return()=>{P=!0}},[b,e,r])},Di=e=>{e.setUserEditEnabled(!1),e.setSelectionEnabled(!1)},Zi=(e,t)=>Ne(e.symbol).toUpperCase()===t,zo=e=>le.getState().positions.filter(t=>Zi(t,e)).map(t=>({ticket:t.ticket,openPrice:t.openPrice,type:t.type,digits:t.digits,volumeLots:t.volumeLots,profit:t.profit})),qo=(e,t,n)=>{var s;const r=(s=e.getPoints()[0])==null?void 0:s.price;if(r!==void 0&&Math.abs(r-t)<Number.EPSILON){e.setProperties(n);return}const i=e.getPoints();i.length>0&&e.setPoints(i.map(o=>({...o,price:t}))),e.setProperties(n)},Bh=500,Wh=({chartWidget:e,symbolTicker:t,symbols:n})=>{const r=le(y=>y.positions),i=p.useRef(new Map),s=p.useRef(0),o=p.useMemo(()=>ar(t,n),[t,n]),a=p.useRef(o);p.useEffect(()=>{a.current=o},[o]);const l=p.useMemo(()=>r.filter(y=>Zi(y,o)).map(y=>`${y.ticket}:${y.openPrice}:${y.type}:${y.digits}:${y.volumeLots}`).sort().join("|"),[o,r]),d=p.useMemo(()=>r.filter(y=>Zi(y,o)).map(y=>`${y.ticket}:${y.profit.toFixed(2)}`).sort().join("|"),[o,r]),u=p.useCallback(y=>{if(!e)return;const O=i.current.get(y);if(O){try{e.activeChart().removeEntity(O)}catch{}i.current.delete(y)}},[e]),f=p.useCallback(()=>{for(const y of[...i.current.keys()])u(y);i.current.clear()},[u]),m=p.useCallback(async(y,O,C)=>{const E=Ai({side:O.type,volumeLots:O.volumeLots,profit:O.profit}),U={time:y.getVisibleRange().from,price:O.openPrice},F=await y.createShape(U,{shape:"horizontal_line",text:String(E.text),disableSave:!0,lock:!0,disableSelection:!0,overrides:E});if(C!==s.current){try{y.removeEntity(F)}catch{}return null}try{const H=y.getShapeById(F);H.setProperties(E),Di(H)}catch{}return F},[]),h=p.useCallback(async(y,O)=>{if(!e||O!==s.current)return;const C=e.activeChart(),E=Ai({side:y.type,volumeLots:y.volumeLots,profit:y.profit}),k=i.current.get(y.ticket);if(k)try{qo(C.getShapeById(k),y.openPrice,E),Di(C.getShapeById(k));return}catch{i.current.delete(y.ticket)}if(O===s.current)try{const U=await m(C,y,O);if(!U)return;i.current.set(y.ticket,U)}catch{}},[e,m]),b=p.useCallback(async(y,O)=>{if(!e||y!==s.current)return;const C=zo(O),E=new Set(C.map(k=>k.ticket));for(const k of i.current.keys())E.has(k)||u(k);for(const k of C){if(y!==s.current)return;await h(k,y)}},[e,u,h]),v=p.useCallback(()=>{if(!e)return;let y;try{y=e.activeChart()}catch{return}const O=zo(o);for(const C of O){const E=i.current.get(C.ticket);if(E)try{const k=Ai({side:C.type,volumeLots:C.volumeLots,profit:C.profit});qo(y.getShapeById(E),C.openPrice,k),Di(y.getShapeById(E))}catch{i.current.delete(C.ticket)}}},[o,e]),_=p.useCallback(y=>{if(!e)return;const O=s.current+1;s.current=O,y!=null&&y.resetLineIds&&f();const C=(y==null?void 0:y.symbolKey)??Gi(e,a.current,n);b(O,C)},[e,f,n,b]),g=p.useCallback(()=>e?Gi(e,a.current,n):a.current,[e,n]),T=p.useRef(_),x=p.useRef(g);p.useEffect(()=>{T.current=_},[_]),p.useEffect(()=>{x.current=g},[g]),p.useEffect(()=>{if(!e)return;let y=!1,O=null;const C=()=>{y||T.current({resetLineIds:!0,symbolKey:x.current()})};let E=!1;const k=()=>{E=!0,C()},U=()=>{y||!E||(E=!1,T.current({symbolKey:x.current()}))};try{e.onChartReady(()=>{if(!y)try{O=e.activeChart(),T.current({resetLineIds:!0,symbolKey:a.current}),O.onSymbolChanged().subscribe(null,k),O.onDataLoaded().subscribe(null,U)}catch{}})}catch{}return()=>{if(y=!0,s.current+=1,O)try{O.onSymbolChanged().unsubscribe(null,k),O.onDataLoaded().unsubscribe(null,U)}catch{}f()}},[e,f]),p.useEffect(()=>{if(!e)return;let y=!1;try{e.onChartReady(()=>{y||_({symbolKey:o})})}catch{}return()=>{y=!0}},[o,e,l,_]),p.useEffect(()=>{if(!e||!d)return;let y=!1,O=null;return O=setTimeout(()=>{if(!y)try{e.onChartReady(()=>{y||v()})}catch{}},Bh),()=>{y=!0,O!==null&&clearTimeout(O)}},[e,d,v])},Yc=({chartWidget:e,symbolTicker:t,symbols:n})=>(Wh({chartWidget:e,symbolTicker:t,symbols:n}),Fh({chartWidget:e,symbolTicker:t,symbols:n}),null);var hr=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},Vt,Ot,fn,Ba,$h=(Ba=class extends hr{constructor(){super();ee(this,Vt);ee(this,Ot);ee(this,fn);B(this,fn,t=>{if(typeof window<"u"&&window.addEventListener){const n=()=>t();return window.addEventListener("visibilitychange",n,!1),()=>{window.removeEventListener("visibilitychange",n)}}})}onSubscribe(){w(this,Ot)||this.setEventListener(w(this,fn))}onUnsubscribe(){var t;this.hasListeners()||((t=w(this,Ot))==null||t.call(this),B(this,Ot,void 0))}setEventListener(t){var n;B(this,fn,t),(n=w(this,Ot))==null||n.call(this),B(this,Ot,t(r=>{typeof r=="boolean"?this.setFocused(r):this.onFocus()}))}setFocused(t){w(this,Vt)!==t&&(B(this,Vt,t),this.onFocus())}onFocus(){const t=this.isFocused();this.listeners.forEach(n=>{n(t)})}isFocused(){var t;return typeof w(this,Vt)=="boolean"?w(this,Vt):((t=globalThis.document)==null?void 0:t.visibilityState)!=="hidden"}},Vt=new WeakMap,Ot=new WeakMap,fn=new WeakMap,Ba),Hs=new $h,Vh={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},at,Ht,Wa,Hh=(Wa=class{constructor(){ee(this,at,Vh);ee(this,Ht,!1)}setTimeoutProvider(e){process.env.NODE_ENV!=="production"&&w(this,Ht)&&e!==w(this,at)&&console.error("[timeoutManager]: Switching provider after calls to previous provider might result in unexpected behavior.",{previous:w(this,at),provider:e}),B(this,at,e),process.env.NODE_ENV!=="production"&&B(this,Ht,!1)}setTimeout(e,t){return process.env.NODE_ENV!=="production"&&B(this,Ht,!0),w(this,at).setTimeout(e,t)}clearTimeout(e){w(this,at).clearTimeout(e)}setInterval(e,t){return process.env.NODE_ENV!=="production"&&B(this,Ht,!0),w(this,at).setInterval(e,t)}clearInterval(e){w(this,at).clearInterval(e)}},at=new WeakMap,Ht=new WeakMap,Wa),$t=new Hh;function zh(e){setTimeout(e,0)}var qh=typeof window>"u"||"Deno"in globalThis;function Ve(){}function Kh(e,t){return typeof e=="function"?e(t):e}function Yi(e){return typeof e=="number"&&e>=0&&e!==1/0}function Jc(e,t){return Math.max(e+(t||0)-Date.now(),0)}function Mt(e,t){return typeof e=="function"?e(t):e}function Ge(e,t){return typeof e=="function"?e(t):e}function Ko(e,t){const{type:n="all",exact:r,fetchStatus:i,predicate:s,queryKey:o,stale:a}=e;if(o){if(r){if(t.queryHash!==zs(o,t.options))return!1}else if(!Yn(t.queryKey,o))return!1}if(n!=="all"){const l=t.isActive();if(n==="active"&&!l||n==="inactive"&&l)return!1}return!(typeof a=="boolean"&&t.isStale()!==a||i&&i!==t.state.fetchStatus||s&&!s(t))}function Go(e,t){const{exact:n,status:r,predicate:i,mutationKey:s}=e;if(s){if(!t.options.mutationKey)return!1;if(n){if(Zn(t.options.mutationKey)!==Zn(s))return!1}else if(!Yn(t.options.mutationKey,s))return!1}return!(r&&t.state.status!==r||i&&!i(t))}function zs(e,t){return((t==null?void 0:t.queryKeyHashFn)||Zn)(e)}function Zn(e){return JSON.stringify(e,(t,n)=>es(n)?Object.keys(n).sort().reduce((r,i)=>(r[i]=n[i],r),{}):n)}function Yn(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(t).every(n=>Yn(e[n],t[n])):!1}var Gh=Object.prototype.hasOwnProperty;function Ji(e,t,n=0){if(e===t)return e;if(n>500)return t;const r=Qo(e)&&Qo(t);if(!r&&!(es(e)&&es(t)))return t;const s=(r?e:Object.keys(e)).length,o=r?t:Object.keys(t),a=o.length,l=r?new Array(a):{};let d=0;for(let u=0;u<a;u++){const f=r?u:o[u],m=e[f],h=t[f];if(m===h){l[f]=m,(r?u<s:Gh.call(e,f))&&d++;continue}if(m===null||h===null||typeof m!="object"||typeof h!="object"){l[f]=h;continue}const b=Ji(m,h,n+1);l[f]=b,b===m&&d++}return s===a&&d===s?e:l}function Xi(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(e[n]!==t[n])return!1;return!0}function Qo(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function es(e){if(!Zo(e))return!1;const t=e.constructor;if(t===void 0)return!0;const n=t.prototype;return!(!Zo(n)||!n.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(e)!==Object.prototype)}function Zo(e){return Object.prototype.toString.call(e)==="[object Object]"}function Qh(e){return new Promise(t=>{$t.setTimeout(t,e)})}function ts(e,t,n){if(typeof n.structuralSharing=="function")return n.structuralSharing(e,t);if(n.structuralSharing!==!1){if(process.env.NODE_ENV!=="production")try{return Ji(e,t)}catch(r){throw console.error(`Structural sharing requires data to be JSON serializable. To fix this, turn off structuralSharing or return JSON-serializable data from your queryFn. [${n.queryHash}]: ${r}`),r}return Ji(e,t)}return t}function Zh(e,t,n=0){const r=[...e,t];return n&&r.length>n?r.slice(1):r}function Yh(e,t,n=0){const r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var Kr=Symbol();function Xc(e,t){return process.env.NODE_ENV!=="production"&&e.queryFn===Kr&&console.error(`Attempted to invoke queryFn when set to skipToken. This is likely a configuration error. Query hash: '${e.queryHash}'`),!e.queryFn&&(t!=null&&t.initialPromise)?()=>t.initialPromise:!e.queryFn||e.queryFn===Kr?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function el(e,t){return typeof e=="function"?e(...t):!!e}function Jh(e,t,n){let r=!1,i;return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(i??(i=t()),r||(r=!0,i.aborted?n():i.addEventListener("abort",n,{once:!0})),i)}),e}var Jn=(()=>{let e=()=>qh;return{isServer(){return e()},setIsServer(t){e=t}}})();function ns(){let e,t;const n=new Promise((i,s)=>{e=i,t=s});n.status="pending",n.catch(()=>{});function r(i){Object.assign(n,i),delete n.resolve,delete n.reject}return n.resolve=i=>{r({status:"fulfilled",value:i}),e(i)},n.reject=i=>{r({status:"rejected",reason:i}),t(i)},n}var Xh=zh;function em(){let e=[],t=0,n=a=>{a()},r=a=>{a()},i=Xh;const s=a=>{t?e.push(a):i(()=>{n(a)})},o=()=>{const a=e;e=[],a.length&&i(()=>{r(()=>{a.forEach(l=>{n(l)})})})};return{batch:a=>{let l;t++;try{l=a()}finally{t--,t||o()}return l},batchCalls:a=>(...l)=>{s(()=>{a(...l)})},schedule:s,setNotifyFunction:a=>{n=a},setBatchNotifyFunction:a=>{r=a},setScheduler:a=>{i=a}}}var Ae=em(),hn,Et,mn,$a,tm=($a=class extends hr{constructor(){super();ee(this,hn,!0);ee(this,Et);ee(this,mn);B(this,mn,t=>{if(typeof window<"u"&&window.addEventListener){const n=()=>t(!0),r=()=>t(!1);return window.addEventListener("online",n,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",n),window.removeEventListener("offline",r)}}})}onSubscribe(){w(this,Et)||this.setEventListener(w(this,mn))}onUnsubscribe(){var t;this.hasListeners()||((t=w(this,Et))==null||t.call(this),B(this,Et,void 0))}setEventListener(t){var n;B(this,mn,t),(n=w(this,Et))==null||n.call(this),B(this,Et,t(this.setOnline.bind(this)))}setOnline(t){w(this,hn)!==t&&(B(this,hn,t),this.listeners.forEach(r=>{r(t)}))}isOnline(){return w(this,hn)}},hn=new WeakMap,Et=new WeakMap,mn=new WeakMap,$a),Gr=new tm;function nm(e){return Math.min(1e3*2**e,3e4)}function tl(e){return(e??"online")==="online"?Gr.isOnline():!0}var rs=class extends Error{constructor(e){super("CancelledError"),this.revert=e==null?void 0:e.revert,this.silent=e==null?void 0:e.silent}};function nl(e){let t=!1,n=0,r;const i=ns(),s=()=>i.status!=="pending",o=v=>{var _;if(!s()){const g=new rs(v);m(g),(_=e.onCancel)==null||_.call(e,g)}},a=()=>{t=!0},l=()=>{t=!1},d=()=>Hs.isFocused()&&(e.networkMode==="always"||Gr.isOnline())&&e.canRun(),u=()=>tl(e.networkMode)&&e.canRun(),f=v=>{s()||(r==null||r(),i.resolve(v))},m=v=>{s()||(r==null||r(),i.reject(v))},h=()=>new Promise(v=>{var _;r=g=>{(s()||d())&&v(g)},(_=e.onPause)==null||_.call(e)}).then(()=>{var v;r=void 0,s()||(v=e.onContinue)==null||v.call(e)}),b=()=>{if(s())return;let v;const _=n===0?e.initialPromise:void 0;try{v=_??e.fn()}catch(g){v=Promise.reject(g)}Promise.resolve(v).then(f).catch(g=>{var C;if(s())return;const T=e.retry??(Jn.isServer()?0:3),x=e.retryDelay??nm,y=typeof x=="function"?x(n,g):x,O=T===!0||typeof T=="number"&&n<T||typeof T=="function"&&T(n,g);if(t||!O){m(g);return}n++,(C=e.onFail)==null||C.call(e,n,g),Qh(y).then(()=>d()?void 0:h()).then(()=>{t?m(g):b()})})};return{promise:i,status:()=>i.status,cancel:o,continue:()=>(r==null||r(),i),cancelRetry:a,continueRetry:l,canStart:u,start:()=>(u()?b():h().then(b),i)}}var zt,Va,rl=(Va=class{constructor(){ee(this,zt)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),Yi(this.gcTime)&&B(this,zt,$t.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(Jn.isServer()?1/0:300*1e3))}clearGcTimeout(){w(this,zt)!==void 0&&($t.clearTimeout(w(this,zt)),B(this,zt,void 0))}},zt=new WeakMap,Va);function rm(e){return{onFetch:(t,n)=>{var u,f,m,h,b;const r=t.options,i=(m=(f=(u=t.fetchOptions)==null?void 0:u.meta)==null?void 0:f.fetchMore)==null?void 0:m.direction,s=((h=t.state.data)==null?void 0:h.pages)||[],o=((b=t.state.data)==null?void 0:b.pageParams)||[];let a={pages:[],pageParams:[]},l=0;const d=async()=>{let v=!1;const _=x=>{Jh(x,()=>t.signal,()=>v=!0)},g=Xc(t.options,t.fetchOptions),T=async(x,y,O)=>{if(v)return Promise.reject(t.signal.reason);if(y==null&&x.pages.length)return Promise.resolve(x);const E=(()=>{const H={client:t.client,queryKey:t.queryKey,pageParam:y,direction:O?"backward":"forward",meta:t.options.meta};return _(H),H})(),k=await g(E),{maxPages:U}=t.options,F=O?Yh:Zh;return{pages:F(x.pages,k,U),pageParams:F(x.pageParams,y,U)}};if(i&&s.length){const x=i==="backward",y=x?im:Yo,O={pages:s,pageParams:o},C=y(r,O);a=await T(O,C,x)}else{const x=e??s.length;do{const y=l===0?o[0]??r.initialPageParam:Yo(r,a);if(l>0&&y==null)break;a=await T(a,y),l++}while(l<x)}return a};t.options.persister?t.fetchFn=()=>{var v,_;return(_=(v=t.options).persister)==null?void 0:_.call(v,d,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n)}:t.fetchFn=d}}}function Yo(e,{pages:t,pageParams:n}){const r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,n[r],n):void 0}function im(e,{pages:t,pageParams:n}){var r;return t.length>0?(r=e.getPreviousPageParam)==null?void 0:r.call(e,t[0],t,n[0],n):void 0}var pn,qt,gn,et,Kt,Ee,tr,Gt,Ke,il,mt,Ha,sm=(Ha=class extends rl{constructor(t){super();ee(this,Ke);ee(this,pn);ee(this,qt);ee(this,gn);ee(this,et);ee(this,Kt);ee(this,Ee);ee(this,tr);ee(this,Gt);B(this,Gt,!1),B(this,tr,t.defaultOptions),this.setOptions(t.options),this.observers=[],B(this,Kt,t.client),B(this,et,w(this,Kt).getQueryCache()),this.queryKey=t.queryKey,this.queryHash=t.queryHash,B(this,qt,Xo(this.options)),this.state=t.state??w(this,qt),this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return w(this,pn)}get promise(){var t;return(t=w(this,Ee))==null?void 0:t.promise}setOptions(t){if(this.options={...w(this,tr),...t},t!=null&&t._type&&B(this,pn,t._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const n=Xo(this.options);n.data!==void 0&&(this.setState(Jo(n.data,n.dataUpdatedAt)),B(this,qt,n))}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&w(this,et).remove(this)}setData(t,n){const r=ts(this.state.data,t,this.options);return ue(this,Ke,mt).call(this,{data:r,type:"success",dataUpdatedAt:n==null?void 0:n.updatedAt,manual:n==null?void 0:n.manual}),r}setState(t){ue(this,Ke,mt).call(this,{type:"setState",state:t})}cancel(t){var r,i;const n=(r=w(this,Ee))==null?void 0:r.promise;return(i=w(this,Ee))==null||i.cancel(t),n?n.then(Ve).catch(Ve):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return w(this,qt)}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(t=>Ge(t.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===Kr||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0?this.observers.some(t=>Mt(t.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(t=>t.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(t=0){return this.state.data===void 0?!0:t==="static"?!1:this.state.isInvalidated?!0:!Jc(this.state.dataUpdatedAt,t)}onFocus(){var n;const t=this.observers.find(r=>r.shouldFetchOnWindowFocus());t==null||t.refetch({cancelRefetch:!1}),(n=w(this,Ee))==null||n.continue()}onOnline(){var n;const t=this.observers.find(r=>r.shouldFetchOnReconnect());t==null||t.refetch({cancelRefetch:!1}),(n=w(this,Ee))==null||n.continue()}addObserver(t){this.observers.includes(t)||(this.observers.push(t),this.clearGcTimeout(),w(this,et).notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){this.observers.includes(t)&&(this.observers=this.observers.filter(n=>n!==t),this.observers.length||(w(this,Ee)&&(w(this,Gt)||ue(this,Ke,il).call(this)?w(this,Ee).cancel({revert:!0}):w(this,Ee).cancelRetry()),this.scheduleGc()),w(this,et).notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||ue(this,Ke,mt).call(this,{type:"invalidate"})}async fetch(t,n){var d,u,f,m,h,b,v,_,g,T,x;if(this.state.fetchStatus!=="idle"&&((d=w(this,Ee))==null?void 0:d.status())!=="rejected"){if(this.state.data!==void 0&&(n!=null&&n.cancelRefetch))this.cancel({silent:!0});else if(w(this,Ee))return w(this,Ee).continueRetry(),w(this,Ee).promise}if(t&&this.setOptions(t),!this.options.queryFn){const y=this.observers.find(O=>O.options.queryFn);y&&this.setOptions(y.options)}process.env.NODE_ENV!=="production"&&(Array.isArray(this.options.queryKey)||console.error("As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']"));const r=new AbortController,i=y=>{Object.defineProperty(y,"signal",{enumerable:!0,get:()=>(B(this,Gt,!0),r.signal)})},s=()=>{const y=Xc(this.options,n),C=(()=>{const E={client:w(this,Kt),queryKey:this.queryKey,meta:this.meta};return i(E),E})();return B(this,Gt,!1),this.options.persister?this.options.persister(y,C,this):y(C)},a=(()=>{const y={fetchOptions:n,options:this.options,queryKey:this.queryKey,client:w(this,Kt),state:this.state,fetchFn:s};return i(y),y})(),l=w(this,pn)==="infinite"?rm(this.options.pages):this.options.behavior;l==null||l.onFetch(a,this),B(this,gn,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((u=a.fetchOptions)==null?void 0:u.meta))&&ue(this,Ke,mt).call(this,{type:"fetch",meta:(f=a.fetchOptions)==null?void 0:f.meta}),B(this,Ee,nl({initialPromise:n==null?void 0:n.initialPromise,fn:a.fetchFn,onCancel:y=>{y instanceof rs&&y.revert&&this.setState({...w(this,gn),fetchStatus:"idle"}),r.abort()},onFail:(y,O)=>{ue(this,Ke,mt).call(this,{type:"failed",failureCount:y,error:O})},onPause:()=>{ue(this,Ke,mt).call(this,{type:"pause"})},onContinue:()=>{ue(this,Ke,mt).call(this,{type:"continue"})},retry:a.options.retry,retryDelay:a.options.retryDelay,networkMode:a.options.networkMode,canRun:()=>!0}));try{const y=await w(this,Ee).start();if(y===void 0)throw process.env.NODE_ENV!=="production"&&console.error(`Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`),new Error(`${this.queryHash} data is undefined`);return this.setData(y),(h=(m=w(this,et).config).onSuccess)==null||h.call(m,y,this),(v=(b=w(this,et).config).onSettled)==null||v.call(b,y,this.state.error,this),y}catch(y){if(y instanceof rs){if(y.silent)return w(this,Ee).promise;if(y.revert){if(this.state.data===void 0)throw y;return this.state.data}}throw ue(this,Ke,mt).call(this,{type:"error",error:y}),(g=(_=w(this,et).config).onError)==null||g.call(_,y,this),(x=(T=w(this,et).config).onSettled)==null||x.call(T,this.state.data,y,this),y}finally{this.scheduleGc()}}},pn=new WeakMap,qt=new WeakMap,gn=new WeakMap,et=new WeakMap,Kt=new WeakMap,Ee=new WeakMap,tr=new WeakMap,Gt=new WeakMap,Ke=new WeakSet,il=function(){return this.state.fetchStatus==="paused"&&this.state.status==="pending"},mt=function(t){const n=r=>{switch(t.type){case"failed":return{...r,fetchFailureCount:t.failureCount,fetchFailureReason:t.error};case"pause":return{...r,fetchStatus:"paused"};case"continue":return{...r,fetchStatus:"fetching"};case"fetch":return{...r,...sl(r.data,this.options),fetchMeta:t.meta??null};case"success":const i={...r,...Jo(t.data,t.dataUpdatedAt),dataUpdateCount:r.dataUpdateCount+1,...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return B(this,gn,t.manual?i:void 0),i;case"error":const s=t.error;return{...r,error:s,errorUpdateCount:r.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:r.fetchFailureCount+1,fetchFailureReason:s,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...r,isInvalidated:!0};case"setState":return{...r,...t.state}}};this.state=n(this.state),Ae.batch(()=>{this.observers.forEach(r=>{r.onQueryUpdate()}),w(this,et).notify({query:this,type:"updated",action:t})})},Ha);function sl(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:tl(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function Jo(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:"success"}}function Xo(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,n=t!==void 0,r=n?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?"success":"pending",fetchStatus:"idle"}}var $e,fe,nr,Be,Qt,yn,gt,At,rr,bn,_n,Zt,Yt,Lt,wn,ye,Vn,is,ss,os,as,cs,ls,ds,ol,za,om=(za=class extends hr{constructor(t,n){super();ee(this,ye);ee(this,$e);ee(this,fe);ee(this,nr);ee(this,Be);ee(this,Qt);ee(this,yn);ee(this,gt);ee(this,At);ee(this,rr);ee(this,bn);ee(this,_n);ee(this,Zt);ee(this,Yt);ee(this,Lt);ee(this,wn,new Set);this.options=n,B(this,$e,t),B(this,At,null),B(this,gt,ns()),this.bindMethods(),this.setOptions(n)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(w(this,fe).addObserver(this),ea(w(this,fe),this.options)?ue(this,ye,Vn).call(this):this.updateResult(),ue(this,ye,as).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return us(w(this,fe),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return us(w(this,fe),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,ue(this,ye,cs).call(this),ue(this,ye,ls).call(this),w(this,fe).removeObserver(this)}setOptions(t){const n=this.options,r=w(this,fe);if(this.options=w(this,$e).defaultQueryOptions(t),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof Ge(this.options.enabled,w(this,fe))!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");ue(this,ye,ds).call(this),w(this,fe).setOptions(this.options),n._defaulted&&!Xi(this.options,n)&&w(this,$e).getQueryCache().notify({type:"observerOptionsUpdated",query:w(this,fe),observer:this});const i=this.hasListeners();i&&ta(w(this,fe),r,this.options,n)&&ue(this,ye,Vn).call(this),this.updateResult(),i&&(w(this,fe)!==r||Ge(this.options.enabled,w(this,fe))!==Ge(n.enabled,w(this,fe))||Mt(this.options.staleTime,w(this,fe))!==Mt(n.staleTime,w(this,fe)))&&ue(this,ye,is).call(this);const s=ue(this,ye,ss).call(this);i&&(w(this,fe)!==r||Ge(this.options.enabled,w(this,fe))!==Ge(n.enabled,w(this,fe))||s!==w(this,Lt))&&ue(this,ye,os).call(this,s)}getOptimisticResult(t){const n=w(this,$e).getQueryCache().build(w(this,$e),t),r=this.createResult(n,t);return cm(this,r)&&(B(this,Be,r),B(this,yn,this.options),B(this,Qt,w(this,fe).state)),r}getCurrentResult(){return w(this,Be)}trackResult(t,n){return new Proxy(t,{get:(r,i)=>(this.trackProp(i),n==null||n(i),i==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&w(this,gt).status==="pending"&&w(this,gt).reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(r,i))})}trackProp(t){w(this,wn).add(t)}getCurrentQuery(){return w(this,fe)}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){const n=w(this,$e).defaultQueryOptions(t),r=w(this,$e).getQueryCache().build(w(this,$e),n);return r.fetch().then(()=>this.createResult(r,n))}fetch(t){return ue(this,ye,Vn).call(this,{...t,cancelRefetch:t.cancelRefetch??!0}).then(()=>(this.updateResult(),w(this,Be)))}createResult(t,n){var U;const r=w(this,fe),i=this.options,s=w(this,Be),o=w(this,Qt),a=w(this,yn),d=t!==r?t.state:w(this,nr),{state:u}=t;let f={...u},m=!1,h;if(n._optimisticResults){const F=this.hasListeners(),H=!F&&ea(t,n),L=F&&ta(t,r,n,i);(H||L)&&(f={...f,...sl(u.data,t.options)}),n._optimisticResults==="isRestoring"&&(f.fetchStatus="idle")}let{error:b,errorUpdatedAt:v,status:_}=f;h=f.data;let g=!1;if(n.placeholderData!==void 0&&h===void 0&&_==="pending"){let F;s!=null&&s.isPlaceholderData&&n.placeholderData===(a==null?void 0:a.placeholderData)?(F=s.data,g=!0):F=typeof n.placeholderData=="function"?n.placeholderData((U=w(this,_n))==null?void 0:U.state.data,w(this,_n)):n.placeholderData,F!==void 0&&(_="success",h=ts(s==null?void 0:s.data,F,n),m=!0)}if(n.select&&h!==void 0&&!g)if(s&&h===(o==null?void 0:o.data)&&n.select===w(this,rr))h=w(this,bn);else try{B(this,rr,n.select),h=n.select(h),h=ts(s==null?void 0:s.data,h,n),B(this,bn,h),B(this,At,null)}catch(F){B(this,At,F)}w(this,At)&&(b=w(this,At),h=w(this,bn),v=Date.now(),_="error");const T=f.fetchStatus==="fetching",x=_==="pending",y=_==="error",O=x&&T,C=h!==void 0,k={status:_,fetchStatus:f.fetchStatus,isPending:x,isSuccess:_==="success",isError:y,isInitialLoading:O,isLoading:O,data:h,dataUpdatedAt:f.dataUpdatedAt,error:b,errorUpdatedAt:v,failureCount:f.fetchFailureCount,failureReason:f.fetchFailureReason,errorUpdateCount:f.errorUpdateCount,isFetched:t.isFetched(),isFetchedAfterMount:f.dataUpdateCount>d.dataUpdateCount||f.errorUpdateCount>d.errorUpdateCount,isFetching:T,isRefetching:T&&!x,isLoadingError:y&&!C,isPaused:f.fetchStatus==="paused",isPlaceholderData:m,isRefetchError:y&&C,isStale:qs(t,n),refetch:this.refetch,promise:w(this,gt),isEnabled:Ge(n.enabled,t)!==!1};if(this.options.experimental_prefetchInRender){const F=k.data!==void 0,H=k.status==="error"&&!F,L=re=>{H?re.reject(k.error):F&&re.resolve(k.data)},Q=()=>{const re=B(this,gt,k.promise=ns());L(re)},K=w(this,gt);switch(K.status){case"pending":t.queryHash===r.queryHash&&L(K);break;case"fulfilled":(H||k.data!==K.value)&&Q();break;case"rejected":(!H||k.error!==K.reason)&&Q();break}}return k}updateResult(){const t=w(this,Be),n=this.createResult(w(this,fe),this.options);if(B(this,Qt,w(this,fe).state),B(this,yn,this.options),w(this,Qt).data!==void 0&&B(this,_n,w(this,fe)),Xi(n,t))return;B(this,Be,n);const r=()=>{if(!t)return!0;const{notifyOnChangeProps:i}=this.options,s=typeof i=="function"?i():i;if(s==="all"||!s&&!w(this,wn).size)return!0;const o=new Set(s??w(this,wn));return this.options.throwOnError&&o.add("error"),Object.keys(w(this,Be)).some(a=>{const l=a;return w(this,Be)[l]!==t[l]&&o.has(l)})};ue(this,ye,ol).call(this,{listeners:r()})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&ue(this,ye,as).call(this)}},$e=new WeakMap,fe=new WeakMap,nr=new WeakMap,Be=new WeakMap,Qt=new WeakMap,yn=new WeakMap,gt=new WeakMap,At=new WeakMap,rr=new WeakMap,bn=new WeakMap,_n=new WeakMap,Zt=new WeakMap,Yt=new WeakMap,Lt=new WeakMap,wn=new WeakMap,ye=new WeakSet,Vn=function(t){ue(this,ye,ds).call(this);let n=w(this,fe).fetch(this.options,t);return t!=null&&t.throwOnError||(n=n.catch(Ve)),n},is=function(){ue(this,ye,cs).call(this);const t=Mt(this.options.staleTime,w(this,fe));if(Jn.isServer()||w(this,Be).isStale||!Yi(t))return;const r=Jc(w(this,Be).dataUpdatedAt,t)+1;B(this,Zt,$t.setTimeout(()=>{w(this,Be).isStale||this.updateResult()},r))},ss=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(w(this,fe)):this.options.refetchInterval)??!1},os=function(t){ue(this,ye,ls).call(this),B(this,Lt,t),!(Jn.isServer()||Ge(this.options.enabled,w(this,fe))===!1||!Yi(w(this,Lt))||w(this,Lt)===0)&&B(this,Yt,$t.setInterval(()=>{(this.options.refetchIntervalInBackground||Hs.isFocused())&&ue(this,ye,Vn).call(this)},w(this,Lt)))},as=function(){ue(this,ye,is).call(this),ue(this,ye,os).call(this,ue(this,ye,ss).call(this))},cs=function(){w(this,Zt)!==void 0&&($t.clearTimeout(w(this,Zt)),B(this,Zt,void 0))},ls=function(){w(this,Yt)!==void 0&&($t.clearInterval(w(this,Yt)),B(this,Yt,void 0))},ds=function(){const t=w(this,$e).getQueryCache().build(w(this,$e),this.options);if(t===w(this,fe))return;const n=w(this,fe);B(this,fe,t),B(this,nr,t.state),this.hasListeners()&&(n==null||n.removeObserver(this),t.addObserver(this))},ol=function(t){Ae.batch(()=>{t.listeners&&this.listeners.forEach(n=>{n(w(this,Be))}),w(this,$e).getQueryCache().notify({query:w(this,fe),type:"observerResultsUpdated"})})},za);function am(e,t){return Ge(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status==="error"&&Ge(t.retryOnMount,e)===!1)}function ea(e,t){return am(e,t)||e.state.data!==void 0&&us(e,t,t.refetchOnMount)}function us(e,t,n){if(Ge(t.enabled,e)!==!1&&Mt(t.staleTime,e)!=="static"){const r=typeof n=="function"?n(e):n;return r==="always"||r!==!1&&qs(e,t)}return!1}function ta(e,t,n,r){return(e!==t||Ge(r.enabled,e)===!1)&&(!n.suspense||e.state.status!=="error")&&qs(e,n)}function qs(e,t){return Ge(t.enabled,e)!==!1&&e.isStaleByTime(Mt(t.staleTime,e))}function cm(e,t){return!Xi(e.getCurrentResult(),t)}var ir,ct,Ue,Jt,lt,xt,qa,lm=(qa=class extends rl{constructor(t){super();ee(this,lt);ee(this,ir);ee(this,ct);ee(this,Ue);ee(this,Jt);B(this,ir,t.client),this.mutationId=t.mutationId,B(this,Ue,t.mutationCache),B(this,ct,[]),this.state=t.state||dm(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options=t,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){w(this,ct).includes(t)||(w(this,ct).push(t),this.clearGcTimeout(),w(this,Ue).notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){B(this,ct,w(this,ct).filter(n=>n!==t)),this.scheduleGc(),w(this,Ue).notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){w(this,ct).length||(this.state.status==="pending"?this.scheduleGc():w(this,Ue).remove(this))}continue(){var t;return((t=w(this,Jt))==null?void 0:t.continue())??this.execute(this.state.variables)}async execute(t){var o,a,l,d,u,f,m,h,b,v,_,g,T,x,y,O,C,E;const n=()=>{ue(this,lt,xt).call(this,{type:"continue"})},r={client:w(this,ir),meta:this.options.meta,mutationKey:this.options.mutationKey};B(this,Jt,nl({fn:()=>this.options.mutationFn?this.options.mutationFn(t,r):Promise.reject(new Error("No mutationFn found")),onFail:(k,U)=>{ue(this,lt,xt).call(this,{type:"failed",failureCount:k,error:U})},onPause:()=>{ue(this,lt,xt).call(this,{type:"pause"})},onContinue:n,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>w(this,Ue).canRun(this)}));const i=this.state.status==="pending",s=!w(this,Jt).canStart();try{if(i)n();else{ue(this,lt,xt).call(this,{type:"pending",variables:t,isPaused:s}),w(this,Ue).config.onMutate&&await w(this,Ue).config.onMutate(t,this,r);const U=await((a=(o=this.options).onMutate)==null?void 0:a.call(o,t,r));U!==this.state.context&&ue(this,lt,xt).call(this,{type:"pending",context:U,variables:t,isPaused:s})}const k=await w(this,Jt).start();return await((d=(l=w(this,Ue).config).onSuccess)==null?void 0:d.call(l,k,t,this.state.context,this,r)),await((f=(u=this.options).onSuccess)==null?void 0:f.call(u,k,t,this.state.context,r)),await((h=(m=w(this,Ue).config).onSettled)==null?void 0:h.call(m,k,null,this.state.variables,this.state.context,this,r)),await((v=(b=this.options).onSettled)==null?void 0:v.call(b,k,null,t,this.state.context,r)),ue(this,lt,xt).call(this,{type:"success",data:k}),k}catch(k){try{await((g=(_=w(this,Ue).config).onError)==null?void 0:g.call(_,k,t,this.state.context,this,r))}catch(U){Promise.reject(U)}try{await((x=(T=this.options).onError)==null?void 0:x.call(T,k,t,this.state.context,r))}catch(U){Promise.reject(U)}try{await((O=(y=w(this,Ue).config).onSettled)==null?void 0:O.call(y,void 0,k,this.state.variables,this.state.context,this,r))}catch(U){Promise.reject(U)}try{await((E=(C=this.options).onSettled)==null?void 0:E.call(C,void 0,k,t,this.state.context,r))}catch(U){Promise.reject(U)}throw ue(this,lt,xt).call(this,{type:"error",error:k}),k}finally{w(this,Ue).runNext(this)}}},ir=new WeakMap,ct=new WeakMap,Ue=new WeakMap,Jt=new WeakMap,lt=new WeakSet,xt=function(t){const n=r=>{switch(t.type){case"failed":return{...r,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...r,isPaused:!0};case"continue":return{...r,isPaused:!1};case"pending":return{...r,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:t.isPaused,status:"pending",variables:t.variables,submittedAt:Date.now()};case"success":return{...r,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...r,data:void 0,error:t.error,failureCount:r.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}};this.state=n(this.state),Ae.batch(()=>{w(this,ct).forEach(r=>{r.onMutationUpdate(t)}),w(this,Ue).notify({mutation:this,type:"updated",action:t})})},qa);function dm(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var yt,st,sr,Ka,um=(Ka=class extends hr{constructor(t={}){super();ee(this,yt);ee(this,st);ee(this,sr);this.config=t,B(this,yt,new Set),B(this,st,new Map),B(this,sr,0)}build(t,n,r){const i=new lm({client:t,mutationCache:this,mutationId:++_r(this,sr)._,options:t.defaultMutationOptions(n),state:r});return this.add(i),i}add(t){w(this,yt).add(t);const n=Tr(t);if(typeof n=="string"){const r=w(this,st).get(n);r?r.push(t):w(this,st).set(n,[t])}this.notify({type:"added",mutation:t})}remove(t){if(w(this,yt).delete(t)){const n=Tr(t);if(typeof n=="string"){const r=w(this,st).get(n);if(r)if(r.length>1){const i=r.indexOf(t);i!==-1&&r.splice(i,1)}else r[0]===t&&w(this,st).delete(n)}}this.notify({type:"removed",mutation:t})}canRun(t){const n=Tr(t);if(typeof n=="string"){const r=w(this,st).get(n),i=r==null?void 0:r.find(s=>s.state.status==="pending");return!i||i===t}else return!0}runNext(t){var r;const n=Tr(t);if(typeof n=="string"){const i=(r=w(this,st).get(n))==null?void 0:r.find(s=>s!==t&&s.state.isPaused);return(i==null?void 0:i.continue())??Promise.resolve()}else return Promise.resolve()}clear(){Ae.batch(()=>{w(this,yt).forEach(t=>{this.notify({type:"removed",mutation:t})}),w(this,yt).clear(),w(this,st).clear()})}getAll(){return Array.from(w(this,yt))}find(t){const n={exact:!0,...t};return this.getAll().find(r=>Go(n,r))}findAll(t={}){return this.getAll().filter(n=>Go(t,n))}notify(t){Ae.batch(()=>{this.listeners.forEach(n=>{n(t)})})}resumePausedMutations(){const t=this.getAll().filter(n=>n.state.isPaused);return Ae.batch(()=>Promise.all(t.map(n=>n.continue().catch(Ve))))}},yt=new WeakMap,st=new WeakMap,sr=new WeakMap,Ka);function Tr(e){var t;return(t=e.options.scope)==null?void 0:t.id}var dt,Ga,fm=(Ga=class extends hr{constructor(t={}){super();ee(this,dt);this.config=t,B(this,dt,new Map)}build(t,n,r){const i=n.queryKey,s=n.queryHash??zs(i,n);let o=this.get(s);return o||(o=new sm({client:t,queryKey:i,queryHash:s,options:t.defaultQueryOptions(n),state:r,defaultOptions:t.getQueryDefaults(i)}),this.add(o)),o}add(t){w(this,dt).has(t.queryHash)||(w(this,dt).set(t.queryHash,t),this.notify({type:"added",query:t}))}remove(t){const n=w(this,dt).get(t.queryHash);n&&(t.destroy(),n===t&&w(this,dt).delete(t.queryHash),this.notify({type:"removed",query:t}))}clear(){Ae.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}get(t){return w(this,dt).get(t)}getAll(){return[...w(this,dt).values()]}find(t){const n={exact:!0,...t};return this.getAll().find(r=>Ko(n,r))}findAll(t={}){const n=this.getAll();return Object.keys(t).length>0?n.filter(r=>Ko(t,r)):n}notify(t){Ae.batch(()=>{this.listeners.forEach(n=>{n(t)})})}onFocus(){Ae.batch(()=>{this.getAll().forEach(t=>{t.onFocus()})})}onOnline(){Ae.batch(()=>{this.getAll().forEach(t=>{t.onOnline()})})}},dt=new WeakMap,Ga),xe,Nt,Dt,vn,Sn,Rt,Tn,xn,Qa,hm=(Qa=class{constructor(e={}){ee(this,xe);ee(this,Nt);ee(this,Dt);ee(this,vn);ee(this,Sn);ee(this,Rt);ee(this,Tn);ee(this,xn);B(this,xe,e.queryCache||new fm),B(this,Nt,e.mutationCache||new um),B(this,Dt,e.defaultOptions||{}),B(this,vn,new Map),B(this,Sn,new Map),B(this,Rt,0)}mount(){_r(this,Rt)._++,w(this,Rt)===1&&(B(this,Tn,Hs.subscribe(async e=>{e&&(await this.resumePausedMutations(),w(this,xe).onFocus())})),B(this,xn,Gr.subscribe(async e=>{e&&(await this.resumePausedMutations(),w(this,xe).onOnline())})))}unmount(){var e,t;_r(this,Rt)._--,w(this,Rt)===0&&((e=w(this,Tn))==null||e.call(this),B(this,Tn,void 0),(t=w(this,xn))==null||t.call(this),B(this,xn,void 0))}isFetching(e){return w(this,xe).findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return w(this,Nt).findAll({...e,status:"pending"}).length}getQueryData(e){var n;const t=this.defaultQueryOptions({queryKey:e});return(n=w(this,xe).get(t.queryHash))==null?void 0:n.state.data}ensureQueryData(e){const t=this.defaultQueryOptions(e),n=w(this,xe).build(this,t),r=n.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(Mt(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return w(this,xe).findAll(e).map(({queryKey:t,state:n})=>{const r=n.data;return[t,r]})}setQueryData(e,t,n){const r=this.defaultQueryOptions({queryKey:e}),i=w(this,xe).get(r.queryHash),s=i==null?void 0:i.state.data,o=Kh(t,s);if(o!==void 0)return w(this,xe).build(this,r).setData(o,{...n,manual:!0})}setQueriesData(e,t,n){return Ae.batch(()=>w(this,xe).findAll(e).map(({queryKey:r})=>[r,this.setQueryData(r,t,n)]))}getQueryState(e){var n;const t=this.defaultQueryOptions({queryKey:e});return(n=w(this,xe).get(t.queryHash))==null?void 0:n.state}removeQueries(e){const t=w(this,xe);Ae.batch(()=>{t.findAll(e).forEach(n=>{t.remove(n)})})}resetQueries(e,t){const n=w(this,xe);return Ae.batch(()=>(n.findAll(e).forEach(r=>{r.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e,t={}){const n={revert:!0,...t},r=Ae.batch(()=>w(this,xe).findAll(e).map(i=>i.cancel(n)));return Promise.all(r).then(Ve).catch(Ve)}invalidateQueries(e,t={}){return Ae.batch(()=>(w(this,xe).findAll(e).forEach(n=>{n.invalidate()}),(e==null?void 0:e.refetchType)==="none"?Promise.resolve():this.refetchQueries({...e,type:(e==null?void 0:e.refetchType)??(e==null?void 0:e.type)??"active"},t)))}refetchQueries(e,t={}){const n={...t,cancelRefetch:t.cancelRefetch??!0},r=Ae.batch(()=>w(this,xe).findAll(e).filter(i=>!i.isDisabled()&&!i.isStatic()).map(i=>{let s=i.fetch(void 0,n);return n.throwOnError||(s=s.catch(Ve)),i.state.fetchStatus==="paused"?Promise.resolve():s}));return Promise.all(r).then(Ve)}fetchQuery(e){const t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);const n=w(this,xe).build(this,t);return n.isStaleByTime(Mt(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(Ve).catch(Ve)}fetchInfiniteQuery(e){return e._type="infinite",this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(Ve).catch(Ve)}ensureInfiniteQueryData(e){return e._type="infinite",this.ensureQueryData(e)}resumePausedMutations(){return Gr.isOnline()?w(this,Nt).resumePausedMutations():Promise.resolve()}getQueryCache(){return w(this,xe)}getMutationCache(){return w(this,Nt)}getDefaultOptions(){return w(this,Dt)}setDefaultOptions(e){B(this,Dt,e)}setQueryDefaults(e,t){w(this,vn).set(Zn(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[...w(this,vn).values()],n={};return t.forEach(r=>{Yn(e,r.queryKey)&&Object.assign(n,r.defaultOptions)}),n}setMutationDefaults(e,t){w(this,Sn).set(Zn(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[...w(this,Sn).values()],n={};return t.forEach(r=>{Yn(e,r.mutationKey)&&Object.assign(n,r.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;const t={...w(this,Dt).queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=zs(t.queryKey,t)),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!=="always"),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===Kr&&(t.enabled=!1),t}defaultMutationOptions(e){return e!=null&&e._defaulted?e:{...w(this,Dt).mutations,...(e==null?void 0:e.mutationKey)&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){w(this,xe).clear(),w(this,Nt).clear()}},xe=new WeakMap,Nt=new WeakMap,Dt=new WeakMap,vn=new WeakMap,Sn=new WeakMap,Rt=new WeakMap,Tn=new WeakMap,xn=new WeakMap,Qa),al=Ie.createContext(void 0),mr=e=>{const t=Ie.useContext(al);if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},mm=({client:e,children:t})=>(Ie.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),c.jsx(al.Provider,{value:e,children:t})),cl=Ie.createContext(!1),pm=()=>Ie.useContext(cl);cl.Provider;function gm(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var ym=Ie.createContext(gm()),bm=()=>Ie.useContext(ym),_m=(e,t,n)=>{const r=n!=null&&n.state.error&&typeof e.throwOnError=="function"?el(e.throwOnError,[n.state.error,n]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||r)&&(t.isReset()||(e.retryOnMount=!1))},wm=e=>{Ie.useEffect(()=>{e.clearReset()},[e])},vm=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(i&&e.data===void 0||el(n,[e.error,r])),Sm=e=>{if(e.suspense){const n=i=>i==="static"?i:Math.max(i??1e3,1e3),r=e.staleTime;e.staleTime=typeof r=="function"?(...i)=>n(r(...i)):n(r),typeof e.gcTime=="number"&&(e.gcTime=Math.max(e.gcTime,1e3))}},Tm=(e,t)=>e.isLoading&&e.isFetching&&!t,xm=(e,t)=>(e==null?void 0:e.suspense)&&t.isPending,na=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function km(e,t,n){var h,b,v,_;if(process.env.NODE_ENV!=="production"&&(typeof e!="object"||Array.isArray(e)))throw new Error('Bad argument type. Starting with v5, only the "Object" form is allowed when calling query related functions. Please use the error stack to find the culprit call. More info here: https://tanstack.com/query/latest/docs/react/guides/migrating-to-v5#supports-a-single-signature-one-object');const r=pm(),i=bm(),s=mr(),o=s.defaultQueryOptions(e);(b=(h=s.getDefaultOptions().queries)==null?void 0:h._experimental_beforeQuery)==null||b.call(h,o);const a=s.getQueryCache().get(o.queryHash);process.env.NODE_ENV!=="production"&&(o.queryFn||console.error(`[${o.queryHash}]: No queryFn was passed as an option, and no default queryFn was found. The queryFn parameter is only optional when using a default queryFn. More info here: https://tanstack.com/query/latest/docs/framework/react/guides/default-query-function`));const l=e.subscribed!==!1;o._optimisticResults=r?"isRestoring":l?"optimistic":void 0,Sm(o),_m(o,i,a),wm(i);const d=!s.getQueryCache().get(o.queryHash),[u]=Ie.useState(()=>new t(s,o)),f=u.getOptimisticResult(o),m=!r&&l;if(Ie.useSyncExternalStore(Ie.useCallback(g=>{const T=m?u.subscribe(Ae.batchCalls(g)):Ve;return u.updateResult(),T},[u,m]),()=>u.getCurrentResult(),()=>u.getCurrentResult()),Ie.useEffect(()=>{u.setOptions(o)},[o,u]),xm(o,f))throw na(o,u,i);if(vm({result:f,errorResetBoundary:i,throwOnError:o.throwOnError,query:a,suspense:o.suspense}))throw f.error;if((_=(v=s.getDefaultOptions().queries)==null?void 0:v._experimental_afterQuery)==null||_.call(v,o,f),o.experimental_prefetchInRender&&!Jn.isServer()&&Tm(f,r)){const g=d?na(o,u,i):a==null?void 0:a.promise;g==null||g.catch(Ve).finally(()=>{u.updateResult()})}return o.notifyOnChangeProps?f:u.trackResult(f)}function Mn(e,t){return km(e,om)}function Pm(e,t){const n=mr(),r=n.getQueryCache();return Ie.useSyncExternalStore(Ie.useCallback(i=>r.subscribe(Ae.batchCalls(i)),[r]),()=>n.isFetching(e),()=>n.isFetching(e))}const ll=p.createContext(null);function Cm(e){return typeof window>"u"?e??null:e?(localStorage.setItem(Wc,e),e):null}function Om({token:e,children:t}){const n=Cm(e);return c.jsx(ll.Provider,{value:n,children:t})}function Em(){return p.useContext(ll)}const Ks="widget-accounts",Gs="widget-positions",Qs="widget-orders",pr="widget-deals",gr="widget-deals-total",Am=2e4,Lm=3e4;function Dr(e){const t=String(e.getUTCDate()).padStart(2,"0"),n=String(e.getUTCMonth()+1).padStart(2,"0"),r=String(e.getUTCHours()).padStart(2,"0"),i=String(e.getUTCMinutes()).padStart(2,"0"),s=String(e.getUTCSeconds()).padStart(2,"0");return`${n}.${t} ${r}:${i}:${s}`}function dl(e){const t=["seconds","Seconds","timestamp","Timestamp","value","Value","time","Time"];for(const n of t)if(e[n]!==void 0&&e[n]!==null&&e[n]!=="")return e[n]}function Zs(e){if(e==null||e==="")return 0;if(typeof e=="number"&&Number.isFinite(e))return e>1e12?e:e*1e3;if(typeof e=="string"){const t=e.trim();if(!t)return 0;if(/^\d+$/.test(t)){const r=Number(t);if(Number.isFinite(r))return r>1e12?r:r*1e3}const n=Date.parse(t);if(Number.isFinite(n))return n}if(typeof e=="object"&&e!==null){const n=dl(e);if(n!==void 0)return Zs(n)}return 0}function Ys(e){if(e==null||e==="")return"—";if(typeof e=="number"&&Number.isFinite(e)){const t=e>1e12?e:e*1e3;return Dr(new Date(t))}if(typeof e=="string"){const t=e.trim();if(!t)return"—";if(/^\d+$/.test(t)){const r=Number(t);if(Number.isFinite(r)){const i=r>1e12?r:r*1e3;return Dr(new Date(i))}}const n=Date.parse(t);return Number.isFinite(n)?Dr(new Date(n)):t}if(typeof e=="object"&&e!==null){const n=dl(e);if(n!==void 0)return Ys(n)}return"—"}const ul=["time","Time","openTime","open_time","OpenTime","TimeOpen","timeOpen","timeCreate","TimeCreate","timeSetup","TimeSetup","setupTime","setup_time","createdAt","created_at","createTime","CreateTime","timestamp","Timestamp","openDate","OpenDate","date","Date"];function Nm(e){return Dr(e)}const Dm={0:"buy",1:"sell",2:"buy limit",3:"sell limit",4:"buy stop",5:"sell stop",6:"buy stop limit",7:"sell stop limit"};function mi(e,t){for(const n of t)if(e[n]!==void 0&&e[n]!==null&&e[n]!=="")return e[n]}function Xe(e,t){const n=mi(e,t);if(n===void 0)return;const r=Number(n);return Number.isFinite(r)?r:void 0}function xr(e,t){const n=mi(e,t);if(n!==void 0)return String(n)}function Rm(e){if(Array.isArray(e))return e.filter(r=>typeof r=="object"&&r!==null);if(!e||typeof e!="object")return[];const t=e,n=["data","body","result"];for(const r of n){const i=t[r];if(Array.isArray(i))return i.filter(s=>typeof s=="object"&&s!==null);if(i&&typeof i=="object"){const s=i,o=["list","items","records","orders","content","data"];for(const a of o){const l=s[a];if(Array.isArray(l))return l.filter(d=>typeof d=="object"&&d!==null)}}}return[]}function fs(e){return e===void 0?.01:e>=100?e/1e4:e}function jm(e,t){return nc(t,e)}function Mm(e){const t=mi(e,["type","Type","orderType","OrderType"]);if(typeof t=="string"){const r=t.toLowerCase().trim();if(r)return{label:r,side:r.includes("sell")?"sell":"buy",typeNum:r.includes("sell")?3:2}}const n=Xe(e,["type","Type","orderType","OrderType"])??2;return{label:Dm[n]??(n%2===1?"sell":"buy"),side:$r(n),typeNum:n}}function Um(e,t){const n=Xe(e,["volumeFilled","volume_filled","VolumeFilled","filledVolume","FilledVolume"]);if(n!==void 0)return fs(n);const r=Xe(e,["volumeCurrent","volume_current","VolumeCurrent"]);return r!==void 0?fs(r):0}function Im(e,t){const n=xr(e,["ticket","Ticket","order","Order","id","ID"]),r=xr(e,["symbol","Symbol"])??"";if(!n||!r)return null;const i=Ne(r),{label:s,side:o,typeNum:a}=Mm(e),l=Xe(e,["typeTime","TypeTime"])??0,d=fs(Xe(e,["volumeLots","volume_lots","VolumeLots","volume","Volume"])),u=Um(e),f=Xe(e,["priceOrder","price_order","PriceOrder","openPrice","open_price","price","Price"])??0,m=Xe(e,["priceTrigger","price_trigger","PriceTrigger","triggerPrice","TriggerPrice"]),h=Xe(e,["currentPrice","current_price","PriceCurrent","priceCurrent","marketPrice","MarketPrice"])??f,b=Xe(e,["stopLoss","stop_loss","PriceSL","sl","SL"]),v=Xe(e,["takeProfit","take_profit","PriceTP","tp","TP"]),_=Xe(e,["marketBid","MarketBid","bid","Bid"])??h,g=Xe(e,["marketAsk","MarketAsk","ask","Ask"])??h,T=xr(e,["comment","Comment"])??"",x=jm(e,i),y=mi(e,ul),O=Zs(y),C=Ys(y);return{ticket:n,login:xr(e,["login","Login"])??t,symbol:i,displaySymbol:si(i),openTimeMs:O,time:C,typeLabel:s,orderType:a,typeTime:l,side:o,volumeLots:d,volumeFilledLots:u,orderPrice:f,priceTrigger:m,stopLoss:b,takeProfit:v,currentPrice:h,marketBid:_,marketAsk:g,comment:T,digits:x}}function Fm(e,t){return Rm(e).map(n=>Im(n,t)).filter(n=>n!==null)}function pi(e,t){for(const n of t)if(e[n]!==void 0&&e[n]!==null&&e[n]!=="")return e[n]}function kt(e,t){const n=pi(e,t);if(n===void 0)return;const r=Number(n);return Number.isFinite(r)?r:void 0}function kr(e,t){const n=pi(e,t);if(n!==void 0)return String(n)}function Bm(e){if(Array.isArray(e))return e.filter(r=>typeof r=="object"&&r!==null);if(!e||typeof e!="object")return[];const t=e,n=["data","body","result"];for(const r of n){const i=t[r];if(Array.isArray(i))return i.filter(s=>typeof s=="object"&&s!==null);if(i&&typeof i=="object"){const s=i,o=["list","items","records","positions","orders","content","data"];for(const a of o){const l=s[a];if(Array.isArray(l))return l.filter(d=>typeof d=="object"&&d!==null)}}}return[]}function Wm(e){return e===void 0?.01:e>=100?e/1e4:e}function $m(e){const t=pi(e,["type","Type","action","Action","side","Side"]);if(typeof t=="string"){const r=t.toLowerCase();if(r.includes("sell"))return"sell";if(r.includes("buy"))return"buy"}const n=kt(e,["type","Type","action","Action"]);return n!==void 0&&n%2===1?"sell":"buy"}function Vm(e,t){return nc(t,e)}function Hm(e,t){const n=kr(e,["ticket","Ticket","position","Position","order","Order","id","ID"]),r=kr(e,["symbol","Symbol"])??"";if(!n||!r)return null;const i=Ne(r),s=$m(e),o=Wm(kt(e,["volumeLots","volume_lots","VolumeLots","volume","Volume"])),a=kt(e,["openPrice","open_price","PriceOpen","priceOpen","price","Price"])??0,l=kt(e,["currentPrice","current_price","PriceCurrent","priceCurrent"])??a,d=kt(e,["stopLoss","stop_loss","PriceSL","sl","SL"]),u=kt(e,["takeProfit","take_profit","PriceTP","tp","TP"]),f=kt(e,["profit","Profit","floating","Floating","pnl","PnL"])??0,m=kt(e,["swap","Swap"])??0,h=kr(e,["comment","Comment"])??"",b=Vm(e,i),v=pi(e,ul),_=Ys(v),g=Zs(v),T=Pd(s,a,l,f);return{ticket:n,login:kr(e,["login","Login"])??t,symbol:i,displaySymbol:si(i),openTimeMs:g,time:_,type:s,volumeLots:o,openPrice:a,stopLoss:d,takeProfit:u,currentPrice:l,marketBid:l,marketAsk:l,swap:m,profit:f,profitPerPriceUnit:T,comment:h,digits:b}}function zm(e,t){return Bm(e).map(n=>Hm(n,t)).filter(n=>n!==null)}function yr(){return _t}function fl(){const e=nt(),t=Em(),{data:n,isLoading:r,isError:i}=Mn({queryKey:[Ks,e.baseUrl,t],queryFn:()=>e.getAccounts(),enabled:!!t,refetchInterval:Lm});return{accounts:n??[],isLoading:r,isError:i}}function qm(e){const t=nt();return Mn({queryKey:[Gs,t.baseUrl,e],queryFn:()=>t.dealer.getPositions(e),enabled:!!e,refetchInterval:Am})}function Km(e){const t=nt();return Mn({queryKey:[Qs,t.baseUrl,e],queryFn:()=>t.dealer.getOrders(e),enabled:!!e})}function Gm(e,t){e.invalidateQueries({queryKey:[Ks,t]})}function Qm(e,t,n){e.invalidateQueries({queryKey:[gr,t,n]}),e.invalidateQueries({queryKey:[pr,t,n]})}function Zm(){const e=mr(),t=nt();return p.useCallback(async n=>{await Promise.all([e.invalidateQueries({queryKey:[gr,t.baseUrl,n]}),e.invalidateQueries({queryKey:[pr,t.baseUrl,n]})])},[t.baseUrl,e])}function Ym(){const e=mr(),t=nt();return p.useCallback(async n=>{await Promise.all([e.invalidateQueries({queryKey:[Ks,t.baseUrl]}),e.invalidateQueries({queryKey:[Gs,t.baseUrl,n]}),e.invalidateQueries({queryKey:[Qs,t.baseUrl,n]}),e.invalidateQueries({queryKey:[gr,t.baseUrl,n]}),e.invalidateQueries({queryKey:[pr,t.baseUrl,n]})])},[t.baseUrl,e])}function Jm(){const e=mr(),t=nt();return p.useCallback((n,r,i)=>{Gm(e,t.baseUrl),e.invalidateQueries({queryKey:[Gs,t.baseUrl,n]}),(r===void 0||Es(r))&&e.invalidateQueries({queryKey:[Qs,t.baseUrl,n]}),(i==null?void 0:i.invalidateDeals)!==!1&&Qm(e,t.baseUrl,n)},[t.baseUrl,e])}function gi(){const e=nt(),t=Jm();return{async submitOrder(n){const r=await e.trading.submitOrder(n);return r.success&&t(n.login,n.orderType),r},async closePosition(n,r){const i=await e.trading.closePosition(n);return i.success&&!(r!=null&&r.skipInvalidation)&&t(n.login),i},async deleteOrder(n){const r=await e.trading.deleteOrder(n);return r.success&&t(n.login,n.orderType),r},async modifyOrder(n,r){const i=await e.trading.modifyOrder(n,r);return i.success&&t(n.login,n.orderType),i},async modifyPosition(n,r){const i=await e.trading.modifyPosition(n,r);return i.success&&t(n.login),i}}}function Xm(e){if(e===null||typeof e!="object")return{deals:[],offset:0,count:0};const t=e,n=t.data??t,i=(Array.isArray(n.deals)?n.deals:[]).map(s=>{const o=s??{};return{deal:Number(o.Deal??0),login:Number(o.Login??0),symbol:String(o.Symbol??""),action:Number(o.Action??0),volume:Number(o.Volume??0),price:Number(o.Price??0),profit:Number(o.Profit??0),time:Number(o.Time??0),entry:Number(o.Entry??0),comment:String(o.Comment??"")}});return{deals:i,offset:Number(n.offset??0),count:Number(n.count??i.length)}}function ep(e){if(e===null||typeof e!="object")return{total:0};const t=e,n=t.data??t;return{total:Number(n.total??0)}}function tp(e,t,n,r={}){const i=nt();return Mn({queryKey:[gr,i.baseUrl,e,t,n],queryFn:async()=>{const s=await i.dealer.getDealsTotal(e,t,n);return ep(s)},enabled:r.enabled??!0})}function np(e,t,n,r,i,s={}){const o=nt();return Mn({queryKey:[pr,o.baseUrl,e,t,n,r,i],queryFn:async()=>{const a=await o.dealer.getDeals(e,t,n,r,i);return Xm(a)},enabled:s.enabled??!0})}function rp(e,t){return e!=null?zm(e,t):[]}function ip(e,t){return e!=null?Fm(e,t):[]}function sp({symbolTicker:e,controlsRef:t,chartWidget:n,sidePanelTab:r,orderState:i,backUrl:s,createAccountUrl:o}){const{openMarketPanel:a,setSelectedLogin:l,hasConfirmedAccount:d}=i,u=yr();return p.useEffect(()=>(t.current={open:a,setSelectedLogin:l},()=>{t.current=null}),[t,a,l]),c.jsxs(c.Fragment,{children:[d?c.jsx(Yc,{chartWidget:n,symbolTicker:e,symbols:u}):null,d?c.jsx(zc,{}):null,c.jsx(Ch,{symbolTicker:e,symbols:u,sidePanelTab:r,orderState:i,backUrl:s,createAccountUrl:o})]})}const op=8,ra=11;function ap({wide:e}){return c.jsx("td",{className:"web-trading-widget-terminal__cell",children:c.jsx("div",{className:`web-trading-widget-terminal__skeleton-bar${e?" web-trading-widget-terminal__skeleton-bar--wide":""}`})})}function cp(){return c.jsx(c.Fragment,{children:Array.from({length:op},(e,t)=>c.jsx("tr",{className:"web-trading-widget-terminal__skeleton-row",children:Array.from({length:ra},(n,r)=>c.jsx(ap,{wide:r===ra-1},r))},t))})}const lp="web-trading-widget-text-buy",dp="web-trading-widget-text-sell",up="web-trading-widget-terminal__head-row",Ri=50;function fp(e){return e===0?lp:e===1?dp:up}const ia=e=>e.toISOString().split("T")[0],hl=e=>Math.floor(new Date(e).getTime()/1e3),hp=e=>hl(e),mp=e=>hl(e)+86399;function pp(){const e=new Date,t=new Date;return t.setDate(t.getDate()-7),{fromTs:hp(ia(t)),toTs:mp(ia(e))}}const gp=10800,yp=e=>new Date((e-gp)*1e3).toLocaleString(void 0,{year:"numeric",month:"short",day:"2-digit",hour:"2-digit",minute:"2-digit",hour12:!0});function bp(e){try{return decodeURIComponent(e)}catch{return e}}function _p(e,t){return`${e.replace(/\/$/,"")}/${encodeURIComponent(t)}`}function wp(){return c.jsxs("colgroup",{children:[c.jsx("col",{className:"web-trading-widget-terminal-col--deal"}),c.jsx("col",{className:"web-trading-widget-terminal-col--ticket"}),c.jsx("col",{className:"web-trading-widget-terminal-col--symbol"}),c.jsx("col",{className:"web-trading-widget-terminal-col--type"}),c.jsx("col",{className:"web-trading-widget-terminal-col--volume"}),c.jsx("col",{className:"web-trading-widget-terminal-col--price"}),c.jsx("col",{className:"web-trading-widget-terminal-col--profit"}),c.jsx("col",{className:"web-trading-widget-terminal-col--entry"}),c.jsx("col",{className:"web-trading-widget-terminal-col--time"}),c.jsx("col",{className:"web-trading-widget-terminal-col--local-time"}),c.jsx("col",{})]})}function vp(){const{t:e}=Te();return c.jsx("thead",{children:c.jsxs("tr",{className:"web-trading-widget-terminal__head-row",children:[c.jsx("th",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--left web-trading-widget-terminal__head-cell",children:e("WebTrading.deal")}),c.jsx("th",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--left web-trading-widget-terminal__head-cell",children:e("WebTrading.login")}),c.jsx("th",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--left web-trading-widget-terminal__head-cell",children:e("WebTrading.symbol")}),c.jsx("th",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--left web-trading-widget-terminal__head-cell",children:e("WebTrading.action")}),c.jsx("th",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right web-trading-widget-terminal__head-cell",children:e("WebTrading.volume")}),c.jsx("th",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right web-trading-widget-terminal__head-cell",children:e("WebTrading.price")}),c.jsx("th",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right web-trading-widget-terminal__head-cell",children:e("WebTrading.profit")}),c.jsx("th",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--left web-trading-widget-terminal__head-cell",children:e("WebTrading.entry")}),c.jsx("th",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--left web-trading-widget-terminal__head-cell",children:e("WebTrading.time")}),c.jsx("th",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--left web-trading-widget-terminal__head-cell",children:e("WebTrading.localTime")}),c.jsx("th",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--left web-trading-widget-terminal__head-cell",children:e("WebTrading.comment")})]})})}function Sp({deal:e,dealActions:t}){const{t:n}=Te(),r=e.profit>0?"web-trading-widget-text-profit-positive":e.profit<0?"web-trading-widget-text-profit-negative":"";return c.jsxs("tr",{className:"web-trading-widget-terminal__deals-row",children:[c.jsx("td",{className:"web-trading-widget-terminal__cell",children:e.deal}),c.jsx("td",{className:"web-trading-widget-terminal__cell",children:e.login}),c.jsx("td",{className:"web-trading-widget-terminal__cell",children:e.symbol||"—"}),c.jsx("td",{className:`web-trading-widget-terminal__cell web-trading-widget-terminal__cell--capitalize ${fp(e.action)}`,children:t[e.action]??n("WebTrading.unknownAction",{action:e.action})}),c.jsx("td",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right",children:(e.volume/1e4).toFixed(2)}),c.jsx("td",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right",children:e.price.toFixed(5)}),c.jsxs("td",{className:`web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right ${r}`,children:[e.profit>0?"+":"",e.profit.toFixed(2)]}),c.jsx("td",{className:"web-trading-widget-terminal__cell",children:e.entry===1?n("WebTrading.entryOut"):n("WebTrading.entryIn")}),c.jsx("td",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--nowrap",children:Nm(new Date(e.time*1e3))}),c.jsx("td",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--nowrap",children:yp(e.time)}),c.jsx("td",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--truncate",children:e.comment?bp(e.comment):"—"})]})}function Tp({login:e,detailUrl:t}){const{t:n}=Te(),r=p.useMemo(()=>({0:n("WebTrading.buy"),1:n("WebTrading.sell"),2:n("WebTrading.balanceType"),3:n("WebTrading.credit"),5:"-"}),[n]),{fromTs:i,toTs:s}=p.useMemo(()=>pp(),[]),o=e!=="",{data:a,isLoading:l}=tp(e,i,s,{enabled:o}),d=(a==null?void 0:a.total)??0,u=Math.max(0,d-Ri),f=d>0?Math.min(Ri,d):Ri,{data:m,isLoading:h}=np(e,i,s,u,f,{enabled:o}),b=o&&(l||h),v=p.useMemo(()=>[...(m==null?void 0:m.deals)??[]].sort((_,g)=>g.time-_.time),[m==null?void 0:m.deals]);return e?c.jsx("div",{className:"web-trading-widget-terminal__deals-wrap",children:c.jsxs("div",{className:"web-trading-widget-terminal__body-scroll",children:[c.jsxs("table",{className:"web-trading-widget-terminal__deals-table",children:[c.jsx(wp,{}),c.jsx(vp,{}),c.jsxs("tbody",{children:[b?c.jsx(cp,{}):null,!b&&v.length===0?c.jsx("tr",{children:c.jsx("td",{colSpan:11,className:"web-trading-widget-terminal__empty-cell",children:n("WebTrading.noDealsFound")})}):null,b?null:v.map(_=>c.jsx(Sp,{deal:_,dealActions:r},_.deal))]})]}),t?c.jsx("div",{className:"web-trading-widget-terminal__deals-footer",children:c.jsx("a",{href:_p(t,e),className:"web-trading-widget-terminal__deals-detail-btn",children:n("WebTrading.seeFullDealHistory")})}):null]})}):c.jsx("div",{className:"web-trading-widget-terminal__empty-cell",children:n("WebTrading.selectAccountForDeals")})}function ml(e,t=!0){const n=t&&e.trim()?e.trim():"",r=le(f=>f.setPositions),i=le(f=>f.setOrders),{data:s,isLoading:o,isError:a}=qm(n),{data:l,isLoading:d,isError:u}=Km(n);return p.useEffect(()=>{if(!n){r([]),i([]);return}s!=null&&r(rp(s,n)),l!=null&&i(ip(l,n))},[n,l,s,i,r]),{isLoading:t&&(o||d),isError:t&&!!(a||u)}}const sa=224,oa=32,Js=120;function pl(){return typeof window>"u"?560:Math.max(Js,Math.floor(window.innerHeight*.7))}function xp(e){return Math.min(pl(),Math.max(Js,e))}function kp(){const[e,t]=p.useState(sa),[n,r]=p.useState(!1),i=p.useRef(sa);p.useEffect(()=>{i.current=e},[e]);const s=p.useCallback(u=>{t(xp(u))},[]),o=p.useCallback(()=>{s(i.current+oa)},[s]),a=p.useCallback(()=>{s(i.current-oa)},[s]),l=p.useCallback(u=>{const f=u,m=i.current;r(!0);const h=v=>{const _=f-v.clientY;s(m+_)},b=()=>{r(!1),document.removeEventListener("mousemove",h),document.removeEventListener("mouseup",b),document.body.style.cursor="",document.body.style.userSelect=""};document.addEventListener("mousemove",h),document.addEventListener("mouseup",b),document.body.style.cursor="row-resize",document.body.style.userSelect="none"},[s]);p.useEffect(()=>{const u=()=>{s(i.current)};return window.addEventListener("resize",u),()=>{window.removeEventListener("resize",u),document.body.style.cursor="",document.body.style.userSelect=""}},[s]);const d=pl();return{height:e,isResizing:n,canIncrement:e<d,canDecrement:e>Js,onResizeStart:l,incrementHeight:o,decrementHeight:a}}const gl=e=>e==null?void 0:e.replace(/(\d+)\.0{18}/g,"$1"),Pp=2e4,en={ADD_TOAST:"ADD_TOAST",DISMISS_TOAST:"DISMISS_TOAST",REMOVE_TOAST:"REMOVE_TOAST"},ji=new Map,aa=(e,t)=>{if(ji.has(e))return;const n=setTimeout(()=>{ji.delete(e),Qr({type:en.REMOVE_TOAST,toastId:e})},t??Pp);ji.set(e,n)};function Cp(e,t){switch(t.type){case en.ADD_TOAST:return{...e,toasts:[t.toast,...e.toasts].slice(0,t.limit??1)};case en.DISMISS_TOAST:{const{toastId:n}=t;if(n){const r=e.toasts.find(i=>i.id===n);aa(n,r==null?void 0:r.duration)}else e.toasts.forEach(r=>{aa(r.id,r.duration)});return{...e,toasts:e.toasts.map(r=>r.id===n||n===void 0?{...r,open:!1}:r)}}case en.REMOVE_TOAST:return t.toastId===void 0?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(n=>n.id!==t.toastId)};default:return e}}const Rr=[];let jr={toasts:[]},Mi=0;function Op(){return Mi=(Mi+1)%Number.MAX_VALUE,Mi.toString()}function Qr(e){jr=Cp(jr,e),Rr.forEach(t=>{t(jr)})}function ge({duration:e=2e4,description:t,limit:n,...r}){const i=Op(),s=typeof t=="string"?gl(t):t,o=()=>{Qr({type:en.DISMISS_TOAST,toastId:i})};return Qr({type:en.ADD_TOAST,limit:n,toast:{...r,description:s,id:i,open:!0,duration:e}}),e&&setTimeout(o,e),{id:i,dismiss:o}}function Ep(){const[e,t]=Ie.useState(jr);return Ie.useEffect(()=>(Rr.push(t),()=>{const n=Rr.indexOf(t);n>-1&&Rr.splice(n,1)}),[]),{...e,toast:ge,dismiss:n=>Qr({type:en.DISMISS_TOAST,toastId:n})}}function Ap(e){return e.type==="buy"?e.marketBid??e.currentPrice:e.marketAsk??e.currentPrice}function Lp(){const{t:e}=Te(),{closePosition:t,deleteOrder:n}=gi(),r=Ym(),i=le(g=>g.removePosition),s=le(g=>g.removeOrder),o=le(g=>g.setSelectedPositionTicket),a=le(g=>g.setSelectedOrderTicket),[l,d]=p.useState(new Set),[u,f]=p.useState(!1),m=p.useCallback((g,T)=>{d(x=>{const y=new Set(x);return T?y.add(g):y.delete(g),y})},[]),h=p.useCallback(g=>l.has(g),[l]),b=p.useCallback(async g=>{const T=`position-${g.ticket}`;m(T,!0);try{const x=await t(g);if(!x.success){ge({variant:"destructive",description:x.message||e("WebTrading.failedClosePosition")});return}i(g.ticket),o(null),ge({description:e("WebTrading.positionClosed",{ticket:g.ticket,price:Ap(g).toFixed(g.digits)})})}catch(x){const y=x instanceof Error?x.message:e("WebTrading.failedClosePosition");ge({variant:"destructive",description:y})}finally{m(T,!1)}},[t,i,m,o,e]),v=p.useCallback(async g=>{var O;if(g.length===0||u)return;if(!t){ge({variant:"destructive",description:e("WebTrading.closePositionNotConfigured")});return}f(!0);let T=0,x=0;const y=((O=g[0])==null?void 0:O.login)??"";for(const C of g){const E=`position-${C.ticket}`;m(E,!0);try{if(!(await t(C,{skipInvalidation:!0})).success){x+=1;continue}i(C.ticket),T+=1}catch{x+=1}finally{m(E,!1)}}o(null),T>0&&y&&await r(y),ge(x===0?{description:T===1?e("WebTrading.onePositionClosed"):e("WebTrading.positionsClosed",{count:T})}:T===0?{variant:"destructive",description:e("WebTrading.failedClosePositions")}:{variant:"destructive",description:e("WebTrading.closedFailedSummary",{closed:T,failed:x})}),f(!1)},[u,t,r,i,m,o,e]),_=p.useCallback(async g=>{const T=`order-${g.ticket}`;m(T,!0);try{const x=await n(g);if(!x.success){ge({variant:"destructive",description:x.message||e("WebTrading.failedDeleteOrder")});return}s(g.ticket),a(null),ge({description:e("WebTrading.orderDeleted",{ticket:g.ticket})})}catch(x){const y=x instanceof Error?x.message:e("WebTrading.failedDeleteOrder");ge({variant:"destructive",description:y})}finally{m(T,!1)}},[n,s,m,a,e]);return{closePosition:b,closeAllPositions:v,deleteOrder:_,isClosingAll:u,isRowBusy:h}}function Pt(e,t=2){return e.toFixed(t)}function yl(e){return e.reduce((t,n)=>t+n.profit+n.swap,0)}function Np(e,t,n){const r=(e==null?void 0:e.balance)??0,i=(e==null?void 0:e.credit)??0,s=(e==null?void 0:e.margin)??0;if(!e||t.length===0)return{balance:r,equity:(e==null?void 0:e.equity)??r+i,margin:s,marginFree:(e==null?void 0:e.marginFree)??0,marginLevel:e==null?void 0:e.marginLevel,totalProfit:0};const o=yl(t),a=r+i+o+n,l=a-s,d=s>0?a/s*100:void 0;return{balance:r,equity:a,margin:s,marginFree:l,marginLevel:d,totalProfit:o}}function hs(){return c.jsxs("colgroup",{children:[c.jsx("col",{className:"web-trading-widget-terminal-col--symbol"}),c.jsx("col",{className:"web-trading-widget-terminal-col--ticket"}),c.jsx("col",{className:"web-trading-widget-terminal-col--time"}),c.jsx("col",{className:"web-trading-widget-terminal-col--type"}),c.jsx("col",{className:"web-trading-widget-terminal-col--volume"}),c.jsx("col",{className:"web-trading-widget-terminal-col--price"}),c.jsx("col",{className:"web-trading-widget-terminal-col--sl"}),c.jsx("col",{className:"web-trading-widget-terminal-col--tp"}),c.jsx("col",{className:"web-trading-widget-terminal-col--price2"}),c.jsx("col",{className:"web-trading-widget-terminal-col--swap"}),c.jsx("col",{className:"web-trading-widget-terminal-col--profit"}),c.jsx("col",{}),c.jsx("col",{className:"web-trading-widget-terminal-col--close"})]})}function Dp(){const{t:e}=Te();return c.jsx("thead",{children:c.jsxs("tr",{className:"web-trading-widget-terminal__head-row",children:[c.jsx("th",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--left web-trading-widget-terminal__head-cell",children:e("WebTrading.symbol")}),c.jsx("th",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--left web-trading-widget-terminal__head-cell",children:e("WebTrading.ticket")}),c.jsx("th",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--left web-trading-widget-terminal__head-cell",children:e("WebTrading.serverTime")}),c.jsx("th",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--left web-trading-widget-terminal__head-cell",children:e("WebTrading.type")}),c.jsx("th",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right web-trading-widget-terminal__head-cell",children:e("WebTrading.volume")}),c.jsx("th",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right web-trading-widget-terminal__head-cell",children:e("WebTrading.price")}),c.jsx("th",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right web-trading-widget-terminal__head-cell",children:e("WebTrading.stopLossShort")}),c.jsx("th",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right web-trading-widget-terminal__head-cell",children:e("WebTrading.takeProfitShort")}),c.jsx("th",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right web-trading-widget-terminal__head-cell",children:e("WebTrading.price")}),c.jsx("th",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right web-trading-widget-terminal__head-cell",children:e("WebTrading.swap")}),c.jsx("th",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right web-trading-widget-terminal__head-cell",children:e("WebTrading.profit")}),c.jsx("th",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--left web-trading-widget-terminal__head-cell",children:e("WebTrading.comment")}),c.jsx("th",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--close","aria-label":e("WebTrading.close")})]})})}function Rp({balance:e,equity:t,margin:n,marginFree:r,marginLevel:i,totalPnL:s,scrollRef:o,onScroll:a}){const{t:l}=Te(),d=s>0?"web-trading-widget-text-profit-positive":s<0?"web-trading-widget-text-profit-negative":"";return c.jsx("div",{className:"web-trading-widget-terminal__stats",children:c.jsx("div",{ref:o,className:"web-trading-widget-terminal__header-scroll",onScroll:a,children:c.jsxs("table",{className:"web-trading-widget-terminal__table",children:[c.jsx(hs,{}),c.jsx("tbody",{children:c.jsxs("tr",{children:[c.jsx("td",{colSpan:10,className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--nowrap",children:c.jsxs("div",{className:"web-trading-widget-terminal__stats-row web-trading-widget-terminal__stats-row--tabular",children:[c.jsxs("span",{children:[l("WebTrading.balance"),": ",Pt(e)]}),c.jsxs("span",{children:[l("WebTrading.equity"),": ",Pt(t)]}),c.jsxs("span",{children:[l("WebTrading.margin"),": ",Pt(n)]}),c.jsxs("span",{children:[l("WebTrading.freeMargin"),": ",Pt(r)]}),c.jsxs("span",{children:[l("WebTrading.level"),": ",i!==void 0?`${Pt(i,2)}%`:"0.00%"]})]})}),c.jsx("td",{className:`web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right ${d}`,children:Pt(s)}),c.jsx("td",{className:"web-trading-widget-terminal__cell"}),c.jsx("td",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--close"})]})})]})})})}function jp({activeTab:e,onTabChange:t,positionCount:n,isClosingAll:r,onCloseAllPositions:i,isRefetchingDeals:s,onRefetchDeals:o}){const{t:a}=Te(),l=[{id:"trade",label:a("WebTrading.trade")},{id:"history",label:a("WebTrading.history")}],d=e==="trade"&&(n>0||r),u=e==="history";return c.jsxs("div",{role:"tablist","aria-label":a("WebTrading.terminalPanelTabs"),className:"web-trading-widget-terminal__tab-bar",children:[l.map(f=>{const m=e===f.id;return c.jsx("button",{type:"button",role:"tab","aria-selected":m,onClick:()=>t(f.id),className:`web-trading-widget-terminal__tab-btn${m?" web-trading-widget-terminal__tab-btn--active":""}`,children:f.label},f.id)}),c.jsxs("div",{className:"web-trading-widget-terminal__toolbar-actions",children:[d?c.jsx("button",{type:"button",disabled:r,onClick:i,className:"web-trading-widget-terminal__close-all-btn",children:a(r?"WebTrading.closing":"WebTrading.closeAll")}):null,u?c.jsxs("button",{type:"button",disabled:s,onClick:o,className:"web-trading-widget-terminal__refetch-btn","aria-label":a("WebTrading.refreshDealHistory"),children:[c.jsx(_d,{className:`web-trading-widget-icon web-trading-widget-icon--sm${s?" web-trading-widget-terminal__refetch-icon--spinning":""}`}),a(s?"WebTrading.refreshing":"WebTrading.refresh")]}):null]})]})}function Mp({position:e,isSelected:t,isClosing:n,onSelect:r,onClose:i}){const{t:s}=Te(),o=e.type==="buy"?"web-trading-widget-text-buy":"web-trading-widget-text-sell",a=e.profit>0?"web-trading-widget-text-profit-positive":e.profit<0?"web-trading-widget-text-profit-negative":"";return c.jsxs("tr",{className:`web-trading-widget-terminal__row${t?" web-trading-widget-terminal__row--selected":""}`,onClick:r,children:[c.jsx("td",{className:"web-trading-widget-terminal__cell",children:e.displaySymbol}),c.jsx("td",{className:"web-trading-widget-terminal__cell",children:e.ticket}),c.jsx("td",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--nowrap",children:e.time}),c.jsx("td",{className:`web-trading-widget-terminal__cell web-trading-widget-terminal__cell--capitalize ${o}`,children:e.type}),c.jsx("td",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right",children:e.volumeLots.toFixed(2)}),c.jsx("td",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right",children:pe(e.openPrice,e.digits)}),c.jsx("td",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right",children:e.stopLoss!==void 0&&e.stopLoss!==0?pe(e.stopLoss,e.digits):s("WebTrading.notAvailable")}),c.jsx("td",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right",children:e.takeProfit!==void 0&&e.takeProfit!==0?pe(e.takeProfit,e.digits):s("WebTrading.notAvailable")}),c.jsx("td",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right",children:pe(e.currentPrice,e.digits)}),c.jsx("td",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right",children:e.swap!==0?Pt(e.swap):""}),c.jsx("td",{className:`web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right ${a}`,children:Pt(e.profit)}),c.jsx("td",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--truncate",children:e.comment}),c.jsx("td",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--close",children:c.jsx("button",{type:"button","aria-label":s("WebTrading.closePositionTicket",{ticket:e.ticket}),title:s("WebTrading.closePosition"),disabled:n,className:"web-trading-widget-terminal__row-close-btn",onClick:l=>{l.stopPropagation(),i()},children:c.jsx(Bt,{className:"web-trading-widget-icon web-trading-widget-icon--sm"})})})]})}function Up({order:e,isSelected:t,isDeleting:n,onSelect:r,onDelete:i}){const{t:s}=Te(),o=e.side==="buy"?"web-trading-widget-text-buy":"web-trading-widget-text-sell";return c.jsxs("tr",{className:`web-trading-widget-terminal__row${t?" web-trading-widget-terminal__row--selected":""}`,onClick:r,children:[c.jsx("td",{className:"web-trading-widget-terminal__cell",children:e.displaySymbol}),c.jsx("td",{className:"web-trading-widget-terminal__cell",children:e.ticket}),c.jsx("td",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--nowrap",children:e.time}),c.jsx("td",{className:`web-trading-widget-terminal__cell web-trading-widget-terminal__cell--capitalize ${o}`,children:e.typeLabel}),c.jsxs("td",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right",children:[e.volumeLots.toFixed(2)," / ",e.volumeFilledLots.toFixed(2)]}),c.jsx("td",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right",children:pe(e.orderPrice,e.digits)}),c.jsx("td",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right",children:e.stopLoss!==void 0&&e.stopLoss!==0?pe(e.stopLoss,e.digits):s("WebTrading.notAvailable")}),c.jsx("td",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right",children:e.takeProfit!==void 0&&e.takeProfit!==0?pe(e.takeProfit,e.digits):s("WebTrading.notAvailable")}),c.jsx("td",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right",children:pe(e.currentPrice,e.digits)}),c.jsx("td",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right"}),c.jsx("td",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right"}),c.jsx("td",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--truncate",children:e.comment}),c.jsx("td",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--close",children:c.jsx("button",{type:"button","aria-label":s("WebTrading.deleteOrderTicket",{ticket:e.ticket}),title:s("WebTrading.deleteOrder"),disabled:n,className:"web-trading-widget-terminal__row-close-btn",onClick:a=>{a.stopPropagation(),i()},children:c.jsx(Bt,{className:"web-trading-widget-icon web-trading-widget-icon--sm"})})})]})}function bl({embedded:e=!1,symbolTicker:t="",onSymbolChange:n,onCreateNewOrder:r,dealDetailUrl:i,tradeDataEnabled:s=!1}){const{t:o}=Te(),[a,l]=p.useState("trade"),d=yr(),{accounts:u,isLoading:f}=fl(),m=kp(),{height:h,isResizing:b,onResizeStart:v}=e?{height:0,isResizing:!1,onResizeStart:()=>{}}:m,_=le(V=>V.selectedLogin),g=le(V=>V.selectedPositionTicket),T=le(V=>V.selectedOrderTicket),x=le(V=>V.setSelectedPositionTicket),y=le(V=>V.setSelectedOrderTicket),{isLoading:O}=ml(_,s),C=le(V=>V.positions),E=le(V=>V.orders),{closePosition:k,closeAllPositions:U,deleteOrder:F,isClosingAll:H,isRowBusy:L}=Lp(),Q=Zm(),K=nt(),re=Pm({predicate:V=>{const we=V.queryKey;return _?(we[0]===pr||we[0]===gr)&&we[1]===K.baseUrl&&we[2]===_:!1}})>0,P=f||O,D=p.useMemo(()=>_?C.filter(V=>V.login===_):C,[C,_]),j=p.useMemo(()=>_?E.filter(V=>V.login===_):E,[E,_]),A=p.useMemo(()=>{const V=u.find(we=>we.login===_);return(V==null?void 0:V.tradeStat)??null},[u,_]),W=p.useMemo(()=>D.map(V=>V.ticket).sort().join("|"),[D]),R=p.useMemo(()=>A?`${A.balance}:${A.credit??0}:${A.equity}:${A.margin}|${W}`:"",[A,W]),G=p.useMemo(()=>{if(!A||D.length===0)return 0;const V=yl(D);return A.equity-A.balance-(A.credit??0)-V},[R]),ae=p.useMemo(()=>Np(A,D,G),[A,D,G]),ce=D.length===0&&j.length===0,ie=p.useRef(null),N=p.useRef(null),Z=p.useRef(null),te=p.useCallback(()=>{U(D)},[U,D]),ve=p.useCallback(()=>{_&&Q(_)},[Q,_]),Re=p.useCallback(V=>{const we=jd(V,d);we&&(n==null||n(we))},[n,d]),be=p.useCallback(V=>{x(V.ticket),Re(V.symbol)},[x,Re]),Pe=p.useCallback(V=>{y(V.ticket),Re(V.symbol)},[y,Re]),Ce=p.useCallback(V=>{const we=ie.current,Y=N.current,_e=Z.current;if(!we||!Y)return;const je=V==="header"?we.scrollLeft:V==="body"?Y.scrollLeft:(_e==null?void 0:_e.scrollLeft)??0;V!=="header"&&(we.scrollLeft=je),V!=="body"&&(Y.scrollLeft=je),_e&&V!=="footer"&&(_e.scrollLeft=je)},[]);return c.jsxs(c.Fragment,{children:[!e&&b?c.jsx("div",{className:"web-trading-widget-terminal-resize-overlay","aria-hidden":!0}):null,c.jsxs("div",{className:`web-trading-widget-terminal${e?" web-trading-widget-terminal--embedded":""}`,style:e?void 0:{height:h},children:[e?null:c.jsx("div",{className:"web-trading-widget-terminal__resize-bar-wrap",children:c.jsx("div",{role:"separator","aria-orientation":"horizontal","aria-label":o("WebTrading.resizeTerminalPanel"),"aria-valuenow":h,className:"web-trading-widget-terminal__resize-bar",onMouseDown:V=>{V.preventDefault(),v(V.clientY)},children:c.jsx(Xa,{className:"web-trading-widget-icon web-trading-widget-icon--sm web-trading-widget-terminal__resize-icon"})})}),c.jsx(jp,{activeTab:a,onTabChange:l,positionCount:D.length,isClosingAll:H,onCloseAllPositions:te,isRefetchingDeals:re,onRefetchDeals:ve}),a==="trade"?c.jsxs(c.Fragment,{children:[c.jsx("div",{ref:ie,className:"web-trading-widget-terminal__header-scroll",onScroll:()=>Ce("header"),children:c.jsxs("table",{className:"web-trading-widget-terminal__table",children:[c.jsx(hs,{}),c.jsx(Dp,{})]})}),c.jsx("div",{ref:N,className:"web-trading-widget-terminal__body-scroll",onScroll:()=>Ce("body"),children:c.jsxs("table",{className:"web-trading-widget-terminal__table",children:[c.jsx(hs,{}),c.jsxs("tbody",{children:[P&&ce?c.jsx("tr",{children:c.jsx("td",{colSpan:13,className:"web-trading-widget-terminal__empty-cell",children:o("WebTrading.loading")})}):null,!P&&ce?c.jsx("tr",{children:c.jsx("td",{colSpan:13,className:"web-trading-widget-terminal__empty-cell",children:c.jsxs("div",{className:"web-trading-widget-terminal__empty-inner",children:[c.jsx("p",{className:"web-trading-widget-terminal__empty-text",children:o("WebTrading.noPositions")}),r?c.jsx("button",{type:"button",onClick:r,className:"web-trading-widget-terminal__create-btn",children:o("WebTrading.createNewOrder")}):null]})})}):null,D.map(V=>c.jsx(Mp,{position:V,isSelected:g===V.ticket,isClosing:L(`position-${V.ticket}`),onSelect:()=>be(V),onClose:()=>void k(V)},`position-${V.ticket}`)),j.map(V=>c.jsx(Up,{order:V,isSelected:T===V.ticket,isDeleting:L(`order-${V.ticket}`),onSelect:()=>Pe(V),onDelete:()=>void F(V)},`order-${V.ticket}`))]})]})})]}):c.jsx(Tp,{login:_??"",detailUrl:i}),c.jsx(Rp,{balance:ae.balance,equity:ae.equity,margin:ae.margin,marginFree:ae.marginFree,marginLevel:ae.marginLevel,totalPnL:ae.totalProfit,scrollRef:a==="trade"?Z:void 0,onScroll:a==="trade"?()=>Ce("footer"):void 0})]})]})}const ms=224,Zr=120;function Ip(e){var n;const t=(n=e==null?void 0:e.current)==null?void 0:n.clientHeight;return t&&t>0?Math.max(Zr,Math.floor(t*.35)):ms}function Fp(e){var n;const t=(n=e==null?void 0:e.current)==null?void 0:n.clientHeight;return t&&t>0?Math.max(Zr,Math.floor(t*.85)):typeof window>"u"?560:Math.max(Zr,Math.floor(window.innerHeight*.7))}function Bp(e,t){return Math.min(Fp(t),Math.max(Zr,e))}function Wp({containerRef:e,isOpen:t=!1}={}){const[n,r]=p.useState(ms),[i,s]=p.useState(!1),o=p.useRef(ms);p.useEffect(()=>{o.current=n},[n]);const a=p.useCallback(d=>{r(Bp(d,e))},[e]);p.useEffect(()=>{if(!t)return;const d=Math.max(o.current,Ip(e));a(d)},[e,t,a]);const l=p.useCallback(d=>{const u=d,f=o.current;s(!0);const m=b=>{const v=u-b.clientY;a(f+v)},h=()=>{s(!1),document.removeEventListener("mousemove",m),document.removeEventListener("mouseup",h),document.body.style.cursor="",document.body.style.userSelect=""};document.addEventListener("mousemove",m),document.addEventListener("mouseup",h),document.body.style.cursor="row-resize",document.body.style.userSelect="none"},[a]);return p.useEffect(()=>{const d=()=>{a(o.current)};return window.addEventListener("resize",d),()=>{window.removeEventListener("resize",d),document.body.style.cursor="",document.body.style.userSelect=""}},[a]),{height:n,isResizing:i,onResizeStart:l}}function _l({children:e}){const[t]=p.useState(()=>new hm({defaultOptions:{queries:{retry:!1,refetchOnWindowFocus:!1}}}));return c.jsx(mm,{client:t,children:e})}function wl({containerRef:e,onCreateNewOrder:t,tradeDataEnabled:n=!1}){const{t:r}=Te(),[i,s]=p.useState(!1),{height:o,isResizing:a,onResizeStart:l}=Wp({containerRef:e,isOpen:i}),d=le(_=>_.selectedLogin),u=le(_=>_.orders),f=le(_=>_.positions),m=p.useMemo(()=>d?u.filter(_=>_.login===d):u,[d,u]),h=p.useMemo(()=>d?f.filter(_=>_.login===d):f,[d,f]),b=m.length+h.length,v=()=>{s(!1),t==null||t()};return c.jsxs("div",{className:"web-trading-widget-news-orders-overlay-root",children:[c.jsxs("button",{type:"button",className:"web-trading-widget-news-orders-overlay__trigger","aria-label":r("WebTrading.openTerminal"),"aria-expanded":i,onClick:()=>s(!0),children:[c.jsx(pd,{className:"web-trading-widget-icon web-trading-widget-icon--sm"}),c.jsx("span",{children:r("WebTrading.orders")}),b>0?c.jsx("span",{className:"web-trading-widget-news-orders-overlay__badge",children:b}):null]}),i?c.jsx(c.Fragment,{children:c.jsxs("div",{className:"web-trading-widget-news-orders__panel",style:{height:o},children:[a?c.jsx("div",{className:"web-trading-widget-terminal-resize-overlay","aria-hidden":!0}):null,c.jsx("div",{className:"web-trading-widget-news-orders__panel-resize-bar-wrap",children:c.jsx("div",{role:"separator","aria-orientation":"horizontal","aria-label":r("WebTrading.resizeTerminalPanel"),"aria-valuenow":o,className:"web-trading-widget-terminal__resize-bar",onMouseDown:_=>{_.preventDefault(),l(_.clientY)},children:c.jsx(Xa,{className:"web-trading-widget-icon web-trading-widget-icon--sm web-trading-widget-terminal__resize-icon"})})}),c.jsxs("div",{className:"web-trading-widget-news-orders__panel-header",children:[c.jsx("h2",{className:"web-trading-widget-news-orders__panel-title",children:r("WebTrading.terminal")}),c.jsx("button",{type:"button",className:"web-trading-widget-news-orders__panel-close","aria-label":r("WebTrading.closeTerminalPanel"),onClick:()=>s(!1),children:c.jsx(Bt,{className:"web-trading-widget-icon web-trading-widget-icon--sm"})})]}),c.jsx("div",{className:"web-trading-widget-news-orders__panel-body",children:c.jsx(bl,{embedded:!0,onCreateNewOrder:t?v:void 0,tradeDataEnabled:n})})]})}):null]})}function $p({baseUrl:e,language:t,containerRef:n,onCreateNewOrder:r}){const i=p.useMemo(()=>ri(t),[t]);return c.jsx(Ya,{language:i,children:c.jsx(_l,{children:c.jsx(Vc,{baseUrl:e,children:c.jsx(wl,{containerRef:n,onCreateNewOrder:r})})})})}function ut({title:e,isOpen:t,onToggle:n,children:r,className:i}){return c.jsxs("div",{className:ht("web-trading-widget-market-panel__accordion-item",i),children:[c.jsxs("button",{type:"button",className:ht("web-trading-widget-market-panel__accordion-trigger",t&&"web-trading-widget-market-panel__accordion-trigger--open"),"aria-expanded":t,onClick:n,children:[e,c.jsx(Br,{className:"web-trading-widget-icon web-trading-widget-icon--md web-trading-widget-text-muted"})]}),t?c.jsx("div",{className:"web-trading-widget-market-panel__accordion-content",children:r}):null]})}const tn=p.forwardRef(({className:e,...t},n)=>c.jsx("input",{ref:n,className:ht("web-trading-widget-market-panel__input",e),...t}));tn.displayName="WidgetInput";function ca(e){const t=e.trim().replace(/,/g,"");if(!t||t===".")return null;const n=Number(t);return Number.isFinite(n)?n:null}function la(e,t){return t<=0?String(Math.round(e)):e.toFixed(t)}function Vp(e,t){const n=e.replace(/,/g,"").replace(/[^\d.]/g,""),r=n.indexOf(".");if(r===-1)return n;const i=n.slice(0,r),s=n.slice(r+1).replace(/\./g,""),o=t>0?s.slice(0,t):"";return`${i}.${o}`}function Hp(e){const t=e.trim();return!t||t==="."?"":t.endsWith(".")?t.slice(0,-1):t}function ke({label:e,value:t,onChange:n,step:r=.01,min:i,decimals:s=2,placeholder:o,basePrice:a,disabled:l=!1,clearable:d=!1}){const[u,f]=p.useState(t),[m,h]=p.useState(!1),b=m?u:t,v=b.trim()!=="",_=!d;p.useEffect(()=>{m||f(t)},[m,t]);const g=()=>a!=null&&Number.isFinite(a)?a:i??0,T=k=>{f(k),n(k)},x=k=>{if(l)return;const U=g(),F=ca(b),H=b.trim()!=="";let L;!H||F===null?L=k===1?U:U-r:L=F+k*r;const Q=i!==void 0?Math.max(i,L):L;if(Q<=0)return;const K=la(Q,s);h(!1),T(K)},y=()=>{h(!0),f(t)},O=()=>{h(!1);const k=Hp(u);if(!k){u.trim()!==""&&T("");return}const U=ca(k);if(U===null||U<=0){T("");return}if(_){T(la(U,s));return}T(k)},C=k=>{f(Vp(k,s))},E=()=>{l||(h(!1),T(""))};return c.jsxs("div",{className:"web-trading-widget-stepper",children:[c.jsxs("div",{className:"web-trading-widget-stepper__header",children:[c.jsx("span",{className:"web-trading-widget-stepper__label",children:e}),d&&v?c.jsx("button",{type:"button","aria-label":`Clear ${e}`,className:"web-trading-widget-stepper__clear",disabled:l,onClick:E,children:c.jsx(Bt,{className:"web-trading-widget-icon web-trading-widget-icon--xs"})}):null]}),c.jsxs("div",{className:`web-trading-widget-stepper__control${l?" web-trading-widget-stepper__control--disabled":""}`,children:[c.jsx("button",{type:"button","aria-label":`Decrease ${e}`,className:"web-trading-widget-stepper__btn web-trading-widget-stepper__btn--minus",disabled:l||a===null&&b.trim()==="",onClick:()=>x(-1),children:c.jsx(yd,{className:"web-trading-widget-icon web-trading-widget-icon--sm"})}),c.jsx("input",{type:"text",inputMode:"decimal",pattern:"[0-9]*[.]?[0-9]*",value:b,placeholder:o,disabled:l,onFocus:y,onChange:k=>C(k.target.value),onBlur:O,className:"web-trading-widget-stepper__input"}),c.jsx("button",{type:"button","aria-label":`Increase ${e}`,className:"web-trading-widget-stepper__btn web-trading-widget-stepper__btn--plus",disabled:l||a===null&&b.trim()==="",onClick:()=>x(1),children:c.jsx(bd,{className:"web-trading-widget-icon web-trading-widget-icon--sm"})})]})]})}const zp=new Set(["volume-setting","risk-management"]);function qp({symbolTicker:e,bid:t,ask:n,defaultVolumeLots:r,volumeStep:i,minVolumeLots:s,isSubmitting:o,isAccountsLoading:a,selectedLogin:l,embedded:d=!1,onMinimize:u,onClose:f,onPlaceOrder:m}){const{t:h}=Te(),[b,v]=p.useState("market"),[_,g]=p.useState(String(r)),[T,x]=p.useState(""),[y,O]=p.useState(""),C=ne(J=>J.stopLoss),E=ne(J=>J.takeProfit),k=ne(J=>J.setStopLoss),U=ne(J=>J.setTakeProfit),F=ne(J=>J.setVolumeLots),H=ne(J=>J.setOrderSide),[L,Q]=p.useState(""),[K,re]=p.useState(We.GTC),[P,D]=p.useState(""),[j,A]=p.useState(""),[W,R]=p.useState(()=>new Set(zp)),G=Number(wt(vt(e))),ae=Dn(G),ce=Rs(t,n),ie=t!==null?pe(t,G):"—",N=n!==null?pe(n,G):"—",Z=ai(b),te=ic(b),ve=oi(b),Re=h(Vr[b]),be=!Z&&ve.orderType!==null&&ve.orderType%2===1,Pe=p.useMemo(()=>ce!==null?ce:t??n,[n,t,ce]),Ce=J=>{R(Ye=>{const St=new Set(Ye);return St.has(J)?St.delete(J):St.add(J),St})},V=J=>{g(J);const Ye=Number(J);Number.isFinite(Ye)&&Ye>0&&F(Ye)},we=J=>t===null||n===null?null:Z?J==="buy"?n:t:Le(T)??(J==="buy"?n:t),Y=J=>{const Ye=we(J);Ye!==null&&H({side:J,entryPrice:Ye})},_e=J=>{if(t===null||n===null||!l)return;const Ye=Math.max(s,Number(_)||s),St=Vi(b,J),br=we(J);br!==null&&H({side:J,entryPrice:br}),m({login:l,executionMode:b,side:J,orderType:St,volumeLots:Ye,stopLoss:C,takeProfit:E,priceOrder:T,priceTrigger:y,comment:L,typeTime:K,expirationDateTime:P,expirationDay:j,bid:t,ask:n})},je=t!==null&&n!==null,Ze=Z||Le(T)!==void 0,an=!te||Le(y)!==void 0,Un=Z||li(K,P,j),it=!o&&!a&&l!==""&&je&&Ze&&an&&Un,yi=!Z&&Ls(K),bi=!Z&&Ns(K);return c.jsxs("div",{className:"web-trading-widget-market-panel",children:[c.jsxs("div",{className:"web-trading-widget-market-panel__header",children:[c.jsx("select",{value:b,className:"web-trading-widget-market-panel__select-trigger","aria-label":h("WebTrading.orderExecutionType"),onChange:J=>v(J.target.value),children:Wr.map(J=>c.jsx("option",{value:J.mode,children:h(Vr[J.mode])},J.mode))}),d?null:c.jsxs("div",{className:"web-trading-widget-market-panel__header-actions",children:[c.jsx("button",{type:"button","aria-label":h("WebTrading.minimizeToQuickOrder"),className:"web-trading-widget-market-panel__header-btn",onClick:u,children:c.jsx(gd,{className:"web-trading-widget-icon web-trading-widget-icon--md"})}),c.jsx("button",{type:"button","aria-label":h("WebTrading.closeOrderPanel"),className:"web-trading-widget-market-panel__header-btn",onClick:f,children:c.jsx(Bt,{className:"web-trading-widget-icon web-trading-widget-icon--md"})})]})]}),c.jsxs("div",{className:"web-trading-widget-market-panel__accordion",children:[c.jsx(ut,{title:h("WebTrading.volumeSetting"),isOpen:W.has("volume-setting"),onToggle:()=>Ce("volume-setting"),children:c.jsx(ke,{label:h("WebTrading.lots"),value:_,onChange:V,step:i,min:s,decimals:2})}),Z?null:c.jsx(ut,{title:h("WebTrading.orderPrice"),isOpen:W.has("order-price"),onToggle:()=>Ce("order-price"),children:te?c.jsxs(c.Fragment,{children:[c.jsx(ke,{label:h("WebTrading.stopPrice"),value:y,onChange:O,step:ae,decimals:G,basePrice:Pe,placeholder:ce!==null?pe(ce,G):"—"}),c.jsx(ke,{label:h("WebTrading.limitPrice"),value:T,onChange:x,step:ae,decimals:G,basePrice:Pe,placeholder:ce!==null?pe(ce,G):"—"})]}):c.jsx(ke,{label:h("WebTrading.price"),value:T,onChange:x,step:ae,decimals:G,basePrice:Pe,placeholder:ce!==null?pe(ce,G):"—"})}),c.jsx(ut,{title:h("WebTrading.riskManagement"),isOpen:W.has("risk-management"),onToggle:()=>Ce("risk-management"),children:c.jsxs("div",{className:"web-trading-widget-market-panel__grid-2",children:[c.jsx(ke,{label:h("WebTrading.stopLoss"),value:C,onChange:k,step:ae,decimals:G,basePrice:t,placeholder:t!==null?ie:"—",clearable:!0}),c.jsx(ke,{label:h("WebTrading.takeProfit"),value:E,onChange:U,step:ae,decimals:G,basePrice:n,placeholder:n!==null?N:"—",clearable:!0})]})}),Z?null:c.jsxs(ut,{title:h("WebTrading.expiration"),isOpen:W.has("expiration"),onToggle:()=>Ce("expiration"),children:[c.jsx("select",{value:String(K),className:"web-trading-widget-market-panel__select-full","aria-label":h("WebTrading.orderExpirationType"),onChange:J=>re(Number(J.target.value)),children:sc.map(J=>c.jsx("option",{value:String(J.value),children:h(oc[J.value])},J.value))}),yi?c.jsxs("div",{className:"web-trading-widget-market-panel__field",children:[c.jsx("span",{className:"web-trading-widget-market-panel__field-label",children:h("WebTrading.expirationTime")}),c.jsx(tn,{type:"datetime-local",value:P,onChange:J=>D(J.target.value)})]}):null,bi?c.jsxs("div",{className:"web-trading-widget-market-panel__field",children:[c.jsx("span",{className:"web-trading-widget-market-panel__field-label",children:h("WebTrading.expirationDay")}),c.jsx(tn,{type:"date",value:j,onChange:J=>A(J.target.value)})]}):null]}),c.jsx(ut,{title:h("WebTrading.comment"),isOpen:W.has("comment"),onToggle:()=>Ce("comment"),children:c.jsx(tn,{value:L,onChange:J=>Q(J.target.value),placeholder:""})})]}),c.jsxs("div",{className:"web-trading-widget-market-panel__footer",children:[c.jsxs("div",{className:"web-trading-widget-market-panel__quotes",children:[c.jsx("span",{children:ie}),c.jsx("span",{className:"web-trading-widget-market-panel__quotes-ask",children:N})]}),Z?c.jsxs("div",{className:"web-trading-widget-market-panel__actions",children:[c.jsx("button",{type:"button",className:"web-trading-widget-market-panel__sell-btn",disabled:!it,onMouseDown:()=>Y("sell"),onClick:()=>_e("sell"),children:h("WebTrading.sellByMarket")}),c.jsx("button",{type:"button",className:"web-trading-widget-market-panel__buy-btn",disabled:!it,onMouseDown:()=>Y("buy"),onClick:()=>_e("buy"),children:h("WebTrading.buyByMarket")})]}):c.jsx("button",{type:"button",className:`web-trading-widget-market-panel__place-btn${be?" web-trading-widget-market-panel__place-btn--sell":" web-trading-widget-market-panel__place-btn--buy"}`,disabled:!it,onMouseDown:()=>{const J=ve.orderType!==null&&ve.orderType%2===1?"sell":"buy";Y(J)},onClick:()=>{const J=ve.orderType!==null&&ve.orderType%2===1?"sell":"buy";_e(J)},children:h("WebTrading.placeOrder",{label:Re})})]})]})}function vl({confirmation:e,symbolTicker:t,onDismiss:n}){const{t:r}=Te(),i=Number(wt(vt(t))),s=pe(e.price,i),o=e.side==="sell"?r("WebTrading.sell"):r("WebTrading.buy"),a=si(e.symbol||ci(t));return c.jsxs("div",{className:"web-trading-widget-confirmation",children:[c.jsx("div",{className:"web-trading-widget-confirmation__close-row",children:c.jsx("button",{type:"button","aria-label":r("WebTrading.closeConfirmation"),className:"web-trading-widget-confirmation__close-btn",onClick:n,children:c.jsx(Bt,{className:"web-trading-widget-icon web-trading-widget-icon--md"})})}),c.jsxs("div",{className:"web-trading-widget-confirmation__body",children:[c.jsxs("p",{className:"web-trading-widget-confirmation__summary",children:[c.jsxs("span",{className:"web-trading-widget-confirmation__ticket",children:["#",e.ticket]})," ",c.jsx("span",{className:`web-trading-widget-confirmation__side web-trading-widget-confirmation__side--${e.side}`,children:o})," ",e.volumeLots.toFixed(2)," ",a]}),c.jsx("p",{className:"web-trading-widget-confirmation__price",children:r("WebTrading.orderAtPrice",{price:s})}),c.jsx("p",{className:"web-trading-widget-confirmation__status",children:r("WebTrading.placed")}),c.jsx("button",{type:"button",className:"web-trading-widget-confirmation__ok-btn",onClick:n,children:r("WebTrading.ok")})]})]})}function Pr(e,t){return e.toLocaleString(void 0,{minimumFractionDigits:t,maximumFractionDigits:t})}function Hn(e){if(!(e===void 0||e===0))return e}function da(e,t){return e===void 0||e===0?"":pe(e,t)}function ua(e,t){const n=Le(e);if(n!==void 0)return n;if(Hn(t)!==void 0)return 0}function Sl({order:e,onClose:t}){const{t:n}=Te(),{deleteOrder:r,modifyOrder:i}=gi(),s=le(N=>N.removeOrder),o=le(N=>N.liveQuotes),[a,l]=p.useState(String(e.volumeLots)),[d,u]=p.useState(String(e.orderPrice)),[f,m]=p.useState(e.priceTrigger!==void 0?String(e.priceTrigger):""),h=ne(N=>N.stopLoss),b=ne(N=>N.takeProfit),v=ne(N=>N.setStopLoss),_=ne(N=>N.setTakeProfit),g=ne(N=>N.setDraft),[T,x]=p.useState(e.comment),[y,O]=p.useState(!1),[C,E]=p.useState(!1),k=Dn(e.digits),U=Ne(e.symbol).toUpperCase(),F=o[U],H=(F==null?void 0:F.bid)??e.marketBid??null,L=(F==null?void 0:F.ask)??e.marketAsk??null,Q=H!==null?pe(H,e.digits):"—",K=L!==null?pe(L,e.digits):"—",re=p.useMemo(()=>e.orderPrice>0?e.orderPrice:Rs(H,L)??H??L,[L,H,e.orderPrice]);p.useEffect(()=>{g({source:"order",symbolKey:Ne(e.symbol).toUpperCase(),entryPrice:e.orderPrice,stopLoss:da(e.stopLoss,e.digits),takeProfit:da(e.takeProfit,e.digits),side:e.side,showEntryLine:!0,volumeLots:e.volumeLots,digits:e.digits,priceStep:k})},[e.digits,e.orderPrice,e.side,e.stopLoss,e.symbol,e.takeProfit,e.volumeLots,k,g]);const P=As(e.orderType),D=e.volumeLots,j=Number(d)||e.orderPrice,A=Le(f),W=y||C,G=(j!==e.orderPrice||(P?A!==e.priceTrigger:!1)||Hn(Le(h))!==Hn(e.stopLoss)||Hn(Le(b))!==Hn(e.takeProfit)||T.trim()!==e.comment.trim())&&(!P||A!==void 0&&Number.isFinite(j)&&j>0),ae=p.useMemo(()=>n("WebTrading.deleteOrderDetail",{ticket:e.ticket,typeLabel:e.typeLabel,volume:D.toFixed(2),symbol:e.displaySymbol,price:Pr(j,e.digits)}),[e,j,n,D]),ce=async()=>{if(!G){ge({variant:"destructive",description:n(P?"WebTrading.pleaseSetStopAndLimitPrices":"WebTrading.pleaseSetOrderPrice")});return}O(!0);try{const N=await i(e,{volumeLots:D,priceOrder:j,priceTrigger:P?A:void 0,stopLoss:ua(h,e.stopLoss),takeProfit:ua(b,e.takeProfit),comment:T.trim()||"order modify"});if(!N.success){ge({variant:"destructive",description:N.message||n("WebTrading.failedModifyOrder")});return}t(),ge({description:n("WebTrading.orderUpdated",{ticket:e.ticket})})}catch(N){const Z=N instanceof Error?N.message:n("WebTrading.failedModifyOrder");ge({variant:"destructive",description:Z})}finally{O(!1)}},ie=async()=>{E(!0);try{const N=await r(e);if(!N.success){ge({variant:"destructive",description:N.message||n("WebTrading.failedDeleteOrder")});return}s(e.ticket),t(),ge({description:n("WebTrading.orderDeleted",{ticket:e.ticket})})}catch(N){const Z=N instanceof Error?N.message:n("WebTrading.failedDeleteOrder");ge({variant:"destructive",description:Z})}finally{E(!1)}};return c.jsxs("div",{className:"web-trading-widget-detail-panel",children:[c.jsxs("div",{className:"web-trading-widget-detail-panel__header",children:[c.jsxs("p",{className:`web-trading-widget-detail-panel__title web-trading-widget-detail-panel__title--${e.side}`,children:["#",e.ticket," ",e.typeLabel," ",D.toFixed(2)," / ",e.volumeFilledLots.toFixed(2)," ",e.displaySymbol," ",P&&A!==void 0?`${Pr(A,e.digits)} / ${Pr(j,e.digits)}`:Pr(j,e.digits)]}),c.jsx("button",{type:"button","aria-label":n("WebTrading.closeOrderPanel"),className:"web-trading-widget-icon-btn",onClick:t,children:c.jsx(Bt,{className:"web-trading-widget-icon web-trading-widget-icon--md"})})]}),c.jsxs("div",{className:"web-trading-widget-detail-panel__body",children:[c.jsx(ke,{label:n("WebTrading.lots"),value:a,onChange:l,step:.01,min:.01,decimals:2,disabled:!0}),P?c.jsxs(c.Fragment,{children:[c.jsx(ke,{label:n("WebTrading.stopPrice"),value:f,onChange:m,step:k,decimals:e.digits,basePrice:re}),c.jsx(ke,{label:n("WebTrading.limitPrice"),value:d,onChange:u,step:k,decimals:e.digits,basePrice:re})]}):c.jsx(ke,{label:n("WebTrading.price"),value:d,onChange:u,step:k,decimals:e.digits,basePrice:re}),c.jsxs("div",{className:"web-trading-widget-market-panel__grid-2",children:[c.jsx(ke,{label:n("WebTrading.stopLoss"),value:h,onChange:v,step:k,decimals:e.digits,basePrice:H,placeholder:Q,clearable:!0}),c.jsx(ke,{label:n("WebTrading.takeProfit"),value:b,onChange:_,step:k,decimals:e.digits,basePrice:L,placeholder:K,clearable:!0})]}),c.jsxs("div",{className:"web-trading-widget-market-panel__field",children:[c.jsx("span",{className:"web-trading-widget-market-panel__field-label",children:n("WebTrading.comment")}),c.jsx(tn,{value:T,onChange:N=>x(N.target.value)})]}),c.jsx("button",{type:"button",className:"web-trading-widget-detail-panel__btn-full",disabled:W||!G,onClick:()=>void ce(),children:n("WebTrading.modify")}),c.jsx("button",{type:"button",className:"web-trading-widget-detail-panel__action-btn",disabled:W,onClick:()=>void ie(),children:ae})]})]})}function Cr(e,t){return e.toLocaleString(void 0,{minimumFractionDigits:t,maximumFractionDigits:t})}function zn(e){if(!(e===void 0||e===0))return e}function fa(e,t){return e===void 0||e===0?"":pe(e,t)}function ha(e,t){const n=Le(e);if(n!==void 0)return n;if(zn(t)!==void 0)return 0}function Kp(e,t,n){return e.type==="buy"?t??e.marketBid??e.currentPrice:n??e.marketAsk??e.currentPrice}function Tl({position:e,onClose:t}){const{t:n}=Te(),{closePosition:r,modifyPosition:i}=gi(),s=le(P=>P.removePosition),o=le(P=>P.liveQuotes),[a,l]=p.useState(String(e.volumeLots)),d=ne(P=>P.stopLoss),u=ne(P=>P.takeProfit),f=ne(P=>P.setStopLoss),m=ne(P=>P.setTakeProfit),h=ne(P=>P.setDraft),[b,v]=p.useState(!1),[_,g]=p.useState(!1),T=Dn(e.digits),x=Ne(e.symbol).toUpperCase(),y=o[x],O=(y==null?void 0:y.bid)??e.marketBid??null,C=(y==null?void 0:y.ask)??e.marketAsk??null,E=O!==null?pe(O,e.digits):"—",k=C!==null?pe(C,e.digits):"—";p.useEffect(()=>{h({source:"position",symbolKey:Ne(e.symbol).toUpperCase(),entryPrice:e.openPrice,stopLoss:fa(e.stopLoss,e.digits),takeProfit:fa(e.takeProfit,e.digits),side:e.type,showEntryLine:!1,volumeLots:e.volumeLots,digits:e.digits,priceStep:T})},[e.digits,e.openPrice,e.stopLoss,e.symbol,e.takeProfit,e.type,e.volumeLots,T,h]);const U=Kp(e,O,C),F=e.volumeLots,H=b||_,L=zn(Le(d))!==zn(e.stopLoss)||zn(Le(u))!==zn(e.takeProfit),Q=async()=>{if(L){g(!0);try{const P=await i(e,{stopLoss:ha(d,e.stopLoss),takeProfit:ha(u,e.takeProfit),comment:e.comment});if(!P.success){ge({variant:"destructive",description:P.message||n("WebTrading.failedModifyPosition")});return}t(),ge({description:n("WebTrading.positionUpdated",{ticket:e.ticket})})}catch(P){const D=P instanceof Error?P.message:n("WebTrading.failedModifyPosition");ge({variant:"destructive",description:D})}finally{g(!1)}}},K=p.useMemo(()=>{const P=e.profit.toFixed(2),D=e.type==="buy"?n("WebTrading.buy"):n("WebTrading.sell");return n("WebTrading.closePositionDetail",{ticket:e.ticket,type:D,volume:F.toFixed(2),symbol:e.displaySymbol,openPrice:Cr(e.openPrice,e.digits),closePrice:Cr(U,e.digits),profit:P})},[U,e,n,F]),re=async()=>{v(!0);try{const P=await r(e);if(!P.success){ge({variant:"destructive",description:P.message||n("WebTrading.failedClosePosition")});return}s(e.ticket),t(),ge({description:n("WebTrading.positionClosedSimple",{ticket:e.ticket})})}catch(P){const D=P instanceof Error?P.message:n("WebTrading.failedClosePosition");ge({variant:"destructive",description:D})}finally{v(!1)}};return c.jsxs("div",{className:"web-trading-widget-detail-panel",children:[c.jsxs("div",{className:"web-trading-widget-detail-panel__header",children:[c.jsxs("p",{className:"web-trading-widget-detail-panel__title web-trading-widget-detail-panel__title--position",children:["#",e.ticket," ",e.type," ",F.toFixed(2)," ",e.displaySymbol," ",Cr(e.openPrice,e.digits)]}),c.jsx("button",{type:"button","aria-label":n("WebTrading.closePositionPanel"),className:"web-trading-widget-icon-btn",onClick:t,children:c.jsx(Bt,{className:"web-trading-widget-icon web-trading-widget-icon--md"})})]}),c.jsxs("div",{className:"web-trading-widget-detail-panel__body",children:[c.jsx(ke,{label:n("WebTrading.lots"),value:a,onChange:l,step:.01,min:.01,decimals:2,disabled:!0}),c.jsxs("div",{className:"web-trading-widget-market-panel__field",children:[c.jsx("span",{className:"web-trading-widget-market-panel__field-label",children:n("WebTrading.price")}),c.jsx(tn,{readOnly:!0,disabled:!0,value:Cr(e.openPrice,e.digits),className:"web-trading-widget-detail-panel__input-muted"})]}),c.jsxs("div",{className:"web-trading-widget-market-panel__grid-2",children:[c.jsx(ke,{label:n("WebTrading.stopLoss"),value:d,onChange:f,step:T,decimals:e.digits,basePrice:O,placeholder:E,clearable:!0}),c.jsx(ke,{label:n("WebTrading.takeProfit"),value:u,onChange:m,step:T,decimals:e.digits,basePrice:C,placeholder:k,clearable:!0})]}),c.jsxs("div",{className:"web-trading-widget-market-panel__field",children:[c.jsx("span",{className:"web-trading-widget-market-panel__field-label",children:n("WebTrading.comment")}),c.jsx(tn,{readOnly:!0,disabled:!0,value:e.comment,className:"web-trading-widget-detail-panel__input-muted"})]}),c.jsx("button",{type:"button",className:"web-trading-widget-detail-panel__btn-full",disabled:H||!L,onClick:()=>void Q(),children:n("WebTrading.modify")}),c.jsx("button",{type:"button",className:"web-trading-widget-detail-panel__action-btn",disabled:H,onClick:()=>void re(),children:K})]})]})}function ma({symbolTicker:e,orderState:t}){const{t:n}=Te(),r=Vs(e),{confirmation:i,isSubmitting:s,defaultVolumeLots:o,volumeStep:a,minVolumeLots:l,selectedLogin:d,isAccountsLoading:u,hasConfirmedAccount:f,dismissConfirmation:m,placeMarketOrder:h}=t,b=le(k=>k.positions),v=le(k=>k.orders),_=le(k=>k.selectedPositionTicket),g=le(k=>k.selectedOrderTicket),T=le(k=>k.setSelectedPositionTicket),x=le(k=>k.setSelectedOrderTicket),y=_!==null?b.find(k=>k.ticket===_)??null:null,O=g!==null?v.find(k=>k.ticket===g)??null:null,C=i!==null,E=p.useCallback(k=>{h({symbolTicker:e,login:k.login,executionMode:k.executionMode,side:k.side,orderType:k.orderType,volumeLots:k.volumeLots,stopLoss:k.stopLoss,takeProfit:k.takeProfit,priceOrder:k.priceOrder,priceTrigger:k.priceTrigger,comment:k.comment,typeTime:k.typeTime,expirationDateTime:k.expirationDateTime,expirationDay:k.expirationDay,bid:k.bid,ask:k.ask})},[h,e]);return y!==null?c.jsx(Tl,{position:y,onClose:()=>T(null)}):O!==null?c.jsx(Sl,{order:O,onClose:()=>x(null)}):C&&i!==null?c.jsx(vl,{confirmation:i,symbolTicker:e,onDismiss:m}):f?c.jsx(qp,{embedded:!0,symbolTicker:e,bid:(r==null?void 0:r.bid)??null,ask:(r==null?void 0:r.ask)??null,defaultVolumeLots:o,volumeStep:a,minVolumeLots:l,isSubmitting:s,isAccountsLoading:u,selectedLogin:d,onPlaceOrder:E}):c.jsx("div",{className:"web-trading-widget-side-panel__empty",children:n("WebTrading.selectAccountToTrade")})}function pa({label:e,isActive:t,onClick:n}){return c.jsx("button",{type:"button",role:"tab","aria-selected":t,className:`web-trading-widget-side-panel__tab${t?" web-trading-widget-side-panel__tab--active":""}`,onClick:n,children:e})}function Gp({symbolTicker:e,orderState:t,scanResultUrl:n,onScanResultLoad:r,initialTab:i="trade",activeTab:s,onTabChange:o}){const{t:a}=Te(),l=!!n,[d,u]=p.useState(i),f=s!==void 0,m=f?s:d,h=p.useCallback(b=>{f?o==null||o(b):u(b)},[f,o]);return c.jsx("aside",{className:`web-trading-widget-side-panel${l?" web-trading-widget-side-panel--with-scan":""}`,children:l?c.jsxs("div",{className:"web-trading-widget-side-panel__scan-layout",children:[c.jsxs("div",{role:"tablist","aria-label":a("WebTrading.chartSidePanel"),className:"web-trading-widget-side-panel__tablist",children:[c.jsx(pa,{label:a("WebTrading.trade"),isActive:m==="trade",onClick:()=>h("trade")}),c.jsx(pa,{label:a("WebTrading.scanResult"),isActive:m==="scan",onClick:()=>h("scan")})]}),c.jsxs("div",{className:"web-trading-widget-side-panel__panels",children:[c.jsx("div",{role:"tabpanel",hidden:m!=="trade",className:"web-trading-widget-side-panel__tabpanel",children:c.jsx(ma,{symbolTicker:e,orderState:t})}),c.jsx("div",{role:"tabpanel",hidden:m!=="scan",className:"web-trading-widget-side-panel__tabpanel web-trading-widget-side-panel__tabpanel--scan",children:c.jsx("iframe",{src:n??void 0,title:a("WebTrading.scanResult"),className:"web-trading-widget-side-panel__iframe",onLoad:r},n)})]})]}):c.jsx("div",{className:"web-trading-widget-side-panel__scroll",children:c.jsx(ma,{symbolTicker:e,orderState:t})})})}const Qp=.01,Zp=.01,ga=.01;function Yp({symbols:e,defaultPanelAfterConfirm:t="mini"}){const{t:n}=Te(),[r,i]=p.useState("closed"),[s,o]=p.useState(null),[a,l]=p.useState(!1),[d,u]=p.useState("pending"),[f,m]=p.useState(null),h=le(L=>L.setSelectedLogin),{accounts:b,isLoading:v}=fl(),{submitOrder:_}=gi(),g=p.useMemo(()=>Nd(b),[b]),T=p.useMemo(()=>Rd(b,f),[b,f]),x=d==="confirmed",y=d==="needs-selection";p.useEffect(()=>{if(v)return;if(d==="confirmed"){f&&!g.some(Q=>Q.login===f)&&u("needs-selection");return}if(d==="needs-selection")return;const L=Dd();if(L&&g.some(Q=>Q.login===L)){m(L),u("confirmed"),i(t);return}u("needs-selection")},[d,g,t,v,f]),p.useEffect(()=>{T&&h(T)},[T,h]);const O=p.useCallback(L=>{m(L),h(L),oo(L)},[h]),C=p.useCallback(L=>{L&&(oo(L),O(L),u("confirmed"),o(null),i(t))},[t,O]),E=p.useCallback(()=>{o(null),i("market")},[]),k=p.useCallback(()=>{o(null),i("mini")},[]),U=p.useCallback(()=>{o(null),i("mini")},[]),F=p.useCallback(()=>{o(null),i("mini")},[]),H=p.useCallback(async L=>{const Q=ne.getState().clearEntryLinePreview,K=L.login.trim();if(!K){Q(),ge({variant:"destructive",description:n("WebTrading.pleaseSelectTradingAccount")});return}const re=Math.max(ga,L.volumeLots),P=ci(L.symbolTicker,e);Number(wt(vt(L.symbolTicker,e)));const D=ai(L.executionMode),j=As(L.orderType),A=Le(L.priceOrder),W=Le(L.priceTrigger);if(!D&&A===void 0){Q(),ge({variant:"destructive",description:n(j?"WebTrading.pleaseSetLimitPrice":"WebTrading.pleaseSetOrderPrice")});return}if(j&&W===void 0){Q(),ge({variant:"destructive",description:n("WebTrading.pleaseSetStopPrice")});return}if(!D&&!li(L.typeTime,L.expirationDateTime,L.expirationDay)){Q(),ge({variant:"destructive",description:n("WebTrading.pleaseSetExpirationDate")});return}const R=D?L.side==="buy"?L.ask:L.bid:A??(L.side==="buy"?L.ask:L.bid);l(!0);try{const G=await _({login:K,symbolTicker:L.symbolTicker,executionMode:L.executionMode,side:$r(L.orderType),orderType:L.orderType,volumeLots:re,stopLoss:Le(L.stopLoss),takeProfit:Le(L.takeProfit),priceOrder:Es(L.orderType)?A:void 0,priceTrigger:j?W:void 0,comment:L.comment.trim(),typeTime:L.typeTime,expirationDateTime:L.expirationDateTime,expirationDay:L.expirationDay,bid:L.bid,ask:L.ask});if(!G.success){Q(),ge({variant:"destructive",description:G.message||n("WebTrading.orderNotAccepted")});return}o({ticket:G.ticket??"",side:G.side??$r(L.orderType),volumeLots:G.volumeLots??re,symbol:G.displaySymbol??P,price:G.price??R}),i("confirmation")}catch(G){Q();const ae=G instanceof Error?G.message:n("WebTrading.failedPlaceOrder");ge({variant:"destructive",description:ae})}finally{l(!1)}},[_,e,n]);return{panel:r,confirmation:s,isSubmitting:a,defaultVolumeLots:Qp,volumeStep:Zp,minVolumeLots:ga,accountOptions:g,selectedLogin:T,setSelectedLogin:O,isAccountsLoading:v,hasConfirmedAccount:x,needsAccountSelection:y,confirmAccountSelection:C,openMarketPanel:E,openMiniPanel:k,closePanels:U,dismissConfirmation:F,placeMarketOrder:H}}function Yr(e){var t;if(typeof window<"u"){const n=localStorage.getItem(un);if(n&&e.some(r=>r.ticker===n))return n}return((t=e[0])==null?void 0:t.ticker)??"XAU_USD"}function ps(e,t,n){var r;return((r=t.find(i=>i.display_name===e||i.ticker===e))==null?void 0:r.ticker)??n}function Jp({chartWidget:e,symbols:t,chartSlotElement:n,onSymbolTickerChange:r,onScanResultUrlChange:i,selectSymbolTickerRef:s}){const o=p.useMemo(()=>Yr(t),[t]),a=p.useRef(o),l=p.useRef(e),[d,u]=p.useState(null);p.useEffect(()=>{l.current=e},[e]),p.useEffect(()=>{if(!n){u(null);return}const m=()=>{const b=n.querySelector(":scope > div");u(b)};m();const h=new MutationObserver(m);return h.observe(n,{childList:!0}),()=>{h.disconnect()}},[n]);const f=p.useCallback(m=>{if(m===a.current)return;const h=t.find(v=>v.ticker===m);if(!h)return;a.current=m,localStorage.setItem(un,m),r(m),i(null);const b=l.current;if(b)try{b.onChartReady(()=>{b.activeChart().setSymbol(h.ticker)})}catch{}},[i,r,t]);return p.useEffect(()=>(s.current=f,()=>{s.current=null}),[f,s]),p.useEffect(()=>{if(!e)return;let m=!1,h=null;try{e.onChartReady(()=>{if(m)return;let b;try{b=e.activeChart()}catch{return}const v=T=>{const x=b.symbol(),y=ps(x,t,o);y!==a.current&&i(null);try{e.resetCache()}catch{}a.current=y,localStorage.setItem(un,y),r(y)},_=b.symbol(),g=ps(_,t,o);g!==a.current&&(a.current=g,localStorage.setItem(un,g),r(g)),b.onSymbolChanged().subscribe(null,v),h=()=>{try{b.onSymbolChanged().unsubscribe(null,v)}catch{}}})}catch{}return()=>{m=!0,h==null||h()}},[e,i,r,o,t]),{chartContainer:d}}function Xp({className:e,variant:t="default",...n}){return c.jsx("span",{className:ht("web-trading-widget-badge",t!=="default"&&`web-trading-widget-badge--${t}`,e),...n})}function xl(){var t;const e=(t=window.TradingView)==null?void 0:t.widget;return typeof e=="function"?e:null}function Mr(){return xl()!==null}const ya="/charting_library/charting_library.js";function eg({onLoad:e}){return p.useEffect(()=>{if(Mr()){e();return}const t=document.querySelector(`script[src="${ya}"]`);if(t){const r=()=>{Mr()&&e()};return t.addEventListener("load",r),()=>t.removeEventListener("load",r)}const n=document.createElement("script");return n.src=ya,n.async=!1,n.onload=()=>{Mr()&&e()},n.onerror=()=>{console.error("Failed to load TradingView charting library")},document.head.appendChild(n),()=>{n.onload=null,n.onerror=null}},[e]),null}const ba=di(e=>({playEndTimestamp:null,setPlayEndTimestamp:t=>e({playEndTimestamp:t})})),kl=di(e=>({newsSelectedCandles:null,newsPlayEndTimestamp:null,gapCount:0,isReplayMode:!1,setNewsSelectedCandles:t=>e({newsSelectedCandles:t}),setNewsPlayEndTimestamp:t=>e({newsPlayEndTimestamp:t}),setGapCount:t=>e({gapCount:t}),setReplayMode:t=>e({isReplayMode:t})})),gs=8,Pl=4,ys=5,bs=e=>e==="1"?60:e==="5"?300:e==="1D"?1440*3600:parseInt(e,10)*60,tg=e=>{const t=new Date(e+gs*60*60*1e3),n=t.getUTCDay(),r=t.getUTCHours();return n===0?!1:n===1?r>=ys:n===6?r<=Pl:!0},ng=e=>{const t=new Date(e+gs*60*60*1e3),n=t.getUTCDay(),r=t.getUTCHours();if(n===0||n===1&&r<ys||n===6&&r>=Pl){const i=(8-n)%7;return t.setUTCDate(t.getUTCDate()+i),t.setUTCHours(ys,0,0,0),t.getTime()-gs*60*60*1e3}return e},rg=(e,t,n)=>{const r=bs(t)*1e3,i=[];let s=e;for(let o=0;o<n;o++)s+=r,tg(s)||(s=ng(s)),i.push(s);return i},ig=(e,t,n,r)=>{if(n<=0)return[];if(r==="24x7"){const s=bs(t)*1e3;return Array.from({length:n},(o,a)=>e+(a+1)*s)}if(r==="1700-1700")return rg(e,t,n);const i=bs(t)*1e3;return Array.from({length:n},(s,o)=>e+(o+1)*i)},sg=(e,t)=>{if(t==="1D"||t==="D"||t==="1440"){const n=new Date(e*1e3);return n.setUTCHours(0,0,0,0),n.getTime()}return e.toString().length>11?e:e*1e3},_a="wss://ticks.opheleo.com";function og(e){return{1:6e4,5:3e5,15:9e5,30:18e5,60:36e5,240:144e5}[e]??6e4}function wa(e){return e.trim().toUpperCase()}function ag(e,t){return Math.floor(e/t)*t}let Wn;async function cg(e){const t=new URLSearchParams({symbol:e.symbol,timeframe:e.timeframe,...e.endTimestamp&&{endTimestamp:e.endTimestamp.toString()}});return e.last_evaluated_key&&t.append("last_evaluated_key",e.last_evaluated_key),Se({baseURL:"https://corprate-widget.iccandle.ai",url:`/chart/endTimestamp?${t.toString()}`,method:"GET"})}class lg{constructor(t,n,r=_t,i=_a){Je(this,"futureBarsRef");Je(this,"type");Je(this,"symbols");Je(this,"tickWebSocketUrl");Je(this,"configuration",{supported_resolutions:["1","5","15","30","60"],supports_marks:!1,supports_timescale_marks:!0,supports_time:!1});Je(this,"ws",null);Je(this,"isWsConnecting",!1);Je(this,"wsSelectedSymbol",null);Je(this,"subscriptions",new Map);Je(this,"lastBarsCache",new Map);Je(this,"pushFutureBar",t=>{for(const[,n]of this.subscriptions.entries())return n.onTick(t),!0;return!1});this.futureBarsRef=t,this.type=n,this.symbols=r,this.tickWebSocketUrl=i||_a}onReady(t){setTimeout(()=>t(this.configuration),0)}resolveSymbol(t,n,r){const i=this.symbols.find(o=>o.ticker===t),s=this.symbols.find(o=>o.display_name===t);try{setTimeout(()=>{const o={name:(i==null?void 0:i.display_name)||(s==null?void 0:s.display_name)||localStorage.getItem("tv:latest-symbol")||"XAU_USD",timezone:"America/New_York",minmov:1,session:(i==null?void 0:i.session)||(s==null?void 0:s.session)||"24x7",has_intraday:!0,visible_plots_set:"ohlc",library_custom_fields:{ticker:(i==null?void 0:i.ticker)||(s==null?void 0:s.ticker)||localStorage.getItem("tv:latest-symbol")||"XAU_USD"},description:(i==null?void 0:i.description)||(s==null?void 0:s.description)||"",type:(i==null?void 0:i.type)||(s==null?void 0:s.type)||"",pricescale:(i==null?void 0:i.pricescale)||(s==null?void 0:s.pricescale)||1e5,ticker:(i==null?void 0:i.display_name)||(s==null?void 0:s.display_name)||localStorage.getItem("tv:latest-symbol")||"XAU_USD",exchange:"FX",format:"price",listed_exchange:"FX",logo_urls:(i==null?void 0:i.logo_urls.map(a=>a.replace("https://cdn.iccandle.ai/web-assets","/images/symbols")))||(s==null?void 0:s.logo_urls.map(a=>a.replace("https://cdn.iccandle.ai/web-assets","/images/symbols")))};n(o)},0)}catch{r("Symbol not found")}}getBars(t,n,r,i,s){var f;const o=(f=t.library_custom_fields)==null?void 0:f.ticker,a=this.symbols.find(m=>o!==void 0&&m.ticker===o||m.ticker===t.ticker||m.display_name===t.name||m.display_name===t.ticker),l={symbol:(a==null?void 0:a.ticker)||"",timeframe:n};if(r.firstDataRequest&&(Wn=void 0),!r.firstDataRequest)if(Wn)l.last_evaluated_key=Wn;else{i([],{noData:!0});return}const u=ba.getState().playEndTimestamp;u&&(l.endTimestamp=u,ba.getState().setPlayEndTimestamp(null),Wn=void 0),(async()=>{var m;try{const{data:h}=await cg(l);if(h.data_status==="threshold_limited"){i([],{noData:!0});return}if(h.data_status==="end_of_data"){i([],{noData:!0});return}if(!((m=h.items)!=null&&m.length)){i([],{noData:!0});return}Wn=h.last_evaluated_key;const v=[...h.items].map(x=>({open:x.o,high:x.h,low:x.l,close:x.c,time:sg(x.timestamp,n)})),_=kl.getState(),{gapCount:g,isReplayMode:T}=_;if(T&&event){const x=ig(v[v.length-1].time,n,g||0,t.session);if(x.length>0){const y=v[v.length-1].close;for(const O of x)v.push({open:y,high:y,low:y,close:y,time:O})}}i(v)}catch(h){s(h),i([],{noData:!0})}})()}searchSymbols(t,n,r,i){if(r==="all"||r===""){const s=this.symbols.filter(o=>{var a;return(a=o.display_name)==null?void 0:a.toUpperCase().includes(t.toUpperCase())}).map(o=>({...o,symbol:o.display_name,exchange:"FX",logo_urls:o.logo_urls.map(a=>a.replace("https://cdn.iccandle.ai/web-assets","/images/symbols"))}));i(s)}else{const s=this.symbols.filter(o=>{var a;return((a=o.display_name)==null?void 0:a.toUpperCase().includes(t.toUpperCase()))&&o.type.includes(r)}).map(o=>({...o,symbol:o.display_name,exchange:"FX",logo_urls:o.logo_urls.map(a=>a.replace("https://cdn.iccandle.ai/web-assets","/images/symbols"))}));i(s)}}subscribeBars(t,n,r,i,s){var f;const o=(f=t.library_custom_fields)==null?void 0:f.ticker,a=this.symbols.find(m=>o!==void 0&&m.ticker===o||m.display_name===t.ticker||m.display_name===t.name),l=a!=null&&a.resolve_symbol?wa(a.resolve_symbol):wa(t.ticker||t.name||""),d=og(n),u=`${l}|${n}`;this.subscriptions.set(i,{symbol:l,resolution:n,periodMs:d,onTick:r,onResetCacheNeededCallback:s,liveCandle:this.lastBarsCache.get(u)??null}),this.ensureWebSocket(l)}unsubscribeBars(t){this.subscriptions.delete(t),this.subscriptions.size===0&&this.ws&&(this.ws.close(1e3,"No more subscriptions"),this.ws=null)}ensureWebSocket(t){var i;const n=t??((i=this.subscriptions.values().next().value)==null?void 0:i.symbol);if(this.ws&&this.ws.readyState===WebSocket.OPEN&&this.wsSelectedSymbol===n||(this.ws&&this.wsSelectedSymbol!==n&&(this.ws.close(1e3,"Symbol change"),this.ws=null,this.wsSelectedSymbol=null),this.isWsConnecting))return;this.isWsConnecting=!0;const r=new WebSocket(this.tickWebSocketUrl);this.ws=r,this.wsSelectedSymbol=n??null,r.onopen=()=>{this.isWsConnecting=!1,n&&r.send(JSON.stringify({action:"select_symbol",symbol:n}))},r.onmessage=s=>this.handleMessage(s),r.onerror=()=>{this.isWsConnecting=!1},r.onclose=()=>{this.ws=null,this.wsSelectedSymbol=null,this.isWsConnecting=!1,this.subscriptions.size>0&&setTimeout(()=>this.ensureWebSocket(),3e3)}}handleMessage(t){try{const n=JSON.parse(t.data);this.processTick(n)}catch{}}processTick(t){const n=t.symbol,r=Number(t.updatedAtMs),i=(Number(t.bid)+Number(t.ask))/2;if(!(!Number.isFinite(r)||!Number.isFinite(i)))for(const[s,o]of this.subscriptions.entries()){if(o.symbol!==n)continue;const a=`${o.symbol}|${o.resolution}`,l=ag(r,o.periodMs);let d=o.liveCandle;d?l>d.time?d={time:l,open:i,high:i,low:i,close:i,volume:0}:d={...d,high:Math.max(d.high,i),low:Math.min(d.low,i),close:i}:d={time:l,open:i,high:i,low:i,close:i,volume:0},o.liveCandle=d,this.lastBarsCache.set(a,d),this.subscriptions.set(s,o),(f=>{var m,h;(h=(m=this.futureBarsRef)==null?void 0:m.current)!=null&&h.length||o.onTick(f)})(d)}}extractErrorMessage(t){if(t instanceof Error)return t.message;if(typeof t=="string")return t;try{return JSON.stringify(t)}catch{return String(t)}}getTimescaleMarks(t,n,r,i){const s=[];if(this.type&&this.type=="selector")try{const o=JSON.parse(localStorage.getItem("tv:selected-news-events")||"[]");o==null||o.forEach(({id:a,timestamp:l,event_name:d,currency:u})=>{!a||!Number.isFinite(l)||l<=0||s.some(f=>String(f.id)===String(a))||s.push({id:a,time:l/1e3,color:"green",label:d.slice(0,1)||"N",tooltip:[d],...u?{imageUrl:`/images/symbols/${u}.svg`}:{},showLabelWhenImageLoaded:!0})})}catch{}if(this.type&&this.type=="news")try{const o=JSON.parse(localStorage.getItem("iccandle:current-news-event")||"{}"),{id:a,timestamp:l,event_name:d,currency:u,forecast:f,previous:m,actual:h}=o;if(!a||!Number.isFinite(l)||l<=0||s.some(v=>String(v.id)==="news:"+a))return;s.push({id:"news:"+a,time:l/1e3,color:"green",label:d.slice(0,1),tooltip:[d,`Current Forecast: ${f||"-"}`,`Previous Forecast: ${m||"-"}`,`Previous Actual: ${h||"-"}`],...u?{imageUrl:`https://cdn.iccandle.ai/web-assets/${u??"USD"}.svg`}:{}})}catch{}i(s)}}const dg=e=>{const t={name:"Generated Candles - By iC Candle",metainfo:{_metainfoVersion:51,id:"Generated Candles - By iC Candle@tv-basicstudies-1",description:"Generated Candles - By iC Candle",shortDescription:"Generated Candles",isCustomIndicator:!0,is_hidden_study:!1,is_price_study:!0,linkedToSeries:!0,format:{type:"price",precision:2},inputs:[],palettes:{palette_bar:{colors:{0:{name:"Bullish"},1:{name:"Bearish"}},valToIndex:{0:0,1:1}},palette_wick:{colors:{0:{name:"Bullish Wick"},1:{name:"Bearish Wick"}},valToIndex:{0:0,1:1}},palette_border:{colors:{0:{name:"Bullish Border"},1:{name:"Bearish Border"}},valToIndex:{0:0,1:1}}},plots:[{id:"plot_open",type:"ohlc_open",target:"plot_candle"},{id:"plot_high",type:"ohlc_high",target:"plot_candle"},{id:"plot_low",type:"ohlc_low",target:"plot_candle"},{id:"plot_close",type:"ohlc_close",target:"plot_candle"},{id:"plot_bar_color",type:"ohlc_colorer",palette:"palette_bar",target:"plot_candle"},{id:"plot_wick_color",type:"wick_colorer",palette:"palette_wick",target:"plot_candle"},{id:"plot_border_color",type:"border_colorer",palette:"palette_border",target:"plot_candle"}],ohlcPlots:{plot_candle:{title:"Generated Candles"}},styles:{},defaults:{styles:{},ohlcPlots:{plot_candle:{borderColor:"#000000",color:"#000000",drawBorder:!0,drawWick:!0,plottype:"ohlc_candles",visible:!0,wickColor:"#000000"}},palettes:{palette_bar:{colors:{0:{color:"#00dfb9",width:1,style:0},1:{color:"#ffb84d",width:1,style:0}}},palette_wick:{colors:{0:{color:"#00dfb9",width:1,style:0},1:{color:"#ffb84d",width:1,style:0}}},palette_border:{colors:{0:{color:"#00dfb9",width:1,style:0},1:{color:"#ffb84d",width:1,style:0}}}},precision:2,inputs:{}}},constructor:function(){this.init=function(n){this._context=n},this.main=function(n){this._context=n;const r=n.symbol.time,i=e.current,s=n.symbol.open,o=n.symbol.high,a=n.symbol.low,l=n.symbol.close;if(!Number.isFinite(r)||!i||i.length===0)return[s,o,a,l,Number.NaN,Number.NaN,Number.NaN];if(!i.some(m=>m.time===r))return[s,o,a,l,Number.NaN,Number.NaN,Number.NaN];const f=l<s?1:0;return[s,o,a,l,f,f,f]}}};return Promise.resolve([t])},ug=2e4;let Ui=0;function fg(){return Ui=(Ui+1)%Number.MAX_VALUE,Ui.toString()}const Ii=new Map,va=(e,t)=>{if(Ii.has(e))return;const n=setTimeout(()=>{Ii.delete(e),Ur({type:"REMOVE_TOAST",toastId:e})},t||ug);Ii.set(e,n)},hg=(e,t)=>{var n;switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,((n=t==null?void 0:t.toast)==null?void 0:n.limit)??1)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(r=>r.id===t.toast.id?{...r,...t.toast}:r)};case"DISMISS_TOAST":{const{toastId:r}=t;if(r){const i=e.toasts.find(s=>s.id===r);va(r,i==null?void 0:i.duration)}else e.toasts.forEach(i=>{va(i.id,i.duration)});return{...e,toasts:e.toasts.map(i=>i.id===r||r===void 0?{...i,open:!1}:i)}}case"REMOVE_TOAST":return t.toastId===void 0?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(r=>r.id!==t.toastId)}}},mg=[];let Fi={toasts:[]};function Ur(e){Fi=hg(Fi,e),mg.forEach(t=>{t(Fi)})}function pg({duration:e=2e4,description:t,...n}){const r=fg(),i=typeof t=="string"?gl(t):t,s=a=>Ur({type:"UPDATE_TOAST",toast:{...a,description:i,id:r}}),o=()=>{Ur({type:"DISMISS_TOAST",toastId:r})};return Ur({type:"ADD_TOAST",toast:{...n,description:i,id:r,open:!0,duration:e,onOpenChange:a=>{a||o()}}}),e&&setTimeout(o,e),{id:r,dismiss:o,update:s}}const _s="An unknown error occurred",Ir=e=>{if(typeof e=="string")return e;if(typeof e!="object"||e===null)return _s;if(typeof e.message=="string")return e.message;for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)){const n=Ir(e[t]);if(n)return n}return _s},gg=e=>{var t;if(Bc(e)){const n=(t=e.response)!=null&&t.data?Ir(e.response.data):void 0;return n&&n!==_s?n:Ir(e)}return Ir(e)},yg=({queryKey:e,queryFn:t,...n})=>Mn({queryKey:e,queryFn:async r=>{var i;try{const s=r.queryKey[1];return await t(s)}catch(s){throw pg({variant:"destructive",title:"Error",description:gg(Bc(s)?(i=s.response)==null?void 0:i.data:s)}),null}},...n});var me;(function(e){e.assertEqual=i=>{};function t(i){}e.assertIs=t;function n(i){throw new Error}e.assertNever=n,e.arrayToEnum=i=>{const s={};for(const o of i)s[o]=o;return s},e.getValidEnumValues=i=>{const s=e.objectKeys(i).filter(a=>typeof i[i[a]]!="number"),o={};for(const a of s)o[a]=i[a];return e.objectValues(o)},e.objectValues=i=>e.objectKeys(i).map(function(s){return i[s]}),e.objectKeys=typeof Object.keys=="function"?i=>Object.keys(i):i=>{const s=[];for(const o in i)Object.prototype.hasOwnProperty.call(i,o)&&s.push(o);return s},e.find=(i,s)=>{for(const o of i)if(s(o))return o},e.isInteger=typeof Number.isInteger=="function"?i=>Number.isInteger(i):i=>typeof i=="number"&&Number.isFinite(i)&&Math.floor(i)===i;function r(i,s=" | "){return i.map(o=>typeof o=="string"?`'${o}'`:o).join(s)}e.joinValues=r,e.jsonStringifyReplacer=(i,s)=>typeof s=="bigint"?s.toString():s})(me||(me={}));var Sa;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(Sa||(Sa={}));const z=me.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Ct=e=>{switch(typeof e){case"undefined":return z.undefined;case"string":return z.string;case"number":return Number.isNaN(e)?z.nan:z.number;case"boolean":return z.boolean;case"function":return z.function;case"bigint":return z.bigint;case"symbol":return z.symbol;case"object":return Array.isArray(e)?z.array:e===null?z.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?z.promise:typeof Map<"u"&&e instanceof Map?z.map:typeof Set<"u"&&e instanceof Set?z.set:typeof Date<"u"&&e instanceof Date?z.date:z.object;default:return z.unknown}},M=me.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class bt extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};const n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=t}format(t){const n=t||function(s){return s.message},r={_errors:[]},i=s=>{for(const o of s.issues)if(o.code==="invalid_union")o.unionErrors.map(i);else if(o.code==="invalid_return_type")i(o.returnTypeError);else if(o.code==="invalid_arguments")i(o.argumentsError);else if(o.path.length===0)r._errors.push(n(o));else{let a=r,l=0;for(;l<o.path.length;){const d=o.path[l];l===o.path.length-1?(a[d]=a[d]||{_errors:[]},a[d]._errors.push(n(o))):a[d]=a[d]||{_errors:[]},a=a[d],l++}}};return i(this),r}static assert(t){if(!(t instanceof bt))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,me.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=n=>n.message){const n={},r=[];for(const i of this.issues)if(i.path.length>0){const s=i.path[0];n[s]=n[s]||[],n[s].push(t(i))}else r.push(t(i));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}}bt.create=e=>new bt(e);const ws=(e,t)=>{let n;switch(e.code){case M.invalid_type:e.received===z.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case M.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,me.jsonStringifyReplacer)}`;break;case M.unrecognized_keys:n=`Unrecognized key(s) in object: ${me.joinValues(e.keys,", ")}`;break;case M.invalid_union:n="Invalid input";break;case M.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${me.joinValues(e.options)}`;break;case M.invalid_enum_value:n=`Invalid enum value. Expected ${me.joinValues(e.options)}, received '${e.received}'`;break;case M.invalid_arguments:n="Invalid function arguments";break;case M.invalid_return_type:n="Invalid function return type";break;case M.invalid_date:n="Invalid date";break;case M.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:me.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case M.too_small:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="bigint"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:n="Invalid input";break;case M.too_big:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?n=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:n="Invalid input";break;case M.custom:n="Invalid input";break;case M.invalid_intersection_types:n="Intersection results could not be merged";break;case M.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case M.not_finite:n="Number must be finite";break;default:n=t.defaultError,me.assertNever(e)}return{message:n}};let bg=ws;function _g(){return bg}const wg=e=>{const{data:t,path:n,errorMaps:r,issueData:i}=e,s=[...n,...i.path||[]],o={...i,path:s};if(i.message!==void 0)return{...i,path:s,message:i.message};let a="";const l=r.filter(d=>!!d).slice().reverse();for(const d of l)a=d(o,{data:t,defaultError:a}).message;return{...i,path:s,message:a}};function $(e,t){const n=_g(),r=wg({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===ws?void 0:ws].filter(i=>!!i)});e.common.issues.push(r)}class Qe{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,n){const r=[];for(const i of n){if(i.status==="aborted")return se;i.status==="dirty"&&t.dirty(),r.push(i.value)}return{status:t.value,value:r}}static async mergeObjectAsync(t,n){const r=[];for(const i of n){const s=await i.key,o=await i.value;r.push({key:s,value:o})}return Qe.mergeObjectSync(t,r)}static mergeObjectSync(t,n){const r={};for(const i of n){const{key:s,value:o}=i;if(s.status==="aborted"||o.status==="aborted")return se;s.status==="dirty"&&t.dirty(),o.status==="dirty"&&t.dirty(),s.value!=="__proto__"&&(typeof o.value<"u"||i.alwaysSet)&&(r[s.value]=o.value)}return{status:t.value,value:r}}}const se=Object.freeze({status:"aborted"}),qn=e=>({status:"dirty",value:e}),rt=e=>({status:"valid",value:e}),Ta=e=>e.status==="aborted",xa=e=>e.status==="dirty",On=e=>e.status==="valid",Jr=e=>typeof Promise<"u"&&e instanceof Promise;var q;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t==null?void 0:t.message})(q||(q={}));class It{constructor(t,n,r,i){this._cachedPath=[],this.parent=t,this.data=n,this._path=r,this._key=i}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const ka=(e,t)=>{if(On(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const n=new bt(e.common.issues);return this._error=n,this._error}}};function de(e){if(!e)return{};const{errorMap:t,invalid_type_error:n,required_error:r,description:i}=e;if(t&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:i}:{errorMap:(o,a)=>{const{message:l}=e;return o.code==="invalid_enum_value"?{message:l??a.defaultError}:typeof a.data>"u"?{message:l??r??a.defaultError}:o.code!=="invalid_type"?{message:a.defaultError}:{message:l??n??a.defaultError}},description:i}}class he{get description(){return this._def.description}_getType(t){return Ct(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:Ct(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new Qe,ctx:{common:t.parent.common,data:t.data,parsedType:Ct(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){const n=this._parse(t);if(Jr(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(t){const n=this._parse(t);return Promise.resolve(n)}parse(t,n){const r=this.safeParse(t,n);if(r.success)return r.data;throw r.error}safeParse(t,n){const r={common:{issues:[],async:(n==null?void 0:n.async)??!1,contextualErrorMap:n==null?void 0:n.errorMap},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Ct(t)},i=this._parseSync({data:t,path:r.path,parent:r});return ka(r,i)}"~validate"(t){var r,i;const n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Ct(t)};if(!this["~standard"].async)try{const s=this._parseSync({data:t,path:[],parent:n});return On(s)?{value:s.value}:{issues:n.common.issues}}catch(s){(i=(r=s==null?void 0:s.message)==null?void 0:r.toLowerCase())!=null&&i.includes("encountered")&&(this["~standard"].async=!0),n.common={issues:[],async:!0}}return this._parseAsync({data:t,path:[],parent:n}).then(s=>On(s)?{value:s.value}:{issues:n.common.issues})}async parseAsync(t,n){const r=await this.safeParseAsync(t,n);if(r.success)return r.data;throw r.error}async safeParseAsync(t,n){const r={common:{issues:[],contextualErrorMap:n==null?void 0:n.errorMap,async:!0},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Ct(t)},i=this._parse({data:t,path:r.path,parent:r}),s=await(Jr(i)?i:Promise.resolve(i));return ka(r,s)}refine(t,n){const r=i=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(i):n;return this._refinement((i,s)=>{const o=t(i),a=()=>s.addIssue({code:M.custom,...r(i)});return typeof Promise<"u"&&o instanceof Promise?o.then(l=>l?!0:(a(),!1)):o?!0:(a(),!1)})}refinement(t,n){return this._refinement((r,i)=>t(r)?!0:(i.addIssue(typeof n=="function"?n(r,i):n),!1))}_refinement(t){return new Ln({schema:this,typeName:oe.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:n=>this["~validate"](n)}}optional(){return Ut.create(this,this._def)}nullable(){return Nn.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return ft.create(this)}promise(){return ni.create(this,this._def)}or(t){return ei.create([this,t],this._def)}and(t){return ti.create(this,t,this._def)}transform(t){return new Ln({...de(this._def),schema:this,typeName:oe.ZodEffects,effect:{type:"transform",transform:t}})}default(t){const n=typeof t=="function"?t:()=>t;return new Ts({...de(this._def),innerType:this,defaultValue:n,typeName:oe.ZodDefault})}brand(){return new Vg({typeName:oe.ZodBranded,type:this,...de(this._def)})}catch(t){const n=typeof t=="function"?t:()=>t;return new xs({...de(this._def),innerType:this,catchValue:n,typeName:oe.ZodCatch})}describe(t){const n=this.constructor;return new n({...this._def,description:t})}pipe(t){return Xs.create(this,t)}readonly(){return ks.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const vg=/^c[^\s-]{8,}$/i,Sg=/^[0-9a-z]+$/,Tg=/^[0-9A-HJKMNP-TV-Z]{26}$/i,xg=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,kg=/^[a-z0-9_-]{21}$/i,Pg=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Cg=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Og=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Eg="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let Bi;const Ag=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Lg=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,Ng=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,Dg=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Rg=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,jg=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Cl="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",Mg=new RegExp(`^${Cl}$`);function Ol(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`);const n=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${n}`}function Ug(e){return new RegExp(`^${Ol(e)}$`)}function Ig(e){let t=`${Cl}T${Ol(e)}`;const n=[];return n.push(e.local?"Z?":"Z"),e.offset&&n.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${n.join("|")})`,new RegExp(`^${t}$`)}function Fg(e,t){return!!((t==="v4"||!t)&&Ag.test(e)||(t==="v6"||!t)&&Ng.test(e))}function Bg(e,t){if(!Pg.test(e))return!1;try{const[n]=e.split(".");if(!n)return!1;const r=n.replace(/-/g,"+").replace(/_/g,"/").padEnd(n.length+(4-n.length%4)%4,"="),i=JSON.parse(atob(r));return!(typeof i!="object"||i===null||"typ"in i&&(i==null?void 0:i.typ)!=="JWT"||!i.alg||t&&i.alg!==t)}catch{return!1}}function Wg(e,t){return!!((t==="v4"||!t)&&Lg.test(e)||(t==="v6"||!t)&&Dg.test(e))}class jt extends he{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==z.string){const s=this._getOrReturnCtx(t);return $(s,{code:M.invalid_type,expected:z.string,received:s.parsedType}),se}const r=new Qe;let i;for(const s of this._def.checks)if(s.kind==="min")t.data.length<s.value&&(i=this._getOrReturnCtx(t,i),$(i,{code:M.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),r.dirty());else if(s.kind==="max")t.data.length>s.value&&(i=this._getOrReturnCtx(t,i),$(i,{code:M.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),r.dirty());else if(s.kind==="length"){const o=t.data.length>s.value,a=t.data.length<s.value;(o||a)&&(i=this._getOrReturnCtx(t,i),o?$(i,{code:M.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):a&&$(i,{code:M.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),r.dirty())}else if(s.kind==="email")Og.test(t.data)||(i=this._getOrReturnCtx(t,i),$(i,{validation:"email",code:M.invalid_string,message:s.message}),r.dirty());else if(s.kind==="emoji")Bi||(Bi=new RegExp(Eg,"u")),Bi.test(t.data)||(i=this._getOrReturnCtx(t,i),$(i,{validation:"emoji",code:M.invalid_string,message:s.message}),r.dirty());else if(s.kind==="uuid")xg.test(t.data)||(i=this._getOrReturnCtx(t,i),$(i,{validation:"uuid",code:M.invalid_string,message:s.message}),r.dirty());else if(s.kind==="nanoid")kg.test(t.data)||(i=this._getOrReturnCtx(t,i),$(i,{validation:"nanoid",code:M.invalid_string,message:s.message}),r.dirty());else if(s.kind==="cuid")vg.test(t.data)||(i=this._getOrReturnCtx(t,i),$(i,{validation:"cuid",code:M.invalid_string,message:s.message}),r.dirty());else if(s.kind==="cuid2")Sg.test(t.data)||(i=this._getOrReturnCtx(t,i),$(i,{validation:"cuid2",code:M.invalid_string,message:s.message}),r.dirty());else if(s.kind==="ulid")Tg.test(t.data)||(i=this._getOrReturnCtx(t,i),$(i,{validation:"ulid",code:M.invalid_string,message:s.message}),r.dirty());else if(s.kind==="url")try{new URL(t.data)}catch{i=this._getOrReturnCtx(t,i),$(i,{validation:"url",code:M.invalid_string,message:s.message}),r.dirty()}else s.kind==="regex"?(s.regex.lastIndex=0,s.regex.test(t.data)||(i=this._getOrReturnCtx(t,i),$(i,{validation:"regex",code:M.invalid_string,message:s.message}),r.dirty())):s.kind==="trim"?t.data=t.data.trim():s.kind==="includes"?t.data.includes(s.value,s.position)||(i=this._getOrReturnCtx(t,i),$(i,{code:M.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),r.dirty()):s.kind==="toLowerCase"?t.data=t.data.toLowerCase():s.kind==="toUpperCase"?t.data=t.data.toUpperCase():s.kind==="startsWith"?t.data.startsWith(s.value)||(i=this._getOrReturnCtx(t,i),$(i,{code:M.invalid_string,validation:{startsWith:s.value},message:s.message}),r.dirty()):s.kind==="endsWith"?t.data.endsWith(s.value)||(i=this._getOrReturnCtx(t,i),$(i,{code:M.invalid_string,validation:{endsWith:s.value},message:s.message}),r.dirty()):s.kind==="datetime"?Ig(s).test(t.data)||(i=this._getOrReturnCtx(t,i),$(i,{code:M.invalid_string,validation:"datetime",message:s.message}),r.dirty()):s.kind==="date"?Mg.test(t.data)||(i=this._getOrReturnCtx(t,i),$(i,{code:M.invalid_string,validation:"date",message:s.message}),r.dirty()):s.kind==="time"?Ug(s).test(t.data)||(i=this._getOrReturnCtx(t,i),$(i,{code:M.invalid_string,validation:"time",message:s.message}),r.dirty()):s.kind==="duration"?Cg.test(t.data)||(i=this._getOrReturnCtx(t,i),$(i,{validation:"duration",code:M.invalid_string,message:s.message}),r.dirty()):s.kind==="ip"?Fg(t.data,s.version)||(i=this._getOrReturnCtx(t,i),$(i,{validation:"ip",code:M.invalid_string,message:s.message}),r.dirty()):s.kind==="jwt"?Bg(t.data,s.alg)||(i=this._getOrReturnCtx(t,i),$(i,{validation:"jwt",code:M.invalid_string,message:s.message}),r.dirty()):s.kind==="cidr"?Wg(t.data,s.version)||(i=this._getOrReturnCtx(t,i),$(i,{validation:"cidr",code:M.invalid_string,message:s.message}),r.dirty()):s.kind==="base64"?Rg.test(t.data)||(i=this._getOrReturnCtx(t,i),$(i,{validation:"base64",code:M.invalid_string,message:s.message}),r.dirty()):s.kind==="base64url"?jg.test(t.data)||(i=this._getOrReturnCtx(t,i),$(i,{validation:"base64url",code:M.invalid_string,message:s.message}),r.dirty()):me.assertNever(s);return{status:r.value,value:t.data}}_regex(t,n,r){return this.refinement(i=>t.test(i),{validation:n,code:M.invalid_string,...q.errToObj(r)})}_addCheck(t){return new jt({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...q.errToObj(t)})}url(t){return this._addCheck({kind:"url",...q.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...q.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...q.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...q.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...q.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...q.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...q.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...q.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...q.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...q.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...q.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...q.errToObj(t)})}datetime(t){return typeof t=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t}):this._addCheck({kind:"datetime",precision:typeof(t==null?void 0:t.precision)>"u"?null:t==null?void 0:t.precision,offset:(t==null?void 0:t.offset)??!1,local:(t==null?void 0:t.local)??!1,...q.errToObj(t==null?void 0:t.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){return typeof t=="string"?this._addCheck({kind:"time",precision:null,message:t}):this._addCheck({kind:"time",precision:typeof(t==null?void 0:t.precision)>"u"?null:t==null?void 0:t.precision,...q.errToObj(t==null?void 0:t.message)})}duration(t){return this._addCheck({kind:"duration",...q.errToObj(t)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...q.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n==null?void 0:n.position,...q.errToObj(n==null?void 0:n.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...q.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...q.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...q.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...q.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...q.errToObj(n)})}nonempty(t){return this.min(1,q.errToObj(t))}trim(){return new jt({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new jt({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new jt({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxLength(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}}jt.create=e=>new jt({checks:[],typeName:oe.ZodString,coerce:(e==null?void 0:e.coerce)??!1,...de(e)});function $g(e,t){const n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,i=n>r?n:r,s=Number.parseInt(e.toFixed(i).replace(".","")),o=Number.parseInt(t.toFixed(i).replace(".",""));return s%o/10**i}class En extends he{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==z.number){const s=this._getOrReturnCtx(t);return $(s,{code:M.invalid_type,expected:z.number,received:s.parsedType}),se}let r;const i=new Qe;for(const s of this._def.checks)s.kind==="int"?me.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),$(r,{code:M.invalid_type,expected:"integer",received:"float",message:s.message}),i.dirty()):s.kind==="min"?(s.inclusive?t.data<s.value:t.data<=s.value)&&(r=this._getOrReturnCtx(t,r),$(r,{code:M.too_small,minimum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),i.dirty()):s.kind==="max"?(s.inclusive?t.data>s.value:t.data>=s.value)&&(r=this._getOrReturnCtx(t,r),$(r,{code:M.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),i.dirty()):s.kind==="multipleOf"?$g(t.data,s.value)!==0&&(r=this._getOrReturnCtx(t,r),$(r,{code:M.not_multiple_of,multipleOf:s.value,message:s.message}),i.dirty()):s.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),$(r,{code:M.not_finite,message:s.message}),i.dirty()):me.assertNever(s);return{status:i.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,q.toString(n))}gt(t,n){return this.setLimit("min",t,!1,q.toString(n))}lte(t,n){return this.setLimit("max",t,!0,q.toString(n))}lt(t,n){return this.setLimit("max",t,!1,q.toString(n))}setLimit(t,n,r,i){return new En({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:q.toString(i)}]})}_addCheck(t){return new En({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:q.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:q.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:q.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:q.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:q.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:q.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:q.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:q.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:q.toString(t)})}get minValue(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}get isInt(){return!!this._def.checks.find(t=>t.kind==="int"||t.kind==="multipleOf"&&me.isInteger(t.value))}get isFinite(){let t=null,n=null;for(const r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(t===null||r.value<t)&&(t=r.value)}return Number.isFinite(n)&&Number.isFinite(t)}}En.create=e=>new En({checks:[],typeName:oe.ZodNumber,coerce:(e==null?void 0:e.coerce)||!1,...de(e)});class Xn extends he{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==z.bigint)return this._getInvalidInput(t);let r;const i=new Qe;for(const s of this._def.checks)s.kind==="min"?(s.inclusive?t.data<s.value:t.data<=s.value)&&(r=this._getOrReturnCtx(t,r),$(r,{code:M.too_small,type:"bigint",minimum:s.value,inclusive:s.inclusive,message:s.message}),i.dirty()):s.kind==="max"?(s.inclusive?t.data>s.value:t.data>=s.value)&&(r=this._getOrReturnCtx(t,r),$(r,{code:M.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),i.dirty()):s.kind==="multipleOf"?t.data%s.value!==BigInt(0)&&(r=this._getOrReturnCtx(t,r),$(r,{code:M.not_multiple_of,multipleOf:s.value,message:s.message}),i.dirty()):me.assertNever(s);return{status:i.value,value:t.data}}_getInvalidInput(t){const n=this._getOrReturnCtx(t);return $(n,{code:M.invalid_type,expected:z.bigint,received:n.parsedType}),se}gte(t,n){return this.setLimit("min",t,!0,q.toString(n))}gt(t,n){return this.setLimit("min",t,!1,q.toString(n))}lte(t,n){return this.setLimit("max",t,!0,q.toString(n))}lt(t,n){return this.setLimit("max",t,!1,q.toString(n))}setLimit(t,n,r,i){return new Xn({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:q.toString(i)}]})}_addCheck(t){return new Xn({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:q.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:q.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:q.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:q.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:q.toString(n)})}get minValue(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}}Xn.create=e=>new Xn({checks:[],typeName:oe.ZodBigInt,coerce:(e==null?void 0:e.coerce)??!1,...de(e)});class vs extends he{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==z.boolean){const r=this._getOrReturnCtx(t);return $(r,{code:M.invalid_type,expected:z.boolean,received:r.parsedType}),se}return rt(t.data)}}vs.create=e=>new vs({typeName:oe.ZodBoolean,coerce:(e==null?void 0:e.coerce)||!1,...de(e)});class Xr extends he{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==z.date){const s=this._getOrReturnCtx(t);return $(s,{code:M.invalid_type,expected:z.date,received:s.parsedType}),se}if(Number.isNaN(t.data.getTime())){const s=this._getOrReturnCtx(t);return $(s,{code:M.invalid_date}),se}const r=new Qe;let i;for(const s of this._def.checks)s.kind==="min"?t.data.getTime()<s.value&&(i=this._getOrReturnCtx(t,i),$(i,{code:M.too_small,message:s.message,inclusive:!0,exact:!1,minimum:s.value,type:"date"}),r.dirty()):s.kind==="max"?t.data.getTime()>s.value&&(i=this._getOrReturnCtx(t,i),$(i,{code:M.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),r.dirty()):me.assertNever(s);return{status:r.value,value:new Date(t.data.getTime())}}_addCheck(t){return new Xr({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:q.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:q.toString(n)})}get minDate(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t!=null?new Date(t):null}}Xr.create=e=>new Xr({checks:[],coerce:(e==null?void 0:e.coerce)||!1,typeName:oe.ZodDate,...de(e)});class Pa extends he{_parse(t){if(this._getType(t)!==z.symbol){const r=this._getOrReturnCtx(t);return $(r,{code:M.invalid_type,expected:z.symbol,received:r.parsedType}),se}return rt(t.data)}}Pa.create=e=>new Pa({typeName:oe.ZodSymbol,...de(e)});class Ca extends he{_parse(t){if(this._getType(t)!==z.undefined){const r=this._getOrReturnCtx(t);return $(r,{code:M.invalid_type,expected:z.undefined,received:r.parsedType}),se}return rt(t.data)}}Ca.create=e=>new Ca({typeName:oe.ZodUndefined,...de(e)});class Oa extends he{_parse(t){if(this._getType(t)!==z.null){const r=this._getOrReturnCtx(t);return $(r,{code:M.invalid_type,expected:z.null,received:r.parsedType}),se}return rt(t.data)}}Oa.create=e=>new Oa({typeName:oe.ZodNull,...de(e)});class Ea extends he{constructor(){super(...arguments),this._any=!0}_parse(t){return rt(t.data)}}Ea.create=e=>new Ea({typeName:oe.ZodAny,...de(e)});class Aa extends he{constructor(){super(...arguments),this._unknown=!0}_parse(t){return rt(t.data)}}Aa.create=e=>new Aa({typeName:oe.ZodUnknown,...de(e)});class Ft extends he{_parse(t){const n=this._getOrReturnCtx(t);return $(n,{code:M.invalid_type,expected:z.never,received:n.parsedType}),se}}Ft.create=e=>new Ft({typeName:oe.ZodNever,...de(e)});class La extends he{_parse(t){if(this._getType(t)!==z.undefined){const r=this._getOrReturnCtx(t);return $(r,{code:M.invalid_type,expected:z.void,received:r.parsedType}),se}return rt(t.data)}}La.create=e=>new La({typeName:oe.ZodVoid,...de(e)});class ft extends he{_parse(t){const{ctx:n,status:r}=this._processInputParams(t),i=this._def;if(n.parsedType!==z.array)return $(n,{code:M.invalid_type,expected:z.array,received:n.parsedType}),se;if(i.exactLength!==null){const o=n.data.length>i.exactLength.value,a=n.data.length<i.exactLength.value;(o||a)&&($(n,{code:o?M.too_big:M.too_small,minimum:a?i.exactLength.value:void 0,maximum:o?i.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:i.exactLength.message}),r.dirty())}if(i.minLength!==null&&n.data.length<i.minLength.value&&($(n,{code:M.too_small,minimum:i.minLength.value,type:"array",inclusive:!0,exact:!1,message:i.minLength.message}),r.dirty()),i.maxLength!==null&&n.data.length>i.maxLength.value&&($(n,{code:M.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((o,a)=>i.type._parseAsync(new It(n,o,n.path,a)))).then(o=>Qe.mergeArray(r,o));const s=[...n.data].map((o,a)=>i.type._parseSync(new It(n,o,n.path,a)));return Qe.mergeArray(r,s)}get element(){return this._def.type}min(t,n){return new ft({...this._def,minLength:{value:t,message:q.toString(n)}})}max(t,n){return new ft({...this._def,maxLength:{value:t,message:q.toString(n)}})}length(t,n){return new ft({...this._def,exactLength:{value:t,message:q.toString(n)}})}nonempty(t){return this.min(1,t)}}ft.create=(e,t)=>new ft({type:e,minLength:null,maxLength:null,exactLength:null,typeName:oe.ZodArray,...de(t)});function dn(e){if(e instanceof Oe){const t={};for(const n in e.shape){const r=e.shape[n];t[n]=Ut.create(dn(r))}return new Oe({...e._def,shape:()=>t})}else return e instanceof ft?new ft({...e._def,type:dn(e.element)}):e instanceof Ut?Ut.create(dn(e.unwrap())):e instanceof Nn?Nn.create(dn(e.unwrap())):e instanceof on?on.create(e.items.map(t=>dn(t))):e}class Oe extends he{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const t=this._def.shape(),n=me.objectKeys(t);return this._cached={shape:t,keys:n},this._cached}_parse(t){if(this._getType(t)!==z.object){const d=this._getOrReturnCtx(t);return $(d,{code:M.invalid_type,expected:z.object,received:d.parsedType}),se}const{status:r,ctx:i}=this._processInputParams(t),{shape:s,keys:o}=this._getCached(),a=[];if(!(this._def.catchall instanceof Ft&&this._def.unknownKeys==="strip"))for(const d in i.data)o.includes(d)||a.push(d);const l=[];for(const d of o){const u=s[d],f=i.data[d];l.push({key:{status:"valid",value:d},value:u._parse(new It(i,f,i.path,d)),alwaysSet:d in i.data})}if(this._def.catchall instanceof Ft){const d=this._def.unknownKeys;if(d==="passthrough")for(const u of a)l.push({key:{status:"valid",value:u},value:{status:"valid",value:i.data[u]}});else if(d==="strict")a.length>0&&($(i,{code:M.unrecognized_keys,keys:a}),r.dirty());else if(d!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const d=this._def.catchall;for(const u of a){const f=i.data[u];l.push({key:{status:"valid",value:u},value:d._parse(new It(i,f,i.path,u)),alwaysSet:u in i.data})}}return i.common.async?Promise.resolve().then(async()=>{const d=[];for(const u of l){const f=await u.key,m=await u.value;d.push({key:f,value:m,alwaysSet:u.alwaysSet})}return d}).then(d=>Qe.mergeObjectSync(r,d)):Qe.mergeObjectSync(r,l)}get shape(){return this._def.shape()}strict(t){return q.errToObj,new Oe({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(n,r)=>{var s,o;const i=((o=(s=this._def).errorMap)==null?void 0:o.call(s,n,r).message)??r.defaultError;return n.code==="unrecognized_keys"?{message:q.errToObj(t).message??i}:{message:i}}}:{}})}strip(){return new Oe({...this._def,unknownKeys:"strip"})}passthrough(){return new Oe({...this._def,unknownKeys:"passthrough"})}extend(t){return new Oe({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new Oe({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:oe.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new Oe({...this._def,catchall:t})}pick(t){const n={};for(const r of me.objectKeys(t))t[r]&&this.shape[r]&&(n[r]=this.shape[r]);return new Oe({...this._def,shape:()=>n})}omit(t){const n={};for(const r of me.objectKeys(this.shape))t[r]||(n[r]=this.shape[r]);return new Oe({...this._def,shape:()=>n})}deepPartial(){return dn(this)}partial(t){const n={};for(const r of me.objectKeys(this.shape)){const i=this.shape[r];t&&!t[r]?n[r]=i:n[r]=i.optional()}return new Oe({...this._def,shape:()=>n})}required(t){const n={};for(const r of me.objectKeys(this.shape))if(t&&!t[r])n[r]=this.shape[r];else{let s=this.shape[r];for(;s instanceof Ut;)s=s._def.innerType;n[r]=s}return new Oe({...this._def,shape:()=>n})}keyof(){return El(me.objectKeys(this.shape))}}Oe.create=(e,t)=>new Oe({shape:()=>e,unknownKeys:"strip",catchall:Ft.create(),typeName:oe.ZodObject,...de(t)});Oe.strictCreate=(e,t)=>new Oe({shape:()=>e,unknownKeys:"strict",catchall:Ft.create(),typeName:oe.ZodObject,...de(t)});Oe.lazycreate=(e,t)=>new Oe({shape:e,unknownKeys:"strip",catchall:Ft.create(),typeName:oe.ZodObject,...de(t)});class ei extends he{_parse(t){const{ctx:n}=this._processInputParams(t),r=this._def.options;function i(s){for(const a of s)if(a.result.status==="valid")return a.result;for(const a of s)if(a.result.status==="dirty")return n.common.issues.push(...a.ctx.common.issues),a.result;const o=s.map(a=>new bt(a.ctx.common.issues));return $(n,{code:M.invalid_union,unionErrors:o}),se}if(n.common.async)return Promise.all(r.map(async s=>{const o={...n,common:{...n.common,issues:[]},parent:null};return{result:await s._parseAsync({data:n.data,path:n.path,parent:o}),ctx:o}})).then(i);{let s;const o=[];for(const l of r){const d={...n,common:{...n.common,issues:[]},parent:null},u=l._parseSync({data:n.data,path:n.path,parent:d});if(u.status==="valid")return u;u.status==="dirty"&&!s&&(s={result:u,ctx:d}),d.common.issues.length&&o.push(d.common.issues)}if(s)return n.common.issues.push(...s.ctx.common.issues),s.result;const a=o.map(l=>new bt(l));return $(n,{code:M.invalid_union,unionErrors:a}),se}}get options(){return this._def.options}}ei.create=(e,t)=>new ei({options:e,typeName:oe.ZodUnion,...de(t)});function Ss(e,t){const n=Ct(e),r=Ct(t);if(e===t)return{valid:!0,data:e};if(n===z.object&&r===z.object){const i=me.objectKeys(t),s=me.objectKeys(e).filter(a=>i.indexOf(a)!==-1),o={...e,...t};for(const a of s){const l=Ss(e[a],t[a]);if(!l.valid)return{valid:!1};o[a]=l.data}return{valid:!0,data:o}}else if(n===z.array&&r===z.array){if(e.length!==t.length)return{valid:!1};const i=[];for(let s=0;s<e.length;s++){const o=e[s],a=t[s],l=Ss(o,a);if(!l.valid)return{valid:!1};i.push(l.data)}return{valid:!0,data:i}}else return n===z.date&&r===z.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}class ti extends he{_parse(t){const{status:n,ctx:r}=this._processInputParams(t),i=(s,o)=>{if(Ta(s)||Ta(o))return se;const a=Ss(s.value,o.value);return a.valid?((xa(s)||xa(o))&&n.dirty(),{status:n.value,value:a.data}):($(r,{code:M.invalid_intersection_types}),se)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([s,o])=>i(s,o)):i(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}}ti.create=(e,t,n)=>new ti({left:e,right:t,typeName:oe.ZodIntersection,...de(n)});class on extends he{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==z.array)return $(r,{code:M.invalid_type,expected:z.array,received:r.parsedType}),se;if(r.data.length<this._def.items.length)return $(r,{code:M.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),se;!this._def.rest&&r.data.length>this._def.items.length&&($(r,{code:M.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());const s=[...r.data].map((o,a)=>{const l=this._def.items[a]||this._def.rest;return l?l._parse(new It(r,o,r.path,a)):null}).filter(o=>!!o);return r.common.async?Promise.all(s).then(o=>Qe.mergeArray(n,o)):Qe.mergeArray(n,s)}get items(){return this._def.items}rest(t){return new on({...this._def,rest:t})}}on.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new on({items:e,typeName:oe.ZodTuple,rest:null,...de(t)})};class Na extends he{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==z.map)return $(r,{code:M.invalid_type,expected:z.map,received:r.parsedType}),se;const i=this._def.keyType,s=this._def.valueType,o=[...r.data.entries()].map(([a,l],d)=>({key:i._parse(new It(r,a,r.path,[d,"key"])),value:s._parse(new It(r,l,r.path,[d,"value"]))}));if(r.common.async){const a=new Map;return Promise.resolve().then(async()=>{for(const l of o){const d=await l.key,u=await l.value;if(d.status==="aborted"||u.status==="aborted")return se;(d.status==="dirty"||u.status==="dirty")&&n.dirty(),a.set(d.value,u.value)}return{status:n.value,value:a}})}else{const a=new Map;for(const l of o){const d=l.key,u=l.value;if(d.status==="aborted"||u.status==="aborted")return se;(d.status==="dirty"||u.status==="dirty")&&n.dirty(),a.set(d.value,u.value)}return{status:n.value,value:a}}}}Na.create=(e,t,n)=>new Na({valueType:t,keyType:e,typeName:oe.ZodMap,...de(n)});class er extends he{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==z.set)return $(r,{code:M.invalid_type,expected:z.set,received:r.parsedType}),se;const i=this._def;i.minSize!==null&&r.data.size<i.minSize.value&&($(r,{code:M.too_small,minimum:i.minSize.value,type:"set",inclusive:!0,exact:!1,message:i.minSize.message}),n.dirty()),i.maxSize!==null&&r.data.size>i.maxSize.value&&($(r,{code:M.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),n.dirty());const s=this._def.valueType;function o(l){const d=new Set;for(const u of l){if(u.status==="aborted")return se;u.status==="dirty"&&n.dirty(),d.add(u.value)}return{status:n.value,value:d}}const a=[...r.data.values()].map((l,d)=>s._parse(new It(r,l,r.path,d)));return r.common.async?Promise.all(a).then(l=>o(l)):o(a)}min(t,n){return new er({...this._def,minSize:{value:t,message:q.toString(n)}})}max(t,n){return new er({...this._def,maxSize:{value:t,message:q.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}}er.create=(e,t)=>new er({valueType:e,minSize:null,maxSize:null,typeName:oe.ZodSet,...de(t)});class Da extends he{get schema(){return this._def.getter()}_parse(t){const{ctx:n}=this._processInputParams(t);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}}Da.create=(e,t)=>new Da({getter:e,typeName:oe.ZodLazy,...de(t)});class Ra extends he{_parse(t){if(t.data!==this._def.value){const n=this._getOrReturnCtx(t);return $(n,{received:n.data,code:M.invalid_literal,expected:this._def.value}),se}return{status:"valid",value:t.data}}get value(){return this._def.value}}Ra.create=(e,t)=>new Ra({value:e,typeName:oe.ZodLiteral,...de(t)});function El(e,t){return new An({values:e,typeName:oe.ZodEnum,...de(t)})}class An extends he{_parse(t){if(typeof t.data!="string"){const n=this._getOrReturnCtx(t),r=this._def.values;return $(n,{expected:me.joinValues(r),received:n.parsedType,code:M.invalid_type}),se}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){const n=this._getOrReturnCtx(t),r=this._def.values;return $(n,{received:n.data,code:M.invalid_enum_value,options:r}),se}return rt(t.data)}get options(){return this._def.values}get enum(){const t={};for(const n of this._def.values)t[n]=n;return t}get Values(){const t={};for(const n of this._def.values)t[n]=n;return t}get Enum(){const t={};for(const n of this._def.values)t[n]=n;return t}extract(t,n=this._def){return An.create(t,{...this._def,...n})}exclude(t,n=this._def){return An.create(this.options.filter(r=>!t.includes(r)),{...this._def,...n})}}An.create=El;class ja extends he{_parse(t){const n=me.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==z.string&&r.parsedType!==z.number){const i=me.objectValues(n);return $(r,{expected:me.joinValues(i),received:r.parsedType,code:M.invalid_type}),se}if(this._cache||(this._cache=new Set(me.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){const i=me.objectValues(n);return $(r,{received:r.data,code:M.invalid_enum_value,options:i}),se}return rt(t.data)}get enum(){return this._def.values}}ja.create=(e,t)=>new ja({values:e,typeName:oe.ZodNativeEnum,...de(t)});class ni extends he{unwrap(){return this._def.type}_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==z.promise&&n.common.async===!1)return $(n,{code:M.invalid_type,expected:z.promise,received:n.parsedType}),se;const r=n.parsedType===z.promise?n.data:Promise.resolve(n.data);return rt(r.then(i=>this._def.type.parseAsync(i,{path:n.path,errorMap:n.common.contextualErrorMap})))}}ni.create=(e,t)=>new ni({type:e,typeName:oe.ZodPromise,...de(t)});class Ln extends he{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===oe.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){const{status:n,ctx:r}=this._processInputParams(t),i=this._def.effect||null,s={addIssue:o=>{$(r,o),o.fatal?n.abort():n.dirty()},get path(){return r.path}};if(s.addIssue=s.addIssue.bind(s),i.type==="preprocess"){const o=i.transform(r.data,s);if(r.common.async)return Promise.resolve(o).then(async a=>{if(n.value==="aborted")return se;const l=await this._def.schema._parseAsync({data:a,path:r.path,parent:r});return l.status==="aborted"?se:l.status==="dirty"||n.value==="dirty"?qn(l.value):l});{if(n.value==="aborted")return se;const a=this._def.schema._parseSync({data:o,path:r.path,parent:r});return a.status==="aborted"?se:a.status==="dirty"||n.value==="dirty"?qn(a.value):a}}if(i.type==="refinement"){const o=a=>{const l=i.refinement(a,s);if(r.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(r.common.async===!1){const a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return a.status==="aborted"?se:(a.status==="dirty"&&n.dirty(),o(a.value),{status:n.value,value:a.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(a=>a.status==="aborted"?se:(a.status==="dirty"&&n.dirty(),o(a.value).then(()=>({status:n.value,value:a.value}))))}if(i.type==="transform")if(r.common.async===!1){const o=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!On(o))return se;const a=i.transform(o.value,s);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:a}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(o=>On(o)?Promise.resolve(i.transform(o.value,s)).then(a=>({status:n.value,value:a})):se);me.assertNever(i)}}Ln.create=(e,t,n)=>new Ln({schema:e,typeName:oe.ZodEffects,effect:t,...de(n)});Ln.createWithPreprocess=(e,t,n)=>new Ln({schema:t,effect:{type:"preprocess",transform:e},typeName:oe.ZodEffects,...de(n)});class Ut extends he{_parse(t){return this._getType(t)===z.undefined?rt(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}Ut.create=(e,t)=>new Ut({innerType:e,typeName:oe.ZodOptional,...de(t)});class Nn extends he{_parse(t){return this._getType(t)===z.null?rt(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}Nn.create=(e,t)=>new Nn({innerType:e,typeName:oe.ZodNullable,...de(t)});class Ts extends he{_parse(t){const{ctx:n}=this._processInputParams(t);let r=n.data;return n.parsedType===z.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}}Ts.create=(e,t)=>new Ts({innerType:e,typeName:oe.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...de(t)});class xs extends he{_parse(t){const{ctx:n}=this._processInputParams(t),r={...n,common:{...n.common,issues:[]}},i=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return Jr(i)?i.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new bt(r.common.issues)},input:r.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new bt(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}}xs.create=(e,t)=>new xs({innerType:e,typeName:oe.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...de(t)});class Ma extends he{_parse(t){if(this._getType(t)!==z.nan){const r=this._getOrReturnCtx(t);return $(r,{code:M.invalid_type,expected:z.nan,received:r.parsedType}),se}return{status:"valid",value:t.data}}}Ma.create=e=>new Ma({typeName:oe.ZodNaN,...de(e)});class Vg extends he{_parse(t){const{ctx:n}=this._processInputParams(t),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}}class Xs extends he{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.common.async)return(async()=>{const s=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return s.status==="aborted"?se:s.status==="dirty"?(n.dirty(),qn(s.value)):this._def.out._parseAsync({data:s.value,path:r.path,parent:r})})();{const i=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return i.status==="aborted"?se:i.status==="dirty"?(n.dirty(),{status:"dirty",value:i.value}):this._def.out._parseSync({data:i.value,path:r.path,parent:r})}}static create(t,n){return new Xs({in:t,out:n,typeName:oe.ZodPipeline})}}class ks extends he{_parse(t){const n=this._def.innerType._parse(t),r=i=>(On(i)&&(i.value=Object.freeze(i.value)),i);return Jr(n)?n.then(i=>r(i)):r(n)}unwrap(){return this._def.innerType}}ks.create=(e,t)=>new ks({innerType:e,typeName:oe.ZodReadonly,...de(t)});var oe;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(oe||(oe={}));const Wi=jt.create,Or=En.create,Hg=vs.create;Ft.create;ft.create;const zg=Oe.create;ei.create;ti.create;on.create;An.create;ni.create;Ut.create;Nn.create;const qg="https://api.opheleo.com",Kg="Bearer ",Gg="Authorization";zg({id:Wi(),userId:Wi(),createdAt:Or(),updatedAt:Or(),active:Hg(),perDayUsage:Or(),userEmail:Wi().email(),maxPerDayUsage:Or()});async function Qg(e,t,n){const r=typeof window<"u"?localStorage.getItem("session_token"):null;return(await Se({baseURL:Cn(n??qg),url:e,method:t,headers:r?{[Gg]:`${Kg}${r}`}:void 0})).data}async function Zg(e){return Qg("/iccandle/v1/iccandle-user-usage/me","get",e)}const Yg=e=>{const t=e==null?void 0:e.platformApiBase;return yg({queryKey:["iccandle-user-usage",t],queryFn:()=>Zg(t),...e})},Jg=p.createContext(null);function Xg(){const e=p.useContext(Jg);if(!e)throw new Error("useTheme must be used within ThemeProvider");return e}function ey({controlsRef:e,onSymbolTickerChange:t,onScanResultUrlChange:n,onChartWidgetChange:r,onChartContainerChange:i,selectSymbolTickerRef:s,headerSlot:o}){const{resolvedTheme:a}=Xg(),l=nt(),d=yr(),u=p.useRef([]),f=p.useRef(null),m=p.useRef(a),h=p.useRef(null),b=p.useRef(null),v=p.useMemo(()=>Yr(d),[d]),_=p.useRef(v),g=p.useRef("60"),{setGapCount:T,setReplayMode:x}=kl();p.useEffect(()=>{T(0),x(!1)},[T,x]),p.useEffect(()=>{Mr()&&E(!0)},[]);const[y,O]=p.useState(null),[C,E]=p.useState(!1),[k,U]=p.useState(null),F=p.useCallback(j=>{if(j===_.current)return;const A=d.find(R=>R.ticker===j);if(!A)return;_.current=j,localStorage.setItem(un,j),t(j);const W=f.current;if(W)try{W.onChartReady(()=>{W.activeChart().setSymbol(A.ticker)})}catch{}},[t,d]);p.useEffect(()=>(s.current=F,()=>{s.current=null}),[F,s]);const H=p.useRef([]),L=p.useMemo(()=>new lg(H,"selector",d,l.tickWebSocketUrl),[l.tickWebSocketUrl,d]),{data:Q,isLoading:K}=Yg({enabled:!0,platformApiBase:l.platformApiBase}),re=!K&&Q?Q.perDayUsage>=Q.maxPerDayUsage:!1;p.useEffect(()=>{i(y)},[y,i]),p.useEffect(()=>{r(k)},[k,r]),p.useEffect(()=>{if(!C||!y)return;if(f.current){U(null),r(null);try{f.current.remove()}catch{}f.current=null}const j=Yr(d);_.current=j,g.current="60";const A=xl();if(!A)return;const W=new A({container:y,library_path:"/charting_library/",datafeed:L,symbol:j,interval:"60",autosize:!0,theme:m.current,disabled_features:["symbol_info","legend_inplace_edit","header_quick_search","header_compare"],enabled_features:["header_chart_type","show_symbol_logos","show_symbol_logo_in_legend"],custom_indicators_getter:()=>dg(u),drawings_access:{type:"black",tools:[{name:"Date Range"}]},locale:"en",timezone:vd(),overrides:{priceScaleSelectionStrategyName:"right","scalesProperties.showSeriesLastValue":!0}});let R=!1;return f.current=W,W.onChartReady(()=>{R||f.current!==W||U(W)}),()=>{if(R=!0,U(null),r(null),f.current){try{f.current.remove()}catch{}f.current=null}}},[y,L,r,C]),p.useEffect(()=>{if(!k)return;let j=!1;try{k.onChartReady(()=>{j||(async()=>{try{const A=k.activeChart(),W=await A.createStudy("Generated Candles - By iC Candle",!0,!0);if(j||(W&&A.bringToFront([W]),await k.headerReady(),j)||(await new Promise(ae=>{setTimeout(()=>{if(!j)try{A.clearMarks(2)}catch{}ae(!0)},150)}),j))return;localStorage.setItem("tv:selected-news-events","[]"),A.refreshMarks();const R=ae=>{const ce=A.symbol(),ie=ps(ce,d,v);ie!==_.current&&(n(null),u.current=[]);try{k.resetCache()}catch{}_.current=ie,localStorage.setItem(un,ie),t(ie)},G=ae=>{ae!==g.current&&(n(null),u.current=[]);try{k.resetCache()}catch{}g.current=ae};h.current=R,b.current=G,A.onSymbolChanged().subscribe(null,R),A.onIntervalChanged().subscribe(null,G)}catch{}})()})}catch{}return()=>{j=!0,h.current=null,b.current=null}},[k,e,n,t,v,d]),p.useEffect(()=>{if(!k||!a)return;let j=!1;try{k.onChartReady(()=>{j||k.changeTheme(a).catch(()=>{})})}catch{}return()=>{j=!0}},[k,a]);const P=p.useCallback(()=>{E(!0)},[]),D=re?c.jsx("div",{className:"web-trading-widget-advanced__scan-limit-wrap",children:c.jsxs(Xp,{variant:"destructive",className:"web-trading-widget-advanced__scan-limit-badge",children:[c.jsx("span",{className:"web-trading-widget-advanced__scan-limit-badge-title",children:"Daily scan limit reached"}),Q&&c.jsxs("span",{className:"web-trading-widget-advanced__scan-limit-badge-count",children:[Q.perDayUsage," of ",Q.maxPerDayUsage," scans used today"]})]})}):null;return c.jsxs(c.Fragment,{children:[o??D,c.jsx(eg,{onLoad:P}),c.jsx("div",{ref:O,className:"web-trading-widget-advanced__container"})]})}const Al=p.createContext(null);function Ua({value:e,children:t}){return c.jsx(Al.Provider,{value:e,children:t})}function ty(){const e=p.useContext(Al);if(!e)throw new Error("useWidgetChartSlot must be used within WidgetChartSlotProvider");return e}function Er(e,t){return e.toFixed(t)}function ny({symbolTicker:e,bid:t,ask:n,defaultVolumeLots:r,volumeStep:i,minVolumeLots:s,isSubmitting:o,isAccountsLoading:a,selectedLogin:l,isDragging:d,isCollapsed:u,onToggleCollapsed:f,onDragHandlePointerDown:m,onPlaceOrder:h}){const{t:b}=Te(),[v,_]=p.useState(!0),g=u??v,T=()=>{f==null||f(),u===void 0&&_(D=>!D)},x=ne(D=>D.setOrderSide),y=ne(D=>D.setVolumeLots),O=ne(D=>D.volumeLots),[C,E]=p.useState(String(O||r));p.useEffect(()=>{g||E(Er(O,2))},[g,O]);const k=Number(wt(vt(e))),U=t!==null?pe(t,k):"—",F=n!==null?pe(n,k):"—",L=!o&&!a&&l!==""&&(t!==null&&n!==null),Q=D=>{const j=Number(C),A=Number.isFinite(j)&&j>0?j:r,W=Math.max(s,A+D*i),R=Er(W,2);E(R),y(W)},K=()=>{const D=Number(C);if(!Number.isFinite(D)||D<=0){E(Er(r,2)),y(r);return}const j=Math.max(s,D),A=Er(j,2);E(A),y(j)},re=D=>{t===null||n===null||x({side:D,entryPrice:D==="buy"?n:t})},P=D=>{if(t===null||n===null||!l)return;const j=Number(C),A=Math.max(s,Number.isFinite(j)&&j>0?j:r);x({side:D,entryPrice:D==="buy"?n:t}),h({login:l,side:D,volumeLots:A,bid:t,ask:n})};return c.jsx("div",{className:"web-trading-widget-mini-order web-trading-widget-mini-order--expanded",children:c.jsxs("div",{className:"web-trading-widget-mini-order__row",children:[c.jsx("button",{type:"button","aria-label":b("WebTrading.moveQuickOrderPanel"),onPointerDown:m,className:`web-trading-widget-mini-order__drag-handle${d?" web-trading-widget-mini-order__drag-handle--grabbing":""}`,children:c.jsx(ec,{className:"web-trading-widget-icon web-trading-widget-icon--sm",strokeWidth:2})}),c.jsxs(c.Fragment,{children:[c.jsxs("button",{type:"button",disabled:!L,className:"web-trading-widget-mini-order__side-btn web-trading-widget-mini-order__side-btn--sell",onMouseDown:()=>re("sell"),onClick:()=>P("sell"),children:[c.jsx("span",{className:"web-trading-widget-mini-order__price",children:U}),c.jsx("span",{className:"web-trading-widget-mini-order__label web-trading-widget-mini-order__label--sell",children:b("WebTrading.sell").toUpperCase()})]}),c.jsxs("div",{className:"web-trading-widget-mini-order__volume",children:[c.jsx("button",{type:"button","aria-label":b("WebTrading.decreaseVolume"),disabled:!L,className:"web-trading-widget-mini-order__volume-btn",onClick:()=>Q(-1),children:c.jsx(Br,{className:"web-trading-widget-icon web-trading-widget-icon--xs",strokeWidth:2.5})}),c.jsx("input",{type:"text",inputMode:"decimal",value:C,disabled:!L,onChange:D=>E(D.target.value),onBlur:K,className:"web-trading-widget-mini-order__volume-input"}),c.jsx("button",{type:"button","aria-label":b("WebTrading.increaseVolume"),disabled:!L,className:"web-trading-widget-mini-order__volume-btn",onClick:()=>Q(1),children:c.jsx($i,{className:"web-trading-widget-icon web-trading-widget-icon--xs",strokeWidth:2.5})})]}),c.jsxs("button",{type:"button",disabled:!L,className:"web-trading-widget-mini-order__side-btn web-trading-widget-mini-order__side-btn--buy",onMouseDown:()=>re("buy"),onClick:()=>P("buy"),children:[c.jsx("span",{className:"web-trading-widget-mini-order__label web-trading-widget-mini-order__label--buy",children:b("WebTrading.buy").toUpperCase()}),c.jsx("span",{className:"web-trading-widget-mini-order__price",children:F})]})]}),c.jsx("button",{type:"button","aria-label":b(g?"WebTrading.expandQuickOrderPanel":"WebTrading.collapseQuickOrderPanel"),"aria-expanded":!g,className:"web-trading-widget-mini-order__toggle",onClick:T,children:g?c.jsx(Br,{className:"web-trading-widget-icon web-trading-widget-icon--sm",strokeWidth:2.5}):c.jsx($i,{className:"web-trading-widget-icon web-trading-widget-icon--sm",strokeWidth:2.5})})]})})}const ry=new Set(["volume-setting","risk-management"]);function iy({symbolTicker:e,bid:t,ask:n,defaultVolumeLots:r,volumeStep:i,minVolumeLots:s,isSubmitting:o,isAccountsLoading:a,selectedLogin:l,isDragging:d,onDragHandlePointerDown:u,onLayoutChange:f,onClose:m,onPlaceOrder:h}){const{t:b}=Te(),[v,_]=p.useState(!0),[g,T]=p.useState("market"),x=ne(X=>X.volumeLots),[y,O]=p.useState(String(x||r)),[C,E]=p.useState(""),[k,U]=p.useState(""),F=ne(X=>X.stopLoss),H=ne(X=>X.takeProfit),L=ne(X=>X.setStopLoss),Q=ne(X=>X.setTakeProfit),K=ne(X=>X.setVolumeLots),re=ne(X=>X.setOrderSide),[P,D]=p.useState(""),[j,A]=p.useState(We.GTC),[W,R]=p.useState(""),[G,ae]=p.useState(""),[ce,ie]=p.useState(()=>new Set(ry));p.useEffect(()=>{f()},[v,f]);const N=Number(wt(vt(e))),Z=Dn(N),te=Rs(t,n),ve=t!==null?pe(t,N):"—",Re=n!==null?pe(n,N):"—",be=ai(g),Pe=ic(g),Ce=oi(g),V=b(Vr[g]),we=!be&&Ce.orderType!==null&&Ce.orderType%2===1,Y=p.useMemo(()=>te!==null?te:t??n,[n,t,te]),_e=X=>{ie(qe=>{const Tt=new Set(qe);return Tt.has(X)?Tt.delete(X):Tt.add(X),Tt})},je=X=>{O(X);const qe=Number(X);Number.isFinite(qe)&&qe>0&&K(qe)},Ze=X=>t===null||n===null?null:be?X==="buy"?n:t:Le(C)??(X==="buy"?n:t),an=X=>{const qe=Ze(X);qe!==null&&re({side:X,entryPrice:qe})},Un=X=>{if(t===null||n===null||!l)return;const qe=Math.max(s,Number(y)||s),Tt=Vi(g,X),In=Ze(X);In!==null&&re({side:X,entryPrice:In}),h({login:l,executionMode:g,side:X,orderType:Tt,volumeLots:qe,stopLoss:F,takeProfit:H,priceOrder:C,priceTrigger:k,comment:P,typeTime:j,expirationDateTime:W,expirationDay:G,bid:t,ask:n})},it=t!==null&&n!==null,yi=be||Le(C)!==void 0,bi=!Pe||Le(k)!==void 0,J=be||li(j,W,G),Ye=!o&&!a&&l!==""&&it&&yi&&bi&&J,St=!be&&Ls(j),br=!be&&Ns(j),to=()=>Ce.orderType!==null&&Ce.orderType%2===1?"sell":"buy";return c.jsxs("div",{className:`web-trading-widget-market-panel web-trading-widget-market-panel--modal${v?" web-trading-widget-market-panel--collapsed":""}`,children:[c.jsx(ny,{symbolTicker:e,bid:t,ask:n,defaultVolumeLots:r,volumeStep:i,minVolumeLots:s,isSubmitting:o,isAccountsLoading:a,selectedLogin:l,isDragging:d,isCollapsed:v,onToggleCollapsed:()=>_(X=>!X),onDragHandlePointerDown:u,onPlaceOrder:({login:X,side:qe,volumeLots:Tt,bid:In,ask:no})=>{In===null||no===null||h({login:X,executionMode:"market",side:qe,orderType:Vi("market",qe),volumeLots:Tt,stopLoss:F,takeProfit:H,priceOrder:"",priceTrigger:"",comment:P,typeTime:j,expirationDateTime:"",expirationDay:"",bid:In,ask:no})}}),v?null:c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"web-trading-widget-market-panel__header",children:c.jsx("select",{value:g,className:"web-trading-widget-market-panel__select-trigger","aria-label":b("WebTrading.orderExecutionType"),onChange:X=>T(X.target.value),children:Wr.map(X=>c.jsx("option",{value:X.mode,children:b(Vr[X.mode])},X.mode))})}),c.jsxs("div",{className:"web-trading-widget-market-panel__accordion",children:[c.jsx(ut,{title:b("WebTrading.volumeSetting"),isOpen:ce.has("volume-setting"),onToggle:()=>_e("volume-setting"),children:c.jsx(ke,{label:b("WebTrading.lots"),value:y,onChange:je,step:i,min:s,decimals:2})}),be?null:c.jsx(ut,{title:b("WebTrading.orderPrice"),isOpen:ce.has("order-price"),onToggle:()=>_e("order-price"),children:Pe?c.jsxs(c.Fragment,{children:[c.jsx(ke,{label:b("WebTrading.stopPrice"),value:k,onChange:U,step:Z,decimals:N,basePrice:Y,placeholder:te!==null?pe(te,N):"—"}),c.jsx(ke,{label:b("WebTrading.limitPrice"),value:C,onChange:E,step:Z,decimals:N,basePrice:Y,placeholder:te!==null?pe(te,N):"—"})]}):c.jsx(ke,{label:b("WebTrading.price"),value:C,onChange:E,step:Z,decimals:N,basePrice:Y,placeholder:te!==null?pe(te,N):"—"})}),c.jsx(ut,{title:b("WebTrading.riskManagement"),isOpen:ce.has("risk-management"),onToggle:()=>_e("risk-management"),children:c.jsxs("div",{className:"web-trading-widget-market-panel__grid-2",children:[c.jsx(ke,{label:b("WebTrading.stopLoss"),value:F,onChange:L,step:Z,decimals:N,basePrice:t,placeholder:t!==null?ve:"—",clearable:!0}),c.jsx(ke,{label:b("WebTrading.takeProfit"),value:H,onChange:Q,step:Z,decimals:N,basePrice:n,placeholder:n!==null?Re:"—",clearable:!0})]})}),be?null:c.jsxs(ut,{title:b("WebTrading.expiration"),isOpen:ce.has("expiration"),onToggle:()=>_e("expiration"),children:[c.jsx("select",{value:String(j),className:"web-trading-widget-market-panel__select-full","aria-label":b("WebTrading.orderExpirationType"),onChange:X=>A(Number(X.target.value)),children:sc.map(X=>c.jsx("option",{value:String(X.value),children:b(oc[X.value])},X.value))}),St?c.jsxs("div",{className:"web-trading-widget-market-panel__field",children:[c.jsx("span",{className:"web-trading-widget-market-panel__field-label",children:b("WebTrading.expirationTime")}),c.jsx("input",{type:"datetime-local",value:W,className:"web-trading-widget-market-panel__input",onChange:X=>R(X.target.value)})]}):null,br?c.jsxs("div",{className:"web-trading-widget-market-panel__field",children:[c.jsx("span",{className:"web-trading-widget-market-panel__field-label",children:b("WebTrading.expirationDay")}),c.jsx("input",{type:"date",value:G,className:"web-trading-widget-market-panel__input",onChange:X=>ae(X.target.value)})]}):null]}),c.jsx(ut,{title:b("WebTrading.comment"),isOpen:ce.has("comment"),onToggle:()=>_e("comment"),children:c.jsx("input",{type:"text",value:P,className:"web-trading-widget-market-panel__input",placeholder:"",onChange:X=>D(X.target.value)})})]}),c.jsx("div",{className:"web-trading-widget-market-panel__footer",children:c.jsxs("div",{className:"web-trading-widget-market-panel__quotes",children:[c.jsx("span",{children:ve}),c.jsx("span",{className:"web-trading-widget-market-panel__quotes-ask",children:Re})]})}),!be&&c.jsx("button",{type:"button",className:`web-trading-widget-market-panel__place-btn${we?" web-trading-widget-market-panel__place-btn--sell":" web-trading-widget-market-panel__place-btn--buy"}`,disabled:!Ye,onMouseDown:()=>an(to()),onClick:()=>Un(to()),children:b("WebTrading.placeOrder",{label:V})})]})]})}function sy({symbolTicker:e,chartWidget:t,orderState:n}){const r=yr(),i=Vs(e),{panel:s,confirmation:o,isSubmitting:a,defaultVolumeLots:l,volumeStep:d,minVolumeLots:u,selectedLogin:f,isAccountsLoading:m,hasConfirmedAccount:h,closePanels:b,dismissConfirmation:v,placeMarketOrder:_}=n,g=le(R=>R.positions),T=le(R=>R.orders),x=le(R=>R.selectedPositionTicket),y=le(R=>R.selectedOrderTicket),O=le(R=>R.setSelectedPositionTicket),C=le(R=>R.setSelectedOrderTicket),E=x!==null?g.find(R=>R.ticket===x)??null:null,k=y!==null?T.find(R=>R.ticket===y)??null:null,U=E!==null||k!==null,F=h&&s==="confirmation"&&o!==null,H=h&&s!=="confirmation"&&s!=="closed"&&E===null&&k===null,{panelRef:L,position:Q,isDragging:K,onDragStart:re,reclamp:P}=uc({storageKey:"web-trading-widget-modal-exec-panel-position",defaultAlign:"top-right",isActive:H}),D=ne(R=>R.setDraft),j=ne(R=>R.clearDraft),A=Number(wt(vt(e))),W=Dn(A);return p.useEffect(()=>{if(h&&!U){if(s==="closed"||s==="confirmation"){j();return}D({source:"new-order",symbolKey:ar(e,r),entryPrice:null,side:null,showEntryLine:!1,stopLoss:"",takeProfit:"",volumeLots:l,digits:A,priceStep:W})}},[j,l,A,h,s,W,D,U,e,r]),!h&&!U?null:c.jsxs("div",{className:"web-trading-widget-new-order-overlay-layer",children:[c.jsx(Yc,{chartWidget:t,symbolTicker:e,symbols:r}),U&&E!==null?c.jsx("div",{className:"web-trading-widget-new-order-overlay web-trading-widget-new-order-overlay--news web-trading-widget-new-order-overlay--side-panel",children:c.jsx(Tl,{position:E,onClose:()=>O(null)})}):null,U&&k!==null?c.jsx("div",{className:"web-trading-widget-new-order-overlay web-trading-widget-new-order-overlay--news web-trading-widget-new-order-overlay--side-panel",children:c.jsx(Sl,{order:k,onClose:()=>C(null)})}):null,F&&o!==null?c.jsx("div",{className:"web-trading-widget-new-order-overlay web-trading-widget-new-order-overlay--news",children:c.jsx(vl,{confirmation:o,symbolTicker:e,onDismiss:v})}):null,H?c.jsx("div",{ref:L,style:{left:Q.x,top:Q.y},className:`web-trading-widget-new-order-overlay web-trading-widget-new-order-overlay--news web-trading-widget-new-order-overlay--draggable web-trading-widget-new-order-overlay--exec-panel${K?" web-trading-widget-new-order-overlay--dragging":""}`,children:c.jsx(iy,{symbolTicker:e,bid:(i==null?void 0:i.bid)??null,ask:(i==null?void 0:i.ask)??null,defaultVolumeLots:l,volumeStep:d,minVolumeLots:u,isSubmitting:a,isAccountsLoading:m,selectedLogin:f,isDragging:K,onDragHandlePointerDown:re,onLayoutChange:P,onClose:b,onPlaceOrder:R=>void _({symbolTicker:e,login:R.login,executionMode:R.executionMode,side:R.side,orderType:R.orderType,volumeLots:R.volumeLots,stopLoss:R.stopLoss,takeProfit:R.takeProfit,priceOrder:R.priceOrder,priceTrigger:R.priceTrigger,comment:R.comment,typeTime:R.typeTime,expirationDateTime:R.expirationDateTime,expirationDay:R.expirationDay,bid:R.bid,ask:R.ask})})}):null]})}const oy=`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" aria-hidden="true">
|
|
42
|
+
`+s)}}catch{}}throw r}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=sn(this.defaults,n);const{transitional:r,paramsSerializer:i,headers:s}=n;r!==void 0&&Nr.assertOptions(r,{silentJSONParsing:Me.transitional(Me.boolean),forcedJSONParsing:Me.transitional(Me.boolean),clarifyTimeoutError:Me.transitional(Me.boolean),legacyInterceptorReqResOrdering:Me.transitional(Me.boolean),advertiseZstdAcceptEncoding:Me.transitional(Me.boolean),validateStatusUndefinedResolves:Me.transitional(Me.boolean)},!1),i!=null&&(S.isFunction(i)?n.paramsSerializer={serialize:i}:Nr.assertOptions(i,{encode:Me.function,serialize:Me.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),Nr.assertOptions(n,{baseUrl:Me.spelling("baseURL"),withXsrfToken:Me.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let o=s&&S.merge(s.common,s[n.method]);s&&S.forEach(["delete","get","head","post","put","patch","query","common"],b=>{delete s[b]}),n.headers=Fe.concat(o,s);const a=[];let l=!0;this.interceptors.request.forEach(function(v){if(typeof v.runWhen=="function"&&v.runWhen(n)===!1)return;l=l&&v.synchronous;const w=n.transitional||Fs;w&&w.legacyInterceptorReqResOrdering?a.unshift(v.fulfilled,v.rejected):a.push(v.fulfilled,v.rejected)});const d=[];this.interceptors.response.forEach(function(v){d.push(v.fulfilled,v.rejected)});let u,f=0,m;if(!l){const b=[Mo.bind(this),void 0];for(b.unshift(...a),b.push(...d),m=b.length,u=Promise.resolve(n);f<m;)u=u.then(b[f++],b[f++]);return u}m=a.length;let h=n;for(;f<m;){const b=a[f++],v=a[f++];try{h=b(h)}catch(w){v.call(this,w);break}}try{u=Mo.call(this,h)}catch(b){return Promise.reject(b)}for(f=0,m=d.length;f<m;)u=u.then(d[f++],d[f++]);return u}getUri(t){t=sn(this.defaults,t);const n=Dc(t.baseURL,t.url,t.allowAbsoluteUrls,t);return Oc(n,t.params,t.paramsSerializer)}};S.forEach(["delete","get","head","options"],function(t){Xt.prototype[t]=function(n,r){return this.request(sn(r||{},{method:t,url:n,data:r&&S.hasOwnProp(r,"data")?r.data:void 0}))}});S.forEach(["post","put","patch","query"],function(t){function n(r){return function(s,o,a){return this.request(sn(a||{},{method:t,headers:r?{"Content-Type":"multipart/form-data"}:{},url:s,data:o}))}}Xt.prototype[t]=n(),t!=="query"&&(Xt.prototype[t+"Form"]=n(!0))});let hh=class Uc{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let n;this.promise=new Promise(function(s){n=s});const r=this;this.promise.then(i=>{if(!r._listeners)return;let s=r._listeners.length;for(;s-- >0;)r._listeners[s](i);r._listeners=null}),this.promise.then=i=>{let s;const o=new Promise(a=>{r.subscribe(a),s=a}).then(i);return o.cancel=function(){r.unsubscribe(s)},o},t(function(s,o,a){r.reason||(r.reason=new fr(s,o,a),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const t=new AbortController,n=r=>{t.abort(r)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new Uc(function(i){t=i}),cancel:t}}};function mh(e){return function(n){return e.apply(null,n)}}function ph(e){return S.isObject(e)&&e.isAxiosError===!0}const Ki={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(Ki).forEach(([e,t])=>{Ki[t]=e});function Ic(e){const t=new Xt(e),n=mc(Xt.prototype.request,t);return S.extend(n,Xt.prototype,t,{allOwnKeys:!0}),S.extend(n,t,null,{allOwnKeys:!0}),n.create=function(i){return Ic(sn(e,i))},n}const Se=Ic(ur);Se.Axios=Xt;Se.CanceledError=fr;Se.CancelToken=hh;Se.isCancel=Lc;Se.VERSION=Ws;Se.toFormData=fi;Se.AxiosError=I;Se.Cancel=Se.CanceledError;Se.all=function(t){return Promise.all(t)};Se.spread=mh;Se.isAxiosError=ph;Se.mergeConfig=sn;Se.AxiosHeaders=Fe;Se.formToJSON=e=>Ac(S.isHTMLForm(e)?new FormData(e):e);Se.getAdapter=Mc.getAdapter;Se.HttpStatusCode=Ki;Se.default=Se;const{Axios:jy,AxiosError:My,CanceledError:Uy,isCancel:Iy,CancelToken:Fy,VERSION:By,all:Wy,Cancel:$y,isAxiosError:Fc,spread:Vy,toFormData:Hy,AxiosHeaders:zy,HttpStatusCode:qy,formToJSON:Ky,getAdapter:Gy,mergeConfig:Qy,create:Zy}=Se,gh="Bearer ",Bc="web-trading-token";function yh(){return typeof window>"u"?null:localStorage.getItem(Bc)}function Cn(e){return e.replace(/\/$/,"")}function Io(e){const t=Cn(e);async function n(r){const i=yh();return(await Se({...r,baseURL:t,headers:{...r.headers??{},...i?{Authorization:`${gh}${i}`}:{}}})).data}return{get(r,i){return n({...i,url:r,method:"get"})},post(r,i,s){return n({...s,url:r,method:"post",data:i})}}}function Fo(e){return!e.isDemo&&!e.isArchive&&!!e.tradeStat}function bh(e){const t=e.filter(n=>Fo(n)&&n.platformType==="mt5");return t.length>0?t:e.filter(Fo)}function wh(e){const t=e,n=(t==null?void 0:t.accounts)??[];return bh(n).map(r=>{var i,s,o,a,l;return{id:r.id,login:String(r.login),label:`${r.displayTitle} · ${r.login}`,currency:r.currency,tradeStat:{balance:((i=r.tradeStat)==null?void 0:i.balance)??0,equity:((s=r.tradeStat)==null?void 0:s.equity)??0,margin:((o=r.tradeStat)==null?void 0:o.margin)??0,marginFree:((a=r.tradeStat)==null?void 0:a.marginFree)??0,marginLevel:(l=r.tradeStat)==null?void 0:l.marginLevel}}})}function _h(e){try{const t=new URL(Cn(e));return t.hostname.includes("webtrade.")?(t.hostname=t.hostname.replace("webtrade.","api."),t.origin):(t.hostname.startsWith("webtrade")&&(t.hostname=t.hostname.replace(/^webtrade/,"api")),t.origin)}catch{return Cn(e)}}function vh(e){try{const t=new URL(Cn(e));return t.protocol=t.protocol==="https:"?"wss:":"ws:",t.origin}catch{return""}}function Sh(e,t){const n=Cn(e),r=Io(n),i=_h(n),s=Io(i),o=du(r),a=Bt,l=(t==null?void 0:t.trim())||vh(n);return{baseUrl:n,platformApiBase:i,tickWebSocketUrl:l,dealer:o,trading:gu(o,a),async getAccounts(){const d=await s.get("/account-config/api/v1");return wh(d)}}}const Wc=p.createContext(null);function $c({baseUrl:e,tickWebSocketUrl:t,children:n}){const r=p.useMemo(()=>Sh(e,t),[e,t]);return c.jsx(Wc.Provider,{value:r,children:n})}function nt(){const e=p.useContext(Wc);if(!e)throw new Error("useWidgetApiClient must be used within WidgetApiProvider");return e}function Vc(){return nt().tickWebSocketUrl}function Vs(e){const[t,n]=p.useState(null),r=Vc();return p.useEffect(()=>{n(null);const i=ci(e).toUpperCase();let s=null,o=!1;const a=r,l=()=>{s=new WebSocket(a),s.onopen=()=>{if(o){s==null||s.close(1e3,"Unmounted");return}s==null||s.send(JSON.stringify({action:"select_symbol",symbol:i}))},s.onmessage=d=>{var u;try{const f=JSON.parse(d.data);if(((u=f.symbol)==null?void 0:u.trim().toUpperCase())!==i)return;const h=Number(f.bid),b=Number(f.ask);if(!Number.isFinite(h)||!Number.isFinite(b))return;n({bid:h,ask:b})}catch{}},s.onclose=()=>{o||setTimeout(l,3e3)}};return l(),()=>{o=!0,s==null||s.close(1e3,"Unmounted")}},[e,r]),t}function Th(e,t){const n=Number(e),r=Number(t);return Number.isFinite(n)&&Number.isFinite(r)&&n!==r?n-r:e.localeCompare(t,void 0,{numeric:!0})}function xh(e,t){return e.openTimeMs!==t.openTimeMs?e.openTimeMs-t.openTimeMs:Th(e.ticket,t.ticket)}function Bo(e){return[...e].sort(xh)}function Wo(e){return Ne(e).toUpperCase()}const le=di(e=>({positions:[],orders:[],liveQuotes:{},selectedLogin:"",selectedPositionTicket:null,selectedOrderTicket:null,setSelectedLogin:t=>{e({selectedLogin:t})},setSelectedPositionTicket:t=>{e(n=>({selectedPositionTicket:t,selectedOrderTicket:t!==null?null:n.selectedOrderTicket}))},setSelectedOrderTicket:t=>{e(n=>({selectedOrderTicket:t,selectedPositionTicket:t!==null?null:n.selectedPositionTicket}))},setPositions:t=>{e({positions:Bo(t)})},setOrders:t=>{e({orders:Bo(t)})},removePosition:t=>{e(n=>({positions:n.positions.filter(r=>r.ticket!==t),selectedPositionTicket:n.selectedPositionTicket===t?null:n.selectedPositionTicket}))},removeOrder:t=>{e(n=>({orders:n.orders.filter(r=>r.ticket!==t),selectedOrderTicket:n.selectedOrderTicket===t?null:n.selectedOrderTicket}))},updateQuotes:(t,n,r)=>{const i=Wo(t);e(s=>{const o={...s.liveQuotes,[i]:{bid:n,ask:r}};return{liveQuotes:o,positions:s.positions.map(a=>Ad(a,i,n,r,o)),orders:s.orders.map(a=>{if(Wo(a.symbol)!==i)return a;const l=a.side==="buy"?n:r;return{...a,currentPrice:l,marketBid:n,marketAsk:r}})}})},clearPositions:()=>{e({positions:[],orders:[],liveQuotes:{}})}}));function kh({symbolTicker:e,symbols:t,sidePanelTab:n,orderState:r,backUrl:i,createAccountUrl:s}){const o=Vs(e),{panelRef:a,position:l,isDragging:d,onDragStart:u,reclamp:f}=dc(),{panel:m,isSubmitting:h,defaultVolumeLots:b,volumeStep:v,minVolumeLots:w,accountOptions:g,selectedLogin:T,isAccountsLoading:x,hasConfirmedAccount:y,needsAccountSelection:O,confirmAccountSelection:C,placeMarketOrder:E}=r,k=ne(P=>P.setDraft),U=ne(P=>P.clearDraft),F=le(P=>P.selectedPositionTicket),H=le(P=>P.selectedOrderTicket),L=F!==null||H!==null,Q=Number(wt(_t(e))),K=Dn(Q);p.useEffect(()=>{if(y&&!L){if(m==="closed"||m==="confirmation"){U();return}k({source:"new-order",symbolKey:ar(e,t),entryPrice:null,side:null,showEntryLine:!1,stopLoss:"",takeProfit:"",volumeLots:b,digits:Q,priceStep:K})}},[U,b,Q,y,L,m,K,k,e,t]);const re=P=>{E({symbolTicker:e,login:P.login,executionMode:"market",side:P.side,orderType:P.side==="buy"?He.BUY:He.SELL,volumeLots:P.volumeLots,stopLoss:"",takeProfit:"",priceOrder:"",priceTrigger:"",comment:"",typeTime:We.GTC,expirationDateTime:"",expirationDay:"",bid:P.bid,ask:P.ask})};return c.jsxs(c.Fragment,{children:[c.jsx(Ya,{open:O,isAccountsLoading:x,accountOptions:g,onConfirm:C,backUrl:i,createAccountUrl:s}),y&&c.jsx("div",{ref:a,style:{left:l.x,top:l.y},className:`web-trading-widget-new-order-overlay${d?" web-trading-widget-new-order-overlay--dragging":""}`,children:c.jsx(Qd,{symbolTicker:e,bid:(o==null?void 0:o.bid)??null,ask:(o==null?void 0:o.ask)??null,defaultVolumeLots:b,volumeStep:v,minVolumeLots:w,isSubmitting:h,isAccountsLoading:x,selectedLogin:T,isDragging:d,sidePanelTab:n,onDragHandlePointerDown:u,onExpandedChange:f,onExpand:f,onPlaceOrder:re})})]})}function Ph(e,t){const n=new Set;for(const r of e){const i=Ne(r.symbol).toUpperCase();i&&n.add(i)}for(const r of t){const i=Ne(r.symbol).toUpperCase();i&&n.add(i)}for(const r of Od([...n]))n.add(r);return[...n].sort().join("|")}function Ch(e){return Ph(e.positions,e.orders)}function Oh(){const e=le(Ch),t=le(r=>r.updateQuotes),n=Vc();p.useEffect(()=>{if(!e)return;const r=e.split("|"),i=new Map;let s=!1;const o=n,a=l=>{const d=new WebSocket(o);i.set(l,d),d.onopen=()=>{if(s){d.close(1e3,"Unmounted");return}d.send(JSON.stringify({action:"select_symbol",symbol:l}))},d.onmessage=u=>{var f;try{const m=JSON.parse(u.data),h=(f=m.symbol)==null?void 0:f.trim().toUpperCase();if(!h||h!==l)return;const b=Number(m.bid),v=Number(m.ask);if(!Number.isFinite(b)||!Number.isFinite(v))return;t(h,b,v)}catch{}},d.onclose=()=>{i.delete(l),s||setTimeout(()=>a(l),3e3)}};for(const l of r)a(l);return()=>{s=!0;for(const l of i.values())l.close(1e3,"Unmounted");i.clear()}},[e,n,t])}function Hc(){return Oh(),null}const Gi=(e,t,n)=>{if(!e)return t;try{const r=e.activeChart().symbol(),i=n.find(s=>s.display_name===r||s.ticker===r);if(i)return ar(i.ticker,n)}catch{}return t},zc={buy:"#2563eb",sell:"#dc2626"},Ei={positive:"#2563eb",negative:"#dc2626",neutral:"#94a3b8"},Kn={linewidth:1,linestyle:2,fontsize:11},ln={linewidth:Kn.linewidth,linestyle:Kn.linestyle},qc={stopLoss:"#f97316",takeProfit:"#22c55e"},Kc=e=>zc[e],Qi=(e,t)=>e==="entry"?t!=null?Kc(t):zc.sell:qc[e],$o=(e,t)=>{if(e==="entry")return Qi(e,t.side);const{side:n,entryPrice:r,linePrice:i,volumeLots:s}=t;if(n!=null&&r!==null&&r!==void 0&&i!==void 0&&s!==void 0){const o=Gc(n,r,i,s);return Qc(o)}return qc[e]},Gc=(e,t,n,r)=>(e==="buy"?n-t:t-n)*r*100,Eh=(e,t)=>!Number.isFinite(t)||t<=0?0:Math.round(e/t),Ah=e=>{const t=Gc(e.side,e.entryPrice,e.linePrice,e.volumeLots),n=e.side==="buy"?e.linePrice-e.entryPrice:e.entryPrice-e.linePrice,r=Eh(n,e.priceStep),i=e.kind==="takeProfit"?"TP":"SL",s=`${t.toFixed(2)} USD`,o=`${r} points`;return`${i} ${s}, ${o}`},Lh=(e,t)=>e.toFixed(t),Qc=e=>e>0?Ei.positive:e<0?Ei.negative:Ei.neutral,Nh=e=>{const t=`${e.side.toUpperCase()} ${e.volumeLots.toFixed(2)}, `,n=`${e.profit.toFixed(2)} USD`;return`${t}${n}`},Ai=e=>{const t=Kc(e.side),n=Qc(e.profit);return{text:Nh(e),linecolor:t,textcolor:n,linewidth:Kn.linewidth,linestyle:Kn.linestyle,fontsize:Kn.fontsize,showPrice:!0,horzLabelsAlign:"left"}},Li=e=>Le(e),Dh=e=>e==="entry"||e==="stopLoss"||e==="takeProfit",Rh=["entry","stopLoss","takeProfit"],jh=32,Vo=(e,t,n)=>{const{source:r,symbolKey:i}=ne.getState();if(r===null)return!1;const s=Gi(e,t,n);return i===s},Ni=e=>{e.setUserEditEnabled(!1),e.setSelectionEnabled(!1)},Ho=(e,t,n)=>{if(e==="entry")return Lh(t,n.digits);const{entryPrice:r,side:i}=n;return i!==null&&r!==null?Ah({kind:e,side:i,entryPrice:r,linePrice:t,volumeLots:n.volumeLots,priceStep:n.priceStep}):`${e==="takeProfit"?"TP":"SL"} ${pe(t,n.digits)}`},Mh=({chartWidget:e,symbolTicker:t,symbols:n})=>{const r=ne(P=>P.source),i=ne(P=>P.entryPrice),s=ne(P=>P.stopLoss),o=ne(P=>P.takeProfit),a=ne(P=>P.side),l=ne(P=>P.showEntryLine),d=ne(P=>P.volumeLots),u=ne(P=>P.digits),f=ne(P=>P.priceStep),m=ne(P=>P.setStopLoss),h=ne(P=>P.setTakeProfit),b=p.useMemo(()=>ar(t,n),[t,n]),v=p.useRef(b);p.useEffect(()=>{v.current=b},[b]);const w=p.useRef({}),g=p.useRef(null),T=p.useRef(null),x=p.useRef(null),y=p.useRef(!1),O=p.useRef({entryPrice:i,stopLoss:s,takeProfit:o,side:a,showEntryLine:l,volumeLots:d,digits:u,priceStep:f});p.useEffect(()=>{O.current={entryPrice:i,stopLoss:s,takeProfit:o,side:a,showEntryLine:l,volumeLots:d,digits:u,priceStep:f}},[u,i,f,l,a,s,o,d]);const C=p.useCallback(P=>{if(!e)return;const D=w.current[P];if(D){try{e.activeChart().removeEntity(D)}catch{}delete w.current[P]}},[e]),E=p.useCallback(()=>{for(const P of Rh)C(P);w.current={}},[C]),k=p.useCallback((P,D,j,A)=>{const W=Qi(D,A.side),R=$o(D,{side:A.side,entryPrice:A.entryPrice,linePrice:j,volumeLots:A.volumeLots});P.setProperties({text:Ho(D,j,A),linecolor:W,textcolor:R,showPrice:!0,horzLabelsAlign:"left",...D==="entry"?ln:{}})},[]),U=p.useCallback(async(P,D,j)=>{var ce;if(!e)return;if(D===void 0){C(P);return}if(T.current===P)return;const A=e.activeChart(),W=Qi(P,j.side),R=$o(P,{side:j.side,entryPrice:j.entryPrice,linePrice:D,volumeLots:j.volumeLots}),G=Ho(P,D,j),ae=w.current[P];if(ae)try{const ie=A.getShapeById(ae);P==="entry"&&Ni(ie);const N=(ce=ie.getPoints()[0])==null?void 0:ce.price;if(N!==void 0&&Math.abs(N-D)<j.priceStep/2){ie.setProperties({text:G,linecolor:W,textcolor:R,showPrice:!0,horzLabelsAlign:"left",...P==="entry"?ln:{}});return}const Z=ie.getPoints();if(Z.length>0){y.current=!0,ie.setPoints(Z.map(te=>({...te,price:D}))),y.current=!1,ie.setProperties({text:G,linecolor:W,textcolor:R,showPrice:!0,horzLabelsAlign:"left",...P==="entry"?ln:{}});return}}catch{delete w.current[P]}try{const ie=A.getVisibleRange(),N=await A.createShape({time:ie.from,price:D},{shape:"horizontal_line",text:G,disableSave:!0,lock:P==="entry",disableSelection:P==="entry",overrides:{linecolor:W,textcolor:R,linewidth:P==="entry"?ln.linewidth:2,...P==="entry"?{linestyle:ln.linestyle}:{},showPrice:!0,horzLabelsAlign:"left"}});if(P==="entry")try{A.getShapeById(N).setProperties(ln)}catch{}if(P==="entry"&&!O.current.showEntryLine){try{A.removeEntity(N)}catch{}return}if(P==="entry")try{Ni(A.getShapeById(N))}catch{}w.current[P]=N}catch{}},[e,C]),F=p.useCallback(async P=>{if(!Vo(e,v.current,n)){E();return}const D=Li(P.stopLoss),j=Li(P.takeProfit);P.showEntryLine&&P.entryPrice!==null?await U("entry",P.entryPrice,P):await U("entry",void 0,P),await U("stopLoss",D,P),await U("takeProfit",j,P)},[e,E,n,U]),H=p.useCallback(()=>{e&&(E(),Vo(e,v.current,n)&&F(O.current))},[e,E,n,F]),L=p.useRef(H);p.useEffect(()=>{L.current=H},[H]);const Q=p.useCallback(()=>{g.current!==null&&clearTimeout(g.current),g.current=setTimeout(()=>{g.current=null,L.current()},jh)},[]),K=p.useRef(Q);p.useEffect(()=>{K.current=Q},[Q]);const re=r!==null&&(l||s.trim()!==""||o.trim()!=="");p.useEffect(()=>{if(!e||!re)return;const P=(D,j)=>{var G,ae,ce;const A=(G=Object.entries(w.current).find(([,ie])=>ie===D))==null?void 0:G[0];if(!A||!Dh(A))return;const R=e.activeChart().getAllShapes().filter(ie=>ie.name==="horizontal_line").some(ie=>ie.id===D);if(A==="entry"){if((j==="move"||j==="points_changed")&&R){const ie=O.current;if(ie.entryPrice!==null)try{const N=e.activeChart().getShapeById(D),Z=(ae=N.getPoints()[0])==null?void 0:ae.price;if(Z!==void 0&&Math.abs(Z-ie.entryPrice)>=ie.priceStep/2){const te=N.getPoints();te.length>0&&N.setPoints(te.map(ve=>({...ve,price:ie.entryPrice})))}Ni(N)}catch{}}return}if(j==="remove"&&R){T.current=null,A==="stopLoss"&&m(""),A==="takeProfit"&&h(""),delete w.current[A];return}if(!(j!=="move"&&j!=="points_changed"&&!R)&&!y.current)try{const ie=e.activeChart().getShapeById(D),N=(ce=ie.getPoints()[0])==null?void 0:ce.price;if(!Number.isFinite(N)||N<=0)return;const Z=O.current,te=A==="stopLoss"?Z.stopLoss:Z.takeProfit,ve=Li(te),Re=ve!==void 0&&Math.abs(ve-N)<Z.priceStep/2;if(j==="points_changed"&&R){T.current=A,k(ie,A,N,Z),x.current!==null&&clearTimeout(x.current),x.current=setTimeout(()=>{T.current=null;const Ce=pe(N,O.current.digits);A==="stopLoss"?m(Ce):h(Ce)},120);return}if(x.current!==null&&(clearTimeout(x.current),x.current=null),T.current=null,Re){k(ie,A,N,Z);return}const be=pe(N,Z.digits),Pe=A==="stopLoss"?{...Z,stopLoss:be}:{...Z,takeProfit:be};A==="stopLoss"?m(be):h(be),k(ie,A,N,Pe)}catch{T.current=null}};try{e.subscribe("drawing_event",P)}catch{}return()=>{T.current=null,x.current!==null&&(clearTimeout(x.current),x.current=null);try{e.unsubscribe("drawing_event",P)}catch{}}},[e,re,m,h,k]),p.useEffect(()=>{if(!e)return;if(r===null){E();return}let P=!1;try{e.onChartReady(()=>{P||F(O.current)})}catch{}return()=>{P=!0}},[e,E,r,i,s,o,a,l,d,u,f,F]),p.useEffect(()=>{if(!e||r===null)return;let P=!1,D=null,j=!1;const A=()=>{P||(j=!0,K.current())},W=()=>{P||!j||(j=!1,K.current())};try{e.onChartReady(()=>{if(!P)try{D=e.activeChart(),D.onSymbolChanged().subscribe(null,A),D.onDataLoaded().subscribe(null,W)}catch{}})}catch{}return()=>{if(P=!0,g.current!==null&&(clearTimeout(g.current),g.current=null),D)try{D.onSymbolChanged().unsubscribe(null,A),D.onDataLoaded().unsubscribe(null,W)}catch{}}},[e,r]),p.useEffect(()=>{if(!e||r===null)return;let P=!1;try{e.onChartReady(()=>{P||K.current()})}catch{}return()=>{P=!0}},[b,e,r])},Di=e=>{e.setUserEditEnabled(!1),e.setSelectionEnabled(!1)},Zi=(e,t)=>Ne(e.symbol).toUpperCase()===t,zo=e=>le.getState().positions.filter(t=>Zi(t,e)).map(t=>({ticket:t.ticket,openPrice:t.openPrice,type:t.type,digits:t.digits,volumeLots:t.volumeLots,profit:t.profit})),qo=(e,t,n)=>{var s;const r=(s=e.getPoints()[0])==null?void 0:s.price;if(r!==void 0&&Math.abs(r-t)<Number.EPSILON){e.setProperties(n);return}const i=e.getPoints();i.length>0&&e.setPoints(i.map(o=>({...o,price:t}))),e.setProperties(n)},Uh=500,Ih=({chartWidget:e,symbolTicker:t,symbols:n})=>{const r=le(y=>y.positions),i=p.useRef(new Map),s=p.useRef(0),o=p.useMemo(()=>ar(t,n),[t,n]),a=p.useRef(o);p.useEffect(()=>{a.current=o},[o]);const l=p.useMemo(()=>r.filter(y=>Zi(y,o)).map(y=>`${y.ticket}:${y.openPrice}:${y.type}:${y.digits}:${y.volumeLots}`).sort().join("|"),[o,r]),d=p.useMemo(()=>r.filter(y=>Zi(y,o)).map(y=>`${y.ticket}:${y.profit.toFixed(2)}`).sort().join("|"),[o,r]),u=p.useCallback(y=>{if(!e)return;const O=i.current.get(y);if(O){try{e.activeChart().removeEntity(O)}catch{}i.current.delete(y)}},[e]),f=p.useCallback(()=>{for(const y of[...i.current.keys()])u(y);i.current.clear()},[u]),m=p.useCallback(async(y,O,C)=>{const E=Ai({side:O.type,volumeLots:O.volumeLots,profit:O.profit}),U={time:y.getVisibleRange().from,price:O.openPrice},F=await y.createShape(U,{shape:"horizontal_line",text:String(E.text),disableSave:!0,lock:!0,disableSelection:!0,overrides:E});if(C!==s.current){try{y.removeEntity(F)}catch{}return null}try{const H=y.getShapeById(F);H.setProperties(E),Di(H)}catch{}return F},[]),h=p.useCallback(async(y,O)=>{if(!e||O!==s.current)return;const C=e.activeChart(),E=Ai({side:y.type,volumeLots:y.volumeLots,profit:y.profit}),k=i.current.get(y.ticket);if(k)try{qo(C.getShapeById(k),y.openPrice,E),Di(C.getShapeById(k));return}catch{i.current.delete(y.ticket)}if(O===s.current)try{const U=await m(C,y,O);if(!U)return;i.current.set(y.ticket,U)}catch{}},[e,m]),b=p.useCallback(async(y,O)=>{if(!e||y!==s.current)return;const C=zo(O),E=new Set(C.map(k=>k.ticket));for(const k of i.current.keys())E.has(k)||u(k);for(const k of C){if(y!==s.current)return;await h(k,y)}},[e,u,h]),v=p.useCallback(()=>{if(!e)return;let y;try{y=e.activeChart()}catch{return}const O=zo(o);for(const C of O){const E=i.current.get(C.ticket);if(E)try{const k=Ai({side:C.type,volumeLots:C.volumeLots,profit:C.profit});qo(y.getShapeById(E),C.openPrice,k),Di(y.getShapeById(E))}catch{i.current.delete(C.ticket)}}},[o,e]),w=p.useCallback(y=>{if(!e)return;const O=s.current+1;s.current=O,y!=null&&y.resetLineIds&&f();const C=(y==null?void 0:y.symbolKey)??Gi(e,a.current,n);b(O,C)},[e,f,n,b]),g=p.useCallback(()=>e?Gi(e,a.current,n):a.current,[e,n]),T=p.useRef(w),x=p.useRef(g);p.useEffect(()=>{T.current=w},[w]),p.useEffect(()=>{x.current=g},[g]),p.useEffect(()=>{if(!e)return;let y=!1,O=null;const C=()=>{y||T.current({resetLineIds:!0,symbolKey:x.current()})};let E=!1;const k=()=>{E=!0,C()},U=()=>{y||!E||(E=!1,T.current({symbolKey:x.current()}))};try{e.onChartReady(()=>{if(!y)try{O=e.activeChart(),T.current({resetLineIds:!0,symbolKey:a.current}),O.onSymbolChanged().subscribe(null,k),O.onDataLoaded().subscribe(null,U)}catch{}})}catch{}return()=>{if(y=!0,s.current+=1,O)try{O.onSymbolChanged().unsubscribe(null,k),O.onDataLoaded().unsubscribe(null,U)}catch{}f()}},[e,f]),p.useEffect(()=>{if(!e)return;let y=!1;try{e.onChartReady(()=>{y||w({symbolKey:o})})}catch{}return()=>{y=!0}},[o,e,l,w]),p.useEffect(()=>{if(!e||!d)return;let y=!1,O=null;return O=setTimeout(()=>{if(!y)try{e.onChartReady(()=>{y||v()})}catch{}},Uh),()=>{y=!0,O!==null&&clearTimeout(O)}},[e,d,v])},Zc=({chartWidget:e,symbolTicker:t,symbols:n})=>(Ih({chartWidget:e,symbolTicker:t,symbols:n}),Mh({chartWidget:e,symbolTicker:t,symbols:n}),null);var hr=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},Vt,Ct,fn,Fa,Fh=(Fa=class extends hr{constructor(){super();ee(this,Vt);ee(this,Ct);ee(this,fn);B(this,fn,t=>{if(typeof window<"u"&&window.addEventListener){const n=()=>t();return window.addEventListener("visibilitychange",n,!1),()=>{window.removeEventListener("visibilitychange",n)}}})}onSubscribe(){_(this,Ct)||this.setEventListener(_(this,fn))}onUnsubscribe(){var t;this.hasListeners()||((t=_(this,Ct))==null||t.call(this),B(this,Ct,void 0))}setEventListener(t){var n;B(this,fn,t),(n=_(this,Ct))==null||n.call(this),B(this,Ct,t(r=>{typeof r=="boolean"?this.setFocused(r):this.onFocus()}))}setFocused(t){_(this,Vt)!==t&&(B(this,Vt,t),this.onFocus())}onFocus(){const t=this.isFocused();this.listeners.forEach(n=>{n(t)})}isFocused(){var t;return typeof _(this,Vt)=="boolean"?_(this,Vt):((t=globalThis.document)==null?void 0:t.visibilityState)!=="hidden"}},Vt=new WeakMap,Ct=new WeakMap,fn=new WeakMap,Fa),Hs=new Fh,Bh={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},at,Ht,Ba,Wh=(Ba=class{constructor(){ee(this,at,Bh);ee(this,Ht,!1)}setTimeoutProvider(e){process.env.NODE_ENV!=="production"&&_(this,Ht)&&e!==_(this,at)&&console.error("[timeoutManager]: Switching provider after calls to previous provider might result in unexpected behavior.",{previous:_(this,at),provider:e}),B(this,at,e),process.env.NODE_ENV!=="production"&&B(this,Ht,!1)}setTimeout(e,t){return process.env.NODE_ENV!=="production"&&B(this,Ht,!0),_(this,at).setTimeout(e,t)}clearTimeout(e){_(this,at).clearTimeout(e)}setInterval(e,t){return process.env.NODE_ENV!=="production"&&B(this,Ht,!0),_(this,at).setInterval(e,t)}clearInterval(e){_(this,at).clearInterval(e)}},at=new WeakMap,Ht=new WeakMap,Ba),$t=new Wh;function $h(e){setTimeout(e,0)}var Vh=typeof window>"u"||"Deno"in globalThis;function Ve(){}function Hh(e,t){return typeof e=="function"?e(t):e}function Yi(e){return typeof e=="number"&&e>=0&&e!==1/0}function Yc(e,t){return Math.max(e+(t||0)-Date.now(),0)}function jt(e,t){return typeof e=="function"?e(t):e}function Ge(e,t){return typeof e=="function"?e(t):e}function Ko(e,t){const{type:n="all",exact:r,fetchStatus:i,predicate:s,queryKey:o,stale:a}=e;if(o){if(r){if(t.queryHash!==zs(o,t.options))return!1}else if(!Yn(t.queryKey,o))return!1}if(n!=="all"){const l=t.isActive();if(n==="active"&&!l||n==="inactive"&&l)return!1}return!(typeof a=="boolean"&&t.isStale()!==a||i&&i!==t.state.fetchStatus||s&&!s(t))}function Go(e,t){const{exact:n,status:r,predicate:i,mutationKey:s}=e;if(s){if(!t.options.mutationKey)return!1;if(n){if(Zn(t.options.mutationKey)!==Zn(s))return!1}else if(!Yn(t.options.mutationKey,s))return!1}return!(r&&t.state.status!==r||i&&!i(t))}function zs(e,t){return((t==null?void 0:t.queryKeyHashFn)||Zn)(e)}function Zn(e){return JSON.stringify(e,(t,n)=>es(n)?Object.keys(n).sort().reduce((r,i)=>(r[i]=n[i],r),{}):n)}function Yn(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?Object.keys(t).every(n=>Yn(e[n],t[n])):!1}var zh=Object.prototype.hasOwnProperty;function Ji(e,t,n=0){if(e===t)return e;if(n>500)return t;const r=Qo(e)&&Qo(t);if(!r&&!(es(e)&&es(t)))return t;const s=(r?e:Object.keys(e)).length,o=r?t:Object.keys(t),a=o.length,l=r?new Array(a):{};let d=0;for(let u=0;u<a;u++){const f=r?u:o[u],m=e[f],h=t[f];if(m===h){l[f]=m,(r?u<s:zh.call(e,f))&&d++;continue}if(m===null||h===null||typeof m!="object"||typeof h!="object"){l[f]=h;continue}const b=Ji(m,h,n+1);l[f]=b,b===m&&d++}return s===a&&d===s?e:l}function Xi(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(e[n]!==t[n])return!1;return!0}function Qo(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function es(e){if(!Zo(e))return!1;const t=e.constructor;if(t===void 0)return!0;const n=t.prototype;return!(!Zo(n)||!n.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(e)!==Object.prototype)}function Zo(e){return Object.prototype.toString.call(e)==="[object Object]"}function qh(e){return new Promise(t=>{$t.setTimeout(t,e)})}function ts(e,t,n){if(typeof n.structuralSharing=="function")return n.structuralSharing(e,t);if(n.structuralSharing!==!1){if(process.env.NODE_ENV!=="production")try{return Ji(e,t)}catch(r){throw console.error(`Structural sharing requires data to be JSON serializable. To fix this, turn off structuralSharing or return JSON-serializable data from your queryFn. [${n.queryHash}]: ${r}`),r}return Ji(e,t)}return t}function Kh(e,t,n=0){const r=[...e,t];return n&&r.length>n?r.slice(1):r}function Gh(e,t,n=0){const r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var Kr=Symbol();function Jc(e,t){return process.env.NODE_ENV!=="production"&&e.queryFn===Kr&&console.error(`Attempted to invoke queryFn when set to skipToken. This is likely a configuration error. Query hash: '${e.queryHash}'`),!e.queryFn&&(t!=null&&t.initialPromise)?()=>t.initialPromise:!e.queryFn||e.queryFn===Kr?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function Xc(e,t){return typeof e=="function"?e(...t):!!e}function Qh(e,t,n){let r=!1,i;return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(i??(i=t()),r||(r=!0,i.aborted?n():i.addEventListener("abort",n,{once:!0})),i)}),e}var Jn=(()=>{let e=()=>Vh;return{isServer(){return e()},setIsServer(t){e=t}}})();function ns(){let e,t;const n=new Promise((i,s)=>{e=i,t=s});n.status="pending",n.catch(()=>{});function r(i){Object.assign(n,i),delete n.resolve,delete n.reject}return n.resolve=i=>{r({status:"fulfilled",value:i}),e(i)},n.reject=i=>{r({status:"rejected",reason:i}),t(i)},n}var Zh=$h;function Yh(){let e=[],t=0,n=a=>{a()},r=a=>{a()},i=Zh;const s=a=>{t?e.push(a):i(()=>{n(a)})},o=()=>{const a=e;e=[],a.length&&i(()=>{r(()=>{a.forEach(l=>{n(l)})})})};return{batch:a=>{let l;t++;try{l=a()}finally{t--,t||o()}return l},batchCalls:a=>(...l)=>{s(()=>{a(...l)})},schedule:s,setNotifyFunction:a=>{n=a},setBatchNotifyFunction:a=>{r=a},setScheduler:a=>{i=a}}}var Ae=Yh(),hn,Ot,mn,Wa,Jh=(Wa=class extends hr{constructor(){super();ee(this,hn,!0);ee(this,Ot);ee(this,mn);B(this,mn,t=>{if(typeof window<"u"&&window.addEventListener){const n=()=>t(!0),r=()=>t(!1);return window.addEventListener("online",n,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",n),window.removeEventListener("offline",r)}}})}onSubscribe(){_(this,Ot)||this.setEventListener(_(this,mn))}onUnsubscribe(){var t;this.hasListeners()||((t=_(this,Ot))==null||t.call(this),B(this,Ot,void 0))}setEventListener(t){var n;B(this,mn,t),(n=_(this,Ot))==null||n.call(this),B(this,Ot,t(this.setOnline.bind(this)))}setOnline(t){_(this,hn)!==t&&(B(this,hn,t),this.listeners.forEach(r=>{r(t)}))}isOnline(){return _(this,hn)}},hn=new WeakMap,Ot=new WeakMap,mn=new WeakMap,Wa),Gr=new Jh;function Xh(e){return Math.min(1e3*2**e,3e4)}function el(e){return(e??"online")==="online"?Gr.isOnline():!0}var rs=class extends Error{constructor(e){super("CancelledError"),this.revert=e==null?void 0:e.revert,this.silent=e==null?void 0:e.silent}};function tl(e){let t=!1,n=0,r;const i=ns(),s=()=>i.status!=="pending",o=v=>{var w;if(!s()){const g=new rs(v);m(g),(w=e.onCancel)==null||w.call(e,g)}},a=()=>{t=!0},l=()=>{t=!1},d=()=>Hs.isFocused()&&(e.networkMode==="always"||Gr.isOnline())&&e.canRun(),u=()=>el(e.networkMode)&&e.canRun(),f=v=>{s()||(r==null||r(),i.resolve(v))},m=v=>{s()||(r==null||r(),i.reject(v))},h=()=>new Promise(v=>{var w;r=g=>{(s()||d())&&v(g)},(w=e.onPause)==null||w.call(e)}).then(()=>{var v;r=void 0,s()||(v=e.onContinue)==null||v.call(e)}),b=()=>{if(s())return;let v;const w=n===0?e.initialPromise:void 0;try{v=w??e.fn()}catch(g){v=Promise.reject(g)}Promise.resolve(v).then(f).catch(g=>{var C;if(s())return;const T=e.retry??(Jn.isServer()?0:3),x=e.retryDelay??Xh,y=typeof x=="function"?x(n,g):x,O=T===!0||typeof T=="number"&&n<T||typeof T=="function"&&T(n,g);if(t||!O){m(g);return}n++,(C=e.onFail)==null||C.call(e,n,g),qh(y).then(()=>d()?void 0:h()).then(()=>{t?m(g):b()})})};return{promise:i,status:()=>i.status,cancel:o,continue:()=>(r==null||r(),i),cancelRetry:a,continueRetry:l,canStart:u,start:()=>(u()?b():h().then(b),i)}}var zt,$a,nl=($a=class{constructor(){ee(this,zt)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),Yi(this.gcTime)&&B(this,zt,$t.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(Jn.isServer()?1/0:300*1e3))}clearGcTimeout(){_(this,zt)!==void 0&&($t.clearTimeout(_(this,zt)),B(this,zt,void 0))}},zt=new WeakMap,$a);function em(e){return{onFetch:(t,n)=>{var u,f,m,h,b;const r=t.options,i=(m=(f=(u=t.fetchOptions)==null?void 0:u.meta)==null?void 0:f.fetchMore)==null?void 0:m.direction,s=((h=t.state.data)==null?void 0:h.pages)||[],o=((b=t.state.data)==null?void 0:b.pageParams)||[];let a={pages:[],pageParams:[]},l=0;const d=async()=>{let v=!1;const w=x=>{Qh(x,()=>t.signal,()=>v=!0)},g=Jc(t.options,t.fetchOptions),T=async(x,y,O)=>{if(v)return Promise.reject(t.signal.reason);if(y==null&&x.pages.length)return Promise.resolve(x);const E=(()=>{const H={client:t.client,queryKey:t.queryKey,pageParam:y,direction:O?"backward":"forward",meta:t.options.meta};return w(H),H})(),k=await g(E),{maxPages:U}=t.options,F=O?Gh:Kh;return{pages:F(x.pages,k,U),pageParams:F(x.pageParams,y,U)}};if(i&&s.length){const x=i==="backward",y=x?tm:Yo,O={pages:s,pageParams:o},C=y(r,O);a=await T(O,C,x)}else{const x=e??s.length;do{const y=l===0?o[0]??r.initialPageParam:Yo(r,a);if(l>0&&y==null)break;a=await T(a,y),l++}while(l<x)}return a};t.options.persister?t.fetchFn=()=>{var v,w;return(w=(v=t.options).persister)==null?void 0:w.call(v,d,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n)}:t.fetchFn=d}}}function Yo(e,{pages:t,pageParams:n}){const r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,n[r],n):void 0}function tm(e,{pages:t,pageParams:n}){var r;return t.length>0?(r=e.getPreviousPageParam)==null?void 0:r.call(e,t[0],t,n[0],n):void 0}var pn,qt,gn,et,Kt,Ee,tr,Gt,Ke,rl,mt,Va,nm=(Va=class extends nl{constructor(t){super();ee(this,Ke);ee(this,pn);ee(this,qt);ee(this,gn);ee(this,et);ee(this,Kt);ee(this,Ee);ee(this,tr);ee(this,Gt);B(this,Gt,!1),B(this,tr,t.defaultOptions),this.setOptions(t.options),this.observers=[],B(this,Kt,t.client),B(this,et,_(this,Kt).getQueryCache()),this.queryKey=t.queryKey,this.queryHash=t.queryHash,B(this,qt,Xo(this.options)),this.state=t.state??_(this,qt),this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return _(this,pn)}get promise(){var t;return(t=_(this,Ee))==null?void 0:t.promise}setOptions(t){if(this.options={..._(this,tr),...t},t!=null&&t._type&&B(this,pn,t._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const n=Xo(this.options);n.data!==void 0&&(this.setState(Jo(n.data,n.dataUpdatedAt)),B(this,qt,n))}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&_(this,et).remove(this)}setData(t,n){const r=ts(this.state.data,t,this.options);return ue(this,Ke,mt).call(this,{data:r,type:"success",dataUpdatedAt:n==null?void 0:n.updatedAt,manual:n==null?void 0:n.manual}),r}setState(t){ue(this,Ke,mt).call(this,{type:"setState",state:t})}cancel(t){var r,i;const n=(r=_(this,Ee))==null?void 0:r.promise;return(i=_(this,Ee))==null||i.cancel(t),n?n.then(Ve).catch(Ve):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return _(this,qt)}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(t=>Ge(t.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===Kr||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0?this.observers.some(t=>jt(t.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(t=>t.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(t=0){return this.state.data===void 0?!0:t==="static"?!1:this.state.isInvalidated?!0:!Yc(this.state.dataUpdatedAt,t)}onFocus(){var n;const t=this.observers.find(r=>r.shouldFetchOnWindowFocus());t==null||t.refetch({cancelRefetch:!1}),(n=_(this,Ee))==null||n.continue()}onOnline(){var n;const t=this.observers.find(r=>r.shouldFetchOnReconnect());t==null||t.refetch({cancelRefetch:!1}),(n=_(this,Ee))==null||n.continue()}addObserver(t){this.observers.includes(t)||(this.observers.push(t),this.clearGcTimeout(),_(this,et).notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){this.observers.includes(t)&&(this.observers=this.observers.filter(n=>n!==t),this.observers.length||(_(this,Ee)&&(_(this,Gt)||ue(this,Ke,rl).call(this)?_(this,Ee).cancel({revert:!0}):_(this,Ee).cancelRetry()),this.scheduleGc()),_(this,et).notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||ue(this,Ke,mt).call(this,{type:"invalidate"})}async fetch(t,n){var d,u,f,m,h,b,v,w,g,T,x;if(this.state.fetchStatus!=="idle"&&((d=_(this,Ee))==null?void 0:d.status())!=="rejected"){if(this.state.data!==void 0&&(n!=null&&n.cancelRefetch))this.cancel({silent:!0});else if(_(this,Ee))return _(this,Ee).continueRetry(),_(this,Ee).promise}if(t&&this.setOptions(t),!this.options.queryFn){const y=this.observers.find(O=>O.options.queryFn);y&&this.setOptions(y.options)}process.env.NODE_ENV!=="production"&&(Array.isArray(this.options.queryKey)||console.error("As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']"));const r=new AbortController,i=y=>{Object.defineProperty(y,"signal",{enumerable:!0,get:()=>(B(this,Gt,!0),r.signal)})},s=()=>{const y=Jc(this.options,n),C=(()=>{const E={client:_(this,Kt),queryKey:this.queryKey,meta:this.meta};return i(E),E})();return B(this,Gt,!1),this.options.persister?this.options.persister(y,C,this):y(C)},a=(()=>{const y={fetchOptions:n,options:this.options,queryKey:this.queryKey,client:_(this,Kt),state:this.state,fetchFn:s};return i(y),y})(),l=_(this,pn)==="infinite"?em(this.options.pages):this.options.behavior;l==null||l.onFetch(a,this),B(this,gn,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((u=a.fetchOptions)==null?void 0:u.meta))&&ue(this,Ke,mt).call(this,{type:"fetch",meta:(f=a.fetchOptions)==null?void 0:f.meta}),B(this,Ee,tl({initialPromise:n==null?void 0:n.initialPromise,fn:a.fetchFn,onCancel:y=>{y instanceof rs&&y.revert&&this.setState({..._(this,gn),fetchStatus:"idle"}),r.abort()},onFail:(y,O)=>{ue(this,Ke,mt).call(this,{type:"failed",failureCount:y,error:O})},onPause:()=>{ue(this,Ke,mt).call(this,{type:"pause"})},onContinue:()=>{ue(this,Ke,mt).call(this,{type:"continue"})},retry:a.options.retry,retryDelay:a.options.retryDelay,networkMode:a.options.networkMode,canRun:()=>!0}));try{const y=await _(this,Ee).start();if(y===void 0)throw process.env.NODE_ENV!=="production"&&console.error(`Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`),new Error(`${this.queryHash} data is undefined`);return this.setData(y),(h=(m=_(this,et).config).onSuccess)==null||h.call(m,y,this),(v=(b=_(this,et).config).onSettled)==null||v.call(b,y,this.state.error,this),y}catch(y){if(y instanceof rs){if(y.silent)return _(this,Ee).promise;if(y.revert){if(this.state.data===void 0)throw y;return this.state.data}}throw ue(this,Ke,mt).call(this,{type:"error",error:y}),(g=(w=_(this,et).config).onError)==null||g.call(w,y,this),(x=(T=_(this,et).config).onSettled)==null||x.call(T,this.state.data,y,this),y}finally{this.scheduleGc()}}},pn=new WeakMap,qt=new WeakMap,gn=new WeakMap,et=new WeakMap,Kt=new WeakMap,Ee=new WeakMap,tr=new WeakMap,Gt=new WeakMap,Ke=new WeakSet,rl=function(){return this.state.fetchStatus==="paused"&&this.state.status==="pending"},mt=function(t){const n=r=>{switch(t.type){case"failed":return{...r,fetchFailureCount:t.failureCount,fetchFailureReason:t.error};case"pause":return{...r,fetchStatus:"paused"};case"continue":return{...r,fetchStatus:"fetching"};case"fetch":return{...r,...il(r.data,this.options),fetchMeta:t.meta??null};case"success":const i={...r,...Jo(t.data,t.dataUpdatedAt),dataUpdateCount:r.dataUpdateCount+1,...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return B(this,gn,t.manual?i:void 0),i;case"error":const s=t.error;return{...r,error:s,errorUpdateCount:r.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:r.fetchFailureCount+1,fetchFailureReason:s,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...r,isInvalidated:!0};case"setState":return{...r,...t.state}}};this.state=n(this.state),Ae.batch(()=>{this.observers.forEach(r=>{r.onQueryUpdate()}),_(this,et).notify({query:this,type:"updated",action:t})})},Va);function il(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:el(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function Jo(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:"success"}}function Xo(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,n=t!==void 0,r=n?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?"success":"pending",fetchStatus:"idle"}}var $e,fe,nr,Be,Qt,yn,gt,Et,rr,bn,wn,Zt,Yt,At,_n,ye,Vn,is,ss,os,as,cs,ls,ds,sl,Ha,rm=(Ha=class extends hr{constructor(t,n){super();ee(this,ye);ee(this,$e);ee(this,fe);ee(this,nr);ee(this,Be);ee(this,Qt);ee(this,yn);ee(this,gt);ee(this,Et);ee(this,rr);ee(this,bn);ee(this,wn);ee(this,Zt);ee(this,Yt);ee(this,At);ee(this,_n,new Set);this.options=n,B(this,$e,t),B(this,Et,null),B(this,gt,ns()),this.bindMethods(),this.setOptions(n)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(_(this,fe).addObserver(this),ea(_(this,fe),this.options)?ue(this,ye,Vn).call(this):this.updateResult(),ue(this,ye,as).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return us(_(this,fe),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return us(_(this,fe),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,ue(this,ye,cs).call(this),ue(this,ye,ls).call(this),_(this,fe).removeObserver(this)}setOptions(t){const n=this.options,r=_(this,fe);if(this.options=_(this,$e).defaultQueryOptions(t),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof Ge(this.options.enabled,_(this,fe))!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");ue(this,ye,ds).call(this),_(this,fe).setOptions(this.options),n._defaulted&&!Xi(this.options,n)&&_(this,$e).getQueryCache().notify({type:"observerOptionsUpdated",query:_(this,fe),observer:this});const i=this.hasListeners();i&&ta(_(this,fe),r,this.options,n)&&ue(this,ye,Vn).call(this),this.updateResult(),i&&(_(this,fe)!==r||Ge(this.options.enabled,_(this,fe))!==Ge(n.enabled,_(this,fe))||jt(this.options.staleTime,_(this,fe))!==jt(n.staleTime,_(this,fe)))&&ue(this,ye,is).call(this);const s=ue(this,ye,ss).call(this);i&&(_(this,fe)!==r||Ge(this.options.enabled,_(this,fe))!==Ge(n.enabled,_(this,fe))||s!==_(this,At))&&ue(this,ye,os).call(this,s)}getOptimisticResult(t){const n=_(this,$e).getQueryCache().build(_(this,$e),t),r=this.createResult(n,t);return sm(this,r)&&(B(this,Be,r),B(this,yn,this.options),B(this,Qt,_(this,fe).state)),r}getCurrentResult(){return _(this,Be)}trackResult(t,n){return new Proxy(t,{get:(r,i)=>(this.trackProp(i),n==null||n(i),i==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&_(this,gt).status==="pending"&&_(this,gt).reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(r,i))})}trackProp(t){_(this,_n).add(t)}getCurrentQuery(){return _(this,fe)}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){const n=_(this,$e).defaultQueryOptions(t),r=_(this,$e).getQueryCache().build(_(this,$e),n);return r.fetch().then(()=>this.createResult(r,n))}fetch(t){return ue(this,ye,Vn).call(this,{...t,cancelRefetch:t.cancelRefetch??!0}).then(()=>(this.updateResult(),_(this,Be)))}createResult(t,n){var U;const r=_(this,fe),i=this.options,s=_(this,Be),o=_(this,Qt),a=_(this,yn),d=t!==r?t.state:_(this,nr),{state:u}=t;let f={...u},m=!1,h;if(n._optimisticResults){const F=this.hasListeners(),H=!F&&ea(t,n),L=F&&ta(t,r,n,i);(H||L)&&(f={...f,...il(u.data,t.options)}),n._optimisticResults==="isRestoring"&&(f.fetchStatus="idle")}let{error:b,errorUpdatedAt:v,status:w}=f;h=f.data;let g=!1;if(n.placeholderData!==void 0&&h===void 0&&w==="pending"){let F;s!=null&&s.isPlaceholderData&&n.placeholderData===(a==null?void 0:a.placeholderData)?(F=s.data,g=!0):F=typeof n.placeholderData=="function"?n.placeholderData((U=_(this,wn))==null?void 0:U.state.data,_(this,wn)):n.placeholderData,F!==void 0&&(w="success",h=ts(s==null?void 0:s.data,F,n),m=!0)}if(n.select&&h!==void 0&&!g)if(s&&h===(o==null?void 0:o.data)&&n.select===_(this,rr))h=_(this,bn);else try{B(this,rr,n.select),h=n.select(h),h=ts(s==null?void 0:s.data,h,n),B(this,bn,h),B(this,Et,null)}catch(F){B(this,Et,F)}_(this,Et)&&(b=_(this,Et),h=_(this,bn),v=Date.now(),w="error");const T=f.fetchStatus==="fetching",x=w==="pending",y=w==="error",O=x&&T,C=h!==void 0,k={status:w,fetchStatus:f.fetchStatus,isPending:x,isSuccess:w==="success",isError:y,isInitialLoading:O,isLoading:O,data:h,dataUpdatedAt:f.dataUpdatedAt,error:b,errorUpdatedAt:v,failureCount:f.fetchFailureCount,failureReason:f.fetchFailureReason,errorUpdateCount:f.errorUpdateCount,isFetched:t.isFetched(),isFetchedAfterMount:f.dataUpdateCount>d.dataUpdateCount||f.errorUpdateCount>d.errorUpdateCount,isFetching:T,isRefetching:T&&!x,isLoadingError:y&&!C,isPaused:f.fetchStatus==="paused",isPlaceholderData:m,isRefetchError:y&&C,isStale:qs(t,n),refetch:this.refetch,promise:_(this,gt),isEnabled:Ge(n.enabled,t)!==!1};if(this.options.experimental_prefetchInRender){const F=k.data!==void 0,H=k.status==="error"&&!F,L=re=>{H?re.reject(k.error):F&&re.resolve(k.data)},Q=()=>{const re=B(this,gt,k.promise=ns());L(re)},K=_(this,gt);switch(K.status){case"pending":t.queryHash===r.queryHash&&L(K);break;case"fulfilled":(H||k.data!==K.value)&&Q();break;case"rejected":(!H||k.error!==K.reason)&&Q();break}}return k}updateResult(){const t=_(this,Be),n=this.createResult(_(this,fe),this.options);if(B(this,Qt,_(this,fe).state),B(this,yn,this.options),_(this,Qt).data!==void 0&&B(this,wn,_(this,fe)),Xi(n,t))return;B(this,Be,n);const r=()=>{if(!t)return!0;const{notifyOnChangeProps:i}=this.options,s=typeof i=="function"?i():i;if(s==="all"||!s&&!_(this,_n).size)return!0;const o=new Set(s??_(this,_n));return this.options.throwOnError&&o.add("error"),Object.keys(_(this,Be)).some(a=>{const l=a;return _(this,Be)[l]!==t[l]&&o.has(l)})};ue(this,ye,sl).call(this,{listeners:r()})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&ue(this,ye,as).call(this)}},$e=new WeakMap,fe=new WeakMap,nr=new WeakMap,Be=new WeakMap,Qt=new WeakMap,yn=new WeakMap,gt=new WeakMap,Et=new WeakMap,rr=new WeakMap,bn=new WeakMap,wn=new WeakMap,Zt=new WeakMap,Yt=new WeakMap,At=new WeakMap,_n=new WeakMap,ye=new WeakSet,Vn=function(t){ue(this,ye,ds).call(this);let n=_(this,fe).fetch(this.options,t);return t!=null&&t.throwOnError||(n=n.catch(Ve)),n},is=function(){ue(this,ye,cs).call(this);const t=jt(this.options.staleTime,_(this,fe));if(Jn.isServer()||_(this,Be).isStale||!Yi(t))return;const r=Yc(_(this,Be).dataUpdatedAt,t)+1;B(this,Zt,$t.setTimeout(()=>{_(this,Be).isStale||this.updateResult()},r))},ss=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(_(this,fe)):this.options.refetchInterval)??!1},os=function(t){ue(this,ye,ls).call(this),B(this,At,t),!(Jn.isServer()||Ge(this.options.enabled,_(this,fe))===!1||!Yi(_(this,At))||_(this,At)===0)&&B(this,Yt,$t.setInterval(()=>{(this.options.refetchIntervalInBackground||Hs.isFocused())&&ue(this,ye,Vn).call(this)},_(this,At)))},as=function(){ue(this,ye,is).call(this),ue(this,ye,os).call(this,ue(this,ye,ss).call(this))},cs=function(){_(this,Zt)!==void 0&&($t.clearTimeout(_(this,Zt)),B(this,Zt,void 0))},ls=function(){_(this,Yt)!==void 0&&($t.clearInterval(_(this,Yt)),B(this,Yt,void 0))},ds=function(){const t=_(this,$e).getQueryCache().build(_(this,$e),this.options);if(t===_(this,fe))return;const n=_(this,fe);B(this,fe,t),B(this,nr,t.state),this.hasListeners()&&(n==null||n.removeObserver(this),t.addObserver(this))},sl=function(t){Ae.batch(()=>{t.listeners&&this.listeners.forEach(n=>{n(_(this,Be))}),_(this,$e).getQueryCache().notify({query:_(this,fe),type:"observerResultsUpdated"})})},Ha);function im(e,t){return Ge(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status==="error"&&Ge(t.retryOnMount,e)===!1)}function ea(e,t){return im(e,t)||e.state.data!==void 0&&us(e,t,t.refetchOnMount)}function us(e,t,n){if(Ge(t.enabled,e)!==!1&&jt(t.staleTime,e)!=="static"){const r=typeof n=="function"?n(e):n;return r==="always"||r!==!1&&qs(e,t)}return!1}function ta(e,t,n,r){return(e!==t||Ge(r.enabled,e)===!1)&&(!n.suspense||e.state.status!=="error")&&qs(e,n)}function qs(e,t){return Ge(t.enabled,e)!==!1&&e.isStaleByTime(jt(t.staleTime,e))}function sm(e,t){return!Xi(e.getCurrentResult(),t)}var ir,ct,Ue,Jt,lt,Tt,za,om=(za=class extends nl{constructor(t){super();ee(this,lt);ee(this,ir);ee(this,ct);ee(this,Ue);ee(this,Jt);B(this,ir,t.client),this.mutationId=t.mutationId,B(this,Ue,t.mutationCache),B(this,ct,[]),this.state=t.state||am(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options=t,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){_(this,ct).includes(t)||(_(this,ct).push(t),this.clearGcTimeout(),_(this,Ue).notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){B(this,ct,_(this,ct).filter(n=>n!==t)),this.scheduleGc(),_(this,Ue).notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){_(this,ct).length||(this.state.status==="pending"?this.scheduleGc():_(this,Ue).remove(this))}continue(){var t;return((t=_(this,Jt))==null?void 0:t.continue())??this.execute(this.state.variables)}async execute(t){var o,a,l,d,u,f,m,h,b,v,w,g,T,x,y,O,C,E;const n=()=>{ue(this,lt,Tt).call(this,{type:"continue"})},r={client:_(this,ir),meta:this.options.meta,mutationKey:this.options.mutationKey};B(this,Jt,tl({fn:()=>this.options.mutationFn?this.options.mutationFn(t,r):Promise.reject(new Error("No mutationFn found")),onFail:(k,U)=>{ue(this,lt,Tt).call(this,{type:"failed",failureCount:k,error:U})},onPause:()=>{ue(this,lt,Tt).call(this,{type:"pause"})},onContinue:n,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>_(this,Ue).canRun(this)}));const i=this.state.status==="pending",s=!_(this,Jt).canStart();try{if(i)n();else{ue(this,lt,Tt).call(this,{type:"pending",variables:t,isPaused:s}),_(this,Ue).config.onMutate&&await _(this,Ue).config.onMutate(t,this,r);const U=await((a=(o=this.options).onMutate)==null?void 0:a.call(o,t,r));U!==this.state.context&&ue(this,lt,Tt).call(this,{type:"pending",context:U,variables:t,isPaused:s})}const k=await _(this,Jt).start();return await((d=(l=_(this,Ue).config).onSuccess)==null?void 0:d.call(l,k,t,this.state.context,this,r)),await((f=(u=this.options).onSuccess)==null?void 0:f.call(u,k,t,this.state.context,r)),await((h=(m=_(this,Ue).config).onSettled)==null?void 0:h.call(m,k,null,this.state.variables,this.state.context,this,r)),await((v=(b=this.options).onSettled)==null?void 0:v.call(b,k,null,t,this.state.context,r)),ue(this,lt,Tt).call(this,{type:"success",data:k}),k}catch(k){try{await((g=(w=_(this,Ue).config).onError)==null?void 0:g.call(w,k,t,this.state.context,this,r))}catch(U){Promise.reject(U)}try{await((x=(T=this.options).onError)==null?void 0:x.call(T,k,t,this.state.context,r))}catch(U){Promise.reject(U)}try{await((O=(y=_(this,Ue).config).onSettled)==null?void 0:O.call(y,void 0,k,this.state.variables,this.state.context,this,r))}catch(U){Promise.reject(U)}try{await((E=(C=this.options).onSettled)==null?void 0:E.call(C,void 0,k,t,this.state.context,r))}catch(U){Promise.reject(U)}throw ue(this,lt,Tt).call(this,{type:"error",error:k}),k}finally{_(this,Ue).runNext(this)}}},ir=new WeakMap,ct=new WeakMap,Ue=new WeakMap,Jt=new WeakMap,lt=new WeakSet,Tt=function(t){const n=r=>{switch(t.type){case"failed":return{...r,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...r,isPaused:!0};case"continue":return{...r,isPaused:!1};case"pending":return{...r,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:t.isPaused,status:"pending",variables:t.variables,submittedAt:Date.now()};case"success":return{...r,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...r,data:void 0,error:t.error,failureCount:r.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}};this.state=n(this.state),Ae.batch(()=>{_(this,ct).forEach(r=>{r.onMutationUpdate(t)}),_(this,Ue).notify({mutation:this,type:"updated",action:t})})},za);function am(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var yt,st,sr,qa,cm=(qa=class extends hr{constructor(t={}){super();ee(this,yt);ee(this,st);ee(this,sr);this.config=t,B(this,yt,new Set),B(this,st,new Map),B(this,sr,0)}build(t,n,r){const i=new om({client:t,mutationCache:this,mutationId:++wr(this,sr)._,options:t.defaultMutationOptions(n),state:r});return this.add(i),i}add(t){_(this,yt).add(t);const n=Tr(t);if(typeof n=="string"){const r=_(this,st).get(n);r?r.push(t):_(this,st).set(n,[t])}this.notify({type:"added",mutation:t})}remove(t){if(_(this,yt).delete(t)){const n=Tr(t);if(typeof n=="string"){const r=_(this,st).get(n);if(r)if(r.length>1){const i=r.indexOf(t);i!==-1&&r.splice(i,1)}else r[0]===t&&_(this,st).delete(n)}}this.notify({type:"removed",mutation:t})}canRun(t){const n=Tr(t);if(typeof n=="string"){const r=_(this,st).get(n),i=r==null?void 0:r.find(s=>s.state.status==="pending");return!i||i===t}else return!0}runNext(t){var r;const n=Tr(t);if(typeof n=="string"){const i=(r=_(this,st).get(n))==null?void 0:r.find(s=>s!==t&&s.state.isPaused);return(i==null?void 0:i.continue())??Promise.resolve()}else return Promise.resolve()}clear(){Ae.batch(()=>{_(this,yt).forEach(t=>{this.notify({type:"removed",mutation:t})}),_(this,yt).clear(),_(this,st).clear()})}getAll(){return Array.from(_(this,yt))}find(t){const n={exact:!0,...t};return this.getAll().find(r=>Go(n,r))}findAll(t={}){return this.getAll().filter(n=>Go(t,n))}notify(t){Ae.batch(()=>{this.listeners.forEach(n=>{n(t)})})}resumePausedMutations(){const t=this.getAll().filter(n=>n.state.isPaused);return Ae.batch(()=>Promise.all(t.map(n=>n.continue().catch(Ve))))}},yt=new WeakMap,st=new WeakMap,sr=new WeakMap,qa);function Tr(e){var t;return(t=e.options.scope)==null?void 0:t.id}var dt,Ka,lm=(Ka=class extends hr{constructor(t={}){super();ee(this,dt);this.config=t,B(this,dt,new Map)}build(t,n,r){const i=n.queryKey,s=n.queryHash??zs(i,n);let o=this.get(s);return o||(o=new nm({client:t,queryKey:i,queryHash:s,options:t.defaultQueryOptions(n),state:r,defaultOptions:t.getQueryDefaults(i)}),this.add(o)),o}add(t){_(this,dt).has(t.queryHash)||(_(this,dt).set(t.queryHash,t),this.notify({type:"added",query:t}))}remove(t){const n=_(this,dt).get(t.queryHash);n&&(t.destroy(),n===t&&_(this,dt).delete(t.queryHash),this.notify({type:"removed",query:t}))}clear(){Ae.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}get(t){return _(this,dt).get(t)}getAll(){return[..._(this,dt).values()]}find(t){const n={exact:!0,...t};return this.getAll().find(r=>Ko(n,r))}findAll(t={}){const n=this.getAll();return Object.keys(t).length>0?n.filter(r=>Ko(t,r)):n}notify(t){Ae.batch(()=>{this.listeners.forEach(n=>{n(t)})})}onFocus(){Ae.batch(()=>{this.getAll().forEach(t=>{t.onFocus()})})}onOnline(){Ae.batch(()=>{this.getAll().forEach(t=>{t.onOnline()})})}},dt=new WeakMap,Ka),xe,Lt,Nt,vn,Sn,Dt,Tn,xn,Ga,dm=(Ga=class{constructor(e={}){ee(this,xe);ee(this,Lt);ee(this,Nt);ee(this,vn);ee(this,Sn);ee(this,Dt);ee(this,Tn);ee(this,xn);B(this,xe,e.queryCache||new lm),B(this,Lt,e.mutationCache||new cm),B(this,Nt,e.defaultOptions||{}),B(this,vn,new Map),B(this,Sn,new Map),B(this,Dt,0)}mount(){wr(this,Dt)._++,_(this,Dt)===1&&(B(this,Tn,Hs.subscribe(async e=>{e&&(await this.resumePausedMutations(),_(this,xe).onFocus())})),B(this,xn,Gr.subscribe(async e=>{e&&(await this.resumePausedMutations(),_(this,xe).onOnline())})))}unmount(){var e,t;wr(this,Dt)._--,_(this,Dt)===0&&((e=_(this,Tn))==null||e.call(this),B(this,Tn,void 0),(t=_(this,xn))==null||t.call(this),B(this,xn,void 0))}isFetching(e){return _(this,xe).findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return _(this,Lt).findAll({...e,status:"pending"}).length}getQueryData(e){var n;const t=this.defaultQueryOptions({queryKey:e});return(n=_(this,xe).get(t.queryHash))==null?void 0:n.state.data}ensureQueryData(e){const t=this.defaultQueryOptions(e),n=_(this,xe).build(this,t),r=n.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(jt(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return _(this,xe).findAll(e).map(({queryKey:t,state:n})=>{const r=n.data;return[t,r]})}setQueryData(e,t,n){const r=this.defaultQueryOptions({queryKey:e}),i=_(this,xe).get(r.queryHash),s=i==null?void 0:i.state.data,o=Hh(t,s);if(o!==void 0)return _(this,xe).build(this,r).setData(o,{...n,manual:!0})}setQueriesData(e,t,n){return Ae.batch(()=>_(this,xe).findAll(e).map(({queryKey:r})=>[r,this.setQueryData(r,t,n)]))}getQueryState(e){var n;const t=this.defaultQueryOptions({queryKey:e});return(n=_(this,xe).get(t.queryHash))==null?void 0:n.state}removeQueries(e){const t=_(this,xe);Ae.batch(()=>{t.findAll(e).forEach(n=>{t.remove(n)})})}resetQueries(e,t){const n=_(this,xe);return Ae.batch(()=>(n.findAll(e).forEach(r=>{r.reset()}),this.refetchQueries({type:"active",...e},t)))}cancelQueries(e,t={}){const n={revert:!0,...t},r=Ae.batch(()=>_(this,xe).findAll(e).map(i=>i.cancel(n)));return Promise.all(r).then(Ve).catch(Ve)}invalidateQueries(e,t={}){return Ae.batch(()=>(_(this,xe).findAll(e).forEach(n=>{n.invalidate()}),(e==null?void 0:e.refetchType)==="none"?Promise.resolve():this.refetchQueries({...e,type:(e==null?void 0:e.refetchType)??(e==null?void 0:e.type)??"active"},t)))}refetchQueries(e,t={}){const n={...t,cancelRefetch:t.cancelRefetch??!0},r=Ae.batch(()=>_(this,xe).findAll(e).filter(i=>!i.isDisabled()&&!i.isStatic()).map(i=>{let s=i.fetch(void 0,n);return n.throwOnError||(s=s.catch(Ve)),i.state.fetchStatus==="paused"?Promise.resolve():s}));return Promise.all(r).then(Ve)}fetchQuery(e){const t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);const n=_(this,xe).build(this,t);return n.isStaleByTime(jt(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(Ve).catch(Ve)}fetchInfiniteQuery(e){return e._type="infinite",this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(Ve).catch(Ve)}ensureInfiniteQueryData(e){return e._type="infinite",this.ensureQueryData(e)}resumePausedMutations(){return Gr.isOnline()?_(this,Lt).resumePausedMutations():Promise.resolve()}getQueryCache(){return _(this,xe)}getMutationCache(){return _(this,Lt)}getDefaultOptions(){return _(this,Nt)}setDefaultOptions(e){B(this,Nt,e)}setQueryDefaults(e,t){_(this,vn).set(Zn(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[..._(this,vn).values()],n={};return t.forEach(r=>{Yn(e,r.queryKey)&&Object.assign(n,r.defaultOptions)}),n}setMutationDefaults(e,t){_(this,Sn).set(Zn(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[..._(this,Sn).values()],n={};return t.forEach(r=>{Yn(e,r.mutationKey)&&Object.assign(n,r.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;const t={..._(this,Nt).queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=zs(t.queryKey,t)),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!=="always"),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.queryFn===Kr&&(t.enabled=!1),t}defaultMutationOptions(e){return e!=null&&e._defaulted?e:{..._(this,Nt).mutations,...(e==null?void 0:e.mutationKey)&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){_(this,xe).clear(),_(this,Lt).clear()}},xe=new WeakMap,Lt=new WeakMap,Nt=new WeakMap,vn=new WeakMap,Sn=new WeakMap,Dt=new WeakMap,Tn=new WeakMap,xn=new WeakMap,Ga),ol=Ie.createContext(void 0),mr=e=>{const t=Ie.useContext(ol);if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},um=({client:e,children:t})=>(Ie.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),c.jsx(ol.Provider,{value:e,children:t})),al=Ie.createContext(!1),fm=()=>Ie.useContext(al);al.Provider;function hm(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var mm=Ie.createContext(hm()),pm=()=>Ie.useContext(mm),gm=(e,t,n)=>{const r=n!=null&&n.state.error&&typeof e.throwOnError=="function"?Xc(e.throwOnError,[n.state.error,n]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||r)&&(t.isReset()||(e.retryOnMount=!1))},ym=e=>{Ie.useEffect(()=>{e.clearReset()},[e])},bm=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(i&&e.data===void 0||Xc(n,[e.error,r])),wm=e=>{if(e.suspense){const n=i=>i==="static"?i:Math.max(i??1e3,1e3),r=e.staleTime;e.staleTime=typeof r=="function"?(...i)=>n(r(...i)):n(r),typeof e.gcTime=="number"&&(e.gcTime=Math.max(e.gcTime,1e3))}},_m=(e,t)=>e.isLoading&&e.isFetching&&!t,vm=(e,t)=>(e==null?void 0:e.suspense)&&t.isPending,na=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function Sm(e,t,n){var h,b,v,w;if(process.env.NODE_ENV!=="production"&&(typeof e!="object"||Array.isArray(e)))throw new Error('Bad argument type. Starting with v5, only the "Object" form is allowed when calling query related functions. Please use the error stack to find the culprit call. More info here: https://tanstack.com/query/latest/docs/react/guides/migrating-to-v5#supports-a-single-signature-one-object');const r=fm(),i=pm(),s=mr(),o=s.defaultQueryOptions(e);(b=(h=s.getDefaultOptions().queries)==null?void 0:h._experimental_beforeQuery)==null||b.call(h,o);const a=s.getQueryCache().get(o.queryHash);process.env.NODE_ENV!=="production"&&(o.queryFn||console.error(`[${o.queryHash}]: No queryFn was passed as an option, and no default queryFn was found. The queryFn parameter is only optional when using a default queryFn. More info here: https://tanstack.com/query/latest/docs/framework/react/guides/default-query-function`));const l=e.subscribed!==!1;o._optimisticResults=r?"isRestoring":l?"optimistic":void 0,wm(o),gm(o,i,a),ym(i);const d=!s.getQueryCache().get(o.queryHash),[u]=Ie.useState(()=>new t(s,o)),f=u.getOptimisticResult(o),m=!r&&l;if(Ie.useSyncExternalStore(Ie.useCallback(g=>{const T=m?u.subscribe(Ae.batchCalls(g)):Ve;return u.updateResult(),T},[u,m]),()=>u.getCurrentResult(),()=>u.getCurrentResult()),Ie.useEffect(()=>{u.setOptions(o)},[o,u]),vm(o,f))throw na(o,u,i);if(bm({result:f,errorResetBoundary:i,throwOnError:o.throwOnError,query:a,suspense:o.suspense}))throw f.error;if((w=(v=s.getDefaultOptions().queries)==null?void 0:v._experimental_afterQuery)==null||w.call(v,o,f),o.experimental_prefetchInRender&&!Jn.isServer()&&_m(f,r)){const g=d?na(o,u,i):a==null?void 0:a.promise;g==null||g.catch(Ve).finally(()=>{u.updateResult()})}return o.notifyOnChangeProps?f:u.trackResult(f)}function Mn(e,t){return Sm(e,rm)}function Tm(e,t){const n=mr(),r=n.getQueryCache();return Ie.useSyncExternalStore(Ie.useCallback(i=>r.subscribe(Ae.batchCalls(i)),[r]),()=>n.isFetching(e),()=>n.isFetching(e))}const cl=p.createContext(null);function xm(e){return typeof window>"u"?e??null:e?(localStorage.setItem(Bc,e),e):null}function km({token:e,children:t}){const n=xm(e);return c.jsx(cl.Provider,{value:n,children:t})}function Pm(){return p.useContext(cl)}const Ks="widget-accounts",Gs="widget-positions",Qs="widget-orders",pr="widget-deals",gr="widget-deals-total",Cm=2e4,Om=3e4;function Dr(e){const t=String(e.getUTCDate()).padStart(2,"0"),n=String(e.getUTCMonth()+1).padStart(2,"0"),r=String(e.getUTCHours()).padStart(2,"0"),i=String(e.getUTCMinutes()).padStart(2,"0"),s=String(e.getUTCSeconds()).padStart(2,"0");return`${n}.${t} ${r}:${i}:${s}`}function ll(e){const t=["seconds","Seconds","timestamp","Timestamp","value","Value","time","Time"];for(const n of t)if(e[n]!==void 0&&e[n]!==null&&e[n]!=="")return e[n]}function Zs(e){if(e==null||e==="")return 0;if(typeof e=="number"&&Number.isFinite(e))return e>1e12?e:e*1e3;if(typeof e=="string"){const t=e.trim();if(!t)return 0;if(/^\d+$/.test(t)){const r=Number(t);if(Number.isFinite(r))return r>1e12?r:r*1e3}const n=Date.parse(t);if(Number.isFinite(n))return n}if(typeof e=="object"&&e!==null){const n=ll(e);if(n!==void 0)return Zs(n)}return 0}function Ys(e){if(e==null||e==="")return"—";if(typeof e=="number"&&Number.isFinite(e)){const t=e>1e12?e:e*1e3;return Dr(new Date(t))}if(typeof e=="string"){const t=e.trim();if(!t)return"—";if(/^\d+$/.test(t)){const r=Number(t);if(Number.isFinite(r)){const i=r>1e12?r:r*1e3;return Dr(new Date(i))}}const n=Date.parse(t);return Number.isFinite(n)?Dr(new Date(n)):t}if(typeof e=="object"&&e!==null){const n=ll(e);if(n!==void 0)return Ys(n)}return"—"}const dl=["time","Time","openTime","open_time","OpenTime","TimeOpen","timeOpen","timeCreate","TimeCreate","timeSetup","TimeSetup","setupTime","setup_time","createdAt","created_at","createTime","CreateTime","timestamp","Timestamp","openDate","OpenDate","date","Date"];function Em(e){return Dr(e)}const Am={0:"buy",1:"sell",2:"buy limit",3:"sell limit",4:"buy stop",5:"sell stop",6:"buy stop limit",7:"sell stop limit"};function mi(e,t){for(const n of t)if(e[n]!==void 0&&e[n]!==null&&e[n]!=="")return e[n]}function Xe(e,t){const n=mi(e,t);if(n===void 0)return;const r=Number(n);return Number.isFinite(r)?r:void 0}function xr(e,t){const n=mi(e,t);if(n!==void 0)return String(n)}function Lm(e){if(Array.isArray(e))return e.filter(r=>typeof r=="object"&&r!==null);if(!e||typeof e!="object")return[];const t=e,n=["data","body","result"];for(const r of n){const i=t[r];if(Array.isArray(i))return i.filter(s=>typeof s=="object"&&s!==null);if(i&&typeof i=="object"){const s=i,o=["list","items","records","orders","content","data"];for(const a of o){const l=s[a];if(Array.isArray(l))return l.filter(d=>typeof d=="object"&&d!==null)}}}return[]}function fs(e){return e===void 0?.01:e>=100?e/1e4:e}function Nm(e,t){return tc(t,e)}function Dm(e){const t=mi(e,["type","Type","orderType","OrderType"]);if(typeof t=="string"){const r=t.toLowerCase().trim();if(r)return{label:r,side:r.includes("sell")?"sell":"buy",typeNum:r.includes("sell")?3:2}}const n=Xe(e,["type","Type","orderType","OrderType"])??2;return{label:Am[n]??(n%2===1?"sell":"buy"),side:$r(n),typeNum:n}}function Rm(e,t){const n=Xe(e,["volumeFilled","volume_filled","VolumeFilled","filledVolume","FilledVolume"]);if(n!==void 0)return fs(n);const r=Xe(e,["volumeCurrent","volume_current","VolumeCurrent"]);return r!==void 0?fs(r):0}function jm(e,t){const n=xr(e,["ticket","Ticket","order","Order","id","ID"]),r=xr(e,["symbol","Symbol"])??"";if(!n||!r)return null;const i=Ne(r),{label:s,side:o,typeNum:a}=Dm(e),l=Xe(e,["typeTime","TypeTime"])??0,d=fs(Xe(e,["volumeLots","volume_lots","VolumeLots","volume","Volume"])),u=Rm(e),f=Xe(e,["priceOrder","price_order","PriceOrder","openPrice","open_price","price","Price"])??0,m=Xe(e,["priceTrigger","price_trigger","PriceTrigger","triggerPrice","TriggerPrice"]),h=Xe(e,["currentPrice","current_price","PriceCurrent","priceCurrent","marketPrice","MarketPrice"])??f,b=Xe(e,["stopLoss","stop_loss","PriceSL","sl","SL"]),v=Xe(e,["takeProfit","take_profit","PriceTP","tp","TP"]),w=Xe(e,["marketBid","MarketBid","bid","Bid"])??h,g=Xe(e,["marketAsk","MarketAsk","ask","Ask"])??h,T=xr(e,["comment","Comment"])??"",x=Nm(e,i),y=mi(e,dl),O=Zs(y),C=Ys(y);return{ticket:n,login:xr(e,["login","Login"])??t,symbol:i,displaySymbol:si(i),openTimeMs:O,time:C,typeLabel:s,orderType:a,typeTime:l,side:o,volumeLots:d,volumeFilledLots:u,orderPrice:f,priceTrigger:m,stopLoss:b,takeProfit:v,currentPrice:h,marketBid:w,marketAsk:g,comment:T,digits:x}}function Mm(e,t){return Lm(e).map(n=>jm(n,t)).filter(n=>n!==null)}function pi(e,t){for(const n of t)if(e[n]!==void 0&&e[n]!==null&&e[n]!=="")return e[n]}function xt(e,t){const n=pi(e,t);if(n===void 0)return;const r=Number(n);return Number.isFinite(r)?r:void 0}function kr(e,t){const n=pi(e,t);if(n!==void 0)return String(n)}function Um(e){if(Array.isArray(e))return e.filter(r=>typeof r=="object"&&r!==null);if(!e||typeof e!="object")return[];const t=e,n=["data","body","result"];for(const r of n){const i=t[r];if(Array.isArray(i))return i.filter(s=>typeof s=="object"&&s!==null);if(i&&typeof i=="object"){const s=i,o=["list","items","records","positions","orders","content","data"];for(const a of o){const l=s[a];if(Array.isArray(l))return l.filter(d=>typeof d=="object"&&d!==null)}}}return[]}function Im(e){return e===void 0?.01:e>=100?e/1e4:e}function Fm(e){const t=pi(e,["type","Type","action","Action","side","Side"]);if(typeof t=="string"){const r=t.toLowerCase();if(r.includes("sell"))return"sell";if(r.includes("buy"))return"buy"}const n=xt(e,["type","Type","action","Action"]);return n!==void 0&&n%2===1?"sell":"buy"}function Bm(e,t){return tc(t,e)}function Wm(e,t){const n=kr(e,["ticket","Ticket","position","Position","order","Order","id","ID"]),r=kr(e,["symbol","Symbol"])??"";if(!n||!r)return null;const i=Ne(r),s=Fm(e),o=Im(xt(e,["volumeLots","volume_lots","VolumeLots","volume","Volume"])),a=xt(e,["openPrice","open_price","PriceOpen","priceOpen","price","Price"])??0,l=xt(e,["currentPrice","current_price","PriceCurrent","priceCurrent"])??a,d=xt(e,["stopLoss","stop_loss","PriceSL","sl","SL"]),u=xt(e,["takeProfit","take_profit","PriceTP","tp","TP"]),f=xt(e,["profit","Profit","floating","Floating","pnl","PnL"])??0,m=xt(e,["swap","Swap"])??0,h=kr(e,["comment","Comment"])??"",b=Bm(e,i),v=pi(e,dl),w=Ys(v),g=Zs(v),T=kd(s,a,l,f);return{ticket:n,login:kr(e,["login","Login"])??t,symbol:i,displaySymbol:si(i),openTimeMs:g,time:w,type:s,volumeLots:o,openPrice:a,stopLoss:d,takeProfit:u,currentPrice:l,marketBid:l,marketAsk:l,swap:m,profit:f,profitPerPriceUnit:T,comment:h,digits:b}}function $m(e,t){return Um(e).map(n=>Wm(n,t)).filter(n=>n!==null)}function yr(){return Bt}function ul(){const e=nt(),t=Pm(),{data:n,isLoading:r,isError:i}=Mn({queryKey:[Ks,e.baseUrl,t],queryFn:()=>e.getAccounts(),enabled:!!t,refetchInterval:Om});return{accounts:n??[],isLoading:r,isError:i}}function Vm(e){const t=nt();return Mn({queryKey:[Gs,t.baseUrl,e],queryFn:()=>t.dealer.getPositions(e),enabled:!!e,refetchInterval:Cm})}function Hm(e){const t=nt();return Mn({queryKey:[Qs,t.baseUrl,e],queryFn:()=>t.dealer.getOrders(e),enabled:!!e})}function zm(e,t){e.invalidateQueries({queryKey:[Ks,t]})}function qm(e,t,n){e.invalidateQueries({queryKey:[gr,t,n]}),e.invalidateQueries({queryKey:[pr,t,n]})}function Km(){const e=mr(),t=nt();return p.useCallback(async n=>{await Promise.all([e.invalidateQueries({queryKey:[gr,t.baseUrl,n]}),e.invalidateQueries({queryKey:[pr,t.baseUrl,n]})])},[t.baseUrl,e])}function Gm(){const e=mr(),t=nt();return p.useCallback(async n=>{await Promise.all([e.invalidateQueries({queryKey:[Ks,t.baseUrl]}),e.invalidateQueries({queryKey:[Gs,t.baseUrl,n]}),e.invalidateQueries({queryKey:[Qs,t.baseUrl,n]}),e.invalidateQueries({queryKey:[gr,t.baseUrl,n]}),e.invalidateQueries({queryKey:[pr,t.baseUrl,n]})])},[t.baseUrl,e])}function Qm(){const e=mr(),t=nt();return p.useCallback((n,r,i)=>{zm(e,t.baseUrl),e.invalidateQueries({queryKey:[Gs,t.baseUrl,n]}),(r===void 0||Es(r))&&e.invalidateQueries({queryKey:[Qs,t.baseUrl,n]}),(i==null?void 0:i.invalidateDeals)!==!1&&qm(e,t.baseUrl,n)},[t.baseUrl,e])}function gi(){const e=nt(),t=Qm();return{async submitOrder(n){const r=await e.trading.submitOrder(n);return r.success&&t(n.login,n.orderType),r},async closePosition(n,r){const i=await e.trading.closePosition(n);return i.success&&!(r!=null&&r.skipInvalidation)&&t(n.login),i},async deleteOrder(n){const r=await e.trading.deleteOrder(n);return r.success&&t(n.login,n.orderType),r},async modifyOrder(n,r){const i=await e.trading.modifyOrder(n,r);return i.success&&t(n.login,n.orderType),i},async modifyPosition(n,r){const i=await e.trading.modifyPosition(n,r);return i.success&&t(n.login),i}}}function Zm(e){if(e===null||typeof e!="object")return{deals:[],offset:0,count:0};const t=e,n=t.data??t,i=(Array.isArray(n.deals)?n.deals:[]).map(s=>{const o=s??{};return{deal:Number(o.Deal??0),login:Number(o.Login??0),symbol:String(o.Symbol??""),action:Number(o.Action??0),volume:Number(o.Volume??0),price:Number(o.Price??0),profit:Number(o.Profit??0),time:Number(o.Time??0),entry:Number(o.Entry??0),comment:String(o.Comment??"")}});return{deals:i,offset:Number(n.offset??0),count:Number(n.count??i.length)}}function Ym(e){if(e===null||typeof e!="object")return{total:0};const t=e,n=t.data??t;return{total:Number(n.total??0)}}function Jm(e,t,n,r={}){const i=nt();return Mn({queryKey:[gr,i.baseUrl,e,t,n],queryFn:async()=>{const s=await i.dealer.getDealsTotal(e,t,n);return Ym(s)},enabled:r.enabled??!0})}function Xm(e,t,n,r,i,s={}){const o=nt();return Mn({queryKey:[pr,o.baseUrl,e,t,n,r,i],queryFn:async()=>{const a=await o.dealer.getDeals(e,t,n,r,i);return Zm(a)},enabled:s.enabled??!0})}function ep(e,t){return e!=null?$m(e,t):[]}function tp(e,t){return e!=null?Mm(e,t):[]}function np({symbolTicker:e,controlsRef:t,chartWidget:n,sidePanelTab:r,orderState:i,backUrl:s,createAccountUrl:o}){const{openMarketPanel:a,setSelectedLogin:l,hasConfirmedAccount:d}=i,u=yr();return p.useEffect(()=>(t.current={open:a,setSelectedLogin:l},()=>{t.current=null}),[t,a,l]),c.jsxs(c.Fragment,{children:[d?c.jsx(Zc,{chartWidget:n,symbolTicker:e,symbols:u}):null,d?c.jsx(Hc,{}):null,c.jsx(kh,{symbolTicker:e,symbols:u,sidePanelTab:r,orderState:i,backUrl:s,createAccountUrl:o})]})}const rp=8,ra=11;function ip({wide:e}){return c.jsx("td",{className:"web-trading-widget-terminal__cell",children:c.jsx("div",{className:`web-trading-widget-terminal__skeleton-bar${e?" web-trading-widget-terminal__skeleton-bar--wide":""}`})})}function sp(){return c.jsx(c.Fragment,{children:Array.from({length:rp},(e,t)=>c.jsx("tr",{className:"web-trading-widget-terminal__skeleton-row",children:Array.from({length:ra},(n,r)=>c.jsx(ip,{wide:r===ra-1},r))},t))})}const op="web-trading-widget-text-buy",ap="web-trading-widget-text-sell",cp="web-trading-widget-terminal__head-row",Ri=50;function lp(e){return e===0?op:e===1?ap:cp}const ia=e=>e.toISOString().split("T")[0],fl=e=>Math.floor(new Date(e).getTime()/1e3),dp=e=>fl(e),up=e=>fl(e)+86399;function fp(){const e=new Date,t=new Date;return t.setDate(t.getDate()-7),{fromTs:dp(ia(t)),toTs:up(ia(e))}}const hp=10800,mp=e=>new Date((e-hp)*1e3).toLocaleString(void 0,{year:"numeric",month:"short",day:"2-digit",hour:"2-digit",minute:"2-digit",hour12:!0});function pp(e){try{return decodeURIComponent(e)}catch{return e}}function gp(e,t){return`${e.replace(/\/$/,"")}/${encodeURIComponent(t)}`}function yp(){return c.jsxs("colgroup",{children:[c.jsx("col",{className:"web-trading-widget-terminal-col--deal"}),c.jsx("col",{className:"web-trading-widget-terminal-col--ticket"}),c.jsx("col",{className:"web-trading-widget-terminal-col--symbol"}),c.jsx("col",{className:"web-trading-widget-terminal-col--type"}),c.jsx("col",{className:"web-trading-widget-terminal-col--volume"}),c.jsx("col",{className:"web-trading-widget-terminal-col--price"}),c.jsx("col",{className:"web-trading-widget-terminal-col--profit"}),c.jsx("col",{className:"web-trading-widget-terminal-col--entry"}),c.jsx("col",{className:"web-trading-widget-terminal-col--time"}),c.jsx("col",{className:"web-trading-widget-terminal-col--local-time"}),c.jsx("col",{})]})}function bp(){const{t:e}=Te();return c.jsx("thead",{children:c.jsxs("tr",{className:"web-trading-widget-terminal__head-row",children:[c.jsx("th",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--left web-trading-widget-terminal__head-cell",children:e("WebTrading.deal")}),c.jsx("th",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--left web-trading-widget-terminal__head-cell",children:e("WebTrading.login")}),c.jsx("th",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--left web-trading-widget-terminal__head-cell",children:e("WebTrading.symbol")}),c.jsx("th",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--left web-trading-widget-terminal__head-cell",children:e("WebTrading.action")}),c.jsx("th",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right web-trading-widget-terminal__head-cell",children:e("WebTrading.volume")}),c.jsx("th",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right web-trading-widget-terminal__head-cell",children:e("WebTrading.price")}),c.jsx("th",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right web-trading-widget-terminal__head-cell",children:e("WebTrading.profit")}),c.jsx("th",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--left web-trading-widget-terminal__head-cell",children:e("WebTrading.entry")}),c.jsx("th",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--left web-trading-widget-terminal__head-cell",children:e("WebTrading.time")}),c.jsx("th",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--left web-trading-widget-terminal__head-cell",children:e("WebTrading.localTime")}),c.jsx("th",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--left web-trading-widget-terminal__head-cell",children:e("WebTrading.comment")})]})})}function wp({deal:e,dealActions:t}){const{t:n}=Te(),r=e.profit>0?"web-trading-widget-text-profit-positive":e.profit<0?"web-trading-widget-text-profit-negative":"";return c.jsxs("tr",{className:"web-trading-widget-terminal__deals-row",children:[c.jsx("td",{className:"web-trading-widget-terminal__cell",children:e.deal}),c.jsx("td",{className:"web-trading-widget-terminal__cell",children:e.login}),c.jsx("td",{className:"web-trading-widget-terminal__cell",children:e.symbol||"—"}),c.jsx("td",{className:`web-trading-widget-terminal__cell web-trading-widget-terminal__cell--capitalize ${lp(e.action)}`,children:t[e.action]??n("WebTrading.unknownAction",{action:e.action})}),c.jsx("td",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right",children:(e.volume/1e4).toFixed(2)}),c.jsx("td",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right",children:e.price.toFixed(5)}),c.jsxs("td",{className:`web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right ${r}`,children:[e.profit>0?"+":"",e.profit.toFixed(2)]}),c.jsx("td",{className:"web-trading-widget-terminal__cell",children:e.entry===1?n("WebTrading.entryOut"):n("WebTrading.entryIn")}),c.jsx("td",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--nowrap",children:Em(new Date(e.time*1e3))}),c.jsx("td",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--nowrap",children:mp(e.time)}),c.jsx("td",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--truncate",children:e.comment?pp(e.comment):"—"})]})}function _p({login:e,detailUrl:t}){const{t:n}=Te(),r=p.useMemo(()=>({0:n("WebTrading.buy"),1:n("WebTrading.sell"),2:n("WebTrading.balanceType"),3:n("WebTrading.credit"),5:"-"}),[n]),{fromTs:i,toTs:s}=p.useMemo(()=>fp(),[]),o=e!=="",{data:a,isLoading:l}=Jm(e,i,s,{enabled:o}),d=(a==null?void 0:a.total)??0,u=Math.max(0,d-Ri),f=d>0?Math.min(Ri,d):Ri,{data:m,isLoading:h}=Xm(e,i,s,u,f,{enabled:o}),b=o&&(l||h),v=p.useMemo(()=>[...(m==null?void 0:m.deals)??[]].sort((w,g)=>g.time-w.time),[m==null?void 0:m.deals]);return e?c.jsx("div",{className:"web-trading-widget-terminal__deals-wrap",children:c.jsxs("div",{className:"web-trading-widget-terminal__body-scroll",children:[c.jsxs("table",{className:"web-trading-widget-terminal__deals-table",children:[c.jsx(yp,{}),c.jsx(bp,{}),c.jsxs("tbody",{children:[b?c.jsx(sp,{}):null,!b&&v.length===0?c.jsx("tr",{children:c.jsx("td",{colSpan:11,className:"web-trading-widget-terminal__empty-cell",children:n("WebTrading.noDealsFound")})}):null,b?null:v.map(w=>c.jsx(wp,{deal:w,dealActions:r},w.deal))]})]}),t?c.jsx("div",{className:"web-trading-widget-terminal__deals-footer",children:c.jsx("a",{href:gp(t,e),className:"web-trading-widget-terminal__deals-detail-btn",children:n("WebTrading.seeFullDealHistory")})}):null]})}):c.jsx("div",{className:"web-trading-widget-terminal__empty-cell",children:n("WebTrading.selectAccountForDeals")})}function hl(e,t=!0){const n=t&&e.trim()?e.trim():"",r=le(f=>f.setPositions),i=le(f=>f.setOrders),{data:s,isLoading:o,isError:a}=Vm(n),{data:l,isLoading:d,isError:u}=Hm(n);return p.useEffect(()=>{if(!n){r([]),i([]);return}s!=null&&r(ep(s,n)),l!=null&&i(tp(l,n))},[n,l,s,i,r]),{isLoading:t&&(o||d),isError:t&&!!(a||u)}}const sa=224,oa=32,Js=120;function ml(){return typeof window>"u"?560:Math.max(Js,Math.floor(window.innerHeight*.7))}function vp(e){return Math.min(ml(),Math.max(Js,e))}function Sp(){const[e,t]=p.useState(sa),[n,r]=p.useState(!1),i=p.useRef(sa);p.useEffect(()=>{i.current=e},[e]);const s=p.useCallback(u=>{t(vp(u))},[]),o=p.useCallback(()=>{s(i.current+oa)},[s]),a=p.useCallback(()=>{s(i.current-oa)},[s]),l=p.useCallback(u=>{const f=u,m=i.current;r(!0);const h=v=>{const w=f-v.clientY;s(m+w)},b=()=>{r(!1),document.removeEventListener("mousemove",h),document.removeEventListener("mouseup",b),document.body.style.cursor="",document.body.style.userSelect=""};document.addEventListener("mousemove",h),document.addEventListener("mouseup",b),document.body.style.cursor="row-resize",document.body.style.userSelect="none"},[s]);p.useEffect(()=>{const u=()=>{s(i.current)};return window.addEventListener("resize",u),()=>{window.removeEventListener("resize",u),document.body.style.cursor="",document.body.style.userSelect=""}},[s]);const d=ml();return{height:e,isResizing:n,canIncrement:e<d,canDecrement:e>Js,onResizeStart:l,incrementHeight:o,decrementHeight:a}}const pl=e=>e==null?void 0:e.replace(/(\d+)\.0{18}/g,"$1"),Tp=2e4,en={ADD_TOAST:"ADD_TOAST",DISMISS_TOAST:"DISMISS_TOAST",REMOVE_TOAST:"REMOVE_TOAST"},ji=new Map,aa=(e,t)=>{if(ji.has(e))return;const n=setTimeout(()=>{ji.delete(e),Qr({type:en.REMOVE_TOAST,toastId:e})},t??Tp);ji.set(e,n)};function xp(e,t){switch(t.type){case en.ADD_TOAST:return{...e,toasts:[t.toast,...e.toasts].slice(0,t.limit??1)};case en.DISMISS_TOAST:{const{toastId:n}=t;if(n){const r=e.toasts.find(i=>i.id===n);aa(n,r==null?void 0:r.duration)}else e.toasts.forEach(r=>{aa(r.id,r.duration)});return{...e,toasts:e.toasts.map(r=>r.id===n||n===void 0?{...r,open:!1}:r)}}case en.REMOVE_TOAST:return t.toastId===void 0?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(n=>n.id!==t.toastId)};default:return e}}const Rr=[];let jr={toasts:[]},Mi=0;function kp(){return Mi=(Mi+1)%Number.MAX_VALUE,Mi.toString()}function Qr(e){jr=xp(jr,e),Rr.forEach(t=>{t(jr)})}function ge({duration:e=2e4,description:t,limit:n,...r}){const i=kp(),s=typeof t=="string"?pl(t):t,o=()=>{Qr({type:en.DISMISS_TOAST,toastId:i})};return Qr({type:en.ADD_TOAST,limit:n,toast:{...r,description:s,id:i,open:!0,duration:e}}),e&&setTimeout(o,e),{id:i,dismiss:o}}function Pp(){const[e,t]=Ie.useState(jr);return Ie.useEffect(()=>(Rr.push(t),()=>{const n=Rr.indexOf(t);n>-1&&Rr.splice(n,1)}),[]),{...e,toast:ge,dismiss:n=>Qr({type:en.DISMISS_TOAST,toastId:n})}}function Cp(e){return e.type==="buy"?e.marketBid??e.currentPrice:e.marketAsk??e.currentPrice}function Op(){const{t:e}=Te(),{closePosition:t,deleteOrder:n}=gi(),r=Gm(),i=le(g=>g.removePosition),s=le(g=>g.removeOrder),o=le(g=>g.setSelectedPositionTicket),a=le(g=>g.setSelectedOrderTicket),[l,d]=p.useState(new Set),[u,f]=p.useState(!1),m=p.useCallback((g,T)=>{d(x=>{const y=new Set(x);return T?y.add(g):y.delete(g),y})},[]),h=p.useCallback(g=>l.has(g),[l]),b=p.useCallback(async g=>{const T=`position-${g.ticket}`;m(T,!0);try{const x=await t(g);if(!x.success){ge({variant:"destructive",description:x.message||e("WebTrading.failedClosePosition")});return}i(g.ticket),o(null),ge({description:e("WebTrading.positionClosed",{ticket:g.ticket,price:Cp(g).toFixed(g.digits)})})}catch(x){const y=x instanceof Error?x.message:e("WebTrading.failedClosePosition");ge({variant:"destructive",description:y})}finally{m(T,!1)}},[t,i,m,o,e]),v=p.useCallback(async g=>{var O;if(g.length===0||u)return;if(!t){ge({variant:"destructive",description:e("WebTrading.closePositionNotConfigured")});return}f(!0);let T=0,x=0;const y=((O=g[0])==null?void 0:O.login)??"";for(const C of g){const E=`position-${C.ticket}`;m(E,!0);try{if(!(await t(C,{skipInvalidation:!0})).success){x+=1;continue}i(C.ticket),T+=1}catch{x+=1}finally{m(E,!1)}}o(null),T>0&&y&&await r(y),ge(x===0?{description:T===1?e("WebTrading.onePositionClosed"):e("WebTrading.positionsClosed",{count:T})}:T===0?{variant:"destructive",description:e("WebTrading.failedClosePositions")}:{variant:"destructive",description:e("WebTrading.closedFailedSummary",{closed:T,failed:x})}),f(!1)},[u,t,r,i,m,o,e]),w=p.useCallback(async g=>{const T=`order-${g.ticket}`;m(T,!0);try{const x=await n(g);if(!x.success){ge({variant:"destructive",description:x.message||e("WebTrading.failedDeleteOrder")});return}s(g.ticket),a(null),ge({description:e("WebTrading.orderDeleted",{ticket:g.ticket})})}catch(x){const y=x instanceof Error?x.message:e("WebTrading.failedDeleteOrder");ge({variant:"destructive",description:y})}finally{m(T,!1)}},[n,s,m,a,e]);return{closePosition:b,closeAllPositions:v,deleteOrder:w,isClosingAll:u,isRowBusy:h}}function kt(e,t=2){return e.toFixed(t)}function gl(e){return e.reduce((t,n)=>t+n.profit+n.swap,0)}function Ep(e,t,n){const r=(e==null?void 0:e.balance)??0,i=(e==null?void 0:e.credit)??0,s=(e==null?void 0:e.margin)??0;if(!e||t.length===0)return{balance:r,equity:(e==null?void 0:e.equity)??r+i,margin:s,marginFree:(e==null?void 0:e.marginFree)??0,marginLevel:e==null?void 0:e.marginLevel,totalProfit:0};const o=gl(t),a=r+i+o+n,l=a-s,d=s>0?a/s*100:void 0;return{balance:r,equity:a,margin:s,marginFree:l,marginLevel:d,totalProfit:o}}function hs(){return c.jsxs("colgroup",{children:[c.jsx("col",{className:"web-trading-widget-terminal-col--symbol"}),c.jsx("col",{className:"web-trading-widget-terminal-col--ticket"}),c.jsx("col",{className:"web-trading-widget-terminal-col--time"}),c.jsx("col",{className:"web-trading-widget-terminal-col--type"}),c.jsx("col",{className:"web-trading-widget-terminal-col--volume"}),c.jsx("col",{className:"web-trading-widget-terminal-col--price"}),c.jsx("col",{className:"web-trading-widget-terminal-col--sl"}),c.jsx("col",{className:"web-trading-widget-terminal-col--tp"}),c.jsx("col",{className:"web-trading-widget-terminal-col--price2"}),c.jsx("col",{className:"web-trading-widget-terminal-col--swap"}),c.jsx("col",{className:"web-trading-widget-terminal-col--profit"}),c.jsx("col",{}),c.jsx("col",{className:"web-trading-widget-terminal-col--close"})]})}function Ap(){const{t:e}=Te();return c.jsx("thead",{children:c.jsxs("tr",{className:"web-trading-widget-terminal__head-row",children:[c.jsx("th",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--left web-trading-widget-terminal__head-cell",children:e("WebTrading.symbol")}),c.jsx("th",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--left web-trading-widget-terminal__head-cell",children:e("WebTrading.ticket")}),c.jsx("th",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--left web-trading-widget-terminal__head-cell",children:e("WebTrading.serverTime")}),c.jsx("th",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--left web-trading-widget-terminal__head-cell",children:e("WebTrading.type")}),c.jsx("th",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right web-trading-widget-terminal__head-cell",children:e("WebTrading.volume")}),c.jsx("th",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right web-trading-widget-terminal__head-cell",children:e("WebTrading.price")}),c.jsx("th",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right web-trading-widget-terminal__head-cell",children:e("WebTrading.stopLossShort")}),c.jsx("th",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right web-trading-widget-terminal__head-cell",children:e("WebTrading.takeProfitShort")}),c.jsx("th",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right web-trading-widget-terminal__head-cell",children:e("WebTrading.price")}),c.jsx("th",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right web-trading-widget-terminal__head-cell",children:e("WebTrading.swap")}),c.jsx("th",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right web-trading-widget-terminal__head-cell",children:e("WebTrading.profit")}),c.jsx("th",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--left web-trading-widget-terminal__head-cell",children:e("WebTrading.comment")}),c.jsx("th",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--close","aria-label":e("WebTrading.close")})]})})}function Lp({balance:e,equity:t,margin:n,marginFree:r,marginLevel:i,totalPnL:s,scrollRef:o,onScroll:a}){const{t:l}=Te(),d=s>0?"web-trading-widget-text-profit-positive":s<0?"web-trading-widget-text-profit-negative":"";return c.jsx("div",{className:"web-trading-widget-terminal__stats",children:c.jsx("div",{ref:o,className:"web-trading-widget-terminal__header-scroll",onScroll:a,children:c.jsxs("table",{className:"web-trading-widget-terminal__table",children:[c.jsx(hs,{}),c.jsx("tbody",{children:c.jsxs("tr",{children:[c.jsx("td",{colSpan:10,className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--nowrap",children:c.jsxs("div",{className:"web-trading-widget-terminal__stats-row web-trading-widget-terminal__stats-row--tabular",children:[c.jsxs("span",{children:[l("WebTrading.balance"),": ",kt(e)]}),c.jsxs("span",{children:[l("WebTrading.equity"),": ",kt(t)]}),c.jsxs("span",{children:[l("WebTrading.margin"),": ",kt(n)]}),c.jsxs("span",{children:[l("WebTrading.freeMargin"),": ",kt(r)]}),c.jsxs("span",{children:[l("WebTrading.level"),": ",i!==void 0?`${kt(i,2)}%`:"0.00%"]})]})}),c.jsx("td",{className:`web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right ${d}`,children:kt(s)}),c.jsx("td",{className:"web-trading-widget-terminal__cell"}),c.jsx("td",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--close"})]})})]})})})}function Np({activeTab:e,onTabChange:t,positionCount:n,isClosingAll:r,onCloseAllPositions:i,isRefetchingDeals:s,onRefetchDeals:o}){const{t:a}=Te(),l=[{id:"trade",label:a("WebTrading.trade")},{id:"history",label:a("WebTrading.history")}],d=e==="trade"&&(n>0||r),u=e==="history";return c.jsxs("div",{role:"tablist","aria-label":a("WebTrading.terminalPanelTabs"),className:"web-trading-widget-terminal__tab-bar",children:[l.map(f=>{const m=e===f.id;return c.jsx("button",{type:"button",role:"tab","aria-selected":m,onClick:()=>t(f.id),className:`web-trading-widget-terminal__tab-btn${m?" web-trading-widget-terminal__tab-btn--active":""}`,children:f.label},f.id)}),c.jsxs("div",{className:"web-trading-widget-terminal__toolbar-actions",children:[d?c.jsx("button",{type:"button",disabled:r,onClick:i,className:"web-trading-widget-terminal__close-all-btn",children:a(r?"WebTrading.closing":"WebTrading.closeAll")}):null,u?c.jsxs("button",{type:"button",disabled:s,onClick:o,className:"web-trading-widget-terminal__refetch-btn","aria-label":a("WebTrading.refreshDealHistory"),children:[c.jsx(bd,{className:`web-trading-widget-icon web-trading-widget-icon--sm${s?" web-trading-widget-terminal__refetch-icon--spinning":""}`}),a(s?"WebTrading.refreshing":"WebTrading.refresh")]}):null]})]})}function Dp({position:e,isSelected:t,isClosing:n,onSelect:r,onClose:i}){const{t:s}=Te(),o=e.type==="buy"?"web-trading-widget-text-buy":"web-trading-widget-text-sell",a=e.profit>0?"web-trading-widget-text-profit-positive":e.profit<0?"web-trading-widget-text-profit-negative":"";return c.jsxs("tr",{className:`web-trading-widget-terminal__row${t?" web-trading-widget-terminal__row--selected":""}`,onClick:r,children:[c.jsx("td",{className:"web-trading-widget-terminal__cell",children:e.displaySymbol}),c.jsx("td",{className:"web-trading-widget-terminal__cell",children:e.ticket}),c.jsx("td",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--nowrap",children:e.time}),c.jsx("td",{className:`web-trading-widget-terminal__cell web-trading-widget-terminal__cell--capitalize ${o}`,children:e.type}),c.jsx("td",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right",children:e.volumeLots.toFixed(2)}),c.jsx("td",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right",children:pe(e.openPrice,e.digits)}),c.jsx("td",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right",children:e.stopLoss!==void 0&&e.stopLoss!==0?pe(e.stopLoss,e.digits):s("WebTrading.notAvailable")}),c.jsx("td",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right",children:e.takeProfit!==void 0&&e.takeProfit!==0?pe(e.takeProfit,e.digits):s("WebTrading.notAvailable")}),c.jsx("td",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right",children:pe(e.currentPrice,e.digits)}),c.jsx("td",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right",children:e.swap!==0?kt(e.swap):""}),c.jsx("td",{className:`web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right ${a}`,children:kt(e.profit)}),c.jsx("td",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--truncate",children:e.comment}),c.jsx("td",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--close",children:c.jsx("button",{type:"button","aria-label":s("WebTrading.closePositionTicket",{ticket:e.ticket}),title:s("WebTrading.closePosition"),disabled:n,className:"web-trading-widget-terminal__row-close-btn",onClick:l=>{l.stopPropagation(),i()},children:c.jsx(Ft,{className:"web-trading-widget-icon web-trading-widget-icon--sm"})})})]})}function Rp({order:e,isSelected:t,isDeleting:n,onSelect:r,onDelete:i}){const{t:s}=Te(),o=e.side==="buy"?"web-trading-widget-text-buy":"web-trading-widget-text-sell";return c.jsxs("tr",{className:`web-trading-widget-terminal__row${t?" web-trading-widget-terminal__row--selected":""}`,onClick:r,children:[c.jsx("td",{className:"web-trading-widget-terminal__cell",children:e.displaySymbol}),c.jsx("td",{className:"web-trading-widget-terminal__cell",children:e.ticket}),c.jsx("td",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--nowrap",children:e.time}),c.jsx("td",{className:`web-trading-widget-terminal__cell web-trading-widget-terminal__cell--capitalize ${o}`,children:e.typeLabel}),c.jsxs("td",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right",children:[e.volumeLots.toFixed(2)," / ",e.volumeFilledLots.toFixed(2)]}),c.jsx("td",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right",children:pe(e.orderPrice,e.digits)}),c.jsx("td",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right",children:e.stopLoss!==void 0&&e.stopLoss!==0?pe(e.stopLoss,e.digits):s("WebTrading.notAvailable")}),c.jsx("td",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right",children:e.takeProfit!==void 0&&e.takeProfit!==0?pe(e.takeProfit,e.digits):s("WebTrading.notAvailable")}),c.jsx("td",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right",children:pe(e.currentPrice,e.digits)}),c.jsx("td",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right"}),c.jsx("td",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--right"}),c.jsx("td",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--truncate",children:e.comment}),c.jsx("td",{className:"web-trading-widget-terminal__cell web-trading-widget-terminal__cell--close",children:c.jsx("button",{type:"button","aria-label":s("WebTrading.deleteOrderTicket",{ticket:e.ticket}),title:s("WebTrading.deleteOrder"),disabled:n,className:"web-trading-widget-terminal__row-close-btn",onClick:a=>{a.stopPropagation(),i()},children:c.jsx(Ft,{className:"web-trading-widget-icon web-trading-widget-icon--sm"})})})]})}function yl({embedded:e=!1,symbolTicker:t="",onSymbolChange:n,onCreateNewOrder:r,dealDetailUrl:i,tradeDataEnabled:s=!1}){const{t:o}=Te(),[a,l]=p.useState("trade"),d=yr(),{accounts:u,isLoading:f}=ul(),m=Sp(),{height:h,isResizing:b,onResizeStart:v}=e?{height:0,isResizing:!1,onResizeStart:()=>{}}:m,w=le(V=>V.selectedLogin),g=le(V=>V.selectedPositionTicket),T=le(V=>V.selectedOrderTicket),x=le(V=>V.setSelectedPositionTicket),y=le(V=>V.setSelectedOrderTicket),{isLoading:O}=hl(w,s),C=le(V=>V.positions),E=le(V=>V.orders),{closePosition:k,closeAllPositions:U,deleteOrder:F,isClosingAll:H,isRowBusy:L}=Op(),Q=Km(),K=nt(),re=Tm({predicate:V=>{const _e=V.queryKey;return w?(_e[0]===pr||_e[0]===gr)&&_e[1]===K.baseUrl&&_e[2]===w:!1}})>0,P=f||O,D=p.useMemo(()=>w?C.filter(V=>V.login===w):C,[C,w]),j=p.useMemo(()=>w?E.filter(V=>V.login===w):E,[E,w]),A=p.useMemo(()=>{const V=u.find(_e=>_e.login===w);return(V==null?void 0:V.tradeStat)??null},[u,w]),W=p.useMemo(()=>D.map(V=>V.ticket).sort().join("|"),[D]),R=p.useMemo(()=>A?`${A.balance}:${A.credit??0}:${A.equity}:${A.margin}|${W}`:"",[A,W]),G=p.useMemo(()=>{if(!A||D.length===0)return 0;const V=gl(D);return A.equity-A.balance-(A.credit??0)-V},[R]),ae=p.useMemo(()=>Ep(A,D,G),[A,D,G]),ce=D.length===0&&j.length===0,ie=p.useRef(null),N=p.useRef(null),Z=p.useRef(null),te=p.useCallback(()=>{U(D)},[U,D]),ve=p.useCallback(()=>{w&&Q(w)},[Q,w]),Re=p.useCallback(V=>{const _e=Rd(V,d);_e&&(n==null||n(_e))},[n,d]),be=p.useCallback(V=>{x(V.ticket),Re(V.symbol)},[x,Re]),Pe=p.useCallback(V=>{y(V.ticket),Re(V.symbol)},[y,Re]),Ce=p.useCallback(V=>{const _e=ie.current,Y=N.current,we=Z.current;if(!_e||!Y)return;const je=V==="header"?_e.scrollLeft:V==="body"?Y.scrollLeft:(we==null?void 0:we.scrollLeft)??0;V!=="header"&&(_e.scrollLeft=je),V!=="body"&&(Y.scrollLeft=je),we&&V!=="footer"&&(we.scrollLeft=je)},[]);return c.jsxs(c.Fragment,{children:[!e&&b?c.jsx("div",{className:"web-trading-widget-terminal-resize-overlay","aria-hidden":!0}):null,c.jsxs("div",{className:`web-trading-widget-terminal${e?" web-trading-widget-terminal--embedded":""}`,style:e?void 0:{height:h},children:[e?null:c.jsx("div",{className:"web-trading-widget-terminal__resize-bar-wrap",children:c.jsx("div",{role:"separator","aria-orientation":"horizontal","aria-label":o("WebTrading.resizeTerminalPanel"),"aria-valuenow":h,className:"web-trading-widget-terminal__resize-bar",onMouseDown:V=>{V.preventDefault(),v(V.clientY)},children:c.jsx(Ja,{className:"web-trading-widget-icon web-trading-widget-icon--sm web-trading-widget-terminal__resize-icon"})})}),c.jsx(Np,{activeTab:a,onTabChange:l,positionCount:D.length,isClosingAll:H,onCloseAllPositions:te,isRefetchingDeals:re,onRefetchDeals:ve}),a==="trade"?c.jsxs(c.Fragment,{children:[c.jsx("div",{ref:ie,className:"web-trading-widget-terminal__header-scroll",onScroll:()=>Ce("header"),children:c.jsxs("table",{className:"web-trading-widget-terminal__table",children:[c.jsx(hs,{}),c.jsx(Ap,{})]})}),c.jsx("div",{ref:N,className:"web-trading-widget-terminal__body-scroll",onScroll:()=>Ce("body"),children:c.jsxs("table",{className:"web-trading-widget-terminal__table",children:[c.jsx(hs,{}),c.jsxs("tbody",{children:[P&&ce?c.jsx("tr",{children:c.jsx("td",{colSpan:13,className:"web-trading-widget-terminal__empty-cell",children:o("WebTrading.loading")})}):null,!P&&ce?c.jsx("tr",{children:c.jsx("td",{colSpan:13,className:"web-trading-widget-terminal__empty-cell",children:c.jsxs("div",{className:"web-trading-widget-terminal__empty-inner",children:[c.jsx("p",{className:"web-trading-widget-terminal__empty-text",children:o("WebTrading.noPositions")}),r?c.jsx("button",{type:"button",onClick:r,className:"web-trading-widget-terminal__create-btn",children:o("WebTrading.createNewOrder")}):null]})})}):null,D.map(V=>c.jsx(Dp,{position:V,isSelected:g===V.ticket,isClosing:L(`position-${V.ticket}`),onSelect:()=>be(V),onClose:()=>void k(V)},`position-${V.ticket}`)),j.map(V=>c.jsx(Rp,{order:V,isSelected:T===V.ticket,isDeleting:L(`order-${V.ticket}`),onSelect:()=>Pe(V),onDelete:()=>void F(V)},`order-${V.ticket}`))]})]})})]}):c.jsx(_p,{login:w??"",detailUrl:i}),c.jsx(Lp,{balance:ae.balance,equity:ae.equity,margin:ae.margin,marginFree:ae.marginFree,marginLevel:ae.marginLevel,totalPnL:ae.totalProfit,scrollRef:a==="trade"?Z:void 0,onScroll:a==="trade"?()=>Ce("footer"):void 0})]})]})}const ms=224,Zr=120;function jp(e){var n;const t=(n=e==null?void 0:e.current)==null?void 0:n.clientHeight;return t&&t>0?Math.max(Zr,Math.floor(t*.35)):ms}function Mp(e){var n;const t=(n=e==null?void 0:e.current)==null?void 0:n.clientHeight;return t&&t>0?Math.max(Zr,Math.floor(t*.85)):typeof window>"u"?560:Math.max(Zr,Math.floor(window.innerHeight*.7))}function Up(e,t){return Math.min(Mp(t),Math.max(Zr,e))}function Ip({containerRef:e,isOpen:t=!1}={}){const[n,r]=p.useState(ms),[i,s]=p.useState(!1),o=p.useRef(ms);p.useEffect(()=>{o.current=n},[n]);const a=p.useCallback(d=>{r(Up(d,e))},[e]);p.useEffect(()=>{if(!t)return;const d=Math.max(o.current,jp(e));a(d)},[e,t,a]);const l=p.useCallback(d=>{const u=d,f=o.current;s(!0);const m=b=>{const v=u-b.clientY;a(f+v)},h=()=>{s(!1),document.removeEventListener("mousemove",m),document.removeEventListener("mouseup",h),document.body.style.cursor="",document.body.style.userSelect=""};document.addEventListener("mousemove",m),document.addEventListener("mouseup",h),document.body.style.cursor="row-resize",document.body.style.userSelect="none"},[a]);return p.useEffect(()=>{const d=()=>{a(o.current)};return window.addEventListener("resize",d),()=>{window.removeEventListener("resize",d),document.body.style.cursor="",document.body.style.userSelect=""}},[a]),{height:n,isResizing:i,onResizeStart:l}}function bl({children:e}){const[t]=p.useState(()=>new dm({defaultOptions:{queries:{retry:!1,refetchOnWindowFocus:!1}}}));return c.jsx(um,{client:t,children:e})}function wl({containerRef:e,onCreateNewOrder:t,tradeDataEnabled:n=!1}){const{t:r}=Te(),[i,s]=p.useState(!1),{height:o,isResizing:a,onResizeStart:l}=Ip({containerRef:e,isOpen:i}),d=le(w=>w.selectedLogin),u=le(w=>w.orders),f=le(w=>w.positions),m=p.useMemo(()=>d?u.filter(w=>w.login===d):u,[d,u]),h=p.useMemo(()=>d?f.filter(w=>w.login===d):f,[d,f]),b=m.length+h.length,v=()=>{s(!1),t==null||t()};return c.jsxs("div",{className:"web-trading-widget-news-orders-overlay-root",children:[c.jsxs("button",{type:"button",className:"web-trading-widget-news-orders-overlay__trigger","aria-label":r("WebTrading.openTerminal"),"aria-expanded":i,onClick:()=>s(!0),children:[c.jsx(md,{className:"web-trading-widget-icon web-trading-widget-icon--sm"}),c.jsx("span",{children:r("WebTrading.orders")}),b>0?c.jsx("span",{className:"web-trading-widget-news-orders-overlay__badge",children:b}):null]}),i?c.jsx(c.Fragment,{children:c.jsxs("div",{className:"web-trading-widget-news-orders__panel",style:{height:o},children:[a?c.jsx("div",{className:"web-trading-widget-terminal-resize-overlay","aria-hidden":!0}):null,c.jsx("div",{className:"web-trading-widget-news-orders__panel-resize-bar-wrap",children:c.jsx("div",{role:"separator","aria-orientation":"horizontal","aria-label":r("WebTrading.resizeTerminalPanel"),"aria-valuenow":o,className:"web-trading-widget-terminal__resize-bar",onMouseDown:w=>{w.preventDefault(),l(w.clientY)},children:c.jsx(Ja,{className:"web-trading-widget-icon web-trading-widget-icon--sm web-trading-widget-terminal__resize-icon"})})}),c.jsxs("div",{className:"web-trading-widget-news-orders__panel-header",children:[c.jsx("h2",{className:"web-trading-widget-news-orders__panel-title",children:r("WebTrading.terminal")}),c.jsx("button",{type:"button",className:"web-trading-widget-news-orders__panel-close","aria-label":r("WebTrading.closeTerminalPanel"),onClick:()=>s(!1),children:c.jsx(Ft,{className:"web-trading-widget-icon web-trading-widget-icon--sm"})})]}),c.jsx("div",{className:"web-trading-widget-news-orders__panel-body",children:c.jsx(yl,{embedded:!0,onCreateNewOrder:t?v:void 0,tradeDataEnabled:n})})]})}):null]})}function Fp({baseUrl:e,tickWebSocketUrl:t,language:n,containerRef:r,onCreateNewOrder:i}){const s=p.useMemo(()=>ri(n),[n]);return c.jsx(Za,{language:s,children:c.jsx(bl,{children:c.jsx($c,{baseUrl:e,tickWebSocketUrl:t,children:c.jsx(wl,{containerRef:r,onCreateNewOrder:i})})})})}function ut({title:e,isOpen:t,onToggle:n,children:r,className:i}){return c.jsxs("div",{className:ht("web-trading-widget-market-panel__accordion-item",i),children:[c.jsxs("button",{type:"button",className:ht("web-trading-widget-market-panel__accordion-trigger",t&&"web-trading-widget-market-panel__accordion-trigger--open"),"aria-expanded":t,onClick:n,children:[e,c.jsx(Br,{className:"web-trading-widget-icon web-trading-widget-icon--md web-trading-widget-text-muted"})]}),t?c.jsx("div",{className:"web-trading-widget-market-panel__accordion-content",children:r}):null]})}const tn=p.forwardRef(({className:e,...t},n)=>c.jsx("input",{ref:n,className:ht("web-trading-widget-market-panel__input",e),...t}));tn.displayName="WidgetInput";function ca(e){const t=e.trim().replace(/,/g,"");if(!t||t===".")return null;const n=Number(t);return Number.isFinite(n)?n:null}function la(e,t){return t<=0?String(Math.round(e)):e.toFixed(t)}function Bp(e,t){const n=e.replace(/,/g,"").replace(/[^\d.]/g,""),r=n.indexOf(".");if(r===-1)return n;const i=n.slice(0,r),s=n.slice(r+1).replace(/\./g,""),o=t>0?s.slice(0,t):"";return`${i}.${o}`}function Wp(e){const t=e.trim();return!t||t==="."?"":t.endsWith(".")?t.slice(0,-1):t}function ke({label:e,value:t,onChange:n,step:r=.01,min:i,decimals:s=2,placeholder:o,basePrice:a,disabled:l=!1,clearable:d=!1}){const[u,f]=p.useState(t),[m,h]=p.useState(!1),b=m?u:t,v=b.trim()!=="",w=!d;p.useEffect(()=>{m||f(t)},[m,t]);const g=()=>a!=null&&Number.isFinite(a)?a:i??0,T=k=>{f(k),n(k)},x=k=>{if(l)return;const U=g(),F=ca(b),H=b.trim()!=="";let L;!H||F===null?L=k===1?U:U-r:L=F+k*r;const Q=i!==void 0?Math.max(i,L):L;if(Q<=0)return;const K=la(Q,s);h(!1),T(K)},y=()=>{h(!0),f(t)},O=()=>{h(!1);const k=Wp(u);if(!k){u.trim()!==""&&T("");return}const U=ca(k);if(U===null||U<=0){T("");return}if(w){T(la(U,s));return}T(k)},C=k=>{f(Bp(k,s))},E=()=>{l||(h(!1),T(""))};return c.jsxs("div",{className:"web-trading-widget-stepper",children:[c.jsxs("div",{className:"web-trading-widget-stepper__header",children:[c.jsx("span",{className:"web-trading-widget-stepper__label",children:e}),d&&v?c.jsx("button",{type:"button","aria-label":`Clear ${e}`,className:"web-trading-widget-stepper__clear",disabled:l,onClick:E,children:c.jsx(Ft,{className:"web-trading-widget-icon web-trading-widget-icon--xs"})}):null]}),c.jsxs("div",{className:`web-trading-widget-stepper__control${l?" web-trading-widget-stepper__control--disabled":""}`,children:[c.jsx("button",{type:"button","aria-label":`Decrease ${e}`,className:"web-trading-widget-stepper__btn web-trading-widget-stepper__btn--minus",disabled:l||a===null&&b.trim()==="",onClick:()=>x(-1),children:c.jsx(gd,{className:"web-trading-widget-icon web-trading-widget-icon--sm"})}),c.jsx("input",{type:"text",inputMode:"decimal",pattern:"[0-9]*[.]?[0-9]*",value:b,placeholder:o,disabled:l,onFocus:y,onChange:k=>C(k.target.value),onBlur:O,className:"web-trading-widget-stepper__input"}),c.jsx("button",{type:"button","aria-label":`Increase ${e}`,className:"web-trading-widget-stepper__btn web-trading-widget-stepper__btn--plus",disabled:l||a===null&&b.trim()==="",onClick:()=>x(1),children:c.jsx(yd,{className:"web-trading-widget-icon web-trading-widget-icon--sm"})})]})]})}const $p=new Set(["volume-setting","risk-management"]);function Vp({symbolTicker:e,bid:t,ask:n,defaultVolumeLots:r,volumeStep:i,minVolumeLots:s,isSubmitting:o,isAccountsLoading:a,selectedLogin:l,embedded:d=!1,onMinimize:u,onClose:f,onPlaceOrder:m}){const{t:h}=Te(),[b,v]=p.useState("market"),[w,g]=p.useState(String(r)),[T,x]=p.useState(""),[y,O]=p.useState(""),C=ne(J=>J.stopLoss),E=ne(J=>J.takeProfit),k=ne(J=>J.setStopLoss),U=ne(J=>J.setTakeProfit),F=ne(J=>J.setVolumeLots),H=ne(J=>J.setOrderSide),[L,Q]=p.useState(""),[K,re]=p.useState(We.GTC),[P,D]=p.useState(""),[j,A]=p.useState(""),[W,R]=p.useState(()=>new Set($p)),G=Number(wt(_t(e))),ae=Dn(G),ce=Rs(t,n),ie=t!==null?pe(t,G):"—",N=n!==null?pe(n,G):"—",Z=ai(b),te=rc(b),ve=oi(b),Re=h(Vr[b]),be=!Z&&ve.orderType!==null&&ve.orderType%2===1,Pe=p.useMemo(()=>ce!==null?ce:t??n,[n,t,ce]),Ce=J=>{R(Ye=>{const vt=new Set(Ye);return vt.has(J)?vt.delete(J):vt.add(J),vt})},V=J=>{g(J);const Ye=Number(J);Number.isFinite(Ye)&&Ye>0&&F(Ye)},_e=J=>t===null||n===null?null:Z?J==="buy"?n:t:Le(T)??(J==="buy"?n:t),Y=J=>{const Ye=_e(J);Ye!==null&&H({side:J,entryPrice:Ye})},we=J=>{if(t===null||n===null||!l)return;const Ye=Math.max(s,Number(w)||s),vt=Vi(b,J),br=_e(J);br!==null&&H({side:J,entryPrice:br}),m({login:l,executionMode:b,side:J,orderType:vt,volumeLots:Ye,stopLoss:C,takeProfit:E,priceOrder:T,priceTrigger:y,comment:L,typeTime:K,expirationDateTime:P,expirationDay:j,bid:t,ask:n})},je=t!==null&&n!==null,Ze=Z||Le(T)!==void 0,an=!te||Le(y)!==void 0,Un=Z||li(K,P,j),it=!o&&!a&&l!==""&&je&&Ze&&an&&Un,yi=!Z&&Ls(K),bi=!Z&&Ns(K);return c.jsxs("div",{className:"web-trading-widget-market-panel",children:[c.jsxs("div",{className:"web-trading-widget-market-panel__header",children:[c.jsx("select",{value:b,className:"web-trading-widget-market-panel__select-trigger","aria-label":h("WebTrading.orderExecutionType"),onChange:J=>v(J.target.value),children:Wr.map(J=>c.jsx("option",{value:J.mode,children:h(Vr[J.mode])},J.mode))}),d?null:c.jsxs("div",{className:"web-trading-widget-market-panel__header-actions",children:[c.jsx("button",{type:"button","aria-label":h("WebTrading.minimizeToQuickOrder"),className:"web-trading-widget-market-panel__header-btn",onClick:u,children:c.jsx(pd,{className:"web-trading-widget-icon web-trading-widget-icon--md"})}),c.jsx("button",{type:"button","aria-label":h("WebTrading.closeOrderPanel"),className:"web-trading-widget-market-panel__header-btn",onClick:f,children:c.jsx(Ft,{className:"web-trading-widget-icon web-trading-widget-icon--md"})})]})]}),c.jsxs("div",{className:"web-trading-widget-market-panel__accordion",children:[c.jsx(ut,{title:h("WebTrading.volumeSetting"),isOpen:W.has("volume-setting"),onToggle:()=>Ce("volume-setting"),children:c.jsx(ke,{label:h("WebTrading.lots"),value:w,onChange:V,step:i,min:s,decimals:2})}),Z?null:c.jsx(ut,{title:h("WebTrading.orderPrice"),isOpen:W.has("order-price"),onToggle:()=>Ce("order-price"),children:te?c.jsxs(c.Fragment,{children:[c.jsx(ke,{label:h("WebTrading.stopPrice"),value:y,onChange:O,step:ae,decimals:G,basePrice:Pe,placeholder:ce!==null?pe(ce,G):"—"}),c.jsx(ke,{label:h("WebTrading.limitPrice"),value:T,onChange:x,step:ae,decimals:G,basePrice:Pe,placeholder:ce!==null?pe(ce,G):"—"})]}):c.jsx(ke,{label:h("WebTrading.price"),value:T,onChange:x,step:ae,decimals:G,basePrice:Pe,placeholder:ce!==null?pe(ce,G):"—"})}),c.jsx(ut,{title:h("WebTrading.riskManagement"),isOpen:W.has("risk-management"),onToggle:()=>Ce("risk-management"),children:c.jsxs("div",{className:"web-trading-widget-market-panel__grid-2",children:[c.jsx(ke,{label:h("WebTrading.stopLoss"),value:C,onChange:k,step:ae,decimals:G,basePrice:t,placeholder:t!==null?ie:"—",clearable:!0}),c.jsx(ke,{label:h("WebTrading.takeProfit"),value:E,onChange:U,step:ae,decimals:G,basePrice:n,placeholder:n!==null?N:"—",clearable:!0})]})}),Z?null:c.jsxs(ut,{title:h("WebTrading.expiration"),isOpen:W.has("expiration"),onToggle:()=>Ce("expiration"),children:[c.jsx("select",{value:String(K),className:"web-trading-widget-market-panel__select-full","aria-label":h("WebTrading.orderExpirationType"),onChange:J=>re(Number(J.target.value)),children:ic.map(J=>c.jsx("option",{value:String(J.value),children:h(sc[J.value])},J.value))}),yi?c.jsxs("div",{className:"web-trading-widget-market-panel__field",children:[c.jsx("span",{className:"web-trading-widget-market-panel__field-label",children:h("WebTrading.expirationTime")}),c.jsx(tn,{type:"datetime-local",value:P,onChange:J=>D(J.target.value)})]}):null,bi?c.jsxs("div",{className:"web-trading-widget-market-panel__field",children:[c.jsx("span",{className:"web-trading-widget-market-panel__field-label",children:h("WebTrading.expirationDay")}),c.jsx(tn,{type:"date",value:j,onChange:J=>A(J.target.value)})]}):null]}),c.jsx(ut,{title:h("WebTrading.comment"),isOpen:W.has("comment"),onToggle:()=>Ce("comment"),children:c.jsx(tn,{value:L,onChange:J=>Q(J.target.value),placeholder:""})})]}),c.jsxs("div",{className:"web-trading-widget-market-panel__footer",children:[c.jsxs("div",{className:"web-trading-widget-market-panel__quotes",children:[c.jsx("span",{children:ie}),c.jsx("span",{className:"web-trading-widget-market-panel__quotes-ask",children:N})]}),Z?c.jsxs("div",{className:"web-trading-widget-market-panel__actions",children:[c.jsx("button",{type:"button",className:"web-trading-widget-market-panel__sell-btn",disabled:!it,onMouseDown:()=>Y("sell"),onClick:()=>we("sell"),children:h("WebTrading.sellByMarket")}),c.jsx("button",{type:"button",className:"web-trading-widget-market-panel__buy-btn",disabled:!it,onMouseDown:()=>Y("buy"),onClick:()=>we("buy"),children:h("WebTrading.buyByMarket")})]}):c.jsx("button",{type:"button",className:`web-trading-widget-market-panel__place-btn${be?" web-trading-widget-market-panel__place-btn--sell":" web-trading-widget-market-panel__place-btn--buy"}`,disabled:!it,onMouseDown:()=>{const J=ve.orderType!==null&&ve.orderType%2===1?"sell":"buy";Y(J)},onClick:()=>{const J=ve.orderType!==null&&ve.orderType%2===1?"sell":"buy";we(J)},children:h("WebTrading.placeOrder",{label:Re})})]})]})}function _l({confirmation:e,symbolTicker:t,onDismiss:n}){const{t:r}=Te(),i=Number(wt(_t(t))),s=pe(e.price,i),o=e.side==="sell"?r("WebTrading.sell"):r("WebTrading.buy"),a=si(e.symbol||ci(t));return c.jsxs("div",{className:"web-trading-widget-confirmation",children:[c.jsx("div",{className:"web-trading-widget-confirmation__close-row",children:c.jsx("button",{type:"button","aria-label":r("WebTrading.closeConfirmation"),className:"web-trading-widget-confirmation__close-btn",onClick:n,children:c.jsx(Ft,{className:"web-trading-widget-icon web-trading-widget-icon--md"})})}),c.jsxs("div",{className:"web-trading-widget-confirmation__body",children:[c.jsxs("p",{className:"web-trading-widget-confirmation__summary",children:[c.jsxs("span",{className:"web-trading-widget-confirmation__ticket",children:["#",e.ticket]})," ",c.jsx("span",{className:`web-trading-widget-confirmation__side web-trading-widget-confirmation__side--${e.side}`,children:o})," ",e.volumeLots.toFixed(2)," ",a]}),c.jsx("p",{className:"web-trading-widget-confirmation__price",children:r("WebTrading.orderAtPrice",{price:s})}),c.jsx("p",{className:"web-trading-widget-confirmation__status",children:r("WebTrading.placed")}),c.jsx("button",{type:"button",className:"web-trading-widget-confirmation__ok-btn",onClick:n,children:r("WebTrading.ok")})]})]})}function Pr(e,t){return e.toLocaleString(void 0,{minimumFractionDigits:t,maximumFractionDigits:t})}function Hn(e){if(!(e===void 0||e===0))return e}function da(e,t){return e===void 0||e===0?"":pe(e,t)}function ua(e,t){const n=Le(e);if(n!==void 0)return n;if(Hn(t)!==void 0)return 0}function vl({order:e,onClose:t}){const{t:n}=Te(),{deleteOrder:r,modifyOrder:i}=gi(),s=le(N=>N.removeOrder),o=le(N=>N.liveQuotes),[a,l]=p.useState(String(e.volumeLots)),[d,u]=p.useState(String(e.orderPrice)),[f,m]=p.useState(e.priceTrigger!==void 0?String(e.priceTrigger):""),h=ne(N=>N.stopLoss),b=ne(N=>N.takeProfit),v=ne(N=>N.setStopLoss),w=ne(N=>N.setTakeProfit),g=ne(N=>N.setDraft),[T,x]=p.useState(e.comment),[y,O]=p.useState(!1),[C,E]=p.useState(!1),k=Dn(e.digits),U=Ne(e.symbol).toUpperCase(),F=o[U],H=(F==null?void 0:F.bid)??e.marketBid??null,L=(F==null?void 0:F.ask)??e.marketAsk??null,Q=H!==null?pe(H,e.digits):"—",K=L!==null?pe(L,e.digits):"—",re=p.useMemo(()=>e.orderPrice>0?e.orderPrice:Rs(H,L)??H??L,[L,H,e.orderPrice]);p.useEffect(()=>{g({source:"order",symbolKey:Ne(e.symbol).toUpperCase(),entryPrice:e.orderPrice,stopLoss:da(e.stopLoss,e.digits),takeProfit:da(e.takeProfit,e.digits),side:e.side,showEntryLine:!0,volumeLots:e.volumeLots,digits:e.digits,priceStep:k})},[e.digits,e.orderPrice,e.side,e.stopLoss,e.symbol,e.takeProfit,e.volumeLots,k,g]);const P=As(e.orderType),D=e.volumeLots,j=Number(d)||e.orderPrice,A=Le(f),W=y||C,G=(j!==e.orderPrice||(P?A!==e.priceTrigger:!1)||Hn(Le(h))!==Hn(e.stopLoss)||Hn(Le(b))!==Hn(e.takeProfit)||T.trim()!==e.comment.trim())&&(!P||A!==void 0&&Number.isFinite(j)&&j>0),ae=p.useMemo(()=>n("WebTrading.deleteOrderDetail",{ticket:e.ticket,typeLabel:e.typeLabel,volume:D.toFixed(2),symbol:e.displaySymbol,price:Pr(j,e.digits)}),[e,j,n,D]),ce=async()=>{if(!G){ge({variant:"destructive",description:n(P?"WebTrading.pleaseSetStopAndLimitPrices":"WebTrading.pleaseSetOrderPrice")});return}O(!0);try{const N=await i(e,{volumeLots:D,priceOrder:j,priceTrigger:P?A:void 0,stopLoss:ua(h,e.stopLoss),takeProfit:ua(b,e.takeProfit),comment:T.trim()||"order modify"});if(!N.success){ge({variant:"destructive",description:N.message||n("WebTrading.failedModifyOrder")});return}t(),ge({description:n("WebTrading.orderUpdated",{ticket:e.ticket})})}catch(N){const Z=N instanceof Error?N.message:n("WebTrading.failedModifyOrder");ge({variant:"destructive",description:Z})}finally{O(!1)}},ie=async()=>{E(!0);try{const N=await r(e);if(!N.success){ge({variant:"destructive",description:N.message||n("WebTrading.failedDeleteOrder")});return}s(e.ticket),t(),ge({description:n("WebTrading.orderDeleted",{ticket:e.ticket})})}catch(N){const Z=N instanceof Error?N.message:n("WebTrading.failedDeleteOrder");ge({variant:"destructive",description:Z})}finally{E(!1)}};return c.jsxs("div",{className:"web-trading-widget-detail-panel",children:[c.jsxs("div",{className:"web-trading-widget-detail-panel__header",children:[c.jsxs("p",{className:`web-trading-widget-detail-panel__title web-trading-widget-detail-panel__title--${e.side}`,children:["#",e.ticket," ",e.typeLabel," ",D.toFixed(2)," / ",e.volumeFilledLots.toFixed(2)," ",e.displaySymbol," ",P&&A!==void 0?`${Pr(A,e.digits)} / ${Pr(j,e.digits)}`:Pr(j,e.digits)]}),c.jsx("button",{type:"button","aria-label":n("WebTrading.closeOrderPanel"),className:"web-trading-widget-icon-btn",onClick:t,children:c.jsx(Ft,{className:"web-trading-widget-icon web-trading-widget-icon--md"})})]}),c.jsxs("div",{className:"web-trading-widget-detail-panel__body",children:[c.jsx(ke,{label:n("WebTrading.lots"),value:a,onChange:l,step:.01,min:.01,decimals:2,disabled:!0}),P?c.jsxs(c.Fragment,{children:[c.jsx(ke,{label:n("WebTrading.stopPrice"),value:f,onChange:m,step:k,decimals:e.digits,basePrice:re}),c.jsx(ke,{label:n("WebTrading.limitPrice"),value:d,onChange:u,step:k,decimals:e.digits,basePrice:re})]}):c.jsx(ke,{label:n("WebTrading.price"),value:d,onChange:u,step:k,decimals:e.digits,basePrice:re}),c.jsxs("div",{className:"web-trading-widget-market-panel__grid-2",children:[c.jsx(ke,{label:n("WebTrading.stopLoss"),value:h,onChange:v,step:k,decimals:e.digits,basePrice:H,placeholder:Q,clearable:!0}),c.jsx(ke,{label:n("WebTrading.takeProfit"),value:b,onChange:w,step:k,decimals:e.digits,basePrice:L,placeholder:K,clearable:!0})]}),c.jsxs("div",{className:"web-trading-widget-market-panel__field",children:[c.jsx("span",{className:"web-trading-widget-market-panel__field-label",children:n("WebTrading.comment")}),c.jsx(tn,{value:T,onChange:N=>x(N.target.value)})]}),c.jsx("button",{type:"button",className:"web-trading-widget-detail-panel__btn-full",disabled:W||!G,onClick:()=>void ce(),children:n("WebTrading.modify")}),c.jsx("button",{type:"button",className:"web-trading-widget-detail-panel__action-btn",disabled:W,onClick:()=>void ie(),children:ae})]})]})}function Cr(e,t){return e.toLocaleString(void 0,{minimumFractionDigits:t,maximumFractionDigits:t})}function zn(e){if(!(e===void 0||e===0))return e}function fa(e,t){return e===void 0||e===0?"":pe(e,t)}function ha(e,t){const n=Le(e);if(n!==void 0)return n;if(zn(t)!==void 0)return 0}function Hp(e,t,n){return e.type==="buy"?t??e.marketBid??e.currentPrice:n??e.marketAsk??e.currentPrice}function Sl({position:e,onClose:t}){const{t:n}=Te(),{closePosition:r,modifyPosition:i}=gi(),s=le(P=>P.removePosition),o=le(P=>P.liveQuotes),[a,l]=p.useState(String(e.volumeLots)),d=ne(P=>P.stopLoss),u=ne(P=>P.takeProfit),f=ne(P=>P.setStopLoss),m=ne(P=>P.setTakeProfit),h=ne(P=>P.setDraft),[b,v]=p.useState(!1),[w,g]=p.useState(!1),T=Dn(e.digits),x=Ne(e.symbol).toUpperCase(),y=o[x],O=(y==null?void 0:y.bid)??e.marketBid??null,C=(y==null?void 0:y.ask)??e.marketAsk??null,E=O!==null?pe(O,e.digits):"—",k=C!==null?pe(C,e.digits):"—";p.useEffect(()=>{h({source:"position",symbolKey:Ne(e.symbol).toUpperCase(),entryPrice:e.openPrice,stopLoss:fa(e.stopLoss,e.digits),takeProfit:fa(e.takeProfit,e.digits),side:e.type,showEntryLine:!1,volumeLots:e.volumeLots,digits:e.digits,priceStep:T})},[e.digits,e.openPrice,e.stopLoss,e.symbol,e.takeProfit,e.type,e.volumeLots,T,h]);const U=Hp(e,O,C),F=e.volumeLots,H=b||w,L=zn(Le(d))!==zn(e.stopLoss)||zn(Le(u))!==zn(e.takeProfit),Q=async()=>{if(L){g(!0);try{const P=await i(e,{stopLoss:ha(d,e.stopLoss),takeProfit:ha(u,e.takeProfit),comment:e.comment});if(!P.success){ge({variant:"destructive",description:P.message||n("WebTrading.failedModifyPosition")});return}t(),ge({description:n("WebTrading.positionUpdated",{ticket:e.ticket})})}catch(P){const D=P instanceof Error?P.message:n("WebTrading.failedModifyPosition");ge({variant:"destructive",description:D})}finally{g(!1)}}},K=p.useMemo(()=>{const P=e.profit.toFixed(2),D=e.type==="buy"?n("WebTrading.buy"):n("WebTrading.sell");return n("WebTrading.closePositionDetail",{ticket:e.ticket,type:D,volume:F.toFixed(2),symbol:e.displaySymbol,openPrice:Cr(e.openPrice,e.digits),closePrice:Cr(U,e.digits),profit:P})},[U,e,n,F]),re=async()=>{v(!0);try{const P=await r(e);if(!P.success){ge({variant:"destructive",description:P.message||n("WebTrading.failedClosePosition")});return}s(e.ticket),t(),ge({description:n("WebTrading.positionClosedSimple",{ticket:e.ticket})})}catch(P){const D=P instanceof Error?P.message:n("WebTrading.failedClosePosition");ge({variant:"destructive",description:D})}finally{v(!1)}};return c.jsxs("div",{className:"web-trading-widget-detail-panel",children:[c.jsxs("div",{className:"web-trading-widget-detail-panel__header",children:[c.jsxs("p",{className:"web-trading-widget-detail-panel__title web-trading-widget-detail-panel__title--position",children:["#",e.ticket," ",e.type," ",F.toFixed(2)," ",e.displaySymbol," ",Cr(e.openPrice,e.digits)]}),c.jsx("button",{type:"button","aria-label":n("WebTrading.closePositionPanel"),className:"web-trading-widget-icon-btn",onClick:t,children:c.jsx(Ft,{className:"web-trading-widget-icon web-trading-widget-icon--md"})})]}),c.jsxs("div",{className:"web-trading-widget-detail-panel__body",children:[c.jsx(ke,{label:n("WebTrading.lots"),value:a,onChange:l,step:.01,min:.01,decimals:2,disabled:!0}),c.jsxs("div",{className:"web-trading-widget-market-panel__field",children:[c.jsx("span",{className:"web-trading-widget-market-panel__field-label",children:n("WebTrading.price")}),c.jsx(tn,{readOnly:!0,disabled:!0,value:Cr(e.openPrice,e.digits),className:"web-trading-widget-detail-panel__input-muted"})]}),c.jsxs("div",{className:"web-trading-widget-market-panel__grid-2",children:[c.jsx(ke,{label:n("WebTrading.stopLoss"),value:d,onChange:f,step:T,decimals:e.digits,basePrice:O,placeholder:E,clearable:!0}),c.jsx(ke,{label:n("WebTrading.takeProfit"),value:u,onChange:m,step:T,decimals:e.digits,basePrice:C,placeholder:k,clearable:!0})]}),c.jsxs("div",{className:"web-trading-widget-market-panel__field",children:[c.jsx("span",{className:"web-trading-widget-market-panel__field-label",children:n("WebTrading.comment")}),c.jsx(tn,{readOnly:!0,disabled:!0,value:e.comment,className:"web-trading-widget-detail-panel__input-muted"})]}),c.jsx("button",{type:"button",className:"web-trading-widget-detail-panel__btn-full",disabled:H||!L,onClick:()=>void Q(),children:n("WebTrading.modify")}),c.jsx("button",{type:"button",className:"web-trading-widget-detail-panel__action-btn",disabled:H,onClick:()=>void re(),children:K})]})]})}function ma({symbolTicker:e,orderState:t}){const{t:n}=Te(),r=Vs(e),{confirmation:i,isSubmitting:s,defaultVolumeLots:o,volumeStep:a,minVolumeLots:l,selectedLogin:d,isAccountsLoading:u,hasConfirmedAccount:f,dismissConfirmation:m,placeMarketOrder:h}=t,b=le(k=>k.positions),v=le(k=>k.orders),w=le(k=>k.selectedPositionTicket),g=le(k=>k.selectedOrderTicket),T=le(k=>k.setSelectedPositionTicket),x=le(k=>k.setSelectedOrderTicket),y=w!==null?b.find(k=>k.ticket===w)??null:null,O=g!==null?v.find(k=>k.ticket===g)??null:null,C=i!==null,E=p.useCallback(k=>{h({symbolTicker:e,login:k.login,executionMode:k.executionMode,side:k.side,orderType:k.orderType,volumeLots:k.volumeLots,stopLoss:k.stopLoss,takeProfit:k.takeProfit,priceOrder:k.priceOrder,priceTrigger:k.priceTrigger,comment:k.comment,typeTime:k.typeTime,expirationDateTime:k.expirationDateTime,expirationDay:k.expirationDay,bid:k.bid,ask:k.ask})},[h,e]);return y!==null?c.jsx(Sl,{position:y,onClose:()=>T(null)}):O!==null?c.jsx(vl,{order:O,onClose:()=>x(null)}):C&&i!==null?c.jsx(_l,{confirmation:i,symbolTicker:e,onDismiss:m}):f?c.jsx(Vp,{embedded:!0,symbolTicker:e,bid:(r==null?void 0:r.bid)??null,ask:(r==null?void 0:r.ask)??null,defaultVolumeLots:o,volumeStep:a,minVolumeLots:l,isSubmitting:s,isAccountsLoading:u,selectedLogin:d,onPlaceOrder:E}):c.jsx("div",{className:"web-trading-widget-side-panel__empty",children:n("WebTrading.selectAccountToTrade")})}function pa({label:e,isActive:t,onClick:n}){return c.jsx("button",{type:"button",role:"tab","aria-selected":t,className:`web-trading-widget-side-panel__tab${t?" web-trading-widget-side-panel__tab--active":""}`,onClick:n,children:e})}function zp({symbolTicker:e,orderState:t,scanResultUrl:n,onScanResultLoad:r,initialTab:i="trade",activeTab:s,onTabChange:o}){const{t:a}=Te(),l=!!n,[d,u]=p.useState(i),f=s!==void 0,m=f?s:d,h=p.useCallback(b=>{f?o==null||o(b):u(b)},[f,o]);return c.jsx("aside",{className:`web-trading-widget-side-panel${l?" web-trading-widget-side-panel--with-scan":""}`,children:l?c.jsxs("div",{className:"web-trading-widget-side-panel__scan-layout",children:[c.jsxs("div",{role:"tablist","aria-label":a("WebTrading.chartSidePanel"),className:"web-trading-widget-side-panel__tablist",children:[c.jsx(pa,{label:a("WebTrading.trade"),isActive:m==="trade",onClick:()=>h("trade")}),c.jsx(pa,{label:a("WebTrading.scanResult"),isActive:m==="scan",onClick:()=>h("scan")})]}),c.jsxs("div",{className:"web-trading-widget-side-panel__panels",children:[c.jsx("div",{role:"tabpanel",hidden:m!=="trade",className:"web-trading-widget-side-panel__tabpanel",children:c.jsx(ma,{symbolTicker:e,orderState:t})}),c.jsx("div",{role:"tabpanel",hidden:m!=="scan",className:"web-trading-widget-side-panel__tabpanel web-trading-widget-side-panel__tabpanel--scan",children:c.jsx("iframe",{src:n??void 0,title:a("WebTrading.scanResult"),className:"web-trading-widget-side-panel__iframe",onLoad:r},n)})]})]}):c.jsx("div",{className:"web-trading-widget-side-panel__scroll",children:c.jsx(ma,{symbolTicker:e,orderState:t})})})}const qp=.01,Kp=.01,ga=.01;function Gp({symbols:e,defaultPanelAfterConfirm:t="mini"}){const{t:n}=Te(),[r,i]=p.useState("closed"),[s,o]=p.useState(null),[a,l]=p.useState(!1),[d,u]=p.useState("pending"),[f,m]=p.useState(null),h=le(L=>L.setSelectedLogin),{accounts:b,isLoading:v}=ul(),{submitOrder:w}=gi(),g=p.useMemo(()=>Ld(b),[b]),T=p.useMemo(()=>Dd(b,f),[b,f]),x=d==="confirmed",y=d==="needs-selection";p.useEffect(()=>{if(v)return;if(d==="confirmed"){f&&!g.some(Q=>Q.login===f)&&u("needs-selection");return}if(d==="needs-selection")return;const L=Nd();if(L&&g.some(Q=>Q.login===L)){m(L),u("confirmed"),i(t);return}u("needs-selection")},[d,g,t,v,f]),p.useEffect(()=>{T&&h(T)},[T,h]);const O=p.useCallback(L=>{m(L),h(L),oo(L)},[h]),C=p.useCallback(L=>{L&&(oo(L),O(L),u("confirmed"),o(null),i(t))},[t,O]),E=p.useCallback(()=>{o(null),i("market")},[]),k=p.useCallback(()=>{o(null),i("mini")},[]),U=p.useCallback(()=>{o(null),i("mini")},[]),F=p.useCallback(()=>{o(null),i("mini")},[]),H=p.useCallback(async L=>{const Q=ne.getState().clearEntryLinePreview,K=L.login.trim();if(!K){Q(),ge({variant:"destructive",description:n("WebTrading.pleaseSelectTradingAccount")});return}const re=Math.max(ga,L.volumeLots),P=ci(L.symbolTicker,e);Number(wt(_t(L.symbolTicker,e)));const D=ai(L.executionMode),j=As(L.orderType),A=Le(L.priceOrder),W=Le(L.priceTrigger);if(!D&&A===void 0){Q(),ge({variant:"destructive",description:n(j?"WebTrading.pleaseSetLimitPrice":"WebTrading.pleaseSetOrderPrice")});return}if(j&&W===void 0){Q(),ge({variant:"destructive",description:n("WebTrading.pleaseSetStopPrice")});return}if(!D&&!li(L.typeTime,L.expirationDateTime,L.expirationDay)){Q(),ge({variant:"destructive",description:n("WebTrading.pleaseSetExpirationDate")});return}const R=D?L.side==="buy"?L.ask:L.bid:A??(L.side==="buy"?L.ask:L.bid);l(!0);try{const G=await w({login:K,symbolTicker:L.symbolTicker,executionMode:L.executionMode,side:$r(L.orderType),orderType:L.orderType,volumeLots:re,stopLoss:Le(L.stopLoss),takeProfit:Le(L.takeProfit),priceOrder:Es(L.orderType)?A:void 0,priceTrigger:j?W:void 0,comment:L.comment.trim(),typeTime:L.typeTime,expirationDateTime:L.expirationDateTime,expirationDay:L.expirationDay,bid:L.bid,ask:L.ask});if(!G.success){Q(),ge({variant:"destructive",description:G.message||n("WebTrading.orderNotAccepted")});return}o({ticket:G.ticket??"",side:G.side??$r(L.orderType),volumeLots:G.volumeLots??re,symbol:G.displaySymbol??P,price:G.price??R}),i("confirmation")}catch(G){Q();const ae=G instanceof Error?G.message:n("WebTrading.failedPlaceOrder");ge({variant:"destructive",description:ae})}finally{l(!1)}},[w,e,n]);return{panel:r,confirmation:s,isSubmitting:a,defaultVolumeLots:qp,volumeStep:Kp,minVolumeLots:ga,accountOptions:g,selectedLogin:T,setSelectedLogin:O,isAccountsLoading:v,hasConfirmedAccount:x,needsAccountSelection:y,confirmAccountSelection:C,openMarketPanel:E,openMiniPanel:k,closePanels:U,dismissConfirmation:F,placeMarketOrder:H}}function Yr(e){var t;if(typeof window<"u"){const n=localStorage.getItem(un);if(n&&e.some(r=>r.ticker===n))return n}return((t=e[0])==null?void 0:t.ticker)??"XAU_USD"}function ps(e,t,n){var r;return((r=t.find(i=>i.display_name===e||i.ticker===e))==null?void 0:r.ticker)??n}function Qp({chartWidget:e,symbols:t,chartSlotElement:n,onSymbolTickerChange:r,onScanResultUrlChange:i,selectSymbolTickerRef:s}){const o=p.useMemo(()=>Yr(t),[t]),a=p.useRef(o),l=p.useRef(e),[d,u]=p.useState(null);p.useEffect(()=>{l.current=e},[e]),p.useEffect(()=>{if(!n){u(null);return}const m=()=>{const b=n.querySelector(":scope > div");u(b)};m();const h=new MutationObserver(m);return h.observe(n,{childList:!0}),()=>{h.disconnect()}},[n]);const f=p.useCallback(m=>{if(m===a.current)return;const h=t.find(v=>v.ticker===m);if(!h)return;a.current=m,localStorage.setItem(un,m),r(m),i(null);const b=l.current;if(b)try{b.onChartReady(()=>{b.activeChart().setSymbol(h.ticker)})}catch{}},[i,r,t]);return p.useEffect(()=>(s.current=f,()=>{s.current=null}),[f,s]),p.useEffect(()=>{if(!e)return;let m=!1,h=null;try{e.onChartReady(()=>{if(m)return;let b;try{b=e.activeChart()}catch{return}const v=T=>{const x=b.symbol(),y=ps(x,t,o);y!==a.current&&i(null);try{e.resetCache()}catch{}a.current=y,localStorage.setItem(un,y),r(y)},w=b.symbol(),g=ps(w,t,o);g!==a.current&&(a.current=g,localStorage.setItem(un,g),r(g)),b.onSymbolChanged().subscribe(null,v),h=()=>{try{b.onSymbolChanged().unsubscribe(null,v)}catch{}}})}catch{}return()=>{m=!0,h==null||h()}},[e,i,r,o,t]),{chartContainer:d}}function Zp({className:e,variant:t="default",...n}){return c.jsx("span",{className:ht("web-trading-widget-badge",t!=="default"&&`web-trading-widget-badge--${t}`,e),...n})}function Tl(){var t;const e=(t=window.TradingView)==null?void 0:t.widget;return typeof e=="function"?e:null}function Mr(){return Tl()!==null}const ya="/charting_library/charting_library.js";function Yp({onLoad:e}){return p.useEffect(()=>{if(Mr()){e();return}const t=document.querySelector(`script[src="${ya}"]`);if(t){const r=()=>{Mr()&&e()};return t.addEventListener("load",r),()=>t.removeEventListener("load",r)}const n=document.createElement("script");return n.src=ya,n.async=!1,n.onload=()=>{Mr()&&e()},n.onerror=()=>{console.error("Failed to load TradingView charting library")},document.head.appendChild(n),()=>{n.onload=null,n.onerror=null}},[e]),null}const ba=di(e=>({playEndTimestamp:null,setPlayEndTimestamp:t=>e({playEndTimestamp:t})})),xl=di(e=>({newsSelectedCandles:null,newsPlayEndTimestamp:null,gapCount:0,isReplayMode:!1,setNewsSelectedCandles:t=>e({newsSelectedCandles:t}),setNewsPlayEndTimestamp:t=>e({newsPlayEndTimestamp:t}),setGapCount:t=>e({gapCount:t}),setReplayMode:t=>e({isReplayMode:t})})),gs=8,kl=4,ys=5,bs=e=>e==="1"?60:e==="5"?300:e==="1D"?1440*3600:parseInt(e,10)*60,Jp=e=>{const t=new Date(e+gs*60*60*1e3),n=t.getUTCDay(),r=t.getUTCHours();return n===0?!1:n===1?r>=ys:n===6?r<=kl:!0},Xp=e=>{const t=new Date(e+gs*60*60*1e3),n=t.getUTCDay(),r=t.getUTCHours();if(n===0||n===1&&r<ys||n===6&&r>=kl){const i=(8-n)%7;return t.setUTCDate(t.getUTCDate()+i),t.setUTCHours(ys,0,0,0),t.getTime()-gs*60*60*1e3}return e},eg=(e,t,n)=>{const r=bs(t)*1e3,i=[];let s=e;for(let o=0;o<n;o++)s+=r,Jp(s)||(s=Xp(s)),i.push(s);return i},tg=(e,t,n,r)=>{if(n<=0)return[];if(r==="24x7"){const s=bs(t)*1e3;return Array.from({length:n},(o,a)=>e+(a+1)*s)}if(r==="1700-1700")return eg(e,t,n);const i=bs(t)*1e3;return Array.from({length:n},(s,o)=>e+(o+1)*i)},ng=(e,t)=>{if(t==="1D"||t==="D"||t==="1440"){const n=new Date(e*1e3);return n.setUTCHours(0,0,0,0),n.getTime()}return e.toString().length>11?e:e*1e3};function rg(e){return{1:6e4,5:3e5,15:9e5,30:18e5,60:36e5,240:144e5}[e]??6e4}function wa(e){return e.trim().toUpperCase()}function ig(e,t){return Math.floor(e/t)*t}let Wn;async function sg(e){const t=new URLSearchParams({symbol:e.symbol,timeframe:e.timeframe,...e.endTimestamp&&{endTimestamp:e.endTimestamp.toString()}});return e.last_evaluated_key&&t.append("last_evaluated_key",e.last_evaluated_key),Se({baseURL:"https://corprate-widget.iccandle.ai",url:`/chart/endTimestamp?${t.toString()}`,method:"GET"})}class og{constructor(t,n,r,i){Je(this,"futureBarsRef");Je(this,"type");Je(this,"symbols");Je(this,"tickWebSocketUrl");Je(this,"configuration",{supported_resolutions:["1","5","15","30","60"],supports_marks:!1,supports_timescale_marks:!0,supports_time:!1});Je(this,"ws",null);Je(this,"isWsConnecting",!1);Je(this,"wsSelectedSymbol",null);Je(this,"subscriptions",new Map);Je(this,"lastBarsCache",new Map);Je(this,"pushFutureBar",t=>{for(const[,n]of this.subscriptions.entries())return n.onTick(t),!0;return!1});this.futureBarsRef=t,this.type=n,this.symbols=r,this.tickWebSocketUrl=i}onReady(t){setTimeout(()=>t(this.configuration),0)}resolveSymbol(t,n,r){const i=this.symbols.find(o=>o.ticker===t),s=this.symbols.find(o=>o.display_name===t);try{setTimeout(()=>{const o={name:(i==null?void 0:i.display_name)||(s==null?void 0:s.display_name)||localStorage.getItem("tv:latest-symbol")||"XAU_USD",timezone:"America/New_York",minmov:1,session:(i==null?void 0:i.session)||(s==null?void 0:s.session)||"24x7",has_intraday:!0,visible_plots_set:"ohlc",library_custom_fields:{ticker:(i==null?void 0:i.ticker)||(s==null?void 0:s.ticker)||localStorage.getItem("tv:latest-symbol")||"XAU_USD"},description:(i==null?void 0:i.description)||(s==null?void 0:s.description)||"",type:(i==null?void 0:i.type)||(s==null?void 0:s.type)||"",pricescale:(i==null?void 0:i.pricescale)||(s==null?void 0:s.pricescale)||1e5,ticker:(i==null?void 0:i.display_name)||(s==null?void 0:s.display_name)||localStorage.getItem("tv:latest-symbol")||"XAU_USD",exchange:"FX",format:"price",listed_exchange:"FX",logo_urls:(i==null?void 0:i.logo_urls.map(a=>a.replace("https://cdn.iccandle.ai/web-assets","/images/symbols")))||(s==null?void 0:s.logo_urls.map(a=>a.replace("https://cdn.iccandle.ai/web-assets","/images/symbols")))};n(o)},0)}catch{r("Symbol not found")}}getBars(t,n,r,i,s){var f;const o=(f=t.library_custom_fields)==null?void 0:f.ticker,a=this.symbols.find(m=>o!==void 0&&m.ticker===o||m.ticker===t.ticker||m.display_name===t.name||m.display_name===t.ticker),l={symbol:(a==null?void 0:a.ticker)||"",timeframe:n};if(r.firstDataRequest&&(Wn=void 0),!r.firstDataRequest)if(Wn)l.last_evaluated_key=Wn;else{i([],{noData:!0});return}const u=ba.getState().playEndTimestamp;u&&(l.endTimestamp=u,ba.getState().setPlayEndTimestamp(null),Wn=void 0),(async()=>{var m;try{const{data:h}=await sg(l);if(h.data_status==="threshold_limited"){i([],{noData:!0});return}if(h.data_status==="end_of_data"){i([],{noData:!0});return}if(!((m=h.items)!=null&&m.length)){i([],{noData:!0});return}Wn=h.last_evaluated_key;const v=[...h.items].map(x=>({open:x.o,high:x.h,low:x.l,close:x.c,time:ng(x.timestamp,n)})),w=xl.getState(),{gapCount:g,isReplayMode:T}=w;if(T&&event){const x=tg(v[v.length-1].time,n,g||0,t.session);if(x.length>0){const y=v[v.length-1].close;for(const O of x)v.push({open:y,high:y,low:y,close:y,time:O})}}i(v)}catch(h){s(h),i([],{noData:!0})}})()}searchSymbols(t,n,r,i){if(r==="all"||r===""){const s=this.symbols.filter(o=>{var a;return(a=o.display_name)==null?void 0:a.toUpperCase().includes(t.toUpperCase())}).map(o=>({...o,symbol:o.display_name,exchange:"FX",logo_urls:o.logo_urls.map(a=>a.replace("https://cdn.iccandle.ai/web-assets","/images/symbols"))}));i(s)}else{const s=this.symbols.filter(o=>{var a;return((a=o.display_name)==null?void 0:a.toUpperCase().includes(t.toUpperCase()))&&o.type.includes(r)}).map(o=>({...o,symbol:o.display_name,exchange:"FX",logo_urls:o.logo_urls.map(a=>a.replace("https://cdn.iccandle.ai/web-assets","/images/symbols"))}));i(s)}}subscribeBars(t,n,r,i,s){var f;const o=(f=t.library_custom_fields)==null?void 0:f.ticker,a=this.symbols.find(m=>o!==void 0&&m.ticker===o||m.display_name===t.ticker||m.display_name===t.name),l=a!=null&&a.resolve_symbol?wa(a.resolve_symbol):wa(t.ticker||t.name||""),d=rg(n),u=`${l}|${n}`;this.subscriptions.set(i,{symbol:l,resolution:n,periodMs:d,onTick:r,onResetCacheNeededCallback:s,liveCandle:this.lastBarsCache.get(u)??null}),this.ensureWebSocket(l)}unsubscribeBars(t){this.subscriptions.delete(t),this.subscriptions.size===0&&this.ws&&(this.ws.close(1e3,"No more subscriptions"),this.ws=null)}ensureWebSocket(t){var i;const n=t??((i=this.subscriptions.values().next().value)==null?void 0:i.symbol);if(this.ws&&this.ws.readyState===WebSocket.OPEN&&this.wsSelectedSymbol===n||(this.ws&&this.wsSelectedSymbol!==n&&(this.ws.close(1e3,"Symbol change"),this.ws=null,this.wsSelectedSymbol=null),this.isWsConnecting))return;this.isWsConnecting=!0;const r=new WebSocket(this.tickWebSocketUrl);this.ws=r,this.wsSelectedSymbol=n??null,r.onopen=()=>{this.isWsConnecting=!1,n&&r.send(JSON.stringify({action:"select_symbol",symbol:n}))},r.onmessage=s=>this.handleMessage(s),r.onerror=()=>{this.isWsConnecting=!1},r.onclose=()=>{this.ws=null,this.wsSelectedSymbol=null,this.isWsConnecting=!1,this.subscriptions.size>0&&setTimeout(()=>this.ensureWebSocket(),3e3)}}handleMessage(t){try{const n=JSON.parse(t.data);this.processTick(n)}catch{}}processTick(t){const n=t.symbol,r=Number(t.updatedAtMs),i=(Number(t.bid)+Number(t.ask))/2;if(!(!Number.isFinite(r)||!Number.isFinite(i)))for(const[s,o]of this.subscriptions.entries()){if(o.symbol!==n)continue;const a=`${o.symbol}|${o.resolution}`,l=ig(r,o.periodMs);let d=o.liveCandle;d?l>d.time?d={time:l,open:i,high:i,low:i,close:i,volume:0}:d={...d,high:Math.max(d.high,i),low:Math.min(d.low,i),close:i}:d={time:l,open:i,high:i,low:i,close:i,volume:0},o.liveCandle=d,this.lastBarsCache.set(a,d),this.subscriptions.set(s,o),(f=>{var m,h;(h=(m=this.futureBarsRef)==null?void 0:m.current)!=null&&h.length||o.onTick(f)})(d)}}extractErrorMessage(t){if(t instanceof Error)return t.message;if(typeof t=="string")return t;try{return JSON.stringify(t)}catch{return String(t)}}getTimescaleMarks(t,n,r,i){const s=[];if(this.type&&this.type=="selector")try{const o=JSON.parse(localStorage.getItem("tv:selected-news-events")||"[]");o==null||o.forEach(({id:a,timestamp:l,event_name:d,currency:u})=>{!a||!Number.isFinite(l)||l<=0||s.some(f=>String(f.id)===String(a))||s.push({id:a,time:l/1e3,color:"green",label:d.slice(0,1)||"N",tooltip:[d],...u?{imageUrl:`/images/symbols/${u}.svg`}:{},showLabelWhenImageLoaded:!0})})}catch{}if(this.type&&this.type=="news")try{const o=JSON.parse(localStorage.getItem("iccandle:current-news-event")||"{}"),{id:a,timestamp:l,event_name:d,currency:u,forecast:f,previous:m,actual:h}=o;if(!a||!Number.isFinite(l)||l<=0||s.some(v=>String(v.id)==="news:"+a))return;s.push({id:"news:"+a,time:l/1e3,color:"green",label:d.slice(0,1),tooltip:[d,`Current Forecast: ${f||"-"}`,`Previous Forecast: ${m||"-"}`,`Previous Actual: ${h||"-"}`],...u?{imageUrl:`https://cdn.iccandle.ai/web-assets/${u??"USD"}.svg`}:{}})}catch{}i(s)}}const ag=e=>{const t={name:"Generated Candles - By iC Candle",metainfo:{_metainfoVersion:51,id:"Generated Candles - By iC Candle@tv-basicstudies-1",description:"Generated Candles - By iC Candle",shortDescription:"Generated Candles",isCustomIndicator:!0,is_hidden_study:!1,is_price_study:!0,linkedToSeries:!0,format:{type:"price",precision:2},inputs:[],palettes:{palette_bar:{colors:{0:{name:"Bullish"},1:{name:"Bearish"}},valToIndex:{0:0,1:1}},palette_wick:{colors:{0:{name:"Bullish Wick"},1:{name:"Bearish Wick"}},valToIndex:{0:0,1:1}},palette_border:{colors:{0:{name:"Bullish Border"},1:{name:"Bearish Border"}},valToIndex:{0:0,1:1}}},plots:[{id:"plot_open",type:"ohlc_open",target:"plot_candle"},{id:"plot_high",type:"ohlc_high",target:"plot_candle"},{id:"plot_low",type:"ohlc_low",target:"plot_candle"},{id:"plot_close",type:"ohlc_close",target:"plot_candle"},{id:"plot_bar_color",type:"ohlc_colorer",palette:"palette_bar",target:"plot_candle"},{id:"plot_wick_color",type:"wick_colorer",palette:"palette_wick",target:"plot_candle"},{id:"plot_border_color",type:"border_colorer",palette:"palette_border",target:"plot_candle"}],ohlcPlots:{plot_candle:{title:"Generated Candles"}},styles:{},defaults:{styles:{},ohlcPlots:{plot_candle:{borderColor:"#000000",color:"#000000",drawBorder:!0,drawWick:!0,plottype:"ohlc_candles",visible:!0,wickColor:"#000000"}},palettes:{palette_bar:{colors:{0:{color:"#00dfb9",width:1,style:0},1:{color:"#ffb84d",width:1,style:0}}},palette_wick:{colors:{0:{color:"#00dfb9",width:1,style:0},1:{color:"#ffb84d",width:1,style:0}}},palette_border:{colors:{0:{color:"#00dfb9",width:1,style:0},1:{color:"#ffb84d",width:1,style:0}}}},precision:2,inputs:{}}},constructor:function(){this.init=function(n){this._context=n},this.main=function(n){this._context=n;const r=n.symbol.time,i=e.current,s=n.symbol.open,o=n.symbol.high,a=n.symbol.low,l=n.symbol.close;if(!Number.isFinite(r)||!i||i.length===0)return[s,o,a,l,Number.NaN,Number.NaN,Number.NaN];if(!i.some(m=>m.time===r))return[s,o,a,l,Number.NaN,Number.NaN,Number.NaN];const f=l<s?1:0;return[s,o,a,l,f,f,f]}}};return Promise.resolve([t])},cg=2e4;let Ui=0;function lg(){return Ui=(Ui+1)%Number.MAX_VALUE,Ui.toString()}const Ii=new Map,_a=(e,t)=>{if(Ii.has(e))return;const n=setTimeout(()=>{Ii.delete(e),Ur({type:"REMOVE_TOAST",toastId:e})},t||cg);Ii.set(e,n)},dg=(e,t)=>{var n;switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,((n=t==null?void 0:t.toast)==null?void 0:n.limit)??1)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(r=>r.id===t.toast.id?{...r,...t.toast}:r)};case"DISMISS_TOAST":{const{toastId:r}=t;if(r){const i=e.toasts.find(s=>s.id===r);_a(r,i==null?void 0:i.duration)}else e.toasts.forEach(i=>{_a(i.id,i.duration)});return{...e,toasts:e.toasts.map(i=>i.id===r||r===void 0?{...i,open:!1}:i)}}case"REMOVE_TOAST":return t.toastId===void 0?{...e,toasts:[]}:{...e,toasts:e.toasts.filter(r=>r.id!==t.toastId)}}},ug=[];let Fi={toasts:[]};function Ur(e){Fi=dg(Fi,e),ug.forEach(t=>{t(Fi)})}function fg({duration:e=2e4,description:t,...n}){const r=lg(),i=typeof t=="string"?pl(t):t,s=a=>Ur({type:"UPDATE_TOAST",toast:{...a,description:i,id:r}}),o=()=>{Ur({type:"DISMISS_TOAST",toastId:r})};return Ur({type:"ADD_TOAST",toast:{...n,description:i,id:r,open:!0,duration:e,onOpenChange:a=>{a||o()}}}),e&&setTimeout(o,e),{id:r,dismiss:o,update:s}}const ws="An unknown error occurred",Ir=e=>{if(typeof e=="string")return e;if(typeof e!="object"||e===null)return ws;if(typeof e.message=="string")return e.message;for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)){const n=Ir(e[t]);if(n)return n}return ws},hg=e=>{var t;if(Fc(e)){const n=(t=e.response)!=null&&t.data?Ir(e.response.data):void 0;return n&&n!==ws?n:Ir(e)}return Ir(e)},mg=({queryKey:e,queryFn:t,...n})=>Mn({queryKey:e,queryFn:async r=>{var i;try{const s=r.queryKey[1];return await t(s)}catch(s){throw fg({variant:"destructive",title:"Error",description:hg(Fc(s)?(i=s.response)==null?void 0:i.data:s)}),null}},...n});var me;(function(e){e.assertEqual=i=>{};function t(i){}e.assertIs=t;function n(i){throw new Error}e.assertNever=n,e.arrayToEnum=i=>{const s={};for(const o of i)s[o]=o;return s},e.getValidEnumValues=i=>{const s=e.objectKeys(i).filter(a=>typeof i[i[a]]!="number"),o={};for(const a of s)o[a]=i[a];return e.objectValues(o)},e.objectValues=i=>e.objectKeys(i).map(function(s){return i[s]}),e.objectKeys=typeof Object.keys=="function"?i=>Object.keys(i):i=>{const s=[];for(const o in i)Object.prototype.hasOwnProperty.call(i,o)&&s.push(o);return s},e.find=(i,s)=>{for(const o of i)if(s(o))return o},e.isInteger=typeof Number.isInteger=="function"?i=>Number.isInteger(i):i=>typeof i=="number"&&Number.isFinite(i)&&Math.floor(i)===i;function r(i,s=" | "){return i.map(o=>typeof o=="string"?`'${o}'`:o).join(s)}e.joinValues=r,e.jsonStringifyReplacer=(i,s)=>typeof s=="bigint"?s.toString():s})(me||(me={}));var va;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(va||(va={}));const z=me.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Pt=e=>{switch(typeof e){case"undefined":return z.undefined;case"string":return z.string;case"number":return Number.isNaN(e)?z.nan:z.number;case"boolean":return z.boolean;case"function":return z.function;case"bigint":return z.bigint;case"symbol":return z.symbol;case"object":return Array.isArray(e)?z.array:e===null?z.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?z.promise:typeof Map<"u"&&e instanceof Map?z.map:typeof Set<"u"&&e instanceof Set?z.set:typeof Date<"u"&&e instanceof Date?z.date:z.object;default:return z.unknown}},M=me.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class bt extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};const n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=t}format(t){const n=t||function(s){return s.message},r={_errors:[]},i=s=>{for(const o of s.issues)if(o.code==="invalid_union")o.unionErrors.map(i);else if(o.code==="invalid_return_type")i(o.returnTypeError);else if(o.code==="invalid_arguments")i(o.argumentsError);else if(o.path.length===0)r._errors.push(n(o));else{let a=r,l=0;for(;l<o.path.length;){const d=o.path[l];l===o.path.length-1?(a[d]=a[d]||{_errors:[]},a[d]._errors.push(n(o))):a[d]=a[d]||{_errors:[]},a=a[d],l++}}};return i(this),r}static assert(t){if(!(t instanceof bt))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,me.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=n=>n.message){const n={},r=[];for(const i of this.issues)if(i.path.length>0){const s=i.path[0];n[s]=n[s]||[],n[s].push(t(i))}else r.push(t(i));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}}bt.create=e=>new bt(e);const _s=(e,t)=>{let n;switch(e.code){case M.invalid_type:e.received===z.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case M.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,me.jsonStringifyReplacer)}`;break;case M.unrecognized_keys:n=`Unrecognized key(s) in object: ${me.joinValues(e.keys,", ")}`;break;case M.invalid_union:n="Invalid input";break;case M.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${me.joinValues(e.options)}`;break;case M.invalid_enum_value:n=`Invalid enum value. Expected ${me.joinValues(e.options)}, received '${e.received}'`;break;case M.invalid_arguments:n="Invalid function arguments";break;case M.invalid_return_type:n="Invalid function return type";break;case M.invalid_date:n="Invalid date";break;case M.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:me.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case M.too_small:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="bigint"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:n="Invalid input";break;case M.too_big:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?n=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:n="Invalid input";break;case M.custom:n="Invalid input";break;case M.invalid_intersection_types:n="Intersection results could not be merged";break;case M.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case M.not_finite:n="Number must be finite";break;default:n=t.defaultError,me.assertNever(e)}return{message:n}};let pg=_s;function gg(){return pg}const yg=e=>{const{data:t,path:n,errorMaps:r,issueData:i}=e,s=[...n,...i.path||[]],o={...i,path:s};if(i.message!==void 0)return{...i,path:s,message:i.message};let a="";const l=r.filter(d=>!!d).slice().reverse();for(const d of l)a=d(o,{data:t,defaultError:a}).message;return{...i,path:s,message:a}};function $(e,t){const n=gg(),r=yg({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===_s?void 0:_s].filter(i=>!!i)});e.common.issues.push(r)}class Qe{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,n){const r=[];for(const i of n){if(i.status==="aborted")return se;i.status==="dirty"&&t.dirty(),r.push(i.value)}return{status:t.value,value:r}}static async mergeObjectAsync(t,n){const r=[];for(const i of n){const s=await i.key,o=await i.value;r.push({key:s,value:o})}return Qe.mergeObjectSync(t,r)}static mergeObjectSync(t,n){const r={};for(const i of n){const{key:s,value:o}=i;if(s.status==="aborted"||o.status==="aborted")return se;s.status==="dirty"&&t.dirty(),o.status==="dirty"&&t.dirty(),s.value!=="__proto__"&&(typeof o.value<"u"||i.alwaysSet)&&(r[s.value]=o.value)}return{status:t.value,value:r}}}const se=Object.freeze({status:"aborted"}),qn=e=>({status:"dirty",value:e}),rt=e=>({status:"valid",value:e}),Sa=e=>e.status==="aborted",Ta=e=>e.status==="dirty",On=e=>e.status==="valid",Jr=e=>typeof Promise<"u"&&e instanceof Promise;var q;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t==null?void 0:t.message})(q||(q={}));class Ut{constructor(t,n,r,i){this._cachedPath=[],this.parent=t,this.data=n,this._path=r,this._key=i}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const xa=(e,t)=>{if(On(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const n=new bt(e.common.issues);return this._error=n,this._error}}};function de(e){if(!e)return{};const{errorMap:t,invalid_type_error:n,required_error:r,description:i}=e;if(t&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:i}:{errorMap:(o,a)=>{const{message:l}=e;return o.code==="invalid_enum_value"?{message:l??a.defaultError}:typeof a.data>"u"?{message:l??r??a.defaultError}:o.code!=="invalid_type"?{message:a.defaultError}:{message:l??n??a.defaultError}},description:i}}class he{get description(){return this._def.description}_getType(t){return Pt(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:Pt(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new Qe,ctx:{common:t.parent.common,data:t.data,parsedType:Pt(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){const n=this._parse(t);if(Jr(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(t){const n=this._parse(t);return Promise.resolve(n)}parse(t,n){const r=this.safeParse(t,n);if(r.success)return r.data;throw r.error}safeParse(t,n){const r={common:{issues:[],async:(n==null?void 0:n.async)??!1,contextualErrorMap:n==null?void 0:n.errorMap},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Pt(t)},i=this._parseSync({data:t,path:r.path,parent:r});return xa(r,i)}"~validate"(t){var r,i;const n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Pt(t)};if(!this["~standard"].async)try{const s=this._parseSync({data:t,path:[],parent:n});return On(s)?{value:s.value}:{issues:n.common.issues}}catch(s){(i=(r=s==null?void 0:s.message)==null?void 0:r.toLowerCase())!=null&&i.includes("encountered")&&(this["~standard"].async=!0),n.common={issues:[],async:!0}}return this._parseAsync({data:t,path:[],parent:n}).then(s=>On(s)?{value:s.value}:{issues:n.common.issues})}async parseAsync(t,n){const r=await this.safeParseAsync(t,n);if(r.success)return r.data;throw r.error}async safeParseAsync(t,n){const r={common:{issues:[],contextualErrorMap:n==null?void 0:n.errorMap,async:!0},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:Pt(t)},i=this._parse({data:t,path:r.path,parent:r}),s=await(Jr(i)?i:Promise.resolve(i));return xa(r,s)}refine(t,n){const r=i=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(i):n;return this._refinement((i,s)=>{const o=t(i),a=()=>s.addIssue({code:M.custom,...r(i)});return typeof Promise<"u"&&o instanceof Promise?o.then(l=>l?!0:(a(),!1)):o?!0:(a(),!1)})}refinement(t,n){return this._refinement((r,i)=>t(r)?!0:(i.addIssue(typeof n=="function"?n(r,i):n),!1))}_refinement(t){return new Ln({schema:this,typeName:oe.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:n=>this["~validate"](n)}}optional(){return Mt.create(this,this._def)}nullable(){return Nn.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return ft.create(this)}promise(){return ni.create(this,this._def)}or(t){return ei.create([this,t],this._def)}and(t){return ti.create(this,t,this._def)}transform(t){return new Ln({...de(this._def),schema:this,typeName:oe.ZodEffects,effect:{type:"transform",transform:t}})}default(t){const n=typeof t=="function"?t:()=>t;return new Ts({...de(this._def),innerType:this,defaultValue:n,typeName:oe.ZodDefault})}brand(){return new Bg({typeName:oe.ZodBranded,type:this,...de(this._def)})}catch(t){const n=typeof t=="function"?t:()=>t;return new xs({...de(this._def),innerType:this,catchValue:n,typeName:oe.ZodCatch})}describe(t){const n=this.constructor;return new n({...this._def,description:t})}pipe(t){return Xs.create(this,t)}readonly(){return ks.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const bg=/^c[^\s-]{8,}$/i,wg=/^[0-9a-z]+$/,_g=/^[0-9A-HJKMNP-TV-Z]{26}$/i,vg=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Sg=/^[a-z0-9_-]{21}$/i,Tg=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,xg=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,kg=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Pg="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let Bi;const Cg=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Og=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,Eg=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,Ag=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Lg=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Ng=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Pl="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",Dg=new RegExp(`^${Pl}$`);function Cl(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`);const n=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${n}`}function Rg(e){return new RegExp(`^${Cl(e)}$`)}function jg(e){let t=`${Pl}T${Cl(e)}`;const n=[];return n.push(e.local?"Z?":"Z"),e.offset&&n.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${n.join("|")})`,new RegExp(`^${t}$`)}function Mg(e,t){return!!((t==="v4"||!t)&&Cg.test(e)||(t==="v6"||!t)&&Eg.test(e))}function Ug(e,t){if(!Tg.test(e))return!1;try{const[n]=e.split(".");if(!n)return!1;const r=n.replace(/-/g,"+").replace(/_/g,"/").padEnd(n.length+(4-n.length%4)%4,"="),i=JSON.parse(atob(r));return!(typeof i!="object"||i===null||"typ"in i&&(i==null?void 0:i.typ)!=="JWT"||!i.alg||t&&i.alg!==t)}catch{return!1}}function Ig(e,t){return!!((t==="v4"||!t)&&Og.test(e)||(t==="v6"||!t)&&Ag.test(e))}class Rt extends he{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==z.string){const s=this._getOrReturnCtx(t);return $(s,{code:M.invalid_type,expected:z.string,received:s.parsedType}),se}const r=new Qe;let i;for(const s of this._def.checks)if(s.kind==="min")t.data.length<s.value&&(i=this._getOrReturnCtx(t,i),$(i,{code:M.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),r.dirty());else if(s.kind==="max")t.data.length>s.value&&(i=this._getOrReturnCtx(t,i),$(i,{code:M.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),r.dirty());else if(s.kind==="length"){const o=t.data.length>s.value,a=t.data.length<s.value;(o||a)&&(i=this._getOrReturnCtx(t,i),o?$(i,{code:M.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):a&&$(i,{code:M.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),r.dirty())}else if(s.kind==="email")kg.test(t.data)||(i=this._getOrReturnCtx(t,i),$(i,{validation:"email",code:M.invalid_string,message:s.message}),r.dirty());else if(s.kind==="emoji")Bi||(Bi=new RegExp(Pg,"u")),Bi.test(t.data)||(i=this._getOrReturnCtx(t,i),$(i,{validation:"emoji",code:M.invalid_string,message:s.message}),r.dirty());else if(s.kind==="uuid")vg.test(t.data)||(i=this._getOrReturnCtx(t,i),$(i,{validation:"uuid",code:M.invalid_string,message:s.message}),r.dirty());else if(s.kind==="nanoid")Sg.test(t.data)||(i=this._getOrReturnCtx(t,i),$(i,{validation:"nanoid",code:M.invalid_string,message:s.message}),r.dirty());else if(s.kind==="cuid")bg.test(t.data)||(i=this._getOrReturnCtx(t,i),$(i,{validation:"cuid",code:M.invalid_string,message:s.message}),r.dirty());else if(s.kind==="cuid2")wg.test(t.data)||(i=this._getOrReturnCtx(t,i),$(i,{validation:"cuid2",code:M.invalid_string,message:s.message}),r.dirty());else if(s.kind==="ulid")_g.test(t.data)||(i=this._getOrReturnCtx(t,i),$(i,{validation:"ulid",code:M.invalid_string,message:s.message}),r.dirty());else if(s.kind==="url")try{new URL(t.data)}catch{i=this._getOrReturnCtx(t,i),$(i,{validation:"url",code:M.invalid_string,message:s.message}),r.dirty()}else s.kind==="regex"?(s.regex.lastIndex=0,s.regex.test(t.data)||(i=this._getOrReturnCtx(t,i),$(i,{validation:"regex",code:M.invalid_string,message:s.message}),r.dirty())):s.kind==="trim"?t.data=t.data.trim():s.kind==="includes"?t.data.includes(s.value,s.position)||(i=this._getOrReturnCtx(t,i),$(i,{code:M.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),r.dirty()):s.kind==="toLowerCase"?t.data=t.data.toLowerCase():s.kind==="toUpperCase"?t.data=t.data.toUpperCase():s.kind==="startsWith"?t.data.startsWith(s.value)||(i=this._getOrReturnCtx(t,i),$(i,{code:M.invalid_string,validation:{startsWith:s.value},message:s.message}),r.dirty()):s.kind==="endsWith"?t.data.endsWith(s.value)||(i=this._getOrReturnCtx(t,i),$(i,{code:M.invalid_string,validation:{endsWith:s.value},message:s.message}),r.dirty()):s.kind==="datetime"?jg(s).test(t.data)||(i=this._getOrReturnCtx(t,i),$(i,{code:M.invalid_string,validation:"datetime",message:s.message}),r.dirty()):s.kind==="date"?Dg.test(t.data)||(i=this._getOrReturnCtx(t,i),$(i,{code:M.invalid_string,validation:"date",message:s.message}),r.dirty()):s.kind==="time"?Rg(s).test(t.data)||(i=this._getOrReturnCtx(t,i),$(i,{code:M.invalid_string,validation:"time",message:s.message}),r.dirty()):s.kind==="duration"?xg.test(t.data)||(i=this._getOrReturnCtx(t,i),$(i,{validation:"duration",code:M.invalid_string,message:s.message}),r.dirty()):s.kind==="ip"?Mg(t.data,s.version)||(i=this._getOrReturnCtx(t,i),$(i,{validation:"ip",code:M.invalid_string,message:s.message}),r.dirty()):s.kind==="jwt"?Ug(t.data,s.alg)||(i=this._getOrReturnCtx(t,i),$(i,{validation:"jwt",code:M.invalid_string,message:s.message}),r.dirty()):s.kind==="cidr"?Ig(t.data,s.version)||(i=this._getOrReturnCtx(t,i),$(i,{validation:"cidr",code:M.invalid_string,message:s.message}),r.dirty()):s.kind==="base64"?Lg.test(t.data)||(i=this._getOrReturnCtx(t,i),$(i,{validation:"base64",code:M.invalid_string,message:s.message}),r.dirty()):s.kind==="base64url"?Ng.test(t.data)||(i=this._getOrReturnCtx(t,i),$(i,{validation:"base64url",code:M.invalid_string,message:s.message}),r.dirty()):me.assertNever(s);return{status:r.value,value:t.data}}_regex(t,n,r){return this.refinement(i=>t.test(i),{validation:n,code:M.invalid_string,...q.errToObj(r)})}_addCheck(t){return new Rt({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...q.errToObj(t)})}url(t){return this._addCheck({kind:"url",...q.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...q.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...q.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...q.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...q.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...q.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...q.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...q.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...q.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...q.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...q.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...q.errToObj(t)})}datetime(t){return typeof t=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t}):this._addCheck({kind:"datetime",precision:typeof(t==null?void 0:t.precision)>"u"?null:t==null?void 0:t.precision,offset:(t==null?void 0:t.offset)??!1,local:(t==null?void 0:t.local)??!1,...q.errToObj(t==null?void 0:t.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){return typeof t=="string"?this._addCheck({kind:"time",precision:null,message:t}):this._addCheck({kind:"time",precision:typeof(t==null?void 0:t.precision)>"u"?null:t==null?void 0:t.precision,...q.errToObj(t==null?void 0:t.message)})}duration(t){return this._addCheck({kind:"duration",...q.errToObj(t)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...q.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n==null?void 0:n.position,...q.errToObj(n==null?void 0:n.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...q.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...q.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...q.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...q.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...q.errToObj(n)})}nonempty(t){return this.min(1,q.errToObj(t))}trim(){return new Rt({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Rt({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Rt({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxLength(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}}Rt.create=e=>new Rt({checks:[],typeName:oe.ZodString,coerce:(e==null?void 0:e.coerce)??!1,...de(e)});function Fg(e,t){const n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,i=n>r?n:r,s=Number.parseInt(e.toFixed(i).replace(".","")),o=Number.parseInt(t.toFixed(i).replace(".",""));return s%o/10**i}class En extends he{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==z.number){const s=this._getOrReturnCtx(t);return $(s,{code:M.invalid_type,expected:z.number,received:s.parsedType}),se}let r;const i=new Qe;for(const s of this._def.checks)s.kind==="int"?me.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),$(r,{code:M.invalid_type,expected:"integer",received:"float",message:s.message}),i.dirty()):s.kind==="min"?(s.inclusive?t.data<s.value:t.data<=s.value)&&(r=this._getOrReturnCtx(t,r),$(r,{code:M.too_small,minimum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),i.dirty()):s.kind==="max"?(s.inclusive?t.data>s.value:t.data>=s.value)&&(r=this._getOrReturnCtx(t,r),$(r,{code:M.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),i.dirty()):s.kind==="multipleOf"?Fg(t.data,s.value)!==0&&(r=this._getOrReturnCtx(t,r),$(r,{code:M.not_multiple_of,multipleOf:s.value,message:s.message}),i.dirty()):s.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),$(r,{code:M.not_finite,message:s.message}),i.dirty()):me.assertNever(s);return{status:i.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,q.toString(n))}gt(t,n){return this.setLimit("min",t,!1,q.toString(n))}lte(t,n){return this.setLimit("max",t,!0,q.toString(n))}lt(t,n){return this.setLimit("max",t,!1,q.toString(n))}setLimit(t,n,r,i){return new En({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:q.toString(i)}]})}_addCheck(t){return new En({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:q.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:q.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:q.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:q.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:q.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:q.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:q.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:q.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:q.toString(t)})}get minValue(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}get isInt(){return!!this._def.checks.find(t=>t.kind==="int"||t.kind==="multipleOf"&&me.isInteger(t.value))}get isFinite(){let t=null,n=null;for(const r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(t===null||r.value<t)&&(t=r.value)}return Number.isFinite(n)&&Number.isFinite(t)}}En.create=e=>new En({checks:[],typeName:oe.ZodNumber,coerce:(e==null?void 0:e.coerce)||!1,...de(e)});class Xn extends he{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==z.bigint)return this._getInvalidInput(t);let r;const i=new Qe;for(const s of this._def.checks)s.kind==="min"?(s.inclusive?t.data<s.value:t.data<=s.value)&&(r=this._getOrReturnCtx(t,r),$(r,{code:M.too_small,type:"bigint",minimum:s.value,inclusive:s.inclusive,message:s.message}),i.dirty()):s.kind==="max"?(s.inclusive?t.data>s.value:t.data>=s.value)&&(r=this._getOrReturnCtx(t,r),$(r,{code:M.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),i.dirty()):s.kind==="multipleOf"?t.data%s.value!==BigInt(0)&&(r=this._getOrReturnCtx(t,r),$(r,{code:M.not_multiple_of,multipleOf:s.value,message:s.message}),i.dirty()):me.assertNever(s);return{status:i.value,value:t.data}}_getInvalidInput(t){const n=this._getOrReturnCtx(t);return $(n,{code:M.invalid_type,expected:z.bigint,received:n.parsedType}),se}gte(t,n){return this.setLimit("min",t,!0,q.toString(n))}gt(t,n){return this.setLimit("min",t,!1,q.toString(n))}lte(t,n){return this.setLimit("max",t,!0,q.toString(n))}lt(t,n){return this.setLimit("max",t,!1,q.toString(n))}setLimit(t,n,r,i){return new Xn({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:q.toString(i)}]})}_addCheck(t){return new Xn({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:q.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:q.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:q.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:q.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:q.toString(n)})}get minValue(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}}Xn.create=e=>new Xn({checks:[],typeName:oe.ZodBigInt,coerce:(e==null?void 0:e.coerce)??!1,...de(e)});class vs extends he{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==z.boolean){const r=this._getOrReturnCtx(t);return $(r,{code:M.invalid_type,expected:z.boolean,received:r.parsedType}),se}return rt(t.data)}}vs.create=e=>new vs({typeName:oe.ZodBoolean,coerce:(e==null?void 0:e.coerce)||!1,...de(e)});class Xr extends he{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==z.date){const s=this._getOrReturnCtx(t);return $(s,{code:M.invalid_type,expected:z.date,received:s.parsedType}),se}if(Number.isNaN(t.data.getTime())){const s=this._getOrReturnCtx(t);return $(s,{code:M.invalid_date}),se}const r=new Qe;let i;for(const s of this._def.checks)s.kind==="min"?t.data.getTime()<s.value&&(i=this._getOrReturnCtx(t,i),$(i,{code:M.too_small,message:s.message,inclusive:!0,exact:!1,minimum:s.value,type:"date"}),r.dirty()):s.kind==="max"?t.data.getTime()>s.value&&(i=this._getOrReturnCtx(t,i),$(i,{code:M.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),r.dirty()):me.assertNever(s);return{status:r.value,value:new Date(t.data.getTime())}}_addCheck(t){return new Xr({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:q.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:q.toString(n)})}get minDate(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t!=null?new Date(t):null}}Xr.create=e=>new Xr({checks:[],coerce:(e==null?void 0:e.coerce)||!1,typeName:oe.ZodDate,...de(e)});class ka extends he{_parse(t){if(this._getType(t)!==z.symbol){const r=this._getOrReturnCtx(t);return $(r,{code:M.invalid_type,expected:z.symbol,received:r.parsedType}),se}return rt(t.data)}}ka.create=e=>new ka({typeName:oe.ZodSymbol,...de(e)});class Pa extends he{_parse(t){if(this._getType(t)!==z.undefined){const r=this._getOrReturnCtx(t);return $(r,{code:M.invalid_type,expected:z.undefined,received:r.parsedType}),se}return rt(t.data)}}Pa.create=e=>new Pa({typeName:oe.ZodUndefined,...de(e)});class Ca extends he{_parse(t){if(this._getType(t)!==z.null){const r=this._getOrReturnCtx(t);return $(r,{code:M.invalid_type,expected:z.null,received:r.parsedType}),se}return rt(t.data)}}Ca.create=e=>new Ca({typeName:oe.ZodNull,...de(e)});class Oa extends he{constructor(){super(...arguments),this._any=!0}_parse(t){return rt(t.data)}}Oa.create=e=>new Oa({typeName:oe.ZodAny,...de(e)});class Ea extends he{constructor(){super(...arguments),this._unknown=!0}_parse(t){return rt(t.data)}}Ea.create=e=>new Ea({typeName:oe.ZodUnknown,...de(e)});class It extends he{_parse(t){const n=this._getOrReturnCtx(t);return $(n,{code:M.invalid_type,expected:z.never,received:n.parsedType}),se}}It.create=e=>new It({typeName:oe.ZodNever,...de(e)});class Aa extends he{_parse(t){if(this._getType(t)!==z.undefined){const r=this._getOrReturnCtx(t);return $(r,{code:M.invalid_type,expected:z.void,received:r.parsedType}),se}return rt(t.data)}}Aa.create=e=>new Aa({typeName:oe.ZodVoid,...de(e)});class ft extends he{_parse(t){const{ctx:n,status:r}=this._processInputParams(t),i=this._def;if(n.parsedType!==z.array)return $(n,{code:M.invalid_type,expected:z.array,received:n.parsedType}),se;if(i.exactLength!==null){const o=n.data.length>i.exactLength.value,a=n.data.length<i.exactLength.value;(o||a)&&($(n,{code:o?M.too_big:M.too_small,minimum:a?i.exactLength.value:void 0,maximum:o?i.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:i.exactLength.message}),r.dirty())}if(i.minLength!==null&&n.data.length<i.minLength.value&&($(n,{code:M.too_small,minimum:i.minLength.value,type:"array",inclusive:!0,exact:!1,message:i.minLength.message}),r.dirty()),i.maxLength!==null&&n.data.length>i.maxLength.value&&($(n,{code:M.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((o,a)=>i.type._parseAsync(new Ut(n,o,n.path,a)))).then(o=>Qe.mergeArray(r,o));const s=[...n.data].map((o,a)=>i.type._parseSync(new Ut(n,o,n.path,a)));return Qe.mergeArray(r,s)}get element(){return this._def.type}min(t,n){return new ft({...this._def,minLength:{value:t,message:q.toString(n)}})}max(t,n){return new ft({...this._def,maxLength:{value:t,message:q.toString(n)}})}length(t,n){return new ft({...this._def,exactLength:{value:t,message:q.toString(n)}})}nonempty(t){return this.min(1,t)}}ft.create=(e,t)=>new ft({type:e,minLength:null,maxLength:null,exactLength:null,typeName:oe.ZodArray,...de(t)});function dn(e){if(e instanceof Oe){const t={};for(const n in e.shape){const r=e.shape[n];t[n]=Mt.create(dn(r))}return new Oe({...e._def,shape:()=>t})}else return e instanceof ft?new ft({...e._def,type:dn(e.element)}):e instanceof Mt?Mt.create(dn(e.unwrap())):e instanceof Nn?Nn.create(dn(e.unwrap())):e instanceof on?on.create(e.items.map(t=>dn(t))):e}class Oe extends he{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const t=this._def.shape(),n=me.objectKeys(t);return this._cached={shape:t,keys:n},this._cached}_parse(t){if(this._getType(t)!==z.object){const d=this._getOrReturnCtx(t);return $(d,{code:M.invalid_type,expected:z.object,received:d.parsedType}),se}const{status:r,ctx:i}=this._processInputParams(t),{shape:s,keys:o}=this._getCached(),a=[];if(!(this._def.catchall instanceof It&&this._def.unknownKeys==="strip"))for(const d in i.data)o.includes(d)||a.push(d);const l=[];for(const d of o){const u=s[d],f=i.data[d];l.push({key:{status:"valid",value:d},value:u._parse(new Ut(i,f,i.path,d)),alwaysSet:d in i.data})}if(this._def.catchall instanceof It){const d=this._def.unknownKeys;if(d==="passthrough")for(const u of a)l.push({key:{status:"valid",value:u},value:{status:"valid",value:i.data[u]}});else if(d==="strict")a.length>0&&($(i,{code:M.unrecognized_keys,keys:a}),r.dirty());else if(d!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const d=this._def.catchall;for(const u of a){const f=i.data[u];l.push({key:{status:"valid",value:u},value:d._parse(new Ut(i,f,i.path,u)),alwaysSet:u in i.data})}}return i.common.async?Promise.resolve().then(async()=>{const d=[];for(const u of l){const f=await u.key,m=await u.value;d.push({key:f,value:m,alwaysSet:u.alwaysSet})}return d}).then(d=>Qe.mergeObjectSync(r,d)):Qe.mergeObjectSync(r,l)}get shape(){return this._def.shape()}strict(t){return q.errToObj,new Oe({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(n,r)=>{var s,o;const i=((o=(s=this._def).errorMap)==null?void 0:o.call(s,n,r).message)??r.defaultError;return n.code==="unrecognized_keys"?{message:q.errToObj(t).message??i}:{message:i}}}:{}})}strip(){return new Oe({...this._def,unknownKeys:"strip"})}passthrough(){return new Oe({...this._def,unknownKeys:"passthrough"})}extend(t){return new Oe({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new Oe({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:oe.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new Oe({...this._def,catchall:t})}pick(t){const n={};for(const r of me.objectKeys(t))t[r]&&this.shape[r]&&(n[r]=this.shape[r]);return new Oe({...this._def,shape:()=>n})}omit(t){const n={};for(const r of me.objectKeys(this.shape))t[r]||(n[r]=this.shape[r]);return new Oe({...this._def,shape:()=>n})}deepPartial(){return dn(this)}partial(t){const n={};for(const r of me.objectKeys(this.shape)){const i=this.shape[r];t&&!t[r]?n[r]=i:n[r]=i.optional()}return new Oe({...this._def,shape:()=>n})}required(t){const n={};for(const r of me.objectKeys(this.shape))if(t&&!t[r])n[r]=this.shape[r];else{let s=this.shape[r];for(;s instanceof Mt;)s=s._def.innerType;n[r]=s}return new Oe({...this._def,shape:()=>n})}keyof(){return Ol(me.objectKeys(this.shape))}}Oe.create=(e,t)=>new Oe({shape:()=>e,unknownKeys:"strip",catchall:It.create(),typeName:oe.ZodObject,...de(t)});Oe.strictCreate=(e,t)=>new Oe({shape:()=>e,unknownKeys:"strict",catchall:It.create(),typeName:oe.ZodObject,...de(t)});Oe.lazycreate=(e,t)=>new Oe({shape:e,unknownKeys:"strip",catchall:It.create(),typeName:oe.ZodObject,...de(t)});class ei extends he{_parse(t){const{ctx:n}=this._processInputParams(t),r=this._def.options;function i(s){for(const a of s)if(a.result.status==="valid")return a.result;for(const a of s)if(a.result.status==="dirty")return n.common.issues.push(...a.ctx.common.issues),a.result;const o=s.map(a=>new bt(a.ctx.common.issues));return $(n,{code:M.invalid_union,unionErrors:o}),se}if(n.common.async)return Promise.all(r.map(async s=>{const o={...n,common:{...n.common,issues:[]},parent:null};return{result:await s._parseAsync({data:n.data,path:n.path,parent:o}),ctx:o}})).then(i);{let s;const o=[];for(const l of r){const d={...n,common:{...n.common,issues:[]},parent:null},u=l._parseSync({data:n.data,path:n.path,parent:d});if(u.status==="valid")return u;u.status==="dirty"&&!s&&(s={result:u,ctx:d}),d.common.issues.length&&o.push(d.common.issues)}if(s)return n.common.issues.push(...s.ctx.common.issues),s.result;const a=o.map(l=>new bt(l));return $(n,{code:M.invalid_union,unionErrors:a}),se}}get options(){return this._def.options}}ei.create=(e,t)=>new ei({options:e,typeName:oe.ZodUnion,...de(t)});function Ss(e,t){const n=Pt(e),r=Pt(t);if(e===t)return{valid:!0,data:e};if(n===z.object&&r===z.object){const i=me.objectKeys(t),s=me.objectKeys(e).filter(a=>i.indexOf(a)!==-1),o={...e,...t};for(const a of s){const l=Ss(e[a],t[a]);if(!l.valid)return{valid:!1};o[a]=l.data}return{valid:!0,data:o}}else if(n===z.array&&r===z.array){if(e.length!==t.length)return{valid:!1};const i=[];for(let s=0;s<e.length;s++){const o=e[s],a=t[s],l=Ss(o,a);if(!l.valid)return{valid:!1};i.push(l.data)}return{valid:!0,data:i}}else return n===z.date&&r===z.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}class ti extends he{_parse(t){const{status:n,ctx:r}=this._processInputParams(t),i=(s,o)=>{if(Sa(s)||Sa(o))return se;const a=Ss(s.value,o.value);return a.valid?((Ta(s)||Ta(o))&&n.dirty(),{status:n.value,value:a.data}):($(r,{code:M.invalid_intersection_types}),se)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([s,o])=>i(s,o)):i(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}}ti.create=(e,t,n)=>new ti({left:e,right:t,typeName:oe.ZodIntersection,...de(n)});class on extends he{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==z.array)return $(r,{code:M.invalid_type,expected:z.array,received:r.parsedType}),se;if(r.data.length<this._def.items.length)return $(r,{code:M.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),se;!this._def.rest&&r.data.length>this._def.items.length&&($(r,{code:M.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());const s=[...r.data].map((o,a)=>{const l=this._def.items[a]||this._def.rest;return l?l._parse(new Ut(r,o,r.path,a)):null}).filter(o=>!!o);return r.common.async?Promise.all(s).then(o=>Qe.mergeArray(n,o)):Qe.mergeArray(n,s)}get items(){return this._def.items}rest(t){return new on({...this._def,rest:t})}}on.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new on({items:e,typeName:oe.ZodTuple,rest:null,...de(t)})};class La extends he{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==z.map)return $(r,{code:M.invalid_type,expected:z.map,received:r.parsedType}),se;const i=this._def.keyType,s=this._def.valueType,o=[...r.data.entries()].map(([a,l],d)=>({key:i._parse(new Ut(r,a,r.path,[d,"key"])),value:s._parse(new Ut(r,l,r.path,[d,"value"]))}));if(r.common.async){const a=new Map;return Promise.resolve().then(async()=>{for(const l of o){const d=await l.key,u=await l.value;if(d.status==="aborted"||u.status==="aborted")return se;(d.status==="dirty"||u.status==="dirty")&&n.dirty(),a.set(d.value,u.value)}return{status:n.value,value:a}})}else{const a=new Map;for(const l of o){const d=l.key,u=l.value;if(d.status==="aborted"||u.status==="aborted")return se;(d.status==="dirty"||u.status==="dirty")&&n.dirty(),a.set(d.value,u.value)}return{status:n.value,value:a}}}}La.create=(e,t,n)=>new La({valueType:t,keyType:e,typeName:oe.ZodMap,...de(n)});class er extends he{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==z.set)return $(r,{code:M.invalid_type,expected:z.set,received:r.parsedType}),se;const i=this._def;i.minSize!==null&&r.data.size<i.minSize.value&&($(r,{code:M.too_small,minimum:i.minSize.value,type:"set",inclusive:!0,exact:!1,message:i.minSize.message}),n.dirty()),i.maxSize!==null&&r.data.size>i.maxSize.value&&($(r,{code:M.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),n.dirty());const s=this._def.valueType;function o(l){const d=new Set;for(const u of l){if(u.status==="aborted")return se;u.status==="dirty"&&n.dirty(),d.add(u.value)}return{status:n.value,value:d}}const a=[...r.data.values()].map((l,d)=>s._parse(new Ut(r,l,r.path,d)));return r.common.async?Promise.all(a).then(l=>o(l)):o(a)}min(t,n){return new er({...this._def,minSize:{value:t,message:q.toString(n)}})}max(t,n){return new er({...this._def,maxSize:{value:t,message:q.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}}er.create=(e,t)=>new er({valueType:e,minSize:null,maxSize:null,typeName:oe.ZodSet,...de(t)});class Na extends he{get schema(){return this._def.getter()}_parse(t){const{ctx:n}=this._processInputParams(t);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}}Na.create=(e,t)=>new Na({getter:e,typeName:oe.ZodLazy,...de(t)});class Da extends he{_parse(t){if(t.data!==this._def.value){const n=this._getOrReturnCtx(t);return $(n,{received:n.data,code:M.invalid_literal,expected:this._def.value}),se}return{status:"valid",value:t.data}}get value(){return this._def.value}}Da.create=(e,t)=>new Da({value:e,typeName:oe.ZodLiteral,...de(t)});function Ol(e,t){return new An({values:e,typeName:oe.ZodEnum,...de(t)})}class An extends he{_parse(t){if(typeof t.data!="string"){const n=this._getOrReturnCtx(t),r=this._def.values;return $(n,{expected:me.joinValues(r),received:n.parsedType,code:M.invalid_type}),se}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){const n=this._getOrReturnCtx(t),r=this._def.values;return $(n,{received:n.data,code:M.invalid_enum_value,options:r}),se}return rt(t.data)}get options(){return this._def.values}get enum(){const t={};for(const n of this._def.values)t[n]=n;return t}get Values(){const t={};for(const n of this._def.values)t[n]=n;return t}get Enum(){const t={};for(const n of this._def.values)t[n]=n;return t}extract(t,n=this._def){return An.create(t,{...this._def,...n})}exclude(t,n=this._def){return An.create(this.options.filter(r=>!t.includes(r)),{...this._def,...n})}}An.create=Ol;class Ra extends he{_parse(t){const n=me.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==z.string&&r.parsedType!==z.number){const i=me.objectValues(n);return $(r,{expected:me.joinValues(i),received:r.parsedType,code:M.invalid_type}),se}if(this._cache||(this._cache=new Set(me.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){const i=me.objectValues(n);return $(r,{received:r.data,code:M.invalid_enum_value,options:i}),se}return rt(t.data)}get enum(){return this._def.values}}Ra.create=(e,t)=>new Ra({values:e,typeName:oe.ZodNativeEnum,...de(t)});class ni extends he{unwrap(){return this._def.type}_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==z.promise&&n.common.async===!1)return $(n,{code:M.invalid_type,expected:z.promise,received:n.parsedType}),se;const r=n.parsedType===z.promise?n.data:Promise.resolve(n.data);return rt(r.then(i=>this._def.type.parseAsync(i,{path:n.path,errorMap:n.common.contextualErrorMap})))}}ni.create=(e,t)=>new ni({type:e,typeName:oe.ZodPromise,...de(t)});class Ln extends he{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===oe.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){const{status:n,ctx:r}=this._processInputParams(t),i=this._def.effect||null,s={addIssue:o=>{$(r,o),o.fatal?n.abort():n.dirty()},get path(){return r.path}};if(s.addIssue=s.addIssue.bind(s),i.type==="preprocess"){const o=i.transform(r.data,s);if(r.common.async)return Promise.resolve(o).then(async a=>{if(n.value==="aborted")return se;const l=await this._def.schema._parseAsync({data:a,path:r.path,parent:r});return l.status==="aborted"?se:l.status==="dirty"||n.value==="dirty"?qn(l.value):l});{if(n.value==="aborted")return se;const a=this._def.schema._parseSync({data:o,path:r.path,parent:r});return a.status==="aborted"?se:a.status==="dirty"||n.value==="dirty"?qn(a.value):a}}if(i.type==="refinement"){const o=a=>{const l=i.refinement(a,s);if(r.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(r.common.async===!1){const a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return a.status==="aborted"?se:(a.status==="dirty"&&n.dirty(),o(a.value),{status:n.value,value:a.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(a=>a.status==="aborted"?se:(a.status==="dirty"&&n.dirty(),o(a.value).then(()=>({status:n.value,value:a.value}))))}if(i.type==="transform")if(r.common.async===!1){const o=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!On(o))return se;const a=i.transform(o.value,s);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:a}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(o=>On(o)?Promise.resolve(i.transform(o.value,s)).then(a=>({status:n.value,value:a})):se);me.assertNever(i)}}Ln.create=(e,t,n)=>new Ln({schema:e,typeName:oe.ZodEffects,effect:t,...de(n)});Ln.createWithPreprocess=(e,t,n)=>new Ln({schema:t,effect:{type:"preprocess",transform:e},typeName:oe.ZodEffects,...de(n)});class Mt extends he{_parse(t){return this._getType(t)===z.undefined?rt(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}Mt.create=(e,t)=>new Mt({innerType:e,typeName:oe.ZodOptional,...de(t)});class Nn extends he{_parse(t){return this._getType(t)===z.null?rt(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}Nn.create=(e,t)=>new Nn({innerType:e,typeName:oe.ZodNullable,...de(t)});class Ts extends he{_parse(t){const{ctx:n}=this._processInputParams(t);let r=n.data;return n.parsedType===z.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}}Ts.create=(e,t)=>new Ts({innerType:e,typeName:oe.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...de(t)});class xs extends he{_parse(t){const{ctx:n}=this._processInputParams(t),r={...n,common:{...n.common,issues:[]}},i=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return Jr(i)?i.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new bt(r.common.issues)},input:r.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new bt(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}}xs.create=(e,t)=>new xs({innerType:e,typeName:oe.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...de(t)});class ja extends he{_parse(t){if(this._getType(t)!==z.nan){const r=this._getOrReturnCtx(t);return $(r,{code:M.invalid_type,expected:z.nan,received:r.parsedType}),se}return{status:"valid",value:t.data}}}ja.create=e=>new ja({typeName:oe.ZodNaN,...de(e)});class Bg extends he{_parse(t){const{ctx:n}=this._processInputParams(t),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}}class Xs extends he{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.common.async)return(async()=>{const s=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return s.status==="aborted"?se:s.status==="dirty"?(n.dirty(),qn(s.value)):this._def.out._parseAsync({data:s.value,path:r.path,parent:r})})();{const i=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return i.status==="aborted"?se:i.status==="dirty"?(n.dirty(),{status:"dirty",value:i.value}):this._def.out._parseSync({data:i.value,path:r.path,parent:r})}}static create(t,n){return new Xs({in:t,out:n,typeName:oe.ZodPipeline})}}class ks extends he{_parse(t){const n=this._def.innerType._parse(t),r=i=>(On(i)&&(i.value=Object.freeze(i.value)),i);return Jr(n)?n.then(i=>r(i)):r(n)}unwrap(){return this._def.innerType}}ks.create=(e,t)=>new ks({innerType:e,typeName:oe.ZodReadonly,...de(t)});var oe;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(oe||(oe={}));const Wi=Rt.create,Or=En.create,Wg=vs.create;It.create;ft.create;const $g=Oe.create;ei.create;ti.create;on.create;An.create;ni.create;Mt.create;Nn.create;const Vg="https://api.opheleo.com",Hg="Bearer ",zg="Authorization";$g({id:Wi(),userId:Wi(),createdAt:Or(),updatedAt:Or(),active:Wg(),perDayUsage:Or(),userEmail:Wi().email(),maxPerDayUsage:Or()});async function qg(e,t,n){const r=typeof window<"u"?localStorage.getItem("session_token"):null;return(await Se({baseURL:Cn(n??Vg),url:e,method:t,headers:r?{[zg]:`${Hg}${r}`}:void 0})).data}async function Kg(e){return qg("/iccandle/v1/iccandle-user-usage/me","get",e)}const Gg=e=>{const t=e==null?void 0:e.platformApiBase;return mg({queryKey:["iccandle-user-usage",t],queryFn:()=>Kg(t),...e})},Qg=p.createContext(null);function Zg(){const e=p.useContext(Qg);if(!e)throw new Error("useTheme must be used within ThemeProvider");return e}function Yg({controlsRef:e,onSymbolTickerChange:t,onScanResultUrlChange:n,onChartWidgetChange:r,onChartContainerChange:i,selectSymbolTickerRef:s,headerSlot:o}){const{resolvedTheme:a}=Zg(),l=nt(),d=yr(),u=p.useRef([]),f=p.useRef(null),m=p.useRef(a),h=p.useRef(null),b=p.useRef(null),v=p.useMemo(()=>Yr(d),[d]),w=p.useRef(v),g=p.useRef("60"),{setGapCount:T,setReplayMode:x}=xl();p.useEffect(()=>{T(0),x(!1)},[T,x]),p.useEffect(()=>{Mr()&&E(!0)},[]);const[y,O]=p.useState(null),[C,E]=p.useState(!1),[k,U]=p.useState(null),F=p.useCallback(j=>{if(j===w.current)return;const A=d.find(R=>R.ticker===j);if(!A)return;w.current=j,localStorage.setItem(un,j),t(j);const W=f.current;if(W)try{W.onChartReady(()=>{W.activeChart().setSymbol(A.ticker)})}catch{}},[t,d]);p.useEffect(()=>(s.current=F,()=>{s.current=null}),[F,s]);const H=p.useRef([]),L=p.useMemo(()=>new og(H,"selector",d,l.tickWebSocketUrl),[l.tickWebSocketUrl,d]),{data:Q,isLoading:K}=Gg({enabled:!0,platformApiBase:l.platformApiBase}),re=!K&&Q?Q.perDayUsage>=Q.maxPerDayUsage:!1;p.useEffect(()=>{i(y)},[y,i]),p.useEffect(()=>{r(k)},[k,r]),p.useEffect(()=>{if(!C||!y)return;if(f.current){U(null),r(null);try{f.current.remove()}catch{}f.current=null}const j=Yr(d);w.current=j,g.current="60";const A=Tl();if(!A)return;const W=new A({container:y,library_path:"/charting_library/",datafeed:L,symbol:j,interval:"60",autosize:!0,theme:m.current,disabled_features:["symbol_info","legend_inplace_edit","header_quick_search","header_compare"],enabled_features:["header_chart_type","show_symbol_logos","show_symbol_logo_in_legend"],custom_indicators_getter:()=>ag(u),drawings_access:{type:"black",tools:[{name:"Date Range"}]},locale:"en",timezone:_d(),overrides:{priceScaleSelectionStrategyName:"right","scalesProperties.showSeriesLastValue":!0}});let R=!1;return f.current=W,W.onChartReady(()=>{R||f.current!==W||U(W)}),()=>{if(R=!0,U(null),r(null),f.current){try{f.current.remove()}catch{}f.current=null}}},[y,L,r,C]),p.useEffect(()=>{if(!k)return;let j=!1;try{k.onChartReady(()=>{j||(async()=>{try{const A=k.activeChart(),W=await A.createStudy("Generated Candles - By iC Candle",!0,!0);if(j||(W&&A.bringToFront([W]),await k.headerReady(),j)||(await new Promise(ae=>{setTimeout(()=>{if(!j)try{A.clearMarks(2)}catch{}ae(!0)},150)}),j))return;localStorage.setItem("tv:selected-news-events","[]"),A.refreshMarks();const R=ae=>{const ce=A.symbol(),ie=ps(ce,d,v);ie!==w.current&&(n(null),u.current=[]);try{k.resetCache()}catch{}w.current=ie,localStorage.setItem(un,ie),t(ie)},G=ae=>{ae!==g.current&&(n(null),u.current=[]);try{k.resetCache()}catch{}g.current=ae};h.current=R,b.current=G,A.onSymbolChanged().subscribe(null,R),A.onIntervalChanged().subscribe(null,G)}catch{}})()})}catch{}return()=>{j=!0,h.current=null,b.current=null}},[k,e,n,t,v,d]),p.useEffect(()=>{if(!k||!a)return;let j=!1;try{k.onChartReady(()=>{j||k.changeTheme(a).catch(()=>{})})}catch{}return()=>{j=!0}},[k,a]);const P=p.useCallback(()=>{E(!0)},[]),D=re?c.jsx("div",{className:"web-trading-widget-advanced__scan-limit-wrap",children:c.jsxs(Zp,{variant:"destructive",className:"web-trading-widget-advanced__scan-limit-badge",children:[c.jsx("span",{className:"web-trading-widget-advanced__scan-limit-badge-title",children:"Daily scan limit reached"}),Q&&c.jsxs("span",{className:"web-trading-widget-advanced__scan-limit-badge-count",children:[Q.perDayUsage," of ",Q.maxPerDayUsage," scans used today"]})]})}):null;return c.jsxs(c.Fragment,{children:[o??D,c.jsx(Yp,{onLoad:P}),c.jsx("div",{ref:O,className:"web-trading-widget-advanced__container"})]})}const El=p.createContext(null);function Ma({value:e,children:t}){return c.jsx(El.Provider,{value:e,children:t})}function Jg(){const e=p.useContext(El);if(!e)throw new Error("useWidgetChartSlot must be used within WidgetChartSlotProvider");return e}function Er(e,t){return e.toFixed(t)}function Xg({symbolTicker:e,bid:t,ask:n,defaultVolumeLots:r,volumeStep:i,minVolumeLots:s,isSubmitting:o,isAccountsLoading:a,selectedLogin:l,isDragging:d,isCollapsed:u,onToggleCollapsed:f,onDragHandlePointerDown:m,onPlaceOrder:h}){const{t:b}=Te(),[v,w]=p.useState(!0),g=u??v,T=()=>{f==null||f(),u===void 0&&w(D=>!D)},x=ne(D=>D.setOrderSide),y=ne(D=>D.setVolumeLots),O=ne(D=>D.volumeLots),[C,E]=p.useState(String(O||r));p.useEffect(()=>{g||E(Er(O,2))},[g,O]);const k=Number(wt(_t(e))),U=t!==null?pe(t,k):"—",F=n!==null?pe(n,k):"—",L=!o&&!a&&l!==""&&(t!==null&&n!==null),Q=D=>{const j=Number(C),A=Number.isFinite(j)&&j>0?j:r,W=Math.max(s,A+D*i),R=Er(W,2);E(R),y(W)},K=()=>{const D=Number(C);if(!Number.isFinite(D)||D<=0){E(Er(r,2)),y(r);return}const j=Math.max(s,D),A=Er(j,2);E(A),y(j)},re=D=>{t===null||n===null||x({side:D,entryPrice:D==="buy"?n:t})},P=D=>{if(t===null||n===null||!l)return;const j=Number(C),A=Math.max(s,Number.isFinite(j)&&j>0?j:r);x({side:D,entryPrice:D==="buy"?n:t}),h({login:l,side:D,volumeLots:A,bid:t,ask:n})};return c.jsx("div",{className:"web-trading-widget-mini-order web-trading-widget-mini-order--expanded",children:c.jsxs("div",{className:"web-trading-widget-mini-order__row",children:[c.jsx("button",{type:"button","aria-label":b("WebTrading.moveQuickOrderPanel"),onPointerDown:m,className:`web-trading-widget-mini-order__drag-handle${d?" web-trading-widget-mini-order__drag-handle--grabbing":""}`,children:c.jsx(Xa,{className:"web-trading-widget-icon web-trading-widget-icon--sm",strokeWidth:2})}),c.jsxs(c.Fragment,{children:[c.jsxs("button",{type:"button",disabled:!L,className:"web-trading-widget-mini-order__side-btn web-trading-widget-mini-order__side-btn--sell",onMouseDown:()=>re("sell"),onClick:()=>P("sell"),children:[c.jsx("span",{className:"web-trading-widget-mini-order__price",children:U}),c.jsx("span",{className:"web-trading-widget-mini-order__label web-trading-widget-mini-order__label--sell",children:b("WebTrading.sell").toUpperCase()})]}),c.jsxs("div",{className:"web-trading-widget-mini-order__volume",children:[c.jsx("button",{type:"button","aria-label":b("WebTrading.decreaseVolume"),disabled:!L,className:"web-trading-widget-mini-order__volume-btn",onClick:()=>Q(-1),children:c.jsx(Br,{className:"web-trading-widget-icon web-trading-widget-icon--xs",strokeWidth:2.5})}),c.jsx("input",{type:"text",inputMode:"decimal",value:C,disabled:!L,onChange:D=>E(D.target.value),onBlur:K,className:"web-trading-widget-mini-order__volume-input"}),c.jsx("button",{type:"button","aria-label":b("WebTrading.increaseVolume"),disabled:!L,className:"web-trading-widget-mini-order__volume-btn",onClick:()=>Q(1),children:c.jsx($i,{className:"web-trading-widget-icon web-trading-widget-icon--xs",strokeWidth:2.5})})]}),c.jsxs("button",{type:"button",disabled:!L,className:"web-trading-widget-mini-order__side-btn web-trading-widget-mini-order__side-btn--buy",onMouseDown:()=>re("buy"),onClick:()=>P("buy"),children:[c.jsx("span",{className:"web-trading-widget-mini-order__label web-trading-widget-mini-order__label--buy",children:b("WebTrading.buy").toUpperCase()}),c.jsx("span",{className:"web-trading-widget-mini-order__price",children:F})]})]}),c.jsx("button",{type:"button","aria-label":b(g?"WebTrading.expandQuickOrderPanel":"WebTrading.collapseQuickOrderPanel"),"aria-expanded":!g,className:"web-trading-widget-mini-order__toggle",onClick:T,children:g?c.jsx(Br,{className:"web-trading-widget-icon web-trading-widget-icon--sm",strokeWidth:2.5}):c.jsx($i,{className:"web-trading-widget-icon web-trading-widget-icon--sm",strokeWidth:2.5})})]})})}const ey=new Set(["volume-setting","risk-management"]);function ty({symbolTicker:e,bid:t,ask:n,defaultVolumeLots:r,volumeStep:i,minVolumeLots:s,isSubmitting:o,isAccountsLoading:a,selectedLogin:l,isDragging:d,onDragHandlePointerDown:u,onLayoutChange:f,onClose:m,onPlaceOrder:h}){const{t:b}=Te(),[v,w]=p.useState(!0),[g,T]=p.useState("market"),x=ne(X=>X.volumeLots),[y,O]=p.useState(String(x||r)),[C,E]=p.useState(""),[k,U]=p.useState(""),F=ne(X=>X.stopLoss),H=ne(X=>X.takeProfit),L=ne(X=>X.setStopLoss),Q=ne(X=>X.setTakeProfit),K=ne(X=>X.setVolumeLots),re=ne(X=>X.setOrderSide),[P,D]=p.useState(""),[j,A]=p.useState(We.GTC),[W,R]=p.useState(""),[G,ae]=p.useState(""),[ce,ie]=p.useState(()=>new Set(ey));p.useEffect(()=>{f()},[v,f]);const N=Number(wt(_t(e))),Z=Dn(N),te=Rs(t,n),ve=t!==null?pe(t,N):"—",Re=n!==null?pe(n,N):"—",be=ai(g),Pe=rc(g),Ce=oi(g),V=b(Vr[g]),_e=!be&&Ce.orderType!==null&&Ce.orderType%2===1,Y=p.useMemo(()=>te!==null?te:t??n,[n,t,te]),we=X=>{ie(qe=>{const St=new Set(qe);return St.has(X)?St.delete(X):St.add(X),St})},je=X=>{O(X);const qe=Number(X);Number.isFinite(qe)&&qe>0&&K(qe)},Ze=X=>t===null||n===null?null:be?X==="buy"?n:t:Le(C)??(X==="buy"?n:t),an=X=>{const qe=Ze(X);qe!==null&&re({side:X,entryPrice:qe})},Un=X=>{if(t===null||n===null||!l)return;const qe=Math.max(s,Number(y)||s),St=Vi(g,X),In=Ze(X);In!==null&&re({side:X,entryPrice:In}),h({login:l,executionMode:g,side:X,orderType:St,volumeLots:qe,stopLoss:F,takeProfit:H,priceOrder:C,priceTrigger:k,comment:P,typeTime:j,expirationDateTime:W,expirationDay:G,bid:t,ask:n})},it=t!==null&&n!==null,yi=be||Le(C)!==void 0,bi=!Pe||Le(k)!==void 0,J=be||li(j,W,G),Ye=!o&&!a&&l!==""&&it&&yi&&bi&&J,vt=!be&&Ls(j),br=!be&&Ns(j),to=()=>Ce.orderType!==null&&Ce.orderType%2===1?"sell":"buy";return c.jsxs("div",{className:`web-trading-widget-market-panel web-trading-widget-market-panel--modal${v?" web-trading-widget-market-panel--collapsed":""}`,children:[c.jsx(Xg,{symbolTicker:e,bid:t,ask:n,defaultVolumeLots:r,volumeStep:i,minVolumeLots:s,isSubmitting:o,isAccountsLoading:a,selectedLogin:l,isDragging:d,isCollapsed:v,onToggleCollapsed:()=>w(X=>!X),onDragHandlePointerDown:u,onPlaceOrder:({login:X,side:qe,volumeLots:St,bid:In,ask:no})=>{In===null||no===null||h({login:X,executionMode:"market",side:qe,orderType:Vi("market",qe),volumeLots:St,stopLoss:F,takeProfit:H,priceOrder:"",priceTrigger:"",comment:P,typeTime:j,expirationDateTime:"",expirationDay:"",bid:In,ask:no})}}),v?null:c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"web-trading-widget-market-panel__header",children:c.jsx("select",{value:g,className:"web-trading-widget-market-panel__select-trigger","aria-label":b("WebTrading.orderExecutionType"),onChange:X=>T(X.target.value),children:Wr.map(X=>c.jsx("option",{value:X.mode,children:b(Vr[X.mode])},X.mode))})}),c.jsxs("div",{className:"web-trading-widget-market-panel__accordion",children:[c.jsx(ut,{title:b("WebTrading.volumeSetting"),isOpen:ce.has("volume-setting"),onToggle:()=>we("volume-setting"),children:c.jsx(ke,{label:b("WebTrading.lots"),value:y,onChange:je,step:i,min:s,decimals:2})}),be?null:c.jsx(ut,{title:b("WebTrading.orderPrice"),isOpen:ce.has("order-price"),onToggle:()=>we("order-price"),children:Pe?c.jsxs(c.Fragment,{children:[c.jsx(ke,{label:b("WebTrading.stopPrice"),value:k,onChange:U,step:Z,decimals:N,basePrice:Y,placeholder:te!==null?pe(te,N):"—"}),c.jsx(ke,{label:b("WebTrading.limitPrice"),value:C,onChange:E,step:Z,decimals:N,basePrice:Y,placeholder:te!==null?pe(te,N):"—"})]}):c.jsx(ke,{label:b("WebTrading.price"),value:C,onChange:E,step:Z,decimals:N,basePrice:Y,placeholder:te!==null?pe(te,N):"—"})}),c.jsx(ut,{title:b("WebTrading.riskManagement"),isOpen:ce.has("risk-management"),onToggle:()=>we("risk-management"),children:c.jsxs("div",{className:"web-trading-widget-market-panel__grid-2",children:[c.jsx(ke,{label:b("WebTrading.stopLoss"),value:F,onChange:L,step:Z,decimals:N,basePrice:t,placeholder:t!==null?ve:"—",clearable:!0}),c.jsx(ke,{label:b("WebTrading.takeProfit"),value:H,onChange:Q,step:Z,decimals:N,basePrice:n,placeholder:n!==null?Re:"—",clearable:!0})]})}),be?null:c.jsxs(ut,{title:b("WebTrading.expiration"),isOpen:ce.has("expiration"),onToggle:()=>we("expiration"),children:[c.jsx("select",{value:String(j),className:"web-trading-widget-market-panel__select-full","aria-label":b("WebTrading.orderExpirationType"),onChange:X=>A(Number(X.target.value)),children:ic.map(X=>c.jsx("option",{value:String(X.value),children:b(sc[X.value])},X.value))}),vt?c.jsxs("div",{className:"web-trading-widget-market-panel__field",children:[c.jsx("span",{className:"web-trading-widget-market-panel__field-label",children:b("WebTrading.expirationTime")}),c.jsx("input",{type:"datetime-local",value:W,className:"web-trading-widget-market-panel__input",onChange:X=>R(X.target.value)})]}):null,br?c.jsxs("div",{className:"web-trading-widget-market-panel__field",children:[c.jsx("span",{className:"web-trading-widget-market-panel__field-label",children:b("WebTrading.expirationDay")}),c.jsx("input",{type:"date",value:G,className:"web-trading-widget-market-panel__input",onChange:X=>ae(X.target.value)})]}):null]}),c.jsx(ut,{title:b("WebTrading.comment"),isOpen:ce.has("comment"),onToggle:()=>we("comment"),children:c.jsx("input",{type:"text",value:P,className:"web-trading-widget-market-panel__input",placeholder:"",onChange:X=>D(X.target.value)})})]}),c.jsx("div",{className:"web-trading-widget-market-panel__footer",children:c.jsxs("div",{className:"web-trading-widget-market-panel__quotes",children:[c.jsx("span",{children:ve}),c.jsx("span",{className:"web-trading-widget-market-panel__quotes-ask",children:Re})]})}),!be&&c.jsx("button",{type:"button",className:`web-trading-widget-market-panel__place-btn${_e?" web-trading-widget-market-panel__place-btn--sell":" web-trading-widget-market-panel__place-btn--buy"}`,disabled:!Ye,onMouseDown:()=>an(to()),onClick:()=>Un(to()),children:b("WebTrading.placeOrder",{label:V})})]})]})}function ny({symbolTicker:e,chartWidget:t,orderState:n}){const r=yr(),i=Vs(e),{panel:s,confirmation:o,isSubmitting:a,defaultVolumeLots:l,volumeStep:d,minVolumeLots:u,selectedLogin:f,isAccountsLoading:m,hasConfirmedAccount:h,closePanels:b,dismissConfirmation:v,placeMarketOrder:w}=n,g=le(R=>R.positions),T=le(R=>R.orders),x=le(R=>R.selectedPositionTicket),y=le(R=>R.selectedOrderTicket),O=le(R=>R.setSelectedPositionTicket),C=le(R=>R.setSelectedOrderTicket),E=x!==null?g.find(R=>R.ticket===x)??null:null,k=y!==null?T.find(R=>R.ticket===y)??null:null,U=E!==null||k!==null,F=h&&s==="confirmation"&&o!==null,H=h&&s!=="confirmation"&&s!=="closed"&&E===null&&k===null,{panelRef:L,position:Q,isDragging:K,onDragStart:re,reclamp:P}=dc({storageKey:"web-trading-widget-modal-exec-panel-position",defaultAlign:"top-right",isActive:H}),D=ne(R=>R.setDraft),j=ne(R=>R.clearDraft),A=Number(wt(_t(e))),W=Dn(A);return p.useEffect(()=>{if(h&&!U){if(s==="closed"||s==="confirmation"){j();return}D({source:"new-order",symbolKey:ar(e,r),entryPrice:null,side:null,showEntryLine:!1,stopLoss:"",takeProfit:"",volumeLots:l,digits:A,priceStep:W})}},[j,l,A,h,s,W,D,U,e,r]),!h&&!U?null:c.jsxs("div",{className:"web-trading-widget-new-order-overlay-layer",children:[c.jsx(Zc,{chartWidget:t,symbolTicker:e,symbols:r}),U&&E!==null?c.jsx("div",{className:"web-trading-widget-new-order-overlay web-trading-widget-new-order-overlay--news web-trading-widget-new-order-overlay--side-panel",children:c.jsx(Sl,{position:E,onClose:()=>O(null)})}):null,U&&k!==null?c.jsx("div",{className:"web-trading-widget-new-order-overlay web-trading-widget-new-order-overlay--news web-trading-widget-new-order-overlay--side-panel",children:c.jsx(vl,{order:k,onClose:()=>C(null)})}):null,F&&o!==null?c.jsx("div",{className:"web-trading-widget-new-order-overlay web-trading-widget-new-order-overlay--news",children:c.jsx(_l,{confirmation:o,symbolTicker:e,onDismiss:v})}):null,H?c.jsx("div",{ref:L,style:{left:Q.x,top:Q.y},className:`web-trading-widget-new-order-overlay web-trading-widget-new-order-overlay--news web-trading-widget-new-order-overlay--draggable web-trading-widget-new-order-overlay--exec-panel${K?" web-trading-widget-new-order-overlay--dragging":""}`,children:c.jsx(ty,{symbolTicker:e,bid:(i==null?void 0:i.bid)??null,ask:(i==null?void 0:i.ask)??null,defaultVolumeLots:l,volumeStep:d,minVolumeLots:u,isSubmitting:a,isAccountsLoading:m,selectedLogin:f,isDragging:K,onDragHandlePointerDown:re,onLayoutChange:P,onClose:b,onPlaceOrder:R=>void w({symbolTicker:e,login:R.login,executionMode:R.executionMode,side:R.side,orderType:R.orderType,volumeLots:R.volumeLots,stopLoss:R.stopLoss,takeProfit:R.takeProfit,priceOrder:R.priceOrder,priceTrigger:R.priceTrigger,comment:R.comment,typeTime:R.typeTime,expirationDateTime:R.expirationDateTime,expirationDay:R.expirationDay,bid:R.bid,ask:R.ask})})}):null]})}const ry=`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" aria-hidden="true">
|
|
43
43
|
<rect x="1" y="1" width="16" height="16" rx="5" fill="#3B82F6" fill-opacity="0.18" stroke="#3B82F6" stroke-width="1"/>
|
|
44
44
|
<circle cx="9" cy="6.5" r="2.5" fill="none" stroke="#3B82F6" stroke-width="1.5"/>
|
|
45
45
|
<path d="M4 14.5c0-2.8 2.2-5 5-5s5 2.2 5 5" fill="none" stroke="#3B82F6" stroke-width="1.5" stroke-linecap="round"/>
|
|
46
|
-
</svg>`,
|
|
46
|
+
</svg>`,Al=`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" aria-hidden="true">
|
|
47
47
|
<circle cx="9" cy="9" r="6.5" fill="none" stroke="currentColor" stroke-width="1.5" stroke-opacity="0.25"/>
|
|
48
48
|
<path d="M9 2.5a6.5 6.5 0 0 1 6.5 6.5" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
|
|
49
|
-
</svg>`,
|
|
49
|
+
</svg>`,iy=`<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" aria-hidden="true">
|
|
50
50
|
<path d="M4.5 9.25 7.5 12.25 13.5 6.25" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round"/>
|
|
51
|
-
</svg>`,Nl="data-opheleo-account-dropdown",cy="148px",ly=640,dy="MT5",Ia=new WeakMap,Dl=new WeakMap;function nn(e,t){return Gn(e.language??"en",t)}function uy(e){e.classList.add("apply-common-tooltip"),e.style.display="inline-flex",e.style.alignItems="center",e.style.gap="6px",e.style.padding="0 8px",e.style.height="34px",e.style.cursor="pointer",e.style.border="none",e.style.background="transparent",e.style.color="inherit",e.style.fontSize="13px",e.style.fontWeight="400",e.style.whiteSpace="nowrap"}function fy(e){const t=new Set([document,e.ownerDocument]),n=e.querySelector("iframe");return n instanceof HTMLIFrameElement&&n.contentDocument&&t.add(n.contentDocument),[...t]}function Rl(e){if(!e)return!1;const t=e.querySelector("iframe");return(t instanceof HTMLIFrameElement?t.clientWidth:e.clientWidth)<ly}function hy(e){e.classList.forEach(t=>{t.includes("iconOnly")&&e.classList.remove(t)})}function my(e,t){e.querySelectorAll("svg").forEach(n=>{n.style.display=t?"none":""})}function py(e,t){hy(e),e.style.flexShrink="0",e.style.minWidth=t?"auto":cy,e.style.width="auto",e.style.maxWidth="none",e.style.overflow="visible",e.querySelectorAll("span, div").forEach(n=>{!(n instanceof HTMLElement)||n.querySelector("svg")||(n.style.display="",n.style.visibility="visible",n.style.opacity="1",n.style.maxWidth="none",n.style.overflow="visible",n.style.textOverflow="clip")}),my(e,t)}function gy(e){const[t]=e.label.split(" · ");return t??e.label}function yy(e){return`${dy} ${e.login}`}function by(e){return`${e.label} — ${e.balance.toFixed(2)} ${e.currency}`}function _y(e,t,n){const r=gy(t),i=`${t.balance.toFixed(2)} ${t.currency}`;return`${t.login} · ${r} (${i})${n?` · ${nn(e,"WebTrading.activeAccount")}`:""}`}function eo(e){return e.accountOptions.length===0?null:e.accountOptions.find(t=>t.login===e.selectedLogin)??e.accountOptions[0]}function jl(e){return e.isAccountsLoading||e.isAccountDataLoading}function wy(e){if(e.isAccountsLoading||e.accountOptions.length===0)return"";const t=eo(e);return t?yy(t):""}function vy(e){if(e.isAccountsLoading)return nn(e,"WebTrading.loadingAccounts");if(e.isAccountDataLoading)return nn(e,"WebTrading.switchingAccount");const t=eo(e);return t?by(t):nn(e,"WebTrading.selectYourTradingAccount")}function Sy(e,t){if(!t)return jl(e)?Ll:oy}function Ty(e,t){return e.isAccountsLoading?[{title:nn(e,"WebTrading.loadingAccounts"),onSelect:()=>{}}]:e.isAccountDataLoading?[{title:nn(e,"WebTrading.switchingAccount"),onSelect:()=>{}}]:e.accountOptions.length===0?[{title:nn(e,"WebTrading.noTradingAccounts"),onSelect:()=>{}}]:e.accountOptions.map(n=>{const r=n.login===e.selectedLogin;return{title:_y(e,n,r),icon:r?ay:void 0,onSelect:()=>{r||t(n.login)}}})}function xy(e){for(const t of fy(e)){const n=t.querySelector(`[${Nl}="true"]`);if(n instanceof HTMLElement)return n;for(const r of t.querySelectorAll("svg")){if(!(r.querySelector('rect[rx="5"]')instanceof SVGRectElement))continue;let i=r.parentElement;for(;i&&i!==t.body;){if(i.tagName==="BUTTON"||i.getAttribute("role")==="button")return i;i=i.parentElement}}}return null}function ky(e){e.style.removeProperty("background"),e.style.removeProperty("border"),e.style.removeProperty("border-radius"),e.style.removeProperty("padding"),e.style.removeProperty("font-weight"),e.style.removeProperty("color"),e.style.removeProperty("box-shadow")}function Py(e,t,n){e.setAttribute(Nl,"true"),uy(e),py(e,n);const r=eo(t);if(!jl(t)&&r!==null){e.style.background="rgba(59, 130, 246, 0.14)",e.style.border="1px solid rgba(59, 130, 246, 0.5)",e.style.borderRadius="6px",e.style.padding="0 10px",e.style.fontWeight="600",e.style.color="#3B82F6",e.style.boxShadow="0 0 0 1px rgba(59, 130, 246, 0.08)";return}ky(e),e.style.border="1px solid transparent",e.style.borderRadius="6px",e.style.padding="0 10px"}function Cy(e,t){if(!(e!=null&&e.isConnected))return;const n=Rl(e),r=()=>{const i=xy(e);i&&Py(i,t,n)};r(),requestAnimationFrame(r)}function Oy(e){if(Ia.has(e))return;const t=new ResizeObserver(()=>{const r=Dl.get(e);r&&Ml(r.dropdown,r.state,r.onLoginChange,e)});t.observe(e);const n=e.querySelector("iframe");n instanceof HTMLIFrameElement&&t.observe(n),Ia.set(e,t)}function Ml(e,t,n,r){const i=Rl(r);try{e.applyOptions({title:wy(t),tooltip:vy(t),icon:Sy(t,i),items:Ty(t,n)})}catch{return}Cy(r,t)}async function Ey(e,t=()=>!0,n="en"){try{await e.headerReady()}catch{return null}if(!t())return null;try{return await e.createDropdown({title:"",tooltip:Gn(n,"WebTrading.selectYourTradingAccount"),align:"left",icon:Ll,items:[{title:Gn(n,"WebTrading.loadingAccounts"),onSelect:()=>{}}]})}catch{return null}}function Fa(e,t,n,r){!e||(r==null?void 0:r.isConnected)===!1||(r&&(Dl.set(r,{dropdown:e,state:t,onLoginChange:n}),Oy(r)),Ml(e,t,n,r??null))}function Ay(){const{toasts:e}=Ep();return c.jsx("div",{className:"web-trading-widget-toast-viewport","aria-live":"polite","aria-relevant":"additions",children:e.map(({id:t,title:n,description:r,variant:i,open:s})=>s?c.jsxs("div",{className:ht("web-trading-widget-toast",i==="destructive"&&"web-trading-widget-toast--destructive"),role:"status",children:[n?c.jsx("p",{className:"web-trading-widget-toast__title",children:n}):null,r?c.jsx("p",{className:"web-trading-widget-toast__description",children:r}):null]},t):null)})}function Ly(){const e=ty();return c.jsx(ey,{...e})}function Ny({children:e,variant:t="chart",scanResultUrl:n,onScanResultUrlChange:r,onScanResultLoad:i,chartWidget:s,backUrl:o,createAccountUrl:a,dealDetailUrl:l}){const{language:d}=Te(),u=s!==void 0,f=yr(),m=Yp({symbols:f,defaultPanelAfterConfirm:t==="news"?"market":"mini"}),h=p.useRef(null),b=p.useRef(null),[v,_]=p.useState(null),g=p.useCallback(te=>{_(te)},[]),[T,x]=p.useState(null),[y,O]=p.useState(null),C=u?s??null:T,[E,k]=p.useState(()=>Yr(f)),[U,F]=p.useState(n??null),[H,L]=p.useState(()=>n?"scan":"trade"),Q=p.useRef(null);p.useEffect(()=>{F(n??null)},[n]),p.useEffect(()=>{L(U?"scan":"trade")},[U]);const K=p.useCallback(()=>{var te;L("trade"),(te=h.current)==null||te.open()},[]),{isLoading:re}=ml(m.selectedLogin,m.hasConfirmedAccount),P=p.useRef(null),[D,j]=p.useState(m.selectedLogin),A=p.useCallback(te=>{te!==m.selectedLogin&&m.setSelectedLogin(te)},[m.selectedLogin,m.setSelectedLogin]),W=re&&m.selectedLogin!==D,R=p.useCallback(te=>{k(te)},[]),G=p.useCallback(te=>{F(te),r==null||r(te)},[r]),{chartContainer:ae}=Jp({chartWidget:u?C:null,symbols:f,chartSlotElement:u?v:null,onSymbolTickerChange:R,onScanResultUrlChange:G,selectSymbolTickerRef:b}),ce=u?ae:y,ie=p.useCallback(te=>{var ve;(ve=b.current)==null||ve.call(b,te)},[]),N=p.useMemo(()=>({controlsRef:h,onSymbolTickerChange:R,onScanResultUrlChange:G,onChartWidgetChange:u?()=>{}:x,onChartContainerChange:u?()=>{}:O,selectSymbolTickerRef:b}),[G,R,u]);p.useEffect(()=>{if(t!=="news"){h.current=null;return}return h.current={open:m.openMarketPanel,setSelectedLogin:m.setSelectedLogin},()=>{h.current=null}},[m.openMarketPanel,m.setSelectedLogin,t]),p.useEffect(()=>{!re&&m.selectedLogin!==D&&j(m.selectedLogin)},[re,D,m.selectedLogin]),p.useEffect(()=>{var Re;if(!C||!m.hasConfirmedAccount){(Re=P.current)==null||Re.remove(),P.current=null;return}let te=!1;return(async()=>{try{const be=await Ey(C,()=>!te,d);if(te){be==null||be.remove();return}P.current=be,Fa(P.current,{accountOptions:m.accountOptions,selectedLogin:m.selectedLogin,isAccountsLoading:m.isAccountsLoading,isAccountDataLoading:W,language:d},A,ce)}catch{}})(),()=>{var be;te=!0,(be=P.current)==null||be.remove(),P.current=null}},[ce,C,d,m.hasConfirmedAccount]),p.useEffect(()=>{m.hasConfirmedAccount&&Fa(P.current,{accountOptions:m.accountOptions,selectedLogin:m.selectedLogin,isAccountsLoading:m.isAccountsLoading,isAccountDataLoading:W,language:d},A,ce)},[ce,A,W,d,m.accountOptions,m.hasConfirmedAccount,m.isAccountsLoading,m.selectedLogin]);const Z=e??(u?null:c.jsx(Ly,{}));return t==="news"?c.jsx(Ua,{value:N,children:c.jsxs("div",{ref:Q,className:"web-trading-widget-trading-layout web-trading-widget-trading-layout--news",children:[c.jsxs("div",{className:"web-trading-widget-trading-layout__chart-slot",children:[c.jsx(zc,{}),c.jsx(Ja,{open:m.needsAccountSelection,isAccountsLoading:m.isAccountsLoading,accountOptions:m.accountOptions,onConfirm:m.confirmAccountSelection,backUrl:o,createAccountUrl:a}),c.jsxs("div",{className:"web-trading-widget-trading-layout__news-body",children:[u?c.jsx("div",{ref:g,className:"web-trading-widget-trading-layout__host-chart-slot",children:Z}):Z,c.jsx(sy,{symbolTicker:E,chartWidget:C,orderState:m})]})]}),c.jsx(wl,{containerRef:Q,onCreateNewOrder:()=>{var te;return(te=h.current)==null?void 0:te.open()},tradeDataEnabled:m.hasConfirmedAccount})]})}):c.jsx(Ua,{value:N,children:c.jsxs("div",{className:"web-trading-widget-trading-layout",children:[c.jsxs("div",{className:"web-trading-widget-trading-layout__body",children:[c.jsxs("div",{className:"web-trading-widget-trading-layout__chart-area",children:[c.jsx(sp,{controlsRef:h,symbolTicker:E,chartWidget:C,sidePanelTab:H,orderState:m,backUrl:o,createAccountUrl:a}),c.jsx("div",{ref:u?g:void 0,className:"web-trading-widget-trading-layout__chart-slot",children:Z})]}),c.jsx(Gp,{symbolTicker:E,orderState:m,scanResultUrl:U,activeTab:H,onTabChange:L,onScanResultLoad:i})]}),c.jsx(bl,{symbolTicker:E,onSymbolChange:ie,onCreateNewOrder:K,dealDetailUrl:l,tradeDataEnabled:m.hasConfirmedAccount})]})})}function Dy({baseUrl:e,token:t,language:n,variant:r="chart",scanResultUrl:i,onScanResultLoad:s,onScanResultUrlChange:o,children:a,chartWidget:l,backUrl:d,createAccountUrl:u,dealDetailUrl:f}){const m=p.useMemo(()=>ri(n),[n]);return c.jsx(Ya,{language:m,children:c.jsx("div",{className:"web-trading-widget-root",children:c.jsx(Om,{token:t,children:c.jsx(_l,{children:c.jsxs(Vc,{baseUrl:e,children:[c.jsx(Ny,{variant:r,scanResultUrl:i,onScanResultUrlChange:o,chartWidget:l,onScanResultLoad:s,backUrl:d,createAccountUrl:u,dealDetailUrl:f,children:a}),c.jsx(Ay,{})]})})})})})}exports.ChartNewsOrdersOverlay=$p;exports.WebTradingWidget=Dy;exports.normalizeWidgetLanguage=ri;exports.toTradingViewLocale=$l;
|
|
51
|
+
</svg>`,Ll="data-opheleo-account-dropdown",sy="148px",oy=640,ay="MT5",Ua=new WeakMap,Nl=new WeakMap;function nn(e,t){return Gn(e.language??"en",t)}function cy(e){e.classList.add("apply-common-tooltip"),e.style.display="inline-flex",e.style.alignItems="center",e.style.gap="6px",e.style.padding="0 8px",e.style.height="34px",e.style.cursor="pointer",e.style.border="none",e.style.background="transparent",e.style.color="inherit",e.style.fontSize="13px",e.style.fontWeight="400",e.style.whiteSpace="nowrap"}function ly(e){const t=new Set([document,e.ownerDocument]),n=e.querySelector("iframe");return n instanceof HTMLIFrameElement&&n.contentDocument&&t.add(n.contentDocument),[...t]}function Dl(e){if(!e)return!1;const t=e.querySelector("iframe");return(t instanceof HTMLIFrameElement?t.clientWidth:e.clientWidth)<oy}function dy(e){e.classList.forEach(t=>{t.includes("iconOnly")&&e.classList.remove(t)})}function uy(e,t){e.querySelectorAll("svg").forEach(n=>{n.style.display=t?"none":""})}function fy(e,t){dy(e),e.style.flexShrink="0",e.style.minWidth=t?"auto":sy,e.style.width="auto",e.style.maxWidth="none",e.style.overflow="visible",e.querySelectorAll("span, div").forEach(n=>{!(n instanceof HTMLElement)||n.querySelector("svg")||(n.style.display="",n.style.visibility="visible",n.style.opacity="1",n.style.maxWidth="none",n.style.overflow="visible",n.style.textOverflow="clip")}),uy(e,t)}function hy(e){const[t]=e.label.split(" · ");return t??e.label}function my(e){return`${ay} ${e.login}`}function py(e){return`${e.label} — ${e.balance.toFixed(2)} ${e.currency}`}function gy(e,t,n){const r=hy(t),i=`${t.balance.toFixed(2)} ${t.currency}`;return`${t.login} · ${r} (${i})${n?` · ${nn(e,"WebTrading.activeAccount")}`:""}`}function eo(e){return e.accountOptions.length===0?null:e.accountOptions.find(t=>t.login===e.selectedLogin)??e.accountOptions[0]}function Rl(e){return e.isAccountsLoading||e.isAccountDataLoading}function yy(e){if(e.isAccountsLoading||e.accountOptions.length===0)return"";const t=eo(e);return t?my(t):""}function by(e){if(e.isAccountsLoading)return nn(e,"WebTrading.loadingAccounts");if(e.isAccountDataLoading)return nn(e,"WebTrading.switchingAccount");const t=eo(e);return t?py(t):nn(e,"WebTrading.selectYourTradingAccount")}function wy(e,t){if(!t)return Rl(e)?Al:ry}function _y(e,t){return e.isAccountsLoading?[{title:nn(e,"WebTrading.loadingAccounts"),onSelect:()=>{}}]:e.isAccountDataLoading?[{title:nn(e,"WebTrading.switchingAccount"),onSelect:()=>{}}]:e.accountOptions.length===0?[{title:nn(e,"WebTrading.noTradingAccounts"),onSelect:()=>{}}]:e.accountOptions.map(n=>{const r=n.login===e.selectedLogin;return{title:gy(e,n,r),icon:r?iy:void 0,onSelect:()=>{r||t(n.login)}}})}function vy(e){for(const t of ly(e)){const n=t.querySelector(`[${Ll}="true"]`);if(n instanceof HTMLElement)return n;for(const r of t.querySelectorAll("svg")){if(!(r.querySelector('rect[rx="5"]')instanceof SVGRectElement))continue;let i=r.parentElement;for(;i&&i!==t.body;){if(i.tagName==="BUTTON"||i.getAttribute("role")==="button")return i;i=i.parentElement}}}return null}function Sy(e){e.style.removeProperty("background"),e.style.removeProperty("border"),e.style.removeProperty("border-radius"),e.style.removeProperty("padding"),e.style.removeProperty("font-weight"),e.style.removeProperty("color"),e.style.removeProperty("box-shadow")}function Ty(e,t,n){e.setAttribute(Ll,"true"),cy(e),fy(e,n);const r=eo(t);if(!Rl(t)&&r!==null){e.style.background="rgba(59, 130, 246, 0.14)",e.style.border="1px solid rgba(59, 130, 246, 0.5)",e.style.borderRadius="6px",e.style.padding="0 10px",e.style.fontWeight="600",e.style.color="#3B82F6",e.style.boxShadow="0 0 0 1px rgba(59, 130, 246, 0.08)";return}Sy(e),e.style.border="1px solid transparent",e.style.borderRadius="6px",e.style.padding="0 10px"}function xy(e,t){if(!(e!=null&&e.isConnected))return;const n=Dl(e),r=()=>{const i=vy(e);i&&Ty(i,t,n)};r(),requestAnimationFrame(r)}function ky(e){if(Ua.has(e))return;const t=new ResizeObserver(()=>{const r=Nl.get(e);r&&jl(r.dropdown,r.state,r.onLoginChange,e)});t.observe(e);const n=e.querySelector("iframe");n instanceof HTMLIFrameElement&&t.observe(n),Ua.set(e,t)}function jl(e,t,n,r){const i=Dl(r);try{e.applyOptions({title:yy(t),tooltip:by(t),icon:wy(t,i),items:_y(t,n)})}catch{return}xy(r,t)}async function Py(e,t=()=>!0,n="en"){try{await e.headerReady()}catch{return null}if(!t())return null;try{return await e.createDropdown({title:"",tooltip:Gn(n,"WebTrading.selectYourTradingAccount"),align:"left",icon:Al,items:[{title:Gn(n,"WebTrading.loadingAccounts"),onSelect:()=>{}}]})}catch{return null}}function Ia(e,t,n,r){!e||(r==null?void 0:r.isConnected)===!1||(r&&(Nl.set(r,{dropdown:e,state:t,onLoginChange:n}),ky(r)),jl(e,t,n,r??null))}function Cy(){const{toasts:e,dismiss:t}=Pp();return c.jsx("div",{className:"web-trading-widget-toast-viewport","aria-live":"polite","aria-relevant":"additions",children:e.map(({id:n,title:r,description:i,variant:s,open:o})=>o?c.jsxs("div",{className:ht("web-trading-widget-toast",s==="destructive"&&"web-trading-widget-toast--destructive"),role:"status",children:[c.jsxs("div",{className:"web-trading-widget-toast__content",children:[r?c.jsx("p",{className:"web-trading-widget-toast__title",children:r}):null,i?c.jsx("p",{className:"web-trading-widget-toast__description",children:i}):null]}),c.jsx("button",{type:"button",className:"web-trading-widget-toast__close","aria-label":"Close notification",onClick:()=>t(n),children:c.jsx("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none","aria-hidden":"true",children:c.jsx("path",{d:"M3 3L11 11M11 3L3 11",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})})]},n):null)})}function Oy(){const e=Jg();return c.jsx(Yg,{...e})}function Ey({children:e,variant:t="chart",scanResultUrl:n,onScanResultUrlChange:r,onScanResultLoad:i,chartWidget:s,backUrl:o,createAccountUrl:a,dealDetailUrl:l}){const{language:d}=Te(),u=s!==void 0,f=yr(),m=Gp({symbols:f,defaultPanelAfterConfirm:t==="news"?"market":"mini"}),h=p.useRef(null),b=p.useRef(null),[v,w]=p.useState(null),g=p.useCallback(te=>{w(te)},[]),[T,x]=p.useState(null),[y,O]=p.useState(null),C=u?s??null:T,[E,k]=p.useState(()=>Yr(f)),[U,F]=p.useState(n??null),[H,L]=p.useState(()=>n?"scan":"trade"),Q=p.useRef(null);p.useEffect(()=>{F(n??null)},[n]),p.useEffect(()=>{L(U?"scan":"trade")},[U]);const K=p.useCallback(()=>{var te;L("trade"),(te=h.current)==null||te.open()},[]),{isLoading:re}=hl(m.selectedLogin,m.hasConfirmedAccount),P=p.useRef(null),[D,j]=p.useState(m.selectedLogin),A=p.useCallback(te=>{te!==m.selectedLogin&&m.setSelectedLogin(te)},[m.selectedLogin,m.setSelectedLogin]),W=re&&m.selectedLogin!==D,R=p.useCallback(te=>{k(te)},[]),G=p.useCallback(te=>{F(te),r==null||r(te)},[r]),{chartContainer:ae}=Qp({chartWidget:u?C:null,symbols:f,chartSlotElement:u?v:null,onSymbolTickerChange:R,onScanResultUrlChange:G,selectSymbolTickerRef:b}),ce=u?ae:y,ie=p.useCallback(te=>{var ve;(ve=b.current)==null||ve.call(b,te)},[]),N=p.useMemo(()=>({controlsRef:h,onSymbolTickerChange:R,onScanResultUrlChange:G,onChartWidgetChange:u?()=>{}:x,onChartContainerChange:u?()=>{}:O,selectSymbolTickerRef:b}),[G,R,u]);p.useEffect(()=>{if(t!=="news"){h.current=null;return}return h.current={open:m.openMarketPanel,setSelectedLogin:m.setSelectedLogin},()=>{h.current=null}},[m.openMarketPanel,m.setSelectedLogin,t]),p.useEffect(()=>{!re&&m.selectedLogin!==D&&j(m.selectedLogin)},[re,D,m.selectedLogin]),p.useEffect(()=>{var Re;if(!C||!m.hasConfirmedAccount){(Re=P.current)==null||Re.remove(),P.current=null;return}let te=!1;return(async()=>{try{const be=await Py(C,()=>!te,d);if(te){be==null||be.remove();return}P.current=be,Ia(P.current,{accountOptions:m.accountOptions,selectedLogin:m.selectedLogin,isAccountsLoading:m.isAccountsLoading,isAccountDataLoading:W,language:d},A,ce)}catch{}})(),()=>{var be;te=!0,(be=P.current)==null||be.remove(),P.current=null}},[ce,C,d,m.hasConfirmedAccount]),p.useEffect(()=>{m.hasConfirmedAccount&&Ia(P.current,{accountOptions:m.accountOptions,selectedLogin:m.selectedLogin,isAccountsLoading:m.isAccountsLoading,isAccountDataLoading:W,language:d},A,ce)},[ce,A,W,d,m.accountOptions,m.hasConfirmedAccount,m.isAccountsLoading,m.selectedLogin]);const Z=e??(u?null:c.jsx(Oy,{}));return t==="news"?c.jsx(Ma,{value:N,children:c.jsxs("div",{ref:Q,className:"web-trading-widget-trading-layout web-trading-widget-trading-layout--news",children:[c.jsxs("div",{className:"web-trading-widget-trading-layout__chart-slot",children:[c.jsx(Hc,{}),c.jsx(Ya,{open:m.needsAccountSelection,isAccountsLoading:m.isAccountsLoading,accountOptions:m.accountOptions,onConfirm:m.confirmAccountSelection,backUrl:o,createAccountUrl:a}),c.jsxs("div",{className:"web-trading-widget-trading-layout__news-body",children:[u?c.jsx("div",{ref:g,className:"web-trading-widget-trading-layout__host-chart-slot",children:Z}):Z,c.jsx(ny,{symbolTicker:E,chartWidget:C,orderState:m})]})]}),c.jsx(wl,{containerRef:Q,onCreateNewOrder:()=>{var te;return(te=h.current)==null?void 0:te.open()},tradeDataEnabled:m.hasConfirmedAccount})]})}):c.jsx(Ma,{value:N,children:c.jsxs("div",{className:"web-trading-widget-trading-layout",children:[c.jsxs("div",{className:"web-trading-widget-trading-layout__body",children:[c.jsxs("div",{className:"web-trading-widget-trading-layout__chart-area",children:[c.jsx(np,{controlsRef:h,symbolTicker:E,chartWidget:C,sidePanelTab:H,orderState:m,backUrl:o,createAccountUrl:a}),c.jsx("div",{ref:u?g:void 0,className:"web-trading-widget-trading-layout__chart-slot",children:Z})]}),c.jsx(zp,{symbolTicker:E,orderState:m,scanResultUrl:U,activeTab:H,onTabChange:L,onScanResultLoad:i})]}),c.jsx(yl,{symbolTicker:E,onSymbolChange:ie,onCreateNewOrder:K,dealDetailUrl:l,tradeDataEnabled:m.hasConfirmedAccount})]})})}function Ay({baseUrl:e,tickWebSocketUrl:t,token:n,language:r,variant:i="chart",scanResultUrl:s,onScanResultLoad:o,onScanResultUrlChange:a,children:l,chartWidget:d,backUrl:u,createAccountUrl:f,dealDetailUrl:m}){const h=p.useMemo(()=>ri(r),[r]);return c.jsx(Za,{language:h,children:c.jsx("div",{className:"web-trading-widget-root",children:c.jsx(km,{token:n,children:c.jsx(bl,{children:c.jsxs($c,{baseUrl:e,tickWebSocketUrl:t,children:[c.jsx(Ey,{variant:i,scanResultUrl:s,onScanResultUrlChange:a,chartWidget:d,onScanResultLoad:o,backUrl:u,createAccountUrl:f,dealDetailUrl:m,children:l}),c.jsx(Cy,{})]})})})})})}exports.ChartNewsOrdersOverlay=Fp;exports.WebTradingWidget=Ay;exports.normalizeWidgetLanguage=ri;exports.toTradingViewLocale=Wl;
|