{"version":3,"sources":["components/Button/Button.tsx","views/Pit/components/ExchangeModal.tsx","hooks/useCatchError.ts","views/Pit/components/ExchangeCard.tsx","hooks/useCashPriceInLastTWAP.ts","views/Pit/components/ExchangeStat.tsx","hooks/useBondsPurchasable.ts","tomb-finance/constants.ts","views/Pit/Pit.tsx","assets/img/home.png","assets/img/3OMB.svg","hooks/useTotalValueLocked.ts","views/Home/Home.js","hooks/useRefresh.ts","components/Card/Card.tsx","hooks/useHandleTransactionReceipt.ts","components/Container/Container.tsx","components/Modal/Modal.tsx","hooks/useTokenBalance.ts","components/ModalTitle/ModalTitle.tsx","components/TokenSymbol/TokenSymbol.tsx","state/transactions/hooks.tsx","components/Input/Input.tsx","components/TokenInput/TokenInput.tsx","components/Label/Label.tsx","components/ModalActions/ModalActions.tsx","hooks/useModal.ts","components/UnlockWallet/UnlockWallet.tsx","assets/img/fudge.png","assets/img/straw.png","assets/img/fudge-dai.png","assets/img/straw-dai.png","hooks/useStakedBalance.ts","hooks/useAllowance.ts","hooks/useApprove.ts","components/WalletProviderModal/WalletCard.js","components/WalletProviderModal/WalletProviderModal.js","components/WalletProviderModal/index.js","components/Nav/AccountModal.tsx","components/Nav/AccountButton.tsx","hooks/useTombStats.ts","hooks/useStakedTokenPriceInDollars.ts","hooks/useEagerConnect.js","components/Footer/Footer.js","components/Footer/index.js","components/ListItemLink/ListItemLink.js","components/ListItemLink/index.js","components/Nav/Nav.tsx","components/Nav/index.ts","components/Page/Page.tsx","components/Spacer/Spacer.tsx","components/CardContent/CardContent.tsx","assets/img/metamask-fox.svg","hooks/useLpStats.ts","hooks/usetShareStats.ts","hooks/useEarnings.ts","assets/img/twitter.svg","assets/img/github.svg","assets/img/telegram.svg","assets/img/discord.svg","assets/img/youtube.svg","assets/img/wallet-connect.svg","assets/img/caraml.png","assets/img/dai.png","assets/img/cshare.png","assets/img/cream.png","assets/img/cream-wavax.png","assets/img/cshare-avax.png","assets/img/creamcshare.png","assets/img/wavax.png","assets/img/fudge-straw.png","assets/img/fudge-avax.png","assets/img/node.png","assets/img/fudge-cream.png","assets/img/cream-straw.png","assets/img/straw-avax.png","hooks/useZap.ts","hooks/useBanks.ts","components/CardIcon/CardIcon.tsx","hooks/useApproveZapper.ts","views/Bank/components/ZapModal.tsx","hooks/useRebateTreasury.js","hooks/useBondStats.ts","hooks/useTotalTreasuryBalance.js","hooks/useFantomPrice.ts"],"names":["StyledButton","styled","button","props","theme","color","grey","boxShadow","disabled","fontSize","size","padding","undefined","StyledLink","Link","spacing","StyledExternalLink","a","Button","children","href","onClick","text","to","variant","useContext","ThemeContext","buttonColor","buttonSize","buttonPadding","teal","primary","main","ButtonChild","useMemo","target","ExchangeModal","max","title","description","onConfirm","onDismiss","action","tokenName","val","setVal","useState","fullBalance","getFullDisplayBalance","handleChange","useCallback","e","currentTarget","value","handleSelectMax","Modal","ModalTitle","TokenInput","onSelectMax","onChange","symbol","Label","ModalActions","useCatchError","addPopup","useAddPopup","promise","message","catch","err","includes","console","error","stack","StyledCardTitle","div","StyledCardIcon","StyledExchanger","StyledExchangeArrow","StyledToken","StyledCardActions","StyledDesc","span","StyledCardContentInner","ExchangeCard","fromToken","fromTokenName","toToken","toTokenName","priceDesc","onExchange","disabledDescription","catchError","contracts","Treasury","useTombFinance","approveStatus","approve","useApprove","address","balance","useTokenBalance","onPresent","useModal","Card","CardContent","TokenSymbol","ApprovalState","APPROVED","PENDING","UNKNOWN","useCashPriceInLastTWAP","price","setPrice","BigNumber","from","tombFinance","fetchCashPrice","async","getTombPriceInLastTWAP","useEffect","refreshInterval","setInterval","config","clearInterval","ExchangeStat","useBondsPurchasable","setBalance","getBondsPurchasable","fetchBondsPurchasable","DECIMALS_18","pow","BOND_REDEEM_PRICE_BN","mul","StyledBond","StyledCardWrapper","StyledStatsWrapper","Pit","path","useRouteMatch","account","useWallet","addTransaction","useTransactionAdder","bondStat","useBondStats","cashPrice","bondsPurchasable","bondBalance","TBOND","handleBuyBonds","tx","buyBonds","amount","summary","Number","toFixed","handleRedeemBonds","redeemBonds","isBondRedeemable","gt","isBondPurchasable","tokenInFtm","Page","exact","Typography","align","gutterBottom","style","marginTop","TOMB","getDisplayBalance","Spacer","eq","UnlockWallet","module","exports","useTotalValueLocked","totalValueLocked","setTotalValueLocked","slowRefresh","useRefresh","getTotalValueLocked","fetchTVL","useStyles","makeStyles","breakpoints","down","card","backgroundColor","Home","useMediaQuery","useRebateTreasury","TVL","tombFtmLpStats","useLpStats","tShareFtmLpStats","tombStats","useTombStats","tShareStats","usetShareStats","tBondStats","ftmPrice","marketCap","ftmMarketCap","priceChange","ftmPriceChange","useFantomPrice","rebatesTVL","useTotalTreasuryBalance","balance_2shares_wftm","balance_3omb_wftm","balance_3shares_wftm","balance_3omb","balance_3shares","balance_2shares","banks","useBanks","fudgeBank","filter","bank","finished","contract","fudgeDaiBank","strawAvaxBank","stakedBalanceFudge","useStakedBalance","poolId","stakedBalanceFudgeDai","stakedBalanceStrawAvax","stakedTokenPriceInDollarsFudge","useStakedTokenPriceInDollars","depositTokenName","depositToken","stakedTokenPriceInDollarsFudgeDai","stakedTokenPriceInDollarsStrawAvax","stakedInDollarsFudge","decimal","stakedInDollarsFudgeDai","stakedInDollarsStrawAvax","earningsFudge","useEarnings","earnTokenName","earningsFudgeDai","earningsStrawAvax","tokenStatsFudge","tokenStatsFudgeDai","tokenStatsStrawAvax","tokenPriceInDollarsFudge","priceInDollars","tokenPriceInDollarsFudgeDai","tokenPriceInDollarsStrawAvax","earnedInDollarsFudge","earnedInDollarsFudgeDai","earnedInDollarsStrawAvax","tomb","tShare","tombProd","tShareProd","tombPriceInDollars","tombCirculatingSupply","String","circulatingSupply","tombTotalSupply","totalSupply","tSharePriceInDollars","tShareCirculatingSupply","tShareTotalSupply","tBondPriceInDollars","tBondPriceInFTM","tBondCirculatingSupply","tBondTotalSupply","tombLpZap","useZap","tshareLpZap","tombBalance","tshareBalance","TSHARE","tbondBalance","onPresentTombZap","onDissmissTombZap","ZapModal","decimals","zappingToken","isNaN","onZap","onPresentTshareZap","onDissmissTshareZap","onPresentModal","Box","p","Grid","container","direction","alignItems","justifyContent","item","xs","sm","fontWeight","display","marginBottom","justify","mt","flexDirection","end","separator","prefix","position","paddingTop","flexWrap","marginRight","textDecoration","margin","height","width","alignContent","fast","slow","RefreshContext","fastRefresh","StyledCard","useHandleTransactionReceipt","then","toLowerCase","slice","StyledContainer","Container","siteWidth","StyledModal","token","isUnlocked","fetchBalance","balanceOf","myAccount","StyledModalTitle","topBarSize","logosBySymbol","TOMBPNG","tombLogoPNG","TSHAREPNG","tShareLogoPNG","WFTM","wftmLogo","NODE","nodeLogo","TwoombLPLogo","TwosharesLPLogo","TwoombTwosharesLPLogo","twoombLogo","twoshareLogo","tombLogo","tShareLogo","tBondLogo","ThreeombLPLogo","ThreesharesLPLogo","tombFtmLpLogo","tshareFtmLpLogo","wavaxLogo","fsLogo","faLogo","fcLogo","csLogo","saLogo","Error","src","alt","chainId","dispatch","useDispatch","response","approval","hash","useAllTransactions","state","useSelector","transactions","useHasPendingApproval","tokenAddress","spender","allTransactions","Object","keys","some","receipt","Date","getTime","addedTime","isTransactionRecent","StyledInputWrapper","borderRadius","StyledInput","input","Input","endAdornment","placeholder","startAdornment","StyledTokenInput","StyledSpacer","StyledTokenAdornmentWrapper","StyledMaxText","toLocaleString","StyledLabel","customColor","labelColor","StyledModalActions","StyledModalAction","l","React","Children","toArray","length","map","child","i","modal","Context","top","left","transform","AccountButton","poolName","sectionInUI","stakedBalanceOnBank","refreshBalance","useAllowance","pendingApproval","allowance","setAllowance","fetchAllowance","APPROVE_AMOUNT","ethers","constants","MaxUint256","APPROVE_BASE_AMOUNT","currentAllowance","approvalState","lt","NOT_APPROVED","WalletCard","icon","onConnect","fullWidth","className","paper","maxWidth","palette","background","shadows","outline","WalletProviderModal","open","handleClose","classes","connect","aria-labelledby","aria-describedby","onClose","List","component","aria-label","metamaskLogo","walletConnectLogo","StyledValue","StyledBalance","Balances","StyledBalanceWrapper","AccountModal","displayTombBalance","displayTshareBalance","displayTbondBalance","onPresentAccountModal","isWalletProviderOpen","setWalletProviderOpen","buttonText","stat","setStat","getTombStat","fetchTombPrice","stakedTokenName","stakedToken","stakedTokenPriceInDollars","setStakedTokenPriceInDollars","getDepositTokenPriceInDollars","refreshStakedTokenPriceInDollars","useEagerConnect","connector","window","localStorage","getItem","setItem","connectorId","footer","bottom","paddingBottom","textAlign","link","marginLeft","img","elipse","Footer","getFullYear","rel","TwitterImage","GithubImage","TelegramImage","DiscordImage","ListItemLink","CustomLink","forwardRef","linkProps","ref","ListItem","ListItemText","ul","listStyle","appBar","drawer","flexShrink","drawerPaper","hide","toolbar","toolbarTitle","fontFamily","flexGrow","textTransform","brandLink","Nav","NavBar","matches","useTheme","setOpen","AppBar","elevation","Toolbar","noWrap","mr","IconButton","edge","clsx","Drawer","anchor","Divider","disableTypography","minHeight","s","StyledCardContent","lpTicker","getLPStat","fetchLpPrice","useShareStats","getShareStat","fetchSharePrice","earnedFromBank","handleTransactionReceipt","zapIn","BanksContext","white","CardIcon","useApproveZapper","FTM_TICKER","FTM","TOMB_TICKER","TSHARE_TICKER","ZAPPER_ROUTER_ADDR","StyledActionSpacer","StyledDescriptionText","StyledMenuItem","withStyles","root","selected","MenuItem","ftmBalance","toString","setZappingToken","zappingTokenBalance","setZappingTokenBalance","estimate","setEstimate","token0","token1","approveZapperStatus","approveZapper","tombLPStats","tshareLPStats","ftmAmountPerLP","startsWith","ftmAmount","InputLabel","id","Select","event","labelId","estimateZap","estimateZapIn","n","parseFloat","isFinite","Alert","severity","web3","Web3","RebateTreasury","eth","Contract","inputs","stateMutability","type","anonymous","indexed","internalType","name","outputs","Threeomb","constant","payable","assetList","tombPrice","setTombPrice","tombAvailable","setTombAvailable","bondPremium","setBondPremium","bondVesting","setBondVesting","assets","setAssets","asset","params","multiplier","isLP","update","vestedTomb","assetParams","assetPrices","Promise","all","methods","getTombPrice","call","_address","totalVested","getBondPremium","getTokenPrice","utils","fromWei","push","interval","getBondStat","fetchBondPrice","ERC20ABI","treasuryAddress","ThreeShares","setBalance_2shares_wftm","setBalance_3omb_wftm","setBalance_3shares_wftm","setBalance_3omb","setBalance_3shares","setBalance_2shares","getBalance","data","axios","value3shares","current_price","data2sharesAnd3omb","log","usd_value","LP_2shares_wftm","getLPPrice","LP_3omb_wftm","LP_3shares_wftm","token3omb","get3ombBalance","token3shares","get3sharesBalance","token2shares","get2sharesBalance","LPAddress","LPtoken","wftmValue","tokenValue","OneTokenValue","total","setMarketCap","setPriceChange","getPrice","market_cap","price_change_percentage_24h"],"mappings":"0TAgBA,MA0EMA,EAAeC,IAAOC,OAAV,ycAEKC,GAAUA,EAAMC,MAAMC,MAAMC,KAAK,KAGvCH,GAAUA,EAAMI,UACrBJ,GAAYA,EAAMK,SAAP,UAAmCL,EAAME,MAAzC,MAAkBF,EAAME,MAG/BF,GAAUA,EAAMM,SAEnBN,GAAUA,EAAMO,KAGVP,GAAUA,EAAMQ,QACfR,GAAUA,EAAMQ,QACfR,GAAYA,EAAMK,SAAuB,YAAZI,EAGzBT,GAAUA,EAAME,MAC3BF,GAAUA,EAAMC,MAAMC,MAAMC,KAAK,MAIzCO,EAAaZ,YAAOa,IAAPb,CAAH,oNAODE,IAAWA,EAAMC,MAAMW,QAAQ,GAC9BZ,GAAUA,EAAMC,MAAMW,QAAQ,IAIxCC,EAAqBf,IAAOgB,EAAV,oNAOTd,IAAWA,EAAMC,MAAMW,QAAQ,GAC9BZ,GAAUA,EAAMC,MAAMW,QAAQ,IAI/BG,MA1HuB,IAAqE,IAApE,SAAEC,EAAF,SAAYX,EAAZ,KAAsBY,EAAtB,QAA4BC,EAA5B,KAAqCX,EAArC,KAA2CY,EAA3C,GAAiDC,EAAjD,QAAqDC,GAAc,EACxG,MAAM,MAAEnB,EAAF,QAASU,GAAYU,qBAAWC,KAEtC,IAAIC,EAWAC,EACAC,EACApB,EAZJ,OAAQe,GACN,IAAK,YACHG,EAActB,EAAMyB,KAAK,KACzB,MACF,IAAK,UACL,QACEH,EAActB,EAAM0B,QAAQC,KAOhC,OAAQtB,GACN,IAAK,KACHmB,EAAgBd,EAAQ,GACxBa,EAAa,GACbnB,EAAW,GACX,MACF,IAAK,KACHoB,EAAgBd,EAAQ,GACxBa,EAAa,GACbnB,EAAW,GACX,MACF,IAAK,KACL,QACEoB,EAAgBd,EAAQ,GACxBa,EAAa,GACbnB,EAAW,GAGf,MAAMwB,EAAcC,kBAAQ,IACtBX,EACK,kBAACV,EAAD,CAAYU,GAAIA,GAAKD,GACnBF,EAEP,kBAACJ,EAAD,CAAoBI,KAAMA,EAAMe,OAAO,WACpCb,GAIEA,EAER,CAACF,EAAME,EAAMC,IAEhB,OACE,kBAACvB,EAAD,CACEO,eAtCAA,EAuCAF,MAAOsB,EACPnB,SAAUA,EACVC,SAAUA,EACVY,QAASA,EACTV,QAASkB,EACTnB,KAAMkB,GAELT,EACAc,I,4CCpBQG,MArCqC,IAQ7C,IAR8C,IACnDC,EADmD,MAEnDC,EAFmD,YAGnDC,EAHmD,UAInDC,EAJmD,UAKnDC,EALmD,OAMnDC,EANmD,UAOnDC,GACI,EACJ,MAAOC,EAAKC,GAAUC,mBAAS,IACzBC,EAAcb,kBAAQ,IAAMc,YAAsBX,GAAM,CAACA,IAEzDY,EAAeC,sBAAaC,GAAyCN,EAAOM,EAAEC,cAAcC,OAAQ,CAACR,IAErGS,EAAkBJ,sBAAY,KAClCL,EAAOE,IACN,CAACA,EAAaF,IAEjB,OACE,kBAACU,EAAA,EAAD,KACE,kBAACC,EAAA,EAAD,CAAYlC,KAAMgB,IAClB,kBAACmB,EAAA,EAAD,CACEJ,MAAOT,EACPc,YAAaJ,EACbK,SAAUV,EACVZ,IAAKU,EACLa,OAAQjB,IAEV,kBAACkB,EAAA,EAAD,CAAOvC,KAAMiB,IACb,kBAACuB,EAAA,EAAD,KACE,kBAAC,EAAD,CAAQxC,KAAK,SAASE,QAAQ,YAAYH,QAASoB,IACnD,kBAAC,EAAD,CAAQnB,KAAMoB,EAAQrB,QAAS,IAAMmB,EAAUI,Q,0BC3BxCmB,I,gBAAAA,EAlBf,WACE,MAAMC,EAAWC,cAEjB,OAAOf,uBACL,SAACgB,GAAwD,IAAjCC,EAAgC,uDANlC,gCAOpBD,EAAQE,MAAOC,IACTA,EAAIF,QAAQG,SAAS,iBAIzBC,QAAQC,MAAR,8BAAqCH,EAAII,QACzCT,EAAS,CAAEQ,MAAO,CAAEL,UAASM,MAAOJ,EAAII,cAG5C,CAACT,KCaL,MA2EMU,EAAkBzE,IAAO0E,IAAV,iLAOJxE,IAAWA,EAAMC,MAAMW,QAAQ,IAG1C6D,EAAiB3E,IAAO0E,IAAV,mLAOAxE,GAAUA,EAAMC,MAAMW,QAAQ,IAG5C8D,EAAkB5E,IAAO0E,IAAV,8FAGDxE,GAAUA,EAAMC,MAAMW,QAAQ,IAG5C+D,EAAsB7E,IAAO0E,IAAV,0HAENxE,GAAUA,EAAMC,MAAMW,QAAQ,GAC7BZ,GAAUA,EAAMC,MAAMW,QAAQ,GAC7BZ,GAAUA,EAAMC,MAAMW,QAAQ,IAG7CgE,EAAc9E,IAAO0E,IAAV,sHAOXK,EAAoB/E,IAAO0E,IAAV,+GAGNxE,GAAUA,EAAMC,MAAMW,QAAQ,IAIzCkE,EAAahF,IAAOiF,KAAV,0BAEVC,EAAyBlF,IAAO0E,IAAV,gJAQbS,MApImC,IAU3C,IAV4C,OACjD1C,EADiD,UAEjD2C,EAFiD,cAGjDC,EAHiD,QAIjDC,EAJiD,YAKjDC,EALiD,UAMjDC,EANiD,WAOjDC,EAPiD,SAQjDlF,GAAW,EARsC,oBASjDmF,GACI,EACJ,MAAMC,EAAa7B,KAEjB8B,WAAW,SAAEC,IACXC,eACGC,EAAeC,GAAWC,YAAWb,EAAWS,EAASK,SAE1DC,EAAUC,YAAgBhB,IACzBiB,EAAW7D,GAAa8D,YAC7B,kBAAC,EAAD,CACEjE,MAAOI,EACPH,YAAakD,EACbpD,IAAK+D,EACL5D,UAAYa,IACVqC,EAAWrC,GACXZ,KAEFC,OAAQA,EACRC,UAAW2C,KAGf,OACE,kBAACkB,EAAA,EAAD,KACE,kBAACC,EAAA,EAAD,KACE,kBAACtB,EAAD,KACE,kBAACT,EAAD,eAAqBhC,EAArB,YAA+B8C,IAC/B,kBAACX,EAAD,KACE,kBAACE,EAAD,KACE,kBAACH,EAAD,KACE,kBAAC8B,EAAA,EAAD,CAAa9C,OAAQyB,EAAUzB,OAAQlD,KAAM,MAE/C,kBAACmD,EAAA,EAAD,CAAOvC,KAAMgE,EAAe9D,QAAQ,YAEtC,kBAACsD,EAAD,MAEA,kBAACC,EAAD,KACE,kBAACH,EAAD,KACE,kBAAC8B,EAAA,EAAD,CAAa9C,OAAQ2B,EAAQ3B,OAAQlD,KAAM,MAE7C,kBAACmD,EAAA,EAAD,CAAOvC,KAAMkE,EAAahE,QAAQ,aAGtC,kBAACyD,EAAD,KAAaQ,GACb,kBAACT,EAAD,KACGgB,IAAkBW,IAAcC,UAAapG,EAU5C,kBAACU,EAAA,EAAD,CAAQb,MAAM,UAAUmB,QAAQ,YAAYH,QAASiF,EAAW9F,SAAUA,GACvEmF,GAAuBjD,GAV1B,kBAACxB,EAAA,EAAD,CACEb,MAAM,UACNmB,QAAQ,YACRhB,SAAUwF,IAAkBW,IAAcE,SAAWb,IAAkBW,IAAcG,QACrFzF,QAAS,IAAMuE,EAAWK,IAAD,4BAAiCX,KAJ5D,kBAMcA,S,qCCvEbyB,I,SAAAA,GAjBgB,KAC7B,MAAOC,EAAOC,GAAYnE,mBAAoBoE,KAAUC,KAAK,IACvDC,EAAcrB,cAEdsB,EAAiBnE,sBAAYoE,UACjCL,QAAeG,EAAYG,2BAC1B,CAACH,IAQJ,OANAI,oBAAU,KACRH,IAAiBjD,MAAOC,GAAQE,QAAQC,MAAR,sCAA6CH,EAAII,SACjF,MAAMgD,EAAkBC,YAAYL,EAAgBM,KAAOF,iBAC3D,MAAO,IAAMG,cAAcH,IAC1B,CAACR,EAAUG,EAAaC,IAEpBL,G,UCPT,MAWMtC,GAAkBzE,IAAO0E,IAAV,+FAGDxE,GAAUA,EAAMC,MAAMW,QAAQ,IAG5CkE,GAAahF,IAAOiF,KAAV,qEACF/E,GAAUA,EAAMC,MAAMC,MAAMC,KAAK,MAIzC6E,GAAyBlF,IAAO0E,IAAV,kKAMdxE,GAAUA,EAAMC,MAAMW,QAAQ,IAG7B8G,OA/BmC,IAAwC,IAAvC,UAAElF,EAAF,YAAaJ,EAAb,MAA0ByE,GAAY,EACvF,OACE,kBAACR,EAAA,EAAD,KACE,kBAAC,GAAD,KACE,kBAAC,GAAD,4BAAwB7D,EAAxB,cAAuCqE,EAAvC,SACA,kBAAC,GAAD,KAAazE,MCQNuF,OAnBa,KAC1B,MAAO1B,EAAS2B,GAAcjF,mBAASoE,KAAUC,KAAK,IAChDC,EAAcrB,cAcpB,OAZAyB,oBAAU,MACRF,iBACI,IACIS,QAAiBX,EAAYY,uBAEjC,MAAM3D,GACFE,QAAQC,MAAMH,IAGtB4D,IACC,CAACF,EAAYX,IAEThB,GCpBF,MAAM8B,GAAchB,KAAUC,KAAK,IAAIgB,IAAI,IAGrCC,GAAuBF,GAAYG,IAAI,KAAK1D,IAAI,K,uBCuB7D,MAkGM2D,GAAarI,IAAO0E,IAAV,+JASV4D,GAAoBtI,IAAO0E,IAAV,4IASjB6D,GAAqBvI,IAAO0E,IAAV,wLAYT8D,OAhIO,KACpB,MAAM,KAAEC,GAASC,eACX,QAAEC,GAAYC,cACdzB,EAAcrB,cACd+C,EAAiBC,eACjBC,EAAWC,eACXC,EAAYnC,KACZoC,EAAmBrB,KAEnBsB,EAAc/C,YAAe,OAACe,QAAD,IAACA,OAAD,EAACA,EAAaiC,OAE3CC,EAAiBpG,sBACrBoE,UACE,MAAMiC,QAAWnC,EAAYoC,SAASC,GACtCX,EAAeS,EAAI,CACjBG,QAAQ,OAAD,OAASC,OAAOF,GAAQG,QAAQ,GAAhC,wBAAkDH,EAAlD,aAGX,CAACrC,EAAa0B,IAGVe,EAAoB3G,sBACxBoE,UACE,MAAMiC,QAAWnC,EAAY0C,YAAYL,GACzCX,EAAeS,EAAI,CAAEG,QAAQ,UAAD,OAAYD,EAAZ,cAE9B,CAACrC,EAAa0B,IAEViB,EAAmB7H,kBAAQ,IAAMgH,EAAUc,GAAG5B,IAAuB,CAACc,IACtEe,EAAoB/H,kBAAQ,IAAMyH,OAAM,OAACX,QAAD,IAACA,OAAD,EAACA,EAAUkB,YAAc,KAAM,CAAClB,IAE9E,OACE,kBAAC,IAAD,KACE,kBAACmB,EAAA,EAAD,KAEKvB,EACD,oCACE,kBAAC,IAAD,CAAOwB,OAAK,EAAC1B,KAAMA,GACnB,kBAAC2B,GAAA,EAAD,CAAYhK,MAAM,cAAciK,MAAM,SAAS9I,QAAQ,KAAK+I,cAAY,GAAxE,SAGE,kBAACF,GAAA,EAAD,CAAYhK,MAAM,cAAciK,MAAM,SAAS9I,QAAQ,KAAK+I,cAAY,GAAxE,kCAIF,kBAACjC,GAAD,CAAYkC,MAAO,CAACC,UAAU,SAC5B,kBAAClC,GAAD,KACE,kBAAC,EAAD,CACE7F,OAAO,WACP2C,UAAW+B,EAAYsD,KACvBpF,cAAc,QACdC,QAAS6B,EAAYiC,MACrB7D,YAAY,SACZC,UACGwE,EAEGU,YAAkBxB,EAAkB,GAAI,GAAK,iCAD7C,oBAGNzD,WAAY4D,EACZ9I,UAAWwI,GAAYe,KAG3B,kBAACvB,GAAD,KACE,kBAAC,GAAD,CACE7F,UAAU,QACVJ,YAAY,uBACZyE,MAAO2D,YAAkBzB,EAAW,GAAI,KAE1C,kBAAC0B,EAAA,EAAD,CAAQlK,KAAK,OACb,kBAAC,GAAD,CACEiC,UAAU,SACVJ,YAAY,2BACZyE,MAAO2C,OAAM,OAACX,QAAD,IAACA,OAAD,EAACA,EAAUkB,YAAYN,QAAQ,IAAM,OAGtD,kBAACrB,GAAD,KACE,kBAAC,EAAD,CACE7F,OAAO,SACP2C,UAAW+B,EAAYiC,MACvB/D,cAAc,SACdC,QAAS6B,EAAYsD,KACrBlF,YAAY,QACZC,UAAS,UAAKkF,YAAkBvB,GAAvB,+BACT1D,WAAYmE,EACZrJ,UAAWwI,GAAYI,EAAYyB,GAAG,KAAOd,EAC7CpE,oBAAsBoE,EAAqE,KAAtE,+BD7GN,KC6GM,aAM7B,kBAACe,EAAA,EAAD,U,qBCvHVC,EAAOC,QAAU,IAA0B,kC,qBCA3CD,EAAOC,QAAU,IAA0B,kC,2UCwB5BC,I,YAAAA,EApBa,KAC1B,MAAOC,EAAkBC,GAAuBrI,mBAAiB,IAC3D,YAAEsI,GAAgBC,cAClBjE,EAAcrB,cAcpB,OAZAyB,oBAAU,MACRF,iBACE,IACE6D,QAA0B/D,EAAYkE,uBAExC,MAAMjH,GACJE,QAAQC,MAAMH,IAGlBkH,IACC,CAACJ,EAAqB/D,EAAagE,IAE/BF,G,uNCgCT,MAAMM,EAAYC,YAAYrL,IAAD,CAC3BF,OAAQ,CACN,CAACE,EAAMsL,YAAYC,KAAK,QAAS,CAC/BlB,UAAW,SAGfmB,KAAM,CACJC,gBAAiB,2BACjBtL,UAAW,WAuvBKN,IAAO0E,IAAV,yGACHxE,GAAUA,EAAMC,MAAMC,MAAMC,KAAK,MAKzBL,IAAO0E,IAAV,2MASF1E,IAAO0E,IAAV,wLAQe1E,IAAO0E,IAAV,6IAQXmH,MA7wBF,KACKC,YAAc,qBACVC,cACJR,IAFhB,MAGMS,EAAMhB,IACNiB,EAAiBC,YAAW,gBAC5BC,EAAmBD,YAAW,iBAC9BE,EAAYC,cACZC,EAAcC,cACdC,EAAaxD,cACb7B,EAAcrB,eACZiB,MAAO0F,EAAUC,UAAWC,EAAcC,YAAaC,GAAmBC,eAC1E3G,QAAS4G,GAAeC,eAC1B,QACJ7G,EADI,qBAEJ8G,EAFI,kBAGJC,EAHI,qBAIJC,EAJI,aAKJC,GALI,gBAMJC,GANI,gBAOJC,IACEN,eAEE,QAAErE,IAAYC,eAEb2E,IAASC,cAEVC,IADcF,GAAMG,OAAQC,IAAUA,EAAKC,UAC/BL,GAAMG,OAAQC,GAA2B,4BAAlBA,EAAKE,UAAwC,IAChFC,GAAeP,GAAMG,OAAQC,GAA2B,+BAAlBA,EAAKE,UAA2C,GACtFE,GAAgBR,GAAMG,OAAQC,GAA2B,gCAAlBA,EAAKE,UAA4C,GAExFG,GAAqBC,YAAiBR,GAAUI,SAAUJ,GAAUS,OAAQ,GAC5EC,GAAwBF,YAAiBH,GAAaD,SAAUC,GAAaI,OAAQ,GACrFE,GAAyBH,YAAiBF,GAAcF,SAAUE,GAAcG,OAAQ,GACxFG,GAAiCC,YACrCb,GAAUc,iBACVd,GAAUe,cAENC,GAAoCH,YACxCR,GAAaS,iBACbT,GAAaU,cAETE,GAAqCJ,YACzCP,GAAcQ,iBACdR,GAAcS,cAEVG,IACJjF,OAAO2E,IACP3E,OAAOgB,YAAkBsD,GAAoBP,GAAUe,aAAaI,WACpEjF,QAAQ,GACJkF,IACJnF,OAAO+E,IACP/E,OAAOgB,YAAkByD,GAAuBL,GAAaU,aAAaI,WAC1EjF,QAAQ,GACJmF,IACJpF,OAAOgF,IACPhF,OAAOgB,YAAkB0D,GAAwBL,GAAcS,aAAaI,WAC5EjF,QAAQ,GACJoF,GAAgBC,YAAYvB,GAAUI,SAAUJ,GAAUwB,cAAexB,GAAUS,QACnFgB,GAAmBF,YAAYlB,GAAaD,SAAUC,GAAamB,cAAenB,GAAaI,QAC/FiB,GAAoBH,YACxBjB,GAAcF,SACdE,GAAckB,cACdlB,GAAcG,QAEVkB,GAA8C,UAA5B3B,GAAUwB,cAA4B3C,EAAcF,EACtEiD,GAAoD,UAA/BvB,GAAamB,cAA4B3C,EAAcF,EAC5EkD,GAAsD,UAAhCvB,GAAckB,cAA4B3C,EAAcF,EAC9EmD,GAA2BtN,kBAC/B,IAAOmN,GAAkB1F,OAAO0F,GAAgBI,gBAAgB7F,QAAQ,GAAK,KAC7E,CAACyF,KAEGK,GAA8BxN,kBAClC,IAAOoN,GAAqB3F,OAAO2F,GAAmBG,gBAAgB7F,QAAQ,GAAK,KACnF,CAAC0F,KAEGK,GAA+BzN,kBACnC,IAAOqN,GAAsB5F,OAAO4F,GAAoBE,gBAAgB7F,QAAQ,GAAK,KACrF,CAAC2F,KAEGK,IACJjG,OAAO6F,IAA4B7F,OAAOgB,YAAkBqE,MAC5DpF,QAAQ,GAEJiG,IACJlG,OAAO+F,IAA+B/F,OAAOgB,YAAkBwE,MAC/DvF,QAAQ,GACJkG,IACJnG,OAAOgG,IAAgChG,OAAOgB,YAAkByE,MAChExF,QAAQ,GAGV,IAAImG,GACAC,GAKFD,GAAOE,OACPD,GAASE,SAGgDH,GAAK5J,QACH6J,GAAO7J,QAEhDjE,kBAAQ,IAAOgK,GAAkC,KAAO,CAACA,IACvDhK,kBAAQ,IAAOkK,GAAsC,KAAO,CAACA,IAJnF,MAKM+D,GAAqBjO,kBACzB,IAAOmK,EAAY1C,OAAO0C,EAAUoD,gBAAgB7F,QAAQ,GAAK,KACjE,CAACyC,IAGG+D,IADiBlO,kBAAQ,IAAOmK,EAAY1C,OAAO0C,EAAUnC,YAAYN,QAAQ,GAAK,KAAO,CAACyC,IACtEnK,kBAAQ,IAAOmK,EAAYgE,OAAOhE,EAAUiE,mBAAqB,KAAO,CAACjE,KACjGkE,GAAkBrO,kBAAQ,IAAOmK,EAAYgE,OAAOhE,EAAUmE,aAAe,KAAO,CAACnE,IAErFoE,GAAuBvO,kBAC3B,IAAOqK,EAAc5C,OAAO4C,EAAYkD,gBAAgB7F,QAAQ,GAAK,KACrE,CAAC2C,IAMGmE,IAJmBxO,kBACvB,IAAOqK,EAAc5C,OAAO4C,EAAYrC,YAAYN,QAAQ,GAAK,KACjE,CAAC2C,IAE6BrK,kBAC9B,IAAOqK,EAAc8D,OAAO9D,EAAY+D,mBAAqB,KAC7D,CAAC/D,KAEGoE,GAAoBzO,kBAAQ,IAAOqK,EAAc8D,OAAO9D,EAAYiE,aAAe,KAAO,CAACjE,IAE3FqE,GAAsB1O,kBAC1B,IAAOuK,EAAa9C,OAAO8C,EAAWgD,gBAAgB7F,QAAQ,GAAK,KACnE,CAAC6C,IAEGoE,GAAkB3O,kBAAQ,IAAOuK,EAAa9C,OAAO8C,EAAWvC,YAAYN,QAAQ,GAAK,KAAO,CAAC6C,IACjGqE,GAAyB5O,kBAC7B,IAAOuK,EAAa4D,OAAO5D,EAAW6D,mBAAqB,KAC3D,CAAC7D,IAEGsE,GAAmB7O,kBAAQ,IAAOuK,EAAa4D,OAAO5D,EAAW+D,aAAe,KAAO,CAAC/D,IACxFuE,GAAYC,YAAO,CAAEzC,iBAAkB,iBACvC0C,GAAcD,YAAO,CAAEzC,iBAAkB,kBAGzC2C,GAAc9K,YAAgBe,EAAYsD,MAI1C0G,KAHqBlP,kBAAQ,IAAMyI,YAAkBwG,IAAc,CAACA,KACvBhB,IAAoBvG,QAAQ,GAEzDvD,YAAgBe,EAAYiK,SAI5CC,KAHuBpP,kBAAQ,IAAMyI,YAAkByG,IAAgB,CAACA,KACvBX,IAAsB7G,QAAQ,GAEhEvD,YAAgBe,EAAYiC,SAmB1CkI,GAAkBC,MAlBGtP,kBAAQ,IAAMyI,YAAkB2G,IAAe,CAACA,KACvBT,IAAiBjH,QAAQ,GAE3D3J,IAAOgB,EAAV,sGAMJhB,IAAO0E,IAAV,mMASqC4B,YAC5C,kBAACkL,EAAA,EAAD,CACEC,SAAU,GACVlP,UAAW,CAACmP,EAAchP,EAAW8G,KAC/BE,OAAOF,IAAW,GAAKmI,MAAMjI,OAAOF,MACxCuH,GAAUa,MAAMF,EAAchP,EAAW8G,GACzC+H,OAEF7O,UAAW,oBAIRmP,GAAoBC,IAAuBxL,YAChD,kBAACkL,EAAA,EAAD,CACEC,SAAU,GACVlP,UAAW,CAACmP,EAAchP,EAAW8G,KAC/BE,OAAOF,IAAW,GAAKmI,MAAMjI,OAAOF,MACxCyH,GAAYW,MAAMF,EAAchP,EAAW8G,GAC3CsI,OAEFpP,UAAW,oBAIRqP,IAAkBzL,YACvB,kBAAChD,EAAA,EAAD,KACE,kBAAC0O,EAAA,EAAD,CAAKC,EAAG,GACN,wBAAI1H,MAAO,CAAEnK,MAAO,YAApB,cACA,8CACA,kHACA,+JAoCN,OACE,kBAAC8J,EAAA,EAAD,KAEE,kBAACgI,EAAA,EAAD,CAAMC,WAAS,EAACrR,QAAS,GAGvB,kBAACoR,EAAA,EAAD,CAAMC,WAAS,EAACC,UAAU,SAASC,WAAW,SAASC,eAAe,UACpE,kBAACJ,EAAA,EAAD,CAAMK,MAAI,EAACC,GAAI,GAAIC,GAAI,GACrB,kBAACT,EAAA,EAAD,CAAKC,EAAG,EAAGK,eAAe,SAASD,WAAW,UAC5C,kBAACjI,EAAA,EAAD,CAAY7I,QAAQ,KAAKmR,WAAW,OAAOrI,MAAM,UAAjD,wCAIF,kBAAC2H,EAAA,EAAD,CAAKzH,MAAO,CAAE+H,eAAgB,SAAUD,WAAY,SAAUM,QAAS,SACrE,kBAAC1R,EAAA,EAAD,CACEsJ,MAAO,CAAEqI,aAAc,QACvBrS,UAAU,EACVa,QAAS2Q,GACTxQ,QAAQ,aAJV,gBAaN,kBAAC2Q,EAAA,EAAD,CAAMC,WAAS,EAACU,QAAQ,UACtB,kBAACb,EAAA,EAAD,CAAKc,GAAI,EAAGvI,MAAO,CAAE+H,eAAgB,SAAUK,QAAS,OAAQI,cAAe,SAAUV,WAAY,WACnG,kDACA,kBAAC,IAAD,CAAS9H,MAAO,CAAE/J,SAAU,OAAQoS,aAAc,QAAUI,IAAKhH,EAAKiH,UAAU,IAAIC,OAAO,QAI/F,kBAAChB,EAAA,EAAD,CAAMC,WAAS,EAACG,eAAe,eAAeD,WAAW,SAASG,GAAI,GAAIC,GAAI,GAAIlI,MAAO,CAAEC,UAAW,SACpG,kBAAC0H,EAAA,EAAD,CAAMC,WAAS,EAACI,MAAI,EAACC,GAAI,GAAIC,GAAI,EAAG3R,QAAS,GAC3C,kBAACoR,EAAA,EAAD,CAAMK,MAAI,EAACC,GAAI,IACb,kBAACjM,EAAA,EAAD,KACE,kBAACC,EAAA,EAAD,CAAa+D,MAAO,CAAE4I,SAAU,aAC9B,kBAACjB,EAAA,EAAD,CAAMC,WAAS,EAAC5H,MAAO,CAAEoI,QAAS,OAAQjS,QAAS,SACjD,kBAACwR,EAAA,EAAD,CAAMK,MAAI,EAACC,GAAI,EACbjI,MAAO,CACLoI,QAAS,OACTL,eAAgB,SAChBD,WAAY,SACZU,cAAe,WAGjB,kBAACtM,EAAA,EAAD,CAAa9C,OAAO,OAAO4G,MAAO,CAAEqB,gBAAiB,4BACrD,wBAAIrB,MAAO,CAAE6I,WAAY,SAAzB,SACA,iDAEF,kBAAClB,EAAA,EAAD,CAAMK,MAAI,EAACC,GAAI,EAAGjI,MAAO,CAAE7J,QAAS,OAAQiS,QAAS,OAAQI,cAAe,SAAUT,eAAgB,SAAUD,WAAY,YAC1H,kBAACH,EAAA,EAAD,CAAM3H,MAAO,CAAEoI,QAAS,OAAQL,eAAgB,gBAAiBD,WAAY,WAC3E,2CACA,iCACKlC,GAAwBD,IAAoBvG,QAAQ,KAG3D,kBAACuI,EAAA,EAAD,CAAM3H,MAAO,CAAEoI,QAAS,OAAQL,eAAgB,gBAAiBD,WAAY,WAC3E,mDACA,4BAAMlC,KAGR,kBAAC+B,EAAA,EAAD,CAAM3H,MAAO,CAAEoI,QAAS,OAAQL,eAAgB,gBAAiBD,WAAY,WAC3E,6CACA,4BAAM/B,KAGR,kBAAC4B,EAAA,EAAD,CAAM3H,MAAO,CAAEoI,QAAS,OAAQL,eAAgB,gBAAiBe,SAAU,OAAQ7I,UAAW,SAC5F,kBAAC0H,EAAA,EAAD,CAAMM,GAAI,GAAIC,GAAI,EAAGlI,MAAO,CAAEoI,QAAS,OAAQL,eAAgB,eAAgBD,WAAY,aACzF,wBAAI9H,MAAO,CAAE/J,SAAU,SAAvB,IAAmC0P,IAA0C,SAE/E,kBAACgC,EAAA,EAAD,CAAMM,GAAI,GAAIC,GAAI,EAAGlI,MAAO,CAAEoI,QAAS,OAAQL,eAAgB,SAAUD,WAAY,aAEnF,kBAACpR,EAAA,EAAD,CACEb,MAAM,UACNmB,QAAQ,YACRgJ,MAAO,CAAEC,UAAW,OAAQ8I,YAAa,QACzCpR,OAAO,SACPf,KAjUJ,8FA4TE,WASA,kBAACF,EAAA,EAAD,CACEb,MAAM,UACNmB,QAAQ,YACRgJ,MAAO,CAAEC,UAAW,QACpBtI,OAAO,SACPf,KAzUH,gFAoUC,gBAmBd,kBAAC+Q,EAAA,EAAD,CAAMK,MAAI,EAACC,GAAI,IACb,kBAACjM,EAAA,EAAD,KACE,kBAACC,EAAA,EAAD,CAAa+D,MAAO,CAAE4I,SAAU,aAC9B,kBAACjB,EAAA,EAAD,CAAMC,WAAS,EAAC5H,MAAO,CAAEoI,QAAS,OAAQjS,QAAS,SACjD,kBAACwR,EAAA,EAAD,CAAMK,MAAI,EAACC,GAAI,EACbjI,MAAO,CACLoI,QAAS,OACTL,eAAgB,SAChBD,WAAY,SACZU,cAAe,WAGjB,kBAACtM,EAAA,EAAD,CAAa9C,OAAO,SAAS4G,MAAO,CAAEqB,gBAAiB,4BACvD,wBAAIrB,MAAO,CAAE6I,WAAY,SAAzB,SACA,8CAEF,kBAAClB,EAAA,EAAD,CAAMK,MAAI,EAACC,GAAI,EAAGjI,MAAO,CAAE7J,QAAS,OAAQiS,QAAS,OAAQI,cAAe,SAAUT,eAAgB,SAAUD,WAAY,YAC1H,kBAACH,EAAA,EAAD,CAAM3H,MAAO,CAAEoI,QAAS,OAAQL,eAAgB,gBAAiBD,WAAY,WAC3E,2CACA,iCACK5B,GAA0BD,IAAsB7G,QAAQ,KAG/D,kBAACuI,EAAA,EAAD,CAAM3H,MAAO,CAAEoI,QAAS,OAAQL,eAAgB,gBAAiBD,WAAY,WAC3E,mDACA,4BAAM5B,KAGR,kBAACyB,EAAA,EAAD,CAAM3H,MAAO,CAAEoI,QAAS,OAAQL,eAAgB,gBAAiBD,WAAY,WAC3E,6CACA,4BAAM3B,KAGR,kBAACwB,EAAA,EAAD,CAAM3H,MAAO,CAAEoI,QAAS,OAAQL,eAAgB,gBAAiBe,SAAU,OAAQ7I,UAAW,SAC5F,kBAAC0H,EAAA,EAAD,CAAMM,GAAI,GAAIC,GAAI,EAAGlI,MAAO,CAAEoI,QAAS,OAAQL,eAAgB,eAAgBD,WAAY,aACzF,wBAAI9H,MAAO,CAAE/J,SAAU,SAAvB,IAAmCgQ,IAA8C,SAEnF,kBAAC0B,EAAA,EAAD,CAAMM,GAAI,GAAIC,GAAI,EAAGlI,MAAO,CAAEoI,QAAS,OAAQL,eAAgB,SAAUD,WAAY,aAEnF,kBAACpR,EAAA,EAAD,CACEb,MAAM,UACNmB,QAAQ,YACRgJ,MAAO,CAAEC,UAAW,OAAQ8I,YAAa,QACzCpR,OAAO,SACPf,KAjYJ,8FA4XE,WASA,kBAACF,EAAA,EAAD,CACEb,MAAM,UACNmB,QAAQ,YACRgJ,MAAO,CAAEC,UAAW,QACpBtI,OAAO,SACPf,KA3YH,gFAsYC,gBAkBd,kBAAC+Q,EAAA,EAAD,CAAMK,MAAI,EAACC,GAAI,IACb,kBAACjM,EAAA,EAAD,KACE,kBAACC,EAAA,EAAD,CAAa+D,MAAO,CAAE4I,SAAU,aAC9B,kBAACjB,EAAA,EAAD,CAAMC,WAAS,EAAC5H,MAAO,CAAEoI,QAAS,OAAQjS,QAAS,SACjD,kBAACwR,EAAA,EAAD,CAAMK,MAAI,EAACC,GAAI,EACbjI,MAAO,CACLoI,QAAS,OACTL,eAAgB,SAChBD,WAAY,SACZU,cAAe,WAGjB,kBAACtM,EAAA,EAAD,CAAa9C,OAAO,QAAQ4G,MAAO,CAAEqB,gBAAiB,4BACtD,wBAAIrB,MAAO,CAAE6I,WAAY,SAAzB,UACA,2CAEF,kBAAClB,EAAA,EAAD,CAAMK,MAAI,EAACC,GAAI,EAAGjI,MAAO,CAAE7J,QAAS,OAAQiS,QAAS,OAAQI,cAAe,SAAUT,eAAgB,SAAUD,WAAY,YAC1H,kBAACH,EAAA,EAAD,CAAM3H,MAAO,CAAEoI,QAAS,OAAQL,eAAgB,gBAAiBD,WAAY,WAC3E,2CACA,iCACKxB,GAAyBF,IAAqBhH,QAAQ,KAG7D,kBAACuI,EAAA,EAAD,CAAM3H,MAAO,CAAEoI,QAAS,OAAQL,eAAgB,gBAAiBD,WAAY,WAC3E,mDACA,4BAAMxB,KAGR,kBAACqB,EAAA,EAAD,CAAM3H,MAAO,CAAEoI,QAAS,OAAQL,eAAgB,gBAAiBD,WAAY,WAC3E,6CACA,4BAAMvB,KAGR,kBAACoB,EAAA,EAAD,CAAM3H,MAAO,CAAEoI,QAAS,OAAQL,eAAgB,gBAAiBe,SAAU,OAAQ7I,UAAW,SAC5F,kBAAC0H,EAAA,EAAD,CAAMM,GAAI,GAAIC,GAAI,EAAGlI,MAAO,CAAEoI,QAAS,OAAQL,eAAgB,eAAgBD,WAAY,aACzF,wBAAI9H,MAAO,CAAE/J,SAAU,SAAvB,IAAmCmQ,IAA4C,SAEjF,kBAACuB,EAAA,EAAD,CAAMM,GAAI,GAAIC,GAAI,EAAGlI,MAAO,CAAEoI,QAAS,OAAQL,eAAgB,SAAUD,WAAY,aAEnF,kBAAC,IAAD,CAAM9H,MAAO,CAAEgJ,eAAgB,QAAUjS,GAAG,UAC1C,kBAACL,EAAA,EAAD,CAAQM,QAAQ,YAAYnB,MAAM,UAAUmK,MAAO,CAAEC,UAAW,OAAQoB,gBAAiB,YAAzF,uBAelB,kBAACsG,EAAA,EAAD,CAAMK,MAAI,EAAChI,MAAO,CAAEiJ,OAAQ,QAAUf,GAAI,EAAGD,GAAI,IAC/C,kBAACjM,EAAA,EAAD,CAAMiM,GAAI,IACR,kBAAChM,EAAA,EAAD,KAEE,yBACE+D,MAAO,CACLoI,QAAS,OACTjS,QAAS,OACT0S,WAAY,MACZL,cAAe,SACfU,OAAQ,OACRnB,eAAgB,iBAIlB,yBAAK/H,MAAO,CAAEoI,QAAS,OAAQL,eAAgB,SAAUM,aAAc,SACrE,wCAEF,yBAAKrI,MAAO,CAAEoI,QAAS,OAAQnI,UAAW,SACxC,yBAAKD,MAAO,CAAEmJ,MAAO,MAAOf,QAAS,OAAQI,cAAe,SAAUV,WAAY,WAEhF,kBAAC5L,EAAA,EAAD,CAAa9C,OAAO,eAAe4G,MAAO,CAAEqB,gBAAiB,4BAC7D,6CAEF,yBAAKrB,MAAO,CAAEmJ,MAAO,MAAOf,QAAS,OAAQI,cAAe,SAAUT,eAAgB,SAAUD,WAAY,WAC1G,yBACE9H,MAAO,CACLoI,QAAS,OACTgB,aAAc,gBACdrB,eAAgB,gBAChBoB,MAAO,SAGT,8CACA,8CAAW7E,MAGb,yBACEtE,MAAO,CACLoI,QAAS,OACTgB,aAAc,gBACdrB,eAAgB,gBAChBoB,MAAO,SAGT,+CACA,8CAAW9D,MAGb,yBAAKrF,MAAO,CAAEoI,QAAS,OAAQL,eAAgB,WAAY9H,UAAW,YAO1E,yBAAKD,MAAO,CAAEoI,QAAS,OAAQnI,UAAW,SACxC,yBAAKD,MAAO,CAAEmJ,MAAO,MAAOf,QAAS,OAAQI,cAAe,SAAUV,WAAY,WAChF,kBAAC5L,EAAA,EAAD,CAAa9C,OAAO,gBAAgB4G,MAAO,CAAEqB,gBAAiB,4BAC9D,8CAEF,yBAAKrB,MAAO,CAAEmJ,MAAO,MAAOf,QAAS,OAAQI,cAAe,SAAUT,eAAgB,SAAUD,WAAY,WAC1G,yBACE9H,MAAO,CACLoI,QAAS,OACTgB,aAAc,gBACdrB,eAAgB,gBAChBoB,MAAO,SAGT,8CACA,8CAAW5E,MAGb,yBACEvE,MAAO,CACLoI,QAAS,OACTgB,aAAc,gBACdrB,eAAgB,gBAChBoB,MAAO,SAGT,+CACA,8CAAW7D,MAGb,yBAAKtF,MAAO,CAAEoI,QAAS,OAAQL,eAAgB,WAAY9H,UAAW,YAO1E,yBAAKD,MAAO,CAAEoI,QAAS,OAAQnI,UAAW,SACxC,yBAAKD,MAAO,CAAEmJ,MAAO,MAAOf,QAAS,OAAQI,cAAe,SAAUV,WAAY,WAChF,kBAAC5L,EAAA,EAAD,CAAa9C,OAAO,QAAQ4G,MAAO,CAAEqB,gBAAiB,4BACtD,sCAEF,yBAAKrB,MAAO,CAAEmJ,MAAO,MAAOf,QAAS,OAAQI,cAAe,SAAUT,eAAgB,SAAUD,WAAY,WAC1G,yBACE9H,MAAO,CACLoI,QAAS,OACTgB,aAAc,gBACdrB,eAAgB,gBAChBoB,MAAO,SAGT,8CACA,8CAAW/E,MAEb,yBACEpE,MAAO,CACLoI,QAAS,OACTgB,aAAc,gBACdrB,eAAgB,gBAChBoB,MAAO,SAGT,+CACA,8CAAW/D,iB,iCCzoBnC,oBASevE,IALI,KACjB,MAAM,KAAEwI,EAAF,KAAQC,GAASrS,qBAAWsS,KAClC,MAAO,CAAEC,YAAaH,EAAMzI,YAAa0I,K,iGCH3C,MAEMG,E,MAAahU,EAAO0E,IAAV,2bAC2BxE,GAAUA,EAAMC,MAAMC,MAAMC,KAAK,MAa7DkG,MAhBQ,QAAC,SAAErF,GAAH,SAAkB,kBAAC8S,EAAD,KAAa9S,K,iCCHtD,4BA2Be+S,IAtBf,WACE,MAAMpL,EAAiBC,cACjB/E,EAAWC,cAEjB,OAAOf,sBACL,CAACgB,EAAuCwF,KACtCxF,EACGiQ,KAAM5K,GAAOT,EAAeS,EAAI,CAAEG,aAClCtF,MAAOC,IACN,GAAIA,EAAIF,QAAQG,SAAS,eAEvB,OAEF,MAAMH,EAAO,oBAAgBuF,EAAQ,GAAG0K,eAA3B,OAA2C1K,EAAQ2K,MAAM,IACtE9P,QAAQC,MAAR,UAAiBL,EAAjB,aAA6BE,EAAIF,SAAWE,EAAII,QAChDT,EAAS,CAAEQ,MAAO,CAAEL,UAASM,MAAOJ,EAAIF,SAAWE,EAAII,YAG7D,CAACT,EAAU8E,M,2HCff,MAqBMwL,EAAkBrU,IAAO0E,IAAV,mIAGLxE,GAAUA,EAAMwT,MAChBxT,GAAUA,EAAMC,MAAMW,QAAQ,IAI/BwT,I,EAAAA,EA7B6B,IAAgC,IAA/B,SAAEpT,EAAF,KAAYT,EAAO,MAAW,EACzE,MAAM,UAAE8T,GAAc/S,qBAAkCC,KACxD,IAAIiS,EACJ,OAAQjT,GACN,IAAK,KACHiT,EAAQa,EAAY,EACpB,MACF,IAAK,KACHb,EAAqB,EAAZa,EAAiB,EAC1B,MACF,IAAK,KACL,QACEb,EAAQa,EAEZ,OAAO,kBAACF,EAAD,CAAiBX,MAAOA,GAAQxS,ICXzC,MAYMsT,EAAcxU,IAAO0E,IAAV,2EAKFpB,MAjBS,IAAmB,IAAlB,SAAEpC,GAAe,EACxC,OACE,kBAAC,EAAD,CAAWT,KAAK,MACd,kBAAC+T,EAAD,KACE,kBAACjO,EAAA,EAAD,KACE,kBAACC,EAAA,EAAD,KAActF,Q,iCChBxB,oCA0BekF,IApBUqO,IACvB,MAAOtO,EAAS2B,GAAcjF,mBAASoE,IAAUC,KAAK,IAChDC,EAAcrB,cACd4O,EAAU,OAAGvN,QAAH,IAAGA,OAAH,EAAGA,EAAauN,WAE1BC,EAAe1R,sBAAYoE,UAC/BS,QAAiB2M,EAAMG,UAAUzN,EAAY0N,aAC5C,CAACJ,EAAOtN,EAAY0N,YAUvB,OARAtN,oBAAU,KACR,GAAImN,EAAY,CACdC,IAAexQ,MAAOC,GAAQE,QAAQC,MAAR,yCAAgDH,EAAII,SAClF,IAAIgD,EAAkBC,YAAYkN,EAAcjN,IAAOF,iBACvD,MAAO,IAAMG,cAAcH,KAE5B,CAACkN,EAAYD,EAAOE,EAAcxN,IAE9BhB,I,iGChBT,MAEM2O,E,MAAmB9U,EAAO0E,IAAV,mMAERxE,GAAUA,EAAMC,MAAMC,MAAMC,KAAK,KAIlCH,GAAUA,EAAMC,MAAM4U,WAElB7U,IAAWA,EAAMC,MAAMW,QAAQ,IAGjCyC,MAb+B,QAAC,KAAElC,GAAH,SAAc,kBAACyT,EAAD,KAAmBzT,K,2ZCoB/E,MAAM2T,EAA6C,CAGjDC,QAASC,IACTC,UAAWC,IACXC,KAAMC,IACNC,KAAKC,IACL,gBAAiBC,IACjB,iBAAkBC,IAClB,kBAAmBC,IACnB,MAASC,IACT,OAAUC,IACV,KAAQC,IACR,OAAUC,IACV,MAASC,IACT,eAAgBC,IAChB,eAAgBC,IAChB,IAAOZ,IACP,cAAea,IACf,gBAAiBC,IACjB,MAASlB,IACT,OAAUc,IACV,MAASD,IACT,MAASM,IACT,iBAAiBC,IACjB,gBAAgBC,IAChB,iBAAiBC,IACjB,iBAAiBC,IACjB,gBAAgBC,KA2BHjQ,MAlB0B,IAAe,IAAd,OAAC9C,GAAY,EACrD,IAAKqR,EAAcrR,GACjB,MAAM,IAAIgT,MAAJ,qCAAwChT,IAEhD,MAAc,SAAXA,GAAgC,WAAXA,GAAkC,UAAXA,GAAkC,cAAXA,GAAqC,eAAXA,EACvF,yBAAKiT,IAAK5B,EAAcrR,GAASkT,IAAG,UAAKlT,EAAL,SAAoB+P,MAAO,GAAID,OAAQ,KAC9D,iBAAX9P,GAAuC,kBAAXA,GAIf,WAAXA,GAAiC,UAAXA,EAH1B,yBAAKiT,IAAK5B,EAAcrR,GAASkT,IAAG,UAAKlT,EAAL,SAAoB+P,MAAO,GAAID,OAAQ,KAM3E,yBAAKmD,IAAK5B,EAAcrR,GAASkT,IAAG,UAAKlT,EAAL,SAAoB+P,MAAO,IAAKD,OAAQ,Q,iCC5EvF,uGASO,SAAS3K,IAId,MAAM,QAAEgO,EAAF,QAAWnO,GAAYC,cACvBmO,EAAWC,cAEjB,OAAO/T,uBACL,SACEgU,GAEI,IADJ,QAAExN,EAAF,SAAWyN,GACR,uDADiG,GAEpG,IAAKvO,EAAS,OACd,IAAKmO,EAAS,OAEd,MAAM,KAAEK,GAASF,EACjB,IAAKE,EACH,MAAMR,MAAM,8BAEdI,EAASlO,YAAe,CAAEsO,OAAMjQ,KAAMyB,EAASmO,UAASI,WAAUzN,eAEpE,CAACsN,EAAUD,EAASnO,IAKjB,SAASyO,IAAgE,IAAD,EAC7E,MAAM,QAAEN,GAAYlO,cACdyO,EAAQC,YAAiDD,GAAUA,EAAME,cAE/E,OAAOT,GAAO,UAAGO,EAAMP,UAAT,QAA0B,GAoBnC,SAASU,EAAsBC,EAAkCC,GACtE,MAAMC,EAAkBP,IACxB,OAAOnV,kBACL,IAC0B,kBAAjBwV,GACY,kBAAZC,GACPE,OAAOC,KAAKF,GAAiBG,KAAMX,IACjC,MAAM7N,EAAKqO,EAAgBR,GAC3B,IAAK7N,EAAI,OAAO,EAChB,GAAIA,EAAGyO,QACL,OAAO,EACF,CACL,MAAMb,EAAW5N,EAAG4N,SACpB,QAAKA,IACEA,EAASQ,UAAYA,GAAWR,EAASO,eAAiBA,GAnBpE,SAA6BnO,GAClC,OAAO,IAAI0O,MAAOC,UAAY3O,EAAG4O,UAAY,MAkB4CC,CAAoB7O,OAG3G,CAACqO,EAAiBD,EAASD,M,qHClE/B,MAUMW,EAAqBpY,IAAO0E,IAAV,6IAEDxE,GAAUA,EAAMC,MAAMC,MAAMC,KAAK,KACpCH,GAAUA,EAAMC,MAAMkY,aAE1BnY,GAAUA,EAAMC,MAAMW,QAAQ,IAGxCwX,EAActY,IAAOuY,MAAV,6KAGLrY,GAAUA,EAAMC,MAAMC,MAAMC,KAAK,MAS9BmY,I,QAAAA,EA9BqB,IAAqE,IAApE,aAAEC,EAAF,SAAgB/U,EAAhB,YAA0BgV,EAA1B,eAAuCC,EAAvC,MAAuDvV,GAAY,EACtG,OACE,kBAACgV,EAAD,OACKO,GAAkBA,EACrB,kBAACL,EAAD,CAAaI,YAAaA,EAAatV,MAAOA,EAAOM,SAAUA,MAC5D+U,GAAgBA,ICJzB,MAgCMG,EAAmB5Y,IAAO0E,IAAV,0BAEhBmU,EAAe7Y,IAAO0E,IAAV,4CACNxE,GAAUA,EAAMC,MAAMW,QAAQ,IAGpCgY,EAA8B9Y,IAAO0E,IAAV,sEAK3BqU,EAAgB/Y,IAAO0E,IAAV,4KAEPxE,GAAUA,EAAMC,MAAMC,MAAMC,KAAK,MAQ9BmD,MArD+B,IAAoD,IAAnD,IAAEpB,EAAF,OAAOuB,EAAP,SAAeD,EAAf,YAAyBD,EAAzB,MAAsCL,GAAY,EAC/F,OACE,kBAACwV,EAAD,KACE,kBAACG,EAAD,KACG3W,EAAI4W,iBADP,IAC0BrV,EAD1B,cAGA,kBAAC,EAAD,CACE8U,aACE,kBAACK,EAAD,KAEE,kBAACD,EAAD,MACA,6BACE,kBAAC5X,EAAA,EAAD,CAAQR,KAAK,QAAQL,MAAM,UAAUmB,QAAQ,YAAYH,QAASqC,GAAlE,SAMNC,SAAUA,EACVgV,YAAY,IACZtV,MAAOA,O,yGCvBf,MAsBM6V,EAAcjZ,IAAO0E,IAAV,gEACLxE,GAAUA,EAAME,OAIbwD,MA3BqB,IAA0D,IAAzD,KAAEvC,EAAF,QAAQE,EAAU,YAAanB,MAAO8Y,GAAkB,EAC3F,MAAM,MAAE9Y,GAAUoB,qBAAWC,KAE7B,IAAI0X,EAYJ,OAXID,EACFC,EAAaD,EAEG,YAAZ3X,EACF4X,EAAa/Y,EAAM0B,QAAQC,MACN,cAAZR,GAEY,WAAZA,KADT4X,EAAa,QAKV,kBAACF,EAAD,CAAa7Y,MAAO+Y,GAAa9X,K,6GCrB1C,MAcM+X,EAAqBpZ,IAAO0E,IAAV,0KAEDxE,GAAUA,EAAMC,MAAMC,MAAMC,KAAK,KAG3CH,GAAUA,EAAMC,MAAMW,QAAQ,GAASZ,IAAWA,EAAMC,MAAMW,QAAQ,GAC5EZ,IAAWA,EAAMC,MAAMW,QAAQ,GACtBZ,GAAUA,EAAMC,MAAMW,QAAQ,IAGxCuY,EAAoBrZ,IAAO0E,IAAV,wCAIjBmU,EAAe7Y,IAAO0E,IAAV,4CACNxE,GAAUA,EAAMC,MAAMW,QAAQ,IAG3B+C,MAhCgB,IAAmB,IAAlB,SAAE3C,GAAe,EAC/C,MAAMoY,EAAIC,IAAMC,SAASC,QAAQvY,GAAUwY,OAC3C,OACE,kBAACN,EAAD,KACGG,IAAMC,SAASG,IAAIzY,EAAU,CAAC0Y,EAAOC,IACpC,oCACE,kBAACR,EAAD,KAAoBO,GACnBC,EAAIP,EAAI,GAAK,kBAACT,EAAD,W,iCCVxB,oBAcevS,IAVGwT,IAChB,MAAM,UAAEtX,EAAF,UAAa6D,GAAc7E,qBAAWuY,KAM5C,MAAO,CAJe9W,sBAAY,KAChCoD,EAAUyT,IACT,CAACA,EAAOzT,IAEY7D,K,0GCEVqI,MATM,IAEjB,kBAACmH,EAAA,EAAD,CAAKzH,MAAO,CAAE4I,SAAU,WAAY6G,IAAK,MAAOC,KAAM,MAAOC,UAAW,0BACtE,kBAACC,EAAA,EAAD,Q,oBCPNrP,EAAOC,QAAU,IAA0B,mC,oBCA3CD,EAAOC,QAAU,IAA0B,mC,oBCA3CD,EAAOC,QAAU,IAA0B,uC,oBCA3CD,EAAOC,QAAU,IAA0B,uC,iCCA3C,oCA4BekD,IArBU,CAACmM,EAAwBlM,EAAgBmM,EAAqB1R,KACrF,MAAOxC,EAAS2B,GAAcjF,mBAASoE,IAAUC,KAAK,IAChDC,EAAcrB,cACd6O,EAAe1R,sBAAYoE,UAC/B,MAAMlB,QAAgBgB,EAAYmT,oBAAoBF,EAAUlM,EAAQmM,EAAalT,EAAY0N,WAEjG/M,EAAW3B,IACV,CAACiU,EAAUlM,EAAQmM,EAAa1R,EAASxB,IAW5C,OATAI,oBAAU,KAENoN,IAAexQ,MAAOC,GAAQE,QAAQC,MAAMH,EAAII,QAEhD,MAAM+V,EAAiB9S,YAAYkN,EAAcjN,IAAOF,iBACxD,MAAO,IAAMG,cAAc4S,IAE5B,CAAC5R,EAASyR,EAAUjT,EAAakT,EAAa1F,IAE1CxO,I,iCCzBT,mBAuBeqU,IAlBM,CAAC/F,EAAciD,EAAiB+C,KACnD,MAAOC,EAAWC,GAAgB9X,mBAAoB,OAChD,QAAE8F,GAAYC,cAEdgS,EAAiB3X,sBAAYoE,UACjC,MAAMqT,QAAkBjG,EAAMiG,UAAU/R,EAAS+O,GACjDiD,EAAaD,IACZ,CAAC/R,EAAS+O,EAASjD,IAQtB,OANAlN,oBAAU,KACJoB,GAAW+O,GAAWjD,GACxBmG,IAAiBzW,MAAOC,GAAQE,QAAQC,MAAR,qCAA4CH,EAAII,UAEjF,CAACmE,EAAS+O,EAASjD,EAAOgG,EAAiBG,IAEvCF,I,iCCpBT,+EAMA,MAAMG,EAAiBC,IAAOC,UAAUC,WAClCC,EAAsBhU,IAAUC,KAAK,6BAEpC,IAAKR,G,SAAAA,O,qBAAAA,I,+BAAAA,I,qBAAAA,I,wBAAAA,M,KA8CGT,IAtCf,SAAoBwO,EAAciD,GAChC,MAAM+C,EAAkBjD,YAAsB/C,EAAMvO,QAASwR,GACvDwD,EAAmBV,YAAa/F,EAAOiD,EAAS+C,GAGhDU,EAA+BlZ,kBAAQ,IAEtCiZ,EAGEA,EAAiBE,GAAGH,GACvBR,EACE/T,EAAcE,QACdF,EAAc2U,aAChB3U,EAAcC,SAPYD,EAAcG,QAQ3C,CAACqU,EAAkBT,IAEhB5R,EAAiBC,cAEjB9C,EAAU/C,sBAAYoE,UAC1B,GAAI8T,IAAkBzU,EAAc2U,aAElC,YADA/W,QAAQC,MAAM,oCAIhB,MAAM0S,QAAiBxC,EAAMzO,QAAQ0R,EAASmD,GAC9ChS,EAAeoO,EAAU,CACvBxN,QAAQ,WAAD,OAAagL,EAAM9Q,QAC1BuT,SAAU,CACRO,aAAchD,EAAMvO,QACpBwR,QAASA,MAGZ,CAACyD,EAAe1G,EAAOiD,EAAS7O,IAEnC,MAAO,CAACsS,EAAenV,K,gFC1CVsV,MAPI,QAAC,KAAEC,EAAF,UAAQC,EAAR,MAAmBnZ,GAApB,SACjB,kBAACpB,EAAA,EAAD,CAAQwa,WAAS,EAACra,QAASoa,EAAWE,UAAU,iBAC9C,0BAAMnR,MAAO,CAAE+I,YAAa,OAAQG,OAAQ,SAAW8H,GACvD,8BAAOlZ,K,kECEX,MAAMkJ,EAAYC,YAAYrL,IAAD,CAC3Bwb,MAAO,CACLxI,SAAU,WACVO,MAAO,QACPkI,SAAU,OACVhQ,gBAAiBzL,EAAM0b,QAAQC,WAAWH,MAC1Crb,UAAWH,EAAM4b,QAAQ,GACzBrb,QAASP,EAAMW,QAAQ,GACvBkb,QAAS,WAoDEC,I,QClEAA,EDkBa,IAA4B,IAA3B,KAAEC,EAAF,YAAQC,GAAkB,EACrD,MAAMC,EAAU7Q,KACV,QAAE5C,EAAF,QAAW0T,GAAYzT,cAQ7B,OANArB,oBAAU,KACJoB,GACFwT,MAKF,kBAAC7Y,EAAA,EAAD,CACEgZ,kBAAgB,mBAChBC,mBAAiB,6BACjBL,KAAMA,EACN3R,MAAO,CAAEoI,QAAS,OAAQN,WAAY,SAAUC,eAAgB,UAChEkK,QAASL,GAET,yBAAKT,UAAWU,EAAQT,OACtB,8CACA,kBAACc,EAAA,EAAD,CAAMC,UAAU,MAAMC,aAAW,wBAC/B,kBAAC,EAAD,CACEpB,KAAM,yBAAK3E,IAAKgG,IAAc/F,IAAI,gBAAgBtM,MAAO,CAAEkJ,OAAQ,MACnE+H,UAAW,KACTa,EAAQ,aAEVha,MAAM,aAER,kBAAC,EAAD,CACEkZ,KAAM,yBAAK3E,IAAKiG,IAAmBhG,IAAI,sBAAsBtM,MAAO,CAAEkJ,OAAQ,MAC9E+H,UAAW,KACTa,EAAQ,kBAEVha,MAAM,sB,8EE1ClB,MA6CMya,EAAc9c,IAAO0E,IAAV,qFACHxE,GAAUA,EAAMC,MAAMC,MAAMC,KAAK,MAKzC0c,EAAgB/c,IAAO0E,IAAV,iGAMbsY,EAAWhd,IAAO0E,IAAV,0HAIMxE,GAAUA,EAAMC,MAAMW,QAAQ,IAG5Cmc,EAAuBjd,IAAO0E,IAAV,oHAIXxE,GAAUA,EAAMC,MAAMW,QAAQ,IAG9Boc,MAvE4B,IAAoB,IAAnB,UAAE1a,GAAgB,EAC5D,MAAM2E,EAAcrB,cAEdoL,EAAc9K,YAAgBe,EAAYsD,MAC1C0S,EAAqBlb,kBAAQ,IAAMyI,YAAkBwG,GAAc,CAACA,IAEpEC,EAAgB/K,YAAgBe,EAAYiK,QAC5CgM,EAAuBnb,kBAAQ,IAAMyI,YAAkByG,GAAgB,CAACA,IAExEE,EAAejL,YAAgBe,EAAYiC,OAC3CiU,EAAsBpb,kBAAQ,IAAMyI,YAAkB2G,GAAe,CAACA,IAE5E,OACE,kBAAC,IAAD,KACE,kBAAC9N,EAAA,EAAD,CAAYlC,KAAK,cAEjB,kBAAC2b,EAAD,KACE,kBAACC,EAAD,KACE,kBAACxW,EAAA,EAAD,CAAa9C,OAAO,SACpB,kBAACoZ,EAAD,KACE,kBAACD,EAAD,KAAcK,GACd,kBAACvZ,EAAA,EAAD,CAAOvC,KAAK,sBAIhB,kBAAC4b,EAAD,KACE,kBAACxW,EAAA,EAAD,CAAa9C,OAAO,WACpB,kBAACoZ,EAAD,KACE,kBAACD,EAAD,KAAcM,GACd,kBAACxZ,EAAA,EAAD,CAAOvC,KAAK,sBAIhB,kBAAC4b,EAAD,KACE,kBAACxW,EAAA,EAAD,CAAa9C,OAAO,UACpB,kBAACoZ,EAAD,KACE,kBAACD,EAAD,KAAcO,GACd,kBAACzZ,EAAA,EAAD,CAAOvC,KAAK,0BCHT8Y,IAlCqC,IAAe,IAAd,KAAE9Y,GAAW,EAChE,MAAM,QAAEsH,GAAYC,eACb0U,GAAyBhX,YAAS,kBAAC,EAAD,QAElCiX,EAAsBC,GAAyB3a,oBAAS,GAUzD4a,EAAapc,GAAc,SAEjC,OACE,6BACIsH,EAKA,kBAAC1H,EAAA,EAAD,CAAQM,QAAQ,YAAanB,MAAM,UAAUmK,MAAO,CAAE8N,aAAc,QAAUjX,QAASkc,GAAvF,aAJA,kBAACrc,EAAA,EAAD,CAAQG,QAbmB,KAC/Boc,GAAsB,IAYyBpd,MAAM,UAAUmB,QAAQ,YAAYgJ,MAAO,CAAEmJ,MAAO,QAAS2E,aAAc,SACnHoF,GAQL,kBAAC,EAAD,CAAqBvB,KAAMqB,EAAsBpB,YAlBnB,KAChCqB,GAAsB,S,iCCtB1B,6BAyBenR,IApBM,KACnB,MAAOqR,EAAMC,GAAW9a,sBAClB,YAAEkR,GAAgB3I,cAClBjE,EAAcrB,cAcpB,OAZAyB,oBAAU,MACRF,iBACE,IACEsW,QAAcxW,EAAYyW,eAE5B,MAAMxZ,GACJE,QAAQC,MAAMH,IAGlByZ,IACC,CAACF,EAASxW,EAAa4M,IAEnB2J,I,iCCtBT,4BA4BepP,IAtBsB,CAACwP,EAAyBC,KAC7D,MAAOC,EAA2BC,GAAgCpb,mBAAS,KACrEsE,EAAcrB,cACd4O,EAAU,OAAGvN,QAAH,IAAGA,OAAH,EAAGA,EAAauN,WAE1BC,EAAe1R,sBAAYoE,UAC/B,MAAMlB,QAAgBgB,EAAY+W,8BAA8BJ,EAAiBC,GACjFE,EAA6B9X,IAC5B,CAAC4X,EAAaD,EAAiB3W,IAWlC,OATAI,oBAAU,KACR,GAAImN,EAAY,CACdC,IAAexQ,MAAOC,GAAQE,QAAQC,MAAMH,EAAII,QAEhD,MAAM2Z,EAAmC1W,YAAYkN,EAAcjN,IAAOF,iBAC1E,MAAO,IAAMG,cAAcwW,KAE5B,CAACzJ,EAAYuJ,EAA8B9W,EAAawN,IAEpDqJ,I,yGCLMI,MAhBS,KAEtB,MAAM,QAAEzV,EAAF,QAAW0T,EAAX,UAAoBgC,GAAczV,cAEpCD,GAA0D,KAA/C2V,OAAOC,aAAaC,QAAQ,gBACzCF,OAAOC,aAAaE,QAAQ,cAAeJ,GAG7C9W,oBAAU,KACR,MAAMmX,EAAcJ,OAAOC,aAAaC,QAAQ,eAC5CE,IAAgB/V,GAClB0T,EAAQqC,IAET,CAACrC,EAAS1T,K,4GCRf,MAAM4C,EAAYC,YAAYrL,IAAD,CAC3Bwe,OAAQ,CACNxL,SAAU,WACVyL,OAAQ,IACRxL,WAAY,OACZyL,cAAe,OACfnL,MAAO,OACPtT,MAAO,QACPwL,gBAAiB,cACjBkT,UAAW,SACXrL,OAAQ,SACR,CAACtT,EAAMsL,YAAYC,KAAK,OAAQ,CAC9BiH,QAAS,SAGboM,KAAM,CACJrL,MAAO,OACPD,OAAQ,OACRd,QAAS,SACTqM,WAAY,QAGdC,IAAK,CACHvL,MAAO,OACPD,OAAQ,QAEVyL,OAAQ,CACN/L,SAAU,WACVO,MAAO,OACPD,OAAQ,OACRwG,KAAM,SACND,IAAK,aAuDMmF,IC7FAA,ED2CA,KACb,MAAM/C,EAAU7Q,IAChB,OACE,4BAAQmQ,UAAWU,EAAQuC,QACzB,kBAACrK,EAAA,EAAD,CAAWsH,SAAS,MAClB,kBAAC1J,EAAA,EAAD,CAAMC,WAAS,GACb,kBAACD,EAAA,EAAD,CAAMK,MAAI,EAACC,GAAI,IACf,kBAACpI,EAAA,EAAD,CAAY7I,QAAQ,QAAQgJ,MAAO,CAAEnK,MAAO,QAAUiK,MAAM,UACvD,6CACA,IAAI2N,MAAOoH,gBAGhB,kBAAClN,EAAA,EAAD,CAAMK,MAAI,EAACC,GAAI,GAAIjI,MAAO,CAAEuU,UAAW,SAAUtU,UAAW,SAC1D,uBACErJ,KAAK,sCACLke,IAAI,sBACJnd,OAAO,SACPwZ,UAAWU,EAAQ2C,MAEnB,yBAAKlI,IAAI,UAAUD,IAAK0I,IAAc5D,UAAWU,EAAQ6C,OAE3D,uBACE9d,KAAK,uCACLke,IAAI,sBACJnd,OAAO,SACPwZ,UAAWU,EAAQ2C,MAEnB,yBAAKlI,IAAI,SAASD,IAAK2I,IAAa7D,UAAWU,EAAQ6C,OAEzD,uBAAG9d,KAAK,+BAA+Bke,IAAI,sBAAsBnd,OAAO,SAASwZ,UAAWU,EAAQ2C,MAClG,yBAAKlI,IAAI,WAAWD,IAAK4I,IAAe9D,UAAWU,EAAQ6C,OAU7D,uBAAG9d,KAAK,8BAA8Bke,IAAI,sBAAsBnd,OAAO,SAASwZ,UAAWU,EAAQ2C,MACjG,yBAAKlI,IAAI,UAAUD,IAAK6I,IAAc/D,UAAWU,EAAQ6C,Y,sHEnExDS,ICjBAA,EDEM,IAAsB,IAArB,QAAE5d,EAAF,GAAWR,GAAS,EACxC,MAAMqe,EAAapG,IAAMtX,QACvB,IAAMsX,IAAMqG,WAAW,CAACC,EAAWC,IAAQ,kBAAC,IAAD,eAAMA,IAAKA,EAAKxe,GAAIA,GAAQue,KACvE,CAACve,IAGH,OACE,4BACE,kBAACye,EAAA,EAAD,CAAU9f,QAAM,EAACyc,UAAWiD,GAC1B,kBAACK,EAAA,EAAD,CAAcle,QAASA,O,wEEc/B,MAAMyJ,EAAYC,YAAYrL,IAAD,CAC3B,UAAW,CACT8f,GAAI,CACFzM,OAAQ,EACR9S,QAAS,EACTwf,UAAW,SAGfC,OAAQ,CACN/f,MAAO,eACP,mBAAoB,wBACpB,kBAAmB,aAEnBM,QAAS,SACTyS,SAAU,UAEZiN,OAAQ,CACN1M,MAAO,IACP2M,WAAY,GAEdC,YAAa,CACX5M,MAAO,KAET6M,KAAM,CACJ5N,QAAS,QAEX6N,QAAS,CACPnN,SAAU,QAEZoN,aAAc,CACZC,WAAY,WACZlgB,SAAU,OACVmgB,SAAU,GAEZ5B,KAAM,CACJ6B,cAAe,YACfxgB,MAAO,eACPI,SAAU,OACVgK,UAAW,OACXgJ,OAAQrT,EAAMW,QAAQ,GAAI,EAAG,EAAG,GAChCyS,eAAgB,QAGlBsN,UAAW,CACTtN,eAAgB,OAChBnT,MAAO,OACPiS,WAAW,WAuJAyO,IC9NAC,ED2EH,KACV,MAAMC,EAAUlV,YAAc,qBACxBsQ,EAAU7Q,IACVpL,EAAQ8gB,eACP/E,EAAMgF,GAAW3H,IAAM1W,UAAS,GAUvC,OACE,kBAACse,EAAA,EAAD,CAAQhO,SAAS,SAASiO,UAAW,EAAG1F,UAAWU,EAAQ+D,QACzD,kBAACkB,EAAA,EAAD,CAAS3F,UAAWU,EAAQoE,SACzBQ,EACC,oCACE,kBAAC5W,EAAA,EAAD,CAAa7I,QAAQ,KAAKnB,MAAM,UAAUkhB,QAAM,EAAC5F,UAAU,iBAA3D,kBAMA,kBAAC1J,EAAA,EAAD,CAAKuP,GAAI,GACP,kBAAC,IAAD,CAAMnhB,MAAM,QAAQkB,GAAG,IAAIoa,UAAU,YAArC,QAGA,kBAAC,IAAD,CAAMtb,MAAM,cAAckB,GAAG,SAASoa,UAAU,YAAhD,QAGA,kBAAC,IAAD,CAAMtb,MAAM,cAAckB,GAAG,aAAaoa,UAAU,YAApD,aAGA,kBAAC,IAAD,CAAMtb,MAAM,cAAckB,GAAG,SAASoa,UAAU,YAAhD,SAeA,kBAAC,IAAD,CAAMtb,MAAM,cAAckB,GAAG,oBAAoBoa,UAAU,YAA3D,SAMA,uBAAGva,KAAK,4BAA4Be,OAAO,SAASwZ,UAAU,YAA9D,UAMA,uBAAGva,KAAK,uDAAuDe,OAAO,SAASwZ,UAAU,YAAzF,QAGA,uBAAGva,KAAK,8BAA8Be,OAAO,SAASwZ,UAAU,YAAhE,aAKF,kBAACvB,EAAA,EAAD,CAAe9Y,KAAK,aAWtB,oCACE,kBAACmgB,EAAA,EAAD,CACEphB,MAAM,UACNuc,aAAW,cACXvb,QA/Ea,KACvB8f,GAAQ,IA+EEO,KAAK,QACL/F,UAAWgG,kBAAKxF,GAAQE,EAAQmE,OAEhC,kBAAC,IAAD,OAEF,kBAACnW,EAAA,EAAD,CAAY7I,QAAQ,KAAK+f,QAAM,GAA/B,kBAIA,kBAACK,EAAA,EAAD,CACEjG,UAAWU,EAAQgE,OAGnB7e,QAAQ,YACRqgB,OAAO,OACP1F,KAAMA,EACNE,QAAS,CACPT,MAAOS,EAAQkE,cAGjB,6BACE,kBAACkB,EAAA,EAAD,CAAYpgB,QAjGA,KACxB8f,GAAQ,KAiG2B,QAApB/gB,EAAMiS,UAAsB,kBAAC,IAAD,MAAuB,kBAAC,IAAD,QAGxD,kBAACyP,EAAA,EAAD,MACA,kBAACpF,EAAA,EAAD,KACE,kBAAC,EAAD,CAAc3a,QAAQ,OAAOR,GAAG,MAChC,kBAAC,EAAD,CAAcQ,QAAQ,OAAOR,GAAG,WAChC,kBAAC,EAAD,CAAcQ,QAAQ,YAAYR,GAAG,eACrC,kBAAC,EAAD,CAAcQ,QAAQ,QAAQR,GAAG,WAChC,kBAAC,EAAD,CAAcQ,QAAQ,QAAQR,GAAG,sBAClC,kBAACye,EAAA,EAAD,CAAU9f,QAAM,EAACyc,UAAU,IAAIvb,KAAK,6BAClC,kBAAC6e,EAAA,EAAD,CAAc8B,mBAAiB,EAACvX,MAAO,CAAEnK,MAAO,SAAhD,WASF,kBAAC2f,EAAA,EAAD,CAAU9f,QAAM,EAACyc,UAAU,IAAIvb,KAAK,IAClC,kBAAC6e,EAAA,EAAD,CAAc8B,mBAAiB,EAACvX,MAAO,CAAEnK,MAAO,SAAhD,SAIF,kBAAC2f,EAAA,EAAD,CAAU9f,QAAM,EAACyc,UAAU,IAAIvb,KAAK,+BAClC,kBAAC6e,EAAA,EAAD,CAAc8B,mBAAiB,EAACvX,MAAO,CAAEnK,MAAO,SAAhD,2BE/LH8J,MAbQ,IAAmB,IAAlB,SAAEhJ,GAAe,EAEvC,OADAkd,IAEE,yBAAK7T,MAAO,CAAE4I,SAAU,WAAY4O,UAAW,UAC7C,kBAAC,EAAD,MACA,kBAACzN,EAAA,EAAD,CAAWsH,SAAS,KAAKrR,MAAO,CAAEsU,cAAe,SAC9C3d,GAEH,kBAAC,EAAD,S,yGCRN,MAuBM2X,EAAe7Y,IAAO0E,IAAV,8DACLxE,GAAUA,EAAMO,KACjBP,GAAUA,EAAMO,MAGbkK,MA5BuB,IAAsB,IAArB,KAAElK,EAAO,MAAW,EACzD,MAAM,QAAEK,GAAYU,qBAAWC,KAE/B,IAAIugB,EACJ,OAAQvhB,GACN,IAAK,KACHuhB,EAAIlhB,EAAQ,GACZ,MACF,IAAK,KACHkhB,EAAIlhB,EAAQ,GACZ,MACF,IAAK,KACL,QACEkhB,EAAIlhB,EAAQ,GAGhB,OAAO,kBAAC+X,EAAD,CAAcpY,KAAMuhB,M,iGCpB7B,MAEMC,E,MAAoBjiB,EAAO0E,IAAV,uGAITxE,GAAUA,EAAMC,MAAMW,QAAQ,IAG7B0F,MATe,QAAC,SAAEtF,GAAH,SAAkB,kBAAC+gB,EAAD,KAAoB/gB,K,oBCHpE4J,EAAOC,QAAU,IAA0B,0C,iCCA3C,6BAyBemB,IApBKgW,IAClB,MAAOxE,EAAMC,GAAW9a,sBAClB,YAAEsI,GAAgBC,cAClBjE,EAAcrB,cAcpB,OAZAyB,oBAAU,MACRF,iBACE,IACEsW,QAAcxW,EAAYgb,UAAUD,IAEtC,MAAM9d,GACJE,QAAQC,MAAMH,IAGlBge,IACC,CAACzE,EAASxW,EAAagE,EAAa+W,IAEhCxE,I,iCCtBT,6BAwBe2E,IAnBO,KACpB,MAAO3E,EAAMC,GAAW9a,sBAClB,YAAEkR,GAAgB3I,cAClBjE,EAAcrB,cAapB,OAXAyB,oBAAU,MACRF,iBACE,IACEsW,QAAcxW,EAAYmb,gBAC1B,MAAMle,GACNE,QAAQC,MAAMH,IAGlBme,IACC,CAAC5E,EAASxW,EAAa4M,IAEnB2J,I,iCCrBT,oCA4Be1O,IAtBK,CAACoL,EAAwBnL,EAAuBf,KAClE,MAAO/H,EAAS2B,GAAcjF,mBAASoE,IAAUC,KAAK,IAChDC,EAAcrB,cACd4O,EAAU,OAAGvN,QAAH,IAAGA,OAAH,EAAGA,EAAauN,WAE1BC,EAAe1R,sBAAYoE,UAC/B,MAAMlB,QAAgBgB,EAAYqb,eAAepI,EAAUnL,EAAef,EAAQ/G,EAAY0N,WAC9F/M,EAAW3B,IACV,CAACiU,EAAUnL,EAAef,EAAQ/G,IAWrC,OATAI,oBAAU,KACR,GAAImN,EAAY,CACdC,IAAexQ,MAAOC,GAAQE,QAAQC,MAAMH,EAAII,QAEhD,MAAM+V,EAAiB9S,YAAYkN,EAAcjN,IAAOF,iBACxD,MAAO,IAAMG,cAAc4S,KAE5B,CAAC7F,EAAY0F,EAAUjT,EAAawN,IAEhCxO,I,oBCzBT2E,EAAOC,QAAU,IAA0B,qC,oBCA3CD,EAAOC,QAAU,IAA0B,oC,oBCA3CD,EAAOC,QAAU,IAA0B,sC,oBCA3CD,EAAOC,QAAU,IAA0B,qC,oBCA3CD,EAAOC,QAAU,IAA0B,qC,oBCA3CD,EAAOC,QAAU,IAA0B,4C,oBCA3CD,EAAOC,QAAU,IAA0B,oC,oBCA3CD,EAAOC,QAAU,IAA0B,iC,oBCA3CD,EAAOC,QAAU,IAA0B,oC,oBCA3CD,EAAOC,QAAU,IAA0B,mC,oBCA3CD,EAAOC,QAAU,IAA0B,yC,oBCA3CD,EAAOC,QAAU,IAA0B,yC,oBCA3CD,EAAOC,QAAU,IAA0B,yC,oBCA3CD,EAAOC,QAAU,IAA0B,mC,oBCA3CD,EAAOC,QAAU,IAA0B,yC,oBCA3CD,EAAOC,QAAU,IAA0B,wC,oBCA3CD,EAAOC,QAAU,IAA0B,kC,oBCA3CD,EAAOC,QAAU,IAA0B,yC,oBCA3CD,EAAOC,QAAU,IAA0B,yC,oBCA3CD,EAAOC,QAAU,IAA0B,wC,iCCA3C,6BAqBeiG,IAhBCrD,IACd,MAAMxG,EAAcrB,cACd2c,EAA2BxO,cAWjC,MAAO,CAAErC,MATS3O,sBAChB,CAACyO,EAAsBhP,EAAmB8G,KACxCiZ,EACEtb,EAAYub,MAAMhR,EAAchP,EAAW8G,GADrB,cAEfA,EAFe,eAEFmE,EAAKY,iBAFH,OAK1B,CAACZ,EAAMxG,EAAasb,O,iCChBxB,oBAQejV,IALE,KACf,MAAM,MAAED,GAAU/L,qBAAWmhB,KAC7B,MAAO,CAACpV,K,iGCEV,MAEM5I,E,MAAiB3E,EAAO0E,IAAV,sSACGxE,GAAUA,EAAMC,MAAMC,MAAMwiB,MAQhB1iB,GAAUA,EAAMC,MAAMC,MAAMC,KAAK,KACxCH,GAAUA,EAAMC,MAAMC,MAAMC,KAAK,KACzCH,GAAUA,EAAMC,MAAMW,QAAQ,IAGnC+hB,MAhB2B,QAAC,SAAE3hB,GAAH,SAAkB,kBAACyD,EAAD,KAAiBzD,K,wPCC7E,MAAM2Z,EAAiBC,IAAOC,UAAUC,WAClCC,EAAsBhU,IAAUC,KAAK,6BAEpC,IAAKR,G,SAAAA,O,qBAAAA,I,+BAAAA,I,qBAAAA,I,wBAAAA,M,KAoDGoc,I,IAAAA,EA5Cf,SAA0BpR,GACxB,MAAMvK,EAAcrB,cACpB,IAAI2O,EACA/C,IAAiBqR,IAAYtO,EAAQtN,EAAY6b,IAC5CtR,IAAiBuR,IAAaxO,EAAQtN,EAAYsD,KAClDiH,IAAiBwR,MAAezO,EAAQtN,EAAYiK,QAC7D,MAAMqJ,EAAkBjD,YAAsB/C,EAAMvO,QAASid,KACvDjI,EAAmBV,YAAa/F,EAAO0O,IAAoB1I,GAG3DU,EAA+BlZ,kBAAQ,IAEvCwS,IAAUtN,EAAY6b,IAAYtc,EAAcC,SAC/CuU,EAGEA,EAAiBE,GAAGH,GACvBR,EACE/T,EAAcE,QACdF,EAAc2U,aAChB3U,EAAcC,SAPYD,EAAcG,QAQ3C,CAACqU,EAAkBT,EAAiBhG,EAAOtN,IAExC0B,EAAiBC,cAEjB9C,EAAU/C,sBAAYoE,UAC1B,GAAI8T,IAAkBzU,EAAc2U,aAElC,YADA/W,QAAQC,MAAM,oCAIhB,MAAM0S,QAAiBxC,EAAMzO,QAAQmd,IAAoBtI,GACzDhS,EAAeoO,EAAU,CACvBxN,QAAQ,WAAD,OAAagL,EAAM9Q,QAC1BuT,SAAU,CACRO,aAAchD,EAAMvO,QACpBwR,QAASyL,QAGZ,CAAChI,EAAe1G,EAAO5L,IAE1B,MAAO,CAACsS,EAAenV,I,UClCzB,MA4GMod,EAAqBpjB,IAAO0E,IAAV,8DACXxE,GAAUA,EAAMC,MAAMW,QAAQ,GAC/BZ,GAAUA,EAAMC,MAAMW,QAAQ,IAGpCuiB,EAAwBrjB,IAAO0E,IAAV,8KAEfxE,GAAUA,EAAMC,MAAMC,MAAMC,KAAK,MAOvCijB,EAAiBC,YAAW,CAChCC,KAAM,CACJ5X,gBAAiB,QACjBxL,MAAO,UACP,UAAW,CACTwL,gBAAiB,OACjBxL,MAAO,WAETqjB,SAAU,CACR7X,gBAAiB,WATA2X,CAYpBG,KAEYlS,IAxIsB,IAA8D,IAA7D,UAAEjP,EAAF,UAAaC,EAAb,UAAwBE,EAAY,GAApC,SAAwC+O,EAAW,IAAS,EAChG,MAAMtK,EAAcrB,eACd,QAAEK,GAAYyC,cACd+a,GAAcja,OAAOvD,GAAW,MAAMwD,QAAQ,GAAGia,WACjD1S,EAAc9K,YAAgBe,EAAYsD,MAC1C0G,EAAgB/K,YAAgBe,EAAYiK,SAC3CzO,EAAKC,GAAUC,mBAAS,KACxB6O,EAAcmS,GAAmBhhB,mBAASkgB,MAC1Ce,EAAqBC,GAA0BlhB,mBAAS8gB,IACxDK,EAAUC,GAAephB,mBAAS,CAAEqhB,OAAQ,IAAKC,OAAQ,OACzDC,EAAqBC,GAAiBvB,EAAiBpR,GACxDzF,EAAiBC,YAAW,gBAC5BC,EAAmBD,YAAW,iBAC9BoY,EAAcriB,kBAAQ,IAAOgK,GAAkC,KAAO,CAACA,IACvEsY,EAAgBtiB,kBAAQ,IAAOkK,GAAsC,KAAO,CAACA,IAC7EqY,EAAiB9hB,EAAU+hB,WAAWxB,KAArB,OAAoCqB,QAApC,IAAoCA,OAApC,EAAoCA,EAAaI,UAAjD,OAA6DH,QAA7D,IAA6DA,OAA7D,EAA6DA,EAAeG,UAsCnG,OACE,kBAACphB,EAAA,EAAD,KACE,kBAACC,EAAA,EAAD,CAAYlC,KAAI,iBAAYqB,KAC5B,kBAAC0gB,EAAD,MACA,kBAACuB,EAAA,EAAD,CAAYpa,MAAO,CAAEnK,MAAO,WAAawkB,GAAG,SAA5C,4BAGA,kBAACC,EAAA,EAAD,CACEnhB,SArCqBohB,IACzB,MAAM1hB,EAAQ0hB,EAAM5iB,OAAOkB,MAC3BygB,EAAgBzgB,GAChB2gB,EAAuBJ,GACnBmB,EAAM5iB,OAAOkB,QAAU8f,KACzBa,EAAuBrZ,YAAkByG,EAAeM,IAEtDqT,EAAM5iB,OAAOkB,QAAU6f,KACzBc,EAAuBrZ,YAAkBwG,EAAaO,KA8BpDlH,MAAO,CAAEnK,MAAO,WAChB2kB,QAAQ,QACRH,GAAG,SACHxhB,MAAOsO,GAGP,kBAAC4R,EAAD,CAAgBlgB,MAAO8f,KAAvB,SACC,kBAACI,EAAD,CAAgBlgB,MAAO6f,KAAvB,UAEH,kBAACzf,EAAA,EAAD,CACEC,YAzBkB4D,UACtBzE,EAAOkhB,GACP,MAAMkB,QAAoB7d,EAAY8d,cAAcvT,EAAchP,EAAW0N,OAAO0T,IACpFG,EAAY,CAAEC,OAAQc,EAAY,GAAGpB,WAAYO,OAAQa,EAAY,GAAGpB,cAuBpElgB,SArCe2D,UAKnB,GAJ8B,KAA1BnE,EAAEC,cAAcC,OAA0C,IAA1BF,EAAEC,cAAcC,QAClDR,EAAOM,EAAEC,cAAcC,OACvB6gB,EAAY,CAAEC,OAAQ,IAAKC,OAAQ,OAlBpBe,EAoBFhiB,EAAEC,cAAcC,MAnBvBuO,MAAMwT,WAAWD,MAAOE,SAASF,GAmBF,OApBzC,IAAmBA,EAqBjBtiB,EAAOM,EAAEC,cAAcC,OACvB,MAAM4hB,QAAoB7d,EAAY8d,cAAcvT,EAAchP,EAAW0N,OAAOlN,EAAEC,cAAcC,QACpG6gB,EAAY,CAAEC,OAAQc,EAAY,GAAGpB,WAAYO,OAAQa,EAAY,GAAGpB,cA8BpExgB,MAAOT,EACPP,IAAK0hB,EACLngB,OAAQ+N,IAEV,kBAAC9N,EAAA,EAAD,CAAOvC,KAAK,oBACZ,kBAACgiB,EAAD,KACG,IACA3gB,EAFH,KAEgBgH,OAAOsa,EAASE,QAAUxa,OAAO8a,IAOjD,kBAAC3gB,EAAA,EAAD,KACE,kBAAC5C,EAAA,EAAD,CACEb,MAAM,UACNmB,QAAQ,YACRH,QAAS,IACPgjB,IAAwB1d,EAAcC,SAAW0d,IAAkB9hB,EAAUmP,EAAchP,EAAWC,IAGvGyhB,IAAwB1d,EAAcC,SAAW,UAAY,aAIlE,kBAACyc,EAAD,MACA,kBAACiC,EAAA,EAAD,CAAO9jB,QAAQ,SAAS+jB,SAAS,WAAjC,0C,iCC/HN,oBAGA,MAyXMC,EAAO,IA5Xb,OA4XiBC,GAAK,yCAChBC,EAAiB,IAAIF,EAAKG,IAAIC,SA1XV,CACxB,CAAEC,OAAQ,GAAIC,gBAAiB,aAAcC,KAAM,eACnD,CACEC,WAAW,EACXH,OAAQ,CACN,CAAEI,SAAS,EAAMC,aAAc,UAAWC,KAAM,gBAAiBJ,KAAM,WACvE,CAAEE,SAAS,EAAMC,aAAc,UAAWC,KAAM,WAAYJ,KAAM,YAEpEI,KAAM,uBACNJ,KAAM,SAER,CACEF,OAAQ,GACRM,KAAM,cACNC,QAAS,CAAC,CAAEF,aAAc,UAAWC,KAAM,GAAIJ,KAAM,YACrDD,gBAAiB,OACjBC,KAAM,YAER,CACEF,OAAQ,GACRM,KAAM,OACNC,QAAS,CAAC,CAAEF,aAAc,kBAAmBC,KAAM,GAAIJ,KAAM,YAC7DD,gBAAiB,OACjBC,KAAM,YAER,CACEF,OAAQ,GACRM,KAAM,aACNC,QAAS,CAAC,CAAEF,aAAc,mBAAoBC,KAAM,GAAIJ,KAAM,YAC9DD,gBAAiB,OACjBC,KAAM,YAER,CACEF,OAAQ,GACRM,KAAM,WACNC,QAAS,CAAC,CAAEF,aAAc,qBAAsBC,KAAM,GAAIJ,KAAM,YAChED,gBAAiB,OACjBC,KAAM,YAER,CACEF,OAAQ,GACRM,KAAM,OACNC,QAAS,CAAC,CAAEF,aAAc,UAAWC,KAAM,GAAIJ,KAAM,YACrDD,gBAAiB,OACjBC,KAAM,YAER,CACEF,OAAQ,CAAC,CAAEK,aAAc,UAAWC,KAAM,GAAIJ,KAAM,YACpDI,KAAM,SACNC,QAAS,CACP,CAAEF,aAAc,OAAQC,KAAM,UAAWJ,KAAM,QAC/C,CAAEG,aAAc,UAAWC,KAAM,aAAcJ,KAAM,WACrD,CAAEG,aAAc,UAAWC,KAAM,SAAUJ,KAAM,WACjD,CAAEG,aAAc,OAAQC,KAAM,OAAQJ,KAAM,QAC5C,CAAEG,aAAc,UAAWC,KAAM,OAAQJ,KAAM,YAEjDD,gBAAiB,OACjBC,KAAM,YAER,CACEF,OAAQ,CACN,CAAEK,aAAc,UAAWC,KAAM,QAASJ,KAAM,WAChD,CAAEG,aAAc,UAAWC,KAAM,SAAUJ,KAAM,YAEnDI,KAAM,OACNC,QAAS,GACTN,gBAAiB,aACjBC,KAAM,YAER,CACEF,OAAQ,GACRM,KAAM,aACNC,QAAS,CAAC,CAAEF,aAAc,UAAWC,KAAM,GAAIJ,KAAM,YACrDD,gBAAiB,OACjBC,KAAM,YAER,CACEF,OAAQ,GACRM,KAAM,gBACNC,QAAS,CAAC,CAAEF,aAAc,UAAWC,KAAM,GAAIJ,KAAM,YACrDD,gBAAiB,OACjBC,KAAM,YAER,CACEF,OAAQ,GACRM,KAAM,cACNC,QAAS,CAAC,CAAEF,aAAc,UAAWC,KAAM,GAAIJ,KAAM,YACrDD,gBAAiB,OACjBC,KAAM,YAER,CACEF,OAAQ,GACRM,KAAM,gBACNC,QAAS,CAAC,CAAEF,aAAc,UAAWC,KAAM,GAAIJ,KAAM,YACrDD,gBAAiB,OACjBC,KAAM,YAER,CACEF,OAAQ,CACN,CAAEK,aAAc,kBAAmBC,KAAM,KAAMJ,KAAM,WACrD,CAAEG,aAAc,UAAWC,KAAM,QAASJ,KAAM,WAChD,CAAEG,aAAc,QAASC,KAAM,OAAQJ,KAAM,UAE/CI,KAAM,OACNC,QAAS,CAAC,CAAEF,aAAc,QAASC,KAAM,GAAIJ,KAAM,UACnDD,gBAAiB,UACjBC,KAAM,YAER,CAAEF,OAAQ,GAAIM,KAAM,eAAgBC,QAAS,GAAIN,gBAAiB,aAAcC,KAAM,YACtF,CACEF,OAAQ,CAAC,CAAEK,aAAc,UAAWC,KAAM,UAAWJ,KAAM,YAC3DI,KAAM,gBACNC,QAAS,CAAC,CAAEF,aAAc,UAAWC,KAAM,GAAIJ,KAAM,YACrDD,gBAAiB,OACjBC,KAAM,YAER,CACEF,OAAQ,GACRM,KAAM,iBACNC,QAAS,CAAC,CAAEF,aAAc,UAAWC,KAAM,GAAIJ,KAAM,YACrDD,gBAAiB,OACjBC,KAAM,YAER,CACEF,OAAQ,CAAC,CAAEK,aAAc,UAAWC,KAAM,QAASJ,KAAM,YACzDI,KAAM,gBACNC,QAAS,CAAC,CAAEF,aAAc,UAAWC,KAAM,GAAIJ,KAAM,YACrDD,gBAAiB,OACjBC,KAAM,YAER,CACEF,OAAQ,GACRM,KAAM,eACNC,QAAS,CAAC,CAAEF,aAAc,UAAWC,KAAM,GAAIJ,KAAM,YACrDD,gBAAiB,OACjBC,KAAM,YAER,CACEF,OAAQ,CACN,CAAEK,aAAc,UAAWC,KAAM,QAASJ,KAAM,WAChD,CAAEG,aAAc,UAAWC,KAAM,SAAUJ,KAAM,YAEnDI,KAAM,gBACNC,QAAS,CAAC,CAAEF,aAAc,UAAWC,KAAM,GAAIJ,KAAM,YACrDD,gBAAiB,OACjBC,KAAM,YAER,CACEF,OAAQ,GACRM,KAAM,cACNC,QAAS,CAAC,CAAEF,aAAc,UAAWC,KAAM,GAAIJ,KAAM,YACrDD,gBAAiB,OACjBC,KAAM,YAER,CACEF,OAAQ,GACRM,KAAM,QACNC,QAAS,CAAC,CAAEF,aAAc,UAAWC,KAAM,GAAIJ,KAAM,YACrDD,gBAAiB,OACjBC,KAAM,YAER,CACEF,OAAQ,CAAC,CAAEK,aAAc,YAAaC,KAAM,SAAUJ,KAAM,cAC5DI,KAAM,yBACNC,QAAS,GACTN,gBAAiB,aACjBC,KAAM,YAER,CAAEF,OAAQ,GAAIM,KAAM,oBAAqBC,QAAS,GAAIN,gBAAiB,aAAcC,KAAM,YAC3F,CACEF,OAAQ,GACRM,KAAM,kBACNC,QAAS,CAAC,CAAEF,aAAc,UAAWC,KAAM,GAAIJ,KAAM,YACrDD,gBAAiB,OACjBC,KAAM,YAER,CACEF,OAAQ,GACRM,KAAM,qBACNC,QAAS,CAAC,CAAEF,aAAc,UAAWC,KAAM,GAAIJ,KAAM,YACrDD,gBAAiB,OACjBC,KAAM,YAER,CACEF,OAAQ,CACN,CAAEK,aAAc,UAAWC,KAAM,QAASJ,KAAM,WAChD,CAAEG,aAAc,OAAQC,KAAM,UAAWJ,KAAM,QAC/C,CAAEG,aAAc,UAAWC,KAAM,aAAcJ,KAAM,WACrD,CAAEG,aAAc,UAAWC,KAAM,SAAUJ,KAAM,WACjD,CAAEG,aAAc,OAAQC,KAAM,OAAQJ,KAAM,QAC5C,CAAEG,aAAc,UAAWC,KAAM,OAAQJ,KAAM,YAEjDI,KAAM,WACNC,QAAS,GACTN,gBAAiB,aACjBC,KAAM,YAER,CACEF,OAAQ,CACN,CAAEK,aAAc,UAAWC,KAAM,mBAAoBJ,KAAM,WAC3D,CAAEG,aAAc,UAAWC,KAAM,gBAAiBJ,KAAM,WACxD,CAAEG,aAAc,UAAWC,KAAM,kBAAmBJ,KAAM,WAC1D,CAAEG,aAAc,UAAWC,KAAM,eAAgBJ,KAAM,WACvD,CAAEG,aAAc,UAAWC,KAAM,gBAAiBJ,KAAM,YAE1DI,KAAM,oBACNC,QAAS,GACTN,gBAAiB,aACjBC,KAAM,YAER,CACEF,OAAQ,CAAC,CAAEK,aAAc,UAAWC,KAAM,OAAQJ,KAAM,YACxDI,KAAM,UACNC,QAAS,GACTN,gBAAiB,aACjBC,KAAM,YAER,CACEF,OAAQ,CAAC,CAAEK,aAAc,UAAWC,KAAM,SAAUJ,KAAM,YAC1DI,KAAM,gBACNC,QAAS,GACTN,gBAAiB,aACjBC,KAAM,YAER,CACEF,OAAQ,CAAC,CAAEK,aAAc,UAAWC,KAAM,WAAYJ,KAAM,YAC5DI,KAAM,cACNC,QAAS,GACTN,gBAAiB,aACjBC,KAAM,YAER,CACEF,OAAQ,GACRM,KAAM,cACNC,QAAS,CAAC,CAAEF,aAAc,UAAWC,KAAM,GAAIJ,KAAM,YACrDD,gBAAiB,OACjBC,KAAM,YAER,CACEF,OAAQ,CAAC,CAAEK,aAAc,UAAWC,KAAM,WAAYJ,KAAM,YAC5DI,KAAM,oBACNC,QAAS,GACTN,gBAAiB,aACjBC,KAAM,YAER,CACEF,OAAQ,CAAC,CAAEK,aAAc,UAAWC,KAAM,GAAIJ,KAAM,YACpDI,KAAM,UACNC,QAAS,CACP,CAAEF,aAAc,UAAWC,KAAM,SAAUJ,KAAM,WACjD,CAAEG,aAAc,UAAWC,KAAM,SAAUJ,KAAM,WACjD,CAAEG,aAAc,UAAWC,KAAM,MAAOJ,KAAM,WAC9C,CAAEG,aAAc,UAAWC,KAAM,UAAWJ,KAAM,WAClD,CAAEG,aAAc,UAAWC,KAAM,cAAeJ,KAAM,YAExDD,gBAAiB,OACjBC,KAAM,aA0HsD,8CAC1DM,EAAW,IAAIb,EAAKG,IAAIC,SAxHb,CACf,CACEU,UAAU,EACVT,OAAQ,GACRM,KAAM,OACNC,QAAS,CAAC,CAAED,KAAM,GAAIJ,KAAM,WAC5BQ,SAAS,EACTT,gBAAiB,OACjBC,KAAM,YAER,CACEO,UAAU,EACVT,OAAQ,CACN,CAAEM,KAAM,WAAYJ,KAAM,WAC1B,CAAEI,KAAM,SAAUJ,KAAM,YAE1BI,KAAM,UACNC,QAAS,CAAC,CAAED,KAAM,GAAIJ,KAAM,SAC5BQ,SAAS,EACTT,gBAAiB,aACjBC,KAAM,YAER,CACEO,UAAU,EACVT,OAAQ,GACRM,KAAM,cACNC,QAAS,CAAC,CAAED,KAAM,GAAIJ,KAAM,YAC5BQ,SAAS,EACTT,gBAAiB,OACjBC,KAAM,YAER,CACEO,UAAU,EACVT,OAAQ,CACN,CAAEM,KAAM,QAASJ,KAAM,WACvB,CAAEI,KAAM,MAAOJ,KAAM,WACrB,CAAEI,KAAM,SAAUJ,KAAM,YAE1BI,KAAM,eACNC,QAAS,CAAC,CAAED,KAAM,GAAIJ,KAAM,SAC5BQ,SAAS,EACTT,gBAAiB,aACjBC,KAAM,YAER,CACEO,UAAU,EACVT,OAAQ,GACRM,KAAM,WACNC,QAAS,CAAC,CAAED,KAAM,GAAIJ,KAAM,UAC5BQ,SAAS,EACTT,gBAAiB,OACjBC,KAAM,YAER,CACEO,UAAU,EACVT,OAAQ,CAAC,CAAEM,KAAM,SAAUJ,KAAM,YACjCI,KAAM,YACNC,QAAS,CAAC,CAAED,KAAM,UAAWJ,KAAM,YACnCQ,SAAS,EACTT,gBAAiB,OACjBC,KAAM,YAER,CACEO,UAAU,EACVT,OAAQ,GACRM,KAAM,SACNC,QAAS,CAAC,CAAED,KAAM,GAAIJ,KAAM,WAC5BQ,SAAS,EACTT,gBAAiB,OACjBC,KAAM,YAER,CACEO,UAAU,EACVT,OAAQ,CACN,CAAEM,KAAM,MAAOJ,KAAM,WACrB,CAAEI,KAAM,SAAUJ,KAAM,YAE1BI,KAAM,WACNC,QAAS,CAAC,CAAED,KAAM,GAAIJ,KAAM,SAC5BQ,SAAS,EACTT,gBAAiB,aACjBC,KAAM,YAER,CACEO,UAAU,EACVT,OAAQ,CACN,CAAEM,KAAM,SAAUJ,KAAM,WACxB,CAAEI,KAAM,WAAYJ,KAAM,YAE5BI,KAAM,YACNC,QAAS,CAAC,CAAED,KAAM,GAAIJ,KAAM,YAC5BQ,SAAS,EACTT,gBAAiB,OACjBC,KAAM,YAER,CAAEQ,SAAS,EAAMT,gBAAiB,UAAWC,KAAM,YACnD,CACEC,WAAW,EACXH,OAAQ,CACN,CAAEI,SAAS,EAAME,KAAM,QAASJ,KAAM,WACtC,CAAEE,SAAS,EAAME,KAAM,UAAWJ,KAAM,WACxC,CAAEE,SAAS,EAAOE,KAAM,QAASJ,KAAM,YAEzCI,KAAM,WACNJ,KAAM,SAER,CACEC,WAAW,EACXH,OAAQ,CACN,CAAEI,SAAS,EAAME,KAAM,OAAQJ,KAAM,WACrC,CAAEE,SAAS,EAAME,KAAM,KAAMJ,KAAM,WACnC,CAAEE,SAAS,EAAOE,KAAM,QAASJ,KAAM,YAEzCI,KAAM,WACNJ,KAAM,UAMuC,8CAE3CS,EAAY,CAChB,6CACA,6CACA,6CACA,6CACA,6CACA,6CACA,8CAiEaxa,IA9Df,WACE,MAAOya,EAAWC,GAAgB5jB,mBAAS,IACpC6jB,EAAeC,GAAoB9jB,mBAAS,IAC5C+jB,EAAaC,GAAkBhkB,mBAAS,IACxCikB,EAAaC,GAAkBlkB,mBAAS,IACxCmkB,EAAQC,GAAapkB,mBAC1B0jB,EAAU5M,IAAKuN,IAAD,CACZzS,MAAOyS,EACPC,OAAQ,CACNC,WAAY,EACZC,MAAM,GAERtgB,MAAO,MAIXM,eAAeigB,IACb,MAAOd,EAAWtV,EAAaqW,EAAYX,EAAaE,EAAaU,EAAaC,SAAqBC,QAAQC,IAAI,CACjHlC,EAAemC,QAAQC,eAAeC,OACtC1B,EAASwB,QAAQhT,UAAU6Q,EAAesC,UAAUD,OACpDrC,EAAemC,QAAQI,cAAcF,OACrCrC,EAAemC,QAAQK,iBAAiBH,OACxCrC,EAAemC,QAAQd,cAAcgB,OACrCJ,QAAQC,IAAIpB,EAAU5M,IAAKuN,GAAUzB,EAAemC,QAAQZ,OAAOE,GAAOY,SAC1EJ,QAAQC,IAAIpB,EAAU5M,IAAKuN,GAAUzB,EAAemC,QAAQM,cAAchB,GAAOY,WAGnFrB,GAAclB,EAAK4C,MAAMC,QAAQ5B,IACjCG,GAAkBpB,EAAK4C,MAAMC,QAAQlX,IAAgBqU,EAAK4C,MAAMC,QAAQb,IACxEV,GAAgBD,EAAc,KAC9BG,GAAgBD,EAAc,KAE9B,MAAME,EAAS,GACf,IAAK,IAAIhmB,EAAI,EAAGA,EAAIulB,EAAU7M,OAAQ1Y,IACpCgmB,EAAOqB,KAAK,CACV5T,MAAO8R,EAAUvlB,GACjBmmB,OAAQ,CACNC,WAAYI,EAAYxmB,GAAGomB,WAC3BC,KAAMG,EAAYxmB,GAAGqmB,MAEvBtgB,OAAQwe,EAAK4C,MAAMC,QAAQX,EAAYzmB,MAG3CimB,EAAUD,GASZ,OANAzf,oBAAU,KACR+f,IACA,MAAMgB,EAAW7gB,YAAY6f,EAAQ,KACrC,MAAO,IAAM3f,cAAc2gB,IAC1B,IAEI,CACL7C,iBACAe,YACAI,cACAE,cACAJ,gBACAM,Y,iCCpcJ,6BAyBehe,IApBM,KACnB,MAAO0U,EAAMC,GAAW9a,sBAClB,YAAEkR,GAAgB3I,cAClBjE,EAAcrB,cAcpB,OAZAyB,oBAAU,MACRF,iBACE,IACEsW,QAAcxW,EAAYohB,eAE5B,MAAMnkB,GACJE,QAAQC,MAAMH,IAGlBokB,IACC,CAAC7K,EAASxW,EAAa4M,IAEnB2J,I,iCCtBT,6DAMA,MAAM6H,EAAO,IAAIC,IAAK,yCAEhBiD,EAAW,CAAC,CAAE,UAAY,EAAM,OAAU,GAAI,KAAQ,OAAQ,QAAW,CAAE,CAAE,KAAQ,GAAI,KAAQ,WAAc,SAAW,EAAO,gBAAmB,OAAQ,KAAQ,YAAc,CAAE,UAAY,EAAO,OAAU,CAAE,CAAE,KAAQ,WAAY,KAAQ,WAAa,CAAE,KAAQ,SAAU,KAAQ,YAAe,KAAQ,UAAW,QAAW,CAAE,CAAE,KAAQ,GAAI,KAAQ,SAAY,SAAW,EAAO,gBAAmB,aAAc,KAAQ,YAAc,CAAE,UAAY,EAAM,OAAU,GAAI,KAAQ,cAAe,QAAW,CAAE,CAAE,KAAQ,GAAI,KAAQ,YAAe,SAAW,EAAO,gBAAmB,OAAQ,KAAQ,YAAc,CAAE,UAAY,EAAO,OAAU,CAAE,CAAE,KAAQ,QAAS,KAAQ,WAAa,CAAE,KAAQ,MAAO,KAAQ,WAAa,CAAE,KAAQ,SAAU,KAAQ,YAAe,KAAQ,eAAgB,QAAW,CAAE,CAAE,KAAQ,GAAI,KAAQ,SAAY,SAAW,EAAO,gBAAmB,aAAc,KAAQ,YAAc,CAAE,UAAY,EAAM,OAAU,GAAI,KAAQ,WAAY,QAAW,CAAE,CAAE,KAAQ,GAAI,KAAQ,UAAa,SAAW,EAAO,gBAAmB,OAAQ,KAAQ,YAAc,CAAE,UAAY,EAAM,OAAU,CAAE,CAAE,KAAQ,SAAU,KAAQ,YAAe,KAAQ,YAAa,QAAW,CAAE,CAAE,KAAQ,UAAW,KAAQ,YAAe,SAAW,EAAO,gBAAmB,OAAQ,KAAQ,YAAc,CAAE,UAAY,EAAM,OAAU,GAAI,KAAQ,SAAU,QAAW,CAAE,CAAE,KAAQ,GAAI,KAAQ,WAAc,SAAW,EAAO,gBAAmB,OAAQ,KAAQ,YAAc,CAAE,UAAY,EAAO,OAAU,CAAE,CAAE,KAAQ,MAAO,KAAQ,WAAa,CAAE,KAAQ,SAAU,KAAQ,YAAe,KAAQ,WAAY,QAAW,CAAE,CAAE,KAAQ,GAAI,KAAQ,SAAY,SAAW,EAAO,gBAAmB,aAAc,KAAQ,YAAc,CAAE,UAAY,EAAM,OAAU,CAAE,CAAE,KAAQ,SAAU,KAAQ,WAAa,CAAE,KAAQ,WAAY,KAAQ,YAAe,KAAQ,YAAa,QAAW,CAAE,CAAE,KAAQ,GAAI,KAAQ,YAAe,SAAW,EAAO,gBAAmB,OAAQ,KAAQ,YAAc,CAAE,SAAW,EAAM,gBAAmB,UAAW,KAAQ,YAAc,CAAE,WAAa,EAAO,OAAU,CAAE,CAAE,SAAW,EAAM,KAAQ,QAAS,KAAQ,WAAa,CAAE,SAAW,EAAM,KAAQ,UAAW,KAAQ,WAAa,CAAE,SAAW,EAAO,KAAQ,QAAS,KAAQ,YAAe,KAAQ,WAAY,KAAQ,SAAW,CAAE,WAAa,EAAO,OAAU,CAAE,CAAE,SAAW,EAAM,KAAQ,OAAQ,KAAQ,WAAa,CAAE,SAAW,EAAM,KAAQ,KAAM,KAAQ,WAAa,CAAE,SAAW,EAAO,KAAQ,QAAS,KAAQ,YAAe,KAAQ,WAAY,KAAQ,UAC/9EC,EAAkB,6CA+HT1b,IAlGf,WACI,MAAM2b,EAAc,IAAIpD,EAAKG,IAAIC,SAAS8C,EAAU,8CAC9CpT,EAAO,IAAIkQ,EAAKG,IAAIC,SAAS8C,EAAU,+CACtCtiB,EAAS2B,GAAcjF,mBAAS,IAChCoK,EAAsB2b,GAA2B/lB,mBAAS,IAC1DqK,EAAmB2b,GAAwBhmB,mBAAS,IACpDsK,EAAsB2b,GAA2BjmB,mBAAS,IAC1DuK,EAAc2b,GAAmBlmB,mBAAS,IAC1CwK,EAAiB2b,GAAsBnmB,mBAAS,IAChDyK,EAAiB2b,GAAsBpmB,mBAAS,GAYvD,OAVA0E,oBAAU,KACN2hB,IACA,MAAMZ,EAAW7gB,YAAY,KACzByhB,KACD,KACH,MAAO,KACHvhB,cAAc2gB,KAEnB,IAEI,CAAEniB,UAAS8G,uBAAsBC,oBAAmBC,uBAAsBC,eAAcC,kBAAiBC,mBAEhHjG,eAAe6hB,IAKX,MAAM,KAAEC,SAAeC,IAAM,8EAEvBC,EADqB9D,EAAK4C,MAAMC,cAAcO,EAAYf,QAAQhT,UAAU8T,GAAiBZ,QACzDqB,EAAK,GAAGG,cAE5CC,QAA2BH,IAAM,+GAEvC9kB,QAAQklB,IAAR,wBAA6BH,IAC7B/kB,QAAQklB,IAAR,2BAAgCD,EAAmBJ,KAAKM,YACxD,MAAMC,QAAwBC,EAAW,6CAA8C,8CACjFC,QAAqBD,EAAW,6CAA8C,8CAC9EE,QAAwBF,EAAW,6CAA8C,8CACvF7hB,EAAWyhB,EAAmBJ,KAAKM,UAAYJ,EAAeK,EAAkBE,EAAeC,GAC/FjB,EAAwBc,GACxBb,EAAqBe,GACrBd,EAAwBe,GACxBd,QAKJ1hB,iBACI,MAAMyiB,EAAY,IAAIvE,EAAKG,IAAIC,SAAS8C,EAAU,+CAC5C,KAAEU,SAAeC,IAAM,4IAG7B,OAFiB1f,OAAO6b,EAAK4C,MAAMC,cAAc0B,EAAUlC,QAAQhT,UAAU8T,GAAiBZ,SAAWpe,OAAOyf,EAAKpiB,OAR/FgjB,IACtBf,QAYJ3hB,iBACI,MAAM2iB,EAAe,IAAIzE,EAAKG,IAAIC,SAAS8C,EAAU,+CAC/C,KAAEU,SAAeC,IAAM,4IAG7B,OAFiB1f,OAAO6b,EAAK4C,MAAMC,cAAc4B,EAAapC,QAAQhT,UAAU8T,GAAiBZ,SAAWpe,OAAOyf,EAAKpiB,OAf/FkjB,IACzBhB,QAmBJ5hB,iBACI,MAAM6iB,EAAe,IAAI3E,EAAKG,IAAIC,SAAS8C,EAAU,+CAC/C,KAAEU,SAAeC,IAAM,4IAG7B,OAFiB1f,OAAO6b,EAAK4C,MAAMC,cAAc8B,EAAatC,QAAQhT,UAAU8T,GAAiBZ,SAAWpe,OAAOyf,EAAKpiB,OAtB/FojB,IA2B7B9iB,eAAesiB,EAAWS,EAAW3S,GACjC,MAAMhD,EAAQ,IAAI8Q,EAAKG,IAAIC,SAAS8C,EAAUhR,GACxC4S,EAAU,IAAI9E,EAAKG,IAAIC,SAAS8C,EAAU2B,IAC1C,KAAEjB,SAAeC,IAAM,8DACvBkB,EAAY5gB,OAAO6b,EAAK4C,MAAMC,cAAc/S,EAAKuS,QAAQhT,UAAUwV,GAAWtC,SAAWpe,OAAOyf,EAAKpiB,OAErGwjB,EAAa7gB,aAcvBrC,eAA6BoQ,GACzB,MAAM,KAAE0R,SAAeC,IAAM,mEAAD,OAAoE3R,EAApE,mCAC5B,OAAO0R,EAAKpiB,MAhBoBmhB,CAAczQ,IAAiB/N,OAAO6b,EAAK4C,MAAMC,cAAc3T,EAAMmT,QAAQhT,UAAUwV,GAAWtC,SAE5H0C,GAAiBF,EAAYC,GAAc7gB,OAAO6b,EAAK4C,MAAMC,cAAciC,EAAQzC,QAAQrX,cAAcuX,SAEzG2C,EAAQD,EAAgB9gB,OAAO6b,EAAK4C,MAAMC,cAAciC,EAAQzC,QAAQhT,UAAU8T,GAAiBZ,SAOzG,OALAxjB,QAAQklB,IAAIc,GACZhmB,QAAQklB,IAAIe,GACZjmB,QAAQklB,IAAIgB,GACZlmB,QAAQklB,IAAIiB,GAELA,K,iCC/Hf,6BA0Be3d,IAvBQ,KACnB,MAAO/F,EAAOC,GAAYnE,mBAAS,IAC5B6J,EAAWge,GAAgB7nB,mBAAS,IACpC+J,EAAa+d,GAAkB9nB,mBAAS,GAW/C,OATA0E,oBAAU,KACNqjB,IACA,MAAMtC,EAAW7gB,YAAY,KACzBmjB,KACD,KACH,MAAO,KACHjjB,cAAc2gB,KAEnB,IACI,CAAEvhB,QAAO2F,YAAWE,eAE3BvF,eAAeujB,IACX,MAAM,KAAEzB,SAAeC,IAAM,6EAC7BpiB,EAASmiB,EAAK,GAAGG,eACjBoB,EAAavB,EAAK,GAAG0B,YACrBF,EAAexB,EAAK,GAAG2B","file":"static/js/15.6516251d.chunk.js","sourcesContent":["import React, { useContext, useMemo } from 'react';\nimport styled, { ThemeContext } from 'styled-components';\n\nimport { Link } from 'react-router-dom';\n\ninterface ButtonProps {\n children?: React.ReactNode;\n disabled?: boolean;\n href?: string;\n onClick?: () => void;\n size?: 'sm' | 'md' | 'lg';\n text?: string;\n to?: string;\n variant?: 'default' | 'secondary' | 'tertiary';\n}\n\nconst Button: React.FC = ({ children, disabled, href, onClick, size, text, to, variant }) => {\n const { color, spacing } = useContext(ThemeContext);\n\n let buttonColor: string;\n switch (variant) {\n case 'secondary':\n buttonColor = color.teal[200];\n break;\n case 'default':\n default:\n buttonColor = color.primary.main;\n }\n\n let boxShadow: string;\n let buttonSize: number;\n let buttonPadding: number;\n let fontSize: number;\n switch (size) {\n case 'sm':\n buttonPadding = spacing[3];\n buttonSize = 36;\n fontSize = 14;\n break;\n case 'lg':\n buttonPadding = spacing[4];\n buttonSize = 72;\n fontSize = 16;\n break;\n case 'md':\n default:\n buttonPadding = spacing[4];\n buttonSize = 56;\n fontSize = 16;\n }\n\n const ButtonChild = useMemo(() => {\n if (to) {\n return {text};\n } else if (href) {\n return (\n \n {text}\n \n );\n } else {\n return text;\n }\n }, [href, text, to]);\n\n return (\n \n {children}\n {ButtonChild}\n \n );\n};\n\ninterface StyledButtonProps {\n boxShadow: string;\n color: string;\n disabled?: boolean;\n fontSize: number;\n padding: number;\n size: number;\n}\n\nconst StyledButton = styled.button`\n align-items: center;\n background-color: ${(props) => props.theme.color.grey[900]};\n border: 0;\n border-radius: 12px !important;\n box-shadow: ${(props) => props.boxShadow};\n color: ${(props) => (!props.disabled ? props.color : `${props.color}55`)};\n cursor: pointer;\n display: flex;\n font-size: ${(props) => props.fontSize}px;\n font-weight: 700;\n height: ${(props) => props.size}px;\n justify-content: center;\n outline: none;\n padding-left: ${(props) => props.padding}px;\n padding-right: ${(props) => props.padding}px;\n pointer-events: ${(props) => (!props.disabled ? undefined : 'none')};\n width: 100%;\n &:hover {\n background-color: ${(props) => props.color};\n color: ${(props) => props.theme.color.grey[900]};\n }\n`;\n\nconst StyledLink = styled(Link)`\n align-items: center;\n color: inherit;\n display: flex;\n flex: 1;\n height: 56px;\n justify-content: center;\n margin: 0 ${(props) => -props.theme.spacing[4]}px;\n padding: 0 ${(props) => props.theme.spacing[4]}px;\n text-decoration: none;\n`;\n\nconst StyledExternalLink = styled.a`\n align-items: center;\n color: inherit;\n display: flex;\n flex: 1;\n height: 56px;\n justify-content: center;\n margin: 0 ${(props) => -props.theme.spacing[4]}px;\n padding: 0 ${(props) => props.theme.spacing[4]}px;\n text-decoration: none;\n`;\n\nexport default Button;\n","import React, { useCallback, useMemo, useState } from 'react';\nimport Button from '../../../components/Button';\nimport Modal, { ModalProps } from '../../../components/Modal';\nimport ModalActions from '../../../components/ModalActions';\nimport ModalTitle from '../../../components/ModalTitle';\nimport TokenInput from '../../../components/TokenInput';\nimport { getFullDisplayBalance } from '../../../utils/formatBalance';\nimport { BigNumber } from 'ethers';\nimport Label from '../../../components/Label';\n\ninterface ExchangeModalProps extends ModalProps {\n max: BigNumber;\n onConfirm: (amount: string) => void;\n title: string;\n description: string;\n action: string;\n tokenName: string;\n}\n\nconst ExchangeModal: React.FC = ({\n max,\n title,\n description,\n onConfirm,\n onDismiss,\n action,\n tokenName,\n}) => {\n const [val, setVal] = useState('');\n const fullBalance = useMemo(() => getFullDisplayBalance(max), [max]);\n\n const handleChange = useCallback((e: React.FormEvent) => setVal(e.currentTarget.value), [setVal]);\n\n const handleSelectMax = useCallback(() => {\n setVal(fullBalance);\n }, [fullBalance, setVal]);\n\n return (\n \n \n \n \n );\n};\n\nexport default WalletProviderModal;\n","import WalletProviderModal from './WalletProviderModal';\n\nexport default WalletProviderModal;\n","import React, { useMemo } from 'react';\nimport styled from 'styled-components';\nimport useTokenBalance from '../../hooks/useTokenBalance';\nimport { getDisplayBalance } from '../../utils/formatBalance';\n\nimport Label from '../Label';\nimport Modal, { ModalProps } from '../Modal';\nimport ModalTitle from '../ModalTitle';\nimport useTombFinance from '../../hooks/useTombFinance';\nimport TokenSymbol from '../TokenSymbol';\n\nconst AccountModal: React.FC = ({ onDismiss }) => {\n const tombFinance = useTombFinance();\n\n const tombBalance = useTokenBalance(tombFinance.TOMB);\n const displayTombBalance = useMemo(() => getDisplayBalance(tombBalance), [tombBalance]);\n\n const tshareBalance = useTokenBalance(tombFinance.TSHARE);\n const displayTshareBalance = useMemo(() => getDisplayBalance(tshareBalance), [tshareBalance]);\n\n const tbondBalance = useTokenBalance(tombFinance.TBOND);\n const displayTbondBalance = useMemo(() => getDisplayBalance(tbondBalance), [tbondBalance]);\n\n return (\n \n \n\n \n \n \n \n {displayTombBalance}\n \n \n\n \n \n \n {displayTshareBalance}\n \n \n\n \n \n \n {displayTbondBalance}\n \n \n \n \n );\n};\n\nconst StyledValue = styled.div`\n //color: ${(props) => props.theme.color.grey[300]};\n font-size: 30px;\n font-weight: 700;\n`;\n\nconst StyledBalance = styled.div`\n align-items: center;\n display: flex;\n flex-direction: column;\n`;\n\nconst Balances = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: center;\n margin-bottom: ${(props) => props.theme.spacing[4]}px;\n`;\n\nconst StyledBalanceWrapper = styled.div`\n align-items: center;\n display: flex;\n flex-direction: column;\n margin: 0 ${(props) => props.theme.spacing[3]}px;\n`;\n\nexport default AccountModal;\n","import React, { useState } from 'react';\nimport { Button } from '@material-ui/core';\nimport { useWallet } from 'use-wallet';\nimport useModal from '../../hooks/useModal';\nimport WalletProviderModal from '../WalletProviderModal';\nimport AccountModal from './AccountModal';\n\ninterface AccountButtonProps {\n text?: string;\n}\n\nconst AccountButton: React.FC = ({ text }) => {\n const { account } = useWallet();\n const [onPresentAccountModal] = useModal();\n\n const [isWalletProviderOpen, setWalletProviderOpen] = useState(false);\n\n const handleWalletProviderOpen = () => {\n setWalletProviderOpen(true);\n };\n\n const handleWalletProviderClose = () => {\n setWalletProviderOpen(false);\n };\n\n const buttonText = text ? text : 'Unlock';\n\n return (\n
\n {!account ? (\n \n ) : (\n \n )}\n\n \n {/* */}\n
\n );\n};\n\nexport default AccountButton;\n","import { useEffect, useState } from 'react';\nimport useTombFinance from './useTombFinance';\nimport { TokenStat } from '../tomb-finance/types';\nimport useRefresh from './useRefresh';\n\nconst useTombStats = () => {\n const [stat, setStat] = useState();\n const { fastRefresh } = useRefresh();\n const tombFinance = useTombFinance();\n\n useEffect(() => {\n async function fetchTombPrice(){\n try {\n setStat(await tombFinance.getTombStat());\n }\n catch(err){\n console.error(err)\n }\n }\n fetchTombPrice();\n }, [setStat, tombFinance, fastRefresh]);\n\n return stat;\n};\n\nexport default useTombStats;\n","import { useCallback, useEffect, useState } from 'react';\n\nimport useTombFinance from './useTombFinance';\nimport config from '../config';\nimport ERC20 from '../tomb-finance/ERC20';\n\nconst useStakedTokenPriceInDollars = (stakedTokenName: string, stakedToken: ERC20) => {\n const [stakedTokenPriceInDollars, setStakedTokenPriceInDollars] = useState('0');\n const tombFinance = useTombFinance();\n const isUnlocked = tombFinance?.isUnlocked;\n\n const fetchBalance = useCallback(async () => {\n const balance = await tombFinance.getDepositTokenPriceInDollars(stakedTokenName, stakedToken);\n setStakedTokenPriceInDollars(balance);\n }, [stakedToken, stakedTokenName, tombFinance]);\n\n useEffect(() => {\n if (isUnlocked) {\n fetchBalance().catch((err) => console.error(err.stack));\n\n const refreshStakedTokenPriceInDollars = setInterval(fetchBalance, config.refreshInterval);\n return () => clearInterval(refreshStakedTokenPriceInDollars);\n }\n }, [isUnlocked, setStakedTokenPriceInDollars, tombFinance, fetchBalance]);\n\n return stakedTokenPriceInDollars;\n};\n\nexport default useStakedTokenPriceInDollars;\n","import { useEffect } from 'react';\n// import { connectorLocalStorageKey, ConnectorNames } from '@pancakeswap/uikit'\nimport { useWallet } from 'use-wallet';\n\nconst useEagerConnect = () => {\n // const { login } = useAuth()\n const { account, connect, connector } = useWallet();\n\n if (account && window.localStorage.getItem('connectorId') === '') {\n window.localStorage.setItem('connectorId', connector);\n }\n\n useEffect(() => {\n const connectorId = window.localStorage.getItem('connectorId');\n if (connectorId && !account) {\n connect(connectorId);\n }\n }, [connect, account]);\n};\n\nexport default useEagerConnect;\n","import React from 'react';\nimport { makeStyles } from '@material-ui/core/styles';\nimport { Container, Grid, Typography, Link } from '@material-ui/core';\nimport TwitterImage from '../../assets/img/twitter.svg';\nimport GithubImage from '../../assets/img/github.svg';\nimport TelegramImage from '../../assets/img/telegram.svg';\nimport DiscordImage from '../../assets/img/discord.svg';\nimport YoutubeImage from '../../assets/img/youtube.svg';\n\nconst useStyles = makeStyles((theme) => ({\n footer: {\n position: 'absolute',\n bottom: '0',\n paddingTop: '15px',\n paddingBottom: '15px',\n width: '100%',\n color: 'black',\n backgroundColor: 'transparent',\n textAlign: 'center',\n height: '1.3rem',\n [theme.breakpoints.down('xs')]: {\n display: 'none',\n },\n },\n link: {\n width: '24px',\n height: '24px',\n display: 'inline',\n marginLeft: '20px',\n },\n\n img: {\n width: '24px',\n height: '24px',\n },\n elipse: {\n position: 'absolute',\n width: '80px',\n height: '80px',\n left: '1700px',\n top: '-100px',\n\n },\n}));\n\nconst Footer = () => {\n const classes = useStyles();\n return (\n
\n \n \n \n \n {'Copyright © IceCream x Sundae Finance '}\n {new Date().getFullYear()}\n \n \n \n \n \"twitter\"\n \n \n \"github\"\n \n \n \"telegram\"\n \n {/* \n \"youtube\"\n */}\n \n \"discord\"\n \n \n \n \n
\n );\n};\n\nexport default Footer;\n","import Footer from './Footer';\n\nexport default Footer;\n","import React from 'react';\nimport { Link } from 'react-router-dom';\nimport { ListItem, ListItemText } from '@material-ui/core';\n\nconst ListItemLink = ({ primary, to }) => {\n const CustomLink = React.useMemo(\n () => React.forwardRef((linkProps, ref) => ),\n [to],\n );\n\n return (\n
  • \n \n \n \n
  • \n );\n};\n\nexport default ListItemLink;\n","import ListItemLink from './ListItemLink';\n\nexport default ListItemLink;\n","import React, { useMemo } from 'react';\nimport clsx from 'clsx';\nimport { Link } from 'react-router-dom';\nimport {\n AppBar,\n Box,\n Drawer,\n IconButton,\n Toolbar,\n Typography,\n useMediaQuery,\n List,\n ListItem,\n ListItemText,\n Divider,\n Button,\n} from '@material-ui/core';\n\nimport ListItemLink from '../ListItemLink';\n\nimport MenuIcon from '@material-ui/icons/Menu';\nimport ChevronLeftIcon from '@material-ui/icons/ChevronLeft';\nimport ChevronRightIcon from '@material-ui/icons/ChevronRight';\nimport { makeStyles, useTheme } from '@material-ui/core/styles';\nimport AccountButton from './AccountButton';\nimport DiscordImage from '../../assets/img/discord.svg';\nimport sundaeLogo from '../../assets/img/sundaelogo.png';\nconst useStyles = makeStyles((theme) => ({\n '@global': {\n ul: {\n margin: 0,\n padding: 0,\n listStyle: 'none',\n },\n },\n appBar: {\n color: 'var(--white)',\n 'background-color': 'transparent!important',\n 'backdrop-filter': 'blur(10px)',\n // borderBottom: `1px solid ${theme.palette.divider}`,\n padding: '0 10px',\n position: 'sticky',\n },\n drawer: {\n width: 240,\n flexShrink: 0,\n },\n drawerPaper: {\n width: 240,\n },\n hide: {\n display: 'none',\n },\n toolbar: {\n flexWrap: 'wrap',\n },\n toolbarTitle: {\n fontFamily: '\"Gilroy\"',\n fontSize: '30px',\n flexGrow: 1,\n },\n link: {\n textTransform: 'uppercase',\n color: 'var(--white)',\n fontSize: '18px',\n marginTop: '15px',\n margin: theme.spacing(10, 1, 1, 2),\n textDecoration: 'none',\n\n },\n brandLink: {\n textDecoration: 'none',\n color: '#000',\n alignItems:'left',\n },\n}));\n\nconst Nav = () => {\n const matches = useMediaQuery('(min-width:900px)');\n const classes = useStyles();\n const theme = useTheme();\n const [open, setOpen] = React.useState(false);\n\n const handleDrawerOpen = () => {\n setOpen(true);\n };\n\n const handleDrawerClose = () => {\n setOpen(false);\n };\n\n return (\n \n \n {matches ? (\n <>\n \n Sundae Finance\n {/* \n \"sundae.finance\"\n */}\n \n \n \n Home\n \n \n Farm\n \n \n Boardroom\n \n \n Bonds\n \n {/* \n DAO\n */}\n {/* \n Treasury\n \n \n Vaults\n */}\n {/* \n SBS\n */}\n \n Nodes\n \n {/* \n Regulations\n */}\n \n Vaults\n \n {/* \n Social Club\n */}\n \n Docs\n \n \n IceCream\n \n \n\n \n {/* logo4\n ${tombPriceInDollars ? tombPriceInDollars : '-.--'}\n logoshare\n ${tSharePriceInDollars ? tSharePriceInDollars : '-.--'}\n */}\n\n \n ) : (\n <>\n \n \n \n \n Sundae Finance\n \n\n \n
    \n \n {theme.direction === 'rtl' ? : }\n \n
    \n \n \n \n \n \n \n \n \n \n Vaults\n \n \n{/* \n \n Social Club\n \n */}\n \n \n Docs\n \n \n \n \n IceCream Finance\n \n \n \n \n \n )}\n
    \n
    \n );\n};\n\nexport default Nav;\n","import NavBar from './Nav';\n\nexport default NavBar;\n","import React from 'react';\nimport { Container } from '@material-ui/core';\nimport useEagerConnect from '../../hooks/useEagerConnect';\n\nimport Footer from '../Footer';\nimport Nav from '../Nav';\n\nconst Page: React.FC = ({ children }) => {\n useEagerConnect();\n return (\n
    \n
    \n );\n};\n\nexport default Page;\n","import React, { useContext } from 'react';\nimport styled, { ThemeContext } from 'styled-components';\n\ninterface SpacerProps {\n size?: 'sm' | 'md' | 'lg';\n}\n\nconst Spacer: React.FC = ({ size = 'md' }) => {\n const { spacing } = useContext(ThemeContext);\n\n let s: number;\n switch (size) {\n case 'lg':\n s = spacing[6];\n break;\n case 'sm':\n s = spacing[2];\n break;\n case 'md':\n default:\n s = spacing[4];\n }\n\n return ;\n};\n\ninterface StyledSpacerProps {\n size: number;\n}\n\nconst StyledSpacer = styled.div`\n height: ${(props) => props.size}px;\n width: ${(props) => props.size}px;\n`;\n\nexport default Spacer;\n","import React from 'react';\nimport styled from 'styled-components';\n\nconst CardContent: React.FC = ({ children }) => {children};\n\nconst StyledCardContent = styled.div`\n display: flex;\n flex: 1;\n flex-direction: column;\n padding: ${(props) => props.theme.spacing[4]}px;\n`;\n\nexport default CardContent;","module.exports = __webpack_public_path__ + \"static/media/metamask-fox.c06f3a3e.svg\";","import { useEffect, useState } from 'react';\nimport useTombFinance from './useTombFinance';\nimport { LPStat } from '../tomb-finance/types';\nimport useRefresh from './useRefresh';\n\nconst useLpStats = (lpTicker: string) => {\n const [stat, setStat] = useState();\n const { slowRefresh } = useRefresh();\n const tombFinance = useTombFinance();\n\n useEffect(() => {\n async function fetchLpPrice() {\n try{\n setStat(await tombFinance.getLPStat(lpTicker));\n }\n catch(err){\n console.error(err);\n }\n }\n fetchLpPrice();\n }, [setStat, tombFinance, slowRefresh, lpTicker]);\n\n return stat;\n};\n\nexport default useLpStats;\n","import { useEffect, useState } from 'react';\nimport useTombFinance from './useTombFinance';\nimport { TokenStat } from '../tomb-finance/types';\nimport useRefresh from './useRefresh';\n\nconst useShareStats = () => {\n const [stat, setStat] = useState();\n const { fastRefresh } = useRefresh();\n const tombFinance = useTombFinance();\n\n useEffect(() => {\n async function fetchSharePrice() {\n try {\n setStat(await tombFinance.getShareStat());\n } catch(err){\n console.error(err)\n }\n }\n fetchSharePrice();\n }, [setStat, tombFinance, fastRefresh]);\n\n return stat;\n};\n\nexport default useShareStats;\n","import { useCallback, useEffect, useState } from 'react';\nimport { BigNumber } from 'ethers';\nimport useTombFinance from './useTombFinance';\nimport { ContractName } from '../tomb-finance';\nimport config from '../config';\n\nconst useEarnings = (poolName: ContractName, earnTokenName: String, poolId: Number) => {\n const [balance, setBalance] = useState(BigNumber.from(0));\n const tombFinance = useTombFinance();\n const isUnlocked = tombFinance?.isUnlocked;\n\n const fetchBalance = useCallback(async () => {\n const balance = await tombFinance.earnedFromBank(poolName, earnTokenName, poolId, tombFinance.myAccount);\n setBalance(balance);\n }, [poolName, earnTokenName, poolId, tombFinance]);\n\n useEffect(() => {\n if (isUnlocked) {\n fetchBalance().catch((err) => console.error(err.stack));\n\n const refreshBalance = setInterval(fetchBalance, config.refreshInterval);\n return () => clearInterval(refreshBalance);\n }\n }, [isUnlocked, poolName, tombFinance, fetchBalance]);\n\n return balance;\n};\n\nexport default useEarnings;\n","module.exports = __webpack_public_path__ + \"static/media/twitter.5ce8b22f.svg\";","module.exports = __webpack_public_path__ + \"static/media/github.1a013c81.svg\";","module.exports = __webpack_public_path__ + \"static/media/telegram.24d31d1b.svg\";","module.exports = __webpack_public_path__ + \"static/media/discord.1e572fcf.svg\";","module.exports = __webpack_public_path__ + \"static/media/youtube.ff80cb4d.svg\";","module.exports = __webpack_public_path__ + \"static/media/wallet-connect.37f2bc6e.svg\";","module.exports = __webpack_public_path__ + \"static/media/caraml.591f374e.png\";","module.exports = __webpack_public_path__ + \"static/media/dai.e8c8e0a8.png\";","module.exports = __webpack_public_path__ + \"static/media/cshare.85275add.png\";","module.exports = __webpack_public_path__ + \"static/media/cream.96bb4b5b.png\";","module.exports = __webpack_public_path__ + \"static/media/cream-wavax.e33e6f90.png\";","module.exports = __webpack_public_path__ + \"static/media/cshare-avax.d9257311.png\";","module.exports = __webpack_public_path__ + \"static/media/creamcshare.26501bc0.png\";","module.exports = __webpack_public_path__ + \"static/media/wavax.35d960b2.png\";","module.exports = __webpack_public_path__ + \"static/media/fudge-straw.a9af6538.png\";","module.exports = __webpack_public_path__ + \"static/media/fudge-avax.34a904c7.png\";","module.exports = __webpack_public_path__ + \"static/media/node.713ed636.png\";","module.exports = __webpack_public_path__ + \"static/media/fudge-cream.a4a99deb.png\";","module.exports = __webpack_public_path__ + \"static/media/cream-straw.89125029.png\";","module.exports = __webpack_public_path__ + \"static/media/straw-avax.c9e46d7f.png\";","import { useCallback } from 'react';\nimport useTombFinance from './useTombFinance';\nimport { Bank } from '../tomb-finance';\nimport useHandleTransactionReceipt from './useHandleTransactionReceipt';\n\nconst useZap = (bank: Bank) => {\n const tombFinance = useTombFinance();\n const handleTransactionReceipt = useHandleTransactionReceipt();\n\n const handleZap = useCallback(\n (zappingToken: string, tokenName: string, amount: string) => {\n handleTransactionReceipt(\n tombFinance.zapIn(zappingToken, tokenName, amount),\n `Zap ${amount} in ${bank.depositTokenName}.`,\n );\n },\n [bank, tombFinance, handleTransactionReceipt],\n );\n return { onZap: handleZap };\n};\n\nexport default useZap;\n","import { useContext } from 'react';\nimport { Context as BanksContext } from '../contexts/Banks';\n\nconst useBanks = () => {\n const { banks } = useContext(BanksContext);\n return [banks];\n};\n\nexport default useBanks;\n","import React from 'react';\nimport styled from 'styled-components';\n\ninterface CardIconProps {\n children?: React.ReactNode;\n}\n\nconst CardIcon: React.FC = ({ children }) => {children};\n\nconst StyledCardIcon = styled.div`\n background-color: ${(props) => props.theme.color.white};\n font-size: 36px;\n height: 95px;\n width: 95px;\n border-radius: 40px;\n align-items: center;\n display: flex;\n justify-content: center;\n box-shadow: inset 4px 4px 8px ${(props) => props.theme.color.grey[300]},\n inset -6px -6px 12px ${(props) => props.theme.color.grey[100]};\n margin: 0 auto ${(props) => props.theme.spacing[3]}px;\n`;\n\nexport default CardIcon;\n","import { BigNumber, ethers } from 'ethers';\nimport { useCallback, useMemo } from 'react';\nimport { useHasPendingApproval, useTransactionAdder } from '../state/transactions/hooks';\nimport useAllowance from './useAllowance';\nimport ERC20 from '../tomb-finance/ERC20';\nimport { FTM_TICKER, TOMB_TICKER, TSHARE_TICKER, ZAPPER_ROUTER_ADDR } from '../utils/constants';\nimport useTombFinance from './useTombFinance';\n\nconst APPROVE_AMOUNT = ethers.constants.MaxUint256;\nconst APPROVE_BASE_AMOUNT = BigNumber.from('1000000000000000000000000');\n\nexport enum ApprovalState {\n UNKNOWN,\n NOT_APPROVED,\n PENDING,\n APPROVED,\n}\n\n// returns a variable indicating the state of the approval and a function which approves if necessary or early returns\nfunction useApproveZapper(zappingToken: string): [ApprovalState, () => Promise] {\n const tombFinance = useTombFinance();\n let token: ERC20;\n if (zappingToken === FTM_TICKER) token = tombFinance.FTM;\n else if (zappingToken === TOMB_TICKER) token = tombFinance.TOMB;\n else if (zappingToken === TSHARE_TICKER) token = tombFinance.TSHARE;\n const pendingApproval = useHasPendingApproval(token.address, ZAPPER_ROUTER_ADDR);\n const currentAllowance = useAllowance(token, ZAPPER_ROUTER_ADDR, pendingApproval);\n\n // check the current approval status\n const approvalState: ApprovalState = useMemo(() => {\n // we might not have enough data to know whether or not we need to approve\n if (token === tombFinance.FTM) return ApprovalState.APPROVED;\n if (!currentAllowance) return ApprovalState.UNKNOWN;\n\n // amountToApprove will be defined if currentAllowance is\n return currentAllowance.lt(APPROVE_BASE_AMOUNT)\n ? pendingApproval\n ? ApprovalState.PENDING\n : ApprovalState.NOT_APPROVED\n : ApprovalState.APPROVED;\n }, [currentAllowance, pendingApproval, token, tombFinance]);\n\n const addTransaction = useTransactionAdder();\n\n const approve = useCallback(async (): Promise => {\n if (approvalState !== ApprovalState.NOT_APPROVED) {\n console.error('approve was called unnecessarily');\n return;\n }\n\n const response = await token.approve(ZAPPER_ROUTER_ADDR, APPROVE_AMOUNT);\n addTransaction(response, {\n summary: `Approve ${token.symbol}`,\n approval: {\n tokenAddress: token.address,\n spender: ZAPPER_ROUTER_ADDR,\n },\n });\n }, [approvalState, token, addTransaction]);\n\n return [approvalState, approve];\n}\n\nexport default useApproveZapper;\n","import React, { useState, useMemo } from 'react';\n\nimport { Button, Select, MenuItem, InputLabel, Typography, withStyles } from '@material-ui/core';\n// import Button from '../../../components/Button'\nimport Modal, { ModalProps } from '../../../components/Modal';\nimport ModalActions from '../../../components/ModalActions';\nimport ModalTitle from '../../../components/ModalTitle';\nimport TokenInput from '../../../components/TokenInput';\nimport styled from 'styled-components';\n\nimport { getDisplayBalance } from '../../../utils/formatBalance';\nimport Label from '../../../components/Label';\nimport useLpStats from '../../../hooks/useLpStats';\nimport useTokenBalance from '../../../hooks/useTokenBalance';\nimport useTombFinance from '../../../hooks/useTombFinance';\nimport { useWallet } from 'use-wallet';\nimport useApproveZapper, { ApprovalState } from '../../../hooks/useApproveZapper';\nimport { TOMB_TICKER, TSHARE_TICKER, FTM_TICKER } from '../../../utils/constants';\nimport { Alert } from '@material-ui/lab';\n\ninterface ZapProps extends ModalProps {\n onConfirm: (zapAsset: string, lpName: string, amount: string) => void;\n tokenName?: string;\n decimals?: number;\n}\n\nconst ZapModal: React.FC = ({ onConfirm, onDismiss, tokenName = '', decimals = 18 }) => {\n const tombFinance = useTombFinance();\n const { balance } = useWallet();\n const ftmBalance = (Number(balance) / 1e18).toFixed(4).toString();\n const tombBalance = useTokenBalance(tombFinance.TOMB);\n const tshareBalance = useTokenBalance(tombFinance.TSHARE);\n const [val, setVal] = useState('');\n const [zappingToken, setZappingToken] = useState(FTM_TICKER);\n const [zappingTokenBalance, setZappingTokenBalance] = useState(ftmBalance);\n const [estimate, setEstimate] = useState({ token0: '0', token1: '0' }); // token0 will always be FTM in this case\n const [approveZapperStatus, approveZapper] = useApproveZapper(zappingToken);\n const tombFtmLpStats = useLpStats('FUDGE-DAI LP');\n const tShareFtmLpStats = useLpStats('STRAW-AVAX LP');\n const tombLPStats = useMemo(() => (tombFtmLpStats ? tombFtmLpStats : null), [tombFtmLpStats]);\n const tshareLPStats = useMemo(() => (tShareFtmLpStats ? tShareFtmLpStats : null), [tShareFtmLpStats]);\n const ftmAmountPerLP = tokenName.startsWith(TOMB_TICKER) ? tombLPStats?.ftmAmount : tshareLPStats?.ftmAmount;\n /**\n * Checks if a value is a valid number or not\n * @param n is the value to be evaluated for a number\n * @returns\n */\n function isNumeric(n: any) {\n return !isNaN(parseFloat(n)) && isFinite(n);\n }\n const handleChangeAsset = (event: any) => {\n const value = event.target.value;\n setZappingToken(value);\n setZappingTokenBalance(ftmBalance);\n if (event.target.value === TSHARE_TICKER) {\n setZappingTokenBalance(getDisplayBalance(tshareBalance, decimals));\n }\n if (event.target.value === TOMB_TICKER) {\n setZappingTokenBalance(getDisplayBalance(tombBalance, decimals));\n }\n };\n\n const handleChange = async (e: any) => {\n if (e.currentTarget.value === '' || e.currentTarget.value === 0) {\n setVal(e.currentTarget.value);\n setEstimate({ token0: '0', token1: '0' });\n }\n if (!isNumeric(e.currentTarget.value)) return;\n setVal(e.currentTarget.value);\n const estimateZap = await tombFinance.estimateZapIn(zappingToken, tokenName, String(e.currentTarget.value));\n setEstimate({ token0: estimateZap[0].toString(), token1: estimateZap[1].toString() });\n };\n\n const handleSelectMax = async () => {\n setVal(zappingTokenBalance);\n const estimateZap = await tombFinance.estimateZapIn(zappingToken, tokenName, String(zappingTokenBalance));\n setEstimate({ token0: estimateZap[0].toString(), token1: estimateZap[1].toString() });\n };\n\n return (\n \n \n \n \n Select asset to zap with\n \n \n {/* FTM */}\n STRAW\n FUDGE\n \n \n \n );\n};\n\nconst StyledActionSpacer = styled.div`\n height: ${(props) => props.theme.spacing[4]}px;\n width: ${(props) => props.theme.spacing[4]}px;\n`;\n\nconst StyledDescriptionText = styled.div`\n align-items: center;\n color: ${(props) => props.theme.color.grey[400]};\n display: flex;\n font-size: 14px;\n font-weight: 700;\n height: 22px;\n justify-content: flex-start;\n`;\nconst StyledMenuItem = withStyles({\n root: {\n backgroundColor: 'white',\n color: '#2c2560',\n '&:hover': {\n backgroundColor: 'grey',\n color: '#2c2560',\n },\n selected: {\n backgroundColor: 'black',\n },\n },\n})(MenuItem);\n\nexport default ZapModal;\n","import { useEffect, useState } from 'react';\nimport Web3 from 'web3';\n\nconst RebateTreasuryABI = [\n { inputs: [], stateMutability: 'nonpayable', type: 'constructor' },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'previousOwner', type: 'address' },\n { indexed: true, internalType: 'address', name: 'newOwner', type: 'address' },\n ],\n name: 'OwnershipTransferred',\n type: 'event',\n },\n {\n inputs: [],\n name: 'DENOMINATOR',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'Tomb',\n outputs: [{ internalType: 'contract IERC20', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'TombOracle',\n outputs: [{ internalType: 'contract IOracle', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'Treasury',\n outputs: [{ internalType: 'contract ITreasury', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'WFTM',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'assets',\n outputs: [\n { internalType: 'bool', name: 'isAdded', type: 'bool' },\n { internalType: 'uint256', name: 'multiplier', type: 'uint256' },\n { internalType: 'address', name: 'oracle', type: 'address' },\n { internalType: 'bool', name: 'isLP', type: 'bool' },\n { internalType: 'address', name: 'pair', type: 'address' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n name: 'bond',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'bondFactor',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'bondThreshold',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'bondVesting',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'buybackAmount',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address payable', name: 'to', type: 'address' },\n { internalType: 'uint256', name: 'value', type: 'uint256' },\n { internalType: 'bytes', name: 'data', type: 'bytes' },\n ],\n name: 'call',\n outputs: [{ internalType: 'bytes', name: '', type: 'bytes' }],\n stateMutability: 'payable',\n type: 'function',\n },\n { inputs: [], name: 'claimRewards', outputs: [], stateMutability: 'nonpayable', type: 'function' },\n {\n inputs: [{ internalType: 'address', name: 'account', type: 'address' }],\n name: 'claimableTomb',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'getBondPremium',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: 'token', type: 'address' }],\n name: 'getTokenPrice',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'getTombPrice',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n ],\n name: 'getTombReturn',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'lastBuyback',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'owner',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address[]', name: 'tokens', type: 'address[]' }],\n name: 'redeemAssetsForBuyback',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n { inputs: [], name: 'renounceOwnership', outputs: [], stateMutability: 'nonpayable', type: 'function' },\n {\n inputs: [],\n name: 'secondaryFactor',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'secondaryThreshold',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'address', name: 'token', type: 'address' },\n { internalType: 'bool', name: 'isAdded', type: 'bool' },\n { internalType: 'uint256', name: 'multiplier', type: 'uint256' },\n { internalType: 'address', name: 'oracle', type: 'address' },\n { internalType: 'bool', name: 'isLP', type: 'bool' },\n { internalType: 'address', name: 'pair', type: 'address' },\n ],\n name: 'setAsset',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'uint256', name: 'primaryThreshold', type: 'uint256' },\n { internalType: 'uint256', name: 'primaryFactor', type: 'uint256' },\n { internalType: 'uint256', name: 'secondThreshold', type: 'uint256' },\n { internalType: 'uint256', name: 'secondFactor', type: 'uint256' },\n { internalType: 'uint256', name: 'vestingPeriod', type: 'uint256' },\n ],\n name: 'setBondParameters',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: 'tomb', type: 'address' }],\n name: 'setTomb',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: 'oracle', type: 'address' }],\n name: 'setTombOracle',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: 'treasury', type: 'address' }],\n name: 'setTreasury',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'totalVested',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: 'newOwner', type: 'address' }],\n name: 'transferOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'vesting',\n outputs: [\n { internalType: 'uint256', name: 'amount', type: 'uint256' },\n { internalType: 'uint256', name: 'period', type: 'uint256' },\n { internalType: 'uint256', name: 'end', type: 'uint256' },\n { internalType: 'uint256', name: 'claimed', type: 'uint256' },\n { internalType: 'uint256', name: 'lastClaimed', type: 'uint256' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n];\nconst ERC20ABI = [\n {\n constant: true,\n inputs: [],\n name: 'name',\n outputs: [{ name: '', type: 'string' }],\n payable: false,\n stateMutability: 'view',\n type: 'function',\n },\n {\n constant: false,\n inputs: [\n { name: '_spender', type: 'address' },\n { name: '_value', type: 'uint256' },\n ],\n name: 'approve',\n outputs: [{ name: '', type: 'bool' }],\n payable: false,\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n constant: true,\n inputs: [],\n name: 'totalSupply',\n outputs: [{ name: '', type: 'uint256' }],\n payable: false,\n stateMutability: 'view',\n type: 'function',\n },\n {\n constant: false,\n inputs: [\n { name: '_from', type: 'address' },\n { name: '_to', type: 'address' },\n { name: '_value', type: 'uint256' },\n ],\n name: 'transferFrom',\n outputs: [{ name: '', type: 'bool' }],\n payable: false,\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n constant: true,\n inputs: [],\n name: 'decimals',\n outputs: [{ name: '', type: 'uint8' }],\n payable: false,\n stateMutability: 'view',\n type: 'function',\n },\n {\n constant: true,\n inputs: [{ name: '_owner', type: 'address' }],\n name: 'balanceOf',\n outputs: [{ name: 'balance', type: 'uint256' }],\n payable: false,\n stateMutability: 'view',\n type: 'function',\n },\n {\n constant: true,\n inputs: [],\n name: 'symbol',\n outputs: [{ name: '', type: 'string' }],\n payable: false,\n stateMutability: 'view',\n type: 'function',\n },\n {\n constant: false,\n inputs: [\n { name: '_to', type: 'address' },\n { name: '_value', type: 'uint256' },\n ],\n name: 'transfer',\n outputs: [{ name: '', type: 'bool' }],\n payable: false,\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n constant: true,\n inputs: [\n { name: '_owner', type: 'address' },\n { name: '_spender', type: 'address' },\n ],\n name: 'allowance',\n outputs: [{ name: '', type: 'uint256' }],\n payable: false,\n stateMutability: 'view',\n type: 'function',\n },\n { payable: true, stateMutability: 'payable', type: 'fallback' },\n {\n anonymous: false,\n inputs: [\n { indexed: true, name: 'owner', type: 'address' },\n { indexed: true, name: 'spender', type: 'address' },\n { indexed: false, name: 'value', type: 'uint256' },\n ],\n name: 'Approval',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, name: 'from', type: 'address' },\n { indexed: true, name: 'to', type: 'address' },\n { indexed: false, name: 'value', type: 'uint256' },\n ],\n name: 'Transfer',\n type: 'event',\n },\n];\n\nconst web3 = new Web3('https://api.avax.network/ext/bc/C/rpc');\nconst RebateTreasury = new web3.eth.Contract(RebateTreasuryABI, '0xd36d480D56CA62767F367ECAfa07e33bccc22286');\nconst Threeomb = new web3.eth.Contract(ERC20ABI, '0xD9FF12172803c072a36785DeFea1Aa981A6A0C18');\n\nconst assetList = [\n '0x155f794b56353533E0AfBF76e1B1FC57DFAd5Bd7', // cshare\n '0xbD61dFAd83Fc19960476abca1324FfD798234c66', // cshare/avax LP\n '0xE367414f29E247b2D92edd610aA6Dd5A7FD631BA', // fudge/dai\n '0xf8D0C6c3ddC03F43A0687847f2b34bfd6941C2A2', // straw\n '0x5eeF38855090ccc49A1b7391F4C7B9efbDFE1456', // straw/avax\n '0x00C87ce7188F7652d0C0940274cEC5db62f1e825', // cream avax lp\n '0xAE21d31a6494829a9E4B2B291F4984AAE8121757', // cream\n];\n\nfunction useRebateTreasury() {\n const [tombPrice, setTombPrice] = useState(0);\n const [tombAvailable, setTombAvailable] = useState(0);\n const [bondPremium, setBondPremium] = useState(0);\n const [bondVesting, setBondVesting] = useState(0);\n const [assets, setAssets] = useState(\n assetList.map((asset) => ({\n token: asset,\n params: {\n multiplier: 0,\n isLP: false,\n },\n price: 0,\n })),\n );\n\n async function update() {\n const [tombPrice, tombBalance, vestedTomb, bondPremium, bondVesting, assetParams, assetPrices] = await Promise.all([\n RebateTreasury.methods.getTombPrice().call(),\n Threeomb.methods.balanceOf(RebateTreasury._address).call(),\n RebateTreasury.methods.totalVested().call(),\n RebateTreasury.methods.getBondPremium().call(),\n RebateTreasury.methods.bondVesting().call(),\n Promise.all(assetList.map((asset) => RebateTreasury.methods.assets(asset).call())),\n Promise.all(assetList.map((asset) => RebateTreasury.methods.getTokenPrice(asset).call())),\n ]);\n\n setTombPrice(+web3.utils.fromWei(tombPrice));\n setTombAvailable(+web3.utils.fromWei(tombBalance) - +web3.utils.fromWei(vestedTomb));\n setBondPremium(+bondPremium / 10000);\n setBondVesting(+bondVesting / 10000);\n\n const assets = [];\n for (let a = 0; a < assetList.length; a++) {\n assets.push({\n token: assetList[a],\n params: {\n multiplier: assetParams[a].multiplier,\n isLP: assetParams[a].isLP,\n },\n price: +web3.utils.fromWei(assetPrices[a]),\n });\n }\n setAssets(assets);\n }\n\n useEffect(() => {\n update();\n const interval = setInterval(update, 10000);\n return () => clearInterval(interval);\n }, []);\n\n return {\n RebateTreasury,\n tombPrice,\n bondPremium,\n bondVesting,\n tombAvailable,\n assets,\n };\n}\n\nexport default useRebateTreasury;\n","import { useEffect, useState } from 'react';\nimport useTombFinance from './useTombFinance';\nimport { TokenStat } from '../tomb-finance/types';\nimport useRefresh from './useRefresh';\n\nconst useBondStats = () => {\n const [stat, setStat] = useState();\n const { fastRefresh } = useRefresh();\n const tombFinance = useTombFinance();\n\n useEffect(() => {\n async function fetchBondPrice() {\n try {\n setStat(await tombFinance.getBondStat());\n }\n catch(err){\n console.error(err);\n }\n }\n fetchBondPrice();\n }, [setStat, tombFinance, fastRefresh]);\n\n return stat;\n};\n\nexport default useBondStats;\n","import { useEffect, useState } from \"react\"\nimport Web3 from \"web3\"\nimport { web3ProviderFrom } from \"../tomb-finance/ether-utils\"\nimport { getBalance } from \"../utils/formatBalance\"\nimport axios from 'axios'\n\nconst web3 = new Web3(\"https://api.avax.network/ext/bc/C/rpc\")\n\nconst ERC20ABI = [{ \"constant\": true, \"inputs\": [], \"name\": \"name\", \"outputs\": [ { \"name\": \"\", \"type\": \"string\" } ], \"payable\": false, \"stateMutability\": \"view\", \"type\": \"function\" }, { \"constant\": false, \"inputs\": [ { \"name\": \"_spender\", \"type\": \"address\" }, { \"name\": \"_value\", \"type\": \"uint256\" } ], \"name\": \"approve\", \"outputs\": [ { \"name\": \"\", \"type\": \"bool\" } ], \"payable\": false, \"stateMutability\": \"nonpayable\", \"type\": \"function\" }, { \"constant\": true, \"inputs\": [], \"name\": \"totalSupply\", \"outputs\": [ { \"name\": \"\", \"type\": \"uint256\" } ], \"payable\": false, \"stateMutability\": \"view\", \"type\": \"function\" }, { \"constant\": false, \"inputs\": [ { \"name\": \"_from\", \"type\": \"address\" }, { \"name\": \"_to\", \"type\": \"address\" }, { \"name\": \"_value\", \"type\": \"uint256\" } ], \"name\": \"transferFrom\", \"outputs\": [ { \"name\": \"\", \"type\": \"bool\" } ], \"payable\": false, \"stateMutability\": \"nonpayable\", \"type\": \"function\" }, { \"constant\": true, \"inputs\": [], \"name\": \"decimals\", \"outputs\": [ { \"name\": \"\", \"type\": \"uint8\" } ], \"payable\": false, \"stateMutability\": \"view\", \"type\": \"function\" }, { \"constant\": true, \"inputs\": [ { \"name\": \"_owner\", \"type\": \"address\" } ], \"name\": \"balanceOf\", \"outputs\": [ { \"name\": \"balance\", \"type\": \"uint256\" } ], \"payable\": false, \"stateMutability\": \"view\", \"type\": \"function\" }, { \"constant\": true, \"inputs\": [], \"name\": \"symbol\", \"outputs\": [ { \"name\": \"\", \"type\": \"string\" } ], \"payable\": false, \"stateMutability\": \"view\", \"type\": \"function\" }, { \"constant\": false, \"inputs\": [ { \"name\": \"_to\", \"type\": \"address\" }, { \"name\": \"_value\", \"type\": \"uint256\" } ], \"name\": \"transfer\", \"outputs\": [ { \"name\": \"\", \"type\": \"bool\" } ], \"payable\": false, \"stateMutability\": \"nonpayable\", \"type\": \"function\" }, { \"constant\": true, \"inputs\": [ { \"name\": \"_owner\", \"type\": \"address\" }, { \"name\": \"_spender\", \"type\": \"address\" } ], \"name\": \"allowance\", \"outputs\": [ { \"name\": \"\", \"type\": \"uint256\" } ], \"payable\": false, \"stateMutability\": \"view\", \"type\": \"function\" }, { \"payable\": true, \"stateMutability\": \"payable\", \"type\": \"fallback\" }, { \"anonymous\": false, \"inputs\": [ { \"indexed\": true, \"name\": \"owner\", \"type\": \"address\" }, { \"indexed\": true, \"name\": \"spender\", \"type\": \"address\" }, { \"indexed\": false, \"name\": \"value\", \"type\": \"uint256\" } ], \"name\": \"Approval\", \"type\": \"event\" }, { \"anonymous\": false, \"inputs\": [ { \"indexed\": true, \"name\": \"from\", \"type\": \"address\" }, { \"indexed\": true, \"name\": \"to\", \"type\": \"address\" }, { \"indexed\": false, \"name\": \"value\", \"type\": \"uint256\" } ], \"name\": \"Transfer\", \"type\": \"event\" } ]\nconst treasuryAddress = \"0xd36d480D56CA62767F367ECAfa07e33bccc22286\"\n\n// const assetList = [\n// \"0xc54A1684fD1bef1f077a336E6be4Bd9a3096a6Ca\", // 2shares\n// \"0x6398ACBBAB2561553a9e458Ab67dCFbD58944e52\", // 2shares/FTM LP\n// \"0x83A52eff2E9D112E9B022399A9fD22a9DB7d33Ae\", // 3omb/wftm\n// \"0x6437ADAC543583C4b31Bf0323A0870430F5CC2e7\", // 3shares\n// \"0xd352daC95a91AfeFb112DBBB3463ccfA5EC15b65\", // 3shares/wftm\n// ]\n\n// const contracts = assetList.map(asset => new web3.eth.Contract(ERC20ABI, asset))\n\n// function useTotalTreasuryBalance() {\n// const [ prices, setPrices ] = useState(assetList.map(asset => {\n// return { token: asset, value: 0 }\n// }))\n// useEffect(() => {\n// getPrices()\n// }, [])\n\n// async function getPrices() {\n// for (const token of contracts) {\n// console.log(token)\n// }\n// }\n\n// return prices\n// }\n\nfunction useTotalTreasuryBalance() {\n const ThreeShares = new web3.eth.Contract(ERC20ABI, '0xf8D0C6c3ddC03F43A0687847f2b34bfd6941C2A2')\n const WFTM = new web3.eth.Contract(ERC20ABI, '0xd586e7f844cea2f87f50152665bcbc2c279d8d70')\n const [balance, setBalance] = useState(0)\n const [balance_2shares_wftm, setBalance_2shares_wftm] = useState(0)\n const [balance_3omb_wftm, setBalance_3omb_wftm] = useState(0)\n const [balance_3shares_wftm, setBalance_3shares_wftm] = useState(0)\n const [balance_3omb, setBalance_3omb] = useState(0)\n const [balance_3shares, setBalance_3shares] = useState(0)\n const [balance_2shares, setBalance_2shares] = useState(0)\n\n useEffect(() => {\n getBalance()\n const interval = setInterval(() => {\n getBalance()\n }, 30000)\n return () => {\n clearInterval(interval);\n }\n }, [])\n\n return { balance, balance_2shares_wftm, balance_3omb_wftm, balance_3shares_wftm, balance_3omb, balance_3shares, balance_2shares }\n\n async function getBalance() {\n // const { data2omb } = await axios('https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd&ids=2omb-fi')\n // const { data2shares } = await axios('https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd&ids=2share')\n // const { data3omb } = await axios('https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd&ids=30mb-token')\n \n const { data } = await axios('https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd&ids=3shares')\n const threeSharesBalance = web3.utils.fromWei(await ThreeShares.methods.balanceOf(treasuryAddress).call())\n const value3shares = threeSharesBalance * data[0].current_price\n\n const data2sharesAnd3omb = await axios('https://openapi.debank.com/v1/user/chain_balance?id=0x8f555E00ea0FAc871b3Aa70C015915dB094E7f88&chain_id=ftm')\n\n console.log(`3Shares USD: $${value3shares}`)\n console.log(`2Shares + 3omb: $${data2sharesAnd3omb.data.usd_value}`)\n const LP_2shares_wftm = await getLPPrice('0x6398ACBBAB2561553a9e458Ab67dCFbD58944e52', '0xc54a1684fd1bef1f077a336e6be4bd9a3096a6ca')\n const LP_3omb_wftm = await getLPPrice('0x83A52eff2E9D112E9B022399A9fD22a9DB7d33Ae', '0x14def7584a6c52f470ca4f4b9671056b22f4ffde')\n const LP_3shares_wftm = await getLPPrice('0xd352daC95a91AfeFb112DBBB3463ccfA5EC15b65', '0x6437adac543583c4b31bf0323a0870430f5cc2e7')\n setBalance(data2sharesAnd3omb.data.usd_value + value3shares + LP_2shares_wftm + LP_3omb_wftm + LP_3shares_wftm)\n setBalance_2shares_wftm(LP_2shares_wftm)\n setBalance_3omb_wftm(LP_3omb_wftm)\n setBalance_3shares_wftm(LP_3shares_wftm)\n setBalance_3omb(await get3ombBalance())\n setBalance_3shares(await get3sharesBalance())\n setBalance_2shares(await get2sharesBalance())\n }\n\n async function get3ombBalance() {\n const token3omb = new web3.eth.Contract(ERC20ABI, '0x14DEf7584A6c52f470Ca4F4b9671056b22f4FfDE')\n const { data } = await axios(`https://fantom.api.0x.org/swap/v1/quote?buyToken=USDC&sellToken=0x14DEf7584A6c52f470Ca4F4b9671056b22f4FfDE&sellAmount=100000000000000000`)\n const usdValue = Number(web3.utils.fromWei(await token3omb.methods.balanceOf(treasuryAddress).call())) * Number(data.price)\n\n return usdValue\n }\n\n async function get3sharesBalance() {\n const token3shares = new web3.eth.Contract(ERC20ABI, '0x6437ADAC543583C4b31Bf0323A0870430F5CC2e7')\n const { data } = await axios(`https://fantom.api.0x.org/swap/v1/quote?buyToken=USDC&sellToken=0x6437ADAC543583C4b31Bf0323A0870430F5CC2e7&sellAmount=100000000000000000`)\n const usdValue = Number(web3.utils.fromWei(await token3shares.methods.balanceOf(treasuryAddress).call())) * Number(data.price)\n\n return usdValue\n }\n\n async function get2sharesBalance() {\n const token2shares = new web3.eth.Contract(ERC20ABI, '0xc54A1684fD1bef1f077a336E6be4Bd9a3096a6Ca')\n const { data } = await axios(`https://fantom.api.0x.org/swap/v1/quote?buyToken=USDC&sellToken=0xc54A1684fD1bef1f077a336E6be4Bd9a3096a6Ca&sellAmount=100000000000000000`)\n const usdValue = Number(web3.utils.fromWei(await token2shares.methods.balanceOf(treasuryAddress).call())) * Number(data.price)\n\n return usdValue\n }\n\n async function getLPPrice(LPAddress, tokenAddress) {\n const token = new web3.eth.Contract(ERC20ABI, tokenAddress)\n const LPtoken = new web3.eth.Contract(ERC20ABI, LPAddress)\n const { data } = await axios('https://api.binance.com/api/v1/ticker/price?symbol=FTMUSDT')\n const wftmValue = Number(web3.utils.fromWei(await WFTM.methods.balanceOf(LPAddress).call())) * Number(data.price)\n\n const tokenValue = Number(await getTokenPrice(tokenAddress)) * Number(web3.utils.fromWei(await token.methods.balanceOf(LPAddress).call()))\n\n const OneTokenValue = (wftmValue + tokenValue) / Number(web3.utils.fromWei(await LPtoken.methods.totalSupply().call()))\n\n const total = OneTokenValue * Number(web3.utils.fromWei(await LPtoken.methods.balanceOf(treasuryAddress).call()))\n\n console.log(wftmValue)\n console.log(tokenValue)\n console.log(OneTokenValue)\n console.log(total)\n\n return total\n }\n\n async function getTokenPrice(tokenAddress) {\n const { data } = await axios(`https://fantom.api.0x.org/swap/v1/quote?buyToken=USDC&sellToken=${tokenAddress}&sellAmount=100000000000000000`)\n return data.price\n }\n}\n\nexport default useTotalTreasuryBalance","import axios from 'axios';\nimport { useState, useEffect } from 'react';\n\nconst useFantomPrice = () => {\n const [price, setPrice] = useState(0);\n const [marketCap, setMarketCap] = useState(0);\n const [priceChange, setPriceChange] = useState(0);\n\n useEffect(() => {\n getPrice()\n const interval = setInterval(() => {\n getPrice()\n }, 10000)\n return () => {\n clearInterval(interval);\n }\n }, [])\n return { price, marketCap, priceChange };\n \n async function getPrice() {\n const { data } = await axios('https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd&ids=fantom');\n setPrice(data[0].current_price);\n setMarketCap(data[0].market_cap);\n setPriceChange(data[0].price_change_percentage_24h);\n }\n}\nexport default useFantomPrice;"],"sourceRoot":""}