st-comp 0.0.172 → 0.0.174

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.
Files changed (82) hide show
  1. package/es/ChartLayout.js +3 -3
  2. package/es/Dialog.js +14 -14
  3. package/es/FactorWarning.cjs +1 -1
  4. package/es/FactorWarning.js +337 -817
  5. package/es/Kline.js +16 -16
  6. package/es/KlineBasic.js +26 -26
  7. package/es/KlineConfig.cjs +1 -1
  8. package/es/KlineConfig.js +41 -40
  9. package/es/KlineNew.js +14 -14
  10. package/es/KlinePlus.cjs +3 -3
  11. package/es/KlinePlus.js +458 -465
  12. package/es/Pagination.js +19 -19
  13. package/es/PasswordPrompt.js +3 -3
  14. package/es/Table.js +21 -21
  15. package/es/User.js +39 -39
  16. package/es/VarSelectDialog.cjs +2 -2
  17. package/es/VarSelectDialog.js +146 -144
  18. package/es/VarietySearch.cjs +16 -1
  19. package/es/VarietySearch.js +4283 -1144
  20. package/es/VirtualTable.js +494 -494
  21. package/es/{_initCloneObject-a9305c1e.js → _initCloneObject-da90eef0.js} +3 -3
  22. package/es/{base-4bcd2756.js → base-d9284bf0.js} +23 -23
  23. package/es/{castArray-681d750b.js → castArray-b0ab0165.js} +1 -1
  24. package/es/{config-provider-93846ae3.js → config-provider-f0151e9f.js} +10 -10
  25. package/es/{debounce-51046b06.js → debounce-3cec4646.js} +1 -1
  26. package/es/{dropdown-65e74de8.js → dropdown-82b80e8b.js} +6 -6
  27. package/es/{el-button-d39472d3.js → el-button-34665425.js} +9 -9
  28. package/es/{el-dialog-f45ec2a1.js → el-dialog-a412484e.js} +17 -17
  29. package/es/{el-divider-7cf13678.js → el-divider-fd2b4e2e.js} +4 -4
  30. package/es/{el-empty-64b2ea8a.js → el-empty-412fc297.js} +2 -2
  31. package/es/{el-form-item-b31e7a98.js → el-form-item-668ba024.js} +65 -65
  32. package/es/{el-input-42315ac4.js → el-input-22e66e37.js} +22 -22
  33. package/es/{el-input-number-ebd64e22.js → el-input-number-481e21c5.js} +26 -26
  34. package/es/{el-loading-5d29f26d.js → el-loading-d4e403ab.js} +5 -5
  35. package/es/{el-menu-item-d62e0a3f.js → el-menu-item-404c10e5.js} +8 -8
  36. package/es/el-message-box-41f39f6d.js +558 -0
  37. package/es/el-message-box-6694f827.cjs +1 -0
  38. package/es/{el-message-bd1d2c82.js → el-message-ef506caa.js} +24 -24
  39. package/es/{el-overlay-690b50aa.js → el-overlay-4a9fa4e1.js} +30 -30
  40. package/es/{el-popconfirm-88bbd066.js → el-popconfirm-7b9183aa.js} +6 -6
  41. package/es/{el-popper-85365d5b.js → el-popper-e73466eb.js} +5 -5
  42. package/es/{el-scrollbar-bcf29780.js → el-scrollbar-45318df0.js} +8 -8
  43. package/es/el-segmented-3ba6d664.cjs +1 -0
  44. package/es/el-segmented-41820018.js +135 -0
  45. package/es/{el-select-d3bce4d1.js → el-select-d7a00294.js} +13 -13
  46. package/es/{el-table-column-9691b26d.js → el-table-column-a2d0c635.js} +122 -122
  47. package/es/{el-tag-6036f51c.js → el-tag-7f391090.js} +32 -32
  48. package/es/{index-d3c37134.js → index-1c41bd56.js} +3 -3
  49. package/es/index-3120be08.js +14 -0
  50. package/es/{index-fbe85773.js → index-85a32a00.js} +15 -15
  51. package/es/{index-21fb27eb.js → index-94f38460.js} +19 -19
  52. package/es/{index-ef7c4392.js → index-a8e9ec0f.js} +23 -23
  53. package/es/{index-cb8157f2.js → index-d577b81b.js} +2 -2
  54. package/es/{index-8ee89b40.js → index-d99fdc6d.js} +8 -8
  55. package/es/{index-3425f2f0.js → index-ee1cebbc.js} +5 -5
  56. package/es/{raf-36faa519.js → raf-bfbf42e4.js} +1 -1
  57. package/es/{scroll-0277d145.js → scroll-e3cb691f.js} +2 -2
  58. package/es/style.css +1 -1
  59. package/es/{use-form-common-props-54c31983.js → use-form-common-props-cc347a83.js} +36 -36
  60. package/es/{use-global-config-946f61a4.js → use-global-config-c7f0a7e3.js} +3 -3
  61. package/es/validator-10fa54fe.js +5 -0
  62. package/es/validator-af488a9a.cjs +1 -0
  63. package/es/{vnode-dfc92f20.js → vnode-6be33bb1.js} +1 -1
  64. package/es/{zh-cn-5066f5e9.js → zh-cn-d883afa8.js} +2 -2
  65. package/lib/bundle.js +1 -1
  66. package/lib/bundle.umd.cjs +234 -219
  67. package/lib/{index-d9f6d2bc.js → index-c5c93747.js} +32971 -29838
  68. package/lib/{python-e8bc0c16.js → python-1b054f75.js} +1 -1
  69. package/lib/style.css +1 -1
  70. package/package.json +2 -1
  71. package/packages/KlinePlus/index.vue +1 -2
  72. package/packages/KlinePlus/utils.js +22 -49
  73. package/packages/VarSelectDialog/index.vue +3 -1
  74. package/packages/VarietySearch/components/FactorScreen/FactorDescription.vue +54 -20
  75. package/packages/VarietySearch/components/FactorScreen/index.vue +79 -54
  76. package/src/pages/KlinePlus/index.vue +20 -4
  77. package/src/pages/KlinePlus/tradeLogMock.js +1927 -0
  78. package/es/el-checkbox-group-020b49f5.cjs +0 -1
  79. package/es/el-checkbox-group-779f353a.js +0 -67
  80. package/es/el-segmented-84707138.js +0 -136
  81. package/es/el-segmented-bccd9f2a.cjs +0 -1
  82. package/es/index-c45ac024.js +0 -14
package/es/KlinePlus.js CHANGED
@@ -1,27 +1,27 @@
1
- import "./base-4bcd2756.js";
2
- import { v as he } from "./el-loading-5d29f26d.js";
3
- import { E as be } from "./el-empty-64b2ea8a.js";
4
- import "./el-tag-6036f51c.js";
5
- import { E as ke, a as ve } from "./el-select-d3bce4d1.js";
6
- import "./el-scrollbar-bcf29780.js";
7
- import "./el-popper-85365d5b.js";
8
- import { openBlock as F, createElementBlock as _, Fragment as me, renderList as Ae, normalizeStyle as Ee, toDisplayString as Me, inject as we, ref as U, onMounted as pe, nextTick as Se, watch as te, onUnmounted as xe, computed as re, withDirectives as Qe, createElementVNode as $, createVNode as ee, createCommentVNode as Ne, withCtx as Pe, createBlock as Ie } from "vue";
9
- import { d as I } from "./dayjs.min-54a4e095.js";
10
- import * as se from "echarts";
11
- import { x as fe, G as ae, D as Re } from "./index-7ed0999e.js";
12
- import { _ as ze } from "./_plugin-vue_export-helper-dad06003.js";
13
- import "./use-global-config-946f61a4.js";
14
- import "./use-form-common-props-54c31983.js";
15
- import "./index-ef7c4392.js";
16
- import "./index-3425f2f0.js";
17
- import "./index-d3c37134.js";
18
- import "./castArray-681d750b.js";
19
- import "./index-fbe85773.js";
20
- import "./index-21fb27eb.js";
21
- import "./scroll-0277d145.js";
22
- import "./debounce-51046b06.js";
1
+ import "./base-d9284bf0.js";
2
+ import { v as he } from "./el-loading-d4e403ab.js";
3
+ import { E as be } from "./el-empty-412fc297.js";
4
+ import "./el-tag-7f391090.js";
5
+ import { E as ke, a as ve } from "./el-select-d7a00294.js";
6
+ import "./el-scrollbar-45318df0.js";
7
+ import "./el-popper-e73466eb.js";
8
+ import { openBlock as F, createElementBlock as H, Fragment as Le, renderList as me, normalizeStyle as Ee, toDisplayString as te, inject as Ae, ref as R, onMounted as we, nextTick as Se, watch as ee, onUnmounted as pe, computed as se, withDirectives as Qe, createElementVNode as $, createVNode as X, createCommentVNode as Ne, withCtx as Pe, createBlock as ge } from "vue";
9
+ import { d as g } from "./dayjs.min-54a4e095.js";
10
+ import * as re from "echarts";
11
+ import { x as xe, G as Me, D as Re } from "./index-7ed0999e.js";
12
+ import { _ as je } from "./_plugin-vue_export-helper-dad06003.js";
13
+ import "./use-global-config-c7f0a7e3.js";
14
+ import "./use-form-common-props-cc347a83.js";
15
+ import "./index-a8e9ec0f.js";
16
+ import "./index-ee1cebbc.js";
17
+ import "./index-1c41bd56.js";
18
+ import "./castArray-b0ab0165.js";
19
+ import "./index-85a32a00.js";
20
+ import "./index-94f38460.js";
21
+ import "./scroll-e3cb691f.js";
22
+ import "./debounce-3cec4646.js";
23
23
  import "./_commonjsHelpers-10dfc225.js";
