st-comp 0.0.262 → 0.0.263

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 (84) hide show
  1. package/es/ChartLayout.js +4 -4
  2. package/es/CustomFunction.js +31 -31
  3. package/es/FactorWarning.cjs +1 -1
  4. package/es/FactorWarning.js +37 -36
  5. package/es/Kline.cjs +1 -1
  6. package/es/Kline.js +839 -1593
  7. package/es/KlineBasic.cjs +1 -1
  8. package/es/KlineBasic.js +1198 -1
  9. package/es/KlineConfig.js +89 -89
  10. package/es/KlineNew.js +17 -17
  11. package/es/KlinePlus.js +20 -20
  12. package/es/MonacoEditor.js +25 -25
  13. package/es/Pagination.js +113 -113
  14. package/es/PasswordPrompt.js +3 -3
  15. package/es/Table.js +29 -29
  16. package/es/User.js +25 -25
  17. package/es/VarSelectDialog.cjs +1 -1
  18. package/es/VarSelectDialog.js +27 -27
  19. package/es/VarietyAiHelper.js +27 -27
  20. package/es/VarietyAutoComplete.js +11 -11
  21. package/es/VarietySearch.cjs +1 -1
  22. package/es/VarietySearch.js +55 -54
  23. package/es/{VarietySelect-faef4799.js → VarietySelect-9f267958.js} +4 -4
  24. package/es/VarietyTextCopy.js +13 -13
  25. package/es/VirtualTable.js +74 -74
  26. package/es/{_initCloneObject-009eedf8.js → _initCloneObject-69c8ae23.js} +7 -7
  27. package/es/{base-7ff209fc.js → base-29f73b05.js} +40 -40
  28. package/es/{castArray-b9f1609f.js → castArray-609a313e.js} +1 -1
  29. package/es/{config-provider-071b8bec.js → config-provider-7860903c.js} +6 -6
  30. package/es/{debounce-23c2f7e1.js → debounce-a09ce9a3.js} +1 -1
  31. package/es/{dropdown-9941f401.js → dropdown-497442b7.js} +4 -4
  32. package/es/{el-autocomplete-43f205b0.js → el-autocomplete-27c60cc8.js} +17 -17
  33. package/es/{el-button-7f58608d.js → el-button-e2c63c08.js} +33 -33
  34. package/es/{el-checkbox-40664b27.js → el-checkbox-71ebd862.js} +17 -17
  35. package/es/el-checkbox-group-0ea8fbf8.cjs +1 -0
  36. package/es/el-checkbox-group-4ed993c7.js +1 -0
  37. package/es/{el-dialog-2f10a2f4.js → el-dialog-eedcfd3e.js} +15 -15
  38. package/es/{el-divider-4e66c835.js → el-divider-523e5874.js} +1 -1
  39. package/es/{el-empty-e0d826de.js → el-empty-f5a1607a.js} +5 -5
  40. package/es/{el-form-item-2b68cdf5.js → el-form-item-bdcfd297.js} +36 -36
  41. package/es/{el-input-31a818d4.js → el-input-d47281da.js} +36 -36
  42. package/es/{el-checkbox-group-f775e73f.cjs → el-input-number-3d94fa58.cjs} +1 -1
  43. package/es/{el-checkbox-group-3ddad0d7.js → el-input-number-c8018cb1.js} +34 -34
  44. package/es/{el-loading-3e350f5e.js → el-loading-0cd81d05.js} +5 -5
  45. package/es/el-menu-item-26071fd6.cjs +1 -0
  46. package/es/el-menu-item-dac65bb3.js +769 -0
  47. package/es/{el-message-box-a3aa9b89.js → el-message-box-fea4fca8.js} +11 -11
  48. package/es/{el-overlay-4e9a99e0.js → el-overlay-1ee0338d.js} +59 -59
  49. package/es/{el-popconfirm-c2896741.js → el-popconfirm-089b8bec.js} +12 -12
  50. package/es/{el-popper-003b3af7.js → el-popper-c9b3d3cf.js} +177 -177
  51. package/es/{el-segmented-4ae54e6a.js → el-segmented-9d3a9e11.js} +8 -8
  52. package/es/{el-select-19ee0e79.js → el-select-e51e11c1.js} +65 -65
  53. package/es/{el-table-column-3be856d7.js → el-table-column-05d292a8.js} +16 -16
  54. package/es/{el-tag-19cc5b59.js → el-tag-17cd04a1.js} +14 -14
  55. package/es/{el-text-9a7a4f0f.js → el-text-2710fff3.js} +2 -2
  56. package/es/{index-6917da9d.js → index-0ee486ad.js} +43 -43
  57. package/es/{index-19ac550e.js → index-0f79095c.js} +49 -49
  58. package/es/{index-308aab33.js → index-1d9b50de.js} +34 -34
  59. package/es/{index-d898531c.js → index-8391a3df.js} +37 -37
  60. package/es/{index-41dd5a1c.js → index-8a54ceeb.js} +10 -10
  61. package/es/{index-b56d81e8.js → index-95e5d454.js} +3 -3
  62. package/es/{index-f3799536.js → index-b0117ba2.js} +2 -2
  63. package/es/{index-6d530e54.js → index-bcd895a0.js} +13 -13
  64. package/es/{index-e17987ac.js → index-c2b9bbfd.js} +30 -30
  65. package/es/{index-808db9b4.js → index-c71e37dc.js} +11 -11
  66. package/es/{index-f402d1da.js → index-de24705f.js} +1 -1
  67. package/es/{index-99abf4ff.js → index-f30561d3.js} +17 -17
  68. package/es/{python-be79c7c1.js → python-99011a53.js} +25 -25
  69. package/es/raf-744cf95a.js +6 -0
  70. package/es/{scroll-8642151c.js → scroll-6799bafc.js} +5 -5
  71. package/es/style.css +1 -1
  72. package/es/{use-form-common-props-d170ccfd.js → use-form-common-props-cb0ca65c.js} +72 -72
  73. package/es/{use-global-config-74436b92.js → use-global-config-cdaeca54.js} +14 -14
  74. package/es/{validator-672bad4a.js → validator-4ab9774f.js} +1 -1
  75. package/es/{vnode-6d2615f0.js → vnode-a83e6de8.js} +1 -1
  76. package/es/{zh-cn-ed10eeb1.js → zh-cn-8a6390a4.js} +2 -2
  77. package/lib/bundle.js +1 -1
  78. package/lib/bundle.umd.cjs +1 -1
  79. package/lib/{index-c3ddbee7.js → index-0969ca9d.js} +784 -783
  80. package/lib/{python-da8fd227.js → python-506107bf.js} +1 -1
  81. package/lib/style.css +1 -1
  82. package/package.json +1 -1
  83. package/packages/KlineBasic/index.vue +1 -1
  84. package/es/raf-ba3dfafe.js +0 -6
@@ -140,7 +140,7 @@ usage: app.provide(ZINDEX_INJECTION_KEY, { current: 0 })`),{initialZIndex:i,curr
140
140
  入参: ${JSON.stringify(c.method==="post"?c.data:c.params)}`))}),{get:(a,l={},c={})=>s({method:"GET",url:`${mJ(n)}${a.startsWith("/middleLayer/")?"":"/middleLayer/get"}${a}`,params:l,...c}),post:(a,l={},c={})=>s({method:"POST",url:`${mJ(n)}${a.startsWith("/middleLayer/")?"":"/middleLayer/post"}${a}`,data:l,...c})}},Qet=Object.freeze(Object.defineProperty({__proto__:null,initRequest:Yet},Symbol.toStringTag,{value:"Module"}));var Zet=Object.defineProperty,Xet=(n,e,t)=>e in n?Zet(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,xp=(n,e,t)=>Xet(n,typeof e!="symbol"?e+"":e,t);class bJ{constructor(e,t={}){xp(this,"dom"),xp(this,"resizeRo"),xp(this,"callback"),xp(this,"visibilitychangeFn"),xp(this,"timer"),xp(this,"config",{debounce:50}),this.dom=e,this.config={...this.config,...t}}listen(e){this.callback=e;let t=!0;this.resizeRo=new ResizeObserver(()=>{if(t){t=!1;return}clearTimeout(this.timer),this.timer=setTimeout(()=>{this.callback&&this.callback(),clearTimeout(this.timer)},this.config.debounce)}),this.resizeRo.observe(this.dom),this.visibilitychangeFn=()=>{(document.visibilityState==="visible"||!document.hidden)&&this.callback&&this.callback()},document.addEventListener("visibilitychange",this.visibilitychangeFn)}dispose(){var e;(e=this.resizeRo)==null||e.disconnect(),document.removeEventListener("visibilitychange",this.visibilitychangeFn)}}const Jet=n=>new bJ(n),ett=Object.freeze(Object.defineProperty({__proto__:null,ResizeListener:bJ,addResizeListener:Jet},Symbol.toStringTag,{value:"Module"}));`${new Date().getTime()}${Math.floor(Math.random()*1e9)}`;const ttt=n=>{n?KH("token",n):console.error("token不能为空")},ntt=n=>{n?KH("userData",n):console.error("用户数据不能为空")},_J=()=>GH("token"),yJ=n=>{const e=GH("userData");return n?e==null?void 0:e[n]:e},itt=()=>!!_J(),rtt=()=>{const n=yJ();return(n==null?void 0:n.username)==="admin"},vJ=(n="")=>location.href=`${location.origin}/login/index.html?url=${encodeURIComponent(n||location.href)}`,ott=(n=!0,e)=>{if(YH("token"),YH("userData"),n){vJ();return}e&&(location.href=e)},stt=Object.freeze(Object.defineProperty({__proto__:null,getToken:_J,getUserData:yJ,isAdmin:rtt,isLogin:itt,login:vJ,loginout:ott,setToken:ttt,setUserData:ntt},Symbol.toStringTag,{value:"Module"})),wl=Ket,{initRequest:CJ}=Qet,{addResizeListener:wJ}=ett,{setToken:zTt,setUserData:JE,getToken:xJ,getUserData:_c,isLogin:SJ,isAdmin:HTt,login:att,loginout:ek}=stt,Ra=(n,e=500,t=!1)=>{let i=null;return function(...r){if(clearTimeout(i),t){const o=!i;i=setTimeout(()=>{i=null},e),o&&n.apply(this,r)}else i=setTimeout(()=>{n.apply(this,r)},e)}},ltt={__name:"index",props:{env:{type:Object,default:()=>({})}},setup(n){const e=r=>{const o=CJ(r,{handleReq:s=>{SJ()&&(s.headers.token=xJ(),s.headers.userId=_c("userId"))},handleRes:s=>{const{data:a}=s;if(a.code===401)return location.origin.includes("localhost")?location.href=`${location.origin}/#/404`:ek(),!0}});return{get:o.get,post:o.post}},t=n,i=u.reactive({env:t.env,request:e(t.env)});return u.watch(()=>t,r=>{Object.assign(i,toRefs(r)),console.log("已更新神兔组件库配置: ",i)},{deep:!0}),console.log("%c√ 已成功注入神兔组件库配置: ","color: green",i),u.provide("stConfig",i),(r,o)=>u.renderSlot(r.$slots,"default")}},utt={install(n){n.component("st-configProvider",ltt)}},jTt="",ctt=en({__name:"index",emits:["close","open"],setup(n,{emit:e}){const t=e,i=u.ref(),r=u.ref(),o=u.ref({x:0,y:0}),s=u.ref(!1),a=u.computed(()=>({display:s.value?"block":"none",top:`${o.value.y}px`,left:`${o.value.x}px`})),l=()=>{s.value=!1,t("close"),document.removeEventListener("click",l)},c=f=>{var p;(p=r.value)!=null&&p.contains(f.relatedTarget)||l()},d=async f=>{if(f.preventDefault(),s.value&&r.value){const y=r.value.getBoundingClientRect();if(f.clientX>=y.left&&f.clientX<=y.right&&f.clientY>=y.top&&f.clientY<=y.bottom)return}const p=i.value.getBoundingClientRect();let g=f.clientX-p.left,m=f.clientY-p.top;o.value={x:g,y:m},s.value=!0,t("open"),await u.nextTick(),h(),document.addEventListener("click",l)},h=()=>{if(!r.value||!i.value)return;const f=i.value.getBoundingClientRect(),p=r.value.getBoundingClientRect();let{x:g,y:m}=o.value;g+p.width>f.width&&(g=Math.max(0,g-p.width)),m+p.height>f.height&&(m=Math.max(0,m-p.height)),g<0&&(g=0),m<0&&(m=0),o.value={x:g,y:m}};return(f,p)=>(u.openBlock(),u.createElementBlock("div",{ref_key:"contextmenuRef",ref:i,class:"contextmenu",onMouseleave:c,onContextmenu:d},[u.renderSlot(f.$slots,"default",{},void 0,!0),s.value?(u.openBlock(),u.createElementBlock("div",{key:0,ref_key:"contextmenuContentRef",ref:r,class:"contextmenu-popover",style:u.normalizeStyle(a.value),onContextmenu:p[0]||(p[0]=u.withModifiers(()=>{},["stop"]))},[u.renderSlot(f.$slots,"popover",{},void 0,!0)],36)):u.createCommentVNode("",!0)],544))}},[["__scopeId","data-v-34926651"]]),dtt={install(n){n.component("st-contextmenu",ctt)}},$Tt="",UTt="",qTt="",KTt="",GTt="",YTt="",QTt="",ZTt="",XTt="",JTt="",eAt="",tAt="",nAt="",iAt="",rAt="",oAt="",sAt="",aAt="",lAt="",tk=n=>(u.pushScopeId("data-v-b5dcb4b8"),n=n(),u.popScopeId(),n),htt={class:"custom-header"},ftt={class:"left"},ptt=["id"],gtt={class:"right"},mtt={class:"manage-dialog-body"},btt={class:"func-list"},_tt={class:"search"},ytt=tk(()=>u.createElementVNode("span",null,"输入函数关键字",-1)),vtt=["onClick"],Ctt={class:"icon-box"},wtt={class:"rule-form"},xtt={class:"header"},Stt=tk(()=>u.createElementVNode("span",null,"函数名称:",-1)),Dtt={class:"right"},Ntt=tk(()=>u.createElementVNode("div",{class:"tip-box"},"说明: 公式里可以使用变量, 变量名命名格式: ${变量名}, 后续可在应用函数时填写具体值, 系统会自动换算",-1)),Ett={class:"custom-header"},ktt={class:"left"},Ltt=["id"],Mtt={class:"right"},Ttt={class:"content"},Att={class:"dialog-footer"},Itt=en({__name:"ManageDialog",props:{data:{type:Array,default:()=>[]}},emits:["refreshData"],setup(n,{expose:e,emit:t}){const{request:i}=u.inject("stConfig"),r=u.ref(null),o=u.ref(null),s=t,a=n,l=u.ref(!1),c=u.reactive({save:!1,test:!1}),d=u.ref(null),h=u.computed(()=>d.value?a.data.filter(D=>D.funcName.includes(d.value)):a.data),f=u.reactive({id:null,funcName:"",funcExpression:""}),p=u.reactive({result:null,detail:"",code:""}),g=u.ref(!1),m=()=>{var D;Object.assign(f,{id:null,funcName:"",funcExpression:""}),(D=r.value)==null||D.setValue(f.funcExpression)},y=D=>{var E;Object.assign(f,{id:D.id,funcName:D.funcName,funcExpression:D.funcExpression}),(E=r.value)==null||E.setValue(f.funcExpression)},_=D=>{var E;Object.assign(f,{id:null,funcName:`${D.funcName}-复制`,funcExpression:D.funcExpression}),(E=r.value)==null||E.setValue(f.funcExpression)},v=async D=>{var E;D.id===f.id&&(Object.assign(f,{id:null,funcName:"",funcExpression:""}),(E=r.value)==null||E.setValue(f.funcExpression)),await i.post("/common/qt/deleteSearchFunctionById",{id:D.id}),s("refreshData")},b=Ra(async()=>{try{if(c.save=!0,f.funcExpression=r.value.getValue(),!f.funcName)return At.error("函数名称不可为空");if(!f.funcExpression)return At.error("函数内容不可为空");await i.post("/common/qt/saveOrUpdateSearchFunction",f),At.success("操作成功"),s("refreshData"),f.id||m()}finally{c.save=!1}}),C=D=>new Promise(E=>{const k=u.ref(D.reduce((A,I)=>(A[I]="",A),{})),L=u.ref({}),O=()=>{let A=!0;const I={};return D.forEach(M=>{var R;(R=k.value[M])!=null&&R.trim()||(I[M]=`请输入${M}的值`,A=!1)}),L.value=I,A},P={setup(){return()=>u.h("div",[u.h(Pd,{model:k.value},()=>D.map(A=>u.h(Bd,{label:`${A}: `,prop:A,error:L.value[A],"label-width":"90px"},()=>u.h(ao,{modelValue:k.value[A],"onUpdate:modelValue":I=>{k.value[A]=I,L.value[A]&&delete L.value[A]},placeholder:`请输入 ${A} 的值`,status:L.value[A]?"error":""}))))])}};n7({title:"填写变量值用于接口测试",message:u.h(P),showCancelButton:!0,confirmButtonText:"确定",cancelButtonText:"取消",customClass:"variable-input-dialog",beforeClose:async(A,I,M)=>{A!=="confirm"&&(E(!1),M()),await u.nextTick(),O()&&(E({...k.value}),M())}}).catch(()=>E(!1))}),w=D=>{const E=/\$\{([^}]*)\}/g,k=[];let L;for(;(L=E.exec(D))!==null;)k.push(L[1]);return[...new Set(k)]},x=(D,E)=>D.replace(/\$\{([^}]*)\}/g,(k,L)=>E[L]!==void 0?E[L]:k),S=async D=>{switch(D){case"submit":{let E=r.value.getValue();if(!E)return At.error("函数内容不可为空");if(/\$\{[^}]*\}/.test(E)){const k=w(E),L=await C(k);if(!L)return;E=x(E,L)}try{c.test=!0;const{body:k}=await i.post("/common/qt/testFactorSelect",{factorSelectExpr:E}),{result:L,detail:O}=k;Object.assign(p,{result:L,detail:O,code:E}),L===1?At.success("测试通过"):(At.error("测试未能通过"),g.value=!0)}finally{c.test=!1}break}case"log":{if(p.result===null)return At.warning("请先进行测试, 等待测试完成后可查看日志");g.value=!0;break}}},N=()=>{o.value.open(r.value)};return u.watch(()=>l.value,D=>{D||(o.value.close(),g.value=!1)}),e({open:D=>{l.value=!0,u.nextTick(()=>{var E;if((E=r.value)==null||E.resize(),d.value=null,Object.assign(p,{result:null,detail:"",code:""}),D){const k={id:D.id,funcName:D.funcName,funcExpression:D.funcExpression};y(k)}else h.value.length?y(h.value[0]):m()})}}),(D,E)=>{const k=Jt,L=ao,O=ir,P=z6,A=$h,I=d1,M=u.resolveComponent("st-monacoEditor"),R=u.resolveComponent("st-varSelectDialog"),F=uS,W=ea;return u.openBlock(),u.createBlock(W,{"modal-class":"manage-dialog",modelValue:l.value,"onUpdate:modelValue":E[8]||(E[8]=G=>l.value=G),width:"1600","align-center":"","append-to-body":"",overflow:"",modal:!1,"modal-penetrable":!0,"show-close":!1},{header:u.withCtx(({titleId:G,titleClass:q})=>[u.createElementVNode("div",htt,[u.createElementVNode("div",ftt,[u.createElementVNode("span",{id:G,class:u.normalizeClass(q)}," 自定义函数管理面板 ",10,ptt)]),u.createElementVNode("div",gtt,[u.createVNode(k,{onClick:E[0]||(E[0]=z=>l.value=!1)},{default:u.withCtx(()=>[u.createVNode(u.unref(al))]),_:1})])])]),default:u.withCtx(()=>[u.createElementVNode("div",mtt,[u.createElementVNode("div",btt,[u.createElementVNode("div",_tt,[ytt,u.createVNode(L,{modelValue:d.value,"onUpdate:modelValue":E[1]||(E[1]=G=>d.value=G),clearable:""},null,8,["modelValue"]),u.createVNode(O,{type:"primary",onClick:m},{default:u.withCtx(()=>[u.createTextVNode("新建")]),_:1})]),u.createVNode(I,{class:"list"},{default:u.withCtx(()=>[h.value.length?(u.openBlock(!0),u.createElementBlock(u.Fragment,{key:0},u.renderList(h.value,G=>(u.openBlock(),u.createElementBlock("div",{key:G.id,class:u.normalizeClass([{"active-list-item":f.id===G.id},"list-item"])},[u.createElementVNode("span",{class:"func-name",onClick:q=>y(G)},u.toDisplayString(G.funcName),9,vtt),u.createElementVNode("div",Ctt,[u.createVNode(k,null,{default:u.withCtx(()=>[u.createVNode(u.unref(tB),{onClick:q=>_(G)},null,8,["onClick"])]),_:2},1024),u.createVNode(P,{title:"确认是否删除?","confirm-button-text":"确认","cancel-button-text":"取消",onConfirm:q=>v(G)},{reference:u.withCtx(()=>[u.createVNode(k,{onClick:u.withModifiers(()=>{},["stop"])},{default:u.withCtx(()=>[u.createVNode(u.unref(kx))]),_:1})]),_:2},1032,["onConfirm"])])],2))),128)):(u.openBlock(),u.createBlock(A,{key:1,description:"暂无数据"}))]),_:1})]),u.createElementVNode("div",wtt,[u.createElementVNode("div",xtt,[Stt,u.createVNode(L,{modelValue:f.funcName,"onUpdate:modelValue":E[2]||(E[2]=G=>f.funcName=G)},null,8,["modelValue"]),u.createElementVNode("div",Dtt,[u.createVNode(O,{type:"primary",onClick:u.unref(b),loading:c.save},{default:u.withCtx(()=>[u.createTextVNode(" 保存 ")]),_:1},8,["onClick","loading"]),u.createVNode(O,{loading:c.test,onClick:E[3]||(E[3]=G=>S("submit"))},{default:u.withCtx(()=>[u.createTextVNode(" 测试 ")]),_:1},8,["loading"]),u.createVNode(O,{icon:u.unref(nB),onClick:E[4]||(E[4]=G=>S("log"))},{default:u.withCtx(()=>[u.createTextVNode(" 日志明细 ")]),_:1},8,["icon"]),u.createVNode(O,{type:"primary",onClick:N},{default:u.withCtx(()=>[u.createTextVNode(" 变量选择器 ")]),_:1})])]),Ntt,u.createVNode(M,{ref_key:"stMonacoEditorRef",ref:r,language:"lua",style:{width:"100%",height:"calc(80vh - 75px)"}},null,512)])]),u.createVNode(R,{ref_key:"stVarSelectDialogRef",ref:o},null,512),u.createVNode(W,{"modal-class":"log-dialog",modelValue:g.value,"onUpdate:modelValue":E[7]||(E[7]=G=>g.value=G),width:"830","align-center":"","append-to-body":"",draggable:"",overflow:"",modal:!1,"modal-penetrable":!0,"show-close":!1},{header:u.withCtx(({titleId:G,titleClass:q})=>[u.createElementVNode("div",Ett,[u.createElementVNode("div",ktt,[u.createElementVNode("span",{id:G,class:u.normalizeClass(q)}," 日志明细 ",10,Ltt)]),u.createElementVNode("div",Mtt,[u.createVNode(k,{onClick:E[5]||(E[5]=z=>g.value=!1)},{default:u.withCtx(()=>[u.createVNode(u.unref(al))]),_:1})])])]),footer:u.withCtx(()=>[u.createElementVNode("div",Att,[u.createVNode(O,{onClick:E[6]||(E[6]=G=>g.value=!1)},{default:u.withCtx(()=>[u.createTextVNode(" 关闭 ")]),_:1})])]),default:u.withCtx(()=>[u.createElementVNode("div",Ttt,[u.createVNode(I,{class:"code",height:"600px"},{default:u.withCtx(()=>[u.createElementVNode("pre",null,u.toDisplayString(p.code),1)]),_:1}),u.createVNode(F,{direction:"vertical"}),u.createVNode(I,{height:"600px"},{default:u.withCtx(()=>[u.createElementVNode("pre",{class:u.normalizeClass(p.result===1?"success-log":"error-log")},u.toDisplayString(p.result===1?`✅️ 测试通过
141
141
  ${p.detail}`:p.detail),3)]),_:1})])]),_:1},8,["modelValue"])]),_:1},8,["modelValue"])}}},[["__scopeId","data-v-b5dcb4b8"]]),cAt="",dAt="",Rtt={class:"custom-function"},Ott={class:"func-option"},Ftt={class:"icons"},Ptt=en({__name:"index",props:{size:{type:String,default:"small"},selectWidth:{type:String,default:"200px"}},emits:["insert","actionState"],setup(n,{emit:e}){const{request:t}=u.inject("stConfig"),i=u.ref(null),r=e,o=u.ref(null),s=u.ref(""),a=u.ref([]),l=async()=>{const{body:f}=await t.post("/common/qt/querySearchFunctions");if(a.value=f??[],o.value===null)s.value="";else{const p=a.value.find(({id:g})=>g===o.value);s.value=p?p.funcName:""}},c=f=>{var p;f?o.value=(p=a.value.find(g=>g.funcName===f))==null?void 0:p.id:o.value=null},d=()=>{if(!s.value)return At.error("请先选择自定义函数后, 再执行插入");const{funcName:f,funcExpression:p}=a.value.find(g=>g.funcName===s.value);r("insert",f,p)},h=async(f,p)=>{switch(f){case"open":{i.value.open(),r("actionState","因子筛选","函数管理");break}case"copy":{const g={id:null,funcName:`${p.funcName}-复制`,funcExpression:p.funcExpression};i.value.open(g);break}case"edit":{const g={id:p.id,funcName:p.funcName,funcExpression:p.funcExpression};i.value.open(g);break}case"delete":{await t.post("/common/qt/deleteSearchFunctionById",{id:p.id}),l();break}}};return u.onMounted(()=>{l()}),(f,p)=>{const g=Jt,m=z6,y=Ea,_=Na,v=ir;return u.openBlock(),u.createElementBlock("div",Rtt,[u.createVNode(_,{modelValue:s.value,"onUpdate:modelValue":p[0]||(p[0]=b=>s.value=b),size:n.size,placeholder:"自定义函数","no-match-text":"无匹配选项","no-data-text":"无选项数据",clearable:"",filterable:"",onChange:c,style:u.normalizeStyle({width:n.selectWidth})},{default:u.withCtx(()=>[(u.openBlock(!0),u.createElementBlock(u.Fragment,null,u.renderList(a.value,b=>(u.openBlock(),u.createBlock(y,{key:b.id,label:b.funcName,value:b.funcName,onClick:d},{default:u.withCtx(()=>[u.createElementVNode("div",Ott,[u.createElementVNode("span",null,u.toDisplayString(b.funcName),1),u.createElementVNode("div",Ftt,[u.createVNode(g,{onClick:u.withModifiers(C=>h("copy",b),["stop"])},{default:u.withCtx(()=>[u.createVNode(u.unref(tB))]),_:2},1032,["onClick"]),u.createVNode(g,{onClick:u.withModifiers(C=>h("edit",b),["stop"])},{default:u.withCtx(()=>[u.createVNode(u.unref(iB))]),_:2},1032,["onClick"]),u.createVNode(m,{title:"确认是否删除?","confirm-button-text":"确认","cancel-button-text":"取消",onConfirm:C=>h("delete",b)},{reference:u.withCtx(()=>[u.createVNode(g,{onClick:u.withModifiers(()=>{},["stop"])},{default:u.withCtx(()=>[u.createVNode(u.unref(kx))]),_:1})]),_:2},1032,["onConfirm"])])])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","size","style"]),u.createVNode(v,{type:"primary",size:n.size,onClick:d},{default:u.withCtx(()=>[u.createTextVNode(" 插入 ")]),_:1},8,["size"]),u.createVNode(v,{type:"primary",size:n.size,onClick:p[1]||(p[1]=b=>h("open"))},{default:u.withCtx(()=>[u.createTextVNode(" 函数管理 ")]),_:1},8,["size"]),u.createVNode(Itt,{ref_key:"ManageDialogRef",ref:i,data:a.value,onRefreshData:l},null,8,["data"])])}}},[["__scopeId","data-v-57b7ebf5"]]),Btt={install(n){n.component("st-customFunction",Ptt)}},fAt="",pAt="",gAt="",mAt="",bAt="",_At="",yAt="",vAt="",CAt="";var nk={name:"zh-cn",el:{breadcrumb:{label:"面包屑"},colorpicker:{confirm:"确定",clear:"清空",defaultLabel:"颜色选择器",description:"当前颜色 {color},按 Enter 键选择新颜色",alphaLabel:"选择透明度的值"},datepicker:{now:"此刻",today:"今天",cancel:"取消",clear:"清空",confirm:"确定",dateTablePrompt:"使用方向键与 Enter 键可选择日期",monthTablePrompt:"使用方向键与 Enter 键可选择月份",yearTablePrompt:"使用方向键与 Enter 键可选择年份",selectedDate:"已选日期",selectDate:"选择日期",selectTime:"选择时间",startDate:"开始日期",startTime:"开始时间",endDate:"结束日期",endTime:"结束时间",prevYear:"前一年",nextYear:"后一年",prevMonth:"上个月",nextMonth:"下个月",year:"年",month1:"1 月",month2:"2 月",month3:"3 月",month4:"4 月",month5:"5 月",month6:"6 月",month7:"7 月",month8:"8 月",month9:"9 月",month10:"10 月",month11:"11 月",month12:"12 月",weeks:{sun:"日",mon:"一",tue:"二",wed:"三",thu:"四",fri:"五",sat:"六"},weeksFull:{sun:"星期日",mon:"星期一",tue:"星期二",wed:"星期三",thu:"星期四",fri:"星期五",sat:"星期六"},months:{jan:"一月",feb:"二月",mar:"三月",apr:"四月",may:"五月",jun:"六月",jul:"七月",aug:"八月",sep:"九月",oct:"十月",nov:"十一月",dec:"十二月"}},inputNumber:{decrease:"减少数值",increase:"增加数值"},select:{loading:"加载中",noMatch:"无匹配数据",noData:"无数据",placeholder:"请选择"},dropdown:{toggleDropdown:"切换下拉选项"},mention:{loading:"加载中"},cascader:{noMatch:"无匹配数据",loading:"加载中",placeholder:"请选择",noData:"暂无数据"},pagination:{goto:"前往",pagesize:"条/页",total:"共 {total} 条",pageClassifier:"页",page:"页",prev:"上一页",next:"下一页",currentPage:"第 {pager} 页",prevPages:"向前 {pager} 页",nextPages:"向后 {pager} 页",deprecationWarning:"你使用了一些已被废弃的用法,请参考 el-pagination 的官方文档"},dialog:{close:"关闭此对话框"},drawer:{close:"关闭此对话框"},messagebox:{title:"提示",confirm:"确定",cancel:"取消",error:"输入的数据不合法!",close:"关闭此对话框"},upload:{deleteTip:"按 Delete 键可删除",delete:"删除",preview:"查看图片",continue:"继续上传"},slider:{defaultLabel:"滑块介于 {min} 至 {max}",defaultRangeStartLabel:"选择起始值",defaultRangeEndLabel:"选择结束值"},table:{emptyText:"暂无数据",confirmFilter:"筛选",resetFilter:"重置",clearFilter:"全部",sumText:"合计"},tour:{next:"下一步",previous:"上一步",finish:"结束导览",close:"关闭此对话框"},tree:{emptyText:"暂无数据"},transfer:{noMatch:"无匹配数据",noData:"无数据",titles:["列表 1","列表 2"],filterPlaceholder:"请输入搜索内容",noCheckedFormat:"共 {total} 项",hasCheckedFormat:"已选 {checked}/{total} 项"},image:{error:"加载失败"},pageHeader:{title:"返回"},popconfirm:{confirmButtonText:"确定",cancelButtonText:"取消"},carousel:{leftArrow:"上一张幻灯片",rightArrow:"下一张幻灯片",indicator:"幻灯片切换至索引 {index}"}}};const Vtt={ruleFormPrice:!0,ruleFormMark:!0,tableStatus:!0,tableCreateTime:!0,tableMark:!0,tableEnable:!0},wAt="",y_=n=>(u.pushScopeId("data-v-b2d15520"),n=n(),u.popScopeId(),n),ztt={class:"st-factorWarning"},Htt={class:"custom-header"},jtt=y_(()=>u.createElementVNode("span",{style:{"margin-right":"4px"}},"因子预警",-1)),Wtt={class:"factor-name"},$tt=["onClick"],Utt={class:"factor-name"},qtt=["onClick"],Ktt={style:{display:"flex","align-items":"start"}},Gtt={key:0,style:{flex:"1"}},Ytt=y_(()=>u.createElementVNode("span",{style:{margin:"0 5px"}},"~",-1)),Qtt={key:0,style:{color:"#f56c6c"}},Ztt={key:1,style:{color:"#67c23a"}},Xtt={key:0},Jtt={key:1},ent={key:2},tnt={class:"shortcut-title"},nnt=y_(()=>u.createElementVNode("span",null,"我的配置",-1)),int={class:"shortcut-config"},rnt={key:1,class:"empty"},ont={class:"shortcut-title"},snt=y_(()=>u.createElementVNode("span",null,"新增配置",-1)),ant={class:"custom-footer"},lnt=en({__name:"index",props:u.mergeModels({title:{type:[String,null],default:null},moreFactorOptions:{type:Array,default:()=>[]},emptyFactorOptions:{type:Array,default:()=>[]},tableData:{type:Array,default:()=>[]},shortcutData:{type:Array,default:()=>[]},showConfig:{type:Object,default:()=>({})},allowOperation:{type:Boolean,default:!0}},{visible:{default:!1},visibleModifiers:{}}),emits:u.mergeModels(["add","delete","enabled","closed","shortcutAdd","shortcutDelete"],["update:visible"]),setup(n,{emit:e}){const t=u.ref("ruleForm"),i=u.useModel(n,"visible"),r=e,o=n,s=Object.assign(Vtt,o.showConfig),a=u.ref(null),l=u.ref({factorType:1,factorSelectedList:[],totalCount:1,minPrice:null,maxPrice:null,mark:null}),c=u.ref({factorType:[{required:!0,message:"请选择交易类型",trigger:"blur"}],factorSelectedList:[{required:!0,message:"请选择预警因子",trigger:"blur"}],totalCount:[{required:!0,message:"请填写预警次数",trigger:"blur"}]}),d=u.ref(null),h=u.ref({shortcutName:null,factorType:1,factorSelectedList:[],totalCount:1}),f=u.ref({factorType:[{required:!0,message:"请选择交易类型",trigger:"blur"}],factorSelectedList:[{required:!0,message:"请选择预警因子",trigger:"blur"}],totalCount:[{required:!0,message:"请填写预警次数",trigger:"blur"}],shortcutName:[{required:!0,message:"请填写配置名称",trigger:"blur"}]}),p=()=>{l.value={factorType:1,factorSelectedList:[],totalCount:1,minPrice:null,maxPrice:null,mark:null},h.value={shortcutName:null,factorType:1,factorSelectedList:[],totalCount:1}},g=async C=>{Object.assign(l.value,{factorSelectedList:[C],totalCount:3});const w={factorSelectedList:l.value.factorSelectedList.map(S=>{let N=3;const D=o.tableData.find(({factorExtendName:E})=>E===S);if(D){const E=D.totalCount-D.currentCount;E===0?N=3:N=Math.min(3,12-E>=0?12-E:0)}return{factorName:S,...l.value,totalCount:N}})},x=()=>{const S=l.value.factorType;p(),l.value.factorType=S};y(a.value,w,x)},m=async C=>{const w=JSON.parse(C.data);Object.assign(l.value,{factorType:w.factorType,factorSelectedList:w.factorSelectedList,totalCount:w.totalCount});const x={factorSelectedList:l.value.factorSelectedList.map(N=>{let D=w.totalCount;const E=o.tableData.find(({factorExtendName:k})=>k===N);if(E){const k=E.totalCount-E.currentCount;k===0?D=w.totalCount:D=Math.min(w.totalCount,10-k>=0?10-k:0)}return{factorName:N,...l.value,totalCount:D}})},S=()=>p();y(a.value,x,S)},y=Ra(async(C,w,x)=>{C&&await C.validate(S=>{if(!S)return!1;const N=w??{factorSelectedList:l.value.factorSelectedList.map(D=>({factorName:D,...l.value}))};r("add",N),x?x():i.value=!1})},200),_=async C=>{C&&await C.validate(w=>{if(!w)return!1;const x={shortcutName:h.value.shortcutName,data:JSON.stringify(h.value)};r("shortcutAdd",x),p()})},v=C=>{h.value=JSON.parse(C.data)},b=C=>{n7.confirm(`是否确认删除配置: ${C.shortcutName} ?`,"删除提示",{confirmButtonText:"确认",cancelButtonText:"取消",type:"warning"}).then(()=>r("shortcutDelete",C))};return u.watch(()=>i.value,C=>{C&&(t.value=o.allowOperation?"ruleForm":"table",p())},{immediate:!0}),(C,w)=>{const x=VH,S=ir,N=Bd,D=ic,E=EV,k=P6,L=J6,O=ao,P=Pd,A=nD,I=z6,M=tD,R=Jt,F=Js,W=S3,G=ea,q=oS;return u.openBlock(),u.createElementBlock("div",ztt,[u.createVNode(q,{locale:u.unref(nk)},{default:u.withCtx(()=>[u.createVNode(G,{modelValue:i.value,"onUpdate:modelValue":w[17]||(w[17]=z=>i.value=z),width:"1020","align-center":"","destroy-on-close":"",onClosed:w[18]||(w[18]=z=>r("closed"))},{header:u.withCtx(({close:z,titleId:ae,titleClass:se})=>[u.createElementVNode("div",Htt,[u.createElementVNode("div",{class:u.normalizeClass(se)},[jtt,u.createElementVNode("span",null,u.toDisplayString(n.title),1)],2),u.createVNode(x,{modelValue:t.value,"onUpdate:modelValue":w[0]||(w[0]=ie=>t.value=ie),size:"default",options:[{label:"添加",value:"ruleForm",disabled:!n.allowOperation},{label:"管理",value:"table",disabled:!1},{label:"快捷配置",value:"shortcut",disabled:!n.allowOperation}]},null,8,["modelValue","options"])])]),footer:u.withCtx(()=>[u.createElementVNode("div",ant,[u.createVNode(S,{size:"default",onClick:w[14]||(w[14]=z=>i.value=!1)},{default:u.withCtx(()=>[u.createTextVNode("关闭")]),_:1}),t.value==="ruleForm"?(u.openBlock(),u.createBlock(S,{key:0,size:"default",type:"primary",onClick:w[15]||(w[15]=z=>u.unref(y)(a.value))},{default:u.withCtx(()=>[u.createTextVNode(" 确认 ")]),_:1})):u.createCommentVNode("",!0),t.value==="shortcut"?(u.openBlock(),u.createBlock(S,{key:1,size:"default",type:"primary",onClick:w[16]||(w[16]=z=>_(d.value))},{default:u.withCtx(()=>[u.createTextVNode(" 保存配置 ")]),_:1})):u.createCommentVNode("",!0)])]),default:u.withCtx(()=>[t.value==="ruleForm"?(u.openBlock(),u.createBlock(P,{key:0,ref_key:"ruleFormRef",ref:a,model:l.value,rules:c.value,size:"default","label-width":"90px"},{default:u.withCtx(()=>[u.createVNode(N,{label:"交易类型:",prop:"factorType"},{default:u.withCtx(()=>[u.createVNode(S,{type:"danger",plain:l.value.factorType!==1,onClick:w[1]||(w[1]=()=>{l.value.factorType===-1&&(l.value.factorSelectedList=[]),l.value.factorType=1})},{default:u.withCtx(()=>[u.createTextVNode(" 多 ")]),_:1},8,["plain"]),u.createVNode(S,{type:"success",plain:l.value.factorType!==-1,onClick:w[2]||(w[2]=()=>{l.value.factorType===1&&(l.value.factorSelectedList=[]),l.value.factorType=-1})},{default:u.withCtx(()=>[u.createTextVNode(" 空 ")]),_:1},8,["plain"])]),_:1}),u.createVNode(N,{label:"预警因子:",prop:"factorSelectedList"},{default:u.withCtx(()=>[u.createVNode(E,{modelValue:l.value.factorSelectedList,"onUpdate:modelValue":w[3]||(w[3]=z=>l.value.factorSelectedList=z)},{default:u.withCtx(()=>[l.value.factorType===1?(u.openBlock(!0),u.createElementBlock(u.Fragment,{key:0},u.renderList(n.moreFactorOptions,(z,ae)=>(u.openBlock(),u.createElementBlock("div",{class:"factor-checkbox",key:ae},[u.createVNode(D,{label:z.factorTypeName,value:z.factorTypeName},{default:u.withCtx(()=>[u.createElementVNode("span",Wtt,u.toDisplayString(z.factorTypeName),1)]),_:2},1032,["label","value"]),u.createElementVNode("span",{class:"tag-button",onClick:se=>g(z.factorTypeName)},"+3",8,$tt)]))),128)):u.createCommentVNode("",!0),l.value.factorType===-1?(u.openBlock(!0),u.createElementBlock(u.Fragment,{key:1},u.renderList(n.emptyFactorOptions,(z,ae)=>(u.openBlock(),u.createElementBlock("div",{class:"factor-checkbox",key:ae},[u.createVNode(D,{label:z.factorTypeName,value:z.factorTypeName},{default:u.withCtx(()=>[u.createElementVNode("span",Utt,u.toDisplayString(z.factorTypeName),1)]),_:2},1032,["label","value"]),u.createElementVNode("span",{class:"tag-button",onClick:se=>g(z.factorTypeName)},"+3",8,qtt)]))),128)):u.createCommentVNode("",!0)]),_:1},8,["modelValue"])]),_:1}),u.createVNode(N,{label:"预警次数:",prop:"totalCount"},{default:u.withCtx(()=>[u.createElementVNode("div",Ktt,[u.createVNode(k,{modelValue:l.value.totalCount,"onUpdate:modelValue":w[4]||(w[4]=z=>l.value.totalCount=z),min:1,"controls-position":"right",style:{"margin-right":"20px"}},null,8,["modelValue"]),n.shortcutData.length?(u.openBlock(),u.createElementBlock("div",Gtt,[(u.openBlock(!0),u.createElementBlock(u.Fragment,null,u.renderList(n.shortcutData,z=>(u.openBlock(),u.createBlock(S,{key:z.id,onClick:ae=>m(z),style:{margin:"0 12px 4px 0"}},{default:u.withCtx(()=>[u.createTextVNode(u.toDisplayString(z.shortcutName),1)]),_:2},1032,["onClick"]))),128))])):(u.openBlock(),u.createBlock(L,{key:1,type:"primary",style:{cursor:"pointer"},onClick:w[5]||(w[5]=()=>t.value="shortcut")},{default:u.withCtx(()=>[u.createTextVNode(" 暂无快捷配置, 是否点击前往自定义配置? ")]),_:1}))])]),_:1}),u.unref(s).ruleFormPrice?(u.openBlock(),u.createBlock(N,{key:0,label:"价格范围:"},{default:u.withCtx(()=>[u.createVNode(k,{modelValue:l.value.minPrice,"onUpdate:modelValue":w[6]||(w[6]=z=>l.value.minPrice=z),min:-999,placeholder:"请输入",max:999,"controls-position":"right"},null,8,["modelValue"]),Ytt,u.createVNode(k,{modelValue:l.value.maxPrice,"onUpdate:modelValue":w[7]||(w[7]=z=>l.value.maxPrice=z),placeholder:"请输入",min:-999,max:999,"controls-position":"right"},null,8,["modelValue"])]),_:1})):u.createCommentVNode("",!0),u.unref(s).ruleFormMark?(u.openBlock(),u.createBlock(N,{key:1,label:"备注:"},{default:u.withCtx(()=>[u.createVNode(O,{modelValue:l.value.mark,"onUpdate:modelValue":w[8]||(w[8]=z=>l.value.mark=z),type:"textarea",placeholder:"请输入关键字",rows:2,style:{width:"380px"}},null,8,["modelValue"])]),_:1})):u.createCommentVNode("",!0)]),_:1},8,["model","rules"])):u.createCommentVNode("",!0),t.value==="table"?(u.openBlock(),u.createBlock(M,{key:1,data:n.tableData,size:"small"},{default:u.withCtx(()=>[u.createVNode(A,{label:"预警周期",width:"70"},{default:u.withCtx(z=>[u.createTextVNode(u.toDisplayString(z.row.freqName||"-"),1)]),_:1}),u.createVNode(A,{label:"交易类型",width:"70"},{default:u.withCtx(z=>[z.row.factorExtendValue==1?(u.openBlock(),u.createElementBlock("span",Qtt,"多")):(u.openBlock(),u.createElementBlock("span",Ztt,"空"))]),_:1}),u.createVNode(A,{label:"预警因子"},{default:u.withCtx(z=>[u.createTextVNode(u.toDisplayString(z.row.factorExtendName||"-"),1)]),_:1}),u.createVNode(A,{label:"预警次数",width:"70"},{default:u.withCtx(z=>[u.createTextVNode(u.toDisplayString(`${z.row.currentCount} / ${z.row.totalCount}`),1)]),_:1}),u.unref(s).tableStatus?(u.openBlock(),u.createBlock(A,{key:0,label:"状态",width:"70"},{default:u.withCtx(z=>[u.createElementVNode("div",null,[z.row.enable===1?(u.openBlock(),u.createElementBlock("span",Xtt,"未触发")):z.row.enable===2?(u.openBlock(),u.createElementBlock("span",Jtt,"已触发")):(u.openBlock(),u.createElementBlock("span",ent,"-"))])]),_:1})):u.createCommentVNode("",!0),u.unref(s).tableCreateTime?(u.openBlock(),u.createBlock(A,{key:1,label:"设置时间",width:"136"},{default:u.withCtx(z=>[u.createTextVNode(u.toDisplayString(z.row.createdTime||"-"),1)]),_:1})):u.createCommentVNode("",!0),u.unref(s).tableMark?(u.openBlock(),u.createBlock(A,{key:2,label:"备注",width:"70"},{default:u.withCtx(z=>[u.createTextVNode(u.toDisplayString(z.row.mark||"-"),1)]),_:1})):u.createCommentVNode("",!0),n.allowOperation?(u.openBlock(),u.createBlock(A,{key:3,label:"操作",width:"140"},{default:u.withCtx(z=>[u.unref(s).tableEnable?(u.openBlock(),u.createBlock(S,{key:0,disabled:z.row.currentCount!==z.row.totalCount,size:"small",onClick:ae=>r("enabled",z.row)},{default:u.withCtx(()=>[u.createTextVNode(" 启用 ")]),_:2},1032,["disabled","onClick"])):u.createCommentVNode("",!0),u.createVNode(I,{title:"确定删除?",onConfirm:ae=>r("delete",z.row)},{reference:u.withCtx(()=>[u.createVNode(S,{size:"small"},{default:u.withCtx(()=>[u.createTextVNode("删除")]),_:1})]),_:2},1032,["onConfirm"])]),_:1})):u.createCommentVNode("",!0)]),_:1},8,["data"])):u.createCommentVNode("",!0),t.value==="shortcut"?(u.openBlock(),u.createElementBlock(u.Fragment,{key:2},[u.createElementVNode("div",tnt,[nnt,u.createVNode(F,{effect:"dark",content:"如有配置数据, 可点击查看该配置的具体信息",placement:"right-start"},{default:u.withCtx(()=>[u.createVNode(R,null,{default:u.withCtx(()=>[u.createVNode(u.unref(u1))]),_:1})]),_:1})]),u.createElementVNode("div",int,[n.shortcutData.length?(u.openBlock(!0),u.createElementBlock(u.Fragment,{key:0},u.renderList(n.shortcutData,z=>(u.openBlock(),u.createBlock(W,{key:z.id,type:"primary",size:"default",closable:"",onClick:ae=>v(z),onClose:ae=>b(z)},{default:u.withCtx(()=>[u.createTextVNode(u.toDisplayString(z.shortcutName),1)]),_:2},1032,["onClick","onClose"]))),128)):(u.openBlock(),u.createElementBlock("span",rnt,"暂无数据"))]),u.createElementVNode("div",ont,[snt,u.createVNode(F,{effect:"dark",content:"同名配置将会进行覆盖",placement:"right-start"},{default:u.withCtx(()=>[u.createVNode(R,null,{default:u.withCtx(()=>[u.createVNode(u.unref(u1))]),_:1})]),_:1})]),u.createVNode(P,{ref_key:"shortcut_ruleFormRef",ref:d,model:h.value,rules:f.value,"label-width":"90px",size:"default"},{default:u.withCtx(()=>[u.createVNode(N,{label:"配置名称:",prop:"shortcutName"},{default:u.withCtx(()=>[u.createVNode(O,{modelValue:h.value.shortcutName,"onUpdate:modelValue":w[9]||(w[9]=z=>h.value.shortcutName=z),maxlength:"6","show-word-limit":"",style:{width:"160px"}},null,8,["modelValue"])]),_:1}),u.createVNode(N,{label:"交易类型:",prop:"factorType"},{default:u.withCtx(()=>[u.createVNode(S,{type:"danger",plain:h.value.factorType!==1,onClick:w[10]||(w[10]=()=>{h.value.factorType===-1&&(h.value.factorSelectedList=[]),h.value.factorType=1})},{default:u.withCtx(()=>[u.createTextVNode(" 多 ")]),_:1},8,["plain"]),u.createVNode(S,{type:"success",plain:h.value.factorType!==-1,onClick:w[11]||(w[11]=()=>{h.value.factorType===1&&(h.value.factorSelectedList=[]),h.value.factorType=-1})},{default:u.withCtx(()=>[u.createTextVNode(" 空 ")]),_:1},8,["plain"])]),_:1}),u.createVNode(N,{label:"预警因子:",prop:"factorSelectedList"},{default:u.withCtx(()=>[u.createVNode(E,{modelValue:h.value.factorSelectedList,"onUpdate:modelValue":w[12]||(w[12]=z=>h.value.factorSelectedList=z)},{default:u.withCtx(()=>[h.value.factorType===1?(u.openBlock(!0),u.createElementBlock(u.Fragment,{key:0},u.renderList(n.moreFactorOptions,(z,ae)=>(u.openBlock(),u.createBlock(D,{key:ae,label:z.factorTypeName,value:z.factorTypeName,style:{width:"200px"}},null,8,["label","value"]))),128)):u.createCommentVNode("",!0),h.value.factorType===-1?(u.openBlock(!0),u.createElementBlock(u.Fragment,{key:1},u.renderList(n.emptyFactorOptions,(z,ae)=>(u.openBlock(),u.createBlock(D,{key:ae,label:z.factorTypeName,value:z.factorTypeName,style:{width:"200px"}},null,8,["label","value"]))),128)):u.createCommentVNode("",!0)]),_:1},8,["modelValue"])]),_:1}),u.createVNode(N,{label:"预警次数:",prop:"totalCount"},{default:u.withCtx(()=>[u.createVNode(k,{modelValue:h.value.totalCount,"onUpdate:modelValue":w[13]||(w[13]=z=>h.value.totalCount=z),min:1,max:10,"controls-position":"right",style:{"margin-right":"20px"}},null,8,["modelValue"])]),_:1})]),_:1},8,["model","rules"])],64)):u.createCommentVNode("",!0)]),_:1},8,["modelValue"])]),_:1},8,["locale"])])}}},[["__scopeId","data-v-b2d15520"]]),unt={install(n){n.component("st-factorWarning",lnt)}},cnt=u.defineComponent({__name:"index",props:{data:{type:Object,default:()=>({})},config:{type:Object,default:()=>({})}},setup(n,{expose:e}){const t={tooltipFormatter:null,dataZoom:null,grid:{left:"60px",bottom:"20px",right:"0",top:0}};let i,r;const o=n,s=u.ref(),a=u.computed(()=>({...t,...o.config}));u.watch(()=>[o.data],()=>{l()},{deep:!0}),u.onMounted(()=>{i=Kr.init(s.value),l();let c=!0;r=new ResizeObserver(()=>{if(c){c=null;return}i.resize()}),r.observe(s.value)}),u.onUnmounted(()=>{i.dispose(),r.disconnect(),r=null});const l=()=>{i.setOption({tooltip:{confine:!0,formatter:a.value.tooltipFormatter?c=>a.value.tooltipFormatter(c,o.data):null},grid:a.value.grid,xAxis:{type:"category",data:o.data.date},yAxis:{type:"category",inverse:!0,data:o.data.data.map(c=>c.name)},visualMap:{type:"piecewise",show:!1,inRange:[]},dataZoom:a.value.dataZoom,series:[{name:"热力图",type:"heatmap",info:o.data,data:o.data.data.reduce((c,d,h)=>[...c,...d.data.reduce((f,p,g)=>p===null?f:[...f,{value:[g,h,p.value],itemStyle:{color:p.color}}],[])],[]),label:{show:!1}}]})};return e({reset:()=>{l()}}),(c,d)=>(u.openBlock(),u.createElementBlock("div",{ref_key:"chartRef",ref:s,class:"chart"},null,512))}}),SAt="",dnt=en(cnt,[["__scopeId","data-v-4c74604d"]]),hnt={install(n){n.component("st-heatMap",dnt)}},DAt="",NAt="",fnt={class:"st-kline-tips"},pnt={class:"st-kline-tips-row"},gnt=u.defineComponent({__name:"index",props:{data:{type:Array,default:()=>[]}},setup(n){return(e,t)=>(u.openBlock(),u.createElementBlock("div",fnt,[u.createElementVNode("div",pnt,[(u.openBlock(!0),u.createElementBlock(u.Fragment,null,u.renderList(n.data,i=>(u.openBlock(),u.createElementBlock("div",{class:"st-kline-tips-row-item",style:u.normalizeStyle({color:i.color})},u.toDisplayString(i.label)+" "+u.toDisplayString(i.value),5))),256))])]))}}),EAt="",ik=en(gnt,[["__scopeId","data-v-78aed210"]]),mnt=u.defineComponent({__name:"index",emits:["closeContextMenuCallBack"],setup(n,{emit:e}){const t=e,i=u.ref(),r=u.ref(),o=u.ref({display:"none",top:"0px",left:"0px"}),s=()=>{o.value.display="none",t("closeContextMenuCallBack"),document.removeEventListener("click",s)},a=l=>{if(l.preventDefault(),l.stopPropagation(),o.value.display==="block"){const{offsetX:c,offsetY:d}=l,{offsetWidth:h,offsetHeight:f}=r.value;if(c<=h&&d<=f)return}i.value.click(),o.value={display:"block",top:`${l.offsetY}px`,left:`${l.offsetX}px`},u.nextTick(()=>{const{bottom:c,height:d,right:h,width:f}=r.value.getBoundingClientRect();c>window.innerHeight?o.value={display:"block",top:`${l.offsetY-d}px`,left:`${l.offsetX}px`}:h>window.innerWidth&&(o.value={display:"block",top:`${l.offsetY}px`,left:`${l.offsetX-f}px`})}),document.addEventListener("click",s)};return(l,c)=>(u.openBlock(),u.createElementBlock("div",{ref_key:"contextmenuRef",ref:i,class:"contextmenu",onContextmenu:a,onMouseleave:s},[u.renderSlot(l.$slots,"default",{},void 0,!0),o.value.display!=="none"?(u.openBlock(),u.createElementBlock("div",{key:0,ref_key:"contextmenuContentRef",ref:r,class:"contextmenu-popover",style:u.normalizeStyle(o.value)},[u.renderSlot(l.$slots,"popover",{},void 0,!0)],4)):u.createCommentVNode("",!0)],544))}}),kAt="",bnt=en(mnt,[["__scopeId","data-v-249fd104"]]);var rk=function(){var n=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename<"u"&&(n=n||__filename),function(e){e=e||{};var t=typeof e<"u"?e:{},i,r;t.ready=new Promise(function(ke,Te){i=ke,r=Te});var o={},s;for(s in t)t.hasOwnProperty(s)&&(o[s]=t[s]);var a=function(ke,Te){throw Te},l=!1,c=!1,d=!1,h=!1;l=typeof window=="object",c=typeof importScripts=="function",d=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string",h=!l&&!d&&!c;var f="";function p(ke){return t.locateFile?t.locateFile(ke,f):f+ke}var g,m,y,_;d?(c?f=require("path").dirname(f)+"/":f=__dirname+"/",g=function(Te,Ue){return y||(y=require("fs")),_||(_=require("path")),Te=_.normalize(Te),y.readFileSync(Te,Ue?null:"utf8")},m=function(Te){var Ue=g(Te,!0);return Ue.buffer||(Ue=new Uint8Array(Ue)),P(Ue.buffer),Ue},process.argv.length>1&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2),process.on("uncaughtException",function(ke){if(!(ke instanceof Ee))throw ke}),process.on("unhandledRejection",fe),a=function(ke){process.exit(ke)},t.inspect=function(){return"[Emscripten Module object]"}):h?(typeof read<"u"&&(g=function(Te){return read(Te)}),m=function(Te){var Ue;return typeof readbuffer=="function"?new Uint8Array(readbuffer(Te)):(Ue=read(Te,"binary"),P(typeof Ue=="object"),Ue)},typeof scriptArgs<"u"&&scriptArgs,typeof quit=="function"&&(a=function(ke){quit(ke)}),typeof print<"u"&&(typeof console>"u"&&(console={}),console.log=print,console.warn=console.error=typeof printErr<"u"?printErr:print)):(l||c)&&(c?f=self.location.href:document.currentScript&&(f=document.currentScript.src),n&&(f=n),f.indexOf("blob:")!==0?f=f.substr(0,f.lastIndexOf("/")+1):f="",g=function(Te){var Ue=new XMLHttpRequest;return Ue.open("GET",Te,!1),Ue.send(null),Ue.responseText},c&&(m=function(Te){var Ue=new XMLHttpRequest;return Ue.open("GET",Te,!1),Ue.responseType="arraybuffer",Ue.send(null),new Uint8Array(Ue.response)})),t.print||console.log.bind(console);var v=t.printErr||console.warn.bind(console);for(s in o)o.hasOwnProperty(s)&&(t[s]=o[s]);o=null,t.arguments&&t.arguments,t.thisProgram&&t.thisProgram,t.quit&&(a=t.quit);var b=16;function C(ke,Te){return Te||(Te=b),Math.ceil(ke/Te)*Te}function w(ke,Te){if(typeof WebAssembly.Function=="function"){for(var Ue={i:"i32",j:"i64",f:"f32",d:"f64"},tt={parameters:[],results:Te[0]=="v"?[]:[Ue[Te[0]]]},qt=1;qt<Te.length;++qt)tt.parameters.push(Ue[Te[qt]]);return new WebAssembly.Function(tt,ke)}var Xt=[1,0,1,96],Lt=Te.slice(0,1),Ht=Te.slice(1),nr={i:127,j:126,f:125,d:124};Xt.push(Ht.length);for(var qt=0;qt<Ht.length;++qt)Xt.push(nr[Ht[qt]]);Lt=="v"?Xt.push(0):Xt=Xt.concat([1,nr[Lt]]),Xt[1]=Xt.length-2;var mi=new Uint8Array([0,97,115,109,1,0,0,0].concat(Xt,[2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0])),ur=new WebAssembly.Module(mi),r1=new WebAssembly.Instance(ur,{e:{f:ke}}),r3=r1.exports.f;return r3}var x=[],S;function N(ke,Te){var Ue=me;if(!S){S=new WeakMap;for(var tt=0;tt<Ue.length;tt++){var qt=Ue.get(tt);qt&&S.set(qt,tt)}}if(S.has(ke))return S.get(ke);var Xt;if(x.length)Xt=x.pop();else{Xt=Ue.length;try{Ue.grow(1)}catch(Ht){throw Ht instanceof RangeError?"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.":Ht}}try{Ue.set(Xt,ke)}catch(Ht){if(!(Ht instanceof TypeError))throw Ht;var Lt=w(ke,Te);Ue.set(Xt,Lt)}return S.set(ke,Xt),Xt}function D(ke,Te){return N(ke,Te)}var E;t.wasmBinary&&(E=t.wasmBinary);var k;t.noExitRuntime&&(k=t.noExitRuntime),typeof WebAssembly!="object"&&fe("no native wasm support detected");var L,me,O=!1;function P(ke,Te){ke||fe("Assertion failed: "+Te)}function A(ke){var Te=t["_"+ke];return P(Te,"Cannot call unknown function "+ke+", make sure it is exported"),Te}function I(ke,Te,Ue,tt,qt){var Xt={string:function(va){var kd=0;if(va!=null&&va!==0){var Ca=(va.length<<2)+1;kd=Fe(Ca),z(va,kd,Ca)}return kd},array:function(va){var kd=Fe(va.length);return ae(va,kd),kd}};function Lt(va){return Te==="string"?G(va):Te==="boolean"?!!va:va}var Ht=A(ke),nr=[],mi=0;if(tt)for(var ur=0;ur<tt.length;ur++){var r1=Xt[Ue[ur]];r1?(mi===0&&(mi=i1()),nr[ur]=r1(tt[ur])):nr[ur]=tt[ur]}var r3=Ht.apply(null,nr);return r3=Lt(r3),mi!==0&&el(mi),r3}var M=1;function R(ke,Te){var Ue;return Te==M?Ue=Fe(ke.length):Ue=qo(ke.length),ke.subarray||ke.slice?oe.set(ke,Ue):oe.set(new Uint8Array(ke),Ue),Ue}var F=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function W(ke,Te,Ue){for(var tt=Te+Ue,qt=Te;ke[qt]&&!(qt>=tt);)++qt;if(qt-Te>16&&ke.subarray&&F)return F.decode(ke.subarray(Te,qt));for(var Xt="";Te<qt;){var Lt=ke[Te++];if(!(Lt&128)){Xt+=String.fromCharCode(Lt);continue}var Ht=ke[Te++]&63;if((Lt&224)==192){Xt+=String.fromCharCode((Lt&31)<<6|Ht);continue}var nr=ke[Te++]&63;if((Lt&240)==224?Lt=(Lt&15)<<12|Ht<<6|nr:Lt=(Lt&7)<<18|Ht<<12|nr<<6|ke[Te++]&63,Lt<65536)Xt+=String.fromCharCode(Lt);else{var mi=Lt-65536;Xt+=String.fromCharCode(55296|mi>>10,56320|mi&1023)}}return Xt}function G(ke,Te){return ke?W(oe,ke,Te):""}function q(ke,Te,Ue,tt){if(!(tt>0))return 0;for(var qt=Ue,Xt=Ue+tt-1,Lt=0;Lt<ke.length;++Lt){var Ht=ke.charCodeAt(Lt);if(Ht>=55296&&Ht<=57343){var nr=ke.charCodeAt(++Lt);Ht=65536+((Ht&1023)<<10)|nr&1023}if(Ht<=127){if(Ue>=Xt)break;Te[Ue++]=Ht}else if(Ht<=2047){if(Ue+1>=Xt)break;Te[Ue++]=192|Ht>>6,Te[Ue++]=128|Ht&63}else if(Ht<=65535){if(Ue+2>=Xt)break;Te[Ue++]=224|Ht>>12,Te[Ue++]=128|Ht>>6&63,Te[Ue++]=128|Ht&63}else{if(Ue+3>=Xt)break;Te[Ue++]=240|Ht>>18,Te[Ue++]=128|Ht>>12&63,Te[Ue++]=128|Ht>>6&63,Te[Ue++]=128|Ht&63}}return Te[Ue]=0,Ue-qt}function z(ke,Te,Ue){return q(ke,oe,Te,Ue)}function ae(ke,Te){ee.set(ke,Te)}var se=65536,ie,ee,oe;function ce(ke){ie=ke,t.HEAP8=ee=new Int8Array(ke),t.HEAP16=new Int16Array(ke),t.HEAP32=new Int32Array(ke),t.HEAPU8=oe=new Uint8Array(ke),t.HEAPU16=new Uint16Array(ke),t.HEAPU32=new Uint32Array(ke),t.HEAPF32=new Float32Array(ke),t.HEAPF64=new Float64Array(ke)}var pe=5247776;t.___heap_base=5247776;var le=t.INITIAL_MEMORY||16777216;t.wasmMemory?L=t.wasmMemory:L=new WebAssembly.Memory({initial:le/se,maximum:le/se}),L&&(ie=L.buffer),le=ie.byteLength,ce(ie);var me=new WebAssembly.Table({initial:1,element:"anyfunc"}),Se=[],te=[],j=[],Q=[],ne=!1;function J(){if(t.preRun)for(typeof t.preRun=="function"&&(t.preRun=[t.preRun]);t.preRun.length;)X(t.preRun.shift());_e(Se)}function re(){ne=!0,_e(te)}function Y(){_e(j)}function Z(){if(t.postRun)for(typeof t.postRun=="function"&&(t.postRun=[t.postRun]);t.postRun.length;)V(t.postRun.shift());_e(Q)}function X(ke){Se.unshift(ke)}function V(ke){Q.unshift(ke)}var B=0,U=null;function K(ke){B++,t.monitorRunDependencies&&t.monitorRunDependencies(B)}function ue(ke){if(B--,t.monitorRunDependencies&&t.monitorRunDependencies(B),B==0&&U){var Te=U;U=null,Te()}}t.preloadedImages={},t.preloadedAudios={},t.preloadedWasm={},X(Hl);function fe(ke){t.onAbort&&t.onAbort(ke),ke+="",v(ke),O=!0,ke="abort("+ke+"). Build with -s ASSERTIONS=1 for more info.";var Te=new WebAssembly.RuntimeError(ke);throw r(Te),Te}function we(ke,Te){return String.prototype.startsWith?ke.startsWith(Te):ke.indexOf(Te)===0}var ye="data:application/octet-stream;base64,";function xe(ke){return we(ke,ye)}var De="file://";function $e(ke){return we(ke,De)}var ze="talib.wasm";xe(ze)||(ze=p(ze));function Ie(){try{if(E)return new Uint8Array(E);if(m)return m(ze);throw"both async and sync fetching of the wasm failed"}catch(ke){fe(ke)}}function rt(){return!E&&(l||c)&&typeof fetch=="function"&&!$e(ze)?fetch(ze,{credentials:"same-origin"}).then(function(ke){if(!ke.ok)throw"failed to load wasm binary file at '"+ze+"'";return ke.arrayBuffer()}).catch(function(){return Ie()}):Promise.resolve().then(Ie)}function H(){var ke={env:Ed,wasi_snapshot_preview1:Ed};function Te(Lt,Ht){var nr=Lt.exports;nr=Uo(nr,1024),t.asm=nr,ue()}K();function Ue(Lt){Te(Lt.instance)}function tt(Lt){return rt().then(function(Ht){return WebAssembly.instantiate(Ht,ke)}).then(Lt,function(Ht){v("failed to asynchronously prepare wasm: "+Ht),fe(Ht)})}function qt(){if(!E&&typeof WebAssembly.instantiateStreaming=="function"&&!xe(ze)&&!$e(ze)&&typeof fetch=="function")fetch(ze,{credentials:"same-origin"}).then(function(Lt){var Ht=WebAssembly.instantiateStreaming(Lt,ke);return Ht.then(Ue,function(nr){return v("wasm streaming compile failed: "+nr),v("falling back to ArrayBuffer instantiation"),tt(Ue)})});else return tt(Ue)}if(t.instantiateWasm)try{var Xt=t.instantiateWasm(ke,Te);return Xt}catch(Lt){return v("Module.instantiateWasm callback failed with error: "+Lt),!1}return qt(),{}}function _e(ke){for(;ke.length>0;){var Te=ke.shift();if(typeof Te=="function"){Te(t);continue}var Ue=Te.func;typeof Ue=="number"?Te.arg===void 0?me.get(Ue)():me.get(Ue)(Te.arg):Ue(Te.arg===void 0?null:Te.arg)}}function Ne(ke,Te,Ue){return Ue&&Ue.length?t["dynCall_"+ke].apply(null,[Te].concat(Ue)):t["dynCall_"+ke].call(null,Te)}function je(ke,Te,Ue){return ke.indexOf("j")!=-1?Ne(ke,Te,Ue):me.get(Te).apply(null,Ue)}var lt={nextHandle:1,loadedLibs:{},loadedLibNames:{}};function St(ke){return function(){var Te=i1();try{return je(ke,arguments[0],Array.prototype.slice.call(arguments,1))}catch(Ue){if(el(Te),Ue!==Ue+0&&Ue!=="longjmp")throw Ue;_setThrew(1,0)}}}function Ni(ke){if(ne)return qo(ke);var Te=t.___heap_base,Ue=Te+ke+15&-16;return t.___heap_base=Ue,Te}function Uo(ke,Te,Ue){var tt={};for(var qt in ke){var Xt=ke[qt];typeof Xt=="object"&&(Xt=Xt.value),typeof Xt=="number"&&(Xt+=Te),tt[qt]=Xt,Ue&&(Ue["_"+qt]=Xt)}return tt}function ya(ke){var Te=["setTempRet0","getTempRet0","stackAlloc","stackSave","stackRestore"];return ke.indexOf("dynCall_")==0||Te.indexOf(ke)!=-1?ke:"_"+ke}function Xa(ke,Te){var Ue=new Uint32Array(new Uint8Array(ke.subarray(0,24)).buffer);P(Ue[0]==1836278016,"need to see wasm magic number"),P(ke[8]===0,"need the dylink section to be first");var tt=9;function qt(){for(var Ca=0,Sg=1;;){var kh=ke[tt++];if(Ca+=(kh&127)*Sg,Sg*=128,!(kh&128))break}return Ca}qt(),P(ke[tt]===6),tt++,P(ke[tt]==="d".charCodeAt(0)),tt++,P(ke[tt]==="y".charCodeAt(0)),tt++,P(ke[tt]==="l".charCodeAt(0)),tt++,P(ke[tt]==="i".charCodeAt(0)),tt++,P(ke[tt]==="n".charCodeAt(0)),tt++,P(ke[tt]==="k".charCodeAt(0)),tt++;var Xt=qt(),Lt=qt(),Ht=qt();qt();for(var nr=qt(),mi=[],ur=0;ur<nr;++ur){var r1=qt(),r3=ke.subarray(tt,tt+r1);tt+=r1;var va=W(r3,0);mi.push(va)}function kd(){Lt=Math.pow(2,Lt),Lt=Math.max(Lt,b);var Ca=C(Ni(Xt+Lt),Lt),Sg=Ed,kh=me,JO=kh.length,aTt=kh;kh.grow(Ht),P(kh===aTt);for(var o3=Ca;o3<Ca+Xt;o3++)ee[o3]=0;for(var o3=JO;o3<JO+Ht;o3++)kh.set(o3,null);var eF={},tF=function(_s,wa,Lh){Lh&&(_s="orig$"+_s);var Gs=t.asm[_s];if(!Gs){var Z8=ya(_s);Gs=t[Z8],Gs||(Gs=eF[Z8]),!Gs&&_s.startsWith("invoke_")&&(Gs=St(_s.split("_")[1]))}return Gs};for(var nF in t)nF in Sg||(Sg[nF]=t[nF]);var lTt={get:function(_s,wa){switch(wa){case"__memory_base":return Ca;case"__table_base":return JO}if(wa in _s)return _s[wa];if(wa.startsWith("g$")){var Lh=wa.substr(2);return _s[wa]=function(){return tF(Lh)}}if(wa.startsWith("fp$")){var Gs=wa.split("$");P(Gs.length==3);var Lh=Gs[1],Z8=Gs[2],cTt=Z8.indexOf("j")>=0,iF=0;return _s[wa]=function(){if(!iF){var dTt=tF(Lh,"function",cTt);iF=D(dTt,Z8)}return iF}}return _s[wa]=function(){return tF(wa).apply(null,arguments)}}},S0e=new Proxy(Sg,lTt),D0e={global:{NaN:NaN,Infinity:1/0},"global.Math":Math,env:S0e,wasi_snapshot_preview1:S0e};function N0e(_s,wa){var Lh=Uo(_s.exports,Ca,wa),Gs=Lh.__post_instantiate;return Gs&&(ne?Gs():te.push(Gs)),Lh}if(Te.loadAsync)return WebAssembly.instantiate(ke,D0e).then(function(_s){return N0e(_s.instance,eF)});var uTt=new WebAssembly.Instance(new WebAssembly.Module(ke),D0e);return N0e(uTt,eF)}return Te.loadAsync?Promise.all(mi.map(function(Ca){return ms(Ca,Te)})).then(function(){return kd()}):(mi.forEach(function(Ca){ms(Ca,Te)}),kd())}function Ja(ke){return fetch(ke,{credentials:"same-origin"}).then(function(Te){if(!Te.ok)throw"failed to load binary file at '"+ke+"'";return Te.arrayBuffer()}).then(function(Te){return new Uint8Array(Te)})}function ms(ke,Te){ke=="__self__"&&!lt.loadedLibNames[ke]&&(lt.loadedLibs[-1]={refcount:1/0,name:"__self__",module:t.asm,global:!0},lt.loadedLibNames.__self__=-1),Te=Te||{global:!0,nodelete:!0};var Ue=lt.loadedLibNames[ke],tt;if(Ue)return tt=lt.loadedLibs[Ue],Te.global&&!tt.global&&(tt.global=!0,tt.module!=="loading"&&Ht(tt.module)),Te.nodelete&&tt.refcount!==1/0&&(tt.refcount=1/0),tt.refcount++,Te.loadAsync?Promise.resolve(Ue):Ue;Ue=lt.nextHandle++,tt={refcount:Te.nodelete?1/0:1,name:ke,module:"loading",global:Te.global},lt.loadedLibNames[ke]=Ue,lt.loadedLibs[Ue]=tt;function qt(mi){if(Te.fs){var ur=Te.fs.readFile(mi,{encoding:"binary"});return ur instanceof Uint8Array||(ur=new Uint8Array(lib_data)),Te.loadAsync?Promise.resolve(ur):ur}return Te.loadAsync?Ja(mi):m(mi)}function Xt(mi){return Xa(mi,Te)}function Lt(){if(t.preloadedWasm!==void 0&&t.preloadedWasm[ke]!==void 0){var mi=t.preloadedWasm[ke];return Te.loadAsync?Promise.resolve(mi):mi}return Te.loadAsync?qt(ke).then(function(ur){return Xt(ur)}):Xt(qt(ke))}function Ht(mi){for(var ur in mi)if(mi.hasOwnProperty(ur)){var r1=ya(ur);t.hasOwnProperty(r1)||(t[r1]=mi[ur])}}function nr(mi){tt.global&&Ht(mi),tt.module=mi}return Te.loadAsync?Lt().then(function(mi){return nr(mi),Ue}):(nr(Lt()),Ue)}function Hl(){var ke=[];if(t.dynamicLibraries&&(ke=ke.concat(t.dynamicLibraries)),!!ke.length){if(!m){K(),Promise.all(ke.map(function(Te){return ms(Te,{loadAsync:!0,global:!0,nodelete:!0})})).then(function(){ue()});return}ke.forEach(function(Te){ms(Te,{global:!0,nodelete:!0})})}}function bs(ke,Te,Ue){oe.copyWithin(ke,Te,Te+Ue)}function qu(ke){fe("OOM")}function Ku(ke){qu()}function Gu(){return t.___heap_base}te.push({func:function(){ot()}},{func:function(){Yu()}});var Ed={__indirect_function_table:me,__memory_base:1024,__stack_pointer:pe,__table_base:1,emscripten_memcpy_big:bs,emscripten_resize_heap:Ku,g$__heap_base:Gu,memory:L};H();var Yu=t.___wasm_call_ctors=function(){return(Yu=t.___wasm_call_ctors=t.asm.__wasm_call_ctors).apply(null,arguments)};t._TA_ACCBANDS=function(){return(t._TA_ACCBANDS=t.asm.TA_ACCBANDS).apply(null,arguments)};var qo=t._malloc=function(){return(qo=t._malloc=t.asm.malloc).apply(null,arguments)};t._free=function(){return(t._free=t.asm.free).apply(null,arguments)},t._TA_SMA=function(){return(t._TA_SMA=t.asm.TA_SMA).apply(null,arguments)},t._TA_ACOS=function(){return(t._TA_ACOS=t.asm.TA_ACOS).apply(null,arguments)},t._TA_AD=function(){return(t._TA_AD=t.asm.TA_AD).apply(null,arguments)},t._TA_ADD=function(){return(t._TA_ADD=t.asm.TA_ADD).apply(null,arguments)},t._TA_ADOSC=function(){return(t._TA_ADOSC=t.asm.TA_ADOSC).apply(null,arguments)},t._TA_ADX=function(){return(t._TA_ADX=t.asm.TA_ADX).apply(null,arguments)},t._TA_ADXR=function(){return(t._TA_ADXR=t.asm.TA_ADXR).apply(null,arguments)},t._TA_APO=function(){return(t._TA_APO=t.asm.TA_APO).apply(null,arguments)},t._TA_MA=function(){return(t._TA_MA=t.asm.TA_MA).apply(null,arguments)},t._TA_AROON=function(){return(t._TA_AROON=t.asm.TA_AROON).apply(null,arguments)},t._TA_AROONOSC=function(){return(t._TA_AROONOSC=t.asm.TA_AROONOSC).apply(null,arguments)},t._TA_ASIN=function(){return(t._TA_ASIN=t.asm.TA_ASIN).apply(null,arguments)},t._TA_ATAN=function(){return(t._TA_ATAN=t.asm.TA_ATAN).apply(null,arguments)},t._TA_ATR=function(){return(t._TA_ATR=t.asm.TA_ATR).apply(null,arguments)},t._TA_TRANGE=function(){return(t._TA_TRANGE=t.asm.TA_TRANGE).apply(null,arguments)},t._TA_AVGDEV=function(){return(t._TA_AVGDEV=t.asm.TA_AVGDEV).apply(null,arguments)},t._TA_AVGPRICE=function(){return(t._TA_AVGPRICE=t.asm.TA_AVGPRICE).apply(null,arguments)},t._TA_BBANDS=function(){return(t._TA_BBANDS=t.asm.TA_BBANDS).apply(null,arguments)},t._TA_STDDEV=function(){return(t._TA_STDDEV=t.asm.TA_STDDEV).apply(null,arguments)},t._TA_BETA=function(){return(t._TA_BETA=t.asm.TA_BETA).apply(null,arguments)},t._TA_BOP=function(){return(t._TA_BOP=t.asm.TA_BOP).apply(null,arguments)},t._TA_CCI=function(){return(t._TA_CCI=t.asm.TA_CCI).apply(null,arguments)},t._TA_CDL2CROWS=function(){return(t._TA_CDL2CROWS=t.asm.TA_CDL2CROWS).apply(null,arguments)},t._TA_CDL3BLACKCROWS=function(){return(t._TA_CDL3BLACKCROWS=t.asm.TA_CDL3BLACKCROWS).apply(null,arguments)},t._TA_CDL3INSIDE=function(){return(t._TA_CDL3INSIDE=t.asm.TA_CDL3INSIDE).apply(null,arguments)},t._TA_CDL3LINESTRIKE=function(){return(t._TA_CDL3LINESTRIKE=t.asm.TA_CDL3LINESTRIKE).apply(null,arguments)},t._TA_CDL3OUTSIDE=function(){return(t._TA_CDL3OUTSIDE=t.asm.TA_CDL3OUTSIDE).apply(null,arguments)},t._TA_CDL3STARSINSOUTH=function(){return(t._TA_CDL3STARSINSOUTH=t.asm.TA_CDL3STARSINSOUTH).apply(null,arguments)},t._TA_CDL3WHITESOLDIERS=function(){return(t._TA_CDL3WHITESOLDIERS=t.asm.TA_CDL3WHITESOLDIERS).apply(null,arguments)},t._TA_CDLABANDONEDBABY=function(){return(t._TA_CDLABANDONEDBABY=t.asm.TA_CDLABANDONEDBABY).apply(null,arguments)},t._TA_CDLADVANCEBLOCK=function(){return(t._TA_CDLADVANCEBLOCK=t.asm.TA_CDLADVANCEBLOCK).apply(null,arguments)},t._TA_CDLBELTHOLD=function(){return(t._TA_CDLBELTHOLD=t.asm.TA_CDLBELTHOLD).apply(null,arguments)},t._TA_CDLBREAKAWAY=function(){return(t._TA_CDLBREAKAWAY=t.asm.TA_CDLBREAKAWAY).apply(null,arguments)},t._TA_CDLCLOSINGMARUBOZU=function(){return(t._TA_CDLCLOSINGMARUBOZU=t.asm.TA_CDLCLOSINGMARUBOZU).apply(null,arguments)},t._TA_CDLCONCEALBABYSWALL=function(){return(t._TA_CDLCONCEALBABYSWALL=t.asm.TA_CDLCONCEALBABYSWALL).apply(null,arguments)},t._TA_CDLCOUNTERATTACK=function(){return(t._TA_CDLCOUNTERATTACK=t.asm.TA_CDLCOUNTERATTACK).apply(null,arguments)},t._TA_CDLDARKCLOUDCOVER=function(){return(t._TA_CDLDARKCLOUDCOVER=t.asm.TA_CDLDARKCLOUDCOVER).apply(null,arguments)},t._TA_CDLDOJI=function(){return(t._TA_CDLDOJI=t.asm.TA_CDLDOJI).apply(null,arguments)},t._TA_CDLDOJISTAR=function(){return(t._TA_CDLDOJISTAR=t.asm.TA_CDLDOJISTAR).apply(null,arguments)},t._TA_CDLDRAGONFLYDOJI=function(){return(t._TA_CDLDRAGONFLYDOJI=t.asm.TA_CDLDRAGONFLYDOJI).apply(null,arguments)},t._TA_CDLENGULFING=function(){return(t._TA_CDLENGULFING=t.asm.TA_CDLENGULFING).apply(null,arguments)},t._TA_CDLEVENINGDOJISTAR=function(){return(t._TA_CDLEVENINGDOJISTAR=t.asm.TA_CDLEVENINGDOJISTAR).apply(null,arguments)},t._TA_CDLEVENINGSTAR=function(){return(t._TA_CDLEVENINGSTAR=t.asm.TA_CDLEVENINGSTAR).apply(null,arguments)},t._TA_CDLGAPSIDESIDEWHITE=function(){return(t._TA_CDLGAPSIDESIDEWHITE=t.asm.TA_CDLGAPSIDESIDEWHITE).apply(null,arguments)},t._TA_CDLGRAVESTONEDOJI=function(){return(t._TA_CDLGRAVESTONEDOJI=t.asm.TA_CDLGRAVESTONEDOJI).apply(null,arguments)},t._TA_CDLHAMMER=function(){return(t._TA_CDLHAMMER=t.asm.TA_CDLHAMMER).apply(null,arguments)},t._TA_CDLHANGINGMAN=function(){return(t._TA_CDLHANGINGMAN=t.asm.TA_CDLHANGINGMAN).apply(null,arguments)},t._TA_CDLHARAMI=function(){return(t._TA_CDLHARAMI=t.asm.TA_CDLHARAMI).apply(null,arguments)},t._TA_CDLHARAMICROSS=function(){return(t._TA_CDLHARAMICROSS=t.asm.TA_CDLHARAMICROSS).apply(null,arguments)},t._TA_CDLHIGHWAVE=function(){return(t._TA_CDLHIGHWAVE=t.asm.TA_CDLHIGHWAVE).apply(null,arguments)},t._TA_CDLHIKKAKE=function(){return(t._TA_CDLHIKKAKE=t.asm.TA_CDLHIKKAKE).apply(null,arguments)},t._TA_CDLHIKKAKEMOD=function(){return(t._TA_CDLHIKKAKEMOD=t.asm.TA_CDLHIKKAKEMOD).apply(null,arguments)},t._TA_CDLHOMINGPIGEON=function(){return(t._TA_CDLHOMINGPIGEON=t.asm.TA_CDLHOMINGPIGEON).apply(null,arguments)},t._TA_CDLIDENTICAL3CROWS=function(){return(t._TA_CDLIDENTICAL3CROWS=t.asm.TA_CDLIDENTICAL3CROWS).apply(null,arguments)},t._TA_CDLINNECK=function(){return(t._TA_CDLINNECK=t.asm.TA_CDLINNECK).apply(null,arguments)},t._TA_CDLINVERTEDHAMMER=function(){return(t._TA_CDLINVERTEDHAMMER=t.asm.TA_CDLINVERTEDHAMMER).apply(null,arguments)},t._TA_CDLKICKING=function(){return(t._TA_CDLKICKING=t.asm.TA_CDLKICKING).apply(null,arguments)},t._TA_CDLKICKINGBYLENGTH=function(){return(t._TA_CDLKICKINGBYLENGTH=t.asm.TA_CDLKICKINGBYLENGTH).apply(null,arguments)},t._TA_CDLLADDERBOTTOM=function(){return(t._TA_CDLLADDERBOTTOM=t.asm.TA_CDLLADDERBOTTOM).apply(null,arguments)},t._TA_CDLLONGLEGGEDDOJI=function(){return(t._TA_CDLLONGLEGGEDDOJI=t.asm.TA_CDLLONGLEGGEDDOJI).apply(null,arguments)},t._TA_CDLLONGLINE=function(){return(t._TA_CDLLONGLINE=t.asm.TA_CDLLONGLINE).apply(null,arguments)},t._TA_CDLMARUBOZU=function(){return(t._TA_CDLMARUBOZU=t.asm.TA_CDLMARUBOZU).apply(null,arguments)},t._TA_CDLMATCHINGLOW=function(){return(t._TA_CDLMATCHINGLOW=t.asm.TA_CDLMATCHINGLOW).apply(null,arguments)},t._TA_CDLMATHOLD=function(){return(t._TA_CDLMATHOLD=t.asm.TA_CDLMATHOLD).apply(null,arguments)},t._TA_CDLMORNINGDOJISTAR=function(){return(t._TA_CDLMORNINGDOJISTAR=t.asm.TA_CDLMORNINGDOJISTAR).apply(null,arguments)},t._TA_CDLMORNINGSTAR=function(){return(t._TA_CDLMORNINGSTAR=t.asm.TA_CDLMORNINGSTAR).apply(null,arguments)},t._TA_CDLONNECK=function(){return(t._TA_CDLONNECK=t.asm.TA_CDLONNECK).apply(null,arguments)},t._TA_CDLPIERCING=function(){return(t._TA_CDLPIERCING=t.asm.TA_CDLPIERCING).apply(null,arguments)},t._TA_CDLRICKSHAWMAN=function(){return(t._TA_CDLRICKSHAWMAN=t.asm.TA_CDLRICKSHAWMAN).apply(null,arguments)},t._TA_CDLRISEFALL3METHODS=function(){return(t._TA_CDLRISEFALL3METHODS=t.asm.TA_CDLRISEFALL3METHODS).apply(null,arguments)},t._TA_CDLSEPARATINGLINES=function(){return(t._TA_CDLSEPARATINGLINES=t.asm.TA_CDLSEPARATINGLINES).apply(null,arguments)},t._TA_CDLSHOOTINGSTAR=function(){return(t._TA_CDLSHOOTINGSTAR=t.asm.TA_CDLSHOOTINGSTAR).apply(null,arguments)},t._TA_CDLSHORTLINE=function(){return(t._TA_CDLSHORTLINE=t.asm.TA_CDLSHORTLINE).apply(null,arguments)},t._TA_CDLSPINNINGTOP=function(){return(t._TA_CDLSPINNINGTOP=t.asm.TA_CDLSPINNINGTOP).apply(null,arguments)},t._TA_CDLSTALLEDPATTERN=function(){return(t._TA_CDLSTALLEDPATTERN=t.asm.TA_CDLSTALLEDPATTERN).apply(null,arguments)},t._TA_CDLSTICKSANDWICH=function(){return(t._TA_CDLSTICKSANDWICH=t.asm.TA_CDLSTICKSANDWICH).apply(null,arguments)},t._TA_CDLTAKURI=function(){return(t._TA_CDLTAKURI=t.asm.TA_CDLTAKURI).apply(null,arguments)},t._TA_CDLTASUKIGAP=function(){return(t._TA_CDLTASUKIGAP=t.asm.TA_CDLTASUKIGAP).apply(null,arguments)},t._TA_CDLTHRUSTING=function(){return(t._TA_CDLTHRUSTING=t.asm.TA_CDLTHRUSTING).apply(null,arguments)},t._TA_CDLTRISTAR=function(){return(t._TA_CDLTRISTAR=t.asm.TA_CDLTRISTAR).apply(null,arguments)},t._TA_CDLUNIQUE3RIVER=function(){return(t._TA_CDLUNIQUE3RIVER=t.asm.TA_CDLUNIQUE3RIVER).apply(null,arguments)},t._TA_CDLUPSIDEGAP2CROWS=function(){return(t._TA_CDLUPSIDEGAP2CROWS=t.asm.TA_CDLUPSIDEGAP2CROWS).apply(null,arguments)},t._TA_CDLXSIDEGAP3METHODS=function(){return(t._TA_CDLXSIDEGAP3METHODS=t.asm.TA_CDLXSIDEGAP3METHODS).apply(null,arguments)},t._TA_CEIL=function(){return(t._TA_CEIL=t.asm.TA_CEIL).apply(null,arguments)},t._TA_CMO=function(){return(t._TA_CMO=t.asm.TA_CMO).apply(null,arguments)},t._TA_CORREL=function(){return(t._TA_CORREL=t.asm.TA_CORREL).apply(null,arguments)},t._TA_COS=function(){return(t._TA_COS=t.asm.TA_COS).apply(null,arguments)},t._TA_COSH=function(){return(t._TA_COSH=t.asm.TA_COSH).apply(null,arguments)},t._TA_DEMA=function(){return(t._TA_DEMA=t.asm.TA_DEMA).apply(null,arguments)},t._TA_DIV=function(){return(t._TA_DIV=t.asm.TA_DIV).apply(null,arguments)},t._TA_DX=function(){return(t._TA_DX=t.asm.TA_DX).apply(null,arguments)},t._TA_EMA=function(){return(t._TA_EMA=t.asm.TA_EMA).apply(null,arguments)},t._TA_EXP=function(){return(t._TA_EXP=t.asm.TA_EXP).apply(null,arguments)},t._TA_FLOOR=function(){return(t._TA_FLOOR=t.asm.TA_FLOOR).apply(null,arguments)},t._TA_HT_DCPERIOD=function(){return(t._TA_HT_DCPERIOD=t.asm.TA_HT_DCPERIOD).apply(null,arguments)},t._TA_HT_DCPHASE=function(){return(t._TA_HT_DCPHASE=t.asm.TA_HT_DCPHASE).apply(null,arguments)},t._TA_HT_PHASOR=function(){return(t._TA_HT_PHASOR=t.asm.TA_HT_PHASOR).apply(null,arguments)},t._TA_HT_SINE=function(){return(t._TA_HT_SINE=t.asm.TA_HT_SINE).apply(null,arguments)},t._TA_HT_TRENDLINE=function(){return(t._TA_HT_TRENDLINE=t.asm.TA_HT_TRENDLINE).apply(null,arguments)},t._TA_HT_TRENDMODE=function(){return(t._TA_HT_TRENDMODE=t.asm.TA_HT_TRENDMODE).apply(null,arguments)},t._TA_IMI=function(){return(t._TA_IMI=t.asm.TA_IMI).apply(null,arguments)},t._TA_KAMA=function(){return(t._TA_KAMA=t.asm.TA_KAMA).apply(null,arguments)},t._TA_LINEARREG=function(){return(t._TA_LINEARREG=t.asm.TA_LINEARREG).apply(null,arguments)},t._TA_LINEARREG_ANGLE=function(){return(t._TA_LINEARREG_ANGLE=t.asm.TA_LINEARREG_ANGLE).apply(null,arguments)},t._TA_LINEARREG_INTERCEPT=function(){return(t._TA_LINEARREG_INTERCEPT=t.asm.TA_LINEARREG_INTERCEPT).apply(null,arguments)},t._TA_LINEARREG_SLOPE=function(){return(t._TA_LINEARREG_SLOPE=t.asm.TA_LINEARREG_SLOPE).apply(null,arguments)},t._TA_LN=function(){return(t._TA_LN=t.asm.TA_LN).apply(null,arguments)},t._TA_LOG10=function(){return(t._TA_LOG10=t.asm.TA_LOG10).apply(null,arguments)},t._TA_WMA=function(){return(t._TA_WMA=t.asm.TA_WMA).apply(null,arguments)},t._TA_TEMA=function(){return(t._TA_TEMA=t.asm.TA_TEMA).apply(null,arguments)},t._TA_TRIMA=function(){return(t._TA_TRIMA=t.asm.TA_TRIMA).apply(null,arguments)},t._TA_MAMA=function(){return(t._TA_MAMA=t.asm.TA_MAMA).apply(null,arguments)},t._TA_T3=function(){return(t._TA_T3=t.asm.TA_T3).apply(null,arguments)},t._TA_MACD=function(){return(t._TA_MACD=t.asm.TA_MACD).apply(null,arguments)},t._TA_MACDEXT=function(){return(t._TA_MACDEXT=t.asm.TA_MACDEXT).apply(null,arguments)},t._TA_MACDFIX=function(){return(t._TA_MACDFIX=t.asm.TA_MACDFIX).apply(null,arguments)},t._TA_MAVP=function(){return(t._TA_MAVP=t.asm.TA_MAVP).apply(null,arguments)},t._TA_MAX=function(){return(t._TA_MAX=t.asm.TA_MAX).apply(null,arguments)},t._TA_MAXINDEX=function(){return(t._TA_MAXINDEX=t.asm.TA_MAXINDEX).apply(null,arguments)},t._TA_MEDPRICE=function(){return(t._TA_MEDPRICE=t.asm.TA_MEDPRICE).apply(null,arguments)},t._TA_MFI=function(){return(t._TA_MFI=t.asm.TA_MFI).apply(null,arguments)},t._TA_MIDPOINT=function(){return(t._TA_MIDPOINT=t.asm.TA_MIDPOINT).apply(null,arguments)},t._TA_MIDPRICE=function(){return(t._TA_MIDPRICE=t.asm.TA_MIDPRICE).apply(null,arguments)},t._TA_MIN=function(){return(t._TA_MIN=t.asm.TA_MIN).apply(null,arguments)},t._TA_MININDEX=function(){return(t._TA_MININDEX=t.asm.TA_MININDEX).apply(null,arguments)},t._TA_MINMAX=function(){return(t._TA_MINMAX=t.asm.TA_MINMAX).apply(null,arguments)},t._TA_MINMAXINDEX=function(){return(t._TA_MINMAXINDEX=t.asm.TA_MINMAXINDEX).apply(null,arguments)},t._TA_MINUS_DI=function(){return(t._TA_MINUS_DI=t.asm.TA_MINUS_DI).apply(null,arguments)},t._TA_MINUS_DM=function(){return(t._TA_MINUS_DM=t.asm.TA_MINUS_DM).apply(null,arguments)},t._TA_MOM=function(){return(t._TA_MOM=t.asm.TA_MOM).apply(null,arguments)},t._TA_MULT=function(){return(t._TA_MULT=t.asm.TA_MULT).apply(null,arguments)},t._TA_NATR=function(){return(t._TA_NATR=t.asm.TA_NATR).apply(null,arguments)},t._TA_OBV=function(){return(t._TA_OBV=t.asm.TA_OBV).apply(null,arguments)},t._TA_PLUS_DI=function(){return(t._TA_PLUS_DI=t.asm.TA_PLUS_DI).apply(null,arguments)},t._TA_PLUS_DM=function(){return(t._TA_PLUS_DM=t.asm.TA_PLUS_DM).apply(null,arguments)},t._TA_PPO=function(){return(t._TA_PPO=t.asm.TA_PPO).apply(null,arguments)},t._TA_ROC=function(){return(t._TA_ROC=t.asm.TA_ROC).apply(null,arguments)},t._TA_ROCP=function(){return(t._TA_ROCP=t.asm.TA_ROCP).apply(null,arguments)},t._TA_ROCR=function(){return(t._TA_ROCR=t.asm.TA_ROCR).apply(null,arguments)},t._TA_ROCR100=function(){return(t._TA_ROCR100=t.asm.TA_ROCR100).apply(null,arguments)},t._TA_RSI=function(){return(t._TA_RSI=t.asm.TA_RSI).apply(null,arguments)},t._TA_SAR=function(){return(t._TA_SAR=t.asm.TA_SAR).apply(null,arguments)},t._TA_SAREXT=function(){return(t._TA_SAREXT=t.asm.TA_SAREXT).apply(null,arguments)},t._TA_SIN=function(){return(t._TA_SIN=t.asm.TA_SIN).apply(null,arguments)},t._TA_SINH=function(){return(t._TA_SINH=t.asm.TA_SINH).apply(null,arguments)},t._TA_SQRT=function(){return(t._TA_SQRT=t.asm.TA_SQRT).apply(null,arguments)},t._TA_STOCH=function(){return(t._TA_STOCH=t.asm.TA_STOCH).apply(null,arguments)},t._TA_STOCHF=function(){return(t._TA_STOCHF=t.asm.TA_STOCHF).apply(null,arguments)},t._TA_STOCHRSI=function(){return(t._TA_STOCHRSI=t.asm.TA_STOCHRSI).apply(null,arguments)},t._TA_SUB=function(){return(t._TA_SUB=t.asm.TA_SUB).apply(null,arguments)},t._TA_SUM=function(){return(t._TA_SUM=t.asm.TA_SUM).apply(null,arguments)},t._TA_TAN=function(){return(t._TA_TAN=t.asm.TA_TAN).apply(null,arguments)},t._TA_TANH=function(){return(t._TA_TANH=t.asm.TA_TANH).apply(null,arguments)},t._TA_TRIX=function(){return(t._TA_TRIX=t.asm.TA_TRIX).apply(null,arguments)},t._TA_TSF=function(){return(t._TA_TSF=t.asm.TA_TSF).apply(null,arguments)},t._TA_TYPPRICE=function(){return(t._TA_TYPPRICE=t.asm.TA_TYPPRICE).apply(null,arguments)},t._TA_ULTOSC=function(){return(t._TA_ULTOSC=t.asm.TA_ULTOSC).apply(null,arguments)},t._TA_VAR=function(){return(t._TA_VAR=t.asm.TA_VAR).apply(null,arguments)},t._TA_WCLPRICE=function(){return(t._TA_WCLPRICE=t.asm.TA_WCLPRICE).apply(null,arguments)},t._TA_WILLR=function(){return(t._TA_WILLR=t.asm.TA_WILLR).apply(null,arguments)};var i1=t.stackSave=function(){return(i1=t.stackSave=t.asm.stackSave).apply(null,arguments)},el=t.stackRestore=function(){return(el=t.stackRestore=t.asm.stackRestore).apply(null,arguments)},Fe=t.stackAlloc=function(){return(Fe=t.stackAlloc=t.asm.stackAlloc).apply(null,arguments)},ot=t.___assign_got_enties=function(){return(ot=t.___assign_got_enties=t.asm.__assign_got_enties).apply(null,arguments)};t._TA_Globals=1448,t.___data_end=4888;for(var dn in["TA_Globals","__data_end"])(function(ke){t["g$"+ke]=function(){return t[ke]}})(dn);t.ccall=I,t.allocate=R;var ct;function Ee(ke){this.name="ExitStatus",this.message="Program terminated with exit("+ke+")",this.status=ke}U=function ke(){ct||at(),ct||(U=ke)};function Qe(ke){var Te=t._main;if(Te){var Ue=0,tt=0;try{var qt=Te(Ue,tt);Bn(qt,!0)}catch(Lt){if(Lt instanceof Ee)return;if(Lt=="unwind"){k=!0;return}else{var Xt=Lt;Lt&&typeof Lt=="object"&&Lt.stack&&(Xt=[Lt,Lt.stack]),v("exception thrown: "+Xt),a(1,Lt)}}finally{}}}function at(ke){if(B>0||(J(),B>0))return;function Te(){ct||(ct=!0,t.calledRun=!0,!O&&(re(),Y(),i(t),t.onRuntimeInitialized&&t.onRuntimeInitialized(),gi&&Qe(),Z()))}t.setStatus?(t.setStatus("Running..."),setTimeout(function(){setTimeout(function(){t.setStatus("")},1),Te()},1)):Te()}t.run=at;function Bn(ke,Te){Te&&k&&ke===0||(k||(t.onExit&&t.onExit(ke),O=!0),a(ke,new Ee(ke)))}if(t.preInit)for(typeof t.preInit=="function"&&(t.preInit=[t.preInit]);t.preInit.length>0;)t.preInit.pop()();var gi=!0;return t.noInitialRun&&(gi=!1),k=!0,at(),e.ready}}();const Re={ACCBANDS:{name:"ACCBANDS",camelCaseName:"accBands",group:"Overlap Studies",description:"Acceleration Bands",inputs:[{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:20,hint:"Number of period",type:"Integer",range:{min:2,max:1e5}}],outputs:[{name:"upperBand",type:"Double[]",plotHint:"limit_upper"},{name:"middleBand",type:"Double[]",plotHint:"line"},{name:"lowerBand",type:"Double[]",plotHint:"limit_lower"}]},ACOS:{name:"ACOS",camelCaseName:"acos",group:"Math Transform",description:"Vector Trigonometric ACos",inputs:[{name:"inReal",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},AD:{name:"AD",camelCaseName:"ad",group:"Volume Indicators",description:"Chaikin A/D Line",inputs:[{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"},{name:"volume",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},ADD:{name:"ADD",camelCaseName:"add",group:"Math Operators",description:"Vector Arithmetic Add",inputs:[{name:"inReal0",type:"Double[]"},{name:"inReal1",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},ADOSC:{name:"ADOSC",camelCaseName:"adOsc",group:"Volume Indicators",description:"Chaikin A/D Oscillator",inputs:[{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"},{name:"volume",type:"Double[]"}],options:[{name:"fastPeriod",displayName:"Fast Period",defaultValue:3,hint:"Number of period for the fast MA",type:"Integer",range:{min:2,max:1e5}},{name:"slowPeriod",displayName:"Slow Period",defaultValue:10,hint:"Number of period for the slow MA",type:"Integer",range:{min:2,max:1e5}}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},ADX:{name:"ADX",camelCaseName:"adx",group:"Momentum Indicators",description:"Average Directional Movement Index",inputs:[{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:14,hint:"Number of period",type:"Integer",range:{min:2,max:1e5}}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},ADXR:{name:"ADXR",camelCaseName:"adxr",group:"Momentum Indicators",description:"Average Directional Movement Index Rating",inputs:[{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:14,hint:"Number of period",type:"Integer",range:{min:2,max:1e5}}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},APO:{name:"APO",camelCaseName:"apo",group:"Momentum Indicators",description:"Absolute Price Oscillator",inputs:[{name:"inReal",type:"Double[]"}],options:[{name:"fastPeriod",displayName:"Fast Period",defaultValue:12,hint:"Number of period for the fast MA",type:"Integer",range:{min:2,max:1e5}},{name:"slowPeriod",displayName:"Slow Period",defaultValue:26,hint:"Number of period for the slow MA",type:"Integer",range:{min:2,max:1e5}},{name:"MAType",displayName:"MA Type",defaultValue:0,hint:"Type of Moving Average",type:"MAType"}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},AROON:{name:"AROON",camelCaseName:"aroon",group:"Momentum Indicators",description:"Aroon",inputs:[{name:"high",type:"Double[]"},{name:"low",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:14,hint:"Number of period",type:"Integer",range:{min:2,max:1e5}}],outputs:[{name:"aroonDown",type:"Double[]",plotHint:"line_dash"},{name:"aroonUp",type:"Double[]",plotHint:"line"}]},AROONOSC:{name:"AROONOSC",camelCaseName:"aroonOsc",group:"Momentum Indicators",description:"Aroon Oscillator",inputs:[{name:"high",type:"Double[]"},{name:"low",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:14,hint:"Number of period",type:"Integer",range:{min:2,max:1e5}}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},ASIN:{name:"ASIN",camelCaseName:"asin",group:"Math Transform",description:"Vector Trigonometric ASin",inputs:[{name:"inReal",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},ATAN:{name:"ATAN",camelCaseName:"atan",group:"Math Transform",description:"Vector Trigonometric ATan",inputs:[{name:"inReal",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},ATR:{name:"ATR",camelCaseName:"atr",group:"Volatility Indicators",description:"Average True Range",inputs:[{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:14,hint:"Number of period",type:"Integer",range:{min:1,max:1e5}}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},AVGDEV:{name:"AVGDEV",camelCaseName:"avgDev",group:"Price Transform",description:"Average Deviation",inputs:[{name:"inReal",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:14,hint:"Number of period",type:"Integer",range:{min:2,max:1e5}}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},AVGPRICE:{name:"AVGPRICE",camelCaseName:"avgPrice",group:"Price Transform",description:"Average Price",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},BBANDS:{name:"BBANDS",camelCaseName:"bbands",group:"Overlap Studies",description:"Bollinger Bands",inputs:[{name:"inReal",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:5,hint:"Number of period",type:"Integer",range:{min:2,max:1e5}},{name:"nbDevUp",displayName:"Deviations up",defaultValue:2,hint:"Deviation multiplier for upper band",type:"Double",range:{min:-3e37,max:3e37}},{name:"nbDevDn",displayName:"Deviations down",defaultValue:2,hint:"Deviation multiplier for lower band",type:"Double",range:{min:-3e37,max:3e37}},{name:"MAType",displayName:"MA Type",defaultValue:0,hint:"Type of Moving Average",type:"MAType"}],outputs:[{name:"upperBand",type:"Double[]",plotHint:"limit_upper"},{name:"middleBand",type:"Double[]",plotHint:"line"},{name:"lowerBand",type:"Double[]",plotHint:"limit_lower"}]},BETA:{name:"BETA",camelCaseName:"beta",group:"Statistic Functions",description:"Beta",inputs:[{name:"inReal0",type:"Double[]"},{name:"inReal1",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:5,hint:"Number of period",type:"Integer",range:{min:1,max:1e5}}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},BOP:{name:"BOP",camelCaseName:"bop",group:"Momentum Indicators",description:"Balance Of Power",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},CCI:{name:"CCI",camelCaseName:"cci",group:"Momentum Indicators",description:"Commodity Channel Index",inputs:[{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:14,hint:"Number of period",type:"Integer",range:{min:2,max:1e5}}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},CDL2CROWS:{name:"CDL2CROWS",camelCaseName:"cdl2Crows",group:"Pattern Recognition",description:"Two Crows",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDL3BLACKCROWS:{name:"CDL3BLACKCROWS",camelCaseName:"cdl3BlackCrows",group:"Pattern Recognition",description:"Three Black Crows",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDL3INSIDE:{name:"CDL3INSIDE",camelCaseName:"cdl3Inside",group:"Pattern Recognition",description:"Three Inside Up/Down",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDL3LINESTRIKE:{name:"CDL3LINESTRIKE",camelCaseName:"cdl3LineStrike",group:"Pattern Recognition",description:"Three-Line Strike ",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDL3OUTSIDE:{name:"CDL3OUTSIDE",camelCaseName:"cdl3Outside",group:"Pattern Recognition",description:"Three Outside Up/Down",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDL3STARSINSOUTH:{name:"CDL3STARSINSOUTH",camelCaseName:"cdl3StarsInSouth",group:"Pattern Recognition",description:"Three Stars In The South",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDL3WHITESOLDIERS:{name:"CDL3WHITESOLDIERS",camelCaseName:"cdl3WhiteSoldiers",group:"Pattern Recognition",description:"Three Advancing White Soldiers",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLABANDONEDBABY:{name:"CDLABANDONEDBABY",camelCaseName:"cdlAbandonedBaby",group:"Pattern Recognition",description:"Abandoned Baby",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[{name:"penetration",displayName:"Penetration",defaultValue:.3,hint:"Percentage of penetration of a candle within another candle",type:"Double",range:{min:0,max:3e37}}],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLADVANCEBLOCK:{name:"CDLADVANCEBLOCK",camelCaseName:"cdlAdvanceBlock",group:"Pattern Recognition",description:"Advance Block",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLBELTHOLD:{name:"CDLBELTHOLD",camelCaseName:"cdlBeltHold",group:"Pattern Recognition",description:"Belt-hold",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLBREAKAWAY:{name:"CDLBREAKAWAY",camelCaseName:"cdlBreakaway",group:"Pattern Recognition",description:"Breakaway",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLCLOSINGMARUBOZU:{name:"CDLCLOSINGMARUBOZU",camelCaseName:"cdlClosingMarubozu",group:"Pattern Recognition",description:"Closing Marubozu",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLCONCEALBABYSWALL:{name:"CDLCONCEALBABYSWALL",camelCaseName:"cdlConcealBabysWall",group:"Pattern Recognition",description:"Concealing Baby Swallow",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLCOUNTERATTACK:{name:"CDLCOUNTERATTACK",camelCaseName:"cdlCounterAttack",group:"Pattern Recognition",description:"Counterattack",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLDARKCLOUDCOVER:{name:"CDLDARKCLOUDCOVER",camelCaseName:"cdlDarkCloudCover",group:"Pattern Recognition",description:"Dark Cloud Cover",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[{name:"penetration",displayName:"Penetration",defaultValue:.5,hint:"Percentage of penetration of a candle within another candle",type:"Double",range:{min:0,max:3e37}}],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLDOJI:{name:"CDLDOJI",camelCaseName:"cdlDoji",group:"Pattern Recognition",description:"Doji",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLDOJISTAR:{name:"CDLDOJISTAR",camelCaseName:"cdlDojiStar",group:"Pattern Recognition",description:"Doji Star",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLDRAGONFLYDOJI:{name:"CDLDRAGONFLYDOJI",camelCaseName:"cdlDragonflyDoji",group:"Pattern Recognition",description:"Dragonfly Doji",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLENGULFING:{name:"CDLENGULFING",camelCaseName:"cdlEngulfing",group:"Pattern Recognition",description:"Engulfing Pattern",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLEVENINGDOJISTAR:{name:"CDLEVENINGDOJISTAR",camelCaseName:"cdlEveningDojiStar",group:"Pattern Recognition",description:"Evening Doji Star",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[{name:"penetration",displayName:"Penetration",defaultValue:.3,hint:"Percentage of penetration of a candle within another candle",type:"Double",range:{min:0,max:3e37}}],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLEVENINGSTAR:{name:"CDLEVENINGSTAR",camelCaseName:"cdlEveningStar",group:"Pattern Recognition",description:"Evening Star",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[{name:"penetration",displayName:"Penetration",defaultValue:.3,hint:"Percentage of penetration of a candle within another candle",type:"Double",range:{min:0,max:3e37}}],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLGAPSIDESIDEWHITE:{name:"CDLGAPSIDESIDEWHITE",camelCaseName:"cdlGapSideSideWhite",group:"Pattern Recognition",description:"Up/Down-gap side-by-side white lines",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLGRAVESTONEDOJI:{name:"CDLGRAVESTONEDOJI",camelCaseName:"cdlGravestoneDoji",group:"Pattern Recognition",description:"Gravestone Doji",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLHAMMER:{name:"CDLHAMMER",camelCaseName:"cdlHammer",group:"Pattern Recognition",description:"Hammer",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLHANGINGMAN:{name:"CDLHANGINGMAN",camelCaseName:"cdlHangingMan",group:"Pattern Recognition",description:"Hanging Man",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLHARAMI:{name:"CDLHARAMI",camelCaseName:"cdlHarami",group:"Pattern Recognition",description:"Harami Pattern",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLHARAMICROSS:{name:"CDLHARAMICROSS",camelCaseName:"cdlHaramiCross",group:"Pattern Recognition",description:"Harami Cross Pattern",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLHIGHWAVE:{name:"CDLHIGHWAVE",camelCaseName:"cdlHignWave",group:"Pattern Recognition",description:"High-Wave Candle",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLHIKKAKE:{name:"CDLHIKKAKE",camelCaseName:"cdlHikkake",group:"Pattern Recognition",description:"Hikkake Pattern",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLHIKKAKEMOD:{name:"CDLHIKKAKEMOD",camelCaseName:"cdlHikkakeMod",group:"Pattern Recognition",description:"Modified Hikkake Pattern",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLHOMINGPIGEON:{name:"CDLHOMINGPIGEON",camelCaseName:"cdlHomingPigeon",group:"Pattern Recognition",description:"Homing Pigeon",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLIDENTICAL3CROWS:{name:"CDLIDENTICAL3CROWS",camelCaseName:"cdlIdentical3Crows",group:"Pattern Recognition",description:"Identical Three Crows",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLINNECK:{name:"CDLINNECK",camelCaseName:"cdlInNeck",group:"Pattern Recognition",description:"In-Neck Pattern",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLINVERTEDHAMMER:{name:"CDLINVERTEDHAMMER",camelCaseName:"cdlInvertedHammer",group:"Pattern Recognition",description:"Inverted Hammer",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLKICKING:{name:"CDLKICKING",camelCaseName:"cdlKicking",group:"Pattern Recognition",description:"Kicking",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLKICKINGBYLENGTH:{name:"CDLKICKINGBYLENGTH",camelCaseName:"cdlKickingByLength",group:"Pattern Recognition",description:"Kicking - bull/bear determined by the longer marubozu",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLLADDERBOTTOM:{name:"CDLLADDERBOTTOM",camelCaseName:"cdlLadderBottom",group:"Pattern Recognition",description:"Ladder Bottom",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLLONGLEGGEDDOJI:{name:"CDLLONGLEGGEDDOJI",camelCaseName:"cdlLongLeggedDoji",group:"Pattern Recognition",description:"Long Legged Doji",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLLONGLINE:{name:"CDLLONGLINE",camelCaseName:"cdlLongLine",group:"Pattern Recognition",description:"Long Line Candle",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLMARUBOZU:{name:"CDLMARUBOZU",camelCaseName:"cdlMarubozu",group:"Pattern Recognition",description:"Marubozu",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLMATCHINGLOW:{name:"CDLMATCHINGLOW",camelCaseName:"cdlMatchingLow",group:"Pattern Recognition",description:"Matching Low",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLMATHOLD:{name:"CDLMATHOLD",camelCaseName:"cdlMatHold",group:"Pattern Recognition",description:"Mat Hold",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[{name:"penetration",displayName:"Penetration",defaultValue:.5,hint:"Percentage of penetration of a candle within another candle",type:"Double",range:{min:0,max:3e37}}],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLMORNINGDOJISTAR:{name:"CDLMORNINGDOJISTAR",camelCaseName:"cdlMorningDojiStar",group:"Pattern Recognition",description:"Morning Doji Star",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[{name:"penetration",displayName:"Penetration",defaultValue:.3,hint:"Percentage of penetration of a candle within another candle",type:"Double",range:{min:0,max:3e37}}],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLMORNINGSTAR:{name:"CDLMORNINGSTAR",camelCaseName:"cdlMorningStar",group:"Pattern Recognition",description:"Morning Star",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[{name:"penetration",displayName:"Penetration",defaultValue:.3,hint:"Percentage of penetration of a candle within another candle",type:"Double",range:{min:0,max:3e37}}],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLONNECK:{name:"CDLONNECK",camelCaseName:"cdlOnNeck",group:"Pattern Recognition",description:"On-Neck Pattern",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLPIERCING:{name:"CDLPIERCING",camelCaseName:"cdlPiercing",group:"Pattern Recognition",description:"Piercing Pattern",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLRICKSHAWMAN:{name:"CDLRICKSHAWMAN",camelCaseName:"cdlRickshawMan",group:"Pattern Recognition",description:"Rickshaw Man",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLRISEFALL3METHODS:{name:"CDLRISEFALL3METHODS",camelCaseName:"cdlRiseFall3Methods",group:"Pattern Recognition",description:"Rising/Falling Three Methods",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLSEPARATINGLINES:{name:"CDLSEPARATINGLINES",camelCaseName:"cdlSeperatingLines",group:"Pattern Recognition",description:"Separating Lines",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLSHOOTINGSTAR:{name:"CDLSHOOTINGSTAR",camelCaseName:"cdlShootingStar",group:"Pattern Recognition",description:"Shooting Star",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLSHORTLINE:{name:"CDLSHORTLINE",camelCaseName:"cdlShortLine",group:"Pattern Recognition",description:"Short Line Candle",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLSPINNINGTOP:{name:"CDLSPINNINGTOP",camelCaseName:"cdlSpinningTop",group:"Pattern Recognition",description:"Spinning Top",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLSTALLEDPATTERN:{name:"CDLSTALLEDPATTERN",camelCaseName:"cdlStalledPattern",group:"Pattern Recognition",description:"Stalled Pattern",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLSTICKSANDWICH:{name:"CDLSTICKSANDWICH",camelCaseName:"cdlStickSandwhich",group:"Pattern Recognition",description:"Stick Sandwich",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLTAKURI:{name:"CDLTAKURI",camelCaseName:"cdlTakuri",group:"Pattern Recognition",description:"Takuri (Dragonfly Doji with very long lower shadow)",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLTASUKIGAP:{name:"CDLTASUKIGAP",camelCaseName:"cdlTasukiGap",group:"Pattern Recognition",description:"Tasuki Gap",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLTHRUSTING:{name:"CDLTHRUSTING",camelCaseName:"cdlThrusting",group:"Pattern Recognition",description:"Thrusting Pattern",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLTRISTAR:{name:"CDLTRISTAR",camelCaseName:"cdlTristar",group:"Pattern Recognition",description:"Tristar Pattern",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLUNIQUE3RIVER:{name:"CDLUNIQUE3RIVER",camelCaseName:"cdlUnique3River",group:"Pattern Recognition",description:"Unique 3 River",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLUPSIDEGAP2CROWS:{name:"CDLUPSIDEGAP2CROWS",camelCaseName:"cdlUpsideGap2Crows",group:"Pattern Recognition",description:"Upside Gap Two Crows",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CDLXSIDEGAP3METHODS:{name:"CDLXSIDEGAP3METHODS",camelCaseName:"cdlXSideGap3Methods",group:"Pattern Recognition",description:"Upside/Downside Gap Three Methods",inputs:[{name:"open",type:"Double[]"},{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},CEIL:{name:"CEIL",camelCaseName:"ceil",group:"Math Transform",description:"Vector Ceil",inputs:[{name:"inReal",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},CMO:{name:"CMO",camelCaseName:"cmo",group:"Momentum Indicators",description:"Chande Momentum Oscillator",inputs:[{name:"inReal",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:14,hint:"Number of period",type:"Integer",range:{min:2,max:1e5}}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},CORREL:{name:"CORREL",camelCaseName:"correl",group:"Statistic Functions",description:"Pearson's Correlation Coefficient (r)",inputs:[{name:"inReal0",type:"Double[]"},{name:"inReal1",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:30,hint:"Number of period",type:"Integer",range:{min:1,max:1e5}}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},COS:{name:"COS",camelCaseName:"cos",group:"Math Transform",description:"Vector Trigonometric Cos",inputs:[{name:"inReal",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},COSH:{name:"COSH",camelCaseName:"cosh",group:"Math Transform",description:"Vector Trigonometric Cosh",inputs:[{name:"inReal",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},DEMA:{name:"DEMA",camelCaseName:"dema",group:"Overlap Studies",description:"Double Exponential Moving Average",inputs:[{name:"inReal",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:30,hint:"Number of period",type:"Integer",range:{min:2,max:1e5}}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},DIV:{name:"DIV",camelCaseName:"div",group:"Math Operators",description:"Vector Arithmetic Div",inputs:[{name:"inReal0",type:"Double[]"},{name:"inReal1",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},DX:{name:"DX",camelCaseName:"dx",group:"Momentum Indicators",description:"Directional Movement Index",inputs:[{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:14,hint:"Number of period",type:"Integer",range:{min:2,max:1e5}}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},EMA:{name:"EMA",camelCaseName:"ema",group:"Overlap Studies",description:"Exponential Moving Average",inputs:[{name:"inReal",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:30,hint:"Number of period",type:"Integer",range:{min:2,max:1e5}}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},EXP:{name:"EXP",camelCaseName:"exp",group:"Math Transform",description:"Vector Arithmetic Exp",inputs:[{name:"inReal",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},FLOOR:{name:"FLOOR",camelCaseName:"floor",group:"Math Transform",description:"Vector Floor",inputs:[{name:"inReal",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},HT_DCPERIOD:{name:"HT_DCPERIOD",camelCaseName:"htDcPeriod",group:"Cycle Indicators",description:"Hilbert Transform - Dominant Cycle Period",inputs:[{name:"inReal",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},HT_DCPHASE:{name:"HT_DCPHASE",camelCaseName:"htDcPhase",group:"Cycle Indicators",description:"Hilbert Transform - Dominant Cycle Phase",inputs:[{name:"inReal",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},HT_PHASOR:{name:"HT_PHASOR",camelCaseName:"htPhasor",group:"Cycle Indicators",description:"Hilbert Transform - Phasor Components",inputs:[{name:"inReal",type:"Double[]"}],options:[],outputs:[{name:"inPhase",type:"Double[]",plotHint:"line"},{name:"quadrature",type:"Double[]",plotHint:"line_dash"}]},HT_SINE:{name:"HT_SINE",camelCaseName:"htSine",group:"Cycle Indicators",description:"Hilbert Transform - SineWave",inputs:[{name:"inReal",type:"Double[]"}],options:[],outputs:[{name:"sine",type:"Double[]",plotHint:"line"},{name:"leadSine",type:"Double[]",plotHint:"line_dash"}]},HT_TRENDLINE:{name:"HT_TRENDLINE",camelCaseName:"htTrendline",group:"Overlap Studies",description:"Hilbert Transform - Instantaneous Trendline",inputs:[{name:"inReal",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},HT_TRENDMODE:{name:"HT_TRENDMODE",camelCaseName:"htTrendMode",group:"Cycle Indicators",description:"Hilbert Transform - Trend vs Cycle Mode",inputs:[{name:"inReal",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},IMI:{name:"IMI",camelCaseName:"imi",group:"Momentum Indicators",description:"Intraday Momentum Index",inputs:[{name:"open",type:"Double[]"},{name:"close",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:14,hint:"Number of period",type:"Integer",range:{min:2,max:1e5}}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},KAMA:{name:"KAMA",camelCaseName:"kama",group:"Overlap Studies",description:"Kaufman Adaptive Moving Average",inputs:[{name:"inReal",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:30,hint:"Number of period",type:"Integer",range:{min:2,max:1e5}}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},LINEARREG:{name:"LINEARREG",camelCaseName:"linearReg",group:"Statistic Functions",description:"Linear Regression",inputs:[{name:"inReal",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:14,hint:"Number of period",type:"Integer",range:{min:2,max:1e5}}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},LINEARREG_ANGLE:{name:"LINEARREG_ANGLE",camelCaseName:"linearRegAngle",group:"Statistic Functions",description:"Linear Regression Angle",inputs:[{name:"inReal",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:14,hint:"Number of period",type:"Integer",range:{min:2,max:1e5}}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},LINEARREG_INTERCEPT:{name:"LINEARREG_INTERCEPT",camelCaseName:"linearRegIntercept",group:"Statistic Functions",description:"Linear Regression Intercept",inputs:[{name:"inReal",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:14,hint:"Number of period",type:"Integer",range:{min:2,max:1e5}}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},LINEARREG_SLOPE:{name:"LINEARREG_SLOPE",camelCaseName:"linearRegSlope",group:"Statistic Functions",description:"Linear Regression Slope",inputs:[{name:"inReal",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:14,hint:"Number of period",type:"Integer",range:{min:2,max:1e5}}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},LN:{name:"LN",camelCaseName:"ln",group:"Math Transform",description:"Vector Log Natural",inputs:[{name:"inReal",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},LOG10:{name:"LOG10",camelCaseName:"log10",group:"Math Transform",description:"Vector Log10",inputs:[{name:"inReal",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},MA:{name:"MA",camelCaseName:"movingAverage",group:"Overlap Studies",description:"Moving average",inputs:[{name:"inReal",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:30,hint:"Number of period",type:"Integer",range:{min:1,max:1e5}},{name:"MAType",displayName:"MA Type",defaultValue:0,hint:"Type of Moving Average",type:"MAType"}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},MACD:{name:"MACD",camelCaseName:"macd",group:"Momentum Indicators",description:"Moving Average Convergence/Divergence",inputs:[{name:"inReal",type:"Double[]"}],options:[{name:"fastPeriod",displayName:"Fast Period",defaultValue:12,hint:"Number of period for the fast MA",type:"Integer",range:{min:2,max:1e5}},{name:"slowPeriod",displayName:"Slow Period",defaultValue:26,hint:"Number of period for the slow MA",type:"Integer",range:{min:2,max:1e5}},{name:"signalPeriod",displayName:"Signal Period",defaultValue:9,hint:"Smoothing for the signal line (nb of period)",type:"Integer",range:{min:1,max:1e5}}],outputs:[{name:"MACD",type:"Double[]",plotHint:"line"},{name:"MACDSignal",type:"Double[]",plotHint:"line_dash"},{name:"MACDHist",type:"Double[]",plotHint:"histogram"}]},MACDEXT:{name:"MACDEXT",camelCaseName:"macdExt",group:"Momentum Indicators",description:"MACD with controllable MA type",inputs:[{name:"inReal",type:"Double[]"}],options:[{name:"fastPeriod",displayName:"Fast Period",defaultValue:12,hint:"Number of period for the fast MA",type:"Integer",range:{min:2,max:1e5}},{name:"fastMAType",displayName:"Fast MA",defaultValue:0,hint:"Type of Moving Average for fast MA",type:"MAType"},{name:"slowPeriod",displayName:"Slow Period",defaultValue:26,hint:"Number of period for the slow MA",type:"Integer",range:{min:2,max:1e5}},{name:"slowMAType",displayName:"Slow MA",defaultValue:0,hint:"Type of Moving Average for slow MA",type:"MAType"},{name:"signalPeriod",displayName:"Signal Period",defaultValue:9,hint:"Smoothing for the signal line (nb of period)",type:"Integer",range:{min:1,max:1e5}},{name:"signalMAType",displayName:"Signal MA",defaultValue:0,hint:"Type of Moving Average for signal line",type:"MAType"}],outputs:[{name:"MACD",type:"Double[]",plotHint:"line"},{name:"MACDSignal",type:"Double[]",plotHint:"line_dash"},{name:"MACDHist",type:"Double[]",plotHint:"histogram"}]},MACDFIX:{name:"MACDFIX",camelCaseName:"macdFix",group:"Momentum Indicators",description:"Moving Average Convergence/Divergence Fix 12/26",inputs:[{name:"inReal",type:"Double[]"}],options:[{name:"signalPeriod",displayName:"Signal Period",defaultValue:9,hint:"Smoothing for the signal line (nb of period)",type:"Integer",range:{min:1,max:1e5}}],outputs:[{name:"MACD",type:"Double[]",plotHint:"line"},{name:"MACDSignal",type:"Double[]",plotHint:"line_dash"},{name:"MACDHist",type:"Double[]",plotHint:"histogram"}]},MAMA:{name:"MAMA",camelCaseName:"mama",group:"Overlap Studies",description:"MESA Adaptive Moving Average",inputs:[{name:"inReal",type:"Double[]"}],options:[{name:"fastLimit",displayName:"Fast Limit",defaultValue:.5,hint:"Upper limit use in the adaptive algorithm",type:"Double",range:{min:.01,max:.99}},{name:"slowLimit",displayName:"Slow Limit",defaultValue:.05,hint:"Lower limit use in the adaptive algorithm",type:"Double",range:{min:.01,max:.99}}],outputs:[{name:"MAMA",type:"Double[]",plotHint:"line"},{name:"FAMA",type:"Double[]",plotHint:"line_dash"}]},MAVP:{name:"MAVP",camelCaseName:"movingAverageVariablePeriod",group:"Overlap Studies",description:"Moving average with variable period",inputs:[{name:"inReal",type:"Double[]"},{name:"inPeriods",type:"Double[]"}],options:[{name:"minPeriod",displayName:"Minimum Period",defaultValue:2,hint:"Value less than minimum will be changed to Minimum period",type:"Integer",range:{min:2,max:1e5}},{name:"maxPeriod",displayName:"Maximum Period",defaultValue:30,hint:"Value higher than maximum will be changed to Maximum period",type:"Integer",range:{min:2,max:1e5}},{name:"MAType",displayName:"MA Type",defaultValue:0,hint:"Type of Moving Average",type:"MAType"}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},MAX:{name:"MAX",camelCaseName:"max",group:"Math Operators",description:"Highest value over a specified period",inputs:[{name:"inReal",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:30,hint:"Number of period",type:"Integer",range:{min:2,max:1e5}}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},MAXINDEX:{name:"MAXINDEX",camelCaseName:"maxIndex",group:"Math Operators",description:"Index of highest value over a specified period",inputs:[{name:"inReal",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:30,hint:"Number of period",type:"Integer",range:{min:2,max:1e5}}],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},MEDPRICE:{name:"MEDPRICE",camelCaseName:"medPrice",group:"Price Transform",description:"Median Price",inputs:[{name:"high",type:"Double[]"},{name:"low",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},MFI:{name:"MFI",camelCaseName:"mfi",group:"Momentum Indicators",description:"Money Flow Index",inputs:[{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"},{name:"volume",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:14,hint:"Number of period",type:"Integer",range:{min:2,max:1e5}}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},MIDPOINT:{name:"MIDPOINT",camelCaseName:"midPoint",group:"Overlap Studies",description:"MidPoint over period",inputs:[{name:"inReal",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:14,hint:"Number of period",type:"Integer",range:{min:2,max:1e5}}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},MIDPRICE:{name:"MIDPRICE",camelCaseName:"midPrice",group:"Overlap Studies",description:"Midpoint Price over period",inputs:[{name:"high",type:"Double[]"},{name:"low",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:14,hint:"Number of period",type:"Integer",range:{min:2,max:1e5}}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},MIN:{name:"MIN",camelCaseName:"min",group:"Math Operators",description:"Lowest value over a specified period",inputs:[{name:"inReal",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:30,hint:"Number of period",type:"Integer",range:{min:2,max:1e5}}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},MININDEX:{name:"MININDEX",camelCaseName:"minIndex",group:"Math Operators",description:"Index of lowest value over a specified period",inputs:[{name:"inReal",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:30,hint:"Number of period",type:"Integer",range:{min:2,max:1e5}}],outputs:[{name:"output",type:"Integer[]",plotHint:"line"}]},MINMAX:{name:"MINMAX",camelCaseName:"minMax",group:"Math Operators",description:"Lowest and highest values over a specified period",inputs:[{name:"inReal",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:30,hint:"Number of period",type:"Integer",range:{min:2,max:1e5}}],outputs:[{name:"min",type:"Double[]",plotHint:"line"},{name:"max",type:"Double[]",plotHint:"line"}]},MINMAXINDEX:{name:"MINMAXINDEX",camelCaseName:"minMaxIndex",group:"Math Operators",description:"Indexes of lowest and highest values over a specified period",inputs:[{name:"inReal",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:30,hint:"Number of period",type:"Integer",range:{min:2,max:1e5}}],outputs:[{name:"minIdx",type:"Integer[]",plotHint:"line"},{name:"maxIdx",type:"Integer[]",plotHint:"line"}]},MINUS_DI:{name:"MINUS_DI",camelCaseName:"minusDI",group:"Momentum Indicators",description:"Minus Directional Indicator",inputs:[{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:14,hint:"Number of period",type:"Integer",range:{min:1,max:1e5}}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},MINUS_DM:{name:"MINUS_DM",camelCaseName:"minusDM",group:"Momentum Indicators",description:"Minus Directional Movement",inputs:[{name:"high",type:"Double[]"},{name:"low",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:14,hint:"Number of period",type:"Integer",range:{min:1,max:1e5}}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},MOM:{name:"MOM",camelCaseName:"mom",group:"Momentum Indicators",description:"Momentum",inputs:[{name:"inReal",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:10,hint:"Number of period",type:"Integer",range:{min:1,max:1e5}}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},MULT:{name:"MULT",camelCaseName:"mult",group:"Math Operators",description:"Vector Arithmetic Mult",inputs:[{name:"inReal0",type:"Double[]"},{name:"inReal1",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},NATR:{name:"NATR",camelCaseName:"natr",group:"Volatility Indicators",description:"Normalized Average True Range",inputs:[{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:14,hint:"Number of period",type:"Integer",range:{min:1,max:1e5}}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},OBV:{name:"OBV",camelCaseName:"obv",group:"Volume Indicators",description:"On Balance Volume",inputs:[{name:"inReal",type:"Double[]"},{name:"volume",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},PLUS_DI:{name:"PLUS_DI",camelCaseName:"plusDI",group:"Momentum Indicators",description:"Plus Directional Indicator",inputs:[{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:14,hint:"Number of period",type:"Integer",range:{min:1,max:1e5}}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},PLUS_DM:{name:"PLUS_DM",camelCaseName:"plusDM",group:"Momentum Indicators",description:"Plus Directional Movement",inputs:[{name:"high",type:"Double[]"},{name:"low",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:14,hint:"Number of period",type:"Integer",range:{min:1,max:1e5}}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},PPO:{name:"PPO",camelCaseName:"ppo",group:"Momentum Indicators",description:"Percentage Price Oscillator",inputs:[{name:"inReal",type:"Double[]"}],options:[{name:"fastPeriod",displayName:"Fast Period",defaultValue:12,hint:"Number of period for the fast MA",type:"Integer",range:{min:2,max:1e5}},{name:"slowPeriod",displayName:"Slow Period",defaultValue:26,hint:"Number of period for the slow MA",type:"Integer",range:{min:2,max:1e5}},{name:"MAType",displayName:"MA Type",defaultValue:0,hint:"Type of Moving Average",type:"MAType"}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},ROC:{name:"ROC",camelCaseName:"roc",group:"Momentum Indicators",description:"Rate of change : ((price/prevPrice)-1)*100",inputs:[{name:"inReal",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:10,hint:"Number of period",type:"Integer",range:{min:1,max:1e5}}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},ROCP:{name:"ROCP",camelCaseName:"rocP",group:"Momentum Indicators",description:"Rate of change Percentage: (price-prevPrice)/prevPrice",inputs:[{name:"inReal",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:10,hint:"Number of period",type:"Integer",range:{min:1,max:1e5}}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},ROCR:{name:"ROCR",camelCaseName:"rocR",group:"Momentum Indicators",description:"Rate of change ratio: (price/prevPrice)",inputs:[{name:"inReal",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:10,hint:"Number of period",type:"Integer",range:{min:1,max:1e5}}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},ROCR100:{name:"ROCR100",camelCaseName:"rocR100",group:"Momentum Indicators",description:"Rate of change ratio 100 scale: (price/prevPrice)*100",inputs:[{name:"inReal",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:10,hint:"Number of period",type:"Integer",range:{min:1,max:1e5}}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},RSI:{name:"RSI",camelCaseName:"rsi",group:"Momentum Indicators",description:"Relative Strength Index",inputs:[{name:"inReal",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:14,hint:"Number of period",type:"Integer",range:{min:2,max:1e5}}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},SAR:{name:"SAR",camelCaseName:"sar",group:"Overlap Studies",description:"Parabolic SAR",inputs:[{name:"high",type:"Double[]"},{name:"low",type:"Double[]"}],options:[{name:"acceleration",displayName:"Acceleration Factor",defaultValue:.02,hint:"Acceleration Factor used up to the Maximum value",type:"Double",range:{min:0,max:3e37}},{name:"maximum",displayName:"AF Maximum",defaultValue:.2,hint:"Acceleration Factor Maximum value",type:"Double",range:{min:0,max:3e37}}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},SAREXT:{name:"SAREXT",camelCaseName:"sarExt",group:"Overlap Studies",description:"Parabolic SAR - Extended",inputs:[{name:"high",type:"Double[]"},{name:"low",type:"Double[]"}],options:[{name:"startValue",displayName:"Start Value",defaultValue:0,hint:"Start value and direction. 0 for Auto, >0 for Long, <0 for Short",type:"Double",range:{min:-3e37,max:3e37}},{name:"offsetOnReverse",displayName:"Offset on Reverse",defaultValue:0,hint:"Percent offset added/removed to initial stop on short/long reversal",type:"Double",range:{min:0,max:3e37}},{name:"accelerationInitLong",displayName:"AF Init Long",defaultValue:.02,hint:"Acceleration Factor initial value for the Long direction",type:"Double",range:{min:0,max:3e37}},{name:"accelerationLong",displayName:"AF Long",defaultValue:.02,hint:"Acceleration Factor for the Long direction",type:"Double",range:{min:0,max:3e37}},{name:"accelerationMaxLong",displayName:"AF Max Long",defaultValue:.2,hint:"Acceleration Factor maximum value for the Long direction",type:"Double",range:{min:0,max:3e37}},{name:"accelerationInitShort",displayName:"AF Init Short",defaultValue:.02,hint:"Acceleration Factor initial value for the Short direction",type:"Double",range:{min:0,max:3e37}},{name:"accelerationShort",displayName:"AF Short",defaultValue:.02,hint:"Acceleration Factor for the Short direction",type:"Double",range:{min:0,max:3e37}},{name:"accelerationMaxShort",displayName:"AF Max Short",defaultValue:.2,hint:"Acceleration Factor maximum value for the Short direction",type:"Double",range:{min:0,max:3e37}}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},SIN:{name:"SIN",camelCaseName:"sin",group:"Math Transform",description:"Vector Trigonometric Sin",inputs:[{name:"inReal",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},SINH:{name:"SINH",camelCaseName:"sinh",group:"Math Transform",description:"Vector Trigonometric Sinh",inputs:[{name:"inReal",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},SMA:{name:"SMA",camelCaseName:"sma",group:"Overlap Studies",description:"Simple Moving Average",inputs:[{name:"inReal",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:30,hint:"Number of period",type:"Integer",range:{min:2,max:1e5}}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},SQRT:{name:"SQRT",camelCaseName:"sqrt",group:"Math Transform",description:"Vector Square Root",inputs:[{name:"inReal",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},STDDEV:{name:"STDDEV",camelCaseName:"stdDev",group:"Statistic Functions",description:"Standard Deviation",inputs:[{name:"inReal",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:5,hint:"Number of period",type:"Integer",range:{min:2,max:1e5}},{name:"nbDev",displayName:"Deviations",defaultValue:1,hint:"Nb of deviations",type:"Double",range:{min:-3e37,max:3e37}}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},STOCH:{name:"STOCH",camelCaseName:"stoch",group:"Momentum Indicators",description:"Stochastic",inputs:[{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[{name:"fastK_Period",displayName:"Fast-K Period",defaultValue:5,hint:"Time period for building the Fast-K line",type:"Integer",range:{min:1,max:1e5}},{name:"slowK_Period",displayName:"Slow-K Period",defaultValue:3,hint:"Smoothing for making the Slow-K line. Usually set to 3",type:"Integer",range:{min:1,max:1e5}},{name:"slowK_MAType",displayName:"Slow-K MA",defaultValue:0,hint:"Type of Moving Average for Slow-K",type:"MAType"},{name:"slowD_Period",displayName:"Slow-D Period",defaultValue:3,hint:"Smoothing for making the Slow-D line",type:"Integer",range:{min:1,max:1e5}},{name:"slowD_MAType",displayName:"Slow-D MA",defaultValue:0,hint:"Type of Moving Average for Slow-D",type:"MAType"}],outputs:[{name:"slowK",type:"Double[]",plotHint:"line_dash"},{name:"slowD",type:"Double[]",plotHint:"line_dash"}]},STOCHF:{name:"STOCHF",camelCaseName:"stochF",group:"Momentum Indicators",description:"Stochastic Fast",inputs:[{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[{name:"fastK_Period",displayName:"Fast-K Period",defaultValue:5,hint:"Time period for building the Fast-K line",type:"Integer",range:{min:1,max:1e5}},{name:"fastD_Period",displayName:"Fast-D Period",defaultValue:3,hint:"Smoothing for making the Fast-D line. Usually set to 3",type:"Integer",range:{min:1,max:1e5}},{name:"fastD_MAType",displayName:"Fast-D MA",defaultValue:0,hint:"Type of Moving Average for Fast-D",type:"MAType"}],outputs:[{name:"fastK",type:"Double[]",plotHint:"line"},{name:"fastD",type:"Double[]",plotHint:"line"}]},STOCHRSI:{name:"STOCHRSI",camelCaseName:"stochRsi",group:"Momentum Indicators",description:"Stochastic Relative Strength Index",inputs:[{name:"inReal",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:14,hint:"Number of period",type:"Integer",range:{min:2,max:1e5}},{name:"fastK_Period",displayName:"Fast-K Period",defaultValue:5,hint:"Time period for building the Fast-K line",type:"Integer",range:{min:1,max:1e5}},{name:"fastD_Period",displayName:"Fast-D Period",defaultValue:3,hint:"Smoothing for making the Fast-D line. Usually set to 3",type:"Integer",range:{min:1,max:1e5}},{name:"fastD_MAType",displayName:"Fast-D MA",defaultValue:0,hint:"Type of Moving Average for Fast-D",type:"MAType"}],outputs:[{name:"fastK",type:"Double[]",plotHint:"line"},{name:"fastD",type:"Double[]",plotHint:"line"}]},SUB:{name:"SUB",camelCaseName:"sub",group:"Math Operators",description:"Vector Arithmetic Substraction",inputs:[{name:"inReal0",type:"Double[]"},{name:"inReal1",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},SUM:{name:"SUM",camelCaseName:"sum",group:"Math Operators",description:"Summation",inputs:[{name:"inReal",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:30,hint:"Number of period",type:"Integer",range:{min:2,max:1e5}}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},T3:{name:"T3",camelCaseName:"t3",group:"Overlap Studies",description:"Triple Exponential Moving Average (T3)",inputs:[{name:"inReal",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:5,hint:"Number of period",type:"Integer",range:{min:2,max:1e5}},{name:"VFactor",displayName:"Volume Factor",defaultValue:.7,hint:"Volume Factor",type:"Double",range:{min:0,max:1}}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},TAN:{name:"TAN",camelCaseName:"tan",group:"Math Transform",description:"Vector Trigonometric Tan",inputs:[{name:"inReal",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},TANH:{name:"TANH",camelCaseName:"tanh",group:"Math Transform",description:"Vector Trigonometric Tanh",inputs:[{name:"inReal",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},TEMA:{name:"TEMA",camelCaseName:"tema",group:"Overlap Studies",description:"Triple Exponential Moving Average",inputs:[{name:"inReal",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:30,hint:"Number of period",type:"Integer",range:{min:2,max:1e5}}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},TRANGE:{name:"TRANGE",camelCaseName:"trueRange",group:"Volatility Indicators",description:"True Range",inputs:[{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},TRIMA:{name:"TRIMA",camelCaseName:"trima",group:"Overlap Studies",description:"Triangular Moving Average",inputs:[{name:"inReal",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:30,hint:"Number of period",type:"Integer",range:{min:2,max:1e5}}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},TRIX:{name:"TRIX",camelCaseName:"trix",group:"Momentum Indicators",description:"1-day Rate-Of-Change (ROC) of a Triple Smooth EMA",inputs:[{name:"inReal",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:30,hint:"Number of period",type:"Integer",range:{min:1,max:1e5}}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},TSF:{name:"TSF",camelCaseName:"tsf",group:"Statistic Functions",description:"Time Series Forecast",inputs:[{name:"inReal",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:14,hint:"Number of period",type:"Integer",range:{min:2,max:1e5}}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},TYPPRICE:{name:"TYPPRICE",camelCaseName:"typPrice",group:"Price Transform",description:"Typical Price",inputs:[{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},ULTOSC:{name:"ULTOSC",camelCaseName:"ultOsc",group:"Momentum Indicators",description:"Ultimate Oscillator",inputs:[{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[{name:"timePeriod1",displayName:"First Period",defaultValue:7,hint:"Number of bars for 1st period.",type:"Integer",range:{min:1,max:1e5}},{name:"timePeriod2",displayName:"Second Period",defaultValue:14,hint:"Number of bars fro 2nd period",type:"Integer",range:{min:1,max:1e5}},{name:"timePeriod3",displayName:"Third Period",defaultValue:28,hint:"Number of bars for 3rd period",type:"Integer",range:{min:1,max:1e5}}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},VAR:{name:"VAR",camelCaseName:"variance",group:"Statistic Functions",description:"Variance",inputs:[{name:"inReal",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:5,hint:"Number of period",type:"Integer",range:{min:1,max:1e5}},{name:"nbDev",displayName:"Deviations",defaultValue:1,hint:"Nb of deviations",type:"Double",range:{min:-3e37,max:3e37}}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},WCLPRICE:{name:"WCLPRICE",camelCaseName:"wclPrice",group:"Price Transform",description:"Weighted Close Price",inputs:[{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},WILLR:{name:"WILLR",camelCaseName:"willR",group:"Momentum Indicators",description:"Williams' %R",inputs:[{name:"high",type:"Double[]"},{name:"low",type:"Double[]"},{name:"close",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:14,hint:"Number of period",type:"Integer",range:{min:2,max:1e5}}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]},WMA:{name:"WMA",camelCaseName:"wma",group:"Overlap Studies",description:"Weighted Moving Average",inputs:[{name:"inReal",type:"Double[]"}],options:[{name:"timePeriod",displayName:"Time Period",defaultValue:30,hint:"Number of period",type:"Integer",range:{min:2,max:1e5}}],outputs:[{name:"output",type:"Double[]",plotHint:"line"}]}};var rk=rk;let m0;function DJ(n,e){const t=n._malloc(e*8);return n.HEAPF64.set(new Float64Array(e),t/8),{data:n.HEAPF64.subarray(t/8,t/8+e),offset:t}}const _nt={0:"TA_SUCCESS",1:"TA_LIB_NOT_INITIALIZE",2:"TA_BAD_PARAM",3:"TA_ALLOC_ERR",4:"TA_GROUP_NOT_FOUND",5:"TA_FUNC_NOT_FOUND",6:"TA_INVALID_HANDLE",7:"TA_INVALID_PARAM_HOLDER",8:"TA_INVALID_PARAM_HOLDER_TYPE",9:"TA_INVALID_PARAM_FUNCTION",10:"TA_INPUT_NOT_ALL_INITIALIZE",11:"TA_OUTPUT_NOT_ALL_INITIALIZE",12:"TA_OUT_OF_RANGE_START_INDEX",13:"TA_OUT_OF_RANGE_END_INDEX",14:"TA_INVALID_LIST_TYPE",15:"TA_BAD_OBJECT",16:"TA_NOT_SUPPORTED",5e3:"TA_INTERNAL_ERROR",65535:"TA_UNKNOWN_ERR"};function Oe(n,e){const t=`TA_${n.name}`;if(!m0)throw Error(`${n.name}() called before initialization.`);const i=2+n.inputs.length+n.options.length+2+n.outputs.length,r=new Array(i).fill("number");for(const{name:p}of n.inputs)if(!Array.isArray(e[p]))throw e[p]===void 0?Error(`Bad Param: "${p}" is required`):Error(`Bad Param: "${p}" should be array of number`);for(const{name:p,defaultValue:g,range:m}of n.options)if(e[p]===void 0)e[p]=g;else if(m&&(e[p]<m.min||e[p]>m.max))throw Error(`Bad Param: "${p}" out of range (min: ${m.min}, max: ${m.max})`);let{startIdx:o,endIdx:s}=e;o===void 0&&(o=0);const a=n.inputs.map(({name:p})=>e[p].length);s===void 0&&(s=Math.min(...a));const l=[o,s],c=[];n.inputs.forEach(({name:p})=>{const g=DJ(m0,s-o),m=e[p];for(const y in m)g.data[y]=m[y];c.push(g),l.push(g.offset)}),n.options.forEach(({name:p})=>l.push(e[p])),l.push(0),l.push(0);const d=n.outputs.map(({name:p})=>{const g=DJ(m0,s-o);return c.push(g),l.push(g.offset),{name:p,array:g}}),h=m0.ccall(t,"number",r,l);c.forEach(p=>m0._free(p.offset));const f=d.reduce((p,g)=>(p[g.name]=Array.from(g.array.data),p),{});if(h===0)return f;throw Error("[C_ERROR] "+_nt[h])}var ok;(function(n){n[n.SMA=0]="SMA",n[n.EMA=1]="EMA",n[n.WMA=2]="WMA",n[n.DEMA=3]="DEMA",n[n.TEMA=4]="TEMA",n[n.TRIMA=5]="TRIMA",n[n.KAMA=6]="KAMA",n[n.MAMA=7]="MAMA",n[n.T3=8]="T3"})(ok||(ok={}));function sk(n){return m0?Promise.resolve(m0):n&&typeof n!="string"?Promise.reject(new Error('Invalid argument, "init(wasmBinaryFilePath)" expects a string that specifies the location of wasm binary file')):rk({locateFile:n?()=>n:void 0}).then(t=>m0=t).catch(t=>{let i="TA-Lib WASM runtime init fail.";throw t&&t.message?i+=`
142
142
  Error:
143
- `+t.message:i+="Unknown reason. Perhaps you specify the wrong file path to wasm binary?",new Error(i)})}let ynt=Re.ACCBANDS;function NJ(n){return Oe(ynt,n)}const vnt=NJ;let Cnt=Re.ACOS;function EJ(n){return Oe(Cnt,n)}const wnt=EJ;let xnt=Re.AD;function kJ(n){return Oe(xnt,n)}const Snt=kJ;let Dnt=Re.ADD;function LJ(n){return Oe(Dnt,n)}const Nnt=LJ;let Ent=Re.ADOSC;function MJ(n){return Oe(Ent,n)}const knt=MJ;let Lnt=Re.ADX;function TJ(n){return Oe(Lnt,n)}const Mnt=TJ;let Tnt=Re.ADXR;function AJ(n){return Oe(Tnt,n)}const Ant=AJ;let Int=Re.APO;function IJ(n){return Oe(Int,n)}const Rnt=IJ;let Ont=Re.AROON;function RJ(n){return Oe(Ont,n)}const Fnt=RJ;let Pnt=Re.AROONOSC;function OJ(n){return Oe(Pnt,n)}const Bnt=OJ;let Vnt=Re.ASIN;function FJ(n){return Oe(Vnt,n)}const znt=FJ;let Hnt=Re.ATAN;function PJ(n){return Oe(Hnt,n)}const jnt=PJ;let Wnt=Re.ATR;function BJ(n){return Oe(Wnt,n)}const $nt=BJ;let Unt=Re.AVGDEV;function VJ(n){return Oe(Unt,n)}const qnt=VJ;let Knt=Re.AVGPRICE;function zJ(n){return Oe(Knt,n)}const Gnt=zJ;let Ynt=Re.BBANDS;function HJ(n){return Oe(Ynt,n)}const Qnt=HJ;let Znt=Re.BETA;function jJ(n){return Oe(Znt,n)}const Xnt=jJ;let Jnt=Re.BOP;function WJ(n){return Oe(Jnt,n)}const eit=WJ;let tit=Re.CCI;function $J(n){return Oe(tit,n)}const nit=$J;let iit=Re.CDL2CROWS;function UJ(n){return Oe(iit,n)}const rit=UJ;let oit=Re.CDL3BLACKCROWS;function qJ(n){return Oe(oit,n)}const sit=qJ;let ait=Re.CDL3INSIDE;function KJ(n){return Oe(ait,n)}const lit=KJ;let uit=Re.CDL3LINESTRIKE;function GJ(n){return Oe(uit,n)}const cit=GJ;let dit=Re.CDL3OUTSIDE;function YJ(n){return Oe(dit,n)}const hit=YJ;let fit=Re.CDL3STARSINSOUTH;function QJ(n){return Oe(fit,n)}const pit=QJ;let git=Re.CDL3WHITESOLDIERS;function ZJ(n){return Oe(git,n)}const mit=ZJ;let bit=Re.CDLABANDONEDBABY;function XJ(n){return Oe(bit,n)}const _it=XJ;let yit=Re.CDLADVANCEBLOCK;function JJ(n){return Oe(yit,n)}const vit=JJ;let Cit=Re.CDLBELTHOLD;function eee(n){return Oe(Cit,n)}const wit=eee;let xit=Re.CDLBREAKAWAY;function tee(n){return Oe(xit,n)}const Sit=tee;let Dit=Re.CDLCLOSINGMARUBOZU;function nee(n){return Oe(Dit,n)}const Nit=nee;let Eit=Re.CDLCONCEALBABYSWALL;function iee(n){return Oe(Eit,n)}const kit=iee;let Lit=Re.CDLCOUNTERATTACK;function ree(n){return Oe(Lit,n)}const Mit=ree;let Tit=Re.CDLDARKCLOUDCOVER;function oee(n){return Oe(Tit,n)}const Ait=oee;let Iit=Re.CDLDOJI;function see(n){return Oe(Iit,n)}const Rit=see;let Oit=Re.CDLDOJISTAR;function aee(n){return Oe(Oit,n)}const Fit=aee;let Pit=Re.CDLDRAGONFLYDOJI;function lee(n){return Oe(Pit,n)}const Bit=lee;let Vit=Re.CDLENGULFING;function uee(n){return Oe(Vit,n)}const zit=uee;let Hit=Re.CDLEVENINGDOJISTAR;function cee(n){return Oe(Hit,n)}const jit=cee;let Wit=Re.CDLEVENINGSTAR;function dee(n){return Oe(Wit,n)}const $it=dee;let Uit=Re.CDLGAPSIDESIDEWHITE;function hee(n){return Oe(Uit,n)}const qit=hee;let Kit=Re.CDLGRAVESTONEDOJI;function fee(n){return Oe(Kit,n)}const Git=fee;let Yit=Re.CDLHAMMER;function pee(n){return Oe(Yit,n)}const Qit=pee;let Zit=Re.CDLHANGINGMAN;function gee(n){return Oe(Zit,n)}const Xit=gee;let Jit=Re.CDLHARAMI;function mee(n){return Oe(Jit,n)}const ert=mee;let trt=Re.CDLHARAMICROSS;function bee(n){return Oe(trt,n)}const nrt=bee;let irt=Re.CDLHIGHWAVE;function _ee(n){return Oe(irt,n)}const rrt=_ee;let ort=Re.CDLHIKKAKE;function yee(n){return Oe(ort,n)}const srt=yee;let art=Re.CDLHIKKAKEMOD;function vee(n){return Oe(art,n)}const lrt=vee;let urt=Re.CDLHOMINGPIGEON;function Cee(n){return Oe(urt,n)}const crt=Cee;let drt=Re.CDLIDENTICAL3CROWS;function wee(n){return Oe(drt,n)}const hrt=wee;let frt=Re.CDLINNECK;function xee(n){return Oe(frt,n)}const prt=xee;let grt=Re.CDLINVERTEDHAMMER;function See(n){return Oe(grt,n)}const mrt=See;let brt=Re.CDLKICKING;function Dee(n){return Oe(brt,n)}const _rt=Dee;let yrt=Re.CDLKICKINGBYLENGTH;function Nee(n){return Oe(yrt,n)}const vrt=Nee;let Crt=Re.CDLLADDERBOTTOM;function Eee(n){return Oe(Crt,n)}const wrt=Eee;let xrt=Re.CDLLONGLEGGEDDOJI;function kee(n){return Oe(xrt,n)}const Srt=kee;let Drt=Re.CDLLONGLINE;function Lee(n){return Oe(Drt,n)}const Nrt=Lee;let Ert=Re.CDLMARUBOZU;function Mee(n){return Oe(Ert,n)}const krt=Mee;let Lrt=Re.CDLMATCHINGLOW;function Tee(n){return Oe(Lrt,n)}const Mrt=Tee;let Trt=Re.CDLMATHOLD;function Aee(n){return Oe(Trt,n)}const Art=Aee;let Irt=Re.CDLMORNINGDOJISTAR;function Iee(n){return Oe(Irt,n)}const Rrt=Iee;let Ort=Re.CDLMORNINGSTAR;function Ree(n){return Oe(Ort,n)}const Frt=Ree;let Prt=Re.CDLONNECK;function Oee(n){return Oe(Prt,n)}const Brt=Oee;let Vrt=Re.CDLPIERCING;function Fee(n){return Oe(Vrt,n)}const zrt=Fee;let Hrt=Re.CDLRICKSHAWMAN;function Pee(n){return Oe(Hrt,n)}const jrt=Pee;let Wrt=Re.CDLRISEFALL3METHODS;function Bee(n){return Oe(Wrt,n)}const $rt=Bee;let Urt=Re.CDLSEPARATINGLINES;function Vee(n){return Oe(Urt,n)}const qrt=Vee;let Krt=Re.CDLSHOOTINGSTAR;function zee(n){return Oe(Krt,n)}const Grt=zee;let Yrt=Re.CDLSHORTLINE;function Hee(n){return Oe(Yrt,n)}const Qrt=Hee;let Zrt=Re.CDLSPINNINGTOP;function jee(n){return Oe(Zrt,n)}const Xrt=jee;let Jrt=Re.CDLSTALLEDPATTERN;function Wee(n){return Oe(Jrt,n)}const eot=Wee;let tot=Re.CDLSTICKSANDWICH;function $ee(n){return Oe(tot,n)}const not=$ee;let iot=Re.CDLTAKURI;function Uee(n){return Oe(iot,n)}const rot=Uee;let oot=Re.CDLTASUKIGAP;function qee(n){return Oe(oot,n)}const sot=qee;let aot=Re.CDLTHRUSTING;function Kee(n){return Oe(aot,n)}const lot=Kee;let uot=Re.CDLTRISTAR;function Gee(n){return Oe(uot,n)}const cot=Gee;let dot=Re.CDLUNIQUE3RIVER;function Yee(n){return Oe(dot,n)}const hot=Yee;let fot=Re.CDLUPSIDEGAP2CROWS;function Qee(n){return Oe(fot,n)}const pot=Qee;let got=Re.CDLXSIDEGAP3METHODS;function Zee(n){return Oe(got,n)}const mot=Zee;let bot=Re.CEIL;function Xee(n){return Oe(bot,n)}const _ot=Xee;let yot=Re.CMO;function Jee(n){return Oe(yot,n)}const vot=Jee;let Cot=Re.CORREL;function ete(n){return Oe(Cot,n)}const wot=ete;let xot=Re.COS;function tte(n){return Oe(xot,n)}const Sot=tte;let Dot=Re.COSH;function nte(n){return Oe(Dot,n)}const Not=nte;let Eot=Re.DEMA;function ite(n){return Oe(Eot,n)}const kot=ite;let Lot=Re.DIV;function rte(n){return Oe(Lot,n)}const Mot=rte;let Tot=Re.DX;function ote(n){return Oe(Tot,n)}const Aot=ote;let Iot=Re.EMA;function ste(n){return Oe(Iot,n)}const Rot=ste;let Oot=Re.EXP;function ate(n){return Oe(Oot,n)}const Fot=ate;let Pot=Re.FLOOR;function lte(n){return Oe(Pot,n)}const Bot=lte;let Vot=Re.HT_DCPERIOD;function ute(n){return Oe(Vot,n)}const zot=ute;let Hot=Re.HT_DCPHASE;function cte(n){return Oe(Hot,n)}const jot=cte;let Wot=Re.HT_PHASOR;function dte(n){return Oe(Wot,n)}const $ot=dte;let Uot=Re.HT_SINE;function hte(n){return Oe(Uot,n)}const qot=hte;let Kot=Re.HT_TRENDLINE;function fte(n){return Oe(Kot,n)}const Got=fte;let Yot=Re.HT_TRENDMODE;function pte(n){return Oe(Yot,n)}const Qot=pte;let Zot=Re.IMI;function gte(n){return Oe(Zot,n)}const Xot=gte;let Jot=Re.KAMA;function mte(n){return Oe(Jot,n)}const est=mte;let tst=Re.LINEARREG;function bte(n){return Oe(tst,n)}const nst=bte;let ist=Re.LINEARREG_ANGLE;function _te(n){return Oe(ist,n)}const rst=_te;let ost=Re.LINEARREG_INTERCEPT;function yte(n){return Oe(ost,n)}const sst=yte;let ast=Re.LINEARREG_SLOPE;function vte(n){return Oe(ast,n)}const lst=vte;let ust=Re.LN;function Cte(n){return Oe(ust,n)}const cst=Cte;let dst=Re.LOG10;function wte(n){return Oe(dst,n)}const hst=wte;let fst=Re.MA;function xte(n){return Oe(fst,n)}const pst=xte;let gst=Re.MACD;function Ste(n){return Oe(gst,n)}const mst=Ste;let bst=Re.MACDEXT;function Dte(n){return Oe(bst,n)}const _st=Dte;let yst=Re.MACDFIX;function Nte(n){return Oe(yst,n)}const vst=Nte;let Cst=Re.MAMA;function Ete(n){return Oe(Cst,n)}const wst=Ete;let xst=Re.MAVP;function kte(n){return Oe(xst,n)}const Sst=kte;let Dst=Re.MAX;function Lte(n){return Oe(Dst,n)}const Nst=Lte;let Est=Re.MAXINDEX;function Mte(n){return Oe(Est,n)}const kst=Mte;let Lst=Re.MEDPRICE;function Tte(n){return Oe(Lst,n)}const Mst=Tte;let Tst=Re.MFI;function Ate(n){return Oe(Tst,n)}const Ast=Ate;let Ist=Re.MIDPOINT;function Ite(n){return Oe(Ist,n)}const Rst=Ite;let Ost=Re.MIDPRICE;function Rte(n){return Oe(Ost,n)}const Fst=Rte;let Pst=Re.MIN;function Ote(n){return Oe(Pst,n)}const Bst=Ote;let Vst=Re.MININDEX;function Fte(n){return Oe(Vst,n)}const zst=Fte;let Hst=Re.MINMAX;function Pte(n){return Oe(Hst,n)}const jst=Pte;let Wst=Re.MINMAXINDEX;function Bte(n){return Oe(Wst,n)}const $st=Bte;let Ust=Re.MINUS_DI;function Vte(n){return Oe(Ust,n)}const qst=Vte;let Kst=Re.MINUS_DM;function zte(n){return Oe(Kst,n)}const Gst=zte;let Yst=Re.MOM;function Hte(n){return Oe(Yst,n)}const Qst=Hte;let Zst=Re.MULT;function jte(n){return Oe(Zst,n)}const Xst=jte;let Jst=Re.NATR;function Wte(n){return Oe(Jst,n)}const eat=Wte;let tat=Re.OBV;function $te(n){return Oe(tat,n)}const nat=$te;let iat=Re.PLUS_DI;function Ute(n){return Oe(iat,n)}const rat=Ute;let oat=Re.PLUS_DM;function qte(n){return Oe(oat,n)}const sat=qte;let aat=Re.PPO;function Kte(n){return Oe(aat,n)}const lat=Kte;let uat=Re.ROC;function Gte(n){return Oe(uat,n)}const cat=Gte;let dat=Re.ROCP;function Yte(n){return Oe(dat,n)}const hat=Yte;let fat=Re.ROCR;function Qte(n){return Oe(fat,n)}const pat=Qte;let gat=Re.ROCR100;function Zte(n){return Oe(gat,n)}const mat=Zte;let bat=Re.RSI;function Xte(n){return Oe(bat,n)}const _at=Xte;let yat=Re.SAR;function Jte(n){return Oe(yat,n)}const vat=Jte;let Cat=Re.SAREXT;function ene(n){return Oe(Cat,n)}const wat=ene;let xat=Re.SIN;function tne(n){return Oe(xat,n)}const Sat=tne;let Dat=Re.SINH;function nne(n){return Oe(Dat,n)}const Nat=nne;let Eat=Re.SMA;function ine(n){return Oe(Eat,n)}const kat=ine;let Lat=Re.SQRT;function rne(n){return Oe(Lat,n)}const Mat=rne;let Tat=Re.STDDEV;function one(n){return Oe(Tat,n)}const Aat=one;let Iat=Re.STOCH;function sne(n){return Oe(Iat,n)}const Rat=sne;let Oat=Re.STOCHF;function ane(n){return Oe(Oat,n)}const Fat=ane;let Pat=Re.STOCHRSI;function lne(n){return Oe(Pat,n)}const Bat=lne;let Vat=Re.SUB;function une(n){return Oe(Vat,n)}const zat=une;let Hat=Re.SUM;function cne(n){return Oe(Hat,n)}const jat=cne;let Wat=Re.T3;function dne(n){return Oe(Wat,n)}const $at=dne;let Uat=Re.TAN;function hne(n){return Oe(Uat,n)}const qat=hne;let Kat=Re.TANH;function fne(n){return Oe(Kat,n)}const Gat=fne;let Yat=Re.TEMA;function pne(n){return Oe(Yat,n)}const Qat=pne;let Zat=Re.TRANGE;function gne(n){return Oe(Zat,n)}const Xat=gne;let Jat=Re.TRIMA;function mne(n){return Oe(Jat,n)}const elt=mne;let tlt=Re.TRIX;function bne(n){return Oe(tlt,n)}const nlt=bne;let ilt=Re.TSF;function _ne(n){return Oe(ilt,n)}const rlt=_ne;let olt=Re.TYPPRICE;function yne(n){return Oe(olt,n)}const slt=yne;let alt=Re.ULTOSC;function vne(n){return Oe(alt,n)}const llt=vne;let ult=Re.VAR;function Cne(n){return Oe(ult,n)}const clt=Cne;let dlt=Re.WCLPRICE;function wne(n){return Oe(dlt,n)}const hlt=wne;let flt=Re.WILLR;function xne(n){return Oe(flt,n)}const plt=xne;let glt=Re.WMA;function Sne(n){return Oe(glt,n)}const l5=Object.freeze(Object.defineProperty({__proto__:null,ACCBANDS:NJ,ACOS:EJ,AD:kJ,ADD:LJ,ADOSC:MJ,ADX:TJ,ADXR:AJ,APO:IJ,AROON:RJ,AROONOSC:OJ,ASIN:FJ,ATAN:PJ,ATR:BJ,AVGDEV:VJ,AVGPRICE:zJ,BBANDS:HJ,BETA:jJ,BOP:WJ,CCI:$J,CDL2CROWS:UJ,CDL3BLACKCROWS:qJ,CDL3INSIDE:KJ,CDL3LINESTRIKE:GJ,CDL3OUTSIDE:YJ,CDL3STARSINSOUTH:QJ,CDL3WHITESOLDIERS:ZJ,CDLABANDONEDBABY:XJ,CDLADVANCEBLOCK:JJ,CDLBELTHOLD:eee,CDLBREAKAWAY:tee,CDLCLOSINGMARUBOZU:nee,CDLCONCEALBABYSWALL:iee,CDLCOUNTERATTACK:ree,CDLDARKCLOUDCOVER:oee,CDLDOJI:see,CDLDOJISTAR:aee,CDLDRAGONFLYDOJI:lee,CDLENGULFING:uee,CDLEVENINGDOJISTAR:cee,CDLEVENINGSTAR:dee,CDLGAPSIDESIDEWHITE:hee,CDLGRAVESTONEDOJI:fee,CDLHAMMER:pee,CDLHANGINGMAN:gee,CDLHARAMI:mee,CDLHARAMICROSS:bee,CDLHIGHWAVE:_ee,CDLHIKKAKE:yee,CDLHIKKAKEMOD:vee,CDLHOMINGPIGEON:Cee,CDLIDENTICAL3CROWS:wee,CDLINNECK:xee,CDLINVERTEDHAMMER:See,CDLKICKING:Dee,CDLKICKINGBYLENGTH:Nee,CDLLADDERBOTTOM:Eee,CDLLONGLEGGEDDOJI:kee,CDLLONGLINE:Lee,CDLMARUBOZU:Mee,CDLMATCHINGLOW:Tee,CDLMATHOLD:Aee,CDLMORNINGDOJISTAR:Iee,CDLMORNINGSTAR:Ree,CDLONNECK:Oee,CDLPIERCING:Fee,CDLRICKSHAWMAN:Pee,CDLRISEFALL3METHODS:Bee,CDLSEPARATINGLINES:Vee,CDLSHOOTINGSTAR:zee,CDLSHORTLINE:Hee,CDLSPINNINGTOP:jee,CDLSTALLEDPATTERN:Wee,CDLSTICKSANDWICH:$ee,CDLTAKURI:Uee,CDLTASUKIGAP:qee,CDLTHRUSTING:Kee,CDLTRISTAR:Gee,CDLUNIQUE3RIVER:Yee,CDLUPSIDEGAP2CROWS:Qee,CDLXSIDEGAP3METHODS:Zee,CEIL:Xee,CMO:Jee,CORREL:ete,COS:tte,COSH:nte,DEMA:ite,DIV:rte,DX:ote,EMA:ste,EXP:ate,FLOOR:lte,HT_DCPERIOD:ute,HT_DCPHASE:cte,HT_PHASOR:dte,HT_SINE:hte,HT_TRENDLINE:fte,HT_TRENDMODE:pte,IMI:gte,KAMA:mte,LINEARREG:bte,LINEARREG_ANGLE:_te,LINEARREG_INTERCEPT:yte,LINEARREG_SLOPE:vte,LN:Cte,LOG10:wte,MA:xte,MACD:Ste,MACDEXT:Dte,MACDFIX:Nte,MAMA:Ete,get MAType(){return ok},MAVP:kte,MAX:Lte,MAXINDEX:Mte,MEDPRICE:Tte,MFI:Ate,MIDPOINT:Ite,MIDPRICE:Rte,MIN:Ote,MININDEX:Fte,MINMAX:Pte,MINMAXINDEX:Bte,MINUS_DI:Vte,MINUS_DM:zte,MOM:Hte,MULT:jte,NATR:Wte,OBV:$te,PLUS_DI:Ute,PLUS_DM:qte,PPO:Kte,ROC:Gte,ROCP:Yte,ROCR:Qte,ROCR100:Zte,RSI:Xte,SAR:Jte,SAREXT:ene,SIN:tne,SINH:nne,SMA:ine,SQRT:rne,STDDEV:one,STOCH:sne,STOCHF:ane,STOCHRSI:lne,SUB:une,SUM:cne,T3:dne,TAN:hne,TANH:fne,TEMA:pne,TRANGE:gne,TRIMA:mne,TRIX:bne,TSF:_ne,TYPPRICE:yne,ULTOSC:vne,VAR:Cne,WCLPRICE:wne,WILLR:xne,WMA:Sne,accBands:vnt,acos:wnt,ad:Snt,adOsc:knt,add:Nnt,adx:Mnt,adxr:Ant,apo:Rnt,aroon:Fnt,aroonOsc:Bnt,asin:znt,atan:jnt,atr:$nt,avgDev:qnt,avgPrice:Gnt,bbands:Qnt,beta:Xnt,bop:eit,cci:nit,cdl2Crows:rit,cdl3BlackCrows:sit,cdl3Inside:lit,cdl3LineStrike:cit,cdl3Outside:hit,cdl3StarsInSouth:pit,cdl3WhiteSoldiers:mit,cdlAbandonedBaby:_it,cdlAdvanceBlock:vit,cdlBeltHold:wit,cdlBreakaway:Sit,cdlClosingMarubozu:Nit,cdlConcealBabysWall:kit,cdlCounterAttack:Mit,cdlDarkCloudCover:Ait,cdlDoji:Rit,cdlDojiStar:Fit,cdlDragonflyDoji:Bit,cdlEngulfing:zit,cdlEveningDojiStar:jit,cdlEveningStar:$it,cdlGapSideSideWhite:qit,cdlGravestoneDoji:Git,cdlHammer:Qit,cdlHangingMan:Xit,cdlHarami:ert,cdlHaramiCross:nrt,cdlHignWave:rrt,cdlHikkake:srt,cdlHikkakeMod:lrt,cdlHomingPigeon:crt,cdlIdentical3Crows:hrt,cdlInNeck:prt,cdlInvertedHammer:mrt,cdlKicking:_rt,cdlKickingByLength:vrt,cdlLadderBottom:wrt,cdlLongLeggedDoji:Srt,cdlLongLine:Nrt,cdlMarubozu:krt,cdlMatHold:Art,cdlMatchingLow:Mrt,cdlMorningDojiStar:Rrt,cdlMorningStar:Frt,cdlOnNeck:Brt,cdlPiercing:zrt,cdlRickshawMan:jrt,cdlRiseFall3Methods:$rt,cdlSeperatingLines:qrt,cdlShootingStar:Grt,cdlShortLine:Qrt,cdlSpinningTop:Xrt,cdlStalledPattern:eot,cdlStickSandwhich:not,cdlTakuri:rot,cdlTasukiGap:sot,cdlThrusting:lot,cdlTristar:cot,cdlUnique3River:hot,cdlUpsideGap2Crows:pot,cdlXSideGap3Methods:mot,ceil:_ot,cmo:vot,correl:wot,cos:Sot,cosh:Not,dema:kot,div:Mot,dx:Aot,ema:Rot,exp:Fot,floor:Bot,htDcPeriod:zot,htDcPhase:jot,htPhasor:$ot,htSine:qot,htTrendMode:Qot,htTrendline:Got,imi:Xot,init:sk,kama:est,linearReg:nst,linearRegAngle:rst,linearRegIntercept:sst,linearRegSlope:lst,ln:cst,log10:hst,macd:mst,macdExt:_st,macdFix:vst,mama:wst,max:Nst,maxIndex:kst,medPrice:Mst,mfi:Ast,midPoint:Rst,midPrice:Fst,min:Bst,minIndex:zst,minMax:jst,minMaxIndex:$st,minusDI:qst,minusDM:Gst,mom:Qst,movingAverage:pst,movingAverageVariablePeriod:Sst,mult:Xst,natr:eat,obv:nat,plusDI:rat,plusDM:sat,ppo:lat,roc:cat,rocP:hat,rocR:pat,rocR100:mat,rsi:_at,sar:vat,sarExt:wat,sin:Sat,sinh:Nat,sma:kat,sqrt:Mat,stdDev:Aat,stoch:Rat,stochF:Fat,stochRsi:Bat,sub:zat,sum:jat,t3:$at,tan:qat,tanh:Gat,tema:Qat,trima:elt,trix:nlt,trueRange:Xat,tsf:rlt,typPrice:slt,ultOsc:llt,variance:clt,wclPrice:hlt,willR:plt,wma:Sne},Symbol.toStringTag,{value:"Module"}));let Dne=!1,Nne=!0,Ene=[];const kne=n=>{const e=[],t=[],i=[],r=[],o=[],s=[];return n.forEach((a,l)=>{e.push(a[0]),t.push(a[1]),i.push(a[4]),r.push(a[2]),o.push(a[3]),s.push([a[1],a[4],a[3],a[2],Number(a[6]),l===0?a[4]:n[l-1][4]])}),{time:e,open:t,close:i,high:r,low:o,kLineData:s}},mlt=async()=>{if(!Dne)Dne=!0,await sk("./talib.wasm"),Nne=!1,Ene.forEach(n=>{n()});else if(Nne)return new Promise(n=>{Ene.push(n)})},v_=(n,e)=>n.length>e?n.slice(n.length-e):n,blt=(n,e,t)=>n.calculationFn?n.calculationFn(l5,e,t):new Array(e.time.length).fill(null),_lt=async(n,e,t)=>{const i=kne(n);let r=[];return r=kne(r),await mlt(),{originData:v_(n,t),kLine:v_(i.kLineData,t),time:v_(i.time,t),indicator:e.config.reduce((o,s)=>(o.push({key:s.key,color:s.color,data:v_(blt(s,i,r),t)}),o),[])}},ak="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjM4NzI1IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI2MjUiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNGRjAwMDAiIHAtaWQ9IjI2MjYiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjcwOTMzMyAxNjcuNzIyNjY3YzAuMTI4LTIxLjc2IDkuOTg0LTQyLjY2NjY2NyAyNy4zOTItNTcuOTQxMzM0YTkzLjMxMiA5My4zMTIgMCAwIDEgNjQuNDY5MzM0LTIzLjg5MzMzM0w3NjEuNiA4NS4zMzMzMzNjMjUuNiAwLjU1NDY2NyA0Ny4zNiA4Ljc4OTMzMyA2NC45Mzg2NjcgMjQuNDA1MzM0IDE3LjkyIDE2IDI2Ljg4IDM1LjIgMjYuODggNTcuNDcybC0wLjU1NDY2NyA0MTkuODRjMC4yOTg2NjcgMjIuNjk4NjY3LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuOTIyNjY2LTEyLjYyOTMzMyAyNy4zMDY2NjctMjcuOTQ2NjY3IDQ4Ljg5Ni00NS44MjQgNjQuODk2bC0yMTEuMjQyNjY3IDE4OC4yMDI2NjdjLTE3LjU3ODY2NyAxNS43MDEzMzMtMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45Mzg2NjcgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0Ljk4MTMzMy0yMy41OTQ2NjdsLTIxMS4xNTczMzMtMTg4LjE2Yy0xNy45Mi0xNi4wNDI2NjctMzMuMjgtMzcuNzE3MzMzLTQ1LjkwOTMzNC02NC45ODEzMzMtMTIuNjcyLTI3LjMwNjY2Ny0xOS4wMjkzMzMtNTIuMzk0NjY3LTE5LjAyOTMzMy03NS4zMDY2NjdMMTcwLjY2NjY2NyAxNjcuNzIyNjY3eiBtNDIuNjY2NjY3IDAuMjU2bDAuNTU0NjY3IDQxOC42ODhjMCAxNi4yMTMzMzMgNC44MjEzMzMgMzUuMzI4IDE1LjAxODY2NiA1Ny4zNDQgMTAuMzY4IDIyLjI3MiAyMi4zNTczMzMgMzkuMjEwNjY3IDM1LjYyNjY2NyA1MS4wNzJsMjExLjQxMzMzMyAxODguNDE2YzguOTYgOC4xMDY2NjcgMjEuODg4IDEyLjggMzYuMjI0IDEyLjU0NCAxNS41MzA2NjctMC4wNDI2NjcgMjcuMDkzMzMzLTQuMjY2NjY3IDM2LjY5MzMzNC0xMi44bDIxMS4xNTczMzMtMTg4LjExNzMzNGMxMy4zMTItMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNTg0LTUxLjA3MiAxMC4xMTItMjEuODQ1MzMzIDE0Ljc2MjY2Ny00MC41NzYgMTQuNTA2NjY3LTU3LjA0NTMzM2wwLjU1NDY2Ni00MTkuNzU0NjY3YzAtOS44OTg2NjctMy41ODQtMTcuNjIxMzMzLTEyLjQ1ODY2Ni0yNS42YTU0LjY5ODY2NyA1NC42OTg2NjcgMCAwIDAtMzYuNjA4LTEzLjYxMDY2NmwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NyAxMy4zMTIgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzMgMjEuNDYxMzMzbC0wLjQyNjY2NyA0LjY5MzMzNHoiIGZpbGw9IiNBRTAwMDAiIHAtaWQ9IjI2MjciPjwvcGF0aD48cGF0aCBkPSJNMzg0IDY1NC4xMjI2NjdoMTUzLjUxNDY2N2M5Ni43NjggMCAxNDIuNzYyNjY3LTQ4Ljk4MTMzMyAxNDIuNzYyNjY2LTExNy4wNzczMzQgMC01OS43MzMzMzMtMzMuNDUwNjY3LTg4LjQwNTMzMy04NC44MjEzMzMtOTcuOTYyNjY2di0xLjc5MmM0OC45ODEzMzMtMTUuNTMwNjY3IDY2LjkwMTMzMy00Ni41OTIgNjYuOTAxMzMzLTg5LjYgMC02NS4xMDkzMzMtNDAuNjE4NjY3LTEwMy4zMzg2NjctMTM0Ljk5NzMzMy0xMDMuMzM4NjY3SDM4NHY0MDkuNzcwNjY3eiBtNzIuODc0NjY3LTU0Ljk1NDY2N3YtMTMxLjQxMzMzM2g2Ni4zMDRjNTEuOTY4IDAgODAuMDQyNjY3IDE3LjkyIDgwLjA0MjY2NiA2NS4xMDkzMzMgMCA0NC44LTI2LjI4MjY2NyA2Ni4zMDQtNzUuODYxMzMzIDY2LjMwNGgtNzAuNDg1MzMzeiBtMC0xODAuMzk0NjY3VjI5OC43MDkzMzNoNjAuMzMwNjY2YzQ3LjE4OTMzMyAwIDcyLjI3NzMzMyAxNC45MzMzMzMgNzIuMjc3MzM0IDU5LjEzNiAwIDQ2LjU5Mi0zMi4yNTYgNjAuOTI4LTc1LjI2NCA2MC45MjhoLTU3LjM0NHoiIGZpbGw9IiNGRkZGRkYiIHAtaWQ9IjI2MjgiPjwvcGF0aD48L3N2Zz4=",lk="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjQxNjY0IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI3NzciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiM1NEFCMzAiIHAtaWQ9IjI3NzgiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiMzODhEMTQiIHAtaWQ9IjI3NzkiPjwvcGF0aD48cGF0aCBkPSJNNTA2LjQ1MzMzMyA2NzQuNzMwNjY3Yzk5LjE1NzMzMyAwIDE0Ni4zNDY2NjctNDguMzg0IDE0Ni4zNDY2NjctMTI2LjAzNzMzNCAwLTcyLjg3NDY2Ny0zOC44MjY2NjctOTkuNzU0NjY3LTEwMy4zMzg2NjctMTE4LjI3MmwtMzguMjI5MzMzLTExLjk0NjY2NmMtNDAuNjE4NjY3LTExLjM0OTMzMy01Mi41NjUzMzMtMjUuMDg4LTUyLjU2NTMzMy01Ny4zNDQgMC0zMi44NTMzMzMgMjMuODkzMzMzLTUwLjc3MzMzMyA2Ni45MDEzMzMtNTAuNzczMzM0IDQ1LjM5NzMzMyAwIDc4Ljg0OCA5LjU1NzMzMyAxMDQuNTMzMzMzIDIwLjMwOTMzNFYyNzMuMzIyNjY3Yy0yMi42OTg2NjctMTEuOTQ2NjY3LTUxLjk2OC0yMi4xMDEzMzMtMTA1LjcyOC0yMi4xMDEzMzQtOTIuNTg2NjY3IDAtMTM3LjM4NjY2NyA0Ny4xODkzMzMtMTM3LjM4NjY2NiAxMTYuNDggMCA2OS4yOTA2NjcgMzUuMjQyNjY3IDEwMC4zNTIgOTMuMTg0IDExNi40OGwzOC44MjY2NjYgMTAuNzUyYzQ0LjggMTMuNzM4NjY3IDU5LjczMzMzMyAyNi44OCA1OS43MzMzMzQgNjAuOTI4IDAgMzcuMDM0NjY3LTIzLjI5NiA1OS43MzMzMzMtNzguMjUwNjY3IDU5LjczMzMzNC00NC44IDAtODMuNjI2NjY3LTEwLjc1Mi0xMTYuNDgtMjUuMDg4djU3Ljk0MTMzM2MyOC4wNzQ2NjcgMTQuOTMzMzMzIDY4LjY5MzMzMyAyNi4yODI2NjcgMTIyLjQ1MzMzMyAyNi4yODI2Njd6IiBmaWxsPSIjRkZGRkZGIiBwLWlkPSIyNzgwIj48L3BhdGg+PC9zdmc+",uk="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjI4MjAyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjMwNzgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNDODgwRkYiIHAtaWQ9IjMwNzkiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiNBRTQ0RkYiIHAtaWQ9IjMwODAiPjwvcGF0aD48cGF0aCBkPSJNNDc1LjMwNjY2NyA2NTguMjE4NjY3aDczLjQ3MlYzMDYuMzg5MzMzaDExNi40OFYyNDguNDQ4aC0zMDcuNjI2NjY3djU3Ljk0MTMzM2gxMTcuNjc0NjY3eiIgZmlsbD0iI0ZGRkZGRiIgcC1pZD0iMzA4MSI+PC9wYXRoPjwvc3ZnPg==",u5=(n,e)=>{const{type:t="log",color:i="black"}=e??{};localStorage.getItem("st-kline-console-show")==="true"&&console[t](`%c${n}`,`color:${i}`)},Oa=n=>n||n===0?Math.round(n*1e3)/1e3:null,ylt=n=>n>=1e12?`${(n/1e12).toFixed(2)}万亿`:n>=1e8?`${(n/1e8).toFixed(2)}亿`:n>=1e4?`${(n/1e4).toFixed(2)}万`:n.toFixed(2),vlt=n=>{const{y:e,text:t,info:i,gridLeft:r,gridRight:o,echartsWidth:s,echartsInstance:a}=n,{config:l,event:c}=i;let d=0;return{type:"group",draggable:l.draggable?"vertical":!1,children:[{type:"line",info:i,shape:{x1:r,y1:e,x2:s-o,y2:e},style:{stroke:l.lineColor,lineWidth:1,lineDash:[8,4]},z:10},{type:"group",x:s,y:e-5,children:[{type:"text",left:-1*o,info:i,style:{fill:l.textColor,text:t,stroke:"#000",lineWidth:1,opacity:1},z:10}]}],onmouseover:h=>{c.onmouseover instanceof Function&&c.onmouseover(h,i)},onmouseout:h=>{c.onmouseout instanceof Function&&c.onmouseout(h,i)},ondragstart:h=>{c.ondragstart instanceof Function&&l.draggable&&(d=h.offsetY,c.ondragstart(h,i))},ondragend:h=>{if(c.ondragend instanceof Function&&l.draggable){const p=h.offsetY-d;if(p===0)return;const g=a.convertFromPixel({yAxisIndex:0},e+p);c.ondragend(h,i,g)}}}},Clt=n=>{const{y:e,text:t,info:i,gridLeft:r,gridRight:o,echartsWidth:s,echartsInstance:a}=n,{config:l,event:c}=i;let d=0;const h=p=>{let g=null;p.target.type==="line"?g=p.target.parent:p.target.type==="tspan"&&(g=p.target.parent.parent.parent),g.children()[1].children()[0].animate("style",!1).when(200,{opacity:1}).start()},f=p=>{let g=null;p.target.type==="line"?g=p.target.parent:p.target.type==="tspan"&&(g=p.target.parent.parent.parent),g.children()[1].children()[0].animate("style",!1).when(200,{opacity:0}).start()};return{type:"group",draggable:l.draggable?"vertical":!1,children:[{type:"line",info:i,shape:{x1:r,y1:e,x2:s-o,y2:e},style:{stroke:l.lineColor,lineWidth:1},z:10},{type:"group",x:s/2,y:e-5,children:[{type:"text",left:"center",info:i,style:{fill:l.textColor,text:t,stroke:"#000",lineWidth:1,opacity:0},z:10}]}],onmouseover:p=>{c.onmouseover instanceof Function?c.onmouseover(p,i):h(p)},onmouseout:p=>{c.onmouseout instanceof Function?c.onmouseout(p,i):f(p)},ondragstart:p=>{c.ondragstart instanceof Function&&l.draggable&&(d=p.offsetY,c.ondragstart(p,i))},ondragend:p=>{if(c.ondragend instanceof Function&&l.draggable){const m=p.offsetY-d;if(m===0)return;const y=a.convertFromPixel({yAxisIndex:0},e+m);c.ondragend(p,i,y)}}}},wlt=n=>{const{y:e,text:t,profitY:i,profitText:r,lossY:o,lossText:s,info:a,gridLeft:l,gridRight:c,echartsWidth:d,echartsInstance:h}=n,{config:f,event:p}=a;let g=0,m=null,y=null;const _=(C,w)=>{var x,S,N,D;(x=C.children()[2])==null||x.animate("style",!1).when(200,{opacity:~~w}).start(),(S=C.children()[3].children()[0])==null||S.animate("style",!1).when(200,{opacity:~~w}).start(),(N=C.children()[4])==null||N.animate("style",!1).when(200,{opacity:~~w}).start(),(D=C.children()[5].children()[0])==null||D.animate("style",!1).when(200,{opacity:~~w}).start()},v=C=>{let w=null;C.target.type==="line"?w=C.target.parent:C.target.type==="tspan"&&(w=C.target.parent.parent.parent),m=x=>{x.preventDefault(),(x.code==="AltLeft"||x.code==="AltRight")&&_(w,!0)},y=x=>{(x.code==="AltLeft"||x.code==="AltRight")&&_(w,!1)},window.addEventListener("keydown",m),window.addEventListener("keyup",y)},b=C=>{let w=null;C.target.type==="line"?w=C.target.parent:C.target.type==="tspan"&&(w=C.target.parent.parent.parent),_(w,!1),window.removeEventListener("keydown",m),window.removeEventListener("keyup",y)};return{type:"group",draggable:f.draggable?"vertical":!1,children:[{type:"line",info:a,shape:{x1:l,y1:e,x2:d-c,y2:e},style:{stroke:f.lineColor,lineWidth:1},z:10},{type:"group",x:d/2,y:e-5,children:[{type:"text",left:"center",info:a,style:{fill:f.textColor,text:t,stroke:"#000",lineWidth:1,opacity:1},z:10}]},{type:"line",info:a,shape:{x1:l,y1:i,x2:d-c,y2:i},style:{stroke:f.profitLineColor,lineWidth:1,lineDash:[8,4],opacity:0},z:10},{type:"group",x:d/2,y:i-5,children:[{type:"text",left:"center",info:a,style:{fill:f.profitTextColor,text:r,stroke:"#000",lineWidth:1,opacity:0},z:10}]},{type:"line",info:a,shape:{x1:l,y1:o,x2:d-c,y2:o},style:{stroke:f.lossLineColor,lineWidth:1,lineDash:[8,4],opacity:0},z:10},{type:"group",x:d/2,y:o-5,children:[{type:"text",left:"center",info:a,style:{fill:f.lossTextColor,text:s,stroke:"#000",lineWidth:1,opacity:0},z:10}]}],onmouseover:C=>{p.onmouseover instanceof Function?p.onmouseover(C,a):v(C)},onmouseout:C=>{p.onmouseout instanceof Function?p.onmouseout(C,a):b(C)},ondragstart:C=>{p.ondragstart instanceof Function&&f.draggable&&(g=C.offsetY,p.ondragstart(C,a))},ondragend:C=>{if(p.ondragend instanceof Function&&f.draggable){const x=C.offsetY-g;if(x===0)return;const S=h.convertFromPixel({yAxisIndex:0},e+x);p.ondragend(C,a,S)}}}},C_=(n,e)=>{const{direction:t="",tradeAction:i="",tradeType:r=""}=n;if(e==="sellBuy"){const o=r??t+i;return new Map([["开多","买"],["平多","卖"],["开空","卖"],["平空","买"]]).get(o)}else if(e==="openClose")return r??t+i},xlt=(n,e)=>n.reduce((t,i)=>{var d;const r=C_(i,"sellBuy"),o=n.filter(h=>h.time===i.time);let s="image://"+new URL(Object.assign({"./images/buy.svg":ak,"./images/sell.svg":lk,"./images/t.svg":uk})[`./images/${r==="买"?"buy":"sell"}.svg`],self.location).href;o.length>1?[...new Set(o.map(f=>C_(f,"sellBuy")))].length>1?s="image://"+new URL("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjI4MjAyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjMwNzgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNDODgwRkYiIHAtaWQ9IjMwNzkiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiNBRTQ0RkYiIHAtaWQ9IjMwODAiPjwvcGF0aD48cGF0aCBkPSJNNDc1LjMwNjY2NyA2NTguMjE4NjY3aDczLjQ3MlYzMDYuMzg5MzMzaDExNi40OFYyNDguNDQ4aC0zMDcuNjI2NjY3djU3Ljk0MTMzM2gxMTcuNjc0NjY3eiIgZmlsbD0iI0ZGRkZGRiIgcC1pZD0iMzA4MSI+PC9wYXRoPjwvc3ZnPg==",self.location).href:s="image://"+new URL(Object.assign({"./images/buy.svg":ak,"./images/sell.svg":lk,"./images/t.svg":uk})[`./images/${r==="买"?"buy":"sell"}.svg`],self.location).href:s="image://"+new URL(Object.assign({"./images/buy.svg":ak,"./images/sell.svg":lk,"./images/t.svg":uk})[`./images/${r==="买"?"buy":"sell"}.svg`],self.location).href;const l=(e.find(h=>h[0]===i.time)??[])[2],c=((d=i==null?void 0:i.markLineTarget)==null?void 0:d.map(h=>{const f=i.time,p=l+"",g=h.time,m=e.find(_=>_[0]===h.time),y=m?m[3]:null;return[{coord:[f,p],lineStyle:h.lineStyle},{coord:[g,y]}]}))??null;return t.push({symbol:s,symbolSize:25,animation:!1,coord:[i.time+"",l],symbolRotate:0,symbolOffset:[0,"-7"],markLineTarget:c}),t},[]),Slt=(n,e)=>n.reduce((t,i,r)=>{var h;const o=C_(i,"openClose"),s=o==="开多"||o==="开空"?"top":"bottom",a=e.find(f=>f[0]===i.time)??[],l=s==="top"?a[2]:a[3];let c=7;c+=n.slice(0,r).filter(f=>{const p=C_(f,"openClose");return(p==="开多"||p==="开空"?"top":"bottom")===s&&f.time===i.time}).length*7;const d=((h=i==null?void 0:i.markLineTarget)==null?void 0:h.map(f=>{const p=i.time,g=l+"",m=f.time,y=e.find(_=>_[0]===f.time)[3];return[{coord:[p,g],lineStyle:f.lineStyle},{coord:[m,y]}]}))??null;return t.push({symbol:"triangle",symbolSize:[10,12],animation:!1,coord:[i.time+"",l],symbolRotate:s==="top"?180:0,symbolOffset:[0,`${s==="top"?c*-1:c}`],itemStyle:{color:s==="top"?"#FF0000":"#389e0d"},label:{show:!0,position:s,color:"#fff",formatter:`${o} ${s==="top"?"+":"-"} ${i.amount}手 ${i.part?`(${i.part}份)`:""}`},markLineTarget:d}),t},[]),Dlt=(n,e)=>n.reduce((t,i)=>{const{key:r,data:o}=i;if(o===null||o.length===0)return t;const a=new Map([["sellBuy",()=>xlt(o,e)],["openClose",()=>Slt(o,e)],["signal",()=>{}]]).get(r);return a instanceof Function&&t.push(...a()),t},[]),ck=async(n,e,t,i,r,o)=>{const{totalBarCount:s,defaultShowBarCount:a,maxValueSpan:l,gridLeft:c,gridTop:d,gridRight:h,gridBottom:f,zoomLock:p}=i,{time:g,kLine:m,originData:y,indicator:_}=await _lt(n,t,s),v=_.map(w=>{const{key:x,data:S,color:N}=w;return{name:x,type:"line",silent:!0,symbol:"none",data:S,lineStyle:{width:1},itemStyle:{color:N}}}),b=Dlt(e,y);let C=[];return b.forEach(w=>{w.markLineTarget&&(C=[...C,...w.markLineTarget])}),{animation:!1,dataset:{id:"data",source:{klineData:m,indicatorData:_}},grid:{left:`${c}px`,top:`${d}px`,right:`${h}px`,bottom:`${f}px`},tooltip:{trigger:"axis",axisPointer:{type:"cross",label:{formatter:w=>{const{axisDimension:x,value:S}=w;return x==="x"?S:String(Oa(S))}}},formatter:w=>{let x=null,S="";return w.forEach(N=>{N.seriesName==="资产持仓净值"&&N.data!==null&&(S+=`<div>资产持仓净值: ${N.data}</div>`),N.componentSubType==="candlestick"&&e.forEach(D=>{const{key:E,data:k}=D;if(E==="sellBuy"){const L=k.filter(A=>A.time===N.axisValue);let O=0,P=0;L.forEach(A=>{A.tradeType==="开多"||A.tradeType==="平空"?O+=A.amount:P+=A.amount}),O&&(S+=`<div>买: ${O}</div>`),P&&(S+=`<div>卖: ${P}</div>`)}E==="openClose"&&k.forEach(L=>{L.time===N.axisValue&&(S+=L.tooltip)})}),S&&(x=`<div><span style="font-weight: bold;">${N.axisValue}</span>${S}</div>`)}),x}},xAxis:{type:"category",data:g,axisLine:{show:!0},splitLine:{show:!0,lineStyle:{type:"dotted",color:"#333"}},axisLabel:{show:!0,formatter:w=>w}},yAxis:[{index:0,splitLine:{show:!0,lineStyle:{type:"dotted",color:"#333"}},min:w=>{const{min:x,max:S}=w,N=Math.abs((S-x)/10);return x-N},max:w=>{const{min:x,max:S}=w,N=Math.abs((S-x)/10);return S+N},axisLine:{show:!0},axisLabel:{formatter:w=>Oa(w),showMaxLabel:!1}},{show:!1,min:"dataMin"}],dataZoom:[{type:"inside",xAxisIndex:[0,0],zoomLock:p,maxValueSpan:l,start:m.length>=a?(m.length-a)/m.length*100:0,end:99.99}],series:[{name:"k线",type:"candlestick",data:m,markPoint:{data:b},markLine:{position:"middle",textStyle:{color:"blue",fontSize:15},animation:!1,data:C,lineStyle:{width:3,type:"solid"},symbol:["none","none"]},itemStyle:{color:"transparent",color0:"#00FFFF",borderColor:"#FF0000",borderColor0:"#00FFFF",borderWidth:1},z:1},...v,{name:"资产持仓净值",type:"line",data:r??[],symbol:"none",yAxisIndex:1,connectNulls:!0,itemStyle:{color:"#666"}},{name:"二腿相关度",type:"line",data:o??[],symbol:"none",yAxisIndex:1,connectNulls:!0,itemStyle:{color:"#FFF"},lineStyle:{width:2},label:{show:!0,position:"top",formatter:w=>`相关度: ${w.data[1]}`,textStyle:{color:"#FFF",fontSize:14}}}],toolbox:{show:!1},brush:{xAxisIndex:"all",brushLink:"all",transformable:!1,outOfBrush:{colorAlpha:1},brushStyle:{color:"rgba(120,140,180,0)",borderColor:"rgba(255,255,255,0.4)"}}}},Nlt=(n,e,t)=>{var h;const{gridLeft:i,gridRight:r,gridBottom:o,warningConfig:s,positionConfig:a,conditionConfig:l,isOpenDS:c}=e;let d=[];if((h=t==null?void 0:t.getModel())!=null&&h.getComponent){const[f,p]=t.getModel().getComponent("yAxis").axis.scale._extent;let g=[],m={},y=[],_={},v=[],b={};if(n.forEach(({key:C,data:w,...x})=>{C==="warning"?(g=w,m=x):C==="position"?(y=w,_=x):C==="condition"&&(v=w,b=x)}),g.length>0&&(d=g.reduce((C,w)=>{const{value:x,text:S,info:N,config:D}=w;if(x>p||x<f)return C;const E={y:t.convertToPixel({yAxisIndex:0},x),text:S,info:{info:N,config:{...s,...D},event:{...m}},gridLeft:i,gridRight:r,echartsWidth:t.getWidth(),echartsInstance:t};return[...C,vlt(E)]},d)),y.length>0&&(d=y.reduce((C,w)=>{const{value:x,text:S,info:N,config:D}=w;if(x>p||x<f)return C;const E={y:t.convertToPixel({yAxisIndex:0},x),text:S,info:{info:N,config:{...a,...D},event:{..._}},gridLeft:i,gridRight:r,echartsWidth:t.getWidth(),echartsInstance:t};return[...C,Clt(E)]},d)),v.length>0&&(d=v.reduce((C,w)=>{const{value:x,text:S,profitValue:N,profitText:D,lossValue:E,lossText:k,info:L,config:O}=w;if(x>p||x<f)return C;const P={y:t.convertToPixel({yAxisIndex:0},x),text:S,profitY:t.convertToPixel({yAxisIndex:0},N),profitText:D,lossY:t.convertToPixel({yAxisIndex:0},E),lossText:k,info:{info:L,config:{...l,...O},event:{...b}},gridLeft:i,gridRight:r,echartsWidth:t.getWidth(),echartsInstance:t};return[...C,wlt(P)]},d)),c){const C=t.getOption(),w=C.dataset[0].source.klineData.slice(C.dataZoom[0].startValue,C.dataZoom[0].endValue+1),x={};w.forEach(P=>{x[P[1]]?x[P[1]]+=1:x[P[1]]=1});const S=w[w.length-1][1],N=w.reduce((P,A)=>P+A[1],0)/w.length,D=S-N,E=klt(w,1,50),k=Llt(w),L=k?D/k:0,O=Elt(w,1,S);d=[...d,{type:"group",draggable:!1,children:Object.keys(x).map(P=>({type:"line",shape:{x1:t.getWidth()-r-100*x[P],y1:t.convertToPixel({yAxisIndex:0},P),x2:t.getWidth()-r,y2:t.convertToPixel({yAxisIndex:0},P)},style:{stroke:"rgb(124,124,124)",lineWidth:1},z:10}))},{type:"text",x:i+6,y:t.getHeight()-o-20,style:{fill:"#FFF",text:`均值: ${Oa(N)}    距均值: ${Oa(D)}    中值: ${Oa(E)}    标准差: ${Oa(k)}    距均值/标准差: ${Oa(L)}    百分位: ${Oa(O)}%`,lineWidth:1,opacity:1},z:10}]}}return{elements:d}},Elt=(n,e,t)=>{const{round:i,add:r,subtract:o,multiply:s,divide:a}=wl,l=n.map(d=>d[e]).sort((d,h)=>d-h);let c=0;for(let d=0;d<l.length;d++)if(l[d]===t){c=d;break}else if(l[d]>=t){c=r(d,a(o(l[d+1],l[d]),l[d]));break}return i(a(s(c,100),n.length+1))},klt=(n,e,t)=>{const{round:i,add:r,subtract:o,multiply:s,divide:a}=wl,l=n.map(f=>f[e]).sort((f,p)=>f-p),c=s(n.length+1,a(t,100)),d=Math.floor(c),h=o(c,d);return i(h===0?l[c]:r(l[d],s(o(l[d>=n.length-1?d:d+1],l[d]),h)))};function Llt(n){const e=n.map(s=>s[1]),t=e.length;let i=0,r=0;for(const s of e)i+=s;const o=i/t;for(const s of e)r+=Math.pow(s-o,2);return Math.sqrt(r/t)}const Mlt={class:"st-kline"},Tlt={class:"st-kline-header"},Alt=300,Ilt=u.defineComponent({__name:"index",props:{indicator:{type:Object,default:()=>({})},klineData:{type:Array,default:()=>[]},markData:{type:Array,default:()=>[]},lineData:{type:Array,default:()=>[]},netPositionData:{type:Array,default:()=>[]},relevanceData:{type:Array,default:()=>[]},priceTrendData:{type:Array,default:()=>[]},priceTrendPercentData:{type:Array,default:()=>[]},brushRange:{type:Array,default:()=>[]},defaultMenuData:{type:Array,default:()=>[]},isSelect:{type:Boolean,default:()=>!1},config:{type:Object,default:()=>({})}},setup(n){const e=n,t={totalBarCount:2e3,defaultShowBarCount:200,preBarCount:800,maxValueSpan:1e4,gridLeft:60,gridTop:0,gridRight:60,gridBottom:30,warningConfig:{draggable:!1,lineColor:"#fff",textColor:"#fff"},positionConfig:{draggable:!1,lineColor:"#e45d07",textColor:"#fff"},conditionConfig:{draggable:!1,lineColor:"#fff",textColor:"#fff",profitLineColor:"#b71e44",profitTextColor:"#fff",lossLineColor:"#749b66",lossTextColor:"#fff"},tipsConfig:{open:!0,heigh:!0,low:!0,close:!0,business:!0,riseAndFall:!0},dynamicLoadConfig:{historyVisible:!1,historyLoadCallBack:()=>{},futureVisible:!1,futureLoadCallBack:()=>{}},zoomLock:!1,isOpenDS:!1},i=u.computed(()=>({...t,...e.config})),r=u.ref(null),o=u.ref(-1),s=u.computed(()=>{var P,A;if(r.value&&((A=(P=r.value.dataset[0])==null?void 0:P.source)!=null&&A.klineData[o.value])){const I=r.value.dataset[0].source.klineData[o.value],M=[],{open:R,heigh:F,low:W,close:G,business:q,riseAndFall:z}=i.value.tipsConfig;if(R&&M.push({label:"开",value:I[0],color:"rgb(153, 153, 153)"}),F&&M.push({label:"高",value:I[3],color:"rgb(153, 153, 153)"}),W&&M.push({label:"低",value:I[2],color:"rgb(153, 153, 153)"}),G&&M.push({label:"收",value:I[1],color:"rgb(153, 153, 153)"}),q&&M.push({label:"额",value:ylt(I[4]),color:"rgb(153, 153, 153)"}),z){let ae=((I[1]-I[5])/I[1]*100).toFixed(2),se=+ae==0?"white":+ae>0?"red":"#00ff00";M.push({label:"涨跌",value:`${ae}%`,color:se})}return M}return[]}),a=u.computed(()=>{var P,A;return r.value&&((A=(P=r.value.dataset[0])==null?void 0:P.source)!=null&&A.indicatorData)?r.value.dataset[0].source.indicatorData.reduce((I,M)=>(M.data[o.value]&&I.push({label:M.key,value:Oa(M.data[o.value]),color:M.color}),I),[]):[]}),l=u.computed(()=>{const P=["#FFFFFF","#FFDD00","#FF00FF","#00FF00","#FF6000","#1677FF","#7C3CC9","#FF0000","#FB9A0E","#00B7FF"];if(e.priceTrendData.length>0){const A=[];return e.priceTrendData.forEach((I,M)=>{var F;(I.data[o.value]?Oa(I.data[o.value][1]):null)!==null&&A.push({label:I.name,value:Oa((F=I.data[o.value])==null?void 0:F[1]),color:P[M]})}),A}if(e.priceTrendPercentData.length>0){const A=[];return m.getOption().series.filter(M=>M.name.includes("二腿价格走势百分比图")).forEach((M,R)=>{var W;(M.data[o.value]?Oa(M.data[o.value][1]):null)!==null&&A.push({label:M.name.split("-")[1],value:`${Oa((W=M.data[o.value])==null?void 0:W[1])}%`,color:P[R]})}),A}return[]});u.watch(()=>[e.klineData,e.indicator,e.markData,e.netPositionData,e.relevanceData],()=>{c()},{deep:!0}),u.watch(()=>e.lineData,async()=>{u5("st-kline组件消息:props.lineData监控,额外画线数据发生改变,重绘->line",{color:"red"}),c("line")},{deep:!0}),u.watch(()=>e.brushRange,async()=>{u5("st-kline组件消息:props.brushRange监控,区域刷选数据发生改变,重绘->brush",{color:"red"}),c("brush")},{deep:!0}),u.watch(()=>e.priceTrendData,async()=>{c("priceTrend")},{deep:!0}),u.watch(()=>e.priceTrendPercentData,async()=>{c("priceTrendPercent")},{deep:!0});const c=async P=>{const I=new Map([["kline",async()=>{const M=await ck(e.klineData,e.markData,e.indicator,i.value,e.netPositionData,e.relevanceData),{graphic:R}=m.getOption()??{graphic:[]};r.value={...M,graphic:R},m.setOption(r.value,!0),u5("st-kline组件消息:K线绘制完毕-draw",{color:"green"})}],["line",()=>{const M=m.getOption(),R=Nlt(e.lineData,i.value,m);r.value={...M,graphic:R},m.setOption(r.value,{replaceMerge:["graphic"]}),u5("st-kline组件消息:额外画线绘制完毕-draw",{color:"green"})}],["brush",()=>{const{brushRange:M}=e;M instanceof Array&&M.length>0&&(m.dispatchAction({type:"brush",areas:[{brushType:"lineX",coordRange:[M[0]+"",M[1]+""],xAxisIndex:0}]}),u5("st-kline组件消息:区域刷选绘制完毕-draw",{color:"green"}))}],[void 0,async()=>{await c("kline"),await c("line"),await c("priceTrend"),await c("priceTrendPercent"),await c("brush")}],["history",async()=>{const M=m.getOption(),R=await ck(e.klineData,e.markData,e.indicator,i.value,e.netPositionData,e.relevanceData),F=R.dataset.source.klineData.length-M.dataset[0].source.klineData.length;m.setOption({...R,dataZoom:[{type:"inside",xAxisIndex:[0,0],zoomLock:i.value.zoomLock,maxValueSpan:i.value.maxValueSpan,startValue:M.dataZoom[0].startValue+F,endValue:M.dataZoom[0].endValue+F}]},!0),await c("priceTrend")}],["future",async()=>{const M=m.getOption(),R=await ck(e.klineData,e.markData,e.indicator,i.value,e.netPositionData,e.relevanceData);R.dataZoom[0].start=(e.klineData.length-M.dataZoom[0].endValue+M.dataZoom[0].startValue)/e.klineData.length*100,m.setOption(R,!0),await c("priceTrend")}],["priceTrend",()=>{if(e.priceTrendData.length===0)return;const M=m.getOption(),R=["#FFFFFF","#FFDD00","#FF00FF","#00FF00","#FF6000","#1677FF","#7C3CC9","#FF0000","#FB9A0E","#00B7FF"],F=e.priceTrendData.reduce((W,G,q)=>{const{name:z,data:ae}=G,se={name:`二腿价格走势图-${z}`,type:"line",data:ae,symbol:"none",yAxisIndex:1,connectNulls:!0,itemStyle:{color:R[q]},lineStyle:{type:"dashed",width:1}};return W.push(se),W},[]);r.value={...M,series:[...M.series,...F]},m.setOption(r.value,{replaceMerge:["series"]})}],["priceTrendPercent",async()=>{if(e.priceTrendPercentData.length===0)return;const M=m.getOption(),R=["#FFFFFF","#FFDD00","#FF00FF","#00FF00","#FF6000","#1677FF","#7C3CC9","#FF0000","#FB9A0E","#00B7FF"],F=M.dataZoom[0].startValue,W=e.priceTrendPercentData.reduce((G,q,z)=>{const{name:ae,data:se}=q,ie=se.length>i.value.totalBarCount?se.slice(se.length-i.value.totalBarCount):se,ee=ie[F][1],oe=ie.map(pe=>[pe[0],(pe[1]-ee)/ee*100]),ce={name:`二腿价格走势百分比图-${ae}`,type:"line",data:oe,symbol:"none",yAxisIndex:1,connectNulls:!0,itemStyle:{color:R[z]},lineStyle:{type:"dashed",width:1}};return G.push(ce),G},[]);M.series=[...M.series.filter(G=>!G.name.includes("二腿价格走势百分比图")),...W],m.setOption(M,!0)}]]).get(P);I instanceof Function&&await I()},d=u.ref(!1),h=u.ref([]),f=P=>{const{callBack:A}=P;A instanceof Function&&A(m,d)},p=()=>{h.value=e.defaultMenuData},g=u.ref();let m,y;const _=(P,A)=>{var I,M;if(P)o.value=typeof((I=P==null?void 0:P.batch[0])==null?void 0:I.dataIndex)=="number"?(M=P==null?void 0:P.batch[0])==null?void 0:M.dataIndex:-1;else{const R=A.getOption();R.dataZoom instanceof Array&&(o.value=R.dataZoom[0].endValue)}};let v=null,b=!1,C=u.ref(!1),w=!1,x=u.ref(!1);const S=async P=>{const A=P.batch?P.batch[0].start*i.value.totalBarCount:P.startValue;i.value.dynamicLoadConfig.historyVisible&&A<=100&&!b&&!C.value&&(b=!0,await i.value.dynamicLoadConfig.historyLoadCallBack(C),await c("history"),b=!1);const I=P.batch?P.batch[0].end===100:P.endValue>=e.klineData.length-i.value.preBarCount-1,M=P.actionIsWheel;i.value.dynamicLoadConfig.futureVisible&&I&&!w&&!x.value&&!M&&(w=!0,await i.value.dynamicLoadConfig.futureLoadCallBack(x),await c("future"),w=!1),clearTimeout(v),v=setTimeout(()=>{c("line"),c("priceTrendPercent"),clearTimeout(v),v=null},Alt)};let N=null;const D=P=>{N=setTimeout(()=>{var A;if(P.componentType==="graphic"){const{oncontextmenu:I}=((A=P.info)==null?void 0:A.event)??{};I instanceof Function&&I(P,P.info,h)}clearTimeout(N),N=null})},E=()=>{m.on("highlight",P=>{_(P,m)}),m.on("globalout",()=>{_(null,m)}),m.on("contextmenu",P=>{D(P)}),m.on("datazoom",P=>{S(P)})},k=()=>{m.off("highlight"),m.off("globalout"),m.off("contextmenu"),m.off("datazoom")},L=P=>{if(!m||!(P.ctrlKey||e.isSelect))return;const A=m.getOption();let{startValue:I,endValue:M,start:R,end:F}=A.dataZoom[0];const W=()=>{I!==0&&(I=I-1,M=M-1,m.dispatchAction({type:"dataZoom",startValue:I,endValue:M,maxValueSpan:i.value.maxValueSpan}))},G=()=>{if(i.value.dynamicLoadConfig.futureVisible&&!w&&!x.value)I=I+1,M=M+1,m.dispatchAction({type:"dataZoom",startValue:I,endValue:M,maxValueSpan:i.value.maxValueSpan});else{if(M===A.xAxis[0].data.length-1)return;I=I+1,M=M+1,m.dispatchAction({type:"dataZoom",startValue:I,endValue:M,maxValueSpan:i.value.maxValueSpan})}},q=()=>{if(M-I<5)return;const ie=Math.floor((o.value-I)/2)+1,ee=Math.floor((M-o.value)/2)+1;I=I+ie,M=M-ee,m.dispatchAction({type:"dataZoom",startValue:I,endValue:M,actionIsWheel:!0,maxValueSpan:i.value.maxValueSpan})},z=()=>{R=R-(F-R)/4,m.dispatchAction({type:"dataZoom",start:R,end:F,actionIsWheel:!0,maxValueSpan:i.value.maxValueSpan})},se=new Map([["ArrowLeft",W],["ArrowRight",G],["ArrowUp",q],["ArrowDown",z]]).get(P.code);se instanceof Function&&se()},O=async()=>{let P=!0;m=Kr.init(g.value),await c(),h.value=e.defaultMenuData,o.value=m.getOption().dataZoom[0].endValue??-1,E(),y=new ResizeObserver(()=>{if(P){P=null;return}m.resize(),c("line")}),y.observe(g.value),window.addEventListener("keydown",L)};return u.onMounted(()=>{O()}),u.onUnmounted(()=>{k(),window.removeEventListener("keydown",L),m.dispose(),y.disconnect(),y=null}),(P,A)=>{const I=_z,M=bz;return u.openBlock(),u.createElementBlock("div",Mlt,[u.createElementVNode("div",Tlt,[u.createVNode(ik,{data:s.value},null,8,["data"]),u.createVNode(ik,{data:a.value},null,8,["data"]),u.createVNode(ik,{data:l.value},null,8,["data"])]),u.createVNode(bnt,{class:"st-kline-body",onCloseContextMenuCallBack:p},{popover:u.withCtx(()=>[u.createVNode(M,{class:"menu"},{default:u.withCtx(()=>[(u.openBlock(!0),u.createElementBlock(u.Fragment,null,u.renderList(h.value,R=>(u.openBlock(),u.createBlock(I,{key:R.label,index:R.label,class:"menuItem",onClick:F=>f(R)},{default:u.withCtx(()=>[u.createTextVNode(u.toDisplayString(R.label),1)]),_:2},1032,["index","onClick"]))),128))]),_:1})]),default:u.withCtx(()=>[u.createElementVNode("div",{ref_key:"echartsRef",ref:g,class:u.normalizeClass(d.value?"st-kline-chart cursorPen":"st-kline-chart")},null,2)]),_:1})])}}}),MAt="",TAt="",Rlt=en(Ilt,[["__scopeId","data-v-57c04894"]]),Olt={class:"kline-tips"},Flt=u.defineComponent({__name:"index",props:{data:{type:Array,require:!0}},setup(n){return(e,t)=>(u.openBlock(),u.createElementBlock("div",Olt,[(u.openBlock(!0),u.createElementBlock(u.Fragment,null,u.renderList(n.data,(i,r)=>(u.openBlock(),u.createElementBlock("div",{key:r,class:"kline-tips-item",style:u.normalizeStyle({color:i.color})},u.toDisplayString(i.label)+" "+u.toDisplayString(i.value),5))),128))]))}}),AAt="",dk=en(Flt,[["__scopeId","data-v-dc7d381b"]]),IAt="",Plt={class:"klineSub"},Blt={class:"klineSub-tips"},Vlt={key:0,class:"klineSub-tips-select"},zlt=en({__name:"index",props:{data:{type:Object,require:!0},activeIndex:{type:[Number,String],require:!0},modelValue:{type:String,required:!0},subIndicatorList:{type:Array,required:!0}},emits:["update:modelValue"],setup(n,{expose:e,emit:t}){const{round:i}=wl;let r,o;const s=t,a=n,l=u.ref(),c=u.computed({get(){return a.modelValue},set(f){s("update:modelValue",f)}}),d=u.computed(()=>{var g;const{data:f,activeIndex:p}=a;return((g=f==null?void 0:f.subIndicator)==null?void 0:g.map(m=>({label:m.key,color:m.color,value:m.data[p]||"-"})))||[]});u.onMounted(()=>{r=Kr.init(l.value);let f=!0;o=new ResizeObserver(()=>{if(f){f=null;return}r.resize()}),o.observe(l.value)}),u.onUnmounted(()=>{r.dispose(),o.disconnect(),o=null});const h=(f,p)=>{const g=f[p],m=p===0?f[p]:f[p-1];return g[0]===g[1]?g[0]>=m[1]?{color:"transparent",borderColor:"#FF0000"}:{color:"#00FFFF"}:g[1]>g[0]?{color:"transparent",borderColor:"#FF0000"}:{color:"#00FFFF"}};return e({connect:f=>{Kr.connect([f,r])},draw:(f,p)=>{u.nextTick(()=>{const{startValue:g,endValue:m,maxValueSpan:y}=f,{leftYAxisRange:_,rightYAxisRange:v}=a.data.subIndicator[0],b=a.data.subIndicator.map(C=>{if(C.series==="bar")return{name:"subMain",xAxisIndex:0,yAxisIndex:1,type:"bar",silent:!0,symbol:"none",data:C.data.map((w,x)=>C.seriesColor==="kline"?{value:w,itemStyle:h(a.data.data,x)}:C.seriesColor==="value"?{value:w,itemStyle:{color:w>=0?"#FF0000":"#00FFFF"}}:{value:w,itemStyle:{color:C.seriesColor}})};if(C.series==="line")return{xAxisIndex:0,yAxisIndex:C.yAxis==="right"?2:1,name:C.key,type:"line",silent:!0,symbol:"none",data:C.data,lineStyle:{width:1},itemStyle:{color:C.color}}});r.setOption({animation:!1,grid:{left:`${p.gridLeft}px`,top:"10px",right:`${p.gridRight}px`,bottom:"20px"},dataZoom:[{type:"inside",startValue:g,endValue:m,maxValueSpan:y}],tooltip:{trigger:"axis",appendToBody:!0,confine:!0,axisPointer:{type:"cross",label:{rich:{},formatter:C=>{const{axisDimension:w,value:x}=C;if(w==="x")return x;if(C.axisIndex===1)return String(i(x))}}},formatter:()=>""},xAxis:{type:"category",data:a.data.time,axisLine:{show:!0},splitLine:{show:!1},axisLabel:{show:!0,formatter:C=>C}},yAxis:[{position:"right"},{position:"left",min:_==="cover"?C=>C.min:null,max:_==="cover"?C=>C.max:null,splitNumber:1,axisLine:{show:!0},splitLine:{show:!0,lineStyle:{type:"dotted",color:"#333"}}},{position:"right",min:v==="cover"?C=>C.min:null,max:v==="cover"?C=>C.max:null,splitNumber:1,axisLine:{show:!1},splitLine:{show:!1},axisLabel:{show:!1}}],series:b},!0)})}}),(f,p)=>{const g=Ea,m=Na;return u.openBlock(),u.createElementBlock("div",Plt,[u.createElementVNode("div",Blt,[d.value.length?(u.openBlock(),u.createElementBlock("div",Vlt,[u.createVNode(m,{modelValue:c.value,"onUpdate:modelValue":p[0]||(p[0]=y=>c.value=y),size:"small","popper-class":"element-dark",class:"element-dark subIndicator"},{default:u.withCtx(()=>[(u.openBlock(!0),u.createElementBlock(u.Fragment,null,u.renderList(n.subIndicatorList,y=>(u.openBlock(),u.createBlock(g,{key:y.value,label:y.label,value:y.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])])):u.createCommentVNode("",!0),u.createVNode(dk,{data:d.value},null,8,["data"])]),u.createElementVNode("div",{class:"klineSub-chart",ref_key:"subChartRef",ref:l},null,512)])}}},[["__scopeId","data-v-aba58678"]]),OAt="",Hlt={class:"kline-tips"},jlt=en({__name:"index",props:{data:{type:Object,require:!0},activeIndex:{type:[Number,String],require:!0}},setup(n){const{round:e,formatValue:t}=wl,i=n,r=u.computed(()=>{const{data:s,activeIndex:a}=i;if(s.data&&s.data[a]){const l=s.data[a],c=[{label:"开",value:l[0]},{label:"高",value:l[3]},{label:"低",value:l[2]},{label:"收",value:l[1]}];l[4]!==null&&c.push({label:"额",value:t(l[4])});let d;return l[6]>0?d="red":l[6]<0&&(d="green"),c.push({label:"涨跌",value:`${e(l[6])}%`,color:d}),c}return[]}),o=u.computed(()=>{var l;const{data:s,activeIndex:a}=i;return((l=s==null?void 0:s.mainIndicator)==null?void 0:l.map(c=>({label:c.key,value:e(c.data[a]),color:c.color})))||[]});return(s,a)=>(u.openBlock(),u.createElementBlock("div",Hlt,[u.createVNode(dk,{data:r.value},null,8,["data"]),u.createVNode(dk,{data:o.value},null,8,["data"])]))}},[["__scopeId","data-v-09ec31e8"]]),Wlt={__name:"index",setup(n,{expose:e}){return e({handleKeyDown:(t,i)=>{let{startValue:r,endValue:o,maxIndex:s}=i;if(t.code==="ArrowLeft"){if(r===0)return;r=r-1,o=o-1}else if(t.code==="ArrowRight"){if(o===s)return;r=r+1,o=o+1}else if(t.code==="ArrowUp"){if(o-r<5)return;const a=Math.floor((o-r)/2)+1;r=r+a,o-r<5&&(r=o-4)}else if(t.code==="ArrowDown"){const a=Math.min(500,o-r);r=r-a-1}return{startValue:r,endValue:o}},mergeData:(t,i)=>({time:[...t.time,...i.time.slice(1)],data:[...t.data,...i.data.slice(1)],mainIndicator:t.mainIndicator.map((r,o)=>({...r,data:[...r.data,...i.mainIndicator[o].data.slice(1)]})),subIndicator:t.subIndicator.map((r,o)=>({...r,data:[...r.data,...i.subIndicator[o].data.slice(1)]}))}),getDataZoomInfoByTime:t=>{const{showStartTime:i,showEndTime:r,maxShowDays:o}=t;let s=-1,a=-1,l={};return t.time.forEach((c,d)=>{const h=c.split(" ")[0];l[h]=l[h]||0,l[h]+=1,s===-1&&new Date(c)>=new Date(i)&&(s=d),a===-1&&new Date(c)>=new Date(r)&&(a=d)}),a=a===-1?t.time.length-1:a,{startValue:s,endValue:a,maxValueSpan:Math.max(...Object.values(l))*o}}}),(t,i)=>null}},PAt="",$lt=en({__name:"index",props:{data:{type:Array,default:()=>[]}},emits:["change"],setup(n,{expose:e,emit:t}){let i,r,o=null;const s=t,a=n,l=u.ref();u.watch(()=>a.data,()=>{h()},{deep:!0}),u.onMounted(()=>{i=Kr.init(l.value),c(),h();let f=!0;r=new ResizeObserver(()=>{if(f){f=null;return}i.resize()}),r.observe(l.value)}),u.onUnmounted(()=>{i.off("datazoom"),i.dispose(),r.disconnect(),r=null});const c=()=>{i.on("datazoom",f=>{f.dataZoomId&&(clearTimeout(o),o=setTimeout(()=>{const{data:p}=a,{start:g,end:m}=f,y=Math.floor(g*p.length/100),_=m===100?p.length-1:Math.floor(m*p.length/100);d(y,_),clearTimeout(o)},100))})},d=(f,p)=>{const g=a.data;if(g.length===0)return;const m=g[f][0].split(" ")[0],y=g[p][0].split(" ")[0];s("change",{startTime:`${m} 00:00:00`,endTime:`${y} 24:00:00`})},h=()=>{const{data:f}=a;if(f.length===0)return;const p=f.map(m=>m[0].split(" ")[0]),g=f.map(m=>m[1]);i.setOption({grid:{height:0,left:"80px",right:"80px"},xAxis:{type:"category",data:p,show:!1},yAxis:{type:"value"},series:[{data:g,type:"line"}]},!0)};return e({resetSlide:(f,p,g)=>{let m=-1,y=-1;a.data.forEach((_,v)=>{m===-1&&_[0]===f?m=v:m===-1&&new Date(_[0])>new Date(f)&&(m=v-1),(y===-1&&_[0]===p||y===-1&&new Date(_[0])>new Date(p))&&(y=v)}),y=y===-1?a.data.length-1:y,i.setOption({dataZoom:[{show:!0,startValue:m,endValue:y,maxValueSpan:g,textStyle:{color:"#ccc"}},{type:"inside",startValue:m,endValue:y,maxValueSpan:g}]})},resize:()=>{i==null||i.resize()}}),(f,p)=>(u.openBlock(),u.createElementBlock("div",{class:"klineSlide",ref_key:"slideChartRef",ref:l},null,512))}},[["__scopeId","data-v-7a2f3dd0"]]),Ult={install(n){n.component("st-kline",Rlt),n.component("st-kline-sub-new",zlt),n.component("st-kline-tips-new",jlt),n.component("st-kline-slide-new",$lt),n.component("st-kline-utils-new",Wlt)}};let V2=null;const qlt=n=>{const e=CJ(n,{handleReq:t=>{SJ()&&(t.headers.token=xJ())},handleRes:t=>{const{data:i}=t;if(i.code===401)return location.origin.includes("localhost")?location.href=`${location.origin}/#/404`:ek(),!0}});e.get,V2=e.post},Klt=n=>V2("/middleLayer/kline/getKlineBasic",{...n,userId:_c("id")}),Glt=n=>V2("/middleLayer/kline/getKline",n),Ylt=async n=>V2("/alarm/deliversign/addAlarmPrice",{...n,userId:_c("id")}),Qlt=async n=>V2("/alarm/deliversign/findAlarmPriceByUserId",{...n,userId:_c("id")}),Lne=async n=>V2("/alarm/deliversign/updateAlarmPrice",{...n,userId:_c("id")}),Zlt=async n=>V2("/alarm/deliversign/deleteAlarmPrice",{...n,userId:_c("id")}),{round:z2}=wl,Xlt=(n,e,t,i,r)=>{const{data:o,time:s}=n,{gridTop:a,gridRight:l,gridLeft:c,maxShowCounts:d,showSubChart:h}=e;return{animation:!1,grid:{top:`${a}px`,right:`${l}px`,bottom:h?"6px":"24px",left:`${c}px`},dataZoom:[{type:"inside",startValue:t,endValue:i,maxValueSpan:d}],tooltip:{trigger:"axis",appendToBody:!0,confine:!0,axisPointer:{type:"cross",label:{rich:{},formatter:f=>{const{axisDimension:p,value:g}=f;return p==="x"?h?"":["6","7","8"].includes(r)?Dt(g).format("YYYY-MM-DD"):g:String(z2(g))}}},formatter:()=>""},xAxis:{show:!h,type:"category",data:s,splitLine:{show:!1},axisLabel:{formatter:f=>["6","7","8"].includes(r)?Dt(f).format("YYYY-MM-DD"):f}},yAxis:{type:"value",axisLine:{show:!0},splitLine:{show:!0,lineStyle:{type:"dotted",color:"#333"}},min:f=>z2(f.min),max:f=>z2(f.max)},series:[{type:"candlestick",data:o,itemStyle:{color:"transparent",color0:"#00FFFF",borderColor:"#FF0000",borderColor0:"#00FFFF",borderWidth:1}},...n.mainIndicator.map(f=>({name:f.key,type:"line",silent:!0,symbol:"none",data:f.data,lineStyle:{width:f.width||1},itemStyle:{color:f.color}}))],toolbox:{show:!1},brush:{xAxisIndex:"all",brushLink:"all",transformable:!1,outOfBrush:{colorAlpha:2},brushStyle:{color:"rgba(255,255,255,0.1)",borderColor:"rgba(255,255,255,0.4)"}}}},Jlt=(n,e,t,i,r)=>{const{variety:o,featureId:s,featureType:a}=t,{gridTop:l,gridLeft:c,gridRight:d}=i;return e.reduce((h,f)=>{const{warnPrice:p}=f,g=n==null?void 0:n.convertToPixel({yAxisIndex:0},p);if(g<=l||g>=(n==null?void 0:n.getHeight()))return h;let m=0;return[...h,{type:"group",name:"warningLine",info:f,draggable:"vertical",children:[{type:"line",info:f,shape:{x1:c,y1:g,x2:(n==null?void 0:n.getWidth())-d,y2:g},style:{stroke:"#FFF",lineWidth:1,lineDash:[8,4]},z:10},{type:"text",info:f,x:(n==null?void 0:n.getWidth())-d,y:g-5,style:{fill:"#FFF",text:p,stroke:"#000",lineWidth:1,opacity:1},z:10}],ondragstart:y=>{m=y.offsetY},ondrag:y=>{var _;if(y.target&&y.target.childAt(1)){const v=n.convertFromPixel({yAxisIndex:0},g+(y.offsetY-m));(_=y.target.childAt(1))==null||_.animate("style",!1).when(1,{text:z2(v,3)}).start()}},ondragend:async y=>{const v=y.offsetY-m;if(v!==0){const b=n==null?void 0:n.convertFromPixel({yAxisIndex:0},v+g),C={id:f.id,warnPrice:z2(b,3),featureId:s,featureCode:o,featureType:a};await Lne(C),At.success("画线预警修改成功"),r&&r()}}}]},[])};function Mne(n){function e(i){if(typeof i=="number")return Number.isFinite(i)?i:null;if(typeof i=="string"){const r=i.trim();if(r==="")return null;const o=Number(r);return Number.isFinite(o)?o:null}return null}const t=e(n);if(t===null)return"-";try{if(t>=1||t<=-1)return z2(t);{const i=t.toPrecision(3);return z2(i,i.split(".")[1].length-1)}}catch{return"-"}}const eut=u.defineComponent({__name:"index",props:{data:{type:Array,require:!0}},setup(n){const e=n,t=u.ref(null),i=u.ref([]);return u.watch(()=>e.data,()=>{i.value.length===0&&u.nextTick(()=>{Array.from(t.value.children).forEach((r,o)=>{var s,a,l,c,d,h,f,p;((a=(s=e.data)==null?void 0:s[o])==null?void 0:a.label)==="涨跌"?i.value[o]="85px":((c=(l=e.data)==null?void 0:l[o])==null?void 0:c.label)==="至今涨幅"?i.value[o]="115px":((h=(d=e.data)==null?void 0:d[o])==null?void 0:h.label)==="额"?i.value[o]="85px":["开","高","低","收"].includes((p=(f=e.data)==null?void 0:f[o])==null?void 0:p.label)?i.value[o]=`${r.offsetWidth+24}px`:i.value[o]=`${r.offsetWidth+36}px`})})}),(r,o)=>(u.openBlock(),u.createElementBlock("div",{class:"kline-tips",ref_key:"tipsRef",ref:t},[(u.openBlock(!0),u.createElementBlock(u.Fragment,null,u.renderList(n.data,(s,a)=>(u.openBlock(),u.createElementBlock("div",{key:a,class:"kline-tips-item",style:u.normalizeStyle({color:s.color,width:i.value[a]?i.value[a]:null})},u.toDisplayString(s.label)+" "+u.toDisplayString(s.value),5))),128))],512))}}),VAt="",Tne=en(eut,[["__scopeId","data-v-096c0d10"]]),zAt="",tut={class:"kline-tips"},nut=en({__name:"index",props:{data:{type:Object,require:!0},activeIndex:{type:[Number,String],require:!0},variety:{type:[String,Number],default:()=>null}},setup(n){const{round:e,formatValue:t}=wl,i=n,r=u.ref(null);u.watch(()=>i.activeIndex,()=>{var a;r.value===null&&(r.value=((a=i.data.data[i.activeIndex])==null?void 0:a[1])??0)}),u.watch(()=>i.data,()=>{var a;r.value===null&&(r.value=((a=i.data.data[i.activeIndex])==null?void 0:a[1])??0)}),u.watch(()=>i.variety,()=>{r.value=null});const o=u.computed(()=>{const{data:a,activeIndex:l}=i;if(a.data&&a.data[l]){const c=a.data[l],d=[{label:"开",value:c[0]},{label:"高",value:c[3]},{label:"低",value:c[2]},{label:"收",value:c[1]}];c[4]!==null&&d.push({label:"额",value:t(c[4])});let h;c[6]>0?h="red":c[6]<0&&(h="green"),d.push({label:"涨跌",value:`${e(c[6])}%`,color:h});const f=(r.value/c[1]-1)*100;let p;return f>0?p="red":f<0&&(p="green"),d.push({label:"至今涨幅",value:`${e(f)}%`,color:p}),d}return[]}),s=u.computed(()=>{var c;const{data:a,activeIndex:l}=i;return((c=a==null?void 0:a.mainIndicator)==null?void 0:c.map(d=>({label:d.key,value:Mne(d.data[l]),color:d.color})))||[]});return(a,l)=>(u.openBlock(),u.createElementBlock("div",tut,[u.createVNode(Tne,{data:o.value},null,8,["data"]),u.createVNode(Tne,{data:s.value},null,8,["data"])]))}},[["__scopeId","data-v-832d18ff"]]),iut={class:"kline-averageTips"},rut=u.defineComponent({__name:"index",props:{data:{type:Array,require:!0}},setup(n){return(e,t)=>(u.openBlock(),u.createElementBlock("div",iut,[(u.openBlock(!0),u.createElementBlock(u.Fragment,null,u.renderList(n.data,(i,r)=>(u.openBlock(),u.createElementBlock("div",{key:r,class:"kline-averageTips-item",style:u.normalizeStyle({color:i.color})},u.toDisplayString(i.label)+" "+u.toDisplayString(i.value),5))),128))]))}}),jAt="",out=en(rut,[["__scopeId","data-v-2ce54548"]]),WAt="",sut={class:"klineSub"},aut={class:"klineSub-tips"},lut={key:0,class:"klineSub-tips-select"},uut=en({__name:"index",props:{cycle:{type:[String,Number],default:()=>null},data:{type:Object,require:!0},activeIndex:{type:[Number,String],require:!0},modelValue:{type:String,required:!0},subIndicatorList:{type:Array,required:!0}},emits:["update:modelValue"],setup(n,{expose:e,emit:t}){const{round:i}=wl;let r=null,o=null;const s=u.ref(!0),a=t,l=n,c=u.ref(),d=u.computed({get(){return l.modelValue},set(p){a("update:modelValue",p)}}),h=u.computed(()=>{var m;if(!s.value)return[];const{data:p,activeIndex:g}=l;return((m=p==null?void 0:p.subIndicator)==null?void 0:m.map(y=>({label:y.key,color:y.color,value:Mne(y.data[g])})))||[]});u.onMounted(()=>{if(s.value=!0,!c.value)return;r=Kr.init(c.value);let p=!0;o=new ResizeObserver(()=>{if(p){p=!1;return}s.value&&r&&!r.isDisposed()&&r.resize()}),o.observe(c.value)}),u.onUnmounted(()=>{s.value=!1,r&&!r.isDisposed()&&(r.dispose(),r=null),o&&(o.disconnect(),o=null)});const f=(p,g)=>{const m=p[g],y=g===0?p[g]:p[g-1];return m[0]===m[1]?m[0]>=y[1]?{color:"transparent",borderColor:"#FF0000"}:{color:"#00FFFF"}:m[1]>m[0]?{color:"transparent",borderColor:"#FF0000"}:{color:"#00FFFF"}};return e({connect:p=>{!s.value||!r||r.isDisposed()||Kr.connect([p,r])},draw:(p,g)=>{!s.value||!r||r.isDisposed()||u.nextTick(()=>{if(!s.value||!r||r.isDisposed())return;const{startValue:m,endValue:y,maxValueSpan:_}=p,{leftYAxisRange:v,rightYAxisRange:b}=l.data.subIndicator[0],C=l.data.subIndicator.map(w=>{if(w.series==="bar")return{name:"subMain",xAxisIndex:0,yAxisIndex:1,type:"bar",silent:!0,symbol:"none",data:w.data.map((x,S)=>w.seriesColor==="kline"?{value:x,itemStyle:f(l.data.data,S)}:w.seriesColor==="value"?{value:x,itemStyle:{color:x>=0?"#FF0000":"#00FFFF"}}:{value:x,itemStyle:{color:w.seriesColor}})};if(w.series==="line")return{xAxisIndex:0,yAxisIndex:w.yAxis==="right"?2:1,name:w.key,type:"line",silent:!0,symbol:"none",data:w.data,lineStyle:{width:1},itemStyle:{color:w.color}}});r.setOption({animation:!1,grid:{left:`${g.gridLeft}px`,top:"10px",right:`${g.gridRight}px`,bottom:"20px"},dataZoom:[{type:"inside",startValue:m,endValue:y,maxValueSpan:_}],tooltip:{trigger:"axis",appendToBody:!0,confine:!0,axisPointer:{type:"cross",label:{rich:{},formatter:w=>{const{axisDimension:x,value:S}=w;if(x==="x")return["6","7","8"].includes(l.cycle)?Dt(S).format("YYYY-MM-DD"):S;if(w.axisIndex===1)return String(i(S))}}},formatter:()=>""},xAxis:{type:"category",data:l.data.time,axisLine:{show:!0},splitLine:{show:!1},axisLabel:{formatter:w=>["6","7","8"].includes(l.cycle)?Dt(w).format("YYYY-MM-DD"):w}},yAxis:[{position:"right"},{position:"left",min:v==="cover"?w=>w.min:null,max:v==="cover"?w=>w.max:null,splitNumber:1,axisLine:{show:!0},splitLine:{show:!0,lineStyle:{type:"dotted",color:"#333"}}},{position:"right",min:b==="cover"?w=>w.min:null,max:b==="cover"?w=>w.max:null,splitNumber:1,axisLine:{show:!1},splitLine:{show:!1},axisLabel:{show:!1}}],series:C},!0)})}}),(p,g)=>{const m=Ea,y=Na;return u.openBlock(),u.createElementBlock("div",sut,[u.createElementVNode("div",aut,[h.value.length?(u.openBlock(),u.createElementBlock("div",lut,[u.createVNode(y,{modelValue:d.value,"onUpdate:modelValue":g[0]||(g[0]=_=>d.value=_),size:"small","popper-class":"element-dark",class:"element-dark subIndicator"},{default:u.withCtx(()=>[(u.openBlock(!0),u.createElementBlock(u.Fragment,null,u.renderList(n.subIndicatorList,_=>(u.openBlock(),u.createBlock(m,{key:_.value,label:_.label,value:_.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])])):u.createCommentVNode("",!0),u.createVNode(out,{data:h.value},null,8,["data"])]),u.createElementVNode("div",{class:"klineSub-chart",ref_key:"subChartRef",ref:c},null,512)])}}},[["__scopeId","data-v-d720c2c7"]]),cut=u.defineComponent({__name:"index",emits:["closeContextMenuCallBack"],setup(n,{emit:e}){const t=e,i=u.ref(),r=u.ref(),o=u.ref({display:"none",top:"0px",left:"0px"}),s=()=>{o.value.display="none",t("closeContextMenuCallBack"),document.removeEventListener("click",s)},a=l=>{if(l.preventDefault(),o.value.display==="block"){const{offsetX:c,offsetY:d}=l,{offsetWidth:h,offsetHeight:f}=r.value;if(c<=h&&d<=f)return}i.value.click(),o.value={display:"block",top:`${l.offsetY}px`,left:`${l.offsetX}px`},u.nextTick(()=>{const c=i.value.getBoundingClientRect(),d=r.value.getBoundingClientRect();d.left+d.width>=c.right&&(o.value.left=`${l.offsetX-d.width}px`),d.top+d.height>=c.bottom&&(console.log("高度超出"),o.value.top=`${l.offsetY-d.height}px`)}),document.addEventListener("click",s)};return(l,c)=>(u.openBlock(),u.createElementBlock("div",{ref_key:"contextmenuRef",ref:i,class:"contextmenu",onContextmenu:a,onMouseleave:s},[u.renderSlot(l.$slots,"default",{},void 0,!0),o.value.display!=="none"?(u.openBlock(),u.createElementBlock("div",{key:0,ref_key:"contextmenuContentRef",ref:r,class:"contextmenu-popover",style:u.normalizeStyle(o.value)},[u.renderSlot(l.$slots,"popover",{},void 0,!0)],4)):u.createCommentVNode("",!0)],544))}}),UAt="",dut=en(cut,[["__scopeId","data-v-811db6b4"]]),qAt="",Ane=n=>(u.pushScopeId("data-v-ae370bef"),n=n(),u.popScopeId(),n),hut={key:0,class:"klineBasic-tips"},fut={key:1,class:"klineBasic-sub"},put={key:2,class:"klineBasic-empty"},gut={key:3,class:"klineBasic-error"},mut=Ane(()=>u.createElementVNode("div",{class:"klineBasic-error-content"},"加载失败,请刷新重试",-1)),but={style:{"text-align":"center"}},_ut=Ane(()=>u.createElementVNode("span",{style:{"margin-right":"10px"}},"预警价格:",-1)),yut={class:"dialog-footer"},vut=en({__name:"index",props:{variety:{type:[String,Number],default:()=>null},varietyName:{type:[String,Number],default:()=>null},featureId:{type:[String,Number],default:()=>null},featureType:{type:[String,Number],default:()=>null},cycle:{type:[String,Number],default:()=>null},mainIndicator:{type:String,default:()=>""},indicatorStore:{type:Object,default:()=>null},startTime:{type:String,default:()=>null},endTime:{type:String,default:()=>null},right:{type:[String,Number],default:1},config:{type:Object,default:()=>({})},env:{type:Object,default:()=>({})},brushRange:{type:[Array,null],default:()=>null}},emits:["change","getFactorData"],setup(n,{expose:e,emit:t}){const i=[{label:"画线预警",key:"drawWarningLine"}];let r=null,o=null,s=null,a=null,l=null,c=!1,d=!1;const h=t,f=n,p=u.ref(!1),g=u.ref(!1),m=u.ref(!1),y=u.ref(null),_=u.ref(null),v=u.ref("VOL"),b=u.ref(0),C=u.ref({}),w=u.ref([]),x=u.ref({}),S=u.ref(!1),N=u.ref(""),D=u.ref([...i]),E=u.computed(()=>({defaultShowCounts:500,addCounts:2e3,maxShowCounts:5e3,loadCheckCounts:500,gridTop:48,gridLeft:80,gridRight:50,showSubChart:!0,showWarningLine:!0,getFactorData:!0,...f.config})),k=()=>{o||(o=Kr.init(y.value),G(),E.value.showSubChart&&_.value.connect(o),r=wJ(y.value),r.listen(()=>{requestAnimationFrame(()=>{o==null||o.resize(),I()})}))},L=()=>{o&&!o.isDisposed()&&o.hideLoading()},O=(ie=!1)=>{s&&(cancelAnimationFrame(s),s=null),s=requestAnimationFrame(()=>{P(ie),s=requestAnimationFrame(()=>{A(),s=requestAnimationFrame(()=>{I(),s=null})})})},P=(ie=!1)=>{var me,Se,te;if(!o||o.isDisposed())return;const{time:ee}=C.value,{defaultShowCounts:oe}=E.value;let ce=ee.length-1-oe,pe=ee.length-1;if(ie&&o){const j=o.getOption(),Q=(Se=(me=j==null?void 0:j.xAxis)==null?void 0:me[0])==null?void 0:Se.data,ne=(te=j==null?void 0:j.dataZoom)==null?void 0:te[0];if(Q!=null&&Q.length&&ne){const J=Q[ne.startValue],re=Q[ne.endValue];if(J&&re){const Y=ee.findIndex(X=>new Date(X).getTime()>=new Date(J).getTime()),Z=ee.findLastIndex(X=>new Date(X).getTime()<=new Date(re).getTime());ce=Y!==-1?Y:0,pe=Z!==-1?Z:ee.length-1,ce>pe&&(ce=Math.max(0,pe-Math.min(100,ee.length-1)))}}}const le=Xlt(C.value,E.value,ce,pe,f.cycle);requestAnimationFrame(()=>{o==null||o.setOption(le,!0),b.value=pe,requestAnimationFrame(()=>{M()})})},A=()=>{var Se;if(!E.value.showSubChart||!_.value)return;const{time:ie}=C.value,{gridLeft:ee,gridRight:oe,maxShowCounts:ce,defaultShowCounts:pe}=E.value;let le=ie.length-1-pe,me=ie.length-1;if(o&&!o.isDisposed()){const te=o.getOption();if((Se=te==null?void 0:te.dataZoom)!=null&&Se[0]){const{startValue:j,endValue:Q}=te.dataZoom[0];j!==void 0&&Q!==void 0&&(le=j,me=Q)}}requestAnimationFrame(()=>{_.value.draw({startValue:le,endValue:me,maxValueSpan:ce},{gridLeft:ee,gridRight:oe})})},I=()=>{o&&(a&&(cancelAnimationFrame(a),a=null),a=requestAnimationFrame(()=>{if(!(o==null?void 0:o.getOption()))return;const ee=o==null?void 0:o.getWidth(),oe=o==null?void 0:o.getHeight();!ee||!oe||(o==null||o.setOption({graphic:Jlt(o,w.value,f,E.value,()=>{q()})},{notMerge:!1,replaceMerge:["graphic"],lazyUpdate:!0}),a=null)}))},M=()=>{l&&cancelAnimationFrame(l),l=requestAnimationFrame(()=>{const{time:ie}=C.value;if(!f.brushRange||!(ie!=null&&ie.length)||!o)return;let ee=Dt(f.brushRange[0]).format("YYYY-MM-DD 00:00:00"),oe=Dt(f.brushRange[1]).format("YYYY-MM-DD 23:59:59"),ce=null,pe=null;switch(String(f.cycle)){case"6":{ce=ie.find(le=>Dt(le).format("YYYY-MM-DD")===Dt(ee).format("YYYY-MM-DD")),pe=ce;break}case"7":{ce=ie.find(le=>Dt(le).day(5).format("YYYY-MM-DD")===Dt(ee).day(5).format("YYYY-MM-DD")),pe=ie.findLast(le=>Dt(le).day(5).format("YYYY-MM-DD")===Dt(oe).day(5).format("YYYY-MM-DD"));break}case"8":{ce=ie.find(le=>Dt(le).endOf("month").format("YYYY-MM-DD")===Dt(ee).endOf("month").format("YYYY-MM-DD")),pe=ie.findLast(le=>Dt(le).endOf("month").format("YYYY-MM-DD")===Dt(oe).endOf("month").format("YYYY-MM-DD"));break}default:ce=ie.find(le=>{const me=Dt(le).format("YYYY-MM-DD")===Dt(ee).format("YYYY-MM-DD"),Se=new Date(le).getTime()>=new Date(ee).getTime();return me&&Se}),pe=ie.findLast(le=>{const me=Dt(le).format("YYYY-MM-DD")===Dt(oe).format("YYYY-MM-DD"),Se=new Date(le).getTime()<=new Date(oe).getTime();return me&&Se})}ce&&pe&&o.dispatchAction({type:"brush",areas:[{brushType:"lineX",coordRange:[ce,pe],xAxisIndex:0}]}),l=null})},R=async()=>{var ie,ee,oe,ce,pe,le;try{if(!f.variety||!f.cycle)return;const{variety:me,featureId:Se,cycle:te,indicatorStore:j,mainIndicator:Q,right:ne,startTime:J,endTime:re}=f,{defaultShowCounts:Y,addCounts:Z,showWarningLine:X,getFactorData:V}=E.value;k(),o&&!o.isDisposed()&&o.showLoading({text:"加载中...",color:"#409eff",textColor:"#fff",maskColor:"rgba(0, 0, 0, 0.7)",zlevel:0});const B={variety:me,featureId:Se,cycle:te,mainIndicatorList:j.getIndicatorParams(Q),subIndicator:v.value,right:ne,showWarningLine:X,getFactorData:V};J&&re?(B.startTime=J,B.endTime=re):J?(B.startTime=J,B.limit=Z):re?(B.endTime=re,B.limit=Z):(B.endTime=Dt().add(1,"hour").format("YYYY-MM-DD HH:mm:ss"),B.limit=Z);const U=await Klt(B);if(!((oe=(ee=(ie=U==null?void 0:U.body)==null?void 0:ie.kline)==null?void 0:ee.time)!=null&&oe.length)){g.value=!0,m.value=!1,L();return}g.value=!1,m.value=!1,C.value=(ce=U==null?void 0:U.body)==null?void 0:ce.kline,w.value=((pe=U==null?void 0:U.body)==null?void 0:pe.warningLine)||[],await u.nextTick(),O(!1),V&&h("getFactorData",(le=U==null?void 0:U.body)==null?void 0:le.factor),L()}catch(me){throw L(),m.value=!0,g.value=!1,new Error(me)}},F=async ie=>{const{variety:ee,cycle:oe,indicatorStore:ce,mainIndicator:pe,right:le}=f,{addCounts:me}=E.value,{time:Se}=C.value;if(ie==="history"){const te=await Glt({variety:ee,cycle:oe,endTime:Se[0],limit:me,mainIndicatorList:ce.getIndicatorParams(pe),subIndicator:v.value,right:le});C.value={time:[...te.body.time,...C.value.time.slice(1)],data:[...te.body.data,...C.value.data.slice(1)],mainIndicator:C.value.mainIndicator.map((j,Q)=>{var ne;return{...j,data:[...((ne=te.body.mainIndicator[Q])==null?void 0:ne.data)??[],...j.data.slice(1)]}}),subIndicator:C.value.subIndicator.map((j,Q)=>{var ne;return{...j,data:[...((ne=te.body.subIndicator[Q])==null?void 0:ne.data)??[],...j.data.slice(1)]}})},console.log("触发了加载更多数据"),await u.nextTick(),O(!0),te.body.data.length<me&&(d=!0,console.log("历史数据已经全部加载完毕")),c=!1}},W=({code:ie,ctrlKey:ee})=>{if(!(ee||p.value))return;const{xAxis:oe,dataZoom:ce}=o.getOption(),{data:pe}=(oe==null?void 0:oe[0])??{data:[]};let{startValue:le,endValue:me}=(ce==null?void 0:ce[0])??{};if(pe!=null&&pe.length){switch(ie){case"ArrowUp":{if(me-le<5)return;const Se=Math.floor((me-le)/2)+1;le=le+Se,me-le<5&&(le=me-4);break}case"ArrowDown":{const Se=Math.min(500,me-le);le=le-Se-1;break}case"ArrowLeft":{le>0&&(le-=1,me-=1),b.value>0&&(b.value-=1);break}case"ArrowRight":{me<pe.length-1&&(le+=1,me+=1),p.value&&b.value<pe.length-1&&(b.value+=1);break}}requestAnimationFrame(()=>{o.dispatchAction({type:"dataZoom",startValue:le,endValue:me}),o.dispatchAction({type:"updateAxisPointer",seriesIndex:0,dataIndex:p.value?b.value:null}),o.dispatchAction({type:"highlight",dataIndex:p.value?b.value:me})})}},G=()=>{o==null||o.on("datazoom",Ra(ie=>{var oe,ce,pe,le;const{loadCheckCounts:ee}=E.value;if((ce=(oe=o==null?void 0:o.getOption())==null?void 0:oe.dataZoom)!=null&&ce[0]){const{startValue:me}=(le=(pe=o==null?void 0:o.getOption())==null?void 0:pe.dataZoom)==null?void 0:le[0];me<ee&&!c&&!d&&(c=!0,F("history")),I()}},100)),o==null||o.on("highlight",Ra(ie=>{var oe,ce;let ee=ie.dataIndex||-1;ie.batch&&(ee=typeof((oe=ie==null?void 0:ie.batch[0])==null?void 0:oe.dataIndex)=="number"?(ce=ie==null?void 0:ie.batch[0])==null?void 0:ce.dataIndex:-1),b.value=ee},20)),o==null||o.on("globalout",Ra(()=>{var ie,ee,oe;if(o){const ce=(oe=(ee=(ie=o==null?void 0:o.getOption())==null?void 0:ie.dataZoom)==null?void 0:ee[0])==null?void 0:oe.endValue;b.value=ce}},30)),o==null||o.on("contextmenu",Ra(ie=>{ie.componentType==="graphic"&&(x.value=ie.info,D.value=[{label:"删除画线",key:"deleteWarningLine"},{label:"修改画线",key:"changeWarningLine"}])},0))},q=async()=>{const ie=await Qlt({featureId:f.featureId});w.value=(ie==null?void 0:ie.body)||[],I(),h("change","warningLine",w.value)},z=async ie=>{const{variety:ee,varietyName:oe,featureId:ce,featureType:pe}=f;if(ie.key==="drawWarningLine"){const le=o==null?void 0:o.getOption(),me=le.tooltip[0];o==null||o.setOption({...le,tooltip:{...me,axisPointer:{...me.axisPointer,lineStyle:{width:0},crossStyle:{width:2},label:{...me.axisPointer.label,backgroundColor:"transparent",formatter:()=>""}}}});const Se=async te=>{o==null||o.getZr().off("mousedown",Se);const j=o==null?void 0:o.convertFromPixel({yAxisIndex:0},te.offsetY),Q=Math.round(j*1e3)/1e3;o==null||o.setOption({...le,tooltip:{...me,axisPointer:{...me.axisPointer,lineStyle:{width:1},crossStyle:{width:1},label:{...me.axisPointer.label,backgroundColor:null}}}}),await Ylt({featureCode:ee,featureName:oe,featureId:ce,featureType:pe,warnPrice:Q}),At.success("画线预警成功!"),q()};o==null||o.getZr().on("mousedown",Se)}else ie.key==="deleteWarningLine"?(await Zlt({id:x.value.id}),At.success("画线预警删除成功"),q()):ie.key==="changeWarningLine"&&(S.value=!0,N.value=x.value.warnPrice)},ae=async()=>{const{variety:ie,varietyName:ee,featureId:oe,featureType:ce}=f;await Lne({id:x.value.id,featureCode:ie,featureName:ee,featureId:oe,featureType:ce,warnPrice:N.value}),At.success("画线预警修改成功"),q()},se=()=>{D.value=[...i]};return u.onMounted(()=>{qlt(f.env),R(),window.addEventListener("keydown",W)}),u.watch(()=>{var ie,ee;return[f.variety,f.cycle,f.mainIndicator,v.value,(ie=f.indicatorStore)==null?void 0:ie.filterIndicator,(ee=f.indicatorStore)==null?void 0:ee.customIndicator]},()=>{c=!1,d=!1,R()},{deep:!0}),u.onUnmounted(()=>{s&&(cancelAnimationFrame(s),s=null),a&&(cancelAnimationFrame(a),a=null),o==null||o.off("datazoom"),o==null||o.off("highlight"),o==null||o.off("globalout"),o==null||o.dispose(),r==null||r.dispose(),window.removeEventListener("keydown",W)}),e({draw:(ie,ee)=>{ie==="warningLine"&&(w.value=ee,I())}}),(ie,ee)=>{var te,j;const oe=_z,ce=bz,pe=$h,le=ir,me=P6,Se=ea;return u.openBlock(),u.createElementBlock(u.Fragment,null,[u.createElementVNode("div",{class:"klineBasic",onMousemove:ee[1]||(ee[1]=Q=>p.value=!0),onMouseout:ee[2]||(ee[2]=Q=>p.value=!1)},[(te=C.value.time)!=null&&te.length?(u.openBlock(),u.createElementBlock("div",hut,[u.createVNode(nut,{variety:n.variety,data:C.value,activeIndex:b.value},null,8,["variety","data","activeIndex"])])):u.createCommentVNode("",!0),u.createElementVNode("div",{class:"klineBasic-main",style:u.normalizeStyle({height:E.value.showSubChart?"70%":"100%"})},[u.createVNode(dut,{onCloseContextMenuCallBack:se},{popover:u.withCtx(()=>[u.createVNode(ce,{style:{borderRadius:"4px",overflow:"hidden",background:"#fff",borderRight:0}},{default:u.withCtx(()=>[(u.openBlock(!0),u.createElementBlock(u.Fragment,null,u.renderList(D.value,Q=>(u.openBlock(),u.createBlock(oe,{style:{height:"36px"},key:Q.key,index:Q.key,onClick:ne=>z(Q)},{default:u.withCtx(()=>[u.createTextVNode(u.toDisplayString(Q.label),1)]),_:2},1032,["index","onClick"]))),128))]),_:1})]),default:u.withCtx(()=>[u.createElementVNode("div",{ref_key:"klineBasicMainRef",ref:y,style:{height:"100%"}},null,512)]),_:1})],4),E.value.showSubChart?(u.openBlock(),u.createElementBlock("div",fut,[u.createVNode(uut,{ref_key:"klineSubRef",ref:_,modelValue:v.value,"onUpdate:modelValue":ee[0]||(ee[0]=Q=>v.value=Q),data:C.value,cycle:n.cycle,activeIndex:b.value,subIndicatorList:(j=n.indicatorStore)==null?void 0:j.subIndicatorList},null,8,["modelValue","data","cycle","activeIndex","subIndicatorList"])])):u.createCommentVNode("",!0),g.value?(u.openBlock(),u.createElementBlock("div",put,[u.createVNode(pe,{class:"klineBasic-empty-content",description:"暂无数据"})])):u.createCommentVNode("",!0),m.value?(u.openBlock(),u.createElementBlock("div",gut,[mut,u.createElementVNode("div",but,[u.createVNode(le,{onClick:R},{default:u.withCtx(()=>[u.createTextVNode("刷新")]),_:1})])])):u.createCommentVNode("",!0)],32),u.createVNode(Se,{modelValue:S.value,"onUpdate:modelValue":ee[5]||(ee[5]=Q=>S.value=Q),title:"画线预警-修改价格",width:"30%","align-center":""},{footer:u.withCtx(()=>[u.createElementVNode("span",yut,[u.createVNode(le,{onClick:ee[4]||(ee[4]=Q=>S.value=!1)},{default:u.withCtx(()=>[u.createTextVNode("取消")]),_:1}),u.createVNode(le,{type:"primary",onClick:ae},{default:u.withCtx(()=>[u.createTextVNode("确定")]),_:1})])]),default:u.withCtx(()=>[_ut,u.createVNode(me,{modelValue:N.value,"onUpdate:modelValue":ee[3]||(ee[3]=Q=>N.value=Q),placeholder:"输入预警价格"},null,8,["modelValue"])]),_:1},8,["modelValue"])],64)}}},[["__scopeId","data-v-ae370bef"]]),Cut={install(n){n.component("st-klineBasic",vut)}},GAt="",YAt="",wut=[{label:"买卖",value:0},{label:"开平",value:1}],w_=()=>({mainIndicator:"MA",sellBuy:1,sellBuyByPrice:1,singelCycle:"6",multiCycleNum:6,multiCycleList:["1","2","3","4","5","6"],pageType:1,enable_tradeLogBrush:!0,enable_showScreenTimeRange:!0,enable_showScreenMaxPrice:!0,enable_dbClickOpenSingel:!0,enable_subChart:!0,enable_sliderChart:!0}),xut=(n,e)=>{var t;return((t=e.find(i=>i.value===n))==null?void 0:t.label)??"-"},QAt="",xl=n=>(u.pushScopeId("data-v-6e5050a9"),n=n(),u.popScopeId(),n),Sut={class:"kline-config element-dark"},Dut={class:"setting-item"},Nut=xl(()=>u.createElementVNode("span",{class:"label"},"主图指标: ",-1)),Eut={class:"setting-item"},kut=xl(()=>u.createElementVNode("span",{class:"label"},"交易点位: ",-1)),Lut={class:"setting-item"},Mut=xl(()=>u.createElementVNode("span",{class:"label"},"开平点按价格标: ",-1)),Tut={class:"setting-item"},Aut=xl(()=>u.createElementVNode("span",{class:"label"},"单周期: ",-1)),Iut={class:"setting-item"},Rut=xl(()=>u.createElementVNode("span",{class:"label"},"多周期: ",-1)),Out={class:"mode"},Fut={class:"cycleName"},Put={class:"content"},But={class:"setting-item"},Vut=xl(()=>u.createElementVNode("span",{class:"label"},"默认展示: ",-1)),zut={class:"setting-item"},Hut=xl(()=>u.createElementVNode("span",{class:"label"},"高亮交易范围: ",-1)),jut={class:"setting-item"},Wut=xl(()=>u.createElementVNode("span",{class:"label"},"展示当屏时间: ",-1)),$ut={class:"setting-item"},Uut=xl(()=>u.createElementVNode("span",{class:"label"},"展示当屏最高价: ",-1)),qut={class:"setting-item"},Kut=xl(()=>u.createElementVNode("span",{class:"label"},"多周期双击图表切换至单周期: ",-1)),Gut={class:"setting-item"},Yut=xl(()=>u.createElementVNode("span",{class:"label"},"开启副图: ",-1)),Qut={class:"setting-item"},Zut=xl(()=>u.createElementVNode("span",{class:"label"},"开启拖拽轴: ",-1)),Xut={class:"setting-footer"},Jut=en({__name:"index",props:{indicatorStore:{type:Object,default:()=>({})},origin:{type:String,default:"server"},cycleOptions:{type:Array,default:()=>[]}},emits:"callBack",setup(n,{expose:e,emit:t}){const{request:i}=u.inject("stConfig"),r=t,o=n,s=u.ref(!1),a=u.reactive({}),l=u.ref([]),c=u.ref([]),d=()=>{Object.assign(a,w_())},h=async()=>{const g=JSON.stringify(a);o.origin==="server"?await i.post("/common/qt/updateUserConfig",{appId:1,json:g}):localStorage.setItem("userKlineConfig",g),r("callBack",g),s.value=!1},f=async()=>{if(o.origin==="server"){const{body:g}=await i.post("/common/qt/getUserConfig",{appId:1});Object.assign(a,w_(),g?JSON.parse(g):{})}else{const g=localStorage.getItem("userKlineConfig");Object.assign(a,w_(),g?JSON.parse(g):{})}},p=async()=>{if(o.origin==="server"){const{body:g}=await i.post("/common/qt/getDict",{dictIds:[1002]});l.value=g[1002].map(m=>({label:m.dictName,value:m.dictCode}))}else l.value=o.cycleOptions};return u.onMounted(()=>{p(),c.value=o.indicatorStore.mainIndicatorList??[]}),u.watch(()=>o.indicatorStore.mainIndicatorList,()=>{c.value=o.indicatorStore.mainIndicatorList??[]}),e({open:async()=>{await f(),s.value=!0},getDefaultUserKlineConfig:w_}),(g,m)=>{const y=uS,_=Ea,v=Na,b=ic,C=VH,w=Tye,x=d1,S=ir,N=W6e;return u.openBlock(),u.createElementBlock("div",Sut,[u.createVNode(N,{modelValue:s.value,"onUpdate:modelValue":m[12]||(m[12]=D=>s.value=D),title:"K线自定义配置",size:320},{default:u.withCtx(()=>[u.createVNode(x,{class:"setting-main"},{default:u.withCtx(()=>[u.createVNode(y,{style:{"margin-top":"8px"}},{default:u.withCtx(()=>[u.createTextVNode("偏好设置")]),_:1}),u.createElementVNode("div",Dut,[Nut,u.createVNode(v,{modelValue:a.mainIndicator,"onUpdate:modelValue":m[0]||(m[0]=D=>a.mainIndicator=D),"popper-class":"element-dark"},{default:u.withCtx(()=>[(u.openBlock(!0),u.createElementBlock(u.Fragment,null,u.renderList(c.value,(D,E)=>(u.openBlock(),u.createBlock(_,{key:E,label:D.label,value:D.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),u.createElementVNode("div",Eut,[kut,u.createVNode(v,{modelValue:a.sellBuy,"onUpdate:modelValue":m[1]||(m[1]=D=>a.sellBuy=D),"popper-class":"element-dark"},{default:u.withCtx(()=>[(u.openBlock(!0),u.createElementBlock(u.Fragment,null,u.renderList(u.unref(wut),(D,E)=>(u.openBlock(),u.createBlock(_,{key:E,label:D.label,value:D.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),u.createElementVNode("div",Lut,[Mut,u.createVNode(b,{modelValue:a.sellBuyByPrice,"onUpdate:modelValue":m[2]||(m[2]=D=>a.sellBuyByPrice=D),"true-value":1,"false-value":0},null,8,["modelValue"])]),u.createElementVNode("div",Tut,[Aut,u.createVNode(v,{modelValue:a.singelCycle,"onUpdate:modelValue":m[3]||(m[3]=D=>a.singelCycle=D),"popper-class":"element-dark"},{default:u.withCtx(()=>[(u.openBlock(!0),u.createElementBlock(u.Fragment,null,u.renderList(l.value,(D,E)=>(u.openBlock(),u.createBlock(_,{key:E,label:D.label,value:D.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),u.createElementVNode("div",Iut,[Rut,u.createVNode(C,{size:"small",modelValue:a.multiCycleNum,"onUpdate:modelValue":m[4]||(m[4]=D=>a.multiCycleNum=D),options:[{label:"二图",value:2},{label:"四图",value:4},{label:"六图",value:6}],style:{height:"26px"}},null,8,["modelValue"])]),u.createElementVNode("div",{class:u.normalizeClass(`setting-multi-box grid-${a.multiCycleNum}`)},[(u.openBlock(!0),u.createElementBlock(u.Fragment,null,u.renderList(a.multiCycleList.slice(0,a.multiCycleNum),(D,E)=>(u.openBlock(),u.createElementBlock("div",Out,[u.createElementVNode("div",Fut,[u.createElementVNode("span",null,u.toDisplayString(u.unref(xut)(a.multiCycleList[E],l.value)),1),u.createVNode(v,{modelValue:a.multiCycleList[E],"onUpdate:modelValue":k=>a.multiCycleList[E]=k,"popper-class":"element-dark"},{default:u.withCtx(()=>[(u.openBlock(!0),u.createElementBlock(u.Fragment,null,u.renderList(l.value,(k,L)=>(u.openBlock(),u.createBlock(_,{key:L,label:k.label,value:k.value},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])]),u.createElementVNode("span",Put,u.toDisplayString(E+1)+"号位K线",1)]))),256))],2),u.createElementVNode("div",But,[Vut,u.createVNode(C,{size:"small",modelValue:a.pageType,"onUpdate:modelValue":m[5]||(m[5]=D=>a.pageType=D),options:[{label:"单周期",value:1},{label:"多周期",value:2}],style:{height:"26px"}},null,8,["modelValue"])]),u.createVNode(y,{style:{"margin-top":"44px"}},{default:u.withCtx(()=>[u.createTextVNode("功能配置")]),_:1}),u.createElementVNode("div",zut,[Hut,u.createVNode(w,{modelValue:a.enable_tradeLogBrush,"onUpdate:modelValue":m[6]||(m[6]=D=>a.enable_tradeLogBrush=D)},null,8,["modelValue"])]),u.createElementVNode("div",jut,[Wut,u.createVNode(w,{modelValue:a.enable_showScreenTimeRange,"onUpdate:modelValue":m[7]||(m[7]=D=>a.enable_showScreenTimeRange=D)},null,8,["modelValue"])]),u.createElementVNode("div",$ut,[Uut,u.createVNode(w,{modelValue:a.enable_showScreenMaxPrice,"onUpdate:modelValue":m[8]||(m[8]=D=>a.enable_showScreenMaxPrice=D)},null,8,["modelValue"])]),u.createElementVNode("div",qut,[Kut,u.createVNode(w,{modelValue:a.enable_dbClickOpenSingel,"onUpdate:modelValue":m[9]||(m[9]=D=>a.enable_dbClickOpenSingel=D)},null,8,["modelValue"])]),u.createVNode(y,{style:{"margin-top":"44px"}},{default:u.withCtx(()=>[u.createTextVNode("组件开关")]),_:1}),u.createElementVNode("div",Gut,[Yut,u.createVNode(w,{modelValue:a.enable_subChart,"onUpdate:modelValue":m[10]||(m[10]=D=>a.enable_subChart=D)},null,8,["modelValue"])]),u.createElementVNode("div",Qut,[Zut,u.createVNode(w,{modelValue:a.enable_sliderChart,"onUpdate:modelValue":m[11]||(m[11]=D=>a.enable_sliderChart=D)},null,8,["modelValue"])])]),_:1}),u.createElementVNode("div",Xut,[u.createVNode(S,{onClick:d},{default:u.withCtx(()=>[u.createTextVNode(" 恢复默认 ")]),_:1}),u.createVNode(S,{type:"primary",onClick:h},{default:u.withCtx(()=>[u.createTextVNode(" 保存配置 ")]),_:1})])]),_:1},8,["modelValue"])])}}},[["__scopeId","data-v-6e5050a9"]]),ect={install(n){n.component("st-klineConfig",Jut)}},tct=u.defineComponent({__name:"index",setup(n,{expose:e}){let t=!1,i=!0,r=[];const o=(s,a)=>s.length>a?s.slice(s.length-a):s;return e({initTalib:async()=>{if(!t)t=!0,await sk("./talib.wasm"),i=!1,r.forEach(s=>{s()});else if(i)return new Promise(s=>{r.push(s)})},handleKeyDown:(s,a)=>{let{startValue:l,endValue:c,maxIndex:d}=a;if(s.code==="ArrowLeft"){if(l===0)return;l=l-1,c=c-1}else if(s.code==="ArrowRight"){if(c===d)return;l=l+1,c=c+1}else if(s.code==="ArrowUp"){if(c-l<5)return;const h=Math.floor((c-l)/2)+1;l=l+h,c-l<5&&(l=c-4)}else if(s.code==="ArrowDown"){const h=Math.min(500,c-l);l=l-h-1}return{startValue:l,endValue:c}},getDataZoomInfoByTime:s=>{const{showStartTime:a,showEndTime:l,xAxisData:c,maxShowDays:d}=s;let h=-1,f=-1,p={};return c.forEach((g,m)=>{const y=g.split(" ")[0];p[y]=p[y]||0,p[y]+=1,new Date(g)>=new Date(a)&&h===-1&&(h=m),new Date(g)<=new Date(l)&&(f=m)}),{startValue:h,endValue:f,maxValueSpan:Math.max(...Object.values(p))*d}},formatDataBySlide:s=>{const{originDrawData:a,addData:l,startTime:c,endTime:d}=s,{mainIndicator:h,mainIndicatorList:f,subIndicator:p,subIndicatorList:g,config:m,timeRange:y}=s,{loadAddCount:_,preLoadCount:v}=m;let b=[],C=[],w=[],x=[];c&&d?(b=l.filter(L=>new Date(L[0])>=new Date(c)&&new Date(L[0])<=new Date(d)),x=[...l]):d?(b=[...l.filter((L,O)=>O>=l.length-_&&new Date(y[0])<=new Date(L[0])&&new Date(L[0])<=new Date(y[1])),...a.originData],x=[...l,...a.originData]):c&&(b=[...a.originData,...l.filter((L,O)=>O>=v&&new Date(y[0])<=new Date(L[0])&&new Date(L[0])<=new Date(y[1]))],x=b),b.forEach((L,O)=>{C.push([L[1],L[4],L[3],L[2],O===0?0:b[O-1][4],L[6]]),w.push(L[0])});let S=[],N=[];const D={time:[],open:[],close:[],high:[],low:[],originData:x};let E=null,k=null;return x.forEach((L,O)=>{D.time.push(L[0]),D.open.push(L[1]),D.close.push(L[4]),D.high.push(L[2]),D.low.push(L[3]),L[0]===b[0][0]&&(E=O),L[0]===b[b.length-1][0]&&(k=O+1)}),S=f.find(({value:L})=>L===h).config.map(L=>{const{calculationFn:O}=L;return{...L,data:O?O(l5,D,{time:[],open:[],close:[],high:[],low:[],originData:[]}).slice(E,k):[]}}),N=g.find(({value:L})=>L===p).config.reduce((L,O)=>{const{source:P,calculationFn:A}=O;return P==="calculation"?[...L,{...O,data:A?A(l5,D).slice(E,k):[]}]:L},[]),{originData:b,candlestickData:C,mainIndicatorData:S,subIndicatorData:N,xAxisData:w,startTime:b[0][0],endTime:b[b.length-1][0],length:b.length}},formatDataByCount:s=>{const{originDrawData:a,addData:l,mainIndicator:c,mainIndicatorList:d,subIndicator:h,subIndicatorList:f,config:p}=s;let g={};const{addCount:m,preLoadCount:y}=p,_=[],v=[],b=[],C=[],w=[];let x=[],S=[];const N=l.filter((O,P)=>(_.push(O[0]),v.push(O[1]),b.push(O[4]),C.push(O[2]),w.push(O[3]),x.push(O[0]),S.push([O[1],O[4],O[3],O[2],P===0?0:l[P-1][4],O[6]]),l.length>=m+y-1?P>=y:!0));x=o(x,N.length),S=o(S,N.length);const D={time:_,open:v,close:b,high:C,low:w,originData:l},k=d.find(O=>O.value===c).config.map(O=>({...O,data:o(O.calculationFn?O.calculationFn(l5,D,{time:[],open:[],close:[],high:[],low:[],originData:[]}):[],x.length)}));let L=[];return h&&f&&(L=f.find(P=>P.value===h).config.reduce((P,A)=>A.source==="calculation"?[...P,{...A,data:o(A.calculationFn?A.calculationFn(l5,D):[],x.length)}]:P,[])),a.length?g={originData:[...N,...a.originData],xAxisData:[...x,...a.xAxisData],candlestickData:[...S,...a.candlestickData],mainIndicatorData:a.mainIndicatorData.map((O,P)=>({...O,data:[...k[P].data,...O.data]})),subIndicatorData:a.subIndicatorData.map((O,P)=>({...O,data:[...L[P].data,...O.data]}))}:g={originData:N,xAxisData:x,candlestickData:S,mainIndicatorData:k,subIndicatorData:L},g.length=g.xAxisData.length,g.startTime=g.xAxisData[0],g.endTime=g.xAxisData[g.length-1],g},fn:()=>{}}),(s,a)=>null}}),nct={class:"kline-tips"},ict=u.defineComponent({__name:"index",props:{data:{type:Array,require:!0}},setup(n){return(e,t)=>(u.openBlock(),u.createElementBlock("div",nct,[(u.openBlock(!0),u.createElementBlock(u.Fragment,null,u.renderList(n.data,(i,r)=>(u.openBlock(),u.createElementBlock("div",{key:r,class:"kline-tips-item",style:u.normalizeStyle({color:i.color})},u.toDisplayString(i.label)+" "+u.toDisplayString(i.value),5))),128))]))}}),XAt="",hk=en(ict,[["__scopeId","data-v-2a02e841"]]),rct={class:"kline-tips"},oct=u.defineComponent({__name:"index",props:{drawData:{type:Object,require:!0},candlestickData:{type:Array,default:()=>null},mainIndicatorData:{type:Array,default:()=>null},activeIndex:{type:Number,require:!0}},setup(n){const{round:e,multiply:t,divide:i,subtract:r,formatValue:o}=wl,s=n,a=u.computed(()=>{const{drawData:c,activeIndex:d,candlestickData:h}=s;if(h!=null&&h.length&&h[d]){let f;return h[d][6]>0?f="red":h[d][6]<0&&(f="green"),[{label:"开",value:h[d][0]},{label:"高",value:h[d][3]},{label:"低",value:h[d][2]},{label:"收",value:h[d][1]},{label:"额",value:o(h[d][4])},{label:"涨跌",value:`${e(h[d][6])}%`,color:f}]}else if(c.candlestickData&&c.candlestickData[d]){const f=c.candlestickData[d],p=[{label:"开",value:f[0]},{label:"高",value:f[3]},{label:"低",value:f[2]},{label:"收",value:f[1]}];f[5]!==void 0&&p.push({label:"额",value:o(f[5])});const g=e(t(i(r(f[1],f[4]),Math.abs(f[4])),100));let m;return g>0?m="red":g<0&&(m="green"),p.push({label:"涨跌",value:`${g}%`,color:m}),p}return[]}),l=u.computed(()=>{var h;const{drawData:c,activeIndex:d}=s;return((h=c==null?void 0:c.mainIndicatorData)==null?void 0:h.map(f=>({label:f.key,value:e(f.data[d]),color:f.color})))||[]});return(c,d)=>(u.openBlock(),u.createElementBlock("div",rct,[u.createVNode(hk,{data:a.value},null,8,["data"]),u.createVNode(hk,{data:l.value},null,8,["data"])]))}}),JAt="",sct=en(oct,[["__scopeId","data-v-e75a1234"]]),act={class:"klineSub"},lct={class:"klineSub-tips"},uct={key:0,class:"klineSub-tips-select"},cct=u.defineComponent({__name:"index",props:{drawData:{type:Object,require:!0},activeIndex:{type:Number,require:!0},modelValue:{type:String,required:!0},subIndicatorList:{type:Array,required:!0},config:{type:Object,require:!0}},emits:["update:modelValue"],setup(n,{expose:e,emit:t}){const{round:i}=wl;let r,o;const s=t,a=n,l=u.ref(),c=u.computed({get(){return a.modelValue},set(f){s("update:modelValue",f)}}),d=u.computed(()=>{const{drawData:f,activeIndex:p}=a,g=a.subIndicatorList.find(m=>m.value===c.value);return f.originData&&f.originData[p]?g.config.map(m=>{var _,v;let y="-";return m.source==="origin"?y=f.originData[p][m.dataIndex]||"-":m.source==="calculation"&&(y=(((v=(_=f.subIndicatorData)==null?void 0:_.find(C=>C.key===m.key))==null?void 0:v.data)||[])[p]),{label:m.key,color:m.color,value:y==="-"?y:i(y)}}):[]});u.onMounted(()=>{r=Kr.init(l.value);let f=!0;o=new ResizeObserver(()=>{if(f){f=null;return}r.resize()}),o.observe(l.value)}),u.onUnmounted(()=>{r.dispose(),o.disconnect(),o=null});const h=(f,p)=>{const g=f[p],m=p===0?f[p]:f[p-1];return g[0]===g[1]?g[0]>=m[1]?{color:"transparent",borderColor:"#FF0000"}:{color:"#00FFFF"}:g[1]>g[0]?{color:"transparent",borderColor:"#FF0000"}:{color:"#00FFFF"}};return e({connect:f=>{Kr.connect([f,r])},draw:f=>{u.nextTick(()=>{var x;const{startValue:p,endValue:g,maxValueSpan:m}=f,{xAxisData:y,subIndicatorData:_,candlestickData:v,originData:b}=a.drawData,C=a.subIndicatorList.find(S=>S.value===c.value),w=[];if(C.series==="bar"){let S=[];C.source==="origin"?S=b.map(N=>N[C.dataIndex]):S=((x=_==null?void 0:_.find(N=>N.key===C.dataIndex))==null?void 0:x.data)||[],w.push({name:"subMain",xAxisIndex:0,yAxisIndex:1,type:"bar",silent:!0,symbol:"none",data:S.map((N,D)=>C.color==="kline"?{value:N,itemStyle:h(v,D)}:C.color==="value"?{value:N,itemStyle:{color:N>=0?"#FF0000":"#00FFFF"}}:{value:N,itemStyle:{color:C.color}})})}_.forEach(S=>{if(S.series==="line"){let N=[];S.source==="origin"?N=b.map(D=>D[S.dataIndex]):S.source==="calculation"&&(N=S.data),w.push({xAxisIndex:0,yAxisIndex:S.yAxis==="right"?2:1,name:S.key,type:"line",silent:!0,symbol:"none",data:N,lineStyle:{width:1},itemStyle:{color:S.color}})}}),r.setOption({animation:!1,grid:{left:`${a.config.gridLeft}px`,top:"10px",right:`${a.config.gridRight}px`,bottom:"20px"},dataZoom:[{type:"inside",startValue:p,endValue:g,maxValueSpan:m}],tooltip:{trigger:"axis",appendToBody:!0,confine:!0,axisPointer:{type:"cross",label:{rich:{},formatter:S=>{const{axisDimension:N,value:D}=S;if(N==="x")return D;if(S.axisIndex===1)return String(i(D))}}},formatter:()=>""},xAxis:{type:"category",data:y,axisLine:{show:!0},splitLine:{show:!1},axisLabel:{show:!0,formatter:S=>S}},yAxis:[{position:"right"},{position:"left",min:C.leftYAxisRange==="cover"?S=>S.min:null,max:C.leftYAxisRange==="cover"?S=>S.max:null,splitNumber:1,axisLine:{show:!0},splitLine:{show:!0,lineStyle:{type:"dotted",color:"#333"}}},{position:"right",min:C.rightYAxisRange==="cover"?S=>S.min:null,max:C.rightYAxisRange==="cover"?S=>S.max:null,splitNumber:1,axisLine:{show:!1},splitLine:{show:!1},axisLabel:{show:!1}}],series:w},!0)})}}),(f,p)=>{const g=Ea,m=Na;return u.openBlock(),u.createElementBlock("div",act,[u.createElementVNode("div",lct,[d.value.length?(u.openBlock(),u.createElementBlock("div",uct,[u.createVNode(m,{modelValue:c.value,"onUpdate:modelValue":p[0]||(p[0]=y=>c.value=y),size:"small","popper-class":"element-dark",class:"element-dark subIndicator"},{default:u.withCtx(()=>[(u.openBlock(!0),u.createElementBlock(u.Fragment,null,u.renderList(n.subIndicatorList,y=>(u.openBlock(),u.createBlock(g,{key:y.value,label:y.label,value:y.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])])):u.createCommentVNode("",!0),u.createVNode(hk,{data:d.value},null,8,["data"])]),u.createElementVNode("div",{class:"klineSub-chart",ref_key:"subChartRef",ref:l},null,512)])}}}),eIt="",dct=en(cct,[["__scopeId","data-v-0a2f256e"]]),hct=u.defineComponent({__name:"index",props:{data:{type:Array,default:()=>[]}},emits:["change"],setup(n,{expose:e,emit:t}){let i,r,o=null;const s=t,a=n,l=u.ref();u.watch(()=>a.data,()=>{h()},{deep:!0}),u.onMounted(()=>{i=Kr.init(l.value),c(),h();let f=!0;r=new ResizeObserver(()=>{if(f){f=null;return}i.resize()}),r.observe(l.value)}),u.onUnmounted(()=>{i.off("datazoom"),i.dispose(),r.disconnect(),r=null});const c=()=>{i.on("datazoom",f=>{f.dataZoomId&&(clearTimeout(o),o=setTimeout(()=>{const{data:p}=a,{start:g,end:m}=f,y=Math.floor(g*p.length/100),_=m===100?p.length-1:Math.floor(m*p.length/100);d(y,_),clearTimeout(o)},100))})},d=(f,p)=>{const g=a.data;if(g.length===0)return;const m=g[f][0].split(" ")[0],y=g[p][0].split(" ")[0];s("change",{startTime:`${m} 00:00:00`,endTime:`${y} 24:00:00`})},h=()=>{const{data:f}=a;if(f.length===0)return;const p=f.map(m=>m[0].split(" ")[0]),g=f.map(m=>m[1]);i.setOption({grid:{height:0,left:"80px",right:"80px"},xAxis:{type:"category",data:p,show:!1},yAxis:{type:"value"},series:[{data:g,type:"line"}]},!0)};return e({resetSlide:(f,p,g)=>{let m=-1,y=-1;a.data.forEach((_,v)=>{m===-1&&_[0]===f?m=v:m===-1&&new Date(_[0])>new Date(f)&&(m=v-1),(y===-1&&_[0]===p||y===-1&&new Date(_[0])>new Date(p))&&(y=v)}),y=y===-1?a.data.length-1:y,i.setOption({dataZoom:[{show:!0,startValue:m,endValue:y,maxValueSpan:g,textStyle:{color:"#ccc"}},{type:"inside",startValue:m,endValue:y,maxValueSpan:g}]})},resize:()=>{i==null||i.resize()}}),(f,p)=>(u.openBlock(),u.createElementBlock("div",{class:"klineSlide",ref_key:"slideChartRef",ref:l},null,512))}}),tIt="",fct=en(hct,[["__scopeId","data-v-5008746a"]]),pct={install(n){n.component("st-klineUtils",tct),n.component("st-klineSub",dct),n.component("st-klineTips",sct),n.component("st-klineSlide",fct)}},nIt="",gct="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjM4NzI1IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI2MjUiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNGRjAwMDAiIHAtaWQ9IjI2MjYiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjcwOTMzMyAxNjcuNzIyNjY3YzAuMTI4LTIxLjc2IDkuOTg0LTQyLjY2NjY2NyAyNy4zOTItNTcuOTQxMzM0YTkzLjMxMiA5My4zMTIgMCAwIDEgNjQuNDY5MzM0LTIzLjg5MzMzM0w3NjEuNiA4NS4zMzMzMzNjMjUuNiAwLjU1NDY2NyA0Ny4zNiA4Ljc4OTMzMyA2NC45Mzg2NjcgMjQuNDA1MzM0IDE3LjkyIDE2IDI2Ljg4IDM1LjIgMjYuODggNTcuNDcybC0wLjU1NDY2NyA0MTkuODRjMC4yOTg2NjcgMjIuNjk4NjY3LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuOTIyNjY2LTEyLjYyOTMzMyAyNy4zMDY2NjctMjcuOTQ2NjY3IDQ4Ljg5Ni00NS44MjQgNjQuODk2bC0yMTEuMjQyNjY3IDE4OC4yMDI2NjdjLTE3LjU3ODY2NyAxNS43MDEzMzMtMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45Mzg2NjcgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0Ljk4MTMzMy0yMy41OTQ2NjdsLTIxMS4xNTczMzMtMTg4LjE2Yy0xNy45Mi0xNi4wNDI2NjctMzMuMjgtMzcuNzE3MzMzLTQ1LjkwOTMzNC02NC45ODEzMzMtMTIuNjcyLTI3LjMwNjY2Ny0xOS4wMjkzMzMtNTIuMzk0NjY3LTE5LjAyOTMzMy03NS4zMDY2NjdMMTcwLjY2NjY2NyAxNjcuNzIyNjY3eiBtNDIuNjY2NjY3IDAuMjU2bDAuNTU0NjY3IDQxOC42ODhjMCAxNi4yMTMzMzMgNC44MjEzMzMgMzUuMzI4IDE1LjAxODY2NiA1Ny4zNDQgMTAuMzY4IDIyLjI3MiAyMi4zNTczMzMgMzkuMjEwNjY3IDM1LjYyNjY2NyA1MS4wNzJsMjExLjQxMzMzMyAxODguNDE2YzguOTYgOC4xMDY2NjcgMjEuODg4IDEyLjggMzYuMjI0IDEyLjU0NCAxNS41MzA2NjctMC4wNDI2NjcgMjcuMDkzMzMzLTQuMjY2NjY3IDM2LjY5MzMzNC0xMi44bDIxMS4xNTczMzMtMTg4LjExNzMzNGMxMy4zMTItMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNTg0LTUxLjA3MiAxMC4xMTItMjEuODQ1MzMzIDE0Ljc2MjY2Ny00MC41NzYgMTQuNTA2NjY3LTU3LjA0NTMzM2wwLjU1NDY2Ni00MTkuNzU0NjY3YzAtOS44OTg2NjctMy41ODQtMTcuNjIxMzMzLTEyLjQ1ODY2Ni0yNS42YTU0LjY5ODY2NyA1NC42OTg2NjcgMCAwIDAtMzYuNjA4LTEzLjYxMDY2NmwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NyAxMy4zMTIgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzMgMjEuNDYxMzMzbC0wLjQyNjY2NyA0LjY5MzMzNHoiIGZpbGw9IiNBRTAwMDAiIHAtaWQ9IjI2MjciPjwvcGF0aD48cGF0aCBkPSJNMzg0IDY1NC4xMjI2NjdoMTUzLjUxNDY2N2M5Ni43NjggMCAxNDIuNzYyNjY3LTQ4Ljk4MTMzMyAxNDIuNzYyNjY2LTExNy4wNzczMzQgMC01OS43MzMzMzMtMzMuNDUwNjY3LTg4LjQwNTMzMy04NC44MjEzMzMtOTcuOTYyNjY2di0xLjc5MmM0OC45ODEzMzMtMTUuNTMwNjY3IDY2LjkwMTMzMy00Ni41OTIgNjYuOTAxMzMzLTg5LjYgMC02NS4xMDkzMzMtNDAuNjE4NjY3LTEwMy4zMzg2NjctMTM0Ljk5NzMzMy0xMDMuMzM4NjY3SDM4NHY0MDkuNzcwNjY3eiBtNzIuODc0NjY3LTU0Ljk1NDY2N3YtMTMxLjQxMzMzM2g2Ni4zMDRjNTEuOTY4IDAgODAuMDQyNjY3IDE3LjkyIDgwLjA0MjY2NiA2NS4xMDkzMzMgMCA0NC44LTI2LjI4MjY2NyA2Ni4zMDQtNzUuODYxMzMzIDY2LjMwNGgtNzAuNDg1MzMzeiBtMC0xODAuMzk0NjY3VjI5OC43MDkzMzNoNjAuMzMwNjY2YzQ3LjE4OTMzMyAwIDcyLjI3NzMzMyAxNC45MzMzMzMgNzIuMjc3MzM0IDU5LjEzNiAwIDQ2LjU5Mi0zMi4yNTYgNjAuOTI4LTc1LjI2NCA2MC45MjhoLTU3LjM0NHoiIGZpbGw9IiNGRkZGRkYiIHAtaWQ9IjI2MjgiPjwvcGF0aD48L3N2Zz4=",mct="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjQxNjY0IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI3NzciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiM1NEFCMzAiIHAtaWQ9IjI3NzgiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiMzODhEMTQiIHAtaWQ9IjI3NzkiPjwvcGF0aD48cGF0aCBkPSJNNTA2LjQ1MzMzMyA2NzQuNzMwNjY3Yzk5LjE1NzMzMyAwIDE0Ni4zNDY2NjctNDguMzg0IDE0Ni4zNDY2NjctMTI2LjAzNzMzNCAwLTcyLjg3NDY2Ny0zOC44MjY2NjctOTkuNzU0NjY3LTEwMy4zMzg2NjctMTE4LjI3MmwtMzguMjI5MzMzLTExLjk0NjY2NmMtNDAuNjE4NjY3LTExLjM0OTMzMy01Mi41NjUzMzMtMjUuMDg4LTUyLjU2NTMzMy01Ny4zNDQgMC0zMi44NTMzMzMgMjMuODkzMzMzLTUwLjc3MzMzMyA2Ni45MDEzMzMtNTAuNzczMzM0IDQ1LjM5NzMzMyAwIDc4Ljg0OCA5LjU1NzMzMyAxMDQuNTMzMzMzIDIwLjMwOTMzNFYyNzMuMzIyNjY3Yy0yMi42OTg2NjctMTEuOTQ2NjY3LTUxLjk2OC0yMi4xMDEzMzMtMTA1LjcyOC0yMi4xMDEzMzQtOTIuNTg2NjY3IDAtMTM3LjM4NjY2NyA0Ny4xODkzMzMtMTM3LjM4NjY2NiAxMTYuNDggMCA2OS4yOTA2NjcgMzUuMjQyNjY3IDEwMC4zNTIgOTMuMTg0IDExNi40OGwzOC44MjY2NjYgMTAuNzUyYzQ0LjggMTMuNzM4NjY3IDU5LjczMzMzMyAyNi44OCA1OS43MzMzMzQgNjAuOTI4IDAgMzcuMDM0NjY3LTIzLjI5NiA1OS43MzMzMzMtNzguMjUwNjY3IDU5LjczMzMzNC00NC44IDAtODMuNjI2NjY3LTEwLjc1Mi0xMTYuNDgtMjUuMDg4djU3Ljk0MTMzM2MyOC4wNzQ2NjcgMTQuOTMzMzMzIDY4LjY5MzMzMyAyNi4yODI2NjcgMTIyLjQ1MzMzMyAyNi4yODI2Njd6IiBmaWxsPSIjRkZGRkZGIiBwLWlkPSIyNzgwIj48L3BhdGg+PC9zdmc+",bct="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjI4MjAyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjMwNzgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNDODgwRkYiIHAtaWQ9IjMwNzkiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiNBRTQ0RkYiIHAtaWQ9IjMwODAiPjwvcGF0aD48cGF0aCBkPSJNNDc1LjMwNjY2NyA2NTguMjE4NjY3aDczLjQ3MlYzMDYuMzg5MzMzaDExNi40OFYyNDguNDQ4aC0zMDcuNjI2NjY3djU3Ljk0MTMzM2gxMTcuNjc0NjY3eiIgZmlsbD0iI0ZGRkZGRiIgcC1pZD0iMzA4MSI+PC9wYXRoPjwvc3ZnPg==",{round:_ct}=wl,H2={minValueSpan:5,maxValueSpan:2e3,loadCheckCount:500,loadAddCount:2e3},yct={1:240,2:48,3:16,4:8,5:4,6:1,7:.2,8:.033},Ine=({startTime:n,endTime:e,cycle:t,type:i="end"})=>{const{maxValueSpan:r}=H2,o=Math.ceil((r+1e3)/yct[t]),s=Dt(n);if(Dt(e).diff(s,"day")<=o)return[n,e];if(i==="end")return[Dt(e).subtract(o,"day").format("YYYY-MM-DD HH:mm:ss"),e];if(i==="middle"){const c=Dt((Dt(n).valueOf()+Dt(e).valueOf())/2).format("YYYY-MM-DD HH:mm:ss");return console.log("超过一屏数量上限, 进行中间时间计算",c,o/2),[Dt(c).subtract(o/2,"day").format("YYYY-MM-DD HH:mm:ss"),Dt(c).add(o/2,"day").format("YYYY-MM-DD HH:mm:ss")]}},vct=(n,e)=>{const t=n[e],i=e===0?n[e]:n[e-1];return t[0]===t[1]?t[0]>=i[1]?{color:"transparent",borderColor:"#FF0000"}:{color:"#00FFFF"}:t[1]>t[0]?{color:"transparent",borderColor:"#FF0000"}:{color:"#00FFFF"}},Cct=(n,e,t)=>{var r,o,s,a;const i=n.subIndicator.map(l=>{if(l.series==="bar")return{name:"subMain",xAxisIndex:0,yAxisIndex:1,type:"bar",silent:!0,symbol:"none",data:l.data.map((c,d)=>l.seriesColor==="kline"?{value:c,itemStyle:vct(n.data,d)}:l.seriesColor==="value"?{value:c,itemStyle:{color:c>=0?"#FF0000":"#00FFFF"}}:{value:c,itemStyle:{color:l.seriesColor}})};if(l.series==="line")return{xAxisIndex:0,yAxisIndex:l.yAxis==="right"?2:1,name:l.key,type:"line",silent:!0,symbol:"none",data:l.data,lineStyle:{width:1},itemStyle:{color:l.color}}});return{animation:!1,grid:{top:"10px",left:"60px",right:"20px",bottom:"10px"},dataZoom:[{type:"inside",startValue:e,endValue:t,maxValueSpan:H2.maxValueSpan}],tooltip:{show:!1},axisPointer:{show:!0,triggerTooltip:!1,label:{rich:{},formatter:l=>{const{axisDimension:c,value:d}=l;if(c==="x")return null;if(l.axisIndex===1)return String(_ct(d))}}},xAxis:{type:"category",data:n.time,axisLine:{show:!0},splitLine:{show:!1},axisLabel:{show:!1}},yAxis:[{position:"right"},{position:"left",min:((r=n.subIndicator[0])==null?void 0:r.leftYAxisRange)==="cover"?l=>l.min:null,max:((o=n.subIndicator[0])==null?void 0:o.leftYAxisRange)==="cover"?l=>l.max:null,splitNumber:1,axisLine:{show:!0},splitLine:{show:!0,lineStyle:{type:"dotted",color:"#333"}}},{position:"right",min:((s=n.subIndicator[0])==null?void 0:s.rightYAxisRange)==="cover"?l=>l.min:null,max:((a=n.subIndicator[0])==null?void 0:a.rightYAxisRange)==="cover"?l=>l.max:null,splitNumber:1,axisLine:{show:!1},splitLine:{show:!1},axisLabel:{show:!1}}],series:i}},fk=(n,e,t="strict")=>{let i=0,r=n.length-1,o=-1;for(;i<=r;){let s=Math.floor((i+r)/2);if(t==="strict"){if(n[s]===e)return s;n[s]<e?i=s+1:r=s-1}else t==="gte"&&(n[s]>=e?(o=s,r=s-1):i=s+1)}return t==="strict"?-1:o},wct=n=>{const e=[];return n.reduce((t,i)=>{const r=`${i.coord[0]}+${i.label.position}`,o=i.label.position==="top"?-16:16,s=t.get(r);return s?(t.set(r,s+1),i.symbolOffset[1]=o*(s+1)):(t.set(r,1),i.symbolOffset[1]=i.label.position==="top"?-7:7),e.push(i),t},new Map),e},Rne=(n,e)=>({data:[...n.data,...e.data.slice(1)],mainIndicator:n.mainIndicator.map((t,i)=>({...t,data:[...t.data,...e.mainIndicator[i].data.slice(1)]})),subIndicator:n.subIndicator.map((t,i)=>({...t,data:[...t.data,...e.subIndicator[i].data.slice(1)]})),time:[...n.time,...e.time.slice(1)]}),pk=(n,e,t)=>{switch(t){case"5":{let h=[...new Set(n.slice(-20).map(b=>{const C=new Date(b),w=String(C.getHours()).padStart(2,"0"),x=String(C.getMinutes()).padStart(2,"0"),S=String(C.getSeconds()).padStart(2,"0");return`${w}:${x}:${S}`}))];h.includes("00:00:00")&&(h.splice(h.indexOf("00:00:00"),1),h.push("24:00:00")),h=h.sort((b,C)=>new Date(`2000-01-30 ${b}`).getTime()-new Date(`2000-01-30 ${C}`).getTime());const f=new Date(e),p=f.getFullYear(),g=String(f.getMonth()+1).padStart(2,"0"),m=String(f.getDate()).padStart(2,"0"),y=String(f.getHours()).padStart(2,"0"),_=String(f.getMinutes()).padStart(2,"0"),v=String(f.getSeconds()).padStart(2,"0");if(`${y}:${_}:${v}`=="00:00:00")return`${p}-${g}-${m} 01:00:00`;{let b=null;for(let C=0;C<h.length;C++){const w=h[C].split(":");if(+`${w[0]}${w[1]}${w[2]}`>=+`${y}${_}${v}`){b=h[C];break}}if(b==="24:00:00"){const C=new Date(e);C.setDate(C.getDate()+1);const w=C.getFullYear(),x=String(C.getMonth()+1).padStart(2,"0"),S=String(C.getDate()).padStart(2,"0");return`${w}-${x}-${S} 00:00:00`}return`${p}-${g}-${m} ${b}`}}case"6":{const h=new Date(e),f=h.getHours();if(f>=4&&f<21){const p=h.getFullYear(),g=String(h.getMonth()+1).padStart(2,"0"),m=String(h.getDate()).padStart(2,"0");return`${p}-${g}-${m} 09:00:00`}else{const p=new Date(e);p.getHours()>=21&&p.setDate(p.getDate()+1);const g=p.getFullYear(),m=String(p.getMonth()+1).padStart(2,"0"),y=String(p.getDate()).padStart(2,"0"),_=`${g}-${m}-${y} 09:00:00`,v=fk(n,_,"gte");return v===-1?_:n[v]}}case"7":{const h=new Date(e),f=new Date(h);f.setDate(h.getDate()-h.getDay()),f.setHours(0,0,0,0);const p=new Date(f);p.setDate(f.getDate()+5),p.setHours(23,59,59,0);const g=new Date(f);g.setDate(f.getDate()+12),g.setHours(9,0,0,0);const m=h<=p?p:g,y=m.getFullYear(),_=String(m.getMonth()+1).padStart(2,"0"),v=String(m.getDate()).padStart(2,"0");return`${y}-${_}-${v} 09:00:00`}case"8":{const h=new Date(e),f=new Date(h.getFullYear(),h.getMonth()+1,1),p=new Date(f);p.setDate(f.getDate()-1),p.setHours(9,0,0,0);const g=p.getFullYear(),m=String(p.getMonth()+1).padStart(2,"0"),y=String(p.getDate()).padStart(2,"0");return`${g}-${m}-${y} 09:00:00`}}const i=new Date(e),r=i.getFullYear(),o=i.getMonth(),s=i.getDate(),a=i.getHours(),l=i.getMinutes(),c=i.getSeconds(),d=h=>{let f=null;const p=Math.floor(l/h);l%h===0&&c===0?f=l:f=(p+1)*h;const g=Math.floor(f/60),m=a+g,y=f%60,_=new Date(r,o,s,m,y,0),v=N=>String(N).padStart(2,"0"),b=_.getFullYear(),C=v(_.getMonth()+1),w=v(_.getDate()),x=v(_.getHours()),S=v(_.getMinutes());return`${b}-${C}-${w} ${x}:${S}:00`};switch(t){case"1":return d(1);case"2":return d(5);case"3":return d(15);case"4":return d(30);default:throw new Error(`Unsupported cycle: ${e} ${t}`)}},gk=(n,e,t)=>{let i=null,r=null;const[o,s]=e;switch(t){case"6":{i=n.find(a=>new Date(Dt(a).format("YYYY-MM-DD 23:59:59")).getTime()>=new Date(o).getTime()),r=n.findLast(a=>new Date(Dt(a).format("YYYY-MM-DD 00:00:00")).getTime()<=new Date(s).getTime());break}case"7":{const a=Dt(s).endOf("week").add(1,"day").format("YYYY-MM-DD 23:59:59");i=n.find(l=>Dt(l).endOf("week").add(1,"day").format("YYYY-MM-DD")===Dt(o).endOf("week").add(1,"day").format("YYYY-MM-DD")),r=n.findLast(l=>new Date(l).getTime()<=new Date(a).getTime());break}case"8":{i=n.find(a=>Dt(a).format("YYYY-MM")===Dt(o).format("YYYY-MM")),r=n.findLast(a=>Dt(a).format("YYYY-MM")===Dt(s).format("YYYY-MM"));break}default:i=n.find(a=>new Date(a).getTime()>=new Date(o).getTime()),r=n.findLast(a=>new Date(a).getTime()<=new Date(s).getTime())}return[i,r]},xct=(n,e,t,i,r,o)=>{const s=(p,g)=>{const{direction:m="",tradeAction:y="",tradeType:_=""}=p,v=_??m+y;switch(g){case 0:return new Map([["开多","买"],["平多","卖"],["开空","卖"],["平空","买"]]).get(v);case 1:return _??m+y}},a=(p,g,m,y)=>p.reduce((_,v)=>{var D;const b=s(v,0),C=p.filter(E=>E.klineTime===v.klineTime),w=[...new Set(C.map(E=>s(E,0)))];let x=null;w.length>1?x="image://"+new URL("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjI4MjAyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjMwNzgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNDODgwRkYiIHAtaWQ9IjMwNzkiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiNBRTQ0RkYiIHAtaWQ9IjMwODAiPjwvcGF0aD48cGF0aCBkPSJNNDc1LjMwNjY2NyA2NTguMjE4NjY3aDczLjQ3MlYzMDYuMzg5MzMzaDExNi40OFYyNDguNDQ4aC0zMDcuNjI2NjY3djU3Ljk0MTMzM2gxMTcuNjc0NjY3eiIgZmlsbD0iI0ZGRkZGRiIgcC1pZD0iMzA4MSI+PC9wYXRoPjwvc3ZnPg==",self.location).href:x="image://"+new URL(Object.assign({"./images/buy.svg":gct,"./images/sell.svg":mct,"./images/t.svg":bct})[`./images/${b==="买"?"buy":"sell"}.svg`],self.location).href;const S=fk(m,v.klineTime),N=(D=y[S])==null?void 0:D[3];return g.forEach(E=>{var L;const k=b==="买"?0:1;E.range[k]===v.klineTime&&(E.rangeValue[k]=(L=y[S])==null?void 0:L[b==="买"?2:3])}),_.push({symbol:x,symbolSize:25,symbolRotate:0,symbolOffset:[0,0],label:{show:!1,position:"top"},coord:[v.klineTime,N],silent:!0,animation:!1,customData:{tradeType:b,amount:v.amount,part:v.part,profitAndLoss:v.profitAndLoss,openPriceAll:v.openPriceAll,closePriceAll:v.closePriceAll}}),_},[]),l=(p,g,m,y)=>{const{sellBuyByPrice:_}=o,v=p.reduce((b,C,w)=>{var D,E;const x=s(C,1),S=["开多","开空"].includes(x)?"top":"bottom";let N=null;if(_)N=S==="top"?(C.openPriceAll/C.amount).toFixed(2):(C.closePriceAll/C.amount).toFixed(2);else{const k=fk(m,C.klineTime);N=S==="top"?(D=y[k])==null?void 0:D[3]:(E=y[k])==null?void 0:E[2]}return g.forEach(k=>{(S==="top"?k.range[0]:k.range[1])===C.klineTime&&(k.rangeValue[S==="top"?0:1]=N)}),b.push({symbol:"triangle",symbolSize:[10,12],symbolRotate:S==="top"?180:0,symbolOffset:[0,0],label:{show:!0,position:S,color:"#fff",formatter:`${x} ${S==="top"?"+":"-"} ${C.amount}手 ${C.part?`(${C.part}份)`:""}`},itemStyle:{color:S==="top"?"#FF0000":"#389e0d"},coord:[C.klineTime,N],silent:!0,animation:!1,customData:{tradeType:x,amount:C.amount,part:C.part,profitAndLoss:C.profitAndLoss,openPriceAll:C.openPriceAll,closePriceAll:C.closePriceAll}}),b},[]);return _?v:wct(v)},c=(p,g,m)=>{const{basePointData:y,baseLineData:_}=p.reduce((w,x)=>{const S={pointTime:x.openTime,tradeAction:"开",tradeDirection:x.tradeDirection?"空":"多",tradeType:`开${x.tradeDirection?"空":"多"}`,part:null,amount:x.tradeVolume,profitAndLoss:x.profitAndLoss,openPriceAll:x.openPrice*x.tradeVolume,closePriceAll:x.closePrice*x.tradeVolume,klineTime:pk(m,x.openTime,g)},N={pointTime:x.closeTime,tradeAction:"平",tradeDirection:x.tradeDirection?"空":"多",tradeType:`平${x.tradeDirection?"空":"多"}`,part:null,amount:x.tradeVolume,profitAndLoss:x.profitAndLoss,openPriceAll:x.openPrice*x.tradeVolume,closePriceAll:x.closePrice*x.tradeVolume,klineTime:pk(m,x.closeTime,g)},D={range:[S.klineTime,N.klineTime],rangeValue:[null,null],color:N.profitAndLoss>0?"#FF0000":"#389e0d"};return w.basePointData.push(S,N),w.baseLineData.push(D),w},{basePointData:[],baseLineData:[]}),b=[...y.reduce((w,x)=>{const S=JSON.parse(JSON.stringify(x)),N=S.klineTime+S.tradeType;if(w.has(N)){const D=w.get(N);S.amount+=D.amount,S.part+=D.part,S.profitAndLoss+=D.profitAndLoss,S.openPriceAll+=D.openPriceAll,S.closePriceAll+=D.closePriceAll}return w.set(N,S),w},new Map([])).values()].sort((w,x)=>new Date(w.klineTime)-new Date(x.klineTime)),C=_.filter(({range:w})=>w[0]!==w[1]);return{pointData:b,lineData:C}},{pointData:d,lineData:h}=c(n,e,i);return{tradePointData:(t===0?a:l)(d,h,i,r),tradeLineData:h.map(({range:p,rangeValue:g,color:m})=>[{symbol:"none",coord:[p[0],g[0]],lineStyle:{color:m,width:2,type:"solid"},silent:!0,animation:!1},{symbol:"none",coord:[p[1],g[1]],silent:!0,animation:!1}])}},Sct=(n,e)=>{let t=[];if(Number(e)<=5)t=n.map(({tradeDate:i,netPositionValue:r})=>[Dt(i).format("YYYY-MM-DD HH:mm:ss"),r]);else if(Number(e)===6){const i=n.reduce((r,o)=>{const{tradeDate:s,netPositionValue:a}=o;return r.set(Dt(s).format("YYYY-MM-DD 09:00:00"),a),r},new Map);t=Array.from(i,([r,o])=>[r,o])}else t=[];return{netPositionLineData:t}},Dct=(n,e,t,i)=>{let r=[];if(["6","7","8"].includes(e)){const o=n.reduce((s,a)=>{const l=pk(i,a.date,e),c=a[t===0?"simple":"compound"];return s.set(l,c),s},new Map);r=Array.from(o,([s,a])=>[s,a])}else r=[];return{tradeIncomeRateLineData:r}},iIt="",Nct={class:"tips"},mk=en({__name:"Tips",props:{data:{type:Array,default:()=>[]}},setup(n){return(e,t)=>(u.openBlock(),u.createElementBlock("div",Nct,[(u.openBlock(!0),u.createElementBlock(u.Fragment,null,u.renderList(n.data,(i,r)=>(u.openBlock(),u.createElementBlock("span",{key:r,class:"item",style:u.normalizeStyle({color:i.color})},u.toDisplayString(i.label)+" "+u.toDisplayString(i.value),5))),128))]))}},[["__scopeId","data-v-df1caefe"]]),oIt="",Ect=en({__name:"SliderChart",props:{screenTimeRange:{type:Array,required:!0},varietyCode:{type:String,required:!0},varietyStock:{type:Number,required:!0},rightType:{type:[Number,null],default:null},klineType:{type:[Number,null],default:null},deleteFirstNumber:{type:Number,default:1},withoutPermission:{type:Number,default:0}},emits:["change"],setup(n,{expose:e,emit:t}){const{request:i}=u.inject("stConfig");let r=null;const o=u.ref(null),s=t,a=n,l=u.ref({data:[],mainIndicator:[],subIndicator:[],time:[]}),c=async()=>{const p={varietyCode:a.varietyCode,cycle:"6",right:a.varietyStock===1?a.rightType:0,contractType:a.varietyStock?null:a.klineType,startTime:"1999-01-01 00:00:00",endTime:Dt().format("YYYY-MM-DD 23:59:59"),deleteFirstNumber:a.deleteFirstNumber,withoutPermission:a.withoutPermission},{body:g}=await i.post("/middleLayer/kline/getKline",p);g?l.value=g:l.value={data:[],mainIndicator:[],subIndicator:[],time:[]},f("init")},d=Ra(p=>{if(!p.dataZoomId)return;const g=r.getOption();if(g!=null&&g.dataZoom[0]){const{startValue:m,endValue:y}=r.getOption().dataZoom[0],{time:_}=l.value,v=`${_[m].split(" ")[0]} 00:00:00`,b=`${_[y].split(" ")[0]} 23:59:59`;console.log(`检测到拖拽轴被拖动, 时间区间: ${v} - ${b}`),s("change",{startTime:v,endTime:b})}},200),h=Ra(({startTime:p,endTime:g})=>{f("reset",{startTime:p,endTime:g})},100),f=(p,g)=>{switch(p){case"init":{const{data:m,time:y}=l.value,{xAxisData:_,lineData:v}=m.reduce((C,w,x)=>(C.xAxisData.push(y[x].split(" ")[0]),C.lineData.push(w[1]),C),{xAxisData:[],lineData:[]}),b={grid:{height:0,left:"100px",right:"80px"},xAxis:{type:"category",data:_,show:!1},yAxis:{type:"value"},dataZoom:[{show:!0,startValue:0,endValue:0,textStyle:{color:"#ccc"}},{type:"inside",startValue:0,endValue:0}],series:[{data:v,type:"line"}]};if(r.setOption(b,!0),a.screenTimeRange.length){const[C,w]=a.screenTimeRange;h({startTime:C,endTime:w})}break}case"reset":{const{time:m}=l.value,y=Dt(g.startTime).format("YYYY-MM-DD"),_=Dt(g.endTime).format("YYYY-MM-DD");let v=-1,b=-1;for(let C=0;C<m.length;C++){const w=Dt(m[C]).format("YYYY-MM-DD");if(v!==-1&&b!==-1)break;v===-1&&(new Date(w)===new Date(y)?v=C:new Date(w)>new Date(y)&&(v=C-1)),b===-1&&(new Date(w)===new Date(_)?b=C:new Date(w)>new Date(_)&&(b=C-1))}b===-1&&(b=m.length-1),r.dispatchAction({type:"dataZoom",startValue:v,endValue:b});break}}};return u.onMounted(()=>{u.nextTick(()=>{r=Kr.init(o.value),r.on("datazoom",d),c()})}),u.watch(()=>a.screenTimeRange,p=>{const[g,m]=p;h({startTime:g,endTime:m})},{deep:!0}),u.onUnmounted(()=>{r.off("datazoom"),r.dispose()}),e({resize:Ra(()=>r.resize(),100)}),(p,g)=>(u.openBlock(),u.createElementBlock("div",{class:"chart",ref_key:"sliderChartRef",ref:o},null,512))}},[["__scopeId","data-v-0c715da1"]]),aIt="",kct={class:"main-chart"},Lct={class:"indicator"},Mct={key:0,class:"screen-time-range"},Tct={key:0,class:"sub-chart"},Act={class:"indicator"},Ict={class:"title"},Rct={key:1,class:"slider-chart"},Oct=en({__name:"index",props:{varietyCode:{type:String,required:!0},varietyStock:{type:Number,required:!0},indicatorStore:{type:Object,required:!0},userKlineConfig:{type:Object,required:!0},cycle:{type:String,required:!0},sellBuy:{type:Number,default:1},rightType:{type:[Number,null],default:null},klineType:{type:[Number,null],default:null},incomeType:{type:Number,default:0},initTimeRange:{type:Array,required:!0},mainIndicator:{type:String,required:!0},tradeLog:{type:Array,default:()=>[]},netPositionData:{type:Array,default:()=>[]},tradeIncomeRateData:{type:Array,default:()=>[]},positionTime:{type:[String,null],default:null},syncBrushRange:{type:Object,default:()=>({cycleList:[],startTime:null,endTime:null})},deleteFirstNumber:{type:Number,default:1},withoutPermission:{type:Number,default:0}},setup(n,{expose:e}){const{round:t,formatValue:i}=wl,{request:r}=u.inject("stConfig"),o=u.ref(!1),s=u.ref(!1),a=n;let l=!1,c=!1,d=!1,h=!1,f=null,p=null,g=null;const m=u.ref(null),y=u.ref(null),_=u.ref(null),v=u.ref({data:[],mainIndicator:[],subIndicator:[],time:[]}),b=u.ref(0),C=u.ref([]),w=u.ref(null),x=u.ref("VOL"),S=u.computed(()=>{const R=v.value.data[b.value];if(!R)return[{label:"开",value:"-"},{label:"高",value:"-"},{label:"低",value:"-"},{label:"收",value:"-"},{label:"额",value:"-"},{label:"涨跌",value:"-"}];const F=[{label:"开",value:R[0]},{label:"高",value:R[3]},{label:"低",value:R[2]},{label:"收",value:R[1]}];R[4]!==null&&F.push({label:"额",value:i(R[4])});let W;return R[6]>0?W="red":R[6]<0&&(W="green"),F.push({label:"涨跌",value:`${t(R[6])}%`,color:W}),F}),N=u.computed(()=>{var R,F;return((F=(R=v.value)==null?void 0:R.mainIndicator)==null?void 0:F.map(W=>({label:W.key,value:t(W.data[b.value]),color:W.color})))||[]}),D=u.computed(()=>{var R,F;return((F=(R=v.value)==null?void 0:R.subIndicator)==null?void 0:F.map(W=>({label:W.key,color:W.color,value:W.data[b.value]||"-"})))||[]}),E=()=>{if(!m.value)return console.warn("[K线] 主图DOM元素不存在,取消初始化"),!1;if(g)return!0;try{return g=Kr.init(m.value),g.on("highlight",Ra(R=>{var F;R.dataIndex?b.value=R.dataIndex:b.value=((F=R.batch)==null?void 0:F[0].dataIndex)??-1},10)),g.on("datazoom",Ra(async()=>{var G;const{loadCheckCount:R}=H2,{startValue:F,endValue:W}=((G=g.getOption())==null?void 0:G.dataZoom[0])??{};d===!1&&h===!1&&F<R&&await L("history"),l===!1&&c===!1&&W>v.value.time.length-R&&await L("new"),O(),A()})),g.on("globalout",()=>{if(g){const R=g.getOption();b.value=R.dataZoom[0].endValue}}),g.getZr().on("contextmenu",()=>{var R;w.value=(R=v.value)==null?void 0:R.time[b.value]}),window.addEventListener("keydown",M),a.userKlineConfig.enable_subChart&&y.value&&(p=Kr.init(y.value),Kr.connect([g,p])),m.value&&(f=wJ(m.value),f.listen(()=>{requestAnimationFrame(()=>{var R;g==null||g.resize(),p==null||p.resize(),(R=_.value)==null||R.resize()})})),!0}catch(R){return console.error("[st-klinePlus]: 初始化异常:",R),!1}},k=async({startTime:R,endTime:F})=>{d=!1,h=!1,l=!1,c=!1;try{o.value=!0;const W={varietyCode:a.varietyCode,cycle:a.cycle,right:a.varietyStock===1?a.rightType:0,contractType:a.varietyStock?null:a.klineType,mainIndicatorList:a.indicatorStore.getIndicatorParams(a.mainIndicator),subIndicator:x.value,deleteFirstNumber:a.deleteFirstNumber,withoutPermission:a.withoutPermission};["1","2","3","4","5"].includes(a.cycle)?Object.assign(W,{startTime:Dt(R).subtract(1,"day").format("YYYY-MM-DD HH:mm:ss"),endTime:Dt(F).add(1,"day").format("YYYY-MM-DD HH:mm:ss")}):["6","7"].includes(a.cycle)?Object.assign(W,{startTime:Dt(R).subtract(50,"day").format("YYYY-MM-DD HH:mm:ss"),endTime:Dt(F).add(50,"day").format("YYYY-MM-DD HH:mm:ss")}):Object.assign(W,{startTime:Dt(R).subtract(10,"month").format("YYYY-MM-DD HH:mm:ss"),endTime:Dt(F).add(10,"month").format("YYYY-MM-DD HH:mm:ss")});const{body:G}=await r.post("/middleLayer/kline/getKline",W);v.value=G??{data:[],mainIndicator:[],subIndicator:[],time:[]};let q=-1,z=-1;for(let ae=0;ae<v.value.time.length;ae++){const se=Dt(v.value.time[ae]).format("YYYY-MM-DD");if(q!==-1&&z!==-1)break;q===-1&&(new Date(se)===new Date(R)?q=ae:new Date(se)>new Date(R)&&(q=ae-1)),z===-1&&(new Date(se)===new Date(F)?z=ae:new Date(se)>new Date(F)&&(z=ae-1))}z===-1&&(z=v.value.time.length-1),P({startValue:q===-1?0:q,endValue:z===-1?v.value.time.length-1:z})}finally{o.value=!1}},L=async R=>{var se,ie;const{loadAddCount:F}=H2;switch(R){case"history":{d=!0;const ee={varietyCode:a.varietyCode,cycle:a.cycle,right:a.varietyStock===1?a.rightType:0,contractType:a.varietyStock?null:a.klineType,endTime:v.value.time[0],limit:F,mainIndicatorList:a.indicatorStore.getIndicatorParams(a.mainIndicator),subIndicator:x.value,deleteFirstNumber:a.deleteFirstNumber,withoutPermission:a.withoutPermission},{body:oe}=await r.post("/middleLayer/kline/getKline",ee);v.value=Rne(oe,v.value),oe.data.length<F&&(console.log("[K线] 获取更多数据: 左侧已全部获取完毕, 关闭"),h=!0),d=!1;break}case"new":{l=!0;const ee={varietyCode:a.varietyCode,cycle:a.cycle,right:a.varietyStock===1?a.rightType:0,contractType:a.varietyStock?null:a.klineType,startTime:v.value.time[v.value.time.length-1],limit:F,mainIndicatorList:a.indicatorStore.getIndicatorParams(a.mainIndicator),subIndicator:x.value,deleteFirstNumber:a.deleteFirstNumber,withoutPermission:a.withoutPermission},{body:oe}=await r.post("/middleLayer/kline/getKline",ee);v.value=Rne(v.value,oe),oe.data.length<F&&(console.log("[K线] 获取更多数据: 右侧已全部获取完毕, 关闭"),c=!0),l=!1;break}}const{startValue:W,endValue:G}=((se=g.getOption())==null?void 0:se.dataZoom[0])??{},q=(ie=g.getOption())==null?void 0:ie.xAxis[0].data,z=v.value.time.findIndex(ee=>new Date(ee)>=new Date(q[W])),ae=v.value.time.findIndex(ee=>new Date(ee)>=new Date(q[G]));P({startValue:z===-1?0:z,endValue:ae===-1?v.value.time.length-1:ae})},O=()=>{var z;if(!v.value.time.length)return C.value=[];const{time:R}=v.value,{startValue:F,endValue:W}=((z=g.getOption())==null?void 0:z.dataZoom[0])??{},G=R[F],q=R[W];["6","7","8"].includes(a.cycle)?C.value=[Dt(G).format("YYYY-MM-DD"),Dt(q).format("YYYY-MM-DD")]:C.value=[G,q]},P=(R={startValue:0,endValue:0})=>{if(!E()||!g)return console.warn("[st-klinePlus]: 图表未准备就绪, 跳过绘制");if(!v.value.time.length)return console.warn("[st-klinePlus]: 图表无数据, 跳过绘制");const{maxValueSpan:W}=H2,{time:G,data:q,mainIndicator:z}=v.value,ae=R.endValue-R.startValue>W?R.endValue-W:R.startValue,se=R.endValue,ie=z.map(le=>({name:le.key,type:"line",silent:!0,symbol:"none",data:le.data,lineStyle:{width:le.width||1},itemStyle:{color:le.color}})),{netPositionLineData:ee}=Sct(a.netPositionData,a.cycle),{tradeIncomeRateLineData:oe}=Dct(a.tradeIncomeRateData,a.cycle,a.incomeType,G),{tradePointData:ce,tradeLineData:pe}=xct(a.tradeLog,a.cycle,a.sellBuy,G,q,a.userKlineConfig);g.setOption({animation:!1,grid:{top:"40px",left:"60px",right:"20px",bottom:"20px"},dataZoom:[{type:"inside",startValue:ae,endValue:se,minValueSpan:H2.minValueSpan,maxValueSpan:H2.maxValueSpan}],tooltip:{trigger:"axis",appendToBody:!0,confine:!0,axisPointer:{type:"cross",label:{rich:{},formatter:le=>{const{axisDimension:me,value:Se}=le;return me==="x"?["6","7","8"].includes(a.cycle)?Dt(Se).format("YYYY-MM-DD"):Se:String(t(Se))}}},formatter:le=>{if(!(le!=null&&le.length))return null;let me="";if(le.forEach(te=>{if(te.seriesName==="netPosition"&&te.data!==null&&(me+=`<div>资产持仓净值: ${te.data[1]}</div>`),te.componentSubType==="candlestick")if(a.sellBuy===0){const j=ce.filter(J=>(J==null?void 0:J.coord[0])===te.axisValue);let Q=0,ne=0;j.forEach(J=>{const{tradeType:re,amount:Y}=J.customData;re==="买"&&(Q+=Y),re==="卖"&&(ne+=Y)}),Q&&(me+=`<div>买: ${Q}</div>`),ne&&(me+=`<div>卖: ${ne}</div>`)}else ce.forEach(j=>{if((j==null?void 0:j.coord[0])===te.axisValue){const{tradeType:Q,amount:ne,profitAndLoss:J,openPriceAll:re,closePriceAll:Y}=j.customData;let Z=`<div>${Q}: ${ne}手</div>`;if(Q.includes("开")&&(Z+=`<div>开仓价: ${(re/ne).toFixed(2)}</div>`),Q.includes("平")){const X=(re/ne).toFixed(2),V=(Y/ne).toFixed(2);Z+=`<div>平仓价: ${V}</div>`,Z+=`<div>盈亏: ${J==null?void 0:J.toFixed(2)}</div>`,Z+=`<div>盈亏比率: ${((V-X)/X*100).toFixed(2)} %</div>`}me+=Z}})}),!me)return null;let Se=le[0].axisValue;return["6","7","8"].includes(a.cycle)&&(Se=Dt(Se).format("YYYY-MM-DD")),`
143
+ `+t.message:i+="Unknown reason. Perhaps you specify the wrong file path to wasm binary?",new Error(i)})}let ynt=Re.ACCBANDS;function NJ(n){return Oe(ynt,n)}const vnt=NJ;let Cnt=Re.ACOS;function EJ(n){return Oe(Cnt,n)}const wnt=EJ;let xnt=Re.AD;function kJ(n){return Oe(xnt,n)}const Snt=kJ;let Dnt=Re.ADD;function LJ(n){return Oe(Dnt,n)}const Nnt=LJ;let Ent=Re.ADOSC;function MJ(n){return Oe(Ent,n)}const knt=MJ;let Lnt=Re.ADX;function TJ(n){return Oe(Lnt,n)}const Mnt=TJ;let Tnt=Re.ADXR;function AJ(n){return Oe(Tnt,n)}const Ant=AJ;let Int=Re.APO;function IJ(n){return Oe(Int,n)}const Rnt=IJ;let Ont=Re.AROON;function RJ(n){return Oe(Ont,n)}const Fnt=RJ;let Pnt=Re.AROONOSC;function OJ(n){return Oe(Pnt,n)}const Bnt=OJ;let Vnt=Re.ASIN;function FJ(n){return Oe(Vnt,n)}const znt=FJ;let Hnt=Re.ATAN;function PJ(n){return Oe(Hnt,n)}const jnt=PJ;let Wnt=Re.ATR;function BJ(n){return Oe(Wnt,n)}const $nt=BJ;let Unt=Re.AVGDEV;function VJ(n){return Oe(Unt,n)}const qnt=VJ;let Knt=Re.AVGPRICE;function zJ(n){return Oe(Knt,n)}const Gnt=zJ;let Ynt=Re.BBANDS;function HJ(n){return Oe(Ynt,n)}const Qnt=HJ;let Znt=Re.BETA;function jJ(n){return Oe(Znt,n)}const Xnt=jJ;let Jnt=Re.BOP;function WJ(n){return Oe(Jnt,n)}const eit=WJ;let tit=Re.CCI;function $J(n){return Oe(tit,n)}const nit=$J;let iit=Re.CDL2CROWS;function UJ(n){return Oe(iit,n)}const rit=UJ;let oit=Re.CDL3BLACKCROWS;function qJ(n){return Oe(oit,n)}const sit=qJ;let ait=Re.CDL3INSIDE;function KJ(n){return Oe(ait,n)}const lit=KJ;let uit=Re.CDL3LINESTRIKE;function GJ(n){return Oe(uit,n)}const cit=GJ;let dit=Re.CDL3OUTSIDE;function YJ(n){return Oe(dit,n)}const hit=YJ;let fit=Re.CDL3STARSINSOUTH;function QJ(n){return Oe(fit,n)}const pit=QJ;let git=Re.CDL3WHITESOLDIERS;function ZJ(n){return Oe(git,n)}const mit=ZJ;let bit=Re.CDLABANDONEDBABY;function XJ(n){return Oe(bit,n)}const _it=XJ;let yit=Re.CDLADVANCEBLOCK;function JJ(n){return Oe(yit,n)}const vit=JJ;let Cit=Re.CDLBELTHOLD;function eee(n){return Oe(Cit,n)}const wit=eee;let xit=Re.CDLBREAKAWAY;function tee(n){return Oe(xit,n)}const Sit=tee;let Dit=Re.CDLCLOSINGMARUBOZU;function nee(n){return Oe(Dit,n)}const Nit=nee;let Eit=Re.CDLCONCEALBABYSWALL;function iee(n){return Oe(Eit,n)}const kit=iee;let Lit=Re.CDLCOUNTERATTACK;function ree(n){return Oe(Lit,n)}const Mit=ree;let Tit=Re.CDLDARKCLOUDCOVER;function oee(n){return Oe(Tit,n)}const Ait=oee;let Iit=Re.CDLDOJI;function see(n){return Oe(Iit,n)}const Rit=see;let Oit=Re.CDLDOJISTAR;function aee(n){return Oe(Oit,n)}const Fit=aee;let Pit=Re.CDLDRAGONFLYDOJI;function lee(n){return Oe(Pit,n)}const Bit=lee;let Vit=Re.CDLENGULFING;function uee(n){return Oe(Vit,n)}const zit=uee;let Hit=Re.CDLEVENINGDOJISTAR;function cee(n){return Oe(Hit,n)}const jit=cee;let Wit=Re.CDLEVENINGSTAR;function dee(n){return Oe(Wit,n)}const $it=dee;let Uit=Re.CDLGAPSIDESIDEWHITE;function hee(n){return Oe(Uit,n)}const qit=hee;let Kit=Re.CDLGRAVESTONEDOJI;function fee(n){return Oe(Kit,n)}const Git=fee;let Yit=Re.CDLHAMMER;function pee(n){return Oe(Yit,n)}const Qit=pee;let Zit=Re.CDLHANGINGMAN;function gee(n){return Oe(Zit,n)}const Xit=gee;let Jit=Re.CDLHARAMI;function mee(n){return Oe(Jit,n)}const ert=mee;let trt=Re.CDLHARAMICROSS;function bee(n){return Oe(trt,n)}const nrt=bee;let irt=Re.CDLHIGHWAVE;function _ee(n){return Oe(irt,n)}const rrt=_ee;let ort=Re.CDLHIKKAKE;function yee(n){return Oe(ort,n)}const srt=yee;let art=Re.CDLHIKKAKEMOD;function vee(n){return Oe(art,n)}const lrt=vee;let urt=Re.CDLHOMINGPIGEON;function Cee(n){return Oe(urt,n)}const crt=Cee;let drt=Re.CDLIDENTICAL3CROWS;function wee(n){return Oe(drt,n)}const hrt=wee;let frt=Re.CDLINNECK;function xee(n){return Oe(frt,n)}const prt=xee;let grt=Re.CDLINVERTEDHAMMER;function See(n){return Oe(grt,n)}const mrt=See;let brt=Re.CDLKICKING;function Dee(n){return Oe(brt,n)}const _rt=Dee;let yrt=Re.CDLKICKINGBYLENGTH;function Nee(n){return Oe(yrt,n)}const vrt=Nee;let Crt=Re.CDLLADDERBOTTOM;function Eee(n){return Oe(Crt,n)}const wrt=Eee;let xrt=Re.CDLLONGLEGGEDDOJI;function kee(n){return Oe(xrt,n)}const Srt=kee;let Drt=Re.CDLLONGLINE;function Lee(n){return Oe(Drt,n)}const Nrt=Lee;let Ert=Re.CDLMARUBOZU;function Mee(n){return Oe(Ert,n)}const krt=Mee;let Lrt=Re.CDLMATCHINGLOW;function Tee(n){return Oe(Lrt,n)}const Mrt=Tee;let Trt=Re.CDLMATHOLD;function Aee(n){return Oe(Trt,n)}const Art=Aee;let Irt=Re.CDLMORNINGDOJISTAR;function Iee(n){return Oe(Irt,n)}const Rrt=Iee;let Ort=Re.CDLMORNINGSTAR;function Ree(n){return Oe(Ort,n)}const Frt=Ree;let Prt=Re.CDLONNECK;function Oee(n){return Oe(Prt,n)}const Brt=Oee;let Vrt=Re.CDLPIERCING;function Fee(n){return Oe(Vrt,n)}const zrt=Fee;let Hrt=Re.CDLRICKSHAWMAN;function Pee(n){return Oe(Hrt,n)}const jrt=Pee;let Wrt=Re.CDLRISEFALL3METHODS;function Bee(n){return Oe(Wrt,n)}const $rt=Bee;let Urt=Re.CDLSEPARATINGLINES;function Vee(n){return Oe(Urt,n)}const qrt=Vee;let Krt=Re.CDLSHOOTINGSTAR;function zee(n){return Oe(Krt,n)}const Grt=zee;let Yrt=Re.CDLSHORTLINE;function Hee(n){return Oe(Yrt,n)}const Qrt=Hee;let Zrt=Re.CDLSPINNINGTOP;function jee(n){return Oe(Zrt,n)}const Xrt=jee;let Jrt=Re.CDLSTALLEDPATTERN;function Wee(n){return Oe(Jrt,n)}const eot=Wee;let tot=Re.CDLSTICKSANDWICH;function $ee(n){return Oe(tot,n)}const not=$ee;let iot=Re.CDLTAKURI;function Uee(n){return Oe(iot,n)}const rot=Uee;let oot=Re.CDLTASUKIGAP;function qee(n){return Oe(oot,n)}const sot=qee;let aot=Re.CDLTHRUSTING;function Kee(n){return Oe(aot,n)}const lot=Kee;let uot=Re.CDLTRISTAR;function Gee(n){return Oe(uot,n)}const cot=Gee;let dot=Re.CDLUNIQUE3RIVER;function Yee(n){return Oe(dot,n)}const hot=Yee;let fot=Re.CDLUPSIDEGAP2CROWS;function Qee(n){return Oe(fot,n)}const pot=Qee;let got=Re.CDLXSIDEGAP3METHODS;function Zee(n){return Oe(got,n)}const mot=Zee;let bot=Re.CEIL;function Xee(n){return Oe(bot,n)}const _ot=Xee;let yot=Re.CMO;function Jee(n){return Oe(yot,n)}const vot=Jee;let Cot=Re.CORREL;function ete(n){return Oe(Cot,n)}const wot=ete;let xot=Re.COS;function tte(n){return Oe(xot,n)}const Sot=tte;let Dot=Re.COSH;function nte(n){return Oe(Dot,n)}const Not=nte;let Eot=Re.DEMA;function ite(n){return Oe(Eot,n)}const kot=ite;let Lot=Re.DIV;function rte(n){return Oe(Lot,n)}const Mot=rte;let Tot=Re.DX;function ote(n){return Oe(Tot,n)}const Aot=ote;let Iot=Re.EMA;function ste(n){return Oe(Iot,n)}const Rot=ste;let Oot=Re.EXP;function ate(n){return Oe(Oot,n)}const Fot=ate;let Pot=Re.FLOOR;function lte(n){return Oe(Pot,n)}const Bot=lte;let Vot=Re.HT_DCPERIOD;function ute(n){return Oe(Vot,n)}const zot=ute;let Hot=Re.HT_DCPHASE;function cte(n){return Oe(Hot,n)}const jot=cte;let Wot=Re.HT_PHASOR;function dte(n){return Oe(Wot,n)}const $ot=dte;let Uot=Re.HT_SINE;function hte(n){return Oe(Uot,n)}const qot=hte;let Kot=Re.HT_TRENDLINE;function fte(n){return Oe(Kot,n)}const Got=fte;let Yot=Re.HT_TRENDMODE;function pte(n){return Oe(Yot,n)}const Qot=pte;let Zot=Re.IMI;function gte(n){return Oe(Zot,n)}const Xot=gte;let Jot=Re.KAMA;function mte(n){return Oe(Jot,n)}const est=mte;let tst=Re.LINEARREG;function bte(n){return Oe(tst,n)}const nst=bte;let ist=Re.LINEARREG_ANGLE;function _te(n){return Oe(ist,n)}const rst=_te;let ost=Re.LINEARREG_INTERCEPT;function yte(n){return Oe(ost,n)}const sst=yte;let ast=Re.LINEARREG_SLOPE;function vte(n){return Oe(ast,n)}const lst=vte;let ust=Re.LN;function Cte(n){return Oe(ust,n)}const cst=Cte;let dst=Re.LOG10;function wte(n){return Oe(dst,n)}const hst=wte;let fst=Re.MA;function xte(n){return Oe(fst,n)}const pst=xte;let gst=Re.MACD;function Ste(n){return Oe(gst,n)}const mst=Ste;let bst=Re.MACDEXT;function Dte(n){return Oe(bst,n)}const _st=Dte;let yst=Re.MACDFIX;function Nte(n){return Oe(yst,n)}const vst=Nte;let Cst=Re.MAMA;function Ete(n){return Oe(Cst,n)}const wst=Ete;let xst=Re.MAVP;function kte(n){return Oe(xst,n)}const Sst=kte;let Dst=Re.MAX;function Lte(n){return Oe(Dst,n)}const Nst=Lte;let Est=Re.MAXINDEX;function Mte(n){return Oe(Est,n)}const kst=Mte;let Lst=Re.MEDPRICE;function Tte(n){return Oe(Lst,n)}const Mst=Tte;let Tst=Re.MFI;function Ate(n){return Oe(Tst,n)}const Ast=Ate;let Ist=Re.MIDPOINT;function Ite(n){return Oe(Ist,n)}const Rst=Ite;let Ost=Re.MIDPRICE;function Rte(n){return Oe(Ost,n)}const Fst=Rte;let Pst=Re.MIN;function Ote(n){return Oe(Pst,n)}const Bst=Ote;let Vst=Re.MININDEX;function Fte(n){return Oe(Vst,n)}const zst=Fte;let Hst=Re.MINMAX;function Pte(n){return Oe(Hst,n)}const jst=Pte;let Wst=Re.MINMAXINDEX;function Bte(n){return Oe(Wst,n)}const $st=Bte;let Ust=Re.MINUS_DI;function Vte(n){return Oe(Ust,n)}const qst=Vte;let Kst=Re.MINUS_DM;function zte(n){return Oe(Kst,n)}const Gst=zte;let Yst=Re.MOM;function Hte(n){return Oe(Yst,n)}const Qst=Hte;let Zst=Re.MULT;function jte(n){return Oe(Zst,n)}const Xst=jte;let Jst=Re.NATR;function Wte(n){return Oe(Jst,n)}const eat=Wte;let tat=Re.OBV;function $te(n){return Oe(tat,n)}const nat=$te;let iat=Re.PLUS_DI;function Ute(n){return Oe(iat,n)}const rat=Ute;let oat=Re.PLUS_DM;function qte(n){return Oe(oat,n)}const sat=qte;let aat=Re.PPO;function Kte(n){return Oe(aat,n)}const lat=Kte;let uat=Re.ROC;function Gte(n){return Oe(uat,n)}const cat=Gte;let dat=Re.ROCP;function Yte(n){return Oe(dat,n)}const hat=Yte;let fat=Re.ROCR;function Qte(n){return Oe(fat,n)}const pat=Qte;let gat=Re.ROCR100;function Zte(n){return Oe(gat,n)}const mat=Zte;let bat=Re.RSI;function Xte(n){return Oe(bat,n)}const _at=Xte;let yat=Re.SAR;function Jte(n){return Oe(yat,n)}const vat=Jte;let Cat=Re.SAREXT;function ene(n){return Oe(Cat,n)}const wat=ene;let xat=Re.SIN;function tne(n){return Oe(xat,n)}const Sat=tne;let Dat=Re.SINH;function nne(n){return Oe(Dat,n)}const Nat=nne;let Eat=Re.SMA;function ine(n){return Oe(Eat,n)}const kat=ine;let Lat=Re.SQRT;function rne(n){return Oe(Lat,n)}const Mat=rne;let Tat=Re.STDDEV;function one(n){return Oe(Tat,n)}const Aat=one;let Iat=Re.STOCH;function sne(n){return Oe(Iat,n)}const Rat=sne;let Oat=Re.STOCHF;function ane(n){return Oe(Oat,n)}const Fat=ane;let Pat=Re.STOCHRSI;function lne(n){return Oe(Pat,n)}const Bat=lne;let Vat=Re.SUB;function une(n){return Oe(Vat,n)}const zat=une;let Hat=Re.SUM;function cne(n){return Oe(Hat,n)}const jat=cne;let Wat=Re.T3;function dne(n){return Oe(Wat,n)}const $at=dne;let Uat=Re.TAN;function hne(n){return Oe(Uat,n)}const qat=hne;let Kat=Re.TANH;function fne(n){return Oe(Kat,n)}const Gat=fne;let Yat=Re.TEMA;function pne(n){return Oe(Yat,n)}const Qat=pne;let Zat=Re.TRANGE;function gne(n){return Oe(Zat,n)}const Xat=gne;let Jat=Re.TRIMA;function mne(n){return Oe(Jat,n)}const elt=mne;let tlt=Re.TRIX;function bne(n){return Oe(tlt,n)}const nlt=bne;let ilt=Re.TSF;function _ne(n){return Oe(ilt,n)}const rlt=_ne;let olt=Re.TYPPRICE;function yne(n){return Oe(olt,n)}const slt=yne;let alt=Re.ULTOSC;function vne(n){return Oe(alt,n)}const llt=vne;let ult=Re.VAR;function Cne(n){return Oe(ult,n)}const clt=Cne;let dlt=Re.WCLPRICE;function wne(n){return Oe(dlt,n)}const hlt=wne;let flt=Re.WILLR;function xne(n){return Oe(flt,n)}const plt=xne;let glt=Re.WMA;function Sne(n){return Oe(glt,n)}const l5=Object.freeze(Object.defineProperty({__proto__:null,ACCBANDS:NJ,ACOS:EJ,AD:kJ,ADD:LJ,ADOSC:MJ,ADX:TJ,ADXR:AJ,APO:IJ,AROON:RJ,AROONOSC:OJ,ASIN:FJ,ATAN:PJ,ATR:BJ,AVGDEV:VJ,AVGPRICE:zJ,BBANDS:HJ,BETA:jJ,BOP:WJ,CCI:$J,CDL2CROWS:UJ,CDL3BLACKCROWS:qJ,CDL3INSIDE:KJ,CDL3LINESTRIKE:GJ,CDL3OUTSIDE:YJ,CDL3STARSINSOUTH:QJ,CDL3WHITESOLDIERS:ZJ,CDLABANDONEDBABY:XJ,CDLADVANCEBLOCK:JJ,CDLBELTHOLD:eee,CDLBREAKAWAY:tee,CDLCLOSINGMARUBOZU:nee,CDLCONCEALBABYSWALL:iee,CDLCOUNTERATTACK:ree,CDLDARKCLOUDCOVER:oee,CDLDOJI:see,CDLDOJISTAR:aee,CDLDRAGONFLYDOJI:lee,CDLENGULFING:uee,CDLEVENINGDOJISTAR:cee,CDLEVENINGSTAR:dee,CDLGAPSIDESIDEWHITE:hee,CDLGRAVESTONEDOJI:fee,CDLHAMMER:pee,CDLHANGINGMAN:gee,CDLHARAMI:mee,CDLHARAMICROSS:bee,CDLHIGHWAVE:_ee,CDLHIKKAKE:yee,CDLHIKKAKEMOD:vee,CDLHOMINGPIGEON:Cee,CDLIDENTICAL3CROWS:wee,CDLINNECK:xee,CDLINVERTEDHAMMER:See,CDLKICKING:Dee,CDLKICKINGBYLENGTH:Nee,CDLLADDERBOTTOM:Eee,CDLLONGLEGGEDDOJI:kee,CDLLONGLINE:Lee,CDLMARUBOZU:Mee,CDLMATCHINGLOW:Tee,CDLMATHOLD:Aee,CDLMORNINGDOJISTAR:Iee,CDLMORNINGSTAR:Ree,CDLONNECK:Oee,CDLPIERCING:Fee,CDLRICKSHAWMAN:Pee,CDLRISEFALL3METHODS:Bee,CDLSEPARATINGLINES:Vee,CDLSHOOTINGSTAR:zee,CDLSHORTLINE:Hee,CDLSPINNINGTOP:jee,CDLSTALLEDPATTERN:Wee,CDLSTICKSANDWICH:$ee,CDLTAKURI:Uee,CDLTASUKIGAP:qee,CDLTHRUSTING:Kee,CDLTRISTAR:Gee,CDLUNIQUE3RIVER:Yee,CDLUPSIDEGAP2CROWS:Qee,CDLXSIDEGAP3METHODS:Zee,CEIL:Xee,CMO:Jee,CORREL:ete,COS:tte,COSH:nte,DEMA:ite,DIV:rte,DX:ote,EMA:ste,EXP:ate,FLOOR:lte,HT_DCPERIOD:ute,HT_DCPHASE:cte,HT_PHASOR:dte,HT_SINE:hte,HT_TRENDLINE:fte,HT_TRENDMODE:pte,IMI:gte,KAMA:mte,LINEARREG:bte,LINEARREG_ANGLE:_te,LINEARREG_INTERCEPT:yte,LINEARREG_SLOPE:vte,LN:Cte,LOG10:wte,MA:xte,MACD:Ste,MACDEXT:Dte,MACDFIX:Nte,MAMA:Ete,get MAType(){return ok},MAVP:kte,MAX:Lte,MAXINDEX:Mte,MEDPRICE:Tte,MFI:Ate,MIDPOINT:Ite,MIDPRICE:Rte,MIN:Ote,MININDEX:Fte,MINMAX:Pte,MINMAXINDEX:Bte,MINUS_DI:Vte,MINUS_DM:zte,MOM:Hte,MULT:jte,NATR:Wte,OBV:$te,PLUS_DI:Ute,PLUS_DM:qte,PPO:Kte,ROC:Gte,ROCP:Yte,ROCR:Qte,ROCR100:Zte,RSI:Xte,SAR:Jte,SAREXT:ene,SIN:tne,SINH:nne,SMA:ine,SQRT:rne,STDDEV:one,STOCH:sne,STOCHF:ane,STOCHRSI:lne,SUB:une,SUM:cne,T3:dne,TAN:hne,TANH:fne,TEMA:pne,TRANGE:gne,TRIMA:mne,TRIX:bne,TSF:_ne,TYPPRICE:yne,ULTOSC:vne,VAR:Cne,WCLPRICE:wne,WILLR:xne,WMA:Sne,accBands:vnt,acos:wnt,ad:Snt,adOsc:knt,add:Nnt,adx:Mnt,adxr:Ant,apo:Rnt,aroon:Fnt,aroonOsc:Bnt,asin:znt,atan:jnt,atr:$nt,avgDev:qnt,avgPrice:Gnt,bbands:Qnt,beta:Xnt,bop:eit,cci:nit,cdl2Crows:rit,cdl3BlackCrows:sit,cdl3Inside:lit,cdl3LineStrike:cit,cdl3Outside:hit,cdl3StarsInSouth:pit,cdl3WhiteSoldiers:mit,cdlAbandonedBaby:_it,cdlAdvanceBlock:vit,cdlBeltHold:wit,cdlBreakaway:Sit,cdlClosingMarubozu:Nit,cdlConcealBabysWall:kit,cdlCounterAttack:Mit,cdlDarkCloudCover:Ait,cdlDoji:Rit,cdlDojiStar:Fit,cdlDragonflyDoji:Bit,cdlEngulfing:zit,cdlEveningDojiStar:jit,cdlEveningStar:$it,cdlGapSideSideWhite:qit,cdlGravestoneDoji:Git,cdlHammer:Qit,cdlHangingMan:Xit,cdlHarami:ert,cdlHaramiCross:nrt,cdlHignWave:rrt,cdlHikkake:srt,cdlHikkakeMod:lrt,cdlHomingPigeon:crt,cdlIdentical3Crows:hrt,cdlInNeck:prt,cdlInvertedHammer:mrt,cdlKicking:_rt,cdlKickingByLength:vrt,cdlLadderBottom:wrt,cdlLongLeggedDoji:Srt,cdlLongLine:Nrt,cdlMarubozu:krt,cdlMatHold:Art,cdlMatchingLow:Mrt,cdlMorningDojiStar:Rrt,cdlMorningStar:Frt,cdlOnNeck:Brt,cdlPiercing:zrt,cdlRickshawMan:jrt,cdlRiseFall3Methods:$rt,cdlSeperatingLines:qrt,cdlShootingStar:Grt,cdlShortLine:Qrt,cdlSpinningTop:Xrt,cdlStalledPattern:eot,cdlStickSandwhich:not,cdlTakuri:rot,cdlTasukiGap:sot,cdlThrusting:lot,cdlTristar:cot,cdlUnique3River:hot,cdlUpsideGap2Crows:pot,cdlXSideGap3Methods:mot,ceil:_ot,cmo:vot,correl:wot,cos:Sot,cosh:Not,dema:kot,div:Mot,dx:Aot,ema:Rot,exp:Fot,floor:Bot,htDcPeriod:zot,htDcPhase:jot,htPhasor:$ot,htSine:qot,htTrendMode:Qot,htTrendline:Got,imi:Xot,init:sk,kama:est,linearReg:nst,linearRegAngle:rst,linearRegIntercept:sst,linearRegSlope:lst,ln:cst,log10:hst,macd:mst,macdExt:_st,macdFix:vst,mama:wst,max:Nst,maxIndex:kst,medPrice:Mst,mfi:Ast,midPoint:Rst,midPrice:Fst,min:Bst,minIndex:zst,minMax:jst,minMaxIndex:$st,minusDI:qst,minusDM:Gst,mom:Qst,movingAverage:pst,movingAverageVariablePeriod:Sst,mult:Xst,natr:eat,obv:nat,plusDI:rat,plusDM:sat,ppo:lat,roc:cat,rocP:hat,rocR:pat,rocR100:mat,rsi:_at,sar:vat,sarExt:wat,sin:Sat,sinh:Nat,sma:kat,sqrt:Mat,stdDev:Aat,stoch:Rat,stochF:Fat,stochRsi:Bat,sub:zat,sum:jat,t3:$at,tan:qat,tanh:Gat,tema:Qat,trima:elt,trix:nlt,trueRange:Xat,tsf:rlt,typPrice:slt,ultOsc:llt,variance:clt,wclPrice:hlt,willR:plt,wma:Sne},Symbol.toStringTag,{value:"Module"}));let Dne=!1,Nne=!0,Ene=[];const kne=n=>{const e=[],t=[],i=[],r=[],o=[],s=[];return n.forEach((a,l)=>{e.push(a[0]),t.push(a[1]),i.push(a[4]),r.push(a[2]),o.push(a[3]),s.push([a[1],a[4],a[3],a[2],Number(a[6]),l===0?a[4]:n[l-1][4]])}),{time:e,open:t,close:i,high:r,low:o,kLineData:s}},mlt=async()=>{if(!Dne)Dne=!0,await sk("./talib.wasm"),Nne=!1,Ene.forEach(n=>{n()});else if(Nne)return new Promise(n=>{Ene.push(n)})},v_=(n,e)=>n.length>e?n.slice(n.length-e):n,blt=(n,e,t)=>n.calculationFn?n.calculationFn(l5,e,t):new Array(e.time.length).fill(null),_lt=async(n,e,t)=>{const i=kne(n);let r=[];return r=kne(r),await mlt(),{originData:v_(n,t),kLine:v_(i.kLineData,t),time:v_(i.time,t),indicator:e.config.reduce((o,s)=>(o.push({key:s.key,color:s.color,data:v_(blt(s,i,r),t)}),o),[])}},ak="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjM4NzI1IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI2MjUiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNGRjAwMDAiIHAtaWQ9IjI2MjYiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjcwOTMzMyAxNjcuNzIyNjY3YzAuMTI4LTIxLjc2IDkuOTg0LTQyLjY2NjY2NyAyNy4zOTItNTcuOTQxMzM0YTkzLjMxMiA5My4zMTIgMCAwIDEgNjQuNDY5MzM0LTIzLjg5MzMzM0w3NjEuNiA4NS4zMzMzMzNjMjUuNiAwLjU1NDY2NyA0Ny4zNiA4Ljc4OTMzMyA2NC45Mzg2NjcgMjQuNDA1MzM0IDE3LjkyIDE2IDI2Ljg4IDM1LjIgMjYuODggNTcuNDcybC0wLjU1NDY2NyA0MTkuODRjMC4yOTg2NjcgMjIuNjk4NjY3LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuOTIyNjY2LTEyLjYyOTMzMyAyNy4zMDY2NjctMjcuOTQ2NjY3IDQ4Ljg5Ni00NS44MjQgNjQuODk2bC0yMTEuMjQyNjY3IDE4OC4yMDI2NjdjLTE3LjU3ODY2NyAxNS43MDEzMzMtMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45Mzg2NjcgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0Ljk4MTMzMy0yMy41OTQ2NjdsLTIxMS4xNTczMzMtMTg4LjE2Yy0xNy45Mi0xNi4wNDI2NjctMzMuMjgtMzcuNzE3MzMzLTQ1LjkwOTMzNC02NC45ODEzMzMtMTIuNjcyLTI3LjMwNjY2Ny0xOS4wMjkzMzMtNTIuMzk0NjY3LTE5LjAyOTMzMy03NS4zMDY2NjdMMTcwLjY2NjY2NyAxNjcuNzIyNjY3eiBtNDIuNjY2NjY3IDAuMjU2bDAuNTU0NjY3IDQxOC42ODhjMCAxNi4yMTMzMzMgNC44MjEzMzMgMzUuMzI4IDE1LjAxODY2NiA1Ny4zNDQgMTAuMzY4IDIyLjI3MiAyMi4zNTczMzMgMzkuMjEwNjY3IDM1LjYyNjY2NyA1MS4wNzJsMjExLjQxMzMzMyAxODguNDE2YzguOTYgOC4xMDY2NjcgMjEuODg4IDEyLjggMzYuMjI0IDEyLjU0NCAxNS41MzA2NjctMC4wNDI2NjcgMjcuMDkzMzMzLTQuMjY2NjY3IDM2LjY5MzMzNC0xMi44bDIxMS4xNTczMzMtMTg4LjExNzMzNGMxMy4zMTItMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNTg0LTUxLjA3MiAxMC4xMTItMjEuODQ1MzMzIDE0Ljc2MjY2Ny00MC41NzYgMTQuNTA2NjY3LTU3LjA0NTMzM2wwLjU1NDY2Ni00MTkuNzU0NjY3YzAtOS44OTg2NjctMy41ODQtMTcuNjIxMzMzLTEyLjQ1ODY2Ni0yNS42YTU0LjY5ODY2NyA1NC42OTg2NjcgMCAwIDAtMzYuNjA4LTEzLjYxMDY2NmwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NyAxMy4zMTIgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzMgMjEuNDYxMzMzbC0wLjQyNjY2NyA0LjY5MzMzNHoiIGZpbGw9IiNBRTAwMDAiIHAtaWQ9IjI2MjciPjwvcGF0aD48cGF0aCBkPSJNMzg0IDY1NC4xMjI2NjdoMTUzLjUxNDY2N2M5Ni43NjggMCAxNDIuNzYyNjY3LTQ4Ljk4MTMzMyAxNDIuNzYyNjY2LTExNy4wNzczMzQgMC01OS43MzMzMzMtMzMuNDUwNjY3LTg4LjQwNTMzMy04NC44MjEzMzMtOTcuOTYyNjY2di0xLjc5MmM0OC45ODEzMzMtMTUuNTMwNjY3IDY2LjkwMTMzMy00Ni41OTIgNjYuOTAxMzMzLTg5LjYgMC02NS4xMDkzMzMtNDAuNjE4NjY3LTEwMy4zMzg2NjctMTM0Ljk5NzMzMy0xMDMuMzM4NjY3SDM4NHY0MDkuNzcwNjY3eiBtNzIuODc0NjY3LTU0Ljk1NDY2N3YtMTMxLjQxMzMzM2g2Ni4zMDRjNTEuOTY4IDAgODAuMDQyNjY3IDE3LjkyIDgwLjA0MjY2NiA2NS4xMDkzMzMgMCA0NC44LTI2LjI4MjY2NyA2Ni4zMDQtNzUuODYxMzMzIDY2LjMwNGgtNzAuNDg1MzMzeiBtMC0xODAuMzk0NjY3VjI5OC43MDkzMzNoNjAuMzMwNjY2YzQ3LjE4OTMzMyAwIDcyLjI3NzMzMyAxNC45MzMzMzMgNzIuMjc3MzM0IDU5LjEzNiAwIDQ2LjU5Mi0zMi4yNTYgNjAuOTI4LTc1LjI2NCA2MC45MjhoLTU3LjM0NHoiIGZpbGw9IiNGRkZGRkYiIHAtaWQ9IjI2MjgiPjwvcGF0aD48L3N2Zz4=",lk="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjQxNjY0IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI3NzciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiM1NEFCMzAiIHAtaWQ9IjI3NzgiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiMzODhEMTQiIHAtaWQ9IjI3NzkiPjwvcGF0aD48cGF0aCBkPSJNNTA2LjQ1MzMzMyA2NzQuNzMwNjY3Yzk5LjE1NzMzMyAwIDE0Ni4zNDY2NjctNDguMzg0IDE0Ni4zNDY2NjctMTI2LjAzNzMzNCAwLTcyLjg3NDY2Ny0zOC44MjY2NjctOTkuNzU0NjY3LTEwMy4zMzg2NjctMTE4LjI3MmwtMzguMjI5MzMzLTExLjk0NjY2NmMtNDAuNjE4NjY3LTExLjM0OTMzMy01Mi41NjUzMzMtMjUuMDg4LTUyLjU2NTMzMy01Ny4zNDQgMC0zMi44NTMzMzMgMjMuODkzMzMzLTUwLjc3MzMzMyA2Ni45MDEzMzMtNTAuNzczMzM0IDQ1LjM5NzMzMyAwIDc4Ljg0OCA5LjU1NzMzMyAxMDQuNTMzMzMzIDIwLjMwOTMzNFYyNzMuMzIyNjY3Yy0yMi42OTg2NjctMTEuOTQ2NjY3LTUxLjk2OC0yMi4xMDEzMzMtMTA1LjcyOC0yMi4xMDEzMzQtOTIuNTg2NjY3IDAtMTM3LjM4NjY2NyA0Ny4xODkzMzMtMTM3LjM4NjY2NiAxMTYuNDggMCA2OS4yOTA2NjcgMzUuMjQyNjY3IDEwMC4zNTIgOTMuMTg0IDExNi40OGwzOC44MjY2NjYgMTAuNzUyYzQ0LjggMTMuNzM4NjY3IDU5LjczMzMzMyAyNi44OCA1OS43MzMzMzQgNjAuOTI4IDAgMzcuMDM0NjY3LTIzLjI5NiA1OS43MzMzMzMtNzguMjUwNjY3IDU5LjczMzMzNC00NC44IDAtODMuNjI2NjY3LTEwLjc1Mi0xMTYuNDgtMjUuMDg4djU3Ljk0MTMzM2MyOC4wNzQ2NjcgMTQuOTMzMzMzIDY4LjY5MzMzMyAyNi4yODI2NjcgMTIyLjQ1MzMzMyAyNi4yODI2Njd6IiBmaWxsPSIjRkZGRkZGIiBwLWlkPSIyNzgwIj48L3BhdGg+PC9zdmc+",uk="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjI4MjAyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjMwNzgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNDODgwRkYiIHAtaWQ9IjMwNzkiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiNBRTQ0RkYiIHAtaWQ9IjMwODAiPjwvcGF0aD48cGF0aCBkPSJNNDc1LjMwNjY2NyA2NTguMjE4NjY3aDczLjQ3MlYzMDYuMzg5MzMzaDExNi40OFYyNDguNDQ4aC0zMDcuNjI2NjY3djU3Ljk0MTMzM2gxMTcuNjc0NjY3eiIgZmlsbD0iI0ZGRkZGRiIgcC1pZD0iMzA4MSI+PC9wYXRoPjwvc3ZnPg==",u5=(n,e)=>{const{type:t="log",color:i="black"}=e??{};localStorage.getItem("st-kline-console-show")==="true"&&console[t](`%c${n}`,`color:${i}`)},Oa=n=>n||n===0?Math.round(n*1e3)/1e3:null,ylt=n=>n>=1e12?`${(n/1e12).toFixed(2)}万亿`:n>=1e8?`${(n/1e8).toFixed(2)}亿`:n>=1e4?`${(n/1e4).toFixed(2)}万`:n.toFixed(2),vlt=n=>{const{y:e,text:t,info:i,gridLeft:r,gridRight:o,echartsWidth:s,echartsInstance:a}=n,{config:l,event:c}=i;let d=0;return{type:"group",draggable:l.draggable?"vertical":!1,children:[{type:"line",info:i,shape:{x1:r,y1:e,x2:s-o,y2:e},style:{stroke:l.lineColor,lineWidth:1,lineDash:[8,4]},z:10},{type:"group",x:s,y:e-5,children:[{type:"text",left:-1*o,info:i,style:{fill:l.textColor,text:t,stroke:"#000",lineWidth:1,opacity:1},z:10}]}],onmouseover:h=>{c.onmouseover instanceof Function&&c.onmouseover(h,i)},onmouseout:h=>{c.onmouseout instanceof Function&&c.onmouseout(h,i)},ondragstart:h=>{c.ondragstart instanceof Function&&l.draggable&&(d=h.offsetY,c.ondragstart(h,i))},ondragend:h=>{if(c.ondragend instanceof Function&&l.draggable){const p=h.offsetY-d;if(p===0)return;const g=a.convertFromPixel({yAxisIndex:0},e+p);c.ondragend(h,i,g)}}}},Clt=n=>{const{y:e,text:t,info:i,gridLeft:r,gridRight:o,echartsWidth:s,echartsInstance:a}=n,{config:l,event:c}=i;let d=0;const h=p=>{let g=null;p.target.type==="line"?g=p.target.parent:p.target.type==="tspan"&&(g=p.target.parent.parent.parent),g.children()[1].children()[0].animate("style",!1).when(200,{opacity:1}).start()},f=p=>{let g=null;p.target.type==="line"?g=p.target.parent:p.target.type==="tspan"&&(g=p.target.parent.parent.parent),g.children()[1].children()[0].animate("style",!1).when(200,{opacity:0}).start()};return{type:"group",draggable:l.draggable?"vertical":!1,children:[{type:"line",info:i,shape:{x1:r,y1:e,x2:s-o,y2:e},style:{stroke:l.lineColor,lineWidth:1},z:10},{type:"group",x:s/2,y:e-5,children:[{type:"text",left:"center",info:i,style:{fill:l.textColor,text:t,stroke:"#000",lineWidth:1,opacity:0},z:10}]}],onmouseover:p=>{c.onmouseover instanceof Function?c.onmouseover(p,i):h(p)},onmouseout:p=>{c.onmouseout instanceof Function?c.onmouseout(p,i):f(p)},ondragstart:p=>{c.ondragstart instanceof Function&&l.draggable&&(d=p.offsetY,c.ondragstart(p,i))},ondragend:p=>{if(c.ondragend instanceof Function&&l.draggable){const m=p.offsetY-d;if(m===0)return;const y=a.convertFromPixel({yAxisIndex:0},e+m);c.ondragend(p,i,y)}}}},wlt=n=>{const{y:e,text:t,profitY:i,profitText:r,lossY:o,lossText:s,info:a,gridLeft:l,gridRight:c,echartsWidth:d,echartsInstance:h}=n,{config:f,event:p}=a;let g=0,m=null,y=null;const _=(C,w)=>{var x,S,N,D;(x=C.children()[2])==null||x.animate("style",!1).when(200,{opacity:~~w}).start(),(S=C.children()[3].children()[0])==null||S.animate("style",!1).when(200,{opacity:~~w}).start(),(N=C.children()[4])==null||N.animate("style",!1).when(200,{opacity:~~w}).start(),(D=C.children()[5].children()[0])==null||D.animate("style",!1).when(200,{opacity:~~w}).start()},v=C=>{let w=null;C.target.type==="line"?w=C.target.parent:C.target.type==="tspan"&&(w=C.target.parent.parent.parent),m=x=>{x.preventDefault(),(x.code==="AltLeft"||x.code==="AltRight")&&_(w,!0)},y=x=>{(x.code==="AltLeft"||x.code==="AltRight")&&_(w,!1)},window.addEventListener("keydown",m),window.addEventListener("keyup",y)},b=C=>{let w=null;C.target.type==="line"?w=C.target.parent:C.target.type==="tspan"&&(w=C.target.parent.parent.parent),_(w,!1),window.removeEventListener("keydown",m),window.removeEventListener("keyup",y)};return{type:"group",draggable:f.draggable?"vertical":!1,children:[{type:"line",info:a,shape:{x1:l,y1:e,x2:d-c,y2:e},style:{stroke:f.lineColor,lineWidth:1},z:10},{type:"group",x:d/2,y:e-5,children:[{type:"text",left:"center",info:a,style:{fill:f.textColor,text:t,stroke:"#000",lineWidth:1,opacity:1},z:10}]},{type:"line",info:a,shape:{x1:l,y1:i,x2:d-c,y2:i},style:{stroke:f.profitLineColor,lineWidth:1,lineDash:[8,4],opacity:0},z:10},{type:"group",x:d/2,y:i-5,children:[{type:"text",left:"center",info:a,style:{fill:f.profitTextColor,text:r,stroke:"#000",lineWidth:1,opacity:0},z:10}]},{type:"line",info:a,shape:{x1:l,y1:o,x2:d-c,y2:o},style:{stroke:f.lossLineColor,lineWidth:1,lineDash:[8,4],opacity:0},z:10},{type:"group",x:d/2,y:o-5,children:[{type:"text",left:"center",info:a,style:{fill:f.lossTextColor,text:s,stroke:"#000",lineWidth:1,opacity:0},z:10}]}],onmouseover:C=>{p.onmouseover instanceof Function?p.onmouseover(C,a):v(C)},onmouseout:C=>{p.onmouseout instanceof Function?p.onmouseout(C,a):b(C)},ondragstart:C=>{p.ondragstart instanceof Function&&f.draggable&&(g=C.offsetY,p.ondragstart(C,a))},ondragend:C=>{if(p.ondragend instanceof Function&&f.draggable){const x=C.offsetY-g;if(x===0)return;const S=h.convertFromPixel({yAxisIndex:0},e+x);p.ondragend(C,a,S)}}}},C_=(n,e)=>{const{direction:t="",tradeAction:i="",tradeType:r=""}=n;if(e==="sellBuy"){const o=r??t+i;return new Map([["开多","买"],["平多","卖"],["开空","卖"],["平空","买"]]).get(o)}else if(e==="openClose")return r??t+i},xlt=(n,e)=>n.reduce((t,i)=>{var d;const r=C_(i,"sellBuy"),o=n.filter(h=>h.time===i.time);let s="image://"+new URL(Object.assign({"./images/buy.svg":ak,"./images/sell.svg":lk,"./images/t.svg":uk})[`./images/${r==="买"?"buy":"sell"}.svg`],self.location).href;o.length>1?[...new Set(o.map(f=>C_(f,"sellBuy")))].length>1?s="image://"+new URL("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjI4MjAyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjMwNzgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNDODgwRkYiIHAtaWQ9IjMwNzkiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiNBRTQ0RkYiIHAtaWQ9IjMwODAiPjwvcGF0aD48cGF0aCBkPSJNNDc1LjMwNjY2NyA2NTguMjE4NjY3aDczLjQ3MlYzMDYuMzg5MzMzaDExNi40OFYyNDguNDQ4aC0zMDcuNjI2NjY3djU3Ljk0MTMzM2gxMTcuNjc0NjY3eiIgZmlsbD0iI0ZGRkZGRiIgcC1pZD0iMzA4MSI+PC9wYXRoPjwvc3ZnPg==",self.location).href:s="image://"+new URL(Object.assign({"./images/buy.svg":ak,"./images/sell.svg":lk,"./images/t.svg":uk})[`./images/${r==="买"?"buy":"sell"}.svg`],self.location).href:s="image://"+new URL(Object.assign({"./images/buy.svg":ak,"./images/sell.svg":lk,"./images/t.svg":uk})[`./images/${r==="买"?"buy":"sell"}.svg`],self.location).href;const l=(e.find(h=>h[0]===i.time)??[])[2],c=((d=i==null?void 0:i.markLineTarget)==null?void 0:d.map(h=>{const f=i.time,p=l+"",g=h.time,m=e.find(_=>_[0]===h.time),y=m?m[3]:null;return[{coord:[f,p],lineStyle:h.lineStyle},{coord:[g,y]}]}))??null;return t.push({symbol:s,symbolSize:25,animation:!1,coord:[i.time+"",l],symbolRotate:0,symbolOffset:[0,"-7"],markLineTarget:c}),t},[]),Slt=(n,e)=>n.reduce((t,i,r)=>{var h;const o=C_(i,"openClose"),s=o==="开多"||o==="开空"?"top":"bottom",a=e.find(f=>f[0]===i.time)??[],l=s==="top"?a[2]:a[3];let c=7;c+=n.slice(0,r).filter(f=>{const p=C_(f,"openClose");return(p==="开多"||p==="开空"?"top":"bottom")===s&&f.time===i.time}).length*7;const d=((h=i==null?void 0:i.markLineTarget)==null?void 0:h.map(f=>{const p=i.time,g=l+"",m=f.time,y=e.find(_=>_[0]===f.time)[3];return[{coord:[p,g],lineStyle:f.lineStyle},{coord:[m,y]}]}))??null;return t.push({symbol:"triangle",symbolSize:[10,12],animation:!1,coord:[i.time+"",l],symbolRotate:s==="top"?180:0,symbolOffset:[0,`${s==="top"?c*-1:c}`],itemStyle:{color:s==="top"?"#FF0000":"#389e0d"},label:{show:!0,position:s,color:"#fff",formatter:`${o} ${s==="top"?"+":"-"} ${i.amount}手 ${i.part?`(${i.part}份)`:""}`},markLineTarget:d}),t},[]),Dlt=(n,e)=>n.reduce((t,i)=>{const{key:r,data:o}=i;if(o===null||o.length===0)return t;const a=new Map([["sellBuy",()=>xlt(o,e)],["openClose",()=>Slt(o,e)],["signal",()=>{}]]).get(r);return a instanceof Function&&t.push(...a()),t},[]),ck=async(n,e,t,i,r,o)=>{const{totalBarCount:s,defaultShowBarCount:a,maxValueSpan:l,gridLeft:c,gridTop:d,gridRight:h,gridBottom:f,zoomLock:p}=i,{time:g,kLine:m,originData:y,indicator:_}=await _lt(n,t,s),v=_.map(w=>{const{key:x,data:S,color:N}=w;return{name:x,type:"line",silent:!0,symbol:"none",data:S,lineStyle:{width:1},itemStyle:{color:N}}}),b=Dlt(e,y);let C=[];return b.forEach(w=>{w.markLineTarget&&(C=[...C,...w.markLineTarget])}),{animation:!1,dataset:{id:"data",source:{klineData:m,indicatorData:_}},grid:{left:`${c}px`,top:`${d}px`,right:`${h}px`,bottom:`${f}px`},tooltip:{trigger:"axis",axisPointer:{type:"cross",label:{formatter:w=>{const{axisDimension:x,value:S}=w;return x==="x"?S:String(Oa(S))}}},formatter:w=>{let x=null,S="";return w.forEach(N=>{N.seriesName==="资产持仓净值"&&N.data!==null&&(S+=`<div>资产持仓净值: ${N.data}</div>`),N.componentSubType==="candlestick"&&e.forEach(D=>{const{key:E,data:k}=D;if(E==="sellBuy"){const L=k.filter(A=>A.time===N.axisValue);let O=0,P=0;L.forEach(A=>{A.tradeType==="开多"||A.tradeType==="平空"?O+=A.amount:P+=A.amount}),O&&(S+=`<div>买: ${O}</div>`),P&&(S+=`<div>卖: ${P}</div>`)}E==="openClose"&&k.forEach(L=>{L.time===N.axisValue&&(S+=L.tooltip)})}),S&&(x=`<div><span style="font-weight: bold;">${N.axisValue}</span>${S}</div>`)}),x}},xAxis:{type:"category",data:g,axisLine:{show:!0},splitLine:{show:!0,lineStyle:{type:"dotted",color:"#333"}},axisLabel:{show:!0,formatter:w=>w}},yAxis:[{index:0,splitLine:{show:!0,lineStyle:{type:"dotted",color:"#333"}},min:w=>{const{min:x,max:S}=w,N=Math.abs((S-x)/10);return x-N},max:w=>{const{min:x,max:S}=w,N=Math.abs((S-x)/10);return S+N},axisLine:{show:!0},axisLabel:{formatter:w=>Oa(w),showMaxLabel:!1}},{show:!1,min:"dataMin"}],dataZoom:[{type:"inside",xAxisIndex:[0,0],zoomLock:p,maxValueSpan:l,start:m.length>=a?(m.length-a)/m.length*100:0,end:99.99}],series:[{name:"k线",type:"candlestick",data:m,markPoint:{data:b},markLine:{position:"middle",textStyle:{color:"blue",fontSize:15},animation:!1,data:C,lineStyle:{width:3,type:"solid"},symbol:["none","none"]},itemStyle:{color:"transparent",color0:"#00FFFF",borderColor:"#FF0000",borderColor0:"#00FFFF",borderWidth:1},z:1},...v,{name:"资产持仓净值",type:"line",data:r??[],symbol:"none",yAxisIndex:1,connectNulls:!0,itemStyle:{color:"#666"}},{name:"二腿相关度",type:"line",data:o??[],symbol:"none",yAxisIndex:1,connectNulls:!0,itemStyle:{color:"#FFF"},lineStyle:{width:2},label:{show:!0,position:"top",formatter:w=>`相关度: ${w.data[1]}`,textStyle:{color:"#FFF",fontSize:14}}}],toolbox:{show:!1},brush:{xAxisIndex:"all",brushLink:"all",transformable:!1,outOfBrush:{colorAlpha:1},brushStyle:{color:"rgba(120,140,180,0)",borderColor:"rgba(255,255,255,0.4)"}}}},Nlt=(n,e,t)=>{var h;const{gridLeft:i,gridRight:r,gridBottom:o,warningConfig:s,positionConfig:a,conditionConfig:l,isOpenDS:c}=e;let d=[];if((h=t==null?void 0:t.getModel())!=null&&h.getComponent){const[f,p]=t.getModel().getComponent("yAxis").axis.scale._extent;let g=[],m={},y=[],_={},v=[],b={};if(n.forEach(({key:C,data:w,...x})=>{C==="warning"?(g=w,m=x):C==="position"?(y=w,_=x):C==="condition"&&(v=w,b=x)}),g.length>0&&(d=g.reduce((C,w)=>{const{value:x,text:S,info:N,config:D}=w;if(x>p||x<f)return C;const E={y:t.convertToPixel({yAxisIndex:0},x),text:S,info:{info:N,config:{...s,...D},event:{...m}},gridLeft:i,gridRight:r,echartsWidth:t.getWidth(),echartsInstance:t};return[...C,vlt(E)]},d)),y.length>0&&(d=y.reduce((C,w)=>{const{value:x,text:S,info:N,config:D}=w;if(x>p||x<f)return C;const E={y:t.convertToPixel({yAxisIndex:0},x),text:S,info:{info:N,config:{...a,...D},event:{..._}},gridLeft:i,gridRight:r,echartsWidth:t.getWidth(),echartsInstance:t};return[...C,Clt(E)]},d)),v.length>0&&(d=v.reduce((C,w)=>{const{value:x,text:S,profitValue:N,profitText:D,lossValue:E,lossText:k,info:L,config:O}=w;if(x>p||x<f)return C;const P={y:t.convertToPixel({yAxisIndex:0},x),text:S,profitY:t.convertToPixel({yAxisIndex:0},N),profitText:D,lossY:t.convertToPixel({yAxisIndex:0},E),lossText:k,info:{info:L,config:{...l,...O},event:{...b}},gridLeft:i,gridRight:r,echartsWidth:t.getWidth(),echartsInstance:t};return[...C,wlt(P)]},d)),c){const C=t.getOption(),w=C.dataset[0].source.klineData.slice(C.dataZoom[0].startValue,C.dataZoom[0].endValue+1),x={};w.forEach(P=>{x[P[1]]?x[P[1]]+=1:x[P[1]]=1});const S=w[w.length-1][1],N=w.reduce((P,A)=>P+A[1],0)/w.length,D=S-N,E=klt(w,1,50),k=Llt(w),L=k?D/k:0,O=Elt(w,1,S);d=[...d,{type:"group",draggable:!1,children:Object.keys(x).map(P=>({type:"line",shape:{x1:t.getWidth()-r-100*x[P],y1:t.convertToPixel({yAxisIndex:0},P),x2:t.getWidth()-r,y2:t.convertToPixel({yAxisIndex:0},P)},style:{stroke:"rgb(124,124,124)",lineWidth:1},z:10}))},{type:"text",x:i+6,y:t.getHeight()-o-20,style:{fill:"#FFF",text:`均值: ${Oa(N)}    距均值: ${Oa(D)}    中值: ${Oa(E)}    标准差: ${Oa(k)}    距均值/标准差: ${Oa(L)}    百分位: ${Oa(O)}%`,lineWidth:1,opacity:1},z:10}]}}return{elements:d}},Elt=(n,e,t)=>{const{round:i,add:r,subtract:o,multiply:s,divide:a}=wl,l=n.map(d=>d[e]).sort((d,h)=>d-h);let c=0;for(let d=0;d<l.length;d++)if(l[d]===t){c=d;break}else if(l[d]>=t){c=r(d,a(o(l[d+1],l[d]),l[d]));break}return i(a(s(c,100),n.length+1))},klt=(n,e,t)=>{const{round:i,add:r,subtract:o,multiply:s,divide:a}=wl,l=n.map(f=>f[e]).sort((f,p)=>f-p),c=s(n.length+1,a(t,100)),d=Math.floor(c),h=o(c,d);return i(h===0?l[c]:r(l[d],s(o(l[d>=n.length-1?d:d+1],l[d]),h)))};function Llt(n){const e=n.map(s=>s[1]),t=e.length;let i=0,r=0;for(const s of e)i+=s;const o=i/t;for(const s of e)r+=Math.pow(s-o,2);return Math.sqrt(r/t)}const Mlt={class:"st-kline"},Tlt={class:"st-kline-header"},Alt=300,Ilt=u.defineComponent({__name:"index",props:{indicator:{type:Object,default:()=>({})},klineData:{type:Array,default:()=>[]},markData:{type:Array,default:()=>[]},lineData:{type:Array,default:()=>[]},netPositionData:{type:Array,default:()=>[]},relevanceData:{type:Array,default:()=>[]},priceTrendData:{type:Array,default:()=>[]},priceTrendPercentData:{type:Array,default:()=>[]},brushRange:{type:Array,default:()=>[]},defaultMenuData:{type:Array,default:()=>[]},isSelect:{type:Boolean,default:()=>!1},config:{type:Object,default:()=>({})}},setup(n){const e=n,t={totalBarCount:2e3,defaultShowBarCount:200,preBarCount:800,maxValueSpan:1e4,gridLeft:60,gridTop:0,gridRight:60,gridBottom:30,warningConfig:{draggable:!1,lineColor:"#fff",textColor:"#fff"},positionConfig:{draggable:!1,lineColor:"#e45d07",textColor:"#fff"},conditionConfig:{draggable:!1,lineColor:"#fff",textColor:"#fff",profitLineColor:"#b71e44",profitTextColor:"#fff",lossLineColor:"#749b66",lossTextColor:"#fff"},tipsConfig:{open:!0,heigh:!0,low:!0,close:!0,business:!0,riseAndFall:!0},dynamicLoadConfig:{historyVisible:!1,historyLoadCallBack:()=>{},futureVisible:!1,futureLoadCallBack:()=>{}},zoomLock:!1,isOpenDS:!1},i=u.computed(()=>({...t,...e.config})),r=u.ref(null),o=u.ref(-1),s=u.computed(()=>{var P,A;if(r.value&&((A=(P=r.value.dataset[0])==null?void 0:P.source)!=null&&A.klineData[o.value])){const I=r.value.dataset[0].source.klineData[o.value],M=[],{open:R,heigh:F,low:W,close:G,business:q,riseAndFall:z}=i.value.tipsConfig;if(R&&M.push({label:"开",value:I[0],color:"rgb(153, 153, 153)"}),F&&M.push({label:"高",value:I[3],color:"rgb(153, 153, 153)"}),W&&M.push({label:"低",value:I[2],color:"rgb(153, 153, 153)"}),G&&M.push({label:"收",value:I[1],color:"rgb(153, 153, 153)"}),q&&M.push({label:"额",value:ylt(I[4]),color:"rgb(153, 153, 153)"}),z){let ae=((I[1]-I[5])/I[1]*100).toFixed(2),se=+ae==0?"white":+ae>0?"red":"#00ff00";M.push({label:"涨跌",value:`${ae}%`,color:se})}return M}return[]}),a=u.computed(()=>{var P,A;return r.value&&((A=(P=r.value.dataset[0])==null?void 0:P.source)!=null&&A.indicatorData)?r.value.dataset[0].source.indicatorData.reduce((I,M)=>(M.data[o.value]&&I.push({label:M.key,value:Oa(M.data[o.value]),color:M.color}),I),[]):[]}),l=u.computed(()=>{const P=["#FFFFFF","#FFDD00","#FF00FF","#00FF00","#FF6000","#1677FF","#7C3CC9","#FF0000","#FB9A0E","#00B7FF"];if(e.priceTrendData.length>0){const A=[];return e.priceTrendData.forEach((I,M)=>{var F;(I.data[o.value]?Oa(I.data[o.value][1]):null)!==null&&A.push({label:I.name,value:Oa((F=I.data[o.value])==null?void 0:F[1]),color:P[M]})}),A}if(e.priceTrendPercentData.length>0){const A=[];return m.getOption().series.filter(M=>M.name.includes("二腿价格走势百分比图")).forEach((M,R)=>{var W;(M.data[o.value]?Oa(M.data[o.value][1]):null)!==null&&A.push({label:M.name.split("-")[1],value:`${Oa((W=M.data[o.value])==null?void 0:W[1])}%`,color:P[R]})}),A}return[]});u.watch(()=>[e.klineData,e.indicator,e.markData,e.netPositionData,e.relevanceData],()=>{c()},{deep:!0}),u.watch(()=>e.lineData,async()=>{u5("st-kline组件消息:props.lineData监控,额外画线数据发生改变,重绘->line",{color:"red"}),c("line")},{deep:!0}),u.watch(()=>e.brushRange,async()=>{u5("st-kline组件消息:props.brushRange监控,区域刷选数据发生改变,重绘->brush",{color:"red"}),c("brush")},{deep:!0}),u.watch(()=>e.priceTrendData,async()=>{c("priceTrend")},{deep:!0}),u.watch(()=>e.priceTrendPercentData,async()=>{c("priceTrendPercent")},{deep:!0});const c=async P=>{const I=new Map([["kline",async()=>{const M=await ck(e.klineData,e.markData,e.indicator,i.value,e.netPositionData,e.relevanceData),{graphic:R}=m.getOption()??{graphic:[]};r.value={...M,graphic:R},m.setOption(r.value,!0),u5("st-kline组件消息:K线绘制完毕-draw",{color:"green"})}],["line",()=>{const M=m.getOption(),R=Nlt(e.lineData,i.value,m);r.value={...M,graphic:R},m.setOption(r.value,{replaceMerge:["graphic"]}),u5("st-kline组件消息:额外画线绘制完毕-draw",{color:"green"})}],["brush",()=>{const{brushRange:M}=e;M instanceof Array&&M.length>0&&(m.dispatchAction({type:"brush",areas:[{brushType:"lineX",coordRange:[M[0]+"",M[1]+""],xAxisIndex:0}]}),u5("st-kline组件消息:区域刷选绘制完毕-draw",{color:"green"}))}],[void 0,async()=>{await c("kline"),await c("line"),await c("priceTrend"),await c("priceTrendPercent"),await c("brush")}],["history",async()=>{const M=m.getOption(),R=await ck(e.klineData,e.markData,e.indicator,i.value,e.netPositionData,e.relevanceData),F=R.dataset.source.klineData.length-M.dataset[0].source.klineData.length;m.setOption({...R,dataZoom:[{type:"inside",xAxisIndex:[0,0],zoomLock:i.value.zoomLock,maxValueSpan:i.value.maxValueSpan,startValue:M.dataZoom[0].startValue+F,endValue:M.dataZoom[0].endValue+F}]},!0),await c("priceTrend")}],["future",async()=>{const M=m.getOption(),R=await ck(e.klineData,e.markData,e.indicator,i.value,e.netPositionData,e.relevanceData);R.dataZoom[0].start=(e.klineData.length-M.dataZoom[0].endValue+M.dataZoom[0].startValue)/e.klineData.length*100,m.setOption(R,!0),await c("priceTrend")}],["priceTrend",()=>{if(e.priceTrendData.length===0)return;const M=m.getOption(),R=["#FFFFFF","#FFDD00","#FF00FF","#00FF00","#FF6000","#1677FF","#7C3CC9","#FF0000","#FB9A0E","#00B7FF"],F=e.priceTrendData.reduce((W,G,q)=>{const{name:z,data:ae}=G,se={name:`二腿价格走势图-${z}`,type:"line",data:ae,symbol:"none",yAxisIndex:1,connectNulls:!0,itemStyle:{color:R[q]},lineStyle:{type:"dashed",width:1}};return W.push(se),W},[]);r.value={...M,series:[...M.series,...F]},m.setOption(r.value,{replaceMerge:["series"]})}],["priceTrendPercent",async()=>{if(e.priceTrendPercentData.length===0)return;const M=m.getOption(),R=["#FFFFFF","#FFDD00","#FF00FF","#00FF00","#FF6000","#1677FF","#7C3CC9","#FF0000","#FB9A0E","#00B7FF"],F=M.dataZoom[0].startValue,W=e.priceTrendPercentData.reduce((G,q,z)=>{const{name:ae,data:se}=q,ie=se.length>i.value.totalBarCount?se.slice(se.length-i.value.totalBarCount):se,ee=ie[F][1],oe=ie.map(pe=>[pe[0],(pe[1]-ee)/ee*100]),ce={name:`二腿价格走势百分比图-${ae}`,type:"line",data:oe,symbol:"none",yAxisIndex:1,connectNulls:!0,itemStyle:{color:R[z]},lineStyle:{type:"dashed",width:1}};return G.push(ce),G},[]);M.series=[...M.series.filter(G=>!G.name.includes("二腿价格走势百分比图")),...W],m.setOption(M,!0)}]]).get(P);I instanceof Function&&await I()},d=u.ref(!1),h=u.ref([]),f=P=>{const{callBack:A}=P;A instanceof Function&&A(m,d)},p=()=>{h.value=e.defaultMenuData},g=u.ref();let m,y;const _=(P,A)=>{var I,M;if(P)o.value=typeof((I=P==null?void 0:P.batch[0])==null?void 0:I.dataIndex)=="number"?(M=P==null?void 0:P.batch[0])==null?void 0:M.dataIndex:-1;else{const R=A.getOption();R.dataZoom instanceof Array&&(o.value=R.dataZoom[0].endValue)}};let v=null,b=!1,C=u.ref(!1),w=!1,x=u.ref(!1);const S=async P=>{const A=P.batch?P.batch[0].start*i.value.totalBarCount:P.startValue;i.value.dynamicLoadConfig.historyVisible&&A<=100&&!b&&!C.value&&(b=!0,await i.value.dynamicLoadConfig.historyLoadCallBack(C),await c("history"),b=!1);const I=P.batch?P.batch[0].end===100:P.endValue>=e.klineData.length-i.value.preBarCount-1,M=P.actionIsWheel;i.value.dynamicLoadConfig.futureVisible&&I&&!w&&!x.value&&!M&&(w=!0,await i.value.dynamicLoadConfig.futureLoadCallBack(x),await c("future"),w=!1),clearTimeout(v),v=setTimeout(()=>{c("line"),c("priceTrendPercent"),clearTimeout(v),v=null},Alt)};let N=null;const D=P=>{N=setTimeout(()=>{var A;if(P.componentType==="graphic"){const{oncontextmenu:I}=((A=P.info)==null?void 0:A.event)??{};I instanceof Function&&I(P,P.info,h)}clearTimeout(N),N=null})},E=()=>{m.on("highlight",P=>{_(P,m)}),m.on("globalout",()=>{_(null,m)}),m.on("contextmenu",P=>{D(P)}),m.on("datazoom",P=>{S(P)})},k=()=>{m.off("highlight"),m.off("globalout"),m.off("contextmenu"),m.off("datazoom")},L=P=>{if(!m||!(P.ctrlKey||e.isSelect))return;const A=m.getOption();let{startValue:I,endValue:M,start:R,end:F}=A.dataZoom[0];const W=()=>{I!==0&&(I=I-1,M=M-1,m.dispatchAction({type:"dataZoom",startValue:I,endValue:M,maxValueSpan:i.value.maxValueSpan}))},G=()=>{if(i.value.dynamicLoadConfig.futureVisible&&!w&&!x.value)I=I+1,M=M+1,m.dispatchAction({type:"dataZoom",startValue:I,endValue:M,maxValueSpan:i.value.maxValueSpan});else{if(M===A.xAxis[0].data.length-1)return;I=I+1,M=M+1,m.dispatchAction({type:"dataZoom",startValue:I,endValue:M,maxValueSpan:i.value.maxValueSpan})}},q=()=>{if(M-I<5)return;const ie=Math.floor((o.value-I)/2)+1,ee=Math.floor((M-o.value)/2)+1;I=I+ie,M=M-ee,m.dispatchAction({type:"dataZoom",startValue:I,endValue:M,actionIsWheel:!0,maxValueSpan:i.value.maxValueSpan})},z=()=>{R=R-(F-R)/4,m.dispatchAction({type:"dataZoom",start:R,end:F,actionIsWheel:!0,maxValueSpan:i.value.maxValueSpan})},se=new Map([["ArrowLeft",W],["ArrowRight",G],["ArrowUp",q],["ArrowDown",z]]).get(P.code);se instanceof Function&&se()},O=async()=>{let P=!0;m=Kr.init(g.value),await c(),h.value=e.defaultMenuData,o.value=m.getOption().dataZoom[0].endValue??-1,E(),y=new ResizeObserver(()=>{if(P){P=null;return}m.resize(),c("line")}),y.observe(g.value),window.addEventListener("keydown",L)};return u.onMounted(()=>{O()}),u.onUnmounted(()=>{k(),window.removeEventListener("keydown",L),m.dispose(),y.disconnect(),y=null}),(P,A)=>{const I=_z,M=bz;return u.openBlock(),u.createElementBlock("div",Mlt,[u.createElementVNode("div",Tlt,[u.createVNode(ik,{data:s.value},null,8,["data"]),u.createVNode(ik,{data:a.value},null,8,["data"]),u.createVNode(ik,{data:l.value},null,8,["data"])]),u.createVNode(bnt,{class:"st-kline-body",onCloseContextMenuCallBack:p},{popover:u.withCtx(()=>[u.createVNode(M,{class:"menu"},{default:u.withCtx(()=>[(u.openBlock(!0),u.createElementBlock(u.Fragment,null,u.renderList(h.value,R=>(u.openBlock(),u.createBlock(I,{key:R.label,index:R.label,class:"menuItem",onClick:F=>f(R)},{default:u.withCtx(()=>[u.createTextVNode(u.toDisplayString(R.label),1)]),_:2},1032,["index","onClick"]))),128))]),_:1})]),default:u.withCtx(()=>[u.createElementVNode("div",{ref_key:"echartsRef",ref:g,class:u.normalizeClass(d.value?"st-kline-chart cursorPen":"st-kline-chart")},null,2)]),_:1})])}}}),MAt="",TAt="",Rlt=en(Ilt,[["__scopeId","data-v-57c04894"]]),Olt={class:"kline-tips"},Flt=u.defineComponent({__name:"index",props:{data:{type:Array,require:!0}},setup(n){return(e,t)=>(u.openBlock(),u.createElementBlock("div",Olt,[(u.openBlock(!0),u.createElementBlock(u.Fragment,null,u.renderList(n.data,(i,r)=>(u.openBlock(),u.createElementBlock("div",{key:r,class:"kline-tips-item",style:u.normalizeStyle({color:i.color})},u.toDisplayString(i.label)+" "+u.toDisplayString(i.value),5))),128))]))}}),AAt="",dk=en(Flt,[["__scopeId","data-v-dc7d381b"]]),IAt="",Plt={class:"klineSub"},Blt={class:"klineSub-tips"},Vlt={key:0,class:"klineSub-tips-select"},zlt=en({__name:"index",props:{data:{type:Object,require:!0},activeIndex:{type:[Number,String],require:!0},modelValue:{type:String,required:!0},subIndicatorList:{type:Array,required:!0}},emits:["update:modelValue"],setup(n,{expose:e,emit:t}){const{round:i}=wl;let r,o;const s=t,a=n,l=u.ref(),c=u.computed({get(){return a.modelValue},set(f){s("update:modelValue",f)}}),d=u.computed(()=>{var g;const{data:f,activeIndex:p}=a;return((g=f==null?void 0:f.subIndicator)==null?void 0:g.map(m=>({label:m.key,color:m.color,value:m.data[p]||"-"})))||[]});u.onMounted(()=>{r=Kr.init(l.value);let f=!0;o=new ResizeObserver(()=>{if(f){f=null;return}r.resize()}),o.observe(l.value)}),u.onUnmounted(()=>{r.dispose(),o.disconnect(),o=null});const h=(f,p)=>{const g=f[p],m=p===0?f[p]:f[p-1];return g[0]===g[1]?g[0]>=m[1]?{color:"transparent",borderColor:"#FF0000"}:{color:"#00FFFF"}:g[1]>g[0]?{color:"transparent",borderColor:"#FF0000"}:{color:"#00FFFF"}};return e({connect:f=>{Kr.connect([f,r])},draw:(f,p)=>{u.nextTick(()=>{const{startValue:g,endValue:m,maxValueSpan:y}=f,{leftYAxisRange:_,rightYAxisRange:v}=a.data.subIndicator[0],b=a.data.subIndicator.map(C=>{if(C.series==="bar")return{name:"subMain",xAxisIndex:0,yAxisIndex:1,type:"bar",silent:!0,symbol:"none",data:C.data.map((w,x)=>C.seriesColor==="kline"?{value:w,itemStyle:h(a.data.data,x)}:C.seriesColor==="value"?{value:w,itemStyle:{color:w>=0?"#FF0000":"#00FFFF"}}:{value:w,itemStyle:{color:C.seriesColor}})};if(C.series==="line")return{xAxisIndex:0,yAxisIndex:C.yAxis==="right"?2:1,name:C.key,type:"line",silent:!0,symbol:"none",data:C.data,lineStyle:{width:1},itemStyle:{color:C.color}}});r.setOption({animation:!1,grid:{left:`${p.gridLeft}px`,top:"10px",right:`${p.gridRight}px`,bottom:"20px"},dataZoom:[{type:"inside",startValue:g,endValue:m,maxValueSpan:y}],tooltip:{trigger:"axis",appendToBody:!0,confine:!0,axisPointer:{type:"cross",label:{rich:{},formatter:C=>{const{axisDimension:w,value:x}=C;if(w==="x")return x;if(C.axisIndex===1)return String(i(x))}}},formatter:()=>""},xAxis:{type:"category",data:a.data.time,axisLine:{show:!0},splitLine:{show:!1},axisLabel:{show:!0,formatter:C=>C}},yAxis:[{position:"right"},{position:"left",min:_==="cover"?C=>C.min:null,max:_==="cover"?C=>C.max:null,splitNumber:1,axisLine:{show:!0},splitLine:{show:!0,lineStyle:{type:"dotted",color:"#333"}}},{position:"right",min:v==="cover"?C=>C.min:null,max:v==="cover"?C=>C.max:null,splitNumber:1,axisLine:{show:!1},splitLine:{show:!1},axisLabel:{show:!1}}],series:b},!0)})}}),(f,p)=>{const g=Ea,m=Na;return u.openBlock(),u.createElementBlock("div",Plt,[u.createElementVNode("div",Blt,[d.value.length?(u.openBlock(),u.createElementBlock("div",Vlt,[u.createVNode(m,{modelValue:c.value,"onUpdate:modelValue":p[0]||(p[0]=y=>c.value=y),size:"small","popper-class":"element-dark",class:"element-dark subIndicator"},{default:u.withCtx(()=>[(u.openBlock(!0),u.createElementBlock(u.Fragment,null,u.renderList(n.subIndicatorList,y=>(u.openBlock(),u.createBlock(g,{key:y.value,label:y.label,value:y.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])])):u.createCommentVNode("",!0),u.createVNode(dk,{data:d.value},null,8,["data"])]),u.createElementVNode("div",{class:"klineSub-chart",ref_key:"subChartRef",ref:l},null,512)])}}},[["__scopeId","data-v-aba58678"]]),OAt="",Hlt={class:"kline-tips"},jlt=en({__name:"index",props:{data:{type:Object,require:!0},activeIndex:{type:[Number,String],require:!0}},setup(n){const{round:e,formatValue:t}=wl,i=n,r=u.computed(()=>{const{data:s,activeIndex:a}=i;if(s.data&&s.data[a]){const l=s.data[a],c=[{label:"开",value:l[0]},{label:"高",value:l[3]},{label:"低",value:l[2]},{label:"收",value:l[1]}];l[4]!==null&&c.push({label:"额",value:t(l[4])});let d;return l[6]>0?d="red":l[6]<0&&(d="green"),c.push({label:"涨跌",value:`${e(l[6])}%`,color:d}),c}return[]}),o=u.computed(()=>{var l;const{data:s,activeIndex:a}=i;return((l=s==null?void 0:s.mainIndicator)==null?void 0:l.map(c=>({label:c.key,value:e(c.data[a]),color:c.color})))||[]});return(s,a)=>(u.openBlock(),u.createElementBlock("div",Hlt,[u.createVNode(dk,{data:r.value},null,8,["data"]),u.createVNode(dk,{data:o.value},null,8,["data"])]))}},[["__scopeId","data-v-09ec31e8"]]),Wlt={__name:"index",setup(n,{expose:e}){return e({handleKeyDown:(t,i)=>{let{startValue:r,endValue:o,maxIndex:s}=i;if(t.code==="ArrowLeft"){if(r===0)return;r=r-1,o=o-1}else if(t.code==="ArrowRight"){if(o===s)return;r=r+1,o=o+1}else if(t.code==="ArrowUp"){if(o-r<5)return;const a=Math.floor((o-r)/2)+1;r=r+a,o-r<5&&(r=o-4)}else if(t.code==="ArrowDown"){const a=Math.min(500,o-r);r=r-a-1}return{startValue:r,endValue:o}},mergeData:(t,i)=>({time:[...t.time,...i.time.slice(1)],data:[...t.data,...i.data.slice(1)],mainIndicator:t.mainIndicator.map((r,o)=>({...r,data:[...r.data,...i.mainIndicator[o].data.slice(1)]})),subIndicator:t.subIndicator.map((r,o)=>({...r,data:[...r.data,...i.subIndicator[o].data.slice(1)]}))}),getDataZoomInfoByTime:t=>{const{showStartTime:i,showEndTime:r,maxShowDays:o}=t;let s=-1,a=-1,l={};return t.time.forEach((c,d)=>{const h=c.split(" ")[0];l[h]=l[h]||0,l[h]+=1,s===-1&&new Date(c)>=new Date(i)&&(s=d),a===-1&&new Date(c)>=new Date(r)&&(a=d)}),a=a===-1?t.time.length-1:a,{startValue:s,endValue:a,maxValueSpan:Math.max(...Object.values(l))*o}}}),(t,i)=>null}},PAt="",$lt=en({__name:"index",props:{data:{type:Array,default:()=>[]}},emits:["change"],setup(n,{expose:e,emit:t}){let i,r,o=null;const s=t,a=n,l=u.ref();u.watch(()=>a.data,()=>{h()},{deep:!0}),u.onMounted(()=>{i=Kr.init(l.value),c(),h();let f=!0;r=new ResizeObserver(()=>{if(f){f=null;return}i.resize()}),r.observe(l.value)}),u.onUnmounted(()=>{i.off("datazoom"),i.dispose(),r.disconnect(),r=null});const c=()=>{i.on("datazoom",f=>{f.dataZoomId&&(clearTimeout(o),o=setTimeout(()=>{const{data:p}=a,{start:g,end:m}=f,y=Math.floor(g*p.length/100),_=m===100?p.length-1:Math.floor(m*p.length/100);d(y,_),clearTimeout(o)},100))})},d=(f,p)=>{const g=a.data;if(g.length===0)return;const m=g[f][0].split(" ")[0],y=g[p][0].split(" ")[0];s("change",{startTime:`${m} 00:00:00`,endTime:`${y} 24:00:00`})},h=()=>{const{data:f}=a;if(f.length===0)return;const p=f.map(m=>m[0].split(" ")[0]),g=f.map(m=>m[1]);i.setOption({grid:{height:0,left:"80px",right:"80px"},xAxis:{type:"category",data:p,show:!1},yAxis:{type:"value"},series:[{data:g,type:"line"}]},!0)};return e({resetSlide:(f,p,g)=>{let m=-1,y=-1;a.data.forEach((_,v)=>{m===-1&&_[0]===f?m=v:m===-1&&new Date(_[0])>new Date(f)&&(m=v-1),(y===-1&&_[0]===p||y===-1&&new Date(_[0])>new Date(p))&&(y=v)}),y=y===-1?a.data.length-1:y,i.setOption({dataZoom:[{show:!0,startValue:m,endValue:y,maxValueSpan:g,textStyle:{color:"#ccc"}},{type:"inside",startValue:m,endValue:y,maxValueSpan:g}]})},resize:()=>{i==null||i.resize()}}),(f,p)=>(u.openBlock(),u.createElementBlock("div",{class:"klineSlide",ref_key:"slideChartRef",ref:l},null,512))}},[["__scopeId","data-v-7a2f3dd0"]]),Ult={install(n){n.component("st-kline",Rlt),n.component("st-kline-sub-new",zlt),n.component("st-kline-tips-new",jlt),n.component("st-kline-slide-new",$lt),n.component("st-kline-utils-new",Wlt)}};let V2=null;const qlt=n=>{const e=CJ(n,{handleReq:t=>{SJ()&&(t.headers.token=xJ())},handleRes:t=>{const{data:i}=t;if(i.code===401)return location.origin.includes("localhost")?location.href=`${location.origin}/#/404`:ek(),!0}});e.get,V2=e.post},Klt=n=>V2("/middleLayer/kline/getKlineBasic",{...n,userId:_c("id")}),Glt=n=>V2("/middleLayer/kline/getKline",n),Ylt=async n=>V2("/alarm/deliversign/addAlarmPrice",{...n,userId:_c("id")}),Qlt=async n=>V2("/alarm/deliversign/findAlarmPriceByUserId",{...n,userId:_c("id")}),Lne=async n=>V2("/alarm/deliversign/updateAlarmPrice",{...n,userId:_c("id")}),Zlt=async n=>V2("/alarm/deliversign/deleteAlarmPrice",{...n,userId:_c("id")}),{round:z2}=wl,Xlt=(n,e,t,i,r)=>{const{data:o,time:s}=n,{gridTop:a,gridRight:l,gridLeft:c,maxShowCounts:d,showSubChart:h}=e;return{animation:!1,grid:{top:`${a}px`,right:`${l}px`,bottom:h?"6px":"24px",left:`${c}px`},dataZoom:[{type:"inside",startValue:t,endValue:i,maxValueSpan:d}],tooltip:{trigger:"axis",appendToBody:!0,confine:!0,axisPointer:{type:"cross",label:{rich:{},formatter:f=>{const{axisDimension:p,value:g}=f;return p==="x"?h?"":["6","7","8"].includes(r)?Dt(g).format("YYYY-MM-DD"):g:String(z2(g))}}},formatter:()=>""},xAxis:{show:!h,type:"category",data:s,splitLine:{show:!1},axisLabel:{formatter:f=>["6","7","8"].includes(r)?Dt(f).format("YYYY-MM-DD"):f}},yAxis:{type:"value",axisLine:{show:!0},splitLine:{show:!0,lineStyle:{type:"dotted",color:"#333"}},min:f=>z2(f.min),max:f=>z2(f.max)},series:[{type:"candlestick",data:o,itemStyle:{color:"transparent",color0:"#00FFFF",borderColor:"#FF0000",borderColor0:"#00FFFF",borderWidth:1}},...n.mainIndicator.map(f=>({name:f.key,type:"line",silent:!0,symbol:"none",data:f.data,lineStyle:{width:f.width||1},itemStyle:{color:f.color}}))],toolbox:{show:!1},brush:{xAxisIndex:"all",brushLink:"all",transformable:!1,outOfBrush:{colorAlpha:2},brushStyle:{color:"rgba(255,255,255,0.1)",borderColor:"rgba(255,255,255,0.4)"}}}},Jlt=(n,e,t,i,r)=>{const{variety:o,featureId:s,featureType:a}=t,{gridTop:l,gridLeft:c,gridRight:d}=i;return e.reduce((h,f)=>{const{warnPrice:p}=f,g=n==null?void 0:n.convertToPixel({yAxisIndex:0},p);if(g<=l||g>=(n==null?void 0:n.getHeight()))return h;let m=0;return[...h,{type:"group",name:"warningLine",info:f,draggable:"vertical",children:[{type:"line",info:f,shape:{x1:c,y1:g,x2:(n==null?void 0:n.getWidth())-d,y2:g},style:{stroke:"#FFF",lineWidth:1,lineDash:[8,4]},z:10},{type:"text",info:f,x:(n==null?void 0:n.getWidth())-d,y:g-5,style:{fill:"#FFF",text:p,stroke:"#000",lineWidth:1,opacity:1},z:10}],ondragstart:y=>{m=y.offsetY},ondrag:y=>{var _;if(y.target&&y.target.childAt(1)){const v=n.convertFromPixel({yAxisIndex:0},g+(y.offsetY-m));(_=y.target.childAt(1))==null||_.animate("style",!1).when(1,{text:z2(v,3)}).start()}},ondragend:async y=>{const v=y.offsetY-m;if(v!==0){const b=n==null?void 0:n.convertFromPixel({yAxisIndex:0},v+g),C={id:f.id,warnPrice:z2(b,3),featureId:s,featureCode:o,featureType:a};await Lne(C),At.success("画线预警修改成功"),r&&r()}}}]},[])};function Mne(n){function e(i){if(typeof i=="number")return Number.isFinite(i)?i:null;if(typeof i=="string"){const r=i.trim();if(r==="")return null;const o=Number(r);return Number.isFinite(o)?o:null}return null}const t=e(n);if(t===null)return"-";try{if(t>=1||t<=-1)return z2(t);{const i=t.toPrecision(3);return z2(i,i.split(".")[1].length-1)}}catch{return"-"}}const eut=u.defineComponent({__name:"index",props:{data:{type:Array,require:!0}},setup(n){const e=n,t=u.ref(null),i=u.ref([]);return u.watch(()=>e.data,()=>{i.value.length===0&&u.nextTick(()=>{Array.from(t.value.children).forEach((r,o)=>{var s,a,l,c,d,h,f,p;((a=(s=e.data)==null?void 0:s[o])==null?void 0:a.label)==="涨跌"?i.value[o]="85px":((c=(l=e.data)==null?void 0:l[o])==null?void 0:c.label)==="至今涨幅"?i.value[o]="115px":((h=(d=e.data)==null?void 0:d[o])==null?void 0:h.label)==="额"?i.value[o]="85px":["开","高","低","收"].includes((p=(f=e.data)==null?void 0:f[o])==null?void 0:p.label)?i.value[o]=`${r.offsetWidth+24}px`:i.value[o]=`${r.offsetWidth+36}px`})})}),(r,o)=>(u.openBlock(),u.createElementBlock("div",{class:"kline-tips",ref_key:"tipsRef",ref:t},[(u.openBlock(!0),u.createElementBlock(u.Fragment,null,u.renderList(n.data,(s,a)=>(u.openBlock(),u.createElementBlock("div",{key:a,class:"kline-tips-item",style:u.normalizeStyle({color:s.color,width:i.value[a]?i.value[a]:null})},u.toDisplayString(s.label)+" "+u.toDisplayString(s.value),5))),128))],512))}}),VAt="",Tne=en(eut,[["__scopeId","data-v-096c0d10"]]),zAt="",tut={class:"kline-tips"},nut=en({__name:"index",props:{data:{type:Object,require:!0},activeIndex:{type:[Number,String],require:!0},variety:{type:[String,Number],default:()=>null}},setup(n){const{round:e,formatValue:t}=wl,i=n,r=u.ref(null);u.watch(()=>i.activeIndex,()=>{var a;r.value===null&&(r.value=((a=i.data.data[i.activeIndex])==null?void 0:a[1])??0)}),u.watch(()=>i.data,()=>{var a;r.value===null&&(r.value=((a=i.data.data[i.activeIndex])==null?void 0:a[1])??0)}),u.watch(()=>i.variety,()=>{r.value=null});const o=u.computed(()=>{const{data:a,activeIndex:l}=i;if(a.data&&a.data[l]){const c=a.data[l],d=[{label:"开",value:c[0]},{label:"高",value:c[3]},{label:"低",value:c[2]},{label:"收",value:c[1]}];c[4]!==null&&d.push({label:"额",value:t(c[4])});let h;c[6]>0?h="red":c[6]<0&&(h="green"),d.push({label:"涨跌",value:`${e(c[6])}%`,color:h});const f=(r.value/c[1]-1)*100;let p;return f>0?p="red":f<0&&(p="green"),d.push({label:"至今涨幅",value:`${e(f)}%`,color:p}),d}return[]}),s=u.computed(()=>{var c;const{data:a,activeIndex:l}=i;return((c=a==null?void 0:a.mainIndicator)==null?void 0:c.map(d=>({label:d.key,value:Mne(d.data[l]),color:d.color})))||[]});return(a,l)=>(u.openBlock(),u.createElementBlock("div",tut,[u.createVNode(Tne,{data:o.value},null,8,["data"]),u.createVNode(Tne,{data:s.value},null,8,["data"])]))}},[["__scopeId","data-v-832d18ff"]]),iut={class:"kline-averageTips"},rut=u.defineComponent({__name:"index",props:{data:{type:Array,require:!0}},setup(n){return(e,t)=>(u.openBlock(),u.createElementBlock("div",iut,[(u.openBlock(!0),u.createElementBlock(u.Fragment,null,u.renderList(n.data,(i,r)=>(u.openBlock(),u.createElementBlock("div",{key:r,class:"kline-averageTips-item",style:u.normalizeStyle({color:i.color})},u.toDisplayString(i.label)+" "+u.toDisplayString(i.value),5))),128))]))}}),jAt="",out=en(rut,[["__scopeId","data-v-2ce54548"]]),WAt="",sut={class:"klineSub"},aut={class:"klineSub-tips"},lut={key:0,class:"klineSub-tips-select"},uut=en({__name:"index",props:{cycle:{type:[String,Number],default:()=>null},data:{type:Object,require:!0},activeIndex:{type:[Number,String],require:!0},modelValue:{type:String,required:!0},subIndicatorList:{type:Array,required:!0}},emits:["update:modelValue"],setup(n,{expose:e,emit:t}){const{round:i}=wl;let r=null,o=null;const s=u.ref(!0),a=t,l=n,c=u.ref(),d=u.computed({get(){return l.modelValue},set(p){a("update:modelValue",p)}}),h=u.computed(()=>{var m;if(!s.value)return[];const{data:p,activeIndex:g}=l;return((m=p==null?void 0:p.subIndicator)==null?void 0:m.map(y=>({label:y.key,color:y.color,value:Mne(y.data[g])})))||[]});u.onMounted(()=>{if(s.value=!0,!c.value)return;r=Kr.init(c.value);let p=!0;o=new ResizeObserver(()=>{if(p){p=!1;return}s.value&&r&&!r.isDisposed()&&r.resize()}),o.observe(c.value)}),u.onUnmounted(()=>{s.value=!1,r&&!r.isDisposed()&&(r.dispose(),r=null),o&&(o.disconnect(),o=null)});const f=(p,g)=>{const m=p[g],y=g===0?p[g]:p[g-1];return m[0]===m[1]?m[0]>=y[1]?{color:"transparent",borderColor:"#FF0000"}:{color:"#00FFFF"}:m[1]>m[0]?{color:"transparent",borderColor:"#FF0000"}:{color:"#00FFFF"}};return e({connect:p=>{!s.value||!r||r.isDisposed()||Kr.connect([p,r])},draw:(p,g)=>{!s.value||!r||r.isDisposed()||u.nextTick(()=>{if(!s.value||!r||r.isDisposed())return;const{startValue:m,endValue:y,maxValueSpan:_}=p,{leftYAxisRange:v,rightYAxisRange:b}=l.data.subIndicator[0],C=l.data.subIndicator.map(w=>{if(w.series==="bar")return{name:"subMain",xAxisIndex:0,yAxisIndex:1,type:"bar",silent:!0,symbol:"none",data:w.data.map((x,S)=>w.seriesColor==="kline"?{value:x,itemStyle:f(l.data.data,S)}:w.seriesColor==="value"?{value:x,itemStyle:{color:x>=0?"#FF0000":"#00FFFF"}}:{value:x,itemStyle:{color:w.seriesColor}})};if(w.series==="line")return{xAxisIndex:0,yAxisIndex:w.yAxis==="right"?2:1,name:w.key,type:"line",silent:!0,symbol:"none",data:w.data,lineStyle:{width:1},itemStyle:{color:w.color}}});r.setOption({animation:!1,grid:{left:`${g.gridLeft}px`,top:"10px",right:`${g.gridRight}px`,bottom:"20px"},dataZoom:[{type:"inside",startValue:m,endValue:y,maxValueSpan:_}],tooltip:{trigger:"axis",appendToBody:!0,confine:!0,axisPointer:{type:"cross",label:{rich:{},formatter:w=>{const{axisDimension:x,value:S}=w;if(x==="x")return["6","7","8"].includes(l.cycle)?Dt(S).format("YYYY-MM-DD"):S;if(w.axisIndex===1)return String(i(S))}}},formatter:()=>""},xAxis:{type:"category",data:l.data.time,axisLine:{show:!0},splitLine:{show:!1},axisLabel:{formatter:w=>["6","7","8"].includes(l.cycle)?Dt(w).format("YYYY-MM-DD"):w}},yAxis:[{position:"right"},{position:"left",min:v==="cover"?w=>w.min:null,max:v==="cover"?w=>w.max:null,splitNumber:1,axisLine:{show:!0},splitLine:{show:!0,lineStyle:{type:"dotted",color:"#333"}}},{position:"right",min:b==="cover"?w=>w.min:null,max:b==="cover"?w=>w.max:null,splitNumber:1,axisLine:{show:!1},splitLine:{show:!1},axisLabel:{show:!1}}],series:C},!0)})}}),(p,g)=>{const m=Ea,y=Na;return u.openBlock(),u.createElementBlock("div",sut,[u.createElementVNode("div",aut,[h.value.length?(u.openBlock(),u.createElementBlock("div",lut,[u.createVNode(y,{modelValue:d.value,"onUpdate:modelValue":g[0]||(g[0]=_=>d.value=_),size:"small","popper-class":"element-dark",class:"element-dark subIndicator"},{default:u.withCtx(()=>[(u.openBlock(!0),u.createElementBlock(u.Fragment,null,u.renderList(n.subIndicatorList,_=>(u.openBlock(),u.createBlock(m,{key:_.value,label:_.label,value:_.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])])):u.createCommentVNode("",!0),u.createVNode(out,{data:h.value},null,8,["data"])]),u.createElementVNode("div",{class:"klineSub-chart",ref_key:"subChartRef",ref:c},null,512)])}}},[["__scopeId","data-v-d720c2c7"]]),cut=u.defineComponent({__name:"index",emits:["closeContextMenuCallBack"],setup(n,{emit:e}){const t=e,i=u.ref(),r=u.ref(),o=u.ref({display:"none",top:"0px",left:"0px"}),s=()=>{o.value.display="none",t("closeContextMenuCallBack"),document.removeEventListener("click",s)},a=l=>{if(l.preventDefault(),o.value.display==="block"){const{offsetX:c,offsetY:d}=l,{offsetWidth:h,offsetHeight:f}=r.value;if(c<=h&&d<=f)return}i.value.click(),o.value={display:"block",top:`${l.offsetY}px`,left:`${l.offsetX}px`},u.nextTick(()=>{const c=i.value.getBoundingClientRect(),d=r.value.getBoundingClientRect();d.left+d.width>=c.right&&(o.value.left=`${l.offsetX-d.width}px`),d.top+d.height>=c.bottom&&(console.log("高度超出"),o.value.top=`${l.offsetY-d.height}px`)}),document.addEventListener("click",s)};return(l,c)=>(u.openBlock(),u.createElementBlock("div",{ref_key:"contextmenuRef",ref:i,class:"contextmenu",onContextmenu:a,onMouseleave:s},[u.renderSlot(l.$slots,"default",{},void 0,!0),o.value.display!=="none"?(u.openBlock(),u.createElementBlock("div",{key:0,ref_key:"contextmenuContentRef",ref:r,class:"contextmenu-popover",style:u.normalizeStyle(o.value)},[u.renderSlot(l.$slots,"popover",{},void 0,!0)],4)):u.createCommentVNode("",!0)],544))}}),UAt="",dut=en(cut,[["__scopeId","data-v-811db6b4"]]),qAt="",Ane=n=>(u.pushScopeId("data-v-dbb75956"),n=n(),u.popScopeId(),n),hut={key:0,class:"klineBasic-tips"},fut={key:1,class:"klineBasic-sub"},put={key:2,class:"klineBasic-empty"},gut={key:3,class:"klineBasic-error"},mut=Ane(()=>u.createElementVNode("div",{class:"klineBasic-error-content"},"加载失败,请刷新重试",-1)),but={style:{"text-align":"center"}},_ut=Ane(()=>u.createElementVNode("span",{style:{"margin-right":"10px"}},"预警价格:",-1)),yut={class:"dialog-footer"},vut=en({__name:"index",props:{variety:{type:[String,Number],default:()=>null},varietyName:{type:[String,Number],default:()=>null},featureId:{type:[String,Number],default:()=>null},featureType:{type:[String,Number],default:()=>null},cycle:{type:[String,Number],default:()=>null},mainIndicator:{type:String,default:()=>""},indicatorStore:{type:Object,default:()=>null},startTime:{type:String,default:()=>null},endTime:{type:String,default:()=>null},right:{type:[String,Number],default:1},config:{type:Object,default:()=>({})},env:{type:Object,default:()=>({})},brushRange:{type:[Array,null],default:()=>null}},emits:["change","getFactorData"],setup(n,{expose:e,emit:t}){const i=[{label:"画线预警",key:"drawWarningLine"}];let r=null,o=null,s=null,a=null,l=null,c=!1,d=!1;const h=t,f=n,p=u.ref(!1),g=u.ref(!1),m=u.ref(!1),y=u.ref(null),_=u.ref(null),v=u.ref("VOL"),b=u.ref(0),C=u.ref({}),w=u.ref([]),x=u.ref({}),S=u.ref(!1),N=u.ref(""),D=u.ref([...i]),E=u.computed(()=>({defaultShowCounts:500,addCounts:2e3,maxShowCounts:5e3,loadCheckCounts:500,gridTop:48,gridLeft:80,gridRight:50,showSubChart:!0,showWarningLine:!0,getFactorData:!0,...f.config})),k=()=>{o||(o=Kr.init(y.value),G(),E.value.showSubChart&&_.value.connect(o),r=wJ(y.value),r.listen(()=>{requestAnimationFrame(()=>{o==null||o.resize(),I()})}))},L=()=>{o&&!o.isDisposed()&&o.hideLoading()},O=(ie=!1)=>{s&&(cancelAnimationFrame(s),s=null),s=requestAnimationFrame(()=>{P(ie),s=requestAnimationFrame(()=>{A(),s=requestAnimationFrame(()=>{I(),s=null})})})},P=(ie=!1)=>{var me,Se,te;if(!o||o.isDisposed())return;const{time:ee}=C.value,{defaultShowCounts:oe}=E.value;let ce=ee.length-1-oe,pe=ee.length-1;if(ie&&o){const j=o.getOption(),Q=(Se=(me=j==null?void 0:j.xAxis)==null?void 0:me[0])==null?void 0:Se.data,ne=(te=j==null?void 0:j.dataZoom)==null?void 0:te[0];if(Q!=null&&Q.length&&ne){const J=Q[ne.startValue],re=Q[ne.endValue];if(J&&re){const Y=ee.findIndex(X=>new Date(X).getTime()>=new Date(J).getTime()),Z=ee.findLastIndex(X=>new Date(X).getTime()<=new Date(re).getTime());ce=Y!==-1?Y:0,pe=Z!==-1?Z:ee.length-1,ce>pe&&(ce=Math.max(0,pe-Math.min(100,ee.length-1)))}}}const le=Xlt(C.value,E.value,ce,pe,f.cycle);requestAnimationFrame(()=>{o==null||o.setOption(le,!0),b.value=pe,requestAnimationFrame(()=>{M()})})},A=()=>{var Se;if(!E.value.showSubChart||!_.value)return;const{time:ie}=C.value,{gridLeft:ee,gridRight:oe,maxShowCounts:ce,defaultShowCounts:pe}=E.value;let le=ie.length-1-pe,me=ie.length-1;if(o&&!o.isDisposed()){const te=o.getOption();if((Se=te==null?void 0:te.dataZoom)!=null&&Se[0]){const{startValue:j,endValue:Q}=te.dataZoom[0];j!==void 0&&Q!==void 0&&(le=j,me=Q)}}requestAnimationFrame(()=>{var te;(te=_.value)==null||te.draw({startValue:le,endValue:me,maxValueSpan:ce},{gridLeft:ee,gridRight:oe})})},I=()=>{o&&(a&&(cancelAnimationFrame(a),a=null),a=requestAnimationFrame(()=>{if(!(o==null?void 0:o.getOption()))return;const ee=o==null?void 0:o.getWidth(),oe=o==null?void 0:o.getHeight();!ee||!oe||(o==null||o.setOption({graphic:Jlt(o,w.value,f,E.value,()=>{q()})},{notMerge:!1,replaceMerge:["graphic"],lazyUpdate:!0}),a=null)}))},M=()=>{l&&cancelAnimationFrame(l),l=requestAnimationFrame(()=>{const{time:ie}=C.value;if(!f.brushRange||!(ie!=null&&ie.length)||!o)return;let ee=Dt(f.brushRange[0]).format("YYYY-MM-DD 00:00:00"),oe=Dt(f.brushRange[1]).format("YYYY-MM-DD 23:59:59"),ce=null,pe=null;switch(String(f.cycle)){case"6":{ce=ie.find(le=>Dt(le).format("YYYY-MM-DD")===Dt(ee).format("YYYY-MM-DD")),pe=ce;break}case"7":{ce=ie.find(le=>Dt(le).day(5).format("YYYY-MM-DD")===Dt(ee).day(5).format("YYYY-MM-DD")),pe=ie.findLast(le=>Dt(le).day(5).format("YYYY-MM-DD")===Dt(oe).day(5).format("YYYY-MM-DD"));break}case"8":{ce=ie.find(le=>Dt(le).endOf("month").format("YYYY-MM-DD")===Dt(ee).endOf("month").format("YYYY-MM-DD")),pe=ie.findLast(le=>Dt(le).endOf("month").format("YYYY-MM-DD")===Dt(oe).endOf("month").format("YYYY-MM-DD"));break}default:ce=ie.find(le=>{const me=Dt(le).format("YYYY-MM-DD")===Dt(ee).format("YYYY-MM-DD"),Se=new Date(le).getTime()>=new Date(ee).getTime();return me&&Se}),pe=ie.findLast(le=>{const me=Dt(le).format("YYYY-MM-DD")===Dt(oe).format("YYYY-MM-DD"),Se=new Date(le).getTime()<=new Date(oe).getTime();return me&&Se})}ce&&pe&&o.dispatchAction({type:"brush",areas:[{brushType:"lineX",coordRange:[ce,pe],xAxisIndex:0}]}),l=null})},R=async()=>{var ie,ee,oe,ce,pe,le;try{if(!f.variety||!f.cycle)return;const{variety:me,featureId:Se,cycle:te,indicatorStore:j,mainIndicator:Q,right:ne,startTime:J,endTime:re}=f,{defaultShowCounts:Y,addCounts:Z,showWarningLine:X,getFactorData:V}=E.value;k(),o&&!o.isDisposed()&&o.showLoading({text:"加载中...",color:"#409eff",textColor:"#fff",maskColor:"rgba(0, 0, 0, 0.7)",zlevel:0});const B={variety:me,featureId:Se,cycle:te,mainIndicatorList:j.getIndicatorParams(Q),subIndicator:v.value,right:ne,showWarningLine:X,getFactorData:V};J&&re?(B.startTime=J,B.endTime=re):J?(B.startTime=J,B.limit=Z):re?(B.endTime=re,B.limit=Z):(B.endTime=Dt().add(1,"hour").format("YYYY-MM-DD HH:mm:ss"),B.limit=Z);const U=await Klt(B);if(!((oe=(ee=(ie=U==null?void 0:U.body)==null?void 0:ie.kline)==null?void 0:ee.time)!=null&&oe.length)){g.value=!0,m.value=!1,L();return}g.value=!1,m.value=!1,C.value=(ce=U==null?void 0:U.body)==null?void 0:ce.kline,w.value=((pe=U==null?void 0:U.body)==null?void 0:pe.warningLine)||[],await u.nextTick(),O(!1),V&&h("getFactorData",(le=U==null?void 0:U.body)==null?void 0:le.factor),L()}catch(me){throw L(),m.value=!0,g.value=!1,new Error(me)}},F=async ie=>{const{variety:ee,cycle:oe,indicatorStore:ce,mainIndicator:pe,right:le}=f,{addCounts:me}=E.value,{time:Se}=C.value;if(ie==="history"){const te=await Glt({variety:ee,cycle:oe,endTime:Se[0],limit:me,mainIndicatorList:ce.getIndicatorParams(pe),subIndicator:v.value,right:le});C.value={time:[...te.body.time,...C.value.time.slice(1)],data:[...te.body.data,...C.value.data.slice(1)],mainIndicator:C.value.mainIndicator.map((j,Q)=>{var ne;return{...j,data:[...((ne=te.body.mainIndicator[Q])==null?void 0:ne.data)??[],...j.data.slice(1)]}}),subIndicator:C.value.subIndicator.map((j,Q)=>{var ne;return{...j,data:[...((ne=te.body.subIndicator[Q])==null?void 0:ne.data)??[],...j.data.slice(1)]}})},console.log("触发了加载更多数据"),await u.nextTick(),O(!0),te.body.data.length<me&&(d=!0,console.log("历史数据已经全部加载完毕")),c=!1}},W=({code:ie,ctrlKey:ee})=>{if(!(ee||p.value))return;const{xAxis:oe,dataZoom:ce}=o.getOption(),{data:pe}=(oe==null?void 0:oe[0])??{data:[]};let{startValue:le,endValue:me}=(ce==null?void 0:ce[0])??{};if(pe!=null&&pe.length){switch(ie){case"ArrowUp":{if(me-le<5)return;const Se=Math.floor((me-le)/2)+1;le=le+Se,me-le<5&&(le=me-4);break}case"ArrowDown":{const Se=Math.min(500,me-le);le=le-Se-1;break}case"ArrowLeft":{le>0&&(le-=1,me-=1),b.value>0&&(b.value-=1);break}case"ArrowRight":{me<pe.length-1&&(le+=1,me+=1),p.value&&b.value<pe.length-1&&(b.value+=1);break}}requestAnimationFrame(()=>{o.dispatchAction({type:"dataZoom",startValue:le,endValue:me}),o.dispatchAction({type:"updateAxisPointer",seriesIndex:0,dataIndex:p.value?b.value:null}),o.dispatchAction({type:"highlight",dataIndex:p.value?b.value:me})})}},G=()=>{o==null||o.on("datazoom",Ra(ie=>{var oe,ce,pe,le;const{loadCheckCounts:ee}=E.value;if((ce=(oe=o==null?void 0:o.getOption())==null?void 0:oe.dataZoom)!=null&&ce[0]){const{startValue:me}=(le=(pe=o==null?void 0:o.getOption())==null?void 0:pe.dataZoom)==null?void 0:le[0];me<ee&&!c&&!d&&(c=!0,F("history")),I()}},100)),o==null||o.on("highlight",Ra(ie=>{var oe,ce;let ee=ie.dataIndex||-1;ie.batch&&(ee=typeof((oe=ie==null?void 0:ie.batch[0])==null?void 0:oe.dataIndex)=="number"?(ce=ie==null?void 0:ie.batch[0])==null?void 0:ce.dataIndex:-1),b.value=ee},20)),o==null||o.on("globalout",Ra(()=>{var ie,ee,oe;if(o){const ce=(oe=(ee=(ie=o==null?void 0:o.getOption())==null?void 0:ie.dataZoom)==null?void 0:ee[0])==null?void 0:oe.endValue;b.value=ce}},30)),o==null||o.on("contextmenu",Ra(ie=>{ie.componentType==="graphic"&&(x.value=ie.info,D.value=[{label:"删除画线",key:"deleteWarningLine"},{label:"修改画线",key:"changeWarningLine"}])},0))},q=async()=>{const ie=await Qlt({featureId:f.featureId});w.value=(ie==null?void 0:ie.body)||[],I(),h("change","warningLine",w.value)},z=async ie=>{const{variety:ee,varietyName:oe,featureId:ce,featureType:pe}=f;if(ie.key==="drawWarningLine"){const le=o==null?void 0:o.getOption(),me=le.tooltip[0];o==null||o.setOption({...le,tooltip:{...me,axisPointer:{...me.axisPointer,lineStyle:{width:0},crossStyle:{width:2},label:{...me.axisPointer.label,backgroundColor:"transparent",formatter:()=>""}}}});const Se=async te=>{o==null||o.getZr().off("mousedown",Se);const j=o==null?void 0:o.convertFromPixel({yAxisIndex:0},te.offsetY),Q=Math.round(j*1e3)/1e3;o==null||o.setOption({...le,tooltip:{...me,axisPointer:{...me.axisPointer,lineStyle:{width:1},crossStyle:{width:1},label:{...me.axisPointer.label,backgroundColor:null}}}}),await Ylt({featureCode:ee,featureName:oe,featureId:ce,featureType:pe,warnPrice:Q}),At.success("画线预警成功!"),q()};o==null||o.getZr().on("mousedown",Se)}else ie.key==="deleteWarningLine"?(await Zlt({id:x.value.id}),At.success("画线预警删除成功"),q()):ie.key==="changeWarningLine"&&(S.value=!0,N.value=x.value.warnPrice)},ae=async()=>{const{variety:ie,varietyName:ee,featureId:oe,featureType:ce}=f;await Lne({id:x.value.id,featureCode:ie,featureName:ee,featureId:oe,featureType:ce,warnPrice:N.value}),At.success("画线预警修改成功"),q()},se=()=>{D.value=[...i]};return u.onMounted(()=>{qlt(f.env),R(),window.addEventListener("keydown",W)}),u.watch(()=>{var ie,ee;return[f.variety,f.cycle,f.mainIndicator,v.value,(ie=f.indicatorStore)==null?void 0:ie.filterIndicator,(ee=f.indicatorStore)==null?void 0:ee.customIndicator]},()=>{c=!1,d=!1,R()},{deep:!0}),u.onUnmounted(()=>{s&&(cancelAnimationFrame(s),s=null),a&&(cancelAnimationFrame(a),a=null),o==null||o.off("datazoom"),o==null||o.off("highlight"),o==null||o.off("globalout"),o==null||o.dispose(),r==null||r.dispose(),window.removeEventListener("keydown",W)}),e({draw:(ie,ee)=>{ie==="warningLine"&&(w.value=ee,I())}}),(ie,ee)=>{var te,j;const oe=_z,ce=bz,pe=$h,le=ir,me=P6,Se=ea;return u.openBlock(),u.createElementBlock(u.Fragment,null,[u.createElementVNode("div",{class:"klineBasic",onMousemove:ee[1]||(ee[1]=Q=>p.value=!0),onMouseout:ee[2]||(ee[2]=Q=>p.value=!1)},[(te=C.value.time)!=null&&te.length?(u.openBlock(),u.createElementBlock("div",hut,[u.createVNode(nut,{variety:n.variety,data:C.value,activeIndex:b.value},null,8,["variety","data","activeIndex"])])):u.createCommentVNode("",!0),u.createElementVNode("div",{class:"klineBasic-main",style:u.normalizeStyle({height:E.value.showSubChart?"70%":"100%"})},[u.createVNode(dut,{onCloseContextMenuCallBack:se},{popover:u.withCtx(()=>[u.createVNode(ce,{style:{borderRadius:"4px",overflow:"hidden",background:"#fff",borderRight:0}},{default:u.withCtx(()=>[(u.openBlock(!0),u.createElementBlock(u.Fragment,null,u.renderList(D.value,Q=>(u.openBlock(),u.createBlock(oe,{style:{height:"36px"},key:Q.key,index:Q.key,onClick:ne=>z(Q)},{default:u.withCtx(()=>[u.createTextVNode(u.toDisplayString(Q.label),1)]),_:2},1032,["index","onClick"]))),128))]),_:1})]),default:u.withCtx(()=>[u.createElementVNode("div",{ref_key:"klineBasicMainRef",ref:y,style:{height:"100%"}},null,512)]),_:1})],4),E.value.showSubChart?(u.openBlock(),u.createElementBlock("div",fut,[u.createVNode(uut,{ref_key:"klineSubRef",ref:_,modelValue:v.value,"onUpdate:modelValue":ee[0]||(ee[0]=Q=>v.value=Q),data:C.value,cycle:n.cycle,activeIndex:b.value,subIndicatorList:(j=n.indicatorStore)==null?void 0:j.subIndicatorList},null,8,["modelValue","data","cycle","activeIndex","subIndicatorList"])])):u.createCommentVNode("",!0),g.value?(u.openBlock(),u.createElementBlock("div",put,[u.createVNode(pe,{class:"klineBasic-empty-content",description:"暂无数据"})])):u.createCommentVNode("",!0),m.value?(u.openBlock(),u.createElementBlock("div",gut,[mut,u.createElementVNode("div",but,[u.createVNode(le,{onClick:R},{default:u.withCtx(()=>[u.createTextVNode("刷新")]),_:1})])])):u.createCommentVNode("",!0)],32),u.createVNode(Se,{modelValue:S.value,"onUpdate:modelValue":ee[5]||(ee[5]=Q=>S.value=Q),title:"画线预警-修改价格",width:"30%","align-center":""},{footer:u.withCtx(()=>[u.createElementVNode("span",yut,[u.createVNode(le,{onClick:ee[4]||(ee[4]=Q=>S.value=!1)},{default:u.withCtx(()=>[u.createTextVNode("取消")]),_:1}),u.createVNode(le,{type:"primary",onClick:ae},{default:u.withCtx(()=>[u.createTextVNode("确定")]),_:1})])]),default:u.withCtx(()=>[_ut,u.createVNode(me,{modelValue:N.value,"onUpdate:modelValue":ee[3]||(ee[3]=Q=>N.value=Q),placeholder:"输入预警价格"},null,8,["modelValue"])]),_:1},8,["modelValue"])],64)}}},[["__scopeId","data-v-dbb75956"]]),Cut={install(n){n.component("st-klineBasic",vut)}},GAt="",YAt="",wut=[{label:"买卖",value:0},{label:"开平",value:1}],w_=()=>({mainIndicator:"MA",sellBuy:1,sellBuyByPrice:1,singelCycle:"6",multiCycleNum:6,multiCycleList:["1","2","3","4","5","6"],pageType:1,enable_tradeLogBrush:!0,enable_showScreenTimeRange:!0,enable_showScreenMaxPrice:!0,enable_dbClickOpenSingel:!0,enable_subChart:!0,enable_sliderChart:!0}),xut=(n,e)=>{var t;return((t=e.find(i=>i.value===n))==null?void 0:t.label)??"-"},QAt="",xl=n=>(u.pushScopeId("data-v-6e5050a9"),n=n(),u.popScopeId(),n),Sut={class:"kline-config element-dark"},Dut={class:"setting-item"},Nut=xl(()=>u.createElementVNode("span",{class:"label"},"主图指标: ",-1)),Eut={class:"setting-item"},kut=xl(()=>u.createElementVNode("span",{class:"label"},"交易点位: ",-1)),Lut={class:"setting-item"},Mut=xl(()=>u.createElementVNode("span",{class:"label"},"开平点按价格标: ",-1)),Tut={class:"setting-item"},Aut=xl(()=>u.createElementVNode("span",{class:"label"},"单周期: ",-1)),Iut={class:"setting-item"},Rut=xl(()=>u.createElementVNode("span",{class:"label"},"多周期: ",-1)),Out={class:"mode"},Fut={class:"cycleName"},Put={class:"content"},But={class:"setting-item"},Vut=xl(()=>u.createElementVNode("span",{class:"label"},"默认展示: ",-1)),zut={class:"setting-item"},Hut=xl(()=>u.createElementVNode("span",{class:"label"},"高亮交易范围: ",-1)),jut={class:"setting-item"},Wut=xl(()=>u.createElementVNode("span",{class:"label"},"展示当屏时间: ",-1)),$ut={class:"setting-item"},Uut=xl(()=>u.createElementVNode("span",{class:"label"},"展示当屏最高价: ",-1)),qut={class:"setting-item"},Kut=xl(()=>u.createElementVNode("span",{class:"label"},"多周期双击图表切换至单周期: ",-1)),Gut={class:"setting-item"},Yut=xl(()=>u.createElementVNode("span",{class:"label"},"开启副图: ",-1)),Qut={class:"setting-item"},Zut=xl(()=>u.createElementVNode("span",{class:"label"},"开启拖拽轴: ",-1)),Xut={class:"setting-footer"},Jut=en({__name:"index",props:{indicatorStore:{type:Object,default:()=>({})},origin:{type:String,default:"server"},cycleOptions:{type:Array,default:()=>[]}},emits:"callBack",setup(n,{expose:e,emit:t}){const{request:i}=u.inject("stConfig"),r=t,o=n,s=u.ref(!1),a=u.reactive({}),l=u.ref([]),c=u.ref([]),d=()=>{Object.assign(a,w_())},h=async()=>{const g=JSON.stringify(a);o.origin==="server"?await i.post("/common/qt/updateUserConfig",{appId:1,json:g}):localStorage.setItem("userKlineConfig",g),r("callBack",g),s.value=!1},f=async()=>{if(o.origin==="server"){const{body:g}=await i.post("/common/qt/getUserConfig",{appId:1});Object.assign(a,w_(),g?JSON.parse(g):{})}else{const g=localStorage.getItem("userKlineConfig");Object.assign(a,w_(),g?JSON.parse(g):{})}},p=async()=>{if(o.origin==="server"){const{body:g}=await i.post("/common/qt/getDict",{dictIds:[1002]});l.value=g[1002].map(m=>({label:m.dictName,value:m.dictCode}))}else l.value=o.cycleOptions};return u.onMounted(()=>{p(),c.value=o.indicatorStore.mainIndicatorList??[]}),u.watch(()=>o.indicatorStore.mainIndicatorList,()=>{c.value=o.indicatorStore.mainIndicatorList??[]}),e({open:async()=>{await f(),s.value=!0},getDefaultUserKlineConfig:w_}),(g,m)=>{const y=uS,_=Ea,v=Na,b=ic,C=VH,w=Tye,x=d1,S=ir,N=W6e;return u.openBlock(),u.createElementBlock("div",Sut,[u.createVNode(N,{modelValue:s.value,"onUpdate:modelValue":m[12]||(m[12]=D=>s.value=D),title:"K线自定义配置",size:320},{default:u.withCtx(()=>[u.createVNode(x,{class:"setting-main"},{default:u.withCtx(()=>[u.createVNode(y,{style:{"margin-top":"8px"}},{default:u.withCtx(()=>[u.createTextVNode("偏好设置")]),_:1}),u.createElementVNode("div",Dut,[Nut,u.createVNode(v,{modelValue:a.mainIndicator,"onUpdate:modelValue":m[0]||(m[0]=D=>a.mainIndicator=D),"popper-class":"element-dark"},{default:u.withCtx(()=>[(u.openBlock(!0),u.createElementBlock(u.Fragment,null,u.renderList(c.value,(D,E)=>(u.openBlock(),u.createBlock(_,{key:E,label:D.label,value:D.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),u.createElementVNode("div",Eut,[kut,u.createVNode(v,{modelValue:a.sellBuy,"onUpdate:modelValue":m[1]||(m[1]=D=>a.sellBuy=D),"popper-class":"element-dark"},{default:u.withCtx(()=>[(u.openBlock(!0),u.createElementBlock(u.Fragment,null,u.renderList(u.unref(wut),(D,E)=>(u.openBlock(),u.createBlock(_,{key:E,label:D.label,value:D.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),u.createElementVNode("div",Lut,[Mut,u.createVNode(b,{modelValue:a.sellBuyByPrice,"onUpdate:modelValue":m[2]||(m[2]=D=>a.sellBuyByPrice=D),"true-value":1,"false-value":0},null,8,["modelValue"])]),u.createElementVNode("div",Tut,[Aut,u.createVNode(v,{modelValue:a.singelCycle,"onUpdate:modelValue":m[3]||(m[3]=D=>a.singelCycle=D),"popper-class":"element-dark"},{default:u.withCtx(()=>[(u.openBlock(!0),u.createElementBlock(u.Fragment,null,u.renderList(l.value,(D,E)=>(u.openBlock(),u.createBlock(_,{key:E,label:D.label,value:D.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),u.createElementVNode("div",Iut,[Rut,u.createVNode(C,{size:"small",modelValue:a.multiCycleNum,"onUpdate:modelValue":m[4]||(m[4]=D=>a.multiCycleNum=D),options:[{label:"二图",value:2},{label:"四图",value:4},{label:"六图",value:6}],style:{height:"26px"}},null,8,["modelValue"])]),u.createElementVNode("div",{class:u.normalizeClass(`setting-multi-box grid-${a.multiCycleNum}`)},[(u.openBlock(!0),u.createElementBlock(u.Fragment,null,u.renderList(a.multiCycleList.slice(0,a.multiCycleNum),(D,E)=>(u.openBlock(),u.createElementBlock("div",Out,[u.createElementVNode("div",Fut,[u.createElementVNode("span",null,u.toDisplayString(u.unref(xut)(a.multiCycleList[E],l.value)),1),u.createVNode(v,{modelValue:a.multiCycleList[E],"onUpdate:modelValue":k=>a.multiCycleList[E]=k,"popper-class":"element-dark"},{default:u.withCtx(()=>[(u.openBlock(!0),u.createElementBlock(u.Fragment,null,u.renderList(l.value,(k,L)=>(u.openBlock(),u.createBlock(_,{key:L,label:k.label,value:k.value},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])]),u.createElementVNode("span",Put,u.toDisplayString(E+1)+"号位K线",1)]))),256))],2),u.createElementVNode("div",But,[Vut,u.createVNode(C,{size:"small",modelValue:a.pageType,"onUpdate:modelValue":m[5]||(m[5]=D=>a.pageType=D),options:[{label:"单周期",value:1},{label:"多周期",value:2}],style:{height:"26px"}},null,8,["modelValue"])]),u.createVNode(y,{style:{"margin-top":"44px"}},{default:u.withCtx(()=>[u.createTextVNode("功能配置")]),_:1}),u.createElementVNode("div",zut,[Hut,u.createVNode(w,{modelValue:a.enable_tradeLogBrush,"onUpdate:modelValue":m[6]||(m[6]=D=>a.enable_tradeLogBrush=D)},null,8,["modelValue"])]),u.createElementVNode("div",jut,[Wut,u.createVNode(w,{modelValue:a.enable_showScreenTimeRange,"onUpdate:modelValue":m[7]||(m[7]=D=>a.enable_showScreenTimeRange=D)},null,8,["modelValue"])]),u.createElementVNode("div",$ut,[Uut,u.createVNode(w,{modelValue:a.enable_showScreenMaxPrice,"onUpdate:modelValue":m[8]||(m[8]=D=>a.enable_showScreenMaxPrice=D)},null,8,["modelValue"])]),u.createElementVNode("div",qut,[Kut,u.createVNode(w,{modelValue:a.enable_dbClickOpenSingel,"onUpdate:modelValue":m[9]||(m[9]=D=>a.enable_dbClickOpenSingel=D)},null,8,["modelValue"])]),u.createVNode(y,{style:{"margin-top":"44px"}},{default:u.withCtx(()=>[u.createTextVNode("组件开关")]),_:1}),u.createElementVNode("div",Gut,[Yut,u.createVNode(w,{modelValue:a.enable_subChart,"onUpdate:modelValue":m[10]||(m[10]=D=>a.enable_subChart=D)},null,8,["modelValue"])]),u.createElementVNode("div",Qut,[Zut,u.createVNode(w,{modelValue:a.enable_sliderChart,"onUpdate:modelValue":m[11]||(m[11]=D=>a.enable_sliderChart=D)},null,8,["modelValue"])])]),_:1}),u.createElementVNode("div",Xut,[u.createVNode(S,{onClick:d},{default:u.withCtx(()=>[u.createTextVNode(" 恢复默认 ")]),_:1}),u.createVNode(S,{type:"primary",onClick:h},{default:u.withCtx(()=>[u.createTextVNode(" 保存配置 ")]),_:1})])]),_:1},8,["modelValue"])])}}},[["__scopeId","data-v-6e5050a9"]]),ect={install(n){n.component("st-klineConfig",Jut)}},tct=u.defineComponent({__name:"index",setup(n,{expose:e}){let t=!1,i=!0,r=[];const o=(s,a)=>s.length>a?s.slice(s.length-a):s;return e({initTalib:async()=>{if(!t)t=!0,await sk("./talib.wasm"),i=!1,r.forEach(s=>{s()});else if(i)return new Promise(s=>{r.push(s)})},handleKeyDown:(s,a)=>{let{startValue:l,endValue:c,maxIndex:d}=a;if(s.code==="ArrowLeft"){if(l===0)return;l=l-1,c=c-1}else if(s.code==="ArrowRight"){if(c===d)return;l=l+1,c=c+1}else if(s.code==="ArrowUp"){if(c-l<5)return;const h=Math.floor((c-l)/2)+1;l=l+h,c-l<5&&(l=c-4)}else if(s.code==="ArrowDown"){const h=Math.min(500,c-l);l=l-h-1}return{startValue:l,endValue:c}},getDataZoomInfoByTime:s=>{const{showStartTime:a,showEndTime:l,xAxisData:c,maxShowDays:d}=s;let h=-1,f=-1,p={};return c.forEach((g,m)=>{const y=g.split(" ")[0];p[y]=p[y]||0,p[y]+=1,new Date(g)>=new Date(a)&&h===-1&&(h=m),new Date(g)<=new Date(l)&&(f=m)}),{startValue:h,endValue:f,maxValueSpan:Math.max(...Object.values(p))*d}},formatDataBySlide:s=>{const{originDrawData:a,addData:l,startTime:c,endTime:d}=s,{mainIndicator:h,mainIndicatorList:f,subIndicator:p,subIndicatorList:g,config:m,timeRange:y}=s,{loadAddCount:_,preLoadCount:v}=m;let b=[],C=[],w=[],x=[];c&&d?(b=l.filter(L=>new Date(L[0])>=new Date(c)&&new Date(L[0])<=new Date(d)),x=[...l]):d?(b=[...l.filter((L,O)=>O>=l.length-_&&new Date(y[0])<=new Date(L[0])&&new Date(L[0])<=new Date(y[1])),...a.originData],x=[...l,...a.originData]):c&&(b=[...a.originData,...l.filter((L,O)=>O>=v&&new Date(y[0])<=new Date(L[0])&&new Date(L[0])<=new Date(y[1]))],x=b),b.forEach((L,O)=>{C.push([L[1],L[4],L[3],L[2],O===0?0:b[O-1][4],L[6]]),w.push(L[0])});let S=[],N=[];const D={time:[],open:[],close:[],high:[],low:[],originData:x};let E=null,k=null;return x.forEach((L,O)=>{D.time.push(L[0]),D.open.push(L[1]),D.close.push(L[4]),D.high.push(L[2]),D.low.push(L[3]),L[0]===b[0][0]&&(E=O),L[0]===b[b.length-1][0]&&(k=O+1)}),S=f.find(({value:L})=>L===h).config.map(L=>{const{calculationFn:O}=L;return{...L,data:O?O(l5,D,{time:[],open:[],close:[],high:[],low:[],originData:[]}).slice(E,k):[]}}),N=g.find(({value:L})=>L===p).config.reduce((L,O)=>{const{source:P,calculationFn:A}=O;return P==="calculation"?[...L,{...O,data:A?A(l5,D).slice(E,k):[]}]:L},[]),{originData:b,candlestickData:C,mainIndicatorData:S,subIndicatorData:N,xAxisData:w,startTime:b[0][0],endTime:b[b.length-1][0],length:b.length}},formatDataByCount:s=>{const{originDrawData:a,addData:l,mainIndicator:c,mainIndicatorList:d,subIndicator:h,subIndicatorList:f,config:p}=s;let g={};const{addCount:m,preLoadCount:y}=p,_=[],v=[],b=[],C=[],w=[];let x=[],S=[];const N=l.filter((O,P)=>(_.push(O[0]),v.push(O[1]),b.push(O[4]),C.push(O[2]),w.push(O[3]),x.push(O[0]),S.push([O[1],O[4],O[3],O[2],P===0?0:l[P-1][4],O[6]]),l.length>=m+y-1?P>=y:!0));x=o(x,N.length),S=o(S,N.length);const D={time:_,open:v,close:b,high:C,low:w,originData:l},k=d.find(O=>O.value===c).config.map(O=>({...O,data:o(O.calculationFn?O.calculationFn(l5,D,{time:[],open:[],close:[],high:[],low:[],originData:[]}):[],x.length)}));let L=[];return h&&f&&(L=f.find(P=>P.value===h).config.reduce((P,A)=>A.source==="calculation"?[...P,{...A,data:o(A.calculationFn?A.calculationFn(l5,D):[],x.length)}]:P,[])),a.length?g={originData:[...N,...a.originData],xAxisData:[...x,...a.xAxisData],candlestickData:[...S,...a.candlestickData],mainIndicatorData:a.mainIndicatorData.map((O,P)=>({...O,data:[...k[P].data,...O.data]})),subIndicatorData:a.subIndicatorData.map((O,P)=>({...O,data:[...L[P].data,...O.data]}))}:g={originData:N,xAxisData:x,candlestickData:S,mainIndicatorData:k,subIndicatorData:L},g.length=g.xAxisData.length,g.startTime=g.xAxisData[0],g.endTime=g.xAxisData[g.length-1],g},fn:()=>{}}),(s,a)=>null}}),nct={class:"kline-tips"},ict=u.defineComponent({__name:"index",props:{data:{type:Array,require:!0}},setup(n){return(e,t)=>(u.openBlock(),u.createElementBlock("div",nct,[(u.openBlock(!0),u.createElementBlock(u.Fragment,null,u.renderList(n.data,(i,r)=>(u.openBlock(),u.createElementBlock("div",{key:r,class:"kline-tips-item",style:u.normalizeStyle({color:i.color})},u.toDisplayString(i.label)+" "+u.toDisplayString(i.value),5))),128))]))}}),XAt="",hk=en(ict,[["__scopeId","data-v-2a02e841"]]),rct={class:"kline-tips"},oct=u.defineComponent({__name:"index",props:{drawData:{type:Object,require:!0},candlestickData:{type:Array,default:()=>null},mainIndicatorData:{type:Array,default:()=>null},activeIndex:{type:Number,require:!0}},setup(n){const{round:e,multiply:t,divide:i,subtract:r,formatValue:o}=wl,s=n,a=u.computed(()=>{const{drawData:c,activeIndex:d,candlestickData:h}=s;if(h!=null&&h.length&&h[d]){let f;return h[d][6]>0?f="red":h[d][6]<0&&(f="green"),[{label:"开",value:h[d][0]},{label:"高",value:h[d][3]},{label:"低",value:h[d][2]},{label:"收",value:h[d][1]},{label:"额",value:o(h[d][4])},{label:"涨跌",value:`${e(h[d][6])}%`,color:f}]}else if(c.candlestickData&&c.candlestickData[d]){const f=c.candlestickData[d],p=[{label:"开",value:f[0]},{label:"高",value:f[3]},{label:"低",value:f[2]},{label:"收",value:f[1]}];f[5]!==void 0&&p.push({label:"额",value:o(f[5])});const g=e(t(i(r(f[1],f[4]),Math.abs(f[4])),100));let m;return g>0?m="red":g<0&&(m="green"),p.push({label:"涨跌",value:`${g}%`,color:m}),p}return[]}),l=u.computed(()=>{var h;const{drawData:c,activeIndex:d}=s;return((h=c==null?void 0:c.mainIndicatorData)==null?void 0:h.map(f=>({label:f.key,value:e(f.data[d]),color:f.color})))||[]});return(c,d)=>(u.openBlock(),u.createElementBlock("div",rct,[u.createVNode(hk,{data:a.value},null,8,["data"]),u.createVNode(hk,{data:l.value},null,8,["data"])]))}}),JAt="",sct=en(oct,[["__scopeId","data-v-e75a1234"]]),act={class:"klineSub"},lct={class:"klineSub-tips"},uct={key:0,class:"klineSub-tips-select"},cct=u.defineComponent({__name:"index",props:{drawData:{type:Object,require:!0},activeIndex:{type:Number,require:!0},modelValue:{type:String,required:!0},subIndicatorList:{type:Array,required:!0},config:{type:Object,require:!0}},emits:["update:modelValue"],setup(n,{expose:e,emit:t}){const{round:i}=wl;let r,o;const s=t,a=n,l=u.ref(),c=u.computed({get(){return a.modelValue},set(f){s("update:modelValue",f)}}),d=u.computed(()=>{const{drawData:f,activeIndex:p}=a,g=a.subIndicatorList.find(m=>m.value===c.value);return f.originData&&f.originData[p]?g.config.map(m=>{var _,v;let y="-";return m.source==="origin"?y=f.originData[p][m.dataIndex]||"-":m.source==="calculation"&&(y=(((v=(_=f.subIndicatorData)==null?void 0:_.find(C=>C.key===m.key))==null?void 0:v.data)||[])[p]),{label:m.key,color:m.color,value:y==="-"?y:i(y)}}):[]});u.onMounted(()=>{r=Kr.init(l.value);let f=!0;o=new ResizeObserver(()=>{if(f){f=null;return}r.resize()}),o.observe(l.value)}),u.onUnmounted(()=>{r.dispose(),o.disconnect(),o=null});const h=(f,p)=>{const g=f[p],m=p===0?f[p]:f[p-1];return g[0]===g[1]?g[0]>=m[1]?{color:"transparent",borderColor:"#FF0000"}:{color:"#00FFFF"}:g[1]>g[0]?{color:"transparent",borderColor:"#FF0000"}:{color:"#00FFFF"}};return e({connect:f=>{Kr.connect([f,r])},draw:f=>{u.nextTick(()=>{var x;const{startValue:p,endValue:g,maxValueSpan:m}=f,{xAxisData:y,subIndicatorData:_,candlestickData:v,originData:b}=a.drawData,C=a.subIndicatorList.find(S=>S.value===c.value),w=[];if(C.series==="bar"){let S=[];C.source==="origin"?S=b.map(N=>N[C.dataIndex]):S=((x=_==null?void 0:_.find(N=>N.key===C.dataIndex))==null?void 0:x.data)||[],w.push({name:"subMain",xAxisIndex:0,yAxisIndex:1,type:"bar",silent:!0,symbol:"none",data:S.map((N,D)=>C.color==="kline"?{value:N,itemStyle:h(v,D)}:C.color==="value"?{value:N,itemStyle:{color:N>=0?"#FF0000":"#00FFFF"}}:{value:N,itemStyle:{color:C.color}})})}_.forEach(S=>{if(S.series==="line"){let N=[];S.source==="origin"?N=b.map(D=>D[S.dataIndex]):S.source==="calculation"&&(N=S.data),w.push({xAxisIndex:0,yAxisIndex:S.yAxis==="right"?2:1,name:S.key,type:"line",silent:!0,symbol:"none",data:N,lineStyle:{width:1},itemStyle:{color:S.color}})}}),r.setOption({animation:!1,grid:{left:`${a.config.gridLeft}px`,top:"10px",right:`${a.config.gridRight}px`,bottom:"20px"},dataZoom:[{type:"inside",startValue:p,endValue:g,maxValueSpan:m}],tooltip:{trigger:"axis",appendToBody:!0,confine:!0,axisPointer:{type:"cross",label:{rich:{},formatter:S=>{const{axisDimension:N,value:D}=S;if(N==="x")return D;if(S.axisIndex===1)return String(i(D))}}},formatter:()=>""},xAxis:{type:"category",data:y,axisLine:{show:!0},splitLine:{show:!1},axisLabel:{show:!0,formatter:S=>S}},yAxis:[{position:"right"},{position:"left",min:C.leftYAxisRange==="cover"?S=>S.min:null,max:C.leftYAxisRange==="cover"?S=>S.max:null,splitNumber:1,axisLine:{show:!0},splitLine:{show:!0,lineStyle:{type:"dotted",color:"#333"}}},{position:"right",min:C.rightYAxisRange==="cover"?S=>S.min:null,max:C.rightYAxisRange==="cover"?S=>S.max:null,splitNumber:1,axisLine:{show:!1},splitLine:{show:!1},axisLabel:{show:!1}}],series:w},!0)})}}),(f,p)=>{const g=Ea,m=Na;return u.openBlock(),u.createElementBlock("div",act,[u.createElementVNode("div",lct,[d.value.length?(u.openBlock(),u.createElementBlock("div",uct,[u.createVNode(m,{modelValue:c.value,"onUpdate:modelValue":p[0]||(p[0]=y=>c.value=y),size:"small","popper-class":"element-dark",class:"element-dark subIndicator"},{default:u.withCtx(()=>[(u.openBlock(!0),u.createElementBlock(u.Fragment,null,u.renderList(n.subIndicatorList,y=>(u.openBlock(),u.createBlock(g,{key:y.value,label:y.label,value:y.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])])):u.createCommentVNode("",!0),u.createVNode(hk,{data:d.value},null,8,["data"])]),u.createElementVNode("div",{class:"klineSub-chart",ref_key:"subChartRef",ref:l},null,512)])}}}),eIt="",dct=en(cct,[["__scopeId","data-v-0a2f256e"]]),hct=u.defineComponent({__name:"index",props:{data:{type:Array,default:()=>[]}},emits:["change"],setup(n,{expose:e,emit:t}){let i,r,o=null;const s=t,a=n,l=u.ref();u.watch(()=>a.data,()=>{h()},{deep:!0}),u.onMounted(()=>{i=Kr.init(l.value),c(),h();let f=!0;r=new ResizeObserver(()=>{if(f){f=null;return}i.resize()}),r.observe(l.value)}),u.onUnmounted(()=>{i.off("datazoom"),i.dispose(),r.disconnect(),r=null});const c=()=>{i.on("datazoom",f=>{f.dataZoomId&&(clearTimeout(o),o=setTimeout(()=>{const{data:p}=a,{start:g,end:m}=f,y=Math.floor(g*p.length/100),_=m===100?p.length-1:Math.floor(m*p.length/100);d(y,_),clearTimeout(o)},100))})},d=(f,p)=>{const g=a.data;if(g.length===0)return;const m=g[f][0].split(" ")[0],y=g[p][0].split(" ")[0];s("change",{startTime:`${m} 00:00:00`,endTime:`${y} 24:00:00`})},h=()=>{const{data:f}=a;if(f.length===0)return;const p=f.map(m=>m[0].split(" ")[0]),g=f.map(m=>m[1]);i.setOption({grid:{height:0,left:"80px",right:"80px"},xAxis:{type:"category",data:p,show:!1},yAxis:{type:"value"},series:[{data:g,type:"line"}]},!0)};return e({resetSlide:(f,p,g)=>{let m=-1,y=-1;a.data.forEach((_,v)=>{m===-1&&_[0]===f?m=v:m===-1&&new Date(_[0])>new Date(f)&&(m=v-1),(y===-1&&_[0]===p||y===-1&&new Date(_[0])>new Date(p))&&(y=v)}),y=y===-1?a.data.length-1:y,i.setOption({dataZoom:[{show:!0,startValue:m,endValue:y,maxValueSpan:g,textStyle:{color:"#ccc"}},{type:"inside",startValue:m,endValue:y,maxValueSpan:g}]})},resize:()=>{i==null||i.resize()}}),(f,p)=>(u.openBlock(),u.createElementBlock("div",{class:"klineSlide",ref_key:"slideChartRef",ref:l},null,512))}}),tIt="",fct=en(hct,[["__scopeId","data-v-5008746a"]]),pct={install(n){n.component("st-klineUtils",tct),n.component("st-klineSub",dct),n.component("st-klineTips",sct),n.component("st-klineSlide",fct)}},nIt="",gct="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjM4NzI1IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI2MjUiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNGRjAwMDAiIHAtaWQ9IjI2MjYiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjcwOTMzMyAxNjcuNzIyNjY3YzAuMTI4LTIxLjc2IDkuOTg0LTQyLjY2NjY2NyAyNy4zOTItNTcuOTQxMzM0YTkzLjMxMiA5My4zMTIgMCAwIDEgNjQuNDY5MzM0LTIzLjg5MzMzM0w3NjEuNiA4NS4zMzMzMzNjMjUuNiAwLjU1NDY2NyA0Ny4zNiA4Ljc4OTMzMyA2NC45Mzg2NjcgMjQuNDA1MzM0IDE3LjkyIDE2IDI2Ljg4IDM1LjIgMjYuODggNTcuNDcybC0wLjU1NDY2NyA0MTkuODRjMC4yOTg2NjcgMjIuNjk4NjY3LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuOTIyNjY2LTEyLjYyOTMzMyAyNy4zMDY2NjctMjcuOTQ2NjY3IDQ4Ljg5Ni00NS44MjQgNjQuODk2bC0yMTEuMjQyNjY3IDE4OC4yMDI2NjdjLTE3LjU3ODY2NyAxNS43MDEzMzMtMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45Mzg2NjcgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0Ljk4MTMzMy0yMy41OTQ2NjdsLTIxMS4xNTczMzMtMTg4LjE2Yy0xNy45Mi0xNi4wNDI2NjctMzMuMjgtMzcuNzE3MzMzLTQ1LjkwOTMzNC02NC45ODEzMzMtMTIuNjcyLTI3LjMwNjY2Ny0xOS4wMjkzMzMtNTIuMzk0NjY3LTE5LjAyOTMzMy03NS4zMDY2NjdMMTcwLjY2NjY2NyAxNjcuNzIyNjY3eiBtNDIuNjY2NjY3IDAuMjU2bDAuNTU0NjY3IDQxOC42ODhjMCAxNi4yMTMzMzMgNC44MjEzMzMgMzUuMzI4IDE1LjAxODY2NiA1Ny4zNDQgMTAuMzY4IDIyLjI3MiAyMi4zNTczMzMgMzkuMjEwNjY3IDM1LjYyNjY2NyA1MS4wNzJsMjExLjQxMzMzMyAxODguNDE2YzguOTYgOC4xMDY2NjcgMjEuODg4IDEyLjggMzYuMjI0IDEyLjU0NCAxNS41MzA2NjctMC4wNDI2NjcgMjcuMDkzMzMzLTQuMjY2NjY3IDM2LjY5MzMzNC0xMi44bDIxMS4xNTczMzMtMTg4LjExNzMzNGMxMy4zMTItMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNTg0LTUxLjA3MiAxMC4xMTItMjEuODQ1MzMzIDE0Ljc2MjY2Ny00MC41NzYgMTQuNTA2NjY3LTU3LjA0NTMzM2wwLjU1NDY2Ni00MTkuNzU0NjY3YzAtOS44OTg2NjctMy41ODQtMTcuNjIxMzMzLTEyLjQ1ODY2Ni0yNS42YTU0LjY5ODY2NyA1NC42OTg2NjcgMCAwIDAtMzYuNjA4LTEzLjYxMDY2NmwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NyAxMy4zMTIgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzMgMjEuNDYxMzMzbC0wLjQyNjY2NyA0LjY5MzMzNHoiIGZpbGw9IiNBRTAwMDAiIHAtaWQ9IjI2MjciPjwvcGF0aD48cGF0aCBkPSJNMzg0IDY1NC4xMjI2NjdoMTUzLjUxNDY2N2M5Ni43NjggMCAxNDIuNzYyNjY3LTQ4Ljk4MTMzMyAxNDIuNzYyNjY2LTExNy4wNzczMzQgMC01OS43MzMzMzMtMzMuNDUwNjY3LTg4LjQwNTMzMy04NC44MjEzMzMtOTcuOTYyNjY2di0xLjc5MmM0OC45ODEzMzMtMTUuNTMwNjY3IDY2LjkwMTMzMy00Ni41OTIgNjYuOTAxMzMzLTg5LjYgMC02NS4xMDkzMzMtNDAuNjE4NjY3LTEwMy4zMzg2NjctMTM0Ljk5NzMzMy0xMDMuMzM4NjY3SDM4NHY0MDkuNzcwNjY3eiBtNzIuODc0NjY3LTU0Ljk1NDY2N3YtMTMxLjQxMzMzM2g2Ni4zMDRjNTEuOTY4IDAgODAuMDQyNjY3IDE3LjkyIDgwLjA0MjY2NiA2NS4xMDkzMzMgMCA0NC44LTI2LjI4MjY2NyA2Ni4zMDQtNzUuODYxMzMzIDY2LjMwNGgtNzAuNDg1MzMzeiBtMC0xODAuMzk0NjY3VjI5OC43MDkzMzNoNjAuMzMwNjY2YzQ3LjE4OTMzMyAwIDcyLjI3NzMzMyAxNC45MzMzMzMgNzIuMjc3MzM0IDU5LjEzNiAwIDQ2LjU5Mi0zMi4yNTYgNjAuOTI4LTc1LjI2NCA2MC45MjhoLTU3LjM0NHoiIGZpbGw9IiNGRkZGRkYiIHAtaWQ9IjI2MjgiPjwvcGF0aD48L3N2Zz4=",mct="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjQxNjY0IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI3NzciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiM1NEFCMzAiIHAtaWQ9IjI3NzgiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiMzODhEMTQiIHAtaWQ9IjI3NzkiPjwvcGF0aD48cGF0aCBkPSJNNTA2LjQ1MzMzMyA2NzQuNzMwNjY3Yzk5LjE1NzMzMyAwIDE0Ni4zNDY2NjctNDguMzg0IDE0Ni4zNDY2NjctMTI2LjAzNzMzNCAwLTcyLjg3NDY2Ny0zOC44MjY2NjctOTkuNzU0NjY3LTEwMy4zMzg2NjctMTE4LjI3MmwtMzguMjI5MzMzLTExLjk0NjY2NmMtNDAuNjE4NjY3LTExLjM0OTMzMy01Mi41NjUzMzMtMjUuMDg4LTUyLjU2NTMzMy01Ny4zNDQgMC0zMi44NTMzMzMgMjMuODkzMzMzLTUwLjc3MzMzMyA2Ni45MDEzMzMtNTAuNzczMzM0IDQ1LjM5NzMzMyAwIDc4Ljg0OCA5LjU1NzMzMyAxMDQuNTMzMzMzIDIwLjMwOTMzNFYyNzMuMzIyNjY3Yy0yMi42OTg2NjctMTEuOTQ2NjY3LTUxLjk2OC0yMi4xMDEzMzMtMTA1LjcyOC0yMi4xMDEzMzQtOTIuNTg2NjY3IDAtMTM3LjM4NjY2NyA0Ny4xODkzMzMtMTM3LjM4NjY2NiAxMTYuNDggMCA2OS4yOTA2NjcgMzUuMjQyNjY3IDEwMC4zNTIgOTMuMTg0IDExNi40OGwzOC44MjY2NjYgMTAuNzUyYzQ0LjggMTMuNzM4NjY3IDU5LjczMzMzMyAyNi44OCA1OS43MzMzMzQgNjAuOTI4IDAgMzcuMDM0NjY3LTIzLjI5NiA1OS43MzMzMzMtNzguMjUwNjY3IDU5LjczMzMzNC00NC44IDAtODMuNjI2NjY3LTEwLjc1Mi0xMTYuNDgtMjUuMDg4djU3Ljk0MTMzM2MyOC4wNzQ2NjcgMTQuOTMzMzMzIDY4LjY5MzMzMyAyNi4yODI2NjcgMTIyLjQ1MzMzMyAyNi4yODI2Njd6IiBmaWxsPSIjRkZGRkZGIiBwLWlkPSIyNzgwIj48L3BhdGg+PC9zdmc+",bct="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjI4MjAyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjMwNzgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNDODgwRkYiIHAtaWQ9IjMwNzkiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiNBRTQ0RkYiIHAtaWQ9IjMwODAiPjwvcGF0aD48cGF0aCBkPSJNNDc1LjMwNjY2NyA2NTguMjE4NjY3aDczLjQ3MlYzMDYuMzg5MzMzaDExNi40OFYyNDguNDQ4aC0zMDcuNjI2NjY3djU3Ljk0MTMzM2gxMTcuNjc0NjY3eiIgZmlsbD0iI0ZGRkZGRiIgcC1pZD0iMzA4MSI+PC9wYXRoPjwvc3ZnPg==",{round:_ct}=wl,H2={minValueSpan:5,maxValueSpan:2e3,loadCheckCount:500,loadAddCount:2e3},yct={1:240,2:48,3:16,4:8,5:4,6:1,7:.2,8:.033},Ine=({startTime:n,endTime:e,cycle:t,type:i="end"})=>{const{maxValueSpan:r}=H2,o=Math.ceil((r+1e3)/yct[t]),s=Dt(n);if(Dt(e).diff(s,"day")<=o)return[n,e];if(i==="end")return[Dt(e).subtract(o,"day").format("YYYY-MM-DD HH:mm:ss"),e];if(i==="middle"){const c=Dt((Dt(n).valueOf()+Dt(e).valueOf())/2).format("YYYY-MM-DD HH:mm:ss");return console.log("超过一屏数量上限, 进行中间时间计算",c,o/2),[Dt(c).subtract(o/2,"day").format("YYYY-MM-DD HH:mm:ss"),Dt(c).add(o/2,"day").format("YYYY-MM-DD HH:mm:ss")]}},vct=(n,e)=>{const t=n[e],i=e===0?n[e]:n[e-1];return t[0]===t[1]?t[0]>=i[1]?{color:"transparent",borderColor:"#FF0000"}:{color:"#00FFFF"}:t[1]>t[0]?{color:"transparent",borderColor:"#FF0000"}:{color:"#00FFFF"}},Cct=(n,e,t)=>{var r,o,s,a;const i=n.subIndicator.map(l=>{if(l.series==="bar")return{name:"subMain",xAxisIndex:0,yAxisIndex:1,type:"bar",silent:!0,symbol:"none",data:l.data.map((c,d)=>l.seriesColor==="kline"?{value:c,itemStyle:vct(n.data,d)}:l.seriesColor==="value"?{value:c,itemStyle:{color:c>=0?"#FF0000":"#00FFFF"}}:{value:c,itemStyle:{color:l.seriesColor}})};if(l.series==="line")return{xAxisIndex:0,yAxisIndex:l.yAxis==="right"?2:1,name:l.key,type:"line",silent:!0,symbol:"none",data:l.data,lineStyle:{width:1},itemStyle:{color:l.color}}});return{animation:!1,grid:{top:"10px",left:"60px",right:"20px",bottom:"10px"},dataZoom:[{type:"inside",startValue:e,endValue:t,maxValueSpan:H2.maxValueSpan}],tooltip:{show:!1},axisPointer:{show:!0,triggerTooltip:!1,label:{rich:{},formatter:l=>{const{axisDimension:c,value:d}=l;if(c==="x")return null;if(l.axisIndex===1)return String(_ct(d))}}},xAxis:{type:"category",data:n.time,axisLine:{show:!0},splitLine:{show:!1},axisLabel:{show:!1}},yAxis:[{position:"right"},{position:"left",min:((r=n.subIndicator[0])==null?void 0:r.leftYAxisRange)==="cover"?l=>l.min:null,max:((o=n.subIndicator[0])==null?void 0:o.leftYAxisRange)==="cover"?l=>l.max:null,splitNumber:1,axisLine:{show:!0},splitLine:{show:!0,lineStyle:{type:"dotted",color:"#333"}}},{position:"right",min:((s=n.subIndicator[0])==null?void 0:s.rightYAxisRange)==="cover"?l=>l.min:null,max:((a=n.subIndicator[0])==null?void 0:a.rightYAxisRange)==="cover"?l=>l.max:null,splitNumber:1,axisLine:{show:!1},splitLine:{show:!1},axisLabel:{show:!1}}],series:i}},fk=(n,e,t="strict")=>{let i=0,r=n.length-1,o=-1;for(;i<=r;){let s=Math.floor((i+r)/2);if(t==="strict"){if(n[s]===e)return s;n[s]<e?i=s+1:r=s-1}else t==="gte"&&(n[s]>=e?(o=s,r=s-1):i=s+1)}return t==="strict"?-1:o},wct=n=>{const e=[];return n.reduce((t,i)=>{const r=`${i.coord[0]}+${i.label.position}`,o=i.label.position==="top"?-16:16,s=t.get(r);return s?(t.set(r,s+1),i.symbolOffset[1]=o*(s+1)):(t.set(r,1),i.symbolOffset[1]=i.label.position==="top"?-7:7),e.push(i),t},new Map),e},Rne=(n,e)=>({data:[...n.data,...e.data.slice(1)],mainIndicator:n.mainIndicator.map((t,i)=>({...t,data:[...t.data,...e.mainIndicator[i].data.slice(1)]})),subIndicator:n.subIndicator.map((t,i)=>({...t,data:[...t.data,...e.subIndicator[i].data.slice(1)]})),time:[...n.time,...e.time.slice(1)]}),pk=(n,e,t)=>{switch(t){case"5":{let h=[...new Set(n.slice(-20).map(b=>{const C=new Date(b),w=String(C.getHours()).padStart(2,"0"),x=String(C.getMinutes()).padStart(2,"0"),S=String(C.getSeconds()).padStart(2,"0");return`${w}:${x}:${S}`}))];h.includes("00:00:00")&&(h.splice(h.indexOf("00:00:00"),1),h.push("24:00:00")),h=h.sort((b,C)=>new Date(`2000-01-30 ${b}`).getTime()-new Date(`2000-01-30 ${C}`).getTime());const f=new Date(e),p=f.getFullYear(),g=String(f.getMonth()+1).padStart(2,"0"),m=String(f.getDate()).padStart(2,"0"),y=String(f.getHours()).padStart(2,"0"),_=String(f.getMinutes()).padStart(2,"0"),v=String(f.getSeconds()).padStart(2,"0");if(`${y}:${_}:${v}`=="00:00:00")return`${p}-${g}-${m} 01:00:00`;{let b=null;for(let C=0;C<h.length;C++){const w=h[C].split(":");if(+`${w[0]}${w[1]}${w[2]}`>=+`${y}${_}${v}`){b=h[C];break}}if(b==="24:00:00"){const C=new Date(e);C.setDate(C.getDate()+1);const w=C.getFullYear(),x=String(C.getMonth()+1).padStart(2,"0"),S=String(C.getDate()).padStart(2,"0");return`${w}-${x}-${S} 00:00:00`}return`${p}-${g}-${m} ${b}`}}case"6":{const h=new Date(e),f=h.getHours();if(f>=4&&f<21){const p=h.getFullYear(),g=String(h.getMonth()+1).padStart(2,"0"),m=String(h.getDate()).padStart(2,"0");return`${p}-${g}-${m} 09:00:00`}else{const p=new Date(e);p.getHours()>=21&&p.setDate(p.getDate()+1);const g=p.getFullYear(),m=String(p.getMonth()+1).padStart(2,"0"),y=String(p.getDate()).padStart(2,"0"),_=`${g}-${m}-${y} 09:00:00`,v=fk(n,_,"gte");return v===-1?_:n[v]}}case"7":{const h=new Date(e),f=new Date(h);f.setDate(h.getDate()-h.getDay()),f.setHours(0,0,0,0);const p=new Date(f);p.setDate(f.getDate()+5),p.setHours(23,59,59,0);const g=new Date(f);g.setDate(f.getDate()+12),g.setHours(9,0,0,0);const m=h<=p?p:g,y=m.getFullYear(),_=String(m.getMonth()+1).padStart(2,"0"),v=String(m.getDate()).padStart(2,"0");return`${y}-${_}-${v} 09:00:00`}case"8":{const h=new Date(e),f=new Date(h.getFullYear(),h.getMonth()+1,1),p=new Date(f);p.setDate(f.getDate()-1),p.setHours(9,0,0,0);const g=p.getFullYear(),m=String(p.getMonth()+1).padStart(2,"0"),y=String(p.getDate()).padStart(2,"0");return`${g}-${m}-${y} 09:00:00`}}const i=new Date(e),r=i.getFullYear(),o=i.getMonth(),s=i.getDate(),a=i.getHours(),l=i.getMinutes(),c=i.getSeconds(),d=h=>{let f=null;const p=Math.floor(l/h);l%h===0&&c===0?f=l:f=(p+1)*h;const g=Math.floor(f/60),m=a+g,y=f%60,_=new Date(r,o,s,m,y,0),v=N=>String(N).padStart(2,"0"),b=_.getFullYear(),C=v(_.getMonth()+1),w=v(_.getDate()),x=v(_.getHours()),S=v(_.getMinutes());return`${b}-${C}-${w} ${x}:${S}:00`};switch(t){case"1":return d(1);case"2":return d(5);case"3":return d(15);case"4":return d(30);default:throw new Error(`Unsupported cycle: ${e} ${t}`)}},gk=(n,e,t)=>{let i=null,r=null;const[o,s]=e;switch(t){case"6":{i=n.find(a=>new Date(Dt(a).format("YYYY-MM-DD 23:59:59")).getTime()>=new Date(o).getTime()),r=n.findLast(a=>new Date(Dt(a).format("YYYY-MM-DD 00:00:00")).getTime()<=new Date(s).getTime());break}case"7":{const a=Dt(s).endOf("week").add(1,"day").format("YYYY-MM-DD 23:59:59");i=n.find(l=>Dt(l).endOf("week").add(1,"day").format("YYYY-MM-DD")===Dt(o).endOf("week").add(1,"day").format("YYYY-MM-DD")),r=n.findLast(l=>new Date(l).getTime()<=new Date(a).getTime());break}case"8":{i=n.find(a=>Dt(a).format("YYYY-MM")===Dt(o).format("YYYY-MM")),r=n.findLast(a=>Dt(a).format("YYYY-MM")===Dt(s).format("YYYY-MM"));break}default:i=n.find(a=>new Date(a).getTime()>=new Date(o).getTime()),r=n.findLast(a=>new Date(a).getTime()<=new Date(s).getTime())}return[i,r]},xct=(n,e,t,i,r,o)=>{const s=(p,g)=>{const{direction:m="",tradeAction:y="",tradeType:_=""}=p,v=_??m+y;switch(g){case 0:return new Map([["开多","买"],["平多","卖"],["开空","卖"],["平空","买"]]).get(v);case 1:return _??m+y}},a=(p,g,m,y)=>p.reduce((_,v)=>{var D;const b=s(v,0),C=p.filter(E=>E.klineTime===v.klineTime),w=[...new Set(C.map(E=>s(E,0)))];let x=null;w.length>1?x="image://"+new URL("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjgzNzAzMjI4MjAyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjMwNzgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTE5OC4wMTYgMTA5LjczODY2N0E3Ny44NjY2NjcgNzcuODY2NjY3IDAgMCAwIDE3MC42NjY2NjcgMTY3LjY4bDAuNTEyIDQxOC45NDRjMCAyMi44NjkzMzMgNi40IDQ4IDE5LjAyOTMzMyA3NS4zMDY2NjcgMTIuNjcyIDI3LjIyMTMzMyAyNy45ODkzMzMgNDguOTM4NjY3IDQ1Ljk1MiA2NC45Mzg2NjZsMjExLjE1NzMzMyAxODguMjAyNjY3YzE3LjA2NjY2NyAxNS40ODggNDAuNTc2IDIzLjk3ODY2NyA2NC45Mzg2NjcgMjMuNTk0NjY3IDI1LjY4NTMzMy0wLjA4NTMzMyA0Ny4zNi03LjkzNiA2NC45ODEzMzMtMjMuNTk0NjY3bDIxMS4yLTE4OC4yMDI2NjdjMTcuOTItMTYgMzMuMTk0NjY3LTM3LjYzMiA0NS44NjY2NjctNjQuOTM4NjY2IDEyLjY3Mi0yNy4zMDY2NjcgMTguNzczMzMzLTUyLjIyNCAxOC41MTczMzMtNzQuOTIyNjY3TDg1My4zMzMzMzMgMTY3LjI1MzMzM2MwLTIyLjI3Mi04Ljk2LTQxLjQ3Mi0yNi44MzczMzMtNTcuNDcyLTE3LjU3ODY2Ny0xNS42MTYtMzkuMzM4NjY3LTIzLjg5MzMzMy02NC45Mzg2NjctMjQuNDA1MzMzbC00OTkuMDI5MzMzIDAuNDY5MzMzYTkzLjMxMiA5My4zMTIgMCAwIDAtNjQuNTEyIDIzLjg5MzMzNHoiIGZpbGw9IiNDODgwRkYiIHAtaWQ9IjMwNzkiPjwvcGF0aD48cGF0aCBkPSJNMTcwLjY2NjY2NyAxNjcuNjhjMC4xMjgtMjEuNzYgOS45NDEzMzMtNDIuNjY2NjY3IDI3LjM0OTMzMy01Ny45NDEzMzNhOTMuMzEyIDkzLjMxMiAwIDAgMSA2NC41MTItMjMuODkzMzM0TDc2MS41NTczMzMgODUuMzMzMzMzYzI1LjYgMC41NTQ2NjcgNDcuMzYgOC43ODkzMzMgNjQuOTM4NjY3IDI0LjQwNTMzNCAxNy45MiAxNiAyNi44MzczMzMgMzUuMiAyNi44MzczMzMgNTcuNDcybC0wLjUxMiA0MTkuODRjMC4yOTg2NjcgMjIuNjU2LTUuODQ1MzMzIDQ3LjYxNi0xOC41MTczMzMgNzQuODgtMTIuNjcyIDI3LjMwNjY2Ny0yNy45NDY2NjcgNDguOTM4NjY3LTQ1Ljg2NjY2NyA2NC45Mzg2NjZsLTIxMS4yIDE4OC4yMDI2NjdjLTE3LjYyMTMzMyAxNS42NTg2NjctMzkuMjUzMzMzIDIzLjUwOTMzMy02NC45ODEzMzMgMjMuNTk0NjY3YTk0LjcyIDk0LjcyIDAgMCAxLTY0LjkzODY2Ny0yMy41OTQ2NjdsLTIxMS4yLTE4OC4yMDI2NjdjLTE3LjkyLTE2LTMzLjIzNzMzMy0zNy43MTczMzMtNDUuOTA5MzMzLTY0LjkzODY2Ni0xMi42MjkzMzMtMjcuMzA2NjY3LTE5LjAyOTMzMy01Mi40MzczMzMtMTkuMDI5MzMzLTc1LjMwNjY2N0wxNzAuNjY2NjY3IDE2Ny42OHogbTQyLjYyNCAwLjI1NmwwLjU1NDY2NiA0MTguNjg4YzAgMTYuMTcwNjY3IDQuODY0IDM1LjMyOCAxNS4wNjEzMzQgNTcuMzQ0IDEwLjM2OCAyMi4yNzIgMjIuMzE0NjY3IDM5LjE2OCAzNS42MjY2NjYgNTEuMDI5MzMzbDIxMS40MTMzMzQgMTg4LjQxNmM4Ljk2IDguMTA2NjY3IDIxLjg4OCAxMi44IDM2LjIyNCAxMi41ODY2NjcgMTUuNTMwNjY3LTAuMDQyNjY3IDI3LjA5MzMzMy00LjI2NjY2NyAzNi42OTMzMzMtMTIuOGwyMTEuMTE0NjY3LTE4OC4xNmMxMy4zNTQ2NjctMTEuOTQ2NjY3IDI1LjMwMTMzMy0yOC44NDI2NjcgMzUuNjI2NjY2LTUxLjA3MiAxMC4xMTItMjEuNzYgMTQuNzYyNjY3LTQwLjUzMzMzMyAxNC41MDY2NjctNTcuMDAyNjY3TDgxMC42NjY2NjcgMTY3LjIxMDY2N2MwLTkuODk4NjY3LTMuNTg0LTE3LjYyMTMzMy0xMi41MDEzMzQtMjUuNkE1NC42OTg2NjcgNTQuNjk4NjY3IDAgMCAwIDc2MS42IDEyOGwtNDk5LjYyNjY2NyAwLjQ2OTMzM2E1MS4zMjggNTEuMzI4IDAgMCAwLTM1Ljc1NDY2NiAxMy4yNjkzMzQgMzYuNTY1MzMzIDM2LjU2NTMzMyAwIDAgMC0xMi41MDEzMzQgMjEuNTA0bC0wLjQyNjY2NiA0LjY5MzMzM3oiIGZpbGw9IiNBRTQ0RkYiIHAtaWQ9IjMwODAiPjwvcGF0aD48cGF0aCBkPSJNNDc1LjMwNjY2NyA2NTguMjE4NjY3aDczLjQ3MlYzMDYuMzg5MzMzaDExNi40OFYyNDguNDQ4aC0zMDcuNjI2NjY3djU3Ljk0MTMzM2gxMTcuNjc0NjY3eiIgZmlsbD0iI0ZGRkZGRiIgcC1pZD0iMzA4MSI+PC9wYXRoPjwvc3ZnPg==",self.location).href:x="image://"+new URL(Object.assign({"./images/buy.svg":gct,"./images/sell.svg":mct,"./images/t.svg":bct})[`./images/${b==="买"?"buy":"sell"}.svg`],self.location).href;const S=fk(m,v.klineTime),N=(D=y[S])==null?void 0:D[3];return g.forEach(E=>{var L;const k=b==="买"?0:1;E.range[k]===v.klineTime&&(E.rangeValue[k]=(L=y[S])==null?void 0:L[b==="买"?2:3])}),_.push({symbol:x,symbolSize:25,symbolRotate:0,symbolOffset:[0,0],label:{show:!1,position:"top"},coord:[v.klineTime,N],silent:!0,animation:!1,customData:{tradeType:b,amount:v.amount,part:v.part,profitAndLoss:v.profitAndLoss,openPriceAll:v.openPriceAll,closePriceAll:v.closePriceAll}}),_},[]),l=(p,g,m,y)=>{const{sellBuyByPrice:_}=o,v=p.reduce((b,C,w)=>{var D,E;const x=s(C,1),S=["开多","开空"].includes(x)?"top":"bottom";let N=null;if(_)N=S==="top"?(C.openPriceAll/C.amount).toFixed(2):(C.closePriceAll/C.amount).toFixed(2);else{const k=fk(m,C.klineTime);N=S==="top"?(D=y[k])==null?void 0:D[3]:(E=y[k])==null?void 0:E[2]}return g.forEach(k=>{(S==="top"?k.range[0]:k.range[1])===C.klineTime&&(k.rangeValue[S==="top"?0:1]=N)}),b.push({symbol:"triangle",symbolSize:[10,12],symbolRotate:S==="top"?180:0,symbolOffset:[0,0],label:{show:!0,position:S,color:"#fff",formatter:`${x} ${S==="top"?"+":"-"} ${C.amount}手 ${C.part?`(${C.part}份)`:""}`},itemStyle:{color:S==="top"?"#FF0000":"#389e0d"},coord:[C.klineTime,N],silent:!0,animation:!1,customData:{tradeType:x,amount:C.amount,part:C.part,profitAndLoss:C.profitAndLoss,openPriceAll:C.openPriceAll,closePriceAll:C.closePriceAll}}),b},[]);return _?v:wct(v)},c=(p,g,m)=>{const{basePointData:y,baseLineData:_}=p.reduce((w,x)=>{const S={pointTime:x.openTime,tradeAction:"开",tradeDirection:x.tradeDirection?"空":"多",tradeType:`开${x.tradeDirection?"空":"多"}`,part:null,amount:x.tradeVolume,profitAndLoss:x.profitAndLoss,openPriceAll:x.openPrice*x.tradeVolume,closePriceAll:x.closePrice*x.tradeVolume,klineTime:pk(m,x.openTime,g)},N={pointTime:x.closeTime,tradeAction:"平",tradeDirection:x.tradeDirection?"空":"多",tradeType:`平${x.tradeDirection?"空":"多"}`,part:null,amount:x.tradeVolume,profitAndLoss:x.profitAndLoss,openPriceAll:x.openPrice*x.tradeVolume,closePriceAll:x.closePrice*x.tradeVolume,klineTime:pk(m,x.closeTime,g)},D={range:[S.klineTime,N.klineTime],rangeValue:[null,null],color:N.profitAndLoss>0?"#FF0000":"#389e0d"};return w.basePointData.push(S,N),w.baseLineData.push(D),w},{basePointData:[],baseLineData:[]}),b=[...y.reduce((w,x)=>{const S=JSON.parse(JSON.stringify(x)),N=S.klineTime+S.tradeType;if(w.has(N)){const D=w.get(N);S.amount+=D.amount,S.part+=D.part,S.profitAndLoss+=D.profitAndLoss,S.openPriceAll+=D.openPriceAll,S.closePriceAll+=D.closePriceAll}return w.set(N,S),w},new Map([])).values()].sort((w,x)=>new Date(w.klineTime)-new Date(x.klineTime)),C=_.filter(({range:w})=>w[0]!==w[1]);return{pointData:b,lineData:C}},{pointData:d,lineData:h}=c(n,e,i);return{tradePointData:(t===0?a:l)(d,h,i,r),tradeLineData:h.map(({range:p,rangeValue:g,color:m})=>[{symbol:"none",coord:[p[0],g[0]],lineStyle:{color:m,width:2,type:"solid"},silent:!0,animation:!1},{symbol:"none",coord:[p[1],g[1]],silent:!0,animation:!1}])}},Sct=(n,e)=>{let t=[];if(Number(e)<=5)t=n.map(({tradeDate:i,netPositionValue:r})=>[Dt(i).format("YYYY-MM-DD HH:mm:ss"),r]);else if(Number(e)===6){const i=n.reduce((r,o)=>{const{tradeDate:s,netPositionValue:a}=o;return r.set(Dt(s).format("YYYY-MM-DD 09:00:00"),a),r},new Map);t=Array.from(i,([r,o])=>[r,o])}else t=[];return{netPositionLineData:t}},Dct=(n,e,t,i)=>{let r=[];if(["6","7","8"].includes(e)){const o=n.reduce((s,a)=>{const l=pk(i,a.date,e),c=a[t===0?"simple":"compound"];return s.set(l,c),s},new Map);r=Array.from(o,([s,a])=>[s,a])}else r=[];return{tradeIncomeRateLineData:r}},iIt="",Nct={class:"tips"},mk=en({__name:"Tips",props:{data:{type:Array,default:()=>[]}},setup(n){return(e,t)=>(u.openBlock(),u.createElementBlock("div",Nct,[(u.openBlock(!0),u.createElementBlock(u.Fragment,null,u.renderList(n.data,(i,r)=>(u.openBlock(),u.createElementBlock("span",{key:r,class:"item",style:u.normalizeStyle({color:i.color})},u.toDisplayString(i.label)+" "+u.toDisplayString(i.value),5))),128))]))}},[["__scopeId","data-v-df1caefe"]]),oIt="",Ect=en({__name:"SliderChart",props:{screenTimeRange:{type:Array,required:!0},varietyCode:{type:String,required:!0},varietyStock:{type:Number,required:!0},rightType:{type:[Number,null],default:null},klineType:{type:[Number,null],default:null},deleteFirstNumber:{type:Number,default:1},withoutPermission:{type:Number,default:0}},emits:["change"],setup(n,{expose:e,emit:t}){const{request:i}=u.inject("stConfig");let r=null;const o=u.ref(null),s=t,a=n,l=u.ref({data:[],mainIndicator:[],subIndicator:[],time:[]}),c=async()=>{const p={varietyCode:a.varietyCode,cycle:"6",right:a.varietyStock===1?a.rightType:0,contractType:a.varietyStock?null:a.klineType,startTime:"1999-01-01 00:00:00",endTime:Dt().format("YYYY-MM-DD 23:59:59"),deleteFirstNumber:a.deleteFirstNumber,withoutPermission:a.withoutPermission},{body:g}=await i.post("/middleLayer/kline/getKline",p);g?l.value=g:l.value={data:[],mainIndicator:[],subIndicator:[],time:[]},f("init")},d=Ra(p=>{if(!p.dataZoomId)return;const g=r.getOption();if(g!=null&&g.dataZoom[0]){const{startValue:m,endValue:y}=r.getOption().dataZoom[0],{time:_}=l.value,v=`${_[m].split(" ")[0]} 00:00:00`,b=`${_[y].split(" ")[0]} 23:59:59`;console.log(`检测到拖拽轴被拖动, 时间区间: ${v} - ${b}`),s("change",{startTime:v,endTime:b})}},200),h=Ra(({startTime:p,endTime:g})=>{f("reset",{startTime:p,endTime:g})},100),f=(p,g)=>{switch(p){case"init":{const{data:m,time:y}=l.value,{xAxisData:_,lineData:v}=m.reduce((C,w,x)=>(C.xAxisData.push(y[x].split(" ")[0]),C.lineData.push(w[1]),C),{xAxisData:[],lineData:[]}),b={grid:{height:0,left:"100px",right:"80px"},xAxis:{type:"category",data:_,show:!1},yAxis:{type:"value"},dataZoom:[{show:!0,startValue:0,endValue:0,textStyle:{color:"#ccc"}},{type:"inside",startValue:0,endValue:0}],series:[{data:v,type:"line"}]};if(r.setOption(b,!0),a.screenTimeRange.length){const[C,w]=a.screenTimeRange;h({startTime:C,endTime:w})}break}case"reset":{const{time:m}=l.value,y=Dt(g.startTime).format("YYYY-MM-DD"),_=Dt(g.endTime).format("YYYY-MM-DD");let v=-1,b=-1;for(let C=0;C<m.length;C++){const w=Dt(m[C]).format("YYYY-MM-DD");if(v!==-1&&b!==-1)break;v===-1&&(new Date(w)===new Date(y)?v=C:new Date(w)>new Date(y)&&(v=C-1)),b===-1&&(new Date(w)===new Date(_)?b=C:new Date(w)>new Date(_)&&(b=C-1))}b===-1&&(b=m.length-1),r.dispatchAction({type:"dataZoom",startValue:v,endValue:b});break}}};return u.onMounted(()=>{u.nextTick(()=>{r=Kr.init(o.value),r.on("datazoom",d),c()})}),u.watch(()=>a.screenTimeRange,p=>{const[g,m]=p;h({startTime:g,endTime:m})},{deep:!0}),u.onUnmounted(()=>{r.off("datazoom"),r.dispose()}),e({resize:Ra(()=>r.resize(),100)}),(p,g)=>(u.openBlock(),u.createElementBlock("div",{class:"chart",ref_key:"sliderChartRef",ref:o},null,512))}},[["__scopeId","data-v-0c715da1"]]),aIt="",kct={class:"main-chart"},Lct={class:"indicator"},Mct={key:0,class:"screen-time-range"},Tct={key:0,class:"sub-chart"},Act={class:"indicator"},Ict={class:"title"},Rct={key:1,class:"slider-chart"},Oct=en({__name:"index",props:{varietyCode:{type:String,required:!0},varietyStock:{type:Number,required:!0},indicatorStore:{type:Object,required:!0},userKlineConfig:{type:Object,required:!0},cycle:{type:String,required:!0},sellBuy:{type:Number,default:1},rightType:{type:[Number,null],default:null},klineType:{type:[Number,null],default:null},incomeType:{type:Number,default:0},initTimeRange:{type:Array,required:!0},mainIndicator:{type:String,required:!0},tradeLog:{type:Array,default:()=>[]},netPositionData:{type:Array,default:()=>[]},tradeIncomeRateData:{type:Array,default:()=>[]},positionTime:{type:[String,null],default:null},syncBrushRange:{type:Object,default:()=>({cycleList:[],startTime:null,endTime:null})},deleteFirstNumber:{type:Number,default:1},withoutPermission:{type:Number,default:0}},setup(n,{expose:e}){const{round:t,formatValue:i}=wl,{request:r}=u.inject("stConfig"),o=u.ref(!1),s=u.ref(!1),a=n;let l=!1,c=!1,d=!1,h=!1,f=null,p=null,g=null;const m=u.ref(null),y=u.ref(null),_=u.ref(null),v=u.ref({data:[],mainIndicator:[],subIndicator:[],time:[]}),b=u.ref(0),C=u.ref([]),w=u.ref(null),x=u.ref("VOL"),S=u.computed(()=>{const R=v.value.data[b.value];if(!R)return[{label:"开",value:"-"},{label:"高",value:"-"},{label:"低",value:"-"},{label:"收",value:"-"},{label:"额",value:"-"},{label:"涨跌",value:"-"}];const F=[{label:"开",value:R[0]},{label:"高",value:R[3]},{label:"低",value:R[2]},{label:"收",value:R[1]}];R[4]!==null&&F.push({label:"额",value:i(R[4])});let W;return R[6]>0?W="red":R[6]<0&&(W="green"),F.push({label:"涨跌",value:`${t(R[6])}%`,color:W}),F}),N=u.computed(()=>{var R,F;return((F=(R=v.value)==null?void 0:R.mainIndicator)==null?void 0:F.map(W=>({label:W.key,value:t(W.data[b.value]),color:W.color})))||[]}),D=u.computed(()=>{var R,F;return((F=(R=v.value)==null?void 0:R.subIndicator)==null?void 0:F.map(W=>({label:W.key,color:W.color,value:W.data[b.value]||"-"})))||[]}),E=()=>{if(!m.value)return console.warn("[K线] 主图DOM元素不存在,取消初始化"),!1;if(g)return!0;try{return g=Kr.init(m.value),g.on("highlight",Ra(R=>{var F;R.dataIndex?b.value=R.dataIndex:b.value=((F=R.batch)==null?void 0:F[0].dataIndex)??-1},10)),g.on("datazoom",Ra(async()=>{var G;const{loadCheckCount:R}=H2,{startValue:F,endValue:W}=((G=g.getOption())==null?void 0:G.dataZoom[0])??{};d===!1&&h===!1&&F<R&&await L("history"),l===!1&&c===!1&&W>v.value.time.length-R&&await L("new"),O(),A()})),g.on("globalout",()=>{if(g){const R=g.getOption();b.value=R.dataZoom[0].endValue}}),g.getZr().on("contextmenu",()=>{var R;w.value=(R=v.value)==null?void 0:R.time[b.value]}),window.addEventListener("keydown",M),a.userKlineConfig.enable_subChart&&y.value&&(p=Kr.init(y.value),Kr.connect([g,p])),m.value&&(f=wJ(m.value),f.listen(()=>{requestAnimationFrame(()=>{var R;g==null||g.resize(),p==null||p.resize(),(R=_.value)==null||R.resize()})})),!0}catch(R){return console.error("[st-klinePlus]: 初始化异常:",R),!1}},k=async({startTime:R,endTime:F})=>{d=!1,h=!1,l=!1,c=!1;try{o.value=!0;const W={varietyCode:a.varietyCode,cycle:a.cycle,right:a.varietyStock===1?a.rightType:0,contractType:a.varietyStock?null:a.klineType,mainIndicatorList:a.indicatorStore.getIndicatorParams(a.mainIndicator),subIndicator:x.value,deleteFirstNumber:a.deleteFirstNumber,withoutPermission:a.withoutPermission};["1","2","3","4","5"].includes(a.cycle)?Object.assign(W,{startTime:Dt(R).subtract(1,"day").format("YYYY-MM-DD HH:mm:ss"),endTime:Dt(F).add(1,"day").format("YYYY-MM-DD HH:mm:ss")}):["6","7"].includes(a.cycle)?Object.assign(W,{startTime:Dt(R).subtract(50,"day").format("YYYY-MM-DD HH:mm:ss"),endTime:Dt(F).add(50,"day").format("YYYY-MM-DD HH:mm:ss")}):Object.assign(W,{startTime:Dt(R).subtract(10,"month").format("YYYY-MM-DD HH:mm:ss"),endTime:Dt(F).add(10,"month").format("YYYY-MM-DD HH:mm:ss")});const{body:G}=await r.post("/middleLayer/kline/getKline",W);v.value=G??{data:[],mainIndicator:[],subIndicator:[],time:[]};let q=-1,z=-1;for(let ae=0;ae<v.value.time.length;ae++){const se=Dt(v.value.time[ae]).format("YYYY-MM-DD");if(q!==-1&&z!==-1)break;q===-1&&(new Date(se)===new Date(R)?q=ae:new Date(se)>new Date(R)&&(q=ae-1)),z===-1&&(new Date(se)===new Date(F)?z=ae:new Date(se)>new Date(F)&&(z=ae-1))}z===-1&&(z=v.value.time.length-1),P({startValue:q===-1?0:q,endValue:z===-1?v.value.time.length-1:z})}finally{o.value=!1}},L=async R=>{var se,ie;const{loadAddCount:F}=H2;switch(R){case"history":{d=!0;const ee={varietyCode:a.varietyCode,cycle:a.cycle,right:a.varietyStock===1?a.rightType:0,contractType:a.varietyStock?null:a.klineType,endTime:v.value.time[0],limit:F,mainIndicatorList:a.indicatorStore.getIndicatorParams(a.mainIndicator),subIndicator:x.value,deleteFirstNumber:a.deleteFirstNumber,withoutPermission:a.withoutPermission},{body:oe}=await r.post("/middleLayer/kline/getKline",ee);v.value=Rne(oe,v.value),oe.data.length<F&&(console.log("[K线] 获取更多数据: 左侧已全部获取完毕, 关闭"),h=!0),d=!1;break}case"new":{l=!0;const ee={varietyCode:a.varietyCode,cycle:a.cycle,right:a.varietyStock===1?a.rightType:0,contractType:a.varietyStock?null:a.klineType,startTime:v.value.time[v.value.time.length-1],limit:F,mainIndicatorList:a.indicatorStore.getIndicatorParams(a.mainIndicator),subIndicator:x.value,deleteFirstNumber:a.deleteFirstNumber,withoutPermission:a.withoutPermission},{body:oe}=await r.post("/middleLayer/kline/getKline",ee);v.value=Rne(v.value,oe),oe.data.length<F&&(console.log("[K线] 获取更多数据: 右侧已全部获取完毕, 关闭"),c=!0),l=!1;break}}const{startValue:W,endValue:G}=((se=g.getOption())==null?void 0:se.dataZoom[0])??{},q=(ie=g.getOption())==null?void 0:ie.xAxis[0].data,z=v.value.time.findIndex(ee=>new Date(ee)>=new Date(q[W])),ae=v.value.time.findIndex(ee=>new Date(ee)>=new Date(q[G]));P({startValue:z===-1?0:z,endValue:ae===-1?v.value.time.length-1:ae})},O=()=>{var z;if(!v.value.time.length)return C.value=[];const{time:R}=v.value,{startValue:F,endValue:W}=((z=g.getOption())==null?void 0:z.dataZoom[0])??{},G=R[F],q=R[W];["6","7","8"].includes(a.cycle)?C.value=[Dt(G).format("YYYY-MM-DD"),Dt(q).format("YYYY-MM-DD")]:C.value=[G,q]},P=(R={startValue:0,endValue:0})=>{if(!E()||!g)return console.warn("[st-klinePlus]: 图表未准备就绪, 跳过绘制");if(!v.value.time.length)return console.warn("[st-klinePlus]: 图表无数据, 跳过绘制");const{maxValueSpan:W}=H2,{time:G,data:q,mainIndicator:z}=v.value,ae=R.endValue-R.startValue>W?R.endValue-W:R.startValue,se=R.endValue,ie=z.map(le=>({name:le.key,type:"line",silent:!0,symbol:"none",data:le.data,lineStyle:{width:le.width||1},itemStyle:{color:le.color}})),{netPositionLineData:ee}=Sct(a.netPositionData,a.cycle),{tradeIncomeRateLineData:oe}=Dct(a.tradeIncomeRateData,a.cycle,a.incomeType,G),{tradePointData:ce,tradeLineData:pe}=xct(a.tradeLog,a.cycle,a.sellBuy,G,q,a.userKlineConfig);g.setOption({animation:!1,grid:{top:"40px",left:"60px",right:"20px",bottom:"20px"},dataZoom:[{type:"inside",startValue:ae,endValue:se,minValueSpan:H2.minValueSpan,maxValueSpan:H2.maxValueSpan}],tooltip:{trigger:"axis",appendToBody:!0,confine:!0,axisPointer:{type:"cross",label:{rich:{},formatter:le=>{const{axisDimension:me,value:Se}=le;return me==="x"?["6","7","8"].includes(a.cycle)?Dt(Se).format("YYYY-MM-DD"):Se:String(t(Se))}}},formatter:le=>{if(!(le!=null&&le.length))return null;let me="";if(le.forEach(te=>{if(te.seriesName==="netPosition"&&te.data!==null&&(me+=`<div>资产持仓净值: ${te.data[1]}</div>`),te.componentSubType==="candlestick")if(a.sellBuy===0){const j=ce.filter(J=>(J==null?void 0:J.coord[0])===te.axisValue);let Q=0,ne=0;j.forEach(J=>{const{tradeType:re,amount:Y}=J.customData;re==="买"&&(Q+=Y),re==="卖"&&(ne+=Y)}),Q&&(me+=`<div>买: ${Q}</div>`),ne&&(me+=`<div>卖: ${ne}</div>`)}else ce.forEach(j=>{if((j==null?void 0:j.coord[0])===te.axisValue){const{tradeType:Q,amount:ne,profitAndLoss:J,openPriceAll:re,closePriceAll:Y}=j.customData;let Z=`<div>${Q}: ${ne}手</div>`;if(Q.includes("开")&&(Z+=`<div>开仓价: ${(re/ne).toFixed(2)}</div>`),Q.includes("平")){const X=(re/ne).toFixed(2),V=(Y/ne).toFixed(2);Z+=`<div>平仓价: ${V}</div>`,Z+=`<div>盈亏: ${J==null?void 0:J.toFixed(2)}</div>`,Z+=`<div>盈亏比率: ${((V-X)/X*100).toFixed(2)} %</div>`}me+=Z}})}),!me)return null;let Se=le[0].axisValue;return["6","7","8"].includes(a.cycle)&&(Se=Dt(Se).format("YYYY-MM-DD")),`
144
144
  <div>
145
145
  <span style="font-weight: bold;">${Se}</span>
146
146
  ${me}