@iccandle/reactjs-widget 0.1.0

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.
@@ -0,0 +1,122 @@
1
+ (function(){"use strict";try{if(typeof document<"u"){var t=document.createElement("style");t.appendChild(document.createTextNode('.iccandle-scanner-popup{position:absolute!important;top:25%!important;left:25%!important;z-index:20!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:.5rem!important;height:38px!important;padding:.25rem!important;background-color:var(--iccandle-background);border:1px solid var(--iccandle-border)!important;border-radius:1rem!important;color:var(--iccandle-text);box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a!important}@media(max-width:640px){.iccandle-scanner-popup{left:2rem!important}}.iccandle-scanner-popup__inner{display:flex!important;height:100%!important;width:100%!important;align-items:center!important;gap:.25rem!important}.iccandle-scanner-popup__grip{cursor:move!important}.iccandle-scanner-popup__divider{width:2px!important;height:2rem!important;margin-top:.25rem!important;margin-bottom:.25rem!important;background-color:var(--iccandle-border)}.iccandle-scanner-popup__bars{margin-left:.5rem!important;margin-right:.5rem!important;width:100%!important;min-width:3rem!important;flex:1 1 0%!important;white-space:nowrap!important;font-size:.75rem!important;font-weight:600!important;height:100%!important}.iccandle-scanner-popup__action-btn{touch-action:none!important;display:flex!important;height:2rem!important;width:100%!important;align-items:center!important;justify-content:center!important;gap:.5rem!important;margin-left:.25rem!important;margin-right:.25rem!important;font-size:.75rem!important;font-weight:600!important;cursor:pointer!important;padding:.25rem!important;border-radius:.125rem!important;background-color:transparent;border:none!important;outline:none!important;color:var(--iccandle-border);transition:background-color .2s ease-in-out}.iccandle-scanner-popup__action-btn:hover{background-color:color-mix(in srgb,var(--iccandle-background) 40%,transparent)}.iccandle-scanner-popup__action-btn--with-gap{gap:.25rem!important;padding-left:.25rem!important}@keyframes iccandle-scanner-label-gradient{0%{background-position:0% 50%}to{background-position:200% 50%}}.iccandle-scanner-popup__label{background:linear-gradient(90deg,var(--iccandle-primary) 0%,var(--iccandle-primary-gradient-end) 50%,var(--iccandle-primary) 100%);background-size:200% 100%!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent;text-wrap:nowrap!important;animation:iccandle-scanner-label-gradient 2s linear infinite}.iccandle-scanner-popup__action-row{display:flex!important;width:100%!important;align-items:center!important;gap:.25rem!important;flex:1!important}.iccandle-scanner-popup__logo{min-width:1.25rem!important;min-height:1.25rem!important}.iccandle-scanner-popup__settings{touch-action:none!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:.25rem!important;cursor:pointer!important;border-radius:.125rem!important;border:none!important;background:transparent;color:inherit}.iccandle-scanner-popup__settings:hover{background-color:color-mix(in srgb,var(--iccandle-background) 40%,transparent)}.iccandle-scanner-popup__toggle{display:flex!important;height:2rem!important;margin-right:.25rem!important;align-items:center!important;justify-content:center!important;gap:.25rem!important;padding-left:.25rem!important;font-size:.75rem!important;font-weight:600!important;color:var(--iccandle-border);transition-property:color,background-color;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.iccandle-scanner-popup__toggle:hover{background-color:color-mix(in srgb,var(--iccandle-background) 40%,transparent)}.iccandle-simple-tooltip-wrapper{position:relative!important;display:inline-flex!important}.iccandle-simple-tooltip-trigger{display:inline-flex!important;align-items:flex-start!important;gap:4px!important}.iccandle-simple-tooltip-content{position:absolute!important;left:50%!important;bottom:100%!important;transform:translate(-50%)!important;margin-bottom:4px!important;background-color:var(--iccandle-secondary)!important;color:var(--iccandle-text)!important;padding:4px 6px!important;font-size:12px;line-height:1.25;border-radius:2px!important;border:none!important;box-shadow:0 1px 3px #0000001f!important;z-index:50!important;max-width:240px!important;pointer-events:none!important;text-wrap:nowrap!important}.iccandle-simple-tooltip-content p{margin:0!important}.iccandle-scanner-advanced-options{display:flex!important;flex-direction:column!important;gap:1rem!important;width:100%!important;max-width:20rem!important;margin:1rem 0!important}.iccandle-scanner-advanced-options__row{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:.75rem!important}.iccandle-scanner-advanced-options__label{display:flex!important;align-items:center!important;gap:.5rem!important;flex:1!important;min-width:0!important}.iccandle-scanner-advanced-options__native-select-wrap{position:relative!important;display:inline-flex!important;align-items:center!important;flex-shrink:0!important}.iccandle-scanner-advanced-options__native-select-wrap--small{width:6rem!important;min-width:6rem!important}.iccandle-scanner-advanced-options__native-select-wrap--large{width:12rem!important;min-width:12rem!important}.iccandle-scanner-advanced-options__native-select{width:100%!important;height:2.25rem!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0 1rem 0 .5rem!important;border-radius:.375rem!important;background-color:var(--iccandle-background);border:1px solid var(--iccandle-border)!important;color:var(--iccandle-text);font-size:.875rem;cursor:pointer!important}.iccandle-scanner-advanced-options__native-select::-ms-expand{display:none!important}.iccandle-scanner-advanced-options__native-select option,.iccandle-scanner-advanced-options__native-select optgroup{background-color:var(--iccandle-background);color:var(--iccandle-text);font-size:.875rem}.iccandle-scanner-advanced-options__native-select option:checked{background-color:var(--iccandle-border)}.iccandle-scanner-advanced-options__native-select:focus{outline:none!important;border-color:color-mix(in oklab,var(--iccandle-border) 55%,var(--iccandle-text));box-shadow:0 0 0 2px color-mix(in oklab,var(--iccandle-text) 25%,transparent)!important}.iccandle-scanner-advanced-options__native-select:disabled{opacity:.6!important;cursor:not-allowed!important}.iccandle-scanner-advanced-options__select{display:inline-flex!important;align-items:center!important;justify-content:space-between!important;gap:.5rem!important;height:2.25rem!important;padding:0 .5rem!important;border-radius:.375rem!important;background-color:var(--iccandle-background);border:1px solid var(--iccandle-border)!important;color:var(--iccandle-text);font-size:.875rem;cursor:pointer!important;flex-shrink:0!important}.iccandle-scanner-advanced-options__select:hover{border-color:color-mix(in oklab,var(--iccandle-border) 60%,var(--iccandle-text))}.iccandle-scanner-advanced-options__select:focus{outline:none!important;border-color:color-mix(in oklab,var(--iccandle-border) 55%,var(--iccandle-text));box-shadow:0 0 0 2px color-mix(in oklab,var(--iccandle-text) 25%,transparent)!important}.iccandle-scanner-advanced-options__select--open{border-color:color-mix(in oklab,var(--iccandle-border) 50%,var(--iccandle-text))}.iccandle-scanner-advanced-options__select--small{width:6rem!important;min-width:6rem!important}.iccandle-scanner-advanced-options__select--large{width:12rem!important;min-width:12rem!important}.iccandle-scanner-advanced-options__select-value{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.iccandle-scanner-advanced-options__select-caret{width:0!important;height:0!important;border-left:5px solid transparent!important;border-right:5px solid transparent!important;border-top:6px solid var(--iccandle-text)!important}.iccandle-scanner-advanced-options__menu{position:fixed!important;z-index:60!important;max-height:16rem!important;overflow:auto!important;padding:.25rem!important;border-radius:.75rem!important;background-color:var(--iccandle-background);border:1px solid var(--iccandle-border)!important;box-shadow:0 20px 25px -5px #0003,0 8px 10px -6px #0003!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important}.iccandle-scanner-advanced-options__option{width:100%!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:.75rem!important;padding:.5rem .75rem!important;border-radius:.625rem!important;color:var(--iccandle-text);background:transparent;border:none!important;cursor:pointer!important;text-align:left!important}.iccandle-scanner-advanced-options__option:hover{background-color:var(--iccandle-background)}.iccandle-scanner-advanced-options__option--selected{background-color:var(--iccandle-border)}.iccandle-scanner-advanced-options__option-label{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.iccandle-scanner-advanced-options__option-check{width:.75rem!important;height:.75rem!important;border-radius:.25rem!important;background-color:var(--iccandle-text);box-shadow:inset 0 0 0 2px color-mix(in oklab,var(--iccandle-background) 90%,transparent)!important}@media(min-width:640px){.iccandle-scanner-advanced-options{height:434px!important}}.iccandle-forexIcons{position:relative!important;width:24px!important;min-width:24px!important;height:24px!important;min-height:24px!important}.iccandle-forexIcons__img{position:absolute!important;border-radius:9999px!important;border-width:2px!important;border-style:solid!important;border-color:var(--iccandle-background);box-sizing:border-box!important}.iccandle-forexIcons__img--single{top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important}.iccandle-forexIcons__img--left{bottom:0!important;left:0!important;z-index:8!important}.iccandle-forexIcons__img--right{top:0!important;right:0!important}.iccandle-scanner-symbol-search{display:flex!important;min-height:0!important;flex:1 1 auto!important;flex-direction:column!important;overflow:hidden!important;color:var(--iccandle-text)!important}.iccandle-scanner-symbol-search__bar{position:relative!important;display:flex!important;flex-shrink:0!important;align-items:center!important;gap:.25rem!important;padding:.5rem .75rem!important}.iccandle-scanner-symbol-search__search-icon{width:1rem!important;height:1rem!important}.iccandle-scanner-symbol-search__input{width:100%!important;height:2rem!important;font-size:.875rem;background-color:var(--iccandle-background)}.iccandle-scanner-symbol-search__input:focus{outline:none!important}.iccandle-dark .iccandle-scanner-symbol-search__input{background-color:inherit}.iccandle-scanner-symbol-search__count-badge{position:absolute!important;right:.5rem!important;display:inline-flex!important;align-items:center!important;gap:.25rem!important;padding:.25rem .5rem!important;border:1px solid var(--iccandle-border)!important;border-radius:999px!important;background-color:var(--iccandle-background)}.iccandle-scanner-symbol-search__count-desktop{display:none!important;font-size:.75rem;font-weight:600}.iccandle-scanner-symbol-search__count-mobile{display:block!important;font-size:.75rem;font-weight:400}.iccandle-scanner-symbol-search__types-wrap{flex-shrink:0!important;padding:.5rem .75rem!important}.iccandle-scanner-symbol-search__types-list{display:flex!important;gap:.25rem!important;overflow-x:auto!important}.iccandle-scanner-symbol-search__type-badge{cursor:pointer!important;font-size:.75rem;border:1px solid var(--iccandle-border)!important;border-radius:999px!important;padding:.25rem .5rem!important}.iccandle-scanner-symbol-search__type-badge--active{border-color:var(--iccandle-primary)}.iccandle-scanner-symbol-search__type-badge--inactive{background-color:var(--iccandle-secondary)}.iccandle-scanner-symbol-search__type-label{font-size:.75rem;font-weight:400}.iccandle-scanner-symbol-search__type-label--active{color:var(--iccandle-primary)}.iccandle-scanner-symbol-search__type-label--inactive{color:var(--iccandle-text)}.iccandle-scanner-symbol-search__table-wrap{display:flex!important;min-height:0!important;flex:1 1 auto!important;flex-direction:column!important;overflow:hidden!important;padding:.5rem .75rem 0!important}.iccandle-scanner-symbol-search__table-head{display:flex!important;flex-shrink:0!important;align-items:center!important;margin-bottom:.5rem!important}.iccandle-scanner-symbol-search__checkbox{width:.75rem!important;height:.75rem!important;margin-right:.5rem!important;flex-shrink:0!important;-webkit-appearance:none!important;appearance:none!important;display:grid!important;place-content:center!important;border:1px solid var(--iccandle-border, #d1d5dc)!important;border-radius:.2rem!important;border-color:var(--iccandle-primary, #00dfb9);background-color:var(--iccandle-background, #ffffff)}.iccandle-scanner-symbol-search__checkbox:checked{background-color:var(--iccandle-primary, #00dfb9);border-color:var(--iccandle-primary, #00dfb9);accent-color:var(--iccandle-primary, #00dfb9)}.iccandle-scanner-symbol-search__checkbox:checked:after{content:""!important;width:.25rem!important;height:.45rem!important;border:2px solid var(--iccandle-background, #ffffff)!important;border-top:0!important;border-left:0!important;transform:translateY(-.02rem) rotate(45deg)!important}.iccandle-scanner-symbol-search__checkbox--row{margin-right:.25rem!important}.iccandle-scanner-symbol-search__symbol-title{width:5rem!important;font-size:.75rem;font-weight:400}.iccandle-scanner-symbol-search__description-title{flex:1!important;font-size:.75rem;font-weight:400}.iccandle-scanner-symbol-search__list-container{display:flex!important;min-height:0!important;flex:1 1 auto!important;overflow:auto!important}.iccandle-scanner-symbol-search__symbol-list{min-width:7rem!important}.iccandle-scanner-symbol-search__symbol-row{display:flex!important;align-items:center!important;gap:.25rem!important;min-height:2.5rem!important;padding:.25rem 0!important}.iccandle-scanner-symbol-search__symbol-name{color:var(--iccandle-text);overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.iccandle-scanner-symbol-search__description-list{width:100%!important}.iccandle-scanner-symbol-search__description-row{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:.25rem!important;width:100%!important;min-height:2.5rem!important;padding:.25rem 0!important}.iccandle-scanner-symbol-search__description-text{flex:1!important;min-width:0!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:1!important;line-clamp:1!important;overflow:hidden!important}.iccandle-scanner-symbol-search__type-text{font-size:.875rem;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.iccandle-scanner-symbol-search__row-divider{border-color:var(--iccandle-border)}@media(min-width:640px){.iccandle-scanner-symbol-search__bar{gap:.5rem!important;padding:0 1.25rem!important}.iccandle-scanner-symbol-search__search-icon{width:1.25rem!important;height:1.25rem!important}.iccandle-scanner-symbol-search__input{height:2.5rem!important}.iccandle-scanner-symbol-search__count-desktop{display:block!important;font-size:.875rem}.iccandle-scanner-symbol-search__count-mobile{display:none!important}.iccandle-scanner-symbol-search__types-wrap{padding:.75rem 1.25rem!important}.iccandle-scanner-symbol-search__types-list{gap:.5rem!important}.iccandle-scanner-symbol-search__type-badge,.iccandle-scanner-symbol-search__type-label{font-size:.875rem}.iccandle-scanner-symbol-search__table-wrap{padding:.75rem 1.25rem 0!important}.iccandle-scanner-symbol-search__table-head{margin-bottom:.75rem!important}.iccandle-scanner-symbol-search__checkbox{width:1rem!important;height:1rem!important;margin-right:1rem!important}.iccandle-scanner-symbol-search__checkbox--row{margin-right:.5rem!important}.iccandle-scanner-symbol-search__symbol-title{width:8rem!important;font-size:.875rem}.iccandle-scanner-symbol-search__description-title{font-size:.875rem}.iccandle-scanner-symbol-search__symbol-list{min-width:10rem!important}.iccandle-scanner-symbol-search__symbol-row,.iccandle-scanner-symbol-search__description-row{gap:.5rem!important;padding:.5rem 0!important}}@media(min-width:768px){.iccandle-scanner-symbol-search__symbol-title{width:10rem!important}.iccandle-scanner-symbol-search__symbol-list{min-width:12rem!important}}.iccandle-scanner-option{position:fixed!important;inset:0!important;z-index:40!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0 .5rem!important;background-color:hsl(from var(--iccandle-background) h s l / .5)}.iccandle-scanner-option__card{position:relative!important;display:flex!important;width:100%!important;max-width:56rem!important;flex-direction:column!important;padding-bottom:.75rem!important;height:min(80vh,48rem)!important;overflow:hidden!important;background-color:var(--iccandle-background);border-radius:.5rem!important;border:1px solid var(--iccandle-border)!important;color:var(--iccandle-text);box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a!important}.iccandle-scanner-option__form{display:flex!important;min-height:0!important;flex:1 1 auto!important;flex-direction:column!important}.iccandle-scanner-option__body{display:flex!important;min-height:0!important;flex:1 1 auto!important;flex-direction:column!important;overflow:hidden!important;padding:.75rem 0!important}.iccandle-scanner-option__header{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:.5rem!important;margin-bottom:.75rem!important;padding:1rem 1.25rem 0!important;font-weight:600;color:var(--iccandle-border)}.iccandle-scanner-option__close-btn{padding:.25rem!important;border-radius:.125rem!important}.iccandle-scanner-option__close-btn:hover{background-color:var(--iccandle-secondary)}.iccandle-scanner-option__tabs{display:grid!important;width:100%!important;max-height:2.5rem!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.25rem!important;padding:.25rem!important;background-color:color-mix(in oklab,var(--iccandle-secondary) 66%,transparent)}.iccandle-scanner-option__tab{position:relative!important;padding:.375rem 0!important;font-size:.875rem;font-weight:600;border-radius:.125rem!important;transition:all .2s ease;cursor:pointer!important}.iccandle-scanner-option__tab--active{background-color:var(--iccandle-background)}.iccandle-scanner-option__tab--inactive:hover{background-color:color-mix(in oklab,var(--iccandle-secondary) 50%,transparent)}.iccandle-scanner-option__advanced-content{padding:0 1.25rem!important}.iccandle-scanner-option__content--visible{display:flex!important;min-height:0!important;flex:1 1 auto!important;flex-direction:column!important;overflow:hidden!important}.iccandle-scanner-option__advanced-content.iccandle-scanner-option__content--visible{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important}.iccandle-scanner-option__content--hidden{display:none!important}.iccandle-scanner-option__actions{display:flex!important;justify-content:flex-end!important;gap:1rem!important;margin-top:auto!important;padding:.75rem 1rem 0!important;border-top:1px solid var(--iccandle-border)!important}.iccandle-scanner-option__title{color:var(--iccandle-text)}.iccandle-scanner-option__btn{height:2.25rem!important;padding:0 .875rem!important;border-radius:.375rem!important;font-size:.875rem;font-weight:600;cursor:pointer!important;border:1px solid transparent!important}.iccandle-scanner-option__btn--outline{background:transparent;border-color:var(--iccandle-border);color:var(--iccandle-text)}.iccandle-scanner-option__btn--outline:hover{background-color:color-mix(in oklab,var(--iccandle-secondary) 20%,transparent)}.iccandle-scanner-option__btn--primary{background-color:color-mix(in srgb,var(--iccandle-primary) 30%,transparent);color:var(--iccandle-text);border:1px solid var(--iccandle-primary)!important}.iccandle-scanner-option__btn--primary:hover{filter:brightness(.95)}.iccandle-selector-widget{--iccandle-primary: #00dfb9;--iccandle-primary-gradient-end: #ffb84d;--iccandle-background: #ffffff;--iccandle-border: #d1d5dc;--iccandle-text: #000000;--iccandle-secondary: oklch(from var(--iccandle-background) clamp(.92, calc(l - .06) , .98) c h / .92);font-family:var( --iccandle-font, "Inter Tight", ui-sans-serif, system-ui, sans-serif );position:relative!important;height:100%!important}.iccandle-selector-widget :where(img,picture,video,canvas,svg){display:revert;max-width:revert}.iccandle-dark{--iccandle-primary: #00dfb9;--iccandle-primary-gradient-end: #ffb84d;--iccandle-background: #1a1a1a;--iccandle-border: rgba(255, 255, 255, .2);--iccandle-text: #ffffff;--iccandle-secondary: oklch(from var(--iccandle-background) clamp(.22, calc(l + .22) , .34) c h / .92)}.iccandle-selector-widget__overlay{position:fixed!important;inset:0!important;z-index:8!important}.iccandle-pattern-alert-name{display:flex!important;flex-direction:column!important;width:100%!important;height:100%!important;min-height:24rem!important;background-color:var(--iccandle-background)!important;border-radius:1.5rem!important;overflow:hidden!important}.iccandle-pattern-alert-name__header{height:fit-content!important;padding:1rem 1rem 0!important;display:flex!important;flex-direction:column!important;gap:.5rem!important;text-align:left!important}.iccandle-pattern-alert-name__title-row{display:flex!important;align-items:center!important;justify-content:space-between!important}.iccandle-pattern-alert-name__title{display:flex!important;align-items:center!important;gap:.5rem!important;margin:0!important;font-size:1.125rem!important;font-weight:600!important;line-height:1!important;color:var(--iccandle-text)}.iccandle-pattern-alert-name__title-icon{flex-shrink:0!important;color:var(--iccandle-primary)}.iccandle-pattern-alert-name__close-btn{display:flex!important;align-items:center!important;justify-content:center!important;width:2rem!important;height:2rem!important;padding:0!important;border:none!important;border-radius:.375rem!important;background:transparent!important;color:var(--iccandle-text);cursor:pointer!important}.iccandle-pattern-alert-name__close-btn:hover{background-color:color-mix(in oklab,var(--iccandle-secondary) 20%,transparent)}@media(min-width:640px){.iccandle-pattern-alert-name__close-btn{display:none!important}}.iccandle-pattern-alert-name__description{margin:0!important;font-size:.875rem!important;color:color-mix(in oklab,var(--iccandle-text) 70%,transparent)}.iccandle-pattern-alert-name__content{display:flex!important;flex:1!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:1.5rem!important;padding:1rem!important}.iccandle-pattern-alert-name__bell-icon{color:var(--iccandle-primary)}.iccandle-pattern-alert-name__form{width:100%!important}.iccandle-pattern-alert-name__field{display:grid!important;width:100%!important;align-items:center!important;gap:.5rem!important}.iccandle-pattern-alert-name__label{font-size:.875rem!important;font-weight:500!important;color:var(--iccandle-text)}.iccandle-pattern-alert-name__input{width:100%!important;height:2.25rem!important;padding:0 .75rem!important;border:1px solid var(--iccandle-border)!important;border-radius:.375rem!important;font-size:.875rem!important;background-color:var(--iccandle-background);color:var(--iccandle-text)}.iccandle-pattern-alert-name__input::placeholder{color:color-mix(in oklab,var(--iccandle-text) 50%,transparent)}.iccandle-pattern-alert-name__input:focus{outline:none!important;border-color:var(--iccandle-primary)!important}.iccandle-pattern-alert-name__error{margin:0!important;font-size:.75rem!important;color:#ef4444}.iccandle-pattern-alert-name__footer-wrap{height:fit-content!important}@media(min-width:640px){.iccandle-pattern-alert-name__footer-wrap{height:25%!important}}.iccandle-pattern-alert-name__divider{margin:0!important;border:none!important;border-top:1px solid var(--iccandle-border)!important}.iccandle-pattern-alert-name__footer{display:flex!important;width:100%!important;align-items:center!important;justify-content:flex-end!important;gap:1rem!important;padding:1rem!important;font-weight:600!important;color:color-mix(in oklab,var(--iccandle-text) 80%,transparent)}.iccandle-pattern-alert-name__btn{height:2.25rem!important;padding:0 .875rem!important;border-radius:.5rem!important;font-size:.875rem!important;font-weight:600!important;cursor:pointer!important;border:1px solid transparent!important}.iccandle-pattern-alert-name__btn--outline{background:transparent;border-color:var(--iccandle-border)!important;color:var(--iccandle-text)}.iccandle-pattern-alert-name__btn--outline:hover{background-color:color-mix(in oklab,var(--iccandle-secondary) 20%,transparent)}.iccandle-pattern-alert-name__btn--primary{width:fit-content!important;background-color:color-mix(in srgb,var(--iccandle-primary) 30%,transparent);color:var(--iccandle-primary);border:1px solid var(--iccandle-primary)!important}.iccandle-pattern-alert-name__btn--primary:hover:not(:disabled){filter:brightness(.95)}.iccandle-pattern-alert-name__btn--primary:disabled{opacity:.5!important;cursor:not-allowed!important}.iccandle-scanner-timeframe-search{display:flex!important;min-height:0!important;flex:1 1 auto!important;flex-direction:column!important;overflow:hidden!important}.iccandle-scanner-timeframe-search__bar{position:relative!important;display:flex!important;flex-shrink:0!important;align-items:center!important;gap:.25rem!important;color:var(--iccandle-text)!important}.iccandle-scanner-timeframe-search__search-icon{width:1rem!important;height:1rem!important}.iccandle-scanner-timeframe-search__input{width:100%!important;height:2rem!important;font-size:.875rem;background-color:var(--iccandle-background)}.iccandle-scanner-timeframe-search__input:focus{outline:none!important}.iccandle-dark .iccandle-scanner-timeframe-search__input{background-color:inherit}.iccandle-scanner-timeframe-search__count-badge{position:absolute!important;right:.5rem!important;display:inline-flex!important;align-items:center!important;gap:.25rem!important;padding:.25rem .5rem!important;border:1px solid var(--iccandle-border)!important;border-radius:999px!important;background-color:var(--iccandle-background)}.iccandle-scanner-timeframe-search__count-desktop{display:none!important;font-size:.75rem;font-weight:600}.iccandle-scanner-timeframe-search__count-mobile{display:block!important;font-size:.75rem;font-weight:400}.iccandle-scanner-timeframe-search__types-wrap{flex-shrink:0!important;padding:.5rem .75rem!important}.iccandle-scanner-timeframe-search__types-list{display:flex!important;gap:.25rem!important;overflow-x:auto!important}.iccandle-scanner-timeframe-search__type-badge{cursor:pointer!important;font-size:.75rem;border:1px solid var(--iccandle-border)!important;border-radius:999px!important;padding:.25rem .5rem!important}.iccandle-scanner-timeframe-search__type-badge--active{border-color:var(--iccandle-primary)}.iccandle-scanner-timeframe-search__type-badge--inactive{background-color:var(--iccandle-secondary)}.iccandle-scanner-timeframe-search__type-label{font-size:.75rem;font-weight:400}.iccandle-scanner-timeframe-search__type-label--active{color:var(--iccandle-primary)}.iccandle-scanner-timeframe-search__type-label--inactive{color:var(--iccandle-text)}.iccandle-scanner-timeframe-search__table-wrap{display:flex!important;min-height:0!important;flex:1 1 auto!important;flex-direction:column!important;overflow:hidden!important;padding:1rem 0!important;color:var(--iccandle-text)!important}.iccandle-scanner-timeframe-search__table-head{display:flex!important;flex-shrink:0!important;align-items:center!important;margin-bottom:.5rem!important}.iccandle-scanner-timeframe-search__checkbox{width:.75rem!important;height:.75rem!important;margin-right:.5rem!important;flex-shrink:0!important;-webkit-appearance:none!important;appearance:none!important;display:grid!important;place-content:center!important;border:1px solid var(--iccandle-border, #d1d5dc)!important;border-radius:.2rem!important;border-color:var(--iccandle-primary, #00dfb9);background-color:var(--iccandle-background, #ffffff)}.iccandle-scanner-timeframe-search__checkbox:checked{background-color:var(--iccandle-primary, #00dfb9);border-color:var(--iccandle-primary, #00dfb9);accent-color:var(--iccandle-primary, #00dfb9)}.iccandle-scanner-timeframe-search__checkbox:checked:after{content:""!important;width:.25rem!important;height:.45rem!important;border:2px solid var(--iccandle-background, #ffffff)!important;border-top:0!important;border-left:0!important;transform:translateY(-.02rem) rotate(45deg)!important}.iccandle-scanner-timeframe-search__checkbox--row{margin-right:.25rem!important}.iccandle-scanner-timeframe-search__timeframe-title{width:5rem!important;font-size:.75rem;font-weight:400}.iccandle-scanner-timeframe-search__description-title{flex:1!important;font-size:.75rem;font-weight:400}.iccandle-scanner-timeframe-search__list-container{display:flex!important;min-height:0!important;flex:1 1 auto!important;overflow:auto!important}.iccandle-scanner-timeframe-search__timeframe-list{min-width:7rem!important}.iccandle-scanner-timeframe-search__timeframe-row{display:flex!important;align-items:center!important;gap:.25rem!important;min-height:2.5rem!important;padding:.25rem 0!important}.iccandle-scanner-timeframe-search__timeframe-name{color:var(--iccandle-text);overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.iccandle-scanner-timeframe-search__description-list{width:100%!important}.iccandle-scanner-timeframe-search__description-row{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:.25rem!important;width:100%!important;min-height:2.5rem!important;padding:.25rem 0!important}.iccandle-scanner-timeframe-search__description-text{flex:1!important;min-width:0!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:1!important;line-clamp:1!important;overflow:hidden!important}.iccandle-scanner-timeframe-search__row-divider{border-color:var(--iccandle-border)}@media(min-width:640px){.iccandle-scanner-timeframe-search__bar{gap:.5rem!important}.iccandle-scanner-timeframe-search__search-icon{width:1.25rem!important;height:1.25rem!important}.iccandle-scanner-timeframe-search__input{height:2.5rem!important}.iccandle-scanner-timeframe-search__count-desktop{display:block!important;font-size:.875rem}.iccandle-scanner-timeframe-search__count-mobile{display:none!important}.iccandle-scanner-timeframe-search__types-wrap{padding:.75rem 0!important}.iccandle-scanner-timeframe-search__types-list{gap:.5rem!important}.iccandle-scanner-timeframe-search__type-badge,.iccandle-scanner-timeframe-search__type-label{font-size:.875rem}.iccandle-scanner-timeframe-search__table-head{margin-bottom:.75rem!important}.iccandle-scanner-timeframe-search__checkbox{width:1rem!important;height:1rem!important;margin-right:1rem!important}.iccandle-scanner-timeframe-search__checkbox--row{margin-right:.5rem!important}.iccandle-scanner-timeframe-search__timeframe-title{width:8rem!important;font-size:.875rem}.iccandle-scanner-timeframe-search__description-title{font-size:.875rem}.iccandle-scanner-timeframe-search__timeframe-list{min-width:10rem!important}.iccandle-scanner-timeframe-search__timeframe-row,.iccandle-scanner-timeframe-search__description-row{gap:.5rem!important;padding:.5rem 0!important}}@media(min-width:768px){.iccandle-scanner-timeframe-search__timeframe-title{width:10rem!important}.iccandle-scanner-timeframe-search__timeframe-list{min-width:12rem!important}}.iccandle-timeframes-tab{display:flex!important;flex-direction:column!important;height:100%!important;min-height:0!important;gap:.5rem!important;padding:0 1rem 1rem!important}@media(min-width:640px){.iccandle-timeframes-tab{padding-left:1.5rem!important;padding-right:1.5rem!important}}.iccandle-timeframes-tab__search-wrap{min-height:0!important;flex:1 1 auto!important;overflow:hidden!important;border-radius:.5rem!important;border:1px solid var(--iccandle-border)!important}.iccandle-symbols-tab{display:flex!important;flex-direction:column!important;height:100%!important;min-height:0!important;gap:.5rem!important;padding:0 1rem 1rem!important}@media(min-width:640px){.iccandle-symbols-tab{padding-left:1.5rem!important;padding-right:1.5rem!important}}.iccandle-symbols-tab__search-wrap{min-height:0!important;flex:1 1 auto!important;overflow:hidden!important;border-radius:.5rem!important;border:1px solid var(--iccandle-border)!important}.iccandle-time-config-section{display:flex!important;flex-direction:column!important;gap:1rem!important;height:100%!important;max-width:100%!important;min-width:0!important;font-size:.875rem!important;color:var(--iccandle-text);overflow-x:hidden!important;overflow-y:auto!important}.iccandle-time-config-section__header{padding:.5rem 1rem!important;border-bottom:1px solid var(--iccandle-border)!important}.iccandle-time-config-section__title{margin:0!important;font-size:1.125rem!important;font-weight:600!important;color:var(--iccandle-text)}.iccandle-time-config-section__description{margin:.25rem 0 0!important;font-size:.875rem!important;color:color-mix(in oklab,var(--iccandle-text) 55%,transparent)}.iccandle-time-config-section__fields{display:flex!important;flex-direction:column!important;gap:.75rem!important;width:100%!important;max-width:100%!important;min-width:0!important;padding:0 1rem!important}@media(min-width:640px){.iccandle-time-config-section__fields{flex-direction:row!important;align-items:center!important}}.iccandle-time-config-section__field,.iccandle-time-config-section__timezone{display:flex!important;flex-direction:column!important;gap:.25rem!important;min-width:0!important;flex:1 1 auto!important}.iccandle-time-config-section__timezone{padding:0 1rem 1rem!important}.iccandle-time-config-section__label{font-size:.75rem!important;font-weight:500!important;color:color-mix(in oklab,var(--iccandle-text) 65%,transparent)}.iccandle-time-config-section__input{height:2.25rem!important;width:100%!important;padding:.25rem .75rem!important;border:1px solid var(--iccandle-border)!important;border-radius:.375rem!important;font-size:.875rem!important;color:var(--iccandle-text);background-color:var(--iccandle-background)}.iccandle-time-config-section__input:disabled{opacity:.5!important;cursor:not-allowed!important}.iccandle-time-config-section__select-wrap{position:relative!important}.iccandle-time-config-section__select-wrap--open{z-index:100!important}.iccandle-time-config-section__select-btn{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;height:2.5rem!important;padding:.5rem .75rem!important;border:1px solid var(--iccandle-border)!important;border-radius:.375rem!important;font-size:.875rem!important;text-align:left!important;color:var(--iccandle-text);background-color:var(--iccandle-background);cursor:pointer!important}.iccandle-time-config-section__select-btn:disabled{opacity:.5!important;cursor:not-allowed!important}.iccandle-time-config-section__select-label{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.iccandle-time-config-section__dropdown{position:absolute!important;inset-inline:0!important;z-index:50!important;margin-top:.25rem!important;width:100%!important;border:1px solid var(--iccandle-border)!important;border-radius:.375rem!important;background-color:var(--iccandle-background);box-shadow:0 4px 12px color-mix(in oklab,var(--iccandle-text) 12%,transparent)!important}.iccandle-time-config-section__dropdown-header{padding:.5rem .75rem!important;border-bottom:1px solid var(--iccandle-border)!important}.iccandle-time-config-section__dropdown-title{margin:0!important;font-size:.875rem!important;font-weight:500!important;color:var(--iccandle-text)}.iccandle-time-config-section__dropdown-subtitle{margin:.125rem 0 0!important;font-size:.75rem!important;color:color-mix(in oklab,var(--iccandle-text) 55%,transparent)}.iccandle-time-config-section__dropdown-search{padding:.5rem!important;border-bottom:1px solid var(--iccandle-border)!important}.iccandle-time-config-section__dropdown-search-input{width:100%!important;height:2rem!important;padding:0 .5rem!important;border:1px solid var(--iccandle-border)!important;border-radius:.25rem!important;font-size:.875rem!important;color:var(--iccandle-text);background-color:var(--iccandle-background)}.iccandle-time-config-section__dropdown-search-input:focus{outline:none!important;border-color:var(--iccandle-primary, #00dfb9)!important}.iccandle-time-config-section__dropdown-list{max-height:40vh!important;margin:0!important;padding:.25rem 0!important;list-style:none!important;overflow-y:auto!important}.iccandle-time-config-section__dropdown-group-label{padding:.375rem .75rem!important;font-size:.75rem!important;font-weight:500!important;color:color-mix(in oklab,var(--iccandle-text) 55%,transparent)}.iccandle-time-config-section__dropdown-item{display:flex!important;align-items:center!important;width:100%!important;padding:.5rem .75rem!important;border:none!important;font-size:.875rem!important;text-align:left!important;color:var(--iccandle-text);background-color:transparent;cursor:pointer!important}.iccandle-time-config-section__dropdown-item:hover,.iccandle-time-config-section__dropdown-item--selected{background-color:color-mix(in oklab,var(--iccandle-text) 6%,transparent)!important}.iccandle-time-config-section__dropdown-empty{padding:.75rem!important;font-size:.875rem!important;text-align:center!important;color:color-mix(in oklab,var(--iccandle-text) 55%,transparent)}.iccandle-time-config-section__check{width:1rem!important;height:1rem!important;margin-right:.5rem!important;opacity:0!important}.iccandle-time-config-section__check--visible{opacity:1!important}.iccandle-pattern-alert-settings{display:flex!important;flex-direction:column!important;width:100%!important;height:100%!important;min-height:0!important;max-width:100%!important;min-width:0!important;gap:.5rem!important;overflow:hidden!important;background-color:var(--iccandle-background)!important;border-radius:1.5rem!important}@media(min-width:640px){.iccandle-pattern-alert-settings{gap:.75rem!important}}.iccandle-pattern-alert-settings__header-row{display:flex!important;align-items:flex-start!important;gap:.5rem!important;padding:1rem 1rem 0!important}@media(min-width:640px){.iccandle-pattern-alert-settings__header-row{align-items:center!important;gap:1rem!important}}.iccandle-pattern-alert-settings__header-icon{flex-shrink:0!important;margin-top:.125rem!important;color:var(--iccandle-primary)}@media(min-width:640px){.iccandle-pattern-alert-settings__header-icon{margin-top:0!important}}.iccandle-pattern-alert-settings__header{height:fit-content!important;width:100%!important;min-width:0!important;display:flex!important;flex-direction:column!important;gap:.5rem!important;text-align:left!important}.iccandle-pattern-alert-settings__title-row{display:flex!important;width:100%!important;align-items:flex-start!important;justify-content:space-between!important;gap:.5rem!important}@media(min-width:640px){.iccandle-pattern-alert-settings__title-row{align-items:center!important}}.iccandle-pattern-alert-settings__title{min-width:0!important;margin:0!important;font-size:1rem!important;font-weight:600!important;line-height:1.25!important;color:var(--iccandle-text)}@media(min-width:640px){.iccandle-pattern-alert-settings__title{font-size:1.125rem!important}}.iccandle-pattern-alert-settings__title-text{display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.iccandle-pattern-alert-settings__close-btn{display:flex!important;flex-shrink:0!important;align-items:center!important;justify-content:center!important;width:2rem!important;height:2rem!important;padding:0!important;border:none!important;border-radius:.375rem!important;background:transparent!important;color:var(--iccandle-text);cursor:pointer!important}.iccandle-pattern-alert-settings__close-btn:hover{background-color:color-mix(in oklab,var(--iccandle-background) 20%,transparent)}@media(min-width:640px){.iccandle-pattern-alert-settings__close-btn{display:none!important}}.iccandle-pattern-alert-settings__description{margin:0!important;font-size:.875rem!important;text-align:left!important;color:color-mix(in oklab,var(--iccandle-text) 70%,transparent)}.iccandle-pattern-alert-settings__form{display:flex!important;height:100%!important;min-height:0!important;max-width:100%!important;min-width:0!important;flex:1 1 auto!important;flex-direction:column!important;overflow:hidden!important}.iccandle-pattern-alert-settings__tabs{display:flex!important;height:100%!important;min-height:0!important;width:100%!important;max-width:100%!important;min-width:0!important;flex:1 1 auto!important;flex-direction:column!important;gap:0!important}.iccandle-pattern-alert-settings__tabs-list{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;height:auto!important;max-width:100%!important;min-width:0!important;margin:0 1rem!important;padding:.25rem!important;border-radius:.5rem!important;background-color:color-mix(in oklab,var(--iccandle-border) 40%,var(--iccandle-background))!important;width:auto!important}.iccandle-pattern-alert-settings__tab-trigger{display:inline-flex!important;align-items:center!important;justify-content:center!important;height:100%!important;padding:.25rem!important;border:1px solid transparent!important;border-radius:.375rem!important;font-size:.6875rem!important;font-weight:500!important;color:color-mix(in oklab,var(--iccandle-text) 60%,transparent);background:transparent!important;cursor:pointer!important;transition:color .15s ease,background-color .15s ease!important}@media(min-width:640px){.iccandle-pattern-alert-settings__tab-trigger{justify-content:flex-start!important;font-size:.875rem!important}}.iccandle-pattern-alert-settings__tab-trigger[data-state=active]{color:var(--iccandle-text)!important;background-color:var(--iccandle-background)!important;border-color:var(--iccandle-border)!important;box-shadow:0 1px 2px color-mix(in oklab,var(--iccandle-text) 8%,transparent)!important}.iccandle-pattern-alert-settings__tab-trigger:disabled{opacity:.5!important;pointer-events:none!important;cursor:not-allowed!important}.iccandle-pattern-alert-settings__tab-label--mobile{display:inline!important}.iccandle-pattern-alert-settings__tab-label--desktop{display:none!important;flex-direction:column!important;align-items:flex-start!important;gap:.25rem!important;margin-left:.5rem!important;margin-right:auto!important}@media(min-width:640px){.iccandle-pattern-alert-settings__tab-label--mobile{display:none!important}.iccandle-pattern-alert-settings__tab-label--desktop{display:flex!important}}.iccandle-pattern-alert-settings__tab-step{font-size:.75rem!important;color:color-mix(in oklab,var(--iccandle-text) 55%,transparent)}.iccandle-pattern-alert-settings__tabs-content-wrap{display:flex!important;flex-direction:column!important;min-height:0!important;width:100%!important;max-width:100%!important;min-width:0!important;flex:1 1 auto!important;overflow:hidden!important;padding-top:1rem!important}@media(min-width:640px){.iccandle-pattern-alert-settings__tabs-content-wrap{padding-top:1.5rem!important}}.iccandle-pattern-alert-settings__tab-content{display:flex!important;flex-direction:column!important;margin-top:0!important;height:100%!important;min-height:0!important;min-width:0!important;flex:1 1 auto!important;overflow:hidden!important}.iccandle-pattern-alert-settings__footer{display:flex!important;height:fit-content!important;max-width:100%!important;min-width:0!important;flex-direction:column!important;gap:.5rem!important;border-top:1px solid var(--iccandle-border)!important}@media(min-width:640px){.iccandle-pattern-alert-settings__footer{flex-direction:row!important;align-items:center!important;justify-content:space-between!important}}.iccandle-pattern-alert-settings__error{max-width:100%!important;min-width:0!important;margin:0!important;padding:0 1rem!important;font-size:.875rem!important;font-weight:500!important;color:#ef4444;overflow-wrap:break-word!important;opacity:0!important;transition:opacity 1s ease-in-out!important}.iccandle-pattern-alert-settings__error--visible{opacity:1!important}@media(min-width:640px){.iccandle-pattern-alert-settings__error{font-size:1rem!important;white-space:nowrap!important}}.iccandle-pattern-alert-settings__actions{display:flex!important;width:100%!important;align-items:center!important;justify-content:flex-end!important;gap:.75rem!important;padding:0 1rem 1rem!important;font-weight:600!important;color:color-mix(in oklab,var(--iccandle-text) 80%,transparent)}@media(min-width:640px){.iccandle-pattern-alert-settings__actions{gap:1rem!important;padding:1rem!important}}.iccandle-pattern-alert-settings__btn{height:2.25rem!important;width:100%!important;padding:0 .875rem!important;border-radius:.5rem!important;font-size:.875rem!important;font-weight:600!important;cursor:pointer!important;border:1px solid transparent!important}@media(min-width:640px){.iccandle-pattern-alert-settings__btn{width:fit-content!important}}.iccandle-pattern-alert-settings__btn--outline{background:transparent;border-color:var(--iccandle-border)!important;color:var(--iccandle-text)}.iccandle-pattern-alert-settings__btn--outline:hover{background-color:color-mix(in oklab,var(--iccandle-background) 20%,transparent)}.iccandle-pattern-alert-settings__btn--primary{background-color:var(--iccandle-primary)!important;color:var(--iccandle-background)!important;border-color:var(--iccandle-primary)!important}.iccandle-pattern-alert-settings__btn--primary:hover:not(:disabled){filter:brightness(.95)}.iccandle-pattern-alert-settings__btn--primary:disabled{opacity:.5!important;cursor:not-allowed!important}.iccandle-pattern-tracker-modal{position:fixed!important;inset:0!important;z-index:50!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:1rem!important;background-color:#00000080!important}.iccandle-pattern-tracker-modal__content{position:relative!important;display:flex!important;flex-direction:column!important;width:100%!important;max-width:calc(100% - 2rem)!important;padding:0!important;border-radius:1.5rem!important;overflow:hidden!important;outline:none!important;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a!important}@media(min-width:640px){.iccandle-pattern-tracker-modal__content{max-height:90%!important;max-width:425px!important}}.iccandle-pattern-tracker-modal__content--settings{height:100%!important;max-width:56rem!important}')),document.head.appendChild(t)}}catch(n){console.error("vite-plugin-css-injected-by-js",n)}})();
2
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const D=require("react"),Wn=require("react-dom");function po(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const i=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,i.get?i:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const M=po(D),mo=po(Wn);function Al(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var yn={exports:{}},Jt={};var Oa;function Nl(){if(Oa)return Jt;Oa=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function n(i,a,r){var o=null;if(r!==void 0&&(o=""+r),a.key!==void 0&&(o=""+a.key),"key"in a){r={};for(var s in a)s!=="key"&&(r[s]=a[s])}else r=a;return a=r.ref,{$$typeof:e,type:i,key:o,ref:a!==void 0?a:null,props:r}}return Jt.Fragment=t,Jt.jsx=n,Jt.jsxs=n,Jt}var Xt={};var Ma;function Dl(){return Ma||(Ma=1,process.env.NODE_ENV!=="production"&&(function(){function e(A){if(A==null)return null;if(typeof A=="function")return A.$$typeof===z?null:A.displayName||A.name||null;if(typeof A=="string")return A;switch(A){case b:return"Fragment";case P:return"Profiler";case T:return"StrictMode";case C:return"Suspense";case w:return"SuspenseList";case L:return"Activity"}if(typeof A=="object")switch(typeof A.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),A.$$typeof){case y:return"Portal";case v:return A.displayName||"Context";case k:return(A._context.displayName||"Context")+".Consumer";case g:var U=A.render;return A=A.displayName,A||(A=U.displayName||U.name||"",A=A!==""?"ForwardRef("+A+")":"ForwardRef"),A;case S:return U=A.displayName||null,U!==null?U:e(A.type)||"Memo";case N:U=A._payload,A=A._init;try{return e(A(U))}catch{}}return null}function t(A){return""+A}function n(A){try{t(A);var U=!1}catch{U=!0}if(U){U=console;var V=U.error,q=typeof Symbol=="function"&&Symbol.toStringTag&&A[Symbol.toStringTag]||A.constructor.name||"Object";return V.call(U,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",q),t(A)}}function i(A){if(A===b)return"<>";if(typeof A=="object"&&A!==null&&A.$$typeof===N)return"<...>";try{var U=e(A);return U?"<"+U+">":"<...>"}catch{return"<...>"}}function a(){var A=j.A;return A===null?null:A.getOwner()}function r(){return Error("react-stack-top-frame")}function o(A){if(G.call(A,"key")){var U=Object.getOwnPropertyDescriptor(A,"key").get;if(U&&U.isReactWarning)return!1}return A.key!==void 0}function s(A,U){function V(){F||(F=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",U))}V.isReactWarning=!0,Object.defineProperty(A,"key",{get:V,configurable:!0})}function c(){var A=e(this.type);return Q[A]||(Q[A]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),A=this.props.ref,A!==void 0?A:null}function l(A,U,V,q,ee,$){var J=V.ref;return A={$$typeof:m,type:A,key:U,props:V,_owner:q},(J!==void 0?J:null)!==null?Object.defineProperty(A,"ref",{enumerable:!1,get:c}):Object.defineProperty(A,"ref",{enumerable:!1,value:null}),A._store={},Object.defineProperty(A._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(A,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(A,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:ee}),Object.defineProperty(A,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:$}),Object.freeze&&(Object.freeze(A.props),Object.freeze(A)),A}function u(A,U,V,q,ee,$){var J=U.children;if(J!==void 0)if(q)if(Y(J)){for(q=0;q<J.length;q++)d(J[q]);Object.freeze&&Object.freeze(J)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else d(J);if(G.call(U,"key")){J=e(A);var re=Object.keys(U).filter(function(se){return se!=="key"});q=0<re.length?"{key: someKey, "+re.join(": ..., ")+": ...}":"{key: someKey}",R[J+q]||(re=0<re.length?"{"+re.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
3
+ let props = %s;
4
+ <%s {...props} />
5
+ React keys must be passed directly to JSX without using spread:
6
+ let props = %s;
7
+ <%s key={someKey} {...props} />`,q,J,re,J),R[J+q]=!0)}if(J=null,V!==void 0&&(n(V),J=""+V),o(U)&&(n(U.key),J=""+U.key),"key"in U){V={};for(var ae in U)ae!=="key"&&(V[ae]=U[ae])}else V=U;return J&&s(V,typeof A=="function"?A.displayName||A.name||"Unknown":A),l(A,J,V,a(),ee,$)}function d(A){p(A)?A._store&&(A._store.validated=1):typeof A=="object"&&A!==null&&A.$$typeof===N&&(A._payload.status==="fulfilled"?p(A._payload.value)&&A._payload.value._store&&(A._payload.value._store.validated=1):A._store&&(A._store.validated=1))}function p(A){return typeof A=="object"&&A!==null&&A.$$typeof===m}var f=D,m=Symbol.for("react.transitional.element"),y=Symbol.for("react.portal"),b=Symbol.for("react.fragment"),T=Symbol.for("react.strict_mode"),P=Symbol.for("react.profiler"),k=Symbol.for("react.consumer"),v=Symbol.for("react.context"),g=Symbol.for("react.forward_ref"),C=Symbol.for("react.suspense"),w=Symbol.for("react.suspense_list"),S=Symbol.for("react.memo"),N=Symbol.for("react.lazy"),L=Symbol.for("react.activity"),z=Symbol.for("react.client.reference"),j=f.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,G=Object.prototype.hasOwnProperty,Y=Array.isArray,X=console.createTask?console.createTask:function(){return null};f={react_stack_bottom_frame:function(A){return A()}};var F,Q={},Z=f.react_stack_bottom_frame.bind(f,r)(),le=X(i(r)),R={};Xt.Fragment=b,Xt.jsx=function(A,U,V){var q=1e4>j.recentlyCreatedOwnerStacks++;return u(A,U,V,!1,q?Error("react-stack-top-frame"):Z,q?X(i(A)):le)},Xt.jsxs=function(A,U,V){var q=1e4>j.recentlyCreatedOwnerStacks++;return u(A,U,V,!0,q?Error("react-stack-top-frame"):Z,q?X(i(A)):le)}})()),Xt}var Ia;function Rl(){return Ia||(Ia=1,process.env.NODE_ENV==="production"?yn.exports=Nl():yn.exports=Dl()),yn.exports}var h=Rl(),Zt={exports:{}},li={},bn={exports:{}},vn={exports:{}},pe={};var La;function El(){if(La)return pe;La=1;var e=typeof Symbol=="function"&&Symbol.for,t=e?Symbol.for("react.element"):60103,n=e?Symbol.for("react.portal"):60106,i=e?Symbol.for("react.fragment"):60107,a=e?Symbol.for("react.strict_mode"):60108,r=e?Symbol.for("react.profiler"):60114,o=e?Symbol.for("react.provider"):60109,s=e?Symbol.for("react.context"):60110,c=e?Symbol.for("react.async_mode"):60111,l=e?Symbol.for("react.concurrent_mode"):60111,u=e?Symbol.for("react.forward_ref"):60112,d=e?Symbol.for("react.suspense"):60113,p=e?Symbol.for("react.suspense_list"):60120,f=e?Symbol.for("react.memo"):60115,m=e?Symbol.for("react.lazy"):60116,y=e?Symbol.for("react.block"):60121,b=e?Symbol.for("react.fundamental"):60117,T=e?Symbol.for("react.responder"):60118,P=e?Symbol.for("react.scope"):60119;function k(g){if(typeof g=="object"&&g!==null){var C=g.$$typeof;switch(C){case t:switch(g=g.type,g){case c:case l:case i:case r:case a:case d:return g;default:switch(g=g&&g.$$typeof,g){case s:case u:case m:case f:case o:return g;default:return C}}case n:return C}}}function v(g){return k(g)===l}return pe.AsyncMode=c,pe.ConcurrentMode=l,pe.ContextConsumer=s,pe.ContextProvider=o,pe.Element=t,pe.ForwardRef=u,pe.Fragment=i,pe.Lazy=m,pe.Memo=f,pe.Portal=n,pe.Profiler=r,pe.StrictMode=a,pe.Suspense=d,pe.isAsyncMode=function(g){return v(g)||k(g)===c},pe.isConcurrentMode=v,pe.isContextConsumer=function(g){return k(g)===s},pe.isContextProvider=function(g){return k(g)===o},pe.isElement=function(g){return typeof g=="object"&&g!==null&&g.$$typeof===t},pe.isForwardRef=function(g){return k(g)===u},pe.isFragment=function(g){return k(g)===i},pe.isLazy=function(g){return k(g)===m},pe.isMemo=function(g){return k(g)===f},pe.isPortal=function(g){return k(g)===n},pe.isProfiler=function(g){return k(g)===r},pe.isStrictMode=function(g){return k(g)===a},pe.isSuspense=function(g){return k(g)===d},pe.isValidElementType=function(g){return typeof g=="string"||typeof g=="function"||g===i||g===l||g===r||g===a||g===d||g===p||typeof g=="object"&&g!==null&&(g.$$typeof===m||g.$$typeof===f||g.$$typeof===o||g.$$typeof===s||g.$$typeof===u||g.$$typeof===b||g.$$typeof===T||g.$$typeof===P||g.$$typeof===y)},pe.typeOf=k,pe}var me={};var Ga;function Ol(){return Ga||(Ga=1,process.env.NODE_ENV!=="production"&&(function(){var e=typeof Symbol=="function"&&Symbol.for,t=e?Symbol.for("react.element"):60103,n=e?Symbol.for("react.portal"):60106,i=e?Symbol.for("react.fragment"):60107,a=e?Symbol.for("react.strict_mode"):60108,r=e?Symbol.for("react.profiler"):60114,o=e?Symbol.for("react.provider"):60109,s=e?Symbol.for("react.context"):60110,c=e?Symbol.for("react.async_mode"):60111,l=e?Symbol.for("react.concurrent_mode"):60111,u=e?Symbol.for("react.forward_ref"):60112,d=e?Symbol.for("react.suspense"):60113,p=e?Symbol.for("react.suspense_list"):60120,f=e?Symbol.for("react.memo"):60115,m=e?Symbol.for("react.lazy"):60116,y=e?Symbol.for("react.block"):60121,b=e?Symbol.for("react.fundamental"):60117,T=e?Symbol.for("react.responder"):60118,P=e?Symbol.for("react.scope"):60119;function k(W){return typeof W=="string"||typeof W=="function"||W===i||W===l||W===r||W===a||W===d||W===p||typeof W=="object"&&W!==null&&(W.$$typeof===m||W.$$typeof===f||W.$$typeof===o||W.$$typeof===s||W.$$typeof===u||W.$$typeof===b||W.$$typeof===T||W.$$typeof===P||W.$$typeof===y)}function v(W){if(typeof W=="object"&&W!==null){var ye=W.$$typeof;switch(ye){case t:var Ee=W.type;switch(Ee){case c:case l:case i:case r:case a:case d:return Ee;default:var ct=Ee&&Ee.$$typeof;switch(ct){case s:case u:case m:case f:case o:return ct;default:return ye}}case n:return ye}}}var g=c,C=l,w=s,S=o,N=t,L=u,z=i,j=m,G=f,Y=n,X=r,F=a,Q=d,Z=!1;function le(W){return Z||(Z=!0,console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")),R(W)||v(W)===c}function R(W){return v(W)===l}function A(W){return v(W)===s}function U(W){return v(W)===o}function V(W){return typeof W=="object"&&W!==null&&W.$$typeof===t}function q(W){return v(W)===u}function ee(W){return v(W)===i}function $(W){return v(W)===m}function J(W){return v(W)===f}function re(W){return v(W)===n}function ae(W){return v(W)===r}function se(W){return v(W)===a}function ge(W){return v(W)===d}me.AsyncMode=g,me.ConcurrentMode=C,me.ContextConsumer=w,me.ContextProvider=S,me.Element=N,me.ForwardRef=L,me.Fragment=z,me.Lazy=j,me.Memo=G,me.Portal=Y,me.Profiler=X,me.StrictMode=F,me.Suspense=Q,me.isAsyncMode=le,me.isConcurrentMode=R,me.isContextConsumer=A,me.isContextProvider=U,me.isElement=V,me.isForwardRef=q,me.isFragment=ee,me.isLazy=$,me.isMemo=J,me.isPortal=re,me.isProfiler=ae,me.isStrictMode=se,me.isSuspense=ge,me.isValidElementType=k,me.typeOf=v})()),me}var Fa;function fo(){return Fa||(Fa=1,process.env.NODE_ENV==="production"?vn.exports=El():vn.exports=Ol()),vn.exports}var ci,Ba;function Ml(){if(Ba)return ci;Ba=1;var e=Object.getOwnPropertySymbols,t=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;function i(r){if(r==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(r)}function a(){try{if(!Object.assign)return!1;var r=new String("abc");if(r[5]="de",Object.getOwnPropertyNames(r)[0]==="5")return!1;for(var o={},s=0;s<10;s++)o["_"+String.fromCharCode(s)]=s;var c=Object.getOwnPropertyNames(o).map(function(u){return o[u]});if(c.join("")!=="0123456789")return!1;var l={};return"abcdefghijklmnopqrst".split("").forEach(function(u){l[u]=u}),Object.keys(Object.assign({},l)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}return ci=a()?Object.assign:function(r,o){for(var s,c=i(r),l,u=1;u<arguments.length;u++){s=Object(arguments[u]);for(var d in s)t.call(s,d)&&(c[d]=s[d]);if(e){l=e(s);for(var p=0;p<l.length;p++)n.call(s,l[p])&&(c[l[p]]=s[l[p]])}}return c},ci}var ui,ja;function ta(){if(ja)return ui;ja=1;var e="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return ui=e,ui}var di,Ua;function go(){return Ua||(Ua=1,di=Function.call.bind(Object.prototype.hasOwnProperty)),di}var hi,za;function Il(){if(za)return hi;za=1;var e=function(){};if(process.env.NODE_ENV!=="production"){var t=ta(),n={},i=go();e=function(r){var o="Warning: "+r;typeof console<"u"&&console.error(o);try{throw new Error(o)}catch{}}}function a(r,o,s,c,l){if(process.env.NODE_ENV!=="production"){for(var u in r)if(i(r,u)){var d;try{if(typeof r[u]!="function"){var p=Error((c||"React class")+": "+s+" type `"+u+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof r[u]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw p.name="Invariant Violation",p}d=r[u](o,u,c,s,null,t)}catch(m){d=m}if(d&&!(d instanceof Error)&&e((c||"React class")+": type specification of "+s+" `"+u+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+typeof d+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),d instanceof Error&&!(d.message in n)){n[d.message]=!0;var f=l?l():"";e("Failed "+s+" type: "+d.message+(f??""))}}}}return a.resetWarningCache=function(){process.env.NODE_ENV!=="production"&&(n={})},hi=a,hi}var pi,Ya;function Ll(){if(Ya)return pi;Ya=1;var e=fo(),t=Ml(),n=ta(),i=go(),a=Il(),r=function(){};process.env.NODE_ENV!=="production"&&(r=function(s){var c="Warning: "+s;typeof console<"u"&&console.error(c);try{throw new Error(c)}catch{}});function o(){return null}return pi=function(s,c){var l=typeof Symbol=="function"&&Symbol.iterator,u="@@iterator";function d(R){var A=R&&(l&&R[l]||R[u]);if(typeof A=="function")return A}var p="<<anonymous>>",f={array:T("array"),bigint:T("bigint"),bool:T("boolean"),func:T("function"),number:T("number"),object:T("object"),string:T("string"),symbol:T("symbol"),any:P(),arrayOf:k,element:v(),elementType:g(),instanceOf:C,node:L(),objectOf:S,oneOf:w,oneOfType:N,shape:j,exact:G};function m(R,A){return R===A?R!==0||1/R===1/A:R!==R&&A!==A}function y(R,A){this.message=R,this.data=A&&typeof A=="object"?A:{},this.stack=""}y.prototype=Error.prototype;function b(R){if(process.env.NODE_ENV!=="production")var A={},U=0;function V(ee,$,J,re,ae,se,ge){if(re=re||p,se=se||J,ge!==n){if(c){var W=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");throw W.name="Invariant Violation",W}else if(process.env.NODE_ENV!=="production"&&typeof console<"u"){var ye=re+":"+J;!A[ye]&&U<3&&(r("You are manually calling a React.PropTypes validation function for the `"+se+"` prop on `"+re+"`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."),A[ye]=!0,U++)}}return $[J]==null?ee?$[J]===null?new y("The "+ae+" `"+se+"` is marked as required "+("in `"+re+"`, but its value is `null`.")):new y("The "+ae+" `"+se+"` is marked as required in "+("`"+re+"`, but its value is `undefined`.")):null:R($,J,re,ae,se)}var q=V.bind(null,!1);return q.isRequired=V.bind(null,!0),q}function T(R){function A(U,V,q,ee,$,J){var re=U[V],ae=F(re);if(ae!==R){var se=Q(re);return new y("Invalid "+ee+" `"+$+"` of type "+("`"+se+"` supplied to `"+q+"`, expected ")+("`"+R+"`."),{expectedType:R})}return null}return b(A)}function P(){return b(o)}function k(R){function A(U,V,q,ee,$){if(typeof R!="function")return new y("Property `"+$+"` of component `"+q+"` has invalid PropType notation inside arrayOf.");var J=U[V];if(!Array.isArray(J)){var re=F(J);return new y("Invalid "+ee+" `"+$+"` of type "+("`"+re+"` supplied to `"+q+"`, expected an array."))}for(var ae=0;ae<J.length;ae++){var se=R(J,ae,q,ee,$+"["+ae+"]",n);if(se instanceof Error)return se}return null}return b(A)}function v(){function R(A,U,V,q,ee){var $=A[U];if(!s($)){var J=F($);return new y("Invalid "+q+" `"+ee+"` of type "+("`"+J+"` supplied to `"+V+"`, expected a single ReactElement."))}return null}return b(R)}function g(){function R(A,U,V,q,ee){var $=A[U];if(!e.isValidElementType($)){var J=F($);return new y("Invalid "+q+" `"+ee+"` of type "+("`"+J+"` supplied to `"+V+"`, expected a single ReactElement type."))}return null}return b(R)}function C(R){function A(U,V,q,ee,$){if(!(U[V]instanceof R)){var J=R.name||p,re=le(U[V]);return new y("Invalid "+ee+" `"+$+"` of type "+("`"+re+"` supplied to `"+q+"`, expected ")+("instance of `"+J+"`."))}return null}return b(A)}function w(R){if(!Array.isArray(R))return process.env.NODE_ENV!=="production"&&(arguments.length>1?r("Invalid arguments supplied to oneOf, expected an array, got "+arguments.length+" arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])."):r("Invalid argument supplied to oneOf, expected an array.")),o;function A(U,V,q,ee,$){for(var J=U[V],re=0;re<R.length;re++)if(m(J,R[re]))return null;var ae=JSON.stringify(R,function(ge,W){var ye=Q(W);return ye==="symbol"?String(W):W});return new y("Invalid "+ee+" `"+$+"` of value `"+String(J)+"` "+("supplied to `"+q+"`, expected one of "+ae+"."))}return b(A)}function S(R){function A(U,V,q,ee,$){if(typeof R!="function")return new y("Property `"+$+"` of component `"+q+"` has invalid PropType notation inside objectOf.");var J=U[V],re=F(J);if(re!=="object")return new y("Invalid "+ee+" `"+$+"` of type "+("`"+re+"` supplied to `"+q+"`, expected an object."));for(var ae in J)if(i(J,ae)){var se=R(J,ae,q,ee,$+"."+ae,n);if(se instanceof Error)return se}return null}return b(A)}function N(R){if(!Array.isArray(R))return process.env.NODE_ENV!=="production"&&r("Invalid argument supplied to oneOfType, expected an instance of array."),o;for(var A=0;A<R.length;A++){var U=R[A];if(typeof U!="function")return r("Invalid argument supplied to oneOfType. Expected an array of check functions, but received "+Z(U)+" at index "+A+"."),o}function V(q,ee,$,J,re){for(var ae=[],se=0;se<R.length;se++){var ge=R[se],W=ge(q,ee,$,J,re,n);if(W==null)return null;W.data&&i(W.data,"expectedType")&&ae.push(W.data.expectedType)}var ye=ae.length>0?", expected one of type ["+ae.join(", ")+"]":"";return new y("Invalid "+J+" `"+re+"` supplied to "+("`"+$+"`"+ye+"."))}return b(V)}function L(){function R(A,U,V,q,ee){return Y(A[U])?null:new y("Invalid "+q+" `"+ee+"` supplied to "+("`"+V+"`, expected a ReactNode."))}return b(R)}function z(R,A,U,V,q){return new y((R||"React class")+": "+A+" type `"+U+"."+V+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+q+"`.")}function j(R){function A(U,V,q,ee,$){var J=U[V],re=F(J);if(re!=="object")return new y("Invalid "+ee+" `"+$+"` of type `"+re+"` "+("supplied to `"+q+"`, expected `object`."));for(var ae in R){var se=R[ae];if(typeof se!="function")return z(q,ee,$,ae,Q(se));var ge=se(J,ae,q,ee,$+"."+ae,n);if(ge)return ge}return null}return b(A)}function G(R){function A(U,V,q,ee,$){var J=U[V],re=F(J);if(re!=="object")return new y("Invalid "+ee+" `"+$+"` of type `"+re+"` "+("supplied to `"+q+"`, expected `object`."));var ae=t({},U[V],R);for(var se in ae){var ge=R[se];if(i(R,se)&&typeof ge!="function")return z(q,ee,$,se,Q(ge));if(!ge)return new y("Invalid "+ee+" `"+$+"` key `"+se+"` supplied to `"+q+"`.\nBad object: "+JSON.stringify(U[V],null," ")+`
8
+ Valid keys: `+JSON.stringify(Object.keys(R),null," "));var W=ge(J,se,q,ee,$+"."+se,n);if(W)return W}return null}return b(A)}function Y(R){switch(typeof R){case"number":case"string":case"undefined":return!0;case"boolean":return!R;case"object":if(Array.isArray(R))return R.every(Y);if(R===null||s(R))return!0;var A=d(R);if(A){var U=A.call(R),V;if(A!==R.entries){for(;!(V=U.next()).done;)if(!Y(V.value))return!1}else for(;!(V=U.next()).done;){var q=V.value;if(q&&!Y(q[1]))return!1}}else return!1;return!0;default:return!1}}function X(R,A){return R==="symbol"?!0:A?A["@@toStringTag"]==="Symbol"||typeof Symbol=="function"&&A instanceof Symbol:!1}function F(R){var A=typeof R;return Array.isArray(R)?"array":R instanceof RegExp?"object":X(A,R)?"symbol":A}function Q(R){if(typeof R>"u"||R===null)return""+R;var A=F(R);if(A==="object"){if(R instanceof Date)return"date";if(R instanceof RegExp)return"regexp"}return A}function Z(R){var A=Q(R);switch(A){case"array":case"object":return"an "+A;case"boolean":case"date":case"regexp":return"a "+A;default:return A}}function le(R){return!R.constructor||!R.constructor.name?p:R.constructor.name}return f.checkPropTypes=a,f.resetWarningCache=a.resetWarningCache,f.PropTypes=f,f},pi}var mi,Ha;function Gl(){if(Ha)return mi;Ha=1;var e=ta();function t(){}function n(){}return n.resetWarningCache=t,mi=function(){function i(o,s,c,l,u,d){if(d!==e){var p=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw p.name="Invariant Violation",p}}i.isRequired=i;function a(){return i}var r={array:i,bigint:i,bool:i,func:i,number:i,object:i,string:i,symbol:i,any:i,arrayOf:a,element:i,elementType:i,instanceOf:a,node:i,objectOf:a,oneOf:a,oneOfType:a,shape:a,exact:a,checkPropTypes:n,resetWarningCache:t};return r.PropTypes=r,r},mi}var Wa;function yo(){if(Wa)return bn.exports;if(Wa=1,process.env.NODE_ENV!=="production"){var e=fo(),t=!0;bn.exports=Ll()(e.isElement,t)}else bn.exports=Gl()();return bn.exports}var wn={exports:{}},qa;function Fl(){if(qa)return wn.exports;qa=1;function e(n){var i,a,r="";if(typeof n=="string"||typeof n=="number")r+=n;else if(typeof n=="object")if(Array.isArray(n)){var o=n.length;for(i=0;i<o;i++)n[i]&&(a=e(n[i]))&&(r&&(r+=" "),r+=a)}else for(a in n)n[a]&&(r&&(r+=" "),r+=a);return r}function t(){for(var n,i,a=0,r="",o=arguments.length;a<o;a++)(n=arguments[a])&&(i=e(n))&&(r&&(r+=" "),r+=i);return r}return wn.exports=t,wn.exports.clsx=t,wn.exports}var Se={},yt={},Va;function qn(){if(Va)return yt;Va=1,Object.defineProperty(yt,"__esModule",{value:!0}),yt.dontSetMe=a,yt.findInArray=e,yt.int=i,yt.isFunction=t,yt.isNum=n;function e(r,o){for(let s=0,c=r.length;s<c;s++)if(o.apply(o,[r[s],s,r]))return r[s]}function t(r){return typeof r=="function"||Object.prototype.toString.call(r)==="[object Function]"}function n(r){return typeof r=="number"&&!isNaN(r)}function i(r){return parseInt(r,10)}function a(r,o,s){if(r[o])return new Error(`Invalid prop ${o} passed to ${s} - do not set this, set it on the child.`)}return yt}var bt={},_a;function Bl(){if(_a)return bt;_a=1,Object.defineProperty(bt,"__esModule",{value:!0}),bt.browserPrefixToKey=n,bt.browserPrefixToStyle=i,bt.default=void 0,bt.getPrefix=t;const e=["Moz","Webkit","O","ms"];function t(){let r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"transform";if(typeof window>"u")return"";const o=window.document?.documentElement?.style;if(!o||r in o)return"";for(let s=0;s<e.length;s++)if(n(r,e[s])in o)return e[s];return""}function n(r,o){return o?`${o}${a(r)}`:r}function i(r,o){return o?`-${o.toLowerCase()}-${r}`:r}function a(r){let o="",s=!0;for(let c=0;c<r.length;c++)s?(o+=r[c].toUpperCase(),s=!1):r[c]==="-"?s=!0:o+=r[c];return o}return bt.default=t(),bt}var Ka;function na(){if(Ka)return Se;Ka=1,Object.defineProperty(Se,"__esModule",{value:!0}),Se.addClassName=g,Se.addEvent=o,Se.addUserSelectStyles=P,Se.createCSSTransform=f,Se.createSVGTransform=m,Se.getTouch=b,Se.getTouchIdentifier=T,Se.getTranslation=y,Se.innerHeight=u,Se.innerWidth=d,Se.matchesSelector=a,Se.matchesSelectorAndParentsTo=r,Se.offsetXYFromParent=p,Se.outerHeight=c,Se.outerWidth=l,Se.removeClassName=C,Se.removeEvent=s,Se.scheduleRemoveUserSelectStyles=k;var e=qn(),t=n(Bl());function n(w,S){if(typeof WeakMap=="function")var N=new WeakMap,L=new WeakMap;return(n=function(z,j){if(!j&&z&&z.__esModule)return z;var G,Y,X={__proto__:null,default:z};if(z===null||typeof z!="object"&&typeof z!="function")return X;if(G=j?L:N){if(G.has(z))return G.get(z);G.set(z,X)}for(const F in z)F!=="default"&&{}.hasOwnProperty.call(z,F)&&((Y=(G=Object.defineProperty)&&Object.getOwnPropertyDescriptor(z,F))&&(Y.get||Y.set)?G(X,F,Y):X[F]=z[F]);return X})(w,S)}let i="";function a(w,S){return i||(i=(0,e.findInArray)(["matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector"],function(N){return(0,e.isFunction)(w[N])})),(0,e.isFunction)(w[i])?w[i](S):!1}function r(w,S,N){let L=w;do{if(a(L,S))return!0;if(L===N)return!1;L=L.parentNode}while(L);return!1}function o(w,S,N,L){if(!w)return;const z={capture:!0,...L};w.addEventListener?w.addEventListener(S,N,z):w.attachEvent?w.attachEvent("on"+S,N):w["on"+S]=N}function s(w,S,N,L){if(!w)return;const z={capture:!0,...L};w.removeEventListener?w.removeEventListener(S,N,z):w.detachEvent?w.detachEvent("on"+S,N):w["on"+S]=null}function c(w){let S=w.clientHeight;const N=w.ownerDocument.defaultView.getComputedStyle(w);return S+=(0,e.int)(N.borderTopWidth),S+=(0,e.int)(N.borderBottomWidth),S}function l(w){let S=w.clientWidth;const N=w.ownerDocument.defaultView.getComputedStyle(w);return S+=(0,e.int)(N.borderLeftWidth),S+=(0,e.int)(N.borderRightWidth),S}function u(w){let S=w.clientHeight;const N=w.ownerDocument.defaultView.getComputedStyle(w);return S-=(0,e.int)(N.paddingTop),S-=(0,e.int)(N.paddingBottom),S}function d(w){let S=w.clientWidth;const N=w.ownerDocument.defaultView.getComputedStyle(w);return S-=(0,e.int)(N.paddingLeft),S-=(0,e.int)(N.paddingRight),S}function p(w,S,N){const z=S===S.ownerDocument.body?{left:0,top:0}:S.getBoundingClientRect(),j=(w.clientX+S.scrollLeft-z.left)/N,G=(w.clientY+S.scrollTop-z.top)/N;return{x:j,y:G}}function f(w,S){const N=y(w,S,"px");return{[(0,t.browserPrefixToKey)("transform",t.default)]:N}}function m(w,S){return y(w,S,"")}function y(w,S,N){let{x:L,y:z}=w,j=`translate(${L}${N},${z}${N})`;if(S){const G=`${typeof S.x=="string"?S.x:S.x+N}`,Y=`${typeof S.y=="string"?S.y:S.y+N}`;j=`translate(${G}, ${Y})`+j}return j}function b(w,S){return w.targetTouches&&(0,e.findInArray)(w.targetTouches,N=>S===N.identifier)||w.changedTouches&&(0,e.findInArray)(w.changedTouches,N=>S===N.identifier)}function T(w){if(w.targetTouches&&w.targetTouches[0])return w.targetTouches[0].identifier;if(w.changedTouches&&w.changedTouches[0])return w.changedTouches[0].identifier}function P(w){if(!w)return;let S=w.getElementById("react-draggable-style-el");S||(S=w.createElement("style"),S.type="text/css",S.id="react-draggable-style-el",S.innerHTML=`.react-draggable-transparent-selection *::-moz-selection {all: inherit;}
9
+ `,S.innerHTML+=`.react-draggable-transparent-selection *::selection {all: inherit;}
10
+ `,w.getElementsByTagName("head")[0].appendChild(S)),w.body&&g(w.body,"react-draggable-transparent-selection")}function k(w){window.requestAnimationFrame?window.requestAnimationFrame(()=>{v(w)}):v(w)}function v(w){if(w)try{if(w.body&&C(w.body,"react-draggable-transparent-selection"),w.selection)w.selection.empty();else{const S=(w.defaultView||window).getSelection();S&&S.type!=="Caret"&&S.removeAllRanges()}}catch{}}function g(w,S){w.classList?w.classList.add(S):w.className.match(new RegExp(`(?:^|\\s)${S}(?!\\S)`))||(w.className+=` ${S}`)}function C(w,S){w.classList?w.classList.remove(S):w.className=w.className.replace(new RegExp(`(?:^|\\s)${S}(?!\\S)`,"g"),"")}return Se}var tt={},Ja;function bo(){if(Ja)return tt;Ja=1,Object.defineProperty(tt,"__esModule",{value:!0}),tt.canDragX=a,tt.canDragY=r,tt.createCoreData=s,tt.createDraggableData=c,tt.getBoundPosition=n,tt.getControlPosition=o,tt.snapToGrid=i;var e=qn(),t=na();function n(d,p,f){if(!d.props.bounds)return[p,f];let{bounds:m}=d.props;m=typeof m=="string"?m:l(m);const y=u(d);if(typeof m=="string"){const{ownerDocument:b}=y,T=b.defaultView;let P;if(m==="parent"?P=y.parentNode:P=y.getRootNode().querySelector(m),!(P instanceof T.HTMLElement))throw new Error('Bounds selector "'+m+'" could not find an element.');const k=P,v=T.getComputedStyle(y),g=T.getComputedStyle(k);m={left:-y.offsetLeft+(0,e.int)(g.paddingLeft)+(0,e.int)(v.marginLeft),top:-y.offsetTop+(0,e.int)(g.paddingTop)+(0,e.int)(v.marginTop),right:(0,t.innerWidth)(k)-(0,t.outerWidth)(y)-y.offsetLeft+(0,e.int)(g.paddingRight)-(0,e.int)(v.marginRight),bottom:(0,t.innerHeight)(k)-(0,t.outerHeight)(y)-y.offsetTop+(0,e.int)(g.paddingBottom)-(0,e.int)(v.marginBottom)}}return(0,e.isNum)(m.right)&&(p=Math.min(p,m.right)),(0,e.isNum)(m.bottom)&&(f=Math.min(f,m.bottom)),(0,e.isNum)(m.left)&&(p=Math.max(p,m.left)),(0,e.isNum)(m.top)&&(f=Math.max(f,m.top)),[p,f]}function i(d,p,f){const m=Math.round(p/d[0])*d[0],y=Math.round(f/d[1])*d[1];return[m,y]}function a(d){return d.props.axis==="both"||d.props.axis==="x"}function r(d){return d.props.axis==="both"||d.props.axis==="y"}function o(d,p,f){const m=typeof p=="number"?(0,t.getTouch)(d,p):null;if(typeof p=="number"&&!m)return null;const y=u(f),b=f.props.offsetParent||y.offsetParent||y.ownerDocument.body;return(0,t.offsetXYFromParent)(m||d,b,f.props.scale)}function s(d,p,f){const m=!(0,e.isNum)(d.lastX),y=u(d);return m?{node:y,deltaX:0,deltaY:0,lastX:p,lastY:f,x:p,y:f}:{node:y,deltaX:p-d.lastX,deltaY:f-d.lastY,lastX:d.lastX,lastY:d.lastY,x:p,y:f}}function c(d,p){const f=d.props.scale;return{node:p.node,x:d.state.x+p.deltaX/f,y:d.state.y+p.deltaY/f,deltaX:p.deltaX/f,deltaY:p.deltaY/f,lastX:d.state.x,lastY:d.state.y}}function l(d){return{left:d.left,top:d.top,right:d.right,bottom:d.bottom}}function u(d){const p=d.findDOMNode();if(!p)throw new Error("<DraggableCore>: Unmounted during event!");return p}return tt}var Qt={},xn={},Xa;function vo(){if(Xa)return xn;Xa=1,Object.defineProperty(xn,"__esModule",{value:!0}),xn.default=e;function e(){}return xn}var Za;function jl(){if(Za)return Qt;Za=1,Object.defineProperty(Qt,"__esModule",{value:!0}),Qt.default=void 0;var e=c(D),t=s(yo()),n=s(Wn),i=na(),a=bo(),r=qn(),o=s(vo());function s(y){return y&&y.__esModule?y:{default:y}}function c(y,b){if(typeof WeakMap=="function")var T=new WeakMap,P=new WeakMap;return(c=function(k,v){if(!v&&k&&k.__esModule)return k;var g,C,w={__proto__:null,default:k};if(k===null||typeof k!="object"&&typeof k!="function")return w;if(g=v?P:T){if(g.has(k))return g.get(k);g.set(k,w)}for(const S in k)S!=="default"&&{}.hasOwnProperty.call(k,S)&&((C=(g=Object.defineProperty)&&Object.getOwnPropertyDescriptor(k,S))&&(C.get||C.set)?g(w,S,C):w[S]=k[S]);return w})(y,b)}function l(y,b,T){return(b=u(b))in y?Object.defineProperty(y,b,{value:T,enumerable:!0,configurable:!0,writable:!0}):y[b]=T,y}function u(y){var b=d(y,"string");return typeof b=="symbol"?b:b+""}function d(y,b){if(typeof y!="object"||!y)return y;var T=y[Symbol.toPrimitive];if(T!==void 0){var P=T.call(y,b);if(typeof P!="object")return P;throw new TypeError("@@toPrimitive must return a primitive value.")}return(b==="string"?String:Number)(y)}const p={touch:{start:"touchstart",move:"touchmove",stop:"touchend"},mouse:{start:"mousedown",move:"mousemove",stop:"mouseup"}};let f=p.mouse,m=class extends e.Component{constructor(){super(...arguments),l(this,"dragging",!1),l(this,"lastX",NaN),l(this,"lastY",NaN),l(this,"touchIdentifier",null),l(this,"mounted",!1),l(this,"handleDragStart",b=>{if(this.props.onMouseDown(b),!this.props.allowAnyClick&&typeof b.button=="number"&&b.button!==0)return!1;const T=this.findDOMNode();if(!T||!T.ownerDocument||!T.ownerDocument.body)throw new Error("<DraggableCore> not mounted on DragStart!");const{ownerDocument:P}=T;if(this.props.disabled||!(b.target instanceof P.defaultView.Node)||this.props.handle&&!(0,i.matchesSelectorAndParentsTo)(b.target,this.props.handle,T)||this.props.cancel&&(0,i.matchesSelectorAndParentsTo)(b.target,this.props.cancel,T))return;b.type==="touchstart"&&!this.props.allowMobileScroll&&b.preventDefault();const k=(0,i.getTouchIdentifier)(b);this.touchIdentifier=k;const v=(0,a.getControlPosition)(b,k,this);if(v==null)return;const{x:g,y:C}=v,w=(0,a.createCoreData)(this,g,C);(0,o.default)("DraggableCore: handleDragStart: %j",w),(0,o.default)("calling",this.props.onStart),!(this.props.onStart(b,w)===!1||this.mounted===!1)&&(this.props.enableUserSelectHack&&(0,i.addUserSelectStyles)(P),this.dragging=!0,this.lastX=g,this.lastY=C,(0,i.addEvent)(P,f.move,this.handleDrag),(0,i.addEvent)(P,f.stop,this.handleDragStop))}),l(this,"handleDrag",b=>{const T=(0,a.getControlPosition)(b,this.touchIdentifier,this);if(T==null)return;let{x:P,y:k}=T;if(Array.isArray(this.props.grid)){let C=P-this.lastX,w=k-this.lastY;if([C,w]=(0,a.snapToGrid)(this.props.grid,C,w),!C&&!w)return;P=this.lastX+C,k=this.lastY+w}const v=(0,a.createCoreData)(this,P,k);if((0,o.default)("DraggableCore: handleDrag: %j",v),this.props.onDrag(b,v)===!1||this.mounted===!1){try{this.handleDragStop(new MouseEvent("mouseup"))}catch{const w=document.createEvent("MouseEvents");w.initMouseEvent("mouseup",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),this.handleDragStop(w)}return}this.lastX=P,this.lastY=k}),l(this,"handleDragStop",b=>{if(!this.dragging)return;const T=(0,a.getControlPosition)(b,this.touchIdentifier,this);if(T==null)return;let{x:P,y:k}=T;if(Array.isArray(this.props.grid)){let w=P-this.lastX||0,S=k-this.lastY||0;[w,S]=(0,a.snapToGrid)(this.props.grid,w,S),P=this.lastX+w,k=this.lastY+S}const v=(0,a.createCoreData)(this,P,k);if(this.props.onStop(b,v)===!1||this.mounted===!1)return!1;const C=this.findDOMNode();C&&this.props.enableUserSelectHack&&(0,i.scheduleRemoveUserSelectStyles)(C.ownerDocument),(0,o.default)("DraggableCore: handleDragStop: %j",v),this.dragging=!1,this.lastX=NaN,this.lastY=NaN,C&&((0,o.default)("DraggableCore: Removing handlers"),(0,i.removeEvent)(C.ownerDocument,f.move,this.handleDrag),(0,i.removeEvent)(C.ownerDocument,f.stop,this.handleDragStop))}),l(this,"onMouseDown",b=>(f=p.mouse,this.handleDragStart(b))),l(this,"onMouseUp",b=>(f=p.mouse,this.handleDragStop(b))),l(this,"onTouchStart",b=>(f=p.touch,this.handleDragStart(b))),l(this,"onTouchEnd",b=>(f=p.touch,this.handleDragStop(b)))}componentDidMount(){this.mounted=!0;const b=this.findDOMNode();b&&(0,i.addEvent)(b,p.touch.start,this.onTouchStart,{passive:!1})}componentWillUnmount(){this.mounted=!1;const b=this.findDOMNode();if(b){const{ownerDocument:T}=b;(0,i.removeEvent)(T,p.mouse.move,this.handleDrag),(0,i.removeEvent)(T,p.touch.move,this.handleDrag),(0,i.removeEvent)(T,p.mouse.stop,this.handleDragStop),(0,i.removeEvent)(T,p.touch.stop,this.handleDragStop),(0,i.removeEvent)(b,p.touch.start,this.onTouchStart,{passive:!1}),this.props.enableUserSelectHack&&(0,i.scheduleRemoveUserSelectStyles)(T)}}findDOMNode(){return this.props?.nodeRef?this.props?.nodeRef?.current:n.default.findDOMNode(this)}render(){return e.cloneElement(e.Children.only(this.props.children),{onMouseDown:this.onMouseDown,onMouseUp:this.onMouseUp,onTouchEnd:this.onTouchEnd})}};return Qt.default=m,l(m,"displayName","DraggableCore"),l(m,"propTypes",{allowAnyClick:t.default.bool,allowMobileScroll:t.default.bool,children:t.default.node.isRequired,disabled:t.default.bool,enableUserSelectHack:t.default.bool,offsetParent:function(y,b){if(y[b]&&y[b].nodeType!==1)throw new Error("Draggable's offsetParent must be a DOM Node.")},grid:t.default.arrayOf(t.default.number),handle:t.default.string,cancel:t.default.string,nodeRef:t.default.object,onStart:t.default.func,onDrag:t.default.func,onStop:t.default.func,onMouseDown:t.default.func,scale:t.default.number,className:r.dontSetMe,style:r.dontSetMe,transform:r.dontSetMe}),l(m,"defaultProps",{allowAnyClick:!1,allowMobileScroll:!1,disabled:!1,enableUserSelectHack:!0,onStart:function(){},onDrag:function(){},onStop:function(){},onMouseDown:function(){},scale:1}),Qt}var Qa;function Ul(){return Qa||(Qa=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"DraggableCore",{enumerable:!0,get:function(){return c.default}}),e.default=void 0;var t=d(D),n=u(yo()),i=u(Wn),a=Fl(),r=na(),o=bo(),s=qn(),c=u(jl()),l=u(vo());function u(T){return T&&T.__esModule?T:{default:T}}function d(T,P){if(typeof WeakMap=="function")var k=new WeakMap,v=new WeakMap;return(d=function(g,C){if(!C&&g&&g.__esModule)return g;var w,S,N={__proto__:null,default:g};if(g===null||typeof g!="object"&&typeof g!="function")return N;if(w=C?v:k){if(w.has(g))return w.get(g);w.set(g,N)}for(const L in g)L!=="default"&&{}.hasOwnProperty.call(g,L)&&((S=(w=Object.defineProperty)&&Object.getOwnPropertyDescriptor(g,L))&&(S.get||S.set)?w(N,L,S):N[L]=g[L]);return N})(T,P)}function p(){return p=Object.assign?Object.assign.bind():function(T){for(var P=1;P<arguments.length;P++){var k=arguments[P];for(var v in k)({}).hasOwnProperty.call(k,v)&&(T[v]=k[v])}return T},p.apply(null,arguments)}function f(T,P,k){return(P=m(P))in T?Object.defineProperty(T,P,{value:k,enumerable:!0,configurable:!0,writable:!0}):T[P]=k,T}function m(T){var P=y(T,"string");return typeof P=="symbol"?P:P+""}function y(T,P){if(typeof T!="object"||!T)return T;var k=T[Symbol.toPrimitive];if(k!==void 0){var v=k.call(T,P);if(typeof v!="object")return v;throw new TypeError("@@toPrimitive must return a primitive value.")}return(P==="string"?String:Number)(T)}class b extends t.Component{static getDerivedStateFromProps(P,k){let{position:v}=P,{prevPropsPosition:g}=k;return v&&(!g||v.x!==g.x||v.y!==g.y)?((0,l.default)("Draggable: getDerivedStateFromProps %j",{position:v,prevPropsPosition:g}),{x:v.x,y:v.y,prevPropsPosition:{...v}}):null}constructor(P){super(P),f(this,"onDragStart",(k,v)=>{if((0,l.default)("Draggable: onDragStart: %j",v),this.props.onStart(k,(0,o.createDraggableData)(this,v))===!1)return!1;this.setState({dragging:!0,dragged:!0})}),f(this,"onDrag",(k,v)=>{if(!this.state.dragging)return!1;(0,l.default)("Draggable: onDrag: %j",v);const g=(0,o.createDraggableData)(this,v),C={x:g.x,y:g.y,slackX:0,slackY:0};if(this.props.bounds){const{x:S,y:N}=C;C.x+=this.state.slackX,C.y+=this.state.slackY;const[L,z]=(0,o.getBoundPosition)(this,C.x,C.y);C.x=L,C.y=z,C.slackX=this.state.slackX+(S-C.x),C.slackY=this.state.slackY+(N-C.y),g.x=C.x,g.y=C.y,g.deltaX=C.x-this.state.x,g.deltaY=C.y-this.state.y}if(this.props.onDrag(k,g)===!1)return!1;this.setState(C)}),f(this,"onDragStop",(k,v)=>{if(!this.state.dragging||this.props.onStop(k,(0,o.createDraggableData)(this,v))===!1)return!1;(0,l.default)("Draggable: onDragStop: %j",v);const C={dragging:!1,slackX:0,slackY:0};if(!!this.props.position){const{x:S,y:N}=this.props.position;C.x=S,C.y=N}this.setState(C)}),this.state={dragging:!1,dragged:!1,x:P.position?P.position.x:P.defaultPosition.x,y:P.position?P.position.y:P.defaultPosition.y,prevPropsPosition:{...P.position},slackX:0,slackY:0,isElementSVG:!1},P.position&&!(P.onDrag||P.onStop)&&console.warn("A `position` was applied to this <Draggable>, without drag handlers. This will make this component effectively undraggable. Please attach `onDrag` or `onStop` handlers so you can adjust the `position` of this element.")}componentDidMount(){typeof window.SVGElement<"u"&&this.findDOMNode()instanceof window.SVGElement&&this.setState({isElementSVG:!0})}componentWillUnmount(){this.state.dragging&&this.setState({dragging:!1})}findDOMNode(){return this.props?.nodeRef?.current??i.default.findDOMNode(this)}render(){const{axis:P,bounds:k,children:v,defaultPosition:g,defaultClassName:C,defaultClassNameDragging:w,defaultClassNameDragged:S,position:N,positionOffset:L,scale:z,...j}=this.props;let G={},Y=null;const F=!!!N||this.state.dragging,Q=N||g,Z={x:(0,o.canDragX)(this)&&F?this.state.x:Q.x,y:(0,o.canDragY)(this)&&F?this.state.y:Q.y};this.state.isElementSVG?Y=(0,r.createSVGTransform)(Z,L):G=(0,r.createCSSTransform)(Z,L);const le=(0,a.clsx)(v.props.className||"",C,{[w]:this.state.dragging,[S]:this.state.dragged});return t.createElement(c.default,p({},j,{onStart:this.onDragStart,onDrag:this.onDrag,onStop:this.onDragStop}),t.cloneElement(t.Children.only(v),{className:le,style:{...v.props.style,...G},transform:Y}))}}e.default=b,f(b,"displayName","Draggable"),f(b,"propTypes",{...c.default.propTypes,axis:n.default.oneOf(["both","x","y","none"]),bounds:n.default.oneOfType([n.default.shape({left:n.default.number,right:n.default.number,top:n.default.number,bottom:n.default.number}),n.default.string,n.default.oneOf([!1])]),defaultClassName:n.default.string,defaultClassNameDragging:n.default.string,defaultClassNameDragged:n.default.string,defaultPosition:n.default.shape({x:n.default.number,y:n.default.number}),positionOffset:n.default.shape({x:n.default.oneOfType([n.default.number,n.default.string]),y:n.default.oneOfType([n.default.number,n.default.string])}),position:n.default.shape({x:n.default.number,y:n.default.number}),className:s.dontSetMe,style:s.dontSetMe,transform:s.dontSetMe}),f(b,"defaultProps",{...c.default.defaultProps,axis:"both",bounds:!1,defaultClassName:"react-draggable",defaultClassNameDragging:"react-draggable-dragging",defaultClassNameDragged:"react-draggable-dragged",defaultPosition:{x:0,y:0},scale:1})})(li)),li}var $a;function zl(){if($a)return Zt.exports;$a=1;const{default:e,DraggableCore:t}=Ul();return Zt.exports=e,Zt.exports.default=e,Zt.exports.DraggableCore=t,Zt.exports}var Yl=zl();const Hl=Al(Yl);const wo=(...e)=>e.filter((t,n,i)=>!!t&&t.trim()!==""&&i.indexOf(t)===n).join(" ").trim();const Wl=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();const ql=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,n,i)=>i?i.toUpperCase():n.toLowerCase());const er=e=>{const t=ql(e);return t.charAt(0).toUpperCase()+t.slice(1)};var Vl={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 _l=e=>{for(const t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};const Kl=D.forwardRef(({color:e="currentColor",size:t=24,strokeWidth:n=2,absoluteStrokeWidth:i,className:a="",children:r,iconNode:o,...s},c)=>D.createElement("svg",{ref:c,...Vl,width:t,height:t,stroke:e,strokeWidth:i?Number(n)*24/Number(t):n,className:wo("lucide",a),...!r&&!_l(s)&&{"aria-hidden":"true"},...s},[...o.map(([l,u])=>D.createElement(l,u)),...Array.isArray(r)?r:[r]]));const st=(e,t)=>{const n=D.forwardRef(({className:i,...a},r)=>D.createElement(Kl,{ref:r,iconNode:t,className:wo(`lucide-${Wl(er(e))}`,`lucide-${e}`,i),...a}));return n.displayName=er(e),n};const Jl=[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}]],Xl=st("bell",Jl);const Zl=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],tr=st("check",Zl);const Ql=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]],$l=st("circle-alert",Ql);const ec=[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]],tc=st("circle-check-big",ec);const nc=[["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"}]],ic=st("grip-vertical",nc);const ac=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"m21 3-7 7",key:"1l2asr"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M9 21H3v-6",key:"wtvkvv"}]],rc=st("maximize-2",ac);const oc=[["path",{d:"m14 10 7-7",key:"oa77jy"}],["path",{d:"M20 10h-6V4",key:"mjg0md"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M4 14h6v6",key:"rmj7iw"}]],sc=st("minimize-2",oc);const lc=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],xo=st("search",lc);const cc=[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]],uc=st("triangle-alert",cc);const dc=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],hc=st("x",dc),pc=({size:e=24,color:t="currentColor",className:n})=>h.jsxs("svg",{width:e,height:e,viewBox:"0 0 17.25 18.96",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:n,children:[h.jsx("polyline",{points:"8.5 18.26 8.5 11.78 8.5 7.18 8.5 .7",fill:"none",stroke:t,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.4"}),h.jsx("path",{d:"M16.54,12.13v1.34c0,2.11-1.71,3.83-3.83,3.83h-1.14",fill:"none",stroke:t,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.4"}),h.jsx("path",{d:"M11.57,1.98h1.14c2.11,0,3.83,1.71,3.83,3.83v.91",fill:"none",stroke:t,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.4"}),h.jsx("path",{d:"M.7,6.72v-.91c0-2.11,1.71-3.83,3.83-3.83h1.09",fill:"none",stroke:t,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.4"}),h.jsx("path",{d:"M5.62,17.29h-1.09c-2.11,0-3.83-1.71-3.83-3.83v-1.34",fill:"none",stroke:t,strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.4"})]}),mc="data:image/png;base64,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",Bt=({text:e,children:t})=>{const[n,i]=D.useState(!1);return h.jsxs("div",{className:"iccandle-simple-tooltip-wrapper",onMouseEnter:()=>i(!0),onMouseLeave:()=>i(!1),children:[h.jsx("span",{className:"iccandle-simple-tooltip-trigger",children:t}),n&&e&&h.jsx("div",{className:"iccandle-simple-tooltip-content",role:"tooltip",children:e})]})};function Po(e,t){return function(){return e.apply(t,arguments)}}const{toString:fc}=Object.prototype,{getPrototypeOf:ia}=Object,{iterator:Vn,toStringTag:So}=Symbol,_n=(e=>t=>{const n=fc.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),$e=e=>(e=e.toLowerCase(),t=>_n(t)===e),Kn=e=>t=>typeof t===e,{isArray:Vt}=Array,Ht=Kn("undefined");function ln(e){return e!==null&&!Ht(e)&&e.constructor!==null&&!Ht(e.constructor)&&Fe(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const To=$e("ArrayBuffer");function gc(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&To(e.buffer),t}const yc=Kn("string"),Fe=Kn("function"),ko=Kn("number"),cn=e=>e!==null&&typeof e=="object",bc=e=>e===!0||e===!1,An=e=>{if(_n(e)!=="object")return!1;const t=ia(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(So in e)&&!(Vn in e)},vc=e=>{if(!cn(e)||ln(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},wc=$e("Date"),xc=$e("File"),Pc=$e("Blob"),Sc=$e("FileList"),Tc=e=>cn(e)&&Fe(e.pipe),kc=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||Fe(e.append)&&((t=_n(e))==="formdata"||t==="object"&&Fe(e.toString)&&e.toString()==="[object FormData]"))},Cc=$e("URLSearchParams"),[Ac,Nc,Dc,Rc]=["ReadableStream","Request","Response","Headers"].map($e),Ec=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function un(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let i,a;if(typeof e!="object"&&(e=[e]),Vt(e))for(i=0,a=e.length;i<a;i++)t.call(null,e[i],i,e);else{if(ln(e))return;const r=n?Object.getOwnPropertyNames(e):Object.keys(e),o=r.length;let s;for(i=0;i<o;i++)s=r[i],t.call(null,e[s],s,e)}}function Co(e,t){if(ln(e))return null;t=t.toLowerCase();const n=Object.keys(e);let i=n.length,a;for(;i-- >0;)if(a=n[i],t===a.toLowerCase())return a;return null}const Et=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,Ao=e=>!Ht(e)&&e!==Et;function Di(){const{caseless:e,skipUndefined:t}=Ao(this)&&this||{},n={},i=(a,r)=>{if(r==="__proto__"||r==="constructor"||r==="prototype")return;const o=e&&Co(n,r)||r;An(n[o])&&An(a)?n[o]=Di(n[o],a):An(a)?n[o]=Di({},a):Vt(a)?n[o]=a.slice():(!t||!Ht(a))&&(n[o]=a)};for(let a=0,r=arguments.length;a<r;a++)arguments[a]&&un(arguments[a],i);return n}const Oc=(e,t,n,{allOwnKeys:i}={})=>(un(t,(a,r)=>{n&&Fe(a)?Object.defineProperty(e,r,{value:Po(a,n),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(e,r,{value:a,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:i}),e),Mc=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),Ic=(e,t,n,i)=>{e.prototype=Object.create(t.prototype,i),Object.defineProperty(e.prototype,"constructor",{value:e,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},Lc=(e,t,n,i)=>{let a,r,o;const s={};if(t=t||{},e==null)return t;do{for(a=Object.getOwnPropertyNames(e),r=a.length;r-- >0;)o=a[r],(!i||i(o,e,t))&&!s[o]&&(t[o]=e[o],s[o]=!0);e=n!==!1&&ia(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},Gc=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const i=e.indexOf(t,n);return i!==-1&&i===n},Fc=e=>{if(!e)return null;if(Vt(e))return e;let t=e.length;if(!ko(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},Bc=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&ia(Uint8Array)),jc=(e,t)=>{const i=(e&&e[Vn]).call(e);let a;for(;(a=i.next())&&!a.done;){const r=a.value;t.call(e,r[0],r[1])}},Uc=(e,t)=>{let n;const i=[];for(;(n=e.exec(t))!==null;)i.push(n);return i},zc=$e("HTMLFormElement"),Yc=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,i,a){return i.toUpperCase()+a}),nr=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),Hc=$e("RegExp"),No=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),i={};un(n,(a,r)=>{let o;(o=t(a,r,e))!==!1&&(i[r]=o||a)}),Object.defineProperties(e,i)},Wc=e=>{No(e,(t,n)=>{if(Fe(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const i=e[n];if(Fe(i)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},qc=(e,t)=>{const n={},i=a=>{a.forEach(r=>{n[r]=!0})};return Vt(e)?i(e):i(String(e).split(t)),n},Vc=()=>{},_c=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function Kc(e){return!!(e&&Fe(e.append)&&e[So]==="FormData"&&e[Vn])}const Jc=e=>{const t=new Array(10),n=(i,a)=>{if(cn(i)){if(t.indexOf(i)>=0)return;if(ln(i))return i;if(!("toJSON"in i)){t[a]=i;const r=Vt(i)?[]:{};return un(i,(o,s)=>{const c=n(o,a+1);!Ht(c)&&(r[s]=c)}),t[a]=void 0,r}}return i};return n(e,0)},Xc=$e("AsyncFunction"),Zc=e=>e&&(cn(e)||Fe(e))&&Fe(e.then)&&Fe(e.catch),Do=((e,t)=>e?setImmediate:t?((n,i)=>(Et.addEventListener("message",({source:a,data:r})=>{a===Et&&r===n&&i.length&&i.shift()()},!1),a=>{i.push(a),Et.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",Fe(Et.postMessage)),Qc=typeof queueMicrotask<"u"?queueMicrotask.bind(Et):typeof process<"u"&&process.nextTick||Do,$c=e=>e!=null&&Fe(e[Vn]),O={isArray:Vt,isArrayBuffer:To,isBuffer:ln,isFormData:kc,isArrayBufferView:gc,isString:yc,isNumber:ko,isBoolean:bc,isObject:cn,isPlainObject:An,isEmptyObject:vc,isReadableStream:Ac,isRequest:Nc,isResponse:Dc,isHeaders:Rc,isUndefined:Ht,isDate:wc,isFile:xc,isBlob:Pc,isRegExp:Hc,isFunction:Fe,isStream:Tc,isURLSearchParams:Cc,isTypedArray:Bc,isFileList:Sc,forEach:un,merge:Di,extend:Oc,trim:Ec,stripBOM:Mc,inherits:Ic,toFlatObject:Lc,kindOf:_n,kindOfTest:$e,endsWith:Gc,toArray:Fc,forEachEntry:jc,matchAll:Uc,isHTMLForm:zc,hasOwnProperty:nr,hasOwnProp:nr,reduceDescriptors:No,freezeMethods:Wc,toObjectSet:qc,toCamelCase:Yc,noop:Vc,toFiniteNumber:_c,findKey:Co,global:Et,isContextDefined:Ao,isSpecCompliantForm:Kc,toJSONObject:Jc,isAsyncFn:Xc,isThenable:Zc,setImmediate:Do,asap:Qc,isIterable:$c};let oe=class Ro extends Error{static from(t,n,i,a,r,o){const s=new Ro(t.message,n||t.code,i,a,r);return s.cause=t,s.name=t.name,o&&Object.assign(s,o),s}constructor(t,n,i,a,r){super(t),this.name="AxiosError",this.isAxiosError=!0,n&&(this.code=n),i&&(this.config=i),a&&(this.request=a),r&&(this.response=r,this.status=r.status)}toJSON(){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:O.toJSONObject(this.config),code:this.code,status:this.status}}};oe.ERR_BAD_OPTION_VALUE="ERR_BAD_OPTION_VALUE";oe.ERR_BAD_OPTION="ERR_BAD_OPTION";oe.ECONNABORTED="ECONNABORTED";oe.ETIMEDOUT="ETIMEDOUT";oe.ERR_NETWORK="ERR_NETWORK";oe.ERR_FR_TOO_MANY_REDIRECTS="ERR_FR_TOO_MANY_REDIRECTS";oe.ERR_DEPRECATED="ERR_DEPRECATED";oe.ERR_BAD_RESPONSE="ERR_BAD_RESPONSE";oe.ERR_BAD_REQUEST="ERR_BAD_REQUEST";oe.ERR_CANCELED="ERR_CANCELED";oe.ERR_NOT_SUPPORT="ERR_NOT_SUPPORT";oe.ERR_INVALID_URL="ERR_INVALID_URL";const eu=null;function Ri(e){return O.isPlainObject(e)||O.isArray(e)}function Eo(e){return O.endsWith(e,"[]")?e.slice(0,-2):e}function ir(e,t,n){return e?e.concat(t).map(function(a,r){return a=Eo(a),!n&&r?"["+a+"]":a}).join(n?".":""):t}function tu(e){return O.isArray(e)&&!e.some(Ri)}const nu=O.toFlatObject(O,{},null,function(t){return/^is[A-Z]/.test(t)});function Jn(e,t,n){if(!O.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=O.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(y,b){return!O.isUndefined(b[y])});const i=n.metaTokens,a=n.visitor||u,r=n.dots,o=n.indexes,c=(n.Blob||typeof Blob<"u"&&Blob)&&O.isSpecCompliantForm(t);if(!O.isFunction(a))throw new TypeError("visitor must be a function");function l(m){if(m===null)return"";if(O.isDate(m))return m.toISOString();if(O.isBoolean(m))return m.toString();if(!c&&O.isBlob(m))throw new oe("Blob is not supported. Use a Buffer instead.");return O.isArrayBuffer(m)||O.isTypedArray(m)?c&&typeof Blob=="function"?new Blob([m]):Buffer.from(m):m}function u(m,y,b){let T=m;if(m&&!b&&typeof m=="object"){if(O.endsWith(y,"{}"))y=i?y:y.slice(0,-2),m=JSON.stringify(m);else if(O.isArray(m)&&tu(m)||(O.isFileList(m)||O.endsWith(y,"[]"))&&(T=O.toArray(m)))return y=Eo(y),T.forEach(function(k,v){!(O.isUndefined(k)||k===null)&&t.append(o===!0?ir([y],v,r):o===null?y:y+"[]",l(k))}),!1}return Ri(m)?!0:(t.append(ir(b,y,r),l(m)),!1)}const d=[],p=Object.assign(nu,{defaultVisitor:u,convertValue:l,isVisitable:Ri});function f(m,y){if(!O.isUndefined(m)){if(d.indexOf(m)!==-1)throw Error("Circular reference detected in "+y.join("."));d.push(m),O.forEach(m,function(T,P){(!(O.isUndefined(T)||T===null)&&a.call(t,T,O.isString(P)?P.trim():P,y,p))===!0&&f(T,y?y.concat(P):[P])}),d.pop()}}if(!O.isObject(e))throw new TypeError("data must be an object");return f(e),t}function ar(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(i){return t[i]})}function aa(e,t){this._pairs=[],e&&Jn(e,this,t)}const Oo=aa.prototype;Oo.append=function(t,n){this._pairs.push([t,n])};Oo.toString=function(t){const n=t?function(i){return t.call(this,i,ar)}:ar;return this._pairs.map(function(a){return n(a[0])+"="+n(a[1])},"").join("&")};function iu(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function Mo(e,t,n){if(!t)return e;const i=n&&n.encode||iu,a=O.isFunction(n)?{serialize:n}:n,r=a&&a.serialize;let o;if(r?o=r(t,a):o=O.isURLSearchParams(t)?t.toString():new aa(t,a).toString(i),o){const s=e.indexOf("#");s!==-1&&(e=e.slice(0,s)),e+=(e.indexOf("?")===-1?"?":"&")+o}return e}class rr{constructor(){this.handlers=[]}use(t,n,i){return this.handlers.push({fulfilled:t,rejected:n,synchronous:i?i.synchronous:!1,runWhen:i?i.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){O.forEach(this.handlers,function(i){i!==null&&t(i)})}}const ra={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0},au=typeof URLSearchParams<"u"?URLSearchParams:aa,ru=typeof FormData<"u"?FormData:null,ou=typeof Blob<"u"?Blob:null,su={isBrowser:!0,classes:{URLSearchParams:au,FormData:ru,Blob:ou},protocols:["http","https","file","blob","url","data"]},oa=typeof window<"u"&&typeof document<"u",Ei=typeof navigator=="object"&&navigator||void 0,lu=oa&&(!Ei||["ReactNative","NativeScript","NS"].indexOf(Ei.product)<0),cu=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",uu=oa&&window.location.href||"http://localhost",du=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:oa,hasStandardBrowserEnv:lu,hasStandardBrowserWebWorkerEnv:cu,navigator:Ei,origin:uu},Symbol.toStringTag,{value:"Module"})),Re={...du,...su};function hu(e,t){return Jn(e,new Re.classes.URLSearchParams,{visitor:function(n,i,a,r){return Re.isNode&&O.isBuffer(n)?(this.append(i,n.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)},...t})}function pu(e){return O.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function mu(e){const t={},n=Object.keys(e);let i;const a=n.length;let r;for(i=0;i<a;i++)r=n[i],t[r]=e[r];return t}function Io(e){function t(n,i,a,r){let o=n[r++];if(o==="__proto__")return!0;const s=Number.isFinite(+o),c=r>=n.length;return o=!o&&O.isArray(a)?a.length:o,c?(O.hasOwnProp(a,o)?a[o]=[a[o],i]:a[o]=i,!s):((!a[o]||!O.isObject(a[o]))&&(a[o]=[]),t(n,i,a[o],r)&&O.isArray(a[o])&&(a[o]=mu(a[o])),!s)}if(O.isFormData(e)&&O.isFunction(e.entries)){const n={};return O.forEachEntry(e,(i,a)=>{t(pu(i),a,n,0)}),n}return null}function fu(e,t,n){if(O.isString(e))try{return(t||JSON.parse)(e),O.trim(e)}catch(i){if(i.name!=="SyntaxError")throw i}return(n||JSON.stringify)(e)}const dn={transitional:ra,adapter:["xhr","http","fetch"],transformRequest:[function(t,n){const i=n.getContentType()||"",a=i.indexOf("application/json")>-1,r=O.isObject(t);if(r&&O.isHTMLForm(t)&&(t=new FormData(t)),O.isFormData(t))return a?JSON.stringify(Io(t)):t;if(O.isArrayBuffer(t)||O.isBuffer(t)||O.isStream(t)||O.isFile(t)||O.isBlob(t)||O.isReadableStream(t))return t;if(O.isArrayBufferView(t))return t.buffer;if(O.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let s;if(r){if(i.indexOf("application/x-www-form-urlencoded")>-1)return hu(t,this.formSerializer).toString();if((s=O.isFileList(t))||i.indexOf("multipart/form-data")>-1){const c=this.env&&this.env.FormData;return Jn(s?{"files[]":t}:t,c&&new c,this.formSerializer)}}return r||a?(n.setContentType("application/json",!1),fu(t)):t}],transformResponse:[function(t){const n=this.transitional||dn.transitional,i=n&&n.forcedJSONParsing,a=this.responseType==="json";if(O.isResponse(t)||O.isReadableStream(t))return t;if(t&&O.isString(t)&&(i&&!this.responseType||a)){const o=!(n&&n.silentJSONParsing)&&a;try{return JSON.parse(t,this.parseReviver)}catch(s){if(o)throw s.name==="SyntaxError"?oe.from(s,oe.ERR_BAD_RESPONSE,this,null,this.response):s}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Re.classes.FormData,Blob:Re.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};O.forEach(["delete","get","head","post","put","patch"],e=>{dn.headers[e]={}});const gu=O.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"]),yu=e=>{const t={};let n,i,a;return e&&e.split(`
11
+ `).forEach(function(o){a=o.indexOf(":"),n=o.substring(0,a).trim().toLowerCase(),i=o.substring(a+1).trim(),!(!n||t[n]&&gu[n])&&(n==="set-cookie"?t[n]?t[n].push(i):t[n]=[i]:t[n]=t[n]?t[n]+", "+i:i)}),t},or=Symbol("internals");function $t(e){return e&&String(e).trim().toLowerCase()}function Nn(e){return e===!1||e==null?e:O.isArray(e)?e.map(Nn):String(e)}function bu(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let i;for(;i=n.exec(e);)t[i[1]]=i[2];return t}const vu=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function fi(e,t,n,i,a){if(O.isFunction(i))return i.call(this,t,n);if(a&&(t=n),!!O.isString(t)){if(O.isString(i))return t.indexOf(i)!==-1;if(O.isRegExp(i))return i.test(t)}}function wu(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,i)=>n.toUpperCase()+i)}function xu(e,t){const n=O.toCamelCase(" "+t);["get","set","has"].forEach(i=>{Object.defineProperty(e,i+n,{value:function(a,r,o){return this[i].call(this,t,a,r,o)},configurable:!0})})}let Be=class{constructor(t){t&&this.set(t)}set(t,n,i){const a=this;function r(s,c,l){const u=$t(c);if(!u)throw new Error("header name must be a non-empty string");const d=O.findKey(a,u);(!d||a[d]===void 0||l===!0||l===void 0&&a[d]!==!1)&&(a[d||c]=Nn(s))}const o=(s,c)=>O.forEach(s,(l,u)=>r(l,u,c));if(O.isPlainObject(t)||t instanceof this.constructor)o(t,n);else if(O.isString(t)&&(t=t.trim())&&!vu(t))o(yu(t),n);else if(O.isObject(t)&&O.isIterable(t)){let s={},c,l;for(const u of t){if(!O.isArray(u))throw TypeError("Object iterator must return a key-value pair");s[l=u[0]]=(c=s[l])?O.isArray(c)?[...c,u[1]]:[c,u[1]]:u[1]}o(s,n)}else t!=null&&r(n,t,i);return this}get(t,n){if(t=$t(t),t){const i=O.findKey(this,t);if(i){const a=this[i];if(!n)return a;if(n===!0)return bu(a);if(O.isFunction(n))return n.call(this,a,i);if(O.isRegExp(n))return n.exec(a);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=$t(t),t){const i=O.findKey(this,t);return!!(i&&this[i]!==void 0&&(!n||fi(this,this[i],i,n)))}return!1}delete(t,n){const i=this;let a=!1;function r(o){if(o=$t(o),o){const s=O.findKey(i,o);s&&(!n||fi(i,i[s],s,n))&&(delete i[s],a=!0)}}return O.isArray(t)?t.forEach(r):r(t),a}clear(t){const n=Object.keys(this);let i=n.length,a=!1;for(;i--;){const r=n[i];(!t||fi(this,this[r],r,t,!0))&&(delete this[r],a=!0)}return a}normalize(t){const n=this,i={};return O.forEach(this,(a,r)=>{const o=O.findKey(i,r);if(o){n[o]=Nn(a),delete n[r];return}const s=t?wu(r):String(r).trim();s!==r&&delete n[r],n[s]=Nn(a),i[s]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const n=Object.create(null);return O.forEach(this,(i,a)=>{i!=null&&i!==!1&&(n[a]=t&&O.isArray(i)?i.join(", "):i)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,n])=>t+": "+n).join(`
12
+ `)}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 i=new this(t);return n.forEach(a=>i.set(a)),i}static accessor(t){const i=(this[or]=this[or]={accessors:{}}).accessors,a=this.prototype;function r(o){const s=$t(o);i[s]||(xu(a,o),i[s]=!0)}return O.isArray(t)?t.forEach(r):r(t),this}};Be.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);O.reduceDescriptors(Be.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(i){this[n]=i}}});O.freezeMethods(Be);function gi(e,t){const n=this||dn,i=t||n,a=Be.from(i.headers);let r=i.data;return O.forEach(e,function(s){r=s.call(n,r,a.normalize(),t?t.status:void 0)}),a.normalize(),r}function Lo(e){return!!(e&&e.__CANCEL__)}let hn=class extends oe{constructor(t,n,i){super(t??"canceled",oe.ERR_CANCELED,n,i),this.name="CanceledError",this.__CANCEL__=!0}};function Go(e,t,n){const i=n.config.validateStatus;!n.status||!i||i(n.status)?e(n):t(new oe("Request failed with status code "+n.status,[oe.ERR_BAD_REQUEST,oe.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function Pu(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function Su(e,t){e=e||10;const n=new Array(e),i=new Array(e);let a=0,r=0,o;return t=t!==void 0?t:1e3,function(c){const l=Date.now(),u=i[r];o||(o=l),n[a]=c,i[a]=l;let d=r,p=0;for(;d!==a;)p+=n[d++],d=d%e;if(a=(a+1)%e,a===r&&(r=(r+1)%e),l-o<t)return;const f=u&&l-u;return f?Math.round(p*1e3/f):void 0}}function Tu(e,t){let n=0,i=1e3/t,a,r;const o=(l,u=Date.now())=>{n=u,a=null,r&&(clearTimeout(r),r=null),e(...l)};return[(...l)=>{const u=Date.now(),d=u-n;d>=i?o(l,u):(a=l,r||(r=setTimeout(()=>{r=null,o(a)},i-d)))},()=>a&&o(a)]}const Mn=(e,t,n=3)=>{let i=0;const a=Su(50,250);return Tu(r=>{const o=r.loaded,s=r.lengthComputable?r.total:void 0,c=o-i,l=a(c),u=o<=s;i=o;const d={loaded:o,total:s,progress:s?o/s:void 0,bytes:c,rate:l||void 0,estimated:l&&s&&u?(s-o)/l:void 0,event:r,lengthComputable:s!=null,[t?"download":"upload"]:!0};e(d)},n)},sr=(e,t)=>{const n=e!=null;return[i=>t[0]({lengthComputable:n,total:e,loaded:i}),t[1]]},lr=e=>(...t)=>O.asap(()=>e(...t)),ku=Re.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,Re.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(Re.origin),Re.navigator&&/(msie|trident)/i.test(Re.navigator.userAgent)):()=>!0,Cu=Re.hasStandardBrowserEnv?{write(e,t,n,i,a,r,o){if(typeof document>"u")return;const s=[`${e}=${encodeURIComponent(t)}`];O.isNumber(n)&&s.push(`expires=${new Date(n).toUTCString()}`),O.isString(i)&&s.push(`path=${i}`),O.isString(a)&&s.push(`domain=${a}`),r===!0&&s.push("secure"),O.isString(o)&&s.push(`SameSite=${o}`),document.cookie=s.join("; ")},read(e){if(typeof document>"u")return null;const t=document.cookie.match(new RegExp("(?:^|; )"+e+"=([^;]*)"));return t?decodeURIComponent(t[1]):null},remove(e){this.write(e,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}};function Au(e){return typeof e!="string"?!1:/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function Nu(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function Fo(e,t,n){let i=!Au(t);return e&&(i||n==!1)?Nu(e,t):t}const cr=e=>e instanceof Be?{...e}:e;function It(e,t){t=t||{};const n={};function i(l,u,d,p){return O.isPlainObject(l)&&O.isPlainObject(u)?O.merge.call({caseless:p},l,u):O.isPlainObject(u)?O.merge({},u):O.isArray(u)?u.slice():u}function a(l,u,d,p){if(O.isUndefined(u)){if(!O.isUndefined(l))return i(void 0,l,d,p)}else return i(l,u,d,p)}function r(l,u){if(!O.isUndefined(u))return i(void 0,u)}function o(l,u){if(O.isUndefined(u)){if(!O.isUndefined(l))return i(void 0,l)}else return i(void 0,u)}function s(l,u,d){if(d in t)return i(l,u);if(d in e)return i(void 0,l)}const c={url:r,method:r,data:r,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,responseEncoding:o,validateStatus:s,headers:(l,u,d)=>a(cr(l),cr(u),d,!0)};return O.forEach(Object.keys({...e,...t}),function(u){if(u==="__proto__"||u==="constructor"||u==="prototype")return;const d=O.hasOwnProp(c,u)?c[u]:a,p=d(e[u],t[u],u);O.isUndefined(p)&&d!==s||(n[u]=p)}),n}const Bo=e=>{const t=It({},e);let{data:n,withXSRFToken:i,xsrfHeaderName:a,xsrfCookieName:r,headers:o,auth:s}=t;if(t.headers=o=Be.from(o),t.url=Mo(Fo(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),s&&o.set("Authorization","Basic "+btoa((s.username||"")+":"+(s.password?unescape(encodeURIComponent(s.password)):""))),O.isFormData(n)){if(Re.hasStandardBrowserEnv||Re.hasStandardBrowserWebWorkerEnv)o.setContentType(void 0);else if(O.isFunction(n.getHeaders)){const c=n.getHeaders(),l=["content-type","content-length"];Object.entries(c).forEach(([u,d])=>{l.includes(u.toLowerCase())&&o.set(u,d)})}}if(Re.hasStandardBrowserEnv&&(i&&O.isFunction(i)&&(i=i(t)),i||i!==!1&&ku(t.url))){const c=a&&r&&Cu.read(r);c&&o.set(a,c)}return t},Du=typeof XMLHttpRequest<"u",Ru=Du&&function(e){return new Promise(function(n,i){const a=Bo(e);let r=a.data;const o=Be.from(a.headers).normalize();let{responseType:s,onUploadProgress:c,onDownloadProgress:l}=a,u,d,p,f,m;function y(){f&&f(),m&&m(),a.cancelToken&&a.cancelToken.unsubscribe(u),a.signal&&a.signal.removeEventListener("abort",u)}let b=new XMLHttpRequest;b.open(a.method.toUpperCase(),a.url,!0),b.timeout=a.timeout;function T(){if(!b)return;const k=Be.from("getAllResponseHeaders"in b&&b.getAllResponseHeaders()),g={data:!s||s==="text"||s==="json"?b.responseText:b.response,status:b.status,statusText:b.statusText,headers:k,config:e,request:b};Go(function(w){n(w),y()},function(w){i(w),y()},g),b=null}"onloadend"in b?b.onloadend=T:b.onreadystatechange=function(){!b||b.readyState!==4||b.status===0&&!(b.responseURL&&b.responseURL.indexOf("file:")===0)||setTimeout(T)},b.onabort=function(){b&&(i(new oe("Request aborted",oe.ECONNABORTED,e,b)),b=null)},b.onerror=function(v){const g=v&&v.message?v.message:"Network Error",C=new oe(g,oe.ERR_NETWORK,e,b);C.event=v||null,i(C),b=null},b.ontimeout=function(){let v=a.timeout?"timeout of "+a.timeout+"ms exceeded":"timeout exceeded";const g=a.transitional||ra;a.timeoutErrorMessage&&(v=a.timeoutErrorMessage),i(new oe(v,g.clarifyTimeoutError?oe.ETIMEDOUT:oe.ECONNABORTED,e,b)),b=null},r===void 0&&o.setContentType(null),"setRequestHeader"in b&&O.forEach(o.toJSON(),function(v,g){b.setRequestHeader(g,v)}),O.isUndefined(a.withCredentials)||(b.withCredentials=!!a.withCredentials),s&&s!=="json"&&(b.responseType=a.responseType),l&&([p,m]=Mn(l,!0),b.addEventListener("progress",p)),c&&b.upload&&([d,f]=Mn(c),b.upload.addEventListener("progress",d),b.upload.addEventListener("loadend",f)),(a.cancelToken||a.signal)&&(u=k=>{b&&(i(!k||k.type?new hn(null,e,b):k),b.abort(),b=null)},a.cancelToken&&a.cancelToken.subscribe(u),a.signal&&(a.signal.aborted?u():a.signal.addEventListener("abort",u)));const P=Pu(a.url);if(P&&Re.protocols.indexOf(P)===-1){i(new oe("Unsupported protocol "+P+":",oe.ERR_BAD_REQUEST,e));return}b.send(r||null)})},Eu=(e,t)=>{const{length:n}=e=e?e.filter(Boolean):[];if(t||n){let i=new AbortController,a;const r=function(l){if(!a){a=!0,s();const u=l instanceof Error?l:this.reason;i.abort(u instanceof oe?u:new hn(u instanceof Error?u.message:u))}};let o=t&&setTimeout(()=>{o=null,r(new oe(`timeout of ${t}ms exceeded`,oe.ETIMEDOUT))},t);const s=()=>{e&&(o&&clearTimeout(o),o=null,e.forEach(l=>{l.unsubscribe?l.unsubscribe(r):l.removeEventListener("abort",r)}),e=null)};e.forEach(l=>l.addEventListener("abort",r));const{signal:c}=i;return c.unsubscribe=()=>O.asap(s),c}},Ou=function*(e,t){let n=e.byteLength;if(n<t){yield e;return}let i=0,a;for(;i<n;)a=i+t,yield e.slice(i,a),i=a},Mu=async function*(e,t){for await(const n of Iu(e))yield*Ou(n,t)},Iu=async function*(e){if(e[Symbol.asyncIterator]){yield*e;return}const t=e.getReader();try{for(;;){const{done:n,value:i}=await t.read();if(n)break;yield i}}finally{await t.cancel()}},ur=(e,t,n,i)=>{const a=Mu(e,t);let r=0,o,s=c=>{o||(o=!0,i&&i(c))};return new ReadableStream({async pull(c){try{const{done:l,value:u}=await a.next();if(l){s(),c.close();return}let d=u.byteLength;if(n){let p=r+=d;n(p)}c.enqueue(new Uint8Array(u))}catch(l){throw s(l),l}},cancel(c){return s(c),a.return()}},{highWaterMark:2})},dr=64*1024,{isFunction:Pn}=O,Lu=(({Request:e,Response:t})=>({Request:e,Response:t}))(O.global),{ReadableStream:hr,TextEncoder:pr}=O.global,mr=(e,...t)=>{try{return!!e(...t)}catch{return!1}},Gu=e=>{e=O.merge.call({skipUndefined:!0},Lu,e);const{fetch:t,Request:n,Response:i}=e,a=t?Pn(t):typeof fetch=="function",r=Pn(n),o=Pn(i);if(!a)return!1;const s=a&&Pn(hr),c=a&&(typeof pr=="function"?(m=>y=>m.encode(y))(new pr):async m=>new Uint8Array(await new n(m).arrayBuffer())),l=r&&s&&mr(()=>{let m=!1;const y=new n(Re.origin,{body:new hr,method:"POST",get duplex(){return m=!0,"half"}}).headers.has("Content-Type");return m&&!y}),u=o&&s&&mr(()=>O.isReadableStream(new i("").body)),d={stream:u&&(m=>m.body)};a&&["text","arrayBuffer","blob","formData","stream"].forEach(m=>{!d[m]&&(d[m]=(y,b)=>{let T=y&&y[m];if(T)return T.call(y);throw new oe(`Response type '${m}' is not supported`,oe.ERR_NOT_SUPPORT,b)})});const p=async m=>{if(m==null)return 0;if(O.isBlob(m))return m.size;if(O.isSpecCompliantForm(m))return(await new n(Re.origin,{method:"POST",body:m}).arrayBuffer()).byteLength;if(O.isArrayBufferView(m)||O.isArrayBuffer(m))return m.byteLength;if(O.isURLSearchParams(m)&&(m=m+""),O.isString(m))return(await c(m)).byteLength},f=async(m,y)=>{const b=O.toFiniteNumber(m.getContentLength());return b??p(y)};return async m=>{let{url:y,method:b,data:T,signal:P,cancelToken:k,timeout:v,onDownloadProgress:g,onUploadProgress:C,responseType:w,headers:S,withCredentials:N="same-origin",fetchOptions:L}=Bo(m),z=t||fetch;w=w?(w+"").toLowerCase():"text";let j=Eu([P,k&&k.toAbortSignal()],v),G=null;const Y=j&&j.unsubscribe&&(()=>{j.unsubscribe()});let X;try{if(C&&l&&b!=="get"&&b!=="head"&&(X=await f(S,T))!==0){let A=new n(y,{method:"POST",body:T,duplex:"half"}),U;if(O.isFormData(T)&&(U=A.headers.get("content-type"))&&S.setContentType(U),A.body){const[V,q]=sr(X,Mn(lr(C)));T=ur(A.body,dr,V,q)}}O.isString(N)||(N=N?"include":"omit");const F=r&&"credentials"in n.prototype,Q={...L,signal:j,method:b.toUpperCase(),headers:S.normalize().toJSON(),body:T,duplex:"half",credentials:F?N:void 0};G=r&&new n(y,Q);let Z=await(r?z(G,L):z(y,Q));const le=u&&(w==="stream"||w==="response");if(u&&(g||le&&Y)){const A={};["status","statusText","headers"].forEach(ee=>{A[ee]=Z[ee]});const U=O.toFiniteNumber(Z.headers.get("content-length")),[V,q]=g&&sr(U,Mn(lr(g),!0))||[];Z=new i(ur(Z.body,dr,V,()=>{q&&q(),Y&&Y()}),A)}w=w||"text";let R=await d[O.findKey(d,w)||"text"](Z,m);return!le&&Y&&Y(),await new Promise((A,U)=>{Go(A,U,{data:R,headers:Be.from(Z.headers),status:Z.status,statusText:Z.statusText,config:m,request:G})})}catch(F){throw Y&&Y(),F&&F.name==="TypeError"&&/Load failed|fetch/i.test(F.message)?Object.assign(new oe("Network Error",oe.ERR_NETWORK,m,G,F&&F.response),{cause:F.cause||F}):oe.from(F,F&&F.code,m,G,F&&F.response)}}},Fu=new Map,jo=e=>{let t=e&&e.env||{};const{fetch:n,Request:i,Response:a}=t,r=[i,a,n];let o=r.length,s=o,c,l,u=Fu;for(;s--;)c=r[s],l=u.get(c),l===void 0&&u.set(c,l=s?new Map:Gu(t)),u=l;return l};jo();const sa={http:eu,xhr:Ru,fetch:{get:jo}};O.forEach(sa,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const fr=e=>`- ${e}`,Bu=e=>O.isFunction(e)||e===null||e===!1;function ju(e,t){e=O.isArray(e)?e:[e];const{length:n}=e;let i,a;const r={};for(let o=0;o<n;o++){i=e[o];let s;if(a=i,!Bu(i)&&(a=sa[(s=String(i)).toLowerCase()],a===void 0))throw new oe(`Unknown adapter '${s}'`);if(a&&(O.isFunction(a)||(a=a.get(t))))break;r[s||"#"+o]=a}if(!a){const o=Object.entries(r).map(([c,l])=>`adapter ${c} `+(l===!1?"is not supported by the environment":"is not available in the build"));let s=n?o.length>1?`since :
13
+ `+o.map(fr).join(`
14
+ `):" "+fr(o[0]):"as no adapter specified";throw new oe("There is no suitable adapter to dispatch the request "+s,"ERR_NOT_SUPPORT")}return a}const Uo={getAdapter:ju,adapters:sa};function yi(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new hn(null,e)}function gr(e){return yi(e),e.headers=Be.from(e.headers),e.data=gi.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),Uo.getAdapter(e.adapter||dn.adapter,e)(e).then(function(i){return yi(e),i.data=gi.call(e,e.transformResponse,i),i.headers=Be.from(i.headers),i},function(i){return Lo(i)||(yi(e),i&&i.response&&(i.response.data=gi.call(e,e.transformResponse,i.response),i.response.headers=Be.from(i.response.headers))),Promise.reject(i)})}const zo="1.13.5",Xn={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{Xn[e]=function(i){return typeof i===e||"a"+(t<1?"n ":" ")+e}});const yr={};Xn.transitional=function(t,n,i){function a(r,o){return"[Axios v"+zo+"] Transitional option '"+r+"'"+o+(i?". "+i:"")}return(r,o,s)=>{if(t===!1)throw new oe(a(o," has been removed"+(n?" in "+n:"")),oe.ERR_DEPRECATED);return n&&!yr[o]&&(yr[o]=!0,console.warn(a(o," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(r,o,s):!0}};Xn.spelling=function(t){return(n,i)=>(console.warn(`${i} is likely a misspelling of ${t}`),!0)};function Uu(e,t,n){if(typeof e!="object")throw new oe("options must be an object",oe.ERR_BAD_OPTION_VALUE);const i=Object.keys(e);let a=i.length;for(;a-- >0;){const r=i[a],o=t[r];if(o){const s=e[r],c=s===void 0||o(s,r,e);if(c!==!0)throw new oe("option "+r+" must be "+c,oe.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new oe("Unknown option "+r,oe.ERR_BAD_OPTION)}}const Dn={assertOptions:Uu,validators:Xn},qe=Dn.validators;let Mt=class{constructor(t){this.defaults=t||{},this.interceptors={request:new rr,response:new rr}}async request(t,n){try{return await this._request(t,n)}catch(i){if(i instanceof Error){let a={};Error.captureStackTrace?Error.captureStackTrace(a):a=new Error;const r=a.stack?a.stack.replace(/^.+\n/,""):"";try{i.stack?r&&!String(i.stack).endsWith(r.replace(/^.+\n.+\n/,""))&&(i.stack+=`
15
+ `+r):i.stack=r}catch{}}throw i}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=It(this.defaults,n);const{transitional:i,paramsSerializer:a,headers:r}=n;i!==void 0&&Dn.assertOptions(i,{silentJSONParsing:qe.transitional(qe.boolean),forcedJSONParsing:qe.transitional(qe.boolean),clarifyTimeoutError:qe.transitional(qe.boolean),legacyInterceptorReqResOrdering:qe.transitional(qe.boolean)},!1),a!=null&&(O.isFunction(a)?n.paramsSerializer={serialize:a}:Dn.assertOptions(a,{encode:qe.function,serialize:qe.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),Dn.assertOptions(n,{baseUrl:qe.spelling("baseURL"),withXsrfToken:qe.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let o=r&&O.merge(r.common,r[n.method]);r&&O.forEach(["delete","get","head","post","put","patch","common"],m=>{delete r[m]}),n.headers=Be.concat(o,r);const s=[];let c=!0;this.interceptors.request.forEach(function(y){if(typeof y.runWhen=="function"&&y.runWhen(n)===!1)return;c=c&&y.synchronous;const b=n.transitional||ra;b&&b.legacyInterceptorReqResOrdering?s.unshift(y.fulfilled,y.rejected):s.push(y.fulfilled,y.rejected)});const l=[];this.interceptors.response.forEach(function(y){l.push(y.fulfilled,y.rejected)});let u,d=0,p;if(!c){const m=[gr.bind(this),void 0];for(m.unshift(...s),m.push(...l),p=m.length,u=Promise.resolve(n);d<p;)u=u.then(m[d++],m[d++]);return u}p=s.length;let f=n;for(;d<p;){const m=s[d++],y=s[d++];try{f=m(f)}catch(b){y.call(this,b);break}}try{u=gr.call(this,f)}catch(m){return Promise.reject(m)}for(d=0,p=l.length;d<p;)u=u.then(l[d++],l[d++]);return u}getUri(t){t=It(this.defaults,t);const n=Fo(t.baseURL,t.url,t.allowAbsoluteUrls);return Mo(n,t.params,t.paramsSerializer)}};O.forEach(["delete","get","head","options"],function(t){Mt.prototype[t]=function(n,i){return this.request(It(i||{},{method:t,url:n,data:(i||{}).data}))}});O.forEach(["post","put","patch"],function(t){function n(i){return function(r,o,s){return this.request(It(s||{},{method:t,headers:i?{"Content-Type":"multipart/form-data"}:{},url:r,data:o}))}}Mt.prototype[t]=n(),Mt.prototype[t+"Form"]=n(!0)});let zu=class Yo{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let n;this.promise=new Promise(function(r){n=r});const i=this;this.promise.then(a=>{if(!i._listeners)return;let r=i._listeners.length;for(;r-- >0;)i._listeners[r](a);i._listeners=null}),this.promise.then=a=>{let r;const o=new Promise(s=>{i.subscribe(s),r=s}).then(a);return o.cancel=function(){i.unsubscribe(r)},o},t(function(r,o,s){i.reason||(i.reason=new hn(r,o,s),n(i.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=i=>{t.abort(i)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new Yo(function(a){t=a}),cancel:t}}};function Yu(e){return function(n){return e.apply(null,n)}}function Hu(e){return O.isObject(e)&&e.isAxiosError===!0}const Oi={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(Oi).forEach(([e,t])=>{Oi[t]=e});function Ho(e){const t=new Mt(e),n=Po(Mt.prototype.request,t);return O.extend(n,Mt.prototype,t,{allOwnKeys:!0}),O.extend(n,t,null,{allOwnKeys:!0}),n.create=function(a){return Ho(It(e,a))},n}const Pe=Ho(dn);Pe.Axios=Mt;Pe.CanceledError=hn;Pe.CancelToken=zu;Pe.isCancel=Lo;Pe.VERSION=zo;Pe.toFormData=Jn;Pe.AxiosError=oe;Pe.Cancel=Pe.CanceledError;Pe.all=function(t){return Promise.all(t)};Pe.spread=Yu;Pe.isAxiosError=Hu;Pe.mergeConfig=It;Pe.AxiosHeaders=Be;Pe.formToJSON=e=>Io(O.isHTMLForm(e)?new FormData(e):e);Pe.getAdapter=Uo.getAdapter;Pe.HttpStatusCode=Oi;Pe.default=Pe;const{Axios:Zv,AxiosError:Qv,CanceledError:$v,isCancel:ew,CancelToken:tw,VERSION:nw,all:iw,Cancel:aw,isAxiosError:Wu,spread:rw,toFormData:ow,AxiosHeaders:sw,HttpStatusCode:lw,formToJSON:cw,getAdapter:uw,mergeConfig:dw}=Pe,br="An unknown error occurred",Zn="http://localhost:3000",la="tv:clicked-news-event",Mi="tv:selected-news-events",Pt=100,qu=100,Wo=e=>e==="1"?120:e==="5"?480:e==="1D"?20*3600:parseInt(e,10)*60,Xe=e=>e==="1"?60:e==="5"?300:e==="1D"?1440*3600:parseInt(e,10)*60;function Vu(e){if(typeof document>"u")return;let t=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css",t.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}Array(12).fill(0);let Ii=1;class _u{constructor(){this.subscribe=t=>(this.subscribers.push(t),()=>{const n=this.subscribers.indexOf(t);this.subscribers.splice(n,1)}),this.publish=t=>{this.subscribers.forEach(n=>n(t))},this.addToast=t=>{this.publish(t),this.toasts=[...this.toasts,t]},this.create=t=>{var n;const{message:i,...a}=t,r=typeof t?.id=="number"||((n=t.id)==null?void 0:n.length)>0?t.id:Ii++,o=this.toasts.find(c=>c.id===r),s=t.dismissible===void 0?!0:t.dismissible;return this.dismissedToasts.has(r)&&this.dismissedToasts.delete(r),o?this.toasts=this.toasts.map(c=>c.id===r?(this.publish({...c,...t,id:r,title:i}),{...c,...t,id:r,dismissible:s,title:i}):c):this.addToast({title:i,...a,dismissible:s,id:r}),r},this.dismiss=t=>(t?(this.dismissedToasts.add(t),requestAnimationFrame(()=>this.subscribers.forEach(n=>n({id:t,dismiss:!0})))):this.toasts.forEach(n=>{this.subscribers.forEach(i=>i({id:n.id,dismiss:!0}))}),t),this.message=(t,n)=>this.create({...n,message:t}),this.error=(t,n)=>this.create({...n,message:t,type:"error"}),this.success=(t,n)=>this.create({...n,type:"success",message:t}),this.info=(t,n)=>this.create({...n,type:"info",message:t}),this.warning=(t,n)=>this.create({...n,type:"warning",message:t}),this.loading=(t,n)=>this.create({...n,type:"loading",message:t}),this.promise=(t,n)=>{if(!n)return;let i;n.loading!==void 0&&(i=this.create({...n,promise:t,type:"loading",message:n.loading,description:typeof n.description!="function"?n.description:void 0}));const a=Promise.resolve(t instanceof Function?t():t);let r=i!==void 0,o;const s=a.then(async l=>{if(o=["resolve",l],D.isValidElement(l))r=!1,this.create({id:i,type:"default",message:l});else if(Ju(l)&&!l.ok){r=!1;const d=typeof n.error=="function"?await n.error(`HTTP error! status: ${l.status}`):n.error,p=typeof n.description=="function"?await n.description(`HTTP error! status: ${l.status}`):n.description,m=typeof d=="object"&&!D.isValidElement(d)?d:{message:d};this.create({id:i,type:"error",description:p,...m})}else if(l instanceof Error){r=!1;const d=typeof n.error=="function"?await n.error(l):n.error,p=typeof n.description=="function"?await n.description(l):n.description,m=typeof d=="object"&&!D.isValidElement(d)?d:{message:d};this.create({id:i,type:"error",description:p,...m})}else if(n.success!==void 0){r=!1;const d=typeof n.success=="function"?await n.success(l):n.success,p=typeof n.description=="function"?await n.description(l):n.description,m=typeof d=="object"&&!D.isValidElement(d)?d:{message:d};this.create({id:i,type:"success",description:p,...m})}}).catch(async l=>{if(o=["reject",l],n.error!==void 0){r=!1;const u=typeof n.error=="function"?await n.error(l):n.error,d=typeof n.description=="function"?await n.description(l):n.description,f=typeof u=="object"&&!D.isValidElement(u)?u:{message:u};this.create({id:i,type:"error",description:d,...f})}}).finally(()=>{r&&(this.dismiss(i),i=void 0),n.finally==null||n.finally.call(n)}),c=()=>new Promise((l,u)=>s.then(()=>o[0]==="reject"?u(o[1]):l(o[1])).catch(u));return typeof i!="string"&&typeof i!="number"?{unwrap:c}:Object.assign(i,{unwrap:c})},this.custom=(t,n)=>{const i=n?.id||Ii++;return this.create({jsx:t(i),id:i,...n}),i},this.getActiveToasts=()=>this.toasts.filter(t=>!this.dismissedToasts.has(t.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}}const Ve=new _u,Ku=(e,t)=>{const n=t?.id||Ii++;return Ve.addToast({title:e,...t,id:n}),n},Ju=e=>e&&typeof e=="object"&&"ok"in e&&typeof e.ok=="boolean"&&"status"in e&&typeof e.status=="number",Xu=Ku,Zu=()=>Ve.toasts,Qu=()=>Ve.getActiveToasts(),bi=Object.assign(Xu,{success:Ve.success,info:Ve.info,warning:Ve.warning,error:Ve.error,custom:Ve.custom,message:Ve.message,promise:Ve.promise,dismiss:Ve.dismiss,loading:Ve.loading},{getHistory:Zu,getToasts:Qu});Vu("[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:hsl(0, 0%, 12%);--normal-border:hsl(0, 0%, 20%);--normal-border-hover:hsl(0, 0%, 25%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}");const $u={info:{icon:Xl},warning:{icon:uc},success:{icon:tc},error:{icon:$l}},Li=({title:e,description:t,action:n,dismiss:i={label:"Dismiss"},variant:a="info"})=>{const o=$u[a].icon;return bi.custom(s=>h.jsxs("div",{className:"custom-toast",role:"alert",children:[h.jsx("div",{className:"custom-toast__icon-wrap",children:h.jsx(o,{className:"custom-toast__icon"})}),h.jsxs("div",{className:"custom-toast__content",children:[h.jsx("div",{className:"custom-toast__header",children:h.jsx("p",{className:"custom-toast__title",children:e})}),t&&h.jsx("p",{className:"custom-toast__description",children:t}),(n||i)&&h.jsxs("div",{className:"custom-toast__actions",children:[n&&h.jsx("button",{onClick:()=>{n.onClick(),bi.dismiss(s)},className:"custom-toast__button custom-toast__button--action",children:n.label}),i&&h.jsx("button",{onClick:()=>{i.onClick?.(),bi.dismiss(s)},className:"custom-toast__button custom-toast__button--dismiss",children:i.label})]})]})]}),{duration:5e3,position:"top-right"})},qo=({size:e=24,color:t="currentColor",className:n})=>h.jsxs("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:n,children:[h.jsx("path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z",stroke:t,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),h.jsx("path",{d:"M12 9v4",stroke:t,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),h.jsx("path",{d:"M12 17h.01",stroke:t,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),ed=({size:e=24,color:t="currentColor",className:n})=>h.jsxs("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:n,children:[h.jsx("path",{d:"M10.268 21a2 2 0 0 0 3.464 0",stroke:t,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),h.jsx("path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",stroke:t,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),Vo=({size:e=24,color:t="currentColor",className:n})=>h.jsxs("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:n,children:[h.jsx("path",{d:"M18 6 6 18",stroke:t,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),h.jsx("path",{d:"m6 6 12 12",stroke:t,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}),td=({size:e=24,color:t="currentColor",stroke:n="currentColor",className:i})=>h.jsxs("svg",{width:e,height:e,viewBox:"0 0 21.38 21.11",fill:n,xmlns:"http://www.w3.org/2000/svg",className:i,children:[h.jsxs("g",{children:[h.jsx("path",{className:"pattern-tracker-icon-2",d:"M4.97,15.12c-.4,0-.73-.33-.73-.73v-6.02c0-.4.33-.73.73-.73s.73.33.73.73v6.02c0,.4-.33.73-.73.73Z",fill:t}),h.jsx("path",{className:"pattern-tracker-icon-2",d:"M7.79,16.95c-.4,0-.73-.33-.73-.73V5.22c0-.4.33-.73.73-.73s.73.33.73.73v11c0,.4-.33.73-.73.73Z",fill:t}),h.jsx("path",{className:"pattern-tracker-icon-2",d:"M10.62,13.88c-.4,0-.73-.33-.73-.73v-5.23c0-.4.33-.73.73-.73s.73.33.73.73v5.23c0,.4-.33.73-.73.73Z",fill:t}),h.jsx("path",{className:"pattern-tracker-icon-2",d:"M13.44,17.22c-.4,0-.73-.33-.73-.73v-7.54c0-.4.33-.73.73-.73s.73.33.73.73v7.54c0,.4-.33.73-.73.73Z",fill:t}),h.jsx("path",{className:"pattern-tracker-icon-2",d:"M16.26,15.12c-.4,0-.73-.33-.73-.73V6.25c0-.4.33-.73.73-.73s.73.33.73.73v8.14c0,.4-.33.73-.73.73Z",fill:t}),h.jsx("path",{className:"pattern-tracker-icon-1",d:"M20.65,11.66h-2.48c-.4,0-.73-.33-.73-.73s.33-.73.73-.73h2.48c.4,0,.73.33.73.73s-.33.73-.73.73Z"}),h.jsx("path",{className:"pattern-tracker-icon-1",d:"M3.21,11.66H.73c-.4,0-.73-.33-.73-.73s.33-.73.73-.73h2.48c.4,0,.73.33.73.73s-.33.73-.73.73Z"}),h.jsx("path",{className:"pattern-tracker-icon-1",d:"M10.69,21.11c-.4,0-.73-.33-.73-.73v-2.48c0-.4.33-.73.73-.73s.73.33.73.73v2.48c0,.4-.33.73-.73.73Z"}),h.jsx("path",{className:"pattern-tracker-icon-1",d:"M10.69,3.93c-.4,0-.73-.33-.73-.73V.73c0-.4.33-.73.73-.73s.73.33.73.73v2.48c0,.4-.33.73-.73.73Z"})]}),h.jsx("path",{className:"pattern-tracker-icon-1",d:"M15.15,20.03H6.08c-2.65,0-4.8-2.15-4.8-4.8V6.16C1.27,3.51,3.43,1.35,6.08,1.35h9.07c2.65,0,4.8,2.15,4.8,4.8v9.07c0,2.65-2.16,4.8-4.8,4.8ZM6.08,2.74c-1.88,0-3.42,1.53-3.42,3.42v9.07c0,1.88,1.53,3.42,3.42,3.42h9.07c1.88,0,3.42-1.53,3.42-3.42V6.16c0-1.88-1.53-3.42-3.42-3.42H6.08Z"})]}),nd=["en","zh","vi","th","ko","ja","mn","ru"],Gi="en";function _o(e){return e&&nd.includes(e)?e:Gi}const id={or:"OR",error:"Error",cancel:"Cancel",continuing:"Continuing...",email:"Email",password:"Password",termsOfService:"Terms of Service",privacyPolicy:"Privacy Policy",continueWithGoogle:"Continue with Google",continuingWithGoogle:"Continuing with Google...",signIn:"Sign in",signUp:"Sign up",agreeAndContinue:"Agree & continue",changePlan:"Change Plan",upgradePlan:"Upgrade Plan +",manageBilling:"Manage Billing",getInTouch:"Get in touch",copyright:"© {year} IC Candle, Inc. All rights reserved.",session:"Session",sessions:"Sessions",activeWorkspaces:"Active workspaces",date:"Date",product:"Product",plan:"Plan",planNames:{free:"Free Plan",standard:"Standard Plan",pro:"Pro Plan",expert:"Expert Plan"},status:"Status",amount:"Amount",detail:"Detail",total:"Total",prioritySupport:"Priority support",all:"All",minutely:"Minutely",hourly:"Hourly",daily:"Daily",chatAssistant:"Chat assistant",timeframes:"Timeframes",symbols:"Symbols",timeSettings:"Time Settings",step:"Step {number}:",learnMore:"Learn more",success:"Success",validationError:"Validation Error",previous:"Previous",next:"Next",saving:"Saving...",save:"Save",saveChanges:"Save Changes",nextStep:"Next Step",columnTimeframe:"TIMEFRAME",columnSymbol:"SYMBOL",columnDescription:"DESCRIPTION",symbol:"Symbol",timeframe:"Timeframe",candles:"Candles",up:"Up",down:"Down",play:"Play",close:"Close",simulate:"Simulate",actual:"Actual",forecast:"Forecast",interestRate:"Interest Rate",soon:"Soon",back:"Back",similarity:"Similarity",nextCandles:"Next {count}",nextCandlesFull:"Next {count} candles",probabilityOutcome:"Probability Outcome:",estimatedProbability:"estimated probability:",riskDisclaimer:"Financial markets involve a high level of risk and may result in the loss of capital. iC Candle provides information for educational purposes only and does not offer financial advice. Past performance does not guarantee future results.",rangeTooFarToRender:"Range too far to render.",marketSessions:"Market sessions",askTradingQuestion:"Ask a trading question",mrCandleThinking:"Mr. Candle is thinking...",simulateBullishPriceAction:"Simulate Bullish Price Action",simulateBearishPriceAction:"Simulate Bearish Price Action",dismiss:"Dismiss",loadingMore:"Loading more",savedPatternDeleted:"Saved Pattern Deleted"},ad={confirm:"Confirm",deletePatternTitle:"Delete Pattern",deletePatternDescription:"Are you sure you want to delete this pattern?",deleteAllNotificationsTitle:"Delete all notifications",deleteAllNotificationsDescription:"Are you sure you want to delete all notifications?",disableSignalsTitle:"Disable Signals",disableSignalsDescription:"Are you sure you want to disable signals?",disableSignalsForDescription:"Are you sure you want to disable signals for {patternTitle}?",togglePatternModeTitle:"Toggle Pattern Mode",togglePatternModeDisableDescription:"Are you sure you want to disable this pattern?",togglePatternModeEnableDescription:"Are you sure you want to enable this pattern?",closeFeatureDescription:"Are you sure you want to close this feature?"},rd={today:"Today",yesterday:"Yesterday",day:"{count, plural, one {# day} other {# days}}",hour:"{count, plural, one {# hour} other {# hours}}",minute:"{count, plural, one {# minute} other {# minutes}}",zeroMinutes:"0 minutes",dayShort:"day",hourShort:"hr",minuteShort:"min",zeroMin:"0min",justNow:"Just now",minutesAgo:"{count, plural, one {# minute ago} other {# minutes ago}}",hoursAgo:"{count, plural, one {# hour ago} other {# hours ago}}",daysAgo:"{count, plural, one {# day ago} other {# days ago}}",monthsAgo:"{count, plural, one {# month ago} other {# months ago}}",yearsAgo:"{count, plural, one {# year ago} other {# years ago}}"},od={classicPatternTracker:"Classic Pattern Tracker",trackedPatternReminder:"Tracked Pattern Reminder",classicPattern:"Classic Pattern",trackedPattern:"Tracked Pattern",enableClassicNotifications:"Turn on real‑time notifications for classic price formations",waitingForPatternSignals:"Waiting for pattern signals",noPatternsDetected:"No patterns detected right now",signalsActiveDescription:"Your signals are active. We'll notify you as soon as matching patterns are found",noCustomPatternDetected:"No {patternName} detected right now",trackMorePatternsByScan:"Track more patterns by going to scan",seeMore:"See more"},sd={title:"Time Settings",description:"Choose the local time window when pattern alerts can trigger.",startTime:"Start time",endTime:"End time",session:"Session",timezone:"Timezone",yourTimezone:"Your timezone",selectSession:"Select session",searchSession:"Search session...",noSessionFound:"No session found.",sessionsHeading:"Sessions",selectTimezone:"Select Timezone",selectTimezoneHint:"Search and choose the timezone for this alert.",searchTimezone:"Search timezone...",noTimezoneFound:"No timezone found.",timezonesHeading:"Timezones",allTime:"All time",customize:"Customize",newYorkSession:"New York Session",londonSession:"London Session",tokyoSession:"Tokyo Session",sydneySession:"Sydney Session"},ld={newsScan:{analyzing:"Analyzing the current news event...",searching:"Searching for historically similar news releases...",ranking:"Ranking the most relevant similar news...",preparingReplay:"Preparing similar news for replay...",ready:"Similar news events are ready for impact analysis."},newsAi:{replaying:"Replaying historical price actions...",startingSimulation:"Starting impact simulation model...",calculatingScenarios:"Calculating upward and downward scenarios...",complete:"Simulation complete."},selectorScan:{scanning:"Scanning 20+ years of market history...",finding:"Finding structurally similar patterns...",linking:"Linking market behavior with underlying drivers...",preparing:"Preparing structured historical datasets...",ready:"Patterns ready for replay and outcome analysis."},selectorAi:{replaying:"Replaying historical pattern behavior...",learning:"Learning impact patterns from past movements...",calculating:"Calculating price action dynamics...",initializing:"Initializing simulation model...",complete:"Simulation complete."}},cd={Layout:{tagline:"Designed for Traders Who Value Insight Over Noise"},Legal:{termsAndPrivacy:"Terms & Privacy",googleTermsDescription:"By continuing with Google, you agree to our <terms></terms> and <privacy></privacy>.",legalAgreement:"I agree to the <terms></terms> and <privacy></privacy>.",pleaseAgreeToContinue:"Please agree to continue",pleaseAgreeDescription:"You must agree to the Terms of Service and Privacy Policy to continue with Google."},SignIn:{dontHaveAccount:"Don't have an account?",googleVerifyingAuthorization:"Google is verifying authorization...",invalidCredentials:"Invalid credentials",invalidEmail:"Invalid email address",emailRequired:"Email is required",passwordRequired:"Password is required",pleaseCheckInfo:"Please check your information again",emailPlaceholder:"Enter your personal or work email",change:"Change",forgotPassword:"Forgot password",continueWithEmail:"Continue with email"},SignUp:{repeatPassword:"Repeat password",termsAgreement:"By continuing, you agree to our <terms></terms> and <privacy></privacy>",continueWithEmail:"Continue with email",alreadyHaveAccount:"Already have an account?",signUpError:"An error occurred during sign-up."},PasswordRecovery:{title:"Password recovery",emailRequired:"Email is required!",emailPlaceholder:"your@example.com",sendConfirmationCode:"Send confirmation code",somethingWrong:"Something wrong",pleaseWaitAndRetry:"Please wait and try again",confirmationCodeSent:"Confirmation code sent",checkYourEmail:"Please check your email"},ResetPassword:{title:"Reset password",confirmationCode:"Confirmation code",confirmationCodeRequired:"Confirmation code is required.",newPassword:"New password",repeatNewPassword:"Repeat new password",passwordMinLength:"Password must be at least 8 characters.",repeatPasswordMinLength:"Repeat password must be at least 8 characters.",passwordsMustMatch:"Passwords must match.",pleaseStartAgain:"Please start again",resetSuccess:"Reset success",useNewPassword:"Please use your new password",passwordNotConfirmed:"Password not confirmed!"},Confirm:{title:"Confirm your account",codeSentTo:"Confirmation code is sent to:",otpDescription:"Please enter the one-time password sent to your email.",otpLength:"OTP must be 6 characters.",turnstileError:"Some error occurred in turnstile",confirmError:"An error occurred during confirm: {message}",confirm:"Confirm"}},ud={features:{title:"Features",patternSelector:{title:"Pattern Selector",subtitle:"Analyzes your idea against historical market data to find similar price patterns and outcomes."},patternTracker:{title:"Pattern Tracker",subtitle:"Continuously scans the market in the background and alerts you when a matching pattern appears."},newsImpact:{title:"News Impact",subtitle:"Shows how past news releases impacted price movement so you can see how markets reacted before."}},resources:{title:"Resources",learnAndUse:{title:"Learn & Use",subtitle:"Learn analytics concepts and how to use the platform effectively."},updatesAndInsights:{title:"Updates & Insights",subtitle:"News and updates on what we're building and exploring."},whoWeAre:{title:"Who We Are",subtitle:"Who we are, what we believe, and why we build."},helpCenter:{title:"Help Center",subtitle:"Find help, guidance, and answers when you need them."}},pricing:{title:"Pricing"}},dd={badge:"Features",title:"AI-Powered Market Analytics, Built for Smarter Decisions",description:"Leverage advanced analytics and historical intelligence to discover patterns, analyze market reactions, and understand probability before making decisions.",creditUsage:"Credit usage",resetAfter:"Reset after",resetAfterColon:"Reset after:",useThisFeature:"Use this feature",automateNow:"Automate Now",analyzeNow:"Analyze now",inSession:"You are in session",sessionActive:"Session is currently active",continueSession:"Continue session",pageHeader:{account:{title:"Profile",infoTitle:"Your Account",infoDescription:"Manage your settings, preferences, and connections"},subscription:{title:"Subscription",infoTitle:"Your Plan",infoDescription:"Manage your plan, billing, and payments"},support:{title:"Support",infoTitle:"Get Help",infoDescription:"Find answers to your questions and connect with our support team"},referral:{title:"Community",infoTitle:"Community Growth Program",infoDescription:"Refer friends, earn rebates, grow together"}}},hd={chooseYour:"Choose your",plan:"Plan",annualPromo:`Get more than 2 months for free
16
+ by subscribing annually`,monthly:"Monthly",yearly:"Yearly",yearlyBadge:"-20%",comparePlans:"Compare Plans",compareSubtitle:"A full breakdown of what's included in each tier.",usage:"USAGE",usageSection:"Usage",features:"FEATURES",featuresSection:"Features",freePricePerMonth:"$0 / month",pricePerMonth:"{price} / month",patternSelector:"Pattern Selector",patternTracker:"Pattern Tracker",newsImpact:"News Impact",scanResultLimit:"Scan result limit",historicalData:"Historical data",webhook:"Webhook",patternExport:"Pattern export",scansPerDay:"{count} scans / day",scansPerDayDefault:"2 scans / day",patternsCount:"{count} patterns",perDay:"{count} / day",perDayDefault:"1 / day",tabsCount:"{count} tabs",tabsCountDefault:"1 tab",limited:"Limited",historicalYears:"20+ years",included:"✓",notIncluded:"—",planChangedSuccess:"Plan changed to {planTitle} successfully!",subscriptionSuccess:"Subscription to {planTitle} successful!",paymentSuccessful:"Payment Successful!",planUpdated:"Your plan has been updated.",planUpdatedDescription:"Your plan has been updated. You can start using your new features right away.",subscriptionActive:"Your subscription is now active.",subscriptionActiveDescription:"Your subscription to {planTitle} is now active. Thank you for your purchase!",manageBillingInfo:"Manage your billing information",continueToApp:"Continue to App",loadingPaymentDetails:"Loading payment details...",paymentError:"Payment Error",noSessionId:"No session ID provided",goToApp:"Go to App",alreadySubscribedPlan:"You are already subscribed to this plan.",activeSubscriptionManage:"You already have an active subscription. Please manage your billing to change plans.",planChangeScheduled:"Plan change scheduled",planChangeScheduledDesc:"Your plan will switch to {planTitle} on your next billing date.",alreadyOnPlan:"You are already on this plan",changePlanFailed:"Failed to change plan. Please use Manage Billing.",alreadyActiveSubscription:"You already have an active subscription",noChangesMade:"No changes made",alreadyOnPlanDesc:"You're already on the {planTitle} plan.",badgeFree:"Free",badgePopular:"Popular",badgeBestDeal:"Best Deal",badgeMaximumAccess:"Maximum Access",freeForEveryone:"Free for everyone",usdPerMonth:"USD/month",yearlyAmount:"{amount} USD / year",monthlyAmount:"{amount} USD / month",currentPlan:"Current Plan",startForFree:"Start for free",getPlan:"Get {planTitle}",switchToPlan:"Switch to {planTitle}",changePlanConfirmTitle:"Change Plan Confirmation",changePlanConfirmDesc:"You are currently on the {currentPlan} plan. Choose when you want the new price to take effect.",changeNextBilling:"Change next billing",changeNow:"Change now",confirmNextBillingTitle:"Confirm next billing change",confirmNextBillingDesc:"Are you sure you want to schedule this plan change for your next billing date? Your current {currentPlan} plan will remain active until then. On your next billing date, your plan will switch to {planTitle} ({amount}).",yesChangeNextBilling:"Yes, change next billing",continueToCheckout:"Continue to checkout",freeCheckoutDesc:"You are currently on the free plan. Continue to checkout to subscribe to {planTitle}.",continue:"Continue",agreeRefundPolicy:"I agree to the <link>Refund and Cancellation Policy</link>.",everythingInPlan:"Everything in <plan></plan> plan",plans:{free:{title:"Free",subtitle:"Explore and try",heading3:"Best for individual traders"},standard:{title:"Standard",subtitle:"Analyze with confidence",heading3:"Best for individual traders"},pro:{title:"Pro",subtitle:"Analyze in depth",heading3:"Team & Professional Tier"},expert:{title:"Expert",subtitle:"Analyze without limits",heading3:"For professional traders"}},planFeatures:{categories:{candleScanner:"Candle Scanner",candleSignal:"Candle Signal"},labels:{patternSelector:"Pattern Selector",patternTracker:"Pattern Tracker",newsImpact:"News Impact",scanResultLimit:"Scan result limit",activeTabs:"Active Tabs",timeframes:"Timeframes",webhook:"Webhook"},values:{scansPerDay:"{count} scans per day",patterns:"{count}",perDay:"{count}",tabsWorkspace:"{count} (workspace)",enabled:"Enabled",disabled:"Disabled"}}},pd={Connections:{connectedAccount:"Connected account",creditUsage:"Credit Usage",totalCreditsUsed:"Total credits used",resetsIn:"Resets in {duration}",understandingCredits:"Understanding credits and usage",nearLimit:"Near Limit"},Subscription:{myPlan:"My plan",thanksForSubscribing:"Thanks for subscribing!",billingHistory:"Billing History",nextBillingDate:"Next billing date",whichPlan:"Which plan is right for you?",patternSelectorCreditsPerDay:"{count} Pattern Selector credits / day",patternTrackerCreditsPerDay:"{count} Pattern Tracker credits / day",newsImpactCreditsPerDay:"{count} News Impact credits / day",chatAssistantCreditsPerDay:"{count} Chat Assistant credits / day",prioritySupport:"Priority support"},Billing:{noInvoices:"No invoices found.",loadError:"Failed to load invoices. Please try again later.",viewInvoice:"View invoice"}},md={referralRebate:"Referral Rebate",referredUsers:"Referred Users",totalRebateEarned:"Total rebate earned",referredUsersCount:"Referred users",activeReferrals:"Active referrals",referralLink:"Referral Link",shareDescription:"Share your referral link with friends. When they subscribe, you'll earn a rebate on their plan.",joinedDate:"Joined Date",loading:"Loading...",noReferralCodeAvailable:"No referral code available",updateReferralCodeTitle:"Update Referral Code",createReferralCodeTitle:"Create Referral Code",updateReferralCodeDescription:"Update your referral code below.",createReferralCodeDescription:"Enter a referral code to start sharing your referral link.",enterReferralCodePlaceholder:"Enter referral code",enterReferralCode:"Please enter a referral code",codeCreatedSuccess:"Referral code created successfully",codeUpdatedSuccess:"Referral code updated successfully",codeMinChars:"Minimum 5 characters",codeMaxChars:"Maximum 15 characters",create:"Create",update:"Update",pageNumber:"Page {page}",noReferredUsersYet:"No referred users yet",shareReferralEmptyDescription:"Share your referral link to start growing your network and earning rebates."},fd={mainMenu:{coreFeatures:"Core Features",account:"Account",subscription:"Subscription",communityGrowthProgram:"Community Growth Program",support:"Support"},patternMenu:{trackedPatterns:{label:"My tracked patterns",tooltipTitle:"High-probability pattern setups detected by AI",tooltipDescription:"iC Candle tracks global markets 24/7 to detect your tracked patterns, providing confidence levels and breakout direction. Use filters to find your best setups, then click any pattern for full details."},classicPatterns:{label:"Classic patterns",tooltipTitle:"Classic Patterns",tooltipDescription:"Choose the patterns you care about—double tops, head & shoulders, flags, rectangles, and more—then activate signals. We'll watch every tick across your selected markets and notify you the instant a formation completes. Customize delivery by telegram, email, or in‑app notification so you never miss a setup."}},helperBar:{watchList:"Watch List",savedPatterns:"Saved Patterns",newsMovingMarket:"What is moving MARKET?",favoritesCount:"Favorites ({count})",groupWithCount:"{label} ({count})",noItemsInWatchList:"No items in Watch List",watchListLast:"Last",watchListChg:"Chg",watchListChgPercent:"Chg%",removeFromFavorites:"Remove from favorites",addToFavorites:"Add to favorites",removeSymbolFromFavorites:"Remove {symbol} from favorites",addSymbolToFavorites:"Add {symbol} to favorites",groupCommodity:"Commodity",groupForex:"Forex",groupCrypto:"Crypto",groupIndices:"Indices",groupStock:"Stock"},profileMenu:{darkTheme:"Dark theme",chatWithUs:"Chat with us",termsAndConditions:"Terms & Conditions",logOut:"Log out"},tabAdded:"Tab added",tabMemoryWarning:"Adding more tabs may increase memory usage on your device.",tabLimitReached:"Tab Limit Reached",tabLimitReachedMax:"You've reached the maximum number of tabs allowed on your current plan.",tabLimitReachedUpgrade:"You've reached the maximum number of tabs allowed on your current plan. Please upgrade to access more.",notifications:"Notifications",noNotifications:"No notifications",notificationsOfflineReconnect:"(Offline) Please reconnect notifications",headerNav:{selectorTitle:"Pattern Selector",selectorShortTitle:"Selector",patternTitle:"Pattern Tracker",patternShortTitle:"Track",newsTitle:"News Impact",newsShortTitle:"News"},guideFeatures:{selector:{title:"Pattern Selector",description:"Analyzes your idea against historical market data to find similar price patterns and outcomes."},pattern:{title:"Pattern Tracker",description:"Continuously scans the market in the background and alerts you when a matching pattern appears."},news:{title:"News Impact",description:"Shows how past news releases impacted price movement so you can see how markets reacted before."}}},gd={mostSimilarNews:"Most Similar News:",selectEvent:"Select Event",economicCalendarAnalysis:"Economic Calendar Analysis",economicCalendar:"Economic Calendar",predictAvailable:"Predict Available",predictUnavailable:"Predict Unavailable",actualReleased:"Actual Released",analyzeImpact:"Analyze impact",candleDataTooFar:"Candle data too far from event.",tryAnotherTimeframe:"Please try another timeframe.",aiIntelligence:"AI Intelligence",matchPercent:"{percent}% match",whatHappenedOnNews:"What happened on this news:",newsBeforeEvent:"News Before This {eventName}",time15MinLater:"15 min later",time30MinLater:"30 min later",time1HourLater:"1 hour later",time2HoursLater:"2 hours later",time4HoursLater:"4 hours later",noDataHere:"No data here",pleaseWaitAndRetry:"Please wait and try again",current:"Current",previousMonth:"Previous month",nextMonth:"Next month",holiday:"Holiday",seeAll:"See all",selectedSymbols:"Selected symbols",marketNews:"Market News",patternType:"Pattern type",unknownPublishDate:"Unknown publish date",noMatchingArticleDetails:"No matching article details",model:"Model",temperature:"Temperature",temperatureLow:"Low",temperatureMedium:"Medium",temperatureHigh:"High",previousActual:"Previous Actual",currentForecast:"Current Forecast",previousForecast:"Previous Forecast",goToEventDetail:"Go to event detail",eventInfoNotFound:"Event information not found",ppi:"Producer Price Index measures changes in prices of goods and services sold by manufacturers and producers.",cpi:"Consumer Price Index measures changes in prices of goods and services bought by consumers.",coreCpi:"Core CPI measures changes in consumer prices excluding food and energy; a key inflation gauge used by central banks.",jolts:"Job Openings and Labor Turnover Survey measures unfilled job vacancies in the U.S.",nfp:"Nonfarm Payrolls measures changes in the number of U.S. jobs, excluding farm and certain sectors.",ijc:"Initial Jobless Claims measures the number of individuals filing for unemployment insurance for the first time in the U.S., indicating labor market conditions.",fomc:"Federal Open Market Committee is the U.S. central bank that sets interest rates and conducts monetary policy.",fedRate:"Federal Reserve interest rate decision announcement that sets the target federal funds rate, influencing monetary policy and financial markets.",gdpAdvance:"Gross Domestic Product measures the total value of goods and services produced in an economy. Advance GDP is the first estimate release.",gdpMonthly:"Gross Domestic Product measures the total value of goods and services produced in an economy. Monthly releases track short-term growth (e.g. UK GDP m/m).",unemploymentRate:"Unemployment Rate measures the percentage of the labor force that is unemployed.",ahe:"Average Hourly Earnings measures the month-over-month change in wages paid to workers, excluding farm workers.",corePce:"Core PCE Price Index measures the month-over-month change in personal consumption expenditures excluding food and energy, the Fed's preferred inflation gauge.",retailSales:"Retail Sales measures the month-over-month change in the total value of sales at the retail level.",ismManufacturingPmi:"ISM Manufacturing PMI measures the health of the U.S. manufacturing sector based on survey data; values above 50 indicate expansion.",ismServicesPmi:"ISM Services PMI measures the health of the U.S. services sector based on survey data; values above 50 indicate expansion.",gdpPrelim:"Prelim GDP is the second estimate of quarterly GDP growth; measures the total value of goods and services produced in an economy.",adpNfp:"ADP Non-Farm Employment Change measures the change in private-sector payroll employment from ADP/Moody's survey; a leading indicator for official Nonfarm Payrolls.",eci:"Employment Cost Index measures the quarterly change in the cost of labor including wages and benefits, a key inflation indicator watched by the Fed.",flashManufacturingPmi:"Flash Manufacturing PMI is a preliminary estimate of manufacturing sector activity based on survey data; values above 50 indicate expansion.",flashServicesPmi:"Flash Services PMI is a preliminary estimate of services sector activity based on survey data; values above 50 indicate expansion.",claimantCount:"UK Claimant Count Change measures the monthly change in people claiming unemployment-related benefits; a key gauge of the UK labor market.",boeRate:"Bank of England Official Bank Rate is the interest rate set by the Monetary Policy Committee; it guides UK monetary policy and sterling markets.",ecbMainRefinancingRate:"ECB Main Refinancing Rate is the European Central Bank's key policy rate for liquidity-providing operations; it guides euro-area monetary policy and EUR markets.",snbPolicyRate:"Swiss National Bank Policy Rate is the SNB's key policy interest rate (SARON-based framework); it guides Swiss monetary policy and CHF markets.",cadEmploymentChange:"Canadian Employment Change measures the monthly change in employed people from Statistics Canada's Labour Force Survey; a key gauge of the Canadian labor market and CAD."},yd={matchPercent:"Match {percent}%",matchLabel:"Match",mismatch:"Mismatch",noResultsFound:"No results found",result:"Result",filter:"Filter",filterBy:"Filter by",clearFilter:"Clear filter",selectFilterType:"Select filter type",matchPercentLabel:"Match %",selectSymbol:"Select Symbol",selectMatchPercent:"Select Match %",selectDateRange:"Select Date Range",dateLast1Month:"Last 1 month",dateLast6Months:"Last 6 months",dateLastYear:"Last year",dateLast3Years:"Last 3 years",dateAllTime:"All time",noDataFound:"No data found",runScanToSeePatternResults:"Run a scan to see pattern results here",scanAgainToPlay:"Scan again to play the chart",scan:"Scan",activateSelector:"Activate Selector",resetAfterDuration:"Reset after: {duration}",markets:"Markets",scannerOptions:"Scanner Options",saveOptions:"Save options",searchSymbol:"Search symbol",probabilityCalculation:"Probability calculation",probabilityCalculationTooltip:"Defines the number of upcoming candles used for probability calculation.",period:"Period",periodTooltip:"Defines the time period for scan results",timeframeTooltip:"Defines the candle timeframe for scan results",topResultsTooltip:"Defines the number of scan results",auto:"Auto",settings:"Settings",collapseToolbar:"Collapse toolbar",expandToolbar:"Expand toolbar",availableBars:"Available bars: {count}",clearReplayFirst:"Please clear the replay chart first",trackPattern:"Track Pattern",selectAll:"Select all",searchTimeframe:"Search timeframe",selectAllTimeframes:"Select all timeframes",selectTimeframeAria:"Select timeframe {label}",selectSymbolAria:"Select symbol {symbol}",timeframeTypeMinutes:"Minutes",searchFilterSaved:"Search filter saved successfully.",periodAll:"All",periodLastYear:"Last year",periodLast3Years:"Last 3 years",periodLast5Years:"Last 5 years",periodLast15Years:"Last 15 years",topResults:"Top Results",tabSymbols:"Symbols",tabAdvancedOptions:"Advanced options",tabBasic:"Basic",tabAdvancedFilter:"Advanced Filter",priceMovementData:"Price Movement Data:",askAssistantExplanation:"Ask the assistant for explanation",selectCandleCount:"Select candle count",priceChanges:"Price Changes",candlesCount:"{count} candles",basedOnDirectionPatterns:'Based on "{direction}" following this patterns',noAiMovementData:"No AI movement data for {direction}ward direction"},bd={scannedAt:"Scanned At:",trackerActivated:"Tracker Activated",match:"Match: {percent}%",result:"Result",windowSize:"Window Size: {size}",patternSelectorHistory:"Pattern Selector History",noFilter:"No filter",favorite:"Favorite",windowSizeFilter:"Window size",windowSizePlaceholder:"Window size (10-50)",submit:"Submit"},vd={trackYourCustomPatterns:"Track your custom patterns",selectedSymbol:"Selected Symbol",selectedSymbols:"Selected Symbols",timezone:"Timezone",selectedTimeframes:"Selected Timeframes",moreItems:"{count, plural, one {# more item} other {# more items}}",selectedBars:"Selected Bars",barsCount:"{count} bars",timeFrame:"Time Frame",patternType:"Pattern Type",created:"Created",editPattern:"Edit pattern",createNewTracker:"Create new tracker",firstYouHaveToScan:"First you have to scan",goToScan:"Go to scan",addToPatternTracker:"Add to Pattern Tracker",goToPatternTracker:"Go To Pattern Tracker",addToPatternTrackerDescription:"You'll receive real-time updates when this pattern appears. Enter a name to help you recognize this alert.",patternName:"Pattern Name",patternNamePlaceholder:"Enter a name for this pattern",patternNameMinChars:"Minimum 5 characters required.",patternNameMaxChars:"20 character limit reached.",patternNameErrorTitle:"Pattern Name Error",patternNameErrorDescription:"Please enter a name for the pattern signal",customPatternSignalTooltip:"You will be notified once pattern is formed on MARKET as Custom Pattern Signal",noPatternDataFound:"No pattern data found",limitReached:"Limit Reached",limitReachedTrackerDescription:"You've reached the maximum number of pattern tracker.",trackerUpgradeToastDescription:"You've reached the maximum number of signals allowed on your current plan. Please upgrade to access more.",patternConfigUpdated:"Pattern Config Updated",patternConfigUpdatedDesc:'Pattern config "{name}" has been updated',patternConfigError:"Pattern Config Error",patternConfigErrorDesc:"Failed to update pattern config",patternSaved:"Pattern Saved",patternSavedDesc:'Pattern name "{name}" has been saved',patternSignalError:"Pattern Signal Error",patternSignalErrorDesc:"Failed to save the pattern",trackerTutorialPlanLimitExpert:"Your plan has {limit} pattern to tracker limit.",trackerTutorialPlanNoTracking:"Your plan doesn't include pattern tracking. Our upgraded plans let you add patterns to the tracker.",trackerTutorialPlanTrackingLimit:"Your plan allows tracking up to {limit} patterns. Our upgraded plans let you track more patterns.",currentPlan:"Current plan",planFree:"Free",configurePatternTracker:"Configure Pattern Tracker",selectTimeframesAndSymbols:"Select the timeframes and symbols you want to monitor for this pattern.",selectTimeframes:"Select Timeframes",chooseTimeframes:"Choose the timeframes you want to monitor for this pattern.",searchTimeframes:"Search timeframes",timeframeSelected:"{count} timeframe selected",timeframesSelected:"{count} timeframes selected",symbolSelected:"{count} symbol selected",symbolsSelected:"{count} symbols selected",patternSelected:"{count} pattern",patternsSelected:"{count} patterns",patternTypes:"Pattern Types",patternSubscribed:"Pattern Subscribed",patternSubscribedDesc:'Pattern "{name}" is now being tracked',patternSubscriptionError:"Pattern Subscription Error",subscriptionModalAria:"Pattern tracker subscription",noPatternCandles:"No pattern candles found",chartSymbolRequired:"Chart symbol is required",userIdRequired:"User ID is required",subscribe:"Subscribe",subscribing:"Subscribing...",tabTimeShort:"Time",signalDialog:{title:"Signal Settings - {patternTitle}",successDescription:"Signal settings updated successfully",selectOneTimeframe:"Please select at least one timeframe",selectOneSymbol:"Please select at least one symbol",selectOneTimeframeAndSymbol:"Please select at least one timeframe and one symbol",selectCurrencyPairs:"Select Currency Pairs",chooseCurrencyPairs:"Choose the currency pairs you want to monitor for patterns",searchCurrencyPairs:"Search currency pairs"},noMatchesFound:"No matches found",filterCategoryPattern:"Pattern",filterCategorySymbol:"Symbol",filterCategoryTimeframe:"Timeframe",selectCategory:"Select category",searchCategory:"Search {category}...",timeframeOptions:{M15:{displayName:"15 Minutes",description:"15-minute timeframe"},M30:{displayName:"30 Minutes",description:"30-minute timeframe"},H1:{displayName:"1 Hour",description:"1-hour timeframe"},H2:{displayName:"2 Hours",description:"2-hour timeframe"},H4:{displayName:"4 Hours",description:"4-hour timeframe"},D:{displayName:"1 Day",description:"Daily timeframe"}}},wd={priceActionPattern:"Price action pattern",labels:{flagbear:"Bearish Flag",flagbull:"Bullish Flag",dd_top:"Double Top",dd_bot:"Double Bottom",aad_up:"AAD Up",aad_down:"AAD Down",has_bull:"Head and Shoulders Bullish",has_bear:"Head and Shoulders Bearish",rectangle:"Rectangle"},timeframes:{M1:"1 minute",M5:"5 minutes",M15:"15 minutes",M30:"30 minutes",H1:"1 hour",H2:"2 hours",H4:"4 hours",D1:"Daily"},patterns:{doubleBottom:{desc:'<div><p>These patterns form when price tests the same level twice and fails to break through.</p><ul style="list-style-type: disc; margin-left: 20px; margin-top: 10px;"><li>It shows that the market is losing momentum in one direction.</li><li>A breakout outside the range usually signals a reversal is coming.</li></ul></div>'},doubleTop:{desc:'<div><p>These patterns form when price tests the same level twice and fails to break through.</p><ul style="list-style-type: disc; margin-left: 20px; margin-top: 10px;"><li>It shows that the market is losing momentum in one direction.</li><li>A breakout outside the range usually signals a reversal is coming.</li></ul></div>'},bullishFlag:{desc:'<div><p>A brief pause or consolidation after a strong move (either up or down).</p><ul style="list-style-type: disc; margin-left: 20px; margin-top: 10px;"><li>Price moves in a small, sloped channel against the trend.</li><li>Once it breaks out of the flag, the trend often continues in the same direction.</li></ul></div>'},bearishFlag:{desc:'<div><p>A brief pause or consolidation after a strong move (either up or down).</p><ul style="list-style-type: disc; margin-left: 20px; margin-top: 10px;"><li>Price moves in a small, sloped channel against the trend.</li><li>Once it breaks out of the flag, the trend often continues in the same direction.</li></ul></div>'},bullishHeadShoulders:{desc:'<div><p>This pattern shows a shift in market strength and signals a possible trend reversal.</p><ul style="list-style-type: disc; margin-left: 20px; margin-top: 10px;"><li>It has three parts: one larger move (the "head") and two smaller ones (the "shoulders").</li><li>When the pattern completes, price often breaks away and moves in the opposite direction of the trend before it.</li></ul></div>'},bearishHeadShoulders:{desc:'<div><p>This pattern shows a shift in market strength and signals a possible trend reversal.</p><ul style="list-style-type: disc; margin-left: 20px; margin-top: 10px;"><li>It has three parts: one larger move (the "head") and two smaller ones (the "shoulders").</li><li>When the pattern completes, price often breaks away and moves in the opposite direction of the trend before it.</li></ul></div>'}}},xd={chartPatterns:"What is in a chart patterns?",flagPattern:"How do I trade a flag pattern effectively?",rectanglePattern:"What are the key features of a rectangle pattern to watch for?"},Pd={pip:"What is a pip?",majorCurrencyPairs:"What are the major currency pairs to trade?",lotSize:"What is a lot size?",leverage:"What is a leverage?",margin:"What is a margin?",bullishFlagTrack:"Track bullish flag pattern for all symbols and timeframes"},Sd={cpi:"What is CPI, and how does it affect the market?",nfp:"What is NFP, and how does it affect the market?",eurImpactfulNews:"What is the most impactful news in the market for USD?"},Td="lang",kd="Profile",Cd={statistics:{heading:"Thousands of traders have already changed the way they see the market.",tradersReport:"7 out of 10 traders report improved consistency in their trading decisions.",satisfactionRate:'96% satisfaction rate from beta testers who said, "It feels like trading with a brain beside me."',usersChanged:"More than 80% of users say iC Candle changed how they analyze the market.",lessTimeWatching:"Average user spends 40% less time watching charts, thanks to pattern reminders."},feedback:{backtestingTitle:"Feels like backtesting on a next level.",backtestingDesc:"Backtesting on iC Candle is honestly a game changer. It's crazy how fast and clear everything is now. I'm low-key obsessed. Hard to imagine any active trader working without this at this point.",confirmsTitle:"Confirms My Setups",confirmsDesc:"Omg, finally a tool that actually proves whether my own analysis is legit. Since I started using iCCandle, my hesitation in trading has dropped like 80%. I'm way more confident now.",marketHistoryTitle:"Market History Leads My Trades",marketHistoryDesc:"Using historical reactions for my trades has kinda become my whole new vibe. The value I'm getting vs. what I'm paying for the subscription? Not even comparable.",chatGPTTitle:"The Trader's ChatGPT",chatGPTDesc:"I use ChatGPT for literally everything in my daily life, everyone knows how much it makes things easier. And honestly… I think I just found the trader's version of ChatGPT."},tags:{all:"All",blog:"Blog",crypto:"Crypto",event:"Event",pairs:"Pairs"}},Ad={title:"Page Not Found",description:"The page you're looking for doesn't exist or has been moved.",backToHomepage:"Back to Homepage",imageAlt:"Not Found"},Nd=JSON.parse(`{"Page":{"title":{"terms":"Terms of Service","privacy":"Privacy Policy","refund":"Refund and Cancellation Policy","cookie":"Cookie Policy"},"tabs":{"terms":"Terms","privacy":"Privacy","refund":"Refund","cookie":"Cookies"},"nav":{"terms":"Terms of Service","privacy":"Privacy Policy","refund":"Refund and Cancellation Policy","cookie":"Cookie Policy"}},"Terms":{"title":"Terms of Service, TOS, Terms, Conditions, Disclaimers, Contract, Agreement","intro":{"p1":"This agreement is made between Pixel Nexus Global, a Singaporean Limited Liability company operating as www.iccandle.ai (“Pixel Nexus Global,” “we,” “us,” or “our”), and the individual or entity purchasing or utilizing services offered through the Platform (“Customer,” “you,” or “your”). If you are acquiring the Services on behalf of a third party, you confirm that you have the legal authority to bind that party to these Terms of Service and will be liable for their use of the Services.","p2":"By accessing the Platform and Services outlined in this document and promoted on www.iccandle.ai, or by subscribing to services via the iccandle.ai website, you acknowledge that you have read, understood, and agreed to these Terms, Conditions, and Disclaimers. You further agree that your relationship with us is governed by the provisions set forth in this TOS.","p2Emphasis":"If you do not accept these terms, you must discontinue all use of iccandle.ai and any associated services or Platforms immediately."},"sections":[{"title":"1. The Services","paragraphs":["Pixel Nexus Global will provide active customers in good standing with access to its AI-powered analytical tool (the “Platform”). As used in this Agreement, the term “Services” refers to Pixel Nexus Global’s provision of your access to the Platform. The Services will be provided to you under one or more subscriptions, account activations, sign-ups, or orders placed by you on the iccandle.ai website and accepted by Pixel Nexus Global (an “Order”).","In case of any conflict between these TOS and an Order, the terms of these TOS shall take precedence. By accepting the Services, you acknowledge and agree that any different or additional terms proposed by you in an Order or otherwise are expressly rejected by Pixel Nexus Global, unless we have agreed to such terms in a written document signed by an authorized representative."]},{"title":"2. Your Obligations","subsections":[{"title":"Customer Information and Account Responsibilities","paragraphs":["You agree to provide Pixel Nexus Global with accurate information when creating your account, throughout our business relationship, and in all correspondence with us. We may occasionally need to contact you via email or telephone regarding the Services. You agree to maintain a valid email address that you check daily and to promptly notify us of any changes to your contact information.","Pixel Nexus Global shall not be responsible for any service interruptions, damages, or consequences resulting from misdirected communications due to your failure to provide current contact details. You also agree to complete all data entitlement surveys within the platform completely and truthfully to maintain compliance with exchange regulations."]},{"title":"Permitted Use of Platform","paragraphs":["Your use of the Platform must comply with these TOS and any accompanying documentation we provide. If you permit third parties to access the Platform, you agree to: (i) restrict their use in accordance with these terms; (ii) ensure their compliance with these TOS and our Privacy Policy; and (iii) remain fully liable for any violations of these TOS or the Privacy Policy by such third parties."]},{"title":"Intellectual Property and Legal Compliance","paragraphs":["You agree not to alter, obscure, or remove any trademark or proprietary notices. You may only use the Platform in accordance with: (i) the laws governing these TOS; and (ii) all applicable laws in your jurisdiction.","Unauthorized use is strictly prohibited."]}]},{"title":"3. Term","subsections":[{"title":"Effective Date and Term Duration","paragraphs":["These Terms of Service (TOS) become effective (\\"Effective Date\\") on the earlier of: (i) the date you click \\"I accept\\" as recorded by our servers; or (ii) the date you first access or use the Platform.","These TOS remain in effect for the duration of any active Order."]},{"title":"Subscription Terms and Renewals","paragraphs":["The Services will automatically renew for successive periods (monthly, quarterly, or annually) as specified in your Order. If unspecified, the default initial subscription period (\\"Initial Term\\") is one month. Subsequent renewal periods (\\"Renewal Terms\\") will match the Initial Term’s duration."]},{"title":"Trial Period Terms","paragraphs":["Pixel Nexus Global may offer trial periods (paid or free) as indicated on the iccandle.ai trial signup page. During any trial period:"],"listOrdered":["All terms and conditions of this agreement apply as if you were a paid subscriber","You may cancel at any time during the trial to prevent automatic renewal","Trial terms and conditions are subject to change without notice"]},{"title":"Subscription Management Responsibility","paragraphs":["You are solely responsible for managing your subscription, including:"],"listDisc":["Monitoring renewal dates","Updating payment information","Initiating cancellations","Maintaining current contact information"],"paragraphsAfter":["Pixel Nexus Global is not responsible for any charges due to failure to manage your subscription."]}]},{"title":"4. Termination","subsections":[{"title":"Cancellation and Termination Policy","paragraphs":["Details about cancellation and refund policies are available on our Refund and Cancellation Policy page at iccandle.ai. Terminating your account disables automatic renewals but does not cancel past invoices or make prior payments refundable unless stated otherwise in our Refund and Cancellation Policy.","Any currently due invoices must be paid in full to settle your account. Your access to Pixel Nexus Global services will continue until the expiration of your prepaid period or trial term."]},{"title":"Termination for Convenience","paragraphs":["Either party may terminate any Order by providing written notice at least one (1) day before the expiration of the Initial Term or any Renewal Term. For purposes of this provision, “written notice” includes communication through email, live chat, telephone, or via the Online Portal, indicating a desire not to continue service with Pixel Nexus Global in the future."]},{"title":"Termination for Policy Violations","paragraphs":["Pixel Nexus Global reserve the right to immediately suspend Services and/or terminate any Order in cases of violation of these TOS, breach of our Privacy Policy, or use of Services in a manner contrary to law or generally accepted internet standards. Such termination may occur without prior notice, dispute resolution process, or refund of any fees."]},{"title":"Effect of Termination","paragraphs":["The expiration or termination of any Order does not affect any rights or obligations that either (i) came into effect upon or after such expiration/termination, or (ii) survive the termination and were incurred by the parties prior to termination. Upon termination, you must promptly settle any outstanding balance. Pixel Nexus Global is not obligated to return any paid fees for terminations occurring prior to completion of a full term, except as may be expressly provided in our Refund and Cancellation Policy.","All termination matters are governed by the complete terms set forth in this agreement, and Pixel Nexus Global maintains full discretion in enforcing these provisions."]}]},{"title":"5. License Grant and Restrictions","paragraphs":["Pixel Nexus Global grants you a limited, revocable, non-exclusive, non-transferable, worldwide license to utilize our proprietary technology (\\"Pixel Nexus Technology\\") solely for accessing and employing our analytical engines as part of the Services, including any generated reports (\\"Reports\\"). This license is restricted to your account's registered users and automatically terminates upon expiration or termination of these TOS.","No rights beyond this limited license are conferred. All ownership rights in the Pixel Nexus Technology remain exclusively with Pixel Nexus Global or its licensors. You are expressly prohibited from: transferring, leasing, lending, sublicensing, reselling, or distributing the technology; using it for timesharing or service bureau purposes; or permitting unauthorized third-party access. You may not circumvent any protective measures safeguarding our proprietary interests, nor modify, reproduce, decompile, reverse engineer, or create derivative works from the Pixel Nexus Technology or Platform components. Upon termination, you must immediately cease using and permanently delete all Pixel Nexus Technology in your possession, ensuring any third parties with access do likewise."],"subsections":[{"title":"Ownership Rights","paragraphs":["Pixel Nexus Global retains all rights, title, and interest in the Pixel Nexus Technology and Platform, including but not limited to all derivative works, improvements, enhancements, and associated intellectual property rights such as trademarks and copyrights."]},{"title":"Feedback Provisions","paragraphs":["You may voluntarily provide, or we may solicit, input regarding the Platform or Services (\\"Feedback\\"), including suggestions for modifications or improvements. You acknowledge such Feedback constitutes Pixel Nexus Global's confidential proprietary information and irrevocably assign all related rights and interests to us. Pixel Nexus Global may utilize Feedback for any purpose without limitation or compensation obligation. This assignment applies globally and survives termination of these TOS.","All rights not expressly granted herein are reserved by Pixel Nexus Global. Any unauthorized use constitutes breach of these TOS and may result in immediate termination of your access rights."]}]},{"title":"6. Data Usage and Intellectual Property Rights","paragraphs":["Pixel Nexus Global may utilize information you provide or data collected from your use of the Platform and Services (\\"Operational Information\\") to deliver technical support and facilitate the implementation, operation, and administration of the Services. By using our Services, you grant us a perpetual, irrevocable license to process and analyze this Operational Information. We may combine this data with aggregate information from our general business operations to enhance existing Services or develop new products and offerings.","Pixel Nexus Global shall retain exclusive ownership of all intellectual property derived from such analysis and improvements. You hereby irrevocably waive any potential rights to this intellectual property and assign all rights, title, and interest therein to Pixel Nexus Global. You further agree to provide reasonable cooperation in securing and protecting these rights. We reserve the right to commercialize this Operational Information through sale, monetization, or incorporation into other products and services, without obligation to compensate you or grant you any ownership interest.","This license shall terminate upon expiration or cancellation of these Terms of Service, except with respect to historical data that has been aggregated and anonymized such that it cannot be identified as originating from your organization. Pixel Nexus Global may retain and continue to use such anonymized, aggregated data indefinitely for any lawful business purpose.","All intellectual property rights not expressly granted herein remain the exclusive property of Pixel Nexus Global. Your continued use of the Services constitutes acceptance of these terms regarding data usage and intellectual property rights."]},{"title":"7. Accuracy of Information Disclaimer","paragraphs":["Pixel Nexus Global relies on third-party data feeds to power its platform and therefore cannot guarantee the absolute accuracy of the information displayed. Different features within our system (such as scanners, automated analysis tools, charting functions, and back testing capabilities) may utilize separate data providers, which can result in variances between datasets across different platform features. Users should always verify analysis results and scanner conditions to ensure data consistency.","The platform's analytical outputs are inherently dependent on the quality of underlying third-party data, and Pixel Nexus Global makes no representations or warranties regarding the accuracy of these analyses. The iccandle.ai website, Services, and Platform are designed solely for informational and research purposes - they should never serve as the sole basis for investment decisions. Pixel Nexus Global disclaims all liability for any financial losses resulting from reliance on potentially inaccurate data or analysis within the Platform.","The Pixel Nexus Global system is provided strictly on an \\"as-is\\" basis without guarantees or warranties of any kind, as its functionality depends on unverified third- party data sources. The platform is intended exclusively for educational, entertainment, and general informational use - not as professional financial advice or a substitute for independent investment research. Users assume all risk associated with interpreting and acting upon any information displayed within the system.","By accessing and using the Platform, you acknowledge these inherent limitations and agree that Pixel Nexus Global shall not be held responsible for any consequences arising from data inaccuracies, analysis errors, or investment decisions made based on platform content."]},{"title":"8. Disclaimer of Investment Advice and Platform Limitations","paragraphs":["The analytical tools and outputs provided by Pixel Nexus Global's iccandle.ai platform are strictly for informational and research purposes only and should not be construed as investment advice. The platform relies on third-party data sources that may contain inaccuracies, and different features may produce varying results due to separate data providers. All analysis, including results from our Pattern Selector, Pattern Tracker, and News Impact Intelligence, is provided \\"AS-IS\\" without any guarantees of accuracy. These tools demonstrate historical patterns, probabilities, and market behavior under past conditions and cannot predict future results, as actual market outcomes may differ due to liquidity, execution, and other variables. You must never rely solely on platform analysis when making investment decisions."]},{"title":"9. Risk Acknowledgement and User Responsibility","paragraphs":["By using Pixel Nexus Global's platform (iccandle.ai), you expressly acknowledge and accept full responsibility for all risks associated with any investment decisions made based on information or analysis obtained from our Platform. You understand that our services rely on third-party data sources that may contain inaccuracies, and that our analytical models employ mathematical formulas and sequences that have not been independently verified for predictive accuracy. Pixel Nexus Global cannot and does not guarantee the reliability of any market data, technical indicators, or analytical outputs generated by the Platform.","Prior to executing any trades, you agree to either: (i) consult with a qualified, licensed financial professional; or (ii) conduct comprehensive independent research using multiple verified information sources.","Pixel Nexus Global expressly disclaims all liability for any trading losses, missed opportunities, or other financial consequences resulting from your reliance on Platform content. By continuing to use iccandle.ai, you confirm your understanding that our tools are designed for informational purposes only and that you alone bear complete responsibility for all investment choices and outcomes. This warning constitutes an essential term of our agreement, and your use of the Platform signifies your unconditional acceptance of these risk disclosures."]},{"title":"10. Disclaimer of Warranties and Service Limitations","paragraphs":["The Pixel Nexus Global platform (iccandle.ai), including all Services, scripts, reports, analytical engines, and related technology, is provided strictly on an \\"AS-IS\\" and \\"AS- AVAILABLE\\" basis. Pixel Nexus Global makes no representations or warranties of any kind, whether express or implied. This includes, but is not limited to, all implied warranties of non-infringement, merchantability, fitness for a particular purpose, accuracy, quality, or achievement of specific results. No warranties arise from any course of dealing, performance, or trade usage.","Pixel Nexus Global does not guarantee that the Service will meet your requirements, operate without interruption, remain error-free, or be secure from viruses or other harmful components. Compatibility with all websites or browsers is not assured, and Pixel Nexus Global disclaims all liability for issues arising from browser incompatibility or third-party services, even if such services appear integrated with our Platform. Any data transmitted via our Services remains your sole responsibility, and Pixel Nexus Global expressly disclaims liability for such content. No warranties provided by third- party vendors to Pixel Nexus Global extend to you, and you are not a third-party beneficiary of such agreements."],"subsections":[{"title":"Alert Features and Beta Functionality","paragraphs":["The Platform includes alert features (e.g., \\"Dynamic Price Alerts\\" and \\"Multi-Factor Alerts\\"), which are provided without warranty or guarantee of reliability. Technical delays or failures may occur due to cellular networks, email services, system errors, or other factors. You acknowledge that alerts may not function as intended and agree that Pixel Nexus Global bears no liability for trading losses resulting from reliance on these features, regardless of whether they were used correctly.","Certain features labeled as 'Beta' are under active development and may exhibit unstable or unreliable performance, including inconsistent data or incorrect information due to software bugs or programming errors. These Beta features carry additional risks and should be used with extreme caution."]},{"title":"General Provisions","paragraphs":["This warranty disclaimer applies to all oral or written information provided by Pixel Nexus Global, its employees, affiliates, or third-party vendors. You may not rely on any such statements or representations.","Some jurisdictions may not permit the exclusion of certain warranties. If applicable to you, any warranty claim must be filed within ninety (90) days of the Service provision that gave rise to the claim. Failure to submit a claim within this period constitutes an irrevocable waiver of your right to pursue such claims thereafter.","Third-party websites linked through the Pixel Nexus Global platform are not under our control, and we assume no responsibility for their content or functionality. Accessing these external sites is entirely at your own risk. Such links are provided for convenience only and do not constitute an endorsement or recommendation by Pixel Nexus Global.","By using the Platform, you acknowledge and accept these limitations and disclaimers in full."]}]},{"title":"11. Limitation of Liability","paragraphs":["Pixel Nexus Global's total liability under this Agreement shall not exceed the aggregate fees actually paid by you to Pixel Nexus Global during the one (1) month period immediately preceding the event giving rise to such liability. For purposes of this limitation, \\"Pixel Nexus Global\\" includes its employees, agents, owners, directors, officers, affiliates, and any third-party service providers facilitating the Services.","To the maximum extent permitted by law, you agree that under no circumstances - including negligence - shall Pixel Nexus Global or its licensors, agents, employees, officers, or third-party vendors be liable for any indirect, incidental, special, consequential, or punitive damages. This exclusion applies to, but is not limited to, damages for:"],"listOrdered":["Lost profits or revenue","Business interruption","Data loss or corruption","Lost savings","Any other financial losses incurred by you, end users, or third parties"],"paragraphsAfter":["These limitations apply regardless of whether the action arises in contract, tort (including negligence), or any other legal theory, and shall remain in effect even if Pixel Nexus Global has been advised of the possibility of such damages. While some jurisdictions may not allow limitations on certain liabilities, you agree that, where such restrictions apply, Pixel Nexus Global's liability shall be limited to the maximum extent permitted by applicable law.","This limitation of liability constitutes an essential basis of the bargain between you and Pixel Nexus Global and shall survive termination of this Agreement. By using the Services, you acknowledge that these limitations are reasonable and reflect the risk allocation between both parties."]},{"title":"12. Notices","paragraphs":["All official notices will be sent to your account’s listed contact information. You are responsible for maintaining current and accurate contact details in our records at all times.","For most inquiries, including technical support and billing matters, please visit our website at www.iccandle.ai for contact information and support options.","However, any legal notices regarding these Terms of Service or other Pixel Nexus Global policies must be sent exclusively via postal mail to our designated address:"],"address":{"company":"Pixel Nexus Global PTE. LTD.","lines":["160 Robinson Road, #14-04","Singapore Business Federation Center","Singapore 068914"]}},{"title":"13. Force Majeure","paragraphs":["Neither party shall be liable for any failure or delay in performance (except for payment obligations) due to events beyond their reasonable control, including, but not limited to, acts of God, natural disasters, war, civil unrest, epidemics, labor disputes, utility failures, telecommunication outages, supply chain disruptions, government actions, or other unforeseeable catastrophic events; provided that: (i) the affected party notifies the other in writing within ten (10) days of the event’s commencement; (ii) all payment obligations remain unaffected; (iii) the time for performance shall be extended day-for-day to match the duration of the disruption; and (iv) both parties use commercially reasonable efforts to mitigate the impact.","It is understood that this clause does not permit termination of the Agreement solely due to force majeure conditions, nor does it extend the Agreement term beyond its original expiration date without mutual written agreement."]},{"title":"14. No Waiver","paragraphs":["No failure or delay by Pixel Nexus Global in exercising any right under these Terms shall operate as a waiver of that right, nor shall any single or partial exercise of any right preclude the further or full exercise of that right or any other right under these Terms."]},{"title":"15. Assignment","paragraphs":["Pixel Nexus Global may assign these Terms, or any rights hereunder, without your consent. You may not assign these Terms without our prior written approval. These Terms shall be binding upon, and inure to the benefit of, the parties' respective successors and permitted assigns."]},{"title":"16. Severability","paragraphs":["If any provision of these Terms is held to be invalid or unenforceable by a court of competent jurisdiction, that provision shall be modified to the minimum extent necessary to make it valid and enforceable while preserving its original intent. All other provisions shall remain in full force and effect."]},{"title":"17. No Agency","paragraphs":["Nothing in these Terms creates an agency, partnership, joint venture or employment relationship between the parties. Neither party has authority to bind the other or incur obligations on the other's behalf."]},{"title":"18. Privacy & Conflicts","paragraphs":["Our Privacy Policy is incorporated herein by reference. In the event of a conflict between agreements: (i) these Terms prevail over the Privacy Policy; (ii) any separate service agreement shall prevail over conflicting provisions of these Terms, but only with respect to those specific provisions; and (iii) in all other cases, these Terms shall govern."]},{"title":"19. Jurisdiction and Disclaimer","paragraphs":["The services and information provided on iccandle.ai are not intended for use in jurisdictions where such services would be contrary to local laws or regulations. Access to and use of this website are strictly prohibited for citizens of the following jurisdictions: United States of America, Canada, Russian Federation, Iran, North Korea, Myanmar, Syria, Cuba, Crimea, Donetsk, and Luhansk regions of Ukraine, Afghanistan, Belarus, and Venezuela. This list may be updated at any time without prior notice. Users are solely responsible for ensuring that their access to and use of this website comply with all applicable laws and regulations in their country. iccandle.ai accepts no responsibility or liability for any non-compliance by users with their local regulatory requirements and reserves the right to restrict, block, or terminate access at its sole discretion."]}],"content":"Terms of Service, TOS, Terms, Conditions, Disclaimers, Contract, Agreement\\nThis agreement is made between Pixel Nexus Global, a Singaporean Limited Liability company operating as www.iccandle.ai (“Pixel Nexus Global,” “we,” “us,” or “our”), and the individual or entity purchasing or utilizing services offered through the Platform (“Customer,” “you,” or “your”). If you are acquiring the Services on behalf of a third party, you confirm that you have the legal authority to bind that party to these Terms of Service and will be liable for their use of the Services.\\n\\nBy accessing the Platform and Services outlined in this document and promoted on www.iccandle.ai, or by subscribing to services via the iccandle.ai website, you acknowledge that you have read, understood, and agreed to these Terms, Conditions, and Disclaimers. You further agree that your relationship with us is governed by the provisions set forth in this TOS. If you do not accept these terms, you must discontinue all use of iccandle.ai and any associated services or Platforms immediately.\\n\\n1. The Services\\nPixel Nexus Global will provide active customers in good standing with access to its AI-powered analytical tool (the “Platform”). As used in this Agreement, the term “Services” refers to Pixel Nexus Global’s provision of your access to the Platform. The Services will be provided to you under one or more subscriptions, account activations, sign-ups, or orders placed by you on the iccandle.ai website and accepted by Pixel Nexus Global (an “Order”).\\n\\nIn case of any conflict between these TOS and an Order, the terms of these TOS shall take precedence. By accepting the Services, you acknowledge and agree that any different or additional terms proposed by you in an Order or otherwise are expressly rejected by Pixel Nexus Global, unless we have agreed to such terms in a written document signed by an authorized representative.\\n\\n2. Your Obligations\\nCustomer Information and Account Responsibilities\\nYou agree to provide Pixel Nexus Global with accurate information when creating your account, throughout our business relationship, and in all correspondence with us. We may occasionally need to contact you via email or telephone regarding the Services. You agree to maintain a valid email address that you check daily and to promptly notify us of any changes to your contact information.\\n\\nPixel Nexus Global shall not be responsible for any service interruptions, damages, or consequences resulting from misdirected communications due to your failure to provide current contact details. You also agree to complete all data entitlement surveys within the platform completely and truthfully to maintain compliance with exchange regulations.\\n\\nPermitted Use of Platform\\nYour use of the Platform must comply with these TOS and any accompanying documentation we provide. If you permit third parties to access the Platform, you agree to: (i) restrict their use in accordance with these terms; (ii) ensure their compliance with these TOS and our Privacy Policy; and (iii) remain fully liable for any violations of these TOS or the Privacy Policy by such third parties.\\n\\nIntellectual Property and Legal Compliance\\nYou agree not to alter, obscure, or remove any trademark or proprietary notices. You may only use the Platform in accordance with: (i) the laws governing these TOS; and (ii) all applicable laws in your jurisdiction.\\n\\nUnauthorized use is strictly prohibited.\\n\\n3. Term\\nEffective Date and Term Duration\\nThese Terms of Service (TOS) become effective (\\"Effective Date\\") on the earlier of: (i) the date you click \\"I accept\\" as recorded by our servers; or (ii) the date you first access or use the Platform.\\n\\nThese TOS remain in effect for the duration of any active Order.\\n\\nSubscription Terms and Renewals\\nThe Services will automatically renew for successive periods (monthly, quarterly, or annually) as specified in your Order. If unspecified, the default initial subscription period (\\"Initial Term\\") is one month. Subsequent renewal periods (\\"Renewal Terms\\") will match the Initial Term’s duration.\\n\\nTrial Period Terms\\nPixel Nexus Global may offer trial periods (paid or free) as indicated on the iccandle.ai trial signup page. During any trial period:\\n\\nAll terms and conditions of this agreement apply as if you were a paid subscriber\\nYou may cancel at any time during the trial to prevent automatic renewal\\nTrial terms and conditions are subject to change without notice\\nSubscription Management Responsibility\\nYou are solely responsible for managing your subscription, including:\\n\\nMonitoring renewal dates\\nUpdating payment information\\nInitiating cancellations\\nMaintaining current contact information\\nPixel Nexus Global is not responsible for any charges due to failure to manage your subscription.\\n\\n4. Termination\\nCancellation and Termination Policy\\nDetails about cancellation and refund policies are available on our Refund and Cancellation Policy page at iccandle.ai. Terminating your account disables automatic renewals but does not cancel past invoices or make prior payments refundable unless stated otherwise in our Refund and Cancellation Policy.\\n\\nAny currently due invoices must be paid in full to settle your account. Your access to Pixel Nexus Global services will continue until the expiration of your prepaid period or trial term.\\n\\nTermination for Convenience\\nEither party may terminate any Order by providing written notice at least one (1) day before the expiration of the Initial Term or any Renewal Term. For purposes of this provision, “written notice” includes communication through email, live chat, telephone, or via the Online Portal, indicating a desire not to continue service with Pixel Nexus Global in the future.\\n\\nTermination for Policy Violations\\nPixel Nexus Global reserve the right to immediately suspend Services and/or terminate any Order in cases of violation of these TOS, breach of our Privacy Policy, or use of Services in a manner contrary to law or generally accepted internet standards. Such termination may occur without prior notice, dispute resolution process, or refund of any fees.\\n\\nEffect of Termination\\nThe expiration or termination of any Order does not affect any rights or obligations that either (i) came into effect upon or after such expiration/termination, or (ii) survive the termination and were incurred by the parties prior to termination. Upon termination, you must promptly settle any outstanding balance. Pixel Nexus Global is not obligated to return any paid fees for terminations occurring prior to completion of a full term, except as may be expressly provided in our Refund and Cancellation Policy.\\n\\nAll termination matters are governed by the complete terms set forth in this agreement, and Pixel Nexus Global maintains full discretion in enforcing these provisions.\\n\\n5. License Grant and Restrictions\\nPixel Nexus Global grants you a limited, revocable, non-exclusive, non-transferable, worldwide license to utilize our proprietary technology (\\"Pixel Nexus Technology\\") solely for accessing and employing our analytical engines as part of the Services, including any generated reports (\\"Reports\\"). This license is restricted to your account's registered users and automatically terminates upon expiration or termination of these TOS.\\n\\nNo rights beyond this limited license are conferred. All ownership rights in the Pixel Nexus Technology remain exclusively with Pixel Nexus Global or its licensors. You are expressly prohibited from: transferring, leasing, lending, sublicensing, reselling, or distributing the technology; using it for timesharing or service bureau purposes; or permitting unauthorized third-party access. You may not circumvent any protective measures safeguarding our proprietary interests, nor modify, reproduce, decompile, reverse engineer, or create derivative works from the Pixel Nexus Technology or Platform components. Upon termination, you must immediately cease using and permanently delete all Pixel Nexus Technology in your possession, ensuring any third parties with access do likewise.\\n\\nOwnership Rights\\nPixel Nexus Global retains all rights, title, and interest in the Pixel Nexus Technology and Platform, including but not limited to all derivative works, improvements, enhancements, and associated intellectual property rights such as trademarks and copyrights.\\n\\nFeedback Provisions\\nYou may voluntarily provide, or we may solicit, input regarding the Platform or Services (\\"Feedback\\"), including suggestions for modifications or improvements. You acknowledge such Feedback constitutes Pixel Nexus Global's confidential proprietary information and irrevocably assign all related rights and interests to us. Pixel Nexus Global may utilize Feedback for any purpose without limitation or compensation obligation. This assignment applies globally and survives termination of these TOS.\\n\\nAll rights not expressly granted herein are reserved by Pixel Nexus Global. Any unauthorized use constitutes breach of these TOS and may result in immediate termination of your access rights.\\n\\n6. Data Usage and Intellectual Property Rights\\nPixel Nexus Global may utilize information you provide or data collected from your use of the Platform and Services (\\"Operational Information\\") to deliver technical support and facilitate the implementation, operation, and administration of the Services. By using our Services, you grant us a perpetual, irrevocable license to process and analyze this Operational Information. We may combine this data with aggregate information from our general business operations to enhance existing Services or develop new products and offerings.\\n\\nPixel Nexus Global shall retain exclusive ownership of all intellectual property derived from such analysis and improvements. You hereby irrevocably waive any potential rights to this intellectual property and assign all rights, title, and interest therein to Pixel Nexus Global. You further agree to provide reasonable cooperation in securing and protecting these rights. We reserve the right to commercialize this Operational Information through sale, monetization, or incorporation into other products and services, without obligation to compensate you or grant you any ownership interest.\\n\\nThis license shall terminate upon expiration or cancellation of these Terms of Service, except with respect to historical data that has been aggregated and anonymized such that it cannot be identified as originating from your organization. Pixel Nexus Global may retain and continue to use such anonymized, aggregated data indefinitely for any lawful business purpose.\\n\\nAll intellectual property rights not expressly granted herein remain the exclusive property of Pixel Nexus Global. Your continued use of the Services constitutes acceptance of these terms regarding data usage and intellectual property rights.\\n\\n7. Accuracy of Information Disclaimer\\nPixel Nexus Global relies on third-party data feeds to power its platform and therefore cannot guarantee the absolute accuracy of the information displayed. Different features within our system (such as scanners, automated analysis tools, charting functions, and back testing capabilities) may utilize separate data providers, which can result in variances between datasets across different platform features. Users should always verify analysis results and scanner conditions to ensure data consistency.\\n\\nThe platform's analytical outputs are inherently dependent on the quality of underlying third-party data, and Pixel Nexus Global makes no representations or warranties regarding the accuracy of these analyses. The iccandle.ai website, Services, and Platform are designed solely for informational and research purposes - they should never serve as the sole basis for investment decisions. Pixel Nexus Global disclaims all liability for any financial losses resulting from reliance on potentially inaccurate data or analysis within the Platform.\\n\\nThe Pixel Nexus Global system is provided strictly on an \\"as-is\\" basis without guarantees or warranties of any kind, as its functionality depends on unverified third- party data sources. The platform is intended exclusively for educational, entertainment, and general informational use - not as professional financial advice or a substitute for independent investment research. Users assume all risk associated with interpreting and acting upon any information displayed within the system.\\n\\nBy accessing and using the Platform, you acknowledge these inherent limitations and agree that Pixel Nexus Global shall not be held responsible for any consequences arising from data inaccuracies, analysis errors, or investment decisions made based on platform content.\\n\\n8. Disclaimer of Investment Advice and Platform Limitations\\nThe analytical tools and outputs provided by Pixel Nexus Global's iccandle.ai platform are strictly for informational and research purposes only and should not be construed as investment advice. The platform relies on third-party data sources that may contain inaccuracies, and different features may produce varying results due to separate data providers. All analysis, including results from our Pattern Selector, Pattern Tracker, and News Impact Intelligence, is provided \\"AS-IS\\" without any guarantees of accuracy. These tools demonstrate historical patterns, probabilities, and market behavior under past conditions and cannot predict future results, as actual market outcomes may differ due to liquidity, execution, and other variables. You must never rely solely on platform analysis when making investment decisions.\\n\\n9. Risk Acknowledgement and User Responsibility\\nBy using Pixel Nexus Global's platform (iccandle.ai), you expressly acknowledge and accept full responsibility for all risks associated with any investment decisions made based on information or analysis obtained from our Platform. You understand that our services rely on third-party data sources that may contain inaccuracies, and that our analytical models employ mathematical formulas and sequences that have not been independently verified for predictive accuracy. Pixel Nexus Global cannot and does not guarantee the reliability of any market data, technical indicators, or analytical outputs generated by the Platform.\\n\\nPrior to executing any trades, you agree to either: (i) consult with a qualified, licensed financial professional; or (ii) conduct comprehensive independent research using multiple verified information sources.\\n\\nPixel Nexus Global expressly disclaims all liability for any trading losses, missed opportunities, or other financial consequences resulting from your reliance on Platform content. By continuing to use iccandle.ai, you confirm your understanding that our tools are designed for informational purposes only and that you alone bear complete responsibility for all investment choices and outcomes. This warning constitutes an essential term of our agreement, and your use of the Platform signifies your unconditional acceptance of these risk disclosures.\\n\\n10. Disclaimer of Warranties and Service Limitations\\nThe Pixel Nexus Global platform (iccandle.ai), including all Services, scripts, reports, analytical engines, and related technology, is provided strictly on an \\"AS-IS\\" and \\"AS- AVAILABLE\\" basis. Pixel Nexus Global makes no representations or warranties of any kind, whether express or implied. This includes, but is not limited to, all implied warranties of non-infringement, merchantability, fitness for a particular purpose, accuracy, quality, or achievement of specific results. No warranties arise from any course of dealing, performance, or trade usage.\\n\\nPixel Nexus Global does not guarantee that the Service will meet your requirements, operate without interruption, remain error-free, or be secure from viruses or other harmful components. Compatibility with all websites or browsers is not assured, and Pixel Nexus Global disclaims all liability for issues arising from browser incompatibility or third-party services, even if such services appear integrated with our Platform. Any data transmitted via our Services remains your sole responsibility, and Pixel Nexus Global expressly disclaims liability for such content. No warranties provided by third- party vendors to Pixel Nexus Global extend to you, and you are not a third-party beneficiary of such agreements.\\n\\nAlert Features and Beta Functionality\\nThe Platform includes alert features (e.g., \\"Dynamic Price Alerts\\" and \\"Multi-Factor Alerts\\"), which are provided without warranty or guarantee of reliability. Technical delays or failures may occur due to cellular networks, email services, system errors, or other factors. You acknowledge that alerts may not function as intended and agree that Pixel Nexus Global bears no liability for trading losses resulting from reliance on these features, regardless of whether they were used correctly.\\n\\nCertain features labeled as 'Beta' are under active development and may exhibit unstable or unreliable performance, including inconsistent data or incorrect information due to software bugs or programming errors. These Beta features carry additional risks and should be used with extreme caution.\\n\\nGeneral Provisions\\nThis warranty disclaimer applies to all oral or written information provided by Pixel Nexus Global, its employees, affiliates, or third-party vendors. You may not rely on any such statements or representations.\\n\\nSome jurisdictions may not permit the exclusion of certain warranties. If applicable to you, any warranty claim must be filed within ninety (90) days of the Service provision that gave rise to the claim. Failure to submit a claim within this period constitutes an irrevocable waiver of your right to pursue such claims thereafter.\\n\\nThird-party websites linked through the Pixel Nexus Global platform are not under our control, and we assume no responsibility for their content or functionality. Accessing these external sites is entirely at your own risk. Such links are provided for convenience only and do not constitute an endorsement or recommendation by Pixel Nexus Global.\\n\\nBy using the Platform, you acknowledge and accept these limitations and disclaimers in full.\\n\\n11. Limitation of Liability\\nPixel Nexus Global's total liability under this Agreement shall not exceed the aggregate fees actually paid by you to Pixel Nexus Global during the one (1) month period immediately preceding the event giving rise to such liability. For purposes of this limitation, \\"Pixel Nexus Global\\" includes its employees, agents, owners, directors, officers, affiliates, and any third-party service providers facilitating the Services.\\n\\nTo the maximum extent permitted by law, you agree that under no circumstances - including negligence - shall Pixel Nexus Global or its licensors, agents, employees, officers, or third-party vendors be liable for any indirect, incidental, special, consequential, or punitive damages. This exclusion applies to, but is not limited to, damages for:\\n\\nLost profits or revenue\\nBusiness interruption\\nData loss or corruption\\nLost savings\\nAny other financial losses incurred by you, end users, or third parties\\nThese limitations apply regardless of whether the action arises in contract, tort (including negligence), or any other legal theory, and shall remain in effect even if Pixel Nexus Global has been advised of the possibility of such damages. While some jurisdictions may not allow limitations on certain liabilities, you agree that, where such restrictions apply, Pixel Nexus Global's liability shall be limited to the maximum extent permitted by applicable law.\\n\\nThis limitation of liability constitutes an essential basis of the bargain between you and Pixel Nexus Global and shall survive termination of this Agreement. By using the Services, you acknowledge that these limitations are reasonable and reflect the risk allocation between both parties.\\n\\n12. Notices\\nAll official notices will be sent to your account’s listed contact information. You are responsible for maintaining current and accurate contact details in our records at all times.\\n\\nFor most inquiries, including technical support and billing matters, please visit our website at www.iccandle.ai for contact information and support options.\\n\\nHowever, any legal notices regarding these Terms of Service or other Pixel Nexus Global policies must be sent exclusively via postal mail to our designated address:\\n\\nPixel Nexus Global PTE. LTD.\\n160 Robinson Road, #14-04\\n\\nSingapore Business Federation Center\\n\\nSingapore 068914\\n\\n13. Force Majeure\\nNeither party shall be liable for any failure or delay in performance (except for payment obligations) due to events beyond their reasonable control, including, but not limited to, acts of God, natural disasters, war, civil unrest, epidemics, labor disputes, utility failures, telecommunication outages, supply chain disruptions, government actions, or other unforeseeable catastrophic events; provided that: (i) the affected party notifies the other in writing within ten (10) days of the event’s commencement; (ii) all payment obligations remain unaffected; (iii) the time for performance shall be extended day-for-day to match the duration of the disruption; and (iv) both parties use commercially reasonable efforts to mitigate the impact.\\n\\nIt is understood that this clause does not permit termination of the Agreement solely due to force majeure conditions, nor does it extend the Agreement term beyond its original expiration date without mutual written agreement.\\n\\n14. No Waiver\\nNo failure or delay by Pixel Nexus Global in exercising any right under these Terms shall operate as a waiver of that right, nor shall any single or partial exercise of any right preclude the further or full exercise of that right or any other right under these Terms.\\n\\n15. Assignment\\nPixel Nexus Global may assign these Terms, or any rights hereunder, without your consent. You may not assign these Terms without our prior written approval. These Terms shall be binding upon, and inure to the benefit of, the parties' respective successors and permitted assigns.\\n\\n16. Severability\\nIf any provision of these Terms is held to be invalid or unenforceable by a court of competent jurisdiction, that provision shall be modified to the minimum extent necessary to make it valid and enforceable while preserving its original intent. All other provisions shall remain in full force and effect.\\n\\n17. No Agency\\nNothing in these Terms creates an agency, partnership, joint venture or employment relationship between the parties. Neither party has authority to bind the other or incur obligations on the other's behalf.\\n\\n18. Privacy & Conflicts\\nOur Privacy Policy is incorporated herein by reference. In the event of a conflict between agreements: (i) these Terms prevail over the Privacy Policy; (ii) any separate service agreement shall prevail over conflicting provisions of these Terms, but only with respect to those specific provisions; and (iii) in all other cases, these Terms shall govern.\\n\\n19. Jurisdiction and Disclaimer\\nThe services and information provided on iccandle.ai are not intended for use in jurisdictions where such services would be contrary to local laws or regulations. Access to and use of this website are strictly prohibited for citizens of the following jurisdictions: United States of America, Canada, Russian Federation, Iran, North Korea, Myanmar, Syria, Cuba, Crimea, Donetsk, and Luhansk regions of Ukraine, Afghanistan, Belarus, and Venezuela. This list may be updated at any time without prior notice. Users are solely responsible for ensuring that their access to and use of this website comply with all applicable laws and regulations in their country. iccandle.ai accepts no responsibility or liability for any non-compliance by users with their local regulatory requirements and reserves the right to restrict, block, or terminate access at its sole discretion."},"Refund":{"title":"Refund and Cancellation Policy","intro":"This Refund and Cancellation Policy (\\"Policy\\") governs refund and cancellation terms for services provided by Pixel Nexus Global Pte. Ltd. (\\"we,\\" \\"us,\\" \\"our\\") through the iccandle.ai platform (\\"Services\\"). This Policy is incorporated by reference into our Terms of Service and should be read in conjunction with those Terms.","sections":[{"title":"1. Definitions","definitions":[{"term":"Subscription","text":"A recurring paid access to the Services for a specified period (e.g., monthly or annually)."},{"term":"Billing Period","text":"The recurring time interval for which a Subscription fee is charged."},{"term":"Subscription Change","text":"Any upgrade or downgrade to a different Subscription plan."}]},{"title":"2. Cancellation Terms","subsections":[{"title":"Subscription Cancellation","listDisc":["You may cancel your Subscription at any time through your account dashboard or by contacting support.","Cancellation will take effect at the end of the current billing period; you will retain access to the Services through the end of that period.","Cancelling your Subscription does not automatically entitle you to a refund of fees already paid."]}]},{"title":"3. Refund Terms","subsections":[{"title":"3.1 General Rule","paragraphs":["Except as expressly provided in this Policy or required by applicable law, all fees paid for Subscriptions are non‑refundable once charged."]},{"title":"3.2 Refund Eligibility","paragraphs":["We may issue a refund at our sole discretion only in limited circumstances, including but not limited to:"],"listDisc":["Duplicate payments (verified duplicate charges will be refunded).","Technical errors that demonstrably prevented access to Services, where the error was not caused by user actions and is verified by us.","Applicable statutory rights under consumer protection law where these rights apply and cannot be waived."],"paragraphsAfter":["Refunds, if approved, will be processed to the original payment method within a commercially reasonable timeframe determined by payment processors and banking partners."]},{"title":"3.3 No Refund for Partial Use","paragraphs":["Refunds will not be issued for:"],"listDisc":["Partial use of the Services during a billing period.","Downgrades of Subscription plans.","Change of mind or business decisions after payment.","Subscription cancellations submitted after a billing cycle has renewed."]}]},{"title":"4. Subscription Changes (Upgrade or Downgrade)","paragraphs":["We provide two options when changing your Subscription plan:"],"subsections":[{"title":"4.1 Change Now","paragraphs":["If you select \\"Change Now,\\" your new plan will take effect immediately, and the associated charge will be applied.","Please note that no refunds, credits, or prorated adjustments will be provided for any unused portion of your current plan."]},{"title":"4.2 Change on Next Billing","paragraphs":["If you choose \\"Change on Next Billing,\\" your current plan will remain active until the end of the current Billing Period.","The new plan will take effect at the start of the next Billing Period.","No refunds or credits apply to the current Billing Period."]}]},{"title":"5. Cancellation After renewal","paragraphs":["If an automatic renewal has already occurred before you submit a cancellation request: The renewal fee is non-refundable. The cancellation will apply to the next Billing Period."]},{"title":"6. Chargebacks and Disputes","paragraphs":["We maintain a strict no-tolerance policy toward unjustified chargebacks.","Initiating a chargeback or payment dispute without first contacting us to seek resolution is considered a breach of this Refund and Cancellation Policy and our Terms of Service. Such actions may result in immediate suspension or permanent termination of your account, without notice, and forfeiture of access to the Services.","We reserve the right to challenge and dispute any chargeback that we deem unauthorized, abusive, or inconsistent with this Policy. This includes providing payment processors, banks, and financial institutions with all relevant evidence, including but not limited to:"],"listDisc":["Proof of service delivery and access logs","Account activity records","Acceptance of our Terms of Service and policies","Communication history with the customer"],"paragraphsAfter":["Customers are strongly encouraged to contact our support team first to resolve any billing concerns. We are committed to addressing legitimate issues in good faith; however, chargebacks used as a substitute for cancellation or refund requests will not be tolerated."]},{"title":"7. Modification of Policy","paragraphs":["We may update this Policy from time to time. Material changes will be posted on our website or communicated via email prior to taking effect. Continued use of the Services after such updates constitutes acceptance of the revised Policy."]},{"title":"8. Contact Information","paragraphs":["For all cancellation and refund requests, please contact our support team via our help center."]}],"content":"Refund and Cancellation Policy\\nThis Refund and Cancellation Policy (“Policy”) governs refund and cancellation terms for services provided by Pixel Nexus Global Pte. Ltd. (“we,” “us,” “our”) through the iccandle.ai platform (“Services”). This Policy is incorporated by reference into our Terms of Service and should be read in conjunction with those Terms.\\n\\n1. Definitions\\nSubscription: A recurring paid access to the Services for a specified period (e.g., monthly or annually).\\n\\nBilling Period: The recurring time interval for which a Subscription fee is charged.\\n\\nSubscription Change: Any upgrade or downgrade to a different Subscription plan.\\n\\n2. Cancellation Terms\\nSubscription Cancellation\\nYou may cancel your Subscription at any time through your account dashboard or by contacting support.\\nCancellation will take effect at the end of the current billing period; you will retain access to the Services through the end of that period.\\nCancelling your Subscription does not automatically entitle you to a refund of fees already paid.\\n3. Refund Terms\\n3.1 General Rule\\nExcept as expressly provided in this Policy or required by applicable law, all fees paid for Subscriptions are non‑refundable once charged.\\n\\n3.2 Refund Eligibility\\nWe may issue a refund at our sole discretion only in limited circumstances, including but not limited to:\\n\\nDuplicate payments (verified duplicate charges will be refunded).\\nTechnical errors that demonstrably prevented access to Services, where the error was not caused by user actions and is verified by us.\\nApplicable statutory rights under consumer protection law where these rights apply and cannot be waived.\\nRefunds, if approved, will be processed to the original payment method within a commercially reasonable timeframe determined by payment processors and banking partners.\\n\\n3.3 No Refund for Partial Use\\nRefunds will not be issued for:\\n\\nPartial use of the Services during a billing period.\\nDowngrades of Subscription plans.\\nChange of mind or business decisions after payment.\\nSubscription cancellations submitted after a billing cycle has renewed.\\n4. Subscription Changes (Upgrade or Downgrade)\\nWe provide two options when changing your Subscription plan:\\n\\n4.1 Change Now\\nIf you select “Change Now,” your new plan will take effect immediately, and the associated charge will be applied.\\n\\nPlease note that no refunds, credits, or prorated adjustments will be provided for any unused portion of your current plan.\\n\\n4.2 Change on Next Billing\\nIf you choose “Change on Next Billing,” your current plan will remain active until the end of the current Billing Period.\\n\\nThe new plan will take effect at the start of the next Billing Period.\\n\\nNo refunds or credits apply to the current Billing Period.\\n\\n5. Cancellation After renewal\\nIf an automatic renewal has already occurred before you submit a cancellation request: The renewal fee is non-refundable. The cancellation will apply to the next Billing Period.\\n\\n6. Chargebacks and Disputes\\nWe maintain a strict no-tolerance policy toward unjustified chargebacks.\\n\\nInitiating a chargeback or payment dispute without first contacting us to seek resolution is considered a breach of this Refund and Cancellation Policy and our Terms of Service. Such actions may result in immediate suspension or permanent termination of your account, without notice, and forfeiture of access to the Services.\\n\\nWe reserve the right to challenge and dispute any chargeback that we deem unauthorized, abusive, or inconsistent with this Policy. This includes providing payment processors, banks, and financial institutions with all relevant evidence, including but not limited to:\\n\\nProof of service delivery and access logs\\nAccount activity records\\nAcceptance of our Terms of Service and policies\\nCommunication history with the customer\\nCustomers are strongly encouraged to contact our support team first to resolve any billing concerns. We are committed to addressing legitimate issues in good faith; however, chargebacks used as a substitute for cancellation or refund requests will not be tolerated.\\n\\n7. Modification of Policy\\nWe may update this Policy from time to time. Material changes will be posted on our website or communicated via email prior to taking effect. Continued use of the Services after such updates constitutes acceptance of the revised Policy.\\n\\n8. Contact Information\\nFor all cancellation and refund requests, please contact our support team via our help center."},"Privacy":{"title":"Privacy Policy","intro":"This Privacy Policy explains how Pixel Nexus Global Pte. Ltd. (\\"we\\", \\"us\\", or \\"our\\") collects, uses, discloses, and protects personal information when you use our website, applications, and services (collectively, the \\"Services\\").","sections":[{"title":"1. Information We Collect","paragraphs":["We collect the following information:"],"listDisc":["Email address provided when you sign up for our Services","Service usage information, including interactions with features, pages viewed, session activity, and general usage patterns, collected to improve the functionality, performance, and user experience of our Services"],"paragraphsAfter":["We do not collect, store, or process payment card details or other sensitive payment information."]},{"title":"2. Payments and Stripe","paragraphs":["All payment transactions are processed by our third-party payment service provider, Stripe.","When you make a payment, Stripe collects and processes payment-related information (such as card details, billing information, and transaction data) directly. This information is handled in accordance with Stripe’s Privacy Policy and security standards, including PCI-DSS compliance.","We only receive limited information from Stripe necessary to operate our Services, including:"],"listDisc":["Payment confirmation","Subscription status","Transaction identifiers"],"paragraphsAfter":["We do not have access to your full payment details.","You can review Stripe’s Privacy Policy here:"],"stripePrivacyUrl":"https://stripe.com/privacy"},{"title":"3. How We Use Your Information","paragraphs":["We use the email addresses we collect to:"],"listDisc":["Provide, operate, and maintain our Services","Analyze service usage and improve product functionality, performance, and user experience","Communicate with you regarding technical notices, updates, and support","Inform you about products, services, features, and events"]},{"title":"4. Information Sharing","paragraphs":["We do not sell your personal information.","We may share your information only with:"],"listDisc":["Service providers who support our operations (including hosting, analytics, and payment processing via Stripe)","Professional advisors, such as legal, accounting, or compliance consultants","Law enforcement or regulatory authorities, when required by law or to protect our legal rights"],"paragraphsAfter":["All third-party service providers are required to process personal data in accordance with applicable data protection laws."]},{"title":"5. Your Rights","paragraphs":["Depending on your location, you may have the right to:"],"listDisc":["Access your personal information","Correct or update your email address","Request deletion of your email address","Object to or restrict certain processing activities"],"paragraphsAfter":["Requests related to payment data should be directed to Stripe, as they act as the data controller for payment information."]},{"title":"6. Third-Party Policies","paragraphs":["Our Services rely on third-party providers such as Stripe. Their handling of personal data is governed by their own privacy policies, and we encourage you to review them."]},{"title":"7. Contact Us","paragraphs":["If you have any questions about this Privacy Policy or our data practices, please contact us at:","support@iccandle.ai"]}],"content":"Privacy Policy\\nThis Privacy Policy explains how Pixel Nexus Global Pte. Ltd. (“we”, “us”, or “our”) collects, uses, discloses, and protects personal information when you use our website, applications, and services (collectively, the “Services”).\\n\\n1. Information We Collect\\nWe collect the following information:\\n\\nEmail address provided when you sign up for our Services\\nService usage information, including interactions with features, pages viewed, session activity, and general usage patterns, collected to improve the functionality, performance, and user experience of our Services\\nWe do not collect, store, or process payment card details or other sensitive payment information.\\n\\n2. Payments and Stripe\\nAll payment transactions are processed by our third-party payment service provider, Stripe.\\n\\nWhen you make a payment, Stripe collects and processes payment-related information (such as card details, billing information, and transaction data) directly. This information is handled in accordance with Stripe’s Privacy Policy and security standards, including PCI-DSS compliance.\\n\\nWe only receive limited information from Stripe necessary to operate our Services, including:\\n\\nPayment confirmation\\nSubscription status\\nTransaction identifiers\\nWe do not have access to your full payment details.\\n\\nYou can review Stripe’s Privacy Policy here: https://stripe.com/privacy\\n\\n3. How We Use Your Information\\nWe use the email addresses we collect to:\\n\\nProvide, operate, and maintain our Services\\nAnalyze service usage and improve product functionality, performance, and user experience\\nCommunicate with you regarding technical notices, updates, and support\\nInform you about products, services, features, and events\\n4. Information Sharing\\nWe do not sell your personal information.\\n\\nWe may share your information only with:\\n\\nService providers who support our operations (including hosting, analytics, and payment processing via Stripe)\\nProfessional advisors, such as legal, accounting, or compliance consultants\\nLaw enforcement or regulatory authorities, when required by law or to protect our legal rights\\nAll third-party service providers are required to process personal data in accordance with applicable data protection laws.\\n\\n5. Your Rights\\nDepending on your location, you may have the right to:\\n\\nAccess your personal information\\nCorrect or update your email address\\nRequest deletion of your email address\\nObject to or restrict certain processing activities\\nRequests related to payment data should be directed to Stripe, as they act as the data controller for payment information.\\n\\n6. Third-Party Policies\\nOur Services rely on third-party providers such as Stripe. Their handling of personal data is governed by their own privacy policies, and we encourage you to review them.\\n\\n7. Contact Us\\nIf you have any questions about this Privacy Policy or our data practices, please contact us at: support@iccandle.ai"},"Cookie":{"title":"Cookie Policy","intro":["This Cookie Policy explains how Pixel Nexus Global Pte. Ltd. (\\"we\\", \\"us\\", or \\"our\\") uses cookies and similar technologies when you visit or use iccandle.ai and related services (collectively, the \\"Services\\").","This Policy should be read together with our Privacy Policy."],"sections":[{"title":"1. What Are Cookies?","paragraphs":["Cookies are small text files placed on your device when you visit a website. They are widely used to make websites work efficiently, enhance user experience, and provide information to website operators.","Cookies may be:"],"listDisc":["Session cookies (deleted when you close your browser), or","Persistent cookies (stored for a set period or until deleted)."]},{"title":"2. Types of Cookies We Use","subsections":[{"title":"2.1 Strictly Necessary Cookies","paragraphs":["These cookies are essential for the operation of our Services and cannot be switched off. They are required to:"],"listDisc":["Enable secure login and authentication","Maintain user sessions","Protect against fraud and abuse"],"paragraphsAfter":["Without these cookies, the Services cannot function properly."]},{"title":"2.2 Functional Cookies","paragraphs":["These cookies allow us to remember your preferences and settings, such as:"],"listDisc":["Language or regional preferences","Account-related selections"],"paragraphsAfter":["They improve usability but are not strictly necessary."]},{"title":"2.3 Analytics and Performance Cookies","paragraphs":["We use analytics cookies to understand how users interact with our Services. These cookies collect information such as:"],"listDisc":["Pages visited and features used","Session duration and interaction patterns","Error and performance data"],"paragraphsAfter":["This information is used solely to improve our product, functionality, and user experience. Analytics data is aggregated and does not directly identify individual users."]},{"title":"2.4 Third-Party Cookies","paragraphs":["Some cookies are placed by third-party service providers that support our Services, including:"],"listDisc":["Payment processing services (e.g., Stripe)","Analytics and infrastructure providers"],"paragraphsAfter":["These third parties may use cookies in accordance with their own privacy and cookie policies."]}]},{"title":"3. What We Do NOT Use Cookies For","listDisc":["We do not use cookies for advertising or behavioral targeting","We do not sell cookie data","We do not use cookies to collect sensitive personal information"]},{"title":"4. Managing Cookies","paragraphs":["You can manage or disable cookies through your browser settings. Most browsers allow you to:"],"listDisc":["View cookies stored on your device","Delete existing cookies","Block cookies entirely or from specific websites"],"paragraphsAfter":["Please note that disabling certain cookies may affect the functionality and performance of the Services."]},{"title":"5. Changes to This Cookie Policy","paragraphs":["We may update this Cookie Policy from time to time to reflect changes in technology, law, or our practices. Material changes will be posted on our website. Continued use of the Services after changes take effect constitutes acceptance of the updated Policy."]},{"title":"6. Contact Us","paragraphs":["If you have any questions about this Cookie Policy or our use of cookies, please contact us at:","support@iccandle.ai"]}],"content":"Cookie Policy\\nThis Cookie Policy explains how Pixel Nexus Global Pte. Ltd. (“we”, “us”, or “our”) uses cookies and similar technologies when you visit or use iccandle.ai and related services (collectively, the “Services”).\\n\\nThis Policy should be read together with our Privacy Policy.\\n\\n1. What Are Cookies?\\nCookies are small text files placed on your device when you visit a website. They are widely used to make websites work efficiently, enhance user experience, and provide information to website operators.\\n\\nCookies may be:\\n\\nSession cookies (deleted when you close your browser), or\\nPersistent cookies (stored for a set period or until deleted).\\n2. Types of Cookies We Use\\n2.1 Strictly Necessary Cookies\\nThese cookies are essential for the operation of our Services and cannot be switched off. They are required to:\\n\\nEnable secure login and authentication\\nMaintain user sessions\\nProtect against fraud and abuse\\nWithout these cookies, the Services cannot function properly.\\n\\n2.2 Functional Cookies\\nThese cookies allow us to remember your preferences and settings, such as:\\n\\nLanguage or regional preferences\\nAccount-related selections\\nThey improve usability but are not strictly necessary.\\n\\n2.3 Analytics and Performance Cookies\\nWe use analytics cookies to understand how users interact with our Services. These cookies collect information such as:\\n\\nPages visited and features used\\nSession duration and interaction patterns\\nError and performance data\\nThis information is used solely to improve our product, functionality, and user experience. Analytics data is aggregated and does not directly identify individual users.\\n\\n2.4 Third-Party Cookies\\nSome cookies are placed by third-party service providers that support our Services, including:\\n\\nPayment processing services (e.g., Stripe)\\nAnalytics and infrastructure providers\\nThese third parties may use cookies in accordance with their own privacy and cookie policies.\\n\\n3. What We Do NOT Use Cookies For\\nWe do not use cookies for advertising or behavioral targeting\\nWe do not sell cookie data\\nWe do not use cookies to collect sensitive personal information\\n4. Managing Cookies\\nYou can manage or disable cookies through your browser settings. Most browsers allow you to:\\n\\nView cookies stored on your device\\nDelete existing cookies\\nBlock cookies entirely or from specific websites\\nPlease note that disabling certain cookies may affect the functionality and performance of the Services.\\n\\n5. Changes to This Cookie Policy\\nWe may update this Cookie Policy from time to time to reflect changes in technology, law, or our practices. Material changes will be posted on our website. Continued use of the Services after changes take effect constitutes acceptance of the updated Policy.\\n\\n6. Contact Us\\nIf you have any questions about this Cookie Policy or our use of cookies, please contact us at:\\n\\nsupport@iccandle.ai"}}`),Dd={Common:id,Confirmation:ad,DateFormat:rd,Alert:od,TimeConfig:sd,Loading:ld,Auth:cd,Navbar:ud,Guide:dd,Pricing:hd,Settings:pd,Referral:md,Layout:fd,News:gd,Selector:yd,UserActivity:bd,Pattern:vd,PatternCatalog:wd,sQuestion_pattern:xd,sQuestion_general:Pd,sQuestion_news:Sd,justLanguage:Td,profile:kd,Landing:Cd,NotFound:Ad,Legal:Nd},Rd={or:"OR",error:"错误",cancel:"取消",continuing:"继续中...",email:"邮箱",password:"密码",termsOfService:"服务条款",privacyPolicy:"隐私政策",continueWithGoogle:"使用 Google 继续",continuingWithGoogle:"正在使用 Google 登录...",signIn:"登录",signUp:"注册",agreeAndContinue:"同意并继续",changePlan:"更改方案",upgradePlan:"升级方案 +",manageBilling:"管理账单",getInTouch:"联系我们",copyright:"© {year} IC Candle, Inc. 版权所有。",session:"交易时段",sessions:"交易时段",activeWorkspaces:"活跃工作区",date:"日期",product:"产品",plan:"方案",planNames:{free:"免费方案",standard:"标准方案",pro:"专业方案",expert:"专家方案"},status:"状态",amount:"金额",detail:"详情",total:"总计",prioritySupport:"优先支持",all:"全部",minutely:"日内",hourly:"小时",daily:"日线",chatAssistant:"聊天助手",timeframes:"时间周期",symbols:"交易品种",timeSettings:"时间设置",step:"步骤 {number}:",learnMore:"了解更多",success:"成功",validationError:"验证错误",previous:"上一页",next:"下一步",saving:"保存中...",save:"保存",saveChanges:"保存更改",nextStep:"下一步",columnTimeframe:"时间周期",columnSymbol:"交易品种",columnDescription:"描述",symbol:"交易品种",timeframe:"时间周期",candles:"K线",up:"上涨",down:"下跌",play:"播放",close:"关闭",simulate:"模拟",actual:"实际",forecast:"预测",interestRate:"利率",soon:"即将推出",back:"返回",similarity:"相似度",nextCandles:"下一个 {count}",nextCandlesFull:"接下来 {count} 根K线",probabilityOutcome:"概率结果:",estimatedProbability:"预计概率:",riskDisclaimer:"金融市场具有高风险,可能导致资金损失。iC Candle 提供的信息仅用于教育目的,不构成任何金融建议。过往表现不保证未来结果。",rangeTooFarToRender:"范围过大,无法渲染。",marketSessions:"市场交易时段",askTradingQuestion:"提出交易问题",mrCandleThinking:"Mr. Candle 正在思考...",simulateBullishPriceAction:"模拟看涨价格走势",simulateBearishPriceAction:"模拟看跌价格走势",dismiss:"关闭",loadingMore:"加载更多...",savedPatternDeleted:"已删除保存的形态"},Ed={confirm:"确认",deletePatternTitle:"删除形态",deletePatternDescription:"您确定要删除该形态吗?",deleteAllNotificationsTitle:"删除所有通知",deleteAllNotificationsDescription:"您确定要删除所有通知吗?",disableSignalsTitle:"禁用信号",disableSignalsDescription:"您确定要禁用信号吗?",disableSignalsForDescription:"您确定要禁用 {patternTitle} 的信号吗?",togglePatternModeTitle:"切换形态模式",togglePatternModeDisableDescription:"您确定要禁用该形态吗?",togglePatternModeEnableDescription:"您确定要启用该形态吗?",closeFeatureDescription:"您确定要关闭此功能吗?"},Od={today:"今天",yesterday:"昨天",day:"{count, plural, other {#天}}",hour:"{count, plural, other {#小时}}",minute:"{count, plural, other {#分钟}}",zeroMinutes:"0分钟",dayShort:"天",hourShort:"小时",minuteShort:"分钟",zeroMin:"0分钟",justNow:"刚刚",minutesAgo:"{count, plural, other {# 分钟前}}",hoursAgo:"{count, plural, other {# 小时前}}",daysAgo:"{count, plural, other {# 天前}}",monthsAgo:"{count, plural, other {# 个月前}}",yearsAgo:"{count, plural, other {# 年前}}"},Md={classicPatternTracker:"经典形态追踪器",trackedPatternReminder:"已追踪形态提醒",classicPattern:"经典形态",trackedPattern:"已追踪形态",enableClassicNotifications:"开启经典价格形态的实时通知",waitingForPatternSignals:"正在等待形态信号",noPatternsDetected:"当前未检测到任何形态",signalsActiveDescription:"您的信号已启用。一旦发现匹配形态,我们将立即通知您",noCustomPatternDetected:"当前未检测到 {patternName}",trackMorePatternsByScan:"前往扫描以追踪更多形态",seeMore:"查看更多"},Id={title:"时间设置",description:"选择允许触发形态提醒的本地时间窗口。",startTime:"开始时间",endTime:"结束时间",session:"交易时段",timezone:"时区",yourTimezone:"您的时区",selectSession:"选择交易时段",searchSession:"搜索交易时段...",noSessionFound:"未找到交易时段。",sessionsHeading:"交易时段",selectTimezone:"选择时区",selectTimezoneHint:"搜索并选择此提醒的时区。",searchTimezone:"搜索时区...",noTimezoneFound:"未找到时区。",timezonesHeading:"时区",allTime:"全天",customize:"自定义",newYorkSession:"纽约时段",londonSession:"伦敦时段",tokyoSession:"东京时段",sydneySession:"悉尼时段"},Ld={newsScan:{analyzing:"正在分析当前新闻事件...",searching:"正在搜索历史上相似的新闻发布...",ranking:"正在筛选最相关的相似新闻...",preparingReplay:"正在准备相似新闻回放...",ready:"相似新闻事件已准备好进行影响分析。"},newsAi:{replaying:"正在回放历史价格走势...",startingSimulation:"正在启动影响模拟模型...",calculatingScenarios:"正在计算上涨和下跌情景...",complete:"模拟完成。"},selectorScan:{scanning:"正在扫描超过20年的市场历史数据...",finding:"正在寻找结构相似的交易形态...",linking:"正在关联市场行为与其背后的驱动因素...",preparing:"正在准备结构化历史数据集...",ready:"形态已准备完成,可进行回放和结果分析。"},selectorAi:{replaying:"正在回放历史形态行为...",learning:"正在学习历史走势中的影响模式...",calculating:"正在计算价格行为动态...",initializing:"正在初始化模拟模型...",complete:"模拟完成。"}},Gd={Layout:{tagline:"为重视洞察而非噪音的交易者而设计"},Legal:{termsAndPrivacy:"条款与隐私",googleTermsDescription:"继续使用 Google 即表示您同意我们的<terms></terms>和<privacy></privacy>。",legalAgreement:"我同意<terms></terms>和<privacy></privacy>。",pleaseAgreeToContinue:"请同意后继续",pleaseAgreeDescription:"您必须同意《服务条款》和《隐私政策》才能继续使用 Google。",legalTitle:"法律信息"},SignIn:{dontHaveAccount:"还没有账户?",googleVerifyingAuthorization:"Google 正在验证授权...",invalidCredentials:"无效的凭证",invalidEmail:"无效的邮箱地址",emailRequired:"请输入邮箱",passwordRequired:"请输入密码",pleaseCheckInfo:"请再次检查您的信息",emailPlaceholder:"请输入个人或工作邮箱",change:"更改",forgotPassword:"忘记密码",continueWithEmail:"使用邮箱继续"},SignUp:{repeatPassword:"重复密码",termsAgreement:"继续即表示您同意我们的<terms></terms>和<privacy></privacy>",continueWithEmail:"使用邮箱继续",alreadyHaveAccount:"已有账户?",signUpError:"注册过程中发生错误。"},PasswordRecovery:{title:"密码找回",emailRequired:"请输入邮箱!",emailPlaceholder:"your@example.com",sendConfirmationCode:"发送验证码",somethingWrong:"出了点问题",pleaseWaitAndRetry:"请稍后再试",confirmationCodeSent:"验证码已发送",checkYourEmail:"请查看您的邮箱"},ResetPassword:{title:"重置密码",confirmationCode:"验证码",confirmationCodeRequired:"请输入验证码。",newPassword:"新密码",repeatNewPassword:"确认新密码",passwordMinLength:"密码至少需要8个字符。",repeatPasswordMinLength:"确认密码至少需要8个字符。",passwordsMustMatch:"两次输入的密码不一致。",pleaseStartAgain:"请重新开始",resetSuccess:"重置成功",useNewPassword:"请使用您的新密码",passwordNotConfirmed:"密码未确认!"},Confirm:{title:"确认您的账户",codeSentTo:"确认码已发送至:",otpDescription:"请输入发送到您邮箱的一次性密码。",otpLength:"验证码必须为6位字符。",turnstileError:"Turnstile 出现错误",confirmError:"确认时发生错误:{message}",confirm:"确认"}},Fd={features:{title:"功能",patternSelector:{title:"形态选择器",subtitle:"根据历史市场数据分析您的交易想法,寻找相似的价格形态和结果。"},patternTracker:{title:"形态追踪器",subtitle:"持续在后台扫描市场,并在出现匹配形态时向您发出提醒。"},newsImpact:{title:"新闻影响",subtitle:"展示过去新闻发布对价格走势的影响,让您了解市场此前的反应。"}},resources:{title:"资源",learnAndUse:{title:"学习与使用",subtitle:"学习分析概念,并了解如何有效使用平台。"},updatesAndInsights:{title:"更新与洞察",subtitle:"关于我们正在构建和探索内容的新闻与更新。"},whoWeAre:{title:"关于我们",subtitle:"我们是谁、我们的信念以及我们为何构建这一切。"},helpCenter:{title:"帮助中心",subtitle:"在您需要时获取帮助、指导和解答。"}},pricing:{title:"价格方案"}},Bd={badge:"功能",title:"人工智能驱动的市场分析,助您做出更明智的决策",description:"利用先进分析和历史智能,发现市场模式、分析市场反应,并在做出决策前了解各种可能性。",creditUsage:"积分使用",resetAfter:"重置后",resetAfterColon:"重置后:",useThisFeature:"使用此功能",automateNow:"立即自动化",analyzeNow:"立即分析",inSession:"您正在交易时段中",sessionActive:"当前交易时段已激活",continueSession:"继续交易时段",pageHeader:{account:{title:"个人资料",infoTitle:"您的账户",infoDescription:"管理您的设置、偏好和连接"},subscription:{title:"订阅",infoTitle:"您的方案",infoDescription:"管理您的方案、账单和付款"},support:{title:"支持",infoTitle:"获取帮助",infoDescription:"查找问题答案并联系我们的支持团队"},referral:{title:"社区",infoTitle:"社区成长计划",infoDescription:"邀请好友,赚取返佣,共同成长"}}},jd={chooseYour:"选择您的",plan:"方案",annualPromo:"选择年度订阅,免费获得超过2个月的服务",monthly:"月付",yearly:"年付",yearlyBadge:"-20%",comparePlans:"比较方案",compareSubtitle:"全面了解每个套餐所包含的功能。",usage:"使用量",usageSection:"使用情况",features:"功能",featuresSection:"功能",freePricePerMonth:"$0 / 月",pricePerMonth:"{price} / 月",patternSelector:"形态选择器",patternTracker:"形态追踪器",newsImpact:"新闻影响",scanResultLimit:"扫描结果限制",historicalData:"历史数据",webhook:"Webhook",patternExport:"形态导出",scansPerDay:"每日 {count} 次扫描",scansPerDayDefault:"每日 2 次扫描",patternsCount:"{count} 个形态",perDay:"每日 {count} 次",perDayDefault:"每日 1 次",tabsCount:"{count} 个标签页",tabsCountDefault:"1 个标签页",limited:"有限",historicalYears:"20年以上",included:"✓",notIncluded:"—",planChangedSuccess:"已成功切换至 {planTitle} 方案!",subscriptionSuccess:"已成功订阅 {planTitle}!",paymentSuccessful:"付款成功!",planUpdated:"您的方案已更新。",planUpdatedDescription:"您的方案已更新。您可以立即开始使用新功能。",subscriptionActive:"您的订阅现已生效。",subscriptionActiveDescription:"您对 {planTitle} 的订阅现已生效。感谢您的购买!",manageBillingInfo:"管理账单信息",continueToApp:"继续使用应用",loadingPaymentDetails:"正在加载付款详情...",paymentError:"付款错误",noSessionId:"未提供会话 ID",goToApp:"前往应用",alreadySubscribedPlan:"您已订阅此方案。",activeSubscriptionManage:"您已有有效订阅。请通过账单管理更改方案。",planChangeScheduled:"方案变更已安排",planChangeScheduledDesc:"您的方案将在下次账单日切换为 {planTitle}。",alreadyOnPlan:"您已在使用此方案",changePlanFailed:"方案更改失败,请使用账单管理。",alreadyActiveSubscription:"您已有有效订阅",noChangesMade:"未做任何更改",alreadyOnPlanDesc:"您当前使用的是 {planTitle} 方案。",badgeFree:"免费",badgePopular:"热门",badgeBestDeal:"最佳优惠",badgeMaximumAccess:"最高权限",freeForEveryone:"人人免费",usdPerMonth:"美元/月",yearlyAmount:"{amount} 美元 / 年",monthlyAmount:"{amount} 美元 / 月",currentPlan:"当前方案",startForFree:"免费开始",getPlan:"获取 {planTitle}",switchToPlan:"切换至 {planTitle}",changePlanConfirmTitle:"确认更改方案",changePlanConfirmDesc:"您当前使用的是 {currentPlan} 方案。请选择新价格生效时间。",changeNextBilling:"下次账单日更改",changeNow:"立即更改",confirmNextBillingTitle:"确认下次账单日更改",confirmNextBillingDesc:"确定要在下次账单日安排此方案变更吗?在此之前,您当前的 {currentPlan} 方案将保持有效。下次账单日将切换为 {planTitle}({amount})。",yesChangeNextBilling:"是,下次账单日更改",continueToCheckout:"继续结账",freeCheckoutDesc:"您当前为免费方案。继续结账以订阅 {planTitle}。",continue:"继续",agreeRefundPolicy:"我同意<link>退款与取消政策</link>。",everythingInPlan:"包含 <plan></plan> 套餐中的所有内容",plans:{free:{title:"免费",subtitle:"探索与体验",heading3:"适合个人交易者"},standard:{title:"标准版",subtitle:"自信分析",heading3:"适合个人交易者"},pro:{title:"专业版",subtitle:"深度分析",heading3:"团队与专业版"},expert:{title:"专家版",subtitle:"无限制分析",heading3:"适合专业交易者"}},planFeatures:{categories:{candleScanner:"K线扫描器",candleSignal:"K线信号"},labels:{patternSelector:"形态选择器",patternTracker:"形态追踪器",newsImpact:"新闻影响",scanResultLimit:"扫描结果限制",activeTabs:"活动标签页",timeframes:"时间周期",webhook:"Webhook"},values:{scansPerDay:"每日 {count} 次扫描",patterns:"{count}",perDay:"{count}",tabsWorkspace:"{count}(工作区)",enabled:"已启用",disabled:"已禁用"}}},Ud={Connections:{connectedAccount:"已连接账户",creditUsage:"积分使用情况",totalCreditsUsed:"已使用积分总数",resetsIn:"将在 {duration} 后重置",understandingCredits:"了解积分与使用情况",nearLimit:"接近限制"},Subscription:{myPlan:"我的方案",thanksForSubscribing:"感谢您的订阅!",billingHistory:"账单历史",nextBillingDate:"下次账单日期",whichPlan:"哪个方案适合您?",patternSelectorCreditsPerDay:"{count} 个形态选择器积分 / 天",patternTrackerCreditsPerDay:"{count} 个形态追踪器积分 / 天",newsImpactCreditsPerDay:"{count} 个新闻影响积分 / 天",chatAssistantCreditsPerDay:"{count} 个聊天助手积分 / 天",prioritySupport:"优先支持"},Billing:{noInvoices:"No invoices found.",loadError:"Failed to load invoices. Please try again later.",viewInvoice:"查看发票"}},zd={referralRebate:"推荐返佣",referredUsers:"推荐用户",totalRebateEarned:"累计获得返佣",referredUsersCount:"已推荐用户",activeReferrals:"有效推荐",referralLink:"推荐链接",shareDescription:"与好友分享您的推荐链接。当他们完成订阅后,您将从他们的方案中获得返佣。",joinedDate:"加入日期",loading:"加载中...",noReferralCodeAvailable:"暂无可用推荐码",updateReferralCodeTitle:"更新推荐码",createReferralCodeTitle:"创建推荐码",updateReferralCodeDescription:"请在下方更新您的推荐码。",createReferralCodeDescription:"输入推荐码以开始分享您的推荐链接。",enterReferralCodePlaceholder:"输入推荐码",enterReferralCode:"请输入推荐码",codeCreatedSuccess:"推荐码创建成功",codeUpdatedSuccess:"推荐码更新成功",codeMinChars:"至少 5 个字符",codeMaxChars:"最多 15 个字符",create:"创建",update:"更新",pageNumber:"第 {page} 页",noReferredUsersYet:"尚无推荐用户",shareReferralEmptyDescription:"分享您的推荐链接,开始扩大您的网络并赚取返佣。"},Yd={mainMenu:{coreFeatures:"核心功能",account:"账户",subscription:"订阅",communityGrowthProgram:"社区成长计划",support:"支持",others:"其他"},patternMenu:{trackedPatterns:{label:"我的追踪形态",tooltipTitle:"由 AI 检测的高概率交易形态",tooltipDescription:"iC Candle 全天候24小时追踪全球市场,检测您关注的交易形态,并提供置信度等级和突破方向。使用筛选功能找到最佳交易机会,然后点击任何形态查看完整详情。"},classicPatterns:{label:"经典形态",tooltipTitle:"经典形态",tooltipDescription:"选择您关注的形态——双顶、头肩形、旗形、矩形等,然后启用信号。我们会在您选择的市场中监控每一次价格变动,并在形态完成时立即通知您。您可以通过 Telegram、电子邮件或应用内通知自定义接收方式,确保不错过任何交易机会。"}},helperBar:{watchList:"观察列表",savedPatterns:"已保存的形态",newsMovingMarket:"市场正在发生什么?",favoritesCount:"收藏 ({count})",groupWithCount:"{label} ({count})",noItemsInWatchList:"关注列表暂无项目",watchListLast:"最新价",watchListChg:"涨跌",watchListChgPercent:"涨跌%",removeFromFavorites:"从收藏中移除",addToFavorites:"添加到收藏",removeSymbolFromFavorites:"从收藏中移除 {symbol}",addSymbolToFavorites:"将 {symbol} 添加到收藏",groupCommodity:"大宗商品",groupForex:"外汇",groupCrypto:"加密货币",groupIndices:"指数",groupStock:"股票"},profileMenu:{darkTheme:"深色主题",chatWithUs:"与我们聊天",termsAndConditions:"条款与条件",logOut:"退出登录"},tabAdded:"标签页已添加",tabMemoryWarning:"添加更多标签页可能会增加设备的内存占用。",tabLimitReached:"已达到标签页上限",tabLimitReachedMax:"您已达到当前方案允许的最大标签页数量。",tabLimitReachedUpgrade:"您已达到当前方案允许的最大标签页数量。请升级方案以获得更多访问权限。",notifications:"通知",noNotifications:"暂无通知",notificationsOfflineReconnect:"(离线)请重新连接通知",headerNav:{selectorTitle:"形态选择器",selectorShortTitle:"形态选择器",patternTitle:"形态追踪器",patternShortTitle:"追踪",newsTitle:"新闻影响",newsShortTitle:"新闻"},guideFeatures:{selector:{title:"形态选择器",description:"根据历史市场数据分析您的交易想法,寻找相似的价格形态和结果。"},pattern:{title:"形态追踪器",description:"持续在后台扫描市场,并在出现匹配形态时向您发出提醒。"},news:{title:"新闻影响",description:"展示过去新闻发布对价格走势的影响,让您了解市场此前的反应。"}}},Hd={mostSimilarNews:"最相似的新闻:",selectEvent:"选择事件",economicCalendarAnalysis:"经济日历分析",economicCalendar:"经济日历",predictAvailable:"预测可用",predictUnavailable:"预测不可用",actualReleased:"实际数据已公布",analyzeImpact:"分析影响",candleDataTooFar:"K线数据距离该事件时间过远。",tryAnotherTimeframe:"请尝试其他时间周期。",aiIntelligence:"AI智能",matchPercent:"{percent}% 匹配",whatHappenedOnNews:"该新闻发生了什么:",newsBeforeEvent:"此次 {eventName} 之前的相关新闻",time15MinLater:"15分钟后",time30MinLater:"30分钟后",time1HourLater:"1小时后",time2HoursLater:"2小时后",time4HoursLater:"4小时后",noDataHere:"No data here",pleaseWaitAndRetry:"Please wait and try again",current:"Current",previousMonth:"上个月",nextMonth:"下个月",holiday:"Holiday",seeAll:"查看全部",selectedSymbols:"已选交易对",marketNews:"市场新闻",patternType:"形态类型",unknownPublishDate:"发布日期未知",noMatchingArticleDetails:"无匹配的文章详情",model:"模型",temperature:"温度",temperatureLow:"低",temperatureMedium:"中",temperatureHigh:"高",previousActual:"前值",currentForecast:"当前预测值",previousForecast:"预测值",goToEventDetail:"前往活动详情",eventInfoNotFound:"未找到活动信息",ppi:"生产者价格指数衡量制造商和生产者销售的商品和服务价格变化。",cpi:"消费者价格指数衡量消费者购买的商品和服务价格变化。",coreCpi:"核心CPI衡量剔除食品和能源后的消费者价格变化,是央行关注的关键通胀指标。",jolts:"职位空缺与劳动力流动调查衡量美国未填补的职位空缺数量。",nfp:"非农就业人数衡量美国就业人数变化,不包括农业及部分行业。",ijc:"初请失业金人数衡量首次申请失业保险的个人数量,用于反映劳动力市场状况。",fomc:"联邦公开市场委员会是美国中央银行机构,负责设定利率并执行货币政策。",fedRate:"美联储利率决议公告,设定联邦基金目标利率,影响货币政策和金融市场。",gdpAdvance:"国内生产总值衡量一个经济体中商品和服务的总产出价值。Advance GDP 为首次估算发布。",gdpMonthly:"国内生产总值衡量一个经济体中商品和服务的总产出价值。月度数据用于跟踪短期增长(如英国GDP月率)。",unemploymentRate:"失业率衡量劳动力中失业人口所占比例。",ahe:"平均时薪衡量工人(不包括农场工人)工资的月度变化。",corePce:"核心个人消费支出价格指数衡量剔除食品和能源后的个人消费支出月度变化,是美联储偏好的通胀指标。",retailSales:"零售销售衡量零售层面销售总额的月度变化。",ismManufacturingPmi:"ISM制造业PMI通过调查数据衡量美国制造业健康状况;高于50表示扩张。",ismServicesPmi:"ISM服务业PMI通过调查数据衡量美国服务业健康状况;高于50表示扩张。",gdpPrelim:"预估GDP为季度GDP增长的第二次估算,衡量经济总产出。",adpNfp:"ADP非农就业变化衡量ADP/穆迪调查的私营部门就业变化,是非农就业的领先指标。",eci:"就业成本指数衡量包括工资和福利在内的劳动力成本季度变化,是美联储重点关注的通胀指标。",flashManufacturingPmi:"制造业PMI初值是基于调查数据的制造业活动初步估算;高于50表示扩张。",flashServicesPmi:"服务业PMI初值是基于调查数据的服务业活动初步估算;高于50表示扩张。",claimantCount:"英国申领人数变化衡量领取失业相关福利人数的月度变化,是英国劳动力市场的重要指标。",boeRate:"英国央行官方利率是货币政策委员会设定的利率,用于引导英国货币政策和英镑市场。",ecbMainRefinancingRate:"欧洲央行主要再融资利率是欧央行向银行提供流动性的关键政策利率,用于引导欧元区货币政策和欧元市场。",snbPolicyRate:"瑞士国家银行政策利率是瑞士央行的关键政策利率(基于SARON框架),用于引导瑞郎市场和货币政策。",cadEmploymentChange:"加拿大就业变化衡量加拿大统计局劳动力调查中的就业人数月度变化,是加拿大劳动力市场及加元的重要指标。"},Wd={matchPercent:"匹配 {percent}%",matchLabel:"匹配",mismatch:"不匹配",noResultsFound:"未找到结果",result:"结果",filter:"筛选",filterBy:"筛选条件",clearFilter:"清除筛选",selectFilterType:"选择筛选类型",matchPercentLabel:"匹配 %",selectSymbol:"选择交易对",selectMatchPercent:"选择匹配 %",selectDateRange:"选择日期范围",dateLast1Month:"最近1个月",dateLast6Months:"最近6个月",dateLastYear:"最近1年",dateLast3Years:"最近3年",dateAllTime:"全部时间",noDataFound:"暂无数据",runScanToSeePatternResults:"在此运行扫描以查看形态结果",scanAgainToPlay:"重新扫描以播放图表",scan:"扫描",activateSelector:"激活选择器",resetAfterDuration:"重置后:{duration}",markets:"市场",scannerOptions:"扫描选项",saveOptions:"保存选项",searchSymbol:"搜索交易品种",probabilityCalculation:"概率计算",probabilityCalculationTooltip:"定义用于概率计算的未来K线数量。",period:"周期",periodTooltip:"定义扫描结果的时间范围。",timeframeTooltip:"定义扫描结果的K线时间周期。",topResultsTooltip:"定义扫描结果的数量。",auto:"自动",settings:"设置",collapseToolbar:"收起工具栏",expandToolbar:"展开工具栏",availableBars:"可用K线:{count}",clearReplayFirst:"请先清除回放图表",trackPattern:"跟踪形态",selectAll:"全选",searchTimeframe:"搜索时间周期",selectAllTimeframes:"全选时间周期",selectTimeframeAria:"选择时间周期 {label}",selectSymbolAria:"选择交易品种 {symbol}",timeframeTypeMinutes:"分钟",searchFilterSaved:"搜索筛选条件保存成功。",periodAll:"全部",periodLastYear:"近 1 年",periodLast3Years:"近 3 年",periodLast5Years:"近 5 年",periodLast15Years:"近 15 年",topResults:"最佳结果",tabSymbols:"交易品种",tabAdvancedOptions:"高级选项",tabBasic:"基础",tabAdvancedFilter:"高级筛选",priceMovementData:"价格走势数据:",askAssistantExplanation:"向 AI 助手请求解释",selectCandleCount:"选择K线数量",priceChanges:"价格变化",candlesCount:"{count} 根K线",basedOnDirectionPatterns:"基于该形态之后的“{direction}”走势",noAiMovementData:"没有关于 {direction} 方向的 AI 价格走势数据"},qd={scannedAt:"扫描时间:",trackerActivated:"追踪器已激活",match:"匹配:{percent}%",result:"结果",windowSize:"窗口大小:{size}",patternSelectorHistory:"形态选择器历史记录",noFilter:"无筛选",favorite:"收藏",windowSizeFilter:"窗口大小",windowSizePlaceholder:"窗口大小 (10-50)",submit:"提交"},Vd={trackYourCustomPatterns:"追踪您的自定义形态",selectedSymbol:"所选品种",selectedSymbols:"所选品种",timezone:"时区",selectedTimeframes:"所选时间周期",moreItems:"还有{count}项",selectedBars:"所选K线",barsCount:"{count} 根K线",timeFrame:"时间周期",patternType:"形态类型",created:"创建时间",editPattern:"编辑形态",createNewTracker:"创建新的追踪器",firstYouHaveToScan:"您需要先进行扫描",goToScan:"前往扫描",addToPatternTracker:"添加到形态追踪器",goToPatternTracker:"前往形态追踪器",addToPatternTrackerDescription:"当该形态再次出现时,您将收到实时更新。请输入一个名称以帮助您识别此提醒。",patternName:"形态名称",patternNamePlaceholder:"输入该形态的名称",patternNameMinChars:"至少需要 5 个字符。",patternNameMaxChars:"已达 20 个字符上限。",patternNameErrorTitle:"形态名称错误",patternNameErrorDescription:"请输入形态信号名称",customPatternSignalTooltip:"当该形态在 MARKET 上形成时,您将收到“自定义形态信号”的通知",noPatternDataFound:"未找到形态数据",limitReached:"已达到限制",limitReachedTrackerDescription:"您已达到可创建的形态追踪器最大数量。",trackerUpgradeToastDescription:"您已达到当前方案允许的最大信号数量。请升级方案以获得更多权限。",patternConfigUpdated:"形态配置已更新",patternConfigUpdatedDesc:"形态配置 “{name}” 已更新",patternConfigError:"形态配置错误",patternConfigErrorDesc:"更新形态配置失败",patternSaved:"形态已保存",patternSavedDesc:"形态名称 “{name}” 已保存",patternSignalError:"形态信号错误",patternSignalErrorDesc:"保存形态失败",trackerTutorialPlanLimitExpert:"您的方案最多允许追踪 {limit} 个形态。",trackerTutorialPlanNoTracking:"您的方案不包含形态追踪功能。升级方案后即可将形态添加到追踪器。",trackerTutorialPlanTrackingLimit:"您的方案最多允许追踪 {limit} 个形态。升级方案可追踪更多形态。",currentPlan:"当前方案",planFree:"免费",configurePatternTracker:"配置形态追踪器",selectTimeframesAndSymbols:"选择您希望监控该形态的时间周期和交易品种。",selectTimeframes:"选择时间周期",chooseTimeframes:"选择您希望监控该形态的时间周期。",searchTimeframes:"搜索时间周期",timeframeSelected:"已选择 {count} 个时间周期",timeframesSelected:"已选择 {count} 个时间周期",symbolSelected:"已选择 {count} 个交易品种",symbolsSelected:"已选择 {count} 个交易品种",patternSelected:"{count} 个形态",patternsSelected:"已选 {count} 个形态",patternTypes:"形态类型",patternSubscribed:"形态已订阅",patternSubscribedDesc:"形态「{name}」已开始追踪",patternSubscriptionError:"形态订阅失败",subscriptionModalAria:"形态追踪器订阅",noPatternCandles:"未找到形态K线数据",chartSymbolRequired:"图表品种为必填项",userIdRequired:"用户ID为必填项",subscribe:"订阅",subscribing:"订阅中...",tabTimeShort:"时间",signalDialog:{title:"信号设置 - {patternTitle}",successDescription:"信号设置更新成功",selectOneTimeframe:"请至少选择一个时间周期",selectOneSymbol:"请至少选择一个交易品种",selectOneTimeframeAndSymbol:"请至少选择一个时间周期和一个交易品种",selectCurrencyPairs:"选择货币对",chooseCurrencyPairs:"选择您希望监控形态的货币对",searchCurrencyPairs:"搜索货币对"},noMatchesFound:"未找到匹配结果",filterCategoryPattern:"形态",filterCategorySymbol:"交易对",filterCategoryTimeframe:"时间周期",selectCategory:"选择类别",searchCategory:"搜索{category}...",timeframeOptions:{M15:{displayName:"15分钟",description:"15分钟时间周期"},M30:{displayName:"30分钟",description:"30分钟时间周期"},H1:{displayName:"1小时",description:"1小时时间周期"},H2:{displayName:"2小时",description:"2小时时间周期"},H4:{displayName:"4小时",description:"4小时时间周期"},D:{displayName:"1天",description:"日线时间周期"}}},_d={priceActionPattern:"价格行为形态",labels:{flagbear:"Bearish Flag",flagbull:"Bullish Flag",dd_top:"Double Top",dd_bot:"Double Bottom",aad_up:"AAD Up",aad_down:"AAD Down",has_bull:"Head and Shoulders Bullish",has_bear:"Head and Shoulders Bearish",rectangle:"Rectangle"},timeframes:{M1:"1 minute",M5:"5 minutes",M15:"15 minutes",M30:"30 minutes",H1:"1 hour",H2:"2 hours",H4:"4 hours",D1:"Daily"},patterns:{doubleBottom:{desc:'<div><p>当价格两次测试相同水平但未能突破时,会形成此类形态。</p><ul style="list-style-type: disc; margin-left: 20px; margin-top: 10px;"><li>这表明市场在某个方向上的动能正在减弱。</li><li>价格突破该区间后,通常预示着趋势即将反转。</li></ul></div>'},doubleTop:{desc:'<div><p>当价格两次测试相同水平但未能突破时,会形成此类形态。</p><ul style="list-style-type: disc; margin-left: 20px; margin-top: 10px;"><li>这表明市场在某个方向上的动能正在减弱。</li><li>价格突破该区间后,通常预示着趋势即将反转。</li></ul></div>'},bullishFlag:{desc:'<div><p>在强劲上涨或下跌走势后的短暂暂停或盘整阶段。</p><ul style="list-style-type: disc; margin-left: 20px; margin-top: 10px;"><li>价格会在一个与原趋势相反的小幅倾斜通道中波动。</li><li>当价格突破旗形结构后,趋势通常会继续沿原方向发展。</li></ul></div>'},bearishFlag:{desc:'<div><p>在强劲上涨或下跌走势后的短暂暂停或盘整阶段。</p><ul style="list-style-type: disc; margin-left: 20px; margin-top: 10px;"><li>价格会在一个与原趋势相反的小幅倾斜通道中波动。</li><li>当价格突破旗形结构后,趋势通常会继续沿原方向发展。</li></ul></div>'},bullishHeadShoulders:{desc:'<div><p>该形态显示市场力量的转变,并预示可能出现趋势反转。</p><ul style="list-style-type: disc; margin-left: 20px; margin-top: 10px;"><li>它由三个部分组成:一个较大的波动(「头部」)和两个较小的波动(「肩部」)。</li><li>当形态完成后,价格通常会突破并朝与此前趋势相反的方向运行。</li></ul></div>'},bearishHeadShoulders:{desc:'<div><p>该形态显示市场力量的转变,并预示可能出现趋势反转。</p><ul style="list-style-type: disc; margin-left: 20px; margin-top: 10px;"><li>它由三个部分组成:一个较大的波动(「头部」)和两个较小的波动(「肩部」)。</li><li>当形态完成后,价格通常会突破并朝与此前趋势相反的方向运行。</li></ul></div>'}}},Kd={chartPatterns:"图表形态是什么?",flagPattern:"如何有效交易旗形形态?",rectanglePattern:"矩形形态需要关注哪些关键特征?"},Jd={pip:"什么是点值(pip)?",majorCurrencyPairs:"主要外汇交易货币对有哪些?",lotSize:"什么是手数?",leverage:"什么是杠杆?",margin:"什么是保证金?",bullishFlagTrack:"跟踪所有品种和时间周期的看涨旗形形态"},Xd={cpi:"什么是CPI,它如何影响市场?",nfp:"什么是非农(NFP),它如何影响市场?",eurImpactfulNews:"市场中对美元影响最大的新闻是什么?"},Zd="lang",Qd="个人资料",$d={statistics:{tradersReport:"10位交易者中有7位表示其交易决策的一致性得到了提升。",satisfactionRate:"96%的测试版用户表示满意,并评价:“感觉就像身边多了一个智慧大脑一起交易。”",usersChanged:"超过80%的用户表示,iC Candle 改变了他们分析市场的方式。",lessTimeWatching:"由于形态提醒功能,用户平均减少了40%的看盘时间。",heading:"数以千计的交易者已经改变了他们观察市场的方式。"},feedback:{marketHistory:`市场历史引导我的交易:利用历史市场反应进行交易已经成为我全新的交易方式。我获得的价值和我支付的订阅费用相比?根本无法相提并论。A. Lee
17
+ 加密货币分析师(新加坡)`,tradersChatGPT:`交易员的ChatGPT:我几乎在日常生活中的所有事情上都使用ChatGPT,大家都知道它让事情变得多么简单。而且说实话……我觉得我找到了交易员版本的ChatGPT。M. Ganbaatar
18
+ 自营交易员(iTrader)`,backtesting:`感觉像是更高层次的回测:iC Candle的回测功能真的是改变游戏规则的存在。现在一切都变得如此快速、清晰,简直令人惊叹。我已经有点上瘾了。到了这个阶段,很难想象还有活跃交易员会在没有这个工具的情况下进行交易。B. Enkhbayar
19
+ 外汇交易员(蒙古)`,confirmsSetup:`验证我的交易策略:天啊,终于有一个工具能够真正证明我的分析是否可靠。自从开始使用iC Candle以来,我在交易中的犹豫减少了大约80%。现在我自信多了。S. Kimura
20
+ 波段交易员(日本)`,backtestingTitle:"感觉像是更高层次的回测",backtestingDesc:`iC Candle的回测功能真的是改变游戏规则的存在。现在一切都变得如此快速、清晰,简直令人惊叹。我已经有点上瘾了。到了这个阶段,很难想象还有活跃交易员会在没有这个工具的情况下进行交易。B. Enkhbayar
21
+ 外汇交易员(蒙古)`,confirmsTitle:"验证我的交易策略",confirmsDesc:`天啊,终于有一个工具能够真正证明我的分析是否可靠。自从开始使用iC Candle以来,我在交易中的犹豫减少了大约80%。现在我自信多了。S. Kimura
22
+ 波段交易员(日本)`,marketHistoryTitle:"市场历史引导我的交易",marketHistoryDesc:`利用历史市场反应进行交易已经成为我全新的交易方式。我获得的价值和我支付的订阅费用相比?根本无法相提并论。A. Lee
23
+ 加密货币分析师(新加坡)`,chatGPTTitle:"交易员的ChatGPT",chatGPTDesc:`我几乎在日常生活中的所有事情上都使用ChatGPT,大家都知道它让事情变得多么简单。而且说实话……我觉得我找到了交易员版本的ChatGPT。M. Ganbaatar
24
+ 自营交易员(iTrader)`},tags:{all:"全部",blog:"博客",crypto:"加密货币",event:"活动",pairs:"交易对"}},eh={title:"页面未找到",description:"您查找的页面不存在或已被移动。",backToHomepage:"返回首页",imageAlt:"页面未找到"},th=JSON.parse(`{"Page":{"title":{"terms":"服务条款","privacy":"隐私政策","refund":"退款与取消政策","cookie":"Cookie政策"},"tabs":{"terms":"服务条款","privacy":"隐私政策","refund":"退款与取消政策","cookie":"Cookie政策"},"nav":{"terms":"服务条款","privacy":"隐私政策","refund":"退款与取消政策","cookie":"Cookie政策"}},"Terms":{"title":"服务条款、TOS、条款、条件、免责声明、合同、协议","intro":{"p1":"This agreement is made between Pixel Nexus Global, a Singaporean Limited Liability company operating as www.iccandle.ai (“Pixel Nexus Global,” “we,” “us,” or “our”), and the individual or entity purchasing or utilizing services offered through the Platform (“Customer,” “you,” or “your”). If you are acquiring the Services on behalf of a third party, you confirm that you have the legal authority to bind that party to these Terms of Service and will be liable for their use of the Services.","p2":"By accessing the Platform and Services outlined in this document and promoted on www.iccandle.ai, or by subscribing to services via the iccandle.ai website, you acknowledge that you have read, understood, and agreed to these Terms, Conditions, and Disclaimers. You further agree that your relationship with us is governed by the provisions set forth in this TOS.","p2Emphasis":"If you do not accept these terms, you must discontinue all use of iccandle.ai and any associated services or Platforms immediately."},"sections":[{"title":"1. The Services","paragraphs":["Pixel Nexus Global will provide active customers in good standing with access to its AI-powered analytical tool (the “Platform”). As used in this Agreement, the term “Services” refers to Pixel Nexus Global’s provision of your access to the Platform. The Services will be provided to you under one or more subscriptions, account activations, sign-ups, or orders placed by you on the iccandle.ai website and accepted by Pixel Nexus Global (an “Order”).","In case of any conflict between these TOS and an Order, the terms of these TOS shall take precedence. By accepting the Services, you acknowledge and agree that any different or additional terms proposed by you in an Order or otherwise are expressly rejected by Pixel Nexus Global, unless we have agreed to such terms in a written document signed by an authorized representative."]},{"title":"2. Your Obligations","subsections":[{"title":"Customer Information and Account Responsibilities","paragraphs":["You agree to provide Pixel Nexus Global with accurate information when creating your account, throughout our business relationship, and in all correspondence with us. We may occasionally need to contact you via email or telephone regarding the Services. You agree to maintain a valid email address that you check daily and to promptly notify us of any changes to your contact information.","Pixel Nexus Global shall not be responsible for any service interruptions, damages, or consequences resulting from misdirected communications due to your failure to provide current contact details. You also agree to complete all data entitlement surveys within the platform completely and truthfully to maintain compliance with exchange regulations."]},{"title":"Permitted Use of Platform","paragraphs":["Your use of the Platform must comply with these TOS and any accompanying documentation we provide. If you permit third parties to access the Platform, you agree to: (i) restrict their use in accordance with these terms; (ii) ensure their compliance with these TOS and our Privacy Policy; and (iii) remain fully liable for any violations of these TOS or the Privacy Policy by such third parties."]},{"title":"Intellectual Property and Legal Compliance","paragraphs":["You agree not to alter, obscure, or remove any trademark or proprietary notices. You may only use the Platform in accordance with: (i) the laws governing these TOS; and (ii) all applicable laws in your jurisdiction.","Unauthorized use is strictly prohibited."]}]},{"title":"3. Term","subsections":[{"title":"Effective Date and Term Duration","paragraphs":["These Terms of Service (TOS) become effective (\\"Effective Date\\") on the earlier of: (i) the date you click \\"I accept\\" as recorded by our servers; or (ii) the date you first access or use the Platform.","These TOS remain in effect for the duration of any active Order."]},{"title":"Subscription Terms and Renewals","paragraphs":["The Services will automatically renew for successive periods (monthly, quarterly, or annually) as specified in your Order. If unspecified, the default initial subscription period (\\"Initial Term\\") is one month. Subsequent renewal periods (\\"Renewal Terms\\") will match the Initial Term’s duration."]},{"title":"Trial Period Terms","paragraphs":["Pixel Nexus Global may offer trial periods (paid or free) as indicated on the iccandle.ai trial signup page. During any trial period:"],"listOrdered":["All terms and conditions of this agreement apply as if you were a paid subscriber","You may cancel at any time during the trial to prevent automatic renewal","Trial terms and conditions are subject to change without notice"]},{"title":"Subscription Management Responsibility","paragraphs":["You are solely responsible for managing your subscription, including:"],"listDisc":["Monitoring renewal dates","Updating payment information","Initiating cancellations","Maintaining current contact information"],"paragraphsAfter":["Pixel Nexus Global is not responsible for any charges due to failure to manage your subscription."]}]},{"title":"4. Termination","subsections":[{"title":"Cancellation and Termination Policy","paragraphs":["Details about cancellation and refund policies are available on our Refund and Cancellation Policy page at iccandle.ai. Terminating your account disables automatic renewals but does not cancel past invoices or make prior payments refundable unless stated otherwise in our Refund and Cancellation Policy.","Any currently due invoices must be paid in full to settle your account. Your access to Pixel Nexus Global services will continue until the expiration of your prepaid period or trial term."]},{"title":"Termination for Convenience","paragraphs":["Either party may terminate any Order by providing written notice at least one (1) day before the expiration of the Initial Term or any Renewal Term. For purposes of this provision, “written notice” includes communication through email, live chat, telephone, or via the Online Portal, indicating a desire not to continue service with Pixel Nexus Global in the future."]},{"title":"Termination for Policy Violations","paragraphs":["Pixel Nexus Global reserve the right to immediately suspend Services and/or terminate any Order in cases of violation of these TOS, breach of our Privacy Policy, or use of Services in a manner contrary to law or generally accepted internet standards. Such termination may occur without prior notice, dispute resolution process, or refund of any fees."]},{"title":"Effect of Termination","paragraphs":["The expiration or termination of any Order does not affect any rights or obligations that either (i) came into effect upon or after such expiration/termination, or (ii) survive the termination and were incurred by the parties prior to termination. Upon termination, you must promptly settle any outstanding balance. Pixel Nexus Global is not obligated to return any paid fees for terminations occurring prior to completion of a full term, except as may be expressly provided in our Refund and Cancellation Policy.","All termination matters are governed by the complete terms set forth in this agreement, and Pixel Nexus Global maintains full discretion in enforcing these provisions."]}]},{"title":"5. License Grant and Restrictions","paragraphs":["Pixel Nexus Global grants you a limited, revocable, non-exclusive, non-transferable, worldwide license to utilize our proprietary technology (\\"Pixel Nexus Technology\\") solely for accessing and employing our analytical engines as part of the Services, including any generated reports (\\"Reports\\"). This license is restricted to your account's registered users and automatically terminates upon expiration or termination of these TOS.","No rights beyond this limited license are conferred. All ownership rights in the Pixel Nexus Technology remain exclusively with Pixel Nexus Global or its licensors. You are expressly prohibited from: transferring, leasing, lending, sublicensing, reselling, or distributing the technology; using it for timesharing or service bureau purposes; or permitting unauthorized third-party access. You may not circumvent any protective measures safeguarding our proprietary interests, nor modify, reproduce, decompile, reverse engineer, or create derivative works from the Pixel Nexus Technology or Platform components. Upon termination, you must immediately cease using and permanently delete all Pixel Nexus Technology in your possession, ensuring any third parties with access do likewise."],"subsections":[{"title":"Ownership Rights","paragraphs":["Pixel Nexus Global retains all rights, title, and interest in the Pixel Nexus Technology and Platform, including but not limited to all derivative works, improvements, enhancements, and associated intellectual property rights such as trademarks and copyrights."]},{"title":"Feedback Provisions","paragraphs":["You may voluntarily provide, or we may solicit, input regarding the Platform or Services (\\"Feedback\\"), including suggestions for modifications or improvements. You acknowledge such Feedback constitutes Pixel Nexus Global's confidential proprietary information and irrevocably assign all related rights and interests to us. Pixel Nexus Global may utilize Feedback for any purpose without limitation or compensation obligation. This assignment applies globally and survives termination of these TOS.","All rights not expressly granted herein are reserved by Pixel Nexus Global. Any unauthorized use constitutes breach of these TOS and may result in immediate termination of your access rights."]}]},{"title":"6. Data Usage and Intellectual Property Rights","paragraphs":["Pixel Nexus Global may utilize information you provide or data collected from your use of the Platform and Services (\\"Operational Information\\") to deliver technical support and facilitate the implementation, operation, and administration of the Services. By using our Services, you grant us a perpetual, irrevocable license to process and analyze this Operational Information. We may combine this data with aggregate information from our general business operations to enhance existing Services or develop new products and offerings.","Pixel Nexus Global shall retain exclusive ownership of all intellectual property derived from such analysis and improvements. You hereby irrevocably waive any potential rights to this intellectual property and assign all rights, title, and interest therein to Pixel Nexus Global. You further agree to provide reasonable cooperation in securing and protecting these rights. We reserve the right to commercialize this Operational Information through sale, monetization, or incorporation into other products and services, without obligation to compensate you or grant you any ownership interest.","This license shall terminate upon expiration or cancellation of these Terms of Service, except with respect to historical data that has been aggregated and anonymized such that it cannot be identified as originating from your organization. Pixel Nexus Global may retain and continue to use such anonymized, aggregated data indefinitely for any lawful business purpose.","All intellectual property rights not expressly granted herein remain the exclusive property of Pixel Nexus Global. Your continued use of the Services constitutes acceptance of these terms regarding data usage and intellectual property rights."]},{"title":"7. Accuracy of Information Disclaimer","paragraphs":["Pixel Nexus Global relies on third-party data feeds to power its platform and therefore cannot guarantee the absolute accuracy of the information displayed. Different features within our system (such as scanners, automated analysis tools, charting functions, and back testing capabilities) may utilize separate data providers, which can result in variances between datasets across different platform features. Users should always verify analysis results and scanner conditions to ensure data consistency.","The platform's analytical outputs are inherently dependent on the quality of underlying third-party data, and Pixel Nexus Global makes no representations or warranties regarding the accuracy of these analyses. The iccandle.ai website, Services, and Platform are designed solely for informational and research purposes - they should never serve as the sole basis for investment decisions. Pixel Nexus Global disclaims all liability for any financial losses resulting from reliance on potentially inaccurate data or analysis within the Platform.","The Pixel Nexus Global system is provided strictly on an \\"as-is\\" basis without guarantees or warranties of any kind, as its functionality depends on unverified third- party data sources. The platform is intended exclusively for educational, entertainment, and general informational use - not as professional financial advice or a substitute for independent investment research. Users assume all risk associated with interpreting and acting upon any information displayed within the system.","By accessing and using the Platform, you acknowledge these inherent limitations and agree that Pixel Nexus Global shall not be held responsible for any consequences arising from data inaccuracies, analysis errors, or investment decisions made based on platform content."]},{"title":"8. Disclaimer of Investment Advice and Platform Limitations","paragraphs":["The analytical tools and outputs provided by Pixel Nexus Global's iccandle.ai platform are strictly for informational and research purposes only and should not be construed as investment advice. The platform relies on third-party data sources that may contain inaccuracies, and different features may produce varying results due to separate data providers. All analysis, including results from our Pattern Selector, Pattern Tracker, and News Impact Intelligence, is provided \\"AS-IS\\" without any guarantees of accuracy. These tools demonstrate historical patterns, probabilities, and market behavior under past conditions and cannot predict future results, as actual market outcomes may differ due to liquidity, execution, and other variables. You must never rely solely on platform analysis when making investment decisions."]},{"title":"9. Risk Acknowledgement and User Responsibility","paragraphs":["By using Pixel Nexus Global's platform (iccandle.ai), you expressly acknowledge and accept full responsibility for all risks associated with any investment decisions made based on information or analysis obtained from our Platform. You understand that our services rely on third-party data sources that may contain inaccuracies, and that our analytical models employ mathematical formulas and sequences that have not been independently verified for predictive accuracy. Pixel Nexus Global cannot and does not guarantee the reliability of any market data, technical indicators, or analytical outputs generated by the Platform.","Prior to executing any trades, you agree to either: (i) consult with a qualified, licensed financial professional; or (ii) conduct comprehensive independent research using multiple verified information sources.","Pixel Nexus Global expressly disclaims all liability for any trading losses, missed opportunities, or other financial consequences resulting from your reliance on Platform content. By continuing to use iccandle.ai, you confirm your understanding that our tools are designed for informational purposes only and that you alone bear complete responsibility for all investment choices and outcomes. This warning constitutes an essential term of our agreement, and your use of the Platform signifies your unconditional acceptance of these risk disclosures."]},{"title":"10. Disclaimer of Warranties and Service Limitations","paragraphs":["The Pixel Nexus Global platform (iccandle.ai), including all Services, scripts, reports, analytical engines, and related technology, is provided strictly on an \\"AS-IS\\" and \\"AS- AVAILABLE\\" basis. Pixel Nexus Global makes no representations or warranties of any kind, whether express or implied. This includes, but is not limited to, all implied warranties of non-infringement, merchantability, fitness for a particular purpose, accuracy, quality, or achievement of specific results. No warranties arise from any course of dealing, performance, or trade usage.","Pixel Nexus Global does not guarantee that the Service will meet your requirements, operate without interruption, remain error-free, or be secure from viruses or other harmful components. Compatibility with all websites or browsers is not assured, and Pixel Nexus Global disclaims all liability for issues arising from browser incompatibility or third-party services, even if such services appear integrated with our Platform. Any data transmitted via our Services remains your sole responsibility, and Pixel Nexus Global expressly disclaims liability for such content. No warranties provided by third- party vendors to Pixel Nexus Global extend to you, and you are not a third-party beneficiary of such agreements."],"subsections":[{"title":"Alert Features and Beta Functionality","paragraphs":["The Platform includes alert features (e.g., \\"Dynamic Price Alerts\\" and \\"Multi-Factor Alerts\\"), which are provided without warranty or guarantee of reliability. Technical delays or failures may occur due to cellular networks, email services, system errors, or other factors. You acknowledge that alerts may not function as intended and agree that Pixel Nexus Global bears no liability for trading losses resulting from reliance on these features, regardless of whether they were used correctly.","Certain features labeled as 'Beta' are under active development and may exhibit unstable or unreliable performance, including inconsistent data or incorrect information due to software bugs or programming errors. These Beta features carry additional risks and should be used with extreme caution."]},{"title":"General Provisions","paragraphs":["This warranty disclaimer applies to all oral or written information provided by Pixel Nexus Global, its employees, affiliates, or third-party vendors. You may not rely on any such statements or representations.","Some jurisdictions may not permit the exclusion of certain warranties. If applicable to you, any warranty claim must be filed within ninety (90) days of the Service provision that gave rise to the claim. Failure to submit a claim within this period constitutes an irrevocable waiver of your right to pursue such claims thereafter.","Third-party websites linked through the Pixel Nexus Global platform are not under our control, and we assume no responsibility for their content or functionality. Accessing these external sites is entirely at your own risk. Such links are provided for convenience only and do not constitute an endorsement or recommendation by Pixel Nexus Global.","By using the Platform, you acknowledge and accept these limitations and disclaimers in full."]}]},{"title":"11. Limitation of Liability","paragraphs":["Pixel Nexus Global's total liability under this Agreement shall not exceed the aggregate fees actually paid by you to Pixel Nexus Global during the one (1) month period immediately preceding the event giving rise to such liability. For purposes of this limitation, \\"Pixel Nexus Global\\" includes its employees, agents, owners, directors, officers, affiliates, and any third-party service providers facilitating the Services.","To the maximum extent permitted by law, you agree that under no circumstances - including negligence - shall Pixel Nexus Global or its licensors, agents, employees, officers, or third-party vendors be liable for any indirect, incidental, special, consequential, or punitive damages. This exclusion applies to, but is not limited to, damages for:"],"listOrdered":["Lost profits or revenue","Business interruption","Data loss or corruption","Lost savings","Any other financial losses incurred by you, end users, or third parties"],"paragraphsAfter":["These limitations apply regardless of whether the action arises in contract, tort (including negligence), or any other legal theory, and shall remain in effect even if Pixel Nexus Global has been advised of the possibility of such damages. While some jurisdictions may not allow limitations on certain liabilities, you agree that, where such restrictions apply, Pixel Nexus Global's liability shall be limited to the maximum extent permitted by applicable law.","This limitation of liability constitutes an essential basis of the bargain between you and Pixel Nexus Global and shall survive termination of this Agreement. By using the Services, you acknowledge that these limitations are reasonable and reflect the risk allocation between both parties."]},{"title":"12. Notices","paragraphs":["All official notices will be sent to your account’s listed contact information. You are responsible for maintaining current and accurate contact details in our records at all times.","For most inquiries, including technical support and billing matters, please visit our website at www.iccandle.ai for contact information and support options.","However, any legal notices regarding these Terms of Service or other Pixel Nexus Global policies must be sent exclusively via postal mail to our designated address:"],"address":{"company":"Pixel Nexus Global PTE. LTD.","lines":["160 Robinson Road, #14-04","Singapore Business Federation Center","Singapore 068914"]}},{"title":"13. Force Majeure","paragraphs":["Neither party shall be liable for any failure or delay in performance (except for payment obligations) due to events beyond their reasonable control, including, but not limited to, acts of God, natural disasters, war, civil unrest, epidemics, labor disputes, utility failures, telecommunication outages, supply chain disruptions, government actions, or other unforeseeable catastrophic events; provided that: (i) the affected party notifies the other in writing within ten (10) days of the event’s commencement; (ii) all payment obligations remain unaffected; (iii) the time for performance shall be extended day-for-day to match the duration of the disruption; and (iv) both parties use commercially reasonable efforts to mitigate the impact.","It is understood that this clause does not permit termination of the Agreement solely due to force majeure conditions, nor does it extend the Agreement term beyond its original expiration date without mutual written agreement."]},{"title":"14. No Waiver","paragraphs":["No failure or delay by Pixel Nexus Global in exercising any right under these Terms shall operate as a waiver of that right, nor shall any single or partial exercise of any right preclude the further or full exercise of that right or any other right under these Terms."]},{"title":"15. Assignment","paragraphs":["Pixel Nexus Global may assign these Terms, or any rights hereunder, without your consent. You may not assign these Terms without our prior written approval. These Terms shall be binding upon, and inure to the benefit of, the parties' respective successors and permitted assigns."]},{"title":"16. Severability","paragraphs":["If any provision of these Terms is held to be invalid or unenforceable by a court of competent jurisdiction, that provision shall be modified to the minimum extent necessary to make it valid and enforceable while preserving its original intent. All other provisions shall remain in full force and effect."]},{"title":"17. No Agency","paragraphs":["Nothing in these Terms creates an agency, partnership, joint venture or employment relationship between the parties. Neither party has authority to bind the other or incur obligations on the other's behalf."]},{"title":"18. Privacy & Conflicts","paragraphs":["Our Privacy Policy is incorporated herein by reference. In the event of a conflict between agreements: (i) these Terms prevail over the Privacy Policy; (ii) any separate service agreement shall prevail over conflicting provisions of these Terms, but only with respect to those specific provisions; and (iii) in all other cases, these Terms shall govern."]},{"title":"19. Jurisdiction and Disclaimer","paragraphs":["The services and information provided on iccandle.ai are not intended for use in jurisdictions where such services would be contrary to local laws or regulations. Access to and use of this website are strictly prohibited for citizens of the following jurisdictions: United States of America, Canada, Russian Federation, Iran, North Korea, Myanmar, Syria, Cuba, Crimea, Donetsk, and Luhansk regions of Ukraine, Afghanistan, Belarus, and Venezuela. This list may be updated at any time without prior notice. Users are solely responsible for ensuring that their access to and use of this website comply with all applicable laws and regulations in their country. iccandle.ai accepts no responsibility or liability for any non-compliance by users with their local regulatory requirements and reserves the right to restrict, block, or terminate access at its sole discretion."]}],"content":"《服务条款、TOS、条款、条件、免责声明、合同、协议》\\n本协议由 Pixel Nexus Global(一家在新加坡运营的有限责任公司,网站为 www.iccandle.ai,以下简称“Pixel Nexus Global”、“我们”或“本公司”)与通过本平台购买或使用服务的个人或实体(以下简称“客户”、“您”或“您的”)签订。如果您代表第三方获取服务,您确认您具有法律授权可使该第三方受本服务条款约束,并对其使用服务承担责任。\\n\\n通过访问本文件所述并在 www.iccandle.ai 推广的平台及服务,或通过 iccandle.ai 网站订阅服务,即表示您已阅读、理解并同意本服务条款、条件及免责声明。您进一步同意与我们的关系受本TOS条款约束。如您不同意这些条款,您必须立即停止使用 iccandle.ai 及其所有相关服务或平台。\\n\\n服务\\nPixel Nexus Global 将向合规的活跃客户提供其 AI 驱动的分析工具(以下简称“平台”)的访问权限。本协议中的“服务”指 Pixel Nexus Global 向您提供的平台访问权限。服务将通过您在 iccandle.ai 网站上提交并被 Pixel Nexus Global 接受的一项或多项订阅、账户激活或订单(以下简称“订单”)提供给您。\\n\\n如本TOS与订单存在冲突,以本TOS为准。通过接受服务,您确认并同意:您在订单或其他文件中提出的任何不同或附加条款均被 Pixel Nexus Global 明确拒绝,除非我们以书面形式并由授权代表签署同意。\\n\\n您的义务\\n客户信息与账户责任\\n您同意在创建账户、业务往来及所有沟通中向 Pixel Nexus Global 提供准确的信息。我们可能通过电子邮件或电话与您联系。您同意提供并持续维护有效且每日检查的邮箱,并及时更新联系方式。\\n\\n由于您未提供最新联系信息而导致的任何沟通错误、服务中断或损失,Pixel Nexus Global 不承担责任。您同意完整且真实填写平台内所有数据调查,以符合交易所监管要求。\\n\\n平台使用许可\\n您对平台的使用必须遵守本TOS及相关文件。如您允许第三方访问平台,您同意:(i)限制其使用符合本条款;(ii)确保其遵守TOS及隐私政策;(iii)对其任何违规行为承担全部责任。\\n\\n知识产权与法律合规\\n您不得修改、遮蔽或删除任何商标或专有标识。您仅可在法律允许范围内使用平台。\\n\\n严禁未经授权使用。\\n\\n期限\\n生效日期与期限\\n本TOS在以下较早时间生效:(i)您点击“我接受”的时间;或(ii)您首次访问或使用平台的时间。\\n\\n本TOS在任何有效订单期间持续有效。\\n\\n订阅与续订\\n服务将按订单自动续订(按月/季度/年度)。如未指定,默认初始订阅期为一个月,后续续订周期与初始周期一致。\\n\\n试用条款\\nPixel Nexus Global 可能提供试用(免费或付费)。在试用期间:\\n\\n本协议全部条款同样适用\\n您可随时取消以避免自动续订\\n试用条款可能在不通知情况下更改\\n\\n订阅管理责任\\n您需自行管理订阅,包括续费日期、付款信息更新及取消操作。因未管理订阅产生的费用由您自行承担。\\n\\n终止\\n取消与终止政策\\n详细取消与退款政策见 iccandle.ai 的退款政策页面。终止账户将停止自动续费,但不影响历史账单或已支付费用的退款,除非退款政策另有规定。\\n\\n任何应付账单必须全额结清。\\n\\n便利终止\\n任一方可在初始期或续订期结束前至少1天书面通知终止订单(包括邮件、聊天、电话或系统通知)。\\n\\n违规终止\\n如违反TOS或隐私政策,或非法使用服务,Pixel Nexus Global 有权立即暂停或终止服务,且无需提前通知或退款。\\n\\n终止效力\\n终止不影响已产生的权利与义务。所有未付款项需立即结清。已支付费用通常不可退还。\\n\\n许可与限制\\nPixel Nexus Global 授予您有限、可撤销、非独占、不可转让的全球许可,仅用于访问平台及分析工具。\\n\\n所有知识产权归 Pixel Nexus Global 所有。禁止转售、逆向工程、复制、出租或分发。\\n\\n数据使用与知识产权\\n您授权我们使用平台数据(“运营信息”)进行分析、优化及产品开发,并授予永久不可撤销许可。\\n\\nPixel Nexus Global 拥有所有基于数据分析产生的改进与衍生知识产权。\\n\\n信息准确性免责声明\\n平台依赖第三方数据源,不保证准确性。所有分析仅供信息参考,不构成投资建议。\\n投资免责声明与限制\\n平台工具仅用于研究与信息用途,不构成投资建议。历史模式不代表未来结果。\\n风险确认\\n用户自行承担所有交易与投资风险。建议咨询专业人士或独立研究。\\n无担保声明\\n平台按“现状”提供,不提供任何明示或暗示保证。\\n责任限制\\nPixel Nexus Global 的总责任不超过用户在过去1个月支付的费用。\\n\\n不承担任何间接损失(包括利润损失、数据损失等)。\\n\\n通知\\n所有正式通知将发送至账户联系方式。\\n\\n法律通知邮寄地址:\\nPixel Nexus Global PTE. LTD.\\n160 Robinson Road, #14-04\\nSingapore Business Federation Center\\nSingapore 068914\\n\\n不可抗力\\n因不可抗力导致的延误或失败不承担责任。\\n不放弃权利\\n未行使权利不构成放弃。\\n转让\\n公司可转让协议,用户不可未经同意转让。\\n可分割性\\n条款部分无效不影响整体效力。\\n非代理关系\\n本协议不构成代理、合伙或雇佣关系。\\n隐私与冲突\\n隐私政策为组成部分,如有冲突以本条款优先。\\n管辖与免责声明\\n部分国家/地区禁止使用本服务,包括但不限于:美国、加拿大、俄罗斯、伊朗、朝鲜、缅甸、叙利亚、古巴、克里米亚、顿涅茨克、卢甘斯克、阿富汗、白俄罗斯、委内瑞拉等。\\n用户需自行确保合法使用,本公司不承担因违规使用造成的责任,并有权限制访问。"},"Refund":{"title":"退款与取消政策","intro":"This Refund and Cancellation Policy (\\"Policy\\") governs refund and cancellation terms for services provided by Pixel Nexus Global Pte. Ltd. (\\"we,\\" \\"us,\\" \\"our\\") through the iccandle.ai platform (\\"Services\\"). This Policy is incorporated by reference into our Terms of Service and should be read in conjunction with those Terms.","sections":[{"title":"1. Definitions","definitions":[{"term":"订阅","text":"A recurring paid access to the Services for a specified period (e.g., monthly or annually)."},{"term":"Billing Period","text":"The recurring time interval for which a Subscription fee is charged."},{"term":"Subscription Change","text":"Any upgrade or downgrade to a different Subscription plan."}]},{"title":"2. Cancellation Terms","subsections":[{"title":"Subscription Cancellation","listDisc":["You may cancel your Subscription at any time through your account dashboard or by contacting support.","Cancellation will take effect at the end of the current billing period; you will retain access to the Services through the end of that period.","Cancelling your Subscription does not automatically entitle you to a refund of fees already paid."]}]},{"title":"3. Refund Terms","subsections":[{"title":"3.1 General Rule","paragraphs":["Except as expressly provided in this Policy or required by applicable law, all fees paid for Subscriptions are non‑refundable once charged."]},{"title":"3.2 Refund Eligibility","paragraphs":["We may issue a refund at our sole discretion only in limited circumstances, including but not limited to:"],"listDisc":["Duplicate payments (verified duplicate charges will be refunded).","Technical errors that demonstrably prevented access to Services, where the error was not caused by user actions and is verified by us.","Applicable statutory rights under consumer protection law where these rights apply and cannot be waived."],"paragraphsAfter":["Refunds, if approved, will be processed to the original payment method within a commercially reasonable timeframe determined by payment processors and banking partners."]},{"title":"3.3 No Refund for Partial Use","paragraphs":["Refunds will not be issued for:"],"listDisc":["Partial use of the Services during a billing period.","Downgrades of Subscription plans.","Change of mind or business decisions after payment.","Subscription cancellations submitted after a billing cycle has renewed."]}]},{"title":"4. Subscription Changes (Upgrade or Downgrade)","paragraphs":["We provide two options when changing your Subscription plan:"],"subsections":[{"title":"4.1 Change Now","paragraphs":["If you select \\"Change Now,\\" your new plan will take effect immediately, and the associated charge will be applied.","Please note that no refunds, credits, or prorated adjustments will be provided for any unused portion of your current plan."]},{"title":"4.2 Change on Next Billing","paragraphs":["If you choose \\"Change on Next Billing,\\" your current plan will remain active until the end of the current Billing Period.","The new plan will take effect at the start of the next Billing Period.","No refunds or credits apply to the current Billing Period."]}]},{"title":"5. Cancellation After renewal","paragraphs":["If an automatic renewal has already occurred before you submit a cancellation request: The renewal fee is non-refundable. The cancellation will apply to the next Billing Period."]},{"title":"6. Chargebacks and Disputes","paragraphs":["We maintain a strict no-tolerance policy toward unjustified chargebacks.","Initiating a chargeback or payment dispute without first contacting us to seek resolution is considered a breach of this Refund and Cancellation Policy and our Terms of Service. Such actions may result in immediate suspension or permanent termination of your account, without notice, and forfeiture of access to the Services.","We reserve the right to challenge and dispute any chargeback that we deem unauthorized, abusive, or inconsistent with this Policy. This includes providing payment processors, banks, and financial institutions with all relevant evidence, including but not limited to:"],"listDisc":["Proof of service delivery and access logs","Account activity records","Acceptance of our Terms of Service and policies","Communication history with the customer"],"paragraphsAfter":["Customers are strongly encouraged to contact our support team first to resolve any billing concerns. We are committed to addressing legitimate issues in good faith; however, chargebacks used as a substitute for cancellation or refund requests will not be tolerated."]},{"title":"7. Modification of Policy","paragraphs":["We may update this Policy from time to time. Material changes will be posted on our website or communicated via email prior to taking effect. Continued use of the Services after such updates constitutes acceptance of the revised Policy."]},{"title":"8. Contact Information","paragraphs":["For all cancellation and refund requests, please contact our support team via our help center."]}],"content":"退款与取消政策\\n\\n本退款与取消政策(以下简称“本政策”)规定了 Pixel Nexus Global Pte. Ltd.(以下简称“我们”)通过 iccandle.ai 平台(以下简称“服务”)提供服务时的退款与取消条款。本政策作为《服务条款》的组成部分,应与《服务条款》一并阅读。\\n\\n1. 定义\\n订阅(Subscription): 在特定周期内(例如按月或按年)对服务的循环付费访问权限。\\n计费周期(Billing Period): 收取订阅费用的循环时间间隔。\\n订阅变更(Subscription Change): 升级或降级至不同的订阅方案。\\n2. 取消条款\\n\\n订阅取消\\n\\n您可以随时通过账户后台或联系客服取消订阅。\\n\\n取消将在当前计费周期结束时生效;在该周期结束前,您仍可继续使用服务。\\n\\n取消订阅并不自动意味着您有权获得已支付费用的退款。\\n\\n3. 退款条款\\n3.1 一般规则\\n\\n除非本政策另有明确规定或适用法律要求,所有订阅费用在扣款后均不可退款。\\n\\n3.2 退款资格\\n\\n我们仅在有限情况下自行决定是否退款,包括但不限于:\\n\\n重复支付(经确认的重复扣款将予以退款)\\n由于技术错误导致无法访问服务,且该错误非用户行为造成,并经我们确认\\n适用的消费者保护法律所赋予且不可放弃的法定权利\\n\\n如获批准,退款将通过原支付方式在支付处理商及银行允许的合理时间内处理完成。\\n\\n3.3 部分使用不退款\\n\\n以下情况不予退款:\\n\\n计费周期内部分使用服务\\n订阅方案降级\\n支付后改变主意或商业决策变更\\n续费后再提交取消申请\\n4. 订阅变更(升级或降级)\\n\\n在变更订阅方案时,我们提供两种选项:\\n\\n4.1 立即变更(Change Now)\\n\\n若选择“立即变更”,新方案将立即生效,并产生相应费用。\\n\\n请注意,当前方案未使用部分不会提供退款、抵扣或按比例调整。\\n\\n4.2 下个计费周期生效(Change on Next Billing)\\n\\n若选择该选项,当前方案将在当前计费周期结束前继续有效。\\n\\n新方案将在下一个计费周期开始时生效。\\n\\n当前计费周期不提供退款或抵扣。\\n\\n5. 续费后的取消\\n\\n如果在您提交取消申请前已发生自动续费:该续费费用不可退款,取消将适用于下一个计费周期。\\n\\n6. 退款拒付(Chargeback)与争议\\n\\n我们对不合理的退款拒付(chargeback)采取零容忍政策。\\n\\n在未先与我们联系解决问题的情况下直接发起支付争议或拒付,将被视为违反本退款与取消政策及《服务条款》。此类行为可能导致账户立即暂停或永久终止,且无需提前通知,同时可能失去对服务的访问权限。\\n\\n我们保留对任何我们认为未经授权、滥用或违反本政策的拒付行为提出申诉的权利,包括向支付处理商、银行及金融机构提交相关证据,例如但不限于:\\n\\n服务交付证明及访问日志\\n账户活动记录\\n《服务条款》及相关政策的接受记录\\n与客户的沟通记录\\n\\n强烈建议客户优先联系客服团队解决任何账单问题。我们承诺以诚信方式处理合法问题;但以拒付替代取消或退款请求的行为将不被接受。\\n\\n7. 政策修改\\n\\n我们可能不时更新本政策。重大变更将在生效前通过网站或电子邮件通知。继续使用服务即表示您接受更新后的政策。\\n\\n8. 联系方式\\n\\n如需取消或退款相关请求,请通过我们的帮助中心联系支持团队。"},"Privacy":{"title":"隐私政策","intro":"This Privacy Policy explains how Pixel Nexus Global Pte. Ltd. (\\"we\\", \\"us\\", or \\"our\\") collects, uses, discloses, and protects personal information when you use our website, applications, and services (collectively, the \\"Services\\").","sections":[{"title":"1. Information We Collect","paragraphs":["We collect the following information:"],"listDisc":["Email address provided when you sign up for our Services","Service usage information, including interactions with features, pages viewed, session activity, and general usage patterns, collected to improve the functionality, performance, and user experience of our Services"],"paragraphsAfter":["We do not collect, store, or process payment card details or other sensitive payment information."]},{"title":"2. Payments and Stripe","paragraphs":["All payment transactions are processed by our third-party payment service provider, Stripe.","When you make a payment, Stripe collects and processes payment-related information (such as card details, billing information, and transaction data) directly. This information is handled in accordance with Stripe’s Privacy Policy and security standards, including PCI-DSS compliance.","We only receive limited information from Stripe necessary to operate our Services, including:"],"listDisc":["Payment confirmation","Subscription status","Transaction identifiers"],"paragraphsAfter":["We do not have access to your full payment details.","You can review Stripe’s Privacy Policy here:"],"stripePrivacyUrl":"https://stripe.com/privacy"},{"title":"3. How We Use Your Information","paragraphs":["We use the email addresses we collect to:"],"listDisc":["Provide, operate, and maintain our Services","Analyze service usage and improve product functionality, performance, and user experience","Communicate with you regarding technical notices, updates, and support","Inform you about products, services, features, and events"]},{"title":"4. Information Sharing","paragraphs":["We do not sell your personal information.","We may share your information only with:"],"listDisc":["Service providers who support our operations (including hosting, analytics, and payment processing via Stripe)","Professional advisors, such as legal, accounting, or compliance consultants","Law enforcement or regulatory authorities, when required by law or to protect our legal rights"],"paragraphsAfter":["All third-party service providers are required to process personal data in accordance with applicable data protection laws."]},{"title":"5. Your Rights","paragraphs":["Depending on your location, you may have the right to:"],"listDisc":["Access your personal information","Correct or update your email address","Request deletion of your email address","Object to or restrict certain processing activities"],"paragraphsAfter":["Requests related to payment data should be directed to Stripe, as they act as the data controller for payment information."]},{"title":"6. Third-Party Policies","paragraphs":["Our Services rely on third-party providers such as Stripe. Their handling of personal data is governed by their own privacy policies, and we encourage you to review them."]},{"title":"7. Contact Us","paragraphs":["If you have any questions about this Privacy Policy or our data practices, please contact us at:","support@iccandle.ai"]}],"content":"隐私政策\\n\\n本隐私政策说明 Pixel Nexus Global Pte. Ltd.(“我们”)在您使用我们的网站、应用程序及服务(统称为“服务”)时,如何收集、使用、披露及保护个人信息。\\n\\n1. 我们收集的信息\\n\\n我们收集以下信息:\\n\\n您在注册服务时提供的电子邮件地址\\n服务使用信息,包括对功能的交互、页面浏览记录、会话活动以及一般使用模式。这些数据用于改进我们服务的功能、性能及用户体验\\n\\n我们不会收集、存储或处理支付卡信息或其他敏感支付信息。\\n\\n2. 支付与 Stripe\\n\\n所有支付交易均由第三方支付服务提供商 Stripe 处理。\\n\\n当您进行支付时,Stripe 会直接收集并处理与支付相关的信息(如银行卡信息、账单信息及交易数据)。这些信息将依据 Stripe 的隐私政策及安全标准(包括 PCI-DSS 合规要求)进行处理。\\n\\n我们仅从 Stripe 接收运营服务所必需的有限信息,包括:\\n\\n支付确认\\n订阅状态\\n交易标识符\\n\\n我们无法访问您的完整支付信息。\\n\\n您可以在此查看 Stripe 的隐私政策:https://stripe.com/privacy\\n\\n3. 我们如何使用您的信息\\n\\n我们使用所收集的电子邮件地址用于:\\n\\n提供、运营及维护我们的服务\\n分析服务使用情况并改进产品功能、性能及用户体验\\n向您发送技术通知、更新及支持信息\\n向您介绍产品、服务、功能及活动信息\\n4. 信息共享\\n\\n我们不会出售您的个人信息。\\n\\n我们仅在以下情况下共享您的信息:\\n\\n支持我们运营的服务提供商(包括通过 Stripe 提供的托管、分析及支付处理服务)\\n专业顾问(如法律、会计或合规顾问)\\n法律或监管机构(在法律要求或为保护合法权益时)\\n\\n所有第三方服务提供商均需按照适用的数据保护法律处理个人数据。\\n\\n5. 您的权利\\n\\n根据您所在地区,您可能享有以下权利:\\n\\n访问您的个人信息\\n更正或更新您的电子邮件地址\\n请求删除您的电子邮件地址\\n反对或限制某些数据处理活动\\n\\n与支付数据相关的请求应直接提交给 Stripe,因为其作为支付信息的数据控制方负责处理相关数据。\\n\\n6. 第三方政策\\n\\n我们的服务依赖 Stripe 等第三方服务提供商。其对个人数据的处理受其自身隐私政策约束,我们建议您仔细阅读相关政策。\\n\\n7. 联系我们\\n\\n如果您对本隐私政策或数据处理方式有任何疑问,请通过以下方式联系我们:\\nsupport@iccandle.ai"},"Cookie":{"title":"Cookie 政策","intro":["This Cookie Policy explains how Pixel Nexus Global Pte. Ltd. (\\"we\\", \\"us\\", or \\"our\\") uses cookies and similar technologies when you visit or use iccandle.ai and related services (collectively, the \\"Services\\").","This Policy should be read together with our Privacy Policy."],"sections":[{"title":"1. What Are Cookies?","paragraphs":["Cookies are small text files placed on your device when you visit a website. They are widely used to make websites work efficiently, enhance user experience, and provide information to website operators.","Cookies may be:"],"listDisc":["Session cookies (deleted when you close your browser), or","Persistent cookies (stored for a set period or until deleted)."]},{"title":"2. Types of Cookies We Use","subsections":[{"title":"2.1 Strictly Necessary Cookies","paragraphs":["These cookies are essential for the operation of our Services and cannot be switched off. They are required to:"],"listDisc":["Enable secure login and authentication","Maintain user sessions","Protect against fraud and abuse"],"paragraphsAfter":["Without these cookies, the Services cannot function properly."]},{"title":"2.2 Functional Cookies","paragraphs":["These cookies allow us to remember your preferences and settings, such as:"],"listDisc":["Language or regional preferences","Account-related selections"],"paragraphsAfter":["They improve usability but are not strictly necessary."]},{"title":"2.3 Analytics and Performance Cookies","paragraphs":["We use analytics cookies to understand how users interact with our Services. These cookies collect information such as:"],"listDisc":["Pages visited and features used","Session duration and interaction patterns","Error and performance data"],"paragraphsAfter":["This information is used solely to improve our product, functionality, and user experience. Analytics data is aggregated and does not directly identify individual users."]},{"title":"2.4 Third-Party Cookies","paragraphs":["Some cookies are placed by third-party service providers that support our Services, including:"],"listDisc":["Payment processing services (e.g., Stripe)","Analytics and infrastructure providers"],"paragraphsAfter":["These third parties may use cookies in accordance with their own privacy and cookie policies."]}]},{"title":"3. What We Do NOT Use Cookies For","listDisc":["We do not use cookies for advertising or behavioral targeting","We do not sell cookie data","We do not use cookies to collect sensitive personal information"]},{"title":"4. Managing Cookies","paragraphs":["You can manage or disable cookies through your browser settings. Most browsers allow you to:"],"listDisc":["View cookies stored on your device","Delete existing cookies","Block cookies entirely or from specific websites"],"paragraphsAfter":["Please note that disabling certain cookies may affect the functionality and performance of the Services."]},{"title":"5. Changes to This Cookie Policy","paragraphs":["We may update this Cookie Policy from time to time to reflect changes in technology, law, or our practices. Material changes will be posted on our website. Continued use of the Services after changes take effect constitutes acceptance of the updated Policy."]},{"title":"6. Contact Us","paragraphs":["If you have any questions about this Cookie Policy or our use of cookies, please contact us at:","support@iccandle.ai"]}],"content":"Cookie 政策\\n\\n本 Cookie 政策解释了 Pixel Nexus Global Pte. Ltd.(以下简称“我们”)在您访问或使用 iccandle.ai 及相关服务(统称为“服务”)时如何使用 Cookie 及类似技术。\\n\\n本政策应与我们的《隐私政策》一并阅读。\\n\\n1. 什么是 Cookie?\\n\\nCookie 是当您访问网站时存储在您设备上的小型文本文件。它们被广泛用于确保网站正常运行、提升用户体验,并向网站运营者提供信息。\\n\\nCookie 可分为:\\n\\n会话 Cookie(在您关闭浏览器时删除)\\n持久 Cookie(在设定期限内保留或直到被删除)\\n2. 我们使用的 Cookie 类型\\n2.1 严格必要 Cookie\\n\\n这些 Cookie 对服务的运行至关重要,无法关闭。它们用于:\\n\\n启用安全登录与身份验证\\n维护用户会话\\n防止欺诈和滥用\\n\\n如果没有这些 Cookie,服务将无法正常运行。\\n\\n2.2 功能性 Cookie\\n\\n这些 Cookie 用于记住您的偏好和设置,例如:\\n\\n语言或地区偏好\\n账户相关选择\\n\\n它们提升使用体验,但并非严格必要。\\n\\n2.3 分析与性能 Cookie\\n\\n我们使用分析 Cookie 来了解用户如何使用我们的服务。这些 Cookie 收集的信息包括:\\n\\n访问的页面和使用的功能\\n会话时长与交互模式\\n错误与性能数据\\n\\n这些信息仅用于改进产品功能与用户体验。分析数据是汇总形式,不会直接识别个人用户身份。\\n\\n2.4 第三方 Cookie\\n\\n部分 Cookie 由支持我们服务的第三方提供商设置,包括:\\n\\n支付处理服务(例如 Stripe)\\n分析与基础设施提供商\\n\\n这些第三方可能依据其自身隐私与 Cookie 政策使用 Cookie。\\n\\n3. 我们不会将 Cookie 用于以下用途\\n不用于广告或行为定向\\n不出售 Cookie 数据\\n不使用 Cookie 收集敏感个人信息\\n4. Cookie 管理\\n\\n您可以通过浏览器设置管理或禁用 Cookie。大多数浏览器允许您:\\n\\n查看设备中存储的 Cookie\\n删除现有 Cookie\\n完全阻止 Cookie 或限制特定网站的 Cookie\\n\\n请注意,禁用某些 Cookie 可能会影响服务的功能和性能。\\n\\n5. 本 Cookie 政策的变更\\n\\n我们可能会不时更新本 Cookie 政策,以反映技术、法律或运营实践的变化。重大变更将在网站上公布。继续使用服务即表示您接受更新后的政策。\\n\\n6. 联系我们\\n\\n如对本 Cookie 政策或 Cookie 使用有任何疑问,请联系:\\n\\nsupport@iccandle.ai"}}`),nh={Common:Rd,Confirmation:Ed,DateFormat:Od,Alert:Md,TimeConfig:Id,Loading:Ld,Auth:Gd,Navbar:Fd,Guide:Bd,Pricing:jd,Settings:Ud,Referral:zd,Layout:Yd,News:Hd,Selector:Wd,UserActivity:qd,Pattern:Vd,PatternCatalog:_d,sQuestion_pattern:Kd,sQuestion_general:Jd,sQuestion_news:Xd,justLanguage:Zd,profile:Qd,Landing:$d,NotFound:eh,Legal:th},ih={or:"OR",error:"Lỗi",cancel:"Hủy",continuing:"Đang tiếp tục...",email:"Email",password:"Mật khẩu",termsOfService:"Điều khoản Dịch vụ",privacyPolicy:"Chính sách Bảo mật",continueWithGoogle:"Tiếp tục với Google",continuingWithGoogle:"Đang tiếp tục với Google...",signIn:"Đăng nhập",signUp:"Đăng ký",agreeAndContinue:"Đồng ý & tiếp tục",changePlan:"Thay đổi gói",upgradePlan:"Nâng cấp gói +",manageBilling:"Quản lý thanh toán",getInTouch:"Liên hệ với chúng tôi",copyright:"© {year} IC Candle, Inc. Bảo lưu mọi quyền.",session:"Phiên",sessions:"Các phiên",activeWorkspaces:"Không gian làm việc đang hoạt động",date:"Ngày",product:"Sản phẩm",plan:"Gói",planNames:{free:"Gói Miễn phí",standard:"Gói Tiêu chuẩn",pro:"Gói Pro",expert:"Gói Chuyên gia"},status:"Trạng thái",amount:"Số tiền",detail:"Chi tiết",total:"Tổng",prioritySupport:"Hỗ trợ ưu tiên",all:"Tất cả",minutely:"Trong ngày",hourly:"Theo giờ",daily:"Theo ngày",chatAssistant:"Trợ lý trò chuyện AI",timeframes:"Khung thời gian",symbols:"Mã giao dịch",timeSettings:"Cài đặt thời gian",step:"Bước {number}:",learnMore:"Tìm hiểu thêm",success:"Thành công",validationError:"Lỗi xác thực",previous:"Trước",next:"Tiếp theo",saving:"Đang lưu...",save:"Lưu",saveChanges:"Lưu thay đổi",nextStep:"Bước tiếp theo",columnTimeframe:"KHUNG THỜI GIAN",columnSymbol:"MÃ",columnDescription:"MÔ TẢ",symbol:"Mã giao dịch",timeframe:"Khung thời gian",candles:"Nến",up:"Tăng",down:"Giảm",play:"Phát",close:"Đóng",simulate:"Mô phỏng",actual:"Thực tế",forecast:"Dự báo",interestRate:"Lãi suất",soon:"Sắp ra mắt",back:"Quay lại",similarity:"Mức độ tương đồng",nextCandles:"Tiếp theo {count}",nextCandlesFull:"{count} nến tiếp theo",probabilityOutcome:"Kết quả xác suất:",estimatedProbability:"Xác suất ước tính:",riskDisclaimer:"Thị trường tài chính có mức độ rủi ro cao và có thể dẫn đến mất vốn. iC Candle chỉ cung cấp thông tin với mục đích giáo dục và không đưa ra lời khuyên tài chính. Hiệu suất trong quá khứ không đảm bảo kết quả trong tương lai.",rangeTooFarToRender:"Phạm vi quá xa để hiển thị.",marketSessions:"Phiên giao dịch thị trường",askTradingQuestion:"Đặt câu hỏi giao dịch",mrCandleThinking:"Mr. Candle đang suy nghĩ...",simulateBullishPriceAction:"Mô phỏng hành động giá tăng",simulateBearishPriceAction:"Mô phỏng hành động giá giảm",dismiss:"Đóng",loadingMore:"Đang tải thêm...",savedPatternDeleted:"Đã xóa mô hình đã lưu"},ah={confirm:"Xác nhận",deletePatternTitle:"Xóa mô hình",deletePatternDescription:"Bạn có chắc chắn muốn xóa mô hình này không?",deleteAllNotificationsTitle:"Xóa tất cả thông báo",deleteAllNotificationsDescription:"Bạn có chắc chắn muốn xóa tất cả thông báo không?",disableSignalsTitle:"Tắt tín hiệu",disableSignalsDescription:"Bạn có chắc chắn muốn tắt các tín hiệu không?",disableSignalsForDescription:"Bạn có chắc chắn muốn tắt tín hiệu cho {patternTitle} không?",togglePatternModeTitle:"Chuyển đổi chế độ mô hình",togglePatternModeDisableDescription:"Bạn có chắc chắn muốn tắt mô hình này không?",togglePatternModeEnableDescription:"Bạn có chắc chắn muốn bật mô hình này không?",closeFeatureDescription:"Bạn có chắc chắn muốn đóng tính năng này không?"},rh={today:"Hôm nay",yesterday:"Hôm qua",day:"{count, plural, one {# ngày} other {# ngày}}",hour:"{count, plural, one {# giờ} other {# giờ}}",minute:"{count, plural, one {# phút} other {# phút}}",zeroMinutes:"0 phút",dayShort:"ngày",hourShort:"giờ",minuteShort:"phút",zeroMin:"0phút",justNow:"Vừa xong",minutesAgo:"{count, plural, one {# phút trước} other {# phút trước}}",hoursAgo:"{count, plural, one {# giờ trước} other {# giờ trước}}",daysAgo:"{count, plural, one {# ngày trước} other {# ngày trước}}",monthsAgo:"{count, plural, one {# tháng trước} other {# tháng trước}}",yearsAgo:"{count, plural, one {# năm trước} other {# năm trước}}"},oh={classicPatternTracker:"Trình theo dõi mô hình cổ điển",trackedPatternReminder:"Nhắc nhở mô hình đang theo dõi",classicPattern:"Mô hình cổ điển",trackedPattern:"Mô hình đang theo dõi",enableClassicNotifications:"Bật thông báo thời gian thực cho các mô hình giá cổ điển",waitingForPatternSignals:"Đang chờ tín hiệu mô hình",noPatternsDetected:"Hiện chưa phát hiện mô hình nào",signalsActiveDescription:"Tín hiệu của bạn đang hoạt động. Chúng tôi sẽ thông báo ngay khi tìm thấy các mô hình phù hợp",noCustomPatternDetected:"Hiện chưa phát hiện {patternName}",trackMorePatternsByScan:"Theo dõi thêm các mô hình bằng cách truy cập mục quét",seeMore:"Xem thêm"},sh={title:"Cài đặt thời gian",description:"Chọn khung giờ địa phương để nhận cảnh báo mô hình có thể được kích hoạt.",startTime:"Thời gian bắt đầu",endTime:"Thời gian kết thúc",session:"Phiên",timezone:"Múi giờ",yourTimezone:"Múi giờ của bạn",selectSession:"Chọn phiên giao dịch",searchSession:"Tìm kiếm phiên giao dịch...",noSessionFound:"Không tìm thấy phiên giao dịch.",sessionsHeading:"Các phiên",selectTimezone:"Chọn múi giờ",selectTimezoneHint:"Tìm kiếm và chọn múi giờ cho cảnh báo này.",searchTimezone:"Tìm kiếm múi giờ...",noTimezoneFound:"Không tìm thấy múi giờ.",timezonesHeading:"Múi giờ",allTime:"Cả ngày",customize:"Tùy chỉnh",newYorkSession:"Phiên New York",londonSession:"Phiên London",tokyoSession:"Phiên Tokyo",sydneySession:"Phiên Sydney"},lh={newsScan:{analyzing:"Đang phân tích sự kiện tin tức hiện tại...",searching:"Đang tìm kiếm các công bố tin tức tương tự trong lịch sử...",ranking:"Đang xếp hạng những tin tức tương tự có liên quan nhất...",preparingReplay:"Đang chuẩn bị dữ liệu tin tức tương tự để phát lại...",ready:"Các sự kiện tin tức tương tự đã sẵn sàng để phân tích tác động."},newsAi:{replaying:"Đang phát lại các biến động giá lịch sử...",startingSimulation:"Đang khởi động mô hình mô phỏng tác động...",calculatingScenarios:"Đang tính toán các kịch bản tăng và giảm giá...",complete:"Hoàn tất mô phỏng."},selectorScan:{scanning:"Đang quét hơn 20 năm lịch sử thị trường...",finding:"Đang tìm kiếm các mô hình có cấu trúc tương tự...",linking:"Đang liên kết hành vi thị trường với các yếu tố tác động nền tảng...",preparing:"Đang chuẩn bị các bộ dữ liệu lịch sử có cấu trúc...",ready:"Các mô hình đã sẵn sàng để phát lại và phân tích kết quả."},selectorAi:{replaying:"Đang phát lại hành vi mô hình trong lịch sử...",learning:"Đang học các mô hình tác động từ những biến động trong quá khứ...",calculating:"Đang tính toán các động lực hành động giá...",initializing:"Đang khởi tạo mô hình mô phỏng...",complete:"Hoàn tất mô phỏng."}},ch={Layout:{tagline:"Được thiết kế cho nhà giao dịch coi trọng insight hơn nhiễu loạn"},Legal:{termsAndPrivacy:"Điều khoản & Bảo mật",googleTermsDescription:"Bằng việc tiếp tục với Google, bạn đồng ý với <terms></terms> và <privacy></privacy> của chúng tôi.",legalAgreement:"Tôi đồng ý với <terms></terms> và <privacy></privacy>.",pleaseAgreeToContinue:"Vui lòng đồng ý để tiếp tục",pleaseAgreeDescription:"Bạn phải đồng ý với Điều khoản Dịch vụ và Chính sách Bảo mật để tiếp tục với Google.",legalTitle:"Pháp lý"},SignIn:{dontHaveAccount:"Chưa có tài khoản?",googleVerifyingAuthorization:"Google đang xác minh quyền truy cập...",invalidCredentials:"Thông tin đăng nhập không hợp lệ",invalidEmail:"Địa chỉ email không hợp lệ",emailRequired:"Email là bắt buộc",passwordRequired:"Mật khẩu là bắt buộc",pleaseCheckInfo:"Vui lòng kiểm tra lại thông tin của bạn",emailPlaceholder:"Nhập email cá nhân hoặc email công việc",change:"Thay đổi",forgotPassword:"Quên mật khẩu",continueWithEmail:"Tiếp tục với email"},SignUp:{repeatPassword:"Nhập lại mật khẩu",termsAgreement:"Bằng việc tiếp tục, bạn đồng ý với <terms></terms> và <privacy></privacy> của chúng tôi",continueWithEmail:"Tiếp tục với email",alreadyHaveAccount:"Đã có tài khoản?",signUpError:"Đã xảy ra lỗi trong quá trình đăng ký."},PasswordRecovery:{title:"Khôi phục mật khẩu",emailRequired:"Email là bắt buộc!",emailPlaceholder:"your@example.com",sendConfirmationCode:"Gửi mã xác nhận",somethingWrong:"Đã xảy ra lỗi",pleaseWaitAndRetry:"Vui lòng đợi và thử lại",confirmationCodeSent:"Mã xác nhận đã được gửi",checkYourEmail:"Vui lòng kiểm tra email của bạn"},ResetPassword:{title:"Đặt lại mật khẩu",confirmationCode:"Mã xác nhận",confirmationCodeRequired:"Mã xác nhận là bắt buộc.",newPassword:"Mật khẩu mới",repeatNewPassword:"Nhập lại mật khẩu mới",passwordMinLength:"Mật khẩu phải có ít nhất 8 ký tự.",repeatPasswordMinLength:"Mật khẩu nhập lại phải có ít nhất 8 ký tự.",passwordsMustMatch:"Mật khẩu không khớp.",pleaseStartAgain:"Vui lòng bắt đầu lại",resetSuccess:"Đặt lại thành công",useNewPassword:"Vui lòng sử dụng mật khẩu mới của bạn",passwordNotConfirmed:"Mật khẩu chưa được xác nhận!"},Confirm:{title:"Xác nhận tài khoản của bạn",codeSentTo:"Mã xác nhận đã được gửi đến:",otpDescription:"Vui lòng nhập mật khẩu dùng một lần được gửi đến email của bạn.",otpLength:"OTP phải có 6 ký tự.",turnstileError:"Đã xảy ra lỗi với Turnstile",confirmError:"Đã xảy ra lỗi khi xác nhận: {message}",confirm:"Xác nhận"}},uh={features:{title:"Tính năng",patternSelector:{title:"Bộ chọn Mô hình",subtitle:"Phân tích ý tưởng của bạn dựa trên dữ liệu thị trường lịch sử để tìm các mô hình giá và kết quả tương tự."},patternTracker:{title:"Trình theo dõi Mô hình",subtitle:"Liên tục quét thị trường trong nền và thông báo khi xuất hiện mô hình phù hợp."},newsImpact:{title:"Tác động của Tin tức",subtitle:"Hiển thị cách các tin tức trong quá khứ tác động đến biến động giá để bạn có thể thấy thị trường đã phản ứng như thế nào trước đây."}},resources:{title:"Tài nguyên",learnAndUse:{title:"Học hỏi & Sử dụng",subtitle:"Tìm hiểu các khái niệm phân tích và cách sử dụng nền tảng hiệu quả."},updatesAndInsights:{title:"Cập nhật & Góc nhìn chuyên sâu",subtitle:"Tin tức và cập nhật về những gì chúng tôi đang phát triển và khám phá."},whoWeAre:{title:"Chúng tôi là ai",subtitle:"Chúng tôi là ai, chúng tôi tin vào điều gì và lý do chúng tôi xây dựng sản phẩm này."},helpCenter:{title:"Trung tâm trợ giúp",subtitle:"Tìm kiếm hỗ trợ, hướng dẫn và câu trả lời khi bạn cần."}},pricing:{title:"Bảng giá"}},dh={badge:"Tính năng",title:"Phân tích thị trường bằng AI, được xây dựng để đưa ra quyết định thông minh hơn",description:"Tận dụng phân tích nâng cao và dữ liệu lịch sử để khám phá các mô hình, phân tích phản ứng của thị trường và hiểu rõ xác suất trước khi đưa ra quyết định.",creditUsage:"Lượt sử dụng",resetAfter:"Đặt lại sau",resetAfterColon:"Đặt lại sau:",useThisFeature:"Sử dụng tính năng này",automateNow:"Tự động hóa ngay",analyzeNow:"Phân tích ngay",inSession:"Bạn đang trong phiên giao dịch",sessionActive:"Phiên giao dịch hiện đang hoạt động",continueSession:"Tiếp tục phiên giao dịch",pageHeader:{account:{title:"Hồ sơ",infoTitle:"Tài khoản của bạn",infoDescription:"Quản lý cài đặt, tùy chọn và các kết nối của bạn"},subscription:{title:"Gói đăng ký",infoTitle:"Gói của bạn",infoDescription:"Quản lý gói, hóa đơn và thanh toán của bạn"},support:{title:"Hỗ trợ",infoTitle:"Nhận hỗ trợ",infoDescription:"Tìm câu trả lời cho các câu hỏi của bạn và kết nối với đội ngũ hỗ trợ của chúng tôi"},referral:{title:"Cộng đồng",infoTitle:"Chương trình Phát triển Cộng đồng",infoDescription:"Giới thiệu bạn bè, nhận hoa hồng, cùng nhau phát triển"}}},hh={chooseYour:"Chọn",plan:"gói của bạn",annualPromo:"Nhận miễn phí hơn 2 tháng khi đăng ký gói hàng năm",monthly:"Hàng tháng",yearly:"Hàng năm",yearlyBadge:"-20%",comparePlans:"So sánh các gói",compareSubtitle:"Chi tiết đầy đủ những gì được bao gồm trong từng gói.",usage:"SỬ DỤNG",usageSection:"Mức sử dụng",features:"TÍNH NĂNG",featuresSection:"Tính năng",freePricePerMonth:"$0 / tháng",pricePerMonth:"{price} / tháng",patternSelector:"Bộ chọn Mô hình",patternTracker:"Trình theo dõi Mô hình",newsImpact:"Tác động của Tin tức",scanResultLimit:"Giới hạn kết quả quét",historicalData:"Dữ liệu lịch sử",webhook:"Webhook",patternExport:"Xuất mô hình",scansPerDay:"{count} lượt quét / ngày",scansPerDayDefault:"2 lượt quét / ngày",patternsCount:"{count} mô hình",perDay:"{count} / ngày",perDayDefault:"1 / ngày",tabsCount:"{count} tab",tabsCountDefault:"1 tab",limited:"Giới hạn",historicalYears:"Hơn 20 năm",included:"✓",notIncluded:"—",planChangedSuccess:"Đã chuyển sang gói {planTitle} thành công!",subscriptionSuccess:"Đăng ký {planTitle} thành công!",paymentSuccessful:"Thanh toán thành công!",planUpdated:"Gói của bạn đã được cập nhật.",planUpdatedDescription:"Gói của bạn đã được cập nhật. Bạn có thể bắt đầu sử dụng các tính năng mới ngay.",subscriptionActive:"Đăng ký của bạn hiện đã hoạt động.",subscriptionActiveDescription:"Đăng ký {planTitle} của bạn hiện đã hoạt động. Cảm ơn bạn đã mua hàng!",manageBillingInfo:"Quản lý thông tin thanh toán",continueToApp:"Tiếp tục vào ứng dụng",loadingPaymentDetails:"Đang tải thông tin thanh toán...",paymentError:"Lỗi thanh toán",noSessionId:"Không có ID phiên",goToApp:"Đi đến ứng dụng",alreadySubscribedPlan:"Bạn đã đăng ký gói này.",activeSubscriptionManage:"Bạn đã có đăng ký đang hoạt động. Vui lòng quản lý thanh toán để đổi gói.",planChangeScheduled:"Đã lên lịch đổi gói",planChangeScheduledDesc:"Gói của bạn sẽ chuyển sang {planTitle} vào ngày thanh toán tiếp theo.",alreadyOnPlan:"Bạn đã ở gói này",changePlanFailed:"Không thể đổi gói. Vui lòng dùng Quản lý thanh toán.",alreadyActiveSubscription:"Bạn đã có đăng ký đang hoạt động",noChangesMade:"Không có thay đổi",alreadyOnPlanDesc:"Bạn đang dùng gói {planTitle}.",badgeFree:"Miễn phí",badgePopular:"Phổ biến",badgeBestDeal:"Ưu đãi tốt nhất",badgeMaximumAccess:"Quyền truy cập tối đa",freeForEveryone:"Miễn phí cho mọi người",usdPerMonth:"USD/tháng",yearlyAmount:"{amount} USD / năm",monthlyAmount:"{amount} USD / tháng",currentPlan:"Gói hiện tại",startForFree:"Bắt đầu miễn phí",getPlan:"Chọn {planTitle}",switchToPlan:"Chuyển sang {planTitle}",changePlanConfirmTitle:"Xác nhận đổi gói",changePlanConfirmDesc:"Bạn đang dùng gói {currentPlan}. Chọn thời điểm giá mới có hiệu lực.",changeNextBilling:"Đổi vào kỳ thanh toán tiếp theo",changeNow:"Đổi ngay",confirmNextBillingTitle:"Xác nhận đổi kỳ thanh toán tiếp theo",confirmNextBillingDesc:"Bạn có chắc muốn lên lịch đổi gói vào ngày thanh toán tiếp theo? Gói {currentPlan} hiện tại vẫn có hiệu lực đến lúc đó. Ngày thanh toán tiếp theo sẽ chuyển sang {planTitle} ({amount}).",yesChangeNextBilling:"Có, đổi vào kỳ thanh toán tiếp theo",continueToCheckout:"Tiếp tục thanh toán",freeCheckoutDesc:"Bạn đang dùng gói miễn phí. Tiếp tục thanh toán để đăng ký {planTitle}.",continue:"Tiếp tục",agreeRefundPolicy:"Tôi đồng ý với <link>Chính sách Hoàn tiền và Hủy</link>.",everythingInPlan:"Bao gồm tất cả tính năng của gói <plan></plan>",plans:{free:{title:"Miễn phí",subtitle:"Khám phá và dùng thử",heading3:"Phù hợp trader cá nhân"},standard:{title:"Tiêu chuẩn",subtitle:"Phân tích với sự tự tin",heading3:"Phù hợp trader cá nhân"},pro:{title:"Pro",subtitle:"Phân tích chuyên sâu",heading3:"Gói nhóm & chuyên nghiệp"},expert:{title:"Chuyên gia",subtitle:"Phân tích không giới hạn",heading3:"Dành cho trader chuyên nghiệp"}},planFeatures:{categories:{candleScanner:"Trình quét nến",candleSignal:"Tín hiệu nến"},labels:{patternSelector:"Bộ chọn Mô hình",patternTracker:"Trình theo dõi Mô hình",newsImpact:"Tác động của Tin tức",scanResultLimit:"Giới hạn kết quả quét",activeTabs:"Tab đang hoạt động",timeframes:"Khung thời gian",webhook:"Webhook"},values:{scansPerDay:"{count} lượt quét mỗi ngày",patterns:"{count}",perDay:"{count}",tabsWorkspace:"{count} (không gian làm việc)",enabled:"Đã bật",disabled:"Đã tắt"}}},ph={Connections:{connectedAccount:"Tài khoản đã kết nối",creditUsage:"Hạn mức sử dụng",totalCreditsUsed:"Tổng số lượt đã sử dụng",resetsIn:"Đặt lại sau {duration}",understandingCredits:"Tìm hiểu về hạn mức sử dụng",nearLimit:"Sắp đạt giới hạn"},Subscription:{myPlan:"Gói của tôi",thanksForSubscribing:"Cảm ơn bạn đã đăng ký!",billingHistory:"Lịch sử thanh toán",nextBillingDate:"Ngày thanh toán tiếp theo",whichPlan:"Gói nào phù hợp với bạn?",patternSelectorCreditsPerDay:"{count} lượt quét Bộ chọn Mô hình / ngày",patternTrackerCreditsPerDay:"{count} tín dụng Trình theo dõi Mô hình / ngày",newsImpactCreditsPerDay:"{count} lượt quét Tác động của Tin tức / ngày",chatAssistantCreditsPerDay:"{count} lượt sử dụng Trợ lý Trò chuyện/ ngày",prioritySupport:"Hỗ trợ ưu tiên"},Billing:{noInvoices:"No invoices found.",loadError:"Failed to load invoices. Please try again later.",viewInvoice:"Xem hóa đơn"}},mh={referralRebate:"Hoa hồng giới thiệu",referredUsers:"Người dùng được giới thiệu",totalRebateEarned:"Tổng số tiền hoa hồng đã nhận",referredUsersCount:"Người dùng được giới thiệu",activeReferrals:"Lượt giới thiệu đang hoạt động",referralLink:"Liên kết giới thiệu",shareDescription:"Chia sẻ liên kết giới thiệu của bạn với bạn bè. Khi họ đăng ký, bạn sẽ nhận được khoản hoa hồng từ gói của họ.",joinedDate:"Ngày tham gia",loading:"Đang tải...",noReferralCodeAvailable:"Không có mã giới thiệu",updateReferralCodeTitle:"Cập nhật mã giới thiệu",createReferralCodeTitle:"Tạo mã giới thiệu",updateReferralCodeDescription:"Cập nhật mã giới thiệu bên dưới.",createReferralCodeDescription:"Nhập mã giới thiệu để bắt đầu chia sẻ liên kết giới thiệu.",enterReferralCodePlaceholder:"Nhập mã giới thiệu",enterReferralCode:"Vui lòng nhập mã giới thiệu",codeCreatedSuccess:"Tạo mã giới thiệu thành công",codeUpdatedSuccess:"Cập nhật mã giới thiệu thành công",codeMinChars:"Tối thiểu 5 ký tự",codeMaxChars:"Tối đa 15 ký tự",create:"Tạo",update:"Cập nhật",pageNumber:"Trang {page}",noReferredUsersYet:"Chưa có người dùng được giới thiệu",shareReferralEmptyDescription:"Chia sẻ liên kết giới thiệu của bạn để bắt đầu mở rộng mạng lưới và nhận hoàn phí."},fh={mainMenu:{coreFeatures:"Các tính năng cốt lõi",account:"Tài khoản",subscription:"Gói đăng ký",communityGrowthProgram:"Chương trình Phát triển Cộng đồng",support:"Hỗ trợ",others:"Khác"},patternMenu:{trackedPatterns:{label:"Các mô hình đang theo dõi của tôi",tooltipTitle:"Các thiết lập mô hình có xác suất cao được AI phát hiện",tooltipDescription:"iC Candle theo dõi thị trường toàn cầu 24/7 để phát hiện các mô hình bạn đang theo dõi, cung cấp mức độ tin cậy và hướng phá vỡ xu hướng. Sử dụng bộ lọc để tìm các thiết lập tốt nhất, sau đó nhấp vào bất kỳ mô hình nào để xem chi tiết đầy đủ."},classicPatterns:{label:"Mô hình cổ điển",tooltipTitle:"Mô hình cổ điển",tooltipDescription:"Chọn các mô hình bạn quan tâm — Hai Đỉnh, Vai Đầu Vai, Cờ, Chữ Nhật và nhiều mô hình khác — rồi kích hoạt tín hiệu. Chúng tôi sẽ theo dõi mọi biến động giá trên các thị trường bạn chọn và thông báo ngay khi một mô hình hoàn tất. Tùy chỉnh cách nhận thông báo qua Telegram, email hoặc thông báo trong ứng dụng để không bỏ lỡ bất kỳ thiết lập giao dịch nào."}},helperBar:{watchList:"Danh sách theo dõi",savedPatterns:"Mô hình đã lưu",newsMovingMarket:"Thị trường đang biến động như thế nào?",favoritesCount:"Yêu thích ({count})",groupWithCount:"{label} ({count})",noItemsInWatchList:"Không có mục trong danh sách theo dõi",watchListLast:"Giá cuối",watchListChg:"Thay đổi",watchListChgPercent:"Thay đổi%",removeFromFavorites:"Xóa khỏi yêu thích",addToFavorites:"Thêm vào yêu thích",removeSymbolFromFavorites:"Xóa {symbol} khỏi yêu thích",addSymbolToFavorites:"Thêm {symbol} vào yêu thích",groupCommodity:"Hàng hóa",groupForex:"Ngoại hối",groupCrypto:"Tiền mã hóa",groupIndices:"Chỉ số",groupStock:"Cổ phiếu"},profileMenu:{darkTheme:"Giao diện tối",chatWithUs:"Trò chuyện với chúng tôi",termsAndConditions:"Điều khoản & Điều kiện",logOut:"Đăng xuất"},tabAdded:"Đã thêm tab",tabMemoryWarning:"Việc thêm nhiều tab có thể làm tăng mức sử dụng bộ nhớ trên thiết bị của bạn.",tabLimitReached:"Đã đạt giới hạn số lượng tab",tabLimitReachedMax:"Bạn đã đạt số lượng tab tối đa được phép trong gói hiện tại của mình.",tabLimitReachedUpgrade:"Bạn đã đạt số lượng tab tối đa được phép trong gói hiện tại của mình. Vui lòng nâng cấp để truy cập nhiều tab hơn.",notifications:"Thông báo",noNotifications:"Không có thông báo",notificationsOfflineReconnect:"(Ngoại tuyến) Vui lòng kết nối lại thông báo",headerNav:{selectorTitle:"Bộ chọn Mô hình",selectorShortTitle:"Bộ chọn",patternTitle:"Trình theo dõi Mô hình",patternShortTitle:"Theo dõi",newsTitle:"Tác động của Tin tức",newsShortTitle:"Tin tức"},guideFeatures:{selector:{title:"Bộ chọn Mô hình",description:"Phân tích ý tưởng của bạn dựa trên dữ liệu thị trường lịch sử để tìm các mô hình giá và kết quả tương tự."},pattern:{title:"Trình theo dõi Mô hình",description:"Liên tục quét thị trường trong nền và thông báo khi xuất hiện mô hình phù hợp."},news:{title:"Tác động của Tin tức",description:"Hiển thị cách các tin tức trong quá khứ tác động đến biến động giá để bạn có thể thấy thị trường đã phản ứng như thế nào trước đây."}}},gh={mostSimilarNews:"Tin tức tương tự nhất:",selectEvent:"Chọn sự kiện",economicCalendarAnalysis:"Phân tích Lịch Kinh tế",economicCalendar:"Lịch Kinh tế",predictAvailable:"Có thể dự đoán",predictUnavailable:"Không thể dự đoán",actualReleased:"Dữ liệu thực tế đã công bố",analyzeImpact:"Phân tích tác động",candleDataTooFar:"Dữ liệu nến quá xa so với thời điểm sự kiện.",tryAnotherTimeframe:"Vui lòng thử một khung thời gian khác.",aiIntelligence:"Trí tuệ AI",matchPercent:"{percent}% khớp",whatHappenedOnNews:"Điều gì đã xảy ra với tin tức này:",newsBeforeEvent:"Tin tức trước {eventName} này",time15MinLater:"15 phút sau",time30MinLater:"30 phút sau",time1HourLater:"1 giờ sau",time2HoursLater:"2 giờ sau",time4HoursLater:"4 giờ sau",noDataHere:"No data here",pleaseWaitAndRetry:"Please wait and try again",current:"Current",previousMonth:"Tháng trước",nextMonth:"Tháng sau",holiday:"Holiday",seeAll:"Xem tất cả",selectedSymbols:"Mã đã chọn",marketNews:"Tin tức thị trường",patternType:"Loại mô hình",unknownPublishDate:"Ngày đăng không xác định",noMatchingArticleDetails:"Không có chi tiết bài viết phù hợp",model:"Mô hình",temperature:"Nhiệt độ",temperatureLow:"Thấp",temperatureMedium:"Trung bình",temperatureHigh:"Cao",previousActual:"Kết quả trước",currentForecast:"Dự báo hiện tại",previousForecast:"Dự báo trước",goToEventDetail:"Đi đến chi tiết sự kiện",eventInfoNotFound:"Không tìm thấy thông tin sự kiện",ppi:"Chỉ số giá sản xuất đo lường sự thay đổi giá của hàng hóa và dịch vụ do nhà sản xuất bán ra.",cpi:"Chỉ số giá tiêu dùng đo lường sự thay đổi giá của hàng hóa và dịch vụ mà người tiêu dùng mua.",coreCpi:"CPI lõi đo lường sự thay đổi giá tiêu dùng không bao gồm thực phẩm và năng lượng; chỉ số lạm phát quan trọng của ngân hàng trung ương.",jolts:"Khảo sát vị trí việc làm và luân chuyển lao động đo lường số lượng việc làm còn trống tại Mỹ.",nfp:"Bảng lương phi nông nghiệp đo lường sự thay đổi số lượng việc làm tại Mỹ, không bao gồm nông nghiệp và một số ngành.",ijc:"Số đơn xin trợ cấp thất nghiệp lần đầu đo lường số người nộp đơn xin bảo hiểm thất nghiệp lần đầu tại Mỹ, phản ánh điều kiện thị trường lao động.",fomc:"Ủy ban Thị trường Mở Liên bang là ngân hàng trung ương Mỹ, thiết lập lãi suất và thực hiện chính sách tiền tệ.",fedRate:"Thông báo quyết định lãi suất của Cục Dự trữ Liên bang, thiết lập lãi suất quỹ liên bang mục tiêu, ảnh hưởng đến chính sách tiền tệ và thị trường tài chính.",gdpAdvance:"Tổng sản phẩm quốc nội đo lường tổng giá trị hàng hóa và dịch vụ được sản xuất trong một nền kinh tế. GDP sơ bộ là ước tính đầu tiên.",gdpMonthly:"Tổng sản phẩm quốc nội đo lường tổng giá trị hàng hóa và dịch vụ được sản xuất trong một nền kinh tế. Các công bố hàng tháng theo dõi tăng trưởng ngắn hạn (ví dụ GDP m/m của Anh).",unemploymentRate:"Tỷ lệ thất nghiệp đo lường phần trăm lực lượng lao động không có việc làm.",ahe:"Thu nhập bình quân theo giờ đo lường mức thay đổi hàng tháng của tiền lương trả cho người lao động, không bao gồm lao động nông nghiệp.",corePce:"Chỉ số giá chi tiêu tiêu dùng cá nhân lõi đo lường mức thay đổi hàng tháng của chi tiêu tiêu dùng cá nhân không bao gồm thực phẩm và năng lượng, chỉ số lạm phát được Fed ưu tiên.",retailSales:"Doanh số bán lẻ đo lường mức thay đổi hàng tháng của tổng giá trị bán hàng ở cấp độ bán lẻ.",ismManufacturingPmi:"Chỉ số PMI sản xuất ISM đo lường sức khỏe của ngành sản xuất Mỹ dựa trên khảo sát; trên 50 là mở rộng.",ismServicesPmi:"Chỉ số PMI dịch vụ ISM đo lường sức khỏe của ngành dịch vụ Mỹ dựa trên khảo sát; trên 50 là mở rộng.",gdpPrelim:"Ước tính GDP sơ bộ là ước tính thứ hai của tăng trưởng GDP hàng quý; đo lường tổng giá trị hàng hóa và dịch vụ được sản xuất trong nền kinh tế.",adpNfp:"Thay đổi việc làm phi nông nghiệp ADP đo lường thay đổi việc làm khu vực tư nhân từ khảo sát ADP/Moody's; chỉ báo sớm cho Nonfarm Payrolls.",eci:"Chỉ số chi phí việc làm đo lường thay đổi hàng quý của chi phí lao động bao gồm lương và phúc lợi, chỉ số lạm phát quan trọng được Fed theo dõi.",flashManufacturingPmi:"PMI sản xuất sơ bộ là ước tính ban đầu về hoạt động ngành sản xuất dựa trên khảo sát; trên 50 là mở rộng.",flashServicesPmi:"PMI dịch vụ sơ bộ là ước tính ban đầu về hoạt động ngành dịch vụ dựa trên khảo sát; trên 50 là mở rộng.",claimantCount:"Thay đổi số người nhận trợ cấp thất nghiệp tại Anh đo lường mức thay đổi hàng tháng của số người hưởng trợ cấp thất nghiệp; chỉ báo quan trọng của thị trường lao động Anh.",boeRate:"Lãi suất cơ bản của Ngân hàng Anh là lãi suất do Ủy ban Chính sách Tiền tệ thiết lập; định hướng chính sách tiền tệ và thị trường bảng Anh.",ecbMainRefinancingRate:"Lãi suất tái cấp vốn chính của ECB là lãi suất chính của Ngân hàng Trung ương châu Âu cho hoạt động cung cấp thanh khoản; định hướng chính sách tiền tệ và thị trường EUR.",snbPolicyRate:"Lãi suất chính sách của Ngân hàng Quốc gia Thụy Sĩ là lãi suất chính của SNB (dựa trên khung SARON); định hướng chính sách tiền tệ và thị trường CHF.",cadEmploymentChange:"Thay đổi việc làm Canada đo lường sự thay đổi số lượng người có việc làm theo khảo sát lao động của Statistics Canada; chỉ báo quan trọng của thị trường lao động Canada và CAD."},yh={matchPercent:"Mức độ khớp {percent}%",matchLabel:"Khớp",mismatch:"Không khớp",noResultsFound:"Không tìm thấy kết quả",result:"Kết quả",filter:"Bộ lọc",filterBy:"Lọc theo",clearFilter:"Xóa bộ lọc",selectFilterType:"Chọn loại bộ lọc",matchPercentLabel:"Khớp %",selectSymbol:"Chọn mã",selectMatchPercent:"Chọn khớp %",selectDateRange:"Chọn khoảng thời gian",dateLast1Month:"1 tháng qua",dateLast6Months:"6 tháng qua",dateLastYear:"1 năm qua",dateLast3Years:"3 năm qua",dateAllTime:"Tất cả",noDataFound:"Không có dữ liệu",runScanToSeePatternResults:"Chạy quét để xem kết quả mô hình tại đây",scanAgainToPlay:"Quét lại để phát lại biểu đồ",scan:"Quét",activateSelector:"Kích hoạt bộ chọn",resetAfterDuration:"Đặt lại sau: {duration}",markets:"Thị trường",scannerOptions:"Tùy chọn quét",saveOptions:"Lưu tùy chọn",searchSymbol:"Tìm kiếm mã giao dịch",probabilityCalculation:"Tính toán xác suất",probabilityCalculationTooltip:"Xác định số lượng nến tiếp theo được sử dụng để tính toán xác suất.",period:"Khoảng thời gian",periodTooltip:"Xác định khoảng thời gian cho kết quả quét",timeframeTooltip:"Xác định khung thời gian nến cho kết quả quét",topResultsTooltip:"Xác định số lượng kết quả quét",auto:"Tự động",settings:"Cài đặt",collapseToolbar:"Thu gọn thanh công cụ",expandToolbar:"Mở rộng thanh công cụ",availableBars:"Số nến khả dụng: {count}",clearReplayFirst:"Vui lòng xóa biểu đồ phát lại trước",trackPattern:"Theo dõi mẫu",selectAll:"Chọn tất cả",searchTimeframe:"Tìm khung thời gian",selectAllTimeframes:"Chọn tất cả khung thời gian",selectTimeframeAria:"Chọn khung thời gian {label}",selectSymbolAria:"Chọn mã {symbol}",timeframeTypeMinutes:"Phút",searchFilterSaved:"Đã lưu bộ lọc tìm kiếm thành công.",periodAll:"Tất cả",periodLastYear:"1 năm qua",periodLast3Years:"3 năm qua",periodLast5Years:"5 năm qua",periodLast15Years:"15 năm qua",topResults:"Kết quả hàng đầu",tabSymbols:"Mã giao dịch",tabAdvancedOptions:"Tùy chọn nâng cao",tabBasic:"Cơ bản",tabAdvancedFilter:"Bộ lọc nâng cao",priceMovementData:"Dữ liệu biến động giá:",askAssistantExplanation:"Yêu cầu trợ lý giải thích",selectCandleCount:"Chọn số lượng nến",priceChanges:"Biến động giá",candlesCount:"{count} nến",basedOnDirectionPatterns:'Dựa trên xu hướng "{direction}" sau các mô hình này',noAiMovementData:"Không có dữ liệu biến động AI cho hướng {direction}"},bh={scannedAt:"Quét lúc:",trackerActivated:"Trình theo dõi đã được kích hoạt",match:"Khớp: {percent}%",result:"Kết quả",windowSize:"Kích thước cửa sổ: {size}",patternSelectorHistory:"Lịch sử Pattern Selector",noFilter:"Không lọc",favorite:"Yêu thích",windowSizeFilter:"Kích thước cửa sổ",windowSizePlaceholder:"Kích thước cửa sổ (10-50)",submit:"Gửi"},vh={trackYourCustomPatterns:"Theo dõi các mô hình tùy chỉnh của bạn",selectedSymbol:"Mã đã chọn",selectedSymbols:"Mã đã chọn",timezone:"Múi giờ",selectedTimeframes:"Khung thời gian đã chọn",moreItems:"{count} mục khác",selectedBars:"Thanh đã chọn",barsCount:"{count} thanh",timeFrame:"Khung thời gian",patternType:"Loại mô hình",created:"Đã tạo",editPattern:"Chỉnh sửa mô hình",createNewTracker:"Tạo trình theo dõi mới",firstYouHaveToScan:"Trước tiên bạn cần thực hiện quét",goToScan:"Đi đến Quét",addToPatternTracker:"Thêm vào Trình theo dõi mô hình",goToPatternTracker:"Đi đến Trình theo dõi mô hình",addToPatternTrackerDescription:"Bạn sẽ nhận được cập nhật theo thời gian thực khi mô hình này xuất hiện. Nhập tên để giúp bạn nhận biết cảnh báo này.",patternName:"Tên mô hình",patternNamePlaceholder:"Nhập tên cho mô hình này",patternNameMinChars:"Cần tối thiểu 5 ký tự.",patternNameMaxChars:"Đã đạt giới hạn 20 ký tự.",patternNameErrorTitle:"Lỗi tên mẫu",patternNameErrorDescription:"Vui lòng nhập tên cho tín hiệu mẫu",customPatternSignalTooltip:"Bạn sẽ được thông báo khi mô hình này hình thành trên THỊ TRƯỜNG dưới dạng Tín hiệu Mô hình Tùy chỉnh.",noPatternDataFound:"Không tìm thấy dữ liệu mô hình",limitReached:"Đã đạt giới hạn",limitReachedTrackerDescription:"Bạn đã đạt số lượng trình theo dõi mô hình tối đa.",trackerUpgradeToastDescription:"Bạn đã đạt số lượng tín hiệu tối đa được phép trong gói hiện tại. Vui lòng nâng cấp để truy cập thêm.",patternConfigUpdated:"Cấu hình mô hình đã được cập nhật",patternConfigUpdatedDesc:'Cấu hình mô hình "{name}" đã được cập nhật',patternConfigError:"Lỗi thiết lập mô hình",patternConfigErrorDesc:"Không thể cập nhật cấu hình mô hình",patternSaved:"Đã lưu mô hình",patternSavedDesc:'Tên mô hình "{name}" đã được lưu',patternSignalError:"Lỗi tín hiệu mô hình",patternSignalErrorDesc:"Không thể lưu mô hình",trackerTutorialPlanLimitExpert:"Gói của bạn có giới hạn theo dõi {limit} mô hình.",trackerTutorialPlanNoTracking:"Gói hiện tại của bạn không bao gồm tính năng theo dõi mô hình. Vui lòng nâng cấp gói để thêm các mô hình vào trình theo dõi.",trackerTutorialPlanTrackingLimit:"Gói của bạn cho phép theo dõi tối đa {limit} mô hình. Các gói nâng cấp của chúng tôi cho phép bạn theo dõi nhiều mô hình hơn.",currentPlan:"Gói hiện tại",planFree:"Miễn phí",configurePatternTracker:"Thiết lập Trình theo dõi mô hình",selectTimeframesAndSymbols:"Chọn khung thời gian và mã giao dịch mà bạn muốn theo dõi cho mô hình này.",selectTimeframes:"Chọn khung thời gian",chooseTimeframes:"Chọn các khung thời gian mà bạn muốn theo dõi cho mô hình này.",searchTimeframes:"Tìm khung thời gian",timeframeSelected:"Đã chọn {count} khung thời gian",timeframesSelected:"Đã chọn {count} khung thời gian",symbolSelected:"Đã chọn {count} mã giao dịch",symbolsSelected:"Đã chọn {count} mã giao dịch",patternSelected:"{count} mô hình",patternsSelected:"{count} mẫu",patternTypes:"Loại mô hình",patternSubscribed:"Đã đăng ký mô hình",patternSubscribedDesc:'Mô hình "{name}" đang được theo dõi',patternSubscriptionError:"Lỗi đăng ký mô hình",subscriptionModalAria:"Đăng ký trình theo dõi mô hình",noPatternCandles:"Không tìm thấy nến mô hình",chartSymbolRequired:"Biểu tượng biểu đồ là bắt buộc",userIdRequired:"ID người dùng là bắt buộc",subscribe:"Đăng ký",subscribing:"Đang đăng ký...",tabTimeShort:"Thời gian",signalDialog:{title:"Cài đặt tín hiệu - {patternTitle}",successDescription:"Cập nhật cài đặt tín hiệu thành công",selectOneTimeframe:"Vui lòng chọn ít nhất một khung thời gian",selectOneSymbol:"Vui lòng chọn ít nhất một mã giao dịch",selectOneTimeframeAndSymbol:"Vui lòng chọn ít nhất một khung thời gian và một mã giao dịch",selectCurrencyPairs:"Các cặp tiền tệ",chooseCurrencyPairs:"Chọn các cặp tiền tệ mà bạn muốn theo dõi cho mô hình này",searchCurrencyPairs:"Tìm cặp tiền tệ"},noMatchesFound:"Không tìm thấy kết quả phù hợp",filterCategoryPattern:"Mẫu",filterCategorySymbol:"Cặp tiền",filterCategoryTimeframe:"Khung thời gian",selectCategory:"Chọn danh mục",searchCategory:"Tìm {category}...",timeframeOptions:{M15:{displayName:"15 Phút",description:"Khung thời gian 15 phút"},M30:{displayName:"30 Phút",description:"Khung thời gian 30 phút"},H1:{displayName:"1 Giờ",description:"Khung thời gian 1 giờ"},H2:{displayName:"2 Giờ",description:"Khung thời gian 2 giờ"},H4:{displayName:"4 Giờ",description:"Khung thời gian 4 giờ"},D:{displayName:"1 Ngày",description:"Khung thời gian hàng ngày"}}},wh={priceActionPattern:"Mô hình hành động giá",labels:{flagbear:"Bearish Flag",flagbull:"Bullish Flag",dd_top:"Double Top",dd_bot:"Double Bottom",aad_up:"AAD Up",aad_down:"AAD Down",has_bull:"Head and Shoulders Bullish",has_bear:"Head and Shoulders Bearish",rectangle:"Rectangle"},timeframes:{M1:"1 minute",M5:"5 minutes",M15:"15 minutes",M30:"30 minutes",H1:"1 hour",H2:"2 hours",H4:"4 hours",D1:"Daily"},patterns:{doubleBottom:{desc:'<div><p>Các mô hình này hình thành khi giá kiểm định cùng một mức hai lần và không thể phá vỡ mức đó.</p><ul style="list-style-type: disc; margin-left: 20px; margin-top: 10px;"><li>Điều này cho thấy thị trường đang mất động lực theo một hướng.</li><li>Một cú phá vỡ ra ngoài phạm vi thường báo hiệu một sự đảo chiều sắp xảy ra.</li></ul></div>'},doubleTop:{desc:'<div><p>Các mô hình này hình thành khi giá kiểm định cùng một mức hai lần và không thể phá vỡ mức đó.</p><ul style="list-style-type: disc; margin-left: 20px; margin-top: 10px;"><li>Điều này cho thấy thị trường đang mất động lực theo một hướng.</li><li>Một cú phá vỡ ra ngoài phạm vi thường báo hiệu một sự đảo chiều sắp xảy ra.</li></ul></div>'},bullishFlag:{desc:'<div><p>Một giai đoạn tạm dừng hoặc điều chỉnh ngắn sau một biến động mạnh (tăng hoặc giảm).</p><ul style="list-style-type: disc; margin-left: 20px; margin-top: 10px;"><li>Giá di chuyển trong một kênh nhỏ có độ nghiêng ngược với xu hướng chính.</li><li>Khi giá bứt phá khỏi mô hình cờ, xu hướng thường sẽ tiếp tục theo cùng hướng trước đó.</li></ul></div>'},bearishFlag:{desc:'<div><p>Một giai đoạn tạm dừng hoặc điều chỉnh ngắn sau một biến động mạnh (tăng hoặc giảm).</p><ul style="list-style-type: disc; margin-left: 20px; margin-top: 10px;"><li>Giá di chuyển trong một kênh nhỏ có độ nghiêng ngược với xu hướng chính.</li><li>Khi giá bứt phá khỏi mô hình cờ, xu hướng thường sẽ tiếp tục theo cùng hướng trước đó.</li></ul></div>'},bullishHeadShoulders:{desc:'<div><p>Mô hình này cho thấy sự thay đổi trong sức mạnh thị trường và báo hiệu khả năng đảo chiều xu hướng.</p><ul style="list-style-type: disc; margin-left: 20px; margin-top: 10px;"><li>Mô hình gồm ba phần: một đỉnh lớn hơn ("đầu") và hai đỉnh nhỏ hơn ("vai").</li><li>Khi mô hình hoàn tất, giá thường bứt phá và di chuyển theo hướng ngược lại với xu hướng trước đó.</li></ul></div>'},bearishHeadShoulders:{desc:'<div><p>Mô hình này cho thấy sự thay đổi trong sức mạnh thị trường và báo hiệu khả năng đảo chiều xu hướng.</p><ul style="list-style-type: disc; margin-left: 20px; margin-top: 10px;"><li>Mô hình gồm ba phần: một đỉnh lớn hơn ("đầu") và hai đỉnh nhỏ hơn ("vai").</li><li>Khi mô hình hoàn tất, giá thường bứt phá và di chuyển theo hướng ngược lại với xu hướng trước đó.</li></ul></div>'}}},xh={chartPatterns:"Mô hình biểu đồ là gì?",flagPattern:"Cách giao dịch mô hình cờ hiệu quả?",rectanglePattern:"Các đặc điểm chính của mô hình hình chữ nhật cần chú ý là gì?"},Ph={pip:"Pip là gì?",majorCurrencyPairs:"Các cặp tiền tệ chính để giao dịch là gì?",lotSize:"Lot size là gì?",leverage:"Đòn bẩy là gì?",margin:"Ký quỹ là gì?",bullishFlagTrack:"Theo dõi mẫu hình cờ tăng cho tất cả symbol và khung thời gian"},Sh={cpi:"CPI là gì và nó ảnh hưởng thị trường như thế nào?",nfp:"NFP là gì và nó ảnh hưởng thị trường như thế nào?",eurImpactfulNews:"Tin tức nào có tác động mạnh nhất đến USD trên thị trường?"},Th="lang",kh="Hồ sơ",Ch={statistics:{tradersReport:"7 trên 10 nhà giao dịch cho biết sự nhất quán trong quyết định giao dịch của họ đã được cải thiện.",satisfactionRate:'96% người dùng thử nghiệm beta hài lòng và cho biết: "Cảm giác như đang giao dịch với một bộ não hỗ trợ bên cạnh."',usersChanged:"Hơn 80% người dùng cho biết iC Candle đã thay đổi cách họ phân tích thị trường.",lessTimeWatching:"Người dùng trung bình dành ít hơn 40% thời gian theo dõi biểu đồ nhờ tính năng nhắc nhở mô hình.",heading:"Hàng nghìn nhà giao dịch đã thay đổi cách họ nhìn nhận thị trường."},feedback:{marketHistory:`Lịch sử thị trường dẫn dắt các giao dịch của tôi: Việc sử dụng các phản ứng trong quá khứ của thị trường cho các giao dịch của mình giờ đây gần như đã trở thành phong cách giao dịch mới của tôi. Giá trị tôi nhận được so với số tiền tôi trả cho gói đăng ký? Hoàn toàn không thể so sánh được. A. Lee
25
+ Chuyên gia phân tích tiền điện tử (Singapore)`,tradersChatGPT:`ChatGPT dành cho nhà giao dịch: Tôi sử dụng ChatGPT cho gần như mọi thứ trong cuộc sống hằng ngày, ai cũng biết nó giúp mọi thứ trở nên dễ dàng hơn rất nhiều. Và thật lòng mà nói… tôi nghĩ mình vừa tìm thấy phiên bản ChatGPT dành cho nhà giao dịch. M. Ganbaatar
26
+ Nhà giao dịch quỹ tự doanh (iTrader)`,backtesting:`Cảm giác như kiểm thử chiến lược ở một đẳng cấp khác: Tính năng backtesting trên iC Candle thực sự là một bước đột phá. Thật khó tin khi mọi thứ giờ đây vừa nhanh vừa rõ ràng đến vậy. Tôi thực sự bị cuốn hút. Thật khó để tưởng tượng một nhà giao dịch tích cực nào có thể làm việc mà không có công cụ này ở thời điểm hiện tại. B. Enkhbayar
27
+ Nhà giao dịch Forex (Mông Cổ)`,confirmsSetup:`Xác nhận chiến lược của tôi: Ôi trời, cuối cùng cũng có một công cụ thực sự chứng minh được liệu phân tích của tôi có đáng tin cậy hay không. Kể từ khi bắt đầu sử dụng iC Candle, sự do dự trong giao dịch của tôi đã giảm khoảng 80%. Giờ đây tôi tự tin hơn rất nhiều. S. Kimura
28
+ Nhà giao dịch Swing (Nhật Bản)`,backtestingTitle:"Cảm giác như kiểm thử chiến lược ở một đẳng cấp khác",backtestingDesc:`Tính năng backtesting trên iC Candle thực sự là một bước đột phá. Thật khó tin khi mọi thứ giờ đây vừa nhanh vừa rõ ràng đến vậy. Tôi thực sự bị cuốn hút. Thật khó để tưởng tượng một nhà giao dịch tích cực nào có thể làm việc mà không có công cụ này ở thời điểm hiện tại. B. Enkhbayar
29
+ Nhà giao dịch Forex (Mông Cổ)`,confirmsTitle:"Xác nhận chiến lược của tôi",confirmsDesc:`Ôi trời, cuối cùng cũng có một công cụ thực sự chứng minh được liệu phân tích của tôi có đáng tin cậy hay không. Kể từ khi bắt đầu sử dụng iC Candle, sự do dự trong giao dịch của tôi đã giảm khoảng 80%. Giờ đây tôi tự tin hơn rất nhiều. S. Kimura
30
+ Nhà giao dịch Swing (Nhật Bản)`,marketHistoryTitle:"Lịch sử thị trường dẫn dắt các giao dịch của tôi",marketHistoryDesc:`Việc sử dụng các phản ứng trong quá khứ của thị trường cho các giao dịch của mình giờ đây gần như đã trở thành phong cách giao dịch mới của tôi. Giá trị tôi nhận được so với số tiền tôi trả cho gói đăng ký? Hoàn toàn không thể so sánh được. A. Lee
31
+ Chuyên gia phân tích tiền điện tử (Singapore)`,chatGPTTitle:"ChatGPT dành cho nhà giao dịch",chatGPTDesc:`Tôi sử dụng ChatGPT cho gần như mọi thứ trong cuộc sống hằng ngày, ai cũng biết nó giúp mọi thứ trở nên dễ dàng hơn rất nhiều. Và thật lòng mà nói… tôi nghĩ mình vừa tìm thấy phiên bản ChatGPT dành cho nhà giao dịch. M. Ganbaatar
32
+ Nhà giao dịch quỹ tự doanh (iTrader)`},tags:{all:"Tất cả",blog:"Blog",crypto:"Tiền mã hóa",event:"Sự kiện",pairs:"Cặp giao dịch"}},Ah={title:"Không tìm thấy trang",description:"Trang bạn đang tìm không tồn tại hoặc đã bị di chuyển.",backToHomepage:"Quay lại trang chủ",imageAlt:"Không tìm thấy trang"},Nh=JSON.parse(`{"Page":{"title":{"terms":"Điều khoản Dịch vụ","privacy":"Chính sách Bảo mật","refund":"Chính sách Hoàn tiền và Hủy dịch vụ","cookie":"Chính sách Cookie"},"tabs":{"terms":"Điều khoản Dịch vụ","privacy":"Chính sách Bảo mật","refund":"Chính sách Hoàn tiền và Hủy dịch vụ","cookie":"Chính sách Cookie"},"nav":{"terms":"Điều khoản Dịch vụ","privacy":"Chính sách Bảo mật","refund":"Chính sách Hoàn tiền và Hủy dịch vụ","cookie":"Chính sách Cookie"}},"Terms":{"title":"Điều khoản Dịch vụ, TOS, Điều khoản, Điều kiện, Miễn trừ trách nhiệm, Hợp đồng, Thỏa thuận","intro":{"p1":"This agreement is made between Pixel Nexus Global, a Singaporean Limited Liability company operating as www.iccandle.ai (“Pixel Nexus Global,” “we,” “us,” or “our”), and the individual or entity purchasing or utilizing services offered through the Platform (“Customer,” “you,” or “your”). If you are acquiring the Services on behalf of a third party, you confirm that you have the legal authority to bind that party to these Terms of Service and will be liable for their use of the Services.","p2":"By accessing the Platform and Services outlined in this document and promoted on www.iccandle.ai, or by subscribing to services via the iccandle.ai website, you acknowledge that you have read, understood, and agreed to these Terms, Conditions, and Disclaimers. You further agree that your relationship with us is governed by the provisions set forth in this TOS.","p2Emphasis":"If you do not accept these terms, you must discontinue all use of iccandle.ai and any associated services or Platforms immediately."},"sections":[{"title":"1. The Services","paragraphs":["Pixel Nexus Global will provide active customers in good standing with access to its AI-powered analytical tool (the “Platform”). As used in this Agreement, the term “Services” refers to Pixel Nexus Global’s provision of your access to the Platform. The Services will be provided to you under one or more subscriptions, account activations, sign-ups, or orders placed by you on the iccandle.ai website and accepted by Pixel Nexus Global (an “Order”).","In case of any conflict between these TOS and an Order, the terms of these TOS shall take precedence. By accepting the Services, you acknowledge and agree that any different or additional terms proposed by you in an Order or otherwise are expressly rejected by Pixel Nexus Global, unless we have agreed to such terms in a written document signed by an authorized representative."]},{"title":"2. Your Obligations","subsections":[{"title":"Customer Information and Account Responsibilities","paragraphs":["You agree to provide Pixel Nexus Global with accurate information when creating your account, throughout our business relationship, and in all correspondence with us. We may occasionally need to contact you via email or telephone regarding the Services. You agree to maintain a valid email address that you check daily and to promptly notify us of any changes to your contact information.","Pixel Nexus Global shall not be responsible for any service interruptions, damages, or consequences resulting from misdirected communications due to your failure to provide current contact details. You also agree to complete all data entitlement surveys within the platform completely and truthfully to maintain compliance with exchange regulations."]},{"title":"Permitted Use of Platform","paragraphs":["Your use of the Platform must comply with these TOS and any accompanying documentation we provide. If you permit third parties to access the Platform, you agree to: (i) restrict their use in accordance with these terms; (ii) ensure their compliance with these TOS and our Privacy Policy; and (iii) remain fully liable for any violations of these TOS or the Privacy Policy by such third parties."]},{"title":"Intellectual Property and Legal Compliance","paragraphs":["You agree not to alter, obscure, or remove any trademark or proprietary notices. You may only use the Platform in accordance with: (i) the laws governing these TOS; and (ii) all applicable laws in your jurisdiction.","Unauthorized use is strictly prohibited."]}]},{"title":"3. Term","subsections":[{"title":"Effective Date and Term Duration","paragraphs":["These Terms of Service (TOS) become effective (\\"Effective Date\\") on the earlier of: (i) the date you click \\"I accept\\" as recorded by our servers; or (ii) the date you first access or use the Platform.","These TOS remain in effect for the duration of any active Order."]},{"title":"Subscription Terms and Renewals","paragraphs":["The Services will automatically renew for successive periods (monthly, quarterly, or annually) as specified in your Order. If unspecified, the default initial subscription period (\\"Initial Term\\") is one month. Subsequent renewal periods (\\"Renewal Terms\\") will match the Initial Term’s duration."]},{"title":"Trial Period Terms","paragraphs":["Pixel Nexus Global may offer trial periods (paid or free) as indicated on the iccandle.ai trial signup page. During any trial period:"],"listOrdered":["All terms and conditions of this agreement apply as if you were a paid subscriber","You may cancel at any time during the trial to prevent automatic renewal","Trial terms and conditions are subject to change without notice"]},{"title":"Subscription Management Responsibility","paragraphs":["You are solely responsible for managing your subscription, including:"],"listDisc":["Monitoring renewal dates","Updating payment information","Initiating cancellations","Maintaining current contact information"],"paragraphsAfter":["Pixel Nexus Global is not responsible for any charges due to failure to manage your subscription."]}]},{"title":"4. Termination","subsections":[{"title":"Cancellation and Termination Policy","paragraphs":["Details about cancellation and refund policies are available on our Refund and Cancellation Policy page at iccandle.ai. Terminating your account disables automatic renewals but does not cancel past invoices or make prior payments refundable unless stated otherwise in our Refund and Cancellation Policy.","Any currently due invoices must be paid in full to settle your account. Your access to Pixel Nexus Global services will continue until the expiration of your prepaid period or trial term."]},{"title":"Termination for Convenience","paragraphs":["Either party may terminate any Order by providing written notice at least one (1) day before the expiration of the Initial Term or any Renewal Term. For purposes of this provision, “written notice” includes communication through email, live chat, telephone, or via the Online Portal, indicating a desire not to continue service with Pixel Nexus Global in the future."]},{"title":"Termination for Policy Violations","paragraphs":["Pixel Nexus Global reserve the right to immediately suspend Services and/or terminate any Order in cases of violation of these TOS, breach of our Privacy Policy, or use of Services in a manner contrary to law or generally accepted internet standards. Such termination may occur without prior notice, dispute resolution process, or refund of any fees."]},{"title":"Effect of Termination","paragraphs":["The expiration or termination of any Order does not affect any rights or obligations that either (i) came into effect upon or after such expiration/termination, or (ii) survive the termination and were incurred by the parties prior to termination. Upon termination, you must promptly settle any outstanding balance. Pixel Nexus Global is not obligated to return any paid fees for terminations occurring prior to completion of a full term, except as may be expressly provided in our Refund and Cancellation Policy.","All termination matters are governed by the complete terms set forth in this agreement, and Pixel Nexus Global maintains full discretion in enforcing these provisions."]}]},{"title":"5. License Grant and Restrictions","paragraphs":["Pixel Nexus Global grants you a limited, revocable, non-exclusive, non-transferable, worldwide license to utilize our proprietary technology (\\"Pixel Nexus Technology\\") solely for accessing and employing our analytical engines as part of the Services, including any generated reports (\\"Reports\\"). This license is restricted to your account's registered users and automatically terminates upon expiration or termination of these TOS.","No rights beyond this limited license are conferred. All ownership rights in the Pixel Nexus Technology remain exclusively with Pixel Nexus Global or its licensors. You are expressly prohibited from: transferring, leasing, lending, sublicensing, reselling, or distributing the technology; using it for timesharing or service bureau purposes; or permitting unauthorized third-party access. You may not circumvent any protective measures safeguarding our proprietary interests, nor modify, reproduce, decompile, reverse engineer, or create derivative works from the Pixel Nexus Technology or Platform components. Upon termination, you must immediately cease using and permanently delete all Pixel Nexus Technology in your possession, ensuring any third parties with access do likewise."],"subsections":[{"title":"Ownership Rights","paragraphs":["Pixel Nexus Global retains all rights, title, and interest in the Pixel Nexus Technology and Platform, including but not limited to all derivative works, improvements, enhancements, and associated intellectual property rights such as trademarks and copyrights."]},{"title":"Feedback Provisions","paragraphs":["You may voluntarily provide, or we may solicit, input regarding the Platform or Services (\\"Feedback\\"), including suggestions for modifications or improvements. You acknowledge such Feedback constitutes Pixel Nexus Global's confidential proprietary information and irrevocably assign all related rights and interests to us. Pixel Nexus Global may utilize Feedback for any purpose without limitation or compensation obligation. This assignment applies globally and survives termination of these TOS.","All rights not expressly granted herein are reserved by Pixel Nexus Global. Any unauthorized use constitutes breach of these TOS and may result in immediate termination of your access rights."]}]},{"title":"6. Data Usage and Intellectual Property Rights","paragraphs":["Pixel Nexus Global may utilize information you provide or data collected from your use of the Platform and Services (\\"Operational Information\\") to deliver technical support and facilitate the implementation, operation, and administration of the Services. By using our Services, you grant us a perpetual, irrevocable license to process and analyze this Operational Information. We may combine this data with aggregate information from our general business operations to enhance existing Services or develop new products and offerings.","Pixel Nexus Global shall retain exclusive ownership of all intellectual property derived from such analysis and improvements. You hereby irrevocably waive any potential rights to this intellectual property and assign all rights, title, and interest therein to Pixel Nexus Global. You further agree to provide reasonable cooperation in securing and protecting these rights. We reserve the right to commercialize this Operational Information through sale, monetization, or incorporation into other products and services, without obligation to compensate you or grant you any ownership interest.","This license shall terminate upon expiration or cancellation of these Terms of Service, except with respect to historical data that has been aggregated and anonymized such that it cannot be identified as originating from your organization. Pixel Nexus Global may retain and continue to use such anonymized, aggregated data indefinitely for any lawful business purpose.","All intellectual property rights not expressly granted herein remain the exclusive property of Pixel Nexus Global. Your continued use of the Services constitutes acceptance of these terms regarding data usage and intellectual property rights."]},{"title":"7. Accuracy of Information Disclaimer","paragraphs":["Pixel Nexus Global relies on third-party data feeds to power its platform and therefore cannot guarantee the absolute accuracy of the information displayed. Different features within our system (such as scanners, automated analysis tools, charting functions, and back testing capabilities) may utilize separate data providers, which can result in variances between datasets across different platform features. Users should always verify analysis results and scanner conditions to ensure data consistency.","The platform's analytical outputs are inherently dependent on the quality of underlying third-party data, and Pixel Nexus Global makes no representations or warranties regarding the accuracy of these analyses. The iccandle.ai website, Services, and Platform are designed solely for informational and research purposes - they should never serve as the sole basis for investment decisions. Pixel Nexus Global disclaims all liability for any financial losses resulting from reliance on potentially inaccurate data or analysis within the Platform.","The Pixel Nexus Global system is provided strictly on an \\"as-is\\" basis without guarantees or warranties of any kind, as its functionality depends on unverified third- party data sources. The platform is intended exclusively for educational, entertainment, and general informational use - not as professional financial advice or a substitute for independent investment research. Users assume all risk associated with interpreting and acting upon any information displayed within the system.","By accessing and using the Platform, you acknowledge these inherent limitations and agree that Pixel Nexus Global shall not be held responsible for any consequences arising from data inaccuracies, analysis errors, or investment decisions made based on platform content."]},{"title":"8. Disclaimer of Investment Advice and Platform Limitations","paragraphs":["The analytical tools and outputs provided by Pixel Nexus Global's iccandle.ai platform are strictly for informational and research purposes only and should not be construed as investment advice. The platform relies on third-party data sources that may contain inaccuracies, and different features may produce varying results due to separate data providers. All analysis, including results from our Pattern Selector, Pattern Tracker, and News Impact Intelligence, is provided \\"AS-IS\\" without any guarantees of accuracy. These tools demonstrate historical patterns, probabilities, and market behavior under past conditions and cannot predict future results, as actual market outcomes may differ due to liquidity, execution, and other variables. You must never rely solely on platform analysis when making investment decisions."]},{"title":"9. Risk Acknowledgement and User Responsibility","paragraphs":["By using Pixel Nexus Global's platform (iccandle.ai), you expressly acknowledge and accept full responsibility for all risks associated with any investment decisions made based on information or analysis obtained from our Platform. You understand that our services rely on third-party data sources that may contain inaccuracies, and that our analytical models employ mathematical formulas and sequences that have not been independently verified for predictive accuracy. Pixel Nexus Global cannot and does not guarantee the reliability of any market data, technical indicators, or analytical outputs generated by the Platform.","Prior to executing any trades, you agree to either: (i) consult with a qualified, licensed financial professional; or (ii) conduct comprehensive independent research using multiple verified information sources.","Pixel Nexus Global expressly disclaims all liability for any trading losses, missed opportunities, or other financial consequences resulting from your reliance on Platform content. By continuing to use iccandle.ai, you confirm your understanding that our tools are designed for informational purposes only and that you alone bear complete responsibility for all investment choices and outcomes. This warning constitutes an essential term of our agreement, and your use of the Platform signifies your unconditional acceptance of these risk disclosures."]},{"title":"10. Disclaimer of Warranties and Service Limitations","paragraphs":["The Pixel Nexus Global platform (iccandle.ai), including all Services, scripts, reports, analytical engines, and related technology, is provided strictly on an \\"AS-IS\\" and \\"AS- AVAILABLE\\" basis. Pixel Nexus Global makes no representations or warranties of any kind, whether express or implied. This includes, but is not limited to, all implied warranties of non-infringement, merchantability, fitness for a particular purpose, accuracy, quality, or achievement of specific results. No warranties arise from any course of dealing, performance, or trade usage.","Pixel Nexus Global does not guarantee that the Service will meet your requirements, operate without interruption, remain error-free, or be secure from viruses or other harmful components. Compatibility with all websites or browsers is not assured, and Pixel Nexus Global disclaims all liability for issues arising from browser incompatibility or third-party services, even if such services appear integrated with our Platform. Any data transmitted via our Services remains your sole responsibility, and Pixel Nexus Global expressly disclaims liability for such content. No warranties provided by third- party vendors to Pixel Nexus Global extend to you, and you are not a third-party beneficiary of such agreements."],"subsections":[{"title":"Alert Features and Beta Functionality","paragraphs":["The Platform includes alert features (e.g., \\"Dynamic Price Alerts\\" and \\"Multi-Factor Alerts\\"), which are provided without warranty or guarantee of reliability. Technical delays or failures may occur due to cellular networks, email services, system errors, or other factors. You acknowledge that alerts may not function as intended and agree that Pixel Nexus Global bears no liability for trading losses resulting from reliance on these features, regardless of whether they were used correctly.","Certain features labeled as 'Beta' are under active development and may exhibit unstable or unreliable performance, including inconsistent data or incorrect information due to software bugs or programming errors. These Beta features carry additional risks and should be used with extreme caution."]},{"title":"General Provisions","paragraphs":["This warranty disclaimer applies to all oral or written information provided by Pixel Nexus Global, its employees, affiliates, or third-party vendors. You may not rely on any such statements or representations.","Some jurisdictions may not permit the exclusion of certain warranties. If applicable to you, any warranty claim must be filed within ninety (90) days of the Service provision that gave rise to the claim. Failure to submit a claim within this period constitutes an irrevocable waiver of your right to pursue such claims thereafter.","Third-party websites linked through the Pixel Nexus Global platform are not under our control, and we assume no responsibility for their content or functionality. Accessing these external sites is entirely at your own risk. Such links are provided for convenience only and do not constitute an endorsement or recommendation by Pixel Nexus Global.","By using the Platform, you acknowledge and accept these limitations and disclaimers in full."]}]},{"title":"11. Limitation of Liability","paragraphs":["Pixel Nexus Global's total liability under this Agreement shall not exceed the aggregate fees actually paid by you to Pixel Nexus Global during the one (1) month period immediately preceding the event giving rise to such liability. For purposes of this limitation, \\"Pixel Nexus Global\\" includes its employees, agents, owners, directors, officers, affiliates, and any third-party service providers facilitating the Services.","To the maximum extent permitted by law, you agree that under no circumstances - including negligence - shall Pixel Nexus Global or its licensors, agents, employees, officers, or third-party vendors be liable for any indirect, incidental, special, consequential, or punitive damages. This exclusion applies to, but is not limited to, damages for:"],"listOrdered":["Lost profits or revenue","Business interruption","Data loss or corruption","Lost savings","Any other financial losses incurred by you, end users, or third parties"],"paragraphsAfter":["These limitations apply regardless of whether the action arises in contract, tort (including negligence), or any other legal theory, and shall remain in effect even if Pixel Nexus Global has been advised of the possibility of such damages. While some jurisdictions may not allow limitations on certain liabilities, you agree that, where such restrictions apply, Pixel Nexus Global's liability shall be limited to the maximum extent permitted by applicable law.","This limitation of liability constitutes an essential basis of the bargain between you and Pixel Nexus Global and shall survive termination of this Agreement. By using the Services, you acknowledge that these limitations are reasonable and reflect the risk allocation between both parties."]},{"title":"12. Notices","paragraphs":["All official notices will be sent to your account’s listed contact information. You are responsible for maintaining current and accurate contact details in our records at all times.","For most inquiries, including technical support and billing matters, please visit our website at www.iccandle.ai for contact information and support options.","However, any legal notices regarding these Terms of Service or other Pixel Nexus Global policies must be sent exclusively via postal mail to our designated address:"],"address":{"company":"Pixel Nexus Global PTE. LTD.","lines":["160 Robinson Road, #14-04","Singapore Business Federation Center","Singapore 068914"]}},{"title":"13. Force Majeure","paragraphs":["Neither party shall be liable for any failure or delay in performance (except for payment obligations) due to events beyond their reasonable control, including, but not limited to, acts of God, natural disasters, war, civil unrest, epidemics, labor disputes, utility failures, telecommunication outages, supply chain disruptions, government actions, or other unforeseeable catastrophic events; provided that: (i) the affected party notifies the other in writing within ten (10) days of the event’s commencement; (ii) all payment obligations remain unaffected; (iii) the time for performance shall be extended day-for-day to match the duration of the disruption; and (iv) both parties use commercially reasonable efforts to mitigate the impact.","It is understood that this clause does not permit termination of the Agreement solely due to force majeure conditions, nor does it extend the Agreement term beyond its original expiration date without mutual written agreement."]},{"title":"14. No Waiver","paragraphs":["No failure or delay by Pixel Nexus Global in exercising any right under these Terms shall operate as a waiver of that right, nor shall any single or partial exercise of any right preclude the further or full exercise of that right or any other right under these Terms."]},{"title":"15. Assignment","paragraphs":["Pixel Nexus Global may assign these Terms, or any rights hereunder, without your consent. You may not assign these Terms without our prior written approval. These Terms shall be binding upon, and inure to the benefit of, the parties' respective successors and permitted assigns."]},{"title":"16. Severability","paragraphs":["If any provision of these Terms is held to be invalid or unenforceable by a court of competent jurisdiction, that provision shall be modified to the minimum extent necessary to make it valid and enforceable while preserving its original intent. All other provisions shall remain in full force and effect."]},{"title":"17. No Agency","paragraphs":["Nothing in these Terms creates an agency, partnership, joint venture or employment relationship between the parties. Neither party has authority to bind the other or incur obligations on the other's behalf."]},{"title":"18. Privacy & Conflicts","paragraphs":["Our Privacy Policy is incorporated herein by reference. In the event of a conflict between agreements: (i) these Terms prevail over the Privacy Policy; (ii) any separate service agreement shall prevail over conflicting provisions of these Terms, but only with respect to those specific provisions; and (iii) in all other cases, these Terms shall govern."]},{"title":"19. Jurisdiction and Disclaimer","paragraphs":["The services and information provided on iccandle.ai are not intended for use in jurisdictions where such services would be contrary to local laws or regulations. Access to and use of this website are strictly prohibited for citizens of the following jurisdictions: United States of America, Canada, Russian Federation, Iran, North Korea, Myanmar, Syria, Cuba, Crimea, Donetsk, and Luhansk regions of Ukraine, Afghanistan, Belarus, and Venezuela. This list may be updated at any time without prior notice. Users are solely responsible for ensuring that their access to and use of this website comply with all applicable laws and regulations in their country. iccandle.ai accepts no responsibility or liability for any non-compliance by users with their local regulatory requirements and reserves the right to restrict, block, or terminate access at its sole discretion."]}],"content":"《Điều khoản Dịch vụ, TOS, Điều khoản, Điều kiện, Miễn trừ trách nhiệm, Hợp đồng, Thỏa thuận》\\nThỏa thuận này được ký kết giữa Pixel Nexus Global, một công ty trách nhiệm hữu hạn được đăng ký tại Singapore và vận hành tại www.iccandle.ai (“Pixel Nexus Global”, “chúng tôi”, hoặc “của chúng tôi”), và cá nhân hoặc tổ chức mua hoặc sử dụng dịch vụ được cung cấp thông qua Nền tảng (“Khách hàng”, “bạn”, hoặc “của bạn”). Nếu bạn thay mặt bên thứ ba sử dụng Dịch vụ, bạn xác nhận rằng bạn có thẩm quyền pháp lý để ràng buộc bên đó theo các Điều khoản Dịch vụ này và sẽ chịu trách nhiệm đối với việc họ sử dụng Dịch vụ.\\n\\nBằng việc truy cập Nền tảng và Dịch vụ được mô tả trong tài liệu này và được quảng bá trên www.iccandle.ai, hoặc bằng việc đăng ký dịch vụ thông qua website iccandle.ai, bạn xác nhận rằng bạn đã đọc, hiểu và đồng ý với các Điều khoản, Điều kiện và Miễn trừ trách nhiệm này. Bạn cũng đồng ý rằng mối quan hệ của bạn với chúng tôi được điều chỉnh bởi các quy định trong TOS này. Nếu bạn không chấp nhận các điều khoản này, bạn phải ngừng ngay việc sử dụng iccandle.ai và bất kỳ dịch vụ hoặc nền tảng liên quan nào.\\n\\nDịch vụ\\nPixel Nexus Global sẽ cung cấp cho khách hàng đang hoạt động và đủ điều kiện quyền truy cập vào công cụ phân tích được hỗ trợ bởi AI (“Nền tảng”). Trong thỏa thuận này, “Dịch vụ” đề cập đến việc Pixel Nexus Global cung cấp quyền truy cập của bạn vào Nền tảng. Dịch vụ sẽ được cung cấp cho bạn thông qua một hoặc nhiều gói đăng ký, kích hoạt tài khoản, đăng ký hoặc đơn đặt hàng do bạn thực hiện trên website iccandle.ai và được Pixel Nexus Global chấp nhận (“Đơn hàng”).\\n\\nTrong trường hợp có xung đột giữa TOS này và Đơn hàng, TOS này sẽ được ưu tiên áp dụng. Bằng việc chấp nhận Dịch vụ, bạn đồng ý rằng mọi điều khoản khác hoặc bổ sung do bạn đề xuất trong Đơn hàng hoặc bằng cách khác đều bị Pixel Nexus Global từ chối, trừ khi chúng tôi đồng ý bằng văn bản có chữ ký của đại diện được ủy quyền.\\n\\nNghĩa vụ của bạn\\nThông tin khách hàng và trách nhiệm tài khoản\\nBạn đồng ý cung cấp thông tin chính xác cho Pixel Nexus Global khi tạo tài khoản, trong suốt quá trình hợp tác và trong mọi trao đổi. Chúng tôi có thể liên hệ với bạn qua email hoặc điện thoại liên quan đến Dịch vụ. Bạn đồng ý duy trì một địa chỉ email hợp lệ và kiểm tra hàng ngày, đồng thời thông báo kịp thời khi có thay đổi thông tin liên hệ.\\n\\nPixel Nexus Global không chịu trách nhiệm đối với bất kỳ gián đoạn dịch vụ, thiệt hại hoặc hậu quả nào phát sinh từ việc liên lạc sai do bạn không cung cấp thông tin liên hệ cập nhật. Bạn cũng đồng ý hoàn thành đầy đủ và trung thực tất cả các khảo sát dữ liệu trong nền tảng để tuân thủ quy định của sàn giao dịch.\\n\\nSử dụng nền tảng được phép\\nViệc sử dụng Nền tảng phải tuân thủ TOS này và các tài liệu đi kèm. Nếu bạn cho phép bên thứ ba truy cập, bạn đồng ý: (i) giới hạn việc sử dụng của họ theo các điều khoản này; (ii) đảm bảo họ tuân thủ TOS và Chính sách quyền riêng tư; (iii) chịu hoàn toàn trách nhiệm đối với mọi vi phạm của họ.\\n\\nSở hữu trí tuệ và tuân thủ pháp luật\\nBạn không được thay đổi, che khuất hoặc xóa bất kỳ nhãn hiệu hoặc thông báo sở hữu nào. Bạn chỉ được sử dụng Nền tảng theo luật áp dụng và các quy định pháp luật tại khu vực của bạn.\\n\\nNghiêm cấm sử dụng trái phép.\\n\\nThời hạn\\nNgày hiệu lực và thời hạn\\nCác Điều khoản Dịch vụ này có hiệu lực từ ngày sớm hơn giữa: (i) ngày bạn nhấn “Tôi đồng ý” được hệ thống ghi nhận; hoặc (ii) ngày bạn truy cập hoặc sử dụng Nền tảng lần đầu.\\n\\nTOS có hiệu lực trong suốt thời gian đơn hàng còn hoạt động.\\n\\nĐiều khoản đăng ký và gia hạn\\nDịch vụ sẽ tự động gia hạn theo chu kỳ (hàng tháng, hàng quý hoặc hàng năm). Nếu không được quy định, chu kỳ mặc định là 1 tháng.\\n\\nĐiều khoản dùng thử\\nPixel Nexus Global có thể cung cấp thời gian dùng thử (miễn phí hoặc trả phí). Trong thời gian dùng thử:\\n\\nTất cả điều khoản vẫn áp dụng như người dùng trả phí\\nBạn có thể hủy bất kỳ lúc nào để tránh gia hạn tự động\\nĐiều kiện dùng thử có thể thay đổi mà không cần thông báo\\n\\nTrách nhiệm quản lý đăng ký\\nBạn hoàn toàn chịu trách nhiệm quản lý đăng ký, bao gồm:\\n\\nTheo dõi ngày gia hạn\\nCập nhật thông tin thanh toán\\nHủy dịch vụ\\nDuy trì thông tin liên hệ\\n\\nPixel Nexus Global không chịu trách nhiệm cho bất kỳ khoản phí nào phát sinh do bạn không quản lý đăng ký.\\n\\nChấm dứt\\nChính sách hủy và chấm dứt\\nChi tiết về hoàn tiền và hủy dịch vụ được nêu tại trang Refund and Cancellation Policy trên iccandle.ai. Việc chấm dứt tài khoản sẽ ngừng gia hạn tự động nhưng không hoàn lại các khoản đã thanh toán trừ khi có quy định khác.\\n\\nMọi hóa đơn đến hạn phải được thanh toán đầy đủ.\\n\\nChấm dứt vì thuận tiện\\nMột trong hai bên có thể chấm dứt đơn hàng bằng thông báo trước ít nhất 1 ngày trước khi kết thúc kỳ hạn.\\n\\nChấm dứt do vi phạm\\nPixel Nexus Global có quyền tạm ngưng hoặc chấm dứt ngay lập tức nếu vi phạm TOS hoặc chính sách.\\n\\nHiệu lực chấm dứt\\nViệc chấm dứt không ảnh hưởng đến các nghĩa vụ đã phát sinh. Các khoản chưa thanh toán phải được thanh toán ngay.\\n\\nCấp phép và hạn chế\\nPixel Nexus Global cấp cho bạn quyền sử dụng giới hạn, không độc quyền, có thể thu hồi, không chuyển nhượng để sử dụng nền tảng.\\n\\nTất cả quyền sở hữu thuộc Pixel Nexus Global.\\n\\nDữ liệu và sở hữu trí tuệ\\nBạn cho phép chúng tôi sử dụng dữ liệu vận hành để phân tích và phát triển sản phẩm. Pixel Nexus Global sở hữu toàn bộ kết quả phân tích và cải tiến.\\nMiễn trừ tính chính xác\\nDữ liệu có thể không chính xác do phụ thuộc bên thứ ba. Không phải lời khuyên đầu tư.\\nMiễn trừ đầu tư\\nChỉ dùng cho mục đích thông tin và nghiên cứu.\\nRủi ro\\nBạn tự chịu mọi rủi ro giao dịch.\\nMiễn trừ bảo đảm\\nDịch vụ cung cấp “nguyên trạng”.\\nGiới hạn trách nhiệm\\nTrách nhiệm tối đa bằng phí 1 tháng gần nhất.\\nThông báo\\nGửi qua thông tin liên hệ tài khoản.\\n\\nĐịa chỉ pháp lý:\\nPixel Nexus Global PTE. LTD.\\n160 Robinson Road, #14-04\\nSingapore Business Federation Center\\nSingapore 068914\\n\\nBất khả kháng\\nKhông chịu trách nhiệm do sự kiện bất khả kháng.\\nKhông từ bỏ quyền\\nKhông hành động không đồng nghĩa từ bỏ quyền.\\nChuyển nhượng\\nCông ty có thể chuyển nhượng, người dùng không được chuyển nhượng.\\nTính tách biệt\\nĐiều khoản vô hiệu không ảnh hưởng phần còn lại.\\nKhông quan hệ đại diện\\nKhông tạo quan hệ đại diện hoặc lao động.\\nQuyền riêng tư và xung đột\\nChính sách quyền riêng tư là một phần của thỏa thuận.\\nThẩm quyền và miễn trừ\\nDịch vụ không dành cho các khu vực bị cấm sử dụng theo luật địa phương, bao gồm: Hoa Kỳ, Canada, Nga, Iran, Triều Tiên, Myanmar, Syria, Cuba, Crimea, Donetsk, Luhansk, Afghanistan, Belarus, Venezuela, v.v. Người dùng chịu trách nhiệm tuân thủ pháp luật địa phương."},"Refund":{"title":"Chính sách Hoàn tiền và Hủy dịch vụ","intro":"This Refund and Cancellation Policy (\\"Policy\\") governs refund and cancellation terms for services provided by Pixel Nexus Global Pte. Ltd. (\\"we,\\" \\"us,\\" \\"our\\") through the iccandle.ai platform (\\"Services\\"). This Policy is incorporated by reference into our Terms of Service and should be read in conjunction with those Terms.","sections":[{"title":"1. Definitions","definitions":[{"term":"Gói đăng ký","text":"A recurring paid access to the Services for a specified period (e.g., monthly or annually)."},{"term":"Billing Period","text":"The recurring time interval for which a Subscription fee is charged."},{"term":"Subscription Change","text":"Any upgrade or downgrade to a different Subscription plan."}]},{"title":"2. Cancellation Terms","subsections":[{"title":"Subscription Cancellation","listDisc":["You may cancel your Subscription at any time through your account dashboard or by contacting support.","Cancellation will take effect at the end of the current billing period; you will retain access to the Services through the end of that period.","Cancelling your Subscription does not automatically entitle you to a refund of fees already paid."]}]},{"title":"3. Refund Terms","subsections":[{"title":"3.1 General Rule","paragraphs":["Except as expressly provided in this Policy or required by applicable law, all fees paid for Subscriptions are non‑refundable once charged."]},{"title":"3.2 Refund Eligibility","paragraphs":["We may issue a refund at our sole discretion only in limited circumstances, including but not limited to:"],"listDisc":["Duplicate payments (verified duplicate charges will be refunded).","Technical errors that demonstrably prevented access to Services, where the error was not caused by user actions and is verified by us.","Applicable statutory rights under consumer protection law where these rights apply and cannot be waived."],"paragraphsAfter":["Refunds, if approved, will be processed to the original payment method within a commercially reasonable timeframe determined by payment processors and banking partners."]},{"title":"3.3 No Refund for Partial Use","paragraphs":["Refunds will not be issued for:"],"listDisc":["Partial use of the Services during a billing period.","Downgrades of Subscription plans.","Change of mind or business decisions after payment.","Subscription cancellations submitted after a billing cycle has renewed."]}]},{"title":"4. Subscription Changes (Upgrade or Downgrade)","paragraphs":["We provide two options when changing your Subscription plan:"],"subsections":[{"title":"4.1 Change Now","paragraphs":["If you select \\"Change Now,\\" your new plan will take effect immediately, and the associated charge will be applied.","Please note that no refunds, credits, or prorated adjustments will be provided for any unused portion of your current plan."]},{"title":"4.2 Change on Next Billing","paragraphs":["If you choose \\"Change on Next Billing,\\" your current plan will remain active until the end of the current Billing Period.","The new plan will take effect at the start of the next Billing Period.","No refunds or credits apply to the current Billing Period."]}]},{"title":"5. Cancellation After renewal","paragraphs":["If an automatic renewal has already occurred before you submit a cancellation request: The renewal fee is non-refundable. The cancellation will apply to the next Billing Period."]},{"title":"6. Chargebacks and Disputes","paragraphs":["We maintain a strict no-tolerance policy toward unjustified chargebacks.","Initiating a chargeback or payment dispute without first contacting us to seek resolution is considered a breach of this Refund and Cancellation Policy and our Terms of Service. Such actions may result in immediate suspension or permanent termination of your account, without notice, and forfeiture of access to the Services.","We reserve the right to challenge and dispute any chargeback that we deem unauthorized, abusive, or inconsistent with this Policy. This includes providing payment processors, banks, and financial institutions with all relevant evidence, including but not limited to:"],"listDisc":["Proof of service delivery and access logs","Account activity records","Acceptance of our Terms of Service and policies","Communication history with the customer"],"paragraphsAfter":["Customers are strongly encouraged to contact our support team first to resolve any billing concerns. We are committed to addressing legitimate issues in good faith; however, chargebacks used as a substitute for cancellation or refund requests will not be tolerated."]},{"title":"7. Modification of Policy","paragraphs":["We may update this Policy from time to time. Material changes will be posted on our website or communicated via email prior to taking effect. Continued use of the Services after such updates constitutes acceptance of the revised Policy."]},{"title":"8. Contact Information","paragraphs":["For all cancellation and refund requests, please contact our support team via our help center."]}],"content":"Chính sách Hoàn tiền và Hủy dịch vụ\\n\\nChính sách Hoàn tiền và Hủy dịch vụ này (“Chính sách”) quy định các điều khoản hoàn tiền và hủy dịch vụ đối với các dịch vụ do Pixel Nexus Global Pte. Ltd. (“chúng tôi”) cung cấp thông qua nền tảng iccandle.ai (“Dịch vụ”). Chính sách này là một phần không tách rời của Điều khoản Dịch vụ và cần được đọc cùng với các điều khoản đó.\\n\\n1. Định nghĩa\\nGói đăng ký (Subscription): Quyền truy cập trả phí định kỳ vào Dịch vụ trong một khoảng thời gian xác định (ví dụ: hàng tháng hoặc hàng năm).\\nKỳ thanh toán (Billing Period): Khoảng thời gian định kỳ mà phí đăng ký được tính.\\nThay đổi gói (Subscription Change): Việc nâng cấp hoặc hạ cấp sang một gói đăng ký khác.\\n2. Điều khoản hủy dịch vụ\\n\\nHủy đăng ký\\n\\nBạn có thể hủy đăng ký bất kỳ lúc nào thông qua bảng điều khiển tài khoản hoặc liên hệ bộ phận hỗ trợ.\\n\\nViệc hủy sẽ có hiệu lực vào cuối kỳ thanh toán hiện tại; bạn vẫn có quyền sử dụng Dịch vụ cho đến khi kết thúc kỳ đó.\\n\\nViệc hủy đăng ký không đồng nghĩa với việc bạn được hoàn lại các khoản phí đã thanh toán.\\n\\n3. Điều khoản hoàn tiền\\n3.1 Quy tắc chung\\n\\nTrừ khi được quy định rõ trong Chính sách này hoặc theo yêu cầu của pháp luật hiện hành, tất cả các khoản phí đã thanh toán cho gói đăng ký đều không được hoàn lại sau khi đã bị tính phí.\\n\\n3.2 Điều kiện hoàn tiền\\n\\nChúng tôi chỉ xem xét hoàn tiền trong một số trường hợp hạn chế, bao gồm nhưng không giới hạn:\\n\\nThanh toán trùng lặp (các khoản phí trùng được xác minh sẽ được hoàn lại)\\nLỗi kỹ thuật khiến bạn không thể truy cập Dịch vụ, với điều kiện lỗi không do người dùng gây ra và đã được chúng tôi xác minh\\nQuyền lợi theo luật bảo vệ người tiêu dùng hiện hành, nếu áp dụng và không thể từ bỏ\\n\\nNếu được chấp thuận, khoản hoàn tiền sẽ được xử lý về phương thức thanh toán ban đầu trong thời gian hợp lý, tùy thuộc vào hệ thống thanh toán và ngân hàng.\\n\\n3.3 Không hoàn tiền khi sử dụng một phần\\n\\nChúng tôi sẽ không hoàn tiền trong các trường hợp:\\n\\nSử dụng một phần Dịch vụ trong kỳ thanh toán\\nHạ cấp gói đăng ký\\nThay đổi quyết định sau khi đã thanh toán\\nHủy đăng ký sau khi chu kỳ thanh toán đã gia hạn\\n4. Thay đổi gói đăng ký (nâng cấp hoặc hạ cấp)\\n\\nKhi thay đổi gói, bạn có hai lựa chọn:\\n\\n4.1 Thay đổi ngay (Change Now)\\n\\nNếu chọn “Thay đổi ngay”, gói mới sẽ có hiệu lực ngay lập tức và phí tương ứng sẽ được áp dụng.\\n\\nLưu ý: sẽ không có hoàn tiền, tín dụng hoặc điều chỉnh theo tỷ lệ cho phần chưa sử dụng của gói hiện tại.\\n\\n4.2 Thay đổi vào kỳ thanh toán tiếp theo (Change on Next Billing)\\n\\nNếu chọn tùy chọn này, gói hiện tại sẽ tiếp tục có hiệu lực đến hết kỳ thanh toán hiện tại.\\n\\nGói mới sẽ bắt đầu từ kỳ thanh toán tiếp theo.\\n\\nKhông có hoàn tiền hoặc tín dụng cho kỳ thanh toán hiện tại.\\n\\n5. Hủy sau khi gia hạn\\n\\nNếu việc gia hạn tự động đã xảy ra trước khi bạn gửi yêu cầu hủy: phí gia hạn sẽ không được hoàn lại. Việc hủy sẽ áp dụng cho kỳ thanh toán tiếp theo.\\n\\n6. Hoàn tiền qua tranh chấp (Chargeback) và khiếu nại\\n\\nChúng tôi áp dụng chính sách nghiêm ngặt đối với các hành vi chargeback không hợp lý.\\n\\nViệc thực hiện chargeback hoặc tranh chấp thanh toán mà không liên hệ với chúng tôi trước để giải quyết được xem là vi phạm Chính sách Hoàn tiền và Hủy dịch vụ cũng như Điều khoản Dịch vụ. Các hành vi này có thể dẫn đến việc tạm ngừng hoặc chấm dứt vĩnh viễn tài khoản mà không cần thông báo, đồng thời mất quyền truy cập Dịch vụ.\\n\\nChúng tôi có quyền phản đối bất kỳ chargeback nào được xem là không hợp lệ, lạm dụng hoặc không phù hợp với Chính sách này, bao gồm việc cung cấp bằng chứng cho các đơn vị thanh toán, ngân hàng và tổ chức tài chính, như:\\n\\nBằng chứng cung cấp dịch vụ và nhật ký truy cập\\nLịch sử hoạt động tài khoản\\nBằng chứng chấp nhận Điều khoản Dịch vụ\\nLịch sử trao đổi với khách hàng\\n\\nKhách hàng được khuyến khích liên hệ bộ phận hỗ trợ trước để giải quyết các vấn đề thanh toán. Chúng tôi cam kết xử lý các vấn đề hợp lý một cách thiện chí; tuy nhiên, việc sử dụng chargeback thay cho yêu cầu hủy hoặc hoàn tiền sẽ không được chấp nhận.\\n\\n7. Thay đổi chính sách\\n\\nChúng tôi có thể cập nhật Chính sách này theo thời gian. Các thay đổi quan trọng sẽ được đăng trên website hoặc thông báo qua email trước khi có hiệu lực. Việc tiếp tục sử dụng Dịch vụ sau khi cập nhật đồng nghĩa với việc bạn chấp nhận Chính sách đã sửa đổi.\\n\\n8. Thông tin liên hệ\\n\\nĐối với tất cả yêu cầu hủy và hoàn tiền, vui lòng liên hệ bộ phận hỗ trợ thông qua trung tâm trợ giúp của chúng tôi."},"Privacy":{"title":"Chính sách quyền riêng tư","intro":"This Privacy Policy explains how Pixel Nexus Global Pte. Ltd. (\\"we\\", \\"us\\", or \\"our\\") collects, uses, discloses, and protects personal information when you use our website, applications, and services (collectively, the \\"Services\\").","sections":[{"title":"1. Information We Collect","paragraphs":["We collect the following information:"],"listDisc":["Email address provided when you sign up for our Services","Service usage information, including interactions with features, pages viewed, session activity, and general usage patterns, collected to improve the functionality, performance, and user experience of our Services"],"paragraphsAfter":["We do not collect, store, or process payment card details or other sensitive payment information."]},{"title":"2. Payments and Stripe","paragraphs":["All payment transactions are processed by our third-party payment service provider, Stripe.","When you make a payment, Stripe collects and processes payment-related information (such as card details, billing information, and transaction data) directly. This information is handled in accordance with Stripe’s Privacy Policy and security standards, including PCI-DSS compliance.","We only receive limited information from Stripe necessary to operate our Services, including:"],"listDisc":["Payment confirmation","Subscription status","Transaction identifiers"],"paragraphsAfter":["We do not have access to your full payment details.","You can review Stripe’s Privacy Policy here:"],"stripePrivacyUrl":"https://stripe.com/privacy"},{"title":"3. How We Use Your Information","paragraphs":["We use the email addresses we collect to:"],"listDisc":["Provide, operate, and maintain our Services","Analyze service usage and improve product functionality, performance, and user experience","Communicate with you regarding technical notices, updates, and support","Inform you about products, services, features, and events"]},{"title":"4. Information Sharing","paragraphs":["We do not sell your personal information.","We may share your information only with:"],"listDisc":["Service providers who support our operations (including hosting, analytics, and payment processing via Stripe)","Professional advisors, such as legal, accounting, or compliance consultants","Law enforcement or regulatory authorities, when required by law or to protect our legal rights"],"paragraphsAfter":["All third-party service providers are required to process personal data in accordance with applicable data protection laws."]},{"title":"5. Your Rights","paragraphs":["Depending on your location, you may have the right to:"],"listDisc":["Access your personal information","Correct or update your email address","Request deletion of your email address","Object to or restrict certain processing activities"],"paragraphsAfter":["Requests related to payment data should be directed to Stripe, as they act as the data controller for payment information."]},{"title":"6. Third-Party Policies","paragraphs":["Our Services rely on third-party providers such as Stripe. Their handling of personal data is governed by their own privacy policies, and we encourage you to review them."]},{"title":"7. Contact Us","paragraphs":["If you have any questions about this Privacy Policy or our data practices, please contact us at:","support@iccandle.ai"]}],"content":"Chính sách quyền riêng tư\\n\\nChính sách quyền riêng tư này giải thích cách Pixel Nexus Global Pte. Ltd. (“chúng tôi”, “của chúng tôi”) thu thập, sử dụng, tiết lộ và bảo vệ thông tin cá nhân khi bạn sử dụng trang web, ứng dụng và các dịch vụ của chúng tôi (gọi chung là “Dịch vụ”).\\n\\n1. Thông tin chúng tôi thu thập\\n\\nChúng tôi thu thập các thông tin sau:\\n\\nĐịa chỉ email bạn cung cấp khi đăng ký sử dụng Dịch vụ\\nThông tin sử dụng dịch vụ, bao gồm tương tác với các tính năng, trang đã xem, hoạt động phiên truy cập và các mẫu sử dụng chung. Những dữ liệu này được thu thập nhằm cải thiện chức năng, hiệu suất và trải nghiệm người dùng của Dịch vụ\\n\\nChúng tôi không thu thập, lưu trữ hoặc xử lý thông tin thẻ thanh toán hoặc bất kỳ thông tin thanh toán nhạy cảm nào khác.\\n\\n2. Thanh toán và Stripe\\n\\nTất cả giao dịch thanh toán được xử lý bởi nhà cung cấp dịch vụ thanh toán bên thứ ba là Stripe.\\n\\nKhi bạn thực hiện thanh toán, Stripe sẽ trực tiếp thu thập và xử lý thông tin liên quan đến thanh toán (như thông tin thẻ, thông tin thanh toán và dữ liệu giao dịch). Các thông tin này được xử lý theo Chính sách quyền riêng tư và tiêu chuẩn bảo mật của Stripe, bao gồm tuân thủ PCI-DSS.\\n\\nChúng tôi chỉ nhận từ Stripe những thông tin giới hạn cần thiết để vận hành Dịch vụ, bao gồm:\\n\\nXác nhận thanh toán\\nTrạng thái đăng ký (subscription)\\nMã định danh giao dịch\\n\\nChúng tôi không có quyền truy cập vào đầy đủ thông tin thanh toán của bạn.\\n\\nBạn có thể xem Chính sách quyền riêng tư của Stripe tại đây: https://stripe.com/privacy\\n\\n3. Cách chúng tôi sử dụng thông tin của bạn\\n\\nChúng tôi sử dụng địa chỉ email đã thu thập để:\\n\\nCung cấp, vận hành và duy trì Dịch vụ\\nPhân tích việc sử dụng dịch vụ và cải thiện chức năng, hiệu suất và trải nghiệm người dùng\\nGửi thông báo kỹ thuật, cập nhật và hỗ trợ\\nThông báo về sản phẩm, dịch vụ, tính năng và sự kiện\\n4. Chia sẻ thông tin\\n\\nChúng tôi không bán thông tin cá nhân của bạn.\\n\\nChúng tôi chỉ chia sẻ thông tin trong các trường hợp sau:\\n\\nCác nhà cung cấp dịch vụ hỗ trợ vận hành (bao gồm lưu trữ, phân tích và xử lý thanh toán qua Stripe)\\nCác cố vấn chuyên môn như pháp lý, kế toán hoặc tuân thủ\\nCơ quan thực thi pháp luật hoặc cơ quan quản lý khi có yêu cầu theo luật hoặc để bảo vệ quyền hợp pháp của chúng tôi\\n\\nTất cả các bên thứ ba đều phải xử lý dữ liệu cá nhân theo luật bảo vệ dữ liệu hiện hành.\\n\\n5. Quyền của bạn\\n\\nTùy theo khu vực của bạn, bạn có thể có các quyền sau:\\n\\nTruy cập thông tin cá nhân của bạn\\nSửa hoặc cập nhật địa chỉ email\\nYêu cầu xóa địa chỉ email của bạn\\nPhản đối hoặc hạn chế một số hoạt động xử lý dữ liệu\\n\\nCác yêu cầu liên quan đến dữ liệu thanh toán cần được gửi trực tiếp đến Stripe, vì Stripe là bên kiểm soát dữ liệu thanh toán.\\n\\n6. Chính sách bên thứ ba\\n\\nDịch vụ của chúng tôi phụ thuộc vào các nhà cung cấp bên thứ ba như Stripe. Việc xử lý dữ liệu cá nhân của họ được điều chỉnh bởi chính sách quyền riêng tư riêng của họ, và chúng tôi khuyến nghị bạn xem xét các chính sách đó.\\n\\n7. Liên hệ với chúng tôi\\n\\nNếu bạn có bất kỳ câu hỏi nào về Chính sách quyền riêng tư này hoặc cách chúng tôi xử lý dữ liệu, vui lòng liên hệ:\\nsupport@iccandle.ai"},"Cookie":{"title":"Chính sách Cookie","intro":["This Cookie Policy explains how Pixel Nexus Global Pte. Ltd. (\\"we\\", \\"us\\", or \\"our\\") uses cookies and similar technologies when you visit or use iccandle.ai and related services (collectively, the \\"Services\\").","This Policy should be read together with our Privacy Policy."],"sections":[{"title":"1. What Are Cookies?","paragraphs":["Cookies are small text files placed on your device when you visit a website. They are widely used to make websites work efficiently, enhance user experience, and provide information to website operators.","Cookies may be:"],"listDisc":["Session cookies (deleted when you close your browser), or","Persistent cookies (stored for a set period or until deleted)."]},{"title":"2. Types of Cookies We Use","subsections":[{"title":"2.1 Strictly Necessary Cookies","paragraphs":["These cookies are essential for the operation of our Services and cannot be switched off. They are required to:"],"listDisc":["Enable secure login and authentication","Maintain user sessions","Protect against fraud and abuse"],"paragraphsAfter":["Without these cookies, the Services cannot function properly."]},{"title":"2.2 Functional Cookies","paragraphs":["These cookies allow us to remember your preferences and settings, such as:"],"listDisc":["Language or regional preferences","Account-related selections"],"paragraphsAfter":["They improve usability but are not strictly necessary."]},{"title":"2.3 Analytics and Performance Cookies","paragraphs":["We use analytics cookies to understand how users interact with our Services. These cookies collect information such as:"],"listDisc":["Pages visited and features used","Session duration and interaction patterns","Error and performance data"],"paragraphsAfter":["This information is used solely to improve our product, functionality, and user experience. Analytics data is aggregated and does not directly identify individual users."]},{"title":"2.4 Third-Party Cookies","paragraphs":["Some cookies are placed by third-party service providers that support our Services, including:"],"listDisc":["Payment processing services (e.g., Stripe)","Analytics and infrastructure providers"],"paragraphsAfter":["These third parties may use cookies in accordance with their own privacy and cookie policies."]}]},{"title":"3. What We Do NOT Use Cookies For","listDisc":["We do not use cookies for advertising or behavioral targeting","We do not sell cookie data","We do not use cookies to collect sensitive personal information"]},{"title":"4. Managing Cookies","paragraphs":["You can manage or disable cookies through your browser settings. Most browsers allow you to:"],"listDisc":["View cookies stored on your device","Delete existing cookies","Block cookies entirely or from specific websites"],"paragraphsAfter":["Please note that disabling certain cookies may affect the functionality and performance of the Services."]},{"title":"5. Changes to This Cookie Policy","paragraphs":["We may update this Cookie Policy from time to time to reflect changes in technology, law, or our practices. Material changes will be posted on our website. Continued use of the Services after changes take effect constitutes acceptance of the updated Policy."]},{"title":"6. Contact Us","paragraphs":["If you have any questions about this Cookie Policy or our use of cookies, please contact us at:","support@iccandle.ai"]}],"content":"Chính sách Cookie\\n\\nChính sách Cookie này giải thích cách Pixel Nexus Global Pte. Ltd. (“chúng tôi”, “của chúng tôi”) sử dụng cookie và các công nghệ tương tự khi bạn truy cập hoặc sử dụng iccandle.ai và các dịch vụ liên quan (gọi chung là “Dịch vụ”).\\n\\nChính sách này nên được đọc cùng với Chính sách Quyền riêng tư của chúng tôi.\\n\\n1. Cookie là gì?\\n\\nCookie là các tệp văn bản nhỏ được lưu trên thiết bị của bạn khi bạn truy cập một trang web. Chúng được sử dụng rộng rãi để giúp website hoạt động hiệu quả, nâng cao trải nghiệm người dùng và cung cấp thông tin cho nhà vận hành website.\\n\\nCookie có thể là:\\n\\nCookie phiên (session cookies) – bị xóa khi bạn đóng trình duyệt\\nCookie lưu trữ lâu dài (persistent cookies) – được lưu trong một khoảng thời gian nhất định hoặc cho đến khi bị xóa\\n2. Các loại Cookie chúng tôi sử dụng\\n2.1 Cookie thiết yếu (Strictly Necessary Cookies)\\n\\nCác cookie này cần thiết để vận hành Dịch vụ và không thể tắt. Chúng được sử dụng để:\\n\\nCho phép đăng nhập và xác thực an toàn\\nDuy trì phiên đăng nhập của người dùng\\nBảo vệ chống gian lận và lạm dụng\\n\\nNếu không có các cookie này, Dịch vụ sẽ không thể hoạt động đúng cách.\\n\\n2.2 Cookie chức năng (Functional Cookies)\\n\\nCác cookie này giúp chúng tôi ghi nhớ tùy chọn và cài đặt của bạn, ví dụ:\\n\\nNgôn ngữ hoặc khu vực\\nLựa chọn liên quan đến tài khoản\\n\\nChúng cải thiện khả năng sử dụng nhưng không bắt buộc.\\n\\n2.3 Cookie phân tích và hiệu suất (Analytics and Performance Cookies)\\n\\nChúng tôi sử dụng cookie phân tích để hiểu cách người dùng tương tác với Dịch vụ. Các cookie này thu thập thông tin như:\\n\\nTrang đã truy cập và tính năng đã sử dụng\\nThời gian phiên truy cập và mô hình tương tác\\nDữ liệu lỗi và hiệu suất hệ thống\\n\\nThông tin này chỉ được sử dụng để cải thiện sản phẩm, chức năng và trải nghiệm người dùng. Dữ liệu phân tích được tổng hợp và không trực tiếp xác định danh tính cá nhân.\\n\\n2.4 Cookie của bên thứ ba (Third-Party Cookies)\\n\\nMột số cookie được đặt bởi các nhà cung cấp bên thứ ba hỗ trợ Dịch vụ của chúng tôi, bao gồm:\\n\\nDịch vụ xử lý thanh toán (ví dụ: Stripe)\\nNhà cung cấp phân tích và hạ tầng\\n\\nCác bên thứ ba này có thể sử dụng cookie theo chính sách riêng của họ.\\n\\n3. Chúng tôi KHÔNG sử dụng cookie cho:\\nQuảng cáo hoặc nhắm mục tiêu hành vi\\nBán dữ liệu cookie\\nThu thập thông tin cá nhân nhạy cảm\\n4. Quản lý Cookie\\n\\nBạn có thể quản lý hoặc vô hiệu hóa cookie thông qua cài đặt trình duyệt. Hầu hết trình duyệt cho phép bạn:\\n\\nXem cookie được lưu trên thiết bị\\nXóa cookie hiện có\\nChặn toàn bộ cookie hoặc cookie từ các trang cụ thể\\n\\nXin lưu ý rằng việc vô hiệu hóa một số cookie có thể ảnh hưởng đến chức năng và hiệu suất của Dịch vụ.\\n\\n5. Thay đổi Chính sách Cookie\\n\\nChúng tôi có thể cập nhật Chính sách Cookie này theo thời gian để phản ánh thay đổi về công nghệ, pháp luật hoặc hoạt động. Các thay đổi quan trọng sẽ được đăng trên website. Việc tiếp tục sử dụng Dịch vụ sau khi thay đổi có hiệu lực đồng nghĩa với việc bạn chấp nhận chính sách đã cập nhật.\\n\\n6. Liên hệ\\n\\nNếu bạn có bất kỳ câu hỏi nào về Chính sách Cookie này hoặc việc sử dụng cookie, vui lòng liên hệ:\\n\\nsupport@iccandle.ai"}}`),Dh={Common:ih,Confirmation:ah,DateFormat:rh,Alert:oh,TimeConfig:sh,Loading:lh,Auth:ch,Navbar:uh,Guide:dh,Pricing:hh,Settings:ph,Referral:mh,Layout:fh,News:gh,Selector:yh,UserActivity:bh,Pattern:vh,PatternCatalog:wh,sQuestion_pattern:xh,sQuestion_general:Ph,sQuestion_news:Sh,justLanguage:Th,profile:kh,Landing:Ch,NotFound:Ah,Legal:Nh},Rh={or:"OR",error:"ข้อผิดพลาด",cancel:"ยกเลิก",continuing:"กำลังดำเนินการต่อ...",email:"อีเมล",password:"รหัสผ่าน",termsOfService:"ข้อกำหนดการให้บริการ",privacyPolicy:"นโยบายความเป็นส่วนตัว",continueWithGoogle:"ดำเนินการต่อด้วย Google",continuingWithGoogle:"กำลังดำเนินการต่อด้วย Google...",signIn:"เข้าสู่ระบบ",signUp:"สมัครสมาชิก",agreeAndContinue:"ยอมรับและดำเนินการต่อ",changePlan:"เปลี่ยนแพ็กเกจ",upgradePlan:"อัปเกรดแพ็กเกจ +",manageBilling:"จัดการการเรียกเก็บเงิน",getInTouch:"ติดต่อเรา",copyright:"© {year} IC Candle, Inc. สงวนลิขสิทธิ์ทั้งหมด",session:"เซสชัน",sessions:"เซสชัน",activeWorkspaces:"พื้นที่ทำงานที่ใช้งานอยู่",date:"วันที่",product:"ผลิตภัณฑ์",plan:"แพ็กเกจ",planNames:{free:"แพ็กเกจฟรี",standard:"แพ็กเกจมาตรฐาน",pro:"แพ็กเกจโปร",expert:"แพ็กเกจเอ็กซ์เพิร์ต"},status:"สถานะ",amount:"จำนวนเงิน",detail:"รายละเอียด",total:"รวม",prioritySupport:"การสนับสนุนแบบลำดับความสำคัญ",all:"ทั้งหมด",minutely:"ภายในวัน",hourly:"รายชั่วโมง",daily:"รายวัน",chatAssistant:"ผู้ช่วยแชท AI",timeframes:"ช่วงเวลา",symbols:"สัญลักษณ์",timeSettings:"การตั้งค่าเวลา",step:"ขั้นตอนที่ {number}:",learnMore:"เรียนรู้เพิ่มเติม",success:"สำเร็จ",validationError:"ข้อผิดพลาดการตรวจสอบ",previous:"ก่อนหน้า",next:"Next",saving:"กำลังบันทึก...",save:"บันทึก",saveChanges:"บันทึกการเปลี่ยนแปลง",nextStep:"ขั้นตอนถัดไป",columnTimeframe:"ไทม์เฟรม",columnSymbol:"สัญลักษณ์",columnDescription:"คำอธิบาย",symbol:"สัญลักษณ์",timeframe:"ไทม์เฟรม",candles:"แท่งเทียน",up:"ขึ้น",down:"ลง",play:"เล่น",close:"ปิด",simulate:"จำลอง",actual:"จริง",forecast:"คาดการณ์",interestRate:"อัตราดอกเบี้ย",soon:"เร็วๆ นี้",back:"กลับ",similarity:"ความคล้ายคลึง",nextCandles:"ถัดไป {count}",nextCandlesFull:"แท่งเทียนถัดไป {count} แท่ง",probabilityOutcome:"ผลลัพธ์ความน่าจะเป็น:",estimatedProbability:"ความน่าจะเป็นโดยประมาณ:",riskDisclaimer:"ตลาดการเงินมีความเสี่ยงสูงและอาจส่งผลให้เกิดการสูญเสียเงินทุน iC Candle ให้ข้อมูลเพื่อวัตถุประสงค์ด้านการศึกษาเท่านั้น และไม่ได้ให้คำแนะนำทางการเงิน ผลการดำเนินงานในอดีตไม่ได้รับประกันผลลัพธ์ในอนาคต",rangeTooFarToRender:"ช่วงข้อมูลไกลเกินกว่าที่จะแสดงผลได้",marketSessions:"ช่วงเวลาตลาด",askTradingQuestion:"ถามคำถามเกี่ยวกับการเทรด",mrCandleThinking:"Mr. Candle กำลังคิด...",simulateBullishPriceAction:"จำลองการเคลื่อนไหวราคาขาขึ้น",simulateBearishPriceAction:"จำลองการเคลื่อนไหวราคาขาลง",dismiss:"ปิด",loadingMore:"กำลังโหลดเพิ่มเติม...",savedPatternDeleted:"ลบรูปแบบที่บันทึกแล้ว"},Eh={confirm:"ยืนยัน",deletePatternTitle:"ลบรูปแบบ",deletePatternDescription:"คุณแน่ใจหรือไม่ว่าต้องการลบรูปแบบนี้?",deleteAllNotificationsTitle:"ลบการแจ้งเตือนทั้งหมด",deleteAllNotificationsDescription:"คุณแน่ใจหรือไม่ว่าต้องการลบการแจ้งเตือนทั้งหมด?",disableSignalsTitle:"ปิดใช้งานสัญญาณ",disableSignalsDescription:"คุณแน่ใจหรือไม่ว่าต้องการปิดใช้งานสัญญาณ?",disableSignalsForDescription:"คุณแน่ใจหรือไม่ว่าต้องการปิดใช้งานสัญญาณสำหรับ {patternTitle}?",togglePatternModeTitle:"สลับโหมดรูปแบบ",togglePatternModeDisableDescription:"คุณแน่ใจหรือไม่ว่าต้องการปิดใช้งานรูปแบบนี้?",togglePatternModeEnableDescription:"คุณแน่ใจหรือไม่ว่าต้องการเปิดใช้งานรูปแบบนี้?",closeFeatureDescription:"คุณแน่ใจหรือไม่ว่าต้องการปิดฟีเจอร์นี้?"},Oh={today:"วันนี้",yesterday:"เมื่อวาน",day:"{count, plural, other {# วัน}}",hour:"{count, plural, other {# ชั่วโมง}}",minute:"{count, plural, other {# นาที}}",zeroMinutes:"0 นาที",dayShort:"วัน",hourShort:"ชม.",minuteShort:"นาที",zeroMin:"0 นาที",justNow:"เมื่อสักครู่",minutesAgo:"{count, plural, other {# นาทีที่แล้ว}}",hoursAgo:"{count, plural, other {# ชั่วโมงที่แล้ว}}",daysAgo:"{count, plural, other {# วันที่แล้ว}}",monthsAgo:"{count, plural, other {# เดือนที่แล้ว}}",yearsAgo:"{count, plural, other {# ปีที่แล้ว}}"},Mh={classicPatternTracker:"Classic Pattern Tracker",trackedPatternReminder:"การแจ้งเตือนรูปแบบที่ติดตาม",classicPattern:"รูปแบบคลาสสิก",trackedPattern:"รูปแบบที่ติดตาม",enableClassicNotifications:"เปิดการแจ้งเตือนแบบเรียลไทม์สำหรับรูปแบบราคาคลาสสิก",waitingForPatternSignals:"กำลังรอสัญญาณรูปแบบ",noPatternsDetected:"ไม่พบรูปแบบในขณะนี้",signalsActiveDescription:"สัญญาณของคุณเปิดใช้งานอยู่ เราจะแจ้งเตือนคุณทันทีเมื่อพบรูปแบบที่ตรงกัน",noCustomPatternDetected:"ไม่พบ {patternName} ในขณะนี้",trackMorePatternsByScan:"ติดตามรูปแบบเพิ่มเติมโดยไปที่การสแกน",seeMore:"ดูเพิ่มเติม"},Ih={title:"การตั้งค่าเวลา",description:"เลือกช่วงเวลาท้องถิ่นที่การแจ้งเตือนรูปแบบสามารถทำงานได้",startTime:"เวลาเริ่มต้น",endTime:"เวลาสิ้นสุด",session:"เซสชัน",timezone:"เขตเวลา",yourTimezone:"เขตเวลาของคุณ",selectSession:"เลือกช่วงเวลาตลาด",searchSession:"ค้นหาช่วงเวลาตลาด...",noSessionFound:"ไม่พบช่วงเวลาตลาด",sessionsHeading:"เซสชัน",selectTimezone:"เลือกเขตเวลา",selectTimezoneHint:"ค้นหาและเลือกเขตเวลาสำหรับการแจ้งเตือนนี้",searchTimezone:"ค้นหาเขตเวลา...",noTimezoneFound:"ไม่พบเขตเวลา",timezonesHeading:"เขตเวลา",allTime:"ตลอดเวลา",customize:"กำหนดเอง",newYorkSession:"เซสชันนิวยอร์ก",londonSession:"เซสชันลอนดอน",tokyoSession:"เซสชันโตเกียว",sydneySession:"เซสชันซิดนีย์"},Lh={newsScan:{analyzing:"กำลังวิเคราะห์เหตุการณ์ข่าวปัจจุบัน...",searching:"กำลังค้นหาการประกาศข่าวในอดีตที่คล้ายกัน...",ranking:"กำลังจัดอันดับข่าวที่คล้ายกันและเกี่ยวข้องมากที่สุด...",preparingReplay:"กำลังเตรียมข่าวที่คล้ายกันสำหรับการเล่นซ้ำ...",ready:"เหตุการณ์ข่าวที่คล้ายกันพร้อมสำหรับการวิเคราะห์ผลกระทบแล้ว"},newsAi:{replaying:"กำลังเล่นซ้ำการเคลื่อนไหวของราคาในอดีต...",startingSimulation:"กำลังเริ่มต้นโมเดลจำลองผลกระทบ...",calculatingScenarios:"กำลังคำนวณสถานการณ์ขาขึ้นและขาลง...",complete:"การจำลองเสร็จสมบูรณ์"},selectorScan:{scanning:"กำลังสแกนประวัติศาสตร์ตลาดมากกว่า 20 ปี...",finding:"กำลังค้นหารูปแบบโครงสร้างที่คล้ายกัน...",linking:"กำลังเชื่อมโยงพฤติกรรมตลาดเข้ากับปัจจัยพื้นฐาน...",preparing:"กำลังเตรียมชุดข้อมูลประวัติศาสตร์เชิงโครงสร้าง...",ready:"รูปแบบพร้อมสำหรับการเล่นซ้ำและวิเคราะห์ผลลัพธ์แล้ว"},selectorAi:{replaying:"กำลังเล่นซ้ำพฤติกรรมรูปแบบในอดีต...",learning:"กำลังเรียนรู้รูปแบบผลกระทบจากการเคลื่อนไหวในอดีต...",calculating:"กำลังคำนวณพลวัตของการเคลื่อนไหวราคา...",initializing:"กำลังเริ่มต้นโมเดลจำลอง...",complete:"การจำลองเสร็จสมบูรณ์"}},Gh={Layout:{tagline:"ออกแบบมาสำหรับเทรดเดอร์ที่ให้ความสำคัญกับข้อมูลเชิงลึก"},Legal:{termsAndPrivacy:"ข้อกำหนดและความเป็นส่วนตัว",googleTermsDescription:"เมื่อดำเนินการต่อด้วย Google คุณยอมรับ <terms></terms> และ <privacy></privacy> ของเรา",legalAgreement:"ฉันยอมรับ <terms></terms> และ <privacy></privacy> ของเรา",pleaseAgreeToContinue:"โปรดยอมรับเพื่อดำเนินการต่อ",pleaseAgreeDescription:"คุณต้องยอมรับข้อกำหนดการให้บริการและนโยบายความเป็นส่วนตัวเพื่อดำเนินการต่อด้วย Google",legalTitle:"ข้อมูลทางกฎหมาย"},SignIn:{dontHaveAccount:"ยังไม่มีบัญชีใช่หรือไม่?",googleVerifyingAuthorization:"Google กำลังตรวจสอบการอนุญาต...",invalidCredentials:"ข้อมูลเข้าสู่ระบบไม่ถูกต้อง",invalidEmail:"ที่อยู่อีเมลไม่ถูกต้อง",emailRequired:"จำเป็นต้องกรอกอีเมล",passwordRequired:"จำเป็นต้องกรอกรหัสผ่าน",pleaseCheckInfo:"กรุณาตรวจสอบข้อมูลของคุณอีกครั้ง",emailPlaceholder:"กรอกอีเมลส่วนตัวหรืออีเมลที่ทำงาน",change:"เปลี่ยน",forgotPassword:"ลืมรหัสผ่าน",continueWithEmail:"ดำเนินการต่อด้วยอีเมล"},SignUp:{repeatPassword:"ยืนยันรหัสผ่าน",termsAgreement:"เมื่อดำเนินการต่อ คุณยอมรับ <terms></terms> และ <privacy></privacy> ของเรา",continueWithEmail:"ดำเนินการต่อด้วยอีเมล",alreadyHaveAccount:"มีบัญชีอยู่แล้วใช่หรือไม่?",signUpError:"เกิดข้อผิดพลาดระหว่างการสมัครสมาชิก"},PasswordRecovery:{title:"กู้คืนรหัสผ่าน",emailRequired:"จำเป็นต้องกรอกอีเมล!",emailPlaceholder:"your@example.com",sendConfirmationCode:"ส่งรหัสยืนยัน",somethingWrong:"เกิดข้อผิดพลาด",pleaseWaitAndRetry:"กรุณารอและลองอีกครั้ง",confirmationCodeSent:"ส่งรหัสยืนยันแล้ว",checkYourEmail:"กรุณาตรวจสอบอีเมลของคุณ"},ResetPassword:{title:"รีเซ็ตรหัสผ่าน",confirmationCode:"รหัสยืนยัน",confirmationCodeRequired:"จำเป็นต้องกรอกรหัสยืนยัน",newPassword:"รหัสผ่านใหม่",repeatNewPassword:"ยืนยันรหัสผ่านใหม่",passwordMinLength:"รหัสผ่านต้องมีอย่างน้อย 8 ตัวอักษร",repeatPasswordMinLength:"รหัสผ่านยืนยันต้องมีอย่างน้อย 8 ตัวอักษร",passwordsMustMatch:"รหัสผ่านไม่ตรงกัน",pleaseStartAgain:"กรุณาเริ่มใหม่อีกครั้ง",resetSuccess:"รีเซ็ตสำเร็จ",useNewPassword:"กรุณาใช้รหัสผ่านใหม่ของคุณ",passwordNotConfirmed:"ยืนยันรหัสผ่านไม่สำเร็จ!"},Confirm:{title:"ยืนยันบัญชีของคุณ",codeSentTo:"รหัสยืนยันถูกส่งไปที่:",otpDescription:"กรุณากรอกรหัสผ่านใช้ครั้งเดียวที่ส่งไปยังอีเมลของคุณ",otpLength:"OTP ต้องมี 6 ตัวอักษร",turnstileError:"เกิดข้อผิดพลาดใน Turnstile",confirmError:"เกิดข้อผิดพลาดระหว่างการยืนยัน: {message}",confirm:"ยืนยัน"}},Fh={features:{title:"คุณสมบัติ",patternSelector:{title:"ตัวเลือกรูปแบบ",subtitle:"วิเคราะห์แนวคิดของคุณเทียบกับข้อมูลตลาดในอดีตเพื่อค้นหารูปแบบราคาและผลลัพธ์ที่คล้ายกัน"},patternTracker:{title:"ตัวติดตามรูปแบบ",subtitle:"สแกนตลาดอย่างต่อเนื่องในพื้นหลังและแจ้งเตือนเมื่อพบรูปแบบที่ตรงกัน"},newsImpact:{title:"ผลกระทบของข่าว",subtitle:"แสดงให้เห็นว่าข่าวในอดีตส่งผลต่อการเคลื่อนไหวของราคาอย่างไร เพื่อให้คุณเห็นว่าตลาดเคยตอบสนองอย่างไร"}},resources:{title:"แหล่งข้อมูล",learnAndUse:{title:"เรียนรู้และใช้งาน",subtitle:"เรียนรู้แนวคิดด้านการวิเคราะห์และวิธีใช้งานแพลตฟอร์มอย่างมีประสิทธิภาพ"},updatesAndInsights:{title:"อัปเดตและข้อมูลเชิงลึก",subtitle:"ข่าวสารและอัปเดตเกี่ยวกับสิ่งที่เรากำลังพัฒนาและสำรวจ"},whoWeAre:{title:"เกี่ยวกับเรา",subtitle:"เราเป็นใคร เราเชื่อในอะไร และทำไมเราจึงสร้างสิ่งนี้ขึ้นมา"},helpCenter:{title:"ศูนย์ช่วยเหลือ",subtitle:"ค้นหาความช่วยเหลือ คำแนะนำ และคำตอบเมื่อคุณต้องการ"}},pricing:{title:"ราคา"}},Bh={badge:"คุณสมบัติ",title:"การวิเคราะห์ตลาดด้วย AI เพื่อการตัดสินใจที่ชาญฉลาดยิ่งขึ้น",description:"ใช้ประโยชน์จากการวิเคราะห์ขั้นสูงและข้อมูลเชิงลึกจากประวัติศาสตร์ตลาดเพื่อค้นหารูปแบบ วิเคราะห์ปฏิกิริยาของตลาด และเข้าใจความน่าจะเป็นก่อนตัดสินใจ",creditUsage:"การใช้งานเครดิต",resetAfter:"รีเซ็ตหลังจาก",resetAfterColon:"รีเซ็ตหลังจาก:",useThisFeature:"ใช้ฟีเจอร์นี้",automateNow:"ทำงานอัตโนมัติทันที",analyzeNow:"วิเคราะห์ตอนนี้",inSession:"คุณอยู่ในช่วงเวลาตลาด",sessionActive:"ช่วงเวลาตลาดกำลังเปิดใช้งานอยู่",continueSession:"ดำเนินการช่วงเวลาตลาดต่อ",pageHeader:{account:{title:"โปรไฟล์",infoTitle:"บัญชีของคุณ",infoDescription:"จัดการการตั้งค่า ความต้องการ และการเชื่อมต่อของคุณ"},subscription:{title:"การสมัครสมาชิก",infoTitle:"แพ็กเกจของคุณ",infoDescription:"จัดการแพ็กเกจ การเรียกเก็บเงิน และการชำระเงินของคุณ"},support:{title:"ฝ่ายสนับสนุน",infoTitle:"รับความช่วยเหลือ",infoDescription:"ค้นหาคำตอบสำหรับคำถามของคุณและติดต่อทีมสนับสนุนของเรา"},referral:{title:"ชุมชน",infoTitle:"โปรแกรมเติบโตของชุมชน",infoDescription:"แนะนำเพื่อน รับเงินคืน และเติบโตไปด้วยกัน"}}},jh={chooseYour:"เลือก",plan:"แพ็กเกจของคุณ",annualPromo:"รับฟรีมากกว่า 2 เดือนเมื่อสมัครสมาชิกแบบรายปี",monthly:"รายเดือน",yearly:"รายปี",yearlyBadge:"-20%",comparePlans:"เปรียบเทียบแพ็กเกจ",compareSubtitle:"รายละเอียดทั้งหมดของสิ่งที่รวมอยู่ในแต่ละแพ็กเกจ",usage:"การใช้งาน",usageSection:"การใช้งาน",features:"ฟีเจอร์",featuresSection:"คุณสมบัติ",freePricePerMonth:"$0 / เดือน",pricePerMonth:"{price} / เดือน",patternSelector:"ตัวเลือกรูปแบบ",patternTracker:"ตัวติดตามรูปแบบ",newsImpact:"ผลกระทบของข่าว",scanResultLimit:"ขีดจำกัดผลการสแกน",historicalData:"ข้อมูลย้อนหลัง",webhook:"Webhook",patternExport:"ส่งออกรูปแบบ",scansPerDay:"{count} ครั้งสแกน / วัน",scansPerDayDefault:"2 ครั้งสแกน / วัน",patternsCount:"{count} รูปแบบ",perDay:"{count} / วัน",perDayDefault:"1 / วัน",tabsCount:"{count} แท็บ",tabsCountDefault:"1 แท็บ",limited:"จำกัด",historicalYears:"มากกว่า 20 ปี",included:"✓",notIncluded:"—",planChangedSuccess:"เปลี่ยนเป็นแพ็กเกจ {planTitle} สำเร็จแล้ว!",subscriptionSuccess:"สมัครสมาชิก {planTitle} สำเร็จแล้ว!",paymentSuccessful:"ชำระเงินสำเร็จ!",planUpdated:"แพ็กเกจของคุณได้รับการอัปเดตแล้ว",planUpdatedDescription:"แพ็กเกจของคุณได้รับการอัปเดตแล้ว คุณสามารถเริ่มใช้ฟีเจอร์ใหม่ได้ทันที",subscriptionActive:"การสมัครสมาชิกของคุณเปิดใช้งานแล้ว",subscriptionActiveDescription:"การสมัครสมาชิก {planTitle} ของคุณเปิดใช้งานแล้ว ขอบคุณสำหรับการซื้อ!",manageBillingInfo:"จัดการข้อมูลการเรียกเก็บเงิน",continueToApp:"ไปยังแอป",loadingPaymentDetails:"กำลังโหลดรายละเอียดการชำระเงิน...",paymentError:"ข้อผิดพลาดการชำระเงิน",noSessionId:"ไม่มี Session ID",goToApp:"ไปที่แอป",alreadySubscribedPlan:"คุณสมัครแพ็กเกจนี้แล้ว",activeSubscriptionManage:"คุณมีการสมัครสมาชิกที่ใช้งานอยู่แล้ว กรุณาจัดการการเรียกเก็บเงินเพื่อเปลี่ยนแพ็กเกจ",planChangeScheduled:"กำหนดการเปลี่ยนแพ็กเกจแล้ว",planChangeScheduledDesc:"แพ็กเกจของคุณจะเปลี่ยนเป็น {planTitle} ในวันที่เรียกเก็บเงินครั้งถัดไป",alreadyOnPlan:"คุณอยู่ในแพ็กเกจนี้แล้ว",changePlanFailed:"เปลี่ยนแพ็กเกจไม่สำเร็จ กรุณาใช้การจัดการการเรียกเก็บเงิน",alreadyActiveSubscription:"คุณมีการสมัครสมาชิกที่ใช้งานอยู่แล้ว",noChangesMade:"ไม่มีการเปลี่ยนแปลง",alreadyOnPlanDesc:"คุณใช้แพ็กเกจ {planTitle} อยู่แล้ว",badgeFree:"ฟรี",badgePopular:"ยอดนิยม",badgeBestDeal:"ดีลยอดนิยม",badgeMaximumAccess:"การเข้าถึงสูงสุด",freeForEveryone:"ฟรีสำหรับทุกคน",usdPerMonth:"USD/เดือน",yearlyAmount:"{amount} USD / ปี",monthlyAmount:"{amount} USD / เดือน",currentPlan:"แพ็กเกจปัจจุบัน",startForFree:"เริ่มต้นฟรี",getPlan:"รับ {planTitle}",switchToPlan:"เปลี่ยนเป็น {planTitle}",changePlanConfirmTitle:"ยืนยันการเปลี่ยนแพ็กเกจ",changePlanConfirmDesc:"คุณใช้แพ็กเกจ {currentPlan} อยู่ เลือกเวลาที่ราคาใหม่จะมีผล",changeNextBilling:"เปลี่ยนในรอบบิลถัดไป",changeNow:"เปลี่ยนทันที",confirmNextBillingTitle:"ยืนยันการเปลี่ยนรอบบิลถัดไป",confirmNextBillingDesc:"คุณแน่ใจหรือไม่ว่าต้องการกำหนดการเปลี่ยนแพ็กเกจในวันที่เรียกเก็บเงินครั้งถัดไป? แพ็กเกจ {currentPlan} ปัจจุบันจะยังใช้งานได้จนถึงนั้น วันที่เรียกเก็บเงินครั้งถัดไปจะเปลี่ยนเป็น {planTitle} ({amount})",yesChangeNextBilling:"ใช่ เปลี่ยนในรอบบิลถัดไป",continueToCheckout:"ดำเนินการชำระเงินต่อ",freeCheckoutDesc:"คุณใช้แพ็กเกจฟรีอยู่ ดำเนินการชำระเงินเพื่อสมัคร {planTitle}",continue:"ดำเนินการต่อ",agreeRefundPolicy:"ฉันยอมรับ<link>นโยบายการคืนเงินและการยกเลิก</link>",everythingInPlan:"ทุกอย่างในแพ็กเกจ <plan></plan>",plans:{free:{title:"ฟรี",subtitle:"สำรวจและทดลองใช้",heading3:"เหมาะสำหรับเทรดเดอร์รายบุคคล"},standard:{title:"มาตรฐาน",subtitle:"วิเคราะห์อย่างมั่นใจ",heading3:"เหมาะสำหรับเทรดเดอร์รายบุคคล"},pro:{title:"โปร",subtitle:"วิเคราะห์เชิงลึก",heading3:"ระดับทีมและมืออาชีพ"},expert:{title:"เอ็กซ์เพิร์ต",subtitle:"วิเคราะห์ได้ไม่จำกัด",heading3:"สำหรับเทรดเดอร์มืออาชีพ"}},planFeatures:{categories:{candleScanner:"ตัวสแกนแท่งเทียน",candleSignal:"สัญญาณแท่งเทียน"},labels:{patternSelector:"ตัวเลือกรูปแบบ",patternTracker:"ตัวติดตามรูปแบบ",newsImpact:"ผลกระทบของข่าว",scanResultLimit:"ขีดจำกัดผลการสแกน",activeTabs:"แท็บที่ใช้งานอยู่",timeframes:"ช่วงเวลา",webhook:"Webhook"},values:{scansPerDay:"สแกน {count} ครั้งต่อวัน",patterns:"{count}",perDay:"{count}",tabsWorkspace:"{count} (พื้นที่ทำงาน)",enabled:"เปิดใช้งาน",disabled:"ปิดใช้งาน"}}},Uh={Connections:{connectedAccount:"บัญชีที่เชื่อมต่อ",creditUsage:"การใช้งานเครดิต",totalCreditsUsed:"เครดิตที่ใช้ทั้งหมด",resetsIn:"รีเซ็ตในอีก {duration}",understandingCredits:"ทำความเข้าใจเกี่ยวกับเครดิตและการใช้งาน",nearLimit:"ใกล้ถึงขีดจำกัด"},Subscription:{myPlan:"แพ็กเกจของฉัน",thanksForSubscribing:"ขอบคุณสำหรับการสมัครสมาชิก!",billingHistory:"ประวัติการเรียกเก็บเงิน",nextBillingDate:"วันที่เรียกเก็บเงินครั้งถัดไป",whichPlan:"แพ็กเกจใดเหมาะกับคุณ?",patternSelectorCreditsPerDay:"เครดิตตัวเลือกรูปแบบ {count} ครั้ง / วัน",patternTrackerCreditsPerDay:"เครดิตตัวติดตามรูปแบบ {count} ครั้ง / วัน",newsImpactCreditsPerDay:"เครดิตผลกระทบของข่าว {count} ครั้ง / วัน",chatAssistantCreditsPerDay:"เครดิตผู้ช่วยแชท {count} ครั้ง / วัน",prioritySupport:"การสนับสนุนแบบลำดับความสำคัญ"},Billing:{noInvoices:"No invoices found.",loadError:"Failed to load invoices. Please try again later.",viewInvoice:"ดูใบแจ้งหนี้"}},zh={referralRebate:"เงินคืนจากการแนะนำ",referredUsers:"ผู้ใช้งานที่แนะนำ",totalRebateEarned:"ยอดเงินคืนรวมที่ได้รับ",referredUsersCount:"ผู้ใช้งานที่แนะนำ",activeReferrals:"การแนะนำที่ใช้งานอยู่",referralLink:"ลิงก์แนะนำ",shareDescription:"แชร์ลิงก์แนะนำของคุณกับเพื่อน เมื่อพวกเขาสมัครสมาชิก คุณจะได้รับเงินคืนจากแพ็กเกจของพวกเขา",joinedDate:"วันที่เข้าร่วม",loading:"กำลังโหลด...",noReferralCodeAvailable:"ไม่มีรหัสแนะนำ",updateReferralCodeTitle:"อัปเดตรหัสแนะนำ",createReferralCodeTitle:"สร้างรหัสแนะนำ",updateReferralCodeDescription:"อัปเดตรหัสแนะนำของคุณด้านล่าง",createReferralCodeDescription:"ป้อนรหัสแนะนำเพื่อเริ่มแชร์ลิงก์แนะนำของคุณ",enterReferralCodePlaceholder:"ป้อนรหัสแนะนำ",enterReferralCode:"กรุณาป้อนรหัสแนะนำ",codeCreatedSuccess:"สร้างรหัสแนะนำสำเร็จ",codeUpdatedSuccess:"อัปเดตรหัสแนะนำสำเร็จ",codeMinChars:"อย่างน้อย 5 ตัวอักษร",codeMaxChars:"สูงสุด 15 ตัวอักษร",create:"สร้าง",update:"อัปเดต",pageNumber:"หน้า {page}",noReferredUsersYet:"ยังไม่มีผู้ใช้ที่แนะนำ",shareReferralEmptyDescription:"แชร์ลิงก์แนะนำของคุณเพื่อเริ่มขยายเครือข่ายและรับเงินคืน"},Yh={mainMenu:{coreFeatures:"ฟีเจอร์หลัก",account:"บัญชี",subscription:"การสมัครสมาชิก",communityGrowthProgram:"โปรแกรมเติบโตของชุมชน",support:"ฝ่ายสนับสนุน",others:"อื่นๆ"},patternMenu:{trackedPatterns:{label:"รูปแบบที่ฉันติดตาม",tooltipTitle:"รูปแบบการเทรดที่มีความน่าจะเป็นสูงซึ่งตรวจจับโดย AI",tooltipDescription:"iC Candle ติดตามตลาดทั่วโลกตลอด 24/7 เพื่อตรวจจับรูปแบบที่คุณติดตาม พร้อมแสดงระดับความมั่นใจและทิศทางการทะลุแนว ใช้ตัวกรองเพื่อค้นหารูปแบบที่ดีที่สุดของคุณ จากนั้นคลิกที่รูปแบบใดก็ได้เพื่อดูรายละเอียดทั้งหมด"},classicPatterns:{label:"รูปแบบคลาสสิก",tooltipTitle:"รูปแบบคลาสสิก",tooltipDescription:"เลือกรูปแบบที่คุณสนใจ เช่น Double Top, Head & Shoulders, Flag, Rectangle และอื่น ๆ จากนั้นเปิดใช้งานสัญญาณ เราจะติดตามทุกการเคลื่อนไหวของราคาในตลาดที่คุณเลือก และแจ้งเตือนคุณทันทีเมื่อรูปแบบก่อตัวสมบูรณ์ ปรับแต่งช่องทางการแจ้งเตือนผ่าน Telegram อีเมล หรือการแจ้งเตือนภายในแอป เพื่อให้คุณไม่พลาดโอกาสการเทรด"}},helperBar:{watchList:"รายการเฝ้าดู",savedPatterns:"รูปแบบที่บันทึกไว้",newsMovingMarket:"อะไรที่กำลังขับเคลื่อนตลาด?",favoritesCount:"รายการโปรด ({count})",groupWithCount:"{label} ({count})",noItemsInWatchList:"ไม่มีรายการในรายการเฝ้าดู",watchListLast:"ล่าสุด",watchListChg:"เปลี่ยนแปลง",watchListChgPercent:"เปลี่ยนแปลง%",removeFromFavorites:"ลบออกจากรายการโปรด",addToFavorites:"เพิ่มในรายการโปรด",removeSymbolFromFavorites:"ลบ {symbol} ออกจากรายการโปรด",addSymbolToFavorites:"เพิ่ม {symbol} ในรายการโปรด",groupCommodity:"สินค้าโภคภัณฑ์",groupForex:"ฟอเร็กซ์",groupCrypto:"คริปโต",groupIndices:"ดัชนี",groupStock:"หุ้น"},profileMenu:{darkTheme:"ธีมมืด",chatWithUs:"แชทกับเรา",termsAndConditions:"ข้อกำหนดและเงื่อนไข",logOut:"ออกจากระบบ"},tabAdded:"เพิ่มแท็บแล้ว",tabMemoryWarning:"การเพิ่มแท็บเพิ่มเติมอาจเพิ่มการใช้หน่วยความจำบนอุปกรณ์ของคุณ",tabLimitReached:"ถึงขีดจำกัดแท็บแล้ว",tabLimitReachedMax:"คุณถึงจำนวนแท็บสูงสุดที่อนุญาตในแพ็กเกจปัจจุบันของคุณ",tabLimitReachedUpgrade:"คุณถึงจำนวนแท็บสูงสุดที่อนุญาตในแพ็กเกจปัจจุบันของคุณ โปรดอัปเกรดเพื่อเข้าถึงแท็บเพิ่มเติม",notifications:"การแจ้งเตือน",noNotifications:"ไม่มีการแจ้งเตือน",notificationsOfflineReconnect:"(ออฟไลน์) โปรดเชื่อมต่อการแจ้งเตือนอีกครั้ง",headerNav:{selectorTitle:"ตัวเลือกรูปแบบ",selectorShortTitle:"ตัวเลือก",patternTitle:"ตัวติดตามรูปแบบ",patternShortTitle:"ติดตาม",newsTitle:"ผลกระทบของข่าว",newsShortTitle:"ข่าว"},guideFeatures:{selector:{title:"ตัวเลือกรูปแบบ",description:"วิเคราะห์แนวคิดของคุณเทียบกับข้อมูลตลาดในอดีตเพื่อค้นหารูปแบบราคาและผลลัพธ์ที่คล้ายกัน"},pattern:{title:"ตัวติดตามรูปแบบ",description:"สแกนตลาดอย่างต่อเนื่องในพื้นหลังและแจ้งเตือนเมื่อพบรูปแบบที่ตรงกัน"},news:{title:"ผลกระทบของข่าว",description:"แสดงให้เห็นว่าข่าวในอดีตส่งผลต่อการเคลื่อนไหวของราคาอย่างไร เพื่อให้คุณเห็นว่าตลาดเคยตอบสนองอย่างไร"}}},Hh={mostSimilarNews:"ข่าวที่คล้ายกันมากที่สุด:",selectEvent:"เลือกเหตุการณ์",economicCalendarAnalysis:"การวิเคราะห์ปฏิทินเศรษฐกิจ",economicCalendar:"ปฏิทินเศรษฐกิจ",predictAvailable:"สามารถคาดการณ์ได้",predictUnavailable:"ไม่สามารถคาดการณ์ได้",actualReleased:"ประกาศผลจริงแล้ว",analyzeImpact:"วิเคราะห์ผลกระทบ",candleDataTooFar:"ข้อมูลแท่งเทียนอยู่ห่างจากเหตุการณ์มากเกินไป",tryAnotherTimeframe:"โปรดลองช่วงเวลาอื่น",aiIntelligence:"AI อัจฉริยะ",matchPercent:"{percent}% ตรงกัน",whatHappenedOnNews:"เกิดอะไรขึ้นกับข่าวนี้:",newsBeforeEvent:"ข่าวก่อนหน้า {eventName}",time15MinLater:"15 นาทีถัดไป",time30MinLater:"30 นาทีถัดไป",time1HourLater:"1 ชั่วโมงถัดไป",time2HoursLater:"2 ชั่วโมงถัดไป",time4HoursLater:"4 ชั่วโมงถัดไป",noDataHere:"No data here",pleaseWaitAndRetry:"Please wait and try again",current:"Current",previousMonth:"เดือนก่อนหน้า",nextMonth:"เดือนถัดไป",holiday:"Holiday",seeAll:"ดูทั้งหมด",selectedSymbols:"สัญลักษณ์ที่เลือก",marketNews:"ข่าวตลาด",patternType:"ประเภทรูปแบบ",unknownPublishDate:"ไม่ทราบวันที่เผยแพร่",noMatchingArticleDetails:"ไม่พบรายละเอียดบทความที่ตรงกัน",model:"โมเดล",temperature:"ระดับความสร้างสรรค์",temperatureLow:"ต่ำ",temperatureMedium:"ปานกลาง",temperatureHigh:"สูง",previousActual:"ค่าก่อนหน้า (Actual)",currentForecast:"คาดการณ์ปัจจุบัน",previousForecast:"ค่าคาดการณ์ก่อนหน้า",goToEventDetail:"ไปที่รายละเอียดเหตุการณ์",eventInfoNotFound:"ไม่พบข้อมูลเหตุการณ์",ppi:"ดัชนีราคาผู้ผลิต (PPI) วัดการเปลี่ยนแปลงของราคาสินค้าและบริการที่ผู้ผลิตและโรงงานขาย",cpi:"ดัชนีราคาผู้บริโภค (CPI) วัดการเปลี่ยนแปลงของราคาสินค้าและบริการที่ผู้บริโภคซื้อ",coreCpi:"ดัชนี CPI พื้นฐาน (Core CPI) วัดการเปลี่ยนแปลงราคาผู้บริโภคไม่รวมอาหารและพลังงาน เป็นตัวชี้วัดเงินเฟ้อสำคัญของธนาคารกลาง",jolts:"แบบสำรวจตำแหน่งงานว่างและการหมุนเวียนแรงงาน (JOLTS) วัดตำแหน่งงานว่างที่ยังไม่ได้ถูกบรรจุในสหรัฐฯ",nfp:"การจ้างงานนอกภาคเกษตร (Nonfarm Payrolls) วัดการเปลี่ยนแปลงจำนวนงานในสหรัฐฯ โดยไม่รวมภาคเกษตรและบางอุตสาหกรรม",ijc:"การขอรับสวัสดิการว่างงานครั้งแรก (Initial Jobless Claims) วัดจำนวนผู้ยื่นขอประกันการว่างงานครั้งแรกในสหรัฐฯ ซึ่งบ่งชี้ภาวะตลาดแรงงาน",fomc:"คณะกรรมการนโยบายการเงินของธนาคารกลางสหรัฐ (FOMC) คือหน่วยงานที่กำหนดอัตราดอกเบี้ยและดำเนินนโยบายการเงินของสหรัฐฯ",fedRate:"การประกาศการตัดสินใจอัตราดอกเบี้ยของธนาคารกลางสหรัฐ (Fed) ซึ่งกำหนดอัตราดอกเบี้ยเป้าหมายของเฟดฟันด์เรต ส่งผลต่อนโยบายการเงินและตลาดการเงิน",gdpAdvance:"ผลิตภัณฑ์มวลรวมภายในประเทศ (GDP) วัดมูลค่ารวมของสินค้าและบริการที่ผลิตในระบบเศรษฐกิจ รายงาน Advance GDP คือการประเมินครั้งแรก",gdpMonthly:"ผลิตภัณฑ์มวลรวมภายในประเทศ (GDP) วัดมูลค่ารวมของสินค้าและบริการที่ผลิตในระบบเศรษฐกิจ รายงานรายเดือนติดตามการเติบโตระยะสั้น (เช่น GDP สหราชอาณาจักร m/m)",unemploymentRate:"อัตราการว่างงาน วัดร้อยละของกำลังแรงงานที่ว่างงาน",ahe:"ค่าแรงเฉลี่ยต่อชั่วโมง วัดการเปลี่ยนแปลงรายเดือนของค่าจ้างแรงงาน ไม่รวมแรงงานภาคเกษตร",corePce:"ดัชนีราคาการบริโภคส่วนบุคคลพื้นฐาน (Core PCE) วัดการเปลี่ยนแปลงรายเดือนของการใช้จ่ายบริโภคส่วนบุคคลไม่รวมอาหารและพลังงาน เป็นตัวชี้วัดเงินเฟ้อที่เฟดให้ความสำคัญ",retailSales:"ยอดค้าปลีก (Retail Sales) วัดการเปลี่ยนแปลงรายเดือนของมูลค่าการขายปลีกทั้งหมด",ismManufacturingPmi:"ดัชนี PMI ภาคการผลิต ISM วัดภาวะภาคการผลิตของสหรัฐฯ จากข้อมูลแบบสอบถาม ค่าเกิน 50 แสดงถึงการขยายตัว",ismServicesPmi:"ดัชนี PMI ภาคบริการ ISM วัดภาวะภาคบริการของสหรัฐฯ จากข้อมูลแบบสอบถาม ค่าเกิน 50 แสดงถึงการขยายตัว",gdpPrelim:"ประมาณการ GDP ครั้งแรก (Prelim GDP) คือการประเมินครั้งที่สองของการเติบโต GDP รายไตรมาส",adpNfp:"การเปลี่ยนแปลงการจ้างงานภาคเอกชน ADP วัดการเปลี่ยนแปลงการจ้างงานภาคเอกชนจากแบบสำรวจ ADP/Moody's เป็นตัวชี้นำของ Nonfarm Payrolls",eci:"ดัชนีต้นทุนการจ้างงาน (ECI) วัดการเปลี่ยนแปลงรายไตรมาสของต้นทุนแรงงานรวมค่าจ้างและสวัสดิการ เป็นตัวชี้วัดเงินเฟ้อที่เฟดจับตา",flashManufacturingPmi:"ดัชนี PMI ภาคการผลิตแบบ Flash คือการประมาณการเบื้องต้นของกิจกรรมภาคการผลิต ค่าเกิน 50 แสดงถึงการขยายตัว",flashServicesPmi:"ดัชนี PMI ภาคบริการแบบ Flash คือการประมาณการเบื้องต้นของกิจกรรมภาคบริการ ค่าเกิน 50 แสดงถึงการขยายตัว",claimantCount:"การเปลี่ยนแปลงผู้ขอรับสวัสดิการว่างงานสหราชอาณาจักร วัดการเปลี่ยนแปลงรายเดือนของผู้ขอสิทธิประโยชน์การว่างงาน",boeRate:"อัตราดอกเบี้ยนโยบายธนาคารกลางอังกฤษ (Bank of England Bank Rate) เป็นอัตราดอกเบี้ยที่กำหนดโดยคณะกรรมการนโยบายการเงิน",ecbMainRefinancingRate:"อัตรารีไฟแนนซ์หลักของ ECB เป็นอัตราดอกเบี้ยนโยบายหลักของธนาคารกลางยุโรป",snbPolicyRate:"อัตราดอกเบี้ยนโยบายของธนาคารกลางสวิส (SNB Policy Rate) เป็นอัตราดอกเบี้ยหลักของนโยบายการเงินสวิตเซอร์แลนด์",cadEmploymentChange:"การเปลี่ยนแปลงการจ้างงานแคนาดา วัดการเปลี่ยนแปลงจำนวนผู้มีงานทำรายเดือนจากสถิติแรงงานแคนาดา"},Wh={matchPercent:"ตรงกัน {percent}%",matchLabel:"ตรงกัน",mismatch:"ไม่ตรงกัน",noResultsFound:"ไม่พบผลลัพธ์",result:"ผลลัพธ์",filter:"ตัวกรอง",filterBy:"กรองตาม",clearFilter:"ล้างตัวกรอง",selectFilterType:"เลือกประเภทตัวกรอง",matchPercentLabel:"ความตรงกัน %",selectSymbol:"เลือกสัญลักษณ์",selectMatchPercent:"เลือกความตรงกัน %",selectDateRange:"เลือกช่วงวันที่",dateLast1Month:"1 เดือนที่ผ่านมา",dateLast6Months:"6 เดือนที่ผ่านมา",dateLastYear:"1 ปีที่ผ่านมา",dateLast3Years:"3 ปีที่ผ่านมา",dateAllTime:"ตลอดเวลา",noDataFound:"ไม่พบข้อมูล",runScanToSeePatternResults:"รันการสแกนเพื่อดูผลลัพธ์รูปแบบที่นี่",scanAgainToPlay:"สแกนอีกครั้งเพื่อเล่นกราฟ",scan:"สแกน",activateSelector:"เปิดใช้งานตัวเลือก",resetAfterDuration:"รีเซ็ตหลังจาก: {duration}",markets:"ตลาด",scannerOptions:"ตัวเลือกการสแกน",saveOptions:"บันทึกตัวเลือก",searchSymbol:"ค้นหาสัญลักษณ์",probabilityCalculation:"การคำนวณความน่าจะเป็น",probabilityCalculationTooltip:"กำหนดจำนวนแท่งเทียนถัดไปที่ใช้ในการคำนวณความน่าจะเป็น",period:"ช่วงเวลา",periodTooltip:"กำหนดช่วงเวลาสำหรับผลลัพธ์การสแกน",timeframeTooltip:"กำหนดกรอบเวลาแท่งเทียนสำหรับผลลัพธ์การสแกน",topResultsTooltip:"กำหนดจำนวนผลลัพธ์การสแกน",auto:"อัตโนมัติ",settings:"การตั้งค่า",collapseToolbar:"ยุบแถบเครื่องมือ",expandToolbar:"ขยายแถบเครื่องมือ",availableBars:"แท่งเทียนที่ใช้ได้: {count}",clearReplayFirst:"โปรดล้างกราฟเล่นซ้ำก่อน",trackPattern:"ติดตามรูปแบบ",selectAll:"เลือกทั้งหมด",searchTimeframe:"ค้นหากรอบเวลา",selectAllTimeframes:"เลือกกรอบเวลาทั้งหมด",selectTimeframeAria:"เลือกกรอบเวลา {label}",selectSymbolAria:"เลือกสัญลักษณ์ {symbol}",timeframeTypeMinutes:"นาที",searchFilterSaved:"บันทึกตัวกรองการค้นหาเรียบร้อยแล้ว",periodAll:"ทั้งหมด",periodLastYear:"1 ปีที่ผ่านมา",periodLast3Years:"3 ปีที่ผ่านมา",periodLast5Years:"5 ปีที่ผ่านมา",periodLast15Years:"15 ปีที่ผ่านมา",topResults:"ผลลัพธ์ยอดนิยม",tabSymbols:"สัญลักษณ์",tabAdvancedOptions:"ตัวเลือกขั้นสูง",tabBasic:"พื้นฐาน",tabAdvancedFilter:"ตัวกรองขั้นสูง",priceMovementData:"ข้อมูลการเคลื่อนไหวของราคา:",askAssistantExplanation:"ขอคำอธิบายจากผู้ช่วย",selectCandleCount:"เลือกจำนวนแท่งเทียน",priceChanges:"การเปลี่ยนแปลงของราคา",candlesCount:"{count} แท่งเทียน",basedOnDirectionPatterns:'อิงจาก "{direction}" ตามรูปแบบนี้',noAiMovementData:"ไม่มีข้อมูลการเคลื่อนไหวของ AI สำหรับทิศทาง {direction}ward"},qh={scannedAt:"สแกนเมื่อ:",trackerActivated:"เปิดใช้งานตัวติดตามแล้ว",match:"ตรงกัน: {percent}%",result:"ผลลัพธ์",windowSize:"ขนาดหน้าต่าง: {size}",patternSelectorHistory:"ประวัติ Pattern Selector",noFilter:"ไม่มีตัวกรอง",favorite:"รายการโปรด",windowSizeFilter:"ขนาดหน้าต่าง",windowSizePlaceholder:"ขนาดหน้าต่าง (10-50)",submit:"ส่ง"},Vh={trackYourCustomPatterns:"ติดตามรูปแบบที่คุณกำหนดเอง",selectedSymbol:"สัญลักษณ์ที่เลือก",selectedSymbols:"สัญลักษณ์ที่เลือก",timezone:"เขตเวลา",selectedTimeframes:"กรอบเวลาที่เลือก",moreItems:"อีก {count} รายการ",selectedBars:"แท่งที่เลือก",barsCount:"{count} แท่ง",timeFrame:"กรอบเวลา",patternType:"ประเภทรูปแบบ",created:"สร้างเมื่อ",editPattern:"แก้ไขรูปแบบ",createNewTracker:"สร้างตัวติดตามใหม่",firstYouHaveToScan:"คุณต้องทำการสแกนก่อน",goToScan:"ไปที่การสแกน",addToPatternTracker:"เพิ่มไปยัง Pattern Tracker",goToPatternTracker:"ไปที่ Pattern Tracker",addToPatternTrackerDescription:"คุณจะได้รับการอัปเดตแบบเรียลไทม์เมื่อรูปแบบนี้ปรากฏขึ้น กรุณาใส่ชื่อเพื่อช่วยให้คุณจดจำการแจ้งเตือนนี้",patternName:"ชื่อรูปแบบ",patternNamePlaceholder:"กรอกชื่อสำหรับรูปแบบนี้",patternNameMinChars:"ต้องมีอย่างน้อย 5 ตัวอักษร",patternNameMaxChars:"ถึงขีดจำกัด 20 ตัวอักษรแล้ว",patternNameErrorTitle:"ข้อผิดพลาดชื่อรูปแบบ",patternNameErrorDescription:"กรุณาป้อนชื่อสำหรับสัญญาณรูปแบบ",customPatternSignalTooltip:"คุณจะได้รับการแจ้งเตือนเมื่อรูปแบบเกิดขึ้นบน MARKET ในรูปแบบ Custom Pattern Signal",noPatternDataFound:"ไม่พบข้อมูลรูปแบบ",limitReached:"ถึงขีดจำกัดแล้ว",limitReachedTrackerDescription:"คุณถึงจำนวน Pattern Tracker สูงสุดแล้ว",trackerUpgradeToastDescription:"คุณถึงจำนวนสัญญาณสูงสุดที่อนุญาตในแพ็กเกจปัจจุบัน โปรดอัปเกรดเพื่อเข้าถึงเพิ่มเติม",patternConfigUpdated:"อัปเดตการตั้งค่ารูปแบบแล้ว",patternConfigUpdatedDesc:'การตั้งค่ารูปแบบ "{name}" ได้ถูกอัปเดตแล้ว',patternConfigError:"เกิดข้อผิดพลาดในการตั้งค่ารูปแบบ",patternConfigErrorDesc:"ไม่สามารถอัปเดตการตั้งค่ารูปแบบได้",patternSaved:"บันทึกรูปแบบแล้ว",patternSavedDesc:'บันทึกชื่อรูปแบบ "{name}" เรียบร้อยแล้ว',patternSignalError:"เกิดข้อผิดพลาดของสัญญาณรูปแบบ",patternSignalErrorDesc:"ไม่สามารถบันทึกรูปแบบได้",trackerTutorialPlanLimitExpert:"แพ็กเกจของคุณมีข้อจำกัดการติดตามรูปแบบ {limit}",trackerTutorialPlanNoTracking:"แพ็กเกจของคุณไม่รองรับการติดตามรูปแบบ แพ็กเกจที่อัปเกรดสามารถเพิ่มรูปแบบลงในตัวติดตามได้",trackerTutorialPlanTrackingLimit:"แพ็กเกจของคุณสามารถติดตามรูปแบบได้สูงสุด {limit} รูปแบบ แพ็กเกจที่อัปเกรดสามารถติดตามได้มากขึ้น",currentPlan:"แพ็กเกจปัจจุบัน",planFree:"ฟรี",configurePatternTracker:"กำหนดค่าตัวติดตามรูปแบบ",selectTimeframesAndSymbols:"เลือกช่วงเวลาและสัญลักษณ์ที่คุณต้องการติดตามสำหรับรูปแบบนี้",selectTimeframes:"เลือกช่วงเวลา",chooseTimeframes:"เลือกช่วงเวลาที่คุณต้องการติดตามสำหรับรูปแบบนี้",searchTimeframes:"ค้นหากรอบเวลา",timeframeSelected:"เลือก {count} กรอบเวลา",timeframesSelected:"เลือก {count} กรอบเวลา",symbolSelected:"เลือก {count} สัญลักษณ์",symbolsSelected:"เลือก {count} สัญลักษณ์",patternSelected:"{count} รูปแบบ",patternsSelected:"{count} รูปแบบ",patternTypes:"ประเภทรูปแบบ",patternSubscribed:"สมัครติดตามรูปแบบแล้ว",patternSubscribedDesc:'กำลังติดตามรูปแบบ "{name}"',patternSubscriptionError:"เกิดข้อผิดพลาดในการสมัครติดตามรูปแบบ",subscriptionModalAria:"การสมัครติดตามตัวติดตามรูปแบบ",noPatternCandles:"ไม่พบแท่งเทียนของรูปแบบ",chartSymbolRequired:"จำเป็นต้องระบุสัญลักษณ์บนชาร์ต",userIdRequired:"จำเป็นต้องระบุรหัสผู้ใช้",subscribe:"สมัครติดตาม",subscribing:"กำลังสมัครติดตาม...",tabTimeShort:"เวลา",signalDialog:{title:"การตั้งค่าสัญญาณ - {patternTitle}",successDescription:"อัปเดตการตั้งค่าสัญญาณสำเร็จ",selectOneTimeframe:"กรุณาเลือกอย่างน้อยหนึ่งกรอบเวลา",selectOneSymbol:"กรุณาเลือกอย่างน้อยหนึ่งสัญลักษณ์",selectOneTimeframeAndSymbol:"กรุณาเลือกอย่างน้อยหนึ่งกรอบเวลาและหนึ่งสัญลักษณ์",selectCurrencyPairs:"คู่สกุลเงิน",chooseCurrencyPairs:"เลือกคู่สกุลเงินที่คุณต้องการติดตามสำหรับรูปแบบนี้",searchCurrencyPairs:"ค้นหาคู่สกุลเงิน"},noMatchesFound:"ไม่พบรายการที่ตรงกัน",filterCategoryPattern:"รูปแบบ",filterCategorySymbol:"สัญลักษณ์",filterCategoryTimeframe:"กรอบเวลา",selectCategory:"เลือกหมวดหมู่",searchCategory:"ค้นหา{category}...",timeframeOptions:{M15:{displayName:"15 นาที",description:"ช่วงเวลา 15 นาที"},M30:{displayName:"30 นาที",description:"ช่วงเวลา 30 นาที"},H1:{displayName:"1 ชั่วโมง",description:"ช่วงเวลา 1 ชั่วโมง"},H2:{displayName:"2 ชั่วโมง",description:"ช่วงเวลา 2 ชั่วโมง"},H4:{displayName:"4 ชั่วโมง",description:"ช่วงเวลา 4 ชั่วโมง"},D:{displayName:"1 วัน",description:"ช่วงเวลารายวัน"}}},_h={priceActionPattern:"รูปแบบการเคลื่อนไหวของราคา",labels:{flagbear:"Bearish Flag",flagbull:"Bullish Flag",dd_top:"Double Top",dd_bot:"Double Bottom",aad_up:"AAD Up",aad_down:"AAD Down",has_bull:"Head and Shoulders Bullish",has_bear:"Head and Shoulders Bearish",rectangle:"Rectangle"},timeframes:{M1:"1 minute",M5:"5 minutes",M15:"15 minutes",M30:"30 minutes",H1:"1 hour",H2:"2 hours",H4:"4 hours",D1:"Daily"},patterns:{doubleBottom:{desc:'<div><p>รูปแบบเหล่านี้เกิดขึ้นเมื่อราคาทดสอบระดับเดิมสองครั้งและไม่สามารถทะลุผ่านได้</p><ul style="list-style-type: disc; margin-left: 20px; margin-top: 10px;"><li>แสดงให้เห็นว่าตลาดกำลังสูญเสียแรงโมเมนตัมในทิศทางใดทิศทางหนึ่ง</li><li>การเบรกเอาต์ออกจากกรอบราคามักเป็นสัญญาณว่ากำลังจะเกิดการกลับตัว</li></ul></div>'},doubleTop:{desc:'<div><p>รูปแบบเหล่านี้เกิดขึ้นเมื่อราคาทดสอบระดับเดิมสองครั้งและไม่สามารถทะลุผ่านได้</p><ul style="list-style-type: disc; margin-left: 20px; margin-top: 10px;"><li>แสดงให้เห็นว่าตลาดกำลังสูญเสียแรงโมเมนตัมในทิศทางใดทิศทางหนึ่ง</li><li>การเบรกเอาต์ออกจากกรอบราคามักเป็นสัญญาณว่ากำลังจะเกิดการกลับตัว</li></ul></div>'},bullishFlag:{desc:'<div><p>ช่วงพักสั้น ๆ หรือการพักตัวหลังจากการเคลื่อนไหวที่แข็งแกร่ง (ทั้งขาขึ้นหรือขาลง)</p><ul style="list-style-type: disc; margin-left: 20px; margin-top: 10px;"><li>ราคาเคลื่อนไหวในช่องทางแคบ ๆ เอียงไปในทิศทางตรงข้ามกับแนวโน้ม</li><li>เมื่อหลุดออกจากรูปแบบนี้ แนวโน้มมักจะดำเนินต่อไปในทิศทางเดิม</li></ul></div>'},bearishFlag:{desc:'<div><p>ช่วงพักสั้น ๆ หรือการพักตัวหลังจากการเคลื่อนไหวที่แข็งแกร่ง (ทั้งขาขึ้นหรือขาลง)</p><ul style="list-style-type: disc; margin-left: 20px; margin-top: 10px;"><li>ราคาเคลื่อนไหวในช่องทางแคบ ๆ เอียงไปในทิศทางตรงข้ามกับแนวโน้ม</li><li>เมื่อหลุดออกจากรูปแบบนี้ แนวโน้มมักจะดำเนินต่อไปในทิศทางเดิม</li></ul></div>'},bullishHeadShoulders:{desc:'<div><p>รูปแบบนี้แสดงถึงการเปลี่ยนแปลงของแรงในตลาดและบ่งชี้ถึงการกลับตัวของแนวโน้มที่เป็นไปได้</p><ul style="list-style-type: disc; margin-left: 20px; margin-top: 10px;"><li>มี 3 ส่วน: การเคลื่อนไหวหลักหนึ่งครั้ง (หัว) และสองครั้งที่เล็กกว่า (ไหล่)</li><li>เมื่อรูปแบบเสร็จสมบูรณ์ ราคามักจะเบรกออกและเคลื่อนไหวในทิศทางตรงข้ามกับแนวโน้มเดิม</li></ul></div>'},bearishHeadShoulders:{desc:'<div><p>รูปแบบนี้แสดงถึงการเปลี่ยนแปลงของแรงในตลาดและบ่งชี้ถึงการกลับตัวของแนวโน้มที่เป็นไปได้</p><ul style="list-style-type: disc; margin-left: 20px; margin-top: 10px;"><li>มี 3 ส่วน: การเคลื่อนไหวหลักหนึ่งครั้ง (หัว) และสองครั้งที่เล็กกว่า (ไหล่)</li><li>เมื่อรูปแบบเสร็จสมบูรณ์ ราคามักจะเบรกออกและเคลื่อนไหวในทิศทางตรงข้ามกับแนวโน้มเดิม</li></ul></div>'}}},Kh={chartPatterns:"รูปแบบกราฟคืออะไร?",flagPattern:"จะเทรดรูปแบบธงอย่างมีประสิทธิภาพได้อย่างไร?",rectanglePattern:"ลักษณะสำคัญของรูปแบบกรอบสี่เหลี่ยมที่ควรสังเกตคืออะไร?"},Jh={pip:"pip คืออะไร?",majorCurrencyPairs:"คู่เงินหลักที่ควรเทรดมีอะไรบ้าง?",lotSize:"lot size คืออะไร?",leverage:"leverage คืออะไร?",margin:"margin คืออะไร?",bullishFlagTrack:"ติดตามแพทเทิร์นธงขาขึ้นสำหรับทุกสัญลักษณ์และทุกไทม์เฟรม"},Xh={cpi:"CPI คืออะไร และมีผลต่อตลาดอย่างไร?",nfp:"NFP คืออะไร และมีผลต่อตลาดอย่างไร?",eurImpactfulNews:"ข่าวที่มีผลมากที่สุดต่อ USD คืออะไร?"},Zh="lang",Qh="โปรไฟล์",$h={statistics:{tradersReport:"7 ใน 10 เทรดเดอร์รายงานว่าความสม่ำเสมอในการตัดสินใจเทรดของพวกเขาดีขึ้น",satisfactionRate:"ผู้ทดสอบเบต้ามีอัตราความพึงพอใจ 96% และกล่าวว่า “ให้ความรู้สึกเหมือนมีสมองอีกหนึ่งคนคอยช่วยเทรดอยู่ข้าง ๆ”",usersChanged:"ผู้ใช้มากกว่า 80% กล่าวว่า iC Candle เปลี่ยนวิธีการวิเคราะห์ตลาดของพวกเขา",lessTimeWatching:"ผู้ใช้โดยเฉลี่ยใช้เวลาน้อยลง 40% ในการเฝ้าดูกราฟ ด้วยระบบแจ้งเตือนรูปแบบ",heading:"เทรดเดอร์หลายพันคนได้เปลี่ยนวิธีที่พวกเขามองตลาดไปแล้ว"},feedback:{marketHistory:"ประวัติศาสตร์ตลาดนำทางการเทรดของฉัน: การใช้ปฏิกิริยาของตลาดในอดีตสำหรับการเทรดของฉันกลายเป็นสไตล์ใหม่ไปแล้ว คุณค่าที่ฉันได้รับเทียบกับค่าบริการที่จ่ายไป? เทียบกันไม่ได้เลย A. Lee นักวิเคราะห์คริปโต (สิงคโปร์)",tradersChatGPT:"ChatGPT สำหรับเทรดเดอร์: ฉันใช้ ChatGPT แทบทุกอย่างในชีวิตประจำวัน ทุกคนรู้ว่ามันช่วยให้ทุกอย่างง่ายขึ้นแค่ไหน และพูดตามตรง… ฉันคิดว่าฉันเจอ ChatGPT เวอร์ชันสำหรับเทรดเดอร์แล้ว M. Ganbaatar โพรพเทรดเดอร์ (iTrader)",backtesting:"รู้สึกเหมือนการแบ็กเทสต์ระดับถัดไป: การแบ็กเทสต์บน iC Candle คือสิ่งที่เปลี่ยนเกมจริงๆ ตอนนี้ทุกอย่างรวดเร็วและชัดเจนมากขึ้นอย่างเหลือเชื่อ ฉันติดมันแบบไม่รู้ตัว นึกภาพไม่ออกเลยว่าเทรดเดอร์ที่แอคทีฟจะทำงานโดยไม่มีสิ่งนี้ได้ยังไงในตอนนี้ B. Enkhbayar เทรดเดอร์ฟอเร็กซ์ (มองโกเลีย)",confirmsSetup:"ยืนยันกลยุทธ์ของฉัน: ในที่สุดก็มีเครื่องมือที่พิสูจน์ได้จริงว่าการวิเคราะห์ของฉันถูกต้อง หลังจากเริ่มใช้ iCCandle ความลังเลในการเทรดของฉันลดลงไปประมาณ 80% ตอนนี้ฉันมั่นใจมากขึ้นมาก S. Kimura สวิงเทรดเดอร์ (ญี่ปุ่น)",backtestingTitle:"รู้สึกเหมือนการแบ็กเทสต์ระดับถัดไป",backtestingDesc:"การแบ็กเทสต์บน iC Candle คือสิ่งที่เปลี่ยนเกมจริงๆ ตอนนี้ทุกอย่างรวดเร็วและชัดเจนมากขึ้นอย่างเหลือเชื่อ ฉันติดมันแบบไม่รู้ตัว นึกภาพไม่ออกเลยว่าเทรดเดอร์ที่แอคทีฟจะทำงานโดยไม่มีสิ่งนี้ได้ยังไงในตอนนี้",confirmsTitle:"ยืนยันกลยุทธ์ของฉัน",confirmsDesc:"ในที่สุดก็มีเครื่องมือที่พิสูจน์ได้จริงว่าการวิเคราะห์ของฉันถูกต้อง หลังจากเริ่มใช้ iCCandle ความลังเลในการเทรดของฉันลดลงไปประมาณ 80% ตอนนี้ฉันมั่นใจมากขึ้นมาก",marketHistoryTitle:"ประวัติศาสตร์ตลาดนำทางการเทรดของฉัน",marketHistoryDesc:"การใช้ปฏิกิริยาของตลาดในอดีตสำหรับการเทรดของฉันกลายเป็นสไตล์ใหม่ไปแล้ว คุณค่าที่ฉันได้รับเทียบกับค่าบริการที่จ่ายไป? เทียบกันไม่ได้เลย",chatGPTTitle:"ChatGPT สำหรับเทรดเดอร์",chatGPTDesc:"ฉันใช้ ChatGPT แทบทุกอย่างในชีวิตประจำวัน ทุกคนรู้ว่ามันช่วยให้ทุกอย่างง่ายขึ้นแค่ไหน และพูดตามตรง… ฉันคิดว่าฉันเจอ ChatGPT เวอร์ชันสำหรับเทรดเดอร์แล้ว"},tags:{all:"ทั้งหมด",blog:"Blog",crypto:"Crypto",event:"Event",pairs:"Pairs"}},ep={title:"ไม่พบหน้า",description:"หน้าที่คุณกำลังค้นหาไม่มีอยู่หรือถูกย้ายแล้ว",backToHomepage:"กลับสู่หน้าแรก",imageAlt:"ไม่พบหน้า"},tp=JSON.parse(`{"Page":{"title":{"terms":"ข้อกำหนดการให้บริการ","privacy":"นโยบายความเป็นส่วนตัว","refund":"นโยบายการคืนเงินและการยกเลิก","cookie":"นโยบายคุกกี้"},"tabs":{"terms":"ข้อกำหนดการให้บริการ","privacy":"นโยบายความเป็นส่วนตัว","refund":"นโยบายการคืนเงินและการยกเลิก","cookie":"นโยบายคุกกี้"},"nav":{"terms":"ข้อกำหนดการให้บริการ","privacy":"นโยบายความเป็นส่วนตัว","refund":"นโยบายการคืนเงินและการยกเลิก","cookie":"นโยบายคุกกี้"}},"Terms":{"title":"ข้อกำหนดการให้บริการ (Terms of Service / TOS / เงื่อนไข / ข้อจำกัดความรับผิด / สัญญา / ข้อตกลง)","intro":{"p1":"This agreement is made between Pixel Nexus Global, a Singaporean Limited Liability company operating as www.iccandle.ai (“Pixel Nexus Global,” “we,” “us,” or “our”), and the individual or entity purchasing or utilizing services offered through the Platform (“Customer,” “you,” or “your”). If you are acquiring the Services on behalf of a third party, you confirm that you have the legal authority to bind that party to these Terms of Service and will be liable for their use of the Services.","p2":"By accessing the Platform and Services outlined in this document and promoted on www.iccandle.ai, or by subscribing to services via the iccandle.ai website, you acknowledge that you have read, understood, and agreed to these Terms, Conditions, and Disclaimers. You further agree that your relationship with us is governed by the provisions set forth in this TOS.","p2Emphasis":"If you do not accept these terms, you must discontinue all use of iccandle.ai and any associated services or Platforms immediately."},"sections":[{"title":"1. The Services","paragraphs":["Pixel Nexus Global will provide active customers in good standing with access to its AI-powered analytical tool (the “Platform”). As used in this Agreement, the term “Services” refers to Pixel Nexus Global’s provision of your access to the Platform. The Services will be provided to you under one or more subscriptions, account activations, sign-ups, or orders placed by you on the iccandle.ai website and accepted by Pixel Nexus Global (an “Order”).","In case of any conflict between these TOS and an Order, the terms of these TOS shall take precedence. By accepting the Services, you acknowledge and agree that any different or additional terms proposed by you in an Order or otherwise are expressly rejected by Pixel Nexus Global, unless we have agreed to such terms in a written document signed by an authorized representative."]},{"title":"2. Your Obligations","subsections":[{"title":"Customer Information and Account Responsibilities","paragraphs":["You agree to provide Pixel Nexus Global with accurate information when creating your account, throughout our business relationship, and in all correspondence with us. We may occasionally need to contact you via email or telephone regarding the Services. You agree to maintain a valid email address that you check daily and to promptly notify us of any changes to your contact information.","Pixel Nexus Global shall not be responsible for any service interruptions, damages, or consequences resulting from misdirected communications due to your failure to provide current contact details. You also agree to complete all data entitlement surveys within the platform completely and truthfully to maintain compliance with exchange regulations."]},{"title":"Permitted Use of Platform","paragraphs":["Your use of the Platform must comply with these TOS and any accompanying documentation we provide. If you permit third parties to access the Platform, you agree to: (i) restrict their use in accordance with these terms; (ii) ensure their compliance with these TOS and our Privacy Policy; and (iii) remain fully liable for any violations of these TOS or the Privacy Policy by such third parties."]},{"title":"Intellectual Property and Legal Compliance","paragraphs":["You agree not to alter, obscure, or remove any trademark or proprietary notices. You may only use the Platform in accordance with: (i) the laws governing these TOS; and (ii) all applicable laws in your jurisdiction.","Unauthorized use is strictly prohibited."]}]},{"title":"3. Term","subsections":[{"title":"Effective Date and Term Duration","paragraphs":["These Terms of Service (TOS) become effective (\\"Effective Date\\") on the earlier of: (i) the date you click \\"I accept\\" as recorded by our servers; or (ii) the date you first access or use the Platform.","These TOS remain in effect for the duration of any active Order."]},{"title":"Subscription Terms and Renewals","paragraphs":["The Services will automatically renew for successive periods (monthly, quarterly, or annually) as specified in your Order. If unspecified, the default initial subscription period (\\"Initial Term\\") is one month. Subsequent renewal periods (\\"Renewal Terms\\") will match the Initial Term’s duration."]},{"title":"Trial Period Terms","paragraphs":["Pixel Nexus Global may offer trial periods (paid or free) as indicated on the iccandle.ai trial signup page. During any trial period:"],"listOrdered":["All terms and conditions of this agreement apply as if you were a paid subscriber","You may cancel at any time during the trial to prevent automatic renewal","Trial terms and conditions are subject to change without notice"]},{"title":"Subscription Management Responsibility","paragraphs":["You are solely responsible for managing your subscription, including:"],"listDisc":["Monitoring renewal dates","Updating payment information","Initiating cancellations","Maintaining current contact information"],"paragraphsAfter":["Pixel Nexus Global is not responsible for any charges due to failure to manage your subscription."]}]},{"title":"4. Termination","subsections":[{"title":"Cancellation and Termination Policy","paragraphs":["Details about cancellation and refund policies are available on our Refund and Cancellation Policy page at iccandle.ai. Terminating your account disables automatic renewals but does not cancel past invoices or make prior payments refundable unless stated otherwise in our Refund and Cancellation Policy.","Any currently due invoices must be paid in full to settle your account. Your access to Pixel Nexus Global services will continue until the expiration of your prepaid period or trial term."]},{"title":"Termination for Convenience","paragraphs":["Either party may terminate any Order by providing written notice at least one (1) day before the expiration of the Initial Term or any Renewal Term. For purposes of this provision, “written notice” includes communication through email, live chat, telephone, or via the Online Portal, indicating a desire not to continue service with Pixel Nexus Global in the future."]},{"title":"Termination for Policy Violations","paragraphs":["Pixel Nexus Global reserve the right to immediately suspend Services and/or terminate any Order in cases of violation of these TOS, breach of our Privacy Policy, or use of Services in a manner contrary to law or generally accepted internet standards. Such termination may occur without prior notice, dispute resolution process, or refund of any fees."]},{"title":"Effect of Termination","paragraphs":["The expiration or termination of any Order does not affect any rights or obligations that either (i) came into effect upon or after such expiration/termination, or (ii) survive the termination and were incurred by the parties prior to termination. Upon termination, you must promptly settle any outstanding balance. Pixel Nexus Global is not obligated to return any paid fees for terminations occurring prior to completion of a full term, except as may be expressly provided in our Refund and Cancellation Policy.","All termination matters are governed by the complete terms set forth in this agreement, and Pixel Nexus Global maintains full discretion in enforcing these provisions."]}]},{"title":"5. License Grant and Restrictions","paragraphs":["Pixel Nexus Global grants you a limited, revocable, non-exclusive, non-transferable, worldwide license to utilize our proprietary technology (\\"Pixel Nexus Technology\\") solely for accessing and employing our analytical engines as part of the Services, including any generated reports (\\"Reports\\"). This license is restricted to your account's registered users and automatically terminates upon expiration or termination of these TOS.","No rights beyond this limited license are conferred. All ownership rights in the Pixel Nexus Technology remain exclusively with Pixel Nexus Global or its licensors. You are expressly prohibited from: transferring, leasing, lending, sublicensing, reselling, or distributing the technology; using it for timesharing or service bureau purposes; or permitting unauthorized third-party access. You may not circumvent any protective measures safeguarding our proprietary interests, nor modify, reproduce, decompile, reverse engineer, or create derivative works from the Pixel Nexus Technology or Platform components. Upon termination, you must immediately cease using and permanently delete all Pixel Nexus Technology in your possession, ensuring any third parties with access do likewise."],"subsections":[{"title":"Ownership Rights","paragraphs":["Pixel Nexus Global retains all rights, title, and interest in the Pixel Nexus Technology and Platform, including but not limited to all derivative works, improvements, enhancements, and associated intellectual property rights such as trademarks and copyrights."]},{"title":"Feedback Provisions","paragraphs":["You may voluntarily provide, or we may solicit, input regarding the Platform or Services (\\"Feedback\\"), including suggestions for modifications or improvements. You acknowledge such Feedback constitutes Pixel Nexus Global's confidential proprietary information and irrevocably assign all related rights and interests to us. Pixel Nexus Global may utilize Feedback for any purpose without limitation or compensation obligation. This assignment applies globally and survives termination of these TOS.","All rights not expressly granted herein are reserved by Pixel Nexus Global. Any unauthorized use constitutes breach of these TOS and may result in immediate termination of your access rights."]}]},{"title":"6. Data Usage and Intellectual Property Rights","paragraphs":["Pixel Nexus Global may utilize information you provide or data collected from your use of the Platform and Services (\\"Operational Information\\") to deliver technical support and facilitate the implementation, operation, and administration of the Services. By using our Services, you grant us a perpetual, irrevocable license to process and analyze this Operational Information. We may combine this data with aggregate information from our general business operations to enhance existing Services or develop new products and offerings.","Pixel Nexus Global shall retain exclusive ownership of all intellectual property derived from such analysis and improvements. You hereby irrevocably waive any potential rights to this intellectual property and assign all rights, title, and interest therein to Pixel Nexus Global. You further agree to provide reasonable cooperation in securing and protecting these rights. We reserve the right to commercialize this Operational Information through sale, monetization, or incorporation into other products and services, without obligation to compensate you or grant you any ownership interest.","This license shall terminate upon expiration or cancellation of these Terms of Service, except with respect to historical data that has been aggregated and anonymized such that it cannot be identified as originating from your organization. Pixel Nexus Global may retain and continue to use such anonymized, aggregated data indefinitely for any lawful business purpose.","All intellectual property rights not expressly granted herein remain the exclusive property of Pixel Nexus Global. Your continued use of the Services constitutes acceptance of these terms regarding data usage and intellectual property rights."]},{"title":"7. Accuracy of Information Disclaimer","paragraphs":["Pixel Nexus Global relies on third-party data feeds to power its platform and therefore cannot guarantee the absolute accuracy of the information displayed. Different features within our system (such as scanners, automated analysis tools, charting functions, and back testing capabilities) may utilize separate data providers, which can result in variances between datasets across different platform features. Users should always verify analysis results and scanner conditions to ensure data consistency.","The platform's analytical outputs are inherently dependent on the quality of underlying third-party data, and Pixel Nexus Global makes no representations or warranties regarding the accuracy of these analyses. The iccandle.ai website, Services, and Platform are designed solely for informational and research purposes - they should never serve as the sole basis for investment decisions. Pixel Nexus Global disclaims all liability for any financial losses resulting from reliance on potentially inaccurate data or analysis within the Platform.","The Pixel Nexus Global system is provided strictly on an \\"as-is\\" basis without guarantees or warranties of any kind, as its functionality depends on unverified third- party data sources. The platform is intended exclusively for educational, entertainment, and general informational use - not as professional financial advice or a substitute for independent investment research. Users assume all risk associated with interpreting and acting upon any information displayed within the system.","By accessing and using the Platform, you acknowledge these inherent limitations and agree that Pixel Nexus Global shall not be held responsible for any consequences arising from data inaccuracies, analysis errors, or investment decisions made based on platform content."]},{"title":"8. Disclaimer of Investment Advice and Platform Limitations","paragraphs":["The analytical tools and outputs provided by Pixel Nexus Global's iccandle.ai platform are strictly for informational and research purposes only and should not be construed as investment advice. The platform relies on third-party data sources that may contain inaccuracies, and different features may produce varying results due to separate data providers. All analysis, including results from our Pattern Selector, Pattern Tracker, and News Impact Intelligence, is provided \\"AS-IS\\" without any guarantees of accuracy. These tools demonstrate historical patterns, probabilities, and market behavior under past conditions and cannot predict future results, as actual market outcomes may differ due to liquidity, execution, and other variables. You must never rely solely on platform analysis when making investment decisions."]},{"title":"9. Risk Acknowledgement and User Responsibility","paragraphs":["By using Pixel Nexus Global's platform (iccandle.ai), you expressly acknowledge and accept full responsibility for all risks associated with any investment decisions made based on information or analysis obtained from our Platform. You understand that our services rely on third-party data sources that may contain inaccuracies, and that our analytical models employ mathematical formulas and sequences that have not been independently verified for predictive accuracy. Pixel Nexus Global cannot and does not guarantee the reliability of any market data, technical indicators, or analytical outputs generated by the Platform.","Prior to executing any trades, you agree to either: (i) consult with a qualified, licensed financial professional; or (ii) conduct comprehensive independent research using multiple verified information sources.","Pixel Nexus Global expressly disclaims all liability for any trading losses, missed opportunities, or other financial consequences resulting from your reliance on Platform content. By continuing to use iccandle.ai, you confirm your understanding that our tools are designed for informational purposes only and that you alone bear complete responsibility for all investment choices and outcomes. This warning constitutes an essential term of our agreement, and your use of the Platform signifies your unconditional acceptance of these risk disclosures."]},{"title":"10. Disclaimer of Warranties and Service Limitations","paragraphs":["The Pixel Nexus Global platform (iccandle.ai), including all Services, scripts, reports, analytical engines, and related technology, is provided strictly on an \\"AS-IS\\" and \\"AS- AVAILABLE\\" basis. Pixel Nexus Global makes no representations or warranties of any kind, whether express or implied. This includes, but is not limited to, all implied warranties of non-infringement, merchantability, fitness for a particular purpose, accuracy, quality, or achievement of specific results. No warranties arise from any course of dealing, performance, or trade usage.","Pixel Nexus Global does not guarantee that the Service will meet your requirements, operate without interruption, remain error-free, or be secure from viruses or other harmful components. Compatibility with all websites or browsers is not assured, and Pixel Nexus Global disclaims all liability for issues arising from browser incompatibility or third-party services, even if such services appear integrated with our Platform. Any data transmitted via our Services remains your sole responsibility, and Pixel Nexus Global expressly disclaims liability for such content. No warranties provided by third- party vendors to Pixel Nexus Global extend to you, and you are not a third-party beneficiary of such agreements."],"subsections":[{"title":"Alert Features and Beta Functionality","paragraphs":["The Platform includes alert features (e.g., \\"Dynamic Price Alerts\\" and \\"Multi-Factor Alerts\\"), which are provided without warranty or guarantee of reliability. Technical delays or failures may occur due to cellular networks, email services, system errors, or other factors. You acknowledge that alerts may not function as intended and agree that Pixel Nexus Global bears no liability for trading losses resulting from reliance on these features, regardless of whether they were used correctly.","Certain features labeled as 'Beta' are under active development and may exhibit unstable or unreliable performance, including inconsistent data or incorrect information due to software bugs or programming errors. These Beta features carry additional risks and should be used with extreme caution."]},{"title":"General Provisions","paragraphs":["This warranty disclaimer applies to all oral or written information provided by Pixel Nexus Global, its employees, affiliates, or third-party vendors. You may not rely on any such statements or representations.","Some jurisdictions may not permit the exclusion of certain warranties. If applicable to you, any warranty claim must be filed within ninety (90) days of the Service provision that gave rise to the claim. Failure to submit a claim within this period constitutes an irrevocable waiver of your right to pursue such claims thereafter.","Third-party websites linked through the Pixel Nexus Global platform are not under our control, and we assume no responsibility for their content or functionality. Accessing these external sites is entirely at your own risk. Such links are provided for convenience only and do not constitute an endorsement or recommendation by Pixel Nexus Global.","By using the Platform, you acknowledge and accept these limitations and disclaimers in full."]}]},{"title":"11. Limitation of Liability","paragraphs":["Pixel Nexus Global's total liability under this Agreement shall not exceed the aggregate fees actually paid by you to Pixel Nexus Global during the one (1) month period immediately preceding the event giving rise to such liability. For purposes of this limitation, \\"Pixel Nexus Global\\" includes its employees, agents, owners, directors, officers, affiliates, and any third-party service providers facilitating the Services.","To the maximum extent permitted by law, you agree that under no circumstances - including negligence - shall Pixel Nexus Global or its licensors, agents, employees, officers, or third-party vendors be liable for any indirect, incidental, special, consequential, or punitive damages. This exclusion applies to, but is not limited to, damages for:"],"listOrdered":["Lost profits or revenue","Business interruption","Data loss or corruption","Lost savings","Any other financial losses incurred by you, end users, or third parties"],"paragraphsAfter":["These limitations apply regardless of whether the action arises in contract, tort (including negligence), or any other legal theory, and shall remain in effect even if Pixel Nexus Global has been advised of the possibility of such damages. While some jurisdictions may not allow limitations on certain liabilities, you agree that, where such restrictions apply, Pixel Nexus Global's liability shall be limited to the maximum extent permitted by applicable law.","This limitation of liability constitutes an essential basis of the bargain between you and Pixel Nexus Global and shall survive termination of this Agreement. By using the Services, you acknowledge that these limitations are reasonable and reflect the risk allocation between both parties."]},{"title":"12. Notices","paragraphs":["All official notices will be sent to your account’s listed contact information. You are responsible for maintaining current and accurate contact details in our records at all times.","For most inquiries, including technical support and billing matters, please visit our website at www.iccandle.ai for contact information and support options.","However, any legal notices regarding these Terms of Service or other Pixel Nexus Global policies must be sent exclusively via postal mail to our designated address:"],"address":{"company":"Pixel Nexus Global PTE. LTD.","lines":["160 Robinson Road, #14-04","Singapore Business Federation Center","Singapore 068914"]}},{"title":"13. Force Majeure","paragraphs":["Neither party shall be liable for any failure or delay in performance (except for payment obligations) due to events beyond their reasonable control, including, but not limited to, acts of God, natural disasters, war, civil unrest, epidemics, labor disputes, utility failures, telecommunication outages, supply chain disruptions, government actions, or other unforeseeable catastrophic events; provided that: (i) the affected party notifies the other in writing within ten (10) days of the event’s commencement; (ii) all payment obligations remain unaffected; (iii) the time for performance shall be extended day-for-day to match the duration of the disruption; and (iv) both parties use commercially reasonable efforts to mitigate the impact.","It is understood that this clause does not permit termination of the Agreement solely due to force majeure conditions, nor does it extend the Agreement term beyond its original expiration date without mutual written agreement."]},{"title":"14. No Waiver","paragraphs":["No failure or delay by Pixel Nexus Global in exercising any right under these Terms shall operate as a waiver of that right, nor shall any single or partial exercise of any right preclude the further or full exercise of that right or any other right under these Terms."]},{"title":"15. Assignment","paragraphs":["Pixel Nexus Global may assign these Terms, or any rights hereunder, without your consent. You may not assign these Terms without our prior written approval. These Terms shall be binding upon, and inure to the benefit of, the parties' respective successors and permitted assigns."]},{"title":"16. Severability","paragraphs":["If any provision of these Terms is held to be invalid or unenforceable by a court of competent jurisdiction, that provision shall be modified to the minimum extent necessary to make it valid and enforceable while preserving its original intent. All other provisions shall remain in full force and effect."]},{"title":"17. No Agency","paragraphs":["Nothing in these Terms creates an agency, partnership, joint venture or employment relationship between the parties. Neither party has authority to bind the other or incur obligations on the other's behalf."]},{"title":"18. Privacy & Conflicts","paragraphs":["Our Privacy Policy is incorporated herein by reference. In the event of a conflict between agreements: (i) these Terms prevail over the Privacy Policy; (ii) any separate service agreement shall prevail over conflicting provisions of these Terms, but only with respect to those specific provisions; and (iii) in all other cases, these Terms shall govern."]},{"title":"19. Jurisdiction and Disclaimer","paragraphs":["The services and information provided on iccandle.ai are not intended for use in jurisdictions where such services would be contrary to local laws or regulations. Access to and use of this website are strictly prohibited for citizens of the following jurisdictions: United States of America, Canada, Russian Federation, Iran, North Korea, Myanmar, Syria, Cuba, Crimea, Donetsk, and Luhansk regions of Ukraine, Afghanistan, Belarus, and Venezuela. This list may be updated at any time without prior notice. Users are solely responsible for ensuring that their access to and use of this website comply with all applicable laws and regulations in their country. iccandle.ai accepts no responsibility or liability for any non-compliance by users with their local regulatory requirements and reserves the right to restrict, block, or terminate access at its sole discretion."]}],"content":"ข้อกำหนดการให้บริการ (Terms of Service / TOS / เงื่อนไข / ข้อจำกัดความรับผิด / สัญญา / ข้อตกลง)\\n\\nข้อตกลงฉบับนี้จัดทำขึ้นระหว่าง Pixel Nexus Global ซึ่งเป็นบริษัทจำกัดความรับผิด (Limited Liability Company) ในประเทศสิงคโปร์ ที่ดำเนินการภายใต้เว็บไซต์ www.iccandle.ai (“Pixel Nexus Global”, “เรา”, “พวกเรา”, หรือ “ของเรา”) และบุคคลหรือนิติบุคคลที่ซื้อหรือใช้บริการผ่านแพลตฟอร์ม (“ลูกค้า”, “คุณ”, หรือ “ของคุณ”) หากคุณเข้ารับบริการแทนบุคคลที่สาม คุณยืนยันว่าคุณมีอำนาจตามกฎหมายในการผูกพันบุคคลนั้นให้ยอมรับข้อกำหนดการให้บริการนี้ และคุณจะต้องรับผิดชอบต่อการใช้งานบริการของบุคคลดังกล่าว\\n\\nการเข้าถึงแพลตฟอร์มและบริการตามที่ระบุในเอกสารนี้ และที่นำเสนอผ่าน www.iccandle.ai หรือการสมัครใช้บริการผ่านเว็บไซต์ iccandle.ai ถือว่าคุณได้อ่าน ทำความเข้าใจ และยอมรับข้อกำหนด เงื่อนไข และข้อจำกัดความรับผิดนี้แล้ว ทั้งนี้คุณตกลงว่าความสัมพันธ์ระหว่างคุณกับเราจะอยู่ภายใต้ข้อกำหนดใน TOS ฉบับนี้ หากคุณไม่ยอมรับข้อกำหนดเหล่านี้ คุณต้องหยุดใช้งาน iccandle.ai และบริการหรือแพลตฟอร์มที่เกี่ยวข้องทั้งหมดทันที\\n\\n1. บริการ\\n\\nPixel Nexus Global จะให้สิทธิ์ลูกค้าที่มีสถานะบัญชีที่ดีในการเข้าถึงเครื่องมือวิเคราะห์ที่ขับเคลื่อนด้วย AI (“แพลตฟอร์ม”) ในข้อตกลงนี้ “บริการ” หมายถึงการที่ Pixel Nexus Global ให้สิทธิ์เข้าถึงแพลตฟอร์มแก่คุณ บริการจะถูกให้ภายใต้การสมัครสมาชิก การเปิดบัญชี หรือคำสั่งซื้อที่คุณทำผ่านเว็บไซต์ iccandle.ai และได้รับการยอมรับจาก Pixel Nexus Global (“คำสั่งซื้อ”)\\n\\nหากมีความขัดแย้งระหว่าง TOS นี้กับคำสั่งซื้อ ให้ยึด TOS นี้เป็นหลัก การยอมรับบริการถือว่าคุณตกลงว่าเงื่อนไขเพิ่มเติมใด ๆ ที่คุณเสนอจะถูกปฏิเสธ เว้นแต่จะได้รับการยอมรับเป็นลายลักษณ์อักษรจากตัวแทนที่ได้รับอนุญาตของเรา\\n\\n2. หน้าที่ของคุณ\\nข้อมูลลูกค้าและความรับผิดชอบบัญชี\\n\\nคุณตกลงที่จะให้ข้อมูลที่ถูกต้องแก่ Pixel Nexus Global ในการสร้างบัญชี ตลอดความสัมพันธ์ทางธุรกิจ และการติดต่อทั้งหมด คุณต้องมีอีเมลที่ใช้งานได้และตรวจสอบเป็นประจำ และต้องแจ้งเราหากมีการเปลี่ยนแปลงข้อมูลติดต่อ\\n\\nPixel Nexus Global จะไม่รับผิดชอบต่อความเสียหายที่เกิดจากการติดต่อผิดพลาดอันเนื่องมาจากข้อมูลที่ไม่เป็นปัจจุบันของคุณ\\n\\nคุณต้องกรอกแบบสอบถามภายในแพลตฟอร์มอย่างถูกต้องและครบถ้วนเพื่อให้เป็นไปตามข้อกำหนดของตลาด\\n\\nการใช้งานแพลตฟอร์ม\\n\\nการใช้งานต้องเป็นไปตาม TOS นี้และเอกสารประกอบ หากคุณอนุญาตให้บุคคลที่สามใช้งาน คุณต้อง:\\n(i) จำกัดการใช้งานตามข้อกำหนด\\n(ii) รับประกันการปฏิบัติตาม TOS และนโยบายความเป็นส่วนตัว\\n(iii) รับผิดชอบเต็มที่ต่อการละเมิดใด ๆ\\n\\nทรัพย์สินทางปัญญาและการปฏิบัติตามกฎหมาย\\n\\nห้ามแก้ไข ลบ หรือปกปิดเครื่องหมายการค้า การใช้งานต้องเป็นไปตามกฎหมายที่เกี่ยวข้องทั้งหมด ห้ามใช้งานโดยไม่ได้รับอนุญาต\\n\\n3. ระยะเวลา\\nวันที่มีผลบังคับใช้\\n\\nมีผลเมื่อคุณกด “ยอมรับ” หรือเมื่อคุณเริ่มใช้งานแพลตฟอร์ม (อย่างใดอย่างหนึ่งที่เกิดก่อน)\\n\\nการต่ออายุ\\n\\nบริการจะต่ออายุอัตโนมัติ (รายเดือน รายไตรมาส หรือรายปี) หากไม่ได้ระบุไว้ ให้ถือว่ารอบเริ่มต้นคือ 1 เดือน\\n\\nช่วงทดลองใช้\\n\\nอาจมีช่วงทดลองใช้แบบฟรีหรือมีค่าใช้จ่าย ข้อกำหนดทั้งหมดมีผลเช่นเดียวกับลูกค้าปกติ คุณสามารถยกเลิกได้เพื่อป้องกันการต่ออายุอัตโนมัติ\\n\\n4. การยกเลิก\\n\\nการยกเลิกและการคืนเงินเป็นไปตามนโยบายบนเว็บไซต์ การยกเลิกจะหยุดการต่ออายุ แต่ไม่ทำให้ใบแจ้งหนี้เดิมเป็นโมฆะ\\n\\nบริษัทมีสิทธิ์ระงับหรือยกเลิกบริการทันทีหากมีการละเมิดข้อกำหนด โดยไม่จำเป็นต้องแจ้งล่วงหน้า\\n\\n5. การให้สิทธิ์ใช้งาน\\n\\nบริษัทให้สิทธิ์ใช้งานแบบจำกัด ไม่สามารถโอนสิทธิ์ได้ ห้ามทำวิศวกรรมย้อนกลับ ดัดแปลง หรือขายต่อ สิทธิทั้งหมดเป็นของบริษัท\\n\\n6. การใช้ข้อมูล\\n\\nข้อมูลที่คุณให้สามารถถูกใช้เพื่อพัฒนาบริการ บริษัทอาจใช้ข้อมูลที่ไม่ระบุตัวตนต่อไปได้\\n\\n7. ข้อจำกัดความถูกต้องของข้อมูล\\n\\nข้อมูลมาจากผู้ให้บริการภายนอก จึงไม่รับประกันความถูกต้อง 100% ใช้เพื่อการศึกษาเท่านั้น ไม่ใช่คำแนะนำการลงทุน\\n\\n8. ข้อจำกัดคำแนะนำการลงทุน\\n\\nเครื่องมือทั้งหมดเป็นเพียงข้อมูล ไม่ใช่คำแนะนำการลงทุน\\n\\n9. การยอมรับความเสี่ยง\\n\\nคุณรับความเสี่ยงทั้งหมดด้วยตนเอง บริษัทไม่รับผิดชอบต่อการขาดทุน\\n\\n10. การปฏิเสธการรับประกัน\\n\\nบริการให้ตามสภาพ “AS IS” ไม่มีการรับประกันความถูกต้องหรือความต่อเนื่อง\\n\\n11. ข้อจำกัดความรับผิด\\n\\nความรับผิดของบริษัทจำกัดไม่เกินค่าบริการที่จ่ายใน 1 เดือนก่อนเหตุการณ์\\n\\n12. การแจ้งเตือน\\n\\nการแจ้งเตือนจะส่งไปยังข้อมูลติดต่อที่คุณให้ไว้\\n\\n13. เหตุสุดวิสัย\\n\\nบริษัทไม่รับผิดชอบต่อเหตุการณ์ที่อยู่นอกเหนือการควบคุม เช่น ภัยพิบัติ สงคราม หรือปัญหาโครงสร้างพื้นฐาน\\n\\n14. การไม่สละสิทธิ์\\n\\nการไม่บังคับใช้สิทธิ์ไม่ถือว่าสละสิทธิ์\\n\\n15. การโอนสิทธิ์\\n\\nบริษัทสามารถโอนสิทธิ์ได้โดยไม่ต้องขออนุญาต แต่คุณไม่สามารถโอนได้\\n\\n16. ความแยกส่วนของข้อกำหนด\\n\\nหากข้อใดไม่ถูกต้อง ข้ออื่นยังคงมีผล\\n\\n17. ไม่มีตัวแทน\\n\\nข้อตกลงนี้ไม่ก่อให้เกิดความสัมพันธ์นายจ้าง ตัวแทน หรือหุ้นส่วน\\n\\n18. นโยบายความเป็นส่วนตัวและความขัดแย้ง\\n\\nหากมีความขัดแย้ง ให้ยึด TOS นี้เป็นหลัก\\n\\n19. เขตอำนาจศาลและข้อจำกัดการใช้งาน\\n\\nห้ามใช้งานในบางประเทศ เช่น สหรัฐฯ แคนาดา รัสเซีย อิหร่าน เกาหลีเหนือ เป็นต้น ผู้ใช้ต้องรับผิดชอบในการปฏิบัติตามกฎหมายของประเทศตนเอง"},"Refund":{"title":"นโยบายการคืนเงินและการยกเลิก","intro":"This Refund and Cancellation Policy (\\"Policy\\") governs refund and cancellation terms for services provided by Pixel Nexus Global Pte. Ltd. (\\"we,\\" \\"us,\\" \\"our\\") through the iccandle.ai platform (\\"Services\\"). This Policy is incorporated by reference into our Terms of Service and should be read in conjunction with those Terms.","sections":[{"title":"1. Definitions","definitions":[{"term":"การสมัครสมาชิก","text":"A recurring paid access to the Services for a specified period (e.g., monthly or annually)."},{"term":"Billing Period","text":"The recurring time interval for which a Subscription fee is charged."},{"term":"Subscription Change","text":"Any upgrade or downgrade to a different Subscription plan."}]},{"title":"2. Cancellation Terms","subsections":[{"title":"Subscription Cancellation","listDisc":["You may cancel your Subscription at any time through your account dashboard or by contacting support.","Cancellation will take effect at the end of the current billing period; you will retain access to the Services through the end of that period.","Cancelling your Subscription does not automatically entitle you to a refund of fees already paid."]}]},{"title":"3. Refund Terms","subsections":[{"title":"3.1 General Rule","paragraphs":["Except as expressly provided in this Policy or required by applicable law, all fees paid for Subscriptions are non‑refundable once charged."]},{"title":"3.2 Refund Eligibility","paragraphs":["We may issue a refund at our sole discretion only in limited circumstances, including but not limited to:"],"listDisc":["Duplicate payments (verified duplicate charges will be refunded).","Technical errors that demonstrably prevented access to Services, where the error was not caused by user actions and is verified by us.","Applicable statutory rights under consumer protection law where these rights apply and cannot be waived."],"paragraphsAfter":["Refunds, if approved, will be processed to the original payment method within a commercially reasonable timeframe determined by payment processors and banking partners."]},{"title":"3.3 No Refund for Partial Use","paragraphs":["Refunds will not be issued for:"],"listDisc":["Partial use of the Services during a billing period.","Downgrades of Subscription plans.","Change of mind or business decisions after payment.","Subscription cancellations submitted after a billing cycle has renewed."]}]},{"title":"4. Subscription Changes (Upgrade or Downgrade)","paragraphs":["We provide two options when changing your Subscription plan:"],"subsections":[{"title":"4.1 Change Now","paragraphs":["If you select \\"Change Now,\\" your new plan will take effect immediately, and the associated charge will be applied.","Please note that no refunds, credits, or prorated adjustments will be provided for any unused portion of your current plan."]},{"title":"4.2 Change on Next Billing","paragraphs":["If you choose \\"Change on Next Billing,\\" your current plan will remain active until the end of the current Billing Period.","The new plan will take effect at the start of the next Billing Period.","No refunds or credits apply to the current Billing Period."]}]},{"title":"5. Cancellation After renewal","paragraphs":["If an automatic renewal has already occurred before you submit a cancellation request: The renewal fee is non-refundable. The cancellation will apply to the next Billing Period."]},{"title":"6. Chargebacks and Disputes","paragraphs":["We maintain a strict no-tolerance policy toward unjustified chargebacks.","Initiating a chargeback or payment dispute without first contacting us to seek resolution is considered a breach of this Refund and Cancellation Policy and our Terms of Service. Such actions may result in immediate suspension or permanent termination of your account, without notice, and forfeiture of access to the Services.","We reserve the right to challenge and dispute any chargeback that we deem unauthorized, abusive, or inconsistent with this Policy. This includes providing payment processors, banks, and financial institutions with all relevant evidence, including but not limited to:"],"listDisc":["Proof of service delivery and access logs","Account activity records","Acceptance of our Terms of Service and policies","Communication history with the customer"],"paragraphsAfter":["Customers are strongly encouraged to contact our support team first to resolve any billing concerns. We are committed to addressing legitimate issues in good faith; however, chargebacks used as a substitute for cancellation or refund requests will not be tolerated."]},{"title":"7. Modification of Policy","paragraphs":["We may update this Policy from time to time. Material changes will be posted on our website or communicated via email prior to taking effect. Continued use of the Services after such updates constitutes acceptance of the revised Policy."]},{"title":"8. Contact Information","paragraphs":["For all cancellation and refund requests, please contact our support team via our help center."]}],"content":"นโยบายการคืนเงินและการยกเลิก\\n\\nนโยบายการคืนเงินและการยกเลิกฉบับนี้ (“นโยบาย”) กำหนดเงื่อนไขการคืนเงินและการยกเลิกสำหรับบริการที่ให้โดย Pixel Nexus Global Pte. Ltd. (“เรา”) ผ่านแพลตฟอร์ม iccandle.ai (“บริการ”) นโยบายนี้เป็นส่วนหนึ่งของข้อกำหนดการให้บริการและควรอ่านร่วมกัน\\n\\n1. คำจำกัดความ\\n\\nSubscription (การสมัครสมาชิก): การเข้าถึงบริการแบบชำระเงินตามระยะเวลาที่กำหนด (รายเดือนหรือรายปี)\\n\\nBilling Period (รอบการเรียกเก็บเงิน): ช่วงเวลาที่มีการเรียกเก็บค่าบริการเป็นรอบ\\n\\nSubscription Change (การเปลี่ยนแพ็กเกจ): การอัปเกรดหรือดาวน์เกรดแพ็กเกจ\\n\\n2. เงื่อนไขการยกเลิก\\nการยกเลิกการสมัครสมาชิก\\nสามารถยกเลิกได้ทุกเมื่อผ่านบัญชีหรือฝ่ายสนับสนุน\\nการยกเลิกจะมีผลเมื่อสิ้นสุดรอบบิลปัจจุบัน\\nยังสามารถใช้งานบริการได้จนถึงสิ้นรอบบิล\\nค่าบริการที่ชำระแล้วจะไม่ถูกคืนโดยอัตโนมัติ\\n3. เงื่อนไขการคืนเงิน\\n3.1 หลักทั่วไป\\n\\nเว้นแต่กฎหมายกำหนดหรือระบุไว้ในนโยบายนี้ ค่าบริการทั้งหมดไม่สามารถขอคืนได้หลังจากชำระแล้ว\\n\\n3.2 กรณีที่อาจได้รับคืนเงิน\\n\\nเราอาจพิจารณาคืนเงินตามดุลยพินิจเฉพาะกรณี เช่น:\\n\\nการชำระเงินซ้ำ (ยืนยันแล้ว)\\nข้อผิดพลาดทางเทคนิคที่ทำให้ไม่สามารถเข้าถึงบริการได้โดยไม่ใช่ความผิดของผู้ใช้\\nสิทธิตามกฎหมายคุ้มครองผู้บริโภค\\n\\nการคืนเงินที่อนุมัติจะดำเนินการผ่านช่องทางการชำระเงินเดิมภายในระยะเวลาที่เหมาะสม\\n\\n3.3 ไม่คืนเงินสำหรับการใช้งานบางส่วน\\nการใช้งานบางส่วนในรอบบิล\\nการดาวน์เกรดแพ็กเกจ\\nเปลี่ยนใจหลังชำระเงิน\\nการยกเลิกหลังต่ออายุแล้ว\\n4. การเปลี่ยนแพ็กเกจ\\n4.1 เปลี่ยนทันที\\n\\nแพ็กเกจใหม่มีผลทันที และมีการคิดค่าบริการเพิ่ม ไม่มีการคืนเงินสำหรับส่วนที่ไม่ได้ใช้\\n\\n4.2 เปลี่ยนรอบบิลถัดไป\\n\\nแพ็กเกจปัจจุบันจะยังใช้งานได้จนจบรอบบิล และแพ็กเกจใหม่จะเริ่มในรอบถัดไป\\n\\n5. การยกเลิกหลังต่ออายุ\\n\\nหากมีการต่ออายุแล้ว การยกเลิกจะไม่มีการคืนเงิน และจะมีผลในรอบบิลถัดไป\\n\\n6. การชาร์จแบ็กและข้อพิพาท\\n\\nเราไม่ยอมรับการชาร์จแบ็กที่ไม่มีเหตุผล\\n\\nการยื่นข้อพิพาทโดยไม่ติดต่อเราก่อนถือเป็นการละเมิด และอาจทำให้บัญชีถูกระงับหรือยกเลิกถาวร\\n\\n7. การเปลี่ยนแปลงนโยบาย\\n\\nเราอาจปรับปรุงนโยบายนี้เป็นครั้งคราว โดยจะแจ้งล่วงหน้าหากมีการเปลี่ยนแปลงสำคัญ\\n\\n8. ติดต่อเรา\\n\\nกรุณาติดต่อฝ่ายสนับสนุนผ่านศูนย์ช่วยเหลือสำหรับคำขอคืนเงินและการยกเลิก"},"Privacy":{"title":"นโยบายความเป็นส่วนตัว","intro":"This Privacy Policy explains how Pixel Nexus Global Pte. Ltd. (\\"we\\", \\"us\\", or \\"our\\") collects, uses, discloses, and protects personal information when you use our website, applications, and services (collectively, the \\"Services\\").","sections":[{"title":"1. Information We Collect","paragraphs":["We collect the following information:"],"listDisc":["Email address provided when you sign up for our Services","Service usage information, including interactions with features, pages viewed, session activity, and general usage patterns, collected to improve the functionality, performance, and user experience of our Services"],"paragraphsAfter":["We do not collect, store, or process payment card details or other sensitive payment information."]},{"title":"2. Payments and Stripe","paragraphs":["All payment transactions are processed by our third-party payment service provider, Stripe.","When you make a payment, Stripe collects and processes payment-related information (such as card details, billing information, and transaction data) directly. This information is handled in accordance with Stripe’s Privacy Policy and security standards, including PCI-DSS compliance.","We only receive limited information from Stripe necessary to operate our Services, including:"],"listDisc":["Payment confirmation","Subscription status","Transaction identifiers"],"paragraphsAfter":["We do not have access to your full payment details.","You can review Stripe’s Privacy Policy here:"],"stripePrivacyUrl":"https://stripe.com/privacy"},{"title":"3. How We Use Your Information","paragraphs":["We use the email addresses we collect to:"],"listDisc":["Provide, operate, and maintain our Services","Analyze service usage and improve product functionality, performance, and user experience","Communicate with you regarding technical notices, updates, and support","Inform you about products, services, features, and events"]},{"title":"4. Information Sharing","paragraphs":["We do not sell your personal information.","We may share your information only with:"],"listDisc":["Service providers who support our operations (including hosting, analytics, and payment processing via Stripe)","Professional advisors, such as legal, accounting, or compliance consultants","Law enforcement or regulatory authorities, when required by law or to protect our legal rights"],"paragraphsAfter":["All third-party service providers are required to process personal data in accordance with applicable data protection laws."]},{"title":"5. Your Rights","paragraphs":["Depending on your location, you may have the right to:"],"listDisc":["Access your personal information","Correct or update your email address","Request deletion of your email address","Object to or restrict certain processing activities"],"paragraphsAfter":["Requests related to payment data should be directed to Stripe, as they act as the data controller for payment information."]},{"title":"6. Third-Party Policies","paragraphs":["Our Services rely on third-party providers such as Stripe. Their handling of personal data is governed by their own privacy policies, and we encourage you to review them."]},{"title":"7. Contact Us","paragraphs":["If you have any questions about this Privacy Policy or our data practices, please contact us at:","support@iccandle.ai"]}],"content":"นโยบายความเป็นส่วนตัว\\n\\nนโยบายความเป็นส่วนตัวฉบับนี้อธิบายวิธีที่ Pixel Nexus Global Pte. Ltd. (“เรา”) เก็บ ใช้ เปิดเผย และปกป้องข้อมูลส่วนบุคคลเมื่อคุณใช้งานเว็บไซต์ แอปพลิเคชัน และบริการของเรา (รวมเรียกว่า “บริการ”)\\n\\n1. ข้อมูลที่เราเก็บรวบรวม\\n\\nเราเก็บข้อมูลดังต่อไปนี้:\\n\\nอีเมลที่คุณให้เมื่อสมัครใช้บริการ\\nข้อมูลการใช้งานบริการ เช่น การใช้งานฟีเจอร์ หน้าที่เข้าชม กิจกรรมเซสชัน และรูปแบบการใช้งานทั่วไป\\n\\nข้อมูลนี้ใช้เพื่อปรับปรุงประสิทธิภาพ ฟังก์ชัน และประสบการณ์ผู้ใช้\\n\\nเราไม่เก็บหรือประมวลผลข้อมูลบัตรเครดิตหรือข้อมูลการชำระเงินที่ละเอียดอ่อน\\n\\n2. การชำระเงินและ Stripe\\n\\nการชำระเงินทั้งหมดดำเนินการโดยผู้ให้บริการภายนอกคือ Stripe\\n\\nเมื่อคุณชำระเงิน Stripe จะเป็นผู้เก็บและประมวลผลข้อมูลการชำระเงินโดยตรง เช่น ข้อมูลบัตร ข้อมูลการเรียกเก็บเงิน และข้อมูลธุรกรรม ซึ่งเป็นไปตามนโยบายความเป็นส่วนตัวของ Stripe และมาตรฐานความปลอดภัย PCI-DSS\\n\\nเราจะได้รับข้อมูลจาก Stripe เพียงบางส่วนเท่านั้น ได้แก่:\\n\\nการยืนยันการชำระเงิน\\nสถานะการสมัครสมาชิก\\nหมายเลขธุรกรรม\\n\\nเราไม่สามารถเข้าถึงข้อมูลการชำระเงินทั้งหมดของคุณได้\\n\\nนโยบายความเป็นส่วนตัวของ Stripe: https://stripe.com/privacy\\n\\n3. วิธีที่เราใช้ข้อมูลของคุณ\\n\\nเราใช้อีเมลของคุณเพื่อ:\\n\\nให้บริการและดูแลระบบ\\nวิเคราะห์และปรับปรุงบริการ\\nติดต่อเกี่ยวกับการแจ้งเตือนและการสนับสนุน\\nแจ้งข้อมูลเกี่ยวกับผลิตภัณฑ์และฟีเจอร์\\n4. การแบ่งปันข้อมูล\\n\\nเราไม่ขายข้อมูลส่วนบุคคลของคุณ\\n\\nเราอาจแบ่งปันข้อมูลเฉพาะกับ:\\n\\nผู้ให้บริการที่ช่วยดำเนินงาน (เช่น โฮสติ้ง วิเคราะห์ และ Stripe)\\nที่ปรึกษาด้านกฎหมาย บัญชี หรือการปฏิบัติตามกฎระเบียบ\\nหน่วยงานรัฐเมื่อกฎหมายกำหนด\\n\\nผู้ให้บริการภายนอกทั้งหมดต้องปฏิบัติตามกฎหมายคุ้มครองข้อมูล\\n\\n5. สิทธิของคุณ\\n\\nคุณอาจมีสิทธิ์:\\n\\nเข้าถึงข้อมูลส่วนบุคคล\\nแก้ไขอีเมล\\nขอให้ลบข้อมูล\\nคัดค้านหรือจำกัดการประมวลผลบางประเภท\\n\\nคำขอเกี่ยวกับข้อมูลการชำระเงินต้องติดต่อ Stripe โดยตรง\\n\\n6. นโยบายบุคคลที่สาม\\n\\nบริการของเราใช้ผู้ให้บริการภายนอก เช่น Stripe ซึ่งมีนโยบายความเป็นส่วนตัวของตนเอง\\n\\n7. ติดต่อเรา\\n\\nsupport@iccandle.ai"},"Cookie":{"title":"นโยบายคุกกี้","intro":["This Cookie Policy explains how Pixel Nexus Global Pte. Ltd. (\\"we\\", \\"us\\", or \\"our\\") uses cookies and similar technologies when you visit or use iccandle.ai and related services (collectively, the \\"Services\\").","This Policy should be read together with our Privacy Policy."],"sections":[{"title":"1. What Are Cookies?","paragraphs":["Cookies are small text files placed on your device when you visit a website. They are widely used to make websites work efficiently, enhance user experience, and provide information to website operators.","Cookies may be:"],"listDisc":["Session cookies (deleted when you close your browser), or","Persistent cookies (stored for a set period or until deleted)."]},{"title":"2. Types of Cookies We Use","subsections":[{"title":"2.1 Strictly Necessary Cookies","paragraphs":["These cookies are essential for the operation of our Services and cannot be switched off. They are required to:"],"listDisc":["Enable secure login and authentication","Maintain user sessions","Protect against fraud and abuse"],"paragraphsAfter":["Without these cookies, the Services cannot function properly."]},{"title":"2.2 Functional Cookies","paragraphs":["These cookies allow us to remember your preferences and settings, such as:"],"listDisc":["Language or regional preferences","Account-related selections"],"paragraphsAfter":["They improve usability but are not strictly necessary."]},{"title":"2.3 Analytics and Performance Cookies","paragraphs":["We use analytics cookies to understand how users interact with our Services. These cookies collect information such as:"],"listDisc":["Pages visited and features used","Session duration and interaction patterns","Error and performance data"],"paragraphsAfter":["This information is used solely to improve our product, functionality, and user experience. Analytics data is aggregated and does not directly identify individual users."]},{"title":"2.4 Third-Party Cookies","paragraphs":["Some cookies are placed by third-party service providers that support our Services, including:"],"listDisc":["Payment processing services (e.g., Stripe)","Analytics and infrastructure providers"],"paragraphsAfter":["These third parties may use cookies in accordance with their own privacy and cookie policies."]}]},{"title":"3. What We Do NOT Use Cookies For","listDisc":["We do not use cookies for advertising or behavioral targeting","We do not sell cookie data","We do not use cookies to collect sensitive personal information"]},{"title":"4. Managing Cookies","paragraphs":["You can manage or disable cookies through your browser settings. Most browsers allow you to:"],"listDisc":["View cookies stored on your device","Delete existing cookies","Block cookies entirely or from specific websites"],"paragraphsAfter":["Please note that disabling certain cookies may affect the functionality and performance of the Services."]},{"title":"5. Changes to This Cookie Policy","paragraphs":["We may update this Cookie Policy from time to time to reflect changes in technology, law, or our practices. Material changes will be posted on our website. Continued use of the Services after changes take effect constitutes acceptance of the updated Policy."]},{"title":"6. Contact Us","paragraphs":["If you have any questions about this Cookie Policy or our use of cookies, please contact us at:","support@iccandle.ai"]}],"content":"นโยบายคุกกี้\\n\\nนโยบายคุกกี้ฉบับนี้อธิบายวิธีที่ Pixel Nexus Global Pte. Ltd. (“เรา”) ใช้คุกกี้และเทคโนโลยีที่คล้ายกันเมื่อคุณเข้าใช้งาน iccandle.ai และบริการที่เกี่ยวข้อง (รวมเรียกว่า “บริการ”)\\n\\nควรอ่านนโยบายนี้ร่วมกับนโยบายความเป็นส่วนตัว\\n\\n1. คุกกี้คืออะไร\\n\\nคุกกี้คือไฟล์ข้อความขนาดเล็กที่ถูกจัดเก็บในอุปกรณ์ของคุณเมื่อคุณเข้าเว็บไซต์ ใช้เพื่อ:\\n\\nทำให้เว็บไซต์ทำงานได้อย่างมีประสิทธิภาพ\\nปรับปรุงประสบการณ์ผู้ใช้\\nให้ข้อมูลแก่ผู้ให้บริการเว็บไซต์\\n\\nคุกกี้มี 2 ประเภท:\\n\\nSession cookies (ลบเมื่อปิดเบราว์เซอร์)\\nPersistent cookies (เก็บไว้จนกว่าจะถูกลบหรือหมดอายุ)\\n2. ประเภทคุกกี้ที่เราใช้\\n2.1 คุกกี้ที่จำเป็นอย่างยิ่ง\\n\\nจำเป็นต่อการทำงานของบริการและไม่สามารถปิดได้\\n\\nการเข้าสู่ระบบและยืนยันตัวตน\\nการรักษาเซสชันผู้ใช้\\nการป้องกันการฉ้อโกงและการใช้งานผิดวิธี\\n2.2 คุกกี้เพื่อการใช้งาน\\n\\nใช้เพื่อจดจำการตั้งค่าของคุณ:\\n\\nภาษาและภูมิภาค\\nการตั้งค่าบัญชี\\n2.3 คุกกี้วิเคราะห์และประสิทธิภาพ\\n\\nใช้เพื่อทำความเข้าใจการใช้งานบริการ:\\n\\nหน้าที่เข้าชม\\nระยะเวลาเซสชัน\\nข้อมูลข้อผิดพลาดและประสิทธิภาพ\\n\\nข้อมูลนี้ใช้เพื่อปรับปรุงบริการเท่านั้น และไม่ระบุตัวบุคคลโดยตรง\\n\\n2.4 คุกกี้จากบุคคลที่สาม\\n\\nบางคุกกี้ถูกกำหนดโดยผู้ให้บริการภายนอก เช่น:\\n\\nบริการชำระเงิน (เช่น Stripe)\\nผู้ให้บริการวิเคราะห์และโครงสร้างพื้นฐาน\\n3. สิ่งที่เราไม่ใช้คุกกี้สำหรับ\\nโฆษณาหรือการติดตามพฤติกรรม\\nการขายข้อมูลคุกกี้\\nการเก็บข้อมูลส่วนบุคคลที่อ่อนไหว\\n4. การจัดการคุกกี้\\n\\nคุณสามารถจัดการหรือปิดคุกกี้ได้ผ่านการตั้งค่าเบราว์เซอร์:\\n\\nดูคุกกี้ที่เก็บไว้\\nลบคุกกี้\\nบล็อกคุกกี้ทั้งหมดหรือบางเว็บไซต์\\n\\nการปิดคุกกี้บางประเภทอาจส่งผลต่อการทำงานของบริการ\\n\\n5. การเปลี่ยนแปลงนโยบาย\\n\\nเราอาจปรับปรุงนโยบายนี้เป็นครั้งคราว การเปลี่ยนแปลงสำคัญจะประกาศบนเว็บไซต์ การใช้งานต่อหลังการเปลี่ยนแปลงถือเป็นการยอมรับ\\n\\n6. ติดต่อเรา\\n\\nsupport@iccandle.ai"}}`),np={Common:Rh,Confirmation:Eh,DateFormat:Oh,Alert:Mh,TimeConfig:Ih,Loading:Lh,Auth:Gh,Navbar:Fh,Guide:Bh,Pricing:jh,Settings:Uh,Referral:zh,Layout:Yh,News:Hh,Selector:Wh,UserActivity:qh,Pattern:Vh,PatternCatalog:_h,sQuestion_pattern:Kh,sQuestion_general:Jh,sQuestion_news:Xh,justLanguage:Zh,profile:Qh,Landing:$h,NotFound:ep,Legal:tp},ip={or:"또는",error:"오류",cancel:"취소",continuing:"진행 중...",email:"이메일",password:"비밀번호",termsOfService:"서비스 이용약관",privacyPolicy:"개인정보 처리방침",continueWithGoogle:"Google로 계속하기",continuingWithGoogle:"Google로 계속하는 중...",signIn:"로그인",signUp:"회원가입",agreeAndContinue:"동의하고 계속하기",changePlan:"플랜 변경",upgradePlan:"플랜 업그레이드 +",manageBilling:"결제 관리",getInTouch:"문의하기",copyright:"© {year} IC Candle, Inc. 모든 권리 보유.",session:"세션",sessions:"세션들",activeWorkspaces:"활성 작업 공간",date:"날짜",product:"상품",plan:"플랜",planNames:{free:"무료 플랜",standard:"스탠다드 플랜",pro:"프로 플랜",expert:"엑스퍼트 플랜"},status:"상태",amount:"금액",detail:"상세",total:"합계",prioritySupport:"우선 지원",all:"전체",minutely:"인트라데이",hourly:"시간별",daily:"일별",chatAssistant:"채팅 어시스턴트",timeframes:"시간 프레임",symbols:"심볼",timeSettings:"시간 설정",step:"단계 {number}:",learnMore:"자세히 보기",success:"성공",validationError:"유효성 검사 오류",previous:"이전",next:"다음",saving:"저장 중...",save:"저장",saveChanges:"변경 사항 저장",nextStep:"다음 단계",columnTimeframe:"타임프레임",columnSymbol:"심볼",columnDescription:"설명",symbol:"심볼",timeframe:"타임프레임",candles:"캔들",up:"상승",down:"하락",play:"재생",close:"닫기",simulate:"시뮬레이션",actual:"실제",forecast:"예측",interestRate:"금리",soon:"곧 출시",back:"뒤로",similarity:"유사도",nextCandles:"다음 {count}",nextCandlesFull:"다음 {count}개의 캔들",probabilityOutcome:"확률 결과:",estimatedProbability:"예상 확률:",riskDisclaimer:"금융 시장은 높은 수준의 위험을 수반하며 자본 손실이 발생할 수 있습니다. iC Candle은 교육 목적으로만 정보를 제공하며 금융 자문을 제공하지 않습니다. 과거의 성과는 미래 결과를 보장하지 않습니다.",rangeTooFarToRender:"범위가 너무 멀어 렌더링할 수 없습니다.",marketSessions:"시장 세션",askTradingQuestion:"거래 관련 질문하기",mrCandleThinking:"Mr. Candle가 생각 중...",simulateBullishPriceAction:"강세 가격 움직임 시뮬레이션",simulateBearishPriceAction:"약세 가격 움직임 시뮬레이션",dismiss:"닫기",loadingMore:"더 불러오는 중...",savedPatternDeleted:"저장된 패턴이 삭제되었습니다"},ap={confirm:"확인",deletePatternTitle:"패턴 삭제",deletePatternDescription:"이 패턴을 삭제하시겠습니까?",deleteAllNotificationsTitle:"모든 알림 삭제",deleteAllNotificationsDescription:"모든 알림을 삭제하시겠습니까?",disableSignalsTitle:"신호 비활성화",disableSignalsDescription:"신호를 비활성화하시겠습니까?",disableSignalsForDescription:"{patternTitle}에 대한 신호를 비활성화하시겠습니까?",togglePatternModeTitle:"패턴 모드 전환",togglePatternModeDisableDescription:"이 패턴을 비활성화하시겠습니까?",togglePatternModeEnableDescription:"이 패턴을 활성화하시겠습니까?",closeFeatureDescription:"이 기능을 종료하시겠습니까?"},rp={today:"오늘",yesterday:"어제",day:"{count, plural, other {#일}}",hour:"{count, plural, other {#시간}}",minute:"{count, plural, other {#분}}",zeroMinutes:"0분",dayShort:"일",hourShort:"시간",minuteShort:"분",zeroMin:"0분",justNow:"방금",minutesAgo:"{count, plural, other {#분 전}}",hoursAgo:"{count, plural, other {#시간 전}}",daysAgo:"{count, plural, other {#일 전}}",monthsAgo:"{count, plural, other {#개월 전}}",yearsAgo:"{count, plural, other {#년 전}}"},op={classicPatternTracker:"클래식 패턴 추적기",trackedPatternReminder:"추적된 패턴 알림",classicPattern:"클래식 패턴",trackedPattern:"추적된 패턴",enableClassicNotifications:"클래식 가격 패턴에 대한 실시간 알림 켜기",waitingForPatternSignals:"패턴 신호 대기 중",noPatternsDetected:"현재 감지된 패턴이 없습니다",signalsActiveDescription:"신호가 활성화되었습니다. 일치하는 패턴이 발견되면 알려드리겠습니다",noCustomPatternDetected:"현재 {patternName}이(가) 감지되지 않았습니다",trackMorePatternsByScan:"스캔으로 이동하여 더 많은 패턴 추적하기",seeMore:"더 보기"},sp={title:"시간 설정",description:"패턴 알림이 활성화될 수 있는 로컬 시간대를 선택하세요.",startTime:"시작 시간",endTime:"종료 시간",session:"세션",timezone:"타임존",yourTimezone:"내 시간대",selectSession:"세션 선택",searchSession:"세션 검색...",noSessionFound:"세션을 찾을 수 없습니다.",sessionsHeading:"세션들",selectTimezone:"시간대 선택",selectTimezoneHint:"이 알림의 시간대를 검색하고 선택하세요.",searchTimezone:"시간대 검색...",noTimezoneFound:"타임존을 찾을 수 없습니다.",timezonesHeading:"타임존",allTime:"전체 시간",customize:"사용자 지정",newYorkSession:"뉴욕 세션",londonSession:"런던 세션",tokyoSession:"도쿄 세션",sydneySession:"시드니 세션"},lp={newsScan:{analyzing:"현재 뉴스 이벤트 분석 중...",searching:"과거의 유사한 뉴스 발표 검색 중...",ranking:"가장 관련성이 높은 유사 뉴스 순위 지정 중...",preparingReplay:"재생을 위한 유사 뉴스 준비 중...",ready:"유사 뉴스 이벤트가 영향 분석을 위해 준비되었습니다."},newsAi:{replaying:"과거 가격 움직임 재생 중...",startingSimulation:"영향 시뮬레이션 모델 시작 중...",calculatingScenarios:"상승 및 하락 시나리오 계산 중...",complete:"시뮬레이션 완료."},selectorScan:{scanning:"20년 이상의 시장 기록 스캔 중...",finding:"구조적으로 유사한 패턴 찾는 중...",linking:"시장 행동과 근본 원인 연결 중...",preparing:"구조화된 과거 데이터셋 준비 중...",ready:"패턴이 재생 및 결과 분석을 위해 준비되었습니다."},selectorAi:{replaying:"과거 패턴 행동 재생 중...",learning:"과거 움직임으로부터 영향 패턴 학습 중...",calculating:"가격 움직임 역학 계산 중...",initializing:"시뮬레이션 모델 초기화 중...",complete:"시뮬레이션 완료."}},cp={Layout:{tagline:"통찰력을 중시하는 트레이더를 위한 플랫폼"},Legal:{termsAndPrivacy:"약관 및 개인정보 처리방침",googleTermsDescription:"Google로 계속하면 <terms></terms> 및 <privacy></privacy>에 동의하는 것으로 간주됩니다.",legalAgreement:"<terms></terms> 및 <privacy></privacy>에 동의합니다.",pleaseAgreeToContinue:"계속하려면 동의해 주세요",pleaseAgreeDescription:"Google로 계속하려면 서비스 이용약관 및 개인정보 처리방침에 동의해야 합니다.",legalTitle:"법적 사항"},SignIn:{dontHaveAccount:"계정이 없으신가요?",googleVerifyingAuthorization:"Google에서 인증을 확인하는 중...",invalidCredentials:"잘못된 인증 정보",invalidEmail:"잘못된 이메일 주소",emailRequired:"이메일을 입력해주세요",passwordRequired:"비밀번호를 입력해주세요",pleaseCheckInfo:"정보를 다시 확인해주세요",emailPlaceholder:"개인 또는 업무용 이메일을 입력하세요",change:"변경",forgotPassword:"비밀번호를 잊으셨나요?",continueWithEmail:"이메일로 계속하기"},SignUp:{repeatPassword:"비밀번호 다시 입력",termsAgreement:"계속하면 <terms></terms> 및 <privacy></privacy>에 동의하는 것으로 간주됩니다.",continueWithEmail:"이메일로 계속하기",alreadyHaveAccount:"이미 계정이 있으신가요?",signUpError:"회원가입 중 오류가 발생했습니다."},PasswordRecovery:{title:"비밀번호 복구",emailRequired:"이메일을 입력해주세요!",emailPlaceholder:"your@example.com",sendConfirmationCode:"인증 코드 보내기",somethingWrong:"문제가 발생했습니다",pleaseWaitAndRetry:"잠시 후 다시 시도해주세요",confirmationCodeSent:"인증 코드가 전송되었습니다",checkYourEmail:"이메일을 확인해주세요"},ResetPassword:{title:"비밀번호 재설정",confirmationCode:"인증 코드",confirmationCodeRequired:"인증 코드를 입력해주세요.",newPassword:"새 비밀번호",repeatNewPassword:"새 비밀번호 확인",passwordMinLength:"비밀번호는 최소 8자 이상이어야 합니다.",repeatPasswordMinLength:"비밀번호 확인은 최소 8자 이상이어야 합니다.",passwordsMustMatch:"비밀번호가 일치하지 않습니다.",pleaseStartAgain:"다시 시작해주세요",resetSuccess:"재설정 완료",useNewPassword:"새 비밀번호를 사용해주세요",passwordNotConfirmed:"비밀번호가 확인되지 않았습니다!"},Confirm:{title:"계정 확인",codeSentTo:"인증 코드가 다음 주소로 전송되었습니다:",otpDescription:"이메일로 전송된 일회용 비밀번호를 입력해주세요.",otpLength:"OTP는 6자리여야 합니다.",turnstileError:"Turnstile 오류가 발생했습니다",confirmError:"확인 중 오류가 발생했습니다: {message}",confirm:"확인"}},up={features:{title:"기능",patternSelector:{title:"패턴 선택기",subtitle:"과거 시장 데이터를 기반으로 사용자의 아이디어를 분석하여 유사한 가격 패턴과 결과를 찾아줍니다."},patternTracker:{title:"패턴 추적기",subtitle:"백그라운드에서 지속적으로 시장을 스캔하고, 일치하는 패턴이 나타나면 알려드립니다."},newsImpact:{title:"뉴스 영향",subtitle:"과거 뉴스 발표가 가격 움직임에 어떤 영향을 미쳤는지 보여주어, 이전에 시장이 어떻게 반응했는지 확인할 수 있습니다."}},resources:{title:"리소스",learnAndUse:{title:"학습 및 활용",subtitle:"분석 개념을 배우고 플랫폼을 효과적으로 사용하는 방법을 알아보세요."},updatesAndInsights:{title:"업데이트 및 인사이트",subtitle:"우리가 구축하고 탐구하는 내용에 대한 뉴스와 업데이트를 제공합니다."},whoWeAre:{title:"회사 소개",subtitle:"우리가 누구이며, 무엇을 믿고, 왜 이 서비스를 만드는지 소개합니다."},helpCenter:{title:"도움말 센터",subtitle:"필요할 때 도움, 가이드 및 답변을 찾아보세요."}},pricing:{title:"요금제"}},dp={badge:"기능",title:"AI 기반 시장 분석, 더 스마트한 의사결정을 위해 설계되었습니다",description:"고급 분석과 과거 데이터를 활용하여 패턴을 발견하고, 시장 반응을 분석하며, 의사결정 전에 확률을 이해하세요.",creditUsage:"크레딧 사용량",resetAfter:"다음 이후 재설정",resetAfterColon:"다음 이후 재설정:",useThisFeature:"이 기능 사용하기",automateNow:"지금 자동화하기",analyzeNow:"지금 분석하기",inSession:"현재 세션 중입니다",sessionActive:"세션이 현재 활성 상태입니다",continueSession:"세션 계속하기",pageHeader:{account:{title:"프로필",infoTitle:"내 계정",infoDescription:"설정, 기본 설정 및 연결 관리"},subscription:{title:"구독",infoTitle:"내 플랜",infoDescription:"플랜, 결제 및 지불 관리"},support:{title:"지원",infoTitle:"도움 받기",infoDescription:"질문에 대한 답변을 찾고 지원팀과 연결하기"},referral:{title:"커뮤니티",infoTitle:"커뮤니티 성장 프로그램",infoDescription:"친구를 추천하고, 리베이트를 받고, 함께 성장하세요"}}},hp={chooseYour:"플랜",plan:"선택",annualPromo:"연간 구독 시 2개월 이상 무료 혜택을 받으세요",monthly:"월간",yearly:"연간",yearlyBadge:"-20%",comparePlans:"요금제 비교",compareSubtitle:"각 요금제에 포함된 기능을 자세히 확인해 보세요.",usage:"사용량",usageSection:"사용량",features:"기능",featuresSection:"기능",freePricePerMonth:"$0 / 월",pricePerMonth:"{price} / 월",patternSelector:"패턴 선택기",patternTracker:"패턴 추적기",newsImpact:"뉴스 영향",scanResultLimit:"스캔 결과 제한",historicalData:"과거 데이터",webhook:"Webhook",patternExport:"패턴 내보내기",scansPerDay:"일일 {count}회 스캔",scansPerDayDefault:"일일 2회 스캔",patternsCount:"{count} 패턴",perDay:"일일 {count}회",perDayDefault:"일일 1회",tabsCount:"{count}개 탭",tabsCountDefault:"1개 탭",limited:"제한됨",historicalYears:"20년 이상",included:"✓",notIncluded:"—",planChangedSuccess:"{planTitle} 플랜으로 성공적으로 변경되었습니다!",subscriptionSuccess:"{planTitle} 구독이 완료되었습니다!",paymentSuccessful:"결제가 완료되었습니다!",planUpdated:"플랜이 업데이트되었습니다.",planUpdatedDescription:"플랜이 업데이트되었습니다. 새 기능을 바로 사용하실 수 있습니다.",subscriptionActive:"구독이 활성화되었습니다.",subscriptionActiveDescription:"{planTitle} 구독이 활성화되었습니다. 구매해 주셔서 감사합니다!",manageBillingInfo:"결제 정보 관리",continueToApp:"앱으로 계속",loadingPaymentDetails:"결제 정보를 불러오는 중...",paymentError:"결제 오류",noSessionId:"세션 ID가 없습니다",goToApp:"앱으로 이동",alreadySubscribedPlan:"이미 이 플랜을 구독 중입니다.",activeSubscriptionManage:"이미 활성 구독이 있습니다. 플랜 변경은 결제 관리에서 해주세요.",planChangeScheduled:"플랜 변경 예약됨",planChangeScheduledDesc:"다음 결제일에 {planTitle} 플랜으로 변경됩니다.",alreadyOnPlan:"이미 이 플랜을 사용 중입니다",changePlanFailed:"플랜 변경에 실패했습니다. 결제 관리를 이용해주세요.",alreadyActiveSubscription:"이미 활성 구독이 있습니다",noChangesMade:"변경된 내용이 없습니다",alreadyOnPlanDesc:"현재 {planTitle} 플랜을 사용 중입니다.",badgeFree:"무료",badgePopular:"인기",badgeBestDeal:"최고의 혜택",badgeMaximumAccess:"최대 이용 권한",freeForEveryone:"모두에게 무료",usdPerMonth:"USD/월",yearlyAmount:"{amount} USD / 년",monthlyAmount:"{amount} USD / 월",currentPlan:"현재 플랜",startForFree:"무료로 시작하기",getPlan:"{planTitle} 시작하기",switchToPlan:"{planTitle}로 전환",changePlanConfirmTitle:"플랜 변경 확인",changePlanConfirmDesc:"현재 {currentPlan} 플랜을 사용 중입니다. 새 가격 적용 시점을 선택해주세요.",changeNextBilling:"다음 결제일부터 변경",changeNow:"지금 변경",confirmNextBillingTitle:"다음 결제 변경 확인",confirmNextBillingDesc:"다음 결제일에 {planTitle} ({amount})으로 변경하시겠습니까? 현재 {currentPlan} 플랜은 그때까지 유지됩니다.",yesChangeNextBilling:"네, 다음 결제일부터 변경",continueToCheckout:"결제 계속하기",freeCheckoutDesc:"현재 무료 플랜입니다. {planTitle} 구독을 위해 결제를 진행해주세요.",continue:"계속",agreeRefundPolicy:"<link>환불 및 취소 정책</link>에 동의합니다.",everythingInPlan:"<plan></plan> 플랜의 모든 기능 포함",plans:{free:{title:"무료",subtitle:"탐색 및 체험",heading3:"개인 트레이더에게 적합"},standard:{title:"스탠다드",subtitle:"자신 있게 분석하기",heading3:"개인 트레이더에게 적합"},pro:{title:"프로",subtitle:"심층 분석",heading3:"팀 및 프로페셔널"},expert:{title:"엑스퍼트",subtitle:"제한 없이 분석하기",heading3:"전문 트레이더용"}},planFeatures:{categories:{candleScanner:"캔들 스캐너",candleSignal:"캔들 시그널"},labels:{patternSelector:"패턴 선택기",patternTracker:"패턴 추적기",newsImpact:"뉴스 영향",scanResultLimit:"스캔 결과 제한",activeTabs:"활성 탭",timeframes:"시간 프레임",webhook:"Webhook"},values:{scansPerDay:"하루 {count}회 스캔",patterns:"{count}",perDay:"{count}",tabsWorkspace:"{count} (워크스페이스)",enabled:"활성화됨",disabled:"비활성화됨"}}},pp={Connections:{connectedAccount:"연결된 계정",creditUsage:"크레딧 사용량",totalCreditsUsed:"총 사용 크레딧",resetsIn:"{duration} 후 초기화",understandingCredits:"크레딧 및 사용량 이해하기",nearLimit:"한도에 근접"},Subscription:{myPlan:"내 플랜",thanksForSubscribing:"구독해 주셔서 감사합니다!",billingHistory:"결제 내역",nextBillingDate:"다음 결제일",whichPlan:"어떤 플랜이 적합할까요?",patternSelectorCreditsPerDay:"패턴 선택기 크레딧 {count}개 / 일",patternTrackerCreditsPerDay:"패턴 추적기 크레딧 {count}개 / 일",newsImpactCreditsPerDay:"뉴스 영향 크레딧 {count}개 / 일",chatAssistantCreditsPerDay:"채팅 어시스턴트 크레딧 {count}개 / 일",prioritySupport:"우선 지원"},Billing:{noInvoices:"청구서가 없습니다.",loadError:"청구서를 불러오지 못했습니다. 다시 시도해주세요.",viewInvoice:"청구서 보기"}},mp={referralRebate:"추천 리베이트",referredUsers:"추천 사용자",totalRebateEarned:"총 적립 리베이트",referredUsersCount:"추천한 사용자",activeReferrals:"활성 추천",referralLink:"추천 링크",shareDescription:"친구와 추천 링크를 공유하세요. 친구가 구독하면 해당 플랜에 대한 리베이트를 받을 수 있습니다.",joinedDate:"가입 날짜",loading:"로딩 중...",noReferralCodeAvailable:"사용 가능한 추천 코드가 없습니다",updateReferralCodeTitle:"추천 코드 수정",createReferralCodeTitle:"추천 코드 생성",updateReferralCodeDescription:"아래에서 추천 코드를 수정하세요.",createReferralCodeDescription:"추천 링크 공유를 시작하려면 추천 코드를 입력하세요.",enterReferralCodePlaceholder:"추천 코드 입력",enterReferralCode:"추천 코드를 입력해주세요",codeCreatedSuccess:"추천 코드가 성공적으로 생성되었습니다",codeUpdatedSuccess:"추천 코드가 성공적으로 수정되었습니다",codeMinChars:"최소 5자 이상",codeMaxChars:"최대 15자",create:"생성",update:"수정",pageNumber:"{page}페이지",noReferredUsersYet:"아직 추천한 사용자가 없습니다",shareReferralEmptyDescription:"추천 링크를 공유하여 네트워크를 확장하고 리베이트를 적립하세요."},fp={mainMenu:{coreFeatures:"핵심 기능",account:"계정",subscription:"구독",communityGrowthProgram:"커뮤니티 성장 프로그램",support:"지원",others:"기타"},patternMenu:{trackedPatterns:{label:"내 추적 패턴",tooltipTitle:"AI가 감지한 높은 확률의 패턴 설정",tooltipDescription:"iC Candle은 24시간 365일 글로벌 시장을 추적하여 사용자가 설정한 패턴을 감지하고, 신뢰도 및 돌파 방향을 제공합니다. 필터를 사용해 최적의 패턴을 찾고, 패턴을 클릭하여 전체 세부 정보를 확인하세요."},classicPatterns:{label:"클래식 패턴",tooltipTitle:"클래식 패턴",tooltipDescription:"더블 탑, 헤드 앤 숄더, 플래그, 직사각형 등 관심 있는 패턴을 선택한 후 신호를 활성화하세요. 선택한 시장의 모든 가격 움직임을 지속적으로 모니터링하고 패턴이 완성되는 즉시 알려드립니다. Telegram, 이메일 또는 앱 내 알림으로 수신 방식을 설정하여 중요한 기회를 놓치지 마세요."}},helperBar:{watchList:"관심 목록",savedPatterns:"저장된 패턴",newsMovingMarket:"어떤 시장이 움직이고 있나요?",favoritesCount:"즐겨찾기 ({count})",groupWithCount:"{label} ({count})",noItemsInWatchList:"관심 목록에 항목이 없습니다",watchListLast:"현재가",watchListChg:"변동",watchListChgPercent:"변동%",removeFromFavorites:"즐겨찾기에서 제거",addToFavorites:"즐겨찾기에 추가",removeSymbolFromFavorites:"{symbol} 즐겨찾기에서 제거",addSymbolToFavorites:"{symbol} 즐겨찾기에 추가",groupCommodity:"원자재",groupForex:"외환",groupCrypto:"암호화폐",groupIndices:"지수",groupStock:"주식"},profileMenu:{darkTheme:"다크 테마",chatWithUs:"문의하기",termsAndConditions:"이용 약관",logOut:"로그아웃"},tabAdded:"탭이 추가되었습니다",tabMemoryWarning:"탭을 더 추가하면 기기의 메모리 사용량이 증가할 수 있습니다.",tabLimitReached:"탭 한도 도달",tabLimitReachedMax:"현재 플랜에서 허용된 최대 탭 수에 도달했습니다.",tabLimitReachedUpgrade:"현재 플랜에서 허용된 최대 탭 수에 도달했습니다. 더 많은 탭에 접근하려면 업그레이드해 주세요.",notifications:"알림",noNotifications:"알림이 없습니다",notificationsOfflineReconnect:"(오프라인) 알림을 다시 연결해 주세요",headerNav:{selectorTitle:"패턴 선택기",selectorShortTitle:"선택기",patternTitle:"패턴 추적기",patternShortTitle:"추적",newsTitle:"뉴스 영향",newsShortTitle:"뉴스"},guideFeatures:{selector:{title:"패턴 선택기",description:"과거 시장 데이터를 기반으로 사용자의 아이디어를 분석하여 유사한 가격 패턴과 결과를 찾아줍니다."},pattern:{title:"패턴 추적기",description:"백그라운드에서 지속적으로 시장을 스캔하고, 일치하는 패턴이 나타나면 알려드립니다."},news:{title:"뉴스 영향",description:"과거 뉴스 발표가 가격 움직임에 어떤 영향을 미쳤는지 보여주어, 이전에 시장이 어떻게 반응했는지 확인할 수 있습니다."}}},gp={mostSimilarNews:"가장 유사한 뉴스:",selectEvent:"이벤트 선택",economicCalendarAnalysis:"경제 캘린더 분석",economicCalendar:"경제 캘린더",predictAvailable:"예측 가능",predictUnavailable:"예측 불가",actualReleased:"실제 발표",analyzeImpact:"영향 분석",candleDataTooFar:"캔들 데이터가 이벤트 시점에서 너무 멀리 떨어져 있습니다.",tryAnotherTimeframe:"다른 시간 프레임을 시도해 주세요.",aiIntelligence:"AI 인텔리전스",matchPercent:"{percent}% 일치",whatHappenedOnNews:"이 뉴스에서 발생한 내용:",newsBeforeEvent:"이 {eventName} 이전 뉴스",time15MinLater:"15분 후",time30MinLater:"30분 후",time1HourLater:"1시간 후",time2HoursLater:"2시간 후",time4HoursLater:"4시간 후",noDataHere:"데이터가 없습니다",pleaseWaitAndRetry:"잠시 후 다시 시도해주세요",current:"현재",previousMonth:"이전 달",nextMonth:"다음 달",holiday:"공휴일",seeAll:"전체 보기",selectedSymbols:"선택한 심볼",marketNews:"시장 뉴스",patternType:"패턴 유형",unknownPublishDate:"게시일 알 수 없음",noMatchingArticleDetails:"일치하는 기사 상세 정보가 없습니다",model:"모델",temperature:"온도",temperatureLow:"낮음",temperatureMedium:"중간",temperatureHigh:"높음",previousActual:"이전 실제값",currentForecast:"현재 예측값",previousForecast:"이전 예상치",goToEventDetail:"이벤트 상세로 이동",eventInfoNotFound:"이벤트 정보를 찾을 수 없습니다",ppi:"생산자물가지수는 제조업자와 생산자가 판매하는 상품 및 서비스 가격 변동을 측정합니다.",cpi:"소비자물가지수는 소비자가 구매하는 상품과 서비스 가격 변동을 측정합니다.",coreCpi:"근원 CPI는 식품과 에너지를 제외한 소비자물가 변화를 측정하며, 중앙은행이 사용하는 핵심 인플레이션 지표입니다.",jolts:"구인 및 노동이동조사(JOLTS)는 미국 내 충원되지 않은 구인 공석을 측정합니다.",nfp:"비농업 고용지표는 농업 및 일부 부문을 제외한 미국 고용자 수 변화를 측정합니다.",ijc:"신규 실업수당 청구건수는 미국에서 처음으로 실업보험을 신청한 사람의 수를 측정하며 노동시장 상황을 나타냅니다.",fomc:"연방공개시장위원회(FOMC)는 금리를 결정하고 통화정책을 수행하는 미국 중앙은행 기구입니다.",fedRate:"연방준비제도(Fed) 금리 결정 발표는 기준 연방기금금리를 설정하며 통화정책과 금융시장에 영향을 미칩니다.",gdpAdvance:"국내총생산(GDP)은 한 경제에서 생산된 상품과 서비스의 총가치를 측정합니다. 속보 GDP는 최초 추정치 발표입니다.",gdpMonthly:"국내총생산(GDP)은 한 경제에서 생산된 상품과 서비스의 총가치를 측정합니다. 월간 발표는 단기 성장(예: 영국 GDP m/m)을 추적합니다.",unemploymentRate:"실업률은 노동력 중 실업 상태인 비율을 측정합니다.",ahe:"평균 시간당 임금은 농업 종사자를 제외한 근로자 임금의 전월 대비 변화를 측정합니다.",corePce:"근원 PCE 물가지수는 식품과 에너지를 제외한 개인소비지출의 전월 대비 변화를 측정하며, 연준이 선호하는 인플레이션 지표입니다.",retailSales:"소매판매는 소매 수준에서의 총 판매액의 전월 대비 변화를 측정합니다.",ismManufacturingPmi:"ISM 제조업 PMI는 설문 데이터를 기반으로 한 미국 제조업 경기 상태를 측정하며, 50 이상은 확장을 의미합니다.",ismServicesPmi:"ISM 서비스 PMI는 설문 데이터를 기반으로 한 미국 서비스업 경기 상태를 측정하며, 50 이상은 확장을 의미합니다.",gdpPrelim:"잠정 GDP는 분기 GDP 성장의 두 번째 추정치이며, 경제에서 생산된 상품과 서비스의 총가치를 측정합니다.",adpNfp:"ADP 비농업 고용변화는 ADP/무디스 설문 기반 민간부문 고용 변화를 측정하며, 공식 비농업 고용지표의 선행지표입니다.",eci:"고용비용지수(ECI)는 임금과 복리후생을 포함한 노동비용의 분기 변화를 측정하며, 연준이 주시하는 핵심 인플레이션 지표입니다.",flashManufacturingPmi:"속보 제조업 PMI는 설문 데이터를 기반으로 한 제조업 활동의 예비 추정치이며, 50 이상은 확장을 의미합니다.",flashServicesPmi:"속보 서비스 PMI는 설문 데이터를 기반으로 한 서비스업 활동의 예비 추정치이며, 50 이상은 확장을 의미합니다.",claimantCount:"영국 실업수당 청구자 수 변화는 실업 관련 급여를 신청한 사람의 월간 변화를 측정하며, 영국 노동시장의 핵심 지표입니다.",boeRate:"영란은행 기준금리는 통화정책위원회가 설정하는 금리로, 영국 통화정책과 파운드 시장을 안내합니다.",ecbMainRefinancingRate:"ECB 주요 재융자금리는 유럽중앙은행의 유동성 공급을 위한 핵심 정책금리로, 유로존 통화정책과 EUR 시장을 안내합니다.",snbPolicyRate:"스위스 중앙은행 정책금리는 SNB의 핵심 기준금리(SARON 기반 체계)로, 스위스 통화정책과 CHF 시장을 안내합니다.",cadEmploymentChange:"캐나다 고용변화는 캐나다 통계청 노동력 조사 기반 고용 인원의 월간 변화를 측정하며, 캐나다 노동시장과 CAD의 핵심 지표입니다."},yp={matchPercent:"일치 {percent}%",matchLabel:"일치",mismatch:"불일치",noResultsFound:"결과를 찾을 수 없습니다",result:"결과",filter:"필터",filterBy:"필터 기준",clearFilter:"필터 지우기",selectFilterType:"필터 유형 선택",matchPercentLabel:"일치율 %",selectSymbol:"심볼 선택",selectMatchPercent:"일치율 % 선택",selectDateRange:"기간 선택",dateLast1Month:"최근 1개월",dateLast6Months:"최근 6개월",dateLastYear:"최근 1년",dateLast3Years:"최근 3년",dateAllTime:"전체 기간",noDataFound:"데이터가 없습니다",runScanToSeePatternResults:"여기에서 패턴 결과를 스캔하여 확인하세요",scanAgainToPlay:"차트 재생을 위해 다시 스캔",scan:"스캔",activateSelector:"선택기 활성화",resetAfterDuration:"다음 이후 재설정: {duration}",markets:"시장",scannerOptions:"스캐너 옵션",saveOptions:"옵션 저장",searchSymbol:"심볼 검색",probabilityCalculation:"확률 계산",probabilityCalculationTooltip:"확률 계산에 사용되는 향후 캔들의 개수를 정의합니다.",period:"기간",periodTooltip:"스캔 결과의 기간을 정의합니다.",timeframeTooltip:"스캔 결과의 캔들 시간 프레임을 정의합니다.",topResultsTooltip:"스캔 결과의 개수를 정의합니다",auto:"자동",settings:"설정",collapseToolbar:"도구 모음 접기",expandToolbar:"도구 모음 펼치기",availableBars:"사용 가능한 봉: {count}",clearReplayFirst:"먼저 재생 차트를 지워주세요",trackPattern:"패턴 추적",selectAll:"전체 선택",searchTimeframe:"시간 프레임 검색",selectAllTimeframes:"모든 시간 프레임 선택",selectTimeframeAria:"시간 프레임 {label} 선택",selectSymbolAria:"심볼 {symbol} 선택",timeframeTypeMinutes:"분",searchFilterSaved:"검색 필터가 성공적으로 저장되었습니다.",periodAll:"전체",periodLastYear:"최근 1년",periodLast3Years:"최근 3년",periodLast5Years:"최근 5년",periodLast15Years:"최근 15년",topResults:"상위 결과",tabSymbols:"심볼",tabAdvancedOptions:"고급 옵션",tabBasic:"기본",tabAdvancedFilter:"고급 필터",priceMovementData:"가격 움직임 데이터:",askAssistantExplanation:"설명을 위해 어시스턴트에게 질문하기",selectCandleCount:"캔들 개수 선택",priceChanges:"가격 변동",candlesCount:"{count}개의 캔들",basedOnDirectionPatterns:'이 패턴 이후 "{direction}" 방향을 기준으로',noAiMovementData:"{direction} 방향에 대한 AI 가격 움직임 데이터가 없습니다"},bp={scannedAt:"스캔 시간:",trackerActivated:"추적기 활성화됨",match:"일치: {percent}%",result:"결과",windowSize:"윈도우 크기: {size}",patternSelectorHistory:"패턴 선택 기록",noFilter:"필터 없음",favorite:"즐겨찾기",windowSizeFilter:"윈도우 크기",windowSizePlaceholder:"윈도우 크기 (10-50)",submit:"제출"},vp={trackYourCustomPatterns:"사용자 지정 패턴 추적",selectedSymbol:"선택한 심볼",selectedSymbols:"선택한 심볼",timezone:"타임존",selectedTimeframes:"선택한 타임프레임",moreItems:"{count, plural, other {#개 더}}",selectedBars:"선택한 봉",barsCount:"{count}봉",timeFrame:"타임프레임",patternType:"패턴 유형",created:"생성일",editPattern:"패턴 편집",createNewTracker:"새 추적기 생성",firstYouHaveToScan:"먼저 스캔을 진행해야 합니다",goToScan:"스캔으로 이동",addToPatternTracker:"패턴 추적기에 추가",goToPatternTracker:"패턴 추적기로 이동",addToPatternTrackerDescription:"이 패턴이 나타나면 실시간 업데이트를 받게 됩니다. 이 알림을 쉽게 식별할 수 있도록 이름을 입력하세요.",patternName:"패턴 이름",patternNamePlaceholder:"이 패턴의 이름 입력",patternNameMinChars:"최소 5자 이상 입력해야 합니다.",patternNameMaxChars:"20자 제한에 도달했습니다.",patternNameErrorTitle:"패턴 이름 오류",patternNameErrorDescription:"패턴 신호 이름을 입력해주세요",customPatternSignalTooltip:"MARKET에서 패턴이 형성되면 사용자 지정 패턴 신호로 알림을 받게 됩니다",noPatternDataFound:"패턴 데이터를 찾을 수 없습니다",limitReached:"한도 도달",limitReachedTrackerDescription:"최대 패턴 추적기 수에 도달했습니다.",trackerUpgradeToastDescription:"현재 플랜에서 허용된 최대 신호 수에 도달했습니다. 더 많은 기능을 이용하려면 업그레이드해 주세요.",patternConfigUpdated:"패턴 설정 업데이트 완료",patternConfigUpdatedDesc:'패턴 설정 "{name}"이(가) 업데이트되었습니다',patternConfigError:"패턴 설정 오류",patternConfigErrorDesc:"패턴 설정 업데이트에 실패했습니다",patternSaved:"패턴 저장 완료",patternSavedDesc:'패턴 이름 "{name}"이(가) 저장되었습니다',patternSignalError:"패턴 신호 오류",patternSignalErrorDesc:"패턴 저장에 실패했습니다",trackerTutorialPlanLimitExpert:"현재 플랜의 패턴 추적 한도는 {limit}개입니다.",trackerTutorialPlanNoTracking:"현재 플랜에는 패턴 추적 기능이 포함되어 있지 않습니다. 상위 플랜으로 업그레이드하면 패턴을 추적기에 추가할 수 있습니다.",trackerTutorialPlanTrackingLimit:"현재 플랜에서는 최대 {limit}개의 패턴을 추적할 수 있습니다. 상위 플랜으로 업그레이드하면 더 많은 패턴을 추적할 수 있습니다.",currentPlan:"현재 플랜",planFree:"무료",configurePatternTracker:"패턴 추적기 설정",selectTimeframesAndSymbols:"이 패턴에 대해 모니터링할 시간 프레임과 심볼을 선택하세요.",selectTimeframes:"시간 프레임 선택",chooseTimeframes:"이 패턴에 대해 모니터링할 시간 프레임을 선택하세요.",searchTimeframes:"시간 프레임 검색",timeframeSelected:"{count}개 시간 프레임 선택됨",timeframesSelected:"{count}개 시간 프레임 선택됨",symbolSelected:"{count}개 심볼 선택됨",symbolsSelected:"{count}개 심볼 선택됨",patternSelected:"{count}개 패턴",patternsSelected:"{count}개 패턴",patternTypes:"패턴 유형",patternSubscribed:"패턴 구독 완료",patternSubscribedDesc:'패턴 "{name}" 추적이 시작되었습니다',patternSubscriptionError:"패턴 구독 오류",subscriptionModalAria:"패턴 추적기 구독",noPatternCandles:"패턴 캔들을 찾을 수 없습니다",chartSymbolRequired:"차트 심볼은 필수입니다",userIdRequired:"사용자 ID는 필수입니다",subscribe:"구독",subscribing:"구독 중...",tabTimeShort:"시간",signalDialog:{title:"신호 설정 - {patternTitle}",successDescription:"신호 설정이 성공적으로 업데이트되었습니다",selectOneTimeframe:"최소 하나의 시간 프레임을 선택해 주세요",selectOneSymbol:"최소 하나의 심볼을 선택해 주세요",selectOneTimeframeAndSymbol:"최소 하나의 시간 프레임과 하나의 심볼을 선택해 주세요",selectCurrencyPairs:"통화쌍",chooseCurrencyPairs:"이 패턴에 대해 모니터링할 통화쌍을 선택하세요",searchCurrencyPairs:"통화쌍 검색"},noMatchesFound:"일치하는 결과가 없습니다",filterCategoryPattern:"패턴",filterCategorySymbol:"심볼",filterCategoryTimeframe:"타임프레임",selectCategory:"카테고리 선택",searchCategory:"{category} 검색...",timeframeOptions:{M15:{displayName:"15분",description:"15분 시간 프레임"},M30:{displayName:"30분",description:"30분 시간 프레임"},H1:{displayName:"1시간",description:"1시간 시간 프레임"},H2:{displayName:"2시간",description:"2시간 시간 프레임"},H4:{displayName:"4시간",description:"4시간 시간 프레임"},D:{displayName:"1일",description:"일봉 시간 프레임"}}},wp={priceActionPattern:"가격 움직임 패턴",labels:{flagbear:"약세 깃발",flagbull:"강세 깃발",dd_top:"이중 천정",dd_bot:"이중 바닥",aad_up:"AAD 상승",aad_down:"AAD 하락",has_bull:"강세 헤드앤숄더",has_bear:"약세 헤드앤숄더",rectangle:"직사각형"},timeframes:{M1:"1분",M5:"5분",M15:"15분",M30:"30분",H1:"1시간",H2:"2시간",H4:"4시간",D1:"일봉"},patterns:{doubleBottom:{desc:'<div><p>이 패턴은 가격이 동일한 수준을 두 번 테스트하고 돌파하지 못할 때 형성됩니다.</p><ul style="list-style-type: disc; margin-left: 20px; margin-top: 10px;"><li>이는 시장이 한 방향으로의 모멘텀을 잃고 있음을 나타냅니다.</li><li>범위를 벗어난 돌파는 일반적으로 추세 반전이 다가오고 있음을 신호합니다.</li></ul></div>'},doubleTop:{desc:'<div><p>이 패턴은 가격이 동일한 수준을 두 번 테스트하고 돌파하지 못할 때 형성됩니다.</p><ul style="list-style-type: disc; margin-left: 20px; margin-top: 10px;"><li>이는 시장이 한 방향으로의 모멘텀을 잃고 있음을 나타냅니다.</li><li>범위를 벗어난 돌파는 일반적으로 추세 반전이 다가오고 있음을 신호합니다.</li></ul></div>'},bullishFlag:{desc:'<div><p>강한 움직임(상승 또는 하락) 이후 나타나는 짧은 조정 또는 횡보 구간입니다.</p><ul style="list-style-type: disc; margin-left: 20px; margin-top: 10px;"><li>가격은 추세와 반대 방향으로 기울어진 작은 채널 내에서 움직입니다.</li><li>플래그를 돌파하면 기존 추세가 같은 방향으로 계속되는 경우가 많습니다.</li></ul></div>'},bearishFlag:{desc:'<div><p>강한 움직임(상승 또는 하락) 이후 나타나는 짧은 조정 또는 횡보 구간입니다.</p><ul style="list-style-type: disc; margin-left: 20px; margin-top: 10px;"><li>가격은 추세와 반대 방향으로 기울어진 작은 채널 내에서 움직입니다.</li><li>플래그를 돌파하면 기존 추세가 같은 방향으로 계속되는 경우가 많습니다.</li></ul></div>'},bullishHeadShoulders:{desc:'<div><p>이 패턴은 시장의 힘이 변화하고 있음을 보여주며 추세 반전 가능성을 나타냅니다.</p><ul style="list-style-type: disc; margin-left: 20px; margin-top: 10px;"><li>세 부분으로 구성되며, 하나의 큰 움직임("헤드")과 두 개의 작은 움직임("숄더")으로 이루어집니다.</li><li>패턴이 완성되면 가격은 이전 추세와 반대 방향으로 돌파하여 움직이는 경우가 많습니다.</li></ul></div>'},bearishHeadShoulders:{desc:'<div><p>이 패턴은 시장의 힘이 변화하고 있음을 보여주며 추세 반전 가능성을 나타냅니다.</p><ul style="list-style-type: disc; margin-left: 20px; margin-top: 10px;"><li>세 부분으로 구성되며, 하나의 큰 움직임("헤드")과 두 개의 작은 움직임("숄더")으로 이루어집니다.</li><li>패턴이 완성되면 가격은 이전 추세와 반대 방향으로 돌파하여 움직이는 경우가 많습니다.</li></ul></div>'}}},xp={chartPatterns:"차트 패턴에는 무엇이 있는가?",flagPattern:"깃발 패턴을 효과적으로 어떻게 거래하는가?",rectanglePattern:"직사각형 패턴에서 주목해야 할 핵심 특징은 무엇인가?"},Pp={pip:"핍이란 무엇인가?",majorCurrencyPairs:"거래할 주요 통화쌍은 무엇인가?",lotSize:"로트 크기란 무엇인가?",leverage:"레버리지란 무엇인가?",margin:"마진이란 무엇인가?",bullishFlagTrack:"모든 심볼과 시간대에서 강세 플래그 패턴 추적"},Sp={cpi:"CPI란 무엇이며 시장에 어떤 영향을 미치는가?",nfp:"NFP란 무엇이며 시장에 어떤 영향을 미치는가?",eurImpactfulNews:"USD 시장에서 가장 영향력 있는 뉴스는 무엇인가?"},Tp="lang",kp="프로필",Cp={statistics:{tradersReport:"10명 중 7명의 트레이더가 거래 의사결정의 일관성이 향상되었다고 보고했습니다.",satisfactionRate:"베타 테스터의 96%가 만족했으며, “마치 옆에 두뇌가 하나 더 있는 것처럼 거래하는 느낌입니다.”라고 말했습니다.",usersChanged:"80% 이상의 사용자가 iC Candle이 시장 분석 방식을 바꾸었다고 말합니다.",lessTimeWatching:"패턴 알림 덕분에 사용자는 차트를 지켜보는 시간을 평균 40% 줄였습니다.",heading:"이미 수천 명의 트레이더들이 시장을 바라보는 방식을 변화시켰습니다."},feedback:{marketHistory:`시장 히스토리가 내 트레이딩을 이끈다: 과거 시장 반응을 활용한 트레이딩이 이제는 나의 새로운 스타일이 되었다. 내가 얻는 가치와 구독료를 비교하면? 비교 자체가 불가능하다. A. Lee
33
+ 암호화폐 분석가 (싱가포르)`,tradersChatGPT:`트레이더를 위한 ChatGPT: 나는 일상생활의 거의 모든 것에 ChatGPT를 사용한다. 얼마나 삶을 쉽게 만드는지는 모두가 알고 있다. 그리고 솔직히 말하면… 나는 트레이더를 위한 ChatGPT 버전을 찾은 것 같다. M. Ganbaatar
34
+ 프랍 트레이더 (iTrader)`,backtesting:`차원이 다른 백테스팅 느낌: iC Candle의 백테스팅은 정말 게임 체인저다. 이제 모든 것이 훨씬 빠르고 명확해졌다. 완전히 빠져버렸다. 이 정도라면 어떤 액티브 트레이더도 이 도구 없이 일하기는 어렵다. B. Enkhbayar
35
+ 외환 트레이더 (몽골)`,confirmsSetup:`내 매매 전략을 확인해준다: 드디어 내 분석이 진짜로 맞는지 증명해주는 도구를 찾았다. iC Candle을 사용하기 시작한 이후로 트레이딩에서의 망설임이 약 80% 줄었다. 이제 훨씬 더 자신감이 생겼다. S. Kimura
36
+ 스윙 트레이더 (일본)`,backtestingTitle:"차원이 다른 백테스팅 느낌",backtestingDesc:`iC Candle의 백테스팅은 정말 게임 체인저다. 이제 모든 것이 훨씬 빠르고 명확해졌다. 완전히 빠져버렸다. 이 정도라면 어떤 액티브 트레이더도 이 도구 없이 일하기는 어렵다. B. Enkhbayar
37
+ 외환 트레이더 (몽골)`,confirmsTitle:"내 매매 전략을 확인해준다",confirmsDesc:`드디어 내 분석이 진짜로 맞는지 증명해주는 도구를 찾았다. iC Candle을 사용하기 시작한 이후로 트레이딩에서의 망설임이 약 80% 줄었다. 이제 훨씬 더 자신감이 생겼다. S. Kimura
38
+ 스윙 트레이더 (일본)`,marketHistoryTitle:"시장 히스토리가 내 트레이딩을 이끈다",marketHistoryDesc:`과거 시장 반응을 활용한 트레이딩이 이제는 나의 새로운 스타일이 되었다. 내가 얻는 가치와 구독료를 비교하면? 비교 자체가 불가능하다. A. Lee
39
+ 암호화폐 분석가 (싱가포르)`,chatGPTTitle:"트레이더를 위한 ChatGPT",chatGPTDesc:`나는 일상생활의 거의 모든 것에 ChatGPT를 사용한다. 얼마나 삶을 쉽게 만드는지는 모두가 알고 있다. 그리고 솔직히 말하면… 나는 트레이더를 위한 ChatGPT 버전을 찾은 것 같다. M. Ganbaatar
40
+ 프랍 트레이더 (iTrader)`},tags:{all:"전체",blog:"Blog",crypto:"Crypto",event:"Event",pairs:"Pairs"}},Ap={title:"페이지를 찾을 수 없습니다",description:"찾고 있는 페이지가 존재하지 않거나 이동되었습니다",backToHomepage:"홈페이지로 돌아가기",imageAlt:"페이지를 찾을 수 없습니다"},Np=JSON.parse(`{"Page":{"title":{"terms":"서비스 이용약관","privacy":"개인정보 처리방침","refund":"환불 및 취소 정책","cookie":"쿠키 정책"},"tabs":{"terms":"서비스 이용약관","privacy":"개인정보 처리방침","refund":"환불 및 취소 정책","cookie":"쿠키 정책"},"nav":{"terms":"서비스 이용약관","privacy":"개인정보 처리방침","refund":"환불 및 취소 정책","cookie":"쿠키 정책"}},"Terms":{"title":"서비스 약관, TOS, 약관, 조건, 면책조항, 계약, 합의","intro":{"p1":"This agreement is made between Pixel Nexus Global, a Singaporean Limited Liability company operating as www.iccandle.ai (“Pixel Nexus Global,” “we,” “us,” or “our”), and the individual or entity purchasing or utilizing services offered through the Platform (“Customer,” “you,” or “your”). If you are acquiring the Services on behalf of a third party, you confirm that you have the legal authority to bind that party to these Terms of Service and will be liable for their use of the Services.","p2":"By accessing the Platform and Services outlined in this document and promoted on www.iccandle.ai, or by subscribing to services via the iccandle.ai website, you acknowledge that you have read, understood, and agreed to these Terms, Conditions, and Disclaimers. You further agree that your relationship with us is governed by the provisions set forth in this TOS.","p2Emphasis":"If you do not accept these terms, you must discontinue all use of iccandle.ai and any associated services or Platforms immediately."},"sections":[{"title":"1. The Services","paragraphs":["Pixel Nexus Global will provide active customers in good standing with access to its AI-powered analytical tool (the “Platform”). As used in this Agreement, the term “Services” refers to Pixel Nexus Global’s provision of your access to the Platform. The Services will be provided to you under one or more subscriptions, account activations, sign-ups, or orders placed by you on the iccandle.ai website and accepted by Pixel Nexus Global (an “Order”).","In case of any conflict between these TOS and an Order, the terms of these TOS shall take precedence. By accepting the Services, you acknowledge and agree that any different or additional terms proposed by you in an Order or otherwise are expressly rejected by Pixel Nexus Global, unless we have agreed to such terms in a written document signed by an authorized representative."]},{"title":"2. Your Obligations","subsections":[{"title":"Customer Information and Account Responsibilities","paragraphs":["You agree to provide Pixel Nexus Global with accurate information when creating your account, throughout our business relationship, and in all correspondence with us. We may occasionally need to contact you via email or telephone regarding the Services. You agree to maintain a valid email address that you check daily and to promptly notify us of any changes to your contact information.","Pixel Nexus Global shall not be responsible for any service interruptions, damages, or consequences resulting from misdirected communications due to your failure to provide current contact details. You also agree to complete all data entitlement surveys within the platform completely and truthfully to maintain compliance with exchange regulations."]},{"title":"Permitted Use of Platform","paragraphs":["Your use of the Platform must comply with these TOS and any accompanying documentation we provide. If you permit third parties to access the Platform, you agree to: (i) restrict their use in accordance with these terms; (ii) ensure their compliance with these TOS and our Privacy Policy; and (iii) remain fully liable for any violations of these TOS or the Privacy Policy by such third parties."]},{"title":"Intellectual Property and Legal Compliance","paragraphs":["You agree not to alter, obscure, or remove any trademark or proprietary notices. You may only use the Platform in accordance with: (i) the laws governing these TOS; and (ii) all applicable laws in your jurisdiction.","Unauthorized use is strictly prohibited."]}]},{"title":"3. Term","subsections":[{"title":"Effective Date and Term Duration","paragraphs":["These Terms of Service (TOS) become effective (\\"Effective Date\\") on the earlier of: (i) the date you click \\"I accept\\" as recorded by our servers; or (ii) the date you first access or use the Platform.","These TOS remain in effect for the duration of any active Order."]},{"title":"Subscription Terms and Renewals","paragraphs":["The Services will automatically renew for successive periods (monthly, quarterly, or annually) as specified in your Order. If unspecified, the default initial subscription period (\\"Initial Term\\") is one month. Subsequent renewal periods (\\"Renewal Terms\\") will match the Initial Term’s duration."]},{"title":"Trial Period Terms","paragraphs":["Pixel Nexus Global may offer trial periods (paid or free) as indicated on the iccandle.ai trial signup page. During any trial period:"],"listOrdered":["All terms and conditions of this agreement apply as if you were a paid subscriber","You may cancel at any time during the trial to prevent automatic renewal","Trial terms and conditions are subject to change without notice"]},{"title":"Subscription Management Responsibility","paragraphs":["You are solely responsible for managing your subscription, including:"],"listDisc":["Monitoring renewal dates","Updating payment information","Initiating cancellations","Maintaining current contact information"],"paragraphsAfter":["Pixel Nexus Global is not responsible for any charges due to failure to manage your subscription."]}]},{"title":"4. Termination","subsections":[{"title":"Cancellation and Termination Policy","paragraphs":["Details about cancellation and refund policies are available on our Refund and Cancellation Policy page at iccandle.ai. Terminating your account disables automatic renewals but does not cancel past invoices or make prior payments refundable unless stated otherwise in our Refund and Cancellation Policy.","Any currently due invoices must be paid in full to settle your account. Your access to Pixel Nexus Global services will continue until the expiration of your prepaid period or trial term."]},{"title":"Termination for Convenience","paragraphs":["Either party may terminate any Order by providing written notice at least one (1) day before the expiration of the Initial Term or any Renewal Term. For purposes of this provision, “written notice” includes communication through email, live chat, telephone, or via the Online Portal, indicating a desire not to continue service with Pixel Nexus Global in the future."]},{"title":"Termination for Policy Violations","paragraphs":["Pixel Nexus Global reserve the right to immediately suspend Services and/or terminate any Order in cases of violation of these TOS, breach of our Privacy Policy, or use of Services in a manner contrary to law or generally accepted internet standards. Such termination may occur without prior notice, dispute resolution process, or refund of any fees."]},{"title":"Effect of Termination","paragraphs":["The expiration or termination of any Order does not affect any rights or obligations that either (i) came into effect upon or after such expiration/termination, or (ii) survive the termination and were incurred by the parties prior to termination. Upon termination, you must promptly settle any outstanding balance. Pixel Nexus Global is not obligated to return any paid fees for terminations occurring prior to completion of a full term, except as may be expressly provided in our Refund and Cancellation Policy.","All termination matters are governed by the complete terms set forth in this agreement, and Pixel Nexus Global maintains full discretion in enforcing these provisions."]}]},{"title":"5. License Grant and Restrictions","paragraphs":["Pixel Nexus Global grants you a limited, revocable, non-exclusive, non-transferable, worldwide license to utilize our proprietary technology (\\"Pixel Nexus Technology\\") solely for accessing and employing our analytical engines as part of the Services, including any generated reports (\\"Reports\\"). This license is restricted to your account's registered users and automatically terminates upon expiration or termination of these TOS.","No rights beyond this limited license are conferred. All ownership rights in the Pixel Nexus Technology remain exclusively with Pixel Nexus Global or its licensors. You are expressly prohibited from: transferring, leasing, lending, sublicensing, reselling, or distributing the technology; using it for timesharing or service bureau purposes; or permitting unauthorized third-party access. You may not circumvent any protective measures safeguarding our proprietary interests, nor modify, reproduce, decompile, reverse engineer, or create derivative works from the Pixel Nexus Technology or Platform components. Upon termination, you must immediately cease using and permanently delete all Pixel Nexus Technology in your possession, ensuring any third parties with access do likewise."],"subsections":[{"title":"Ownership Rights","paragraphs":["Pixel Nexus Global retains all rights, title, and interest in the Pixel Nexus Technology and Platform, including but not limited to all derivative works, improvements, enhancements, and associated intellectual property rights such as trademarks and copyrights."]},{"title":"Feedback Provisions","paragraphs":["You may voluntarily provide, or we may solicit, input regarding the Platform or Services (\\"Feedback\\"), including suggestions for modifications or improvements. You acknowledge such Feedback constitutes Pixel Nexus Global's confidential proprietary information and irrevocably assign all related rights and interests to us. Pixel Nexus Global may utilize Feedback for any purpose without limitation or compensation obligation. This assignment applies globally and survives termination of these TOS.","All rights not expressly granted herein are reserved by Pixel Nexus Global. Any unauthorized use constitutes breach of these TOS and may result in immediate termination of your access rights."]}]},{"title":"6. Data Usage and Intellectual Property Rights","paragraphs":["Pixel Nexus Global may utilize information you provide or data collected from your use of the Platform and Services (\\"Operational Information\\") to deliver technical support and facilitate the implementation, operation, and administration of the Services. By using our Services, you grant us a perpetual, irrevocable license to process and analyze this Operational Information. We may combine this data with aggregate information from our general business operations to enhance existing Services or develop new products and offerings.","Pixel Nexus Global shall retain exclusive ownership of all intellectual property derived from such analysis and improvements. You hereby irrevocably waive any potential rights to this intellectual property and assign all rights, title, and interest therein to Pixel Nexus Global. You further agree to provide reasonable cooperation in securing and protecting these rights. We reserve the right to commercialize this Operational Information through sale, monetization, or incorporation into other products and services, without obligation to compensate you or grant you any ownership interest.","This license shall terminate upon expiration or cancellation of these Terms of Service, except with respect to historical data that has been aggregated and anonymized such that it cannot be identified as originating from your organization. Pixel Nexus Global may retain and continue to use such anonymized, aggregated data indefinitely for any lawful business purpose.","All intellectual property rights not expressly granted herein remain the exclusive property of Pixel Nexus Global. Your continued use of the Services constitutes acceptance of these terms regarding data usage and intellectual property rights."]},{"title":"7. Accuracy of Information Disclaimer","paragraphs":["Pixel Nexus Global relies on third-party data feeds to power its platform and therefore cannot guarantee the absolute accuracy of the information displayed. Different features within our system (such as scanners, automated analysis tools, charting functions, and back testing capabilities) may utilize separate data providers, which can result in variances between datasets across different platform features. Users should always verify analysis results and scanner conditions to ensure data consistency.","The platform's analytical outputs are inherently dependent on the quality of underlying third-party data, and Pixel Nexus Global makes no representations or warranties regarding the accuracy of these analyses. The iccandle.ai website, Services, and Platform are designed solely for informational and research purposes - they should never serve as the sole basis for investment decisions. Pixel Nexus Global disclaims all liability for any financial losses resulting from reliance on potentially inaccurate data or analysis within the Platform.","The Pixel Nexus Global system is provided strictly on an \\"as-is\\" basis without guarantees or warranties of any kind, as its functionality depends on unverified third- party data sources. The platform is intended exclusively for educational, entertainment, and general informational use - not as professional financial advice or a substitute for independent investment research. Users assume all risk associated with interpreting and acting upon any information displayed within the system.","By accessing and using the Platform, you acknowledge these inherent limitations and agree that Pixel Nexus Global shall not be held responsible for any consequences arising from data inaccuracies, analysis errors, or investment decisions made based on platform content."]},{"title":"8. Disclaimer of Investment Advice and Platform Limitations","paragraphs":["The analytical tools and outputs provided by Pixel Nexus Global's iccandle.ai platform are strictly for informational and research purposes only and should not be construed as investment advice. The platform relies on third-party data sources that may contain inaccuracies, and different features may produce varying results due to separate data providers. All analysis, including results from our Pattern Selector, Pattern Tracker, and News Impact Intelligence, is provided \\"AS-IS\\" without any guarantees of accuracy. These tools demonstrate historical patterns, probabilities, and market behavior under past conditions and cannot predict future results, as actual market outcomes may differ due to liquidity, execution, and other variables. You must never rely solely on platform analysis when making investment decisions."]},{"title":"9. Risk Acknowledgement and User Responsibility","paragraphs":["By using Pixel Nexus Global's platform (iccandle.ai), you expressly acknowledge and accept full responsibility for all risks associated with any investment decisions made based on information or analysis obtained from our Platform. You understand that our services rely on third-party data sources that may contain inaccuracies, and that our analytical models employ mathematical formulas and sequences that have not been independently verified for predictive accuracy. Pixel Nexus Global cannot and does not guarantee the reliability of any market data, technical indicators, or analytical outputs generated by the Platform.","Prior to executing any trades, you agree to either: (i) consult with a qualified, licensed financial professional; or (ii) conduct comprehensive independent research using multiple verified information sources.","Pixel Nexus Global expressly disclaims all liability for any trading losses, missed opportunities, or other financial consequences resulting from your reliance on Platform content. By continuing to use iccandle.ai, you confirm your understanding that our tools are designed for informational purposes only and that you alone bear complete responsibility for all investment choices and outcomes. This warning constitutes an essential term of our agreement, and your use of the Platform signifies your unconditional acceptance of these risk disclosures."]},{"title":"10. Disclaimer of Warranties and Service Limitations","paragraphs":["The Pixel Nexus Global platform (iccandle.ai), including all Services, scripts, reports, analytical engines, and related technology, is provided strictly on an \\"AS-IS\\" and \\"AS- AVAILABLE\\" basis. Pixel Nexus Global makes no representations or warranties of any kind, whether express or implied. This includes, but is not limited to, all implied warranties of non-infringement, merchantability, fitness for a particular purpose, accuracy, quality, or achievement of specific results. No warranties arise from any course of dealing, performance, or trade usage.","Pixel Nexus Global does not guarantee that the Service will meet your requirements, operate without interruption, remain error-free, or be secure from viruses or other harmful components. Compatibility with all websites or browsers is not assured, and Pixel Nexus Global disclaims all liability for issues arising from browser incompatibility or third-party services, even if such services appear integrated with our Platform. Any data transmitted via our Services remains your sole responsibility, and Pixel Nexus Global expressly disclaims liability for such content. No warranties provided by third- party vendors to Pixel Nexus Global extend to you, and you are not a third-party beneficiary of such agreements."],"subsections":[{"title":"Alert Features and Beta Functionality","paragraphs":["The Platform includes alert features (e.g., \\"Dynamic Price Alerts\\" and \\"Multi-Factor Alerts\\"), which are provided without warranty or guarantee of reliability. Technical delays or failures may occur due to cellular networks, email services, system errors, or other factors. You acknowledge that alerts may not function as intended and agree that Pixel Nexus Global bears no liability for trading losses resulting from reliance on these features, regardless of whether they were used correctly.","Certain features labeled as 'Beta' are under active development and may exhibit unstable or unreliable performance, including inconsistent data or incorrect information due to software bugs or programming errors. These Beta features carry additional risks and should be used with extreme caution."]},{"title":"General Provisions","paragraphs":["This warranty disclaimer applies to all oral or written information provided by Pixel Nexus Global, its employees, affiliates, or third-party vendors. You may not rely on any such statements or representations.","Some jurisdictions may not permit the exclusion of certain warranties. If applicable to you, any warranty claim must be filed within ninety (90) days of the Service provision that gave rise to the claim. Failure to submit a claim within this period constitutes an irrevocable waiver of your right to pursue such claims thereafter.","Third-party websites linked through the Pixel Nexus Global platform are not under our control, and we assume no responsibility for their content or functionality. Accessing these external sites is entirely at your own risk. Such links are provided for convenience only and do not constitute an endorsement or recommendation by Pixel Nexus Global.","By using the Platform, you acknowledge and accept these limitations and disclaimers in full."]}]},{"title":"11. Limitation of Liability","paragraphs":["Pixel Nexus Global's total liability under this Agreement shall not exceed the aggregate fees actually paid by you to Pixel Nexus Global during the one (1) month period immediately preceding the event giving rise to such liability. For purposes of this limitation, \\"Pixel Nexus Global\\" includes its employees, agents, owners, directors, officers, affiliates, and any third-party service providers facilitating the Services.","To the maximum extent permitted by law, you agree that under no circumstances - including negligence - shall Pixel Nexus Global or its licensors, agents, employees, officers, or third-party vendors be liable for any indirect, incidental, special, consequential, or punitive damages. This exclusion applies to, but is not limited to, damages for:"],"listOrdered":["Lost profits or revenue","Business interruption","Data loss or corruption","Lost savings","Any other financial losses incurred by you, end users, or third parties"],"paragraphsAfter":["These limitations apply regardless of whether the action arises in contract, tort (including negligence), or any other legal theory, and shall remain in effect even if Pixel Nexus Global has been advised of the possibility of such damages. While some jurisdictions may not allow limitations on certain liabilities, you agree that, where such restrictions apply, Pixel Nexus Global's liability shall be limited to the maximum extent permitted by applicable law.","This limitation of liability constitutes an essential basis of the bargain between you and Pixel Nexus Global and shall survive termination of this Agreement. By using the Services, you acknowledge that these limitations are reasonable and reflect the risk allocation between both parties."]},{"title":"12. Notices","paragraphs":["All official notices will be sent to your account’s listed contact information. You are responsible for maintaining current and accurate contact details in our records at all times.","For most inquiries, including technical support and billing matters, please visit our website at www.iccandle.ai for contact information and support options.","However, any legal notices regarding these Terms of Service or other Pixel Nexus Global policies must be sent exclusively via postal mail to our designated address:"],"address":{"company":"Pixel Nexus Global PTE. LTD.","lines":["160 Robinson Road, #14-04","Singapore Business Federation Center","Singapore 068914"]}},{"title":"13. Force Majeure","paragraphs":["Neither party shall be liable for any failure or delay in performance (except for payment obligations) due to events beyond their reasonable control, including, but not limited to, acts of God, natural disasters, war, civil unrest, epidemics, labor disputes, utility failures, telecommunication outages, supply chain disruptions, government actions, or other unforeseeable catastrophic events; provided that: (i) the affected party notifies the other in writing within ten (10) days of the event’s commencement; (ii) all payment obligations remain unaffected; (iii) the time for performance shall be extended day-for-day to match the duration of the disruption; and (iv) both parties use commercially reasonable efforts to mitigate the impact.","It is understood that this clause does not permit termination of the Agreement solely due to force majeure conditions, nor does it extend the Agreement term beyond its original expiration date without mutual written agreement."]},{"title":"14. No Waiver","paragraphs":["No failure or delay by Pixel Nexus Global in exercising any right under these Terms shall operate as a waiver of that right, nor shall any single or partial exercise of any right preclude the further or full exercise of that right or any other right under these Terms."]},{"title":"15. Assignment","paragraphs":["Pixel Nexus Global may assign these Terms, or any rights hereunder, without your consent. You may not assign these Terms without our prior written approval. These Terms shall be binding upon, and inure to the benefit of, the parties' respective successors and permitted assigns."]},{"title":"16. Severability","paragraphs":["If any provision of these Terms is held to be invalid or unenforceable by a court of competent jurisdiction, that provision shall be modified to the minimum extent necessary to make it valid and enforceable while preserving its original intent. All other provisions shall remain in full force and effect."]},{"title":"17. No Agency","paragraphs":["Nothing in these Terms creates an agency, partnership, joint venture or employment relationship between the parties. Neither party has authority to bind the other or incur obligations on the other's behalf."]},{"title":"18. Privacy & Conflicts","paragraphs":["Our Privacy Policy is incorporated herein by reference. In the event of a conflict between agreements: (i) these Terms prevail over the Privacy Policy; (ii) any separate service agreement shall prevail over conflicting provisions of these Terms, but only with respect to those specific provisions; and (iii) in all other cases, these Terms shall govern."]},{"title":"19. Jurisdiction and Disclaimer","paragraphs":["The services and information provided on iccandle.ai are not intended for use in jurisdictions where such services would be contrary to local laws or regulations. Access to and use of this website are strictly prohibited for citizens of the following jurisdictions: United States of America, Canada, Russian Federation, Iran, North Korea, Myanmar, Syria, Cuba, Crimea, Donetsk, and Luhansk regions of Ukraine, Afghanistan, Belarus, and Venezuela. This list may be updated at any time without prior notice. Users are solely responsible for ensuring that their access to and use of this website comply with all applicable laws and regulations in their country. iccandle.ai accepts no responsibility or liability for any non-compliance by users with their local regulatory requirements and reserves the right to restrict, block, or terminate access at its sole discretion."]}],"content":"서비스 약관, TOS, 약관, 조건, 면책조항, 계약, 합의\\n\\n본 계약은 싱가포르 유한책임회사이며 www.iccandle.ai로 운영되는 Pixel Nexus Global(이하 “Pixel Nexus Global”, “당사”, “우리”)과 플랫폼을 통해 제공되는 서비스를 구매하거나 이용하는 개인 또는 법인(이하 “고객”, “귀하”) 간에 체결됩니다. 귀하가 제3자를 대신하여 서비스를 구매하는 경우, 귀하는 해당 제3자를 본 서비스 약관에 구속할 법적 권한이 있음을 확인하며 해당 제3자의 서비스 이용에 대해 책임을 집니다.\\n\\n귀하는 www.iccandle.ai에 게시되거나 iccandle.ai 웹사이트를 통해 제공되는 서비스 및 플랫폼에 접근하거나 구독함으로써 본 약관, 조건 및 면책조항을 읽고 이해했으며 이에 동의했음을 인정합니다. 또한 귀하는 당사와의 관계가 본 TOS에 규정된 조항에 의해 규율됨에 동의합니다. 본 약관에 동의하지 않는 경우 즉시 iccandle.ai 및 관련 서비스/플랫폼의 사용을 중단해야 합니다.\\n\\n1. 서비스\\n\\nPixel Nexus Global은 정상적으로 계정을 유지하는 고객에게 AI 기반 분석 도구(이하 “플랫폼”)에 대한 접근 권한을 제공합니다. 본 계약에서 “서비스”란 Pixel Nexus Global이 제공하는 플랫폼 접근 권한을 의미합니다. 서비스는 iccandle.ai 웹사이트에서 귀하가 신청하고 Pixel Nexus Global이 승인한 구독, 계정 활성화, 주문(이하 “주문”)을 통해 제공됩니다.\\n\\n본 TOS와 주문 간 충돌이 발생하는 경우 본 TOS가 우선합니다. 귀하는 서비스를 수락함으로써 주문 또는 기타 방식으로 제안된 추가/상이한 조건이 Pixel Nexus Global에 의해 명시적으로 거부됨에 동의하며, 단 당사가 서면으로 동의한 경우는 예외입니다.\\n\\n2. 귀하의 의무\\n고객 정보 및 계정 책임\\n\\n귀하는 계정 생성 시, 거래 관계 전반 및 모든 커뮤니케이션에서 정확한 정보를 제공해야 합니다. 당사는 서비스 관련하여 이메일 또는 전화로 연락할 수 있으며, 귀하는 유효한 이메일 주소를 유지하고 매일 확인해야 합니다. 연락처 변경 시 즉시 통지해야 합니다.\\n\\nPixel Nexus Global은 귀하의 연락처 정보 미제공으로 인한 서비스 오류, 손해 또는 문제에 대해 책임지지 않습니다. 또한 귀하는 플랫폼 내 데이터 관련 설문을 완전하고 정확하게 작성해야 합니다.\\n\\n플랫폼 사용 허용 범위\\n\\n플랫폼 사용은 본 TOS 및 제공 문서에 따라야 합니다. 제3자에게 접근을 허용하는 경우 귀하는 다음을 보장해야 합니다:\\n(i) 본 약관 준수 제한\\n(ii) TOS 및 개인정보정책 준수\\n(iii) 해당 제3자의 위반에 대한 전적인 책임 부담\\n\\n지적재산 및 법적 준수\\n\\n귀하는 상표 또는 고지 사항을 변경, 삭제해서는 안 됩니다. 플랫폼 사용은 해당 TOS 및 관련 법률을 준수해야 합니다. 무단 사용은 엄격히 금지됩니다.\\n\\n3. 계약 기간\\n발효일\\n\\n본 TOS는 (i) “동의” 클릭 시점 또는 (ii) 플랫폼 최초 사용 시점 중 빠른 시점에 효력이 발생합니다.\\n\\n구독 및 갱신\\n\\n서비스는 주문에 명시된 기간(월/분기/연 단위)으로 자동 갱신됩니다. 별도 명시가 없으면 기본 기간은 1개월입니다.\\n\\n체험 기간\\n\\n체험 기간에도 본 약관이 동일하게 적용됩니다. 귀하는 언제든 취소할 수 있으며, 자동 결제를 방지해야 합니다.\\n\\n구독 관리 책임\\n\\n귀하는 갱신, 결제 정보 업데이트, 해지 관리 등을 전적으로 책임집니다.\\n\\n4. 해지\\n\\n계정 해지 정책 및 환불 정책은 iccandle.ai의 정책 페이지를 따릅니다. 해지는 자동 갱신만 중단하며, 이미 발생한 청구는 환불되지 않습니다.\\n\\n당사는 정책 위반 시 사전 통지 없이 서비스 중단 또는 해지를 할 수 있습니다.\\n\\n5. 라이선스 및 제한\\n\\nPixel Nexus Global은 귀하에게 제한적이고, 취소 가능하며, 비독점적이고, 양도 불가능한 전 세계 사용 라이선스를 부여합니다.\\n\\n귀하는 다음을 금지합니다:\\n\\n재판매, 임대, 재배포\\n리버스 엔지니어링\\n무단 접근 허용\\n\\n모든 지적재산권은 Pixel Nexus Global에 귀속됩니다.\\n\\n귀하가 제공한 피드백은 당사의 독점 정보로 간주되며, 당사는 이를 자유롭게 사용할 수 있습니다.\\n\\n6. 데이터 및 지적재산권\\n\\n귀하는 플랫폼 사용 과정에서 생성되는 데이터를 당사가 분석 및 활용하는 것에 동의합니다. 당사는 이를 기반으로 새로운 서비스 및 제품을 개발할 수 있습니다.\\n\\n익명화된 데이터는 무기한 보관 및 활용될 수 있습니다.\\n\\n7. 정보 정확성 면책\\n\\n본 플랫폼은 제3자 데이터에 의존하므로 정확성을 보장하지 않습니다. 투자 판단의 유일한 근거로 사용해서는 안 됩니다.\\n\\n8. 투자 조언 아님\\n\\n본 서비스는 투자 자문이 아니며 모든 결과는 참고용입니다.\\n\\n9. 위험 고지\\n\\n귀하는 모든 투자 결정에 대한 책임을 전적으로 부담합니다.\\n\\n10. 보증 부인\\n\\n서비스는 “있는 그대로(AS-IS)” 제공되며 어떠한 보증도 없습니다.\\n\\n베타 기능은 불안정할 수 있습니다.\\n\\n11. 책임 제한\\n\\n당사의 책임은 최근 1개월 동안 귀하가 지불한 금액을 초과하지 않습니다.\\n\\n간접 손해, 손실 등에 대해 책임지지 않습니다.\\n\\n12. 통지\\n\\n모든 공식 통지는 계정 정보로 발송됩니다.\\n\\n13. 불가항력\\n\\n천재지변, 전쟁, 정부 조치 등으로 인한 지연에 대해 책임지지 않습니다.\\n\\n14. 권리 포기 없음\\n\\n권리 미행사는 해당 권리 포기로 간주되지 않습니다.\\n\\n15. 양도\\n\\n당사는 자유롭게 권리를 양도할 수 있으며, 귀하는 사전 승인 없이 양도할 수 없습니다.\\n\\n16. 분리 가능성\\n\\n일부 조항이 무효여도 나머지 조항은 유효합니다.\\n\\n17. 대리 관계 없음\\n\\n본 계약은 파트너십 또는 고용 관계를 형성하지 않습니다.\\n\\n18. 개인정보 및 충돌\\n\\n본 약관이 개인정보 정책보다 우선합니다.\\n\\n19. 관할권 및 제한\\n\\n일부 국가(미국, 캐나다, 북한 등)는 접근이 금지될 수 있으며, 사용자는 현지 법률 준수 책임이 있습니다."},"Refund":{"title":"환불 및 취소 정책","intro":"This Refund and Cancellation Policy (\\"Policy\\") governs refund and cancellation terms for services provided by Pixel Nexus Global Pte. Ltd. (\\"we,\\" \\"us,\\" \\"our\\") through the iccandle.ai platform (\\"Services\\"). This Policy is incorporated by reference into our Terms of Service and should be read in conjunction with those Terms.","sections":[{"title":"1. Definitions","definitions":[{"term":"구독","text":"A recurring paid access to the Services for a specified period (e.g., monthly or annually)."},{"term":"Billing Period","text":"The recurring time interval for which a Subscription fee is charged."},{"term":"Subscription Change","text":"Any upgrade or downgrade to a different Subscription plan."}]},{"title":"2. Cancellation Terms","subsections":[{"title":"Subscription Cancellation","listDisc":["You may cancel your Subscription at any time through your account dashboard or by contacting support.","Cancellation will take effect at the end of the current billing period; you will retain access to the Services through the end of that period.","Cancelling your Subscription does not automatically entitle you to a refund of fees already paid."]}]},{"title":"3. Refund Terms","subsections":[{"title":"3.1 General Rule","paragraphs":["Except as expressly provided in this Policy or required by applicable law, all fees paid for Subscriptions are non‑refundable once charged."]},{"title":"3.2 Refund Eligibility","paragraphs":["We may issue a refund at our sole discretion only in limited circumstances, including but not limited to:"],"listDisc":["Duplicate payments (verified duplicate charges will be refunded).","Technical errors that demonstrably prevented access to Services, where the error was not caused by user actions and is verified by us.","Applicable statutory rights under consumer protection law where these rights apply and cannot be waived."],"paragraphsAfter":["Refunds, if approved, will be processed to the original payment method within a commercially reasonable timeframe determined by payment processors and banking partners."]},{"title":"3.3 No Refund for Partial Use","paragraphs":["Refunds will not be issued for:"],"listDisc":["Partial use of the Services during a billing period.","Downgrades of Subscription plans.","Change of mind or business decisions after payment.","Subscription cancellations submitted after a billing cycle has renewed."]}]},{"title":"4. Subscription Changes (Upgrade or Downgrade)","paragraphs":["We provide two options when changing your Subscription plan:"],"subsections":[{"title":"4.1 Change Now","paragraphs":["If you select \\"Change Now,\\" your new plan will take effect immediately, and the associated charge will be applied.","Please note that no refunds, credits, or prorated adjustments will be provided for any unused portion of your current plan."]},{"title":"4.2 Change on Next Billing","paragraphs":["If you choose \\"Change on Next Billing,\\" your current plan will remain active until the end of the current Billing Period.","The new plan will take effect at the start of the next Billing Period.","No refunds or credits apply to the current Billing Period."]}]},{"title":"5. Cancellation After renewal","paragraphs":["If an automatic renewal has already occurred before you submit a cancellation request: The renewal fee is non-refundable. The cancellation will apply to the next Billing Period."]},{"title":"6. Chargebacks and Disputes","paragraphs":["We maintain a strict no-tolerance policy toward unjustified chargebacks.","Initiating a chargeback or payment dispute without first contacting us to seek resolution is considered a breach of this Refund and Cancellation Policy and our Terms of Service. Such actions may result in immediate suspension or permanent termination of your account, without notice, and forfeiture of access to the Services.","We reserve the right to challenge and dispute any chargeback that we deem unauthorized, abusive, or inconsistent with this Policy. This includes providing payment processors, banks, and financial institutions with all relevant evidence, including but not limited to:"],"listDisc":["Proof of service delivery and access logs","Account activity records","Acceptance of our Terms of Service and policies","Communication history with the customer"],"paragraphsAfter":["Customers are strongly encouraged to contact our support team first to resolve any billing concerns. We are committed to addressing legitimate issues in good faith; however, chargebacks used as a substitute for cancellation or refund requests will not be tolerated."]},{"title":"7. Modification of Policy","paragraphs":["We may update this Policy from time to time. Material changes will be posted on our website or communicated via email prior to taking effect. Continued use of the Services after such updates constitutes acceptance of the revised Policy."]},{"title":"8. Contact Information","paragraphs":["For all cancellation and refund requests, please contact our support team via our help center."]}],"content":"환불 및 취소 정책\\n\\n본 환불 및 취소 정책(“정책”)은 Pixel Nexus Global Pte. Ltd.(“당사”)가 iccandle.ai 플랫폼(“서비스”)을 통해 제공하는 서비스의 환불 및 취소 조건을 규정합니다. 본 정책은 이용약관의 일부를 구성하며 함께 적용됩니다.\\n\\n1. 정의\\n\\n구독(Subscription): 특정 기간(월간 또는 연간 등) 동안 서비스에 대한 유료 이용 권한\\n\\n결제 주기(Billing Period): 구독 요금이 반복적으로 청구되는 기간\\n\\n구독 변경(Subscription Change): 상위 또는 하위 요금제로 변경하는 것\\n\\n2. 취소 조건\\n\\n구독 취소\\n\\n계정 대시보드 또는 고객지원센터를 통해 언제든지 취소 가능\\n취소는 현재 결제 주기 종료 시점에 적용됨\\n해당 기간 종료 전까지 서비스 이용 가능\\n이미 결제된 금액에 대한 자동 환불은 적용되지 않음\\n3. 환불 정책\\n3.1 일반 원칙\\n\\n법적으로 요구되는 경우를 제외하고, 결제 완료된 구독 요금은 환불되지 않습니다.\\n\\n3.2 환불 가능 조건\\n\\n다음과 같은 제한된 경우에 한해 당사 재량으로 환불이 가능합니다:\\n\\n중복 결제 (검증된 경우)\\n사용자 요인이 아닌 기술 오류로 서비스 접근이 불가능한 경우\\n소비자 보호법에 따른 법적 권리\\n\\n승인된 환불은 결제 수단으로 합리적인 기간 내 처리됩니다.\\n\\n3.3 부분 사용 환불 불가\\n\\n다음의 경우 환불되지 않습니다:\\n\\n결제 기간 일부 사용\\n구독 다운그레이드\\n결제 후 단순 변심\\n자동 갱신 이후 취소 요청\\n4. 구독 변경\\n4.1 즉시 변경\\n\\n즉시 변경 시 새 요금제가 즉시 적용되며 추가 요금이 부과됩니다.\\n미사용 기간에 대한 환불은 제공되지 않습니다.\\n\\n4.2 다음 결제 주기 변경\\n\\n현재 요금제는 해당 기간 종료까지 유지되며, 다음 주기부터 새 요금제가 적용됩니다.\\n\\n5. 갱신 이후 취소\\n\\n자동 갱신 이후 취소 요청 시 해당 결제는 환불되지 않으며, 다음 결제 주기부터 취소됩니다.\\n\\n6. 차지백 및 분쟁\\n\\n당사는 부당한 차지백을 엄격히 금지합니다.\\n\\n사전 협의 없이 지급 거절(차지백)을 진행하는 경우 정책 및 약관 위반으로 간주되며:\\n\\n계정 정지 또는 영구 삭제\\n서비스 접근 권한 상실\\n\\n당사는 관련 기관에 모든 증빙 자료를 제출하여 대응할 권리를 가집니다.\\n\\n7. 정책 변경\\n\\n본 정책은 변경될 수 있으며, 중요한 변경 사항은 사전 공지됩니다.\\n\\n8. 문의\\n\\n환불 및 취소 요청은 고객지원 센터를 통해 접수하시기 바랍니다."},"Privacy":{"title":"개인정보 처리방침 (Privacy Policy)","intro":"This Privacy Policy explains how Pixel Nexus Global Pte. Ltd. (\\"we\\", \\"us\\", or \\"our\\") collects, uses, discloses, and protects personal information when you use our website, applications, and services (collectively, the \\"Services\\").","sections":[{"title":"1. Information We Collect","paragraphs":["We collect the following information:"],"listDisc":["Email address provided when you sign up for our Services","Service usage information, including interactions with features, pages viewed, session activity, and general usage patterns, collected to improve the functionality, performance, and user experience of our Services"],"paragraphsAfter":["We do not collect, store, or process payment card details or other sensitive payment information."]},{"title":"2. Payments and Stripe","paragraphs":["All payment transactions are processed by our third-party payment service provider, Stripe.","When you make a payment, Stripe collects and processes payment-related information (such as card details, billing information, and transaction data) directly. This information is handled in accordance with Stripe’s Privacy Policy and security standards, including PCI-DSS compliance.","We only receive limited information from Stripe necessary to operate our Services, including:"],"listDisc":["Payment confirmation","Subscription status","Transaction identifiers"],"paragraphsAfter":["We do not have access to your full payment details.","You can review Stripe’s Privacy Policy here:"],"stripePrivacyUrl":"https://stripe.com/privacy"},{"title":"3. How We Use Your Information","paragraphs":["We use the email addresses we collect to:"],"listDisc":["Provide, operate, and maintain our Services","Analyze service usage and improve product functionality, performance, and user experience","Communicate with you regarding technical notices, updates, and support","Inform you about products, services, features, and events"]},{"title":"4. Information Sharing","paragraphs":["We do not sell your personal information.","We may share your information only with:"],"listDisc":["Service providers who support our operations (including hosting, analytics, and payment processing via Stripe)","Professional advisors, such as legal, accounting, or compliance consultants","Law enforcement or regulatory authorities, when required by law or to protect our legal rights"],"paragraphsAfter":["All third-party service providers are required to process personal data in accordance with applicable data protection laws."]},{"title":"5. Your Rights","paragraphs":["Depending on your location, you may have the right to:"],"listDisc":["Access your personal information","Correct or update your email address","Request deletion of your email address","Object to or restrict certain processing activities"],"paragraphsAfter":["Requests related to payment data should be directed to Stripe, as they act as the data controller for payment information."]},{"title":"6. Third-Party Policies","paragraphs":["Our Services rely on third-party providers such as Stripe. Their handling of personal data is governed by their own privacy policies, and we encourage you to review them."]},{"title":"7. Contact Us","paragraphs":["If you have any questions about this Privacy Policy or our data practices, please contact us at:","support@iccandle.ai"]}],"content":"개인정보 처리방침 (Privacy Policy)\\n\\n본 개인정보 처리방침은 Pixel Nexus Global Pte. Ltd. (“당사”, “우리”)가 귀하가 당사의 웹사이트, 애플리케이션 및 서비스(총칭하여 “서비스”)를 이용할 때 개인 정보를 어떻게 수집, 사용, 공개 및 보호하는지 설명합니다.\\n\\n1. 수집하는 정보\\n\\n당사는 다음 정보를 수집합니다:\\n\\n서비스 가입 시 제공하는 이메일 주소\\n서비스 이용 정보 (기능과의 상호작용, 조회한 페이지, 세션 활동, 전반적인 사용 패턴 등) — 이는 서비스의 기능, 성능 및 사용자 경험을 개선하기 위해 수집됩니다\\n\\n당사는 결제 카드 정보 또는 기타 민감한 결제 정보를 수집, 저장 또는 처리하지 않습니다.\\n\\n2. 결제 및 Stripe\\n\\n모든 결제 거래는 제3자 결제 서비스 제공업체인 Stripe를 통해 처리됩니다.\\n\\n귀하가 결제를 진행하면 Stripe가 카드 정보, 청구 정보, 거래 데이터 등 결제 관련 정보를 직접 수집하고 처리합니다. 해당 정보는 Stripe의 개인정보 처리방침 및 PCI-DSS 보안 기준에 따라 관리됩니다.\\n\\n당사는 Stripe로부터 서비스 운영에 필요한 제한된 정보만 수신합니다:\\n\\n결제 확인\\n구독 상태\\n거래 식별자\\n\\n당사는 귀하의 전체 결제 정보에 접근할 수 없습니다.\\n\\nStripe 개인정보 처리방침: https://stripe.com/privacy\\n\\n3. 정보 사용 목적\\n\\n당사는 수집한 이메일 주소를 다음 목적으로 사용합니다:\\n\\n서비스 제공, 운영 및 유지\\n서비스 사용 분석 및 제품 기능, 성능, 사용자 경험 개선\\n기술 공지, 업데이트 및 고객 지원 관련 연락\\n제품, 서비스, 기능 및 이벤트 정보 제공\\n4. 정보 공유\\n\\n당사는 귀하의 개인정보를 판매하지 않습니다.\\n\\n다음의 경우에만 정보를 공유할 수 있습니다:\\n\\n당사의 운영을 지원하는 서비스 제공업체 (호스팅, 분석, Stripe 결제 처리 등)\\n법률, 회계 또는 규정 준수 관련 전문 자문가\\n법률에 따라 요구되거나 당사의 법적 권리를 보호하기 위한 법 집행 기관 또는 규제 기관\\n\\n모든 제3자 서비스 제공업체는 관련 개인정보 보호 법규에 따라 데이터를 처리해야 합니다.\\n\\n5. 귀하의 권리\\n\\n귀하의 위치에 따라 다음 권리를 가질 수 있습니다:\\n\\n개인 정보 접근 권리\\n이메일 주소 수정 또는 업데이트 권리\\n이메일 주소 삭제 요청 권리\\n특정 데이터 처리에 대한 이의 제기 또는 제한 권리\\n\\n결제 데이터 관련 요청은 Stripe가 해당 정보의 데이터 컨트롤러이므로 Stripe에 직접 문의해야 합니다.\\n\\n6. 제3자 정책\\n\\n당사의 서비스는 Stripe와 같은 제3자 제공업체에 의존합니다. 이들의 개인정보 처리 방식은 각자의 개인정보 처리방침에 따라 운영되므로, 해당 정책을 검토할 것을 권장합니다.\\n\\n7. 문의하기\\n\\n본 개인정보 처리방침 또는 데이터 처리 방식에 대해 질문이 있는 경우 아래로 연락해 주시기 바랍니다:\\n\\nsupport@iccandle.ai"},"Cookie":{"title":"쿠키 정책","intro":["This Cookie Policy explains how Pixel Nexus Global Pte. Ltd. (\\"we\\", \\"us\\", or \\"our\\") uses cookies and similar technologies when you visit or use iccandle.ai and related services (collectively, the \\"Services\\").","This Policy should be read together with our Privacy Policy."],"sections":[{"title":"1. What Are Cookies?","paragraphs":["Cookies are small text files placed on your device when you visit a website. They are widely used to make websites work efficiently, enhance user experience, and provide information to website operators.","Cookies may be:"],"listDisc":["Session cookies (deleted when you close your browser), or","Persistent cookies (stored for a set period or until deleted)."]},{"title":"2. Types of Cookies We Use","subsections":[{"title":"2.1 Strictly Necessary Cookies","paragraphs":["These cookies are essential for the operation of our Services and cannot be switched off. They are required to:"],"listDisc":["Enable secure login and authentication","Maintain user sessions","Protect against fraud and abuse"],"paragraphsAfter":["Without these cookies, the Services cannot function properly."]},{"title":"2.2 Functional Cookies","paragraphs":["These cookies allow us to remember your preferences and settings, such as:"],"listDisc":["Language or regional preferences","Account-related selections"],"paragraphsAfter":["They improve usability but are not strictly necessary."]},{"title":"2.3 Analytics and Performance Cookies","paragraphs":["We use analytics cookies to understand how users interact with our Services. These cookies collect information such as:"],"listDisc":["Pages visited and features used","Session duration and interaction patterns","Error and performance data"],"paragraphsAfter":["This information is used solely to improve our product, functionality, and user experience. Analytics data is aggregated and does not directly identify individual users."]},{"title":"2.4 Third-Party Cookies","paragraphs":["Some cookies are placed by third-party service providers that support our Services, including:"],"listDisc":["Payment processing services (e.g., Stripe)","Analytics and infrastructure providers"],"paragraphsAfter":["These third parties may use cookies in accordance with their own privacy and cookie policies."]}]},{"title":"3. What We Do NOT Use Cookies For","listDisc":["We do not use cookies for advertising or behavioral targeting","We do not sell cookie data","We do not use cookies to collect sensitive personal information"]},{"title":"4. Managing Cookies","paragraphs":["You can manage or disable cookies through your browser settings. Most browsers allow you to:"],"listDisc":["View cookies stored on your device","Delete existing cookies","Block cookies entirely or from specific websites"],"paragraphsAfter":["Please note that disabling certain cookies may affect the functionality and performance of the Services."]},{"title":"5. Changes to This Cookie Policy","paragraphs":["We may update this Cookie Policy from time to time to reflect changes in technology, law, or our practices. Material changes will be posted on our website. Continued use of the Services after changes take effect constitutes acceptance of the updated Policy."]},{"title":"6. Contact Us","paragraphs":["If you have any questions about this Cookie Policy or our use of cookies, please contact us at:","support@iccandle.ai"]}],"content":"쿠키 정책\\n\\n본 쿠키 정책은 Pixel Nexus Global Pte. Ltd.(“당사”)가 iccandle.ai 및 관련 서비스(총칭 “서비스”)를 이용할 때 쿠키 및 유사 기술을 어떻게 사용하는지 설명합니다.\\n\\n본 정책은 개인정보 처리방침과 함께 읽어야 합니다.\\n\\n1. 쿠키란 무엇인가\\n\\n쿠키는 웹사이트 방문 시 사용자의 기기에 저장되는 작은 텍스트 파일입니다. 쿠키는 다음 목적을 위해 사용됩니다:\\n\\n웹사이트의 원활한 작동\\n사용자 경험 향상\\n웹사이트 운영자에게 정보 제공\\n\\n쿠키는 다음으로 구분됩니다:\\n\\n세션 쿠키 (브라우저 종료 시 삭제)\\n영구 쿠키 (일정 기간 또는 삭제 전까지 저장)\\n2. 우리가 사용하는 쿠키 유형\\n2.1 필수 쿠키\\n\\n서비스 운영에 반드시 필요한 쿠키로 비활성화할 수 없습니다.\\n\\n안전한 로그인 및 인증\\n사용자 세션 유지\\n사기 및 악용 방지\\n2.2 기능성 쿠키\\n\\n사용자의 설정을 기억하는 데 사용됩니다:\\n\\n언어 및 지역 설정\\n계정 관련 선택사항\\n2.3 분석 및 성능 쿠키\\n\\n사용자가 서비스를 어떻게 이용하는지 이해하기 위해 사용됩니다:\\n\\n방문 페이지 및 기능 사용\\n세션 시간 및 행동 패턴\\n오류 및 성능 데이터\\n\\n이 데이터는 서비스 개선 목적이며 개인을 직접 식별하지 않습니다.\\n\\n2.4 제3자 쿠키\\n\\n일부 쿠키는 제3자 서비스 제공업체가 설정합니다:\\n\\n결제 서비스 (예: Stripe)\\n분석 및 인프라 제공업체\\n\\n이들은 자체 정책에 따라 쿠키를 관리합니다.\\n\\n3. 쿠키를 사용하지 않는 경우\\n광고 또는 행동 기반 타겟팅\\n쿠키 데이터 판매\\n민감한 개인정보 수집\\n4. 쿠키 관리\\n\\n사용자는 브라우저 설정을 통해 쿠키를 관리할 수 있습니다:\\n\\n저장된 쿠키 보기\\n쿠키 삭제\\n전체 또는 일부 사이트 쿠키 차단\\n\\n일부 쿠키를 비활성화하면 서비스 기능에 영향을 줄 수 있습니다.\\n\\n5. 정책 변경\\n\\n본 정책은 변경될 수 있으며 중요한 변경 사항은 웹사이트에 게시됩니다. 변경 이후 서비스를 계속 사용하는 경우 변경 사항에 동의한 것으로 간주됩니다.\\n\\n6. 문의\\n\\nsupport@iccandle.ai"}}`),Dp={Common:ip,Confirmation:ap,DateFormat:rp,Alert:op,TimeConfig:sp,Loading:lp,Auth:cp,Navbar:up,Guide:dp,Pricing:hp,Settings:pp,Referral:mp,Layout:fp,News:gp,Selector:yp,UserActivity:bp,Pattern:vp,PatternCatalog:wp,sQuestion_pattern:xp,sQuestion_general:Pp,sQuestion_news:Sp,justLanguage:Tp,profile:kp,Landing:Cp,NotFound:Ap,Legal:Np},Rp={or:"OR",error:"エラー",cancel:"キャンセル",continuing:"続行中...",email:"メール",password:"パスワード",termsOfService:"利用規約",privacyPolicy:"プライバシーポリシー",continueWithGoogle:"Googleで続行",continuingWithGoogle:"Googleで続行しています...",signIn:"サインイン",signUp:"新規登録",agreeAndContinue:"同意して続行",changePlan:"プラン変更",upgradePlan:"アップグレード +",manageBilling:"請求管理",getInTouch:"お問い合わせ",copyright:"© {year} IC Candle, Inc. All rights reserved.",session:"セッション",sessions:"セッション一覧",activeWorkspaces:"アクティブなワークスペース",date:"日付",product:"製品",plan:"プラン",planNames:{free:"無料プラン",standard:"スタンダードプラン",pro:"プロプラン",expert:"エキスパートプラン"},status:"ステータス",amount:"金額",detail:"詳細",total:"合計",prioritySupport:"優先サポート",all:"すべて",minutely:"デイトレード",hourly:"時間足",daily:"日足",chatAssistant:"チャットアシスタント",timeframes:"時間足",symbols:"銘柄",timeSettings:"時間設定",step:"ステップ {number}:",learnMore:"詳しく見る",success:"成功",validationError:"入力エラー",previous:"前へ",next:"次へ",saving:"保存中...",save:"保存",saveChanges:"変更を保存",nextStep:"次のステップ",columnTimeframe:"時間足",columnSymbol:"銘柄",columnDescription:"説明",symbol:"銘柄",timeframe:"時間足",candles:"ローソク足",up:"上昇",down:"下降",play:"再生",close:"閉じる",simulate:"シミュレーション",actual:"実績",forecast:"予測",interestRate:"金利",soon:"近日公開",back:"戻る",similarity:"類似度",nextCandles:"次の {count}",nextCandlesFull:"次の {count} 本のローソク足",probabilityOutcome:"確率結果:",estimatedProbability:"推定確率:",riskDisclaimer:"金融市場には高いリスクが伴い、元本を失う可能性があります。iC Candleは教育目的の情報のみを提供しており、金融アドバイスを提供するものではありません。過去の実績は将来の結果を保証するものではありません。",rangeTooFarToRender:"表示可能な範囲を超えています。",marketSessions:"市場セッション",askTradingQuestion:"取引に関する質問をする",mrCandleThinking:"Mr. Candle is thinking...",simulateBullishPriceAction:"強気の価格変動をシミュレーション",simulateBearishPriceAction:"弱気の価格変動をシミュレーション",dismiss:"閉じる",loadingMore:"さらに読み込み中...",savedPatternDeleted:"保存済みパターンを削除しました"},Ep={confirm:"確認",deletePatternTitle:"パターンを削除",deletePatternDescription:"このパターンを削除してもよろしいですか?",deleteAllNotificationsTitle:"すべての通知を削除",deleteAllNotificationsDescription:"すべての通知を削除してもよろしいですか?",disableSignalsTitle:"シグナルを無効化",disableSignalsDescription:"シグナルを無効化してもよろしいですか?",disableSignalsForDescription:"{patternTitle} のシグナルを無効化してもよろしいですか?",togglePatternModeTitle:"パターンモードを切り替え",togglePatternModeDisableDescription:"このパターンを無効化してもよろしいですか?",togglePatternModeEnableDescription:"このパターンを有効化してもよろしいですか?",closeFeatureDescription:"この機能を閉じてもよろしいですか?"},Op={today:"今日",yesterday:"昨日",day:"{count, plural, other {#日}}",hour:"{count, plural, other {#時間}}",minute:"{count, plural, other {#分}}",zeroMinutes:"0分",dayShort:"日",hourShort:"時間",minuteShort:"分",zeroMin:"0分",justNow:"たった今",minutesAgo:"{count, plural, other {#分前}}",hoursAgo:"{count, plural, other {#時間前}}",daysAgo:"{count, plural, other {#日前}}",monthsAgo:"{count, plural, other {#ヶ月前}}",yearsAgo:"{count, plural, other {#年前}}"},Mp={classicPatternTracker:"クラシックパターントラッカー",trackedPatternReminder:"追跡中のパターン通知",classicPattern:"クラシックパターン",trackedPattern:"追跡中のパターン",enableClassicNotifications:"クラシックな価格形成のリアルタイム通知を有効にする",waitingForPatternSignals:"パターンシグナルを待機しています",noPatternsDetected:"現在、パターンは検出されていません",signalsActiveDescription:"シグナルは有効です。一致するパターンが見つかり次第お知らせします",noCustomPatternDetected:"現在、{patternName} は検出されていません",trackMorePatternsByScan:"スキャンに移動して、さらに多くのパターンを追跡してください",seeMore:"もっと見る"},Ip={title:"時間設定",description:"パターンアラートを通知できる現地時間の時間帯を選択してください。",startTime:"開始時間",endTime:"終了時間",session:"セッション",timezone:"タイムゾーン",yourTimezone:"あなたのタイムゾーン",selectSession:"セッションを選択",searchSession:"セッションを検索...",noSessionFound:"セッションが見つかりません。",sessionsHeading:"セッション一覧",selectTimezone:"タイムゾーンを選択",selectTimezoneHint:"このアラートのタイムゾーンを検索して選択してください。",searchTimezone:"タイムゾーンを検索...",noTimezoneFound:"タイムゾーンが見つかりません。",timezonesHeading:"タイムゾーン",allTime:"全時間",customize:"カスタマイズ",newYorkSession:"ニューヨークセッション",londonSession:"ロンドンセッション",tokyoSession:"東京セッション",sydneySession:"シドニーセッション"},Lp={newsScan:{analyzing:"現在のニュースイベントを分析しています...",searching:"過去の類似するニュース発表を検索しています...",ranking:"最も関連性の高い類似ニュースをランキングしています...",preparingReplay:"再生用の類似ニュースを準備しています...",ready:"影響分析のための類似ニュースイベントの準備が完了しました。"},newsAi:{replaying:"過去の価格変動を再生しています...",startingSimulation:"影響シミュレーションモデルを開始しています...",calculatingScenarios:"上昇および下降シナリオを計算しています...",complete:"シミュレーションが完了しました。"},selectorScan:{scanning:"20年以上の市場履歴をスキャンしています...",finding:"構造的に類似するパターンを検索しています...",linking:"市場行動とその背景要因を関連付けています...",preparing:"構造化された過去データセットを準備しています...",ready:"パターンの再生と結果分析の準備が完了しました。"},selectorAi:{replaying:"過去のパターン動向を再生しています...",learning:"過去の値動きから影響パターンを学習しています...",calculating:"価格変動のダイナミクスを計算しています...",initializing:"シミュレーションモデルを初期化しています...",complete:"シミュレーションが完了しました。"}},Gp={Layout:{tagline:"洞察を重視するトレーダーのために設計"},Legal:{termsAndPrivacy:"利用規約とプライバシー",googleTermsDescription:"Googleで続行することで、<terms></terms>および<privacy></privacy>に同意したものとみなされます。",legalAgreement:"<terms></terms>および<privacy></privacy>に同意します。",pleaseAgreeToContinue:"続行するには同意してください",pleaseAgreeDescription:"Googleで続行するには、利用規約およびプライバシーポリシーへの同意が必要です。",legalTitle:"法的事項"},SignIn:{dontHaveAccount:"アカウントをお持ちではありませんか?",googleVerifyingAuthorization:"Googleが認証を確認しています...",invalidCredentials:"認証情報が無効です",invalidEmail:"無効なメールアドレス",emailRequired:"メールアドレスは必須です",passwordRequired:"パスワードは必須です",pleaseCheckInfo:"情報を再度ご確認ください",emailPlaceholder:"個人用または仕事用のメールアドレスを入力",change:"変更",forgotPassword:"パスワードをお忘れですか",continueWithEmail:"メールで続行"},SignUp:{repeatPassword:"パスワードを再入力",termsAgreement:"続行することで、<terms></terms>および<privacy></privacy>に同意したものとみなされます",continueWithEmail:"メールで続行",alreadyHaveAccount:"すでにアカウントをお持ちですか?",signUpError:"サインアップ中にエラーが発生しました。"},PasswordRecovery:{title:"パスワードの復元",emailRequired:"メールアドレスは必須です!",emailPlaceholder:"your@example.com",sendConfirmationCode:"確認コードを送信",somethingWrong:"問題が発生しました",pleaseWaitAndRetry:"しばらくお待ちいただき、再度お試しください",confirmationCodeSent:"確認コードを送信しました",checkYourEmail:"メールをご確認ください"},ResetPassword:{title:"パスワードをリセット",confirmationCode:"確認コード",confirmationCodeRequired:"確認コードは必須です。",newPassword:"新しいパスワード",repeatNewPassword:"新しいパスワードを再入力",passwordMinLength:"パスワードは8文字以上である必要があります。",repeatPasswordMinLength:"再入力したパスワードは8文字以上である必要があります。",passwordsMustMatch:"パスワードが一致しません。",pleaseStartAgain:"最初からやり直してください",resetSuccess:"リセット成功",useNewPassword:"新しいパスワードをご利用ください",passwordNotConfirmed:"パスワードが確認できませんでした!"},Confirm:{title:"アカウントを確認",codeSentTo:"確認コードの送信先:",otpDescription:"メールに送信されたワンタイムパスワードを入力してください。",otpLength:"OTPは6文字である必要があります。",turnstileError:"Turnstileでエラーが発生しました",confirmError:"確認中にエラーが発生しました:{message}",confirm:"確認"}},Fp={features:{title:"機能",patternSelector:{title:"パターンセレクター",subtitle:"過去の市場データをもとにアイデアを分析し、類似した価格パターンと結果を見つけます。"},patternTracker:{title:"パターントラッカー",subtitle:"バックグラウンドで継続的に市場をスキャンし、一致するパターンが現れると通知します。"},newsImpact:{title:"ニュースインパクト",subtitle:"過去のニュース発表が価格変動にどのような影響を与えたかを示し、市場が以前どのように反応したかを確認できます。"}},resources:{title:"リソース",learnAndUse:{title:"学ぶ・活用する",subtitle:"分析の概念を学び、プラットフォームを効果的に活用する方法を理解しましょう。"},updatesAndInsights:{title:"アップデートとインサイト",subtitle:"私たちが構築・探求している内容に関するニュースと最新情報。"},whoWeAre:{title:"私たちについて",subtitle:"私たちが何者であり、何を信じ、なぜ開発しているのかをご紹介します。"},helpCenter:{title:"ヘルプセンター",subtitle:"必要なときにサポート、ガイド、回答を見つけられます。"}},pricing:{title:"料金プラン"}},Bp={badge:"機能",title:"AIを活用した市場分析、より賢い意思決定のために構築",description:"高度な分析と過去の市場データを活用し、パターンの発見、市場の反応分析、そして意思決定前の確率理解をサポートします。",creditUsage:"クレジット使用量",resetAfter:"リセットまで",resetAfterColon:"リセットまで:",useThisFeature:"この機能を使用する",automateNow:"今すぐ自動化",analyzeNow:"今すぐ分析",inSession:"セッション中です",sessionActive:"現在セッションがアクティブです",continueSession:"セッションを続行",pageHeader:{account:{title:"プロフィール",infoTitle:"アカウント",infoDescription:"設定、環境設定、および接続を管理します"},subscription:{title:"サブスクリプション",infoTitle:"ご利用プラン",infoDescription:"プラン、請求、お支払いを管理します"},support:{title:"サポート",infoTitle:"ヘルプを取得",infoDescription:"質問への回答を見つけ、サポートチームにお問い合わせください"},referral:{title:"コミュニティ",infoTitle:"コミュニティ成長プログラム",infoDescription:"友達を紹介してリベートを獲得し、一緒に成長しましょう"}}},jp={chooseYour:"プランを",plan:"選択",annualPromo:"年間契約にすると2か月以上無料で利用できます",monthly:"月額",yearly:"年額",yearlyBadge:"-20%",comparePlans:"プランを比較する",compareSubtitle:"各プランに含まれる内容を詳しくご確認いただけます。",usage:"使用量",usageSection:"利用状況",features:"機能",featuresSection:"機能",freePricePerMonth:"$0 / 月",pricePerMonth:"{price} / 月",patternSelector:"パターンセレクター",patternTracker:"パターントラッカー",newsImpact:"ニュースインパクト",scanResultLimit:"スキャン結果の上限",historicalData:"過去データ",webhook:"Webhook",patternExport:"パターンのエクスポート",scansPerDay:"1日 {count} 回スキャン",scansPerDayDefault:"1日 2 回スキャン",patternsCount:"{count} パターン",perDay:"1日 {count} 回",perDayDefault:"1日 1 回",tabsCount:"{count} タブ",tabsCountDefault:"1 タブ",limited:"制限あり",historicalYears:"20年以上",included:"✓",notIncluded:"—",planChangedSuccess:"{planTitle} プランへの変更が完了しました!",subscriptionSuccess:"{planTitle} の登録が完了しました!",paymentSuccessful:"お支払いが完了しました!",planUpdated:"プランが更新されました。",planUpdatedDescription:"プランが更新されました。新機能をすぐにご利用いただけます。",subscriptionActive:"サブスクリプションが有効になりました。",subscriptionActiveDescription:"{planTitle} のサブスクリプションが有効になりました。ご購入ありがとうございます!",manageBillingInfo:"請求情報を管理",continueToApp:"アプリに進む",loadingPaymentDetails:"お支払い情報を読み込み中...",paymentError:"お支払いエラー",noSessionId:"セッションIDが提供されていません",goToApp:"アプリへ",alreadySubscribedPlan:"すでにこのプランに登録しています。",activeSubscriptionManage:"有効なサブスクリプションがあります。プラン変更は請求管理から行ってください。",planChangeScheduled:"プラン変更を予約しました",planChangeScheduledDesc:"次回請求日に {planTitle} プランに切り替わります。",alreadyOnPlan:"すでにこのプランです",changePlanFailed:"プラン変更に失敗しました。請求管理をご利用ください。",alreadyActiveSubscription:"有効なサブスクリプションがあります",noChangesMade:"変更はありません",alreadyOnPlanDesc:"現在 {planTitle} プランをご利用中です。",badgeFree:"無料",badgePopular:"人気",badgeBestDeal:"最もお得",badgeMaximumAccess:"最大アクセス",freeForEveryone:"誰でも無料",usdPerMonth:"USD/月",yearlyAmount:"{amount} USD / 年",monthlyAmount:"{amount} USD / 月",currentPlan:"現在のプラン",startForFree:"無料で始める",getPlan:"{planTitle} を取得",switchToPlan:"{planTitle} に切り替え",changePlanConfirmTitle:"プラン変更の確認",changePlanConfirmDesc:"現在 {currentPlan} プランです。新しい価格の適用タイミングを選択してください。",changeNextBilling:"次回請求から変更",changeNow:"今すぐ変更",confirmNextBillingTitle:"次回請求変更の確認",confirmNextBillingDesc:"次回請求日にこのプラン変更を予約しますか?それまでは現在の {currentPlan} プランが有効です。次回請求日に {planTitle}({amount})に切り替わります。",yesChangeNextBilling:"はい、次回請求から変更",continueToCheckout:"チェックアウトに進む",freeCheckoutDesc:"現在無料プランです。{planTitle} を購読するにはチェックアウトに進んでください。",continue:"続行",agreeRefundPolicy:"<link>返金・キャンセルポリシー</link>に同意します。",everythingInPlan:"<plan></plan>プランのすべての機能を含む",plans:{free:{title:"無料",subtitle:"探索して試す",heading3:"個人トレーダー向け"},standard:{title:"スタンダード",subtitle:"自信を持って分析する",heading3:"個人トレーダー向け"},pro:{title:"プロ",subtitle:"詳細に分析する",heading3:"チーム&プロフェッショナル"},expert:{title:"エキスパート",subtitle:"制限なく分析する",heading3:"プロトレーダー向け"}},planFeatures:{categories:{candleScanner:"キャンドルスキャナー",candleSignal:"キャンドルシグナル"},labels:{patternSelector:"パターンセレクター",patternTracker:"パターントラッカー",newsImpact:"ニュースインパクト",scanResultLimit:"スキャン結果の上限",activeTabs:"アクティブタブ",timeframes:"時間足",webhook:"Webhook"},values:{scansPerDay:"1日あたり{count}回のスキャン",patterns:"{count}",perDay:"{count}",tabsWorkspace:"{count}(ワークスペース)",enabled:"有効",disabled:"無効"}}},Up={Connections:{connectedAccount:"連携済みアカウント",creditUsage:"クレジット使用量",totalCreditsUsed:"使用したクレジット合計",resetsIn:"{duration}後にリセット",understandingCredits:"クレジットと利用状況について理解する",nearLimit:"利用上限に近づいています"},Subscription:{myPlan:"マイプラン",thanksForSubscribing:"ご登録ありがとうございます!",billingHistory:"請求履歴",nextBillingDate:"次回請求日",whichPlan:"どのプランが最適ですか?",patternSelectorCreditsPerDay:"パターンセレクタークレジット {count}回分 / 日",patternTrackerCreditsPerDay:"パターントラッカークレジット {count}回分 / 日",newsImpactCreditsPerDay:"ニュースインパクトクレジット {count}回分 / 日",chatAssistantCreditsPerDay:"チャットアシスタントクレジット {count}回分 / 日",prioritySupport:"優先サポート"},Billing:{noInvoices:"No invoices found.",loadError:"Failed to load invoices. Please try again later.",viewInvoice:"請求書を見る"}},zp={referralRebate:"紹介リベート",referredUsers:"紹介したユーザー",totalRebateEarned:"獲得したリベート合計",referredUsersCount:"紹介ユーザー",activeReferrals:"有効な紹介",referralLink:"紹介リンク",shareDescription:"友達と紹介リンクを共有しましょう。友達が登録すると、そのプランに応じたリベートを獲得できます。",joinedDate:"参加日",loading:"読み込み中...",noReferralCodeAvailable:"利用可能な紹介コードがありません",updateReferralCodeTitle:"紹介コードを更新",createReferralCodeTitle:"紹介コードを作成",updateReferralCodeDescription:"以下で紹介コードを更新してください。",createReferralCodeDescription:"紹介リンクの共有を開始するには紹介コードを入力してください。",enterReferralCodePlaceholder:"紹介コードを入力",enterReferralCode:"紹介コードを入力してください",codeCreatedSuccess:"紹介コードが正常に作成されました",codeUpdatedSuccess:"紹介コードが正常に更新されました",codeMinChars:"5文字以上必要です",codeMaxChars:"最大15文字",create:"作成",update:"更新",pageNumber:"ページ {page}",noReferredUsersYet:"紹介したユーザーはまだいません",shareReferralEmptyDescription:"紹介リンクを共有して、ネットワークを広げながらリベートを獲得しましょう。"},Yp={mainMenu:{coreFeatures:"主要機能",account:"アカウント",subscription:"サブスク",communityGrowthProgram:"コミュニティ成長プログラム",support:"サポート",others:"その他"},patternMenu:{trackedPatterns:{label:"追跡中のパターン",tooltipTitle:"AIによって検出された高確率パターンセットアップ",tooltipDescription:"iC Candleは世界中の市場を24時間365日監視し、追跡中のパターンを検出します。信頼度レベルとブレイクアウト方向を提供し、フィルターを使用して最適なセットアップを見つけ、任意のパターンをクリックして詳細を確認できます。"},classicPatterns:{label:"クラシックパターン",tooltipTitle:"クラシックパターン",tooltipDescription:"ダブルトップ、ヘッド&ショルダー、フラッグ、レクタングルなど、重要なパターンを選択してシグナルを有効化します。選択した市場のすべての価格変動を監視し、パターン形成が完了した瞬間に通知します。Telegram、メール、アプリ内通知で受信方法をカスタマイズできるため、セットアップを見逃しません。"}},helperBar:{watchList:"ウォッチリスト",savedPatterns:"保存済みパターン",newsMovingMarket:"市場で何が動いているのか?",favoritesCount:"お気に入り ({count})",groupWithCount:"{label} ({count})",noItemsInWatchList:"ウォッチリストに項目がありません",watchListLast:"終値",watchListChg:"変動",watchListChgPercent:"変動%",removeFromFavorites:"お気に入りから削除",addToFavorites:"お気に入りに追加",removeSymbolFromFavorites:"{symbol}をお気に入りから削除",addSymbolToFavorites:"{symbol}をお気に入りに追加",groupCommodity:"コモディティ",groupForex:"外国為替",groupCrypto:"暗号資産",groupIndices:"指数",groupStock:"株式"},profileMenu:{darkTheme:"ダークテーマ",chatWithUs:"お問い合わせ",termsAndConditions:"利用規約",logOut:"ログアウト"},tabAdded:"タブが追加されました",tabMemoryWarning:"タブを追加すると、デバイスのメモリ使用量が増加する場合があります。",tabLimitReached:"タブ上限に達しました",tabLimitReachedMax:"現在のプランで許可されている最大タブ数に達しました。",tabLimitReachedUpgrade:"現在のプランで許可されている最大タブ数に達しました。さらに利用するにはプランをアップグレードしてください。",notifications:"通知",noNotifications:"通知はありません",notificationsOfflineReconnect:"(オフライン)通知を再接続してください",headerNav:{selectorTitle:"パターンセレクター",selectorShortTitle:"セレクター",patternTitle:"パターントラッカー",patternShortTitle:"追跡",newsTitle:"ニュースインパクト",newsShortTitle:"ニュース"},guideFeatures:{selector:{title:"パターンセレクター",description:"過去の市場データをもとにアイデアを分析し、類似した価格パターンと結果を見つけます。"},pattern:{title:"パターントラッカー",description:"バックグラウンドで継続的に市場をスキャンし、一致するパターンが現れると通知します。"},news:{title:"ニュースインパクト",description:"過去のニュース発表が価格変動にどのような影響を与えたかを示し、市場が以前どのように反応したかを確認できます。"}}},Hp={mostSimilarNews:"最も類似したニュース:",selectEvent:"イベントを選択",economicCalendarAnalysis:"経済カレンダー分析",economicCalendar:"経済カレンダー",predictAvailable:"予測利用可能",predictUnavailable:"予測利用不可",actualReleased:"実際の発表値",analyzeImpact:"影響を分析",candleDataTooFar:"ローソク足データがイベントから離れすぎています。",tryAnotherTimeframe:"別の時間足をお試しください。",aiIntelligence:"AIインテリジェンス",matchPercent:"{percent}% 一致",whatHappenedOnNews:"このニュースで何が起こったか:",newsBeforeEvent:"この{eventName}以前のニュース",time15MinLater:"15分後",time30MinLater:"30分後",time1HourLater:"1時間後",time2HoursLater:"2時間後",time4HoursLater:"4時間後",noDataHere:"No data here",pleaseWaitAndRetry:"Please wait and try again",current:"Current",previousMonth:"前月",nextMonth:"翌月",holiday:"Holiday",seeAll:"すべて表示",selectedSymbols:"選択したシンボル",marketNews:"市場ニュース",patternType:"パターンタイプ",unknownPublishDate:"公開日不明",noMatchingArticleDetails:"一致する記事の詳細がありません",model:"モデル",temperature:"温度",temperatureLow:"低",temperatureMedium:"中",temperatureHigh:"高",previousActual:"前回実績",currentForecast:"現在の予測",previousForecast:"前回予想",goToEventDetail:"イベント詳細へ",eventInfoNotFound:"イベント情報が見つかりません",ppi:"生産者物価指数は、製造業者および生産者が販売する商品とサービスの価格変動を測定する。",cpi:"消費者物価指数は、消費者が購入する商品とサービスの価格変動を測定する。",coreCpi:"コアCPIは、食品とエネルギーを除く消費者物価の変化を測定し、中央銀行が注視する重要なインフレ指標である。",jolts:"求人労働異動調査(JOLTS)は、米国における未充足の求人件数を測定する。",nfp:"非農業部門雇用者数は、農業など一部セクターを除いた米国の雇用者数の変化を測定する。",ijc:"新規失業保険申請件数は、米国で初めて失業保険を申請した人数を測定し、労働市場の状況を示す。",fomc:"連邦公開市場委員会(FOMC)は、金利を設定し金融政策を実施する米国の中央銀行機関である。",fedRate:"連邦準備制度(FRB)の金利決定発表は、目標フェデラルファンド金利を設定し、金融政策と金融市場に影響を与える。",gdpAdvance:"国内総生産(GDP)は、経済で生産された商品とサービスの総価値を測定する。速報GDPは最初の推計値である。",gdpMonthly:"国内総生産(GDP)は、経済で生産された商品とサービスの総価値を測定する。月次発表は短期的成長(例:英国GDP前月比)を追跡する。",unemploymentRate:"失業率は、労働力に占める失業者の割合を測定する。",ahe:"平均時給は、農業従事者を除く労働者の賃金の前月比変化を測定する。",corePce:"コアPCE価格指数は、食品とエネルギーを除く個人消費支出の前月比変化を測定し、FRBが重視するインフレ指標である。",retailSales:"小売売上高は、小売レベルでの総売上高の前月比変化を測定する。",ismManufacturingPmi:"ISM製造業PMIは、調査データに基づく米国製造業の景況を測定し、50を上回ると拡大を示す。",ismServicesPmi:"ISMサービス業PMIは、調査データに基づく米国サービス業の景況を測定し、50を上回ると拡大を示す。",gdpPrelim:"速報GDPは、四半期GDP成長の2次推計であり、経済で生産された商品とサービスの総価値を測定する。",adpNfp:"ADP非農業部門雇用者数変化は、ADP/ムーディーズ調査に基づく民間雇用の変化を測定し、公式の非農業部門雇用統計の先行指標である。",eci:"雇用コスト指数(ECI)は、賃金と福利厚生を含む労働コストの四半期変化を測定し、FRBが注視する重要なインフレ指標である。",flashManufacturingPmi:"速報製造業PMIは、調査データに基づく製造業活動の暫定推計であり、50を上回ると拡大を示す。",flashServicesPmi:"速報サービス業PMIは、調査データに基づくサービス業活動の暫定推計であり、50を上回ると拡大を示す。",claimantCount:"英国失業保険申請者数変化は、失業関連給付を申請した人数の月次変化を測定し、英国労働市場の重要指標である。",boeRate:"イングランド銀行政策金利は、金融政策委員会が設定する金利であり、英国の金融政策とポンド市場を方向付ける。",ecbMainRefinancingRate:"ECB主要リファイナンス金利は、ユーロ圏の金融政策を導く流動性供給オペの主要政策金利である。",snbPolicyRate:"スイス国立銀行政策金利は、SNBの主要政策金利(SARONベース)であり、スイスの金融政策とCHF市場を方向付ける。",cadEmploymentChange:"カナダ雇用変化は、カナダ統計局の労働力調査に基づく雇用者数の月次変化であり、カナダ労働市場とCADの重要指標である。"},Wp={matchPercent:"一致率 {percent}%",matchLabel:"一致",mismatch:"不一致",noResultsFound:"結果が見つかりません",result:"結果",filter:"フィルター",filterBy:"フィルター条件",clearFilter:"フィルターをクリア",selectFilterType:"フィルタータイプを選択",matchPercentLabel:"一致率 %",selectSymbol:"シンボルを選択",selectMatchPercent:"一致率 %を選択",selectDateRange:"期間を選択",dateLast1Month:"過去1ヶ月",dateLast6Months:"過去6ヶ月",dateLastYear:"過去1年",dateLast3Years:"過去3年",dateAllTime:"全期間",noDataFound:"データがありません",runScanToSeePatternResults:"ここでスキャンを実行してパターン結果を表示",scanAgainToPlay:"チャートを再生するために再度スキャン",scan:"スキャン",activateSelector:"セレクターを有効化",resetAfterDuration:"リセットまで: {duration}",markets:"市場",scannerOptions:"スキャナー設定",saveOptions:"設定を保存",searchSymbol:"銘柄を検索",probabilityCalculation:"確率計算",probabilityCalculationTooltip:"確率計算に使用する今後のローソク足の数を定義します。",period:"期間",periodTooltip:"スキャン結果の期間を定義します",timeframeTooltip:"スキャン結果の時間足を定義します",topResultsTooltip:"スキャン結果の件数を定義します",auto:"自動",settings:"設定",collapseToolbar:"ツールバーを折りたたむ",expandToolbar:"ツールバーを展開する",availableBars:"利用可能なバー: {count}",clearReplayFirst:"先にリプレイチャートをクリアしてください",trackPattern:"パターン追跡",selectAll:"すべて選択",searchTimeframe:"時間足を検索",selectAllTimeframes:"すべての時間足を選択",selectTimeframeAria:"時間足 {label} を選択",selectSymbolAria:"銘柄 {symbol} を選択",timeframeTypeMinutes:"分足",searchFilterSaved:"検索フィルターが正常に保存されました。",periodAll:"すべて",periodLastYear:"過去1年",periodLast3Years:"過去3年",periodLast5Years:"過去5年",periodLast15Years:"過去15年",topResults:"トップ結果",tabSymbols:"銘柄",tabAdvancedOptions:"詳細オプション",tabBasic:"基本",tabAdvancedFilter:"高度なフィルター",priceMovementData:"価格変動データ:",askAssistantExplanation:"アシスタントに説明を依頼する",selectCandleCount:"ローソク足数を選択",priceChanges:"価格変動",candlesCount:"{count} 本のローソク足",basedOnDirectionPatterns:"これらのパターンに続く「{direction}」方向に基づく",noAiMovementData:"{direction}方向のAI価格変動データはありません"},qp={scannedAt:"スキャン日時:",trackerActivated:"トラッカーが有効になりました",match:"一致: {percent}%",result:"結果",windowSize:"ウィンドウサイズ: {size}",patternSelectorHistory:"Pattern Selector履歴",noFilter:"フィルターなし",favorite:"お気に入り",windowSizeFilter:"ウィンドウサイズ",windowSizePlaceholder:"ウィンドウサイズ (10-50)",submit:"送信"},Vp={trackYourCustomPatterns:"カスタムパターンを追跡する",selectedSymbol:"選択したシンボル",selectedSymbols:"選択したシンボル",timezone:"タイムゾーン",selectedTimeframes:"選択したタイムフレーム",moreItems:"あと{count}件",selectedBars:"選択したバー",barsCount:"{count}本",timeFrame:"タイムフレーム",patternType:"パターンタイプ",created:"作成日",editPattern:"パターンを編集",createNewTracker:"新しいトラッカーを作成",firstYouHaveToScan:"まずスキャンを実行する必要があります",goToScan:"スキャンへ移動",addToPatternTracker:"Pattern Trackerに追加",goToPatternTracker:"Pattern Trackerへ移動",addToPatternTrackerDescription:"このパターンが出現した際にリアルタイム通知を受け取ります。このアラートを識別しやすい名前を入力してください。",patternName:"パターン名",patternNamePlaceholder:"このパターンの名前を入力してください",patternNameMinChars:"5文字以上必要です。",patternNameMaxChars:"20文字の上限に達しました。",patternNameErrorTitle:"パターン名エラー",patternNameErrorDescription:"パターンシグナルの名前を入力してください",customPatternSignalTooltip:"パターンがMARKET上で形成されると、カスタムパターンシグナルとして通知されます",noPatternDataFound:"パターンデータが見つかりません",limitReached:"上限に達しました",limitReachedTrackerDescription:"パターントラッカーの最大数に達しました。",trackerUpgradeToastDescription:"現在のプランで許可されている最大シグナル数に達しました。さらに利用するにはプランをアップグレードしてください。",patternConfigUpdated:"パターン設定を更新しました",patternConfigUpdatedDesc:"パターン設定「{name}」が更新されました",patternConfigError:"パターン設定エラー",patternConfigErrorDesc:"パターン設定の更新に失敗しました",patternSaved:"パターンを保存しました",patternSavedDesc:"パターン名「{name}」を保存しました",patternSignalError:"パターンシグナルエラー",patternSignalErrorDesc:"パターンの保存に失敗しました",trackerTutorialPlanLimitExpert:"ご利用プランのパターントラッカー上限は{limit}件です。",trackerTutorialPlanNoTracking:"現在のプランにはパターン追跡機能が含まれていません。アップグレードプランではパターンをトラッカーに追加できます。",trackerTutorialPlanTrackingLimit:"現在のプランでは最大{limit}件のパターンを追跡できます。アップグレードプランではさらに多くのパターンを追跡できます。",currentPlan:"現在のプラン",planFree:"無料",configurePatternTracker:"Pattern Trackerを設定する",selectTimeframesAndSymbols:"このパターンを監視する時間足と銘柄を選択してください。",selectTimeframes:"時間足を選択",chooseTimeframes:"このパターンを監視する時間足を選択してください。",searchTimeframes:"時間足を検索",timeframeSelected:"{count}件の時間足を選択",timeframesSelected:"{count}件の時間足を選択",symbolSelected:"{count}件の銘柄を選択",symbolsSelected:"{count}件の銘柄を選択",patternSelected:"{count}件のパターン",patternsSelected:"{count}個のパターン",patternTypes:"パターンタイプ",patternSubscribed:"パターンを登録しました",patternSubscribedDesc:"パターン「{name}」の追跡を開始しました",patternSubscriptionError:"パターン登録エラー",subscriptionModalAria:"パターントラッカー登録",noPatternCandles:"パターンのローソク足が見つかりません",chartSymbolRequired:"チャートのシンボルは必須です",userIdRequired:"ユーザーIDは必須です",subscribe:"登録",subscribing:"登録中...",tabTimeShort:"時間",signalDialog:{title:"シグナル設定 - {patternTitle}",successDescription:"シグナル設定が正常に更新されました",selectOneTimeframe:"少なくとも1つの時間足を選択してください",selectOneSymbol:"少なくとも1つの銘柄を選択してください",selectOneTimeframeAndSymbol:"少なくとも1つの時間足と1つの銘柄を選択してください",selectCurrencyPairs:"通貨ペア",chooseCurrencyPairs:"このパターンを監視する通貨ペアを選択してください",searchCurrencyPairs:"通貨ペアを検索"},noMatchesFound:"一致する結果がありません",filterCategoryPattern:"パターン",filterCategorySymbol:"シンボル",filterCategoryTimeframe:"時間足",selectCategory:"カテゴリを選択",searchCategory:"{category}を検索...",timeframeOptions:{M15:{displayName:"15分",description:"15分足"},M30:{displayName:"30分",description:"30分足"},H1:{displayName:"1時間",description:"1時間足"},H2:{displayName:"2時間",description:"2時間足"},H4:{displayName:"4時間",description:"4時間足"},D:{displayName:"1日",description:"日足"}}},_p={priceActionPattern:"プライスアクションパターン",labels:{flagbear:"Bearish Flag",flagbull:"Bullish Flag",dd_top:"Double Top",dd_bot:"Double Bottom",aad_up:"AAD Up",aad_down:"AAD Down",has_bull:"Head and Shoulders Bullish",has_bear:"Head and Shoulders Bearish",rectangle:"Rectangle"},timeframes:{M1:"1 minute",M5:"5 minutes",M15:"15 minutes",M30:"30 minutes",H1:"1 hour",H2:"2 hours",H4:"4 hours",D1:"Daily"},patterns:{doubleBottom:{desc:'<div><p>これらのパターンは、価格が同じ価格帯を2回試し、突破できなかったときに形成されます。</p><ul style="list-style-type: disc; margin-left: 20px; margin-top: 10px;"><li>これは市場が一方向への勢いを失っていることを示します。</li><li>レンジの外へブレイクすると、通常は反転が近いことを示します。</li></ul></div>'},doubleTop:{desc:'<div><p>これらのパターンは、価格が同じ価格帯を2回試し、突破できなかったときに形成されます。</p><ul style="list-style-type: disc; margin-left: 20px; margin-top: 10px;"><li>これは市場が一方向への勢いを失っていることを示します。</li><li>レンジの外へブレイクすると、通常は反転が近いことを示します。</li></ul></div>'},bullishFlag:{desc:'<div><p>強い上昇または下降の後に発生する短期間の停滞または保ち合いです。</p><ul style="list-style-type: disc; margin-left: 20px; margin-top: 10px;"><li>価格はトレンドに逆らう小さな傾斜したチャネル内で動きます。</li><li>フラッグを突破すると、多くの場合トレンドは同じ方向へ継続します。</li></ul></div>'},bearishFlag:{desc:'<div><p>強い上昇または下降の後に発生する短期間の停滞または保ち合いです。</p><ul style="list-style-type: disc; margin-left: 20px; margin-top: 10px;"><li>価格はトレンドに逆らう小さな傾斜したチャネル内で動きます。</li><li>フラッグを突破すると、多くの場合トレンドは同じ方向へ継続します。</li></ul></div>'},bullishHeadShoulders:{desc:'<div><p>このパターンは市場の強さの変化を示し、トレンド反転の可能性を示唆します。</p><ul style="list-style-type: disc; margin-left: 20px; margin-top: 10px;"><li>大きな動き(「ヘッド」)と、その両側にある2つの小さな動き(「ショルダー」)の3つの部分で構成されています。</li><li>パターンが完成すると、価格はそれまでのトレンドとは反対方向へ動くことがよくあります。</li></ul></div>'},bearishHeadShoulders:{desc:'<div><p>このパターンは市場の強さの変化を示し、トレンド反転の可能性を示唆します。</p><ul style="list-style-type: disc; margin-left: 20px; margin-top: 10px;"><li>大きな動き(「ヘッド」)と、その両側にある2つの小さな動き(「ショルダー」)の3つの部分で構成されています。</li><li>パターンが完成すると、価格はそれまでのトレンドとは反対方向へ動くことがよくあります。</li></ul></div>'}}},Kp={chartPatterns:"チャートパターンとは何か?",flagPattern:"フラッグパターンを効果的に取引する方法?",rectanglePattern:"レンジ(レクタングル)パターンで注目すべき主な特徴は何か?"},Jp={pip:"ピップとは何か?",majorCurrencyPairs:"取引する主要通貨ペアは何か?",lotSize:"ロットサイズとは何か?",leverage:"レバレッジとは何か?",margin:"証拠金とは何か?",bullishFlagTrack:"すべてのシンボルと時間足で強気フラッグパターンを追跡"},Xp={cpi:"CPIとは何か、そして市場にどのような影響を与えるのか?",nfp:"NFPとは何か、そして市場にどのような影響を与えるのか?",eurImpactfulNews:"USD市場で最も影響力のあるニュースは何か?"},Zp="lang",Qp="プロフィール",$p={statistics:{tradersReport:"10人中7人のトレーダーが、取引判断の一貫性が向上したと報告しています。",satisfactionRate:"ベータテスターの96%が満足しており、「まるで隣に頭脳があるような感覚で取引できる」と評価しました。",usersChanged:"80%以上のユーザーが、iC Candleによって市場分析の方法が変わったと答えています。",lessTimeWatching:"パターンリマインダーのおかげで、ユーザーはチャート監視時間を平均40%削減しています。",heading:"すでに何千人ものトレーダーが、市場を見る方法を変えています。"},feedback:{marketHistory:"市場の履歴が私のトレードを導く:トレードに過去の市場反応を活用することが、完全に新しいスタイルになっている。得られる価値とサブスクリプションの料金を比べると?まったく比較にならない。A. Lee 仮想通貨アナリスト(シンガポール)",tradersChatGPT:"トレーダーのためのChatGPT:私は日常生活のほぼすべてにChatGPTを使っているが、それがどれほど物事を簡単にするかは誰もが知っている。そして正直に言うと…トレーダー版のChatGPTを見つけたと思う。M. Ganbaatar プロップトレーダー(iTrader)",backtesting:"次元の違うバックテスト感覚:iC Candleのバックテストは本当にゲームチェンジャーだ。今ではすべてが驚くほど速く、明確になった。かなりハマっている。このレベルになると、これなしでトレードするアクティブトレーダーは想像できない。B. Enkhbayar FXトレーダー(モンゴル)",confirmsSetup:"セットアップの確認になる:やっと自分の分析が正しいかどうかを証明してくれるツールに出会えた。iC Candleを使い始めてから、トレード時の迷いが約80%減った。今ではかなり自信がある。S. Kimura スイングトレーダー(日本)",backtestingTitle:"次元の違うバックテスト感覚",backtestingDesc:"iC Candleのバックテストは本当にゲームチェンジャーだ。今ではすべてが驚くほど速く、明確になった。かなりハマっている。このレベルになると、これなしでトレードするアクティブトレーダーは想像できない。",confirmsTitle:"セットアップの確認になる",confirmsDesc:"やっと自分の分析が正しいかどうかを証明してくれるツールに出会えた。iC Candleを使い始めてから、トレード時の迷いが約80%減った。今ではかなり自信がある。",marketHistoryTitle:"市場の履歴が私のトレードを導く",marketHistoryDesc:"トレードに過去の市場反応を活用することが、完全に新しいスタイルになっている。得られる価値とサブスクリプションの料金を比べると?まったく比較にならない。",chatGPTTitle:"トレーダーのためのChatGPT",chatGPTDesc:"私は日常生活のほぼすべてにChatGPTを使っているが、それがどれほど物事を簡単にするかは誰もが知っている。そして正直に言うと…トレーダー版のChatGPTを見つけたと思う。"},tags:{all:"すべて",blog:"Blog",crypto:"Crypto",event:"Event",pairs:"Pairs"}},em={title:"ページが見つかりません",description:"お探しのページは存在しないか、移動された可能性があります。",backToHomepage:"ホームページに戻る",imageAlt:"ページが見つかりません"},tm=JSON.parse(`{"Page":{"title":{"terms":"利用規約","privacy":"プライバシーポリシー","refund":"返金およびキャンセルポリシー","cookie":"Cookieポリシー"},"tabs":{"terms":"利用規約","privacy":"プライバシーポリシー","refund":"返金およびキャンセルポリシー","cookie":"Cookieポリシー"},"nav":{"terms":"利用規約","privacy":"プライバシーポリシー","refund":"返金およびキャンセルポリシー","cookie":"Cookieポリシー"}},"Terms":{"title":"利用規約(Terms of Service / TOS / 条件 / 免責事項 / 契約 / 同意事項)","intro":{"p1":"This agreement is made between Pixel Nexus Global, a Singaporean Limited Liability company operating as www.iccandle.ai (“Pixel Nexus Global,” “we,” “us,” or “our”), and the individual or entity purchasing or utilizing services offered through the Platform (“Customer,” “you,” or “your”). If you are acquiring the Services on behalf of a third party, you confirm that you have the legal authority to bind that party to these Terms of Service and will be liable for their use of the Services.","p2":"By accessing the Platform and Services outlined in this document and promoted on www.iccandle.ai, or by subscribing to services via the iccandle.ai website, you acknowledge that you have read, understood, and agreed to these Terms, Conditions, and Disclaimers. You further agree that your relationship with us is governed by the provisions set forth in this TOS.","p2Emphasis":"If you do not accept these terms, you must discontinue all use of iccandle.ai and any associated services or Platforms immediately."},"sections":[{"title":"1. The Services","paragraphs":["Pixel Nexus Global will provide active customers in good standing with access to its AI-powered analytical tool (the “Platform”). As used in this Agreement, the term “Services” refers to Pixel Nexus Global’s provision of your access to the Platform. The Services will be provided to you under one or more subscriptions, account activations, sign-ups, or orders placed by you on the iccandle.ai website and accepted by Pixel Nexus Global (an “Order”).","In case of any conflict between these TOS and an Order, the terms of these TOS shall take precedence. By accepting the Services, you acknowledge and agree that any different or additional terms proposed by you in an Order or otherwise are expressly rejected by Pixel Nexus Global, unless we have agreed to such terms in a written document signed by an authorized representative."]},{"title":"2. Your Obligations","subsections":[{"title":"Customer Information and Account Responsibilities","paragraphs":["You agree to provide Pixel Nexus Global with accurate information when creating your account, throughout our business relationship, and in all correspondence with us. We may occasionally need to contact you via email or telephone regarding the Services. You agree to maintain a valid email address that you check daily and to promptly notify us of any changes to your contact information.","Pixel Nexus Global shall not be responsible for any service interruptions, damages, or consequences resulting from misdirected communications due to your failure to provide current contact details. You also agree to complete all data entitlement surveys within the platform completely and truthfully to maintain compliance with exchange regulations."]},{"title":"Permitted Use of Platform","paragraphs":["Your use of the Platform must comply with these TOS and any accompanying documentation we provide. If you permit third parties to access the Platform, you agree to: (i) restrict their use in accordance with these terms; (ii) ensure their compliance with these TOS and our Privacy Policy; and (iii) remain fully liable for any violations of these TOS or the Privacy Policy by such third parties."]},{"title":"Intellectual Property and Legal Compliance","paragraphs":["You agree not to alter, obscure, or remove any trademark or proprietary notices. You may only use the Platform in accordance with: (i) the laws governing these TOS; and (ii) all applicable laws in your jurisdiction.","Unauthorized use is strictly prohibited."]}]},{"title":"3. Term","subsections":[{"title":"Effective Date and Term Duration","paragraphs":["These Terms of Service (TOS) become effective (\\"Effective Date\\") on the earlier of: (i) the date you click \\"I accept\\" as recorded by our servers; or (ii) the date you first access or use the Platform.","These TOS remain in effect for the duration of any active Order."]},{"title":"Subscription Terms and Renewals","paragraphs":["The Services will automatically renew for successive periods (monthly, quarterly, or annually) as specified in your Order. If unspecified, the default initial subscription period (\\"Initial Term\\") is one month. Subsequent renewal periods (\\"Renewal Terms\\") will match the Initial Term’s duration."]},{"title":"Trial Period Terms","paragraphs":["Pixel Nexus Global may offer trial periods (paid or free) as indicated on the iccandle.ai trial signup page. During any trial period:"],"listOrdered":["All terms and conditions of this agreement apply as if you were a paid subscriber","You may cancel at any time during the trial to prevent automatic renewal","Trial terms and conditions are subject to change without notice"]},{"title":"Subscription Management Responsibility","paragraphs":["You are solely responsible for managing your subscription, including:"],"listDisc":["Monitoring renewal dates","Updating payment information","Initiating cancellations","Maintaining current contact information"],"paragraphsAfter":["Pixel Nexus Global is not responsible for any charges due to failure to manage your subscription."]}]},{"title":"4. Termination","subsections":[{"title":"Cancellation and Termination Policy","paragraphs":["Details about cancellation and refund policies are available on our Refund and Cancellation Policy page at iccandle.ai. Terminating your account disables automatic renewals but does not cancel past invoices or make prior payments refundable unless stated otherwise in our Refund and Cancellation Policy.","Any currently due invoices must be paid in full to settle your account. Your access to Pixel Nexus Global services will continue until the expiration of your prepaid period or trial term."]},{"title":"Termination for Convenience","paragraphs":["Either party may terminate any Order by providing written notice at least one (1) day before the expiration of the Initial Term or any Renewal Term. For purposes of this provision, “written notice” includes communication through email, live chat, telephone, or via the Online Portal, indicating a desire not to continue service with Pixel Nexus Global in the future."]},{"title":"Termination for Policy Violations","paragraphs":["Pixel Nexus Global reserve the right to immediately suspend Services and/or terminate any Order in cases of violation of these TOS, breach of our Privacy Policy, or use of Services in a manner contrary to law or generally accepted internet standards. Such termination may occur without prior notice, dispute resolution process, or refund of any fees."]},{"title":"Effect of Termination","paragraphs":["The expiration or termination of any Order does not affect any rights or obligations that either (i) came into effect upon or after such expiration/termination, or (ii) survive the termination and were incurred by the parties prior to termination. Upon termination, you must promptly settle any outstanding balance. Pixel Nexus Global is not obligated to return any paid fees for terminations occurring prior to completion of a full term, except as may be expressly provided in our Refund and Cancellation Policy.","All termination matters are governed by the complete terms set forth in this agreement, and Pixel Nexus Global maintains full discretion in enforcing these provisions."]}]},{"title":"5. License Grant and Restrictions","paragraphs":["Pixel Nexus Global grants you a limited, revocable, non-exclusive, non-transferable, worldwide license to utilize our proprietary technology (\\"Pixel Nexus Technology\\") solely for accessing and employing our analytical engines as part of the Services, including any generated reports (\\"Reports\\"). This license is restricted to your account's registered users and automatically terminates upon expiration or termination of these TOS.","No rights beyond this limited license are conferred. All ownership rights in the Pixel Nexus Technology remain exclusively with Pixel Nexus Global or its licensors. You are expressly prohibited from: transferring, leasing, lending, sublicensing, reselling, or distributing the technology; using it for timesharing or service bureau purposes; or permitting unauthorized third-party access. You may not circumvent any protective measures safeguarding our proprietary interests, nor modify, reproduce, decompile, reverse engineer, or create derivative works from the Pixel Nexus Technology or Platform components. Upon termination, you must immediately cease using and permanently delete all Pixel Nexus Technology in your possession, ensuring any third parties with access do likewise."],"subsections":[{"title":"Ownership Rights","paragraphs":["Pixel Nexus Global retains all rights, title, and interest in the Pixel Nexus Technology and Platform, including but not limited to all derivative works, improvements, enhancements, and associated intellectual property rights such as trademarks and copyrights."]},{"title":"Feedback Provisions","paragraphs":["You may voluntarily provide, or we may solicit, input regarding the Platform or Services (\\"Feedback\\"), including suggestions for modifications or improvements. You acknowledge such Feedback constitutes Pixel Nexus Global's confidential proprietary information and irrevocably assign all related rights and interests to us. Pixel Nexus Global may utilize Feedback for any purpose without limitation or compensation obligation. This assignment applies globally and survives termination of these TOS.","All rights not expressly granted herein are reserved by Pixel Nexus Global. Any unauthorized use constitutes breach of these TOS and may result in immediate termination of your access rights."]}]},{"title":"6. Data Usage and Intellectual Property Rights","paragraphs":["Pixel Nexus Global may utilize information you provide or data collected from your use of the Platform and Services (\\"Operational Information\\") to deliver technical support and facilitate the implementation, operation, and administration of the Services. By using our Services, you grant us a perpetual, irrevocable license to process and analyze this Operational Information. We may combine this data with aggregate information from our general business operations to enhance existing Services or develop new products and offerings.","Pixel Nexus Global shall retain exclusive ownership of all intellectual property derived from such analysis and improvements. You hereby irrevocably waive any potential rights to this intellectual property and assign all rights, title, and interest therein to Pixel Nexus Global. You further agree to provide reasonable cooperation in securing and protecting these rights. We reserve the right to commercialize this Operational Information through sale, monetization, or incorporation into other products and services, without obligation to compensate you or grant you any ownership interest.","This license shall terminate upon expiration or cancellation of these Terms of Service, except with respect to historical data that has been aggregated and anonymized such that it cannot be identified as originating from your organization. Pixel Nexus Global may retain and continue to use such anonymized, aggregated data indefinitely for any lawful business purpose.","All intellectual property rights not expressly granted herein remain the exclusive property of Pixel Nexus Global. Your continued use of the Services constitutes acceptance of these terms regarding data usage and intellectual property rights."]},{"title":"7. Accuracy of Information Disclaimer","paragraphs":["Pixel Nexus Global relies on third-party data feeds to power its platform and therefore cannot guarantee the absolute accuracy of the information displayed. Different features within our system (such as scanners, automated analysis tools, charting functions, and back testing capabilities) may utilize separate data providers, which can result in variances between datasets across different platform features. Users should always verify analysis results and scanner conditions to ensure data consistency.","The platform's analytical outputs are inherently dependent on the quality of underlying third-party data, and Pixel Nexus Global makes no representations or warranties regarding the accuracy of these analyses. The iccandle.ai website, Services, and Platform are designed solely for informational and research purposes - they should never serve as the sole basis for investment decisions. Pixel Nexus Global disclaims all liability for any financial losses resulting from reliance on potentially inaccurate data or analysis within the Platform.","The Pixel Nexus Global system is provided strictly on an \\"as-is\\" basis without guarantees or warranties of any kind, as its functionality depends on unverified third- party data sources. The platform is intended exclusively for educational, entertainment, and general informational use - not as professional financial advice or a substitute for independent investment research. Users assume all risk associated with interpreting and acting upon any information displayed within the system.","By accessing and using the Platform, you acknowledge these inherent limitations and agree that Pixel Nexus Global shall not be held responsible for any consequences arising from data inaccuracies, analysis errors, or investment decisions made based on platform content."]},{"title":"8. Disclaimer of Investment Advice and Platform Limitations","paragraphs":["The analytical tools and outputs provided by Pixel Nexus Global's iccandle.ai platform are strictly for informational and research purposes only and should not be construed as investment advice. The platform relies on third-party data sources that may contain inaccuracies, and different features may produce varying results due to separate data providers. All analysis, including results from our Pattern Selector, Pattern Tracker, and News Impact Intelligence, is provided \\"AS-IS\\" without any guarantees of accuracy. These tools demonstrate historical patterns, probabilities, and market behavior under past conditions and cannot predict future results, as actual market outcomes may differ due to liquidity, execution, and other variables. You must never rely solely on platform analysis when making investment decisions."]},{"title":"9. Risk Acknowledgement and User Responsibility","paragraphs":["By using Pixel Nexus Global's platform (iccandle.ai), you expressly acknowledge and accept full responsibility for all risks associated with any investment decisions made based on information or analysis obtained from our Platform. You understand that our services rely on third-party data sources that may contain inaccuracies, and that our analytical models employ mathematical formulas and sequences that have not been independently verified for predictive accuracy. Pixel Nexus Global cannot and does not guarantee the reliability of any market data, technical indicators, or analytical outputs generated by the Platform.","Prior to executing any trades, you agree to either: (i) consult with a qualified, licensed financial professional; or (ii) conduct comprehensive independent research using multiple verified information sources.","Pixel Nexus Global expressly disclaims all liability for any trading losses, missed opportunities, or other financial consequences resulting from your reliance on Platform content. By continuing to use iccandle.ai, you confirm your understanding that our tools are designed for informational purposes only and that you alone bear complete responsibility for all investment choices and outcomes. This warning constitutes an essential term of our agreement, and your use of the Platform signifies your unconditional acceptance of these risk disclosures."]},{"title":"10. Disclaimer of Warranties and Service Limitations","paragraphs":["The Pixel Nexus Global platform (iccandle.ai), including all Services, scripts, reports, analytical engines, and related technology, is provided strictly on an \\"AS-IS\\" and \\"AS- AVAILABLE\\" basis. Pixel Nexus Global makes no representations or warranties of any kind, whether express or implied. This includes, but is not limited to, all implied warranties of non-infringement, merchantability, fitness for a particular purpose, accuracy, quality, or achievement of specific results. No warranties arise from any course of dealing, performance, or trade usage.","Pixel Nexus Global does not guarantee that the Service will meet your requirements, operate without interruption, remain error-free, or be secure from viruses or other harmful components. Compatibility with all websites or browsers is not assured, and Pixel Nexus Global disclaims all liability for issues arising from browser incompatibility or third-party services, even if such services appear integrated with our Platform. Any data transmitted via our Services remains your sole responsibility, and Pixel Nexus Global expressly disclaims liability for such content. No warranties provided by third- party vendors to Pixel Nexus Global extend to you, and you are not a third-party beneficiary of such agreements."],"subsections":[{"title":"Alert Features and Beta Functionality","paragraphs":["The Platform includes alert features (e.g., \\"Dynamic Price Alerts\\" and \\"Multi-Factor Alerts\\"), which are provided without warranty or guarantee of reliability. Technical delays or failures may occur due to cellular networks, email services, system errors, or other factors. You acknowledge that alerts may not function as intended and agree that Pixel Nexus Global bears no liability for trading losses resulting from reliance on these features, regardless of whether they were used correctly.","Certain features labeled as 'Beta' are under active development and may exhibit unstable or unreliable performance, including inconsistent data or incorrect information due to software bugs or programming errors. These Beta features carry additional risks and should be used with extreme caution."]},{"title":"General Provisions","paragraphs":["This warranty disclaimer applies to all oral or written information provided by Pixel Nexus Global, its employees, affiliates, or third-party vendors. You may not rely on any such statements or representations.","Some jurisdictions may not permit the exclusion of certain warranties. If applicable to you, any warranty claim must be filed within ninety (90) days of the Service provision that gave rise to the claim. Failure to submit a claim within this period constitutes an irrevocable waiver of your right to pursue such claims thereafter.","Third-party websites linked through the Pixel Nexus Global platform are not under our control, and we assume no responsibility for their content or functionality. Accessing these external sites is entirely at your own risk. Such links are provided for convenience only and do not constitute an endorsement or recommendation by Pixel Nexus Global.","By using the Platform, you acknowledge and accept these limitations and disclaimers in full."]}]},{"title":"11. Limitation of Liability","paragraphs":["Pixel Nexus Global's total liability under this Agreement shall not exceed the aggregate fees actually paid by you to Pixel Nexus Global during the one (1) month period immediately preceding the event giving rise to such liability. For purposes of this limitation, \\"Pixel Nexus Global\\" includes its employees, agents, owners, directors, officers, affiliates, and any third-party service providers facilitating the Services.","To the maximum extent permitted by law, you agree that under no circumstances - including negligence - shall Pixel Nexus Global or its licensors, agents, employees, officers, or third-party vendors be liable for any indirect, incidental, special, consequential, or punitive damages. This exclusion applies to, but is not limited to, damages for:"],"listOrdered":["Lost profits or revenue","Business interruption","Data loss or corruption","Lost savings","Any other financial losses incurred by you, end users, or third parties"],"paragraphsAfter":["These limitations apply regardless of whether the action arises in contract, tort (including negligence), or any other legal theory, and shall remain in effect even if Pixel Nexus Global has been advised of the possibility of such damages. While some jurisdictions may not allow limitations on certain liabilities, you agree that, where such restrictions apply, Pixel Nexus Global's liability shall be limited to the maximum extent permitted by applicable law.","This limitation of liability constitutes an essential basis of the bargain between you and Pixel Nexus Global and shall survive termination of this Agreement. By using the Services, you acknowledge that these limitations are reasonable and reflect the risk allocation between both parties."]},{"title":"12. Notices","paragraphs":["All official notices will be sent to your account’s listed contact information. You are responsible for maintaining current and accurate contact details in our records at all times.","For most inquiries, including technical support and billing matters, please visit our website at www.iccandle.ai for contact information and support options.","However, any legal notices regarding these Terms of Service or other Pixel Nexus Global policies must be sent exclusively via postal mail to our designated address:"],"address":{"company":"Pixel Nexus Global PTE. LTD.","lines":["160 Robinson Road, #14-04","Singapore Business Federation Center","Singapore 068914"]}},{"title":"13. Force Majeure","paragraphs":["Neither party shall be liable for any failure or delay in performance (except for payment obligations) due to events beyond their reasonable control, including, but not limited to, acts of God, natural disasters, war, civil unrest, epidemics, labor disputes, utility failures, telecommunication outages, supply chain disruptions, government actions, or other unforeseeable catastrophic events; provided that: (i) the affected party notifies the other in writing within ten (10) days of the event’s commencement; (ii) all payment obligations remain unaffected; (iii) the time for performance shall be extended day-for-day to match the duration of the disruption; and (iv) both parties use commercially reasonable efforts to mitigate the impact.","It is understood that this clause does not permit termination of the Agreement solely due to force majeure conditions, nor does it extend the Agreement term beyond its original expiration date without mutual written agreement."]},{"title":"14. No Waiver","paragraphs":["No failure or delay by Pixel Nexus Global in exercising any right under these Terms shall operate as a waiver of that right, nor shall any single or partial exercise of any right preclude the further or full exercise of that right or any other right under these Terms."]},{"title":"15. Assignment","paragraphs":["Pixel Nexus Global may assign these Terms, or any rights hereunder, without your consent. You may not assign these Terms without our prior written approval. These Terms shall be binding upon, and inure to the benefit of, the parties' respective successors and permitted assigns."]},{"title":"16. Severability","paragraphs":["If any provision of these Terms is held to be invalid or unenforceable by a court of competent jurisdiction, that provision shall be modified to the minimum extent necessary to make it valid and enforceable while preserving its original intent. All other provisions shall remain in full force and effect."]},{"title":"17. No Agency","paragraphs":["Nothing in these Terms creates an agency, partnership, joint venture or employment relationship between the parties. Neither party has authority to bind the other or incur obligations on the other's behalf."]},{"title":"18. Privacy & Conflicts","paragraphs":["Our Privacy Policy is incorporated herein by reference. In the event of a conflict between agreements: (i) these Terms prevail over the Privacy Policy; (ii) any separate service agreement shall prevail over conflicting provisions of these Terms, but only with respect to those specific provisions; and (iii) in all other cases, these Terms shall govern."]},{"title":"19. Jurisdiction and Disclaimer","paragraphs":["The services and information provided on iccandle.ai are not intended for use in jurisdictions where such services would be contrary to local laws or regulations. Access to and use of this website are strictly prohibited for citizens of the following jurisdictions: United States of America, Canada, Russian Federation, Iran, North Korea, Myanmar, Syria, Cuba, Crimea, Donetsk, and Luhansk regions of Ukraine, Afghanistan, Belarus, and Venezuela. This list may be updated at any time without prior notice. Users are solely responsible for ensuring that their access to and use of this website comply with all applicable laws and regulations in their country. iccandle.ai accepts no responsibility or liability for any non-compliance by users with their local regulatory requirements and reserves the right to restrict, block, or terminate access at its sole discretion."]}],"content":"利用規約(Terms of Service / TOS / 条件 / 免責事項 / 契約 / 同意事項)\\n\\n本契約は、シンガポールの有限責任会社であり www.iccandle.ai を運営する Pixel Nexus Global(以下「Pixel Nexus Global」「当社」「当方」)と、プラットフォームを通じて提供されるサービスを購入または利用する個人または法人(以下「顧客」「お客様」)との間で締結されるものです。第三者の代理として本サービスを取得する場合、当該第三者を本利用規約に拘束する法的権限を有していることを確認し、その利用について責任を負うものとします。\\n\\n本書に記載されたプラットフォームおよびサービス、ならびに www.iccandle.ai 上で提供されるサービスにアクセスすること、または同ウェブサイトを通じてサービスに登録することにより、お客様は本利用規約、条件および免責事項を読み、理解し、同意したものとみなされます。また、お客様と当社の関係は本TOSに定める条項により規律されることに同意するものとします。本規約に同意しない場合、直ちに iccandle.ai および関連するすべてのサービス・プラットフォームの利用を中止しなければなりません。\\n\\n1. サービス\\n\\nPixel Nexus Global は、正常な状態にあるアクティブな顧客に対し、AI駆動型分析ツール(以下「プラットフォーム」)へのアクセスを提供します。本契約における「サービス」とは、当該プラットフォームへのアクセス提供を意味します。サービスは、iccandle.ai 上で顧客が行うサブスクリプション、アカウント開設、申込または注文(以下「注文」)に基づき提供されます。\\n\\n本TOSと注文内容が矛盾する場合、本TOSが優先されます。顧客が提示する追加条件は、当社が書面で合意し署名した場合を除き、すべて明示的に拒否されます。\\n\\n2. お客様の義務\\n顧客情報とアカウント責任\\n\\nお客様は、アカウント作成時および当社との取引期間中、常に正確な情報を提供するものとします。当社はサービスに関連してメールまたは電話で連絡する場合があります。お客様は有効なメールアドレスを維持し、変更があれば速やかに通知する義務を負います。\\n\\n誤った連絡先情報による損害について、当社は責任を負いません。また、規制遵守のため、プラットフォーム内のデータ関連アンケートに正確に回答する義務があります。\\n\\nプラットフォームの利用\\n\\n本サービスの利用は本TOSおよび関連ドキュメントに従う必要があります。第三者に利用を許可する場合、以下に同意するものとします:\\n(i) 本規約に従わせること\\n(ii) TOSおよびプライバシーポリシー遵守を保証すること\\n(iii) その違反について全責任を負うこと\\n\\n知的財産および法令遵守\\n\\n商標や所有権表示の改変・削除は禁止されます。法令および適用法に従ってのみ利用できます。不正使用は禁止です。\\n\\n3. 契約期間\\n発効日\\n\\n本規約は以下のいずれか早い時点で発効します:\\n(i) 「同意する」をクリックした時点\\n(ii) 初めてプラットフォームにアクセスした時点\\n\\n注文が有効な間、本規約は有効です。\\n\\nサブスクリプション更新\\n\\nサービスは自動更新されます(毎月・四半期・年次)。未指定の場合、初期期間は1か月とします。\\n\\nトライアル\\n\\n無料または有料トライアルが提供される場合があります。トライアル期間中も本規約が適用されます。キャンセルにより自動更新を防止できます。\\n\\n4. 契約終了\\n\\n解約および返金条件は別途ポリシーに従います。未払い請求は支払う必要があります。\\n\\n任意解約\\n\\nいずれの当事者も更新前に1日前の通知により解約可能です。\\n\\n規約違反による停止\\n\\n違反があった場合、当社は予告なしにサービス停止・契約終了を行う権利を有します。\\n\\n5. ライセンス\\n\\n当社は限定的・非独占・譲渡不可の利用ライセンスを付与します。リバースエンジニアリング、再販売、転売は禁止です。知的財産権はすべて当社に帰属します。\\n\\n6. データ利用\\n\\nお客様データはサービス改善のために利用されます。匿名化されたデータは継続利用される場合があります。\\n\\n7. 情報の正確性免責\\n\\n第三者データに依存するため、完全な正確性は保証されません。本サービスは投資助言ではありません。\\n\\n8. 投資助言の否認\\n\\nすべての分析は参考情報であり、投資判断の根拠として使用してはなりません。\\n\\n9. リスク承諾\\n\\n投資判断はすべて自己責任です。当社は損失について責任を負いません。\\n\\n10. 保証の否認\\n\\nサービスは「現状有姿(AS-IS)」で提供されます。エラーや中断を保証しません。\\n\\n11. 責任制限\\n\\n当社の責任は直近1か月の支払額を上限とします。間接損害について責任を負いません。\\n\\n12. 通知\\n\\n公式通知は登録連絡先に送付されます。法的通知は指定住所へ郵送されます。\\n\\n13. 不可抗力\\n\\n天災・戦争・災害など不可抗力により履行遅延が発生しても責任を負いません。\\n\\n14. 権利放棄なし\\n\\n権利不行使は放棄を意味しません。\\n\\n15. 譲渡\\n\\n当社は自由に契約を譲渡できます。顧客は当社の書面同意なしに譲渡できません。\\n\\n16. 分離可能性\\n\\n一部条項が無効でも他条項は有効です。\\n\\n17. 代理関係の否定\\n\\n本契約は代理・雇用関係を構成しません。\\n\\n18. プライバシーおよび優先順位\\n\\n本規約はプライバシーポリシーに優先します。\\n\\n19. 管轄および制限\\n\\n一部国(米国、カナダ、ロシア、イラン、北朝鮮など)では利用禁止とします。利用者は各国法令遵守責任を負います。"},"Refund":{"title":"返金およびキャンセルポリシー","intro":"This Refund and Cancellation Policy (\\"Policy\\") governs refund and cancellation terms for services provided by Pixel Nexus Global Pte. Ltd. (\\"we,\\" \\"us,\\" \\"our\\") through the iccandle.ai platform (\\"Services\\"). This Policy is incorporated by reference into our Terms of Service and should be read in conjunction with those Terms.","sections":[{"title":"1. Definitions","definitions":[{"term":"サブスクリプション","text":"A recurring paid access to the Services for a specified period (e.g., monthly or annually)."},{"term":"Billing Period","text":"The recurring time interval for which a Subscription fee is charged."},{"term":"Subscription Change","text":"Any upgrade or downgrade to a different Subscription plan."}]},{"title":"2. Cancellation Terms","subsections":[{"title":"Subscription Cancellation","listDisc":["You may cancel your Subscription at any time through your account dashboard or by contacting support.","Cancellation will take effect at the end of the current billing period; you will retain access to the Services through the end of that period.","Cancelling your Subscription does not automatically entitle you to a refund of fees already paid."]}]},{"title":"3. Refund Terms","subsections":[{"title":"3.1 General Rule","paragraphs":["Except as expressly provided in this Policy or required by applicable law, all fees paid for Subscriptions are non‑refundable once charged."]},{"title":"3.2 Refund Eligibility","paragraphs":["We may issue a refund at our sole discretion only in limited circumstances, including but not limited to:"],"listDisc":["Duplicate payments (verified duplicate charges will be refunded).","Technical errors that demonstrably prevented access to Services, where the error was not caused by user actions and is verified by us.","Applicable statutory rights under consumer protection law where these rights apply and cannot be waived."],"paragraphsAfter":["Refunds, if approved, will be processed to the original payment method within a commercially reasonable timeframe determined by payment processors and banking partners."]},{"title":"3.3 No Refund for Partial Use","paragraphs":["Refunds will not be issued for:"],"listDisc":["Partial use of the Services during a billing period.","Downgrades of Subscription plans.","Change of mind or business decisions after payment.","Subscription cancellations submitted after a billing cycle has renewed."]}]},{"title":"4. Subscription Changes (Upgrade or Downgrade)","paragraphs":["We provide two options when changing your Subscription plan:"],"subsections":[{"title":"4.1 Change Now","paragraphs":["If you select \\"Change Now,\\" your new plan will take effect immediately, and the associated charge will be applied.","Please note that no refunds, credits, or prorated adjustments will be provided for any unused portion of your current plan."]},{"title":"4.2 Change on Next Billing","paragraphs":["If you choose \\"Change on Next Billing,\\" your current plan will remain active until the end of the current Billing Period.","The new plan will take effect at the start of the next Billing Period.","No refunds or credits apply to the current Billing Period."]}]},{"title":"5. Cancellation After renewal","paragraphs":["If an automatic renewal has already occurred before you submit a cancellation request: The renewal fee is non-refundable. The cancellation will apply to the next Billing Period."]},{"title":"6. Chargebacks and Disputes","paragraphs":["We maintain a strict no-tolerance policy toward unjustified chargebacks.","Initiating a chargeback or payment dispute without first contacting us to seek resolution is considered a breach of this Refund and Cancellation Policy and our Terms of Service. Such actions may result in immediate suspension or permanent termination of your account, without notice, and forfeiture of access to the Services.","We reserve the right to challenge and dispute any chargeback that we deem unauthorized, abusive, or inconsistent with this Policy. This includes providing payment processors, banks, and financial institutions with all relevant evidence, including but not limited to:"],"listDisc":["Proof of service delivery and access logs","Account activity records","Acceptance of our Terms of Service and policies","Communication history with the customer"],"paragraphsAfter":["Customers are strongly encouraged to contact our support team first to resolve any billing concerns. We are committed to addressing legitimate issues in good faith; however, chargebacks used as a substitute for cancellation or refund requests will not be tolerated."]},{"title":"7. Modification of Policy","paragraphs":["We may update this Policy from time to time. Material changes will be posted on our website or communicated via email prior to taking effect. Continued use of the Services after such updates constitutes acceptance of the revised Policy."]},{"title":"8. Contact Information","paragraphs":["For all cancellation and refund requests, please contact our support team via our help center."]}],"content":"返金およびキャンセルポリシー\\n\\n本返金およびキャンセルポリシー(以下「本ポリシー」)は、Pixel Nexus Global Pte. Ltd.(以下「当社」)が iccandle.ai プラットフォーム(以下「サービス」)を通じて提供するサービスに関する返金およびキャンセル条件を定めるものです。本ポリシーは利用規約の一部を構成し、利用規約と併せて適用されます。\\n\\n1. 定義\\n\\nサブスクリプション(Subscription): 一定期間(例:月額または年額)にわたりサービスへ有料でアクセスする契約。\\n\\n請求期間(Billing Period): サブスクリプション料金が定期的に請求される期間。\\n\\nサブスクリプション変更(Subscription Change): 上位または下位プランへの変更。\\n\\n2. キャンセル条件\\nサブスクリプションのキャンセル\\nアカウントダッシュボードまたはサポートへの連絡により、いつでもキャンセル可能です。\\nキャンセルは現在の請求期間の終了時に有効となります。\\n期間終了まではサービスを利用できます。\\n既に支払われた料金の自動返金は行われません。\\n3. 返金条件\\n3.1 一般規則\\n\\n本ポリシーまたは適用法令で明示的に定める場合を除き、支払い済みの料金は返金不可です。\\n\\n3.2 返金対象\\n\\n当社の裁量により、以下の場合に限り返金を行うことがあります:\\n\\n重複支払い(確認済みの場合)\\nユーザー起因ではない技術的エラーによりサービス利用が不可能だった場合\\n消費者保護法に基づく法的権利が適用される場合\\n\\n承認された返金は、決済手段を通じて合理的期間内に処理されます。\\n\\n3.3 部分利用の返金不可\\n\\n以下の場合は返金されません:\\n\\n請求期間の一部利用\\nダウングレード\\n支払い後の気変わり\\n更新後のキャンセル\\n4. サブスクリプション変更\\n4.1 即時変更\\n\\n即時変更を選択した場合、新プランは直ちに適用され、追加料金が発生します。未使用分の返金・調整は行われません。\\n\\n4.2 次回請求時変更\\n\\n現在のプランは請求期間終了まで有効であり、新プランは次回から適用されます。\\n\\n5. 更新後のキャンセル\\n\\n自動更新後のキャンセルは当該料金の返金対象とはならず、次回期間から適用されます。\\n\\n6. チャージバックおよび紛争\\n\\n不当なチャージバックは禁止されています。\\n\\n当社への事前連絡なしにチャージバックを行うことは、本ポリシーおよび利用規約違反とみなされ、アカウント停止または永久停止となる場合があります。\\n\\n当社は以下を含む証拠を決済機関へ提出する権利を有します:\\n\\nサービス提供記録およびアクセスログ\\nアカウント活動履歴\\n利用規約への同意記録\\n顧客との通信履歴\\n7. ポリシーの変更\\n\\n本ポリシーは変更される場合があります。重要な変更は事前に通知されます。\\n\\n8. お問い合わせ\\n\\n返金およびキャンセルの申請はサポートセンターまでご連絡ください。"},"Privacy":{"title":"プライバシーポリシー","intro":"This Privacy Policy explains how Pixel Nexus Global Pte. Ltd. (\\"we\\", \\"us\\", or \\"our\\") collects, uses, discloses, and protects personal information when you use our website, applications, and services (collectively, the \\"Services\\").","sections":[{"title":"1. Information We Collect","paragraphs":["We collect the following information:"],"listDisc":["Email address provided when you sign up for our Services","Service usage information, including interactions with features, pages viewed, session activity, and general usage patterns, collected to improve the functionality, performance, and user experience of our Services"],"paragraphsAfter":["We do not collect, store, or process payment card details or other sensitive payment information."]},{"title":"2. Payments and Stripe","paragraphs":["All payment transactions are processed by our third-party payment service provider, Stripe.","When you make a payment, Stripe collects and processes payment-related information (such as card details, billing information, and transaction data) directly. This information is handled in accordance with Stripe’s Privacy Policy and security standards, including PCI-DSS compliance.","We only receive limited information from Stripe necessary to operate our Services, including:"],"listDisc":["Payment confirmation","Subscription status","Transaction identifiers"],"paragraphsAfter":["We do not have access to your full payment details.","You can review Stripe’s Privacy Policy here:"],"stripePrivacyUrl":"https://stripe.com/privacy"},{"title":"3. How We Use Your Information","paragraphs":["We use the email addresses we collect to:"],"listDisc":["Provide, operate, and maintain our Services","Analyze service usage and improve product functionality, performance, and user experience","Communicate with you regarding technical notices, updates, and support","Inform you about products, services, features, and events"]},{"title":"4. Information Sharing","paragraphs":["We do not sell your personal information.","We may share your information only with:"],"listDisc":["Service providers who support our operations (including hosting, analytics, and payment processing via Stripe)","Professional advisors, such as legal, accounting, or compliance consultants","Law enforcement or regulatory authorities, when required by law or to protect our legal rights"],"paragraphsAfter":["All third-party service providers are required to process personal data in accordance with applicable data protection laws."]},{"title":"5. Your Rights","paragraphs":["Depending on your location, you may have the right to:"],"listDisc":["Access your personal information","Correct or update your email address","Request deletion of your email address","Object to or restrict certain processing activities"],"paragraphsAfter":["Requests related to payment data should be directed to Stripe, as they act as the data controller for payment information."]},{"title":"6. Third-Party Policies","paragraphs":["Our Services rely on third-party providers such as Stripe. Their handling of personal data is governed by their own privacy policies, and we encourage you to review them."]},{"title":"7. Contact Us","paragraphs":["If you have any questions about this Privacy Policy or our data practices, please contact us at:","support@iccandle.ai"]}],"content":"プライバシーポリシー\\n\\n本プライバシーポリシーは、Pixel Nexus Global Pte. Ltd.(以下「当社」)が、ウェブサイト、アプリケーションおよびサービス(総称して「サービス」)の利用において、個人情報をどのように収集、使用、開示および保護するかを説明するものです。\\n\\n1. 収集する情報\\n\\n当社は以下の情報を収集します:\\n\\nサービス登録時に提供されるメールアドレス\\nサービス利用情報(機能とのインタラクション、閲覧ページ、セッション活動、一般的な利用パターン等)\\n\\nこれらの情報は、サービスの機能改善、パフォーマンス向上、およびユーザー体験の向上のために使用されます。\\n\\n当社は、クレジットカード情報やその他の機微な決済情報を収集・保存・処理しません。\\n\\n2. 支払いとStripe\\n\\nすべての支払い処理は第三者決済プロバイダーであるStripeによって行われます。\\n\\n支払い時、Stripeが直接カード情報、請求情報、取引データなどを収集・処理します。これらはStripeのプライバシーポリシーおよびPCI-DSS準拠のセキュリティ基準に従って管理されます。\\n\\n当社がStripeから受け取る情報は以下に限定されます:\\n\\n支払い完了情報\\nサブスクリプション状態\\n取引ID\\n\\n当社は完全な決済情報にはアクセスしません。\\n\\nStripeのプライバシーポリシーはこちら: https://stripe.com/privacy\\n\\n3. 情報の利用目的\\n\\n当社はメールアドレスを以下の目的で使用します:\\n\\nサービスの提供・運営・維持\\n利用状況の分析およびサービス改善\\n技術通知、更新、サポートの連絡\\n製品・機能・イベントに関する案内\\n4. 情報の共有\\n\\n当社は個人情報を販売しません。\\n\\n以下の場合にのみ共有することがあります:\\n\\nサービス運営を支援する業務委託先(ホスティング、分析、Stripeによる決済処理など)\\n法務・会計・コンプライアンスの専門アドバイザー\\n法令遵守または法的権利保護のための当局\\n\\nすべての第三者は適用されるデータ保護法に従う必要があります。\\n\\n5. ユーザーの権利\\n\\n地域によって、以下の権利を有する場合があります:\\n\\n個人情報へのアクセス\\nメールアドレスの修正\\nメールアドレス削除の要求\\n特定の処理への異議申し立てまたは制限\\n\\n支払い情報に関する請求はStripeに直接行ってください。\\n\\n6. 第三者ポリシー\\n\\n当社サービスはStripeなどの第三者サービスに依存しています。これらのデータ処理は各社のプライバシーポリシーに従います。\\n\\n7. お問い合わせ\\n\\nsupport@iccandle.ai"},"Cookie":{"title":"クッキーポリシー","intro":["This Cookie Policy explains how Pixel Nexus Global Pte. Ltd. (\\"we\\", \\"us\\", or \\"our\\") uses cookies and similar technologies when you visit or use iccandle.ai and related services (collectively, the \\"Services\\").","This Policy should be read together with our Privacy Policy."],"sections":[{"title":"1. What Are Cookies?","paragraphs":["Cookies are small text files placed on your device when you visit a website. They are widely used to make websites work efficiently, enhance user experience, and provide information to website operators.","Cookies may be:"],"listDisc":["Session cookies (deleted when you close your browser), or","Persistent cookies (stored for a set period or until deleted)."]},{"title":"2. Types of Cookies We Use","subsections":[{"title":"2.1 Strictly Necessary Cookies","paragraphs":["These cookies are essential for the operation of our Services and cannot be switched off. They are required to:"],"listDisc":["Enable secure login and authentication","Maintain user sessions","Protect against fraud and abuse"],"paragraphsAfter":["Without these cookies, the Services cannot function properly."]},{"title":"2.2 Functional Cookies","paragraphs":["These cookies allow us to remember your preferences and settings, such as:"],"listDisc":["Language or regional preferences","Account-related selections"],"paragraphsAfter":["They improve usability but are not strictly necessary."]},{"title":"2.3 Analytics and Performance Cookies","paragraphs":["We use analytics cookies to understand how users interact with our Services. These cookies collect information such as:"],"listDisc":["Pages visited and features used","Session duration and interaction patterns","Error and performance data"],"paragraphsAfter":["This information is used solely to improve our product, functionality, and user experience. Analytics data is aggregated and does not directly identify individual users."]},{"title":"2.4 Third-Party Cookies","paragraphs":["Some cookies are placed by third-party service providers that support our Services, including:"],"listDisc":["Payment processing services (e.g., Stripe)","Analytics and infrastructure providers"],"paragraphsAfter":["These third parties may use cookies in accordance with their own privacy and cookie policies."]}]},{"title":"3. What We Do NOT Use Cookies For","listDisc":["We do not use cookies for advertising or behavioral targeting","We do not sell cookie data","We do not use cookies to collect sensitive personal information"]},{"title":"4. Managing Cookies","paragraphs":["You can manage or disable cookies through your browser settings. Most browsers allow you to:"],"listDisc":["View cookies stored on your device","Delete existing cookies","Block cookies entirely or from specific websites"],"paragraphsAfter":["Please note that disabling certain cookies may affect the functionality and performance of the Services."]},{"title":"5. Changes to This Cookie Policy","paragraphs":["We may update this Cookie Policy from time to time to reflect changes in technology, law, or our practices. Material changes will be posted on our website. Continued use of the Services after changes take effect constitutes acceptance of the updated Policy."]},{"title":"6. Contact Us","paragraphs":["If you have any questions about this Cookie Policy or our use of cookies, please contact us at:","support@iccandle.ai"]}],"content":"クッキーポリシー\\n\\n本クッキーポリシーは、Pixel Nexus Global Pte. Ltd.(以下「当社」)が iccandle.ai および関連サービス(総称して「サービス」)を利用する際に、クッキーおよび類似技術をどのように使用するかを説明するものです。\\n\\n本ポリシーはプライバシーポリシーと併せてお読みください。\\n\\n1. クッキーとは何か\\n\\nクッキーとは、ウェブサイト訪問時にユーザーのデバイスに保存される小さなテキストファイルです。以下の目的で広く使用されます:\\n\\nウェブサイトの効率的な動作\\nユーザー体験の向上\\nサイト運営者への情報提供\\n\\nクッキーには以下があります:\\n\\nセッションクッキー(ブラウザを閉じると削除される)\\n永続クッキー(一定期間または削除されるまで保存される)\\n2. 使用するクッキーの種類\\n2.1 必須クッキー\\n\\nこれらはサービス運営に不可欠であり、無効化できません。\\n\\n安全なログインと認証\\nユーザーセッションの維持\\n不正利用および詐欺防止\\n\\nこれらがない場合、サービスは正常に動作しません。\\n\\n2.2 機能クッキー\\n\\nユーザーの設定を記憶するために使用されます:\\n\\n言語および地域設定\\nアカウント関連の選択\\n\\n利便性を向上させますが必須ではありません。\\n\\n2.3 分析・パフォーマンスクッキー\\n\\nサービスの利用状況を理解するために使用されます:\\n\\n閲覧ページや利用機能\\nセッション時間や行動パターン\\nエラーおよびパフォーマンスデータ\\n\\nこれらは製品改善目的のみで使用され、個人を直接特定することはありません。\\n\\n2.4 サードパーティークッキー\\n\\n一部のクッキーは外部サービス提供者によって設定されます:\\n\\n決済サービス(例:Stripe)\\n分析・インフラ提供事業者\\n\\nこれらは各社のプライバシーポリシーに従って管理されます。\\n\\n3. クッキーを使用しない用途\\n広告および行動ターゲティング\\nクッキーデータの販売\\n機微な個人情報の収集\\n4. クッキーの管理\\n\\nブラウザ設定からクッキーを管理または無効化できます:\\n\\n保存済みクッキーの確認\\nクッキーの削除\\n特定サイトまたは全体のブロック\\n\\n一部のクッキーを無効化すると、サービスの機能に影響が出る場合があります。\\n\\n5. ポリシーの変更\\n\\n本ポリシーは随時更新されることがあります。重要な変更はウェブサイトに掲載されます。変更後もサービスを継続利用することで、変更に同意したものとみなされます。\\n\\n6. お問い合わせ\\n\\nsupport@iccandle.ai"}}`),nm={Common:Rp,Confirmation:Ep,DateFormat:Op,Alert:Mp,TimeConfig:Ip,Loading:Lp,Auth:Gp,Navbar:Fp,Guide:Bp,Pricing:jp,Settings:Up,Referral:zp,Layout:Yp,News:Hp,Selector:Wp,UserActivity:qp,Pattern:Vp,PatternCatalog:_p,sQuestion_pattern:Kp,sQuestion_general:Jp,sQuestion_news:Xp,justLanguage:Zp,profile:Qp,Landing:$p,NotFound:em,Legal:tm},im={or:"OR",error:"Алдаа",cancel:"Цуцлах",continuing:"Үргэлжилж байна...",email:"Имэйл",password:"Нууц үг",termsOfService:"Үйлчилгээний нөхцөл",privacyPolicy:"Нууцын бодлого",continueWithGoogle:"Google-ээр үргэлжлүүлэх",continuingWithGoogle:"Google-ээр үргэлжилж байна...",signIn:"Нэвтрэх",signUp:"Бүртгүүлэх",agreeAndContinue:"Зөвшөөрч үргэлжлүүлэх",changePlan:"Багцыг өөрчлөх",upgradePlan:"Багцыг cайжруулах +",manageBilling:"Төлбөр хянах",getInTouch:"Холбоо барих",copyright:"© {year} IC Candle, Inc. Бүх эрх хуулиар хамгаалагдсан.",session:"Сешн",sessions:"Сешнүүд",activeWorkspaces:"Идэвхтэй ажлын орчин",date:"Огноо",product:"Бүтээгдэхүүн",plan:"Багц",planNames:{free:"Үнэгүй бaгц",standard:"Стандарт бaгц",pro:"Про бaгц",expert:"Эксперт бaгц"},status:"Төлөв",amount:"Дүн",detail:"Дэлгэрэнгүй",total:"Нийт",prioritySupport:"Давуу эрхтэй дэмжлэг",all:"Бүгд",minutely:"Минут",hourly:"Цаг",daily:"Өдөр",chatAssistant:"Чат туслах",timeframes:"Цагийн хүрээ",symbols:"Симболууд",timeSettings:"Цагийн тохиргоо",step:"Алхам {number}:",learnMore:"Дэлгэрэнгүй",success:"Амжилттай",validationError:"Баталгаажуулалтын алдаа",previous:"Өмнөх",next:"Next",saving:"Хадгалж байна...",save:"Хадгалах",saveChanges:"Өөрчлөлтийг хадгалах",nextStep:"Дараагийн алхам",columnTimeframe:"ХУГАЦАА",columnSymbol:"СИМБОЛ",columnDescription:"ТАЙЛБАР",symbol:"Симбол",timeframe:"Хугацаа",candles:"Лаа",up:"Өсөлт",down:"Уналт",play:"Тоглуулах",close:"Хаах",simulate:"Симуляци",actual:"Бодит",forecast:"Таамаглал",interestRate:"Хүүгийн түвшин",soon:"Удахгүй",back:"Буцах",similarity:"Ижил төстэй байдал",nextCandles:"Дараагийн {count}",nextCandlesFull:"Дараагийн {count} лаа",probabilityOutcome:"Магадлалын үр дүн:",estimatedProbability:"тооцоолсон магадлал:",riskDisclaimer:"Санхүүгийн зах зээл нь өндөр эрсдэлтэй бөгөөд хөрөнгө алдах эрсдэлтэй. iC Candle нь зөвхөн боловсролын зорилгоор мэдээлэл өгдөг бөгөөд санхүүгийн зөвлөгөө өгдөггүй. Өмнөх гүйцэтгэл ирээдүйн үр дүнг баталгаажуулахгүй.",rangeTooFarToRender:"Хязгаар хэт хол тул дүрслэх боломжгүй.",marketSessions:"Зах зээлийн сешнүүд",askTradingQuestion:"Арилжааны асуулт асуух",mrCandleThinking:"Mr. Candle бодож байна...",simulateBullishPriceAction:"Дээш хөдөлгөөнийг симуляц хийх",simulateBearishPriceAction:"Доош хөдөлгөөнийг симуляц хийх",dismiss:"Хаах",loadingMore:"Цааш ачаалж байна...",savedPatternDeleted:"Хадгалсан паттерн устгагдлаа"},am={confirm:"Баталгаажуулах",deletePatternTitle:"Паттерн устгах",deletePatternDescription:"Та энэ паттернийг устгахдаа итгэлтэй байна уу?",deleteAllNotificationsTitle:"Бүх мэдэгдлийг устгах",deleteAllNotificationsDescription:"Та бүх мэдэгдлийг устгахдаа итгэлтэй байна уу?",disableSignalsTitle:"Сигналыг идэвхгүй болгох",disableSignalsDescription:"Та сигналыг идэвхгүй болгохдоо итгэлтэй байна уу?",disableSignalsForDescription:"Та {patternTitle}-ийн сигналыг идэвхгүй болгохдоо итгэлтэй байна уу?",togglePatternModeTitle:"Паттерн горим солих",togglePatternModeDisableDescription:"Та энэ паттернийг идэвхгүй болгохдоо итгэлтэй байна уу?",togglePatternModeEnableDescription:"Та энэ паттернийг идэвхжүүлэхдээ итгэлтэй байна уу?",closeFeatureDescription:"Та энэ функцийг хаахдаа итгэлтэй байна уу?"},rm={today:"Өнөөдөр",yesterday:"Өчигдөр",day:"{count, plural, other {# өдөр}}",hour:"{count, plural, other {# цаг}}",minute:"{count, plural, other {# минут}}",zeroMinutes:"0 минут",dayShort:"өдөр",hourShort:"цаг",minuteShort:"мин",zeroMin:"0мин",justNow:"Саяхан",minutesAgo:"{count, plural, other {# минутын өмнө}}",hoursAgo:"{count, plural, other {# цагийн өмнө}}",daysAgo:"{count, plural, other {# өдрийн өмнө}}",monthsAgo:"{count, plural, other {# сарын өмнө}}",yearsAgo:"{count, plural, other {# жилийн өмнө}}"},om={classicPatternTracker:"Сонгодог Pattern Tracker",trackedPatternReminder:"Хянагдаж буй паттерний сануулга",classicPattern:"Классик паттерн",trackedPattern:"Хянагдаж буй паттерн",enableClassicNotifications:"Классик үнийн формацад бодит цагийн мэдэгдэл асаах",waitingForPatternSignals:"Паттерн сигнал хүлээгдэж байна",noPatternsDetected:"Одоогоор ямар ч паттерн илрээгүй байна",signalsActiveDescription:"Таны сигнал идэвхтэй байна. Тохирох паттерн илэрмэгц бид мэдэгдэнэ",noCustomPatternDetected:"Одоогоор {patternName} илрээгүй байна",trackMorePatternsByScan:"Илүү олон паттернийг скан хэсгээс хяна",seeMore:"Илүүг харах"},sm={title:"Цагийн тохиргоо",description:"Паттерн дохио идэвхжих боломжтой орон нутгийн цагийн цонхыг сонгоно уу",startTime:"Эхлэх цаг",endTime:"Дуусах цаг",session:"Сешн",timezone:"Timezone",yourTimezone:"Таны цагийн бүс",selectSession:"Сешн сонгох",searchSession:"Сешн хайх...",noSessionFound:"Сешн олдсонгүй.",sessionsHeading:"Сешнүүд",selectTimezone:"Цагийн бүс сонгох",selectTimezoneHint:"Энэ мэдэгдэлд зориулж цагийн бүсийг хайж сонгоно уу.",searchTimezone:"Цагийн бүс хайх...",noTimezoneFound:"Цагийн бүс олдсонгүй.",timezonesHeading:"Цагийн бүсүүд",allTime:"Бүх цаг",customize:"Тохируулах",newYorkSession:"Нью Йорк сешн",londonSession:"Лондон сешн",tokyoSession:"Токио сешн",sydneySession:"Сидней сешн"},lm={newsScan:{analyzing:"Одоогийн мэдээний үйл явцыг шинжилж байна...",searching:"Ижил төстэй түүхэн мэдээг хайж байна...",ranking:"Хамгийн хамааралтай ижил төстэй мэдээг эрэмбэлж байна...",preparingReplay:"Ижил төстэй мэдээг дахин тоглуулахад бэлтгэж байна...",ready:"Ижил төстэй мэдээний үйл явдлууд нөлөөллийн шинжилгээнд бэлэн боллоо."},newsAi:{replaying:"Түүхэн үнийн хөдөлгөөнийг дахин тоглуулж байна...",startingSimulation:"Нөлөөллийн симуляцийн моделийг эхлүүлж байна...",calculatingScenarios:"Өсөлт ба бууралтын хувилбаруудыг тооцоолж байна...",complete:"Симуляци дууслаа."},selectorScan:{scanning:"20+ жилийн зах зээлийн түүхийг скан хийж байна...",finding:"Бүтцийн хувьд ижил төстэй паттернийг хайж байна...",linking:"Зах зээлийн зан төлөвийг үндсэн хүчин зүйлстэй холбож байна...",preparing:"Бүтцийн түүхэн өгөгдлийг бэлтгэж байна...",ready:"паттернуудийг дахин тоглуулахад бэлэн боллоо."},selectorAi:{replaying:"паттерний түүхэн зан төлөвийг дахин тоглуулж байна...",learning:"Өмнөх хөдөлгөөний нөлөөллийн паттерн суралцаж байна...",calculating:"Үнийн хөдөлгөөний динамикийг тооцоолж байна...",initializing:"Симуляцийн моделийг эхлүүлж байна...",complete:"Симуляци дууслаа."}},cm={Layout:{tagline:"Зах зээлийн шуугианаас илүү бодит ойлголтоос үнэ цэнийг олж хардаг арилжаачдад зориулав."},Legal:{termsAndPrivacy:"Үйлчилгээний нөхцөл ба нууцлал",googleTermsDescription:"Google-ээр үргэлжлүүлснээр та манай <terms></terms> болон <privacy></privacy>-ийг зөвшөөрч байна.",legalAgreement:"Би <terms></terms> болон <privacy></privacy>-ийг зөвшөөрч байна.",pleaseAgreeToContinue:"Үргэлжлүүлэхийн тулд зөвшөөрнө үү",pleaseAgreeDescription:"Google-ээр үргэлжлүүлэхийн тулд Та Үйлчилгээний нөхцөл болон Хувийн нууцын бодлогыг зөвшөөрөх ёстой.",legalTitle:"Хууль эрх зүйн мэдээлэл"},SignIn:{dontHaveAccount:"Бүртгэл байхгүй юу?",googleVerifyingAuthorization:"Google зөвшөөрлийг шалгаж байна...",invalidCredentials:"Нэвтрэх мэдээлэл буруу байна",invalidEmail:"Имэйл хаяг буруу байна",emailRequired:"Имэйл заавал оруулна уу",passwordRequired:"Нууц үг заавал оруулна уу",pleaseCheckInfo:"Мэдээллээ дахин шалгана уу",emailPlaceholder:"Имэйлээ оруулна уу",change:"Өөрчлөх",forgotPassword:"Нууц үг мартсан уу?",continueWithEmail:"Имэйлээр үргэлжлүүлэх"},SignUp:{repeatPassword:"Нууц үгийг дахин оруулах",termsAgreement:"Үргэлжлүүлснээр та манай <terms></terms> болон <privacy></privacy>-ийг зөвшөөрч байна",continueWithEmail:"Имэйлээр үргэлжлүүлэх",alreadyHaveAccount:"Аль хэдийн бүртгэлтэй юу?",signUpError:"Бүртгүүлэх үед алдаа гарлаа."},PasswordRecovery:{title:"Нууц үг сэргээх",emailRequired:"Имэйл заавал оруулна уу!",emailPlaceholder:"user@example.com",sendConfirmationCode:"Баталгаажуулах код илгээх",somethingWrong:"Ямар нэг алдаа гарлаа",pleaseWaitAndRetry:"Хүлээгээд дахин оролдоно уу",confirmationCodeSent:"Баталгаажуулах код илгээгдлээ",checkYourEmail:"Имэйлээ шалгана уу"},ResetPassword:{title:"Нууц үг шинэчлэх",confirmationCode:"Баталгаажуулах код",confirmationCodeRequired:"Баталгаажуулах код заавал оруулна уу.",newPassword:"Шинэ нууц үг",repeatNewPassword:"Шинэ нууц үгийг дахин оруулах",passwordMinLength:"Нууц үг хамгийн багадаа 8 тэмдэгт байх ёстой.",repeatPasswordMinLength:"Дахин оруулсан нууц үг хамгийн багадаа 8 тэмдэгт байх ёстой.",passwordsMustMatch:"Нууц үг таарахгүй байна.",pleaseStartAgain:"Дахин эхлэнэ үү",resetSuccess:"Амжилттай сэргээлээ",useNewPassword:"Шинэ нууц үгээ ашиглана уу",passwordNotConfirmed:"Нууц үг баталгаажаагүй!"},Confirm:{title:"Бүртгэлээ баталгаажуулна уу",codeSentTo:"Баталгаажуулах код илгээгдсэн:",otpDescription:"Имэйлээр ирсэн нэг удаагийн нууц үгийг оруулна уу.",otpLength:"OTP 6 тэмдэгт байх ёстой.",turnstileError:"Turnstile-д алдаа гарлаа",confirmError:"Баталгаажуулалтын үед алдаа гарлаа: {message}",confirm:"Баталгаажуулах"}},um={features:{title:"Онцлог",patternSelector:{title:"Паттерн Сонгогч",subtitle:"Таны санааг түүхэн зах зээлийн өгөгдөлтэй харьцуулан ижил төстэй үнийн паттерн болон үр дүнг олж тогтооно."},patternTracker:{title:"Паттерн Тракер",subtitle:"Зах зээлийг арын горимд тасралтгүй хянаж, тохирох паттерн илэрсэн үед танд мэдэгдэнэ."},newsImpact:{title:"Мэдээний Нөлөөлөл",subtitle:"Өмнөх мэдээний нийтлэлүүд үнийн хөдөлгөөнд хэрхэн нөлөөлснийг харуулж, зах зээл өмнө нь хэрхэн хариу үйлдэл үзүүлж байсныг ойлгоход тусална."}},resources:{title:"Нөөцүүд",learnAndUse:{title:"Суралцах ба ашиглах",subtitle:"Аналитикийн ойлголтуудыг сурч, платформыг хэрхэн үр дүнтэй ашиглахыг ойлго."},updatesAndInsights:{title:"Шинэчлэлт ба ойлголтууд",subtitle:"Бидний бүтээж, судалж буй зүйлсийн талаарх мэдээ, шинэчлэлтүүд."},whoWeAre:{title:"Бид хэн бэ",subtitle:"Бид хэн болох, юунд итгэдэг, яагаад бүтээдэг тухай."},helpCenter:{title:"Тусламжийн төв",subtitle:"Хэрэгтэй үедээ тусламж, зааварчилгаа болон хариултаа олоорой."}},pricing:{title:"Үнийн багцууд"}},dm={badge:"Онцлог",title:"Хиймэл оюунд суурилсан зах зээлийн шинжилгээ, илүү ухаалаг шийдвэр гаргахад зориулагдсан",description:"Дэвшилтэт шинжилгээ болон түүхэн өгөгдлийг ашиглан паттернүүдийг илрүүлж, зах зээлийн хариу үйлдлийг шинжилж, шийдвэр гаргахаасаа өмнө магадлалыг ойлгоорой.",creditUsage:"Кредитийн ашиглалт",resetAfter:"Дараах хугацааны дараа дахин тохируулах",resetAfterColon:"Дараах хугацааны дараа дахин тохируулах:",useThisFeature:"Энэ функцийг ашиглах",automateNow:"Одоо автоматжуулах",analyzeNow:"Одоо шинжлэх",inSession:"Та сешнд байна",sessionActive:"Сешн одоогоор идэвхтэй байна",continueSession:"Сешнийг үргэлжлүүлэх",pageHeader:{account:{title:"Профайл",infoTitle:"Таны данс",infoDescription:"Тохиргоо, сонголтууд болон холболтуудаа удирдах"},subscription:{title:"Гишүүнчлэл",infoTitle:"Таны багц",infoDescription:"Багц, төлбөр болон төлбөрийн мэдээллээ удирдах"},support:{title:"Дэмжлэг",infoTitle:"Тусламж авах",infoDescription:"Асуултынхаа хариуг олж, манай харилцагчийн үйлчилгээний багтай холбогдох"},referral:{title:"Коммунити",infoTitle:"Коммунити өсөлтийн хөтөлбөр",infoDescription:"Найзуудаа урих, урамшуулал авах, хамтдаа өсөх"}}},hm={chooseYour:"Багцаа",plan:"сонгоно уу",annualPromo:"Жилийн багц авч 2 сарын хэрэглээг үнэгүй авах боломжтой",monthly:"Сар бүр",yearly:"Жил бүр",yearlyBadge:"-20%",comparePlans:"Багцуудыг харьцуулах",compareSubtitle:"Багц бүрт юу багтсаныг дэлгэрэнгүй харуулна.",usage:"АШИГЛАЛТ",usageSection:"Хэрэглээ",features:"БОЛОМЖУУД",featuresSection:"Онцлог",freePricePerMonth:"$0 / сар",pricePerMonth:"{price} / сар",patternSelector:"Паттерн Сонгогч",patternTracker:"Паттерн Тракер",newsImpact:"Мэдээний Нөлөөлөл",scanResultLimit:"Сканны үр дүнгийн хязгаар",historicalData:"Түүхэн өгөгдөл",webhook:"Webhook",patternExport:"Паттерн экспорт",scansPerDay:"Өдөрт {count} скан",scansPerDayDefault:"Өдөрт 2 скан",patternsCount:"{count} паттерн",perDay:"Өдөрт {count}",perDayDefault:"Өдөрт 1",tabsCount:"{count} таб",tabsCountDefault:"1 таб",limited:"Хязгаарлагдмал",historicalYears:"20+ жил",included:"✓",notIncluded:"—",planChangedSuccess:"{planTitle} багц руу амжилттай шилжлээ!",subscriptionSuccess:"{planTitle} захиалга амжилттай!",paymentSuccessful:"Төлбөр амжилттай!",planUpdated:"Таны багц шинэчлэгдлээ.",planUpdatedDescription:"Таны багц шинэчлэгдлээ. Шинэ боломжуудыг шууд ашиглаж эхлээрэй.",subscriptionActive:"Таны захиалга идэвхтэй боллоо.",subscriptionActiveDescription:"Таны {planTitle} захиалга идэвхтэй боллоо. Худалдан авалт хийсэнд баярлалаа!",manageBillingInfo:"Төлбөрийн мэдээллээ удирдах",continueToApp:"Апп руу үргэлжлүүлэх",loadingPaymentDetails:"Төлбөрийн мэдээллийг ачаалж байна...",paymentError:"Төлбөрийн алдаа",noSessionId:"Сешн ID олдсонгүй",goToApp:"Апп руу очих",alreadySubscribedPlan:"Та энэ багцыг аль хэдийн захиалсан байна.",activeSubscriptionManage:"Танд идэвхтэй захиалга байна. Багц солихын тулд төлбөрөө удирдана уу.",planChangeScheduled:"Багц солих хуваарь тавигдлаа",planChangeScheduledDesc:"Таны багц дараагийн төлбөрийн өдөр {planTitle} болж солигдоно.",alreadyOnPlan:"Та аль хэдийн энэ багц дээр байна",changePlanFailed:"Багц солих амжилтгүй. Төлбөр удирдлага ашиглана уу.",alreadyActiveSubscription:"Танд идэвхтэй захиалга байна",noChangesMade:"Өөрчлөлт хийгдээгүй",alreadyOnPlanDesc:"Та одоо {planTitle} багц ашиглаж байна.",badgeFree:"Үнэгүй",badgePopular:"Алдартай",badgeBestDeal:"Oнцгой санал",badgeMaximumAccess:"Хамгийн дээд боломж",freeForEveryone:"Бүх хүнд үнэгүй",usdPerMonth:"USD/сар",yearlyAmount:"{amount} USD / жил",monthlyAmount:"{amount} USD / сар",currentPlan:"Одоогийн багц",startForFree:"Үнэгүй эхлэх",getPlan:"{planTitle} авах",switchToPlan:"{planTitle} руу шилжих",changePlanConfirmTitle:"Багц солих баталгаа",changePlanConfirmDesc:"Та одоо {currentPlan} багц дээр байна. Шинэ үнийн хэзээ хүчин төгөлдөр болохыг сонгоно уу.",changeNextBilling:"Дараагийн төлбөрөөр солих",changeNow:"Одоо солих",confirmNextBillingTitle:"Дараагийн төлбөр солихыг баталгаажуулах",confirmNextBillingDesc:"Дараагийн төлбөрийн өдөр энэ багц солилтыг товлох уу? Одоогийн {currentPlan} багц хэвээр байна. Дараагийн төлбөрт {planTitle} ({amount}) болно.",yesChangeNextBilling:"Тийм, дараагийн төлбөрөөр солих",continueToCheckout:"Төлбөрт үргэлжлүүлэх",freeCheckoutDesc:"Та одоо үнэгүй багц дээр байна. {planTitle} захиалахын тулд үргэлжлүүлнэ үү.",continue:"Үргэлжлүүлэх",agreeRefundPolicy:"Би <link>Буцаалт ба цуцлалтын бодлого</link>-д зөвшөөрч байна.",everythingInPlan:"<plan></plan> багцын бүх боломжууд",plans:{free:{title:"Үнэгүй",subtitle:"Судалж, туршиж үзэх",heading3:"Хувь хүний арилжаачдад"},standard:{title:"Стандарт",subtitle:"Итгэлтэйгээр шинжлэх",heading3:"Хувь хүний арилжаачдад"},pro:{title:"Про",subtitle:"Гүнзгий шинжлэх",heading3:"Баг ба мэргэжлийн түвшин"},expert:{title:"Эксперт",subtitle:"Хязгааргүй шинжлэх",heading3:"Мэргэжлийн арилжаачдад"}},planFeatures:{categories:{candleScanner:"Лааны сканнер",candleSignal:"Лааны дохио"},labels:{patternSelector:"Паттерн Сонгогч",patternTracker:"Паттерн Тракер",newsImpact:"Мэдээний Нөлөөлөл",scanResultLimit:"Сканны үр дүнгийн хязгаар",activeTabs:"Идэвхтэй табууд",timeframes:"Цагийн хүрээ",webhook:"Webhook"},values:{scansPerDay:"Өдөрт {count} скан",patterns:"{count}",perDay:"{count}",tabsWorkspace:"{count} (ажлын орчин)",enabled:"Идэвхжүүлсэн",disabled:"Идэвхгүй болгосон"}}},pm={Connections:{connectedAccount:"Холбогдсон данс",creditUsage:"Кредитийн ашиглалт",totalCreditsUsed:"Нийт ашигласан кредит",resetsIn:"{duration}-ийн дараа шинэчлэгдэнэ",understandingCredits:"Кредит ба ашиглалтыг ойлгох",nearLimit:"Хязгаарт ойртож байна"},Subscription:{myPlan:"Миний багц",thanksForSubscribing:"Захиалга өгсөнд баярлалаа!",billingHistory:"Төлбөрийн түүх",nextBillingDate:"Дараагийн төлбөрийн огноо",whichPlan:"Танд аль багц тохирох вэ?",patternSelectorCreditsPerDay:"Өдөрт {count} Паттерн Сонгогч ашиглах кредит",patternTrackerCreditsPerDay:"Өдөрт {count} Паттерн Тракер ашиглах кредит",newsImpactCreditsPerDay:"Өдөрт {count} Мэдээний Нөлөөлөл ашиглах кредит",chatAssistantCreditsPerDay:"Өдөрт {count} Чат Туслах ашиглах кредит",prioritySupport:"Давуу эрхтэй дэмжлэг"},Billing:{noInvoices:"No invoices found.",loadError:"Failed to load invoices. Please try again later.",viewInvoice:"Нэхэмжлэх харах"}},mm={referralRebate:"Урилгын урамшуулал",referredUsers:"Уригдсан хэрэглэгчид",totalRebateEarned:"Нийт урамшууллын орлого",referredUsersCount:"Уригдсан хэрэглэгчид",activeReferrals:"Идэвхтэй уригдсан хэрэглэгчид",referralLink:"Урилгын холбоос",shareDescription:"Урилгын линкээ найзуудтайгаа хуваалцаарай. Тэд бүртгүүлбэл та урамшуулал авна.",joinedDate:"Нэгдсэн огноо",loading:"Ачаалж байна...",noReferralCodeAvailable:"Урилгын код байхгүй байна",updateReferralCodeTitle:"Урилгын код шинэчлэх",createReferralCodeTitle:"Урилгын код үүсгэх",updateReferralCodeDescription:"Доор урилгын кодоо шинэчилнэ үү.",createReferralCodeDescription:"Урилгын холбоосоо хуваалцаж эхлэхийн тулд урилгын код оруулна уу.",enterReferralCodePlaceholder:"Урилгын код оруулна уу",enterReferralCode:"Урилгын код оруулна уу",codeCreatedSuccess:"Урилгын код амжилттай үүслээ",codeUpdatedSuccess:"Урилгын код амжилттай шинэчлэгдлээ",codeMinChars:"Хамгийн багадаа 5 тэмдэгт",codeMaxChars:"Хамгийн ихдээ 15 тэмдэгт",create:"Үүсгэх",update:"Шинэчлэх",pageNumber:"{page} хуудас",noReferredUsersYet:"Одоогоор уригдсан хэрэглэгч байхгүй",shareReferralEmptyDescription:"Сүлжээгээ өргөжүүлж, урамшуулал авахын тулд урилгын холбоосоо хуваалцаарай."},fm={mainMenu:{coreFeatures:"Үндсэн боломжууд",account:"Бүртгэл",subscription:"Гишүүнчлэл",communityGrowthProgram:"Коммунити өсөлтийн хөтөлбөр",support:"Дэмжлэг",others:"Бусад"},patternMenu:{trackedPatterns:{label:"Миний хянаж буй паттернууд",tooltipTitle:"AI илрүүлсэн өндөр магадлалтай паттерн тохиргоонууд",tooltipDescription:"iC Candle нь дэлхийн зах зээлийг 24/7 хянаж, таны хянаж буй паттернийг илрүүлж, итгэлцлийн түвшин болон breakout чиглэлийг харуулдаг. Шүүлтүүр ашиглан хамгийн сайн тохиргоогоо олоод, дэлгэрэнгүй мэдээллийг харахын тулд дурын паттернийг дарна уу."},classicPatterns:{label:"Классик паттерн",tooltipTitle:"Классик паттерн",tooltipDescription:"Double Top, Head & Shoulders, Flag, Rectangle болон бусад паттернаас сонгож, сигналуудыг идэвхжүүлнэ үү. Бид таны сонгосон зах зээл бүрийн хөдөлгөөнийг хянаж, формац бүрэн үүсэх мөчид мэдэгдэнэ. Telegram, email эсвэл апп доторх мэдэгдлээр тохируулж, ямар ч боломжийг алдахгүй."}},helperBar:{watchList:"Хяналтын жагсаалт",savedPatterns:"Хадгалсан паттернууд",newsMovingMarket:"Зах зээлд юу хөдөлж байна вэ?",favoritesCount:"Favorites ({count})",groupWithCount:"{label} ({count})",noItemsInWatchList:"Хяналтын жагсаалтад зүйл байхгүй",watchListLast:"Сүүлийн",watchListChg:"Өөрчлөлт",watchListChgPercent:"Өөрчлөлт%",removeFromFavorites:"Дуртайгаас хасах",addToFavorites:"Дуртайд нэмэх",removeSymbolFromFavorites:"{symbol}-г дуртайгаас хасах",addSymbolToFavorites:"{symbol}-г дуртайд нэмэх",groupCommodity:"Коммодити",groupForex:"Форекс",groupCrypto:"Крипто",groupIndices:"Индексүүд",groupStock:"Хувьцаа"},profileMenu:{darkTheme:"Харанхуй горим",chatWithUs:"Бидэнтэй чатлах",termsAndConditions:"Үйлчилгээний нөхцөл",logOut:"Гарах"},tabAdded:"Таб нэмэгдсэн",tabMemoryWarning:"Илүү олон таб нэмэх нь таны төхөөрөмжийн санах ойд ачаалал үүсгэж болзошгүй.",tabLimitReached:"Табын хязгаарт хүрсэн",tabLimitReachedMax:"Та одоогийн багцын зөвшөөрөгдсөн дээд табын тоонд хүрсэн байна.",tabLimitReachedUpgrade:"Та одоогийн багцын зөвшөөрөгдсөн дээд табын тоонд хүрсэн байна. Илүү олон таб ашиглахын тулд багцаа томруулаарай.",notifications:"Мэдэгдлүүд",noNotifications:"Мэдэгдэл байхгүй",notificationsOfflineReconnect:"(Офлайн) Мэдэгдлийг дахин холбоно уу",headerNav:{selectorTitle:"Паттерн Сонгогч",selectorShortTitle:"Сонгогч",patternTitle:"Паттерн Тракер",patternShortTitle:"Трак хийх",newsTitle:"Мэдээний Нөлөөлөл",newsShortTitle:"Мэдээ"},guideFeatures:{selector:{title:"Паттерн Сонгогч",description:"Таны санааг түүхэн зах зээлийн өгөгдөлтэй харьцуулан ижил төстэй үнийн паттерн болон үр дүнг олж тогтооно."},pattern:{title:"Паттерн Тракер",description:"Зах зээлийг арын горимд тасралтгүй хянаж, тохирох паттерн илэрсэн үед танд мэдэгдэнэ."},news:{title:"Мэдээний Нөлөөлөл",description:"Өмнөх мэдээний нийтлэлүүд үнийн хөдөлгөөнд хэрхэн нөлөөлснийг харуулж, зах зээл өмнө нь хэрхэн хариу үйлдэл үзүүлж байсныг ойлгоход тусална."}}},gm={mostSimilarNews:"Хамгийн төстэй мэдээ:",selectEvent:"Үйл явдал сонгох",economicCalendarAnalysis:"Эдийн засгийн календарийн шинжилгээ",economicCalendar:"Эдийн засгийн календарь",predictAvailable:"Таамаг боломжтой",predictUnavailable:"Таамаг боломжгүй",actualReleased:"Бодит гарсан",analyzeImpact:"Нөлөөллийг шинжлэх",candleDataTooFar:"Лааны өгөгдөл үйл явдлаас хэт хол байна.",tryAnotherTimeframe:"Өөр хугацааны интервал сонгоно уу.",aiIntelligence:"AI Оюун Ухаан",matchPercent:"{percent}% таарсан",whatHappenedOnNews:"Энэ мэдээнд юу болсон:",newsBeforeEvent:"Энэ үйл явдлын өмнөх мэдээ {eventName}",time15MinLater:"15 минутын дараа",time30MinLater:"30 минутын дараа",time1HourLater:"1 цагийн дараа",time2HoursLater:"2 цагийн дараа",time4HoursLater:"4 цагийн дараа",noDataHere:"Энд өгөгдөл байхгүй",pleaseWaitAndRetry:"Хүлээгээд дахин оролдоно уу",current:"Одоогийн",previousMonth:"Өмнөх сар",nextMonth:"Дараагийн сар",holiday:"Амралтын өдөр",seeAll:"Бүгдийг харах",selectedSymbols:"Сонгосон симболууд",marketNews:"Зах зээлийн мэдээ",patternType:"Паттерн төрөл",unknownPublishDate:"Нийтлэгдсэн огноо тодорхойгүй",noMatchingArticleDetails:"Тохирох нийтлэлийн дэлгэрэнгүй олдсонгүй",model:"Загвар",temperature:"Температур",temperatureLow:"Бага",temperatureMedium:"Дунд",temperatureHigh:"Өндөр",previousActual:"Өмнөх бодит",currentForecast:"Одоогийн таамаг",previousForecast:"Өмнөх таамаг",goToEventDetail:"Үйл явдлын дэлгэрэнгүй руу очих",eventInfoNotFound:"Үйл явдлын мэдээлэл олдсонгүй",ppi:"Үйлдвэрлэгчийн үнийн индекс нь үйлдвэрлэгчид болон үйлдвэрүүдийн борлуулдаг бараа, үйлчилгээний үнийн өөрчлөлтийг хэмждэг.",cpi:"Хэрэглэгчдийн үнийн индекс нь хэрэглэгчдийн худалдан авдаг бараа, үйлчилгээний үнийн өөрчлөлтийг хэмждэг.",coreCpi:"Core CPI нь хоол хүнс болон эрчим хүчийг хассан хэрэглээний үнийн өөрчлөлтийг хэмждэг; төв банкуудын чухал инфляцийн үзүүлэлт.",jolts:"Хөдөлмөрийн зах зээл дэх нээлттэй ажлын байр ба ажиллах хүчний эргэлтийн судалгаа нь АНУ-ын дүүргэгдээгүй ажлын байрны тоог хэмждэг.",nfp:"Ажлын бус салбарын цалингийн тайлан нь АНУ-ын ажлын байрны өөрчлөлтийг хэмждэг бөгөөд хөдөө аж ахуй болон зарим салбарыг оруулдаггүй.",ijc:"Анхны ажилгүйдлийн тэтгэмжийн хүсэлт нь АНУ-д анх удаа ажилгүйдлийн даатгал хүсэгчдийн тоог хэмжиж, хөдөлмөрийн зах зээлийн нөхцөлийг илэрхийлдэг.",fomc:"Холбооны Нээлттэй Зах Зээлийн Хороо нь АНУ-ын төв банк бөгөөд хүүгийн түвшинг тогтоож, мөнгөний бодлого хэрэгжүүлдэг.",fedRate:"Холбооны нөөцийн хүүгийн шийдвэрийн мэдэгдэл нь зорилтот холбооны сангийн хүүг тогтоож, мөнгөний бодлого болон санхүүгийн зах зээлд нөлөөлдөг.",gdpAdvance:"Дотоодын нийт бүтээгдэхүүн нь эдийн засагт үйлдвэрлэгдсэн бараа, үйлчилгээний нийт үнийг хэмждэг. Урьдчилсан GDP нь анхны тооцоолол юм.",gdpMonthly:"Дотоодын нийт бүтээгдэхүүн нь эдийн засагт үйлдвэрлэгдсэн бараа, үйлчилгээний нийт үнийг хэмждэг. Сар бүрийн үзүүлэлтүүд богино хугацааны өсөлтийг харуулдаг (жишээ нь Их Британийн GDP m/m).",unemploymentRate:"Ажилгүйдлийн түвшин нь ажилгүй байгаа хөдөлмөрийн хүчний хувийг хэмждэг.",ahe:"Дундаж цагийн цалин нь ажилчдад олгогдох цалингийн сарын өөрчлөлтийг хэмждэг бөгөөд хөдөө аж ахуйн ажилчдыг оруулдаггүй.",corePce:"Core PCE үнийн индекс нь хоол хүнс болон эрчим хүчийг хассан хувийн хэрэглээний зардлын сарын өөрчлөлтийг хэмждэг бөгөөд Холбооны нөөцийн гол инфляцийн үзүүлэлт юм.",retailSales:"Жижиглэн худалдаа нь жижиглэнгийн түвшний нийт борлуулалтын үнийн сарын өөрчлөлтийг хэмждэг.",ismManufacturingPmi:"ISM үйлдвэрлэлийн PMI нь АНУ-ын үйлдвэрлэлийн салбарын эрүүл мэндийг судалгаанд үндэслэн хэмждэг; 50-аас дээш бол тэлэлт.",ismServicesPmi:"ISM үйлчилгээний PMI нь АНУ-ын үйлчилгээний салбарын эрүүл мэндийг судалгаанд үндэслэн хэмждэг; 50-аас дээш бол тэлэлт.",gdpPrelim:"Урьдчилсан GDP нь улирлын GDP өсөлтийн хоёр дахь тооцоолол бөгөөд эдийн засгийн нийт үйлдвэрлэлийг хэмждэг.",adpNfp:"ADP ажлын бус салбарын хөдөлмөрийн өөрчлөлт нь ADP/Moody's судалгаагаар хувийн секторын ажлын байрны өөрчлөлтийг хэмждэг; албан NFP-ийн урьдчилсан үзүүлэлт.",eci:"Ажил эрхлэлтийн зардлын индекс нь цалин болон тэтгэмжийг багтаасан хөдөлмөрийн зардлын улирлын өөрчлөлтийг хэмждэг бөгөөд Fed-ийн анхаардаг инфляцийн үзүүлэлт.",flashManufacturingPmi:"Flash үйлдвэрлэлийн PMI нь судалгаанд үндэслэсэн үйлдвэрлэлийн салбарын урьдчилсан үнэлгээ; 50-аас дээш бол тэлэлт.",flashServicesPmi:"Flash үйлчилгээний PMI нь судалгаанд үндэслэсэн үйлчилгээний салбарын урьдчилсан үнэлгээ; 50-аас дээш бол тэлэлт.",claimantCount:"Их Британийн нэхэмжлэгчдийн тооны өөрчлөлт нь ажилгүйдлийн тэтгэмж авсан хүмүүсийн сарын өөрчлөлтийг хэмждэг; Их Британийн хөдөлмөрийн зах зээлийн гол үзүүлэлт.",boeRate:"Их Британийн Төв банкны албан ёсны хүү нь Мөнгөний бодлогын хорооноос тогтоодог хүү бөгөөд Их Британийн мөнгөний бодлого болон фунтын зах зээлд чиглэл өгдөг.",ecbMainRefinancingRate:"Европын Төв банкны үндсэн дахин санхүүжилтийн хүү нь евро бүсийн мөнгөний бодлогыг чиглүүлдэг гол хүү юм.",snbPolicyRate:"Швейцарийн Үндэсний банкны бодлогын хүү нь SNB-ийн гол хүү (SARON суурьтай хүрээ); CHF зах зээл болон мөнгөний бодлогод нөлөөлдөг.",cadEmploymentChange:"Канадын ажлын байрны өөрчлөлт нь Statistics Canada-ийн хөдөлмөрийн хүчний судалгаагаар ажлын байрны сарын өөрчлөлтийг хэмждэг; CAD болон хөдөлмөрийн зах зээлийн гол үзүүлэлт."},ym={matchPercent:"Таарсан {percent}%",matchLabel:"Таарсан",mismatch:"Таарахгүй",noResultsFound:"Үр дүн олдсонгүй",result:"Үр дүн",filter:"Шүүлтүүр",filterBy:"Шүүлтүүрлэх",clearFilter:"Шүүлтүүрийг арилгах",selectFilterType:"Шүүлтүүрийн төрлийг сонгоно уу",matchPercentLabel:"Таарсан %",selectSymbol:"Симбол сонгоно уу",selectMatchPercent:"Таарсан %-ийг сонгоно уу",selectDateRange:"Огнооны хүрээг сонгоно уу",dateLast1Month:"Сүүлийн 1 сар",dateLast6Months:"Сүүлийн 6 сар",dateLastYear:"Сүүлийн 1 жил",dateLast3Years:"Сүүлийн 3 жил",dateAllTime:"Бүх хугацаа",noDataFound:"Өгөгдөл олдсонгүй",runScanToSeePatternResults:"Үр дүнг харахын тулд скан хийнэ үү",scanAgainToPlay:"График тоглуулахын тулд дахин скан хийнэ үү",scan:"Скан",activateSelector:"Сонгогчийг идэвхжүүлэх",resetAfterDuration:"Дараах хугацааны дараа дахин тохируулах: {duration}",markets:"Зах зээлүүд",scannerOptions:"Сканнерын тохиргоо",saveOptions:"Тохиргоог хадгалах",searchSymbol:"Симбол хайх",probabilityCalculation:"Магадлалын тооцоолол",probabilityCalculationTooltip:"Магадлалын тооцоонд ашиглах дараагийн лааны тоог тодорхойлно",period:"Хугацаа",periodTooltip:"Скан үр дүнгийн хугацааны интервал",timeframeTooltip:"Скан үр дүнгийн лааны timeframe-ийг тодорхойлно",topResultsTooltip:"Скан үр дүнгийн тоог тодорхойлно",auto:"Автомат",settings:"Тохиргоо",collapseToolbar:"Хэрэгслийн самбарыг хумих",expandToolbar:"Хэрэгслийн самбарыг дэлгэх",availableBars:"Боломжтой баар: {count}",clearReplayFirst:"Эхлээд дахин тоглуулах графикийг цэвэрлэнэ үү",trackPattern:"Загварыг хянах",selectAll:"Бүгдийг сонгох",searchTimeframe:"Хугацааны интервал хайх",selectAllTimeframes:"Бүх хугацааны интервалыг сонгох",selectTimeframeAria:"{label} хугацааны интервалыг сонгох",selectSymbolAria:"{symbol} симболыг сонгох",timeframeTypeMinutes:"Минут",searchFilterSaved:"Шүүлтүүр амжилттай хадгалагдлаа",periodAll:"Бүгд",periodLastYear:"Сүүлийн 1 жил",periodLast3Years:"Сүүлийн 3 жил",periodLast5Years:"Сүүлийн 5 жил",periodLast15Years:"Сүүлийн 15 жил",topResults:"Шилдэг үр дүн",tabSymbols:"Симболууд",tabAdvancedOptions:"Нарийвчилсан тохиргоо",tabBasic:"Үндсэн",tabAdvancedFilter:"Нарийвчилсан шүүлтүүр",priceMovementData:"Үнийн хөдөлгөөний өгөгдөл:",askAssistantExplanation:"Туслахаас тайлбар авна уу",selectCandleCount:"Лааны тоог сонгох",priceChanges:"Үнийн өөрчлөлтүүд",candlesCount:"{count} лаа",basedOnDirectionPatterns:'Энэ паттерний дараах "{direction}" чиглэл дээр үндэслэв',noAiMovementData:"{direction} чиглэлд AI хөдөлгөөний өгөгдөл байхгүй"},bm={scannedAt:"Скан хийсэн:",trackerActivated:"Тракер идэвхжлээ",match:"Таарсан: {percent}%",result:"Үр дүн",windowSize:"Цонхны хэмжээ: {size}",patternSelectorHistory:"Pattern Selector түүх",noFilter:"Шүүлтүүргүй",favorite:"Дуртай",windowSizeFilter:"Цонхны хэмжээ",windowSizePlaceholder:"Цонхны хэмжээ (10-50)",submit:"Илгээх"},vm={trackYourCustomPatterns:"Өөрийн захиалгат паттернуудаа трак хийх",selectedSymbol:"Сонгосон симбол",selectedSymbols:"Сонгосон симболууд",timezone:"Цагийн бүс",selectedTimeframes:"Сонгосон цагийн хүрээнүүд",moreItems:"{count, plural, one {# илүү зүйл} other {# илүү зүйлс}}",selectedBars:"Сонгосон багана",barsCount:"{count} багана",timeFrame:"Цагийн хүрээ",patternType:"Паттерн төрөл",created:"Үүсгэсэн",editPattern:"Паттерн засах",createNewTracker:"Шинэ тракер үүсгэх",firstYouHaveToScan:"Эхлээд скан хийх шаардлагатай",goToScan:"Скан руу очих",addToPatternTracker:"Pattern Tracker-д нэмэх",goToPatternTracker:"Pattern Tracker руу очих",addToPatternTrackerDescription:"Энэ паттерн гарч ирэх үед та бодит цагийн мэдэгдэл хүлээн авна. Энэхүү мэдэгдлийг танихад туслах нэр оруулна уу",patternName:"Паттерн нэр",patternNamePlaceholder:"Энэ паттернд нэр оруулна уу",patternNameMinChars:"Хамгийн багадаа 5 тэмдэгт шаардлагатай.",patternNameMaxChars:"20 тэмдэгтийн хязгаарт хүрсэн.",patternNameErrorTitle:"Паттерн нэрийн алдаа",patternNameErrorDescription:"Паттерн сигналын нэр оруулна уу",customPatternSignalTooltip:"Энэ паттерн MARKET дээр Custom Pattern Signal хэлбэрээр үүсэхэд танд мэдэгдэл ирнэ",noPatternDataFound:"паттерний өгөгдөл олдсонгүй",limitReached:"Хязгаарт хүрсэн",limitReachedTrackerDescription:"Та Pattern Tracker-ийн дээд хязгаарт хүрсэн байна",trackerUpgradeToastDescription:"Та одоогийн багцад зөвшөөрөгдсөн сигналын дээд хэмжээнд хүрсэн байна. Илүүг ашиглахын тулд багцаа томруулна уу",patternConfigUpdated:"паттерний тохиргоо шинэчлэгдлээ",patternConfigUpdatedDesc:'"{name}" паттерний тохиргоо шинэчлэгдлээ',patternConfigError:"паттерний тохиргооны алдаа",patternConfigErrorDesc:"паттерний тохиргоог шинэчлэхэд алдаа гарлаа",patternSaved:"Паттерн хадгалагдлаа",patternSavedDesc:'"{name}" паттернй нэр хадгалагдлаа',patternSignalError:"паттерний сигналын алдаа",patternSignalErrorDesc:"паттернийг хадгалах боломжгүй",trackerTutorialPlanLimitExpert:"Таны багцад {limit} паттерн трак хийх боломжтой",trackerTutorialPlanNoTracking:"Таны багцад Pattern Tracking байхгүй. Багцаа томруулж илүү олон паттерн нэмэх боломжтой",trackerTutorialPlanTrackingLimit:"Таны багцад {limit} хүртэлх паттернийг трак хийх боломжтой. Багцаа томруулж илүү олон паттерн трак хийх боломжтой",currentPlan:"Одоогийн багц",planFree:"Үнэгүй",configurePatternTracker:"Pattern Tracker тохируулах",selectTimeframesAndSymbols:"Энэ паттернийг трак хийх хугацааны интервал болон симболуудыг сонгоно уу",selectTimeframes:"Хугацааны интервал сонгох",chooseTimeframes:"Энэ паттернийг трак хийх хугацааны интервалуудыг сонгоно уу",searchTimeframes:"Хугацааны интервал хайх",timeframeSelected:"{count} хугацааны интервал сонгогдсон",timeframesSelected:"{count} хугацааны интервал сонгогдсон",symbolSelected:"{count} симбол сонгогдсон",symbolsSelected:"{count} симбол сонгогдсон",patternSelected:"{count} паттерн",patternsSelected:"{count} patterns",patternTypes:"паттерний төрлүүд",patternSubscribed:"Паттерн бүртгэгдлээ",patternSubscribedDesc:'"{name}" паттерн одоо хянагдаж байна',patternSubscriptionError:"Паттерн бүртгэх алдаа",subscriptionModalAria:"Pattern Tracker бүртгэл",noPatternCandles:"Паттерн лаа олдсонгүй",chartSymbolRequired:"Графикийн тэмдэгт заавал шаардлагатай",userIdRequired:"Хэрэглэгчийн ID заавал шаардлагатай",subscribe:"Бүртгүүлэх",subscribing:"Бүртгэж байна...",tabTimeShort:"Цаг",signalDialog:{title:"Сигналын тохиргоо - {patternTitle}",successDescription:"Сигналын тохиргоо амжилттай шинэчлэгдлээ",selectOneTimeframe:"Дор хаяж нэг хугацааны интервал сонгоно уу",selectOneSymbol:"Дор хаяж нэг симбол сонгоно уу",selectOneTimeframeAndSymbol:"Дор хаяж нэг хугацааны интервал болон нэг симбол сонгоно уу",selectCurrencyPairs:"Валютын хос",chooseCurrencyPairs:"Энэ паттернийг хянах валютын хосыг сонгоно уу",searchCurrencyPairs:"Валютын хос хайх"},noMatchesFound:"Тохирох илэрц олдсонгүй",filterCategoryPattern:"Паттерн",filterCategorySymbol:"Симбол",filterCategoryTimeframe:"Цагийн хүрээ",selectCategory:"Ангилал сонгох",searchCategory:"{category} хайх...",timeframeOptions:{M15:{displayName:"15 минут",description:"15 минутын цагийн хүрээ"},M30:{displayName:"30 минут",description:"30 минутын цагийн хүрээ"},H1:{displayName:"1 цаг",description:"1 цагийн цагийн хүрээ"},H2:{displayName:"2 цаг",description:"2 цагийн цагийн хүрээ"},H4:{displayName:"4 цаг",description:"4 цагийн цагийн хүрээ"},D:{displayName:"1 өдөр",description:"Өдрийн цагийн хүрээ"}}},wm={priceActionPattern:"Үнийн хөдөлгөөний паттерн",labels:{flagbear:"Bearish Flag",flagbull:"Bullish Flag",dd_top:"Double Top",dd_bot:"Double Bottom",aad_up:"AAD Up",aad_down:"AAD Down",has_bull:"Head and Shoulders Bullish",has_bear:"Head and Shoulders Bearish",rectangle:"Rectangle"},timeframes:{M1:"1 минут",M5:"5 минут",M15:"15 минут",M30:"30 минут",H1:"1 цаг",H2:"2 цаг",H4:"4 цаг",D1:"Өдрийн"},patterns:{doubleBottom:{desc:'<div><p>Үнэ нэг түвшинг хоёр удаа шалгаж, давж чадаагүй үед энэ паттерн үүсдэг.</p><ul style="list-style-type: disc; margin-left: 20px; margin-top: 10px;"><li>Энэ нь зах зээл нэг чиглэлд хүчээ алдаж байгааг харуулдаг.</li><li>Хүрээний гадна breakout хийх нь ихэвчлэн урвуу хөдөлгөөн эхлэх дохио болдог.</li></ul></div>'},doubleTop:{desc:'<div><p>Үнэ нэг түвшинг хоёр удаа шалгаж, давж чадаагүй үед энэ паттерн үүсдэг.</p><ul style="list-style-type: disc; margin-left: 20px; margin-top: 10px;"><li>Энэ нь зах зээл нэг чиглэлд хүчээ алдаж байгааг харуулдаг.</li><li>Хүрээний гадна breakout хийх нь ихэвчлэн урвуу хөдөлгөөн эхлэх дохио болдог.</li></ul></div>'},bullishFlag:{desc:'<div><p>Хүчтэй хөдөлгөөний дараах богино завсарлага эсвэл консолидаци.</p><ul style="list-style-type: disc; margin-left: 20px; margin-top: 10px;"><li>Үнэ трендийн эсрэг жижиг, налуу сувгаар хөдөлнө.</li><li>Flag паттерн задрах үед тренд ихэвчлэн өмнөх чиглэлдээ үргэлжилдэг.</li></ul></div>'},bearishFlag:{desc:'<div><p>Хүчтэй хөдөлгөөний дараах богино завсарлага эсвэл консолидаци.</p><ul style="list-style-type: disc; margin-left: 20px; margin-top: 10px;"><li>Үнэ трендийн эсрэг жижиг, налуу сувгаар хөдөлнө.</li><li>Flag паттерн задрах үед тренд ихэвчлэн өмнөх чиглэлдээ үргэлжилдэг.</li></ul></div>'},bullishHeadShoulders:{desc:'<div><p>Энэ паттерн нь зах зээлийн хүчний өөрчлөлтийг харуулж, боломжит тренд урвалыг илтгэнэ.</p><ul style="list-style-type: disc; margin-left: 20px; margin-top: 10px;"><li>3 хэсэгтэй: том хөдөлгөөн ("толгой") болон хоёр жижиг хөдөлгөөн ("мөр").</li><li>Паттерн дуусахад үнэ ихэвчлэн трендийн эсрэг чиглэлд шилждэг.</li></ul></div>'},bearishHeadShoulders:{desc:'<div><p>Энэ паттерн нь зах зээлийн хүчний өөрчлөлтийг харуулж, боломжит тренд урвалыг илтгэнэ.</p><ul style="list-style-type: disc; margin-left: 20px; margin-top: 10px;"><li>3 хэсэгтэй: том хөдөлгөөн ("толгой") болон хоёр жижиг хөдөлгөөн ("мөр").</li><li>Паттерн дуусахад үнэ ихэвчлэн трендийн эсрэг чиглэлд шилждэг.</li></ul></div>'}}},xm={chartPatterns:"Паттерн гэж юу вэ?",flagPattern:"Флаг загварыг хэрхэн үр дүнтэй арилжаалах вэ?",rectanglePattern:"Тэгш өнцөгт загварт анхаарах гол шинж чанарууд юу вэ?"},Pm={pip:"Пип гэж юу вэ?",majorCurrencyPairs:"Гол валютын хосууд юу вэ?",lotSize:"Лот хэмжээ гэж юу вэ?",leverage:"Хөшүүрэг гэж юу вэ?",margin:"Маржин гэж юу вэ?",bullishFlagTrack:"Бүх символ, хугацааны интервалд Bullish Flag паттерныг идэвхижүүл"},Sm={cpi:"CPI гэж юу вэ, энэ нь зах зээлд хэрхэн нөлөөлдөг вэ?",nfp:"NFP гэж юу вэ, энэ нь зах зээлд хэрхэн нөлөөлдөг вэ?",eurImpactfulNews:"Ам.долларт хамгийн их нөлөөтэй мэдээ юу вэ?"},Tm="хэл",km="Профайл",Cm={statistics:{tradersReport:"10 арилжаачны 7 нь арилжааны шийдвэрийнхээ тогтвортой байдал сайжирсан гэж мэдээлсэн.",satisfactionRate:"Бета туршигчдын 96% нь сэтгэл хангалуун байсан бөгөөд “Хажууд минь ухаалаг туслахтай хамт арилжаа хийж байгаа мэт санагддаг” гэж хэлжээ.",usersChanged:"Хэрэглэгчдийн 80 гаруй хувь нь iC Candle нь зах зээлийг шинжлэх арга барилыг нь өөрчилсөн гэж үздэг.",lessTimeWatching:"Паттерн сануулгын ачаар хэрэглэгчид график ажиглахад зарцуулдаг цагаа дунджаар 40%-иар бууруулдаг.",heading:"Мянга мянган трейдерүүд зах зээлийг харах өнцгөө аль хэдийн өөрчилсөн."},feedback:{marketHistory:`Зах зээлийн түүх миний арилжааг чиглүүлдэг: Зах зээлийн түүхэн хариу үйлдлийг ашиглан арилжаа хийх нь миний цоо шинэ хэв маяг болсон. Миний авч буй үнэ цэнэ ба төлж буй захиалгын төлбөрийг харьцуулах ч боломжгүй.A. Lee
41
+ Крипто шинжээч (Сингапур)`,tradersChatGPT:`Арилжаачдын ChatGPT: Би өдөр тутмын амьдралдаа ChatGPT-г бараг бүх зүйлд ашигладаг, энэ нь бүх зүйлийг хэчнээн хялбар болгодгийг бүгд мэднэ. Шударгаар хэлэхэд… би арилжаачдад зориулсан ChatGPT-ийн хувилбарыг олсон гэж бодож байна. M. Ganbaatar
42
+ Проп арилжаач (iTrader)`,backtesting:`Дараагийн түвшний backtesting шиг мэдрэмж: iC Candle дээрх backtesting үнэхээр тоглоом өөрчилсөн хэрэгсэл. Одоо бүх зүйл маш хурдан, тодорхой болсон нь гайхалтай. Би бүр донтох шахсан. Энэ түвшинд идэвхтэй арилжаачид ийм хэрэгсэлгүй ажиллана гэж төсөөлөхөд хэцүү. B. Enkhbayar
43
+ Форекс арилжаач (Монгол)`,confirmsSetup:`Миний стратегийг баталгаажуулж байна: Бурхан минь, миний шинжилгээ үнэхээр зөв эсэхийг баталж өгдөг ийм хэрэгсэл эцэст нь гарч ирлээ. iC Candle-г ашиглаж эхэлснээс хойш арилжаанд эргэлзэх байдал минь 80% орчим буурсан. Одоо би илүү итгэлтэй болсон. S. Kimura
44
+ Свинг арилжаач (Япон)`,backtestingTitle:"Дараагийн түвшний backtesting шиг мэдрэмж",backtestingDesc:`iC Candle дээрх backtesting үнэхээр тоглоом өөрчилсөн хэрэгсэл. Одоо бүх зүйл маш хурдан, тодорхой болсон нь гайхалтай. Би бүр донтох шахсан. Энэ түвшинд идэвхтэй арилжаачид ийм хэрэгсэлгүй ажиллана гэж төсөөлөхөд хэцүү. B. Enkhbayar
45
+ Форекс арилжаач (Монгол)`,confirmsTitle:"Миний стратегийг баталгаажуулж байна",confirmsDesc:`Бурхан минь, миний шинжилгээ үнэхээр зөв эсэхийг баталж өгдөг ийм хэрэгсэл эцэст нь гарч ирлээ. iC Candle-г ашиглаж эхэлснээс хойш арилжаанд эргэлзэх байдал минь 80% орчим буурсан. Одоо би илүү итгэлтэй болсон. S. Kimura
46
+ Свинг арилжаач (Япон)`,marketHistoryTitle:"Зах зээлийн түүх миний арилжааг чиглүүлдэг",marketHistoryDesc:`Зах зээлийн түүхэн хариу үйлдлийг ашиглан арилжаа хийх нь миний цоо шинэ хэв маяг болсон. Миний авч буй үнэ цэнэ ба төлж буй захиалгын төлбөрийг харьцуулах ч боломжгүй.A. Lee
47
+ Крипто шинжээч (Сингапур)`,chatGPTTitle:"Арилжаачдын ChatGPT",chatGPTDesc:`Би өдөр тутмын амьдралдаа ChatGPT-г бараг бүх зүйлд ашигладаг, энэ нь бүх зүйлийг хэчнээн хялбар болгодгийг бүгд мэднэ. Шударгаар хэлэхэд… би арилжаачдад зориулсан ChatGPT-ийн хувилбарыг олсон гэж бодож байна. M. Ganbaatar
48
+ Проп арилжаач (iTrader)`},tags:{all:"Бүгд",blog:"Блог",crypto:"Крипто",event:"Үйл явдал",pairs:"Валютын хос"}},Am={title:"Хуудас олдсонгүй",description:"Таны хайж буй хуудас байхгүй эсвэл зөөгдсөн байна.",backToHomepage:"Нүүр хуудас руу буцах",imageAlt:"Хуудас олдсонгүй"},Nm=JSON.parse(`{"Page":{"title":{"terms":"Үйлчилгээний нөхцөл","privacy":"Нууцын бодлого","refund":"Буцаан олголт ба цуцлалтын бодлого","cookie":"Cookie бодлого"},"tabs":{"terms":"Үйлчилгээний нөхцөл","privacy":"Нууцын бодлого","refund":"Буцаан олголт ба цуцлалтын бодлого","cookie":"Cookie бодлого"},"nav":{"terms":"Үйлчилгээний нөхцөл","privacy":"Нууцын бодлого","refund":"Буцаан олголт ба цуцлалтын бодлого","cookie":"Cookie бодлого"}},"Terms":{"title":"Үйлчилгээний Нөхцөл (Terms of Service, TOS), Нөхцөлүүд, Анхааруулга, Гэрээ, Хэлэлцээр","intro":{"p1":"This agreement is made between Pixel Nexus Global, a Singaporean Limited Liability company operating as www.iccandle.ai (“Pixel Nexus Global,” “we,” “us,” or “our”), and the individual or entity purchasing or utilizing services offered through the Platform (“Customer,” “you,” or “your”). If you are acquiring the Services on behalf of a third party, you confirm that you have the legal authority to bind that party to these Terms of Service and will be liable for their use of the Services.","p2":"By accessing the Platform and Services outlined in this document and promoted on www.iccandle.ai, or by subscribing to services via the iccandle.ai website, you acknowledge that you have read, understood, and agreed to these Terms, Conditions, and Disclaimers. You further agree that your relationship with us is governed by the provisions set forth in this TOS.","p2Emphasis":"If you do not accept these terms, you must discontinue all use of iccandle.ai and any associated services or Platforms immediately."},"sections":[{"title":"1. The Services","paragraphs":["Pixel Nexus Global will provide active customers in good standing with access to its AI-powered analytical tool (the “Platform”). As used in this Agreement, the term “Services” refers to Pixel Nexus Global’s provision of your access to the Platform. The Services will be provided to you under one or more subscriptions, account activations, sign-ups, or orders placed by you on the iccandle.ai website and accepted by Pixel Nexus Global (an “Order”).","In case of any conflict between these TOS and an Order, the terms of these TOS shall take precedence. By accepting the Services, you acknowledge and agree that any different or additional terms proposed by you in an Order or otherwise are expressly rejected by Pixel Nexus Global, unless we have agreed to such terms in a written document signed by an authorized representative."]},{"title":"2. Your Obligations","subsections":[{"title":"Customer Information and Account Responsibilities","paragraphs":["You agree to provide Pixel Nexus Global with accurate information when creating your account, throughout our business relationship, and in all correspondence with us. We may occasionally need to contact you via email or telephone regarding the Services. You agree to maintain a valid email address that you check daily and to promptly notify us of any changes to your contact information.","Pixel Nexus Global shall not be responsible for any service interruptions, damages, or consequences resulting from misdirected communications due to your failure to provide current contact details. You also agree to complete all data entitlement surveys within the platform completely and truthfully to maintain compliance with exchange regulations."]},{"title":"Permitted Use of Platform","paragraphs":["Your use of the Platform must comply with these TOS and any accompanying documentation we provide. If you permit third parties to access the Platform, you agree to: (i) restrict their use in accordance with these terms; (ii) ensure their compliance with these TOS and our Privacy Policy; and (iii) remain fully liable for any violations of these TOS or the Privacy Policy by such third parties."]},{"title":"Intellectual Property and Legal Compliance","paragraphs":["You agree not to alter, obscure, or remove any trademark or proprietary notices. You may only use the Platform in accordance with: (i) the laws governing these TOS; and (ii) all applicable laws in your jurisdiction.","Unauthorized use is strictly prohibited."]}]},{"title":"3. Term","subsections":[{"title":"Effective Date and Term Duration","paragraphs":["These Terms of Service (TOS) become effective (\\"Effective Date\\") on the earlier of: (i) the date you click \\"I accept\\" as recorded by our servers; or (ii) the date you first access or use the Platform.","These TOS remain in effect for the duration of any active Order."]},{"title":"Subscription Terms and Renewals","paragraphs":["The Services will automatically renew for successive periods (monthly, quarterly, or annually) as specified in your Order. If unspecified, the default initial subscription period (\\"Initial Term\\") is one month. Subsequent renewal periods (\\"Renewal Terms\\") will match the Initial Term’s duration."]},{"title":"Trial Period Terms","paragraphs":["Pixel Nexus Global may offer trial periods (paid or free) as indicated on the iccandle.ai trial signup page. During any trial period:"],"listOrdered":["All terms and conditions of this agreement apply as if you were a paid subscriber","You may cancel at any time during the trial to prevent automatic renewal","Trial terms and conditions are subject to change without notice"]},{"title":"Subscription Management Responsibility","paragraphs":["You are solely responsible for managing your subscription, including:"],"listDisc":["Monitoring renewal dates","Updating payment information","Initiating cancellations","Maintaining current contact information"],"paragraphsAfter":["Pixel Nexus Global is not responsible for any charges due to failure to manage your subscription."]}]},{"title":"4. Termination","subsections":[{"title":"Cancellation and Termination Policy","paragraphs":["Details about cancellation and refund policies are available on our Refund and Cancellation Policy page at iccandle.ai. Terminating your account disables automatic renewals but does not cancel past invoices or make prior payments refundable unless stated otherwise in our Refund and Cancellation Policy.","Any currently due invoices must be paid in full to settle your account. Your access to Pixel Nexus Global services will continue until the expiration of your prepaid period or trial term."]},{"title":"Termination for Convenience","paragraphs":["Either party may terminate any Order by providing written notice at least one (1) day before the expiration of the Initial Term or any Renewal Term. For purposes of this provision, “written notice” includes communication through email, live chat, telephone, or via the Online Portal, indicating a desire not to continue service with Pixel Nexus Global in the future."]},{"title":"Termination for Policy Violations","paragraphs":["Pixel Nexus Global reserve the right to immediately suspend Services and/or terminate any Order in cases of violation of these TOS, breach of our Privacy Policy, or use of Services in a manner contrary to law or generally accepted internet standards. Such termination may occur without prior notice, dispute resolution process, or refund of any fees."]},{"title":"Effect of Termination","paragraphs":["The expiration or termination of any Order does not affect any rights or obligations that either (i) came into effect upon or after such expiration/termination, or (ii) survive the termination and were incurred by the parties prior to termination. Upon termination, you must promptly settle any outstanding balance. Pixel Nexus Global is not obligated to return any paid fees for terminations occurring prior to completion of a full term, except as may be expressly provided in our Refund and Cancellation Policy.","All termination matters are governed by the complete terms set forth in this agreement, and Pixel Nexus Global maintains full discretion in enforcing these provisions."]}]},{"title":"5. License Grant and Restrictions","paragraphs":["Pixel Nexus Global grants you a limited, revocable, non-exclusive, non-transferable, worldwide license to utilize our proprietary technology (\\"Pixel Nexus Technology\\") solely for accessing and employing our analytical engines as part of the Services, including any generated reports (\\"Reports\\"). This license is restricted to your account's registered users and automatically terminates upon expiration or termination of these TOS.","No rights beyond this limited license are conferred. All ownership rights in the Pixel Nexus Technology remain exclusively with Pixel Nexus Global or its licensors. You are expressly prohibited from: transferring, leasing, lending, sublicensing, reselling, or distributing the technology; using it for timesharing or service bureau purposes; or permitting unauthorized third-party access. You may not circumvent any protective measures safeguarding our proprietary interests, nor modify, reproduce, decompile, reverse engineer, or create derivative works from the Pixel Nexus Technology or Platform components. Upon termination, you must immediately cease using and permanently delete all Pixel Nexus Technology in your possession, ensuring any third parties with access do likewise."],"subsections":[{"title":"Ownership Rights","paragraphs":["Pixel Nexus Global retains all rights, title, and interest in the Pixel Nexus Technology and Platform, including but not limited to all derivative works, improvements, enhancements, and associated intellectual property rights such as trademarks and copyrights."]},{"title":"Feedback Provisions","paragraphs":["You may voluntarily provide, or we may solicit, input regarding the Platform or Services (\\"Feedback\\"), including suggestions for modifications or improvements. You acknowledge such Feedback constitutes Pixel Nexus Global's confidential proprietary information and irrevocably assign all related rights and interests to us. Pixel Nexus Global may utilize Feedback for any purpose without limitation or compensation obligation. This assignment applies globally and survives termination of these TOS.","All rights not expressly granted herein are reserved by Pixel Nexus Global. Any unauthorized use constitutes breach of these TOS and may result in immediate termination of your access rights."]}]},{"title":"6. Data Usage and Intellectual Property Rights","paragraphs":["Pixel Nexus Global may utilize information you provide or data collected from your use of the Platform and Services (\\"Operational Information\\") to deliver technical support and facilitate the implementation, operation, and administration of the Services. By using our Services, you grant us a perpetual, irrevocable license to process and analyze this Operational Information. We may combine this data with aggregate information from our general business operations to enhance existing Services or develop new products and offerings.","Pixel Nexus Global shall retain exclusive ownership of all intellectual property derived from such analysis and improvements. You hereby irrevocably waive any potential rights to this intellectual property and assign all rights, title, and interest therein to Pixel Nexus Global. You further agree to provide reasonable cooperation in securing and protecting these rights. We reserve the right to commercialize this Operational Information through sale, monetization, or incorporation into other products and services, without obligation to compensate you or grant you any ownership interest.","This license shall terminate upon expiration or cancellation of these Terms of Service, except with respect to historical data that has been aggregated and anonymized such that it cannot be identified as originating from your organization. Pixel Nexus Global may retain and continue to use such anonymized, aggregated data indefinitely for any lawful business purpose.","All intellectual property rights not expressly granted herein remain the exclusive property of Pixel Nexus Global. Your continued use of the Services constitutes acceptance of these terms regarding data usage and intellectual property rights."]},{"title":"7. Accuracy of Information Disclaimer","paragraphs":["Pixel Nexus Global relies on third-party data feeds to power its platform and therefore cannot guarantee the absolute accuracy of the information displayed. Different features within our system (such as scanners, automated analysis tools, charting functions, and back testing capabilities) may utilize separate data providers, which can result in variances between datasets across different platform features. Users should always verify analysis results and scanner conditions to ensure data consistency.","The platform's analytical outputs are inherently dependent on the quality of underlying third-party data, and Pixel Nexus Global makes no representations or warranties regarding the accuracy of these analyses. The iccandle.ai website, Services, and Platform are designed solely for informational and research purposes - they should never serve as the sole basis for investment decisions. Pixel Nexus Global disclaims all liability for any financial losses resulting from reliance on potentially inaccurate data or analysis within the Platform.","The Pixel Nexus Global system is provided strictly on an \\"as-is\\" basis without guarantees or warranties of any kind, as its functionality depends on unverified third- party data sources. The platform is intended exclusively for educational, entertainment, and general informational use - not as professional financial advice or a substitute for independent investment research. Users assume all risk associated with interpreting and acting upon any information displayed within the system.","By accessing and using the Platform, you acknowledge these inherent limitations and agree that Pixel Nexus Global shall not be held responsible for any consequences arising from data inaccuracies, analysis errors, or investment decisions made based on platform content."]},{"title":"8. Disclaimer of Investment Advice and Platform Limitations","paragraphs":["The analytical tools and outputs provided by Pixel Nexus Global's iccandle.ai platform are strictly for informational and research purposes only and should not be construed as investment advice. The platform relies on third-party data sources that may contain inaccuracies, and different features may produce varying results due to separate data providers. All analysis, including results from our Pattern Selector, Pattern Tracker, and News Impact Intelligence, is provided \\"AS-IS\\" without any guarantees of accuracy. These tools demonstrate historical patterns, probabilities, and market behavior under past conditions and cannot predict future results, as actual market outcomes may differ due to liquidity, execution, and other variables. You must never rely solely on platform analysis when making investment decisions."]},{"title":"9. Risk Acknowledgement and User Responsibility","paragraphs":["By using Pixel Nexus Global's platform (iccandle.ai), you expressly acknowledge and accept full responsibility for all risks associated with any investment decisions made based on information or analysis obtained from our Platform. You understand that our services rely on third-party data sources that may contain inaccuracies, and that our analytical models employ mathematical formulas and sequences that have not been independently verified for predictive accuracy. Pixel Nexus Global cannot and does not guarantee the reliability of any market data, technical indicators, or analytical outputs generated by the Platform.","Prior to executing any trades, you agree to either: (i) consult with a qualified, licensed financial professional; or (ii) conduct comprehensive independent research using multiple verified information sources.","Pixel Nexus Global expressly disclaims all liability for any trading losses, missed opportunities, or other financial consequences resulting from your reliance on Platform content. By continuing to use iccandle.ai, you confirm your understanding that our tools are designed for informational purposes only and that you alone bear complete responsibility for all investment choices and outcomes. This warning constitutes an essential term of our agreement, and your use of the Platform signifies your unconditional acceptance of these risk disclosures."]},{"title":"10. Disclaimer of Warranties and Service Limitations","paragraphs":["The Pixel Nexus Global platform (iccandle.ai), including all Services, scripts, reports, analytical engines, and related technology, is provided strictly on an \\"AS-IS\\" and \\"AS- AVAILABLE\\" basis. Pixel Nexus Global makes no representations or warranties of any kind, whether express or implied. This includes, but is not limited to, all implied warranties of non-infringement, merchantability, fitness for a particular purpose, accuracy, quality, or achievement of specific results. No warranties arise from any course of dealing, performance, or trade usage.","Pixel Nexus Global does not guarantee that the Service will meet your requirements, operate without interruption, remain error-free, or be secure from viruses or other harmful components. Compatibility with all websites or browsers is not assured, and Pixel Nexus Global disclaims all liability for issues arising from browser incompatibility or third-party services, even if such services appear integrated with our Platform. Any data transmitted via our Services remains your sole responsibility, and Pixel Nexus Global expressly disclaims liability for such content. No warranties provided by third- party vendors to Pixel Nexus Global extend to you, and you are not a third-party beneficiary of such agreements."],"subsections":[{"title":"Alert Features and Beta Functionality","paragraphs":["The Platform includes alert features (e.g., \\"Dynamic Price Alerts\\" and \\"Multi-Factor Alerts\\"), which are provided without warranty or guarantee of reliability. Technical delays or failures may occur due to cellular networks, email services, system errors, or other factors. You acknowledge that alerts may not function as intended and agree that Pixel Nexus Global bears no liability for trading losses resulting from reliance on these features, regardless of whether they were used correctly.","Certain features labeled as 'Beta' are under active development and may exhibit unstable or unreliable performance, including inconsistent data or incorrect information due to software bugs or programming errors. These Beta features carry additional risks and should be used with extreme caution."]},{"title":"General Provisions","paragraphs":["This warranty disclaimer applies to all oral or written information provided by Pixel Nexus Global, its employees, affiliates, or third-party vendors. You may not rely on any such statements or representations.","Some jurisdictions may not permit the exclusion of certain warranties. If applicable to you, any warranty claim must be filed within ninety (90) days of the Service provision that gave rise to the claim. Failure to submit a claim within this period constitutes an irrevocable waiver of your right to pursue such claims thereafter.","Third-party websites linked through the Pixel Nexus Global platform are not under our control, and we assume no responsibility for their content or functionality. Accessing these external sites is entirely at your own risk. Such links are provided for convenience only and do not constitute an endorsement or recommendation by Pixel Nexus Global.","By using the Platform, you acknowledge and accept these limitations and disclaimers in full."]}]},{"title":"11. Limitation of Liability","paragraphs":["Pixel Nexus Global's total liability under this Agreement shall not exceed the aggregate fees actually paid by you to Pixel Nexus Global during the one (1) month period immediately preceding the event giving rise to such liability. For purposes of this limitation, \\"Pixel Nexus Global\\" includes its employees, agents, owners, directors, officers, affiliates, and any third-party service providers facilitating the Services.","To the maximum extent permitted by law, you agree that under no circumstances - including negligence - shall Pixel Nexus Global or its licensors, agents, employees, officers, or third-party vendors be liable for any indirect, incidental, special, consequential, or punitive damages. This exclusion applies to, but is not limited to, damages for:"],"listOrdered":["Lost profits or revenue","Business interruption","Data loss or corruption","Lost savings","Any other financial losses incurred by you, end users, or third parties"],"paragraphsAfter":["These limitations apply regardless of whether the action arises in contract, tort (including negligence), or any other legal theory, and shall remain in effect even if Pixel Nexus Global has been advised of the possibility of such damages. While some jurisdictions may not allow limitations on certain liabilities, you agree that, where such restrictions apply, Pixel Nexus Global's liability shall be limited to the maximum extent permitted by applicable law.","This limitation of liability constitutes an essential basis of the bargain between you and Pixel Nexus Global and shall survive termination of this Agreement. By using the Services, you acknowledge that these limitations are reasonable and reflect the risk allocation between both parties."]},{"title":"12. Notices","paragraphs":["All official notices will be sent to your account’s listed contact information. You are responsible for maintaining current and accurate contact details in our records at all times.","For most inquiries, including technical support and billing matters, please visit our website at www.iccandle.ai for contact information and support options.","However, any legal notices regarding these Terms of Service or other Pixel Nexus Global policies must be sent exclusively via postal mail to our designated address:"],"address":{"company":"Pixel Nexus Global PTE. LTD.","lines":["160 Robinson Road, #14-04","Singapore Business Federation Center","Singapore 068914"]}},{"title":"13. Force Majeure","paragraphs":["Neither party shall be liable for any failure or delay in performance (except for payment obligations) due to events beyond their reasonable control, including, but not limited to, acts of God, natural disasters, war, civil unrest, epidemics, labor disputes, utility failures, telecommunication outages, supply chain disruptions, government actions, or other unforeseeable catastrophic events; provided that: (i) the affected party notifies the other in writing within ten (10) days of the event’s commencement; (ii) all payment obligations remain unaffected; (iii) the time for performance shall be extended day-for-day to match the duration of the disruption; and (iv) both parties use commercially reasonable efforts to mitigate the impact.","It is understood that this clause does not permit termination of the Agreement solely due to force majeure conditions, nor does it extend the Agreement term beyond its original expiration date without mutual written agreement."]},{"title":"14. No Waiver","paragraphs":["No failure or delay by Pixel Nexus Global in exercising any right under these Terms shall operate as a waiver of that right, nor shall any single or partial exercise of any right preclude the further or full exercise of that right or any other right under these Terms."]},{"title":"15. Assignment","paragraphs":["Pixel Nexus Global may assign these Terms, or any rights hereunder, without your consent. You may not assign these Terms without our prior written approval. These Terms shall be binding upon, and inure to the benefit of, the parties' respective successors and permitted assigns."]},{"title":"16. Severability","paragraphs":["If any provision of these Terms is held to be invalid or unenforceable by a court of competent jurisdiction, that provision shall be modified to the minimum extent necessary to make it valid and enforceable while preserving its original intent. All other provisions shall remain in full force and effect."]},{"title":"17. No Agency","paragraphs":["Nothing in these Terms creates an agency, partnership, joint venture or employment relationship between the parties. Neither party has authority to bind the other or incur obligations on the other's behalf."]},{"title":"18. Privacy & Conflicts","paragraphs":["Our Privacy Policy is incorporated herein by reference. In the event of a conflict between agreements: (i) these Terms prevail over the Privacy Policy; (ii) any separate service agreement shall prevail over conflicting provisions of these Terms, but only with respect to those specific provisions; and (iii) in all other cases, these Terms shall govern."]},{"title":"19. Jurisdiction and Disclaimer","paragraphs":["The services and information provided on iccandle.ai are not intended for use in jurisdictions where such services would be contrary to local laws or regulations. Access to and use of this website are strictly prohibited for citizens of the following jurisdictions: United States of America, Canada, Russian Federation, Iran, North Korea, Myanmar, Syria, Cuba, Crimea, Donetsk, and Luhansk regions of Ukraine, Afghanistan, Belarus, and Venezuela. This list may be updated at any time without prior notice. Users are solely responsible for ensuring that their access to and use of this website comply with all applicable laws and regulations in their country. iccandle.ai accepts no responsibility or liability for any non-compliance by users with their local regulatory requirements and reserves the right to restrict, block, or terminate access at its sole discretion."]}],"content":"Үйлчилгээний Нөхцөл (Terms of Service, TOS), Нөхцөлүүд, Анхааруулга, Гэрээ, Хэлэлцээр\\n\\nЭнэхүү гэрээ нь www.iccandle.ai сайтыг ажиллуулдаг Сингапурт бүртгэлтэй хязгаарлагдмал хариуцлагатай компани болох Pixel Nexus Global (“Pixel Nexus Global”, “бид”, “манай”, “бидний”) болон Платформоор дамжуулан санал болгож буй үйлчилгээг худалдан авч буй эсвэл ашиглаж буй хувь хүн, хуулийн этгээд (“Хэрэглэгч”, “та”, “таны”) хооронд байгуулагдана. Хэрэв та үйлчилгээнийг гуравдагч этгээдийн нэрийн өмнөөс авч байгаа бол тухайн этгээдийг эдгээр Үйлчилгээний Нөхцөлд хууль ёсоор үүрэг хүлээлгэх эрхтэйгээ баталгаажуулж, тэдгээрийн үйлчилгээний ашиглалтад хариуцлага хүлээнэ.\\n\\nЭнэхүү баримт бичигт дурдсан болон www.iccandle.ai сайтаар сурталчилсан Платформ болон Үйлчилгээнд нэвтрэх, эсвэл iccandle.ai сайтаар дамжуулан үйлчилгээ захиалах замаар та эдгээр Нөхцөл, Болзол болон Анхааруулгуудыг уншиж, ойлгож, зөвшөөрснөө баталгаажуулж байна. Мөн та бидэнтэй үүсэх харилцаа энэхүү TOS-д заасан нөхцлөөр зохицуулагдахыг зөвшөөрч байна. Хэрэв та эдгээр нөхцөлийг хүлээн зөвшөөрөхгүй бол iccandle.ai болон түүнтэй холбоотой бүх үйлчилгээ, платформын ашиглалтыг нэн даруй зогсоох ёстой.\\n\\n1. Үйлчилгээ\\n\\nPixel Nexus Global нь идэвхтэй бөгөөд зохих төлөвтэй хэрэглэгчдэд өөрийн хиймэл оюун ухаанд суурилсан аналитик хэрэгсэл (“Платформ”)-д нэвтрэх эрх олгоно. Энэхүү Гэрээнд “Үйлчилгээ” гэдэг нь Pixel Nexus Global-аас танд Платформд нэвтрэх боломж олгохыг хэлнэ.\\n\\nҮйлчилгээг iccandle.ai вэбсайт дээр таны захиалсан, бүртгүүлсэн, идэвхжүүлсэн эсвэл захиалгын дагуу, Pixel Nexus Global хүлээн зөвшөөрсөн нэг буюу хэд хэдэн захиалгын хүрээнд (“Захиалга”) үзүүлнэ.\\n\\nХэрэв энэхүү TOS болон Захиалгын хооронд зөрчил гарвал энэхүү TOS-ийн нөхцөл давамгайлна. Үйлчилгээг хүлээн зөвшөөрснөөр та Захиалга болон бусад хэлбэрээр санал болгосон өөр эсвэл нэмэлт нөхцлүүдийг Pixel Nexus Global албан ёсоор татгалзаж байгааг хүлээн зөвшөөрнө. Зөвхөн эрх бүхий төлөөлөгчийн гарын үсэг бүхий бичгээр тохиролцсон нөхцөл хүчин төгөлдөр байна.\\n\\n2. Таны Үүрэг\\nХэрэглэгчийн мэдээлэл болон дансны хариуцлага\\n\\nТа данс үүсгэхдээ, бидэнтэй бизнесийн харилцааны хугацаанд болон бидэнтэй харилцах бүх үед үнэн зөв мэдээлэл өгөхийг зөвшөөрч байна.\\n\\nБид зарим тохиолдолд үйлчилгээтэй холбоотой асуудлаар танд имэйл эсвэл утсаар холбогдох шаардлагатай байж болно. Та өдөр бүр шалгадаг хүчинтэй имэйл хаягтай байж, холбоо барих мэдээлэлд гарсан өөрчлөлтийг шуурхай мэдэгдэхийг зөвшөөрнө.\\n\\nPixel Nexus Global нь таны холбоо барих мэдээллийг шинэчлээгүйгээс үүдэн буруу хаягт хүргэгдсэн мэдээллээс үүсэх үйлчилгээний тасалдал, хохирол болон үр дагаварт хариуцлага хүлээхгүй.\\n\\nМөн биржийн зохицуулалтын шаардлагыг хангахын тулд платформ дээрх бүх мэдээллийн судалгааг бүрэн бөгөөд үнэн зөв бөглөхийг зөвшөөрнө.\\n\\nПлатформыг зөвшөөрөгдсөн хүрээнд ашиглах\\n\\nТа Платформыг энэхүү TOS болон биднээс өгсөн холбогдох баримт бичгийн дагуу ашиглана.\\n\\nХэрэв та гуравдагч этгээдэд Платформд нэвтрэх боломж олговол:\\n\\nТэдний ашиглалтыг эдгээр нөхцлийн хүрээнд хязгаарлах;\\nЭдгээр TOS болон манай Нууцлалын Бодлогыг мөрдүүлэх;\\nТэдгээр этгээдийн аливаа зөрчилд бүрэн хариуцлага хүлээх.\\nОюуны өмч болон хууль тогтоомжийн хэрэгжилт\\n\\nТа аливаа барааны тэмдэг, өмчийн мэдэгдлийг өөрчлөх, нуух эсвэл устгахгүй байхыг зөвшөөрч байна.\\n\\nТа Платформыг зөвхөн:\\nЭнэхүү TOS-ийг зохицуулж буй хууль тогтоомжийн дагуу;\\nТаны харьяалах улсын бүх холбогдох хууль тогтоомжийн дагуу ашиглах эрхтэй.\\nЗөвшөөрөлгүй ашиглалтыг хатуу хориглоно.\\n\\n3. Хугацаа\\nХүчин төгөлдөр болох өдөр\\nЭнэхүү Үйлчилгээний Нөхцөл (“Хүчин төгөлдөр болох өдөр”) дараах өдрүүдийн аль эрт болсон өдөр хүчин төгөлдөр болно:\\nМанай сервер дээр бүртгэгдсэн \\"Би зөвшөөрч байна\\" товчийг дарсан өдөр;\\nТа Платформд анх нэвтэрч эсвэл ашиглаж эхэлсэн өдөр.\\nЭнэхүү TOS нь аливаа идэвхтэй Захиалгын хугацаанд хүчинтэй байна.\\n\\nЗахиалгын хугацаа ба сунгалт\\nҮйлчилгээ нь таны Захиалгад заасан байдлаар (сар бүр, улирал тутам, жил бүр) автоматаар сунгагдана.\\nХэрэв хугацааг тодорхой заагаагүй бол анхны захиалгын хугацаа (“Анхны хугацаа”) нь нэг сар байна.\\nДараагийн сунгалтын хугацаа (“Сунгалтын хугацаа”) нь Анхны хугацаатай ижил байна.\\n\\nТуршилтын хугацаа\\nPixel Nexus Global нь төлбөртэй эсвэл үнэгүй туршилтын хугацааг санал болгож болно.\\n\\nТуршилтын хугацаанд:\\nЭнэхүү гэрээний бүх нөхцөл бүрэн үйлчилнэ.\\nАвтомат сунгалтаас зайлсхийхийн тулд та хүссэн үедээ цуцлах боломжтой.\\nТуршилтын нөхцөл урьдчилан мэдэгдэлгүйгээр өөрчлөгдөж болно.\\nЗахиалгыг удирдах хариуцлага\\n\\nТа дараах асуудлыг дангаараа хариуцна:\\nСунгалтын огноог хянах;\\nТөлбөрийн мэдээллээ шинэчлэх;\\nЦуцлалтыг эхлүүлэх;\\nХолбоо барих мэдээллээ шинэчлэх.\\nPixel Nexus Global нь таны захиалгыг удирдаагүйгээс үүсэх төлбөрт хариуцлага хүлээхгүй.\\n\\n4. Цуцлалт\\nЦуцлалт болон буцаан олголтын талаарх мэдээллийг iccandle.ai сайтын Буцаан олголт ба Цуцлалтын бодлогоос үзнэ үү.\\nДансаа цуцалсан нь зөвхөн автомат сунгалтыг зогсоох бөгөөд өмнөх нэхэмжлэхийг хүчингүй болгохгүй бөгөөд өмнөх төлбөрийг буцаан олгохгүй, хэрэв Буцаан олголтын бодлогод өөрөөр заагаагүй бол.\\nТөлөгдөөгүй бүх нэхэмжлэхийг бүрэн төлөх ёстой.\\nТаны үйлчилгээний эрх урьдчилан төлсөн хугацаа эсвэл туршилтын хугацаа дуусах хүртэл хүчинтэй байна.\\nСайн дурын үндсэн дээр цуцлах\\nАль ч тал анхны хугацаа эсвэл сунгалтын хугацаа дуусахаас дор хаяж нэг (1) хоногийн өмнө бичгээр мэдэгдэн цуцалж болно.\\n“Бичгээр мэдэгдэх” гэдэгт:\\nИмэйл\\nШууд чат\\nУтас\\nОнлайн портал\\nзэрэг бүх харилцааны хэлбэр орно.\\n\\nБодлого зөрчсөн тохиолдолд цуцлах\\nPixel Nexus Global дараах тохиолдолд үйлчилгээг шууд зогсоох, захиалгыг цуцлах эрхтэй:\\nЭнэхүү TOS-ийг зөрчсөн;\\nНууцлалын бодлогыг зөрчсөн;\\nХууль тогтоомж эсвэл нийтээр хүлээн зөвшөөрөгдсөн интернетийн стандартын эсрэг ашигласан.\\nИйм цуцлалт нь урьдчилсан мэдэгдэлгүй, маргаан шийдвэрлэх ажиллагаагүй, төлбөр буцаахгүйгээр хэрэгжиж болно.\\n\\n5. Лиценз олголт ба Хязгаарлалт\\nPixel Nexus Global нь танд өөрийн өмчийн технологи (“Pixel Nexus Technology”)-ийг зөвхөн аналитик хөдөлгүүрүүд болон үүсгэсэн тайлангууд (“Тайлан”) ашиглах зорилгоор ашиглах:\\nхязгаарлагдмал,\\nхүчингүй болгож болох,\\nонцгой бус,\\nшилжүүлэх боломжгүй,\\nдэлхий даяар хүчинтэй\\nлиценз олгож байна.\\nЭнэхүү лиценз нь зөвхөн таны дансанд бүртгэлтэй хэрэглэгчдэд хамаарах бөгөөд TOS дуусмагц автоматаар хүчингүй болно.\\n\\nТа дараах үйлдлийг хийхийг хориглоно:\\nШилжүүлэх;\\nТүрээслэх;\\nЗээлдүүлэх;\\nДахин худалдах;\\nТүгээх;\\nҮйлчилгээний товчооны зориулалтаар ашиглах;\\nЗөвшөөрөлгүй гуравдагч этгээдэд нэвтрэх боломж олгох;\\nХамгаалалтын механизмыг тойрон гарах;\\nӨөрчлөх;\\nХуулбарлах;\\nДекомпиляци хийх;\\nУрвуу инженерчлэл хийх;\\nҮүсмэл бүтээл гаргах.\\nГэрээ дууссаны дараа та бүх Pixel Nexus Technology-г ашиглахаа зогсоож, бүрмөсөн устгах ёстой.\\n\\n6. Өгөгдлийн ашиглалт ба Оюуны өмчийн эрх\\n\\nPixel Nexus Global нь таны өгсөн мэдээлэл болон платформын ашиглалтаас цуглуулсан мэдээллийг (“Үйл ажиллагааны мэдээлэл”) техникийн дэмжлэг, үйлчилгээний хэрэгжилт, үйл ажиллагаа, удирдлагад ашиглаж болно.\\nҮйлчилгээг ашигласнаар та бидэнд энэхүү мэдээллийг боловсруулах, шинжлэх байнгын бөгөөд хүчингүй болгож үл болох лиценз олгож байна.\\n\\nБид энэхүү мэдээллийг:\\nодоогийн үйлчилгээг сайжруулах;\\nшинэ бүтээгдэхүүн боловсруулах;\\nхудалдах;\\nмөнгөжүүлэх;\\nбусад үйлчилгээтэй нэгтгэх\\nзорилгоор ашиглаж болно.\\nЭнэхүү шинжилгээ болон сайжруулалтаас үүсэх бүх оюуны өмч Pixel Nexus Global-ийн онцгой өмч хэвээр байна.\\n\\n7. Мэдээллийн үнэн зөв байдлын тухай анхааруулга\\nPixel Nexus Global нь гуравдагч талын өгөгдлийн урсгалд тулгуурладаг тул платформ дээрх мэдээллийн үнэн зөв байдлыг бүрэн баталгаажуулах боломжгүй.\\nСканнер, автомат анализ, график, back testing зэрэг өөр өөр функцууд өөр өөр өгөгдөл нийлүүлэгч ашиглаж болох тул мэдээллийн зөрүү гарч болно.\\nХэрэглэгчид шинжилгээний үр дүнг үргэлж баталгаажуулах ёстой.\\n\\nПлатформын мэдээлэл нь зөвхөн:\\nмэдээллийн;\\nсудалгааны\\nзорилготой бөгөөд хөрөнгө оруулалтын шийдвэрийн цорын ганц үндэслэл болж болохгүй.\\n\\n8. Хөрөнгө оруулалтын зөвлөгөө биш тухай анхааруулга\\niccandle.ai платформын аналитик хэрэгсэл, үр дүн нь зөвхөн мэдээлэл, судалгааны зориулалттай бөгөөд хөрөнгө оруулалтын зөвлөгөө гэж үзэхгүй.\\nPattern Selector, Pattern Tracker, News Impact Intelligence зэрэг бүх анализ нь түүхэн өгөгдөл, магадлал, зах зээлийн өмнөх нөхцөл дээр үндэслэдэг бөгөөд ирээдүйн үр дүнг урьдчилан таамаглахгүй.\\nТа хөрөнгө оруулалтын шийдвэр гаргахдаа платформын анализд дангаар нь найдах ёсгүй.\\n\\n9. Эрсдэлийн тухай мэдэгдэл ба Хэрэглэгчийн хариуцлага\\nТа платформыг ашигласнаар:\\nхөрөнгө оруулалтын бүх шийдвэрийн эрсдэлийг бүрэн хүлээн зөвшөөрч;\\nзах зээлийн мэдээлэл, техникийн үзүүлэлт, аналитик үр дүнгийн найдвартай байдлыг Pixel Nexus Global баталгаажуулахгүйг ойлгож;\\nарилжаа хийхээс өмнө лицензтэй санхүүгийн зөвлөхтэй зөвлөлдөх эсвэл бие даасан судалгаа хийхийг зөвшөөрч байна.\\nPixel Nexus Global нь таны платформын мэдээлэлд найдан гаргасан аливаа шийдвэрээс үүдэх:\\nалдагдал;\\nболомж алдсан байдал;\\nбусад санхүүгийн үр дагаварт\\nямар ч хариуцлага хүлээхгүй.\\n\\n10. Баталгааны татгалзал ба Үйлчилгээний хязгаарлалт\\nPixel Nexus Global платформ, бүх үйлчилгээ, скрипт, тайлан, аналитик хөдөлгүүрүүд нь:\\n\\"AS-IS\\" (байгаа чигээр нь) болон\\n\\"AS-AVAILABLE\\" (боломжтой байгаа нөхцөлөөр)\\nүндсэн дээр олгогдоно.\\n\\nБид дараах баталгааг өгөхгүй:\\nтасралтгүй ажиллах;\\nалдаагүй байх;\\nвирусгүй байх;\\nбүх браузерт нийцэх;\\nтодорхой үр дүнд хүргэх.\\n11. Хариуцлагын хязгаарлалт\\nPixel Nexus Global-ийн нийт хариуцлага нь тухайн үйл явдал болохоос өмнөх нэг (1) сарын хугацаанд таны төлсөн нийт төлбөрөөс хэтрэхгүй.\\nPixel Nexus Global болон түүний ажилтан, төлөөлөгч, захирал, үйлчилгээ үзүүлэгч нь дараах хохиролд хариуцлага хүлээхгүй:\\nалдагдсан ашиг;\\nорлогын алдагдал;\\nбизнесийн тасалдал;\\nөгөгдлийн алдагдал;\\nхадгаламжийн алдагдал;\\nбусад шууд бус, тусгай, санамсаргүй эсвэл шийтгэлийн чанартай хохирол.\\n\\n12. Мэдэгдэл\\nАлбан ёсны бүх мэдэгдлийг таны дансанд бүртгэлтэй холбоо барих мэдээлэл рүү илгээнэ.\\nХууль зүйн мэдэгдлийг дараах хаягаар шуудангаар илгээнэ:\\nPixel Nexus Global PTE. LTD.\\n160 Robinson Road, #14-04\\nSingapore Business Federation Center\\nSingapore 068914\\n\\n13. Давагдашгүй хүчин зүйл (Force Majeure)\\nБайгалийн гамшиг, дайн, иргэний эмх замбараагүй байдал, халдварт өвчин, цахилгаан болон холбооны тасалдал, нийлүүлэлтийн доголдол, төрийн арга хэмжээ зэрэг талуудын хяналтаас гадуурх нөхцөлөөс үүдсэн сааталд аль ч тал хариуцлага хүлээхгүй.\\n\\n14. Эрхээс татгалзахгүй байх\\nPixel Nexus Global өөрийн эрхийг хэрэгжүүлэхгүй байх нь тухайн эрхээсээ татгалзсан гэсэн үг биш.\\n\\n15. Шилжүүлэг\\nPixel Nexus Global нь эдгээр Нөхцөлийг таны зөвшөөрөлгүйгээр шилжүүлэх эрхтэй.\\nТа манай урьдчилсан бичгээр зөвшөөрөлгүйгээр эдгээр Нөхцөлийг шилжүүлэх эрхгүй.\\n\\n16. Хэсэгчилсэн хүчин төгөлдөр байдал\\nХэрэв аль нэг заалт хүчин төгөлдөр бус гэж тогтоогдвол бусад бүх заалт бүрэн хүчин төгөлдөр хэвээр байна.\\n\\n17. Төлөөллийн харилцаа үүсгэхгүй\\nЭдгээр Нөхцөл нь талуудын хооронд:\\nагентлаг;\\nтүншлэл;\\nхамтарсан үйлдвэр;\\nхөдөлмөрийн харилцаа\\nүүсгэхгүй.\\n\\n18. Нууцлал ба Зөрчил\\nМанай Нууцлалын Бодлого энэхүү гэрээний нэг хэсэг болно.\\nХэрэв баримт бичгүүдийн хооронд зөрчил гарвал:\\nЭнэхүү Нөхцөл нь Нууцлалын Бодлогоос давамгайлна;\\nТусдаа үйлчилгээний гэрээ нь зөвхөн холбогдох заалтуудад давамгайлна;\\nБусад бүх тохиолдолд энэхүү Нөхцөл үйлчилнэ.\\n\\n19. Харьяалал ба Анхааруулга\\niccandle.ai-ийн үйлчилгээ нь тухайн улсын хууль тогтоомжийг зөрчих улс орнуудад ашиглагдах зориулалтгүй.\\nДараах улсын иргэдэд энэхүү вэбсайтад нэвтрэх, ашиглахыг хатуу хориглоно:\\nАмерикийн Нэгдсэн Улс\\nКанад\\nОХУ\\nИран\\nХойд Солонгос\\nМьянмар\\nСири\\nКуба\\nУкраины Крым, Донецк, Луганск бүсүүд\\nАфганистан\\nБеларусь\\nВенесуэл\\nЭнэхүү жагсаалтыг урьдчилан мэдэгдэлгүйгээр шинэчилж болно.\\nХэрэглэгчид өөрийн улсын хууль тогтоомжийг мөрдөх үүргийг бүрэн хүлээнэ.\\n\\niccandle.ai нь хэрэглэгчийн орон нутгийн зохицуулалтыг зөрчсөн үйлдэлд ямар нэгэн хариуцлага хүлээхгүй бөгөөд өөрийн үзэмжээр хандалтыг хязгаарлах, хориглох эсвэл цуцлах эрхтэй."},"Refund":{"title":"Буцаан олголт ба цуцлалтын бодлого","intro":"This Refund and Cancellation Policy (\\"Policy\\") governs refund and cancellation terms for services provided by Pixel Nexus Global Pte. Ltd. (\\"we,\\" \\"us,\\" \\"our\\") through the iccandle.ai platform (\\"Services\\"). This Policy is incorporated by reference into our Terms of Service and should be read in conjunction with those Terms.","sections":[{"title":"1. Definitions","definitions":[{"term":"Гишүүнчлэл","text":"A recurring paid access to the Services for a specified period (e.g., monthly or annually)."},{"term":"Billing Period","text":"The recurring time interval for which a Subscription fee is charged."},{"term":"Subscription Change","text":"Any upgrade or downgrade to a different Subscription plan."}]},{"title":"2. Cancellation Terms","subsections":[{"title":"Subscription Cancellation","listDisc":["You may cancel your Subscription at any time through your account dashboard or by contacting support.","Cancellation will take effect at the end of the current billing period; you will retain access to the Services through the end of that period.","Cancelling your Subscription does not automatically entitle you to a refund of fees already paid."]}]},{"title":"3. Refund Terms","subsections":[{"title":"3.1 General Rule","paragraphs":["Except as expressly provided in this Policy or required by applicable law, all fees paid for Subscriptions are non‑refundable once charged."]},{"title":"3.2 Refund Eligibility","paragraphs":["We may issue a refund at our sole discretion only in limited circumstances, including but not limited to:"],"listDisc":["Duplicate payments (verified duplicate charges will be refunded).","Technical errors that demonstrably prevented access to Services, where the error was not caused by user actions and is verified by us.","Applicable statutory rights under consumer protection law where these rights apply and cannot be waived."],"paragraphsAfter":["Refunds, if approved, will be processed to the original payment method within a commercially reasonable timeframe determined by payment processors and banking partners."]},{"title":"3.3 No Refund for Partial Use","paragraphs":["Refunds will not be issued for:"],"listDisc":["Partial use of the Services during a billing period.","Downgrades of Subscription plans.","Change of mind or business decisions after payment.","Subscription cancellations submitted after a billing cycle has renewed."]}]},{"title":"4. Subscription Changes (Upgrade or Downgrade)","paragraphs":["We provide two options when changing your Subscription plan:"],"subsections":[{"title":"4.1 Change Now","paragraphs":["If you select \\"Change Now,\\" your new plan will take effect immediately, and the associated charge will be applied.","Please note that no refunds, credits, or prorated adjustments will be provided for any unused portion of your current plan."]},{"title":"4.2 Change on Next Billing","paragraphs":["If you choose \\"Change on Next Billing,\\" your current plan will remain active until the end of the current Billing Period.","The new plan will take effect at the start of the next Billing Period.","No refunds or credits apply to the current Billing Period."]}]},{"title":"5. Cancellation After renewal","paragraphs":["If an automatic renewal has already occurred before you submit a cancellation request: The renewal fee is non-refundable. The cancellation will apply to the next Billing Period."]},{"title":"6. Chargebacks and Disputes","paragraphs":["We maintain a strict no-tolerance policy toward unjustified chargebacks.","Initiating a chargeback or payment dispute without first contacting us to seek resolution is considered a breach of this Refund and Cancellation Policy and our Terms of Service. Such actions may result in immediate suspension or permanent termination of your account, without notice, and forfeiture of access to the Services.","We reserve the right to challenge and dispute any chargeback that we deem unauthorized, abusive, or inconsistent with this Policy. This includes providing payment processors, banks, and financial institutions with all relevant evidence, including but not limited to:"],"listDisc":["Proof of service delivery and access logs","Account activity records","Acceptance of our Terms of Service and policies","Communication history with the customer"],"paragraphsAfter":["Customers are strongly encouraged to contact our support team first to resolve any billing concerns. We are committed to addressing legitimate issues in good faith; however, chargebacks used as a substitute for cancellation or refund requests will not be tolerated."]},{"title":"7. Modification of Policy","paragraphs":["We may update this Policy from time to time. Material changes will be posted on our website or communicated via email prior to taking effect. Continued use of the Services after such updates constitutes acceptance of the revised Policy."]},{"title":"8. Contact Information","paragraphs":["For all cancellation and refund requests, please contact our support team via our help center."]}],"content":"Буцаан олголт ба цуцлалтын бодлого\\n\\nЭнэхүү Буцаан олголт ба цуцлалтын бодлого (“Бодлого”) нь Pixel Nexus Global Pte. Ltd. (“бид,” “манай”) компанийн iccandle.ai платформ (“Үйлчилгээ”) дээр үзүүлж буй үйлчилгээний буцаан олголт болон цуцлалтын нөхцөлийг зохицуулна. Энэхүү Бодлого нь Үйлчилгээний Нөхцөлд тусгагдсан бөгөөд тэдгээртэй хамт уншина.\\n\\n1. Тодорхойлолтууд\\n\\nSubscription (Гишүүнчлэл): Тодорхой хугацаанд (жишээ нь сар бүр эсвэл жил бүр) төлбөртэйгээр үйлчилгээ авах эрх.\\n\\nBilling Period (Төлбөрийн мөчлөг): Гишүүнчлэлийн төлбөр давтагдан тооцогдох хугацааны интервал.\\n\\nSubscription Change (Гишүүнчлэлийн өөрчлөлт): Илүү өндөр эсвэл доогуур багц руу шилжих.\\n\\n2. Цуцлалтын нөхцөл\\n\\nГишүүнчлэл цуцлах\\n\\nТа өөрийн акаунтаар эсвэл дэмжлэгтэй холбогдон хүссэн үедээ цуцалж болно.\\nЦуцлалт тухайн төлбөрийн мөчлөгийн төгсгөлд хүчин төгөлдөр болно.\\nТа тухайн хугацааны төгсгөл хүртэл үйлчилгээг ашиглах эрхтэй хэвээр байна.\\nЦуцлалт нь өмнө төлсөн төлбөрийг автоматаар буцаан олгох үндэслэл болохгүй.\\n3. Буцаан олголтын нөхцөл\\n3.1 Ерөнхий дүрэм\\n\\nХуульд зааснаас бусад тохиолдолд, төлбөр хийгдсэн даруйд буцаан олголт хийхгүй.\\n\\n3.2 Буцаан олголт хийх боломжтой нөхцөл\\n\\nЗөвхөн дараах тохиолдолд бид өөрсдийн үзэмжээр буцаан олголт хийж болно:\\n\\nДавхар төлбөр (нотлогдсон давхардсан төлбөр)\\nТехникийн алдаа үйлчилгээний хүртээмжийг бодитоор хаасан бөгөөд хэрэглэгчийн үйлдлээс шалтгаалаагүй\\nХэрэглэгчийн хамгаалалтын хуульд заасан зайлшгүй эрхүүд\\n\\nБатлагдсан буцаан олголтыг төлбөрийн үйлчилгээ болон банкны хугацаанаас хамаарч боломжит хугацаанд шилжүүлнэ.\\n\\n3.3 Хэсэгчилсэн ашиглалтын буцаан олголтгүй\\n\\nДараах тохиолдолд буцаан олголт хийгдэхгүй:\\n\\nТөлбөрийн мөчлөг дотор хэсэгчлэн ашигласан\\nБагц бууруулсан\\nТөлбөр хийсний дараа бодлоо өөрчилсөн\\nШинэчлэгдсэн мөчлөгийн дараа цуцалсан\\n4. Гишүүнчлэлийн өөрчлөлт\\n4.1 Одоо өөрчлөх\\n\\nШинэ багц шууд идэвхжинэ. Ашиглагдаагүй хугацаанд буцаан олголт хийхгүй.\\n\\n4.2 Дараагийн мөчлөгөөс өөрчлөх\\n\\nОдоогийн багц хугацааны төгсгөл хүртэл үргэлжилнэ. Шинэ багц дараагийн мөчлөгөөс эхэлнэ.\\n\\n5. Шинэчлэлийн дараах цуцлалт\\n\\nАвтомат сунгалт хийгдсэний дараа цуцалбал тухайн төлбөр буцаагдахгүй бөгөөд дараагийн мөчлөгөөс цуцлагдана.\\n\\n6. Чаржбэк ба маргаан\\n\\nБид үндэслэлгүй чаржбэкийг хатуу хориглоно.\\n\\nЭхлээд бидэнтэй холбогдохгүйгээр банкны маргаан үүсгэх нь бодлого зөрчсөнд тооцогдоно. Үүний улмаас:\\n\\nАкаунт түр эсвэл бүрмөсөн хаагдах\\nҮйлчилгээний эрх цуцлагдах боломжтой\\n\\nБид шаардлагатай бүх нотлох баримтыг төлбөрийн байгууллагад гаргаж өгнө.\\n\\n7. Бодлогын өөрчлөлт\\n\\nБид энэхүү бодлогыг шинэчилж болно. Чухал өөрчлөлтүүдийг сайт эсвэл имэйлээр мэдэгдэнэ.\\n\\n8. Холбоо барих\\n\\nБуцаан олголт болон цуцлалтын хүсэлтээ дэмжлэгийн төвөөр дамжуулан илгээнэ."},"Privacy":{"title":"Нууцлалын бодлого","intro":"Энэхүү Нууцлалын бодлого нь Pixel Nexus Global Pte. Ltd. (“бид”, “манай” эсвэл “бидний”) таны манай вэбсайт, аппликейшн болон үйлчилгээ (нийтэд нь “Үйлчилгээ” гэж нэрлэнэ)-г ашиглах үед хувийн мэдээллийг хэрхэн цуглуулах, ашиглах, задруулах болон хамгаалах талаар тайлбарлана.","sections":[{"title":"1. Бидний цуглуулдаг мэдээлэл","paragraphs":["Бид дараах мэдээллийг цуглуулна:"],"listDisc":["Та манай Үйлчилгээнд бүртгүүлэх үед өгсөн имэйл хаяг","Үйлчилгээ ашиглалтын мэдээлэл, үүнд функцүүдтэй харилцсан байдал, үзсэн хуудсууд, сессийн үйл ажиллагаа болон ерөнхий ашиглалтын хэв маяг багтана. Эдгээрийг манай Үйлчилгээний ажиллагаа, гүйцэтгэл болон хэрэглэгчийн туршлагыг сайжруулах зорилгоор цуглуулна"],"paragraphsAfter":["Бид төлбөрийн картын мэдээлэл эсвэл бусад эмзэг төлбөрийн мэдээллийг цуглуулах, хадгалах эсвэл боловсруулахгүй."]},{"title":"2. Төлбөр ба Stripe","paragraphs":["Бүх төлбөрийн гүйлгээг гуравдагч этгээдийн төлбөрийн үйлчилгээ үзүүлэгч Stripe боловсруулна.","Таныг төлбөр хийх үед Stripe нь төлбөртэй холбоотой мэдээлэл (жишээ нь картын мэдээлэл, төлбөрийн хаяг, гүйлгээний мэдээлэл)-ийг шууд цуглуулж боловсруулна. Энэ мэдээлэл нь Stripe-ийн Нууцлалын бодлого болон PCI-DSS аюулгүй байдлын стандартын дагуу хамгаалагдана.","Бид Stripe-ээс зөвхөн Үйлчилгээг ажиллуулахад шаардлагатай хязгаарлагдмал мэдээллийг хүлээн авна. Үүнд:"],"listDisc":["Төлбөр баталгаажсан эсэх","Захиалгын (subscription) төлөв","Гүйлгээний таних дугаарууд"],"paragraphsAfter":["Бид таны бүрэн төлбөрийн мэдээлэлд хандах боломжгүй.","Stripe-ийн Нууцлалын бодлогыг эндээс үзнэ үү:"],"stripePrivacyUrl":"https://stripe.com/privacy"},{"title":"3. Таны мэдээллийг хэрхэн ашиглах вэ","paragraphs":["Бид цуглуулсан имэйл хаягийг дараах зорилгоор ашиглана:"],"listDisc":["Үйлчилгээг үзүүлэх, ажиллуулах, хадгалах","Ашиглалтын мэдээлэлд дүн шинжилгээ хийж бүтээгдэхүүний ажиллагаа, гүйцэтгэл болон хэрэглэгчийн туршлагыг сайжруулах","Техникийн мэдэгдэл, шинэчлэлт болон дэмжлэгийн мэдээлэл хүргэх","Бүтээгдэхүүн, үйлчилгээ, функц болон арга хэмжээний талаар мэдээлэх"]},{"title":"4. Мэдээлэл хуваалцах","paragraphs":["Бид таны хувийн мэдээллийг худалдахгүй.","Бид мэдээллийг зөвхөн дараах этгээдүүдтэй хуваалцаж болно:"],"listDisc":["Манай үйл ажиллагааг дэмждэг үйлчилгээ үзүүлэгчид (хостинг, аналитик болон Stripe зэрэг төлбөрийн боловсруулалт)","Хууль, нягтлан бодлого эсвэл нийцлийн зөвлөхүүд","Хууль эсвэл эрх зүйн шаардлагын дагуу шаардлагатай үед хууль сахиулах байгууллага болон зохицуулагчид"],"paragraphsAfter":["Бүх гуравдагч талын үйлчилгээ үзүүлэгчид хувийн мэдээллийг холбогдох хууль тогтоомжийн дагуу боловсруулах үүрэгтэй."]},{"title":"5. Таны эрх","paragraphs":["Таны байршлаас хамааран дараах эрхүүд танд байж болно:"],"listDisc":["Хувийн мэдээлэлдээ хандах","Имэйл хаягаа засах эсвэл шинэчлэх","Имэйл хаягаа устгах хүсэлт гаргах","Зарим мэдээлэл боловсруулах үйл ажиллагааг эсэргүүцэх эсвэл хязгаарлуулах"],"paragraphsAfter":["Төлбөрийн мэдээлэлтэй холбоотой хүсэлтийг Stripe руу шууд илгээх шаардлагатай, учир нь Stripe нь тухайн мэдээллийн өгөгдлийн хянагч юм."]},{"title":"6. Гуравдагч этгээдийн бодлого","paragraphs":["Манай Үйлчилгээ нь Stripe зэрэг гуравдагч үйлчилгээ үзүүлэгчдээс хамаардаг. Тэд хувийн мэдээллийг хэрхэн боловсруулах нь өөрсдийн нууцлалын бодлогоор зохицуулагддаг тул тэдгээрийг уншиж танилцахыг зөвлөж байна."]},{"title":"7. Бидэнтэй холбогдох","paragraphs":["Энэхүү Нууцлалын бодлого эсвэл манай мэдээллийн практикын талаар асуулт байвал дараах хаягаар холбогдоно уу:","support@iccandle.ai"]}],"content":"Нууцлалын бодлого\\n\\nЭнэхүү Нууцлалын бодлого нь Pixel Nexus Global Pte. Ltd. (“бид”, “манай” эсвэл “бидний”) таны манай вэбсайт, аппликейшн болон үйлчилгээ (нийтэд нь “Үйлчилгээ” гэж нэрлэнэ)-г ашиглах үед хувийн мэдээллийг хэрхэн цуглуулах, ашиглах, задруулах болон хамгаалах талаар тайлбарлана.\\n\\n1. Бидний цуглуулдаг мэдээлэл\\nБид дараах мэдээллийг цуглуулна:\\nТа манай Үйлчилгээнд бүртгүүлэх үед өгсөн имэйл хаяг\\nҮйлчилгээ ашиглалтын мэдээлэл, үүнд функцүүдтэй харилцсан байдал, үзсэн хуудсууд, сессийн үйл ажиллагаа болон ерөнхий ашиглалтын хэв маяг багтана. Эдгээрийг манай Үйлчилгээний ажиллагаа, гүйцэтгэл болон хэрэглэгчийн туршлагыг сайжруулах зорилгоор цуглуулна\\nБид төлбөрийн картын мэдээлэл эсвэл бусад эмзэг төлбөрийн мэдээллийг цуглуулах, хадгалах эсвэл боловсруулахгүй.\\n\\n2. Төлбөр ба Stripe\\nБүх төлбөрийн гүйлгээг гуравдагч этгээдийн төлбөрийн үйлчилгээ үзүүлэгч Stripe боловсруулна.\\nТаныг төлбөр хийх үед Stripe нь төлбөртэй холбоотой мэдээлэл (жишээ нь картын мэдээлэл, төлбөрийн хаяг, гүйлгээний мэдээлэл)-ийг шууд цуглуулж боловсруулна. Энэ мэдээлэл нь Stripe-ийн Нууцлалын бодлого болон PCI-DSS аюулгүй байдлын стандартын дагуу хамгаалагдана.\\nБид Stripe-ээс зөвхөн Үйлчилгээг ажиллуулахад шаардлагатай хязгаарлагдмал мэдээллийг хүлээн авна. Үүнд:\\nТөлбөр баталгаажсан эсэх\\nЗахиалгын (subscription) төлөв\\nГүйлгээний таних дугаарууд\\nБид таны бүрэн төлбөрийн мэдээлэлд хандах боломжгүй.\\nStripe-ийн Нууцлалын бодлогыг эндээс үзнэ үү: https://stripe.com/privacy\\n\\n3. Таны мэдээллийг хэрхэн ашиглах вэ\\nБид цуглуулсан имэйл хаягийг дараах зорилгоор ашиглана:\\nҮйлчилгээг үзүүлэх, ажиллуулах, хадгалах\\nАшиглалтын мэдээлэлд дүн шинжилгээ хийж бүтээгдэхүүний ажиллагаа, гүйцэтгэл болон хэрэглэгчийн туршлагыг сайжруулах\\nТехникийн мэдэгдэл, шинэчлэлт болон дэмжлэгийн мэдээлэл хүргэх\\nБүтээгдэхүүн, үйлчилгээ, функц болон арга хэмжээний талаар мэдээлэх\\n\\n4. Мэдээлэл хуваалцах\\nБид таны хувийн мэдээллийг худалдахгүй.\\nБид мэдээллийг зөвхөн дараах этгээдүүдтэй хуваалцаж болно:\\nМанай үйл ажиллагааг дэмждэг үйлчилгээ үзүүлэгчид (хостинг, аналитик болон Stripe зэрэг төлбөрийн боловсруулалт)\\nХууль, нягтлан бодлого эсвэл нийцлийн зөвлөхүүд\\nХууль эсвэл эрх зүйн шаардлагын дагуу шаардлагатай үед хууль сахиулах байгууллага болон зохицуулагчид\\nБүх гуравдагч талын үйлчилгээ үзүүлэгчид хувийн мэдээллийг холбогдох хууль тогтоомжийн дагуу боловсруулах үүрэгтэй.\\n\\n5. Таны эрх\\nТаны байршлаас хамааран дараах эрхүүд танд байж болно:\\nХувийн мэдээлэлдээ хандах\\nИмэйл хаягаа засах эсвэл шинэчлэх\\nИмэйл хаягаа устгах хүсэлт гаргах\\nЗарим мэдээлэл боловсруулах үйл ажиллагааг эсэргүүцэх эсвэл хязгаарлуулах\\nТөлбөрийн мэдээлэлтэй холбоотой хүсэлтийг Stripe руу шууд илгээх шаардлагатай, учир нь Stripe нь тухайн мэдээллийн өгөгдлийн хянагч юм.\\n\\n6. Гуравдагч этгээдийн бодлого\\nМанай Үйлчилгээ нь Stripe зэрэг гуравдагч үйлчилгээ үзүүлэгчдээс хамаардаг. Тэд хувийн мэдээллийг хэрхэн боловсруулах нь өөрсдийн нууцлалын бодлогоор зохицуулагддаг тул тэдгээрийг уншиж танилцахыг зөвлөж байна.\\n\\n7. Бидэнтэй холбогдох\\nЭнэхүү Нууцлалын бодлого эсвэл манай мэдээллийн практикын талаар асуулт байвал дараах хаягаар холбогдоно уу:\\n\\nsupport@iccandle.ai"},"Cookie":{"title":"Күүкийн бодлого","intro":["This Cookie Policy explains how Pixel Nexus Global Pte. Ltd. (\\"we\\", \\"us\\", or \\"our\\") uses cookies and similar technologies when you visit or use iccandle.ai and related services (collectively, the \\"Services\\").","This Policy should be read together with our Privacy Policy."],"sections":[{"title":"1. What Are Cookies?","paragraphs":["Cookies are small text files placed on your device when you visit a website. They are widely used to make websites work efficiently, enhance user experience, and provide information to website operators.","Cookies may be:"],"listDisc":["Session cookies (deleted when you close your browser), or","Persistent cookies (stored for a set period or until deleted)."]},{"title":"2. Types of Cookies We Use","subsections":[{"title":"2.1 Strictly Necessary Cookies","paragraphs":["These cookies are essential for the operation of our Services and cannot be switched off. They are required to:"],"listDisc":["Enable secure login and authentication","Maintain user sessions","Protect against fraud and abuse"],"paragraphsAfter":["Without these cookies, the Services cannot function properly."]},{"title":"2.2 Functional Cookies","paragraphs":["These cookies allow us to remember your preferences and settings, such as:"],"listDisc":["Language or regional preferences","Account-related selections"],"paragraphsAfter":["They improve usability but are not strictly necessary."]},{"title":"2.3 Analytics and Performance Cookies","paragraphs":["We use analytics cookies to understand how users interact with our Services. These cookies collect information such as:"],"listDisc":["Pages visited and features used","Session duration and interaction patterns","Error and performance data"],"paragraphsAfter":["This information is used solely to improve our product, functionality, and user experience. Analytics data is aggregated and does not directly identify individual users."]},{"title":"2.4 Third-Party Cookies","paragraphs":["Some cookies are placed by third-party service providers that support our Services, including:"],"listDisc":["Payment processing services (e.g., Stripe)","Analytics and infrastructure providers"],"paragraphsAfter":["These third parties may use cookies in accordance with their own privacy and cookie policies."]}]},{"title":"3. What We Do NOT Use Cookies For","listDisc":["We do not use cookies for advertising or behavioral targeting","We do not sell cookie data","We do not use cookies to collect sensitive personal information"]},{"title":"4. Managing Cookies","paragraphs":["You can manage or disable cookies through your browser settings. Most browsers allow you to:"],"listDisc":["View cookies stored on your device","Delete existing cookies","Block cookies entirely or from specific websites"],"paragraphsAfter":["Please note that disabling certain cookies may affect the functionality and performance of the Services."]},{"title":"5. Changes to This Cookie Policy","paragraphs":["We may update this Cookie Policy from time to time to reflect changes in technology, law, or our practices. Material changes will be posted on our website. Continued use of the Services after changes take effect constitutes acceptance of the updated Policy."]},{"title":"6. Contact Us","paragraphs":["If you have any questions about this Cookie Policy or our use of cookies, please contact us at:","support@iccandle.ai"]}],"content":"Күүкийн бодлого\\n\\nЭнэхүү Күүкийн бодлого нь Pixel Nexus Global Pte. Ltd. (“бид”, “манай”) компанийн iccandle.ai болон түүнтэй холбоотой үйлчилгээ (“Үйлчилгээ”) ашиглах үед күүки болон ижил төстэй технологийг хэрхэн ашигладаг талаар тайлбарлана.\\n\\nЭнэхүү бодлогыг Нууцлалын бодлоготой хамт унших ёстой.\\n\\n1. Күүки гэж юу вэ?\\n\\nКүүки нь вэбсайт руу зочлох үед таны төхөөрөмж дээр хадгалагддаг жижиг текст файл юм. Тэдгээр нь:\\n\\nВэбсайтыг үр ашигтай ажиллуулах\\nХэрэглэгчийн туршлагыг сайжруулах\\nВэбсайт эзэмшигчдэд мэдээлэл өгөх зорилготой.\\n\\nКүүки нь:\\n\\nSession cookies (хөтөч хаахад устдаг)\\nPersistent cookies (тодорхой хугацаанд хадгалагдана)\\n2. Бидний ашигладаг күүкийн төрлүүд\\n2.1 Заавал шаардлагатай күүки\\n\\nЭдгээр нь Үйлчилгээний үндсэн ажиллагаанд шаардлагатай бөгөөд унтраах боломжгүй.\\n\\nАюулгүй нэвтрэлт баталгаажуулалт\\nХэрэглэгчийн сесс хадгалах\\nЛуйвар болон зөрчлөөс хамгаалах\\n2.2 Функциональ күүки\\n\\nЭдгээр нь таны тохиргоог санахад ашиглагдана:\\n\\nХэл болон бүсийн тохиргоо\\nБүртгэлтэй холбоотой сонголтууд\\n2.3 Аналитик болон гүйцэтгэлийн күүки\\n\\nХэрэглэгчид манай Үйлчилгээг хэрхэн ашиглаж байгааг ойлгоход ашиглагдана:\\n\\nХуудас үзсэн байдал\\nСеанс хугацаа\\nАлдаа ба гүйцэтгэлийн мэдээлэл\\n\\nЭдгээр нь бүтээгдэхүүн, ажиллагаа, хэрэглэгчийн туршлагыг сайжруулах зорилготой бөгөөд хувь хүнийг шууд танихгүй.\\n\\n2.4 Гуравдагч талын күүки\\n\\nЗарим күүкиг гуравдагч үйлчилгээ үзүүлэгчид байрлуулдаг:\\n\\nТөлбөрийн үйлчилгээ (жишээ нь Stripe)\\nАналитик болон дэд бүтцийн үйлчилгээ\\n\\nЭдгээр нь өөрсдийн бодлогоор зохицуулагдана.\\n\\n3. Бид күүкиг юунд ашигладаггүй вэ\\nЗар сурталчилгаа болон зан төлөвийн зорилтот сурталчилгаанд ашиглахгүй\\nКүүки мэдээллийг худалдахгүй\\nМэдрэмтгий хувийн мэдээлэл цуглуулахгүй\\n4. Күүки удирдах\\n\\nТа браузерийн тохиргоогоор күүкиг удирдах боломжтой:\\n\\nКүүки харах\\nУстгах\\nБлоклох\\n\\nЗарим күүкиг унтраах нь үйлчилгээний ажиллагаанд нөлөөлж болзошгүй.\\n\\n5. Бодлогын өөрчлөлт\\n\\nБид энэ бодлогыг шинэчилж болно. Чухал өөрчлөлтүүдийг вэбсайтад нийтэлнэ. Үргэлжлүүлэн ашиглах нь шинэчлэлтийг хүлээн зөвшөөрсөнд тооцогдоно.\\n\\n6. Холбоо барих\\n\\nsupport@iccandle.ai"}}`),Dm={Common:im,Confirmation:am,DateFormat:rm,Alert:om,TimeConfig:sm,Loading:lm,Auth:cm,Navbar:um,Guide:dm,Pricing:hm,Settings:pm,Referral:mm,Layout:fm,News:gm,Selector:ym,UserActivity:bm,Pattern:vm,PatternCatalog:wm,sQuestion_pattern:xm,sQuestion_general:Pm,sQuestion_news:Sm,justLanguage:Tm,profile:km,Landing:Cm,NotFound:Am,Legal:Nm},Rm={or:"ИЛИ",error:"Ошибка",cancel:"Отмена",continuing:"Продолжение...",email:"Электронная почта",password:"Пароль",termsOfService:"Условия использования",privacyPolicy:"Политика конфиденциальности",continueWithGoogle:"Продолжить с Google",continuingWithGoogle:"Продолжаем с Google...",signIn:"Войти",signUp:"Регистрация",agreeAndContinue:"Согласиться и продолжить",changePlan:"Сменить план",upgradePlan:"Повысить план +",manageBilling:"Управление оплатой",getInTouch:"Связаться с нами",copyright:"© {year} IC Candle, Inc. Все права защищены.",session:"Сессия",sessions:"Сессии",activeWorkspaces:"Активные рабочие пространства",date:"Дата",product:"Продукт",plan:"План",planNames:{free:"Бесплатный план",standard:"Стандартный план",pro:"План Pro",expert:"План Expert"},status:"Статус",amount:"Сумма",detail:"Детали",total:"Итого",prioritySupport:"Приоритетная поддержка",all:"Все",minutely:"Ежеминутно",hourly:"Ежечасно",daily:"Ежедневно",chatAssistant:"Чат-ассистент",timeframes:"Таймфреймы",symbols:"Символы",timeSettings:"Настройки времени",step:"Шаг {number}:",learnMore:"Подробнее",success:"Успешно",validationError:"Ошибка валидации",previous:"Назад",next:"Далее",saving:"Сохранение...",save:"Сохранить",saveChanges:"Сохранить изменения",nextStep:"Следующий шаг",columnTimeframe:"ТАЙМФРЕЙМ",columnSymbol:"СИМВОЛ",columnDescription:"ОПИСАНИЕ",symbol:"Символ",timeframe:"Таймфрейм",candles:"Свечи",up:"Вверх",down:"Вниз",play:"Воспроизвести",close:"Закрыть",simulate:"Симулировать",actual:"Факт",forecast:"Прогноз",interestRate:"Процентная ставка",soon:"Скоро",back:"Назад",similarity:"Сходство",nextCandles:"Следующие {count}",nextCandlesFull:"Следующие {count} свечей",probabilityOutcome:"Вероятный исход:",estimatedProbability:"оценочная вероятность:",riskDisclaimer:"Финансовые рынки связаны с высоким уровнем риска и могут привести к потере капитала. iC Candle предоставляет информацию только в образовательных целях и не дает финансовых рекомендаций. Результаты в прошлом не гарантируют результаты в будущем.",rangeTooFarToRender:"Диапазон слишком далек для отображения.",marketSessions:"Рыночные сессии",askTradingQuestion:"Задайте вопрос о трейдинге",mrCandleThinking:"Mr. Candle думает...",simulateBullishPriceAction:"Симулировать бычье движение цены",simulateBearishPriceAction:"Симулировать медвежье движение цены",dismiss:"Скрыть",loadingMore:"Загрузка...",savedPatternDeleted:"Сохраненный паттерн удален"},Em={confirm:"Подтвердить",deletePatternTitle:"Удалить паттерн",deletePatternDescription:"Вы уверены, что хотите удалить этот паттерн?",deleteAllNotificationsTitle:"Удалить все уведомления",deleteAllNotificationsDescription:"Вы уверены, что хотите удалить все уведомления?",disableSignalsTitle:"Отключить сигналы",disableSignalsDescription:"Вы уверены, что хотите отключить сигналы?",disableSignalsForDescription:"Вы уверены, что хотите отключить сигналы для {patternTitle}?",togglePatternModeTitle:"Переключить режим паттерна",togglePatternModeDisableDescription:"Вы уверены, что хотите отключить этот паттерн?",togglePatternModeEnableDescription:"Вы уверены, что хотите включить этот паттерн?",closeFeatureDescription:"Вы уверены, что хотите закрыть эту функцию?"},Om={today:"Сегодня",yesterday:"Вчера",day:"{count, plural, one {# день} few {# дня} many {# дней} other {# дня}}",hour:"{count, plural, one {# час} few {# часа} many {# часов} other {# часа}}",minute:"{count, plural, one {# минута} few {# минуты} many {# минут} other {# минуты}}",zeroMinutes:"0 минут",dayShort:"д",hourShort:"ч",minuteShort:"мин",zeroMin:"0мин",justNow:"Только что",minutesAgo:"{count, plural, one {# минуту назад} few {# минуты назад} many {# минут назад} other {# минуты назад}}",hoursAgo:"{count, plural, one {# час назад} few {# часа назад} many {# часов назад} other {# часа назад}}",daysAgo:"{count, plural, one {# день назад} few {# дня назад} many {# дней назад} other {# дня назад}}",monthsAgo:"{count, plural, one {# месяц назад} few {# месяца назад} many {# месяцев назад} other {# месяца назад}}",yearsAgo:"{count, plural, one {# год назад} few {# года назад} many {# лет назад} other {# года назад}}"},Mm={classicPatternTracker:"Трекер классических паттернов",trackedPatternReminder:"Напоминание об отслеживаемом паттерне",classicPattern:"Классический паттерн",trackedPattern:"Отслеживаемый паттерн",enableClassicNotifications:"Включите уведомления в реальном времени для классических ценовых формаций",waitingForPatternSignals:"Ожидание сигналов паттернов",noPatternsDetected:"Сейчас паттерны не обнаружены",signalsActiveDescription:"Ваши сигналы активны. Мы уведомим вас, как только будут найдены совпадающие паттерны",noCustomPatternDetected:"Сейчас {patternName} не обнаружен",trackMorePatternsByScan:"Отслеживайте больше паттернов, перейдя в сканирование",seeMore:"Смотреть больше"},Im={title:"Настройки времени",description:"Выберите локальное временное окно, в котором могут срабатывать оповещения о паттернах.",startTime:"Время начала",endTime:"Время окончания",session:"Сессия",timezone:"Часовой пояс",yourTimezone:"Ваш часовой пояс",selectSession:"Выберите сессию",searchSession:"Поиск сессии...",noSessionFound:"Сессия не найдена.",sessionsHeading:"Сессии",selectTimezone:"Выберите часовой пояс",selectTimezoneHint:"Найдите и выберите часовой пояс для этого оповещения.",searchTimezone:"Поиск часового пояса...",noTimezoneFound:"Часовой пояс не найден.",timezonesHeading:"Часовые пояса",allTime:"Все время",customize:"Настроить",newYorkSession:"Нью-Йоркская сессия",londonSession:"Лондонская сессия",tokyoSession:"Токийская сессия",sydneySession:"Сиднейская сессия"},Lm={newsScan:{analyzing:"Анализ текущего новостного события...",searching:"Поиск исторически похожих новостных публикаций...",ranking:"Ранжирование наиболее релевантных похожих новостей...",preparingReplay:"Подготовка похожих новостей для воспроизведения...",ready:"Похожие новостные события готовы к анализу влияния."},newsAi:{replaying:"Воспроизведение исторических ценовых движений...",startingSimulation:"Запуск модели симуляции влияния...",calculatingScenarios:"Расчет сценариев роста и падения...",complete:"Симуляция завершена."},selectorScan:{scanning:"Сканирование 20+ лет рыночной истории...",finding:"Поиск структурно похожих паттернов...",linking:"Связывание поведения рынка с базовыми драйверами...",preparing:"Подготовка структурированных исторических датасетов...",ready:"Паттерны готовы к воспроизведению и анализу исходов."},selectorAi:{replaying:"Воспроизведение исторического поведения паттернов...",learning:"Изучение паттернов влияния на основе прошлых движений...",calculating:"Расчет динамики ценового движения...",initializing:"Инициализация модели симуляции...",complete:"Симуляция завершена."}},Gm={Layout:{tagline:"Создано для трейдеров, которые ценят понимание, а не шум"},Legal:{termsAndPrivacy:"Условия и конфиденциальность",googleTermsDescription:"Продолжая через Google, вы соглашаетесь с нашими <terms></terms> и <privacy></privacy>.",legalAgreement:"Я согласен(-на) с <terms></terms> и <privacy></privacy>.",pleaseAgreeToContinue:"Пожалуйста, согласитесь, чтобы продолжить",pleaseAgreeDescription:"Чтобы продолжить через Google, вы должны согласиться с Условиями использования и Политикой конфиденциальности."},SignIn:{dontHaveAccount:"Нет аккаунта?",googleVerifyingAuthorization:"Google проверяет авторизацию...",invalidCredentials:"Неверные учетные данные",invalidEmail:"Неверный адрес электронной почты",emailRequired:"Email обязателен",passwordRequired:"Пароль обязателен",pleaseCheckInfo:"Пожалуйста, проверьте данные еще раз",emailPlaceholder:"Введите личный или рабочий email",change:"Изменить",forgotPassword:"Забыли пароль",continueWithEmail:"Продолжить с email"},SignUp:{repeatPassword:"Повторите пароль",termsAgreement:"Продолжая, вы соглашаетесь с нашими <terms></terms> и <privacy></privacy>",continueWithEmail:"Продолжить с email",alreadyHaveAccount:"Уже есть аккаунт?",signUpError:"Произошла ошибка при регистрации."},PasswordRecovery:{title:"Восстановление пароля",emailRequired:"Email обязателен!",emailPlaceholder:"your@example.com",sendConfirmationCode:"Отправить код подтверждения",somethingWrong:"Что-то пошло не так",pleaseWaitAndRetry:"Пожалуйста, подождите и попробуйте снова",confirmationCodeSent:"Код подтверждения отправлен",checkYourEmail:"Пожалуйста, проверьте вашу почту"},ResetPassword:{title:"Сброс пароля",confirmationCode:"Код подтверждения",confirmationCodeRequired:"Код подтверждения обязателен.",newPassword:"Новый пароль",repeatNewPassword:"Повторите новый пароль",passwordMinLength:"Пароль должен содержать не менее 8 символов.",repeatPasswordMinLength:"Повторный пароль должен содержать не менее 8 символов.",passwordsMustMatch:"Пароли должны совпадать.",pleaseStartAgain:"Пожалуйста, начните заново",resetSuccess:"Сброс выполнен",useNewPassword:"Пожалуйста, используйте новый пароль",passwordNotConfirmed:"Пароль не подтвержден!"},Confirm:{title:"Подтвердите аккаунт",codeSentTo:"Код подтверждения отправлен на:",otpDescription:"Введите одноразовый пароль, отправленный на вашу почту.",otpLength:"OTP должен содержать 6 символов.",turnstileError:"Произошла ошибка в Turnstile",confirmError:"Ошибка при подтверждении: {message}",confirm:"Подтвердить"}},Fm={features:{title:"Функции",patternSelector:{title:"Селектор паттернов",subtitle:"Анализирует вашу идею на основе исторических рыночных данных, чтобы найти похожие ценовые паттерны и результаты."},patternTracker:{title:"Трекер паттернов",subtitle:"Непрерывно сканирует рынок в фоновом режиме и уведомляет вас, когда появляется соответствующий паттерн."},newsImpact:{title:"Влияние новостей",subtitle:"Показывает, как прошлые новостные публикации повлияли на движение цены, чтобы вы могли увидеть, как рынок реагировал ранее."}},resources:{title:"Ресурсы",learnAndUse:{title:"Изучайте и применяйте",subtitle:"Изучайте аналитические концепции и эффективное использование платформы."},updatesAndInsights:{title:"Обновления и инсайты",subtitle:"Новости и обновления о том, что мы создаем и исследуем."},whoWeAre:{title:"Кто мы",subtitle:"Кто мы, во что верим и почему создаем этот продукт."},helpCenter:{title:"Центр помощи",subtitle:"Найдите помощь, инструкции и ответы, когда это нужно."}},pricing:{title:"Тарифы"}},Bm={badge:"Функции",title:"Аналитика рынка на базе ИИ для более разумных решений",description:"Используйте передовую аналитику и исторические данные для поиска паттернов, анализа реакции рынка и понимания вероятностей перед принятием решений.",creditUsage:"Использование кредитов",resetAfter:"Сброс через",resetAfterColon:"Сброс через:",useThisFeature:"Использовать эту функцию",automateNow:"Автоматизировать сейчас",analyzeNow:"Анализировать сейчас",inSession:"Вы в сессии",sessionActive:"Сессия сейчас активна",continueSession:"Продолжить сессию",pageHeader:{account:{title:"Профиль",infoTitle:"Ваш аккаунт",infoDescription:"Управляйте настройками, предпочтениями и подключениями"},subscription:{title:"Подписка",infoTitle:"Ваш план",infoDescription:"Управляйте планом, биллингом и платежами"},support:{title:"Поддержка",infoTitle:"Получить помощь",infoDescription:"Найдите ответы на вопросы и свяжитесь с нашей службой поддержки"},referral:{title:"Сообщество",infoTitle:"Программа роста сообщества",infoDescription:"Приглашайте друзей, получайте возвраты, растите вместе"}}},jm={chooseYour:"Выберите свой",plan:"план",annualPromo:`Получите более 2 месяцев бесплатно
49
+ при годовой подписке`,monthly:"Ежемесячно",yearly:"Ежегодно",yearlyBadge:"-20%",comparePlans:"Сравнить планы",compareSubtitle:"Полная детализация того, что включено в каждый уровень.",usage:"ИСПОЛЬЗОВАНИЕ",usageSection:"Использование",features:"ФУНКЦИИ",featuresSection:"Функции",freePricePerMonth:"$0 / месяц",pricePerMonth:"{price} / месяц",patternSelector:"Селектор паттернов",patternTracker:"Трекер паттернов",newsImpact:"Влияние новостей",scanResultLimit:"Лимит результатов сканирования",historicalData:"Исторические данные",webhook:"Webhook",patternExport:"Экспорт паттернов",scansPerDay:"{count} сканов / день",scansPerDayDefault:"2 скана / день",patternsCount:"{count} паттернов",perDay:"{count} / день",perDayDefault:"1 / день",tabsCount:"{count} вкладок",tabsCountDefault:"1 вкладка",limited:"Ограничено",historicalYears:"20+ лет",included:"✓",notIncluded:"—",planChangedSuccess:"План успешно изменен на {planTitle}!",subscriptionSuccess:"Подписка на {planTitle} успешно оформлена!",paymentSuccessful:"Оплата прошла успешно!",planUpdated:"Ваш план обновлен.",planUpdatedDescription:"Ваш план обновлен. Вы можете сразу начать пользоваться новыми функциями.",subscriptionActive:"Ваша подписка теперь активна.",subscriptionActiveDescription:"Ваша подписка на {planTitle} теперь активна. Спасибо за покупку!",manageBillingInfo:"Управляйте вашей платежной информацией",continueToApp:"Перейти в приложение",loadingPaymentDetails:"Загрузка данных об оплате...",paymentError:"Ошибка оплаты",noSessionId:"ID сессии не указан",goToApp:"Перейти в приложение",alreadySubscribedPlan:"Вы уже подписаны на этот план.",activeSubscriptionManage:"У вас уже есть активная подписка. Пожалуйста, управляйте биллингом для смены плана.",planChangeScheduled:"Смена плана запланирована",planChangeScheduledDesc:"Ваш план будет переключен на {planTitle} в следующую дату списания.",alreadyOnPlan:"Вы уже на этом плане",changePlanFailed:"Не удалось сменить план. Пожалуйста, используйте Управление оплатой.",alreadyActiveSubscription:"У вас уже есть активная подписка",noChangesMade:"Изменения не внесены",alreadyOnPlanDesc:"Вы уже на плане {planTitle}.",badgeFree:"Бесплатно",badgePopular:"Популярный",badgeBestDeal:"Лучшее предложение",badgeMaximumAccess:"Максимальный доступ",freeForEveryone:"Бесплатно для всех",usdPerMonth:"USD/месяц",yearlyAmount:"{amount} USD / год",monthlyAmount:"{amount} USD / месяц",currentPlan:"Текущий план",startForFree:"Начать бесплатно",getPlan:"Выбрать {planTitle}",switchToPlan:"Перейти на {planTitle}",changePlanConfirmTitle:"Подтверждение смены плана",changePlanConfirmDesc:"Сейчас у вас план {currentPlan}. Выберите, когда должна вступить в силу новая цена.",changeNextBilling:"Сменить в следующее списание",changeNow:"Сменить сейчас",confirmNextBillingTitle:"Подтвердите смену в следующее списание",confirmNextBillingDesc:"Вы уверены, что хотите запланировать смену плана на следующую дату списания? Ваш текущий план {currentPlan} останется активным до этого момента. В следующую дату списания ваш план будет переключен на {planTitle} ({amount}).",yesChangeNextBilling:"Да, сменить в следующее списание",continueToCheckout:"Перейти к оплате",freeCheckoutDesc:"Сейчас у вас бесплатный план. Перейдите к оплате, чтобы подписаться на {planTitle}.",continue:"Продолжить",agreeRefundPolicy:"Я согласен(-на) с <link>Политикой возврата и отмены</link>.",everythingInPlan:"Все в плане <plan></plan>",plans:{free:{title:"Бесплатно",subtitle:"Изучайте и пробуйте",heading3:"Лучше всего для индивидуальных трейдеров"},standard:{title:"Стандарт",subtitle:"Анализируйте уверенно",heading3:"Лучше всего для индивидуальных трейдеров"},pro:{title:"Про",subtitle:"Анализируйте глубже",heading3:"Командный и профессиональный уровень"},expert:{title:"Эксперт",subtitle:"Анализируйте без ограничений",heading3:"Для профессиональных трейдеров"}},planFeatures:{categories:{candleScanner:"Сканер свечей",candleSignal:"Свечной сигнал"},labels:{patternSelector:"Селектор паттернов",patternTracker:"Трекер паттернов",newsImpact:"Влияние новостей",scanResultLimit:"Лимит результатов сканирования",activeTabs:"Активные вкладки",timeframes:"Таймфреймы",webhook:"Webhook"},values:{scansPerDay:"{count} сканов в день",patterns:"{count}",perDay:"{count}",tabsWorkspace:"{count} (рабочее пространство)",enabled:"Включено",disabled:"Выключено"}}},Um={Connections:{connectedAccount:"Подключенный аккаунт",creditUsage:"Использование кредитов",totalCreditsUsed:"Всего использовано кредитов",resetsIn:"Сброс через {duration}",understandingCredits:"Как работают кредиты и использование",nearLimit:"Почти достигнут лимит"},Subscription:{myPlan:"Мой план",thanksForSubscribing:"Спасибо за подписку!",billingHistory:"История платежей",nextBillingDate:"Следующая дата списания",whichPlan:"Какой план вам подходит?",patternSelectorCreditsPerDay:"{count} кредитов Селектора паттернов / день",patternTrackerCreditsPerDay:"{count} кредитов Трекера паттернов / день",newsImpactCreditsPerDay:"{count} кредитов Влияния новостей / день",chatAssistantCreditsPerDay:"{count} кредитов Чат-ассистента / день",prioritySupport:"Приоритетная поддержка"},Billing:{noInvoices:"Счета не найдены.",loadError:"Не удалось загрузить счета. Пожалуйста, попробуйте позже.",viewInvoice:"Посмотреть счет"}},zm={referralRebate:"Реферальный возврат",referredUsers:"Приглашенные пользователи",totalRebateEarned:"Всего заработано возвратов",referredUsersCount:"Приглашенные пользователи",activeReferrals:"Активные рефералы",referralLink:"Реферальная ссылка",shareDescription:"Поделитесь своей реферальной ссылкой с друзьями. Когда они оформят подписку, вы получите возврат с их плана.",joinedDate:"Дата присоединения",loading:"Загрузка...",noReferralCodeAvailable:"Реферальный код недоступен",updateReferralCodeTitle:"Обновить реферальный код",createReferralCodeTitle:"Создать реферальный код",updateReferralCodeDescription:"Обновите ваш реферальный код ниже.",createReferralCodeDescription:"Введите реферальный код, чтобы начать делиться своей реферальной ссылкой.",enterReferralCodePlaceholder:"Введите реферальный код",enterReferralCode:"Пожалуйста, введите реферальный код",codeCreatedSuccess:"Реферальный код успешно создан",codeUpdatedSuccess:"Реферальный код успешно обновлен",codeMinChars:"Минимум 5 символов",codeMaxChars:"Максимум 15 символов",create:"Создать",update:"Обновить",pageNumber:"Страница {page}",noReferredUsersYet:"Пока нет приглашенных пользователей",shareReferralEmptyDescription:"Поделитесь своей реферальной ссылкой, чтобы начать расширять сеть и получать возвраты."},Ym={mainMenu:{coreFeatures:"Функции",account:"Аккаунт",subscription:"Подписка",communityGrowthProgram:"Программа роста сообщества",support:"Поддержка",others:"Другое"},patternMenu:{trackedPatterns:{label:"Мои отслеживаемые паттерны",tooltipTitle:"Сетапы паттернов с высокой вероятностью, обнаруженные AI",tooltipDescription:"iC Candle отслеживает глобальные рынки 24/7, чтобы находить ваши отслеживаемые паттерны, показывая уровни уверенности и направление пробоя. Используйте фильтры, чтобы найти лучшие сетапы, затем нажмите на любой паттерн для подробностей."},classicPatterns:{label:"Классические паттерны",tooltipTitle:"Классические паттерны",tooltipDescription:"Выберите паттерны, которые вам важны — двойные вершины, head & shoulders, флаги, прямоугольники и другие — затем активируйте сигналы. Мы будем отслеживать каждый тик на выбранных рынках и уведомим вас в момент завершения формации. Настройте доставку через telegram, email или in‑app уведомления, чтобы не пропустить сетап."}},helperBar:{watchList:"Список наблюдения",savedPatterns:"Сохраненные паттерны",newsMovingMarket:"Что двигает MARKET?",favoritesCount:"Избранное ({count})",groupWithCount:"{label} ({count})",noItemsInWatchList:"Список наблюдения пуст",watchListLast:"Посл.",watchListChg:"Изм.",watchListChgPercent:"Изм.%",removeFromFavorites:"Удалить из избранного",addToFavorites:"Добавить в избранное",removeSymbolFromFavorites:"Удалить {symbol} из избранного",addSymbolToFavorites:"Добавить {symbol} в избранное",groupCommodity:"Товары",groupForex:"Форекс",groupCrypto:"Крипто",groupIndices:"Индексы",groupStock:"Акции"},profileMenu:{darkTheme:"Темная тема",chatWithUs:"Написать нам",termsAndConditions:"Условия и положения",logOut:"Выйти"},tabAdded:"Вкладка добавлена",tabMemoryWarning:"Добавление большего количества вкладок может увеличить использование памяти на вашем устройстве.",tabLimitReached:"Достигнут лимит вкладок",tabLimitReachedMax:"Вы достигли максимального количества вкладок, доступного в вашем текущем плане.",tabLimitReachedUpgrade:"Вы достигли максимального количества вкладок, доступного в вашем текущем плане. Пожалуйста, обновите план, чтобы получить больше.",notifications:"Уведомления",noNotifications:"Нет уведомлений",notificationsOfflineReconnect:"(Офлайн) Пожалуйста, переподключите уведомления",headerNav:{selectorTitle:"Селектор паттернов",selectorShortTitle:"Селектор",patternTitle:"Трекер паттернов",patternShortTitle:"Трекер",newsTitle:"Влияние новостей",newsShortTitle:"Новости"},guideFeatures:{selector:{title:"Селектор паттернов",description:"Анализирует вашу идею на основе исторических рыночных данных, чтобы найти похожие ценовые паттерны и результаты."},pattern:{title:"Трекер паттернов",description:"Непрерывно сканирует рынок в фоновом режиме и уведомляет вас, когда появляется соответствующий паттерн."},news:{title:"Влияние новостей",description:"Показывает, как прошлые новостные публикации повлияли на движение цены, чтобы вы могли увидеть, как рынок реагировал ранее."}}},Hm={mostSimilarNews:"Наиболее похожие новости:",selectEvent:"Выберите событие",economicCalendarAnalysis:"Анализ экономического календаря",economicCalendar:"Экономический календарь",predictAvailable:"Прогноз доступен",predictUnavailable:"Прогноз недоступен",actualReleased:"Факт опубликован",analyzeImpact:"Анализировать влияние",candleDataTooFar:"Свечные данные слишком далеко от события.",tryAnotherTimeframe:"Пожалуйста, попробуйте другой таймфрейм.",aiIntelligence:"Искусственный интеллект",matchPercent:"{percent}% совпадение",whatHappenedOnNews:"Что произошло на этой новости:",newsBeforeEvent:"Новости до события {eventName}",time15MinLater:"Через 15 мин",time30MinLater:"Через 30 мин",time1HourLater:"Через 1 час",time2HoursLater:"Через 2 часа",time4HoursLater:"Через 4 часа",noDataHere:"Здесь нет данных",pleaseWaitAndRetry:"Пожалуйста, подождите и попробуйте снова",current:"Текущий",previousMonth:"Предыдущий месяц",nextMonth:"Следующий месяц",holiday:"Выходной",seeAll:"Смотреть все",selectedSymbols:"Выбранные символы",marketNews:"Рыночные новости",patternType:"Тип паттерна",unknownPublishDate:"Неизвестная дата публикации",noMatchingArticleDetails:"Нет деталей совпадающей статьи",model:"Модель",temperature:"Температура",temperatureLow:"Низкая",temperatureMedium:"Средняя",temperatureHigh:"Высокая",previousActual:"Предыдущее фактическое значение:",currentForecast:"Текущий прогноз",previousForecast:"Предыдущий прогноз:",goToEventDetail:"Перейти к деталям события",eventInfoNotFound:"Информация о событии не найдена",ppi:"Индекс цен производителей измеряет изменения цен на товары и услуги, продаваемые производителями и заводами.",cpi:"Индекс потребительских цен измеряет изменения цен на товары и услуги, приобретаемые потребителями.",coreCpi:"Базовый индекс CPI измеряет изменения потребительских цен без учёта продуктов питания и энергии; ключевой инфляционный индикатор центральных банков.",jolts:"Обследование вакансий и текучести рабочей силы (JOLTS) измеряет количество незаполненных вакансий в США.",nfp:"Число занятых в несельскохозяйственном секторе (Nonfarm Payrolls) измеряет изменение числа рабочих мест в США, исключая сельское хозяйство и некоторые сектора.",ijc:"Первичные заявки на пособие по безработице измеряют количество людей, впервые подавших заявление на пособие по безработице в США, что отражает состояние рынка труда.",fomc:"Федеральный комитет по открытым рынкам (FOMC) — центральный банк США, который устанавливает процентные ставки и проводит денежно-кредитную политику.",fedRate:"Объявление о решении по процентной ставке Федеральной резервной системы (ФРС), которое устанавливает целевую ставку федеральных фондов и влияет на денежно-кредитную политику и финансовые рынки.",gdpAdvance:"Валовой внутренний продукт (ВВП) измеряет общую стоимость товаров и услуг, произведённых в экономике. Предварительный ВВП — это первая оценка.",gdpMonthly:"Валовой внутренний продукт (ВВП) измеряет общую стоимость товаров и услуг, произведённых в экономике. Ежемесячные отчёты отслеживают краткосрочный рост (например, ВВП Великобритании м/м).",unemploymentRate:"Уровень безработицы измеряет процент безработных в рабочей силе.",ahe:"Средняя почасовая заработная плата измеряет месячное изменение заработной платы работников, исключая сельскохозяйственных работников.",corePce:"Базовый индекс PCE измеряет месячное изменение личных потребительских расходов без учёта продуктов питания и энергии; ключевой инфляционный показатель ФРС.",retailSales:"Розничные продажи измеряют месячное изменение общего объёма продаж в розничной торговле.",ismManufacturingPmi:"ISM индекс деловой активности в производстве измеряет состояние производственного сектора США на основе опросов; значения выше 50 означают рост.",ismServicesPmi:"ISM индекс деловой активности в сфере услуг измеряет состояние сектора услуг США на основе опросов; значения выше 50 означают рост.",gdpPrelim:"Предварительный ВВП — это вторая оценка квартального роста ВВП; измеряет общую стоимость товаров и услуг в экономике.",adpNfp:"Изменение занятости в частном секторе ADP измеряет изменение занятости на основе опроса ADP/Moody's; опережающий индикатор официального Nonfarm Payrolls.",eci:"Индекс стоимости труда (ECI) измеряет квартальное изменение стоимости труда, включая зарплаты и льготы; ключевой инфляционный показатель ФРС.",flashManufacturingPmi:"Предварительный индекс PMI в производстве — оценка производственной активности на основе опросов; значения выше 50 означают рост.",flashServicesPmi:"Предварительный индекс PMI в сфере услуг — оценка активности сектора услуг на основе опросов; значения выше 50 означают рост.",claimantCount:"Изменение числа заявок на пособие по безработице в Великобритании измеряет месячное изменение числа получателей пособий по безработице; ключевой показатель рынка труда Великобритании.",boeRate:"Базовая ставка Банка Англии устанавливается Комитетом по денежно-кредитной политике; она определяет политику Великобритании и рынок фунта.",ecbMainRefinancingRate:"Основная ставка рефинансирования ЕЦБ — ключевая ставка Европейского центрального банка для операций ликвидности; определяет политику еврозоны и рынок евро.",snbPolicyRate:"Политическая ставка Швейцарского национального банка (SNB) — ключевая процентная ставка (на базе SARON); определяет денежно-кредитную политику Швейцарии и рынок CHF.",cadEmploymentChange:"Изменение занятости в Канаде измеряет месячное изменение числа занятых по данным Статистического управления Канады; ключевой индикатор рынка труда и CAD."},Wm={matchPercent:"Совпадение {percent}%",matchLabel:"Совпадение",mismatch:"Несовпадение",noResultsFound:"Результаты не найдены",result:"Результат",filter:"Фильтр",filterBy:"Фильтровать по",clearFilter:"Сбросить фильтр",selectFilterType:"Выберите тип фильтра",matchPercentLabel:"Совпадение %",selectSymbol:"Выберите символ",selectMatchPercent:"Выберите % совпадения",selectDateRange:"Выберите диапазон дат",dateLast1Month:"Последний 1 месяц",dateLast6Months:"Последние 6 месяцев",dateLastYear:"Последний год",dateLast3Years:"Последние 3 года",dateAllTime:"За все время",noDataFound:"Данные не найдены",runScanToSeePatternResults:"Запустите сканирование, чтобы увидеть результаты паттернов здесь",scanAgainToPlay:"Сканируйте снова, чтобы воспроизвести график",scan:"Сканировать",activateSelector:"Активировать селектор",resetAfterDuration:"Сброс через: {duration}",markets:"Рынки",scannerOptions:"Параметры сканера",saveOptions:"Сохранить параметры",searchSymbol:"Поиск символа",probabilityCalculation:"Расчет вероятности",probabilityCalculationTooltip:"Определяет количество следующих свечей, используемых для расчета вероятности.",period:"Период",periodTooltip:"Определяет период времени для результатов сканирования",timeframeTooltip:"Определяет свечной таймфрейм для результатов сканирования",topResultsTooltip:"Определяет количество результатов сканирования",auto:"Авто",settings:"Настройки",collapseToolbar:"Свернуть панель",expandToolbar:"Развернуть панель",availableBars:"Доступно баров: {count}",clearReplayFirst:"Сначала очистите график воспроизведения",trackPattern:"Отслеживать паттерн",selectAll:"Выбрать все",searchTimeframe:"Поиск таймфрейма",selectAllTimeframes:"Выбрать все таймфреймы",selectTimeframeAria:"Выбрать таймфрейм {label}",selectSymbolAria:"Выбрать символ {symbol}",timeframeTypeMinutes:"Минуты",searchFilterSaved:"Поисковый фильтр успешно сохранен.",periodAll:"Все",periodLastYear:"Последний год",periodLast3Years:"Последние 3 года",periodLast5Years:"Последние 5 лет",periodLast15Years:"Последние 15 лет",topResults:"Лучшие результаты",tabSymbols:"Символы",tabAdvancedOptions:"Расширенные параметры",tabBasic:"Базовые",tabAdvancedFilter:"Расширенный фильтр",priceMovementData:"Данные движения цены:",askAssistantExplanation:"Попросить ассистента объяснить",selectCandleCount:"Выберите количество свечей",priceChanges:"Изменения цены",candlesCount:"{count} свечей",basedOnDirectionPatterns:'На основе паттернов после движения "{direction}"',noAiMovementData:"Нет AI-данных о движении в направлении {direction}"},qm={scannedAt:"Сканировано:",trackerActivated:"Tracker активирован",match:"Совпадение: {percent}%",result:"Результат",windowSize:"Размер окна: {size}",patternSelectorHistory:"История Селектора паттернов",noFilter:"Без фильтра",favorite:"Избранное",windowSizeFilter:"Размер окна",windowSizePlaceholder:"Размер окна (10-50)",submit:"Отправить"},Vm={trackYourCustomPatterns:"Отслеживайте свои кастомные паттерны",selectedSymbol:"Выбранный символ",selectedSymbols:"Выбранные символы",timezone:"Часовой пояс",selectedTimeframes:"Выбранные таймфреймы",moreItems:"{count, plural, one {еще # элемент} few {еще # элемента} many {еще # элементов} other {еще # элемента}}",selectedBars:"Выбранные бары",barsCount:"{count} баров",timeFrame:"Таймфрейм",patternType:"Тип паттерна",created:"Создан",editPattern:"Редактировать паттерн",createNewTracker:"Создать новый трекер",firstYouHaveToScan:"Сначала нужно выполнить сканирование",goToScan:"Перейти к сканированию",addToPatternTracker:"Добавить в Трекер паттернов",goToPatternTracker:"Перейти в Трекер паттернов",addToPatternTrackerDescription:"Вы будете получать обновления в реальном времени, когда появится этот паттерн. Введите имя, чтобы легче распознавать это оповещение.",patternName:"Название паттерна",patternNamePlaceholder:"Введите название для этого паттерна",patternNameMinChars:"Требуется минимум 5 символов.",patternNameMaxChars:"Достигнут лимит 20 символов.",patternNameErrorTitle:"Ошибка названия паттерна",patternNameErrorDescription:"Пожалуйста, введите имя для сигнала паттерна",customPatternSignalTooltip:"Вы получите уведомление, как только паттерн сформируется на рынке как сигнал пользовательского паттерна",noPatternDataFound:"Данные паттерна не найдены",limitReached:"Лимит достигнут",limitReachedTrackerDescription:"Вы достигли максимального количества трекеров паттернов.",trackerUpgradeToastDescription:"Вы достигли максимального количества сигналов, разрешенных в вашем текущем плане. Пожалуйста, обновите план, чтобы получить больше.",patternConfigUpdated:"Конфигурация паттерна обновлена",patternConfigUpdatedDesc:'Конфигурация паттерна "{name}" была обновлена',patternConfigError:"Ошибка конфигурации паттерна",patternConfigErrorDesc:"Не удалось обновить конфигурацию паттерна",patternSaved:"Паттерн сохранен",patternSavedDesc:'Название паттерна "{name}" сохранено',patternSignalError:"Ошибка сигнала паттерна",patternSignalErrorDesc:"Не удалось сохранить паттерн",trackerTutorialPlanLimitExpert:"Ваш план имеет лимит отслеживания паттернов: {limit}.",trackerTutorialPlanNoTracking:"Ваш план не включает отслеживание паттернов. Наши более высокие планы позволяют добавлять паттерны в трекер.",trackerTutorialPlanTrackingLimit:"Ваш план позволяет отслеживать до {limit} паттернов. Наши более высокие планы позволяют отслеживать больше паттернов.",currentPlan:"Текущий план",planFree:"Бесплатный",configurePatternTracker:"Настроить Трекер паттернов",selectTimeframesAndSymbols:"Выберите таймфреймы и символы, которые вы хотите отслеживать для этого паттерна.",selectTimeframes:"Выберите таймфреймы",chooseTimeframes:"Выберите таймфреймы, которые вы хотите отслеживать для этого паттерна.",searchTimeframes:"Поиск таймфреймов",timeframeSelected:"Выбран {count} таймфрейм",timeframesSelected:"Выбрано {count} таймфреймов",symbolSelected:"Выбран {count} символ",symbolsSelected:"Выбрано {count} символов",patternSelected:"Выбран {count} паттерн",patternsSelected:"Выбрано {count} паттернов",patternTypes:"Типы паттернов",patternSubscribed:"Паттерн подписан",patternSubscribedDesc:"Паттерн «{name}» теперь отслеживается",patternSubscriptionError:"Ошибка подписки на паттерн",subscriptionModalAria:"Подписка на трекер паттернов",noPatternCandles:"Свечи паттерна не найдены",chartSymbolRequired:"Символ графика обязателен",userIdRequired:"ID пользователя обязателен",subscribe:"Подписаться",subscribing:"Подписка...",tabTimeShort:"Время",signalDialog:{title:"Настройки сигнала - {patternTitle}",successDescription:"Настройки сигнала успешно обновлены",selectOneTimeframe:"Пожалуйста, выберите хотя бы один таймфрейм",selectOneSymbol:"Пожалуйста, выберите хотя бы один символ",selectOneTimeframeAndSymbol:"Пожалуйста, выберите хотя бы один таймфрейм и один символ",selectCurrencyPairs:"Выберите валютные пары",chooseCurrencyPairs:"Выберите валютные пары, которые хотите отслеживать по паттернам",searchCurrencyPairs:"Поиск валютных пар"},noMatchesFound:"Совпадения не найдены",filterCategoryPattern:"Паттерн",filterCategorySymbol:"Символ",filterCategoryTimeframe:"Таймфрейм",selectCategory:"Выберите категорию",searchCategory:"Поиск {category}...",timeframeOptions:{M15:{displayName:"15 минут",description:"Таймфрейм 15 минут"},M30:{displayName:"30 минут",description:"Таймфрейм 30 минут"},H1:{displayName:"1 час",description:"Таймфрейм 1 час"},H2:{displayName:"2 часа",description:"Таймфрейм 2 часа"},H4:{displayName:"4 часа",description:"Таймфрейм 4 часа"},D:{displayName:"1 день",description:"Дневной таймфрейм"}}},_m={priceActionPattern:"Паттерн ценового движения",labels:{flagbear:"Bearish Flag",flagbull:"Bullish Flag",dd_top:"Double Top",dd_bot:"Double Bottom",aad_up:"AAD Up",aad_down:"AAD Down",has_bull:"Head and Shoulders Bullish",has_bear:"Head and Shoulders Bearish",rectangle:"Rectangle"},timeframes:{M1:"1 минута",M5:"5 минут",M15:"15 минут",M30:"30 минут",H1:"1 час",H2:"2 часа",H4:"4 часа",D1:"Дневной"},patterns:{doubleBottom:{desc:'<div><p>Эти паттерны формируются, когда цена дважды тестирует один и тот же уровень и не может его пробить.</p><ul style="list-style-type: disc; margin-left: 20px; margin-top: 10px;"><li>Это показывает, что рынок теряет импульс в одном направлении.</li><li>Пробой за пределы диапазона обычно сигнализирует о приближении разворота.</li></ul></div>'},doubleTop:{desc:'<div><p>Эти паттерны формируются, когда цена дважды тестирует один и тот же уровень и не может его пробить.</p><ul style="list-style-type: disc; margin-left: 20px; margin-top: 10px;"><li>Это показывает, что рынок теряет импульс в одном направлении.</li><li>Пробой за пределы диапазона обычно сигнализирует о приближении разворота.</li></ul></div>'},bullishFlag:{desc:'<div><p>Короткая пауза или консолидация после сильного движения (вверх или вниз).</p><ul style="list-style-type: disc; margin-left: 20px; margin-top: 10px;"><li>Цена движется в небольшом наклонном канале против тренда.</li><li>После выхода из флага тренд часто продолжается в том же направлении.</li></ul></div>'},bearishFlag:{desc:'<div><p>Короткая пауза или консолидация после сильного движения (вверх или вниз).</p><ul style="list-style-type: disc; margin-left: 20px; margin-top: 10px;"><li>Цена движется в небольшом наклонном канале против тренда.</li><li>После выхода из флага тренд часто продолжается в том же направлении.</li></ul></div>'},bullishHeadShoulders:{desc:'<div><p>Этот паттерн показывает изменение силы рынка и сигнализирует о возможном развороте тренда.</p><ul style="list-style-type: disc; margin-left: 20px; margin-top: 10px;"><li>Он состоит из трех частей: одного более крупного движения ("голова") и двух меньших ("плечи").</li><li>Когда паттерн завершен, цена часто пробивается и идет в направлении, противоположном предыдущему тренду.</li></ul></div>'},bearishHeadShoulders:{desc:'<div><p>Этот паттерн показывает изменение силы рынка и сигнализирует о возможном развороте тренда.</p><ul style="list-style-type: disc; margin-left: 20px; margin-top: 10px;"><li>Он состоит из трех частей: одного более крупного движения ("голова") и двух меньших ("плечи").</li><li>Когда паттерн завершен, цена часто пробивается и идет в направлении, противоположном предыдущему тренду.</li></ul></div>'}}},Km={chartPatterns:"Какие бывают паттерны на графике?",flagPattern:"Как эффективно торговать паттерн флаг?",rectanglePattern:"Какие ключевые особенности паттерна прямоугольник?"},Jm={pip:"Что такое пункт (pip)?",majorCurrencyPairs:"Какие основные валютные пары для торговли?",lotSize:"Что такое размер лота?",leverage:"Что такое кредитное плечо?",margin:"Что такое маржа?",bullishFlagTrack:"Отслеживать бычий флаг на всех символах и таймфреймах"},Xm={cpi:"Что такое CPI и как он влияет на рынок?",nfp:"Что такое NFP и как он влияет на рынок?",eurImpactfulNews:"Какие новости наиболее влияют на рынок USD?"},Zm="lang",Qm="Профиль",$m={statistics:{heading:"Тысячи трейдеров уже изменили то, как они видят рынок.",tradersReport:"7 из 10 трейдеров сообщают об улучшении стабильности своих торговых решений.",satisfactionRate:'96% бета-тестеров отметили удовлетворенность и сказали: "Ощущение, будто торгуешь с мозгом рядом."',usersChanged:"Более 80% пользователей говорят, что iC Candle изменил их подход к анализу рынка.",lessTimeWatching:"В среднем пользователь тратит на 40% меньше времени на наблюдение за графиками благодаря напоминаниям о паттернах."},feedback:{backtestingTitle:"Похоже на бэктестинг нового уровня.",backtestingDesc:"Бэктестинг в iC Candle — это реально переломный момент. Невероятно, насколько все стало быстрее и понятнее. Я реально в восторге. Трудно представить активного трейдера, который мог бы работать без этого.",confirmsTitle:"Подтверждает мои сетапы",confirmsDesc:"Омг, наконец-то инструмент, который реально доказывает, что мой собственный анализ валиден. С тех пор как я начал использовать iCCandle, моя нерешительность в трейдинге упала примерно на 80%. Сейчас я намного увереннее.",marketHistoryTitle:"История рынка ведет мои сделки",marketHistoryDesc:"Использование исторических реакций в моих сделках стало моим новым стилем. Ценность, которую я получаю, по сравнению с тем, сколько плачу за подписку? Вообще несравнимо.",chatGPTTitle:"ChatGPT трейдера",chatGPTDesc:"Я использую ChatGPT буквально для всего в повседневной жизни, все знают, насколько это упрощает дела. И честно... кажется, я только что нашел трейдерскую версию ChatGPT."},tags:{all:"Все",blog:"Блог",crypto:"Крипто",event:"Событие",pairs:"Пары"}},ef={title:"Страница не найдена",description:"Страница, которую вы ищете, не существует или была перемещена",backToHomepage:"Вернуться на главную",imageAlt:"Не найдено"},tf=JSON.parse(`{"Page":{"title":{"terms":"Условия обслуживания","privacy":"Политика конфиденциальности","refund":"Политика возврата средств и отмены","cookie":"Политика использования файлов куки"},"tabs":{"terms":"Условия обслуживания","privacy":"Политика конфиденциальности","refund":"Политика возврата средств и отмены","cookie":"Политика использования файлов куки"},"nav":{"terms":"Условия обслуживания","privacy":"Политика конфиденциальности","refund":"Политика возврата средств и отмены","cookie":"Политика использования файлов куки"}},"Terms":{"title":"Условия обслуживания, TOS, условия, положения, отказ от ответственности, договор, соглашение","intro":{"p1":"Настоящее соглашение заключается между Pixel Nexus Global, сингапурской компанией с ограниченной ответственностью, осуществляющей деятельность через сайт www.iccandle.ai («Pixel Nexus Global», «мы», «нас» или «наш»), и физическим или юридическим лицом, приобретающим или использующим услуги, предлагаемые через Платформу («Клиент», «вы» или «ваш»). Если вы приобретаете Услуги от имени третьей стороны, вы подтверждаете, что обладаете законными полномочиями обязать такую сторону соблюдать настоящие Условия обслуживания и несёте ответственность за их использование Услуг.","p2":"Получая доступ к Платформе и Услугам, описанным в настоящем документе и размещённым на www.iccandle.ai, либо оформляя подписку через сайт iccandle.ai, вы подтверждаете, что прочитали, поняли и согласились с настоящими Условиями, Положениями и отказами от ответственности. Вы также соглашаетесь, что ваши отношения с нами регулируются положениями настоящих Условий обслуживания.","p2Emphasis":"Если вы не принимаете данные условия, вы обязаны немедленно прекратить использование iccandle.ai и любых связанных услуг или платформ."},"sections":[{"title":"1. Услуги","paragraphs":["Pixel Nexus Global will provide active customers in good standing with access to its AI-powered analytical tool (the “Platform”). As used in this Agreement, the term “Services” refers to Pixel Nexus Global’s provision of your access to the Platform. The Services will be provided to you under one or more subscriptions, account activations, sign-ups, or orders placed by you on the iccandle.ai website and accepted by Pixel Nexus Global (an “Order”).","In case of any conflict between these TOS and an Order, the terms of these TOS shall take precedence. By accepting the Services, you acknowledge and agree that any different or additional terms proposed by you in an Order or otherwise are expressly rejected by Pixel Nexus Global, unless we have agreed to such terms in a written document signed by an authorized representative."]},{"title":"2. Ваши обязательства","subsections":[{"title":"Информация о клиенте и ответственность за аккаунт","paragraphs":["You agree to provide Pixel Nexus Global with accurate information when creating your account, throughout our business relationship, and in all correspondence with us. We may occasionally need to contact you via email or telephone regarding the Services. You agree to maintain a valid email address that you check daily and to promptly notify us of any changes to your contact information.","Pixel Nexus Global shall not be responsible for any service interruptions, damages, or consequences resulting from misdirected communications due to your failure to provide current contact details. You also agree to complete all data entitlement surveys within the platform completely and truthfully to maintain compliance with exchange regulations."]},{"title":"Разрешённое использование платформы","paragraphs":["Your use of the Platform must comply with these TOS and any accompanying documentation we provide. If you permit third parties to access the Platform, you agree to: (i) restrict their use in accordance with these terms; (ii) ensure their compliance with these TOS and our Privacy Policy; and (iii) remain fully liable for any violations of these TOS or the Privacy Policy by such third parties."]},{"title":"Интеллектуальная собственность и соблюдение закона","paragraphs":["You agree not to alter, obscure, or remove any trademark or proprietary notices. You may only use the Platform in accordance with: (i) the laws governing these TOS; and (ii) all applicable laws in your jurisdiction.","Несанкционированное использование строго запрещено."]}]},{"title":"3. Срок действия","subsections":[{"title":"Дата вступления в силу","paragraphs":["These Terms of Service (TOS) become effective (\\"Effective Date\\") on the earlier of: (i) the date you click \\"I accept\\" as recorded by our servers; or (ii) the date you first access or use the Platform.","These TOS remain in effect for the duration of any active Order."]},{"title":"Подписка и продление","paragraphs":["The Services will automatically renew for successive periods (monthly, quarterly, or annually) as specified in your Order. If unspecified, the default initial subscription period (\\"Initial Term\\") is one month. Subsequent renewal periods (\\"Renewal Terms\\") will match the Initial Term’s duration."]},{"title":"Пробный период","paragraphs":["Pixel Nexus Global may offer trial periods (paid or free) as indicated on the iccandle.ai trial signup page. During any trial period:"],"listOrdered":["применяются все условия как для платной подписки","вы можете отменить подписку до автоматического продления","условия могут изменяться без уведомления"]},{"title":"Управление подпиской","paragraphs":["You are solely responsible for managing your subscription, including:"],"listDisc":["контроль дат продления","обновление платёжных данных","отмена подписки","актуальность контактных данных"],"paragraphsAfter":["Pixel Nexus Global is not responsible for any charges due to failure to manage your subscription."]}]},{"title":"4. Прекращение","subsections":[{"title":"Отмена и возвраты","paragraphs":["Details about cancellation and refund policies are available on our Refund and Cancellation Policy page at iccandle.ai. Terminating your account disables automatic renewals but does not cancel past invoices or make prior payments refundable unless stated otherwise in our Refund and Cancellation Policy.","Any currently due invoices must be paid in full to settle your account. Your access to Pixel Nexus Global services will continue until the expiration of your prepaid period or trial term."]},{"title":"Расторжение по инициативе сторон","paragraphs":["Either party may terminate any Order by providing written notice at least one (1) day before the expiration of the Initial Term or any Renewal Term. For purposes of this provision, “written notice” includes communication through email, live chat, telephone, or via the Online Portal, indicating a desire not to continue service with Pixel Nexus Global in the future."]},{"title":"Нарушения","paragraphs":["Pixel Nexus Global reserve the right to immediately suspend Services and/or terminate any Order in cases of violation of these TOS, breach of our Privacy Policy, or use of Services in a manner contrary to law or generally accepted internet standards. Such termination may occur without prior notice, dispute resolution process, or refund of any fees."]},{"title":"Последствия","paragraphs":["The expiration or termination of any Order does not affect any rights or obligations that either (i) came into effect upon or after such expiration/termination, or (ii) survive the termination and were incurred by the parties prior to termination. Upon termination, you must promptly settle any outstanding balance. Pixel Nexus Global is not obligated to return any paid fees for terminations occurring prior to completion of a full term, except as may be expressly provided in our Refund and Cancellation Policy.","All termination matters are governed by the complete terms set forth in this agreement, and Pixel Nexus Global maintains full discretion in enforcing these provisions."]}]},{"title":"5. Лицензия и ограничения","paragraphs":["Pixel Nexus Global grants you a limited, revocable, non-exclusive, non-transferable, worldwide license to utilize our proprietary technology (\\"Pixel Nexus Technology\\") solely for accessing and employing our analytical engines as part of the Services, including any generated reports (\\"Reports\\"). This license is restricted to your account's registered users and automatically terminates upon expiration or termination of these TOS.","No rights beyond this limited license are conferred. All ownership rights in the Pixel Nexus Technology remain exclusively with Pixel Nexus Global or its licensors. You are expressly prohibited from: transferring, leasing, lending, sublicensing, reselling, or distributing the technology; using it for timesharing or service bureau purposes; or permitting unauthorized third-party access. You may not circumvent any protective measures safeguarding our proprietary interests, nor modify, reproduce, decompile, reverse engineer, or create derivative works from the Pixel Nexus Technology or Platform components. Upon termination, you must immediately cease using and permanently delete all Pixel Nexus Technology in your possession, ensuring any third parties with access do likewise."],"subsections":[{"title":"Права собственности","paragraphs":["Pixel Nexus Global retains all rights, title, and interest in the Pixel Nexus Technology and Platform, including but not limited to all derivative works, improvements, enhancements, and associated intellectual property rights such as trademarks and copyrights."]},{"title":"Положения об обратной связи","paragraphs":["You may voluntarily provide, or we may solicit, input regarding the Platform or Services (\\"Feedback\\"), including suggestions for modifications or improvements. You acknowledge such Feedback constitutes Pixel Nexus Global's confidential proprietary information and irrevocably assign all related rights and interests to us. Pixel Nexus Global may utilize Feedback for any purpose without limitation or compensation obligation. This assignment applies globally and survives termination of these TOS.","All rights not expressly granted herein are reserved by Pixel Nexus Global. Any unauthorized use constitutes breach of these TOS and may result in immediate termination of your access rights."]}]},{"title":"6. Использование данных и ИС","paragraphs":["Pixel Nexus Global may utilize information you provide or data collected from your use of the Platform and Services (\\"Operational Information\\") to deliver technical support and facilitate the implementation, operation, and administration of the Services. By using our Services, you grant us a perpetual, irrevocable license to process and analyze this Operational Information. We may combine this data with aggregate information from our general business operations to enhance existing Services or develop new products and offerings.","Pixel Nexus Global shall retain exclusive ownership of all intellectual property derived from such analysis and improvements. You hereby irrevocably waive any potential rights to this intellectual property and assign all rights, title, and interest therein to Pixel Nexus Global. You further agree to provide reasonable cooperation in securing and protecting these rights. We reserve the right to commercialize this Operational Information through sale, monetization, or incorporation into other products and services, without obligation to compensate you or grant you any ownership interest.","This license shall terminate upon expiration or cancellation of these Terms of Service, except with respect to historical data that has been aggregated and anonymized such that it cannot be identified as originating from your organization. Pixel Nexus Global may retain and continue to use such anonymized, aggregated data indefinitely for any lawful business purpose.","All intellectual property rights not expressly granted herein remain the exclusive property of Pixel Nexus Global. Your continued use of the Services constitutes acceptance of these terms regarding data usage and intellectual property rights."]},{"title":"7. Отказ от ответственности за точность информации","paragraphs":["Pixel Nexus Global relies on third-party data feeds to power its platform and therefore cannot guarantee the absolute accuracy of the information displayed. Different features within our system (such as scanners, automated analysis tools, charting functions, and back testing capabilities) may utilize separate data providers, which can result in variances between datasets across different platform features. Users should always verify analysis results and scanner conditions to ensure data consistency.","The platform's analytical outputs are inherently dependent on the quality of underlying third-party data, and Pixel Nexus Global makes no representations or warranties regarding the accuracy of these analyses. The iccandle.ai website, Services, and Platform are designed solely for informational and research purposes - they should never serve as the sole basis for investment decisions. Pixel Nexus Global disclaims all liability for any financial losses resulting from reliance on potentially inaccurate data or analysis within the Platform.","The Pixel Nexus Global system is provided strictly on an \\"as-is\\" basis without guarantees or warranties of any kind, as its functionality depends on unverified third- party data sources. The platform is intended exclusively for educational, entertainment, and general informational use - not as professional financial advice or a substitute for independent investment research. Users assume all risk associated with interpreting and acting upon any information displayed within the system.","By accessing and using the Platform, you acknowledge these inherent limitations and agree that Pixel Nexus Global shall not be held responsible for any consequences arising from data inaccuracies, analysis errors, or investment decisions made based on platform content."]},{"title":"8. Отказ от инвестиционных рекомендаций и ограничения платформы","paragraphs":["The analytical tools and outputs provided by Pixel Nexus Global's iccandle.ai platform are strictly for informational and research purposes only and should not be construed as investment advice. The platform relies on third-party data sources that may contain inaccuracies, and different features may produce varying results due to separate data providers. All analysis, including results from our Pattern Selector, Pattern Tracker, and News Impact Intelligence, is provided \\"AS-IS\\" without any guarantees of accuracy. These tools demonstrate historical patterns, probabilities, and market behavior under past conditions and cannot predict future results, as actual market outcomes may differ due to liquidity, execution, and other variables. You must never rely solely on platform analysis when making investment decisions."]},{"title":"9. Признание рисков и ответственность пользователя","paragraphs":["By using Pixel Nexus Global's platform (iccandle.ai), you expressly acknowledge and accept full responsibility for all risks associated with any investment decisions made based on information or analysis obtained from our Platform. You understand that our services rely on third-party data sources that may contain inaccuracies, and that our analytical models employ mathematical formulas and sequences that have not been independently verified for predictive accuracy. Pixel Nexus Global cannot and does not guarantee the reliability of any market data, technical indicators, or analytical outputs generated by the Platform.","Prior to executing any trades, you agree to either: (i) consult with a qualified, licensed financial professional; or (ii) conduct comprehensive independent research using multiple verified information sources.","Pixel Nexus Global expressly disclaims all liability for any trading losses, missed opportunities, or other financial consequences resulting from your reliance on Platform content. By continuing to use iccandle.ai, you confirm your understanding that our tools are designed for informational purposes only and that you alone bear complete responsibility for all investment choices and outcomes. This warning constitutes an essential term of our agreement, and your use of the Platform signifies your unconditional acceptance of these risk disclosures."]},{"title":"10. Отказ от гарантий и ограничения сервиса","paragraphs":["The Pixel Nexus Global platform (iccandle.ai), including all Services, scripts, reports, analytical engines, and related technology, is provided strictly on an \\"AS-IS\\" and \\"AS- AVAILABLE\\" basis. Pixel Nexus Global makes no representations or warranties of any kind, whether express or implied. This includes, but is not limited to, all implied warranties of non-infringement, merchantability, fitness for a particular purpose, accuracy, quality, or achievement of specific results. No warranties arise from any course of dealing, performance, or trade usage.","Pixel Nexus Global does not guarantee that the Service will meet your requirements, operate without interruption, remain error-free, or be secure from viruses or other harmful components. Compatibility with all websites or browsers is not assured, and Pixel Nexus Global disclaims all liability for issues arising from browser incompatibility or third-party services, even if such services appear integrated with our Platform. Any data transmitted via our Services remains your sole responsibility, and Pixel Nexus Global expressly disclaims liability for such content. No warranties provided by third- party vendors to Pixel Nexus Global extend to you, and you are not a third-party beneficiary of such agreements."],"subsections":[{"title":"Функции оповещений и бета-функции","paragraphs":["The Platform includes alert features (e.g., \\"Dynamic Price Alerts\\" and \\"Multi-Factor Alerts\\"), which are provided without warranty or guarantee of reliability. Technical delays or failures may occur due to cellular networks, email services, system errors, or other factors. You acknowledge that alerts may not function as intended and agree that Pixel Nexus Global bears no liability for trading losses resulting from reliance on these features, regardless of whether they were used correctly.","Certain features labeled as 'Beta' are under active development and may exhibit unstable or unreliable performance, including inconsistent data or incorrect information due to software bugs or programming errors. These Beta features carry additional risks and should be used with extreme caution."]},{"title":"Общие положения","paragraphs":["This warranty disclaimer applies to all oral or written information provided by Pixel Nexus Global, its employees, affiliates, or third-party vendors. You may not rely on any such statements or representations.","Some jurisdictions may not permit the exclusion of certain warranties. If applicable to you, any warranty claim must be filed within ninety (90) days of the Service provision that gave rise to the claim. Failure to submit a claim within this period constitutes an irrevocable waiver of your right to pursue such claims thereafter.","Third-party websites linked through the Pixel Nexus Global platform are not under our control, and we assume no responsibility for their content or functionality. Accessing these external sites is entirely at your own risk. Such links are provided for convenience only and do not constitute an endorsement or recommendation by Pixel Nexus Global.","By using the Platform, you acknowledge and accept these limitations and disclaimers in full."]}]},{"title":"11. Ограничение ответственности","paragraphs":["Pixel Nexus Global's total liability under this Agreement shall not exceed the aggregate fees actually paid by you to Pixel Nexus Global during the one (1) month period immediately preceding the event giving rise to such liability. For purposes of this limitation, \\"Pixel Nexus Global\\" includes its employees, agents, owners, directors, officers, affiliates, and any third-party service providers facilitating the Services.","To the maximum extent permitted by law, you agree that under no circumstances - including negligence - shall Pixel Nexus Global or its licensors, agents, employees, officers, or third-party vendors be liable for any indirect, incidental, special, consequential, or punitive damages. This exclusion applies to, but is not limited to, damages for:"],"listOrdered":["Упущенная прибыль или доход","Прерывание бизнеса","Потеря или повреждение данных","Потеря сбережений","Любые другие финансовые потери, понесённые вами, конечными пользователями или третьими лицами"],"paragraphsAfter":["These limitations apply regardless of whether the action arises in contract, tort (including negligence), or any other legal theory, and shall remain in effect even if Pixel Nexus Global has been advised of the possibility of such damages. While some jurisdictions may not allow limitations on certain liabilities, you agree that, where such restrictions apply, Pixel Nexus Global's liability shall be limited to the maximum extent permitted by applicable law.","This limitation of liability constitutes an essential basis of the bargain between you and Pixel Nexus Global and shall survive termination of this Agreement. By using the Services, you acknowledge that these limitations are reasonable and reflect the risk allocation between both parties."]},{"title":"12. Уведомления","paragraphs":["All official notices will be sent to your account’s listed contact information. You are responsible for maintaining current and accurate contact details in our records at all times.","For most inquiries, including technical support and billing matters, please visit our website at www.iccandle.ai for contact information and support options.","However, any legal notices regarding these Terms of Service or other Pixel Nexus Global policies must be sent exclusively via postal mail to our designated address:"],"address":{"company":"Pixel Nexus Global PTE. LTD.","lines":["160 Robinson Road, #14-04","Singapore Business Federation Center","Singapore 068914"]}},{"title":"13. Форс-мажор","paragraphs":["Neither party shall be liable for any failure or delay in performance (except for payment obligations) due to events beyond their reasonable control, including, but not limited to, acts of God, natural disasters, war, civil unrest, epidemics, labor disputes, utility failures, telecommunication outages, supply chain disruptions, government actions, or other unforeseeable catastrophic events; provided that: (i) the affected party notifies the other in writing within ten (10) days of the event’s commencement; (ii) all payment obligations remain unaffected; (iii) the time for performance shall be extended day-for-day to match the duration of the disruption; and (iv) both parties use commercially reasonable efforts to mitigate the impact.","It is understood that this clause does not permit termination of the Agreement solely due to force majeure conditions, nor does it extend the Agreement term beyond its original expiration date without mutual written agreement."]},{"title":"14. Отказ от прав","paragraphs":["No failure or delay by Pixel Nexus Global in exercising any right under these Terms shall operate as a waiver of that right, nor shall any single or partial exercise of any right preclude the further or full exercise of that right or any other right under these Terms."]},{"title":"15. Уступка","paragraphs":["Pixel Nexus Global may assign these Terms, or any rights hereunder, without your consent. You may not assign these Terms without our prior written approval. These Terms shall be binding upon, and inure to the benefit of, the parties' respective successors and permitted assigns."]},{"title":"16. Разделимость","paragraphs":["If any provision of these Terms is held to be invalid or unenforceable by a court of competent jurisdiction, that provision shall be modified to the minimum extent necessary to make it valid and enforceable while preserving its original intent. All other provisions shall remain in full force and effect."]},{"title":"17. Отсутствие агентских отношений","paragraphs":["Nothing in these Terms creates an agency, partnership, joint venture or employment relationship between the parties. Neither party has authority to bind the other or incur obligations on the other's behalf."]},{"title":"18. Конфиденциальность и конфликты","paragraphs":["Our Privacy Policy is incorporated herein by reference. In the event of a conflict between agreements: (i) these Terms prevail over the Privacy Policy; (ii) any separate service agreement shall prevail over conflicting provisions of these Terms, but only with respect to those specific provisions; and (iii) in all other cases, these Terms shall govern."]},{"title":"19. Юрисдикция и ограничения","paragraphs":["The services and information provided on iccandle.ai are not intended for use in jurisdictions where such services would be contrary to local laws or regulations. Access to and use of this website are strictly prohibited for citizens of the following jurisdictions: United States of America, Canada, Russian Federation, Iran, North Korea, Myanmar, Syria, Cuba, Crimea, Donetsk, and Luhansk regions of Ukraine, Afghanistan, Belarus, and Venezuela. This list may be updated at any time without prior notice. Users are solely responsible for ensuring that their access to and use of this website comply with all applicable laws and regulations in their country. iccandle.ai accepts no responsibility or liability for any non-compliance by users with their local regulatory requirements and reserves the right to restrict, block, or terminate access at its sole discretion."]}],"content":"Условия обслуживания, TOS, условия, положения, отказ от ответственности, договор, соглашение\\nНастоящее соглашение заключается между Pixel Nexus Global, сингапурской компанией с ограниченной ответственностью, осуществляющей деятельность через сайт www.iccandle.ai («Pixel Nexus Global», «мы», «нас» или «наш»), и физическим или юридическим лицом, приобретающим или использующим услуги, предлагаемые через Платформу («Клиент», «вы» или «ваш»). Если вы приобретаете Услуги от имени третьей стороны, вы подтверждаете, что обладаете законными полномочиями обязать такую сторону соблюдать настоящие Условия обслуживания и несёте ответственность за их использование Услуг.\\n\\nУсловия обслуживания, TOS, условия, положения, отказ от ответственности, договор, соглашение Настоящее соглашение заключается между Pixel Nexus Global, сингапурской компанией с ограниченной ответственностью, осуществляющей деятельность через сайт www.iccandle.ai («Pixel Nexus Global», «мы», «нас» или «наш»), и физическим или юридическим лицом, приобретающим или использующим услуги, предлагаемые через Платформу («Клиент», «вы» или «ваш»). Если вы приобретаете Услуги от имени третьей стороны, вы подтверждаете, что обладаете законными полномочиями обязать такую сторону соблюдать настоящие Условия обслуживания и несёте ответственность за их использование Услуг.\\n\\nПолучая доступ к Платформе и Услугам, описанным в настоящем документе и размещённым на www.iccandle.ai, либо оформляя подписку через сайт iccandle.ai, вы подтверждаете, что прочитали, поняли и согласились с настоящими Условиями, Положениями и отказами от ответственности. Вы также соглашаетесь, что ваши отношения с нами регулируются положениями настоящих TOS.\\nЕсли вы не принимаете данные условия, вы обязаны немедленно прекратить использование iccandle.ai и любых связанных услуг или платформ.\\n\\n1. Услуги\\n\\nPixel Nexus Global предоставляет действующим клиентам, находящимся в надлежащем статусе, доступ к своему аналитическому инструменту на базе искусственного интеллекта («Платформа»).\\nВ рамках настоящего соглашения термин «Услуги» означает предоставление Pixel Nexus Global доступа к Платформе.\\nУслуги предоставляются в рамках одной или нескольких подписок, активаций аккаунта, регистраций или заказов, оформленных вами на сайте iccandle.ai и принятых Pixel Nexus Global («Заказ»).\\n\\nPixel Nexus Global предоставляет действующим клиентам, находящимся в надлежащем статусе, доступ к своему аналитическому инструменту на базе искусственного интеллекта («Платформа»). В рамках настоящего соглашения термин «Услуги» означает предоставление Pixel Nexus Global доступа к Платформе. Услуги предоставляются в рамках одной или нескольких подписок, активаций аккаунта, регистраций или заказов, оформленных вами на сайте iccandle.ai и принятых Pixel Nexus Global («Заказ»).\\n\\nВ случае противоречий между настоящими TOS и Заказом, приоритет имеют положения настоящих TOS.\\nПринимая Услуги, вы соглашаетесь, что любые иные или дополнительные условия, предложенные вами в Заказе или иным образом, прямо отклоняются Pixel Nexus Global, если только мы не согласовали их в письменной форме, подписанной уполномоченным представителем.\\n\\n2. Ваши обязательства\\nИнформация о клиенте и ответственность за аккаунт\\n\\nВы соглашаетесь предоставлять Pixel Nexus Global точную информацию при создании аккаунта, в течение всего периода взаимодействия и во всей переписке. Мы можем периодически связываться с вами по электронной почте или телефону. Вы обязуетесь поддерживать действующий e-mail, проверяемый ежедневно, и своевременно сообщать об изменениях контактных данных.\\n\\nВы соглашаетесь предоставлять Pixel Nexus Global точную информацию при создании аккаунта, в течение всего периода взаимодействия и во всей переписке.\\nМы можем периодически связываться с вами по электронной почте или телефону.\\nВы обязуетесь поддерживать действующий e-mail, проверяемый ежедневно, и своевременно сообщать об изменениях контактных данных.\\n\\nPixel Nexus Global не несёт ответственности за перебои в обслуживании, ущерб или последствия, вызванные некорректной доставкой сообщений из-за устаревших контактных данных. Вы также соглашаетесь полностью и добросовестно заполнять все анкеты на платформе для соблюдения требований регуляторов бирж.\\n\\nРазрешённое использование платформы\\nРазрешённое использование платформы\\n\\nИспользование Платформы должно соответствовать настоящим TOS и сопутствующей документации.\\nЕсли вы предоставляете доступ третьим лицам, вы обязуетесь: (i) ограничивать их использование в соответствии с условиями; (ii) обеспечивать соблюдение ими TOS и Политики конфиденциальности; (iii) нести полную ответственность за любые их нарушения.\\n\\nИспользование Платформы должно соответствовать настоящим TOS и сопутствующей документации.\\nЕсли вы предоставляете доступ третьим лицам,\\nвы обязуетесь: (i) ограничивать их использование в соответствии с условиями;\\n(ii) обеспечивать соблюдение ими TOS и Политики конфиденциальности;\\n(iii) нести полную ответственность за любые их нарушения.\\n\\nИнтеллектуальная собственность и соблюдение закона\\nИнтеллектуальная собственность и соблюдение закона\\nИнтеллектуальная собственность и соблюдение закона\\nИнтеллектуальная собственность и соблюдение закона\\nИнтеллектуальная собственность и соблюдение закона\\n\\nВы не имеете права изменять или удалять уведомления о товарных знаках и собственности. Использование Платформы допускается только в рамках:\\n(i) законодательства, регулирующего настоящие TOS;\\n(ii) всех применимых законов вашей юрисдикции.\\n\\nНесанкционированное использование строго запрещено.\\n\\nНесанкционированное испол\\nьзование строго запрещено.\\n\\n3. Срок действия\\nДата вступления в силу\\n\\nНастоящие Условия вступают в силу («Дата вступления в силу») с момента: (i) нажатия «Я принимаю» (фиксируется сервером),\\nили (ii) первого доступа или использования Платформы.\\n\\nУсловия действуют на протяжении любого активного Заказа.\\n\\nУсловия действуют на протяже\\nнии любого активного Заказа.\\n\\nПодписка и продление\\n\\nУслуги автоматически продлеваются (ежемесячно, ежеквартально или ежегодно) согласно Заказу.\\nПо умолчанию срок подписки — 1 месяц.\\n\\nПробный период\\nПробный период\\n\\nПробный период\\n\\nPixel Nexus Global может предоставлять пробные периоды (платные или бесплатные).\\nВ течение пробного периода:\\n\\nприменяются все условия как для платной подписки; вы можете отменить подписку до автоматического продления; условия могут изменяться без уведомления. Управление подпиской\\n\\nВы самостоятельно отвечаете за:\\n\\nВы самостоятельно отвечаете за:\\n\\nконтроль дат продления; обновление платёжных данных;\\nотмену подписки; актуальность контактных данных.\\n\\nPixel Nexus Global не несёт ответственности за списания из-за вашего несоблюдения этих обязанностей.\\n\\n4. Прекращение Отмена и возвраты\\n\\n4. Прекращение Отмена и возвраты\\n\\nИнформация о возвратах размещена на странице Refund and Cancellation Policy на iccandle.ai.\\nОтмена аккаунта отключает автопродление, но не аннулирует уже выставленные счета.\\n\\nРасторжение по инициативе сторон\\nРасторжение по инициативе сторон\\n\\nЛюбая сторона может расторгнуть Заказ, уведомив другую сторону минимум за 1 день до окончания срока.\\n\\nЛюбая сторона может расторгнуть Заказ, уведомив другую сторону минимум за 1 день до окончания срока.\\n\\nНарушения\\nНарушения\\n\\nPixel Nexus Global может немедленно приостановить или прекратить доступ без уведомления и возврата средств при нарушении условий или законодательства.\\n\\nПоследствия\\nПоследствия\\n\\nПоследствия\\n\\nОбязательства, возникшие до прекращения, сохраняются. Все задолженности должны быть оплачены.\\nВозврат средств не гарантируется.\\n\\n5. Лицензия и ограничения\\n\\nPixel Nexus Global предоставляет ограниченную, отзывную, неисключительную и непередаваемую лицензию на использование технологии («Pixel Nexus Technology») исключительно для доступа к аналитическим инструментам.\\n\\nPixel Nexus Global предоставляет ограниченную, отзывную, неисключительную и непередаваемую лицензию на использование технологии («Pixel Nexus Technology») исключительно для доступа к аналитическим инструментам.\\n\\nЗапрещено:\\nЗапрещено:\\n\\nпередача, продажа, аренда, сублицензирование; обратная разработка, декомпиляция; обход защитных механизмов; предоставление доступа третьим лицам.\\n\\nВсе права принадлежат Pixel Nexus Global.\\nВсе права принадлежат Pixel Nexus Global.\\nВсе права принадлежат Pixel Nexus Global.\\nВсе права принадлежат Pixel Nexus Global.\\nВсе права принадлежат Pixel Nexus Global.\\nВсе права принадлежат Pixel Nexus Global.\\n\\nВсе права принадлежат Pixel Nexus Global.\\n\\n6.\\nИспользование данных и ИС\\n\\nКомпания может использовать данные пользователя («Operational Information») для поддержки и улучшения услуг. Вы предоставляете бессрочную лицензию на обработку данных.\\n\\nPixel Nexus Global сохраняет исключительные права на результаты анализа и может коммерциализировать их без компенсации пользователю.\\n\\nPixel Nexus Global сохраняет исключительные права на результаты ан\\nализа и может коммерциализировать их без компенсации пользователю.\\n\\n7–9. Отказ от ответственности и риски\\n\\nПлатформа использует сторонние данные и предоставляется «как есть». Информация может быть неточной и не является инвестиционной рекомендацией. Пользователь полностью принимает риски финансовых потерь и обязан проводить самостоятельный анализ.\\n\\n10.\\nОтсутствие гарантий\\n\\n10. Отсутствие гарантий\\n\\nНет гарантий работоспособности, точности, отсутствия ошибок или бесперебойности.\\nБета-функции могут быть нестабильными.\\n\\n11.\\nОграничение ответственности\\n\\nМаксимальная ответственность ограничивается суммой, уплаченной за последний месяц.\\nКомпания не несёт ответственности за косвенные или случайные убытки.\\n\\nМаксимальная ответственность ограничивается суммой, уплаченной за последний месяц.\\nКомпания не несёт ответственности за косвенные или случайные убытки.\\n\\n12–19.\\nПрочие условия\\n\\nВключают уведомления, форс-мажор, отказ от прав, уступку прав,\\nразделимость положений, отсутствие агентских отношений, приоритет документов, юрисдикционные ограничения и запреты на использование в определённых странах."},"Refund":{"title":"Политика возврата и отмены","intro":"Настоящая Политика возврата и отмены («Политика») регулирует условия возврата и отмены услуг, предоставляемых компанией Pixel Nexus Global Pte. Ltd. («мы», «нас») через платформу iccandle.ai («Сервис»). Данная Политика является частью Условий обслуживания и должна рассматриваться совместно с ними.","sections":[{"title":"1. Определения","definitions":[{"term":"Подписка","text":"A recurring paid access to the Services for a specified period (e.g., monthly or annually)."},{"term":"Биллинг-период","text":"The recurring time interval for which a Subscription fee is charged."},{"term":"Изменение подписки","text":"Any upgrade or downgrade to a different Subscription plan."}]},{"title":"2. Условия отмены","subsections":[{"title":"Отмена подписки","listDisc":["You may cancel your Subscription at any time through your account dashboard or by contacting support.","Cancellation will take effect at the end of the current billing period; you will retain access to the Services through the end of that period.","Cancelling your Subscription does not automatically entitle you to a refund of fees already paid."]}]},{"title":"3. Условия возврата","subsections":[{"title":"3.1 Общие положения","paragraphs":["Except as expressly provided in this Policy or required by applicable law, all fees paid for Subscriptions are non‑refundable once charged."]},{"title":"3.2 Случаи возможного возврата","paragraphs":["We may issue a refund at our sole discretion only in limited circumstances, including but not limited to:"],"listDisc":["Duplicate payments (verified duplicate charges will be refunded).","Technical errors that demonstrably prevented access to Services, where the error was not caused by user actions and is verified by us.","Applicable statutory rights under consumer protection law where these rights apply and cannot be waived."],"paragraphsAfter":["Refunds, if approved, will be processed to the original payment method within a commercially reasonable timeframe determined by payment processors and banking partners."]},{"title":"3.3 Отсутствие возврата за частичное использование","paragraphs":["Refunds will not be issued for:"],"listDisc":["Partial use of the Services during a billing period.","Downgrades of Subscription plans.","Change of mind or business decisions after payment.","Subscription cancellations submitted after a billing cycle has renewed."]}]},{"title":"4. Изменение подписки","paragraphs":["We provide two options when changing your Subscription plan:"],"subsections":[{"title":"4.1 Немедленное изменение","paragraphs":["If you select \\"Change Now,\\" your new plan will take effect immediately, and the associated charge will be applied.","Please note that no refunds, credits, or prorated adjustments will be provided for any unused portion of your current plan."]},{"title":"4.2 Изменение со следующего периода","paragraphs":["If you choose \\"Change on Next Billing,\\" your current plan will remain active until the end of the current Billing Period.","The new plan will take effect at the start of the next Billing Period.","No refunds or credits apply to the current Billing Period."]}]},{"title":"5. Отмена после продления","paragraphs":["If an automatic renewal has already occurred before you submit a cancellation request: The renewal fee is non-refundable. The cancellation will apply to the next Billing Period."]},{"title":"6. Чарджбэки и споры","paragraphs":["We maintain a strict no-tolerance policy toward unjustified chargebacks.","Initiating a chargeback or payment dispute without first contacting us to seek resolution is considered a breach of this Refund and Cancellation Policy and our Terms of Service. Such actions may result in immediate suspension or permanent termination of your account, without notice, and forfeiture of access to the Services.","We reserve the right to challenge and dispute any chargeback that we deem unauthorized, abusive, or inconsistent with this Policy. This includes providing payment processors, banks, and financial institutions with all relevant evidence, including but not limited to:"],"listDisc":["Подтверждение оказания услуг и журналы доступа","Записи активности аккаунта","Принятие наших Условий обслуживания и политик","История переписки с клиентом"],"paragraphsAfter":["Customers are strongly encouraged to contact our support team first to resolve any billing concerns. We are committed to addressing legitimate issues in good faith; however, chargebacks used as a substitute for cancellation or refund requests will not be tolerated."]},{"title":"7. Изменение Политики","paragraphs":["We may update this Policy from time to time. Material changes will be posted on our website or communicated via email prior to taking effect. Continued use of the Services after such updates constitutes acceptance of the revised Policy."]},{"title":"8. Контакты","paragraphs":["For all cancellation and refund requests, please contact our support team via our help center."]}],"content":"Политика возврата и отмены\\n\\nНастоящая Политика возврата и отмены («Политика») регулирует условия возврата и отмены услуг, предоставляемых компанией Pixel Nexus Global Pte. Ltd. («мы», «нас») через платформу iccandle.ai («Сервис»). Данная Политика является частью Условий обслуживания и должна рассматриваться совместно с ними.\\n\\n1. Определения\\n\\nПодписка (Subscription): платный доступ к Сервису на определённый период (ежемесячно или ежегодно).\\n\\nБиллинг-период (Billing Period): повторяющийся интервал списания оплаты.\\n\\nИзменение подписки (Subscription Change): переход на другой тариф (повышение или понижение).\\n\\n2. Условия отмены\\nОтмена подписки\\nПодписку можно отменить в любое время через личный кабинет или поддержку\\nОтмена вступает в силу в конце текущего биллингового периода\\nДоступ к сервису сохраняется до конца оплаченного периода\\nУже оплаченные средства не подлежат автоматическому возврату\\n3. Условия возврата\\n3.1 Общие положения\\n\\nЕсли иное не предусмотрено настоящей Политикой или законом, все оплаченные суммы не подлежат возврату после списания.\\n\\n3.2 Случаи возможного возврата\\n\\nВозврат может быть произведён по нашему усмотрению в ограниченных случаях:\\n\\nДвойное списание (подтверждённое)\\nТехническая ошибка, полностью препятствующая доступу к сервису (не по вине пользователя)\\nПрава, предусмотренные законодательством о защите прав потребителей\\n\\nОдобренные возвраты обрабатываются через исходный платёжный метод в разумные сроки.\\n\\n3.3 Отсутствие возврата за частичное использование\\n\\nВозврат не предоставляется за:\\n\\nЧастичное использование периода\\nПонижение тарифа\\nИзменение решения после оплаты\\nОтмену после автоматического продления\\n4. Изменение подписки\\n4.1 Немедленное изменение\\n\\nНовый тариф вступает в силу сразу, соответствующая сумма списывается немедленно. Возвраты за неиспользованный период не предоставляются.\\n\\n4.2 Изменение со следующего периода\\n\\nТекущий тариф действует до конца периода, новый тариф вступает в силу со следующего биллинга.\\n\\n5. Отмена после продления\\n\\nЕсли подписка уже была автоматически продлена, возврат за текущий период не предоставляется, отмена применяется со следующего периода.\\n\\n6. Чарджбэки и споры\\n\\nМы не допускаем необоснованные чарджбэки.\\n\\nИнициирование спора без предварительного обращения в поддержку считается нарушением Политики и может привести к блокировке или удалению аккаунта.\\n\\n7. Изменение Политики\\n\\nМы можем периодически обновлять Политику. Существенные изменения будут заранее опубликованы или отправлены по электронной почте.\\n\\n8. Контакты\\n\\nВсе запросы на возврат и отмену направляйте через службу поддержки."},"Privacy":{"title":"Политика конфиденциальности","intro":"Настоящая Политика конфиденциальности объясняет, как Pixel Nexus Global Pte. Ltd. («мы», «нас») собирает, использует, раскрывает и защищает персональные данные при использовании веб-сайта, приложений и сервисов (далее — «Сервисы»).","sections":[{"title":"1. Собираемая информация","paragraphs":["We collect the following information:"],"listDisc":["Адрес электронной почты, предоставленный при регистрации","Service usage information, including interactions with features, pages viewed, session activity, and general usage patterns, collected to improve the functionality, performance, and user experience of our Services"],"paragraphsAfter":["Мы не собираем, не храним и не обрабатываем данные банковских карт или другую чувствительную платёжную информацию."]},{"title":"2. Платежи и Stripe","paragraphs":["All payment transactions are processed by our third-party payment service provider, Stripe.","When you make a payment, Stripe collects and processes payment-related information (such as card details, billing information, and transaction data) directly. This information is handled in accordance with Stripe’s Privacy Policy and security standards, including PCI-DSS compliance.","We only receive limited information from Stripe necessary to operate our Services, including:"],"listDisc":["подтверждение платежа","статус подписки","идентификаторы транзакций"],"paragraphsAfter":["Мы не имеем доступа к полным платёжным данным.","You can review Stripe’s Privacy Policy here:"],"stripePrivacyUrl":"https://stripe.com/privacy"},{"title":"3. Использование информации","paragraphs":["We use the email addresses we collect to:"],"listDisc":["Provide, operate, and maintain our Services","Analyze service usage and improve product functionality, performance, and user experience","Communicate with you regarding technical notices, updates, and support","Inform you about products, services, features, and events"]},{"title":"4. Передача данных","paragraphs":["We do not sell your personal information.","We may share your information only with:"],"listDisc":["Service providers who support our operations (including hosting, analytics, and payment processing via Stripe)","Professional advisors, such as legal, accounting, or compliance consultants","Law enforcement or regulatory authorities, when required by law or to protect our legal rights"],"paragraphsAfter":["All third-party service providers are required to process personal data in accordance with applicable data protection laws."]},{"title":"5. Ваши права","paragraphs":["Depending on your location, you may have the right to:"],"listDisc":["получить доступ к данным","исправить email","удалить данные","ограничить или возразить против обработки"],"paragraphsAfter":["Requests related to payment data should be directed to Stripe, as they act as the data controller for payment information."]},{"title":"6. Сторонние сервисы","paragraphs":["Our Services rely on third-party providers such as Stripe. Their handling of personal data is governed by their own privacy policies, and we encourage you to review them."]},{"title":"7. Контакты","paragraphs":["If you have any questions about this Privacy Policy or our data practices, please contact us at:","support@iccandle.ai"]}],"content":"Политика конфиденциальности\\n\\nНастоящая Политика конфиденциальности объясняет, как Pixel Nexus Global Pte. Ltd. («мы», «нас») собирает, использует, раскрывает и защищает персональные данные при использовании веб-сайта, приложений и сервисов (далее — «Сервисы»).\\n\\n1. Собираемая информация\\n\\nМы собираем следующие данные:\\n\\nАдрес электронной почты, предоставленный при регистрации\\nДанные об использовании сервиса (взаимодействие с функциями, просмотренные страницы, сессии и модели использования)\\n\\nЭти данные используются для улучшения функциональности, производительности и пользовательского опыта.\\n\\nМы не собираем, не храним и не обрабатываем данные банковских карт или другую чувствительную платёжную информацию.\\n\\n2. Платежи и Stripe\\n\\nВсе платежи обрабатываются сторонним провайдером Stripe.\\n\\nПри оплате Stripe напрямую собирает и обрабатывает платёжные данные (данные карты, биллинг-информация и транзакции) в соответствии со своей политикой конфиденциальности и стандартом PCI-DSS.\\n\\nМы получаем от Stripe только ограниченную информацию:\\n\\nподтверждение платежа\\nстатус подписки\\nидентификаторы транзакций\\n\\nМы не имеем доступа к полным платёжным данным.\\n\\nПолитика конфиденциальности Stripe: https://stripe.com/privacy\\n\\n3. Использование информации\\n\\nМы используем email для:\\n\\nпредоставления и поддержки сервиса\\nанализа и улучшения продукта\\nтехнических уведомлений и поддержки\\nинформирования о функциях и обновлениях\\n4. Передача данных\\n\\nМы не продаём персональные данные.\\n\\nМы можем передавать данные только:\\n\\nпоставщикам услуг (хостинг, аналитика, Stripe)\\nюридическим, бухгалтерским и комплаенс-консультантам\\nгосударственным органам при необходимости по закону\\n\\nВсе третьи стороны обязаны соблюдать законы о защите данных.\\n\\n5. Ваши права\\n\\nВ зависимости от юрисдикции вы можете иметь право:\\n\\nполучить доступ к данным\\nисправить email\\nудалить данные\\nограничить или возразить против обработки\\n\\nЗапросы по платёжным данным следует направлять напрямую в Stripe.\\n\\n6. Сторонние сервисы\\n\\nНаши сервисы используют сторонние платформы (например, Stripe), которые обрабатывают данные по своим политикам.\\n\\n7. Контакты\\n\\nsupport@iccandle.ai"},"Cookie":{"title":"Политика использования файлов куки","intro":["This Cookie Policy explains how Pixel Nexus Global Pte. Ltd. (\\"we\\", \\"us\\", or \\"our\\") uses cookies and similar technologies when you visit or use iccandle.ai and related services (collectively, the \\"Services\\").","Эта Политика должна рассматриваться совместно с Политикой конфиденциальности."],"sections":[{"title":"1. Что такое куки","paragraphs":["Cookies — это небольшие текстовые файлы, которые сохраняются на вашем устройстве при посещении веб-сайта. Они используются для:","обеспечения работы сайта"],"listDisc":["Сессионные куки (удаляются при закрытии браузера)","Постоянные куки (хранятся определённый срок или до удаления)."]},{"title":"2. Типы используемых куки","subsections":[{"title":"2.1 Строго необходимые куки","paragraphs":["Постоянные cookies (хранятся определённый срок или до удаления)"],"listDisc":["безопасный вход и аутентификация","поддержание пользовательских сессий","защита от мошенничества и злоупотреблений"],"paragraphsAfter":["Без этих куки сервис не может работать должным образом."]},{"title":"2.2 Функциональные куки","paragraphs":["защита от мошенничества и злоупотреблений"],"listDisc":["язык и регион","настройки аккаунта"],"paragraphsAfter":["Они улучшают удобство, но не являются строго необходимыми."]},{"title":"2.3 Аналитические и производительные куки","paragraphs":["2.3 Аналитические и производительные cookies"],"listDisc":["посещённые страницы","продолжительность сессий","данные об ошибках и производительности"],"paragraphsAfter":["данные об ошибках и производительности"]},{"title":"2.4 Сторонние куки","paragraphs":["2.4 Сторонние cookies"],"listDisc":["Некоторые cookies устанавливаются сторонними поставщиками:","платёжные системы (например, Stripe)"],"paragraphsAfter":["аналитические и инфраструктурные провайдеры"]}]},{"title":"3. Для чего мы НЕ используем куки","listDisc":["реклама и поведенческий таргетинг","продажа cookie-данных","сбор чувствительной персональной информации"]},{"title":"4. Управление куки","paragraphs":["4. Управление cookies"],"listDisc":["просмотр куки","удаление куки","блокировка куки"],"paragraphsAfter":["Отключение некоторых куки может повлиять на работу сервиса."]},{"title":"5. Изменения политики","paragraphs":["5. Изменения политики"]},{"title":"6. Контакты","paragraphs":["6. Контакты","support@iccandle.ai"]}],"content":"Политика использования файлов cookie\\n\\nНастоящая Политика использования файлов cookie объясняет, как Pixel Nexus Global Pte. Ltd. («мы», «нас») использует файлы cookie и аналогичные технологии при посещении или использовании iccandle.ai и связанных сервисов (далее — «Сервисы»).\\n\\nЭта Политика должна рассматриваться совместно с Политикой конфиденциальности.\\n\\n1. Что такое cookies\\n\\nCookies — это небольшие текстовые файлы, которые сохраняются на вашем устройстве при посещении веб-сайта. Они используются для:\\n\\nобеспечения работы сайта\\nулучшения пользовательского опыта\\nпредоставления информации владельцам сайта\\n\\nCookies бывают:\\n\\nСессионные cookies (удаляются при закрытии браузера)\\nПостоянные cookies (хранятся определённый срок или до удаления)\\n2. Типы используемых cookies\\n2.1 Строго необходимые cookies\\n\\nЭти cookies необходимы для работы сервиса и не могут быть отключены.\\n\\nбезопасный вход и аутентификация\\nподдержание пользовательских сессий\\nзащита от мошенничества и злоупотреблений\\n2.2 Функциональные cookies\\n\\nИспользуются для запоминания ваших настроек:\\n\\nязык и регион\\nнастройки аккаунта\\n2.3 Аналитические и производительные cookies\\n\\nИспользуются для анализа того, как пользователи взаимодействуют с сервисом:\\n\\nпосещённые страницы\\nпродолжительность сессий\\nданные об ошибках и производительности\\n\\nЭти данные используются только для улучшения сервиса и не идентифицируют пользователей напрямую.\\n\\n2.4 Сторонние cookies\\n\\nНекоторые cookies устанавливаются сторонними поставщиками:\\n\\nплатёжные системы (например, Stripe)\\nаналитические и инфраструктурные провайдеры\\n\\nЭти третьи стороны используют cookies в соответствии со своими политиками.\\n\\n3. Для чего мы НЕ используем cookies\\nреклама и поведенческий таргетинг\\nпродажа cookie-данных\\nсбор чувствительной персональной информации\\n4. Управление cookies\\n\\nВы можете управлять cookies через настройки браузера:\\n\\nпросмотр cookies\\nудаление cookies\\nблокировка cookies\\n\\nОтключение некоторых cookies может повлиять на работу сервиса.\\n\\n5. Изменения политики\\n\\nМы можем обновлять эту Политику. Существенные изменения будут опубликованы на сайте. Продолжение использования сервиса означает согласие с обновлениями.\\n\\n6. Контакты\\n\\nsupport@iccandle.ai"}}`),nf={Common:Rm,Confirmation:Em,DateFormat:Om,Alert:Mm,TimeConfig:Im,Loading:Lm,Auth:Gm,Navbar:Fm,Guide:Bm,Pricing:jm,Settings:Um,Referral:zm,Layout:Ym,News:Hm,Selector:Wm,UserActivity:qm,Pattern:Vm,PatternCatalog:_m,sQuestion_pattern:Km,sQuestion_general:Jm,sQuestion_news:Xm,justLanguage:Zm,profile:Qm,Landing:$m,NotFound:ef,Legal:tf},vr={en:Dd,zh:nh,vi:Dh,th:np,ko:Dp,ja:nm,mn:Dm,ru:nf};function wr(e,t){const n=t.split(".");let i=e;for(const a of n){if(!i||typeof i!="object"||!(a in i))return;i=i[a]}return typeof i=="string"?i:void 0}function af(e,t){return t?e.replace(/\{(\w+)\}/g,(n,i)=>t[i]!=null?String(t[i]):`{${i}}`):e}function Ko(e,t,n){const i=wr(vr[e],t)??wr(vr.en,t)??t;return af(i,n)}const Jo=D.createContext({language:Gi,t:(e,t)=>Ko(Gi,e,t)});function ft(){return D.useContext(Jo)}const xr=150;function rf({handleTrackPatternClick:e,submitCallback:t,currentSymbol:n,window_size:i,handleShowDialog:a,resolution:r,timeframe:o,chartWidget:s,candles:c,handleStartDrag:l,handleStopDrag:u,triggerScanner:d,hasActiveShape:p=!1,theme:f,language:m,clearScannerNewsMarks:y,selectedCandles:b,iframeLoaded:T=!0,isLoading:P=!1}){const[k,v]=D.useState(!0),{t:g}=ft(),C=D.useRef(null),w=D.useCallback(async()=>{if(b){Li({title:g("Common.error"),description:g("Selector.clearReplayFirst"),variant:"error"});return}const N=c[0].timestamp,L=c[c.length-1].timestamp;if(s){const X=s.activeChart(),F=Wo(r),Q=L-(xr*F+F*i+F*100),Z=L+xr/3*F;try{await X.setVisibleRange({from:Q,to:Z})}catch(le){console.error("Error setting visible range:",le)}}let z;try{const{data:X}=await Pe.post("https://scan-service.iccandle.ai/cacheCandle",{candles:c},{headers:{Authorization:`Bearer ${localStorage.getItem("iccandle_token")}`}});z=X}catch(X){console.error("Error caching candles:",X);return}const j=JSON.parse(localStorage.getItem("search-filter")||"{}"),G={resolution:o,symbol:n,end_timestamp:L,start_timestamp:N,window_size:i,top_k:j.top_k||25,analyze_window:j.probability||0,candle_id:z?.id||""};if(!j.isAllSelected&&(j.symbolTypes?.length??0)>0&&(G.filter={symbols:j.symbols.join(","),types:j.symbolTypes||[]}),j.period&&j.period>0){const X=j.period*365.25*24*60*60,F=L-X;G.filter||(G.filter={}),G.filter.period=F}const Y=`${Zn}/${m}?ws=${G.window_size}&tk=${G.top_k}&et=${G.end_timestamp}&symbol=${G.symbol}&tf=${G.resolution}&cid=${G.candle_id}&from=${G.start_timestamp*1e3}&to=${G.end_timestamp*1e3}`+(G.filter?.symbols?.length?`&fs=${G.filter.symbols}`:"")+(G.filter?.period!=null?`&period=${G.filter.period}`:"")+(f==="dark"?"&theme=dark":"&theme=light");y(),t(Y)},[b,c,s,r,o,n,i,f,m,y,t,g]),S=D.useCallback(()=>{v(N=>!N)},[]);return h.jsx(Hl,{nodeRef:C,bounds:"parent",onStop:u,onStart:l,handle:".iccandle-handle",children:h.jsx("div",{ref:C,className:"iccandle-scanner-popup",children:h.jsxs("div",{className:"iccandle-scanner-popup__inner",children:[h.jsx(ic,{strokeWidth:1,size:20,color:"#b2b5be",className:"iccandle-handle iccandle-scanner-popup__grip"}),h.jsx("div",{className:"iccandle-scanner-popup__divider"}),p?h.jsxs(h.Fragment,{children:[h.jsx(Bt,{text:g("Selector.availableBars",{count:i}),children:h.jsx("div",{className:"iccandle-handle iccandle-scanner-popup__bars",children:g("Pattern.barsCount",{count:i})})}),h.jsx(Bt,{text:g("Selector.scan"),children:h.jsxs("button",{type:"button",onClick:w,disabled:!T||P,className:"iccandle-scanner-popup__action-btn",children:[h.jsx(pc,{size:20,color:!T||P?"#9ca3af":"#ffb84d"}),k&&h.jsx("div",{className:!T||P?"text-theme-color":"iccandle-scanner-popup__label",children:g("Selector.scan")})]})}),h.jsx("div",{className:"iccandle-scanner-popup__divider"}),h.jsx(Bt,{text:g("Selector.trackPattern"),children:h.jsxs("button",{type:"button",onClick:e,disabled:!T||P,className:"iccandle-scanner-popup__action-btn",children:[h.jsx(td,{size:20,color:!T||P?"#9ca3af":"#ffb84d",stroke:!T||P?"#9ca3af":"#ffb84d"}),k&&h.jsx("div",{className:!T||P?"text-theme-color":"iccandle-scanner-popup__label",children:g("Layout.headerNav.patternShortTitle")})]})})]}):h.jsx("div",{className:"iccandle-scanner-popup__action-row",children:h.jsx(Bt,{text:g("Selector.activateSelector"),children:h.jsxs("button",{type:"button",onClick:()=>{d?.()},className:"iccandle-scanner-popup__action-btn iccandle-scanner-popup__action-btn--with-gap",children:[h.jsx("img",{src:mc,width:24,height:24,alt:"scanner",sizes:"100vw",className:"iccandle-scanner-popup__logo"}),k&&h.jsx("div",{className:"iccandle-scanner-popup__label",children:g("Selector.activateSelector")})]})})}),h.jsx("div",{className:"iccandle-scanner-popup__divider"}),h.jsx(Bt,{text:g("Selector.settings"),children:h.jsx("button",{type:"button",className:"iccandle-scanner-popup__settings",onClick:a,children:h.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 28 28",width:"28",height:"28",fill:"currentColor",children:[h.jsx("path",{fillRule:"evenodd",d:"M18 14a4 4 0 1 1-8 0 4 4 0 0 1 8 0Zm-1 0a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z"}),h.jsx("path",{fillRule:"evenodd",d:"M8.5 5h11l5 9-5 9h-11l-5-9 5-9Zm-3.86 9L9.1 6h9.82l4.45 8-4.45 8H9.1l-4.45-8Z"})]})})}),h.jsx(Bt,{text:g(k?"Selector.collapseToolbar":"Selector.expandToolbar"),children:h.jsx("button",{type:"button",className:"iccandle-scanner-popup__toggle",onClick:S,children:k?h.jsx(sc,{size:20,color:"#b2b5be"}):h.jsx(rc,{size:20,color:"#b2b5be"})})})]})})})}const vi=25,of="#00dfb9";function Fi(e){const t=e||of;return{shape:"date_range",overrides:{extendTop:!0,extendBottom:!0,linecolor:t,linewidth:1,linestyle:0,backgroundColor:t,backgroundTransparency:80,textcolor:"rgba(0, 0, 0, 0)",labelBackgroundColor:"rgba(0, 0, 0, 0)",title:"Scanner range"}}}const Pr=`
50
+
51
+
52
+
53
+
54
+
55
+
56
+
57
+
58
+
59
+
60
+
61
+
62
+
63
+
64
+
65
+
66
+
67
+
68
+
69
+
70
+
71
+
72
+
73
+
74
+
75
+
76
+
77
+
78
+
79
+
80
+
81
+
82
+
83
+
84
+
85
+
86
+
87
+
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+
98
+
99
+
100
+
101
+
102
+
103
+
104
+
105
+
106
+
107
+
108
+
109
+
110
+
111
+
112
+
113
+
114
+
115
+
116
+
117
+
118
+
119
+
120
+
121
+
122
+ `,sf=[{name:"All",value:"all"},{name:"Forex",value:"forex"},{name:"Crypto",value:"crypto"},{name:"Indices",value:"indices"},{name:"Commodities",value:"commodity"},{name:"Stock",value:"stock"}],lf={interval:"60"},cf={D:"1440",H4:"240",H2:"120",H1:"60",M30:"30",M15:"15",M5:"5",M1:"1"};function Xo(e){var t,n,i="";if(typeof e=="string"||typeof e=="number")i+=e;else if(typeof e=="object")if(Array.isArray(e)){var a=e.length;for(t=0;t<a;t++)e[t]&&(n=Xo(e[t]))&&(i&&(i+=" "),i+=n)}else for(n in e)e[n]&&(i&&(i+=" "),i+=n);return i}function uf(){for(var e,t,n=0,i="",a=arguments.length;n<a;n++)(e=arguments[n])&&(t=Xo(e))&&(i&&(i+=" "),i+=t);return i}const df=(e,t)=>{const n=new Array(e.length+t.length);for(let i=0;i<e.length;i++)n[i]=e[i];for(let i=0;i<t.length;i++)n[e.length+i]=t[i];return n},hf=(e,t)=>({classGroupId:e,validator:t}),Zo=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),In="-",Sr=[],pf="arbitrary..",mf=e=>{const t=gf(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:i}=e;return{getClassGroupId:o=>{if(o.startsWith("[")&&o.endsWith("]"))return ff(o);const s=o.split(In),c=s[0]===""&&s.length>1?1:0;return Qo(s,c,t)},getConflictingClassGroupIds:(o,s)=>{if(s){const c=i[o],l=n[o];return c?l?df(l,c):c:l||Sr}return n[o]||Sr}}},Qo=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;const a=e[t],r=n.nextPart.get(a);if(r){const l=Qo(e,t+1,r);if(l)return l}const o=n.validators;if(o===null)return;const s=t===0?e.join(In):e.slice(t).join(In),c=o.length;for(let l=0;l<c;l++){const u=o[l];if(u.validator(s))return u.classGroupId}},ff=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const t=e.slice(1,-1),n=t.indexOf(":"),i=t.slice(0,n);return i?pf+i:void 0})(),gf=e=>{const{theme:t,classGroups:n}=e;return yf(n,t)},yf=(e,t)=>{const n=Zo();for(const i in e){const a=e[i];ca(a,n,i,t)}return n},ca=(e,t,n,i)=>{const a=e.length;for(let r=0;r<a;r++){const o=e[r];bf(o,t,n,i)}},bf=(e,t,n,i)=>{if(typeof e=="string"){vf(e,t,n);return}if(typeof e=="function"){wf(e,t,n,i);return}xf(e,t,n,i)},vf=(e,t,n)=>{const i=e===""?t:$o(t,e);i.classGroupId=n},wf=(e,t,n,i)=>{if(Pf(e)){ca(e(i),t,n,i);return}t.validators===null&&(t.validators=[]),t.validators.push(hf(n,e))},xf=(e,t,n,i)=>{const a=Object.entries(e),r=a.length;for(let o=0;o<r;o++){const[s,c]=a[o];ca(c,$o(t,s),n,i)}},$o=(e,t)=>{let n=e;const i=t.split(In),a=i.length;for(let r=0;r<a;r++){const o=i[r];let s=n.nextPart.get(o);s||(s=Zo(),n.nextPart.set(o,s)),n=s}return n},Pf=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,Sf=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=Object.create(null),i=Object.create(null);const a=(r,o)=>{n[r]=o,t++,t>e&&(t=0,i=n,n=Object.create(null))};return{get(r){let o=n[r];if(o!==void 0)return o;if((o=i[r])!==void 0)return a(r,o),o},set(r,o){r in n?n[r]=o:a(r,o)}}},Bi="!",Tr=":",Tf=[],kr=(e,t,n,i,a)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:i,isExternal:a}),kf=e=>{const{prefix:t,experimentalParseClassName:n}=e;let i=a=>{const r=[];let o=0,s=0,c=0,l;const u=a.length;for(let y=0;y<u;y++){const b=a[y];if(o===0&&s===0){if(b===Tr){r.push(a.slice(c,y)),c=y+1;continue}if(b==="/"){l=y;continue}}b==="["?o++:b==="]"?o--:b==="("?s++:b===")"&&s--}const d=r.length===0?a:a.slice(c);let p=d,f=!1;d.endsWith(Bi)?(p=d.slice(0,-1),f=!0):d.startsWith(Bi)&&(p=d.slice(1),f=!0);const m=l&&l>c?l-c:void 0;return kr(r,f,p,m)};if(t){const a=t+Tr,r=i;i=o=>o.startsWith(a)?r(o.slice(a.length)):kr(Tf,!1,o,void 0,!0)}if(n){const a=i;i=r=>n({className:r,parseClassName:a})}return i},Cf=e=>{const t=new Map;return e.orderSensitiveModifiers.forEach((n,i)=>{t.set(n,1e6+i)}),n=>{const i=[];let a=[];for(let r=0;r<n.length;r++){const o=n[r],s=o[0]==="[",c=t.has(o);s||c?(a.length>0&&(a.sort(),i.push(...a),a=[]),i.push(o)):a.push(o)}return a.length>0&&(a.sort(),i.push(...a)),i}},Af=e=>({cache:Sf(e.cacheSize),parseClassName:kf(e),sortModifiers:Cf(e),...mf(e)}),Nf=/\s+/,Df=(e,t)=>{const{parseClassName:n,getClassGroupId:i,getConflictingClassGroupIds:a,sortModifiers:r}=t,o=[],s=e.trim().split(Nf);let c="";for(let l=s.length-1;l>=0;l-=1){const u=s[l],{isExternal:d,modifiers:p,hasImportantModifier:f,baseClassName:m,maybePostfixModifierPosition:y}=n(u);if(d){c=u+(c.length>0?" "+c:c);continue}let b=!!y,T=i(b?m.substring(0,y):m);if(!T){if(!b){c=u+(c.length>0?" "+c:c);continue}if(T=i(m),!T){c=u+(c.length>0?" "+c:c);continue}b=!1}const P=p.length===0?"":p.length===1?p[0]:r(p).join(":"),k=f?P+Bi:P,v=k+T;if(o.indexOf(v)>-1)continue;o.push(v);const g=a(T,b);for(let C=0;C<g.length;++C){const w=g[C];o.push(k+w)}c=u+(c.length>0?" "+c:c)}return c},Rf=(...e)=>{let t=0,n,i,a="";for(;t<e.length;)(n=e[t++])&&(i=es(n))&&(a&&(a+=" "),a+=i);return a},es=e=>{if(typeof e=="string")return e;let t,n="";for(let i=0;i<e.length;i++)e[i]&&(t=es(e[i]))&&(n&&(n+=" "),n+=t);return n},Ef=(e,...t)=>{let n,i,a,r;const o=c=>{const l=t.reduce((u,d)=>d(u),e());return n=Af(l),i=n.cache.get,a=n.cache.set,r=s,s(c)},s=c=>{const l=i(c);if(l)return l;const u=Df(c,n);return a(c,u),u};return r=o,(...c)=>r(Rf(...c))},Of=[],Ne=e=>{const t=n=>n[e]||Of;return t.isThemeGetter=!0,t},ts=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,ns=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Mf=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,If=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Lf=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Gf=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Ff=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Bf=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,vt=e=>Mf.test(e),ue=e=>!!e&&!Number.isNaN(Number(e)),wt=e=>!!e&&Number.isInteger(Number(e)),wi=e=>e.endsWith("%")&&ue(e.slice(0,-1)),ut=e=>If.test(e),is=()=>!0,jf=e=>Lf.test(e)&&!Gf.test(e),ua=()=>!1,Uf=e=>Ff.test(e),zf=e=>Bf.test(e),Yf=e=>!ne(e)&&!ie(e),Hf=e=>Ct(e,os,ua),ne=e=>ts.test(e),Dt=e=>Ct(e,ss,jf),Cr=e=>Ct(e,Zf,ue),Wf=e=>Ct(e,cs,is),qf=e=>Ct(e,ls,ua),Ar=e=>Ct(e,as,ua),Vf=e=>Ct(e,rs,zf),Sn=e=>Ct(e,us,Uf),ie=e=>ns.test(e),en=e=>Gt(e,ss),_f=e=>Gt(e,ls),Nr=e=>Gt(e,as),Kf=e=>Gt(e,os),Jf=e=>Gt(e,rs),Tn=e=>Gt(e,us,!0),Xf=e=>Gt(e,cs,!0),Ct=(e,t,n)=>{const i=ts.exec(e);return i?i[1]?t(i[1]):n(i[2]):!1},Gt=(e,t,n=!1)=>{const i=ns.exec(e);return i?i[1]?t(i[1]):n:!1},as=e=>e==="position"||e==="percentage",rs=e=>e==="image"||e==="url",os=e=>e==="length"||e==="size"||e==="bg-size",ss=e=>e==="length",Zf=e=>e==="number",ls=e=>e==="family-name",cs=e=>e==="number"||e==="weight",us=e=>e==="shadow",Qf=()=>{const e=Ne("color"),t=Ne("font"),n=Ne("text"),i=Ne("font-weight"),a=Ne("tracking"),r=Ne("leading"),o=Ne("breakpoint"),s=Ne("container"),c=Ne("spacing"),l=Ne("radius"),u=Ne("shadow"),d=Ne("inset-shadow"),p=Ne("text-shadow"),f=Ne("drop-shadow"),m=Ne("blur"),y=Ne("perspective"),b=Ne("aspect"),T=Ne("ease"),P=Ne("animate"),k=()=>["auto","avoid","all","avoid-page","page","left","right","column"],v=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],g=()=>[...v(),ie,ne],C=()=>["auto","hidden","clip","visible","scroll"],w=()=>["auto","contain","none"],S=()=>[ie,ne,c],N=()=>[vt,"full","auto",...S()],L=()=>[wt,"none","subgrid",ie,ne],z=()=>["auto",{span:["full",wt,ie,ne]},wt,ie,ne],j=()=>[wt,"auto",ie,ne],G=()=>["auto","min","max","fr",ie,ne],Y=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],X=()=>["start","end","center","stretch","center-safe","end-safe"],F=()=>["auto",...S()],Q=()=>[vt,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...S()],Z=()=>[vt,"screen","full","dvw","lvw","svw","min","max","fit",...S()],le=()=>[vt,"screen","full","lh","dvh","lvh","svh","min","max","fit",...S()],R=()=>[e,ie,ne],A=()=>[...v(),Nr,Ar,{position:[ie,ne]}],U=()=>["no-repeat",{repeat:["","x","y","space","round"]}],V=()=>["auto","cover","contain",Kf,Hf,{size:[ie,ne]}],q=()=>[wi,en,Dt],ee=()=>["","none","full",l,ie,ne],$=()=>["",ue,en,Dt],J=()=>["solid","dashed","dotted","double"],re=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],ae=()=>[ue,wi,Nr,Ar],se=()=>["","none",m,ie,ne],ge=()=>["none",ue,ie,ne],W=()=>["none",ue,ie,ne],ye=()=>[ue,ie,ne],Ee=()=>[vt,"full",...S()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[ut],breakpoint:[ut],color:[is],container:[ut],"drop-shadow":[ut],ease:["in","out","in-out"],font:[Yf],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[ut],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[ut],shadow:[ut],spacing:["px",ue],text:[ut],"text-shadow":[ut],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",vt,ne,ie,b]}],container:["container"],columns:[{columns:[ue,ne,ie,s]}],"break-after":[{"break-after":k()}],"break-before":[{"break-before":k()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:g()}],overflow:[{overflow:C()}],"overflow-x":[{"overflow-x":C()}],"overflow-y":[{"overflow-y":C()}],overscroll:[{overscroll:w()}],"overscroll-x":[{"overscroll-x":w()}],"overscroll-y":[{"overscroll-y":w()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:N()}],"inset-x":[{"inset-x":N()}],"inset-y":[{"inset-y":N()}],start:[{"inset-s":N(),start:N()}],end:[{"inset-e":N(),end:N()}],"inset-bs":[{"inset-bs":N()}],"inset-be":[{"inset-be":N()}],top:[{top:N()}],right:[{right:N()}],bottom:[{bottom:N()}],left:[{left:N()}],visibility:["visible","invisible","collapse"],z:[{z:[wt,"auto",ie,ne]}],basis:[{basis:[vt,"full","auto",s,...S()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[ue,vt,"auto","initial","none",ne]}],grow:[{grow:["",ue,ie,ne]}],shrink:[{shrink:["",ue,ie,ne]}],order:[{order:[wt,"first","last","none",ie,ne]}],"grid-cols":[{"grid-cols":L()}],"col-start-end":[{col:z()}],"col-start":[{"col-start":j()}],"col-end":[{"col-end":j()}],"grid-rows":[{"grid-rows":L()}],"row-start-end":[{row:z()}],"row-start":[{"row-start":j()}],"row-end":[{"row-end":j()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":G()}],"auto-rows":[{"auto-rows":G()}],gap:[{gap:S()}],"gap-x":[{"gap-x":S()}],"gap-y":[{"gap-y":S()}],"justify-content":[{justify:[...Y(),"normal"]}],"justify-items":[{"justify-items":[...X(),"normal"]}],"justify-self":[{"justify-self":["auto",...X()]}],"align-content":[{content:["normal",...Y()]}],"align-items":[{items:[...X(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...X(),{baseline:["","last"]}]}],"place-content":[{"place-content":Y()}],"place-items":[{"place-items":[...X(),"baseline"]}],"place-self":[{"place-self":["auto",...X()]}],p:[{p:S()}],px:[{px:S()}],py:[{py:S()}],ps:[{ps:S()}],pe:[{pe:S()}],pbs:[{pbs:S()}],pbe:[{pbe:S()}],pt:[{pt:S()}],pr:[{pr:S()}],pb:[{pb:S()}],pl:[{pl:S()}],m:[{m:F()}],mx:[{mx:F()}],my:[{my:F()}],ms:[{ms:F()}],me:[{me:F()}],mbs:[{mbs:F()}],mbe:[{mbe:F()}],mt:[{mt:F()}],mr:[{mr:F()}],mb:[{mb:F()}],ml:[{ml:F()}],"space-x":[{"space-x":S()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":S()}],"space-y-reverse":["space-y-reverse"],size:[{size:Q()}],"inline-size":[{inline:["auto",...Z()]}],"min-inline-size":[{"min-inline":["auto",...Z()]}],"max-inline-size":[{"max-inline":["none",...Z()]}],"block-size":[{block:["auto",...le()]}],"min-block-size":[{"min-block":["auto",...le()]}],"max-block-size":[{"max-block":["none",...le()]}],w:[{w:[s,"screen",...Q()]}],"min-w":[{"min-w":[s,"screen","none",...Q()]}],"max-w":[{"max-w":[s,"screen","none","prose",{screen:[o]},...Q()]}],h:[{h:["screen","lh",...Q()]}],"min-h":[{"min-h":["screen","lh","none",...Q()]}],"max-h":[{"max-h":["screen","lh",...Q()]}],"font-size":[{text:["base",n,en,Dt]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[i,Xf,Wf]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",wi,ne]}],"font-family":[{font:[_f,qf,t]}],"font-features":[{"font-features":[ne]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[a,ie,ne]}],"line-clamp":[{"line-clamp":[ue,"none",ie,Cr]}],leading:[{leading:[r,...S()]}],"list-image":[{"list-image":["none",ie,ne]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",ie,ne]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:R()}],"text-color":[{text:R()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...J(),"wavy"]}],"text-decoration-thickness":[{decoration:[ue,"from-font","auto",ie,Dt]}],"text-decoration-color":[{decoration:R()}],"underline-offset":[{"underline-offset":[ue,"auto",ie,ne]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:S()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",ie,ne]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",ie,ne]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:A()}],"bg-repeat":[{bg:U()}],"bg-size":[{bg:V()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},wt,ie,ne],radial:["",ie,ne],conic:[wt,ie,ne]},Jf,Vf]}],"bg-color":[{bg:R()}],"gradient-from-pos":[{from:q()}],"gradient-via-pos":[{via:q()}],"gradient-to-pos":[{to:q()}],"gradient-from":[{from:R()}],"gradient-via":[{via:R()}],"gradient-to":[{to:R()}],rounded:[{rounded:ee()}],"rounded-s":[{"rounded-s":ee()}],"rounded-e":[{"rounded-e":ee()}],"rounded-t":[{"rounded-t":ee()}],"rounded-r":[{"rounded-r":ee()}],"rounded-b":[{"rounded-b":ee()}],"rounded-l":[{"rounded-l":ee()}],"rounded-ss":[{"rounded-ss":ee()}],"rounded-se":[{"rounded-se":ee()}],"rounded-ee":[{"rounded-ee":ee()}],"rounded-es":[{"rounded-es":ee()}],"rounded-tl":[{"rounded-tl":ee()}],"rounded-tr":[{"rounded-tr":ee()}],"rounded-br":[{"rounded-br":ee()}],"rounded-bl":[{"rounded-bl":ee()}],"border-w":[{border:$()}],"border-w-x":[{"border-x":$()}],"border-w-y":[{"border-y":$()}],"border-w-s":[{"border-s":$()}],"border-w-e":[{"border-e":$()}],"border-w-bs":[{"border-bs":$()}],"border-w-be":[{"border-be":$()}],"border-w-t":[{"border-t":$()}],"border-w-r":[{"border-r":$()}],"border-w-b":[{"border-b":$()}],"border-w-l":[{"border-l":$()}],"divide-x":[{"divide-x":$()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":$()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...J(),"hidden","none"]}],"divide-style":[{divide:[...J(),"hidden","none"]}],"border-color":[{border:R()}],"border-color-x":[{"border-x":R()}],"border-color-y":[{"border-y":R()}],"border-color-s":[{"border-s":R()}],"border-color-e":[{"border-e":R()}],"border-color-bs":[{"border-bs":R()}],"border-color-be":[{"border-be":R()}],"border-color-t":[{"border-t":R()}],"border-color-r":[{"border-r":R()}],"border-color-b":[{"border-b":R()}],"border-color-l":[{"border-l":R()}],"divide-color":[{divide:R()}],"outline-style":[{outline:[...J(),"none","hidden"]}],"outline-offset":[{"outline-offset":[ue,ie,ne]}],"outline-w":[{outline:["",ue,en,Dt]}],"outline-color":[{outline:R()}],shadow:[{shadow:["","none",u,Tn,Sn]}],"shadow-color":[{shadow:R()}],"inset-shadow":[{"inset-shadow":["none",d,Tn,Sn]}],"inset-shadow-color":[{"inset-shadow":R()}],"ring-w":[{ring:$()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:R()}],"ring-offset-w":[{"ring-offset":[ue,Dt]}],"ring-offset-color":[{"ring-offset":R()}],"inset-ring-w":[{"inset-ring":$()}],"inset-ring-color":[{"inset-ring":R()}],"text-shadow":[{"text-shadow":["none",p,Tn,Sn]}],"text-shadow-color":[{"text-shadow":R()}],opacity:[{opacity:[ue,ie,ne]}],"mix-blend":[{"mix-blend":[...re(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":re()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[ue]}],"mask-image-linear-from-pos":[{"mask-linear-from":ae()}],"mask-image-linear-to-pos":[{"mask-linear-to":ae()}],"mask-image-linear-from-color":[{"mask-linear-from":R()}],"mask-image-linear-to-color":[{"mask-linear-to":R()}],"mask-image-t-from-pos":[{"mask-t-from":ae()}],"mask-image-t-to-pos":[{"mask-t-to":ae()}],"mask-image-t-from-color":[{"mask-t-from":R()}],"mask-image-t-to-color":[{"mask-t-to":R()}],"mask-image-r-from-pos":[{"mask-r-from":ae()}],"mask-image-r-to-pos":[{"mask-r-to":ae()}],"mask-image-r-from-color":[{"mask-r-from":R()}],"mask-image-r-to-color":[{"mask-r-to":R()}],"mask-image-b-from-pos":[{"mask-b-from":ae()}],"mask-image-b-to-pos":[{"mask-b-to":ae()}],"mask-image-b-from-color":[{"mask-b-from":R()}],"mask-image-b-to-color":[{"mask-b-to":R()}],"mask-image-l-from-pos":[{"mask-l-from":ae()}],"mask-image-l-to-pos":[{"mask-l-to":ae()}],"mask-image-l-from-color":[{"mask-l-from":R()}],"mask-image-l-to-color":[{"mask-l-to":R()}],"mask-image-x-from-pos":[{"mask-x-from":ae()}],"mask-image-x-to-pos":[{"mask-x-to":ae()}],"mask-image-x-from-color":[{"mask-x-from":R()}],"mask-image-x-to-color":[{"mask-x-to":R()}],"mask-image-y-from-pos":[{"mask-y-from":ae()}],"mask-image-y-to-pos":[{"mask-y-to":ae()}],"mask-image-y-from-color":[{"mask-y-from":R()}],"mask-image-y-to-color":[{"mask-y-to":R()}],"mask-image-radial":[{"mask-radial":[ie,ne]}],"mask-image-radial-from-pos":[{"mask-radial-from":ae()}],"mask-image-radial-to-pos":[{"mask-radial-to":ae()}],"mask-image-radial-from-color":[{"mask-radial-from":R()}],"mask-image-radial-to-color":[{"mask-radial-to":R()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":v()}],"mask-image-conic-pos":[{"mask-conic":[ue]}],"mask-image-conic-from-pos":[{"mask-conic-from":ae()}],"mask-image-conic-to-pos":[{"mask-conic-to":ae()}],"mask-image-conic-from-color":[{"mask-conic-from":R()}],"mask-image-conic-to-color":[{"mask-conic-to":R()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:A()}],"mask-repeat":[{mask:U()}],"mask-size":[{mask:V()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",ie,ne]}],filter:[{filter:["","none",ie,ne]}],blur:[{blur:se()}],brightness:[{brightness:[ue,ie,ne]}],contrast:[{contrast:[ue,ie,ne]}],"drop-shadow":[{"drop-shadow":["","none",f,Tn,Sn]}],"drop-shadow-color":[{"drop-shadow":R()}],grayscale:[{grayscale:["",ue,ie,ne]}],"hue-rotate":[{"hue-rotate":[ue,ie,ne]}],invert:[{invert:["",ue,ie,ne]}],saturate:[{saturate:[ue,ie,ne]}],sepia:[{sepia:["",ue,ie,ne]}],"backdrop-filter":[{"backdrop-filter":["","none",ie,ne]}],"backdrop-blur":[{"backdrop-blur":se()}],"backdrop-brightness":[{"backdrop-brightness":[ue,ie,ne]}],"backdrop-contrast":[{"backdrop-contrast":[ue,ie,ne]}],"backdrop-grayscale":[{"backdrop-grayscale":["",ue,ie,ne]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[ue,ie,ne]}],"backdrop-invert":[{"backdrop-invert":["",ue,ie,ne]}],"backdrop-opacity":[{"backdrop-opacity":[ue,ie,ne]}],"backdrop-saturate":[{"backdrop-saturate":[ue,ie,ne]}],"backdrop-sepia":[{"backdrop-sepia":["",ue,ie,ne]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":S()}],"border-spacing-x":[{"border-spacing-x":S()}],"border-spacing-y":[{"border-spacing-y":S()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",ie,ne]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[ue,"initial",ie,ne]}],ease:[{ease:["linear","initial",T,ie,ne]}],delay:[{delay:[ue,ie,ne]}],animate:[{animate:["none",P,ie,ne]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[y,ie,ne]}],"perspective-origin":[{"perspective-origin":g()}],rotate:[{rotate:ge()}],"rotate-x":[{"rotate-x":ge()}],"rotate-y":[{"rotate-y":ge()}],"rotate-z":[{"rotate-z":ge()}],scale:[{scale:W()}],"scale-x":[{"scale-x":W()}],"scale-y":[{"scale-y":W()}],"scale-z":[{"scale-z":W()}],"scale-3d":["scale-3d"],skew:[{skew:ye()}],"skew-x":[{"skew-x":ye()}],"skew-y":[{"skew-y":ye()}],transform:[{transform:[ie,ne,"","none","gpu","cpu"]}],"transform-origin":[{origin:g()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Ee()}],"translate-x":[{"translate-x":Ee()}],"translate-y":[{"translate-y":Ee()}],"translate-z":[{"translate-z":Ee()}],"translate-none":["translate-none"],accent:[{accent:R()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:R()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",ie,ne]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":S()}],"scroll-mx":[{"scroll-mx":S()}],"scroll-my":[{"scroll-my":S()}],"scroll-ms":[{"scroll-ms":S()}],"scroll-me":[{"scroll-me":S()}],"scroll-mbs":[{"scroll-mbs":S()}],"scroll-mbe":[{"scroll-mbe":S()}],"scroll-mt":[{"scroll-mt":S()}],"scroll-mr":[{"scroll-mr":S()}],"scroll-mb":[{"scroll-mb":S()}],"scroll-ml":[{"scroll-ml":S()}],"scroll-p":[{"scroll-p":S()}],"scroll-px":[{"scroll-px":S()}],"scroll-py":[{"scroll-py":S()}],"scroll-ps":[{"scroll-ps":S()}],"scroll-pe":[{"scroll-pe":S()}],"scroll-pbs":[{"scroll-pbs":S()}],"scroll-pbe":[{"scroll-pbe":S()}],"scroll-pt":[{"scroll-pt":S()}],"scroll-pr":[{"scroll-pr":S()}],"scroll-pb":[{"scroll-pb":S()}],"scroll-pl":[{"scroll-pl":S()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",ie,ne]}],fill:[{fill:["none",...R()]}],"stroke-w":[{stroke:[ue,en,Dt,Cr]}],stroke:[{stroke:["none",...R()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},$f=Ef(Qf);function it(...e){return $f(uf(e))}function eg(e,t){let n;return(i,a)=>{clearTimeout(n),n=setTimeout(()=>e(i,a),t)}}const zt=(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};var pn=e=>e.type==="checkbox",Ot=e=>e instanceof Date,Le=e=>e==null;const ds=e=>typeof e=="object";var Ce=e=>!Le(e)&&!Array.isArray(e)&&ds(e)&&!Ot(e),hs=e=>Ce(e)&&e.target?pn(e.target)?e.target.checked:e.target.value:e,tg=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,ps=(e,t)=>e.has(tg(t)),ng=e=>{const t=e.constructor&&e.constructor.prototype;return Ce(t)&&t.hasOwnProperty("isPrototypeOf")},da=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function Te(e){if(e instanceof Date)return new Date(e);const t=typeof FileList<"u"&&e instanceof FileList;if(da&&(e instanceof Blob||t))return e;const n=Array.isArray(e);if(!n&&!(Ce(e)&&ng(e)))return e;const i=n?[]:Object.create(Object.getPrototypeOf(e));for(const a in e)Object.prototype.hasOwnProperty.call(e,a)&&(i[a]=Te(e[a]));return i}var Qn=e=>/^\w*$/.test(e),xe=e=>e===void 0,ha=e=>Array.isArray(e)?e.filter(Boolean):[],pa=e=>ha(e.replace(/["|']|\]/g,"").split(/\.|\[/)),_=(e,t,n)=>{if(!t||!Ce(e))return n;const i=(Qn(t)?[t]:pa(t)).reduce((a,r)=>Le(a)?a:a[r],e);return xe(i)||i===e?xe(e[t])?n:e[t]:i},Ue=e=>typeof e=="boolean",Me=e=>typeof e=="function",be=(e,t,n)=>{let i=-1;const a=Qn(t)?[t]:pa(t),r=a.length,o=r-1;for(;++i<r;){const s=a[i];let c=n;if(i!==o){const l=e[s];c=Ce(l)||Array.isArray(l)?l:isNaN(+a[i+1])?{}:[]}if(s==="__proto__"||s==="constructor"||s==="prototype")return;e[s]=c,e=e[s]}};const Ln={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change"},Ke={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},dt={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},ma=D.createContext(null);ma.displayName="HookFormControlContext";const fa=()=>D.useContext(ma);var ms=(e,t,n,i=!0)=>{const a={defaultValues:t._defaultValues};for(const r in e)Object.defineProperty(a,r,{get:()=>{const o=r;return t._proxyFormState[o]!==Ke.all&&(t._proxyFormState[o]=!i||Ke.all),n&&(n[o]=!0),e[o]}});return a};const ga=typeof window<"u"?D.useLayoutEffect:D.useEffect;function ig(e){const t=fa(),{control:n=t,disabled:i,name:a,exact:r}=e||{},[o,s]=D.useState(n._formState),c=D.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1});return ga(()=>n._subscribe({name:a,formState:c.current,exact:r,callback:l=>{!i&&s({...n._formState,...l})}}),[a,i,r]),D.useEffect(()=>{c.current.isValid&&n._setValid(!0)},[n]),D.useMemo(()=>ms(o,n,c.current,!1),[o,n])}var Ye=e=>typeof e=="string",ji=(e,t,n,i,a)=>Ye(e)?(i&&t.watch.add(e),_(n,e,a)):Array.isArray(e)?e.map(r=>(i&&t.watch.add(r),_(n,r))):(i&&(t.watchAll=!0),n),Ui=e=>Le(e)||!ds(e);function Je(e,t,n=new WeakSet){if(Ui(e)||Ui(t))return Object.is(e,t);if(Ot(e)&&Ot(t))return Object.is(e.getTime(),t.getTime());const i=Object.keys(e),a=Object.keys(t);if(i.length!==a.length)return!1;if(n.has(e)||n.has(t))return!0;n.add(e),n.add(t);for(const r of i){const o=e[r];if(!a.includes(r))return!1;if(r!=="ref"){const s=t[r];if(Ot(o)&&Ot(s)||Ce(o)&&Ce(s)||Array.isArray(o)&&Array.isArray(s)?!Je(o,s,n):!Object.is(o,s))return!1}}return!0}function Rn(e){const t=fa(),{control:n=t,name:i,defaultValue:a,disabled:r,exact:o,compute:s}=e||{},c=D.useRef(a),l=D.useRef(s),u=D.useRef(void 0),d=D.useRef(n),p=D.useRef(i);l.current=s;const[f,m]=D.useState(()=>{const v=n._getWatch(i,c.current);return l.current?l.current(v):v}),y=D.useCallback(v=>{const g=ji(i,n._names,v||n._formValues,!1,c.current);return l.current?l.current(g):g},[n._formValues,n._names,i]),b=D.useCallback(v=>{if(!r){const g=ji(i,n._names,v||n._formValues,!1,c.current);if(l.current){const C=l.current(g);Je(C,u.current)||(m(C),u.current=C)}else m(g)}},[n._formValues,n._names,r,i]);ga(()=>((d.current!==n||!Je(p.current,i))&&(d.current=n,p.current=i,b()),n._subscribe({name:i,formState:{values:!0},exact:o,callback:v=>{b(v.values)}})),[n,o,i,b]),D.useEffect(()=>n._removeUnmounted());const T=d.current!==n,P=p.current,k=D.useMemo(()=>{if(r)return null;const v=!T&&!Je(P,i);return T||v?y():null},[r,T,i,P,y]);return k!==null?k:f}function ag(e){const t=fa(),{name:n,disabled:i,control:a=t,shouldUnregister:r,defaultValue:o,exact:s=!0}=e,c=ps(a._names.array,n),l=D.useMemo(()=>_(a._formValues,n,_(a._defaultValues,n,o)),[a,n,o]),u=Rn({control:a,name:n,defaultValue:l,exact:s}),d=ig({control:a,name:n,exact:s}),p=D.useRef(e),f=D.useRef(void 0),m=D.useRef(a.register(n,{...e.rules,value:u,...Ue(e.disabled)?{disabled:e.disabled}:{}}));p.current=e;const y=D.useMemo(()=>Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!_(d.errors,n)},isDirty:{enumerable:!0,get:()=>!!_(d.dirtyFields,n)},isTouched:{enumerable:!0,get:()=>!!_(d.touchedFields,n)},isValidating:{enumerable:!0,get:()=>!!_(d.validatingFields,n)},error:{enumerable:!0,get:()=>_(d.errors,n)}}),[d,n]),b=D.useCallback(v=>m.current.onChange({target:{value:hs(v),name:n},type:Ln.CHANGE}),[n]),T=D.useCallback(()=>m.current.onBlur({target:{value:_(a._formValues,n),name:n},type:Ln.BLUR}),[n,a._formValues]),P=D.useCallback(v=>{const g=_(a._fields,n);g&&g._f&&v&&(g._f.ref={focus:()=>Me(v.focus)&&v.focus(),select:()=>Me(v.select)&&v.select(),setCustomValidity:C=>Me(v.setCustomValidity)&&v.setCustomValidity(C),reportValidity:()=>Me(v.reportValidity)&&v.reportValidity()})},[a._fields,n]),k=D.useMemo(()=>({name:n,value:u,...Ue(i)||d.disabled?{disabled:d.disabled||i}:{},onChange:b,onBlur:T,ref:P}),[n,i,d.disabled,b,T,P,u]);return D.useEffect(()=>{const v=a._options.shouldUnregister||r,g=f.current;g&&g!==n&&!c&&a.unregister(g),a.register(n,{...p.current.rules,...Ue(p.current.disabled)?{disabled:p.current.disabled}:{}});const C=(w,S)=>{const N=_(a._fields,w);N&&N._f&&(N._f.mount=S)};if(C(n,!0),v){const w=Te(_(a._options.defaultValues,n,p.current.defaultValue));be(a._defaultValues,n,w),xe(_(a._formValues,n))&&be(a._formValues,n,w)}return!c&&a.register(n),f.current=n,()=>{(c?v&&!a._state.action:v)?a.unregister(n):C(n,!1)}},[n,a,c,r]),D.useEffect(()=>{a._setDisabledField({disabled:i,name:n})},[i,n,a]),D.useMemo(()=>({field:k,formState:d,fieldState:y}),[k,d,y])}const xi=e=>e.render(ag(e)),fs=D.createContext(null);fs.displayName="HookFormContext";const rg=e=>{const{children:t,watch:n,getValues:i,getFieldState:a,setError:r,clearErrors:o,setValue:s,trigger:c,formState:l,resetField:u,reset:d,handleSubmit:p,unregister:f,control:m,register:y,setFocus:b,subscribe:T}=e;return D.createElement(fs.Provider,{value:D.useMemo(()=>({watch:n,getValues:i,getFieldState:a,setError:r,clearErrors:o,setValue:s,trigger:c,formState:l,resetField:u,reset:d,handleSubmit:p,unregister:f,control:m,register:y,setFocus:b,subscribe:T}),[o,m,l,a,i,p,y,d,u,r,b,s,T,c,f,n])},D.createElement(ma.Provider,{value:m},t))};var og=(e,t,n,i,a)=>t?{...n[e],types:{...n[e]&&n[e].types?n[e].types:{},[i]:a||!0}}:{},an=e=>Array.isArray(e)?e:[e],Dr=()=>{let e=[];return{get observers(){return e},next:a=>{for(const r of e)r.next&&r.next(a)},subscribe:a=>(e.push(a),{unsubscribe:()=>{e=e.filter(r=>r!==a)}}),unsubscribe:()=>{e=[]}}};function gs(e,t){const n={};for(const i in e)if(e.hasOwnProperty(i)){const a=e[i],r=t[i];if(a&&Ce(a)&&r){const o=gs(a,r);Ce(o)&&(n[i]=o)}else e[i]&&(n[i]=r)}return n}var Oe=e=>Ce(e)&&!Object.keys(e).length,ya=e=>e.type==="file",Gn=e=>{if(!da)return!1;const t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},ys=e=>e.type==="select-multiple",ba=e=>e.type==="radio",sg=e=>ba(e)||pn(e),Pi=e=>Gn(e)&&e.isConnected;function lg(e,t){const n=t.slice(0,-1).length;let i=0;for(;i<n;)e=xe(e)?i++:e[t[i++]];return e}function cg(e){for(const t in e)if(e.hasOwnProperty(t)&&!xe(e[t]))return!1;return!0}function ke(e,t){const n=Array.isArray(t)?t:Qn(t)?[t]:pa(t),i=n.length===1?e:lg(e,n),a=n.length-1,r=n[a];return i&&delete i[r],a!==0&&(Ce(i)&&Oe(i)||Array.isArray(i)&&cg(i))&&ke(e,n.slice(0,-1)),e}var ug=e=>{for(const t in e)if(Me(e[t]))return!0;return!1};function bs(e){return Array.isArray(e)||Ce(e)&&!ug(e)}function zi(e,t={}){for(const n in e){const i=e[n];bs(i)?(t[n]=Array.isArray(i)?[]:{},zi(i,t[n])):xe(i)||(t[n]=!0)}return t}function Ut(e,t,n){n||(n=zi(t));for(const i in e){const a=e[i];if(bs(a))xe(t)||Ui(n[i])?n[i]=zi(a,Array.isArray(a)?[]:{}):Ut(a,Le(t)?{}:t[i],n[i]);else{const r=t[i];n[i]=!Je(a,r)}}return n}const Rr={value:!1,isValid:!1},Er={value:!0,isValid:!0};var vs=e=>{if(Array.isArray(e)){if(e.length>1){const t=e.filter(n=>n&&n.checked&&!n.disabled).map(n=>n.value);return{value:t,isValid:!!t.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!xe(e[0].attributes.value)?xe(e[0].value)||e[0].value===""?Er:{value:e[0].value,isValid:!0}:Er:Rr}return Rr},ws=(e,{valueAsNumber:t,valueAsDate:n,setValueAs:i})=>xe(e)?e:t?e===""?NaN:e&&+e:n&&Ye(e)?new Date(e):i?i(e):e;const Or={isValid:!1,value:null};var xs=e=>Array.isArray(e)?e.reduce((t,n)=>n&&n.checked&&!n.disabled?{isValid:!0,value:n.value}:t,Or):Or;function Mr(e){const t=e.ref;return ya(t)?t.files:ba(t)?xs(e.refs).value:ys(t)?[...t.selectedOptions].map(({value:n})=>n):pn(t)?vs(e.refs).value:ws(xe(t.value)?e.ref.value:t.value,e)}var dg=(e,t,n,i)=>{const a={};for(const r of e){const o=_(t,r);o&&be(a,r,o._f)}return{criteriaMode:n,names:[...e],fields:a,shouldUseNativeValidation:i}},Fn=e=>e instanceof RegExp,tn=e=>xe(e)?e:Fn(e)?e.source:Ce(e)?Fn(e.value)?e.value.source:e.value:e,Ir=e=>({isOnSubmit:!e||e===Ke.onSubmit,isOnBlur:e===Ke.onBlur,isOnChange:e===Ke.onChange,isOnAll:e===Ke.all,isOnTouch:e===Ke.onTouched});const Lr="AsyncFunction";var hg=e=>!!e&&!!e.validate&&!!(Me(e.validate)&&e.validate.constructor.name===Lr||Ce(e.validate)&&Object.values(e.validate).find(t=>t.constructor.name===Lr)),pg=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),Gr=(e,t,n)=>!n&&(t.watchAll||t.watch.has(e)||[...t.watch].some(i=>e.startsWith(i)&&/^\.\w+/.test(e.slice(i.length))));const rn=(e,t,n,i)=>{for(const a of n||Object.keys(e)){const r=_(e,a);if(r){const{_f:o,...s}=r;if(o){if(o.refs&&o.refs[0]&&t(o.refs[0],a)&&!i)return!0;if(o.ref&&t(o.ref,o.name)&&!i)return!0;if(rn(s,t))break}else if(Ce(s)&&rn(s,t))break}}};function Fr(e,t,n){const i=_(e,n);if(i||Qn(n))return{error:i,name:n};const a=n.split(".");for(;a.length;){const r=a.join("."),o=_(t,r),s=_(e,r);if(o&&!Array.isArray(o)&&n!==r)return{name:n};if(s&&s.type)return{name:r,error:s};if(s&&s.root&&s.root.type)return{name:`${r}.root`,error:s.root};a.pop()}return{name:n}}var mg=(e,t,n,i)=>{n(e);const{name:a,...r}=e;return Oe(r)||Object.keys(r).length>=Object.keys(t).length||Object.keys(r).find(o=>t[o]===(!i||Ke.all))},fg=(e,t,n)=>!e||!t||e===t||an(e).some(i=>i&&(n?i===t:i.startsWith(t)||t.startsWith(i))),gg=(e,t,n,i,a)=>a.isOnAll?!1:!n&&a.isOnTouch?!(t||e):(n?i.isOnBlur:a.isOnBlur)?!e:(n?i.isOnChange:a.isOnChange)?e:!0,yg=(e,t)=>!ha(_(e,t)).length&&ke(e,t),bg=(e,t,n)=>{const i=an(_(e,n));return be(i,"root",t[n]),be(e,n,i),e};function Br(e,t,n="validate"){if(Ye(e)||Array.isArray(e)&&e.every(Ye)||Ue(e)&&!e)return{type:n,message:Ye(e)?e:"",ref:t}}var jt=e=>Ce(e)&&!Fn(e)?e:{value:e,message:""},jr=async(e,t,n,i,a,r)=>{const{ref:o,refs:s,required:c,maxLength:l,minLength:u,min:d,max:p,pattern:f,validate:m,name:y,valueAsNumber:b,mount:T}=e._f,P=_(n,y);if(!T||t.has(y))return{};const k=s?s[0]:o,v=j=>{a&&k.reportValidity&&(k.setCustomValidity(Ue(j)?"":j||""),k.reportValidity())},g={},C=ba(o),w=pn(o),S=C||w,N=(b||ya(o))&&xe(o.value)&&xe(P)||Gn(o)&&o.value===""||P===""||Array.isArray(P)&&!P.length,L=og.bind(null,y,i,g),z=(j,G,Y,X=dt.maxLength,F=dt.minLength)=>{const Q=j?G:Y;g[y]={type:j?X:F,message:Q,ref:o,...L(j?X:F,Q)}};if(r?!Array.isArray(P)||!P.length:c&&(!S&&(N||Le(P))||Ue(P)&&!P||w&&!vs(s).isValid||C&&!xs(s).isValid)){const{value:j,message:G}=Ye(c)?{value:!!c,message:c}:jt(c);if(j&&(g[y]={type:dt.required,message:G,ref:k,...L(dt.required,G)},!i))return v(G),g}if(!N&&(!Le(d)||!Le(p))){let j,G;const Y=jt(p),X=jt(d);if(!Le(P)&&!isNaN(P)){const F=o.valueAsNumber||P&&+P;Le(Y.value)||(j=F>Y.value),Le(X.value)||(G=F<X.value)}else{const F=o.valueAsDate||new Date(P),Q=R=>new Date(new Date().toDateString()+" "+R),Z=o.type=="time",le=o.type=="week";Ye(Y.value)&&P&&(j=Z?Q(P)>Q(Y.value):le?P>Y.value:F>new Date(Y.value)),Ye(X.value)&&P&&(G=Z?Q(P)<Q(X.value):le?P<X.value:F<new Date(X.value))}if((j||G)&&(z(!!j,Y.message,X.message,dt.max,dt.min),!i))return v(g[y].message),g}if((l||u)&&!N&&(Ye(P)||r&&Array.isArray(P))){const j=jt(l),G=jt(u),Y=!Le(j.value)&&P.length>+j.value,X=!Le(G.value)&&P.length<+G.value;if((Y||X)&&(z(Y,j.message,G.message),!i))return v(g[y].message),g}if(f&&!N&&Ye(P)){const{value:j,message:G}=jt(f);if(Fn(j)&&!P.match(j)&&(g[y]={type:dt.pattern,message:G,ref:o,...L(dt.pattern,G)},!i))return v(G),g}if(m){if(Me(m)){const j=await m(P,n),G=Br(j,k);if(G&&(g[y]={...G,...L(dt.validate,G.message)},!i))return v(G.message),g}else if(Ce(m)){let j={};for(const G in m){if(!Oe(j)&&!i)break;const Y=Br(await m[G](P,n),k,G);Y&&(j={...Y,...L(G,Y.message)},v(Y.message),i&&(g[y]=j))}if(!Oe(j)&&(g[y]={ref:k,...j},!i))return g}}return v(!0),g};const vg={mode:Ke.onSubmit,reValidateMode:Ke.onChange,shouldFocusError:!0};function wg(e={}){let t={...vg,...e},n={submitCount:0,isDirty:!1,isReady:!1,isLoading:Me(t.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:t.errors||{},disabled:t.disabled||!1},i={},a=Ce(t.defaultValues)||Ce(t.values)?Te(t.defaultValues||t.values)||{}:{},r=t.shouldUnregister?{}:Te(a),o={action:!1,mount:!1,watch:!1,keepIsValid:!1},s={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set},c,l=0;const u={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},d={...u};let p={...d};const f={array:Dr(),state:Dr()},m=t.criteriaMode===Ke.all,y=x=>E=>{clearTimeout(l),l=setTimeout(x,E)},b=async x=>{if(!o.keepIsValid&&!t.disabled&&(d.isValid||p.isValid||x)){let E;t.resolver?(E=Oe((await S()).errors),T()):E=await L(i,!0),E!==n.isValid&&f.state.next({isValid:E})}},T=(x,E)=>{!t.disabled&&(d.isValidating||d.validatingFields||p.isValidating||p.validatingFields)&&((x||Array.from(s.mount)).forEach(I=>{I&&(E?be(n.validatingFields,I,E):ke(n.validatingFields,I))}),f.state.next({validatingFields:n.validatingFields,isValidating:!Oe(n.validatingFields)}))},P=(x,E=[],I,K,H=!0,B=!0)=>{if(K&&I&&!t.disabled){if(o.action=!0,B&&Array.isArray(_(i,x))){const te=I(_(i,x),K.argA,K.argB);H&&be(i,x,te)}if(B&&Array.isArray(_(n.errors,x))){const te=I(_(n.errors,x),K.argA,K.argB);H&&be(n.errors,x,te),yg(n.errors,x)}if((d.touchedFields||p.touchedFields)&&B&&Array.isArray(_(n.touchedFields,x))){const te=I(_(n.touchedFields,x),K.argA,K.argB);H&&be(n.touchedFields,x,te)}(d.dirtyFields||p.dirtyFields)&&(n.dirtyFields=Ut(a,r)),f.state.next({name:x,isDirty:j(x,E),dirtyFields:n.dirtyFields,errors:n.errors,isValid:n.isValid})}else be(r,x,E)},k=(x,E)=>{be(n.errors,x,E),f.state.next({errors:n.errors})},v=x=>{n.errors=x,f.state.next({errors:n.errors,isValid:!1})},g=(x,E,I,K)=>{const H=_(i,x);if(H){const B=_(r,x,xe(I)?_(a,x):I);xe(B)||K&&K.defaultChecked||E?be(r,x,E?B:Mr(H._f)):X(x,B),o.mount&&!o.action&&b()}},C=(x,E,I,K,H)=>{let B=!1,te=!1;const ce={name:x};if(!t.disabled){if(!I||K){(d.isDirty||p.isDirty)&&(te=n.isDirty,n.isDirty=ce.isDirty=j(),B=te!==ce.isDirty);const de=Je(_(a,x),E);te=!!_(n.dirtyFields,x),de?ke(n.dirtyFields,x):be(n.dirtyFields,x,!0),ce.dirtyFields=n.dirtyFields,B=B||(d.dirtyFields||p.dirtyFields)&&te!==!de}if(I){const de=_(n.touchedFields,x);de||(be(n.touchedFields,x,I),ce.touchedFields=n.touchedFields,B=B||(d.touchedFields||p.touchedFields)&&de!==I)}B&&H&&f.state.next(ce)}return B?ce:{}},w=(x,E,I,K)=>{const H=_(n.errors,x),B=(d.isValid||p.isValid)&&Ue(E)&&n.isValid!==E;if(t.delayError&&I?(c=y(()=>k(x,I)),c(t.delayError)):(clearTimeout(l),c=null,I?be(n.errors,x,I):ke(n.errors,x)),(I?!Je(H,I):H)||!Oe(K)||B){const te={...K,...B&&Ue(E)?{isValid:E}:{},errors:n.errors,name:x};n={...n,...te},f.state.next(te)}},S=async x=>(T(x,!0),await t.resolver(r,t.context,dg(x||s.mount,i,t.criteriaMode,t.shouldUseNativeValidation))),N=async x=>{const{errors:E}=await S(x);if(T(x),x)for(const I of x){const K=_(E,I);K?be(n.errors,I,K):ke(n.errors,I)}else n.errors=E;return E},L=async(x,E,I={valid:!0})=>{for(const K in x){const H=x[K];if(H){const{_f:B,...te}=H;if(B){const ce=s.array.has(B.name),de=H._f&&hg(H._f);de&&d.validatingFields&&T([B.name],!0);const fe=await jr(H,s.disabled,r,m,t.shouldUseNativeValidation&&!E,ce);if(de&&d.validatingFields&&T([B.name]),fe[B.name]&&(I.valid=!1,E||e.shouldUseNativeValidation))break;!E&&(_(fe,B.name)?ce?bg(n.errors,fe,B.name):be(n.errors,B.name,fe[B.name]):ke(n.errors,B.name))}!Oe(te)&&await L(te,E,I)}}return I.valid},z=()=>{for(const x of s.unMount){const E=_(i,x);E&&(E._f.refs?E._f.refs.every(I=>!Pi(I)):!Pi(E._f.ref))&&re(x)}s.unMount=new Set},j=(x,E)=>!t.disabled&&(x&&E&&be(r,x,E),!Je(A(),a)),G=(x,E,I)=>ji(x,s,{...o.mount?r:xe(E)?a:Ye(x)?{[x]:E}:E},I,E),Y=x=>ha(_(o.mount?r:a,x,t.shouldUnregister?_(a,x,[]):[])),X=(x,E,I={})=>{const K=_(i,x);let H=E;if(K){const B=K._f;B&&(!B.disabled&&be(r,x,ws(E,B)),H=Gn(B.ref)&&Le(E)?"":E,ys(B.ref)?[...B.ref.options].forEach(te=>te.selected=H.includes(te.value)):B.refs?pn(B.ref)?B.refs.forEach(te=>{(!te.defaultChecked||!te.disabled)&&(Array.isArray(H)?te.checked=!!H.find(ce=>ce===te.value):te.checked=H===te.value||!!H)}):B.refs.forEach(te=>te.checked=te.value===H):ya(B.ref)?B.ref.value="":(B.ref.value=H,B.ref.type||f.state.next({name:x,values:Te(r)})))}(I.shouldDirty||I.shouldTouch)&&C(x,H,I.shouldTouch,I.shouldDirty,!0),I.shouldValidate&&R(x)},F=(x,E,I)=>{for(const K in E){if(!E.hasOwnProperty(K))return;const H=E[K],B=x+"."+K,te=_(i,B);(s.array.has(x)||Ce(H)||te&&!te._f)&&!Ot(H)?F(B,H,I):X(B,H,I)}},Q=(x,E,I={})=>{const K=_(i,x),H=s.array.has(x),B=Te(E);be(r,x,B),H?(f.array.next({name:x,values:Te(r)}),(d.isDirty||d.dirtyFields||p.isDirty||p.dirtyFields)&&I.shouldDirty&&f.state.next({name:x,dirtyFields:Ut(a,r),isDirty:j(x,B)})):K&&!K._f&&!Le(B)?F(x,B,I):X(x,B,I),Gr(x,s)?f.state.next({...n,name:x,values:Te(r)}):f.state.next({name:o.mount?x:void 0,values:Te(r)})},Z=async x=>{o.mount=!0;const E=x.target;let I=E.name,K=!0;const H=_(i,I),B=de=>{K=Number.isNaN(de)||Ot(de)&&isNaN(de.getTime())||Je(de,_(r,I,de))},te=Ir(t.mode),ce=Ir(t.reValidateMode);if(H){let de,fe;const Ie=E.type?Mr(H._f):hs(x),Ae=x.type===Ln.BLUR||x.type===Ln.FOCUS_OUT,De=!pg(H._f)&&!t.resolver&&!_(n.errors,I)&&!H._f.deps||gg(Ae,_(n.touchedFields,I),n.isSubmitted,ce,te),_e=Gr(I,s,Ae);be(r,I,Ie),Ae?(!E||!E.readOnly)&&(H._f.onBlur&&H._f.onBlur(x),c&&c(0)):H._f.onChange&&H._f.onChange(x);const et=C(I,Ie,Ae),We=!Oe(et)||_e;if(!Ae&&f.state.next({name:I,type:x.type,values:Te(r)}),De)return(d.isValid||p.isValid)&&(t.mode==="onBlur"?Ae&&b():Ae||b()),We&&f.state.next({name:I,..._e?{}:et});if(!Ae&&_e&&f.state.next({...n}),t.resolver){const{errors:ve}=await S([I]);if(T([I]),B(Ie),K){const Ea=Fr(n.errors,i,I),gt=Fr(ve,i,Ea.name||I);de=gt.error,I=gt.name,fe=Oe(ve)}}else T([I],!0),de=(await jr(H,s.disabled,r,m,t.shouldUseNativeValidation))[I],T([I]),B(Ie),K&&(de?fe=!1:(d.isValid||p.isValid)&&(fe=await L(i,!0)));K&&(H._f.deps&&(!Array.isArray(H._f.deps)||H._f.deps.length>0)&&R(H._f.deps),w(I,fe,de,et))}},le=(x,E)=>{if(_(n.errors,E)&&x.focus)return x.focus(),1},R=async(x,E={})=>{let I,K;const H=an(x);if(t.resolver){const B=await N(xe(x)?x:H);I=Oe(B),K=x?!H.some(te=>_(B,te)):I}else x?(K=(await Promise.all(H.map(async B=>{const te=_(i,B);return await L(te&&te._f?{[B]:te}:te)}))).every(Boolean),!(!K&&!n.isValid)&&b()):K=I=await L(i);return f.state.next({...!Ye(x)||(d.isValid||p.isValid)&&I!==n.isValid?{}:{name:x},...t.resolver||!x?{isValid:I}:{},errors:n.errors}),E.shouldFocus&&!K&&rn(i,le,x?H:s.mount),K},A=(x,E)=>{let I={...o.mount?r:a};return E&&(I=gs(E.dirtyFields?n.dirtyFields:n.touchedFields,I)),xe(x)?I:Ye(x)?_(I,x):x.map(K=>_(I,K))},U=(x,E)=>({invalid:!!_((E||n).errors,x),isDirty:!!_((E||n).dirtyFields,x),error:_((E||n).errors,x),isValidating:!!_(n.validatingFields,x),isTouched:!!_((E||n).touchedFields,x)}),V=x=>{const E=x?an(x):void 0;E?.forEach(I=>ke(n.errors,I)),E?E.forEach(I=>{f.state.next({name:I,errors:n.errors})}):f.state.next({errors:{}})},q=(x,E,I)=>{const K=(_(i,x,{_f:{}})._f||{}).ref,H=_(n.errors,x)||{},{ref:B,message:te,type:ce,...de}=H;be(n.errors,x,{...de,...E,ref:K}),f.state.next({name:x,errors:n.errors,isValid:!1}),I&&I.shouldFocus&&K&&K.focus&&K.focus()},ee=(x,E)=>Me(x)?f.state.subscribe({next:I=>"values"in I&&x(G(void 0,E),I)}):G(x,E,!0),$=x=>f.state.subscribe({next:E=>{fg(x.name,E.name,x.exact)&&mg(E,x.formState||d,he,x.reRenderRoot)&&x.callback({values:{...r},...n,...E,defaultValues:a})}}).unsubscribe,J=x=>(o.mount=!0,p={...p,...x.formState},$({...x,formState:{...u,...x.formState}})),re=(x,E={})=>{for(const I of x?an(x):s.mount)s.mount.delete(I),s.array.delete(I),E.keepValue||(ke(i,I),ke(r,I)),!E.keepError&&ke(n.errors,I),!E.keepDirty&&ke(n.dirtyFields,I),!E.keepTouched&&ke(n.touchedFields,I),!E.keepIsValidating&&ke(n.validatingFields,I),!t.shouldUnregister&&!E.keepDefaultValue&&ke(a,I);f.state.next({values:Te(r)}),f.state.next({...n,...E.keepDirty?{isDirty:j()}:{}}),!E.keepIsValid&&b()},ae=({disabled:x,name:E})=>{if(Ue(x)&&o.mount||x||s.disabled.has(E)){const H=s.disabled.has(E)!==!!x;x?s.disabled.add(E):s.disabled.delete(E),H&&o.mount&&!o.action&&b()}},se=(x,E={})=>{let I=_(i,x);const K=Ue(E.disabled)||Ue(t.disabled);return be(i,x,{...I||{},_f:{...I&&I._f?I._f:{ref:{name:x}},name:x,mount:!0,...E}}),s.mount.add(x),I?ae({disabled:Ue(E.disabled)?E.disabled:t.disabled,name:x}):g(x,!0,E.value),{...K?{disabled:E.disabled||t.disabled}:{},...t.progressive?{required:!!E.required,min:tn(E.min),max:tn(E.max),minLength:tn(E.minLength),maxLength:tn(E.maxLength),pattern:tn(E.pattern)}:{},name:x,onChange:Z,onBlur:Z,ref:H=>{if(H){se(x,E),I=_(i,x);const B=xe(H.value)&&H.querySelectorAll&&H.querySelectorAll("input,select,textarea")[0]||H,te=sg(B),ce=I._f.refs||[];if(te?ce.find(de=>de===B):B===I._f.ref)return;be(i,x,{_f:{...I._f,...te?{refs:[...ce.filter(Pi),B,...Array.isArray(_(a,x))?[{}]:[]],ref:{type:B.type,name:x}}:{ref:B}}}),g(x,!1,void 0,B)}else I=_(i,x,{}),I._f&&(I._f.mount=!1),(t.shouldUnregister||E.shouldUnregister)&&!(ps(s.array,x)&&o.action)&&s.unMount.add(x)}}},ge=()=>t.shouldFocusError&&rn(i,le,s.mount),W=x=>{Ue(x)&&(f.state.next({disabled:x}),rn(i,(E,I)=>{const K=_(i,I);K&&(E.disabled=K._f.disabled||x,Array.isArray(K._f.refs)&&K._f.refs.forEach(H=>{H.disabled=K._f.disabled||x}))},0,!1))},ye=(x,E)=>async I=>{let K;I&&(I.preventDefault&&I.preventDefault(),I.persist&&I.persist());let H=Te(r);if(f.state.next({isSubmitting:!0}),t.resolver){const{errors:B,values:te}=await S();T(),n.errors=B,H=Te(te)}else await L(i);if(s.disabled.size)for(const B of s.disabled)ke(H,B);if(ke(n.errors,"root"),Oe(n.errors)){f.state.next({errors:{}});try{await x(H,I)}catch(B){K=B}}else E&&await E({...n.errors},I),ge(),setTimeout(ge);if(f.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:Oe(n.errors)&&!K,submitCount:n.submitCount+1,errors:n.errors}),K)throw K},Ee=(x,E={})=>{_(i,x)&&(xe(E.defaultValue)?Q(x,Te(_(a,x))):(Q(x,E.defaultValue),be(a,x,Te(E.defaultValue))),E.keepTouched||ke(n.touchedFields,x),E.keepDirty||(ke(n.dirtyFields,x),n.isDirty=E.defaultValue?j(x,Te(_(a,x))):j()),E.keepError||(ke(n.errors,x),d.isValid&&b()),f.state.next({...n}))},ct=(x,E={})=>{const I=x?Te(x):a,K=Te(I),H=Oe(x),B=H?a:K;if(E.keepDefaultValues||(a=I),!E.keepValues){if(E.keepDirtyValues){const te=new Set([...s.mount,...Object.keys(Ut(a,r))]);for(const ce of Array.from(te)){const de=_(n.dirtyFields,ce),fe=_(r,ce),Ie=_(B,ce);de&&!xe(fe)?be(B,ce,fe):!de&&!xe(Ie)&&Q(ce,Ie)}}else{if(da&&xe(x))for(const te of s.mount){const ce=_(i,te);if(ce&&ce._f){const de=Array.isArray(ce._f.refs)?ce._f.refs[0]:ce._f.ref;if(Gn(de)){const fe=de.closest("form");if(fe){fe.reset();break}}}}if(E.keepFieldsRef)for(const te of s.mount)Q(te,_(B,te));else i={}}r=t.shouldUnregister?E.keepDefaultValues?Te(a):{}:Te(B),f.array.next({values:{...B}}),f.state.next({values:{...B}})}s={mount:E.keepDirtyValues?s.mount:new Set,unMount:new Set,array:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},o.mount=!d.isValid||!!E.keepIsValid||!!E.keepDirtyValues||!t.shouldUnregister&&!Oe(B),o.watch=!!t.shouldUnregister,o.keepIsValid=!!E.keepIsValid,o.action=!1,E.keepErrors||(n.errors={}),f.state.next({submitCount:E.keepSubmitCount?n.submitCount:0,isDirty:H?!1:E.keepDirty?n.isDirty:!!(E.keepDefaultValues&&!Je(x,a)),isSubmitted:E.keepIsSubmitted?n.isSubmitted:!1,dirtyFields:H?{}:E.keepDirtyValues?E.keepDefaultValues&&r?Ut(a,r):n.dirtyFields:E.keepDefaultValues&&x?Ut(a,x):E.keepDirty?n.dirtyFields:{},touchedFields:E.keepTouched?n.touchedFields:{},errors:E.keepErrors?n.errors:{},isSubmitSuccessful:E.keepIsSubmitSuccessful?n.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:a})},gn=(x,E)=>ct(Me(x)?x(r):x,{...t.resetOptions,...E}),si=(x,E={})=>{const I=_(i,x),K=I&&I._f;if(K){const H=K.refs?K.refs[0]:K.ref;H.focus&&setTimeout(()=>{H.focus(),E.shouldSelect&&Me(H.select)&&H.select()})}},he=x=>{n={...n,...x}},Nt={control:{register:se,unregister:re,getFieldState:U,handleSubmit:ye,setError:q,_subscribe:$,_runSchema:S,_updateIsValidating:T,_focusError:ge,_getWatch:G,_getDirty:j,_setValid:b,_setFieldArray:P,_setDisabledField:ae,_setErrors:v,_getFieldArray:Y,_reset:ct,_resetDefaultValues:()=>Me(t.defaultValues)&&t.defaultValues().then(x=>{gn(x,t.resetOptions),f.state.next({isLoading:!1})}),_removeUnmounted:z,_disableForm:W,_subjects:f,_proxyFormState:d,get _fields(){return i},get _formValues(){return r},get _state(){return o},set _state(x){o=x},get _defaultValues(){return a},get _names(){return s},set _names(x){s=x},get _formState(){return n},get _options(){return t},set _options(x){t={...t,...x}}},subscribe:J,trigger:R,register:se,handleSubmit:ye,watch:ee,setValue:Q,getValues:A,reset:gn,resetField:Ee,clearErrors:V,unregister:re,setError:q,setFocus:si,getFieldState:U};return{...Nt,formControl:Nt}}function Ps(e={}){const t=D.useRef(void 0),n=D.useRef(void 0),[i,a]=D.useState({isDirty:!1,isValidating:!1,isLoading:Me(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,isReady:!1,defaultValues:Me(e.defaultValues)?void 0:e.defaultValues});if(!t.current)if(e.formControl)t.current={...e.formControl,formState:i},e.defaultValues&&!Me(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:o,...s}=wg(e);t.current={...s,formState:i}}const r=t.current.control;return r._options=e,ga(()=>{const o=r._subscribe({formState:r._proxyFormState,callback:()=>a({...r._formState}),reRenderRoot:!0});return a(s=>({...s,isReady:!0})),r._formState.isReady=!0,o},[r]),D.useEffect(()=>r._disableForm(e.disabled),[r,e.disabled]),D.useEffect(()=>{e.mode&&(r._options.mode=e.mode),e.reValidateMode&&(r._options.reValidateMode=e.reValidateMode)},[r,e.mode,e.reValidateMode]),D.useEffect(()=>{e.errors&&(r._setErrors(e.errors),r._focusError())},[r,e.errors]),D.useEffect(()=>{e.shouldUnregister&&r._subjects.state.next({values:r._getWatch()})},[r,e.shouldUnregister]),D.useEffect(()=>{if(r._proxyFormState.isDirty){const o=r._getDirty();o!==i.isDirty&&r._subjects.state.next({isDirty:o})}},[r,i.isDirty]),D.useEffect(()=>{var o;e.values&&!Je(e.values,n.current)?(r._reset(e.values,{keepFieldsRef:!0,...r._options.resetOptions}),!((o=r._options.resetOptions)===null||o===void 0)&&o.keepIsValid||r._setValid(),n.current=e.values,a(s=>({...s}))):r._resetDefaultValues()},[r,e.values]),D.useEffect(()=>{r._state.mount||(r._setValid(),r._state.mount=!0),r._state.watch&&(r._state.watch=!1,r._subjects.state.next({...r._formState})),r._removeUnmounted()}),t.current.formState=D.useMemo(()=>ms(i,r),[r,i]),t.current}function Ur(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Ss(...e){return t=>{let n=!1;const i=e.map(a=>{const r=Ur(a,t);return!n&&typeof r=="function"&&(n=!0),r});if(n)return()=>{for(let a=0;a<i.length;a++){const r=i[a];typeof r=="function"?r():Ur(e[a],null)}}}}function Ft(...e){return M.useCallback(Ss(...e),e)}function xg(e){const t=Pg(e),n=M.forwardRef((i,a)=>{const{children:r,...o}=i,s=M.Children.toArray(r),c=s.find(Tg);if(c){const l=c.props.children,u=s.map(d=>d===c?M.Children.count(l)>1?M.Children.only(null):M.isValidElement(l)?l.props.children:null:d);return h.jsx(t,{...o,ref:a,children:M.isValidElement(l)?M.cloneElement(l,void 0,u):null})}return h.jsx(t,{...o,ref:a,children:r})});return n.displayName=`${e}.Slot`,n}function Pg(e){const t=M.forwardRef((n,i)=>{const{children:a,...r}=n;if(M.isValidElement(a)){const o=Cg(a),s=kg(r,a.props);return a.type!==M.Fragment&&(s.ref=i?Ss(i,o):o),M.cloneElement(a,s)}return M.Children.count(a)>1?M.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var Ts=Symbol("radix.slottable");function Sg(e){const t=({children:n})=>h.jsx(h.Fragment,{children:n});return t.displayName=`${e}.Slottable`,t.__radixId=Ts,t}function Tg(e){return M.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Ts}function kg(e,t){const n={...t};for(const i in t){const a=e[i],r=t[i];/^on[A-Z]/.test(i)?a&&r?n[i]=(...s)=>{const c=r(...s);return a(...s),c}:a&&(n[i]=a):i==="style"?n[i]={...a,...r}:i==="className"&&(n[i]=[a,r].filter(Boolean).join(" "))}return{...e,...n}}function Cg(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var Ag=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],At=Ag.reduce((e,t)=>{const n=xg(`Primitive.${t}`),i=M.forwardRef((a,r)=>{const{asChild:o,...s}=a,c=o?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),h.jsx(c,{...s,ref:r})});return i.displayName=`Primitive.${t}`,{...e,[t]:i}},{});function Ng(e,t){e&&mo.flushSync(()=>e.dispatchEvent(t))}var Dg=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),Rg="VisuallyHidden",ks=M.forwardRef((e,t)=>h.jsx(At.span,{...e,ref:t,style:{...Dg,...e.style}}));ks.displayName=Rg;var Eg=ks;function Cs(e,t=[]){let n=[];function i(r,o){const s=M.createContext(o),c=n.length;n=[...n,o];const l=d=>{const{scope:p,children:f,...m}=d,y=p?.[e]?.[c]||s,b=M.useMemo(()=>m,Object.values(m));return h.jsx(y.Provider,{value:b,children:f})};l.displayName=r+"Provider";function u(d,p){const f=p?.[e]?.[c]||s,m=M.useContext(f);if(m)return m;if(o!==void 0)return o;throw new Error(`\`${d}\` must be used within \`${r}\``)}return[l,u]}const a=()=>{const r=n.map(o=>M.createContext(o));return function(s){const c=s?.[e]||r;return M.useMemo(()=>({[`__scope${e}`]:{...s,[e]:c}}),[s,c])}};return a.scopeName=e,[i,Og(a,...t)]}function Og(...e){const t=e[0];if(e.length===1)return t;const n=()=>{const i=e.map(a=>({useScope:a(),scopeName:a.scopeName}));return function(r){const o=i.reduce((s,{useScope:c,scopeName:l})=>{const d=c(r)[`__scope${l}`];return{...s,...d}},{});return M.useMemo(()=>({[`__scope${t.scopeName}`]:o}),[o])}};return n.scopeName=t.scopeName,n}function ht(e,t,{checkForDefaultPrevented:n=!0}={}){return function(a){if(e?.(a),n===!1||!a.defaultPrevented)return t?.(a)}}var St=globalThis?.document?M.useLayoutEffect:()=>{},Mg=M[" useInsertionEffect ".trim().toString()]||St;function Ig({prop:e,defaultProp:t,onChange:n=()=>{},caller:i}){const[a,r,o]=Lg({defaultProp:t,onChange:n}),s=e!==void 0,c=s?e:a;{const u=M.useRef(e!==void 0);M.useEffect(()=>{const d=u.current;d!==s&&console.warn(`${i} is changing from ${d?"controlled":"uncontrolled"} to ${s?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),u.current=s},[s,i])}const l=M.useCallback(u=>{if(s){const d=Gg(u)?u(e):u;d!==e&&o.current?.(d)}else r(u)},[s,e,r,o]);return[c,l]}function Lg({defaultProp:e,onChange:t}){const[n,i]=M.useState(e),a=M.useRef(n),r=M.useRef(t);return Mg(()=>{r.current=t},[t]),M.useEffect(()=>{a.current!==n&&(r.current?.(n),a.current=n)},[n,a]),[n,i,r]}function Gg(e){return typeof e=="function"}function Fg(e,t){return M.useReducer((n,i)=>t[n][i]??n,e)}var va=e=>{const{present:t,children:n}=e,i=Bg(t),a=typeof n=="function"?n({present:i.isPresent}):M.Children.only(n),r=Ft(i.ref,jg(a));return typeof n=="function"||i.isPresent?M.cloneElement(a,{ref:r}):null};va.displayName="Presence";function Bg(e){const[t,n]=M.useState(),i=M.useRef(null),a=M.useRef(e),r=M.useRef("none"),o=e?"mounted":"unmounted",[s,c]=Fg(o,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return M.useEffect(()=>{const l=kn(i.current);r.current=s==="mounted"?l:"none"},[s]),St(()=>{const l=i.current,u=a.current;if(u!==e){const p=r.current,f=kn(l);e?c("MOUNT"):f==="none"||l?.display==="none"?c("UNMOUNT"):c(u&&p!==f?"ANIMATION_OUT":"UNMOUNT"),a.current=e}},[e,c]),St(()=>{if(t){let l;const u=t.ownerDocument.defaultView??window,d=f=>{const y=kn(i.current).includes(CSS.escape(f.animationName));if(f.target===t&&y&&(c("ANIMATION_END"),!a.current)){const b=t.style.animationFillMode;t.style.animationFillMode="forwards",l=u.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=b)})}},p=f=>{f.target===t&&(r.current=kn(i.current))};return t.addEventListener("animationstart",p),t.addEventListener("animationcancel",d),t.addEventListener("animationend",d),()=>{u.clearTimeout(l),t.removeEventListener("animationstart",p),t.removeEventListener("animationcancel",d),t.removeEventListener("animationend",d)}}else c("ANIMATION_END")},[t,c]),{isPresent:["mounted","unmountSuspended"].includes(s),ref:M.useCallback(l=>{i.current=l?getComputedStyle(l):null,n(l)},[])}}function kn(e){return e?.animationName||"none"}function jg(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var Ug=M[" useId ".trim().toString()]||(()=>{}),zg=0;function Yg(e){const[t,n]=M.useState(Ug());return St(()=>{n(i=>i??String(zg++))},[e]),t?`radix-${t}`:""}function $n(e){const t=M.useRef(e);return M.useEffect(()=>{t.current=e}),M.useMemo(()=>(...n)=>t.current?.(...n),[])}function Hg(e,t=globalThis?.document){const n=$n(e);M.useEffect(()=>{const i=a=>{a.key==="Escape"&&n(a)};return t.addEventListener("keydown",i,{capture:!0}),()=>t.removeEventListener("keydown",i,{capture:!0})},[n,t])}var Wg="DismissableLayer",Yi="dismissableLayer.update",qg="dismissableLayer.pointerDownOutside",Vg="dismissableLayer.focusOutside",zr,As=M.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Ns=M.forwardRef((e,t)=>{const{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:i,onPointerDownOutside:a,onFocusOutside:r,onInteractOutside:o,onDismiss:s,...c}=e,l=M.useContext(As),[u,d]=M.useState(null),p=u?.ownerDocument??globalThis?.document,[,f]=M.useState({}),m=Ft(t,w=>d(w)),y=Array.from(l.layers),[b]=[...l.layersWithOutsidePointerEventsDisabled].slice(-1),T=y.indexOf(b),P=u?y.indexOf(u):-1,k=l.layersWithOutsidePointerEventsDisabled.size>0,v=P>=T,g=Jg(w=>{const S=w.target,N=[...l.branches].some(L=>L.contains(S));!v||N||(a?.(w),o?.(w),w.defaultPrevented||s?.())},p),C=Xg(w=>{const S=w.target;[...l.branches].some(L=>L.contains(S))||(r?.(w),o?.(w),w.defaultPrevented||s?.())},p);return Hg(w=>{P===l.layers.size-1&&(i?.(w),!w.defaultPrevented&&s&&(w.preventDefault(),s()))},p),M.useEffect(()=>{if(u)return n&&(l.layersWithOutsidePointerEventsDisabled.size===0&&(zr=p.body.style.pointerEvents,p.body.style.pointerEvents="none"),l.layersWithOutsidePointerEventsDisabled.add(u)),l.layers.add(u),Yr(),()=>{n&&l.layersWithOutsidePointerEventsDisabled.size===1&&(p.body.style.pointerEvents=zr)}},[u,p,n,l]),M.useEffect(()=>()=>{u&&(l.layers.delete(u),l.layersWithOutsidePointerEventsDisabled.delete(u),Yr())},[u,l]),M.useEffect(()=>{const w=()=>f({});return document.addEventListener(Yi,w),()=>document.removeEventListener(Yi,w)},[]),h.jsx(At.div,{...c,ref:m,style:{pointerEvents:k?v?"auto":"none":void 0,...e.style},onFocusCapture:ht(e.onFocusCapture,C.onFocusCapture),onBlurCapture:ht(e.onBlurCapture,C.onBlurCapture),onPointerDownCapture:ht(e.onPointerDownCapture,g.onPointerDownCapture)})});Ns.displayName=Wg;var _g="DismissableLayerBranch",Kg=M.forwardRef((e,t)=>{const n=M.useContext(As),i=M.useRef(null),a=Ft(t,i);return M.useEffect(()=>{const r=i.current;if(r)return n.branches.add(r),()=>{n.branches.delete(r)}},[n.branches]),h.jsx(At.div,{...e,ref:a})});Kg.displayName=_g;function Jg(e,t=globalThis?.document){const n=$n(e),i=M.useRef(!1),a=M.useRef(()=>{});return M.useEffect(()=>{const r=s=>{if(s.target&&!i.current){let c=function(){Ds(qg,n,l,{discrete:!0})};const l={originalEvent:s};s.pointerType==="touch"?(t.removeEventListener("click",a.current),a.current=c,t.addEventListener("click",a.current,{once:!0})):c()}else t.removeEventListener("click",a.current);i.current=!1},o=window.setTimeout(()=>{t.addEventListener("pointerdown",r)},0);return()=>{window.clearTimeout(o),t.removeEventListener("pointerdown",r),t.removeEventListener("click",a.current)}},[t,n]),{onPointerDownCapture:()=>i.current=!0}}function Xg(e,t=globalThis?.document){const n=$n(e),i=M.useRef(!1);return M.useEffect(()=>{const a=r=>{r.target&&!i.current&&Ds(Vg,n,{originalEvent:r},{discrete:!1})};return t.addEventListener("focusin",a),()=>t.removeEventListener("focusin",a)},[t,n]),{onFocusCapture:()=>i.current=!0,onBlurCapture:()=>i.current=!1}}function Yr(){const e=new CustomEvent(Yi);document.dispatchEvent(e)}function Ds(e,t,n,{discrete:i}){const a=n.originalEvent.target,r=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&a.addEventListener(e,t,{once:!0}),i?Ng(a,r):a.dispatchEvent(r)}var Zg="Portal",Rs=M.forwardRef((e,t)=>{const{container:n,...i}=e,[a,r]=M.useState(!1);St(()=>r(!0),[]);const o=n||a&&globalThis?.document?.body;return o?Wn.createPortal(h.jsx(At.div,{...i,ref:t}),o):null});Rs.displayName=Zg;function Qg(e){const[t,n]=M.useState(void 0);return St(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});const i=new ResizeObserver(a=>{if(!Array.isArray(a)||!a.length)return;const r=a[0];let o,s;if("borderBoxSize"in r){const c=r.borderBoxSize,l=Array.isArray(c)?c[0]:c;o=l.inlineSize,s=l.blockSize}else o=e.offsetWidth,s=e.offsetHeight;n({width:o,height:s})});return i.observe(e,{box:"border-box"}),()=>i.unobserve(e)}else n(void 0)},[e]),t}const $g=["top","right","bottom","left"],Tt=Math.min,ze=Math.max,Bn=Math.round,Cn=Math.floor,at=e=>({x:e,y:e}),ey={left:"right",right:"left",bottom:"top",top:"bottom"},ty={start:"end",end:"start"};function Hi(e,t,n){return ze(e,Tt(t,n))}function pt(e,t){return typeof e=="function"?e(t):e}function mt(e){return e.split("-")[0]}function _t(e){return e.split("-")[1]}function wa(e){return e==="x"?"y":"x"}function xa(e){return e==="y"?"height":"width"}const ny=new Set(["top","bottom"]);function nt(e){return ny.has(mt(e))?"y":"x"}function Pa(e){return wa(nt(e))}function iy(e,t,n){n===void 0&&(n=!1);const i=_t(e),a=Pa(e),r=xa(a);let o=a==="x"?i===(n?"end":"start")?"right":"left":i==="start"?"bottom":"top";return t.reference[r]>t.floating[r]&&(o=jn(o)),[o,jn(o)]}function ay(e){const t=jn(e);return[Wi(e),t,Wi(t)]}function Wi(e){return e.replace(/start|end/g,t=>ty[t])}const Hr=["left","right"],Wr=["right","left"],ry=["top","bottom"],oy=["bottom","top"];function sy(e,t,n){switch(e){case"top":case"bottom":return n?t?Wr:Hr:t?Hr:Wr;case"left":case"right":return t?ry:oy;default:return[]}}function ly(e,t,n,i){const a=_t(e);let r=sy(mt(e),n==="start",i);return a&&(r=r.map(o=>o+"-"+a),t&&(r=r.concat(r.map(Wi)))),r}function jn(e){return e.replace(/left|right|bottom|top/g,t=>ey[t])}function cy(e){return{top:0,right:0,bottom:0,left:0,...e}}function Es(e){return typeof e!="number"?cy(e):{top:e,right:e,bottom:e,left:e}}function Un(e){const{x:t,y:n,width:i,height:a}=e;return{width:i,height:a,top:n,left:t,right:t+i,bottom:n+a,x:t,y:n}}function qr(e,t,n){let{reference:i,floating:a}=e;const r=nt(t),o=Pa(t),s=xa(o),c=mt(t),l=r==="y",u=i.x+i.width/2-a.width/2,d=i.y+i.height/2-a.height/2,p=i[s]/2-a[s]/2;let f;switch(c){case"top":f={x:u,y:i.y-a.height};break;case"bottom":f={x:u,y:i.y+i.height};break;case"right":f={x:i.x+i.width,y:d};break;case"left":f={x:i.x-a.width,y:d};break;default:f={x:i.x,y:i.y}}switch(_t(t)){case"start":f[o]-=p*(n&&l?-1:1);break;case"end":f[o]+=p*(n&&l?-1:1);break}return f}async function uy(e,t){var n;t===void 0&&(t={});const{x:i,y:a,platform:r,rects:o,elements:s,strategy:c}=e,{boundary:l="clippingAncestors",rootBoundary:u="viewport",elementContext:d="floating",altBoundary:p=!1,padding:f=0}=pt(t,e),m=Es(f),b=s[p?d==="floating"?"reference":"floating":d],T=Un(await r.getClippingRect({element:(n=await(r.isElement==null?void 0:r.isElement(b)))==null||n?b:b.contextElement||await(r.getDocumentElement==null?void 0:r.getDocumentElement(s.floating)),boundary:l,rootBoundary:u,strategy:c})),P=d==="floating"?{x:i,y:a,width:o.floating.width,height:o.floating.height}:o.reference,k=await(r.getOffsetParent==null?void 0:r.getOffsetParent(s.floating)),v=await(r.isElement==null?void 0:r.isElement(k))?await(r.getScale==null?void 0:r.getScale(k))||{x:1,y:1}:{x:1,y:1},g=Un(r.convertOffsetParentRelativeRectToViewportRelativeRect?await r.convertOffsetParentRelativeRectToViewportRelativeRect({elements:s,rect:P,offsetParent:k,strategy:c}):P);return{top:(T.top-g.top+m.top)/v.y,bottom:(g.bottom-T.bottom+m.bottom)/v.y,left:(T.left-g.left+m.left)/v.x,right:(g.right-T.right+m.right)/v.x}}const dy=async(e,t,n)=>{const{placement:i="bottom",strategy:a="absolute",middleware:r=[],platform:o}=n,s=r.filter(Boolean),c=await(o.isRTL==null?void 0:o.isRTL(t));let l=await o.getElementRects({reference:e,floating:t,strategy:a}),{x:u,y:d}=qr(l,i,c),p=i,f={},m=0;for(let b=0;b<s.length;b++){var y;const{name:T,fn:P}=s[b],{x:k,y:v,data:g,reset:C}=await P({x:u,y:d,initialPlacement:i,placement:p,strategy:a,middlewareData:f,rects:l,platform:{...o,detectOverflow:(y=o.detectOverflow)!=null?y:uy},elements:{reference:e,floating:t}});u=k??u,d=v??d,f={...f,[T]:{...f[T],...g}},C&&m<=50&&(m++,typeof C=="object"&&(C.placement&&(p=C.placement),C.rects&&(l=C.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:a}):C.rects),{x:u,y:d}=qr(l,p,c)),b=-1)}return{x:u,y:d,placement:p,strategy:a,middlewareData:f}},hy=e=>({name:"arrow",options:e,async fn(t){const{x:n,y:i,placement:a,rects:r,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=pt(e,t)||{};if(l==null)return{};const d=Es(u),p={x:n,y:i},f=Pa(a),m=xa(f),y=await o.getDimensions(l),b=f==="y",T=b?"top":"left",P=b?"bottom":"right",k=b?"clientHeight":"clientWidth",v=r.reference[m]+r.reference[f]-p[f]-r.floating[m],g=p[f]-r.reference[f],C=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l));let w=C?C[k]:0;(!w||!await(o.isElement==null?void 0:o.isElement(C)))&&(w=s.floating[k]||r.floating[m]);const S=v/2-g/2,N=w/2-y[m]/2-1,L=Tt(d[T],N),z=Tt(d[P],N),j=L,G=w-y[m]-z,Y=w/2-y[m]/2+S,X=Hi(j,Y,G),F=!c.arrow&&_t(a)!=null&&Y!==X&&r.reference[m]/2-(Y<j?L:z)-y[m]/2<0,Q=F?Y<j?Y-j:Y-G:0;return{[f]:p[f]+Q,data:{[f]:X,centerOffset:Y-X-Q,...F&&{alignmentOffset:Q}},reset:F}}}),py=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n,i;const{placement:a,middlewareData:r,rects:o,initialPlacement:s,platform:c,elements:l}=t,{mainAxis:u=!0,crossAxis:d=!0,fallbackPlacements:p,fallbackStrategy:f="bestFit",fallbackAxisSideDirection:m="none",flipAlignment:y=!0,...b}=pt(e,t);if((n=r.arrow)!=null&&n.alignmentOffset)return{};const T=mt(a),P=nt(s),k=mt(s)===s,v=await(c.isRTL==null?void 0:c.isRTL(l.floating)),g=p||(k||!y?[jn(s)]:ay(s)),C=m!=="none";!p&&C&&g.push(...ly(s,y,m,v));const w=[s,...g],S=await c.detectOverflow(t,b),N=[];let L=((i=r.flip)==null?void 0:i.overflows)||[];if(u&&N.push(S[T]),d){const Y=iy(a,o,v);N.push(S[Y[0]],S[Y[1]])}if(L=[...L,{placement:a,overflows:N}],!N.every(Y=>Y<=0)){var z,j;const Y=(((z=r.flip)==null?void 0:z.index)||0)+1,X=w[Y];if(X&&(!(d==="alignment"?P!==nt(X):!1)||L.every(Z=>nt(Z.placement)===P?Z.overflows[0]>0:!0)))return{data:{index:Y,overflows:L},reset:{placement:X}};let F=(j=L.filter(Q=>Q.overflows[0]<=0).sort((Q,Z)=>Q.overflows[1]-Z.overflows[1])[0])==null?void 0:j.placement;if(!F)switch(f){case"bestFit":{var G;const Q=(G=L.filter(Z=>{if(C){const le=nt(Z.placement);return le===P||le==="y"}return!0}).map(Z=>[Z.placement,Z.overflows.filter(le=>le>0).reduce((le,R)=>le+R,0)]).sort((Z,le)=>Z[1]-le[1])[0])==null?void 0:G[0];Q&&(F=Q);break}case"initialPlacement":F=s;break}if(a!==F)return{reset:{placement:F}}}return{}}}};function Vr(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function _r(e){return $g.some(t=>e[t]>=0)}const my=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:n,platform:i}=t,{strategy:a="referenceHidden",...r}=pt(e,t);switch(a){case"referenceHidden":{const o=await i.detectOverflow(t,{...r,elementContext:"reference"}),s=Vr(o,n.reference);return{data:{referenceHiddenOffsets:s,referenceHidden:_r(s)}}}case"escaped":{const o=await i.detectOverflow(t,{...r,altBoundary:!0}),s=Vr(o,n.floating);return{data:{escapedOffsets:s,escaped:_r(s)}}}default:return{}}}}},Os=new Set(["left","top"]);async function fy(e,t){const{placement:n,platform:i,elements:a}=e,r=await(i.isRTL==null?void 0:i.isRTL(a.floating)),o=mt(n),s=_t(n),c=nt(n)==="y",l=Os.has(o)?-1:1,u=r&&c?-1:1,d=pt(t,e);let{mainAxis:p,crossAxis:f,alignmentAxis:m}=typeof d=="number"?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m=="number"&&(f=s==="end"?m*-1:m),c?{x:f*u,y:p*l}:{x:p*l,y:f*u}}const gy=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,i;const{x:a,y:r,placement:o,middlewareData:s}=t,c=await fy(t,e);return o===((n=s.offset)==null?void 0:n.placement)&&(i=s.arrow)!=null&&i.alignmentOffset?{}:{x:a+c.x,y:r+c.y,data:{...c,placement:o}}}}},yy=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:i,placement:a,platform:r}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:T=>{let{x:P,y:k}=T;return{x:P,y:k}}},...l}=pt(e,t),u={x:n,y:i},d=await r.detectOverflow(t,l),p=nt(mt(a)),f=wa(p);let m=u[f],y=u[p];if(o){const T=f==="y"?"top":"left",P=f==="y"?"bottom":"right",k=m+d[T],v=m-d[P];m=Hi(k,m,v)}if(s){const T=p==="y"?"top":"left",P=p==="y"?"bottom":"right",k=y+d[T],v=y-d[P];y=Hi(k,y,v)}const b=c.fn({...t,[f]:m,[p]:y});return{...b,data:{x:b.x-n,y:b.y-i,enabled:{[f]:o,[p]:s}}}}}},by=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:n,y:i,placement:a,rects:r,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=pt(e,t),u={x:n,y:i},d=nt(a),p=wa(d);let f=u[p],m=u[d];const y=pt(s,t),b=typeof y=="number"?{mainAxis:y,crossAxis:0}:{mainAxis:0,crossAxis:0,...y};if(c){const k=p==="y"?"height":"width",v=r.reference[p]-r.floating[k]+b.mainAxis,g=r.reference[p]+r.reference[k]-b.mainAxis;f<v?f=v:f>g&&(f=g)}if(l){var T,P;const k=p==="y"?"width":"height",v=Os.has(mt(a)),g=r.reference[d]-r.floating[k]+(v&&((T=o.offset)==null?void 0:T[d])||0)+(v?0:b.crossAxis),C=r.reference[d]+r.reference[k]+(v?0:((P=o.offset)==null?void 0:P[d])||0)-(v?b.crossAxis:0);m<g?m=g:m>C&&(m=C)}return{[p]:f,[d]:m}}}},vy=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var n,i;const{placement:a,rects:r,platform:o,elements:s}=t,{apply:c=()=>{},...l}=pt(e,t),u=await o.detectOverflow(t,l),d=mt(a),p=_t(a),f=nt(a)==="y",{width:m,height:y}=r.floating;let b,T;d==="top"||d==="bottom"?(b=d,T=p===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?"start":"end")?"left":"right"):(T=d,b=p==="end"?"top":"bottom");const P=y-u.top-u.bottom,k=m-u.left-u.right,v=Tt(y-u[b],P),g=Tt(m-u[T],k),C=!t.middlewareData.shift;let w=v,S=g;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(S=k),(i=t.middlewareData.shift)!=null&&i.enabled.y&&(w=P),C&&!p){const L=ze(u.left,0),z=ze(u.right,0),j=ze(u.top,0),G=ze(u.bottom,0);f?S=m-2*(L!==0||z!==0?L+z:ze(u.left,u.right)):w=y-2*(j!==0||G!==0?j+G:ze(u.top,u.bottom))}await c({...t,availableWidth:S,availableHeight:w});const N=await o.getDimensions(s.floating);return m!==N.width||y!==N.height?{reset:{rects:!0}}:{}}}};function ei(){return typeof window<"u"}function Kt(e){return Ms(e)?(e.nodeName||"").toLowerCase():"#document"}function He(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function lt(e){var t;return(t=(Ms(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function Ms(e){return ei()?e instanceof Node||e instanceof He(e).Node:!1}function Ze(e){return ei()?e instanceof Element||e instanceof He(e).Element:!1}function ot(e){return ei()?e instanceof HTMLElement||e instanceof He(e).HTMLElement:!1}function Kr(e){return!ei()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof He(e).ShadowRoot}const wy=new Set(["inline","contents"]);function mn(e){const{overflow:t,overflowX:n,overflowY:i,display:a}=Qe(e);return/auto|scroll|overlay|hidden|clip/.test(t+i+n)&&!wy.has(a)}const xy=new Set(["table","td","th"]);function Py(e){return xy.has(Kt(e))}const Sy=[":popover-open",":modal"];function ti(e){return Sy.some(t=>{try{return e.matches(t)}catch{return!1}})}const Ty=["transform","translate","scale","rotate","perspective"],ky=["transform","translate","scale","rotate","perspective","filter"],Cy=["paint","layout","strict","content"];function Sa(e){const t=Ta(),n=Ze(e)?Qe(e):e;return Ty.some(i=>n[i]?n[i]!=="none":!1)||(n.containerType?n.containerType!=="normal":!1)||!t&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!t&&(n.filter?n.filter!=="none":!1)||ky.some(i=>(n.willChange||"").includes(i))||Cy.some(i=>(n.contain||"").includes(i))}function Ay(e){let t=kt(e);for(;ot(t)&&!Wt(t);){if(Sa(t))return t;if(ti(t))return null;t=kt(t)}return null}function Ta(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const Ny=new Set(["html","body","#document"]);function Wt(e){return Ny.has(Kt(e))}function Qe(e){return He(e).getComputedStyle(e)}function ni(e){return Ze(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function kt(e){if(Kt(e)==="html")return e;const t=e.assignedSlot||e.parentNode||Kr(e)&&e.host||lt(e);return Kr(t)?t.host:t}function Is(e){const t=kt(e);return Wt(t)?e.ownerDocument?e.ownerDocument.body:e.body:ot(t)&&mn(t)?t:Is(t)}function on(e,t,n){var i;t===void 0&&(t=[]),n===void 0&&(n=!0);const a=Is(e),r=a===((i=e.ownerDocument)==null?void 0:i.body),o=He(a);if(r){const s=qi(o);return t.concat(o,o.visualViewport||[],mn(a)?a:[],s&&n?on(s):[])}return t.concat(a,on(a,[],n))}function qi(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Ls(e){const t=Qe(e);let n=parseFloat(t.width)||0,i=parseFloat(t.height)||0;const a=ot(e),r=a?e.offsetWidth:n,o=a?e.offsetHeight:i,s=Bn(n)!==r||Bn(i)!==o;return s&&(n=r,i=o),{width:n,height:i,$:s}}function ka(e){return Ze(e)?e:e.contextElement}function Yt(e){const t=ka(e);if(!ot(t))return at(1);const n=t.getBoundingClientRect(),{width:i,height:a,$:r}=Ls(t);let o=(r?Bn(n.width):n.width)/i,s=(r?Bn(n.height):n.height)/a;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}const Dy=at(0);function Gs(e){const t=He(e);return!Ta()||!t.visualViewport?Dy:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Ry(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==He(e)?!1:t}function Lt(e,t,n,i){t===void 0&&(t=!1),n===void 0&&(n=!1);const a=e.getBoundingClientRect(),r=ka(e);let o=at(1);t&&(i?Ze(i)&&(o=Yt(i)):o=Yt(e));const s=Ry(r,n,i)?Gs(r):at(0);let c=(a.left+s.x)/o.x,l=(a.top+s.y)/o.y,u=a.width/o.x,d=a.height/o.y;if(r){const p=He(r),f=i&&Ze(i)?He(i):i;let m=p,y=qi(m);for(;y&&i&&f!==m;){const b=Yt(y),T=y.getBoundingClientRect(),P=Qe(y),k=T.left+(y.clientLeft+parseFloat(P.paddingLeft))*b.x,v=T.top+(y.clientTop+parseFloat(P.paddingTop))*b.y;c*=b.x,l*=b.y,u*=b.x,d*=b.y,c+=k,l+=v,m=He(y),y=qi(m)}}return Un({width:u,height:d,x:c,y:l})}function ii(e,t){const n=ni(e).scrollLeft;return t?t.left+n:Lt(lt(e)).left+n}function Fs(e,t){const n=e.getBoundingClientRect(),i=n.left+t.scrollLeft-ii(e,n),a=n.top+t.scrollTop;return{x:i,y:a}}function Ey(e){let{elements:t,rect:n,offsetParent:i,strategy:a}=e;const r=a==="fixed",o=lt(i),s=t?ti(t.floating):!1;if(i===o||s&&r)return n;let c={scrollLeft:0,scrollTop:0},l=at(1);const u=at(0),d=ot(i);if((d||!d&&!r)&&((Kt(i)!=="body"||mn(o))&&(c=ni(i)),ot(i))){const f=Lt(i);l=Yt(i),u.x=f.x+i.clientLeft,u.y=f.y+i.clientTop}const p=o&&!d&&!r?Fs(o,c):at(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+p.x,y:n.y*l.y-c.scrollTop*l.y+u.y+p.y}}function Oy(e){return Array.from(e.getClientRects())}function My(e){const t=lt(e),n=ni(e),i=e.ownerDocument.body,a=ze(t.scrollWidth,t.clientWidth,i.scrollWidth,i.clientWidth),r=ze(t.scrollHeight,t.clientHeight,i.scrollHeight,i.clientHeight);let o=-n.scrollLeft+ii(e);const s=-n.scrollTop;return Qe(i).direction==="rtl"&&(o+=ze(t.clientWidth,i.clientWidth)-a),{width:a,height:r,x:o,y:s}}const Jr=25;function Iy(e,t){const n=He(e),i=lt(e),a=n.visualViewport;let r=i.clientWidth,o=i.clientHeight,s=0,c=0;if(a){r=a.width,o=a.height;const u=Ta();(!u||u&&t==="fixed")&&(s=a.offsetLeft,c=a.offsetTop)}const l=ii(i);if(l<=0){const u=i.ownerDocument,d=u.body,p=getComputedStyle(d),f=u.compatMode==="CSS1Compat"&&parseFloat(p.marginLeft)+parseFloat(p.marginRight)||0,m=Math.abs(i.clientWidth-d.clientWidth-f);m<=Jr&&(r-=m)}else l<=Jr&&(r+=l);return{width:r,height:o,x:s,y:c}}const Ly=new Set(["absolute","fixed"]);function Gy(e,t){const n=Lt(e,!0,t==="fixed"),i=n.top+e.clientTop,a=n.left+e.clientLeft,r=ot(e)?Yt(e):at(1),o=e.clientWidth*r.x,s=e.clientHeight*r.y,c=a*r.x,l=i*r.y;return{width:o,height:s,x:c,y:l}}function Xr(e,t,n){let i;if(t==="viewport")i=Iy(e,n);else if(t==="document")i=My(lt(e));else if(Ze(t))i=Gy(t,n);else{const a=Gs(e);i={x:t.x-a.x,y:t.y-a.y,width:t.width,height:t.height}}return Un(i)}function Bs(e,t){const n=kt(e);return n===t||!Ze(n)||Wt(n)?!1:Qe(n).position==="fixed"||Bs(n,t)}function Fy(e,t){const n=t.get(e);if(n)return n;let i=on(e,[],!1).filter(s=>Ze(s)&&Kt(s)!=="body"),a=null;const r=Qe(e).position==="fixed";let o=r?kt(e):e;for(;Ze(o)&&!Wt(o);){const s=Qe(o),c=Sa(o);!c&&s.position==="fixed"&&(a=null),(r?!c&&!a:!c&&s.position==="static"&&!!a&&Ly.has(a.position)||mn(o)&&!c&&Bs(e,o))?i=i.filter(u=>u!==o):a=s,o=kt(o)}return t.set(e,i),i}function By(e){let{element:t,boundary:n,rootBoundary:i,strategy:a}=e;const o=[...n==="clippingAncestors"?ti(t)?[]:Fy(t,this._c):[].concat(n),i],s=o[0],c=o.reduce((l,u)=>{const d=Xr(t,u,a);return l.top=ze(d.top,l.top),l.right=Tt(d.right,l.right),l.bottom=Tt(d.bottom,l.bottom),l.left=ze(d.left,l.left),l},Xr(t,s,a));return{width:c.right-c.left,height:c.bottom-c.top,x:c.left,y:c.top}}function jy(e){const{width:t,height:n}=Ls(e);return{width:t,height:n}}function Uy(e,t,n){const i=ot(t),a=lt(t),r=n==="fixed",o=Lt(e,!0,r,t);let s={scrollLeft:0,scrollTop:0};const c=at(0);function l(){c.x=ii(a)}if(i||!i&&!r)if((Kt(t)!=="body"||mn(a))&&(s=ni(t)),i){const f=Lt(t,!0,r,t);c.x=f.x+t.clientLeft,c.y=f.y+t.clientTop}else a&&l();r&&!i&&a&&l();const u=a&&!i&&!r?Fs(a,s):at(0),d=o.left+s.scrollLeft-c.x-u.x,p=o.top+s.scrollTop-c.y-u.y;return{x:d,y:p,width:o.width,height:o.height}}function Si(e){return Qe(e).position==="static"}function Zr(e,t){if(!ot(e)||Qe(e).position==="fixed")return null;if(t)return t(e);let n=e.offsetParent;return lt(e)===n&&(n=n.ownerDocument.body),n}function js(e,t){const n=He(e);if(ti(e))return n;if(!ot(e)){let a=kt(e);for(;a&&!Wt(a);){if(Ze(a)&&!Si(a))return a;a=kt(a)}return n}let i=Zr(e,t);for(;i&&Py(i)&&Si(i);)i=Zr(i,t);return i&&Wt(i)&&Si(i)&&!Sa(i)?n:i||Ay(e)||n}const zy=async function(e){const t=this.getOffsetParent||js,n=this.getDimensions,i=await n(e.floating);return{reference:Uy(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:i.width,height:i.height}}};function Yy(e){return Qe(e).direction==="rtl"}const Hy={convertOffsetParentRelativeRectToViewportRelativeRect:Ey,getDocumentElement:lt,getClippingRect:By,getOffsetParent:js,getElementRects:zy,getClientRects:Oy,getDimensions:jy,getScale:Yt,isElement:Ze,isRTL:Yy};function Us(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function Wy(e,t){let n=null,i;const a=lt(e);function r(){var s;clearTimeout(i),(s=n)==null||s.disconnect(),n=null}function o(s,c){s===void 0&&(s=!1),c===void 0&&(c=1),r();const l=e.getBoundingClientRect(),{left:u,top:d,width:p,height:f}=l;if(s||t(),!p||!f)return;const m=Cn(d),y=Cn(a.clientWidth-(u+p)),b=Cn(a.clientHeight-(d+f)),T=Cn(u),k={rootMargin:-m+"px "+-y+"px "+-b+"px "+-T+"px",threshold:ze(0,Tt(1,c))||1};let v=!0;function g(C){const w=C[0].intersectionRatio;if(w!==c){if(!v)return o();w?o(!1,w):i=setTimeout(()=>{o(!1,1e-7)},1e3)}w===1&&!Us(l,e.getBoundingClientRect())&&o(),v=!1}try{n=new IntersectionObserver(g,{...k,root:a.ownerDocument})}catch{n=new IntersectionObserver(g,k)}n.observe(e)}return o(!0),r}function qy(e,t,n,i){i===void 0&&(i={});const{ancestorScroll:a=!0,ancestorResize:r=!0,elementResize:o=typeof ResizeObserver=="function",layoutShift:s=typeof IntersectionObserver=="function",animationFrame:c=!1}=i,l=ka(e),u=a||r?[...l?on(l):[],...on(t)]:[];u.forEach(T=>{a&&T.addEventListener("scroll",n,{passive:!0}),r&&T.addEventListener("resize",n)});const d=l&&s?Wy(l,n):null;let p=-1,f=null;o&&(f=new ResizeObserver(T=>{let[P]=T;P&&P.target===l&&f&&(f.unobserve(t),cancelAnimationFrame(p),p=requestAnimationFrame(()=>{var k;(k=f)==null||k.observe(t)})),n()}),l&&!c&&f.observe(l),f.observe(t));let m,y=c?Lt(e):null;c&&b();function b(){const T=Lt(e);y&&!Us(y,T)&&n(),y=T,m=requestAnimationFrame(b)}return n(),()=>{var T;u.forEach(P=>{a&&P.removeEventListener("scroll",n),r&&P.removeEventListener("resize",n)}),d?.(),(T=f)==null||T.disconnect(),f=null,c&&cancelAnimationFrame(m)}}const Vy=gy,_y=yy,Ky=py,Jy=vy,Xy=my,Qr=hy,Zy=by,Qy=(e,t,n)=>{const i=new Map,a={platform:Hy,...n},r={...a.platform,_c:i};return dy(e,t,{...a,platform:r})};var $y=typeof document<"u",eb=function(){},En=$y?D.useLayoutEffect:eb;function zn(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,i,a;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(i=n;i--!==0;)if(!zn(e[i],t[i]))return!1;return!0}if(a=Object.keys(e),n=a.length,n!==Object.keys(t).length)return!1;for(i=n;i--!==0;)if(!{}.hasOwnProperty.call(t,a[i]))return!1;for(i=n;i--!==0;){const r=a[i];if(!(r==="_owner"&&e.$$typeof)&&!zn(e[r],t[r]))return!1}return!0}return e!==e&&t!==t}function zs(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function $r(e,t){const n=zs(e);return Math.round(t*n)/n}function Ti(e){const t=M.useRef(e);return En(()=>{t.current=e}),t}function tb(e){e===void 0&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:i=[],platform:a,elements:{reference:r,floating:o}={},transform:s=!0,whileElementsMounted:c,open:l}=e,[u,d]=M.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[p,f]=M.useState(i);zn(p,i)||f(i);const[m,y]=M.useState(null),[b,T]=M.useState(null),P=M.useCallback(Z=>{Z!==C.current&&(C.current=Z,y(Z))},[]),k=M.useCallback(Z=>{Z!==w.current&&(w.current=Z,T(Z))},[]),v=r||m,g=o||b,C=M.useRef(null),w=M.useRef(null),S=M.useRef(u),N=c!=null,L=Ti(c),z=Ti(a),j=Ti(l),G=M.useCallback(()=>{if(!C.current||!w.current)return;const Z={placement:t,strategy:n,middleware:p};z.current&&(Z.platform=z.current),Qy(C.current,w.current,Z).then(le=>{const R={...le,isPositioned:j.current!==!1};Y.current&&!zn(S.current,R)&&(S.current=R,mo.flushSync(()=>{d(R)}))})},[p,t,n,z,j]);En(()=>{l===!1&&S.current.isPositioned&&(S.current.isPositioned=!1,d(Z=>({...Z,isPositioned:!1})))},[l]);const Y=M.useRef(!1);En(()=>(Y.current=!0,()=>{Y.current=!1}),[]),En(()=>{if(v&&(C.current=v),g&&(w.current=g),v&&g){if(L.current)return L.current(v,g,G);G()}},[v,g,G,L,N]);const X=M.useMemo(()=>({reference:C,floating:w,setReference:P,setFloating:k}),[P,k]),F=M.useMemo(()=>({reference:v,floating:g}),[v,g]),Q=M.useMemo(()=>{const Z={position:n,left:0,top:0};if(!F.floating)return Z;const le=$r(F.floating,u.x),R=$r(F.floating,u.y);return s?{...Z,transform:"translate("+le+"px, "+R+"px)",...zs(F.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:le,top:R}},[n,s,F.floating,u.x,u.y]);return M.useMemo(()=>({...u,update:G,refs:X,elements:F,floatingStyles:Q}),[u,G,X,F,Q])}const nb=e=>{function t(n){return{}.hasOwnProperty.call(n,"current")}return{name:"arrow",options:e,fn(n){const{element:i,padding:a}=typeof e=="function"?e(n):e;return i&&t(i)?i.current!=null?Qr({element:i.current,padding:a}).fn(n):{}:i?Qr({element:i,padding:a}).fn(n):{}}}},ib=(e,t)=>({...Vy(e),options:[e,t]}),ab=(e,t)=>({..._y(e),options:[e,t]}),rb=(e,t)=>({...Zy(e),options:[e,t]}),ob=(e,t)=>({...Ky(e),options:[e,t]}),sb=(e,t)=>({...Jy(e),options:[e,t]}),lb=(e,t)=>({...Xy(e),options:[e,t]}),cb=(e,t)=>({...nb(e),options:[e,t]});var ub="Arrow",Ys=M.forwardRef((e,t)=>{const{children:n,width:i=10,height:a=5,...r}=e;return h.jsx(At.svg,{...r,ref:t,width:i,height:a,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:h.jsx("polygon",{points:"0,0 30,0 15,10"})})});Ys.displayName=ub;var db=Ys,Ca="Popper",[Hs,Ws]=Cs(Ca),[hb,qs]=Hs(Ca),Vs=e=>{const{__scopePopper:t,children:n}=e,[i,a]=M.useState(null);return h.jsx(hb,{scope:t,anchor:i,onAnchorChange:a,children:n})};Vs.displayName=Ca;var _s="PopperAnchor",Ks=M.forwardRef((e,t)=>{const{__scopePopper:n,virtualRef:i,...a}=e,r=qs(_s,n),o=M.useRef(null),s=Ft(t,o),c=M.useRef(null);return M.useEffect(()=>{const l=c.current;c.current=i?.current||o.current,l!==c.current&&r.onAnchorChange(c.current)}),i?null:h.jsx(At.div,{...a,ref:s})});Ks.displayName=_s;var Aa="PopperContent",[pb,mb]=Hs(Aa),Js=M.forwardRef((e,t)=>{const{__scopePopper:n,side:i="bottom",sideOffset:a=0,align:r="center",alignOffset:o=0,arrowPadding:s=0,avoidCollisions:c=!0,collisionBoundary:l=[],collisionPadding:u=0,sticky:d="partial",hideWhenDetached:p=!1,updatePositionStrategy:f="optimized",onPlaced:m,...y}=e,b=qs(Aa,n),[T,P]=M.useState(null),k=Ft(t,J=>P(J)),[v,g]=M.useState(null),C=Qg(v),w=C?.width??0,S=C?.height??0,N=i+(r!=="center"?"-"+r:""),L=typeof u=="number"?u:{top:0,right:0,bottom:0,left:0,...u},z=Array.isArray(l)?l:[l],j=z.length>0,G={padding:L,boundary:z.filter(gb),altBoundary:j},{refs:Y,floatingStyles:X,placement:F,isPositioned:Q,middlewareData:Z}=tb({strategy:"fixed",placement:N,whileElementsMounted:(...J)=>qy(...J,{animationFrame:f==="always"}),elements:{reference:b.anchor},middleware:[ib({mainAxis:a+S,alignmentAxis:o}),c&&ab({mainAxis:!0,crossAxis:!1,limiter:d==="partial"?rb():void 0,...G}),c&&ob({...G}),sb({...G,apply:({elements:J,rects:re,availableWidth:ae,availableHeight:se})=>{const{width:ge,height:W}=re.reference,ye=J.floating.style;ye.setProperty("--radix-popper-available-width",`${ae}px`),ye.setProperty("--radix-popper-available-height",`${se}px`),ye.setProperty("--radix-popper-anchor-width",`${ge}px`),ye.setProperty("--radix-popper-anchor-height",`${W}px`)}}),v&&cb({element:v,padding:s}),yb({arrowWidth:w,arrowHeight:S}),p&&lb({strategy:"referenceHidden",...G})]}),[le,R]=Qs(F),A=$n(m);St(()=>{Q&&A?.()},[Q,A]);const U=Z.arrow?.x,V=Z.arrow?.y,q=Z.arrow?.centerOffset!==0,[ee,$]=M.useState();return St(()=>{T&&$(window.getComputedStyle(T).zIndex)},[T]),h.jsx("div",{ref:Y.setFloating,"data-radix-popper-content-wrapper":"",style:{...X,transform:Q?X.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:ee,"--radix-popper-transform-origin":[Z.transformOrigin?.x,Z.transformOrigin?.y].join(" "),...Z.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:h.jsx(pb,{scope:n,placedSide:le,onArrowChange:g,arrowX:U,arrowY:V,shouldHideArrow:q,children:h.jsx(At.div,{"data-side":le,"data-align":R,...y,ref:k,style:{...y.style,animation:Q?void 0:"none"}})})})});Js.displayName=Aa;var Xs="PopperArrow",fb={top:"bottom",right:"left",bottom:"top",left:"right"},Zs=M.forwardRef(function(t,n){const{__scopePopper:i,...a}=t,r=mb(Xs,i),o=fb[r.placedSide];return h.jsx("span",{ref:r.onArrowChange,style:{position:"absolute",left:r.arrowX,top:r.arrowY,[o]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[r.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[r.placedSide],visibility:r.shouldHideArrow?"hidden":void 0},children:h.jsx(db,{...a,ref:n,style:{...a.style,display:"block"}})})});Zs.displayName=Xs;function gb(e){return e!==null}var yb=e=>({name:"transformOrigin",options:e,fn(t){const{placement:n,rects:i,middlewareData:a}=t,o=a.arrow?.centerOffset!==0,s=o?0:e.arrowWidth,c=o?0:e.arrowHeight,[l,u]=Qs(n),d={start:"0%",center:"50%",end:"100%"}[u],p=(a.arrow?.x??0)+s/2,f=(a.arrow?.y??0)+c/2;let m="",y="";return l==="bottom"?(m=o?d:`${p}px`,y=`${-c}px`):l==="top"?(m=o?d:`${p}px`,y=`${i.floating.height+c}px`):l==="right"?(m=`${-c}px`,y=o?d:`${f}px`):l==="left"&&(m=`${i.floating.width+c}px`,y=o?d:`${f}px`),{data:{x:m,y}}}});function Qs(e){const[t,n="center"]=e.split("-");return[t,n]}var bb=Vs,vb=Ks,wb=Js,xb=Zs,[ai]=Cs("Tooltip",[Ws]),ri=Ws(),$s="TooltipProvider",Pb=700,Vi="tooltip.open",[Sb,Na]=ai($s),el=e=>{const{__scopeTooltip:t,delayDuration:n=Pb,skipDelayDuration:i=300,disableHoverableContent:a=!1,children:r}=e,o=M.useRef(!0),s=M.useRef(!1),c=M.useRef(0);return M.useEffect(()=>{const l=c.current;return()=>window.clearTimeout(l)},[]),h.jsx(Sb,{scope:t,isOpenDelayedRef:o,delayDuration:n,onOpen:M.useCallback(()=>{window.clearTimeout(c.current),o.current=!1},[]),onClose:M.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.current=!0,i)},[i]),isPointerInTransitRef:s,onPointerInTransitChange:M.useCallback(l=>{s.current=l},[]),disableHoverableContent:a,children:r})};el.displayName=$s;var sn="Tooltip",[Tb,fn]=ai(sn),tl=e=>{const{__scopeTooltip:t,children:n,open:i,defaultOpen:a,onOpenChange:r,disableHoverableContent:o,delayDuration:s}=e,c=Na(sn,e.__scopeTooltip),l=ri(t),[u,d]=M.useState(null),p=Yg(),f=M.useRef(0),m=o??c.disableHoverableContent,y=s??c.delayDuration,b=M.useRef(!1),[T,P]=Ig({prop:i,defaultProp:a??!1,onChange:w=>{w?(c.onOpen(),document.dispatchEvent(new CustomEvent(Vi))):c.onClose(),r?.(w)},caller:sn}),k=M.useMemo(()=>T?b.current?"delayed-open":"instant-open":"closed",[T]),v=M.useCallback(()=>{window.clearTimeout(f.current),f.current=0,b.current=!1,P(!0)},[P]),g=M.useCallback(()=>{window.clearTimeout(f.current),f.current=0,P(!1)},[P]),C=M.useCallback(()=>{window.clearTimeout(f.current),f.current=window.setTimeout(()=>{b.current=!0,P(!0),f.current=0},y)},[y,P]);return M.useEffect(()=>()=>{f.current&&(window.clearTimeout(f.current),f.current=0)},[]),h.jsx(bb,{...l,children:h.jsx(Tb,{scope:t,contentId:p,open:T,stateAttribute:k,trigger:u,onTriggerChange:d,onTriggerEnter:M.useCallback(()=>{c.isOpenDelayedRef.current?C():v()},[c.isOpenDelayedRef,C,v]),onTriggerLeave:M.useCallback(()=>{m?g():(window.clearTimeout(f.current),f.current=0)},[g,m]),onOpen:v,onClose:g,disableHoverableContent:m,children:n})})};tl.displayName=sn;var _i="TooltipTrigger",nl=M.forwardRef((e,t)=>{const{__scopeTooltip:n,...i}=e,a=fn(_i,n),r=Na(_i,n),o=ri(n),s=M.useRef(null),c=Ft(t,s,a.onTriggerChange),l=M.useRef(!1),u=M.useRef(!1),d=M.useCallback(()=>l.current=!1,[]);return M.useEffect(()=>()=>document.removeEventListener("pointerup",d),[d]),h.jsx(vb,{asChild:!0,...o,children:h.jsx(At.button,{"aria-describedby":a.open?a.contentId:void 0,"data-state":a.stateAttribute,...i,ref:c,onPointerMove:ht(e.onPointerMove,p=>{p.pointerType!=="touch"&&!u.current&&!r.isPointerInTransitRef.current&&(a.onTriggerEnter(),u.current=!0)}),onPointerLeave:ht(e.onPointerLeave,()=>{a.onTriggerLeave(),u.current=!1}),onPointerDown:ht(e.onPointerDown,()=>{a.open&&a.onClose(),l.current=!0,document.addEventListener("pointerup",d,{once:!0})}),onFocus:ht(e.onFocus,()=>{l.current||a.onOpen()}),onBlur:ht(e.onBlur,a.onClose),onClick:ht(e.onClick,a.onClose)})})});nl.displayName=_i;var Da="TooltipPortal",[kb,Cb]=ai(Da,{forceMount:void 0}),il=e=>{const{__scopeTooltip:t,forceMount:n,children:i,container:a}=e,r=fn(Da,t);return h.jsx(kb,{scope:t,forceMount:n,children:h.jsx(va,{present:n||r.open,children:h.jsx(Rs,{asChild:!0,container:a,children:i})})})};il.displayName=Da;var qt="TooltipContent",al=M.forwardRef((e,t)=>{const n=Cb(qt,e.__scopeTooltip),{forceMount:i=n.forceMount,side:a="top",...r}=e,o=fn(qt,e.__scopeTooltip);return h.jsx(va,{present:i||o.open,children:o.disableHoverableContent?h.jsx(rl,{side:a,...r,ref:t}):h.jsx(Ab,{side:a,...r,ref:t})})}),Ab=M.forwardRef((e,t)=>{const n=fn(qt,e.__scopeTooltip),i=Na(qt,e.__scopeTooltip),a=M.useRef(null),r=Ft(t,a),[o,s]=M.useState(null),{trigger:c,onClose:l}=n,u=a.current,{onPointerInTransitChange:d}=i,p=M.useCallback(()=>{s(null),d(!1)},[d]),f=M.useCallback((m,y)=>{const b=m.currentTarget,T={x:m.clientX,y:m.clientY},P=Ob(T,b.getBoundingClientRect()),k=Mb(T,P),v=Ib(y.getBoundingClientRect()),g=Gb([...k,...v]);s(g),d(!0)},[d]);return M.useEffect(()=>()=>p(),[p]),M.useEffect(()=>{if(c&&u){const m=b=>f(b,u),y=b=>f(b,c);return c.addEventListener("pointerleave",m),u.addEventListener("pointerleave",y),()=>{c.removeEventListener("pointerleave",m),u.removeEventListener("pointerleave",y)}}},[c,u,f,p]),M.useEffect(()=>{if(o){const m=y=>{const b=y.target,T={x:y.clientX,y:y.clientY},P=c?.contains(b)||u?.contains(b),k=!Lb(T,o);P?p():k&&(p(),l())};return document.addEventListener("pointermove",m),()=>document.removeEventListener("pointermove",m)}},[c,u,o,l,p]),h.jsx(rl,{...e,ref:r})}),[Nb,Db]=ai(sn,{isInside:!1}),Rb=Sg("TooltipContent"),rl=M.forwardRef((e,t)=>{const{__scopeTooltip:n,children:i,"aria-label":a,onEscapeKeyDown:r,onPointerDownOutside:o,...s}=e,c=fn(qt,n),l=ri(n),{onClose:u}=c;return M.useEffect(()=>(document.addEventListener(Vi,u),()=>document.removeEventListener(Vi,u)),[u]),M.useEffect(()=>{if(c.trigger){const d=p=>{p.target?.contains(c.trigger)&&u()};return window.addEventListener("scroll",d,{capture:!0}),()=>window.removeEventListener("scroll",d,{capture:!0})}},[c.trigger,u]),h.jsx(Ns,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:r,onPointerDownOutside:o,onFocusOutside:d=>d.preventDefault(),onDismiss:u,children:h.jsxs(wb,{"data-state":c.stateAttribute,...l,...s,ref:t,style:{...s.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[h.jsx(Rb,{children:i}),h.jsx(Nb,{scope:n,isInside:!0,children:h.jsx(Eg,{id:c.contentId,role:"tooltip",children:a||i})})]})})});al.displayName=qt;var ol="TooltipArrow",Eb=M.forwardRef((e,t)=>{const{__scopeTooltip:n,...i}=e,a=ri(n);return Db(ol,n).isInside?null:h.jsx(xb,{...a,...i,ref:t})});Eb.displayName=ol;function Ob(e,t){const n=Math.abs(t.top-e.y),i=Math.abs(t.bottom-e.y),a=Math.abs(t.right-e.x),r=Math.abs(t.left-e.x);switch(Math.min(n,i,a,r)){case r:return"left";case a:return"right";case n:return"top";case i:return"bottom";default:throw new Error("unreachable")}}function Mb(e,t,n=5){const i=[];switch(t){case"top":i.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case"bottom":i.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case"left":i.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case"right":i.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return i}function Ib(e){const{top:t,right:n,bottom:i,left:a}=e;return[{x:a,y:t},{x:n,y:t},{x:n,y:i},{x:a,y:i}]}function Lb(e,t){const{x:n,y:i}=e;let a=!1;for(let r=0,o=t.length-1;r<t.length;o=r++){const s=t[r],c=t[o],l=s.x,u=s.y,d=c.x,p=c.y;u>i!=p>i&&n<(d-l)*(i-u)/(p-u)+l&&(a=!a)}return a}function Gb(e){const t=e.slice();return t.sort((n,i)=>n.x<i.x?-1:n.x>i.x?1:n.y<i.y?-1:n.y>i.y?1:0),Fb(t)}function Fb(e){if(e.length<=1)return e.slice();const t=[];for(let i=0;i<e.length;i++){const a=e[i];for(;t.length>=2;){const r=t[t.length-1],o=t[t.length-2];if((r.x-o.x)*(a.y-o.y)>=(r.y-o.y)*(a.x-o.x))t.pop();else break}t.push(a)}t.pop();const n=[];for(let i=e.length-1;i>=0;i--){const a=e[i];for(;n.length>=2;){const r=n[n.length-1],o=n[n.length-2];if((r.x-o.x)*(a.y-o.y)>=(r.y-o.y)*(a.x-o.x))n.pop();else break}n.push(a)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var Bb=el,jb=tl,Ub=nl,zb=il,sl=al;const Yb=({delayDuration:e=0,...t})=>h.jsx(Bb,{delayDuration:e,...t}),Hb=jb,Wb=Ub,ll=M.forwardRef(({className:e,sideOffset:t=4,...n},i)=>h.jsx(zb,{children:h.jsx(sl,{ref:i,sideOffset:t,className:it("bg-popover text-popover-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 overflow-hidden rounded-md border px-3 py-1.5 text-sm shadow-md",e),...n})}));ll.displayName=sl.displayName;const ki=({text:e,children:t})=>h.jsx(Yb,{children:h.jsxs(Hb,{children:[h.jsx(Wb,{asChild:!0,children:h.jsx("span",{className:"inline-flex items-start gap-1",children:t&&t})}),h.jsx(ll,{className:"rounded-sm border-none bg-gray-200 p-1 text-xs",children:e&&h.jsx("p",{children:e})})]})}),qb=[{label:"15M",value:"15"},{label:"30M",value:"30"},{label:"1H",value:"60"},{label:"2H",value:"120"},{label:"4H",value:"240"},{label:"1D",value:"1D"}],Vb=[{labelKey:"Selector.periodAll",value:0},{labelKey:"Selector.periodLastYear",value:1},{labelKey:"Selector.periodLast3Years",value:3},{labelKey:"Selector.periodLast5Years",value:5},{labelKey:"Selector.periodLast15Years",value:15}],_b=[10,20,25,30,40],Kb=({control:e})=>{const{t}=ft();return h.jsxs("div",{className:"iccandle-scanner-advanced-options",children:[h.jsxs("div",{className:"iccandle-scanner-advanced-options__row",children:[h.jsxs("label",{className:"iccandle-scanner-advanced-options__label",children:[t("Selector.topResults"),h.jsx(ki,{text:t("Selector.topResultsTooltip")})]}),h.jsx(xi,{control:e,name:"top_k",render:({field:n})=>h.jsx("div",{className:"iccandle-scanner-advanced-options__native-select-wrap iccandle-scanner-advanced-options__native-select-wrap--small",children:h.jsx("select",{className:"iccandle-scanner-advanced-options__native-select",value:String(n.value??10),onChange:i=>n.onChange(Number(i.target.value)||0),children:_b.map(i=>h.jsx("option",{value:String(i),children:i},i))})})})]}),h.jsxs("div",{className:"iccandle-scanner-advanced-options__row",children:[h.jsxs("label",{className:"iccandle-scanner-advanced-options__label",children:[t("Common.timeframe"),h.jsx(ki,{text:t("Selector.timeframeTooltip")})]}),h.jsx(xi,{control:e,name:"timeframe",render:({field:n})=>h.jsx("div",{className:"iccandle-scanner-advanced-options__native-select-wrap iccandle-scanner-advanced-options__native-select-wrap--small",children:h.jsx("select",{className:"iccandle-scanner-advanced-options__native-select",value:n.value,onChange:i=>n.onChange(i.target.value),children:qb.map(i=>h.jsx("option",{value:i.value,children:i.label},i.value))})})})]}),h.jsxs("div",{className:"iccandle-scanner-advanced-options__row",children:[h.jsxs("label",{className:"iccandle-scanner-advanced-options__label",children:[t("Selector.period"),h.jsx(ki,{text:t("Selector.periodTooltip")})]}),h.jsx(xi,{control:e,name:"period",render:({field:n})=>h.jsx("div",{className:"iccandle-scanner-advanced-options__native-select-wrap iccandle-scanner-advanced-options__native-select-wrap--large",children:h.jsx("select",{className:"iccandle-scanner-advanced-options__native-select",value:String(n.value??0),onChange:i=>n.onChange(Number(i.target.value)||0),children:Vb.map(i=>h.jsx("option",{value:String(i.value),children:t(i.labelKey)},i.value))})})})]})]})},Rt={min:10,max:50,custom:[60,70,80,90,100]},rt=[{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"},{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"},{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"},{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"},{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"},{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"},{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"},{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"},{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"},{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"},{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"},{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"},{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"},{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"},{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"},{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"},{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"},{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"},{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"},{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"},{ticker:"XAU_USD",display_name:"XAUUSD",logo_urls:["https://cdn.iccandle.ai/web-assets/XAU.svg"],description:"Gold",type:"commodity",session:"1700-1700"},{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"},{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"},{ticker:"NAS100_USD",display_name:"NASDAQ100",logo_urls:["https://cdn.iccandle.ai/web-assets/NAS100.svg"],description:"NASDAQ 100",type:"indices",session:"1700-1700"},{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"},{ticker:"BTCUSDT",display_name:"BTCUSDT",logo_urls:["https://cdn.iccandle.ai/web-assets/BTC.svg"],description:"BTCUSDT",type:"crypto",session:"24x7"},{ticker:"ETHUSDT",display_name:"ETHUSDT",logo_urls:["https://cdn.iccandle.ai/web-assets/ETH.svg"],description:"ETHUSDT",type:"crypto",session:"24x7"},{ticker:"XRPUSDT",display_name:"XRPUSDT",logo_urls:["https://cdn.iccandle.ai/web-assets/XRP.svg"],description:"XRPUSDT",type:"crypto",session:"24x7"},{ticker:"SOLUSDT",display_name:"SOLUSDT",logo_urls:["https://cdn.iccandle.ai/web-assets/SOL.svg"],description:"SOLUSDT",type:"crypto",session:"24x7"},{ticker:"ADAUSDT",display_name:"ADAUSDT",logo_urls:["https://cdn.iccandle.ai/web-assets/ADA.svg"],description:"ADAUSDT",type:"crypto",session:"24x7"},{ticker:"AVAUSDT",display_name:"AVAUSDT",logo_urls:["https://cdn.iccandle.ai/web-assets/AVA.svg"],description:"AVAUSDT",type:"crypto",session:"24x7"},{ticker:"AVAXUSDT",display_name:"AVAXUSDT",logo_urls:["https://cdn.iccandle.ai/web-assets/AVAX.svg"],description:"AVAXUSDT",type:"crypto",session:"24x7"},{ticker:"BNBUSDT",display_name:"BNBUSDT",logo_urls:["https://cdn.iccandle.ai/web-assets/BNB.svg"],description:"BNBUSDT",type:"crypto",session:"24x7"},{ticker:"DOGEUSDT",display_name:"DOGEUSDT",logo_urls:["https://cdn.iccandle.ai/web-assets/DOGE.svg"],description:"DOGEUSDT",type:"crypto",session:"24x7"},{ticker:"DOTUSDT",display_name:"DOTUSDT",logo_urls:["https://cdn.iccandle.ai/web-assets/DOT.svg"],description:"DOTUSDT",type:"crypto",session:"24x7"},{ticker:"TRXUSDT",display_name:"TRXUSDT",logo_urls:["https://cdn.iccandle.ai/web-assets/TRX.svg"],description:"TRXUSDT",type:"crypto",session:"24x7"},{ticker:"AAPL",display_name:"AAPL",logo_urls:["https://cdn.iccandle.ai/web-assets/AAPL.svg"],description:"Apple Inc.",type:"stock",session:"24x7"},{ticker:"AMZN",display_name:"AMZN",logo_urls:["https://cdn.iccandle.ai/web-assets/AMZN.svg"],description:"Amazon.Com Inc",type:"stock",session:"24x7"},{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"},{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"},{ticker:"KO",display_name:"KO",logo_urls:["https://cdn.iccandle.ai/web-assets/KO.svg"],description:"Coca-Cola Company",type:"stock",session:"24x7"},{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"},{ticker:"MSFT",display_name:"MSFT",logo_urls:["https://cdn.iccandle.ai/web-assets/MSFT.svg"],description:"Microsoft Corp",type:"stock",session:"24x7"},{ticker:"NFLX",display_name:"NFLX",logo_urls:["https://cdn.iccandle.ai/web-assets/NFLX.svg"],description:"NetFlix Inc",type:"stock",session:"24x7"},{ticker:"NKE",display_name:"NKE",logo_urls:["https://cdn.iccandle.ai/web-assets/NKE.svg"],description:"Nike, Inc.",type:"stock",session:"24x7"},{ticker:"NVDA",display_name:"NVDA",logo_urls:["https://cdn.iccandle.ai/web-assets/NVDA.svg"],description:"Nvidia Corp",type:"stock",session:"24x7"},{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"},{ticker:"TSLA",display_name:"TSLA",logo_urls:["https://cdn.iccandle.ai/web-assets/TSLA.svg"],description:"Tesla, Inc. Common Stock",type:"stock",session:"24x7"},{ticker:"XAG_USD",display_name:"XAGUSD",logo_urls:["https://cdn.iccandle.ai/web-assets/XAG.svg"],description:"Silver",type:"commodity",session:"1700-1700"},{ticker:"XCU_USD",display_name:"XCUUSD",logo_urls:["https://cdn.iccandle.ai/web-assets/XCU.svg"],description:"Copper",type:"commodity",session:"1700-1700"}],Jb=({name:e})=>{const t=rt?.find(n=>n.ticker===e)?.logo_urls.map(n=>n)||[];return h.jsxs("div",{className:"iccandle-forexIcons",children:[t.length===1&&h.jsx("img",{src:t[0],alt:"forex icon",width:24,height:24,className:"iccandle-forexIcons__img iccandle-forexIcons__img--single"}),t.length===2&&h.jsxs(h.Fragment,{children:[h.jsx("img",{src:t[0],alt:"forex icon 1",width:18,height:18,className:"iccandle-forexIcons__img iccandle-forexIcons__img--left"}),h.jsx("img",{src:t[1],alt:"forex icon 2",width:18,height:18,className:"iccandle-forexIcons__img iccandle-forexIcons__img--right"})]})]})},Xb={all:"Common.all",forex:"Layout.helperBar.groupForex",crypto:"Layout.helperBar.groupCrypto",indices:"Layout.helperBar.groupIndices",commodity:"Layout.helperBar.groupCommodity",stock:"Layout.helperBar.groupStock"},cl=({searchTerm:e,onSearchChange:t,selectedType:n,onTypeChange:i,selectAll:a,onSelectAll:r,selectedSymbols:o,onSymbolChange:s,filteredSymbols:c})=>{const{t:l}=ft(),u=Object.values(o).filter(Boolean).length,d=u<=1?l("Pattern.symbolSelected",{count:u}):l("Pattern.symbolsSelected",{count:u});return h.jsxs("div",{className:"iccandle-scanner-symbol-search",children:[h.jsxs("div",{className:"iccandle-scanner-symbol-search__bar",children:[h.jsx(xo,{strokeWidth:.5,className:"iccandle-scanner-symbol-search__search-icon"}),h.jsx("input",{className:"iccandle-scanner-symbol-search__input",placeholder:l("Selector.searchSymbol"),value:e,onChange:p=>t(p.target.value.toUpperCase())}),h.jsxs("span",{className:"iccandle-scanner-symbol-search__count-badge",children:[h.jsx("span",{className:"iccandle-scanner-symbol-search__count-desktop",children:d}),h.jsx("span",{className:"iccandle-scanner-symbol-search__count-mobile",children:!u})]})]}),h.jsx("div",{className:"iccandle-scanner-symbol-search__types-wrap",children:h.jsx("div",{className:"iccandle-scanner-symbol-search__types-list",children:sf.map((p,f)=>h.jsx("button",{type:"button",className:it("iccandle-scanner-symbol-search__type-badge",n===p.value?"iccandle-scanner-symbol-search__type-badge--active":"iccandle-scanner-symbol-search__type-badge--inactive"),onClick:()=>i(p.value),children:h.jsx("span",{className:it("iccandle-scanner-symbol-search__type-label",n===p.value?"iccandle-scanner-symbol-search__type-label--active":"iccandle-scanner-symbol-search__type-label--inactive"),children:l(Xb[p.value]??"Common.all")})},f))})}),h.jsxs("div",{className:"iccandle-scanner-symbol-search__table-wrap",children:[h.jsxs("div",{className:"iccandle-scanner-symbol-search__table-head",children:[h.jsx("input",{type:"checkbox",className:"iccandle-scanner-symbol-search__checkbox",checked:a,onChange:p=>r(p.target.checked),"aria-label":l("Selector.selectAll")}),h.jsx("span",{className:"iccandle-scanner-symbol-search__symbol-title",children:l("Common.columnSymbol")}),h.jsx("span",{className:"iccandle-scanner-symbol-search__description-title",children:l("Common.columnDescription")})]}),h.jsxs("div",{className:"iccandle-scanner-symbol-search__list-container",children:[h.jsx("ul",{className:"iccandle-scanner-symbol-search__symbol-list",children:c?.map(p=>h.jsxs(D.Fragment,{children:[h.jsxs("li",{className:"iccandle-scanner-symbol-search__symbol-row",children:[h.jsx("input",{type:"checkbox",className:"iccandle-scanner-symbol-search__checkbox iccandle-scanner-symbol-search__checkbox--row",checked:!!o[p.ticker],onChange:f=>s(p.ticker,f.target.checked),"aria-label":l("Selector.selectSymbolAria",{symbol:p.ticker})}),h.jsx(Jb,{name:p.ticker}),h.jsx("span",{className:"iccandle-scanner-symbol-search__symbol-name",children:p.display_name})]}),h.jsx("hr",{className:"iccandle-scanner-symbol-search__row-divider"})]},p.ticker))}),h.jsx("ul",{className:"iccandle-scanner-symbol-search__description-list",children:c?.map(p=>h.jsxs(D.Fragment,{children:[h.jsxs("li",{className:"iccandle-scanner-symbol-search__description-row",children:[h.jsx("span",{className:"iccandle-scanner-symbol-search__description-text",children:p.description}),h.jsx("span",{className:"iccandle-scanner-symbol-search__type-text",children:p.type})]}),h.jsx("hr",{className:"iccandle-scanner-symbol-search__row-divider"})]},p.ticker))})]})]})]})},eo=["Selector.tabSymbols","Selector.tabAdvancedOptions"],Zb=({handleCloseDialog:e,timeframe:t,setResolution:n})=>{const{t:i}=ft(),[a,r]=D.useState(eo[0]),o=typeof window<"u"?JSON.parse(localStorage.getItem("search-filter")||"{}"):null,[s,c]=D.useState(""),[l,u]=D.useState("all"),[d,p]=D.useState(()=>o?.symbols?o.symbols.reduce((g,C)=>(g[C]=!0,g),{}):{}),f=rt?.filter(g=>{const C=g.display_name.toLowerCase().includes(s.toLowerCase()),w=l?l==="all"?!0:g.type===l:!0;return C&&w}),m=f?.length?f.every(g=>d[g.ticker]):!1,[y,b]=D.useState(m);D.useEffect(()=>{b(m)},[m]);const T=g=>{if(!f)return;const C=f.reduce((w,S)=>(w[S.ticker]=g,w),{});p(w=>({...w,...C})),b(g)},P=(g,C)=>{p(w=>({...w,[g]:C}))},k=Ps({defaultValues:{probability:o?.probability||0,top_k:o?.top_k||25,timeframe:t==="1"||t==="5"?"60":t||"60",period:o?.period||0}}),v=g=>{const C=Object.entries(d).filter(([L,z])=>z).map(([L])=>L),w=Array.from(new Set(rt.filter(L=>C.includes(L.ticker)).map(L=>L.type))),S=rt?.every(L=>d[L.ticker])??!1,N={...typeof g=="object"&&g!==null?g:{},symbols:C,symbolTypes:w,isAllSelected:S};localStorage.setItem("search-filter",JSON.stringify(N)),n(g?.timeframe),e()};return D.useEffect(()=>{y&&(f?.every(C=>d[C.ticker])||b(!1))},[d,f,y]),D.useEffect(()=>{const g=C=>{C.key==="Escape"&&e()};return window.addEventListener("keydown",g),()=>window.removeEventListener("keydown",g)},[e]),h.jsx("div",{className:"iccandle-scanner-option",role:"dialog","aria-modal":"true","aria-label":i("Selector.scannerOptions"),onPointerDown:g=>{g.target===g.currentTarget&&e()},children:h.jsxs("div",{className:"iccandle-scanner-option__card",onPointerDown:g=>g.stopPropagation(),children:[h.jsxs("div",{className:"iccandle-scanner-option__header",children:[h.jsx("div",{className:"iccandle-scanner-option__title",children:i("Selector.scannerOptions")}),h.jsx("button",{type:"button",onClick:e,className:"iccandle-scanner-option__close-btn","aria-label":i("Common.close"),children:h.jsx(hc,{size:20})})]}),h.jsx("div",{className:"iccandle-scanner-option__tabs",children:eo.map(g=>h.jsx("button",{type:"button",onClick:()=>r(g),className:it("iccandle-scanner-option__tab",a===g?"iccandle-scanner-option__tab--active":"iccandle-scanner-option__tab--inactive"),children:i(g)},g))}),h.jsxs("form",{className:"iccandle-scanner-option__form",onSubmit:k.handleSubmit(v),children:[h.jsxs("div",{className:"iccandle-scanner-option__body",children:[h.jsx("div",{className:it("iccandle-scanner-option__advanced-content",a!=="Selector.tabSymbols"?"iccandle-scanner-option__content--visible":"iccandle-scanner-option__content--hidden"),children:h.jsx(Kb,{control:k.control})}),h.jsx("div",{className:it(a==="Selector.tabSymbols"?"iccandle-scanner-option__content--visible":"iccandle-scanner-option__content--hidden"),children:h.jsx(cl,{searchTerm:s,onSearchChange:c,selectedType:l,onTypeChange:u,selectAll:y,onSelectAll:T,selectedSymbols:d,onSymbolChange:P,filteredSymbols:f})})]}),h.jsxs("div",{className:"iccandle-scanner-option__actions",children:[h.jsx("button",{type:"button",className:"iccandle-scanner-option__btn iccandle-scanner-option__btn--outline",onClick:e,children:i("Common.cancel")}),h.jsx("button",{type:"submit",className:"iccandle-scanner-option__btn iccandle-scanner-option__btn--primary",children:i("Selector.saveOptions")})]})]})]})})};function Qb(e,t){D.useEffect(()=>{const n=async({origin:i,data:a})=>{if(i!==Zn||typeof a!="string")return;const r=JSON.parse(a),o=JSON.parse(localStorage.getItem(Mi)||"[]"),s=e?.activeChart?.();await e?.headerReady(),r.length<o.length&&await new Promise(c=>{setTimeout(()=>{s?.clearMarks(2),c(!0)},150)}),localStorage.setItem(Mi,JSON.stringify(r)),s?.refreshMarks();try{if(t.current&&t.current.length>0&&(t.current.forEach(c=>{try{s?.removeEntity(c)}catch{}}),t.current=[]),r.length===0)return;for(const c of r)try{const l=await s?.createShape({time:Math.floor(c.timestamp/1e3)},{shape:"vertical_line",lock:!0,disableSelection:!0,overrides:{linestyle:2,linewidth:1}});l&&(s?.getShapeById(l)?.setSavingEnabled(!1),t.current.push(l))}catch{}}catch{}};return window.addEventListener("message",n),()=>window.removeEventListener("message",n)},[e,t])}function $b(e,t,n=1){if(t===0||!isFinite(t))return n;const i=e/t;return isFinite(i)?i:n}function to(e){if(e.length===0)return 0;const t=[...e].sort((i,a)=>i-a),n=Math.floor(t.length/2);return t.length%2!==0?t[n]:(t[n-1]+t[n])/2}function ev(e,t,n=[]){if(e.length===0)return[];const i=n.map(u=>Math.abs(u.c-u.o)),a=e.map(u=>Math.abs(u.c-u.o)),r=to(a),o=to(i),s=$b(o,r),c=e[0].o,l=t.c;return e.map(u=>{const d=(u.o-c)*s+l,p=(u.h-c)*s+l,f=(u.l-c)*s+l,m=(u.c-c)*s+l;return{o:d,h:Math.max(p,d,m),l:Math.min(f,d,m),c:m}})}const On=8,ul=4,Ki=6,Ji=5,dl=e=>{const t=new Date(e+On*60*60*1e3),n=t.getUTCDay(),i=t.getUTCHours();return n===0?!1:n===1?i>=Ki:n===6?i<ul:i!==Ji},hl=e=>{const t=new Date(e+On*60*60*1e3),n=t.getUTCDay(),i=t.getUTCHours();if(n===0||n===1&&i<Ki||n===6&&i>=ul){const a=(8-n)%7;return t.setUTCDate(t.getUTCDate()+a),t.setUTCHours(Ki,0,0,0),t.getTime()-On*60*60*1e3}return n>=2&&n<=5&&i===Ji?(t.setUTCHours(Ji+1,0,0,0),t.getTime()-On*60*60*1e3):e},tv=(e,t,n)=>{const i=Xe(t)*1e3,a=[];let r=e;for(let o=0;o<n;o++)r+=i,dl(r)||(r=hl(r)),a.push(r);return a},no=(e,t,n,i)=>{if(n<=0)return[];if(i==="24x7"){const r=Xe(t)*1e3;return Array.from({length:n},(o,s)=>e+(s+1)*r)}if(i==="1700-1700")return tv(e,t,n);const a=Xe(t)*1e3;return Array.from({length:n},(r,o)=>e+(o+1)*a)},nv=(e,t,n,i)=>{if(i==="24x7"){const r=Xe(n)*1e3;return Math.max(0,Math.floor((t-e)/r))}if(i==="1700-1700"){const r=Xe(n)*1e3;let o=0,s=e;for(;s<t;)s+=r,dl(s)||(s=hl(s)),s<=t&&o++;return o}const a=Xe(n)*1e3;return Math.max(0,Math.floor((t-e)/a))},io=e=>{let t;const n=new Set,i=(l,u)=>{const d=typeof l=="function"?l(t):l;if(!Object.is(d,t)){const p=t;t=u??(typeof d!="object"||d===null)?d:Object.assign({},t,d),n.forEach(f=>f(t,p))}},a=()=>t,s={setState:i,getState:a,getInitialState:()=>c,subscribe:l=>(n.add(l),()=>n.delete(l))},c=t=e(i,a,s);return s},iv=(e=>e?io(e):io),av=e=>e;function rv(e,t=av){const n=D.useSyncExternalStore(e.subscribe,D.useCallback(()=>t(e.getState()),[e,t]),D.useCallback(()=>t(e.getInitialState()),[e,t]));return D.useDebugValue(n),n}const ao=e=>{const t=iv(e),n=i=>rv(t,i);return Object.assign(n,t),n},pl=(e=>e?ao(e):ao);pl(e=>({patterns:[],setPatterns:t=>e({patterns:t}),addPattern:t=>e(n=>({patterns:[...n.patterns,t]})),removePattern:t=>e(n=>({patterns:n.patterns.filter(i=>i.id!==t)})),clearPatterns:()=>e({patterns:[]})}));const Ge=pl((e,t)=>({activeTab:"patterns",setActiveTab:n=>e({activeTab:n}),selectedPattern:null,setSelectedPattern:n=>e({selectedPattern:n}),playEndTimestamp:null,setPlayEndTimestamp:n=>e(()=>({playEndTimestamp:n})),getPlayEndTimestamp:()=>t().playEndTimestamp,targetCandles:[],setTargetCandles:n=>e({targetCandles:n}),gapCount:0,setGapCount:n=>e({gapCount:n})}));let Xi=null,Zi=!1,ml=!1;function ov(e){return typeof e=="function"&&typeof e.onReady!="function"}function sv(e){if(typeof e?.onReady!="function")throw new Error("withPlayChart: expected a TradingView datafeed object with onReady(). If you use a factory, call it first: withPlayChart(yourDataFeed(...)) or pass factory args: withPlayChart(yourDataFeed, arg1, arg2).")}function lv(e){return Xi=e,t=>{!Zi&&ml||e(t)}}function ro(e){sv(e);const t=e.subscribeBars?.bind(e);return t?Object.assign(Object.create(Object.getPrototypeOf(e)),e,{subscribeBars(n,i,a,r,o){return t(n,i,lv(a),r,o)}}):e}function cv(e,...t){if(ov(e)){if(t.length>0)return ro(e(...t));throw new Error("withPlayChart: received a datafeed factory. Call it before passing to TradingView: withPlayChart(yourDataFeed(...)) or pass factory arguments: withPlayChart(yourDataFeed, arg1, arg2).")}return ro(e)}function xt(e){ml=e}function oo(e){if(!Xi)return!1;Zi=!0;try{Xi(e)}finally{Zi=!1}return!0}let fl=[];const Ci=e=>{fl=e},uv=()=>fl,Yn=e=>e>1e11?e:e*1e3,gl=(e,t)=>{const n=Yn(e);return t.find(i=>Yn(i.time)===n)},Qi="Generated Candles - By iC Candle",$i="Generated Candles Background - By iC Candle",oi="revealed_count",yl={id:oi,name:"Revealed Count",type:"integer",defval:0,isHidden:!0,min:0},bl=e=>{const t=Math.max(0,Number(e(0))||0);return uv().slice(0,t)},vl=(e,t)=>!!gl(e,t),dv=({id:e,description:t,shortDescription:n,isHiddenStudy:i,bodyColors:a,wickColors:r,borderColors:o})=>({_metainfoVersion:51,id:e,description:t,shortDescription:n,isCustomIndicator:!0,is_hidden_study:i,is_price_study:!0,linkedToSeries:!0,format:{type:"price",precision:2},inputs:[yl],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:n,forceOverlay:!0}},styles:{},defaults:{styles:{},ohlcPlots:{plot_candle:{borderColor:o[0],color:a[0],drawBorder:!0,drawWick:!0,plottype:"ohlc_candles",visible:!0,wickColor:r[0]}},palettes:{palette_bar:{colors:{0:{color:a[0],width:1,style:0},1:{color:a[1],width:1,style:0}}},palette_wick:{colors:{0:{color:r[0],width:1,style:0},1:{color:r[1],width:1,style:0}}},palette_border:{colors:{0:{color:o[0],width:1,style:0},1:{color:o[1],width:1,style:0}}}},precision:2,inputs:{[oi]:0}}}),so=0,nn="#ffffff",ea=[Number.NaN,Number.NaN,Number.NaN,Number.NaN,Number.NaN,Number.NaN,Number.NaN],hv=e=>function(){this.init=function(t){this._context=t},this.main=function(t,n){this._context=t;const i=t.symbol.time,a=bl(n);return!Number.isFinite(i)||!a.length?[...ea]:vl(i,a)?e(t,a):[...ea]}},pv=()=>{const e={name:$i,metainfo:{_metainfoVersion:51,id:"Generated Candles Background - By iC Candle@tv-basicstudies-1",description:$i,shortDescription:"Generated Candles Background",isCustomIndicator:!0,is_hidden_study:!0,is_price_study:!0,linkedToSeries:!0,format:{type:"inherit"},inputs:[yl],palettes:{prediction_bar_palette:{colors:{0:{name:"Predicted Bar"}},valToIndex:{[so]:0}},prediction_mask_palette:{colors:{0:{name:"Predicted Mask"}},valToIndex:{0:0}}},plots:[{id:"bar",type:"bar_colorer",palette:"prediction_bar_palette"},{id:"mask_open",type:"ohlc_open",target:"mask_candle"},{id:"mask_high",type:"ohlc_high",target:"mask_candle"},{id:"mask_low",type:"ohlc_low",target:"mask_candle"},{id:"mask_close",type:"ohlc_close",target:"mask_candle"},{id:"mask_bar_color",type:"ohlc_colorer",palette:"prediction_mask_palette",target:"mask_candle"},{id:"mask_wick_color",type:"wick_colorer",palette:"prediction_mask_palette",target:"mask_candle"},{id:"mask_border_color",type:"border_colorer",palette:"prediction_mask_palette",target:"mask_candle"}],ohlcPlots:{mask_candle:{title:"Predicted Mask Candle",forceOverlay:!0}},defaults:{ohlcPlots:{mask_candle:{borderColor:nn,color:nn,drawBorder:!0,drawWick:!0,plottype:"ohlc_candles",visible:!0,wickColor:nn}},palettes:{prediction_bar_palette:{colors:{0:{color:nn,width:1,style:1}}},prediction_mask_palette:{colors:{0:{color:nn,width:1,style:0}}}},inputs:{[oi]:0}}},constructor:function(){this.init=function(n){this._context=n},this.main=function(n,i){this._context=n;const a=n.symbol.time,r=bl(i);if(!Number.isFinite(a)||!vl(a,r))return[Number.NaN,Number.NaN,Number.NaN,Number.NaN,Number.NaN,Number.NaN,Number.NaN,Number.NaN];const{open:o,high:s,low:c,close:l}=n.symbol,u=Math.max(s-c,Math.abs(l-o),Math.abs(l)*1e-4,.01);return[so,o,s+u,c-u,l,0,0,0]}}},t={name:Qi,metainfo:dv({id:"Generated Candles - By iC Candle@tv-basicstudies-1",description:Qi,shortDescription:"Generated Candles",isHiddenStudy:!1,bodyColors:["#00dfb9","#ffb84d"],wickColors:["#00dfb9","#ffb84d"],borderColors:["#00dfb9","#ffb84d"]}),constructor:hv((n,i)=>{const a=gl(n.symbol.time,i);if(!a)return[...ea];const o=a.close<a.open?1:0;return[a.open,a.high,a.low,a.close,o,o,o]})};return Promise.resolve([e,t])},lo=(e,t)=>{if(t)try{e.removeEntity(t)}catch{}},wl=(e,t)=>{try{e.getSeries().sendToBack()}catch{}const n=t.generatedCandlesStudyIdRef.current;n&&e.bringToFront([n])},mv=e=>{try{e.getSeries().bringToFront()}catch{}},xl=async(e,t)=>{lo(e,t.generatedCandlesStudyIdRef.current),lo(e,t.generatedCandlesBackgroundStudyIdRef.current),t.generatedCandlesStudyIdRef.current=null,t.generatedCandlesBackgroundStudyIdRef.current=null;const n=await e.createStudy($i,!0,!0);n&&(t.generatedCandlesBackgroundStudyIdRef.current=n);const i=await e.createStudy(Qi,!0,!0);i&&(t.generatedCandlesStudyIdRef.current=i),wl(e,t)},Ai=(e,t,n)=>{const i={id:oi,value:n};for(const a of[t.generatedCandlesBackgroundStudyIdRef,t.generatedCandlesStudyIdRef])if(a.current)try{e.getStudyById(a.current).setInputValues([i])}catch{}},fv=(e,t,n,i,a)=>{const r=t?.highlightBarsRef,o=Ge(u=>u.targetCandles),s=Ge(u=>u.gapCount),c=D.useRef(a),l=D.useRef(null);D.useEffect(()=>{let u=!1,d;const p=()=>{d&&(clearInterval(d),d=void 0)},f=v=>{if(!(!e||!t))try{Ai(e.activeChart(),t,v)}catch{}},m=(v,g,C=[])=>{if(!(!e||!a?.length)&&!(!v.length&&!C.length))try{const w=e.activeChart(),S=Wo(n),L=zt(o[0].timestamp,n)/1e3-(Pt*S+S*100);if(g>0&&v.length>0){const X=Yn(v[g-1].time)/1e3+Pt/3*S;w.setVisibleRange({from:L,to:X});return}const z=v[v.length-1]??C[C.length-1],G=(z?Yn(z.time):zt(o[o.length-1].timestamp,n))/1e3+Pt/3*S;w.setVisibleRange({from:L,to:G})}catch(w){console.error("Error setting visible range:",w)}},y=(v,g,C=[])=>{requestAnimationFrame(()=>{u||m(v,g,C)})},b=(v,g,C)=>new Promise(w=>{if(!v.length){w();return}let S=0,N=0;const L=()=>{p(),w()},z=()=>{if(u){L();return}if(S>=v.length){L();return}if(oo(v[S])){S++,N=0,C?.(S),S>=v.length&&L();return}N++,N>200&&L()};z(),S<v.length&&!u&&(d=setInterval(z,Math.max(g,1)))}),T=async()=>{if(!(!e||!t?.generatedCandlesStudyIdRef||!t?.generatedCandlesBackgroundStudyIdRef))try{await new Promise(v=>{e.onChartReady(async()=>{try{await xl(e.activeChart(),t)}catch(g){console.error("Failed to recreate generated candle studies:",g)}v()})})}catch{}},P=(v,g)=>{u||(xt(!1),l.current=a,r&&(r.current=v),m(v,v.length,g))},k=async(v,g=[])=>{if(!u&&(xt(!0),Ci(v),r&&(r.current=[]),await T(),!u)){if(m(v,0,g),g.length>0){for(const C of g){if(u)return;oo(C)}m(v,0,g)}if(await b(v,qu,C=>{f(C),y(v,C,g),r&&(r.current=v.slice(0,C))}),!u){if(e&&t)try{wl(e.activeChart(),t)}catch{}P(v,g)}}};return(async()=>{if(!u){if(a?.length&&o.length>0){if(l.current===a)return;const g=[...a].slice(-50-(s||0)),C=ev(g,o[o.length-1],o),S=rt.find(F=>F.ticker===i||F.display_name===i)?.session||"24x7",N=zt(o[o.length-1].timestamp,n),L=o[o.length-1].c,z=no(N,n,s||0,S),j=z.map(F=>({open:L,high:L,low:L,close:L,time:F})),G=no(s?z[z.length-1]:N,n,C.length,S),X=[...C.map((F,Q)=>({open:F.o,high:F.h,low:F.l,close:F.c,time:zt(G[Q],n)}))].sort((F,Q)=>F.time-Q.time);try{e?.onChartReady(()=>{k(X,j)})}catch{k(X,j)}}else{if(xt(!1),Ci([]),l.current=null,r&&(r.current=[]),e&&t)try{Ai(e.activeChart(),t,0)}catch{}try{e?.onChartReady(()=>{mv(e.activeChart())})}catch{}}c.current=a}})(),()=>{u=!0,p(),xt(!1)}},[a,o,s,r,t,n,i,e]),D.useEffect(()=>{if(a===null&&(Ci([]),r&&(r.current=[]),e&&t))try{Ai(e.activeChart(),t,0)}catch{}},[t,e,r,a])},gv=(e,t)=>{if(t.current){try{const n=e?.activeChart?.();if(n)try{n.removeEntity(t.current)}catch{}}catch{}t.current=null}},yv=e=>{try{localStorage.removeItem(la)}catch{}try{const t=e?.activeChart?.();if(!t)return;t.clearMarks(2),t.refreshMarks()}catch{}},bv=(e,t)=>{try{localStorage.setItem(la,JSON.stringify(t))}catch{}try{e?.activeChart?.()?.refreshMarks()}catch{}},vv=async(e,t)=>{if(!(!e||!Number.isFinite(t)||t<=0))try{await e.headerReady();const n=e.activeChart(),i=Math.floor(t/1e3),a=n.getVisibleRange();let r;if(a?.from!=null&&a?.to!=null&&a.to>a.from)r=(a.to-a.from)/2;else{const o=Xe(n.resolution());r=Pt*o/2}await n.setVisibleRange({from:i-r,to:i+r}),await new Promise(o=>{let s=!1;const c=()=>{s||(s=!0,o())};n.onDataLoaded().subscribe(null,c,!0),setTimeout(c,300)})}catch(n){console.error("Error centering visible range on event",n)}},wv=async(e,t,n)=>{if(!e||!Number.isFinite(t)||t<=0)return;await e?.headerReady();const i=e?.activeChart?.();if(i)try{if(n.current){try{i.removeEntity(n.current)}catch{}n.current=null}try{const a=Xe(i.resolution()),r=Math.floor(t/1e3),o=r-r%a,s=await i.createShape({time:o},{shape:"vertical_line",lock:!0,disableSelection:!0,overrides:{linestyle:2,linewidth:1}});s&&(i.getShapeById(s)?.setSavingEnabled(!1),n.current=s)}catch{}}catch{}},xv=async(e,t)=>{if(!(!e||!Number.isFinite(t)||t<=0))try{await e.headerReady();const n=e.activeChart(),i=Xe(n.resolution()),{data:a}=await n.exportData();if(!a?.length)return;const r=a[a.length-1][0],o=Math.floor(t/1e3);await n.setVisibleRange({from:r-Pt*i,to:o+Pt/3*i})}catch(n){console.error("Error expanding visible range for future event",n)}},Pv=async(e,t,n)=>{if(!e||!n||!Number.isFinite(t)||t<=0)return!1;try{await e.headerReady();const i=e.activeChart(),a=i.resolution(),r=Xe(a),o=Math.floor(t/1e3),s=o-o%r,{data:c}=await i.exportData();if(!c?.length)return!1;const u=c[c.length-1][0],d=i.symbol(),p=rt.find(y=>y.ticker===d||y.display_name===d)?.session||"24x7";if(n.clearSelectedCandles(),Ge.getState().setPlayEndTimestamp(null),xt(!1),s>u){const y=zt(u,a),b=zt(s,a),T=nv(y,b,a,p);Ge.getState().setGapCount(T);const P=c.slice(-50).map(k=>({o:k[1],h:k[2],l:k[3],c:k[4],timestamp:k[0]}));return P.length===0||n.setTargetCandles(P),!0}Ge.getState().setGapCount(0);let f=c.findIndex(y=>y[0]===s);if(f===-1){let y=Number.POSITIVE_INFINITY;for(let b=0;b<c.length;b++){const T=Math.abs(c[b][0]-s);T<y&&(y=T,f=b)}}if(f<0)return!1;const m=c.slice(Math.max(0,f-49),f+1).map(y=>({o:y[1],h:y[2],l:y[3],c:y[4],timestamp:y[0]}));return m.length===0||n.setTargetCandles(m),!1}catch(i){return console.error("Error preparing event target candles",i),!1}},Pl=e=>{if(e)try{e.onChartReady(()=>{try{e.activeChart().resetData(),e.resetCache?.()}catch(t){console.error("Error resetting chart data",t)}})}catch(t){console.error("Error resetting chart data",t)}},Ni=(e,t)=>{t([]),Ge.getState().setPlayEndTimestamp(null),xt(!1),Pl(e)},Sl=(e,t)=>{if(e)try{const n=e.activeChart?.();if(!n)return;if(t.current){try{n.removeEntity(t.current)}catch{}t.current=null}n.getAllShapes().filter(a=>a.name==="date_range").forEach(a=>{try{n.removeEntity(a.id)}catch{}})}catch{}},Sv=e=>cf[e]||e,Tv=e=>{if(!e)return null;const t=Object.keys(e)[0],n=Number(t);return Number.isFinite(n)&&n>0?n:null},kv=async(e,t,n,i,a)=>{if(!e)return;const{end_timestamp:r,symbol:o,timeframe:s}=t,c=Tv(a);if(!(!o||!s||!Number.isFinite(r)||r<=0||c==null))try{await e.headerReady();const l=Sv(s),u=Xe(l);i?.clearSelectedCandles(),Ge.getState().setPlayEndTimestamp(null),xt(!1),i&&(i.applyingPatternRef.current=!0);try{await new Promise(C=>{e.setSymbol(o,l,()=>C())});const d=e.activeChart();Sl(e,n);const p=r-(c-1)*u;try{await d.setVisibleRange({from:p-(Pt*u+u*c+u*100),to:r+Pt/3*u})}catch(C){console.error("Error setting visible range for pattern",C)}const{data:f}=await d.exportData();let m=f.findIndex(C=>C[0]===r);m===-1&&(m=f.length-1);const y=Math.max(0,m-c+1),b=f.slice(y,m+1),T=b[0]?.[0]??r,P=b[b.length-1]?.[0]??r,k=t.pattern?.trim()||"",v=Fi(),g=await d.createMultipointShape([{time:T},{time:P}],{...v,overrides:{...v.overrides,title:k||"Pattern range"}});if(g){const C=d.getShapeById(g);C&&(k&&C.setProperties({customText:{visible:!0,text:k,color:"#ffffff",fontsize:14,bold:!0}}),C.setSavingEnabled(!1)),n.current=g,i&&(i.lastEntity.current=g)}if(i&&b.length>0){const C=b.map(S=>({o:S[1],h:S[2],l:S[3],c:S[4],timestamp:S[0]})),w=C.slice(-50);i.setSymbol(o),i.setResolution(l),i.setTimeframe(l),i.setWindowSize(C.length),i.setCandles(C),i.setTargetCandles(w),i.setHasActiveShape(!0)}}finally{i&&setTimeout(()=>{i.applyingPatternRef.current=!1},600)}}catch(l){console.error("Error drawing pattern date range",l),i&&setTimeout(()=>{i.applyingPatternRef.current=!1},600)}};function Cv(e,t,n,i,a,r){const o=D.useRef(n),s=D.useRef(e),c=D.useRef(t),l=D.useRef(i),u=D.useRef(a),d=D.useRef(r),p=D.useRef(null),f=D.useRef(null),m=D.useRef(null);D.useEffect(()=>{o.current=n},[n]),D.useEffect(()=>{s.current=e},[e]),D.useEffect(()=>{c.current=t},[t]),D.useEffect(()=>{l.current=i},[i]),D.useEffect(()=>{u.current=a},[a]),D.useEffect(()=>{d.current=r},[r]),D.useEffect(()=>{const y=({origin:b,data:T})=>{if(b!==Zn)return;let P;try{P=typeof T=="string"?JSON.parse(T):T}catch{return}if(console.log("parsed",P),"type"in P&&P.type==="play-chart"){const v=P.payload.candles;c.current(v);const g=o.current;g!=null&&Number.isFinite(g)&&Ge.getState().setPlayEndTimestamp(g),v===null&&(Ge.getState().setPlayEndTimestamp(null),xt(!1),Pl(s.current))}else if("type"in P&&P.type==="close-result")c.current([]),Ge.getState().setPlayEndTimestamp(null),u.current?.();else if("type"in P&&P.type==="loading"){const k=P;l.current(k.payload)}else if("type"in P&&P.type==="sign-in-success"){const k=P;localStorage.setItem("iccandle_token",k.payload.id_token||"")}else if("action"in P&&P.action==="eventClicked"){const v=P.data?.event;if(!v?.timestamp)return;m.current=v.timestamp,bv(s.current,v),(async()=>(await Pv(s.current,v.timestamp,d.current)?await xv(s.current,v.timestamp):await vv(s.current,v.timestamp),await wv(s.current,v.timestamp,p)))()}else if("action"in P&&P.action==="replay"){const k=P.data;if(!k)return;if(!k.isReplay){Ni(s.current,c.current);return}const v=(k.selectedCandles??[]).map(C=>({o:C.o,h:C.h,l:C.l,c:C.c,timestamp:C.timestamp}));if(v.length===0)return;c.current(v);const g=k.playEndTimestamp??(m.current!=null?Math.floor(m.current/1e3):o.current);g!=null&&Number.isFinite(g)&&Ge.getState().setPlayEndTimestamp(g)}else if("action"in P&&P.action==="back")gv(s.current,p),yv(s.current),Ni(s.current,c.current),m.current=null,Ge.getState().setGapCount(0),d.current?.setTargetCandles([]);else if("action"in P&&P.action==="back-to-similar-events")Ni(s.current,c.current);else if("type"in P&&(P.type==="pattern_selected"||P.type==="custom_pattern_selected")){console.log("pattern_selected",P);const k=P.pattern,v=k?.compared_pattern;if(!v)return;console.log("working 1",k),kv(s.current,v,f,d.current,k?.results?.matches_by_window)}else if("type"in P&&(P.type==="clear_pattern_selected"||P.type==="clear_custom_pattern_selected")){Sl(s.current,f);const k=d.current;k&&(k.lastEntity.current=null,k.setHasActiveShape(!1),k.setCandles([]),k.setTargetCandles([]))}};return window.addEventListener("message",y),()=>window.removeEventListener("message",y)},[])}const Av=({patternName:e,onPatternNameChange:t,onNext:n,onCancel:i})=>{const{t:a}=ft();return h.jsxs("div",{className:"iccandle-pattern-alert-name",children:[h.jsxs("div",{className:"iccandle-pattern-alert-name__header",children:[h.jsxs("div",{className:"iccandle-pattern-alert-name__title-row",children:[h.jsxs("h2",{className:"iccandle-pattern-alert-name__title",children:[h.jsx(qo,{size:20,className:"iccandle-pattern-alert-name__title-icon"}),a("Pattern.addToPatternTracker")]}),h.jsx("button",{type:"button",className:"iccandle-pattern-alert-name__close-btn",onClick:i,"aria-label":a("Common.close"),children:h.jsx(Vo,{size:20})})]}),h.jsx("p",{className:"iccandle-pattern-alert-name__description",children:a("Pattern.addToPatternTrackerDescription")})]}),h.jsxs("div",{className:"iccandle-pattern-alert-name__content",children:[h.jsx(ed,{size:64,className:"iccandle-pattern-alert-name__bell-icon"}),h.jsx("div",{className:"iccandle-pattern-alert-name__form",children:h.jsxs("div",{className:"iccandle-pattern-alert-name__field",children:[h.jsx("label",{htmlFor:"patternName",className:"iccandle-pattern-alert-name__label",children:a("Pattern.patternName")}),h.jsx("input",{id:"patternName",className:"iccandle-pattern-alert-name__input",placeholder:a("Pattern.patternNamePlaceholder"),value:e,maxLength:20,minLength:5,onChange:r=>t(r.target.value.slice(0,20))}),e.length===20&&h.jsx("p",{className:"iccandle-pattern-alert-name__error",children:a("Pattern.patternNameMaxChars")}),e.trim().length>0&&e.trim().length<5&&h.jsx("p",{className:"iccandle-pattern-alert-name__error",children:a("Pattern.patternNameMinChars")})]})})]}),h.jsxs("div",{className:"iccandle-pattern-alert-name__footer-wrap",children:[h.jsx("hr",{className:"iccandle-pattern-alert-name__divider"}),h.jsxs("div",{className:"iccandle-pattern-alert-name__footer",children:[h.jsx("button",{type:"button",className:"iccandle-pattern-alert-name__btn iccandle-pattern-alert-name__btn--outline",onClick:i,children:a("Common.cancel")}),h.jsx("button",{type:"submit",className:"iccandle-pattern-alert-name__btn iccandle-pattern-alert-name__btn--primary",onClick:n,disabled:e.trim().length<5,children:a("Common.next")})]})]})]})},Nv=rg;M.createContext({});M.createContext({});const Dv=[{name:"All",value:"all"},{name:"Minutes",value:"minutes"},{name:"Hourly",value:"hourly"},{name:"Daily",value:"daily"}],Tl=[{value:"M15",label:"M15",description:"15 Minutes",type:"minutes"},{value:"M30",label:"M30",description:"30 Minutes",type:"minutes"},{value:"H1",label:"H1",description:"1 Hour",type:"hourly"},{value:"H2",label:"H2",description:"2 Hours",type:"hourly"},{value:"H4",label:"H4",description:"4 Hours",type:"hourly"},{value:"D",label:"D",description:"Daily",type:"daily"}],Rv={all:"Common.all",minutes:"Selector.timeframeTypeMinutes",hourly:"Common.hourly",daily:"Common.daily"},Ev=({searchTerm:e,onSearchChange:t,selectedType:n,onTypeChange:i,selectAll:a,onSelectAll:r,selectedTimeframes:o,onTimeframeChange:s,filteredTimeframes:c})=>{const{t:l}=ft(),u=Object.values(o).filter(Boolean).length,d=c??Tl,p=u<=1?l("Pattern.timeframeSelected",{count:u}):l("Pattern.timeframesSelected",{count:u}),f=(m,y)=>{const b=`Pattern.timeframeOptions.${m}.description`,T=l(b);return T===b?y:T};return h.jsxs("div",{className:"iccandle-scanner-timeframe-search",children:[h.jsxs("div",{className:"iccandle-scanner-timeframe-search__bar",children:[h.jsx(xo,{strokeWidth:.5,className:"iccandle-scanner-timeframe-search__search-icon"}),h.jsx("input",{className:"iccandle-scanner-timeframe-search__input",placeholder:l("Selector.searchTimeframe"),value:e,onChange:m=>t(m.target.value.toUpperCase())}),h.jsxs("span",{className:"iccandle-scanner-timeframe-search__count-badge",children:[h.jsx("span",{className:"iccandle-scanner-timeframe-search__count-desktop",children:p}),h.jsx("span",{className:"iccandle-scanner-timeframe-search__count-mobile",children:!u})]})]}),h.jsx("div",{className:"iccandle-scanner-timeframe-search__types-wrap",children:h.jsx("div",{className:"iccandle-scanner-timeframe-search__types-list",children:Dv.map(m=>h.jsx("button",{type:"button",className:it("iccandle-scanner-timeframe-search__type-badge",n===m.value?"iccandle-scanner-timeframe-search__type-badge--active":"iccandle-scanner-timeframe-search__type-badge--inactive"),onClick:()=>i(m.value),children:h.jsx("span",{className:it("iccandle-scanner-timeframe-search__type-label",n===m.value?"iccandle-scanner-timeframe-search__type-label--active":"iccandle-scanner-timeframe-search__type-label--inactive"),children:l(Rv[m.value]??"Common.all")})},m.value))})}),h.jsxs("div",{className:"iccandle-scanner-timeframe-search__table-wrap",children:[h.jsxs("div",{className:"iccandle-scanner-timeframe-search__table-head",children:[h.jsx("input",{type:"checkbox",className:"iccandle-scanner-timeframe-search__checkbox",checked:a,onChange:m=>r(m.target.checked),"aria-label":l("Selector.selectAllTimeframes")}),h.jsx("span",{className:"iccandle-scanner-timeframe-search__timeframe-title",children:l("Common.columnTimeframe")}),h.jsx("span",{className:"iccandle-scanner-timeframe-search__description-title",children:l("Common.columnDescription")})]}),h.jsxs("div",{className:"iccandle-scanner-timeframe-search__list-container",children:[h.jsx("ul",{className:"iccandle-scanner-timeframe-search__timeframe-list",children:d.map(m=>h.jsxs(D.Fragment,{children:[h.jsxs("li",{className:"iccandle-scanner-timeframe-search__timeframe-row",children:[h.jsx("input",{type:"checkbox",className:"iccandle-scanner-timeframe-search__checkbox iccandle-scanner-timeframe-search__checkbox--row",checked:!!o[m.value],onChange:y=>s(m.value,y.target.checked),"aria-label":l("Selector.selectTimeframeAria",{label:m.label})}),h.jsx("span",{className:"iccandle-scanner-timeframe-search__timeframe-name",children:m.label})]}),h.jsx("hr",{className:"iccandle-scanner-timeframe-search__row-divider"})]},m.value))}),h.jsx("ul",{className:"iccandle-scanner-timeframe-search__description-list",children:d.map(m=>h.jsxs(D.Fragment,{children:[h.jsx("li",{className:"iccandle-scanner-timeframe-search__description-row",children:h.jsx("span",{className:"iccandle-scanner-timeframe-search__description-text",children:f(m.value,m.description)})}),h.jsx("hr",{className:"iccandle-scanner-timeframe-search__row-divider"})]},m.value))})]})]})]})},Ov=({form:e})=>{const[t,n]=D.useState(""),[i,a]=D.useState("all"),r=e.watch("timeframes"),o=D.useMemo(()=>Tl.filter(p=>{const f=p.label.toLowerCase().includes(t.toLowerCase())||p.description.toLowerCase().includes(t.toLowerCase()),m=i==="all"?!0:p.type===i;return f&&m}),[t,i]),s=D.useMemo(()=>r.reduce((p,f)=>(p[f]=!0,p),{}),[r]),c=o.length?o.every(p=>s[p.value]):!1,l=p=>{e.setValue("timeframes",Object.entries(p).filter(([,f])=>f).map(([f])=>f),{shouldDirty:!0})},u=p=>{const f={...s};o.forEach(m=>{f[m.value]=p}),l(f)},d=(p,f)=>{l({...s,[p]:f})};return h.jsx("div",{className:"iccandle-timeframes-tab",children:h.jsx(Ev,{searchTerm:t,onSearchChange:n,selectedType:i,onTypeChange:a,selectAll:c,onSelectAll:u,selectedTimeframes:s,onTimeframeChange:d,filteredTimeframes:o})})},Mv=({form:e})=>{const[t,n]=D.useState(""),[i,a]=D.useState("all"),r=e.watch("symbols"),o=D.useMemo(()=>r.reduce((p,f)=>(p[f.symbol]=!0,p),{}),[r]),s=rt.filter(p=>{const f=p.display_name.toLowerCase().includes(t.toLowerCase()),m=i==="all"?!0:p.type===i;return f&&m}),c=s.length?s.every(p=>o[p.ticker]):!1,l=p=>{e.setValue("symbols",Object.entries(p).filter(([,f])=>f).map(([f])=>{const m=rt.find(y=>y.ticker===f);return{symbol:f,type:m?.type??"forex"}}),{shouldDirty:!0})},u=p=>{const f={...o};s.forEach(m=>{f[m.ticker]=p}),l(f)},d=(p,f)=>{l({...o,[p]:f})};return h.jsx(cl,{searchTerm:t,onSearchChange:n,selectedType:i,onTypeChange:a,selectAll:c,onSelectAll:u,selectedSymbols:o,onSymbolChange:d,filteredSymbols:s})},Ra=[{value:"new_york",label:"New York Session",timezone:"America/New_York",start:"09:30",end:"16:00"},{value:"london",label:"London Session",timezone:"Europe/London",start:"08:00",end:"16:30"},{value:"tokyo",label:"Tokyo Session",timezone:"Asia/Tokyo",start:"09:00",end:"18:00"},{value:"sydney",label:"Sydney Session",timezone:"Australia/Sydney",start:"09:00",end:"18:00"}],co=[{value:"all_time",label:"All time"},...Ra.map(e=>({value:e.value,label:e.label})),{value:"customize",label:"Customize"}],Iv=e=>{const t=e.match(/GMT([+-])(\d{1,2})(?::?(\d{2}))?/);if(!t)return 0;const n=t[1]==="-"?-1:1,i=Number(t[2]),a=Number(t[3]??"0");return n*(i*60+a)},uo=(e,t)=>{const i=new Intl.DateTimeFormat("en-US",{timeZone:t,timeZoneName:"shortOffset",hour:"2-digit"}).formatToParts(e).find(a=>a.type==="timeZoneName")?.value??"GMT+0";return Iv(i)},ho=(e,t,n)=>{const[i,a]=e.split(":").map(Number),r=new Date,o=Date.UTC(r.getUTCFullYear(),r.getUTCMonth(),r.getUTCDate(),i,a,0),s=uo(new Date(o),t);let c=o-s*6e4;const l=uo(new Date(c),t);return c=o-l*6e4,new Intl.DateTimeFormat("en-GB",{timeZone:n,hour12:!1,hour:"2-digit",minute:"2-digit"}).format(new Date(c))},Hn=(e,t)=>{const n=Ra.find(i=>i.value===e);return n?{start_time:ho(n.start,n.timezone,t),end_time:ho(n.end,n.timezone,t),timezone:t}:null},Lv=(e,t)=>{if(!e)return"all_time";const n=e.timezone||t,i=!!(e.start_time&&e.end_time);if(e.preset_session){if(e.preset_session==="all_time")return"all_time";if(e.preset_session==="customize")return"customize";const r=Hn(e.preset_session,n);if(r&&r.start_time===e.start_time&&r.end_time===e.end_time)return e.preset_session}if(!i)return"customize";const a=Ra.find(r=>{const o=Hn(r.value,n);return o&&o.start_time===e.start_time&&o.end_time===e.end_time});return a?a.value:"customize"},Gv=e=>{const t=Intl,n=typeof t.supportedValuesOf=="function"?t.supportedValuesOf("timeZone")??[]:[],i=e||"UTC";return(n.length?n:[i]).filter(Boolean)},Fv={all_time:"TimeConfig.allTime",new_york:"TimeConfig.newYorkSession",london:"TimeConfig.londonSession",tokyo:"TimeConfig.tokyoSession",sydney:"TimeConfig.sydneySession",customize:"TimeConfig.customize"},Bv=(e,t)=>{const n=t.trim().toLowerCase();return n?e.filter(i=>i.toLowerCase().includes(n)):e},jv=({timeconfig:e,onTimeConfigChange:t,containerClassName:n=""})=>{const{t:i}=ft(),[a,r]=D.useState(!1),[o,s]=D.useState(!1),[c,l]=D.useState(""),[u,d]=D.useState(""),p=D.useRef(null),f=D.useRef(null),m=Intl.DateTimeFormat().resolvedOptions().timeZone,y=D.useMemo(()=>Lv(e,m),[e,m]),b=N=>i(Fv[N]),T=e?.timezone?.trim()||m||"UTC",P=y==="all_time"?i("TimeConfig.yourTimezone"):T,k=D.useMemo(()=>Gv(m),[m]),v=D.useMemo(()=>{const N=c.trim().toLowerCase();return N?co.filter(L=>b(L.value).toLowerCase().includes(N)||L.value.toLowerCase().includes(N)):co},[c,i]),g=D.useMemo(()=>Bv(k,u),[k,u]),C=(N,L)=>{t({...e||{timezone:m},[N]:L,preset_session:"customize"},{shouldDirty:!0})},w=N=>{if(s(!1),l(""),N==="all_time"){e&&t(void 0,{shouldDirty:!0}),r(!1);return}if(N==="customize"){e?e.preset_session!=="customize"&&t({...e,preset_session:"customize"},{shouldDirty:!0}):t({start_time:"08:00",end_time:"23:00",timezone:m,preset_session:"customize"},{shouldDirty:!0});return}const L=Hn(N,e?.timezone||m);L&&t({...L,preset_session:N},{shouldDirty:!0})};D.useEffect(()=>{!e||y==="all_time"||e.timezone||t({...e,timezone:m},{shouldDirty:!1})},[e,y,t,m]),D.useEffect(()=>{if(!o&&!a)return;const N=L=>{const z=L.target;o&&p.current&&!p.current.contains(z)&&(s(!1),l("")),a&&f.current&&!f.current.contains(z)&&(r(!1),d(""))};return document.addEventListener("mousedown",N),()=>document.removeEventListener("mousedown",N)},[o,a]);const S=N=>{if(y!=="customize")return;const L=N.currentTarget;try{L.showPicker?.()}catch{}};return h.jsxs("div",{className:`iccandle-time-config-section ${n}`.trim(),children:[h.jsxs("div",{className:"iccandle-time-config-section__header",children:[h.jsx("h3",{className:"iccandle-time-config-section__title",children:i("TimeConfig.title")}),h.jsx("p",{className:"iccandle-time-config-section__description",children:i("TimeConfig.description")})]}),h.jsxs("div",{className:"iccandle-time-config-section__fields",children:[h.jsxs("div",{className:"iccandle-time-config-section__field",children:[h.jsx("label",{className:"iccandle-time-config-section__label",children:i("TimeConfig.startTime")}),h.jsx("input",{type:"time",disabled:y!=="customize",value:e?.start_time??"",onChange:N=>C("start_time",N.target.value),onClick:S,className:"iccandle-time-config-section__input"})]}),h.jsxs("div",{className:"iccandle-time-config-section__field",children:[h.jsx("label",{className:"iccandle-time-config-section__label",children:i("TimeConfig.endTime")}),h.jsx("input",{type:"time",disabled:y!=="customize",value:e?.end_time??"",onChange:N=>C("end_time",N.target.value),onClick:S,className:"iccandle-time-config-section__input"})]}),h.jsxs("div",{className:"iccandle-time-config-section__field",children:[h.jsx("label",{className:"iccandle-time-config-section__label",children:i("TimeConfig.session")}),h.jsxs("div",{className:`iccandle-time-config-section__select-wrap${o?" iccandle-time-config-section__select-wrap--open":""}`,ref:p,children:[h.jsx("button",{type:"button",className:"iccandle-time-config-section__select-btn",onClick:()=>s(N=>{const L=!N;return L?(r(!1),d("")):l(""),L}),children:h.jsx("span",{className:"iccandle-time-config-section__select-label",children:b(y)||i("TimeConfig.selectSession")})}),o&&h.jsxs("div",{className:"iccandle-time-config-section__dropdown",children:[h.jsx("div",{className:"iccandle-time-config-section__dropdown-search",children:h.jsx("input",{type:"text",className:"iccandle-time-config-section__dropdown-search-input",placeholder:i("TimeConfig.searchSession"),value:c,onChange:N=>l(N.target.value),autoFocus:!0})}),h.jsxs("ul",{className:"iccandle-time-config-section__dropdown-list",role:"listbox",children:[h.jsx("li",{className:"iccandle-time-config-section__dropdown-group-label","aria-hidden":"true",children:i("TimeConfig.sessionsHeading")}),v.length===0?h.jsx("li",{className:"iccandle-time-config-section__dropdown-empty",children:i("TimeConfig.noSessionFound")}):v.map(N=>h.jsx("li",{children:h.jsxs("button",{type:"button",role:"option","aria-selected":y===N.value,className:`iccandle-time-config-section__dropdown-item${y===N.value?" iccandle-time-config-section__dropdown-item--selected":""}`,onClick:()=>w(N.value),children:[h.jsx(tr,{className:`iccandle-time-config-section__check${y===N.value?" iccandle-time-config-section__check--visible":""}`}),b(N.value)]})},N.value))]})]})]})]})]}),h.jsxs("div",{className:"iccandle-time-config-section__timezone",children:[h.jsx("label",{className:"iccandle-time-config-section__label",children:i("TimeConfig.timezone")}),h.jsxs("div",{className:`iccandle-time-config-section__select-wrap${a?" iccandle-time-config-section__select-wrap--open":""}`,ref:f,children:[h.jsx("button",{type:"button",className:"iccandle-time-config-section__select-btn",disabled:y==="all_time",onClick:()=>r(N=>{const L=!N;return L?(s(!1),l("")):d(""),L}),children:h.jsx("span",{className:"iccandle-time-config-section__select-label",children:P})}),a&&h.jsxs("div",{className:"iccandle-time-config-section__dropdown",children:[h.jsxs("div",{className:"iccandle-time-config-section__dropdown-header",children:[h.jsx("p",{className:"iccandle-time-config-section__dropdown-title",children:i("TimeConfig.selectTimezone")}),h.jsx("p",{className:"iccandle-time-config-section__dropdown-subtitle",children:i("TimeConfig.selectTimezoneHint")})]}),h.jsx("div",{className:"iccandle-time-config-section__dropdown-search",children:h.jsx("input",{type:"text",className:"iccandle-time-config-section__dropdown-search-input",placeholder:i("TimeConfig.searchTimezone"),value:u,onChange:N=>d(N.target.value),autoFocus:!0})}),h.jsxs("ul",{className:"iccandle-time-config-section__dropdown-list",role:"listbox",children:[h.jsx("li",{className:"iccandle-time-config-section__dropdown-group-label","aria-hidden":"true",children:i("TimeConfig.timezonesHeading")}),g.length===0?h.jsx("li",{className:"iccandle-time-config-section__dropdown-empty",children:i("TimeConfig.noTimezoneFound")}):g.map(N=>h.jsx("li",{children:h.jsxs("button",{type:"button",role:"option","aria-selected":T===N,className:`iccandle-time-config-section__dropdown-item${T===N?" iccandle-time-config-section__dropdown-item--selected":""}`,onClick:()=>{const L=N;if(y!=="all_time"&&y!=="customize"){const z=Hn(y,L);z&&t({...z,preset_session:y},{shouldDirty:!0})}else t({...e||{},timezone:L},{shouldDirty:!0});r(!1),d("")},children:[h.jsx(tr,{className:`iccandle-time-config-section__check${T===N?" iccandle-time-config-section__check--visible":""}`}),N]})},N))]})]})]})]})]})},Uv=({form:e,onBack:t,onCancel:n,onSubscribe:i,isSubscribing:a,errorMessage:r,formRef:o})=>{const{t:s}=ft(),[c,l]=D.useState(1),[u,d]=D.useState("timeframes"),p=Rn({control:e.control,name:"timeframes"}),f=Rn({control:e.control,name:"symbols"}),m=Rn({control:e.control,name:"timeconfig"}),y=c===1?e.formState.errors.timeframes?.message:c===2?e.formState.errors.symbols?.message:r;D.useEffect(()=>{(p?.length??0)>0&&e.clearErrors("timeframes")},[p,e]),D.useEffect(()=>{(f?.length??0)>0&&e.clearErrors("symbols")},[f,e]);const b=P=>{if(P.preventDefault(),c===1){if(!e.getValues("timeframes")?.length){e.setError("timeframes",{type:"manual",message:s("Pattern.signalDialog.selectOneTimeframe")}),setTimeout(()=>{e.clearErrors("timeframes")},1800);return}e.clearErrors("timeframes"),l(2),d("symbols");return}if(c===2){if(!e.getValues("symbols")?.length){e.setError("symbols",{type:"manual",message:s("Pattern.signalDialog.selectOneSymbol")}),setTimeout(()=>{e.clearErrors("symbols")},1800);return}e.clearErrors("symbols"),l(3),d("timeconfig");return}i()},T=P=>{const k=P;d(k),l(k==="timeframes"?1:k==="symbols"?2:3)};return h.jsxs("div",{className:"iccandle-pattern-alert-settings",children:[h.jsxs("div",{className:"iccandle-pattern-alert-settings__header-row",children:[h.jsx(qo,{size:20,className:"iccandle-pattern-alert-settings__header-icon"}),h.jsxs("div",{className:"iccandle-pattern-alert-settings__header",children:[h.jsxs("div",{className:"iccandle-pattern-alert-settings__title-row",children:[h.jsx("h2",{className:"iccandle-pattern-alert-settings__title",children:h.jsx("span",{className:"iccandle-pattern-alert-settings__title-text",children:s("Pattern.configurePatternTracker")})}),h.jsx("button",{type:"button",className:"iccandle-pattern-alert-settings__close-btn",onClick:n,"aria-label":s("Common.close"),children:h.jsx(Vo,{size:16})})]}),h.jsx("p",{className:"iccandle-pattern-alert-settings__description",children:s("Pattern.selectTimeframesAndSymbols")})]})]}),h.jsx(Nv,{...e,children:h.jsx("form",{ref:o,onSubmit:b,className:"iccandle-pattern-alert-settings__form",id:"pattern-alert-settings-form",children:h.jsxs("div",{className:"iccandle-pattern-alert-settings__tabs",children:[h.jsxs("div",{role:"tablist",className:"iccandle-pattern-alert-settings__tabs-list",children:[h.jsxs("button",{type:"button",role:"tab","aria-selected":u==="timeframes","data-state":u==="timeframes"?"active":"inactive",disabled:c!==1,className:"iccandle-pattern-alert-settings__tab-trigger",onClick:()=>T("timeframes"),children:[h.jsxs("span",{className:"iccandle-pattern-alert-settings__tab-label--mobile",children:["1. ",s("Common.timeframes")]}),h.jsxs("div",{className:"iccandle-pattern-alert-settings__tab-label--desktop",children:[h.jsx("span",{className:"iccandle-pattern-alert-settings__tab-step",children:s("Common.step",{number:1})}),h.jsx("span",{children:s("Common.timeframes")})]})]}),h.jsxs("button",{type:"button",role:"tab","aria-selected":u==="symbols","data-state":u==="symbols"?"active":"inactive",disabled:c!==2,className:"iccandle-pattern-alert-settings__tab-trigger",onClick:()=>T("symbols"),children:[h.jsxs("span",{className:"iccandle-pattern-alert-settings__tab-label--mobile",children:["2. ",s("Common.symbols")]}),h.jsxs("div",{className:"iccandle-pattern-alert-settings__tab-label--desktop",children:[h.jsx("span",{className:"iccandle-pattern-alert-settings__tab-step",children:s("Common.step",{number:2})}),h.jsx("span",{children:s("Common.symbols")})]})]}),h.jsxs("button",{type:"button",role:"tab","aria-selected":u==="timeconfig","data-state":u==="timeconfig"?"active":"inactive",disabled:c!==3,className:"iccandle-pattern-alert-settings__tab-trigger",onClick:()=>T("timeconfig"),children:[h.jsxs("span",{className:"iccandle-pattern-alert-settings__tab-label--mobile",children:["3. ",s("Pattern.tabTimeShort")]}),h.jsxs("div",{className:"iccandle-pattern-alert-settings__tab-label--desktop",children:[h.jsx("span",{className:"iccandle-pattern-alert-settings__tab-step",children:s("Common.step",{number:3})}),h.jsx("span",{children:s("Common.timeSettings")})]})]})]}),h.jsxs("div",{className:"iccandle-pattern-alert-settings__tabs-content-wrap",children:[u==="timeframes"&&h.jsx("div",{role:"tabpanel",className:"iccandle-pattern-alert-settings__tab-content",children:h.jsx(Ov,{form:e})}),u==="symbols"&&h.jsx("div",{role:"tabpanel",className:"iccandle-pattern-alert-settings__tab-content",children:h.jsx(Mv,{form:e})}),u==="timeconfig"&&h.jsx("div",{role:"tabpanel",className:"iccandle-pattern-alert-settings__tab-content",children:h.jsx(jv,{timeconfig:m,onTimeConfigChange:(P,k)=>{e.setValue("timeconfig",P,{shouldDirty:k?.shouldDirty??!0,shouldValidate:!1})},containerClassName:"iccandle-pattern-alert-settings__time-config"})})]})]})})}),h.jsxs("div",{className:"iccandle-pattern-alert-settings__footer",children:[h.jsx("p",{className:`iccandle-pattern-alert-settings__error${y?" iccandle-pattern-alert-settings__error--visible":""}`,children:y}),h.jsxs("div",{className:"iccandle-pattern-alert-settings__actions",children:[h.jsx("button",{type:"button",className:"iccandle-pattern-alert-settings__btn iccandle-pattern-alert-settings__btn--outline",onClick:()=>{c===3?(l(2),d("symbols")):c===2?(l(1),d("timeframes")):t()},children:c>1?s("Common.previous"):s("Common.back")}),h.jsx("button",{type:"submit",form:"pattern-alert-settings-form",className:"iccandle-pattern-alert-settings__btn iccandle-pattern-alert-settings__btn--primary",disabled:a,children:a?s("Pattern.subscribing"):c<3?s("Common.nextStep"):s("Pattern.subscribe")})]})]})]})};async function zv(e){const{data:t}=await Pe.post("https://api.iccandle.ai/custom-pattern/v1/searchless",e,{headers:{Authorization:`Bearer ${localStorage.getItem("iccandle_token")}`}});return t}const kl=e=>{if(typeof e=="string")return e;if(typeof e!="object"||e===null)return br;for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)){const n=kl(e[t]);if(n)return n}return br},Yv=e=>Wu(e)?kl(e.response?.data):e.message,Hv=({open:e,onOpenChange:t,resolution:n,type:i,symbol:a,candles:r,percent:o,theme:s="light",themeStyle:c})=>{const{t:l}=ft(),[u,d]=D.useState(""),[p,f]=D.useState(!1),[m,y]=D.useState(null),[b,T]=D.useState(!1),P=D.useRef(null),k=Ps({defaultValues:{timeframes:[],symbols:[]}});D.useEffect(()=>{e&&(d(""),f(!1),y(null),T(!1),k.reset({timeframes:[],symbols:[]}))},[e,k]);const v=D.useCallback(()=>{u.trim().length<5||f(!0)},[u]);D.useEffect(()=>{if(!e)return;const w=S=>{if(S.key==="Escape"){t(!1);return}S.key==="Enter"&&!S.shiftKey&&(S.preventDefault(),p?P.current?.requestSubmit():v())};return document.addEventListener("keydown",w),()=>{document.removeEventListener("keydown",w)}},[e,p,v,t]);const g=async()=>{const{symbols:w,timeframes:S,timeconfig:N}=k.getValues();if(!w.length||!S.length){y(l("Pattern.signalDialog.selectOneTimeframeAndSymbol")),setTimeout(()=>{y(null)},1500);return}if(!r.length){y(l("Pattern.noPatternCandles")),setTimeout(()=>{y(null)},1500);return}if(!a.trim()){y(l("Pattern.chartSymbolRequired")),setTimeout(()=>{y(null)},1500);return}const L=N&&(N.start_time||N.end_time||N.timezone)?{start_time:N.start_time,end_time:N.end_time,timezone:N.timezone||Intl.DateTimeFormat().resolvedOptions().timeZone}:void 0,z={resolution:n,type:i,symbol:a,candles:r,custom_name:u.trim(),filter:{symbols:w,timeframes:S,timeconfig:L},percent:o};T(!0);try{await zv(z),Li({title:l("Pattern.patternSubscribed"),description:l("Pattern.patternSubscribedDesc",{name:u}),variant:"success"}),t(!1)}catch(j){const G=Yv(j);y(G),Li({title:l("Pattern.patternSubscriptionError"),description:G,variant:"error"}),setTimeout(()=>{y(null)},3e3)}finally{T(!1)}},C=()=>{f(!1)};return e?h.jsx("div",{className:it("iccandle-pattern-tracker-modal","iccandle-selector-widget",s==="dark"&&"iccandle-dark"),role:"dialog","aria-modal":"true","aria-label":l("Pattern.subscriptionModalAria"),onPointerDown:w=>{w.target===w.currentTarget&&t(!1)},children:h.jsx("div",{className:it("iccandle-pattern-tracker-modal__content",p&&"iccandle-pattern-tracker-modal__content--settings"),style:{...c,height:p?"100%":void 0},onPointerDown:w=>w.stopPropagation(),children:p?h.jsx(Uv,{form:k,onBack:C,onCancel:()=>t(!1),onSubscribe:g,isSubscribing:b,errorMessage:m,formRef:P}):h.jsx(Av,{patternName:u,onPatternNameChange:d,onNext:v,onCancel:()=>t(!1)})})}):null};function Wv({language:e,children:t}){const n=D.useMemo(()=>{const i=_o(e);return{language:i,t:(a,r)=>Ko(i,a,r)}},[e]);return h.jsx(Jo.Provider,{value:n,children:t})}const qv=D.memo(function({src:t}){return console.log("rendering",t),h.jsx("iframe",{src:t,className:"h-full w-full",title:"ICCandle results"})}),Vv=({chartWidget:e,children:t,theme:n,language:i,onCloseResult:a,iframeLoaded:r})=>{const[o,s]=D.useState(Zn+"?theme="+n),c=D.useCallback(he=>{s(je=>je===he?je:he)},[]),l=D.useMemo(()=>_o(i),[i]),u=D.useMemo(()=>({highlightBarsRef:{current:[]},generatedCandlesBackgroundStudyIdRef:{current:null},generatedCandlesStudyIdRef:{current:null}}),[]),d=typeof t=="function"?t(u):t,p=D.useRef(null),f=D.useRef(!1),m=D.useRef(null),y=D.useRef([]),b=D.useRef(null),T=Ge(he=>he.setTargetCandles),[P,k]=D.useState(!1),[v,g]=D.useState(null),C=D.useCallback(()=>b.current&&getComputedStyle(b.current).getPropertyValue("--iccandle-primary").trim()||void 0,[]),w=D.useRef(C);D.useEffect(()=>{w.current=C},[C]);const S=D.useMemo(()=>n==="system"?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":n,[n]),[N,L]=D.useState(!1),[z,j]=D.useState(!1),[G,Y]=D.useState(!1),[X,F]=D.useState(vi),[Q,Z]=D.useState([]),[le,R]=D.useState(!1),[A,U]=D.useState("60"),[V,q]=D.useState(lf.interval),[ee,$]=D.useState(""),J=D.useCallback(()=>j(!0),[]),re=D.useCallback(()=>j(!1),[]),ae=D.useCallback(()=>{Ge.getState().setPlayEndTimestamp(null),g(null),m.current?.()},[]),se=D.useCallback(()=>R(!0),[]),ge=D.useCallback(()=>R(!1),[]),W=D.useCallback(()=>{L(!0)},[]),ye=D.useCallback(()=>{f.current||(p.current=null,Y(!1))},[]),Ee=D.useCallback(he=>{U(he==="1"||he==="5"?"60":he),q(he),ye()},[ye]),ct=D.useCallback(he=>{$(he.library_custom_fields?.ticker||he.ticker||he.name||he.base_name+""||""),ye()},[ye]);D.useEffect(()=>{let he,je,Nt;return e&&e.onChartReady(()=>{const x=e.activeChart();if(x){const E=x.resolution(),I=rt?.find(B=>B.display_name===x.symbol());U(E),q(E),$(I?.ticker||x.symbol());const K=async(B,te)=>{if(x?.getAllShapes()?.filter(fe=>fe.name==="date_range")?.forEach(fe=>{x?.removeEntity(fe.id)}),te){const{data:fe}=await x.exportData();let Ie=fe.findIndex(ve=>ve[0]===te);Ie===-1&&(Ie=fe.length-1);const Ae=fe.findIndex(ve=>ve[0]===B),De=Math.floor((Ae+Ie)/2),_e=Math.floor(vi/2),et=fe.slice(De-(_e+1),De+_e),We=fe.slice(De+_e-49,De+_e);if(F(et.length),Z(et.map(ve=>({o:ve[1],h:ve[2],l:ve[3],c:ve[4],timestamp:ve[0]}))),T(We.map(ve=>({o:ve[1],h:ve[2],l:ve[3],c:ve[4],timestamp:ve[0]}))),Y(!0),p.current=await x.createMultipointShape([{time:et[0][0]},{time:et[et.length-1][0]}],Fi(w.current())),p.current){const ve=x.getShapeById(p.current);ve&&ve.setSavingEnabled&&(ve.setProperties({customText:{visible:!0,text:Pr}}),ve.setSavingEnabled(!1))}}};he=eg(async(B,te)=>{if(!f.current&&(te==="remove"&&(p.current===B&&(p.current=null),Y(!1)),te==="points_changed"&&x.getAllShapes().filter(ce=>ce.name==="date_range").some(ce=>ce.id===B)&&e)){const ce=x.getShapeById(B);if(!ce)return;const de=ce.getPoints(),fe=de[0].time,Ie=de[1].time,{data:Ae}=await x.exportData();let De=Ae.findIndex(we=>we[0]===Ie),_e=Ae.findIndex(we=>we[0]===fe);De===-1&&(De=Ae.length-2,_e=Ae.length-1-vi);let We=Ae.slice(_e,De+1).length-1;We>Rt.max?(We=Math.round(We/10)*10-1,We>Rt.custom[Rt.custom.length-1]&&(We=Rt.custom[Rt.custom.length-1]-1)):We<=Rt.min&&(We=Rt.min-1),p.current&&x.removeEntity(p.current),x.getAllShapes().filter(we=>we.name==="date_range").forEach(we=>{x.removeEntity(we.id)});const gt=Ae.slice(De-We,De+1),Cl=Ae.slice(De-49,De+1);if(p.current=await x.createMultipointShape([{time:gt[0][0]},{time:gt[gt.length-1][0]}],Fi(w.current())),F(gt.length),Z(gt.map(we=>({o:we[1],h:we[2],l:we[3],c:we[4],timestamp:we[0]}))),T(Cl.map(we=>({o:we[1],h:we[2],l:we[3],c:we[4],timestamp:we[0]}))),Y(!0),p.current){const we=x.getShapeById(p.current);we&&we.setSavingEnabled&&(we.setProperties({customText:{visible:!0,text:Pr}}),we.setSavingEnabled(!1))}}},500),m.current=()=>{Y(!0);const B=x.getVisibleRange();B?.from&&B?.to&&K(B.from,B.to)};const H=B=>{if(!p.current||!B)return!1;try{const te=x?.getShapeById(p.current);if(!te)return!1;const ce=te.getPoints();if(ce.length===0)return!1;const de=ce.map(De=>De.time).filter(De=>typeof De=="number");if(de.length===0)return!1;const fe=Math.min(...de);return Math.max(...de)<B.from||fe>B.to}catch{return!1}};Nt=B=>{je&&clearTimeout(je),je=setTimeout(()=>{H(B)?Y(!1):p.current&&Y(!0)},150)},x.onIntervalChanged().subscribe(null,Ee),x.onSymbolChanged().subscribe(null,ct),x.onVisibleRangeChanged().subscribe(null,Nt),e.subscribe?.("drawing_event",he)}}),()=>{p.current=null,m.current=null;try{if(je&&clearTimeout(je),e){const x=e.activeChart();x&&(Nt&&x.onVisibleRangeChanged().unsubscribe(null,Nt),x.onIntervalChanged().unsubscribe(null,Ee),x.onSymbolChanged().unsubscribe(null,ct)),he&&e.unsubscribe("drawing_event",he)}}catch{}}},[e,Ee,ct,T]),Qb(e,y);const gn=D.useMemo(()=>({lastEntity:p,applyingPatternRef:f,setHasActiveShape:Y,setCandles:Z,setWindowSize:F,setSymbol:$,setResolution:q,setTimeframe:U,setTargetCandles:T,clearSelectedCandles:()=>g(null)}),[T]);Cv(e,g,Q[Q.length-1]?.timestamp??null,k,a,gn),D.useEffect(()=>{if(!e)return;let he=!1;return e.onChartReady(async()=>{if(!he)try{await xl(e.activeChart(),u)}catch(je){console.error("Failed to create generated candle studies:",je)}}),()=>{he=!0}},[e,u]),fv(e,u,V,ee,v);const si=D.useCallback(()=>{try{localStorage.removeItem(Mi),localStorage.removeItem(la)}catch{}const he=e?.activeChart?.();if(he){y.current&&y.current.length>0&&(y.current.forEach(je=>{try{he.removeEntity(je)}catch{}}),y.current=[]);try{he.clearMarks(2)}catch{}}},[e]);return h.jsxs("div",{className:"h-full w-full flex",children:[h.jsx(Wv,{language:l,children:h.jsxs("div",{ref:b,lang:l,className:`w-full h-full iccandle-selector-widget ${S==="dark"?"iccandle-dark":""}`,children:[d,h.jsx(rf,{submitCallback:c,handleShowDialog:se,triggerScanner:ae,window_size:X,currentSymbol:ee,resolution:V,timeframe:A,chartWidget:e,candles:Q,handleStartDrag:J,handleStopDrag:re,hasActiveShape:G,theme:S,language:l,clearScannerNewsMarks:si,selectedCandles:v,iframeLoaded:r,isLoading:P,handleTrackPatternClick:W}),N&&h.jsx(Hv,{open:N,onOpenChange:L,resolution:V,type:rt.find(he=>he.ticker===ee)?.type??"forex",symbol:ee,candles:Q,percent:90,theme:S}),le&&h.jsx(Zb,{setResolution:U,timeframe:A,handleCloseDialog:ge}),z&&h.jsx("div",{className:"iccandle-selector-widget__overlay"})]})}),h.jsx(qv,{src:o})]})};exports.WidgetIccandle=Vv;exports.getCustomIndicators=pv;exports.withPlayChart=cv;