overtime-live-trading-utils 1.1.21 → 1.1.22
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.
- package/main.js +1 -1
- package/package.json +1 -1
- package/src/constants/sports.ts +10 -0
- package/src/enums/sports.ts +1 -0
- package/src/utils/markets.ts +34 -12
- package/src/utils/spread.ts +0 -24
package/main.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r():"function"==typeof define&&define.amd?define([],r):"object"==typeof exports?exports.thalesUtils=r():e.thalesUtils=r()}(this,(()=>(()=>{"use strict";var e={168:e=>{e.exports=({input:e="",ignoreLength:r=!1})=>{if(/^0x[0-9a-zA-Z]+$/.test(e))return function(e){let r="",a=0;for("0x"===e.substring(0,2)&&(a=2);a<e.length;a+=2){const E=parseInt(e.substr(a,2),16);r+=String.fromCharCode(E)}return r}(e);if(!r&&e.length>32)throw Error(`Input string is too long, must be maximum of 32. It is currently ${e.length}`);return function(e){if(!e)return"0x00";let r="";for(let a=0;a<e.length;a++){const E=e.charCodeAt(a).toString(16);r+=E.length<2?"0"+E:E}return"0x"+r}(e).padEnd(66,"0")}}},r={};function a(E){var i=r[E];if(void 0!==i)return i.exports;var _=r[E]={exports:{}};return e[E](_,_.exports,a),_.exports}a.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return a.d(r,{a:r}),r},a.d=(e,r)=>{for(var E in r)a.o(r,E)&&!a.o(e,E)&&Object.defineProperty(e,E,{enumerable:!0,get:r[E]})},a.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var E={};return(()=>{a.r(E),a.d(E,{AMERICAN_LEAGUES:()=>u,DRAW:()=>K,LEAGUES_NO_FORMAL_HOME_AWAY:()=>c,LEAGUES_NO_LIVE_CONSTRAINTS:()=>C,League:()=>T,LeagueIdMapEnetpulse:()=>G,LeagueIdMapOpticOdds:()=>y,LeagueIdMapRundown:()=>m,LeagueMap:()=>M,MIN_ODDS_FOR_DIFF_CHECKING:()=>x,MONEYLINE_TYPE_ID:()=>Q,MULTIPLIER_100:()=>z,MatchResolveType:()=>N,MoneylineTypes:()=>p,OPTIC_ODDS_ID_SEPARATOR:()=>Z,OVERTIME_ID_SEPARATOR:()=>J,PeriodType:()=>l,Provider:()=>I,ScoringType:()=>s,Sport:()=>t,SpreadTypes:()=>L,TAG_CHILD_SPREAD:()=>j,TAG_CHILD_TOTALS:()=>X,TotalTypes:()=>S,UFC_LEAGUE_IDS:()=>U,ZERO:()=>k,adjustAddedSpread:()=>ee,adjustSpreadOnChildOdds:()=>Se,adjustSpreadOnOdds:()=>$,allowGameSportWithPeriodConstraint:()=>Ie,allowGameSportWithResultConstraint:()=>ne,allowSoccerGame:()=>de,calculateImpliedOddsDifference:()=>P,checkGameContraints:()=>le,checkOddsFromBookmakers:()=>O,convertFromBytes32:()=>Ve,createChildMarkets:()=>Ae,fetchResultInCurrentSet:()=>Re,filterOddsByMarketNameBookmaker:()=>te,filterOddsByMarketNameTeamNameBookmaker:()=>_e,formatOpticOddsLeagueName:()=>Fe,gamesDatesMatching:()=>H,getBetTypesForLeague:()=>h,getBookmakersArray:()=>R,getLeagueInfo:()=>w,getLeagueIsDrawAvailable:()=>b,getLeagueLabel:()=>D,getLeagueOpticOddsName:()=>F,getLeaguePeriodType:()=>V,getLeagueProvider:()=>g,getLeagueSport:()=>v,getLeagueSpreadTypes:()=>f,getLeagueTotalTypes:()=>Y,getLiveSupportedLeagues:()=>B,getParentOdds:()=>oe,getSpreadData:()=>q,groupAndFormatMoneylineOdds:()=>Le,groupAndFormatSpreadOdds:()=>Te,groupAndFormatTotalOdds:()=>pe,mapFromBytes32ToOpticOddsFormat:()=>fe,mapFromOpticOddsFormatToBytes32:()=>we,mapFromOpticOddsToOvertimeFormat:()=>Be,mapFromOvertimeToOpticOddsFormat:()=>he,mapOpticOddsApiFixtureOdds:()=>ge,mapOpticOddsApiFixtures:()=>ve,mapOpticOddsApiResults:()=>De,processMarket:()=>Ne,teamNamesMatching:()=>W}),"function"!=typeof Object.assign&&(Object.assign=function(e,r){if(null==e)throw new TypeError("Cannot convert undefined or null to object");for(var a=Object(e),E=1;E<arguments.length;E++){var i=arguments[E];if(null!=i)for(var _ in i)Object.prototype.hasOwnProperty.call(i,_)&&(a[_]=i[_])}return a});var e=function(e){return parseFloat(e.toPrecision(12))};function r(e,a,E){return void 0===E||0==+E?Math[e](a):(a=+a,E=+E,isNaN(a)||"number"!=typeof E||E%1!=0?NaN:a<0?-r(e,-a,E):(a=a.toString().split("e"),+((a=(a=Math[e](+(a[0]+"e"+(a[1]?+a[1]-E:-E)))).toString().split("e"))[0]+"e"+(a[1]?+a[1]+E:E))))}var i,_,o={decimal:{from:function(e){if((e=parseFloat(e))<=1)throw new Error("Outside valid range.");return e},to:function(){return this.decimalValue}},moneyline:{from:function(e){return(e=parseFloat(e))>=0?e/100+1:100/-e+1},to:function(){return this.decimalValue>=2?e(100*(this.decimalValue-1)):e(-100/(this.decimalValue-1))}},hongKong:{from:function(e){if((e=parseFloat(e))<0)throw new Error("Outside valid range.");return e+1},to:function(){return e(this.decimalValue-1)}},impliedProbability:{from:function(e){if((e="string"==typeof e&&"%"==e.slice(-1)?parseFloat(e)/100:parseFloat(e))<=0||e>=1)throw new Error("Outside valid range");return 1/e},to:function(a){if(a.percentage){var E=e(100/this.decimalValue);return null!==a.precision&&(E=r("round",E,-a.precision)),E.toString()+"%"}return e(1/this.decimalValue)}},fractional:{from:function(e){var r,a=e.toString().split("/");if(e=parseFloat(a[0]),2===a.length)r=parseFloat(a[1]);else{if(1!==a.length)throw new Error("Invalid fraction");r=1}if(0===e||0===r||e/r<=0)throw new Error("Outside valid range");return 1+e/r},to:function(e){return function(e,r){for(var a,E=[0,1],i=[1,0],_=function(e){var r=null,a=e.toString().indexOf("E");-1==a&&(a=e.toString().indexOf("e"));var E=null,i=(r=-1==a?e.toString():e.toString().substring(0,a)).toString().indexOf(".");-1==i?E=r:0===i?E=r.substring(1,r.length):i<r.length&&(E=r.substring(0,i)+r.substring(i+1,r.length));var _=E,o=_.toString().length,A=e,t=A.toString().length;0===A&&(t=0);var T,p=o-t;for(T=p;T>0&&_%2==0;T--)_/=2;for(T=p;T>0&&_%5==0;T--)_/=5;return _}(e),o=e,A=Math.pow(10,-r)/2,t=2;t<1e3;t++){var T=Math.floor(o);if(E[t]=T*E[t-1]+E[t-2],Math.abs(E[t])>_)return;if(i[t]=T*i[t-1]+i[t-2],a=E[t]/i[t],Math.abs(a-e)<A||NaN==a)return E[t].toString()+"/"+i[t].toString();o=1/(o-T)}}(this.decimalValue-1,e.precision||12)}},malay:{from:function(e){if((e=parseFloat(e))<=-1||e>1)throw new Error("Outside valid range.");return e<0&&(e=-1/e),e+1},to:function(){return this.decimalValue<=2?e(this.decimalValue-1):e(-1/(this.decimalValue-1))}},indonesian:{from:function(e){if(0===(e=parseFloat(e)))throw new Error("Outside valid range.");return e>=1?e+1:-1/e+1},to:function(){return this.decimalValue<2?e(-1/(this.decimalValue-1)):e(this.decimalValue-1)}}},A=((_=function(r){if("number"!=typeof r||isNaN(r))throw new Error("Invalid odds");this.decimalValue=e(r)}).prototype=(i=function(){throw new Error("This constructor is private, please use the from* functions")}).prototype,i.from=function(e,r){if(!o.hasOwnProperty(e))throw new Error("Unknown format "+e+".");var a=o[e].from(r);return new _(a)},i);A.prototype.to=function(e,a){if(!o.hasOwnProperty(e))throw new Error("Unknown format "+e+".");a=Object.assign({precision:null,percentage:!1},a);var E=o[e].to.call(this,a);return"number"==typeof E&&null!==a.precision&&(E=r("round",E,-a.precision)),E};var t,T,p,L,S,s,N,l,I,d,n=A.from,R=function(e,r,a){var E=e.find((function(e){return Number(e.sportId)===Number(r)}));if(E){if(""==E.primaryBookmaker)return a;var i=[];return E.primaryBookmaker&&i.push(E.primaryBookmaker),E.secondaryBookmaker&&i.push(E.secondaryBookmaker),E.tertiaryBookmaker&&i.push(E.tertiaryBookmaker),i}return a},O=function(e,r,a,E,i){var _=e.get(r[0]);if(!_)return{homeOdds:0,awayOdds:0,drawOdds:0,errorMessage:"Returning zero odds cause no matching bookmakers have been found"};var o=_.homeOdds,A=_.awayOdds,t=a?0:_.drawOdds;return r.some((function(r){var E=e.get(r);return!!E&&(0===E.homeOdds||0===E.awayOdds||!a&&0===E.drawOdds||1===E.homeOdds||1===E.awayOdds||!a&&1===E.drawOdds)}))?{homeOdds:0,awayOdds:0,drawOdds:0,errorMessage:"Returning zero odds cause bookmakers have 0 or 1 odds"}:1==r.length?{homeOdds:o,awayOdds:A,drawOdds:a?0:t}:r.slice(1).some((function(r){var _=e.get(r);if(_){var T=_.homeOdds,p=_.awayOdds,L=_.drawOdds,S=n("decimal",o).to("impliedProbability"),s=n("decimal",A).to("impliedProbability"),N=a?0:n("decimal",t).to("impliedProbability"),l=n("decimal",T).to("impliedProbability"),I=n("decimal",p).to("impliedProbability"),d=a?0:n("decimal",L).to("impliedProbability"),R=P(S,l),O=P(s,I),M=a?0:P(N,d);if(R>E&&S>i&&l>i||O>E&&s>i&&I>i||!a&&M>E&&N>i&&d>i)return!0}return!1}))?{homeOdds:0,awayOdds:0,drawOdds:0,errorMessage:"Returning zero odds due to percentage difference between bookmakers"}:{homeOdds:o,awayOdds:A,drawOdds:a?0:t}},P=function(e,r){return Math.abs(e-r)/e*100};!function(e){e.SOCCER="Soccer",e.FOOTBALL="Football",e.BASKETBALL="Basketball",e.BASEBALL="Baseball",e.HOCKEY="Hockey",e.FIGHTING="Fighting",e.TENNIS="Tennis",e.ESPORTS="eSports",e.RUGBY="Rugby",e.VOLLEYBALL="Volleyball",e.HANDBALL="Handball",e.WATERPOLO="Waterpolo",e.CRICKET="Cricket",e.MOTOSPORT="Motosport",e.GOLF="Golf",e.TABLE_TENNIS="TableTennis",e.POLITICS="Politics",e.FUTURES="Futures",e.EMPTY=""}(t||(t={})),function(e){e[e.NCAAF=1]="NCAAF",e[e.NFL=2]="NFL",e[e.MLB=3]="MLB",e[e.NBA=4]="NBA",e[e.NCAAB=5]="NCAAB",e[e.NHL=6]="NHL",e[e.UFC=7]="UFC",e[e.WNBA=8]="WNBA",e[e.MLS=10]="MLS",e[e.EPL=11]="EPL",e[e.LIGUE_ONE=12]="LIGUE_ONE",e[e.BUNDESLIGA=13]="BUNDESLIGA",e[e.LA_LIGA=14]="LA_LIGA",e[e.SERIE_A=15]="SERIE_A",e[e.UEFA_CL=16]="UEFA_CL",e[e.UEFA_EL=17]="UEFA_EL",e[e.FIFA_WC=18]="FIFA_WC",e[e.J1_LEAGUE=19]="J1_LEAGUE",e[e.IPL=20]="IPL",e[e.T20_BLAST=21]="T20_BLAST",e[e.IIHF_WORLD_CHAMPIONSHIP=33]="IIHF_WORLD_CHAMPIONSHIP",e[e.COPA_AMERICA=44]="COPA_AMERICA",e[e.COPA_LIBERTADORES=45]="COPA_LIBERTADORES",e[e.UEFA_EURO=50]="UEFA_EURO",e[e.EREDIVISIE=57]="EREDIVISIE",e[e.PRIMEIRA_LIGA=61]="PRIMEIRA_LIGA",e[e.SUMMER_OLYMPICS_SOCCER_WOMEN=65]="SUMMER_OLYMPICS_SOCCER_WOMEN",e[e.SUMMER_OLYMPICS_SOCCER=66]="SUMMER_OLYMPICS_SOCCER",e[e.FIFA_WC_WOMEN=76]="FIFA_WC_WOMEN",e[e.ENGLAND_FA_CUP=132]="ENGLAND_FA_CUP",e[e.FRANCE_CUP=134]="FRANCE_CUP",e[e.SPAIN_CUP=138]="SPAIN_CUP",e[e.ITALY_CUP=141]="ITALY_CUP",e[e.TENNIS_WTA=152]="TENNIS_WTA",e[e.TENNIS_GS=153]="TENNIS_GS",e[e.TENNIS_MASTERS=156]="TENNIS_MASTERS",e[e.SUMMER_OLYMPICS_TENNIS=158]="SUMMER_OLYMPICS_TENNIS",e[e.GERMANY_CUP=209]="GERMANY_CUP",e[e.LIGA_MX=230]="LIGA_MX",e[e.BRAZIL_1=268]="BRAZIL_1",e[e.UEFA_EURO_U21=288]="UEFA_EURO_U21",e[e.FIFA_WORLD_CUP_U20=296]="FIFA_WORLD_CUP_U20",e[e.SUMMER_OLYMPICS_HANDBALL_WOMEN=380]="SUMMER_OLYMPICS_HANDBALL_WOMEN",e[e.SUMMER_OLYMPICS_HANDBALL=381]="SUMMER_OLYMPICS_HANDBALL",e[e.EUROLEAGUE=399]="EUROLEAGUE",e[e.SUMMER_OLYMPICS_BASKETBALL=406]="SUMMER_OLYMPICS_BASKETBALL",e[e.SUMMER_OLYMPICS_BASKETBALL_WOMEN=407]="SUMMER_OLYMPICS_BASKETBALL_WOMEN",e[e.FIBA_WORLD_CUP=409]="FIBA_WORLD_CUP",e[e.FORMULA1=445]="FORMULA1",e[e.SUMMER_OLYMPICS_BEACH_VOLEYBALL_WOMEN=453]="SUMMER_OLYMPICS_BEACH_VOLEYBALL_WOMEN",e[e.SUMMER_OLYMPICS_BEACH_VOLEYBALL=454]="SUMMER_OLYMPICS_BEACH_VOLEYBALL",e[e.MOTOGP=497]="MOTOGP",e[e.SAUDI_PROFESSIONAL_LEAGUE=536]="SAUDI_PROFESSIONAL_LEAGUE",e[e.SUMMER_OLYMPICS_WATERPOLO=8881]="SUMMER_OLYMPICS_WATERPOLO",e[e.SUMMER_OLYMPICS_VOLEYBALL_WOMEN=8893]="SUMMER_OLYMPICS_VOLEYBALL_WOMEN",e[e.SUMMER_OLYMPICS_VOLEYBALL=8894]="SUMMER_OLYMPICS_VOLEYBALL",e[e.SUMMER_OLYMPICS_TABLE_TENNIS=8910]="SUMMER_OLYMPICS_TABLE_TENNIS",e[e.BOXING=9196]="BOXING",e[e.SUMMER_OLYMPICS_RUGBY=9578]="SUMMER_OLYMPICS_RUGBY",e[e.SUMMER_OLYMPICS_RUGBY_WOMEN=9588]="SUMMER_OLYMPICS_RUGBY_WOMEN",e[e.SUMMER_OLYMPICS_HOCKEY_WOMEN=9698]="SUMMER_OLYMPICS_HOCKEY_WOMEN",e[e.SUMMER_OLYMPICS_HOCKEY=9699]="SUMMER_OLYMPICS_HOCKEY",e[e.UEFA_NATIONS_LEAGUE=9806]="UEFA_NATIONS_LEAGUE",e[e.CONCACAF_NATIONS_LEAGUE=9821]="CONCACAF_NATIONS_LEAGUE",e[e.CSGO=9977]="CSGO",e[e.DOTA2=9983]="DOTA2",e[e.SUMMER_OLYMPICS_BASKETBALL_3X3=10071]="SUMMER_OLYMPICS_BASKETBALL_3X3",e[e.SUMMER_OLYMPICS_BASKETBALL_3X3_WOMEN=10072]="SUMMER_OLYMPICS_BASKETBALL_3X3_WOMEN",e[e.SUMMER_OLYMPICS_QUALIFICATION=10502]="SUMMER_OLYMPICS_QUALIFICATION",e[e.LOL=10138]="LOL",e[e.CONMEBOL_WC_QUALIFICATIONS=10199]="CONMEBOL_WC_QUALIFICATIONS",e[e.UEFA_CONFERENCE_LEAGUE=10216]="UEFA_CONFERENCE_LEAGUE",e[e.NON_TITLE_BOXING=10595]="NON_TITLE_BOXING",e[e.UEFA_CHAMPIONS_LEAGUE_QUALIFICATION=10611]="UEFA_CHAMPIONS_LEAGUE_QUALIFICATION",e[e.UEFA_EUROPA_LEAGUE_QUALIFICATION=10613]="UEFA_EUROPA_LEAGUE_QUALIFICATION",e[e.UEFA_CONFERENCE_LEAGUE_QUALIFICATION=10615]="UEFA_CONFERENCE_LEAGUE_QUALIFICATION",e[e.US_ELECTION=2e4]="US_ELECTION",e[e.UEFA_SUPER_CUP=20001]="UEFA_SUPER_CUP",e[e.BRAZIL_CUP=20002]="BRAZIL_CUP",e[e.ENGLAND_CHAMPIONSHIP=20011]="ENGLAND_CHAMPIONSHIP",e[e.SCOTLAND_PREMIERSHIP=20101]="SCOTLAND_PREMIERSHIP",e[e.BELGIUM_LEAGUE=20102]="BELGIUM_LEAGUE",e[e.CZECH_LEAGUE=20103]="CZECH_LEAGUE",e[e.CHILE_PRIMERA=20104]="CHILE_PRIMERA",e[e.FINLAND_LEAGUE=20105]="FINLAND_LEAGUE",e[e.ARGENTINA_PRIMERA=20106]="ARGENTINA_PRIMERA",e[e.RUSSIA_PREMIER=20107]="RUSSIA_PREMIER",e[e.TURKEY_SUPER_LEAGUE=20108]="TURKEY_SUPER_LEAGUE",e[e.SERBIA_SUPER_LEAGUE=20109]="SERBIA_SUPER_LEAGUE",e[e.GREECE_SUPER_LEAGUE=20110]="GREECE_SUPER_LEAGUE",e[e.INDIA_PREMIER=20111]="INDIA_PREMIER",e[e.CHINA_SUPER_LEAGUE=20112]="CHINA_SUPER_LEAGUE",e[e.AUSTRALIA_A_LEAGUE=20113]="AUSTRALIA_A_LEAGUE",e[e.SWITZERLAND_SUPER_LEAGUE=20114]="SWITZERLAND_SUPER_LEAGUE",e[e.BUNDESLIGA_2=20115]="BUNDESLIGA_2",e[e.LA_LIGA_2=20116]="LA_LIGA_2",e[e.SERIE_B=20117]="SERIE_B",e[e.INDIA_SUPER_LEAGUE=20118]="INDIA_SUPER_LEAGUE",e[e.LIGUE_2=20119]="LIGUE_2",e[e.AUSTRIA_BUNDESLIGA=20120]="AUSTRIA_BUNDESLIGA",e[e.DENMARK_SUPER_LEAGUE=20121]="DENMARK_SUPER_LEAGUE",e[e.POLAND_LEAGUE=20122]="POLAND_LEAGUE",e[e.SWEDEN_LEAGUE=20123]="SWEDEN_LEAGUE",e[e.COLOMBIA_PRIMERA_A=20124]="COLOMBIA_PRIMERA_A",e[e.ENGLAND_EFL_CUP=20125]="ENGLAND_EFL_CUP",e[e.ENGLAND_LEGAUE_1=20126]="ENGLAND_LEGAUE_1",e[e.URUGUAY_PRIMERA_DIVISION=20127]="URUGUAY_PRIMERA_DIVISION",e[e.AFC_CHAMPIONS_LEAGUE=20128]="AFC_CHAMPIONS_LEAGUE",e[e.ITALY_SUPER_CUP=20129]="ITALY_SUPER_CUP",e[e.FRANCE_SUPER_CUP=20130]="FRANCE_SUPER_CUP",e[e.SPAIN_SUPER_CUP=20131]="SPAIN_SUPER_CUP",e[e.GERMANY_SUPER_CUP=20132]="GERMANY_SUPER_CUP",e[e.PORTUGAL_LEAGUE_CUP=20133]="PORTUGAL_LEAGUE_CUP",e[e.THAILAND_LEAGUE_1=20134]="THAILAND_LEAGUE_1",e[e.NETHERLANDS_CUP=20135]="NETHERLANDS_CUP",e[e.PORTUGAL_CUP=20136]="PORTUGAL_CUP",e[e.EUROCUP=20200]="EUROCUP",e[e.SPAIN_LIGA_ACB=20201]="SPAIN_LIGA_ACB",e[e.ITALY_LEGA_BASKET_SERIE_A=20202]="ITALY_LEGA_BASKET_SERIE_A",e[e.GERMANY_BBL=20203]="GERMANY_BBL",e[e.FRANCE_LNB_PRO_A=20204]="FRANCE_LNB_PRO_A",e[e.CHINA_CBA=20205]="CHINA_CBA",e[e.AUSTRALIA_NBL=20206]="AUSTRALIA_NBL",e[e.VALORANT=20300]="VALORANT",e[e.ROCKET_LEAGUE=20301]="ROCKET_LEAGUE",e[e.CALL_OF_DUTY=20302]="CALL_OF_DUTY",e[e.STARCRAFT=20303]="STARCRAFT",e[e.NFL_FUTURES=30002]="NFL_FUTURES",e[e.NBA_FUTURES=30004]="NBA_FUTURES",e[e.NHL_FUTURES=30006]="NHL_FUTURES",e[e.EPL_FUTURES=30011]="EPL_FUTURES",e[e.LIGUE_ONE_FUTURES=30012]="LIGUE_ONE_FUTURES",e[e.BUNDESLIGA_FUTURES=30013]="BUNDESLIGA_FUTURES",e[e.LA_LIGA_FUTURES=30014]="LA_LIGA_FUTURES",e[e.SERIE_A_FUTURES=30015]="SERIE_A_FUTURES",e[e.UEFA_CHAMPIONS_LEAGUE_FUTURES=30016]="UEFA_CHAMPIONS_LEAGUE_FUTURES",e[e.EUROLEAGUE_FUTURES=30399]="EUROLEAGUE_FUTURES",e[e.GOLF_H2H=100021]="GOLF_H2H",e[e.GOLF_WINNER=100121]="GOLF_WINNER",e[e.TENNIS_ATP_GRAND_SLAM_LIVE_MAPPING_V2_0=15611]="TENNIS_ATP_GRAND_SLAM_LIVE_MAPPING_V2_0",e[e.TENNIS_ATP_GRAND_SLAM_LIVE_MAPPING_V2_1=15612]="TENNIS_ATP_GRAND_SLAM_LIVE_MAPPING_V2_1",e[e.TENNIS_ATP_GRAND_SLAM_LIVE_MAPPING_V2_2=15613]="TENNIS_ATP_GRAND_SLAM_LIVE_MAPPING_V2_2",e[e.TENNIS_ATP_GRAND_SLAM_LIVE_MAPPING_V2_3=15614]="TENNIS_ATP_GRAND_SLAM_LIVE_MAPPING_V2_3",e[e.TENNIS_ATP_GRAND_SLAM_LIVE_MAPPING_V2_4=15615]="TENNIS_ATP_GRAND_SLAM_LIVE_MAPPING_V2_4",e[e.TENNIS_ATP_GRAND_SLAM_LIVE_MAPPING_V2_5=15616]="TENNIS_ATP_GRAND_SLAM_LIVE_MAPPING_V2_5",e[e.TENNIS_ATP_GRAND_SLAM_LIVE_MAPPING_V2_6=15617]="TENNIS_ATP_GRAND_SLAM_LIVE_MAPPING_V2_6",e[e.TENNIS_ATP_GRAND_SLAM_LIVE_MAPPING_V2_7=15618]="TENNIS_ATP_GRAND_SLAM_LIVE_MAPPING_V2_7",e[e.TENNIS_WTA_GRAND_SLAM_LIVE_MAPPING_V2_0=15211]="TENNIS_WTA_GRAND_SLAM_LIVE_MAPPING_V2_0",e[e.TENNIS_WTA_GRAND_SLAM_LIVE_MAPPING_V2_1=15212]="TENNIS_WTA_GRAND_SLAM_LIVE_MAPPING_V2_1",e[e.TENNIS_WTA_GRAND_SLAM_LIVE_MAPPING_V2_2=15213]="TENNIS_WTA_GRAND_SLAM_LIVE_MAPPING_V2_2",e[e.TENNIS_WTA_GRAND_SLAM_LIVE_MAPPING_V2_3=15214]="TENNIS_WTA_GRAND_SLAM_LIVE_MAPPING_V2_3",e[e.TENNIS_WTA_GRAND_SLAM_LIVE_MAPPING_V2_4=15215]="TENNIS_WTA_GRAND_SLAM_LIVE_MAPPING_V2_4",e[e.TENNIS_WTA_GRAND_SLAM_LIVE_MAPPING_V2_5=15216]="TENNIS_WTA_GRAND_SLAM_LIVE_MAPPING_V2_5",e[e.TENNIS_WTA_GRAND_SLAM_LIVE_MAPPING_V2_6=15217]="TENNIS_WTA_GRAND_SLAM_LIVE_MAPPING_V2_6",e[e.TENNIS_WTA_GRAND_SLAM_LIVE_MAPPING_V2_7=15218]="TENNIS_WTA_GRAND_SLAM_LIVE_MAPPING_V2_7",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_1=15622]="TENNIS_MASTERS_LIVE_MAPPING_V2_1",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_2=15623]="TENNIS_MASTERS_LIVE_MAPPING_V2_2",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_3=15624]="TENNIS_MASTERS_LIVE_MAPPING_V2_3",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_4=15625]="TENNIS_MASTERS_LIVE_MAPPING_V2_4",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_5=15626]="TENNIS_MASTERS_LIVE_MAPPING_V2_5",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_6=15627]="TENNIS_MASTERS_LIVE_MAPPING_V2_6",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_7=15628]="TENNIS_MASTERS_LIVE_MAPPING_V2_7",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_8=15632]="TENNIS_MASTERS_LIVE_MAPPING_V2_8",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_9=15633]="TENNIS_MASTERS_LIVE_MAPPING_V2_9",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_10=15634]="TENNIS_MASTERS_LIVE_MAPPING_V2_10",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_11=15635]="TENNIS_MASTERS_LIVE_MAPPING_V2_11",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_12=15636]="TENNIS_MASTERS_LIVE_MAPPING_V2_12",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_13=15637]="TENNIS_MASTERS_LIVE_MAPPING_V2_13",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_14=15638]="TENNIS_MASTERS_LIVE_MAPPING_V2_14",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_15=15641]="TENNIS_MASTERS_LIVE_MAPPING_V2_15",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_16=15642]="TENNIS_MASTERS_LIVE_MAPPING_V2_16",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_17=15643]="TENNIS_MASTERS_LIVE_MAPPING_V2_17",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_18=15644]="TENNIS_MASTERS_LIVE_MAPPING_V2_18",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_19=15645]="TENNIS_MASTERS_LIVE_MAPPING_V2_19",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_20=15646]="TENNIS_MASTERS_LIVE_MAPPING_V2_20",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_21=15647]="TENNIS_MASTERS_LIVE_MAPPING_V2_21",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_22=15648]="TENNIS_MASTERS_LIVE_MAPPING_V2_22",e[e.TENNIS_WTA_LIVE_MAPPING_V2_1=15222]="TENNIS_WTA_LIVE_MAPPING_V2_1",e[e.TENNIS_WTA_LIVE_MAPPING_V2_2=15223]="TENNIS_WTA_LIVE_MAPPING_V2_2",e[e.TENNIS_WTA_LIVE_MAPPING_V2_3=15224]="TENNIS_WTA_LIVE_MAPPING_V2_3",e[e.TENNIS_WTA_LIVE_MAPPING_V2_4=15225]="TENNIS_WTA_LIVE_MAPPING_V2_4",e[e.TENNIS_WTA_LIVE_MAPPING_V2_5=15226]="TENNIS_WTA_LIVE_MAPPING_V2_5",e[e.TENNIS_WTA_LIVE_MAPPING_V2_6=15227]="TENNIS_WTA_LIVE_MAPPING_V2_6",e[e.TENNIS_WTA_LIVE_MAPPING_V2_7=15228]="TENNIS_WTA_LIVE_MAPPING_V2_7",e[e.TENNIS_WTA_LIVE_MAPPING_V2_8=15231]="TENNIS_WTA_LIVE_MAPPING_V2_8",e[e.TENNIS_WTA_LIVE_MAPPING_V2_9=15232]="TENNIS_WTA_LIVE_MAPPING_V2_9",e[e.TENNIS_WTA_LIVE_MAPPING_V2_10=15233]="TENNIS_WTA_LIVE_MAPPING_V2_10",e[e.TENNIS_WTA_LIVE_MAPPING_V2_11=15234]="TENNIS_WTA_LIVE_MAPPING_V2_11",e[e.TENNIS_WTA_LIVE_MAPPING_V2_12=15235]="TENNIS_WTA_LIVE_MAPPING_V2_12",e[e.TENNIS_WTA_LIVE_MAPPING_V2_13=15236]="TENNIS_WTA_LIVE_MAPPING_V2_13",e[e.TENNIS_WTA_LIVE_MAPPING_V2_14=15237]="TENNIS_WTA_LIVE_MAPPING_V2_14",e[e.TENNIS_WTA_LIVE_MAPPING_V2_15=15238]="TENNIS_WTA_LIVE_MAPPING_V2_15",e[e.TENNIS_WTA_LIVE_MAPPING_V2_16=15241]="TENNIS_WTA_LIVE_MAPPING_V2_16",e[e.TENNIS_WTA_LIVE_MAPPING_V2_17=15242]="TENNIS_WTA_LIVE_MAPPING_V2_17",e[e.TENNIS_WTA_LIVE_MAPPING_V2_18=15243]="TENNIS_WTA_LIVE_MAPPING_V2_18",e[e.TENNIS_WTA_LIVE_MAPPING_V2_19=15244]="TENNIS_WTA_LIVE_MAPPING_V2_19",e[e.TENNIS_WTA_LIVE_MAPPING_V2_20=15245]="TENNIS_WTA_LIVE_MAPPING_V2_20",e[e.TENNIS_WTA_LIVE_MAPPING_V2_21=15246]="TENNIS_WTA_LIVE_MAPPING_V2_21",e[e.TENNIS_WTA_LIVE_MAPPING_V2_22=15247]="TENNIS_WTA_LIVE_MAPPING_V2_22",e[e.TENNIS_WTA_LIVE_MAPPING_V2_23=15248]="TENNIS_WTA_LIVE_MAPPING_V2_23"}(T||(T={})),function(e){e.MONEYLINE="Moneyline"}(p||(p={})),function(e){e.ASIAN_HANDICAP="Asian Handicap",e.GAME_SPREAD="Game Spread",e.POINT_SPREAD="Point Spread",e.GOAL_SPREAD="Goal Spread",e.RUN_LINE="Run Line",e.PUCK_LINE="Puck Line"}(L||(L={})),function(e){e.TOTAL_GAMES="Total Games",e.TOTAL_GOALS="Total Goals",e.TOTAL_POINTS="Total Points",e.TOTAL_RUNS="Total Runs"}(S||(S={})),function(e){e.POINTS="points",e.GOALS="goals",e.ROUNDS="rounds",e.SETS="sets",e.MAPS="maps",e.EMPTY=""}(s||(s={})),function(e){e.OVERTIME="overtime",e.REGULAR="regular",e.EMPTY=""}(N||(N={})),function(e){e.QUARTER="quarter",e.HALF="half",e.PERIOD="period",e.ROUND="round",e.INNING="inning",e.SET="set",e.MAP="map",e.EMPTY=""}(l||(l={})),function(e){e.RUNDOWN="rundown",e.ENETPULSE="enetpulse",e.JSONODDS="jsonOdds",e.OPTICODDS="opticOdds",e.EMPTY=""}(I||(I={}));var M=((d={})[T.NCAAF]={sport:t.FOOTBALL,id:T.NCAAF,label:"NCAA Football",opticOddsName:"NCAAF",provider:I.OPTICODDS,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:l.QUARTER,isDrawAvailable:!1},d[T.NFL]={sport:t.FOOTBALL,id:T.NFL,label:"NFL",opticOddsName:"NFL",provider:I.OPTICODDS,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:l.QUARTER,isDrawAvailable:!1},d[T.MLB]={sport:t.BASEBALL,id:T.MLB,label:"MLB",opticOddsName:"MLB",provider:I.OPTICODDS,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:l.INNING,isDrawAvailable:!1},d[T.NBA]={sport:t.BASKETBALL,id:T.NBA,label:"NBA",opticOddsName:"NBA",provider:I.OPTICODDS,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:l.QUARTER,isDrawAvailable:!1},d[T.NCAAB]={sport:t.BASKETBALL,id:T.NCAAB,label:"NCAA Basketball",opticOddsName:"NCAAB",provider:I.OPTICODDS,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:l.QUARTER,isDrawAvailable:!1},d[T.NHL]={sport:t.HOCKEY,id:T.NHL,label:"NHL",opticOddsName:"NHL",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.OVERTIME,periodType:l.PERIOD,isDrawAvailable:!1},d[T.UFC]={sport:t.FIGHTING,id:T.UFC,label:"UFC",provider:I.OPTICODDS,scoringType:s.ROUNDS,matchResolveType:N.EMPTY,periodType:l.ROUND,isDrawAvailable:!1},d[T.WNBA]={sport:t.BASKETBALL,id:T.WNBA,label:"WNBA",opticOddsName:"WNBA",provider:I.OPTICODDS,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:l.QUARTER,isDrawAvailable:!1},d[T.MLS]={sport:t.SOCCER,id:T.MLS,label:"MLS",opticOddsName:"USA - Major League Soccer",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.EPL]={sport:t.SOCCER,id:T.EPL,label:"EPL",opticOddsName:"England - Premier League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.LIGUE_ONE]={sport:t.SOCCER,id:T.LIGUE_ONE,label:"Ligue 1",opticOddsName:"France - Ligue 1",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.BUNDESLIGA]={sport:t.SOCCER,id:T.BUNDESLIGA,label:"Bundesliga",opticOddsName:"Germany - Bundesliga",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.LA_LIGA]={sport:t.SOCCER,id:T.LA_LIGA,label:"La Liga",opticOddsName:"Spain - La Liga",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.SERIE_A]={sport:t.SOCCER,id:T.SERIE_A,label:"Serie A",opticOddsName:"Italy - Serie A",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.UEFA_CL]={sport:t.SOCCER,id:T.UEFA_CL,label:"UEFA Champions League",opticOddsName:"UEFA - Champions League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.UEFA_EL]={sport:t.SOCCER,id:T.UEFA_EL,label:"UEFA Europa League",opticOddsName:"UEFA - Europa League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.FIFA_WC]={sport:t.SOCCER,id:T.FIFA_WC,label:"FIFA World Cup Qualifiers",provider:I.OPTICODDS,opticOddsName:"FIFA - World Cup Qualifiers",scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.J1_LEAGUE]={sport:t.SOCCER,id:T.J1_LEAGUE,label:"J1 League",opticOddsName:"Japan - J1 League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.IPL]={sport:t.CRICKET,id:T.IPL,label:"Indian Premier League",provider:I.EMPTY,scoringType:s.POINTS,matchResolveType:N.EMPTY,periodType:l.INNING,isDrawAvailable:!1},d[T.T20_BLAST]={sport:t.CRICKET,id:T.T20_BLAST,label:"T20 Blast",provider:I.EMPTY,scoringType:s.POINTS,matchResolveType:N.EMPTY,periodType:l.INNING,isDrawAvailable:!1},d[T.IIHF_WORLD_CHAMPIONSHIP]={sport:t.HOCKEY,id:T.IIHF_WORLD_CHAMPIONSHIP,label:"IIHF World Championship",provider:I.EMPTY,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.PERIOD,isDrawAvailable:!0},d[T.COPA_AMERICA]={sport:t.SOCCER,id:T.COPA_AMERICA,label:"Copa America",opticOddsName:"CONMEBOL - Copa America",provider:I.EMPTY,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.COPA_LIBERTADORES]={sport:t.SOCCER,id:T.COPA_LIBERTADORES,label:"Copa Libertadores",opticOddsName:"CONMEBOL - Copa Libertadores",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.UEFA_EURO]={sport:t.SOCCER,id:T.UEFA_EURO,label:"UEFA EURO 2024",opticOddsName:"UEFA - European Championship",provider:I.EMPTY,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.EREDIVISIE]={sport:t.SOCCER,id:T.EREDIVISIE,label:"Eredivisie",opticOddsName:"Netherlands - Eredivisie",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.PRIMEIRA_LIGA]={sport:t.SOCCER,id:T.PRIMEIRA_LIGA,label:"Primeira Liga",opticOddsName:"Portugal - Primeira Liga",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.SUMMER_OLYMPICS_SOCCER_WOMEN]={sport:t.SOCCER,id:T.SUMMER_OLYMPICS_SOCCER_WOMEN,label:"Olympic Games Soccer Women",opticOddsName:"Olympics Soccer Women",provider:I.EMPTY,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.SUMMER_OLYMPICS_SOCCER]={sport:t.SOCCER,id:T.SUMMER_OLYMPICS_SOCCER,label:"Olympic Games Soccer",opticOddsName:"Olympics Soccer Men",provider:I.EMPTY,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.FIFA_WC_WOMEN]={sport:t.SOCCER,id:T.FIFA_WC_WOMEN,label:"FIFA World Cup Women",provider:I.EMPTY,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.ENGLAND_FA_CUP]={sport:t.SOCCER,id:T.ENGLAND_FA_CUP,label:"FA Cup",opticOddsName:"England - FA Cup",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.FRANCE_CUP]={sport:t.SOCCER,id:T.FRANCE_CUP,label:"Coupe de France",opticOddsName:"France - Coupe de France",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.SPAIN_CUP]={sport:t.SOCCER,id:T.SPAIN_CUP,label:"Copa del Rey",opticOddsName:"Spain - Copa del Rey",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.ITALY_CUP]={sport:t.SOCCER,id:T.ITALY_CUP,label:"Coppa Italia",opticOddsName:"Italy - Coppa Italia",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.TENNIS_WTA]={sport:t.TENNIS,id:T.TENNIS_WTA,label:"WTA Events",opticOddsName:"WTA",provider:I.OPTICODDS,scoringType:s.SETS,matchResolveType:N.REGULAR,periodType:l.SET,isDrawAvailable:!1},d[T.TENNIS_GS]={sport:t.TENNIS,id:T.TENNIS_GS,label:"Grand Slam",opticOddsName:"ATP,WTA",provider:I.EMPTY,scoringType:s.SETS,matchResolveType:N.REGULAR,periodType:l.SET,isDrawAvailable:!1},d[T.TENNIS_MASTERS]={sport:t.TENNIS,id:T.TENNIS_MASTERS,label:"ATP Events",opticOddsName:"ATP",provider:I.OPTICODDS,scoringType:s.SETS,matchResolveType:N.REGULAR,periodType:l.SET,isDrawAvailable:!1},d[T.SUMMER_OLYMPICS_TENNIS]={sport:t.TENNIS,id:T.SUMMER_OLYMPICS_TENNIS,label:"Olympic Games Tennis",provider:I.EMPTY,scoringType:s.SETS,matchResolveType:N.REGULAR,periodType:l.SET,isDrawAvailable:!1},d[T.GERMANY_CUP]={sport:t.SOCCER,id:T.GERMANY_CUP,label:"DFB Pokal",opticOddsName:"Germany - DFB Pokal",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.LIGA_MX]={sport:t.SOCCER,id:T.LIGA_MX,label:"Liga MX",opticOddsName:"Mexico - Liga MX",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.BRAZIL_1]={sport:t.SOCCER,id:T.BRAZIL_1,label:"Serie A",opticOddsName:"Brazil - Serie A",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.UEFA_EURO_U21]={sport:t.SOCCER,id:T.UEFA_EURO_U21,label:"UEFA EURO U21",provider:I.EMPTY,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.FIFA_WORLD_CUP_U20]={sport:t.SOCCER,id:T.FIFA_WORLD_CUP_U20,label:"FIFA World Cup U20",provider:I.EMPTY,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.SUMMER_OLYMPICS_HANDBALL_WOMEN]={sport:t.HANDBALL,id:T.SUMMER_OLYMPICS_HANDBALL_WOMEN,label:"Olympic Games Handball Women",opticOddsName:"Olympics Handball Women",provider:I.EMPTY,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.SUMMER_OLYMPICS_HANDBALL]={sport:t.HANDBALL,id:T.SUMMER_OLYMPICS_HANDBALL,label:"Olympic Games Handball",opticOddsName:"Olympics Handball Men",provider:I.EMPTY,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.EUROLEAGUE]={sport:t.BASKETBALL,id:T.EUROLEAGUE,label:"Euroleague",opticOddsName:"Euroleague",provider:I.OPTICODDS,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:l.QUARTER,isDrawAvailable:!1},d[T.SUMMER_OLYMPICS_BASKETBALL]={sport:t.BASKETBALL,id:T.SUMMER_OLYMPICS_BASKETBALL,label:"Olympic Games Basketball",opticOddsName:"Olympics Basketball Men",provider:I.EMPTY,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:l.QUARTER,isDrawAvailable:!1},d[T.SUMMER_OLYMPICS_BASKETBALL_WOMEN]={sport:t.BASKETBALL,id:T.SUMMER_OLYMPICS_BASKETBALL_WOMEN,label:"Olympic Games Basketball Women",opticOddsName:"Olympics Basketball Women",provider:I.EMPTY,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:l.QUARTER,isDrawAvailable:!1},d[T.FIBA_WORLD_CUP]={sport:t.BASKETBALL,id:T.FIBA_WORLD_CUP,label:"FIBA World Cup",provider:I.EMPTY,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:l.QUARTER,isDrawAvailable:!1},d[T.FORMULA1]={sport:t.MOTOSPORT,id:T.FORMULA1,label:"Formula 1",provider:I.EMPTY,scoringType:s.EMPTY,matchResolveType:N.EMPTY,periodType:l.EMPTY,isDrawAvailable:!1},d[T.SUMMER_OLYMPICS_BEACH_VOLEYBALL_WOMEN]={sport:t.VOLLEYBALL,id:T.SUMMER_OLYMPICS_BEACH_VOLEYBALL_WOMEN,label:"Olympic Games Beach Voleyball Women",provider:I.EMPTY,scoringType:s.SETS,matchResolveType:N.REGULAR,periodType:l.SET,isDrawAvailable:!1},d[T.SUMMER_OLYMPICS_BEACH_VOLEYBALL]={sport:t.VOLLEYBALL,id:T.SUMMER_OLYMPICS_BEACH_VOLEYBALL,label:"Olympic Games Beach Voleyball",provider:I.EMPTY,scoringType:s.SETS,matchResolveType:N.REGULAR,periodType:l.SET,isDrawAvailable:!1},d[T.SUMMER_OLYMPICS_TABLE_TENNIS]={sport:t.TABLE_TENNIS,id:T.SUMMER_OLYMPICS_TABLE_TENNIS,label:"Olympic Games Table Tennis",provider:I.EMPTY,scoringType:s.SETS,matchResolveType:N.REGULAR,periodType:l.SET,isDrawAvailable:!1},d[T.MOTOGP]={sport:t.MOTOSPORT,id:T.MOTOGP,label:"MotoGP",provider:I.EMPTY,scoringType:s.EMPTY,matchResolveType:N.EMPTY,periodType:l.EMPTY,isDrawAvailable:!1},d[T.SAUDI_PROFESSIONAL_LEAGUE]={sport:t.SOCCER,id:T.SAUDI_PROFESSIONAL_LEAGUE,label:"Saudi Professional League",opticOddsName:"Saudi Arabia - Saudi League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.SUMMER_OLYMPICS_WATERPOLO]={sport:t.WATERPOLO,id:T.SUMMER_OLYMPICS_WATERPOLO,label:"Olympic Games Water Polo",opticOddsName:"Olympics Water Polo",provider:I.EMPTY,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.QUARTER,isDrawAvailable:!0},d[T.SUMMER_OLYMPICS_VOLEYBALL_WOMEN]={sport:t.VOLLEYBALL,id:T.SUMMER_OLYMPICS_VOLEYBALL_WOMEN,label:"Olympic Games Volleyball Women",opticOddsName:"Olympics Volleyball Women",provider:I.EMPTY,scoringType:s.SETS,matchResolveType:N.REGULAR,periodType:l.SET,isDrawAvailable:!1},d[T.SUMMER_OLYMPICS_VOLEYBALL]={sport:t.VOLLEYBALL,id:T.SUMMER_OLYMPICS_VOLEYBALL,label:"Olympic Games Volleyball",opticOddsName:"Olympics Volleyball Men",provider:I.EMPTY,scoringType:s.SETS,matchResolveType:N.REGULAR,periodType:l.SET,isDrawAvailable:!1},d[T.BOXING]={sport:t.FIGHTING,id:T.BOXING,label:"Boxing",provider:I.EMPTY,scoringType:s.ROUNDS,matchResolveType:N.EMPTY,periodType:l.ROUND,isDrawAvailable:!1},d[T.SUMMER_OLYMPICS_RUGBY]={sport:t.RUGBY,id:T.SUMMER_OLYMPICS_RUGBY,label:"Olympic Games Rugby",opticOddsName:"Olympics Rugby 7s Men",provider:I.EMPTY,scoringType:s.POINTS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.SUMMER_OLYMPICS_RUGBY_WOMEN]={sport:t.RUGBY,id:T.SUMMER_OLYMPICS_RUGBY_WOMEN,label:"Olympic Games Rugby Women",opticOddsName:"Olympics Rugby 7s Women",provider:I.EMPTY,scoringType:s.POINTS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.SUMMER_OLYMPICS_HOCKEY_WOMEN]={sport:t.HOCKEY,id:T.SUMMER_OLYMPICS_HOCKEY_WOMEN,label:"Olympic Games Hockey Women",provider:I.EMPTY,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.PERIOD,isDrawAvailable:!0},d[T.SUMMER_OLYMPICS_HOCKEY]={sport:t.HOCKEY,id:T.SUMMER_OLYMPICS_HOCKEY,label:"Olympic Games Hockey",provider:I.EMPTY,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.PERIOD,isDrawAvailable:!0},d[T.UEFA_NATIONS_LEAGUE]={sport:t.SOCCER,id:T.UEFA_NATIONS_LEAGUE,label:"UEFA Nations League",provider:I.OPTICODDS,opticOddsName:"UEFA - Nations League",scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.CONCACAF_NATIONS_LEAGUE]={sport:t.SOCCER,id:T.CONCACAF_NATIONS_LEAGUE,label:"CONCACAF Nations League",provider:I.EMPTY,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.CSGO]={sport:t.ESPORTS,id:T.CSGO,label:"CS GO",opticOddsName:"CS2",provider:I.OPTICODDS,scoringType:s.MAPS,matchResolveType:N.EMPTY,periodType:l.MAP,isDrawAvailable:!1},d[T.DOTA2]={sport:t.ESPORTS,id:T.DOTA2,label:"DOTA 2",opticOddsName:"Dota 2",provider:I.OPTICODDS,scoringType:s.MAPS,matchResolveType:N.EMPTY,periodType:l.MAP,isDrawAvailable:!1},d[T.SUMMER_OLYMPICS_BASKETBALL_3X3]={sport:t.BASKETBALL,id:T.SUMMER_OLYMPICS_BASKETBALL_3X3,label:"Olympic Games Basketball 3x3",opticOddsName:"Olympics Basketball 3x3 Men",provider:I.EMPTY,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:l.QUARTER,isDrawAvailable:!1},d[T.SUMMER_OLYMPICS_BASKETBALL_3X3_WOMEN]={sport:t.BASKETBALL,id:T.SUMMER_OLYMPICS_BASKETBALL_3X3_WOMEN,label:"Olympic Games Basketball 3x3 Women",opticOddsName:"Olympics Basketball 3x3 Women",provider:I.EMPTY,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:l.QUARTER,isDrawAvailable:!1},d[T.SUMMER_OLYMPICS_QUALIFICATION]={sport:t.BASKETBALL,id:T.SUMMER_OLYMPICS_QUALIFICATION,label:"Summer Olympics Basketball Qualification",provider:I.EMPTY,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:l.QUARTER,isDrawAvailable:!1},d[T.LOL]={sport:t.ESPORTS,id:T.LOL,label:"LOL",opticOddsName:"League of Legends",provider:I.OPTICODDS,scoringType:s.MAPS,matchResolveType:N.EMPTY,periodType:l.MAP,isDrawAvailable:!1},d[T.CONMEBOL_WC_QUALIFICATIONS]={sport:t.SOCCER,id:T.CONMEBOL_WC_QUALIFICATIONS,label:"CONMEBOL WC Qualification",provider:I.EMPTY,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.UEFA_CONFERENCE_LEAGUE]={sport:t.SOCCER,id:T.UEFA_CONFERENCE_LEAGUE,label:"UEFA Conference League",opticOddsName:"UEFA - Europa Conference League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.NON_TITLE_BOXING]={sport:t.FIGHTING,id:T.NON_TITLE_BOXING,label:"Boxing",provider:I.EMPTY,scoringType:s.ROUNDS,matchResolveType:N.EMPTY,periodType:l.ROUND,isDrawAvailable:!1},d[T.UEFA_CHAMPIONS_LEAGUE_QUALIFICATION]={sport:t.SOCCER,id:T.UEFA_CHAMPIONS_LEAGUE_QUALIFICATION,label:"UEFA Champions League Qualification",opticOddsName:"UEFA - Champions League",provider:I.EMPTY,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.UEFA_EUROPA_LEAGUE_QUALIFICATION]={sport:t.SOCCER,id:T.UEFA_EUROPA_LEAGUE_QUALIFICATION,label:"UEFA Europa League Qualification",opticOddsName:"UEFA - Europa League",provider:I.EMPTY,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.UEFA_CONFERENCE_LEAGUE_QUALIFICATION]={sport:t.SOCCER,id:T.UEFA_CONFERENCE_LEAGUE_QUALIFICATION,label:"UEFA Conference League Qualification",opticOddsName:"UEFA - Europa Conference League",provider:I.EMPTY,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.US_ELECTION]={sport:t.POLITICS,id:T.US_ELECTION,label:"US Election 2024",provider:I.EMPTY,scoringType:s.EMPTY,matchResolveType:N.EMPTY,periodType:l.EMPTY,isDrawAvailable:!1},d[T.UEFA_SUPER_CUP]={sport:t.SOCCER,id:T.UEFA_SUPER_CUP,label:"UEFA Super Cup",opticOddsName:"UEFA - Super Cup",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.BRAZIL_CUP]={sport:t.SOCCER,id:T.BRAZIL_CUP,label:"Copa do Brasil",opticOddsName:"Brazil - Copa do Brasil",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.ENGLAND_CHAMPIONSHIP]={sport:t.SOCCER,id:T.ENGLAND_CHAMPIONSHIP,label:"EFL Championship",opticOddsName:"England - Championship",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.SCOTLAND_PREMIERSHIP]={sport:t.SOCCER,id:T.SCOTLAND_PREMIERSHIP,label:"Scotland Premiership",opticOddsName:"Scotland - Premiership",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.BELGIUM_LEAGUE]={sport:t.SOCCER,id:T.BELGIUM_LEAGUE,label:"Belgium Jupiler Pro League",opticOddsName:"Belgium - Jupiler Pro League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.CZECH_LEAGUE]={sport:t.SOCCER,id:T.CZECH_LEAGUE,label:"Czech Republic FNL",opticOddsName:"Czech Republic - FNL",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.CHILE_PRIMERA]={sport:t.SOCCER,id:T.CHILE_PRIMERA,label:"Chile Primera Division",opticOddsName:"Chile - Primera Division",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.FINLAND_LEAGUE]={sport:t.SOCCER,id:T.FINLAND_LEAGUE,label:"Finland Veikkausliiga",opticOddsName:"Finland - Veikkausliiga",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.ARGENTINA_PRIMERA]={sport:t.SOCCER,id:T.ARGENTINA_PRIMERA,label:"Argentina Primera Division",opticOddsName:"Argentina - Primera Division",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.RUSSIA_PREMIER]={sport:t.SOCCER,id:T.RUSSIA_PREMIER,label:"Russia Premier League",opticOddsName:"Russia - Premier League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.TURKEY_SUPER_LEAGUE]={sport:t.SOCCER,id:T.TURKEY_SUPER_LEAGUE,label:"Turkey Super Lig",opticOddsName:"Turkey - Super Lig",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.SERBIA_SUPER_LEAGUE]={sport:t.SOCCER,id:T.SERBIA_SUPER_LEAGUE,label:"Serbia Super Liga",opticOddsName:"Serbia - Super Liga",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.GREECE_SUPER_LEAGUE]={sport:t.SOCCER,id:T.GREECE_SUPER_LEAGUE,label:"Greece Super League",opticOddsName:"Greece - Super League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.INDIA_PREMIER]={sport:t.SOCCER,id:T.INDIA_PREMIER,label:"India Calcutta Premier Division",opticOddsName:"India - Calcutta Premier Division",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.CHINA_SUPER_LEAGUE]={sport:t.SOCCER,id:T.CHINA_SUPER_LEAGUE,label:"China Super League",opticOddsName:"China - Super League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.AUSTRALIA_A_LEAGUE]={sport:t.SOCCER,id:T.AUSTRALIA_A_LEAGUE,label:"Australia A-League",opticOddsName:"Australia - A-League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.SWITZERLAND_SUPER_LEAGUE]={sport:t.SOCCER,id:T.SWITZERLAND_SUPER_LEAGUE,label:"Switzerland Super League",opticOddsName:"Switzerland - Super League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.BUNDESLIGA_2]={sport:t.SOCCER,id:T.BUNDESLIGA_2,label:"Bundesliga 2",opticOddsName:"Germany - Bundesliga 2",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.LA_LIGA_2]={sport:t.SOCCER,id:T.LA_LIGA_2,label:"La Liga 2",opticOddsName:"Spain - La Liga 2",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.SERIE_B]={sport:t.SOCCER,id:T.SERIE_B,label:"Serie B",opticOddsName:"Italy - Serie B",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.INDIA_SUPER_LEAGUE]={sport:t.SOCCER,id:T.INDIA_SUPER_LEAGUE,label:"India Super League",opticOddsName:"India - Super League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.LIGUE_2]={sport:t.SOCCER,id:T.LIGUE_2,label:"Ligue 2",opticOddsName:"France - Ligue 2",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.AUSTRIA_BUNDESLIGA]={sport:t.SOCCER,id:T.AUSTRIA_BUNDESLIGA,label:"Austria Bundesliga",opticOddsName:"Austria - Bundesliga",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.DENMARK_SUPER_LEAGUE]={sport:t.SOCCER,id:T.DENMARK_SUPER_LEAGUE,label:"Denmark Superliga",opticOddsName:"Denmark - Superliga",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.POLAND_LEAGUE]={sport:t.SOCCER,id:T.POLAND_LEAGUE,label:"Poland Ekstraklasa",opticOddsName:"Poland - Ekstraklasa",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.SWEDEN_LEAGUE]={sport:t.SOCCER,id:T.SWEDEN_LEAGUE,label:"Sweden Allsvenskan",opticOddsName:"Sweden - Allsvenskan",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.COLOMBIA_PRIMERA_A]={sport:t.SOCCER,id:T.COLOMBIA_PRIMERA_A,label:"Colombia Primera A",opticOddsName:"Colombia - Primera A",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.ENGLAND_EFL_CUP]={sport:t.SOCCER,id:T.ENGLAND_EFL_CUP,label:"England EFL Cup",opticOddsName:"England - EFL Cup",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.ENGLAND_LEGAUE_1]={sport:t.SOCCER,id:T.ENGLAND_LEGAUE_1,label:"England League 1",opticOddsName:"England - League 1",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.URUGUAY_PRIMERA_DIVISION]={sport:t.SOCCER,id:T.URUGUAY_PRIMERA_DIVISION,label:"Uruguay Primera Division",opticOddsName:"Uruguay - Primera Division",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.AFC_CHAMPIONS_LEAGUE]={sport:t.SOCCER,id:T.AFC_CHAMPIONS_LEAGUE,label:"AFC Champions League",opticOddsName:"AFC - Champions League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.ITALY_SUPER_CUP]={sport:t.SOCCER,id:T.ITALY_SUPER_CUP,label:"Italy Super Cup",opticOddsName:"Italy - Supercoppa",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.FRANCE_SUPER_CUP]={sport:t.SOCCER,id:T.FRANCE_SUPER_CUP,label:"France Super Cup",opticOddsName:"France - Super Cup",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.SPAIN_SUPER_CUP]={sport:t.SOCCER,id:T.SPAIN_SUPER_CUP,label:"Spain Super Cup",opticOddsName:"Spain - Supercopa",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.GERMANY_SUPER_CUP]={sport:t.SOCCER,id:T.GERMANY_SUPER_CUP,label:"Germany Super Cup",opticOddsName:"Germany - Super Cup",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.PORTUGAL_LEAGUE_CUP]={sport:t.SOCCER,id:T.PORTUGAL_LEAGUE_CUP,label:"Portugal League Cup",opticOddsName:"Portugal - League Cup",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.THAILAND_LEAGUE_1]={sport:t.SOCCER,id:T.THAILAND_LEAGUE_1,label:"Thai League 1",opticOddsName:"Thailand - Thai League 1",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.NETHERLANDS_CUP]={sport:t.SOCCER,id:T.NETHERLANDS_CUP,label:"Netherlands KNVB Beker",opticOddsName:"Netherlands - KNVB Beker",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.PORTUGAL_CUP]={sport:t.SOCCER,id:T.PORTUGAL_CUP,label:"Taca de Portugal",opticOddsName:"Portugal - Taca de Portugal",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.EUROCUP]={sport:t.BASKETBALL,id:T.EUROCUP,label:"Eurocup",opticOddsName:"Eurocup",provider:I.OPTICODDS,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:l.QUARTER,isDrawAvailable:!1},d[T.SPAIN_LIGA_ACB]={sport:t.BASKETBALL,id:T.SPAIN_LIGA_ACB,label:"Spain Liga ACB",opticOddsName:"Spain - Liga ACB",provider:I.OPTICODDS,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:l.QUARTER,isDrawAvailable:!1},d[T.ITALY_LEGA_BASKET_SERIE_A]={sport:t.BASKETBALL,id:T.ITALY_LEGA_BASKET_SERIE_A,label:"Italy Lega Basket Serie A",opticOddsName:"Italy - Lega Basket Serie A",provider:I.OPTICODDS,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:l.QUARTER,isDrawAvailable:!1},d[T.GERMANY_BBL]={sport:t.BASKETBALL,id:T.GERMANY_BBL,label:"Germany BBL",opticOddsName:"Germany - BBL",provider:I.OPTICODDS,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:l.QUARTER,isDrawAvailable:!1},d[T.FRANCE_LNB_PRO_A]={sport:t.BASKETBALL,id:T.FRANCE_LNB_PRO_A,label:"France LNB Pro A",opticOddsName:"France - LNB Pro A",provider:I.OPTICODDS,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:l.QUARTER,isDrawAvailable:!1},d[T.CHINA_CBA]={sport:t.BASKETBALL,id:T.CHINA_CBA,label:"China CBA",opticOddsName:"China - CBA",provider:I.OPTICODDS,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:l.QUARTER,isDrawAvailable:!1},d[T.AUSTRALIA_NBL]={sport:t.BASKETBALL,id:T.AUSTRALIA_NBL,label:"Australia NBL",opticOddsName:"Australia - NBL",provider:I.OPTICODDS,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:l.QUARTER,isDrawAvailable:!1},d[T.VALORANT]={sport:t.ESPORTS,id:T.VALORANT,label:"Valorant",opticOddsName:"Valorant",provider:I.OPTICODDS,scoringType:s.MAPS,matchResolveType:N.EMPTY,periodType:l.MAP,isDrawAvailable:!1},d[T.ROCKET_LEAGUE]={sport:t.ESPORTS,id:T.ROCKET_LEAGUE,label:"Rocket League",opticOddsName:"Rocket League",provider:I.OPTICODDS,scoringType:s.MAPS,matchResolveType:N.EMPTY,periodType:l.MAP,isDrawAvailable:!1},d[T.CALL_OF_DUTY]={sport:t.ESPORTS,id:T.CALL_OF_DUTY,label:"Call of Duty",opticOddsName:"Call of Duty",provider:I.OPTICODDS,scoringType:s.MAPS,matchResolveType:N.EMPTY,periodType:l.MAP,isDrawAvailable:!1},d[T.STARCRAFT]={sport:t.ESPORTS,id:T.STARCRAFT,label:"Starcraft",opticOddsName:"Starcraft",provider:I.OPTICODDS,scoringType:s.MAPS,matchResolveType:N.EMPTY,periodType:l.MAP,isDrawAvailable:!1},d[T.NFL_FUTURES]={sport:t.FUTURES,id:T.NFL_FUTURES,label:"NFL Futures",provider:I.EMPTY,scoringType:s.EMPTY,matchResolveType:N.EMPTY,periodType:l.EMPTY,isDrawAvailable:!1},d[T.NBA_FUTURES]={sport:t.FUTURES,id:T.NBA_FUTURES,label:"NBA Futures",provider:I.EMPTY,scoringType:s.EMPTY,matchResolveType:N.EMPTY,periodType:l.EMPTY,isDrawAvailable:!1},d[T.NHL_FUTURES]={sport:t.FUTURES,id:T.NHL_FUTURES,label:"NHL Futures",provider:I.EMPTY,scoringType:s.EMPTY,matchResolveType:N.EMPTY,periodType:l.EMPTY,isDrawAvailable:!1},d[T.EPL_FUTURES]={sport:t.FUTURES,id:T.EPL_FUTURES,label:"EPL Futures",provider:I.EMPTY,scoringType:s.EMPTY,matchResolveType:N.EMPTY,periodType:l.EMPTY,isDrawAvailable:!1},d[T.LIGUE_ONE_FUTURES]={sport:t.FUTURES,id:T.LIGUE_ONE_FUTURES,label:"Ligue 1 Futures",provider:I.EMPTY,scoringType:s.EMPTY,matchResolveType:N.EMPTY,periodType:l.EMPTY,isDrawAvailable:!1},d[T.BUNDESLIGA_FUTURES]={sport:t.FUTURES,id:T.BUNDESLIGA_FUTURES,label:"Bundesliga Futures",provider:I.EMPTY,scoringType:s.EMPTY,matchResolveType:N.EMPTY,periodType:l.EMPTY,isDrawAvailable:!1},d[T.LA_LIGA_FUTURES]={sport:t.FUTURES,id:T.LA_LIGA_FUTURES,label:"La Liga",provider:I.EMPTY,scoringType:s.EMPTY,matchResolveType:N.EMPTY,periodType:l.EMPTY,isDrawAvailable:!1},d[T.SERIE_A_FUTURES]={sport:t.FUTURES,id:T.SERIE_A_FUTURES,label:"Serie A Futures",provider:I.EMPTY,scoringType:s.EMPTY,matchResolveType:N.EMPTY,periodType:l.EMPTY,isDrawAvailable:!1},d[T.UEFA_CHAMPIONS_LEAGUE_FUTURES]={sport:t.FUTURES,id:T.UEFA_CHAMPIONS_LEAGUE_FUTURES,label:"UEFA Champions League Futures",provider:I.EMPTY,scoringType:s.EMPTY,matchResolveType:N.EMPTY,periodType:l.EMPTY,isDrawAvailable:!1},d[T.EUROLEAGUE_FUTURES]={sport:t.FUTURES,id:T.EUROLEAGUE_FUTURES,label:"Euroleague Futures",provider:I.EMPTY,scoringType:s.EMPTY,matchResolveType:N.EMPTY,periodType:l.EMPTY,isDrawAvailable:!1},d[T.GOLF_H2H]={sport:t.GOLF,id:T.GOLF_H2H,label:"Golf head-to-head",provider:I.EMPTY,scoringType:s.EMPTY,matchResolveType:N.EMPTY,periodType:l.EMPTY,isDrawAvailable:!1},d[T.GOLF_WINNER]={sport:t.GOLF,id:T.GOLF_WINNER,label:"Golf Tournament Winner",provider:I.EMPTY,scoringType:s.EMPTY,matchResolveType:N.EMPTY,periodType:l.EMPTY,isDrawAvailable:!1},d),c=[T.CSGO,T.DOTA2,T.LOL,T.VALORANT,T.ROCKET_LEAGUE,T.CALL_OF_DUTY,T.STARCRAFT,T.TENNIS_GS,T.TENNIS_MASTERS,T.SUMMER_OLYMPICS_TENNIS,T.TENNIS_ATP_GRAND_SLAM_LIVE_MAPPING_V2_0,T.TENNIS_ATP_GRAND_SLAM_LIVE_MAPPING_V2_1,T.TENNIS_ATP_GRAND_SLAM_LIVE_MAPPING_V2_2,T.TENNIS_ATP_GRAND_SLAM_LIVE_MAPPING_V2_3,T.TENNIS_ATP_GRAND_SLAM_LIVE_MAPPING_V2_4,T.TENNIS_ATP_GRAND_SLAM_LIVE_MAPPING_V2_5,T.TENNIS_ATP_GRAND_SLAM_LIVE_MAPPING_V2_6,T.TENNIS_ATP_GRAND_SLAM_LIVE_MAPPING_V2_7,T.TENNIS_WTA_GRAND_SLAM_LIVE_MAPPING_V2_0,T.TENNIS_WTA_GRAND_SLAM_LIVE_MAPPING_V2_1,T.TENNIS_WTA_GRAND_SLAM_LIVE_MAPPING_V2_2,T.TENNIS_WTA_GRAND_SLAM_LIVE_MAPPING_V2_3,T.TENNIS_WTA_GRAND_SLAM_LIVE_MAPPING_V2_4,T.TENNIS_WTA_GRAND_SLAM_LIVE_MAPPING_V2_5,T.TENNIS_WTA_GRAND_SLAM_LIVE_MAPPING_V2_6,T.TENNIS_WTA_GRAND_SLAM_LIVE_MAPPING_V2_7,T.TENNIS_MASTERS_LIVE_MAPPING_V2_1,T.TENNIS_MASTERS_LIVE_MAPPING_V2_2,T.TENNIS_MASTERS_LIVE_MAPPING_V2_3,T.TENNIS_MASTERS_LIVE_MAPPING_V2_4,T.TENNIS_MASTERS_LIVE_MAPPING_V2_5,T.TENNIS_MASTERS_LIVE_MAPPING_V2_6,T.TENNIS_MASTERS_LIVE_MAPPING_V2_7,T.TENNIS_MASTERS_LIVE_MAPPING_V2_8,T.TENNIS_MASTERS_LIVE_MAPPING_V2_9,T.TENNIS_MASTERS_LIVE_MAPPING_V2_10,T.TENNIS_MASTERS_LIVE_MAPPING_V2_11,T.TENNIS_MASTERS_LIVE_MAPPING_V2_12,T.TENNIS_MASTERS_LIVE_MAPPING_V2_13,T.TENNIS_MASTERS_LIVE_MAPPING_V2_14,T.TENNIS_MASTERS_LIVE_MAPPING_V2_15,T.TENNIS_MASTERS_LIVE_MAPPING_V2_16,T.TENNIS_MASTERS_LIVE_MAPPING_V2_17,T.TENNIS_MASTERS_LIVE_MAPPING_V2_18,T.TENNIS_MASTERS_LIVE_MAPPING_V2_19,T.TENNIS_MASTERS_LIVE_MAPPING_V2_20,T.TENNIS_MASTERS_LIVE_MAPPING_V2_21,T.TENNIS_MASTERS_LIVE_MAPPING_V2_22,T.TENNIS_WTA_LIVE_MAPPING_V2_1,T.TENNIS_WTA_LIVE_MAPPING_V2_2,T.TENNIS_WTA_LIVE_MAPPING_V2_3,T.TENNIS_WTA_LIVE_MAPPING_V2_4,T.TENNIS_WTA_LIVE_MAPPING_V2_5,T.TENNIS_WTA_LIVE_MAPPING_V2_6,T.TENNIS_WTA_LIVE_MAPPING_V2_7,T.TENNIS_WTA_LIVE_MAPPING_V2_8,T.TENNIS_WTA_LIVE_MAPPING_V2_9,T.TENNIS_WTA_LIVE_MAPPING_V2_10,T.TENNIS_WTA_LIVE_MAPPING_V2_11,T.TENNIS_WTA_LIVE_MAPPING_V2_12,T.TENNIS_WTA_LIVE_MAPPING_V2_13,T.TENNIS_WTA_LIVE_MAPPING_V2_14,T.TENNIS_WTA_LIVE_MAPPING_V2_15,T.TENNIS_WTA_LIVE_MAPPING_V2_16,T.TENNIS_WTA_LIVE_MAPPING_V2_17,T.TENNIS_WTA_LIVE_MAPPING_V2_18,T.TENNIS_WTA_LIVE_MAPPING_V2_19,T.TENNIS_WTA_LIVE_MAPPING_V2_20,T.TENNIS_WTA_LIVE_MAPPING_V2_21,T.TENNIS_WTA_LIVE_MAPPING_V2_22,T.TENNIS_WTA_LIVE_MAPPING_V2_23],C=[T.SUMMER_OLYMPICS_RUGBY,T.SUMMER_OLYMPICS_RUGBY_WOMEN],u=[T.NCAAF,T.NFL,T.MLB,T.NBA,T.NCAAB,T.NHL,T.WNBA,T.MLS,T.IPL,T.T20_BLAST],U=[701,702,703,704],m={1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,10:10,11:11,12:12,13:13,14:14,15:15,16:16,17:17,18:18,19:19,20:20,21:21},G={320:18,6:24,33:33,16:42,44:44,45:45,11:47,50:50,12:53,13:54,15:55,57:57,61:61,65:65,66:66,17:73,76:76,14:87,152:152,153:153,156:156,158:158,132:132,134:134,138:138,141:141,209:209,230:230,268:268,288:288,296:296,310:310,319:319,322:322,327:327,380:380,381:381,399:399,406:406,407:407,409:409,445:445,453:453,454:454,497:497,536:536,8881:8881,8893:8893,8894:8894,8910:8910,9196:9196,9578:9578,9588:9588,9698:9698,9699:9699,9806:9806,9821:9821,9977:9977,9983:9983,10071:10071,10072:10072,10502:10502,10138:10138,10199:10199,10216:10216,10595:10595,10611:10611,10613:10613,10615:10615},y={1:"NCAAF",2:"NFL",3:"MLB",4:"NBA",5:"NCAAB",6:"NHL",7:"UFC",8:"WNBA",10:"USA - Major League Soccer",11:"England - Premier League",12:"France - Ligue 1",13:"Germany - Bundesliga",14:"Spain - La Liga",15:"Italy - Serie A",16:"UEFA - Champions League",17:"UEFA - Europa League",18:"FIFA - World Cup Qualifiers",19:"Japan - J1 League",45:"CONMEBOL - Copa Libertadores",57:"Netherlands - Eredivisie",61:"Portugal - Primeira Liga",132:"England - FA Cup",134:"France - Coupe de France",138:"Spain - Copa del Rey",152:"WTA",156:"ATP",141:"Italy - Coppa Italia",209:"Germany - DFB Pokal",230:"Mexico - Liga MX",268:"Brazil - Serie A",399:"Euroleague",536:"Saudi Arabia - Saudi League",9806:"UEFA - Nations League",9977:"CS2",9983:"Dota 2",10138:"League of Legends",10216:"UEFA - Europa Conference League",20001:"UEFA - Super Cup",20002:"Brazil - Copa do Brasil",20011:"England - Championship",20101:"Scotland - Premiership",20102:"Belgium - Jupiler Pro League",20103:"Czech Republic - FNL",20104:"Chile - Primera Division",20105:"Finland - Veikkausliiga",20106:"Argentina - Primera Division",20107:"Russia - Premier League",20108:"Turkey - Super Lig",20109:"Serbia - Super Liga",20110:"Greece - Super League",20111:"India - Calcutta Premier Division",20112:"China - Super League",20113:"Australia - A-League",20114:"Switzerland - Super League",20115:"Germany - Bundesliga 2",20116:"Spain - La Liga 2",20117:"Italy - Serie B",20118:"India - Super League",20119:"France - Ligue 2",20120:"Austria - Bundesliga",20121:"Denmark - Superliga",20122:"Poland - Ekstraklasa",20123:"Sweden - Allsvenskan",20124:"Colombia - Primera A",20125:"England - EFL Cup",20126:"England - League 1",20127:"Uruguay - Primera Division",20128:"AFC - Champions League",20129:"Italy - Supercoppa",20130:"France - Super Cup",20131:"Spain - Supercopa",20132:"Germany - Super Cup",20133:"Portugal - League Cup",20134:"Thailand - Thai League 1",20135:"Netherlands - KNVB Beker",20136:"Portugal - Taca de Portugal",20200:"Eurocup",20201:"Spain - Liga ACB",20202:"Italy - Lega Basket Serie A",20203:"Germany - BBL",20204:"France - LNB Pro A",20205:"China - CBA",20206:"Australia - NBL",20300:"Valorant",20301:"Rocket League",20302:"Call of Duty",20303:"Starcraft"},v=function(e){var r=M[e];return r?r.sport:t.EMPTY},D=function(e){var r=M[e];return r?r.label:""},g=function(e){var r=M[e];return r?r.provider:""},b=function(e){var r=M[e];return!!r&&r.isDrawAvailable},V=function(e){var r=M[e];return r?r.periodType:""},F=function(e){var r=M[e];return r?r.opticOddsName:void 0},B=function(e){var r=new Set;return e.filter((function(e){return"true"===e.enabled})).map((function(e){return r.add(Number(e.sportId))})),Array.from(r)},h=function(e,r){var a=new Set;return r.filter((function(r){return Number(r.sportId)===Number(e)&&"true"===r.enabled})).map((function(e){return a.add(e.marketName)})),Array.from(a)},w=function(e,r){return r.filter((function(r){return Number(r.sportId)===e}))},f=function(e,r){return r.filter((function(r){return Number(r.sportId)===Number(e)&&"Spread"===r.type&&"true"===r.enabled})).map((function(e){return e.marketName.toLowerCase()}))},Y=function(e,r){return r.filter((function(r){return Number(r.sportId)===Number(e)&&"Total"===r.type&&"true"===r.enabled})).map((function(e){return e.marketName.toLowerCase()}))},W=function(e,r,a,E,i,_){var o,A;if(c.includes(e)?(o=E.toLowerCase()==r.toLowerCase()||E.toLowerCase()==a.toLowerCase(),A=i.toLowerCase()==r.toLowerCase()||i.toLowerCase()==a.toLowerCase()):(o=E.toLowerCase()==r.toLowerCase(),A=i.toLowerCase()==a.toLowerCase()),!0!==o){var t=_.get(E.toLowerCase()),T=_.get(r.toLowerCase()),p=_.get(a.toLowerCase());if([t,T].some((function(e){return null==e})))return!1;o=c.includes(e)?t==T||t==p:t==T}if(!0!==A){var L=_.get(i.toLowerCase());if(T=_.get(r.toLowerCase()),[L,p=_.get(a.toLowerCase())].some((function(e){return null==e})))return!1;A=c.includes(e)&&L==T||L==p}return o&&A},H=function(e,r,a,E){var i;if(v(a)==t.TENNIS){var _=r.getTime(),o=e.getTime();i=Math.abs(o-_)<=Number(60*E*1e3)}else i=r.toUTCString()==e.toUTCString();return i},k=0,K="Draw",Q=0,x=.2,j=10001,X=10002,z=100,Z=":",J="_",$=function(e,r,a){if(e.some((function(e){return 0===e})))return e;var E=e.reduce((function(e,r){return e+r}),0);if(E<=1)return Array(e.length).fill(0);if(0===a){if(!(r>100*(E-1)))return e;a=r}var i=1+a/100,_=i/E,o=e.map((function(e){return e*_}));if(o.some((function(e){return e>=1})))return Array(e.length).fill(0);var A=o.reduce((function(e,r){return e+r}),0);if(A<1)return Array(e.length).fill(0);var t=i/A;return o.map((function(e){return e*t}))},q=function(e,r,a,E){var i=e.find((function(e){return Number(e.typeId)===Number(a)&&Number(e.sportId)===Number(r)}));return i?{minSpread:i.minSpread?Number(i.minSpread):E,targetSpread:i.targetSpread?Number(i.targetSpread):0}:{minSpread:E,targetSpread:0}},ee=function(e,r,a){return e.map((function(e){if(0!=e){var E=r.find((function(e){return Number(e.typeId)===Number(a)})),i=e;return e<.95&&E&&Number(E.addedSpread)&&(i=e*(100+Number(E.addedSpread))/100)>=1&&(i=e),i}return 0}))},re=function(){return re=Object.assign||function(e){for(var r,a=1,E=arguments.length;a<E;a++)for(var i in r=arguments[a])Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i]);return e},re.apply(this,arguments)},ae=function(e,r,a){if(a||2===arguments.length)for(var E,i=0,_=r.length;i<_;i++)!E&&i in r||(E||(E=Array.prototype.slice.call(r,0,i)),E[i]=r[i]);return e.concat(E||Array.prototype.slice.call(r))},Ee=function(e){return e===k?0:ie("decimal","impliedProbability",e)},ie=function(e,r,a){try{return n(e,a).to(r)}catch(e){return 0}},_e=function(e,r,a,E,i){var _=new Map;return a.forEach((function(a){var o=0,A=e.filter((function(e){return e&&e.marketName.toLowerCase()===r.toLowerCase()&&e.sportsBookName.toLowerCase()==a.toLowerCase()&&e.selection.toLowerCase()===E.homeTeam.toLowerCase()}));0!==A.length&&(o=A[0].price);var t=0,T=e.filter((function(e){return e&&e.marketName.toLowerCase()===r.toLowerCase()&&e.sportsBookName.toLowerCase()==a.toLowerCase()&&e.selection.toLowerCase()===E.awayTeam.toLowerCase()}));0!==T.length&&(t=T[0].price);var p=0;if(!i){var L=e.filter((function(e){return e&&e.marketName.toLowerCase()===r.toLowerCase()&&e.sportsBookName.toLowerCase()==a.toLowerCase()&&e.selection.toLowerCase()===K.toLowerCase()}));0!==L.length&&(p=L[0].price)}_.set(a.toLowerCase(),{homeOdds:o,awayOdds:t,drawOdds:p})})),_},oe=function(e,r,a,E,i,_,o){var A={homeTeam:E.homeTeam,awayTeam:E.awayTeam},t=_e(E.odds,p.MONEYLINE,a,A,e),T=O(t,a,e,o,x);if(T.errorMessage)return{odds:e?[0,0]:[0,0,0],errorMessage:T.errorMessage};var L=(e?[T.homeOdds,T.awayOdds]:[T.homeOdds,T.awayOdds,T.drawOdds]).map((function(e){return Ee(e)})),S=q(r,i,Q,_);return{odds:L=null!==S?$(L,S.minSpread,S.targetSpread):$(L,_,0)}},Ae=function(e,r,a,E,i,_){var o=[[],[],[],[]],A=o[0],t=o[1],T=o[2],p=o[3],L=w(a,_),S={homeTeam:e.homeTeam,awayTeam:e.awayTeam};if(L.length>0){te(e.odds,L,E[0]).forEach((function(e){"Total"===e.type?.5===Math.abs(Number(e.points)%1)&&t.push(e):"Spread"===e.type?.5===Math.abs(Number(e.points)%1)&&A.push(e):"Moneyline"===e.type&&T.push(e)}));var s=ae(ae(ae([],Te(A,S),!0),pe(t,S),!0),Le(T,S),!0);Se(s,r,i).forEach((function(e){var r={leagueId:Number(e.sportId),typeId:Number(e.typeId),type:e.type.toLowerCase(),line:Number(e.line||0),odds:e.odds},a=L.find((function(r){return Number(r.typeId)===Number(e.typeId)})),E=null==a?void 0:a.minOdds,i=null==a?void 0:a.maxOdds;E&&i&&(e.odds[0]>=E||e.odds[0]<=i||e.odds[1]>=E||e.odds[1]<=i)||p.push(r)}))}else console.warn("No child markets for leagueID: ".concat(Number(a)));return p},te=function(e,r,a){var E=r.filter((function(e){return e.marketName.toLowerCase()!==p.MONEYLINE.toLowerCase()&&"true"===e.enabled})).map((function(e){return e.marketName.toLowerCase()}));return e.filter((function(e){return E.includes(e.marketName.toLowerCase())&&e.sportsBookName.toLowerCase()==a.toLowerCase()})).map((function(e){return re(re({},e),r.find((function(r){return r.marketName.toLowerCase()===e.marketName.toLowerCase()})))}))},Te=function(e,r){var a=e.reduce((function(e,a){var E=a.points,i=a.marketName,_=a.price,o=a.selection,A=a.typeId,t=a.sportId,T=a.type,p=o===r.homeTeam,L="".concat(i,"_").concat(p?E:-E);return e[L]||(e[L]={home:null,away:null,typeId:null,sportId:null}),p?e[L].home=_:e[L].away=_,e[L].typeId=A,e[L].type=T,e[L].sportId=t,e}),{}),E=Object.entries(a).reduce((function(e,r){var a=r[0],E=r[1],i=a.split("_"),_=(i[0],i[1]),o=parseFloat(_);return null!==E.home&&null!==E.away&&e.push({line:o,odds:[E.home,E.away],typeId:E.typeId,sportId:E.sportId,type:E.type}),e}),[]);return E},pe=function(e,r){var a=e.reduce((function(e,r){if(r){var a="".concat(r.marketName,"_").concat(r.selection,"_").concat(r.points);e[a]||(e[a]={over:null,under:null}),"over"===r.selectionLine?e[a].over=r.price:"under"===r.selectionLine&&(e[a].under=r.price),e[a].typeId=r.typeId,e[a].type=r.type,e[a].sportId=r.sportId}return e}),{}),E=Object.entries(a).reduce((function(e,a){var E=a[0],i=a[1],_=E.split("_"),o=(_[0],_[1]),A=_[2],t=parseFloat(A),T=o===r.awayTeam;return null!==i.over&&null!==i.under&&e.push({line:t,odds:[i.over,i.under],typeId:T?Number(i.typeId)+1:i.typeId,sportId:i.sportId,type:i.type}),e}),[]);return E},Le=function(e,r){var a=e.reduce((function(e,a){var E=a.price,i=a.selection,_=a.typeId,o=a.sportId,A=a.type,t=_;return e[t]||(e[t]={home:null,away:null,draw:null,typeId:null,sportId:null}),i.toLowerCase()===r.homeTeam.toLowerCase()?e[t].home=E:i.toLowerCase()===r.awayTeam.toLowerCase()?e[t].away=E:i.toLowerCase()===K.toLowerCase()&&(e[t].draw=E),e[t].typeId=_,e[t].type=A,e[t].sportId=o,e}),{}),E=Object.entries(a).reduce((function(e,r){r[0];var a=r[1];return null!==a.home&&null!==a.away&&e.push({odds:a.draw?[a.home,a.away,a.draw]:[a.home,a.away],typeId:a.typeId,sportId:a.sportId,type:a.type}),e}),[]);return E},Se=function(e,r,a){var E=[];return e.forEach((function(e){var i=3===e.odds.length,_=Ee(e.odds[0])||k,o=Ee(e.odds[1])||k,A=Ee(e.odds[2])||k,t=i?[_,o,A]:[_,o];if(!(_===k||o===k||i&&A===k)){var T,p=q(r,e.sportId,e.typeId,a);T=null!==p?$(t,p.minSpread,p.targetSpread):$(t,a,0),E.push(re(re({},e),{odds:T}))}})),E},se=function(){return se=Object.assign||function(e){for(var r,a=1,E=arguments.length;a<E;a++)for(var i in r=arguments[a])Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i]);return e},se.apply(this,arguments)},Ne=function(e,r,a,E,i,_,o,A){var t=E.filter((function(r){return r.sportId===String(e.leagueId)})),T=w(e.leagueId,A),p=oe(!i,t,a,r,e.leagueId,_,o),L=ee(p.odds,T,e.typeId);p.errorMessage?(e.odds=e.odds.map((function(){return{american:0,decimal:0,normalizedImplied:0}})),e.errorMessage=p.errorMessage):e.odds=L.map((function(r){return 0!=r?{american:n("impliedProbability",r).to("moneyline"),decimal:Number(n("impliedProbability",r).to("decimal").toFixed(10)),normalizedImplied:r}:(e.errorMessage="Bad odds after spread adjustment",{american:0,decimal:0,normalizedImplied:0})}));var S=Ae(r,t,e.leagueId,a,_,A).map((function(r){var a=se(se({},e),r),E=ee(a.odds,T,a.typeId);return a.odds.length>0&&(a.odds=E.map((function(e){return 0==e?{american:0,decimal:0,normalizedImplied:0}:{american:n("impliedProbability",e).to("moneyline"),decimal:Number(n("impliedProbability",e).to("decimal").toFixed(10)),normalizedImplied:e}}))),a}));return e.childMarkets=S,e},le=function(e,r,a){var E=v(r),i=e.homeTeam,_=e.homeTotal,o=e.awayTeam,A=e.awayTotal,T=e.clock,p=e.period,L=e.status,S=parseInt(p);return"completed"==L.toLowerCase()?{allow:!1,message:"Blocking game ".concat(i," - ").concat(o," because it is no longer live.")}:E===t.BASKETBALL?Ie(i,o,S,a.get(t.BASKETBALL)):E===t.HOCKEY?Ie(i,o,S,a.get(t.HOCKEY)):E===t.BASEBALL?Ie(i,o,S,a.get(t.BASEBALL)):E===t.SOCCER?de(i,o,T,p,a.get(t.SOCCER)):E===t.TENNIS?ne(e,i,o,p,_,A,r,E):E===t.VOLLEYBALL?ne(e,i,o,S,_,A,r,E):{allow:!0,message:"The sport ".concat(r," does not have constraint")}},Ie=function(e,r,a,E){return!Number.isNaN(a)&&a>=E?{allow:!1,message:"Blocking game ".concat(e," - ").concat(r," due to period: ").concat(a,". period")}:{allow:!0,message:""}},de=function(e,r,a,E,i){var _=Number(a);return!Number.isNaN(_)&&_>=i||Number.isNaN(_)&&"half"!=E.toLowerCase()?{allow:!1,message:"Blocking game ".concat(e," - ").concat(r," due to clock: ").concat(a,"min")}:{allow:!0,message:""}},ne=function(e,r,a,E,i,_,o,A){var p=Number(E),L=Re(p,e),S="atp"==e.league.toLowerCase(),s={home:i,away:_};return A==t.VOLLEYBALL?Oe(r,a,L,s,Pe,5==p?ce:Me):o.toString().startsWith(T.TENNIS_GS)&&S?Oe(r,a,L,s,Ce,Ue):o.toString().startsWith(T.TENNIS_GS)&&!S||o.toString().startsWith(T.TENNIS_MASTERS)||o.toString().startsWith(T.SUMMER_OLYMPICS_TENNIS)||o.toString().startsWith(T.TENNIS_WTA)?Oe(r,a,L,s,ue,Ue):{allow:!0,message:"The sport ".concat(o," does not have result constraint")}},Re=function(e,r){var a=0,E=0;switch(e){case 1:a=Number(r.homePeriod1),E=Number(r.awayPeriod1);break;case 2:a=Number(r.homePeriod2),E=Number(r.awayPeriod2);break;case 3:a=Number(r.homePeriod3),E=Number(r.awayPeriod3);break;case 4:a=Number(r.homePeriod4),E=Number(r.awayPeriod4);break;case 5:a=Number(r.homePeriod5),E=Number(r.awayPeriod5)}return{home:a,away:E}},Oe=function(e,r,a,E,i,_){return Number(E.home)!=i&&Number(E.away)!=i||!(Number(E.home)==i&&a.home>=_||Number(E.away)==i&&a.away>=_)?{allow:!0,message:"",currentHomeGameScore:a.home,currentAwayGameScore:a.away}:{allow:!1,message:"Blocking game ".concat(e," - ").concat(r," due to current result: ").concat(E.home," - ").concat(E.away," (").concat(a.home," - ").concat(a.away,")")}},Pe=2,Me=20,ce=10,Ce=2,ue=1,Ue=5,me=a(168),Ge=a.n(me),ye=function(){return ye=Object.assign||function(e){for(var r,a=1,E=arguments.length;a<E;a++)for(var i in r=arguments[a])Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i]);return e},ye.apply(this,arguments)},ve=function(e){return e.map((function(e){return{gameId:e.id,startDate:e.start_date,homeTeam:e.home_team_display,awayTeam:e.away_team_display}}))},De=function(e){return e.map((function(e){return ye(ye({gameId:e.fixture.id,sport:e.sport.name,league:e.league.name.toLowerCase(),status:e.fixture.status?e.fixture.status.toLowerCase():e.fixture.status,isLive:e.fixture.is_live,clock:e.in_play.clock,period:e.in_play.period?e.in_play.period.toLowerCase():e.in_play.period,homeTeam:e.fixture.home_team_display,awayTeam:e.fixture.away_team_display,homeTotal:e.scores.home.total,awayTotal:e.scores.away.total},be(e.scores.home.periods,"home")),be(e.scores.away.periods,"away"))}))},ge=function(e){return e.map((function(e){return{gameId:e.id,startDate:e.start_date,homeTeam:e.home_team_display,awayTeam:e.away_team_display,isLive:e.is_live,status:e.status,sport:e.sport.id,league:e.league.name,odds:e.odds.map((function(r){return{id:r.id,sportsBookName:r.sportsbook,name:r.name,price:r.price,timestamp:r.timestamp,points:r.points,isMain:r.is_main,isLive:e.is_live,marketName:r.market.toLowerCase(),playerId:r.player_id,selection:r.selection,selectionLine:r.selection_line}}))}}))},be=function(e,r){return Object.values(e).reduce((function(e,a,E){var i;return ye(ye({},e),((i={})["".concat(r,"Period").concat(E+1)]=a,i))}),{})},Ve=function(e){return Ge()({input:e}).replace(/\0/g,"")},Fe=function(e){return e.replaceAll(" ","_").toLowerCase()},Be=function(e){if(!e.includes(Z))return e;var r=e.split(Z),a=r[0],E=r[1],i=Object.keys(y).find((function(e){return Fe(y[Number(e)])===a}));if(!i)throw"Optic Odds league ".concat(a," not mapped.");return"".concat(i).concat(J).concat(E)},he=function(e){if(!e.includes(J))return e;var r=e.split(J),a=r[0],E=r[1],i=y[Number(a)];if(!i)throw"Overtime league ID ".concat(a," not mapped.");return"".concat(Fe(i)).concat(Z).concat(E)},we=function(e){return Ge()({input:Be(e)})},fe=function(e){return he(Ve(e))}})(),E})()));
|
|
1
|
+
!function(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r():"function"==typeof define&&define.amd?define([],r):"object"==typeof exports?exports.thalesUtils=r():e.thalesUtils=r()}(this,(()=>(()=>{"use strict";var e={168:e=>{e.exports=({input:e="",ignoreLength:r=!1})=>{if(/^0x[0-9a-zA-Z]+$/.test(e))return function(e){let r="",a=0;for("0x"===e.substring(0,2)&&(a=2);a<e.length;a+=2){const E=parseInt(e.substr(a,2),16);r+=String.fromCharCode(E)}return r}(e);if(!r&&e.length>32)throw Error(`Input string is too long, must be maximum of 32. It is currently ${e.length}`);return function(e){if(!e)return"0x00";let r="";for(let a=0;a<e.length;a++){const E=e.charCodeAt(a).toString(16);r+=E.length<2?"0"+E:E}return"0x"+r}(e).padEnd(66,"0")}}},r={};function a(E){var i=r[E];if(void 0!==i)return i.exports;var _=r[E]={exports:{}};return e[E](_,_.exports,a),_.exports}a.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return a.d(r,{a:r}),r},a.d=(e,r)=>{for(var E in r)a.o(r,E)&&!a.o(e,E)&&Object.defineProperty(e,E,{enumerable:!0,get:r[E]})},a.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var E={};return(()=>{a.r(E),a.d(E,{AMERICAN_LEAGUES:()=>u,DRAW:()=>K,LEAGUES_NO_FORMAL_HOME_AWAY:()=>c,LEAGUES_NO_LIVE_CONSTRAINTS:()=>C,League:()=>T,LeagueIdMapEnetpulse:()=>G,LeagueIdMapOpticOdds:()=>y,LeagueIdMapRundown:()=>m,LeagueMap:()=>M,MIN_ODDS_FOR_DIFF_CHECKING:()=>x,MONEYLINE_TYPE_ID:()=>Q,MULTIPLIER_100:()=>z,MatchResolveType:()=>N,MoneylineTypes:()=>p,OPTIC_ODDS_ID_SEPARATOR:()=>Z,OVERTIME_ID_SEPARATOR:()=>J,PeriodType:()=>l,Provider:()=>I,ScoringType:()=>s,Sport:()=>t,SpreadTypes:()=>L,TAG_CHILD_SPREAD:()=>j,TAG_CHILD_TOTALS:()=>X,TotalTypes:()=>S,UFC_LEAGUE_IDS:()=>U,ZERO:()=>k,adjustSpreadOnChildOdds:()=>Le,adjustSpreadOnOdds:()=>$,allowGameSportWithPeriodConstraint:()=>le,allowGameSportWithResultConstraint:()=>de,allowSoccerGame:()=>Ie,calculateImpliedOddsDifference:()=>P,checkGameContraints:()=>Ne,checkOddsFromBookmakers:()=>O,convertFromBytes32:()=>be,createChildMarkets:()=>oe,fetchResultInCurrentSet:()=>ne,filterOddsByMarketNameBookmaker:()=>Ae,filterOddsByMarketNameTeamNameBookmaker:()=>ie,formatOpticOddsLeagueName:()=>Ve,gamesDatesMatching:()=>H,getBetTypesForLeague:()=>h,getBookmakersArray:()=>R,getLeagueInfo:()=>w,getLeagueIsDrawAvailable:()=>b,getLeagueLabel:()=>D,getLeagueOpticOddsName:()=>F,getLeaguePeriodType:()=>V,getLeagueProvider:()=>g,getLeagueSport:()=>v,getLeagueSpreadTypes:()=>f,getLeagueTotalTypes:()=>Y,getLiveSupportedLeagues:()=>B,getParentOdds:()=>_e,getSpreadData:()=>q,groupAndFormatMoneylineOdds:()=>pe,groupAndFormatSpreadOdds:()=>te,groupAndFormatTotalOdds:()=>Te,mapFromBytes32ToOpticOddsFormat:()=>we,mapFromOpticOddsFormatToBytes32:()=>he,mapFromOpticOddsToOvertimeFormat:()=>Fe,mapFromOvertimeToOpticOddsFormat:()=>Be,mapOpticOddsApiFixtureOdds:()=>De,mapOpticOddsApiFixtures:()=>ye,mapOpticOddsApiResults:()=>ve,processMarket:()=>se,teamNamesMatching:()=>W}),"function"!=typeof Object.assign&&(Object.assign=function(e,r){if(null==e)throw new TypeError("Cannot convert undefined or null to object");for(var a=Object(e),E=1;E<arguments.length;E++){var i=arguments[E];if(null!=i)for(var _ in i)Object.prototype.hasOwnProperty.call(i,_)&&(a[_]=i[_])}return a});var e=function(e){return parseFloat(e.toPrecision(12))};function r(e,a,E){return void 0===E||0==+E?Math[e](a):(a=+a,E=+E,isNaN(a)||"number"!=typeof E||E%1!=0?NaN:a<0?-r(e,-a,E):(a=a.toString().split("e"),+((a=(a=Math[e](+(a[0]+"e"+(a[1]?+a[1]-E:-E)))).toString().split("e"))[0]+"e"+(a[1]?+a[1]+E:E))))}var i,_,o={decimal:{from:function(e){if((e=parseFloat(e))<=1)throw new Error("Outside valid range.");return e},to:function(){return this.decimalValue}},moneyline:{from:function(e){return(e=parseFloat(e))>=0?e/100+1:100/-e+1},to:function(){return this.decimalValue>=2?e(100*(this.decimalValue-1)):e(-100/(this.decimalValue-1))}},hongKong:{from:function(e){if((e=parseFloat(e))<0)throw new Error("Outside valid range.");return e+1},to:function(){return e(this.decimalValue-1)}},impliedProbability:{from:function(e){if((e="string"==typeof e&&"%"==e.slice(-1)?parseFloat(e)/100:parseFloat(e))<=0||e>=1)throw new Error("Outside valid range");return 1/e},to:function(a){if(a.percentage){var E=e(100/this.decimalValue);return null!==a.precision&&(E=r("round",E,-a.precision)),E.toString()+"%"}return e(1/this.decimalValue)}},fractional:{from:function(e){var r,a=e.toString().split("/");if(e=parseFloat(a[0]),2===a.length)r=parseFloat(a[1]);else{if(1!==a.length)throw new Error("Invalid fraction");r=1}if(0===e||0===r||e/r<=0)throw new Error("Outside valid range");return 1+e/r},to:function(e){return function(e,r){for(var a,E=[0,1],i=[1,0],_=function(e){var r=null,a=e.toString().indexOf("E");-1==a&&(a=e.toString().indexOf("e"));var E=null,i=(r=-1==a?e.toString():e.toString().substring(0,a)).toString().indexOf(".");-1==i?E=r:0===i?E=r.substring(1,r.length):i<r.length&&(E=r.substring(0,i)+r.substring(i+1,r.length));var _=E,o=_.toString().length,A=e,t=A.toString().length;0===A&&(t=0);var T,p=o-t;for(T=p;T>0&&_%2==0;T--)_/=2;for(T=p;T>0&&_%5==0;T--)_/=5;return _}(e),o=e,A=Math.pow(10,-r)/2,t=2;t<1e3;t++){var T=Math.floor(o);if(E[t]=T*E[t-1]+E[t-2],Math.abs(E[t])>_)return;if(i[t]=T*i[t-1]+i[t-2],a=E[t]/i[t],Math.abs(a-e)<A||NaN==a)return E[t].toString()+"/"+i[t].toString();o=1/(o-T)}}(this.decimalValue-1,e.precision||12)}},malay:{from:function(e){if((e=parseFloat(e))<=-1||e>1)throw new Error("Outside valid range.");return e<0&&(e=-1/e),e+1},to:function(){return this.decimalValue<=2?e(this.decimalValue-1):e(-1/(this.decimalValue-1))}},indonesian:{from:function(e){if(0===(e=parseFloat(e)))throw new Error("Outside valid range.");return e>=1?e+1:-1/e+1},to:function(){return this.decimalValue<2?e(-1/(this.decimalValue-1)):e(this.decimalValue-1)}}},A=((_=function(r){if("number"!=typeof r||isNaN(r))throw new Error("Invalid odds");this.decimalValue=e(r)}).prototype=(i=function(){throw new Error("This constructor is private, please use the from* functions")}).prototype,i.from=function(e,r){if(!o.hasOwnProperty(e))throw new Error("Unknown format "+e+".");var a=o[e].from(r);return new _(a)},i);A.prototype.to=function(e,a){if(!o.hasOwnProperty(e))throw new Error("Unknown format "+e+".");a=Object.assign({precision:null,percentage:!1},a);var E=o[e].to.call(this,a);return"number"==typeof E&&null!==a.precision&&(E=r("round",E,-a.precision)),E};var t,T,p,L,S,s,N,l,I,d,n=A.from,R=function(e,r,a){var E=e.find((function(e){return Number(e.sportId)===Number(r)}));if(E){if(""==E.primaryBookmaker)return a;var i=[];return E.primaryBookmaker&&i.push(E.primaryBookmaker),E.secondaryBookmaker&&i.push(E.secondaryBookmaker),E.tertiaryBookmaker&&i.push(E.tertiaryBookmaker),i}return a},O=function(e,r,a,E,i){var _=e.get(r[0]);if(!_)return{homeOdds:0,awayOdds:0,drawOdds:0,errorMessage:"Returning zero odds cause no matching bookmakers have been found"};var o=_.homeOdds,A=_.awayOdds,t=a?0:_.drawOdds;return r.some((function(r){var E=e.get(r);return!!E&&(0===E.homeOdds||0===E.awayOdds||!a&&0===E.drawOdds||1===E.homeOdds||1===E.awayOdds||!a&&1===E.drawOdds)}))?{homeOdds:0,awayOdds:0,drawOdds:0,errorMessage:"Returning zero odds cause bookmakers have 0 or 1 odds"}:1==r.length?{homeOdds:o,awayOdds:A,drawOdds:a?0:t}:r.slice(1).some((function(r){var _=e.get(r);if(_){var T=_.homeOdds,p=_.awayOdds,L=_.drawOdds,S=n("decimal",o).to("impliedProbability"),s=n("decimal",A).to("impliedProbability"),N=a?0:n("decimal",t).to("impliedProbability"),l=n("decimal",T).to("impliedProbability"),I=n("decimal",p).to("impliedProbability"),d=a?0:n("decimal",L).to("impliedProbability"),R=P(S,l),O=P(s,I),M=a?0:P(N,d);if(R>E&&S>i&&l>i||O>E&&s>i&&I>i||!a&&M>E&&N>i&&d>i)return!0}return!1}))?{homeOdds:0,awayOdds:0,drawOdds:0,errorMessage:"Returning zero odds due to percentage difference between bookmakers"}:{homeOdds:o,awayOdds:A,drawOdds:a?0:t}},P=function(e,r){return Math.abs(e-r)/e*100};!function(e){e.SOCCER="Soccer",e.FOOTBALL="Football",e.BASKETBALL="Basketball",e.BASEBALL="Baseball",e.HOCKEY="Hockey",e.FIGHTING="Fighting",e.TENNIS="Tennis",e.ESPORTS="eSports",e.RUGBY="Rugby",e.VOLLEYBALL="Volleyball",e.HANDBALL="Handball",e.WATERPOLO="Waterpolo",e.CRICKET="Cricket",e.MOTOSPORT="Motosport",e.GOLF="Golf",e.TABLE_TENNIS="TableTennis",e.POLITICS="Politics",e.FUTURES="Futures",e.EMPTY=""}(t||(t={})),function(e){e[e.NCAAF=1]="NCAAF",e[e.NFL=2]="NFL",e[e.MLB=3]="MLB",e[e.NBA=4]="NBA",e[e.NCAAB=5]="NCAAB",e[e.NHL=6]="NHL",e[e.UFC=7]="UFC",e[e.WNBA=8]="WNBA",e[e.MLS=10]="MLS",e[e.EPL=11]="EPL",e[e.LIGUE_ONE=12]="LIGUE_ONE",e[e.BUNDESLIGA=13]="BUNDESLIGA",e[e.LA_LIGA=14]="LA_LIGA",e[e.SERIE_A=15]="SERIE_A",e[e.UEFA_CL=16]="UEFA_CL",e[e.UEFA_EL=17]="UEFA_EL",e[e.FIFA_WC=18]="FIFA_WC",e[e.J1_LEAGUE=19]="J1_LEAGUE",e[e.IPL=20]="IPL",e[e.T20_BLAST=21]="T20_BLAST",e[e.IIHF_WORLD_CHAMPIONSHIP=33]="IIHF_WORLD_CHAMPIONSHIP",e[e.COPA_AMERICA=44]="COPA_AMERICA",e[e.COPA_LIBERTADORES=45]="COPA_LIBERTADORES",e[e.UEFA_EURO=50]="UEFA_EURO",e[e.EREDIVISIE=57]="EREDIVISIE",e[e.PRIMEIRA_LIGA=61]="PRIMEIRA_LIGA",e[e.SUMMER_OLYMPICS_SOCCER_WOMEN=65]="SUMMER_OLYMPICS_SOCCER_WOMEN",e[e.SUMMER_OLYMPICS_SOCCER=66]="SUMMER_OLYMPICS_SOCCER",e[e.FIFA_WC_WOMEN=76]="FIFA_WC_WOMEN",e[e.ENGLAND_FA_CUP=132]="ENGLAND_FA_CUP",e[e.FRANCE_CUP=134]="FRANCE_CUP",e[e.SPAIN_CUP=138]="SPAIN_CUP",e[e.ITALY_CUP=141]="ITALY_CUP",e[e.TENNIS_WTA=152]="TENNIS_WTA",e[e.TENNIS_GS=153]="TENNIS_GS",e[e.TENNIS_MASTERS=156]="TENNIS_MASTERS",e[e.SUMMER_OLYMPICS_TENNIS=158]="SUMMER_OLYMPICS_TENNIS",e[e.GERMANY_CUP=209]="GERMANY_CUP",e[e.LIGA_MX=230]="LIGA_MX",e[e.BRAZIL_1=268]="BRAZIL_1",e[e.UEFA_EURO_U21=288]="UEFA_EURO_U21",e[e.FIFA_WORLD_CUP_U20=296]="FIFA_WORLD_CUP_U20",e[e.SUMMER_OLYMPICS_HANDBALL_WOMEN=380]="SUMMER_OLYMPICS_HANDBALL_WOMEN",e[e.SUMMER_OLYMPICS_HANDBALL=381]="SUMMER_OLYMPICS_HANDBALL",e[e.EUROLEAGUE=399]="EUROLEAGUE",e[e.SUMMER_OLYMPICS_BASKETBALL=406]="SUMMER_OLYMPICS_BASKETBALL",e[e.SUMMER_OLYMPICS_BASKETBALL_WOMEN=407]="SUMMER_OLYMPICS_BASKETBALL_WOMEN",e[e.FIBA_WORLD_CUP=409]="FIBA_WORLD_CUP",e[e.FORMULA1=445]="FORMULA1",e[e.SUMMER_OLYMPICS_BEACH_VOLEYBALL_WOMEN=453]="SUMMER_OLYMPICS_BEACH_VOLEYBALL_WOMEN",e[e.SUMMER_OLYMPICS_BEACH_VOLEYBALL=454]="SUMMER_OLYMPICS_BEACH_VOLEYBALL",e[e.MOTOGP=497]="MOTOGP",e[e.SAUDI_PROFESSIONAL_LEAGUE=536]="SAUDI_PROFESSIONAL_LEAGUE",e[e.SUMMER_OLYMPICS_WATERPOLO=8881]="SUMMER_OLYMPICS_WATERPOLO",e[e.SUMMER_OLYMPICS_VOLEYBALL_WOMEN=8893]="SUMMER_OLYMPICS_VOLEYBALL_WOMEN",e[e.SUMMER_OLYMPICS_VOLEYBALL=8894]="SUMMER_OLYMPICS_VOLEYBALL",e[e.SUMMER_OLYMPICS_TABLE_TENNIS=8910]="SUMMER_OLYMPICS_TABLE_TENNIS",e[e.BOXING=9196]="BOXING",e[e.SUMMER_OLYMPICS_RUGBY=9578]="SUMMER_OLYMPICS_RUGBY",e[e.SUMMER_OLYMPICS_RUGBY_WOMEN=9588]="SUMMER_OLYMPICS_RUGBY_WOMEN",e[e.SUMMER_OLYMPICS_HOCKEY_WOMEN=9698]="SUMMER_OLYMPICS_HOCKEY_WOMEN",e[e.SUMMER_OLYMPICS_HOCKEY=9699]="SUMMER_OLYMPICS_HOCKEY",e[e.UEFA_NATIONS_LEAGUE=9806]="UEFA_NATIONS_LEAGUE",e[e.CONCACAF_NATIONS_LEAGUE=9821]="CONCACAF_NATIONS_LEAGUE",e[e.CSGO=9977]="CSGO",e[e.DOTA2=9983]="DOTA2",e[e.SUMMER_OLYMPICS_BASKETBALL_3X3=10071]="SUMMER_OLYMPICS_BASKETBALL_3X3",e[e.SUMMER_OLYMPICS_BASKETBALL_3X3_WOMEN=10072]="SUMMER_OLYMPICS_BASKETBALL_3X3_WOMEN",e[e.SUMMER_OLYMPICS_QUALIFICATION=10502]="SUMMER_OLYMPICS_QUALIFICATION",e[e.LOL=10138]="LOL",e[e.CONMEBOL_WC_QUALIFICATIONS=10199]="CONMEBOL_WC_QUALIFICATIONS",e[e.UEFA_CONFERENCE_LEAGUE=10216]="UEFA_CONFERENCE_LEAGUE",e[e.NON_TITLE_BOXING=10595]="NON_TITLE_BOXING",e[e.UEFA_CHAMPIONS_LEAGUE_QUALIFICATION=10611]="UEFA_CHAMPIONS_LEAGUE_QUALIFICATION",e[e.UEFA_EUROPA_LEAGUE_QUALIFICATION=10613]="UEFA_EUROPA_LEAGUE_QUALIFICATION",e[e.UEFA_CONFERENCE_LEAGUE_QUALIFICATION=10615]="UEFA_CONFERENCE_LEAGUE_QUALIFICATION",e[e.US_ELECTION=2e4]="US_ELECTION",e[e.UEFA_SUPER_CUP=20001]="UEFA_SUPER_CUP",e[e.BRAZIL_CUP=20002]="BRAZIL_CUP",e[e.ENGLAND_CHAMPIONSHIP=20011]="ENGLAND_CHAMPIONSHIP",e[e.SCOTLAND_PREMIERSHIP=20101]="SCOTLAND_PREMIERSHIP",e[e.BELGIUM_LEAGUE=20102]="BELGIUM_LEAGUE",e[e.CZECH_LEAGUE=20103]="CZECH_LEAGUE",e[e.CHILE_PRIMERA=20104]="CHILE_PRIMERA",e[e.FINLAND_LEAGUE=20105]="FINLAND_LEAGUE",e[e.ARGENTINA_PRIMERA=20106]="ARGENTINA_PRIMERA",e[e.RUSSIA_PREMIER=20107]="RUSSIA_PREMIER",e[e.TURKEY_SUPER_LEAGUE=20108]="TURKEY_SUPER_LEAGUE",e[e.SERBIA_SUPER_LEAGUE=20109]="SERBIA_SUPER_LEAGUE",e[e.GREECE_SUPER_LEAGUE=20110]="GREECE_SUPER_LEAGUE",e[e.INDIA_PREMIER=20111]="INDIA_PREMIER",e[e.CHINA_SUPER_LEAGUE=20112]="CHINA_SUPER_LEAGUE",e[e.AUSTRALIA_A_LEAGUE=20113]="AUSTRALIA_A_LEAGUE",e[e.SWITZERLAND_SUPER_LEAGUE=20114]="SWITZERLAND_SUPER_LEAGUE",e[e.BUNDESLIGA_2=20115]="BUNDESLIGA_2",e[e.LA_LIGA_2=20116]="LA_LIGA_2",e[e.SERIE_B=20117]="SERIE_B",e[e.INDIA_SUPER_LEAGUE=20118]="INDIA_SUPER_LEAGUE",e[e.LIGUE_2=20119]="LIGUE_2",e[e.AUSTRIA_BUNDESLIGA=20120]="AUSTRIA_BUNDESLIGA",e[e.DENMARK_SUPER_LEAGUE=20121]="DENMARK_SUPER_LEAGUE",e[e.POLAND_LEAGUE=20122]="POLAND_LEAGUE",e[e.SWEDEN_LEAGUE=20123]="SWEDEN_LEAGUE",e[e.COLOMBIA_PRIMERA_A=20124]="COLOMBIA_PRIMERA_A",e[e.ENGLAND_EFL_CUP=20125]="ENGLAND_EFL_CUP",e[e.ENGLAND_LEGAUE_1=20126]="ENGLAND_LEGAUE_1",e[e.URUGUAY_PRIMERA_DIVISION=20127]="URUGUAY_PRIMERA_DIVISION",e[e.AFC_CHAMPIONS_LEAGUE=20128]="AFC_CHAMPIONS_LEAGUE",e[e.ITALY_SUPER_CUP=20129]="ITALY_SUPER_CUP",e[e.FRANCE_SUPER_CUP=20130]="FRANCE_SUPER_CUP",e[e.SPAIN_SUPER_CUP=20131]="SPAIN_SUPER_CUP",e[e.GERMANY_SUPER_CUP=20132]="GERMANY_SUPER_CUP",e[e.PORTUGAL_LEAGUE_CUP=20133]="PORTUGAL_LEAGUE_CUP",e[e.THAILAND_LEAGUE_1=20134]="THAILAND_LEAGUE_1",e[e.NETHERLANDS_CUP=20135]="NETHERLANDS_CUP",e[e.PORTUGAL_CUP=20136]="PORTUGAL_CUP",e[e.EUROCUP=20200]="EUROCUP",e[e.SPAIN_LIGA_ACB=20201]="SPAIN_LIGA_ACB",e[e.ITALY_LEGA_BASKET_SERIE_A=20202]="ITALY_LEGA_BASKET_SERIE_A",e[e.GERMANY_BBL=20203]="GERMANY_BBL",e[e.FRANCE_LNB_PRO_A=20204]="FRANCE_LNB_PRO_A",e[e.CHINA_CBA=20205]="CHINA_CBA",e[e.AUSTRALIA_NBL=20206]="AUSTRALIA_NBL",e[e.VALORANT=20300]="VALORANT",e[e.ROCKET_LEAGUE=20301]="ROCKET_LEAGUE",e[e.CALL_OF_DUTY=20302]="CALL_OF_DUTY",e[e.STARCRAFT=20303]="STARCRAFT",e[e.NFL_FUTURES=30002]="NFL_FUTURES",e[e.NBA_FUTURES=30004]="NBA_FUTURES",e[e.NHL_FUTURES=30006]="NHL_FUTURES",e[e.EPL_FUTURES=30011]="EPL_FUTURES",e[e.LIGUE_ONE_FUTURES=30012]="LIGUE_ONE_FUTURES",e[e.BUNDESLIGA_FUTURES=30013]="BUNDESLIGA_FUTURES",e[e.LA_LIGA_FUTURES=30014]="LA_LIGA_FUTURES",e[e.SERIE_A_FUTURES=30015]="SERIE_A_FUTURES",e[e.UEFA_CHAMPIONS_LEAGUE_FUTURES=30016]="UEFA_CHAMPIONS_LEAGUE_FUTURES",e[e.ATP_FUTURES=30156]="ATP_FUTURES",e[e.EUROLEAGUE_FUTURES=30399]="EUROLEAGUE_FUTURES",e[e.GOLF_H2H=100021]="GOLF_H2H",e[e.GOLF_WINNER=100121]="GOLF_WINNER",e[e.TENNIS_ATP_GRAND_SLAM_LIVE_MAPPING_V2_0=15611]="TENNIS_ATP_GRAND_SLAM_LIVE_MAPPING_V2_0",e[e.TENNIS_ATP_GRAND_SLAM_LIVE_MAPPING_V2_1=15612]="TENNIS_ATP_GRAND_SLAM_LIVE_MAPPING_V2_1",e[e.TENNIS_ATP_GRAND_SLAM_LIVE_MAPPING_V2_2=15613]="TENNIS_ATP_GRAND_SLAM_LIVE_MAPPING_V2_2",e[e.TENNIS_ATP_GRAND_SLAM_LIVE_MAPPING_V2_3=15614]="TENNIS_ATP_GRAND_SLAM_LIVE_MAPPING_V2_3",e[e.TENNIS_ATP_GRAND_SLAM_LIVE_MAPPING_V2_4=15615]="TENNIS_ATP_GRAND_SLAM_LIVE_MAPPING_V2_4",e[e.TENNIS_ATP_GRAND_SLAM_LIVE_MAPPING_V2_5=15616]="TENNIS_ATP_GRAND_SLAM_LIVE_MAPPING_V2_5",e[e.TENNIS_ATP_GRAND_SLAM_LIVE_MAPPING_V2_6=15617]="TENNIS_ATP_GRAND_SLAM_LIVE_MAPPING_V2_6",e[e.TENNIS_ATP_GRAND_SLAM_LIVE_MAPPING_V2_7=15618]="TENNIS_ATP_GRAND_SLAM_LIVE_MAPPING_V2_7",e[e.TENNIS_WTA_GRAND_SLAM_LIVE_MAPPING_V2_0=15211]="TENNIS_WTA_GRAND_SLAM_LIVE_MAPPING_V2_0",e[e.TENNIS_WTA_GRAND_SLAM_LIVE_MAPPING_V2_1=15212]="TENNIS_WTA_GRAND_SLAM_LIVE_MAPPING_V2_1",e[e.TENNIS_WTA_GRAND_SLAM_LIVE_MAPPING_V2_2=15213]="TENNIS_WTA_GRAND_SLAM_LIVE_MAPPING_V2_2",e[e.TENNIS_WTA_GRAND_SLAM_LIVE_MAPPING_V2_3=15214]="TENNIS_WTA_GRAND_SLAM_LIVE_MAPPING_V2_3",e[e.TENNIS_WTA_GRAND_SLAM_LIVE_MAPPING_V2_4=15215]="TENNIS_WTA_GRAND_SLAM_LIVE_MAPPING_V2_4",e[e.TENNIS_WTA_GRAND_SLAM_LIVE_MAPPING_V2_5=15216]="TENNIS_WTA_GRAND_SLAM_LIVE_MAPPING_V2_5",e[e.TENNIS_WTA_GRAND_SLAM_LIVE_MAPPING_V2_6=15217]="TENNIS_WTA_GRAND_SLAM_LIVE_MAPPING_V2_6",e[e.TENNIS_WTA_GRAND_SLAM_LIVE_MAPPING_V2_7=15218]="TENNIS_WTA_GRAND_SLAM_LIVE_MAPPING_V2_7",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_1=15622]="TENNIS_MASTERS_LIVE_MAPPING_V2_1",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_2=15623]="TENNIS_MASTERS_LIVE_MAPPING_V2_2",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_3=15624]="TENNIS_MASTERS_LIVE_MAPPING_V2_3",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_4=15625]="TENNIS_MASTERS_LIVE_MAPPING_V2_4",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_5=15626]="TENNIS_MASTERS_LIVE_MAPPING_V2_5",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_6=15627]="TENNIS_MASTERS_LIVE_MAPPING_V2_6",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_7=15628]="TENNIS_MASTERS_LIVE_MAPPING_V2_7",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_8=15632]="TENNIS_MASTERS_LIVE_MAPPING_V2_8",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_9=15633]="TENNIS_MASTERS_LIVE_MAPPING_V2_9",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_10=15634]="TENNIS_MASTERS_LIVE_MAPPING_V2_10",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_11=15635]="TENNIS_MASTERS_LIVE_MAPPING_V2_11",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_12=15636]="TENNIS_MASTERS_LIVE_MAPPING_V2_12",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_13=15637]="TENNIS_MASTERS_LIVE_MAPPING_V2_13",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_14=15638]="TENNIS_MASTERS_LIVE_MAPPING_V2_14",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_15=15641]="TENNIS_MASTERS_LIVE_MAPPING_V2_15",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_16=15642]="TENNIS_MASTERS_LIVE_MAPPING_V2_16",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_17=15643]="TENNIS_MASTERS_LIVE_MAPPING_V2_17",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_18=15644]="TENNIS_MASTERS_LIVE_MAPPING_V2_18",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_19=15645]="TENNIS_MASTERS_LIVE_MAPPING_V2_19",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_20=15646]="TENNIS_MASTERS_LIVE_MAPPING_V2_20",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_21=15647]="TENNIS_MASTERS_LIVE_MAPPING_V2_21",e[e.TENNIS_MASTERS_LIVE_MAPPING_V2_22=15648]="TENNIS_MASTERS_LIVE_MAPPING_V2_22",e[e.TENNIS_WTA_LIVE_MAPPING_V2_1=15222]="TENNIS_WTA_LIVE_MAPPING_V2_1",e[e.TENNIS_WTA_LIVE_MAPPING_V2_2=15223]="TENNIS_WTA_LIVE_MAPPING_V2_2",e[e.TENNIS_WTA_LIVE_MAPPING_V2_3=15224]="TENNIS_WTA_LIVE_MAPPING_V2_3",e[e.TENNIS_WTA_LIVE_MAPPING_V2_4=15225]="TENNIS_WTA_LIVE_MAPPING_V2_4",e[e.TENNIS_WTA_LIVE_MAPPING_V2_5=15226]="TENNIS_WTA_LIVE_MAPPING_V2_5",e[e.TENNIS_WTA_LIVE_MAPPING_V2_6=15227]="TENNIS_WTA_LIVE_MAPPING_V2_6",e[e.TENNIS_WTA_LIVE_MAPPING_V2_7=15228]="TENNIS_WTA_LIVE_MAPPING_V2_7",e[e.TENNIS_WTA_LIVE_MAPPING_V2_8=15231]="TENNIS_WTA_LIVE_MAPPING_V2_8",e[e.TENNIS_WTA_LIVE_MAPPING_V2_9=15232]="TENNIS_WTA_LIVE_MAPPING_V2_9",e[e.TENNIS_WTA_LIVE_MAPPING_V2_10=15233]="TENNIS_WTA_LIVE_MAPPING_V2_10",e[e.TENNIS_WTA_LIVE_MAPPING_V2_11=15234]="TENNIS_WTA_LIVE_MAPPING_V2_11",e[e.TENNIS_WTA_LIVE_MAPPING_V2_12=15235]="TENNIS_WTA_LIVE_MAPPING_V2_12",e[e.TENNIS_WTA_LIVE_MAPPING_V2_13=15236]="TENNIS_WTA_LIVE_MAPPING_V2_13",e[e.TENNIS_WTA_LIVE_MAPPING_V2_14=15237]="TENNIS_WTA_LIVE_MAPPING_V2_14",e[e.TENNIS_WTA_LIVE_MAPPING_V2_15=15238]="TENNIS_WTA_LIVE_MAPPING_V2_15",e[e.TENNIS_WTA_LIVE_MAPPING_V2_16=15241]="TENNIS_WTA_LIVE_MAPPING_V2_16",e[e.TENNIS_WTA_LIVE_MAPPING_V2_17=15242]="TENNIS_WTA_LIVE_MAPPING_V2_17",e[e.TENNIS_WTA_LIVE_MAPPING_V2_18=15243]="TENNIS_WTA_LIVE_MAPPING_V2_18",e[e.TENNIS_WTA_LIVE_MAPPING_V2_19=15244]="TENNIS_WTA_LIVE_MAPPING_V2_19",e[e.TENNIS_WTA_LIVE_MAPPING_V2_20=15245]="TENNIS_WTA_LIVE_MAPPING_V2_20",e[e.TENNIS_WTA_LIVE_MAPPING_V2_21=15246]="TENNIS_WTA_LIVE_MAPPING_V2_21",e[e.TENNIS_WTA_LIVE_MAPPING_V2_22=15247]="TENNIS_WTA_LIVE_MAPPING_V2_22",e[e.TENNIS_WTA_LIVE_MAPPING_V2_23=15248]="TENNIS_WTA_LIVE_MAPPING_V2_23"}(T||(T={})),function(e){e.MONEYLINE="Moneyline"}(p||(p={})),function(e){e.ASIAN_HANDICAP="Asian Handicap",e.GAME_SPREAD="Game Spread",e.POINT_SPREAD="Point Spread",e.GOAL_SPREAD="Goal Spread",e.RUN_LINE="Run Line",e.PUCK_LINE="Puck Line"}(L||(L={})),function(e){e.TOTAL_GAMES="Total Games",e.TOTAL_GOALS="Total Goals",e.TOTAL_POINTS="Total Points",e.TOTAL_RUNS="Total Runs"}(S||(S={})),function(e){e.POINTS="points",e.GOALS="goals",e.ROUNDS="rounds",e.SETS="sets",e.MAPS="maps",e.EMPTY=""}(s||(s={})),function(e){e.OVERTIME="overtime",e.REGULAR="regular",e.EMPTY=""}(N||(N={})),function(e){e.QUARTER="quarter",e.HALF="half",e.PERIOD="period",e.ROUND="round",e.INNING="inning",e.SET="set",e.MAP="map",e.EMPTY=""}(l||(l={})),function(e){e.RUNDOWN="rundown",e.ENETPULSE="enetpulse",e.JSONODDS="jsonOdds",e.OPTICODDS="opticOdds",e.EMPTY=""}(I||(I={}));var M=((d={})[T.NCAAF]={sport:t.FOOTBALL,id:T.NCAAF,label:"NCAA Football",opticOddsName:"NCAAF",provider:I.OPTICODDS,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:l.QUARTER,isDrawAvailable:!1},d[T.NFL]={sport:t.FOOTBALL,id:T.NFL,label:"NFL",opticOddsName:"NFL",provider:I.OPTICODDS,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:l.QUARTER,isDrawAvailable:!1},d[T.MLB]={sport:t.BASEBALL,id:T.MLB,label:"MLB",opticOddsName:"MLB",provider:I.OPTICODDS,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:l.INNING,isDrawAvailable:!1},d[T.NBA]={sport:t.BASKETBALL,id:T.NBA,label:"NBA",opticOddsName:"NBA",provider:I.OPTICODDS,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:l.QUARTER,isDrawAvailable:!1},d[T.NCAAB]={sport:t.BASKETBALL,id:T.NCAAB,label:"NCAA Basketball",opticOddsName:"NCAAB",provider:I.OPTICODDS,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:l.QUARTER,isDrawAvailable:!1},d[T.NHL]={sport:t.HOCKEY,id:T.NHL,label:"NHL",opticOddsName:"NHL",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.OVERTIME,periodType:l.PERIOD,isDrawAvailable:!1},d[T.UFC]={sport:t.FIGHTING,id:T.UFC,label:"UFC",provider:I.OPTICODDS,scoringType:s.ROUNDS,matchResolveType:N.EMPTY,periodType:l.ROUND,isDrawAvailable:!1},d[T.WNBA]={sport:t.BASKETBALL,id:T.WNBA,label:"WNBA",opticOddsName:"WNBA",provider:I.OPTICODDS,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:l.QUARTER,isDrawAvailable:!1},d[T.MLS]={sport:t.SOCCER,id:T.MLS,label:"MLS",opticOddsName:"USA - Major League Soccer",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.EPL]={sport:t.SOCCER,id:T.EPL,label:"EPL",opticOddsName:"England - Premier League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.LIGUE_ONE]={sport:t.SOCCER,id:T.LIGUE_ONE,label:"Ligue 1",opticOddsName:"France - Ligue 1",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.BUNDESLIGA]={sport:t.SOCCER,id:T.BUNDESLIGA,label:"Bundesliga",opticOddsName:"Germany - Bundesliga",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.LA_LIGA]={sport:t.SOCCER,id:T.LA_LIGA,label:"La Liga",opticOddsName:"Spain - La Liga",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.SERIE_A]={sport:t.SOCCER,id:T.SERIE_A,label:"Serie A",opticOddsName:"Italy - Serie A",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.UEFA_CL]={sport:t.SOCCER,id:T.UEFA_CL,label:"UEFA Champions League",opticOddsName:"UEFA - Champions League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.UEFA_EL]={sport:t.SOCCER,id:T.UEFA_EL,label:"UEFA Europa League",opticOddsName:"UEFA - Europa League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.FIFA_WC]={sport:t.SOCCER,id:T.FIFA_WC,label:"FIFA World Cup Qualifiers",provider:I.OPTICODDS,opticOddsName:"FIFA - World Cup Qualifiers",scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.J1_LEAGUE]={sport:t.SOCCER,id:T.J1_LEAGUE,label:"J1 League",opticOddsName:"Japan - J1 League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.IPL]={sport:t.CRICKET,id:T.IPL,label:"Indian Premier League",provider:I.EMPTY,scoringType:s.POINTS,matchResolveType:N.EMPTY,periodType:l.INNING,isDrawAvailable:!1},d[T.T20_BLAST]={sport:t.CRICKET,id:T.T20_BLAST,label:"T20 Blast",provider:I.EMPTY,scoringType:s.POINTS,matchResolveType:N.EMPTY,periodType:l.INNING,isDrawAvailable:!1},d[T.IIHF_WORLD_CHAMPIONSHIP]={sport:t.HOCKEY,id:T.IIHF_WORLD_CHAMPIONSHIP,label:"IIHF World Championship",provider:I.EMPTY,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.PERIOD,isDrawAvailable:!0},d[T.COPA_AMERICA]={sport:t.SOCCER,id:T.COPA_AMERICA,label:"Copa America",opticOddsName:"CONMEBOL - Copa America",provider:I.EMPTY,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.COPA_LIBERTADORES]={sport:t.SOCCER,id:T.COPA_LIBERTADORES,label:"Copa Libertadores",opticOddsName:"CONMEBOL - Copa Libertadores",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.UEFA_EURO]={sport:t.SOCCER,id:T.UEFA_EURO,label:"UEFA EURO 2024",opticOddsName:"UEFA - European Championship",provider:I.EMPTY,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.EREDIVISIE]={sport:t.SOCCER,id:T.EREDIVISIE,label:"Eredivisie",opticOddsName:"Netherlands - Eredivisie",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.PRIMEIRA_LIGA]={sport:t.SOCCER,id:T.PRIMEIRA_LIGA,label:"Primeira Liga",opticOddsName:"Portugal - Primeira Liga",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.SUMMER_OLYMPICS_SOCCER_WOMEN]={sport:t.SOCCER,id:T.SUMMER_OLYMPICS_SOCCER_WOMEN,label:"Olympic Games Soccer Women",opticOddsName:"Olympics Soccer Women",provider:I.EMPTY,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.SUMMER_OLYMPICS_SOCCER]={sport:t.SOCCER,id:T.SUMMER_OLYMPICS_SOCCER,label:"Olympic Games Soccer",opticOddsName:"Olympics Soccer Men",provider:I.EMPTY,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.FIFA_WC_WOMEN]={sport:t.SOCCER,id:T.FIFA_WC_WOMEN,label:"FIFA World Cup Women",provider:I.EMPTY,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.ENGLAND_FA_CUP]={sport:t.SOCCER,id:T.ENGLAND_FA_CUP,label:"FA Cup",opticOddsName:"England - FA Cup",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.FRANCE_CUP]={sport:t.SOCCER,id:T.FRANCE_CUP,label:"Coupe de France",opticOddsName:"France - Coupe de France",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.SPAIN_CUP]={sport:t.SOCCER,id:T.SPAIN_CUP,label:"Copa del Rey",opticOddsName:"Spain - Copa del Rey",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.ITALY_CUP]={sport:t.SOCCER,id:T.ITALY_CUP,label:"Coppa Italia",opticOddsName:"Italy - Coppa Italia",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.TENNIS_WTA]={sport:t.TENNIS,id:T.TENNIS_WTA,label:"WTA Events",opticOddsName:"WTA",provider:I.OPTICODDS,scoringType:s.SETS,matchResolveType:N.REGULAR,periodType:l.SET,isDrawAvailable:!1},d[T.TENNIS_GS]={sport:t.TENNIS,id:T.TENNIS_GS,label:"Grand Slam",opticOddsName:"ATP,WTA",provider:I.EMPTY,scoringType:s.SETS,matchResolveType:N.REGULAR,periodType:l.SET,isDrawAvailable:!1},d[T.TENNIS_MASTERS]={sport:t.TENNIS,id:T.TENNIS_MASTERS,label:"ATP Events",opticOddsName:"ATP",provider:I.OPTICODDS,scoringType:s.SETS,matchResolveType:N.REGULAR,periodType:l.SET,isDrawAvailable:!1},d[T.SUMMER_OLYMPICS_TENNIS]={sport:t.TENNIS,id:T.SUMMER_OLYMPICS_TENNIS,label:"Olympic Games Tennis",provider:I.EMPTY,scoringType:s.SETS,matchResolveType:N.REGULAR,periodType:l.SET,isDrawAvailable:!1},d[T.GERMANY_CUP]={sport:t.SOCCER,id:T.GERMANY_CUP,label:"DFB Pokal",opticOddsName:"Germany - DFB Pokal",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.LIGA_MX]={sport:t.SOCCER,id:T.LIGA_MX,label:"Liga MX",opticOddsName:"Mexico - Liga MX",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.BRAZIL_1]={sport:t.SOCCER,id:T.BRAZIL_1,label:"Serie A",opticOddsName:"Brazil - Serie A",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.UEFA_EURO_U21]={sport:t.SOCCER,id:T.UEFA_EURO_U21,label:"UEFA EURO U21",provider:I.EMPTY,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.FIFA_WORLD_CUP_U20]={sport:t.SOCCER,id:T.FIFA_WORLD_CUP_U20,label:"FIFA World Cup U20",provider:I.EMPTY,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.SUMMER_OLYMPICS_HANDBALL_WOMEN]={sport:t.HANDBALL,id:T.SUMMER_OLYMPICS_HANDBALL_WOMEN,label:"Olympic Games Handball Women",opticOddsName:"Olympics Handball Women",provider:I.EMPTY,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.SUMMER_OLYMPICS_HANDBALL]={sport:t.HANDBALL,id:T.SUMMER_OLYMPICS_HANDBALL,label:"Olympic Games Handball",opticOddsName:"Olympics Handball Men",provider:I.EMPTY,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.EUROLEAGUE]={sport:t.BASKETBALL,id:T.EUROLEAGUE,label:"Euroleague",opticOddsName:"Euroleague",provider:I.OPTICODDS,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:l.QUARTER,isDrawAvailable:!1},d[T.SUMMER_OLYMPICS_BASKETBALL]={sport:t.BASKETBALL,id:T.SUMMER_OLYMPICS_BASKETBALL,label:"Olympic Games Basketball",opticOddsName:"Olympics Basketball Men",provider:I.EMPTY,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:l.QUARTER,isDrawAvailable:!1},d[T.SUMMER_OLYMPICS_BASKETBALL_WOMEN]={sport:t.BASKETBALL,id:T.SUMMER_OLYMPICS_BASKETBALL_WOMEN,label:"Olympic Games Basketball Women",opticOddsName:"Olympics Basketball Women",provider:I.EMPTY,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:l.QUARTER,isDrawAvailable:!1},d[T.FIBA_WORLD_CUP]={sport:t.BASKETBALL,id:T.FIBA_WORLD_CUP,label:"FIBA World Cup",provider:I.EMPTY,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:l.QUARTER,isDrawAvailable:!1},d[T.FORMULA1]={sport:t.MOTOSPORT,id:T.FORMULA1,label:"Formula 1",provider:I.EMPTY,scoringType:s.EMPTY,matchResolveType:N.EMPTY,periodType:l.EMPTY,isDrawAvailable:!1},d[T.SUMMER_OLYMPICS_BEACH_VOLEYBALL_WOMEN]={sport:t.VOLLEYBALL,id:T.SUMMER_OLYMPICS_BEACH_VOLEYBALL_WOMEN,label:"Olympic Games Beach Voleyball Women",provider:I.EMPTY,scoringType:s.SETS,matchResolveType:N.REGULAR,periodType:l.SET,isDrawAvailable:!1},d[T.SUMMER_OLYMPICS_BEACH_VOLEYBALL]={sport:t.VOLLEYBALL,id:T.SUMMER_OLYMPICS_BEACH_VOLEYBALL,label:"Olympic Games Beach Voleyball",provider:I.EMPTY,scoringType:s.SETS,matchResolveType:N.REGULAR,periodType:l.SET,isDrawAvailable:!1},d[T.SUMMER_OLYMPICS_TABLE_TENNIS]={sport:t.TABLE_TENNIS,id:T.SUMMER_OLYMPICS_TABLE_TENNIS,label:"Olympic Games Table Tennis",provider:I.EMPTY,scoringType:s.SETS,matchResolveType:N.REGULAR,periodType:l.SET,isDrawAvailable:!1},d[T.MOTOGP]={sport:t.MOTOSPORT,id:T.MOTOGP,label:"MotoGP",provider:I.EMPTY,scoringType:s.EMPTY,matchResolveType:N.EMPTY,periodType:l.EMPTY,isDrawAvailable:!1},d[T.SAUDI_PROFESSIONAL_LEAGUE]={sport:t.SOCCER,id:T.SAUDI_PROFESSIONAL_LEAGUE,label:"Saudi Professional League",opticOddsName:"Saudi Arabia - Saudi League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.SUMMER_OLYMPICS_WATERPOLO]={sport:t.WATERPOLO,id:T.SUMMER_OLYMPICS_WATERPOLO,label:"Olympic Games Water Polo",opticOddsName:"Olympics Water Polo",provider:I.EMPTY,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.QUARTER,isDrawAvailable:!0},d[T.SUMMER_OLYMPICS_VOLEYBALL_WOMEN]={sport:t.VOLLEYBALL,id:T.SUMMER_OLYMPICS_VOLEYBALL_WOMEN,label:"Olympic Games Volleyball Women",opticOddsName:"Olympics Volleyball Women",provider:I.EMPTY,scoringType:s.SETS,matchResolveType:N.REGULAR,periodType:l.SET,isDrawAvailable:!1},d[T.SUMMER_OLYMPICS_VOLEYBALL]={sport:t.VOLLEYBALL,id:T.SUMMER_OLYMPICS_VOLEYBALL,label:"Olympic Games Volleyball",opticOddsName:"Olympics Volleyball Men",provider:I.EMPTY,scoringType:s.SETS,matchResolveType:N.REGULAR,periodType:l.SET,isDrawAvailable:!1},d[T.BOXING]={sport:t.FIGHTING,id:T.BOXING,label:"Boxing",provider:I.EMPTY,scoringType:s.ROUNDS,matchResolveType:N.EMPTY,periodType:l.ROUND,isDrawAvailable:!1},d[T.SUMMER_OLYMPICS_RUGBY]={sport:t.RUGBY,id:T.SUMMER_OLYMPICS_RUGBY,label:"Olympic Games Rugby",opticOddsName:"Olympics Rugby 7s Men",provider:I.EMPTY,scoringType:s.POINTS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.SUMMER_OLYMPICS_RUGBY_WOMEN]={sport:t.RUGBY,id:T.SUMMER_OLYMPICS_RUGBY_WOMEN,label:"Olympic Games Rugby Women",opticOddsName:"Olympics Rugby 7s Women",provider:I.EMPTY,scoringType:s.POINTS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.SUMMER_OLYMPICS_HOCKEY_WOMEN]={sport:t.HOCKEY,id:T.SUMMER_OLYMPICS_HOCKEY_WOMEN,label:"Olympic Games Hockey Women",provider:I.EMPTY,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.PERIOD,isDrawAvailable:!0},d[T.SUMMER_OLYMPICS_HOCKEY]={sport:t.HOCKEY,id:T.SUMMER_OLYMPICS_HOCKEY,label:"Olympic Games Hockey",provider:I.EMPTY,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.PERIOD,isDrawAvailable:!0},d[T.UEFA_NATIONS_LEAGUE]={sport:t.SOCCER,id:T.UEFA_NATIONS_LEAGUE,label:"UEFA Nations League",provider:I.OPTICODDS,opticOddsName:"UEFA - Nations League",scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.CONCACAF_NATIONS_LEAGUE]={sport:t.SOCCER,id:T.CONCACAF_NATIONS_LEAGUE,label:"CONCACAF Nations League",provider:I.EMPTY,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.CSGO]={sport:t.ESPORTS,id:T.CSGO,label:"CS GO",opticOddsName:"CS2",provider:I.OPTICODDS,scoringType:s.MAPS,matchResolveType:N.EMPTY,periodType:l.MAP,isDrawAvailable:!1},d[T.DOTA2]={sport:t.ESPORTS,id:T.DOTA2,label:"DOTA 2",opticOddsName:"Dota 2",provider:I.OPTICODDS,scoringType:s.MAPS,matchResolveType:N.EMPTY,periodType:l.MAP,isDrawAvailable:!1},d[T.SUMMER_OLYMPICS_BASKETBALL_3X3]={sport:t.BASKETBALL,id:T.SUMMER_OLYMPICS_BASKETBALL_3X3,label:"Olympic Games Basketball 3x3",opticOddsName:"Olympics Basketball 3x3 Men",provider:I.EMPTY,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:l.QUARTER,isDrawAvailable:!1},d[T.SUMMER_OLYMPICS_BASKETBALL_3X3_WOMEN]={sport:t.BASKETBALL,id:T.SUMMER_OLYMPICS_BASKETBALL_3X3_WOMEN,label:"Olympic Games Basketball 3x3 Women",opticOddsName:"Olympics Basketball 3x3 Women",provider:I.EMPTY,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:l.QUARTER,isDrawAvailable:!1},d[T.SUMMER_OLYMPICS_QUALIFICATION]={sport:t.BASKETBALL,id:T.SUMMER_OLYMPICS_QUALIFICATION,label:"Summer Olympics Basketball Qualification",provider:I.EMPTY,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:l.QUARTER,isDrawAvailable:!1},d[T.LOL]={sport:t.ESPORTS,id:T.LOL,label:"LOL",opticOddsName:"League of Legends",provider:I.OPTICODDS,scoringType:s.MAPS,matchResolveType:N.EMPTY,periodType:l.MAP,isDrawAvailable:!1},d[T.CONMEBOL_WC_QUALIFICATIONS]={sport:t.SOCCER,id:T.CONMEBOL_WC_QUALIFICATIONS,label:"CONMEBOL WC Qualification",provider:I.EMPTY,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.UEFA_CONFERENCE_LEAGUE]={sport:t.SOCCER,id:T.UEFA_CONFERENCE_LEAGUE,label:"UEFA Conference League",opticOddsName:"UEFA - Europa Conference League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.NON_TITLE_BOXING]={sport:t.FIGHTING,id:T.NON_TITLE_BOXING,label:"Boxing",provider:I.EMPTY,scoringType:s.ROUNDS,matchResolveType:N.EMPTY,periodType:l.ROUND,isDrawAvailable:!1},d[T.UEFA_CHAMPIONS_LEAGUE_QUALIFICATION]={sport:t.SOCCER,id:T.UEFA_CHAMPIONS_LEAGUE_QUALIFICATION,label:"UEFA Champions League Qualification",opticOddsName:"UEFA - Champions League",provider:I.EMPTY,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.UEFA_EUROPA_LEAGUE_QUALIFICATION]={sport:t.SOCCER,id:T.UEFA_EUROPA_LEAGUE_QUALIFICATION,label:"UEFA Europa League Qualification",opticOddsName:"UEFA - Europa League",provider:I.EMPTY,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.UEFA_CONFERENCE_LEAGUE_QUALIFICATION]={sport:t.SOCCER,id:T.UEFA_CONFERENCE_LEAGUE_QUALIFICATION,label:"UEFA Conference League Qualification",opticOddsName:"UEFA - Europa Conference League",provider:I.EMPTY,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.US_ELECTION]={sport:t.POLITICS,id:T.US_ELECTION,label:"US Election 2024",provider:I.EMPTY,scoringType:s.EMPTY,matchResolveType:N.EMPTY,periodType:l.EMPTY,isDrawAvailable:!1},d[T.UEFA_SUPER_CUP]={sport:t.SOCCER,id:T.UEFA_SUPER_CUP,label:"UEFA Super Cup",opticOddsName:"UEFA - Super Cup",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.BRAZIL_CUP]={sport:t.SOCCER,id:T.BRAZIL_CUP,label:"Copa do Brasil",opticOddsName:"Brazil - Copa do Brasil",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.ENGLAND_CHAMPIONSHIP]={sport:t.SOCCER,id:T.ENGLAND_CHAMPIONSHIP,label:"EFL Championship",opticOddsName:"England - Championship",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.SCOTLAND_PREMIERSHIP]={sport:t.SOCCER,id:T.SCOTLAND_PREMIERSHIP,label:"Scotland Premiership",opticOddsName:"Scotland - Premiership",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.BELGIUM_LEAGUE]={sport:t.SOCCER,id:T.BELGIUM_LEAGUE,label:"Belgium Jupiler Pro League",opticOddsName:"Belgium - Jupiler Pro League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.CZECH_LEAGUE]={sport:t.SOCCER,id:T.CZECH_LEAGUE,label:"Czech Republic FNL",opticOddsName:"Czech Republic - FNL",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.CHILE_PRIMERA]={sport:t.SOCCER,id:T.CHILE_PRIMERA,label:"Chile Primera Division",opticOddsName:"Chile - Primera Division",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.FINLAND_LEAGUE]={sport:t.SOCCER,id:T.FINLAND_LEAGUE,label:"Finland Veikkausliiga",opticOddsName:"Finland - Veikkausliiga",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.ARGENTINA_PRIMERA]={sport:t.SOCCER,id:T.ARGENTINA_PRIMERA,label:"Argentina Primera Division",opticOddsName:"Argentina - Primera Division",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.RUSSIA_PREMIER]={sport:t.SOCCER,id:T.RUSSIA_PREMIER,label:"Russia Premier League",opticOddsName:"Russia - Premier League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.TURKEY_SUPER_LEAGUE]={sport:t.SOCCER,id:T.TURKEY_SUPER_LEAGUE,label:"Turkey Super Lig",opticOddsName:"Turkey - Super Lig",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.SERBIA_SUPER_LEAGUE]={sport:t.SOCCER,id:T.SERBIA_SUPER_LEAGUE,label:"Serbia Super Liga",opticOddsName:"Serbia - Super Liga",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.GREECE_SUPER_LEAGUE]={sport:t.SOCCER,id:T.GREECE_SUPER_LEAGUE,label:"Greece Super League",opticOddsName:"Greece - Super League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.INDIA_PREMIER]={sport:t.SOCCER,id:T.INDIA_PREMIER,label:"India Calcutta Premier Division",opticOddsName:"India - Calcutta Premier Division",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.CHINA_SUPER_LEAGUE]={sport:t.SOCCER,id:T.CHINA_SUPER_LEAGUE,label:"China Super League",opticOddsName:"China - Super League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.AUSTRALIA_A_LEAGUE]={sport:t.SOCCER,id:T.AUSTRALIA_A_LEAGUE,label:"Australia A-League",opticOddsName:"Australia - A-League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.SWITZERLAND_SUPER_LEAGUE]={sport:t.SOCCER,id:T.SWITZERLAND_SUPER_LEAGUE,label:"Switzerland Super League",opticOddsName:"Switzerland - Super League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.BUNDESLIGA_2]={sport:t.SOCCER,id:T.BUNDESLIGA_2,label:"Bundesliga 2",opticOddsName:"Germany - Bundesliga 2",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.LA_LIGA_2]={sport:t.SOCCER,id:T.LA_LIGA_2,label:"La Liga 2",opticOddsName:"Spain - La Liga 2",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.SERIE_B]={sport:t.SOCCER,id:T.SERIE_B,label:"Serie B",opticOddsName:"Italy - Serie B",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.INDIA_SUPER_LEAGUE]={sport:t.SOCCER,id:T.INDIA_SUPER_LEAGUE,label:"India Super League",opticOddsName:"India - Super League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.LIGUE_2]={sport:t.SOCCER,id:T.LIGUE_2,label:"Ligue 2",opticOddsName:"France - Ligue 2",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.AUSTRIA_BUNDESLIGA]={sport:t.SOCCER,id:T.AUSTRIA_BUNDESLIGA,label:"Austria Bundesliga",opticOddsName:"Austria - Bundesliga",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.DENMARK_SUPER_LEAGUE]={sport:t.SOCCER,id:T.DENMARK_SUPER_LEAGUE,label:"Denmark Superliga",opticOddsName:"Denmark - Superliga",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.POLAND_LEAGUE]={sport:t.SOCCER,id:T.POLAND_LEAGUE,label:"Poland Ekstraklasa",opticOddsName:"Poland - Ekstraklasa",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.SWEDEN_LEAGUE]={sport:t.SOCCER,id:T.SWEDEN_LEAGUE,label:"Sweden Allsvenskan",opticOddsName:"Sweden - Allsvenskan",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.COLOMBIA_PRIMERA_A]={sport:t.SOCCER,id:T.COLOMBIA_PRIMERA_A,label:"Colombia Primera A",opticOddsName:"Colombia - Primera A",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.ENGLAND_EFL_CUP]={sport:t.SOCCER,id:T.ENGLAND_EFL_CUP,label:"England EFL Cup",opticOddsName:"England - EFL Cup",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.ENGLAND_LEGAUE_1]={sport:t.SOCCER,id:T.ENGLAND_LEGAUE_1,label:"England League 1",opticOddsName:"England - League 1",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.URUGUAY_PRIMERA_DIVISION]={sport:t.SOCCER,id:T.URUGUAY_PRIMERA_DIVISION,label:"Uruguay Primera Division",opticOddsName:"Uruguay - Primera Division",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.AFC_CHAMPIONS_LEAGUE]={sport:t.SOCCER,id:T.AFC_CHAMPIONS_LEAGUE,label:"AFC Champions League",opticOddsName:"AFC - Champions League",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.ITALY_SUPER_CUP]={sport:t.SOCCER,id:T.ITALY_SUPER_CUP,label:"Italy Super Cup",opticOddsName:"Italy - Supercoppa",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.FRANCE_SUPER_CUP]={sport:t.SOCCER,id:T.FRANCE_SUPER_CUP,label:"France Super Cup",opticOddsName:"France - Super Cup",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.SPAIN_SUPER_CUP]={sport:t.SOCCER,id:T.SPAIN_SUPER_CUP,label:"Spain Super Cup",opticOddsName:"Spain - Supercopa",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.GERMANY_SUPER_CUP]={sport:t.SOCCER,id:T.GERMANY_SUPER_CUP,label:"Germany Super Cup",opticOddsName:"Germany - Super Cup",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.PORTUGAL_LEAGUE_CUP]={sport:t.SOCCER,id:T.PORTUGAL_LEAGUE_CUP,label:"Portugal League Cup",opticOddsName:"Portugal - League Cup",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.THAILAND_LEAGUE_1]={sport:t.SOCCER,id:T.THAILAND_LEAGUE_1,label:"Thai League 1",opticOddsName:"Thailand - Thai League 1",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.NETHERLANDS_CUP]={sport:t.SOCCER,id:T.NETHERLANDS_CUP,label:"Netherlands KNVB Beker",opticOddsName:"Netherlands - KNVB Beker",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.PORTUGAL_CUP]={sport:t.SOCCER,id:T.PORTUGAL_CUP,label:"Taca de Portugal",opticOddsName:"Portugal - Taca de Portugal",provider:I.OPTICODDS,scoringType:s.GOALS,matchResolveType:N.REGULAR,periodType:l.HALF,isDrawAvailable:!0},d[T.EUROCUP]={sport:t.BASKETBALL,id:T.EUROCUP,label:"Eurocup",opticOddsName:"Eurocup",provider:I.OPTICODDS,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:l.QUARTER,isDrawAvailable:!1},d[T.SPAIN_LIGA_ACB]={sport:t.BASKETBALL,id:T.SPAIN_LIGA_ACB,label:"Spain Liga ACB",opticOddsName:"Spain - Liga ACB",provider:I.OPTICODDS,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:l.QUARTER,isDrawAvailable:!1},d[T.ITALY_LEGA_BASKET_SERIE_A]={sport:t.BASKETBALL,id:T.ITALY_LEGA_BASKET_SERIE_A,label:"Italy Lega Basket Serie A",opticOddsName:"Italy - Lega Basket Serie A",provider:I.OPTICODDS,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:l.QUARTER,isDrawAvailable:!1},d[T.GERMANY_BBL]={sport:t.BASKETBALL,id:T.GERMANY_BBL,label:"Germany BBL",opticOddsName:"Germany - BBL",provider:I.OPTICODDS,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:l.QUARTER,isDrawAvailable:!1},d[T.FRANCE_LNB_PRO_A]={sport:t.BASKETBALL,id:T.FRANCE_LNB_PRO_A,label:"France LNB Pro A",opticOddsName:"France - LNB Pro A",provider:I.OPTICODDS,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:l.QUARTER,isDrawAvailable:!1},d[T.CHINA_CBA]={sport:t.BASKETBALL,id:T.CHINA_CBA,label:"China CBA",opticOddsName:"China - CBA",provider:I.OPTICODDS,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:l.QUARTER,isDrawAvailable:!1},d[T.AUSTRALIA_NBL]={sport:t.BASKETBALL,id:T.AUSTRALIA_NBL,label:"Australia NBL",opticOddsName:"Australia - NBL",provider:I.OPTICODDS,scoringType:s.POINTS,matchResolveType:N.OVERTIME,periodType:l.QUARTER,isDrawAvailable:!1},d[T.VALORANT]={sport:t.ESPORTS,id:T.VALORANT,label:"Valorant",opticOddsName:"Valorant",provider:I.OPTICODDS,scoringType:s.MAPS,matchResolveType:N.EMPTY,periodType:l.MAP,isDrawAvailable:!1},d[T.ROCKET_LEAGUE]={sport:t.ESPORTS,id:T.ROCKET_LEAGUE,label:"Rocket League",opticOddsName:"Rocket League",provider:I.OPTICODDS,scoringType:s.MAPS,matchResolveType:N.EMPTY,periodType:l.MAP,isDrawAvailable:!1},d[T.CALL_OF_DUTY]={sport:t.ESPORTS,id:T.CALL_OF_DUTY,label:"Call of Duty",opticOddsName:"Call of Duty",provider:I.OPTICODDS,scoringType:s.MAPS,matchResolveType:N.EMPTY,periodType:l.MAP,isDrawAvailable:!1},d[T.STARCRAFT]={sport:t.ESPORTS,id:T.STARCRAFT,label:"Starcraft",opticOddsName:"Starcraft",provider:I.OPTICODDS,scoringType:s.MAPS,matchResolveType:N.EMPTY,periodType:l.MAP,isDrawAvailable:!1},d[T.NFL_FUTURES]={sport:t.FUTURES,id:T.NFL_FUTURES,label:"NFL Futures",provider:I.EMPTY,scoringType:s.EMPTY,matchResolveType:N.EMPTY,periodType:l.EMPTY,isDrawAvailable:!1},d[T.NBA_FUTURES]={sport:t.FUTURES,id:T.NBA_FUTURES,label:"NBA Futures",provider:I.EMPTY,scoringType:s.EMPTY,matchResolveType:N.EMPTY,periodType:l.EMPTY,isDrawAvailable:!1},d[T.NHL_FUTURES]={sport:t.FUTURES,id:T.NHL_FUTURES,label:"NHL Futures",provider:I.EMPTY,scoringType:s.EMPTY,matchResolveType:N.EMPTY,periodType:l.EMPTY,isDrawAvailable:!1},d[T.EPL_FUTURES]={sport:t.FUTURES,id:T.EPL_FUTURES,label:"EPL Futures",provider:I.EMPTY,scoringType:s.EMPTY,matchResolveType:N.EMPTY,periodType:l.EMPTY,isDrawAvailable:!1},d[T.LIGUE_ONE_FUTURES]={sport:t.FUTURES,id:T.LIGUE_ONE_FUTURES,label:"Ligue 1 Futures",provider:I.EMPTY,scoringType:s.EMPTY,matchResolveType:N.EMPTY,periodType:l.EMPTY,isDrawAvailable:!1},d[T.BUNDESLIGA_FUTURES]={sport:t.FUTURES,id:T.BUNDESLIGA_FUTURES,label:"Bundesliga Futures",provider:I.EMPTY,scoringType:s.EMPTY,matchResolveType:N.EMPTY,periodType:l.EMPTY,isDrawAvailable:!1},d[T.LA_LIGA_FUTURES]={sport:t.FUTURES,id:T.LA_LIGA_FUTURES,label:"La Liga",provider:I.EMPTY,scoringType:s.EMPTY,matchResolveType:N.EMPTY,periodType:l.EMPTY,isDrawAvailable:!1},d[T.SERIE_A_FUTURES]={sport:t.FUTURES,id:T.SERIE_A_FUTURES,label:"Serie A Futures",provider:I.EMPTY,scoringType:s.EMPTY,matchResolveType:N.EMPTY,periodType:l.EMPTY,isDrawAvailable:!1},d[T.UEFA_CHAMPIONS_LEAGUE_FUTURES]={sport:t.FUTURES,id:T.UEFA_CHAMPIONS_LEAGUE_FUTURES,label:"UEFA Champions League Futures",provider:I.EMPTY,scoringType:s.EMPTY,matchResolveType:N.EMPTY,periodType:l.EMPTY,isDrawAvailable:!1},d[T.ATP_FUTURES]={sport:t.FUTURES,id:T.ATP_FUTURES,label:"ATP Futures",provider:I.EMPTY,scoringType:s.EMPTY,matchResolveType:N.EMPTY,periodType:l.EMPTY,isDrawAvailable:!1},d[T.EUROLEAGUE_FUTURES]={sport:t.FUTURES,id:T.EUROLEAGUE_FUTURES,label:"Euroleague Futures",provider:I.EMPTY,scoringType:s.EMPTY,matchResolveType:N.EMPTY,periodType:l.EMPTY,isDrawAvailable:!1},d[T.GOLF_H2H]={sport:t.GOLF,id:T.GOLF_H2H,label:"Golf head-to-head",provider:I.EMPTY,scoringType:s.EMPTY,matchResolveType:N.EMPTY,periodType:l.EMPTY,isDrawAvailable:!1},d[T.GOLF_WINNER]={sport:t.GOLF,id:T.GOLF_WINNER,label:"Golf Tournament Winner",provider:I.EMPTY,scoringType:s.EMPTY,matchResolveType:N.EMPTY,periodType:l.EMPTY,isDrawAvailable:!1},d),c=[T.CSGO,T.DOTA2,T.LOL,T.VALORANT,T.ROCKET_LEAGUE,T.CALL_OF_DUTY,T.STARCRAFT,T.TENNIS_GS,T.TENNIS_MASTERS,T.SUMMER_OLYMPICS_TENNIS,T.TENNIS_ATP_GRAND_SLAM_LIVE_MAPPING_V2_0,T.TENNIS_ATP_GRAND_SLAM_LIVE_MAPPING_V2_1,T.TENNIS_ATP_GRAND_SLAM_LIVE_MAPPING_V2_2,T.TENNIS_ATP_GRAND_SLAM_LIVE_MAPPING_V2_3,T.TENNIS_ATP_GRAND_SLAM_LIVE_MAPPING_V2_4,T.TENNIS_ATP_GRAND_SLAM_LIVE_MAPPING_V2_5,T.TENNIS_ATP_GRAND_SLAM_LIVE_MAPPING_V2_6,T.TENNIS_ATP_GRAND_SLAM_LIVE_MAPPING_V2_7,T.TENNIS_WTA_GRAND_SLAM_LIVE_MAPPING_V2_0,T.TENNIS_WTA_GRAND_SLAM_LIVE_MAPPING_V2_1,T.TENNIS_WTA_GRAND_SLAM_LIVE_MAPPING_V2_2,T.TENNIS_WTA_GRAND_SLAM_LIVE_MAPPING_V2_3,T.TENNIS_WTA_GRAND_SLAM_LIVE_MAPPING_V2_4,T.TENNIS_WTA_GRAND_SLAM_LIVE_MAPPING_V2_5,T.TENNIS_WTA_GRAND_SLAM_LIVE_MAPPING_V2_6,T.TENNIS_WTA_GRAND_SLAM_LIVE_MAPPING_V2_7,T.TENNIS_MASTERS_LIVE_MAPPING_V2_1,T.TENNIS_MASTERS_LIVE_MAPPING_V2_2,T.TENNIS_MASTERS_LIVE_MAPPING_V2_3,T.TENNIS_MASTERS_LIVE_MAPPING_V2_4,T.TENNIS_MASTERS_LIVE_MAPPING_V2_5,T.TENNIS_MASTERS_LIVE_MAPPING_V2_6,T.TENNIS_MASTERS_LIVE_MAPPING_V2_7,T.TENNIS_MASTERS_LIVE_MAPPING_V2_8,T.TENNIS_MASTERS_LIVE_MAPPING_V2_9,T.TENNIS_MASTERS_LIVE_MAPPING_V2_10,T.TENNIS_MASTERS_LIVE_MAPPING_V2_11,T.TENNIS_MASTERS_LIVE_MAPPING_V2_12,T.TENNIS_MASTERS_LIVE_MAPPING_V2_13,T.TENNIS_MASTERS_LIVE_MAPPING_V2_14,T.TENNIS_MASTERS_LIVE_MAPPING_V2_15,T.TENNIS_MASTERS_LIVE_MAPPING_V2_16,T.TENNIS_MASTERS_LIVE_MAPPING_V2_17,T.TENNIS_MASTERS_LIVE_MAPPING_V2_18,T.TENNIS_MASTERS_LIVE_MAPPING_V2_19,T.TENNIS_MASTERS_LIVE_MAPPING_V2_20,T.TENNIS_MASTERS_LIVE_MAPPING_V2_21,T.TENNIS_MASTERS_LIVE_MAPPING_V2_22,T.TENNIS_WTA_LIVE_MAPPING_V2_1,T.TENNIS_WTA_LIVE_MAPPING_V2_2,T.TENNIS_WTA_LIVE_MAPPING_V2_3,T.TENNIS_WTA_LIVE_MAPPING_V2_4,T.TENNIS_WTA_LIVE_MAPPING_V2_5,T.TENNIS_WTA_LIVE_MAPPING_V2_6,T.TENNIS_WTA_LIVE_MAPPING_V2_7,T.TENNIS_WTA_LIVE_MAPPING_V2_8,T.TENNIS_WTA_LIVE_MAPPING_V2_9,T.TENNIS_WTA_LIVE_MAPPING_V2_10,T.TENNIS_WTA_LIVE_MAPPING_V2_11,T.TENNIS_WTA_LIVE_MAPPING_V2_12,T.TENNIS_WTA_LIVE_MAPPING_V2_13,T.TENNIS_WTA_LIVE_MAPPING_V2_14,T.TENNIS_WTA_LIVE_MAPPING_V2_15,T.TENNIS_WTA_LIVE_MAPPING_V2_16,T.TENNIS_WTA_LIVE_MAPPING_V2_17,T.TENNIS_WTA_LIVE_MAPPING_V2_18,T.TENNIS_WTA_LIVE_MAPPING_V2_19,T.TENNIS_WTA_LIVE_MAPPING_V2_20,T.TENNIS_WTA_LIVE_MAPPING_V2_21,T.TENNIS_WTA_LIVE_MAPPING_V2_22,T.TENNIS_WTA_LIVE_MAPPING_V2_23],C=[T.SUMMER_OLYMPICS_RUGBY,T.SUMMER_OLYMPICS_RUGBY_WOMEN],u=[T.NCAAF,T.NFL,T.MLB,T.NBA,T.NCAAB,T.NHL,T.WNBA,T.MLS,T.IPL,T.T20_BLAST],U=[701,702,703,704],m={1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,10:10,11:11,12:12,13:13,14:14,15:15,16:16,17:17,18:18,19:19,20:20,21:21},G={320:18,6:24,33:33,16:42,44:44,45:45,11:47,50:50,12:53,13:54,15:55,57:57,61:61,65:65,66:66,17:73,76:76,14:87,152:152,153:153,156:156,158:158,132:132,134:134,138:138,141:141,209:209,230:230,268:268,288:288,296:296,310:310,319:319,322:322,327:327,380:380,381:381,399:399,406:406,407:407,409:409,445:445,453:453,454:454,497:497,536:536,8881:8881,8893:8893,8894:8894,8910:8910,9196:9196,9578:9578,9588:9588,9698:9698,9699:9699,9806:9806,9821:9821,9977:9977,9983:9983,10071:10071,10072:10072,10502:10502,10138:10138,10199:10199,10216:10216,10595:10595,10611:10611,10613:10613,10615:10615},y={1:"NCAAF",2:"NFL",3:"MLB",4:"NBA",5:"NCAAB",6:"NHL",7:"UFC",8:"WNBA",10:"USA - Major League Soccer",11:"England - Premier League",12:"France - Ligue 1",13:"Germany - Bundesliga",14:"Spain - La Liga",15:"Italy - Serie A",16:"UEFA - Champions League",17:"UEFA - Europa League",18:"FIFA - World Cup Qualifiers",19:"Japan - J1 League",45:"CONMEBOL - Copa Libertadores",57:"Netherlands - Eredivisie",61:"Portugal - Primeira Liga",132:"England - FA Cup",134:"France - Coupe de France",138:"Spain - Copa del Rey",152:"WTA",156:"ATP",141:"Italy - Coppa Italia",209:"Germany - DFB Pokal",230:"Mexico - Liga MX",268:"Brazil - Serie A",399:"Euroleague",536:"Saudi Arabia - Saudi League",9806:"UEFA - Nations League",9977:"CS2",9983:"Dota 2",10138:"League of Legends",10216:"UEFA - Europa Conference League",20001:"UEFA - Super Cup",20002:"Brazil - Copa do Brasil",20011:"England - Championship",20101:"Scotland - Premiership",20102:"Belgium - Jupiler Pro League",20103:"Czech Republic - FNL",20104:"Chile - Primera Division",20105:"Finland - Veikkausliiga",20106:"Argentina - Primera Division",20107:"Russia - Premier League",20108:"Turkey - Super Lig",20109:"Serbia - Super Liga",20110:"Greece - Super League",20111:"India - Calcutta Premier Division",20112:"China - Super League",20113:"Australia - A-League",20114:"Switzerland - Super League",20115:"Germany - Bundesliga 2",20116:"Spain - La Liga 2",20117:"Italy - Serie B",20118:"India - Super League",20119:"France - Ligue 2",20120:"Austria - Bundesliga",20121:"Denmark - Superliga",20122:"Poland - Ekstraklasa",20123:"Sweden - Allsvenskan",20124:"Colombia - Primera A",20125:"England - EFL Cup",20126:"England - League 1",20127:"Uruguay - Primera Division",20128:"AFC - Champions League",20129:"Italy - Supercoppa",20130:"France - Super Cup",20131:"Spain - Supercopa",20132:"Germany - Super Cup",20133:"Portugal - League Cup",20134:"Thailand - Thai League 1",20135:"Netherlands - KNVB Beker",20136:"Portugal - Taca de Portugal",20200:"Eurocup",20201:"Spain - Liga ACB",20202:"Italy - Lega Basket Serie A",20203:"Germany - BBL",20204:"France - LNB Pro A",20205:"China - CBA",20206:"Australia - NBL",20300:"Valorant",20301:"Rocket League",20302:"Call of Duty",20303:"Starcraft"},v=function(e){var r=M[e];return r?r.sport:t.EMPTY},D=function(e){var r=M[e];return r?r.label:""},g=function(e){var r=M[e];return r?r.provider:""},b=function(e){var r=M[e];return!!r&&r.isDrawAvailable},V=function(e){var r=M[e];return r?r.periodType:""},F=function(e){var r=M[e];return r?r.opticOddsName:void 0},B=function(e){var r=new Set;return e.filter((function(e){return"true"===e.enabled})).map((function(e){return r.add(Number(e.sportId))})),Array.from(r)},h=function(e,r){var a=new Set;return r.filter((function(r){return Number(r.sportId)===Number(e)&&"true"===r.enabled})).map((function(e){return a.add(e.marketName)})),Array.from(a)},w=function(e,r){return r.filter((function(r){return Number(r.sportId)===e}))},f=function(e,r){return r.filter((function(r){return Number(r.sportId)===Number(e)&&"Spread"===r.type&&"true"===r.enabled})).map((function(e){return e.marketName.toLowerCase()}))},Y=function(e,r){return r.filter((function(r){return Number(r.sportId)===Number(e)&&"Total"===r.type&&"true"===r.enabled})).map((function(e){return e.marketName.toLowerCase()}))},W=function(e,r,a,E,i,_){var o,A;if(c.includes(e)?(o=E.toLowerCase()==r.toLowerCase()||E.toLowerCase()==a.toLowerCase(),A=i.toLowerCase()==r.toLowerCase()||i.toLowerCase()==a.toLowerCase()):(o=E.toLowerCase()==r.toLowerCase(),A=i.toLowerCase()==a.toLowerCase()),!0!==o){var t=_.get(E.toLowerCase()),T=_.get(r.toLowerCase()),p=_.get(a.toLowerCase());if([t,T].some((function(e){return null==e})))return!1;o=c.includes(e)?t==T||t==p:t==T}if(!0!==A){var L=_.get(i.toLowerCase());if(T=_.get(r.toLowerCase()),[L,p=_.get(a.toLowerCase())].some((function(e){return null==e})))return!1;A=c.includes(e)&&L==T||L==p}return o&&A},H=function(e,r,a,E){var i;if(v(a)==t.TENNIS){var _=r.getTime(),o=e.getTime();i=Math.abs(o-_)<=Number(60*E*1e3)}else i=r.toUTCString()==e.toUTCString();return i},k=0,K="Draw",Q=0,x=.2,j=10001,X=10002,z=100,Z=":",J="_",$=function(e,r,a){if(e.some((function(e){return 0===e})))return e;var E=e.reduce((function(e,r){return e+r}),0);if(E<=1)return Array(e.length).fill(0);if(0===a){if(!(r>100*(E-1)))return e;a=r}var i=1+a/100,_=i/E,o=e.map((function(e){return e*_}));if(o.some((function(e){return e>=1})))return Array(e.length).fill(0);var A=o.reduce((function(e,r){return e+r}),0);if(A<1)return Array(e.length).fill(0);var t=i/A;return o.map((function(e){return e*t}))},q=function(e,r,a,E){var i=e.find((function(e){return Number(e.typeId)===Number(a)&&Number(e.sportId)===Number(r)}));return i?{minSpread:i.minSpread?Number(i.minSpread):E,targetSpread:i.targetSpread?Number(i.targetSpread):0}:{minSpread:E,targetSpread:0}},ee=function(){return ee=Object.assign||function(e){for(var r,a=1,E=arguments.length;a<E;a++)for(var i in r=arguments[a])Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i]);return e},ee.apply(this,arguments)},re=function(e,r,a){if(a||2===arguments.length)for(var E,i=0,_=r.length;i<_;i++)!E&&i in r||(E||(E=Array.prototype.slice.call(r,0,i)),E[i]=r[i]);return e.concat(E||Array.prototype.slice.call(r))},ae=function(e){return e===k?0:Ee("decimal","impliedProbability",e)},Ee=function(e,r,a){try{return n(e,a).to(r)}catch(e){return 0}},ie=function(e,r,a,E,i){var _=new Map;return a.forEach((function(a){var o=0,A=e.filter((function(e){return e&&e.marketName.toLowerCase()===r.toLowerCase()&&e.sportsBookName.toLowerCase()==a.toLowerCase()&&e.selection.toLowerCase()===E.homeTeam.toLowerCase()}));0!==A.length&&(o=A[0].price);var t=0,T=e.filter((function(e){return e&&e.marketName.toLowerCase()===r.toLowerCase()&&e.sportsBookName.toLowerCase()==a.toLowerCase()&&e.selection.toLowerCase()===E.awayTeam.toLowerCase()}));0!==T.length&&(t=T[0].price);var p=0;if(!i){var L=e.filter((function(e){return e&&e.marketName.toLowerCase()===r.toLowerCase()&&e.sportsBookName.toLowerCase()==a.toLowerCase()&&e.selection.toLowerCase()===K.toLowerCase()}));0!==L.length&&(p=L[0].price)}_.set(a.toLowerCase(),{homeOdds:o,awayOdds:t,drawOdds:p})})),_},_e=function(e,r,a,E,i,_,o){var A={homeTeam:E.homeTeam,awayTeam:E.awayTeam},t=ie(E.odds,p.MONEYLINE,a,A,e),T=O(t,a,e,o,x);if(T.errorMessage)return{odds:e?[0,0]:[0,0,0],errorMessage:T.errorMessage};var L=(e?[T.homeOdds,T.awayOdds]:[T.homeOdds,T.awayOdds,T.drawOdds]).map((function(e){return ae(e)})),S=q(r,i,Q,_);return{odds:L=null!==S?$(L,S.minSpread,S.targetSpread):$(L,_,0)}},oe=function(e,r,a,E,i,_){var o=[[],[],[],[]],A=o[0],t=o[1],T=o[2],p=o[3],L=w(a,_),S={homeTeam:e.homeTeam,awayTeam:e.awayTeam};if(L.length>0){Ae(e.odds,L,E[0]).forEach((function(e){"Total"===e.type?.5===Math.abs(Number(e.points)%1)&&t.push(e):"Spread"===e.type?.5===Math.abs(Number(e.points)%1)&&A.push(e):"Moneyline"===e.type&&T.push(e)}));var s=re(re(re([],te(A,S),!0),Te(t,S),!0),pe(T,S),!0);Le(s,r,i).forEach((function(e){var r={leagueId:Number(e.sportId),typeId:Number(e.typeId),type:e.type.toLowerCase(),line:Number(e.line||0),odds:e.odds},a=L.find((function(r){return Number(r.typeId)===Number(e.typeId)})),E=null==a?void 0:a.minOdds,i=null==a?void 0:a.maxOdds;E&&i&&(e.odds[0]>=E||e.odds[0]<=i||e.odds[1]>=E||e.odds[1]<=i)||p.push(r)}))}else console.warn("No child markets for leagueID: ".concat(Number(a)));return p},Ae=function(e,r,a){var E=r.filter((function(e){return e.marketName.toLowerCase()!==p.MONEYLINE.toLowerCase()&&"true"===e.enabled})).map((function(e){return e.marketName.toLowerCase()}));return e.filter((function(e){return E.includes(e.marketName.toLowerCase())&&e.sportsBookName.toLowerCase()==a.toLowerCase()})).map((function(e){return ee(ee({},e),r.find((function(r){return r.marketName.toLowerCase()===e.marketName.toLowerCase()})))}))},te=function(e,r){var a=e.reduce((function(e,a){var E=a.points,i=a.marketName,_=a.price,o=a.selection,A=a.typeId,t=a.sportId,T=a.type,p=o===r.homeTeam,L="".concat(i,"_").concat(p?E:-E);return e[L]||(e[L]={home:null,away:null,typeId:null,sportId:null}),p?e[L].home=_:e[L].away=_,e[L].typeId=A,e[L].type=T,e[L].sportId=t,e}),{}),E=Object.entries(a).reduce((function(e,r){var a=r[0],E=r[1],i=a.split("_"),_=(i[0],i[1]),o=parseFloat(_);return null!==E.home&&null!==E.away&&e.push({line:o,odds:[E.home,E.away],typeId:E.typeId,sportId:E.sportId,type:E.type}),e}),[]);return E},Te=function(e,r){var a=e.reduce((function(e,r){if(r){var a="".concat(r.marketName,"_").concat(r.selection,"_").concat(r.points);e[a]||(e[a]={over:null,under:null}),"over"===r.selectionLine?e[a].over=r.price:"under"===r.selectionLine&&(e[a].under=r.price),e[a].typeId=r.typeId,e[a].type=r.type,e[a].sportId=r.sportId}return e}),{}),E=Object.entries(a).reduce((function(e,a){var E=a[0],i=a[1],_=E.split("_"),o=(_[0],_[1]),A=_[2],t=parseFloat(A),T=o===r.awayTeam;return null!==i.over&&null!==i.under&&e.push({line:t,odds:[i.over,i.under],typeId:T?Number(i.typeId)+1:i.typeId,sportId:i.sportId,type:i.type}),e}),[]);return E},pe=function(e,r){var a=e.reduce((function(e,a){var E=a.price,i=a.selection,_=a.typeId,o=a.sportId,A=a.type,t=_;return e[t]||(e[t]={home:null,away:null,draw:null,typeId:null,sportId:null}),i.toLowerCase()===r.homeTeam.toLowerCase()?e[t].home=E:i.toLowerCase()===r.awayTeam.toLowerCase()?e[t].away=E:i.toLowerCase()===K.toLowerCase()&&(e[t].draw=E),e[t].typeId=_,e[t].type=A,e[t].sportId=o,e}),{}),E=Object.entries(a).reduce((function(e,r){r[0];var a=r[1];return null!==a.home&&null!==a.away&&e.push({odds:a.draw?[a.home,a.away,a.draw]:[a.home,a.away],typeId:a.typeId,sportId:a.sportId,type:a.type}),e}),[]);return E},Le=function(e,r,a){var E=[];return e.forEach((function(e){var i=3===e.odds.length,_=ae(e.odds[0])||k,o=ae(e.odds[1])||k,A=ae(e.odds[2])||k,t=i?[_,o,A]:[_,o];if(!(_===k||o===k||i&&A===k)){var T,p=q(r,e.sportId,e.typeId,a);T=null!==p?$(t,p.minSpread,p.targetSpread):$(t,a,0),E.push(ee(ee({},e),{odds:T}))}})),E},Se=function(){return Se=Object.assign||function(e){for(var r,a=1,E=arguments.length;a<E;a++)for(var i in r=arguments[a])Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i]);return e},Se.apply(this,arguments)},se=function(e,r,a,E,i,_,o,A){var t=E.filter((function(r){return r.sportId===String(e.leagueId)})),T=w(e.leagueId,A),p=_e(!i,t,a,r,e.leagueId,_,o);p.errorMessage?(e.odds=e.odds.map((function(){return{american:0,decimal:0,normalizedImplied:0}})),e.errorMessage=p.errorMessage):e.odds=p.odds.map((function(r){if(0!=r){var a=T.find((function(r){return Number(r.typeId)===Number(e.typeId)})),E=r;return r<.95&&a&&Number(a.addedSpread)&&(E=r*(100+Number(a.addedSpread))/100)>=1&&(E=r),{american:n("impliedProbability",E).to("moneyline"),decimal:Number(n("impliedProbability",E).to("decimal").toFixed(10)),normalizedImplied:E}}return e.errorMessage="Bad odds after spread adjustment",{american:0,decimal:0,normalizedImplied:0}}));var L=oe(r,t,e.leagueId,a,_,A).map((function(r){var a=Se(Se({},e),r);return a.odds.length>0&&(a.odds=a.odds.map((function(e){if(0==e)return{american:0,decimal:0,normalizedImplied:0};var r=T.find((function(e){return Number(e.typeId)===Number(a.typeId)})),E=e;return e<.95&&r&&Number(r.addedSpread)&&(E=e*(100+Number(r.addedSpread))/100)>=1&&(E=e),{american:n("impliedProbability",E).to("moneyline"),decimal:Number(n("impliedProbability",E).to("decimal").toFixed(10)),normalizedImplied:E}}))),a}));return e.childMarkets=L,e},Ne=function(e,r,a){var E=v(r),i=e.homeTeam,_=e.homeTotal,o=e.awayTeam,A=e.awayTotal,T=e.clock,p=e.period,L=e.status,S=parseInt(p);return"completed"==L.toLowerCase()?{allow:!1,message:"Blocking game ".concat(i," - ").concat(o," because it is no longer live.")}:E===t.BASKETBALL?le(i,o,S,a.get(t.BASKETBALL)):E===t.HOCKEY?le(i,o,S,a.get(t.HOCKEY)):E===t.BASEBALL?le(i,o,S,a.get(t.BASEBALL)):E===t.SOCCER?Ie(i,o,T,p,a.get(t.SOCCER)):E===t.TENNIS?de(e,i,o,p,_,A,r,E):E===t.VOLLEYBALL?de(e,i,o,S,_,A,r,E):{allow:!0,message:"The sport ".concat(r," does not have constraint")}},le=function(e,r,a,E){return!Number.isNaN(a)&&a>=E?{allow:!1,message:"Blocking game ".concat(e," - ").concat(r," due to period: ").concat(a,". period")}:{allow:!0,message:""}},Ie=function(e,r,a,E,i){var _=Number(a);return!Number.isNaN(_)&&_>=i||Number.isNaN(_)&&"half"!=E.toLowerCase()?{allow:!1,message:"Blocking game ".concat(e," - ").concat(r," due to clock: ").concat(a,"min")}:{allow:!0,message:""}},de=function(e,r,a,E,i,_,o,A){var p=Number(E),L=ne(p,e),S="atp"==e.league.toLowerCase(),s={home:i,away:_};return A==t.VOLLEYBALL?Re(r,a,L,s,Oe,5==p?Me:Pe):o.toString().startsWith(T.TENNIS_GS)&&S?Re(r,a,L,s,ce,ue):o.toString().startsWith(T.TENNIS_GS)&&!S||o.toString().startsWith(T.TENNIS_MASTERS)||o.toString().startsWith(T.SUMMER_OLYMPICS_TENNIS)||o.toString().startsWith(T.TENNIS_WTA)?Re(r,a,L,s,Ce,ue):{allow:!0,message:"The sport ".concat(o," does not have result constraint")}},ne=function(e,r){var a=0,E=0;switch(e){case 1:a=Number(r.homePeriod1),E=Number(r.awayPeriod1);break;case 2:a=Number(r.homePeriod2),E=Number(r.awayPeriod2);break;case 3:a=Number(r.homePeriod3),E=Number(r.awayPeriod3);break;case 4:a=Number(r.homePeriod4),E=Number(r.awayPeriod4);break;case 5:a=Number(r.homePeriod5),E=Number(r.awayPeriod5)}return{home:a,away:E}},Re=function(e,r,a,E,i,_){return Number(E.home)!=i&&Number(E.away)!=i||!(Number(E.home)==i&&a.home>=_||Number(E.away)==i&&a.away>=_)?{allow:!0,message:"",currentHomeGameScore:a.home,currentAwayGameScore:a.away}:{allow:!1,message:"Blocking game ".concat(e," - ").concat(r," due to current result: ").concat(E.home," - ").concat(E.away," (").concat(a.home," - ").concat(a.away,")")}},Oe=2,Pe=20,Me=10,ce=2,Ce=1,ue=5,Ue=a(168),me=a.n(Ue),Ge=function(){return Ge=Object.assign||function(e){for(var r,a=1,E=arguments.length;a<E;a++)for(var i in r=arguments[a])Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i]);return e},Ge.apply(this,arguments)},ye=function(e){return e.map((function(e){return{gameId:e.id,startDate:e.start_date,homeTeam:e.home_team_display,awayTeam:e.away_team_display}}))},ve=function(e){return e.map((function(e){return Ge(Ge({gameId:e.fixture.id,sport:e.sport.name,league:e.league.name.toLowerCase(),status:e.fixture.status?e.fixture.status.toLowerCase():e.fixture.status,isLive:e.fixture.is_live,clock:e.in_play.clock,period:e.in_play.period?e.in_play.period.toLowerCase():e.in_play.period,homeTeam:e.fixture.home_team_display,awayTeam:e.fixture.away_team_display,homeTotal:e.scores.home.total,awayTotal:e.scores.away.total},ge(e.scores.home.periods,"home")),ge(e.scores.away.periods,"away"))}))},De=function(e){return e.map((function(e){return{gameId:e.id,startDate:e.start_date,homeTeam:e.home_team_display,awayTeam:e.away_team_display,isLive:e.is_live,status:e.status,sport:e.sport.id,league:e.league.name,odds:e.odds.map((function(r){return{id:r.id,sportsBookName:r.sportsbook,name:r.name,price:r.price,timestamp:r.timestamp,points:r.points,isMain:r.is_main,isLive:e.is_live,marketName:r.market.toLowerCase(),playerId:r.player_id,selection:r.selection,selectionLine:r.selection_line}}))}}))},ge=function(e,r){return Object.values(e).reduce((function(e,a,E){var i;return Ge(Ge({},e),((i={})["".concat(r,"Period").concat(E+1)]=a,i))}),{})},be=function(e){return me()({input:e}).replace(/\0/g,"")},Ve=function(e){return e.replaceAll(" ","_").toLowerCase()},Fe=function(e){if(!e.includes(Z))return e;var r=e.split(Z),a=r[0],E=r[1],i=Object.keys(y).find((function(e){return Ve(y[Number(e)])===a}));if(!i)throw"Optic Odds league ".concat(a," not mapped.");return"".concat(i).concat(J).concat(E)},Be=function(e){if(!e.includes(J))return e;var r=e.split(J),a=r[0],E=r[1],i=y[Number(a)];if(!i)throw"Overtime league ID ".concat(a," not mapped.");return"".concat(Ve(i)).concat(Z).concat(E)},he=function(e){return me()({input:Fe(e)})},we=function(e){return Be(be(e))}})(),E})()));
|
package/package.json
CHANGED
package/src/constants/sports.ts
CHANGED
|
@@ -1467,6 +1467,16 @@ export const LeagueMap = {
|
|
|
1467
1467
|
periodType: PeriodType.EMPTY,
|
|
1468
1468
|
isDrawAvailable: false,
|
|
1469
1469
|
},
|
|
1470
|
+
[League.ATP_FUTURES]: {
|
|
1471
|
+
sport: Sport.FUTURES,
|
|
1472
|
+
id: League.ATP_FUTURES,
|
|
1473
|
+
label: 'ATP Futures',
|
|
1474
|
+
provider: Provider.EMPTY,
|
|
1475
|
+
scoringType: ScoringType.EMPTY,
|
|
1476
|
+
matchResolveType: MatchResolveType.EMPTY,
|
|
1477
|
+
periodType: PeriodType.EMPTY,
|
|
1478
|
+
isDrawAvailable: false,
|
|
1479
|
+
},
|
|
1470
1480
|
[League.EUROLEAGUE_FUTURES]: {
|
|
1471
1481
|
sport: Sport.FUTURES,
|
|
1472
1482
|
id: League.EUROLEAGUE_FUTURES,
|
package/src/enums/sports.ts
CHANGED
package/src/utils/markets.ts
CHANGED
|
@@ -2,7 +2,6 @@ import * as oddslib from 'oddslib';
|
|
|
2
2
|
import { createChildMarkets, getParentOdds } from './odds';
|
|
3
3
|
import { OddsObject } from '../types/odds';
|
|
4
4
|
import { getLeagueInfo } from './sports';
|
|
5
|
-
import { adjustAddedSpread } from './spread';
|
|
6
5
|
/**
|
|
7
6
|
* Processes a single sports event. This function maps event data to a specific format,
|
|
8
7
|
* filters invalid events, and optionally fetches player properties if the sport supports it.
|
|
@@ -41,8 +40,6 @@ export const processMarket = (
|
|
|
41
40
|
maxPercentageDiffBetwenOdds
|
|
42
41
|
);
|
|
43
42
|
|
|
44
|
-
const oddsAfterSpread = adjustAddedSpread(moneylineOdds.odds, leagueInfo, market.typeId);
|
|
45
|
-
|
|
46
43
|
if (moneylineOdds.errorMessage) {
|
|
47
44
|
market.odds = market.odds.map(() => {
|
|
48
45
|
return {
|
|
@@ -55,12 +52,25 @@ export const processMarket = (
|
|
|
55
52
|
market.errorMessage = moneylineOdds.errorMessage;
|
|
56
53
|
} else {
|
|
57
54
|
// Pack market odds for UI
|
|
58
|
-
market.odds =
|
|
55
|
+
market.odds = moneylineOdds.odds.map((probability) => {
|
|
59
56
|
if (probability != 0) {
|
|
57
|
+
const leagueInfoByTypeId = leagueInfo.find((league) => Number(league.typeId) === Number(market.typeId));
|
|
58
|
+
let finalProbability = probability;
|
|
59
|
+
|
|
60
|
+
if (probability < 0.95) {
|
|
61
|
+
if (leagueInfoByTypeId && Number(leagueInfoByTypeId.addedSpread)) {
|
|
62
|
+
finalProbability = (probability * (100 + Number(leagueInfoByTypeId.addedSpread))) / 100;
|
|
63
|
+
// edge case if added spread is bigger than 5%, it can happen that odd goes above 1, in that case return odd from api.
|
|
64
|
+
if (finalProbability >= 1) {
|
|
65
|
+
finalProbability = probability;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
60
70
|
return {
|
|
61
|
-
american: oddslib.from('impliedProbability',
|
|
62
|
-
decimal: Number(oddslib.from('impliedProbability',
|
|
63
|
-
normalizedImplied:
|
|
71
|
+
american: oddslib.from('impliedProbability', finalProbability).to('moneyline'),
|
|
72
|
+
decimal: Number(oddslib.from('impliedProbability', finalProbability).to('decimal').toFixed(10)),
|
|
73
|
+
normalizedImplied: finalProbability,
|
|
64
74
|
};
|
|
65
75
|
} else {
|
|
66
76
|
market.errorMessage = 'Bad odds after spread adjustment';
|
|
@@ -84,9 +94,8 @@ export const processMarket = (
|
|
|
84
94
|
|
|
85
95
|
const packedChildMarkets = childMarkets.map((childMarket: any) => {
|
|
86
96
|
const preparedMarket = { ...market, ...childMarket };
|
|
87
|
-
const oddsAfterSpread = adjustAddedSpread(preparedMarket.odds, leagueInfo, preparedMarket.typeId);
|
|
88
97
|
if (preparedMarket.odds.length > 0) {
|
|
89
|
-
preparedMarket.odds =
|
|
98
|
+
preparedMarket.odds = preparedMarket.odds.map((probability) => {
|
|
90
99
|
if (probability == 0) {
|
|
91
100
|
return {
|
|
92
101
|
american: 0,
|
|
@@ -94,11 +103,24 @@ export const processMarket = (
|
|
|
94
103
|
normalizedImplied: 0,
|
|
95
104
|
};
|
|
96
105
|
}
|
|
106
|
+
const leagueInfoByTypeId = leagueInfo.find(
|
|
107
|
+
(league) => Number(league.typeId) === Number(preparedMarket.typeId)
|
|
108
|
+
);
|
|
109
|
+
let finalProbability = probability;
|
|
97
110
|
|
|
111
|
+
if (probability < 0.95) {
|
|
112
|
+
if (leagueInfoByTypeId && Number(leagueInfoByTypeId.addedSpread)) {
|
|
113
|
+
finalProbability = (probability * (100 + Number(leagueInfoByTypeId.addedSpread))) / 100;
|
|
114
|
+
// edge case if added spread is bigger than 5%, it can happen that odd goes above 1, in that case return odd from api.
|
|
115
|
+
if (finalProbability >= 1) {
|
|
116
|
+
finalProbability = probability;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
98
120
|
return {
|
|
99
|
-
american: oddslib.from('impliedProbability',
|
|
100
|
-
decimal: Number(oddslib.from('impliedProbability',
|
|
101
|
-
normalizedImplied:
|
|
121
|
+
american: oddslib.from('impliedProbability', finalProbability).to('moneyline'),
|
|
122
|
+
decimal: Number(oddslib.from('impliedProbability', finalProbability).to('decimal').toFixed(10)),
|
|
123
|
+
normalizedImplied: finalProbability,
|
|
102
124
|
};
|
|
103
125
|
});
|
|
104
126
|
}
|
package/src/utils/spread.ts
CHANGED
|
@@ -64,27 +64,3 @@ export const getSpreadData = (spreadData, sportId, typeId, defaultSpreadForLiveM
|
|
|
64
64
|
}
|
|
65
65
|
return { minSpread: defaultSpreadForLiveMarkets, targetSpread: 0 };
|
|
66
66
|
};
|
|
67
|
-
|
|
68
|
-
export const adjustAddedSpread = (odds, leagueInfo, typeId) => {
|
|
69
|
-
// Pack market odds for UI
|
|
70
|
-
return odds.map((probability) => {
|
|
71
|
-
if (probability != 0) {
|
|
72
|
-
const leagueInfoByTypeId = leagueInfo.find((league) => Number(league.typeId) === Number(typeId));
|
|
73
|
-
let finalProbability = probability;
|
|
74
|
-
|
|
75
|
-
if (probability < 0.95) {
|
|
76
|
-
if (leagueInfoByTypeId && Number(leagueInfoByTypeId.addedSpread)) {
|
|
77
|
-
finalProbability = (probability * (100 + Number(leagueInfoByTypeId.addedSpread))) / 100;
|
|
78
|
-
// edge case if added spread is bigger than 5%, it can happen that odd goes above 1, in that case return odd from api.
|
|
79
|
-
if (finalProbability >= 1) {
|
|
80
|
-
finalProbability = probability;
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
return finalProbability;
|
|
86
|
-
} else {
|
|
87
|
-
return 0;
|
|
88
|
-
}
|
|
89
|
-
});
|
|
90
|
-
};
|