@iccandle/vuejs-widget 0.2.2 → 0.2.3

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.
@@ -2,10 +2,25 @@
2
2
  import { Fragment as e, Teleport as t, TransitionGroup as n, computed as r, createBlock as i, createCommentVNode as a, createElementBlock as o, createElementVNode as s, createStaticVNode as c, createTextVNode as l, createVNode as u, defineComponent as d, inject as f, isRef as p, mergeModels as m, nextTick as h, normalizeClass as g, normalizeStyle as _, onBeforeUnmount as v, onMounted as y, onWatcherCleanup as b, openBlock as x, provide as S, reactive as C, ref as w, renderList as T, renderSlot as ee, resolveDynamicComponent as E, shallowRef as D, toDisplayString as O, unref as k, useModel as A, vModelText as j, watch as M, withCtx as N, withDirectives as te, withModifiers as P } from "vue";
3
3
  import F, { isAxiosError as I } from "axios";
4
4
  //#region src/constants/app.constant.ts
5
- var ne = "https://api.iccandle.ai", L = "Authorization", R = "An unknown error occurred", z = "https://embed-iccandle-app.iccandle.ai", B = "tv:clicked-news-event", V = "tv:selected-news-events", H = {
5
+ var ne = "https://api.iccandle.ai", L = "Authorization", R = "An unknown error occurred", z = "https://embed-iccandle-app.iccandle.ai", B = "tv:clicked-news-event", V = "tv:selected-news-events", H = "iccandle_token", re = {
6
6
  light: "#ffffff",
7
7
  dark: "#0F0F0F"
8
- }, U = (e) => e === "1D" || e === "D" || e === "1440" ? 24 * 3600 : parseInt(e, 10) * 60, W = (e) => e === "1D" || e === "D" || e === "1440" ? 24 * 3600 : parseInt(e, 10) * 60, G = [
8
+ }, U = 24 * 3600, W = 7 * U, ie = 30 * U, G = (e) => {
9
+ let t = e.trim().toUpperCase();
10
+ if (t === "D" || t === "1D" || t === "1440") return U;
11
+ if (t === "W" || t === "1W") return W;
12
+ if (t === "M" || t === "1M") return ie;
13
+ let n = /^(\d+)D$/.exec(t);
14
+ if (n) return Number(n[1]) * U;
15
+ let r = /^(\d+)W$/.exec(t);
16
+ if (r) return Number(r[1]) * W;
17
+ let i = /^(\d+)M$/.exec(t);
18
+ if (i) return Number(i[1]) * ie;
19
+ let a = /^(\d+)S$/.exec(t);
20
+ if (a) return Number(a[1]);
21
+ let o = Number.parseInt(t, 10);
22
+ return !Number.isFinite(o) || o <= 0 ? 60 : o * 60;
23
+ }, K = (e) => G(e), q = [
9
24
  "en",
10
25
  "zh",
11
26
  "vi",
@@ -15,12 +30,12 @@ var ne = "https://api.iccandle.ai", L = "Authorization", R = "An unknown error o
15
30
  "mn",
16
31
  "ru"
17
32
  ];
18
- function re(e) {
19
- return e && G.includes(e) ? e : "en";
33
+ function ae(e) {
34
+ return e && q.includes(e) ? e : "en";
20
35
  }
21
36
  //#endregion
22
37
  //#region src/i18n/widget-messages.ts
23
- var K = {
38
+ var J = {
24
39
  en: {
25
40
  Common: {
26
41
  or: "OR",
@@ -7439,7 +7454,7 @@ var K = {
7439
7454
  Legal: /* @__PURE__ */ 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\"}}")
7440
7455
  }
7441
7456
  };
7442
- function ie(e, t) {
7457
+ function Y(e, t) {
7443
7458
  let n = t.split("."), r = e;
7444
7459
  for (let e of n) {
7445
7460
  if (!r || typeof r != "object" || !(e in r)) return;
@@ -7447,74 +7462,74 @@ function ie(e, t) {
7447
7462
  }
7448
7463
  return typeof r == "string" ? r : void 0;
7449
7464
  }
7450
- function ae(e, t) {
7465
+ function oe(e, t) {
7451
7466
  return t ? e.replace(/\{(\w+)\}/g, (e, n) => t[n] == null ? `{${n}}` : String(t[n])) : e;
7452
7467
  }
7453
- function q(e, t, n) {
7454
- return ae(ie(K[e], t) ?? ie(K.en, t) ?? t, n);
7468
+ function se(e, t, n) {
7469
+ return oe(Y(J[e], t) ?? Y(J.en, t) ?? t, n);
7455
7470
  }
7456
7471
  //#endregion
7457
7472
  //#region src/context/widget-language.ts
7458
- var J = Symbol("widget-language"), Y = "en";
7459
- function oe(e) {
7460
- Y = e;
7473
+ var ce = Symbol("widget-language"), le = "en";
7474
+ function ue(e) {
7475
+ le = e;
7461
7476
  }
7462
- function se() {
7463
- return Y;
7477
+ function de() {
7478
+ return le;
7464
7479
  }
7465
- function ce(e) {
7466
- oe(e.value), M(e, (e) => {
7467
- oe(e);
7480
+ function fe(e) {
7481
+ ue(e.value), M(e, (e) => {
7482
+ ue(e);
7468
7483
  }, { immediate: !0 });
7469
7484
  let t = {
7470
7485
  language: e,
7471
- t: (t, n) => q(e.value, t, n)
7486
+ t: (t, n) => se(e.value, t, n)
7472
7487
  };
7473
- return S(J, t), t;
7488
+ return S(ce, t), t;
7474
7489
  }
7475
7490
  function X() {
7476
- return f(J) || {
7491
+ return f(ce) || {
7477
7492
  language: r(() => "en"),
7478
- t: ((e, t) => q("en", e, t))
7493
+ t: ((e, t) => se("en", e, t))
7479
7494
  };
7480
7495
  }
7481
7496
  //#endregion
7482
7497
  //#region src/components/ui/toast-state.ts
7483
- var le = 5e3, ue = 1, de = /* @__PURE__ */ new Map(), fe = w([]);
7484
- function pe(e) {
7485
- let t = de.get(e);
7486
- t && (clearTimeout(t), de.delete(e)), fe.value = fe.value.filter((t) => t.id !== e);
7498
+ var pe = 5e3, me = 1, he = /* @__PURE__ */ new Map(), ge = w([]);
7499
+ function _e(e) {
7500
+ let t = he.get(e);
7501
+ t && (clearTimeout(t), he.delete(e)), ge.value = ge.value.filter((t) => t.id !== e);
7487
7502
  }
7488
- function me({ title: e, description: t, action: n, dismiss: r, variant: i = "info", duration: a = le }) {
7489
- let o = ue++, s = {
7503
+ function ve({ title: e, description: t, action: n, dismiss: r, variant: i = "info", duration: a = pe }) {
7504
+ let o = me++, s = {
7490
7505
  id: o,
7491
7506
  title: e,
7492
7507
  description: t,
7493
7508
  action: n,
7494
7509
  dismiss: r !== !1 && {
7495
- label: r?.label ?? q(se(), "Common.dismiss"),
7510
+ label: r?.label ?? se(de(), "Common.dismiss"),
7496
7511
  onClick: r?.onClick
7497
7512
  },
7498
7513
  variant: i
7499
7514
  };
7500
- if (fe.value = [...fe.value, s], a > 0) {
7501
- let e = setTimeout(() => pe(o), a);
7502
- de.set(o, e);
7515
+ if (ge.value = [...ge.value, s], a > 0) {
7516
+ let e = setTimeout(() => _e(o), a);
7517
+ he.set(o, e);
7503
7518
  }
7504
7519
  return o;
7505
7520
  }
7506
7521
  //#endregion
7507
7522
  //#region src/lib/search-filter-storage.ts
7508
- var he = "search-filter", ge = "search-filter-session", _e = "scanner-always-show";
7509
- function ve() {
7523
+ var ye = "search-filter", be = "search-filter-session", xe = "scanner-always-show";
7524
+ function Se() {
7510
7525
  if (typeof window > "u") return !0;
7511
- let e = localStorage.getItem(_e);
7526
+ let e = localStorage.getItem(xe);
7512
7527
  return e === null || e === "true";
7513
7528
  }
7514
- function ye(e) {
7515
- typeof window > "u" || localStorage.setItem(_e, String(e));
7529
+ function Ce(e) {
7530
+ typeof window > "u" || localStorage.setItem(xe, String(e));
7516
7531
  }
7517
- function be(e) {
7532
+ function we(e) {
7518
7533
  if (!e) return {};
7519
7534
  try {
7520
7535
  return JSON.parse(e);
@@ -7522,32 +7537,32 @@ function be(e) {
7522
7537
  return {};
7523
7538
  }
7524
7539
  }
7525
- function xe() {
7526
- return typeof window > "u" ? {} : be(localStorage.getItem(he));
7540
+ function Te() {
7541
+ return typeof window > "u" ? {} : we(localStorage.getItem(ye));
7527
7542
  }
7528
- function Se() {
7529
- let e = xe();
7543
+ function Ee() {
7544
+ let e = Te();
7530
7545
  return Array.isArray(e.symbols) && e.symbols.length > 0;
7531
7546
  }
7532
- function Ce(e, t) {
7547
+ function De(e, t) {
7533
7548
  if (typeof window > "u") return;
7534
7549
  let n = JSON.stringify(e);
7535
- t ? (localStorage.setItem(he, n), sessionStorage.removeItem(ge)) : (sessionStorage.setItem(ge, n), Te());
7550
+ t ? (localStorage.setItem(ye, n), sessionStorage.removeItem(be)) : (sessionStorage.setItem(be, n), ke());
7536
7551
  }
7537
- function we() {
7552
+ function Oe() {
7538
7553
  if (typeof window > "u") return {};
7539
- let e = be(sessionStorage.getItem(ge));
7540
- return Object.keys(e).length > 0 ? e : xe();
7554
+ let e = we(sessionStorage.getItem(be));
7555
+ return Object.keys(e).length > 0 ? e : Te();
7541
7556
  }
7542
- function Te() {
7543
- typeof window > "u" || localStorage.removeItem(he);
7557
+ function ke() {
7558
+ typeof window > "u" || localStorage.removeItem(ye);
7544
7559
  }
7545
- function Ee(e) {
7560
+ function Ae(e) {
7546
7561
  return e.isAllSelected ? !1 : !Array.isArray(e.symbols) || e.symbols.length <= 1;
7547
7562
  }
7548
7563
  //#endregion
7549
7564
  //#region src/constants/symbol.constant.ts
7550
- var De = {
7565
+ var je = {
7551
7566
  min: 10,
7552
7567
  max: 50,
7553
7568
  custom: [
@@ -7958,11 +7973,11 @@ var De = {
7958
7973
  type: "commodity",
7959
7974
  session: "1700-1700"
7960
7975
  }
7961
- ], Oe = { class: "iccandle-simple-tooltip-trigger" }, ke = {
7976
+ ], Me = { class: "iccandle-simple-tooltip-trigger" }, Ne = {
7962
7977
  key: 0,
7963
7978
  class: "iccandle-simple-tooltip-content",
7964
7979
  role: "tooltip"
7965
- }, Ae = /* @__PURE__ */ d({
7980
+ }, Pe = /* @__PURE__ */ d({
7966
7981
  __name: "SimpleTooltip",
7967
7982
  props: { text: {} },
7968
7983
  setup(e) {
@@ -7971,9 +7986,9 @@ var De = {
7971
7986
  class: "iccandle-simple-tooltip-wrapper",
7972
7987
  onMouseenter: r[0] ||= (e) => t.value = !0,
7973
7988
  onMouseleave: r[1] ||= (e) => t.value = !1
7974
- }, [s("span", Oe, [ee(n.$slots, "default")]), t.value && e.text ? (x(), o("div", ke, O(e.text), 1)) : a("", !0)], 32));
7989
+ }, [s("span", Me, [ee(n.$slots, "default")]), t.value && e.text ? (x(), o("div", Ne, O(e.text), 1)) : a("", !0)], 32));
7975
7990
  }
7976
- }), je = ["width", "height"], Me = ["stroke"], Ne = ["stroke"], Pe = ["stroke"], Fe = ["stroke"], Ie = ["stroke"], Le = /* @__PURE__ */ d({
7991
+ }), Fe = ["width", "height"], Ie = ["stroke"], Le = ["stroke"], Re = ["stroke"], ze = ["stroke"], Be = ["stroke"], Ve = /* @__PURE__ */ d({
7977
7992
  __name: "ScanIcon",
7978
7993
  props: {
7979
7994
  size: { default: 24 },
@@ -7996,7 +8011,7 @@ var De = {
7996
8011
  "stroke-linecap": "round",
7997
8012
  "stroke-linejoin": "round",
7998
8013
  "stroke-width": "1.4"
7999
- }, null, 8, Me),
8014
+ }, null, 8, Ie),
8000
8015
  s("path", {
8001
8016
  d: "M16.54,12.13v1.34c0,2.11-1.71,3.83-3.83,3.83h-1.14",
8002
8017
  fill: "none",
@@ -8004,7 +8019,7 @@ var De = {
8004
8019
  "stroke-linecap": "round",
8005
8020
  "stroke-linejoin": "round",
8006
8021
  "stroke-width": "1.4"
8007
- }, null, 8, Ne),
8022
+ }, null, 8, Le),
8008
8023
  s("path", {
8009
8024
  d: "M11.57,1.98h1.14c2.11,0,3.83,1.71,3.83,3.83v.91",
8010
8025
  fill: "none",
@@ -8012,7 +8027,7 @@ var De = {
8012
8027
  "stroke-linecap": "round",
8013
8028
  "stroke-linejoin": "round",
8014
8029
  "stroke-width": "1.4"
8015
- }, null, 8, Pe),
8030
+ }, null, 8, Re),
8016
8031
  s("path", {
8017
8032
  d: "M.7,6.72v-.91c0-2.11,1.71-3.83,3.83-3.83h1.09",
8018
8033
  fill: "none",
@@ -8020,7 +8035,7 @@ var De = {
8020
8035
  "stroke-linecap": "round",
8021
8036
  "stroke-linejoin": "round",
8022
8037
  "stroke-width": "1.4"
8023
- }, null, 8, Fe),
8038
+ }, null, 8, ze),
8024
8039
  s("path", {
8025
8040
  d: "M5.62,17.29h-1.09c-2.11,0-3.83-1.71-3.83-3.83v-1.34",
8026
8041
  fill: "none",
@@ -8028,14 +8043,14 @@ var De = {
8028
8043
  "stroke-linecap": "round",
8029
8044
  "stroke-linejoin": "round",
8030
8045
  "stroke-width": "1.4"
8031
- }, null, 8, Ie)
8032
- ], 10, je));
8046
+ }, null, 8, Be)
8047
+ ], 10, Fe));
8033
8048
  }
8034
- }), Re = [
8049
+ }), He = [
8035
8050
  "width",
8036
8051
  "height",
8037
8052
  "fill"
8038
- ], ze = ["fill"], Be = ["fill"], Ve = ["fill"], He = ["fill"], Ue = ["fill"], We = /* @__PURE__ */ d({
8053
+ ], Ue = ["fill"], We = ["fill"], Ge = ["fill"], Ke = ["fill"], qe = ["fill"], Je = /* @__PURE__ */ d({
8039
8054
  __name: "PatternTrackerIcon",
8040
8055
  props: {
8041
8056
  size: { default: 24 },
@@ -8055,35 +8070,35 @@ var De = {
8055
8070
  s("path", {
8056
8071
  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",
8057
8072
  fill: e.color
8058
- }, null, 8, ze),
8073
+ }, null, 8, Ue),
8059
8074
  s("path", {
8060
8075
  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",
8061
8076
  fill: e.color
8062
- }, null, 8, Be),
8077
+ }, null, 8, We),
8063
8078
  s("path", {
8064
8079
  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",
8065
8080
  fill: e.color
8066
- }, null, 8, Ve),
8081
+ }, null, 8, Ge),
8067
8082
  s("path", {
8068
8083
  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",
8069
8084
  fill: e.color
8070
- }, null, 8, He),
8085
+ }, null, 8, Ke),
8071
8086
  s("path", {
8072
8087
  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",
8073
8088
  fill: e.color
8074
- }, null, 8, Ue),
8089
+ }, null, 8, qe),
8075
8090
  n[0] ||= s("path", { 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" }, null, -1),
8076
8091
  n[1] ||= s("path", { 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" }, null, -1),
8077
8092
  n[2] ||= s("path", { 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" }, null, -1),
8078
8093
  n[3] ||= s("path", { 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" }, null, -1)
8079
- ]), n[4] ||= s("path", { 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" }, null, -1)], 10, Re));
8094
+ ]), n[4] ||= s("path", { 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" }, null, -1)], 10, He));
8080
8095
  }
8081
- }), Ge = [
8096
+ }), Ye = [
8082
8097
  "width",
8083
8098
  "height",
8084
8099
  "stroke",
8085
8100
  "stroke-width"
8086
- ], Ke = /* @__PURE__ */ d({
8101
+ ], Xe = /* @__PURE__ */ d({
8087
8102
  __name: "GripVerticalIcon",
8088
8103
  props: {
8089
8104
  size: { default: 24 },
@@ -8103,13 +8118,13 @@ var De = {
8103
8118
  "stroke-linecap": "round",
8104
8119
  "stroke-linejoin": "round",
8105
8120
  class: g(e.className)
8106
- }, [...n[0] ||= [c("<circle cx=\"9\" cy=\"12\" r=\"1\"></circle><circle cx=\"9\" cy=\"5\" r=\"1\"></circle><circle cx=\"9\" cy=\"19\" r=\"1\"></circle><circle cx=\"15\" cy=\"12\" r=\"1\"></circle><circle cx=\"15\" cy=\"5\" r=\"1\"></circle><circle cx=\"15\" cy=\"19\" r=\"1\"></circle>", 6)]], 10, Ge));
8121
+ }, [...n[0] ||= [c("<circle cx=\"9\" cy=\"12\" r=\"1\"></circle><circle cx=\"9\" cy=\"5\" r=\"1\"></circle><circle cx=\"9\" cy=\"19\" r=\"1\"></circle><circle cx=\"15\" cy=\"12\" r=\"1\"></circle><circle cx=\"15\" cy=\"5\" r=\"1\"></circle><circle cx=\"15\" cy=\"19\" r=\"1\"></circle>", 6)]], 10, Ye));
8107
8122
  }
8108
- }), qe = [
8123
+ }), Ze = [
8109
8124
  "width",
8110
8125
  "height",
8111
8126
  "stroke"
8112
- ], Je = /* @__PURE__ */ d({
8127
+ ], Qe = /* @__PURE__ */ d({
8113
8128
  __name: "Minimize2Icon",
8114
8129
  props: {
8115
8130
  size: { default: 24 },
@@ -8141,13 +8156,13 @@ var De = {
8141
8156
  y1: "21",
8142
8157
  y2: "14"
8143
8158
  }, null, -1)
8144
- ]], 8, qe));
8159
+ ]], 8, Ze));
8145
8160
  }
8146
- }), Ye = [
8161
+ }), $e = [
8147
8162
  "width",
8148
8163
  "height",
8149
8164
  "stroke"
8150
- ], Xe = /* @__PURE__ */ d({
8165
+ ], et = /* @__PURE__ */ d({
8151
8166
  __name: "Maximize2Icon",
8152
8167
  props: {
8153
8168
  size: { default: 24 },
@@ -8179,15 +8194,15 @@ var De = {
8179
8194
  y1: "21",
8180
8195
  y2: "14"
8181
8196
  }, null, -1)
8182
- ]], 8, Ye));
8197
+ ]], 8, $e));
8183
8198
  }
8184
- }), Ze = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZMAAAGSCAYAAAAmQCzEAAAACXBIWXMAAC4jAAAuIwF4pT92AAAgAElEQVR4nOy9d3wk130n+H1tfXx73t0DdHt3tilRaFKkmIke5owechIwSFRiJnokUcGyNRhbkiXZ8jRl5eDBWLKtYGkalijZpKhBnEyiwZynQXKGw9xQ3PX6TsD5fN69db/f/VHpxarqDMzUbz41Xah6VfV7FX7f94uPERESSui4pdc/lAFoWNiSAQAQJnDqNwtt4SmhhI5DYgmYJHTc0msfKAAYCWmxE6d+a7RF3CSU0HFNCZgkdHzSq+/PADgc2e6t32bNZyahhI5/ekO7GUgooeYQdcp/aisOvfK+Tpz2t0stYalR9NoHswCyAACGIoASTvnm6upDQscdJWCS0PFJksYdqn1nABSbyksj6dX35wFsB3MVKsJ2AMBrH1gEWAlAEad+c6xd7CV04lKq3QwklFBTiAgg7i4Uvqwqou0AmfrVBfAhgHbgtQ8U281lQiceJWCS0HFKvBwJIh7grBZ65b1ZjXficDQvcRv14NX3Z9vMbUInGCVgktDxSafvKvtCVlp4IIQdwZtpJ5tVEVFG0kh8EFG1FA9gEkqodZT4TBI6fsk3YYUK1s6wnSuKiLIAAEYAmNItdxvz2yYO+YRaSgmYJHT8UjwTVhbHbsu762UAEzjz+ytUEJOXcAkfPDzyQcT9Pf17pdbxlVBCSZ5JQscTHbutE0BOyHjPAOgAEKKcaDsWAGRx1l0rC1BevL0TwK8lAAHgR3UFGwBgHm/blW0JXwkl5FKimSSk02sfzACUgyOMyyAaw1u/vbJHui/c2glQEUB3eEMK/dM9fgxArjGM1UjHbk0DLA0AOPP7xcC3QzKAkKKhOPtX9rNK6LikBEwSCui1DwzDEaRdgr+hB8AwXrkjg9O+U24bb5HEx0A2IKla+x6ObtJEeuGWMQBbfb5fuBUAlgV/CDQAkf0lCZgk1HJKorkScui1D6RBtBtEXX40UBAh1AHwlV3Diihtj9yKEyKs9rdNdPTmPIi2yhFbHAB16GHBSptgfwImCbWcEjBJyCHiOQVA4Aox7+/2jtajyJR/IYbPSrkYprbK0rZ+8GH/vsMCHubnI7bJ4ditORy7dfWEPSe06ikBk4Qc0gQUl7cRdeGlLdn2MhlCcTPewZXFAjjPvSvdpo50W8GDFH5N7Zw+bQXRLhAdxgu3FB1/UkIJNZcSMEnIJZqQhZIqhAkAz7WXxzAyjeYt2kpkeRUCQOmWd+H5d2fDTVkxQEY/rgegpFZXQk2nBEwScui075YAvqgDiiS8Vq6pi6ioCV5RA4ntL2mjqYt4xgDgBv5jgIxkAuMjre9MQicaJdFcCQVENAZghyOM/I3ePgDowLHbcgAVQUgDWMJZP1gZzl4Tz5HHVNG2FUSUcbLbAWuGO7wfsrdhWFHdSujEoEQzSSggck1dptFuMMrNg+h1gOYAfhhHby7h6M3p9jIOWH0IoZqHxWfiLNk29CFj1D6iHe6KlqLsT5AloRZQopkkFNAZ42Ucu20eQI+zgQyjd+pSJprqBmgC3tzq7SLiZX2b9Y+VSURKngwpCYref2IZFeFvdb+nwRCbbwq/jaBX78i5yZklvPXbE23lJaG6KAGThBSiAgg9CoDooCKblbpx5IYszvmHYktYNBFR2bAx1qYqGzSHSkNZZ4Up+YgKeDgbIUyOBSvABKC/MkyRIr3y3k4ARYA5AMoAvPr+RQCjCaisTkrMXAkF9MIteRDlZXOJYCoxmlSE3IZ2UtzILVNio+/klo5Jt7gDGZ+fsEi0yLLzRhPYygMTolGQGwbt95l3AbQbr95RTOZjWX2UaCYJOfTCLQWARuwaCAk/Jq2lzSVIIPDZGO0jXQ83VROJPhqPPyb9uCYryO2kMiow1OkCgJUFJi/lOgE2qlU6DgIHesAwh1fvmAfY6IqvC5cQgEQzSQgAjt6cAdGIroFoZVVg1VrAO/DsO9oHKMRL4Vnv0oRY8ZaW8k8Z/fqG+x9eRsWgwRBw/k9WljAmGoVaHgbG9R6Ainj1jnSbOU4oBiVgkhAAypojt0xCzWT28rfl2taFC2aXrNFbYZnuodFeLaKn+zpBvEsDwlqiujSA4SvL+X7stk6ARoN3Rqm4oINKR9tNqAnFosTMlRAc57VnxjKZsEwmJKFdcMwQFoY70T3RnrlAVJNcvINsO3rqY6YaEsrLE2B0uEvmLGGbR7rT3Tum9VrJ0ZuyAEYB1umwyAo4666Cy9coyJ1jRs2HYYBvqmME36Sn3o6EViQlYJIQQLwo/FElgJDwQ4DjOyk0hc9IomVAqPhrxYkWm7CiiNScFgEorP4Sd1toVBcAajGYHLlhGGC7hesDQA+O3pwHY3kAo8o+aH9L6wRQMj/LaqDEzJUQcO7dSyAaD43cMkUOmX0p7StVT7xkj9xawT4TaxkVmwlOvN8mM5i0r7WCmGhMN1dxANQF4rvgTGdgem9sZq55nP69JFR4FVACJgm5RBPBh2wommgSbmZfSjee6U+3pwsmUAgpRx/lqH/8utZU2yXK2MvOR2W5k9I/qf0yLphpHZg8964cQF1CqK/Oq/pOSfwbj8u3jP+E6qIETBJy6LwfT4BoWRNmJgAxjYTlY9oU1WUChSgNJLS8SvOz+p9Y1+mM2kN41oAmdhmVFpuHeD5Uow3TQIz7+DzOGC+2tg8J1UoJmCQUENFELADRI4agCIT2mLqISkZQCAOQdpu6TCHBceYtCS87D/f5FJvfAZeefXsO5IFiXLCIBJx8y/hPqG5KwCShgDx7dywA8T58A6gQdeGpTa2v1UXcHB7s+yAEoInUWFoFJjxr1jIsmfAIa6OFDLdOMyHKG9+LSFOWGiLsn2MeZ/6g2DL+E6qbEjBJKKDMRAmgRVmwRQCIafTvbMu1nH8jINhMR7ZFBB3efED0/SVxEhQjNBR9f2vApDSUd0uhQHOuV6udBPehE0dvzraE/4QaQgmYJCQTUcEIDlGCTTV7tSXRjJYkUKimHL0ZdFrggI9Tdt6S5W7UDn2AWcYlB8tNZ//wQCecjHbDO2NYDwUSqd/dAM3h6M0TK2OKg4SiKAGThGQiKmgmCCuAmEb7/v4OPLGutY54z2cSWlYlRFtptZnrkas7IfoZfCCwRXYp99nsdPe2t0YrUUujqH4c6Z2JzHY3gcoQQCUcvbm9UxwkFEkJmDSDXr0ji1feN4FX3lfEK+9tX95FLXTBTBlEC9EAIgoEkymMgFZP8xsKEIrPJNRB3yLNhChjBL5QLSUCYIJ9xabyDgDPbHZLowj8ae+GCWSU9ybMNOYNTMDzTe9PQnVRAiaNplfvyINoDqAhEPWAaAde3lJoN1vVERXM4GAQElJUkWL2Ag3jsWtbk6vh8K3w5vEUoYW0zWdC2QAELA5302g/FGD8pfmaCfFREHVE55PE3BcOKolmssIpAZNG0ivvy4Fou/8hBB/ECF7K5drNXmwiKpgd7yYACREazoiyddoJUUkapceK3Ar1mTSb34zOiwpwEVFdGsD4+5oLJk9tcnwlsTQQyztTHaiUm9qfhOqmBEwaSjSsfQTBxzCGF29Pt5nBeHTRviUQTcJk77YCiDiKlgRg68DkqkeWQrPGNed8m/NM1DIqvqYR4XA3Ot2lfcu4fL7cXN7J0Uqq9o/ENm2pbYpN7U9CdVMCJo0kcqOJzIDSAaLVU2OIaMI40rQCiBVUhvDINa0zdcXSQkwAoyzOMc0zrTxwaRrklh6xBgmoIGMDPA3Am6uVPLG+E+CjZrCIAIh4WojaZhlEY03tU0J1UwImDSXX16CN1vxt3Xjhlnx7eYxLNAHiy6EAogo+k7BztuVayPeyDm5VRG9JpVV4R8TF6uEzo91To5ZiuPdWgPGfQ7F5fAOAq5XEAgsV9GoClTGc9+P2TGuQUGxKwKSRdPquIsB3mj8I/8PfjqM35XH0pjKO3Eg4cuMSjtwwhuff3UJHdQy65NCSAyghAGIaTZud8bmW8e35TWKVVVHBpoU+E6O/JIbDPdRf4gvl5mkmj1+bhugrUQFB0lYsJq9wLUTdnmglq4QSMGk0vW18FBBCa9UPxgMUoi73A+sA0VaACu1l3EDkVhIOc6KaInmkbRwg6sZDV6RbxLMZFEThV01plbkLmgPytjIqNoe7JLwjAaZ5YOKUTemQ+agimkvqIw9p5/cxj+7diVayCigBk2YQUQ6g5QhAUdeH8Nw7cu1kW6PL5iZAfNGqlagjYpNACba1KN8mzJxl0z5Cl+b4TaotoxI517u/fxlXP1ZuCs+P9qRBNBIa6RdqyrK1s4LKIjITiVaySigBk2bQmd8vgSgfCh7mj2cMz7493U7WNSLB1BULQJQwVb9/LQoR9qcgVgVtXJ+J2N7znzSY5takIWaNx0pQNIGMERiLjWfYJfGdjgKLUK3Ddg7tmHzT+pJQwykBk2bRWXeNwQ+vjQ0oKzDiS6nVFQkghtGps60LD1zSisKJZQ0UNHAJAY5W+E1sZeej/CHG+69FzzXHxPXI1WmARnQ+DP4RI0BYQoLtgLOINdOFpvQloaZQAibNoqM3ZUCUlcFDckrbAKUbpaF8O1mX6IoHSyBajAcgilaiC8Xmm7okgFAFtigIDQ56M+A0HgCJZ3Qtw7uuyZwVAjK6D6vYcH4BwC8xH8M/EsvMZelD8B7lm9KPhJpGCZg0i5zqux3aSM2ooWggsx2HB7Jt5F4m4mPxAEQTxFCm9m2BqcsUJKAIZhvImLQrNKM+l1BGJY7DPczprmswjddMHroiDeIj5ucb9uxrABVnfREX7ik0vB8JNZUSMGkaUbcdPCzb5P0FPNO/QsKFPb9JGIAYtC5dOHdg7oLmAgpRUQcEm9C2LU32mYSVUbHdYxPI6GVUFrH2mcZHPnm+Ek0DsYT+Wk1gsUEl3/A+JNR0ekO7GThuSQIK4W9pHxB8pNp6F4gKANo0n7pAVz1axoOXzYOox9kg9sMjsQ/qNml7DkDz/EIqT1W1bwEdPDsNMD0ZkhEA5qxL98zdxoRtxCCR92cztJIHLk2DsZHg2TKHV5EHJvAsrmv7hONsxzAs4qIDhUZ3o2H00pYcGEsDWAJjBZz23SRs2aVEM2kWEc3H0kbCRmygITzVm2tfJwQiXpB4lHhWR8whWgvxIdzf3USNS9QsYmgeNp9JsGQby55Xdl65Nln4bnsZFRqzJhvWbOYK01RWcKn5F0cKAO2CU8x1B4hKeOW9STVjlxIwaRqJ8zxYPxzDNu2YMTy5Md2+frjk1+oyRO1EAYjepnnaFvGyBggaiNhAxia0G8pgJuDLxktEVFeryqjMX5QF0ZD1/TSasgw+q/igsoBLDhUa2ocoev7dnXj+hiyO3JDFkRvtg5xjtxXgRbMFfegCUREvJ4ACJGDSPDrvxyWAtungYBiVSR+luk4dWAnZ8T1POpWEqwYQxZfiHJdrGp8bjpV1MFAityIBpIk+Ey/CzwRwsNy3uADTaM3Ei+AK849YwaImf0lrJ5J77p05OHlJc3DmICrjyI05rd0LtxYMQOKtdwAJoAAJmDSXzv/JGOCau0I1lMgPrQdPrMu3ryMe8YIdQCzRRSbhDerBwXPSTWMzShORNBcuL3r7xvJpLDuvCF1d40AMgFnEuucbZ7+fuyALop7oaL2Q9dimLQKI5nHZ/cWG8R9Fz749B6Jd8JJHA2DYJQHK0ZvzIUAiHlfEy+9pv3+zjZSASbOJaNgtoV0HoBBAtB2PX9fe0U/2mQmAlsNt6AZQ0YQlB9DMeU6iordEzSMMaAgAdTWMrb2npR3BY9OU4kR1WQGmwVoJz0cCRyxTVmxQyTeU/zBauN4DEtv3twtHbsg7oELbI7/XAFB24+X35FrWjxVGCZg0mzKTS3BqdcUDj9APlE/gsbXtDReWij9G+U0MArAVCYxi8INmOmqnz0QsO28ADxGMbe1sWkwjZ1a8vzsLUI8OCAb/iPq3bqa1vM9Sn+Zx+XyxYfyHUWkoEwEk3vp2OM520z7nXGZg2XWiaigJmLSC1kxPgGhnAwClC+0ux+0lMEq8mYSHxUcRbOvC/jOaVURRWSyRW1YAaZLPRPOXKPcO6vUNIGMEGA5QA53vWrZ7iIkqfPBj5l0HlXzDeA+jwwMZ5z4Z+LB9g9EaifALr22uJf1ZYZSAScuI8iBaCAcPbtimrY/gkWvaN/K57lmnvEpsALH5UnjzPjoNFCyg4Y3ytUUBndmubGP4spVRCeFTAxnrvsZoJofOzYJ4j1HY2t7J8PdVfubQeJ/HlQ8VG8J7GD2z2QOSDiuPdQGJ1HaFJBu3lhIwaRVdMLsEUM4yMoP+4ipCWN5fwMNXpdvXGdfUFQtAQoRi0/wmVA6fqyTEZ2IFnkawRT0+eBh5i2HOku6lv38Rm15ujPNdjOAy8qJqKyGmrXjr+YbwHUZP93UagQTKemOABGiklriKKAGTVtKFe4Nw4WpMXtJ+DrQ7XJhoTB+dmgBEcbrrI9ou7H1r4wGFeFkTvKIWEhdAGgkmM28x+EssDnerOcsEMBxolL/kwFlZwAU84zM0gYy6L05IsP8uzOOqR4sN4d1GT20yA4mpT40BkkmcMZ5vap9WKCVg0mq6aP8YwOcjX9qoF5+oBw9dnm9LH9YfKYNoIRpATAJQ1GQ40IwERg0MFMGtmrG0+8zVJV0/T4aQYO9+mTQ7UxsTMDv3sUHOdyqYQ71jvJthpi07qOQbw7eFntzgAUlEnbwI83J8IFmAUy7ohKQETNpBtczEaFLJibbjwcvaFC5MhfgAYhHazrZhzJ7SYBuzeK0oTcRzsof4TEDp+lmijAYCYTxqIBOqoRTr5m//23JwMrqV61r+tvESH1Qmcc0T9fNtoyfWxQQSctpXCyRE7m0RgYSyOPP7J2ytrgRM2kGXHCpDDBeuRkPR9xfwwCWtd/iR6DcJARBVcOvCsQNocGl6omIAEBY+Wu4z8cqo2K6rRJyZQMamoWwuF+tnz+ArEUfu0vMzmLLMgBG23txsd6IxWIHEoomEAgnM/RCB5Ky7TlggARIwaR9det8EiMb1l1p80bXoJ9OL3I12TCS08cUyxJkkjcLHJADVbU0wdSlCmIjg/PNENQMPWSpgqCAlLXWzRELehgRoIhgbAETzNWmAvVA3c3tPy4GoS7tGlL/Eus9iKgv6N47sU+W6+bbRY9cWEJq1Dnt/4pu0vN9lgIZx9o9OaCABEjBpLxGNQpzFMLaGoo2stqJ4YevDhYkmwiO3LGCoC6AhTJ/cMO1KBoYUuL94QCGCR0oDDq+tsGTr4acy+aYM988dnJfA3Dul3BfNHGZ0usO9x/X7S/y53UM0i1AzVwzAkdfzdfNso0ezhXAgifGtVd8227T+rCJKwKSddHlxCUTDsR2AxnVfsBQwd0GLzV00AfJ8P2EOW1E4Wp3xuUZxxcGWKorwDkAkpQCITTORl3qoApYRwa2iAZsJaAAKA5hGlVHZc0oO4F12cODK9UNCgq3vqQRS41h7uFwXzzZ65Jp864EETj2v59+da0qfVhElYNJuuuKBEojujP0C29c7AGrepFMm6n11CeIsjEbho/Cr8h9syzWKrTcM/aKkmqwCEBE0ExYsFZbyF25Y6iGOVEYFroqiLanbuAFkdIAhoN6wYD/bXQWpKqK5wo7TQSVfF782eviqHOLX0YoBIDD33f57wgNKAiYrga58KI9GTKZFvAf3d7e2jDfRRLTjXRU4rmCRNZdumvzddKPY8gDCAQOGirsEAKKatkI1lLr4qjCW8a/p8sOZqikxAVhk0KsoACOCCwZ/WayZsZm35OBHcFWbTxLVzggq47ju2XI999JID12ZQ2gdrWqBxLYPcQDlhMx+BxIwWUFEOZASLmwzaYV/1Dtw33mtCxfeXHZMXaoJSzfHCDwG25yjfEGZaxRbuilJNXGFmbZSkH0tqa56eOFgPSo4VKCCXAA0JpCRAcfvW33Od6K8sW6W7R1TBwXVg0q+Ln5N9ODludYASdgvxL9P2HlNEjBZKXTVI2V45Vakl9UWxRX6QRdayjuJOSfhAOL800fc7nquUSxxsAVRKGsmLjtwGEGmVlqaOjWj8hBp6pK0KBlgFECp3cQ19aY8QIGvxAT2Vn+J+g7GcNyDxrH+SLlmfk30wKUZwFCNQRP41khI/bdqIDH9npiUgMlKoqsfmwDc2QzjvOj2j6UbB89uYXVhMXPaDCBcG2GnJIHurnf9t8m3NGRkV0FqyRzBZY/aMjnevX21EgfLmK4vXlM3dRn+VjUY57jawGTypE6I00rXXR04RGg768sNz3afvyQDUBGOrzAaCBoGJAjbvoxGTgWwyigBk5VGRDmAL8YCFON+36yw1am11AIa+HkJoMUwAJE1EVFLcPe5/o0KYw3x+dgjuOymLR6y/OPU22oCuQpSGZNmZNJKbL4TxbTltHXuVU2Cixwg6bBqt5FmrqpBZQwbjpVr4dVIxYsyAK8CSGDfV5+PRL3OKM6794TNN3lDuxmoiV7e0glCDqBOEJVxxnih3Sw1jHqeXELxwhyAueDjhvDSAsEHb1j31WwCCBPYf0YaG19s/gtONEbADnhRR8pvsN1dZ+I+qV1D8mUqYEtwNQoy7CeLtmFq61JNjlUO5oMQ868pXp35XDLl7+AveZ93p/6Xweoz3/9t8k2dDKlR8akwr9MM7vvjXBOMBX8z91f8m5hwHAzrBBBbBtA4LXnugk4wNgFCh/G6Xh8Ys+wz/AJBX6PaMjj9ZqSeYwsyuwsN6+cqpNWnmbz8nk4QigDtgDcb2rHbSjh26/ETRZF9ugiiO0NHTZEaCgHgHWiR/4SDTQSj70ADkUbcvpnG6C/x2nUsTZ1aN6BwpEryqF/OareZtmRtqv7w4ApSPbJJy27qUrUSjRf5ftXkfOdIjXKwDvUZOWORGFpHfNOWtz6GTS81ZjBzf6YTjmmrK5ZG0TDTVsixzjKOzEShIX1cxbT6wIRoGGrNHefvEl64+fiJpFj7TB7VTKZlT3wcwt7Tmh4unBr6ZZmDLWh+CjGXw+Av0U1gDBWk6gYTycSlhOQGUVR6PkmQb+K2CfpS9WDl59NnZaUQ5UhTl5zQaP7bP7ZqE9e/Tr2lswI2Kke3yWY/B1jiAkkkqCwDDZoZ9L5uD0i6YwFBPBCwt4kPQuNYM5VrSB9XOa0+MAGlLQ+5C0RFHL0x117+Gkk0DC/sVv1oq9JQKI89pzYdaCtgY0EyYMoIIOZwVw1cRv5x6vS6NM0AHMzaiTzSN2km2lL1/XP8JcI1/PuS8qO1/G0ayNj+9u9f1WBSQWqUM9bhPRs5ok1+RrK24lUqqLo68JiT2NoI4o0DkqqAA/Kx/jngAMkFM7nG9G/10+rzmRCV7A8fHSDswvM3ZOBMkzsKuPNugwo4/yeFdrJeNV27UMZ9542CsEvqK6C/7NZ1AMFkWk0FFM5SEwTs8iz8ut9E3hZwK7d314cBFGrmBaxE/l/BeT1S//b8K+Z9NfOQ8c4r+0HE/92rMYPvhJS//eMZWJVRQ8tTp3YysFHmn4eBMXLOReSdU/iFvHgClLn9iPaXLINYY7SSQ+cWANbt+ynEaxn9Hy5/xn2W42L5VaRt87hob64h/TtOaPVpJmeMG6rtuvt8YUtbQVSGU16hB6AeEO3CwvUTKA2vLt/Kdc8VAD4ZUwMxrPsjxW7MppsaLvxbg4tLHGxSD8cVtQJbWHBjc04qYEum3A41HFeNtArTTqolLtXk0kN+VVOX6k+pCD4mLmgwHAy/PfhSsUpeXF+JoY9iZQBFW6lANs3Jo/PQEipj2FyuXys5eHYBRCOxckWq2gdDW+jHmM+7gKZNOb16afWBCQCc+f0ciLYBsLwUBGjzPQMgGgKoiMODq8u3UstkWvr9AIhvxcxbss1klSNVUMOBVYeyarOXzDhB+ZOen02fna6DDw0cVBOXHUCM4cG1mLm61VItqi/E5A9RwZUr96fCqnO+/9PU6WnHV6IHRojmxgpSktlNvycBX1a/irO+DGqAr+TAmS6QVAsWiA8y1Z/Pmbvkon0nbAiwjVYnmADAWXeNgWitJmQ1Aaq9DN0AFfFM/+oZWaw/6lQXjjMSi14vYPrNTdPOOgZfm+BILasOXhuAOA7yYORdkYVrzc/I0UwCwW2uIBwAh1yG3pjAWNU9e2E6kw0DMXm7GWTsiYypYpX3Is/BOqwAojwrye9l2idsk0HF1x7GMPCz+oTt/jNG4wOJIfikFiCxayIOTx6QXHwgARIDrV4wAYCzf1gEURagBfPL4bbT93UAtBtP97W2KGI9tOGFIoh2hn9IEZNpOetdaHK4cAVsQhfYguBSiy9aRuIctdfqOmNgoaSP9vXkxBiOd3+phrixUjCTrqtqIREOd1Hox/aX/HLqzDQHG4nWxrR774KKAPaaRmMAFdAiBn+er+5pKbTv9ByIdkQOmuoxe1nbwtZmGaAcLjmUAImFVjeYAMA5f19yAUWuumt/KcTfHXiqt4CnNq0OP8rGF0chhguHmrRCNZQhTP5urllscrCCDUA87cNm5lIEa/fL0+fXbJK0+SYqIpCJWlH4UtU7UmGev8Rk0jJtl0EmTGOpVAEmnLF8oPHZzVyytmJaUpJfxQYqqLeY49635kC0K9JHEuX/iAUkiNt2GaAsLr3/hC2VEodWP5gAwLl3L4FoKXixgHgjEgDOZDpFPLkh3RbeqyWiHIgva/0J/ZD0cGICG6tMnpRuBou/PfhSkYMtiuYSkzNe8wdI4OKbX3K18iHOUyLml5jNW5GaSXdV1wbLiGAl8mHXyMJMW8G+0waeiyXUFqfPSXOwEQnMtftuCj4wm7dkv4rxHi1i6FeFmh4WAOw5ZdgBkihA4CH7IoCj+rYOkFw2lwBJBB0fYOJQVhuhRAOJ97eT9PjEupXvmO99pQRvQqOqAMUDEb/kewdHqmmTaVUYm1AdueakRV2IKiaeOvwmqQWbiSvM1CP7T4KlGuJIdXMDUEk8CEDjR6igH88AACAASURBVG0ZhLgCuPPx+8/yGlgJYKbefzuQ6NtkTcXfnq/2Gfk0m8445tfw99dqdYhj9qrNDJbD5fMJkMSg4wdMnFBg/YWIBhLvtwNEh/H4tbk29SA+9b02BqLJyA9EWDdX7mXd/23yLflmsMiRGrOZVtSRtq20irut67np2ua3564T3hTBJd8LebFpJ3HpyZlLs+pI327qUsDTAjDC8bEE28vT56c5UiMmLUTzh4T0Ocz5rpi/Fn9z6OeFWp4TZt6SAVERXgRmLYI/LoDEBhIAoC244sHWzl66iun4ARNv+tjQlwY2IBF/d+GxtYW2dKEqijOZlrPoo0pppLr9X6bS2UZz1zVwpMzBFswCPI6ZyxtBp8BZbdqJGi2l5peEmbdMfoNHZy6PpbnykErBWvVfbZvhb8lUFg9MuBPBZQFQ5X0QysvYc0zCQYUjla/lGWH6zdFAooGFtXRQNIAYZYLxmC248uFCTX06Qen4AZPzf5IHaNz8ErptYo1cABCN4NGeEh65ZuU65jeXl+CUW1H4t81iqGgFQkkNDlZYnjql4X3lhpwT89+i0EwJvg1/f62aiQJUNu1EN21x8xLrHlXcOUy4cF2TqUsFGm79W9LmIsHk6PQaXyuxOd0lx7pRW9HfGzuosMV/P1guVP2Apk7qdE1b4RpJLftqM2l5v9tw1SPV9+cEp+MHTACgeyIH0J2yFuKuxFJrIW7vBqiMh69auX6U/p8WAdoZZdKSPnxJWPiCpYsjVWg0exW3krDZ1CKOigNzi9kElOp4aubSXLXX52BFu4kr2rRl0k7iXdepyRVt6kpJz8cW0SXev0z/k5FgwsFCTYwGU6K+VAUq1WslNPm7na5G4hRtrVbbqMmkhTjHjOPqx1o4sdzxQ8cXmABAZioP4HqIBRIjbaqw7e8AqIiHrsi1pzMxyJnHeyHQRnSB6JqzjBE4gsAa+qep0xuayHnGwEK5AjapmVgUAJHNPmYfSi2OeLvwNpu3fNDwI6+0Ja5m0m27li150WaCUsAl0vm+MHNRtsJSQ+qzriq3RLx+CKi464tvHHy1UM1z+bfJN3VypIoE1h2qdajatr8PenuzhSEm6CAAkmueyFXTl4bRwnAOC9fn8ezb83juHdm28FAnHX9gAgBrpicAyiKqhDsQ58XsAGgXHrx8ZY5WBn+xBKJcpDaijJJVAe4uhf88dUa6kexxb54TI4CYNBGTD4WBIzX0yMwVVZnifCHqg0HgH5DL0SvgYRW60ZWD52avyerXSfn+CBXYbGHAtVYKriCV959x4GcJAQw1E171L9lBpdYaas47wbq981AokDRCI4kFKOPoearqvtRNhwczKA0VQdgFYDsI20E0h+fekW85L3XS8QkmAHDBbMkFlHmzZoIqXjYAoK144NIiHrhk5flRhn5V4mDbtNGmpI2Ej35dIdLBwQqNZI0zNqFqIGHOeJOZS1ivSjupsFRZBNK4Ji6TeSuumaviZr4b+2vKNTGAjA1QosDkyZlLsxysx9RfsTyKObfEpBVGgsr8/1Flwcl/nXpLgQsThnn8EVgIACA+OET6UWDavoDs07lq+lE3PbO5E8/0jwF0GE4x2oAnh8XteO6dWeOxR2/qxAs3j+GFWwjHbiUcu62MF29vuzn++AUTALhw7xIu2peFV4akJmc8xO09ICpi/qK2PziVfmPol2McbD746MMBxCpEnAKL+UbxdX7/00scbFwHLt0hbBZoEuhVVf6Gg5V1jcyUQBk4o0Oc7+AxPhcOllW1D3P/ZAEtgoypSoB7XCiYcFcrsflEHC1N0MpCfSexQCVfzfP456l0oYLUiCXhERxujfdatYz45mvxdwFE2Wr6UTc93TsMZyqNrRpPMn+6NeTIjcMAyiBsBeDJsy4QJvDiSFsHusc3mHh08YFRELYA0DPHo+2o6m83iIooXrDiCkVypIY5Y8umkhcm4SQLByaaeLaXp89tGGBWkJqQhZFNW1D5FdYdc0333Ow16fj3QzcpqUJdBo9I7STy2hV1QiwLiOlRWgpwGsDl6v6HrGDyyMwV2QpYj27KDCmlYi2PYn5HFFCZf/PAC8W4z2Jp6tQCR2rE9+npCY/+4mBAtUCC6Db6t+0AybWl1tTbenJDGk9tLIJoN5waeTJvJlnzrGvueu5daTz/7iJAu13Tu9q2C6C21ho8McAEAC45WHBGILRYB5B4vx0g7Mbcmnxb+mKhfzf00yWOVM6mfRgXKfNaEnYTr0yf15CRzkX9j09wsGXdrKJrKRWVL2mknkIF8curmJzdookrDDwsmkk67Hqzs+s6OViXDFLREV1aiLQELikPTEOd75KvpJrnL/hWwrQTw3nzcZ/DP02dluN+qLICngbnvq+l+EBSS/mUyN9FEGVx3bOtAZIn1ucBlEDoAaDzZOdzFM++Ywyg1+FYRsxtnfXt7TR3nThgAgCX3lcCUQamYolVmcAA/+Hd3z2B+85fMX6Ufz9YnuBI7bQLBcmkFSY0ujhSDQs64ELOiWmkXBFGq6JgM2SO5+Jes3fzfcUw7SAAERNwmIVvGFWk/BK7VmRKXrTllcTxlxRnrs5ysB49sCHc2V5R+RIc9qawZGF9/pSB54txnsF/mXpbjoPtMgGVrqWI2ol3v6M0kpqAZBmEYax7vvlA8vi1WTx+XRnORH2CRoFA3ojrOr8dAG0N7VOUaaxFdGKBCQBcNreEy4sZ+LM1utsDgIj41do5E24dOjfdht4YiYPluVCXShMI1gmQNAE+8sL0moaY87hQSdgEIKL2oQhR1V7ftXf2utijr3gmLrN2Uq0DniOVNWkfdjCTtxkc7uJ5rGDCWSrvA7H2vFWAsWgnhnckBFTyce79L6fOdIHE7LvT+DG8kxUXWDQAiQ0kMAAJZbH+SHPrbT3a04nHsgUQzcFk0rJqJFBkEszb7Pt68OLtuQb3JhadeGDi0RUP5Bw/SjUvJWz7uwEq4eDZ2bb0RaE3Dr66xMFyRsGh2Mh1G7t2TOH56QvS9fJ0Zf/DpYpUSTgAkPjRXL6gzsW9rtwnwcQlhQYHvomIJRTEOGOZQKhHm7psfZXNf37fi6ZrHpxdm+VgPT5YSPOPmCK2DL4TK7gE90fYP3/GwIKRF5F+On12hjMTkEQAmqahpOBpKnVoIjKQbHihuUDyyNWjAJUhTu5Vq2ZVyz6iMbx4e8utJScumADAlQ8WQLQGYbM1xvOhwFFHMYcDZ62ICbf+t8GXSxypO2UNIGx0qgoWf72jwhqTHc8ZK1SY2QQTHc0ljeBzca9ZYWzRAwM5ksnugA/RTIqh1xK1ErHkveH6JkAR/1a0lOXezfeVjffUzXZXAcKJ3EpB1kJjAohhm2B6zEfd89enz81wsKJkuox5HWmwYWgb/g0iavsoNr7YPCB56MoMHr6qCGAHCB1wL+v8NhAsovd1oN55ZWqgExtMAOCqhx0/im22RiDmqMdvtwP7zyi0viM6/c7gi3mO1Lx9QiNFYGijUt853/PMzCV1gyQHK6gCW9eSTGYuDVw6ds9ujGV+40gVTWAV5oC3gO1ylCDlYEXT+Y0OeLUysAFghHMYBeCe2XW5ip9tb7uvsoCWwbHKgo6MTZ478Ewx7B68PH1+xr0PHZppNTaIicfoC4UCh/V3Cza9XIjzzlRND17W6SQ102FYneQQgEU41taPaoHEX/yfrTh2e7Yp/bVQAiYAcPWjZTiRXkKhSHdfLXZZohHsO72Efae13THPGcu5glAXDhEjQ0Uo7Xhy5tK6IkWu2zxf5mAL6gjaHIFkDqUN+EvFBBOWr/j9N/szbNFbLigsV5CarCCVvbFvNnRUe0Pf7FjFrZSsgopd8xL6KgCMGBxh04gqQmVg/V5afCaatqIDegiohA4ojk1n0kYg8c5nDUU2LWazlwMmhqz58MHfFvRWV/IlNj1wSZAzUg24aZoTDCBj+LXtM8urbIN6GYve0MqLrWi65vElADnMX1wCYUf8FwMqkHjrTqHIPW/Nou/Vtk2uc/LA0fLr0+fmCNhN0sfI4JTW8/52ZiaU/hbW3e2FR2cuz17e/2jNUTAVJ0JsV3Be+NeAcC0I+8DENv7+dJzr3dA3W/7hnoEMAXnhmDQBXUDgUCfDsbf1TVU38TuAm/tmMj/YMzDKgCyADNzrBD3yrhpsY9LW4G/GvPa6ZjIxuzHHwLqcszjHBAtz7xZzz8f880oLc9uSfjy57VPBseMX9z9etvX7yPQFnQxsggEdEK4H4bx+LxnASNkm/QZ9gssnSHxaTpsUCIzcHQTb753Y/HrBxnfNVLwoDcYKAOsBEzSCcF6CTrRiX4uJEZk+oxOcihdmQTQBrzS2EUigb7e32dKUF7oKemX6/AIBIzYwcYBE+FsGERFcdl7Z/3DNJq/Z2XWdBPw6AAzxOgDAQCwQu0Zwcdbnb+ybzdbCw9/tGcoCmPPOqZP/Jb5xpG+irvDR7+8ZLAJOboEIXbIADfubwIBT3tW3pyye9yd7NpUZoSsAkuAXyt/Rv+46GbaB4BY7OeXS/kclHjxamLmoM0VUZKBuB4CCtyalnUfZRqTsM7V1fj3wENt4+x3EcRcfsdg4+n+aq+Z5xaK5C/JgbBRgHf51mbsAkLapv63ax9gywDI46y7jM2sGJWYuE2WfLgJKoUj/F9UCCQDahZmuQht64hMHG+VILYabHmJF3mx9YOaqmsOFN28+tMSRmpRMLxBMa7J5x2jmCotuinkvDGY+0bTlm7/qTgCr+BNlma5nzysR2m5RgeSePX05DtallkZRI+PMvyafihw0YHjm4zYgeWbmkk4OVuSMdZuPjY4WizJ7SZWwLSHt8jcIANR4ILm/O4v7M2VoOSMm+aD+Rlg5qt4nXEC9HrAAQraVQAIkYGKntYe9QpGTwcNDzAcOU5sRTJ9cxPSb2+JHedvAwhIHGxacqVanqMmXopT6KMzN1j5xGHeqxvrCpMJ0+75+XUnAjt/cN52v9fqB0A1Cb42Oa2+kWSN9b8/1aQ7WYcozMYDjQgWp6znYnRWweY7UOAdbe2PfTEE9LwdLa0mfdiDQnO4ikMv9lnxS4jPI2/rInaCKbr8/yoAgDEikpMUoEFH4I0M74Vsbx8DPc3U9PJEOndeJ+84rwJYzEgYEfpvgxyD8a9jnnVO6zjJA23D2jzI4+4ctN60nPpMwunZhCcAwDp2Xd0cjiB5BIKxND4hKmHrTMAZ/0fKHfdbA4dJz0xfeSQzbZf+J6B9hkH0pwt+BKayDwCbg+AWqpuHN+wv37ukdI6BDNHMB8NdlM5e/vkhgw7f3TdZ17zhLlb112cwlGqLqp4qbl8LI64H4v7fN9w9M5PomJgBEzjlecY8KfBGCb4QFPhKQ6jMx+U48D4nzd0rY5vpUxrObHyib+Hh85vICAxvyzgPh3HD9IoDIp/nXae/4QDg5PHCtnXN+fx8DUqS3S4EWQGhceP7Bc0bBWB7EOsDc7zuuHyNuG9RwnL5vEsAozrm73LC+V0mJZhKH1j2XB9EWxMlHiRyloAtERUz+bq4dXTlv4Ok8R2o+KrpIGykqo80KWM/+2bU1f7QVUTsxXtuYtNhZL5AAwB2995ZNUVwGDaUuMxcHc2ZclIo2CtoYC3iIqggsn9cJd1ZNgbLGIURtWetf6XlFBk0lb+Lh4ZkrCxWwEZNG4R8bUndL1kBsZq/gOF1Lkdu6+xc4WBZDv6y/TMqBMzM4cFYRoB2BScvdJ2kNcQaYNbSJ334ZoLU478fDOPeect39roMSMIlL648U4BWKDIvqihf51cHBdv3b5Jvyre8IwMFyHCljuLAmXAxhpIKw2bGnitImCg95J+zWBCBWM1fH9/Zcn2vMPZD9Fub8kngzK9qo4pajD/phqBIcgExsMLm1b6pYQWqLHXxNgjdlNWvaQIWDjV+7eb6sXv+BmavHuAQk9tylsAREK8DEDh+W2i5wsGyqXiDZd3on9r9tDBSWM6J+01B+mwEkAo86qGnPqB2UgEk1tOEFL8FxXn+RYgOJ+DFs/++TJ0/86+RbWupHuaD/iTJ3HPIxhIBJyEjCp1ALDzf2zZadkXtq3PURzHMwP2Nf9ym4AjhmfkkUmUfh8qRZFdTnM+FI9cSpEszBFu/ovbdczblv75sscLBTONh4VI6JNBDwfRqRoLJcMWglc7PX5DhjW2MBifgcYzvnZZAwaSSav4SxZQ42/JtDP68PSPaeNgxQCVRVYUXDb9DMXzf9xt1Gwgl1XjrQxuKOIiWhwbXSvtPHjC9dfCCB4IBc4GC5/zhYbqkf5dGZKyYIGPJ48f0jgoPT4drsWwn2YefQ5gMNsVPv2nN9kYAe32/C/Gsg8DTgjR/o/XFdgmPn3huLAOvx/rZ8BTtHe39UU7927r0xw4DD3t9qyK+zzesVJn+v9+6aQbKwZzjLQHPVhwiTm+8hh+u6v3du3nwoL17n4Gw2x4BdfuivEKYbKwzY20ZeDose/quGCQfhwEqIcLC+zEDZur6dPaekAVYAYz1yiC1QU6hunDaNb389undH+tuaSYlmUittenkUoC3RoxbYgSQY/XcTWHFp6tSWTrjFHXPXojQa1EIvLRFdcput9+7ZlG0ETxWwglSE0RDSWkH92km4icvXTmr2mXB/+l5dK5HLpaRQiTG3e/i1WE41d9lmW9SerdkMtczBpNHuvtlrcxwpuZS85o+J0nY005RV6xD9KGTQUijgsz4gme3Kw8lgN5i03DaeZlCv+aoxPpKAd1mDabt2koBJPdT7agGgNa4TTHn4bpswIJE/jA4Otvv/nDqtZYUir+x/2KkuHCkUdJu6L7gCs8nE3Xv66jbXccYmzFP6SmHDdd+jcBNX0Pea++E53xXfjOX+Fmu9znf2viPNGfMnnrL7TcLAJaWav8YGNh/0Nb/Z2XUZjtSY9Z0IKc8SCmIGELEuZkDJdg6+VhuQTL85i5mTyyDajtDkZOV7Buwg0xAgUa6hXc96zS4sXJ+t6V40iBIwqZf6Xi8BlIaf4AjtJYsBJOKy479Mva3wq6kzWuJHuab/wSJ3fRVhiykHQylN3qGOZmuh9/feu8TBJuXraeDSvXPvTel6rsORKjtCTRCkhqVWqrhgooOht036u+aRNXcCGZRAiWjfiU3QV5xpn/3nODm7IVPx623FE/hh5yelvRlELCAkv29b/tPgK9Xft8mTOjH1pgIIc3ArCEQDSRhIuOcNE/6hwKBuq0GDkdbbRwmYNII2Ly6h/6cZEMbVh1sNkAh/jxBY8efTZ6Vbwf61m+fzTtKcCB4W7UQbhUrrI3ftGahfO3En0jJoJOI1c3Vdg7FyhYWauFCJmKY3/PypnqAEvDjq18xci9t6f1iT/+ev9747rYXnSlnx6kDAHhIsrI+9vW/fEgD8ZM8mtwJwSgKS0FDyiARE7b0yBHqQcoy07gDQlt8efKlQ9TOZPEmeZ8RgQWh4iG/DTFumbR7v/m9rpiC2UAImjaSBn+VAtM178OKHEAIcxr85Y90crLQ4fU5L5nTmTnZ8eLiwJKCsAqlufj/ce/cEB1vWQ2lFcKkPTOKYuDhYVy3n/ty+kYx8n8QwawZpAqsqQoINfcjbtBBPW/GqC6gZ74aoPHDBV3LPnj63TEqqI/SdMPpE7NFbJqAI3i39XAZA2XLS4LFCNffpv0+enPkfk28ucrAdHKzDKphtwNI2IBF4kvgTNgTHTCIz0baCskACJo2nwV+MgWgtB1vWQMQS7qj9HXyIHRzs8KvT5+WazfbGzfeXuVTS3DR6jIj5B8NtfZPFRvAjJjWKc5oLIND1pX231eMg989n8zPUGhrsON9Fk5YEghIY1+p8H9t7U5YjNaIBiAb06ug/dQoH28LBFpV+L3Ow3I19s0s/2tPvAIln2gop1WICDNPgI/rdSYnvvW3Z+ZaBo4W49+ifp9Kd/zLVNcbBDnOwHvF7jBXa65FqfmqZjyQ2GO0EUS7ufWkWJWDSDBr6VZEcm/mC+GHF0lDMZrBdL013F5rN9ubNh8a4W4RRGmUqH73ZkZxCBWxno3jhSBWMJhQhe5zXoZ1wsFKEiQscKWzf9950DefO6CYtry+amatYI/8S8FuSLuVfxsbf2/eT8nv6dhe29E2kOdj1FbA7OVLbOFjmlr7pCffcYxVl0i3buxAJLjFAKM6Ai4ONnzLwfOzAi6WpU4cJrMTBttqc/bF8JTahH6YxhGoT6rYaNJgA9OYBrMEFM6NYM91WExeQ1OZqGv3G0C/K/zZ5cpaDFYixIROIxAQS7++Ro9NrMgSWPWfgmaa9OBwsR2Blzry6Wd71IfAcrAv5J/Pv6dvdsEi0P+q9q/jlvbcuEnNMTZZ6XTmgtjpMFTD3HjLpOzdQGlVmGFfAhp0zi/8T5G1+HauqNZOv7L01y5Dqcc5pq79lrMOVF8/znr7dxlpgHGxErZ1FcOcP8dIvSJ+zBDBtAxhzz0DydlMNrhQA7tabEraNnz6wkItzb/7r1OnpFKjA3ByiFFzxywAuPGhve+R8KGjgvprbM3XbMhjyuHBP28OBRUo0kybS/zT0s6X/eeinw1yJljJm9caIvedw/CgLMxc1zY8yvHn/EmdsOHw0aRyR9nxn7zuyjeSFs9REMIJXR+BOeZXP7NtSU86JqiWoo3zPXFSp8hP50313dHKkunR/j3o9J/P905t2VT0w4IzlDTNhRjyr1PgHe+PVbtI10Dgah5AXYntXrO+4ORfFPc/kmQOlXBy+fzV1Rp472kiP7RszDeoaZr6qy0fidiLa3DUOUBoX7VtRQAI0CkyO3TqKF24ZxdGb2z5N7Uqk/zBYznOw68n1o2gaiqKRGKNYvHXGujhY8emZS3LN4vcdfXuLHKmdpg/eZOISzE6Fb+59V8PeAQ7m5zbYIrtqTWD87KbvFNXwY9G8JfSvKuCugGUqyjnV+yiYuarWSj6/byRbQaqnAmaot6XP6S4s+bjX4EgtmJ699neEL0V1tnvRjCawMYYIM7bAWbQp86fTZ2d/Pn1WmYNt50IIs+WcklbttINBmDcSSAzn10AjEowWQbQWlxzM4eIDbTdpmah+MDl2WycIeQA7ACrjyI1jOHJDuu7zHmfUOfjaBHcK/y1w5eOyvfyaLVlwzBPYridmLmva6OSGvtnRSKGiC5Mu3oBcE48+tWm8HPBgjewa+fS+99UEYJx5eSYpa54JZ6yqc3OWyqo5OPo88H5fqgaTiilIgok1t0zPKzX+kd6/L8fuA9hoJJBI73BIcqJFoHv7jRqE87vAwbLn9z9tFZyvTp/X+fr0uQUONsfBumyahy0QxgMSxzAXoSkYNYYY+4DaNRhnWQZwJy69P41L7yvGfYbtoAZoJjQMP4MUHQC2gvA6nn/3BJ57Z1ZrXhpK4/Cgvv0EoP80+EqJg2UJbL5aILFoK1sfnbmi+PDMlU3RCDlYTgQ/d1kMPkijM37k63tvbFhZmIqbc6IKZt4A7cQWySUXe6zuE6mIznexLIwPXNL9qqqWUn7fe7IcqR6x/2KkG/cEuxx5t8yrrBjw3r6fFDnYWvdYC1Aoz8OQLxJ2HBm0GuG9XiCw7Jr+J61A8uJ09ygHK3MnJ0v7Vmwg5e9jDByQ9rfetCWBBjQQI8wDyOCyuXw1z69dVD+YEPLGm0M0BGAOz76jjGffnsPC9WmUhooAvQ7QHJ7pX8Izmwt4ui9dNw+riH578KWl3xl8McsZ2ym+4DUAibf0cLDiAzNXN9yPcmvfVOm2vqmMK1jWcrA17+3bneaMTaofqizgWGHH3pvTjeCBg02ogGUIua3Rb8Lmg/OKZi6pX9VpJiFmLj+82RWkX9j07ao0E65FcIUI7CCce+yPeu+q2izyvr6fFDlLZWVACc8DCQYZISCinkvXJpY5WO6i/seNPD8/fUHm6PSaIrk5IypQiDzYQMUJIIHvQ4kVMlwLyNjCjgEVNIRtrkkLdD2ueCCLy/UpAFYq1Qcmx27tlNAUEG+It3SBaJcDIugR2nbAyUR9HU9tmsBTG7N18bLK6M0DL4ySE++/bP04reUmtLbdnLHi/bM9TSkUuaVvovievt3F9/b9pAT4GsuyScC4grSDgxUace3PbPpumYMtGJMkA/PU0Mf2f6hq7Swq18TdHhukR/f/vut8V8rmm01F89Xw+if77sh6WomeXGktnyKVRqmW7ui9t8QZK9iAxOp0N5i9wt5jAYCWCSx7Wf+jGsgenrm4c2HmojHOnJwR2zlVQBFBxYtEDPuejA752EACyMIQClBAP1YfiO8EUQZXPtTWCsC1UH1gcuYPlnDWXWk41XPnjaqat2JU7/yfIRDm8OSGMp5Yl8Pj150QjvyugSMF7vhRjAmOYRqLtM58Ab774OzafLP5/mDvj9355E0jVn+958t7b2sIL9yZZzyoP2X2SVQNpCYQEaO4PLCp4nwZUz5JwGPtznfuBiOEl0bRhP3YJzb9Xc3O2r/Z+64c9/I0QqK3jNtZ2GBId7qTMydJ9sr+h7X78uTMpcPczRkxmYetfhKJZycMWQ5pt0V4IURzgIwXmlYBM+CYrTfir5MzctWjo7jqkRXpYI+ixkRznf2jAs75+ywIawAaj1Tt7De1C8AuAGU8du0YHlubbgh/K5jeOvBcicDSXHHMq8BhNXXpfpfte2evK+yZXddUQP5w793FCpgU8VVR+WJs+xf23V63+Y2zVMHko1GAIFf1eR2bO/RILlm4VHG+rCrwQ6K5YoPJx/d/cJizVLdtUis5gsvXtJYrdQRDfGPvDTkOtksDCCtwye+mSUPwzmV5l4d7+h+U7skjM1ekH5u5vEhgu7kT3BEJICZ+HOkSwrdk7nLaRmom1Zi2jNvcThKWAWzDNU9kcfVjbS2HUi81Ns/k3H8o4dx7cgDeCOBOEBbND8AlEVzkB9QB0FYQvY5HeybwyDXZhvK5wuhtAwtLZw6UMgQ2Xo9jXlhGOFhxanZD7snNvQAAIABJREFUupl8c8eG70dbBSAiaSoTf74vVxewfWnjN5c4Aj+NEhrsCdSej+z/g3R1/KfKhnpcipCOb+aqIJXRQ6jN0VzVgAl3MtKd44T7qznfZaE99mc15LAAwM69N+lAIg0SaoveChHoW67dPF8UeXhw5qo8uTkjRrAIqSgh+09g3Ke3Y4jtkLdtM+5zSbF+ufudnJGeJ1dczkgt1JykxfN+vITz782j+ydpAHcCiNBKIN9sX2UkOI58msPDV5Xx8JU5PHTFcWsCO2fgmRxnbEstQGJY7+Zgpd2zzfNFbev9kTMfiiI0FMHSkHDhClIT4r0wFSqsVGnqCo3kcqOvOEt1xD0fr8LM9fWNX48FJtv2fzhXcf0wEp+G6sCC6Uub3CoufW3vLRku5PeYFnXAEwoklvbC+7plw+a5gnf9+2d7snOz15S5mzMSGS4fAlKelhFV88uXRkwHmmgfiUsmE5i3QT/WyRlZ+0wOWXvo82qj5mfAExUjtZKwjFC/re/IL+PBy/J44NJ003lvA3X3P1UgsDVUhWM+ZL2Ds9TcPXt6mzbh1kd77ypxxrbZCkG6wnXkz/a9t67ggB0b/6pQcSsJq8JL0FSq6meQS+LlmqQMAjqemet9B/4ozRnr8v053nnrdL7reSWG+d51nsf+fNPfVi2kvrz3NrfkvBclFeF0V4R5qOCHcz+U93NL7+b7CgCwb/bazgOzawscbI7g3EfbecIit4K2spZhAoooh7wHNHbQqMK05awvA3Qnrl1I49pSsdrns9Kp+WCSmSz65q44Ji9bHHbwEDsAbAfodcxfXMD8Rdmm96HFdEH/EyXuFoqM45iPGg0S2I6/37O50Cx+/3jT98cqUpitJuTBkSr8yb476tIqOVITegVeab3r/fu3xTZLcaSKNjOXmD2eO/DRSL4d53tK4YdJhSk9kKmweMUdP7z/IznuayXhFY4FE1hNWskX9t2e4YwVOQubBMtc9iRE69C3BW3H+zcfLADA7Oy6UXJzRkzvb9g5da3Hkxhm05h8Drmd6JDX/CdxTVswyCwA8HJGrnsuX+2zWS3UotpcNOwAivenDTBUk1eYnRIAMALCHIoXljB3Qa4FHWkZXdL/WJkch+64OrqyfbjhHw4buWvPQOn7ewableA4zMOT3Dp4lUl6hmtMSIJaBIIgTDgX93xhZi4uL5EAxf1pepl/XIjfJJaJi/taiUEbMf4ycLCxL276VlVayZ/vy3VypIpcLDkfGiVmAbIwEJE1mvHhzftzE7MbM1OzG4rczRkxvtvWEF9lu1sL0caDDhawgpTRfxLpN3FJ1Vwck9b1WH8ki3XPl6t5LquNWgMma6ZLuGAmDaItAC0AUFDbhvTefnHF+FC7AdqF+zNLuK87j/vOTze5Ry2hy/sfWbqy/+EcgW1T7b5hEV569WH/Q+7mYOXCnuGGJzh+elNB8J9YytSzVM/H93+wZpPbX2/cOcGRWvSFs5hdHlwvtjlNFIaWhMVAmESeK5UNgEM+ryR0Yzrf379/W86Us2JbXLBZrDaCK7/vPfLcJaJAld6jGOASQ5PgzuBo9N49vdI8I2HvtcnnYTRpGUxZZl5lIJGP0TWbwH8i3DjNR2LUXJyckQ0vrLqckVqotVWDL9xTwIV7MwCtBWjckG8iIrpda7GbxDoAckxgh84t4OA52Zb0q8l0Tf+DYxzseu6O/EO1E8sHLQiDDl5F0b9qKL/pexNcCRc2CKb8H+7/vdontWJswgcRFawcEOsaOfCxWIASFs2lFkqMIquZC5pWsrxrw1fLMfqZd/po1kLUUGD3/Pm/2PjXsbWST+97nwskqW65/yn52VneNaHtAgfbpr5/hndvnjvapTbPSJS/xaSVc1/4G81oBqBw2yuRYKpZS7yeCDCh5i4tZ4TWYONLo9j44nHjYI+i9pSgv2h/ERcfyAE4BUR3ArQsPxChrQ1cVBAS2zrtRgCaw4GzSjhwZq7JPWo6Xbt5foKcul4Lto8uxkx1XvuhZvHJ/XBh0TEsCfy6suPVWl2qwHavEQtM7trwxbLpPNWauW488Mm0C9JWM5cAMpFayZYDH81xpLoqIhAzGeT0Z5ta3LnxG4WYtxEA4AAJ69bPpQ4GbBntKbiBIrkP9d4zxuFGIpqjrJY5WCcJOSNRfhGbvzAwU8HY3qyVKO01HqHzUZW5C4CXM9L7ahabXllZOSPPbM7gcH9TpwBv73wmlxws49L78rj0/k4AWwAsmLUS4RgZMOxtA/WzG0S7sP9tZew7PY+9p63a0OL1m+dK3PGjTGrmgJARpOZLYbVNRxuHPrfpO465yxA6KgjC7j/Y/wc1ha5+b8PXShUht8XkkK8mRDg4T6iZK/SdEfNLAj6C88ogw4ph57r9wMc7OVjeCESGkvMCj/m4fQaAT+z7QIGbZlMUfRuG90a5L8scLPv7vf9QAoAP9d5T4F4komYmYx0ecIWZsaw+EQMoWE1ZUoSX3WzlaB8h+wFLuLBwIwMriZMz0vfaysgZeXJDJ57amMNTmwp4um8JwGEQDuPwQBmlwaaAysqZHOuyuQIuL2ZAWAtgHECIycs9xmSv1FROv0kXgO0Afo09by1gzylNRelmUe/m+5Y2bz4kTbgVF0iEdpPN5PGLm75VcvgLTW7b+nv7t2ZrOT/XKglrgrDjhgOfysU5l2TmErSAirJE8JPxTE4mM5cCdqEjVg42WhEiuPQ+Mk1b4Ugt/vXGnYW49++j+z9U4IyNxJuG15C06Gxf5mDZrb0/kvrzod57ShwszR2z153EArOndYAT8Q7bgEcFGxNQWAYHAjBF74swdy2CaC36F3PYXG6vSevxazN4/Lo8nlhfAvBrEHYBGIFf1Z0AUBcIRZSG0o2+/MoBE4+ueKCIKx7MAXQKQHe6qqNDIrioKqa/31sPsWuCRkA4jNl0ETNduab2p0k0uPlAnsC2uDWNYgCJ9HFk/2rvu3PN5O+rG/8mz7Xy9ZqwmvjA/m01FGjUKwnLQjd+rS7O2LxsRjKauUJ55IxlRRDiYrl53bdjBZObDnyyk0tziTjHhUZyOdfIx7132/Z/OMeFENywnCXrNudeDf9R713Gvnyo956lD/b+eOz9vffmZQCKBhSTMz4waUFqF+lkt+SWiP4Rc/6JrKlYzF1OzsjAz9MY+Fkx7v1vKD1ydScevSaHR7MFPLZ2CYTDcNImuiMsOx0A5RrNzsoDE4+ufLiMqx7JA5R2o8AWq9JKxDZWDYd6ANqF6ZPLmH5zHlNvWlUmsOs37ytwx+y1qJm99I9fXDo42K6/3HtjU1VyDjbsjmANH3vK4YNV7z+5a8OXyhxs3lRWxQcUxobefvBPI59nILBDzVyhWmyYmcu7/y7ILN+z4XPlEF5GK45PCWYNx3gfF7+z4S9i3cOP7P+DHDeVSfEA0PyMtHeKwLZ8vPf7xTjX5GBpAkIBxeQX8QEBsknL5GjXgSAAA3NelqKR+GYxm8lL2zZPQAaDv8zHuQcNpYcuz+ChK/J4+CpB+6AREHXYB9hG2djwCuMrF0w8uvqxJVzzeAHXPJGGEwU2WVsRSShtJQ2nC0TbAfo1Jn+3wCdPWjUmsHf17SmRk+MwbwMSUd1XPqytf7H35omv7b2lKSC6c+M3ys5I2xAqHGgDQ+858NGqw4W5V0lYFLy+VuBfKxd9nvqiufoP5tMcrEN0vIsgoACUVSt554E/7awoWoktkksBrnyc+/Xh/VsFILEsMQI4ONiWT276u0Kcazr3lxX99y5u9BYLBLiJB9mUFQISMgCGgEWYSUzShhYJ7PrfGPpFlg39qhz3HtRF8xd1Yv7iHB64tIAHL7NrHx4Z5SAU+UcAqBulxuacrXwwEannqSKyTw/DiQLbCdByDUUkYdZwABCBnJnbDv+PyTcX/9vkyU2ZH6TRdGPfzNLNfdNZ8gpFxgASYX2IgxW/tO+2pgDoNzb+ZYELRRoVW78vEG8/8PF0NeflSE0EpVC8c2qaSi7qPBWwJVWAG8xcIXw4yYoigIigEvCSQiXE+V5hbJSzVIfXjzCNJAC51OL4hq8Uovr4gf2jWRlIQnwlzHtvjFralk9vKkReTyRyQH/ZyzY3aRRBefhgMZVJsTnbLdqDAjoh+wGDuUvRcMB2csYyvzn0s+bnjNyfyWDugjyKF5ZA+DVg0j6km6zcPXW/VUbq8u25d2bw3LvyeP7dRRy5oYgj8WdNXV1g4tHaZ8q4tjQKIA1gC6LKtYTeWBnBBeHbQ2C7/2Wqq/zPU+nR5alTV7wJ7La+yRwHtnBAzQieJyE7XQMVxro5WPHz+0aaAp4cLMeRWlRBRFiqzo7/8YbPLnGhOoAa0eVu79588M50BG+lGGYu6zkqSEXmlwg8GjWToYPbJV+JrGEF2khFP2ekRve+A3+Y4UqRzFiLEjpLYOP5Td8rRF1PpQ/33r1Eft/cL4+JWoBZA4nvbNdDhPUFFq3LFi4sAc88ga35D4Pl0d8aXGyOg/3QOZ04dF4O951fwP3dTuQVaLubjI14pit1gBxi9g+2Z1Ea7ERpOIeF6wt49u1LIHKuDeoBoQfAbhy9KZZcWJ1g4tG1C0u47tkC1j2XhhMF5kQpmW5muMoHEAkvLIQRDesisB0ElP+vqdMK/3Xq9HTL+lcDbembKBBjp3An2utODnb97/Xek+WOb2XBACTeegcH2/3n+7Y0vCjktzbuWOLMy45XR9iB4L/pwCfy1ZxXrCRsKrESRzsJ0wIEM1eX/XhxDpPIhEUjmLjmrQ4jAElOfAmY5n+44YuhALzlwEedwo2MddiBPMRXEgjg8T/f9Leh9zGMPtx7d4EEMyyHFxCiR0xp4MHs+2wOeZt2EeEHEcCJgTuDr21vHHw12zH4WuNzRvafmcGBs/I4eLarfZCsfcQy4UNpYzB7+fuNx43o1zacjygfp0uMyHDh1UwHzkyDKA+iYXghceSOX2xVPYlAIGjqviKcxA+Zg42dNHhsVZVJGNt7Uyd3zA5DCpDIAOOYy0Y/U0Pl2TDKHfhYnoDtonlD/7Cx9u4Nny/GPefmg/klgHUEgzLmfiveLxb3r/902nb8dQc/l4cTMu4fb6L713/KuOO6g59bAuB/hEGj4EzOLy0fWP9pTbvtO3hnJ4AyAzq8Y5j/C6k3DAAj705h7T0bPle09ev2Ax/PMFCRAR2O0Yqkc4h/e+vBL/ynkQKNf3njN3O268Slr++9IZMCHfaukwIhRSRdW12Y0k5euN6W7Pvla3L8hvGa3GszngKN/s5gA7PX97y1E4wNg7EswIbBWAeY+5SZuyAlrCu/tv3SesqyPerctuOk7afg7B+Vw7q4ujUTE204VsbGF3MApUG0DTGjwEyjFVENV0YvPcTY7p9Nn11enD5n9LXpc1e8CQwARnt/tPSHvT8cJsf+azQhuOsjHKz4qX3vTzfy+oUNX8lzLVxYGx0X3hEjCssjLmknekRVBaxr3cHPWf1B3CntAa6WoFcWE2UPfSFdYakOMRIqJGHRopWkfK3E4mA3aCqp+TAgueXAJ7xBQ4fxPtvNjer7MN8IIBnbe1OWu0U6pW9L8YuY3kfBQiBoI2ZHu1jE0e4bMZnV/Cl9Fwls7UmDx3INAZKZrgxm03nMnlICyNEAiEYAT/sQ2lqtKSH7tXPE0FqMyoNNo5G2Z6O6e/yBiUebXl5C7ytj6H01DdD1gDhHvfyQlJGxb9O1qcSCit3FwXYQWPnl6fMLL053p9vQ06rpY70/GOVO6YtlwSaugko3Byv98f4PZht5bS5VFzaZdFJdvIpyK1ychRCaz8Rbt5ruOEstOfOOmAWqZ+q6+tAXs4ZrB5WC/cm0VCDyeSmqx687+Nk0B9seFlFWbbb7DQc+1VmJUybFoJUq11ngVU42ptJX9t6a/ureWya4N0eJASjsIb46v3aQqM+sRc53cGfXwJH0yQNHtecUmyZP6sTUm3KYfnMB0ycvAb7/obsmcPAaVgsSxnNDONa2HWFAFfkuHL9gIlLf6xPYXM6CcAqAcShRYOrLxo0vn9Oam0dAHeREgb1+dHrNxPPTF2Tb1teY9MlNf1cgN0dF/cj9dWdui7mP7v9Qw/wobo5IXh9xS8JyaPDg9lyc8+1f/+kSdysJa6P6YB4R64dgHP1LDnl7RBd3/SXyOVK6huREnGmaCUcqr/PtgaK1esD8xPrPFE19eeeBP/EqAHfrAGQokyJE1inCe5GDZXds/KuaR+df2Hf7KGesRE60oAYWJo3CqG1AGB+Hhi4HlYP17XpeiQA88wSWeetAbfOM/H+TJ2f+bfJNeT55Urj2YbGIhIODgixVgURcrSUOLwBOaM3ERP2LZfT/NAcgDWAbCIvyC65mzUJ7yW0gI7Qb4ozNlWYuKj8zc0nuqZlLV6wJ7E83FUocLEOKc9TwUe4Y3f/hia37f78hffn7DV8YIy9cWMoLkQTfWFQklkfcy4iXJqGSBGnH1Ye+ZASUIDTYC9+1ayn6sV6yYqxIrqJ4bM+hL6S9kibq9SISFfPW+8BSExysmzQgMYKS4Vn7hRuHv77x6zUByWf2bcl+dl+uxN05SsxJgwbtw+BEN5qzIkJ445q7OGOLHOz6MwdK2bcNLJTj9m9p6tTO/3vqlNz/M5Uu/L9TXUscOExg28m971aBHFuDCBH2VWkS6rnr3t6BIzdmw+7NiQUmHg38fAmDvxjD0C/TBFzvCVPTy6nN3GZNqNJe3C4CdhFQfnzm8rFHZ65It7HHVspv+t7SnZu+m+VijoogACSQBCt+eP9HGpKPwhnLcaZOpiUJwNjhwpyxMTniSc+MtxV/fGTdx0sxs83T2nXBetRrWiK5Fh9c98dL8rGOViJXBo6cBGt+dv32oqkfQwf/rMDBekwFGU3CXNvuHLPMwbJ/vXFn1dFLn973vs7t+947xsHmPEBT3yeT+Upt531LZl+lAgiwTYZlzpwXvu2dBJY5d+CZWO/Xf546I/OPU6fn/2nqtBIH+zWB7SJghIAOkvoByAJZEfL1aCfisSq4GI8Lu2bM7eo1EJ41f2KCiUCpoV9OvGHo51kC1hBzBGrwsob5TQwjIsB38AkfSQcHtnKw1x+cuWpifubqbDv7a6PPbfpOjoNtCRtJukKi+MH9o9l6r3fv+s8uccd/EjZy7l5/8LP5qHMV132yzJGSHPu674SNXHboq0bNylbWvYKUuKTFYy4+9DUpWTGi9LwknK849OU0BxvRTVsMJjAQrmO8F/0H8wWO1IjItyk5NHiOxjIpy5yx7Lc27qgaSD617/057ky7u9VkxpKBIgxU5O/H+m5oPk0VZEymM4A7g8Y1a/qfHO3uf8qqeb02fW7n4vQ5uZ9Nn134xdRZS6RoH6bBpQh+1hF/LI0gSvsIO7dItu1VHKMBTrip64QHE4/+3dDPSr81uJgjsDeSk5+xqIEFM4149BGUveIoGyLG5u6f7Skfms3mDsyuXVEmsC9u+laBwNZwyyRc3AdHNnfHgT+s248yuf4zRQ6202TbFwT89msPfj7OtLkFURswAYtNO5GvbU9gFEk1cRmAULx2SblePtinHuNFXKUkbaWC1PzB9X9aVHnvPfiZAhcLN2qCN0Qoy9fPfXfD16oCko/t/1D64/s/WORgu0iJHFMBxRO8OoCEmLQMQOF/b8bcEvV79bcvE9i2S/sfy17c/7ixjy9Mr8m8ON2df3n6/BKB/ZqD7eLACDFH+4g7yAzEcz3aSRh4qMfWsx1VbqduHLkxbbh9ABIw0eg/Dr6+1DH4Wv5/HXw1TWBbCJh3RkzKCMrwkuvzKFg/hi5yyluU98xel5+ZXZduX49l+srGvylxsDQJIbyaycvp544tBz5ayB34WF2AOLM+P8qVcGFDHa+JnkNfCK/cK5SlF8BDFe4587GphSDD3C5wletlwjSSigw0Re+4iw99Lc2RGgkzj2n3wtEyNN7XH/xszgQk8iBA9UmZy6QUNnwlds7U6P7f79y2/8N5DvY6eaY1CRiiNBBxu8GkZTSLRZWLN4ERQMA4gaWv6H9EKmr69MwlnYdnLs4tzFxUeG76Qqv2wX1+ZEuEZJmoSTuBeX/joq+atT0LCyVgEkL/++DLhd8efCnrjNYxLr3wEF8sZgldDF44eZToj2463Bf49cnZDYXdsxuz7eyvRzs2/tUSdyKVdmraiexPGeFgxdsO/HG6nutxsByXqgsL+RDOPeviEXObP7ruY0vcrwFm1nQ4Uj2ZQ2Marxxsya/vZQrtdZasdAxjGansvAZgEqiVhGvlVR7N0WSSljVeXPfJsnj9aw9+PkemCsA2x7tiPhOe4Zbvb/hyIe6z+v39HxnmYGUC2y6dy3BuI6gwEUDk70XjVxXa6hIaLoxFDra2p//B3NX9Dy0BwCMzV2Qem7k8/8TMZSUSfR8MHTKvKl9mbcTWPlI78fY1FCTUczZiu/r0CQCl1a0eJWASg04aPFY6eeCFHAFvJLA7yS/5bnIUKgDifRDRUSgjxNjcj/f0lu7e05drX28d+suNX1/6xsa/HHVqfbn5KGaTSTcHK9104BM1O+ad8F5PyKqCzzf/jFxx6MuhDkDuJsYpglwFKO0c+shdjuwyVQ7mSPWYCiRqyY9gi4fXbVsCgMyhsbSslWh9tIy8U3nx2j2HvpDjjO2KUZ5eeg8Nz/DOH274YiHOM/rA/tH0h/aPFsmZdrdDBQ1PuBsBxN/mvvMW05sOFjagkM+l7Fsm4M71m4tpAivdP9uTK85eU3hg5qolDnaY23wfod8zC4kQC9NOhBtoE97+fjLvjw0GNm0G4dulBup2I3BZNdgETKqg9MCRpVMHnsufNvBsmpykvwXTSx+MqELBA+KoRxHOu364p3/pB3sG8n+3p/EzolVDf7NxZ4HAsm4opd8/RVB0cKQOvzvm7IYmOrT+T8Y4S01G2PgLlx76atp2jgrYBFfnT/G1C1+Qajw64cGBqcpm7vLorPu+YTRxGX0gQn4JZ2zMpIGo11G2jT+87uNl7xxXHfpShrsaCekh0BHgIgHf+N0bPp+P82zed+AP8wT2Ogd6TCAiAYLmFwlEktrOBBLet2M3a4XumycgR2DYP3utq33AjbxiHfI3p3yLiuNf/17VY4I+2bWTOMLeJMSFY8MEvPWYKs4TRysJtm/DOf9g9aslYFIjnTFQKpw9cDhDYGsJbFx/uUyjGua3kUdjMI3CXBMYXt+15/rCd/e8Pduuvn574w4vH0UrhaKAy653HPzTQq3X4WA5bsuOd7Z18JDs+MPrti1xsAkJQATh7Ar/7rPu+4akRXGkSgYhri5pgU9L2XkVEAIT1zn3fT3LnRyksNwa02/eu+7lh77iFG5U702Iicl0DQIbv3f9Z3NRz2PkwMeyWw58tMzBtgfmzUCoyu+wCBQWAFHa6hqKYcBlyPvSNRgGcpzsGe5oTts5WLck/A2ahRk0gm+0Vu1E3C8L5bjaRxjwNHO7xs8yiMYBbAHwRpx7T6ipOQGTOum8gaeL3f1P5TicSr3uS20cweijNfuLrpxjhBjmvr33naVv7n1Xrh39/N6Gry3t2vDVDBfyUTTB5QiHkaGDf1YaPLi9asf8/LpPLHGkcjYh6C49Fxzakbedo8LYRERpFXBFOwkXvv7SFbRPZWztbcmKHCyvmt30ybx0reSJdf8/e28eHslV3Q3/TokQviRf1ISQvCGAeuDFgbCoB4xtCKDWNptn0QADGIzVAmN2RmPMYjBMC2ODWTw9xhiDsaeFzWKG2C17dm0tdgxmJAiBAGFabG8SvgQpy0cewtR5/6iqrrvW0uqWNDM6z9NPV917695bVbfu7/7OuefeN9cA4AJvKnLVlWZNGdRs5mcmvqvRSv97pPtX5aUn3p659MTbKq7nM9LBQhky8w5YgrwfiQhwZuYhD0LY+27Wmdu+CE7Gb8MfjFF7yD7C9NZvTgAN11JOeF00O1FBRSzPDh4QwtXOHUsIV1lFmnwYYJ4DeATAenRWMui8t4Cn/W0ZT/1CrBPrGpg0SZ6x9YHaM7d+o3jh1q9nGBhiwFvunUyN0g4eMTS+0wUO3Hz0xS3dbjdK7tzwgYLrqfjkjkE2zHe6oNmLx0dS21G+3PfWigvab+oQhd/ezon9xrz/rvdNFbe+RIzReRGuMkVYBh7RZmLebdEF5dR0JvALlp0/b/KWvAvqst9T4LkfAIvMSp4xcWM2BBKrXUXqxI1g76llI6d0v/jEO4Zdz2dkh6nzV/2QVJBQAUStp9LeZ5iw7qrNdxWv3PyZmutNyVfbvO1bgK5Ktn9nYt1N6eLV0nZ2YprZJV5nBg9bp7/UcMSkV0ULL2D9/UXkxlL7G62BSQvk2Vu/Wn7O1q/kXMBXgdkaKPkOWFa/FKUB1+N27z96SXal7u8zG95fZt8fRQRM5dfhgqobx68tpM3fG8WrKjVB/eONwitPmbzJ5oRo2OdEyqvjcZO35oX0szLwRNtMTkue76QBisCI5n/Y+7oF1+BXorImKT/fpnGyb7iWmyhlXG9l5Hb9PvSOWrheDZ9zQfnD/XuNI8znj78r94IT18y63sKl7VqeBkAxgQor92FhJosusPPqTaP5t226sxbUgUElFia32L8B6GUBBmdGw/emhanlNMJOogEovtM3qpjSh2tgYQq3saF6vg0v7rkGJi2U/NYvVXsunimwR+FH2O98NXqtNUohzDqjBdmVvLe7N1w/64JyLnmdvsBKxP92Bh3oG78uFZN6oO+qBdezn8gdptxJdrgWj3BX8DmRgUg6LoTpnfrWvVF2k8dOfiL/2MlPGOwlQb6aimv2cZO35l1Ql70+1l/xqZM3ZVyyrQAclYc/iyt8VnMunPzx/ndpQLJtfG9mx/jekgs6yRSWYwQRBVDE9quCWjhYUuOwn4HsuzaVtVlBb9786QUGFVhTFZs7ejvLCEDD9D2JdWyMncBgG9GBT2EnAOTO3dDi8yFnAAAgAElEQVSZJwYES7iVldjCjfVoGEzOvs2xVrEcOdyXcUEDp72Raoes0jB3FKftevAZF1S6avOnV3SDroHxd2dcb0Q5KBpm9X+MMVGh2nd14gUEcxOlYQbtCwHV9PFi5z/0vl57Bo+fvLXGQIc3Mgw//EAYWPxp7xUZAHjM5G15ANMM+DtZmfcvAdANIAvgQD0XllMHpflhIwDyBO4KN8piKY18XP8fIaBE4CqBO+txLG5aFR4H8ZYNrxaJOTvd/w7tuW8ZHxkgcNkRNtBywPXNs9SNq8Rj84ZUEZtdsTvngAvXbbotVn1y49GX5hxw1QG3axtd+eW1qeEQNrgS6mRMx64QJ2+M1WbMQy3HRRubrhPOWY4jsLfZFJk2trKF2zauSpOPZUOt6HwfjqcfSr3Q5xqYrJDcc3hT3iUadkE77OqOaKDxR4jzLqjkgsrv3DTamj2qE8jF4yPDDOwzAgnVR31zLqjw5b63JdbHPnXypioDXQYQCf4XGZT9ce9rpXvPTn58GMA+cWRY78ZDwBj6ec/l5b+c+mSegWkTiChfRzd5aoDdaiojoDBGAOwNahB0+uKxAUwWCZwloEzgHWG4kIZ1MAmBRIpbdMD5L/a9XXre/ePvzTrgMoG7HB18IgHFCBZsARCvc10kcPGDG29NxU73HX1p1QF3GQFD6KhNHblj7ejlNGZA8ndhZOUchjJZrYN47grA54U3sLthg+EGULECi/H6ITz9UDnN+wLW1FwrJs+/+Fj1hVuODjBoHQP7XaC+Hlas6ksO72B/g673HBsqF4+9IrsS93O4f2/JBe10QbqfR3je6YKqz5r4YGIq7UqbaRlVOsbVhV2Es7p0X5O6gXwAAH7Rc3nVNLXXoPLKngbl7U6HShjRgD4VOGqA4MAfGJRcYR8Q9cfGQYb2W3RBGpD0jF9fdEGn3PqEgFDtKqmzIhwQNdWWYhsRZniNuaBsWiABAAYWErZ/aMZ4Rc3kGq+LmZmlqdTibCOIiPMh36hisqmeEobXS4wJS6fqyqIBWQOTFZYXbzlcu2TLoWEGZdmbBTYffhC2j8f/gEia6dLuesubnLrm2OXVdxx71ZJ2yWtEjvW/u8LeMiz1mWwGtVe7C7r3gokPF5Pk+b3eNyaaLtwx+QlpltJPe6+ouUQzdlUiwQXt+POpOzJA1PRgGUxc6w6Gus3kNJxOKZ6CvVbCMAWYFl1vpphh4UaDb4nh3lgAkq/2vbUOJM+duCH/vIn311yiveo7iQKUKBAxtkkA7G9/W9r40YEbN97SEFt2QVUzkFCkMb7+vRh8u6RrIv1XooEDEXEhf9QBJp09QwjXxAgASOmAaM8TaOidram5VqF88ujz8663N3h9dCrM/plzQVmXLP4Gcocz73r+DZUPN/hRNyLd49dnmKjsCtNL1c7K/wBHXWA4WG4kSp4weUuJ60uca6qu4H/9z3tfVe9A/2Lq9gKAA2EnoNpNPFXXr3oK5T+dKjMMaRSZAdAVnJDyQZIhPOx+LCouZunc/C8fayouZjVu6Ft9V5YB4KKJD2Y8lRZ2iCoqu10EerhFjeWFSfaMRQdcunVjqWh7gEnlg0cvzTrgU5HqKs1e48ppWFZhabYPzXZiODeow6RzVvPV6yDmR0ltGolVUjGqrvT5LgKUwzOO1NK+szVmsgrl8s33VK/Y/IUBF1jnej4XMwwaY2Dnmzd/OuexGNrDtmmU4a+DvcXsasPHX1960/E3Zpej/tP971io9l09wL7fgIGdBIA3yKDq0yb3x9bLA0V5i2FtlE5UftTU7RnhmooMtLrfiev7XQR527fLJbiC57sp7WljeMwsrnrdky2FwqZzeZZbHUieOfHhYVZ8Rur/Fn+UQP0TOiWSsoip6qRYv37MJco1A0gA4C2b76p5LF1mHtZ9hPww8T5i2QeJEB2nxkoaJ6eDcrykxRYbUXUZWQkM+QIA5gHkGwESYI2ZnPFy7bGhARc0fFrQgQcqFbXjcYOPHk7pYxtL1eWo37MmPlhgUMlVdqWrsxNPVbfIoIHv9b4xsk7ZyY/nGHRSVndo7GT/P/e8oq7yeuRUucLAjoBtqAzFPx8CqMhARyP3KOakshPxXDa2i8fKf51pyHGOFKazFAc89J3e3eXcRCnnG9g7HSWdyjqWMnPLTzPvgAujGz5YbeTZRckHj15acsC7NeM5dCO3mqbOBhKwE5XxmGdmqXkLTKVhQ3za2V2JDejRjERONwdQFUQVPPPEkt7hGpicJfKuY5dn/dH7QKgCs492GTTvklN0QZU7NnyopSqwCyY+nGOg4gpLcwQjanFEyaChH/S+vhyV12Mmbysy0V6bqgvef/evegpVAHjE1OgAA/fK4CGqvbzz8Di9aIozIUcTuIgAAeU8ClRUMFHORxxwiYCiw7w7jJfVV2kAxXSuqLxGHHDprg03NLX9XHdsMOOAB9qYC45tRpelozcCR9zMLOPsMDNYqIAkA5qcvwhokqpL6/wNoLBUVZf9+sU6eBBVceFUrVnvbQ1MzjJ5+7FXZ/wpxwXXc+yzq1cQGGudEoPKd264odaqej1j4saMC6qwv5lSqLqQwAQMjP6o93WFqLweNXV7levThY1gsshA9t96BhcAIDN15wID7YDGSITu3gQmqlXEDDskHdsZigoeVmaigAaxOPVXBJP68agDrpDgMxIwCZM9JA5QjCAi5OmAZxxw4e4N19ei3lMaefexV+Yc8ID/66x3yBbmIXXurIbZbSdRzMF0rQoWah5RU4RFnxW13Kb4itjZhppuDuQDyLO/VG3WO1NlDUzOYtlz/PUFH1TkdaHIzFZc0KgLp3z3huurrarT0yb3l9nfHVAEEwVQ5lxQvtb7auOI939N3ZFlYJZB7aqeOuiyGRhb6LlsoH3qzgyDZgMVlpGh+D2/aDaXz2VR4YeE0zhGEoSZVV1mMHEQyVJm/I6+S1VnqYASgIkNUEyGduV80QEP39N/bdnyaBLLW46/NuOABxx28z6AtNtAw84+otmJpNJiA8hI7CECLCRVlQGM/Os1xmIBpDYw4tmGyVcksQPjIsjxwANUxXO/Vlvq+0oia2ByDsjrj78p54KGXdCgC8e6OZHwm3OJSvf0v7fcivo8efIjBQ725IA8bbNuPPWnt/5MmJ0lyiOnDgww6F6VnUA+H2MgDx90APIdFo3qrjkAswDVAFT9sNpvu19SC8p86PTnsgCyfhZ5AFmAcwA6reotFs9DEIlmJ3KYxEqYpfPw2Mw+ZEAJgSYKUCzMZD+Bi/f1jzSs0nrj8TfmHPBAG3jAgdsplhfFPGyzrhphJ9aZWYpdwwQWVjWWn785TnSCDMMJWIqqSk7ngYrHPkAV5L9VbfQdLUXWwOQckiuO78m6RAUfWIwr0Aa2DP983vXWuSrZFghsVJ44+dGcC6qy0TCPej0YNPTLnleWTXn8ydRomUGDiopLAhcGAWScWbMIoMIecFR+2/2Shu/vodOfy8ADlwHyPOTbTYZ2sFmVBZjDHSlMCGcdTEwAY2YddkARwUcImyPw8NH+d1fTPpfLT1yZcZgHHLDAPswe7fqSJQpopPBY14BCiE8zjVcFsChDvKjuSq7qSsM2NFCR2UfPbK3B5ts0WQOTc1QGT7wlAJVOk0Mcw6QCo9KJ/nelXpraJk+YvCXjAYrnCFhnJ6SqvuQZWoFkpj5VV2FpYEKa2is4ngFQZlDlf7pf3JKJB783fXeBwAUAXSojqR+zHUwcP50JTCQmwmFcCAyKmssIKDKLMYIK86IDtzjRf00q7/WXn3irbvtQDNxGwOBo5hHHTuJsH3KHbgGEVLO2DKAU43MSXq+quhLbT+ZAThWgCvq/V11KG22FrIHJOS4vPfH2vG9XGQymFMf4N8y4oPJ0/zvKzapDdvLj5bodhUyqL4A9X5uBf/WN6oH88dRdOQZOqiBiUHvNACj+T/eLq82qd5w8ZPruPAFFAF1WtRaH4Q5kUDHaTiSQkNVeIkAkBxQDMwGPOcwF0+KQqrzwxDUZB67CPvROPJJ11AHHAgJCGhM7Mc3aMoOBylyUfNgGBDL7sQJGs1RdEvugKuB4M682/kOtuS20ubIGJmsCANh14p2xKjBFDearwKj01b63LnmE/5jJ24aZaJ/JjiKczzMwsNBzmcSO/nDq02UmGtTtJwiuKfxuGUFElbbpz+fJm7bbGUKcAhxGT3i7yksCDlZBI8Y2Yvdon3fAhS/3va0adT/bxos5H0A89mHIL+hwg/CoKbwq6FhXBDb4hITlhezFnEf8Ao6mDj9OXbV0VZeBfcBXX235SeR7WG2yBiZrIskOb0n5ARdUZFCHSQWmek0HKrBv9r15SSqwR03dnvemD8t2FNkXBYsMKvxHz6UVAPiD6c94y9RDt5cANPK77hcVl/hImiZt058vErA3ckow62DiwAQsCgsxzNqKAxQlbuQbfVcVTfXuG78u4wNH3oE7QCr7UNRLRrBIaBeJYycqu9DZQRQYqJ29ucNX2Yd0bPU5sbGXsC4WB0bf78NnH1t/Wlue1th8WQOTNbHKpvH35H2m4i3HYVjyQwGVGRdUmu0bbniPlT+fuiPr+6N0CgBS7z6FqcQjTMgydEbCoHkAA6e7X9Q0+06zxJn+fI6AMnyWYmQjki0kwmaSAFAcKa3cufvnMw648K2+K2tiPZ87cUPd9kHMnXZGIXfSVtahgI4VWCLZiep3YgCGBFN49fJtqiodmNoszCa5qstFG3jOAVcduBXa8X+qy9sCWydrYLImsdI7fl3WBQ37arD2EEAcM6j4e6wwqPz3vW9IrQL706lyxgWVub6mlLLmEekgI8zoGmNQwe3etWJ7u8QJTR/MkL9fCWBWbTnQWYpuMwnDzIDixVtYyqLDXJjr210BgPMnbhTYBw84cMMNs4w2jyhmYQKCkDXIAGDKQ+3QheviZm1Bt32YAEdXQ6llJFdXJVB1Lbb54NHGXH3YjjOXfUTJGpisSWJ53sT76yowV1gaRWIqMntZ9JdRKf6o93W1tOW1T91ZZIRLp3j5Ry6yN+p27yo0+bZbJjR9sEzAYJTRPWApjhAusw2drUQZ2f30+x1w0QFniV3F69xsT0nmDxIRl5KdNDZrK+msLBWMXGP+SVRdxjSeSs9nH1x5xPYfV1eynS2XrIHJmjQkF058SFaBQfasV4GGfRVYrffVqVRgfzR11wCDykwBIzKBiQckfAYBSSA0fXAYwD6byqvORgx+ImoaCQzMgDLvgCsOOEPizCuLQV4HC1fND23SsWnmVpJpvjo7MW2VG4787axCBwQLcEQ5IRrsKlF2Dz9+0RHYx6O2/6C2gs1qRWQNTNZkSfL0iX1ZF1R0iQYY4h4rOqj4x/MueSqwX/a8MpEq6g+mP5Pz1V6dijHe73pxRgJJIDR9sAR/K+DIGVycwG6iAIoxXPmpBnk9XmcVVrCwOhcmZScJ1Vmxto8IsPABI97nJFbVNefArTrgyhO2fae6ci1odcgamKxJU+SpkzdlfH+VYa4vMGm0pwTniwyquKDir3oKtbj8f3/6cxkX+LXBRnJGA0kgNH2wDGAQ0Gd5SeBhdFSMMLjrs7bM54rqyMpUUk/xNQNOpD8Jki2PEmUoj9vUqkFVl88+uNLGbvUp275dW7kWs/pkDUzWpOly3uQtA+ypwLokUNHUYHX/kTEXVFrouaxqy/P3pu8uMrA3ACZf5gDkeRUb29MITR+cBdAZnIcgoqi2OMox0cBSFEZhBgo3mbrLOmtLN8RHTgWOYDCGlXrn2jz1XMWBe7IODBb2YAIkm20jwaysOQdutQ1cuWDr16sr1TbOBFkDkzVpmaybvDXLcIpufY+VUEVlU4GxZ9yv/P89L60DxO9N351j0Mngel8WAeS4e1dt+e+sNULTBzMAavCXywfC5VVC43wAEJY1uIzHUFRecqdrZyhRzGLp7ERVUQkMYtEBVxz2VEjXbbqt3hbee6xQccA77PuIJAQLGTDEuMUAPBzm6vO2fqm23O1AkiPrMoCTS7jUPOR0lkUik61YvIBnnkg1tX4NTNak5fKYydsygnd9RwyggAmLvo2k9Nvul9Tapj9fZX//EkF2cveuhv1ZVqvQ9MEBAPdKYTDZSvSlVCKPLTYRjYnEAkVydmLzFQmZg8w+HHClDVy5ceNHrZ3YtccKw23gfTawkFhKClVXsinA0aqwuCnCprKNS6skXS040SKRSRaNtJY1A6IBnH8sEfNPDybf3Jj39hZ2AeYMmHPCOer7GbMrHPs/uMKx6RrDdeI11utcwejreHtxk3Bc//f35ybhGIZjf3prXLwQnk+at0vWuJoLp3zV5ruq6V7ImSV/NnVgwLerdKkgEkz9DT3fPUdIA5CMcfeugZW6h1YLTR+sANghhRkBJWQoNpYinUfYT6SO3mqMT+FTArODocQ+2K04vg3ilo37E3VY1x4byjrgU0lsH158omm85jQpro2PV0DJAHSNsY0k+54k2UTLClQzOP9YPlG7TQwmD27OgbkC5o74Dl8FDRO4qHlYACkhQKlAEnTSAZhIHXfD8aEXuBYeHJMlPDg2go3gAEi0522b7ky1UuuZKA+f+lSO63useAZ1cbViw4wtUdadTeotVUzqLkAHlPq/5IsSzzzkMNPU3TigiGIoVuYBx/O2r7bBrRzY8KGGVyd477FCzQF3qFORU9tFJMBL59EeMUW44fhUHX9qtrEEoCJah2ccrcW9FyfxG2RUAHQEi3mLEdHnQhhHpBFBjSPyZUMYRH+DsPMJl9QLU5riWYynqPjmHIv5h+bVuv/EvuuPDWb1B3R2ya97Lptd6Hl5gYGHMzDiEs0nBJKRsxlIAMCfUKANKII2Lj8j8pfsB/yhlpYuaHcuUE/LUlrlR8HkCEjlyN+Y6u8jhwEAE+YZGGXQTgY9/K4NN+Q/teEDxaUAifccUFHLF5+PeNzKb1jcaE2MN9UFieKD3NRDQ1/IUNLF9ZcR/XJ8HlnDxZo8JEkiPLgljyggSQoSapr6DcQAkpE9hWWzFBINBOYw9eXGN46Gjimmkdc/dMrCG5me9fIfPZcuwFumvfjQ6c8VGFRwQV0WIFmEoZM9S6UEYBgKO/GeicfEHXgdvgNvEBR8C1yP53rHV09n/TFcoRyHCMxh/m69ZJKuYT1sBkCFQdW/7b+2RWuj0QKC8sm7+aAu3jcV1gvEnhLDr33Yrho7hnLslWUKU+sCKQzKMQPerpxUP5NvmdlnDPUAPQ3YawhkScPsn0blE3dul2RgUs9UPI0DCcM1Ys9vjBfCIvNQw0KgCK8wdeziaMI8MghZQ1y84Zgs4ZbjOBA61+S33S8pAyg705/PMagIxW4AoHy2TAOOE+7eteA7M+7V4uqdV9ieXAAOQQIAFuOEc/bTiR1dAE4qwITHBhDxAGeegSqDKwxUD/cXW/5+xDrZOv+wk445JoDZngbKsQ4usMf7QBe+KxlkIB2bwAMwduxRoCOGyQhlTWYGHTWPeEkIJnEdvClIBZcI8KkHxQGUGXzkThpQgUTNLR4cLABANvVZerpszF/K89wVt/tFszR9sAodTM4VVhJIGQYwAby24oLrABC0r2ggkUfJAWOBLY3PToIShetm2N/yeKr/6mVfmTkJWOgMIbiDpOF+nkQI7MomoEkCPmK9VUAJ+6SgNo2wjQhASZQHDKBjAaEIScFMDGIFF1aCIrrHRvNQwKUOEKSDhqmj1sNCNZMYJsVHHAflhTUS1Wp6uGwr0fNcExSU87Gz3VaiCnfvqtH0wTHooOrFSwDid0x11qG29TC9BxSAywGI2BiIF+cC8wSqBgDylb63rCg71DtjM0DIbEFMp4aL3120ukpVTYlqNi8sGeBwWJwEQnrHH5QUxTb8czE4Si1mzENPlhZQ0oNJavZgAJKGGIgarAOJDTTM6i+zSkwGh2jAiFKFafmSHi7lY1C/natC0wezEDzBfTnrfEoSShkWMAHk9i7aT0zqLgUghDgdQBiYYaACUPVk3/Cq2xcm/NbZv9/gOai2Df/bYj08+ALT20rs4APlWO5X4kEmzJ2UQwOARLEN61NLy1hishQkJZjEAUVEN8i2NGwFifDUXk48aAigQOmAQi8jQj1mtJdATqOFk56P4W7PQckbws5VMKlGRaptM2hfIVioqi3BPiKxGAYD8wzUGDTLwAKADBMP5CZKA1Z/E8gOepKfiXhu2M5WOme2xEs+GxkHnHNAWZkJAGYwEJ+TiY3Y7SYmoDHnFa26gq8mUwHHDDKIMcKrQSroGMBCZSyaWK6Rz6fx4GYvXPdJWQScEjrvKYZ+JnM7MwDnLL4jOcDdZ/QdWZIDosWJMcq3RMkj+DjqzomSs2JyZ0STw6HdxySZf0lQh7BesiNlmNbLW0g/6oJqtvyN9yCse+XHZVxQzlS+xb9FqZ/4U9NEpKVgjVk1rXGxR2maqyBZAB3C+Qx378rbPoezXXz7UVdUGtWnhBDlfBikdY1ptDW1LF7xplV8ZS9yOd4KFCFYWMDIjdyjxLZ3e5y3e5y/idmB0RAf47wol63UQakXAUjk+wEhTayTYmKP96XkOeQxk+88vwx/xVJPGmELatIlsJioa5R6mVRKIuqHKUn6l8NgCROOSbR12JmQWhfzsVIuaWkGpTxJzt/OivT7M6nQ1HqK16psioU6yGFynesNT6qb6RrzL0aqcQnOcqkiBkzsjFj8GUbmonYF8mi/fk2dwYgGa7nN6OolsT2yP/oXzuvXiraeCAO6P8VXVS0hOCMAhuv19GlsIsnUVWJ8HKuJU5dJRniGnW1ESsI8orLS4mLzLDj47guLkIAkInPzSfLzKPxo1I4iJiHbR5UCNIQwMzg0AB5k6qjDeqQ5NpVrilMBx3Qug5l6rQoKahpbmAk8hDhS08a9WQDAqtPZL7NU4xKYnqn+rEXwJsO18e/YE9N7tbcv87n47dnatFkFHAWc8rEwAKTofEwDQ/H52L734DlDuT/52oh+iUzt39AXRvW/iVYxabDPNkVZkjkA5+WItIUmL0wLZFsi9eGZLmfhVGcdNoCwhikNQszH3MEr1dHi9cYV/VHox+o9RQNMPOCYPlBbPjKoyGF6p0PeFMrIzkjuyFKwEmANTBLdfxIGaHw3hsGElp7E9yan08sPRG97attKChxh/mmO9c7cdmz+nqMARw4T71fOzxyml698B1pHpHbuln7Z2qeagxLlmfA8ejmVRCDRChSNq4gJSPRYdRQRHWYDBVNtzGomNV6vX7rjpGAj1zsecPRyTB+h2JHo16tgZAcQSPmoaZPIuTYlWBXfUXMxUVoonWEEO7G/Nzksqq1AODeDiHq9yojSAUe8Ctl+bBrg1Y817UEc4OhMJk2/E8Ve5FCl4EiJ62vjAClBeREg58iRS0OmxqRxxDV39IBxNECGMMvLhRKmNvpQokctSYHE1MGrjMl0rYm+q2WrH0lwX/UyY1Vc6mgzqLMMNsk6qYZYyVySROeApGYn6rOOZI0kh+tqsAQsltR2JF8fBNnao95WFYZNwrEtjRIedax39mp8dIcf3yeE35gWppSp10M/M54vuQtuXp+vM5NUqKTGJQeC+nkUmCWsi2kkAD9MTZ62geiNwTwKsdXDNjoRPxCYwlMdh/mrcSog2kZ/4rkJ3BIDi5ROiKt3JNDqHSPnxPIpzRT1GatAEc1AzAMJU+dtAw3xuzIxDHP7tbdzWI61NBSVT4JvUamLdI1xMKr3Ier3pIaZVWXR3SAi49SOMG0fnLY8U5x34BhimnTeDIkrwwwg+ouKZh3mMFLSq+WpaqGo+OSjofTHKijYR21iXa1Mpp6fCAKq3cQOLDZ6bxolr0lrRH/O8nuR24TaDvRBRZ3lkPzu9fICiQYKQG5z6uAiCkSSsv3wOKwjKD6tDXDsYekGrHLfIn4DpMSpORjOrV1uXF/cmr7eiS274bi4h5AWQTkCvhsHEHNjsjMNtTwzRRXqQ/JHZz4O/83Hpo7AnKfpmqiPO1SH2EFGvVZKL6m41DqrnZBe/zVJLNU0idXnLdq9rIxTU1PZWQdgbhu2wYsJEBB5rH4Lab4XuY7qsQ1wTCAjl2nuF+L6AlX0vkqNS9hXWs/VII6Ii88qaZxjTrXc5xESkbRpACLQY1vecbpWU2M31VWtU7KRFozhsUCl6aCVc4oCGaUs4VorsNTTqGFqB7XGSlovNnVW9HuyAQhr+VpAg/S2LZ0LdpMwTh58mb65IA893K4N0K+LBhx7OlMfIseLaly9Lnqdosq2SopucyX6dPNsrhYhlz1uKTdC0p8XG8c2klY1DiBI6xftjTSeTmvHZAlXjk3gZCojib0E9bxJMngm0aWbdNSyqgXKNWuSQvJpEquDp2jwMAGIoT0ASpuIAI36ud7OzHEJjyl5+uTxARCaB2VxwCNLA6p30g4MJcScR82SbVl/LidwWo9YTRb1Gdb/40e7aV+yOSyugSUDDbV8c9roPKLSJAEf83kytiKWYxu9QhqJrgHJcov2zOuDE5uqywRCUe8++eDE3D7Dc/04CSux56OnbURdLeYdzyqi87eXYwWoRjv6xBc1t29Pvm1vI2JAr/o5K+diPCvnpusNMWJY0PhTjxIiw+R8ousQR9dFVtOI0T1Z+ijwiQIZQO8gtM5FWD5FzENMI3dWDam4MmkvWJNAkqi65PTy9F4/zBfTNdG2OfOgJBnbhiWNLVxm89GA05hKO0zfCLBEx5nq2nBnb+1bUxWePM6XEExaWEjrxK7OUtOZGowqaQHE1KCjGlF8I04OEsmP1ZGgPhozNUmbIT4U3VZie/Zxo74YUZeiP1elK+0Fetu1fRvpAMTUzs1tyqzaTAIogNpB29m/ehxXjik+qLueT3pgSdIvqf1FVL+0usTw5r2gmhObsJnnDXm/G7JNmLx+mUEnmQQfGYDZ4cjUMESJp8/m+Li0KY7r6iXLxxJhfNfrHFCuQTwAACAASURBVN+5hHFiGpOOPr34+5ucs0LTBxtmZ+rzN70XvxTlGvvgQT9XQMNqhKd6UUnasXof5uMk4CNfl/4bDoKSAYvp2wi/R73sRGL9eFiJi+tzl3pulEUAxYcgwYqkmiTpidNmxKaL7edRDQNKWHR1IxpARBmmEYXe+JKDRpqPpZHjqDKMbIXk+zYBTVCGDhTyB9QEyQGoNS23M09yTcuJII82oO6yyFJilkK8i4NVhOvnCNoa+znKIsc1fDzHoAX/OMOgTlt5apiYn3gYpgvvQ782fA6yhGGJB6aRIucn9xDih6SeL0GispLjRmH//hYAlNF578JD4O2rPQBVndDoMHI5xFC3JC8tTGN/GY3ipHkEFGfUEyU5jRf7gog0i/CX4LCOEP2y1DzMo0+hUARgQ9ogxKyfD3X3DUoe5+7mWIA+k2se+rbGRpHfh75RltC71v6p5xW1ZlS21fL2Y6/OA5hWQQ6IBjUxPmpgFdf5mViMWiYb85HDIvusJmJGE6SMZx6vxiV6CJ52zwKAHGZ35OUo6RZzAPY1r26mIlLEWcU04k8KHNE6TTGdqXO15aOWo3bkej0AACPv3/TxoiHzFZXHT96aZWCAgTxA0laydrBoyheRb0YmZ7DklfNZ7t5VXYF6rFoxg0MyYLHnZ+r848Emro7x4BXzzSRnFAkTJTmPl3Db3txY1ZrqmxsNGa70edQTi+7Q1XRpWI0pLI6BmOLs+a2e4QgAPGny5gEXlD8NZ4BBHV6obiPRhdDEe+mk6YPZc3H1YN9eojLA6gpUZdVIuKGXSf2kpK0fRYOAibHoeahiUnXp5di/Dz3GDm1pO3/D+ZJBKFpS7gEfUZFG4ppSbNInkDydmcaKZcZLFOvR060eAHn6xL7sadCAS07eBe2AhXHEsTrTb4kyAE8le67JgCHsXFb5WUQGluguKRm7iGIQSdpzUiAL0zbOelaDJAeTVXyPSZhFI2kbrYcnVhVWLIAs96O+aOKDAy6cvAvy2UcUeMbP5AKoFfhYwLkJJgXlfP5cZGiqRH8jyUf9jam/LHXyL1vpfqjpkrCSzWEmzZImMZw0L0hcssSWj7XBpe4wk86uaq10j1+fdcnx1Vce+zCJCfTiP8iWsaxOmj6Y4+5d58yui/6UaFXF1UHTB2vwgLXsb5x1jomdJZi1CknVSdbkCVhKUrbTAPtosXqqWbJCYLJUe0nSUpIbhKNUW8kljo2snGwaf8+ACyd/GjQA3/Yh0/D4OjZ+X02znwwj4Syms0SKlvAOeBNiijR9sAKgeI6xFQFAG5l9JUq0kX5pkjRvHZyoWXaS5kiiAVxSMKk1Xo9WCBuAYmXURs3Nu65Cyi81p53j78q6oABAdphtQaHEAYuZpUS/gybZSkQZpOmD50TH6RveTfYSUdoBDMJ7LjMASty966y3p9yw8dbZq49dMcMNrApgkjOnf2ig8KXjyRAuGE/EfpOByTOP1/BA/zy8EdEZK0t9sY36pzQgXW87/prMDRtvTaXCeMmJq0P2QSr7WF4RwanJoFLEucFOivDAIql0Aeii6YPz/rWVs1wFFkzIGIDlOZntfVEt0TQTqyH7yUxEIVZp7beamtnUACrjgolq0hKIky5x8kB/DuAqmNs991cXYA5/4jkY4KjzhGkR5K+fuyC4IJyG4x2Tg9NKWP2fCC6C+CDOD5PihPyCMNLzqx+TkI8173TxQT1ccoZu2HhrOeqVDJ24SmIfar2l/KRjwmkK70VNFz4zvc7h9fK5lla53m2uYnf92Ww78W0lp5TgGXizuIaRbFC3CKAMj63Umli9NVkToyS3mVwwPosH+nLwRgJn+kqu1SVcm4GnhhoA0BHPI+MM2Nbr8/A6A0lec3x4wAXlXaIBwGkxU1wllj1dSji7HRnLhrCi76hYoumDA/BAJUrN0w5gN4DdNH1wzAGXTne/qNrsiq7JmgSSnJmcwzJxOJ8LHPdcUNcyMZPFGzbemrny+OuyLpyB06C8C9oRMjEDi2o6MxGZ2KpiJgCwh7t3nXVThWn64DD01SZmuHtX3pA2C0+lZVX1BOKA4YDnHbhFB1z5TfdLz2YV2JqsgKyBiUG+eujZmcD24BLlT8PpaETN1QjYCGCC06B5F9RhVMMlAhNbGlkt2IiaSy5fBw71+haACXCWqbto+mAOHmtWgWFdlKrKN9YHM92MbNUHEzhw4YAXHeZyG7j07z2XWvNdkzVJI2tg4suDhy7IuaC8zwK6TDYTzR5DpIBE08FE6+zNYGK29VivXQYwCe/dC9eXNG+KzAPInQ2GZh8QqtD3bzGykoh8CvBARVKBCUACB4w2DsCFxxy4pX/rGawupf5rsibnLJh8//6cxz6obsDuMHbsMWCihS0JTMRy7Z19nBpLrJtV1UUGABHPSQcQ6VxjPgqgEI154EztQViLWtocd+9q3hLtKyQ0fbAKuw1kDkA+DWj6LGcYwCBBBxOHWQ2bc8Clf+kZKi/1Xtbk3JRzCkxO3f+U3GmVfZDameqdcnIwUVhKDHNpFZjE5u3nrwJIHJiozEi5bt4FVVw4VRe04BKVXFCneO0SlqCPk1Hu3lVoVeatFpo+WIbnLxIli/AAJZVaj6YPZggYduAWHHBHBJigzTtfdMAlh7n8s95X1Rq8pTU5B+WsBpN/vu+8zGk4eZdo4DScvAvqMDIFZeqw3inbpx3LU4fjwEQpOyreChbpwUSvmxlMVFZlVG/JarQxHzwqv+op1DJTn8q4oJILZzAEm2UBE+AMBZSEQBLIIoBh7t5VbqSsh05/ruCACw64ywMTFUiEMA9sRtvgln/S+5pqI+WtybklZx2YLNz3uFzdeA7qUtmFkSk0ACbxzEXssO0dutFwr9WpMeaRhNmYAEOsu3LPdfbx095XSZ7Wj5gaLXhAQu0qIC0TmACeL8bAmWBD8W0kJSQHElH2c/eu4UbL/oOpz+QcuMMOeDAEEZNNRVaB/bD3deVGy1yTs1/OeDD57dijDbYPk6rKpG6K67jDTts0KyoKTLx8LYzEyA7MbMkIQqnVWHawkgDEUHePfVD1NJzKj3tfW1Of/59P3ZHz2UiXzES8OrKfN/vhyyBz8ABFq+tqEX9KbwW6sR0A9sDbjC4OZJYMnO1Td2Z9pjLsgNsD8GirMxORubhwwJ4KDFz+bu+bao2WuyZnp5yZYDL2qBwDeRek2T6M6qhEhnJzxx4548oANlFgkixe7PAj4i0qMhtQaaBhNLA7Ifsgqn6nd7d1nadHT30y44KGXdBek21FBDTxt0yyCKCwGtep8h0OyzD7hQwFKiyLv4kqc/Duc8nTox85daDQ5oFKp6fm0mwp8jm7ow649O2+PWfN1Ow1WZqcGWByqCMDcB7sDoA5D+YOBidkEPYOPwpMTKqoZMxFZDwW9Vfi+HRgkeRaC8COuaCqC6p8s+/NtbjX8djJTwx4BnanQ2MjEpiE4csMJoGMwetsV1zt5au1ivC80k2iOWHS9ME8PAYT5ZDYVOB81NTteQduwWFRBWYAFq4zlhkHXP5G31XlZpS/JmeurF4wOfr4HNjNg3kAzF3qml3MMpiYpuHWWQqpAKMzlyhVlN2Ibs5btEtY1/XS4g3sJUqFZmBcSa91QfOnyam4oOoX+96euBN6/OTHsi6ckuuvAxblBS+DSfhbBruJKovwliJZMW953/ejhGhQGOPuXdoqwf4U3zLMKjFRRrh7V7HBKmrSMfkJXwXmDjvgdpOBXmEs821wyw649MW+t684eK/J8svqAZPjT5TZB7jDtshjcKwau21gYmIXZnWTATAS2D2sM66U+KhFJFODhYXZWK5ddH27hwuqjPdfk/pjP2/ylqILGj4t+I2ozENiJVqaFQOTQObhgUp5uQr0QaSI5KttG5eI8VlNGcCOmOtbwsTOm7yl4NlV3E7Z4VGwscjsZdRhtzjZ/85aM+uxJqtbVhZMJp4Ssg9wVxx4JAUTU+cfaUhXwEQDltRgYwOMaHuLVr8leLGfBs255KmuxvrfU230FT158iP5056BXfIZketnYighY1TDV1haupquzyQK/i/NEvJAjC8JTR8sAtgbk0fLJiA8efIjeQc87DDvkIFEAZbQ3jLTBrd0rP/dq852tSbNl+UFk+n1GUF1lffYR/xy83YwEcDDwiCSsBOz7SKZIT1yJlh9ZB5tb4makWUKlx0H6+GLLpzqaVDFBVU/v+H62lJeVedEKeOSU3JBg66pbgKQhs/OACoKe7Esq7IIb/e85d4vZw7eEiYVALONjuh9AMkj+fLwkXWK8uiPMeAHsggPUKpLrItROidKWd9YXwhmgUmgwhrIzLeBSw7c8lj/e9ZUYGeptB5MZs7P+UZzmX1YACJ2rxThPB4QZAZhZS4xto1IQ3mU8b4OGHHxNlajqo+06cNzLqjqwqmUN3yw2qxX9vSJfQUXVHLJU2kZ1VdBvZZuN5mB1zkeaFb9lyBz8LYorQk/UTLwpu0CQNb/Jd3tbxEe2NQATMekjfQj8cGrghjgIvAet/tFLbMVnT9xY6YN7oADLnre9a4wrdgDEgVUFtvAZYfd0hc2XFdrVb3WZGWk+WDy5WdnBNVVHmxhH42CiWCIt6mTUts+Unm567aJKPVao/FivYRw3/bhOQ5+fOO+WjNf3YUTH6r7jIRAYQAQI1iY7CayqouFcHg2jKBzrSK9SuhMk+6AKSRUV3VHMQvfjlJBBJj5y2uO/q77xYW0lU0rz5n4QN7xlrfv8phJaEORQcVTg7WBxxxw6bMb3ldtdd3WZHmkOWDy1efmfLWVN/MqNXjE7cyYbLfFKHVVmt0WNWBpihe8QUVmjbcCyshNG28uLv2FyfKciRt8nxFnr/gMQiA1MA6NWdnS6OyFQSPszW7K4twAEkBhGzR9cBbRM7QWAWTjVG80fbAEw3RjgrdJbejB7uaXYw+T7on3ZR12iw54wJsFJoKKDzIsHIPnPWbjVsobPrSmAjuDpXEw+Xp3BsxFH0A6msU20mzdy1BG+rEMIqntI04VFWdIN00dtqnQbGownRW5oLn9G29u6gq5XRPvH3BBpdPCqsmyGssAIBJQmAzvVlXXjAsa/l33i2cj9u44W2WRu3fVdyj1veBn0cB0YVX8WWOSmpBEJuD9Fh3m/H/2vGxZnAz7x9+baYNb8L3rOwz+KTLAeN71ZYe5dNvGG2sA8IbjbwrUaFkHXPnwxlvWHCRXsSwFTGYB7kwOHiogqOCRXv3FQIS6KumSKqK6yTIzK9JxUQSMuNlc5unB8axICn/4RzZ+ZMkjuL7x63IuqHiaaIfKJuQZYwYAUdmH0e4jpV9kouHfdF9SBoC26c9nXFAV8b4TZ4qshzd7y+aQGMhO0bnQBAIGGUoynVkFZxFISF4eZejfe14em18zZdt4seB4wNKlrPklTSsWZoKNtYErDtxS6OPisxjmYhvcynWbbltjMatMnIau+kZvASClI1CnfKbbGz1ZGvU8MOWyFCbHeaM09WpTGKQwVtLbwsQ8WD/msKzYtIZ6G8JjR6pRsnn8PZmN49cWAT4JYEegDpHr6JUllx2GkXAui5oOIGCUwNkASB46/bkMgasEXiqQzMFTBbVS9idJ5E/lTWLolt6dDxJjMdeUfBaTpA5ZAHPh+/EGaiS/lwMPn/pUOUFdmyb39xfLY/3vyROwHuBRIGxHkNpa/fvbAfABAO1KeAd54bV3H7u8WDz2iuxy3seaREtjYOI1WlmM2EBKnAEcSDmPzVOPUzt1sRPU09jDrEDBrIcZgCcOcIxp69WJBxf/OI8GZet4cYDAswD2hqAg1lX9sL36qSASitZRienmCNz9Hz2XFv6r52ULAPCw6c9mAFQJ6Fyit0ngK9KIH0dSmYenhkokvl/HXEyyQd9wLkrBL8sm7fAM7UnqsMDdu3IegHtCgOkdDv7pVLn6Z1MH1Lq0VO7pv3b2CxuuKxDwcIBHAMyr7dz0jUA/bgd4L4BT1x4bKl93bDC/TLewJhHSKJj4FDMtG4kRisjTAEh2VmEAFmY9LBZs4hhNDAhZ00YDkXTMWngWKWXn+LuyO8b3VgDcC290pz0XsbOBBA46C9EAhKWwRQJG/q1nMLfQc1kV8nVlAnfKI+fUsgjUfTrSSjU2RSjBFOFY8VVMgAdwcaKykwV4gBIlnf4MsERyuvtFBYCHxOdsAP0uAmb/Yur2Zd+l8u4N1y98dsP7i5/ecEMWwBCBZ6IGUuLAy/D9DAKYfv+xy2Y/cPTSwjJUf00s0iiYVOy4Ecc2GgEg+zVJOny9s5eBRQ9LDjIENqiylHgYP4JUx0I+mTcef2PiEeULT1xTBDAL8A6VedgYh8ha5A/byEDEsDEC537VUyiq9fijqU+XyVerAVDyTiwBkOSQ3jlwEenBJKkE76OcIK2mpvSnAI/EXLfXX/gxkfxP90vKBHT74G54ZwwCdxBQffTUJwtJ8222fGrDB8oHNnwoD2A9MQuMKlrdaxh8dRJw4MNHX7aw7+glxZuOviS7PHewJoE0boD/Rk/Nm8XVyEyt9Mb2aF+TdDO2TAb4pDO2ks/oss3IMhvprddCnhHmXzPngvIf3XiT1Qh5yYmr8/4srU55oyvdgH7aMGNLSx89BXjeBQ3/TNkwK5D2qTvLbuBJb/A5SbheV32pEZo+WEN6MBmB1+nHGckD6fb/p5OkFXxIKohfQ2udabmTBNOF5wHk0njq/+HUp7MOuFJfWh6KYR5usNbWyHzvFcWk+bZKXnt8OO/AnTau+WVZFl+cKaaEjzpwy6/dfLC60vd1LkijzASQ9LhxbENVVRkkirFEqb/EM4EhiCPfROyFxfR+mHIMQzyUY+OIisVw28hKr3PEyKyTLHr0y068NXPpibeVCTwN3zYhMg/S8gPIouqS09tYCY8AyNmA5E+mRksEDMoqMfmXUIZ9ICkgPZDMwzOQp1HpzKZYjkRkiknsG7ZJFAVE23U6kIz91OW/el5WIyBP3kQIQPgp7WDvuslbK4+f/Niy2lF04QXx+wB0hh/9HekqsE8cfUH1k0eeX1iGyp/TshQwqRpDSTtIeB6ZWXhO8rm5Qw/D1JyWYhMxqa2iGrd+F2xq8D7Y6OVF2E0AoOt1x3dLndLQiasKBK7B36VPBDPxPKyj3TaigYhgF/EznAGw/ie9rynO915hHCk/cqpcIGC3WXcf/hzhnVhEnB5bjEtskKI/mu9KmH4+5TpdIkhVEG/oL5gC/RlZxZhrd/iAmlj+vefShYWelxcIGIlQeYE8NWT1vMlblt2OEsjHNu6fBTATbS8xDOQM34gwWOki4MCBIztro0d2FO86sn2FAfPslMbA5IG+LEBZABHggcbZBhnCrOfxNhE1XWqbCLzRuyk+3rBuYkqWMurH5pGWgV2UXnN8OHPF8T25y09cWSXPZ6E9DjSiDewmY610vkjA0A97X5f/ce9rrXaFP5+6o0DgA0ZWY2AnEcZ4cffBAhpgJdy9qywYyZNIw85xPgjFsZNOW338JeibMl1YlX/tGSw64J0EXpQHCdJ77iRw9UmTNy9pCvpShMADBIyiXqdAVCYfoxHQjzsI2Avwrz97ZGv57iMXrxhono2SHEy+tWkA39xYwgP9NQCnAOxLxTaiGEsUeBizDEFHBg3TjC6hASozunTgWaoR3gYe8nX2Rh8JHNI1ft07CFwh4CSALhUkbEZ2A0D4z8ZuYPeERwHOfr/3DWVEyKOmPlkg4IBtFOwIx3oZkowIQBLsVJhWgmsaBZP5BspMouoqxMRFsZt2pFR3BfIvPUMVAvLkTd3W3oH/ayfwvU+ZvKmRGXNLlo9s/MjC/o03Fwi8Dh6bWkzzrUBIpx4L3+UggJNfOLK5es/hTYVW3s+5ItFg8u2tOTy4pYIHNzO8aaW7QerIMCHbiJSlMRZzw4pWV5lYhJqzOiIK8o0HH9avY6lTnidgvzf6YsOHIh9roCgDRRcJagAzaKDuz2JiHWamIoXNEbj7O727C3/X+6ZI9c9jJm/LEXDADBjCj/UwRd01quwc2Mjy7vOCeiwNmFSF41qC9FLevpd7nKrLOvL32U0cM+hKM11YlH/qecUsAXlijJnfe/3d7+ucKJXXT+xbEbXQjRtvqX1o48eKAGcJGCJgviEWz+a+wE/TReADY4c31O4/3F88crh3TQXWoNjB5OS2DIAqiJSZKWrHb5I4tmHKoxHGogNKwBDEMBvIqIAT2AWksIhjKMcqG1GuGwN4D4HX+SPDHMCDFDjesb0sAKovh1T/sDx99GYAHzvo6Ib4RYBHvtV3Ze5k354qYiQ7+fEcgauOBhRhno6YP4vnLNZplLt3Fer35rGSRkbJReG4lWouUwdUjrmmI2qqr2/8j/TAJ/Deh0zf3ZCq5hc9ly/8rPdVAwTeb2ekDPImT1TPn7gx20g5zZAbNn584fpNnyi/d9NtWfKmO4+pGgfzt2oLV48B8vyv9gL49fHDPeXxw/nsct3f2SJRzKSAuodxHNtQO34ljdLxm/MA0ttYvDC9M1+CusoaBoDjgEZqvPMA7ydg59CWe+mVW+4ZuGLz35YIKAB8Cp5REHInH6Xm0lVl8oev14vUtCx38DBcL3Qk+wnIPdB3VdHw0DV5/OTHPCDxl8Cwd05mdVcAKo4CJL4MI723+7yyplWrjO82KcemiHFW9FcZNnrVC8+s8vvTn2t4NF3rffUweQ6Oi1pbCNtLJ4FnL5z4UL7RcpolI5tur+7ddMcAAesA7PfqLbZ9bRAHQB3cmTQB0jc0SMCpqcNd1eqh566Y7ehMk4ckT0reUDLo04jqnWs9PogUDiPzMCb0w+pRahofuKSy2YcURgguXD8iP9xjH+RnYYpXG58cT3HHTGNEqBK4csmWwzXxru44sjPvEpUBp8N0rVgWSeEwxoV0XSofRLbrxLTB84FeFmOeiApf7ntbFQnlvMlbso63cGO7G+bj1yVkJADgCueun86hevgcFAbSDFayRON7FfFApHXm/jTmeUSr5pJ0VAUoqysrIN1B4BLiveit8o+9ry2fN3nLLIErfn7KAAMgcDuBp5898YGRr/a9tdhoWc2SazaVawCGbzj28iIBAwQukv+sTYMl71j9vgNbp1XN3EVA15cOPWe+zVt0snzR1q+tLTBpEbvT4sntOcA9Gb3yr+UclmsS58FI6/gYtUeItqx81L7tEav4GpwX511/o6qtF48bja53HtmecUFlF84OdWdC4x4mhv1DJEdDg4OjvMKxep2+HLx8bbiyrwsqTfS/s5imAT1p8uYMg6ouqFPLU3JQlPYzEdJ5sOYSzTEo/9/dl0gfa8KNpFSZ5+5dWSGPApLv5Dgi2mqSls/du3RuPn1wGMC+mEtjVwUW8xGZnrIq8M7/6nlZojW8bPKkyZszDrjqgDuFfdyln+8UOOaAC9W+q1dVx7r/6CX5YIOuCEdG0yrF9jQshS86cCsOuPiMrQ/UVvp+V5vY1Vzr75sFaL5+TtpBeE7KuSaULg+ypNGCSTiKsIUYwvR4Px9hpGKgvyBgjIA9AK/bdPFUdsvFk8M2IPnMka3DBNTIWwVVGlGa6mqziYhx4v2aqLstH4F5COf1NDMEzqUFkqdO3pRx/BWAjaNZg01ENcz78XPE0ICkbfrzGWqMlajX5FNcW22gPJssxYGxLv504Rnrc/SIfPmPp+7KLqWy3+99w8L3et+Yc/xlTUz2LP8d7yCg2jt+3aqaWrt782erb9x8d56AdQCPkr+UTJTdBJZwy3E7eTakU7OHzq9+9/5nrKnABIleTuXktjKYBxtmG+I1DW2IpVxjzMO7ThulW5YwEfcIMe+OqMXPu6DKaTjVv9n6lUQjvy8c2Zw7DaccjNZjlkaRz63b4OpLwtiWRwn3X7EskRLmMe+Chg/1F1OPaHMTpYxLVHXh6IwECvsgc7h/vOiCsv/Rc6k2yn3I9N1FBu2VYTRWZrh7V14MSLBMSV1UhpGU1ZiYSYqyHx5np3GmD2YIXCNwuyMCMYtLo/DMYs/L83F1TSJPn9hXcMAHdHbiMxb2N9wCD5zov6bajDKbLbcdfUGmjcUNurQNuer7vLSp4VCXbzFf2wbX3ymSK+dtm1tVTG25Jc7PxOtkNMO4IFFsQzuNYxtkKIuUQ3+coDAUdSThhXJEGKQuKmQBDAKPAdhD4HUXbP169qKtXxtOAiRjhzdk7j28qQTgpDdaN5Qp+HOojALhKNOvj4GlSMzCzER0pqLojr089hM41wiQePeEEjGkFYBt7ENVyQhpFgmcNwHJ709/NuOAh8U8EkrREJZ07xSTsbuW5MIIu0wpweWxI1y3e9cCgQsRQAICd/3J1GgxSX3j5Nt9e8oEXk+aP4rUntoJPL15/D0r4o8SJ6/a/LcLr9hyb6mwpZIl8E4I7A6QtRAQw9Mdd5DnnFv7x/ufWqrd/+TsstzcKpQ4MKmGh3GqKkCf8mtReTWkFosGGbNqC+YwVj8KzMObGbLzKdu+TU/b+uDA+q3fLKXRix463F8goAbwbnOnbvoYTcChGgzF8zjQkNQeSodeD5sh8Pp7+68dHut/T0MjqfMnbiwTeDAaMMK35jDkcx9IHHB+oecy4zRcBxgORuGO8GxiZEZdTyvNSrtYguc7zNODgWSqrkSd8e+6X1wh8H4LkAT/ex85daAp6qdv9r3Z80fx2ozQvrQ2t2/reLG8fXzvqvXRePmW+yov23J/Ht7U/FECFtXBWgI1l+G4/q22k/ftn/rZ/X9d+cV9T8wv392tDolfNfjk1iqYu+LUTEs3widXacnqs/DctlKvZW/1sdNwqi6osm7b39UafYDHD3dnXU+l1aWusJtsFWDdmB5rhFfuz26Il65ZdEHFz2x4f5KRslUunPjQsAvaJ6m0LPvAs3ouq7vW/3PPkLHz/qOpT2dd0CwTtQcGeq7nJ/JMTboNYJLECB7IHt8+IV6fR8qVg1VZnpugTQAAIABJREFUykrCqvw/05/NEHtGch1I6tv1zhE4/089r2ia2uW5EzeUHPBum2HeV3/NOeD8vf3Xrnp1zz1HNmUc5oIDd7gN3BHcQ6Duclg4huGYLeHw1WAe2M+3eRMCKo/Y/uNV/0yWKgmWU6FwZNV0tmFJE1eWdCqzljptZZWShuzjUdt/QI/e9v2Bjm3fKzUKJNOHn5eZOJwvEnCKwF1hOax4m8vHBFnVZWQpyshPZS1ynjL70ZkBgzxjZHapQPLsiQ8UCLwvyN/xfzZvdu2c68dDNiDx76vogNuD0beqHnNghBONlfiyJGfFFCsHR0k5QZpExtzfdF+y4IALNiDxn1OnAy4upcKqfKnvbb4/SrA/ivrOAQI6CVx74Yl3rirDvEmev+XYwsDFx0vbLx7PQtmgy/TdpjlGeNwBb1mh2sJ9jyv9+33rsq26n9UgCZjJthyYT8bvN9KoET6abaSZTuzlLu1RMuaCqi6cSvv2n9Sa9dC+eOi5+dNEZRfUoU4drpdv2UNEZy+qQV2eAmwy0odGdN34LrEVL83OOzZ8eElTRgHguRPvLzCcAyYGok8DjmAnoKGf9b6qbCsnM/WpLINOBdcyCC6J7ARwhWMBVozMYCnGdyGPJAabEWX5FzWPBUQ7XkrTmeOkferOYQLvU4FE/HeYd9q2BmhUesevy/nTh9sVViIa5uGAh+7ecH25mWW3WsYPd+ccuMMOeFCZEqwfR005NlwrxI+2MZcftuOn1ZW+32ZLPDNZf/8sgHmzYdzANjSGYmEbUUwm8XIrmt3EZx/Y+bAdP6U/3D4/8P9ur5WaBSRfO/Ts7FcO/U0F4GkC6s6HIjOItn2Y7CDmOHHJbaN9RbOLSPYIMSy/1PvunnhfwQGEFYANTIQtbERmFJFAAq/+RdX+ouatqljIzkqApRnfmymRnToBHW3Tn088ol/seXnJ8UfTFiABgcvZyY831Y4x2f/OWQJnSTLMh21RqMOBl514e1m89pUn3px/1Ykrs82sTzOl/+Lp2d6LZwrk71FP9T3qFVuJ9G1G21NC1lKPHwR4+n/GHj17euwvC8t3d62XZDstfntrCeDdFraxCLhVMFfAXAC4K5k9JBnbSMBkxsBcBdwKtv+y1prHBDxw6KJhF1R0Qe3mHRQNjoQkMwrzNN/0dpGQ/ZiYiZ6HC1p/x4YPN2Rc7hu/LueCqi5Ru90uIpdnYSf7/7H3NZGG5kdOlbMucCq0jyhshGRGIrCU7tPdL6qq+aWwdwDmZVyCfOJYBRDPTIx1UTqf/b/rfnHimVGPmBrNONp0YYasHsTMqd5X55PmmUa2jhfLDngwKLutXq5kV5lzwGXfmbDdHxjMOODCLRv311pRr2bK1w89q+CAC21wu0T2ZZwqLNhTzPGSPSUIXwRRCXDK2P7z2krf71Ik2RL0hCL8/QX8McgcvEXounHhRAYXTg3goukyKBh9KYykHqYexrONel5h8DxA+wHsxNafErb9bADbf15qFZDMHnpm/sFDF8x6tgKvQ7HaQrTRiXnkYhrRRcdZbCis200c6GGUbHqqJhvHr82R55TYLtpFAluJySHRkdLVR6qjcUACeKzEy1e7PlShKPYZBzxjAhJfmrW4YxIgzkZF+sxpXgwzMK1CgnLq8q89g8p0YRFI6ky1639PfqwlU3cP9RcLnh1FZaVSu+gMvh0hvIvAs286/sZ8K+rVTLlo69fKF2z9eh7AevJ3qxQ1EaGGQf1GLccshwNoB2gvCKdw/2PKOPTY/PLdXXOl8T3gTfL17izYPdUCu8kYwFWwW8Hmf6w1r8J2+d79T8+4oOJpot025mBamsVm+0i+/Ik5/+hZW4nYydAdGz5cTnr/W8ZHPEaCgJE40mysyJlbMjsZ/X7vGwpx5T1q6vasCzrlXRdCsSvAp2QroXr4uv/uvqRmytOZPlhmf9fJBBI1G6uK+PW5NGdJQz4lAnbLahD1n3f+pvulqewcj5q6vUzgwQBogwGFAsrrf9D7+qVMfbbK88fflXeYKw5cwY6izfQS7SmCHYGH9m38aLkV9WqFfPf+Z2Qd1GeBtS9tFpgLgj+ADn5wAKI5EJWw5VR5pe83jSxl215dLpquQVyCBYBuDxHC7HaTeRDtB2gnNv4DYdMPB7DpR6XlApIf3J8rkKc+2G2yi0TbO4K7YcN5jB1Eui7sFNQRn3S9hZ1II0VvNJR46Ydt43szBK54RlYhP8usLc2eEc7aGksCJP7zKVoZiT6CD1jKqA1I4NU5F1wbJ02atRUpDrhk7myl+0q9RAeBhx3meRVAFMZQfvLkR1riB3JP/7VVAucImFPbsKmdisyJwAeuOv7acivq1Qp56rYHa0/e9u3ik7bNZuDNAptTv3H52NwP1KeOSFqa+kkngAM4+vgFHP3fRRx7wqr13xGluWDiSSWBqgrKwwMIYwDtAWgd+r+XRf/fD2PD95s6EyVOfnL/U7M/uv9pVQIfiFJpicc6OESpqeJVWFq+uoOYpl4y5xGqo0QAjJOd4+/KOEDV0SYYBMCkGr8toMI8RwnVNo+d/ETWYc8JMhGQhOHFqHzJmyJrqK8mccb3pozoT3e/qEaeDUG/F66D9cAfT92VqvP4Rc/lCwQecOqDCR1QHE/dVGzGfZjk4IbragTOkzcN3dA+w4GOod0Ovu34q2evPnbFGdFpBnLetrny47d9N0fg7vC+7aqv8FtW2qB9wlE7vEVGf43jf1XG8Seu6inXzQeTWLtJnZXMA/DYR88soWduAL3fKaHvu7Wm1ylGfnb/X2fm739yEeBTpO4zwoZGIYKDobOXjo2zrmzMIilo2Ed9pnT+iLdy+Yk3515x4irrB/vCE9dkCKiStHCj3pnr9hMt3RyB89/p3Z3IUas+Yudo8BBVJgQe/c+eS2u2PB82/dm84yvGVFDSwS8WLGLvgxLul+KAyyYQEYzW7YT07OSnvVfMEngk6j4d8O7cRKllHdLnNrxv4TMb3l9wwGMB+3AASb1lG/h4S/Ogds2xy1d1h2mS7LbvVR+77e8LYF5HyjbDUl+iHVv6SPNKIoMgnMSJJ1Ux/teFFt5Ow9J8MLmoWkVgrNdVWmMAPPbR9a0s8g8Oo/vby8o+VPnlfU/ME3gW4L3RKi3xeGkqLSso2NJa2IlNDWZhLSUCnyTwr4dOXFUdPPEWDVQIXCWWgURlHEH+cvmSQX6RgMLJvj2JgOTxk7fmHfCOegfIVoBSw4pR+QYqrqifkHckmOhAbc4vifhLmHuqQBlExF9Dq9Ge6n1N0fFmShnv0x8EVJ7R4m14fYZib8/28HYCqsVjryy0sn6tkr/c/oPa/9r+D8U/2/7DDAFDAOZM/UJwLOGI4nwdpNLCiLoAOoCJp9Qw+dQiJp+2athcK9RcwLNmCiB0AxjxfrQTz/ka4blfH8DzvlFC18rvBfD/3feE7D/fd16FNJ8RT/TGnlZtlYx9mOPjPkSZdfgjO1Ont0j+vtkkz8jqIqB62Ym31hviS05cXSajWgjSz8xOwvIccP5bfVcmVgs5cIta58yuYqzVfqO/7rmsFpkvcy6Y/SUyGv2Y4cCNrK8DXogAonqeSeQ33S+tOcxjFhAJfjv+dKqcTfoMRSFvdteiyk5CkEYHgcuN5J28DmiXB0IxoCLbU9oJfODaY0NLWq1hpeUR239cfvj2f8wR0E3gsXAf+nBQCj9EGXDDzk4kYOkAaC+Ifo2pXBnT61ec0TV3NtcZIr++7/HDp0FFF057eo91i8e55hOiLCFvyb8eps3aUtPbZ3bJ+dTDxlzQrAvaq6UPZ2XNu6ABBg27oEEpnVAWa2UKYaHn+6ILyn+l762JgeSJkx/NMzAt5hd8avVjUs7hzeD6l56hWlTefzx11ywDncHwoD7FgYDws/bkv7svUYeEkjx0+nN5KD4i8gX1QYh1ZplStwKBDwS1IPP/nn/paaxDfdLkzQMO+F4b2/MBa+jrfVeVG8k/ToZOXFVzwB2OnXnVAbhNGzRI6Wcc8MDbN33qjF/X6r/HHpv1Z4AVPMAEwhlc/j85wnEQ58Sngx9GNANQCflvrYi2pzXMZJXKf96Xzf/7fetmUZ/3ro/0ATsbgXBsZzDRKiwY08IwghNH/lbVlRLGcIB5B7zT8WZj7Q0/zHBWlvDrcDzV16CcJ2BaF8vARMTVawfSAAkQeLtH+JWAIbMLj5XEAcnDpz6VceosS2EkQX4h+5lJUM/IDlE4zya874rjsbioPAtJ8jLJ93vfUHECuwXrz9V/d6W/mfhAovqmFcfbPySq3dXjYtp1F4FnP3j00hUfdS9VHrbjp7WH7vj5MMBZAg+BBJ8jUcUlshNlyCIl0FRkAIAuEO7FzDNr+OKFw/jSRcuqAjsnwOS3Y4/J/GbssSXyVFqdRpUWq504YJ6CawEOqyFejne0D0f8yCOut5YhpR0h5pwfdsAKOkbVA+ROXEkXpeIh5qEv9r29muadPHXyphyBu+wdqlJe2CkW4/ImcC5GjSSCSywAhgCk/lwtLIks9Lx8gTxAiQKmzr+c+mQ2UYbmZ1AIpwvr79ZXJ7VkBHv7hg9XiHmIfHVbfDu0tmcQcweBq/uOvvSs2NWwbccvF7Dj/5Sx/ZdZEHUDNAYgmYor8ZJW1AFvpewavvysEr78N8sCKmc9mHjr34Q+I1HTeHUv9SjGkTYu/tyJZCeyqkK5dobA66/f9IkieSOfsh10gg8ZdXBTO24bgJiYiQMemu5/Rznte3E49LmwshIwSOxg2d3/i57La3F5t4Hz9k5aXNqCEWcvAQAH7qzjKw89hzMXZrBKZjfx61gJ87AAH3PDnuvf6d2tecer7MQBd+Yn3ldstIwo+cTGfWXyDPHzhvZqBw9zm28n8L03HX1JS+q6YrLt51Vs+9kAgHUA7QdosR4ngYhwjS1cBJYwrB2g3aBEe+osWc5eMLnvUVmM/UWVfJ8RM0A0Ahzx7EP/SGRmYWMn9o9NLkNQHyw64KGRTbfnr930ydlrjl2eI6BKLKrwTB8npM7FnE4ePVqYydB4/zXltK/m6RP78gTuUo3shtGz+FtMwkqA+JlcbfJ5LJj8Z8+lC8F1bdH55ZM+g1/1FOyqrlC1t6TR+Mm+PVUHvN8CJN4x897e8esS1zuNfGzj/lkC50jdXAvhYEZveyYn2XravR89+qLKx47uWjUzmJoiW39aw8W1YRCy8Ga7zttVXCq4WNmJeGEXvvLclqsKzz4wuf8xGdz/6CJAp+DP/a83SGXWlMZSBDWSGheuFmoDgsbYiJqfvvquYRTn1WOUwNl3bTpQBoDisVfkPGdDf4kHzbAZre4ys5DATyAc9whTgEeP9b+73Mgrcnxvd6/D0GZW2cClVOt9dUK/FTdnYiRthjJsOz2qYgIRuc5enimfQ9kCIkF+HY+bvDWfKlNFvtn35mHHX+HXACRBWHnD+LUt6aBv3viRhZs23px3wKPSfQrt0tj27L5TOwhcve3oC7KtqO+KypZTC9jykxI2/zgLYCcIM4lUXGKY3WG85QB8doHJoY48CLPwvEYBkA4IaA4bge06hZ04lngdMFSKb/UjmSNw99s3farwjk2jCwBw7bGhDAEV8tQBpmu0D1P9sMW00ugwSC+D3Ojh/r2FRl7RhRMfypNqK7Gyn3qnv+jATTSz6S+nPplx6jvnxQFAvPE9EBuLaFNUVGnEAxM3tL9oAMhwlmCIF8opqPVXtv3tcJJt4NWw3LjxlgJ5y49YQCKZ6stvn50Enr3jyM58K+u8orLpRxVs/GEehHXw/PYWFXAIxeijAjWsgq89r4yv5bMtqvFZAiZH1mVxOFsBMA1Qh0j7NIAwGv2C5DoY6NdDAYnmsxPLOkaLBB558+ZP596y+a5qcOvXHxvMkLeyb0d8Pmb2odpPTKATPBsHPHpf/0ih0VclsRIV1Oy+JaUf9b4uGSsJ/EuMnX06/xKl3rM6E5Hza0s4myuQX/RcPuswz8cA35INz1/te8usI+wToy6J4w9adlw8PtJSI/cHN36sTIz1VPcQt4CHtgacoX0y2gmYHj2yoyUrIq8a2fCDGjZ8vwBQFqA9SDILzBzeDtAggFP4encV3+hp+rs+88Hk6OOHAZoFaIcZrUnptM1qrDg2YmYJemM3X2tnJzpDEdPUw8YccG5482eL4q1/4NjLAyDpFDsGSXWgqc3MH2gkiITnM/f0X1to9FU9Z+KGgsZK1J/OUhYdcGJ/i7rxXZxpBTaquJwE9pJATACiq77cbNpn4qiqLjk/OOD2J03evOQP/0t9bys54DHbVGE/rLx9fG/qe0gj79/08VkHnHWAOdOEEmMbVr8heaLKvruObCt/5sjWs8uOokr/9xbQ93cl9H43C9BOgDxWrYFIeGoPpy6A7sUDfTU80F/ANzc05dmduWBy7Lw8jj1hFt4UuHZIFFB+eATTqrzp1F32lXpNzCKKqqdSac0TeOfrNn9+4A2b766pj4CYK44PJOa66ABiNcDHL+A4t9RRss5KXKUzE5YqD+tT+vveNyR2WgvtJSJAhcDSJoNLGmaishCp029rwGbi51vWZ3Vpqq6mjCId5gL56i4LW213WuwdDwDv3XTbAgmLQkrtMdZj3vj9DDpA9fNHtpzdgBJI71wFPbN5eLPARu0qLg1EoKjIOkB0AKAavrWphAc3L+n5nXlgcuKJGRz/qxII0wA6I2idFC4BhxUMVJodwS6gAoDCThLaTtQ0ArCMEHPu1Zu/YJzWd+PRl5YJ3BXtexJ0poZl6Q0dSszMLVADnWUg3RPvK1AiW4YALMyLDidnJYA8k8uq4vLB5Rc9l6dWc+kzumRfk7Tyk97X1BzLSsLNBpOp/ncsOP7qwuJoX2EpXS84cU2xGeVFycim2xf2brqjQOA95kFYNGM32PU6Caj97ZHNZ7yDY2LpPllD/sECCA+Ht2zVvNIXLvrhMzrgSOnaARTMoJRczqzlVMb/ugDmEsDt9m1+zRtyMVheokRZmiRuy11pWZMgLZmXRqlvXqVsy2tcTkUvZ8YFDV+2Zcza0e0/+pKyt/yJ9ynJediXWhGWPjGm55h0DJpzQfnPbXhf6uUtesavrzHQwULe8jIp6jnAoJFv9+0pJi3jryY/mmHQr0MeKv5ry6jM1FJsZ/vYyduKqE/sCHKEn2Mo871XpP4i/2ryo8ME7JM7TrEDBQg8NNs3XE6bt0k2jb+n5IB3B52yNGAI1aIjjme47/DZTPnODR9oiX3ifccuy7eBKw57E0gC4G8zDHjatNl/6kCB4YCHBi4+Xm5FXVe9fOmiARDlAGcBRBX8zZdrAICvdWVBVAScARC1G5Zn2Y/zjy7p/Z4ZzGTiqVlMPKUK0AFIe3FHsBLxRwZVk9VBUNXLRqmozOxEZx8mVZNG3RcJPHTplvvyUUDy0aMvKvu0XmFB9tGc8qFJ6YyqLctS8OSp1KovOXF1Kjq8Yfy9BQduh1iHyA7B+6WylcB7HvVRt7gvt6qaSqvi8vJ2EW83Se60qNTb4MDoquq+phlMj/W/e9jEhpQZXnt9IIHjqb92D51ozVpeV2/6VJWY81SvU/hdSXU0fk9Ghn/g0OH+ltR11ctzv17Bc75WxHO+UqoDCQA8a6aGi6oFeL4sI/A2IITQdy55Yc3VDSZTuQwmn1YEoe4zIhrWpSGhNRz18CTgEA0cSgOOWU8r2mgfqqDI9xm5ZMuhctTjuPXoCwsEDBpVASzW025YtwKIEhYDKJH1VMVRbSXSVFgrsJS+1XdlKgbkWJdRUdVdbgNgoq8crNtNGmP53+99Q80Rl443z2zb8cyJDzfNJkDWveOVdiC3k8HLT1zZkhlfb9l81yx5dpSxKPWW+dsM2pX0jQ4ePdxbPX6459ywoySVC6cWcOFkERdMZAEMgTADYAzPOFpbatarF0ym1+cBzIJobxxIRK9lE7IWOzuxAEfcelsCcFhZQb1TNqXxfEZeuOVo4UVbjkR2nLcdfUGBgAPaaK3+g/oxmQFEc1SEUD/JKRGk5Cd0LDuSvsaLx0cKZLGVmDow/zf/jb6riknLCMTx7SW2PbhlIHBTLTHhCFODQ7uJuMSKF3fe5C0N6ewdcFlfel9jV03ryO/vH5l1wHvq4KUAiAok4TtD+dXH97Skg75y82cWhjd/dsARNvmyAofQdmXAk9J3EXh24nD+3LGjpJFnnijj/ON5nH+sORM8mpFJU2Xm/Cyqz6gANO0vWOZJJHgAJvAI04RNzMZGHGPDNamoVHYSdb3YSUsNfpHAe7ZffCI3cPHxatwjOXBkZ8FhPmBmGuaPzcZAwhFceJ1pdpfQeRg7/KTisZIIFiKwFAo7zmLiAsSyOJh2rJcXdP5+pz//D72vT8V62vwZW20GVZfCghrqaNtYXPjR+ryaarO4t//aksPujAlALEACx1N5tXStpzdsvrtI3srXiyHY2ZYBCgY+pu+C4XgDmWr18PMKrazzmqw2MJm5wPcZgeAzooAETOFRKi8ZeGQ28X/b+/LoyK76zO/eIpPkJBMpnGEmMRiVWYyxsVWObWy329brVa3W2kAgMCFdTULIAmkZTiAsdldnJslAmLSa4Enik9AlIEwIZKytV3kptbu9YnfJxsbGNi4ZYyaTORkpmSWTM6fu/PG2u/zue6/2kvS+c0p6W9X73bfc7/7Wq2snBHEk1E5MopF+UzVBzTKI3PDw3YlslF8+Me4wvwKw/YVRO2eKQCBrHapWYCMfnVCkbSuyjO8988ne95z5lKPLPrF4e17WSsLvE51lKM/KuZ2fKCa5NjJ+7u4jOT2yyg0DJsu11DynO1eSFimiCsmqHlzYObmaCaa7JUkKHKJ/692fzdZ1AgLvOvPpCQ4YeT8kqQilIx/48Onfammy4K8PfWOGQThMUIUitffA4kuRBkw9TIhj9y9sLbRS5s2OV3VaAADA/Tc4EGIKDP3uuygzgzYrGfM36S+tpJH4EWrBser3wgfP1VXi12UCYeAQENI6EwBjAVl434b+vRUGkd81XColvSxfOzGaY2Az4e9qbfWuQTU4R2ieYiyUxT1Gls9FVTnO/R1lv7QuvAZ72/IA8EtnPt5bBZvhYAMA8AtnPrlWBZsSYFNVMHDGpnwp/bvlL/u/7cbZseCWCqCQ9PrI4BA59RzeHfB+WHjXQTAAdZDJd3Z8ePWKe/5Y2RY+pUJedwCUav19wDV1AWJcff6M/3nUeY2I803x4LkwTVzBf5VI/OUjB09/uHR08Is1X8uk+NWhvyl/6cS+HIeY8UxWyjtlyhSlvQgwiEMPLGzJcYj8DSMPrvsJt7oNnddMzm3Jeyat/jgTlX07obXA/j2b5kD5Pri0Xx79cMvxlLbAvHlGtg8vlZJelq+fGM4xiJJnVgh/n56eVzunXJyRNnfJGgGL2K90LF7Y5bHdny+5V1nMcO8l947p4RCHGESFe6GeyeYVCUbfK/WUswfk/JIwrJQsPe9qLYnvg3YOTRvRzF115pr4eGTnx2YykZNmCfAm1OoCgHef+VSOh9FaViKh/CnScvFjp3+jpQ7uD+y9azW/d8bhUvVj6b1SItCs2otacWKcQ5S+tXB96kdpMjpLJue39gLsWCKSYIjYDmm7RiDG91iwWemkAelFUs1YUZFZwW/QVU6XGHDJzSPnCgMj9yceCX3zxFCOuWVSyNkgbeG1BplFhAIr60T1YNLUAXHgz3f/UREAfvnMxxxuL43SE+wzosLs5JKp01cCuJnvNme7TCj1hAX7yIjqWkZU3VwHQZnU3HM0Ag4xY7bDJ8IquBB9OxZ/r+GOkBPRacZHGmhYno1+1sA9qwXv3zs3ySDUQpGRCbuqGVt7P/oZROnCwnUbYsKtbkGnNZNcbSRh265rH9JvGt9DpHZiPpjUfvUYIrt8jQEHrh950Llx5IFKLRdk5vhgL3frNbml5GEJ9SX8J8YxBClY1y2hwNK2w382OFUML7FvIrF34MpvkwSoaA4rp3fdVrRcllhkIAZUrcQnKH1bdeXxnbfWZeLghN9Ej+yqtdgjcY4p41qa1y/fyDkA4K92/0GFwy8yqZa1iRqwEPf34O+c+lBbOuX37V0ocoirOVkShg4UiZhQrodB3PXEwjUbu1BkG9FZMqmp6iWSkUdcEqNVOyG0DcSRhqbBuFEnRzmQvXbk4WKtl2P++C63cKMQ/fYRF/US2QrmCavWQY40NUKRjpm+Y/ALBV/OXzs9medCLi5Jj2DNTlGvxaV8CvRVicfNd/8HYjIsa7Xgum38JpGQkV3Zen8fAO7f+Ykyh1jJwNN2hN6GxuaHl8G8JE/jfhjPgTnHjKbVFj996oNtyed4994TZQZkmXATHEltxF+PHAB6744QR56ev7r4zHwuzUdpEJ3WTMoA1qL8G8lMXgm/a9FOqMgu0qwl1AdR6+CXGbDtqpFvTeZGHq155Hvi+I6gArB5LmpUiIQl5oVh7qJIRScU6ZjpLwz+cV6WlftJiEZHl+ATdJCqVrKwq1Cs9Zr5kKfpletxqVpJYOIq1Xsec+pemVjC8zQKLsSMT7z6ebxPz94mlIv/yu7PlbmX06ETCf3M0aTD2xAuLOOde0+u7hs+nWNusi8x2IKhuYcDL+nZD6PA9jOI0nPzV2Xb1YaNiM6SyZb7VwE2pXTyMrHIm/yFxNoJ8V2DgKjRv95BU6MdyS/hmrRufetoOXfF6OOlei8FhyhyoD8ue90wacWUSAk6AYsjNWK0CQ4xfWTwjrws50dOfyTPvHDf4HdjTVjqesb8Xp66JomvnRA5NaPevpxpQDPJQJRtU/fK52oU3DMhKtdLO0+mSQmMx3Z/vsAhlpkQpI8k7nmSjhsonPpAW01GY8OLeQ4coO9FTF6Kua2fQ5RfnH9b6pivE53WTICb7i/An/PYpn3o5KLvT+RTidNOqBENZfZSHsRZBuQuHV1uqK7N4nGnyIBxgzQM7cRS/dfUJmgtJIKXbjykAAAgAElEQVRQjO1CLDMiSY5LpVH0zoU0nZHn0ir4QhTfsXhbvt7rx/3Md7nUvNIRhxnq53Z+vNTAeciSKhnJ1JWBGKj3933cvevTFQ6xLJu2/PP4ZMYg9k8s3p7bt3jb5DsWbyu8c/EzdZMLF2KCoxoZRaaQi90cWvj3p/Jt7Yz3Dt9dZMA2BrGmvzf64FB9Z2A8l54f5cJL85fn29mGjYLOk4mLfDLto1bTlkYg5P4wKz6CNNRO3E2k2pYdfWriDaNPVhpp+H3HbykyYL/1RY6IWFFeBItZjDoursNnbsE953ODf6qY6z56+jfy3CiNYlRsRU1mL/d7fVyIY+9c/EzlHYu31dwZcVQV/03GJykp2sojreVG7lXYNtnUZRZ9bAZ45KRZgfnrAoc4woU4xIW4691nPlWq51x3Dh6pcIjJuGdHvseWwUgPa8N8KDoGh+8tMSDHPQ0rUpNXnlOKaAAGcewHc5e1vR3rHd1BJoyVAbYcb7qqVTuBSiC6luIda5BGRFE5DnGYA7mLR79TarTZZxdunvKJxGr7Baw1rAxSIe3ExHo0oSxzCOf399xp+H24PPWrnRgIs1fVkNvcXvVJpfTOxc9kk17DocXfdeSOXO3c1UiujEg+TS+FDKqrvmagm55CAmvcZwIAHNWi2h5i4izT/zTw3jOfLNRzvj8ZPFpkqM6SAxDiuYl4fvo/e+r9DVegrRU7h0sVBjgcmKbfFXpARg/SAA7s/9u5S8t/N/fm1DGfEJ0nkwcHJuA64vvrI4eI/da8Exj79QeLGLksMYhL/s3Ydws/O/ZMw9mz5xduyjOIg/JISn0BNN+JhShIUlFebtU0FkMoaxzC+Xd7/txo3ydOfyjPCa0kklQIIlGLL1Kfag8Xyf0BYX5JTLKi+2mITLgQZVXbEV6OSVWpgrxz8feyjZwHAI7vKqxyuZIwSdhkheR83e1zKwnTc9JL7YvTgJkQBz9/8t86jV6DWuEMn129ZeT+PAMOx5m3TM0Fsvz+9n4GUfn7uTemfpQE6ByZPLQti4ecEoC7ANbXbNMVqeFE/Jbx8IU21TUOceDVYy84/2rs+Uozmv7wwo15jrBwo+pEp0xs9MtLaiDCN9n5EWl+JxBGqFkIZY1DOIf2fIkkSi5EIUnuAT1ythGLdbt1NLhv8TZnYvF2Z3zxdgeQM9/V37FEcjVGJsp55MKPQjqvAEftc8HLGF+8fWJi8fZKBtWwcKVvqrOTiL/c90tnPl5X5/eFwS+ueoRi3MMoArE8UzNHTr63I6P6m0bOFzjEPg6sGW2R3gXzfdJ9poEfpfQPc5fkO9GW9YTOkMnDOwoAK8Od2D6ZaSvWdBXzG2SEl/pbaocuwIQ4yiCyPzX2YrHhNnv41sL1eeYXblTIKzyvlTgiX2rpBbGEMMvr2su/xiGcz+wpkp3tZ079yiT3S29EhixbyIIgITrkNdhmENrPn/l07l1nPlPhEPf5n4nF20UGYkLXSuhM+CpO77qt1Mi9CwmEjuiStaJ6MbF4u8Mh7uKeFpgxCDn+mmdQrTuq6o8G7yhxiMO2e22/98bgpIcDxbovRIO4fuRBt1AksGzVUsjtIN5D9DDg2P+a62u7+W49of1k8siuMoBDYNqMiUnJg9ROqN/QCMY/MEaT8TrkZQax7cfHX5r8ibGVphWEKy9cl2OyRiJ18HQYI/HyaolYeqkX/Th7JxR81rgQzif3fJkkksKpD/RyPYKLGB0TtnPYtZQqfYwvDzHXCHdnI+yTR+geIfWY5ESSS0POd8ANDaauoVqaXtRdOdg9R3VS1UKIOectJCJlsjcUNvyHg39S4IKalz46eZF4Fsa/ePI9Hcswv3bkYX/CrSVbTTtlcKWQNkk0B/9p9uLSP8++LvWjEGjvHPCP7s5DiGPmnO1eHVl9m7Jcpbcr22J+I+5YiDUIUcD4D5s+Anly/ppclbFSFawnbp52Aduc7tI+aQ57/XgR8XvuMuTjDnx06GtFm9y/e+pAoQp2SGi/7c+zLv9+sE1aptYFAMFCWYS6//CXd3+uIMvwvjO/4wiw+4R0LILveHWgmbxPnfvdW1+DO1IuC6A0v+twpZ77OLx4WPi/6EqhwlufBkSZAb0AynO7DidO6Pv5M58uMWDArG4dtsjcrm7ztIR9dw4eqTuR8FOnfjXLIcpMKjTK5d+XiYMMCw+OW+MQzq8NfaNl1YWT4Kn5n5viEAft2nO8CVaqv7bMIfJ8/JWOtqnb0GbNhGWt2ke92on8dVLjoH6LOJaxWYDlWkEkT89fbRRu5NILR2seumbiayCeRqKNBA3fifZ74T5ldBlJJL93an8vI0JGlVpOicKBbdV7Sa3EuP5cmY63ajjZM9Lv+WYhI5IL1R63MxHHMhAvji/eXkh6/0YXD+VHFw8VRhcPFaNMXVKNrv0ZiCPcnUf9rn2Lt5X2Ld6WaDRLt1FtKzW/fdjhBRpNQ9rJ7++5s8I1jZRB1yr10Tz5rPXwDoQL67hi9HGvUCTW9PdLN2/Z3lHp2H4GUcLsRWmhSAntJROGSrhMdPjKsTGmLfmYyLIrtt8KllfA2DaMvjyBsR9U0GR8d74/y/1S8kp8u82OS72gpi/F96HYXmTdBEGYoQ4cHPqrYpTs3CWSHuq3dQK0E0n0J+NFQ3md81Rx9+epkGSi9pbZ6SodsGwq0gjG+xzat3ibE9X+icXbeycWby9nXAI6lIHYb4tE03NO1O1igItksySGIcHRpJzR//tEGh6//zdP/1ZD5pjf3fPnU9ybk52653L5d32/SySBdtL/FyfeUWhElmbgstFykUM4HFhRBnKaeYsgDyIKDD1guAtzry10tlXdg/aSybWniwBbis1Yr0U7ias0HE00h8GQw8hLpSa1UMEL81f2Mndin7CUPJF5a76IMlGYD7dybETmufHyh+tHf3Por4tRsn/u5C/2cjKRzWKr13wiZodvbtfkW+PC1EoAgKPq+B2zGfqrdNrKsuGQl8J4PQ0msoP32t9vtteXQYvoCkKFhXcOJSM/n+SZ4fCn761qWoh+3apBbkvGIPPgOw2PnLkb3aVFRdFaKE0qwXNxqHhiwmlUnkbxptEnygwix9xaekT0lm4+lN+x8F2U+pdDmL+4iIXXb3o/Svsd8AzhC5yg3EmUs5wkj2REswSwSzBcKWC4eQ52GSvzV/RyVyOROiM12oo2Z/nHqdqLQTZ2orCTi/tST//a0DdjR8kcYpILvwx+1EcnhRqz38PvT905eMS4F7985mO9HKLPNClRxFKVRuz6dirfJXq+di6qE34iovzxtYCMpPX4JVwoDcXb1pfkufnL3Z9dzXjJg+H3SfKNTQ7lTagufNueY6vcqy7MYWrD0aRS1WUsfvXEWMc73UtGv73aN/pUjkNMkz4g6R003zsfSn+zH2AlHM9mO9KgLkH7yeTa02WAHU1eKl4ij+BYZjkW6rH+hvC31sDYAQy94GDv9ypNblmAl+ffKlUANkc7UsdOPqzUMTZSqZFQpn9l6L/k4+Q/cvK9vRxi0jS5JRyREkl1VLSV9CF9JYBbxNHmP4j/bTVB0pzbJDrvRM52t2W+a4ShEYAqW1LwoJSKroXoJBIb2TXw0dO/kU18Ygs+tWe6xCGOUhFbZicsHWMe38e7wH/i47Wj38lz149itEW3JMgfZeAbDmz7AVbGiTc4HWlMF6AzeSYMBQAr7jKlUSjHmvtr0WTCbUfBWBZ7niu2qlmBGEJM8UAjsY1wbE52jTwIv0iU5hFBKLMH9t6VTyI/l3wlQadAjkj1zllbT54jMXXH4BdIDTGDqqP/TkbvZLVlq5krOGeyJEYeORthbOKiQS5JcWz352cycuFFw+eTNNhBgDepuvDH93xlkkMOF44YWGj3S3sOx79+YjjfDJmagZ8Ze7bIIK5mwFqUectvA9kXhYPeHgD34eQbN+WEW50hk2tPrwJsMnlkF1upw7HuH7cMYBsGn5nE4LMtMWnJ+Nu5S4scYr+chGg1Z1kc8gZ5xCSPJSCUZZ7Q5HHHyfeQvhLCZBHzkXNMqoEZqBatBNAiuaRoLZrQojQUk/gyiK7VFRKC+bFFc+n5Jlzatv/MbztJnyMuxIzve1HbaYv0smonie57Ipko/4n+iXTKB8tT3zwxlG2WXI3iNWPPld3nTCxTEZY+oQCIG7D6y0dw6s3FDjSlo+hcOZXrTs8AWAIQRQRrAA5j6/ksgOnoG+ghVDvXAHYrdj2dw+7GizImwX+fe1ORQez3JbO9cLoaHbXfRhI1EMoyh3B+ce9cIiJlqE5x0L4SedRpOuIT+Ep8P4N6/NTU4B1W2bgUyaV03jKxEFqLXSsJfmftK7s/F2fmWk1q6rKZuerVTrhn6rKb1eLnVfH8Ov2fOvWrTaktdevQ18pcChf2n4Fo0635XDA3srFtk2klwU+PvVBhboLjNANIx7w9zcD/r/RN+3H6LWWcuazjPqJ2ocOFHlkejK0Z2ol7Y9y8j5vOFbyNk8Gx8RFc7nd3frtt5Q9W595Q4BD76YJxtM8jCJ0Utv2NEYpPJL+wdyERkdx58p1Ztw2Wzsn8/cjOzLbsO68zECv/cfA/FWzyHDz94V6Oap9MEpQmkpGjyQjNRZ/bxNsWm3DGLRnvXPmdaDOXfu6k+NPBqRJHdYVqO5V3Ikd+ZUzSzic+cQx+a+ivpjjErHF/pWczyXPMIfrnju8uNEuuZuCnxl5c/cmxSp4LcauuoRiD2ETmefQDqODMWzdFocjOksl1pyuAF90V3qQVgO3DjUsT2HK2Ehy79fwqgAJJHuGymzOyfXkCO54Iv9ti/ONcNs8gDulmLarTlR3y3HzBrKauOghljQkx8fN7TyQ27amjzgRkQTjaSeKxEYyoFmLkyVG/lQGtAShmJUVzCU100vGl+OvRHDOXJEM26b3w2j9jttN2TYVN8wNHtanJdUw3d1kGFoyQU3PKHzp+fKfTTNmagR8bf2mKQWxjXoKj6RuJIhRjWw8Yu4DFK/KdaU370PkS9NedKYKxSwB2Kxg7ALAcbriPVoG3PjAFsCXzpgHwc0a2XSi1TXYA/2fu9XkOccxma5V9Hr7tlZotUX8pKUe7fFwMoaxxCOcdw6cqSdtx7MRElguxPyrcVD6HYsaxailWOz44xMof7LmzGCVTBlVH9w+Y5EGbtcz1akAqHsnEaiY2E5ehoUn5K2quiUsikuktm/R+eOef0ttOaimEb0Vb7jt86gNNI5RfH/qGW12YHExEkArtlC+eOr6960xBPzL+col7hSIVi4liPfH/JyKZY7j7yg1dKLLzZAIA152p4O2LU3j73UVcf0/cSHoCDIfhRoOtgWEaYJfAeawA5/GWO9hl/PPs6/JMiGOUo914qYRLJLZjoqK3bC+mZd8ah3DGhs/UVDeIy6UzyNFt1DahdWjWTk3eVkggk5L5niRh0dyvazE1mLks85coOScJzVy+LLVgavCLlQzMgovx0XLk9W6qdvLBob+Z4RBHo0hEfT7ouW+YGy7clZ0sG3+lDMYcgM1GaiFWH4q/HBx/EPf0l3BvruvIsxl4VacFqBlbH3DNXe6nY6jOXpTjYFMAc4tEMm0/ZMWYeawtyGN4gm3kugCqTN0nAGdo+J6aiOSrJ0azHGx/WBTR/eMWZJS2QXiUZa4zTy4hfY95x3klOiHC41cO7flSMU4uLkROMPc75rndLQi2hcv+GrXutWXtjsGjlbjzZ1Bd1V3mjDxS3ie0dXdb1PeiwCGKDOKI+3tCynsIf5dF/g+Wm15Hirszbzrcy6eSQ2gVTTkw4RKTtLn/9997fGBm+/BSVznlAQBjr6wCmMD8xQUwdqg+k1f4DwwDAMq47+oJbLuwoQpFdodmst4we5FXuBFSmZQYJ7t0DGUGSOIXIX0j6rEHBofvrfkB9bUS9ZxVpSOI/2jaQaQJJF4r+fSpD/ZyiD7FZCQ73LXz2qK3TOe7SKSVeNclUcJiGHoc58sR9cxvP6NeA1VDiYvokj49nz31/nyt549Cfu+MNpkWEbmlhAqr+7Xnubi0cHO2mfI1FaPfLwDsgBIElMgpT27rA1gJpWvynWpOK5CSSa2Ye20ODCUGmOGzmhPdcLJLnX89kVt2E4JLJDuHS8Vam/PXJ/ZmORnBpf9+HaHA3nczUsJdBmLltj3FWDm5l1+iF2+UiSWq5pelM/f2xzvfXRmqq9FO+LCCsNnBk9FcNZs3Pjv4ZxUOMWtcC8KXQhOqt8+9bk3XTt6/d67MIW4ln5mEJjjPvNsV1YUjMbJSBOCAeQnXgMWH4i9HEkoPwI5h6boNU3k4JZNaMH9xLxgreREahp9E7fxNJ7vuiIz0nVgIxRK5dcAZPlusp0lcn/iKfOGrWudAE0tk4mAQaRSvlXhyObSWEYa/Kg513dmuEYrc2fOEmskXBr9YTuSEN8lKO38oQ333qBoT1WXKEBCM2qmP/9HJ9zXdXv/evQtTPJivPiogwxI+HB4/8MDClkKz5WsqhitlgOW8+n6gfSikeStEsI0BYBsmWz4lk6RY6FOIxH9ojJdFyny3vUy6oz0yHDieUKZvHjlXrKdJdx0fdLihldCOUvuIk3I+W0ll5RN7vpJI1gyqOTtRyeRgkkuoSekEU5uZC7AnnqptjjNzBeetqyPPSJWEw/NR10Mlb8t9aslImLvFINdkLTaRZm1GeB16ZOGG7s7L2Pu9VQy94ICx6XhCidoG34eyIZCSSRIcv8Qnkn7qwTA0EsPcZSGVBiK3vM/0lpEH8vU2i0MUKHMENaI2OvTkUUTycmJZuVRGxRYtRWseMrmoBONpMGt/OPgnleRyxJm4TNkUM5caBdZfz306vOcvVjOoTtP3w0b2VKiwAEeyeVVqxbv2nlxlwvWfROZJac+Q5bmeeWzh7d0f8bTnubyXzoD6CYU1PJ10tyAlkyRgKAHot6msDL7JK4ygsSUrGqRSJ6EwiOm3jzyUr7dJC8d3OhxiQB0h6iPKaL+INKsf2aFrHcjSR4e+Vkoi2x+c+iXX+Q59hK+bsGw5JqqZSdFKEuSXyMgIsRxk7EsfKmQ4o5SpVxMIfZnqBYeYoUvDhPOaRAQ8yP/77zj57mzdgkRg3/BpKVzY4hvxn3ltqgLt2e7acGEDg88WwXA13NJPCXwo0Aml1A4x24GUTOJw8o1Fm0Yix5nrznZK87CRShyhyB2+t2/pmpFH8o00ixsRXLSt26al2E0qNv+JKNQgm2M6nGk5osrPW6K5SjVep4jKwSFR0Fn5OsnVTyaf2VOc4aiuGdqhT2TQtSL7tcs0sbyKDu+5WrFerwgTqfbs739i4Zr14Zze/UwZjGVdLSPOh6L5UoCDOHfj+iDOGKRkEoVTby4CbH8itZXp5q6QKCJ9IgkIRXNWLjcalXPm+DaHy1qJ9rJnyBEuraWQnZu0z9Mmlj4y9PVSUvkyQuQyGkFRmgjdYcdGc9WYzJk8kkuVjSazwqkP1O0P4BBFLmtHFp+JHiSgOuUFeAvJZHj4bmkyLe2ZsTzj1iRfIYpPz1/d/eYuANj19Cp2PZUDPD9KbSavgzh/Uwnnt66PtlqQkokNp99SrIVIZEIxXg5BvzRG7kg8oSxzCOfK0ccayvTnRgSXJXqLesmJjtxYNs0Yhdrkc6fp9eWQiSXJ9LyWcvP+ttrMXJbKwRSp6nW5LM7/ujsMLkRRJg675iYTCxFZJqp9f3HiHS1zcu8ZvrfMIQ4bz0TssxS+L97z3sPRXdWFY7HzyTzAbq2DUAbAWBkP3NLdwQcRSMmEwpnLJgHsN+2e0UTi/6eIgiIIkjTshLLMIJzLRy80RCT3Hb/F4YpWEmFqIBIPKX+I2bkqpLL0oaFvlmqRkUsFHpWJsCSnuqWgobZszLS4dmjPlyo1yhJZOThpJJdMevXit4e+Ws5oJiQzCCHCLKj6uPJ1C5IAO4dLBQ6x5D9DuhZifQ/M53/gufmr1lf47I7lKQDb4JZ7cmHxt7r/A0LpA2MlPOjk2yJnk5GSiY7Fy/MAO0KPJrxjjP/msfILUlMoMEEo3K23lX/L6HLDtce4oPJK9A5S64gSJKBZnO7gNWolf3zyPVl3REpHcCnLgdYSkkuUmYvX6C8BIBGFGsFlM3FRCYua/A2ZMjhU7cRvc2SoMJ0jlG9EjkSyCpFn7uRn1ueN6XLSRHPkxfm3ra8R+/ZyCWA5gC1pFdEPgHm+laDPgEwyPWA4hoe2ZdsvdGNIyUTG3W/LA+xYraYtwDtMO1Z/aRJHbqnHrjEI542jTzZcx+fcwk0OhxiISz60fmIKORJml6UP7L2rVIuMHO6c7yp50KRlmLm0qCoimqqeUjNW05ZKIrJPRWhEokSTNdQpclSL0aY2+X6RJOJ/er56YrSlDu6BkfsrPCi3UsuzRZJO8aX5y9eXT2Hb4xU4jzkY+BbDwKMMtzySxS0PFwHmROaouMv5TopeD1Iy8XHPVRMkkUTV4KGqh/qkQhCKRhK2UZh87BqHcLKjTzWlIBxXKgPH+UV0kgg7qEzE9ySnO3iNWgkAZORpemHTMKJLqcjrchhvRiQro6JdM8LMpeeZqPKq5riqdH73u43gI0Nfr3CIZdNnopoDM0Ivs6LLL5BpUQKjjK0j52c4hJEjoxJJfO0uDtFfz/PUlbj5wVVsfSAPxg5HEso6Q0omAHBvfw5A0Wq+SugrMc1h7nrdkVsQE68b/U5TiOSRhRvyPPCVaGG9lo7Yvi6X6bB25kvv3ztXqlVO2flui+BKmmMS7gvkqvlaZkR1NeORQvgJCUominDOdtJfE2xrFNydWlk9hyyPlTyMSb32//WJvS0f7XOISU6FCxPyRvoUhTj4w7m3rI9w4SS46VwBDPtg5qisASh2Rqj6kZLJfVfnAFbyCq+Z5ivA7huJNYd5iwkIhfgc+NmxZ0vNaiYna3D5L6mppdjzS7QO0k4q+brkFPLsiqaZi/LT0ISi+1yqKx8b+suafU4x98hq4jKJJFhv2PYflFeRzHqx5VWM6xfsa3nn/PaRh8xw4ZjoLltEJIco/t3cm9eXuSsKW+6fgT9nCtiaV/NrAtffU+m0aLVi/c1n0kyUrvGIBD3wJ+WQ/0PfJqR1FnOs/F+ACXdFmZdEANzjHHnOkipw4DVjzxeb1cwLC9flOVgf4M7sUYU7v4o8f0kwhwkL5x1R9sGYkyRoojqPiYAAm37X3hOVWuU8dmIiy8F6IKRzMP/cskxR85iEgwB1H+rS8HSzVJzxQT67frwnfcMd4QeH/mb1Syf2zQIYDysvAEy6QmpFBtt/ASYwgTaMgq8ZeaS8vHDtYQZxyDVrqXObqP9B+g+1cGGn1TK3DTculQGse41rk2smrEhrJLU43ZHQrxKvoXj7bn312AvFZrYy1EoIH4g+ejW0FJtzXdUQNHNLoU45c7ovRPE5JDZz6fvqc74DwK1D/7kUlV+iaii+XOYc8c00c3nXiiyvYkbjWUb/oYlpfO747mxThIpB/8i3ClyIZco/QmpPwiASf3lgde4N6ytceBNg85LJ0nUOGNzCezUTCWUOq59QpBd7+qfGXmxqaYWn5n8uz4Xok19eW+0txRxD1E+iOymDVKZrmXteRqzzXUSTi57xLf9GJuEcJhSiCUR2wtNkrYUrN8VEk987U+ReeRVqXnjVRyLtVxJAg31tGxVzv7owbFqJNKiJJsXC/5zLrq9w4Q2OzUsmNi0jWG7M6V4LoXjL0z8xtpJvdjMDrUQrcxJNEBrRGcQT+aIX6pfVdb7reROUVkSRi9wBEfkedQcymPklZhQXrZ2QE3PVVTmYvl5ihiYwgvj8IAGDYAR4G3JOfFw+eqHCXYe89Tli5DNnfHpYt0+mtcmweckEbDU6DNg/DOYxsU73ZIQivRjTPzr+/XyzW/jd+f48h6SVEHkH9grBsumqKo1mI8Nyp0eGFyv1ysspM1eEw52SNSOF40ohuisfGvpm3QmfPKpwoTLCj8gzkWRqFjIQRf0amFqIf+8infH9p49vzzZNsBi8ZXS5yCFmyefOMPtGhAsL0f9/Zy/eEEUSNwI2L5nc8nAZYNPJTFzedxLnoFiOJf5ziOVXjf8g34omuloJ0YmQI3iqk6FMX8T2cLlQr6zfODGUzWiZ73F5JTYzl0pGjWkl3nWsqOQhaSgiJAo1RFioeSZSe5qFX9i7UHLLq2gaUmzFApJY2uqD4G4y44oijyXCi5HPcLB88P/NvtZpp+wpaGxeMgGAWx7OK4RSq9O9IUIBvLIKTiua9uL82/Ic1T5rh2LpcOiyKPR3NXPJ9ODwvZV65c149bhU8qgtr8T0TwRmrobIRM8zoXI6VIe7WW5FlufLJ8azjcgjg3uO+IymhdA+k0hiaWs00SWj317lfnY84Z+j5I2YLG4Gsz+7ccKF1yk2N5kAIaHU43SPJSFE/YZLJOOvNFxvS8f35y/v5RBT0S+nqaXYOhxrJJdKKoVGZOZC5IJJpSzkFmXmkkf+RH2uUkOyEdcmo3xkExdVs8swf2UbkUeRTVSLMoHYtI+MQTByO6rIQPQtLdzsNEuuJHj96NMlLvzqwgk/dJJjD8CK7ZQ9hYmUTACXUBhWANROKLHfIfevAMzB2MtNJxIA4EJMclR74rUOP/xWQLarR4UBW0jl8Lbhs5WGZEbVCc6rFW+kNBGaXPR9QcfZmGaCaol2vuvnpLSTqrbP3dYs7Bs+Xebu1AQagVL3y/I8hFpWvmmCJcRFY88UQvljtBOh+/ncj2cdGMfc69Jw4Q4iJRMAuP+GItzyz+56lI+E9K8kODb8vwawCYx+vyVE8l/n3tLLUZ00TVhV4yU0Oh2rrT0yz2KNo9qwEzSjlcWXiUU14dDkQpONAEd15X175xud/yWiQzajuHTthIgsa/RyKcigWlQ1tLiMeGtARkcS57gSLmzxjxARXswnktDcXMDCxWm4cIeQksm5LUVQk2AlIYnExwISkTgYWf5lHWwAABVNSURBVGlKvS0KHNVJ7mYJGy9gRIkPYwRomy/EdIRXp7aOnG+osz51fHsuiZwZjVxsZec1s1LD11o1adnNWxTpEiYucFSdRmWSwSFmbPPMGAOAwOdDmcOqPQ8t3Nh2QnnN2HMV5oWw+ySozKlDDHwMInH/p+auDmJzk8n5rZN2ItGd7g0QCmMAwxoYczD8YsuI5O/n3tTLgxh+alRHEYSNJLwcDnI0Hhy/xiEa1kq45HxXJsOKkU/RpuSy80LWBhonE45qhRvEYZq3dBIxtaSwLc3E0PA9FQ6xFJnAqAwQIp+HfFOFS4hXj70wxSFmtdBfUptm0SblfhzPFjrRhs2OzUsmD9ycBzUJVqR2geSEwox9eQy90DIiATStRO8oElcH1oiDLOQYdJhT14881PiEXRA5PX+lvmguf5+iwZSaIF/FNuo3w5ElEpEKMepk12xwadKs8Py66dKM8iK0rfHHF97ekcgo7kZ3rVHRXT6pJDQlH8KJNzidaMNmxuYkkwcHHIAdCwnC+1NrFJehfVDkwgDGDmDP8y2dy/of57KKVkLmj1jqbplaQYQGEG5vilYCABlUk5u5rIRC55nsGz5dalg+owR9SA5cIwpl/hS7dpJt/KppMqI6I4/oMxH3mR5MKMd0xHfyk2OVVS786sKm3PYwfEa9w0WcfFMaLtxGbE4yAZusSfOoL4fEXz+Awe8WW90ij0gCrYR0ZEqdDRd050stKw7mkFSmrh55tClBBFyEzvc4M5dOeFH1uTKoLjdFPst11Ef1pHai7A/yT7LNkEvGtuGzqxkhpmVfiKx92J3xJLF0LCrqx8dfKnGIo7JMhKMd8e8o6wNL/SftxOYkE8Z6o4kAxPZaCYUBjN2K3c8UW92cf5q9uNcNBzY7X6uW4o9gtX2WiC29U1zjojlaybmFm3K+1qRkjhuais2HQpFfsN4Us+L48JkS5YBXzx8mKsZFcrnmmuaDozqj+k1o4ovUStx70P/U/NXZlgiZAD8y/vIk98KFrf6RZIO+cZy+NN+pdmw2bE4yAZtJ5iNphFAwjV1Pt6VuUMaNhOmJm3CIJBbDQR9Ze8v/jam3jT7eHK1E8ZdI5CH7GzQZKC2Eax25Z/pqmo+KdsBXjfPKGpYlkgvNzDOR4U2Ru2be56p2/QjSCxz0wb6Ozq/BIfJgbC3yvUumoUzhzGXZzrRic2FzkskN906BqssVb/paBthygod4GjufyrejKdXZi7Ic4mBIDtF+EWskl1F112r2WuFN8pUAehkVi5lLjtISOqHoTnqF9JpIJvQoXx/pU34SQjsZaJZcppy+74Qo/Kj/F2aUl0RCnU0AHP9hGWCFWNKw+yn9/z0Aa6m/MoWLzUkmAHDDvflkhBKMhNzyJ+4Um0sRGsw0djyZb1czuDIdr6ZxkFqKbt/X9kukYprHquAQhUtHl5uWcMkl53tcNJdMLnaCCbWCncOlUrPkzECs6MSgmreoMioqwcnytQoZooyOQXqENko8D30vzF/Z2QTAsR9MAWw2XgtBHKH0Y/GKQodasWmweckE8AgFRxMQyjIAB7c8vIpbHlnFwKOOSkSQjmPtG9HNvTYLxvYzo+NNoqVERXJJZiaVVFbeOPpksZlN4BADUfOXUIUcSTLUCIYL0RTneyinnGti00zsJq6ASLx70ipcO/JwOYPqimHmUrSQRE548A7lnChgLA945q4kAz/7IO8Q7u4wOW5wbG4yAYAb7psEcCDiAV0BmIObtXyKgUfzADsAxqa90dMBbLuQw/ZyS8qkkGCs4MuqzY+ijeRNsqAcsaQmopJKoZnilxeuzZmjecrUZjHNGWSj7GtqTo/dtCUTmVpVmCxH733n3MLWbDPlk8G9nBM5TNlupqMrC3vPQufnJR95adUjlDjtA/HHYAb3XJWGC7cIKZkAwA33FUETiltHa+sDNEEMPFrEwLfycB6bgPNYsX0CA1h4fRZ69j7zZ3Ak/CRK7oGNPGwmsCq4ECsXjz7d1DZmhDxNrz0U2OYf0ZztupO7qWRC5ZUEBEIQjG4OUyO8quBofq5JKKsompOZxYcGywTjrff9YO6tnSeU4ZUZMHa0CYTS5w7AUrQCKZn4cAllHxiWvYdvFmAObjrX0qz1+uE5J4mXx9RSokxfNg3FIJVCs1vAIXKU+YXSkGhNJDKiq9maSTk6PDg0b9lMXDohtgpXjj5W4RDLOlFHOuP1ax7OjdJ5MgHgPe/LTSCUgx1sxIbGqzotQFfhhvtmAHR/5MfxbBaM7YdXXQIAgmVpG/PMU17aF4S3UwAQAhDMjeOvevuEdBzzlt19WHnNWPMTLzmquUAeTyb/7IKFy/4SiHYg+CsfB1w38nCpubIKTTsNyYDBhLpNKNuYtK1VyKBaZMAR93zu1dH/Q1n3loVx7MR/m3tz778ee6595lsKe7+3ipNvyoOxCwBCgqD9IzCPkbelaAVSzWQ9QvKVJBmRWc1YUtkPQhORR/qFVjQjAzFgNXMpda1o85zd79Nc5zsQ5pnIkVtRDnhbHoqktTjNllGV150fPkobkX0mEQVBezqdcxJg6PkywG5N5h/Rj4G/ba1T4m90pGSy3nDyjbnAVxK8MBzhiyMtg0u+FBgdb2jSEDArygbHrLx67Plis5vxwvyVDuVjyIAiC5NcwgQ72ZwUdN5NN01mIFYp4tDNW3SOiSprq81cAPDm0SdWOaqztN9EM2UJlVgIsuwOMgGAPd+dghKaTzraQRKK+2lLIvFmREom6w5sKqlGYmzzHPQWn4ilTHlr6jRxuM53zeFraB92h7swtZeQZJpOJhzVMp1bYndkyyRCOOCbLaKBDMQMKVek30x/LqrgEOP/MHdJ90RBMTYBaNnxifLF2CycxwodlHxDIyWT9YRTlzpgbKBeIgm0GMagE4mFVJb+5VilJT4kDpGj8klsy3ERXIrTW7REM4k0benaUUA6chVhKXQ4I0TLO2fuTpq1ZtNCYp3w6rORb7W8ibH7GTVcODmhjGPpujTXpEVIyWQ9gWkRXImJhKv7jagvK6kUWtWUsOy82rHZwoOtJjoiouuK0cdLzZaXS6Sgk4Nalj7ML1HnsFdNXG7wQWtx8ejTq1yIGT982aZBmeHgJLHkWy1vTdj1tBounJxQZnD2+u7RsjYQUjJZLzjzVlcrqVsjiTJ9kaSy9KPj3y+1qjlciH61DH7ySsGWvBL/e013vgNABtWyzTdiM29Fmbg4Wusz8cElU1dUzgkV9hz4T1zi7P/n2YuzbRE6MVgBblKxzT8CY5+ba5L6TVqAlEzWC+QILvAERMFr22+SSqFVTfnbuUudgDBkh3pQY8vURKLySrSOutQKmS8fvbAaNbK3zQevduRq7kk78DNjz85wiJWac06MWRoFWuU/qxs7n1wF2ARBKMuyBg5Afxf241z757rf6EjJZD3g7iscQPOVxEVy1ehD0UhliY+/UmpVc7hXdp70kSjlR2x+E3rd29ayJFNTM1HJwzQd0RFevE1mLknuGZ0ITU3K+yjVow1zV/d1wDuWy9i+nAVj2wC2DYxdDefxHJgW8WX+L+L8Tam5q4lIkxbXBVgBDEpCIogkxfj9DGDCcqx3sLu90KKGAHD9JW6aHJWIqCUqCnm/K6cI9vrHQTqCtYxMOMQagB59O1PW7MmMsrSM+J1WgUMUGXCQTlb0/otwndzvLvdh9qIcxl/pvqoQ2y6U1A1sAoxVANYThAqr4cM9ACsA6C5tax0j1Uy6Hfdc5Si+kiQO+KQ+FFpTWcLYD0qtbBKXwoLpUGDZJ6L5HWTzi18fSxpp940+1ULNRC+pYmooVMSXbaKsdqF37Htl7s5Do5oGhXQ9CTOYbA5j4XOyPjrfgUdXAZaP8R+mkV1NREom3Q7GJmsikqhIrgjTlrRcaHWTMhD9pq+DNmnRUVuaTyIsPb/USrk5aNMWbTKyJDFKRSJfmbusbWaWjD/PiRyJRpm5pE8w93rwjHCAse4zddlwy8MzADsa8b6UOivgxkJKJl0P1ls7kRAO+mT+kiWMvFRqZWv+91yfYy2hkoBcYiK6Wmp+MZ3ufghwSBDEvCpSYmVVJ562jYz9EGHKF6JHeblWIWkgoj5PPVh4/fohFDdwRZ0d1W3gchrV1VykZNLt0LULijTitQ1EE0zw3Xyrm8OFVym45lDgRBFdLSWTjKiWjTL0Vue7GcWlOeDRyhkXdfzY+EsVDrFkCw9mEGBUSC39zOTbJnij2PqAn+AoO+SPgjEHNy51tnjlBkPqgO92MDYFgYHQme4tJHXAJ1+exvCLlVY1wwf3KwULyenOVKc7VSnYrCBsVgpGC53vruxq5WBGHiXIfUzaT3+v9XAd8WLA7VKDa+aP1LX1qH1sHMezvRiurI/O+KbzZQBOp8XY6Eg1k26H8/gMGDuAqKlLa/WXgDy+0I7mZBBOiCU7gpX6WhF+kyjfyavHnm+tZqJoH7r/RK0mrGorVUN2T/62OoD9EOHQjBWlhfjaKjfX3Wdr/Zi6UrQFKZmsBziPFcFYFowdRlSBO930FRnhpZDKNIZeqLSjKRyiX/WLEKYtOcrIJxrNRKT6VKrIoLXOd1f26mp0Xok9gosycXG0vj6XgvEfroKxWYMw9EFHvJkLrukoRYoQKZmsFziPrcJ5vOA6DeM0EqtPxKa9FNrShrmLHJfudL+I6RMx/COaY1ueT907tuW5D2ZosBq9RUVwxWkn7QcvKs+APhCJep7UfQM49aZsBxqQokuRksl6wtK1WYAdMkeTdCFH0sRlbp/Gnu9W2tMAlgvkZW75FqZpGJwkF4sDXi2u2HIyMUOD7eYtW36JbKLLiGr7M7DHXp5xtVtLQIZqynL3wRa8kZq6UoRIyWRdgRciNZK6woPbpJUAAGMOqRl52+S56+kS83aCaZNmQn4oAtHnWFHLxPiJgu0LDVbA2Ixx/ROZuXS/SWrqShEiJZP1grPXZ8G8GRZjiSRuOdBkprH7O5W2tYHxXKg5yWSnaVkSuchmMd3hLq//i/GXW6+ZCFExQoONMvQiKI6YUclOCocOTV8dAfNMXSCeCdsghH6W+nHmsjSLPAWAlEzWD6i5TGxO9eT+kkLb5D/e1wu3/Lelg7KRi/rxW65pMEvtaMKPjb9UidNMTPMWFeEVmr46guFKCYytRGslejSXhVCQaicpXKRksh5wbourlZAO9khz1pLZOQTHHMbOb1fa1wjVX2KMgqPIhQpnljUY1tr8Ehl06RH7PCdqBJqxP9suuU2wGeP6Rpq59MivNEQ4hYqUTNYD9ClKY01b3CWSbRccuGW5dVI5ih1PFtrbBu6QBBhJLjKJUMQT7G8bmehl6PXJr/RPeMcYmC4/433tktuAHhUYp4XQWgnAWB/ufpvTsXak6BqkZLIuoI8eY0wP7nIeALDt8ZJHKpeAsW1g7Kexfbn9lV8Zk/wlZKdEkIvR+RL7OMDaWLDPJ+bID5c+RFsh7esUhl6oQJ9EyqbtxhOM07mGpOgWpOVU1gMYKyO2JAoDhPC3T+OWRyvKb2x7vAJA3dZWeGYuSGU8Anml7dLucEHexxDMyeJiDSPfr7RKahM2AmDRu2O/3wEwVgTYEW9Fu+aQyI5YV45tn2aYonuRaibrAVvunwGLKKVtLhc6Kq+OU5f2gknOd5vWQfpLCPOLmiPR3o5M0ToIDQTax9BWtHYvvN5pq/xqY2bU62xcW0oLkdrJAcZWsGN5pnNtSNEtSMlkvWDL2UmAXQLGpo0XX/Gn8Gnc8nClo7LqYL5WoplQ4kxapjmLIphSm9tSiTdz6XJKbaEIplMYfLYCsFmTJOR7E+lHWQLW0fwmKVqKlEzWE7acrWDL/fmAVExn/BramYSYFIw5yZzuOrlEOeSDzrjNJhZWocmP0kIITURud3DvOgjGZmqL5gruz63YXnawvZyauFIASMlkfcInFeaTCl+CW8DPwdYHKp0Wz4QfFmzrrBJGdNFRXW02cxGj+IAcJC0klmiC38i2VX4djM14gxAY154kmCAkOE1WTKEgdcCvZ2w5WwGQ77AU8Qjm2mau093dhline7BdOlbdv4ah5yutEptEvWYpuwaSrVOS5mDnU6u458pJAMfCG8AQBkb4m4x9+1G6ZhLOY+tjTpMULUeqmaRoPRjvozWLGKe7MaLXNIF2ayUAwFipJp9J4BfRNBnlGnQYO54sAvwSMHbY+9wKsMPmfTJ8XKm/JEWAVDNJ0Qb4o1kJhjbirQSaC3U8gxoW3GbnOzwZEu2K84V02FeiY8dyBUAhWL/v6l6AHVI1FF1jYRMAiu0SMUV3owuGRSk2PPQ6UHVHdBmfTmgmdg1E95vY2qRqYU7b25AE2y64E2npbVDbM46z12c7LGmKLkFKJilaD8YmwNgaSQr1RHSFJNMBMuGVyDyTyOgtW3RXl8KP9KKjufz11NSVAkBKJinage3LZYDlwPhhuOVI1qxRT7aILj16ivG1tpbP9zH4bKUunwkZAdYlPhMrpEgvM5rLW2ftn+ArRVci9ZmkaA+2lyvwbfL35nrB8D/gR2UBgPCWg4G6vM9bV8uodDDrOoE2EatxdLFG4mPg0VWcvX4GDPtDeQ2/SaUjsqXoOnTzsCjFRgWT807qKqOyAsbaX6wylD9CA7FEb0E/Lvhud4fWMlYks+Dd9WlsPV/spHgpugepZpKi/WDcUfNIlJ1aRBc7DIgK3HyMXghWAUQRO57oXCfM+CyA8Rq/ZFudalygFuLmh0o4t+UAgCmA9YBhBWAzAIq46Vya/Z4iABNCxB+VIkUzUbp2BsC4mogo1NVw5Wpsu9BdndbdVzoA7lO2RVqtyJ3LAArY8URaJDHFhkBKJinaj6XrVgH0GBnwxjS2Yg3O493p4L3nKgfAJFwNZRlALwBpsium/AuwfXkdOEtSpKgdqZkrRXtx9vosGOsBkMDpju7SSGTseKIEoBSs35srADjUGWFSpOg8UjJJ0V4wlg38IkFUkKSRKH6UTmS414lYR3qqkKTY2EijuVK0GUrCmxrRZSYpdq9mYoCVrW2T21S6JttpSVOkaAVSMknRXjBWdhPhYsqouPvWD5nYMt7N9mU7KGWKFC1DSiYp2outD6y69ajYUmQZFfClrpsxMgpx5VWUnJMUKTYeUp9JivbjpvNlAA4A4PxNDoAcBHIAy4KJLFzHdueSEutBIpNcSiQpNi7S0OAUKZqFs9ebL5NZVmUbbn6o1A5xUqRoJ1IzV4oUzYJbxFJ1vKslVZZTIkmxUZGSSYoUzQLjE2B8VvOZLHmfaXTr3CUpUjQB/x8IwS5j1UcolQAAAABJRU5ErkJggg==", Qe = { class: "iccandle-scanner-popup__inner" }, $e = { class: "iccandle-handle iccandle-scanner-popup__bars" }, et = ["disabled"], tt = ["disabled"], nt = {
8199
+ }), tt = "data:image/png;base64,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", nt = { class: "iccandle-scanner-popup__inner" }, rt = { class: "iccandle-handle iccandle-scanner-popup__bars" }, it = ["disabled"], at = ["disabled"], ot = {
8185
8200
  key: 1,
8186
8201
  class: "iccandle-scanner-popup__action-row"
8187
- }, rt = ["src"], it = {
8202
+ }, st = ["src"], ct = {
8188
8203
  key: 0,
8189
8204
  class: "iccandle-scanner-popup__label"
8190
- }, at = 150, ot = /* @__PURE__ */ d({
8205
+ }, lt = /* @__PURE__ */ d({
8191
8206
  __name: "ScannerPopUp",
8192
8207
  props: {
8193
8208
  handleTrackPatternClick: {},
@@ -8279,7 +8294,7 @@ var De = {
8279
8294
  });
8280
8295
  async function E() {
8281
8296
  if (n.selectedCandles?.length) {
8282
- me({
8297
+ ve({
8283
8298
  title: c("Common.error"),
8284
8299
  description: c("Selector.clearReplayFirst"),
8285
8300
  variant: "error"
@@ -8289,62 +8304,62 @@ var De = {
8289
8304
  let e = n.candles[0], t = n.candles[n.candles.length - 1];
8290
8305
  if (!e || !t) return;
8291
8306
  n.setScanLoading?.(!0);
8292
- let r = e.timestamp, i = t.timestamp;
8307
+ let r = e.timestamp, i = t.timestamp, a = i > 0xe8d4a51000 ? Math.floor(i / 1e3) : i, o = r > 0xe8d4a51000 ? Math.floor(r / 1e3) : r;
8293
8308
  if (n.chartWidget) {
8294
- let e = n.chartWidget.activeChart(), t = U(n.resolution), r = i - (at * t + t * n.window_size + t * 100), a = i + at / 3 * t;
8309
+ let e = n.chartWidget.activeChart(), t = G(n.resolution), r = a - (100 * t + t * n.window_size + t * 100), i = a + 100 / 3 * t;
8295
8310
  try {
8296
8311
  await e.setVisibleRange({
8297
8312
  from: r,
8298
- to: a
8313
+ to: i
8299
8314
  });
8300
8315
  } catch (e) {
8301
8316
  console.error("Error setting visible range:", e);
8302
8317
  }
8303
8318
  }
8304
- let a;
8319
+ let s;
8305
8320
  try {
8306
8321
  let { data: e } = await F.post("https://scan-service.iccandle.ai/cacheCandle", { candles: n.candles }, { headers: { Authorization: `Bearer ${localStorage.getItem("iccandle_token")}` } });
8307
- a = e;
8322
+ s = e;
8308
8323
  } catch (e) {
8309
8324
  console.error("Error caching candles:", e), n.setScanLoading?.(!1);
8310
8325
  return;
8311
8326
  }
8312
- if (!a?.id) {
8327
+ if (!s?.id) {
8313
8328
  n.setScanLoading?.(!1);
8314
8329
  return;
8315
8330
  }
8316
- let o = we(), s = o.timeframe || n.timeframe, l = {
8331
+ let l = Oe(), u = l.timeframe || n.timeframe, d = {
8317
8332
  reference_resolution: n.resolution,
8318
- resolution: s,
8333
+ resolution: u,
8319
8334
  symbol: n.currentSymbol,
8320
- end_timestamp: i,
8321
- start_timestamp: r,
8335
+ end_timestamp: a,
8336
+ start_timestamp: o,
8322
8337
  window_size: n.window_size,
8323
- top_k: o.top_k || 25,
8338
+ top_k: l.top_k || 25,
8324
8339
  percent: 90,
8325
- analyze_window: o.probability || 0,
8326
- candle_id: a?.id || ""
8340
+ analyze_window: l.probability || 0,
8341
+ candle_id: s?.id || ""
8327
8342
  };
8328
- if (!Ee(o) && !o.isAllSelected && (o.symbolTypes?.length ?? 0) > 0 && (o.symbols?.length ?? 0) > 0) l.filter = {
8329
- symbols: o.symbols.join(","),
8330
- types: o.symbolTypes || []
8343
+ if (!Ae(l) && !l.isAllSelected && (l.symbolTypes?.length ?? 0) > 0 && (l.symbols?.length ?? 0) > 0) d.filter = {
8344
+ symbols: l.symbols.join(","),
8345
+ types: l.symbolTypes || []
8331
8346
  };
8332
- else if (!o.isAllSelected) {
8347
+ else if (!l.isAllSelected) {
8333
8348
  let e = Z.find((e) => e.ticker === n.currentSymbol)?.type;
8334
- l.filter = {
8349
+ d.filter = {
8335
8350
  symbols: n.currentSymbol,
8336
8351
  ...e ? { types: [e] } : {}
8337
8352
  };
8338
8353
  }
8339
- if (o.period && o.period > 0) {
8340
- let e = i - o.period * 365.25 * 24 * 60 * 60;
8341
- l.filter ||= {}, l.filter.period = e;
8354
+ if (l.period && l.period > 0) {
8355
+ let e = a - l.period * 365.25 * 24 * 60 * 60;
8356
+ d.filter ||= {}, d.filter.period = e;
8342
8357
  }
8343
- let u = `${z}/${n.language}?symbol=${l.symbol}&ref_res=${l.reference_resolution}&tk=${l.top_k}&res=${l.resolution}&cid=${l.candle_id}&from=${l.start_timestamp * 1e3}&to=${l.end_timestamp * 1e3}` + (l.filter?.symbols?.length ? `&fs=${l.filter.symbols}` : "") + (l.filter?.period == null ? "" : `&period=${l.filter.period}`) + (o.model ? `&model=${o.model}` : "") + (o.temperature == null ? "" : `&temp=${o.temperature}`) + (n.theme === "dark" ? "&theme=dark" : "&theme=light");
8344
- n.clearScannerNewsMarks(), n.submitCallback(u);
8358
+ let f = `${z}/${n.language}?symbol=${d.symbol}&ref_res=${d.reference_resolution}&tk=${d.top_k}&res=${d.resolution}&cid=${d.candle_id}&from=${d.start_timestamp * 1e3}&to=${d.end_timestamp * 1e3}` + (d.filter?.symbols?.length ? `&fs=${d.filter.symbols}` : "") + (d.filter?.period == null ? "" : `&period=${d.filter.period}`) + (l.model ? `&model=${l.model}` : "") + (l.temperature == null ? "" : `&temp=${l.temperature}`) + (n.theme === "dark" ? "&theme=dark" : "&theme=light");
8359
+ n.clearScannerNewsMarks(), n.submitCallback(f);
8345
8360
  }
8346
8361
  function D() {
8347
- return localStorage.getItem("iccandle_token") ? !0 : (me({
8362
+ return localStorage.getItem("iccandle_token") ? !0 : (ve({
8348
8363
  title: c("Common.warning"),
8349
8364
  description: c("Selector.pleaseLoginFirst"),
8350
8365
  variant: "info"
@@ -8353,15 +8368,15 @@ var De = {
8353
8368
  function A() {
8354
8369
  if (n.onScanClick?.(), D()) {
8355
8370
  if (n.selectedCandles?.length) {
8356
- me({
8371
+ ve({
8357
8372
  title: c("Common.error"),
8358
8373
  description: c("Selector.clearReplayFirst"),
8359
8374
  variant: "error"
8360
8375
  });
8361
8376
  return;
8362
8377
  }
8363
- if (Se() && !ve()) {
8364
- let e = xe().timeframe;
8378
+ if (Ee() && !Se()) {
8379
+ let e = Te().timeframe;
8365
8380
  e && n.onApplySavedTimeframe?.(e), E();
8366
8381
  return;
8367
8382
  }
@@ -8384,8 +8399,8 @@ var De = {
8384
8399
  class: "iccandle-scanner-popup",
8385
8400
  style: _(y.value),
8386
8401
  onPointerdown: ee
8387
- }, [s("div", Qe, [
8388
- u(Ke, {
8402
+ }, [s("div", nt, [
8403
+ u(Xe, {
8389
8404
  "stroke-width": 1,
8390
8405
  size: 20,
8391
8406
  color: "#b2b5be",
@@ -8393,11 +8408,11 @@ var De = {
8393
8408
  }),
8394
8409
  r[4] ||= s("div", { class: "iccandle-scanner-popup__divider" }, null, -1),
8395
8410
  t.hasActiveShape ? (x(), o(e, { key: 0 }, [
8396
- u(Ae, { text: k(c)("Selector.availableBars") }, {
8397
- default: N(() => [s("div", $e, O(t.window_size) + " bar ", 1)]),
8411
+ u(Pe, { text: k(c)("Selector.availableBars") }, {
8412
+ default: N(() => [s("div", rt, O(t.window_size) + " bar ", 1)]),
8398
8413
  _: 1
8399
8414
  }, 8, ["text"]),
8400
- t.hideScanButton ? a("", !0) : (x(), i(Ae, {
8415
+ t.hideScanButton ? a("", !0) : (x(), i(Pe, {
8401
8416
  key: 0,
8402
8417
  text: k(c)("Selector.scan")
8403
8418
  }, {
@@ -8406,47 +8421,47 @@ var De = {
8406
8421
  disabled: p.value,
8407
8422
  class: "iccandle-scanner-popup__action-btn",
8408
8423
  onClick: A
8409
- }, [u(Le, {
8424
+ }, [u(Ve, {
8410
8425
  size: 20,
8411
8426
  color: m.value
8412
8427
  }, null, 8, ["color"]), l.value ? (x(), o("div", {
8413
8428
  key: 0,
8414
8429
  class: g(h.value)
8415
- }, O(k(c)("Selector.scan")), 3)) : a("", !0)], 8, et)]),
8430
+ }, O(k(c)("Selector.scan")), 3)) : a("", !0)], 8, it)]),
8416
8431
  _: 1
8417
8432
  }, 8, ["text"])),
8418
- t.hideTrackerButton ? a("", !0) : (x(), o(e, { key: 1 }, [r[2] ||= s("div", { class: "iccandle-scanner-popup__divider" }, null, -1), u(Ae, { text: k(c)("Layout.headerNav.patternShortTitle") }, {
8433
+ t.hideTrackerButton ? a("", !0) : (x(), o(e, { key: 1 }, [r[2] ||= s("div", { class: "iccandle-scanner-popup__divider" }, null, -1), u(Pe, { text: k(c)("Layout.headerNav.patternShortTitle") }, {
8419
8434
  default: N(() => [s("button", {
8420
8435
  type: "button",
8421
8436
  disabled: p.value,
8422
8437
  class: "iccandle-scanner-popup__action-btn",
8423
8438
  onClick: j
8424
- }, [u(We, {
8439
+ }, [u(Je, {
8425
8440
  size: 20,
8426
8441
  color: m.value,
8427
8442
  stroke: m.value
8428
8443
  }, null, 8, ["color", "stroke"]), l.value ? (x(), o("div", {
8429
8444
  key: 0,
8430
8445
  class: g(h.value)
8431
- }, O(k(c)("Layout.headerNav.patternShortTitle")), 3)) : a("", !0)], 8, tt)]),
8446
+ }, O(k(c)("Layout.headerNav.patternShortTitle")), 3)) : a("", !0)], 8, at)]),
8432
8447
  _: 1
8433
8448
  }, 8, ["text"])], 64))
8434
- ], 64)) : (x(), o("div", nt, [u(Ae, { text: k(c)("Selector.activateSelector") }, {
8449
+ ], 64)) : (x(), o("div", ot, [u(Pe, { text: k(c)("Selector.activateSelector") }, {
8435
8450
  default: N(() => [s("button", {
8436
8451
  type: "button",
8437
8452
  class: "iccandle-scanner-popup__action-btn iccandle-scanner-popup__action-btn--with-gap",
8438
8453
  onClick: r[0] ||= (e) => t.triggerScanner?.()
8439
8454
  }, [s("img", {
8440
- src: k(Ze),
8455
+ src: k(tt),
8441
8456
  width: "24",
8442
8457
  height: "24",
8443
8458
  alt: "scanner",
8444
8459
  class: "iccandle-scanner-popup__logo"
8445
- }, null, 8, rt), l.value ? (x(), o("div", it, O(k(c)("Selector.activateSelector")), 1)) : a("", !0)])]),
8460
+ }, null, 8, st), l.value ? (x(), o("div", ct, O(k(c)("Selector.activateSelector")), 1)) : a("", !0)])]),
8446
8461
  _: 1
8447
8462
  }, 8, ["text"])])),
8448
8463
  r[5] ||= s("div", { class: "iccandle-scanner-popup__divider" }, null, -1),
8449
- u(Ae, { text: k(c)("Selector.settings") }, {
8464
+ u(Pe, { text: k(c)("Selector.settings") }, {
8450
8465
  default: N(() => [s("button", {
8451
8466
  type: "button",
8452
8467
  class: "iccandle-scanner-popup__settings",
@@ -8466,16 +8481,16 @@ var De = {
8466
8481
  })], -1)]])]),
8467
8482
  _: 1
8468
8483
  }, 8, ["text"]),
8469
- u(Ae, { text: l.value ? k(c)("Selector.collapseToolbar") : k(c)("Selector.expandToolbar") }, {
8484
+ u(Pe, { text: l.value ? k(c)("Selector.collapseToolbar") : k(c)("Selector.expandToolbar") }, {
8470
8485
  default: N(() => [s("button", {
8471
8486
  type: "button",
8472
8487
  class: "iccandle-scanner-popup__toggle",
8473
8488
  onClick: te
8474
- }, [l.value ? (x(), i(Je, {
8489
+ }, [l.value ? (x(), i(Qe, {
8475
8490
  key: 0,
8476
8491
  size: 20,
8477
8492
  color: "#b2b5be"
8478
- })) : (x(), i(Xe, {
8493
+ })) : (x(), i(et, {
8479
8494
  key: 1,
8480
8495
  size: 20,
8481
8496
  color: "#b2b5be"
@@ -8490,24 +8505,52 @@ var De = {
8490
8505
  function Q(...e) {
8491
8506
  return e.filter(Boolean).join(" ");
8492
8507
  }
8493
- function st(e, t) {
8508
+ function ut(e, t) {
8494
8509
  let n;
8495
8510
  return (r, i) => {
8496
8511
  clearTimeout(n), n = setTimeout(() => e(r, i), t);
8497
8512
  };
8498
8513
  }
8499
- var ct = (e, t) => {
8514
+ var dt = (e) => e === "1D" || e === "D" || e === "1440", ft = (e) => {
8515
+ let t = e.trim().toUpperCase();
8516
+ return t === "W" || /^\d+W$/.test(t);
8517
+ }, pt = (e) => {
8518
+ let t = e.trim().toUpperCase();
8519
+ return t === "M" || /^\d+M$/.test(t);
8520
+ }, mt = (e) => dt(e) || ft(e) || pt(e), ht = (e) => {
8521
+ let t = new Date(e);
8522
+ t.setUTCHours(0, 0, 0, 0);
8523
+ let n = t.getUTCDay(), r = n === 0 ? 6 : n - 1;
8524
+ return t.setUTCDate(t.getUTCDate() - r), t.getTime();
8525
+ }, gt = (e, t, n) => {
8526
+ let r = e > 1e11 ? e : e * 1e3, i = t > 1e11 ? t : t * 1e3;
8527
+ if (pt(n)) {
8528
+ let e = new Date(r), t = new Date(i);
8529
+ return e.getUTCFullYear() === t.getUTCFullYear() && e.getUTCMonth() === t.getUTCMonth();
8530
+ }
8531
+ return ft(n) ? ht(r) === ht(i) : dt(n) ? _t(r, n) === _t(i, n) : r === i;
8532
+ }, _t = (e, t) => {
8500
8533
  let n = e.toString().length > 11 ? e : e * 1e3;
8501
- if (t === "1D" || t === "D" || t === "1440") {
8502
- let e = new Date(n);
8503
- return e.setUTCHours(0, 0, 0, 0), e.getTime();
8534
+ if (dt(t)) {
8535
+ let e = new Date(n + 420 * 60 * 1e3);
8536
+ return e.setUTCHours(0, 0, 0, 0), e.getUTCDay() === 6 && e.setUTCDate(e.getUTCDate() - 1), e.getTime();
8504
8537
  }
8505
8538
  return n;
8506
- }, lt = (e) => e > 1e11 ? Math.floor(e / 1e3) : e, ut = [
8539
+ }, vt = (e, t) => {
8540
+ let n = e > 0xe8d4a51000 ? Math.floor(e / 1e3) : e;
8541
+ if (!mt(t)) return n;
8542
+ let r = /* @__PURE__ */ new Date(n * 1e3);
8543
+ return r.getUTCHours() !== 0 || r.getUTCMinutes() !== 0 || r.getUTCSeconds() !== 0 ? n : Math.floor(_t(e, t) / 1e3) + 720 * 60;
8544
+ }, yt = (e, t, n) => {
8545
+ for (let n = 0; n < e.length; n++) if (e[n][0] === t) return n;
8546
+ if (!mt(n)) return -1;
8547
+ for (let r = 0; r < e.length; r++) if (gt(e[r][0], t, n)) return r;
8548
+ return -1;
8549
+ }, bt = (e) => e > 1e11 ? Math.floor(e / 1e3) : e, xt = [
8507
8550
  "width",
8508
8551
  "height",
8509
8552
  "stroke"
8510
- ], dt = /* @__PURE__ */ d({
8553
+ ], St = /* @__PURE__ */ d({
8511
8554
  __name: "XIcon",
8512
8555
  props: {
8513
8556
  size: { default: 24 },
@@ -8526,15 +8569,15 @@ var ct = (e, t) => {
8526
8569
  "stroke-linecap": "round",
8527
8570
  "stroke-linejoin": "round",
8528
8571
  class: g(e.className)
8529
- }, [...n[0] ||= [s("path", { d: "M18 6 6 18" }, null, -1), s("path", { d: "m6 6 12 12" }, null, -1)]], 10, ut));
8572
+ }, [...n[0] ||= [s("path", { d: "M18 6 6 18" }, null, -1), s("path", { d: "m6 6 12 12" }, null, -1)]], 10, xt));
8530
8573
  }
8531
- }), ft = ["width", "height"], pt = { class: "iccandle-info-tooltip-content__inner" }, mt = { class: "iccandle-info-tooltip-content__title" }, ht = {
8574
+ }), Ct = ["width", "height"], wt = { class: "iccandle-info-tooltip-content__inner" }, Tt = { class: "iccandle-info-tooltip-content__title" }, Et = {
8532
8575
  key: 0,
8533
8576
  class: "iccandle-info-tooltip-content__body"
8534
- }, gt = { class: "iccandle-info-tooltip-content__line-label" }, _t = {
8577
+ }, Dt = { class: "iccandle-info-tooltip-content__line-label" }, Ot = {
8535
8578
  key: 1,
8536
8579
  class: "iccandle-info-tooltip-content__description"
8537
- }, vt = /* @__PURE__ */ d({
8580
+ }, kt = /* @__PURE__ */ d({
8538
8581
  __name: "ToolTip",
8539
8582
  props: {
8540
8583
  title: {},
@@ -8617,24 +8660,24 @@ var ct = (e, t) => {
8617
8660
  }, null, -1),
8618
8661
  s("path", { d: "M12 16v-4" }, null, -1),
8619
8662
  s("path", { d: "M12 8h.01" }, null, -1)
8620
- ]], 10, ft))], 32), (x(), i(t, { to: p.value }, [f.value ? (x(), o("div", {
8663
+ ]], 10, Ct))], 32), (x(), i(t, { to: p.value }, [f.value ? (x(), o("div", {
8621
8664
  key: 0,
8622
8665
  ref_key: "contentRef",
8623
8666
  ref: d,
8624
8667
  class: g(k(Q)("iccandle-info-tooltip-content", "iccandle-theme-scope", y.value && "iccandle-dark")),
8625
8668
  role: "tooltip",
8626
8669
  style: _(m.value)
8627
- }, [s("div", pt, [s("h4", mt, O(n.title), 1), n.lines?.length ? (x(), o("div", ht, [(x(!0), o(e, null, T(n.lines, (e) => (x(), o("p", {
8670
+ }, [s("div", wt, [s("h4", Tt, O(n.title), 1), n.lines?.length ? (x(), o("div", Et, [(x(!0), o(e, null, T(n.lines, (e) => (x(), o("p", {
8628
8671
  key: e.label,
8629
8672
  class: "iccandle-info-tooltip-content__line"
8630
- }, [s("span", gt, O(e.label), 1), l(" " + O(e.text), 1)]))), 128))])) : n.description ? (x(), o("p", _t, O(n.description), 1)) : a("", !0)])], 6)) : a("", !0)], 8, ["to"]))], 64));
8673
+ }, [s("span", Dt, O(e.label), 1), l(" " + O(e.text), 1)]))), 128))])) : n.description ? (x(), o("p", Ot, O(n.description), 1)) : a("", !0)])], 6)) : a("", !0)], 8, ["to"]))], 64));
8631
8674
  }
8632
- }), yt = [
8675
+ }), At = [
8633
8676
  "width",
8634
8677
  "height",
8635
8678
  "stroke",
8636
8679
  "stroke-width"
8637
- ], bt = /* @__PURE__ */ d({
8680
+ ], jt = /* @__PURE__ */ d({
8638
8681
  __name: "ChevronDownIcon",
8639
8682
  props: {
8640
8683
  size: { default: 16 },
@@ -8654,12 +8697,12 @@ var ct = (e, t) => {
8654
8697
  "stroke-linecap": "round",
8655
8698
  "stroke-linejoin": "round",
8656
8699
  class: g(e.className)
8657
- }, [...n[0] ||= [s("path", { d: "m6 9 6 6 6-6" }, null, -1)]], 10, yt));
8700
+ }, [...n[0] ||= [s("path", { d: "m6 9 6 6 6-6" }, null, -1)]], 10, At));
8658
8701
  }
8659
- }), xt = ["aria-expanded"], St = ["aria-selected", "onClick"], Ct = {
8702
+ }), Mt = ["aria-expanded"], Nt = ["aria-selected", "onClick"], Pt = {
8660
8703
  key: 0,
8661
8704
  class: "iccandle-scanner-ai-settings__upgrade-btn-wrap ai-gradient-border"
8662
- }, wt = /* @__PURE__ */ d({
8705
+ }, Ft = /* @__PURE__ */ d({
8663
8706
  __name: "LimitSelect",
8664
8707
  props: {
8665
8708
  value: {},
@@ -8740,11 +8783,11 @@ var ct = (e, t) => {
8740
8783
  "aria-expanded": n.open,
8741
8784
  "aria-haspopup": "listbox",
8742
8785
  onClick: j
8743
- }, [s("span", null, O(n.getLabel(n.value)), 1), u(bt, {
8786
+ }, [s("span", null, O(n.getLabel(n.value)), 1), u(jt, {
8744
8787
  size: 16,
8745
8788
  "class-name": `iccandle-scanner-ai-settings__trigger-chevron${n.open ? " iccandle-scanner-ai-settings__trigger-chevron--open" : ""}`,
8746
8789
  "aria-hidden": "true"
8747
- }, null, 8, ["class-name"])], 8, xt)], 2), n.open && C.value ? (x(), i(t, {
8790
+ }, null, 8, ["class-name"])], 8, Mt)], 2), n.open && C.value ? (x(), i(t, {
8748
8791
  key: 0,
8749
8792
  to: b.value
8750
8793
  }, [s("div", {
@@ -8759,13 +8802,13 @@ var ct = (e, t) => {
8759
8802
  "aria-selected": e === n.value,
8760
8803
  class: g(["iccandle-scanner-ai-settings__dropdown-item", (n.isLocked?.(e) ?? !1) && "iccandle-scanner-ai-settings__dropdown-item--locked"]),
8761
8804
  onClick: (t) => N(e, n.isLocked?.(e) ?? !1)
8762
- }, [s("span", { class: g(n.isLocked?.(e) ?? !1 ? "is-disabled" : void 0) }, O(n.getLabel(e)), 3), n.isLocked?.(e) ? (x(), o("span", Ct, [s("button", {
8805
+ }, [s("span", { class: g(n.isLocked?.(e) ?? !1 ? "is-disabled" : void 0) }, O(n.getLabel(e)), 3), n.isLocked?.(e) ? (x(), o("span", Pt, [s("button", {
8763
8806
  type: "button",
8764
8807
  class: "iccandle-scanner-ai-settings__upgrade-btn",
8765
8808
  onMousedown: te
8766
- }, O(k(f)("Common.upgradePlan")), 33)])) : a("", !0)], 10, St))), 128))], 6)], 8, ["to"])) : a("", !0)], 2));
8809
+ }, O(k(f)("Common.upgradePlan")), 33)])) : a("", !0)], 10, Nt))), 128))], 6)], 8, ["to"])) : a("", !0)], 2));
8767
8810
  }
8768
- }), Tt = { class: "iccandle-scanner-advanced-options" }, Et = { class: "iccandle-scanner-advanced-options__row" }, Dt = { class: "iccandle-scanner-advanced-options__label" }, Ot = { class: "iccandle-scanner-advanced-options__row" }, kt = { class: "iccandle-scanner-advanced-options__label" }, At = { class: "iccandle-scanner-advanced-options__row" }, jt = { class: "iccandle-scanner-advanced-options__label" }, Mt = /* @__PURE__ */ d({
8811
+ }), It = { class: "iccandle-scanner-advanced-options" }, Lt = { class: "iccandle-scanner-advanced-options__row" }, Rt = { class: "iccandle-scanner-advanced-options__label" }, zt = { class: "iccandle-scanner-advanced-options__row" }, Bt = { class: "iccandle-scanner-advanced-options__label" }, Vt = { class: "iccandle-scanner-advanced-options__row" }, Ht = { class: "iccandle-scanner-advanced-options__label" }, Ut = /* @__PURE__ */ d({
8769
8812
  __name: "ScannerAdvancedOptions",
8770
8813
  props: /*@__PURE__*/ m({ temperature: {} }, {
8771
8814
  modelValue: { required: !0 },
@@ -8851,14 +8894,14 @@ var ct = (e, t) => {
8851
8894
  function y(e, t) {
8852
8895
  c.value = t ? e : null;
8853
8896
  }
8854
- return (t, r) => (x(), o("div", Tt, [
8855
- s("div", Et, [s("label", Dt, [l(O(k(a)("Selector.period")) + " ", 1), u(vt, {
8897
+ return (t, r) => (x(), o("div", It, [
8898
+ s("div", Lt, [s("label", Rt, [l(O(k(a)("Selector.period")) + " ", 1), u(kt, {
8856
8899
  title: k(a)("Selector.period"),
8857
8900
  description: k(a)("Selector.periodTooltip"),
8858
8901
  side: "right",
8859
8902
  size: 16,
8860
8903
  "class-name": "text-muted-foreground"
8861
- }, null, 8, ["title", "description"])]), u(wt, {
8904
+ }, null, 8, ["title", "description"])]), u(Ft, {
8862
8905
  value: n.value.period ?? 0,
8863
8906
  options: p,
8864
8907
  "get-label": (e) => g.value.get(e) ?? String(e),
@@ -8870,13 +8913,13 @@ var ct = (e, t) => {
8870
8913
  "get-label",
8871
8914
  "open"
8872
8915
  ])]),
8873
- s("div", Ot, [s("label", kt, [l(O(k(a)("Common.timeframe")) + " ", 1), u(vt, {
8916
+ s("div", zt, [s("label", Bt, [l(O(k(a)("Common.timeframe")) + " ", 1), u(kt, {
8874
8917
  title: k(a)("Common.timeframe"),
8875
8918
  description: k(a)("Selector.timeframeTooltip"),
8876
8919
  side: "right",
8877
8920
  size: 16,
8878
8921
  "class-name": "text-muted-foreground"
8879
- }, null, 8, ["title", "description"])]), u(wt, {
8922
+ }, null, 8, ["title", "description"])]), u(Ft, {
8880
8923
  value: n.value.timeframe,
8881
8924
  options: m,
8882
8925
  "get-label": (e) => _.value.get(e) ?? e,
@@ -8888,13 +8931,13 @@ var ct = (e, t) => {
8888
8931
  "get-label",
8889
8932
  "open"
8890
8933
  ])]),
8891
- s("div", At, [s("label", jt, [l(O(k(a)("Selector.aiTemperature")) + " ", 1), u(vt, {
8934
+ s("div", Vt, [s("label", Ht, [l(O(k(a)("Selector.aiTemperature")) + " ", 1), u(kt, {
8892
8935
  title: k(a)("Selector.aiTemperature"),
8893
8936
  description: k(a)("Selector.aiTemperatureTooltip"),
8894
8937
  side: "right",
8895
8938
  size: 16,
8896
8939
  "class-name": "text-muted-foreground"
8897
- }, null, 8, ["title", "description"])]), u(wt, {
8940
+ }, null, 8, ["title", "description"])]), u(Ft, {
8898
8941
  value: e.temperature,
8899
8942
  options: h,
8900
8943
  "get-label": v,
@@ -8904,18 +8947,18 @@ var ct = (e, t) => {
8904
8947
  }, null, 8, ["value", "open"])])
8905
8948
  ]));
8906
8949
  }
8907
- }), Nt = [
8950
+ }), Wt = [
8908
8951
  "light",
8909
8952
  "standard",
8910
8953
  "plus",
8911
8954
  "pro"
8912
- ], Pt = "light";
8913
- function Ft(e) {
8914
- return Nt.includes(e) ? e : Pt;
8955
+ ], Gt = "light";
8956
+ function Kt(e) {
8957
+ return Wt.includes(e) ? e : Gt;
8915
8958
  }
8916
8959
  //#endregion
8917
8960
  //#region src/components/selector/ScannerAiSettings.vue?vue&type=script&setup=true&lang.ts
8918
- var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scanner-ai-settings__row" }, Rt = { class: "iccandle-scanner-ai-settings__label" }, zt = { class: "iccandle-scanner-ai-settings__row" }, Bt = { class: "iccandle-scanner-ai-settings__label" }, Vt = /* @__PURE__ */ d({
8961
+ var qt = { class: "iccandle-scanner-ai-settings" }, Jt = { class: "iccandle-scanner-ai-settings__row" }, Yt = { class: "iccandle-scanner-ai-settings__label" }, Xt = { class: "iccandle-scanner-ai-settings__row" }, Zt = { class: "iccandle-scanner-ai-settings__label" }, Qt = /* @__PURE__ */ d({
8919
8962
  __name: "ScannerAiSettings",
8920
8963
  props: /*@__PURE__*/ m({
8921
8964
  userResultLimit: {},
@@ -8945,7 +8988,7 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
8945
8988
  100,
8946
8989
  150,
8947
8990
  200
8948
- ], c = A(e, "topK"), d = e, f = t, { t: p } = X(), m = w(null), h = r(() => Nt.map((e) => ({
8991
+ ], c = A(e, "topK"), d = e, f = t, { t: p } = X(), m = w(null), h = r(() => Wt.map((e) => ({
8949
8992
  label: n[e],
8950
8993
  text: p(i[e])
8951
8994
  })));
@@ -8961,13 +9004,13 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
8961
9004
  function y() {
8962
9005
  f("upgradeClick");
8963
9006
  }
8964
- return (t, n) => (x(), o("div", It, [s("div", Lt, [s("label", Rt, [l(O(k(p)("Selector.result")) + " ", 1), u(vt, {
9007
+ return (t, n) => (x(), o("div", qt, [s("div", Jt, [s("label", Yt, [l(O(k(p)("Selector.result")) + " ", 1), u(kt, {
8965
9008
  title: k(p)("Selector.result"),
8966
9009
  description: k(p)("Selector.topResultsTooltip"),
8967
9010
  side: "right",
8968
9011
  size: 16,
8969
9012
  "class-name": "text-muted-foreground"
8970
- }, null, 8, ["title", "description"])]), u(wt, {
9013
+ }, null, 8, ["title", "description"])]), u(Ft, {
8971
9014
  value: c.value ?? 30,
8972
9015
  options: a,
8973
9016
  "is-locked": g,
@@ -8980,15 +9023,15 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
8980
9023
  "value",
8981
9024
  "get-label",
8982
9025
  "open"
8983
- ])]), s("div", zt, [s("div", Bt, [l(O(k(p)("Selector.aiModel")) + " ", 1), u(vt, {
9026
+ ])]), s("div", Xt, [s("div", Zt, [l(O(k(p)("Selector.aiModel")) + " ", 1), u(kt, {
8984
9027
  title: "Candle simulation engine (CSE)",
8985
9028
  lines: h.value,
8986
9029
  side: "right",
8987
9030
  size: 16,
8988
9031
  "class-name": "text-muted-foreground"
8989
- }, null, 8, ["lines"])]), u(wt, {
9032
+ }, null, 8, ["lines"])]), u(Ft, {
8990
9033
  value: e.model,
8991
- options: k(Nt),
9034
+ options: k(Wt),
8992
9035
  "is-locked": _,
8993
9036
  "get-label": v,
8994
9037
  "wrap-class-name": "ai-gradient-border",
@@ -9002,38 +9045,38 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9002
9045
  "open"
9003
9046
  ])])]));
9004
9047
  }
9005
- }), Ht = { class: "iccandle-forexIcons" }, Ut = ["src"], Wt = ["src"], Gt = ["src"], Kt = /* @__PURE__ */ d({
9048
+ }), $t = { class: "iccandle-forexIcons" }, en = ["src"], tn = ["src"], nn = ["src"], rn = /* @__PURE__ */ d({
9006
9049
  __name: "ForexIcons",
9007
9050
  props: { name: {} },
9008
9051
  setup(t) {
9009
9052
  let n = t, i = r(() => Z?.find((e) => e.ticker === n.name)?.logo_urls.map((e) => e) || []);
9010
- return (t, n) => (x(), o("div", Ht, [i.value.length === 1 ? (x(), o("img", {
9053
+ return (t, n) => (x(), o("div", $t, [i.value.length === 1 ? (x(), o("img", {
9011
9054
  key: 0,
9012
9055
  src: i.value[0],
9013
9056
  alt: "forex icon",
9014
9057
  width: "24",
9015
9058
  height: "24",
9016
9059
  class: "iccandle-forexIcons__img iccandle-forexIcons__img--single"
9017
- }, null, 8, Ut)) : i.value.length === 2 ? (x(), o(e, { key: 1 }, [s("img", {
9060
+ }, null, 8, en)) : i.value.length === 2 ? (x(), o(e, { key: 1 }, [s("img", {
9018
9061
  src: i.value[0],
9019
9062
  alt: "forex icon 1",
9020
9063
  width: "18",
9021
9064
  height: "18",
9022
9065
  class: "iccandle-forexIcons__img iccandle-forexIcons__img--left"
9023
- }, null, 8, Wt), s("img", {
9066
+ }, null, 8, tn), s("img", {
9024
9067
  src: i.value[1],
9025
9068
  alt: "forex icon 2",
9026
9069
  width: "18",
9027
9070
  height: "18",
9028
9071
  class: "iccandle-forexIcons__img iccandle-forexIcons__img--right"
9029
- }, null, 8, Gt)], 64)) : a("", !0)]));
9072
+ }, null, 8, nn)], 64)) : a("", !0)]));
9030
9073
  }
9031
- }), qt = [
9074
+ }), an = [
9032
9075
  "width",
9033
9076
  "height",
9034
9077
  "stroke",
9035
9078
  "stroke-width"
9036
- ], Jt = /* @__PURE__ */ d({
9079
+ ], on = /* @__PURE__ */ d({
9037
9080
  __name: "CheckIcon",
9038
9081
  props: {
9039
9082
  size: { default: 16 },
@@ -9053,14 +9096,14 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9053
9096
  "stroke-linecap": "round",
9054
9097
  "stroke-linejoin": "round",
9055
9098
  class: g(e.className)
9056
- }, [...n[0] ||= [s("polyline", { points: "20 6 9 17 4 12" }, null, -1)]], 10, qt));
9099
+ }, [...n[0] ||= [s("polyline", { points: "20 6 9 17 4 12" }, null, -1)]], 10, an));
9057
9100
  }
9058
- }), Yt = [
9101
+ }), sn = [
9059
9102
  "width",
9060
9103
  "height",
9061
9104
  "stroke",
9062
9105
  "stroke-width"
9063
- ], Xt = /* @__PURE__ */ d({
9106
+ ], cn = /* @__PURE__ */ d({
9064
9107
  __name: "ChevronsUpDownIcon",
9065
9108
  props: {
9066
9109
  size: { default: 16 },
@@ -9080,14 +9123,14 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9080
9123
  "stroke-linecap": "round",
9081
9124
  "stroke-linejoin": "round",
9082
9125
  class: g(e.className)
9083
- }, [...n[0] ||= [s("path", { d: "m7 15 5 5 5-5" }, null, -1), s("path", { d: "m7 9 5-5 5 5" }, null, -1)]], 10, Yt));
9126
+ }, [...n[0] ||= [s("path", { d: "m7 15 5 5 5-5" }, null, -1), s("path", { d: "m7 9 5-5 5 5" }, null, -1)]], 10, sn));
9084
9127
  }
9085
- }), Zt = [
9128
+ }), ln = [
9086
9129
  "width",
9087
9130
  "height",
9088
9131
  "stroke",
9089
9132
  "stroke-width"
9090
- ], Qt = /* @__PURE__ */ d({
9133
+ ], un = /* @__PURE__ */ d({
9091
9134
  __name: "MinusIcon",
9092
9135
  props: {
9093
9136
  size: { default: 16 },
@@ -9107,14 +9150,14 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9107
9150
  "stroke-linecap": "round",
9108
9151
  "stroke-linejoin": "round",
9109
9152
  class: g(e.className)
9110
- }, [...n[0] ||= [s("path", { d: "M5 12h14" }, null, -1)]], 10, Zt));
9153
+ }, [...n[0] ||= [s("path", { d: "M5 12h14" }, null, -1)]], 10, ln));
9111
9154
  }
9112
- }), $t = [
9155
+ }), dn = [
9113
9156
  "width",
9114
9157
  "height",
9115
9158
  "stroke",
9116
9159
  "stroke-width"
9117
- ], en = /* @__PURE__ */ d({
9160
+ ], fn = /* @__PURE__ */ d({
9118
9161
  __name: "SearchIcon",
9119
9162
  props: {
9120
9163
  size: { default: 24 },
@@ -9138,47 +9181,47 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9138
9181
  cx: "11",
9139
9182
  cy: "11",
9140
9183
  r: "8"
9141
- }, null, -1), s("path", { d: "m21 21-4.3-4.3" }, null, -1)]], 10, $t));
9184
+ }, null, -1), s("path", { d: "m21 21-4.3-4.3" }, null, -1)]], 10, dn));
9142
9185
  }
9143
- }), tn = ["aria-expanded"], nn = { class: "iccandle-scanner-symbol-search__chips" }, rn = {
9186
+ }), pn = ["aria-expanded"], mn = { class: "iccandle-scanner-symbol-search__chips" }, hn = {
9144
9187
  key: 0,
9145
9188
  class: "iccandle-scanner-symbol-search__placeholder"
9146
- }, an = { class: "iccandle-scanner-symbol-search__chip-icon" }, on = { class: "iccandle-scanner-symbol-search__chip-label" }, sn = [
9189
+ }, gn = { class: "iccandle-scanner-symbol-search__chip-icon" }, _n = { class: "iccandle-scanner-symbol-search__chip-label" }, vn = [
9147
9190
  "aria-label",
9148
9191
  "onClick",
9149
9192
  "onKeydown"
9150
- ], cn = {
9193
+ ], yn = {
9151
9194
  key: 0,
9152
9195
  class: "iccandle-scanner-symbol-search__chip-overflow"
9153
- }, ln = { class: "iccandle-scanner-symbol-search__trigger-meta" }, un = { class: "iccandle-scanner-symbol-search__search" }, dn = [
9196
+ }, bn = { class: "iccandle-scanner-symbol-search__trigger-meta" }, xn = { class: "iccandle-scanner-symbol-search__search" }, Sn = [
9154
9197
  "placeholder",
9155
9198
  "value",
9156
9199
  "aria-label"
9157
- ], fn = {
9200
+ ], Cn = {
9158
9201
  key: 0,
9159
9202
  class: "iccandle-scanner-symbol-search__empty"
9160
- }, pn = {
9203
+ }, wn = {
9161
9204
  key: 1,
9162
9205
  class: "iccandle-scanner-symbol-search__select-all"
9163
- }, mn = ["aria-label"], hn = {
9206
+ }, Tn = ["aria-label"], En = {
9164
9207
  key: 0,
9165
9208
  class: "iccandle-scanner-symbol-search__check iccandle-scanner-symbol-search__check--on"
9166
- }, gn = {
9209
+ }, Dn = {
9167
9210
  key: 1,
9168
9211
  class: "iccandle-scanner-symbol-search__check iccandle-scanner-symbol-search__check--on"
9169
- }, _n = {
9212
+ }, On = {
9170
9213
  key: 2,
9171
9214
  class: "iccandle-scanner-symbol-search__check"
9172
- }, vn = { class: "iccandle-scanner-symbol-search__group-row" }, yn = ["aria-label", "onClick"], bn = {
9215
+ }, kn = { class: "iccandle-scanner-symbol-search__group-row" }, An = ["aria-label", "onClick"], jn = {
9173
9216
  key: 0,
9174
9217
  class: "iccandle-scanner-symbol-search__check iccandle-scanner-symbol-search__check--on"
9175
- }, xn = {
9218
+ }, Mn = {
9176
9219
  key: 1,
9177
9220
  class: "iccandle-scanner-symbol-search__check iccandle-scanner-symbol-search__check--on"
9178
- }, Sn = {
9221
+ }, Nn = {
9179
9222
  key: 2,
9180
9223
  class: "iccandle-scanner-symbol-search__check"
9181
- }, Cn = ["aria-expanded", "onClick"], wn = ["aria-selected", "onClick"], Tn = { class: "iccandle-scanner-symbol-search__item-label" }, En = 3, Dn = /* @__PURE__ */ d({
9224
+ }, Pn = ["aria-expanded", "onClick"], Fn = ["aria-selected", "onClick"], In = { class: "iccandle-scanner-symbol-search__item-label" }, Ln = 3, Rn = /* @__PURE__ */ d({
9182
9225
  __name: "ScannerSymbolSearch",
9183
9226
  props: {
9184
9227
  searchTerm: {},
@@ -9212,7 +9255,7 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9212
9255
  let t = e?.closest(".iccandle-theme-scope, .iccandle-selector-widget") ?? document.body;
9213
9256
  D.value = t;
9214
9257
  }
9215
- let F = r(() => (f.allSymbols ?? f.filteredSymbols ?? []).filter((e) => f.selectedSymbols[e.ticker])), I = r(() => F.value.slice(0, En)), ne = r(() => F.value.length - I.value.length), L = r(() => {
9258
+ let F = r(() => (f.allSymbols ?? f.filteredSymbols ?? []).filter((e) => f.selectedSymbols[e.ticker])), I = r(() => F.value.slice(0, Ln)), ne = r(() => F.value.length - I.value.length), L = r(() => {
9216
9259
  let e = /* @__PURE__ */ new Set();
9217
9260
  for (let t of F.value) e.add(t.type);
9218
9261
  return e;
@@ -9242,31 +9285,31 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9242
9285
  [e]: !t
9243
9286
  };
9244
9287
  }
9245
- function U(e) {
9288
+ function re(e) {
9246
9289
  p("symbolChange", e, !f.selectedSymbols[e]);
9247
9290
  }
9248
- function W(e) {
9291
+ function U(e) {
9249
9292
  let t = e.map((e) => e.ticker), n = B(e) !== "all";
9250
9293
  p("groupChange", t, n);
9251
9294
  }
9252
- function G() {
9295
+ function W() {
9253
9296
  let e = z.value.map((e) => e.ticker), t = B(z.value) !== "all";
9254
9297
  p("groupChange", e, t);
9255
9298
  }
9256
- function re(e, t) {
9299
+ function ie(e, t) {
9257
9300
  t.preventDefault(), t.stopPropagation(), p("symbolChange", e, !1);
9258
9301
  }
9259
- function K() {
9302
+ function G() {
9260
9303
  E.value = !1, j.value = null, p("searchChange", "");
9261
9304
  }
9262
- function ie(e) {
9305
+ function K(e) {
9263
9306
  if (e) {
9264
9307
  E.value = !0;
9265
9308
  return;
9266
9309
  }
9267
- K();
9310
+ G();
9268
9311
  }
9269
- function ae() {
9312
+ function q() {
9270
9313
  let e = S.value;
9271
9314
  if (!e) return;
9272
9315
  let t = e.getBoundingClientRect(), n = window.innerHeight - t.bottom - 4 - 8, r = t.top - 8, i = n < 240 && r > n, a = Math.max(160, Math.min(384, i ? r : n)), o = i ? Math.max(8, t.top - 4 - a) : t.bottom + 4;
@@ -9277,22 +9320,22 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9277
9320
  maxHeight: a
9278
9321
  };
9279
9322
  }
9280
- function q(e) {
9323
+ function ae(e) {
9281
9324
  let t = e.target;
9282
- t && (b.value?.contains(t) || C.value?.contains(t) || K());
9325
+ t && (b.value?.contains(t) || C.value?.contains(t) || G());
9283
9326
  }
9284
9327
  function J(e) {
9285
- e.key === "Escape" && K();
9328
+ e.key === "Escape" && G();
9286
9329
  }
9287
9330
  function Y() {
9288
- ae();
9331
+ q();
9289
9332
  }
9290
9333
  M(E, async (e) => {
9291
- window.removeEventListener("resize", Y), window.removeEventListener("scroll", Y, !0), document.removeEventListener("mousedown", q), document.removeEventListener("keydown", J), e && (ae(), window.addEventListener("resize", Y), window.addEventListener("scroll", Y, !0), document.addEventListener("mousedown", q), document.addEventListener("keydown", J), await h(), requestAnimationFrame(() => {
9334
+ window.removeEventListener("resize", Y), window.removeEventListener("scroll", Y, !0), document.removeEventListener("mousedown", ae), document.removeEventListener("keydown", J), e && (q(), window.addEventListener("resize", Y), window.addEventListener("scroll", Y, !0), document.addEventListener("mousedown", ae), document.addEventListener("keydown", J), await h(), requestAnimationFrame(() => {
9292
9335
  ee.value?.focus();
9293
9336
  }));
9294
9337
  }), v(() => {
9295
- window.removeEventListener("resize", Y), window.removeEventListener("scroll", Y, !0), document.removeEventListener("mousedown", q), document.removeEventListener("keydown", J);
9338
+ window.removeEventListener("resize", Y), window.removeEventListener("scroll", Y, !0), document.removeEventListener("mousedown", ae), document.removeEventListener("keydown", J);
9296
9339
  });
9297
9340
  let oe = r(() => B(z.value)), se = r(() => y.value <= 1 ? m("Pattern.symbolSelected", { count: y.value }) : m("Pattern.symbolsSelected", { count: y.value })), ce = r(() => j.value ? Math.max(120, j.value.maxHeight - 48) : 120);
9298
9341
  return (r, c) => (x(), o("div", {
@@ -9306,27 +9349,27 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9306
9349
  "aria-expanded": E.value,
9307
9350
  "aria-haspopup": "listbox",
9308
9351
  class: "iccandle-scanner-symbol-search__trigger",
9309
- onClick: c[0] ||= (e) => ie(!E.value)
9310
- }, [s("div", nn, [F.value.length === 0 ? (x(), o("span", rn, O(k(m)("Selector.searchSymbol")), 1)) : (x(), o(e, { key: 1 }, [(x(!0), o(e, null, T(I.value, (e) => (x(), o("span", {
9352
+ onClick: c[0] ||= (e) => K(!E.value)
9353
+ }, [s("div", mn, [F.value.length === 0 ? (x(), o("span", hn, O(k(m)("Selector.searchSymbol")), 1)) : (x(), o(e, { key: 1 }, [(x(!0), o(e, null, T(I.value, (e) => (x(), o("span", {
9311
9354
  key: e.ticker,
9312
9355
  class: "iccandle-scanner-symbol-search__chip"
9313
9356
  }, [
9314
- s("span", an, [u(Kt, { name: e.ticker }, null, 8, ["name"])]),
9315
- s("span", on, O(e.display_name), 1),
9357
+ s("span", gn, [u(rn, { name: e.ticker }, null, 8, ["name"])]),
9358
+ s("span", _n, O(e.display_name), 1),
9316
9359
  s("span", {
9317
9360
  role: "button",
9318
9361
  tabindex: "0",
9319
9362
  "aria-label": `Remove ${e.display_name}`,
9320
9363
  class: "iccandle-scanner-symbol-search__chip-remove",
9321
- onClick: (t) => re(e.ticker, t),
9364
+ onClick: (t) => ie(e.ticker, t),
9322
9365
  onKeydown: (t) => {
9323
9366
  (t.key === "Enter" || t.key === " ") && (t.preventDefault(), t.stopPropagation(), p("symbolChange", e.ticker, !1));
9324
9367
  }
9325
- }, [u(dt, { size: 10 })], 40, sn)
9326
- ]))), 128)), ne.value > 0 ? (x(), o("span", cn, " +" + O(ne.value), 1)) : a("", !0)], 64))]), s("div", ln, [s("span", null, O(se.value), 1), u(Xt, {
9368
+ }, [u(St, { size: 10 })], 40, vn)
9369
+ ]))), 128)), ne.value > 0 ? (x(), o("span", yn, " +" + O(ne.value), 1)) : a("", !0)], 64))]), s("div", bn, [s("span", null, O(se.value), 1), u(cn, {
9327
9370
  size: 16,
9328
9371
  "class-name": "iccandle-scanner-symbol-search__trigger-meta-icon"
9329
- })])], 8, tn), E.value && j.value ? (x(), i(t, {
9372
+ })])], 8, pn), E.value && j.value ? (x(), i(t, {
9330
9373
  key: 0,
9331
9374
  to: D.value
9332
9375
  }, [s("div", {
@@ -9341,7 +9384,7 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9341
9384
  width: `${j.value.width}px`,
9342
9385
  maxHeight: `${j.value.maxHeight}px`
9343
9386
  })
9344
- }, [s("div", un, [u(en, {
9387
+ }, [s("div", xn, [u(fn, {
9345
9388
  size: 16,
9346
9389
  "class-name": "iccandle-scanner-symbol-search__search-icon"
9347
9390
  }), s("input", {
@@ -9353,64 +9396,64 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9353
9396
  value: n.searchTerm,
9354
9397
  "aria-label": k(m)("Selector.searchSymbol"),
9355
9398
  onInput: c[1] ||= (e) => p("searchChange", e.target.value.toUpperCase())
9356
- }, null, 40, dn)]), s("div", {
9399
+ }, null, 40, Sn)]), s("div", {
9357
9400
  class: "iccandle-scanner-symbol-search__command-list",
9358
9401
  style: _({ maxHeight: `${ce.value}px` })
9359
9402
  }, [
9360
- n.searchTerm.trim() && z.value.length === 0 ? (x(), o("div", fn, O(k(m)("Selector.noResultsFound")), 1)) : a("", !0),
9361
- z.value.length > 0 ? (x(), o("div", pn, [s("button", {
9403
+ n.searchTerm.trim() && z.value.length === 0 ? (x(), o("div", Cn, O(k(m)("Selector.noResultsFound")), 1)) : a("", !0),
9404
+ z.value.length > 0 ? (x(), o("div", wn, [s("button", {
9362
9405
  type: "button",
9363
9406
  class: "iccandle-scanner-symbol-search__group-check-btn",
9364
9407
  "aria-label": k(m)("Selector.selectAll"),
9365
- onClick: G
9366
- }, [oe.value === "all" ? (x(), o("div", hn, [u(Jt, { size: 12 })])) : oe.value === "some" ? (x(), o("div", gn, [u(Qt, { size: 12 })])) : (x(), o("div", _n))], 8, mn), s("button", {
9408
+ onClick: W
9409
+ }, [oe.value === "all" ? (x(), o("div", En, [u(on, { size: 12 })])) : oe.value === "some" ? (x(), o("div", Dn, [u(un, { size: 12 })])) : (x(), o("div", On))], 8, Tn), s("button", {
9367
9410
  type: "button",
9368
9411
  class: "iccandle-scanner-symbol-search__group-label-btn",
9369
- onClick: G
9412
+ onClick: W
9370
9413
  }, O(k(m)("Selector.selectAll")), 1)])) : a("", !0),
9371
9414
  (x(!0), o(e, null, T(R.value, (t) => (x(), o("div", {
9372
9415
  key: t.type,
9373
9416
  class: "iccandle-scanner-symbol-search__group"
9374
- }, [s("div", vn, [s("button", {
9417
+ }, [s("div", kn, [s("button", {
9375
9418
  type: "button",
9376
9419
  class: "iccandle-scanner-symbol-search__group-check-btn",
9377
9420
  "aria-label": `${k(m)("Selector.selectAll")} ${k(m)(d[t.type])}`,
9378
- onClick: P((e) => W(t.symbols), ["stop", "prevent"])
9379
- }, [B(t.symbols) === "all" ? (x(), o("div", bn, [u(Jt, { size: 12 })])) : B(t.symbols) === "some" ? (x(), o("div", xn, [u(Qt, { size: 12 })])) : (x(), o("div", Sn))], 8, yn), s("button", {
9421
+ onClick: P((e) => U(t.symbols), ["stop", "prevent"])
9422
+ }, [B(t.symbols) === "all" ? (x(), o("div", jn, [u(on, { size: 12 })])) : B(t.symbols) === "some" ? (x(), o("div", Mn, [u(un, { size: 12 })])) : (x(), o("div", Nn))], 8, An), s("button", {
9380
9423
  type: "button",
9381
9424
  class: "iccandle-scanner-symbol-search__group-expand-btn",
9382
9425
  "aria-expanded": V(t.type),
9383
9426
  onClick: (e) => H(t.type)
9384
- }, [s("span", null, O(k(m)(d[t.type])), 1), u(bt, {
9427
+ }, [s("span", null, O(k(m)(d[t.type])), 1), u(jt, {
9385
9428
  size: 16,
9386
9429
  "class-name": k(Q)("iccandle-scanner-symbol-search__group-expand-icon", !V(t.type) && "iccandle-scanner-symbol-search__group-expand-icon--collapsed")
9387
- }, null, 8, ["class-name"])], 8, Cn)]), V(t.type) ? (x(!0), o(e, { key: 0 }, T(t.symbols, (e) => (x(), o("button", {
9430
+ }, null, 8, ["class-name"])], 8, Pn)]), V(t.type) ? (x(!0), o(e, { key: 0 }, T(t.symbols, (e) => (x(), o("button", {
9388
9431
  key: e.ticker,
9389
9432
  type: "button",
9390
9433
  role: "option",
9391
9434
  "aria-selected": !!n.selectedSymbols[e.ticker],
9392
9435
  class: "iccandle-scanner-symbol-search__item",
9393
- onClick: (t) => U(e.ticker)
9436
+ onClick: (t) => re(e.ticker)
9394
9437
  }, [
9395
- s("div", { class: g(k(Q)("iccandle-scanner-symbol-search__check", n.selectedSymbols[e.ticker] && "iccandle-scanner-symbol-search__check--on")) }, [n.selectedSymbols[e.ticker] ? (x(), i(Jt, {
9438
+ s("div", { class: g(k(Q)("iccandle-scanner-symbol-search__check", n.selectedSymbols[e.ticker] && "iccandle-scanner-symbol-search__check--on")) }, [n.selectedSymbols[e.ticker] ? (x(), i(on, {
9396
9439
  key: 0,
9397
9440
  size: 12
9398
9441
  })) : a("", !0)], 2),
9399
- u(Kt, { name: e.ticker }, null, 8, ["name"]),
9400
- s("div", Tn, O(e.display_name), 1)
9401
- ], 8, wn))), 128)) : a("", !0)]))), 128))
9442
+ u(rn, { name: e.ticker }, null, 8, ["name"]),
9443
+ s("div", In, O(e.display_name), 1)
9444
+ ], 8, Fn))), 128)) : a("", !0)]))), 128))
9402
9445
  ], 4)], 6)], 8, ["to"])) : a("", !0)], 512));
9403
9446
  }
9404
- }), On = { class: "iccandle-scanner-settings" }, kn = { class: "iccandle-scanner-settings__header" }, An = { class: "iccandle-scanner-settings__title-wrap" }, jn = { class: "iccandle-scanner-settings__title" }, Mn = { class: "iccandle-scanner-settings__description" }, Nn = ["aria-label"], Pn = { class: "iccandle-scanner-settings__body" }, Fn = { class: "iccandle-scanner-settings__section" }, In = { class: "iccandle-scanner-settings__section-title" }, Ln = { class: "iccandle-scanner-settings__section" }, Rn = { class: "iccandle-scanner-settings__section" }, zn = ["aria-expanded"], Bn = {
9447
+ }), zn = { class: "iccandle-scanner-settings" }, Bn = { class: "iccandle-scanner-settings__header" }, Vn = { class: "iccandle-scanner-settings__title-wrap" }, Hn = { class: "iccandle-scanner-settings__title" }, Un = { class: "iccandle-scanner-settings__description" }, Wn = ["aria-label"], Gn = { class: "iccandle-scanner-settings__body" }, Kn = { class: "iccandle-scanner-settings__section" }, qn = { class: "iccandle-scanner-settings__section-title" }, Jn = { class: "iccandle-scanner-settings__section" }, Yn = { class: "iccandle-scanner-settings__section" }, Xn = ["aria-expanded"], Zn = {
9405
9448
  key: 0,
9406
9449
  class: "iccandle-scanner-settings__accordion-content"
9407
- }, Vn = { class: "iccandle-scanner-option__footer" }, Hn = {
9450
+ }, Qn = { class: "iccandle-scanner-option__footer" }, $n = {
9408
9451
  key: 0,
9409
9452
  class: "iccandle-scanner-option__error"
9410
- }, Un = { class: "iccandle-scanner-option__actions" }, Wn = { class: "iccandle-scanner-option__always-show" }, Gn = ["checked"], Kn = {
9453
+ }, er = { class: "iccandle-scanner-option__actions" }, tr = { class: "iccandle-scanner-option__always-show" }, nr = ["checked"], rr = {
9411
9454
  for: "scanner-always-show",
9412
9455
  class: "iccandle-scanner-option__always-show-label"
9413
- }, qn = { class: "iccandle-scanner-option__buttons" }, Jn = /* @__PURE__ */ d({
9456
+ }, ir = { class: "iccandle-scanner-option__buttons" }, ar = /* @__PURE__ */ d({
9414
9457
  __name: "ScannerSettingsStep",
9415
9458
  props: {
9416
9459
  intent: {},
@@ -9435,11 +9478,11 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9435
9478
  }
9436
9479
  let d = e, f = t, { t: m } = X();
9437
9480
  function h() {
9438
- let e = xe();
9481
+ let e = Te();
9439
9482
  return Object.keys(e).length > 0 ? e : null;
9440
9483
  }
9441
9484
  function _(e, t) {
9442
- return e && !Ee(e) && e.symbols?.length ? e.symbols : t ? [t] : [];
9485
+ return e && !Ae(e) && e.symbols?.length ? e.symbols : t ? [t] : [];
9443
9486
  }
9444
9487
  function b(e, t) {
9445
9488
  return _(e, t).reduce((e, t) => (e[t] = !0, e), {});
@@ -9447,8 +9490,8 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9447
9490
  function S(e, t) {
9448
9491
  return e?.timeframe ? e.timeframe : t === "1" || t === "5" ? "60" : t || "60";
9449
9492
  }
9450
- let T = w(localStorage.getItem("iccandle_token") ? null : "free"), ee = r(() => c(T.value)), E = r(() => T.value === "pro" || T.value === "expert"), D = w(ve()), A = h(), j = A?.top_k ?? 30, N = w(""), te = w(""), P = null, I = w(!1), L = w((() => {
9451
- let e = Ft(A?.model);
9493
+ let T = w(localStorage.getItem("iccandle_token") ? null : "free"), ee = r(() => c(T.value)), E = r(() => T.value === "pro" || T.value === "expert"), D = w(Se()), A = h(), j = A?.top_k ?? 30, N = w(""), te = w(""), P = null, I = w(!1), L = w((() => {
9494
+ let e = Kt(A?.model);
9452
9495
  return !localStorage.getItem("iccandle_token") && e !== "light" ? "light" : e;
9453
9496
  })()), R = w(A?.temperature ?? 1), z = w(b(A, d.currentSymbol)), B = w(null), V = null, H = C({
9454
9497
  probability: A?.probability ?? 0,
@@ -9462,16 +9505,16 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9462
9505
  te.value = e;
9463
9506
  }, 0);
9464
9507
  });
9465
- let U = r(() => {
9508
+ let re = r(() => {
9466
9509
  let e = /* @__PURE__ */ new Map();
9467
9510
  return Z.forEach((t) => {
9468
9511
  e.set(t.ticker, t.logo_urls);
9469
9512
  }), e;
9470
- }), W = r(() => {
9513
+ }), U = r(() => {
9471
9514
  let e = te.value.toLowerCase();
9472
9515
  return Z.filter((t) => t.display_name.toLowerCase().includes(e));
9473
- }), G = r(() => Object.values(z.value).filter(Boolean).length);
9474
- function re(e) {
9516
+ }), W = r(() => Object.values(z.value).filter(Boolean).length);
9517
+ function ie(e) {
9475
9518
  let t = Object.entries(e).filter(([, e]) => e).map(([e]) => e);
9476
9519
  H.symbols = t;
9477
9520
  }
@@ -9480,19 +9523,19 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9480
9523
  }), M(() => H.symbols.length, (e) => {
9481
9524
  e > 0 && (B.value = null);
9482
9525
  });
9483
- function K(e, t) {
9526
+ function G(e, t) {
9484
9527
  let n = {
9485
9528
  ...z.value,
9486
9529
  [e]: t
9487
9530
  };
9488
- z.value = n, re(n);
9531
+ z.value = n, ie(n);
9489
9532
  }
9490
- function ie(e, t) {
9533
+ function K(e, t) {
9491
9534
  let n = { ...z.value };
9492
9535
  for (let r of e) n[r] = t;
9493
- z.value = n, re(n);
9536
+ z.value = n, ie(n);
9494
9537
  }
9495
- function ae() {
9538
+ function q() {
9496
9539
  let e = H.symbols ?? [];
9497
9540
  if (e.length === 0) {
9498
9541
  B.value = m("Pattern.signalDialog.selectOneSymbol"), V && clearTimeout(V), V = setTimeout(() => {
@@ -9501,7 +9544,7 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9501
9544
  return;
9502
9545
  }
9503
9546
  let t = Array.from(new Set(Z.filter((t) => e.includes(t.ticker)).map((e) => e.type))), n = Z.every((e) => z.value[e.ticker]) ?? !1;
9504
- Ce({
9547
+ De({
9505
9548
  probability: 0,
9506
9549
  top_k: H.top_k,
9507
9550
  timeframe: H.timeframe,
@@ -9512,17 +9555,17 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9512
9555
  followCurrentSymbol: e.length === 1,
9513
9556
  model: L.value,
9514
9557
  temperature: R.value
9515
- }, !0), ye(D.value), d.setResolution(H.timeframe), f("cancel"), d.intent === "settings" ? me({
9558
+ }, !0), Ce(D.value), d.setResolution(H.timeframe), f("cancel"), d.intent === "settings" ? ve({
9516
9559
  title: m("Common.success"),
9517
9560
  description: m("Selector.searchFilterSaved"),
9518
9561
  variant: "success"
9519
9562
  }) : f("scanConfigSaved");
9520
9563
  }
9521
- function q(e) {
9522
- e.preventDefault(), ae();
9564
+ function ae(e) {
9565
+ e.preventDefault(), q();
9523
9566
  }
9524
9567
  function J(e) {
9525
- D.value = e, ye(e);
9568
+ D.value = e, Ce(e);
9526
9569
  }
9527
9570
  function Y() {
9528
9571
  f("cancel");
@@ -9548,28 +9591,28 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9548
9591
  window.removeEventListener("keydown", se), P && clearTimeout(P), V && clearTimeout(V);
9549
9592
  });
9550
9593
  let ce = r(() => d.intent === "scan" ? m("Selector.scan") : m("Selector.saveOptions"));
9551
- return (t, n) => (x(), o("div", On, [
9552
- s("div", kn, [s("div", An, [s("div", jn, O(k(m)("Selector.scannerOptions")), 1), s("div", Mn, O(k(m)("Selector.scannerOptionsDescription")), 1)]), s("button", {
9594
+ return (t, n) => (x(), o("div", zn, [
9595
+ s("div", Bn, [s("div", Vn, [s("div", Hn, O(k(m)("Selector.scannerOptions")), 1), s("div", Un, O(k(m)("Selector.scannerOptionsDescription")), 1)]), s("button", {
9553
9596
  type: "button",
9554
9597
  class: "iccandle-scanner-option__close-btn",
9555
9598
  "aria-label": k(m)("Common.close"),
9556
9599
  onClick: Y
9557
- }, [u(dt, { size: 20 })], 8, Nn)]),
9600
+ }, [u(St, { size: 20 })], 8, Wn)]),
9558
9601
  s("form", {
9559
9602
  id: "scanner-option-form",
9560
9603
  class: "iccandle-scanner-settings__form",
9561
- onSubmit: q
9562
- }, [s("div", Pn, [
9563
- s("section", Fn, [s("h3", In, O(k(m)("Selector.tabSymbols")), 1), u(Dn, {
9604
+ onSubmit: ae
9605
+ }, [s("div", Gn, [
9606
+ s("section", Kn, [s("h3", qn, O(k(m)("Selector.tabSymbols")), 1), u(Rn, {
9564
9607
  "search-term": N.value,
9565
9608
  "selected-symbols": z.value,
9566
- "filtered-symbols": W.value,
9567
- "selected-count": G.value,
9568
- "logo-by-ticker": U.value,
9609
+ "filtered-symbols": U.value,
9610
+ "selected-count": W.value,
9611
+ "logo-by-ticker": re.value,
9569
9612
  "all-symbols": k(Z),
9570
9613
  onSearchChange: n[0] ||= (e) => N.value = e,
9571
- onSymbolChange: K,
9572
- onGroupChange: ie
9614
+ onSymbolChange: G,
9615
+ onGroupChange: K
9573
9616
  }, null, 8, [
9574
9617
  "search-term",
9575
9618
  "selected-symbols",
@@ -9578,7 +9621,7 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9578
9621
  "logo-by-ticker",
9579
9622
  "all-symbols"
9580
9623
  ])]),
9581
- s("section", Ln, [u(Vt, {
9624
+ s("section", Jn, [u(Qt, {
9582
9625
  "top-k": k(H).top_k,
9583
9626
  "onUpdate:topK": n[1] ||= (e) => k(H).top_k = e,
9584
9627
  "user-result-limit": ee.value,
@@ -9592,24 +9635,24 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9592
9635
  "model",
9593
9636
  "is-pro-model-enabled"
9594
9637
  ])]),
9595
- s("section", Rn, [s("button", {
9638
+ s("section", Yn, [s("button", {
9596
9639
  type: "button",
9597
9640
  class: "iccandle-scanner-settings__accordion-trigger",
9598
9641
  "aria-expanded": I.value,
9599
9642
  onClick: n[3] ||= (e) => I.value = !I.value
9600
- }, [s("span", null, O(k(m)("Selector.tabAdvancedOptions")), 1), s("span", { class: g(k(Q)("iccandle-scanner-settings__accordion-caret", I.value && "iccandle-scanner-settings__accordion-caret--open")) }, null, 2)], 8, zn), I.value ? (x(), o("div", Bn, [u(Mt, {
9643
+ }, [s("span", null, O(k(m)("Selector.tabAdvancedOptions")), 1), s("span", { class: g(k(Q)("iccandle-scanner-settings__accordion-caret", I.value && "iccandle-scanner-settings__accordion-caret--open")) }, null, 2)], 8, Xn), I.value ? (x(), o("div", Zn, [u(Ut, {
9601
9644
  modelValue: k(H),
9602
9645
  "onUpdate:modelValue": n[4] ||= (e) => p(H) ? H.value = e : H = e,
9603
9646
  temperature: R.value,
9604
9647
  onTemperatureChange: n[5] ||= (e) => R.value = e
9605
9648
  }, null, 8, ["modelValue", "temperature"])])) : a("", !0)])
9606
9649
  ])], 32),
9607
- s("div", Vn, [B.value ? (x(), o("p", Hn, O(B.value), 1)) : a("", !0), s("div", Un, [s("div", Wn, [s("input", {
9650
+ s("div", Qn, [B.value ? (x(), o("p", $n, O(B.value), 1)) : a("", !0), s("div", er, [s("div", tr, [s("input", {
9608
9651
  id: "scanner-always-show",
9609
9652
  type: "checkbox",
9610
9653
  checked: D.value,
9611
9654
  onChange: n[6] ||= (e) => J(e.target.checked)
9612
- }, null, 40, Gn), s("label", Kn, O(k(m)("Selector.alwaysShow")), 1)]), s("div", qn, [s("button", {
9655
+ }, null, 40, nr), s("label", rr, O(k(m)("Selector.alwaysShow")), 1)]), s("div", ir, [s("button", {
9613
9656
  type: "button",
9614
9657
  class: "iccandle-scanner-option__btn iccandle-scanner-option__btn--outline",
9615
9658
  onClick: Y
@@ -9617,14 +9660,14 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9617
9660
  type: "submit",
9618
9661
  form: "scanner-option-form",
9619
9662
  class: g(k(Q)("iccandle-scanner-option__btn iccandle-scanner-option__btn--primary", e.intent === "scan" && "iccandle-scanner-option__btn--scan"))
9620
- }, [e.intent === "scan" ? (x(), i(Le, {
9663
+ }, [e.intent === "scan" ? (x(), i(Ve, {
9621
9664
  key: 0,
9622
9665
  size: 14,
9623
9666
  color: "#ffb84d"
9624
9667
  })) : a("", !0), l(" " + O(ce.value), 1)], 2)])])])
9625
9668
  ]));
9626
9669
  }
9627
- }), Yn = /* @__PURE__ */ d({
9670
+ }), or = /* @__PURE__ */ d({
9628
9671
  __name: "ScannerOption",
9629
9672
  props: {
9630
9673
  intent: { default: "settings" },
@@ -9653,7 +9696,7 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9653
9696
  }, [s("div", {
9654
9697
  class: "iccandle-scanner-option__card",
9655
9698
  onPointerdown: r[0] ||= P(() => {}, ["stop"])
9656
- }, [u(Jn, {
9699
+ }, [u(ar, {
9657
9700
  intent: e.intent,
9658
9701
  "set-resolution": e.setResolution,
9659
9702
  timeframe: e.timeframe,
@@ -9669,11 +9712,11 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9669
9712
  "onCancel"
9670
9713
  ])], 32)], 34)]));
9671
9714
  }
9672
- }), Xn = [
9715
+ }), sr = [
9673
9716
  "width",
9674
9717
  "height",
9675
9718
  "stroke"
9676
- ], Zn = /* @__PURE__ */ d({
9719
+ ], cr = /* @__PURE__ */ d({
9677
9720
  __name: "BellIcon",
9678
9721
  props: {
9679
9722
  size: { default: 20 },
@@ -9692,9 +9735,9 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9692
9735
  "stroke-linecap": "round",
9693
9736
  "stroke-linejoin": "round",
9694
9737
  class: g(e.className)
9695
- }, [...n[0] ||= [s("path", { d: "M10.268 21a2 2 0 0 0 3.464 0" }, null, -1), s("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" }, null, -1)]], 10, Xn));
9738
+ }, [...n[0] ||= [s("path", { d: "M10.268 21a2 2 0 0 0 3.464 0" }, null, -1), s("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" }, null, -1)]], 10, sr));
9696
9739
  }
9697
- }), Qn = ["width", "height"], $n = ["stroke"], er = ["stroke"], tr = /* @__PURE__ */ d({
9740
+ }), lr = ["width", "height"], ur = ["stroke"], dr = ["stroke"], fr = /* @__PURE__ */ d({
9698
9741
  __name: "CloseIcon",
9699
9742
  props: {
9700
9743
  size: { default: 24 },
@@ -9715,24 +9758,24 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9715
9758
  "stroke-width": "2",
9716
9759
  "stroke-linecap": "round",
9717
9760
  "stroke-linejoin": "round"
9718
- }, null, 8, $n), s("path", {
9761
+ }, null, 8, ur), s("path", {
9719
9762
  d: "m6 6 12 12",
9720
9763
  stroke: e.color,
9721
9764
  "stroke-width": "2",
9722
9765
  "stroke-linecap": "round",
9723
9766
  "stroke-linejoin": "round"
9724
- }, null, 8, er)], 10, Qn));
9767
+ }, null, 8, dr)], 10, lr));
9725
9768
  }
9726
- }), nr = { class: "iccandle-pattern-alert-name" }, rr = { class: "iccandle-pattern-alert-name__header" }, ir = { class: "iccandle-pattern-alert-name__title-row" }, ar = { class: "iccandle-pattern-alert-name__title" }, or = ["aria-label"], sr = { class: "iccandle-pattern-alert-name__description" }, cr = { class: "iccandle-pattern-alert-name__content" }, lr = { class: "iccandle-pattern-alert-name__form" }, ur = { class: "iccandle-pattern-alert-name__field" }, dr = {
9769
+ }), pr = { class: "iccandle-pattern-alert-name" }, mr = { class: "iccandle-pattern-alert-name__header" }, hr = { class: "iccandle-pattern-alert-name__title-row" }, gr = { class: "iccandle-pattern-alert-name__title" }, _r = ["aria-label"], vr = { class: "iccandle-pattern-alert-name__description" }, yr = { class: "iccandle-pattern-alert-name__content" }, br = { class: "iccandle-pattern-alert-name__form" }, xr = { class: "iccandle-pattern-alert-name__field" }, Sr = {
9727
9770
  for: "patternName",
9728
9771
  class: "iccandle-pattern-alert-name__label"
9729
- }, fr = ["placeholder", "value"], pr = {
9772
+ }, Cr = ["placeholder", "value"], wr = {
9730
9773
  key: 0,
9731
9774
  class: "iccandle-pattern-alert-name__error"
9732
- }, mr = {
9775
+ }, Tr = {
9733
9776
  key: 1,
9734
9777
  class: "iccandle-pattern-alert-name__error"
9735
- }, hr = { class: "iccandle-pattern-alert-name__footer-wrap" }, gr = { class: "iccandle-pattern-alert-name__footer" }, _r = ["disabled"], vr = /* @__PURE__ */ d({
9778
+ }, Er = { class: "iccandle-pattern-alert-name__footer-wrap" }, Dr = { class: "iccandle-pattern-alert-name__footer" }, Or = ["disabled"], kr = /* @__PURE__ */ d({
9736
9779
  __name: "PatternAlertNameStep",
9737
9780
  props: {
9738
9781
  patternName: {},
@@ -9746,8 +9789,8 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9746
9789
  let t = e.target.value.slice(0, 20);
9747
9790
  n("patternNameChange", t);
9748
9791
  }
9749
- return (t, n) => (x(), o("div", nr, [
9750
- s("div", rr, [s("div", ir, [s("h2", ar, [u(We, {
9792
+ return (t, n) => (x(), o("div", pr, [
9793
+ s("div", mr, [s("div", hr, [s("h2", gr, [u(Je, {
9751
9794
  size: 20,
9752
9795
  "class-name": "iccandle-pattern-alert-name__title-icon"
9753
9796
  }), l(" " + O(k(r)("Pattern.addToPatternTracker")), 1)]), s("button", {
@@ -9755,12 +9798,12 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9755
9798
  class: "iccandle-pattern-alert-name__close-btn",
9756
9799
  "aria-label": k(r)("Common.close"),
9757
9800
  onClick: n[0] ||= (...t) => e.onCancel && e.onCancel(...t)
9758
- }, [u(tr, { size: 20 })], 8, or)]), s("p", sr, O(k(r)("Pattern.addToPatternTrackerDescription")), 1)]),
9759
- s("div", cr, [u(Zn, {
9801
+ }, [u(fr, { size: 20 })], 8, _r)]), s("p", vr, O(k(r)("Pattern.addToPatternTrackerDescription")), 1)]),
9802
+ s("div", yr, [u(cr, {
9760
9803
  size: 64,
9761
9804
  "class-name": "iccandle-pattern-alert-name__bell-icon"
9762
- }), s("div", lr, [s("div", ur, [
9763
- s("label", dr, O(k(r)("Pattern.patternName")), 1),
9805
+ }), s("div", br, [s("div", xr, [
9806
+ s("label", Sr, O(k(r)("Pattern.patternName")), 1),
9764
9807
  s("input", {
9765
9808
  id: "patternName",
9766
9809
  class: "iccandle-pattern-alert-name__input",
@@ -9769,10 +9812,10 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9769
9812
  maxlength: "20",
9770
9813
  minlength: "5",
9771
9814
  onInput: i
9772
- }, null, 40, fr),
9773
- e.patternName.length === 20 ? (x(), o("p", pr, O(k(r)("Pattern.patternNameMaxChars")), 1)) : e.patternName.trim().length > 0 && e.patternName.trim().length < 5 ? (x(), o("p", mr, O(k(r)("Pattern.patternNameMinChars")), 1)) : a("", !0)
9815
+ }, null, 40, Cr),
9816
+ e.patternName.length === 20 ? (x(), o("p", wr, O(k(r)("Pattern.patternNameMaxChars")), 1)) : e.patternName.trim().length > 0 && e.patternName.trim().length < 5 ? (x(), o("p", Tr, O(k(r)("Pattern.patternNameMinChars")), 1)) : a("", !0)
9774
9817
  ])])]),
9775
- s("div", hr, [n[3] ||= s("hr", { class: "iccandle-pattern-alert-name__divider" }, null, -1), s("div", gr, [s("button", {
9818
+ s("div", Er, [n[3] ||= s("hr", { class: "iccandle-pattern-alert-name__divider" }, null, -1), s("div", Dr, [s("button", {
9776
9819
  type: "button",
9777
9820
  class: "iccandle-pattern-alert-name__btn iccandle-pattern-alert-name__btn--outline",
9778
9821
  onClick: n[1] ||= (...t) => e.onCancel && e.onCancel(...t)
@@ -9781,10 +9824,10 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9781
9824
  class: "iccandle-pattern-alert-name__btn iccandle-pattern-alert-name__btn--primary",
9782
9825
  disabled: e.patternName.trim().length < 5,
9783
9826
  onClick: n[2] ||= (...t) => e.onNext && e.onNext(...t)
9784
- }, O(k(r)("Common.next")), 9, _r)])])
9827
+ }, O(k(r)("Common.next")), 9, Or)])])
9785
9828
  ]));
9786
9829
  }
9787
- }), yr = [
9830
+ }), Ar = [
9788
9831
  {
9789
9832
  value: "M15",
9790
9833
  label: "M15",
@@ -9821,33 +9864,33 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9821
9864
  description: "Daily",
9822
9865
  type: "daily"
9823
9866
  }
9824
- ], br = ["aria-expanded"], xr = { class: "iccandle-scanner-timeframe-search__chips" }, Sr = {
9867
+ ], jr = ["aria-expanded"], Mr = { class: "iccandle-scanner-timeframe-search__chips" }, Nr = {
9825
9868
  key: 0,
9826
9869
  class: "iccandle-scanner-timeframe-search__placeholder"
9827
- }, Cr = { class: "iccandle-scanner-timeframe-search__chip-label" }, wr = [
9870
+ }, Pr = { class: "iccandle-scanner-timeframe-search__chip-label" }, Fr = [
9828
9871
  "aria-label",
9829
9872
  "onClick",
9830
9873
  "onKeydown"
9831
- ], Tr = { class: "iccandle-scanner-timeframe-search__trigger-meta" }, Er = { class: "iccandle-scanner-timeframe-search__search" }, Dr = [
9874
+ ], Ir = { class: "iccandle-scanner-timeframe-search__trigger-meta" }, Lr = { class: "iccandle-scanner-timeframe-search__search" }, Rr = [
9832
9875
  "placeholder",
9833
9876
  "value",
9834
9877
  "aria-label"
9835
- ], Or = {
9878
+ ], zr = {
9836
9879
  key: 0,
9837
9880
  class: "iccandle-scanner-timeframe-search__empty"
9838
- }, kr = {
9881
+ }, Br = {
9839
9882
  key: 1,
9840
9883
  class: "iccandle-scanner-timeframe-search__select-all"
9841
- }, Ar = ["aria-label"], jr = {
9884
+ }, Vr = ["aria-label"], Hr = {
9842
9885
  key: 0,
9843
9886
  class: "iccandle-scanner-timeframe-search__check iccandle-scanner-timeframe-search__check--on"
9844
- }, Mr = {
9887
+ }, Ur = {
9845
9888
  key: 1,
9846
9889
  class: "iccandle-scanner-timeframe-search__check iccandle-scanner-timeframe-search__check--on"
9847
- }, Nr = {
9890
+ }, Wr = {
9848
9891
  key: 2,
9849
9892
  class: "iccandle-scanner-timeframe-search__check"
9850
- }, Pr = ["aria-selected", "onClick"], Fr = { class: "iccandle-scanner-timeframe-search__item-label" }, Ir = { class: "iccandle-scanner-timeframe-search__item-description" }, Lr = /* @__PURE__ */ d({
9893
+ }, Gr = ["aria-selected", "onClick"], Kr = { class: "iccandle-scanner-timeframe-search__item-label" }, qr = { class: "iccandle-scanner-timeframe-search__item-description" }, Jr = /* @__PURE__ */ d({
9851
9894
  __name: "ScannerTimeframeSearch",
9852
9895
  props: {
9853
9896
  searchTerm: {},
@@ -9868,7 +9911,7 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9868
9911
  let t = e?.closest(".iccandle-theme-scope, .iccandle-selector-widget") ?? document.body;
9869
9912
  C.value = t;
9870
9913
  }
9871
- let A = r(() => l.allTimeframes ?? l.filteredTimeframes ?? yr), j = r(() => l.filteredTimeframes ?? yr), N = r(() => A.value.filter((e) => l.selectedTimeframes[e.value]));
9914
+ let A = r(() => l.allTimeframes ?? l.filteredTimeframes ?? Ar), j = r(() => l.filteredTimeframes ?? Ar), N = r(() => A.value.filter((e) => l.selectedTimeframes[e.value]));
9872
9915
  function te(e) {
9873
9916
  if (e.length === 0) return "none";
9874
9917
  let t = e.filter((e) => l.selectedTimeframes[e.value]).length;
@@ -9925,7 +9968,7 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9925
9968
  }), v(() => {
9926
9969
  window.removeEventListener("resize", B), window.removeEventListener("scroll", B, !0), document.removeEventListener("mousedown", V), document.removeEventListener("keydown", H);
9927
9970
  });
9928
- let U = r(() => te(j.value)), W = r(() => l.selectedCount <= 1 ? f("Pattern.timeframeSelected", { count: l.selectedCount }) : f("Pattern.timeframesSelected", { count: l.selectedCount })), G = r(() => E.value ? Math.max(120, E.value.maxHeight - 48) : 120);
9971
+ let re = r(() => te(j.value)), U = r(() => l.selectedCount <= 1 ? f("Pattern.timeframeSelected", { count: l.selectedCount }) : f("Pattern.timeframesSelected", { count: l.selectedCount })), W = r(() => E.value ? Math.max(120, E.value.maxHeight - 48) : 120);
9929
9972
  return (r, c) => (x(), o("div", {
9930
9973
  ref: (e) => D(e),
9931
9974
  class: "iccandle-scanner-timeframe-search iccandle-scanner-timeframe-search--combobox"
@@ -9938,10 +9981,10 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9938
9981
  "aria-haspopup": "listbox",
9939
9982
  class: "iccandle-scanner-timeframe-search__trigger",
9940
9983
  onClick: c[0] ||= (e) => z(!S.value)
9941
- }, [s("div", xr, [N.value.length === 0 ? (x(), o("span", Sr, O(k(f)("Selector.searchTimeframe")), 1)) : (x(!0), o(e, { key: 1 }, T(N.value, (e) => (x(), o("span", {
9984
+ }, [s("div", Mr, [N.value.length === 0 ? (x(), o("span", Nr, O(k(f)("Selector.searchTimeframe")), 1)) : (x(!0), o(e, { key: 1 }, T(N.value, (e) => (x(), o("span", {
9942
9985
  key: e.value,
9943
9986
  class: "iccandle-scanner-timeframe-search__chip"
9944
- }, [s("span", Cr, O(e.label), 1), s("span", {
9987
+ }, [s("span", Pr, O(e.label), 1), s("span", {
9945
9988
  role: "button",
9946
9989
  tabindex: "0",
9947
9990
  "aria-label": `Remove ${e.label}`,
@@ -9950,10 +9993,10 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9950
9993
  onKeydown: (t) => {
9951
9994
  (t.key === "Enter" || t.key === " ") && (t.preventDefault(), t.stopPropagation(), d("timeframeChange", e.value, !1));
9952
9995
  }
9953
- }, [u(dt, { size: 10 })], 40, wr)]))), 128))]), s("div", Tr, [s("span", null, O(W.value), 1), u(Xt, {
9996
+ }, [u(St, { size: 10 })], 40, Fr)]))), 128))]), s("div", Ir, [s("span", null, O(U.value), 1), u(cn, {
9954
9997
  size: 16,
9955
9998
  style: { opacity: .6 }
9956
- })])], 8, br), (x(), i(t, { to: C.value }, [S.value && E.value ? (x(), o("div", {
9999
+ })])], 8, jr), (x(), i(t, { to: C.value }, [S.value && E.value ? (x(), o("div", {
9957
10000
  key: 0,
9958
10001
  ref_key: "popoverRef",
9959
10002
  ref: y,
@@ -9966,7 +10009,7 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9966
10009
  width: `${E.value.width}px`,
9967
10010
  maxHeight: `${E.value.maxHeight}px`
9968
10011
  })
9969
- }, [s("div", Er, [u(en, {
10012
+ }, [s("div", Lr, [u(fn, {
9970
10013
  size: 16,
9971
10014
  "class-name": "iccandle-scanner-timeframe-search__search-icon"
9972
10015
  }), s("input", {
@@ -9978,17 +10021,17 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9978
10021
  value: n.searchTerm,
9979
10022
  "aria-label": k(f)("Selector.searchTimeframe"),
9980
10023
  onInput: c[1] ||= (e) => d("searchChange", e.target.value.toUpperCase())
9981
- }, null, 40, Dr)]), s("div", {
10024
+ }, null, 40, Rr)]), s("div", {
9982
10025
  class: "iccandle-scanner-timeframe-search__command-list",
9983
- style: _({ maxHeight: `${G.value}px` })
10026
+ style: _({ maxHeight: `${W.value}px` })
9984
10027
  }, [
9985
- n.searchTerm.trim() && j.value.length === 0 ? (x(), o("div", Or, O(k(f)("Selector.noResultsFound")), 1)) : a("", !0),
9986
- j.value.length > 0 ? (x(), o("div", kr, [s("button", {
10028
+ n.searchTerm.trim() && j.value.length === 0 ? (x(), o("div", zr, O(k(f)("Selector.noResultsFound")), 1)) : a("", !0),
10029
+ j.value.length > 0 ? (x(), o("div", Br, [s("button", {
9987
10030
  type: "button",
9988
10031
  class: "iccandle-scanner-timeframe-search__group-check-btn",
9989
10032
  "aria-label": k(f)("Selector.selectAllTimeframes"),
9990
10033
  onClick: ne
9991
- }, [U.value === "all" ? (x(), o("div", jr, [u(Jt, { size: 12 })])) : U.value === "some" ? (x(), o("div", Mr, [u(Qt, { size: 12 })])) : (x(), o("div", Nr))], 8, Ar), s("button", {
10034
+ }, [re.value === "all" ? (x(), o("div", Hr, [u(on, { size: 12 })])) : re.value === "some" ? (x(), o("div", Ur, [u(un, { size: 12 })])) : (x(), o("div", Wr))], 8, Vr), s("button", {
9992
10035
  type: "button",
9993
10036
  class: "iccandle-scanner-timeframe-search__group-label-btn",
9994
10037
  onClick: ne
@@ -10001,16 +10044,16 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
10001
10044
  class: "iccandle-scanner-timeframe-search__item",
10002
10045
  onClick: (t) => I(e.value)
10003
10046
  }, [
10004
- s("div", { class: g(k(Q)("iccandle-scanner-timeframe-search__check", n.selectedTimeframes[e.value] && "iccandle-scanner-timeframe-search__check--on")) }, [n.selectedTimeframes[e.value] ? (x(), i(Jt, {
10047
+ s("div", { class: g(k(Q)("iccandle-scanner-timeframe-search__check", n.selectedTimeframes[e.value] && "iccandle-scanner-timeframe-search__check--on")) }, [n.selectedTimeframes[e.value] ? (x(), i(on, {
10005
10048
  key: 0,
10006
10049
  size: 12
10007
10050
  })) : a("", !0)], 2),
10008
- s("span", Fr, O(P(e.value)), 1),
10009
- s("span", Ir, O(F(e.value)), 1)
10010
- ], 8, Pr))), 128))
10051
+ s("span", Kr, O(P(e.value)), 1),
10052
+ s("span", qr, O(F(e.value)), 1)
10053
+ ], 8, Gr))), 128))
10011
10054
  ], 4)], 6)) : a("", !0)], 8, ["to"]))], 512));
10012
10055
  }
10013
- }), Rr = { class: "iccandle-timeframes-tab" }, zr = { class: "iccandle-timeframes-tab__header" }, Br = { class: "iccandle-timeframes-tab__title" }, Vr = /* @__PURE__ */ d({
10056
+ }), Yr = { class: "iccandle-timeframes-tab" }, Xr = { class: "iccandle-timeframes-tab__header" }, Zr = { class: "iccandle-timeframes-tab__title" }, Qr = /* @__PURE__ */ d({
10014
10057
  __name: "TimeframesTab",
10015
10058
  props: { form: {} },
10016
10059
  setup(e) {
@@ -10022,13 +10065,13 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
10022
10065
  }, { immediate: !0 });
10023
10066
  let l = r(() => t.form.timeframes.reduce((e, t) => (e[t] = !0, e), {})), d = r(() => {
10024
10067
  let e = a.value.toLowerCase();
10025
- return yr.filter((t) => {
10068
+ return Ar.filter((t) => {
10026
10069
  let r = n(`Pattern.timeframeOptions.${t.value}.displayName`).toLowerCase(), i = n(`Pattern.timeframeOptions.${t.value}.description`).toLowerCase();
10027
10070
  return t.label.toLowerCase().includes(e) || t.value.toLowerCase().includes(e) || r.includes(e) || i.includes(e);
10028
10071
  });
10029
10072
  }), f = r(() => Object.values(l.value).filter(Boolean).length);
10030
10073
  function p(e) {
10031
- t.form.timeframes = yr.filter((t) => e[t.value]).map((e) => e.value);
10074
+ t.form.timeframes = Ar.filter((t) => e[t.value]).map((e) => e.value);
10032
10075
  }
10033
10076
  function m(e, t) {
10034
10077
  p({
@@ -10041,12 +10084,12 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
10041
10084
  for (let r of e) n[r] = t;
10042
10085
  p(n);
10043
10086
  }
10044
- return (e, t) => (x(), o("div", Rr, [s("div", zr, [s("h3", Br, O(k(n)("Pattern.selectTimeframes")), 1)]), u(Lr, {
10087
+ return (e, t) => (x(), o("div", Yr, [s("div", Xr, [s("h3", Zr, O(k(n)("Pattern.selectTimeframes")), 1)]), u(Jr, {
10045
10088
  "search-term": i.value,
10046
10089
  "selected-timeframes": l.value,
10047
10090
  "filtered-timeframes": d.value,
10048
10091
  "selected-count": f.value,
10049
- "all-timeframes": [...k(yr)],
10092
+ "all-timeframes": [...k(Ar)],
10050
10093
  onSearchChange: t[0] ||= (e) => i.value = e,
10051
10094
  onTimeframeChange: m,
10052
10095
  onGroupChange: h
@@ -10058,7 +10101,7 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
10058
10101
  "all-timeframes"
10059
10102
  ])]));
10060
10103
  }
10061
- }), Hr = { class: "iccandle-symbols-tab" }, Ur = { class: "iccandle-symbols-tab__header" }, Wr = { class: "iccandle-symbols-tab__title" }, Gr = /* @__PURE__ */ d({
10104
+ }), $r = { class: "iccandle-symbols-tab" }, ei = { class: "iccandle-symbols-tab__header" }, ti = { class: "iccandle-symbols-tab__title" }, ni = /* @__PURE__ */ d({
10062
10105
  __name: "SymbolsTab",
10063
10106
  props: { form: {} },
10064
10107
  setup(e) {
@@ -10094,7 +10137,7 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
10094
10137
  for (let r of e) n[r] = t;
10095
10138
  m(n);
10096
10139
  }
10097
- return (e, t) => (x(), o("div", Hr, [s("div", Ur, [s("h3", Wr, O(k(n)("Pattern.signalDialog.selectCurrencyPairs")), 1)]), u(Dn, {
10140
+ return (e, t) => (x(), o("div", $r, [s("div", ei, [s("h3", ti, O(k(n)("Pattern.signalDialog.selectCurrencyPairs")), 1)]), u(Rn, {
10098
10141
  "search-term": i.value,
10099
10142
  "selected-symbols": l.value,
10100
10143
  "filtered-symbols": d.value,
@@ -10113,7 +10156,7 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
10113
10156
  "all-symbols"
10114
10157
  ])]));
10115
10158
  }
10116
- }), Kr = [
10159
+ }), ri = [
10117
10160
  {
10118
10161
  value: "new_york",
10119
10162
  label: "New York Session",
@@ -10142,12 +10185,12 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
10142
10185
  start: "09:00",
10143
10186
  end: "18:00"
10144
10187
  }
10145
- ], qr = [
10188
+ ], ii = [
10146
10189
  {
10147
10190
  value: "all_time",
10148
10191
  label: "All time"
10149
10192
  },
10150
- ...Kr.map((e) => ({
10193
+ ...ri.map((e) => ({
10151
10194
  value: e.value,
10152
10195
  label: e.label
10153
10196
  })),
@@ -10155,61 +10198,61 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
10155
10198
  value: "customize",
10156
10199
  label: "Customize"
10157
10200
  }
10158
- ], Jr = (e) => {
10201
+ ], ai = (e) => {
10159
10202
  let t = e.match(/GMT([+-])(\d{1,2})(?::?(\d{2}))?/);
10160
10203
  if (!t) return 0;
10161
10204
  let n = t[1] === "-" ? -1 : 1, r = Number(t[2]), i = Number(t[3] ?? "0");
10162
10205
  return n * (r * 60 + i);
10163
- }, Yr = (e, t) => Jr(new Intl.DateTimeFormat("en-US", {
10206
+ }, oi = (e, t) => ai(new Intl.DateTimeFormat("en-US", {
10164
10207
  timeZone: t,
10165
10208
  timeZoneName: "shortOffset",
10166
10209
  hour: "2-digit"
10167
- }).formatToParts(e).find((e) => e.type === "timeZoneName")?.value ?? "GMT+0"), Xr = (e, t, n) => {
10168
- let [r, i] = e.split(":").map(Number), a = /* @__PURE__ */ new Date(), o = Date.UTC(a.getUTCFullYear(), a.getUTCMonth(), a.getUTCDate(), r, i, 0), s = o - Yr(new Date(o), t) * 6e4;
10169
- return s = o - Yr(new Date(s), t) * 6e4, new Intl.DateTimeFormat("en-GB", {
10210
+ }).formatToParts(e).find((e) => e.type === "timeZoneName")?.value ?? "GMT+0"), si = (e, t, n) => {
10211
+ let [r, i] = e.split(":").map(Number), a = /* @__PURE__ */ new Date(), o = Date.UTC(a.getUTCFullYear(), a.getUTCMonth(), a.getUTCDate(), r, i, 0), s = o - oi(new Date(o), t) * 6e4;
10212
+ return s = o - oi(new Date(s), t) * 6e4, new Intl.DateTimeFormat("en-GB", {
10170
10213
  timeZone: n,
10171
10214
  hour12: !1,
10172
10215
  hour: "2-digit",
10173
10216
  minute: "2-digit"
10174
10217
  }).format(new Date(s));
10175
- }, Zr = (e, t) => {
10176
- let n = Kr.find((t) => t.value === e);
10218
+ }, ci = (e, t) => {
10219
+ let n = ri.find((t) => t.value === e);
10177
10220
  return n ? {
10178
- start_time: Xr(n.start, n.timezone, t),
10179
- end_time: Xr(n.end, n.timezone, t),
10221
+ start_time: si(n.start, n.timezone, t),
10222
+ end_time: si(n.end, n.timezone, t),
10180
10223
  timezone: t
10181
10224
  } : null;
10182
- }, Qr = (e, t) => {
10225
+ }, li = (e, t) => {
10183
10226
  if (!e) return "all_time";
10184
10227
  let n = e.timezone || t, r = !!(e.start_time && e.end_time);
10185
10228
  if (e.preset_session) {
10186
10229
  if (e.preset_session === "all_time") return "all_time";
10187
10230
  if (e.preset_session === "customize") return "customize";
10188
- let t = Zr(e.preset_session, n);
10231
+ let t = ci(e.preset_session, n);
10189
10232
  if (t && t.start_time === e.start_time && t.end_time === e.end_time) return e.preset_session;
10190
10233
  }
10191
10234
  if (!r) return "customize";
10192
- let i = Kr.find((t) => {
10193
- let r = Zr(t.value, n);
10235
+ let i = ri.find((t) => {
10236
+ let r = ci(t.value, n);
10194
10237
  return r && r.start_time === e.start_time && r.end_time === e.end_time;
10195
10238
  });
10196
10239
  return i ? i.value : "customize";
10197
- }, $r = (e) => {
10240
+ }, ui = (e) => {
10198
10241
  let t = Intl, n = typeof t.supportedValuesOf == "function" ? t.supportedValuesOf("timeZone") ?? [] : [], r = e || "UTC";
10199
10242
  return (n.length ? n : [r]).filter(Boolean);
10200
- }, ei = { class: "iccandle-time-config-section__header" }, ti = { class: "iccandle-time-config-section__title" }, ni = { class: "iccandle-time-config-section__fields" }, ri = { class: "iccandle-time-config-section__row" }, ii = { class: "iccandle-time-config-section__field" }, ai = { class: "iccandle-time-config-section__label" }, oi = ["aria-expanded"], si = { class: "iccandle-time-config-section__select-label" }, ci = { class: "iccandle-time-config-section__field" }, li = { class: "iccandle-time-config-section__label" }, ui = ["aria-expanded", "disabled"], di = { class: "iccandle-time-config-section__select-label" }, fi = { class: "iccandle-time-config-section__row" }, pi = { class: "iccandle-time-config-section__field" }, mi = { class: "iccandle-time-config-section__label" }, hi = ["disabled", "value"], gi = { class: "iccandle-time-config-section__field" }, _i = { class: "iccandle-time-config-section__label" }, vi = ["disabled", "value"], yi = { class: "iccandle-time-config-section__dropdown-search" }, bi = ["placeholder"], xi = {
10243
+ }, di = { class: "iccandle-time-config-section__header" }, fi = { class: "iccandle-time-config-section__title" }, pi = { class: "iccandle-time-config-section__fields" }, mi = { class: "iccandle-time-config-section__row" }, hi = { class: "iccandle-time-config-section__field" }, gi = { class: "iccandle-time-config-section__label" }, _i = ["aria-expanded"], vi = { class: "iccandle-time-config-section__select-label" }, yi = { class: "iccandle-time-config-section__field" }, bi = { class: "iccandle-time-config-section__label" }, xi = ["aria-expanded", "disabled"], Si = { class: "iccandle-time-config-section__select-label" }, Ci = { class: "iccandle-time-config-section__row" }, wi = { class: "iccandle-time-config-section__field" }, Ti = { class: "iccandle-time-config-section__label" }, Ei = ["disabled", "value"], Di = { class: "iccandle-time-config-section__field" }, Oi = { class: "iccandle-time-config-section__label" }, ki = ["disabled", "value"], Ai = { class: "iccandle-time-config-section__dropdown-search" }, ji = ["placeholder"], Mi = {
10201
10244
  class: "iccandle-time-config-section__dropdown-group-label",
10202
10245
  "aria-hidden": "true"
10203
- }, Si = {
10246
+ }, Ni = {
10204
10247
  key: 0,
10205
10248
  class: "iccandle-time-config-section__dropdown-empty"
10206
- }, Ci = ["aria-selected", "onClick"], wi = { class: "iccandle-time-config-section__dropdown-header" }, Ti = { class: "iccandle-time-config-section__dropdown-title" }, Ei = { class: "iccandle-time-config-section__dropdown-subtitle" }, Di = { class: "iccandle-time-config-section__dropdown-search" }, Oi = ["placeholder"], ki = {
10249
+ }, Pi = ["aria-selected", "onClick"], Fi = { class: "iccandle-time-config-section__dropdown-header" }, Ii = { class: "iccandle-time-config-section__dropdown-title" }, Li = { class: "iccandle-time-config-section__dropdown-subtitle" }, Ri = { class: "iccandle-time-config-section__dropdown-search" }, zi = ["placeholder"], Bi = {
10207
10250
  class: "iccandle-time-config-section__dropdown-group-label",
10208
10251
  "aria-hidden": "true"
10209
- }, Ai = {
10252
+ }, Vi = {
10210
10253
  key: 0,
10211
10254
  class: "iccandle-time-config-section__dropdown-empty"
10212
- }, ji = ["aria-selected", "onClick"], Mi = /* @__PURE__ */ d({
10255
+ }, Hi = ["aria-selected", "onClick"], Ui = /* @__PURE__ */ d({
10213
10256
  __name: "TimeConfigSection",
10214
10257
  props: {
10215
10258
  timeconfig: {},
@@ -10233,11 +10276,11 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
10233
10276
  let t = e?.closest(".iccandle-theme-scope, .iccandle-selector-widget") ?? document.body;
10234
10277
  ee.value = t;
10235
10278
  }
10236
- let L = Intl.DateTimeFormat().resolvedOptions().timeZone, R = r(() => Qr(d.timeconfig, L)), z = (e) => p(c[e]), B = r(() => d.timeconfig?.timezone?.trim() || L || "UTC"), V = r(() => R.value === "all_time" ? p("TimeConfig.yourTimezone") : B.value), H = r(() => $r(L)), U = r(() => {
10279
+ let L = Intl.DateTimeFormat().resolvedOptions().timeZone, R = r(() => li(d.timeconfig, L)), z = (e) => p(c[e]), B = r(() => d.timeconfig?.timezone?.trim() || L || "UTC"), V = r(() => R.value === "all_time" ? p("TimeConfig.yourTimezone") : B.value), H = r(() => ui(L)), re = r(() => {
10237
10280
  let e = N.value.trim().toLowerCase();
10238
- return e ? qr.filter((t) => z(t.value).toLowerCase().includes(e) || t.value.toLowerCase().includes(e)) : qr;
10239
- }), W = r(() => f(H.value, P.value)), G = r(() => `iccandle-time-config-section ${d.containerClassName}`.trim());
10240
- function re(e, t) {
10281
+ return e ? ii.filter((t) => z(t.value).toLowerCase().includes(e) || t.value.toLowerCase().includes(e)) : ii;
10282
+ }), U = r(() => f(H.value, P.value)), W = r(() => `iccandle-time-config-section ${d.containerClassName}`.trim());
10283
+ function ie(e, t) {
10241
10284
  if (!e) return;
10242
10285
  let n = e.getBoundingClientRect(), r = window.innerHeight - n.bottom - 4 - 8, i = n.top - 8, a = r < 180 && i > r, o = Math.max(160, Math.min(320, a ? i : r));
10243
10286
  t({
@@ -10247,13 +10290,13 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
10247
10290
  maxHeight: o
10248
10291
  });
10249
10292
  }
10250
- function K() {
10293
+ function G() {
10251
10294
  A.value = !1, N.value = "", F.value = null;
10252
10295
  }
10253
- function ie() {
10296
+ function K() {
10254
10297
  D.value = !1, P.value = "", I.value = null;
10255
10298
  }
10256
- function ae(e, t) {
10299
+ function q(e, t) {
10257
10300
  let n = d.timeconfig || { timezone: L };
10258
10301
  d.onTimeConfigChange({
10259
10302
  ...n,
@@ -10261,9 +10304,9 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
10261
10304
  preset_session: "customize"
10262
10305
  }, { shouldDirty: !0 });
10263
10306
  }
10264
- function q(e) {
10265
- if (K(), e === "all_time") {
10266
- d.timeconfig && d.onTimeConfigChange(void 0, { shouldDirty: !0 }), ie();
10307
+ function ae(e) {
10308
+ if (G(), e === "all_time") {
10309
+ d.timeconfig && d.onTimeConfigChange(void 0, { shouldDirty: !0 }), K();
10267
10310
  return;
10268
10311
  }
10269
10312
  if (e === "customize") {
@@ -10278,7 +10321,7 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
10278
10321
  }, { shouldDirty: !0 });
10279
10322
  return;
10280
10323
  }
10281
- let t = Zr(e, d.timeconfig?.timezone || L);
10324
+ let t = ci(e, d.timeconfig?.timezone || L);
10282
10325
  t && d.onTimeConfigChange({
10283
10326
  ...t,
10284
10327
  preset_session: e
@@ -10286,7 +10329,7 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
10286
10329
  }
10287
10330
  function J(e) {
10288
10331
  if (R.value !== "all_time" && R.value !== "customize") {
10289
- let t = Zr(R.value, e);
10332
+ let t = ci(R.value, e);
10290
10333
  t && d.onTimeConfigChange({
10291
10334
  ...t,
10292
10335
  preset_session: R.value
@@ -10295,7 +10338,7 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
10295
10338
  ...d.timeconfig || {},
10296
10339
  timezone: e
10297
10340
  }, { shouldDirty: !0 });
10298
- ie();
10341
+ K();
10299
10342
  }
10300
10343
  function Y(e) {
10301
10344
  if (R.value !== "customize") return;
@@ -10305,18 +10348,18 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
10305
10348
  } catch {}
10306
10349
  }
10307
10350
  function oe() {
10308
- A.value && re(y.value, (e) => {
10351
+ A.value && ie(y.value, (e) => {
10309
10352
  F.value = e;
10310
- }), D.value && re(b.value, (e) => {
10353
+ }), D.value && ie(b.value, (e) => {
10311
10354
  I.value = e;
10312
10355
  });
10313
10356
  }
10314
10357
  function se(e) {
10315
10358
  let t = e.target;
10316
- t && (m.value?.contains(t) || S.value?.contains(t) || C.value?.contains(t) || (A.value && K(), D.value && ie()));
10359
+ t && (m.value?.contains(t) || S.value?.contains(t) || C.value?.contains(t) || (A.value && G(), D.value && K()));
10317
10360
  }
10318
10361
  function ce(e) {
10319
- e.key === "Escape" && (A.value && K(), D.value && ie());
10362
+ e.key === "Escape" && (A.value && G(), D.value && K());
10320
10363
  }
10321
10364
  M(() => [d.timeconfig, R.value], () => {
10322
10365
  !d.timeconfig || R.value === "all_time" || d.timeconfig.timezone || d.onTimeConfigChange({
@@ -10331,10 +10374,10 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
10331
10374
  let le = r(() => F.value ? Math.max(120, F.value.maxHeight - 52) : 120), ue = r(() => I.value ? Math.max(120, I.value.maxHeight - 96) : 120);
10332
10375
  return (r, c) => (x(), o("div", {
10333
10376
  ref: (e) => ne(e),
10334
- class: g(G.value)
10377
+ class: g(W.value)
10335
10378
  }, [
10336
- s("div", ei, [s("h3", ti, O(k(p)("TimeConfig.title")), 1)]),
10337
- s("div", ni, [s("div", ri, [s("div", ii, [s("label", ai, O(k(p)("TimeConfig.session")), 1), s("div", { class: g(["iccandle-time-config-section__select-wrap", A.value && "iccandle-time-config-section__select-wrap--open"]) }, [s("button", {
10379
+ s("div", di, [s("h3", fi, O(k(p)("TimeConfig.title")), 1)]),
10380
+ s("div", pi, [s("div", mi, [s("div", hi, [s("label", gi, O(k(p)("TimeConfig.session")), 1), s("div", { class: g(["iccandle-time-config-section__select-wrap", A.value && "iccandle-time-config-section__select-wrap--open"]) }, [s("button", {
10338
10381
  ref_key: "sessionTriggerRef",
10339
10382
  ref: y,
10340
10383
  type: "button",
@@ -10343,12 +10386,12 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
10343
10386
  "aria-expanded": A.value,
10344
10387
  onClick: c[0] ||= () => {
10345
10388
  if (A.value) {
10346
- K();
10389
+ G();
10347
10390
  return;
10348
10391
  }
10349
- ie(), A.value = !0;
10392
+ K(), A.value = !0;
10350
10393
  }
10351
- }, [s("span", si, O(z(R.value) || k(p)("TimeConfig.selectSession")), 1)], 8, oi)], 2)]), s("div", ci, [s("label", li, O(k(p)("TimeConfig.timezone")), 1), s("div", { class: g(["iccandle-time-config-section__select-wrap", D.value && "iccandle-time-config-section__select-wrap--open"]) }, [s("button", {
10394
+ }, [s("span", vi, O(z(R.value) || k(p)("TimeConfig.selectSession")), 1)], 8, _i)], 2)]), s("div", yi, [s("label", bi, O(k(p)("TimeConfig.timezone")), 1), s("div", { class: g(["iccandle-time-config-section__select-wrap", D.value && "iccandle-time-config-section__select-wrap--open"]) }, [s("button", {
10352
10395
  ref_key: "timezoneTriggerRef",
10353
10396
  ref: b,
10354
10397
  type: "button",
@@ -10358,26 +10401,26 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
10358
10401
  disabled: R.value === "all_time",
10359
10402
  onClick: c[1] ||= () => {
10360
10403
  if (D.value) {
10361
- ie();
10404
+ K();
10362
10405
  return;
10363
10406
  }
10364
- K(), D.value = !0;
10407
+ G(), D.value = !0;
10365
10408
  }
10366
- }, [s("span", di, O(V.value), 1)], 8, ui)], 2)])]), s("div", fi, [s("div", pi, [s("label", mi, O(k(p)("TimeConfig.startTime")), 1), s("input", {
10409
+ }, [s("span", Si, O(V.value), 1)], 8, xi)], 2)])]), s("div", Ci, [s("div", wi, [s("label", Ti, O(k(p)("TimeConfig.startTime")), 1), s("input", {
10367
10410
  type: "time",
10368
10411
  disabled: R.value !== "customize",
10369
10412
  value: n.timeconfig?.start_time ?? "",
10370
10413
  class: "iccandle-time-config-section__input",
10371
- onInput: c[2] ||= (e) => ae("start_time", e.target.value),
10414
+ onInput: c[2] ||= (e) => q("start_time", e.target.value),
10372
10415
  onClick: Y
10373
- }, null, 40, hi)]), s("div", gi, [s("label", _i, O(k(p)("TimeConfig.endTime")), 1), s("input", {
10416
+ }, null, 40, Ei)]), s("div", Di, [s("label", Oi, O(k(p)("TimeConfig.endTime")), 1), s("input", {
10374
10417
  type: "time",
10375
10418
  disabled: R.value !== "customize",
10376
10419
  value: n.timeconfig?.end_time ?? "",
10377
10420
  class: "iccandle-time-config-section__input",
10378
- onInput: c[3] ||= (e) => ae("end_time", e.target.value),
10421
+ onInput: c[3] ||= (e) => q("end_time", e.target.value),
10379
10422
  onClick: Y
10380
- }, null, 40, vi)])])]),
10423
+ }, null, 40, ki)])])]),
10381
10424
  (x(), i(t, { to: ee.value }, [A.value && F.value ? (x(), o("div", {
10382
10425
  key: 0,
10383
10426
  ref_key: "sessionPopoverRef",
@@ -10390,22 +10433,22 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
10390
10433
  width: `${F.value.width}px`,
10391
10434
  maxHeight: `${F.value.maxHeight}px`
10392
10435
  })
10393
- }, [s("div", yi, [te(s("input", {
10436
+ }, [s("div", Ai, [te(s("input", {
10394
10437
  "onUpdate:modelValue": c[4] ||= (e) => N.value = e,
10395
10438
  type: "text",
10396
10439
  class: "iccandle-time-config-section__dropdown-search-input",
10397
10440
  placeholder: k(p)("TimeConfig.searchSession"),
10398
10441
  autofocus: ""
10399
- }, null, 8, bi), [[j, N.value]])]), s("ul", {
10442
+ }, null, 8, ji), [[j, N.value]])]), s("ul", {
10400
10443
  class: "iccandle-time-config-section__dropdown-list",
10401
10444
  style: _({ maxHeight: `${le.value}px` })
10402
- }, [s("li", xi, O(k(p)("TimeConfig.sessionsHeading")), 1), U.value.length === 0 ? (x(), o("li", Si, O(k(p)("TimeConfig.noSessionFound")), 1)) : (x(!0), o(e, { key: 1 }, T(U.value, (e) => (x(), o("li", { key: e.value }, [s("button", {
10445
+ }, [s("li", Mi, O(k(p)("TimeConfig.sessionsHeading")), 1), re.value.length === 0 ? (x(), o("li", Ni, O(k(p)("TimeConfig.noSessionFound")), 1)) : (x(!0), o(e, { key: 1 }, T(re.value, (e) => (x(), o("li", { key: e.value }, [s("button", {
10403
10446
  type: "button",
10404
10447
  role: "option",
10405
10448
  "aria-selected": R.value === e.value,
10406
10449
  class: g(["iccandle-time-config-section__dropdown-item", R.value === e.value && "iccandle-time-config-section__dropdown-item--selected"]),
10407
- onClick: (t) => q(e.value)
10408
- }, [u(Jt, { "class-name": ["iccandle-time-config-section__check", R.value === e.value && "iccandle-time-config-section__check--visible"].filter(Boolean).join(" ") }, null, 8, ["class-name"]), l(" " + O(z(e.value)), 1)], 10, Ci)]))), 128))], 4)], 6)) : a("", !0)], 8, ["to"])),
10450
+ onClick: (t) => ae(e.value)
10451
+ }, [u(on, { "class-name": ["iccandle-time-config-section__check", R.value === e.value && "iccandle-time-config-section__check--visible"].filter(Boolean).join(" ") }, null, 8, ["class-name"]), l(" " + O(z(e.value)), 1)], 10, Pi)]))), 128))], 4)], 6)) : a("", !0)], 8, ["to"])),
10409
10452
  (x(), i(t, { to: ee.value }, [D.value && I.value ? (x(), o("div", {
10410
10453
  key: 0,
10411
10454
  ref_key: "timezonePopoverRef",
@@ -10419,31 +10462,31 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
10419
10462
  maxHeight: `${I.value.maxHeight}px`
10420
10463
  })
10421
10464
  }, [
10422
- s("div", wi, [s("p", Ti, O(k(p)("TimeConfig.selectTimezone")), 1), s("p", Ei, O(k(p)("TimeConfig.selectTimezoneHint")), 1)]),
10423
- s("div", Di, [te(s("input", {
10465
+ s("div", Fi, [s("p", Ii, O(k(p)("TimeConfig.selectTimezone")), 1), s("p", Li, O(k(p)("TimeConfig.selectTimezoneHint")), 1)]),
10466
+ s("div", Ri, [te(s("input", {
10424
10467
  "onUpdate:modelValue": c[5] ||= (e) => P.value = e,
10425
10468
  type: "text",
10426
10469
  class: "iccandle-time-config-section__dropdown-search-input",
10427
10470
  placeholder: k(p)("TimeConfig.searchTimezone"),
10428
10471
  autofocus: ""
10429
- }, null, 8, Oi), [[j, P.value]])]),
10472
+ }, null, 8, zi), [[j, P.value]])]),
10430
10473
  s("ul", {
10431
10474
  class: "iccandle-time-config-section__dropdown-list",
10432
10475
  style: _({ maxHeight: `${ue.value}px` })
10433
- }, [s("li", ki, O(k(p)("TimeConfig.timezonesHeading")), 1), W.value.length === 0 ? (x(), o("li", Ai, O(k(p)("TimeConfig.noTimezoneFound")), 1)) : (x(!0), o(e, { key: 1 }, T(W.value, (e) => (x(), o("li", { key: e }, [s("button", {
10476
+ }, [s("li", Bi, O(k(p)("TimeConfig.timezonesHeading")), 1), U.value.length === 0 ? (x(), o("li", Vi, O(k(p)("TimeConfig.noTimezoneFound")), 1)) : (x(!0), o(e, { key: 1 }, T(U.value, (e) => (x(), o("li", { key: e }, [s("button", {
10434
10477
  type: "button",
10435
10478
  role: "option",
10436
10479
  "aria-selected": B.value === e,
10437
10480
  class: g(["iccandle-time-config-section__dropdown-item", B.value === e && "iccandle-time-config-section__dropdown-item--selected"]),
10438
10481
  onClick: (t) => J(e)
10439
- }, [u(Jt, { "class-name": ["iccandle-time-config-section__check", B.value === e && "iccandle-time-config-section__check--visible"].filter(Boolean).join(" ") }, null, 8, ["class-name"]), l(" " + O(e), 1)], 10, ji)]))), 128))], 4)
10482
+ }, [u(on, { "class-name": ["iccandle-time-config-section__check", B.value === e && "iccandle-time-config-section__check--visible"].filter(Boolean).join(" ") }, null, 8, ["class-name"]), l(" " + O(e), 1)], 10, Hi)]))), 128))], 4)
10440
10483
  ], 6)) : a("", !0)], 8, ["to"]))
10441
10484
  ], 2));
10442
10485
  }
10443
- }), Ni = { class: "iccandle-pattern-alert-settings" }, Pi = { class: "iccandle-pattern-alert-settings__header-row" }, Fi = { class: "iccandle-pattern-alert-settings__header" }, Ii = { class: "iccandle-pattern-alert-settings__title-row" }, Li = { class: "iccandle-pattern-alert-settings__title" }, Ri = { class: "iccandle-pattern-alert-settings__title-text" }, zi = ["aria-label"], Bi = { class: "iccandle-pattern-alert-settings__sections" }, Vi = { class: "iccandle-pattern-alert-settings__section" }, Hi = { class: "iccandle-pattern-alert-settings__section" }, Ui = { class: "iccandle-pattern-alert-settings__section" }, Wi = { class: "iccandle-pattern-alert-settings__footer" }, Gi = {
10486
+ }), Wi = { class: "iccandle-pattern-alert-settings" }, Gi = { class: "iccandle-pattern-alert-settings__header-row" }, Ki = { class: "iccandle-pattern-alert-settings__header" }, qi = { class: "iccandle-pattern-alert-settings__title-row" }, Ji = { class: "iccandle-pattern-alert-settings__title" }, Yi = { class: "iccandle-pattern-alert-settings__title-text" }, Xi = ["aria-label"], Zi = { class: "iccandle-pattern-alert-settings__sections" }, Qi = { class: "iccandle-pattern-alert-settings__section" }, $i = { class: "iccandle-pattern-alert-settings__section" }, ea = { class: "iccandle-pattern-alert-settings__section" }, ta = { class: "iccandle-pattern-alert-settings__footer" }, na = {
10444
10487
  key: 0,
10445
10488
  class: "iccandle-pattern-alert-settings__error iccandle-pattern-alert-settings__error--visible"
10446
- }, Ki = ["disabled"], qi = /* @__PURE__ */ d({
10489
+ }, ra = ["disabled"], ia = /* @__PURE__ */ d({
10447
10490
  __name: "PatternAlertSettingsStep",
10448
10491
  props: {
10449
10492
  form: {},
@@ -10480,30 +10523,30 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
10480
10523
  function h(e, n) {
10481
10524
  t.form.timeconfig = e;
10482
10525
  }
10483
- return (t, r) => (x(), o("div", Ni, [
10484
- s("div", Pi, [u(We, {
10526
+ return (t, r) => (x(), o("div", Wi, [
10527
+ s("div", Gi, [u(Je, {
10485
10528
  size: 20,
10486
10529
  "class-name": "iccandle-pattern-alert-settings__header-icon"
10487
- }), s("div", Fi, [s("div", Ii, [s("h2", Li, [s("span", Ri, O(k(n)("Pattern.configurePatternTracker")), 1)]), s("button", {
10530
+ }), s("div", Ki, [s("div", qi, [s("h2", Ji, [s("span", Yi, O(k(n)("Pattern.configurePatternTracker")), 1)]), s("button", {
10488
10531
  type: "button",
10489
10532
  class: "iccandle-pattern-alert-settings__close-btn",
10490
10533
  "aria-label": k(n)("Common.close"),
10491
10534
  onClick: r[0] ||= (...t) => e.onCancel && e.onCancel(...t)
10492
- }, [u(tr, { size: 16 })], 8, zi)])])]),
10535
+ }, [u(fr, { size: 16 })], 8, Xi)])])]),
10493
10536
  s("form", {
10494
10537
  class: "iccandle-pattern-alert-settings__form",
10495
10538
  id: "pattern-alert-settings-form",
10496
10539
  onSubmit: m
10497
- }, [s("div", Bi, [
10498
- s("section", Vi, [u(Vr, { form: e.form }, null, 8, ["form"])]),
10499
- s("section", Hi, [u(Gr, { form: e.form }, null, 8, ["form"])]),
10500
- s("section", Ui, [u(Mi, {
10540
+ }, [s("div", Zi, [
10541
+ s("section", Qi, [u(Qr, { form: e.form }, null, 8, ["form"])]),
10542
+ s("section", $i, [u(ni, { form: e.form }, null, 8, ["form"])]),
10543
+ s("section", ea, [u(Ui, {
10501
10544
  timeconfig: e.form.timeconfig,
10502
10545
  "on-time-config-change": h,
10503
10546
  "container-class-name": "iccandle-pattern-alert-settings__time-config"
10504
10547
  }, null, 8, ["timeconfig"])])
10505
10548
  ])], 32),
10506
- s("div", Wi, [f.value ? (x(), o("p", Gi, O(f.value), 1)) : a("", !0), s("div", { class: g(["iccandle-pattern-alert-settings__actions", f.value && "iccandle-pattern-alert-settings__actions--with-error"]) }, [s("button", {
10549
+ s("div", ta, [f.value ? (x(), o("p", na, O(f.value), 1)) : a("", !0), s("div", { class: g(["iccandle-pattern-alert-settings__actions", f.value && "iccandle-pattern-alert-settings__actions--with-error"]) }, [s("button", {
10507
10550
  type: "button",
10508
10551
  class: "iccandle-pattern-alert-settings__btn iccandle-pattern-alert-settings__btn--outline",
10509
10552
  onClick: r[1] ||= (...t) => e.onBack && e.onBack(...t)
@@ -10512,13 +10555,13 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
10512
10555
  form: "pattern-alert-settings-form",
10513
10556
  class: "iccandle-pattern-alert-settings__btn iccandle-pattern-alert-settings__btn--primary",
10514
10557
  disabled: e.isSubscribing
10515
- }, O(e.isSubscribing ? k(n)("Pattern.subscribing") : k(n)("Pattern.subscribe")), 9, Ki)], 2)])
10558
+ }, O(e.isSubscribing ? k(n)("Pattern.subscribing") : k(n)("Pattern.subscribe")), 9, ra)], 2)])
10516
10559
  ]));
10517
10560
  }
10518
10561
  });
10519
10562
  //#endregion
10520
10563
  //#region src/services/pattern-tracker.ts
10521
- async function Ji(e) {
10564
+ async function aa(e) {
10522
10565
  let { data: t } = await F.post("https://api.iccandle.ai/custom-pattern/v1/searchless", e, { headers: {
10523
10566
  Authorization: `Bearer ${localStorage.getItem("iccandle_token")}`,
10524
10567
  ...window.location.hostname === "localhost" ? {} : { "X-Client-Name": window.location.origin }
@@ -10527,63 +10570,63 @@ async function Ji(e) {
10527
10570
  }
10528
10571
  //#endregion
10529
10572
  //#region src/services/base-service.ts
10530
- var Yi = F.create({
10573
+ var oa = F.create({
10531
10574
  timeout: 6e4,
10532
10575
  baseURL: ne
10533
10576
  });
10534
- Yi.interceptors.request.use(async (e) => {
10577
+ oa.interceptors.request.use(async (e) => {
10535
10578
  if (typeof window > "u") return e;
10536
10579
  let t = localStorage.getItem("iccandle_token");
10537
10580
  return t && (e.headers[L] = `Bearer ${t}`), e;
10538
- }, (e) => Promise.reject(e)), Yi.interceptors.response.use((e) => e, async (e) => Promise.reject(e));
10581
+ }, (e) => Promise.reject(e)), oa.interceptors.response.use((e) => e, async (e) => Promise.reject(e));
10539
10582
  //#endregion
10540
10583
  //#region src/services/credits.ts
10541
- async function Xi() {
10542
- let { data: e } = await Yi.get("/credits/v1/me");
10584
+ async function sa() {
10585
+ let { data: e } = await oa.get("/credits/v1/me");
10543
10586
  return e;
10544
10587
  }
10545
- function Zi(e) {
10588
+ function ca(e) {
10546
10589
  return e.usage?.pattern;
10547
10590
  }
10548
- function Qi(e) {
10591
+ function la(e) {
10549
10592
  return e.user_credit?.plan?.toLowerCase() || "free";
10550
10593
  }
10551
10594
  //#endregion
10552
10595
  //#region src/lib/find-error-message.ts
10553
- var $i = (e) => {
10596
+ var ua = (e) => {
10554
10597
  if (typeof e == "string") return e;
10555
10598
  if (typeof e != "object" || !e) return R;
10556
10599
  for (let t in e) if (Object.prototype.hasOwnProperty.call(e, t)) {
10557
- let n = $i(e[t]);
10600
+ let n = ua(e[t]);
10558
10601
  if (n) return n;
10559
10602
  }
10560
10603
  return R;
10561
- }, ea = (e) => I(e) ? $i(e.response?.data) : e.message, ta = "pattern.custom_pattern_saved";
10562
- function na() {
10604
+ }, da = (e) => I(e) ? ua(e.response?.data) : e.message, fa = "pattern.custom_pattern_saved";
10605
+ function pa() {
10563
10606
  return JSON.stringify({
10564
- name: ta,
10607
+ name: fa,
10565
10608
  data: null
10566
10609
  });
10567
10610
  }
10568
- function ra(e, t, n = 0) {
10611
+ function ma(e, t, n = 0) {
10569
10612
  !e || n > 4 || e.querySelectorAll("iframe").forEach((e) => {
10570
10613
  let r = e.contentWindow;
10571
10614
  if (!(!r || t.has(r))) {
10572
10615
  t.add(r);
10573
10616
  try {
10574
- ra(e.contentDocument, t, n + 1);
10617
+ ma(e.contentDocument, t, n + 1);
10575
10618
  } catch {}
10576
10619
  }
10577
10620
  });
10578
10621
  }
10579
- function ia() {
10622
+ function ha() {
10580
10623
  if (typeof document > "u") return;
10581
- let e = na(), t = /* @__PURE__ */ new Set();
10582
- ra(document, t), t.forEach((t) => t.postMessage(e, "*"));
10624
+ let e = pa(), t = /* @__PURE__ */ new Set();
10625
+ ma(document, t), t.forEach((t) => t.postMessage(e, "*"));
10583
10626
  }
10584
10627
  //#endregion
10585
10628
  //#region src/components/pattern-tracker/PatternTrackerSubscriptionModal.vue?vue&type=script&setup=true&lang.ts
10586
- var aa = ["aria-label"], oa = /* @__PURE__ */ d({
10629
+ var ga = ["aria-label"], _a = /* @__PURE__ */ d({
10587
10630
  __name: "PatternTrackerSubscriptionModal",
10588
10631
  props: {
10589
10632
  open: { type: Boolean },
@@ -10665,10 +10708,10 @@ var aa = ["aria-label"], oa = /* @__PURE__ */ d({
10665
10708
  };
10666
10709
  m.value = !0;
10667
10710
  try {
10668
- let e = await Xi(), t = Zi(e);
10711
+ let e = await sa(), t = ca(e);
10669
10712
  if (t && t.remaining <= 0) {
10670
- let t = Qi(e), n = t === "free", r = t === "expert";
10671
- me({
10713
+ let t = la(e), n = t === "free", r = t === "expert";
10714
+ ve({
10672
10715
  title: u(n ? "Pattern.currentPlan" : "Pattern.limitReached"),
10673
10716
  description: u(n ? "Pattern.trackerTutorialPlanNoTracking" : r ? "Pattern.limitReachedTrackerDescription" : "Pattern.trackerUpgradeToastDescription"),
10674
10717
  variant: "warning",
@@ -10679,14 +10722,14 @@ var aa = ["aria-label"], oa = /* @__PURE__ */ d({
10679
10722
  });
10680
10723
  return;
10681
10724
  }
10682
- await Ji(a), ia(), me({
10725
+ await aa(a), ha(), ve({
10683
10726
  title: u("Pattern.patternSubscribed"),
10684
10727
  description: u("Pattern.patternSubscribedDesc", { name: d.value }),
10685
10728
  variant: "success"
10686
10729
  }), l(!1);
10687
10730
  } catch (e) {
10688
- let t = ea(e);
10689
- p.value = t, me({
10731
+ let t = da(e);
10732
+ p.value = t, ve({
10690
10733
  title: u("Pattern.patternSubscriptionError"),
10691
10734
  description: t,
10692
10735
  variant: "error"
@@ -10715,7 +10758,7 @@ var aa = ["aria-label"], oa = /* @__PURE__ */ d({
10715
10758
  class: g(k(Q)("iccandle-pattern-tracker-modal__content", f.value && "iccandle-pattern-tracker-modal__content--settings")),
10716
10759
  style: _({ height: f.value ? "100%" : void 0 }),
10717
10760
  onPointerdown: r[1] ||= P(() => {}, ["stop"])
10718
- }, [f.value ? (x(), i(qi, {
10761
+ }, [f.value ? (x(), i(ia, {
10719
10762
  key: 1,
10720
10763
  form: h,
10721
10764
  "on-back": T,
@@ -10728,18 +10771,18 @@ var aa = ["aria-label"], oa = /* @__PURE__ */ d({
10728
10771
  "on-cancel",
10729
10772
  "is-subscribing",
10730
10773
  "error-message"
10731
- ])) : (x(), i(vr, {
10774
+ ])) : (x(), i(kr, {
10732
10775
  key: 0,
10733
10776
  "pattern-name": d.value,
10734
10777
  "on-next": y,
10735
10778
  "on-cancel": () => l(!1),
10736
10779
  onPatternNameChange: r[0] ||= (e) => d.value = e
10737
- }, null, 8, ["pattern-name", "on-cancel"]))], 38)], 46, aa)) : a("", !0)]));
10780
+ }, null, 8, ["pattern-name", "on-cancel"]))], 38)], 46, ga)) : a("", !0)]));
10738
10781
  }
10739
- }), sa = { class: "iccandle-event-info-modal__header" }, ca = { class: "iccandle-event-info-modal__title-row" }, la = { class: "iccandle-event-info-modal__title" }, ua = ["aria-label"], da = {
10782
+ }), va = { class: "iccandle-event-info-modal__header" }, ya = { class: "iccandle-event-info-modal__title-row" }, ba = { class: "iccandle-event-info-modal__title" }, xa = ["aria-label"], Sa = {
10740
10783
  key: 0,
10741
10784
  class: "iccandle-event-info-modal__date"
10742
- }, fa = { class: "iccandle-event-info-modal__rows" }, pa = { class: "iccandle-event-info-modal__row" }, ma = { class: "iccandle-event-info-modal__label" }, ha = { class: "iccandle-event-info-modal__value" }, ga = { class: "iccandle-event-info-modal__row" }, _a = { class: "iccandle-event-info-modal__label" }, va = { class: "iccandle-event-info-modal__value" }, ya = { class: "iccandle-event-info-modal__row" }, ba = { class: "iccandle-event-info-modal__label" }, xa = { class: "iccandle-event-info-modal__value" }, Sa = { class: "iccandle-event-info-modal__row" }, Ca = { class: "iccandle-event-info-modal__label" }, wa = { class: "iccandle-event-info-modal__actions" }, Ta = /* @__PURE__ */ d({
10785
+ }, Ca = { class: "iccandle-event-info-modal__rows" }, wa = { class: "iccandle-event-info-modal__row" }, Ta = { class: "iccandle-event-info-modal__label" }, Ea = { class: "iccandle-event-info-modal__value" }, Da = { class: "iccandle-event-info-modal__row" }, Oa = { class: "iccandle-event-info-modal__label" }, ka = { class: "iccandle-event-info-modal__value" }, Aa = { class: "iccandle-event-info-modal__row" }, ja = { class: "iccandle-event-info-modal__label" }, Ma = { class: "iccandle-event-info-modal__value" }, Na = { class: "iccandle-event-info-modal__row" }, Pa = { class: "iccandle-event-info-modal__label" }, Fa = { class: "iccandle-event-info-modal__actions" }, Ia = /* @__PURE__ */ d({
10743
10786
  __name: "EventInfoModal",
10744
10787
  props: {
10745
10788
  event: {},
@@ -10796,21 +10839,21 @@ var aa = ["aria-label"], oa = /* @__PURE__ */ d({
10796
10839
  onClick: n[0] ||= P(() => {}, ["stop"]),
10797
10840
  onKeydown: h
10798
10841
  }, [
10799
- s("div", sa, [s("div", ca, [u(Kt, { name: e.event.default_symbol || e.symbol || "" }, null, 8, ["name"]), s("h3", la, O(e.event.event_name), 1)]), s("button", {
10842
+ s("div", va, [s("div", ya, [u(rn, { name: e.event.default_symbol || e.symbol || "" }, null, 8, ["name"]), s("h3", ba, O(e.event.event_name), 1)]), s("button", {
10800
10843
  ref_key: "closeButtonRef",
10801
10844
  ref: l,
10802
10845
  type: "button",
10803
10846
  class: "iccandle-event-info-modal__close",
10804
10847
  "aria-label": k(i)("Common.close"),
10805
10848
  onClick: p
10806
- }, [u(dt, { size: 20 })], 8, ua)]),
10807
- s("div", null, [e.event.timestamp ? (x(), o("p", da, O(f(e.event.timestamp, k(c))), 1)) : a("", !0), s("div", fa, [
10808
- s("div", pa, [s("span", ma, O(k(i)("Common.actual")) + ": ", 1), s("span", ha, O(e.event.actual || "-"), 1)]),
10809
- s("div", ga, [s("span", _a, O(k(i)("News.previousActual")) + ": ", 1), s("span", va, O(e.event.previous || "-"), 1)]),
10810
- s("div", ya, [s("span", ba, O(k(i)("News.currentForecast")) + ": ", 1), s("span", xa, O(e.event.forecast || "-"), 1)]),
10811
- s("div", Sa, [s("span", Ca, O(k(i)("News.previousForecast")) + ": ", 1), n[1] ||= s("span", { class: "iccandle-event-info-modal__value" }, "-", -1)])
10849
+ }, [u(St, { size: 20 })], 8, xa)]),
10850
+ s("div", null, [e.event.timestamp ? (x(), o("p", Sa, O(f(e.event.timestamp, k(c))), 1)) : a("", !0), s("div", Ca, [
10851
+ s("div", wa, [s("span", Ta, O(k(i)("Common.actual")) + ": ", 1), s("span", Ea, O(e.event.actual || "-"), 1)]),
10852
+ s("div", Da, [s("span", Oa, O(k(i)("News.previousActual")) + ": ", 1), s("span", ka, O(e.event.previous || "-"), 1)]),
10853
+ s("div", Aa, [s("span", ja, O(k(i)("News.currentForecast")) + ": ", 1), s("span", Ma, O(e.event.forecast || "-"), 1)]),
10854
+ s("div", Na, [s("span", Pa, O(k(i)("News.previousForecast")) + ": ", 1), n[1] ||= s("span", { class: "iccandle-event-info-modal__value" }, "-", -1)])
10812
10855
  ])]),
10813
- s("div", wa, [s("button", {
10856
+ s("div", Fa, [s("button", {
10814
10857
  type: "button",
10815
10858
  class: "iccandle-event-info-modal__btn iccandle-event-info-modal__btn--outline",
10816
10859
  onClick: p
@@ -10821,7 +10864,7 @@ var aa = ["aria-label"], oa = /* @__PURE__ */ d({
10821
10864
  }, O(k(i)("News.goToEventDetail")), 1)])
10822
10865
  ], 36)]));
10823
10866
  }
10824
- }), Ea = ["width", "height"], Da = ["stroke"], Oa = ["stroke"], ka = ["stroke"], Aa = /* @__PURE__ */ d({
10867
+ }), La = ["width", "height"], Ra = ["stroke"], za = ["stroke"], Ba = ["stroke"], Va = /* @__PURE__ */ d({
10825
10868
  __name: "AlertTriangleIcon",
10826
10869
  props: {
10827
10870
  size: { default: 24 },
@@ -10843,28 +10886,28 @@ var aa = ["aria-label"], oa = /* @__PURE__ */ d({
10843
10886
  "stroke-width": "2",
10844
10887
  "stroke-linecap": "round",
10845
10888
  "stroke-linejoin": "round"
10846
- }, null, 8, Da),
10889
+ }, null, 8, Ra),
10847
10890
  s("path", {
10848
10891
  d: "M12 9v4",
10849
10892
  stroke: e.color,
10850
10893
  "stroke-width": "2",
10851
10894
  "stroke-linecap": "round",
10852
10895
  "stroke-linejoin": "round"
10853
- }, null, 8, Oa),
10896
+ }, null, 8, za),
10854
10897
  s("path", {
10855
10898
  d: "M12 17h.01",
10856
10899
  stroke: e.color,
10857
10900
  "stroke-width": "2",
10858
10901
  "stroke-linecap": "round",
10859
10902
  "stroke-linejoin": "round"
10860
- }, null, 8, ka)
10861
- ], 10, Ea));
10903
+ }, null, 8, Ba)
10904
+ ], 10, La));
10862
10905
  }
10863
- }), ja = [
10906
+ }), Ha = [
10864
10907
  "width",
10865
10908
  "height",
10866
10909
  "stroke"
10867
- ], Ma = /* @__PURE__ */ d({
10910
+ ], Ua = /* @__PURE__ */ d({
10868
10911
  __name: "CheckCircleIcon",
10869
10912
  props: {
10870
10913
  size: { default: 20 },
@@ -10887,13 +10930,13 @@ var aa = ["aria-label"], oa = /* @__PURE__ */ d({
10887
10930
  cx: "12",
10888
10931
  cy: "12",
10889
10932
  r: "10"
10890
- }, null, -1), s("path", { d: "m9 12 2 2 4-4" }, null, -1)]], 10, ja));
10933
+ }, null, -1), s("path", { d: "m9 12 2 2 4-4" }, null, -1)]], 10, Ha));
10891
10934
  }
10892
- }), Na = [
10935
+ }), Wa = [
10893
10936
  "width",
10894
10937
  "height",
10895
10938
  "stroke"
10896
- ], Pa = /* @__PURE__ */ d({
10939
+ ], Ga = /* @__PURE__ */ d({
10897
10940
  __name: "AlertCircleIcon",
10898
10941
  props: {
10899
10942
  size: { default: 20 },
@@ -10930,40 +10973,40 @@ var aa = ["aria-label"], oa = /* @__PURE__ */ d({
10930
10973
  y1: "16",
10931
10974
  y2: "16"
10932
10975
  }, null, -1)
10933
- ]], 10, Na));
10976
+ ]], 10, Wa));
10934
10977
  }
10935
- }), Fa = {
10978
+ }), Ka = {
10936
10979
  class: "custom-toast",
10937
10980
  role: "alert"
10938
- }, Ia = { class: "custom-toast__icon-wrap" }, La = { class: "custom-toast__content" }, Ra = { class: "custom-toast__header" }, za = { class: "custom-toast__title" }, Ba = {
10981
+ }, qa = { class: "custom-toast__icon-wrap" }, Ja = { class: "custom-toast__content" }, Ya = { class: "custom-toast__header" }, Xa = { class: "custom-toast__title" }, Za = {
10939
10982
  key: 0,
10940
10983
  class: "custom-toast__description"
10941
- }, Va = {
10984
+ }, Qa = {
10942
10985
  key: 1,
10943
10986
  class: "custom-toast__actions"
10944
- }, Ha = /* @__PURE__ */ d({
10987
+ }, $a = /* @__PURE__ */ d({
10945
10988
  __name: "CustomToast",
10946
10989
  props: { toast: {} },
10947
10990
  setup(e) {
10948
10991
  let t = e, n = r(() => {
10949
10992
  switch (t.toast.variant) {
10950
- case "warning": return Aa;
10951
- case "success": return Ma;
10952
- case "error": return Pa;
10953
- default: return Zn;
10993
+ case "warning": return Va;
10994
+ case "success": return Ua;
10995
+ case "error": return Ga;
10996
+ default: return cr;
10954
10997
  }
10955
10998
  });
10956
10999
  function c() {
10957
- t.toast.action?.onClick(), pe(t.toast.id);
11000
+ t.toast.action?.onClick(), _e(t.toast.id);
10958
11001
  }
10959
11002
  function l() {
10960
11003
  let e = t.toast.dismiss;
10961
- e && typeof e == "object" && e.onClick?.(), pe(t.toast.id);
11004
+ e && typeof e == "object" && e.onClick?.(), _e(t.toast.id);
10962
11005
  }
10963
- return (t, r) => (x(), o("div", Fa, [s("div", Ia, [(x(), i(E(n.value), { class: "custom-toast__icon" }))]), s("div", La, [
10964
- s("div", Ra, [s("p", za, O(e.toast.title), 1)]),
10965
- e.toast.description ? (x(), o("p", Ba, O(e.toast.description), 1)) : a("", !0),
10966
- e.toast.action || e.toast.dismiss ? (x(), o("div", Va, [e.toast.action ? (x(), o("button", {
11006
+ return (t, r) => (x(), o("div", Ka, [s("div", qa, [(x(), i(E(n.value), { class: "custom-toast__icon" }))]), s("div", Ja, [
11007
+ s("div", Ya, [s("p", Xa, O(e.toast.title), 1)]),
11008
+ e.toast.description ? (x(), o("p", Za, O(e.toast.description), 1)) : a("", !0),
11009
+ e.toast.action || e.toast.dismiss ? (x(), o("div", Qa, [e.toast.action ? (x(), o("button", {
10967
11010
  key: 0,
10968
11011
  type: "button",
10969
11012
  class: "custom-toast__button custom-toast__button--action",
@@ -10976,7 +11019,7 @@ var aa = ["aria-label"], oa = /* @__PURE__ */ d({
10976
11019
  }, O(e.toast.dismiss.label ?? "Dismiss"), 1)) : a("", !0)])) : a("", !0)
10977
11020
  ])]));
10978
11021
  }
10979
- }), Ua = /*#__PURE__*/ ((e, t) => {
11022
+ }), eo = /*#__PURE__*/ ((e, t) => {
10980
11023
  let n = e.__vccOpts || e;
10981
11024
  for (let [e, r] of t) n[e] = r;
10982
11025
  return n;
@@ -10998,16 +11041,16 @@ var aa = ["aria-label"], oa = /* @__PURE__ */ d({
10998
11041
  tag: "div",
10999
11042
  class: "iccandle-toast-list"
11000
11043
  }, {
11001
- default: N(() => [(x(!0), o(e, null, T(k(fe), (e) => (x(), i(Ha, {
11044
+ default: N(() => [(x(!0), o(e, null, T(k(ge), (e) => (x(), i($a, {
11002
11045
  key: e.id,
11003
11046
  toast: e
11004
11047
  }, null, 8, ["toast"]))), 128))]),
11005
11048
  _: 1
11006
11049
  })], 6));
11007
11050
  }
11008
- }), [["__scopeId", "data-v-1549ae5b"]]), Wa = "#00dfb9";
11009
- function Ga(e) {
11010
- let t = e || Wa;
11051
+ }), [["__scopeId", "data-v-1549ae5b"]]), to = "#00dfb9";
11052
+ function no(e) {
11053
+ let t = e || to;
11011
11054
  return {
11012
11055
  shape: "date_range",
11013
11056
  overrides: {
@@ -11024,7 +11067,7 @@ function Ga(e) {
11024
11067
  }
11025
11068
  };
11026
11069
  }
11027
- var Ka = "\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n \n \n \n \n ", qa = {
11070
+ var ro = "\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n \n \n \n \n ", io = {
11028
11071
  symbol: "XAU_USD",
11029
11072
  interval: "60",
11030
11073
  library_path: "/charting_library/",
@@ -11034,7 +11077,7 @@ var Ka = "\n \n \n
11034
11077
  user_id: "public_user_id",
11035
11078
  fullscreen: !1,
11036
11079
  autosize: !0
11037
- }, Ja = {
11080
+ }, ao = {
11038
11081
  D: "1440",
11039
11082
  H4: "240",
11040
11083
  H2: "120",
@@ -11046,7 +11089,7 @@ var Ka = "\n \n \n
11046
11089
  };
11047
11090
  //#endregion
11048
11091
  //#region src/composables/use-selected-news-window-message.ts
11049
- function Ya(e, t) {
11092
+ function oo(e, t) {
11050
11093
  let n = async ({ origin: n, data: r }) => {
11051
11094
  if (n !== "https://embed-iccandle-app.iccandle.ai" || typeof r != "string") return;
11052
11095
  let i;
@@ -11088,19 +11131,19 @@ function Ya(e, t) {
11088
11131
  }
11089
11132
  //#endregion
11090
11133
  //#region src/lib/debounce.ts
11091
- function Xa(e, t, n = 1) {
11134
+ function so(e, t, n = 1) {
11092
11135
  if (t === 0 || !isFinite(t)) return n;
11093
11136
  let r = e / t;
11094
11137
  return isFinite(r) ? r : n;
11095
11138
  }
11096
- function Za(e) {
11139
+ function co(e) {
11097
11140
  if (e.length === 0) return 0;
11098
11141
  let t = [...e].sort((e, t) => e - t), n = Math.floor(t.length / 2);
11099
11142
  return t.length % 2 == 0 ? (t[n - 1] + t[n]) / 2 : t[n];
11100
11143
  }
11101
- function Qa(e, t, n = []) {
11144
+ function lo(e, t, n = []) {
11102
11145
  if (e.length === 0) return [];
11103
- let r = n.map((e) => Math.abs(e.c - e.o)), i = Za(e.map((e) => Math.abs(e.c - e.o))), a = Xa(Za(r), i), o = e[0].o, s = t.c;
11146
+ let r = n.map((e) => Math.abs(e.c - e.o)), i = co(e.map((e) => Math.abs(e.c - e.o))), a = so(co(r), i), o = e[0].o, s = t.c;
11104
11147
  return e.map((e) => {
11105
11148
  let t = (e.o - o) * a + s, n = (e.h - o) * a + s, r = (e.l - o) * a + s, i = (e.c - o) * a + s;
11106
11149
  return {
@@ -11113,7 +11156,7 @@ function Qa(e, t, n = []) {
11113
11156
  }
11114
11157
  //#endregion
11115
11158
  //#region src/lib/session-time.ts
11116
- var $a = "America/New_York", eo = 17, to = {
11159
+ var uo = "America/New_York", fo = 17, po = {
11117
11160
  Sun: 0,
11118
11161
  Mon: 1,
11119
11162
  Tue: 2,
@@ -11121,49 +11164,82 @@ var $a = "America/New_York", eo = 17, to = {
11121
11164
  Thu: 4,
11122
11165
  Fri: 5,
11123
11166
  Sat: 6
11124
- }, no = new Intl.DateTimeFormat("en-US", {
11125
- timeZone: $a,
11167
+ }, mo = new Intl.DateTimeFormat("en-US", {
11168
+ timeZone: uo,
11126
11169
  weekday: "short",
11127
11170
  hour: "numeric",
11128
11171
  minute: "numeric",
11129
11172
  hourCycle: "h23"
11130
- }), ro = (e) => {
11131
- let t = no.formatToParts(new Date(e)), n = t.find((e) => e.type === "weekday")?.value ?? "Sun", r = Number(t.find((e) => e.type === "hour")?.value), i = r === 24 ? 0 : r;
11173
+ }), ho = (e) => {
11174
+ let t = mo.formatToParts(new Date(e)), n = t.find((e) => e.type === "weekday")?.value ?? "Sun", r = Number(t.find((e) => e.type === "hour")?.value), i = r === 24 ? 0 : r;
11132
11175
  return {
11133
- day: to[n] ?? 0,
11176
+ day: po[n] ?? 0,
11134
11177
  hour: i
11135
11178
  };
11136
- }, io = (e) => {
11137
- let { day: t, hour: n } = ro(e);
11138
- return t === 6 ? !1 : t === 0 ? n >= eo : t !== 5 || n < eo;
11139
- }, ao = (e, t) => {
11179
+ }, go = (e) => {
11180
+ let { day: t, hour: n } = ho(e);
11181
+ return t === 6 ? !1 : t === 0 ? n >= fo : t !== 5 || n < fo;
11182
+ }, _o = (e, t) => {
11140
11183
  let n = e, r = Math.max(1, Math.ceil(11520 * 60 * 1e3 / t));
11141
- for (let e = 0; e < r && !io(n); e++) n += t;
11184
+ for (let e = 0; e < r && !go(n); e++) n += t;
11185
+ return n;
11186
+ }, vo = 1440 * 60 * 1e3, yo = 7 * vo, bo = (e) => e > 1e11 ? e : e * 1e3, xo = (e, t) => {
11187
+ let n = e + vo;
11188
+ for (; t && new Date(n).getUTCDay() % 6 == 0;) n += vo;
11189
+ return n;
11190
+ }, So = (e) => {
11191
+ let t = new Date(e), n = t.getUTCDate(), r = t.getUTCHours(), i = t.getUTCMinutes(), a = t.getUTCSeconds(), o = t.getUTCMilliseconds(), s = t.getUTCFullYear(), c = t.getUTCMonth() + 1, l = new Date(Date.UTC(s, c + 1, 0)).getUTCDate();
11192
+ return Date.UTC(s, c, Math.min(n, l), r, i, a, o);
11193
+ }, Co = (e, t) => {
11194
+ let n = [], r = bo(e);
11195
+ for (let e = 0; e < t; e++) r += yo, n.push(r);
11142
11196
  return n;
11143
- }, oo = (e, t, n) => {
11144
- let r = W(t) * 1e3, i = [], a = e;
11145
- for (let e = 0; e < n; e++) a += r, io(a) || (a = ao(a, r)), i.push(a);
11197
+ }, wo = (e, t) => {
11198
+ let n = [], r = bo(e);
11199
+ for (let e = 0; e < t; e++) r = So(r), n.push(r);
11200
+ return n;
11201
+ }, To = (e, t, n, r) => {
11202
+ let i = r !== "24x7", a = [], o = bo(e);
11203
+ for (let e = 0; e < n; e++) o = xo(o, i), a.push(o);
11204
+ return a;
11205
+ }, Eo = (e, t, n, r) => {
11206
+ let i = r !== "24x7", a = _t(t, n), o = 0, s = _t(e, n);
11207
+ for (; s < a;) s = xo(s, i), s <= a && o++;
11208
+ return o;
11209
+ }, Do = (e, t) => {
11210
+ let n = bo(t), r = 0, i = bo(e);
11211
+ for (; i < n;) i = So(i), i <= n && r++;
11212
+ return r;
11213
+ }, Oo = (e, t, n) => {
11214
+ let r = K(t) * 1e3, i = [], a = e;
11215
+ for (let e = 0; e < n; e++) a += r, go(a) || (a = _o(a, r)), i.push(a);
11146
11216
  return i;
11147
- }, so = (e, t, n, r) => {
11217
+ }, ko = (e, t, n, r) => {
11148
11218
  if (n <= 0) return [];
11219
+ if (dt(t)) return To(e, t, n, r);
11220
+ if (ft(t)) return Co(e, n);
11221
+ if (pt(t)) return wo(e, n);
11149
11222
  if (r === "24x7") {
11150
- let r = W(t) * 1e3;
11223
+ let r = K(t) * 1e3;
11151
11224
  return Array.from({ length: n }, (t, n) => e + (n + 1) * r);
11152
11225
  }
11153
- if (r === "1700-1700") return oo(e, t, n);
11154
- let i = W(t) * 1e3;
11226
+ if (r === "1700-1700") return Oo(e, t, n);
11227
+ let i = K(t) * 1e3;
11155
11228
  return Array.from({ length: n }, (t, n) => e + (n + 1) * i);
11156
- }, co = (e, t, n, r) => {
11229
+ }, Ao = (e, t, n, r) => {
11230
+ if (dt(n)) return Eo(e, t, n, r);
11231
+ if (ft(n)) return Math.max(0, Math.floor((bo(t) - bo(e)) / yo));
11232
+ if (pt(n)) return Do(e, t);
11157
11233
  if (r === "24x7") {
11158
- let r = W(n) * 1e3;
11234
+ let r = K(n) * 1e3;
11159
11235
  return Math.max(0, Math.floor((t - e) / r));
11160
11236
  }
11161
11237
  if (r === "1700-1700") {
11162
- let r = W(n) * 1e3, i = 0, a = e;
11163
- for (; a < t;) a += r, io(a) || (a = ao(a, r)), a <= t && i++;
11238
+ let r = K(n) * 1e3, i = 0, a = e;
11239
+ for (; a < t;) a += r, go(a) || (a = _o(a, r)), a <= t && i++;
11164
11240
  return i;
11165
11241
  }
11166
- let i = W(n) * 1e3;
11242
+ let i = K(n) * 1e3;
11167
11243
  return Math.max(0, Math.floor((t - e) / i));
11168
11244
  }, $ = C({
11169
11245
  activeTab: "patterns",
@@ -11190,89 +11266,92 @@ var $a = "America/New_York", eo = 17, to = {
11190
11266
  this.gapCount = e;
11191
11267
  }
11192
11268
  });
11193
- function lo() {
11269
+ function jo() {
11194
11270
  return $;
11195
11271
  }
11196
11272
  //#endregion
11197
11273
  //#region src/lib/play-chart.ts
11198
- var uo = null, fo = !1, po = !1, mo = 0, ho = !1;
11199
- function go(e) {
11200
- Number.isFinite(e) && e > mo && (mo = e);
11274
+ var Mo = null, No = !1, Po = !1, Fo = 0, Io = !1;
11275
+ function Lo(e) {
11276
+ Number.isFinite(e) && e > Fo && (Fo = e);
11277
+ }
11278
+ function Ro(e) {
11279
+ Number.isFinite(e) && e > 0 && (Fo = e);
11201
11280
  }
11202
- function _o() {
11203
- mo = 0;
11281
+ function zo() {
11282
+ Fo = 0;
11204
11283
  }
11205
- function vo() {
11206
- return ho;
11284
+ function Bo() {
11285
+ return Io;
11207
11286
  }
11208
- function yo() {
11209
- ho = !1;
11287
+ function Vo() {
11288
+ Io = !1;
11210
11289
  }
11211
- function bo(e) {
11290
+ function Ho(e) {
11212
11291
  return typeof e == "function" && typeof e.onReady != "function";
11213
11292
  }
11214
- function xo(e) {
11293
+ function Uo(e) {
11215
11294
  if (typeof e?.onReady != "function") throw 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).");
11216
11295
  }
11217
- function So(e) {
11218
- return uo = e, (t) => {
11219
- t?.time && go(t.time), !(!fo && po) && e(t);
11296
+ function Wo(e) {
11297
+ return Mo = e, (t) => {
11298
+ t?.time && Lo(t.time), !(!No && Po) && e(t);
11220
11299
  };
11221
11300
  }
11222
- function Co(e) {
11223
- xo(e);
11301
+ function Go(e) {
11302
+ Uo(e);
11224
11303
  let t = e.getBars?.bind(e), n = e.subscribeBars?.bind(e);
11225
11304
  return !n && !t ? e : Object.assign(Object.create(Object.getPrototypeOf(e)), e, {
11226
11305
  getBars(e, n, r, i, a) {
11227
11306
  if (t) return t(e, n, r, (e, t) => {
11228
11307
  let n = e?.[e.length - 1];
11229
- n?.time && go(n.time), i(e, t);
11308
+ n?.time && Lo(n.time), i(e, t);
11230
11309
  }, a);
11231
11310
  },
11232
11311
  subscribeBars(e, t, r, i, a) {
11233
- if (n) return n(e, t, So(r), i, a);
11312
+ if (n) return n(e, t, Wo(r), i, a);
11234
11313
  }
11235
11314
  });
11236
11315
  }
11237
- function wo(e, ...t) {
11238
- if (bo(e)) {
11239
- if (t.length > 0) return Co(e(...t));
11316
+ function Ko(e, ...t) {
11317
+ if (Ho(e)) {
11318
+ if (t.length > 0) return Go(e(...t));
11240
11319
  throw Error("withPlayChart: received a datafeed factory. Call it before passing to TradingView: withPlayChart(yourDataFeed(...)) or pass factory arguments: withPlayChart(yourDataFeed, arg1, arg2).");
11241
11320
  }
11242
- return Co(e);
11321
+ return Go(e);
11243
11322
  }
11244
- function To(e) {
11245
- po = e;
11323
+ function qo(e) {
11324
+ Po = e;
11246
11325
  }
11247
- function Eo(e) {
11248
- if (!uo) return !1;
11249
- if (mo > 0 && e.time < mo) return !0;
11250
- fo = !0;
11326
+ function Jo(e) {
11327
+ if (!Mo) return !1;
11328
+ if (Fo > 0 && e.time < Fo) return !0;
11329
+ No = !0;
11251
11330
  try {
11252
- go(e.time), ho = !0, uo(e);
11331
+ Lo(e.time), Io = !0, Mo(e);
11253
11332
  } finally {
11254
- fo = !1;
11333
+ No = !1;
11255
11334
  }
11256
11335
  return !0;
11257
11336
  }
11258
11337
  //#endregion
11259
11338
  //#region src/lib/highlight-bars-store.ts
11260
- var Do = [], Oo = (e) => {
11261
- Do = e;
11262
- }, ko = () => Do, Ao = (e) => e > 1e11 ? e : e * 1e3, jo = (e, t) => {
11263
- let n = Ao(e);
11264
- return t.find((e) => Ao(e.time) === n);
11265
- }, Mo = "Generated Candles - By iC Candle", No = "Generated Candles Background - By iC Candle", Po = "revealed_count", Fo = {
11266
- id: Po,
11339
+ var Yo = [], Xo = null, Zo = (e, t) => {
11340
+ Yo = e, Xo = t ?? null;
11341
+ }, Qo = () => Yo, $o = (e) => e > 1e11 ? e : e * 1e3, es = (e, t) => {
11342
+ let n = $o(e), r = t.find((e) => $o(e.time) === n);
11343
+ return r || !Xo || !mt(Xo) ? r : t.find((e) => gt($o(e.time), n, Xo));
11344
+ }, ts = "Generated Candles - By iC Candle", ns = "Generated Candles Background - By iC Candle", rs = "revealed_count", is = {
11345
+ id: rs,
11267
11346
  name: "Revealed Count",
11268
11347
  type: "integer",
11269
11348
  defval: 0,
11270
11349
  isHidden: !0,
11271
11350
  min: 0
11272
- }, Io = (e) => {
11351
+ }, as = (e) => {
11273
11352
  let t = Math.max(0, Number(e(0)) || 0);
11274
- return ko().slice(0, t);
11275
- }, Lo = (e, t) => !!jo(e, t), Ro = ({ id: e, description: t, shortDescription: n, isHiddenStudy: r, bodyColors: i, wickColors: a, borderColors: o }) => ({
11353
+ return Qo().slice(0, t);
11354
+ }, os = (e, t) => !!es(e, t), ss = ({ id: e, description: t, shortDescription: n, isHiddenStudy: r, bodyColors: i, wickColors: a, borderColors: o }) => ({
11276
11355
  _metainfoVersion: 51,
11277
11356
  id: e,
11278
11357
  description: t,
@@ -11285,7 +11364,7 @@ var Do = [], Oo = (e) => {
11285
11364
  type: "price",
11286
11365
  precision: 2
11287
11366
  },
11288
- inputs: [Fo],
11367
+ inputs: [is],
11289
11368
  palettes: {
11290
11369
  palette_bar: {
11291
11370
  colors: {
@@ -11413,9 +11492,9 @@ var Do = [], Oo = (e) => {
11413
11492
  } }
11414
11493
  },
11415
11494
  precision: 2,
11416
- inputs: { [Po]: 0 }
11495
+ inputs: { [rs]: 0 }
11417
11496
  }
11418
- }), zo = 0, Bo = (e = "light") => H[e], Vo = [
11497
+ }), cs = 0, ls = (e = "light") => re[e], us = [
11419
11498
  NaN,
11420
11499
  NaN,
11421
11500
  NaN,
@@ -11423,32 +11502,32 @@ var Do = [], Oo = (e) => {
11423
11502
  NaN,
11424
11503
  NaN,
11425
11504
  NaN
11426
- ], Ho = (e) => function() {
11505
+ ], ds = (e) => function() {
11427
11506
  this.init = function(e) {
11428
11507
  this._context = e;
11429
11508
  }, this.main = function(t, n) {
11430
11509
  this._context = t;
11431
- let r = t.symbol.time, i = Io(n);
11432
- return !Number.isFinite(r) || !i.length || !Lo(r, i) ? [...Vo] : e(t, i);
11510
+ let r = t.symbol.time, i = as(n);
11511
+ return !Number.isFinite(r) || !i.length || !os(r, i) ? [...us] : e(t, i);
11433
11512
  };
11434
- }, Uo = (e = "light") => {
11435
- let t = Bo(e), n = {
11436
- name: No,
11513
+ }, fs = (e = "light") => {
11514
+ let t = ls(e), n = {
11515
+ name: ns,
11437
11516
  metainfo: {
11438
11517
  _metainfoVersion: 51,
11439
11518
  id: "Generated Candles Background - By iC Candle@tv-basicstudies-1",
11440
- description: No,
11519
+ description: ns,
11441
11520
  shortDescription: "Generated Candles Background",
11442
11521
  isCustomIndicator: !0,
11443
11522
  is_hidden_study: !0,
11444
11523
  is_price_study: !0,
11445
11524
  linkedToSeries: !0,
11446
11525
  format: { type: "inherit" },
11447
- inputs: [Fo],
11526
+ inputs: [is],
11448
11527
  palettes: {
11449
11528
  prediction_bar_palette: {
11450
11529
  colors: { 0: { name: "Predicted Bar" } },
11451
- valToIndex: { [zo]: 0 }
11530
+ valToIndex: { [cs]: 0 }
11452
11531
  },
11453
11532
  prediction_mask_palette: {
11454
11533
  colors: { 0: { name: "Predicted Mask" } },
@@ -11526,7 +11605,7 @@ var Do = [], Oo = (e) => {
11526
11605
  style: 0
11527
11606
  } } }
11528
11607
  },
11529
- inputs: { [Po]: 0 }
11608
+ inputs: { [rs]: 0 }
11530
11609
  }
11531
11610
  },
11532
11611
  constructor: function() {
@@ -11534,8 +11613,8 @@ var Do = [], Oo = (e) => {
11534
11613
  this._context = e;
11535
11614
  }, this.main = function(e, t) {
11536
11615
  this._context = e;
11537
- let n = e.symbol.time, r = Io(t);
11538
- if (!Number.isFinite(n) || !Lo(n, r)) return [
11616
+ let n = e.symbol.time, r = as(t);
11617
+ if (!Number.isFinite(n) || !os(n, r)) return [
11539
11618
  NaN,
11540
11619
  NaN,
11541
11620
  NaN,
@@ -11547,7 +11626,7 @@ var Do = [], Oo = (e) => {
11547
11626
  ];
11548
11627
  let { open: i, high: a, low: o, close: s } = e.symbol, c = Math.max(a - o, Math.abs(s - i), Math.abs(s) * 1e-4, .01);
11549
11628
  return [
11550
- zo,
11629
+ cs,
11551
11630
  i,
11552
11631
  a + c,
11553
11632
  o - c,
@@ -11559,19 +11638,19 @@ var Do = [], Oo = (e) => {
11559
11638
  };
11560
11639
  }
11561
11640
  }, r = {
11562
- name: Mo,
11563
- metainfo: Ro({
11641
+ name: ts,
11642
+ metainfo: ss({
11564
11643
  id: "Generated Candles - By iC Candle@tv-basicstudies-1",
11565
- description: Mo,
11644
+ description: ts,
11566
11645
  shortDescription: "Generated Candles",
11567
11646
  isHiddenStudy: !1,
11568
11647
  bodyColors: ["#00dfb9", "#ffb84d"],
11569
11648
  wickColors: ["#00dfb9", "#ffb84d"],
11570
11649
  borderColors: ["#00dfb9", "#ffb84d"]
11571
11650
  }),
11572
- constructor: Ho((e, t) => {
11573
- let n = jo(e.symbol.time, t);
11574
- if (!n) return [...Vo];
11651
+ constructor: ds((e, t) => {
11652
+ let n = es(e.symbol.time, t);
11653
+ if (!n) return [...us];
11575
11654
  let r = +(n.close < n.open);
11576
11655
  return [
11577
11656
  n.open,
@@ -11585,35 +11664,35 @@ var Do = [], Oo = (e) => {
11585
11664
  })
11586
11665
  };
11587
11666
  return Promise.resolve([n, r]);
11588
- }, Wo = (e, t) => {
11667
+ }, ps = (e, t) => {
11589
11668
  if (t) try {
11590
11669
  e.removeEntity(t);
11591
11670
  } catch {}
11592
- }, Go = (e) => ({
11671
+ }, ms = (e) => ({
11593
11672
  "ohlcPlots.mask_candle.color": e,
11594
11673
  "ohlcPlots.mask_candle.borderColor": e,
11595
11674
  "ohlcPlots.mask_candle.wickColor": e,
11596
11675
  "palettes.prediction_bar_palette.colors.0.color": e,
11597
11676
  "palettes.prediction_mask_palette.colors.0.color": e
11598
- }), Ko = (e, t) => {
11677
+ }), hs = (e, t) => {
11599
11678
  try {
11600
11679
  e.getSeries().sendToBack();
11601
11680
  } catch {}
11602
11681
  let n = t.generatedCandlesStudyIdRef.current;
11603
11682
  n && e.bringToFront([n]);
11604
- }, qo = (e) => {
11683
+ }, gs = (e) => {
11605
11684
  try {
11606
11685
  e.getSeries().bringToFront();
11607
11686
  } catch {}
11608
- }, Jo = async (e, t, n) => {
11609
- Wo(e, t.generatedCandlesStudyIdRef.current), Wo(e, t.generatedCandlesBackgroundStudyIdRef.current), t.generatedCandlesStudyIdRef.current = null, t.generatedCandlesBackgroundStudyIdRef.current = null;
11610
- let r = await e.createStudy(No, !0, !0, void 0, Go(n));
11687
+ }, _s = async (e, t, n) => {
11688
+ ps(e, t.generatedCandlesStudyIdRef.current), ps(e, t.generatedCandlesBackgroundStudyIdRef.current), t.generatedCandlesStudyIdRef.current = null, t.generatedCandlesBackgroundStudyIdRef.current = null;
11689
+ let r = await e.createStudy(ns, !0, !0, void 0, ms(n));
11611
11690
  r && (t.generatedCandlesBackgroundStudyIdRef.current = r);
11612
- let i = await e.createStudy(Mo, !0, !0);
11613
- i && (t.generatedCandlesStudyIdRef.current = i), Ko(e, t);
11614
- }, Yo = (e, t, n) => {
11691
+ let i = await e.createStudy(ts, !0, !0);
11692
+ i && (t.generatedCandlesStudyIdRef.current = i), hs(e, t);
11693
+ }, vs = (e, t, n) => {
11615
11694
  let r = {
11616
- id: Po,
11695
+ id: rs,
11617
11696
  value: n
11618
11697
  };
11619
11698
  for (let n of [t.generatedCandlesBackgroundStudyIdRef, t.generatedCandlesStudyIdRef]) if (n.current) try {
@@ -11622,22 +11701,22 @@ var Do = [], Oo = (e) => {
11622
11701
  };
11623
11702
  //#endregion
11624
11703
  //#region src/composables/use-predict-candle.ts
11625
- function Xo(e, t, n, r, i, a) {
11704
+ function ys(e, t, n, r, i, a) {
11626
11705
  let o = t.highlightBarsRef, s = { current: i.value }, c = { current: null }, l = !1, u, d = () => {
11627
11706
  u &&= (clearInterval(u), void 0);
11628
11707
  }, f = (n) => {
11629
11708
  let r = e.value;
11630
11709
  if (r) try {
11631
- Yo(r.activeChart(), t, n);
11710
+ vs(r.activeChart(), t, n);
11632
11711
  } catch {}
11633
11712
  }, p = (t, r, a = []) => {
11634
11713
  let o = e.value, s = i.value, c = $.targetCandles;
11635
11714
  if (!(!o || !s?.length) && !(!t.length && !a.length) && c.length) try {
11636
- let e = o.activeChart(), i = U(n.value), s = ct(c[0].timestamp, n.value) / 1e3 - 100 * i, l;
11637
- if (r > 0 && t.length > 0) l = Ao(t[r - 1].time) / 1e3 + 100 / 3 * i;
11715
+ let e = o.activeChart(), i = G(n.value), s = _t(c[0].timestamp, n.value) / 1e3 - 100 * i, l;
11716
+ if (r > 0 && t.length > 0) l = $o(t[r - 1].time) / 1e3 + 100 / 3 * i;
11638
11717
  else {
11639
11718
  let e = t[t.length - 1] ?? a[a.length - 1];
11640
- l = (e ? Ao(e.time) : ct(c[c.length - 1].timestamp, n.value)) / 1e3 + 100 / 3 * i;
11719
+ l = (e ? $o(e.time) : _t(c[c.length - 1].timestamp, n.value)) / 1e3 + 100 / 3 * i;
11641
11720
  }
11642
11721
  e.setVisibleRange({
11643
11722
  from: s,
@@ -11663,7 +11742,7 @@ function Xo(e, t, n, r, i, a) {
11663
11742
  return;
11664
11743
  }
11665
11744
  let t = e[i];
11666
- if (t && Eo(t)) {
11745
+ if (t && Jo(t)) {
11667
11746
  i++, a = 0, n?.(i), i >= e.length && o();
11668
11747
  return;
11669
11748
  }
@@ -11675,14 +11754,14 @@ function Xo(e, t, n, r, i, a) {
11675
11754
  if (!(!n || !t.generatedCandlesStudyIdRef || !t.generatedCandlesBackgroundStudyIdRef)) {
11676
11755
  if (t.generatedCandlesStudyIdRef.current && t.generatedCandlesBackgroundStudyIdRef.current) try {
11677
11756
  let e = n.activeChart();
11678
- Yo(e, t, 0), Ko(e, t);
11757
+ vs(e, t, 0), hs(e, t);
11679
11758
  return;
11680
11759
  } catch {}
11681
11760
  try {
11682
11761
  await new Promise((e) => {
11683
11762
  n.onChartReady(async () => {
11684
11763
  try {
11685
- await Jo(n.activeChart(), t, a.value);
11764
+ await _s(n.activeChart(), t, a.value);
11686
11765
  } catch (e) {
11687
11766
  console.error("Failed to recreate generated candle studies:", e);
11688
11767
  }
@@ -11692,61 +11771,79 @@ function Xo(e, t, n, r, i, a) {
11692
11771
  } catch {}
11693
11772
  }
11694
11773
  }, g = (e) => {
11695
- l || (To(!1), c.current = i.value, o.current = e);
11696
- }, _ = async (n, r = []) => {
11697
- if (l || (To(!0), Oo(n), o.current = [], await h(), l)) return;
11698
- if (p(n, 0, r), r.length > 0) for (let e of r) {
11699
- if (l) return;
11700
- Eo(e);
11701
- }
11702
- if (await m(n, 100, (e) => {
11703
- f(e), o.current = n.slice(0, e);
11774
+ l || (qo(!1), c.current = i.value, o.current = e);
11775
+ }, _ = async (r, i = []) => {
11776
+ if (l || (qo(!0), Zo(r, n.value), o.current = [], await h(), l)) return;
11777
+ if (p(r, 0, i), i.length > 0) {
11778
+ let e = G(n.value) * 1e3;
11779
+ Ro(Math.max(0, i[0].time - e));
11780
+ for (let e of i) {
11781
+ if (l) return;
11782
+ Jo(e);
11783
+ }
11784
+ }
11785
+ if (await m(r, 100, (e) => {
11786
+ f(e), o.current = r.slice(0, e);
11704
11787
  }), l) return;
11705
- let i = e.value;
11706
- if (i) try {
11707
- Ko(i.activeChart(), t);
11788
+ let a = e.value;
11789
+ if (a) try {
11790
+ hs(a.activeChart(), t);
11708
11791
  } catch {}
11709
- g(n);
11792
+ g(r);
11710
11793
  }, y = () => {
11711
11794
  l = !1, d();
11712
11795
  let a = i.value, u = $.targetCandles, f = $.gapCount, p = e.value;
11713
11796
  if (a?.length && u.length > 0) {
11714
11797
  if (c.current === a) return;
11715
- let e = Qa([...a].slice(-50 - (f || 0)), u[u.length - 1], u), t = Z.find((e) => e.ticker === r.value || e.display_name === r.value)?.session || "24x7", i = u[u.length - 1], o = ct(i.timestamp, n.value);
11716
- $.playEndTimestamp != null && !f && (o = ct($.playEndTimestamp, n.value));
11717
- let s = i.c, l = so(o, n.value, f || 0, t), d = l.map((e) => ({
11718
- open: s,
11719
- high: s,
11720
- low: s,
11721
- close: s,
11722
- time: e
11723
- })), m = so(f ? l[l.length - 1] : o, n.value, e.length, t), h = [...e.map((e, t) => ({
11724
- open: e.o,
11725
- high: e.h,
11726
- low: e.l,
11727
- close: e.c,
11728
- time: ct(m[t], n.value)
11729
- }))].sort((e, t) => e.time - t.time);
11730
- try {
11731
- p?.onChartReady(() => {
11732
- _(h, d);
11733
- });
11734
- } catch {
11735
- _(h, d);
11736
- }
11798
+ (async () => {
11799
+ let e = mt(n.value) && f || 0, t = lo([...a].slice(-50 - e), u[u.length - 1], u), i = Z.find((e) => e.ticker === r.value || e.display_name === r.value)?.session || "24x7", o = u[u.length - 1], s = mt(n.value) ? o.timestamp > 1e11 ? o.timestamp : o.timestamp * 1e3 : _t(o.timestamp, n.value), c = o.c, d = ko(s, n.value, e, i), m = d.map((e) => ({
11800
+ open: c,
11801
+ high: c,
11802
+ low: c,
11803
+ close: c,
11804
+ time: e
11805
+ })), h = ko(e ? d[d.length - 1] : s, n.value, t.length, i);
11806
+ if (mt(n.value) && e === 0 && p) try {
11807
+ let { data: e } = await p.activeChart().exportData({ includedStudies: [] }), r = _t(s, n.value), a = [];
11808
+ for (let i of e ?? []) {
11809
+ let e = i[0] > 1e11 ? i[0] : i[0] * 1e3;
11810
+ if (_t(e, n.value) <= r) continue;
11811
+ let o = a[a.length - 1];
11812
+ if (!(o != null && gt(o, e, n.value)) && (a.push(e), a.length >= t.length)) break;
11813
+ }
11814
+ if (a.length > 0) {
11815
+ let e = ko(a[a.length - 1], n.value, t.length - a.length, i);
11816
+ h = [...a, ...e];
11817
+ }
11818
+ } catch {}
11819
+ let g = [...t.map((e, t) => ({
11820
+ open: e.o,
11821
+ high: e.h,
11822
+ low: e.l,
11823
+ close: e.c,
11824
+ time: mt(n.value) ? h[t] : _t(h[t], n.value)
11825
+ }))].sort((e, t) => e.time - t.time);
11826
+ if (!l) try {
11827
+ p?.onChartReady(() => {
11828
+ _(g, m);
11829
+ });
11830
+ } catch {
11831
+ _(g, m);
11832
+ }
11833
+ })();
11737
11834
  } else {
11738
- if (To(!1), Oo([]), c.current = null, o.current = [], p) try {
11739
- Yo(p.activeChart(), t, 0);
11835
+ if (qo(!1), Zo([]), c.current = null, o.current = [], p) try {
11836
+ vs(p.activeChart(), t, 0);
11740
11837
  } catch {}
11741
11838
  try {
11742
11839
  p?.onChartReady(() => {
11743
- p && qo(p.activeChart());
11840
+ p && gs(p.activeChart());
11744
11841
  });
11745
11842
  } catch {}
11746
11843
  }
11747
11844
  s.current = a;
11748
11845
  }, b = () => {
11749
- l = !0, d(), To(!1);
11846
+ l = !0, d(), qo(!1);
11750
11847
  };
11751
11848
  M([
11752
11849
  e,
@@ -11764,30 +11861,30 @@ function Xo(e, t, n, r, i, a) {
11764
11861
  deep: !0
11765
11862
  }), M(i, (n) => {
11766
11863
  if (!n?.length) {
11767
- Oo([]), o.current = [];
11864
+ Zo([]), o.current = [];
11768
11865
  let n = e.value;
11769
11866
  if (n) try {
11770
- Yo(n.activeChart(), t, 0);
11867
+ vs(n.activeChart(), t, 0);
11771
11868
  } catch {}
11772
11869
  }
11773
11870
  }), v(b);
11774
11871
  }
11775
11872
  //#endregion
11776
11873
  //#region src/composables/use-window-message.ts
11777
- var Zo = (e) => Number(lt(e)), Qo = (e) => ({
11874
+ var bs = (e) => Number(bt(e)), xs = (e, t) => ({
11778
11875
  o: e[1],
11779
11876
  h: e[2],
11780
11877
  l: e[3],
11781
11878
  c: e[4],
11782
- timestamp: Zo(e[0])
11783
- }), $o = (e) => Zo(e[0]), es = (e, t) => {
11879
+ timestamp: mt(t) ? e[0] > 1e11 ? e[0] : e[0] * 1e3 : bs(e[0])
11880
+ }), Ss = (e) => bs(e[0]), Cs = (e, t) => {
11784
11881
  let n = -1, r = -Infinity;
11785
11882
  for (let i = 0; i < e.length; i++) {
11786
- let a = $o(e[i]);
11883
+ let a = Ss(e[i]);
11787
11884
  a <= t && a >= r && (r = a, n = i);
11788
11885
  }
11789
11886
  return n;
11790
- }, ts = (e, t = 500) => new Promise((n) => {
11887
+ }, ws = (e, t = 500) => new Promise((n) => {
11791
11888
  let r = !1, i = () => {
11792
11889
  r || (r = !0, n());
11793
11890
  };
@@ -11795,7 +11892,7 @@ var Zo = (e) => Number(lt(e)), Qo = (e) => ({
11795
11892
  e.onDataLoaded().subscribe(null, i, !0);
11796
11893
  } catch {}
11797
11894
  setTimeout(i, t);
11798
- }), ns = (e, t, n) => t >= e && t - e < n, rs = (e, t) => {
11895
+ }), Ts = (e, t, n) => t >= e && t - e < n, Es = (e, t, n, r) => t > e && (!mt(r) || !Ts(e, t, n)), Ds = (e, t) => {
11799
11896
  if (t.current) {
11800
11897
  try {
11801
11898
  let n = e?.activeChart?.();
@@ -11805,7 +11902,7 @@ var Zo = (e) => Number(lt(e)), Qo = (e) => ({
11805
11902
  } catch {}
11806
11903
  t.current = null;
11807
11904
  }
11808
- }, is = (e) => {
11905
+ }, Os = (e) => {
11809
11906
  try {
11810
11907
  localStorage.removeItem(B);
11811
11908
  } catch {}
@@ -11814,25 +11911,25 @@ var Zo = (e) => Number(lt(e)), Qo = (e) => ({
11814
11911
  if (!t) return;
11815
11912
  t.clearMarks(2), t.refreshMarks();
11816
11913
  } catch {}
11817
- }, as = (e, t) => {
11914
+ }, ks = (e, t) => {
11818
11915
  try {
11819
11916
  localStorage.setItem(B, JSON.stringify(t));
11820
11917
  } catch {}
11821
11918
  try {
11822
11919
  (e?.activeChart?.())?.refreshMarks();
11823
11920
  } catch {}
11824
- }, os = async (e, t) => {
11921
+ }, As = async (e, t) => {
11825
11922
  if (!(!e || !Number.isFinite(t) || t <= 0)) try {
11826
11923
  await e.headerReady();
11827
- let n = e.activeChart(), r = Zo(t), i = n.getVisibleRange(), a;
11828
- a = i?.from != null && i?.to != null && i.to > i.from ? (i.to - i.from) / 2 : 100 * W(n.resolution()) / 2, await n.setVisibleRange({
11924
+ let n = e.activeChart(), r = bs(t), i = n.getVisibleRange(), a;
11925
+ a = i?.from != null && i?.to != null && i.to > i.from ? (i.to - i.from) / 2 : 100 * K(n.resolution()) / 2, await n.setVisibleRange({
11829
11926
  from: r - a,
11830
11927
  to: r + a
11831
- }), await ts(n);
11928
+ }), await ws(n);
11832
11929
  } catch (e) {
11833
11930
  console.error("Error centering visible range on event", e);
11834
11931
  }
11835
- }, ss = async (e, t, n) => {
11932
+ }, js = async (e, t, n) => {
11836
11933
  if (!e || !Number.isFinite(t) || t <= 0) return;
11837
11934
  await e?.headerReady();
11838
11935
  let r = e?.activeChart?.();
@@ -11844,11 +11941,11 @@ var Zo = (e) => Number(lt(e)), Qo = (e) => ({
11844
11941
  n.current = null;
11845
11942
  }
11846
11943
  try {
11847
- let e = W(r.resolution()), i = Zo(t), { data: a } = await r.exportData({
11944
+ let e = r.resolution(), i = K(e), a = bs(t), { data: o } = await r.exportData({
11848
11945
  includedStudies: [],
11849
- from: i - 5 * e,
11850
- to: i + e
11851
- }), o = a ?? [], s = es(o, i), c = i - i % e, l = s >= 0 && ns($o(o[s]), i, e) ? $o(o[s]) : c, u = await r.createShape({ time: l }, {
11946
+ from: a - 5 * i,
11947
+ to: a + i
11948
+ }), s = o ?? [], c = Cs(s, a), l = a - a % i, u = vt(c >= 0 && Ts(Ss(s[c]), a, i) ? Ss(s[c]) : l, e), d = await r.createShape({ time: u }, {
11852
11949
  shape: "vertical_line",
11853
11950
  lock: !0,
11854
11951
  disableSelection: !0,
@@ -11857,27 +11954,27 @@ var Zo = (e) => Number(lt(e)), Qo = (e) => ({
11857
11954
  linewidth: 1
11858
11955
  }
11859
11956
  });
11860
- u && (r.getShapeById(u)?.setSavingEnabled(!1), n.current = u);
11957
+ d && (r.getShapeById(d)?.setSavingEnabled(!1), n.current = d);
11861
11958
  } catch {}
11862
11959
  } catch {}
11863
- }, cs = async (e, t) => {
11960
+ }, Ms = async (e, t) => {
11864
11961
  if (!(!e || !Number.isFinite(t) || t <= 0)) try {
11865
11962
  await e.headerReady();
11866
- let n = e.activeChart(), r = W(n.resolution()), { data: i } = await n.exportData();
11963
+ let n = e.activeChart(), r = K(n.resolution()), { data: i } = await n.exportData();
11867
11964
  if (!i?.length) return;
11868
- let a = $o(i[i.length - 1]), o = Zo(t);
11965
+ let a = Ss(i[i.length - 1]), o = bs(t);
11869
11966
  await n.setVisibleRange({
11870
11967
  from: a - 100 * r,
11871
11968
  to: o + 100 / 3 * r
11872
- }), await ts(n);
11969
+ }), await ws(n);
11873
11970
  } catch (e) {
11874
11971
  console.error("Error expanding visible range for future event", e);
11875
11972
  }
11876
- }, ls = async (e, t, n) => {
11973
+ }, Ns = async (e, t, n) => {
11877
11974
  if (!e || !n || !Number.isFinite(t) || t <= 0) return !1;
11878
11975
  try {
11879
11976
  await e.headerReady();
11880
- let r = e.activeChart(), i = r.resolution(), a = W(i), o = Zo(t), s = async (e, t) => {
11977
+ let r = e.activeChart(), i = r.resolution(), a = K(i), o = bs(t), s = async (e, t) => {
11881
11978
  let { data: n } = await r.exportData({
11882
11979
  includedStudies: [],
11883
11980
  ...e != null && t != null ? {
@@ -11888,43 +11985,45 @@ var Zo = (e) => Number(lt(e)), Qo = (e) => ({
11888
11985
  return n ?? [];
11889
11986
  }, c = await s();
11890
11987
  if (!c.length) return !1;
11891
- let l = o > $o(c[c.length - 1]), u = r.symbol(), d = Z.find((e) => e.ticker === u || e.display_name === u)?.session || "24x7";
11988
+ let l = Es(Ss(c[c.length - 1]), o, a, i), u = r.symbol(), d = Z.find((e) => e.ticker === u || e.display_name === u)?.session || "24x7";
11892
11989
  n.clearSelectedCandles();
11893
11990
  let f = $.playEndTimestamp;
11894
- $.setPlayEndTimestamp(null), To(!1);
11991
+ $.setPlayEndTimestamp(null), qo(!1);
11895
11992
  let p = () => {
11896
11993
  f != null && Number.isFinite(f) && $.setPlayEndTimestamp(f);
11897
11994
  };
11898
- l ? await cs(e, t) : await os(e, t);
11995
+ l ? await Ms(e, t) : await As(e, t);
11899
11996
  let m = async () => {
11900
11997
  let e = await s(o - 250 * a, o + 100 / 3 * a);
11901
11998
  return e.length ? e : s();
11902
11999
  };
11903
12000
  if (c = await m(), !c.length) return p(), !1;
11904
12001
  let h = (e) => {
11905
- let t = es(e, o);
11906
- return t < 0 || !ns($o(e[t]), o, a) ? -1 : t;
11907
- }, g = $o(c[c.length - 1]), _ = o > g, v = _ ? -1 : h(c);
12002
+ let t = Cs(e, o);
12003
+ return t < 0 ? -1 : mt(i) && t + 1 < e.length ? o < Ss(e[t + 1]) ? t : -1 : Ts(Ss(e[t]), o, a) ? t : -1;
12004
+ }, g = Ss(c[c.length - 1]), _ = Es(g, o, a, i), v = _ ? -1 : h(c);
11908
12005
  if (!_ && v < 0) {
11909
- if (await ts(r), c = await m(), !c.length) return p(), !1;
11910
- g = $o(c[c.length - 1]), _ = o > g, v = _ ? -1 : h(c);
12006
+ if (await ws(r), c = await m(), !c.length) return p(), !1;
12007
+ g = Ss(c[c.length - 1]), _ = Es(g, o, a, i), v = _ ? -1 : h(c);
11911
12008
  }
11912
12009
  if (_) {
11913
- let e = o - o % a, t = co(ct(g, i), ct(e, i), i, d);
11914
- $.setGapCount(t), $.setPlayEndTimestamp(e);
11915
- let r = c.slice(-50).map(Qo);
11916
- return r.length === 0 || n.setTargetCandles(r), !0;
12010
+ let e = o - o % a, r = Ao(_t(g, i), _t(e, i), i, d);
12011
+ $.setGapCount(mt(i) ? Math.max(0, r - 1) : r), $.setPlayEndTimestamp(mt(i) ? t : e);
12012
+ let s = c.slice(-50).map((e) => xs(e, i));
12013
+ return s.length === 0 || n.setTargetCandles(s), !0;
11917
12014
  }
11918
12015
  if ($.setGapCount(0), v < 0) return p(), !1;
11919
- $.setPlayEndTimestamp($o(c[v]));
11920
- let y = c.slice(Math.max(0, v - 49), v + 1).map(Qo);
11921
- return y.length === 0 ? (p(), !1) : (n.setTargetCandles(y), !1);
12016
+ let y = mt(i) ? v - 1 : v;
12017
+ if (y < 0) return p(), !1;
12018
+ $.setPlayEndTimestamp(Ss(c[y]));
12019
+ let b = c.slice(Math.max(0, y - 49), y + 1).map((e) => xs(e, i));
12020
+ return b.length === 0 ? (p(), !1) : (n.setTargetCandles(b), !1);
11922
12021
  } catch (e) {
11923
12022
  return console.error("Error preparing event target candles", e), !1;
11924
12023
  }
11925
- }, us = (e) => {
11926
- if (!e || !vo()) {
11927
- yo();
12024
+ }, Ps = (e) => {
12025
+ if (!e || !Bo()) {
12026
+ Vo();
11928
12027
  return;
11929
12028
  }
11930
12029
  try {
@@ -11935,13 +12034,13 @@ var Zo = (e) => Number(lt(e)), Qo = (e) => ({
11935
12034
  n = e?.from, r = e?.to;
11936
12035
  } catch {}
11937
12036
  try {
11938
- t.resetData(), e.resetCache?.(), _o();
12037
+ t.resetData(), e.resetCache?.(), zo();
11939
12038
  } catch (e) {
11940
12039
  console.error("Error resetting chart data", e);
11941
12040
  } finally {
11942
- yo();
12041
+ Vo();
11943
12042
  }
11944
- n != null && r != null && Number.isFinite(n) && Number.isFinite(r) && n < r && ts(t, 800).then(() => {
12043
+ n != null && r != null && Number.isFinite(n) && Number.isFinite(r) && n < r && ws(t, 800).then(() => {
11945
12044
  t.setVisibleRange({
11946
12045
  from: n,
11947
12046
  to: r
@@ -11949,11 +12048,11 @@ var Zo = (e) => Number(lt(e)), Qo = (e) => ({
11949
12048
  });
11950
12049
  });
11951
12050
  } catch {
11952
- yo();
12051
+ Vo();
11953
12052
  }
11954
- }, ds = (e, t, n) => {
11955
- t([]), n?.preserveStartAnchor || ($.setPlayEndTimestamp(null), $.setGapCount(0)), To(!1), us(e);
11956
- }, fs = (e, t) => {
12053
+ }, Fs = (e, t, n) => {
12054
+ t([]), n?.preserveStartAnchor || ($.setPlayEndTimestamp(null), $.setGapCount(0)), qo(!1), Ps(e);
12055
+ }, Is = (e, t) => {
11957
12056
  if (e) try {
11958
12057
  let n = e.activeChart?.();
11959
12058
  if (!n) return;
@@ -11969,23 +12068,23 @@ var Zo = (e) => Number(lt(e)), Qo = (e) => ({
11969
12068
  } catch {}
11970
12069
  });
11971
12070
  } catch {}
11972
- }, ps = (e) => Ja[e] || e, ms = (e) => {
12071
+ }, Ls = (e) => ao[e] || e, Rs = (e) => {
11973
12072
  if (!e) return null;
11974
12073
  let t = Object.keys(e)[0], n = Number(t);
11975
12074
  return Number.isFinite(n) && n > 0 ? n : null;
11976
- }, hs = async (e, t, n, r, i, a) => {
12075
+ }, zs = async (e, t, n, r, i, a) => {
11977
12076
  if (!e) return;
11978
- let { end_timestamp: o, symbol: s, timeframe: c } = t, l = ms(i), u = ps(c);
12077
+ let { end_timestamp: o, symbol: s, timeframe: c } = t, l = Rs(i), u = Ls(c);
11979
12078
  if (!(!s || !c || !Number.isFinite(o) || o <= 0 || l == null) && !(a && a.length > 0 && !a.includes(u) && !a.includes(c))) try {
11980
12079
  await e.headerReady();
11981
- let i = W(u);
11982
- r?.clearSelectedCandles(), $.setPlayEndTimestamp(null), $.setGapCount(0), To(!1), r && (r.applyingPatternRef.current = !0);
12080
+ let i = K(u);
12081
+ r?.clearSelectedCandles(), $.setPlayEndTimestamp(null), $.setGapCount(0), qo(!1), r && (r.applyingPatternRef.current = !0);
11983
12082
  try {
11984
12083
  await new Promise((t) => {
11985
12084
  e.setSymbol(s, u, () => t());
11986
12085
  });
11987
12086
  let a = e.activeChart();
11988
- fs(e, n);
12087
+ Is(e, n);
11989
12088
  let c = o - (l - 1) * i;
11990
12089
  try {
11991
12090
  await a.setVisibleRange({
@@ -11997,7 +12096,7 @@ var Zo = (e) => Number(lt(e)), Qo = (e) => ({
11997
12096
  }
11998
12097
  let { data: d } = await a.exportData(), f = d.findIndex((e) => e[0] === o);
11999
12098
  f === -1 && (f = d.length - 1);
12000
- let p = Math.max(0, f - l + 1), m = d.slice(p, f + 1), h = m[0]?.[0] ?? o, g = m[m.length - 1]?.[0] ?? o, _ = t.pattern?.trim() || "", v = Ga(), y = await a.createMultipointShape([{ time: h }, { time: g }], {
12099
+ let p = Math.max(0, f - l + 1), m = d.slice(p, f + 1), h = m[0]?.[0] ?? o, g = m[m.length - 1]?.[0] ?? o, _ = t.pattern?.trim() || "", v = no(), y = await a.createMultipointShape([{ time: h }, { time: g }], {
12001
12100
  ...v,
12002
12101
  overrides: {
12003
12102
  ...v.overrides,
@@ -12015,7 +12114,7 @@ var Zo = (e) => Number(lt(e)), Qo = (e) => ({
12015
12114
  } }), e.setSavingEnabled(!1)), n.current = y, r && (r.lastEntity.current = y);
12016
12115
  }
12017
12116
  if (r && m.length > 0) {
12018
- let e = m.map(Qo), t = e.slice(-50);
12117
+ let e = m.map((e) => xs(e, u)), t = e.slice(-50);
12019
12118
  r.setSymbol(s), r.setResolution(u), r.setTimeframe(u), r.setWindowSize(e.length), r.setCandles(e), r.setTargetCandles(t), r.setHasActiveShape(!0);
12020
12119
  }
12021
12120
  } finally {
@@ -12029,7 +12128,7 @@ var Zo = (e) => Number(lt(e)), Qo = (e) => ({
12029
12128
  }, 600);
12030
12129
  }
12031
12130
  };
12032
- function gs(e, t, n, r, i, a, o, s, c) {
12131
+ function Bs(e, t, n, r, i, a, o, s, c) {
12033
12132
  let l = { current: n.value }, u = { current: e.value }, d = { current: t }, f = { current: r }, p = { current: i }, m = { current: a }, h = { current: o }, g = { current: typeof s == "function" ? s() : s }, _ = { current: c }, y = { current: null }, b = { current: null }, x = { current: null }, S = { current: null };
12034
12133
  M(n, (e) => {
12035
12134
  l.current = e;
@@ -12052,7 +12151,7 @@ function gs(e, t, n, r, i, a, o, s, c) {
12052
12151
  }
12053
12152
  if (!n || typeof n != "object") return;
12054
12153
  let r = () => {
12055
- fs(u.current, b);
12154
+ Is(u.current, b);
12056
12155
  let e = m.current;
12057
12156
  e && (e.lastEntity.current = null, e.setHasActiveShape(!1), e.setCandles([]), e.setTargetCandles([]));
12058
12157
  }, i = n.name;
@@ -12078,9 +12177,9 @@ function gs(e, t, n, r, i, a, o, s, c) {
12078
12177
  } catch {
12079
12178
  n = null;
12080
12179
  }
12081
- let r = e.playEndTimestamp != null && Number.isFinite(e.playEndTimestamp) ? Zo(e.playEndTimestamp) : null;
12082
- ($.playEndTimestamp == null || $.targetCandles.length === 0) && n != null && await ls(u.current, n, m.current);
12083
- let i = $.playEndTimestamp ?? r ?? S.current ?? (n == null ? l.current : Zo(n));
12180
+ let r = e.playEndTimestamp != null && Number.isFinite(e.playEndTimestamp) ? bs(e.playEndTimestamp) : null;
12181
+ ($.playEndTimestamp == null || $.targetCandles.length === 0) && n != null && await Ns(u.current, n, m.current);
12182
+ let i = $.playEndTimestamp ?? r ?? S.current ?? (n == null ? l.current : bs(n));
12084
12183
  i != null && Number.isFinite(i) && (S.current = i, $.setPlayEndTimestamp(i)), d.current(t);
12085
12184
  })();
12086
12185
  return;
@@ -12095,13 +12194,13 @@ function gs(e, t, n, r, i, a, o, s, c) {
12095
12194
  case "chart.stop":
12096
12195
  if (a?.isReplay === !1) {
12097
12196
  let e = $.playEndTimestamp;
12098
- e != null && Number.isFinite(e) && (S.current = e), d.current([]), To(!1), us(u.current);
12197
+ e != null && Number.isFinite(e) && (S.current = e), d.current([]), qo(!1), Ps(u.current);
12099
12198
  break;
12100
12199
  }
12101
- d.current(null), S.current = null, $.setPlayEndTimestamp(null), $.setGapCount(0), To(!1), us(u.current);
12200
+ d.current(null), S.current = null, $.setPlayEndTimestamp(null), $.setGapCount(0), qo(!1), Ps(u.current);
12102
12201
  break;
12103
12202
  case "selector.closeResult":
12104
- ds(u.current, d.current), p.current?.();
12203
+ Fs(u.current, d.current), p.current?.();
12105
12204
  break;
12106
12205
  case "selector.loading": {
12107
12206
  let e = a;
@@ -12110,37 +12209,37 @@ function gs(e, t, n, r, i, a, o, s, c) {
12110
12209
  }
12111
12210
  case "auth.signIn": {
12112
12211
  let e = a;
12113
- localStorage.setItem("iccandle_token", e?.idToken || "");
12212
+ localStorage.setItem(H, e?.idToken || "");
12114
12213
  break;
12115
12214
  }
12116
12215
  case "auth.signOut":
12117
- localStorage.removeItem("iccandle_token");
12216
+ localStorage.removeItem(H);
12118
12217
  break;
12119
12218
  case "news.eventClicked": {
12120
12219
  let e = a?.event;
12121
12220
  if (!e?.timestamp) return;
12122
- x.current = e.timestamp, as(u.current, e), (async () => {
12123
- await ls(u.current, e.timestamp, m.current), await ss(u.current, e.timestamp, y);
12221
+ x.current = e.timestamp, ks(u.current, e), (async () => {
12222
+ await Ns(u.current, e.timestamp, m.current), await js(u.current, e.timestamp, y);
12124
12223
  })();
12125
12224
  break;
12126
12225
  }
12127
12226
  case "news.back":
12128
- rs(u.current, y), is(u.current), ds(u.current, d.current), x.current = null, S.current = null, $.setGapCount(0), m.current?.setTargetCandles([]);
12227
+ Ds(u.current, y), Os(u.current), Fs(u.current, d.current), x.current = null, S.current = null, $.setGapCount(0), m.current?.setTargetCandles([]);
12129
12228
  break;
12130
12229
  case "news.backToSimilarEvents":
12131
- ds(u.current, d.current);
12230
+ Fs(u.current, d.current);
12132
12231
  break;
12133
12232
  case "pattern.classicPatternSelected": {
12134
12233
  let e = n.data?.pattern, t = e?.compared_pattern;
12135
12234
  if (!t) return;
12136
- hs(u.current, t, b, m.current, e?.results?.matches_by_window, g.current);
12235
+ zs(u.current, t, b, m.current, e?.results?.matches_by_window, g.current);
12137
12236
  break;
12138
12237
  }
12139
12238
  case "pattern.custom_pattern_selected":
12140
12239
  case "patter.custom_pattern_selected": {
12141
12240
  let e = a?.pattern, t = e?.compared_pattern;
12142
12241
  if (!t) return;
12143
- hs(u.current, t, b, m.current, e?.results?.matches_by_window, g.current);
12242
+ zs(u.current, t, b, m.current, e?.results?.matches_by_window, g.current);
12144
12243
  break;
12145
12244
  }
12146
12245
  case "pattern.clear_custom_pattern_selected":
@@ -12164,76 +12263,76 @@ function gs(e, t, n, r, i, a, o, s, c) {
12164
12263
  }
12165
12264
  //#endregion
12166
12265
  //#region src/lib/post-chart-resolution.ts
12167
- var _s = "chart-resolution";
12168
- function vs(e) {
12266
+ var Vs = "chart-resolution";
12267
+ function Hs(e) {
12169
12268
  return {
12170
- type: _s,
12269
+ type: Vs,
12171
12270
  resolution: e
12172
12271
  };
12173
12272
  }
12174
- function ys(e, t) {
12175
- let n = JSON.stringify(vs(t));
12273
+ function Us(e, t) {
12274
+ let n = JSON.stringify(Hs(t));
12176
12275
  e.postMessage(n, "*");
12177
12276
  }
12178
- function bs(e, t, n = 0) {
12277
+ function Ws(e, t, n = 0) {
12179
12278
  !e || n > 4 || e.querySelectorAll("iframe").forEach((e) => {
12180
12279
  let r = e.contentWindow;
12181
12280
  if (!(!r || t.has(r))) {
12182
12281
  t.add(r);
12183
12282
  try {
12184
- bs(e.contentDocument, t, n + 1);
12283
+ Ws(e.contentDocument, t, n + 1);
12185
12284
  } catch {}
12186
12285
  }
12187
12286
  });
12188
12287
  }
12189
- function xs(e, t) {
12288
+ function Gs(e, t) {
12190
12289
  if (!t) return !1;
12191
12290
  let n = /* @__PURE__ */ new Set();
12192
- return e?.contentWindow && n.add(e.contentWindow), typeof document < "u" && bs(document, n), n.forEach((e) => ys(e, t)), n.size > 0;
12291
+ return e?.contentWindow && n.add(e.contentWindow), typeof document < "u" && Ws(document, n), n.forEach((e) => Us(e, t)), n.size > 0;
12193
12292
  }
12194
12293
  //#endregion
12195
12294
  //#region src/lib/post-selector-loading.ts
12196
- var Ss = "selector-loading";
12197
- function Cs(e) {
12295
+ var Ks = "selector-loading";
12296
+ function qs(e) {
12198
12297
  return {
12199
- type: Ss,
12298
+ type: Ks,
12200
12299
  isLoading: e
12201
12300
  };
12202
12301
  }
12203
- function ws(e, t) {
12302
+ function Js(e, t) {
12204
12303
  let n = e?.contentWindow;
12205
12304
  if (!n) return !1;
12206
12305
  let r = "*";
12207
12306
  try {
12208
12307
  e?.src && (r = new URL(e.src).origin);
12209
12308
  } catch {}
12210
- return n.postMessage(JSON.stringify(Cs(t)), r), !0;
12309
+ return n.postMessage(JSON.stringify(qs(t)), r), !0;
12211
12310
  }
12212
12311
  //#endregion
12213
12312
  //#region src/lib/post-parent-message.ts
12214
- var Ts = "open-pricing";
12215
- function Es(e) {
12313
+ var Ys = "open-pricing";
12314
+ function Xs(e) {
12216
12315
  return {
12217
- type: Ts,
12316
+ type: Ys,
12218
12317
  ...e
12219
12318
  };
12220
12319
  }
12221
- function Ds(e, t) {
12222
- e.postMessage(JSON.stringify(Es(t)), "*");
12320
+ function Zs(e, t) {
12321
+ e.postMessage(JSON.stringify(Xs(t)), "*");
12223
12322
  }
12224
- function Os(e, t) {
12323
+ function Qs(e, t) {
12225
12324
  let n = e?.contentWindow;
12226
- return n ? (Ds(n, t), !0) : !1;
12325
+ return n ? (Zs(n, t), !0) : !1;
12227
12326
  }
12228
- function ks(e) {
12229
- return typeof window > "u" || window.parent === window ? !1 : (Ds(window.parent, e), !0);
12327
+ function $s(e) {
12328
+ return typeof window > "u" || window.parent === window ? !1 : (Zs(window.parent, e), !0);
12230
12329
  }
12231
12330
  //#endregion
12232
12331
  //#region src/tradingview/WidgetIccandle.vue?vue&type=script&setup=true&lang.ts
12233
- var As = ["lang"], js = {
12332
+ var ec = ["lang"], tc = {
12234
12333
  key: 3,
12235
12334
  class: "iccandle-selector-widget__overlay"
12236
- }, Ms = /* @__PURE__ */ d({
12335
+ }, nc = /* @__PURE__ */ d({
12237
12336
  __name: "WidgetIccandle",
12238
12337
  props: {
12239
12338
  chartWidget: {},
@@ -12286,22 +12385,22 @@ var As = ["lang"], js = {
12286
12385
  function c(e) {
12287
12386
  return !(!e?.event_name || !e.currency || e.event_name === "Holiday" || e.status === "early");
12288
12387
  }
12289
- let l = e, d = r(() => re(l.language));
12290
- ce(d);
12388
+ let l = e, d = r(() => ae(l.language));
12389
+ fe(d);
12291
12390
  let f = {
12292
12391
  highlightBarsRef: { current: [] },
12293
12392
  generatedCandlesBackgroundStudyIdRef: { current: null },
12294
12393
  generatedCandlesStudyIdRef: { current: null }
12295
12394
  };
12296
12395
  t({ chartRefs: f });
12297
- let p = { current: null }, m = { current: null }, h = { current: !1 }, S = w(null), C = { current: [] }, T = w(null), E = lo(), O = w(!1), k = w(null), A = w(!1), j = w(null), N = w(null), te = () => T.value && getComputedStyle(T.value).getPropertyValue("--iccandle-primary").trim() || void 0, P = { current: te };
12396
+ let p = { current: null }, m = { current: null }, h = { current: !1 }, S = w(null), C = { current: [] }, T = w(null), E = jo(), O = w(!1), k = w(null), A = w(!1), j = w(null), N = w(null), te = () => T.value && getComputedStyle(T.value).getPropertyValue("--iccandle-primary").trim() || void 0, P = { current: te };
12298
12397
  M(T, () => {
12299
12398
  P.current = te;
12300
12399
  }, { immediate: !0 });
12301
12400
  let F = r(() => l.theme === "system" ? window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light" : l.theme), I = r(() => ({
12302
- light: l.chartMaskColors?.light ?? H.light,
12303
- dark: l.chartMaskColors?.dark ?? H.dark
12304
- })[F.value]), ne = r(() => ({ zIndex: 9999999999 })), L = w(!1), R = w(!1), U = w(!1), W = w(25), G = w([]), K = w(null), ie = w(!1), ae = w("60"), q = w(qa.interval || "60"), J = w(""), Y = () => {
12401
+ light: l.chartMaskColors?.light ?? re.light,
12402
+ dark: l.chartMaskColors?.dark ?? re.dark
12403
+ })[F.value]), ne = r(() => ({ zIndex: 9999999999 })), L = w(!1), R = w(!1), H = w(!1), U = w(25), W = w([]), ie = w(null), G = w(!1), K = w("60"), q = w(io.interval || "60"), J = w(""), Y = () => {
12305
12404
  try {
12306
12405
  let e = l.chartWidget?.activeChart?.();
12307
12406
  if (e) {
@@ -12318,44 +12417,44 @@ var As = ["lang"], js = {
12318
12417
  });
12319
12418
  }
12320
12419
  } catch {}
12321
- U.value = !1, G.value = [], E.setTargetCandles([]);
12420
+ H.value = !1, W.value = [], E.setTargetCandles([]);
12322
12421
  }, oe = (e) => {
12323
12422
  let t = e;
12324
12423
  try {
12325
12424
  t = new URL(e, `${z}/`).pathname;
12326
12425
  } catch {}
12327
- t.includes("/news") && Y(), k.value?.length && (E.setPlayEndTimestamp(null), E.setGapCount(0), k.value = null, To(!1));
12426
+ t.includes("/news") && Y(), k.value?.length && (E.setPlayEndTimestamp(null), E.setGapCount(0), k.value = null, qo(!1));
12328
12427
  }, se = () => {
12329
12428
  R.value = !0;
12330
- }, X = () => {
12429
+ }, ce = () => {
12331
12430
  R.value = !1;
12332
12431
  }, le = () => {
12333
- E.setPlayEndTimestamp(null), E.setGapCount(0), k.value = null, To(!1), S.value?.();
12432
+ E.setPlayEndTimestamp(null), E.setGapCount(0), k.value = null, qo(!1), S.value?.();
12334
12433
  }, ue = () => {
12335
- K.value = "settings";
12434
+ ie.value = "settings";
12336
12435
  }, de = () => {
12337
- K.value = "scan";
12338
- }, fe = () => {
12339
- K.value = null;
12436
+ ie.value = "scan";
12437
+ }, X = () => {
12438
+ ie.value = null;
12340
12439
  }, pe = () => {
12341
- ie.value = !1;
12440
+ G.value = !1;
12342
12441
  }, me = () => {
12343
- ie.value = !0;
12442
+ G.value = !0;
12344
12443
  }, he = (e) => {
12345
- O.value = e, ws(l.resultIframeRef?.current, e);
12444
+ O.value = e, Js(l.resultIframeRef?.current, e);
12346
12445
  }, ge = () => {
12347
12446
  let e = q.value;
12348
12447
  try {
12349
- e = Oe.value?.activeChart?.()?.resolution?.() || q.value;
12448
+ e = De.value?.activeChart?.()?.resolution?.() || q.value;
12350
12449
  } catch {
12351
12450
  e = q.value;
12352
12451
  }
12353
- xs(l.resultIframeRef?.current, e);
12452
+ Gs(l.resultIframeRef?.current, e);
12354
12453
  }, _e = { current: [] }, ve = (e) => {
12355
12454
  _e.current.forEach((e) => window.clearTimeout(e));
12356
12455
  let t = () => {
12357
12456
  if (e) {
12358
- xs(l.resultIframeRef?.current, e);
12457
+ Gs(l.resultIframeRef?.current, e);
12359
12458
  return;
12360
12459
  }
12361
12460
  ge();
@@ -12372,13 +12471,13 @@ var As = ["lang"], js = {
12372
12471
  theme: F.value === "dark" ? "dark" : "light",
12373
12472
  language: d.value
12374
12473
  };
12375
- Os(l.resultIframeRef?.current, e) || ks(e) || l.submitCallback(`${z}/${d.value}?pricing=true&theme=${F.value === "dark" ? "dark" : "light"}`);
12474
+ Qs(l.resultIframeRef?.current, e) || $s(e) || l.submitCallback(`${z}/${d.value}?pricing=true&theme=${F.value === "dark" ? "dark" : "light"}`);
12376
12475
  }, be = () => {
12377
12476
  A.value = !1, j.value = null, N.value = null;
12378
12477
  }, xe = () => {
12379
12478
  L.value = !0;
12380
12479
  }, Se = (e) => {
12381
- let t = e.default_symbol || J.value, n = F.value === "dark" ? "dark" : "light", r = Oe.value;
12480
+ let t = e.default_symbol || J.value, n = F.value === "dark" ? "dark" : "light", r = De.value;
12382
12481
  Y(), k.value = null, E.setPlayEndTimestamp(null);
12383
12482
  let i = {
12384
12483
  id: e.id,
@@ -12399,17 +12498,17 @@ var As = ["lang"], js = {
12399
12498
  r?.activeChart?.()?.refreshMarks();
12400
12499
  } catch {}
12401
12500
  (async () => {
12402
- await ls(r, e.timestamp, {
12501
+ await Ns(r, e.timestamp, {
12403
12502
  lastEntity: p,
12404
12503
  applyingPatternRef: h,
12405
12504
  setHasActiveShape: (e) => {
12406
- U.value = e;
12505
+ H.value = e;
12407
12506
  },
12408
12507
  setCandles: (e) => {
12409
- G.value = e;
12508
+ W.value = e;
12410
12509
  },
12411
12510
  setWindowSize: (e) => {
12412
- W.value = e;
12511
+ U.value = e;
12413
12512
  },
12414
12513
  setSymbol: (e) => {
12415
12514
  J.value = e;
@@ -12418,7 +12517,7 @@ var As = ["lang"], js = {
12418
12517
  q.value = e;
12419
12518
  },
12420
12519
  setTimeframe: (e) => {
12421
- ae.value = e;
12520
+ K.value = e;
12422
12521
  },
12423
12522
  setTargetCandles: (e) => {
12424
12523
  E.setTargetCandles(e);
@@ -12426,11 +12525,11 @@ var As = ["lang"], js = {
12426
12525
  clearSelectedCandles: () => {
12427
12526
  k.value = null;
12428
12527
  }
12429
- }), await ss(r, e.timestamp, m);
12528
+ }), await js(r, e.timestamp, m);
12430
12529
  })(), l.submitCallback(`${z}/${d.value}/news/similar-events/${e.id}?symbol=${encodeURIComponent(t)}&theme=${n}`);
12431
12530
  }, Ce = (e) => {
12432
12531
  if (!e) return;
12433
- let t = Oe.value;
12532
+ let t = De.value;
12434
12533
  if (!t) return;
12435
12534
  let n;
12436
12535
  try {
@@ -12469,9 +12568,9 @@ var As = ["lang"], js = {
12469
12568
  let f = d.timestamp ? d.timestamp / 1e3 : null, p = i.to - i.from, m = u(f ?? i.from + p * .5);
12470
12569
  m && (N.value = m), j.value = d, A.value = !0;
12471
12570
  }, we = () => {
12472
- h.current || (p.current = null, U.value = !1);
12571
+ h.current || (p.current = null, H.value = !1);
12473
12572
  }, Te = (e) => {
12474
- ae.value = e, q.value = e, ve(e), we(), h.current || k.value?.length && (E.setPlayEndTimestamp(null), E.setGapCount(0), k.value = null, To(!1));
12573
+ K.value = e, q.value = e, ve(e), we(), l.availableIntervals != null && !l.availableIntervals.includes(String(e)) && (ie.value = null, G.value = !1), h.current || k.value?.length && (E.setPlayEndTimestamp(null), E.setGapCount(0), k.value = null, qo(!1));
12475
12574
  let t = null;
12476
12575
  try {
12477
12576
  t = JSON.parse(localStorage.getItem("tv:clicked-news-event") || "null");
@@ -12479,17 +12578,17 @@ var As = ["lang"], js = {
12479
12578
  t = null;
12480
12579
  }
12481
12580
  !t?.timestamp || !l.chartWidget || (async () => {
12482
- await ls(l.chartWidget, t.timestamp, {
12581
+ await Ns(l.chartWidget, t.timestamp, {
12483
12582
  lastEntity: p,
12484
12583
  applyingPatternRef: h,
12485
12584
  setHasActiveShape: (e) => {
12486
- U.value = e;
12585
+ H.value = e;
12487
12586
  },
12488
12587
  setCandles: (e) => {
12489
- G.value = e;
12588
+ W.value = e;
12490
12589
  },
12491
12590
  setWindowSize: (e) => {
12492
- W.value = e;
12591
+ U.value = e;
12493
12592
  },
12494
12593
  setSymbol: (e) => {
12495
12594
  J.value = e;
@@ -12498,7 +12597,7 @@ var As = ["lang"], js = {
12498
12597
  q.value = e;
12499
12598
  },
12500
12599
  setTimeframe: (e) => {
12501
- ae.value = e;
12600
+ K.value = e;
12502
12601
  },
12503
12602
  setTargetCandles: (e) => {
12504
12603
  E.setTargetCandles(e);
@@ -12506,17 +12605,17 @@ var As = ["lang"], js = {
12506
12605
  clearSelectedCandles: () => {
12507
12606
  k.value = null;
12508
12607
  }
12509
- }), await ss(l.chartWidget, t.timestamp, m);
12608
+ }), await js(l.chartWidget, t.timestamp, m);
12510
12609
  })();
12511
12610
  }, Ee = (e) => {
12512
- J.value = e.library_custom_fields?.ticker || e.ticker || e.name || e.base_name + "" || "", we(), ve(), !h.current && k.value?.length && (E.setPlayEndTimestamp(null), E.setGapCount(0), k.value = null, To(!1));
12513
- }, Oe = D(l.chartWidget);
12611
+ J.value = e.library_custom_fields?.ticker || e.ticker || e.name || e.base_name + "" || "", we(), ve(), !h.current && k.value?.length && (E.setPlayEndTimestamp(null), E.setGapCount(0), k.value = null, qo(!1));
12612
+ }, De = D(l.chartWidget);
12514
12613
  M(() => l.chartWidget, (e) => {
12515
- Oe.value = e;
12516
- }), M(Oe, (e) => {
12614
+ De.value = e;
12615
+ }), M(De, (e) => {
12517
12616
  let t, r, i;
12518
12617
  b(() => {
12519
- U.value = !1, p.current = null, S.value = null;
12618
+ H.value = !1, p.current = null, S.value = null;
12520
12619
  try {
12521
12620
  if (r && clearTimeout(r), e) {
12522
12621
  let n = e.activeChart();
@@ -12529,50 +12628,50 @@ var As = ["lang"], js = {
12529
12628
  let a = e.activeChart();
12530
12629
  if (a) {
12531
12630
  let o = a.resolution();
12532
- ae.value = o, q.value = o;
12631
+ K.value = o, q.value = o;
12533
12632
  let s = Z?.find((e) => e.display_name === a.symbol());
12534
12633
  J.value = s?.ticker || a.symbol();
12535
12634
  let c = async (e, t) => {
12536
12635
  if (((a?.getAllShapes())?.filter((e) => e.name === "date_range"))?.forEach((e) => {
12537
12636
  a?.removeEntity(e.id);
12538
12637
  }), t) {
12539
- let { data: r } = await a.exportData(), i = r.findIndex((e) => e[0] === t);
12540
- i === -1 && (i = r.length - 1);
12541
- let o = r.findIndex((t) => t[0] === e), s = Math.floor((o + i) / 2), c = r.slice(s - 13, s + 12), l = r.slice(s + 12 - 49, s + 12);
12542
- W.value = c.length, G.value = c.map(n), E.setTargetCandles(l.map(n)), U.value = !0;
12543
- let u = c[0], d = c[c.length - 1];
12544
- if (!u || !d) return;
12545
- if (p.current = await a.createMultipointShape([{ time: u[0] }, { time: d[0] }], Ga(P.current())), p.current) {
12638
+ let { data: e } = await a.exportData(), r = a.resolution(), i = yt(e, t, r);
12639
+ i === -1 && (i = e.length - 1);
12640
+ let o = e.slice(Math.max(0, i - 25 + 1), i + 1), s = e.slice(Math.max(0, i - 49), i + 1);
12641
+ U.value = o.length, W.value = o.map(n), E.setTargetCandles(s.map(n)), H.value = !0;
12642
+ let c = o[0], l = o[o.length - 1];
12643
+ if (!c || !l) return;
12644
+ if (p.current = await a.createMultipointShape([{ time: vt(c[0], r) }, { time: vt(l[0], r) }], no(P.current())), p.current) {
12546
12645
  let e = a.getShapeById(p.current);
12547
12646
  e && e.setSavingEnabled && (e.setProperties({ customText: {
12548
12647
  visible: !0,
12549
- text: Ka
12648
+ text: ro
12550
12649
  } }), e.setSavingEnabled(!1));
12551
12650
  }
12552
12651
  }
12553
12652
  };
12554
- t = st(async (t, r) => {
12555
- if (!h.current && (r === "remove" && (p.current === t && (p.current = null), U.value = !1), r === "points_changed" && a.getAllShapes().filter((e) => e.name === "date_range").some((e) => e.id === t) && e)) {
12653
+ t = ut(async (t, r) => {
12654
+ if (!h.current && (r === "remove" && (p.current === t && (p.current = null), H.value = !1), r === "points_changed" && a.getAllShapes().filter((e) => e.name === "date_range").some((e) => e.id === t) && e)) {
12556
12655
  let e = a.getShapeById(t);
12557
12656
  if (!e) return;
12558
- let r = e.getPoints(), i = r[0].time, o = r[1].time, { data: s } = await a.exportData(), c = s.findIndex((e) => e[0] === o), l = s.findIndex((e) => e[0] === i);
12559
- c === -1 && (c = s.length - 2, l = s.length - 1 - 25);
12560
- let u = s.slice(l, c + 1).length - 1;
12561
- u > De.max ? (u = Math.round(u / 10) * 10 - 1, u > De.custom[De.custom.length - 1] && (u = De.custom[De.custom.length - 1] - 1)) : u <= De.min && (u = De.min - 1), p.current && a.removeEntity(p.current), a.getAllShapes().filter((e) => e.name === "date_range").forEach((e) => {
12657
+ let r = e.getPoints(), i = r[0].time, o = r[1].time, { data: s } = await a.exportData(), c = a.resolution(), l = yt(s, o, c), u = yt(s, i, c);
12658
+ l === -1 && (l = s.length - 2, u = s.length - 1 - 25);
12659
+ let d = s.slice(u, l + 1).length - 1;
12660
+ d > je.max ? (d = Math.round(d / 10) * 10 - 1, d > je.custom[je.custom.length - 1] && (d = je.custom[je.custom.length - 1] - 1)) : d <= je.min && (d = je.min - 1), p.current && a.removeEntity(p.current), a.getAllShapes().filter((e) => e.name === "date_range").forEach((e) => {
12562
12661
  a.removeEntity(e.id);
12563
12662
  });
12564
- let d = s.slice(c - u, c + 1), f = s.slice(c - 49, c + 1), m = d[0], h = d[d.length - 1];
12565
- if (!m || !h) return;
12566
- if (p.current = await a.createMultipointShape([{ time: m[0] }, { time: h[0] }], Ga(P.current())), W.value = d.length, G.value = d.map(n), E.setTargetCandles(f.map(n)), U.value = !0, p.current) {
12663
+ let f = s.slice(l - d, l + 1), m = s.slice(l - 49, l + 1), h = f[0], g = f[f.length - 1];
12664
+ if (!h || !g) return;
12665
+ if (p.current = await a.createMultipointShape([{ time: vt(h[0], c) }, { time: vt(g[0], c) }], no(P.current())), U.value = f.length, W.value = f.map(n), E.setTargetCandles(m.map(n)), H.value = !0, p.current) {
12567
12666
  let e = a.getShapeById(p.current);
12568
12667
  e && e.setSavingEnabled && (e.setProperties({ customText: {
12569
12668
  visible: !0,
12570
- text: Ka
12669
+ text: ro
12571
12670
  } }), e.setSavingEnabled(!1));
12572
12671
  }
12573
12672
  }
12574
12673
  }, 500), S.value = () => {
12575
- U.value = !0;
12674
+ H.value = !0;
12576
12675
  let e = a.getVisibleRange();
12577
12676
  e?.from && e?.to && c(e.from, e.to);
12578
12677
  };
@@ -12593,25 +12692,25 @@ var As = ["lang"], js = {
12593
12692
  };
12594
12693
  i = (e) => {
12595
12694
  r && clearTimeout(r), r = setTimeout(() => {
12596
- l(e) ? U.value = !1 : p.current && (U.value = !0);
12695
+ l(e) ? H.value = !1 : p.current && (H.value = !0);
12597
12696
  }, 150);
12598
12697
  }, a.onIntervalChanged().subscribe(null, Te), a.onSymbolChanged().subscribe(null, Ee), a.onVisibleRangeChanged().subscribe(null, i), e.subscribe?.("drawing_event", t);
12599
12698
  }
12600
12699
  });
12601
12700
  }, { immediate: !0 });
12602
- let ke = r(() => G.value[G.value.length - 1]?.timestamp ?? null);
12603
- Ya(Oe, C);
12604
- let Ae = {
12701
+ let Oe = r(() => W.value[W.value.length - 1]?.timestamp ?? null);
12702
+ oo(De, C);
12703
+ let ke = {
12605
12704
  lastEntity: p,
12606
12705
  applyingPatternRef: h,
12607
12706
  setHasActiveShape: (e) => {
12608
- U.value = e;
12707
+ H.value = e;
12609
12708
  },
12610
12709
  setCandles: (e) => {
12611
- G.value = e;
12710
+ W.value = e;
12612
12711
  },
12613
12712
  setWindowSize: (e) => {
12614
- W.value = e;
12713
+ U.value = e;
12615
12714
  },
12616
12715
  setSymbol: (e) => {
12617
12716
  J.value = e;
@@ -12620,7 +12719,7 @@ var As = ["lang"], js = {
12620
12719
  q.value = e;
12621
12720
  },
12622
12721
  setTimeframe: (e) => {
12623
- ae.value = e;
12722
+ K.value = e;
12624
12723
  },
12625
12724
  setTargetCandles: (e) => {
12626
12725
  E.setTargetCandles(e);
@@ -12629,11 +12728,11 @@ var As = ["lang"], js = {
12629
12728
  k.value = null;
12630
12729
  }
12631
12730
  };
12632
- gs(Oe, (e) => {
12731
+ Bs(De, (e) => {
12633
12732
  k.value = e;
12634
- }, ke, (e) => {
12733
+ }, Oe, (e) => {
12635
12734
  O.value = e;
12636
- }, l.onCloseResult, Ae, oe, () => l.availableIntervals, ge), M(() => l.iframeLoaded, (e) => {
12735
+ }, l.onCloseResult, ke, oe, () => l.availableIntervals, ge), M(() => l.iframeLoaded, (e) => {
12637
12736
  e && ve();
12638
12737
  }), y(() => {
12639
12738
  if (typeof document > "u") return;
@@ -12646,7 +12745,7 @@ var As = ["lang"], js = {
12646
12745
  }), v(() => {
12647
12746
  t.disconnect(), window.clearTimeout(e);
12648
12747
  });
12649
- }), M([Oe, I], ([e]) => {
12748
+ }), M([De, I], ([e]) => {
12650
12749
  if (!e) return;
12651
12750
  let t = !1;
12652
12751
  b(() => {
@@ -12657,7 +12756,7 @@ var As = ["lang"], js = {
12657
12756
  }), e.onChartReady(async () => {
12658
12757
  if (!t) {
12659
12758
  try {
12660
- await Jo(e.activeChart(), f, I.value);
12759
+ await _s(e.activeChart(), f, I.value);
12661
12760
  } catch (e) {
12662
12761
  console.error("Failed to create generated candle studies:", e);
12663
12762
  }
@@ -12666,8 +12765,8 @@ var As = ["lang"], js = {
12666
12765
  } catch {}
12667
12766
  }
12668
12767
  });
12669
- }, { immediate: !0 }), Xo(Oe, f, q, J, k, I);
12670
- let je = () => {
12768
+ }, { immediate: !0 }), ys(De, f, q, J, k, I);
12769
+ let Ae = () => {
12671
12770
  try {
12672
12771
  localStorage.removeItem(V), localStorage.removeItem(B);
12673
12772
  } catch {}
@@ -12683,12 +12782,12 @@ var As = ["lang"], js = {
12683
12782
  } catch {}
12684
12783
  }
12685
12784
  }, Me = (e) => {
12686
- ae.value = e;
12785
+ K.value = e;
12687
12786
  }, Ne = (e) => {
12688
12787
  L.value = e;
12689
- }, Pe = r(() => Z.find((e) => e.ticker === J.value)?.type ?? "forex"), Fe = r(() => J.value || localStorage.getItem("tv:latest-symbol") || "XAU_USD");
12788
+ }, Pe = r(() => Z.find((e) => e.ticker === J.value)?.type ?? "forex"), Fe = r(() => l.availableIntervals == null || l.availableIntervals.includes(String(q.value))), Ie = r(() => J.value || localStorage.getItem("tv:latest-symbol") || "XAU_USD");
12690
12789
  return v(() => {
12691
- _e.current.forEach((e) => window.clearTimeout(e)), U.value = !1, p.current = null, S.value = null;
12790
+ _e.current.forEach((e) => window.clearTimeout(e)), H.value = !1, p.current = null, S.value = null;
12692
12791
  }), (t, n) => (x(), o("div", {
12693
12792
  ref_key: "rootEl",
12694
12793
  ref: T,
@@ -12696,8 +12795,8 @@ var As = ["lang"], js = {
12696
12795
  class: g(["iccandle-selector-widget", F.value === "dark" ? "iccandle-dark" : ""])
12697
12796
  }, [
12698
12797
  ee(t.$slots, "default", { chartRefs: f }),
12699
- u(ot, {
12700
- hide: !e.isShowScannerPopup,
12798
+ u(lt, {
12799
+ hide: !e.isShowScannerPopup || !Fe.value,
12701
12800
  "hide-scan-button": !e.isShowScanButton,
12702
12801
  "hide-tracker-button": !e.isShowTrackerButton,
12703
12802
  "submit-callback": e.submitCallback,
@@ -12706,21 +12805,21 @@ var As = ["lang"], js = {
12706
12805
  "on-scan-click": e.onScanClick,
12707
12806
  "set-scan-loading": he,
12708
12807
  "on-apply-saved-timeframe": Me,
12709
- "pending-scan-after-config": ie.value,
12808
+ "pending-scan-after-config": G.value,
12710
12809
  "on-pending-scan-handled": pe,
12711
12810
  "trigger-scanner": le,
12712
- window_size: W.value,
12811
+ window_size: U.value,
12713
12812
  "current-symbol": J.value,
12714
12813
  resolution: q.value,
12715
- timeframe: ae.value,
12814
+ timeframe: K.value,
12716
12815
  "chart-widget": e.chartWidget,
12717
- candles: G.value,
12816
+ candles: W.value,
12718
12817
  "handle-start-drag": se,
12719
- "handle-stop-drag": X,
12720
- "has-active-shape": U.value,
12818
+ "handle-stop-drag": ce,
12819
+ "has-active-shape": H.value,
12721
12820
  theme: F.value,
12722
12821
  language: d.value,
12723
- "clear-scanner-news-marks": je,
12822
+ "clear-scanner-news-marks": Ae,
12724
12823
  "selected-candles": k.value,
12725
12824
  "iframe-loaded": e.iframeLoaded,
12726
12825
  "is-loading": O.value,
@@ -12745,14 +12844,14 @@ var As = ["lang"], js = {
12745
12844
  "iframe-loaded",
12746
12845
  "is-loading"
12747
12846
  ]),
12748
- L.value ? (x(), i(oa, {
12847
+ L.value ? (x(), i(_a, {
12749
12848
  key: 0,
12750
12849
  open: L.value,
12751
12850
  "onUpdate:open": Ne,
12752
12851
  resolution: q.value,
12753
12852
  type: Pe.value,
12754
12853
  symbol: J.value,
12755
- candles: G.value,
12854
+ candles: W.value,
12756
12855
  percent: 90,
12757
12856
  theme: F.value,
12758
12857
  onUpgradeClick: ye
@@ -12764,12 +12863,12 @@ var As = ["lang"], js = {
12764
12863
  "candles",
12765
12864
  "theme"
12766
12865
  ])) : a("", !0),
12767
- K.value ? (x(), i(Yn, {
12866
+ ie.value ? (x(), i(or, {
12768
12867
  key: 1,
12769
- intent: K.value,
12868
+ intent: ie.value,
12770
12869
  "set-resolution": Me,
12771
- timeframe: ae.value,
12772
- "handle-close-dialog": fe,
12870
+ timeframe: K.value,
12871
+ "handle-close-dialog": X,
12773
12872
  "current-symbol": J.value,
12774
12873
  theme: F.value,
12775
12874
  onScanConfigSaved: me,
@@ -12780,10 +12879,10 @@ var As = ["lang"], js = {
12780
12879
  "current-symbol",
12781
12880
  "theme"
12782
12881
  ])) : a("", !0),
12783
- A.value && j.value ? (x(), i(Ta, {
12882
+ A.value && j.value ? (x(), i(Ia, {
12784
12883
  key: 2,
12785
12884
  event: j.value,
12786
- symbol: Fe.value,
12885
+ symbol: Ie.value,
12787
12886
  position: N.value,
12788
12887
  onClose: be,
12789
12888
  onGoToEventDetail: Se
@@ -12792,14 +12891,14 @@ var As = ["lang"], js = {
12792
12891
  "symbol",
12793
12892
  "position"
12794
12893
  ])) : a("", !0),
12795
- R.value ? (x(), o("div", js)) : a("", !0),
12796
- u(Ua, {
12894
+ R.value ? (x(), o("div", tc)) : a("", !0),
12895
+ u(eo, {
12797
12896
  theme: F.value,
12798
12897
  style: _(ne.value)
12799
12898
  }, null, 8, ["theme", "style"])
12800
- ], 10, As));
12899
+ ], 10, ec));
12801
12900
  }
12802
- }), Ns = (e) => {
12901
+ }), rc = (e) => {
12803
12902
  let t = e?.contentWindow;
12804
12903
  if (!t || !e?.src) return;
12805
12904
  let n = new URL(e.src).origin, r = () => t.postMessage(JSON.stringify({
@@ -12825,14 +12924,70 @@ var As = ["lang"], js = {
12825
12924
  "lookup_key"
12826
12925
  ].forEach((e) => r.searchParams.delete(e)), window.history.replaceState({}, "", r);
12827
12926
  }
12828
- }, Ps = "selector-scan";
12829
- function Fs(e) {
12927
+ }, ic = 60;
12928
+ function ac(e) {
12929
+ let t = e.split(".")[1];
12930
+ if (!t) return null;
12931
+ try {
12932
+ let e = t.replace(/-/g, "+").replace(/_/g, "/"), n = e + "=".repeat((4 - e.length % 4) % 4);
12933
+ return JSON.parse(atob(n));
12934
+ } catch {
12935
+ return null;
12936
+ }
12937
+ }
12938
+ function oc(e) {
12939
+ let t = ac(e);
12940
+ return t?.exp ? t.exp - ic > Math.floor(Date.now() / 1e3) : !1;
12941
+ }
12942
+ function sc() {
12943
+ if (typeof window > "u") return null;
12944
+ let e = localStorage.getItem(H);
12945
+ return !e || !oc(e) ? null : e;
12946
+ }
12947
+ //#endregion
12948
+ //#region src/composables/use-iccandle-auth.ts
12949
+ function cc() {
12950
+ let e = w(sc()), t = (t) => {
12951
+ if (t && oc(t)) {
12952
+ localStorage.setItem(H, t), e.value = t;
12953
+ return;
12954
+ }
12955
+ localStorage.removeItem(H), e.value = null;
12956
+ }, n = (e) => {
12957
+ if (e.origin !== "https://embed-iccandle-app.iccandle.ai") return;
12958
+ let n;
12959
+ try {
12960
+ n = typeof e.data == "string" ? JSON.parse(e.data) : e.data;
12961
+ } catch {
12962
+ return;
12963
+ }
12964
+ if (n?.name === "auth.signIn") {
12965
+ t(n.data?.idToken || null);
12966
+ return;
12967
+ }
12968
+ n?.name === "auth.signOut" && t(null);
12969
+ }, i = (t) => {
12970
+ t.key === "iccandle_token" && (e.value = sc());
12971
+ };
12972
+ return y(() => {
12973
+ window.addEventListener("message", n), window.addEventListener("storage", i);
12974
+ }), v(() => {
12975
+ window.removeEventListener("message", n), window.removeEventListener("storage", i);
12976
+ }), {
12977
+ isAuthenticated: r(() => !!e.value),
12978
+ idToken: e
12979
+ };
12980
+ }
12981
+ //#endregion
12982
+ //#region src/lib/post-selector-scan.ts
12983
+ var lc = "selector-scan";
12984
+ function uc(e) {
12830
12985
  return {
12831
- type: Ps,
12986
+ type: lc,
12832
12987
  url: e
12833
12988
  };
12834
12989
  }
12835
- function Is(e, t) {
12990
+ function dc(e, t) {
12836
12991
  if (!e?.src || !e.contentWindow) return !1;
12837
12992
  try {
12838
12993
  let n = new URL(e.src), r = new URL(t, n.origin);
@@ -12841,14 +12996,14 @@ function Is(e, t) {
12841
12996
  return !1;
12842
12997
  }
12843
12998
  }
12844
- function Ls(e, t) {
12999
+ function fc(e, t) {
12845
13000
  let n = e?.contentWindow;
12846
13001
  if (!n) return !1;
12847
13002
  let r = "*";
12848
13003
  try {
12849
13004
  e?.src && (r = new URL(e.src).origin);
12850
13005
  } catch {}
12851
- return n.postMessage(JSON.stringify(Fs(t)), r), !0;
13006
+ return n.postMessage(JSON.stringify(uc(t)), r), !0;
12852
13007
  }
12853
13008
  //#endregion
12854
- export { Ts as OPEN_PRICING_MESSAGE_TYPE, Ss as SELECTOR_LOADING_MESSAGE_TYPE, Ps as SELECTOR_SCAN_MESSAGE_TYPE, z as WIDGET_RESULT_URL, Ms as WidgetIccandle, Is as canSoftSelectorNavigate, Uo as getCustomIndicators, Ns as handleResultIframeLoad, Os as postOpenPricingToEmbed, ks as postOpenPricingToParent, Ds as postOpenPricingToWindow, ws as postSelectorLoadingToEmbed, Ls as postSelectorScanToEmbed, wo as withPlayChart };
13009
+ export { H as ICCANDLE_TOKEN_KEY, Ys as OPEN_PRICING_MESSAGE_TYPE, Ks as SELECTOR_LOADING_MESSAGE_TYPE, lc as SELECTOR_SCAN_MESSAGE_TYPE, z as WIDGET_RESULT_URL, nc as WidgetIccandle, dc as canSoftSelectorNavigate, fs as getCustomIndicators, rc as handleResultIframeLoad, Qs as postOpenPricingToEmbed, $s as postOpenPricingToParent, Zs as postOpenPricingToWindow, Js as postSelectorLoadingToEmbed, fc as postSelectorScanToEmbed, cc as useICCandleAuth, Ko as withPlayChart };