24
- const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjM4NzI1IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI2MjUiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNGRjAwMDAiIHAtaWQ9IjI2MjYiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjcwOTMzMyAxNjcuNzIyNjY3YzAuMTI4LTIxLjc2IDkuOTg0LTQyLjY2NjY2NyAyNy4zOTItNTcuOTQxMzM0YTkzLjMxMiA5My4zMTIgMCAwIDEgNjQuNDY5MzM0LTIzLjg5MzMzM0w3NjEuNiA4NS4zMzMzMzNjMjUuNiAwLjU1NDY2NyA0Ny4zNiA4Ljc4OTMzMyA2NC45Mzg2NjcgMjQuNDA1MzM0IDE3LjkyIDE2IDI2Ljg4IDM1LjIgMjYuODggNTcuNDcybC0wLjU1NDY2NyA0MTkuODRjMC4yOTg2NjcgMjIuNjk4NjY3LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuOTIyNjY2LTEyLjYyOTMzMyAyNy4zMDY2NjctMjcuOTQ2NjY3IDQ4Ljg5Ni00NS44MjQgNjQuODk2bC0yMTEuMjQyNjY3IDE4OC4yMDI2NjdjLTE3LjU3ODY2NyAxNS43MDEzMzMtMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45Mzg2NjcgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0Ljk4MTMzMy0yMy41OTQ2NjdsLTIxMS4xNTczMzMtMTg4LjE2Yy0xNy45Mi0xNi4wNDI2NjctMzMuMjgtMzcuNzE3MzMzLTQ1LjkwOTMzNC02NC45ODEzMzMtMTIuNjcyLTI3LjMwNjY2Ny0xOS4wMjkzMzMtNTIuMzk0NjY3LTE5LjAyOTMzMy03NS4zMDY2NjdMMTcwLjY2NjY2NyAxNjcuNzIyNjY3eiBtNDIuNjY2NjY3IDAuMjU2bDAuNTU0NjY3IDQxOC42ODhjMCAxNi4yMTMzMzMgNC44MjEzMzMgMzUuMzI4IDE1LjAxODY2NiA1Ny4zNDQgMTAuMzY4IDIyLjI3MiAyMi4zNTczMzMgMzkuMjEwNjY3IDM1LjYyNjY2NyA1MS4wNzJsMjExLjQxMzMzMyAxODguNDE2YzguOTYgOC4xMDY2NjcgMjEuODg4IDEyLjggMzYuMjI0IDEyLjU0NCAxNS41MzA2NjctMC4wNDI2NjcgMjcuMDkzMzMzLTQuMjY2NjY3IDM2LjY5MzMzNC0xMi44bDIxMS4xNTczMzMtMTg4LjExNzMzNGMxMy4zMTItMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNTg0LTUxLjA3MiAxMC4xMTItMjEuODQ1MzMzIDE0Ljc2MjY2Ny00MC41NzYgMTQuNTA2NjY3LTU3LjA0NTMzM2wwLjU1NDY2Ni00MTkuNzU0NjY3YzAtOS44OTg2NjctMy41ODQtMTcuNjIxMzMzLTEyLjQ1ODY2Ni0yNS42YTU0LjY5ODY2NyA1NC42OTg2NjcgMCAwIDAtMzYuNjA4LTEzLjYxMDY2NmwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NyAxMy4zMTIgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzMgMjEuNDYxMzMzbC0wLjQyNjY2NyA0LjY5MzMzNHoiIGZpbGw9IiNBRTAwMDAiIHAtaWQ9IjI2MjciPjwvcGF0aD48cGF0aCBkPSJNMzg0IDY1NC4xMjI2NjdoMTUzLjUxNDY2N2M5Ni43NjggMCAxNDIuNzYyNjY3LTQ4Ljk4MTMzMyAxNDIuNzYyNjY2LTExNy4wNzczMzQgMC01OS43MzMzMzMtMzMuNDUwNjY3LTg4LjQwNTMzMy04NC44MjEzMzMtOTcuOTYyNjY2di0xLjc5MmM0OC45ODEzMzMtMTUuNTMwNjY3IDY2LjkwMTMzMy00Ni41OTIgNjYuOTAxMzMzLTg5LjYgMC02NS4xMDkzMzMtNDAuNjE4NjY3LTEwMy4zMzg2NjctMTM0Ljk5NzMzMy0xMDMuMzM4NjY3SDM4NHY0MDkuNzcwNjY3eiBtNzIuODc0NjY3LTU0Ljk1NDY2N3YtMTMxLjQxMzMzM2g2Ni4zMDRjNTEuOTY4IDAgODAuMDQyNjY3IDE3LjkyIDgwLjA0MjY2NiA2NS4xMDkzMzMgMCA0NC44LTI2LjI4MjY2NyA2Ni4zMDQtNzUuODYxMzMzIDY2LjMwNGgtNzAuNDg1MzMzeiBtMC0xODAuMzk0NjY3VjI5OC43MDkzMzNoNjAuMzMwNjY2YzQ3LjE4OTMzMyAwIDcyLjI3NzMzMyAxNC45MzMzMzMgNzIuMjc3MzM0IDU5LjEzNiAwIDQ2LjU5Mi0zMi4yNTYgNjAuOTI4LTc1LjI2NCA2MC45MjhoLTU3LjM0NHoiIGZpbGw9IiNGRkZGRkYiIHAtaWQ9IjI2MjgiPjwvcGF0aD48L3N2Zz4=", Fe = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjQxNjY0IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI3NzciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiM1NEFCMzAiIHAtaWQ9IjI3NzgiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiMzODhEMTQiIHAtaWQ9IjI3NzkiPjwvcGF0aD48cGF0aCBkPSJNNTA2LjQ1MzMzMyA2NzQuNzMwNjY3Yzk5LjE1NzMzMyAwIDE0Ni4zNDY2NjctNDguMzg0IDE0Ni4zNDY2NjctMTI2LjAzNzMzNCAwLTcyLjg3NDY2Ny0zOC44MjY2NjctOTkuNzU0NjY3LTEwMy4zMzg2NjctMTE4LjI3MmwtMzguMjI5MzMzLTExLjk0NjY2NmMtNDAuNjE4NjY3LTExLjM0OTMzMy01Mi41NjUzMzMtMjUuMDg4LTUyLjU2NTMzMy01Ny4zNDQgMC0zMi44NTMzMzMgMjMuODkzMzMzLTUwLjc3MzMzMyA2Ni45MDEzMzMtNTAuNzczMzM0IDQ1LjM5NzMzMyAwIDc4Ljg0OCA5LjU1NzMzMyAxMDQuNTMzMzMzIDIwLjMwOTMzNFYyNzMuMzIyNjY3Yy0yMi42OTg2NjctMTEuOTQ2NjY3LTUxLjk2OC0yMi4xMDEzMzMtMTA1LjcyOC0yMi4xMDEzMzQtOTIuNTg2NjY3IDAtMTM3LjM4NjY2NyA0Ny4xODkzMzMtMTM3LjM4NjY2NiAxMTYuNDggMCA2OS4yOTA2NjcgMzUuMjQyNjY3IDEwMC4zNTIgOTMuMTg0IDExNi40OGwzOC44MjY2NjYgMTAuNzUyYzQ0LjggMTMuNzM4NjY3IDU5LjczMzMzMyAyNi44OCA1OS43MzMzMzQgNjAuOTI4IDAgMzcuMDM0NjY3LTIzLjI5NiA1OS43MzMzMzMtNzguMjUwNjY3IDU5LjczMzMzNC00NC44IDAtODMuNjI2NjY3LTEwLjc1Mi0xMTYuNDgtMjUuMDg4djU3Ljk0MTMzM2MyOC4wNzQ2NjcgMTQuOTMzMzMzIDY4LjY5MzMzMyAyNi4yODI2NjcgMTIyLjQ1MzMzMyAyNi4yODI2Njd6IiBmaWxsPSIjRkZGRkZGIiBwLWlkPSIyNzgwIj48L3BhdGg+PC9zdmc+", Ve = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjI4MjAyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjMwNzgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNDODgwRkYiIHAtaWQ9IjMwNzkiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiNBRTQ0RkYiIHAtaWQ9IjMwODAiPjwvcGF0aD48cGF0aCBkPSJNNDc1LjMwNjY2NyA2NTguMjE4NjY3aDczLjQ3MlYzMDYuMzg5MzMzaDExNi40OFYyNDguNDQ4aC0zMDcuNjI2NjY3djU3Ljk0MTMzM2gxMTcuNjc0NjY3eiIgZmlsbD0iI0ZGRkZGRiIgcC1pZD0iMzA4MSI+PC9wYXRoPjwvc3ZnPg==", { round: He } = fe, W = {
24
+ const Fe = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjM4NzI1IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI2MjUiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNGRjAwMDAiIHAtaWQ9IjI2MjYiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjcwOTMzMyAxNjcuNzIyNjY3YzAuMTI4LTIxLjc2IDkuOTg0LTQyLjY2NjY2NyAyNy4zOTItNTcuOTQxMzM0YTkzLjMxMiA5My4zMTIgMCAwIDEgNjQuNDY5MzM0LTIzLjg5MzMzM0w3NjEuNiA4NS4zMzMzMzNjMjUuNiAwLjU1NDY2NyA0Ny4zNiA4Ljc4OTMzMyA2NC45Mzg2NjcgMjQuNDA1MzM0IDE3LjkyIDE2IDI2Ljg4IDM1LjIgMjYuODggNTcuNDcybC0wLjU1NDY2NyA0MTkuODRjMC4yOTg2NjcgMjIuNjk4NjY3LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuOTIyNjY2LTEyLjYyOTMzMyAyNy4zMDY2NjctMjcuOTQ2NjY3IDQ4Ljg5Ni00NS44MjQgNjQuODk2bC0yMTEuMjQyNjY3IDE4OC4yMDI2NjdjLTE3LjU3ODY2NyAxNS43MDEzMzMtMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45Mzg2NjcgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0Ljk4MTMzMy0yMy41OTQ2NjdsLTIxMS4xNTczMzMtMTg4LjE2Yy0xNy45Mi0xNi4wNDI2NjctMzMuMjgtMzcuNzE3MzMzLTQ1LjkwOTMzNC02NC45ODEzMzMtMTIuNjcyLTI3LjMwNjY2Ny0xOS4wMjkzMzMtNTIuMzk0NjY3LTE5LjAyOTMzMy03NS4zMDY2NjdMMTcwLjY2NjY2NyAxNjcuNzIyNjY3eiBtNDIuNjY2NjY3IDAuMjU2bDAuNTU0NjY3IDQxOC42ODhjMCAxNi4yMTMzMzMgNC44MjEzMzMgMzUuMzI4IDE1LjAxODY2NiA1Ny4zNDQgMTAuMzY4IDIyLjI3MiAyMi4zNTczMzMgMzkuMjEwNjY3IDM1LjYyNjY2NyA1MS4wNzJsMjExLjQxMzMzMyAxODguNDE2YzguOTYgOC4xMDY2NjcgMjEuODg4IDEyLjggMzYuMjI0IDEyLjU0NCAxNS41MzA2NjctMC4wNDI2NjcgMjcuMDkzMzMzLTQuMjY2NjY3IDM2LjY5MzMzNC0xMi44bDIxMS4xNTczMzMtMTg4LjExNzMzNGMxMy4zMTItMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNTg0LTUxLjA3MiAxMC4xMTItMjEuODQ1MzMzIDE0Ljc2MjY2Ny00MC41NzYgMTQuNTA2NjY3LTU3LjA0NTMzM2wwLjU1NDY2Ni00MTkuNzU0NjY3YzAtOS44OTg2NjctMy41ODQtMTcuNjIxMzMzLTEyLjQ1ODY2Ni0yNS42YTU0LjY5ODY2NyA1NC42OTg2NjcgMCAwIDAtMzYuNjA4LTEzLjYxMDY2NmwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NyAxMy4zMTIgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzMgMjEuNDYxMzMzbC0wLjQyNjY2NyA0LjY5MzMzNHoiIGZpbGw9IiNBRTAwMDAiIHAtaWQ9IjI2MjciPjwvcGF0aD48cGF0aCBkPSJNMzg0IDY1NC4xMjI2NjdoMTUzLjUxNDY2N2M5Ni43NjggMCAxNDIuNzYyNjY3LTQ4Ljk4MTMzMyAxNDIuNzYyNjY2LTExNy4wNzczMzQgMC01OS43MzMzMzMtMzMuNDUwNjY3LTg4LjQwNTMzMy04NC44MjEzMzMtOTcuOTYyNjY2di0xLjc5MmM0OC45ODEzMzMtMTUuNTMwNjY3IDY2LjkwMTMzMy00Ni41OTIgNjYuOTAxMzMzLTg5LjYgMC02NS4xMDkzMzMtNDAuNjE4NjY3LTEwMy4zMzg2NjctMTM0Ljk5NzMzMy0xMDMuMzM4NjY3SDM4NHY0MDkuNzcwNjY3eiBtNzIuODc0NjY3LTU0Ljk1NDY2N3YtMTMxLjQxMzMzM2g2Ni4zMDRjNTEuOTY4IDAgODAuMDQyNjY3IDE3LjkyIDgwLjA0MjY2NiA2NS4xMDkzMzMgMCA0NC44LTI2LjI4MjY2NyA2Ni4zMDQtNzUuODYxMzMzIDY2LjMwNGgtNzAuNDg1MzMzeiBtMC0xODAuMzk0NjY3VjI5OC43MDkzMzNoNjAuMzMwNjY2YzQ3LjE4OTMzMyAwIDcyLjI3NzMzMyAxNC45MzMzMzMgNzIuMjc3MzM0IDU5LjEzNiAwIDQ2LjU5Mi0zMi4yNTYgNjAuOTI4LTc1LjI2NCA2MC45MjhoLTU3LjM0NHoiIGZpbGw9IiNGRkZGRkYiIHAtaWQ9IjI2MjgiPjwvcGF0aD48L3N2Zz4=", Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjQxNjY0IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI3NzciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiM1NEFCMzAiIHAtaWQ9IjI3NzgiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiMzODhEMTQiIHAtaWQ9IjI3NzkiPjwvcGF0aD48cGF0aCBkPSJNNTA2LjQ1MzMzMyA2NzQuNzMwNjY3Yzk5LjE1NzMzMyAwIDE0Ni4zNDY2NjctNDguMzg0IDE0Ni4zNDY2NjctMTI2LjAzNzMzNCAwLTcyLjg3NDY2Ny0zOC44MjY2NjctOTkuNzU0NjY3LTEwMy4zMzg2NjctMTE4LjI3MmwtMzguMjI5MzMzLTExLjk0NjY2NmMtNDAuNjE4NjY3LTExLjM0OTMzMy01Mi41NjUzMzMtMjUuMDg4LTUyLjU2NTMzMy01Ny4zNDQgMC0zMi44NTMzMzMgMjMuODkzMzMzLTUwLjc3MzMzMyA2Ni45MDEzMzMtNTAuNzczMzM0IDQ1LjM5NzMzMyAwIDc4Ljg0OCA5LjU1NzMzMyAxMDQuNTMzMzMzIDIwLjMwOTMzNFYyNzMuMzIyNjY3Yy0yMi42OTg2NjctMTEuOTQ2NjY3LTUxLjk2OC0yMi4xMDEzMzMtMTA1LjcyOC0yMi4xMDEzMzQtOTIuNTg2NjY3IDAtMTM3LjM4NjY2NyA0Ny4xODkzMzMtMTM3LjM4NjY2NiAxMTYuNDggMCA2OS4yOTA2NjcgMzUuMjQyNjY3IDEwMC4zNTIgOTMuMTg0IDExNi40OGwzOC44MjY2NjYgMTAuNzUyYzQ0LjggMTMuNzM4NjY3IDU5LjczMzMzMyAyNi44OCA1OS43MzMzMzQgNjAuOTI4IDAgMzcuMDM0NjY3LTIzLjI5NiA1OS43MzMzMzMtNzguMjUwNjY3IDU5LjczMzMzNC00NC44IDAtODMuNjI2NjY3LTEwLjc1Mi0xMTYuNDgtMjUuMDg4djU3Ljk0MTMzM2MyOC4wNzQ2NjcgMTQuOTMzMzMzIDY4LjY5MzMzMyAyNi4yODI2NjcgMTIyLjQ1MzMzMyAyNi4yODI2Njd6IiBmaWxsPSIjRkZGRkZGIiBwLWlkPSIyNzgwIj48L3BhdGg+PC9zdmc+", Ve = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjI4MjAyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjMwNzgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNDODgwRkYiIHAtaWQ9IjMwNzkiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiNBRTQ0RkYiIHAtaWQ9IjMwODAiPjwvcGF0aD48cGF0aCBkPSJNNDc1LjMwNjY2NyA2NTguMjE4NjY3aDczLjQ3MlYzMDYuMzg5MzMzaDExNi40OFYyNDguNDQ4aC0zMDcuNjI2NjY3djU3Ljk0MTMzM2gxMTcuNjc0NjY3eiIgZmlsbD0iI0ZGRkZGRiIgcC1pZD0iMzA4MSI+PC9wYXRoPjwvc3ZnPg==", { round: He } = xe, W = {
25
25
  // 单屏展示条目上限
26
26
  minValueSpan: 5,
27
27
  maxValueSpan: 2e3,
@@ -46,35 +46,35 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
46
46
  // 每周1根(按5个交易日算)
47
47
  8: 0.033
48
48
  // 每月1根(按21个交易日算)
