(window.webpackJsonp=window.webpackJsonp||[]).push([[52],{2359:function(e,t,r){"use strict";var n=r(0),o=r(1);n(t,"__esModule",{value:!0}),t.default=void 0;var l=o(r(32)),d=o(r(15)),c=o(r(33)),m=o(r(2)),f=o(r(3)),h=o(r(13)),_=o(r(332)),v=r(62),y=function(){return(0,f.default)((function e(){(0,m.default)(this,e),this._connect()}),[{key:"_connect",value:function(){var e=this;this.instance||(0,v.getNewContractWSUrl)(!0).then((function(t){e.instance=new _.default(t,!0)}))}}],[{key:"getInstance",value:(t=(0,c.default)(l.default.mark((function e(){var t=this;return l.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.cachePromise||this.newUrl){e.next=2;break}return e.abrupt("return",this.cachePromise);case 2:return this.cachePromise=new d.default(function(){var e=(0,c.default)(l.default.mark((function e(r,n){return l.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.newUrl&&(t.instance=new _.default(t.newUrl,!0),t.newUrl=""),t.instance){e.next=6;break}return e.next=4,t.resetUrl();case 4:t.instance=new _.default(t.newUrl,!0),t.newUrl="";case 6:r(t.instance);case 7:case"end":return e.stop()}}),e)})));return function(t,r){return e.apply(this,arguments)}}()),e.abrupt("return",this.cachePromise);case 4:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"resetUrl",value:(e=(0,c.default)(l.default.mark((function e(){return l.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,(0,v.getNewContractWSUrl)(!0);case 2:this.newUrl=e.sent;case 3:case"end":return e.stop()}}),e,this)}))),function(){return e.apply(this,arguments)})}]);var e,t}();(0,h.default)(y,"instance",null|_.default),(0,h.default)(y,"newUrl",""),(0,h.default)(y,"cachePromise",null);t.default=y},332:function(e,t,r){"use strict";var n=r(14),o=r(18),l=r(0),d=r(12),c=r(1);l(t,"__esModule",{value:!0}),t.default=void 0;var m=c(r(32)),f=c(r(17)),h=c(r(44)),_=c(r(325)),v=c(r(56)),y=c(r(33)),S=c(r(2)),C=c(r(3)),M=c(r(13)),P=r(26),E=r(62),T=c(r(65)),N=c(r(66)),I=c(r(244)),L=r(337),O=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=n(e)&&"function"!=typeof e)return{default:e};var r=w(t);if(r&&r.has(e))return r.get(e);var o={__proto__:null},a=l&&d;for(var u in e)if("default"!==u&&{}.hasOwnProperty.call(e,u)){var i=a?d(e,u):null;i&&(i.get||i.set)?l(o,u,i):o[u]=e[u]}return o.default=e,r&&r.set(e,o),o}(r(39));function w(e){if("function"!=typeof o)return null;var t=new o,r=new o;return(w=function(e){return e?r:t})(e)}var k=t.default=function(){function e(link,t,r){var n=this;if((0,S.default)(this,e),(0,M.default)(this,"_pureLink",""),(0,M.default)(this,"_isArtificialClosed",!1),(0,M.default)(this,"_msgHandleMap",{}),(0,M.default)(this,"_pulseTimer",null),(0,M.default)(this,"_pulseInterval",13e3),(0,M.default)(this,"_dealMsgListTimer",null),(0,M.default)(this,"_onLine",!1),(0,M.default)(this,"_neeReSubscribeMsgList",[]),(0,M.default)(this,"_reConnectFlag",0),(0,M.default)(this,"_reConnectTimer",null),(0,M.default)(this,"_maxReConnectTimes",4),(0,M.default)(this,"_directMsgHandler",null),(0,M.default)(this,"version",void 0),(0,M.default)(this,"_url",void 0),(0,M.default)(this,"_options",void 0),(0,M.default)(this,"_binaryType",void 0),(0,M.default)(this,"_protocols",void 0),(0,M.default)(this,"_retryCount",void 0),(0,M.default)(this,"_heartbeats",void 0),(0,M.default)(this,"_closeCalled",void 0),(0,M.default)(this,"_shouldReconnect",void 0),(0,M.default)(this,"_connectLock",void 0),(0,M.default)(this,"_connectTimeout",void 0),(0,M.default)(this,"_connectTimeoutSec",void 0),(0,M.default)(this,"_connectDelay",void 0),(0,M.default)(this,"_beatTimeout",void 0),(0,M.default)(this,"_messageQueue",void 0),(0,M.default)(this,"_listeners",void 0),(0,M.default)(this,"_channelMap",void 0),(0,M.default)(this,"productCode",void 0),(0,M.default)(this,"urlManager",void 0),(0,M.default)(this,"token",void 0),(0,M.default)(this,"_messageSent",void 0),(0,M.default)(this,"_isPublic",void 0),(0,M.default)(this,"beatTimer",void 0),(0,M.default)(this,"heartBeat",void 0),(0,M.default)(this,"timeBoard",void 0),(0,M.default)(this,"_sensorsReportInterval",void 0),(0,M.default)(this,"_heartbeatTimes",void 0),(0,M.default)(this,"sensorsReport",void 0),(0,M.default)(this,"_compress",void 0),(0,M.default)(this,"subscribe",(function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;n._pureLink&&(n._msgHandleMap[e]?(n._msgHandleMap[e].handles.push(t),n._msgHandleMap[e].hasSubscribed&&(n._msgHandleMap[e].hasSubscribed=!1,n._armDataAndSend(e,"unsubscribe",r))):n._msgHandleMap[e]={hasSubscribed:!1,handles:[t]},n._armDataAndSend(e,"subscribe",r))})),(0,M.default)(this,"unsubscribe",(function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(t&&"function"==typeof t&&e&&n._msgHandleMap[e]){var o,l=(null===(o=n._msgHandleMap[e])||void 0===o||null===(o=o.handles)||void 0===o?void 0:o.indexOf(t))||-1;-1!==l&&n._msgHandleMap[e].handles.splice(l,1),n._msgHandleMap[e].handles.length&&(n._armDataAndSend(e,"unsubscribe",r),delete n._msgHandleMap[e])}})),(0,M.default)(this,"unsubscribeAll",(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;if(n.instance){var t=(0,f.default)(n._msgHandleMap);t.length&&t.forEach((function(t){t&&(n._armDataAndSend(t,"unsubscribe",e),delete n._msgHandleMap[t])}))}})),(0,M.default)(this,"close",(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;if(n.instance){var t=(0,f.default)(n._msgHandleMap);t.length&&t.forEach((function(t){n._armDataAndSend(t,"unsubscribe",e),delete n._msgHandleMap[t]})),n._onLine=!1,n._isArtificialClosed=!0,n._clearPulse(),n.instance.close(),n.instance=null,n._rmObserveVisibilityHandler()}})),(0,M.default)(this,"stop",(function(){n.instance&&(n._isArtificialClosed=!0,n.instance.close(),n._clearPulse(),n.instance=null,n._onLine=!1,n._rmObserveVisibilityHandler())})),(0,M.default)(this,"reConnect",(function(){n._onLine||(n._reConnectFlag>=n._maxReConnectTimes?(n._clearPulse(),n._reConnectFlag=0,n.reConnect()):(n._reConnectTimer&&clearTimeout(n._reConnectTimer),n._reConnectTimer=setTimeout((function(){n.instance&&(n.instance.close(),n.instance=null),n._setNeeReSendInfo(),n._connect(),n._dealWithException(),n._reConnectFlag+=1,n._reConnectTimer=null}),3*n._reConnectFlag*1e3)))})),(0,M.default)(this,"_closedHandler",(function(){n._onLine=!1,n.instance&&(n.instance.onmessage=null,n.instance.close()),n.instance=null,n._isArtificialClosed||n.reConnect()})),(0,M.default)(this,"_observeVisibilityHandler",(function(){document.addEventListener("visibilitychange",n._handleVisibilityChanged)})),(0,M.default)(this,"_rmObserveVisibilityHandler",(function(){document.removeEventListener("visibilitychange",n._handleVisibilityChanged)})),(0,M.default)(this,"_handleVisibilityChanged",(function(){document.hidden||n._onLine||(n._reConnectFlag=0,n.reConnect())})),window.WebSocket&&link){this._init(),this._pureLink="".concat(link).concat(link.includes("?")?"&":"?","languageType=").concat((0,T.default)(this.getLang).lang||0),this._directMsgHandler=r||null,this._isPublic=t;var o=new URL(this._pureLink).search,l=I.default.parse(o);this._compress=l.compress?"1"===l.compress?"1":"0":"1",this._connect(),this._dealWithException(),this._observeVisibilityHandler()}}return(0,C.default)(e,[{key:"registerEventListener",value:function(e,t){var r=e+String((0,h.default)());return this._listeners[e].set(r,t),"open"===e&&this.instance&&this.readyState===this.instance.OPEN&&t(),r}},{key:"generateId",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=["step","productCode"];if("currentTraceOrders"===e)return e;var n=e;return(0,f.default)(t).sort((function(a,b){return a<b?-1:a===b?0:1})).forEach((function(e){r.indexOf(e)>-1&&(n+="|".concat(e,":").concat(t[e]))})),n}},{key:"readyState",get:function(){var t;return this.instance?this.instance.readyState:null!==(t=this._options)&&void 0!==t&&t.startClosed?e.CLOSED:e.CONNECTING}},{key:"CONNECTING",get:function(){return e.CONNECTING}},{key:"OPEN",get:function(){return e.OPEN}},{key:"CLOSING",get:function(){return e.CLOSING}},{key:"CLOSED",get:function(){return e.CLOSED}},{key:"_init",value:function(){this.version="2.0",this._binaryType="blob",this._protocols=O.default.get(O.TokenKey.CC_TOKEN)||"",this._retryCount=-1,this._heartbeats=0,this._closeCalled=!1,this._connectLock=!1,this._connectTimeout=null,this._connectTimeoutSec=5e3,this._connectDelay=0,this._messageQueue=[],this._shouldReconnect=!0,this._listeners={open:new _.default,close:new _.default,error:new _.default,message:new _.default},this._channelMap=new _.default,this._messageSent=!1,this.heartBeat=5e3,this.timeBoard={},this._sensorsReportInterval=6e4,this._heartbeatTimes=[]}},{key:"_connect",value:function(){if(!this._onLine&&this._pureLink){var link=this._pureLink;this._isArtificialClosed=!1;var e=(0,E.getTokenDataNew)(link);this._protocols=(0,P.removeTailRecursive)(e,"="),this.instance=new WebSocket(link,this._protocols),this._dealWithMsg()}}},{key:"_setNeeReSendInfo",value:function(){var e=this;this._neeReSubscribeMsgList.length=0;var t=(0,f.default)(this._msgHandleMap);t.length&&t.forEach((function(t){e._msgHandleMap[t].hasSubscribed=!1;var r={event:"subscribe",channel:t};e._neeReSubscribeMsgList.push([t,(0,v.default)(r)])}))}},{key:"_inflateMessage",value:function(e){if(e instanceof Blob){var t=new FileReader,r=this;t.addEventListener("loadend",(function(){var e=JSON.parse(String((0,L.inflate)(t.result,{to:"string"})));if(r._makePulse(e),r._directMsgHandler&&e.msg){var n=e.msg,o=n.event,data=n.data,l=n.type,d=n.version;r._directMsgHandler({event:o,data:data,type:l,version:d})}else r._triggerHandle(e);t=null})),t.onerror=function(e){},t.readAsArrayBuffer(e)}else{var n=JSON.parse(e||"{}");if(this._makePulse(n),this._directMsgHandler&&n.msg){var o=n.msg,l=o.event,data=o.data,d=o.type,c=o.version;this._directMsgHandler({event:l,data:data,type:d,version:c})}else this._triggerHandle(n)}}},{key:"_dealWithMsg",value:function(){var e=this;this.instance&&(this.instance.onmessage=function(t){try{if("1"===e._compress||t.data instanceof Blob){var r=t.data;e._inflateMessage(r)}else{var n=JSON.parse(t.data||"{}");if(e._makePulse(n),e._directMsgHandler&&n.msg){var o=n.msg,l=o.event,data=o.data,d=o.type,c=o.version;e._directMsgHandler({event:l,data:data,type:d,version:c})}else e._triggerHandle(n)}}catch(e){}})}},{key:"_triggerHandle",value:function(e){var t=e.channel,r=e.event,n=e.type,data=e.data;if(!["unsubscribe"].includes(r)){var o=this._msgHandleMap[t]&&this._msgHandleMap[t].handles;o&&o.length&&o.forEach((function(e){e({event:r,type:n,data:data})}))}}},{key:"_armDataAndSend",value:function(e,t,r){var n=null;n=1===r?{type:t,event:t,channel:e}:{event:t,channel:e},this._onLine&&this.instance?((0,N.default)("ws_swapnew_content",this._pureLink,{ext:(0,v.default)(n)}),"subscribe"===t?this._sendToService(e,(0,v.default)(n)):this.send((0,v.default)(n))):"subscribe"===t&&(this._neeReSubscribeMsgList.push([e,(0,v.default)(n)]),this._dealWithException())}},{key:"_sendToService",value:function(e,t){this._msgHandleMap[e]&&(!this._msgHandleMap[e].hasSubscribed&&this.instance&&this.send(t),this._msgHandleMap[e].hasSubscribed=!0)}},{key:"_makePulse",value:function(data){if(data){if(data.type&&"ping"==data.type&&this.send((0,v.default)({type:"pong",time:(0,h.default)()+""})),data.type&&"pong"==data.type){var time=this._timeEnd("ping");this._heartbeatTimes.push(time)}if(data.event&&"ping"==data.event&&this.send((0,v.default)({event:"pong",time:(0,h.default)()+""})),data.event&&"pong"==data.event){var e=this._timeEnd("ping");window.$nuxt.$store.commit("newTrading/SET_WS_SPEED",e),this._heartbeatTimes.push(e)}if(!this._isPublic&&"ping"!==data.type&&"pong"!==data.type&&"connected"!==data.type){var t=data.msg&&data.msg.event,r=data.msg&&data.msg.data;if(r&&r.account&&r.account instanceof Array){var n={name:t,account:r.account.map((function(e){return{clientAccountId:e.clientAccountId,status:e.status}}))};(0,N.default)("ws_swapnew_private_content",this._pureLink,{ext:(0,v.default)(n)})}if(r&&r.collateral&&r.collateral instanceof Array){var o={name:t,collateral:r.collateral.map((function(e){return{amount:e.amount,marginMode:e.marginMode,crossContractId:e.crossContractId,isolatedPositionId:e.isolatedPositionId}}))};(0,N.default)("ws_swapnew_private_content",this._pureLink,{ext:(0,v.default)(o)})}if(r&&r.order&&r.order instanceof Array){var l={name:t,order:r.order.map((function(e){return{marginMode:e.marginMode,orderSide:e.orderSide,positionSide:e.positionSide,size:e.size,type:e.type,triggerPrice:e.triggerPrice,triggerPriceType:e.triggerPriceType}}))};(0,N.default)("ws_swapnew_private_content",this._pureLink,{ext:(0,v.default)(l)})}if(r&&r.position&&r.position instanceof Array){var d={name:t,position:r.position.map((function(e){return{contractId:e.contractId,marginMode:e.marginMode,separatedMode:e.separatedMode,side:e.side,size:e.size}}))};(0,N.default)("ws_swapnew_private_content",this._pureLink,{ext:(0,v.default)(d)})}}}}},{key:"_clearPulse",value:function(){this._pulseTimer&&(clearInterval(this._pulseTimer),this._pulseTimer=null)}},{key:"_clearMsgListTimer",value:function(){this._dealMsgListTimer&&(clearTimeout(this._dealMsgListTimer),this._dealMsgListTimer=null)}},{key:"_clearSensorsReportTimer",value:function(){this.sensorsReport&&clearInterval(this.sensorsReport),this._heartbeatTimes.length>0&&((0,N.default)("ws_response_time",this._pureLink,{ext:this._heartbeatTimes.join(",")}),this._heartbeatTimes=[])}},{key:"_dealWithException",value:function(){var e=this;this.instance?(this.instance.onopen=function(){e._reConnectFlag=0,e._onLine=!0,e._heartbeat(),e._dealMsgListTimer=setTimeout((function(){e._neeReSubscribeMsgList.length&&(e._neeReSubscribeMsgList.forEach((function(t){e._sendToService(t[0],t[1])})),e._neeReSubscribeMsgList.length=0)}),500)},this.instance.onerror=function(){e._closedHandler()},this.instance.onclose=function(t){e._closedHandler()},window.addEventListener("beforeunload",(function(){e._clearPulse(),e._clearMsgListTimer(),e._clearSensorsReportTimer(),e._rmObserveVisibilityHandler(),e.instance&&e.instance.close()}))):this._isArtificialClosed||this.reConnect()}},{key:"_heartbeat",value:function(){var e=this;this.sensorsReport&&clearInterval(this.sensorsReport);var t=function(){e.beatTimer&&clearTimeout(e.beatTimer),e.instance&&e.readyState===e.instance.OPEN?(e._isPublic?e.send((0,v.default)({event:"ping",time:(0,h.default)()+""})):e.send((0,v.default)({type:"ping",time:(0,h.default)()+""})),e._time("ping"),e.beatTimer=setTimeout((function(){t()}),e.heartBeat)):e._clearSensorsReportTimer()};this.sensorsReport=setInterval((function(){e._heartbeatTimes.length>0&&((0,N.default)("ws_response_time",e._pureLink,{ext:e._heartbeatTimes.join(",")}),e._heartbeatTimes=[])}),this._sensorsReportInterval),t()}},{key:"_time",value:function(label){this.timeBoard[label]=(0,h.default)()}},{key:"_timeEnd",value:function(label){return this.timeBoard[label]?(0,h.default)()-this.timeBoard[label]:0}},{key:"send",value:function(e){this.instance&&this.readyState===this.OPEN&&this.instance.send(e)}}],[{key:"getInstance",value:(t=(0,y.default)(m.default.mark((function t(){var r,n,o,l,d=arguments;return m.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=!(d.length>0&&void 0!==d[0])||d[0],o=d.length>1?d[1]:void 0,t.next=4,(0,E.getNewContractWSUrl)(n);case 4:return l=t.sent,this.instance&&(null===(r=this.instance)||void 0===r?void 0:r._pureLink)===l||(this.instance=new e(l,n,o)),t.abrupt("return",this.instance);case 7:case"end":return t.stop()}}),t,this)}))),function(){return t.apply(this,arguments)})},{key:"CONNECTING",get:function(){return 0}},{key:"OPEN",get:function(){return 1}},{key:"CLOSING",get:function(){return 2}},{key:"CLOSED",get:function(){return 3}}]);var t}();(0,M.default)(k,"instance",null)},336:function(e,t,r){"use strict";var n=r(17),o=r(20),l=r(12),d=r(21),c=r(22),m=r(0),f=r(1);m(t,"__esModule",{value:!0}),t.unSubscribeTickerAll=t.subscribeTickerAll=void 0;var h=f(r(13)),_=(r(332),r(16)),v=f(r(1219));function y(e,t){var r=n(e);if(o){var d=o(e);t&&(d=d.filter((function(t){return l(e,t).enumerable}))),r.push.apply(r,d)}return r}function S(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?y(Object(r),!0).forEach((function(t){(0,h.default)(e,t,r[t])})):d?c(e,d(r)):y(Object(r)).forEach((function(t){m(e,t,l(r,t))}))}return e}var C={},M=new v.default;function P(){var e;_.isClient&&(null===(e=window)||void 0===e||null===(e=e.$nuxt)||void 0===e||e.$publicWS.getInstance().then((function(e){e.subscribe("ticker.all",E)})))}t.subscribeTickerAll=function(){P(),M.start(P)},t.unSubscribeTickerAll=function(){var e;_.isClient&&(null===(e=window)||void 0===e||null===(e=e.$nuxt)||void 0===e||e.$publicWS.getInstance().then((function(e){e.unsubscribe("ticker.all",E),M.clear()})))};function E(e){var t=e.event,data=e.data;if("subscribed"===t&&(C={}),"payload"===t&&(M.reset(),(null==data?void 0:data.length)>0&&(data.forEach((function(e){var t=C[e.contractId];C[e.contractId]=t?S(S({},t),e):e})),_.isClient))){var r,n;null===(r=window.$nuxt.$store)||void 0===r||r.dispatch("newTrading/UPDATE_NEW_ALL_TICKER",C);var o,l=null===(n=window.$nuxt.$store)||void 0===n||null===(n=n.state)||void 0===n||null===(n=n.newTrading)||void 0===n?void 0:n.currentContractId;if(l)null===(o=window.$nuxt.$store)||void 0===o||o.dispatch("newTrading/UPDATE_NEW_TICKER",C[l])}}},483:function(e,t,r){"use strict";var n=r(0),o=r(1);n(t,"__esModule",{value:!0}),t.deepCopy=m,t.numAddByDecimal=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return t.reduce((function(e,t){var r=Number(t);return c.Decimal.add(e,isNaN(r)?0:r).toNumber()}),0)},t.numMultiplyByDecimal=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return t.reduce((function(e,t){var r=Number(t);return c.Decimal.mul(e,isNaN(r)?1:r).toNumber()}),1)},t.sortObjectArrayByKey=function(e,t,r){if(e.length){return m(e).sort(function(e,t){return function(r,n){var o,l,a=isNaN(Number(r[e]))?null===(o=r[e])||void 0===o?void 0:o.toUpperCase():Number(r[e]),b=isNaN(Number(n[e]))?null===(l=n[e])||void 0===l?void 0:l.toUpperCase():Number(n[e]);return a<b?"up"===t?-1:1:a>b?"up"===t?1:-1:0}}(t,r||"up"))}return e};var l=o(r(61)),d=o(r(14)),c=r(40);function m(e){var t="object"===(0,d.default)(e)?(0,l.default)(e)?[]:null===e?null:{}:e;if("object"===(0,d.default)(t)&&null!==t)for(var r in e)e&&e.hasOwnProperty(r)&&(t[r]=m(e[r]));return t}},758:function(e,t,r){"use strict";var n=r(0),o=r(1);n(t,"__esModule",{value:!0}),t.RESOLUTION_TO_SECOND_MAP=t.RESOLUTION_TO_NEW_CONTRACT=t.OVERRIDES_WHITE=t.OVERRIDES_BLACK=t.DEFAULT_BUTTON=t.CHARTING_LIBRARY=void 0,t.getDefaultChartConfig=function(symbol,e,t,r,n,o){(0,f.getCurrentPathObj)();var d=[].concat(_);return{autosize:!0,charts_storage_api_version:"1.1",client_id:"weex.com",container:"main_chart",custom_css_url:(o===c.SUPPORTED_THEME[0]?"night.css":"white.css")+"?rand=20210706",datafeed:t,debug:m.TVDebugMode,disabled_features:h,drawings_access:{type:"black",tools:[{name:"Regression Trend"}]},enabled_features:d,fullscreen:!1,interval:e,library_path:r,load_last_chart:!0,loading_screen:o===c.SUPPORTED_THEME[0]?{backgroundColor:"#17171D",foregroundColor:"#5684F4"}:{backgroundColor:"#ffffff",foregroundColor:"#5684F4"},locale:n,overrides:(0,l.default)({},v,o===c.SUPPORTED_THEME[0]?S:C),studies_overrides:y,symbol:symbol,time_frames:[],timezone:"Asia/Shanghai",theme:o===c.SUPPORTED_THEME[0]?"Dark":"Light"}};var l=o(r(52)),d=o(r(13)),c=r(60),m=r(16),f=r(62),h=["border_around_the_chart","compare_symbol","display_market_status","go_to_date","header_chart_type","header_compare","header_interval_dialog_button","header_resolutions","header_widget","legend_context_menu","remove_library_container_border","show_interval_dialog_on_key_press","symbol_info","symbol_search_hot_key","timeframes_toolbar","volume_force_overlay","edit_buttons_in_legend"],_=["adaptive_logo","dont_show_boolean_study_arguments","hide_last_na_study_output","keep_left_toolbar_visible_on_small_screens","left_toolbar","save_chart_properties_to_local_storage","saveload_separate_drawings_storage"],v={"mainSeriesProperties.areaStyle.linewidth":1,"mainSeriesProperties.areaStyle.priceSource":"close","mainSeriesProperties.barStyle.barColorsOnPrevClose":!1,"mainSeriesProperties.barStyle.dontDrawOpen":!1,"mainSeriesProperties.candleStyle.barColorsOnPrevClose":!1,"mainSeriesProperties.candleStyle.drawBorder":!0,"mainSeriesProperties.candleStyle.drawWick":!0,"mainSeriesProperties.haStyle.barColorsOnPrevClose":!1,"mainSeriesProperties.haStyle.drawBorder":!0,"mainSeriesProperties.haStyle.drawWick":!0,"mainSeriesProperties.hollowCandleStyle.drawBorder":!0,"mainSeriesProperties.hollowCandleStyle.drawWick":!0,"mainSeriesProperties.lineStyle.linewidth":1,"mainSeriesProperties.lineStyle.priceSource":"close","mainSeriesProperties.showCountdown":!1,"mainSeriesProperties.style":1,"paneProperties.legendProperties.showLegend":!1,"paneProperties.legendProperties.showSeriesOHLC":!0,"paneProperties.legendProperties.showSeriesTitle":!0,"paneProperties.legendProperties.showStudyArguments":!0,"paneProperties.legendProperties.showStudyTitles":!0,"paneProperties.legendProperties.showStudyValues":!0,volumePaneSize:"medium"},y={"volume.volume ma.transparency":0,"volume.show ma":!1,"volume.smoothed ma.display":2,"relative strength index.smoothed ma.display":2,"on balance volume.smoothed ma.display":2,"commodity channel index.smoothed ma.display":2},S=t.OVERRIDES_BLACK={"mainSeriesProperties.areaStyle.color1":"rgba(122, 152, 247, .1)","mainSeriesProperties.areaStyle.color2":"rgba(122, 152, 247, .02)","mainSeriesProperties.areaStyle.linecolor":"#CCCCCC","mainSeriesProperties.barStyle.downColor":"#EC4551","mainSeriesProperties.barStyle.upColor":"#28C452","mainSeriesProperties.candleStyle.borderColor":"#4e5b85","mainSeriesProperties.candleStyle.borderDownColor":"#EC4551","mainSeriesProperties.candleStyle.borderUpColor":"#28C452","mainSeriesProperties.candleStyle.downColor":"#EC4551","mainSeriesProperties.candleStyle.upColor":"#28C452","mainSeriesProperties.candleStyle.wickDownColor":"#EC4551","mainSeriesProperties.candleStyle.wickUpColor":"#28C452","mainSeriesProperties.haStyle.borderColor":"#4e5b85","mainSeriesProperties.haStyle.borderDownColor":"#EC4551","mainSeriesProperties.haStyle.borderUpColor":"#28C452","mainSeriesProperties.haStyle.downColor":"#EC4551","mainSeriesProperties.haStyle.upColor":"#28C452","mainSeriesProperties.haStyle.wickColor":"#4e5b85","mainSeriesProperties.hollowCandleStyle.borderColor":"#4e5b85","mainSeriesProperties.hollowCandleStyle.borderDownColor":"#EC4551","mainSeriesProperties.hollowCandleStyle.borderUpColor":"#28C452","mainSeriesProperties.hollowCandleStyle.downColor":"#EC4551","mainSeriesProperties.hollowCandleStyle.upColor":"#589065","mainSeriesProperties.lineStyle.color":"#4e5b85","paneProperties.background":"#0F1115","paneProperties.backgroundGradientEndColor":"#0F1115","paneProperties.backgroundGradientStartColor":"#0F1115","paneProperties.crossHairProperties.color":"#697281","paneProperties.separatorColor":"#17191E","paneProperties.vertGridProperties.color":"#1E1E24","paneProperties.horzGridProperties.color":"#1E1E24","scalesProperties.lineColor":"#232329","scalesProperties.textColor":"#8B8B8E"},C=t.OVERRIDES_WHITE=(0,d.default)((0,d.default)((0,d.default)({"mainSeriesProperties.areaStyle.color1":"rgba(122, 152, 247, .1)","mainSeriesProperties.areaStyle.color2":"rgba(122, 152, 247, .02)","mainSeriesProperties.areaStyle.linecolor":"#CCCCCC","mainSeriesProperties.barStyle.downColor":"#EC4551","mainSeriesProperties.barStyle.upColor":"#28C452","mainSeriesProperties.candleStyle.borderColor":"#ffffff","mainSeriesProperties.candleStyle.borderDownColor":"#EC4551","mainSeriesProperties.candleStyle.borderUpColor":"#28C452","mainSeriesProperties.candleStyle.downColor":"#EC4551","mainSeriesProperties.candleStyle.upColor":"#28C452","mainSeriesProperties.candleStyle.wickDownColor":"#EC4551","mainSeriesProperties.candleStyle.wickUpColor":"#28C452","mainSeriesProperties.haStyle.borderColor":"#ffffff","mainSeriesProperties.haStyle.borderDownColor":"#EC4551","mainSeriesProperties.haStyle.borderUpColor":"#28C452","mainSeriesProperties.haStyle.downColor":"#EC4551","mainSeriesProperties.haStyle.upColor":"#28C452","mainSeriesProperties.haStyle.wickColor":"#ffffff","mainSeriesProperties.hollowCandleStyle.borderColor":"#ffffff","mainSeriesProperties.hollowCandleStyle.borderDownColor":"#EC4551","mainSeriesProperties.hollowCandleStyle.borderUpColor":"#28C452","mainSeriesProperties.hollowCandleStyle.downColor":"#EC4551","mainSeriesProperties.hollowCandleStyle.upColor":"#589065","mainSeriesProperties.lineStyle.color":"#ffffff","paneProperties.background":"#ffffff","paneProperties.backgroundGradientEndColor":"#ffffff","paneProperties.backgroundGradientStartColor":"#ffffff","paneProperties.crossHairProperties.color":"#697281","paneProperties.horzGridProperties.color":"#F9FAFC","paneProperties.legendProperties.showLegend":!0,"paneProperties.legendProperties.showSeriesOHLC":!0,"paneProperties.legendProperties.showSeriesTitle":!0,"paneProperties.legendProperties.showStudyArguments":!0,"paneProperties.legendProperties.showStudyTitles":!0,"paneProperties.legendProperties.showStudyValues":!0,"paneProperties.vertGridProperties.color":"#F3F3F3"},"paneProperties.horzGridProperties.color","#F3F3F3"),"scalesProperties.lineColor","#E8E8E9"),"scalesProperties.textColor","#8B8B8E");t.DEFAULT_BUTTON=[{slug:"realtime",resolution:"1",chartType:3,isMobile:!0},{slug:"1m",resolution:"1"},{slug:"5m",resolution:"5"},{slug:"15m",resolution:"15"},{slug:"30m",resolution:"30"},{slug:"1H",resolution:"60",isMobile:!0},{slug:"4H",resolution:"240",isMobile:!0},{slug:"12H",resolution:"720",isMobile:!0},{slug:"1D",resolution:"1D",isMobile:!0},{slug:"1W",resolution:"1W"}],t.RESOLUTION_TO_SECOND_MAP={1:"60",5:"300",15:"900",30:"1800",60:"3600",240:"14400",720:"43200","1D":"86400","1W":"604800"},t.RESOLUTION_TO_NEW_CONTRACT={1:"MINUTE_1",5:"MINUTE_5",15:"MINUTE_15",30:"MINUTE_30",60:"HOUR_1",120:"HOUR_2",240:"HOUR_4",360:"HOUR_6",720:"HOUR_12","1D":"DAY_1","1W":"WEEK_1","1M":"MONTH_1"},t.CHARTING_LIBRARY="/charting_library/"},796:function(e,t,r){"use strict";var n=r(17),o=r(20),l=r(12),d=r(21),c=r(22),m=r(0),f=r(1);m(t,"__esModule",{value:!0}),t.default=void 0;var h=f(r(32)),_=f(r(484)),v=f(r(17)),y=f(r(219)),S=f(r(33)),C=f(r(35)),M=f(r(2)),P=f(r(3)),E=f(r(13)),T=f(r(761)),N=r(62),I=r(327),L=r(120),O=r(483),w=f(r(332)),k=r(64);function A(e,t){var r=n(e);if(o){var d=o(e);t&&(d=d.filter((function(t){return l(e,t).enumerable}))),r.push.apply(r,d)}return r}function R(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?A(Object(r),!0).forEach((function(t){(0,E.default)(e,t,r[t])})):d?c(e,d(r)):A(Object(r)).forEach((function(t){m(e,t,l(r,t))}))}return e}var D=["PENDING","OPEN","CANCELING","UNTRIGGERED"],z=["UNTRIGGERED"],B=function(){return(0,P.default)((function e(t){var r=this,n=t.contractList,o=t.dispatchHandler,l=t.contractId;(0,M.default)(this,e),(0,E.default)(this,"_dataAccount",{}),(0,E.default)(this,"_dataCollateralMap",{}),(0,E.default)(this,"_dataOrderMap",{}),(0,E.default)(this,"_dataPositionMap",{}),(0,E.default)(this,"_memoryCoinId",-1),(0,E.default)(this,"_outerContractId",-1),(0,E.default)(this,"_outerContractMap",{}),(0,E.default)(this,"_outerDispatchHandler",void 0),(0,E.default)(this,"_realtimeInfoResult",{}),(0,E.default)(this,"_version",-1),(0,E.default)(this,"_handleOnMsg",(function(e){var t=e.event,data=e.data,n=e.version,o=data.account,l=void 0===o?[]:o,d=data.collateral,c=void 0===d?[]:d,m=data.position,f=void 0===m?[]:m,h=data.order,_=void 0===h?[]:h,v=data.trackingOrder,y=void 0===v?[]:v;if("Snapshot"===t){var S,C;r._version=-1,r._dataAccount={},r._dataCollateralMap={},r._dataPositionMap={},r._dataOrderMap={};var M=window.$nuxt.$store,P=l[0],E=M.state.newTrading.currentContractId,T=null!==(S=null==P?void 0:P.contractIdToModeSettingMap[E])&&void 0!==S?S:{marginMode:"SHARED",separatedMode:"COMBINED",positionMode:"HEDGE"};M.commit("newTrading/"+I.MUTATION_TYPES.UPDATE_CURRENT_CONTRACT_MODE,T),M.commit("newTrading/"+I.MUTATION_TYPES.SET_NEW_USERINFO,P);var N=10,O=10,w=null!==(C=null==P?void 0:P.contractIdToLeverageSettingMap[E])&&void 0!==C?C:{isolatedLongLeverage:20,isolatedShortLeverage:20,crossLeverage:20,sharedLeverage:20};if(null!=T&&T.marginMode)switch(T.marginMode){case"ISOLATED":N=Number(null==w?void 0:w.isolatedLongLeverage),O=Number(null==w?void 0:w.isolatedShortLeverage);break;case"CROSS":N=O=Number(null==w?void 0:w.crossLeverage);break;default:N=O=Number(null==w?void 0:w.sharedLeverage)}else(null==w?void 0:w.sharedLeverage)&&(N=O=Number(w.sharedLeverage));M.commit("newTrading/"+I.MUTATION_TYPES.UPDATE_NEW_LONGLEVERAGE,N),M.commit("newTrading/"+I.MUTATION_TYPES.UPDATE_NEW_SHORTLEVERAGE,O),M.commit("tracePro/"+L.TRACE_PRO_MUTATIONS_TYPE.SET_TRACE_ORDERS,y)}else if("AccountUpdate"===t){var A,R,D=window.$nuxt.$store,z=data.account[0],B=D.state.newTrading.currentContractId,U=null!==(A=null==z?void 0:z.contractIdToModeSettingMap[B])&&void 0!==A?A:{marginMode:"SHARED",separatedMode:"COMBINED",positionMode:"HEDGE"};D.commit("newTrading/"+I.MUTATION_TYPES.UPDATE_CURRENT_CONTRACT_MODE,U),D.commit("newTrading/"+I.MUTATION_TYPES.SET_NEW_USERINFO,z);var G=10,H=10,F=null!==(R=null==z?void 0:z.contractIdToLeverageSettingMap[B])&&void 0!==R?R:{isolatedLongLeverage:20,isolatedShortLeverage:20,crossLeverage:20,sharedLeverage:20};if(null!=U&&U.marginMode)switch(U.marginMode){case"ISOLATED":G=Number(null==F?void 0:F.isolatedLongLeverage),H=Number(null==F?void 0:F.isolatedShortLeverage);break;case"CROSS":G=H=Number(null==F?void 0:F.crossLeverage);break;default:G=H=Number(null==F?void 0:F.sharedLeverage)}else(null==F?void 0:F.sharedLeverage)&&(G=H=Number(F.sharedLeverage));D.commit("newTrading/"+I.MUTATION_TYPES.UPDATE_NEW_LONGLEVERAGE,G),D.commit("newTrading/"+I.MUTATION_TYPES.UPDATE_NEW_SHORTLEVERAGE,H)}else if(t===k.WS_TRACE_PRO_CHANNEL){window.$nuxt.$store.commit("tracePro/"+L.TRACE_PRO_MUTATIONS_TYPE.EDIT_TRACE_ORDERS,data.trackingOrder||[])}Number(n)>=r._version&&(r.version=Number(n),l.length&&r._onAccount(l[0]),c.length&&r._onCollateral(c),f.length&&r._onPosition(f),_.length&&r._onOrder(_),r._launchFormula())})),this._outerDispatchHandler=o,this._dealWithContractList(n,l),this._connect()}),[{key:"updateContractListInfo",value:function(e,t){this._dealWithContractList(e,t),this._launchFormula()}},{key:"getOpenCost",value:function(e,t){var r=this._outerContractMap[this._outerContractId],n=r.frozenMarginFloatingRatio,o=r.frozenFillFeeFloatingRatio,l=r.feeRate;return{openLongCostSize:(1+Number(n))/e+l*(1+Number(o)),openShortCostSize:(1+Number(n))/t+l*(1+Number(o))}}},{key:"getMaxOpenSize",value:function(e,t,r){var n=this,o=this._outerContractMap[this._outerContractId],l=o.frozenMarginFloatingRatio,d=o.frozenFillFeeFloatingRatio,c=o.riskLimitTierList,m=o.feeRate,f=o.markPrice,h=this._realtimeInfoResult,_=h.assetsInfo,v=void 0===_?{}:_,y=h.positionList,S=void 0===y?[]:y,C=h.currentOrderList,M=void 0===C?[]:C,P=v.available;r||(r=t);var E=P/(((1+Number(l))/t+m*(1+Number(d)))*e),N=P/(((1+Number(l))/r+m*(1+Number(d)))*Math.max(e,f)),I=0,L=0;(0,O.deepCopy)(c).reverse().some((function(e){return e.maxLeverage>=t&&(I=Number(e.endPositionValue),!0)})),(0,T.default)(c).reverse().some((function(e){return e.maxLeverage>=r&&(L=Number(e.endPositionValue),!0)}));var w=0,k=0,A=0;S.forEach((function(e){e.contractId===n._outerContractId&&(w+=Number(e.size),A+=Number(e.frozenSize))})),M.forEach((function(e){e.contractId===n._outerContractId&&(k+=Number(e.size-e.cumFillSize))}));var R=k-A,D=I/f-w-R,z=L/f-w-R;return{maxLongSize:Math.min(E,D),maxShortSize:Math.min(N,z)}}},{key:"close",value:function(){this.instance.close()}},{key:"subscribe",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.instance.subscribe(e,(function(e){}),t)}},{key:"unsubscribeAll",value:function(){this.instance.unsubscribeAll()}},{key:"_dealWithContractList",value:function(e,t){var r=this;if(t){this._outerContractId=t;var n=(e.find((function(e){return e.contractId===r._outerContractId}))||{}).quoteCoinId;this._memoryCoinId=n}null==e||e.forEach((function(e){var t=e.frozenMarginFloatingRatio,n=e.openCostUpRatio,o=e.frozenFillFeeFloatingRatio,l=e.openCostFeeUpRatio,d=(e.stepSize,e.minTradingUnit),c=e.takerFeeRate,m=e.makerFeeRate,f=e.feeRate,h=e.contractId,_=e.quoteCoinStepSize,v=e.markPrice,y=e.tickSize,S=e.riskLimitTierList,C=e.productName,M=e.productCode;r._outerContractMap[h]={frozenMarginFloatingRatio:t||n,frozenFillFeeFloatingRatio:o||l,stepSize:d,feeRate:f||Math.max(Number(c),Number(m)),markPrice:v,contractId:h,tickSize:y,riskLimitTierList:S,quoteCoinStepSize:Number(_),productName:C,productCode:M}}))}},{key:"_connect",value:function(){var e=this;(0,N.getNewContractWSUrl)(!1).then((function(t){e.instance=new w.default(t,!1,e._handleOnMsg)}))}},{key:"_launchFormula",value:function(){var e=this._getPositionList();this._armMarginGroupWithPositionSizeMap(e),this._armPositionWithBaseData(e);var t=this._getCurrentOrderListAndPlanOrderList(),r=t.currentOrderList,n=t.planOrderList;this._armOrderWithBaseData(r),this._armOrderWithBaseData(n),this._computeMarginGroupOrderFrozenAmount(e,r);var o=this._getMarginGroupList();this._armMarginGroupWithData(o,e),e=this._armPositionWithComputeData(e,r),this._armMarginGroupWithShowData(o,e);var l="".concat(this._memoryCoinId,"_SHARED_0_0");this._realtimeInfoResult={positionList:e,currentOrderList:r,planOrderList:n,assetsInfo:this._getAssetsInfoByMarginGroupKey(l)},this._outerDispatchHandler(this._realtimeInfoResult)}},{key:"_armMarginGroupWithPositionSizeMap",value:function(e){for(var t=this,r=function(){var r=(0,C.default)(o[n],2),l=(r[0],r[1]);l.contractIdToTotalPositionSizeMap={},l.contractIdToMergedPositionSizeMap={},t._getCurrentMarginGroupPositionList(l,e).forEach((function(e){var t="LONG"===e.side?1:-1,r=l.contractIdToTotalPositionSizeMap[e.contractId];l.contractIdToTotalPositionSizeMap[e.contractId]=void 0===r?Number(e.size):(0,O.numAddByDecimal)(r,Number(e.size));var n=l.contractIdToMergedPositionSizeMap[e.contractId];l.contractIdToMergedPositionSizeMap[e.contractId]=void 0===n?t*e.size:(0,O.numAddByDecimal)(n,t*e.size)}))},n=0,o=(0,_.default)(this._dataCollateralMap);n<o.length;n++)r()}},{key:"_armPositionWithBaseData",value:function(e){var t=this;e.forEach((function(e){var r="".concat(String(e.coinId),"_").concat(String(e.marginMode),"_0_0");switch(e.marginMode){case"CROSS":r="".concat(String(e.coinId),"_").concat(String(e.marginMode),"_").concat(String(e.contractId),"_0");break;case"ISOLATED":r="".concat(String(e.coinId),"_").concat(String(e.marginMode),"_0_").concat(String(e.id));break;case"SHARED":r="".concat(String(e.coinId),"_").concat(String(e.marginMode),"_0_0")}var n=t._getContractInfoByContractId(Number(e.contractId)),o=n.markPrice,l=n.riskLimitTierList,d=n.stepSize,c=n.tickSize,m=n.quoteCoinStepSize,f=n.productName,h=n.productCode,_=t._dataCollateralMap[r].contractIdToTotalPositionSizeMap[e.contractId]*o,v=t._getStepRatioByValue(_,l).maxLeverage,y=t._dataCollateralMap[r].contractIdToMergedPositionSizeMap[e.contractId]*o,S=t._getStepRatioByValue(y,l).maintenanceMarginRate;e.marginGroupKey=r,e.maintenanceMarginRate=S,e.actualLeverage=Math.min(Number(e.leverage),v),e.markPrice=o,e.stepSize=d,e.tickSize=c,e.quoteCoinStepSize=m,e.productName=f,e.productCode=h}))}},{key:"_armOrderWithBaseData",value:function(e){var t=this;e.forEach((function(e){var r=t._getContractInfoByContractId(Number(e.contractId)),n=r.markPrice,o=r.stepSize,l=r.tickSize,d=r.quoteCoinStepSize,c=r.productName;e.markPrice=n,e.stepSize=o,e.tickSize=l,e.quoteCoinStepSize=d,e.productName=c}))}},{key:"_computeMarginGroupOrderFrozenAmount",value:function(e,t){var r=this;for(var n in this._dataCollateralMap)this._dataCollateralMap[n]&&(this._dataCollateralMap[n].marginGroupOrderFrozenAmount=0);if(t.length){var o={};t.forEach((function(e){var t=["coinId","contractId","marginMode","separatedMode","separatedOpenOrderId","orderSide"].reduce((function(t,r){return"".concat(t?"".concat(t,"_"):"").concat(String(e[r]))}),"");o[t]?o[t].push(e):o[t]=[e]}));var l={};for(var d in(0,v.default)(o).forEach((function(t){var n=o[t][0];r._sortOrderListWithType(o[t],n.orderSide);var d="BUY"===n.orderSide?"SHORT":"LONG",c="BUY"===n.orderSide?"LONG":"SHORT",m=0,f=0;e.forEach((function(e){n.coinId===e.coinId&&n.contractId===e.contractId&&n.marginMode===e.marginMode&&n.separatedMode===e.separatedMode&&n.separatedOpenOrderId===e.separatedOpenOrderId&&(d===e.side?m=(0,O.numAddByDecimal)(m,Number(e.size)):c===e.side&&(f=(0,O.numAddByDecimal)(f,Number(e.size))))})),o[t].forEach((function(e){var t,o=0,c=(0,O.numAddByDecimal)(Number(e.size),-Number(e.cumFillSize));"UNKNOWN_POSITION_SIDE"!==e.positionSide&&e.positionSide!==d||(o=Math.min(m,c)),t=(0,O.numAddByDecimal)(c,-o);var h,_=r._getContractInfoByContractId(Number(e.contractId)),v=_.markPrice,y=_.riskLimitTierList,S=_.frozenMarginFloatingRatio,C=_.frozenFillFeeFloatingRatio,M=_.feeRate,P=Number(e.price)?Number(e.price):v,E=(0,O.numMultiplyByDecimal)((0,O.numAddByDecimal)(f,t),P),T=r._getStepRatioByValue(E,y).maxLeverage,N=t*P/Math.min(T,Number(e.leverage))*(1+Number(S))+t*P*M*(1+Number(C));["SHARED","ISOLATED"].includes(n.marginMode)?h="".concat(String(e.coinId),"_SHARED_0_0"):"CROSS"===n.marginMode&&(h="".concat(String(e.coinId),"_").concat(String(e.marginMode),"_").concat(String(e.contractId),"_0")),l[h]?l[h]+=N:l[h]=N}))})),l)this._dataCollateralMap[d].marginGroupOrderFrozenAmount=l[d]}else for(var c in this._dataCollateralMap)this._dataCollateralMap[c].marginGroupOrderFrozenAmount=0}},{key:"_armMarginGroupWithData",value:function(e,t){var r,n=this;e.forEach((function(e){r=n._getCurrentMarginGroupPositionList(e,t).filter((function(t){return Number(t.coinId)===Number(e.coinId)}));var o=Number(e.amount),l=Number(e.amount),d=0,c=0,m=0,f={};if(r.forEach((function(e){var t="LONG"===e.side?1:-1,r=(0,O.numMultiplyByDecimal)(e.openValue,1/e.size),n="ISOLATED"===e.marginMode?r:e.markPrice,m=(0,O.numMultiplyByDecimal)(Number(e.size),n),h=e.markPrice,_=(0,O.numMultiplyByDecimal)(Number(e.size),h);o=(0,O.numAddByDecimal)(o,(0,O.numMultiplyByDecimal)(_,t)),l=(0,O.numAddByDecimal)(l,(0,O.numMultiplyByDecimal)(m,t)),d="ISOLATED"===e.marginMode?(0,O.numAddByDecimal)(d,(0,O.numMultiplyByDecimal)(_,1/e.actualLeverage)):(0,O.numAddByDecimal)(d,(0,O.numMultiplyByDecimal)(e.openValue,1/e.actualLeverage)),c="ISOLATED"===e.marginMode?e.isolatedMargin:(0,O.numAddByDecimal)(c,(0,O.numMultiplyByDecimal)(m,1/e.actualLeverage)),f[e.contractId]?f[e.contractId]=(0,O.numAddByDecimal)(f[e.contractId],Number(e.size)*t):f[e.contractId]=Number(e.size)*t})),(0,v.default)(f).length)for(var h=0,y=(0,_.default)(f);h<y.length;h++){var S=(0,C.default)(y[h],2),M=S[0],P=S[1],E=n._getContractInfoByContractId(Number(M)),T=E.markPrice,N=E.riskLimitTierList,I=Math.abs(T*P),L=n._getStepRatioByValue(I,N).maintenanceMarginRate;m=(0,O.numAddByDecimal)(m,(0,O.numMultiplyByDecimal)(I,L))}e.marginGroupEquity=o,e.groupAmountEquity=l,e.marginGroupInitialMarginRequirement=d,e.groupMarginAmountRequirement=c,e.marginGroupMaintenanceMarginRequirement=m}))}},{key:"_armPositionWithComputeData",value:function(e,t){var r=this;return e.map((function(n){var o=r._dataCollateralMap[n.marginGroupKey],l=r._getCurrentMarginGroupPositionList(o,e).filter((function(e){return e.contractId===n.contractId})).reduce((function(e,t){var r="LONG"===t.side?1:-1;return(0,O.numAddByDecimal)(e,Number(t.size)*r)}),0),d=o.marginGroupEquity,c=o.marginGroupInitialMarginRequirement,m=o.marginGroupMaintenanceMarginRequirement,f=r._getContractInfoByContractId(Number(n.contractId)).riskLimitTierList;n.liquidatePrice=r._getLiquidatePriceVal(n.markPrice,l,d,f,m),n.bankruptPrice=0===l?0:(0,O.numAddByDecimal)(n.markPrice,-(0,O.numMultiplyByDecimal)(d,1/l));var h=t.filter((function(e){return n.coinId===e.coinId&&n.marginMode===e.marginMode&&n.contractId===e.contractId&&n.separatedMode===e.separatedMode&&("LONG"===n.side?"SELL"===e.orderSide:"BUY"===e.orderSide)&&"UNKNOWN_POSITION_SIDE"!==e.positionSide&&e.positionSide===n.side})).reduce((function(e,t){return(0,O.numAddByDecimal)(e,(0,O.numAddByDecimal)(Number(t.size)-Number(t.cumFillSize)))}),0);n.frozenSize=Math.min(h,Number(n.size)),n.used=(0,O.numAddByDecimal)(c,n.frozenSize),n.available=(0,O.numAddByDecimal)(d,-n.used);var _="LONG"===n.side?1:-1;return n.cont=(0,O.numMultiplyByDecimal)(n.size,1/n.stepSize),n.entryPrice=(0,O.numMultiplyByDecimal)(n.openValue,1/n.size),n.margin="ISOLATED"===n.marginMode?Number(n.isolatedMargin):(0,O.numMultiplyByDecimal)(Number(n.size),n.entryPrice,1/n.actualLeverage),n.marginRatio=(0,O.numMultiplyByDecimal)(d,1/(n.size*n.markPrice)),n.maxClose=(0,O.numAddByDecimal)(n.size,-n.frozenSize),n.realizedPnl=(0,O.numMultiplyByDecimal)(_,(0,O.numAddByDecimal)(Number(n.cumCloseValue),-n.cumOpenValue,Number(n.openValue))),n.unrealizedPnl=Number(null==n?void 0:n.markPrice)?(0,O.numMultiplyByDecimal)(_,(0,O.numAddByDecimal)((0,O.numMultiplyByDecimal)(Number(n.size),Number(n.markPrice)),-n.openValue)):null,n.roi=null!==n.unrealizedPnl?(0,O.numMultiplyByDecimal)(n.unrealizedPnl,1/n.margin):null,n.marginRatioNew=(0,O.numMultiplyByDecimal)(m,1/d),n}))}},{key:"_armMarginGroupWithShowData",value:function(e,t){e.forEach((function(r){if("ISOLATED"!==r.marginMode){if("CROSS"===r.marginMode)r.accountEquity=r.marginGroupEquity,r.frozen=(0,O.numAddByDecimal)(Number(r.pendingWithdrawAmount),Number(r.pendingTransferOutAmount),r.marginGroupOrderFrozenAmount),r.used=(0,O.numAddByDecimal)(r.marginGroupInitialMarginRequirement,r.frozen);else{var n=r.marginGroupEquity||0,o=r.groupAmountEquity||0,l=(0,O.numAddByDecimal)(Number(r.pendingWithdrawAmount),Number(r.pendingTransferOutAmount),r.marginGroupOrderFrozenAmount),d=(0,O.numAddByDecimal)(r.groupMarginAmountRequirement,l),c=(0,O.numAddByDecimal)(r.marginGroupInitialMarginRequirement,l);e.forEach((function(e){"ISOLATED"===e.marginMode&&(n=(0,O.numAddByDecimal)(n,e.marginGroupEquity),o=(0,O.numAddByDecimal)(o,e.groupAmountEquity),l=(0,O.numAddByDecimal)(l,Number(e.pendingWithdrawAmount),Number(e.pendingTransferOutAmount),e.marginGroupOrderFrozenAmount),c=(0,O.numAddByDecimal)(c,e.marginGroupInitialMarginRequirement,e.frozen),d=(0,O.numAddByDecimal)(d,e.groupMarginAmountRequirement,e.frozen))})),r.accountEquity=n,r.groupAmountEquity=o,r.frozen=l,r.used=c,r.availableUsed=d}r.available=(0,O.numAddByDecimal)(r.groupAmountEquity,-r.availableUsed),r.bonus=0,r.totalRealizedPnl=0,r.totalUnrealizedPnl=0,t.filter((function(e){return Number(e.coinId)===Number(r.coinId)})).forEach((function(e){r.totalRealizedPnl=(0,O.numAddByDecimal)(r.totalRealizedPnl,e.realizedPnl),r.totalUnrealizedPnl=(0,O.numAddByDecimal)(r.totalUnrealizedPnl,Number(e.unrealizedPnl))}))}}))}},{key:"_getLiquidatePriceVal",value:function(e,t,r,n,o){var l=0;if(n&&n.length>0){var d=Number(t)>0?Number(t):0-Number(t),c=Number(e)*d,m=n.find((function(e){return c>=e.startPositionValue&&c<=e.endPositionValue})),f=m&&m.maintenanceMarginRate||0;r>o&&(l=this._getLiquidatePrice({markPrice:e,maintenanceMarginRate:f,marginGroupEquity:r,positionMergedSize:t,marginGroupMaintenanceMarginRequirement:o}))}return l>0?l:0}},{key:"_queryLiquidatePriceWithRiskLimitTierList",value:function(e,t){var r=t.markPrice,n=t.positionMergedSize,o=t.marginGroupEquity,l=t.marginGroupMaintenanceMarginRequirement,d=0,c=null==e?void 0:e.length;if(n>0&&c>0)for(var i=c-1;i>=0;--i){var m=e[i],f=0===i?0:m.startPositionValue,h=i+1===c?-1:e[i+1].startPositionValue,_=m.maintenanceMarginRate,v=this._getLiquidatePrice({markPrice:r,maintenanceMarginRate:_,marginGroupEquity:o,positionMergedSize:n,marginGroupMaintenanceMarginRequirement:l}),y=(0,O.numMultiplyByDecimal)(v,n);y<f||(d=-1===h||y<h?v:(0,O.numMultiplyByDecimal)(h,1/n))}else if(n<0)for(var S=c-1;S>=0;--S){var C=e[S],M=0===S?0:C.startPositionValue,P=S+1===c?-1:e[S+1].startPositionValue,E=C.maintenanceMarginRate,T=this._getLiquidatePrice({markPrice:r,maintenanceMarginRate:E,marginGroupEquity:o,positionMergedSize:n,marginGroupMaintenanceMarginRequirement:l}),N=(0,O.numMultiplyByDecimal)(T,Math.abs(n));d=N<M?(0,O.numMultiplyByDecimal)(M,1/n):-1===P||N<P?T:(0,O.numMultiplyByDecimal)(P,1/n)}return d>0?d:0}},{key:"_getLiquidatePrice",value:function(e){var t=e.markPrice,r=e.maintenanceMarginRate,n=e.positionMergedSize,o=e.marginGroupEquity,l=e.marginGroupMaintenanceMarginRequirement,d=0;return n>0&&r<1?d=t-(o-l)/(n*(1-r)):n<0&&(d=t-(o-l)/(n*(1+Number(r)))),d}},{key:"_onAccount",value:function(e){this._dataAccount=R(R({},this._dataAccount),e)}},{key:"_onCollateral",value:function(e){var t=this;e.forEach((function(e){var r=t._getMarginGroupKeyByDataItem(e),n=t._dataCollateralMap[r];t._dataCollateralMap[r]=n?R(R({},n),e):e}))}},{key:"_onPosition",value:function(e){var t=this;e.forEach((function(e){var r=t._dataPositionMap[e.id],n=r?R(R({},r),e):e;Number(n.size)?t._dataPositionMap[e.id]=n:r&&delete t._dataPositionMap[e.id]}))}},{key:"_onOrder",value:function(e){var t=this;e.forEach((function(e){var r=t._dataOrderMap[e.id],n=r?R(R({},r),e):e;D.includes(n.status)?t._dataOrderMap[e.id]=n:r&&delete t._dataOrderMap[e.id]}))}},{key:"_getMarginGroupList",value:function(){var e=this,t=(0,y.default)(this._dataCollateralMap);return t.length>0&&(t=t.filter((function(t){return Number(t.coinId)==e._memoryCoinId}))),t}},{key:"_getPositionList",value:function(){var e=(0,y.default)(this._dataPositionMap);return e.length?(0,O.sortObjectArrayByKey)(e,"createdTime","down"):[]}},{key:"_getCurrentOrderListAndPlanOrderList",value:function(){var e=(0,y.default)(this._dataOrderMap),t=[],r=[];return e.length&&(e=(0,O.sortObjectArrayByKey)(e,"createdTime","down")).forEach((function(e){z.includes(e.status)?r.push(e):t.push(e)})),{currentOrderList:t,planOrderList:r}}},{key:"_getContractInfoByContractId",value:function(e){try{return this._outerContractMap[e]||{}}catch(e){return{}}}},{key:"_getLeverageSettingByContractId",value:function(e){try{return this._dataAccount.contractIdToLeverageSettingMap[e]}catch(e){return{}}}},{key:"_getMarginModeSettingMapByContractId",value:function(e){try{return this._dataAccount.contractIdToModeSettingMap[e]}catch(e){return{}}}},{key:"_getAssetsInfoByMarginGroupKey",value:function(e){var t=this._dataCollateralMap[e]||{},r=t.accountEquity,n=void 0===r?0:r,o=t.amount,l=void 0===o?0:o,d=t.available,c=void 0===d?0:d,m=t.bonus,f=void 0===m?0:m,h=t.frozen,_=void 0===h?0:h,v=t.totalRealizedPnl,y=void 0===v?0:v,S=t.totalUnrealizedPnl,C=void 0===S?0:S,M=t.used,P=void 0===M?0:M;return this._formatAssetsInfo({accountEquity:n,amount:l,available:c,bonus:f,frozen:_,totalRealizedPnl:y,totalUnrealizedPnl:C,used:P})}},{key:"_formatAssetsInfo",value:function(e){var t={accountEquity:0,amount:0,available:0,bonus:0,frozen:0,totalRealizedPnl:0,totalUnrealizedPnl:0,used:0};return e&&(t.accountEquity=e.accountEquity&&Number(e.accountEquity)>0?e.accountEquity:0,t.amount=Number(e.amount),t.available=e.available&&Number(e.available)>0?e.available:0,t.bonus=e.bonus&&Number(e.bonus)>0?e.bonus:0,t.frozen=e.frozen&&Number(e.frozen)>0?e.frozen:0,t.totalRealizedPnl=e.totalRealizedPnl||0,t.totalUnrealizedPnl=e.totalUnrealizedPnl||0,t.used=e.used&&Number(e.used)>0?e.used:0),t}},{key:"_getCurrentMarginGroupPositionList",value:function(e,t){var r=[];switch(e.marginMode){case"CROSS":r=t.filter((function(t){return"CROSS"===t.marginMode&&t.constractId===e.crossContractId}));break;case"ISOLATED":r=t.filter((function(t){return"ISOLATED"===t.marginMode&&t.id===e.isolatedPositionId}));break;case"SHARED":r=t.filter((function(e){return"SHARED"===e.marginMode}))}return r}},{key:"_getMarginGroupKeyByDataItem",value:function(e){return["coinId","marginMode","crossContractId","isolatedPositionId"].reduce((function(t,r){return"".concat(t?"".concat(t,"_"):"").concat(String(e[r]||"0"))}),"")}},{key:"_sortOrderListWithType",value:function(e,t){e.sort((function(a,b){if(a.price!==b.price){var e=Number(a.price),r=Number(b.price);return"BUY"===t?r-e:e-r}return a.createdTime!==b.createdTime?Number(a.createdTime)-Number(b.createdTime):Number(a.id)-Number(b.id)}))}},{key:"_getStepRatioByValue",value:function(e,t){if(e=e<0?0-e:e,!t||!t.length)return{maxLeverage:1,maintenanceMarginRate:1};var r=-1;t.some((function(t,n){return e<=t.startPositionValue&&(r=n,!0)}));var n=t[-1===r?t.length-1:r?r-1:0],o=n.maxLeverage,l=n.maintenanceMarginRate;return{maxLeverage:Number(o),maintenanceMarginRate:Number(l)}}}],[{key:"getInstance",value:(e=(0,S.default)(h.default.mark((function e(){var t;return h.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.instance){e.next=5;break}return e.next=3,(0,N.getNewContractWSUrl)(!1);case 3:t=e.sent,this.instance=new w.default(t,!1,this._handleOnMsg);case 5:return e.abrupt("return",this.instance);case 6:case"end":return e.stop()}}),e,this)}))),function(){return e.apply(this,arguments)})}]);var e}();(0,E.default)(B,"instance",null|w.default);t.default=B}}]);
//# sourceMappingURL=7d707ff.js.map