/* Copyright © 2024 Melbet - All Rights Reserved */ import{ServiceApi as dt,useCouponStore as q,useLogger as yt,useT as Tt,useSiteConfig as bt,useUserConfigStore as At,useAccountStore as Bt,minus as $,multiply as V,add as _t,useGlobalStore as z,defineProvider as J,RequestError as gt,useApiInstances as Pt,isDef as y,pick as ht,divide as Ot,formatMoney as Wt}from"./entry-Bl6dkD65.js";import{computed as n,unref as t,ref as K,watch as k}from"../../../../shared-assets/__shared_vue_deps_SRT2KB67.js";import{createEmptyTaxes as W,useWebApiInstance as Ht,parseTaxes as Ct}from"./Dips4JSFyLXy.js";import{formatTaxesMoney as b}from"./CKzg_HMQts35.js";import{debounce as Nt}from"./lWPnVB_-t_cI.js";import{useRouterMethodsWithLang as St}from"./BUG8IlOa-dUV.js";function Rt(e,f){var u={};for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&f.indexOf(s)<0&&(u[s]=e[s]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,s=Object.getOwnPropertySymbols(e);i!("noPartnerTax"in e),Q=()=>{const e=q();return{taxMode:n(()=>Number(e.couponCalcSystemsMin))}},wt=200,Et=({amount:e,coef:f,exactCoef:u,currencyIso:s})=>{const i=yt(),c=Tt(),{lng:m,ref_id:A,group_id:x,geoCountryId:v,geoCurrency:r}=bt(),T=n(()=>t(u)||t(f)),H=At(),B=n(()=>{var p;return(p=H.countryId)!=null?p:v}),C=Bt(),N=n(()=>C.activeAccount),S=n(()=>{var p,O,Y;return(Y=(O=(p=t(N))==null?void 0:p.currencyId)!=null?O:r==null?void 0:r.id)!=null?Y:1}),o=K(W()),{taxMode:R}=Q(),g=n(()=>t(o).sumAfterTax.value||t(e)),M=n(()=>t(o).sumAfterTax.value?b(t(o).sumAfterTax.value,t(s)):b(t(e),t(s))),P=n(()=>t(o).sumAfterTax.name?t(o).sumAfterTax.name:c("coupon_stake_after_tax")),_=n(()=>t(o).vat.value),L=n(()=>b(t(o).vat.value,t(s))),a=n(()=>!!t(o).vat.value),l=n(()=>t(a)&&t(e)>0),d=n(()=>!!t(o).payout.value),h=n(()=>t(a)||t(d)),I=n(()=>!!t(o).tax.value),Z=n(()=>t(l)||t(I)),w=n(()=>t(o).tax.value),tt=n(()=>b(t(o).tax.value,t(s))),nt=n(()=>t(o).payout.value?$(t(o).payout.value,t(e)):-t(e)),et=n(()=>t(o).potentialWinning.value?$(t(o).potentialWinning.value,t(e)):-t(e)),ot=n(()=>t(o).payout.value),at=n(()=>b(t(o).payout.value,t(s))),st=n(()=>t(o).payout.name?t(o).payout.name:c("coupon_payout")),j=n(()=>t(o).potentialWinning.value?t(o).potentialWinning.value:V(t(g),t(T))),rt=n(()=>b(t(j),t(s))),ut=n(()=>t(o).potentialWinning.name?t(o).potentialWinning.name:`${c("coupon_possible_win")}`),it=n(()=>t(o).vat.name),ct=n(()=>t(o).tax.name),lt=n(()=>!!t(o).taxRefund.value),pt=n(()=>t(o).taxRefund.name?t(o).taxRefund.name:c("coupon_return_tax")),ft=n(()=>t(h)?_t(t(_),t(w)):t(a)?t(_):t(d)?t(w):0),xt=Ht(Lt),U=n(()=>({ref:A,gr:x,country:t(B),lng:m,currency:t(S),betSum:t(e),cf:t(T),taxMode:t(R)})),D=z(),E=n({get:()=>D.getPartnerHasTaxes,set:p=>D.installPartnerHasTaxes(p)}),mt=n(()=>t(E)&&t(e)&&t(T)),vt=Nt(async()=>{try{if(!t(mt)){o.value=W();return}const p=await xt.getTaxes(t(U));E.value=X(p),o.value=X(p)?Ct(p):W()}catch(p){p instanceof gt&&i.error(p),o.value=W()}},wt);return{amountAfterBetTax:g,amountAfterBetTaxFormatted:M,amountAfterBetTaxLabel:P,betTaxAmount:_,betTaxAmountFormatted:L,hasBetTaxes:a,isBetTaxable:l,hasPayoutTaxes:d,hasTaxes:h,isPayoutTaxable:I,isTaxable:Z,payoutTaxAmount:w,payoutTaxAmountFormatted:tt,profitAfterBetTax:nt,profitAfterPayoutTax:et,winAmountAfterBetTax:ot,winAmountAfterBetTaxFormatted:at,winAmountAfterBetTaxLabel:st,winAmountAfterPayoutTax:j,winAmountAfterPayoutTaxFormatted:rt,winAmountAfterPayoutTaxLabel:ut,betTaxLabel:it,payoutTaxLabel:ct,hasReturnTax:lt,returnTaxLabel:pt,overallTaxAmount:ft,watchCouponTaxes:()=>{const p=k(B,()=>{E.value=!0},{immediate:!0}),O=k(U,vt,{immediate:!0});return()=>{p(),O()}}}},{inject:Vt,provide:zt}=J(Et),Jt=1.2,Ft="hyper-bonus-af",It="Hyper Bonus",jt=({payout:e,possibleWin:f,betsCount:u,hyperBonusPercent:s,minHyperBonusBetLimit:i,maxHyperBonusLimit:c,currencyIso:m})=>{const{bonusApi:A}=Pt(),x=z(),{getLinkWithLang:v}=St(x.getLanguage),r=K(),T=async()=>{const{success:a,bonus:l}=await A.getBonus(Ft);a&&(r.value=ht(l,["eventsBonuses","href","allEventsNumber"]))},H=n(()=>{const a=t(r);if(a)return v({name:"bonus",params:{id:a.href}})}),B=a=>{var l;const d=(l=t(r))==null?void 0:l.eventsBonuses[a];if(d)return parseInt(d,10)},C=n(()=>{const a=t(u);if(y(a))return B(a)}),N=n(()=>{const a=t(u);if(y(a))return B(a+1)}),S=n(()=>{const a=t(N),l=t(C);if(y(a)&&y(l))return a-l}),o=n(()=>{const a=t(c),l=t(s),d=t(e);if(y(d)&&y(l)&&y(a)){const h=d*(l/100);return Math.min(h,a)}return 0}),R=n(()=>{if(t(o))return b(t(o),t(m))}),g=n(()=>{if(t(s))return`${It} ${t(s)}%`}),M=n(()=>{var a;return b((a=t(f))!=null?a:0,t(m))}),P=n(()=>{const a=t(f);if(a)return a+t(o)}),_=n(()=>{const a=t(P);if(a)return b(a,t(m))}),L=n(()=>{const a=t(e),l=t(i),d=t(o);return y(a)&&y(l)&&a>l&&!!d});return{hyperBonus:r,bonusRoute:H,extraHyperBonusPercent:S,hyperBonusPossibleWin:o,hyperBonusPossibleWinFormatted:R,hyperBonusLabel:g,possibleWinFormatted:M,possibleWinAfterBonuses:P,possibleWinFormattedAfterBonuses:_,isHyperBonusPossibleWinValid:L,loadBonus:T}},{inject:Kt,provide:Qt}=J(jt),Zt=(e,f,u)=>{const s=q(),{taxMode:i}=Q(),c=n(()=>{var x;return(x=t(u))!=null?x:s.couponCoef}),m=n(()=>{var x;const v=(x=t(c))!=null?x:0,r=t(e);return t(i)&&y(r)?r!==0?Ot(v,r):r:v}),A=n(()=>{var x;const v=V((x=t(f))!=null?x:0,t(m));return Wt(v)});return{coef:m,minPossibleWinCouponSystemTaxFree:A}};export{Jt as HYPER_BONUS_MINIMUM_EVENT_RATE,Zt as useCouponSystemType,Et as useCouponTaxes,Vt as useCouponTaxesInjector,zt as useCouponTaxesProvider,jt as useHyperBonus,Kt as useHyperBonusInjector,Qt as useHyperBonusProvider};