49
- }, Ye = ({ startTime: i, endTime: z, cycle: r, type: N = "end" }) => {
50
- const { maxValueSpan: j } = W, Y = Math.ceil((j + 1e3) / _e[r]), g = I(i);
51
- if (I(z).diff(g, "day") <= Y)
52
- return [i, z];
53
- if (N === "end")
54
- return [I(z).subtract(Y, "day").format("YYYY-MM-DD HH:mm:ss"), z];
55
- if (N === "middle") {
56
- const O = I((I(i).valueOf() + I(z).valueOf()) / 2).format("YYYY-MM-DD HH:mm:ss");
57
- return console.log("超过一屏数量上限, 进行中间时间计算", O, Y / 2), [
58
- I(O).subtract(Y / 2, "day").format("YYYY-MM-DD HH:mm:ss"),
59
- I(O).add(Y / 2, "day").format("YYYY-MM-DD HH:mm:ss")
49
+ }, Ie = ({ startTime: n, endTime: y, cycle: l, type: d = "end" }) => {
50
+ const { maxValueSpan: j } = W, L = Math.ceil((j + 1e3) / _e[l]), I = g(n);
51
+ if (g(y).diff(I, "day") <= L)
52
+ return [n, y];
53
+ if (d === "end")
54
+ return [g(y).subtract(L, "day").format("YYYY-MM-DD HH:mm:ss"), y];
55
+ if (d === "middle") {
56
+ const O = g((g(n).valueOf() + g(y).valueOf()) / 2).format("YYYY-MM-DD HH:mm:ss");
57
+ return console.log("超过一屏数量上限, 进行中间时间计算", O, L / 2), [
58
+ g(O).subtract(L / 2, "day").format("YYYY-MM-DD HH:mm:ss"),
59
+ g(O).add(L / 2, "day").format("YYYY-MM-DD HH:mm:ss")
60
60
  ];
61
61
  }
62
- }, Be = (i, z) => {
63
- const r = i[z], N = z === 0 ? i[z] : i[z - 1];
64
- return r[0] === r[1] ? r[0] >= N[1] ? {
62
+ }, Be = (n, y) => {
63
+ const l = n[y], d = y === 0 ? n[y] : n[y - 1];
64
+ return l[0] === l[1] ? l[0] >= d[1] ? {
65
65
  color: "transparent",
66
66
  borderColor: "#FF0000"
67
67
  } : {
68
68
  color: "#00FFFF"
69
- } : r[1] > r[0] ? {
69
+ } : l[1] > l[0] ? {
70
70
  color: "transparent",
71
71
  borderColor: "#FF0000"
72
72
  } : {
73
73
  color: "#00FFFF"
74
74
  };
75
- }, Ze = (i, z, r) => {
76
- var j, Y, g, d;
77
- const N = i.subIndicator.map((e) => {
75
+ }, Ze = (n, y, l) => {
76
+ var j, L, I, z;
77
+ const d = n.subIndicator.map((e) => {
78
78
  if (e.series === "bar")
79
79
  return {
80
80
  name: "subMain",
@@ -85,7 +85,7 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
85
85
  symbol: "none",
86
86
  data: e.data.map((O, E) => e.seriesColor === "kline" ? {
87
87
  value: O,
88
- itemStyle: Be(i.data, E)
88
+ itemStyle: Be(n.data, E)
89
89
  } : e.seriesColor === "value" ? {
90
90
  value: O,
91
91
  itemStyle: {
@@ -126,8 +126,8 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
126
126
  dataZoom: [
127
127
  {
128
128
  type: "inside",
129
- startValue: z,
130
- endValue: r,
129
+ startValue: y,
130
+ endValue: l,
131
131
  maxValueSpan: W.maxValueSpan
132
132
  }
133
133
  ],
@@ -150,7 +150,7 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
150
150
  },
151
151
  xAxis: {
152
152
  type: "category",
153
- data: i.time,
153
+ data: n.time,
154
154
  axisLine: {
155
155
  show: !0
156
156
  },
@@ -167,8 +167,8 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
167
167
  },
168
168
  {
169
169
  position: "left",
170
- min: ((j = i.subIndicator[0]) == null ? void 0 : j.leftYAxisRange) === "cover" ? (e) => e.min : null,
171
- max: ((Y = i.subIndicator[0]) == null ? void 0 : Y.leftYAxisRange) === "cover" ? (e) => e.max : null,
170
+ min: ((j = n.subIndicator[0]) == null ? void 0 : j.leftYAxisRange) === "cover" ? (e) => e.min : null,
171
+ max: ((L = n.subIndicator[0]) == null ? void 0 : L.leftYAxisRange) === "cover" ? (e) => e.max : null,
172
172
  splitNumber: 1,
173
173
  axisLine: {
174
174
  show: !0
@@ -183,8 +183,8 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
183
183
  },
184
184
  {
185
185
  position: "right",
186
- min: ((g = i.subIndicator[0]) == null ? void 0 : g.rightYAxisRange) === "cover" ? (e) => e.min : null,
187
- max: ((d = i.subIndicator[0]) == null ? void 0 : d.rightYAxisRange) === "cover" ? (e) => e.max : null,
186
+ min: ((I = n.subIndicator[0]) == null ? void 0 : I.rightYAxisRange) === "cover" ? (e) => e.min : null,
187
+ max: ((z = n.subIndicator[0]) == null ? void 0 : z.rightYAxisRange) === "cover" ? (e) => e.max : null,
188
188
  splitNumber: 1,
189
189
  axisLine: {
190
190
  show: !1
@@ -197,101 +197,101 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
197
197
  }
198
198
  }
199
199
  ],
200
- series: N
200
+ series: d
201
201
  };
202
- }, ue = (i, z, r = "strict") => {
203
- let N = 0, j = i.length - 1, Y = -1;
204
- for (; N <= j; ) {
205
- let g = Math.floor((N + j) / 2);
206
- if (r === "strict") {
207
- if (i[g] === z)
208
- return g;
209
- i[g] < z ? N = g + 1 : j = g - 1;
202
+ }, fe = (n, y, l = "strict") => {
203
+ let d = 0, j = n.length - 1, L = -1;
204
+ for (; d <= j; ) {
205
+ let I = Math.floor((d + j) / 2);
206
+ if (l === "strict") {
207
+ if (n[I] === y)
208
+ return I;
209
+ n[I] < y ? d = I + 1 : j = I - 1;
210
210
  } else
211
- r === "gte" && (i[g] >= z ? (Y = g, j = g - 1) : N = g + 1);
211
+ l === "gte" && (n[I] >= y ? (L = I, j = I - 1) : d = I + 1);
212
212
  }
213
- return r === "strict" ? -1 : Y;
214
- }, Le = (i, z) => ({
215
- data: [...i.data, ...z.data.slice(1)],
216
- mainIndicator: i.mainIndicator.map((r, N) => ({
217
- ...r,
218
- data: [...r.data, ...z.mainIndicator[N].data.slice(1)]
213
+ return l === "strict" ? -1 : L;
214
+ }, Ye = (n, y) => ({
215
+ data: [...n.data, ...y.data.slice(1)],
216
+ mainIndicator: n.mainIndicator.map((l, d) => ({
217
+ ...l,
218
+ data: [...l.data, ...y.mainIndicator[d].data.slice(1)]
219
219
  })),
220
- subIndicator: i.subIndicator.map((r, N) => ({
221
- ...r,
222
- data: [...r.data, ...z.subIndicator[N].data.slice(1)]
220
+ subIndicator: n.subIndicator.map((l, d) => ({
221
+ ...l,
222
+ data: [...l.data, ...y.subIndicator[d].data.slice(1)]
223
223
  })),
224
- time: [...i.time, ...z.time.slice(1)]
225
- }), je = (i, z, r) => {
226
- switch (r) {
224
+ time: [...n.time, ...y.time.slice(1)]
225
+ }), ue = (n, y, l) => {
226
+ switch (l) {
227
227
  case "5": {
228
- let L = [
228
+ let Y = [
229
229
  ...new Set(
230
- i.slice(-20).map((D) => {
231
- const a = new Date(D), s = String(a.getHours()).padStart(2, "0"), m = String(a.getMinutes()).padStart(2, "0"), b = String(a.getSeconds()).padStart(2, "0");
232
- return `${s}:${m}:${b}`;
230
+ n.slice(-20).map((D) => {
231
+ const M = new Date(D), r = String(M.getHours()).padStart(2, "0"), m = String(M.getMinutes()).padStart(2, "0"), k = String(M.getSeconds()).padStart(2, "0");
232
+ return `${r}:${m}:${k}`;
233
233
  })
234
234
  )
235
235
  ];
236
- L.includes("00:00:00") && (L.splice(L.indexOf("00:00:00"), 1), L.push("24:00:00")), L = L.sort((D, a) => (/* @__PURE__ */ new Date(`2000-01-30 ${D}`)).getTime() - (/* @__PURE__ */ new Date(`2000-01-30 ${a}`)).getTime());
237
- const T = new Date(z), c = T.getFullYear(), u = String(T.getMonth() + 1).padStart(2, "0"), M = String(T.getDate()).padStart(2, "0"), p = String(T.getHours()).padStart(2, "0"), l = String(T.getMinutes()).padStart(2, "0"), n = String(T.getSeconds()).padStart(2, "0");
238
- if (`${p}:${l}:${n}` == "00:00:00")
239
- return `${c}-${u}-${M} 01:00:00`;
236
+ Y.includes("00:00:00") && (Y.splice(Y.indexOf("00:00:00"), 1), Y.push("24:00:00")), Y = Y.sort((D, M) => (/* @__PURE__ */ new Date(`2000-01-30 ${D}`)).getTime() - (/* @__PURE__ */ new Date(`2000-01-30 ${M}`)).getTime());
237
+ const T = new Date(y), s = T.getFullYear(), c = String(T.getMonth() + 1).padStart(2, "0"), a = String(T.getDate()).padStart(2, "0"), p = String(T.getHours()).padStart(2, "0"), N = String(T.getMinutes()).padStart(2, "0"), i = String(T.getSeconds()).padStart(2, "0");
238
+ if (`${p}:${N}:${i}` == "00:00:00")
239
+ return `${s}-${c}-${a} 01:00:00`;
240
240
  {
241
241
  let D = null;
242
- for (let a = 0; a < L.length; a++) {
243
- const s = L[a].split(":");
244
- if (+`${s[0]}${s[1]}${s[2]}` >= +`${p}${l}${n}`) {
245
- D = L[a];
242
+ for (let M = 0; M < Y.length; M++) {
243
+ const r = Y[M].split(":");
244
+ if (+`${r[0]}${r[1]}${r[2]}` >= +`${p}${N}${i}`) {
245
+ D = Y[M];
246
246
  break;
247
247
  }
248
248
  }
249
249
  if (D === "24:00:00") {
250
- const a = new Date(z);
251
- a.setDate(a.getDate() + 1);
252
- const s = a.getFullYear(), m = String(a.getMonth() + 1).padStart(2, "0"), b = String(a.getDate()).padStart(2, "0");
253
- return `${s}-${m}-${b} 00:00:00`;
250
+ const M = new Date(y);
251
+ M.setDate(M.getDate() + 1);
252
+ const r = M.getFullYear(), m = String(M.getMonth() + 1).padStart(2, "0"), k = String(M.getDate()).padStart(2, "0");
253
+ return `${r}-${m}-${k} 00:00:00`;
254
254
  }
255
- return `${c}-${u}-${M} ${D}`;
255
+ return `${s}-${c}-${a} ${D}`;
256
256
  }
257
257
  }
258
258
  case "6": {
259
- const L = new Date(z), T = L.getHours();
259
+ const Y = new Date(y), T = Y.getHours();
260
260
  if (T >= 4 && T < 21) {
261
- const c = L.getFullYear(), u = String(L.getMonth() + 1).padStart(2, "0"), M = String(L.getDate()).padStart(2, "0");
262
- return `${c}-${u}-${M} 09:00:00`;
261
+ const s = Y.getFullYear(), c = String(Y.getMonth() + 1).padStart(2, "0"), a = String(Y.getDate()).padStart(2, "0");
262
+ return `${s}-${c}-${a} 09:00:00`;
263
263
  } else {
264
- const c = new Date(z);
265
- c.getHours() >= 21 && c.setDate(c.getDate() + 1);
266
- const u = c.getFullYear(), M = String(c.getMonth() + 1).padStart(2, "0"), p = String(c.getDate()).padStart(2, "0"), l = `${u}-${M}-${p} 09:00:00`, n = ue(i, l, "gte");
267
- return n === -1 ? l : i[n];
264
+ const s = new Date(y);
265
+ s.getHours() >= 21 && s.setDate(s.getDate() + 1);
266
+ const c = s.getFullYear(), a = String(s.getMonth() + 1).padStart(2, "0"), p = String(s.getDate()).padStart(2, "0"), N = `${c}-${a}-${p} 09:00:00`, i = fe(n, N, "gte");
267
+ return i === -1 ? N : n[i];
268
268
  }
269
269
  }
270
270
  case "7": {
271
- const L = new Date(z), T = new Date(L);
272
- T.setDate(L.getDate() - L.getDay()), T.setHours(0, 0, 0, 0);
271
+ const Y = new Date(y), T = new Date(Y);
272
+ T.setDate(Y.getDate() - Y.getDay()), T.setHours(0, 0, 0, 0);
273
+ const s = new Date(T);
274
+ s.setDate(T.getDate() + 5), s.setHours(23, 59, 59, 0);
273
275
  const c = new Date(T);
274
- c.setDate(T.getDate() + 5), c.setHours(23, 59, 59, 0);
275
- const u = new Date(T);
276
- u.setDate(T.getDate() + 12), u.setHours(9, 0, 0, 0);
277
- const M = L <= c ? c : u, p = M.getFullYear(), l = String(M.getMonth() + 1).padStart(2, "0"), n = String(M.getDate()).padStart(2, "0");
278
- return `${p}-${l}-${n} 09:00:00`;
276
+ c.setDate(T.getDate() + 12), c.setHours(9, 0, 0, 0);
277
+ const a = Y <= s ? s : c, p = a.getFullYear(), N = String(a.getMonth() + 1).padStart(2, "0"), i = String(a.getDate()).padStart(2, "0");
278
+ return `${p}-${N}-${i} 09:00:00`;
279
279
  }
280
280
  case "8": {
281
- const L = new Date(z), T = new Date(L.getFullYear(), L.getMonth() + 1, 1), c = new Date(T);
282
- c.setDate(T.getDate() - 1), c.setHours(9, 0, 0, 0);
283
- const u = c.getFullYear(), M = String(c.getMonth() + 1).padStart(2, "0"), p = String(c.getDate()).padStart(2, "0");
284
- return `${u}-${M}-${p} 09:00:00`;
281
+ const Y = new Date(y), T = new Date(Y.getFullYear(), Y.getMonth() + 1, 1), s = new Date(T);
282
+ s.setDate(T.getDate() - 1), s.setHours(9, 0, 0, 0);
283
+ const c = s.getFullYear(), a = String(s.getMonth() + 1).padStart(2, "0"), p = String(s.getDate()).padStart(2, "0");
284
+ return `${c}-${a}-${p} 09:00:00`;
285
285
  }
286
286
  }
287
- const N = new Date(z), j = N.getFullYear(), Y = N.getMonth(), g = N.getDate(), d = N.getHours(), e = N.getMinutes(), O = N.getSeconds(), E = (L) => {
287
+ const d = new Date(y), j = d.getFullYear(), L = d.getMonth(), I = d.getDate(), z = d.getHours(), e = d.getMinutes(), O = d.getSeconds(), E = (Y) => {
288
288
  let T = null;
289
- const c = Math.floor(e / L);
290
- e % L === 0 && O === 0 ? T = e : T = (c + 1) * L;
291
- const u = Math.floor(T / 60), M = d + u, p = T % 60, l = new Date(j, Y, g, M, p, 0), n = (S) => String(S).padStart(2, "0"), D = l.getFullYear(), a = n(l.getMonth() + 1), s = n(l.getDate()), m = n(l.getHours()), b = n(l.getMinutes());
292
- return `${D}-${a}-${s} ${m}:${b}:00`;
289
+ const s = Math.floor(e / Y);
290
+ e % Y === 0 && O === 0 ? T = e : T = (s + 1) * Y;
291
+ const c = Math.floor(T / 60), a = z + c, p = T % 60, N = new Date(j, L, I, a, p, 0), i = (Q) => String(Q).padStart(2, "0"), D = N.getFullYear(), M = i(N.getMonth() + 1), r = i(N.getDate()), m = i(N.getHours()), k = i(N.getMinutes());
292
+ return `${D}-${M}-${r} ${m}:${k}:00`;
293
293
  };
294
- switch (r) {
294
+ switch (l) {
295
295
  case "1":
296
296
  return E(1);
297
297
  case "2":
@@ -301,61 +301,55 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
301
301
  case "4":
302
302
  return E(30);
303
303
  default:
304
- throw new Error(`Unsupported cycle: ${z} ${r}`);
304
+ throw new Error(`Unsupported cycle: ${y} ${l}`);
305
305
  }
306
- }, ce = (i, z, r) => {
307
- let N = null, j = null;
308
- const [Y, g] = z;
309
- switch (r) {
306
+ }, ce = (n, y, l) => {
307
+ let d = null, j = null;
308
+ const [L, I] = y;
309
+ switch (l) {
310
310
  case "6": {
311
- N = i.find((d) => new Date(I(d).format("YYYY-MM-DD 23:59:59")).getTime() >= new Date(Y).getTime()), j = i.findLast((d) => new Date(I(d).format("YYYY-MM-DD 00:00:00")).getTime() <= new Date(g).getTime());
311
+ d = n.find((z) => new Date(g(z).format("YYYY-MM-DD 23:59:59")).getTime() >= new Date(L).getTime()), j = n.findLast((z) => new Date(g(z).format("YYYY-MM-DD 00:00:00")).getTime() <= new Date(I).getTime());
312
312
  break;
313
313
  }
314
314
  case "7": {
315
- const d = I(g).endOf("week").add(1, "day").format("YYYY-MM-DD 23:59:59");
316
- N = i.find((e) => I(e).endOf("week").add(1, "day").format("YYYY-MM-DD") === I(Y).endOf("week").add(1, "day").format("YYYY-MM-DD")), j = i.findLast((e) => new Date(e).getTime() <= new Date(d).getTime());
315
+ const z = g(I).endOf("week").add(1, "day").format("YYYY-MM-DD 23:59:59");
316
+ d = n.find((e) => g(e).endOf("week").add(1, "day").format("YYYY-MM-DD") === g(L).endOf("week").add(1, "day").format("YYYY-MM-DD")), j = n.findLast((e) => new Date(e).getTime() <= new Date(z).getTime());
317
317
  break;
318
318
  }
319
319
  case "8": {
320
- N = i.find((d) => I(d).format("YYYY-MM") === I(Y).format("YYYY-MM")), j = i.findLast((d) => I(d).format("YYYY-MM") === I(g).format("YYYY-MM"));
320
+ d = n.find((z) => g(z).format("YYYY-MM") === g(L).format("YYYY-MM")), j = n.findLast((z) => g(z).format("YYYY-MM") === g(I).format("YYYY-MM"));
321
321
  break;
322
322
  }
323
323
  default:
324
- N = i.find((d) => new Date(d).getTime() >= new Date(Y).getTime()), j = i.findLast((d) => new Date(d).getTime() <= new Date(g).getTime());
324
+ d = n.find((z) => new Date(z).getTime() >= new Date(L).getTime()), j = n.findLast((z) => new Date(z).getTime() <= new Date(I).getTime());
325
325
  }
326
- return [N, j];
327
- }, Ge = (i) => {
328
- const z = [];
329
- return i.reduce((r, N) => {
330
- const j = `${N.coord[0]}+${N.label.position}`, Y = N.label.position === "top" ? -16 : 16, g = r.get(j);
331
- return g ? (r.set(j, g + 1), N.symbolOffset[1] = Y * (g + 1)) : (r.set(j, 1), N.symbolOffset[1] = N.label.position === "top" ? -7 : 7), z.push(N), r;
332
- }, /* @__PURE__ */ new Map()), z;
333
- }, $e = (i, z, r, N, j) => {
334
- const Y = (T, c) => {
335
- const { direction: u = "", tradeAction: M = "", tradeType: p = "" } = T, l = p ?? u + M;
336
- switch (c) {
326
+ return [d, j];
327
+ }, Ge = (n, y, l, d, j) => {
328
+ const L = (T, s) => {
329
+ const { direction: c = "", tradeAction: a = "", tradeType: p = "" } = T, N = p ?? c + a;
330
+ switch (s) {
337
331
  case 0:
338
332
  return (/* @__PURE__ */ new Map([
339
333
  ["开多", "买"],
340
334
  ["平多", "卖"],
341
335
  ["开空", "卖"],
342
336
  ["平空", "买"]
343
- ])).get(l);
337
+ ])).get(N);
344
338
  case 1:
345
- return p ?? u + M;
339
+ return p ?? c + a;
346
340
  }
347
- }, g = (T, c, u, M) => T.reduce((p, l) => {
348
- var S;
349
- const n = Y(l, 0), D = T.filter((P) => P.klineTime === l.klineTime), a = [...new Set(D.map((P) => Y(P, 0)))];
350
- let s = null;
351
- a.length > 1 ? s = "image://" + new URL("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjI4MjAyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjMwNzgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNDODgwRkYiIHAtaWQ9IjMwNzkiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiNBRTQ0RkYiIHAtaWQ9IjMwODAiPjwvcGF0aD48cGF0aCBkPSJNNDc1LjMwNjY2NyA2NTguMjE4NjY3aDczLjQ3MlYzMDYuMzg5MzMzaDExNi40OFYyNDguNDQ4aC0zMDcuNjI2NjY3djU3Ljk0MTMzM2gxMTcuNjc0NjY3eiIgZmlsbD0iI0ZGRkZGRiIgcC1pZD0iMzA4MSI+PC9wYXRoPjwvc3ZnPg==", self.location).href : s = "image://" + new URL((/* @__PURE__ */ Object.assign({ "./images/buy.svg": Ue, "./images/sell.svg": Fe, "./images/t.svg": Ve }))[`./images/${n === "买" ? "buy" : "sell"}.svg`], self.location).href;
352
- const m = ue(u, l.klineTime), b = (S = M[m]) == null ? void 0 : S[3];
353
- return c.forEach((P) => {
341
+ }, I = (T, s, c, a) => T.reduce((p, N) => {
342
+ var Q;
343
+ const i = L(N, 0), D = T.filter((_) => _.klineTime === N.klineTime), M = [...new Set(D.map((_) => L(_, 0)))];
344
+ let r = null;
345
+ M.length > 1 ? r = "image://" + new URL("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjI4MjAyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjMwNzgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNDODgwRkYiIHAtaWQ9IjMwNzkiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiNBRTQ0RkYiIHAtaWQ9IjMwODAiPjwvcGF0aD48cGF0aCBkPSJNNDc1LjMwNjY2NyA2NTguMjE4NjY3aDczLjQ3MlYzMDYuMzg5MzMzaDExNi40OFYyNDguNDQ4aC0zMDcuNjI2NjY3djU3Ljk0MTMzM2gxMTcuNjc0NjY3eiIgZmlsbD0iI0ZGRkZGRiIgcC1pZD0iMzA4MSI+PC9wYXRoPjwvc3ZnPg==", self.location).href : r = "image://" + new URL((/* @__PURE__ */ Object.assign({ "./images/buy.svg": Fe, "./images/sell.svg": Ue, "./images/t.svg": Ve }))[`./images/${i === "买" ? "buy" : "sell"}.svg`], self.location).href;
346
+ const m = fe(c, N.klineTime), k = (Q = a[m]) == null ? void 0 : Q[3];
347
+ return s.forEach((_) => {
354
348
  var B;
355
- const K = n === "买" ? 0 : 1;
356
- P.range[K] === l.klineTime && (P.rangeValue[K] = (B = M[m]) == null ? void 0 : B[n === "买" ? 2 : 3]);
349
+ const ae = i === "买" ? 0 : 1;
350
+ _.range[ae] === N.klineTime && (_.rangeValue[ae] = (B = a[m]) == null ? void 0 : B[i === "买" ? 2 : 3]);
357
351
  }), p.push({
358
- symbol: s,
352
+ symbol: r,
359
353
  symbolSize: 25,
360
354
  symbolRotate: 0,
361
355
  symbolOffset: [0, 0],
@@ -363,106 +357,105 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
363
357
  show: !1,
364
358
  position: "top"
365
359
  },
366
- coord: [l.klineTime, b],
360
+ coord: [N.klineTime, k],
367
361
  silent: !0,
368
362
  animation: !1,
369
363
  customData: {
370
- tradeType: n,
371
- amount: l.amount,
364
+ tradeType: i,
365
+ amount: N.amount,
372
366
  // 手数
373
- part: l.part,
367
+ part: N.part,
374
368
  // 份数
375
- profitAndLoss: l.profitAndLoss,
369
+ profitAndLoss: N.profitAndLoss,
376
370
  // 盈亏
377
- openPriceAll: l.openPriceAll,
371
+ openPriceAll: N.openPriceAll,
378
372
  // 开仓价
379
- closePriceAll: l.closePriceAll
373
+ closePriceAll: N.closePriceAll
380
374
  // 收仓价
381
375
  }
382
376
  }), p;
383
- }, []), d = (T, c, u, M) => T.reduce((p, l, n) => {
384
- var b, S;
385
- const D = Y(l, 1), a = ["开多", "开空"].includes(D) ? "top" : "bottom", s = ue(u, l.klineTime), m = a === "top" ? (b = M[s]) == null ? void 0 : b[3] : (S = M[s]) == null ? void 0 : S[2];
386
- return c.forEach((P) => {
387
- (a === "top" ? P.range[0] : P.range[1]) === l.klineTime && (P.rangeValue[a === "top" ? 0 : 1] = m);
377
+ }, []), z = (T, s, c, a) => T.reduce((p, N, i) => {
378
+ const D = L(N, 1), M = ["开多", "开空"].includes(D) ? "top" : "bottom", r = M === "top" ? (N.openPriceAll / N.amount).toFixed(2) : (N.closePriceAll / N.amount).toFixed(2);
379
+ return s.forEach((m) => {
380
+ (M === "top" ? m.range[0] : m.range[1]) === N.klineTime && (m.rangeValue[M === "top" ? 0 : 1] = r);
388
381
  }), p.push({
389
382
  symbol: "triangle",
390
383
  symbolSize: [10, 12],
391
- symbolRotate: a === "top" ? 180 : 0,
384
+ symbolRotate: M === "top" ? 180 : 0,
392
385
  symbolOffset: [0, 0],
393
386
  label: {
394
387
  show: !0,
395
- position: a,
388
+ position: M,
396
389
  color: "#fff",
397
- formatter: `${D} ${a === "top" ? "+" : "-"} ${l.amount}手 ${l.part ? `(${l.part}份)` : ""}`
390
+ formatter: `${D} ${M === "top" ? "+" : "-"} ${N.amount}手 ${N.part ? `(${N.part}份)` : ""}`
398
391
  },
399
- itemStyle: { color: a === "top" ? "#FF0000" : "#389e0d" },
400
- coord: [l.klineTime, m],
392
+ itemStyle: { color: M === "top" ? "#FF0000" : "#389e0d" },
393
+ coord: [N.klineTime, r],
401
394
  silent: !0,
402
395
  animation: !1,
403
396
  customData: {
404
397
  tradeType: D,
405
- amount: l.amount,
398
+ amount: N.amount,
406
399
  // 手数
407
- part: l.part,
400
+ part: N.part,
408
401
  // 份数
409
- profitAndLoss: l.profitAndLoss,
402
+ profitAndLoss: N.profitAndLoss,
410
403
  // 盈亏
411
- openPriceAll: l.openPriceAll,
404
+ openPriceAll: N.openPriceAll,
412
405
  // 开仓价
413
- closePriceAll: l.closePriceAll
406
+ closePriceAll: N.closePriceAll
414
407
  // 收仓价
415
408
  }
416
409
  }), p;
417
- }, []), e = (T, c, u) => {
418
- const { basePointData: M, baseLineData: p } = T.reduce(
419
- (a, s) => {
410
+ }, []), e = (T, s, c) => {
411
+ const { basePointData: a, baseLineData: p } = T.reduce(
412
+ (M, r) => {
420
413
  const m = {
421
- pointTime: s.openTime,
422
- // 交易点位的真实时间
423
- klineTime: je(u, s.openTime, c),
424
- // 交易点位的K线时间
414
+ pointTime: r.openTime,
415
+ // 交易时间
425
416
  tradeAction: "开",
426
417
  // 交易行为
427
- tradeDirection: s.tradeDirection ? "空" : "多",
418
+ tradeDirection: r.tradeDirection ? "空" : "多",
428
419
  // 交易方向 1:空, 0:多
429
- tradeType: `开${s.tradeDirection ? "空" : "多"}`,
420
+ tradeType: `开${r.tradeDirection ? "空" : "多"}`,
430
421
  part: null,
431
422
  // 份数,
432
- amount: s.tradeVolume,
423
+ amount: r.tradeVolume,
433
424
  // 手数
434
- profitAndLoss: s.profitAndLoss,
425
+ profitAndLoss: r.profitAndLoss,
435
426
  // 盈亏
436
- openPriceAll: s.openPrice * s.tradeVolume,
437
- // 开仓价格
438
- closePriceAll: s.closePrice * s.tradeVolume
439
- // 平仓价格
440
- }, b = {
441
- pointTime: s.closeTime,
442
- // 交易点位的真实时间
443
- klineTime: je(u, s.closeTime, c),
444
- // 交易点位的K线时间
427
+ openPriceAll: r.openPrice * r.tradeVolume,
428
+ // 开仓总价
429
+ closePriceAll: r.closePrice * r.tradeVolume,
430
+ // 平仓总价
431
+ klineTime: ue(c, r.openTime, s)
432
+ // K线时间
433
+ }, k = {
434
+ pointTime: r.closeTime,
435
+ // 交易时间
445
436
  tradeAction: "平",
446
437
  // 交易行为
447
- tradeDirection: s.tradeDirection ? "空" : "多",
438
+ tradeDirection: r.tradeDirection ? "空" : "多",
448
439
  // 交易方向 1:空, 0:多
449
- tradeType: `平${s.tradeDirection ? "空" : "多"}`,
440
+ tradeType: `平${r.tradeDirection ? "空" : "多"}`,
450
441
  part: null,
451
442
  // 份数,
452
- amount: s.tradeVolume,
443
+ amount: r.tradeVolume,
453
444
  // 手数
454
- profitAndLoss: s.profitAndLoss,
445
+ profitAndLoss: r.profitAndLoss,
455
446
  // 盈亏
456
- openPriceAll: s.openPrice * s.tradeVolume,
457
- // 开仓价格
458
- closePriceAll: s.closePrice * s.tradeVolume
459
- // 平仓价格
460
- };
461
- return a.basePointData.push(m, b), a.baseLineData.push({
462
- range: [m.klineTime, b.klineTime],
447
+ openPriceAll: r.openPrice * r.tradeVolume,
448
+ // 开仓总价
449
+ closePriceAll: r.closePrice * r.tradeVolume,
450
+ // 平仓总价
451
+ klineTime: ue(c, r.closeTime, s)
452
+ // K线时间
453
+ }, Q = {
454
+ range: [m.klineTime, k.klineTime],
463
455
  rangeValue: [null, null],
464
- color: b.profitAndLoss > 0 ? "#FF0000" : "#389e0d"
465
- }), a;
456
+ color: k.profitAndLoss > 0 ? "#FF0000" : "#389e0d"
457
+ };
458
+ return M.basePointData.push(m, k), M.baseLineData.push(Q), M;
466
459
  },
467
460
  {
468
461
  basePointData: [],
@@ -470,60 +463,60 @@ const Ue = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPS
470
463
  baseLineData: []
471
464
  // 连线数据
472
465
  }
473
- ), n = [...M.reduce((a, s) => {
474
- const m = JSON.parse(JSON.stringify(s)), b = m.klineTime + m.tradeType;
475
- if (a.has(b)) {
476
- const S = a.get(b);
477
- m.amount += S.amount, m.part += S.part, m.profitAndLoss += S.profitAndLoss, m.openPriceAll += S.openPriceAll, m.closePriceAll += S.closePriceAll;
466
+ ), i = [...a.reduce((M, r) => {
467
+ const m = JSON.parse(JSON.stringify(r)), k = m.klineTime + m.tradeType;
468
+ if (M.has(k)) {
469
+ const Q = M.get(k);
470
+ m.amount += Q.amount, m.part += Q.part, m.profitAndLoss += Q.profitAndLoss, m.openPriceAll += Q.openPriceAll, m.closePriceAll += Q.closePriceAll;
478
471
  }
479
- return a.set(b, m), a;
480
- }, /* @__PURE__ */ new Map([])).values()].sort((a, s) => new Date(a.klineTime) - new Date(s.klineTime)), D = p.filter(({ range: a }) => a[0] !== a[1]);
481
- return { pointData: n, lineData: D };
482
- }, { pointData: O, lineData: E } = e(i, z, N);
472
+ return M.set(k, m), M;
473
+ }, /* @__PURE__ */ new Map([])).values()].sort((M, r) => new Date(M.klineTime) - new Date(r.klineTime)), D = p.filter(({ range: M }) => M[0] !== M[1]);
474
+ return { pointData: i, lineData: D };
475
+ }, { pointData: O, lineData: E } = e(n, y, d);
483
476
  return {
484
- tradePointData: (r === 0 ? g : d)(O, E, N, j),
485
- tradeLineData: E.map(({ range: T, rangeValue: c, color: u }) => [
477
+ tradePointData: (l === 0 ? I : z)(O, E, d, j),
478
+ tradeLineData: E.map(({ range: T, rangeValue: s, color: c }) => [
486
479
  {
487
480
  symbol: "none",
488
- coord: [T[0], c[0]],
489
- lineStyle: { color: u, width: 2, type: "solid" },
481
+ coord: [T[0], s[0]],
482
+ lineStyle: { color: c, width: 2, type: "solid" },
490
483
  silent: !0,
491
484
  animation: !1
492
485
  },
493
486
  {
494
487
  symbol: "none",
495
- coord: [T[1], c[1]],
488
+ coord: [T[1], s[1]],
496
489
  silent: !0,
497
490
  animation: !1
498
491
  }
499
492
  ])
500
493
  };
501
- }, We = (i, z) => {
502
- let r = [];
503
- if (Number(z) <= 5)
504
- r = i.map(({ tradeDate: N, netPositionValue: j }) => [I(N).format("YYYY-MM-DD HH:mm:ss"), j]);
505
- else if (Number(z) === 6) {
506
- const N = i.reduce((j, Y) => {
507
- const { tradeDate: g, netPositionValue: d } = Y;
508
- return j.set(I(g).format("YYYY-MM-DD 09:00:00"), d), j;
494
+ }, $e = (n, y) => {
495
+ let l = [];
496
+ if (Number(y) <= 5)
497
+ l = n.map(({ tradeDate: d, netPositionValue: j }) => [g(d).format("YYYY-MM-DD HH:mm:ss"), j]);
498
+ else if (Number(y) === 6) {
499
+ const d = n.reduce((j, L) => {
500
+ const { tradeDate: I, netPositionValue: z } = L;
501
+ return j.set(g(I).format("YYYY-MM-DD 09:00:00"), z), j;
509
502
  }, /* @__PURE__ */ new Map());
510
- r = Array.from(N, ([j, Y]) => [j, Y]);
503
+ l = Array.from(d, ([j, L]) => [j, L]);
511
504
  } else
512
- r = [];
513
- return { netPositionLineData: r };
514
- }, Je = (i, z, r, N) => {
505
+ l = [];
506
+ return { netPositionLineData: l };
507
+ }, We = (n, y, l, d) => {
515
508
  let j = [];
516
- if (["6", "7", "8"].includes(z)) {
517
- const Y = i.reduce((g, d) => {
518
- const e = je(N, d.date, z), O = d[r === 0 ? "simple" : "compound"];
519
- return g.set(e, O), g;
509
+ if (["6", "7", "8"].includes(y)) {
510
+ const L = n.reduce((I, z) => {
511
+ const e = ue(d, z.date, y), O = z[l === 0 ? "simple" : "compound"];
512
+ return I.set(e, O), I;
520
513
  }, /* @__PURE__ */ new Map());
521
- j = Array.from(Y, ([g, d]) => [g, d]);
514
+ j = Array.from(L, ([I, z]) => [I, z]);
522
515
  } else
523
516
  j = [];
524
517
  return { tradeIncomeRateLineData: j };
525
518
  };
526
- const Ke = { class: "tips" }, qe = {
519
+ const Je = { class: "tips" }, Ke = {
527
520
  __name: "Tips",
528
521
  props: {
529
522
  data: {
@@ -531,17 +524,17 @@ const Ke = { class: "tips" }, qe = {
531
524
  default: () => []
532
525
  }
533
526
  },
534
- setup(i) {
535
- return (z, r) => (F(), _("div", Ke, [
536
- (F(!0), _(me, null, Ae(i.data, (N, j) => (F(), _("span", {
527
+ setup(n) {
528
+ return (y, l) => (F(), H("div", Je, [
529
+ (F(!0), H(Le, null, me(n.data, (d, j) => (F(), H("span", {
537
530
  key: j,
538
531
  class: "item",
539
- style: Ee({ color: N.color })
540
- }, Me(N.label) + " " + Me(N.value), 5))), 128))
532
+ style: Ee({ color: d.color })
533
+ }, te(d.label) + " " + te(d.value), 5))), 128))
541
534
  ]));
542
535
  }
543
- }, le = /* @__PURE__ */ ze(qe, [["__scopeId", "data-v-df1caefe"]]);
544
- const Xe = {
536
+ }, le = /* @__PURE__ */ je(Ke, [["__scopeId", "data-v-df1caefe"]]);
537
+ const qe = {
545
538
  __name: "SliderChart",
546
539
  props: {
547
540
  // K线当屏时间范围
@@ -561,44 +554,44 @@ const Xe = {
561
554
  // 三方标记(不需要token授权)
562
555
  },
563
556
  emits: ["change"],
564
- setup(i, { expose: z, emit: r }) {
565
- const { request: N } = we("stConfig");
557
+ setup(n, { expose: y, emit: l }) {
558
+ const { request: d } = Ae("stConfig");
566
559
  let j = null;
567
- const Y = U(null), g = r, d = i, e = U({
560
+ const L = R(null), I = l, z = n, e = R({
568
561
  data: [],
569
562
  // <[开 收 低 高 成交额 涨跌值 涨跌百分比]>
570
563
  mainIndicator: [],
571
564
  subIndicator: [],
572
565
  time: []
573
566
  }), O = async () => {
574
- const c = {
575
- varietyCode: d.varietyCode,
567
+ const s = {
568
+ varietyCode: z.varietyCode,
576
569
  cycle: "6",
577
- right: d.varietyStock === 1 ? d.rightType : 0,
570
+ right: z.varietyStock === 1 ? z.rightType : 0,
578
571
  // 复权方式
579
- contractType: d.varietyStock ? null : d.klineType,
572
+ contractType: z.varietyStock ? null : z.klineType,
580
573
  // 合约类型
581
574
  startTime: "1999-01-01 00:00:00",
582
- endTime: I().format("YYYY-MM-DD 23:59:59"),
583
- deleteFirstNumber: d.deleteFirstNumber,
584
- withoutPermission: d.withoutPermission
585
- }, { body: u } = await N.post("/middleLayer/kline/getKline", c);
586
- u ? e.value = u : e.value = { data: [], mainIndicator: [], subIndicator: [], time: [] }, T("init");
587
- }, E = ae((c) => {
588
- if (!c.dataZoomId)
575
+ endTime: g().format("YYYY-MM-DD 23:59:59"),
576
+ deleteFirstNumber: z.deleteFirstNumber,
577
+ withoutPermission: z.withoutPermission
578
+ }, { body: c } = await d.post("/middleLayer/kline/getKline", s);
579
+ c ? e.value = c : e.value = { data: [], mainIndicator: [], subIndicator: [], time: [] }, T("init");
580
+ }, E = Me((s) => {
581
+ if (!s.dataZoomId)
589
582
  return;
590
- const u = j.getOption();
591
- if (u != null && u.dataZoom[0]) {
592
- const { startValue: M, endValue: p } = j.getOption().dataZoom[0], { time: l } = e.value, n = `${l[M].split(" ")[0]} 00:00:00`, D = `${l[p].split(" ")[0]} 23:59:59`;
593
- console.log(`检测到拖拽轴被拖动, 时间区间: ${n} - ${D}`), g("change", { startTime: n, endTime: D });
583
+ const c = j.getOption();
584
+ if (c != null && c.dataZoom[0]) {
585
+ const { startValue: a, endValue: p } = j.getOption().dataZoom[0], { time: N } = e.value, i = `${N[a].split(" ")[0]} 00:00:00`, D = `${N[p].split(" ")[0]} 23:59:59`;
586
+ console.log(`检测到拖拽轴被拖动, 时间区间: ${i} - ${D}`), I("change", { startTime: i, endTime: D });
594
587
  }
595
- }, 200), L = ae(({ startTime: c, endTime: u }) => {
596
- T("reset", { startTime: c, endTime: u });
597
- }, 100), T = (c, u) => {
598
- switch (c) {
588
+ }, 200), Y = Me(({ startTime: s, endTime: c }) => {
589
+ T("reset", { startTime: s, endTime: c });
590
+ }, 100), T = (s, c) => {
591
+ switch (s) {
599
592
  case "init": {
600
- const { data: M, time: p } = e.value, { xAxisData: l, lineData: n } = M.reduce(
601
- (a, s, m) => (a.xAxisData.push(p[m].split(" ")[0]), a.lineData.push(s[1]), a),
593
+ const { data: a, time: p } = e.value, { xAxisData: N, lineData: i } = a.reduce(
594
+ (M, r, m) => (M.xAxisData.push(p[m].split(" ")[0]), M.lineData.push(r[1]), M),
602
595
  { xAxisData: [], lineData: [] }
603
596
  ), D = {
604
597
  grid: {
@@ -608,7 +601,7 @@ const Xe = {
608
601
  },
609
602
  xAxis: {
610
603
  type: "category",
611
- data: l,
604
+ data: N,
612
605
  show: !1
613
606
  },
614
607
  yAxis: {
@@ -631,67 +624,67 @@ const Xe = {
631
624
  ],
632
625
  series: [
633
626
  {
634
- data: n,
627
+ data: i,
635
628
  type: "line"
636
629
  }
637
630
  ]
638
631
  };
639
- if (j.setOption(D, !0), d.screenTimeRange.length) {
640
- const [a, s] = d.screenTimeRange;
641
- L({ startTime: a, endTime: s });
632
+ if (j.setOption(D, !0), z.screenTimeRange.length) {
633
+ const [M, r] = z.screenTimeRange;
634
+ Y({ startTime: M, endTime: r });
642
635
  }
643
636
  break;
644
637
  }
645
638
  case "reset": {
646
- const { time: M } = e.value, p = I(u.startTime).format("YYYY-MM-DD"), l = I(u.endTime).format("YYYY-MM-DD");
647
- let n = -1, D = -1;
648
- for (let a = 0; a < M.length; a++) {
649
- const s = I(M[a]).format("YYYY-MM-DD");
650
- if (n !== -1 && D !== -1)
639
+ const { time: a } = e.value, p = g(c.startTime).format("YYYY-MM-DD"), N = g(c.endTime).format("YYYY-MM-DD");
640
+ let i = -1, D = -1;
641
+ for (let M = 0; M < a.length; M++) {
642
+ const r = g(a[M]).format("YYYY-MM-DD");
643
+ if (i !== -1 && D !== -1)
651
644
  break;
652
- n === -1 && (new Date(s) === new Date(p) ? n = a : new Date(s) > new Date(p) && (n = a - 1)), D === -1 && (new Date(s) === new Date(l) ? D = a : new Date(s) > new Date(l) && (D = a - 1));
645
+ i === -1 && (new Date(r) === new Date(p) ? i = M : new Date(r) > new Date(p) && (i = M - 1)), D === -1 && (new Date(r) === new Date(N) ? D = M : new Date(r) > new Date(N) && (D = M - 1));
653
646
  }
654
- D === -1 && (D = M.length - 1), j.dispatchAction({
647
+ D === -1 && (D = a.length - 1), j.dispatchAction({
655
648
  type: "dataZoom",
656
- startValue: n,
649
+ startValue: i,
657
650
  endValue: D
658
651
  });
659
652
  break;
660
653
  }
661
654
  }
662
655
  };
663
- return pe(() => {
656
+ return we(() => {
664
657
  Se(() => {
665
- j = se.init(Y.value), j.on("datazoom", E), O();
658
+ j = re.init(L.value), j.on("datazoom", E), O();
666
659
  });
667
- }), te(
668
- () => d.screenTimeRange,
669
- (c) => {
670
- const [u, M] = c;
671
- L({ startTime: u, endTime: M });
660
+ }), ee(
661
+ () => z.screenTimeRange,
662
+ (s) => {
663
+ const [c, a] = s;
664
+ Y({ startTime: c, endTime: a });
672
665
  },
673
666
  { deep: !0 }
674
- ), xe(() => {
667
+ ), pe(() => {
675
668
  j.off("datazoom"), j.dispose();
676
- }), z({
677
- resize: ae(() => j.resize(), 100)
678
- }), (c, u) => (F(), _("div", {
669
+ }), y({
670
+ resize: Me(() => j.resize(), 100)
671
+ }), (s, c) => (F(), H("div", {
679
672
  class: "chart",
680
673
  ref_key: "sliderChartRef",
681
- ref: Y
674
+ ref: L
682
675
  }, null, 512));
683
676
  }
684
- }, et = /* @__PURE__ */ ze(Xe, [["__scopeId", "data-v-0c715da1"]]);
685
- const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
677
+ }, Xe = /* @__PURE__ */ je(qe, [["__scopeId", "data-v-0c715da1"]]);
678
+ const et = { class: "main-chart" }, tt = { class: "indicator" }, Mt = {
686
679
  key: 0,
687
680
  class: "screen-time-range"
688
- }, it = {
681
+ }, at = {
689
682
  key: 0,
690
683
  class: "sub-chart"
691
- }, nt = { class: "indicator" }, ot = { class: "title" }, Nt = {
684
+ }, it = { class: "indicator" }, nt = { class: "title" }, ot = {
692
685
  key: 1,
693
686
  class: "slider-chart"
694
- }, st = {
687
+ }, Nt = {
695
688
  __name: "index",
696
689
  props: {
697
690
  varietyCode: { type: String, required: !0 },
@@ -729,16 +722,16 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
729
722
  withoutPermission: { type: Number, default: 0 }
730
723
  // 三方标记(不需要token授权)
731
724
  },
732
- setup(i, { expose: z }) {
733
- const { round: r, formatValue: N } = fe, { request: j } = we("stConfig"), Y = U(), g = U(!1), d = U(!1), e = i;
734
- let O = !1, E = !1, L = !1, T = !1, c = null, u = null, M = null;
735
- const p = U(null), l = U(null), n = U({
725
+ setup(n, { expose: y }) {
726
+ const { round: l, formatValue: d } = xe, { request: j } = Ae("stConfig"), L = R(), I = R(!1), z = R(!1), e = n;
727
+ let O = !1, E = !1, Y = !1, T = !1, s = null, c = null, a = null;
728
+ const p = R(null), N = R(null), i = R({
736
729
  data: [],
737
730
  mainIndicator: [],
738
731
  subIndicator: [],
739
732
  time: []
740
- }), D = U(0), a = U([]), s = U(null), m = U("VOL"), b = re(() => {
741
- const t = n.value.data[D.value];
733
+ }), D = R(0), M = R([]), r = R(null), m = R("VOL"), k = se(() => {
734
+ const t = i.value.data[D.value];
742
735
  if (!t)
743
736
  return [
744
737
  { label: "开", value: "-" },
@@ -749,51 +742,51 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
749
742
  { label: "涨跌", value: "-" }
750
743
  ];
751
744
  const o = [
752
- { label: "开", value: r(t[0]) },
753
- { label: "高", value: r(t[3]) },
754
- { label: "低", value: r(t[2]) },
755
- { label: "收", value: r(t[1]) }
745
+ { label: "开", value: l(t[0]) },
746
+ { label: "高", value: l(t[3]) },
747
+ { label: "低", value: l(t[2]) },
748
+ { label: "收", value: l(t[1]) }
756
749
  ];
757
- t[4] !== null && o.push({ label: "额", value: N(t[4]) });
758
- let y;
759
- return t[6] > 0 ? y = "red" : t[6] < 0 && (y = "green"), o.push({ label: "涨跌", value: `${r(t[6])}%`, color: y }), o;
760
- }), S = re(() => {
750
+ t[4] !== null && o.push({ label: "额", value: d(t[4]) });
751
+ let u;
752
+ return t[6] > 0 ? u = "red" : t[6] < 0 && (u = "green"), o.push({ label: "涨跌", value: `${l(t[6])}%`, color: u }), o;
753
+ }), Q = se(() => {
761
754
  var t, o;
762
- return ((o = (t = n.value) == null ? void 0 : t.mainIndicator) == null ? void 0 : o.map((y) => ({ label: y.key, value: r(y.data[D.value]), color: y.color }))) || [];
763
- }), P = re(() => {
755
+ return ((o = (t = i.value) == null ? void 0 : t.mainIndicator) == null ? void 0 : o.map((u) => ({ label: u.key, value: l(u.data[D.value]), color: u.color }))) || [];
756
+ }), _ = se(() => {
764
757
  var t, o;
765
- return ((o = (t = n.value) == null ? void 0 : t.subIndicator) == null ? void 0 : o.map((y) => ({ label: y.key, color: y.color, value: y.data[D.value] || "-" }))) || [];
766
- }), K = () => {
767
- M || (M = se.init(l.value), M.on(
758
+ return ((o = (t = i.value) == null ? void 0 : t.subIndicator) == null ? void 0 : o.map((u) => ({ label: u.key, color: u.color, value: u.data[D.value] || "-" }))) || [];
759
+ }), ae = () => {
760
+ a || (a = re.init(N.value), a.on(
768
761
  "highlight",
769
- ae((t) => {
762
+ Me((t) => {
770
763
  var o;
771
764
  t.dataIndex ? D.value = t.dataIndex : D.value = ((o = t.batch) == null ? void 0 : o[0].dataIndex) ?? -1;
772
765
  }, 10)
773
- ), M.on(
766
+ ), a.on(
774
767
  "datazoom",
775
- ae(async () => {
768
+ Me(async () => {
776
769
  var C;
777
- const { loadCheckCount: t } = W, { startValue: o, endValue: y } = ((C = M.getOption()) == null ? void 0 : C.dataZoom[0]) ?? {};
778
- L === !1 && T === !1 && o < t && await ye("history"), O === !1 && E === !1 && y > n.value.time.length - t && await ye("new"), de();
770
+ const { loadCheckCount: t } = W, { startValue: o, endValue: u } = ((C = a.getOption()) == null ? void 0 : C.dataZoom[0]) ?? {};
771
+ Y === !1 && T === !1 && o < t && await ze("history"), O === !1 && E === !1 && u > i.value.time.length - t && await ze("new"), ye();
779
772
  })
780
- ), M.on("globalout", () => {
781
- const t = M.getOption();
773
+ ), a.on("globalout", () => {
774
+ const t = a.getOption();
782
775
  D.value = t.dataZoom[0].endValue;
783
- }), M.getZr().on("contextmenu", () => {
776
+ }), a.getZr().on("contextmenu", () => {
784
777
  var t;
785
- s.value = (t = n.value) == null ? void 0 : t.time[D.value];
786
- }), window.addEventListener("keydown", De), e.userKlineConfig.enable_subChart && (u = se.init(p.value), se.connect([M, u])), c = Re(l.value), c.listen(() => {
778
+ r.value = (t = i.value) == null ? void 0 : t.time[D.value];
779
+ }), window.addEventListener("keydown", de), e.userKlineConfig.enable_subChart && (c = re.init(p.value), re.connect([a, c])), s = Re(N.value), s.listen(() => {
787
780
  requestAnimationFrame(() => {
788
781
  var t;
789
- M.resize(), u == null || u.resize(), (t = Y.value) == null || t.resize();
782
+ a.resize(), c == null || c.resize(), (t = L.value) == null || t.resize();
790
783
  });
791
784
  }));
792
785
  }, B = async ({ startTime: t, endTime: o }) => {
793
- L = !1, T = !1, O = !1, E = !1;
786
+ Y = !1, T = !1, O = !1, E = !1;
794
787
  try {
795
- g.value = !0;
796
- const y = {
788
+ I.value = !0;
789
+ const u = {
797
790
  varietyCode: e.varietyCode,
798
791
  cycle: e.cycle,
799
792
  // 周期
@@ -806,57 +799,57 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
806
799
  deleteFirstNumber: e.deleteFirstNumber,
807
800
  withoutPermission: e.withoutPermission
808
801
  };
809
- ["1", "2", "3", "4", "5"].includes(e.cycle) ? Object.assign(y, {
810
- startTime: I(t).subtract(1, "day").format("YYYY-MM-DD HH:mm:ss"),
811
- endTime: I(o).add(1, "day").format("YYYY-MM-DD HH:mm:ss")
812
- }) : ["6", "7"].includes(e.cycle) ? Object.assign(y, {
813
- startTime: I(t).subtract(50, "day").format("YYYY-MM-DD HH:mm:ss"),
814
- endTime: I(o).add(50, "day").format("YYYY-MM-DD HH:mm:ss")
815
- }) : Object.assign(y, {
816
- startTime: I(t).subtract(10, "month").format("YYYY-MM-DD HH:mm:ss"),
817
- endTime: I(o).add(10, "month").format("YYYY-MM-DD HH:mm:ss")
802
+ ["1", "2", "3", "4", "5"].includes(e.cycle) ? Object.assign(u, {
803
+ startTime: g(t).subtract(1, "day").format("YYYY-MM-DD HH:mm:ss"),
804
+ endTime: g(o).add(1, "day").format("YYYY-MM-DD HH:mm:ss")
805
+ }) : ["6", "7"].includes(e.cycle) ? Object.assign(u, {
806
+ startTime: g(t).subtract(50, "day").format("YYYY-MM-DD HH:mm:ss"),
807
+ endTime: g(o).add(50, "day").format("YYYY-MM-DD HH:mm:ss")
808
+ }) : Object.assign(u, {
809
+ startTime: g(t).subtract(10, "month").format("YYYY-MM-DD HH:mm:ss"),
810
+ endTime: g(o).add(10, "month").format("YYYY-MM-DD HH:mm:ss")
818
811
  });
819
- const { body: C } = await j.post("/middleLayer/kline/getKline", y);
820
- n.value = C ?? { data: [], mainIndicator: [], subIndicator: [], time: [] };
812
+ const { body: C } = await j.post("/middleLayer/kline/getKline", u);
813
+ i.value = C ?? { data: [], mainIndicator: [], subIndicator: [], time: [] };
821
814
  let x = -1, A = -1;
822
- for (let w = 0; w < n.value.time.length; w++) {
823
- const Q = I(n.value.time[w]).format("YYYY-MM-DD");
815
+ for (let w = 0; w < i.value.time.length; w++) {
816
+ const S = g(i.value.time[w]).format("YYYY-MM-DD");
824
817
  if (x !== -1 && A !== -1)
825
818
  break;
826
- x === -1 && (new Date(Q) === new Date(t) ? x = w : new Date(Q) > new Date(t) && (x = w - 1)), A === -1 && (new Date(Q) === new Date(o) ? A = w : new Date(Q) > new Date(o) && (A = w - 1));
819
+ x === -1 && (new Date(S) === new Date(t) ? x = w : new Date(S) > new Date(t) && (x = w - 1)), A === -1 && (new Date(S) === new Date(o) ? A = w : new Date(S) > new Date(o) && (A = w - 1));
827
820
  }
828
- A === -1 && (A = n.value.time.length - 1), ie({
821
+ A === -1 && (A = i.value.time.length - 1), ie({
829
822
  startValue: x === -1 ? 0 : x,
830
- endValue: A === -1 ? n.value.time.length - 1 : A
823
+ endValue: A === -1 ? i.value.time.length - 1 : A
831
824
  });
832
825
  } finally {
833
- g.value = !1;
826
+ I.value = !1;
834
827
  }
835
- }, ye = async (t) => {
836
- var Q, ne;
828
+ }, ze = async (t) => {
829
+ var S, ne;
837
830
  const { loadAddCount: o } = W;
838
831
  switch (t) {
839
832
  case "history": {
840
- L = !0;
841
- const V = {
833
+ Y = !0;
834
+ const U = {
842
835
  varietyCode: e.varietyCode,
843
836
  cycle: e.cycle,
844
837
  right: e.varietyStock === 1 ? e.rightType : 0,
845
838
  // 复权方式
846
839
  contractType: e.varietyStock ? null : e.klineType,
847
- endTime: n.value.time[0],
840
+ endTime: i.value.time[0],
848
841
  limit: o,
849
842
  mainIndicatorList: e.indicatorStore.getIndicatorParams(e.mainIndicator),
850
843
  subIndicator: m.value,
851
844
  deleteFirstNumber: e.deleteFirstNumber,
852
845
  withoutPermission: e.withoutPermission
853
- }, { body: R } = await j.post("/middleLayer/kline/getKline", V);
854
- n.value = Le(R, n.value), R.data.length < o && (console.log("[K线] 获取更多数据: 左侧已全部获取完毕, 关闭"), T = !0), L = !1;
846
+ }, { body: P } = await j.post("/middleLayer/kline/getKline", U);
847
+ i.value = Ye(P, i.value), P.data.length < o && (console.log("[K线] 获取更多数据: 左侧已全部获取完毕, 关闭"), T = !0), Y = !1;
855
848
  break;
856
849
  }
857
850
  case "new": {
858
851
  O = !0;
859
- const V = {
852
+ const U = {
860
853
  varietyCode: e.varietyCode,
861
854
  cycle: e.cycle,
862
855
  // 周期
@@ -864,7 +857,7 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
864
857
  // 复权方式
865
858
  contractType: e.varietyStock ? null : e.klineType,
866
859
  // 合约类型
867
- startTime: n.value.time[n.value.time.length - 1],
860
+ startTime: i.value.time[i.value.time.length - 1],
868
861
  // 开始时间
869
862
  limit: o,
870
863
  // 查询K线数量
@@ -872,25 +865,25 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
872
865
  subIndicator: m.value,
873
866
  deleteFirstNumber: e.deleteFirstNumber,
874
867
  withoutPermission: e.withoutPermission
875
- }, { body: R } = await j.post("/middleLayer/kline/getKline", V);
876
- n.value = Le(n.value, R), R.data.length < o && (console.log("[K线] 获取更多数据: 右侧已全部获取完毕, 关闭"), E = !0), O = !1;
868
+ }, { body: P } = await j.post("/middleLayer/kline/getKline", U);
869
+ i.value = Ye(i.value, P), P.data.length < o && (console.log("[K线] 获取更多数据: 右侧已全部获取完毕, 关闭"), E = !0), O = !1;
877
870
  break;
878
871
  }
879
872
  }
880
- const { startValue: y, endValue: C } = ((Q = M.getOption()) == null ? void 0 : Q.dataZoom[0]) ?? {}, x = (ne = M.getOption()) == null ? void 0 : ne.xAxis[0].data, A = n.value.time.findIndex((V) => new Date(V) >= new Date(x[y])), w = n.value.time.findIndex((V) => new Date(V) >= new Date(x[C]));
873
+ const { startValue: u, endValue: C } = ((S = a.getOption()) == null ? void 0 : S.dataZoom[0]) ?? {}, x = (ne = a.getOption()) == null ? void 0 : ne.xAxis[0].data, A = i.value.time.findIndex((U) => new Date(U) >= new Date(x[u])), w = i.value.time.findIndex((U) => new Date(U) >= new Date(x[C]));
881
874
  ie({
882
875
  startValue: A === -1 ? 0 : A,
883
- endValue: w === -1 ? n.value.time.length - 1 : w
876
+ endValue: w === -1 ? i.value.time.length - 1 : w
884
877
  });
885
- }, de = () => {
878
+ }, ye = () => {
886
879
  var A;
887
- if (!n.value.time)
888
- return a.value = [];
889
- const { time: t } = n.value, { startValue: o, endValue: y } = ((A = M.getOption()) == null ? void 0 : A.dataZoom[0]) ?? {}, C = t[o], x = t[y];
890
- ["6", "7", "8"].includes(e.cycle) ? a.value = [I(C).format("YYYY-MM-DD"), I(x).format("YYYY-MM-DD")] : a.value = [C, x];
880
+ if (!i.value.time)
881
+ return M.value = [];
882
+ const { time: t } = i.value, { startValue: o, endValue: u } = ((A = a.getOption()) == null ? void 0 : A.dataZoom[0]) ?? {}, C = t[o], x = t[u];
883
+ ["6", "7", "8"].includes(e.cycle) ? M.value = [g(C).format("YYYY-MM-DD"), g(x).format("YYYY-MM-DD")] : M.value = [C, x];
891
884
  }, ie = (t = { startValue: 0, endValue: 0 }) => {
892
- K();
893
- const { maxValueSpan: o } = W, { time: y, data: C, mainIndicator: x } = n.value, A = t.endValue - t.startValue > o ? t.endValue - o : t.startValue, w = t.endValue, Q = x.map((f) => ({
885
+ ae();
886
+ const { maxValueSpan: o } = W, { time: u, data: C, mainIndicator: x } = i.value, A = t.endValue - t.startValue > o ? t.endValue - o : t.startValue, w = t.endValue, S = x.map((f) => ({
894
887
  name: f.key,
895
888
  type: "line",
896
889
  silent: !0,
@@ -902,8 +895,8 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
902
895
  itemStyle: {
903
896
  color: f.color
904
897
  }
905
- })), { netPositionLineData: ne } = We(e.netPositionData, e.cycle), { tradeIncomeRateLineData: V } = Je(e.tradeIncomeRateData, e.cycle, e.incomeType, y), { tradePointData: R, tradeLineData: Ce } = $e(e.tradeLog, e.cycle, e.sellBuy, y, C);
906
- M.setOption(
898
+ })), { netPositionLineData: ne } = $e(e.netPositionData, e.cycle), { tradeIncomeRateLineData: U } = We(e.tradeIncomeRateData, e.cycle, e.incomeType, u), { tradePointData: P, tradeLineData: Ce } = Ge(e.tradeLog, e.cycle, e.sellBuy, u, C);
899
+ a.setOption(
907
900
  {
908
901
  animation: !1,
909
902
  grid: {
@@ -930,8 +923,8 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
930
923
  label: {
931
924
  rich: {},
932
925
  formatter: (f) => {
933
- const { axisDimension: h, value: k } = f;
934
- return h === "x" ? ["6", "7", "8"].includes(e.cycle) ? I(k).format("YYYY-MM-DD") : k : String(r(k));
926
+ const { axisDimension: h, value: b } = f;
927
+ return h === "x" ? ["6", "7", "8"].includes(e.cycle) ? g(b).format("YYYY-MM-DD") : b : String(l(b));
935
928
  }
936
929
  }
937
930
  },
@@ -942,30 +935,30 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
942
935
  if (f.forEach((v) => {
943
936
  if (v.seriesName === "netPosition" && v.data !== null && (h += `<div>资产持仓净值: ${v.data[1]}</div>`), v.componentSubType === "candlestick")
944
937
  if (e.sellBuy === 0) {
945
- const J = R.filter((H) => (H == null ? void 0 : H.coord[0]) === v.axisValue);
938
+ const J = P.filter((V) => (V == null ? void 0 : V.coord[0]) === v.axisValue);
946
939
  let G = 0, Z = 0;
947
- J.forEach((H) => {
948
- const { tradeType: q, amount: oe } = H.customData;
949
- q === "买" && (G += oe), q === "卖" && (Z += oe);
940
+ J.forEach((V) => {
941
+ const { tradeType: K, amount: oe } = V.customData;
942
+ K === "买" && (G += oe), K === "卖" && (Z += oe);
950
943
  }), G && (h += `<div>买: ${G}</div>`), Z && (h += `<div>卖: ${Z}</div>`);
951
944
  } else
952
- R.forEach((J) => {
945
+ P.forEach((J) => {
953
946
  if ((J == null ? void 0 : J.coord[0]) === v.axisValue) {
954
- const { tradeType: G, amount: Z, profitAndLoss: H, openPriceAll: q, closePriceAll: oe } = J.customData;
955
- let X = `<div>${G}: ${Z}手</div>`;
956
- if (G.includes("开") && (X += `<div>开仓价: ${(q / Z).toFixed(2)}</div>`), G.includes("平")) {
957
- const Te = (q / Z).toFixed(2), ge = (oe / Z).toFixed(2);
958
- X += `<div>平仓价: ${ge}</div>`, X += `<div>盈亏: ${H == null ? void 0 : H.toFixed(2)}</div>`, X += `<div>盈亏比率: ${((ge - Te) / Te * 100).toFixed(2)} %</div>`;
947
+ const { tradeType: G, amount: Z, profitAndLoss: V, openPriceAll: K, closePriceAll: oe } = J.customData;
948
+ let q = `<div>${G}: ${Z}手</div>`;
949
+ if (G.includes("开") && (q += `<div>开仓价: ${(K / Z).toFixed(2)}</div>`), G.includes("平")) {
950
+ const De = (K / Z).toFixed(2), Te = (oe / Z).toFixed(2);
951
+ q += `<div>平仓价: ${Te}</div>`, q += `<div>盈亏: ${V == null ? void 0 : V.toFixed(2)}</div>`, q += `<div>盈亏比率: ${((Te - De) / De * 100).toFixed(2)} %</div>`;
959
952
  }
960
- h += X;
953
+ h += q;
961
954
  }
962
955
  });
963
956
  }), !h)
964
957
  return null;
965
- let k = f[0].axisValue;
966
- return ["6", "7", "8"].includes(e.cycle) && (k = I(k).format("YYYY-MM-DD")), `
958
+ let b = f[0].axisValue;
959
+ return ["6", "7", "8"].includes(e.cycle) && (b = g(b).format("YYYY-MM-DD")), `
967
960
  <div>
968
- <span style="font-weight: bold;">${k}</span>
961
+ <span style="font-weight: bold;">${b}</span>
969
962
  ${h}
970
963
  </div>
971
964
  `;
@@ -974,12 +967,12 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
974
967
  xAxis: {
975
968
  show: !0,
976
969
  type: "category",
977
- data: y,
970
+ data: u,
978
971
  splitLine: {
979
972
  show: !1
980
973
  },
981
974
  axisLabel: {
982
- formatter: (f) => ["6", "7", "8"].includes(e.cycle) ? I(f).format("YYYY-MM-DD") : f
975
+ formatter: (f) => ["6", "7", "8"].includes(e.cycle) ? g(f).format("YYYY-MM-DD") : f
983
976
  }
984
977
  },
985
978
  yAxis: [
@@ -996,20 +989,20 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
996
989
  }
997
990
  },
998
991
  min: (f) => {
999
- const { min: h, max: k } = f, v = Math.abs((k - h) / 10);
1000
- return r(h - v);
992
+ const { min: h, max: b } = f, v = Math.abs((b - h) / 10);
993
+ return l(h - v);
1001
994
  },
1002
- max: (f) => r(f.max)
995
+ max: (f) => l(f.max)
1003
996
  },
1004
997
  {
1005
998
  show: !1,
1006
999
  min: (f) => {
1007
- const { min: h, max: k } = f, v = Math.abs((k - h) / 10);
1000
+ const { min: h, max: b } = f, v = Math.abs((b - h) / 10);
1008
1001
  return h - v;
1009
1002
  },
1010
1003
  max: (f) => {
1011
- const { min: h, max: k } = f, v = Math.abs((k - h) / 10);
1012
- return k + v;
1004
+ const { min: h, max: b } = f, v = Math.abs((b - h) / 10);
1005
+ return b + v;
1013
1006
  }
1014
1007
  }
1015
1008
  ],
@@ -1017,7 +1010,7 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
1017
1010
  {
1018
1011
  type: "candlestick",
1019
1012
  data: C,
1020
- markPoint: { data: Ge([...R]) },
1013
+ markPoint: { data: [...P] },
1021
1014
  markLine: { data: [...Ce] },
1022
1015
  itemStyle: {
1023
1016
  color: "transparent",
@@ -1028,7 +1021,7 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
1028
1021
  }
1029
1022
  },
1030
1023
  // 指标线
1031
- ...Q,
1024
+ ...S,
1032
1025
  // 净值曲线
1033
1026
  {
1034
1027
  type: "line",
@@ -1048,7 +1041,7 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
1048
1041
  {
1049
1042
  type: "line",
1050
1043
  name: "tradeIncomeRate",
1051
- data: V,
1044
+ data: U,
1052
1045
  symbol: "none",
1053
1046
  yAxisIndex: 1,
1054
1047
  connectNulls: !1,
@@ -1077,11 +1070,11 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
1077
1070
  }
1078
1071
  },
1079
1072
  !0
1080
- ), e.userKlineConfig.enable_subChart && u.setOption(Ze(n.value, A, w), !0), de(), D.value = w;
1073
+ ), e.userKlineConfig.enable_subChart && c.setOption(Ze(i.value, A, w), !0), ye(), D.value = w;
1081
1074
  {
1082
1075
  const f = [];
1083
- if (e.userKlineConfig.enable_tradeLogBrush && R.length) {
1084
- const [h, k] = [R[0].coord[0], R.at(-1).coord[0]], v = ce(y, [h, k], e.cycle);
1076
+ if (e.userKlineConfig.enable_tradeLogBrush && P.length) {
1077
+ const [h, b] = [P[0].coord[0], P.at(-1).coord[0]], v = ce(u, [h, b], e.cycle);
1085
1078
  f.push({
1086
1079
  brushId: "开平仓范围",
1087
1080
  brushType: "lineX",
@@ -1090,7 +1083,7 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
1090
1083
  });
1091
1084
  }
1092
1085
  if (e.syncBrushRange.cycleList.includes(e.cycle)) {
1093
- const { startTime: h, endTime: k } = e.syncBrushRange, v = ce(y, [h, k], e.cycle);
1086
+ const { startTime: h, endTime: b } = e.syncBrushRange, v = ce(u, [h, b], e.cycle);
1094
1087
  f.push({
1095
1088
  brushId: "同步刷选范围",
1096
1089
  brushType: "lineX",
@@ -1104,7 +1097,7 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
1104
1097
  });
1105
1098
  }
1106
1099
  if (e.positionTime) {
1107
- const [h, k] = [I(e.positionTime).format("YYYY-MM-DD 00:00:00"), I(e.positionTime).format("YYYY-MM-DD 23:59:59")], v = ce(y, [h, k], e.cycle);
1100
+ const [h, b] = [g(e.positionTime).format("YYYY-MM-DD 00:00:00"), g(e.positionTime).format("YYYY-MM-DD 23:59:59")], v = ce(u, [h, b], e.cycle);
1108
1101
  f.push({
1109
1102
  brushId: "强制定位高亮",
1110
1103
  brushType: "lineX",
@@ -1117,35 +1110,35 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
1117
1110
  }
1118
1111
  });
1119
1112
  }
1120
- M.dispatchAction({
1113
+ a.dispatchAction({
1121
1114
  type: "brush",
1122
1115
  areas: f
1123
1116
  });
1124
1117
  }
1125
1118
  }, Oe = (t) => {
1126
- const [o, y] = Ye({
1119
+ const [o, u] = Ie({
1127
1120
  startTime: t.startTime,
1128
1121
  endTime: t.endTime,
1129
1122
  cycle: e.cycle
1130
1123
  });
1131
- B({ startTime: o, endTime: y });
1132
- }, De = ({ code: t, ctrlKey: o }) => {
1133
- if (!(o || d.value))
1124
+ B({ startTime: o, endTime: u });
1125
+ }, de = ({ code: t, ctrlKey: o }) => {
1126
+ if (!(o || z.value))
1134
1127
  return;
1135
- const { xAxis: y, dataZoom: C } = M.getOption(), { data: x } = (y == null ? void 0 : y[0]) ?? { data: [] };
1128
+ const { xAxis: u, dataZoom: C } = a.getOption(), { data: x } = (u == null ? void 0 : u[0]) ?? { data: [] };
1136
1129
  let { startValue: A, endValue: w } = (C == null ? void 0 : C[0]) ?? {};
1137
1130
  if (x != null && x.length) {
1138
1131
  switch (t) {
1139
1132
  case "ArrowUp": {
1140
1133
  if (w - A < 5)
1141
1134
  return;
1142
- const Q = Math.floor((w - A) / 2) + 1;
1143
- A = A + Q, w - A < 5 && (A = w - 4);
1135
+ const S = Math.floor((w - A) / 2) + 1;
1136
+ A = A + S, w - A < 5 && (A = w - 4);
1144
1137
  break;
1145
1138
  }
1146
1139
  case "ArrowDown": {
1147
- const Q = Math.min(500, w - A);
1148
- A = A - Q - 1;
1140
+ const S = Math.min(500, w - A);
1141
+ A = A - S - 1;
1149
1142
  break;
1150
1143
  }
1151
1144
  case "ArrowLeft": {
@@ -1153,100 +1146,100 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
1153
1146
  break;
1154
1147
  }
1155
1148
  case "ArrowRight": {
1156
- w < x.length - 1 && (A += 1, w += 1), d.value && D.value < x.length - 1 && (D.value += 1);
1149
+ w < x.length - 1 && (A += 1, w += 1), z.value && D.value < x.length - 1 && (D.value += 1);
1157
1150
  break;
1158
1151
  }
1159
1152
  }
1160
- M.dispatchAction({
1153
+ a.dispatchAction({
1161
1154
  type: "dataZoom",
1162
1155
  startValue: A,
1163
1156
  endValue: w
1164
- }), M.dispatchAction({
1157
+ }), a.dispatchAction({
1165
1158
  type: "updateAxisPointer",
1166
1159
  seriesIndex: 0,
1167
- dataIndex: d.value ? D.value : null
1168
- }), M.dispatchAction({
1160
+ dataIndex: z.value ? D.value : null
1161
+ }), a.dispatchAction({
1169
1162
  type: "highlight",
1170
- dataIndex: d.value ? D.value : w
1163
+ dataIndex: z.value ? D.value : w
1171
1164
  });
1172
1165
  }
1173
1166
  };
1174
- return pe(() => {
1167
+ return we(() => {
1175
1168
  const [t, o] = e.initTimeRange;
1176
1169
  B({ startTime: t, endTime: o });
1177
- }), te(
1170
+ }), ee(
1178
1171
  () => [e.varietyCode, e.initTimeRange],
1179
1172
  () => {
1180
1173
  const [t, o] = e.initTimeRange;
1181
1174
  B({ startTime: t, endTime: o });
1182
1175
  },
1183
1176
  { deep: !0 }
1184
- ), te(
1177
+ ), ee(
1185
1178
  () => [e.cycle],
1186
1179
  () => {
1187
1180
  var x;
1188
- const { startValue: t, endValue: o } = ((x = M.getOption()) == null ? void 0 : x.dataZoom[0]) ?? {}, [y, C] = Ye({
1189
- startTime: n.value.time[t],
1190
- endTime: n.value.time[o],
1181
+ const { startValue: t, endValue: o } = ((x = a.getOption()) == null ? void 0 : x.dataZoom[0]) ?? {}, [u, C] = Ie({
1182
+ startTime: i.value.time[t],
1183
+ endTime: i.value.time[o],
1191
1184
  cycle: e.cycle,
1192
1185
  type: "middle"
1193
1186
  });
1194
- B({ startTime: y, endTime: C });
1187
+ B({ startTime: u, endTime: C });
1195
1188
  },
1196
1189
  { deep: !0 }
1197
- ), te(
1190
+ ), ee(
1198
1191
  () => {
1199
1192
  var t, o;
1200
1193
  return [e.mainIndicator, m.value, (t = e.indicatorStore) == null ? void 0 : t.filterIndicator, (o = e.indicatorStore) == null ? void 0 : o.customIndicator, e.rightType, e.klineType];
1201
1194
  },
1202
1195
  () => {
1203
1196
  var x;
1204
- const { startValue: t, endValue: o } = ((x = M.getOption()) == null ? void 0 : x.dataZoom[0]) ?? {}, [y, C] = [n.value.time[t], n.value.time[o]];
1205
- B({ startTime: y, endTime: C });
1197
+ const { startValue: t, endValue: o } = ((x = a.getOption()) == null ? void 0 : x.dataZoom[0]) ?? {}, [u, C] = [i.value.time[t], i.value.time[o]];
1198
+ B({ startTime: u, endTime: C });
1206
1199
  },
1207
1200
  { deep: !0 }
1208
- ), te(
1201
+ ), ee(
1209
1202
  () => [e.sellBuy, e.tradeLog, e.netPositionData, e.incomeType, e.tradeIncomeRateData],
1210
1203
  () => {
1211
- var y;
1212
- const { startValue: t, endValue: o } = ((y = M.getOption()) == null ? void 0 : y.dataZoom[0]) ?? {};
1204
+ var u;
1205
+ const { startValue: t, endValue: o } = ((u = a.getOption()) == null ? void 0 : u.dataZoom[0]) ?? {};
1213
1206
  ie({ startValue: t, endValue: o });
1214
1207
  },
1215
1208
  { deep: !0 }
1216
- ), xe(() => {
1217
- M.off("highlight"), M.off("globalout"), M.off("datazoom"), M.getZr().off("contextmenu"), window.removeEventListener("keydown", De), M.dispose(), u == null || u.dispose(), c.dispose(), c = null;
1218
- }), z({
1219
- screenTimeRange: a,
1220
- contextmenuKlineTime: s,
1209
+ ), pe(() => {
1210
+ a.off("highlight"), a.off("globalout"), a.off("datazoom"), a.getZr().off("contextmenu"), window.removeEventListener("keydown", de), a.dispose(), c == null || c.dispose(), s.dispose(), s = null;
1211
+ }), y({
1212
+ screenTimeRange: M,
1213
+ contextmenuKlineTime: r,
1221
1214
  reDraw: () => {
1222
- var y;
1223
- const { startValue: t, endValue: o } = ((y = M.getOption()) == null ? void 0 : y.dataZoom[0]) ?? {};
1215
+ var u;
1216
+ const { startValue: t, endValue: o } = ((u = a.getOption()) == null ? void 0 : u.dataZoom[0]) ?? {};
1224
1217
  ie({ startValue: t, endValue: o });
1225
1218
  }
1226
1219
  }), (t, o) => {
1227
- const y = ke, C = ve, x = be, A = he;
1228
- return Qe((F(), _("div", {
1220
+ const u = ke, C = ve, x = be, A = he;
1221
+ return Qe((F(), H("div", {
1229
1222
  class: "kline-plus",
1230
- onMousemove: o[1] || (o[1] = (w) => d.value = !0),
1231
- onMouseout: o[2] || (o[2] = (w) => d.value = !1)
1223
+ onMousemove: o[1] || (o[1] = (w) => z.value = !0),
1224
+ onMouseout: o[2] || (o[2] = (w) => z.value = !1)
1232
1225
  }, [
1233
- $("div", tt, [
1234
- $("div", Mt, [
1235
- ee(le, { data: b.value }, null, 8, ["data"]),
1236
- ee(le, { data: S.value }, null, 8, ["data"])
1226
+ $("div", et, [
1227
+ $("div", tt, [
1228
+ X(le, { data: k.value }, null, 8, ["data"]),
1229
+ X(le, { data: Q.value }, null, 8, ["data"])
1237
1230
  ]),
1238
- i.userKlineConfig.enable_showScreenTimeRange ? (F(), _("span", at, Me(a.value[0]) + " - " + Me(a.value[1]), 1)) : Ne("", !0),
1231
+ n.userKlineConfig.enable_showScreenTimeRange ? (F(), H("span", Mt, te(M.value[0]) + " - " + te(M.value[1]), 1)) : Ne("", !0),
1239
1232
  $("div", {
1240
1233
  ref_key: "mainChartRef",
1241
- ref: l,
1234
+ ref: N,
1242
1235
  class: "chart"
1243
1236
  }, null, 512)
1244
1237
  ]),
1245
- i.userKlineConfig.enable_subChart ? (F(), _("div", it, [
1246
- $("div", nt, [
1247
- $("div", ot, [
1248
- $("span", null, Me(m.value), 1),
1249
- ee(C, {
1238
+ n.userKlineConfig.enable_subChart ? (F(), H("div", at, [
1239
+ $("div", it, [
1240
+ $("div", nt, [
1241
+ $("span", null, te(m.value), 1),
1242
+ X(C, {
1250
1243
  modelValue: m.value,
1251
1244
  "onUpdate:modelValue": o[0] || (o[0] = (w) => m.value = w),
1252
1245
  style: { width: "100px", "margin-right": "4px", height: "25px" },
@@ -1255,8 +1248,8 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
1255
1248
  "popper-class": "element-dark"
1256
1249
  }, {
1257
1250
  default: Pe(() => [
1258
- (F(!0), _(me, null, Ae(i.indicatorStore.subIndicatorList, (w, Q) => (F(), Ie(y, {
1259
- key: Q,
1251
+ (F(!0), H(Le, null, me(n.indicatorStore.subIndicatorList, (w, S) => (F(), ge(u, {
1252
+ key: S,
1260
1253
  label: w.label,
1261
1254
  value: w.value
1262
1255
  }, null, 8, ["label", "value"]))), 128))
@@ -1264,7 +1257,7 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
1264
1257
  _: 1
1265
1258
  }, 8, ["modelValue"])
1266
1259
  ]),
1267
- ee(le, { data: P.value }, null, 8, ["data"])
1260
+ X(le, { data: _.value }, null, 8, ["data"])
1268
1261
  ]),
1269
1262
  $("div", {
1270
1263
  ref_key: "subChartRef",
@@ -1272,35 +1265,35 @@ const tt = { class: "main-chart" }, Mt = { class: "indicator" }, at = {
1272
1265
  class: "chart"
1273
1266
  }, null, 512)
1274
1267
  ])) : Ne("", !0),
1275
- i.userKlineConfig.enable_sliderChart ? (F(), _("div", Nt, [
1276
- ee(et, {
1268
+ n.userKlineConfig.enable_sliderChart ? (F(), H("div", ot, [
1269
+ X(Xe, {
1277
1270
  ref_key: "sliderChartRef",
1278
- ref: Y,
1279
- screenTimeRange: a.value,
1280
- varietyCode: i.varietyCode,
1281
- varietyStock: i.varietyStock,
1282
- rightType: i.rightType,
1283
- klineType: i.klineType,
1271
+ ref: L,
1272
+ screenTimeRange: M.value,
1273
+ varietyCode: n.varietyCode,
1274
+ varietyStock: n.varietyStock,
1275
+ rightType: n.rightType,
1276
+ klineType: n.klineType,
1284
1277
  deleteFirstNumber: e.deleteFirstNumber,
1285
1278
  withoutPermission: e.withoutPermission,
1286
1279
  onChange: Oe
1287
1280
  }, null, 8, ["screenTimeRange", "varietyCode", "varietyStock", "rightType", "klineType", "deleteFirstNumber", "withoutPermission"])
1288
1281
  ])) : Ne("", !0),
1289
- n.value.time.length ? Ne("", !0) : (F(), Ie(x, {
1282
+ i.value.time.length ? Ne("", !0) : (F(), ge(x, {
1290
1283
  key: 2,
1291
1284
  class: "empty",
1292
1285
  description: "暂无数据"
1293
1286
  }))
1294
1287
  ], 32)), [
1295
- [A, g.value]
1288
+ [A, I.value]
1296
1289
  ]);
1297
1290
  };
1298
1291
  }
1299
- }, rt = /* @__PURE__ */ ze(st, [["__scopeId", "data-v-366a34a3"]]), bt = {
1300
- install(i) {
1301
- i.component("st-klinePlus", rt);
1292
+ }, rt = /* @__PURE__ */ je(Nt, [["__scopeId", "data-v-2a3f133b"]]), ht = {
1293
+ install(n) {
1294
+ n.component("st-klinePlus", rt);
1302
1295
  }
1303
1296
  };
1304
1297
  export {
1305
- bt as default
1298
+ ht as default
1306
1299
  };